@compilr-dev/cli 0.9.2 → 0.10.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.
Binary file
@@ -78,17 +78,17 @@ async function validateOpenAIModel(modelId) {
78
78
  };
79
79
  }
80
80
  try {
81
- const response = await fetch('https://api.openai.com/v1/chat/completions', {
82
- method: 'POST',
83
- headers: {
84
- 'Content-Type': 'application/json',
85
- 'Authorization': `Bearer ${apiKey}`,
86
- },
87
- body: JSON.stringify({
88
- model: modelId,
89
- max_tokens: 1,
90
- messages: [{ role: 'user', content: 'hi' }],
91
- }),
81
+ /*
82
+ ⚠️ ASK WHETHER THE MODEL EXISTS — do not send it a message.
83
+ This used to POST to /v1/chat/completions with `max_tokens: 1`, which made the REQUEST
84
+ BODY part of the test. Every current OpenAI model then failed validation: gpt-6-* and
85
+ gpt-5.x reject `max_tokens` outright ("use 'max_completion_tokens'"), and the Sol/Luna
86
+ generation answers on /v1/responses anyway. Measured 2026-09-30: gpt-6-sol, gpt-6-astra
87
+ and gpt-5.5 all returned 400 here while GET /v1/models/<id> returned 200; only the
88
+ retired gpt-4o passed. A GET carries no body, so it cannot go stale as the API evolves.
89
+ */
90
+ const response = await fetch(`https://api.openai.com/v1/models/${encodeURIComponent(modelId)}`, {
91
+ headers: { Authorization: `Bearer ${apiKey}` },
92
92
  signal: AbortSignal.timeout(15000),
93
93
  });
94
94
  if (response.ok) {
@@ -42,15 +42,22 @@ const MODEL_TIERS = {
42
42
  'claude-3-5-haiku': { tier: 'medium', provider: 'anthropic', suggestedUpgrade: 'claude-sonnet-5-5' },
43
43
  'claude-3-haiku': { tier: 'medium', provider: 'anthropic', suggestedUpgrade: 'claude-sonnet-5-5' },
44
44
  // OpenAI - GPT-5 series (current)
45
+ // ⚠️ Unknown ids fall to 'medium', and /design, /arch, /refine, /scaffold need 'large' — a
46
+ // missing current model tells its user to "upgrade" to an older one. Add new ids here; the
47
+ // registry-coverage guard in tests/utils/model-tiers.test.ts fails if one is forgotten.
48
+ 'gpt-6-astra': { tier: 'large', provider: 'openai' },
49
+ 'gpt-6-sol': { tier: 'large', provider: 'openai' },
50
+ 'gpt-6-luna': { tier: 'medium', provider: 'openai', suggestedUpgrade: 'gpt-6-sol' },
51
+ 'gpt-5.5': { tier: 'large', provider: 'openai' },
45
52
  'gpt-5.2': { tier: 'large', provider: 'openai' },
46
53
  'gpt-5-mini': { tier: 'large', provider: 'openai' },
47
- 'gpt-5-nano': { tier: 'medium', provider: 'openai', suggestedUpgrade: 'gpt-5-mini-2025-08-07' },
54
+ 'gpt-5-nano': { tier: 'medium', provider: 'openai', suggestedUpgrade: 'gpt-6-sol' },
48
55
  // OpenAI legacy (for backward compatibility)
49
56
  'gpt-4o': { tier: 'large', provider: 'openai' },
50
57
  'gpt-4-turbo': { tier: 'large', provider: 'openai' },
51
58
  'gpt-4': { tier: 'large', provider: 'openai' },
52
- 'gpt-4o-mini': { tier: 'medium', provider: 'openai', suggestedUpgrade: 'gpt-5-mini-2025-08-07' },
53
- 'gpt-3.5-turbo': { tier: 'small', provider: 'openai', suggestedUpgrade: 'gpt-5-nano-2025-08-07' },
59
+ 'gpt-4o-mini': { tier: 'medium', provider: 'openai', suggestedUpgrade: 'gpt-6-sol' },
60
+ 'gpt-3.5-turbo': { tier: 'small', provider: 'openai', suggestedUpgrade: 'gpt-6-luna' },
54
61
  'o1': { tier: 'large', provider: 'openai' },
55
62
  'o1-mini': { tier: 'medium', provider: 'openai', suggestedUpgrade: 'o1' },
56
63
  'o3': { tier: 'large', provider: 'openai' },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compilr-dev/cli",
3
- "version": "0.9.2",
3
+ "version": "0.10.0",
4
4
  "description": "AI-powered coding assistant CLI using @compilr-dev/agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -60,7 +60,7 @@
60
60
  "@compilr-dev/editor-core": "^0.0.3",
61
61
  "@compilr-dev/factory": "^0.1.35",
62
62
  "@compilr-dev/logger": "^0.1.0",
63
- "@compilr-dev/sdk": "^0.31.1",
63
+ "@compilr-dev/sdk": "^0.32.0",
64
64
  "@compilr-dev/ui-core": "^0.0.1",
65
65
  "@modelcontextprotocol/sdk": "^1.23.0",
66
66
  "ansi-escapes": "^7.3.0",
@@ -79,8 +79,8 @@
79
79
  "minimatch": ">=10.2.1",
80
80
  "hono": ">=4.13.5",
81
81
  "@hono/node-server": ">=2.0.5",
82
- "fast-uri": ">=3.1.6 <4",
83
- "ip-address": ">=10.3.1",
82
+ "fast-uri": ">=3.1.8 <4",
83
+ "ip-address": ">=10.7.1",
84
84
  "qs": ">=6.16.0"
85
85
  },
86
86
  "devDependencies": {