@aliou/pi-neuralwatt 0.5.2 → 0.5.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aliou/pi-neuralwatt",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "private": false,
@@ -51,12 +51,10 @@
51
51
  "typescript": "^5.9.3",
52
52
  "vitest": "^4.0.18"
53
53
  },
54
- "peerDependenciesMeta": {
55
- "@earendil-works/pi-coding-agent": {
56
- "optional": true
57
- },
58
- "@earendil-works/pi-tui": {
59
- "optional": true
54
+ "pnpm": {
55
+ "overrides": {
56
+ "@earendil-works/pi-ai": "$@earendil-works/pi-coding-agent",
57
+ "@earendil-works/pi-tui": "$@earendil-works/pi-coding-agent"
60
58
  }
61
59
  },
62
60
  "scripts": {
@@ -68,8 +66,18 @@
68
66
  "gen:schema": "ts-json-schema-generator --path src/config.ts --type NeuralwattConfig --no-type-check -o schema.json",
69
67
  "check:schema": "ts-json-schema-generator --path src/config.ts --type NeuralwattConfig --no-type-check -o /tmp/schema-check.json && diff -q schema.json /tmp/schema-check.json",
70
68
  "check:lockfile": "pnpm install --frozen-lockfile --ignore-scripts",
69
+ "prepare": "[ -d .git ] && husky || true",
71
70
  "changeset": "changeset",
72
71
  "version": "changeset version",
73
72
  "release": "pnpm changeset publish"
73
+ },
74
+ "packageManager": "pnpm@10.26.1",
75
+ "peerDependenciesMeta": {
76
+ "@earendil-works/pi-coding-agent": {
77
+ "optional": true
78
+ },
79
+ "@earendil-works/pi-tui": {
80
+ "optional": true
81
+ }
74
82
  }
75
- }
83
+ }
@@ -4,27 +4,7 @@
4
4
 
5
5
  import type { ProviderModelConfig } from "@earendil-works/pi-coding-agent";
6
6
 
7
- export const NEURALWATT_MODELS: ProviderModelConfig[] = [
8
- // Devstral Small 2 - Mistral
9
- {
10
- id: "mistralai/Devstral-Small-2-24B-Instruct-2512",
11
- name: "Devstral Small 2",
12
- reasoning: false,
13
- input: ["text", "image"],
14
- cost: {
15
- input: 0.12,
16
- output: 0.35,
17
- cacheRead: 0,
18
- cacheWrite: 0,
19
- },
20
- contextWindow: 262128,
21
- maxTokens: 32768,
22
- compat: {
23
- supportsDeveloperRole: false,
24
- maxTokensField: "max_tokens",
25
- requiresAssistantAfterToolResult: true,
26
- },
27
- },
7
+ const CANONICAL_NEURALWATT_MODELS: ProviderModelConfig[] = [
28
8
  // GLM-5 Fast - ZhipuAI
29
9
  {
30
10
  id: "glm-5-fast",
@@ -38,7 +18,7 @@ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
38
18
  cacheWrite: 0,
39
19
  },
40
20
  contextWindow: 202736,
41
- maxTokens: 32768,
21
+ maxTokens: 65536,
42
22
  compat: {
43
23
  supportsDeveloperRole: false,
44
24
  maxTokensField: "max_tokens",
@@ -46,7 +26,7 @@ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
46
26
  },
47
27
  // GLM-5.1 - ZhipuAI
48
28
  {
49
- id: "zai-org/GLM-5.1-FP8",
29
+ id: "glm-5.1",
50
30
  name: "GLM-5.1",
51
31
  reasoning: true,
52
32
  input: ["text"],
@@ -57,7 +37,7 @@ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
57
37
  cacheWrite: 0,
58
38
  },
59
39
  contextWindow: 202736,
60
- maxTokens: 32768,
40
+ maxTokens: 65536,
61
41
  thinkingLevelMap: {
62
42
  minimal: null,
63
43
  low: null,
@@ -84,39 +64,12 @@ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
84
64
  cacheWrite: 0,
85
65
  },
86
66
  contextWindow: 202736,
87
- maxTokens: 32768,
67
+ maxTokens: 65536,
88
68
  compat: {
89
69
  supportsDeveloperRole: false,
90
70
  maxTokensField: "max_tokens",
91
71
  },
92
72
  },
93
- // GPT-OSS 20B - OpenAI
94
- {
95
- id: "openai/gpt-oss-20b",
96
- name: "GPT-OSS 20B",
97
- reasoning: true,
98
- input: ["text"],
99
- cost: {
100
- input: 0.03,
101
- output: 0.16,
102
- cacheRead: 0,
103
- cacheWrite: 0,
104
- },
105
- contextWindow: 16368,
106
- maxTokens: 4096,
107
- thinkingLevelMap: {
108
- minimal: "low",
109
- low: "low",
110
- medium: "medium",
111
- high: "high",
112
- xhigh: null,
113
- },
114
- compat: {
115
- supportsDeveloperRole: false,
116
- maxTokensField: "max_tokens",
117
- requiresReasoningContentOnAssistantMessages: true,
118
- },
119
- },
120
73
  // Kimi K2.5 - MoonshotAI
121
74
  {
122
75
  id: "moonshotai/Kimi-K2.5",
@@ -165,7 +118,7 @@ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
165
118
  },
166
119
  // Kimi K2.6 - MoonshotAI
167
120
  {
168
- id: "moonshotai/Kimi-K2.6",
121
+ id: "kimi-k2.6",
169
122
  name: "Kimi K2.6",
170
123
  reasoning: true,
171
124
  input: ["text", "image"],
@@ -209,36 +162,9 @@ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
209
162
  maxTokensField: "max_tokens",
210
163
  },
211
164
  },
