@molecule/api-resource-ai-models 1.8.0 → 1.9.1

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-24T07:06:51.686Z
6
+ Generated: 2026-09-26T01:44:48.732Z
7
7
  -->
8
8
 
9
9
  # @molecule/api-resource-ai-models
@@ -139,24 +139,18 @@ interface ModelDefinition {
139
139
  /** Whether the model supports tool use / function calling. */
140
140
  supportsTools: boolean
141
141
  /**
142
- * The model cannot combine function tools with ANY reasoning on the provider's
143
- * chat-completions endpoint, so a request carrying tools must pin reasoning
144
- * OFF or it is rejected outright.
142
+ * Tool-less utility calls (commit messages) run this model with reasoning
143
+ * explicitly off (`effort: 'none'`); tool-carrying turns use the turn's
144
+ * reasoning effort like any other model. Set for the OpenAI gpt-5.4+ entries
145
+ * that accept `'none'`. (A temperature on those that reject one is handled
146
+ * by `rejectsTemperature`, not by this.)
145
147
  *
146
- * Set for the gpt-5.6 family, which answers a tools request with:
147
- * `Function tools with reasoning_effort are not supported for <model> in
148
- * /v1/chat/completions. To use function tools, use /v1/responses or set
149
- * reasoning_effort to 'none'.` (400 — verified live, 2026-07-30). Omitting the
150
- * effort field entirely does NOT help: the model applies its own default and
151
- * still 400s. Only an explicit `'none'` works.
152
- *
153
- * This is a per-model API fact, so it lives in the catalogue rather than as a
154
- * model-name branch inside a bond.
155
- *
156
- * **This is a workaround, not the fix.** Pinning reasoning off means an agentic
157
- * caller — which always carries tools — never gets reasoning from these models.
158
- * The real fix is migrating the OpenAI bond to `/v1/responses`, which supports
159
- * both together; until then, working-without-reasoning beats 400.
148
+ * The name is historical: on /v1/chat/completions these models also rejected
149
+ * function tools combined with reasoning, so tool-carrying calls were pinned
150
+ * off too. The OpenAI bond calls /v1/responses, where tools and reasoning
151
+ * combine, and that pin was lifted — reasoning off with web search made the
152
+ * model search again and repeat its tool call on every turn. Kept under this
153
+ * name because renaming a published field breaks consumers.
160
154
  */
161
155
  toolsRequireReasoningOff?: boolean
162
156
  /**
@@ -188,8 +182,21 @@ interface ModelDefinition {
188
182
  * Provider-specific server tool type for web search (e.g. `'web_search_20250305'`).
189
183
  * When set, the chat handler sends this as a ServerTool alongside custom tools.
190
184
  * Omit if the model / provider does not support native web search.
185
+ *
186
+ * Set it only when a search actually runs on a Synthase-shaped request
187
+ * (function tools present, streaming) — some providers accept the tool and
188
+ * silently never search in that shape. Requires {@link webSearchPricePer1k}.
191
189
  */
192
190
  webSearchToolType?: string
191
+ /**
192
+ * USD per 1,000 web searches the provider bills on top of tokens, applied to
193
+ * `TokenUsage.webSearchRequests`. Required whenever `webSearchToolType` is
194
+ * set (enforced by the catalog tests) — a search tool with no price is
195
+ * unmetered spend. Search-result tokens are billed as ordinary input tokens
196
+ * and need nothing here. Free monthly allowances are account-wide, not
197
+ * per-user, so they are not modeled: every search is metered at list price.
198
+ */
199
+ webSearchPricePer1k?: number
193
200
  /**
194
201
  * Provider-specific server tool type for code execution (e.g. `'code_execution_20250825'`).
195
202
  * Omit if the model / provider does not support native code execution.
@@ -830,6 +837,13 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
830
837
  2026-07-30 GPT-5.6 repricing — cross-check prices against models.dev with
831
838
  `npm run check:model-freshness` from the workspace root):
832
839
 
840
+ - Web search (`webSearchPricePer1k`, billed per search on top of tokens;
841
+ verified 2026-09-25 on each provider's pricing page): Anthropic $10 per
842
+ 1,000 searches (failed searches are not billed); OpenAI $10 per 1,000
843
+ web_search_call items on reasoning models; Google $14 per 1,000 search
844
+ queries after 5,000/month free, shared across the account, so not
845
+ modeled; Z.ai $0.01 per use, but its search never runs on a Synthase-shaped
846
+ request, so GLM entries carry no webSearchToolType.
833
847
  - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
834
848
  - /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
835
849
  current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
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;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoQG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EAqkEnC,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,EA2mEnC,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;
@@ -354,6 +361,7 @@ export const MODELS = [
354
361
  supportsPromptCaching: true,
355
362
  supportsTools: true,
356
363
  webSearchToolType: 'web_search_20260209',
364
+ webSearchPricePer1k: 10,
357
365
  // Dynamic-filtering server tools, same as the rest of the 4.6+ Anthropic
358
366
  // fleet. Not currently sent by Synthase beyond webSearchToolType
359
367
  // (request-shape.ts forwards only that one).
@@ -392,6 +400,7 @@ export const MODELS = [
392
400
  supportsPromptCaching: true,
393
401
  supportsTools: true,
394
402
  webSearchToolType: 'web_search_20260209',
403
+ webSearchPricePer1k: 10,
395
404
  // Current server-tool type per the API reference (verified 2026-08-28);
396
405
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
397
406
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -448,6 +457,7 @@ export const MODELS = [
448
457
  supportsPromptCaching: true,
449
458
  supportsTools: true,
450
459
  webSearchToolType: 'web_search_20260209',
460
+ webSearchPricePer1k: 10,
451
461
  // Same server-tool versions as the rest of the 4.6+ Anthropic fleet. Not
452
462
  // currently sent by Synthase beyond webSearchToolType.
453
463
  codeExecutionToolType: 'code_execution_20260521',
@@ -495,6 +505,7 @@ export const MODELS = [
495
505
  supportsPromptCaching: true,
496
506
  supportsTools: true,
497
507
  webSearchToolType: 'web_search_20260209',
508
+ webSearchPricePer1k: 10,
498
509
  // Current server-tool type per the API reference (verified 2026-08-28);
499
510
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
500
511
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -536,6 +547,7 @@ export const MODELS = [
536
547
  supportsPromptCaching: true,
537
548
  supportsTools: true,
538
549
  webSearchToolType: 'web_search_20260209',
550
+ webSearchPricePer1k: 10,
539
551
  // Current server-tool type per the API reference (verified 2026-08-28);
540
552
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
541
553
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -577,6 +589,7 @@ export const MODELS = [
577
589
  supportsPromptCaching: true,
578
590
  supportsTools: true,
579
591
  webSearchToolType: 'web_search_20260209',
592
+ webSearchPricePer1k: 10,
580
593
  // Current server-tool type per the API reference (verified 2026-08-28);
581
594
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
582
595
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -616,6 +629,7 @@ export const MODELS = [
616
629
  supportsPromptCaching: true,
617
630
  supportsTools: true,
618
631
  webSearchToolType: 'web_search_20260209',
632
+ webSearchPricePer1k: 10,
619
633
  // Current server-tool type per the API reference (verified 2026-08-28);
620
634
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
621
635
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -655,6 +669,7 @@ export const MODELS = [
655
669
  supportsPromptCaching: true,
656
670
  supportsTools: true,
657
671
  webSearchToolType: 'web_search_20260209',
672
+ webSearchPricePer1k: 10,
658
673
  // Current server-tool type per the API reference (verified 2026-08-28);
659
674
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
660
675
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -690,6 +705,7 @@ export const MODELS = [
690
705
  supportsPromptCaching: true,
691
706
  supportsTools: true,
692
707
  webSearchToolType: 'web_search_20260209',
708
+ webSearchPricePer1k: 10,
693
709
  // Current server-tool type per the API reference (verified 2026-08-28);
694
710
  // 'code_execution_20250825' was the BETA HEADER date (code-execution-2025-08-25),
695
711
  // not a tool type — sending it as one is a 400. Not currently sent by
@@ -726,6 +742,7 @@ export const MODELS = [
726
742
  supportsPromptCaching: true,
727
743
  supportsTools: true,
728
744
  webSearchToolType: 'web_search_20250305',
745
+ webSearchPricePer1k: 10,
729
746
  webFetchToolType: 'web_fetch_20250910',
730
747
  inputPricePerMTok: 1,
731
748
  outputPricePerMTok: 5,
@@ -787,8 +804,10 @@ export const MODELS = [
787
804
  supportsVision: true,
788
805
  supportsPromptCaching: true,
789
806
  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.
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,
792
811
  codeExecutionToolType: 'code_interpreter',
793
812
  // Standard tier; >272K band ($20/$75, cached $2, writes $25) not modeled.
794
813
  inputPricePerMTok: 10,
@@ -813,12 +832,14 @@ export const MODELS = [
813
832
  supportsVision: true,
814
833
  supportsPromptCaching: true,
815
834
  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.
835
+ // temperature → 400 "not supported with this model" unless reasoning is
836
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
837
+ rejectsTemperature: true,
838
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
839
+ // field's type docs.
819
840
  toolsRequireReasoningOff: true,
820
- // NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
821
- // its per-call fee is not metered yet.
841
+ webSearchToolType: 'web_search',
842
+ webSearchPricePer1k: 10,
822
843
  codeExecutionToolType: 'code_interpreter',
823
844
  // Standard tier. A long-context band above 272K prompt tokens reprices the
824
845
  // whole request ($4/$15, cached $0.40, cache writes $5) — not modeled, same
@@ -844,11 +865,14 @@ export const MODELS = [
844
865
  supportsVision: true,
845
866
  supportsPromptCaching: true,
846
867
  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.
868
+ // temperature → 400 "not supported with this model" unless reasoning is
869
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
870
+ rejectsTemperature: true,
871
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
872
+ // field's type docs.
850
873
  toolsRequireReasoningOff: true,
851
- // NO webSearchToolType: see gpt-5.6-sol.
874
+ webSearchToolType: 'web_search',
875
+ webSearchPricePer1k: 10,
852
876
  codeExecutionToolType: 'code_interpreter',
853
877
  // Standard tier; >272K band ($0.20/$0.75, cached $0.02, writes $0.25) not
854
878
  // modeled.
@@ -875,12 +899,14 @@ export const MODELS = [
875
899
  supportsVision: true,
876
900
  supportsPromptCaching: true,
877
901
  supportsTools: true,
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.
902
+ // temperature → 400 "not supported with this model" unless reasoning is
903
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
904
+ rejectsTemperature: true,
905
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
906
+ // field's type docs.
881
907
  toolsRequireReasoningOff: true,
882
- // NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
883
- // its per-call fee is not metered yet.
908
+ webSearchToolType: 'web_search',
909
+ webSearchPricePer1k: 10,
884
910
  codeExecutionToolType: 'code_interpreter',
885
911
  // LIST price. OpenAI ran a >20% PROMO from 2026-08-22 ($4/$20, cache read
886
912
  // $0.40, cache write $5) — "GPT-5.6 Sol's promotional pricing is available
@@ -915,12 +941,14 @@ export const MODELS = [
915
941
  supportsVision: true,
916
942
  supportsPromptCaching: true,
917
943
  supportsTools: true,
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.
944
+ // temperature → 400 "not supported with this model" unless reasoning is
945
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
946
+ rejectsTemperature: true,
947
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
948
+ // field's type docs.
921
949
  toolsRequireReasoningOff: true,
922
- // NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
923
- // its per-call fee is not metered yet.
950
+ webSearchToolType: 'web_search',
951
+ webSearchPricePer1k: 10,
924
952
  codeExecutionToolType: 'code_interpreter',
925
953
  // Repriced 2026-07-30 (20% cut from $2.50/$15).
926
954
  inputPricePerMTok: 2,
@@ -950,12 +978,14 @@ export const MODELS = [
950
978
  supportsVision: true,
951
979
  supportsPromptCaching: true,
952
980
  supportsTools: true,
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.
981
+ // temperature → 400 "not supported with this model" unless reasoning is
982
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
983
+ rejectsTemperature: true,
984
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
985
+ // field's type docs.
956
986
  toolsRequireReasoningOff: true,
957
- // NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
958
- // its per-call fee is not metered yet.
987
+ webSearchToolType: 'web_search',
988
+ webSearchPricePer1k: 10,
959
989
  codeExecutionToolType: 'code_interpreter',
960
990
  // Repriced 2026-07-30 (80% cut from $1/$6).
961
991
  inputPricePerMTok: 0.2,
@@ -991,12 +1021,14 @@ export const MODELS = [
991
1021
  supportsVision: true,
992
1022
  supportsPromptCaching: true,
993
1023
  supportsTools: true,
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.
1024
+ // temperature → 400 "not supported with this model" unless reasoning is
1025
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
1026
+ rejectsTemperature: true,
1027
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
1028
+ // field's type docs.
997
1029
  toolsRequireReasoningOff: true,
998
- // NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
999
- // its per-call fee is not metered yet.
1030
+ webSearchToolType: 'web_search',
1031
+ webSearchPricePer1k: 10,
1000
1032
  codeExecutionToolType: 'code_interpreter',
1001
1033
  inputPricePerMTok: 5,
1002
1034
  outputPricePerMTok: 30,
@@ -1025,12 +1057,11 @@ export const MODELS = [
1025
1057
  supportsVision: true,
1026
1058
  supportsPromptCaching: true,
1027
1059
  supportsTools: true,
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.
1060
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
1061
+ // field's type docs.
1031
1062
  toolsRequireReasoningOff: true,
1032
- // NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
1033
- // its per-call fee is not metered yet.
1063
+ webSearchToolType: 'web_search',
1064
+ webSearchPricePer1k: 10,
1034
1065
  codeExecutionToolType: 'code_interpreter',
1035
1066
  inputPricePerMTok: 2.5,
1036
1067
  outputPricePerMTok: 15,
@@ -1061,12 +1092,11 @@ export const MODELS = [
1061
1092
  supportsVision: true,
1062
1093
  supportsPromptCaching: true,
1063
1094
  supportsTools: true,
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.
1095
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
1096
+ // field's type docs.
1067
1097
  toolsRequireReasoningOff: true,
1068
- // NO webSearchToolType: see gpt-6-astra — served on /v1/responses, but
1069
- // its per-call fee is not metered yet.
1098
+ webSearchToolType: 'web_search',
1099
+ webSearchPricePer1k: 10,
1070
1100
  codeExecutionToolType: 'code_interpreter',
1071
1101
  inputPricePerMTok: 0.75,
1072
1102
  outputPricePerMTok: 4.5,
@@ -1113,6 +1143,7 @@ export const MODELS = [
1113
1143
  supportsPromptCaching: true,
1114
1144
  supportsTools: true,
1115
1145
  webSearchToolType: 'google_search',
1146
+ webSearchPricePer1k: 14,
1116
1147
  codeExecutionToolType: 'code_execution',
1117
1148
  webFetchToolType: 'url_context',
1118
1149
  // "New Stable" 2026-09-02. LIST price $1.50/$7.50 — same card as 3.7- and
@@ -1149,6 +1180,7 @@ export const MODELS = [
1149
1180
  supportsPromptCaching: true,
1150
1181
  supportsTools: true,
1151
1182
  webSearchToolType: 'google_search',
1183
+ webSearchPricePer1k: 14,
1152
1184
  codeExecutionToolType: 'code_execution',
1153
1185
  webFetchToolType: 'url_context',
1154
1186
  // "New Stable" 2026-08-13. LIST price $1.50/$7.50 — same as 3.6-flash.
@@ -1191,6 +1223,7 @@ export const MODELS = [
1191
1223
  supportsPromptCaching: true,
1192
1224
  supportsTools: true,
1193
1225
  webSearchToolType: 'google_search',
1226
+ webSearchPricePer1k: 14,
1194
1227
  codeExecutionToolType: 'code_execution',
1195
1228
  webFetchToolType: 'url_context',
1196
1229
  // GA 2026-07-21 — same input price as 3.5-flash, CHEAPER output ($7.50 vs $9).
@@ -1235,6 +1268,7 @@ export const MODELS = [
1235
1268
  supportsPromptCaching: true,
1236
1269
  supportsTools: true,
1237
1270
  webSearchToolType: 'google_search',
1271
+ webSearchPricePer1k: 14,
1238
1272
  codeExecutionToolType: 'code_execution',
1239
1273
  webFetchToolType: 'url_context',
1240
1274
  inputPricePerMTok: 1.5,
@@ -1269,6 +1303,7 @@ export const MODELS = [
1269
1303
  supportsPromptCaching: true,
1270
1304
  supportsTools: true,
1271
1305
  webSearchToolType: 'google_search',
1306
+ webSearchPricePer1k: 14,
1272
1307
  codeExecutionToolType: 'code_execution',
1273
1308
  webFetchToolType: 'url_context',
1274
1309
  // ≤200K-token prompts; >200K bills $4/$18 (tiering not modeled).
@@ -2245,7 +2280,9 @@ export const MODELS = [
2245
2280
  // The chat-completion reference gates web_search per model only in its
2246
2281
  // VISION section; for text models the tool is listed unconditionally, as it
2247
2282
  // was when glm-5.2 was cataloged.
2248
- webSearchToolType: 'web_search',
2283
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2284
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2285
+ // Synthase — sending it only told the model it had a tool that never ran.
2249
2286
  inputPricePerMTok: 1.4,
2250
2287
  outputPricePerMTok: 4.4,
2251
2288
  // GLM context cache: read ≈0.19× input, no write premium.
@@ -2287,7 +2324,9 @@ export const MODELS = [
2287
2324
  supportsVision: true,
2288
2325
  supportsPromptCaching: true,
2289
2326
  supportsTools: true,
2290
- webSearchToolType: 'web_search',
2327
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2328
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2329
+ // Synthase — sending it only told the model it had a tool that never ran.
2291
2330
  // List card, verified 2026-09-23 on the Z.ai pricing page.
2292
2331
  inputPricePerMTok: 0.37,
2293
2332
  outputPricePerMTok: 1.25,
@@ -2321,7 +2360,9 @@ export const MODELS = [
2321
2360
  supportsVision: true,
2322
2361
  supportsPromptCaching: true,
2323
2362
  supportsTools: true,
2324
- webSearchToolType: 'web_search',
2363
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2364
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2365
+ // Synthase — sending it only told the model it had a tool that never ran.
2325
2366
  // List card, re-verified 2026-09-10 on the Z.ai pricing page after the
2326
2367
  // 50%-off launch promo ($0.075/$0.25, cached $0.015) ended on schedule
2327
2368
  // 2026-09-09 24:00 UTC+8 — this IS what the provider bills now; models.dev
@@ -2363,7 +2404,9 @@ export const MODELS = [
2363
2404
  supportsVision: false,
2364
2405
  supportsPromptCaching: true,
2365
2406
  supportsTools: true,
2366
- webSearchToolType: 'web_search',
2407
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2408
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2409
+ // Synthase — sending it only told the model it had a tool that never ran.
2367
2410
  inputPricePerMTok: 1.4,
2368
2411
  outputPricePerMTok: 4.4,
2369
2412
  // GLM context cache: read ≈0.19× input, no write premium.
@@ -2403,7 +2446,9 @@ export const MODELS = [
2403
2446
  supportsVision: false,
2404
2447
  supportsPromptCaching: true,
2405
2448
  supportsTools: true,
2406
- webSearchToolType: 'web_search',
2449
+ // NO webSearchToolType: Zhipu's web_search never runs alongside function
2450
+ // tools or on a stream (see @molecule/api-ai-zhipu), so it cannot serve
2451
+ // Synthase — sending it only told the model it had a tool that never ran.
2407
2452
  // Repriced by Z.ai around the GLM-5.1 launch (was $0.72/$2.30).
2408
2453
  inputPricePerMTok: 1,
2409
2454
  outputPricePerMTok: 3.2,
package/dist/types.d.ts CHANGED
@@ -111,24 +111,18 @@ export interface ModelDefinition {
111
111
  /** Whether the model supports tool use / function calling. */
112
112
  supportsTools: boolean;
113
113
  /**
114
- * The model cannot combine function tools with ANY reasoning on the provider's
115
- * chat-completions endpoint, so a request carrying tools must pin reasoning
116
- * OFF or it is rejected outright.
114
+ * Tool-less utility calls (commit messages) run this model with reasoning
115
+ * explicitly off (`effort: 'none'`); tool-carrying turns use the turn's
116
+ * reasoning effort like any other model. Set for the OpenAI gpt-5.4+ entries
117
+ * that accept `'none'`. (A temperature on those that reject one is handled
118
+ * by `rejectsTemperature`, not by this.)
117
119
  *
118
- * Set for the gpt-5.6 family, which answers a tools request with:
119
- * `Function tools with reasoning_effort are not supported for <model> in
120
- * /v1/chat/completions. To use function tools, use /v1/responses or set
121
- * reasoning_effort to 'none'.` (400 — verified live, 2026-07-30). Omitting the
122
- * effort field entirely does NOT help: the model applies its own default and
123
- * still 400s. Only an explicit `'none'` works.
124
- *
125
- * This is a per-model API fact, so it lives in the catalogue rather than as a
126
- * model-name branch inside a bond.
127
- *
128
- * **This is a workaround, not the fix.** Pinning reasoning off means an agentic
129
- * caller — which always carries tools — never gets reasoning from these models.
130
- * The real fix is migrating the OpenAI bond to `/v1/responses`, which supports
131
- * both together; until then, working-without-reasoning beats 400.
120
+ * The name is historical: on /v1/chat/completions these models also rejected
121
+ * function tools combined with reasoning, so tool-carrying calls were pinned
122
+ * off too. The OpenAI bond calls /v1/responses, where tools and reasoning
123
+ * combine, and that pin was lifted — reasoning off with web search made the
124
+ * model search again and repeat its tool call on every turn. Kept under this
125
+ * name because renaming a published field breaks consumers.
132
126
  */
133
127
  toolsRequireReasoningOff?: boolean;
134
128
  /**
@@ -160,8 +154,21 @@ export interface ModelDefinition {
160
154
  * Provider-specific server tool type for web search (e.g. `'web_search_20250305'`).
161
155
  * When set, the chat handler sends this as a ServerTool alongside custom tools.
162
156
  * Omit if the model / provider does not support native web search.
157
+ *
158
+ * Set it only when a search actually runs on a Synthase-shaped request
159
+ * (function tools present, streaming) — some providers accept the tool and
160
+ * silently never search in that shape. Requires {@link webSearchPricePer1k}.
163
161
  */
164
162
  webSearchToolType?: string;
163
+ /**
164
+ * USD per 1,000 web searches the provider bills on top of tokens, applied to
165
+ * `TokenUsage.webSearchRequests`. Required whenever `webSearchToolType` is
166
+ * set (enforced by the catalog tests) — a search tool with no price is
167
+ * unmetered spend. Search-result tokens are billed as ordinary input tokens
168
+ * and need nothing here. Free monthly allowances are account-wide, not
169
+ * per-user, so they are not modeled: every search is metered at list price.
170
+ */
171
+ webSearchPricePer1k?: number;
165
172
  /**
166
173
  * Provider-specific server tool type for code execution (e.g. `'code_execution_20250825'`).
167
174
  * 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.8.0",
3
+ "version": "1.9.1",
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",