Skip to content

feat(api): expose provider plugin manifest - #6001

Merged
diegosouzapw merged 15 commits into
diegosouzapw:release/v3.8.44from
KooshaPari:koosha/provider-manifest-surface
Jul 3, 2026
Merged

diegosouzapw merged 15 commits into
diegosouzapw:release/v3.8.44from
KooshaPari:koosha/provider-manifest-surface

Conversation

@KooshaPari

Copy link
Copy Markdown
Contributor

Summary

Exposes the provider plugin manifest over a read-only HTTP endpoint for out-of-process sidecars.

What changed

  • Adds GET /api/v1/provider-plugin-manifest.
  • Adds CORS preflight support for the endpoint.
  • Documents the endpoint in the provider plugin manifest reference and API reference.
  • Adds unit coverage for response shape, JSON safety, and preflight headers.

Why

Bifrost, CLIProxyAPI, and future native sidecars should not need to import TypeScript executor internals. This gives them a stable machine-readable surface for provider plugin metadata while preserving the existing TS registry as source of truth.

Validation

  • node --import tsx --test --test-force-exit tests/unit/api/v1/provider-plugin-manifest-route.test.ts tests/unit/provider-plugin-manifest.test.ts
  • npm run check:doc-links
  • git diff --check

@KooshaPari
KooshaPari requested a review from diegosouzapw as a code owner July 2, 2026 23:03
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

diegosouzapw and others added 4 commits July 3, 2026 01:22
…it + promote-script tweak

Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>
Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>
…-red)

Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>
@diegosouzapw
diegosouzapw merged commit 6bce788 into diegosouzapw:release/v3.8.44 Jul 3, 2026
2 of 3 checks passed
KooshaPari added a commit to KooshaPari/OmniRoute that referenced this pull request Jul 3, 2026
Expose a read-only provider plugin manifest at
GET /api/v1/provider-plugin-manifest so out-of-process sidecars and
relays can discover provider metadata (models, executor kind, auth
mode, endpoints) as a stable plugin contract, without importing
executor/OAuth/header code.

- open-sse/config/providerPluginManifest.ts: pure manifest builder over
  the provider REGISTRY (no secrets, no dynamic functions exported)
- providerPluginManifestRegistry.ts: generateProviderPluginManifest()
- providerPluginManifestUrl.ts: manifest URL/header resolution
- src/app/api/v1/provider-plugin-manifest/route.ts: GET + CORS OPTIONS
- docs + stryker config + 9 unit tests

Port of diegosouzapw#6001.
@diegosouzapw diegosouzapw mentioned this pull request Jul 4, 2026
@KooshaPari
KooshaPari deleted the koosha/provider-manifest-surface branch August 13, 2026 06:54
tkgo11 pushed a commit to tkgo11/OmniRoute that referenced this pull request Sep 23, 2026
* feat(api): expose provider plugin manifest

* test(translator): split responses chat request coverage

* test(mutation): register provider coverage tests

* feat(api): expose provider plugin manifest

* fix(ci): fail closed for prerelease latest promotion

* chore(ci): reconcile provider manifest complexity gate

* feat(api): expose provider plugin manifest

* test(translator): split responses chat request coverage

* test(mutation): register provider coverage tests

* fix(ci): fail closed for prerelease latest promotion

* chore: rebase onto release tip; drop out-of-scope translator test split + promote-script tweak

Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>

* docs(changelog): add provider plugin manifest entry

Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>

* chore(stryker): register account-fallback-retry-after-json test (base-red)

Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>

---------

Co-authored-by: kooshapari <kooshapari@users.noreply.github.com>
Co-authored-by: Diego Rodrigues de Sa e Souza <diegosouza.pw@outlook.com>
Co-authored-by: diegosouzapw <diegosouza.pw@gmail.com>
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.

2 participants