mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-04 02:34:05 +00:00
Refactor OpenAI provider identity so OpenAI remains the canonical provider for API-key and OAuth-backed flows while legacy openai-codex state is doctor/migration-only. Keeps OpenAI Codex Responses as an API/transport class rather than a provider identity, moves auth aliases through providerAuthAliases, updates doctor repair sequencing for old auth/profile state, and refreshes tests/docs around the canonical OpenAI behavior.
21 lines
895 B
TypeScript
21 lines
895 B
TypeScript
import { normalizeProviderId } from "../agents/provider-id.js";
|
|
import type { PluginManifestRecord } from "./manifest-registry.js";
|
|
|
|
type SetupDescriptorRecord = Pick<
|
|
PluginManifestRecord,
|
|
"providers" | "cliBackends" | "providerAuthAliases" | "setup"
|
|
>;
|
|
|
|
export function listSetupProviderIds(record: SetupDescriptorRecord): readonly string[] {
|
|
const providerIds = record.setup?.providers?.map((entry) => entry.id) ?? record.providers;
|
|
const normalizedProviderIds = new Set(providerIds.map(normalizeProviderId));
|
|
const aliases = Object.entries(record.providerAuthAliases ?? {})
|
|
.filter(([, target]) => normalizedProviderIds.has(normalizeProviderId(target)))
|
|
.map(([alias]) => alias);
|
|
return [...providerIds, ...aliases];
|
|
}
|
|
|
|
export function listSetupCliBackendIds(record: SetupDescriptorRecord): readonly string[] {
|
|
return record.setup?.cliBackends ?? record.cliBackends;
|
|
}
|