@plurnk/plurnk-providers 0.32.0 → 0.34.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/SPEC.md +14 -4
- package/dist/OpenAICompat.d.ts +6 -0
- package/dist/OpenAICompat.d.ts.map +1 -1
- package/dist/OpenAICompat.js +47 -36
- package/dist/OpenAICompat.js.map +1 -1
- package/dist/ProviderRegistry.d.ts +2 -1
- package/dist/ProviderRegistry.d.ts.map +1 -1
- package/dist/ProviderRegistry.js +8 -2
- package/dist/ProviderRegistry.js.map +1 -1
- package/dist/env.d.ts +6 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/env.js +69 -0
- package/dist/env.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/openaiStream.d.ts +6 -2
- package/dist/openaiStream.d.ts.map +1 -1
- package/dist/openaiStream.js +34 -3
- package/dist/openaiStream.js.map +1 -1
- package/dist/standardProviders.d.ts.map +1 -1
- package/dist/standardProviders.js +54 -7
- package/dist/standardProviders.js.map +1 -1
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/SPEC.md
CHANGED
|
@@ -267,7 +267,7 @@ The framework ships the transport spine every OpenAI-compatible provider had bee
|
|
|
267
267
|
reasoningBudget, reasoningStyle, // "none" | "think" | "include_reasoning" | "effort" | "template" | "anthropic"
|
|
268
268
|
countTokens, costFor, // strategies; default heuristic / free
|
|
269
269
|
grammarStyle, // "none" | "llamacpp" | "response_format" — GBNF wire shape (§13); default "none"
|
|
270
|
-
gbnfDebug, //
|
|
270
|
+
gbnfDebug, // PLURNK_PROVIDERS_GBNF_DEBUG: validate a grammar locally + throw on invalid, but DON'T send it (§13); default false
|
|
271
271
|
streaming, // SSE transport; default true (false → one non-streamed JSON)
|
|
272
272
|
supportsSlotPinning, slotCount, // INTERNAL slot-affinity wiring (run→id_slot); never consumer-facing
|
|
273
273
|
});
|
|
@@ -318,8 +318,8 @@ The `TelemetryEvent` shape is mirrored **locally** (`./telemetry.ts`), structura
|
|
|
318
318
|
**Native reasoning and the grammar are mutually exclusive; in-DSL reasoning is the working pattern.** The GBNF masks every sampled token. With NATIVE thinking live (llama-server's own `--reasoning-budget` default, or `enable_thinking: true`), the server auto-gates the grammar past the think block — reasoning flows free — but content-channel enforcement then **leaks** (unconstrained prose, degenerates) or content never arrives; explicit `grammar_lazy`/`grammar_triggers` are ignored on the chat-completions path. The constrained configuration therefore requires the native channel **explicitly closed** — `PLURNK_PROVIDERS_THINKING=off`, which the `template` style emits as `enable_thinking: false`; mere field omission leaves the server default live, and think-inviting tasks then break the loop. With the channel closed, the model reasons **inside the DSL**: the canonical grammar's required `PLAN` statement is a free-text body the model fills with genuine step-by-step reasoning before acting (probed live, b894+gemma: correct chain-of-thought inside `<<PLAN:…:PLAN`, then a clean `SEND`, `finish_reason: stop`). The `PLAN` element belongs to the consumer's grammar contract; the provider's only job is closing the native channel deterministically.
|
|
319
319
|
|
|
320
320
|
**Grammar transport — same GBNF, different wire shapes (`grammarStyle`, default `"none"`).** Backends carry the *same* grammar string differently:
|
|
321
|
-
- **`"llamacpp"`** — top-level `grammar` field + the repeat-penalty floor (§9). Detected from the §11 probe: only llama-server rows on `GET /v1/models` carry a `meta` block. This is any local llama-server (e.g. the generic `openai` provider fronting llama.cpp). `plurnk` opts out via `detectLlamaServer: false` — it reads a window but is treated as a plain OpenAI endpoint, never fingerprinted and never sent a grammar.
|
|
322
|
-
- **`"response_format"`** — `response_format: { type: "grammar", grammar }` **+ the `
|
|
321
|
+
- **`"llamacpp"`** — top-level `grammar` field + the repeat-penalty floor (`PLURNK_PROVIDERS_REPEAT_PENALTY`, §9). Detected from the §11 probe: only llama-server rows on `GET /v1/models` carry a `meta` block. This is any local llama-server (e.g. the generic `openai` provider fronting llama.cpp). `plurnk` opts out via `detectLlamaServer: false` — it reads a window but is treated as a plain OpenAI endpoint, never fingerprinted and never sent a grammar.
|
|
322
|
+
- **`"response_format"`** — `response_format: { type: "grammar", grammar }` **+ the repeat-penalty floor (`PLURNK_PROVIDERS_REPEAT_PENALTY`, canonical 1.15)** (the OpenAI-compat spelling). **Fireworks** (set statically, `grammarStyle: "response_format"`). Verified live: a forcing grammar constrains the output, and `repetition_penalty` is honored (#20). ⚠️ Fireworks' *streamed* response mislabels grammar-constrained output as `reasoning_content`, so `generate` drops streaming **for that request only** when a grammar is attached under `response_format` — the non-streamed JSON returns it as `content` (the contract is atomic either way). Grammarless calls on the same provider still stream. Live-confirmed on `deepseek-v4-flash`/`-pro`.
|
|
323
323
|
- **`"none"`** — the grammar is **not sent** (never silently — a constrained consumer must not mistake unconstrained output for enforced).
|
|
324
324
|
|
|
325
325
|
vLLM/Deepinfra was probed and does **not** expose working GBNF over its OpenAI-compat surface (`guided_grammar` silently ignored; `response_format` accepts only `'text'`) — deliberately left `"none"`. Bespoke siblings opt in via config when their backend qualifies. Capability stays provider-internal.
|
|
@@ -329,8 +329,18 @@ vLLM/Deepinfra was probed and does **not** expose working GBNF over its OpenAI-c
|
|
|
329
329
|
- **Observed, never adjudicated.** Any non-`accept` verdict — a `reject` (a code point the grammar forbids) or an `incomplete` (a valid prefix that never reached a terminal state) — attaches a `grammar_unenforced` telemetry event to the returned response, message naming the divergence and `position` carrying its code-point offset. The bytes and usage flow regardless; policy is the consumer's.
|
|
330
330
|
- **Verify gap is non-fatal.** If the validator cannot even parse the grammar the backend accepted (a port-vs-llama.cpp divergence), `generate` does **not** fail a transport that may have worked — it skips the check and emits a `process` warning (`code: "PLURNK_GRAMMAR_UNVERIFIABLE"`). That gap is a validator bug to fix, not a backend failure.
|
|
331
331
|
|
|
332
|
-
**Debug mode — diagnose grammar/model conflicts unconstrained (`
|
|
332
|
+
**Debug mode — diagnose grammar/model conflicts unconstrained (`PLURNK_PROVIDERS_GBNF_DEBUG`).** An optional, off-by-default toggle (`0`/empty = off; any other value = on; the standard-provider config field is `gbnfDebug`). When on and a grammar would be transported, `generate` first validates it with `@plurnk/gbnf` **before any wire call** and **throws fail-hard on a malformed grammar**; it then **withholds** the grammar so the model generates **unconstrained** — and runs that free output back through the grammar to locate the exact code point where the model's natural output diverges.
|
|
333
333
|
|
|
334
334
|
Crucially, this path does **NOT throw** (#24). Non-conformance is *expected* here — the model ran free — so a throw would discard the very bytes you're debugging (and, in a service loop, collapse the turn to empty and cascade). Instead `generate` **returns normally**: the model's emission rides the response (`assistant.content` + `assistant.reasoning`, both channels intact), and the conflict is attached as a **non-fatal `grammar_unenforced` `TelemetryEvent`** in `ProviderResponse.telemetry`, carrying the divergence `position` (a code-point offset into `content`). The consumer renders the model its own emission around `position` — the same self-correction affordance it already gives plurnk-DSL parse errors — instead of looping on a description it can't act on. A `SEND[200]` the grammar's `no200` rule forbids, or a `</think>` the committed-`PLAN` region rejects, surfaces as data the model can fix, not an exception that erases the turn. (Contrast the **constrained** path above, which still throws: there the backend was *told* to enforce and didn't — a hard failure.) Withholding-without-verifying would be indistinguishable from sending no grammar at all — the verification is the point. Leave it off in production, where a constrained call should actually constrain.
|
|
335
335
|
|
|
336
336
|
Zero grammar dependency (§11) is preserved: the GBNF string arrives per call; this package never imports the artifact.
|
|
337
|
+
|
|
338
|
+
## §14 Data capture — logprobs + verbatim body (#36)
|
|
339
|
+
|
|
340
|
+
Two OPT-IN knobs surface the full signal of a paid turn for downstream IQ scoring and model distillation. Both are **OFF by default** and **per-alias-scopable** (`PLURNK_PROVIDERS_<KNOB>_<alias>`): the flag *is* the isolation, so a serving turn requests nothing on the wire and carries nothing on the response — only a dataset-scraping alias opts in. Universal: any provider (standard or daughter), any backend that returns the data.
|
|
341
|
+
|
|
342
|
+
**`PLURNK_PROVIDERS_LOGPROB`** (non-negative int = `top_logprobs`; unset = off). When set, `generate` requests `logprobs:true, top_logprobs:<n>` and surfaces `response.assistant.logprobs: Array<{ token, logprob, top? }>` plus `assistant.meanLogprob`. These are **managed fields** — reserved from caller `sampling`, so the env flag is the single control (a proxy consumer can't forge them). A backend that returns no logprobs yields an absent field — **never synthesized**.
|
|
343
|
+
|
|
344
|
+
**The `logprob` vs `sampling_logprob` decision (the honest-confidence call).** Fireworks returns both per token: `logprob` (raw model log-probability) and `sampling_logprob` (post-sampling-transform). The structured `logprob` we surface is the **raw** value — the sampling-transform-invariant measure of the model's native belief, the correct confidence signal AND distillation target. This was settled empirically, not by assumption: under grammar the two measured **identical to full float precision**, including an *adversarial* mask (grammar forcing a token the model assigned ~8%: `logprob` −2.5229365 == `sampling_logprob` −2.5229365). A post-mask renormalization would inflate confidence toward the constraint; the raw value stays honest. Anyone wanting `sampling_logprob` reads it from `rawBody`.
|
|
345
|
+
|
|
346
|
+
**`PLURNK_PROVIDERS_RAWBODY`** (truthy = on). When on, `response.rawBody` carries the **verbatim** backend body — the full wire JSON for a non-streamed turn (exact; grammar turns already run non-streamed), or the reassembled equivalent for a streamed one. `assistantRaw` remains the normalized **digest** (it drops `choices[]`); `rawBody` is the capture-everything record that keeps `sampling_logprob`, `token_id`, `bytes`, and any backend-specific per-token fields. Off by default so serving turns never pay the retention cost.
|
package/dist/OpenAICompat.d.ts
CHANGED
|
@@ -21,7 +21,12 @@ export type OpenAICompatConfig = {
|
|
|
21
21
|
slotCount?: number | null;
|
|
22
22
|
tokenizeUrl?: string;
|
|
23
23
|
thinking: Thinking;
|
|
24
|
+
temperature: number;
|
|
25
|
+
repeatPenalty: number;
|
|
26
|
+
retryDelayMs: number;
|
|
24
27
|
retryAttempts: number;
|
|
28
|
+
logprobs?: number | null;
|
|
29
|
+
rawBody?: boolean;
|
|
25
30
|
};
|
|
26
31
|
export declare const effortFromBudget: (budget: number) => "low" | "medium" | "high";
|
|
27
32
|
export default class OpenAICompatProvider implements Provider {
|
|
@@ -30,6 +35,7 @@ export default class OpenAICompatProvider implements Provider {
|
|
|
30
35
|
constructor(config: OpenAICompatConfig);
|
|
31
36
|
get contextSize(): number | null;
|
|
32
37
|
get model(): string;
|
|
38
|
+
get constrainsOutput(): boolean;
|
|
33
39
|
countTokens(text: string): number;
|
|
34
40
|
costFor(usage: ProviderUsage): number;
|
|
35
41
|
generate({ messages, runId, signal, grammar, maxTokens, attributions, client, strikes, sampling }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAICompat.d.ts","sourceRoot":"","sources":["../src/OpenAICompat.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAgB,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAgBzC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,mBAAmB,GAAG,QAAQ,GAAG,iBAAiB,GAAG,UAAU,GAAG,WAAW,CAAC;AAO9H,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAI1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,QAAQ,EAAE,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenAICompat.d.ts","sourceRoot":"","sources":["../src/OpenAICompat.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAgB,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAgBzC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,mBAAmB,GAAG,QAAQ,GAAG,iBAAiB,GAAG,UAAU,GAAG,WAAW,CAAC;AAO9H,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,MAAM,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAI1B,WAAW,CAAC,EAAE,MAAM,CAAC;IAMrB,QAAQ,EAAE,QAAQ,CAAC;IAQnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IAIrB,aAAa,EAAE,MAAM,CAAC;IAOtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAwBF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,KAAK,GAAG,QAAQ,GAAG,MAIpE,CAAC;AAwBF,MAAM,CAAC,OAAO,OAAO,oBAAqB,YAAW,QAAQ;;IA6BzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEnC,MAAM,EAAE,kBAAkB;IAiDtC,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAA8B;IAC9D,IAAI,KAAK,IAAI,MAAM,CAAwB;IAI3C,IAAI,gBAAgB,IAAI,OAAO,CAA0C;IAEzE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IACjC,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM;IAuM/B,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;CA0G9U"}
|
package/dist/OpenAICompat.js
CHANGED
|
@@ -11,26 +11,6 @@ import { chatCompletionStream, chatCompletion, OpenAiHttpError } from "./openaiS
|
|
|
11
11
|
import { normalizeUsage } from "./usage.js";
|
|
12
12
|
import { toProviderError, classifyProviderError } from "./telemetry.js";
|
|
13
13
|
import { validateGbnf } from "@plurnk/gbnf";
|
|
14
|
-
// Sampling guard under an active grammar (SPEC §13): greedy decoding under
|
|
15
|
-
// hard constraint masks degenerates into repetition loops at the server
|
|
16
|
-
// default of 1.0, so the floor rides per-request with every attached grammar —
|
|
17
|
-
// never rely on server launch flags. Probed on llama.cpp b894 + gemma-4-26B
|
|
18
|
-
// (plurnk-providers#9; reference: plurnk-grammar test/llama/gbnf-live.test.ts).
|
|
19
|
-
const GRAMMAR_REPEAT_PENALTY_FLOOR = 1.15;
|
|
20
|
-
// Near-greedy temperature DEFAULT for EVERY grammar path (#30, endpoint#7):
|
|
21
|
-
// measured on Fireworks DeepSeek V4, reasoning-off grammar runs went 2/5 → 30/30
|
|
22
|
-
// conformant-and-terminating adding temperature 0.2; the same ramble-inside-the-
|
|
23
|
-
// mask class reproduced on llama-server (whose launch default is 0.8 when the
|
|
24
|
-
// operator sets no --temp). Rides per-request like the repeat-penalty floor —
|
|
25
|
-
// never rely on server launch flags. A DEFAULT, not a floor — spread under the
|
|
26
|
-
// caller's `sampling`, so an explicit temperature wins (policy stays the
|
|
27
|
-
// consumer's; this only covers the no-sampling out-of-the-box call).
|
|
28
|
-
const GRAMMAR_TEMPERATURE = 0.2;
|
|
29
|
-
// Exponential-backoff base for transient-failure retries (#18). Attempt N waits
|
|
30
|
-
// RETRY_BASE_DELAY_MS * 2^(N-1), unless the server sent a Retry-After (which
|
|
31
|
-
// wins). The magnitude is mechanism, not operator intent — the COUNT is the
|
|
32
|
-
// knob (PLURNK_PROVIDERS_RETRY_ATTEMPTS); the base stays a constant.
|
|
33
|
-
const RETRY_BASE_DELAY_MS = 2000;
|
|
34
14
|
// Only these two classifications are transient and worth retrying: rate_limit
|
|
35
15
|
// (429) and network_failure (5xx, timeout, connection reset). unauthorized,
|
|
36
16
|
// quota_exceeded, invalid_response, model_refused are terminal — retrying just
|
|
@@ -63,7 +43,7 @@ const heuristicTokens = (text) => (text.length === 0 ? 0 : Math.ceil(text.length
|
|
|
63
43
|
// Body keys the provider owns — a caller's `sampling` passthrough may not set
|
|
64
44
|
// these, or it could bypass grammar transport, the stream/JSON choice, or slot
|
|
65
45
|
// pinning (SPEC §8: backend-specific fields never cross the contract).
|
|
66
|
-
const RESERVED_BODY_KEYS = new Set(["model", "messages", "stream", "stream_options", "grammar", "response_format", "id_slot"]);
|
|
46
|
+
const RESERVED_BODY_KEYS = new Set(["model", "messages", "stream", "stream_options", "grammar", "response_format", "id_slot", "logprobs", "top_logprobs"]);
|
|
67
47
|
// Render a non-accept verdict into a terse, factual grammar_unenforced message
|
|
68
48
|
// (SPEC §12 message policy: no guidance prose). `reject` names the diverging code
|
|
69
49
|
// point + what the grammar would have accepted; `incomplete` names the valid-prefix
|
|
@@ -84,6 +64,9 @@ export default class OpenAICompatProvider {
|
|
|
84
64
|
#headers;
|
|
85
65
|
#contextSize;
|
|
86
66
|
#thinking;
|
|
67
|
+
#temperature;
|
|
68
|
+
#repeatPenalty;
|
|
69
|
+
#retryDelayMs;
|
|
87
70
|
#reasoningStyle;
|
|
88
71
|
#countTokens;
|
|
89
72
|
#costFor;
|
|
@@ -96,6 +79,8 @@ export default class OpenAICompatProvider {
|
|
|
96
79
|
#supportsSlotPinning;
|
|
97
80
|
#slotCount;
|
|
98
81
|
#retryAttempts;
|
|
82
|
+
#logprobs;
|
|
83
|
+
#rawBody;
|
|
99
84
|
// Optional capability (SPEC §2): exact tokenization served by the backend's
|
|
100
85
|
// own vocab. Assigned in the constructor ONLY when the config carries a
|
|
101
86
|
// tokenizeUrl (llama-server), so `provider.tokenize === undefined` remains
|
|
@@ -108,6 +93,15 @@ export default class OpenAICompatProvider {
|
|
|
108
93
|
this.#headers = config.headers ?? {};
|
|
109
94
|
this.#contextSize = config.contextSize ?? null;
|
|
110
95
|
this.#thinking = config.thinking;
|
|
96
|
+
// Loud guard: an out-of-date consumer (stale daughter dist) omitting the
|
|
97
|
+
// required tuning fields must fail at construction, not silently send
|
|
98
|
+
// undefined sampling on every grammar request.
|
|
99
|
+
if (typeof config.temperature !== "number" || typeof config.repeatPenalty !== "number" || typeof config.retryDelayMs !== "number") {
|
|
100
|
+
throw new Error(`${config.source ?? "provider"}: OpenAICompatConfig requires temperature + repeatPenalty + retryDelayMs (PLURNK_PROVIDERS_TEMPERATURE / _REPEAT_PENALTY / _RETRY_DELAY) — rebuild against providers >= 0.33.0`);
|
|
101
|
+
}
|
|
102
|
+
this.#temperature = config.temperature;
|
|
103
|
+
this.#repeatPenalty = config.repeatPenalty;
|
|
104
|
+
this.#retryDelayMs = config.retryDelayMs;
|
|
111
105
|
this.#retryAttempts = config.retryAttempts;
|
|
112
106
|
this.#reasoningStyle = config.reasoningStyle ?? "none";
|
|
113
107
|
this.#countTokens = config.countTokens ?? heuristicTokens;
|
|
@@ -120,6 +114,8 @@ export default class OpenAICompatProvider {
|
|
|
120
114
|
this.#balanceMetaKey = config.balanceMetaKey;
|
|
121
115
|
this.#supportsSlotPinning = config.supportsSlotPinning ?? false;
|
|
122
116
|
this.#slotCount = config.slotCount ?? null;
|
|
117
|
+
this.#logprobs = config.logprobs ?? null;
|
|
118
|
+
this.#rawBody = config.rawBody ?? false;
|
|
123
119
|
const { tokenizeUrl } = config;
|
|
124
120
|
if (tokenizeUrl !== undefined) {
|
|
125
121
|
this.tokenize = async (text) => {
|
|
@@ -141,6 +137,10 @@ export default class OpenAICompatProvider {
|
|
|
141
137
|
}
|
|
142
138
|
get contextSize() { return this.#contextSize; }
|
|
143
139
|
get model() { return this.#model; }
|
|
140
|
+
// Resolved capability (#34): will a transported grammar actually constrain
|
|
141
|
+
// this backend's decode? Introspectable so a consumer can verify the rails
|
|
142
|
+
// are LIVE without spending a generation on a forcing-grammar probe.
|
|
143
|
+
get constrainsOutput() { return this.#grammarStyle !== "none"; }
|
|
144
144
|
countTokens(text) { return this.#countTokens(text); }
|
|
145
145
|
costFor(usage) { return this.#costFor(usage); }
|
|
146
146
|
// One-time surfacing flag for the #32 clamp — warn on the first turn where
|
|
@@ -225,8 +225,8 @@ export default class OpenAICompatProvider {
|
|
|
225
225
|
// floor (#9, SPEC §13) — every grammar path carries it. llama.cpp spells
|
|
226
226
|
// it `repeat_penalty`; the OpenAI-compat (Fireworks) shape is `repetition_penalty`
|
|
227
227
|
// (verified honored live, #20).
|
|
228
|
-
case "llamacpp": return { grammar, repeat_penalty:
|
|
229
|
-
case "response_format": return { response_format: { type: "grammar", grammar }, repetition_penalty:
|
|
228
|
+
case "llamacpp": return { grammar, repeat_penalty: this.#repeatPenalty };
|
|
229
|
+
case "response_format": return { response_format: { type: "grammar", grammar }, repetition_penalty: this.#repeatPenalty };
|
|
230
230
|
case "none": return {};
|
|
231
231
|
}
|
|
232
232
|
}
|
|
@@ -280,7 +280,7 @@ export default class OpenAICompatProvider {
|
|
|
280
280
|
// the model's bytes flow in `assistant` no matter what — and a non-accept
|
|
281
281
|
// verdict rides `response.telemetry` as a grammar_unenforced OBSERVATION
|
|
282
282
|
// carrying the divergence position. One check, both paths (grammar
|
|
283
|
-
// transported OR withheld under
|
|
283
|
+
// transported OR withheld under PLURNK_PROVIDERS_GBNF_DEBUG); whether to discard,
|
|
284
284
|
// retry, escalate, or feed the divergence back is CONSUMER policy — the
|
|
285
285
|
// provider transports and observes, it never adjudicates. (Every measured
|
|
286
286
|
// "failure" in the field was a legal prefix; throwing destroyed billed
|
|
@@ -292,7 +292,7 @@ export default class OpenAICompatProvider {
|
|
|
292
292
|
return null;
|
|
293
293
|
return { source: this.#source, kind: "grammar_unenforced", message: describeUnenforced(verdict), position: verdict.pos };
|
|
294
294
|
}
|
|
295
|
-
//
|
|
295
|
+
// PLURNK_PROVIDERS_GBNF_DEBUG (SPEC §13): validate the supplied GBNF locally and fail
|
|
296
296
|
// hard if it's malformed, BEFORE any wire call — and the grammar is NOT
|
|
297
297
|
// transported, so the request runs unconstrained. A debug aid to catch invalid
|
|
298
298
|
// grammars (e.g. while editing the plurnk grammar) without a model round-trip;
|
|
@@ -304,7 +304,7 @@ export default class OpenAICompatProvider {
|
|
|
304
304
|
validateGbnf(grammar, "");
|
|
305
305
|
}
|
|
306
306
|
catch (cause) {
|
|
307
|
-
throw new Error(`grammar validation (
|
|
307
|
+
throw new Error(`grammar validation (PLURNK_PROVIDERS_GBNF_DEBUG): invalid GBNF — ${cause.message}`, { cause });
|
|
308
308
|
}
|
|
309
309
|
}
|
|
310
310
|
// Per-turn metadata bag (#23): pass the backend's non-standard top-level fields
|
|
@@ -343,7 +343,7 @@ export default class OpenAICompatProvider {
|
|
|
343
343
|
throw new Error("generate: runId is required — the run's stable, opaque identity");
|
|
344
344
|
// Reject before any wire call when already aborted (SPEC §10.8).
|
|
345
345
|
signal?.throwIfAborted();
|
|
346
|
-
// Grammar handling (SPEC §13).
|
|
346
|
+
// Grammar handling (SPEC §13). PLURNK_PROVIDERS_GBNF_DEBUG validates the supplied
|
|
347
347
|
// grammar locally and throws on a malformed one, then WITHHOLDS it so the
|
|
348
348
|
// model generates UNCONSTRAINED — and the free output is still verified
|
|
349
349
|
// against the grammar (below), surfacing exactly where the model's natural
|
|
@@ -353,19 +353,21 @@ export default class OpenAICompatProvider {
|
|
|
353
353
|
if (wantGrammar && this.#gbnfDebug)
|
|
354
354
|
this.#assertGrammarValid(grammar);
|
|
355
355
|
const sendGrammar = wantGrammar && !this.#gbnfDebug ? grammar : undefined;
|
|
356
|
-
// Assembly order = precedence:
|
|
357
|
-
//
|
|
358
|
-
//
|
|
359
|
-
//
|
|
360
|
-
const grammarSamplingDefaults = sendGrammar !== undefined ? { temperature: GRAMMAR_TEMPERATURE } : {};
|
|
356
|
+
// Assembly order = precedence: the family's sampling DEFAULTS
|
|
357
|
+
// (PLURNK_PROVIDERS_TEMPERATURE — universal, #30 measured it on grammar
|
|
358
|
+
// paths and the name promises every request) < the caller's `sampling`
|
|
359
|
+
// < the managed fields, which always win.
|
|
361
360
|
const body = {
|
|
362
|
-
|
|
361
|
+
temperature: this.#temperature,
|
|
363
362
|
...this.#samplingBody(sampling),
|
|
364
363
|
model: this.#model,
|
|
365
364
|
messages,
|
|
366
365
|
...this.#reasoningBody(sendGrammar !== undefined && this.#grammarStyle === "response_format"),
|
|
367
366
|
...this.#grammarBody(sendGrammar),
|
|
368
367
|
...(maxTokens !== undefined ? { max_tokens: maxTokens } : {}),
|
|
368
|
+
// #36: request per-token logprobs only when enabled (managed field —
|
|
369
|
+
// reserved from caller sampling; the env flag is the single control).
|
|
370
|
+
...(this.#logprobs !== null ? { logprobs: true, top_logprobs: this.#logprobs } : {}),
|
|
369
371
|
...this.#slotBody(runId),
|
|
370
372
|
};
|
|
371
373
|
// Transient-failure retry (#18). Each attempt gets a FRESH fetch timeout
|
|
@@ -388,7 +390,7 @@ export default class OpenAICompatProvider {
|
|
|
388
390
|
const timeoutSignal = AbortSignal.timeout(this.#fetchTimeoutMs);
|
|
389
391
|
const effectiveSignal = signal !== undefined ? AbortSignal.any([signal, timeoutSignal]) : timeoutSignal;
|
|
390
392
|
try {
|
|
391
|
-
raw = await transport({ url: this.#url, headers, body, signal: effectiveSignal });
|
|
393
|
+
raw = await transport({ url: this.#url, headers, body, signal: effectiveSignal, captureRawBody: this.#rawBody });
|
|
392
394
|
break;
|
|
393
395
|
}
|
|
394
396
|
catch (err) {
|
|
@@ -400,12 +402,12 @@ export default class OpenAICompatProvider {
|
|
|
400
402
|
if (!RETRYABLE.has(kind) || attempt >= this.#retryAttempts)
|
|
401
403
|
throw toProviderError(err, this.#source);
|
|
402
404
|
const retryAfter = err instanceof OpenAiHttpError ? err.retryAfter : null;
|
|
403
|
-
await sleepWithAbort(retryAfter ??
|
|
405
|
+
await sleepWithAbort(retryAfter ?? this.#retryDelayMs * 2 ** attempt, signal);
|
|
404
406
|
}
|
|
405
407
|
}
|
|
406
408
|
// Grammar conformance (§13): bytes always flow; the verdict is an
|
|
407
409
|
// observation. Same check whether the grammar was transported
|
|
408
|
-
// (sendGrammar) or withheld (
|
|
410
|
+
// (sendGrammar) or withheld (PLURNK_PROVIDERS_GBNF_DEBUG filter mode) — a
|
|
409
411
|
// non-accept verdict attaches a grammar_unenforced telemetry event
|
|
410
412
|
// (message + divergence position) and the response returns normally.
|
|
411
413
|
// Discard/retry/escalate/self-correct is the consumer's policy.
|
|
@@ -417,6 +419,13 @@ export default class OpenAICompatProvider {
|
|
|
417
419
|
telemetry = [event];
|
|
418
420
|
}
|
|
419
421
|
const meta = this.#buildMeta(raw.chunkMetadata);
|
|
422
|
+
// #36: surface per-token logprobs + their mean when the backend returned
|
|
423
|
+
// them (only possible when the flag requested them). Absent otherwise —
|
|
424
|
+
// never synthesized.
|
|
425
|
+
const logprobs = raw.logprobs !== null && raw.logprobs.length > 0 ? raw.logprobs : undefined;
|
|
426
|
+
const meanLogprob = logprobs !== undefined
|
|
427
|
+
? logprobs.reduce((sum, t) => sum + t.logprob, 0) / logprobs.length
|
|
428
|
+
: undefined;
|
|
420
429
|
return {
|
|
421
430
|
assistant: {
|
|
422
431
|
content: raw.content,
|
|
@@ -424,8 +433,10 @@ export default class OpenAICompatProvider {
|
|
|
424
433
|
usage: normalizeUsage(raw.usage),
|
|
425
434
|
finishReason: normalizeFinishReason(raw.finish_reason),
|
|
426
435
|
model: raw.model ?? this.#model,
|
|
436
|
+
...(logprobs !== undefined ? { logprobs, meanLogprob } : {}),
|
|
427
437
|
},
|
|
428
438
|
assistantRaw: raw,
|
|
439
|
+
...(raw.rawBody !== undefined ? { rawBody: raw.rawBody } : {}),
|
|
429
440
|
...(meta !== undefined ? { meta } : {}),
|
|
430
441
|
...(telemetry !== undefined ? { telemetry } : {}),
|
|
431
442
|
};
|
package/dist/OpenAICompat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAICompat.js","sourceRoot":"","sources":["../src/OpenAICompat.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenAICompat.js","sourceRoot":"","sources":["../src/OpenAICompat.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import type { Provider } from "./types.ts";
|
|
|
2
2
|
import { type DiscoverOptions, type Discovery } from "./discover.ts";
|
|
3
3
|
type ImportModule = (specifier: string) => Promise<unknown>;
|
|
4
4
|
type DiscoverFn = (options?: DiscoverOptions) => Promise<Discovery>;
|
|
5
|
-
export declare const instantiateProvider: (name: string, env: NodeJS.ProcessEnv, model: string, importImpl?: ImportModule, discoverFn?: DiscoverFn, baseUrl?: string)
|
|
5
|
+
export declare const instantiateProvider: (name: string, env: NodeJS.ProcessEnv, model: string, importImpl?: ImportModule, discoverFn?: DiscoverFn, baseUrl?: string, // per-alias endpoint override (PLURNK_BASEURL_<alias>); threaded to both tiers
|
|
6
|
+
alias?: string) => Promise<Provider>;
|
|
6
7
|
export declare const resetDiscoveryCache: () => void;
|
|
7
8
|
export declare const loadActiveProvider: (env?: NodeJS.ProcessEnv, importImpl?: ImportModule, discoverFn?: DiscoverFn) => Promise<Provider>;
|
|
8
9
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderRegistry.d.ts","sourceRoot":"","sources":["../src/ProviderRegistry.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAY,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ProviderRegistry.d.ts","sourceRoot":"","sources":["../src/ProviderRegistry.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,YAAY,CAAC;AAE5D,OAAO,EAAY,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AAO/E,KAAK,YAAY,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE5D,KAAK,UAAU,GAAG,CAAC,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;AAgBpE,eAAO,MAAM,mBAAmB,GAC5B,MAAM,MAAM,EACZ,KAAK,MAAM,CAAC,UAAU,EACtB,OAAO,MAAM,EACb,aAAY,YAA2B,EACvC,aAAY,UAAqB,EACjC,UAAU,MAAM,EAAE,+EAA+E;AACjG,QAAQ,MAAM,KACf,OAAO,CAAC,QAAQ,CA6BlB,CAAC;AAGF,eAAO,MAAM,mBAAmB,QAAO,IAAmC,CAAC;AAG3E,eAAO,MAAM,kBAAkB,GAC3B,MAAK,MAAM,CAAC,UAAwB,EACpC,aAAY,YAA2B,EACvC,aAAY,UAAqB,KAClC,OAAO,CAAC,QAAQ,CAMlB,CAAC"}
|
package/dist/ProviderRegistry.js
CHANGED
|
@@ -20,6 +20,7 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
|
|
|
20
20
|
import { isStandardProvider, standardProviderFromEnv } from "./standardProviders.js";
|
|
21
21
|
import { discover } from "./discover.js";
|
|
22
22
|
import { resolveActiveAlias } from "@plurnk/plurnk-aliases";
|
|
23
|
+
import { scopeEnvToAlias } from "./env.js";
|
|
23
24
|
const importModule = (specifier) => import(__rewriteRelativeImportExtension(specifier));
|
|
24
25
|
// The node_modules scan is filesystem work that never changes within a process,
|
|
25
26
|
// so it runs once and the result is memoized. A long-lived daemon pays one scan
|
|
@@ -34,7 +35,12 @@ const providerPackages = async (discoverFn, env) => {
|
|
|
34
35
|
// package (scope-agnostic scan, trust-gated) → fail-hard. The standard table is
|
|
35
36
|
// authoritative — a scanned package whose name duplicates a standard one is
|
|
36
37
|
// shadowed here (never reached), since tier 1 returns first.
|
|
37
|
-
export const instantiateProvider = async (name, env, model, importImpl = importModule, discoverFn = discover, baseUrl)
|
|
38
|
+
export const instantiateProvider = async (name, env, model, importImpl = importModule, discoverFn = discover, baseUrl, // per-alias endpoint override (PLURNK_BASEURL_<alias>); threaded to both tiers
|
|
39
|
+
alias) => {
|
|
40
|
+
// Per-alias knob scoping: overlay any _<alias>-suffixed knob onto its bare
|
|
41
|
+
// name so both tiers (and every fromEnv) read plain vars, per-alias-resolved.
|
|
42
|
+
if (alias !== undefined)
|
|
43
|
+
env = scopeEnvToAlias(env, alias);
|
|
38
44
|
if (isStandardProvider(name)) {
|
|
39
45
|
const standard = await standardProviderFromEnv(name, env, model, baseUrl);
|
|
40
46
|
if (standard === null)
|
|
@@ -71,6 +77,6 @@ export const loadActiveProvider = async (env = process.env, importImpl = importM
|
|
|
71
77
|
if (alias === null) {
|
|
72
78
|
throw new Error("no active provider: set PLURNK_MODEL to an alias declared via PLURNK_MODEL_<alias>=<provider>/<model>");
|
|
73
79
|
}
|
|
74
|
-
return instantiateProvider(alias.provider, env, alias.model, importImpl, discoverFn, alias.baseUrl);
|
|
80
|
+
return instantiateProvider(alias.provider, env, alias.model, importImpl, discoverFn, alias.baseUrl, alias.alias);
|
|
75
81
|
};
|
|
76
82
|
//# sourceMappingURL=ProviderRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderRegistry.js","sourceRoot":"","sources":["../src/ProviderRegistry.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,2EAA2E;AAC3E,+EAA+E;AAC/E,2EAA2E;AAC3E,EAAE;AACF,+EAA+E;AAC/E,yEAAyE;AACzE,6EAA6E;AAC7E,+EAA+E;AAC/E,4EAA4E;AAC5E,wCAAwC;;;;;;;;;AAGxC,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAwC,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProviderRegistry.js","sourceRoot":"","sources":["../src/ProviderRegistry.ts"],"names":[],"mappings":"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"}
|
package/dist/env.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
export declare const parseRequiredInt: (raw: string | undefined, name: string, label: string) => number;
|
|
2
2
|
export declare const parseOptionalInt: (raw: string | undefined, name: string, label: string) => number | null;
|
|
3
|
+
export declare const parseRequiredFloat: (raw: string | undefined, name: string, label: string, min: number) => number;
|
|
3
4
|
export declare const requireEnv: (raw: string | undefined, name: string, label: string) => string;
|
|
5
|
+
export declare const dataCaptureFromEnv: (env: NodeJS.ProcessEnv, label: string) => {
|
|
6
|
+
logprobs: number | null;
|
|
7
|
+
rawBody: boolean;
|
|
8
|
+
};
|
|
4
9
|
export type ThinkingMode = "off" | "adaptive" | "on";
|
|
5
10
|
export type Thinking = {
|
|
6
11
|
mode: ThinkingMode;
|
|
7
12
|
capacity: number | null;
|
|
8
13
|
};
|
|
9
14
|
export declare const thinkingFromEnv: (env: NodeJS.ProcessEnv, label: string) => Thinking;
|
|
15
|
+
export declare const scopeEnvToAlias: (env: NodeJS.ProcessEnv, alias: string) => NodeJS.ProcessEnv;
|
|
10
16
|
//# sourceMappingURL=env.d.ts.map
|
package/dist/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAKvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAAM,GAAG,IAKhG,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAGjF,CAAC;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAKvF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAAM,GAAG,IAKhG,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,KAAK,MAAM,KAAG,MAKtG,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAGjF,CAAC;AASF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,MAAM,KAAG;IAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAGpH,CAAC;AAWH,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;AACrD,MAAM,MAAM,QAAQ,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEvE,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,MAAM,KAAG,QAYvE,CAAC;AA+BF,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,MAAM,KAAG,MAAM,CAAC,UAiB9E,CAAC"}
|
package/dist/env.js
CHANGED
|
@@ -17,11 +17,30 @@ export const parseOptionalInt = (raw, name, label) => {
|
|
|
17
17
|
throw new Error(`${label} provider: ${name} must be a non-negative integer (got "${raw}")`);
|
|
18
18
|
return n;
|
|
19
19
|
};
|
|
20
|
+
export const parseRequiredFloat = (raw, name, label, min) => {
|
|
21
|
+
if (raw === undefined || raw.length === 0)
|
|
22
|
+
throw new Error(`${label} provider: ${name} must be set`);
|
|
23
|
+
const n = Number(raw);
|
|
24
|
+
if (!Number.isFinite(n) || n < min)
|
|
25
|
+
throw new Error(`${label} provider: ${name} must be a finite number >= ${min} (got "${raw}")`);
|
|
26
|
+
return n;
|
|
27
|
+
};
|
|
20
28
|
export const requireEnv = (raw, name, label) => {
|
|
21
29
|
if (raw === undefined || raw.length === 0)
|
|
22
30
|
throw new Error(`${label} provider: ${name} must be set`);
|
|
23
31
|
return raw;
|
|
24
32
|
};
|
|
33
|
+
// Data-capture knobs (#36), read identically by every provider (standard AND
|
|
34
|
+
// daughter) so the opt-in surface is one source of truth. Both OFF by default —
|
|
35
|
+
// the flag is the isolation, so serving turns request and carry nothing.
|
|
36
|
+
// PLURNK_PROVIDERS_LOGPROB non-negative int = top_logprobs (set → request
|
|
37
|
+
// per-token logprobs; unset → off). Per-alias-scopable.
|
|
38
|
+
// PLURNK_PROVIDERS_RAWBODY truthy (not ""/"0") → attach the verbatim wire
|
|
39
|
+
// body to response.rawBody. Per-alias-scopable.
|
|
40
|
+
export const dataCaptureFromEnv = (env, label) => ({
|
|
41
|
+
logprobs: parseOptionalInt(env.PLURNK_PROVIDERS_LOGPROB, "PLURNK_PROVIDERS_LOGPROB", label),
|
|
42
|
+
rawBody: env.PLURNK_PROVIDERS_RAWBODY !== undefined && env.PLURNK_PROVIDERS_RAWBODY !== "" && env.PLURNK_PROVIDERS_RAWBODY !== "0",
|
|
43
|
+
});
|
|
25
44
|
export const thinkingFromEnv = (env, label) => {
|
|
26
45
|
const name = "PLURNK_PROVIDERS_THINKING";
|
|
27
46
|
const raw = env[name];
|
|
@@ -40,4 +59,54 @@ export const thinkingFromEnv = (env, label) => {
|
|
|
40
59
|
throw new Error(`${label} provider: ${capName} must be a positive integer (got "${capRaw}")`);
|
|
41
60
|
return { mode: "on", capacity: n };
|
|
42
61
|
};
|
|
62
|
+
// ── Per-alias knob scoping (per-alias scoping doctrine, user 2026-07-03): PLURNK_PROVIDERS_<KNOB>[_<alias>] ──
|
|
63
|
+
// Every plurnk-owned knob accepts a per-alias override — the suffixed form wins,
|
|
64
|
+
// the bare form is the fallback — so two aliases on one provider name (two boxes,
|
|
65
|
+
// two models) stop sharing one global setting. The knob list is CLOSED and parsed
|
|
66
|
+
// exact-prefix-first, so aliases containing underscores stay unambiguous. Vendor
|
|
67
|
+
// facts (API keys, canonical endpoints) remain vendor-named; the per-alias
|
|
68
|
+
// endpoint override stays PLURNK_BASEURL_<alias> (its existing precedent).
|
|
69
|
+
const PROVIDERS_KNOBS = Object.freeze([
|
|
70
|
+
"PLURNK_PROVIDERS_THINKING_CAPACITY",
|
|
71
|
+
"PLURNK_PROVIDERS_THINKING",
|
|
72
|
+
"PLURNK_PROVIDERS_CONTEXT_SIZE",
|
|
73
|
+
"PLURNK_PROVIDERS_RETRY_ATTEMPTS",
|
|
74
|
+
"PLURNK_PROVIDERS_FETCH_TIMEOUT",
|
|
75
|
+
"PLURNK_PROVIDERS_LLAMA_SERVER",
|
|
76
|
+
"PLURNK_PROVIDERS_TEMPERATURE",
|
|
77
|
+
"PLURNK_PROVIDERS_REPEAT_PENALTY",
|
|
78
|
+
"PLURNK_PROVIDERS_RETRY_DELAY",
|
|
79
|
+
"PLURNK_PROVIDERS_PROBE_ATTEMPTS",
|
|
80
|
+
"PLURNK_PROVIDERS_PROBE_DELAY",
|
|
81
|
+
"PLURNK_PROVIDERS_GBNF_DEBUG",
|
|
82
|
+
"PLURNK_PROVIDERS_LOGPROB",
|
|
83
|
+
"PLURNK_PROVIDERS_RAWBODY",
|
|
84
|
+
]);
|
|
85
|
+
// Materialize an alias-scoped VIEW of env: for each known knob with a
|
|
86
|
+
// `_<alias>`-suffixed key (suffix case-folds to the alias, matching the
|
|
87
|
+
// PLURNK_MODEL_/PLURNK_BASEURL_ convention), overlay it onto the bare name.
|
|
88
|
+
// Providers keep reading plain vars — scoping is entirely the caller's overlay,
|
|
89
|
+
// so fromEnv implementations (and daughters) need zero changes.
|
|
90
|
+
export const scopeEnvToAlias = (env, alias) => {
|
|
91
|
+
const folded = alias.toLowerCase();
|
|
92
|
+
const out = { ...env };
|
|
93
|
+
for (const knob of PROVIDERS_KNOBS) {
|
|
94
|
+
for (const [key, value] of Object.entries(env)) {
|
|
95
|
+
if (value === undefined || value.length === 0)
|
|
96
|
+
continue;
|
|
97
|
+
if (!key.startsWith(knob + "_"))
|
|
98
|
+
continue;
|
|
99
|
+
// A bare knob can prefix another bare knob (_THINKING prefixes
|
|
100
|
+
// _THINKING_CAPACITY): a key that IS a known knob is never a
|
|
101
|
+
// suffixed override, whatever the alias is named.
|
|
102
|
+
if (PROVIDERS_KNOBS.includes(key))
|
|
103
|
+
continue;
|
|
104
|
+
if (key.slice(knob.length + 1).toLowerCase() !== folded)
|
|
105
|
+
continue;
|
|
106
|
+
out[knob] = value;
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return out;
|
|
111
|
+
};
|
|
43
112
|
//# sourceMappingURL=env.js.map
|
package/dist/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,4EAA4E;AAC5E,8EAA8E;AAE9E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAuB,EAAE,IAAY,EAAE,KAAa,EAAU,EAAE;IAC7F,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,IAAI,cAAc,CAAC,CAAC;IACrG,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,IAAI,yCAAyC,GAAG,IAAI,CAAC,CAAC;IAC/H,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAuB,EAAE,IAAY,EAAE,KAAa,EAAiB,EAAE;IACpG,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,IAAI,yCAAyC,GAAG,IAAI,CAAC,CAAC;IAC/H,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAuB,EAAE,IAAY,EAAE,KAAa,EAAU,EAAE;IACvF,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,IAAI,cAAc,CAAC,CAAC;IACrG,OAAO,GAAG,CAAC;AACf,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { ChatMessage, FinishReason, Provider, ProviderAssistant, ProviderFactory, ProviderOptions, ProviderResponse, ProviderUsage, } from "./types.ts";
|
|
1
|
+
export type { ChatMessage, FinishReason, Provider, ProviderAssistant, ProviderFactory, ProviderOptions, ProviderResponse, ProviderUsage, TokenLogprob, TokenAlternative, } from "./types.ts";
|
|
2
2
|
export type { ProviderAlias } from "@plurnk/plurnk-aliases";
|
|
3
3
|
export { parseAliasesFromEnv, resolveActiveAlias } from "@plurnk/plurnk-aliases";
|
|
4
4
|
export { instantiateProvider, loadActiveProvider, resetDiscoveryCache, } from "./ProviderRegistry.ts";
|
|
@@ -8,7 +8,7 @@ export { default as OpenAICompatProvider, effortFromBudget } from "./OpenAICompa
|
|
|
8
8
|
export type { OpenAICompatConfig, ReasoningStyle, GrammarStyle } from "./OpenAICompat.ts";
|
|
9
9
|
export { chatCompletionStream, chatCompletion, OpenAiHttpError } from "./openaiStream.ts";
|
|
10
10
|
export type { StreamResponse } from "./openaiStream.ts";
|
|
11
|
-
export { parseRequiredInt, parseOptionalInt, requireEnv, thinkingFromEnv } from "./env.ts";
|
|
11
|
+
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, requireEnv, thinkingFromEnv, scopeEnvToAlias, dataCaptureFromEnv } from "./env.ts";
|
|
12
12
|
export type { Thinking, ThinkingMode } from "./env.ts";
|
|
13
13
|
export { normalizeUsage, computeCost } from "./usage.ts";
|
|
14
14
|
export type { RawUsage, TokenRates } from "./usage.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,gBAAgB,GACnB,MAAM,YAAY,CAAC;AAKpB,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAIhE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtF,YAAY,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC1F,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpJ,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACvG,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEzG,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -7,7 +7,7 @@ export { discover } from "./discover.js";
|
|
|
7
7
|
// extends and the basis for ./standardProviders.ts.
|
|
8
8
|
export { default as OpenAICompatProvider, effortFromBudget } from "./OpenAICompat.js";
|
|
9
9
|
export { chatCompletionStream, chatCompletion, OpenAiHttpError } from "./openaiStream.js";
|
|
10
|
-
export { parseRequiredInt, parseOptionalInt, requireEnv, thinkingFromEnv } from "./env.js";
|
|
10
|
+
export { parseRequiredInt, parseOptionalInt, parseRequiredFloat, requireEnv, thinkingFromEnv, scopeEnvToAlias, dataCaptureFromEnv } from "./env.js";
|
|
11
11
|
export { normalizeUsage, computeCost } from "./usage.js";
|
|
12
12
|
export { ProviderError, classifyProviderError, toProviderError, providerSource } from "./telemetry.js";
|
|
13
13
|
export { STANDARD_PROVIDERS, isStandardProvider, standardProviderFromEnv } from "./standardProviders.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjF,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,GACtB,MAAM,uBAAuB,CAAC;AAE/B,8EAA8E;AAC9E,8EAA8E;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzC,yEAAyE;AACzE,oDAAoD;AACpD,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEpJ,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEvG,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEzG,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
|
package/dist/openaiStream.d.ts
CHANGED
|
@@ -3,8 +3,10 @@ type StreamRequest = {
|
|
|
3
3
|
headers: Record<string, string>;
|
|
4
4
|
body: Record<string, unknown>;
|
|
5
5
|
signal: AbortSignal;
|
|
6
|
+
captureRawBody?: boolean;
|
|
6
7
|
};
|
|
7
8
|
import type { RawUsage } from "./usage.ts";
|
|
9
|
+
import type { TokenLogprob } from "./types.ts";
|
|
8
10
|
export type StreamResponse = {
|
|
9
11
|
model: string | null;
|
|
10
12
|
content: string;
|
|
@@ -12,6 +14,8 @@ export type StreamResponse = {
|
|
|
12
14
|
finish_reason: string | null;
|
|
13
15
|
usage: RawUsage | null;
|
|
14
16
|
chunkMetadata: Record<string, unknown>;
|
|
17
|
+
logprobs: TokenLogprob[] | null;
|
|
18
|
+
rawBody: unknown;
|
|
15
19
|
};
|
|
16
20
|
export declare class OpenAiHttpError extends Error {
|
|
17
21
|
readonly status: number;
|
|
@@ -19,7 +23,7 @@ export declare class OpenAiHttpError extends Error {
|
|
|
19
23
|
readonly retryAfter: number | null;
|
|
20
24
|
constructor(status: number, body: string, retryAfter: number | null);
|
|
21
25
|
}
|
|
22
|
-
export declare const chatCompletion: ({ url, headers, body, signal }: StreamRequest) => Promise<StreamResponse>;
|
|
23
|
-
export declare const chatCompletionStream: ({ url, headers, body, signal }: StreamRequest) => Promise<StreamResponse>;
|
|
26
|
+
export declare const chatCompletion: ({ url, headers, body, signal, captureRawBody }: StreamRequest) => Promise<StreamResponse>;
|
|
27
|
+
export declare const chatCompletionStream: ({ url, headers, body, signal, captureRawBody }: StreamRequest) => Promise<StreamResponse>;
|
|
24
28
|
export {};
|
|
25
29
|
//# sourceMappingURL=openaiStream.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openaiStream.d.ts","sourceRoot":"","sources":["../src/openaiStream.ts"],"names":[],"mappings":"AAMA,KAAK,aAAa,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"openaiStream.d.ts","sourceRoot":"","sources":["../src/openaiStream.ts"],"names":[],"mappings":"AAMA,KAAK,aAAa,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,EAAE,WAAW,CAAC;IAGpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,cAAc,GAAG;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGvC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAEhC,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAiBF,qBAAa,eAAgB,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;gBACvB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;CAMtE;AAkBD,eAAO,MAAM,cAAc,GAAU,gDAAgD,aAAa,KAAG,OAAO,CAAC,cAAc,CA6B1H,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAU,gDAAgD,aAAa,KAAG,OAAO,CAAC,cAAc,CAgFhI,CAAC"}
|
package/dist/openaiStream.js
CHANGED
|
@@ -3,6 +3,21 @@
|
|
|
3
3
|
// one StreamResponse (the Provider contract is atomic — no partial resolves).
|
|
4
4
|
// Adapted from rummy's proven implementation; previously copy-pasted byte-for-
|
|
5
5
|
// byte into every @plurnk/plurnk-providers-* sibling, now shared from here.
|
|
6
|
+
// Map an OpenAI-style `logprobs.content[]` array to the canonical structured view
|
|
7
|
+
// (#36). Reads the RAW `logprob` (not `sampling_logprob`); `top_logprobs` → `top`.
|
|
8
|
+
// Returns null when the shape is absent — never synthesizes.
|
|
9
|
+
const parseLogprobs = (raw) => {
|
|
10
|
+
const content = raw?.content;
|
|
11
|
+
if (!Array.isArray(content))
|
|
12
|
+
return null;
|
|
13
|
+
return content.map((entry) => {
|
|
14
|
+
const { token, logprob, top_logprobs } = entry;
|
|
15
|
+
const top = Array.isArray(top_logprobs)
|
|
16
|
+
? top_logprobs.map((a) => ({ token: a.token, logprob: a.logprob }))
|
|
17
|
+
: undefined;
|
|
18
|
+
return top !== undefined ? { token, logprob, top } : { token, logprob };
|
|
19
|
+
});
|
|
20
|
+
};
|
|
6
21
|
export class OpenAiHttpError extends Error {
|
|
7
22
|
status;
|
|
8
23
|
body;
|
|
@@ -32,7 +47,7 @@ const parseRetryAfter = (header) => {
|
|
|
32
47
|
// the Provider contract is atomic either way, so the transport is free to
|
|
33
48
|
// choose. The fetch timeout (AbortSignal) bounds the wait; there is no proxy
|
|
34
49
|
// between us and the backend that would idle out a non-streamed request.
|
|
35
|
-
export const chatCompletion = async ({ url, headers, body, signal }) => {
|
|
50
|
+
export const chatCompletion = async ({ url, headers, body, signal, captureRawBody }) => {
|
|
36
51
|
const response = await fetch(url, {
|
|
37
52
|
method: "POST",
|
|
38
53
|
headers: { "Content-Type": "application/json", ...headers },
|
|
@@ -59,9 +74,12 @@ export const chatCompletion = async ({ url, headers, body, signal }) => {
|
|
|
59
74
|
finish_reason: typeof choice.finish_reason === "string" ? choice.finish_reason : null,
|
|
60
75
|
usage: (j.usage ?? null),
|
|
61
76
|
chunkMetadata,
|
|
77
|
+
logprobs: parseLogprobs(choice.logprobs),
|
|
78
|
+
// Non-streamed: the parsed JSON IS the verbatim wire body, exact.
|
|
79
|
+
rawBody: captureRawBody === true ? j : undefined,
|
|
62
80
|
};
|
|
63
81
|
};
|
|
64
|
-
export const chatCompletionStream = async ({ url, headers, body, signal }) => {
|
|
82
|
+
export const chatCompletionStream = async ({ url, headers, body, signal, captureRawBody }) => {
|
|
65
83
|
const requestBody = { ...body, stream: true, stream_options: { include_usage: true } };
|
|
66
84
|
const response = await fetch(url, {
|
|
67
85
|
method: "POST",
|
|
@@ -84,6 +102,9 @@ export const chatCompletionStream = async ({ url, headers, body, signal }) => {
|
|
|
84
102
|
let model = null;
|
|
85
103
|
let finish_reason = null;
|
|
86
104
|
const chunkMetadata = {};
|
|
105
|
+
// #36: logprobs stream as per-chunk choices[0].logprobs.content[] deltas —
|
|
106
|
+
// accumulate the raw entries across chunks, map once at the end.
|
|
107
|
+
const logprobEntries = [];
|
|
87
108
|
while (true) {
|
|
88
109
|
const { done, value } = await reader.read();
|
|
89
110
|
if (done)
|
|
@@ -120,6 +141,9 @@ export const chatCompletionStream = async ({ url, headers, body, signal }) => {
|
|
|
120
141
|
continue;
|
|
121
142
|
if (typeof choice.finish_reason === "string")
|
|
122
143
|
finish_reason = choice.finish_reason;
|
|
144
|
+
const chunkLogprobs = choice.logprobs?.content;
|
|
145
|
+
if (Array.isArray(chunkLogprobs))
|
|
146
|
+
logprobEntries.push(...chunkLogprobs);
|
|
123
147
|
const delta = choice.delta;
|
|
124
148
|
if (delta === undefined)
|
|
125
149
|
continue;
|
|
@@ -134,6 +158,13 @@ export const chatCompletionStream = async ({ url, headers, body, signal }) => {
|
|
|
134
158
|
reasoning_content += delta.thinking;
|
|
135
159
|
}
|
|
136
160
|
}
|
|
137
|
-
|
|
161
|
+
const logprobs = logprobEntries.length > 0 ? parseLogprobs({ content: logprobEntries }) : null;
|
|
162
|
+
// Streamed turns have no single verbatim wire body; reassemble the equivalent
|
|
163
|
+
// (#36) — chunk-level fields (chunkMetadata) + the collected choice — only when
|
|
164
|
+
// asked, so serving turns pay nothing.
|
|
165
|
+
const rawBody = captureRawBody === true
|
|
166
|
+
? { ...chunkMetadata, model, usage, choices: [{ index: 0, message: { content, reasoning_content }, finish_reason, logprobs: logprobs !== null ? { content: logprobEntries } : null }] }
|
|
167
|
+
: undefined;
|
|
168
|
+
return { model, content, reasoning_content, finish_reason, usage, chunkMetadata, logprobs, rawBody };
|
|
138
169
|
};
|
|
139
170
|
//# sourceMappingURL=openaiStream.js.map
|
package/dist/openaiStream.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openaiStream.js","sourceRoot":"","sources":["../src/openaiStream.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;
|
|
1
|
+
{"version":3,"file":"openaiStream.js","sourceRoot":"","sources":["../src/openaiStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standardProviders.d.ts","sourceRoot":"","sources":["../src/standardProviders.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAC1D,OAA6B,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjG,KAAK,oBAAoB,GAAG;IAOxB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKpE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAIxC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,GAAG,SAAS,CAAC;IAKhE,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAE7D,QAAQ,EAAE,MAAM,CAAC;IAIjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAK/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAK5B,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAIxB,eAAe,EAAE,MAAM,CAAC;IAOxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAQpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAsK5E,CAAC;AAEH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,OAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"standardProviders.d.ts","sourceRoot":"","sources":["../src/standardProviders.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AAC1D,OAA6B,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjG,KAAK,oBAAoB,GAAG;IAOxB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC;IAKzB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAKpE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAIxC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,KAAK,MAAM,GAAG,SAAS,CAAC;IAKhE,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAE7D,QAAQ,EAAE,MAAM,CAAC;IAIjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAK/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAK5B,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAOrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAG7B,cAAc,CAAC,EAAE,MAAM,CAAC;IAIxB,eAAe,EAAE,MAAM,CAAC;IAOxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAQpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAGF,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAsK5E,CAAC;AAEH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,OAAqC,CAAC;AA4GxF,eAAO,MAAM,uBAAuB,GAAU,MAAM,MAAM,EAAE,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,MAAM,EAAE,kBAAkB,MAAM,KAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAkIpJ,CAAC"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
// ones (openrouter, ollama, google, xai, cloudflare, third-party). The scan
|
|
10
10
|
// resolves the package specifier — it is NOT a hardcoded @plurnk/ pattern.
|
|
11
11
|
import OpenAICompatProvider from "./OpenAICompat.js";
|
|
12
|
-
import { parseRequiredInt, parseOptionalInt, thinkingFromEnv } from "./env.js";
|
|
12
|
+
import { parseRequiredInt, parseOptionalInt, parseRequiredFloat, thinkingFromEnv, dataCaptureFromEnv } from "./env.js";
|
|
13
13
|
import { providerSource } from "./telemetry.js";
|
|
14
14
|
import { computeCost } from "./usage.js";
|
|
15
15
|
import { lookup } from "@plurnk/plurnk-models";
|
|
@@ -226,25 +226,45 @@ const resolveHeaders = (spec, env, label) => {
|
|
|
226
226
|
}
|
|
227
227
|
return { Authorization: `Bearer ${apiKey}` };
|
|
228
228
|
};
|
|
229
|
+
// One probe failure must never decide capability (#34). Attempts/delay are
|
|
230
|
+
// operator knobs (PLURNK_PROVIDERS_PROBE_ATTEMPTS / _PROBE_DELAY, canonical
|
|
231
|
+
// 3 / 250ms in .env.example) — the full-sweep rule: no magic numbers in code.
|
|
229
232
|
const probeModels = async (chatUrl, headers, model, fetchTimeoutMs) => {
|
|
230
233
|
const modelsUrl = chatUrl.replace(/\/chat\/completions$/, "/models");
|
|
231
234
|
try {
|
|
232
235
|
const res = await fetch(modelsUrl, { headers, signal: AbortSignal.timeout(fetchTimeoutMs) });
|
|
233
236
|
if (!res.ok)
|
|
234
|
-
return { nCtx: null, llamaServer: false };
|
|
237
|
+
return { nCtx: null, llamaServer: false, failed: true };
|
|
235
238
|
const data = (await res.json());
|
|
236
239
|
const rows = data.data ?? [];
|
|
237
240
|
const row = rows.find((r) => r.id === model) ?? rows[0];
|
|
238
241
|
const n = row?.meta?.n_ctx ?? row?.n_ctx;
|
|
242
|
+
// A clean 200 without the meta block is a CONFIRMED non-llama-server —
|
|
243
|
+
// a valid answer, not a failure; no retry.
|
|
239
244
|
return {
|
|
240
245
|
nCtx: typeof n === "number" && n > 0 ? n : null,
|
|
241
246
|
llamaServer: row?.meta !== undefined,
|
|
247
|
+
failed: false,
|
|
242
248
|
};
|
|
243
249
|
}
|
|
244
250
|
catch {
|
|
245
|
-
return { nCtx: null, llamaServer: false };
|
|
251
|
+
return { nCtx: null, llamaServer: false, failed: true };
|
|
246
252
|
}
|
|
247
253
|
};
|
|
254
|
+
// Retry wrapper (#34): only FAILED probes (non-200 / thrown fetch / timeout)
|
|
255
|
+
// retry — a confirmed answer returns immediately. Exhaustion returns the last
|
|
256
|
+
// failed result; the CALLER decides what a still-unknown capability means.
|
|
257
|
+
const probeModelsRetrying = async (chatUrl, headers, model, fetchTimeoutMs, attempts, delayMs) => {
|
|
258
|
+
let probe = { nCtx: null, llamaServer: false, failed: true };
|
|
259
|
+
for (let attempt = 0; attempt < attempts; attempt++) {
|
|
260
|
+
if (attempt > 0)
|
|
261
|
+
await new Promise((r) => setTimeout(r, delayMs * 2 ** (attempt - 1)));
|
|
262
|
+
probe = await probeModels(chatUrl, headers, model, fetchTimeoutMs);
|
|
263
|
+
if (!probe.failed)
|
|
264
|
+
return probe;
|
|
265
|
+
}
|
|
266
|
+
return probe;
|
|
267
|
+
};
|
|
248
268
|
// Slot count from llama-server's /props (total_slots) — the valid id_slot
|
|
249
269
|
// range for session pinning. Only queried after the llama-server fingerprint
|
|
250
270
|
// confirms; same best-effort posture as the models probe.
|
|
@@ -279,6 +299,11 @@ export const standardProviderFromEnv = async (name, env, model, baseUrlOverride)
|
|
|
279
299
|
// counting lives in the mimetypes tokenizer seam + the tokenize() capability.
|
|
280
300
|
// A still-set family var fails hard with the migration pointer; countTokens is
|
|
281
301
|
// the chars/2 upper bound, surfaced so window math is never silently inexact.
|
|
302
|
+
// Namespace seizure (fail-forward): the debug knob moved into the owned
|
|
303
|
+
// PLURNK_PROVIDERS_ namespace (alias-scopable). The old name fails hard.
|
|
304
|
+
if (env.PLURNK_GBNF_DEBUG !== undefined && env.PLURNK_GBNF_DEBUG.length > 0) {
|
|
305
|
+
throw new Error(`${name} provider: PLURNK_GBNF_DEBUG was renamed to PLURNK_PROVIDERS_GBNF_DEBUG (alias-scopable as _<alias>); update the env`);
|
|
306
|
+
}
|
|
282
307
|
const staleTokenizer = env[spec.tokenizerEnvVar];
|
|
283
308
|
if (staleTokenizer !== undefined && staleTokenizer.length > 0) {
|
|
284
309
|
throw new Error(`${name} provider: ${spec.tokenizerEnvVar} was removed — exact counting moved to the @plurnk/plurnk-mimetypes tokenizer seam (mimetypes#44) and Provider.tokenize(); unset the var (countTokens is a chars/2 upper bound)`);
|
|
@@ -301,9 +326,19 @@ export const standardProviderFromEnv = async (name, env, model, baseUrlOverride)
|
|
|
301
326
|
let tokenizeUrl;
|
|
302
327
|
let reasoningStyle = spec.reasoningStyle;
|
|
303
328
|
if (spec.probeNctx === true) {
|
|
304
|
-
|
|
329
|
+
// Operator pin (#34): "1" → llama-server capabilities WITHOUT trusting
|
|
330
|
+
// the probe; "0" → plain remote, skip the fingerprint; unset → detect.
|
|
331
|
+
// A plurnk-owned UNIVERSAL knob (alias-scopable: _<alias> suffix wins).
|
|
332
|
+
const pinRaw = env.PLURNK_PROVIDERS_LLAMA_SERVER;
|
|
333
|
+
if (pinRaw !== undefined && pinRaw !== "" && pinRaw !== "0" && pinRaw !== "1") {
|
|
334
|
+
throw new Error(`${name} provider: PLURNK_PROVIDERS_LLAMA_SERVER must be "1" (pin llama-server capabilities), "0" (force plain remote), or unset (auto-detect) (got "${pinRaw}")`);
|
|
335
|
+
}
|
|
336
|
+
const pin = pinRaw === undefined || pinRaw === "" ? null : pinRaw === "1";
|
|
337
|
+
const probeAttempts = parseRequiredInt(env.PLURNK_PROVIDERS_PROBE_ATTEMPTS, "PLURNK_PROVIDERS_PROBE_ATTEMPTS", name);
|
|
338
|
+
const probe = await probeModelsRetrying(url, headers, wireModel, fetchTimeoutMs, probeAttempts, parseRequiredInt(env.PLURNK_PROVIDERS_PROBE_DELAY, "PLURNK_PROVIDERS_PROBE_DELAY", name));
|
|
305
339
|
contextSize ??= probe.nCtx;
|
|
306
|
-
|
|
340
|
+
const isLlama = pin ?? (probe.llamaServer && spec.detectLlamaServer !== false);
|
|
341
|
+
if (isLlama && spec.detectLlamaServer !== false) {
|
|
307
342
|
grammarStyle = "llamacpp";
|
|
308
343
|
supportsSlotPinning = true;
|
|
309
344
|
slotCount = await probeSlotCount(url, headers, fetchTimeoutMs);
|
|
@@ -312,10 +347,16 @@ export const standardProviderFromEnv = async (name, env, model, baseUrlOverride)
|
|
|
312
347
|
tokenizeUrl = url.replace(/\/v1\/chat\/completions$/, "/tokenize");
|
|
313
348
|
// llama-server ignores `think` — its working reasoning toggle is the
|
|
314
349
|
// jinja chat_template_kwargs.enable_thinking, including the explicit
|
|
315
|
-
// FALSE at
|
|
350
|
+
// FALSE at THINKING=off that grammar-constrained loops require (§13).
|
|
316
351
|
if (reasoningStyle === "think")
|
|
317
352
|
reasoningStyle = "template";
|
|
318
353
|
}
|
|
354
|
+
else if (pin === null && probe.failed && spec.detectLlamaServer !== false) {
|
|
355
|
+
// Detection exhausted its retries with NO answer: capability stays
|
|
356
|
+
// un-upgraded, but NEVER silently (#34) — rails going dark without a
|
|
357
|
+
// signal cost the consumer weeks of misattributed rambles.
|
|
358
|
+
process.emitWarning(`${name} provider: llama-server detection failed after ${probeAttempts} attempts — grammar transport stays OFF (grammarStyle "none"). If this endpoint IS a llama-server, pin PLURNK_PROVIDERS_LLAMA_SERVER=1 (or its _<alias> form).`, { code: "PLURNK_PROBE_FAILED" });
|
|
359
|
+
}
|
|
319
360
|
}
|
|
320
361
|
// Vendored-snapshot FALLBACK (#19) — live always wins. contextSize already
|
|
321
362
|
// preferred env then the live probe; the catalog only fills a still-null
|
|
@@ -343,6 +384,9 @@ export const standardProviderFromEnv = async (name, env, model, baseUrlOverride)
|
|
|
343
384
|
contextSize,
|
|
344
385
|
fetchTimeoutMs,
|
|
345
386
|
thinking: thinkingFromEnv(env, name),
|
|
387
|
+
temperature: parseRequiredFloat(env.PLURNK_PROVIDERS_TEMPERATURE, "PLURNK_PROVIDERS_TEMPERATURE", name, 0),
|
|
388
|
+
repeatPenalty: parseRequiredFloat(env.PLURNK_PROVIDERS_REPEAT_PENALTY, "PLURNK_PROVIDERS_REPEAT_PENALTY", name, 0),
|
|
389
|
+
retryDelayMs: parseRequiredInt(env.PLURNK_PROVIDERS_RETRY_DELAY, "PLURNK_PROVIDERS_RETRY_DELAY", name),
|
|
346
390
|
retryAttempts: parseRequiredInt(env.PLURNK_PROVIDERS_RETRY_ATTEMPTS, "PLURNK_PROVIDERS_RETRY_ATTEMPTS", name),
|
|
347
391
|
reasoningStyle,
|
|
348
392
|
costFor,
|
|
@@ -350,7 +394,10 @@ export const standardProviderFromEnv = async (name, env, model, baseUrlOverride)
|
|
|
350
394
|
grammarStyle,
|
|
351
395
|
// Optional debug toggle (off by default): validate a transported grammar
|
|
352
396
|
// locally and throw on invalid, without sending it to the model (§13).
|
|
353
|
-
gbnfDebug: env.
|
|
397
|
+
gbnfDebug: env.PLURNK_PROVIDERS_GBNF_DEBUG !== undefined && env.PLURNK_PROVIDERS_GBNF_DEBUG !== "" && env.PLURNK_PROVIDERS_GBNF_DEBUG !== "0",
|
|
398
|
+
// Opt-in data capture (#36), off by default, per-alias-scopable — universal
|
|
399
|
+
// across every standard provider (any backend that returns logprobs).
|
|
400
|
+
...dataCaptureFromEnv(env, name),
|
|
354
401
|
streaming: spec.streaming,
|
|
355
402
|
firstPartyMetadata: spec.firstPartyMetadata,
|
|
356
403
|
balanceMetaKey: spec.balanceMetaKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standardProviders.js","sourceRoot":"","sources":["../src/standardProviders.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standardProviders.js","sourceRoot":"","sources":["../src/standardProviders.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -11,17 +11,29 @@ export interface ProviderUsage {
|
|
|
11
11
|
readonly total: number;
|
|
12
12
|
}
|
|
13
13
|
export type FinishReason = "stop" | "length" | "tool_calls" | "content_filter" | null;
|
|
14
|
+
export interface TokenAlternative {
|
|
15
|
+
readonly token: string;
|
|
16
|
+
readonly logprob: number;
|
|
17
|
+
}
|
|
18
|
+
export interface TokenLogprob {
|
|
19
|
+
readonly token: string;
|
|
20
|
+
readonly logprob: number;
|
|
21
|
+
readonly top?: readonly TokenAlternative[];
|
|
22
|
+
}
|
|
14
23
|
export interface ProviderAssistant {
|
|
15
24
|
readonly content: string;
|
|
16
25
|
readonly reasoning: string | null;
|
|
17
26
|
readonly usage: ProviderUsage;
|
|
18
27
|
readonly finishReason: FinishReason;
|
|
19
28
|
readonly model: string;
|
|
29
|
+
readonly logprobs?: readonly TokenLogprob[];
|
|
30
|
+
readonly meanLogprob?: number;
|
|
20
31
|
}
|
|
21
32
|
export interface ProviderResponse {
|
|
22
33
|
readonly assistant: ProviderAssistant;
|
|
23
34
|
readonly assistantRaw: unknown;
|
|
24
35
|
readonly meta?: Record<string, unknown>;
|
|
36
|
+
readonly rawBody?: unknown;
|
|
25
37
|
readonly telemetry?: readonly TelemetryEvent[];
|
|
26
38
|
}
|
|
27
39
|
export interface Provider {
|
|
@@ -38,6 +50,7 @@ export interface Provider {
|
|
|
38
50
|
}): Promise<ProviderResponse>;
|
|
39
51
|
readonly contextSize: number | null;
|
|
40
52
|
readonly model: string;
|
|
53
|
+
readonly constrainsOutput?: boolean;
|
|
41
54
|
countTokens(text: string): number;
|
|
42
55
|
tokenize?(text: string): Promise<number[]>;
|
|
43
56
|
costFor(usage: ProviderUsage): number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACnB;AAOD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAID,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACnB;AAOD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAID,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;AAUtF,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC5B;AACD,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAIvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAE5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAO/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAO3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,QAAQ;IA0CrB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAMlP,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAKvB,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAIpC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAMlC,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAG3C,OAAO,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC;CACzC;AAUD,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC7B;AAQD,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC3G"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plurnk/plurnk-providers",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.34.0",
|
|
4
4
|
"description": "Framework + contract for plurnk LLM transports: built-in standard OpenAI-compatible providers plus scope-agnostic discovery of first-party and third-party provider packages.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"plurnk",
|