feat(providers): add Yolo-Auto compatible host - #6408
harryvgiunta wants to merge 1 commit into
Conversation
|
Thanks @harryvgiunta for taking the time to contribute. This repository is observing a maintainer-managed PR intake gate in dry-run mode, so this pull request is staying open. This note helps maintainers prepare the allowlist before any enforcement is considered. Please read |
d1112ad to
f0805c3
Compare
|
Gate acknowledged. Rebased onto current |
Yolo-Auto is a flat-rate OpenAI Chat Completions gateway, so it is a data-driven descriptor row rather than a ProviderKind variant: the wire is ordinary Chat Completions and offerings come from live GET /v1/models. The row ships endpoint, credential env, and a bootstrap model only, which is the same shape every other compatible host uses. Model ids stay out of the compiled catalog by design. Billing: the gateway sells subscription tiers and publishes no per-token catalog, so the route classifies as Unknown and is recorded in the reviewed omission inventory rather than guessed into a plan surface. Compatible-default breadth moves 7 -> 8.
f0805c3 to
26de52a
Compare
Summary
Adds Yolo-Auto as a data-driven compatible-host descriptor. Yolo-Auto is a flat-rate OpenAI Chat Completions gateway, so no
ProviderKindvariant is needed — the wire is ordinary Chat Completions (see #6289 for the wire survey this follows).The row ships endpoint, credential env (
YOLO_AUTO_API_KEY), and a bootstrap model (yolo) only, withdiscovery: models_endpointand no compiled roster — the same shape every other compatible host uses. Model ids stay out of the compiled catalog by design.Billing: the gateway sells flat-rate subscription tiers and publishes no per-token catalog, so
billing_surface_for_routeclassifies the routeUnknown(theApiProvider::Custompath). The route is recorded in the reviewed-omission inventory underunknown_billing_basiswith an explicit note that a source review of the billing basis is owed, rather than guessed intosubscriptionorlocal-no-bill. Compatible-default breadth moves 7 → 8, covered by the existing breadth test. Docs: one row in the known-good hosts table indocs/PROVIDERS.md.No new layer: this is one descriptor row, one inventory entry, one docs row, one count update. No behavior changes.
Testing
cargo fmt --all -- --check— clean.python scripts/check-provider-registry.py— passed.cargo test -p codewhale-config --lib descriptors— passed (2 tests).cargo test -p codewhale-tui --lib pricing::default_coverage_tests— passed (1 test).cargo test -p codewhale-tui --lib -- picker_lists_all_providers setup— passed (241 tests), covering the picker/setup surfaces that consumebundled_provider_descriptors().cargo clippy -p codewhale-config -p codewhale-tui --all-targets --all-features --lockedwith the CI allow list — the config crate is clean. The tui run reports 29 errors; none are in files this PR touches (all four changed files are JSON/data plus one--libtest count), and they are all newer-lint findings on pre-existing code (collapsible_match,nonminimal_bool,needless_returnunder clippy 1.95). Not introduced here; CI pins the toolchain and is authoritative.Platform caveats, stated plainly:
codewhale-tuitest binary (ld: cannot find -lshlwapi, missing mingw import lib; CI is MSVC). The tui test runs above used an empty stub archive on-Lto get past the link step only; compilation and all 242 assertions are real.unfulfilled_lint_expectationserrors under[workspace.lints.rust] warnings = "deny"reproduce identically on pristinemainwith rustc 1.95.0 — they pre-date this change. The local test runs temporarily usedwarnings = "warn";Cargo.tomlis untouched in the diff.Checklist
check-provider-registry.pyand the config crate's descriptor tests