@compilr-dev/sdk 0.31.0 → 0.32.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/dist/models/model-registry.js +34 -38
- package/dist/models/model-tiers.js +5 -2
- package/dist/models.js +2 -1
- package/package.json +2 -2
|
@@ -34,8 +34,8 @@ export const MODEL_REGISTRY = [
|
|
|
34
34
|
contextWindow: 200000,
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
|
-
id: 'claude-sonnet-5',
|
|
38
|
-
displayName: 'Sonnet 5',
|
|
37
|
+
id: 'claude-sonnet-5-5',
|
|
38
|
+
displayName: 'Sonnet 5.5',
|
|
39
39
|
description: 'Balanced (recommended)',
|
|
40
40
|
provider: 'claude',
|
|
41
41
|
supportsImages: true,
|
|
@@ -44,6 +44,7 @@ export const MODEL_REGISTRY = [
|
|
|
44
44
|
thinkingFormat: 'claude',
|
|
45
45
|
status: 'supported',
|
|
46
46
|
contextWindow: 1000000,
|
|
47
|
+
notes: 'Adaptive thinking (default effort high); $2/$10 per MTok, same as Sonnet 5',
|
|
47
48
|
},
|
|
48
49
|
{
|
|
49
50
|
id: 'claude-opus-5-5',
|
|
@@ -71,6 +72,18 @@ export const MODEL_REGISTRY = [
|
|
|
71
72
|
notes: 'Flagship: adaptive thinking always on; premium pricing ($10/$50 per MTok)',
|
|
72
73
|
},
|
|
73
74
|
// Legacy Claude models (still supported)
|
|
75
|
+
{
|
|
76
|
+
id: 'claude-sonnet-5',
|
|
77
|
+
displayName: 'Sonnet 5',
|
|
78
|
+
description: 'Previous generation',
|
|
79
|
+
provider: 'claude',
|
|
80
|
+
supportsImages: true,
|
|
81
|
+
supportsTools: true,
|
|
82
|
+
thinkingFormat: 'claude',
|
|
83
|
+
status: 'supported',
|
|
84
|
+
contextWindow: 1000000,
|
|
85
|
+
notes: 'Legacy — consider upgrading to Sonnet 5.5 (same price)',
|
|
86
|
+
},
|
|
74
87
|
{
|
|
75
88
|
id: 'claude-opus-5',
|
|
76
89
|
displayName: 'Opus 5',
|
|
@@ -147,17 +160,6 @@ export const MODEL_REGISTRY = [
|
|
|
147
160
|
// Gemini Models (Google)
|
|
148
161
|
// ---------------------------------------------------------------------------
|
|
149
162
|
// Gemini 2.x - Supported
|
|
150
|
-
{
|
|
151
|
-
id: 'gemini-2.0-flash',
|
|
152
|
-
displayName: 'Gemini 2.0 Flash',
|
|
153
|
-
description: 'Fast, no thinking',
|
|
154
|
-
provider: 'gemini',
|
|
155
|
-
supportsImages: true,
|
|
156
|
-
thinkingFormat: 'none',
|
|
157
|
-
status: 'supported',
|
|
158
|
-
contextWindow: 1000000,
|
|
159
|
-
notes: 'Fast, no thinking blocks',
|
|
160
|
-
},
|
|
161
163
|
{
|
|
162
164
|
id: 'gemini-2.5-flash-lite',
|
|
163
165
|
displayName: 'Gemini 2.5 Flash Lite',
|
|
@@ -218,8 +220,8 @@ export const MODEL_REGISTRY = [
|
|
|
218
220
|
// OpenAI Models
|
|
219
221
|
// ---------------------------------------------------------------------------
|
|
220
222
|
{
|
|
221
|
-
id: 'gpt-
|
|
222
|
-
displayName: 'GPT-
|
|
223
|
+
id: 'gpt-6-astra',
|
|
224
|
+
displayName: 'GPT-6 Astra',
|
|
223
225
|
description: 'Most capable',
|
|
224
226
|
provider: 'openai',
|
|
225
227
|
supportsImages: true,
|
|
@@ -227,12 +229,12 @@ export const MODEL_REGISTRY = [
|
|
|
227
229
|
defaultTier: 'powerful',
|
|
228
230
|
thinkingFormat: 'none',
|
|
229
231
|
status: 'supported',
|
|
230
|
-
contextWindow:
|
|
231
|
-
notes: '
|
|
232
|
+
contextWindow: 1050000,
|
|
233
|
+
notes: 'Responses API only (tools + reasoning); max output 128,000; $10/$50 per MTok',
|
|
232
234
|
},
|
|
233
235
|
{
|
|
234
|
-
id: 'gpt-
|
|
235
|
-
displayName: 'GPT-
|
|
236
|
+
id: 'gpt-6-sol',
|
|
237
|
+
displayName: 'GPT-6 Sol',
|
|
236
238
|
description: 'Balanced (recommended)',
|
|
237
239
|
provider: 'openai',
|
|
238
240
|
supportsImages: true,
|
|
@@ -240,11 +242,12 @@ export const MODEL_REGISTRY = [
|
|
|
240
242
|
defaultTier: 'balanced',
|
|
241
243
|
thinkingFormat: 'none',
|
|
242
244
|
status: 'supported',
|
|
243
|
-
contextWindow:
|
|
245
|
+
contextWindow: 1050000,
|
|
246
|
+
notes: 'Coding and agentic work; max output 128,000; $2/$10 per MTok',
|
|
244
247
|
},
|
|
245
248
|
{
|
|
246
|
-
id: 'gpt-
|
|
247
|
-
displayName: 'GPT-
|
|
249
|
+
id: 'gpt-6-luna',
|
|
250
|
+
displayName: 'GPT-6 Luna',
|
|
248
251
|
description: 'Fast, low cost',
|
|
249
252
|
provider: 'openai',
|
|
250
253
|
supportsImages: true,
|
|
@@ -252,29 +255,20 @@ export const MODEL_REGISTRY = [
|
|
|
252
255
|
defaultTier: 'fast',
|
|
253
256
|
thinkingFormat: 'none',
|
|
254
257
|
status: 'supported',
|
|
255
|
-
contextWindow:
|
|
258
|
+
contextWindow: 1050000,
|
|
259
|
+
notes: 'High volume; max output 128,000; $0.10/$0.50 per MTok',
|
|
256
260
|
},
|
|
257
261
|
{
|
|
258
|
-
id: 'gpt-5
|
|
259
|
-
displayName: 'GPT-5
|
|
260
|
-
description: '
|
|
261
|
-
provider: 'openai',
|
|
262
|
-
supportsImages: true,
|
|
263
|
-
supportsTools: true,
|
|
264
|
-
thinkingFormat: 'none',
|
|
265
|
-
status: 'supported',
|
|
266
|
-
contextWindow: 400000,
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
id: 'gpt-5-nano-2025-08-07',
|
|
270
|
-
displayName: 'GPT-5 Nano',
|
|
271
|
-
description: 'Fast, latest generation',
|
|
262
|
+
id: 'gpt-5.5',
|
|
263
|
+
displayName: 'GPT-5.5',
|
|
264
|
+
description: 'Previous generation',
|
|
272
265
|
provider: 'openai',
|
|
273
266
|
supportsImages: true,
|
|
274
267
|
supportsTools: true,
|
|
275
268
|
thinkingFormat: 'none',
|
|
276
269
|
status: 'supported',
|
|
277
270
|
contextWindow: 400000,
|
|
271
|
+
notes: 'Legacy — the last OpenAI generation that calls tools on Chat Completions',
|
|
278
272
|
},
|
|
279
273
|
// ---------------------------------------------------------------------------
|
|
280
274
|
// Ollama Models (Local)
|
|
@@ -603,7 +597,9 @@ export function modelSupportsImages(modelId) {
|
|
|
603
597
|
const id = modelId.toLowerCase();
|
|
604
598
|
if (id.includes('claude') || id.includes('gemini'))
|
|
605
599
|
return true;
|
|
606
|
-
|
|
600
|
+
// ⚠️ Generation-agnostic: a `gpt-\d` check dated to gpt-5 would answer FALSE for gpt-6 and
|
|
601
|
+
// silently disable image input on a model that has it (measured: gpt-6-sol read a PNG).
|
|
602
|
+
if (/gpt-4o|gpt-4-turbo|gpt-4\.1|gpt-[5-9]|gpt-\d{2}/.test(id))
|
|
607
603
|
return true;
|
|
608
604
|
return false;
|
|
609
605
|
}
|
|
@@ -68,10 +68,13 @@ export function getShortModelName(modelId) {
|
|
|
68
68
|
return 'Opus';
|
|
69
69
|
if (modelId.includes('claude-fable'))
|
|
70
70
|
return 'Fable';
|
|
71
|
-
|
|
72
|
-
return 'GPT-5';
|
|
71
|
+
// ⚠️ gpt-4o before the generic pattern, which would otherwise render it "GPT-4".
|
|
73
72
|
if (modelId.includes('gpt-4o'))
|
|
74
73
|
return 'GPT-4o';
|
|
74
|
+
// Generation-agnostic, so a future gpt-7 needs no edit here.
|
|
75
|
+
const gpt = /gpt-(\d+(?:\.\d+)?)/.exec(modelId);
|
|
76
|
+
if (gpt)
|
|
77
|
+
return `GPT-${gpt[1]}`;
|
|
75
78
|
if (modelId.includes('gemini-3'))
|
|
76
79
|
return 'Gemini 3';
|
|
77
80
|
if (modelId.includes('gemini-2.5'))
|
package/dist/models.js
CHANGED
|
@@ -31,7 +31,8 @@ export const DEFAULT_MODELS = (() => {
|
|
|
31
31
|
else {
|
|
32
32
|
// Fallback: first supported model for this provider, or a sensible default
|
|
33
33
|
const firstModel = MODEL_REGISTRY.find((m) => m.provider === provider && m.status === 'supported');
|
|
34
|
-
|
|
34
|
+
// Fallback only when the registry has no model at all for the provider; gpt-4o is gone.
|
|
35
|
+
result[provider] = firstModel?.id ?? 'gpt-6-sol';
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
return result;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@compilr-dev/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Universal agent runtime for building AI-powered applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"node": ">=20.0.0"
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
|
-
"@compilr-dev/agents": "^0.
|
|
84
|
+
"@compilr-dev/agents": "^0.7.0",
|
|
85
85
|
"@compilr-dev/logger": "^0.1.0",
|
|
86
86
|
"ajv": "^6.14.0",
|
|
87
87
|
"yaml": "^2.8.4"
|