free-coding-models 0.3.54 → 0.3.56

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.
Files changed (73) hide show
  1. package/CHANGELOG.md +47 -49
  2. package/README.md +236 -160
  3. package/bin/free-coding-models.js +46 -0
  4. package/package.json +2 -2
  5. package/sources.js +133 -309
  6. package/src/analysis.js +23 -10
  7. package/src/app.js +113 -7
  8. package/src/cache.js +1 -1
  9. package/src/cli-help.js +9 -0
  10. package/src/command-palette.js +16 -12
  11. package/src/config.js +199 -32
  12. package/src/endpoint-installer.js +45 -1
  13. package/src/favorites.js +22 -0
  14. package/src/graphify-out/cache/089db1c1def873cf6d112f1590da4490e61e691aff0db41e006aa2fb15ba0656.json +1 -0
  15. package/src/graphify-out/cache/0b510b53cf1a1393fb52b1fc3bbbf88b63938e961ec5b82119a2e9715fee8bd7.json +1 -0
  16. package/src/graphify-out/cache/0ec9a95a326bde58e0316889018b278062d06d494d0f31ba177c9de71e5fed2d.json +1 -0
  17. package/src/graphify-out/cache/1548663a24a68dce740ebab1bd1d3091048c9604e9d067a1650a42a6d82541d4.json +1 -0
  18. package/src/graphify-out/cache/1783af63cb6d0dfb4d469009f71ac83a74ba0b33d48186ff2c6e63f9429e900a.json +1 -0
  19. package/src/graphify-out/cache/1e109f5eb5dc4fd285871c3613e32b6b14a8c225f4080ee34b51c7e1a1764571.json +1 -0
  20. package/src/graphify-out/cache/1eb24dbeb69b46c8bc1caf925df2f2a964af0f33aea143adf8ddf88e017db6ca.json +1 -0
  21. package/src/graphify-out/cache/21e1bcfed11685e8347243f9d8516072dda183266a4bfe22c52fb31753a446c8.json +1 -0
  22. package/src/graphify-out/cache/2327473478b9c4b1940bf7ef66c9ee960b3cba8d5302e56b625df8274246e0b4.json +1 -0
  23. package/src/graphify-out/cache/25955b81fd25454c8fa90fb71a47db8d1215cf621beb8ff3cbd580aaf011b4f3.json +1 -0
  24. package/src/graphify-out/cache/2739677f19c702f88f3de0a0bac475066adbda98709907ad3de967aef689f86d.json +1 -0
  25. package/src/graphify-out/cache/2bba03422f6b3ee7f5b5d29cc90314a064d259e5822a176657bda3e04505cf00.json +1 -0
  26. package/src/graphify-out/cache/2ddf1d2c6d10147b0402446bc71a7988187b79b6210dd7e7250be8c555b9ff35.json +1 -0
  27. package/src/graphify-out/cache/2ee07457a5767c95a57f8e9eb95b28f800044f35666e0715e9d88ad1103a092e.json +1 -0
  28. package/src/graphify-out/cache/2fe9f75dc2951c417f2c8dd22749092cf550dc67599f1c8d1866900dc6e9154e.json +1 -0
  29. package/src/graphify-out/cache/41c4b7c27e7fc3e2948d3a4bf95a72de2ed9a6f0463994babdce8ed2cc84598c.json +1 -0
  30. package/src/graphify-out/cache/5028defd54b7fbd3c7e444973e493de036e097e9b1d2a7cae7f19b88d68aacde.json +1 -0
  31. package/src/graphify-out/cache/5b133aba3fb16410c5b1fdbd1730039fc7fa1ac93abd99d7be08f60da70fc8d4.json +1 -0
  32. package/src/graphify-out/cache/74252e5b0978d85ab3421a3de1a9384aa282ffd2be2cfe7db2530139089f4275.json +1 -0
  33. package/src/graphify-out/cache/7695ebeea056095edd14332963cc43354ef3a097caf46f1e28d0f01369642901.json +1 -0
  34. package/src/graphify-out/cache/777aa7085c395a935c6556bbde182cd871edb61f3a685ed8068ec0c8f6fb0075.json +1 -0
  35. package/src/graphify-out/cache/82a723881980e82273c113def8315533d7da28827e300413d9ad30f27b7407df.json +1 -0
  36. package/src/graphify-out/cache/86b87c9603e6cd188f42c7eed3b86c291d48a781c223a707e74f3e7ed0c02a21.json +1 -0
  37. package/src/graphify-out/cache/890fead9a78cadaed560a2d2453916121fa605c3e43a334910ac4bc951a9ef6d.json +1 -0
  38. package/src/graphify-out/cache/89d3ea66f52783caa775ef9a30923d7d6225e1d8ae9e962f4741b8c7785dab1e.json +1 -0
  39. package/src/graphify-out/cache/8cc82cd9edce41f0e1c092f14a94fd52bf847addf3237b616dc5a9e505bd05bd.json +1 -0
  40. package/src/graphify-out/cache/93ba2e25e3ff7ad525f397902345fbd375df7315de7b402e20cc803c14eccde8.json +1 -0
  41. package/src/graphify-out/cache/99beed29580b9c7bfecfee794cb3d8e535fcf0eb3b92113108f88bdd0a8e79b3.json +1 -0
  42. package/src/graphify-out/cache/aeeb931fa477c65ce2e51d8149957350fa54225c613222bbbe8448998d1afd3d.json +1 -0
  43. package/src/graphify-out/cache/baf91bef5b5ecb2a476433b6cc0c48c563c54ee2d07fc3c192e543685e3e7222.json +1 -0
  44. package/src/graphify-out/cache/bd98b94ac4e9b92b6336d47b26e0366b51a4eaf0711d722f05f98dfae23ab42b.json +1 -0
  45. package/src/graphify-out/cache/bfcb51e9328e9cbfbee4f6fee0f56635d7b03488addc9f6c4e4b190b70a73362.json +1 -0
  46. package/src/graphify-out/cache/c0d3dabeb093aa758c49eadf41b87ecc96a16c1449c2670aaf48cbfc891d8da6.json +1 -0
  47. package/src/graphify-out/cache/c20d6630236f473c1406068c3ae205853e649b216495c93dfec055dd222c55cf.json +1 -0
  48. package/src/graphify-out/cache/c22b9122816bebce0a2f79af41a986559d01e00163dbcd579c5755621b4cb483.json +1 -0
  49. package/src/graphify-out/cache/ca556ec14453ddb8f9e0c5a832dac90d77111b9bad5f8c2d80d272e2e7a06371.json +1 -0
  50. package/src/graphify-out/cache/d6dbc9135dfa35a756b3b09b06700e4bc229fdccba11bb963f2ba44028e0bbae.json +1 -0
  51. package/src/graphify-out/cache/e1cf71276f1779d0fa075f79bd7c8a9fd0b8eef6932ac043137451b7c7fa7cbe.json +1 -0
  52. package/src/graphify-out/cache/e4b3be14494467df2d2ed389bc4f18f099021cb5bc355b901fa88387b2d8b8a2.json +1 -0
  53. package/src/graphify-out/cache/eaea0dded097f6f9553b654220046c6ec0c9be592a5973d906564ee60af34e0d.json +1 -0
  54. package/src/graphify-out/cache/ef07d0cd2675d1f79d2a2fdbf3bc3319687638751e9ce89b0d0d97ed1cd9f7e1.json +1 -0
  55. package/src/graphify-out/cache/f81272d6eb8aaff9e96d5a1d9f06777db70ac3652a646b951ded51f79871d733.json +1 -0
  56. package/src/graphify-out/cache/f9619dd92186f75a6dbda937e0c606647153918524cdb5763f956e6ec2a9e386.json +1 -0
  57. package/src/graphify-out/cache/fd88b1b2ff4bfcae08559d9c2aaeeb9a3f1e2f5cd8928762c311196956c170a5.json +1 -0
  58. package/src/key-handler.js +316 -13
  59. package/src/kilo.js +20 -1
  60. package/src/opencode.js +24 -3
  61. package/src/overlays.js +206 -5
  62. package/src/provider-metadata.js +26 -17
  63. package/src/quota-capabilities.js +6 -10
  64. package/src/render-table.js +37 -4
  65. package/src/router-daemon.js +1986 -0
  66. package/src/router-dashboard.js +893 -0
  67. package/src/sync-set.js +479 -0
  68. package/src/theme.js +4 -0
  69. package/src/tool-launchers.js +1 -0
  70. package/src/tool-metadata.js +6 -2
  71. package/src/utils.js +30 -6
  72. package/web/dist/assets/{index-D2ban2S-.js → index-DNRCaWPi.js} +2 -2
  73. package/web/dist/index.html +1 -1
