@namzu/zen 4.0.1 → 5.0.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/CHANGELOG.md +18 -0
- package/dist/catalogue/derive.d.ts +32 -5
- package/dist/catalogue/derive.d.ts.map +1 -1
- package/dist/catalogue/derive.js +141 -36
- package/dist/catalogue/derive.js.map +1 -1
- package/dist/client.d.ts +14 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +20 -1
- package/dist/client.js.map +1 -1
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +77 -139
- package/dist/models.js.map +1 -1
- package/package.json +1 -1
- package/src/catalogue/derive.ts +157 -41
- package/src/client.ts +20 -1
- package/src/models.review.json +4 -1
- package/src/models.ts +77 -139
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @namzu/zen
|
|
2
2
|
|
|
3
|
+
## 5.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 66eadb3: **Breaking: thirteen ids leave the bundled catalogue, because upstream stopped documenting or serving them.** `findZenModel` and `getZenModels` no longer return, on Zen, `deepseek-v4-flash`, `deepseek-v4-flash-vision-exp`, `cat-jam-free`, `step-5-preview-free`, `ling-3.1-flash-free` and `ling-3.0-flash-fin-free`, and on Go, `grok-4.6`, `kimi-k2.6`, `deepseek-v4-flash`, `deepseek-v4-flash-vision-exp`, `minimax-m2.7`, `step-5-preview-free` and `cat-jam-free`. A request naming one fails as an unknown model. Pick a current id instead — for a free Zen model, `glm-5.3-flash-free`, `deepseek-v4.1-flash-free` or `mimo-v2.6-flash-free`; on Go, `kimi-k3`, `minimax-m3` or `grok-4.7`. A host that has verified a wire for one of them can still pass `protocol` to the provider explicitly. The snapshot adds `glm-5.3-flash-free`, `deepseek-v4.1-flash-free`, `beam-free`, `ll-alpha-free` and `nemotron-3.5-super-vl-free` on Zen, and `gemini-4-argon-contributor`, `step-5-preview` and `beam-free` on Go.
|
|
8
|
+
|
|
9
|
+
The runtime catalogue refresh works again. The Zen and Go documentation pages moved their endpoints to per-wire paths (`/inference/openai/…`, `/inference/anthropic/…`, `/inference/google/…` and their `go` variants), and `fetchZenCatalogue` rejected the whole run on the first such row, so every host fell back to its last saved or bundled list. It now reads those paths. A page row whose wire this driver does not implement is listed in `report.undecided` with its reason instead of failing the refresh. A row whose endpoint names a host other than the service's still rejects the run whole.
|
|
10
|
+
|
|
11
|
+
## 4.0.2
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- d328c1b: Serve anonymous free-model calls from `https://opencode.ai/inference/v1` instead of the configured `https://opencode.ai/zen/v1`.
|
|
16
|
+
|
|
17
|
+
The free-tier gateway answers `403 FreeTierError` — "OpenCode's free tier can only be used from within OpenCode" — to anonymous traffic on `/zen/v1`, and does so however faithfully the request is shaped. Measured on `cat-jam-free` with the OpenCode-shaped identity headers, the four injected tool names and a session and request id in the client's own format, both against the same session in the same minute: the same request is `403` on `/zen/v1/chat/completions` and `200` on `/inference/v1/chat/completions`. The request id's random half is not what the gateway reads — flipping it, keeping the timestamp half fresh or stale, and re-serialising the body all leave the verdict unchanged — only the route decides.
|
|
18
|
+
|
|
19
|
+
To upgrade and keep working, nothing is required: anonymous free-model calls move to `/inference` by themselves, and every keyed call stays on `ZEN_BASE_URL` exactly as before. A caller-owned `baseURL` proxy is likewise untouched, and only the chat route is reachable anonymously — the Anthropic and Responses routes answer `401 Missing API key` on either host, as they did before. Verified live on `cat-jam-free`: a plain turn and a `bash` tool round both complete.
|
|
20
|
+
|
|
3
21
|
## 4.0.1
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -82,10 +82,12 @@ export declare const MODALITIES: Readonly<Record<string, ModelInputModality>>;
|
|
|
82
82
|
export declare const SERVICE_PREFIX: Readonly<Record<ZenService, string>>;
|
|
83
83
|
/**
|
|
84
84
|
* The path prefixes a documentation page may state an endpoint on, per
|
|
85
|
-
* service. The gateway answers on
|
|
86
|
-
* this package call, and
|
|
87
|
-
*
|
|
88
|
-
*
|
|
85
|
+
* service. The gateway answers on all of these: `/zen/v1/…` is what the client
|
|
86
|
+
* and this package call, and the pages have published aliases across the
|
|
87
|
+
* gateway's history — a flat `/inference/v1/…`, then per-wire
|
|
88
|
+
* `/inference/<wire>/…` paths, where each wire's documentation names its own
|
|
89
|
+
* version segment (`openai/v1`, `google/v1beta`). Every one resolves to the
|
|
90
|
+
* same service, so a row on any of them is a route on that service.
|
|
89
91
|
*/
|
|
90
92
|
export declare const DOCUMENTED_PREFIXES: Readonly<Record<ZenService, readonly string[]>>;
|
|
91
93
|
/** One route-table row. `npm` is undefined when the page states no wire. */
|
|
@@ -156,13 +158,38 @@ export declare function nameKey(name: string): string;
|
|
|
156
158
|
*/
|
|
157
159
|
export declare function priceRowFor(rows: readonly ZenPriceRow[], name: string): ZenPriceRow | undefined;
|
|
158
160
|
/**
|
|
159
|
-
* The
|
|
161
|
+
* The verdict on one route row's (package, endpoint) pair: the protocol to
|
|
162
|
+
* route it with, or the reason no wire follows from it, and whether the
|
|
163
|
+
* refusal indicts the run or merely the row.
|
|
164
|
+
*
|
|
165
|
+
* A pair that names an endpoint OUTSIDE the service's host is tamper-shaped —
|
|
166
|
+
* the whole point of the per-part checks — so its refusal is fatal and must
|
|
167
|
+
* stop the run no matter how derivable the rest of the page is. Everything
|
|
168
|
+
* else this classifier cannot read is upstream having grown a wire this
|
|
169
|
+
* driver does not speak (a new endpoint family on the service's own host, an
|
|
170
|
+
* AI SDK package not implemented yet): the refusal is per-row, and the
|
|
171
|
+
* derivation decides what to do with it.
|
|
160
172
|
*
|
|
161
173
|
* The pair is checked against the URL's own parts rather than by substring: a
|
|
162
174
|
* cell reading `https://evil.example/messages` contains the path a Messages
|
|
163
175
|
* route has, and a routing decision that accepts it is a routing decision made
|
|
164
176
|
* on the wrong string. Host, service prefix, path and package must all agree.
|
|
165
177
|
*/
|
|
178
|
+
export declare function routeFor({ endpoint, npm }: Pick<ZenRouteRow, 'id' | 'endpoint' | 'npm'>, service: string): {
|
|
179
|
+
readonly protocol: ZenProtocol;
|
|
180
|
+
} | {
|
|
181
|
+
readonly refusal: string;
|
|
182
|
+
readonly fatal: boolean;
|
|
183
|
+
};
|
|
184
|
+
/**
|
|
185
|
+
* The protocol a (package, endpoint) pair is, refusing anything unrecognised.
|
|
186
|
+
*
|
|
187
|
+
* The derivation goes through `routeFor` instead, where an unrouteable row
|
|
188
|
+
* splits off into the undecided count and the rest of the roster carries on;
|
|
189
|
+
* here a caller that asks for the pair's protocol gets stopped immediately.
|
|
190
|
+
* Either way nothing is guessed: a model whose wire is unknown is never routed
|
|
191
|
+
* by picking a protocol for it.
|
|
192
|
+
*/
|
|
166
193
|
export declare function protocolFor({ id, endpoint, npm }: Pick<ZenRouteRow, 'id' | 'endpoint' | 'npm'>, service: string): ZenProtocol;
|
|
167
194
|
/** Only live-verified direct anonymous ids may survive a persisted catalogue. */
|
|
168
195
|
export declare function isDirectAnonymousZenId(id: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/catalogue/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAErE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE3D;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IACjD,SAAkB,IAAI,6BAA4B;CAClD;AAkBD,2FAA2F;AAC3F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAYD,yFAAyF;AACzF,eAAO,MAAM,YAAY,EAAE,SAAS;IACnC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAA;IAC5B,qDAAqD;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CACzB,EAOC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAC/B,
|
|
1
|
+
{"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../src/catalogue/derive.ts"],"names":[],"mappings":"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"}
|
package/dist/catalogue/derive.js
CHANGED
|
@@ -91,10 +91,30 @@ export const ZEN_SERVICES = Object.freeze([
|
|
|
91
91
|
* it in the body of a fixed path, Google puts it in the path itself.
|
|
92
92
|
*/
|
|
93
93
|
export const ROUTES = Object.freeze([
|
|
94
|
-
{
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
{
|
|
95
|
+
npm: '@ai-sdk/openai-compatible',
|
|
96
|
+
path: '/chat/completions',
|
|
97
|
+
protocol: 'chat',
|
|
98
|
+
kind: 'path',
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
npm: '@ai-sdk/openai',
|
|
102
|
+
path: '/responses',
|
|
103
|
+
protocol: 'responses',
|
|
104
|
+
kind: 'path',
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
npm: '@ai-sdk/anthropic',
|
|
108
|
+
path: '/messages',
|
|
109
|
+
protocol: 'messages',
|
|
110
|
+
kind: 'path',
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
npm: '@ai-sdk/google',
|
|
114
|
+
path: '/models/',
|
|
115
|
+
protocol: 'google',
|
|
116
|
+
kind: 'model',
|
|
117
|
+
},
|
|
98
118
|
]);
|
|
99
119
|
/** The Google route's tail: `models/<id>`, and nothing else. */
|
|
100
120
|
const MODEL_PATH = /^models\/[a-z0-9][a-z0-9.-]*$/;
|
|
@@ -114,14 +134,28 @@ export const SERVICE_PREFIX = Object.freeze({
|
|
|
114
134
|
});
|
|
115
135
|
/**
|
|
116
136
|
* The path prefixes a documentation page may state an endpoint on, per
|
|
117
|
-
* service. The gateway answers on
|
|
118
|
-
* this package call, and
|
|
119
|
-
*
|
|
120
|
-
*
|
|
137
|
+
* service. The gateway answers on all of these: `/zen/v1/…` is what the client
|
|
138
|
+
* and this package call, and the pages have published aliases across the
|
|
139
|
+
* gateway's history — a flat `/inference/v1/…`, then per-wire
|
|
140
|
+
* `/inference/<wire>/…` paths, where each wire's documentation names its own
|
|
141
|
+
* version segment (`openai/v1`, `google/v1beta`). Every one resolves to the
|
|
142
|
+
* same service, so a row on any of them is a route on that service.
|
|
121
143
|
*/
|
|
122
144
|
export const DOCUMENTED_PREFIXES = Object.freeze({
|
|
123
|
-
zen: Object.freeze([
|
|
124
|
-
|
|
145
|
+
zen: Object.freeze([
|
|
146
|
+
'/zen/v1/',
|
|
147
|
+
'/inference/v1/',
|
|
148
|
+
'/inference/openai/v1/',
|
|
149
|
+
'/inference/anthropic/v1/',
|
|
150
|
+
'/inference/google/v1beta/',
|
|
151
|
+
]),
|
|
152
|
+
go: Object.freeze([
|
|
153
|
+
'/zen/go/v1/',
|
|
154
|
+
'/inference/go/v1/',
|
|
155
|
+
'/inference/go/openai/v1/',
|
|
156
|
+
'/inference/go/anthropic/v1/',
|
|
157
|
+
'/inference/go/google/v1beta/',
|
|
158
|
+
]),
|
|
125
159
|
});
|
|
126
160
|
/**
|
|
127
161
|
* One `/models` answer, as the set of ids it says the service serves.
|
|
@@ -315,42 +349,90 @@ export function priceRowFor(rows, name) {
|
|
|
315
349
|
candidates.find((row) => row.name.includes('≤')));
|
|
316
350
|
}
|
|
317
351
|
/**
|
|
318
|
-
* The
|
|
352
|
+
* The verdict on one route row's (package, endpoint) pair: the protocol to
|
|
353
|
+
* route it with, or the reason no wire follows from it, and whether the
|
|
354
|
+
* refusal indicts the run or merely the row.
|
|
355
|
+
*
|
|
356
|
+
* A pair that names an endpoint OUTSIDE the service's host is tamper-shaped —
|
|
357
|
+
* the whole point of the per-part checks — so its refusal is fatal and must
|
|
358
|
+
* stop the run no matter how derivable the rest of the page is. Everything
|
|
359
|
+
* else this classifier cannot read is upstream having grown a wire this
|
|
360
|
+
* driver does not speak (a new endpoint family on the service's own host, an
|
|
361
|
+
* AI SDK package not implemented yet): the refusal is per-row, and the
|
|
362
|
+
* derivation decides what to do with it.
|
|
319
363
|
*
|
|
320
364
|
* The pair is checked against the URL's own parts rather than by substring: a
|
|
321
365
|
* cell reading `https://evil.example/messages` contains the path a Messages
|
|
322
366
|
* route has, and a routing decision that accepts it is a routing decision made
|
|
323
367
|
* on the wrong string. Host, service prefix, path and package must all agree.
|
|
324
368
|
*/
|
|
325
|
-
export function
|
|
326
|
-
const refuse = (why) => unusable(`"${id}" is documented as ${npm} on ${endpoint}, ${why}. A model whose wire is not\n known cannot be routed, so the run stops rather than picking one.`);
|
|
369
|
+
export function routeFor({ endpoint, npm }, service) {
|
|
327
370
|
if (npm === undefined) {
|
|
328
|
-
|
|
371
|
+
return {
|
|
372
|
+
refusal: 'the page states no AI SDK package for it, so no wire is known',
|
|
373
|
+
fatal: false,
|
|
374
|
+
};
|
|
329
375
|
}
|
|
330
376
|
let url;
|
|
331
377
|
try {
|
|
332
378
|
url = new URL(endpoint);
|
|
333
379
|
}
|
|
334
380
|
catch {
|
|
335
|
-
return
|
|
381
|
+
return {
|
|
382
|
+
refusal: 'the endpoint cell is not a URL, so no wire can be read',
|
|
383
|
+
fatal: true,
|
|
384
|
+
};
|
|
385
|
+
}
|
|
386
|
+
if (url.host !== 'opencode.ai') {
|
|
387
|
+
return { refusal: "whose host is not the service's", fatal: true };
|
|
336
388
|
}
|
|
337
|
-
if (url.host !== 'opencode.ai')
|
|
338
|
-
refuse("whose host is not the service's");
|
|
339
389
|
const prefixes = DOCUMENTED_PREFIXES[service];
|
|
340
|
-
if (prefixes === undefined)
|
|
341
|
-
return
|
|
390
|
+
if (prefixes === undefined) {
|
|
391
|
+
return { refusal: 'on a service this script does not know', fatal: true };
|
|
392
|
+
}
|
|
342
393
|
const prefix = prefixes.find((candidate) => url.pathname.startsWith(candidate));
|
|
343
|
-
if (prefix === undefined)
|
|
344
|
-
return
|
|
394
|
+
if (prefix === undefined) {
|
|
395
|
+
return {
|
|
396
|
+
refusal: `which is not on the ${service} service's own path`,
|
|
397
|
+
fatal: false,
|
|
398
|
+
};
|
|
399
|
+
}
|
|
345
400
|
const route = ROUTES.find((candidate) => candidate.npm === npm);
|
|
346
401
|
if (!route) {
|
|
347
|
-
return
|
|
402
|
+
return {
|
|
403
|
+
refusal: `with a package that is not one of the ${ROUTES.length} routes this driver implements`,
|
|
404
|
+
fatal: false,
|
|
405
|
+
};
|
|
348
406
|
}
|
|
349
407
|
const tail = url.pathname.slice(prefix.length);
|
|
350
408
|
const matches = route.kind === 'path' ? tail === route.path.slice(1) : MODEL_PATH.test(tail);
|
|
351
|
-
if (!matches)
|
|
352
|
-
|
|
353
|
-
|
|
409
|
+
if (!matches) {
|
|
410
|
+
return {
|
|
411
|
+
refusal: `which does not address ${route.path} on the ${service} service`,
|
|
412
|
+
fatal: false,
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
return { protocol: route.protocol };
|
|
416
|
+
}
|
|
417
|
+
/** The message the run-wide refusal of a pair carries, in both surfaces. */
|
|
418
|
+
function refusalMessage({ id, npm }, { endpoint }, refusal) {
|
|
419
|
+
return `"${id}" is documented as ${npm} on ${endpoint}, ${refusal}. A model whose wire is not\n known cannot be routed, so the run stops rather than picking one.`;
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* The protocol a (package, endpoint) pair is, refusing anything unrecognised.
|
|
423
|
+
*
|
|
424
|
+
* The derivation goes through `routeFor` instead, where an unrouteable row
|
|
425
|
+
* splits off into the undecided count and the rest of the roster carries on;
|
|
426
|
+
* here a caller that asks for the pair's protocol gets stopped immediately.
|
|
427
|
+
* Either way nothing is guessed: a model whose wire is unknown is never routed
|
|
428
|
+
* by picking a protocol for it.
|
|
429
|
+
*/
|
|
430
|
+
export function protocolFor({ id, endpoint, npm }, service) {
|
|
431
|
+
const verdict = routeFor({ id, endpoint, npm }, service);
|
|
432
|
+
if ('refusal' in verdict) {
|
|
433
|
+
unusable(refusalMessage({ id, npm }, { endpoint }, verdict.refusal));
|
|
434
|
+
}
|
|
435
|
+
return verdict.protocol;
|
|
354
436
|
}
|
|
355
437
|
/**
|
|
356
438
|
* Go's route table currently disagrees with the reference client's routes
|
|
@@ -379,19 +461,26 @@ export function isDirectAnonymousZenId(id) {
|
|
|
379
461
|
export function pinnedProtocolForGo(id) {
|
|
380
462
|
return GO_REFERENCE_ROUTES[id]?.gateway;
|
|
381
463
|
}
|
|
382
|
-
|
|
383
|
-
|
|
464
|
+
/**
|
|
465
|
+
* The row's routed protocol, or its refusal — the Go pinning decides the same
|
|
466
|
+
* way `routeFor` does, then names the reference client's wire for the ids the
|
|
467
|
+
* published page and the reference client disagree on.
|
|
468
|
+
*/
|
|
469
|
+
function pinnedRouteFor(row, service) {
|
|
470
|
+
const verdict = routeFor(row, service);
|
|
471
|
+
if ('refusal' in verdict)
|
|
472
|
+
return verdict;
|
|
384
473
|
if (service !== 'go')
|
|
385
|
-
return
|
|
474
|
+
return verdict;
|
|
386
475
|
const exception = GO_REFERENCE_ROUTES[row.id];
|
|
387
476
|
if (!exception)
|
|
388
|
-
return
|
|
389
|
-
if (
|
|
390
|
-
return
|
|
391
|
-
if (
|
|
392
|
-
unusable(`go.mdx changed the route for "${row.id}" to ${
|
|
477
|
+
return verdict;
|
|
478
|
+
if (verdict.protocol === exception.gateway)
|
|
479
|
+
return verdict;
|
|
480
|
+
if (verdict.protocol !== exception.documented) {
|
|
481
|
+
unusable(`go.mdx changed the route for "${row.id}" to ${verdict.protocol}; its reference-client route exception must be reviewed.`);
|
|
393
482
|
}
|
|
394
|
-
return exception.gateway;
|
|
483
|
+
return { protocol: exception.gateway };
|
|
395
484
|
}
|
|
396
485
|
/**
|
|
397
486
|
* What a model is carried with while models.dev states nothing about it: small
|
|
@@ -458,6 +547,22 @@ export function derive(service, parsed, providerKey, provider, omissions, served
|
|
|
458
547
|
continue;
|
|
459
548
|
}
|
|
460
549
|
considered += 1;
|
|
550
|
+
// The wire a row names is decided before anything else is asked about
|
|
551
|
+
// it, because every carried form needs it. A pair no routing follows
|
|
552
|
+
// from — upstream naming a model on a wire this driver does not speak
|
|
553
|
+
// — splits off into the undecided count here instead of stopping the
|
|
554
|
+
// run: the rest of the roster is exactly as derivable as it was before
|
|
555
|
+
// the row arrived, and one new wire upstream should not hold every
|
|
556
|
+
// other model back either. Nothing is guessed for the row.
|
|
557
|
+
const routed = pinnedRouteFor(row, service);
|
|
558
|
+
if ('refusal' in routed) {
|
|
559
|
+
if (routed.fatal) {
|
|
560
|
+
unusable(refusalMessage(row, row, routed.refusal));
|
|
561
|
+
}
|
|
562
|
+
undecided.push([`${service}/${row.id}`, routed.refusal]);
|
|
563
|
+
continue;
|
|
564
|
+
}
|
|
565
|
+
const protocol = routed.protocol;
|
|
461
566
|
const metadata = provider.models[row.id];
|
|
462
567
|
if (!metadata || typeof metadata !== 'object') {
|
|
463
568
|
// The route and the price are stated and the limits are not, yet: carry it
|
|
@@ -469,7 +574,7 @@ export function derive(service, parsed, providerKey, provider, omissions, served
|
|
|
469
574
|
unverified.push({
|
|
470
575
|
id: row.id,
|
|
471
576
|
name: row.name,
|
|
472
|
-
protocol
|
|
577
|
+
protocol,
|
|
473
578
|
...CONSERVATIVE_LIMITS,
|
|
474
579
|
inputModalities: ['text'],
|
|
475
580
|
inputPrice: statedPrice ? statedPrice.input : 0,
|
|
@@ -516,7 +621,7 @@ export function derive(service, parsed, providerKey, provider, omissions, served
|
|
|
516
621
|
models.push({
|
|
517
622
|
id: row.id,
|
|
518
623
|
name: row.name,
|
|
519
|
-
protocol
|
|
624
|
+
protocol,
|
|
520
625
|
contextWindow,
|
|
521
626
|
maxOutputTokens,
|
|
522
627
|
inputModalities,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/catalogue/derive.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"derive.js","sourceRoot":"","sources":["../../src/catalogue/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAMH;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC/B,IAAI,GAAG,yBAAyB,CAAA;CAClD;AAED,SAAS,QAAQ,CAAC,OAAe;IAChC,MAAM,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,aAAa,GAAG,6BAA6B,CAAA;AAEnD,2FAA2F;AAC3F,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC7C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,IAAY;IAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;IACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,QAAQ,CACP,GAAG,IAAI,sCAAsC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2JAA2J,CAC5N,CAAA;IACF,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,YAAY,GAKnB,MAAM,CAAC,MAAM,CAAC;IACnB,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,yEAAyE;IACzE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE;IACpE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE;CAClE,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAKb,MAAM,CAAC,MAAM,CAAC;IACnB;QACC,GAAG,EAAE,2BAA2B;QAChC,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,MAAM;QAChB,IAAI,EAAE,MAAM;KACZ;IACD;QACC,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,MAAM;KACZ;IACD;QACC,GAAG,EAAE,mBAAmB;QACxB,IAAI,EAAE,WAAW;QACjB,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;KACZ;IACD;QACC,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,OAAO;KACb;CACD,CAAC,CAAA;AAEF,gEAAgE;AAChE,MAAM,UAAU,GAAG,+BAA+B,CAAA;AAElD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,UAAU,GAAiD,MAAM,CAAC,MAAM,CAAC;IACrF,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,UAAU;CACf,CAAC,CAAA;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyC,MAAM,CAAC,MAAM,CAAC;IACjF,GAAG,EAAE,UAAU;IACf,EAAE,EAAE,aAAa;CACjB,CAAC,CAAA;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAoD,MAAM,CAAC,MAAM,CAAC;IACjG,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;QAClB,UAAU;QACV,gBAAgB;QAChB,uBAAuB;QACvB,0BAA0B;QAC1B,2BAA2B;KAC3B,CAAC;IACF,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;QACjB,aAAa;QACb,mBAAmB;QACnB,0BAA0B;QAC1B,6BAA6B;QAC7B,8BAA8B;KAC9B,CAAC;CACF,CAAC,CAAA;AAwBF;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe,EAAE,IAAY;IACxD,IAAI,IAAa,CAAA;IACjB,IAAI,CAAC;QACJ,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,QAAQ,CACP,OAAO,OAAO,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAC9F,CAAA;IACF,CAAC;IACD,MAAM,IAAI,GACT,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1F,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,QAAQ,CACP,OAAO,OAAO,uIAAuI,CACrJ,CAAA;IACF,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAChG,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,QAAQ,CACP,OAAO,OAAO,yKAAyK,CACvL,CAAA;QACF,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACZ,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,QAAQ,CACP,OAAO,OAAO,yLAAyL,CACvM,CAAA;IACF,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAA;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACxC,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,SAAS,CACxB,IAAY,EACZ,EAAE,IAAI,EAAE,OAAO,EAAuD;IAEtE,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,MAAM,MAAM,GAAkB,EAAE,CAAA;IAChC,MAAM,SAAS,GAAa,EAAE,CAAA;IAC9B,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,6EAA6E;IAC7E,yEAAyE;IACzE,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,wDAAwD;IACxD,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,IAAI,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACtE,aAAa,GAAG,IAAI,CAAA;YACpB,SAAQ;QACT,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;YAC9C,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;gBAChC,SAAQ;YACT,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,aAAa,GAAG,KAAK,CAAA;QAC3E,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CACvB,mFAAmF,CACnF,CAAA;QACD,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAW,EAAE,IAAI,CAAC;gBACzC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAW;gBACtB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAW;gBAC5B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAW;aACvB,CAAC,CAAA;YACF,SAAQ;QACT,CAAC;QACD,wEAAwE;QACxE,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAC1B,8EAA8E,CAC9E,CAAA;QACD,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAW,EAAE,IAAI,CAAC;gBAC5C,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAW;gBACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAW;gBAC/B,GAAG,EAAE,SAAS;aACd,CAAC,CAAA;YACF,SAAQ;QACT,CAAC;QACD,uEAAuE;QACvE,uEAAuE;QACvE,kEAAkE;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAA;QACxF,IAAI,KAAK,EAAE,CAAC;YACX,sEAAsE;YACtE,sEAAsE;YACtE,gCAAgC;YAChC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAA;YAC3C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAW,CAAC,CAAA;YAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACjD,MAAM,IAAI,GAAI,KAAK,CAAC,CAAC,CAAY,CAAC,IAAI,EAAE,CAAA;gBACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;gBACxD,IAAI,QAAQ,EAAE,CAAC;oBACd,0DAA0D;oBAC1D,iEAAiE;oBACjE,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC5D,QAAQ,CAAC,GAAG,IAAI,sCAAsC,IAAI,sBAAsB,CAAC,CAAA;oBAClF,CAAC;oBACD,SAAQ;gBACT,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;gBACpC,SAAQ;YACT,CAAC;QACF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IACjF,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,QAAQ,CACP,GAAG,IAAI,QAAQ,UAAU,CAAC,MAAM,4NAA4N,UAAU;aACpQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,UAAU,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACzF,CAAA;IACF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,QAAQ,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAA;IAChE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;IAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACxB,QAAQ,CACP,GAAG,IAAI,YAAY,KAAK,CAAC,EAAE,sIAAsI,CACjK,CAAA;QACF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,QAAQ,CACP,GAAG,IAAI,kMAAkM,CACzM,CAAA;IACF,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACrC,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,OAAO,GAAG,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7D,IAAI,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACnD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,OAAO,CAAC,IAAY;IACnC,OAAO,IAAI;SACT,WAAW,EAAE;SACb,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAA4B,EAAE,IAAY;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;IAC5E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC7C,OAAO,CACN,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjD,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAChD,CAAA;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,QAAQ,CACvB,EAAE,QAAQ,EAAE,GAAG,EAAgD,EAC/D,OAAe;IAEf,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO;YACN,OAAO,EAAE,+DAA+D;YACxE,KAAK,EAAE,KAAK;SACZ,CAAA;IACF,CAAC;IACD,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACJ,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACR,OAAO;YACN,OAAO,EAAE,wDAAwD;YACjE,KAAK,EAAE,IAAI;SACX,CAAA;IACF,CAAC;IACD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,iCAAiC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACnE,CAAC;IACD,MAAM,QAAQ,GAAI,mBAAqE,CAAC,OAAO,CAAC,CAAA;IAChG,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,wCAAwC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAC1E,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;IAC/E,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO;YACN,OAAO,EAAE,uBAAuB,OAAO,qBAAqB;YAC5D,KAAK,EAAE,KAAK;SACZ,CAAA;IACF,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IAC/D,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,OAAO;YACN,OAAO,EAAE,yCAAyC,MAAM,CAAC,MAAM,gCAAgC;YAC/F,KAAK,EAAE,KAAK;SACZ,CAAA;IACF,CAAC;IACD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5F,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO;YACN,OAAO,EAAE,0BAA0B,KAAK,CAAC,IAAI,WAAW,OAAO,UAAU;YACzE,KAAK,EAAE,KAAK;SACZ,CAAA;IACF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAA;AACpC,CAAC;AAED,4EAA4E;AAC5E,SAAS,cAAc,CACtB,EAAE,EAAE,EAAE,GAAG,EAAmC,EAC5C,EAAE,QAAQ,EAAiC,EAC3C,OAAe;IAEf,OAAO,IAAI,EAAE,sBAAsB,GAAG,OAAO,QAAQ,KAAK,OAAO,kGAAkG,CAAA;AACpK,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,WAAW,CAC1B,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAgD,EACnE,OAAe;IAEf,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,OAAO,CAAC,CAAA;IACxD,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;QAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,CAAA;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,mBAAmB,GAErB,MAAM,CAAC,MAAM,CAAC;IACjB,mBAAmB,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;IACjE,cAAc,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE;IAC3D,YAAY,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE;CACzD,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAA;AAEnF,iFAAiF;AACjF,MAAM,UAAU,sBAAsB,CAAC,EAAU;IAChD,OAAO,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACxC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,mBAAmB,CAAC,EAAU;IAC7C,OAAO,mBAAmB,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;AACxC,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACtB,GAAgB,EAChB,OAAe;IAEf,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACtC,IAAI,SAAS,IAAI,OAAO;QAAE,OAAO,OAAO,CAAA;IACxC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,OAAO,CAAA;IACpC,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC7C,IAAI,CAAC,SAAS;QAAE,OAAO,OAAO,CAAA;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,OAAO;QAAE,OAAO,OAAO,CAAA;IAC1D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,UAAU,EAAE,CAAC;QAC/C,QAAQ,CACP,iCAAiC,GAAG,CAAC,EAAE,QAAQ,OAAO,CAAC,QAAQ,0DAA0D,CACzH,CAAA;IACF,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,CAAA;AACvC,CAAC;AAmCD;;;;;GAKG;AACH,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,aAAa,EAAE,MAAM;IACrB,eAAe,EAAE,KAAK;IACtB,eAAe,EAAE,IAAI;CACrB,CAAC,CAAA;AAkBF,SAAS,YAAY,CAAC,SAAuB;IAC5C,OAAO,SAAS,YAAY,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;AAC9E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CACrB,OAAe,EACf,MAAqB,EACrB,WAAmB,EACnB,QAA2B,EAC3B,SAAuB,EACvB,MAA2B;IAE3B,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QACxF,IAAI,CAAC,GAAG,EAAE,CAAC;YACV,QAAQ,CACP,8BAA8B,IAAI,sHAAsH,CACxJ,CAAA;QACF,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACpB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClE,QAAQ,CACP,8BAA8B,GAAG,CAAC,EAAE,mGAAmG,CACvI,CAAA;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzE,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM;SAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;SACnD,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACxB,MAAM,MAAM,GAAsB,EAAE,CAAA;IACpC,MAAM,SAAS,GAAuB,EAAE,CAAA;IACxC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,4EAA4E;IAC5E,yEAAyE;IACzE,aAAa;IACb,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,IAAI,gBAAgB,GAAG,CAAC,CAAA;IACxB,MAAM,UAAU,GAAsB,EAAE,CAAA;IACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YAAE,SAAQ;QACjD,IAAI,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC;gBACd,GAAG,OAAO,IAAI,GAAG,CAAC,EAAE,EAAE;gBACtB,+DAA+D;aAC/D,CAAC,CAAA;YACF,SAAQ;QACT,CAAC;QACD,UAAU,IAAI,CAAC,CAAA;QACf,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,2DAA2D;QAC3D,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAC3C,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBAClB,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;YACnD,CAAC;YACD,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;YACxD,SAAQ;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;QAChC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAA+B,CAAA;QACtE,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC/C,2EAA2E;YAC3E,0EAA0E;YAC1E,0EAA0E;YAC1E,8BAA8B;YAC9B,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;YACxD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAChE,UAAU,CAAC,IAAI,CAAC;oBACf,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,QAAQ;oBACR,GAAG,mBAAmB;oBACtB,eAAe,EAAE,CAAC,MAAM,CAAC;oBACzB,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC/C,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACjD,YAAY,EAAE,EAAE;oBAChB,uBAAuB,EACtB,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjF,cAAc,EAAE,KAAK;iBACrB,CAAC,CAAA;gBACF,SAAQ;YACT,CAAC;YACD,SAAS,CAAC,IAAI,CAAC;gBACd,GAAG,OAAO,IAAI,GAAG,CAAC,EAAE,EAAE;gBACtB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjC,CAAC,CAAC,uBAAuB,WAAW,4CAA4C;oBAChF,CAAC,CAAC,uBAAuB,WAAW,UAAU;aAC/C,CAAC,CAAA;YACF,SAAQ;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,SAAS,KAAK,SAAS;YAAE,aAAa,IAAI,CAAC,CAAA;QACxD,gBAAgB,IAAI,CAAC,CAAA;QACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QACrD,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,IAAI,GAAG,CAAC,EAAE,EAAE,EAAE,iDAAiD,CAAC,CAAC,CAAA;YAC3F,SAAQ;QACT,CAAC;QACD,MAAM,MAAM,GAAG,CACd,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAC3E,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAA;QAC7C,MAAM,eAAe,GAAG,CACvB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAC1E;aACC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,QAAQ,EAAkC,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAA;QAC9E,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;QAC7C,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;QAC9C,IACC,CAAC,iBAAiB,CAAC,aAAa,CAAC;YACjC,CAAC,iBAAiB,CAAC,eAAe,CAAC;YACnC,eAAe,CAAC,MAAM,KAAK,CAAC,EAC3B,CAAC;YACF,UAAU,CAAC,IAAI,CACd,GAAG,OAAO,IAAI,GAAG,CAAC,EAAE,aAAa,aAAa,YAAY,eAAe,KAAK,eAAe,CAAC,MAAM,oBAAoB,CACxH,CAAA;YACD,SAAQ;QACT,CAAC;QACD,qEAAqE;QACrE,yEAAyE;QACzE,0DAA0D;QAC1D,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,MAAM,CAAC,IAAI,CAAC;YACX,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ;YACR,aAAa;YACb,eAAe;YACf,eAAe;YACf,UAAU;YACV,WAAW;YACX,eAAe,EAAE,QAAQ,CAAC,SAAS,KAAK,IAAI;YAC5C,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YAClE,sEAAsE;YACtE,uEAAuE;YACvE,uBAAuB,EACtB,OAAO,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;SACjF,CAAC,CAAA;IACH,CAAC;IACD,4EAA4E;IAC5E,sEAAsE;IACtE,uEAAuE;IACvE,cAAc;IACd,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,KAAK,UAAU,CAAA;QAC5C,QAAQ,CACP,GAAG,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,OAAO,UAAU,EAAE,uBAAuB,OAAO,kPAAkP,UAAU;aAC7W,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC;aAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,UAAU,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACzF,CAAA;IACF,CAAC;IACD,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,gBAAgB,GAAG,CAAC,IAAI,aAAa,KAAK,gBAAgB,EAAE,CAAC;QAChE,QAAQ,CACP,OAAO,gBAAgB,mBAAmB,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,YAAY,OAAO,2QAA2Q,CAC5W,CAAA;IACF,CAAC;IACD,yEAAyE;IACzE,+EAA+E;IAC/E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,KAAK,CAAC,EAAE,CAAC;QACrD,QAAQ,CACP,uBAAuB,WAAW,2BAA2B,UAAU,iBAAiB,OAAO,uHAAuH,CACtN,CAAA;IACF,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAA;IAC1B,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC;SACjC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;SACvE,IAAI,EAAE,CAAA;IACR,2EAA2E;IAC3E,2CAA2C;IAC3C,MAAM,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC;SACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC3C,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACxD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,CAAA;AACnE,CAAC;AAED,MAAM,OAAO,GAAwB,IAAI,GAAG,CAAC;IAC5C,MAAM;IACN,SAAS;IACT,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;CACP,CAAC,CAAA;AAEF,SAAS,YAAY,CAAC,MAAe,EAAE,GAAW;IACjD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,QAAQ,CAAC,wCAAwC,GAAG,iBAAiB,CAAC,CAAA;IAClG,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,QAAQ,CACP,qCAAqC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,+GAA+G,CACpL,CAAA;QACF,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAI,MAA4B,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAA;AAC7E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAE/B,MAAM,UAAU,gBAAgB,CAC/B,KAAuD,EACvD,SAA2D;IAE3D,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;QACrC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;QACzC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;YACnB,QAAQ,CACP,OAAO,OAAO,sNAAsN,CACpO,CAAA;QACF,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,OAAO,GAAG,YAAY,EAAE,CAAC;YACrD,QAAQ,CACP,OAAO,OAAO,qBAAqB,OAAO,cAAc,OAAO,0BAA0B,YAAY,GAAG,GAAG,mTAAmT,CAC9Z,CAAA;QACF,CAAC;IACF,CAAC;AACF,CAAC"}
|
package/dist/client.d.ts
CHANGED
|
@@ -4,6 +4,20 @@ import type { ZenConfig, ZenGoConfig } from './types.js';
|
|
|
4
4
|
export declare const ZEN_CAPABILITIES: ProviderCapabilities;
|
|
5
5
|
export declare const ZEN_BASE_URL = "https://opencode.ai/zen/v1";
|
|
6
6
|
export declare const ZEN_GO_BASE_URL = "https://opencode.ai/zen/go/v1";
|
|
7
|
+
/**
|
|
8
|
+
* The host the anonymous free tier is served from.
|
|
9
|
+
*
|
|
10
|
+
* `ZEN_BASE_URL` remains the route for every keyed request, but the free-tier
|
|
11
|
+
* gateway refuses anonymous traffic on it: `POST /zen/v1/chat/completions`
|
|
12
|
+
* answers `403 FreeTierError` ("can only be used from within OpenCode") no
|
|
13
|
+
* matter how faithfully the request is shaped. The same request against
|
|
14
|
+
* `/inference/v1/chat/completions` is admitted, and that is the path OpenCode
|
|
15
|
+
* itself now speaks. Only the chat route is reachable anonymously — `/models`
|
|
16
|
+
* answers on both, and the Anthropic and Responses routes answer `401 Missing
|
|
17
|
+
* API key` on either, which is why the gate never offered them free access to
|
|
18
|
+
* begin with.
|
|
19
|
+
*/
|
|
20
|
+
export declare const ZEN_FREE_TIER_BASE_URL = "https://opencode.ai/inference/v1";
|
|
7
21
|
/** A provider instance belongs to one conversation; it never owns an agent loop. */
|
|
8
22
|
export declare class ZenProvider implements LLMProvider {
|
|
9
23
|
private readonly config;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EAMnB,MAAM,YAAY,CAAA;AAYnB,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,aAAa,CAAA;AAQvD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExD,eAAO,MAAM,gBAAgB,EAAE,oBAS9B,CAAA;AAED,eAAO,MAAM,YAAY,+BAA+B,CAAA;AACxD,eAAO,MAAM,eAAe,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAcA,OAAO,EACN,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,cAAc,EAMnB,MAAM,YAAY,CAAA;AAYnB,OAAO,KAAK,EAAY,UAAU,EAAE,MAAM,aAAa,CAAA;AAQvD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExD,eAAO,MAAM,gBAAgB,EAAE,oBAS9B,CAAA;AAED,eAAO,MAAM,YAAY,+BAA+B,CAAA;AACxD,eAAO,MAAM,eAAe,kCAAkC,CAAA;AAC9D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,qCAAqC,CAAA;AAuOxE,oFAAoF;AACpF,qBAAa,WAAY,YAAW,WAAW;IAgB7C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,QAAQ,CAAC,OAAO,EAAE,UAAU;IAhB7B,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,QAAQ,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,uBAAmB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAIA;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAGjB,MAAM,GAAE,SAAc,EAC9B,OAAO,GAAE,UAAkB;IAsD9B,UAAU,CAAC,MAAM,EAAE,oBAAoB,GAAG,aAAa,CAAC,WAAW,CAAC;IAkZrE,UAAU,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAmD5D,wBAAwB,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,cAAc,GACxB,SAAS,eAAe,EAAE,GAAG,SAAS;IAInC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK5F,+FAA+F;IAC/F,OAAO,CAAC,gBAAgB;IAKxB,4EAA4E;IAC5E,OAAO,CAAC,KAAK;IAIb;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO;CAqEf;AAED,qBAAa,aAAc,SAAQ,WAAW;gBACjC,MAAM,EAAE,WAAW;CAG/B"}
|
package/dist/client.js
CHANGED
|
@@ -22,6 +22,20 @@ export const ZEN_CAPABILITIES = {
|
|
|
22
22
|
};
|
|
23
23
|
export const ZEN_BASE_URL = 'https://opencode.ai/zen/v1';
|
|
24
24
|
export const ZEN_GO_BASE_URL = 'https://opencode.ai/zen/go/v1';
|
|
25
|
+
/**
|
|
26
|
+
* The host the anonymous free tier is served from.
|
|
27
|
+
*
|
|
28
|
+
* `ZEN_BASE_URL` remains the route for every keyed request, but the free-tier
|
|
29
|
+
* gateway refuses anonymous traffic on it: `POST /zen/v1/chat/completions`
|
|
30
|
+
* answers `403 FreeTierError` ("can only be used from within OpenCode") no
|
|
31
|
+
* matter how faithfully the request is shaped. The same request against
|
|
32
|
+
* `/inference/v1/chat/completions` is admitted, and that is the path OpenCode
|
|
33
|
+
* itself now speaks. Only the chat route is reachable anonymously — `/models`
|
|
34
|
+
* answers on both, and the Anthropic and Responses routes answer `401 Missing
|
|
35
|
+
* API key` on either, which is why the gate never offered them free access to
|
|
36
|
+
* begin with.
|
|
37
|
+
*/
|
|
38
|
+
export const ZEN_FREE_TIER_BASE_URL = 'https://opencode.ai/inference/v1';
|
|
25
39
|
function withoutMuseSparkEncryptedReasoning(init) {
|
|
26
40
|
// The pinned OpenAI adapter adds this include automatically whenever a
|
|
27
41
|
// reasoning model uses store:false, even if providerOptions omits it.
|
|
@@ -342,6 +356,11 @@ export class ZenProvider {
|
|
|
342
356
|
// always registers. A caller-owned base URL is not the gateway, so the
|
|
343
357
|
// identity stays off it.
|
|
344
358
|
const freeTierGate = this.anonymous && this.baseURL === ZEN_BASE_URL;
|
|
359
|
+
// Shape alone is not enough on `ZEN_BASE_URL`: the gateway turned the
|
|
360
|
+
// anonymous route away there and answers `403 FreeTierError`. Serve the
|
|
361
|
+
// gated request from the host that still admits it, and leave every
|
|
362
|
+
// keyed request on `this.baseURL`.
|
|
363
|
+
const requestBaseURL = freeTierGate ? ZEN_FREE_TIER_BASE_URL : this.baseURL;
|
|
345
364
|
const gateSession = freeTierGate
|
|
346
365
|
? experimentalOpenCodeSessionId(this.sessionId)
|
|
347
366
|
: this.sessionId;
|
|
@@ -376,7 +395,7 @@ export class ZenProvider {
|
|
|
376
395
|
options.abortSignal = signal;
|
|
377
396
|
const settings = {
|
|
378
397
|
apiKey: this.apiKey,
|
|
379
|
-
baseURL:
|
|
398
|
+
baseURL: requestBaseURL,
|
|
380
399
|
fetch: ((input, init) => {
|
|
381
400
|
// The pinned Google adapter converts JSON Schema into an OpenAPI subset,
|
|
382
401
|
// dropping constraints. Use the endpoint's JSON Schema field instead.
|