pi-ollama-cloud 0.12.0 → 0.12.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/CHANGELOG.md +4 -0
- package/models.generated.ts +1 -41
- package/models.ts +15 -5
- package/package.json +1 -1
- package/pricing.generated.ts +1 -1
- package/reasoning.generated.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.12.1] - 2026-09-14
|
|
6
|
+
|
|
7
|
+
- Omit empty `openRouterRouting` / `vercelGatewayRouting` from `buildCompat` (set to `undefined`, not `{}`): pi-ai reads the raw `model.compat` and treats `{}` as truthy, sending a stray `provider: {}` on every Ollama chat completion. Fixes #60. Thanks @0xbentang (#61).
|
|
8
|
+
|
|
5
9
|
## [0.12.0] - 2026-09-11
|
|
6
10
|
|
|
7
11
|
- Source per-model thinking levels from models.dev instead of hardcoded maps. `scripts/generate-reasoning.ts` fetches the `ollama-cloud` provider's `reasoning_options` into `reasoning.generated.ts`, and `thinking-levels.ts` maps each model's effort values onto Pi's levels (toggle-only models become a binary on/off map; models with no models.dev entry fall back to `DEFAULT`). The `off` switch is handled by a small override table for models verified not to honor `reasoning_effort:"none"` (`gpt-oss:20b`, `gpt-oss:120b`, `minimax-m2.7`). Removed the now-stale per-family maps and the `docs/think-experiment.md` doc.
|
package/models.generated.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Auto-generated by scripts/generate-models.ts
|
|
2
2
|
// Do not edit manually.
|
|
3
|
-
// Generated: 2026-09-
|
|
3
|
+
// Generated: 2026-09-14T10:27:20.856Z
|
|
4
4
|
// Model count: 20
|
|
5
5
|
|
|
6
6
|
import type { ProviderModelConfig } from "@earendil-works/pi-coding-agent";
|
|
@@ -11,7 +11,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
11
11
|
name: "deepseek-v4-flash:0731",
|
|
12
12
|
compat: {
|
|
13
13
|
maxTokensField: "max_tokens",
|
|
14
|
-
openRouterRouting: {},
|
|
15
14
|
requiresAssistantAfterToolResult: false,
|
|
16
15
|
requiresReasoningContentOnAssistantMessages: false,
|
|
17
16
|
requiresThinkingAsText: false,
|
|
@@ -24,7 +23,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
24
23
|
supportsStrictMode: false,
|
|
25
24
|
supportsUsageInStreaming: true,
|
|
26
25
|
thinkingFormat: "openai",
|
|
27
|
-
vercelGatewayRouting: {},
|
|
28
26
|
zaiToolStream: false,
|
|
29
27
|
},
|
|
30
28
|
contextWindow: 1048576,
|
|
@@ -51,7 +49,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
51
49
|
name: "deepseek-v4-pro:0813",
|
|
52
50
|
compat: {
|
|
53
51
|
maxTokensField: "max_tokens",
|
|
54
|
-
openRouterRouting: {},
|
|
55
52
|
requiresAssistantAfterToolResult: false,
|
|
56
53
|
requiresReasoningContentOnAssistantMessages: false,
|
|
57
54
|
requiresThinkingAsText: false,
|
|
@@ -64,7 +61,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
64
61
|
supportsStrictMode: false,
|
|
65
62
|
supportsUsageInStreaming: true,
|
|
66
63
|
thinkingFormat: "openai",
|
|
67
|
-
vercelGatewayRouting: {},
|
|
68
64
|
zaiToolStream: false,
|
|
69
65
|
},
|
|
70
66
|
contextWindow: 1048576,
|
|
@@ -91,7 +87,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
91
87
|
name: "deepseek-v4.1-flash",
|
|
92
88
|
compat: {
|
|
93
89
|
maxTokensField: "max_tokens",
|
|
94
|
-
openRouterRouting: {},
|
|
95
90
|
requiresAssistantAfterToolResult: false,
|
|
96
91
|
requiresReasoningContentOnAssistantMessages: false,
|
|
97
92
|
requiresThinkingAsText: false,
|
|
@@ -104,7 +99,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
104
99
|
supportsStrictMode: false,
|
|
105
100
|
supportsUsageInStreaming: true,
|
|
106
101
|
thinkingFormat: "openai",
|
|
107
|
-
vercelGatewayRouting: {},
|
|
108
102
|
zaiToolStream: false,
|
|
109
103
|
},
|
|
110
104
|
contextWindow: 1048576,
|
|
@@ -131,7 +125,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
131
125
|
name: "gemma4:31b",
|
|
132
126
|
compat: {
|
|
133
127
|
maxTokensField: "max_tokens",
|
|
134
|
-
openRouterRouting: {},
|
|
135
128
|
requiresAssistantAfterToolResult: false,
|
|
136
129
|
requiresReasoningContentOnAssistantMessages: false,
|
|
137
130
|
requiresThinkingAsText: false,
|
|
@@ -144,7 +137,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
144
137
|
supportsStrictMode: false,
|
|
145
138
|
supportsUsageInStreaming: true,
|
|
146
139
|
thinkingFormat: "openai",
|
|
147
|
-
vercelGatewayRouting: {},
|
|
148
140
|
zaiToolStream: false,
|
|
149
141
|
},
|
|
150
142
|
contextWindow: 262144,
|
|
@@ -171,7 +163,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
171
163
|
name: "glm-5.1",
|
|
172
164
|
compat: {
|
|
173
165
|
maxTokensField: "max_tokens",
|
|
174
|
-
openRouterRouting: {},
|
|
175
166
|
requiresAssistantAfterToolResult: false,
|
|
176
167
|
requiresReasoningContentOnAssistantMessages: false,
|
|
177
168
|
requiresThinkingAsText: false,
|
|
@@ -184,7 +175,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
184
175
|
supportsStrictMode: false,
|
|
185
176
|
supportsUsageInStreaming: true,
|
|
186
177
|
thinkingFormat: "openai",
|
|
187
|
-
vercelGatewayRouting: {},
|
|
188
178
|
zaiToolStream: false,
|
|
189
179
|
},
|
|
190
180
|
contextWindow: 202752,
|
|
@@ -211,7 +201,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
211
201
|
name: "glm-5.2",
|
|
212
202
|
compat: {
|
|
213
203
|
maxTokensField: "max_tokens",
|
|
214
|
-
openRouterRouting: {},
|
|
215
204
|
requiresAssistantAfterToolResult: false,
|
|
216
205
|
requiresReasoningContentOnAssistantMessages: false,
|
|
217
206
|
requiresThinkingAsText: false,
|
|
@@ -224,7 +213,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
224
213
|
supportsStrictMode: false,
|
|
225
214
|
supportsUsageInStreaming: true,
|
|
226
215
|
thinkingFormat: "openai",
|
|
227
|
-
vercelGatewayRouting: {},
|
|
228
216
|
zaiToolStream: false,
|
|
229
217
|
},
|
|
230
218
|
contextWindow: 1048576,
|
|
@@ -251,7 +239,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
251
239
|
name: "glm-5.3",
|
|
252
240
|
compat: {
|
|
253
241
|
maxTokensField: "max_tokens",
|
|
254
|
-
openRouterRouting: {},
|
|
255
242
|
requiresAssistantAfterToolResult: false,
|
|
256
243
|
requiresReasoningContentOnAssistantMessages: false,
|
|
257
244
|
requiresThinkingAsText: false,
|
|
@@ -264,7 +251,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
264
251
|
supportsStrictMode: false,
|
|
265
252
|
supportsUsageInStreaming: true,
|
|
266
253
|
thinkingFormat: "openai",
|
|
267
|
-
vercelGatewayRouting: {},
|
|
268
254
|
zaiToolStream: false,
|
|
269
255
|
},
|
|
270
256
|
contextWindow: 1048576,
|
|
@@ -291,7 +277,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
291
277
|
name: "glm-5.3-flash",
|
|
292
278
|
compat: {
|
|
293
279
|
maxTokensField: "max_tokens",
|
|
294
|
-
openRouterRouting: {},
|
|
295
280
|
requiresAssistantAfterToolResult: false,
|
|
296
281
|
requiresReasoningContentOnAssistantMessages: false,
|
|
297
282
|
requiresThinkingAsText: false,
|
|
@@ -304,7 +289,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
304
289
|
supportsStrictMode: false,
|
|
305
290
|
supportsUsageInStreaming: true,
|
|
306
291
|
thinkingFormat: "openai",
|
|
307
|
-
vercelGatewayRouting: {},
|
|
308
292
|
zaiToolStream: false,
|
|
309
293
|
},
|
|
310
294
|
contextWindow: 1048576,
|
|
@@ -331,7 +315,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
331
315
|
name: "gpt-oss:120b",
|
|
332
316
|
compat: {
|
|
333
317
|
maxTokensField: "max_tokens",
|
|
334
|
-
openRouterRouting: {},
|
|
335
318
|
requiresAssistantAfterToolResult: false,
|
|
336
319
|
requiresReasoningContentOnAssistantMessages: false,
|
|
337
320
|
requiresThinkingAsText: false,
|
|
@@ -344,7 +327,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
344
327
|
supportsStrictMode: false,
|
|
345
328
|
supportsUsageInStreaming: true,
|
|
346
329
|
thinkingFormat: "openai",
|
|
347
|
-
vercelGatewayRouting: {},
|
|
348
330
|
zaiToolStream: false,
|
|
349
331
|
},
|
|
350
332
|
contextWindow: 131072,
|
|
@@ -371,7 +353,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
371
353
|
name: "gpt-oss:20b",
|
|
372
354
|
compat: {
|
|
373
355
|
maxTokensField: "max_tokens",
|
|
374
|
-
openRouterRouting: {},
|
|
375
356
|
requiresAssistantAfterToolResult: false,
|
|
376
357
|
requiresReasoningContentOnAssistantMessages: false,
|
|
377
358
|
requiresThinkingAsText: false,
|
|
@@ -384,7 +365,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
384
365
|
supportsStrictMode: false,
|
|
385
366
|
supportsUsageInStreaming: true,
|
|
386
367
|
thinkingFormat: "openai",
|
|
387
|
-
vercelGatewayRouting: {},
|
|
388
368
|
zaiToolStream: false,
|
|
389
369
|
},
|
|
390
370
|
contextWindow: 131072,
|
|
@@ -411,7 +391,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
411
391
|
name: "kimi-k2.6",
|
|
412
392
|
compat: {
|
|
413
393
|
maxTokensField: "max_tokens",
|
|
414
|
-
openRouterRouting: {},
|
|
415
394
|
requiresAssistantAfterToolResult: false,
|
|
416
395
|
requiresReasoningContentOnAssistantMessages: false,
|
|
417
396
|
requiresThinkingAsText: false,
|
|
@@ -424,7 +403,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
424
403
|
supportsStrictMode: false,
|
|
425
404
|
supportsUsageInStreaming: true,
|
|
426
405
|
thinkingFormat: "openai",
|
|
427
|
-
vercelGatewayRouting: {},
|
|
428
406
|
zaiToolStream: false,
|
|
429
407
|
},
|
|
430
408
|
contextWindow: 262144,
|
|
@@ -451,7 +429,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
451
429
|
name: "kimi-k2.7-code",
|
|
452
430
|
compat: {
|
|
453
431
|
maxTokensField: "max_tokens",
|
|
454
|
-
openRouterRouting: {},
|
|
455
432
|
requiresAssistantAfterToolResult: false,
|
|
456
433
|
requiresReasoningContentOnAssistantMessages: false,
|
|
457
434
|
requiresThinkingAsText: false,
|
|
@@ -464,7 +441,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
464
441
|
supportsStrictMode: false,
|
|
465
442
|
supportsUsageInStreaming: true,
|
|
466
443
|
thinkingFormat: "openai",
|
|
467
|
-
vercelGatewayRouting: {},
|
|
468
444
|
zaiToolStream: false,
|
|
469
445
|
},
|
|
470
446
|
contextWindow: 262144,
|
|
@@ -491,7 +467,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
491
467
|
name: "kimi-k3",
|
|
492
468
|
compat: {
|
|
493
469
|
maxTokensField: "max_tokens",
|
|
494
|
-
openRouterRouting: {},
|
|
495
470
|
requiresAssistantAfterToolResult: false,
|
|
496
471
|
requiresReasoningContentOnAssistantMessages: false,
|
|
497
472
|
requiresThinkingAsText: false,
|
|
@@ -504,7 +479,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
504
479
|
supportsStrictMode: false,
|
|
505
480
|
supportsUsageInStreaming: true,
|
|
506
481
|
thinkingFormat: "openai",
|
|
507
|
-
vercelGatewayRouting: {},
|
|
508
482
|
zaiToolStream: false,
|
|
509
483
|
},
|
|
510
484
|
contextWindow: 1048576,
|
|
@@ -531,7 +505,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
531
505
|
name: "minimax-m2.7",
|
|
532
506
|
compat: {
|
|
533
507
|
maxTokensField: "max_tokens",
|
|
534
|
-
openRouterRouting: {},
|
|
535
508
|
requiresAssistantAfterToolResult: false,
|
|
536
509
|
requiresReasoningContentOnAssistantMessages: false,
|
|
537
510
|
requiresThinkingAsText: false,
|
|
@@ -544,7 +517,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
544
517
|
supportsStrictMode: false,
|
|
545
518
|
supportsUsageInStreaming: true,
|
|
546
519
|
thinkingFormat: "openai",
|
|
547
|
-
vercelGatewayRouting: {},
|
|
548
520
|
zaiToolStream: false,
|
|
549
521
|
},
|
|
550
522
|
contextWindow: 196608,
|
|
@@ -571,7 +543,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
571
543
|
name: "minimax-m3",
|
|
572
544
|
compat: {
|
|
573
545
|
maxTokensField: "max_tokens",
|
|
574
|
-
openRouterRouting: {},
|
|
575
546
|
requiresAssistantAfterToolResult: false,
|
|
576
547
|
requiresReasoningContentOnAssistantMessages: false,
|
|
577
548
|
requiresThinkingAsText: false,
|
|
@@ -584,7 +555,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
584
555
|
supportsStrictMode: false,
|
|
585
556
|
supportsUsageInStreaming: true,
|
|
586
557
|
thinkingFormat: "openai",
|
|
587
|
-
vercelGatewayRouting: {},
|
|
588
558
|
zaiToolStream: false,
|
|
589
559
|
},
|
|
590
560
|
contextWindow: 512000,
|
|
@@ -611,7 +581,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
611
581
|
name: "mistral-large-3:675b",
|
|
612
582
|
compat: {
|
|
613
583
|
maxTokensField: "max_tokens",
|
|
614
|
-
openRouterRouting: {},
|
|
615
584
|
requiresAssistantAfterToolResult: false,
|
|
616
585
|
requiresReasoningContentOnAssistantMessages: false,
|
|
617
586
|
requiresThinkingAsText: false,
|
|
@@ -624,7 +593,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
624
593
|
supportsStrictMode: false,
|
|
625
594
|
supportsUsageInStreaming: true,
|
|
626
595
|
thinkingFormat: "openai",
|
|
627
|
-
vercelGatewayRouting: {},
|
|
628
596
|
zaiToolStream: false,
|
|
629
597
|
},
|
|
630
598
|
contextWindow: 262144,
|
|
@@ -643,7 +611,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
643
611
|
name: "nemotron-3-nano:30b",
|
|
644
612
|
compat: {
|
|
645
613
|
maxTokensField: "max_tokens",
|
|
646
|
-
openRouterRouting: {},
|
|
647
614
|
requiresAssistantAfterToolResult: false,
|
|
648
615
|
requiresReasoningContentOnAssistantMessages: false,
|
|
649
616
|
requiresThinkingAsText: false,
|
|
@@ -656,7 +623,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
656
623
|
supportsStrictMode: false,
|
|
657
624
|
supportsUsageInStreaming: true,
|
|
658
625
|
thinkingFormat: "openai",
|
|
659
|
-
vercelGatewayRouting: {},
|
|
660
626
|
zaiToolStream: false,
|
|
661
627
|
},
|
|
662
628
|
contextWindow: 262144,
|
|
@@ -683,7 +649,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
683
649
|
name: "nemotron-3-super",
|
|
684
650
|
compat: {
|
|
685
651
|
maxTokensField: "max_tokens",
|
|
686
|
-
openRouterRouting: {},
|
|
687
652
|
requiresAssistantAfterToolResult: false,
|
|
688
653
|
requiresReasoningContentOnAssistantMessages: false,
|
|
689
654
|
requiresThinkingAsText: false,
|
|
@@ -696,7 +661,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
696
661
|
supportsStrictMode: false,
|
|
697
662
|
supportsUsageInStreaming: true,
|
|
698
663
|
thinkingFormat: "openai",
|
|
699
|
-
vercelGatewayRouting: {},
|
|
700
664
|
zaiToolStream: false,
|
|
701
665
|
},
|
|
702
666
|
contextWindow: 262144,
|
|
@@ -723,7 +687,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
723
687
|
name: "nemotron-3-ultra",
|
|
724
688
|
compat: {
|
|
725
689
|
maxTokensField: "max_tokens",
|
|
726
|
-
openRouterRouting: {},
|
|
727
690
|
requiresAssistantAfterToolResult: false,
|
|
728
691
|
requiresReasoningContentOnAssistantMessages: false,
|
|
729
692
|
requiresThinkingAsText: false,
|
|
@@ -736,7 +699,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
736
699
|
supportsStrictMode: false,
|
|
737
700
|
supportsUsageInStreaming: true,
|
|
738
701
|
thinkingFormat: "openai",
|
|
739
|
-
vercelGatewayRouting: {},
|
|
740
702
|
zaiToolStream: false,
|
|
741
703
|
},
|
|
742
704
|
contextWindow: 262144,
|
|
@@ -763,7 +725,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
763
725
|
name: "qwen3.5:397b",
|
|
764
726
|
compat: {
|
|
765
727
|
maxTokensField: "max_tokens",
|
|
766
|
-
openRouterRouting: {},
|
|
767
728
|
requiresAssistantAfterToolResult: false,
|
|
768
729
|
requiresReasoningContentOnAssistantMessages: false,
|
|
769
730
|
requiresThinkingAsText: false,
|
|
@@ -776,7 +737,6 @@ export const GENERATED_MODELS: ProviderModelConfig[] = [
|
|
|
776
737
|
supportsStrictMode: false,
|
|
777
738
|
supportsUsageInStreaming: true,
|
|
778
739
|
thinkingFormat: "openai",
|
|
779
|
-
vercelGatewayRouting: {},
|
|
780
740
|
zaiToolStream: false,
|
|
781
741
|
},
|
|
782
742
|
contextWindow: 262144,
|
package/models.ts
CHANGED
|
@@ -113,18 +113,28 @@ function buildCompat(): ProviderModelConfig["compat"] {
|
|
|
113
113
|
thinkingFormat: "openai",
|
|
114
114
|
// Ollama does not support tool_choice, so strict mode is unavailable (ollama: docs.ollama.com/api/openai-compatibility, pi: types.ts#supportsStrictMode).
|
|
115
115
|
supportsStrictMode: false,
|
|
116
|
-
// Anthropic cache_control not relevant; Ollama has implicit KV cache only (pi: types.ts#cacheControlFormat).
|
|
117
|
-
// Explicitly undefined: JSON.stringify drops undefined values, keeping
|
|
118
|
-
// models.generated.ts structurally consistent with assembleModels() runtime output.
|
|
119
116
|
// Session affinity headers not relevant for Ollama (pi: types.ts#sendSessionAffinityHeaders).
|
|
120
117
|
sendSessionAffinityHeaders: false,
|
|
121
118
|
// No explicit cache-retention API (pi: types.ts#supportsLongCacheRetention).
|
|
122
119
|
supportsLongCacheRetention: false,
|
|
123
120
|
// Not z.ai (pi: types.ts#zaiToolStream).
|
|
124
121
|
zaiToolStream: false,
|
|
122
|
+
// Anthropic cache_control not relevant; Ollama has implicit KV cache only (pi: types.ts#cacheControlFormat).
|
|
123
|
+
// Explicitly undefined: JSON.stringify drops undefined values, keeping
|
|
124
|
+
// models.generated.ts structurally consistent with assembleModels() runtime output.
|
|
125
125
|
cacheControlFormat: undefined,
|
|
126
|
-
|
|
127
|
-
|
|
126
|
+
// OpenRouter / Vercel AI Gateway routing prefs. pi-ai's OpenAI transport
|
|
127
|
+
// truthiness-checks the raw model.compat (not the resolved getCompat() value)
|
|
128
|
+
// and forwards it verbatim: `if (model.compat?.openRouterRouting)
|
|
129
|
+
// params.provider = ...` in packages/ai/src/api/openai-completions.ts. `{}` is
|
|
130
|
+
// truthy, so baking it in sent a stray `provider: {}` on every Ollama request.
|
|
131
|
+
// Express "none" as undefined, never `{}`; undefined is falsy at the wire site
|
|
132
|
+
// and JSON.stringify drops it from models.generated.ts. The boolean flags above
|
|
133
|
+
// stay explicit `false` on purpose: omitting a boolean makes getCompat() fall
|
|
134
|
+
// back to detectCompat's generic-OpenAI defaults, which are wrong for Ollama
|
|
135
|
+
// (e.g. maxTokensField -> "max_completion_tokens", supportsStrictMode -> true).
|
|
136
|
+
openRouterRouting: undefined,
|
|
137
|
+
vercelGatewayRouting: undefined,
|
|
128
138
|
};
|
|
129
139
|
}
|
|
130
140
|
|
package/package.json
CHANGED
package/pricing.generated.ts
CHANGED
package/reasoning.generated.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Auto-generated by scripts/generate-reasoning.ts
|
|
2
2
|
// Do not edit manually.
|
|
3
|
-
// Model count:
|
|
3
|
+
// Model count: 23
|
|
4
4
|
|
|
5
5
|
export type ModelsDevReasoningOption =
|
|
6
6
|
| { type: "toggle" }
|
|
@@ -13,6 +13,7 @@ export const MODEL_REASONING_OPTIONS: Record<string, ModelsDevReasoningOption[]>
|
|
|
13
13
|
"deepseek-v4-flash": [{ type: "toggle" }, { type: "effort", values: ["high", "max"] }],
|
|
14
14
|
"deepseek-v4-flash:0731": [{ type: "toggle" }, { type: "effort", values: ["high", "max"] }],
|
|
15
15
|
"deepseek-v4-pro": [{ type: "toggle" }, { type: "effort", values: ["high", "max"] }],
|
|
16
|
+
"deepseek-v4-pro:0813": [{ type: "toggle" }, { type: "effort", values: ["high", "max"] }],
|
|
16
17
|
"deepseek-v4.1-flash": [{ type: "toggle" }, { type: "effort", values: ["low", "high", "max"] }],
|
|
17
18
|
"gemma4:31b": [{ type: "toggle" }],
|
|
18
19
|
"glm-5.1": [{ type: "toggle" }],
|