Skip to content

feat: allow per-format auth_type override for openai:embedding and openai:rerank#626

Draft
Kayphoon wants to merge 3 commits into
fawney19:mainfrom
Kayphoon:feat/openai-embedding-auth-override
Draft

feat: allow per-format auth_type override for openai:embedding and openai:rerank#626
Kayphoon wants to merge 3 commits into
fawney19:mainfrom
Kayphoon:feat/openai-embedding-auth-override

Conversation

@Kayphoon

@Kayphoon Kayphoon commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Allow per-format auth_type override (bearer / api_key) for openai:embedding and openai:rerank formats, matching the existing behavior for claude:messages.

Previously, all openai-family formats were hardcoded to always send Authorization: Bearer (via resolve_local_openai_bearer_auth), and the frontend blocked the auth override UI for all openai formats. This caused issues with providers like ModelScope that expect x-api-key instead of Authorization: Bearer.

Changes

  • Backend (conversion.rs): Route openai:embedding and openai:rerank through resolve_local_standard_auth (same as claude:messages and the same-format path), so auth_type_by_format overrides are respected.
  • Frontend (api-format.ts): Relax formatSupportsAuthOverride to show the bearer/api_key radio buttons for openai:embedding and openai:rerank.
  • Tests (auth.rs): Add tests for standard_auth with openai:embedding auth_type_by_format override.

Verification

  • All 75 auth tests pass, all 11 conversion tests pass, all 20 same-format tests pass
  • Gateway compiles cleanly
  • Frontend TypeScript check passes

…enai:rerank

Previously, all openai-family formats were hardcoded to use
resolve_local_openai_bearer_auth (always sends Authorization: Bearer),
and the frontend blocked auth_type override UI for all openai formats.

This change:
- Routes openai:embedding and openai:rerank through resolve_local_standard_auth
  in the conversion path (same as claude:messages and the same-format path),
  so auth_type_by_format overrides (bearer/api_key) are respected.
- Relaxes formatSupportsAuthOverride in the frontend to show the
  bearer/api_key radio buttons for openai:embedding and openai:rerank.
- Adds tests for standard_auth with openai:embedding auth_type_by_format.
@Kayphoon Kayphoon force-pushed the feat/openai-embedding-auth-override branch from 17aff26 to 567926f Compare June 4, 2026 07:46
Kayphoon added 2 commits June 4, 2026 21:26
…_free providers

- Add opencode_free transport module with ULID header injection (no auth)
- Add kilo_free transport module with Bearer 'free' auth
- Add OpenCodeFreeProviderPoolAdapter and KiloFreeProviderPoolAdapter
- Register both adapters in builtin service pool
- Add FixedProviderTemplate for both providers
- Add kilo_free model fetch strategy (StandardTransport)
- Register opencode_free and kilo_free in frontend ProviderType union
- 423 tests pass across 3 crates, frontend typecheck clean
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant