pi-neuralwatt-provider 1.0.2 → 1.0.4

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.
@@ -1 +1 @@
1
- 019eaf0b-1e49-713a-91d8-846766a3205c
1
+ 019eaf46-55eb-7128-ad6a-f6e860208483
package/README.md CHANGED
@@ -32,21 +32,15 @@ _Kimi, GLM, Qwen, DeepSeek — with real-time ⚡ energy/cost per session for [p
32
32
  | Model | Context | Vision | Reasoning | Input $/M | Output $/M |
33
33
  |-------|---------|--------|-----------|-----------|------------|
34
34
  | Devstral-Small-2-24B-Instruct-2512 | 262K | ✅ | ❌ | $0.12 | $0.35 |
35
- | GLM 5.1 long (coherence canary: keep-recent 48k) | 1.0M | ❌ | ✅ | $1.10 | $3.60 |
36
35
  | GLM-5 Fast | 203K | ❌ | ❌ | $1.10 | $3.60 |
37
36
  | GLM-5.1 | 203K | ❌ | ✅ | $1.10 | $3.60 |
38
- | GLM-5.1 (flex) | 203K | ❌ | ✅ | $1.10 | $3.60 |
39
37
  | GLM-5.1 Fast | 203K | ❌ | ❌ | $1.10 | $3.60 |
40
- | GLM-5.1 Long (Virtual Context) | 1.0M | ❌ | ✅ | $1.10 | $3.60 |
41
38
  | GPT-OSS 20B | 16K | ❌ | ✅ | $0.03 | $0.16 |
42
39
  | Kimi K2.5 | 262K | ✅ | ✅ | $0.52 | $2.59 |
43
40
  | Kimi K2.5 Fast | 262K | ✅ | ❌ | $0.52 | $2.59 |
44
41
  | Kimi K2.6 | 262K | ✅ | ✅ | $0.69 | $3.22 |
45
- | Kimi K2.6 (flex) | 262K | ✅ | ✅ | $0.69 | $3.22 |
46
42
  | Kimi K2.6 Fast | 262K | ✅ | ❌ | $0.69 | $3.22 |
47
- | Kimi K2.6 Long (Virtual Context) | 1.0M | ✅ | ✅ | $0.69 | $3.22 |
48
43
  | MiniMax M2.5 | 197K | ❌ | ✅ | $0.35 | $1.38 |
49
- | Nemotron 3 Ultra 550B (NVFP4) | 1.0M | ❌ | ✅ | $0.69 | $4.14 |
50
44
  | Qwen3.5 397B | 262K | ❌ | ✅ | $0.69 | $4.14 |
51
45
  | Qwen3.5 397B Fast | 262K | ❌ | ❌ | $0.69 | $4.14 |
52
46
  | Qwen3.6 35B | 131K | ✅ | ✅ | $0.29 | $1.15 |
@@ -1,4 +1,64 @@
1
1
  [
2
+ {
3
+ "id": "glm-5.1-flex",
4
+ "name": "GLM-5.1 Flex",
5
+ "reasoning": true,
6
+ "input": [
7
+ "text"
8
+ ],
9
+ "cost": {
10
+ "input": 1.1,
11
+ "output": 3.6,
12
+ "cacheRead": 0,
13
+ "cacheWrite": 0
14
+ },
15
+ "contextWindow": 202736,
16
+ "maxTokens": 202736,
17
+ "thinkingLevelMap": {
18
+ "minimal": null,
19
+ "low": "low",
20
+ "medium": "medium",
21
+ "high": "high",
22
+ "xhigh": null
23
+ },
24
+ "compat": {
25
+ "supportsDeveloperRole": false,
26
+ "maxTokensField": "max_tokens",
27
+ "requiresReasoningContentOnAssistantMessages": true
28
+ }
29
+ },
30
+ {
31
+ "id": "kimi-k2.6-flex",
32
+ "name": "Kimi K2.6 Flex",
33
+ "reasoning": true,
34
+ "input": [
35
+ "text",
36
+ "image"
37
+ ],
38
+ "cost": {
39
+ "input": 0.69,
40
+ "output": 3.22,
41
+ "cacheRead": 0,
42
+ "cacheWrite": 0
43
+ },
44
+ "contextWindow": 262128,
45
+ "maxTokens": 262128,
46
+ "thinkingLevelMap": {
47
+ "minimal": null,
48
+ "low": "low",
49
+ "medium": "medium",
50
+ "high": "high",
51
+ "xhigh": null
52
+ },
53
+ "compat": {
54
+ "supportsDeveloperRole": false,
55
+ "maxTokensField": "max_tokens",
56
+ "requiresReasoningContentOnAssistantMessages": true
57
+ },
58
+ "vision": {
59
+ "maxImagesPerRequest": 20
60
+ }
61
+ },
2
62
  {
3
63
  "id": "glm-5.1-canary",
4
64
  "name": "GLM-5.1 Canary",
@@ -196,6 +256,117 @@
196
256
  "requiresReasoningContentOnAssistantMessages": true
197
257
  }
198
258
  },
259
+ {
260
+ "id": "zai-org/GLM-5.1-FP8",
261
+ "name": "GLM-5.1 (FP8)",
262
+ "reasoning": true,
263
+ "input": [
264
+ "text"
265
+ ],
266
+ "cost": {
267
+ "input": 1.1,
268
+ "output": 3.6,
269
+ "cacheRead": 0,
270
+ "cacheWrite": 0
271
+ },
272
+ "contextWindow": 202736,
273
+ "maxTokens": 202736,
274
+ "thinkingLevelMap": {
275
+ "minimal": null,
276
+ "low": "low",
277
+ "medium": "medium",
278
+ "high": "high",
279
+ "xhigh": null
280
+ },
281
+ "compat": {
282
+ "supportsDeveloperRole": false,
283
+ "maxTokensField": "max_tokens",
284
+ "requiresReasoningContentOnAssistantMessages": true
285
+ }
286
+ },
287
+ {
288
+ "id": "moonshotai/Kimi-K2.6",
289
+ "name": "Kimi K2.6",
290
+ "reasoning": true,
291
+ "input": [
292
+ "text",
293
+ "image"
294
+ ],
295
+ "cost": {
296
+ "input": 0.69,
297
+ "output": 3.22,
298
+ "cacheRead": 0,
299
+ "cacheWrite": 0
300
+ },
301
+ "contextWindow": 262128,
302
+ "maxTokens": 262128,
303
+ "thinkingLevelMap": {
304
+ "minimal": null,
305
+ "low": "low",
306
+ "medium": "medium",
307
+ "high": "high",
308
+ "xhigh": null
309
+ },
310
+ "compat": {
311
+ "supportsDeveloperRole": false,
312
+ "maxTokensField": "max_tokens",
313
+ "requiresReasoningContentOnAssistantMessages": true
314
+ },
315
+ "vision": {
316
+ "maxImagesPerRequest": 20
317
+ }
318
+ },
319
+ {
320
+ "id": "Qwen/Qwen3.6-35B-A3B",
321
+ "name": "Qwen3.6 35B (A3B)",
322
+ "reasoning": true,
323
+ "input": [
324
+ "text",
325
+ "image"
326
+ ],
327
+ "cost": {
328
+ "input": 0.29,
329
+ "output": 1.15,
330
+ "cacheRead": 0,
331
+ "cacheWrite": 0
332
+ },
333
+ "contextWindow": 131056,
334
+ "maxTokens": 131056,
335
+ "thinkingLevelMap": {
336
+ "minimal": null,
337
+ "low": "low",
338
+ "medium": "medium",
339
+ "high": "high",
340
+ "xhigh": null
341
+ },
342
+ "compat": {
343
+ "supportsDeveloperRole": false,
344
+ "maxTokensField": "max_tokens",
345
+ "requiresReasoningContentOnAssistantMessages": true
346
+ },
347
+ "vision": {
348
+ "maxImagesPerRequest": 4
349
+ }
350
+ },
351
+ {
352
+ "id": "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-NVFP4",
353
+ "name": "Nemotron 3 Ultra 550B (NVFP4)",
354
+ "reasoning": true,
355
+ "input": [
356
+ "text"
357
+ ],
358
+ "cost": {
359
+ "input": 0.69,
360
+ "output": 4.14,
361
+ "cacheRead": 0.23,
362
+ "cacheWrite": 0
363
+ },
364
+ "contextWindow": 1048560,
365
+ "maxTokens": 1048560,
366
+ "compat": {
367
+ "supportsDeveloperRole": false
368
+ }
369
+ },
199
370
  {
200
371
  "id": "neuralwatt/claude-opus-cached",
201
372
  "name": "Claude Opus (Cached)",
package/models.json CHANGED
@@ -19,25 +19,6 @@
19
19
  "supportsDeveloperRole": false
20
20
  }
21
21
  },
