Commit a914d20
authored
Catalog refactor and security/quality hardening pass (#59)
* feat: add Poolside provider (constant, profile, detection order, env keys)
* feat: wire Groq and Poolside providers end-to-end (config, registry, deployment, onboarding)
* refactor: consolidate version into root version.go with //go:embed VERSION
- Remove broken internal/version/ package (embedding stale 0.1.0 copy)
- Add root version.go with //go:embed VERSION (resolves to root VERSION)
- Revert client/client.go to SetVersion pattern (version set by root init)
- Remove legacy migration code (migrate.go, EnsureDeploymentConfigV2, etc.)
- Add deploymentOwnerProviderID for poolside/groq-direct routing
* fix: update Poolside default base URL to inference.poolside.ai
api.poolside.ai does not resolve — Poolside runs on Baseten
(inference.poolside.ai). Verified with curl that models endpoint
returns available models (laguna-m.1, laguna-xs.2).
* fix: add live fetcher functions for Poolside and Groq
Both providers were missing FetchPoolside and FetchGroq functions
and were not registered in the live.Registry map, causing
'live: unknown fetcher' errors during catalog discovery.
Also updates the parity test assertion from 19 to 21 providers.
* test: add live fetcher tests for Poolside and Groq
Adds mock HTTP server tests, no-key tests, and JSON parsing tests
for both FetchPoolside and FetchGroq, following the same pattern
as existing provider tests (grok, kimi, etc.).
* feat: add ClinePass provider
Adds ClinePass as an OpenAI-compatible provider using the
https://api.cline.bot/api/v1 endpoint with CLINE_API_KEY auth.
Wires through all layers: provider spec, env config, profile,
runtime profile, routing, live fetcher, client registry,
compat config, deployment, and tests.
* fix: set ClinePass probe to ProbeNone, use curated model list
Cline API does not expose a GET /models endpoint, so credential
probing fails with HTTP 404. Changed ProbeKind to ProbeNone (key
is saved without validation). Live fetcher returns a curated
static list of 10 known ClinePass models instead of hitting the
API.
* feat: add Poolside Laguna M.1 free model to ClinePass curated list
* feat: use ClinePass reference pricing, poolside stays free
* fix: add missing legacyDeploymentAndOwner entries for ClinePass, Poolside, Groq, MiniMax
* Catalog refactor and security/quality hardening pass
- Add fuzz CI job for guardrails, message sanitization, and cache-key
fuzz targets
- Catalog v1 spec parsing, provider discovery/refresh, live enrichment,
and deployment routing refactor
- Remove deprecated legacy catalog shim
* Apply gofumpt formatting to satisfy CI format check1 parent 949f6e0 commit a914d20
4 files changed
Lines changed: 38 additions & 4 deletions
File tree
- .github/workflows
- catalog
- live
- registry
- xiaomi
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
248 | 248 | | |
249 | 249 | | |
250 | 250 | | |
251 | | - | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
252 | 273 | | |
253 | 274 | | |
254 | 275 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
621 | 621 | | |
622 | 622 | | |
623 | 623 | | |
624 | | - | |
| 624 | + | |
625 | 625 | | |
626 | 626 | | |
627 | 627 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
177 | | - | |
| 177 | + | |
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
185 | 188 | | |
| 189 | + | |
186 | 190 | | |
187 | 191 | | |
188 | 192 | | |
189 | 193 | | |
190 | 194 | | |
191 | 195 | | |
192 | 196 | | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
193 | 200 | | |
| 201 | + | |
194 | 202 | | |
195 | 203 | | |
196 | 204 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
17 | 22 | | |
18 | 23 | | |
19 | 24 | | |
| |||
65 | 70 | | |
66 | 71 | | |
67 | 72 | | |
68 | | - | |
| 73 | + | |
69 | 74 | | |
70 | 75 | | |
71 | 76 | | |
| |||
0 commit comments