@molecule/api-resource-ai-models 1.2.6 → 1.2.7

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 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-08-27T00:37:24.634Z
6
+ Generated: 2026-08-28T08:14:50.991Z
7
7
  -->
8
8
 
9
9
  # @molecule/api-resource-ai-models
@@ -728,6 +728,16 @@ All available AI models, grouped by provider, ordered from most to least capable
728
728
  To add or remove a model, edit this array. Both the server-side validation
729
729
  and the public discovery endpoint will update automatically.
730
730
 
731
+ EVERY entry field that shapes the outbound request (`webSearchToolType`,
732
+ `supportedEffortLevels`/`defaultEffortLevel`/`effortBudgetTokens`,
733
+ `maxOutputTokens`, `regions`) must hold for the model's ACTUAL serving
734
+ host(s) in every region — not just look right in a docs table. The
735
+ pre-commit hook enforces this with a LIVE Synthase-shaped probe of each
736
+ added/changed entry (molecule-dev `verify:model-dispatch --staged-catalog`);
737
+ a value the host rejects fails the whole request for every user
738
+ (glm-5.3-flash 2026-08-28: a `webSearchToolType` both zhipu hosts reject
739
+ made every Synthase turn 400/422 while the model itself worked fine).
740
+
731
741
  Effort is each model's OWN native value — there is no abstract scale (see
732
742
  {@link ModelDefinition.supportedEffortLevels}):
733
743
 
package/dist/models.d.ts CHANGED
@@ -14,6 +14,16 @@ import type { ModelDefinition } from './types.js';
14
14
  * To add or remove a model, edit this array. Both the server-side validation
15
15
  * and the public discovery endpoint will update automatically.
16
16
  *
17
+ * EVERY entry field that shapes the outbound request (`webSearchToolType`,
18
+ * `supportedEffortLevels`/`defaultEffortLevel`/`effortBudgetTokens`,
19
+ * `maxOutputTokens`, `regions`) must hold for the model's ACTUAL serving
20
+ * host(s) in every region — not just look right in a docs table. The
21
+ * pre-commit hook enforces this with a LIVE Synthase-shaped probe of each
22
+ * added/changed entry (molecule-dev `verify:model-dispatch --staged-catalog`);
23
+ * a value the host rejects fails the whole request for every user
24
+ * (glm-5.3-flash 2026-08-28: a `webSearchToolType` both zhipu hosts reject
25
+ * made every Synthase turn 400/422 while the model itself worked fine).
26
+ *
17
27
  * Effort is each model's OWN native value — there is no abstract scale (see
18
28
  * {@link ModelDefinition.supportedEffortLevels}):
19
29
  * - A model driven by a provider-native effort/level param lists its provider
@@ -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;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyIG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EAm/CnC,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;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmJG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EAsjDnC,CAAA"}
package/dist/models.js CHANGED
@@ -13,6 +13,16 @@
13
13
  * To add or remove a model, edit this array. Both the server-side validation
14
14
  * and the public discovery endpoint will update automatically.
15
15
  *
16
+ * EVERY entry field that shapes the outbound request (`webSearchToolType`,
17
+ * `supportedEffortLevels`/`defaultEffortLevel`/`effortBudgetTokens`,
18
+ * `maxOutputTokens`, `regions`) must hold for the model's ACTUAL serving
19
+ * host(s) in every region — not just look right in a docs table. The
20
+ * pre-commit hook enforces this with a LIVE Synthase-shaped probe of each
21
+ * added/changed entry (molecule-dev `verify:model-dispatch --staged-catalog`);
22
+ * a value the host rejects fails the whole request for every user
23
+ * (glm-5.3-flash 2026-08-28: a `webSearchToolType` both zhipu hosts reject
24
+ * made every Synthase turn 400/422 while the model itself worked fine).
25
+ *
16
26
  * Effort is each model's OWN native value — there is no abstract scale (see
17
27
  * {@link ModelDefinition.supportedEffortLevels}):
18
28
  * - A model driven by a provider-native effort/level param lists its provider
