free-coding-models 0.5.22 → 0.5.23
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.
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Changelog v0.5.23 - 2026-06-10
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
- **Critical SyntaxError crash on startup** in `src/tui/render-table.js`: `speedCell` and `moodCell` were declared twice in the same scope (lines 855–856 vs 866–867), causing the published 0.5.22 CLI to fail with `SyntaxError: Identifier 'speedCell' has already been declared` before the TUI could render. Removed the dead first declarations; the badge-aware declarations are now the only ones in scope.
|
|
5
|
+
- **Missing `NEW_MODELS` import** in `src/tui/render-table.js`: the NEW (🆕) badge check added in 0.5.22 was reading from `NEW_MODELS` without importing it. Exported the set from `src/core/utils.js` and imported it correctly in the renderer.
|
|
6
|
+
- **Stale renderTable unit test** regex that assumed the old `🟩 Perfect` verdict format. Updated to match the new `🟩✨ Perfect` (sparkle emoji) format introduced in 0.5.22.
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
- Bumped package version to `0.5.23`.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "free-coding-models",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.23",
|
|
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/src/core/utils.js
CHANGED
|
@@ -115,7 +115,7 @@ export const getAvg = (r) => {
|
|
|
115
115
|
//
|
|
116
116
|
// 📖 The "wasUpBefore" check is key — it distinguishes between a model that's
|
|
117
117
|
// temporarily flaky vs one that was never reachable in the first place.
|
|
118
|
-
const NEW_MODELS = new Set([
|
|
118
|
+
export const NEW_MODELS = new Set([
|
|
119
119
|
'nvidia/nemotron-3-ultra-550b-a55b',
|
|
120
120
|
'@cf/meta/llama-3.2-90b-instruct',
|
|
121
121
|
'@cf/mistralai/mistral-7b-instruct-v0.2',
|
package/src/tui/render-table.js
CHANGED
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
} from '../core/constants.js'
|
|
50
50
|
import { themeColors, currentPalette, getProviderRgb, getTierRgb, getReadableTextRgb, getTheme, THEME_BG_RGB } from './theme.js'
|
|
51
51
|
import { TIER_COLOR } from './tier-colors.js'
|
|
52
|
-
import { getAvg, getVerdict, getUptime, getStabilityScore, getVersionStatusInfo } from '../core/utils.js'
|
|
52
|
+
import { getAvg, getVerdict, getUptime, getStabilityScore, getVersionStatusInfo, NEW_MODELS } from '../core/utils.js'
|
|
53
53
|
import { usagePlaceholderForProvider } from '../core/ping.js'
|
|
54
54
|
import { formatBenchmarkLatency, formatBenchmarkTps } from '../core/benchmark.js'
|
|
55
55
|
import { calculateViewport, sortResultsWithPinnedFavorites, padEndDisplay, displayWidth, stripAnsi, fadedRow } from './render-helpers.js'
|
|
@@ -851,20 +851,13 @@ export function renderTable({
|
|
|
851
851
|
verdictColor = (text) => chalk.bold.rgb(...getTierRgb('C'))(text)
|
|
852
852
|
break
|
|
853
853
|
}
|
|
854
|
-
// 📖 Use padEndDisplay to account for emoji display width (2 cols each) so all rows align
|
|
855
|
-
const speedCell = verdictColor(padEndDisplay(verdictText, W_VERDICT))
|
|
856
|
-
const moodCell = padEndDisplay(verdictIcon, W_MOOD)
|
|
857
|
-
|
|
858
854
|
// 📖 Add NEW badge for recently added models
|
|
855
|
+
// 📖 Use padEndDisplay to account for emoji display width (2 cols each) so all rows align
|
|
859
856
|
const isNewModel = NEW_MODELS.has(r.modelId) || NEW_MODELS.has(`${r.providerKey}/${r.modelId}`)
|
|
860
857
|
const newBadge = isNewModel ? '🆕' : ''
|
|
861
858
|
const verdictTextWithBadge = newBadge ? `${newBadge} ${verdictText}` : verdictText
|
|
862
|
-
const
|
|
863
|
-
const
|
|
864
|
-
|
|
865
|
-
// 📖 Use the version with badge for display
|
|
866
|
-
const speedCell = speedCellWithBadge
|
|
867
|
-
const moodCell = moodCellWithBadge
|
|
859
|
+
const speedCell = verdictColor(padEndDisplay(verdictTextWithBadge, W_VERDICT))
|
|
860
|
+
const moodCell = padEndDisplay(verdictIcon, W_MOOD)
|
|
868
861
|
|
|
869
862
|
// 📖 Stability column - composite score (0–100) from p95 + jitter + spikes + uptime
|
|
870
863
|
// 📖 Left-aligned to sit flush under the column header
|