22
- {
23
- "id": "neuralwatt/glm-5.1-long-coherence-canary",
24
- "name": "GLM 5.1 long (coherence canary: keep-recent 48k)",
25
- "reasoning": true,
26
- "input": [
27
- "text"
28
- ],
29
- "cost": {
30
- "input": 1.1,
31
- "output": 3.6,
32
- "cacheRead": 0,
33
- "cacheWrite": 0
34
- },
35
- "contextWindow": 1048560,
36
- "maxTokens": 1048560,
37
- "compat": {
38
- "supportsDeveloperRole": false
39
- }
40
- },
41
22
  {
42
23
  "id": "glm-5-fast",
43
24
  "name": "GLM-5 Fast",
@@ -58,7 +39,7 @@
58
39
  }
59
40
  },
60
41
  {
61
- "id": "zai-org/GLM-5.1-FP8",
42
+ "id": "glm-5.1",
62
43
  "name": "GLM-5.1",
63
44
  "reasoning": true,
64
45
  "input": [
@@ -76,25 +57,6 @@
76
57
  "supportsDeveloperRole": false
77
58
  }
78
59
  },
79
- {
80
- "id": "glm-5.1-flex",
81
- "name": "GLM-5.1 (flex)",
82
- "reasoning": true,
83
- "input": [
84
- "text"
85
- ],
86
- "cost": {
87
- "input": 1.1,
88
- "output": 3.6,
89
- "cacheRead": 0,
90
- "cacheWrite": 0
91
- },
92
- "contextWindow": 202736,
93
- "maxTokens": 202736,
94
- "compat": {
95
- "supportsDeveloperRole": false
96
- }
97
- },
98
60
  {
99
61
  "id": "glm-5.1-fast",
100
62
  "name": "GLM-5.1 Fast",
@@ -114,25 +76,6 @@
114
76
  "supportsDeveloperRole": false
115
77
  }
