Repository navigation
feat(sidecar): add provider manifest client - #6042
KooshaPari wants to merge 5 commits into
Conversation
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
0434ff1 to
210728d
Compare
Port upstream diegosouzapw#6042. Adds an HTTP client for the read-only provider plugin manifest so sidecars/relays discover providers over the network instead of hard-coding the /api/v1/provider-plugin-manifest route. - resolveProviderPluginManifestUrl: explicit manifestUrl > OMNIROUTE_PROVIDER_MANIFEST_URL env > baseUrl > local API default - fetchProviderPluginManifest: fetch + schemaVersion 1 validation - getProviderPluginManifestEntryForModelFromManifest / fetchProviderPluginManifestEntryForModel: model->provider lookup by prefix, alias, or model id Excludes branch-drift noise from the upstream diff (translator responses test rename, should-promote-latest.sh CI tweak) unrelated to the sidecar client.
210728d to
99ac656
Compare
|
Superseded by replay PR #6083 on |
|
Thanks @KooshaPari. The manifest-client idea is aligned with the sidecar/native-router roadmap, but this PR duplicates work already merged in #6001: on |
|
🔀 Cycle moved: base retargeted to |
10e6ae4 to
1d7146d
Compare
|
Thanks for this — a couple of things before it's mergeable. First, providerPluginManifestClient.ts doesn't have any caller yet in the codebase (external sidecars like Bifrost/CLIProxyAPI would hit the HTTP endpoint directly, not import a TS module), so right now it's scaffolding for the #6044 migration plan rather than something in active use — let's track it there instead of merging speculatively. Second, this diff also carries unrelated changes to CoolingConnectionsPanel.tsx (import source + component swap), HomePageClient.tsx, a DAST test, and the complexity baseline that have nothing to do with the sidecar manifest client — please rebase and drop those so the PR stays scoped to its stated purpose. Closing for now — happy to revisit once #6044 is agreed and this has a real consumer; feel free to re-open a focused version referencing that plan. |
Summary
Adds a reusable provider plugin manifest HTTP client for sidecars and backend adapters.
What changed
open-sse/config/providerPluginManifestClient.tswith URL resolution and schemaVersion 1 fetch validation.OMNIROUTE_PROVIDER_MANIFEST_URL, explicit manifest URL, explicit OmniRoute base URL, and local API fallback.Why
Bifrost, CLIProxyAPI, and future native sidecars should consume provider metadata through a stable HTTP manifest contract instead of importing TypeScript provider registry internals. This is an incremental step toward moving provider execution behind a Go/native sidecar while preserving the current TypeScript backend and fallback behavior.
Depends on #6001 for the
GET /api/v1/provider-plugin-manifestendpoint.Validation
node --import file:///C:/Users/koosh/omniroute-pr-sidecar-manifest-header/node_modules/tsx/dist/loader.mjs --test --test-force-exit tests/unit/provider-plugin-manifest-client.test.ts tests/unit/api/v1/provider-plugin-manifest-route.test.ts tests/unit/provider-plugin-manifest.test.tsnpm run check:doc-linksgit diff --check