Commit Graph
7 Commits
Author SHA1 Message Date
aakashb95andClaude Opus 4.6 73cecdbc26 fix: refresh and persist RubyLLM model registry on initialization
RubyLLM uses a static bundled models.json as its model registry. New
models released by providers (e.g., gpt-5.1, gpt-5.2) are not available
until the gem is updated, causing ModelNotFoundError for self-hosted
users who configure newer models.

Refresh the model registry synchronously during Llm::Config.initialize!
to fetch the latest model list from configured providers and models.dev,
then persist with save_to_json. This runs once per process on the first
LLM request, adding ~1-2s to that request. Falls back gracefully to the
bundled registry on failure.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-18 13:35:02 +05:30
aakashb95andClaude Opus 4.6 d11e058db2 fix: refresh and persist RubyLLM model registry on initialization
RubyLLM uses a static bundled models.json as its model registry. New
models released by providers (e.g., gpt-5.1, gpt-5.2) are not available
until the gem is updated, causing ModelNotFoundError for self-hosted
users who configure newer models.

Refresh the model registry asynchronously via a background thread during
Llm::Config.initialize! to fetch the latest model list from configured
providers and models.dev, then persist with save_to_json. The bundled
registry is available immediately; the refresh updates it in the
background without blocking the first LLM request.

Use double-checked locking with a mutex to prevent concurrent threads
from spawning duplicate refresh operations.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 22:36:14 +05:30
aakashb95andClaude Opus 4.6 f4900f45d5 fix: refresh and persist RubyLLM model registry on initialization
RubyLLM uses a static bundled models.json file as its model registry.
New models released by providers (e.g., gpt-5.1, gpt-5.2) are not
available until the gem is updated. This causes ModelNotFoundError
for self-hosted users who configure newer models.

Call RubyLLM.models.refresh! during Llm::Config.initialize! to fetch
the latest model list from configured providers and models.dev. Persist
the result with save_to_json to tmp/ruby_llm_models.json so subsequent
processes load from disk instead of making HTTP calls. The file has a
1-hour TTL to balance freshness with performance.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 21:38:30 +05:30
6a482926b4 feat: new Captain Editor (#13235)
Co-authored-by: Aakash Bakhle <48802744+aakashb95@users.noreply.github.com>
Co-authored-by: Vishnu Narayanan <iamwishnu@gmail.com>
Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
Co-authored-by: iamsivin <iamsivin@gmail.com>
Co-authored-by: aakashb95 <aakashbakhle@gmail.com>
2026-01-21 13:39:07 +05:30
34b42a1ce1 feat: add global config for captain settings (#13141)
Co-authored-by: aakashb95 <aakashbakhle@gmail.com>
Co-authored-by: Aakash Bakhle <48802744+aakashb95@users.noreply.github.com>
2026-01-12 19:54:19 +05:30
eed2eaceb0 feat: Migrate ruby llm captain (#12981)
Co-authored-by: aakashb95 <aakash@chatwoot.com>
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2025-12-04 18:26:10 +05:30
87fe1e9ad7 feat: migrate editor to ruby-llm (#12961)
Co-authored-by: aakashb95 <aakash@chatwoot.com>
Co-authored-by: Shivam Mishra <scm.mymail@gmail.com>
2025-12-04 12:51:35 +05:30