116
78
  },
117
- {
118
- "id": "neuralwatt/glm-5.1-long",
119
- "name": "GLM-5.1 Long (Virtual Context)",
120
- "reasoning": true,
121
- "input": [
122
- "text"
123
- ],
124
- "cost": {
125
- "input": 1.1,
126
- "output": 3.6,
127
- "cacheRead": 0,
128
- "cacheWrite": 0
129
- },
130
- "contextWindow": 1048560,
131
- "maxTokens": 1048560,
132
- "compat": {
133
- "supportsDeveloperRole": false
134
- }
135
- },
136
79
  {
137
80
  "id": "openai/gpt-oss-20b",
138
81
  "name": "GPT-OSS 20B",
@@ -200,7 +143,7 @@
200
143
  }
201
144
  },
202
145
  {
203
- "id": "moonshotai/Kimi-K2.6",
146
+ "id": "kimi-k2.6",
204
147
  "name": "Kimi K2.6",
205
148
  "reasoning": true,
206
149
  "input": [
@@ -222,29 +165,6 @@
222
165
  "maxImagesPerRequest": 20
223
166
  }
224
167
  },
225
- {
226
- "id": "kimi-k2.6-flex",
227
- "name": "Kimi K2.6 (flex)",
228
- "reasoning": true,
229
- "input": [
230
- "text",
231
- "image"
232
- ],
233
- "cost": {
234
- "input": 0.69,
235
- "output": 3.22,
236
- "cacheRead": 0,
237
- "cacheWrite": 0
238
- },
239
- "contextWindow": 262128,
240
- "maxTokens": 262128,
241
- "compat": {
242
- "supportsDeveloperRole": false
243
- },
244
- "vision": {
245
- "maxImagesPerRequest": 20
246
- }
247
- },
248
168
  {
249
169
  "id": "kimi-k2.6-fast",
250
170
  "name": "Kimi K2.6 Fast",
@@ -268,29 +188,6 @@
268
188
  "maxImagesPerRequest": 20
269
189
  }