@@ -174,7 +184,11 @@ export const MODELS = [
174
184
  supportsPromptCaching: true,
175
185
  supportsTools: true,
176
186
  webSearchToolType: 'web_search_20260209',
177
- codeExecutionToolType: 'code_execution_20250825',
187
+ // Current server-tool type per the API reference (verified 2026-08-28);
188
+ // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
189
+ // not a tool type — sending it as one is a 400. Not currently sent by
190
+ // Synthase (request-shape.ts forwards only webSearchToolType).
191
+ codeExecutionToolType: 'code_execution_20260521',
178
192
  webFetchToolType: 'web_fetch_20260209',
179
193
  inputPricePerMTok: 10,
180
194
  outputPricePerMTok: 50,
@@ -214,7 +228,11 @@ export const MODELS = [
214
228
  supportsPromptCaching: true,
215
229
  supportsTools: true,
216
230
  webSearchToolType: 'web_search_20260209',
217
- codeExecutionToolType: 'code_execution_20250825',
231
+ // Current server-tool type per the API reference (verified 2026-08-28);
232
+ // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
233
+ // not a tool type — sending it as one is a 400. Not currently sent by
234
+ // Synthase (request-shape.ts forwards only webSearchToolType).
235
+ codeExecutionToolType: 'code_execution_20260521',
218
236
  webFetchToolType: 'web_fetch_20260209',
219
237
  // Drop-in successor to Opus 4.8 at identical pricing.
220
238
  inputPricePerMTok: 5,
@@ -243,7 +261,11 @@ export const MODELS = [
243
261
  supportsPromptCaching: true,
244
262
  supportsTools: true,
245
263
  webSearchToolType: 'web_search_20260209',
246
- codeExecutionToolType: 'code_execution_20250825',
264
+ // Current server-tool type per the API reference (verified 2026-08-28);
265
+ // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
266
+ // not a tool type — sending it as one is a 400. Not currently sent by
267
+ // Synthase (request-shape.ts forwards only webSearchToolType).
268
+ codeExecutionToolType: 'code_execution_20260521',
247
269
  webFetchToolType: 'web_fetch_20260209',
248
270
  inputPricePerMTok: 5,
249
271
  outputPricePerMTok: 25,
@@ -276,7 +298,11 @@ export const MODELS = [
276
298
  supportsPromptCaching: true,
277
299
  supportsTools: true,
278
300
  webSearchToolType: 'web_search_20260209',
279
- codeExecutionToolType: 'code_execution_20250825',
301
+ // Current server-tool type per the API reference (verified 2026-08-28);
302
+ // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
303
+ // not a tool type — sending it as one is a 400. Not currently sent by
304
+ // Synthase (request-shape.ts forwards only webSearchToolType).
305
+ codeExecutionToolType: 'code_execution_20260521',
280
306
  webFetchToolType: 'web_fetch_20260209',
281
307
  // Standard pricing. Intro pricing ($2/$10) applies through 2026-08-31 —
282
308
  // billed here at standard so metering never under-charges; revisit after.
@@ -307,7 +333,11 @@ export const MODELS = [
307
333
  supportsPromptCaching: true,
308
334
  supportsTools: true,
309
335
  webSearchToolType: 'web_search_20260209',
310
- codeExecutionToolType: 'code_execution_20250825',
336
+ // Current server-tool type per the API reference (verified 2026-08-28);
337
+ // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
338
+ // not a tool type — sending it as one is a 400. Not currently sent by
339
+ // Synthase (request-shape.ts forwards only webSearchToolType).
340
+ codeExecutionToolType: 'code_execution_20260521',
311
341
  webFetchToolType: 'web_fetch_20260209',
312
342
  inputPricePerMTok: 5,
313
343
  outputPricePerMTok: 25,
@@ -342,7 +372,11 @@ export const MODELS = [
342
372
  supportsPromptCaching: true,
343
373
  supportsTools: true,
344
374
  webSearchToolType: 'web_search_20260209',
345
- codeExecutionToolType: 'code_execution_20250825',
375
+ // Current server-tool type per the API reference (verified 2026-08-28);
376
+ // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
377
+ // not a tool type — sending it as one is a 400. Not currently sent by
378
+ // Synthase (request-shape.ts forwards only webSearchToolType).
379
+ codeExecutionToolType: 'code_execution_20260521',
346
380
  webFetchToolType: 'web_fetch_20260209',
347
381
  inputPricePerMTok: 5,
348
382
  outputPricePerMTok: 25,
@@ -373,7 +407,11 @@ export const MODELS = [
373
407
  supportsPromptCaching: true,
374
408
  supportsTools: true,
375
409
  webSearchToolType: 'web_search_20260209',
376
- codeExecutionToolType: 'code_execution_20250825',
410
+ // Current server-tool type per the API reference (verified 2026-08-28);
411
+ // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
412
+ // not a tool type — sending it as one is a 400. Not currently sent by
413
+ // Synthase (request-shape.ts forwards only webSearchToolType).
414
+ codeExecutionToolType: 'code_execution_20260521',
377
415
  webFetchToolType: 'web_fetch_20260209',
378
416
  inputPricePerMTok: 3,
379
417
  outputPricePerMTok: 15,
@@ -446,7 +484,11 @@ export const MODELS = [
446
484
  supportsTools: true,
447
485
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
448
486
  toolsRequireReasoningOff: true,
449
- webSearchToolType: 'web_search',
487
+ // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
488
+ // has no web_search tool type (it is a Responses-API construct), and the
489
+ // bond deliberately forwards no server tools. Advertising one here surfaced
490
+ // web search in the system prompt while it could never work. Re-add when
491
+ // the bond moves to /v1/responses (verified 2026-08-28).
450
492
  codeExecutionToolType: 'code_interpreter',
451
493
  // LIST price. OpenAI ran a >20% PROMO from 2026-08-22 ($4/$20, cache read
452
494
  // $0.40, cache write $5) — "GPT-5.6 Sol's promotional pricing is available
@@ -479,7 +521,11 @@ export const MODELS = [
479
521
  supportsTools: true,
480
522
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
481
523
  toolsRequireReasoningOff: true,
482
- webSearchToolType: 'web_search',
524
+ // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
525
+ // has no web_search tool type (it is a Responses-API construct), and the
526
+ // bond deliberately forwards no server tools. Advertising one here surfaced
527
+ // web search in the system prompt while it could never work. Re-add when
528
+ // the bond moves to /v1/responses (verified 2026-08-28).
483
529
  codeExecutionToolType: 'code_interpreter',
484
530
  // Repriced 2026-07-30 (20% cut from $2.50/$15).
485
531
  inputPricePerMTok: 2,
@@ -507,7 +553,11 @@ export const MODELS = [
507
553
  supportsTools: true,
508
554
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
509
555
  toolsRequireReasoningOff: true,
510
- webSearchToolType: 'web_search',
556
+ // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
557
+ // has no web_search tool type (it is a Responses-API construct), and the
558
+ // bond deliberately forwards no server tools. Advertising one here surfaced
559
+ // web search in the system prompt while it could never work. Re-add when
560
+ // the bond moves to /v1/responses (verified 2026-08-28).
511
561
  codeExecutionToolType: 'code_interpreter',
512
562
  // Repriced 2026-07-30 (80% cut from $1/$6).
513
563
  inputPricePerMTok: 0.2,
@@ -542,7 +592,11 @@ export const MODELS = [
542
592
  supportsTools: true,
543
593
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
544
594
  toolsRequireReasoningOff: true,
545
- webSearchToolType: 'web_search',
595
+ // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
596
+ // has no web_search tool type (it is a Responses-API construct), and the
597
+ // bond deliberately forwards no server tools. Advertising one here surfaced
598
+ // web search in the system prompt while it could never work. Re-add when
599
+ // the bond moves to /v1/responses (verified 2026-08-28).
546
600
  codeExecutionToolType: 'code_interpreter',
547
601
  inputPricePerMTok: 5,
548
602
  outputPricePerMTok: 30,
@@ -572,7 +626,11 @@ export const MODELS = [
572
626
  supportsTools: true,
573
627
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
574
628
  toolsRequireReasoningOff: true,
575
- webSearchToolType: 'web_search',
629
+ // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
630
+ // has no web_search tool type (it is a Responses-API construct), and the
631
+ // bond deliberately forwards no server tools. Advertising one here surfaced
632
+ // web search in the system prompt while it could never work. Re-add when
633
+ // the bond moves to /v1/responses (verified 2026-08-28).
576
634
  codeExecutionToolType: 'code_interpreter',
577
635
  inputPricePerMTok: 2.5,
578
636
  outputPricePerMTok: 15,
@@ -604,7 +662,11 @@ export const MODELS = [
604
662
  supportsTools: true,
605
663
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
606
664
  toolsRequireReasoningOff: true,
607
- webSearchToolType: 'web_search',
665
+ // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
666
+ // has no web_search tool type (it is a Responses-API construct), and the
667
+ // bond deliberately forwards no server tools. Advertising one here surfaced
668
+ // web search in the system prompt while it could never work. Re-add when
669
+ // the bond moves to /v1/responses (verified 2026-08-28).
608
670
  codeExecutionToolType: 'code_interpreter',
609
671
  inputPricePerMTok: 0.75,
610
672
  outputPricePerMTok: 4.5,
@@ -1583,6 +1645,11 @@ export const MODELS = [
1583
1645
  // US default: DeepInfra (zai-org/GLM-5.3-Flash) bills exactly the list
1584
1646
  // card — $0.15/$0.50, cache read 0.2× = $0.03. Verified live 2026-08-27.
1585
1647
  regions: ['us', 'cn'],
1648
+ // NB: DeepInfra returns NO cached-token usage (verified live 2026-08-28:
1649
+ // an identical ~2.6k-token prefix twice reported full input both passes,
1650
+ // no prompt_tokens_details) — the us cacheRead rate below is informational
1651
+ // only; metering always bills full input there. Native z.ai reports and
1652
+ // discounts cached tokens correctly.
1586
1653
  regionPricing: {
1587
1654
  us: { inputPricePerMTok: 0.15, outputPricePerMTok: 0.5, cacheReadPricePerMTok: 0.03 },
1588
1655
  },
@@ -1614,6 +1681,11 @@ export const MODELS = [
1614
1681
  cacheWritePricePerMTok: 1.4,
1615
1682
  // US default (DeepInfra bills ~half native). Verified 2026-08-01.
1616
1683
  regions: ['us', 'cn'],
1684
+ // NB: DeepInfra returns NO cached-token usage (verified live 2026-08-28:
1685
+ // an identical ~2.6k-token prefix twice reported full input both passes,
1686
+ // no prompt_tokens_details) — the us cacheRead rate below is informational
1687
+ // only; metering always bills full input there. Native z.ai reports and
1688
+ // discounts cached tokens correctly.
1617
1689
  regionPricing: {
1618
1690
  us: { inputPricePerMTok: 0.75, outputPricePerMTok: 2.4, cacheReadPricePerMTok: 0.14 },
1619
1691
  },
@@ -1650,6 +1722,11 @@ export const MODELS = [
1650
1722
  cacheWritePricePerMTok: 1,
1651
1723
  // US default (DeepInfra bills below native). Verified 2026-08-01.
1652
1724
  regions: ['us', 'cn'],
1725
+ // NB: DeepInfra returns NO cached-token usage (verified live 2026-08-28:
1726
+ // an identical ~2.6k-token prefix twice reported full input both passes,
1727
+ // no prompt_tokens_details) — the us cacheRead rate below is informational
1728
+ // only; metering always bills full input there. Native z.ai reports and
1729
+ // discounts cached tokens correctly.
1653
1730
  regionPricing: {
1654
1731
  us: { inputPricePerMTok: 0.6, outputPricePerMTok: 2.08, cacheReadPricePerMTok: 0.12 },
1655
1732
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@molecule/api-resource-ai-models",
3
- "version": "1.2.6",
3
+ "version": "1.2.7",
4
4
  "description": "AI model catalog — server-side source of truth plus an authentication-gated discovery endpoint",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",