pi-runinfra-provider 1.0.0 → 1.2.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 +16 -3
- package/custom-models.json +1 -0
- package/deprecated-models.json +73 -7
- package/models.json +68 -4
- package/package.json +1 -1
- package/patch.json +32 -0
- package/scripts/update-models.js +14 -0
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ _A [pi](https://github.com/earendil-works/pi-coding-agent) provider extension fo
|
|
|
15
15
|
|
|
16
16
|
## Features
|
|
17
17
|
|
|
18
|
-
- **
|
|
18
|
+
- **10 AI Models** covering the full RunInfra lineup: DeepSeek V4 Flash, DeepSeek V4 Pro, Nemotron 3.5 Lightning 30B, Ornith 1.5 35B, Qwen3.8 2.4T A95B, Qwen3.8 27B, Parakeet TDT 0.6B v3, and the Qwen3 embedding/reranker models
|
|
19
19
|
- **OpenAI-Compatible API** — Just change the base URL and API key
|
|
20
20
|
- **Cost Tracking** — Per-model pricing for budget management
|
|
21
21
|
- **Reasoning Models** — Extended thinking via `reasoning_content` field
|
|
@@ -71,7 +71,13 @@ pi
|
|
|
71
71
|
|-------|---------|--------|-----------|-----------|-----------------|------------|
|
|
72
72
|
| DeepSeek V4 Flash | 1.0M | ❌ | ✅ | $0.13 | $0.01 | $0.27 |
|
|
73
73
|
| DeepSeek V4 Pro | 1.0M | ❌ | ✅ | $0.60 | $0.03 | $1.90 |
|
|
74
|
-
|
|
|
74
|
+
| GLM 5.3 Flash | 1.0M | ✅ | ✅ | $0.10 | $0.01 | $0.40 |
|
|
75
|
+
| Nemotron 3.5 Lightning 30B | 262K | ❌ | ✅ | $0.05 | $0.01 | $0.15 |
|
|
76
|
+
| Ornith 1.5 35B | 262K | ✅ | ✅ | $0.10 | $0.01 | $0.40 |
|
|
77
|
+
| Parakeet TDT 0.6B v3 | 131K | ❌ | ❌ | $10.00 | — | — |
|
|
78
|
+
| Qwen3 Embedding 0.6B | 33K | ❌ | ❌ | $0.01 | — | — |
|
|
79
|
+
| Qwen3 Embedding 8B | 33K | ❌ | ❌ | $0.05 | — | — |
|
|
80
|
+
| Qwen3 Reranker 8B | 16K | ❌ | ❌ | $0.05 | — | — |
|
|
75
81
|
| Qwen3.8 2.4T A95B | 262K | ❌ | ✅ | $2.00 | $0.20 | $6.00 |
|
|
76
82
|
| Qwen3.8 27B | 262K | ❌ | ✅ | $0.10 | $0.01 | $0.40 |
|
|
77
83
|
|
|
@@ -128,7 +134,7 @@ RunInfra's API follows the OpenAI Chat Completions API:
|
|
|
128
134
|
- **`supportsDeveloperRole: false`** — All models. RunInfra uses standard OpenAI roles.
|
|
129
135
|
- **`maxTokensField: "max_tokens"`** — All models. RunInfra accepts `max_tokens`.
|
|
130
136
|
- **`thinkingFormat: "deepseek"`** — DeepSeek V4 Flash / V4 Pro. Reasoning is toggled via a `thinking` parameter and effort is sent as `reasoning_effort` (pi maps Shift+Tab levels to `low`/`high`/`max`).
|
|
131
|
-
- **`thinkingFormat: "openai"`** — Nemotron 3.5 Lightning, Qwen3.8. Returns thinking in the `reasoning_content` field.
|
|
137
|
+
- **`thinkingFormat: "openai"`** — Nemotron 3.5 Lightning, Ornith 1.5 35B, and Qwen3.8. Returns thinking in the `reasoning_content` field.
|
|
132
138
|
- **`supportsReasoningEffort: true`** — All reasoning models. Supports the `reasoning_effort` parameter.
|
|
133
139
|
- **`supportsStore: false`** — All models. RunInfra doesn't support the `store` parameter.
|
|
134
140
|
|
|
@@ -165,6 +171,13 @@ This will:
|
|
|
165
171
|
3. Apply overrides from `patch.json`
|
|
166
172
|
4. Update `models.json` and the README model table
|
|
167
173
|
|
|
174
|
+
To regenerate just the README model table from local data — no API key needed,
|
|
175
|
+
useful for offline curation:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
node scripts/update-models.js --readme-only
|
|
179
|
+
```
|
|
180
|
+
|
|
168
181
|
## License
|
|
169
182
|
|
|
170
183
|
MIT
|
package/custom-models.json
CHANGED
package/deprecated-models.json
CHANGED
|
@@ -1,24 +1,90 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
3
|
-
"id": "
|
|
4
|
-
"name": "
|
|
5
|
-
"reasoning":
|
|
2
|
+
"parakeet-tdt-0-6b-v3": {
|
|
3
|
+
"id": "parakeet-tdt-0-6b-v3",
|
|
4
|
+
"name": "Parakeet TDT 0.6B v3",
|
|
5
|
+
"reasoning": false,
|
|
6
|
+
"input": [
|
|
7
|
+
"text"
|
|
8
|
+
],
|
|
9
|
+
"cost": {
|
|
10
|
+
"input": 10,
|
|
11
|
+
"output": 0,
|
|
12
|
+
"cacheRead": 0,
|
|
13
|
+
"cacheWrite": 0
|
|
14
|
+
},
|
|
15
|
+
"contextWindow": 131072,
|
|
16
|
+
"maxTokens": 32768,
|
|
17
|
+
"compat": {
|
|
18
|
+
"supportsDeveloperRole": false,
|
|
19
|
+
"supportsStore": false,
|
|
20
|
+
"maxTokensField": "max_tokens"
|
|
21
|
+
},
|
|
22
|
+
"deprecatedAt": "2026-08-27T07:36:24.190Z"
|
|
23
|
+
},
|
|
24
|
+
"qwen3-embedding-0-6b": {
|
|
25
|
+
"id": "qwen3-embedding-0-6b",
|
|
26
|
+
"name": "Qwen3 Embedding 0.6B",
|
|
27
|
+
"reasoning": false,
|
|
28
|
+
"input": [
|
|
29
|
+
"text"
|
|
30
|
+
],
|
|
31
|
+
"cost": {
|
|
32
|
+
"input": 0.01,
|
|
33
|
+
"output": 0,
|
|
34
|
+
"cacheRead": 0,
|
|
35
|
+
"cacheWrite": 0
|
|
36
|
+
},
|
|
37
|
+
"contextWindow": 32768,
|
|
38
|
+
"maxTokens": 32768,
|
|
39
|
+
"compat": {
|
|
40
|
+
"supportsDeveloperRole": false,
|
|
41
|
+
"supportsStore": false,
|
|
42
|
+
"maxTokensField": "max_tokens"
|
|
43
|
+
},
|
|
44
|
+
"deprecatedAt": "2026-08-27T07:36:24.190Z"
|
|
45
|
+
},
|
|
46
|
+
"qwen3-embedding-8b": {
|
|
47
|
+
"id": "qwen3-embedding-8b",
|
|
48
|
+
"name": "Qwen3 Embedding 8B",
|
|
49
|
+
"reasoning": false,
|
|
50
|
+
"input": [
|
|
51
|
+
"text"
|
|
52
|
+
],
|
|
53
|
+
"cost": {
|
|
54
|
+
"input": 0.05,
|
|
55
|
+
"output": 0,
|
|
56
|
+
"cacheRead": 0,
|
|
57
|
+
"cacheWrite": 0
|
|
58
|
+
},
|
|
59
|
+
"contextWindow": 32768,
|
|
60
|
+
"maxTokens": 32768,
|
|
61
|
+
"compat": {
|
|
62
|
+
"supportsDeveloperRole": false,
|
|
63
|
+
"supportsStore": false,
|
|
64
|
+
"maxTokensField": "max_tokens"
|
|
65
|
+
},
|
|
66
|
+
"deprecatedAt": "2026-08-27T07:36:24.190Z"
|
|
67
|
+
},
|
|
68
|
+
"qwen3-reranker-8b": {
|
|
69
|
+
"id": "qwen3-reranker-8b",
|
|
70
|
+
"name": "Qwen3 Reranker 8B",
|
|
71
|
+
"reasoning": false,
|
|
6
72
|
"input": [
|
|
7
73
|
"text"
|
|
8
74
|
],
|
|
9
75
|
"cost": {
|
|
10
76
|
"input": 0.05,
|
|
11
|
-
"output": 0
|
|
77
|
+
"output": 0,
|
|
12
78
|
"cacheRead": 0,
|
|
13
79
|
"cacheWrite": 0
|
|
14
80
|
},
|
|
15
|
-
"contextWindow":
|
|
81
|
+
"contextWindow": 16384,
|
|
16
82
|
"maxTokens": 32768,
|
|
17
83
|
"compat": {
|
|
18
84
|
"supportsDeveloperRole": false,
|
|
19
85
|
"supportsStore": false,
|
|
20
86
|
"maxTokensField": "max_tokens"
|
|
21
87
|
},
|
|
22
|
-
"deprecatedAt": "2026-08-
|
|
88
|
+
"deprecatedAt": "2026-08-27T07:36:24.190Z"
|
|
23
89
|
}
|
|
24
90
|
}
|
package/models.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"cacheWrite": 0
|
|
14
14
|
},
|
|
15
15
|
"contextWindow": 1048576,
|
|
16
|
-
"maxTokens":
|
|
16
|
+
"maxTokens": 1048576,
|
|
17
17
|
"compat": {
|
|
18
18
|
"supportsDeveloperRole": false,
|
|
19
19
|
"supportsStore": false,
|
|
@@ -34,7 +34,71 @@
|
|
|
34
34
|
"cacheWrite": 0
|
|
35
35
|
},
|
|
36
36
|
"contextWindow": 1048576,
|
|
37
|
-
"maxTokens":
|
|
37
|
+
"maxTokens": 1048576,
|
|
38
|
+
"compat": {
|
|
39
|
+
"supportsDeveloperRole": false,
|
|
40
|
+
"supportsStore": false,
|
|
41
|
+
"maxTokensField": "max_tokens"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "glm-5-3-flash",
|
|
46
|
+
"name": "Glm 5 3 Flash",
|
|
47
|
+
"reasoning": false,
|
|
48
|
+
"input": [
|
|
49
|
+
"text"
|
|
50
|
+
],
|
|
51
|
+
"cost": {
|
|
52
|
+
"input": 0.1,
|
|
53
|
+
"output": 0.4,
|
|
54
|
+
"cacheRead": 0.01,
|
|
55
|
+
"cacheWrite": 0
|
|
56
|
+
},
|
|
57
|
+
"contextWindow": 1048576,
|
|
58
|
+
"maxTokens": 1048576,
|
|
59
|
+
"compat": {
|
|
60
|
+
"supportsDeveloperRole": false,
|
|
61
|
+
"supportsStore": false,
|
|
62
|
+
"maxTokensField": "max_tokens"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "nemotron-3-5-lightning-30b",
|
|
67
|
+
"name": "Nemotron 3.5 Lightning 30B",
|
|
68
|
+
"reasoning": true,
|
|
69
|
+
"input": [
|
|
70
|
+
"text"
|
|
71
|
+
],
|
|
72
|
+
"cost": {
|
|
73
|
+
"input": 0.05,
|
|
74
|
+
"output": 0.15,
|
|
75
|
+
"cacheRead": 0.01,
|
|
76
|
+
"cacheWrite": 0
|
|
77
|
+
},
|
|
78
|
+
"contextWindow": 262144,
|
|
79
|
+
"maxTokens": 262144,
|
|
80
|
+
"compat": {
|
|
81
|
+
"supportsDeveloperRole": false,
|
|
82
|
+
"supportsStore": false,
|
|
83
|
+
"maxTokensField": "max_tokens"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "ornith-1-5-35b",
|
|
88
|
+
"name": "Ornith 1.5 35B",
|
|
89
|
+
"reasoning": true,
|
|
90
|
+
"input": [
|
|
91
|
+
"text",
|
|
92
|
+
"image"
|
|
93
|
+
],
|
|
94
|
+
"cost": {
|
|
95
|
+
"input": 0.1,
|
|
96
|
+
"output": 0.4,
|
|
97
|
+
"cacheRead": 0.01,
|
|
98
|
+
"cacheWrite": 0
|
|
99
|
+
},
|
|
100
|
+
"contextWindow": 262144,
|
|
101
|
+
"maxTokens": 262144,
|
|
38
102
|
"compat": {
|
|
39
103
|
"supportsDeveloperRole": false,
|
|
40
104
|
"supportsStore": false,
|
|
@@ -55,7 +119,7 @@
|
|
|
55
119
|
"cacheWrite": 0
|
|
56
120
|
},
|
|
57
121
|
"contextWindow": 262144,
|
|
58
|
-
"maxTokens":
|
|
122
|
+
"maxTokens": 262144,
|
|
59
123
|
"compat": {
|
|
60
124
|
"supportsDeveloperRole": false,
|
|
61
125
|
"supportsStore": false,
|
|
@@ -76,7 +140,7 @@
|
|
|
76
140
|
"cacheWrite": 0
|
|
77
141
|
},
|
|
78
142
|
"contextWindow": 262144,
|
|
79
|
-
"maxTokens":
|
|
143
|
+
"maxTokens": 262144,
|
|
80
144
|
"compat": {
|
|
81
145
|
"supportsDeveloperRole": false,
|
|
82
146
|
"supportsStore": false,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-runinfra-provider",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "RunInfra provider extension for pi - Access DeepSeek V4, Nemotron 3.5 Lightning, and Qwen3.8 models through the RunInfra gateway",
|
|
5
5
|
"author": "monotykamary",
|
|
6
6
|
"homepage": "https://github.com/monotykamary/pi-runinfra-provider#readme",
|
package/patch.json
CHANGED
|
@@ -37,6 +37,19 @@
|
|
|
37
37
|
"maxTokensField": "max_tokens"
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
|
+
"glm-5-3-flash": {
|
|
41
|
+
"name": "GLM 5.3 Flash",
|
|
42
|
+
"reasoning": true,
|
|
43
|
+
"input": [
|
|
44
|
+
"text",
|
|
45
|
+
"image"
|
|
46
|
+
],
|
|
47
|
+
"compat": {
|
|
48
|
+
"thinkingFormat": "zai",
|
|
49
|
+
"supportsReasoningEffort": false,
|
|
50
|
+
"maxTokensField": "max_tokens"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
40
53
|
"nemotron-3-5-lightning-30b": {
|
|
41
54
|
"name": "Nemotron 3.5 Lightning 30B",
|
|
42
55
|
"reasoning": true,
|
|
@@ -56,6 +69,25 @@
|
|
|
56
69
|
"maxTokensField": "max_tokens"
|
|
57
70
|
}
|
|
58
71
|
},
|
|
72
|
+
"ornith-1-5-35b": {
|
|
73
|
+
"reasoning": true,
|
|
74
|
+
"name": "Ornith 1.5 35B",
|
|
75
|
+
"thinkingLevelMap": {
|
|
76
|
+
"off": "none",
|
|
77
|
+
"minimal": "low",
|
|
78
|
+
"low": "low",
|
|
79
|
+
"medium": "medium",
|
|
80
|
+
"high": "xhigh",
|
|
81
|
+
"xhigh": "xhigh",
|
|
82
|
+
"max": "xhigh"
|
|
83
|
+
},
|
|
84
|
+
"compat": {
|
|
85
|
+
"thinkingFormat": "openai",
|
|
86
|
+
"supportsReasoningEffort": true,
|
|
87
|
+
"requiresReasoningContentOnAssistantMessages": true,
|
|
88
|
+
"maxTokensField": "max_tokens"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
59
91
|
"qwen3-8-2-4t-a95b": {
|
|
60
92
|
"name": "Qwen3.8 2.4T A95B",
|
|
61
93
|
"reasoning": true,
|
package/scripts/update-models.js
CHANGED
|
@@ -430,6 +430,20 @@ function withDeprecatedForReadme(models) {
|
|
|
430
430
|
|
|
431
431
|
async function main() {
|
|
432
432
|
try {
|
|
433
|
+
// Regenerate the derived README table from local source data without an API
|
|
434
|
+
// key. This is useful for offline workflows while curating custom models.
|
|
435
|
+
if (process.argv.includes('--readme-only')) {
|
|
436
|
+
const baseModels = loadJson(MODELS_JSON_PATH);
|
|
437
|
+
const patchData = loadJson(PATCH_JSON_PATH);
|
|
438
|
+
const customModels = loadJson(CUSTOM_MODELS_JSON_PATH);
|
|
439
|
+
const readmeBase = withDeprecatedForReadme(Array.isArray(baseModels) ? baseModels : []);
|
|
440
|
+
const readmeModels = buildModels(readmeBase, Array.isArray(customModels) ? customModels : [], patchData);
|
|
441
|
+
readmeModels.sort((a, b) => a.name.localeCompare(b.name));
|
|
442
|
+
updateReadme(readmeModels);
|
|
443
|
+
console.log('✓ Regenerated README.md from local model data');
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
|
|
433
447
|
const apiModels = await fetchModels();
|
|
434
448
|
|
|
435
449
|
// Load existing models.json — source of truth for curated specs
|