@molecule/api-resource-ai-models 1.9.0 → 1.10.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-25T13:04:49.248Z
6
+ Generated: 2026-09-29T13:34:01.085Z
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
  /**
@@ -851,8 +845,8 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
851
845
  modeled; Z.ai $0.01 per use, but its search never runs on a Synthase-shaped
852
846
  request, so GLM entries carry no webSearchToolType.
853
847
  - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
854
- - /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
855
- current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
848
+ - /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5-5
849
+ current as of 2026-09-29 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
856
850
  opus-4-8 superseded by opus-5 at identical pricing but still served — it is
857
851
  the recommended refusal-fallback model; effort ladder on all three current
858
852
  models is low|medium|high|xhigh|max; budget_tokens 400s on 4.7+)
@@ -893,6 +887,16 @@ Sources (verified 2026-07-28; OpenAI re-verified 2026-07-31 after the
893
887
  (disabled/budget_tokens 400), tool_choice any/tool 400, computer_20251124
894
888
  400 — Synthase sends none of those. Every other Anthropic price on the
895
889
  pricing page is unchanged.)
890
+ (verified 2026-09-29 — ADDED claude-sonnet-5-5, released 2026-09-28 and
891
+ listed as "Active (latest)" on /docs/en/models/sonnet-5-5/overview; the
892
+ overview page now lists claude-sonnet-5 under "Legacy models (still
893
+ available)" → superseded, with sonnet-4-6 repointed one hop. Pricing
894
+ page: $2/$10, 5m cache write $2.50, cache hits $0.20 (standard 0.1×).
895
+ 1M ctx / 128K out, text + image input, reliable knowledge cutoff Jun
896
+ 2026. Effort page: all five levels, default high. Model/what's-new
897
+ pages: non-default temperature 400, tool_choice any/tool 400,
898
+ thinking "disabled" replaced by "between_tools" — Synthase sends none of
899
+ those. Every other Anthropic price on the pricing page is unchanged.)
896
900
  - OpenAI: https://developers.openai.com/api/docs/pricing (GPT-5.6 family GA
897
901
  2026-07-09; REPRICED 2026-07-30: -luna cut 80% to $0.20/$1.20, -terra cut
898
902
  20% to $2/$12, -sol unchanged $5/$30; cache read 0.1× input; gpt-5.5/
package/dist/models.d.ts CHANGED
@@ -61,8 +61,8 @@ import type { ModelDefinition } from './types.js';
61
61
  * modeled; Z.ai $0.01 per use, but its search never runs on a Synthase-shaped
62
62
  * request, so GLM entries carry no webSearchToolType.
63
63
  * - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
64
- * + /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
65
- * current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
64
+ * + /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5-5
65
+ * current as of 2026-09-29 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
66
66
  * opus-4-8 superseded by opus-5 at identical pricing but still served — it is
67
67
  * the recommended refusal-fallback model; effort ladder on all three current
68
68
  * models is low|medium|high|xhigh|max; budget_tokens 400s on 4.7+)
@@ -103,6 +103,16 @@ import type { ModelDefinition } from './types.js';
103
103
  * (disabled/budget_tokens 400), tool_choice any/tool 400, computer_20251124
104
104
  * 400 — Synthase sends none of those. Every other Anthropic price on the
105
105
  * pricing page is unchanged.)
106
+ * (verified 2026-09-29 — ADDED claude-sonnet-5-5, released 2026-09-28 and
107
+ * listed as "Active (latest)" on /docs/en/models/sonnet-5-5/overview; the
108
+ * overview page now lists claude-sonnet-5 under "Legacy models (still
109
+ * available)" → superseded, with sonnet-4-6 repointed one hop. Pricing
110
+ * page: $2/$10, 5m cache write $2.50, cache hits $0.20 (standard 0.1×).
111
+ * 1M ctx / 128K out, text + image input, reliable knowledge cutoff Jun
112
+ * 2026. Effort page: all five levels, default high. Model/what's-new
113
+ * pages: non-default temperature 400, tool_choice any/tool 400,
114
+ * thinking "disabled" replaced by "between_tools" — Synthase sends none of
115
+ * those. Every other Anthropic price on the pricing page is unchanged.)
106
116
  * - OpenAI: https://developers.openai.com/api/docs/pricing (GPT-5.6 family GA
107
117
  * 2026-07-09; REPRICED 2026-07-30: -luna cut 80% to $0.20/$1.20, -terra cut
108
118
  * 20% to $2/$12, -sol unchanged $5/$30; cache read 0.1× input; gpt-5.5/
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2QG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EAimEnC,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqRG;AACH,eAAO,MAAM,MAAM,EAAE,SAAS,eAAe,EA6pEnC,CAAA"}
package/dist/models.js CHANGED
@@ -110,8 +110,8 @@ const CHINA_PUBLIC_HOLIDAYS = [
110
110
  * modeled; Z.ai $0.01 per use, but its search never runs on a Synthase-shaped
111
111
  * request, so GLM entries carry no webSearchToolType.
112
112
  * - Anthropic: https://platform.claude.com/docs/en/about-claude/models/overview
113
- * + /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5
114
- * current as of 2026-09-23 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
113
+ * + /docs/en/build-with-claude/effort (fable-5-1 / opus-5-5 / sonnet-5-5
114
+ * current as of 2026-09-29 — see the dated notes below; historically fable-5 / opus-5 / sonnet-5 current;
115
115
  * opus-4-8 superseded by opus-5 at identical pricing but still served — it is
116
116
  * the recommended refusal-fallback model; effort ladder on all three current
117
117
  * models is low|medium|high|xhigh|max; budget_tokens 400s on 4.7+)
@@ -152,6 +152,16 @@ const CHINA_PUBLIC_HOLIDAYS = [
152
152
  * (disabled/budget_tokens 400), tool_choice any/tool 400, computer_20251124
153
153
  * 400 — Synthase sends none of those. Every other Anthropic price on the
154
154
  * pricing page is unchanged.)
155
+ * (verified 2026-09-29 — ADDED claude-sonnet-5-5, released 2026-09-28 and
156
+ * listed as "Active (latest)" on /docs/en/models/sonnet-5-5/overview; the
157
+ * overview page now lists claude-sonnet-5 under "Legacy models (still
158
+ * available)" → superseded, with sonnet-4-6 repointed one hop. Pricing
159
+ * page: $2/$10, 5m cache write $2.50, cache hits $0.20 (standard 0.1×).
160
+ * 1M ctx / 128K out, text + image input, reliable knowledge cutoff Jun
161
+ * 2026. Effort page: all five levels, default high. Model/what's-new
162
+ * pages: non-default temperature 400, tool_choice any/tool 400,
163
+ * thinking "disabled" replaced by "between_tools" — Synthase sends none of
164
+ * those. Every other Anthropic price on the pricing page is unchanged.)
155
165
  * - OpenAI: https://developers.openai.com/api/docs/pricing (GPT-5.6 family GA
156
166
  * 2026-07-09; REPRICED 2026-07-30: -luna cut 80% to $0.20/$1.20, -terra cut
157
167
  * 20% to $2/$12, -sol unchanged $5/$30; cache read 0.1× input; gpt-5.5/
@@ -567,6 +577,50 @@ export const MODELS = [
567
577
  deprecatedAt: '2026-07-28',
568
578
  supersededBy: 'claude-opus-5-5',
569
579
  },
580
+ {
581
+ id: 'claude-sonnet-5-5',
582
+ provider: 'anthropic',
583
+ // Setting temperature/top_p/top_k to a non-default value → 400 (model
584
+ // page "Good to know", verified 2026-09-29); callers omit it
585
+ // (request-shape.ts temperatureParam).
586
+ rejectsTemperature: true,
587
+ label: 'Claude Sonnet 5.5',
588
+ description: 'Fast & capable — the best mix of speed and intelligence at Sonnet cost',
589
+ // Forced tool use (tool_choice any/tool) → 400, a breaking change from
590
+ // sonnet-5 (what's-new page, verified 2026-09-29). Discovery and
591
+ // starting-point selection send `auto` for it instead (request-shape.ts).
592
+ rejectsForcedToolChoice: true,
593
+ contextWindow: 1_000_000,
594
+ maxOutputTokens: 128_000,
595
+ supportsThinking: true,
596
+ thinkingBudgetTokens: 16_000,
597
+ thinkingConfigurable: true,
598
+ supportedEffortLevels: ['low', 'medium', 'high', 'xhigh', 'max'],
599
+ defaultEffortLevel: 'high',
600
+ // Adaptive thinking on by default; all five levels, API default high, and
601
+ // the levels are recalibrated vs sonnet-5 (effort page, verified
602
+ // 2026-09-29). thinking {type:"disabled"} is replaced by "between_tools"
603
+ // — the bond never sends either. Text between tool calls now arrives in
604
+ // thinking blocks, which the bond streams as `thinking` events.
605
+ // 512-token prompt-cache minimum.
606
+ supportsVision: true,
607
+ supportsPromptCaching: true,
608
+ supportsTools: true,
609
+ webSearchToolType: 'web_search_20260209',
610
+ webSearchPricePer1k: 10,
611
+ // Same server-tool versions as the rest of the 4.6+ Anthropic fleet. Not
612
+ // currently sent by Synthase beyond webSearchToolType.
613
+ codeExecutionToolType: 'code_execution_20260521',
614
+ webFetchToolType: 'web_fetch_20260209',
615
+ inputPricePerMTok: 2,
616
+ outputPricePerMTok: 10,
617
+ // Standard Anthropic ratios (pricing page: $0.20 cache hits, $2.50 5m
618
+ // cache write, verified 2026-09-29).
619
+ cacheReadPricePerMTok: 0.2,
620
+ cacheWritePricePerMTok: 2.5,
621
+ // Reliable knowledge cutoff Jun 2026 (model page "Specifications").
622
+ knowledgeCutoff: '2026-06-01',
623
+ },
570
624
  {
571
625
  id: 'claude-sonnet-5',
572
626
  provider: 'anthropic',
@@ -605,6 +659,11 @@ export const MODELS = [
605
659
  cacheReadPricePerMTok: 0.2,
606
660
  cacheWritePricePerMTok: 2.5,
607
661
  knowledgeCutoff: '2026-01-01',
662
+ // Superseded by claude-sonnet-5-5 (released 2026-09-28, same Sonnet tier,
663
+ // same $2/$10); Anthropic now lists sonnet-5 under "Legacy models (still
664
+ // available)". Still served and priceable, just not OFFERED.
665
+ deprecatedAt: '2026-09-28',
666
+ supersededBy: 'claude-sonnet-5-5',
608
667
  },
609
668
  {
610
669
  id: 'claude-opus-4-7',
@@ -718,9 +777,10 @@ export const MODELS = [
718
777
  cacheReadPricePerMTok: 0.3,
719
778
  cacheWritePricePerMTok: 3.75,
720
779
  knowledgeCutoff: '2025-08-01',
721
- // Superseded by claude-sonnet-5 (same tier) — kept priceable, not offered.
780
+ // Superseded by the current Sonnet (sonnet-5-5, one hop) — kept
781
+ // priceable, not offered.
722
782
  deprecatedAt: '2026-07-07',
723
- supersededBy: 'claude-sonnet-5',
783
+ supersededBy: 'claude-sonnet-5-5',
724
784
  },
725
785
  {
726
786
  id: 'claude-haiku-4-5-20251001',
@@ -832,9 +892,11 @@ export const MODELS = [
832
892
  supportsVision: true,
833
893
  supportsPromptCaching: true,
834
894
  supportsTools: true,
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.
895
+ // temperature → 400 "not supported with this model" unless reasoning is
896
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
897
+ rejectsTemperature: true,
898
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
899
+ // field's type docs.
838
900
  toolsRequireReasoningOff: true,
839
901
  webSearchToolType: 'web_search',
840
902
  webSearchPricePer1k: 10,
@@ -863,9 +925,11 @@ export const MODELS = [
863
925
  supportsVision: true,
864
926
  supportsPromptCaching: true,
865
927
  supportsTools: true,
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.
928
+ // temperature → 400 "not supported with this model" unless reasoning is
929
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
930
+ rejectsTemperature: true,
931
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
932
+ // field's type docs.
869
933
  toolsRequireReasoningOff: true,
870
934
  webSearchToolType: 'web_search',
871
935
  webSearchPricePer1k: 10,
@@ -895,9 +959,11 @@ export const MODELS = [
895
959
  supportsVision: true,
896
960
  supportsPromptCaching: true,
897
961
  supportsTools: true,
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.
962
+ // temperature → 400 "not supported with this model" unless reasoning is
963
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
964
+ rejectsTemperature: true,
965
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
966
+ // field's type docs.
901
967
  toolsRequireReasoningOff: true,
902
968
  webSearchToolType: 'web_search',
903
969
  webSearchPricePer1k: 10,
@@ -935,9 +1001,11 @@ export const MODELS = [
935
1001
  supportsVision: true,
936
1002
  supportsPromptCaching: true,
937
1003
  supportsTools: true,
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.
1004
+ // temperature → 400 "not supported with this model" unless reasoning is
1005
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
1006
+ rejectsTemperature: true,
1007
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
1008
+ // field's type docs.
941
1009
  toolsRequireReasoningOff: true,
942
1010
  webSearchToolType: 'web_search',
943
1011
  webSearchPricePer1k: 10,
@@ -970,9 +1038,11 @@ export const MODELS = [
970
1038
  supportsVision: true,
971
1039
  supportsPromptCaching: true,
972
1040
  supportsTools: true,
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.
1041
+ // temperature → 400 "not supported with this model" unless reasoning is
1042
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
1043
+ rejectsTemperature: true,
1044
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
1045
+ // field's type docs.
976
1046
  toolsRequireReasoningOff: true,
977
1047
  webSearchToolType: 'web_search',
978
1048
  webSearchPricePer1k: 10,
@@ -1011,9 +1081,11 @@ export const MODELS = [
1011
1081
  supportsVision: true,
1012
1082
  supportsPromptCaching: true,
1013
1083
  supportsTools: true,
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.
1084
+ // temperature → 400 "not supported with this model" unless reasoning is
1085
+ // off (probed live on /v1/responses 2026-09-26); callers omit it.
1086
+ rejectsTemperature: true,
1087
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
1088
+ // field's type docs.
1017
1089
  toolsRequireReasoningOff: true,
1018
1090
  webSearchToolType: 'web_search',
1019
1091
  webSearchPricePer1k: 10,
@@ -1045,9 +1117,8 @@ export const MODELS = [
1045
1117
  supportsVision: true,
1046
1118
  supportsPromptCaching: true,
1047
1119
  supportsTools: true,
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.
1120
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
1121
+ // field's type docs.
1051
1122
  toolsRequireReasoningOff: true,
1052
1123
  webSearchToolType: 'web_search',
1053
1124
  webSearchPricePer1k: 10,
@@ -1081,9 +1152,8 @@ export const MODELS = [
1081
1152
  supportsVision: true,
1082
1153
  supportsPromptCaching: true,
1083
1154
  supportsTools: true,
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.
1155
+ // Tool-less utility calls (commit messages) run with reasoning off. See the
1156
+ // field's type docs.
1087
1157
  toolsRequireReasoningOff: true,
1088
1158
  webSearchToolType: 'web_search',
1089
1159
  webSearchPricePer1k: 10,
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
  /**
@@ -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.9.0",
3
+ "version": "1.10.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",