Upstream refactored all providers from static code to a plugin/extension
architecture. This merge resolves conflicts by:
1. **Creates extensions/avian/** — full plugin extension following the
Together/Venice/Qianfan pattern, with openclaw.plugin.json manifest,
provider-catalog.ts (static model catalog), onboard.ts (config helpers),
index.ts (plugin entry). This replaces the now-deleted
onboard-provider-auth-flags.ts, onboard-auth.config-core.ts, and
onboard-auth.ts Avian entries.
2. **Adds avian to bundled-provider-auth-env-vars.generated.ts** — registers
AVIAN_API_KEY in the manifest-driven env var system (previously was in
the flat PROVIDER_ENV_API_KEY_CANDIDATES map).
3. **Removes buildAvianProvider from models-config.providers.ts** — implicit
provider loading now happens via the extension catalog.run, matching how
Together, Venice, Qianfan, etc. work post-refactor.
4. **Removes Avian from old auth-choice static lists** — auth choices, preferred
provider map, and non-interactive API key providers are now driven by the
extension manifest (providerAuthChoices) and resolveManifestProvider* helpers.
5. **Fixes remaining review issues** — reasoning: true on Kimi K2.5 (matches
Together AI catalog), uses AVIAN_DEFAULT_MODEL_ID / AVIAN_DEFAULT_CONTEXT_WINDOW /
AVIAN_DEFAULT_MAX_TOKENS constants in provider-catalog.ts rather than
hardcoded values.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>