@compilr-dev/sdk 0.31.1 → 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.
@@ -220,8 +220,8 @@ export const MODEL_REGISTRY = [
220
220
  // OpenAI Models
221
221
  // ---------------------------------------------------------------------------
222
222
  {
223
- id: 'gpt-5.2-2025-12-11',
224
- displayName: 'GPT-5.2',
223
+ id: 'gpt-6-astra',
224
+ displayName: 'GPT-6 Astra',
225
225
  description: 'Most capable',
226
226
  provider: 'openai',
227
227
  supportsImages: true,
@@ -229,12 +229,12 @@ export const MODEL_REGISTRY = [
229
229
  defaultTier: 'powerful',
230
230
  thinkingFormat: 'none',
231
231
  status: 'supported',
232
- contextWindow: 400000,
233
- notes: 'Latest generation',
232
+ contextWindow: 1050000,
233
+ notes: 'Responses API only (tools + reasoning); max output 128,000; $10/$50 per MTok',
234
234
  },
235
235
  {
236
- id: 'gpt-4o',
237
- displayName: 'GPT-4o',
236
+ id: 'gpt-6-sol',
237
+ displayName: 'GPT-6 Sol',
238
238
  description: 'Balanced (recommended)',
239
239
  provider: 'openai',
240
240
  supportsImages: true,
@@ -242,11 +242,12 @@ export const MODEL_REGISTRY = [
242
242
  defaultTier: 'balanced',
243
243
  thinkingFormat: 'none',
244
244
  status: 'supported',
245
- contextWindow: 128000,
245
+ contextWindow: 1050000,
246
+ notes: 'Coding and agentic work; max output 128,000; $2/$10 per MTok',
246
247
  },
247
248
  {
248
- id: 'gpt-4o-mini',
249
- displayName: 'GPT-4o Mini',
249
+ id: 'gpt-6-luna',
250
+ displayName: 'GPT-6 Luna',
250
251
  description: 'Fast, low cost',
251
252
  provider: 'openai',
252
253
  supportsImages: true,
@@ -254,29 +255,20 @@ export const MODEL_REGISTRY = [
254
255
  defaultTier: 'fast',
255
256
  thinkingFormat: 'none',
256
257
  status: 'supported',
257
- contextWindow: 128000,
258
- },
259
- {
260
- id: 'gpt-5-mini-2025-08-07',
261
- displayName: 'GPT-5 Mini',
262
- description: 'Balanced, latest generation',
263
- provider: 'openai',
264
- supportsImages: true,
265
- supportsTools: true,
266
- thinkingFormat: 'none',
267
- status: 'supported',
268
- contextWindow: 400000,
258
+ contextWindow: 1050000,
259
+ notes: 'High volume; max output 128,000; $0.10/$0.50 per MTok',
269
260
  },
270
261
  {
271
- id: 'gpt-5-nano-2025-08-07',
272
- displayName: 'GPT-5 Nano',
273
- description: 'Fast, latest generation',
262
+ id: 'gpt-5.5',
263
+ displayName: 'GPT-5.5',
264
+ description: 'Previous generation',
274
265
  provider: 'openai',
275
266
  supportsImages: true,
276
267
  supportsTools: true,
277
268
  thinkingFormat: 'none',
278
269
  status: 'supported',
279
270
  contextWindow: 400000,
271
+ notes: 'Legacy — the last OpenAI generation that calls tools on Chat Completions',
280
272
  },
281
273
  // ---------------------------------------------------------------------------
282
274
  // Ollama Models (Local)
@@ -605,7 +597,9 @@ export function modelSupportsImages(modelId) {
605
597
  const id = modelId.toLowerCase();
606
598
  if (id.includes('claude') || id.includes('gemini'))
607
599
  return true;
608
- if (/gpt-4o|gpt-4-turbo|gpt-4\.1|gpt-5/.test(id))
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))
609
603
  return true;
610
604
  return false;
611
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
- if (modelId.includes('gpt-5'))
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
- result[provider] = firstModel?.id ?? 'gpt-4o';
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.31.1",
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.6.11",
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"