pi-io-provider 1.1.2 → 1.1.3
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 +24 -23
- package/index.ts +15 -7
- package/models.json +303 -98
- package/package.json +1 -1
- package/scripts/update-models.js +25 -5
package/README.md
CHANGED
|
@@ -16,37 +16,38 @@ A [pi](https://github.com/badlogic/pi-mono) extension that adds [IO Intelligence
|
|
|
16
16
|
|
|
17
17
|
| Model | ID | Context | Max Output | Vision | Reasoning | Cache | Input $/M | Output $/M |
|
|
18
18
|
|-------|----|---------|------------|--------|-----------|-------|-----------|------------|
|
|
19
|
+
| Kimi K2.5 | `moonshotai/Kimi-K2.5` | 262K | 262K | ✅ | ✅ | ✅ | $0.56 | $2.82 |
|
|
20
|
+
| Kimi K2.6 | `moonshotai/Kimi-K2.6` | 262K | 262K | ✅ | ✅ | ✅ | $0.84 | $3.76 |
|
|
21
|
+
| Kimi K2.7 Code | `moonshotai/Kimi-K2.7-Code` | 262K | 262K | ✅ | ✅ | ✅ | $1.07 | $4.65 |
|
|
22
|
+
| Kimi K3 | `moonshotai/Kimi-K3` | 1.0M | 1.0M | ✅ | ✅ | ✅ | $3.60 | $18.00 |
|
|
23
|
+
| Qwen3.6 27B | `Qwen/Qwen3.6-27B` | 33K | 33K | ✅ | ✅ | ✅ | $0.37 | $3.19 |
|
|
24
|
+
| Qwen3.6 35B A3B | `Qwen/Qwen3.6-35B-A3B` | 262K | 262K | ✅ | ✅ | ✅ | $0.17 | $1.12 |
|
|
19
25
|
| DeepSeek R1 0528 | `deepseek-ai/DeepSeek-R1-0528` | 128K | 128K | ❌ | ✅ | ✅ | $0.57 | $2.28 |
|
|
26
|
+
| DeepSeek V3.2 | `deepseek-ai/DeepSeek-V3.2` | 164K | 164K | ❌ | ✅ | ✅ | $0.90 | $1.76 |
|
|
27
|
+
| DeepSeek V4 Flash | `deepseek-ai/DeepSeek-V4-Flash` | 33K | 33K | ❌ | ✅ | ✅ | $0.20 | $0.37 |
|
|
28
|
+
| DeepSeek V4 Flash 0731 | `deepseek-ai/DeepSeek-V4-Flash-0731` | 262K | 66K | ❌ | ✅ | ✅ | $0.14 | $0.28 |
|
|
29
|
+
| DeepSeek V4 Pro | `deepseek-ai/DeepSeek-V4-Pro` | 1.0M | 600K | ❌ | ✅ | ✅ | $1.52 | $3.04 |
|
|
30
|
+
| Gemma 4 26B A4B | `google/gemma-4-26b-a4b-it` | 262K | 262K | ❌ | ✅ | ✅ | $0.13 | $0.43 |
|
|
31
|
+
| MiniMax M2.5 | `MiniMaxAI/MiniMax-M2.5` | 197K | 197K | ❌ | ✅ | ✅ | $0.29 | $1.15 |
|
|
32
|
+
| MiniMax M2.7 | `MiniMaxAI/MiniMax-M2.7` | 262K | 66K | ❌ | ✅ | ✅ | $0.44 | $1.72 |
|
|
20
33
|
| Kimi K2 Thinking | `moonshotai/Kimi-K2-Thinking` | 262K | 262K | ❌ | ✅ | ✅ | $0.60 | $2.50 |
|
|
34
|
+
| gpt-oss-120b | `openai/gpt-oss-120b` | 131K | 131K | ❌ | ✅ | ✅ | $0.19 | $0.70 |
|
|
35
|
+
| gpt-oss-20b | `openai/gpt-oss-20b` | 64K | 64K | ❌ | ✅ | ✅ | $0.05 | $0.22 |
|
|
36
|
+
| MiMo-V2.5 | `XiaomiMiMo/MiMo-V2.5` | 262K | 262K | ❌ | ✅ | ✅ | $0.20 | $0.64 |
|
|
37
|
+
| GLM-4.5-Air | `zai-org/GLM-4.5-Air` | 131K | 131K | ❌ | ✅ | ✅ | $0.16 | $0.94 |
|
|
38
|
+
| GLM 4.6 | `zai-org/GLM-4.6` | 131K | 131K | ❌ | ✅ | ✅ | $0.54 | $2.07 |
|
|
39
|
+
| GLM 4.7 | `zai-org/GLM-4.7` | 203K | 203K | ❌ | ✅ | ✅ | $0.86 | $2.24 |
|
|
40
|
+
| GLM 4.7 Flash | `zai-org/GLM-4.7-Flash` | 200K | 200K | ❌ | ✅ | ✅ | $0.08 | $0.42 |
|
|
41
|
+
| GLM 5 | `zai-org/GLM-5` | 203K | 203K | ❌ | ✅ | ✅ | $0.85 | $2.62 |
|
|
42
|
+
| GLM 5.1 | `zai-org/GLM-5.1` | 203K | 33K | ❌ | ✅ | ✅ | $1.27 | $4.13 |
|
|
43
|
+
| GLM 5.2 | `zai-org/GLM-5.2` | 262K | 66K | ❌ | ✅ | ✅ | $1.96 | $6.16 |
|
|
21
44
|
| Llama 3.2 90B Vision Instruct | `meta-llama/Llama-3.2-90B-Vision-Instruct` | 16K | 16K | ✅ | ❌ | ✅ | $0.34 | $0.34 |
|
|
22
45
|
| Llama 4 Maverick 17B 128E Instruct FP8 | `meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8` | 430K | 430K | ✅ | ❌ | ✅ | $0.28 | $0.93 |
|
|
23
|
-
|
|
|
24
|
-
| Kimi K2.6 | `moonshotai/Kimi-K2.6` | 262K | 262K | ✅ | ❌ | ✅ | $0.84 | $3.76 |
|
|
25
|
-
| DeepSeek V3.2 | `deepseek-ai/DeepSeek-V3.2` | 164K | 164K | ❌ | ❌ | ✅ | $0.90 | $1.76 |
|
|
26
|
-
| DeepSeek V4 Flash | `deepseek-ai/DeepSeek-V4-Flash` | 33K | 33K | ❌ | ❌ | ✅ | $0.20 | $0.37 |
|
|
27
|
-
| DeepSeek V4 Pro | `deepseek-ai/DeepSeek-V4-Pro` | 1.0M | 600K | ❌ | ❌ | ✅ | $1.62 | $3.25 |
|
|
28
|
-
| Gemma 4 26B A4B | `google/gemma-4-26b-a4b-it` | 262K | 262K | ❌ | ❌ | ✅ | $0.12 | $0.39 |
|
|
29
|
-
| Qwen3 Coder 480B A35B Instruct INT4 Mixed AR | `Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar` | 106K | 106K | ❌ | ❌ | ✅ | $0.58 | $2.25 |
|
|
46
|
+
| Qwen3 Coder 480B A35B Instruct INT4 Mixed AR | `Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar` | 106K | 106K | ❌ | ❌ | ✅ | $0.57 | $2.13 |
|
|
30
47
|
| Llama 3.3 70B Instruct | `meta-llama/Llama-3.3-70B-Instruct` | 128K | 128K | ❌ | ❌ | ✅ | $0.51 | $1.04 |
|
|
31
|
-
| MiniMax M2.5 | `MiniMaxAI/MiniMax-M2.5` | 197K | 197K | ❌ | ❌ | ✅ | $0.28 | $1.13 |
|
|
32
|
-
| MiniMax M2.7 | `MiniMaxAI/MiniMax-M2.7` | 205K | 205K | ❌ | ❌ | ✅ | $0.42 | $1.62 |
|
|
33
48
|
| Mistral Nemo Instruct 2407 | `mistralai/Mistral-Nemo-Instruct-2407` | 128K | 128K | ❌ | ❌ | ✅ | $0.07 | $0.12 |
|
|
34
49
|
| Kimi K2 Instruct 0905 | `moonshotai/Kimi-K2-Instruct-0905` | 262K | 262K | ❌ | ❌ | ✅ | $0.57 | $2.30 |
|
|
35
|
-
| Kimi K2.7 Code | `moonshotai/Kimi-K2.7-Code` | 262K | 262K | ❌ | ❌ | ✅ | $1.10 | $4.70 |
|
|
36
|
-
| Kimi K3 | `moonshotai/Kimi-K3` | 1.0M | 1.0M | ❌ | ❌ | ✅ | $3.28 | $16.30 |
|
|
37
|
-
| gpt-oss-120b | `openai/gpt-oss-120b` | 131K | 131K | ❌ | ❌ | ✅ | $0.19 | $0.70 |
|
|
38
|
-
| gpt-oss-20b | `openai/gpt-oss-20b` | 64K | 64K | ❌ | ❌ | ✅ | $0.06 | $0.22 |
|
|
39
50
|
| Qwen3 Next 80B A3B Instruct | `Qwen/Qwen3-Next-80B-A3B-Instruct` | 262K | 262K | ❌ | ❌ | ✅ | $0.12 | $1.14 |
|
|
40
|
-
| Qwen3.6 27B | `Qwen/Qwen3.6-27B` | 33K | 33K | ❌ | ❌ | ✅ | $0.40 | $3.09 |
|
|
41
|
-
| Qwen3.6 35B A3B | `Qwen/Qwen3.6-35B-A3B` | 262K | 262K | ❌ | ❌ | ✅ | $0.18 | $1.19 |
|
|
42
|
-
| MiMo-V2.5 | `XiaomiMiMo/MiMo-V2.5` | 262K | 262K | ❌ | ❌ | ✅ | $0.20 | $0.64 |
|
|
43
|
-
| GLM-4.5-Air | `zai-org/GLM-4.5-Air` | 131K | 131K | ❌ | ❌ | ✅ | $0.16 | $0.94 |
|
|
44
|
-
| GLM 4.6 | `zai-org/GLM-4.6` | 131K | 131K | ❌ | ❌ | ✅ | $0.54 | $2.07 |
|
|
45
|
-
| GLM 4.7 | `zai-org/GLM-4.7` | 203K | 203K | ❌ | ❌ | ✅ | $0.86 | $2.24 |
|
|
46
|
-
| GLM 4.7 Flash | `zai-org/GLM-4.7-Flash` | 200K | 200K | ❌ | ❌ | ✅ | $0.08 | $0.42 |
|
|
47
|
-
| GLM 5 | `zai-org/GLM-5` | 203K | 203K | ❌ | ❌ | ✅ | $0.86 | $2.78 |
|
|
48
|
-
| GLM 5.1 | `zai-org/GLM-5.1` | 203K | 33K | ❌ | ❌ | ✅ | $1.29 | $4.22 |
|
|
49
|
-
| GLM 5.2 | `zai-org/GLM-5.2` | 262K | 66K | ❌ | ❌ | ✅ | $1.96 | $6.16 |
|
|
50
51
|
|
|
51
52
|
*Costs are per million tokens. Cache read/write pricing available on most models.*
|
|
52
53
|
|
package/index.ts
CHANGED
|
@@ -59,12 +59,14 @@ interface JsonModel {
|
|
|
59
59
|
};
|
|
60
60
|
contextWindow: number;
|
|
61
61
|
maxTokens: number;
|
|
62
|
+
thinkingLevelMap?: Record<string, string | null>;
|
|
62
63
|
compat?: {
|
|
63
64
|
supportsDeveloperRole?: boolean;
|
|
64
65
|
supportsStore?: boolean;
|
|
65
66
|
maxTokensField?: "max_completion_tokens" | "max_tokens";
|
|
66
67
|
thinkingFormat?: "openai" | "zai" | "qwen" | "qwen-chat-template";
|
|
67
68
|
supportsReasoningEffort?: boolean;
|
|
69
|
+
requiresReasoningContentOnAssistantMessages?: boolean;
|
|
68
70
|
};
|
|
69
71
|
}
|
|
70
72
|
|
|
@@ -80,6 +82,7 @@ interface PatchEntry {
|
|
|
80
82
|
};
|
|
81
83
|
contextWindow?: number;
|
|
82
84
|
maxTokens?: number;
|
|
85
|
+
thinkingLevelMap?: Record<string, string | null>;
|
|
83
86
|
compat?: Record<string, unknown>;
|
|
84
87
|
}
|
|
85
88
|
|
|
@@ -95,6 +98,7 @@ function applyPatch(model: JsonModel, patch: PatchEntry): JsonModel {
|
|
|
95
98
|
if (patch.input !== undefined) result.input = patch.input;
|
|
96
99
|
if (patch.contextWindow !== undefined) result.contextWindow = patch.contextWindow;
|
|
97
100
|
if (patch.maxTokens !== undefined) result.maxTokens = patch.maxTokens;
|
|
101
|
+
if (patch.thinkingLevelMap !== undefined) result.thinkingLevelMap = { ...patch.thinkingLevelMap };
|
|
98
102
|
|
|
99
103
|
if (patch.cost) {
|
|
100
104
|
result.cost = {
|
|
@@ -111,6 +115,9 @@ function applyPatch(model: JsonModel, patch: PatchEntry): JsonModel {
|
|
|
111
115
|
if (!result.reasoning && result.compat?.thinkingFormat) {
|
|
112
116
|
delete result.compat.thinkingFormat;
|
|
113
117
|
}
|
|
118
|
+
if (!result.reasoning && result.thinkingLevelMap) {
|
|
119
|
+
delete result.thinkingLevelMap;
|
|
120
|
+
}
|
|
114
121
|
if (result.compat && Object.keys(result.compat).length === 0) {
|
|
115
122
|
delete result.compat;
|
|
116
123
|
}
|
|
@@ -164,7 +171,7 @@ const LIVE_FETCH_TIMEOUT_MS = 8000;
|
|
|
164
171
|
|
|
165
172
|
/** Transform a model from the IO Intelligence /v1/models API to JsonModel format. */
|
|
166
173
|
function transformApiModel(apiModel: any): JsonModel | null {
|
|
167
|
-
const hasVision = apiModel.supports_images_input === true;
|
|
174
|
+
const hasVision = apiModel.supports_images_input === true || (apiModel.input_modalities || []).includes("image");
|
|
168
175
|
// IO returns per-token pricing, convert to per-million. Round to 6 decimals to
|
|
169
176
|
// normalize float noise from the ×1e6 multiply and preserve sub-cent cache prices.
|
|
170
177
|
const toPerM = (v: any) => Math.round((typeof v === "number" ? v * 1_000_000 : 0) * 1e6) / 1e6;
|
|
@@ -181,13 +188,14 @@ function transformApiModel(apiModel: any): JsonModel | null {
|
|
|
181
188
|
cacheWrite: toPerM(apiModel.cache_write_token_price),
|
|
182
189
|
},
|
|
183
190
|
contextWindow: apiModel.context_window || 131072,
|
|
184
|
-
maxTokens: apiModel.max_tokens ||
|
|
191
|
+
maxTokens: apiModel.max_tokens || apiModel.context_window || 131072,
|
|
192
|
+
compat: {
|
|
193
|
+
supportsStore: false,
|
|
194
|
+
supportsDeveloperRole: false,
|
|
195
|
+
maxTokensField: "max_tokens",
|
|
196
|
+
...(hasReasoning ? { supportsReasoningEffort: true } : {}),
|
|
197
|
+
},
|
|
185
198
|
};
|
|
186
|
-
if (hasReasoning) {
|
|
187
|
-
model.compat = {
|
|
188
|
-
supportsReasoningEffort: true,
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
199
|
return model;
|
|
192
200
|
}
|
|
193
201
|
|
package/models.json
CHANGED
|
@@ -1,24 +1,53 @@
|
|
|
1
1
|
[
|
|
2
|
+
{
|
|
3
|
+
"id": "deepseek-ai/DeepSeek-V4-Flash-0731",
|
|
4
|
+
"name": "DeepSeek V4 Flash 0731",
|
|
5
|
+
"reasoning": true,
|
|
6
|
+
"input": [
|
|
7
|
+
"text"
|
|
8
|
+
],
|
|
9
|
+
"cost": {
|
|
10
|
+
"input": 0.14,
|
|
11
|
+
"output": 0.28,
|
|
12
|
+
"cacheRead": 0.07,
|
|
13
|
+
"cacheWrite": 0
|
|
14
|
+
},
|
|
15
|
+
"contextWindow": 262100,
|
|
16
|
+
"maxTokens": 65536,
|
|
17
|
+
"compat": {
|
|
18
|
+
"supportsStore": false,
|
|
19
|
+
"supportsDeveloperRole": false,
|
|
20
|
+
"maxTokensField": "max_tokens",
|
|
21
|
+
"supportsReasoningEffort": true
|
|
22
|
+
}
|
|
23
|
+
},
|
|
2
24
|
{
|
|
3
25
|
"id": "moonshotai/Kimi-K3",
|
|
4
26
|
"name": "Kimi K3",
|
|
5
|
-
"reasoning":
|
|
27
|
+
"reasoning": true,
|
|
6
28
|
"input": [
|
|
7
|
-
"text"
|
|
29
|
+
"text",
|
|
30
|
+
"image"
|
|
8
31
|
],
|
|
9
32
|
"cost": {
|
|
10
|
-
"input": 3.
|
|
11
|
-
"output":
|
|
12
|
-
"cacheRead": 1.
|
|
33
|
+
"input": 3.6,
|
|
34
|
+
"output": 18,
|
|
35
|
+
"cacheRead": 1.8,
|
|
13
36
|
"cacheWrite": 0
|
|
14
37
|
},
|
|
15
38
|
"contextWindow": 1048576,
|
|
16
|
-
"maxTokens": 1048576
|
|
39
|
+
"maxTokens": 1048576,
|
|
40
|
+
"compat": {
|
|
41
|
+
"supportsStore": false,
|
|
42
|
+
"supportsDeveloperRole": false,
|
|
43
|
+
"maxTokensField": "max_tokens",
|
|
44
|
+
"supportsReasoningEffort": true
|
|
45
|
+
}
|
|
17
46
|
},
|
|
18
47
|
{
|
|
19
48
|
"id": "XiaomiMiMo/MiMo-V2.5",
|
|
20
49
|
"name": "MiMo-V2.5",
|
|
21
|
-
"reasoning":
|
|
50
|
+
"reasoning": true,
|
|
22
51
|
"input": [
|
|
23
52
|
"text"
|
|
24
53
|
],
|
|
@@ -29,12 +58,18 @@
|
|
|
29
58
|
"cacheWrite": 0
|
|
30
59
|
},
|
|
31
60
|
"contextWindow": 262144,
|
|
32
|
-
"maxTokens": 262144
|
|
61
|
+
"maxTokens": 262144,
|
|
62
|
+
"compat": {
|
|
63
|
+
"supportsStore": false,
|
|
64
|
+
"supportsDeveloperRole": false,
|
|
65
|
+
"maxTokensField": "max_tokens",
|
|
66
|
+
"supportsReasoningEffort": true
|
|
67
|
+
}
|
|
33
68
|
},
|
|
34
69
|
{
|
|
35
70
|
"id": "zai-org/GLM-5.2",
|
|
36
71
|
"name": "GLM 5.2",
|
|
37
|
-
"reasoning":
|
|
72
|
+
"reasoning": true,
|
|
38
73
|
"input": [
|
|
39
74
|
"text"
|
|
40
75
|
],
|
|
@@ -45,76 +80,109 @@
|
|
|
45
80
|
"cacheWrite": 0
|
|
46
81
|
},
|
|
47
82
|
"contextWindow": 262144,
|
|
48
|
-
"maxTokens": 65536
|
|
83
|
+
"maxTokens": 65536,
|
|
84
|
+
"compat": {
|
|
85
|
+
"supportsStore": false,
|
|
86
|
+
"supportsDeveloperRole": false,
|
|
87
|
+
"maxTokensField": "max_tokens",
|
|
88
|
+
"supportsReasoningEffort": true
|
|
89
|
+
}
|
|
49
90
|
},
|
|
50
91
|
{
|
|
51
92
|
"id": "moonshotai/Kimi-K2.7-Code",
|
|
52
93
|
"name": "Kimi K2.7 Code",
|
|
53
|
-
"reasoning":
|
|
94
|
+
"reasoning": true,
|
|
54
95
|
"input": [
|
|
55
|
-
"text"
|
|
96
|
+
"text",
|
|
97
|
+
"image"
|
|
56
98
|
],
|
|
57
99
|
"cost": {
|
|
58
|
-
"input": 1.
|
|
59
|
-
"output": 4.
|
|
60
|
-
"cacheRead": 0.
|
|
100
|
+
"input": 1.072,
|
|
101
|
+
"output": 4.65,
|
|
102
|
+
"cacheRead": 0.536,
|
|
61
103
|
"cacheWrite": 0
|
|
62
104
|
},
|
|
63
105
|
"contextWindow": 262144,
|
|
64
|
-
"maxTokens": 262144
|
|
106
|
+
"maxTokens": 262144,
|
|
107
|
+
"compat": {
|
|
108
|
+
"supportsStore": false,
|
|
109
|
+
"supportsDeveloperRole": false,
|
|
110
|
+
"maxTokensField": "max_tokens",
|
|
111
|
+
"supportsReasoningEffort": true
|
|
112
|
+
}
|
|
65
113
|
},
|
|
66
114
|
{
|
|
67
115
|
"id": "Qwen/Qwen3.6-35B-A3B",
|
|
68
116
|
"name": "Qwen3.6 35B A3B",
|
|
69
|
-
"reasoning":
|
|
117
|
+
"reasoning": true,
|
|
70
118
|
"input": [
|
|
71
|
-
"text"
|
|
119
|
+
"text",
|
|
120
|
+
"image"
|
|
72
121
|
],
|
|
73
122
|
"cost": {
|
|
74
|
-
"input": 0.
|
|
75
|
-
"output": 1.
|
|
76
|
-
"cacheRead": 0.
|
|
123
|
+
"input": 0.1672,
|
|
124
|
+
"output": 1.11675,
|
|
125
|
+
"cacheRead": 0.0836,
|
|
77
126
|
"cacheWrite": 0
|
|
78
127
|
},
|
|
79
128
|
"contextWindow": 262140,
|
|
80
|
-
"maxTokens": 262140
|
|
129
|
+
"maxTokens": 262140,
|
|
130
|
+
"compat": {
|
|
131
|
+
"supportsStore": false,
|
|
132
|
+
"supportsDeveloperRole": false,
|
|
133
|
+
"maxTokensField": "max_tokens",
|
|
134
|
+
"supportsReasoningEffort": true
|
|
135
|
+
}
|
|
81
136
|
},
|
|
82
137
|
{
|
|
83
138
|
"id": "Qwen/Qwen3.6-27B",
|
|
84
139
|
"name": "Qwen3.6 27B",
|
|
85
|
-
"reasoning":
|
|
140
|
+
"reasoning": true,
|
|
86
141
|
"input": [
|
|
87
|
-
"text"
|
|
142
|
+
"text",
|
|
143
|
+
"image"
|
|
88
144
|
],
|
|
89
145
|
"cost": {
|
|
90
|
-
"input": 0.
|
|
91
|
-
"output": 3.
|
|
92
|
-
"cacheRead": 0.
|
|
146
|
+
"input": 0.373,
|
|
147
|
+
"output": 3.19,
|
|
148
|
+
"cacheRead": 0.1865,
|
|
93
149
|
"cacheWrite": 0
|
|
94
150
|
},
|
|
95
151
|
"contextWindow": 32768,
|
|
96
|
-
"maxTokens": 32768
|
|
152
|
+
"maxTokens": 32768,
|
|
153
|
+
"compat": {
|
|
154
|
+
"supportsStore": false,
|
|
155
|
+
"supportsDeveloperRole": false,
|
|
156
|
+
"maxTokensField": "max_tokens",
|
|
157
|
+
"supportsReasoningEffort": true
|
|
158
|
+
}
|
|
97
159
|
},
|
|
98
160
|
{
|
|
99
161
|
"id": "MiniMaxAI/MiniMax-M2.7",
|
|
100
162
|
"name": "MiniMax M2.7",
|
|
101
|
-
"reasoning":
|
|
163
|
+
"reasoning": true,
|
|
102
164
|
"input": [
|
|
103
165
|
"text"
|
|
104
166
|
],
|
|
105
167
|
"cost": {
|
|
106
|
-
"input": 0.
|
|
107
|
-
"output": 1.
|
|
108
|
-
"cacheRead": 0.
|
|
168
|
+
"input": 0.436,
|
|
169
|
+
"output": 1.72,
|
|
170
|
+
"cacheRead": 0.218,
|
|
109
171
|
"cacheWrite": 0
|
|
110
172
|
},
|
|
111
|
-
"contextWindow":
|
|
112
|
-
"maxTokens":
|
|
173
|
+
"contextWindow": 262100,
|
|
174
|
+
"maxTokens": 65536,
|
|
175
|
+
"compat": {
|
|
176
|
+
"supportsStore": false,
|
|
177
|
+
"supportsDeveloperRole": false,
|
|
178
|
+
"maxTokensField": "max_tokens",
|
|
179
|
+
"supportsReasoningEffort": true
|
|
180
|
+
}
|
|
113
181
|
},
|
|
114
182
|
{
|
|
115
183
|
"id": "deepseek-ai/DeepSeek-V4-Flash",
|
|
116
184
|
"name": "DeepSeek V4 Flash",
|
|
117
|
-
"reasoning":
|
|
185
|
+
"reasoning": true,
|
|
118
186
|
"input": [
|
|
119
187
|
"text"
|
|
120
188
|
],
|
|
@@ -125,110 +193,152 @@
|
|
|
125
193
|
"cacheWrite": 0
|
|
126
194
|
},
|
|
127
195
|
"contextWindow": 32768,
|
|
128
|
-
"maxTokens": 32768
|
|
196
|
+
"maxTokens": 32768,
|
|
197
|
+
"compat": {
|
|
198
|
+
"supportsStore": false,
|
|
199
|
+
"supportsDeveloperRole": false,
|
|
200
|
+
"maxTokensField": "max_tokens",
|
|
201
|
+
"supportsReasoningEffort": true
|
|
202
|
+
}
|
|
129
203
|
},
|
|
130
204
|
{
|
|
131
205
|
"id": "deepseek-ai/DeepSeek-V4-Pro",
|
|
132
206
|
"name": "DeepSeek V4 Pro",
|
|
133
|
-
"reasoning":
|
|
207
|
+
"reasoning": true,
|
|
134
208
|
"input": [
|
|
135
209
|
"text"
|
|
136
210
|
],
|
|
137
211
|
"cost": {
|
|
138
|
-
"input": 1.
|
|
139
|
-
"output": 3.
|
|
140
|
-
"cacheRead": 0.
|
|
212
|
+
"input": 1.52044,
|
|
213
|
+
"output": 3.04088,
|
|
214
|
+
"cacheRead": 0.76022,
|
|
141
215
|
"cacheWrite": 0
|
|
142
216
|
},
|
|
143
217
|
"contextWindow": 1048576,
|
|
144
|
-
"maxTokens": 600000
|
|
218
|
+
"maxTokens": 600000,
|
|
219
|
+
"compat": {
|
|
220
|
+
"supportsStore": false,
|
|
221
|
+
"supportsDeveloperRole": false,
|
|
222
|
+
"maxTokensField": "max_tokens",
|
|
223
|
+
"supportsReasoningEffort": true
|
|
224
|
+
}
|
|
145
225
|
},
|
|
146
226
|
{
|
|
147
227
|
"id": "moonshotai/Kimi-K2.6",
|
|
148
228
|
"name": "Kimi K2.6",
|
|
149
|
-
"reasoning":
|
|
229
|
+
"reasoning": true,
|
|
150
230
|
"input": [
|
|
151
231
|
"text",
|
|
152
232
|
"image"
|
|
153
233
|
],
|
|
154
234
|
"cost": {
|
|
155
|
-
"input": 0.
|
|
235
|
+
"input": 0.842,
|
|
156
236
|
"output": 3.762,
|
|
157
|
-
"cacheRead": 0.
|
|
237
|
+
"cacheRead": 0.421,
|
|
158
238
|
"cacheWrite": 0
|
|
159
239
|
},
|
|
160
240
|
"contextWindow": 262142,
|
|
161
|
-
"maxTokens": 262142
|
|
241
|
+
"maxTokens": 262142,
|
|
242
|
+
"compat": {
|
|
243
|
+
"supportsStore": false,
|
|
244
|
+
"supportsDeveloperRole": false,
|
|
245
|
+
"maxTokensField": "max_tokens",
|
|
246
|
+
"supportsReasoningEffort": true
|
|
247
|
+
}
|
|
162
248
|
},
|
|
163
249
|
{
|
|
164
250
|
"id": "zai-org/GLM-5.1",
|
|
165
251
|
"name": "GLM 5.1",
|
|
166
|
-
"reasoning":
|
|
252
|
+
"reasoning": true,
|
|
167
253
|
"input": [
|
|
168
254
|
"text"
|
|
169
255
|
],
|
|
170
256
|
"cost": {
|
|
171
|
-
"input": 1.
|
|
172
|
-
"output": 4.
|
|
173
|
-
"cacheRead": 0.
|
|
257
|
+
"input": 1.2732,
|
|
258
|
+
"output": 4.1272,
|
|
259
|
+
"cacheRead": 0.6366,
|
|
174
260
|
"cacheWrite": 0
|
|
175
261
|
},
|
|
176
262
|
"contextWindow": 202750,
|
|
177
|
-
"maxTokens": 32768
|
|
263
|
+
"maxTokens": 32768,
|
|
264
|
+
"compat": {
|
|
265
|
+
"supportsStore": false,
|
|
266
|
+
"supportsDeveloperRole": false,
|
|
267
|
+
"maxTokensField": "max_tokens",
|
|
268
|
+
"supportsReasoningEffort": true
|
|
269
|
+
}
|
|
178
270
|
},
|
|
179
271
|
{
|
|
180
272
|
"id": "MiniMaxAI/MiniMax-M2.5",
|
|
181
273
|
"name": "MiniMax M2.5",
|
|
182
|
-
"reasoning":
|
|
274
|
+
"reasoning": true,
|
|
183
275
|
"input": [
|
|
184
276
|
"text"
|
|
185
277
|
],
|
|
186
278
|
"cost": {
|
|
187
|
-
"input": 0.
|
|
188
|
-
"output": 1.
|
|
189
|
-
"cacheRead": 0.
|
|
279
|
+
"input": 0.287,
|
|
280
|
+
"output": 1.152,
|
|
281
|
+
"cacheRead": 0.1435,
|
|
190
282
|
"cacheWrite": 0
|
|
191
283
|
},
|
|
192
284
|
"contextWindow": 196600,
|
|
193
|
-
"maxTokens": 196600
|
|
285
|
+
"maxTokens": 196600,
|
|
286
|
+
"compat": {
|
|
287
|
+
"supportsStore": false,
|
|
288
|
+
"supportsDeveloperRole": false,
|
|
289
|
+
"maxTokensField": "max_tokens",
|
|
290
|
+
"supportsReasoningEffort": true
|
|
291
|
+
}
|
|
194
292
|
},
|
|
195
293
|
{
|
|
196
294
|
"id": "moonshotai/Kimi-K2.5",
|
|
197
295
|
"name": "Kimi K2.5",
|
|
198
|
-
"reasoning":
|
|
296
|
+
"reasoning": true,
|
|
199
297
|
"input": [
|
|
200
298
|
"text",
|
|
201
299
|
"image"
|
|
202
300
|
],
|
|
203
301
|
"cost": {
|
|
204
|
-
"input": 0.
|
|
205
|
-
"output": 2.
|
|
206
|
-
"cacheRead": 0.
|
|
302
|
+
"input": 0.564,
|
|
303
|
+
"output": 2.82,
|
|
304
|
+
"cacheRead": 0.282,
|
|
207
305
|
"cacheWrite": 1.1
|
|
208
306
|
},
|
|
209
307
|
"contextWindow": 262144,
|
|
210
|
-
"maxTokens": 262144
|
|
308
|
+
"maxTokens": 262144,
|
|
309
|
+
"compat": {
|
|
310
|
+
"supportsStore": false,
|
|
311
|
+
"supportsDeveloperRole": false,
|
|
312
|
+
"maxTokensField": "max_tokens",
|
|
313
|
+
"supportsReasoningEffort": true
|
|
314
|
+
}
|
|
211
315
|
},
|
|
212
316
|
{
|
|
213
317
|
"id": "zai-org/GLM-5",
|
|
214
318
|
"name": "GLM 5",
|
|
215
|
-
"reasoning":
|
|
319
|
+
"reasoning": true,
|
|
216
320
|
"input": [
|
|
217
321
|
"text"
|
|
218
322
|
],
|
|
219
323
|
"cost": {
|
|
220
|
-
"input": 0.
|
|
221
|
-
"output": 2.
|
|
222
|
-
"cacheRead": 0.
|
|
324
|
+
"input": 0.85,
|
|
325
|
+
"output": 2.622,
|
|
326
|
+
"cacheRead": 0.425,
|
|
223
327
|
"cacheWrite": 0
|
|
224
328
|
},
|
|
225
329
|
"contextWindow": 202752,
|
|
226
|
-
"maxTokens": 202752
|
|
330
|
+
"maxTokens": 202752,
|
|
331
|
+
"compat": {
|
|
332
|
+
"supportsStore": false,
|
|
333
|
+
"supportsDeveloperRole": false,
|
|
334
|
+
"maxTokensField": "max_tokens",
|
|
335
|
+
"supportsReasoningEffort": true
|
|
336
|
+
}
|
|
227
337
|
},
|
|
228
338
|
{
|
|
229
339
|
"id": "deepseek-ai/DeepSeek-V3.2",
|
|
230
340
|
"name": "DeepSeek V3.2",
|
|
231
|
-
"reasoning":
|
|
341
|
+
"reasoning": true,
|
|
232
342
|
"input": [
|
|
233
343
|
"text"
|
|
234
344
|
],
|
|
@@ -239,7 +349,13 @@
|
|
|
239
349
|
"cacheWrite": 0.5
|
|
240
350
|
},
|
|
241
351
|
"contextWindow": 163840,
|
|
242
|
-
"maxTokens": 163840
|
|
352
|
+
"maxTokens": 163840,
|
|
353
|
+
"compat": {
|
|
354
|
+
"supportsStore": false,
|
|
355
|
+
"supportsDeveloperRole": false,
|
|
356
|
+
"maxTokensField": "max_tokens",
|
|
357
|
+
"supportsReasoningEffort": true
|
|
358
|
+
}
|
|
243
359
|
},
|
|
244
360
|
{
|
|
245
361
|
"id": "moonshotai/Kimi-K2-Thinking",
|
|
@@ -255,12 +371,18 @@
|
|
|
255
371
|
"cacheWrite": 0.64
|
|
256
372
|
},
|
|
257
373
|
"contextWindow": 262144,
|
|
258
|
-
"maxTokens": 262144
|
|
374
|
+
"maxTokens": 262144,
|
|
375
|
+
"compat": {
|
|
376
|
+
"supportsStore": false,
|
|
377
|
+
"supportsDeveloperRole": false,
|
|
378
|
+
"maxTokensField": "max_tokens",
|
|
379
|
+
"supportsReasoningEffort": true
|
|
380
|
+
}
|
|
259
381
|
},
|
|
260
382
|
{
|
|
261
383
|
"id": "zai-org/GLM-4.5-Air",
|
|
262
384
|
"name": "GLM-4.5-Air",
|
|
263
|
-
"reasoning":
|
|
385
|
+
"reasoning": true,
|
|
264
386
|
"input": [
|
|
265
387
|
"text"
|
|
266
388
|
],
|
|
@@ -271,28 +393,40 @@
|
|
|
271
393
|
"cacheWrite": 0
|
|
272
394
|
},
|
|
273
395
|
"contextWindow": 131070,
|
|
274
|
-
"maxTokens": 131070
|
|
396
|
+
"maxTokens": 131070,
|
|
397
|
+
"compat": {
|
|
398
|
+
"supportsStore": false,
|
|
399
|
+
"supportsDeveloperRole": false,
|
|
400
|
+
"maxTokensField": "max_tokens",
|
|
401
|
+
"supportsReasoningEffort": true
|
|
402
|
+
}
|
|
275
403
|
},
|
|
276
404
|
{
|
|
277
405
|
"id": "google/gemma-4-26b-a4b-it",
|
|
278
406
|
"name": "Gemma 4 26B A4B",
|
|
279
|
-
"reasoning":
|
|
407
|
+
"reasoning": true,
|
|
280
408
|
"input": [
|
|
281
409
|
"text"
|
|
282
410
|
],
|
|
283
411
|
"cost": {
|
|
284
|
-
"input": 0.
|
|
285
|
-
"output": 0.
|
|
286
|
-
"cacheRead": 0.
|
|
412
|
+
"input": 0.13,
|
|
413
|
+
"output": 0.43,
|
|
414
|
+
"cacheRead": 0.065,
|
|
287
415
|
"cacheWrite": 0
|
|
288
416
|
},
|
|
289
417
|
"contextWindow": 262142,
|
|
290
|
-
"maxTokens": 262142
|
|
418
|
+
"maxTokens": 262142,
|
|
419
|
+
"compat": {
|
|
420
|
+
"supportsStore": false,
|
|
421
|
+
"supportsDeveloperRole": false,
|
|
422
|
+
"maxTokensField": "max_tokens",
|
|
423
|
+
"supportsReasoningEffort": true
|
|
424
|
+
}
|
|
291
425
|
},
|
|
292
426
|
{
|
|
293
427
|
"id": "zai-org/GLM-4.7-Flash",
|
|
294
428
|
"name": "GLM 4.7 Flash",
|
|
295
|
-
"reasoning":
|
|
429
|
+
"reasoning": true,
|
|
296
430
|
"input": [
|
|
297
431
|
"text"
|
|
298
432
|
],
|
|
@@ -303,12 +437,18 @@
|
|
|
303
437
|
"cacheWrite": 0.14
|
|
304
438
|
},
|
|
305
439
|
"contextWindow": 200000,
|
|
306
|
-
"maxTokens": 200000
|
|
440
|
+
"maxTokens": 200000,
|
|
441
|
+
"compat": {
|
|
442
|
+
"supportsStore": false,
|
|
443
|
+
"supportsDeveloperRole": false,
|
|
444
|
+
"maxTokensField": "max_tokens",
|
|
445
|
+
"supportsReasoningEffort": true
|
|
446
|
+
}
|
|
307
447
|
},
|
|
308
448
|
{
|
|
309
449
|
"id": "zai-org/GLM-4.7",
|
|
310
450
|
"name": "GLM 4.7",
|
|
311
|
-
"reasoning":
|
|
451
|
+
"reasoning": true,
|
|
312
452
|
"input": [
|
|
313
453
|
"text"
|
|
314
454
|
],
|
|
@@ -319,7 +459,13 @@
|
|
|
319
459
|
"cacheWrite": 0.6
|
|
320
460
|
},
|
|
321
461
|
"contextWindow": 202752,
|
|
322
|
-
"maxTokens": 202752
|
|
462
|
+
"maxTokens": 202752,
|
|
463
|
+
"compat": {
|
|
464
|
+
"supportsStore": false,
|
|
465
|
+
"supportsDeveloperRole": false,
|
|
466
|
+
"maxTokensField": "max_tokens",
|
|
467
|
+
"supportsReasoningEffort": true
|
|
468
|
+
}
|
|
323
469
|
},
|
|
324
470
|
{
|
|
325
471
|
"id": "moonshotai/Kimi-K2-Instruct-0905",
|
|
@@ -335,7 +481,12 @@
|
|
|
335
481
|
"cacheWrite": 0.78
|
|
336
482
|
},
|
|
337
483
|
"contextWindow": 262144,
|
|
338
|
-
"maxTokens": 262144
|
|
484
|
+
"maxTokens": 262144,
|
|
485
|
+
"compat": {
|
|
486
|
+
"supportsStore": false,
|
|
487
|
+
"supportsDeveloperRole": false,
|
|
488
|
+
"maxTokensField": "max_tokens"
|
|
489
|
+
}
|
|
339
490
|
},
|
|
340
491
|
{
|
|
341
492
|
"id": "meta-llama/Llama-3.2-90B-Vision-Instruct",
|
|
@@ -352,12 +503,17 @@
|
|
|
352
503
|
"cacheWrite": 0.7
|
|
353
504
|
},
|
|
354
505
|
"contextWindow": 16000,
|
|
355
|
-
"maxTokens": 16000
|
|
506
|
+
"maxTokens": 16000,
|
|
507
|
+
"compat": {
|
|
508
|
+
"supportsStore": false,
|
|
509
|
+
"supportsDeveloperRole": false,
|
|
510
|
+
"maxTokensField": "max_tokens"
|
|
511
|
+
}
|
|
356
512
|
},
|
|
357
513
|
{
|
|
358
514
|
"id": "openai/gpt-oss-120b",
|
|
359
515
|
"name": "gpt-oss-120b",
|
|
360
|
-
"reasoning":
|
|
516
|
+
"reasoning": true,
|
|
361
517
|
"input": [
|
|
362
518
|
"text"
|
|
363
519
|
],
|
|
@@ -368,7 +524,13 @@
|
|
|
368
524
|
"cacheWrite": 0.04
|
|
369
525
|
},
|
|
370
526
|
"contextWindow": 131072,
|
|
371
|
-
"maxTokens": 131072
|
|
527
|
+
"maxTokens": 131072,
|
|
528
|
+
"compat": {
|
|
529
|
+
"supportsStore": false,
|
|
530
|
+
"supportsDeveloperRole": false,
|
|
531
|
+
"maxTokensField": "max_tokens",
|
|
532
|
+
"supportsReasoningEffort": true
|
|
533
|
+
}
|
|
372
534
|
},
|
|
373
535
|
{
|
|
374
536
|
"id": "deepseek-ai/DeepSeek-R1-0528",
|
|
@@ -384,12 +546,18 @@
|
|
|
384
546
|
"cacheWrite": 0.8
|
|
385
547
|
},
|
|
386
548
|
"contextWindow": 128000,
|
|
387
|
-
"maxTokens": 128000
|
|
549
|
+
"maxTokens": 128000,
|
|
550
|
+
"compat": {
|
|
551
|
+
"supportsStore": false,
|
|
552
|
+
"supportsDeveloperRole": false,
|
|
553
|
+
"maxTokensField": "max_tokens",
|
|
554
|
+
"supportsReasoningEffort": true
|
|
555
|
+
}
|
|
388
556
|
},
|
|
389
557
|
{
|
|
390
558
|
"id": "zai-org/GLM-4.6",
|
|
391
559
|
"name": "GLM 4.6",
|
|
392
|
-
"reasoning":
|
|
560
|
+
"reasoning": true,
|
|
393
561
|
"input": [
|
|
394
562
|
"text"
|
|
395
563
|
],
|
|
@@ -400,7 +568,13 @@
|
|
|
400
568
|
"cacheWrite": 0.7
|
|
401
569
|
},
|
|
402
570
|
"contextWindow": 131072,
|
|
403
|
-
"maxTokens": 131072
|
|
571
|
+
"maxTokens": 131072,
|
|
572
|
+
"compat": {
|
|
573
|
+
"supportsStore": false,
|
|
574
|
+
"supportsDeveloperRole": false,
|
|
575
|
+
"maxTokensField": "max_tokens",
|
|
576
|
+
"supportsReasoningEffort": true
|
|
577
|
+
}
|
|
404
578
|
},
|
|
405
579
|
{
|
|
406
580
|
"id": "Qwen/Qwen3-Next-80B-A3B-Instruct",
|
|
@@ -416,7 +590,12 @@
|
|
|
416
590
|
"cacheWrite": 0.12
|
|
417
591
|
},
|
|
418
592
|
"contextWindow": 262144,
|
|
419
|
-
"maxTokens": 262144
|
|
593
|
+
"maxTokens": 262144,
|
|
594
|
+
"compat": {
|
|
595
|
+
"supportsStore": false,
|
|
596
|
+
"supportsDeveloperRole": false,
|
|
597
|
+
"maxTokensField": "max_tokens"
|
|
598
|
+
}
|
|
420
599
|
},
|
|
421
600
|
{
|
|
422
601
|
"id": "Intel/Qwen3-Coder-480B-A35B-Instruct-int4-mixed-ar",
|
|
@@ -426,13 +605,18 @@
|
|
|
426
605
|
"text"
|
|
427
606
|
],
|
|
428
607
|
"cost": {
|
|
429
|
-
"input": 0.
|
|
430
|
-
"output": 2.
|
|
431
|
-
"cacheRead": 0.
|
|
608
|
+
"input": 0.569,
|
|
609
|
+
"output": 2.135,
|
|
610
|
+
"cacheRead": 0.2845,
|
|
432
611
|
"cacheWrite": 0.44
|
|
433
612
|
},
|
|
434
613
|
"contextWindow": 106000,
|
|
435
|
-
"maxTokens": 106000
|
|
614
|
+
"maxTokens": 106000,
|
|
615
|
+
"compat": {
|
|
616
|
+
"supportsStore": false,
|
|
617
|
+
"supportsDeveloperRole": false,
|
|
618
|
+
"maxTokensField": "max_tokens"
|
|
619
|
+
}
|
|
436
620
|
},
|
|
437
621
|
{
|
|
438
622
|
"id": "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",
|
|
@@ -449,7 +633,12 @@
|
|
|
449
633
|
"cacheWrite": 0.3
|
|
450
634
|
},
|
|
451
635
|
"contextWindow": 430000,
|
|
452
|
-
"maxTokens": 430000
|
|
636
|
+
"maxTokens": 430000,
|
|
637
|
+
"compat": {
|
|
638
|
+
"supportsStore": false,
|
|
639
|
+
"supportsDeveloperRole": false,
|
|
640
|
+
"maxTokensField": "max_tokens"
|
|
641
|
+
}
|
|
453
642
|
},
|
|
454
643
|
{
|
|
455
644
|
"id": "mistralai/Mistral-Nemo-Instruct-2407",
|
|
@@ -465,23 +654,34 @@
|
|
|
465
654
|
"cacheWrite": 0.04
|
|
466
655
|
},
|
|
467
656
|
"contextWindow": 128000,
|
|
468
|
-
"maxTokens": 128000
|
|
657
|
+
"maxTokens": 128000,
|
|
658
|
+
"compat": {
|
|
659
|
+
"supportsStore": false,
|
|
660
|
+
"supportsDeveloperRole": false,
|
|
661
|
+
"maxTokensField": "max_tokens"
|
|
662
|
+
}
|
|
469
663
|
},
|
|
470
664
|
{
|
|
471
665
|
"id": "openai/gpt-oss-20b",
|
|
472
666
|
"name": "gpt-oss-20b",
|
|
473
|
-
"reasoning":
|
|
667
|
+
"reasoning": true,
|
|
474
668
|
"input": [
|
|
475
669
|
"text"
|
|
476
670
|
],
|
|
477
671
|
"cost": {
|
|
478
|
-
"input": 0.
|
|
672
|
+
"input": 0.053,
|
|
479
673
|
"output": 0.216,
|
|
480
|
-
"cacheRead": 0.
|
|
674
|
+
"cacheRead": 0.0265,
|
|
481
675
|
"cacheWrite": 0.03
|
|
482
676
|
},
|
|
483
677
|
"contextWindow": 64000,
|
|
484
|
-
"maxTokens": 64000
|
|
678
|
+
"maxTokens": 64000,
|
|
679
|
+
"compat": {
|
|
680
|
+
"supportsStore": false,
|
|
681
|
+
"supportsDeveloperRole": false,
|
|
682
|
+
"maxTokensField": "max_tokens",
|
|
683
|
+
"supportsReasoningEffort": true
|
|
684
|
+
}
|
|
485
685
|
},
|
|
486
686
|
{
|
|
487
687
|
"id": "meta-llama/Llama-3.3-70B-Instruct",
|
|
@@ -497,6 +697,11 @@
|
|
|
497
697
|
"cacheWrite": 0.2
|
|
498
698
|
},
|
|
499
699
|
"contextWindow": 128000,
|
|
500
|
-
"maxTokens": 128000
|
|
700
|
+
"maxTokens": 128000,
|
|
701
|
+
"compat": {
|
|
702
|
+
"supportsStore": false,
|
|
703
|
+
"supportsDeveloperRole": false,
|
|
704
|
+
"maxTokensField": "max_tokens"
|
|
705
|
+
}
|
|
501
706
|
}
|
|
502
707
|
]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-io-provider",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "IO Intelligence provider extension for pi - Access DeepSeek, Kimi, GLM, Llama, Qwen, Mistral, and more through the IO Intelligence API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
package/scripts/update-models.js
CHANGED
|
@@ -81,9 +81,17 @@ function convertModel(apiModel, existingModelsMap) {
|
|
|
81
81
|
if (priceOut > 0) existing.cost.output = Math.round(priceOut * 1e6) / 1e6;
|
|
82
82
|
if (cacheRead > 0) existing.cost.cacheRead = Math.round(cacheRead * 1e6) / 1e6;
|
|
83
83
|
if (cacheWrite > 0) existing.cost.cacheWrite = Math.round(cacheWrite * 1e6) / 1e6;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
84
|
+
const hasVision = apiModel.supports_images_input === true || (apiModel.input_modalities || []).includes('image');
|
|
85
|
+
const hasReasoning = apiModel.capabilities?.reasoning === true || apiModel.supports_reasoning === true;
|
|
86
|
+
existing.input = hasVision ? ['text', 'image'] : ['text'];
|
|
87
|
+
existing.reasoning = hasReasoning;
|
|
88
|
+
existing.compat = {
|
|
89
|
+
...(existing.compat || {}),
|
|
90
|
+
supportsStore: false,
|
|
91
|
+
supportsDeveloperRole: false,
|
|
92
|
+
maxTokensField: 'max_tokens',
|
|
93
|
+
...(hasReasoning ? { supportsReasoningEffort: true } : {}),
|
|
94
|
+
};
|
|
87
95
|
return existing;
|
|
88
96
|
}
|
|
89
97
|
|
|
@@ -91,7 +99,7 @@ function convertModel(apiModel, existingModelsMap) {
|
|
|
91
99
|
const ctx = apiModel.context_window || 0;
|
|
92
100
|
const maxTok = apiModel.max_tokens || ctx;
|
|
93
101
|
const input = ['text'];
|
|
94
|
-
if (apiModel.supports_images_input) input.push('image');
|
|
102
|
+
if (apiModel.supports_images_input === true || (apiModel.input_modalities || []).includes('image')) input.push('image');
|
|
95
103
|
|
|
96
104
|
const priceIn = (apiModel.input_token_price || 0) * 1_000_000;
|
|
97
105
|
const priceOut = (apiModel.output_token_price || 0) * 1_000_000;
|
|
@@ -101,7 +109,7 @@ function convertModel(apiModel, existingModelsMap) {
|
|
|
101
109
|
return {
|
|
102
110
|
id,
|
|
103
111
|
name: cleanName(apiModel.name, id),
|
|
104
|
-
reasoning:
|
|
112
|
+
reasoning: apiModel.capabilities?.reasoning === true || apiModel.supports_reasoning === true,
|
|
105
113
|
input,
|
|
106
114
|
cost: {
|
|
107
115
|
input: Math.round(priceIn * 1e6) / 1e6,
|
|
@@ -111,6 +119,14 @@ function convertModel(apiModel, existingModelsMap) {
|
|
|
111
119
|
},
|
|
112
120
|
contextWindow: ctx,
|
|
113
121
|
maxTokens: maxTok,
|
|
122
|
+
compat: {
|
|
123
|
+
supportsStore: false,
|
|
124
|
+
supportsDeveloperRole: false,
|
|
125
|
+
maxTokensField: 'max_tokens',
|
|
126
|
+
...((apiModel.capabilities?.reasoning === true || apiModel.supports_reasoning === true)
|
|
127
|
+
? { supportsReasoningEffort: true }
|
|
128
|
+
: {}),
|
|
129
|
+
},
|
|
114
130
|
};
|
|
115
131
|
}
|
|
116
132
|
|
|
@@ -123,6 +139,7 @@ function applyPatch(model, patch) {
|
|
|
123
139
|
if (patch.input !== undefined) result.input = patch.input;
|
|
124
140
|
if (patch.contextWindow !== undefined) result.contextWindow = patch.contextWindow;
|
|
125
141
|
if (patch.maxTokens !== undefined) result.maxTokens = patch.maxTokens;
|
|
142
|
+
if (patch.thinkingLevelMap !== undefined) result.thinkingLevelMap = { ...patch.thinkingLevelMap };
|
|
126
143
|
if (patch.cost) {
|
|
127
144
|
result.cost = {
|
|
128
145
|
input: patch.cost.input ?? result.cost.input,
|
|
@@ -137,6 +154,9 @@ function applyPatch(model, patch) {
|
|
|
137
154
|
if (!result.reasoning && result.compat?.thinkingFormat) {
|
|
138
155
|
delete result.compat.thinkingFormat;
|
|
139
156
|
}
|
|
157
|
+
if (!result.reasoning && result.thinkingLevelMap) {
|
|
158
|
+
delete result.thinkingLevelMap;
|
|
159
|
+
}
|
|
140
160
|
if (result.compat && Object.keys(result.compat).length === 0) {
|
|
141
161
|
delete result.compat;
|
|
142
162
|
}
|