@molecule/api-resource-ai-models 1.7.0 → 1.9.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 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-23T14:26:31.162Z
6
+ Generated: 2026-09-25T13:04:49.248Z
7
7
  -->
8
8
 
9
9
  # @molecule/api-resource-ai-models
@@ -188,8 +188,21 @@ interface ModelDefinition {
188
188
  * Provider-specific server tool type for web search (e.g. `'web_search_20250305'`).
189
189
  * When set, the chat handler sends this as a ServerTool alongside custom tools.
190
190
  * Omit if the model / provider does not support native web search.
191
+ *
192
+ * Set it only when a search actually runs on a Synthase-shaped request
193
+ * (function tools present, streaming) — some providers accept the tool and
194
+ * silently never search in that shape. Requires {@link webSearchPricePer1k}.
191
195
  */
192
196
  webSearchToolType?: string
197
+ /**
198
+ * USD per 1,000 web searches the provider bills on top of tokens, applied to
199
+ * `TokenUsage.webSearchRequests`. Required whenever `webSearchToolType` is
200
+ * set (enforced by the catalog tests) — a search tool with no price is
201
+ * unmetered spend. Search-result tokens are billed as ordinary input tokens
202
+ * and need nothing here. Free monthly allowances are account-wide, not
203
+ * per-user, so they are not modeled: every search is metered at list price.
204
+ */
205
+ webSearchPricePer1k?: number
193
206
  /**
194
207
  * Provider-specific server tool type for code execution (e.g. `'code_execution_20250825'`).
195
208
  * Omit if the model / provider does not support native code execution.
@@ -830,6 +843,13 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
830
843
  2026-07-30 GPT-5.6 repricing — cross-check prices against models.dev with
831
844
  `npm run check:model-freshness` from the workspace root):
832
845
 
846
+ - Web search (`webSearchPricePer1k`, billed per search on top of tokens;
847
+ verified 2026-09-25 on each provider's pricing page): Anthropic $10 per
848
+ 1,000 searches (failed searches are not billed); OpenAI $10 per 1,000
849
+ web_search_call items on reasoning models; Google $14 per 1,000 search
850
+ queries after 5,000/month free, shared across the account, so not
851
+ modeled; Z.ai $0.01 per use, but its search never runs on a Synthase-shaped
852
+ request, so GLM entries carry no webSearchToolType.
833
853
  - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
834
854
  - /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
835
855
  current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
@@ -893,10 +913,12 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
893
913
  request ($20/$75, cached $2, cache writes $25): 2× input/cache, 1.5×
894
914
  output. The catalog's price fields are flat per-MTok rates with no
895
915
  context-band dimension, so that band is NOT modeled, exactly as the
896
- > 200K tiers above are not. It is moot for now — astra is deliberately NOT
897
- > in the catalog because it cannot serve a tool-carrying request on the
898
- > bond's /v1/chat/completions endpoint; see the DO NOT ADD block above the
899
- > OpenAI entries for the live 400s and the condition that lifts it.)
916
+ > 200K tiers above are not. Astra was withheld at the time: it could not serve a
917
+ > tool-carrying request on /v1/chat/completions.)
918
+ > (re-verified 2026-09-24 on the gpt-6-astra model page: ADDED gpt-6-astra
919
+ > ($10/$50, cached $1, cache writes $12.50; 1.05M ctx / 128K out; image
920
+ > input; knowledge cutoff Apr 30 2026; effort low|medium|high|xhigh|max),
921
+ > now that the bond calls /v1/responses.)
900
922
  > (re-verified 2026-09-23: ADDED gpt-6-sol ($2/$10, cached $0.20, cache
901
923
  writes $2.50) and gpt-6-luna ($0.10/$0.50, cached $0.01, cache writes
902
924
  $0.125), released 2026-09-22 — both with the same unmodeled >272K band,
package/dist/models.d.ts CHANGED
@@ -53,6 +53,13 @@ import type { ModelDefinition } from './types.js';
53
53
  * Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
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
+ * - Web search (`webSearchPricePer1k`, billed per search on top of tokens;
57
+ * verified 2026-09-25 on each provider's pricing page): Anthropic $10 per
58
+ * 1,000 searches (failed searches are not billed); OpenAI $10 per 1,000
59
+ * web_search_call items on reasoning models; Google $14 per 1,000 search
60
+ * queries after 5,000/month free, shared across the account, so not
61
+ * modeled; Z.ai $0.01 per use, but its search never runs on a Synthase-shaped
62
+ * request, so GLM entries carry no webSearchToolType.
56
63
  * - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
57
64
  * + /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
58
65
  * current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
@@ -116,10 +123,12 @@ import type { ModelDefinition } from './types.js';
116
123
  * request ($20/$75, cached $2, cache writes $25): 2× input/cache, 1.5×
117
124
  * output. The catalog's price fields are flat per-MTok rates with no
118
125
  * context-band dimension, so that band is NOT modeled, exactly as the
119
- * >200K tiers above are not. It is moot for now — astra is deliberately NOT
120
- * in the catalog because it cannot serve a tool-carrying request on the
121
- * bond's /v1/chat/completions endpoint; see the DO NOT ADD block above the
122
- * OpenAI entries for the live 400s and the condition that lifts it.)
126
+ * >200K tiers above are not. Astra was withheld at the time: it could not serve a
127
+ * tool-carrying request on /v1/chat/completions.)
128
+ * (re-verified 2026-09-24 on the gpt-6-astra model page: ADDED gpt-6-astra
129
+ * ($10/$50, cached $1, cache writes $12.50; 1.05M ctx / 128K out; image
130
+ * input; knowledge cutoff Apr 30 2026; effort low|medium|high|xhigh|max),
131
+ * now that the bond calls /v1/responses.)
123
132
  * (re-verified 2026-09-23: ADDED gpt-6-sol ($2/$10, cached $0.20, cache
124
133
  * writes $2.50) and gpt-6-luna ($0.10/$0.50, cached $0.01, cache writes
125
134
  * $0.125), released 2026-09-22 — both with the same unmodeled >272K band,
@@ -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;AAwDjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkQG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EA2jEnC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2QG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EAimEnC,CAAA"}
package/dist/models.js CHANGED
@@ -102,6 +102,13 @@ const CHINA_PUBLIC_HOLIDAYS = [
102
102
  * Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
103
103
  * 2026-07-30 GPT-5.6 repricing — cross-check prices against models.dev with
104
104
  * `npm run check:model-freshness` from the workspace root):
105
+ * - Web search (`webSearchPricePer1k`, billed per search on top of tokens;
106
+ * verified 2026-09-25 on each provider's pricing page): Anthropic $10 per
107
+ * 1,000 searches (failed searches are not billed); OpenAI $10 per 1,000
108
+ * web_search_call items on reasoning models; Google $14 per 1,000 search
109
+ * queries after 5,000/month free, shared across the account, so not
110
+ * modeled; Z.ai $0.01 per use, but its search never runs on a Synthase-shaped
111
+ * request, so GLM entries carry no webSearchToolType.
105
112
  * - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
106
113
  * + /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
107
114
  * current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
@@ -165,10 +172,12 @@ const CHINA_PUBLIC_HOLIDAYS = [
165
172
  * request ($20/$75, cached $2, cache writes $25): 2× input/cache, 1.5×
166
173
  * output. The catalog's price fields are flat per-MTok rates with no
167
174
  * context-band dimension, so that band is NOT modeled, exactly as the
168
- * >200K tiers above are not. It is moot for now — astra is deliberately NOT
169
- * in the catalog because it cannot serve a tool-carrying request on the
170
- * bond's /v1/chat/completions endpoint; see the DO NOT ADD block above the
171
- * OpenAI entries for the live 400s and the condition that lifts it.)
175
+ * >200K tiers above are not. Astra was withheld at the time: it could not serve a
176
+ * tool-carrying request on /v1/chat/completions.)
177
+ * (re-verified 2026-09-24 on the gpt-6-astra model page: ADDED gpt-6-astra
178
+ * ($10/$50, cached $1, cache writes $12.50; 1.05M ctx / 128K out; image
179
+ * input; knowledge cutoff Apr 30 2026; effort low|medium|high|xhigh|max),
180
+ * now that the bond calls /v1/responses.)
172
181
  * (re-verified 2026-09-23: ADDED gpt-6-sol ($2/$10, cached $0.20, cache
173
182
  * writes $2.50) and gpt-6-luna ($0.10/$0.50, cached $0.01, cache writes
174
183
  * $0.125), released 2026-09-22 — both with the same unmodeled >272K band,
@@ -352,6 +361,7 @@ export const MODELS = [
352
361
  supportsPromptCaching: true,
353
362
  supportsTools: true,
354
363
  webSearchToolType: 'web_search_20260209',
364
+ webSearchPricePer1k: 10,
355
365
  // Dynamic-filtering server tools, same as the rest of the 4.6+ Anthropic
356
366
  // fleet. Not currently sent by Synthase beyond webSearchToolType
357
367
  // (request-shape.ts forwards only that one).
@@ -390,6 +400,7 @@ export const MODELS = [
390
400
  supportsPromptCaching: true,
391
401
  supportsTools: true,
392
402
  webSearchToolType: 'web_search_20260209',
403
+ webSearchPricePer1k: 10,
393
404
  // Current server-tool type per the API reference (verified 2026-08-28);
394
405
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
395
406
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -446,6 +457,7 @@ export const MODELS = [
446
457
  supportsPromptCaching: true,
447
458
  supportsTools: true,
448
459
  webSearchToolType: 'web_search_20260209',
460
+ webSearchPricePer1k: 10,
449
461
  // Same server-tool versions as the rest of the 4.6+ Anthropic fleet. Not
450
462
  // currently sent by Synthase beyond webSearchToolType.
451
463
  codeExecutionToolType: 'code_execution_20260521',
@@ -493,6 +505,7 @@ export const MODELS = [
493
505
  supportsPromptCaching: true,
494
506
  supportsTools: true,
495
507
  webSearchToolType: 'web_search_20260209',
508
+ webSearchPricePer1k: 10,
496
509
  // Current server-tool type per the API reference (verified 2026-08-28);
497
510
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
498
511
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -534,6 +547,7 @@ export const MODELS = [
534
547
  supportsPromptCaching: true,
535
548
  supportsTools: true,
536
549
  webSearchToolType: 'web_search_20260209',
550
+ webSearchPricePer1k: 10,
537
551
  // Current server-tool type per the API reference (verified 2026-08-28);
538
552
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
539
553
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -575,6 +589,7 @@ export const MODELS = [
575
589
  supportsPromptCaching: true,
576
590
  supportsTools: true,
577
591
  webSearchToolType: 'web_search_20260209',
592
+ webSearchPricePer1k: 10,
578
593
  // Current server-tool type per the API reference (verified 2026-08-28);
579
594
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
580
595
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -614,6 +629,7 @@ export const MODELS = [
614
629
  supportsPromptCaching: true,
615
630
  supportsTools: true,
616
631
  webSearchToolType: 'web_search_20260209',
632
+ webSearchPricePer1k: 10,
617
633
  // Current server-tool type per the API reference (verified 2026-08-28);
618
634
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
619
635
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -653,6 +669,7 @@ export const MODELS = [
653
669
  supportsPromptCaching: true,
654
670
  supportsTools: true,
655
671
  webSearchToolType: 'web_search_20260209',
672
+ webSearchPricePer1k: 10,
656
673
  // Current server-tool type per the API reference (verified 2026-08-28);
657
674
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
658
675
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -688,6 +705,7 @@ export const MODELS = [
688
705
  supportsPromptCaching: true,
689
706
  supportsTools: true,
690
707
  webSearchToolType: 'web_search_20260209',
708
+ webSearchPricePer1k: 10,
691
709
  // Current server-tool type per the API reference (verified 2026-08-28);
692
710
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
693
711
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -724,6 +742,7 @@ export const MODELS = [
724
742
  supportsPromptCaching: true,
725
743
  supportsTools: true,
726
744
  webSearchToolType: 'web_search_20250305',
745
+ webSearchPricePer1k: 10,
727
746
  webFetchToolType: 'web_fetch_20250910',
728
747
  inputPricePerMTok: 1,
729
748
  outputPricePerMTok: 5,
@@ -746,32 +765,14 @@ export const MODELS = [
746
765
  // exist upstream — not modeled (same as the Gemini/Grok >200K tiers), and
747
766
  // neither are the Batch (0.5×) or Sol "Fast mode" (2×) cards.
748
767
  //
749
- // DO NOT ADD gpt-6-astra (OpenAI's flagship since 2026-09-04) UNTIL THE BOND
750
- // MOVES TO /v1/responses. It is deliberately absent, not overlooked. The
751
- // openai bond posts to /v1/chat/completions, and on that endpoint this model
752
- // rejects EVERY request Synthase can send, because Synthase always carries
753
- // function tools (probed live 2026-09-21 on our own key):
754
- // - tools + reasoning_effort low|medium|high|xhigh → 400 "Function tools
755
- // with reasoning_effort are not supported for gpt-6-astra in
756
- // /v1/chat/completions. To use function tools, use /v1/responses or set
757
- // reasoning_effort to 'none'."
758
- // - tools, field omitted → the same 400 (the model applies its own default)
759
- // - tools + reasoning_effort 'none' → 400 "Unsupported value: … does not
760
- // support 'none' with this model. Supported values are: 'low', 'medium',
761
- // 'high', and 'xhigh'."
762
- // So the gpt-5.6 workaround (`toolsRequireReasoningOff`, which pins an
763
- // explicit 'none') does NOT carry over: OpenAI removed 'none' from this
764
- // model's ladder, which closes the one door that made the 5.6 family usable.
765
- // Nothing is wrong with the model or the account — no-tools chat and
766
- // /v1/responses WITH tools both return 200. Both candidate entries were built
767
- // and run through molecule-dev's verify:model-dispatch; both FAILED, so the
768
- // entry was withheld rather than shipped broken (the glm-5.3-flash lesson:
769
- // a catalog entry that cannot serve a Synthase-shaped turn breaks every turn
770
- // on it). The freshness gate WILL keep listing it as a new-model candidate —
771
- // that is correct; it becomes addable the day the bond speaks /v1/responses.
772
- // Note also that the docs page advertises effort 'max', which
773
- // /v1/chat/completions rejects for this model — verify the ladder against the
774
- // endpoint, not the docs, when this is revisited.
768
+ // gpt-6-astra (OpenAI's flagship since 2026-09-04) was withheld until the
769
+ // bond moved to /v1/responses: on /v1/chat/completions it rejects every
770
+ // tool-carrying request (tools + any reasoning_effort → 400, and it has no
771
+ // 'none' effort to fall back on — probed live 2026-09-21). The bond calls
772
+ // /v1/responses on OpenAI's own endpoint since 2026-09-24, where tools +
773
+ // every effort low..max return 200 (probed live 2026-09-24), so astra needs
774
+ // no `toolsRequireReasoningOff` pin. The docs page lists chat/completions
775
+ // tool support too; the live endpoint disagrees — trust the endpoint.
775
776
  //
776
777
  // gpt-6-sol and gpt-6-luna (released 2026-09-22) are NOT astra's case: both
777
778
  // still accept reasoning_effort 'none', and tools + 'none' returns 200 on
@@ -782,6 +783,39 @@ export const MODELS = [
782
783
  // $2/$10 is priced at 5.6-terra's tier and undercuts 5.6-sol, so it supersedes
783
784
  // both; luna supersedes 5.6-luna at half the price.
784
785
  // ---------------------------------------------------------------------------
786
+ {
787
+ id: 'gpt-6-astra',
788
+ provider: 'openai',
789
+ label: 'GPT-6 Astra',
790
+ description: 'OpenAI flagship — the hardest reasoning & coding work',
791
+ // Documented as 1.05M; floored to 1M like the other OpenAI entries.
792
+ contextWindow: 1_000_000,
793
+ maxOutputTokens: 128_000,
794
+ supportsThinking: true,
795
+ thinkingBudgetTokens: 16_000,
796
+ thinkingConfigurable: true,
797
+ // No 'none' on this model. 'max' verified accepted with tools on
798
+ // /v1/responses (2026-09-24).
799
+ supportedEffortLevels: ['low', 'medium', 'high', 'xhigh', 'max'],
800
+ defaultEffortLevel: 'medium',
801
+ // temperature → 400 "Unsupported parameter: 'temperature' is not supported
802
+ // with this model" (probed live 2026-09-24).
803
+ rejectsTemperature: true,
804
+ supportsVision: true,
805
+ supportsPromptCaching: true,
806
+ supportsTools: true,
807
+ webSearchToolType: 'web_search',
808
+ // $10 per 1,000 web_search_call items on reasoning models (the bond counts
809
+ // them); search-result tokens bill as input.
810
+ webSearchPricePer1k: 10,
811
+ codeExecutionToolType: 'code_interpreter',
812
+ // Standard tier; >272K band ($20/$75, cached $2, writes $25) not modeled.
813
+ inputPricePerMTok: 10,
814
+ outputPricePerMTok: 50,
815
+ cacheReadPricePerMTok: 1,
816
+ cacheWritePricePerMTok: 12.5,
817
+ knowledgeCutoff: '2026-04-30',
818
+ },
785
819
  {
786
820
  id: 'gpt-6-sol',
787
821
  provider: 'openai',
@@ -799,10 +833,11 @@ export const MODELS = [
799
833
  supportsPromptCaching: true,
800
834
  supportsTools: true,
801
835
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
836
+ // The bond now calls /v1/responses, where it is not (verified 2026-09-24);
837
+ // lifting this pin changes reasoning quality/cost, so it waits for a model eval.
802
838
  toolsRequireReasoningOff: true,
803
- // NO webSearchToolType: see gpt-5.6-sol — the bond calls
804
- // /v1/chat/completions, which has no web_search tool type. Re-add when the
805
- // bond moves to /v1/responses.
839
+ webSearchToolType: 'web_search',
840
+ webSearchPricePer1k: 10,
806
841
  codeExecutionToolType: 'code_interpreter',
807
842
  // Standard tier. A long-context band above 272K prompt tokens reprices the
808
843
  // whole request ($4/$15, cached $0.40, cache writes $5) — not modeled, same
@@ -829,8 +864,11 @@ export const MODELS = [
829
864
  supportsPromptCaching: true,
830
865
  supportsTools: true,
831
866
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
867
+ // The bond now calls /v1/responses, where it is not (verified 2026-09-24);
868
+ // lifting this pin changes reasoning quality/cost, so it waits for a model eval.
832
869
  toolsRequireReasoningOff: true,
833
- // NO webSearchToolType: see gpt-5.6-sol.
870
+ webSearchToolType: 'web_search',
871
+ webSearchPricePer1k: 10,
834
872
  codeExecutionToolType: 'code_interpreter',
835
873
  // Standard tier; >272K band ($0.20/$0.75, cached $0.02, writes $0.25) not
836
874
  // modeled.
@@ -858,12 +896,11 @@ export const MODELS = [
858
896
  supportsPromptCaching: true,
859
897
  supportsTools: true,
860
898
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
899
+ // The bond now calls /v1/responses, where it is not (verified 2026-09-24);
900
+ // lifting this pin changes reasoning quality/cost, so it waits for a model eval.
861
901
  toolsRequireReasoningOff: true,
862
- // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
863
- // has no web_search tool type (it is a Responses-API construct), and the
864
- // bond deliberately forwards no server tools. Advertising one here surfaced
865
- // web search in the system prompt while it could never work. Re-add when
866
- // the bond moves to /v1/responses (verified 2026-08-28).
902
+ webSearchToolType: 'web_search',
903
+ webSearchPricePer1k: 10,
867
904
  codeExecutionToolType: 'code_interpreter',
868
905
  // LIST price. OpenAI ran a >20% PROMO from 2026-08-22 ($4/$20, cache read
869
906
  // $0.40, cache write $5) — "GPT-5.6 Sol's promotional pricing is available
@@ -899,12 +936,11 @@ export const MODELS = [
899
936
  supportsPromptCaching: true,
900
937
  supportsTools: true,
901
938
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
939
+ // The bond now calls /v1/responses, where it is not (verified 2026-09-24);
940
+ // lifting this pin changes reasoning quality/cost, so it waits for a model eval.
902
941
  toolsRequireReasoningOff: true,
903
- // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
904
- // has no web_search tool type (it is a Responses-API construct), and the
905
- // bond deliberately forwards no server tools. Advertising one here surfaced
906
- // web search in the system prompt while it could never work. Re-add when
907
- // the bond moves to /v1/responses (verified 2026-08-28).
942
+ webSearchToolType: 'web_search',
943
+ webSearchPricePer1k: 10,
908
944
  codeExecutionToolType: 'code_interpreter',
909
945
  // Repriced 2026-07-30 (20% cut from $2.50/$15).
910
946
  inputPricePerMTok: 2,
@@ -935,12 +971,11 @@ export const MODELS = [
935
971
  supportsPromptCaching: true,
936
972
  supportsTools: true,
937
973
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
974
+ // The bond now calls /v1/responses, where it is not (verified 2026-09-24);
975
+ // lifting this pin changes reasoning quality/cost, so it waits for a model eval.
938
976
  toolsRequireReasoningOff: true,
939
- // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
940
- // has no web_search tool type (it is a Responses-API construct), and the
941
- // bond deliberately forwards no server tools. Advertising one here surfaced
942
- // web search in the system prompt while it could never work. Re-add when
943
- // the bond moves to /v1/responses (verified 2026-08-28).
977
+ webSearchToolType: 'web_search',
978
+ webSearchPricePer1k: 10,
944
979
  codeExecutionToolType: 'code_interpreter',
945
980
  // Repriced 2026-07-30 (80% cut from $1/$6).
946
981
  inputPricePerMTok: 0.2,
@@ -977,12 +1012,11 @@ export const MODELS = [
977
1012
  supportsPromptCaching: true,
978
1013
  supportsTools: true,
979
1014
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
1015
+ // The bond now calls /v1/responses, where it is not (verified 2026-09-24);
1016
+ // lifting this pin changes reasoning quality/cost, so it waits for a model eval.
980
1017
  toolsRequireReasoningOff: true,
981
- // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
982
- // has no web_search tool type (it is a Responses-API construct), and the
983
- // bond deliberately forwards no server tools. Advertising one here surfaced
984
- // web search in the system prompt while it could never work. Re-add when
985
- // the bond moves to /v1/responses (verified 2026-08-28).
1018
+ webSearchToolType: 'web_search',
1019
+ webSearchPricePer1k: 10,
986
1020
  codeExecutionToolType: 'code_interpreter',
987
1021
  inputPricePerMTok: 5,
988
1022
  outputPricePerMTok: 30,
@@ -1012,12 +1046,11 @@ export const MODELS = [
1012
1046
  supportsPromptCaching: true,
1013
1047
  supportsTools: true,
1014
1048
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
1049
+ // The bond now calls /v1/responses, where it is not (verified 2026-09-24);
1050
+ // lifting this pin changes reasoning quality/cost, so it waits for a model eval.
1015
1051
  toolsRequireReasoningOff: true,
1016
- // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
1017
- // has no web_search tool type (it is a Responses-API construct), and the
1018
- // bond deliberately forwards no server tools. Advertising one here surfaced
1019
- // web search in the system prompt while it could never work. Re-add when
1020
- // the bond moves to /v1/responses (verified 2026-08-28).
1052
+ webSearchToolType: 'web_search',
1053
+ webSearchPricePer1k: 10,
1021
1054
  codeExecutionToolType: 'code_interpreter',
1022
1055
  inputPricePerMTok: 2.5,
1023
1056
  outputPricePerMTok: 15,
@@ -1049,12 +1082,11 @@ export const MODELS = [
1049
1082
  supportsPromptCaching: true,
1050
1083
  supportsTools: true,
1051
1084
  // Tools + ANY reasoning is a 400 on /v1/chat/completions for this family.
1085
+ // The bond now calls /v1/responses, where it is not (verified 2026-09-24);
1086
+ // lifting this pin changes reasoning quality/cost, so it waits for a model eval.
1052
1087
  toolsRequireReasoningOff: true,
1053
- // NO webSearchToolType: the OpenAI bond calls /v1/chat/completions, which
1054
- // has no web_search tool type (it is a Responses-API construct), and the
1055
- // bond deliberately forwards no server tools. Advertising one here surfaced
1056
- // web search in the system prompt while it could never work. Re-add when
1057
- // the bond moves to /v1/responses (verified 2026-08-28).
1088
+ webSearchToolType: 'web_search',
1089
+ webSearchPricePer1k: 10,
1058
1090
  codeExecutionToolType: 'code_interpreter',
1059
1091
  inputPricePerMTok: 0.75,
1060
1092
  outputPricePerMTok: 4.5,
@@ -1101,6 +1133,7 @@ export const MODELS = [
1101
1133
  supportsPromptCaching: true,
1102
1134
  supportsTools: true,
1103
1135
  webSearchToolType: 'google_search',
1136
+ webSearchPricePer1k: 14,
1104
1137
  codeExecutionToolType: 'code_execution',
1105
1138
  webFetchToolType: 'url_context',
1106
1139
  // "New Stable" 2026-09-02. LIST price $1.50/$7.50 — same card as 3.7- and
@@ -1137,6 +1170,7 @@ export const MODELS = [
1137
1170
  supportsPromptCaching: true,
1138
1171
  supportsTools: true,
1139
1172
  webSearchToolType: 'google_search',
1173
+ webSearchPricePer1k: 14,
1140
1174
  codeExecutionToolType: 'code_execution',
1141
1175
  webFetchToolType: 'url_context',
1142
1176
  // "New Stable" 2026-08-13. LIST price $1.50/$7.50 — same as 3.6-flash.
@@ -1179,6 +1213,7 @@ export const MODELS = [
1179
1213
  supportsPromptCaching: true,
1180
1214
  supportsTools: true,
1181
1215
  webSearchToolType: 'google_search',
1216
+ webSearchPricePer1k: 14,
1182
1217
  codeExecutionToolType: 'code_execution',
1183
1218
  webFetchToolType: 'url_context',
1184
1219
  // GA 2026-07-21 — same input price as 3.5-flash, CHEAPER output ($7.50 vs $9).
@@ -1223,6 +1258,7 @@ export const MODELS = [
1223
1258
  supportsPromptCaching: true,
1224
1259
  supportsTools: true,
1225
1260
  webSearchToolType: 'google_search',
1261
+ webSearchPricePer1k: 14,
1226
1262
  codeExecutionToolType: 'code_execution',
1227
1263
  webFetchToolType: 'url_context',
1228
1264
  inputPricePerMTok: 1.5,
@@ -1257,6 +1293,7 @@ export const MODELS = [
1257
1293
  supportsPromptCaching: true,
1258
1294
  supportsTools: true,
1259
1295
  webSearchToolType: 'google_search',
1296
+ webSearchPricePer1k: 14,
1260
1297
  codeExecutionToolType: 'code_execution',
1261
1298
  webFetchToolType: 'url_context',
1262
1299
  // ≤200K-token prompts; >200K bills $4/$18 (tiering not modeled).
@@ -2233,7 +2270,9 @@ export const MODELS = [
2233
2270
  // The chat-completion reference gates web_search per model only in its
2234
2271
  // VISION section; for text models the tool is listed unconditionally, as it
2235
2272
  // was when glm-5.2 was cataloged.
2236
- webSearchToolType: 'web_search',
2273
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2274
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2275
+ // Synthase — sending it only told the model it had a tool that never ran.
2237
2276
  inputPricePerMTok: 1.4,
2238
2277
  outputPricePerMTok: 4.4,
2239
2278
  // GLM context cache: read ≈0.19× input, no write premium.
@@ -2275,7 +2314,9 @@ export const MODELS = [
2275
2314
  supportsVision: true,
2276
2315
  supportsPromptCaching: true,
2277
2316
  supportsTools: true,
2278
- webSearchToolType: 'web_search',
2317
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2318
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2319
+ // Synthase — sending it only told the model it had a tool that never ran.
2279
2320
  // List card, verified 2026-09-23 on the Z.ai pricing page.
2280
2321
  inputPricePerMTok: 0.37,
2281
2322
  outputPricePerMTok: 1.25,
@@ -2309,7 +2350,9 @@ export const MODELS = [
2309
2350
  supportsVision: true,
2310
2351
  supportsPromptCaching: true,
2311
2352
  supportsTools: true,
2312
- webSearchToolType: 'web_search',
2353
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2354
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2355
+ // Synthase — sending it only told the model it had a tool that never ran.
2313
2356
  // List card, re-verified 2026-09-10 on the Z.ai pricing page after the
2314
2357
  // 50%-off launch promo ($0.075/$0.25, cached $0.015) ended on schedule
2315
2358
  // 2026-09-09 24:00 UTC+8 — this IS what the provider bills now; models.dev
@@ -2351,7 +2394,9 @@ export const MODELS = [
2351
2394
  supportsVision: false,
2352
2395
  supportsPromptCaching: true,
2353
2396
  supportsTools: true,
2354
- webSearchToolType: 'web_search',
2397
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2398
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2399
+ // Synthase — sending it only told the model it had a tool that never ran.
2355
2400
  inputPricePerMTok: 1.4,
2356
2401
  outputPricePerMTok: 4.4,
2357
2402
  // GLM context cache: read ≈0.19× input, no write premium.
@@ -2391,7 +2436,9 @@ export const MODELS = [
2391
2436
  supportsVision: false,
2392
2437
  supportsPromptCaching: true,
2393
2438
  supportsTools: true,
2394
- webSearchToolType: 'web_search',
2439
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2440
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2441
+ // Synthase — sending it only told the model it had a tool that never ran.
2395
2442
  // Repriced by Z.ai around the GLM-5.1 launch (was $0.72/$2.30).
2396
2443
  inputPricePerMTok: 1,
2397
2444
  outputPricePerMTok: 3.2,
package/dist/types.d.ts CHANGED
@@ -160,8 +160,21 @@ export interface ModelDefinition {
160
160
  * Provider-specific server tool type for web search (e.g. `'web_search_20250305'`).
161
161
  * When set, the chat handler sends this as a ServerTool alongside custom tools.
162
162
  * Omit if the model / provider does not support native web search.
163
+ *
164
+ * Set it only when a search actually runs on a Synthase-shaped request
165
+ * (function tools present, streaming) — some providers accept the tool and
166
+ * silently never search in that shape. Requires {@link webSearchPricePer1k}.
163
167
  */
164
168
  webSearchToolType?: string;
169
+ /**
170
+ * USD per 1,000 web searches the provider bills on top of tokens, applied to
171
+ * `TokenUsage.webSearchRequests`. Required whenever `webSearchToolType` is
172
+ * set (enforced by the catalog tests) — a search tool with no price is
173
+ * unmetered spend. Search-result tokens are billed as ordinary input tokens
174
+ * and need nothing here. Free monthly allowances are account-wide, not
175
+ * per-user, so they are not modeled: every search is metered at list price.
176
+ */
177
+ webSearchPricePer1k?: number;
165
178
  /**
166
179
  * Provider-specific server tool type for code execution (e.g. `'code_execution_20250825'`).
167
180
  * Omit if the model / provider does not support native code execution.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@molecule/api-resource-ai-models",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
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",