@compilr-dev/cli 0.9.2 → 0.10.1
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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,28 +42,38 @@ 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-
|
|
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-
|
|
53
|
-
'gpt-3.5-turbo': { tier: 'small', provider: 'openai', suggestedUpgrade: 'gpt-
|
|
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' },
|
|
57
64
|
'o4-mini': { tier: 'medium', provider: 'openai', suggestedUpgrade: 'o3' },
|
|
58
65
|
// Google (Gemini) - 3.x series (current)
|
|
59
|
-
'gemini-3-
|
|
60
|
-
'gemini-3-flash': { tier: 'large', provider: 'google' },
|
|
61
|
-
'gemini-
|
|
66
|
+
'gemini-3.8-flash': { tier: 'large', provider: 'google' },
|
|
67
|
+
'gemini-3.5-flash': { tier: 'large', provider: 'google' },
|
|
68
|
+
'gemini-3.5-flash-lite': { tier: 'medium', provider: 'google', suggestedUpgrade: 'gemini-3.5-flash' },
|
|
69
|
+
'gemini-3.1-pro-preview': { tier: 'large', provider: 'google' },
|
|
70
|
+
'gemini-3.1-flash-lite': { tier: 'medium', provider: 'google', suggestedUpgrade: 'gemini-3.5-flash' },
|
|
71
|
+
'gemini-2.5-flash-lite': { tier: 'medium', provider: 'google', suggestedUpgrade: 'gemini-3.5-flash' },
|
|
62
72
|
// Gemini legacy (for backward compatibility)
|
|
63
73
|
'gemini-2.5-pro': { tier: 'large', provider: 'google' },
|
|
64
|
-
'gemini-2.5-flash': { tier: 'medium', provider: 'google', suggestedUpgrade: 'gemini-3-flash
|
|
74
|
+
'gemini-2.5-flash': { tier: 'medium', provider: 'google', suggestedUpgrade: 'gemini-3.5-flash' },
|
|
65
75
|
'gemini-1.5-pro': { tier: 'large', provider: 'google' },
|
|
66
|
-
'gemini-1.5-flash': { tier: 'medium', provider: 'google', suggestedUpgrade: 'gemini-3-flash
|
|
76
|
+
'gemini-1.5-flash': { tier: 'medium', provider: 'google', suggestedUpgrade: 'gemini-3.5-flash' },
|
|
67
77
|
// Ollama / Local models (common ones)
|
|
68
78
|
'llama3.3:70b': { tier: 'large', provider: 'ollama' },
|
|
69
79
|
'llama3.3': { tier: 'large', provider: 'ollama' },
|
|
@@ -77,6 +87,12 @@ const MODEL_TIERS = {
|
|
|
77
87
|
'deepseek-coder': { tier: 'medium', provider: 'ollama' },
|
|
78
88
|
'deepseek-coder:33b': { tier: 'large', provider: 'ollama' },
|
|
79
89
|
'qwen2.5-coder': { tier: 'medium', provider: 'ollama' },
|
|
90
|
+
// Registered in the SDK but missing here until 2026-09-30, so all four resolved to
|
|
91
|
+
// {tier:'medium', provider:'unknown'} — found by the registry sweep in the tests.
|
|
92
|
+
'qwen2.5:7b': { tier: 'medium', provider: 'ollama', suggestedUpgrade: 'qwen2.5:32b' },
|
|
93
|
+
'qwen2.5:32b': { tier: 'large', provider: 'ollama' },
|
|
94
|
+
'deepseek-r1:14b': { tier: 'medium', provider: 'ollama', suggestedUpgrade: 'deepseek-r1:32b' },
|
|
95
|
+
'deepseek-r1:32b': { tier: 'large', provider: 'ollama' },
|
|
80
96
|
};
|
|
81
97
|
// =============================================================================
|
|
82
98
|
// Functions
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@compilr-dev/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
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.
|
|
63
|
+
"@compilr-dev/sdk": "^0.33.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.
|
|
83
|
-
"ip-address": ">=10.
|
|
82
|
+
"fast-uri": ">=3.1.8 <4",
|
|
83
|
+
"ip-address": ">=10.7.1",
|
|
84
84
|
"qs": ">=6.16.0"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|