@molecule/api-resource-ai-models 1.6.3 → 1.8.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 +90 -7
- package/dist/lookup.d.ts.map +1 -1
- package/dist/lookup.js +10 -4
- package/dist/models.d.ts +44 -6
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +397 -100
- package/dist/types.d.ts +49 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@ AUTO-GENERATED — DO NOT EDIT THIS FILE.
|
|
|
3
3
|
Generated by `mlcl sync-docs` from the package's src/index.ts JSDoc + mlcl/registry.json.
|
|
4
4
|
Edits here are overwritten on the next commit (molecule's pre-commit hook regenerates).
|
|
5
5
|
To change this document, edit the module-level JSDoc in src/index.ts.
|
|
6
|
-
Generated: 2026-09-
|
|
6
|
+
Generated: 2026-09-24T07:06:51.686Z
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
9
|
# @molecule/api-resource-ai-models
|
|
@@ -159,6 +159,31 @@ interface ModelDefinition {
|
|
|
159
159
|
* both together; until then, working-without-reasoning beats 400.
|
|
160
160
|
*/
|
|
161
161
|
toolsRequireReasoningOff?: boolean
|
|
162
|
+
/**
|
|
163
|
+
* The provider rejects a FORCED tool choice for this model — Anthropic
|
|
164
|
+
* `tool_choice` `any` / `tool` answer 400 on claude-fable-5-1 and
|
|
165
|
+
* claude-opus-5-5, and Moonshot rejects `required` while thinking is on,
|
|
166
|
+
* which it always is on kimi-k2.7-code (all probed live 2026-09-23). `auto`
|
|
167
|
+
* works and the model still calls the tool. Callers that would force a tool call (Synthase
|
|
168
|
+
* discovery, starting-point selection) must send `auto` for these models;
|
|
169
|
+
* molecule-dev resolves that in one place (`toolChoiceParam` in
|
|
170
|
+
* request-shape.ts) and its live dispatch check probes the forced shape for
|
|
171
|
+
* every model, so a new model with this restriction fails the check instead
|
|
172
|
+
* of every discovery turn.
|
|
173
|
+
*/
|
|
174
|
+
rejectsForcedToolChoice?: boolean
|
|
175
|
+
/**
|
|
176
|
+
* The provider rejects a caller-chosen `temperature` for this model —
|
|
177
|
+
* Anthropic answers 400 "`temperature` is deprecated for this model" on the
|
|
178
|
+
* Claude 5 family and Opus 4.7/4.8 (Opus 4.6, Sonnet 4.6 and Haiku 4.5 still
|
|
179
|
+
* accept it), and Moonshot's native host allows only 1 on kimi-k3 and
|
|
180
|
+
* kimi-k2.7-code (all probed live 2026-09-23). Omitting it is always safe. Callers that set a temperature (commit
|
|
181
|
+
* messages, starting-point selection) must omit it for these models;
|
|
182
|
+
* molecule-dev resolves that in one place (`temperatureParam` in
|
|
183
|
+
* request-shape.ts), and its live dispatch check sends the tool-less,
|
|
184
|
+
* temperature-0 shape to every model.
|
|
185
|
+
*/
|
|
186
|
+
rejectsTemperature?: boolean
|
|
162
187
|
/**
|
|
163
188
|
* Provider-specific server tool type for web search (e.g. `'web_search_20250305'`).
|
|
164
189
|
* When set, the chat handler sends this as a ServerTool alongside custom tools.
|
|
@@ -265,10 +290,26 @@ interface ModelDefinition {
|
|
|
265
290
|
* over-bill this field exists to prevent. A wrapping window belongs to the
|
|
266
291
|
* day it STARTS on, so its post-midnight tail is still matched against the
|
|
267
292
|
* previous day.
|
|
293
|
+
*
|
|
294
|
+
* `excludedDatesUtc` lists `YYYY-MM-DD` dates on which no window applies —
|
|
295
|
+
* a provider's public holidays. DeepSeek's peak excludes Chinese public
|
|
296
|
+
* holidays (its pricing page, 2026-09-23); without the list those days bill
|
|
297
|
+
* at 2× while the provider charges off-peak. A date is matched against the
|
|
298
|
+
* day a window STARTS on (UTC), like `daysOfWeekUtc`. The list is DATA that
|
|
299
|
+
* runs out: check-model-freshness warns when the coming year has no dates.
|
|
300
|
+
*
|
|
301
|
+
* `rule` is the provider's own sentence defining these windows, verbatim,
|
|
302
|
+
* and the page that publishes it. check-model-freshness re-reads the page on
|
|
303
|
+
* every run and warns the moment the sentence changes — the windows are only
|
|
304
|
+
* as right as the last reading, and DeepSeek has amended its rule twice
|
|
305
|
+
* (a weekday qualifier by 2026-08-31, a holiday exclusion by 2026-09-23)
|
|
306
|
+
* without anything here noticing.
|
|
268
307
|
*/
|
|
269
308
|
peakPricing?: {
|
|
270
309
|
windows: { startMinuteUtc: number; endMinuteUtc: number; daysOfWeekUtc?: number[] }[]
|
|
271
310
|
multiplier: number
|
|
311
|
+
excludedDatesUtc?: string[]
|
|
312
|
+
rule?: { url: string; text: string }
|
|
272
313
|
}
|
|
273
314
|
/**
|
|
274
315
|
* A price change the provider has ANNOUNCED with a dated effective instant,
|
|
@@ -317,6 +358,8 @@ interface ModelDefinition {
|
|
|
317
358
|
peakPricing?: {
|
|
318
359
|
windows: { startMinuteUtc: number; endMinuteUtc: number; daysOfWeekUtc?: number[] }[]
|
|
319
360
|
multiplier: number
|
|
361
|
+
excludedDatesUtc?: string[]
|
|
362
|
+
rule?: { url: string; text: string }
|
|
320
363
|
}
|
|
321
364
|
/** Where the change was announced, for the re-verify pass after it lands. */
|
|
322
365
|
source?: string
|
|
@@ -543,6 +586,8 @@ function effectivePeakPricing(
|
|
|
543
586
|
| {
|
|
544
587
|
windows: { startMinuteUtc: number; endMinuteUtc: number; daysOfWeekUtc?: number[] }[]
|
|
545
588
|
multiplier: number
|
|
589
|
+
excludedDatesUtc?: string[]
|
|
590
|
+
rule?: { url: string; text: string }
|
|
546
591
|
}
|
|
547
592
|
| undefined
|
|
548
593
|
```
|
|
@@ -786,7 +831,8 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
|
|
|
786
831
|
`npm run check:model-freshness` from the workspace root):
|
|
787
832
|
|
|
788
833
|
- Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
|
|
789
|
-
- /docs/en/build-with-claude/effort (fable-5 / opus-5 / sonnet-5
|
|
834
|
+
- /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
|
|
835
|
+
current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
|
|
790
836
|
opus-4-8 superseded by opus-5 at identical pricing but still served — it is
|
|
791
837
|
the recommended refusal-fallback model; effort ladder on all three current
|
|
792
838
|
models is low|medium|high|xhigh|max; budget_tokens 400s on 4.7+)
|
|
@@ -816,6 +862,17 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
|
|
|
816
862
|
any/tool now 400s, thinking blocks are model-bound, editing earlier turns
|
|
817
863
|
invalidates them) — Synthase sends tool_choice auto and is append-only,
|
|
818
864
|
and the pre-commit dispatch probe covers the entry as sent.)
|
|
865
|
+
(verified 2026-09-23 — ADDED claude-opus-5-5, released 2026-09-22 and
|
|
866
|
+
listed as "Active (latest)" on /docs/en/models/opus-5-5/overview; the
|
|
867
|
+
overview page now lists claude-opus-5 under "Legacy models (still
|
|
868
|
+
available)" → superseded, with opus-4-8/4-7/4-6 repointed one hop.
|
|
869
|
+
Pricing page: $4/$20, 5m cache write $5, cache hits $0.20 (footnote 2:
|
|
870
|
+
0.05× input on Opus 5.5 only), fast mode $8/$40. 1M ctx / 128K out, text +
|
|
871
|
+
image input, reliable knowledge cutoff Jun 2026. Effort page: all five
|
|
872
|
+
levels, default MEDIUM. What's-new page: thinking always on
|
|
873
|
+
(disabled/budget_tokens 400), tool_choice any/tool 400, computer_20251124
|
|
874
|
+
400 — Synthase sends none of those. Every other Anthropic price on the
|
|
875
|
+
pricing page is unchanged.)
|
|
819
876
|
- OpenAI: https://developers.openai.com/api/docs/pricing (GPT-5.6 family GA
|
|
820
877
|
2026-07-09; REPRICED 2026-07-30: -luna cut 80% to $0.20/$1.20, -terra cut
|
|
821
878
|
20% to $2/$12, -sol unchanged $5/$30; cache read 0.1× input; gpt-5.5/
|
|
@@ -836,10 +893,20 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
|
|
|
836
893
|
request ($20/$75, cached $2, cache writes $25): 2× input/cache, 1.5×
|
|
837
894
|
output. The catalog's price fields are flat per-MTok rates with no
|
|
838
895
|
context-band dimension, so that band is NOT modeled, exactly as the
|
|
839
|
-
> 200K tiers above are not.
|
|
840
|
-
>
|
|
841
|
-
>
|
|
842
|
-
>
|
|
896
|
+
> 200K tiers above are not. Astra was withheld at the time: it could not serve a
|
|
897
|
+
> tool-carrying request on /v1/chat/completions.)
|
|
898
|
+
> (re-verified 2026-09-24 on the gpt-6-astra model page: ADDED gpt-6-astra
|
|
899
|
+
> ($10/$50, cached $1, cache writes $12.50; 1.05M ctx / 128K out; image
|
|
900
|
+
> input; knowledge cutoff Apr 30 2026; effort low|medium|high|xhigh|max),
|
|
901
|
+
> now that the bond calls /v1/responses.)
|
|
902
|
+
> (re-verified 2026-09-23: ADDED gpt-6-sol ($2/$10, cached $0.20, cache
|
|
903
|
+
writes $2.50) and gpt-6-luna ($0.10/$0.50, cached $0.01, cache writes
|
|
904
|
+
$0.125), released 2026-09-22 — both with the same unmodeled >272K band,
|
|
905
|
+
> 1.05M ctx / 128K out, image input, knowledge cutoff Apr 20 / May 18 2026
|
|
906
|
+
> per their model pages. Unlike astra they serve tool-carrying requests on
|
|
907
|
+
> /v1/chat/completions with reasoning_effort 'none'. The 5.6 family is now
|
|
908
|
+
> superseded; every 5.6 price on the page is unchanged and the -sol promo
|
|
909
|
+
> footnote still reads "at least through November 21, 2026".)
|
|
843
910
|
- Google: https://ai.google.dev/gemini-api/docs/pricing (gemini-3.6-flash GA
|
|
844
911
|
2026-07-21 $1.50/$7.50 supersedes 3.5-flash as the agentic flagship;
|
|
845
912
|
gemini-3.1-pro-preview still the pro tier — "3.5 Pro" has NOT shipped as
|
|
@@ -872,8 +939,16 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
|
|
|
872
939
|
not modeled; reasoning_effort low|medium|high default high, image input;
|
|
873
940
|
grok-4.3 still served at $1.25/$2.50 with the bigger 1M window;
|
|
874
941
|
grok-code-fast-1 no longer listed — retires 2026-08-15)
|
|
942
|
+
- Chinese public holidays (DeepSeek's peak excludes them):
|
|
943
|
+
https://www.12371.gov.cn/web/article/web/content_1451614684968525824.html
|
|
944
|
+
(the State Council's 2026 notice; see CHINA_PUBLIC_HOLIDAYS)
|
|
875
945
|
- DeepSeek: https://api-docs.deepseek.com/quick_start/pricing +
|
|
876
|
-
/updates/ (verified 2026-09-
|
|
946
|
+
/updates/ (verified 2026-09-23 — the announced 2026-09-14 routing of
|
|
947
|
+
`deepseek-v4-pro` to V4.1 Flash was WITHDRAWN: V4 Pro keeps its card
|
|
948
|
+
0.66/1.98/0.022 off-peak, so its staged `scheduledPricing` was deleted.
|
|
949
|
+
The card now also says peak hours exclude Chinese public holidays, which
|
|
950
|
+
`peakPricing` cannot express — peak is billed on those weekdays too.
|
|
951
|
+
Earlier, 2026-09-10: legacy deepseek-chat/-reasoner ids fully
|
|
877
952
|
retired 2026-07-24 — never in this catalog. The 2026-09-10 re-read caught
|
|
878
953
|
the V4.1-Flash release DAY-OF: new evergreen id `deepseek-flash` at
|
|
879
954
|
off-peak miss $0.15 / hit $0.003 / out $0.6 (peak ×2, same Mon-Fri UTC
|
|
@@ -958,6 +1033,14 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
|
|
|
958
1033
|
card again — $0.15/$0.50, cached input $0.03, no promo footnote. models.dev
|
|
959
1034
|
still carries the expired promo rate, so the KNOWN_DIVERGENCES entry now
|
|
960
1035
|
runs to a fixed 2026-12-09 re-verify date.)
|
|
1036
|
+
(verified 2026-09-23: glm-5.3-flashx ADDED — the ~200 tokens/s tier of the
|
|
1037
|
+
GLM-5.3-Flash series. Pricing page: $0.37/$1.25, cached input $0.075,
|
|
1038
|
+
cache storage free. Chat-completion reference: id `glm-5.3-flashx` in the
|
|
1039
|
+
vision request enum, 128K max output, reasoning_effort low|high|max
|
|
1040
|
+
(default max), function tools supported. GLM-5.3-Flash guide: 1M ctx,
|
|
1041
|
+
video/image/text/file input. No published knowledge cutoff. Not on
|
|
1042
|
+
DeepInfra (zai-org/GLM-5.3-FlashX 404s), so cn-region-only. glm-5.3 and
|
|
1043
|
+
glm-5.3-flash rates unchanged on the same page.)
|
|
961
1044
|
|
|
962
1045
|
Knowledge-cutoff dates on non-Anthropic entries are best-effort estimates
|
|
963
1046
|
where the provider doesn't publish one; the provider sources above verify
|
package/dist/lookup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../src/lookup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE/D;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,cAAc,CAAC,GACxD,OAAO,CAET;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASvE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,MAAM,CAEzC,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,eAAe,EAAE,CAEtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,SAAS,YAAY,EAAE,GACtE,SAAS,eAAe,EAAE,CAI5B;AAoBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,EAAE,GAAE,IAAiB,GACpB,eAAe,CAgBjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,EAAE,GAAE,IAAiB,GACpB,eAAe,CAAC,aAAa,CAAC,CAMhC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,EAAE,GAAE,IAAiB,GACpB,eAAe,CASjB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,GAAG,SAAS,EACrC,EAAE,EAAE,IAAI,EACR,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,
|
|
1
|
+
{"version":3,"file":"lookup.d.ts","sourceRoot":"","sources":["../src/lookup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE/D;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,cAAc,CAAC,GACxD,OAAO,CAET;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASvE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,EAAE,WAAW,CAAC,MAAM,CAEzC,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,eAAe,EAAE,CAEtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,kBAAkB,EAAE,WAAW,CAAC,YAAY,CAAC,GAAG,SAAS,YAAY,EAAE,GACtE,SAAS,eAAe,EAAE,CAI5B;AAoBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,EAAE,GAAE,IAAiB,GACpB,eAAe,CAgBjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,EAAE,GAAE,IAAiB,GACpB,eAAe,CAAC,aAAa,CAAC,CAMhC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,EAAE,GAAE,IAAiB,GACpB,eAAe,CASjB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,eAAe,GAAG,SAAS,EACrC,EAAE,EAAE,IAAI,EACR,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CA2BR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,GAAG,SAAS,EACrC,SAAS,CAAC,EAAE,MAAM,GACjB,MAAM,CAGR;AAED,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,iBAAiB,EAAE,MAAM,CAAA;IACzB,8CAA8C;IAC9C,kBAAkB,EAAE,MAAM,CAAA;IAC1B,yDAAyD;IACzD,qBAAqB,EAAE,MAAM,CAAA;IAC7B,0DAA0D;IAC1D,sBAAsB,EAAE,MAAM,CAAA;CAC/B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,eAAe,EACzB,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,GAAE,IAAiB,GACpB,eAAe,CAYjB"}
|
package/dist/lookup.js
CHANGED
|
@@ -217,14 +217,20 @@ export function priceMultiplierAt(modelDef, at, region) {
|
|
|
217
217
|
: minute >= w.startMinuteUtc && minute < w.endMinuteUtc;
|
|
218
218
|
if (!inWindow)
|
|
219
219
|
continue;
|
|
220
|
+
// A wrapping window belongs to the day it STARTED on, so its
|
|
221
|
+
// post-midnight tail is matched against the previous UTC day — a
|
|
222
|
+
// Friday-only 23:00-02:00 window must still be peak at Saturday 00:30.
|
|
223
|
+
const startedYesterday = wraps && minute < w.endMinuteUtc;
|
|
220
224
|
if (w.daysOfWeekUtc && w.daysOfWeekUtc.length > 0) {
|
|
221
|
-
|
|
222
|
-
// post-midnight tail is matched against the previous UTC day — a
|
|
223
|
-
// Friday-only 23:00-02:00 window must still be peak at Saturday 00:30.
|
|
224
|
-
const day = wraps && minute < w.endMinuteUtc ? (at.getUTCDay() + 6) % 7 : at.getUTCDay();
|
|
225
|
+
const day = startedYesterday ? (at.getUTCDay() + 6) % 7 : at.getUTCDay();
|
|
225
226
|
if (!w.daysOfWeekUtc.includes(day))
|
|
226
227
|
continue;
|
|
227
228
|
}
|
|
229
|
+
if (peak.excludedDatesUtc && peak.excludedDatesUtc.length > 0) {
|
|
230
|
+
const started = new Date(at.getTime() - (startedYesterday ? 86_400_000 : 0));
|
|
231
|
+
if (peak.excludedDatesUtc.includes(started.toISOString().slice(0, 10)))
|
|
232
|
+
continue;
|
|
233
|
+
}
|
|
228
234
|
return peak.multiplier;
|
|
229
235
|
}
|
|
230
236
|
return 1;
|
package/dist/models.d.ts
CHANGED
|
@@ -54,7 +54,8 @@ import type { ModelDefinition } from './types.js';
|
|
|
54
54
|
* 2026-07-30 GPT-5.6 repricing — cross-check prices against models.dev with
|
|
55
55
|
* `npm run check:model-freshness` from the workspace root):
|
|
56
56
|
* - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
|
|
57
|
-
* + /docs/en/build-with-claude/effort (fable-5 / opus-5 / sonnet-5
|
|
57
|
+
* + /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
|
|
58
|
+
* current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
|
|
58
59
|
* opus-4-8 superseded by opus-5 at identical pricing but still served — it is
|
|
59
60
|
* the recommended refusal-fallback model; effort ladder on all three current
|
|
60
61
|
* models is low|medium|high|xhigh|max; budget_tokens 400s on 4.7+)
|
|
@@ -84,6 +85,17 @@ import type { ModelDefinition } from './types.js';
|
|
|
84
85
|
* any/tool now 400s, thinking blocks are model-bound, editing earlier turns
|
|
85
86
|
* invalidates them) — Synthase sends tool_choice auto and is append-only,
|
|
86
87
|
* and the pre-commit dispatch probe covers the entry as sent.)
|
|
88
|
+
* (verified 2026-09-23 — ADDED claude-opus-5-5, released 2026-09-22 and
|
|
89
|
+
* listed as "Active (latest)" on /docs/en/models/opus-5-5/overview; the
|
|
90
|
+
* overview page now lists claude-opus-5 under "Legacy models (still
|
|
91
|
+
* available)" → superseded, with opus-4-8/4-7/4-6 repointed one hop.
|
|
92
|
+
* Pricing page: $4/$20, 5m cache write $5, cache hits $0.20 (footnote 2:
|
|
93
|
+
* 0.05× input on Opus 5.5 only), fast mode $8/$40. 1M ctx / 128K out, text +
|
|
94
|
+
* image input, reliable knowledge cutoff Jun 2026. Effort page: all five
|
|
95
|
+
* levels, default MEDIUM. What's-new page: thinking always on
|
|
96
|
+
* (disabled/budget_tokens 400), tool_choice any/tool 400, computer_20251124
|
|
97
|
+
* 400 — Synthase sends none of those. Every other Anthropic price on the
|
|
98
|
+
* pricing page is unchanged.)
|
|
87
99
|
* - OpenAI: https://developers.openai.com/api/docs/pricing (GPT-5.6 family GA
|
|
88
100
|
* 2026-07-09; REPRICED 2026-07-30: -luna cut 80% to $0.20/$1.20, -terra cut
|
|
89
101
|
* 20% to $2/$12, -sol unchanged $5/$30; cache read 0.1× input; gpt-5.5/
|
|
@@ -104,10 +116,20 @@ import type { ModelDefinition } from './types.js';
|
|
|
104
116
|
* request ($20/$75, cached $2, cache writes $25): 2× input/cache, 1.5×
|
|
105
117
|
* output. The catalog's price fields are flat per-MTok rates with no
|
|
106
118
|
* context-band dimension, so that band is NOT modeled, exactly as the
|
|
107
|
-
* >200K tiers above are not.
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
119
|
+
* >200K tiers above are not. Astra was withheld at the time: it could not serve a
|
|
120
|
+
* tool-carrying request on /v1/chat/completions.)
|
|
121
|
+
* (re-verified 2026-09-24 on the gpt-6-astra model page: ADDED gpt-6-astra
|
|
122
|
+
* ($10/$50, cached $1, cache writes $12.50; 1.05M ctx / 128K out; image
|
|
123
|
+
* input; knowledge cutoff Apr 30 2026; effort low|medium|high|xhigh|max),
|
|
124
|
+
* now that the bond calls /v1/responses.)
|
|
125
|
+
* (re-verified 2026-09-23: ADDED gpt-6-sol ($2/$10, cached $0.20, cache
|
|
126
|
+
* writes $2.50) and gpt-6-luna ($0.10/$0.50, cached $0.01, cache writes
|
|
127
|
+
* $0.125), released 2026-09-22 — both with the same unmodeled >272K band,
|
|
128
|
+
* 1.05M ctx / 128K out, image input, knowledge cutoff Apr 20 / May 18 2026
|
|
129
|
+
* per their model pages. Unlike astra they serve tool-carrying requests on
|
|
130
|
+
* /v1/chat/completions with reasoning_effort 'none'. The 5.6 family is now
|
|
131
|
+
* superseded; every 5.6 price on the page is unchanged and the -sol promo
|
|
132
|
+
* footnote still reads "at least through November 21, 2026".)
|
|
111
133
|
* - Google: https://ai.google.dev/gemini-api/docs/pricing (gemini-3.6-flash GA
|
|
112
134
|
* 2026-07-21 $1.50/$7.50 supersedes 3.5-flash as the agentic flagship;
|
|
113
135
|
* gemini-3.1-pro-preview still the pro tier — "3.5 Pro" has NOT shipped as
|
|
@@ -140,8 +162,16 @@ import type { ModelDefinition } from './types.js';
|
|
|
140
162
|
* not modeled; reasoning_effort low|medium|high default high, image input;
|
|
141
163
|
* grok-4.3 still served at $1.25/$2.50 with the bigger 1M window;
|
|
142
164
|
* grok-code-fast-1 no longer listed — retires 2026-08-15)
|
|
165
|
+
* - Chinese public holidays (DeepSeek's peak excludes them):
|
|
166
|
+
* https://www.12371.gov.cn/web/article/web/content_1451614684968525824.html
|
|
167
|
+
* (the State Council's 2026 notice; see CHINA_PUBLIC_HOLIDAYS)
|
|
143
168
|
* - DeepSeek: https://api-docs.deepseek.com/quick_start/pricing +
|
|
144
|
-
* /updates/ (verified 2026-09-
|
|
169
|
+
* /updates/ (verified 2026-09-23 — the announced 2026-09-14 routing of
|
|
170
|
+
* `deepseek-v4-pro` to V4.1 Flash was WITHDRAWN: V4 Pro keeps its card
|
|
171
|
+
* 0.66/1.98/0.022 off-peak, so its staged `scheduledPricing` was deleted.
|
|
172
|
+
* The card now also says peak hours exclude Chinese public holidays, which
|
|
173
|
+
* `peakPricing` cannot express — peak is billed on those weekdays too.
|
|
174
|
+
* Earlier, 2026-09-10: legacy deepseek-chat/-reasoner ids fully
|
|
145
175
|
* retired 2026-07-24 — never in this catalog. The 2026-09-10 re-read caught
|
|
146
176
|
* the V4.1-Flash release DAY-OF: new evergreen id `deepseek-flash` at
|
|
147
177
|
* off-peak miss $0.15 / hit $0.003 / out $0.6 (peak ×2, same Mon-Fri UTC
|
|
@@ -226,6 +256,14 @@ import type { ModelDefinition } from './types.js';
|
|
|
226
256
|
* card again — $0.15/$0.50, cached input $0.03, no promo footnote. models.dev
|
|
227
257
|
* still carries the expired promo rate, so the KNOWN_DIVERGENCES entry now
|
|
228
258
|
* runs to a fixed 2026-12-09 re-verify date.)
|
|
259
|
+
* (verified 2026-09-23: glm-5.3-flashx ADDED — the ~200 tokens/s tier of the
|
|
260
|
+
* GLM-5.3-Flash series. Pricing page: $0.37/$1.25, cached input $0.075,
|
|
261
|
+
* cache storage free. Chat-completion reference: id `glm-5.3-flashx` in the
|
|
262
|
+
* vision request enum, 128K max output, reasoning_effort low|high|max
|
|
263
|
+
* (default max), function tools supported. GLM-5.3-Flash guide: 1M ctx,
|
|
264
|
+
* video/image/text/file input. No published knowledge cutoff. Not on
|
|
265
|
+
* DeepInfra (zai-org/GLM-5.3-FlashX 404s), so cn-region-only. glm-5.3 and
|
|
266
|
+
* glm-5.3-flash rates unchanged on the same page.)
|
|
229
267
|
*
|
|
230
268
|
* Knowledge-cutoff dates on non-Anthropic entries are best-effort estimates
|
|
231
269
|
* where the provider doesn't publish one; the provider sources above verify
|
package/dist/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAwDjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoQG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EAqkEnC,CAAA"}
|
package/dist/models.js
CHANGED
|
@@ -12,6 +12,51 @@
|
|
|
12
12
|
* prices by business day rather than by hour alone.
|
|
13
13
|
*/
|
|
14
14
|
const WEEKDAYS_UTC = [1, 2, 3, 4, 5];
|
|
15
|
+
/**
|
|
16
|
+
* DeepSeek's own sentence defining its peak windows, verbatim (pricing page,
|
|
17
|
+
* re-read 2026-09-23). check-model-freshness warns when the page stops saying
|
|
18
|
+
* exactly this — then the windows and CHINA_PUBLIC_HOLIDAYS need re-reading.
|
|
19
|
+
*/
|
|
20
|
+
const DEEPSEEK_PEAK_RULE = {
|
|
21
|
+
url: 'https://api-docs.deepseek.com/quick_start/pricing',
|
|
22
|
+
text: 'Peak hours are 01:00 - 04:00 and 06:00 - 10:00 UTC, Monday through Friday, excluding Chinese public holidays.',
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Every date from `from` to `to` inclusive, as YYYY-MM-DD.
|
|
26
|
+
*
|
|
27
|
+
* @param from - First date (YYYY-MM-DD).
|
|
28
|
+
* @param to - Last date (YYYY-MM-DD).
|
|
29
|
+
* @returns The dates.
|
|
30
|
+
*/
|
|
31
|
+
function dateRange(from, to) {
|
|
32
|
+
const out = [];
|
|
33
|
+
for (let t = Date.parse(`${from}T00:00:00Z`); t <= Date.parse(`${to}T00:00:00Z`); t += 86_400_000)
|
|
34
|
+
out.push(new Date(t).toISOString().slice(0, 10));
|
|
35
|
+
return out;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Chinese public holidays (the 放假 ranges), for `peakPricing.excludedDatesUtc`
|
|
39
|
+
* on the DeepSeek models: their peak is "01:00 - 04:00 and 06:00 - 10:00 UTC,
|
|
40
|
+
* Monday through Friday, excluding Chinese public holidays" (pricing page,
|
|
41
|
+
* 2026-09-23). Those windows are 09:00–12:00 and 14:00–18:00 Beijing time, so
|
|
42
|
+
* the Beijing holiday date IS the UTC date of every window.
|
|
43
|
+
*
|
|
44
|
+
* Source — the State Council's notice for 2026 (国办发明电〔2025〕7号), read
|
|
45
|
+
* 2026-09-23 at https://www.12371.gov.cn/web/article/web/content_1451614684968525824.html.
|
|
46
|
+
* Make-up working days (调休 weekends) need no entry: the peak is Mon–Fri only.
|
|
47
|
+
*
|
|
48
|
+
* ADD NEXT YEAR'S DATES when the State Council publishes them (each November);
|
|
49
|
+
* check-model-freshness warns 45 days before a year with no dates here.
|
|
50
|
+
*/
|
|
51
|
+
const CHINA_PUBLIC_HOLIDAYS = [
|
|
52
|
+
...dateRange('2026-01-01', '2026-01-03'), // 元旦
|
|
53
|
+
...dateRange('2026-02-15', '2026-02-23'), // 春节
|
|
54
|
+
...dateRange('2026-04-04', '2026-04-06'), // 清明节
|
|
55
|
+
...dateRange('2026-05-01', '2026-05-05'), // 劳动节
|
|
56
|
+
...dateRange('2026-06-19', '2026-06-21'), // 端午节
|
|
57
|
+
...dateRange('2026-09-25', '2026-09-27'), // 中秋节
|
|
58
|
+
...dateRange('2026-10-01', '2026-10-07'), // 国庆节
|
|
59
|
+
];
|
|
15
60
|
/**
|
|
16
61
|
* All available AI models, grouped by provider, ordered from most to least capable.
|
|
17
62
|
*
|
|
@@ -58,7 +103,8 @@ const WEEKDAYS_UTC = [1, 2, 3, 4, 5];
|
|
|
58
103
|
* 2026-07-30 GPT-5.6 repricing — cross-check prices against models.dev with
|
|
59
104
|
* `npm run check:model-freshness` from the workspace root):
|
|
60
105
|
* - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
|
|
61
|
-
* + /docs/en/build-with-claude/effort (fable-5 / opus-5 / sonnet-5
|
|
106
|
+
* + /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
|
|
107
|
+
* current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
|
|
62
108
|
* opus-4-8 superseded by opus-5 at identical pricing but still served — it is
|
|
63
109
|
* the recommended refusal-fallback model; effort ladder on all three current
|
|
64
110
|
* models is low|medium|high|xhigh|max; budget_tokens 400s on 4.7+)
|
|
@@ -88,6 +134,17 @@ const WEEKDAYS_UTC = [1, 2, 3, 4, 5];
|
|
|
88
134
|
* any/tool now 400s, thinking blocks are model-bound, editing earlier turns
|
|
89
135
|
* invalidates them) — Synthase sends tool_choice auto and is append-only,
|
|
90
136
|
* and the pre-commit dispatch probe covers the entry as sent.)
|
|
137
|
+
* (verified 2026-09-23 — ADDED claude-opus-5-5, released 2026-09-22 and
|
|
138
|
+
* listed as "Active (latest)" on /docs/en/models/opus-5-5/overview; the
|
|
139
|
+
* overview page now lists claude-opus-5 under "Legacy models (still
|
|
140
|
+
* available)" → superseded, with opus-4-8/4-7/4-6 repointed one hop.
|
|
141
|
+
* Pricing page: $4/$20, 5m cache write $5, cache hits $0.20 (footnote 2:
|
|
142
|
+
* 0.05× input on Opus 5.5 only), fast mode $8/$40. 1M ctx / 128K out, text +
|
|
143
|
+
* image input, reliable knowledge cutoff Jun 2026. Effort page: all five
|
|
144
|
+
* levels, default MEDIUM. What's-new page: thinking always on
|
|
145
|
+
* (disabled/budget_tokens 400), tool_choice any/tool 400, computer_20251124
|
|
146
|
+
* 400 — Synthase sends none of those. Every other Anthropic price on the
|
|
147
|
+
* pricing page is unchanged.)
|
|
91
148
|
* - OpenAI: https://developers.openai.com/api/docs/pricing (GPT-5.6 family GA
|
|
92
149
|
* 2026-07-09; REPRICED 2026-07-30: -luna cut 80% to $0.20/$1.20, -terra cut
|
|
93
150
|
* 20% to $2/$12, -sol unchanged $5/$30; cache read 0.1× input; gpt-5.5/
|
|
@@ -108,10 +165,20 @@ const WEEKDAYS_UTC = [1, 2, 3, 4, 5];
|
|
|
108
165
|
* request ($20/$75, cached $2, cache writes $25): 2× input/cache, 1.5×
|
|
109
166
|
* output. The catalog's price fields are flat per-MTok rates with no
|
|
110
167
|
* context-band dimension, so that band is NOT modeled, exactly as the
|
|
111
|
-
* >200K tiers above are not.
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
168
|
+
* >200K tiers above are not. Astra was withheld at the time: it could not serve a
|
|
169
|
+
* tool-carrying request on /v1/chat/completions.)
|
|
170
|
+
* (re-verified 2026-09-24 on the gpt-6-astra model page: ADDED gpt-6-astra
|
|
171
|
+
* ($10/$50, cached $1, cache writes $12.50; 1.05M ctx / 128K out; image
|
|
172
|
+
* input; knowledge cutoff Apr 30 2026; effort low|medium|high|xhigh|max),
|
|
173
|
+
* now that the bond calls /v1/responses.)
|
|
174
|
+
* (re-verified 2026-09-23: ADDED gpt-6-sol ($2/$10, cached $0.20, cache
|
|
175
|
+
* writes $2.50) and gpt-6-luna ($0.10/$0.50, cached $0.01, cache writes
|
|
176
|
+
* $0.125), released 2026-09-22 — both with the same unmodeled >272K band,
|
|
177
|
+
* 1.05M ctx / 128K out, image input, knowledge cutoff Apr 20 / May 18 2026
|
|
178
|
+
* per their model pages. Unlike astra they serve tool-carrying requests on
|
|
179
|
+
* /v1/chat/completions with reasoning_effort 'none'. The 5.6 family is now
|
|
180
|
+
* superseded; every 5.6 price on the page is unchanged and the -sol promo
|
|
181
|
+
* footnote still reads "at least through November 21, 2026".)
|
|
115
182
|
* - Google: https://ai.google.dev/gemini-api/docs/pricing (gemini-3.6-flash GA
|
|
116
183
|
* 2026-07-21 $1.50/$7.50 supersedes 3.5-flash as the agentic flagship;
|
|
117
184
|
* gemini-3.1-pro-preview still the pro tier — "3.5 Pro" has NOT shipped as
|
|
@@ -144,8 +211,16 @@ const WEEKDAYS_UTC = [1, 2, 3, 4, 5];
|
|
|
144
211
|
* not modeled; reasoning_effort low|medium|high default high, image input;
|
|
145
212
|
* grok-4.3 still served at $1.25/$2.50 with the bigger 1M window;
|
|
146
213
|
* grok-code-fast-1 no longer listed — retires 2026-08-15)
|
|
214
|
+
* - Chinese public holidays (DeepSeek's peak excludes them):
|
|
215
|
+
* https://www.12371.gov.cn/web/article/web/content_1451614684968525824.html
|
|
216
|
+
* (the State Council's 2026 notice; see CHINA_PUBLIC_HOLIDAYS)
|
|
147
217
|
* - DeepSeek: https://api-docs.deepseek.com/quick_start/pricing +
|
|
148
|
-
* /updates/ (verified 2026-09-
|
|
218
|
+
* /updates/ (verified 2026-09-23 — the announced 2026-09-14 routing of
|
|
219
|
+
* `deepseek-v4-pro` to V4.1 Flash was WITHDRAWN: V4 Pro keeps its card
|
|
220
|
+
* 0.66/1.98/0.022 off-peak, so its staged `scheduledPricing` was deleted.
|
|
221
|
+
* The card now also says peak hours exclude Chinese public holidays, which
|
|
222
|
+
* `peakPricing` cannot express — peak is billed on those weekdays too.
|
|
223
|
+
* Earlier, 2026-09-10: legacy deepseek-chat/-reasoner ids fully
|
|
149
224
|
* retired 2026-07-24 — never in this catalog. The 2026-09-10 re-read caught
|
|
150
225
|
* the V4.1-Flash release DAY-OF: new evergreen id `deepseek-flash` at
|
|
151
226
|
* off-peak miss $0.15 / hit $0.003 / out $0.6 (peak ×2, same Mon-Fri UTC
|
|
@@ -230,6 +305,14 @@ const WEEKDAYS_UTC = [1, 2, 3, 4, 5];
|
|
|
230
305
|
* card again — $0.15/$0.50, cached input $0.03, no promo footnote. models.dev
|
|
231
306
|
* still carries the expired promo rate, so the KNOWN_DIVERGENCES entry now
|
|
232
307
|
* runs to a fixed 2026-12-09 re-verify date.)
|
|
308
|
+
* (verified 2026-09-23: glm-5.3-flashx ADDED — the ~200 tokens/s tier of the
|
|
309
|
+
* GLM-5.3-Flash series. Pricing page: $0.37/$1.25, cached input $0.075,
|
|
310
|
+
* cache storage free. Chat-completion reference: id `glm-5.3-flashx` in the
|
|
311
|
+
* vision request enum, 128K max output, reasoning_effort low|high|max
|
|
312
|
+
* (default max), function tools supported. GLM-5.3-Flash guide: 1M ctx,
|
|
313
|
+
* video/image/text/file input. No published knowledge cutoff. Not on
|
|
314
|
+
* DeepInfra (zai-org/GLM-5.3-FlashX 404s), so cn-region-only. glm-5.3 and
|
|
315
|
+
* glm-5.3-flash rates unchanged on the same page.)
|
|
233
316
|
*
|
|
234
317
|
* Knowledge-cutoff dates on non-Anthropic entries are best-effort estimates
|
|
235
318
|
* where the provider doesn't publish one; the provider sources above verify
|
|
@@ -247,6 +330,9 @@ export const MODELS = [
|
|
|
247
330
|
{
|
|
248
331
|
id: 'claude-fable-5-1',
|
|
249
332
|
provider: 'anthropic',
|
|
333
|
+
// temperature → 400 "`temperature` is deprecated for this model" (probed
|
|
334
|
+
// live 2026-09-23); callers omit it (request-shape.ts temperatureParam).
|
|
335
|
+
rejectsTemperature: true,
|
|
250
336
|
label: 'Claude Fable 5.1',
|
|
251
337
|
description: 'Most capable Anthropic — frontier reasoning & long-horizon agents',
|
|
252
338
|
contextWindow: 1_000_000,
|
|
@@ -260,6 +346,10 @@ export const MODELS = [
|
|
|
260
346
|
// all five levels are supported (effort docs, verified 2026-09-01).
|
|
261
347
|
// Default/recommended is high; xhigh/max for the most capability-sensitive
|
|
262
348
|
// agentic work, medium/low for routine work.
|
|
349
|
+
// tool_choice any/tool → 400 "tool_choice: type "tool" and "any" are not
|
|
350
|
+
// supported for this model" (probed live 2026-09-23). Discovery and
|
|
351
|
+
// starting-point selection send `auto` for it instead (request-shape.ts).
|
|
352
|
+
rejectsForcedToolChoice: true,
|
|
263
353
|
supportsVision: true,
|
|
264
354
|
supportsPromptCaching: true,
|
|
265
355
|
supportsTools: true,
|
|
@@ -282,6 +372,9 @@ export const MODELS = [
|
|
|
282
372
|
{
|
|
283
373
|
id: 'claude-fable-5',
|
|
284
374
|
provider: 'anthropic',
|
|
375
|
+
// temperature → 400 "`temperature` is deprecated for this model" (probed
|
|
376
|
+
// live 2026-09-23); callers omit it (request-shape.ts temperatureParam).
|
|
377
|
+
rejectsTemperature: true,
|
|
285
378
|
label: 'Claude Fable 5',
|
|
286
379
|
description: 'Most capable Anthropic — frontier reasoning & long-horizon agents',
|
|
287
380
|
contextWindow: 1_000_000,
|
|
@@ -317,9 +410,63 @@ export const MODELS = [
|
|
|
317
410
|
deprecatedAt: '2026-09-01',
|
|
318
411
|
supersededBy: 'claude-fable-5-1',
|
|
319
412
|
},
|
|
413
|
+
{
|
|
414
|
+
id: 'claude-opus-5-5',
|
|
415
|
+
provider: 'anthropic',
|
|
416
|
+
// temperature → 400 "`temperature` is deprecated for this model" (probed
|
|
417
|
+
// live 2026-09-23); callers omit it (request-shape.ts temperatureParam).
|
|
418
|
+
rejectsTemperature: true,
|
|
419
|
+
label: 'Claude Opus 5.5',
|
|
420
|
+
description: 'Anthropic Opus flagship — long-running agentic coding, cheaper than Opus 5',
|
|
421
|
+
// tool_choice any/tool → 400 "tool_choice: type "tool" and "any" are not
|
|
422
|
+
// supported for this model" (probed live 2026-09-23). Discovery and
|
|
423
|
+
// starting-point selection send `auto` for it instead (request-shape.ts).
|
|
424
|
+
rejectsForcedToolChoice: true,
|
|
425
|
+
// Fast mode (research preview, Claude API only): $8/$40 per MTok (pricing
|
|
426
|
+
// page, fast-mode table, verified 2026-09-23). Cache multipliers stack on
|
|
427
|
+
// the fast input rate: read 0.05× (this model's rate), write 1.25×.
|
|
428
|
+
fastPricing: {
|
|
429
|
+
inputPricePerMTok: 8,
|
|
430
|
+
outputPricePerMTok: 40,
|
|
431
|
+
cacheReadPricePerMTok: 0.4,
|
|
432
|
+
cacheWritePricePerMTok: 10,
|
|
433
|
+
},
|
|
434
|
+
contextWindow: 1_000_000,
|
|
435
|
+
maxOutputTokens: 128_000,
|
|
436
|
+
supportsThinking: true,
|
|
437
|
+
thinkingBudgetTokens: 16_000,
|
|
438
|
+
thinkingConfigurable: true,
|
|
439
|
+
supportedEffortLevels: ['low', 'medium', 'high', 'xhigh', 'max'],
|
|
440
|
+
defaultEffortLevel: 'medium',
|
|
441
|
+
// Adaptive thinking is ALWAYS ON: thinking {type:"disabled"} and manual
|
|
442
|
+
// budget_tokens both 400 — effort is the only depth control. All five
|
|
443
|
+
// levels supported; the API default is MEDIUM (not high like opus-5).
|
|
444
|
+
// tool_choice any/tool 400 on this model (auto/none only), as on
|
|
445
|
+
// fable-5-1. 512-token prompt-cache minimum. (Model page + what's-new,
|
|
446
|
+
// verified 2026-09-23.)
|
|
447
|
+
supportsVision: true,
|
|
448
|
+
supportsPromptCaching: true,
|
|
449
|
+
supportsTools: true,
|
|
450
|
+
webSearchToolType: 'web_search_20260209',
|
|
451
|
+
// Same server-tool versions as the rest of the 4.6+ Anthropic fleet. Not
|
|
452
|
+
// currently sent by Synthase beyond webSearchToolType.
|
|
453
|
+
codeExecutionToolType: 'code_execution_20260521',
|
|
454
|
+
webFetchToolType: 'web_fetch_20260209',
|
|
455
|
+
inputPricePerMTok: 4,
|
|
456
|
+
outputPricePerMTok: 20,
|
|
457
|
+
// Cache READ is a documented exception: 0.05× input ("$0.20 / MTok",
|
|
458
|
+
// pricing page footnote 2). 5-minute cache write is the usual 1.25×.
|
|
459
|
+
cacheReadPricePerMTok: 0.2,
|
|
460
|
+
cacheWritePricePerMTok: 5,
|
|
461
|
+
// Reliable knowledge cutoff Jun 2026 (model page "Specifications").
|
|
462
|
+
knowledgeCutoff: '2026-06-01',
|
|
463
|
+
},
|
|
320
464
|
{
|
|
321
465
|
id: 'claude-opus-5',
|
|
322
466
|
provider: 'anthropic',
|
|
467
|
+
// temperature → 400 "`temperature` is deprecated for this model" (probed
|
|
468
|
+
// live 2026-09-23); callers omit it (request-shape.ts temperatureParam).
|
|
469
|
+
rejectsTemperature: true,
|
|
323
470
|
label: 'Claude Opus 5',
|
|
324
471
|
description: 'Anthropic Opus flagship — step-change agentic coding at 4.8 pricing',
|
|
325
472
|
// Fast mode (research preview, Claude API only): same model at up to 2.5×
|
|
@@ -362,10 +509,18 @@ export const MODELS = [
|
|
|
362
509
|
cacheWritePricePerMTok: 6.25,
|
|
363
510
|
// Not published at verification time — best-effort estimate (≥ Opus 4.8's).
|
|
364
511
|
knowledgeCutoff: '2026-01-01',
|
|
512
|
+
// Superseded by claude-opus-5-5 (released 2026-09-22, same Opus tier,
|
|
513
|
+
// cheaper at $4/$20); Anthropic now lists opus-5 under "Legacy models
|
|
514
|
+
// (still available)". Still served and priceable, just not OFFERED.
|
|
515
|
+
deprecatedAt: '2026-09-22',
|
|
516
|
+
supersededBy: 'claude-opus-5-5',
|
|
365
517
|
},
|
|
366
518
|
{
|
|
367
519
|
id: 'claude-opus-4-8',
|
|
368
520
|
provider: 'anthropic',
|
|
521
|
+
// temperature → 400 "`temperature` is deprecated for this model" (probed
|
|
522
|
+
// live 2026-09-23); callers omit it (request-shape.ts temperatureParam).
|
|
523
|
+
rejectsTemperature: true,
|
|
369
524
|
label: 'Claude Opus 4.8',
|
|
370
525
|
description: 'Previous Opus — deep reasoning; the opus-5 refusal fallback',
|
|
371
526
|
contextWindow: 1_000_000,
|
|
@@ -396,12 +551,16 @@ export const MODELS = [
|
|
|
396
551
|
// Superseded by claude-opus-5 (same price, same tier); still served upstream
|
|
397
552
|
// and the recommended refusal-fallback target, so it stays priceable and
|
|
398
553
|
// callable by id — it is just not OFFERED, since opus-5 is a drop-in.
|
|
554
|
+
// `supersededBy` names the CURRENT selectable Opus (opus-5-5, one hop).
|
|
399
555
|
deprecatedAt: '2026-07-28',
|
|
400
|
-
supersededBy: 'claude-opus-5',
|
|
556
|
+
supersededBy: 'claude-opus-5-5',
|
|
401
557
|
},
|
|
402
558
|
{
|
|
403
559
|
id: 'claude-sonnet-5',
|
|
404
560
|
provider: 'anthropic',
|
|
561
|
+
// temperature → 400 "`temperature` is deprecated for this model" (probed
|
|
562
|
+
// live 2026-09-23); callers omit it (request-shape.ts temperatureParam).
|
|
563
|
+
rejectsTemperature: true,
|
|
405
564
|
label: 'Claude Sonnet 5',
|
|
406
565
|
description: 'Fast & capable — near-Opus coding at Sonnet cost',
|
|
407
566
|
contextWindow: 1_000_000,
|
|
@@ -437,6 +596,9 @@ export const MODELS = [
|
|
|
437
596
|
{
|
|
438
597
|
id: 'claude-opus-4-7',
|
|
439
598
|
provider: 'anthropic',
|
|
599
|
+
// temperature → 400 "`temperature` is deprecated for this model" (probed
|
|
600
|
+
// live 2026-09-23); callers omit it (request-shape.ts temperatureParam).
|
|
601
|
+
rejectsTemperature: true,
|
|
440
602
|
label: 'Claude Opus 4.7',
|
|
441
603
|
description: 'Older Opus — long-horizon agentic work, knowledge work & vision',
|
|
442
604
|
contextWindow: 1_000_000,
|
|
@@ -470,10 +632,10 @@ export const MODELS = [
|
|
|
470
632
|
// still Active upstream (deprecations page 2026-08-06: retires no sooner
|
|
471
633
|
// than 2027-04-16). NO fast mode — speed:"fast" on 4.7 returns an error
|
|
472
634
|
// (pricing page, fast-mode section). `supersededBy` names the CURRENT
|
|
473
|
-
// selectable Opus (opus-5), not the also-superseded 4.8, so a saved
|
|
635
|
+
// selectable Opus (opus-5-5), not the also-superseded 4.8 / 5, so a saved
|
|
474
636
|
// selection resolves forward in one hop.
|
|
475
637
|
deprecatedAt: '2026-05-28',
|
|
476
|
-
supersededBy: 'claude-opus-5',
|
|
638
|
+
supersededBy: 'claude-opus-5-5',
|
|
477
639
|
},
|
|
478
640
|
{
|
|
479
641
|
id: 'claude-opus-4-6',
|
|
@@ -505,9 +667,9 @@ export const MODELS = [
|
|
|
505
667
|
cacheReadPricePerMTok: 0.5,
|
|
506
668
|
cacheWritePricePerMTok: 6.25,
|
|
507
669
|
knowledgeCutoff: '2025-05-01',
|
|
508
|
-
// Superseded by the current Opus (opus-5) — kept priceable, not offered.
|
|
670
|
+
// Superseded by the current Opus (opus-5-5) — kept priceable, not offered.
|
|
509
671
|
deprecatedAt: '2026-06-16',
|
|
510
|
-
supersededBy: 'claude-opus-5',
|
|
672
|
+
supersededBy: 'claude-opus-5-5',
|
|
511
673
|
},
|
|
512
674
|
{
|
|
513
675
|
id: 'claude-sonnet-4-6',
|
|
@@ -586,33 +748,116 @@ export const MODELS = [
|
|
|
586
748
|
// exist upstream — not modeled (same as the Gemini/Grok >200K tiers), and
|
|
587
749
|
// neither are the Batch (0.5×) or Sol "Fast mode" (2×) cards.
|
|
588
750
|
//
|
|
589
|
-
//
|
|
590
|
-
//
|
|
591
|
-
//
|
|
592
|
-
//
|
|
593
|
-
//
|
|
594
|
-
//
|
|
595
|
-
//
|
|
596
|
-
//
|
|
597
|
-
//
|
|
598
|
-
//
|
|
599
|
-
//
|
|
600
|
-
//
|
|
601
|
-
//
|
|
602
|
-
//
|
|
603
|
-
//
|
|
604
|
-
//
|
|
605
|
-
//
|
|
606
|
-
// /v1/responses WITH tools both return 200. Both candidate entries were built
|
|
607
|
-
// and run through molecule-dev's verify:model-dispatch; both FAILED, so the
|
|
608
|
-
// entry was withheld rather than shipped broken (the glm-5.3-flash lesson:
|
|
609
|
-
// a catalog entry that cannot serve a Synthase-shaped turn breaks every turn
|
|
610
|
-
// on it). The freshness gate WILL keep listing it as a new-model candidate —
|
|
611
|
-
// that is correct; it becomes addable the day the bond speaks /v1/responses.
|
|
612
|
-
// Note also that the docs page advertises effort 'max', which
|
|
613
|
-
// /v1/chat/completions rejects for this model — verify the ladder against the
|
|
614
|
-
// endpoint, not the docs, when this is revisited.
|
|
751
|
+
// gpt-6-astra (OpenAI's flagship since 2026-09-04) was withheld until the
|
|
752
|
+
// bond moved to /v1/responses: on /v1/chat/completions it rejects every
|
|
753
|
+
// tool-carrying request (tools + any reasoning_effort → 400, and it has no
|
|
754
|
+
// 'none' effort to fall back on — probed live 2026-09-21). The bond calls
|
|
755
|
+
// /v1/responses on OpenAI's own endpoint since 2026-09-24, where tools +
|
|
756
|
+
// every effort low..max return 200 (probed live 2026-09-24), so astra needs
|
|
757
|
+
// no `toolsRequireReasoningOff` pin. The docs page lists chat/completions
|
|
758
|
+
// tool support too; the live endpoint disagrees — trust the endpoint.
|
|
759
|
+
//
|
|
760
|
+
// gpt-6-sol and gpt-6-luna (released 2026-09-22) are NOT astra's case: both
|
|
761
|
+
// still accept reasoning_effort 'none', and tools + 'none' returns 200 on
|
|
762
|
+
// /v1/chat/completions (probed live 2026-09-23 on our own key), so the same
|
|
763
|
+
// `toolsRequireReasoningOff` pin that serves the 5.6 family serves them. On
|
|
764
|
+
// that endpoint both accept none|low|medium|high|xhigh and reject 'max' —
|
|
765
|
+
// again despite the docs pages listing it. GPT-6 has no Terra tier: sol at
|
|
766
|
+
// $2/$10 is priced at 5.6-terra's tier and undercuts 5.6-sol, so it supersedes
|
|
767
|
+
// both; luna supersedes 5.6-luna at half the price.
|
|
615
768
|
// ---------------------------------------------------------------------------
|
|
769
|
+
{
|
|
770
|
+
id: 'gpt-6-astra',
|
|
771
|
+
provider: 'openai',
|
|
772
|
+
label: 'GPT-6 Astra',
|
|
773
|
+
description: 'OpenAI flagship — the hardest reasoning & coding work',
|
|
774
|
+
// Documented as 1.05M; floored to 1M like the other OpenAI entries.
|
|
775
|
+
contextWindow: 1_000_000,
|
|
776
|
+
maxOutputTokens: 128_000,
|
|
777
|
+
supportsThinking: true,
|
|
778
|
+
thinkingBudgetTokens: 16_000,
|
|
779
|
+
thinkingConfigurable: true,
|
|
780
|
+
// No 'none' on this model. 'max' verified accepted with tools on
|
|
781
|
+
// /v1/responses (2026-09-24).
|
|
782
|
+
supportedEffortLevels: ['low', 'medium', 'high', 'xhigh', 'max'],
|
|
783
|
+
defaultEffortLevel: 'medium',
|
|
784
|
+
// temperature → 400 "Unsupported parameter: 'temperature' is not supported
|
|
785
|
+
// with this model" (probed live 2026-09-24).
|
|
786
|
+
rejectsTemperature: true,
|
|
787
|
+
supportsVision: true,
|
|
788
|
+
supportsPromptCaching: true,
|
|
789
|
+
supportsTools: true,
|
|
790
|
+
// NO webSearchToolType yet: /v1/responses serves `web_search` (verified
|
|
791
|
+
// 2026-09-24), but its per-call fee is not metered — add with metering.
|
|
792
|
+
codeExecutionToolType: 'code_interpreter',
|
|
793
|
+
// Standard tier; >272K band ($20/$75, cached $2, writes $25) not modeled.
|
|
794
|
+
inputPricePerMTok: 10,
|
|
795
|
+
outputPricePerMTok: 50,
|
|
796
|
+
cacheReadPricePerMTok: 1,
|
|
797
|
+
cacheWritePricePerMTok: 12.5,
|
|
798
|
+
knowledgeCutoff: '2026-04-30',
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
id: 'gpt-6-sol',
|
|
802
|
+
provider: 'openai',
|
|
803
|
+
label: 'GPT-6 Sol',
|
|
804
|
+
description: 'OpenAI for complex coding & agentic work',
|
|
805
|
+
// Documented as 1.05M; floored to 1M like the 5.6 entries.
|
|
806
|
+
contextWindow: 1_000_000,
|
|
807
|
+
maxOutputTokens: 128_000,
|
|
808
|
+
supportsThinking: true,
|
|
809
|
+
thinkingBudgetTokens: 16_000,
|
|
810
|
+
thinkingConfigurable: true,
|
|
811
|
+
supportedEffortLevels: ['low', 'medium', 'high', 'xhigh'],
|
|
812
|
+
defaultEffortLevel: 'medium',
|
|
813
|
+
supportsVision: true,
|
|
814
|
+
supportsPromptCaching: true,
|
|
815
|
+
supportsTools: true,
|
|
816
|
+
// Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
|
|
817
|
+
// The bond now calls /v1/responses, where it is not (verified 2026-09-24);
|
|
818
|
+
// lifting this pin changes reasoning quality/cost, so it waits for a model eval.
|
|
819
|
+
toolsRequireReasoningOff: true,
|
|
820
|
+
// NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
|
|
821
|
+
// its per-call fee is not metered yet.
|
|
822
|
+
codeExecutionToolType: 'code_interpreter',
|
|
823
|
+
// Standard tier. A long-context band above 272K prompt tokens reprices the
|
|
824
|
+
// whole request ($4/$15, cached $0.40, cache writes $5) — not modeled, same
|
|
825
|
+
// as the other >200K tiers.
|
|
826
|
+
inputPricePerMTok: 2,
|
|
827
|
+
outputPricePerMTok: 10,
|
|
828
|
+
cacheReadPricePerMTok: 0.2,
|
|
829
|
+
cacheWritePricePerMTok: 2.5,
|
|
830
|
+
knowledgeCutoff: '2026-04-20',
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
id: 'gpt-6-luna',
|
|
834
|
+
provider: 'openai',
|
|
835
|
+
label: 'GPT-6 Luna',
|
|
836
|
+
description: 'Fast & cheap OpenAI — light tasks & subagents',
|
|
837
|
+
contextWindow: 1_000_000,
|
|
838
|
+
maxOutputTokens: 128_000,
|
|
839
|
+
supportsThinking: true,
|
|
840
|
+
thinkingBudgetTokens: 8_000,
|
|
841
|
+
thinkingConfigurable: true,
|
|
842
|
+
supportedEffortLevels: ['low', 'medium', 'high', 'xhigh'],
|
|
843
|
+
defaultEffortLevel: 'medium',
|
|
844
|
+
supportsVision: true,
|
|
845
|
+
supportsPromptCaching: true,
|
|
846
|
+
supportsTools: true,
|
|
847
|
+
// Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
|
|
848
|
+
// The bond now calls /v1/responses, where it is not (verified 2026-09-24);
|
|
849
|
+
// lifting this pin changes reasoning quality/cost, so it waits for a model eval.
|
|
850
|
+
toolsRequireReasoningOff: true,
|
|
851
|
+
// NO webSearchToolType: see gpt-5.6-sol.
|
|
852
|
+
codeExecutionToolType: 'code_interpreter',
|
|
853
|
+
// Standard tier; >272K band ($0.20/$0.75, cached $0.02, writes $0.25) not
|
|
854
|
+
// modeled.
|
|
855
|
+
inputPricePerMTok: 0.1,
|
|
856
|
+
outputPricePerMTok: 0.5,
|
|
857
|
+
cacheReadPricePerMTok: 0.01,
|
|
858
|
+
cacheWritePricePerMTok: 0.125,
|
|
859
|
+
knowledgeCutoff: '2026-05-18',
|
|
860
|
+
},
|
|
616
861
|
{
|
|
617
862
|
id: 'gpt-5.6-sol',
|
|
618
863
|
provider: 'openai',
|
|
@@ -631,12 +876,11 @@ export const MODELS = [
|
|
|
631
876
|
supportsPromptCaching: true,
|
|
632
877
|
supportsTools: true,
|
|
633
878
|
// Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
|
|
879
|
+
// The bond now calls /v1/responses, where it is not (verified 2026-09-24);
|
|
880
|
+
// lifting this pin changes reasoning quality/cost, so it waits for a model eval.
|
|
634
881
|
toolsRequireReasoningOff: true,
|
|
635
|
-
// NO webSearchToolType:
|
|
636
|
-
//
|
|
637
|
-
// bond deliberately forwards no server tools. Advertising one here surfaced
|
|
638
|
-
// web search in the system prompt while it could never work. Re-add when
|
|
639
|
-
// the bond moves to /v1/responses (verified 2026-08-28).
|
|
882
|
+
// NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
|
|
883
|
+
// its per-call fee is not metered yet.
|
|
640
884
|
codeExecutionToolType: 'code_interpreter',
|
|
641
885
|
// LIST price. OpenAI ran a >20% PROMO from 2026-08-22 ($4/$20, cache read
|
|
642
886
|
// $0.40, cache write $5) — "GPT-5.6 Sol's promotional pricing is available
|
|
@@ -651,6 +895,10 @@ export const MODELS = [
|
|
|
651
895
|
cacheWritePricePerMTok: 6.25,
|
|
652
896
|
// Not published — best-effort estimate.
|
|
653
897
|
knowledgeCutoff: '2026-03-01',
|
|
898
|
+
// Superseded by gpt-6-sol ($2/$10 vs $5/$30 list). Still served and
|
|
899
|
+
// priceable — just not offered in the picker.
|
|
900
|
+
deprecatedAt: '2026-09-23',
|
|
901
|
+
supersededBy: 'gpt-6-sol',
|
|
654
902
|
},
|
|
655
903
|
{
|
|
656
904
|
id: 'gpt-5.6-terra',
|
|
@@ -668,12 +916,11 @@ export const MODELS = [
|
|
|
668
916
|
supportsPromptCaching: true,
|
|
669
917
|
supportsTools: true,
|
|
670
918
|
// Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
|
|
919
|
+
// The bond now calls /v1/responses, where it is not (verified 2026-09-24);
|
|
920
|
+
// lifting this pin changes reasoning quality/cost, so it waits for a model eval.
|
|
671
921
|
toolsRequireReasoningOff: true,
|
|
672
|
-
// NO webSearchToolType:
|
|
673
|
-
//
|
|
674
|
-
// bond deliberately forwards no server tools. Advertising one here surfaced
|
|
675
|
-
// web search in the system prompt while it could never work. Re-add when
|
|
676
|
-
// the bond moves to /v1/responses (verified 2026-08-28).
|
|
922
|
+
// NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
|
|
923
|
+
// its per-call fee is not metered yet.
|
|
677
924
|
codeExecutionToolType: 'code_interpreter',
|
|
678
925
|
// Repriced 2026-07-30 (20% cut from $2.50/$15).
|
|
679
926
|
inputPricePerMTok: 2,
|
|
@@ -683,6 +930,10 @@ export const MODELS = [
|
|
|
683
930
|
cacheWritePricePerMTok: 2.5,
|
|
684
931
|
// Not published — best-effort estimate.
|
|
685
932
|
knowledgeCutoff: '2026-03-01',
|
|
933
|
+
// Superseded by gpt-6-sol: GPT-6 has no Terra tier, and sol sits at this
|
|
934
|
+
// tier's price ($2/$10 vs $2/$12).
|
|
935
|
+
deprecatedAt: '2026-09-23',
|
|
936
|
+
supersededBy: 'gpt-6-sol',
|
|
686
937
|
},
|
|
687
938
|
{
|
|
688
939
|
id: 'gpt-5.6-luna',
|
|
@@ -700,12 +951,11 @@ export const MODELS = [
|
|
|
700
951
|
supportsPromptCaching: true,
|
|
701
952
|
supportsTools: true,
|
|
702
953
|
// Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
|
|
954
|
+
// The bond now calls /v1/responses, where it is not (verified 2026-09-24);
|
|
955
|
+
// lifting this pin changes reasoning quality/cost, so it waits for a model eval.
|
|
703
956
|
toolsRequireReasoningOff: true,
|
|
704
|
-
// NO webSearchToolType:
|
|
705
|
-
//
|
|
706
|
-
// bond deliberately forwards no server tools. Advertising one here surfaced
|
|
707
|
-
// web search in the system prompt while it could never work. Re-add when
|
|
708
|
-
// the bond moves to /v1/responses (verified 2026-08-28).
|
|
957
|
+
// NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
|
|
958
|
+
// its per-call fee is not metered yet.
|
|
709
959
|
codeExecutionToolType: 'code_interpreter',
|
|
710
960
|
// Repriced 2026-07-30 (80% cut from $1/$6).
|
|
711
961
|
inputPricePerMTok: 0.2,
|
|
@@ -720,6 +970,9 @@ export const MODELS = [
|
|
|
720
970
|
// note for the same removal pattern).
|
|
721
971
|
// Not published — best-effort estimate.
|
|
722
972
|
knowledgeCutoff: '2026-03-01',
|
|
973
|
+
// Superseded by gpt-6-luna ($0.10/$0.50 — half the price).
|
|
974
|
+
deprecatedAt: '2026-09-23',
|
|
975
|
+
supersededBy: 'gpt-6-luna',
|
|
723
976
|
},
|
|
724
977
|
{
|
|
725
978
|
id: 'gpt-5.5',
|
|
@@ -739,12 +992,11 @@ export const MODELS = [
|
|
|
739
992
|
supportsPromptCaching: true,
|
|
740
993
|
supportsTools: true,
|
|
741
994
|
// Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
|
|
995
|
+
// The bond now calls /v1/responses, where it is not (verified 2026-09-24);
|
|
996
|
+
// lifting this pin changes reasoning quality/cost, so it waits for a model eval.
|
|
742
997
|
toolsRequireReasoningOff: true,
|
|
743
|
-
// NO webSearchToolType:
|
|
744
|
-
//
|
|
745
|
-
// bond deliberately forwards no server tools. Advertising one here surfaced
|
|
746
|
-
// web search in the system prompt while it could never work. Re-add when
|
|
747
|
-
// the bond moves to /v1/responses (verified 2026-08-28).
|
|
998
|
+
// NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
|
|
999
|
+
// its per-call fee is not metered yet.
|
|
748
1000
|
codeExecutionToolType: 'code_interpreter',
|
|
749
1001
|
inputPricePerMTok: 5,
|
|
750
1002
|
outputPricePerMTok: 30,
|
|
@@ -752,10 +1004,11 @@ export const MODELS = [
|
|
|
752
1004
|
cacheReadPricePerMTok: 0.5,
|
|
753
1005
|
cacheWritePricePerMTok: 5,
|
|
754
1006
|
knowledgeCutoff: '2025-12-01',
|
|
755
|
-
// Superseded by gpt-5.6-sol (same frontier tier, same $5/$30)
|
|
756
|
-
//
|
|
1007
|
+
// Superseded by gpt-5.6-sol (same frontier tier, same $5/$30), and since
|
|
1008
|
+
// 2026-09-23 points one hop to gpt-6-sol, 5.6-sol's own successor. Still
|
|
1009
|
+
// listed as current by OpenAI, so it stays priceable — just not offered.
|
|
757
1010
|
deprecatedAt: '2026-07-09',
|
|
758
|
-
supersededBy: 'gpt-
|
|
1011
|
+
supersededBy: 'gpt-6-sol',
|
|
759
1012
|
},
|
|
760
1013
|
{
|
|
761
1014
|
id: 'gpt-5.4',
|
|
@@ -773,12 +1026,11 @@ export const MODELS = [
|
|
|
773
1026
|
supportsPromptCaching: true,
|
|
774
1027
|
supportsTools: true,
|
|
775
1028
|
// Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
|
|
1029
|
+
// The bond now calls /v1/responses, where it is not (verified 2026-09-24);
|
|
1030
|
+
// lifting this pin changes reasoning quality/cost, so it waits for a model eval.
|
|
776
1031
|
toolsRequireReasoningOff: true,
|
|
777
|
-
// NO webSearchToolType:
|
|
778
|
-
//
|
|
779
|
-
// bond deliberately forwards no server tools. Advertising one here surfaced
|
|
780
|
-
// web search in the system prompt while it could never work. Re-add when
|
|
781
|
-
// the bond moves to /v1/responses (verified 2026-08-28).
|
|
1032
|
+
// NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
|
|
1033
|
+
// its per-call fee is not metered yet.
|
|
782
1034
|
codeExecutionToolType: 'code_interpreter',
|
|
783
1035
|
inputPricePerMTok: 2.5,
|
|
784
1036
|
outputPricePerMTok: 15,
|
|
@@ -789,9 +1041,10 @@ export const MODELS = [
|
|
|
789
1041
|
// OpenAI still lists gpt-5.4 as current, but gpt-5.6-terra covers this
|
|
790
1042
|
// balanced tier for LESS ($2/$12 vs $2.50/$15) — superseded, so the picker
|
|
791
1043
|
// offers only the 5.6 generation (this is OUR taxonomy, not OpenAI's
|
|
792
|
-
// deprecations page; the model stays priceable).
|
|
1044
|
+
// deprecations page; the model stays priceable). Points one hop to
|
|
1045
|
+
// gpt-6-sol since 2026-09-23, when 5.6-terra was itself superseded.
|
|
793
1046
|
deprecatedAt: '2026-07-28',
|
|
794
|
-
supersededBy: 'gpt-
|
|
1047
|
+
supersededBy: 'gpt-6-sol',
|
|
795
1048
|
},
|
|
796
1049
|
{
|
|
797
1050
|
id: 'gpt-5.4-mini',
|
|
@@ -809,12 +1062,11 @@ export const MODELS = [
|
|
|
809
1062
|
supportsPromptCaching: true,
|
|
810
1063
|
supportsTools: true,
|
|
811
1064
|
// Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
|
|
1065
|
+
// The bond now calls /v1/responses, where it is not (verified 2026-09-24);
|
|
1066
|
+
// lifting this pin changes reasoning quality/cost, so it waits for a model eval.
|
|
812
1067
|
toolsRequireReasoningOff: true,
|
|
813
|
-
// NO webSearchToolType:
|
|
814
|
-
//
|
|
815
|
-
// bond deliberately forwards no server tools. Advertising one here surfaced
|
|
816
|
-
// web search in the system prompt while it could never work. Re-add when
|
|
817
|
-
// the bond moves to /v1/responses (verified 2026-08-28).
|
|
1068
|
+
// NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
|
|
1069
|
+
// its per-call fee is not metered yet.
|
|
818
1070
|
codeExecutionToolType: 'code_interpreter',
|
|
819
1071
|
inputPricePerMTok: 0.75,
|
|
820
1072
|
outputPricePerMTok: 4.5,
|
|
@@ -825,9 +1077,10 @@ export const MODELS = [
|
|
|
825
1077
|
// Superseded by gpt-5.6-luna, which IS the newer cheap/fast tier and is
|
|
826
1078
|
// strictly better on every axis that made this the budget pick: $0.20/$1.20
|
|
827
1079
|
// vs $0.75/$4.50 after the 2026-07-30 repricing, and a 1M window vs 400K.
|
|
828
|
-
// Hiding it therefore costs OpenAI no cheap option. Stays priceable.
|
|
1080
|
+
// Hiding it therefore costs OpenAI no cheap option. Stays priceable. Points
|
|
1081
|
+
// one hop to gpt-6-luna since 2026-09-23, when 5.6-luna was superseded.
|
|
829
1082
|
deprecatedAt: '2026-08-01',
|
|
830
|
-
supersededBy: 'gpt-
|
|
1083
|
+
supersededBy: 'gpt-6-luna',
|
|
831
1084
|
},
|
|
832
1085
|
// ---------------------------------------------------------------------------
|
|
833
1086
|
// Google
|
|
@@ -1213,8 +1466,10 @@ export const MODELS = [
|
|
|
1213
1466
|
// leans on that "temporary" routing until molecule-dev's default ids
|
|
1214
1467
|
// move to `deepseek-flash`.
|
|
1215
1468
|
// 2. From 2026-09-14 12:00 Beijing (04:00 UTC), until V4.1 Pro ships, ALL
|
|
1216
|
-
// `deepseek-v4-pro` requests route to V4.1 Flash at Flash
|
|
1217
|
-
//
|
|
1469
|
+
// `deepseek-v4-pro` requests were to route to V4.1 Flash at Flash
|
|
1470
|
+
// prices. WITHDRAWN before it landed (re-read 2026-09-23): V4 Pro keeps
|
|
1471
|
+
// being served after 2026-09-14 "with the billing method remaining
|
|
1472
|
+
// unchanged", so the staged `scheduledPricing` was deleted.
|
|
1218
1473
|
// 2026-08-13: V4-Pro GA — and with it the price rise that the "coming soon"
|
|
1219
1474
|
// note below had been waiting on. It was staged as `scheduledPricing`
|
|
1220
1475
|
// effective 2026-08-16T16:00Z; that instant has PASSED and the rates are now
|
|
@@ -1315,33 +1570,25 @@ export const MODELS = [
|
|
|
1315
1570
|
{ startMinuteUtc: 360, endMinuteUtc: 600, daysOfWeekUtc: WEEKDAYS_UTC },
|
|
1316
1571
|
],
|
|
1317
1572
|
multiplier: 2,
|
|
1573
|
+
excludedDatesUtc: CHINA_PUBLIC_HOLIDAYS,
|
|
1574
|
+
rule: DEEPSEEK_PEAK_RULE,
|
|
1318
1575
|
},
|
|
1319
|
-
//
|
|
1320
|
-
//
|
|
1321
|
-
//
|
|
1322
|
-
//
|
|
1323
|
-
//
|
|
1324
|
-
//
|
|
1325
|
-
//
|
|
1326
|
-
//
|
|
1327
|
-
|
|
1328
|
-
effectiveFrom: '2026-09-14T04:00:00Z',
|
|
1329
|
-
inputPricePerMTok: 0.15,
|
|
1330
|
-
outputPricePerMTok: 0.6,
|
|
1331
|
-
cacheReadPricePerMTok: 0.003,
|
|
1332
|
-
cacheWritePricePerMTok: 0.15,
|
|
1333
|
-
source: 'https://api-docs.deepseek.com/updates/ (2026-09-10): deepseek-v4-pro → V4.1 Flash at Flash prices from 2026-09-14 12:00 Beijing',
|
|
1334
|
-
},
|
|
1576
|
+
// The 2026-09-10 announcement that this id would route to V4.1 Flash at
|
|
1577
|
+
// Flash prices from 2026-09-14 was WITHDRAWN: the updates page now reads
|
|
1578
|
+
// "we have decided to continue providing API services for DeepSeek V4 Pro
|
|
1579
|
+
// after September 14, 2026, with the billing method remaining unchanged",
|
|
1580
|
+
// and the pricing page still lists `deepseek-v4-pro` (V4-Pro-0813) at
|
|
1581
|
+
// 0.66/1.98, cache hit 0.022 off-peak (both re-read 2026-09-23). So the
|
|
1582
|
+
// staged `scheduledPricing` flash card was deleted rather than folded in —
|
|
1583
|
+
// the base rates above are what DeepSeek bills. The US `regionPricing` is
|
|
1584
|
+
// DeepInfra's own card and was never affected.
|
|
1335
1585
|
// Not published by DeepSeek — best-effort estimate.
|
|
1336
1586
|
knowledgeCutoff: '2025-07-01',
|
|
1337
|
-
//
|
|
1338
|
-
// V4.1 Flash
|
|
1339
|
-
//
|
|
1340
|
-
//
|
|
1341
|
-
//
|
|
1342
|
-
// this one's. Until the 14th it still serves real V4-Pro-0813 weights at
|
|
1343
|
-
// the Pro card, so it stays selectable for existing selections.
|
|
1344
|
-
deprecatedAt: '2026-09-14',
|
|
1587
|
+
// Was deprecated 2026-09-14 on the expectation that the id would stop
|
|
1588
|
+
// being itself (routed to V4.1 Flash). DeepSeek withdrew that routing — V4
|
|
1589
|
+
// Pro continues "with the billing method remaining unchanged" (updates
|
|
1590
|
+
// page, re-read 2026-09-23) — so it is offered again (owner, 2026-09-23:
|
|
1591
|
+
// "keep offering deepseek pro if it is available").
|
|
1345
1592
|
},
|
|
1346
1593
|
{
|
|
1347
1594
|
id: 'deepseek-v4-flash',
|
|
@@ -1424,6 +1671,8 @@ export const MODELS = [
|
|
|
1424
1671
|
{ startMinuteUtc: 360, endMinuteUtc: 600, daysOfWeekUtc: WEEKDAYS_UTC },
|
|
1425
1672
|
],
|
|
1426
1673
|
multiplier: 2,
|
|
1674
|
+
excludedDatesUtc: CHINA_PUBLIC_HOLIDAYS,
|
|
1675
|
+
rule: DEEPSEEK_PEAK_RULE,
|
|
1427
1676
|
},
|
|
1428
1677
|
// Not published by DeepSeek — best-effort estimate.
|
|
1429
1678
|
knowledgeCutoff: '2025-07-01',
|
|
@@ -1488,6 +1737,8 @@ export const MODELS = [
|
|
|
1488
1737
|
{ startMinuteUtc: 360, endMinuteUtc: 600, daysOfWeekUtc: WEEKDAYS_UTC },
|
|
1489
1738
|
],
|
|
1490
1739
|
multiplier: 2,
|
|
1740
|
+
excludedDatesUtc: CHINA_PUBLIC_HOLIDAYS,
|
|
1741
|
+
rule: DEEPSEEK_PEAK_RULE,
|
|
1491
1742
|
},
|
|
1492
1743
|
// Not published by DeepSeek — best-effort estimate (family estimate; the
|
|
1493
1744
|
// V4.1 announcement lists benchmarks but no training cutoff).
|
|
@@ -1514,6 +1765,9 @@ export const MODELS = [
|
|
|
1514
1765
|
{
|
|
1515
1766
|
id: 'kimi-k3',
|
|
1516
1767
|
provider: 'moonshot',
|
|
1768
|
+
// Native Moonshot host: temperature 0 → 400 "invalid temperature: only 1 is
|
|
1769
|
+
// allowed for this model" (probed 2026-09-23); callers omit it.
|
|
1770
|
+
rejectsTemperature: true,
|
|
1517
1771
|
label: 'Kimi K3',
|
|
1518
1772
|
description: 'Moonshot flagship — 2.8T open weights, 1M context, multimodal',
|
|
1519
1773
|
contextWindow: 1_000_000,
|
|
@@ -1557,6 +1811,12 @@ export const MODELS = [
|
|
|
1557
1811
|
{
|
|
1558
1812
|
id: 'kimi-k2.7-code',
|
|
1559
1813
|
provider: 'moonshot',
|
|
1814
|
+
// Native Moonshot host (probed 2026-09-23): temperature 0 → 400 "only 1 is
|
|
1815
|
+
// allowed"; and tool_choice 'required' → 400 "incompatible with thinking
|
|
1816
|
+
// enabled" — thinking cannot be turned off on this model, so a forced tool
|
|
1817
|
+
// call goes out as `auto` (request-shape.ts).
|
|
1818
|
+
rejectsTemperature: true,
|
|
1819
|
+
rejectsForcedToolChoice: true,
|
|
1560
1820
|
label: 'Kimi K2.7 Code',
|
|
1561
1821
|
description: 'Moonshot coding specialist — token-efficient agentic coding',
|
|
1562
1822
|
contextWindow: 262_144,
|
|
@@ -2003,6 +2263,43 @@ export const MODELS = [
|
|
|
2003
2263
|
// publishes no cutoff.
|
|
2004
2264
|
knowledgeCutoff: '2025-06-01',
|
|
2005
2265
|
},
|
|
2266
|
+
{
|
|
2267
|
+
// The high-speed serving tier of the GLM-5.3-Flash series (~200 tokens/s
|
|
2268
|
+
// per the GLM-5.3-Flash guide) — same series surface, higher rate card.
|
|
2269
|
+
// Same 5.3 generation as glm-5.3-flash, so neither supersedes the other.
|
|
2270
|
+
id: 'glm-5.3-flashx',
|
|
2271
|
+
provider: 'zhipu',
|
|
2272
|
+
label: 'GLM-5.3 FlashX',
|
|
2273
|
+
description: 'High-speed native multimodal coding + agents — 1M context',
|
|
2274
|
+
contextWindow: 1_048_576,
|
|
2275
|
+
// "GLM-5.3-Flash series supports a maximum output length of 128K" —
|
|
2276
|
+
// chat-completion API reference, checked 2026-09-23.
|
|
2277
|
+
maxOutputTokens: 131_072,
|
|
2278
|
+
supportsThinking: true,
|
|
2279
|
+
thinkingBudgetTokens: 8_000,
|
|
2280
|
+
thinkingConfigurable: true,
|
|
2281
|
+
// Same surface as glm-5.3-flash: low|high|max only, default max, thinking
|
|
2282
|
+
// cannot be disabled. high is the balanced tier we default to.
|
|
2283
|
+
supportedEffortLevels: ['low', 'high', 'max'],
|
|
2284
|
+
defaultEffortLevel: 'high',
|
|
2285
|
+
// Series input: text, images, video, files (glm-5.3-flashx appears in the
|
|
2286
|
+
// chat-completion reference's image examples).
|
|
2287
|
+
supportsVision: true,
|
|
2288
|
+
supportsPromptCaching: true,
|
|
2289
|
+
supportsTools: true,
|
|
2290
|
+
webSearchToolType: 'web_search',
|
|
2291
|
+
// List card, verified 2026-09-23 on the Z.ai pricing page.
|
|
2292
|
+
inputPricePerMTok: 0.37,
|
|
2293
|
+
outputPricePerMTok: 1.25,
|
|
2294
|
+
// GLM context cache: read ≈0.2× input, no write premium (storage free).
|
|
2295
|
+
cacheReadPricePerMTok: 0.075,
|
|
2296
|
+
cacheWritePricePerMTok: 0.37,
|
|
2297
|
+
// Native host only: api.deepinfra.com/models/zai-org/GLM-5.3-FlashX is a
|
|
2298
|
+
// 404 (checked 2026-09-23), so there is no US re-host to map.
|
|
2299
|
+
regions: ['cn'],
|
|
2300
|
+
// Not published by Z.ai — best-effort estimate for the 5.3 generation.
|
|
2301
|
+
knowledgeCutoff: '2025-06-01',
|
|
2302
|
+
},
|
|
2006
2303
|
{
|
|
2007
2304
|
id: 'glm-5.3-flash',
|
|
2008
2305
|
provider: 'zhipu',
|
package/dist/types.d.ts
CHANGED
|
@@ -131,6 +131,31 @@ export interface ModelDefinition {
|
|
|
131
131
|
* both together; until then, working-without-reasoning beats 400.
|
|
132
132
|
*/
|
|
133
133
|
toolsRequireReasoningOff?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* The provider rejects a FORCED tool choice for this model — Anthropic
|
|
136
|
+
* `tool_choice` `any` / `tool` answer 400 on claude-fable-5-1 and
|
|
137
|
+
* claude-opus-5-5, and Moonshot rejects `required` while thinking is on,
|
|
138
|
+
* which it always is on kimi-k2.7-code (all probed live 2026-09-23). `auto`
|
|
139
|
+
* works and the model still calls the tool. Callers that would force a tool call (Synthase
|
|
140
|
+
* discovery, starting-point selection) must send `auto` for these models;
|
|
141
|
+
* molecule-dev resolves that in one place (`toolChoiceParam` in
|
|
142
|
+
* request-shape.ts) and its live dispatch check probes the forced shape for
|
|
143
|
+
* every model, so a new model with this restriction fails the check instead
|
|
144
|
+
* of every discovery turn.
|
|
145
|
+
*/
|
|
146
|
+
rejectsForcedToolChoice?: boolean;
|
|
147
|
+
/**
|
|
148
|
+
* The provider rejects a caller-chosen `temperature` for this model —
|
|
149
|
+
* Anthropic answers 400 "`temperature` is deprecated for this model" on the
|
|
150
|
+
* Claude 5 family and Opus 4.7/4.8 (Opus 4.6, Sonnet 4.6 and Haiku 4.5 still
|
|
151
|
+
* accept it), and Moonshot's native host allows only 1 on kimi-k3 and
|
|
152
|
+
* kimi-k2.7-code (all probed live 2026-09-23). Omitting it is always safe. Callers that set a temperature (commit
|
|
153
|
+
* messages, starting-point selection) must omit it for these models;
|
|
154
|
+
* molecule-dev resolves that in one place (`temperatureParam` in
|
|
155
|
+
* request-shape.ts), and its live dispatch check sends the tool-less,
|
|
156
|
+
* temperature-0 shape to every model.
|
|
157
|
+
*/
|
|
158
|
+
rejectsTemperature?: boolean;
|
|
134
159
|
/**
|
|
135
160
|
* Provider-specific server tool type for web search (e.g. `'web_search_20250305'`).
|
|
136
161
|
* When set, the chat handler sends this as a ServerTool alongside custom tools.
|
|
@@ -234,6 +259,20 @@ export interface ModelDefinition {
|
|
|
234
259
|
* over-bill this field exists to prevent. A wrapping window belongs to the
|
|
235
260
|
* day it STARTS on, so its post-midnight tail is still matched against the
|
|
236
261
|
* previous day.
|
|
262
|
+
*
|
|
263
|
+
* `excludedDatesUtc` lists `YYYY-MM-DD` dates on which no window applies —
|
|
264
|
+
* a provider's public holidays. DeepSeek's peak excludes Chinese public
|
|
265
|
+
* holidays (its pricing page, 2026-09-23); without the list those days bill
|
|
266
|
+
* at 2× while the provider charges off-peak. A date is matched against the
|
|
267
|
+
* day a window STARTS on (UTC), like `daysOfWeekUtc`. The list is DATA that
|
|
268
|
+
* runs out: check-model-freshness warns when the coming year has no dates.
|
|
269
|
+
*
|
|
270
|
+
* `rule` is the provider's own sentence defining these windows, verbatim,
|
|
271
|
+
* and the page that publishes it. check-model-freshness re-reads the page on
|
|
272
|
+
* every run and warns the moment the sentence changes — the windows are only
|
|
273
|
+
* as right as the last reading, and DeepSeek has amended its rule twice
|
|
274
|
+
* (a weekday qualifier by 2026-08-31, a holiday exclusion by 2026-09-23)
|
|
275
|
+
* without anything here noticing.
|
|
237
276
|
*/
|
|
238
277
|
peakPricing?: {
|
|
239
278
|
windows: {
|
|
@@ -242,6 +281,11 @@ export interface ModelDefinition {
|
|
|
242
281
|
daysOfWeekUtc?: number[];
|
|
243
282
|
}[];
|
|
244
283
|
multiplier: number;
|
|
284
|
+
excludedDatesUtc?: string[];
|
|
285
|
+
rule?: {
|
|
286
|
+
url: string;
|
|
287
|
+
text: string;
|
|
288
|
+
};
|
|
245
289
|
};
|
|
246
290
|
/**
|
|
247
291
|
* A price change the provider has ANNOUNCED with a dated effective instant,
|
|
@@ -294,6 +338,11 @@ export interface ModelDefinition {
|
|
|
294
338
|
daysOfWeekUtc?: number[];
|
|
295
339
|
}[];
|
|
296
340
|
multiplier: number;
|
|
341
|
+
excludedDatesUtc?: string[];
|
|
342
|
+
rule?: {
|
|
343
|
+
url: string;
|
|
344
|
+
text: string;
|
|
345
|
+
};
|
|
297
346
|
};
|
|
298
347
|
/** Where the change was announced, for the re-verify pass after it lands. */
|
|
299
348
|
source?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,UAAU,GACV,MAAM,GACN,UAAU,GACV,SAAS,GACT,SAAS,GACT,OAAO;AACT;;;;;GAKG;GACD,QAAQ,CAAA;AAEZ;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,EAAE,EAAE,MAAM,CAAA;IACV,2CAA2C;IAC3C,QAAQ,EAAE,YAAY,CAAA;IACtB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAA;IACb,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAA;IACnB,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAA;IACvB,uEAAuE;IACvE,gBAAgB,EAAE,OAAO,CAAA;IACzB,yFAAyF;IACzF,oBAAoB,EAAE,MAAM,CAAA;IAC5B;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAA;IAC7B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,qBAAqB,CAAC,EAAE,WAAW,EAAE,CAAA;IACrC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAA;IAChC;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC3C,mEAAmE;IACnE,cAAc,EAAE,OAAO,CAAA;IACvB,iDAAiD;IACjD,qBAAqB,EAAE,OAAO,CAAA;IAC9B,8DAA8D;IAC9D,aAAa,EAAE,OAAO,CAAA;IACtB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,wFAAwF;IACxF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CACpB,MAAM,EACN;QACE,6DAA6D;QAC7D,iBAAiB,EAAE,MAAM,CAAA;QACzB,qDAAqD;QACrD,kBAAkB,EAAE,MAAM,CAAA;QAC1B,gEAAgE;QAChE,qBAAqB,CAAC,EAAE,MAAM,CAAA;QAC9B,iEAAiE;QACjE,sBAAsB,CAAC,EAAE,MAAM,CAAA;KAChC,CACF,CAAA;IACD,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAA;IACzB,8CAA8C;IAC9C,kBAAkB,EAAE,MAAM,CAAA;IAC1B;;;;;;;;;;;OAWG;IACH,qBAAqB,EAAE,MAAM,CAAA;IAC7B;;;;;;;;;;OAUG;IACH,sBAAsB,EAAE,MAAM,CAAA;IAC9B
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED