free-coding-models 0.1.33 β†’ 0.1.34

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.
@@ -425,7 +425,7 @@ function renderTable(results, pendingPings, frame, cursor = null, sortColumn = '
425
425
  const sweH = sortColumn === 'swe' ? dir + ' SWE%' : 'SWE%'
426
426
  const pingH = sortColumn === 'ping' ? dir + ' Latest Ping' : 'Latest Ping'
427
427
  const avgH = sortColumn === 'avg' ? dir + ' Avg Ping' : 'Avg Ping'
428
- const conditionH = sortColumn === 'condition' ? dir + ' Condition' : 'Condition'
428
+ const healthH = sortColumn === 'condition' ? dir + ' Health' : 'Health'
429
429
  const verdictH = sortColumn === 'verdict' ? dir + ' Verdict' : 'Verdict'
430
430
  const uptimeH = sortColumn === 'uptime' ? dir + ' Up%' : 'Up%'
431
431
 
@@ -447,12 +447,12 @@ function renderTable(results, pendingPings, frame, cursor = null, sortColumn = '
447
447
  const sweH_c = sortColumn === 'swe' ? chalk.bold.cyan(sweH.padEnd(W_SWE)) : colorFirst(sweH, W_SWE)
448
448
  const pingH_c = sortColumn === 'ping' ? chalk.bold.cyan(pingH.padEnd(W_PING)) : colorFirst('Latest Ping', W_PING)
449
449
  const avgH_c = sortColumn === 'avg' ? chalk.bold.cyan(avgH.padEnd(W_AVG)) : colorFirst('Avg Ping', W_AVG)
450
- const conditionH_c = sortColumn === 'condition' ? chalk.bold.cyan(conditionH.padEnd(W_STATUS)) : colorFirst('Condition', W_STATUS)
450
+ const healthH_c = sortColumn === 'condition' ? chalk.bold.cyan(healthH.padEnd(W_STATUS)) : colorFirst('Health', W_STATUS)
451
451
  const verdictH_c = sortColumn === 'verdict' ? chalk.bold.cyan(verdictH.padEnd(W_VERDICT)) : colorFirst(verdictH, W_VERDICT)
452
452
  const uptimeH_c = sortColumn === 'uptime' ? chalk.bold.cyan(uptimeH.padStart(W_UPTIME)) : colorFirst(uptimeH, W_UPTIME, chalk.green)
453
453
 
454
454
  // πŸ“– Header with proper spacing
455
- lines.push(' ' + rankH_c + ' ' + tierH_c + ' ' + originH_c + ' ' + modelH_c + ' ' + sweH_c + ' ' + pingH_c + ' ' + avgH_c + ' ' + conditionH_c + ' ' + verdictH_c + ' ' + uptimeH_c)
455
+ lines.push(' ' + rankH_c + ' ' + tierH_c + ' ' + originH_c + ' ' + modelH_c + ' ' + sweH_c + ' ' + pingH_c + ' ' + avgH_c + ' ' + healthH_c + ' ' + verdictH_c + ' ' + uptimeH_c)
456
456
 
457
457
  // πŸ“– Separator line
458
458
  lines.push(
@@ -621,7 +621,7 @@ function renderTable(results, pendingPings, frame, cursor = null, sortColumn = '
621
621
  : mode === 'opencode-desktop'
622
622
  ? chalk.rgb(0, 200, 255)('Enterβ†’OpenDesktop')
623
623
  : chalk.rgb(0, 200, 255)('Enterβ†’OpenCode')
624
- lines.push(chalk.dim(` ↑↓ Navigate β€’ `) + actionHint + chalk.dim(` β€’ R/T/O/M/L/A/S/C/V/U Sort β€’ W↓/X↑ Interval (${intervalSec}s) β€’ T Tier β€’ Z Mode β€’ Ctrl+C Exit`))
624
+ lines.push(chalk.dim(` ↑↓ Navigate β€’ `) + actionHint + chalk.dim(` β€’ R/T/O/M/L/A/S/H/V/U Sort β€’ W↓/X↑ Interval (${intervalSec}s) β€’ T Tier β€’ Z Mode β€’ Ctrl+C Exit`))
625
625
  lines.push('')
626
626
  lines.push(chalk.dim(' Made with ') + 'πŸ’– & β˜•' + chalk.dim(' by ') + '\x1b]8;;https://github.com/vava-nessa\x1b\\vava-nessa\x1b]8;;\x1b\\' + chalk.dim(' β€’ ') + 'πŸ’¬ ' + chalk.cyanBright('\x1b]8;;https://discord.gg/WKA3TwYVuZ\x1b\\Join Free-Coding-Models Discord!\x1b]8;;\x1b\\') + chalk.dim(' β€’ ') + '⭐ ' + '\x1b]8;;https://github.com/vava-nessa/free-coding-models\x1b\\Read the docs on GitHub\x1b]8;;\x1b\\')
627
627
  lines.push('')
@@ -1194,10 +1194,10 @@ async function main() {
1194
1194
  const onKeyPress = async (str, key) => {
1195
1195
  if (!key) return
1196
1196
 
1197
- // πŸ“– Sorting keys: R=rank, T=tier, O=origin, M=model, L=latest ping, A=avg ping, S=SWE-bench, C=condition, V=verdict, U=uptime
1197
+ // πŸ“– Sorting keys: R=rank, T=tier, O=origin, M=model, L=latest ping, A=avg ping, S=SWE-bench, H=health, V=verdict, U=uptime
1198
1198
  const sortKeys = {
1199
1199
  'r': 'rank', 't': 'tier', 'o': 'origin', 'm': 'model',
1200
- 'l': 'ping', 'a': 'avg', 's': 'swe', 'c': 'condition', 'v': 'verdict', 'u': 'uptime'
1200
+ 'l': 'ping', 'a': 'avg', 's': 'swe', 'h': 'condition', 'v': 'verdict', 'u': 'uptime'
1201
1201
  }
1202
1202
 
1203
1203
  if (sortKeys[key.name]) {
package/lib/utils.js CHANGED
@@ -129,16 +129,16 @@ export const getUptime = (r) => {
129
129
  // πŸ“– Returns a NEW array β€” never mutates the original (important for React-style re-renders).
130
130
  //
131
131
  // πŸ“– Supported columns (matching the keyboard shortcuts in the TUI):
132
- // - 'rank' (R key) β€” original index from sources.js
133
- // - 'tier' (T key) β€” tier hierarchy (S+ first, C last)
134
- // - 'origin' (O key) β€” provider name (all NIM for now, future-proofed)
135
- // - 'model' (M key) β€” alphabetical by display label
136
- // - 'ping' (L key) β€” last ping latency (only successful ones count)
137
- // - 'avg' (A key) β€” average latency across all successful pings
138
- // - 'swe' (S key) β€” SWE-bench score (higher is better)
139
- // - 'condition'(C key) β€” alphabetical condition string
140
- // - 'verdict' (V key) β€” verdict order (Perfect β†’ Pending)
141
- // - 'uptime' (U key) β€” uptime percentage
132
+ // - 'rank' (R key) β€” original index from sources.js
133
+ // - 'tier' (T key) β€” tier hierarchy (S+ first, C last)
134
+ // - 'origin' (O key) β€” provider name (all NIM for now, future-proofed)
135
+ // - 'model' (M key) β€” alphabetical by display label
136
+ // - 'ping' (L key) β€” last ping latency (only successful ones count)
137
+ // - 'avg' (A key) β€” average latency across all successful pings
138
+ // - 'swe' (S key) β€” SWE-bench score (higher is better)
139
+ // - 'condition' (H key) β€” health status (alphabetical)
140
+ // - 'verdict' (V key) β€” verdict order (Perfect β†’ Pending)
141
+ // - 'uptime' (U key) β€” uptime percentage
142
142
  //
143
143
  // πŸ“– sortDirection 'asc' = ascending (smallest first), 'desc' = descending (largest first)
144
144
  export const sortResults = (results, sortColumn, sortDirection) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "free-coding-models",
3
- "version": "0.1.33",
3
+ "version": "0.1.34",
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",