ask-llm-providers 0.12.3 → 0.13.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/README.md +8 -7
- data/lib/ask/llm/models/commandcode.json +1476 -0
- data/lib/ask/llm/openai_compatible.rb +3 -0
- data/lib/ask/llm/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: eb3302be5ae8d8f06b099977ea396982deeb89b6d80838197eabbca2264ba3ea
|
|
4
|
+
data.tar.gz: 543ded04571baad5263bfd721a5cb4b5fffc7733d4bcafaa29368563f4b48e92
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 43225bc5e3a0ce765d61cc8143f72539779c5cd7b459891d414045f7be2207978387cafa18d1568bae222968cf69fd4b8bf3af14053483c33b45c6460b53b7f4
|
|
7
|
+
data.tar.gz: 429242e279e722113022e0b8bc6519e31076d0c379fabdb0a76a154e5a6b2fa388a0301b6ffeddbcd678f0f905362ce3770a1385a11124ac509b58326d4796fa
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [0.13.1] — 2026-09-05
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
- **Command Code catalog now matches the live API.** The `/models` listing serves namespaced IDs (`xiaomi/mimo-v2.5`, `Qwen/Qwen3.8-27B`, `deepseek/deepseek-v4-flash`, …) rather than the short names from the plan's config snapshot; the earlier entry's IDs were rejected with "Model not supported on this endpoint". Catalog regenerated from the provider's `/models` response (67 models, capabilities kept conservative).
|
|
6
|
+
|
|
7
|
+
## [0.13.0] — 2026-09-05
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **Command Code provider entry + models.** `commandcode` in the OpenAI-compatible registry (`https://api.commandcode.ai/provider/v1`, env `COMMANDCODE_API_KEY`) plus catalog models: mimo-v2.5, mimo-v2.5-pro, deepseek/deepseek-v4-flash, deepseek/deepseek-v4-pro, qwen/qwen3.8-27b, claude-sonnet-4-6, and gpt-5.6-luna (flat-rate, riding the user's Command Code plan).
|
|
12
|
+
|
|
1
13
|
## [0.11.1] — 2026-08-07
|
|
2
14
|
|
|
3
15
|
### Added
|
data/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
All LLM providers for the ask-rb ecosystem in one gem. Implements the
|
|
4
4
|
`Ask::Provider` interface from `ask-core` with a capabilities-based interface:
|
|
5
|
-
7 canonical provider classes plus
|
|
5
|
+
7 canonical provider classes plus 27 OpenAI-compatible registry entries,
|
|
6
6
|
a bundled model catalog, and cost calculation. Providers auto-register and
|
|
7
7
|
the model catalog auto-loads when the gem is required.
|
|
8
8
|
|
|
@@ -39,25 +39,26 @@ model.capabilities # => ["chat", "streaming", "tool_calls", ...]
|
|
|
39
39
|
| Ollama (local) | none needed |
|
|
40
40
|
| Mistral AI | `Ask::Auth.resolve(:mistral_api_key)` (env `MISTRAL_API_KEY`) |
|
|
41
41
|
| Cloudflare Workers AI | `Ask::Auth.resolve(:cloudflare_api_key)` (env `CLOUDFLARE_API_KEY`) |
|
|
42
|
-
|
|
|
42
|
+
| 27 OpenAI-compatible | per-provider `*_API_KEY` env var (e.g. `DEEPSEEK_API_KEY`, `GROQ_API_KEY`, `OPENROUTER_API_KEY`) |
|
|
43
43
|
|
|
44
44
|
Credentials resolve through `Ask::Auth` in order: environment variables,
|
|
45
45
|
`~/.ask/credentials.yml`, Rails credentials, then database and OAuth
|
|
46
46
|
providers. Keys are read via `Ask::Auth.resolve(:<name>_api_key)`.
|
|
47
47
|
|
|
48
|
-
The
|
|
48
|
+
The 27 OpenAI-compatible entries are registered from
|
|
49
49
|
`Ask::LLM::OPENAI_COMPATIBLE`: DeepSeek, Groq, Together, Fireworks, Cerebras,
|
|
50
50
|
xAI, Perplexity, DeepInfra, Anyscale, SambaNova, Nebius, Nvidia NIM, Friendli,
|
|
51
51
|
Hyperbolic, Novita, Nscale, Featherless, AI/ML API, AI21, Meta, GitHub Models,
|
|
52
|
-
OpenRouter, OpenCode, OpenCode Go, Mimo, and
|
|
52
|
+
OpenRouter, OpenCode, OpenCode Go, Mimo, Moonshot, and Command Code. Each uses its own
|
|
53
53
|
`*_API_KEY` env var; note that `opencode_go` uses `OPENCODE_GO_API_KEY` (its
|
|
54
54
|
own key, not `OPENCODE_API_KEY`).
|
|
55
55
|
|
|
56
56
|
## Model Catalog
|
|
57
57
|
|
|
58
58
|
The gem bundles model metadata (capabilities, pricing, context windows,
|
|
59
|
-
modalities) as JSON for
|
|
60
|
-
bedrock, deepseek, mistral, perplexity, xai, meta, moonshot,
|
|
59
|
+
modalities) as JSON for 16 providers: openai, anthropic, gemini, vertex_ai,
|
|
60
|
+
bedrock, deepseek, mistral, perplexity, xai, meta, moonshot, nvidia_nim,
|
|
61
|
+
github_copilot, openai_codex, opencode, and commandcode,
|
|
61
62
|
with 400+ models in total.
|
|
62
63
|
|
|
63
64
|
```ruby
|
|
@@ -72,7 +73,7 @@ Ask::ModelCatalog.refresh! # fetch latest from models.dev
|
|
|
72
73
|
| API | Purpose |
|
|
73
74
|
|---|---|
|
|
74
75
|
| `Ask::Providers::OpenAI/Anthropic/Google/Bedrock/Ollama/Mistral/Cloudflare` | Canonical provider classes |
|
|
75
|
-
| `Ask::LLM::OPENAI_COMPATIBLE` | Registry data for the
|
|
76
|
+
| `Ask::LLM::OPENAI_COMPATIBLE` | Registry data for the 27 compatible providers |
|
|
76
77
|
| `Ask::LLM::Catalog.load!` / `refresh!` | Load bundled + user model data into `Ask::ModelCatalog` |
|
|
77
78
|
| `Ask::LLM::Aliases.resolve("claude-sonnet-4")` | Short-name to canonical model ID resolution |
|
|
78
79
|
| `Ask::LLM::CostCalculator.calculate(model, input_tokens:, output_tokens:)` | USD cost from model pricing |
|