@providerkit/core 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -7
- package/dist/attribution.d.ts +2 -2
- package/dist/capability.d.ts +9 -9
- package/dist/capability.js +9 -9
- package/dist/capability.js.map +1 -1
- package/dist/context.d.ts +4 -4
- package/dist/context.js +4 -4
- package/dist/errors.d.ts +15 -15
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +14 -14
- package/dist/image.d.ts +1 -1
- package/dist/image.d.ts.map +1 -1
- package/dist/jev.d.ts +9 -9
- package/dist/jev.d.ts.map +1 -1
- package/dist/jev.js +1 -1
- package/dist/key-pool.d.ts +4 -4
- package/dist/key-pool.js +6 -6
- package/dist/key-pool.js.map +1 -1
- package/dist/presets.d.ts +26 -22
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +13 -12
- package/dist/presets.js.map +1 -1
- package/dist/providers/anthropic.d.ts +5 -5
- package/dist/providers/anthropic.d.ts.map +1 -1
- package/dist/providers/anthropic.js +9 -9
- package/dist/providers/factory.d.ts +2 -2
- package/dist/providers/factory.d.ts.map +1 -1
- package/dist/providers/factory.js +2 -1
- package/dist/providers/factory.js.map +1 -1
- package/dist/providers/gemini.d.ts +2 -2
- package/dist/providers/gemini.d.ts.map +1 -1
- package/dist/providers/gemini.js +15 -14
- package/dist/providers/gemini.js.map +1 -1
- package/dist/providers/openai.d.ts +12 -9
- package/dist/providers/openai.d.ts.map +1 -1
- package/dist/providers/openai.js +14 -13
- package/dist/providers/openai.js.map +1 -1
- package/dist/providers/responses.d.ts +3 -3
- package/dist/providers/responses.js +5 -5
- package/dist/providers/responses.js.map +1 -1
- package/dist/providers/zai.d.ts +2 -2
- package/dist/providers/zai.js +2 -2
- package/dist/rate-limit.d.ts +3 -3
- package/dist/rate-limit.js +3 -3
- package/dist/retry.d.ts +5 -5
- package/dist/retry.js +4 -4
- package/dist/schema.d.ts +6 -6
- package/dist/schema.js +8 -8
- package/dist/tool-args.d.ts +1 -1
- package/dist/tool-args.js +2 -2
- package/dist/tools.d.ts +3 -3
- package/dist/tools.js +2 -2
- package/dist/tools.js.map +1 -1
- package/dist/transport.d.ts +7 -7
- package/dist/transport.js +6 -6
- package/dist/types.d.ts +24 -23
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -3
- package/dist/types.js.map +1 -1
- package/dist/usage.d.ts +4 -4
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +3 -3
- package/dist/usage.js.map +1 -1
- package/dist/watchdog.d.ts +12 -12
- package/dist/watchdog.js +10 -10
- package/dist/zod.d.ts +4 -4
- package/dist/zod.js +3 -3
- package/package.json +1 -1
- package/src/attribution.ts +2 -2
- package/src/capability.ts +12 -12
- package/src/context.ts +4 -4
- package/src/errors.ts +18 -18
- package/src/image.ts +1 -1
- package/src/jev.ts +11 -11
- package/src/key-pool.ts +7 -7
- package/src/presets.ts +26 -22
- package/src/providers/anthropic.ts +14 -14
- package/src/providers/factory.ts +4 -3
- package/src/providers/gemini.ts +19 -16
- package/src/providers/openai.ts +22 -17
- package/src/providers/responses.ts +11 -11
- package/src/providers/zai.ts +2 -2
- package/src/rate-limit.ts +4 -4
- package/src/retry.ts +5 -5
- package/src/schema.ts +8 -8
- package/src/tool-args.ts +2 -2
- package/src/tools.ts +4 -4
- package/src/transport.ts +7 -7
- package/src/types.ts +24 -23
- package/src/usage.ts +5 -5
- package/src/watchdog.ts +13 -13
- package/src/zod.ts +4 -4
package/dist/jev.js
CHANGED
|
@@ -87,7 +87,7 @@ const HOSTS = {
|
|
|
87
87
|
* `providerMetadata.typesafe.confidence`, and usage is camelCase.
|
|
88
88
|
*
|
|
89
89
|
* ponytail: read from @jkudish/jev-agent-tools' adapter, not from a recorded
|
|
90
|
-
* reply
|
|
90
|
+
* reply. No Vercel key has run it here. If a real reply disagrees, this
|
|
91
91
|
* function is the whole fix.
|
|
92
92
|
*/
|
|
93
93
|
function fromVercel(json) {
|
package/dist/key-pool.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export interface KeyPoolOptions {
|
|
|
5
5
|
/** Free-tier keys, walked round-robin before the paid one. */
|
|
6
6
|
keys: readonly string[];
|
|
7
7
|
paidKey?: string | null;
|
|
8
|
-
/** Fires whenever a key is benched
|
|
8
|
+
/** Fires whenever a key is benched. The pool's only report, in place of a
|
|
9
9
|
* logger a zero-dependency package has no business owning. */
|
|
10
10
|
onEvict?: (info: {
|
|
11
11
|
tier: KeyTier;
|
|
@@ -33,7 +33,7 @@ export declare class KeyPool {
|
|
|
33
33
|
/**
|
|
34
34
|
* Run `fn` with the next available key, rotating on key-specific and
|
|
35
35
|
* transient failures. Everything else (a bad request, a content block) throws
|
|
36
|
-
* straight through
|
|
36
|
+
* straight through: it would fail identically on every key, and spending the
|
|
37
37
|
* pool on it only turns one bad request into an outage.
|
|
38
38
|
*/
|
|
39
39
|
with<T>(fn: (apiKey: string, tier: KeyTier) => Promise<T>): Promise<T>;
|
|
@@ -45,8 +45,8 @@ export declare class KeyPool {
|
|
|
45
45
|
* Give any provider a rotating pool of keys.
|
|
46
46
|
*
|
|
47
47
|
* The subtlety is the seam's shape. `createStream` is an async generator, so
|
|
48
|
-
*
|
|
49
|
-
*
|
|
48
|
+
* calling it performs no I/O. The POST and the 429 that should rotate the key
|
|
49
|
+
* happen on the first `next()`, long after a `pool.with` wrapped around the
|
|
50
50
|
* call itself would have returned, with nothing left to rotate. So the first
|
|
51
51
|
* chunk is pulled INSIDE the pool and only the rest of the stream is consumed
|
|
52
52
|
* outside it.
|
package/dist/key-pool.js
CHANGED
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
import { isTransient, ProviderError } from "./errors.js";
|
|
17
17
|
/** A per-minute throttle: the window it names is the next one. */
|
|
18
18
|
const RATE_COOLDOWN_MS = 60_000;
|
|
19
|
-
/** A balance or a daily window
|
|
19
|
+
/** A balance or a daily window. Minutes will not bring it back. */
|
|
20
20
|
const QUOTA_COOLDOWN_MS = 60 * 60_000;
|
|
21
21
|
const AUTH_COOLDOWN_MS = 12 * 60 * 60_000;
|
|
22
|
-
/** The vendor's bad time, not the key's
|
|
22
|
+
/** The vendor's bad time, not the key's. Benched only long enough for the
|
|
23
23
|
* next call to land somewhere else. */
|
|
24
24
|
const TRANSIENT_COOLDOWN_MS = 60_000;
|
|
25
25
|
const MIN_EVICTION_MS = 1_000;
|
|
@@ -60,7 +60,7 @@ export class KeyPool {
|
|
|
60
60
|
/**
|
|
61
61
|
* Run `fn` with the next available key, rotating on key-specific and
|
|
62
62
|
* transient failures. Everything else (a bad request, a content block) throws
|
|
63
|
-
* straight through
|
|
63
|
+
* straight through: it would fail identically on every key, and spending the
|
|
64
64
|
* pool on it only turns one bad request into an outage.
|
|
65
65
|
*/
|
|
66
66
|
async with(fn) {
|
|
@@ -111,7 +111,7 @@ export class KeyPool {
|
|
|
111
111
|
}
|
|
112
112
|
/**
|
|
113
113
|
* How long to bench a key for this failure, or null when the failure is not the
|
|
114
|
-
* key's fault
|
|
114
|
+
* key's fault. Nothing is gained by rotating, and benching would spend the
|
|
115
115
|
* pool on a request that fails the same way everywhere.
|
|
116
116
|
*/
|
|
117
117
|
function cooldownFor(err) {
|
|
@@ -144,8 +144,8 @@ function cooldownFor(err) {
|
|
|
144
144
|
* Give any provider a rotating pool of keys.
|
|
145
145
|
*
|
|
146
146
|
* The subtlety is the seam's shape. `createStream` is an async generator, so
|
|
147
|
-
*
|
|
148
|
-
*
|
|
147
|
+
* calling it performs no I/O. The POST and the 429 that should rotate the key
|
|
148
|
+
* happen on the first `next()`, long after a `pool.with` wrapped around the
|
|
149
149
|
* call itself would have returned, with nothing left to rotate. So the first
|
|
150
150
|
* chunk is pulled INSIDE the pool and only the rest of the stream is consumed
|
|
151
151
|
* outside it.
|
package/dist/key-pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-pool.js","sourceRoot":"","sources":["../src/key-pool.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,gFAAgF;AAChF,qCAAqC;AACrC,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,yEAAyE;AACzE,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUzD,kEAAkE;AAClE,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,
|
|
1
|
+
{"version":3,"file":"key-pool.js","sourceRoot":"","sources":["../src/key-pool.ts"],"names":[],"mappings":"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"}
|
package/dist/presets.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provider presets
|
|
2
|
+
* Provider presets: hand-curated, wire-level facts only.
|
|
3
3
|
*
|
|
4
4
|
* A preset is everything `createPresetProvider` needs to speak to one
|
|
5
5
|
* endpoint: which adapter shape it speaks, its API root, how the credential
|
|
6
|
-
* rides, and what it is called. Deliberately absent: prices (invariant 9
|
|
6
|
+
* rides, and what it is called. Deliberately absent: prices (invariant 9;
|
|
7
7
|
* they drift on a vendor's schedule and a wrong number in a library is a
|
|
8
8
|
* wrong number in everyone's ledger), icons, colors, marketing names, and
|
|
9
9
|
* sign-in flows (an `oauth` preset expects the CALLER to hand over an access
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
*
|
|
12
12
|
* Sources: the coding-plan endpoints and auth quirks are measured
|
|
13
13
|
* (tabrunner's extension + this repo's adopters, 2026-09); the model lists
|
|
14
|
-
* are representative, not exhaustive
|
|
14
|
+
* are representative, not exhaustive. Every adapter takes a per-call model,
|
|
15
15
|
* so a missing id costs nothing.
|
|
16
16
|
*
|
|
17
17
|
* Azure is deliberately ABSENT: its base URL is per-deployment
|
|
18
|
-
* (`https://<resource>.openai.azure.com`), so no static preset can carry it
|
|
19
|
-
*
|
|
18
|
+
* (`https://<resource>.openai.azure.com`), so no static preset can carry it.
|
|
19
|
+
* Point createOpenAIProvider's baseUrl at your resource instead.
|
|
20
20
|
*/
|
|
21
21
|
import type { ImageLimits } from "./image.ts";
|
|
22
22
|
export type PresetShape = "anthropic" | "openai" | "responses" | "gemini";
|
|
@@ -25,7 +25,7 @@ export type PresetShape = "anthropic" | "openai" | "responses" | "gemini";
|
|
|
25
25
|
* - `key`: the vendor's native key header (Anthropic reads `x-api-key`,
|
|
26
26
|
* Gemini `x-goog-api-key`); the OpenAI shapes have only Bearer, so they
|
|
27
27
|
* never use this.
|
|
28
|
-
* - `bearer`: `Authorization: Bearer
|
|
28
|
+
* - `bearer`: `Authorization: Bearer`, the OpenAI shapes' only mode, and the
|
|
29
29
|
* coding-plan gateways' mode on the Anthropic wire (measured: Z.ai's coding
|
|
30
30
|
* endpoint ignores `x-api-key` and reads Bearer).
|
|
31
31
|
* - `oauth`: same wire as `bearer`, but the token is a short-lived access
|
|
@@ -50,7 +50,7 @@ export interface PresetRoute {
|
|
|
50
50
|
export interface ProviderPreset {
|
|
51
51
|
/** Adapter wire format. */
|
|
52
52
|
shape: PresetShape;
|
|
53
|
-
/** API root
|
|
53
|
+
/** API root. If it ends with /v1, /v4 or another version segment, the
|
|
54
54
|
* adapter automatically routes to /chat/completions instead of /v1/chat/completions. */
|
|
55
55
|
baseUrl: string;
|
|
56
56
|
/** Explicit path override when a gateway has custom routing. */
|
|
@@ -67,8 +67,8 @@ export interface ProviderPreset {
|
|
|
67
67
|
textOnly?: boolean;
|
|
68
68
|
/** Anthropic-shape dialect: say "no thinking" with an explicit
|
|
69
69
|
* `thinking: { type: "disabled" }` marker when effort is none. For
|
|
70
|
-
* endpoints where an
|
|
71
|
-
* for reasoning-mandatory models (measured on Z.ai's coding endpoint:
|
|
70
|
+
* endpoints where an absent field means the model's default, with thinking
|
|
71
|
+
* on for reasoning-mandatory models (measured on Z.ai's coding endpoint:
|
|
72
72
|
* omit → thinking block; disabled → none). Leave it unset for native
|
|
73
73
|
* Anthropic: the adapter spells none per Claude model, and ignores this
|
|
74
74
|
* flag for every Claude from 4.6 on. */
|
|
@@ -78,7 +78,7 @@ export interface ProviderPreset {
|
|
|
78
78
|
* neither text nor a tool call. */
|
|
79
79
|
maxTokens?: number;
|
|
80
80
|
/** Header that carries `StreamOptions.sessionId`, for gateways that route
|
|
81
|
-
* and cache per conversation
|
|
81
|
+
* and cache per conversation and refuse a call without it (OpenCode Go:
|
|
82
82
|
* `MissingSessionID`, measured 2026-09-27). */
|
|
83
83
|
sessionHeader?: string;
|
|
84
84
|
/** Wires for model ids that don't use the preset's own `shape`. The first
|
|
@@ -99,6 +99,9 @@ export interface ProviderPreset {
|
|
|
99
99
|
/** OpenAI shape: send `X-Initiator` (`user` or `agent`) on every call. GitHub
|
|
100
100
|
* Copilot bills a premium request per `user` turn. */
|
|
101
101
|
initiatorHeader?: boolean;
|
|
102
|
+
/** OpenAI shape: never send `temperature` or `top_p`, for an endpoint that
|
|
103
|
+
* fixes its own sampling and answers the fields with an error. */
|
|
104
|
+
noSampling?: boolean;
|
|
102
105
|
}
|
|
103
106
|
export declare const PROVIDER_PRESETS: {
|
|
104
107
|
readonly anthropic: {
|
|
@@ -122,12 +125,13 @@ export declare const PROVIDER_PRESETS: {
|
|
|
122
125
|
readonly defaultModel: "gemini-3.1-pro-preview";
|
|
123
126
|
readonly models: ["gemini-3.1-pro-preview", "gemini-3.8-flash", "gemini-flash-latest"];
|
|
124
127
|
};
|
|
125
|
-
/** Gemini behind its OpenAI-compatible route
|
|
128
|
+
/** Gemini behind its OpenAI-compatible route, for codebases
|
|
126
129
|
* that only speak the openai shape. */
|
|
127
130
|
readonly "google-openai": {
|
|
128
131
|
readonly shape: "openai";
|
|
129
132
|
readonly baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai";
|
|
130
133
|
readonly auth: "key";
|
|
134
|
+
readonly noSampling: true;
|
|
131
135
|
readonly defaultModel: "gemini-3.1-pro-preview";
|
|
132
136
|
readonly models: ["gemini-3.1-pro-preview", "gemini-3.8-flash", "gemini-flash-latest"];
|
|
133
137
|
};
|
|
@@ -328,7 +332,7 @@ export declare const PROVIDER_PRESETS: {
|
|
|
328
332
|
readonly models: ["glm-5.3-flash", "glm-5.3", "glm-5.2"];
|
|
329
333
|
};
|
|
330
334
|
/**
|
|
331
|
-
* OpenCode Go
|
|
335
|
+
* OpenCode Go: one $10/month key across many open models, each with its own
|
|
332
336
|
* monthly dollar limit (5h = 20%, week = 50%). Chain several models as
|
|
333
337
|
* `fallbacks` so a spent one hands over to the next.
|
|
334
338
|
*
|
|
@@ -387,7 +391,7 @@ export declare const PROVIDER_PRESETS: {
|
|
|
387
391
|
readonly defaultModel: "kimi-k2.7-code";
|
|
388
392
|
readonly models: ["kimi-k2.7-code", "kimi-k2.7-code-highspeed", "kimi-k3"];
|
|
389
393
|
};
|
|
390
|
-
/** Alibaba's
|
|
394
|
+
/** Alibaba's DashScope coding plan, OpenAI-compatible per its registry. */
|
|
391
395
|
readonly "alibaba-coding-plan": {
|
|
392
396
|
readonly shape: "openai";
|
|
393
397
|
readonly baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1";
|
|
@@ -395,7 +399,7 @@ export declare const PROVIDER_PRESETS: {
|
|
|
395
399
|
readonly defaultModel: "qwen3.5-plus";
|
|
396
400
|
readonly models: ["qwen3.5-plus", "qwen3-coder-next", "glm-5"];
|
|
397
401
|
};
|
|
398
|
-
/** QwenCloud's token plan
|
|
402
|
+
/** QwenCloud's token plan on the Anthropic wire (measured by tabrunner). */
|
|
399
403
|
readonly qwen: {
|
|
400
404
|
readonly shape: "anthropic";
|
|
401
405
|
readonly baseUrl: "https://token-plan.ap-southeast-1.maas.aliyuncs.com/apps/anthropic";
|
|
@@ -403,7 +407,7 @@ export declare const PROVIDER_PRESETS: {
|
|
|
403
407
|
readonly defaultModel: "qwen3.8-max";
|
|
404
408
|
readonly models: ["qwen3.8-max", "qwen3.8-flash", "qwen3.6-flash"];
|
|
405
409
|
};
|
|
406
|
-
/** QwenCloud's token plan
|
|
410
|
+
/** QwenCloud's token plan on an OpenAI-compatible endpoint. */
|
|
407
411
|
readonly "qwen-token-plan-openai": {
|
|
408
412
|
readonly shape: "openai";
|
|
409
413
|
readonly baseUrl: "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1";
|
|
@@ -411,7 +415,7 @@ export declare const PROVIDER_PRESETS: {
|
|
|
411
415
|
readonly defaultModel: "qwen3.8-max";
|
|
412
416
|
readonly models: ["qwen3.8-max", "qwen3.8-flash", "qwen3.6-flash"];
|
|
413
417
|
};
|
|
414
|
-
/** Alibaba DashScope Platform API
|
|
418
|
+
/** Alibaba DashScope Platform API, with a standard pay-as-you-go API key. */
|
|
415
419
|
readonly alibaba: {
|
|
416
420
|
readonly shape: "openai";
|
|
417
421
|
readonly baseUrl: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1";
|
|
@@ -453,8 +457,8 @@ export declare const PROVIDER_PRESETS: {
|
|
|
453
457
|
};
|
|
454
458
|
};
|
|
455
459
|
/**
|
|
456
|
-
* The Codex backend behind a ChatGPT sign-in
|
|
457
|
-
* model list, so these ids are the list.
|
|
460
|
+
* The Codex backend behind a ChatGPT sign-in, on the Responses wire. It has no
|
|
461
|
+
* public model list, so these ids are the list.
|
|
458
462
|
*
|
|
459
463
|
* The endpoint is `/backend-api/codex/responses`, with no version segment.
|
|
460
464
|
* Without the `path` the adapter appends `/v1/responses`, the POST 404s, and
|
|
@@ -483,8 +487,8 @@ export declare const PROVIDER_PRESETS: {
|
|
|
483
487
|
readonly replayReasoning: true;
|
|
484
488
|
};
|
|
485
489
|
/**
|
|
486
|
-
* A Grok subscription (SuperGrok, X Premium)
|
|
487
|
-
* talks to, Responses wire. Distinct from `xai`, which is the keyed API and
|
|
490
|
+
* A Grok subscription (SuperGrok, X Premium), on the backend the Grok CLI
|
|
491
|
+
* talks to, using the Responses wire. Distinct from `xai`, which is the keyed API and
|
|
488
492
|
* bills per token.
|
|
489
493
|
*
|
|
490
494
|
* The two `x-…` headers are what switch the backend into CLI-token mode;
|
|
@@ -513,7 +517,7 @@ export declare const PROVIDER_PRESETS: {
|
|
|
513
517
|
};
|
|
514
518
|
};
|
|
515
519
|
/** Kimi's coding endpoint reached with a subscription token instead of a
|
|
516
|
-
* key
|
|
520
|
+
* key. Kimi bills the two separately. */
|
|
517
521
|
readonly "kimi-plan": {
|
|
518
522
|
readonly shape: "anthropic";
|
|
519
523
|
readonly baseUrl: "https://api.kimi.ai/coding";
|
|
@@ -550,6 +554,6 @@ export declare const PROVIDER_PRESETS: {
|
|
|
550
554
|
};
|
|
551
555
|
};
|
|
552
556
|
export type ProviderPresetId = keyof typeof PROVIDER_PRESETS;
|
|
553
|
-
/** Every valid preset id
|
|
557
|
+
/** Every valid preset id. The factory's unknown-id error lists these. */
|
|
554
558
|
export declare const PRESET_IDS: ProviderPresetId[];
|
|
555
559
|
//# sourceMappingURL=presets.d.ts.map
|
package/dist/presets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB;6FACyF;IACzF,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;2EACuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;6CAMyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;wCAEoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;oDAEgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;kFAG8E;IAC9E,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC;0EACsE;IACtE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;+DAC2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;wDAEoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;2DACuD;IACvD,eAAe,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1E;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEpD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB;6FACyF;IACzF,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,UAAU,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;2EACuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;6CAMyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;wCAEoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;oDAEgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;kFAG8E;IAC9E,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAChC;0EACsE;IACtE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;+DAC2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;wDAEoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;2DACuD;IACvD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;uEACmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;IAyB3B;4CACwC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkOxC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiDH,2EAA2E;;;;;;;;IAQ3E,4EAA4E;;;;;;;;IAQ5E,+DAA+D;;;;;;;;IAQ/D,6EAA6E;;;;;;;;IAQ7E,kDAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqClD;;;;;;;;;;;;;;;;;;;OAmBG;;;;;;;;;;;IAoBH;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;;;IAkBH;8CAC0C;;;;;;;IAO1C;;;;;;;;;;OAUG;;;;;;;;;;;;;;;;;;CAkB8C,CAAC;AAEpD,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE7D,yEAAyE;AACzE,eAAO,MAAM,UAAU,EAAoC,gBAAgB,EAAE,CAAC"}
|
package/dist/presets.js
CHANGED
|
@@ -23,12 +23,13 @@ export const PROVIDER_PRESETS = {
|
|
|
23
23
|
defaultModel: "gemini-3.1-pro-preview",
|
|
24
24
|
models: ["gemini-3.1-pro-preview", "gemini-3.8-flash", "gemini-flash-latest"],
|
|
25
25
|
},
|
|
26
|
-
/** Gemini behind its OpenAI-compatible route
|
|
26
|
+
/** Gemini behind its OpenAI-compatible route, for codebases
|
|
27
27
|
* that only speak the openai shape. */
|
|
28
28
|
"google-openai": {
|
|
29
29
|
shape: "openai",
|
|
30
30
|
baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai",
|
|
31
31
|
auth: "key",
|
|
32
|
+
noSampling: true,
|
|
32
33
|
defaultModel: "gemini-3.1-pro-preview",
|
|
33
34
|
models: ["gemini-3.1-pro-preview", "gemini-3.8-flash", "gemini-flash-latest"],
|
|
34
35
|
},
|
|
@@ -248,7 +249,7 @@ export const PROVIDER_PRESETS = {
|
|
|
248
249
|
models: ["glm-5.3-flash", "glm-5.3", "glm-5.2"],
|
|
249
250
|
},
|
|
250
251
|
/**
|
|
251
|
-
* OpenCode Go
|
|
252
|
+
* OpenCode Go: one $10/month key across many open models, each with its own
|
|
252
253
|
* monthly dollar limit (5h = 20%, week = 50%). Chain several models as
|
|
253
254
|
* `fallbacks` so a spent one hands over to the next.
|
|
254
255
|
*
|
|
@@ -322,7 +323,7 @@ export const PROVIDER_PRESETS = {
|
|
|
322
323
|
defaultModel: "kimi-k2.7-code",
|
|
323
324
|
models: ["kimi-k2.7-code", "kimi-k2.7-code-highspeed", "kimi-k3"],
|
|
324
325
|
},
|
|
325
|
-
/** Alibaba's
|
|
326
|
+
/** Alibaba's DashScope coding plan, OpenAI-compatible per its registry. */
|
|
326
327
|
"alibaba-coding-plan": {
|
|
327
328
|
shape: "openai",
|
|
328
329
|
baseUrl: "https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
@@ -330,7 +331,7 @@ export const PROVIDER_PRESETS = {
|
|
|
330
331
|
defaultModel: "qwen3.5-plus",
|
|
331
332
|
models: ["qwen3.5-plus", "qwen3-coder-next", "glm-5"],
|
|
332
333
|
},
|
|
333
|
-
/** QwenCloud's token plan
|
|
334
|
+
/** QwenCloud's token plan on the Anthropic wire (measured by tabrunner). */
|
|
334
335
|
qwen: {
|
|
335
336
|
shape: "anthropic",
|
|
336
337
|
baseUrl: "https://token-plan.ap-southeast-1.maas.aliyuncs.com/apps/anthropic",
|
|
@@ -338,7 +339,7 @@ export const PROVIDER_PRESETS = {
|
|
|
338
339
|
defaultModel: "qwen3.8-max",
|
|
339
340
|
models: ["qwen3.8-max", "qwen3.8-flash", "qwen3.6-flash"],
|
|
340
341
|
},
|
|
341
|
-
/** QwenCloud's token plan
|
|
342
|
+
/** QwenCloud's token plan on an OpenAI-compatible endpoint. */
|
|
342
343
|
"qwen-token-plan-openai": {
|
|
343
344
|
shape: "openai",
|
|
344
345
|
baseUrl: "https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
|
|
@@ -346,7 +347,7 @@ export const PROVIDER_PRESETS = {
|
|
|
346
347
|
defaultModel: "qwen3.8-max",
|
|
347
348
|
models: ["qwen3.8-max", "qwen3.8-flash", "qwen3.6-flash"],
|
|
348
349
|
},
|
|
349
|
-
/** Alibaba DashScope Platform API
|
|
350
|
+
/** Alibaba DashScope Platform API, with a standard pay-as-you-go API key. */
|
|
350
351
|
alibaba: {
|
|
351
352
|
shape: "openai",
|
|
352
353
|
baseUrl: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
|
|
@@ -390,8 +391,8 @@ export const PROVIDER_PRESETS = {
|
|
|
390
391
|
headers: { "anthropic-beta": "claude-code-20250219,oauth-2025-04-20" },
|
|
391
392
|
},
|
|
392
393
|
/**
|
|
393
|
-
* The Codex backend behind a ChatGPT sign-in
|
|
394
|
-
* model list, so these ids are the list.
|
|
394
|
+
* The Codex backend behind a ChatGPT sign-in, on the Responses wire. It has no
|
|
395
|
+
* public model list, so these ids are the list.
|
|
395
396
|
*
|
|
396
397
|
* The endpoint is `/backend-api/codex/responses`, with no version segment.
|
|
397
398
|
* Without the `path` the adapter appends `/v1/responses`, the POST 404s, and
|
|
@@ -429,8 +430,8 @@ export const PROVIDER_PRESETS = {
|
|
|
429
430
|
replayReasoning: true,
|
|
430
431
|
},
|
|
431
432
|
/**
|
|
432
|
-
* A Grok subscription (SuperGrok, X Premium)
|
|
433
|
-
* talks to, Responses wire. Distinct from `xai`, which is the keyed API and
|
|
433
|
+
* A Grok subscription (SuperGrok, X Premium), on the backend the Grok CLI
|
|
434
|
+
* talks to, using the Responses wire. Distinct from `xai`, which is the keyed API and
|
|
434
435
|
* bills per token.
|
|
435
436
|
*
|
|
436
437
|
* The two `x-…` headers are what switch the backend into CLI-token mode;
|
|
@@ -457,7 +458,7 @@ export const PROVIDER_PRESETS = {
|
|
|
457
458
|
imageLimits: { minSide: 8, minArea: 512, maxDecodedBytes: 5 * 1024 * 1024, maxImages: 4 },
|
|
458
459
|
},
|
|
459
460
|
/** Kimi's coding endpoint reached with a subscription token instead of a
|
|
460
|
-
* key
|
|
461
|
+
* key. Kimi bills the two separately. */
|
|
461
462
|
"kimi-plan": {
|
|
462
463
|
shape: "anthropic",
|
|
463
464
|
baseUrl: "https://api.kimi.ai/coding",
|
|
@@ -493,6 +494,6 @@ export const PROVIDER_PRESETS = {
|
|
|
493
494
|
initiatorHeader: true,
|
|
494
495
|
},
|
|
495
496
|
};
|
|
496
|
-
/** Every valid preset id
|
|
497
|
+
/** Every valid preset id. The factory's unknown-id error lists these. */
|
|
497
498
|
export const PRESET_IDS = Object.keys(PROVIDER_PRESETS);
|
|
498
499
|
//# sourceMappingURL=presets.js.map
|
package/dist/presets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AA8GA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,2EAA2E;IAC3E,SAAS,EAAE;QACT,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE,CAAC,iBAAiB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;KACrF;IACD,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC;KACvD;IACD,MAAM,EAAE;QACN,mEAAmE;QACnE,8DAA8D;QAC9D,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,2CAA2C;QACpD,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,wBAAwB;QACtC,MAAM,EAAE,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;KAC9E;IACD;4CACwC;IACxC,eAAe,EAAE;QACf,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,yDAAyD;QAClE,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,wBAAwB;QACtC,MAAM,EAAE,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC;KAC9E;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B;QACnC,IAAI,EAAE,KAAK;QACX,uEAAuE;QACvE,wEAAwE;QACxE,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;QAC7C,sEAAsE;QACtE,QAAQ,EAAE,IAAI;KACf;IACD,UAAU,EAAE;QACV,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,8BAA8B;QAC5C,MAAM,EAAE;YACN,8BAA8B;YAC9B,oBAAoB;YACpB,eAAe;YACf,yBAAyB;SAC1B;KACF;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,yBAAyB;QACvC,MAAM,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,CAAC;KACxD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,CAAC,eAAe,EAAE,sBAAsB,EAAE,iBAAiB,CAAC;KACrE;IACD,GAAG,EAAE;QACH,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,UAAU;QACxB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC;KAC7C;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,6BAA6B;QACtC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;KAC9D;IACD,SAAS,EAAE;QACT,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,uCAAuC;QAChD,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,+CAA+C;QAC7D,MAAM,EAAE;YACN,+CAA+C;YAC/C,yCAAyC;SAC1C;KACF;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,cAAc;QAC5B,MAAM,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC;KACzC;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,SAAS,CAAC;KAClE;IACD,KAAK,EAAE;QACL,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC;KAChD;IACD,OAAO,EAAE;QACP,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,kCAAkC;QAC3C,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,YAAY;QAC1B,MAAM,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC;KACvD;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,YAAY;QAC1B,MAAM,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,cAAc,CAAC;KACvD;IAED,2EAA2E;IAC3E,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,+BAA+B;QAC7C,MAAM,EAAE,CAAC,+BAA+B,EAAE,6BAA6B,CAAC;KACzE;IACD,UAAU,EAAE;QACV,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,OAAO;QACrB,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,CAAC;KAC7E;IACD,SAAS,EAAE;QACT,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;KAC3D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,wCAAwC;QACjD,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,wBAAwB;QACtC,MAAM,EAAE,CAAC,wBAAwB,EAAE,oCAAoC,CAAC;KACzE;IACD,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,0BAA0B;QACxC,MAAM,EAAE,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;KACzE;IACD,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B;QACnC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,CAAC,sBAAsB,EAAE,4BAA4B,CAAC;KAC/D;IACD,WAAW,EAAE;QACX,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,oCAAoC;QAClD,MAAM,EAAE,CAAC,oCAAoC,EAAE,wBAAwB,CAAC;KACzE;IACD,UAAU,EAAE;QACV,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0CAA0C;QACnD,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,wBAAwB;QACtC,MAAM,EAAE,CAAC,wBAAwB,EAAE,6BAA6B,CAAC;KAClE;IACD,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;KAC7C;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,6BAA6B;QAC3C,MAAM,EAAE,CAAC,6BAA6B,EAAE,mBAAmB,CAAC;KAC7D;IACD,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0CAA0C;QACnD,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,oCAAoC;QAClD,MAAM,EAAE,CAAC,oCAAoC,EAAE,0CAA0C,CAAC;KAC3F;IACD,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,iCAAiC;QAC/C,MAAM,EAAE,CAAC,iCAAiC,EAAE,wBAAwB,CAAC;KACtE;IACD,WAAW,EAAE;QACX,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,kCAAkC;QAC3C,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,sBAAsB;QACpC,MAAM,EAAE,CAAC,sBAAsB,EAAE,iCAAiC,CAAC;KACpE;IAED,0EAA0E;IAC1E,GAAG,EAAE;QACH,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,CAAC,eAAe,EAAE,mBAAmB,EAAE,SAAS,EAAE,SAAS,CAAC;QACpE,0DAA0D;QAC1D,2DAA2D;QAC3D,YAAY,EAAE,IAAI;QAClB,oEAAoE;QACpE,0EAA0E;QAC1E,yEAAyE;QACzE,uDAAuD;QACvD,SAAS,EAAE,MAAM;KAClB;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,eAAe;QAC7B,MAAM,EAAE,CAAC,eAAe,EAAE,SAAS,EAAE,SAAS,CAAC;KAChD;IACD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,aAAa,EAAE;QACb,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE;YACN,iBAAiB;YACjB,WAAW;YACX,eAAe;YACf,eAAe;YACf,aAAa;YACb,4BAA4B;SAC7B;QACD,aAAa,EAAE,oBAAoB;QACnC,MAAM,EAAE;YACN;gBACE,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;gBAC9B,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,4BAA4B;gBACrC,IAAI,EAAE,KAAK;aACZ;YACD;gBACE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;gBAC1C,KAAK,EAAE,WAAW;gBAClB,OAAO,EAAE,4BAA4B;aACtC;SACF;QACD,4EAA4E;QAC5E,uEAAuE;QACvE,qEAAqE;QACrE,sEAAsE;QACtE,+CAA+C;QAC/C,QAAQ,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,CAAC;KAC5F;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,IAAI,EAAE,SAAS,CAAC;KAC1E;IACD,aAAa,EAAE;QACb,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,KAAK;QACX,YAAY,EAAE,gBAAgB;QAC9B,MAAM,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,SAAS,CAAC;KAClE;IACD,2EAA2E;IAC3E,qBAAqB,EAAE;QACrB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,+CAA+C;QACxD,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,cAAc;QAC5B,MAAM,EAAE,CAAC,cAAc,EAAE,kBAAkB,EAAE,OAAO,CAAC;KACtD;IACD,4EAA4E;IAC5E,IAAI,EAAE;QACJ,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,oEAAoE;QAC7E,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC;KAC1D;IACD,+DAA+D;IAC/D,wBAAwB,EAAE;QACxB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,wEAAwE;QACjF,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,eAAe,CAAC;KAC1D;IACD,6EAA6E;IAC7E,OAAO,EAAE;QACP,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,wDAAwD;QACjE,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,UAAU;QACxB,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;KAC9D;IACD,kDAAkD;IAClD,UAAU,EAAE;QACV,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,wDAAwD;QACjE,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,UAAU;QACxB,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;KAC9D;IAED,2EAA2E;IAC3E,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,QAAQ;KACf;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B;QACnC,IAAI,EAAE,QAAQ;KACf;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0BAA0B;QACnC,IAAI,EAAE,QAAQ;KACf;IAED,2EAA2E;IAC3E,MAAM,EAAE;QACN,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,2BAA2B;QACpC,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,iBAAiB;QAC/B,MAAM,EAAE,CAAC,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,CAAC;QAC9D,yEAAyE;QACzE,uCAAuC;QACvC,OAAO,EAAE,EAAE,gBAAgB,EAAE,uCAAuC,EAAE;KACvE;IACD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,EAAE;QACP,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,uCAAuC;QAChD,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,YAAY;QAC3B,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,WAAW;QACzB,MAAM,EAAE;YACN,WAAW;YACX,aAAa;YACb,aAAa;YACb,YAAY;YACZ,aAAa;YACb,eAAe;YACf,cAAc;YACd,SAAS;SACV;QACD,eAAe,EAAE,IAAI;KACtB;IACD;;;;;;;;;;OAUG;IACH,IAAI,EAAE;QACJ,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,oCAAoC;QAC7C,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,UAAU;QACxB,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,wBAAwB,CAAC;QACtE,OAAO,EAAE;YACP,kBAAkB,EAAE,cAAc;YAClC,0BAA0B,EAAE,YAAY;YACxC,uBAAuB,EAAE,QAAQ;SAClC;QACD,4EAA4E;QAC5E,4EAA4E;QAC5E,4DAA4D;QAC5D,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;KAC1F;IACD;8CAC0C;IAC1C,WAAW,EAAE;QACX,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,4BAA4B;QACrC,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,iBAAiB;KAChC;IACD;;;;;;;;;;OAUG;IACH,gBAAgB,EAAE;QAChB,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,0CAA0C;QACnD,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,CAAC;QAC1E,OAAO,EAAE;YACP,wBAAwB,EAAE,aAAa;YACvC,gBAAgB,EAAE,aAAa;YAC/B,uBAAuB,EAAE,aAAa;YACtC,sBAAsB,EAAE,YAAY;YACpC,eAAe,EAAE,oBAAoB;YACrC,wBAAwB,EAAE,MAAM;SACjC;QACD,eAAe,EAAE,IAAI;KACtB;CACgD,CAAC;AAIpD,yEAAyE;AACzE,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAuB,CAAC"}
|
|
@@ -3,7 +3,7 @@ import type { ChatMessage, Effort, Provider } from "../types.ts";
|
|
|
3
3
|
export interface AnthropicConfig extends ProviderFallbackConfig {
|
|
4
4
|
apiKey: string;
|
|
5
5
|
model: string;
|
|
6
|
-
/** Any endpoint speaking the Anthropic Messages dialect
|
|
6
|
+
/** Any endpoint speaking the Anthropic Messages dialect, including a proxy or gateway.
|
|
7
7
|
* Defaults to Anthropic itself. */
|
|
8
8
|
baseUrl?: string;
|
|
9
9
|
/** Names the provider in errors and logs. The subscription backend is the
|
|
@@ -20,7 +20,7 @@ export interface AnthropicConfig extends ProviderFallbackConfig {
|
|
|
20
20
|
* headers, and a gateway in front usually wants one of its own. */
|
|
21
21
|
headers?: Record<string, string>;
|
|
22
22
|
/**
|
|
23
|
-
* App attribution for OpenRouter's rankings
|
|
23
|
+
* App attribution for OpenRouter's rankings. The site URL rides as
|
|
24
24
|
* `HTTP-Referer`, the app name as `X-Title`. Public, not secret. Sent
|
|
25
25
|
* whenever set (other vendors ignore unknown headers); an explicit entry
|
|
26
26
|
* in `headers` always wins. Covers OpenRouter's Anthropic-dialect endpoint.
|
|
@@ -30,15 +30,15 @@ export interface AnthropicConfig extends ProviderFallbackConfig {
|
|
|
30
30
|
* App name for OpenRouter's rankings, sent as `X-Title`. See `siteUrl`.
|
|
31
31
|
*/
|
|
32
32
|
siteName?: string;
|
|
33
|
-
/** Send the key as a Bearer instead of `x-api-key
|
|
34
|
-
* access token
|
|
33
|
+
/** Send the key as a Bearer instead of `x-api-key`, as a subscription
|
|
34
|
+
* access token requires. */
|
|
35
35
|
bearer?: boolean;
|
|
36
36
|
/** Header that carries `StreamOptions.sessionId`. When set and a call has no
|
|
37
37
|
* sessionId, one stable id for this provider instance rides instead. */
|
|
38
38
|
sessionHeader?: string;
|
|
39
39
|
/** Say "no thinking" with an explicit `thinking: { type: "disabled" }` when
|
|
40
40
|
* effort resolves to none, instead of omitting the field. For endpoints
|
|
41
|
-
* where an absent field means the
|
|
41
|
+
* where an absent field means the model's default, not off. Z.ai's coding
|
|
42
42
|
* endpoint reads silence as thinking ON for reasoning-mandatory models like
|
|
43
43
|
* GLM 5.3 Flash (measured 2026-09-13: omit → thinking block; disabled →
|
|
44
44
|
* none), and it accepts the marker natively. Ignored for a Claude id that
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAMA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAEV,WAAW,EAEX,MAAM,EAEN,QAAQ,EAKT,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;wCACoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;uEAEmE;IACnE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;wEACoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAMA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,KAAK,EAEV,WAAW,EAEX,MAAM,EAEN,QAAQ,EAKT,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,eAAgB,SAAQ,sBAAsB;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;wCACoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;uEAEmE;IACnE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;wEACoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;iCAC6B;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;6EACyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;2CAQuC;IACvC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA8MD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,WAAW,EAAE,EAChC,QAAQ,SAAc,GACrB;IACD,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAqDA;AA2BD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,QAAQ,CAoPzE"}
|
|
@@ -10,9 +10,9 @@ const DEFAULT_VERSION = "2023-06-01";
|
|
|
10
10
|
/** Anthropic rejects a request without one, so a default is not optional. */
|
|
11
11
|
const DEFAULT_MAX_TOKENS = 8_192;
|
|
12
12
|
/**
|
|
13
|
-
* Thinking budgets, in output tokens, for extended thinking
|
|
13
|
+
* Thinking budgets, in output tokens, for extended thinking on Claude 4.5 and
|
|
14
14
|
* older, and every non-Claude endpoint on this wire. Thinking and the answer
|
|
15
|
-
*
|
|
15
|
+
* share `max_tokens`, so a budget is always left below the ceiling. A budget
|
|
16
16
|
* at or above it leaves no room to answer, and the turn ends mid-thought.
|
|
17
17
|
*/
|
|
18
18
|
const THINKING_BUDGET = {
|
|
@@ -26,8 +26,8 @@ const ALWAYS_ON = { none: "low", sampling: false, forcedTool: true };
|
|
|
26
26
|
const LATEST = { ...ALWAYS_ON, forcedTool: false };
|
|
27
27
|
/**
|
|
28
28
|
* Claude models that take adaptive thinking, keyed by id. A graded effort is
|
|
29
|
-
* said the same way on all of them
|
|
30
|
-
* `output_config.effort
|
|
29
|
+
* said the same way on all of them: `thinking: { type: "adaptive" }` plus
|
|
30
|
+
* `output_config.effort`, which every one accepts, and which the docs say to
|
|
31
31
|
* use wherever a model also takes `budget_tokens`. What differs is `none`,
|
|
32
32
|
* because what each model does when told nothing differs. Documented (Anthropic per-model table, read
|
|
33
33
|
* 2026-09-27: platform.claude.com/docs/en/build-with-claude/thinking-troubleshooting);
|
|
@@ -152,13 +152,13 @@ function partsToAnthropic(content, provider) {
|
|
|
152
152
|
}
|
|
153
153
|
/**
|
|
154
154
|
* Anthropic takes `system` at the top level and expects tool RESULTS as user
|
|
155
|
-
* turns carrying `tool_result` blocks
|
|
155
|
+
* turns carrying `tool_result` blocks, not as a role of their own. Consecutive
|
|
156
156
|
* tool results are merged into one user turn, which the API requires.
|
|
157
157
|
*/
|
|
158
158
|
/**
|
|
159
159
|
* The system prompt as ONE cached block.
|
|
160
160
|
*
|
|
161
|
-
* Anthropic's prompt caching is opt-in
|
|
161
|
+
* Anthropic's prompt caching is opt-in per block. A plain string system prompt
|
|
162
162
|
* is never cached, however many times it is re-sent. An agent loop re-sends this
|
|
163
163
|
* every single turn, and it is the largest stable prefix in the request, so
|
|
164
164
|
* without the breakpoint the whole thing bills at the full input rate on every
|
|
@@ -166,13 +166,13 @@ function partsToAnthropic(content, provider) {
|
|
|
166
166
|
*
|
|
167
167
|
* Unconditional. Below the model's minimum cacheable length the field is
|
|
168
168
|
* ignored rather than rejected, and above it the one-time 1.25× write is repaid
|
|
169
|
-
* by the second turn
|
|
169
|
+
* by the second turn, which always comes in the loop this package sits under.
|
|
170
170
|
*/
|
|
171
171
|
function systemBlocks(text) {
|
|
172
172
|
return text ? [{ type: "text", text, cache_control: { type: "ephemeral" } }] : undefined;
|
|
173
173
|
}
|
|
174
174
|
/**
|
|
175
|
-
* The schema, as an extra system block
|
|
175
|
+
* The schema, as an extra system block. Anthropic has no native schema mode,
|
|
176
176
|
* and the seam promises that a provider without one gets the schema in the
|
|
177
177
|
* prompt instead. Without this an `opts.json` request went out carrying
|
|
178
178
|
* nothing at all: the model answered in prose, the caller's `JSON.parse` threw,
|
|
@@ -181,7 +181,7 @@ function systemBlocks(text) {
|
|
|
181
181
|
* It rides AFTER the cached block, and that order is load-bearing. A cache
|
|
182
182
|
* breakpoint caches everything before it, so folding a per-call schema into the
|
|
183
183
|
* cached block would change the cached prefix on every turn whose schema
|
|
184
|
-
* differs and throw the whole system prompt's cache away
|
|
184
|
+
* differs and throw the whole system prompt's cache away, paying for the
|
|
185
185
|
* schema with the most expensive thing in an agent loop.
|
|
186
186
|
*/
|
|
187
187
|
function jsonBlock(json) {
|
|
@@ -22,7 +22,7 @@ export interface PresetProviderConfig extends ProviderFallbackConfig {
|
|
|
22
22
|
* preset's static protocol headers. */
|
|
23
23
|
headers?: Record<string, string>;
|
|
24
24
|
/**
|
|
25
|
-
* App attribution for OpenRouter's rankings
|
|
25
|
+
* App attribution for OpenRouter's rankings. The site URL rides as
|
|
26
26
|
* `HTTP-Referer`, the app name as `X-Title`. Public, not secret. Sent on
|
|
27
27
|
* the OpenAI-compatible and Anthropic shapes (OpenRouter reads them for app
|
|
28
28
|
* attribution); the Gemini and Responses shapes ignore them. An explicit
|
|
@@ -35,7 +35,7 @@ export interface PresetProviderConfig extends ProviderFallbackConfig {
|
|
|
35
35
|
siteName?: string;
|
|
36
36
|
/** OpenRouter-only: preferred upstream hosts, in order. OpenRouter's cache
|
|
37
37
|
* lives on the upstream host's account and default routing hops hosts
|
|
38
|
-
* between rounds
|
|
38
|
+
* between rounds. Pinning keeps a conversation's rounds (and their cache)
|
|
39
39
|
* on one host. Empty/absent = default routing. */
|
|
40
40
|
providerOrder?: string[];
|
|
41
41
|
/** Default `service_tier` for every call on the OpenAI and Responses shapes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAiBA,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAClE;6EACyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;8EAE0E;IAC1E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B;qEACiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;4CACwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;uDAGmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;oFACgF;IAChF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAiBA,OAAO,EAML,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,MAAM,WAAW,oBAAqB,SAAQ,sBAAsB;IAClE;6EACyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;8EAE0E;IAC1E,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B;qEACiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;4CACwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;uDAGmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;oFACgF;IAChF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,oBAAoB,GAAG,QAAQ,CAuHjG"}
|
|
@@ -38,7 +38,7 @@ export function createPresetProvider(id, config) {
|
|
|
38
38
|
}
|
|
39
39
|
const model = chain?.[0] ?? config.model ?? preset.defaultModel;
|
|
40
40
|
if (!model) {
|
|
41
|
-
throw new Error(`[providerkit] Preset "${id}" has no defaultModel
|
|
41
|
+
throw new Error(`[providerkit] Preset "${id}" has no defaultModel. Pass a model.`);
|
|
42
42
|
}
|
|
43
43
|
const wire = wireFor(preset, model);
|
|
44
44
|
if (config.serviceTier && (wire.shape === "anthropic" || wire.shape === "gemini")) {
|
|
@@ -85,6 +85,7 @@ export function createPresetProvider(id, config) {
|
|
|
85
85
|
...(config.providerOrder ? { providerOrder: config.providerOrder } : {}),
|
|
86
86
|
...(preset.sessionHeader ? { sessionHeader: preset.sessionHeader } : {}),
|
|
87
87
|
...(preset.initiatorHeader ? { initiatorHeader: true } : {}),
|
|
88
|
+
...(preset.noSampling ? { noSampling: true } : {}),
|
|
88
89
|
fetchImpl: config.fetchImpl,
|
|
89
90
|
});
|
|
90
91
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,EAAE;AACF,qEAAqE;AACrE,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,0EAA0E;AAC1E,mCAAmC;AACnC,EAAE;AACF,sEAAsE;AACtE,2EAA2E;AAC3E,yEAAyE;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,gBAAgB,GAKjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,uBAAuB,EAA+B,MAAM,gBAAgB,CAAC;AA6CtF,MAAM,UAAU,oBAAoB,CAAC,EAAoB,EAAE,MAA4B;IACrF,4EAA4E;IAC5E,sDAAsD;IACtD,IAAI,CAAC,CAAC,EAAE,IAAI,gBAAgB,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,0CAA0C,EAAE,iBAAiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAmB,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;IACjG,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;QAC9D,OAAO,oBAAoB,CAAC,EAAE,EAAE;YAC9B,GAAG,MAAM;YACT,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,SAAS,EAAE;gBACT,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpE,GAAG,SAAS;aACb;SACF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,YAAY,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"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"}
|