package/CHANGELOG.md CHANGED
@@ -1,55 +1,53 @@
1
- ## [0.3.54] - 2026-04-18
2
-
3
- ### Changed
4
-
5
- - **Improved OpenCode WebUI Launch** — The `--opencode-web` flag now correctly spawns the `opencode web` command, providing a integrated browser-based coding experience with pre-configured model selection.
6
-
7
- ### Added
8
-
9
- - **Kilo CLI Support** — Added `--kilo` flag to launch the Kilo CLI with the selected model. Kilo is a fork of OpenCode and shares the same configuration structure (stored in `~/.config/kilo/opencode.json`).
10
-
11
- ## [0.3.53] - 2026-04-18
1
+ ## [0.3.56] - 2026-05-04
12
2
 
13
3
  ### Added
14
4
 
15
- - **OpenCode WebUI Support** — Added `--opencode-web` flag to open the OpenCode WebUI dashboard after configuring the selected model.
16
-
17
- ## [0.3.52] - 2026-04-18
18
-
19
- ## [0.3.51] - 2026-04-11
5
+ - **Major free-model catalog refresh** — Rebuilt the active catalog to **180 models across 16 vetted free or free-limited providers**.
6
+ - **GitHub Models provider** — Added GitHub Models with 15 API models and `GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_MODELS_TOKEN` support.
7
+ - **Mistral La Plateforme provider** — Added a general Mistral provider for Experiment-plan usage, separate from the existing Codestral shortcut provider for backward compatibility.
8
+ - **OpenRouter live free-model coverage** — Added current free models such as `tencent/hy3-preview:free`, Poolside Laguna, Ling 2.6, Nemotron 3, OpenRouter Free, Owl Alpha, Gemma 4, and LFM free models.
9
+ - **Smart Router Daemon** — Added a local OpenAI-compatible daemon with model failover, health tracking, daemon status, dashboard integration, and router set persistence.
10
+ - **`--sync-set` router discovery** — Added automatic model discovery and live probing for configured providers so router sets can be rebuilt from working models.
11
+ - **Router Dashboard** — Added a local web dashboard for router health, latency heatmaps, failover activity, and quota visibility.
12
+ - **Kilo CLI integration** — Added Kilo as a launch target and endpoint install target.
13
+ - **Discord commit log webhook** — Added `DISCORD_WEBHOOK_URL` support for compact push notifications.
14
+ - **Graphify integration** — Added codebase graph analysis artifacts and tracking support for architecture inspection.
20
15
 