270
190
  },
271
- {
272
- "id": "neuralwatt/kimi-k2.6-long",
273
- "name": "Kimi K2.6 Long (Virtual Context)",
274
- "reasoning": true,
275
- "input": [
276
- "text",
277
- "image"
278
- ],
279
- "cost": {
280
- "input": 0.69,
281
- "output": 3.22,
282
- "cacheRead": 0,
283
- "cacheWrite": 0
284
- },
285
- "contextWindow": 1048560,
286
- "maxTokens": 1048560,
287
- "compat": {
288
- "supportsDeveloperRole": false
289
- },
290
- "vision": {
291
- "maxImagesPerRequest": 20
292
- }
293
- },
294
191
  {
295
192
  "id": "MiniMaxAI/MiniMax-M2.5",
296
193
  "name": "MiniMax M2.5",
@@ -311,26 +208,7 @@
311
208
  }
312
209
  },
313
210
  {
314
- "id": "nvidia/NVIDIA-Nemotron-3-Ultra-550B-A55B-NVFP4",
315
- "name": "Nemotron 3 Ultra 550B (NVFP4)",
316
- "reasoning": true,
317
- "input": [
318
- "text"
319
- ],
320
- "cost": {
321
- "input": 0.69,
322
- "output": 4.14,
323
- "cacheRead": 0.23,
324
- "cacheWrite": 0
325
- },
326
- "contextWindow": 1048560,
327
- "maxTokens": 1048560,
328
- "compat": {
329
- "supportsDeveloperRole": false
330
- }
331
- },
332
- {
333
- "id": "Qwen/Qwen3.5-397B-A17B-FP8",
211
+ "id": "qwen3.5-397b",
334
212
  "name": "Qwen3.5 397B",
335
213
  "reasoning": true,
336
214
  "input": [
@@ -368,7 +246,7 @@
368
246
  }
369
247
  },
