free-coding-models 0.1.81 → 0.1.82
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/bin/free-coding-models.js +16 -3
- package/package.json +1 -1
- package/sources.js +1 -1
|
@@ -1441,8 +1441,8 @@ const PROVIDER_METADATA = {
|
|
|
1441
1441
|
sambanova: {
|
|
1442
1442
|
label: 'SambaNova',
|
|
1443
1443
|
color: chalk.rgb(255, 165, 0),
|
|
1444
|
-
signupUrl: 'https://sambanova.ai/
|
|
1445
|
-
signupHint: '
|
|
1444
|
+
signupUrl: 'https://cloud.sambanova.ai/apis',
|
|
1445
|
+
signupHint: 'SambaCloud portal → Create API key',
|
|
1446
1446
|
rateLimits: 'Dev tier generous quota',
|
|
1447
1447
|
},
|
|
1448
1448
|
openrouter: {
|
|
@@ -1539,7 +1539,7 @@ const PROVIDER_METADATA = {
|
|
|
1539
1539
|
qwen: {
|
|
1540
1540
|
label: 'Alibaba Cloud (DashScope)',
|
|
1541
1541
|
color: chalk.rgb(255, 140, 0),
|
|
1542
|
-
signupUrl: 'https://
|
|
1542
|
+
signupUrl: 'https://modelstudio.console.alibabacloud.com',
|
|
1543
1543
|
signupHint: 'Model Studio → API Key → Create (1M free tokens, 90 days)',
|
|
1544
1544
|
rateLimits: '1M free tokens per model (Singapore region, 90 days)',
|
|
1545
1545
|
},
|
|
@@ -2806,6 +2806,7 @@ async function main() {
|
|
|
2806
2806
|
settingsCursor: 0, // 📖 Which provider row is selected in settings
|
|
2807
2807
|
settingsEditMode: false, // 📖 Whether we're in inline key editing mode
|
|
2808
2808
|
settingsEditBuffer: '', // 📖 Typed characters for the API key being edited
|
|
2809
|
+
settingsErrorMsg: null, // 📖 Temporary error message to display in settings
|
|
2809
2810
|
settingsTestResults: {}, // 📖 { providerKey: 'pending'|'ok'|'fail'|null }
|
|
2810
2811
|
settingsUpdateState: 'idle', // 📖 'idle'|'checking'|'available'|'up-to-date'|'error'|'installing'
|
|
2811
2812
|
settingsUpdateLatestVersion: null, // 📖 Latest npm version discovered from manual check
|
|
@@ -2902,6 +2903,9 @@ async function main() {
|
|
|
2902
2903
|
|
|
2903
2904
|
lines.push('')
|
|
2904
2905
|
lines.push(` ${chalk.bold('⚙ Settings')} ${chalk.dim('— free-coding-models v' + LOCAL_VERSION)}`)
|
|
2906
|
+
if (state.settingsErrorMsg) {
|
|
2907
|
+
lines.push(` ${chalk.red.bold(state.settingsErrorMsg)}`)
|
|
2908
|
+
}
|
|
2905
2909
|
lines.push('')
|
|
2906
2910
|
lines.push(` ${chalk.bold('🧩 Providers')}`)
|
|
2907
2911
|
lines.push(` ${chalk.dim(' ' + '─'.repeat(112))}`)
|
|
@@ -3942,6 +3946,15 @@ async function main() {
|
|
|
3942
3946
|
const pk = providerKeys[state.settingsCursor]
|
|
3943
3947
|
const newKey = state.settingsEditBuffer.trim()
|
|
3944
3948
|
if (newKey) {
|
|
3949
|
+
// 📖 Validate OpenRouter keys start with "sk-or-" to detect corruption
|
|
3950
|
+
if (pk === 'openrouter' && !newKey.startsWith('sk-or-')) {
|
|
3951
|
+
// 📖 Don't save corrupted keys - show warning and cancel
|
|
3952
|
+
state.settingsEditMode = false
|
|
3953
|
+
state.settingsEditBuffer = ''
|
|
3954
|
+
state.settingsErrorMsg = '⚠️ OpenRouter keys must start with "sk-or-". Key not saved.'
|
|
3955
|
+
setTimeout(() => { state.settingsErrorMsg = null }, 3000)
|
|
3956
|
+
return
|
|
3957
|
+
}
|
|
3945
3958
|
state.config.apiKeys[pk] = newKey
|
|
3946
3959
|
saveConfig(state.config)
|
|
3947
3960
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "free-coding-models",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.82",
|
|
4
4
|
"description": "Find the fastest coding LLM models in seconds — ping free models from multiple providers, pick the best one for OpenCode, Cursor, or any AI coding assistant.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nvidia",
|
package/sources.js
CHANGED
|
@@ -293,7 +293,7 @@ export const perplexity = [
|
|
|
293
293
|
// 📖 Alibaba Cloud (DashScope) source - https://dashscope-intl.aliyuncs.com
|
|
294
294
|
// 📖 OpenAI-compatible endpoint: https://dashscope-intl.aliyuncs.com/compatible-mode/v1
|
|
295
295
|
// 📖 Free tier: 1M tokens per model (Singapore region only), valid for 90 days
|
|
296
|
-
// 📖 Get API key: https://
|
|
296
|
+
// 📖 Get API key: https://modelstudio.console.alibabacloud.com
|
|
297
297
|
// 📖 Env var: DASHSCOPE_API_KEY
|
|
298
298
|
// 📖 Qwen3-Coder models: optimized coding models with excellent SWE-bench scores
|
|
299
299
|
export const qwen = [
|