Skip to content

Commit 75b0897

Browse files
committed
feat: enable native tools by default for multiple providers
Following the pattern established in PR #10021 for Anthropic, enable native tools by default across multiple providers by adding `defaultToolProtocol: "native"` to model definitions. Providers updated: - Gemini (10 models) - Vertex (18 models) - OpenAI Native (32 models) - xAI (8 models) - Mistral (9 models) - Cerebras (5 models) - Bedrock Claude (16 models) - Groq (7 models) - Fireworks (13 models) - SambaNova (8 models) - Doubao (3 models) Total: ~129 models now default to native tool protocol. Also updated tests to reflect native as default: - openai-native.spec.ts - xai.spec.ts - mistral.spec.ts
1 parent 0742335 commit 75b0897

File tree

14 files changed

+170
-11
lines changed

14 files changed

+170
-11
lines changed

packages/types/src/providers/bedrock.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export const bedrockModels = {
2020
supportsPromptCache: true,
2121
supportsReasoningBudget: true,
2222
supportsNativeTools: true,
23+
defaultToolProtocol: "native",
2324
inputPrice: 3.0,
2425
outputPrice: 15.0,
2526
cacheWritesPrice: 3.75,
@@ -89,6 +90,7 @@ export const bedrockModels = {
8990
supportsPromptCache: true,
9091
supportsReasoningBudget: true,
9192
supportsNativeTools: true,
93+
defaultToolProtocol: "native",
9294
inputPrice: 3.0,
9395
outputPrice: 15.0,
9496
cacheWritesPrice: 3.75,
@@ -104,6 +106,7 @@ export const bedrockModels = {
104106
supportsPromptCache: true,
105107
supportsReasoningBudget: true,
106108
supportsNativeTools: true,
109+
defaultToolProtocol: "native",
107110
inputPrice: 15.0,
108111
outputPrice: 75.0,
109112
cacheWritesPrice: 18.75,
@@ -119,6 +122,7 @@ export const bedrockModels = {
119122
supportsPromptCache: true,
120123
supportsReasoningBudget: true,
121124
supportsNativeTools: true,
125+
defaultToolProtocol: "native",
122126
inputPrice: 5.0,
123127
outputPrice: 25.0,
124128
cacheWritesPrice: 6.25,
@@ -134,6 +138,7 @@ export const bedrockModels = {
134138
supportsPromptCache: true,
135139
supportsReasoningBudget: true,
136140
supportsNativeTools: true,
141+
defaultToolProtocol: "native",
137142
inputPrice: 15.0,
138143
outputPrice: 75.0,
139144
cacheWritesPrice: 18.75,
@@ -149,6 +154,7 @@ export const bedrockModels = {
149154
supportsPromptCache: true,
150155
supportsReasoningBudget: true,
151156
supportsNativeTools: true,
157+
defaultToolProtocol: "native",
152158
inputPrice: 3.0,
153159
outputPrice: 15.0,
154160
cacheWritesPrice: 3.75,
@@ -163,6 +169,7 @@ export const bedrockModels = {
163169
supportsImages: true,
164170
supportsPromptCache: true,
165171
supportsNativeTools: true,
172+
defaultToolProtocol: "native",
166173
inputPrice: 3.0,
167174
outputPrice: 15.0,
168175
cacheWritesPrice: 3.75,
@@ -177,6 +184,7 @@ export const bedrockModels = {
177184
supportsImages: false,
178185
supportsPromptCache: true,
179186
supportsNativeTools: true,
187+
defaultToolProtocol: "native",
180188
inputPrice: 0.8,
181189
outputPrice: 4.0,
182190
cacheWritesPrice: 1.0,
@@ -192,6 +200,7 @@ export const bedrockModels = {
192200
supportsPromptCache: true,
193201
supportsReasoningBudget: true,
194202
supportsNativeTools: true,
203+
defaultToolProtocol: "native",
195204
inputPrice: 1.0,
196205
outputPrice: 5.0,
197206
cacheWritesPrice: 1.25, // 5m cache writes
@@ -206,6 +215,7 @@ export const bedrockModels = {
206215
supportsImages: true,
207216
supportsPromptCache: false,
208217
supportsNativeTools: true,
218+
defaultToolProtocol: "native",
209219
inputPrice: 3.0,
210220
outputPrice: 15.0,
211221
},
@@ -215,6 +225,7 @@ export const bedrockModels = {
215225
supportsImages: true,
216226
supportsPromptCache: false,
217227
supportsNativeTools: true,
228+
defaultToolProtocol: "native",
218229
inputPrice: 15.0,
219230
outputPrice: 75.0,
220231
},
@@ -224,6 +235,7 @@ export const bedrockModels = {
224235
supportsImages: true,
225236
supportsPromptCache: false,
226237
supportsNativeTools: true,
238+
defaultToolProtocol: "native",
227239
inputPrice: 3.0,
228240
outputPrice: 15.0,
229241
},
@@ -233,6 +245,7 @@ export const bedrockModels = {
233245
supportsImages: true,
234246
supportsPromptCache: false,
235247
supportsNativeTools: true,
248+
defaultToolProtocol: "native",
236249
inputPrice: 0.25,
237250
outputPrice: 1.25,
238251
},
@@ -242,6 +255,7 @@ export const bedrockModels = {
242255
supportsImages: false,
243256
supportsPromptCache: false,
244257
supportsNativeTools: true,
258+
defaultToolProtocol: "native",
245259
inputPrice: 8.0,
246260
outputPrice: 24.0,
247261
description: "Claude 2.1",
@@ -252,6 +266,7 @@ export const bedrockModels = {
252266
supportsImages: false,
253267
supportsPromptCache: false,
254268
supportsNativeTools: true,
269+
defaultToolProtocol: "native",
255270
inputPrice: 8.0,
256271
outputPrice: 24.0,
257272
description: "Claude 2.0",
@@ -262,6 +277,7 @@ export const bedrockModels = {
262277
supportsImages: false,
263278
supportsPromptCache: false,
264279
supportsNativeTools: true,
280+
defaultToolProtocol: "native",
265281
inputPrice: 0.8,
266282
outputPrice: 2.4,
267283
description: "Claude Instant",

packages/types/src/providers/cerebras.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const cerebrasModels = {
1212
supportsImages: false,
1313
supportsPromptCache: false,
1414
supportsNativeTools: true,
15+
defaultToolProtocol: "native",
1516
inputPrice: 0,
1617
outputPrice: 0,
1718
description: "Highly intelligent general purpose model with up to 1,000 tokens/s",
@@ -22,6 +23,7 @@ export const cerebrasModels = {
2223
supportsImages: false,
2324
supportsPromptCache: false,
2425
supportsNativeTools: true,
26+
defaultToolProtocol: "native",
2527
inputPrice: 0,
2628
outputPrice: 0,
2729
description: "Intelligent model with ~1400 tokens/s",
@@ -32,6 +34,7 @@ export const cerebrasModels = {
3234
supportsImages: false,
3335
supportsPromptCache: false,
3436
supportsNativeTools: true,
37+
defaultToolProtocol: "native",
3538
inputPrice: 0,
3639
outputPrice: 0,
3740
description: "Powerful model with ~2600 tokens/s",
@@ -42,6 +45,7 @@ export const cerebrasModels = {
4245
supportsImages: false,
4346
supportsPromptCache: false,
4447
supportsNativeTools: true,
48+
defaultToolProtocol: "native",
4549
inputPrice: 0,
4650
outputPrice: 0,
4751
description: "SOTA coding performance with ~2500 tokens/s",
@@ -52,6 +56,7 @@ export const cerebrasModels = {
5256
supportsImages: false,
5357
supportsPromptCache: false,
5458
supportsNativeTools: true,
59+
defaultToolProtocol: "native",
5560
inputPrice: 0,
5661
outputPrice: 0,
5762
description:

packages/types/src/providers/doubao.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export const doubaoModels = {
99
supportsImages: true,
1010
supportsPromptCache: true,
1111
supportsNativeTools: true,
12+
defaultToolProtocol: "native",
1213
inputPrice: 0.0001, // $0.0001 per million tokens (cache miss)
1314
outputPrice: 0.0004, // $0.0004 per million tokens
1415
cacheWritesPrice: 0.0001, // $0.0001 per million tokens (cache miss)
@@ -21,6 +22,7 @@ export const doubaoModels = {
2122
supportsImages: true,
2223
supportsPromptCache: true,
2324
supportsNativeTools: true,
25+
defaultToolProtocol: "native",
2426
inputPrice: 0.0002, // $0.0002 per million tokens
2527
outputPrice: 0.0008, // $0.0008 per million tokens
2628
cacheWritesPrice: 0.0002, // $0.0002 per million
@@ -33,6 +35,7 @@ export const doubaoModels = {
3335
supportsImages: true,
3436
supportsPromptCache: true,
3537
supportsNativeTools: true,
38+
defaultToolProtocol: "native",
3639
inputPrice: 0.00015, // $0.00015 per million tokens
3740
outputPrice: 0.0006, // $0.0006 per million tokens
3841
cacheWritesPrice: 0.00015, // $0.00015 per million

packages/types/src/providers/fireworks.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export const fireworksModels = {
2424
supportsImages: false,
2525
supportsPromptCache: true,
2626
supportsNativeTools: true,
27+
defaultToolProtocol: "native",
2728
inputPrice: 0.6,
2829
outputPrice: 2.5,
2930
cacheReadsPrice: 0.15,
@@ -36,6 +37,7 @@ export const fireworksModels = {
3637
supportsImages: false,
3738
supportsPromptCache: false,
3839
supportsNativeTools: true,
40+
defaultToolProtocol: "native",
3941
inputPrice: 0.6,
4042
outputPrice: 2.5,
4143
description:
@@ -47,6 +49,7 @@ export const fireworksModels = {
4749
supportsImages: false,
4850
supportsPromptCache: false,
4951
supportsNativeTools: true,
52+
defaultToolProtocol: "native",
5053
inputPrice: 0.3,
5154
outputPrice: 1.2,
5255
description:
@@ -58,6 +61,7 @@ export const fireworksModels = {
5861
supportsImages: false,
5962
supportsPromptCache: false,
6063
supportsNativeTools: true,
64+
defaultToolProtocol: "native",
6165
inputPrice: 0.22,
6266
outputPrice: 0.88,
6367
description: "Latest Qwen3 thinking model, competitive against the best closed source models in Jul 2025.",
@@ -68,6 +72,7 @@ export const fireworksModels = {
6872
supportsImages: false,
6973
supportsPromptCache: false,
7074
supportsNativeTools: true,
75+
defaultToolProtocol: "native",
7176
inputPrice: 0.45,
7277
outputPrice: 1.8,
7378
description: "Qwen3's most agentic code model to date.",
@@ -78,6 +83,7 @@ export const fireworksModels = {
7883
supportsImages: false,
7984
supportsPromptCache: false,
8085
supportsNativeTools: true,
86+
defaultToolProtocol: "native",
8187
inputPrice: 3,
8288
outputPrice: 8,
8389
description:
@@ -89,6 +95,7 @@ export const fireworksModels = {
8995
supportsImages: false,
9096
supportsPromptCache: false,
9197
supportsNativeTools: true,
98+
defaultToolProtocol: "native",
9299
inputPrice: 0.9,
93100
outputPrice: 0.9,
94101
description:
@@ -100,6 +107,7 @@ export const fireworksModels = {
100107
supportsImages: false,
101108
supportsPromptCache: false,
102109
supportsNativeTools: true,
110+
defaultToolProtocol: "native",
103111
inputPrice: 0.56,
104112
outputPrice: 1.68,
105113
description:
@@ -111,6 +119,7 @@ export const fireworksModels = {
111119
supportsImages: false,
112120
supportsPromptCache: false,
113121
supportsNativeTools: true,
122+
defaultToolProtocol: "native",
114123
inputPrice: 0.55,
115124
outputPrice: 2.19,
116125
description:
@@ -122,6 +131,7 @@ export const fireworksModels = {
122131
supportsImages: false,
123132
supportsPromptCache: false,
124133
supportsNativeTools: true,
134+
defaultToolProtocol: "native",
125135
inputPrice: 0.55,
126136
outputPrice: 2.19,
127137
description:
@@ -133,6 +143,7 @@ export const fireworksModels = {
133143
supportsImages: false,
134144
supportsPromptCache: false,
135145
supportsNativeTools: true,
146+
defaultToolProtocol: "native",
136147
inputPrice: 0.55,
137148
outputPrice: 2.19,
138149
description:
@@ -144,6 +155,7 @@ export const fireworksModels = {
144155
supportsImages: false,
145156
supportsPromptCache: false,
146157
supportsNativeTools: true,
158+
defaultToolProtocol: "native",
147159
inputPrice: 0.07,
148160
outputPrice: 0.3,
149161
description:
@@ -155,6 +167,7 @@ export const fireworksModels = {
155167
supportsImages: false,
156168
supportsPromptCache: false,
157169
supportsNativeTools: true,
170+
defaultToolProtocol: "native",
158171
inputPrice: 0.15,
159172
outputPrice: 0.6,
160173
description:

packages/types/src/providers/gemini.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export const geminiModels = {
1111
contextWindow: 1_048_576,
1212
supportsImages: true,
1313
supportsNativeTools: true,
14+
defaultToolProtocol: "native",
1415
supportsPromptCache: true,
1516
supportsReasoningEffort: ["low", "high"],
1617
reasoningEffort: "low",
@@ -37,6 +38,7 @@ export const geminiModels = {
3738
contextWindow: 1_048_576,
3839
supportsImages: true,
3940
supportsNativeTools: true,
41+
defaultToolProtocol: "native",
4042
supportsPromptCache: true,
4143
inputPrice: 2.5, // This is the pricing for prompts above 200k tokens.
4244
outputPrice: 15,
@@ -65,6 +67,7 @@ export const geminiModels = {
6567
contextWindow: 1_048_576,
6668
supportsImages: true,
6769
supportsNativeTools: true,
70+
defaultToolProtocol: "native",
6871
supportsPromptCache: true,
6972
inputPrice: 2.5, // This is the pricing for prompts above 200k tokens.
7073
outputPrice: 15,
@@ -92,6 +95,7 @@ export const geminiModels = {
9295
contextWindow: 1_048_576,
9396
supportsImages: true,
9497
supportsNativeTools: true,
98+
defaultToolProtocol: "native",
9599
supportsPromptCache: true,
96100
inputPrice: 2.5, // This is the pricing for prompts above 200k tokens.
97101
outputPrice: 15,
@@ -117,6 +121,7 @@ export const geminiModels = {
117121
contextWindow: 1_048_576,
118122
supportsImages: true,
119123
supportsNativeTools: true,
124+
defaultToolProtocol: "native",
120125
supportsPromptCache: true,
121126
inputPrice: 2.5, // This is the pricing for prompts above 200k tokens.
122127
outputPrice: 15,
@@ -146,6 +151,7 @@ export const geminiModels = {
146151
contextWindow: 1_048_576,
147152
supportsImages: true,
148153
supportsNativeTools: true,
154+
defaultToolProtocol: "native",
149155
supportsPromptCache: true,
150156
inputPrice: 0.3,
151157
outputPrice: 2.5,
@@ -159,6 +165,7 @@ export const geminiModels = {
159165
contextWindow: 1_048_576,
160166
supportsImages: true,
161167
supportsNativeTools: true,
168+
defaultToolProtocol: "native",
162169
supportsPromptCache: true,
163170
inputPrice: 0.3,
164171
outputPrice: 2.5,
@@ -172,6 +179,7 @@ export const geminiModels = {
172179
contextWindow: 1_048_576,
173180
supportsImages: true,
174181
supportsNativeTools: true,
182+
defaultToolProtocol: "native",
175183
supportsPromptCache: true,
176184
inputPrice: 0.3,
177185
outputPrice: 2.5,
@@ -187,6 +195,7 @@ export const geminiModels = {
187195
contextWindow: 1_048_576,
188196
supportsImages: true,
189197
supportsNativeTools: true,
198+
defaultToolProtocol: "native",
190199
supportsPromptCache: true,
191200
inputPrice: 0.1,
192201
outputPrice: 0.4,
@@ -200,6 +209,7 @@ export const geminiModels = {
200209
contextWindow: 1_048_576,
201210
supportsImages: true,
202211
supportsNativeTools: true,
212+
defaultToolProtocol: "native",
203213
supportsPromptCache: true,
204214
inputPrice: 0.1,
205215
outputPrice: 0.4,

0 commit comments

Comments
 (0)