212
- // MiniMax M2.5 - MiniMax
213
- {
214
- id: "MiniMaxAI/MiniMax-M2.5",
215
- name: "MiniMax M2.5",
216
- reasoning: true,
217
- input: ["text"],
218
- cost: {
219
- input: 0.35,
220
- output: 1.38,
221
- cacheRead: 0,
222
- cacheWrite: 0,
223
- },
224
- contextWindow: 196592,
225
- maxTokens: 65536,
226
- thinkingLevelMap: {
227
- minimal: null,
228
- low: null,
229
- medium: "medium",
230
- high: null,
231
- xhigh: null,
232
- },
233
- compat: {
234
- supportsDeveloperRole: false,
235
- maxTokensField: "max_tokens",
236
- requiresReasoningContentOnAssistantMessages: true,
237
- },
238
- },
239
165
  // Qwen3.5 397B - Qwen
240
166
  {
241
- id: "Qwen/Qwen3.5-397B-A17B-FP8",
167
+ id: "qwen3.5-397b",
242
168
  name: "Qwen3.5 397B",
243
169
  reasoning: true,
244
170
  input: ["text"],
@@ -284,7 +210,7 @@ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
284
210
  },
285
211
  // Qwen3.6 35B - Qwen
286
212
  {
287
- id: "Qwen/Qwen3.6-35B-A3B",
213
+ id: "qwen3.6-35b",
288
214
  name: "Qwen3.6 35B",
289
215
  reasoning: true,
290
216
  input: ["text", "image"],
@@ -295,7 +221,7 @@ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
295
221
  cacheWrite: 0,
296
222
  },
297
223
  contextWindow: 131056,
298
- maxTokens: 32768,
224
+ maxTokens: 65536,
299
225
  thinkingLevelMap: {
300
226
  minimal: null,
301
227
  low: null,
@@ -322,10 +248,44 @@ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
322
248
  cacheWrite: 0,
323
249
  },
324
250
  contextWindow: 131056,
325
- maxTokens: 32768,
251
+ maxTokens: 65536,
326
252
  compat: {
327
253
  supportsDeveloperRole: false,
328
254
  maxTokensField: "max_tokens",
329
255
  },
330
256
  },
331
257
  ];
258
+
259
+ const LEGACY_MODEL_ALIAS_MAP = {
260
+ "zai-org/GLM-5.1-FP8": "glm-5.1",
261
+ "moonshotai/Kimi-K2.6": "kimi-k2.6",
262
+ "Qwen/Qwen3.5-397B-A17B-FP8": "qwen3.5-397b",
263
+ "Qwen/Qwen3.6-35B-A3B": "qwen3.6-35b",
264
+ } as const;
265
+
266
+ export const LEGACY_NEURALWATT_MODEL_IDS = new Set<string>(
267
+ Object.keys(LEGACY_MODEL_ALIAS_MAP),
268
+ );
269
+
270
+ const LEGACY_NEURALWATT_MODELS: ProviderModelConfig[] = Object.entries(
271
+ LEGACY_MODEL_ALIAS_MAP,
272
+ ).map(([legacyId, canonicalId]) => {
273
+ const canonical = CANONICAL_NEURALWATT_MODELS.find(
274
+ (model) => model.id === canonicalId,
275
+ );
276
+
277
+ if (!canonical) {
278
+ throw new Error(`Missing canonical model for legacy alias ${legacyId}`);
279
+ }
280
+
281
+ return {
282
+ ...canonical,
283
+ id: legacyId,
284
+ name: `${canonical.name} (legacy ID)`,
285
+ };
286
+ });
287
+
288
+ export const NEURALWATT_MODELS: ProviderModelConfig[] = [
289
+ ...CANONICAL_NEURALWATT_MODELS,
290
+ ...LEGACY_NEURALWATT_MODELS,
291
+ ];