21
16
  ### Changed
22
17
 
23
- - **NVIDIA NIM moved to #1** — Now listed first in README, TUI Settings page, and `D` key filter cycling (per user request). Provider order across all surfaces is now: NVIDIA NIM → Groq → Cerebras → Google AI Studio → Cloudflare → ... → iFlow.
24
-
25
- ### Added
26
-
27
- - **Provider generosity ranking** — README subtitle now includes "ranked by free tier generosity" and the full 25-provider ranking table. This reflects the same order used in the TUI Settings screen and `D` key cycling.
28
-
29
- ### Provider order (as shown in TUI and README)
30
-
31
- 1. NVIDIA NIM (~40 RPM, 46 models)
32
- 2. Groq (30 RPM, 1K-14.4K req/day, 8 models)
33
- 3. Cerebras (30 RPM, 1M tokens/day, 4 models)
34
- 4. Google AI Studio (15-60 RPM, 250-1.5K req/day, 6 models)
35
- 5. Cloudflare Workers AI (10K neurons/day, 15 models)
36
- 6. OpenRouter (50 req/day free, 25 models)
37
- 7. DeepInfra (200 concurrent requests, 4 models)
38
- 8. HuggingFace (~$0.10/month, 2 models)
39
- 9. Perplexity (~50 RPM tiered, 4 models)
40
- 10. SambaNova (generous dev quota, 13 models)
41
- 11. Fireworks AI ($1 credits, 4 models)
42
- 12. Hyperbolic ($1 credits, 13 models)
43
- 13. OVHcloud AI (2 req/min/IP free, 8 models)
44
- 14. Replicate (6 req/min free, 2 models)
45
- 15. Codestral (30 RPM, 2K req/day, 1 model)
46
- 16. ZAI (generous free quota, 7 models)
47
- 17. Scaleway (1M tokens, 10 models)
48
- 18. Alibaba DashScope (1M tokens/90 days, 11 models)
49
- 19. SiliconFlow (100 req/day + $1 credits, 6 models)
50
- 20. Rovo Dev CLI (5M tokens/day, 5 models)
51
- 21. Gemini CLI (1K req/day, 3 models)
52
- 22. Chutes AI (free community GPU, 4 models)
53
- 23. OpenCode Zen (free with account, 7 models)
54
- 24. Together AI (❌ no free tier, 19 models)
55
- 25. iFlow (⚠️ shutting down April 17, 2026, 11 models)
18
+ - **Free-provider policy tightened** — Removed paid-only, trial-credit-only, shutdown, extremely tiny-credit, unclear, and tool-specific providers from the active catalog.
19
+ - **Providers removed from active core** — `iFlow`, `Together AI`, `Perplexity API`, `DeepInfra`, `Replicate`, `Fireworks`, `Hyperbolic`, `Hugging Face`, `SiliconFlow`, `Chutes AI`, and `Rovo` are now documented outside the core free-provider list when useful.
20
+ - **Provider catalogs refreshed** — Updated NVIDIA NIM, OpenRouter, Google AI Studio, Gemini CLI, Cloudflare Workers AI, OVHcloud AI Endpoints, ZAI, SambaNova, Scaleway, Qwen DashScope, and OpenCode Zen model IDs.
21
+ - **SambaNova catalog corrected** — Reduced the provider to the current public model set and restored `DeepSeek-V3.2` after verifying it is present in the live `/v1/models` endpoint.
22
+ - **Google/Gemini IDs corrected** — Replaced stale Gemma-style IDs with current Gemini API model IDs for Google AI Studio and Gemini CLI.
23
+ - **ZAI catalog reduced** — Kept only free Flash models in the active provider list.
24
+ - **Scaleway EOL cleanup** Removed EOL entries from the active Scaleway list and kept only useful current text models.
25
+ - **Codestral key handling normalized** — `MISTRAL_API_KEY` is now the primary environment variable; `CODESTRAL_API_KEY` remains accepted as an alias.
26
+ - **OpenRouter free detection improved** Live OpenRouter discovery now treats zero-priced public models as free even when their ID does not end in `:free`.
27
+ - **Provider filters now derive from the catalog** — Command Palette provider filters are generated from `sources`, so new providers do not need a hardcoded UI update.
28
+ - **Router model set expanded** Default router candidate selection now supports up to 8 models and uses refreshed high-ranking defaults.
29
+ - **External tool configs generalized** — OpenCode and Kilo can now auto-configure newly added OpenAI-compatible providers through shared provider metadata.
30
+
31
+ ### Fixed
32
+
33
+ - **Router upstream hardening** — Fixed unsupported request parameter stripping, retryable failover behavior, content-type canonicalization, and long-stream timeout handling.
34
+ - **Router auth/quota semantics** Router now returns 401/429 when all candidates fail because of auth or quota instead of masking those cases as 503.
35
+ - **OpenRouter sync-set filtering** Router discovery no longer drops `openrouter/free` and `openrouter/owl-alpha` just because their IDs do not end with `:free`.
36
+ - **Provider key probes** — Updated probe model priorities for NVIDIA, SambaNova, GitHub Models, and Mistral to avoid stale or slow first-choice checks.
37
+ - **OpenCode Desktop launcher** Fixed launcher setup for newly added OpenAI-compatible providers such as GitHub Models and Mistral.
38
+ - **pnpm lock conflict** — Regenerated the lockfile from `package.json` to resolve the merge conflict state.
39
+
40
+ ### Docs
41
+
42
+ - **README provider table updated** — Updated badges, provider count, model count, free-tier descriptions, environment variables, audit cleanup notes, and caveats.
43
+ - **Provider inclusion policy documented** — Added explicit notes explaining why Vercel AI Gateway, Cohere, Ollama Cloud, trial-credit providers, and tiny-credit providers are not treated as core free providers.
44
+ - **Other Free AI Resources reorganized** Moved curated external resources to the bottom of the README and separated permanent free tiers from trial-credit providers.
45
+ - **Router PRD and sync-set docs** Added and updated router design notes and `--sync-set` documentation.
46
+ - **Contributors updated** Added new contributor acknowledgements.
47
+
48
+ ### Dependencies
49
+
50
+ - **react** bumped to 19.2.5.
51
+ - **vite** bumped to 8.0.10.
52
+ - **vite-plus** bumped to 0.1.20.
53
+ - **pnpm/action-setup** bumped to 6.