370
248
  {
371
- "id": "Qwen/Qwen3.6-35B-A3B",
249
+ "id": "qwen3.6-35b",
372
250
  "name": "Qwen3.6 35B",
373
251
  "reasoning": true,
374
252
  "input": [
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "pi-neuralwatt-provider",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "pi-neuralwatt-provider",
9
- "version": "1.0.1",
9
+ "version": "1.0.3",
10
10
  "license": "MIT",
11
11
  "devDependencies": {
12
12
  "knip": "6.14.1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-neuralwatt-provider",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Neuralwatt provider extension for pi - Access Kimi, GLM, Qwen, GPT-OSS, Devstral, and MiniMax models through the Neuralwatt API",
5
5
  "type": "module",
6
6
  "main": "index.ts",
package/patch.json CHANGED
@@ -10,19 +10,6 @@
10
10
  "maxTokensField": "max_tokens"
11
11
  }
12
12
  },
13
- "zai-org/GLM-5.1-FP8": {
14
- "thinkingLevelMap": {
15
- "minimal": null,
16
- "low": "low",
17
- "medium": "medium",
18
- "high": "high",
19
- "xhigh": null
20
- },
21
- "compat": {
22
- "maxTokensField": "max_tokens",
23
- "requiresReasoningContentOnAssistantMessages": true
24
- }
25
- },
26
13
  "glm-5.1-fast": {
27
14
  "compat": {
28
15
  "maxTokensField": "max_tokens"
@@ -59,19 +46,6 @@
59
46
  "maxTokensField": "max_tokens"
60
47
  }
61
48
  },
62
- "moonshotai/Kimi-K2.6": {
63
- "thinkingLevelMap": {
64
- "minimal": null,
65
- "low": "low",
66
- "medium": "medium",
67
- "high": "high",
68
- "xhigh": null
69
- },
70
- "compat": {
71
- "maxTokensField": "max_tokens",
72
- "requiresReasoningContentOnAssistantMessages": true
73
- }
74
- },
75
49
  "kimi-k2.6-fast": {
76
50
  "compat": {
77
51
  "maxTokensField": "max_tokens"
@@ -90,37 +64,11 @@
90
64
  "requiresReasoningContentOnAssistantMessages": true
91
65
  }
92
66
  },
93
- "Qwen/Qwen3.5-397B-A17B-FP8": {
94
- "thinkingLevelMap": {
95
- "minimal": null,
96
- "low": "low",
97
- "medium": "medium",
98
- "high": "high",
99
- "xhigh": null
100
- },
101
- "compat": {
102
- "maxTokensField": "max_tokens",
103
- "requiresReasoningContentOnAssistantMessages": true
104
- }
105
- },
106
67
  "qwen3.5-397b-fast": {
107
68
  "compat": {
108
69
  "maxTokensField": "max_tokens"
109
70
  }
110
71
  },
111
- "Qwen/Qwen3.6-35B-A3B": {
112
- "thinkingLevelMap": {
113
- "minimal": null,
114
- "low": "low",
115
- "medium": "medium",
116
- "high": "high",
117
- "xhigh": null
118
- },
119
- "compat": {
120
- "maxTokensField": "max_tokens",
121
- "requiresReasoningContentOnAssistantMessages": true
122
- }
123
- },
124
72
  "qwen3.6-35b-fast": {
125
73
  "compat": {
126
74
  "maxTokensField": "max_tokens"
@@ -98,6 +98,11 @@ beforeEach(() => {
98
98
  delete process.env.X_NW_CONVERSATION_ID;
99
99
  delete process.env.X_NW_MCR_EXT_VERSION;
100
100
  delete (globalThis as any)[MCR_LOADED_SENTINEL];
101
+ // Chad's v2.4.0 dual-instance guard uses a separate sentinel on globalThis.
102
+ // If we don't clear it, the second test's chadFactory(proxy) call sees the
103
+ // sentinel from the first test and returns early — no handlers, no env-var
104
+ // seeds, no provider registration from Chad's side.
105
+ delete (globalThis as any).__NEURALWATT_MCR_ACTIVE__;
101
106
  try {
102
107
  fs.rmSync(logPath());
103
108
  } catch {
@@ -109,6 +114,7 @@ afterEach(() => {
109
114
  delete process.env.X_NW_CONVERSATION_ID;
110
115
  delete process.env.X_NW_MCR_EXT_VERSION;
111
116
  delete (globalThis as any)[MCR_LOADED_SENTINEL];
117
+ delete (globalThis as any).__NEURALWATT_MCR_ACTIVE__;
112
118
  });
113
119
 
114
120
  describe("provider registration", () => {