Files
openclaw/src/plugins/setup-descriptors.ts
Peter Steinberger d92b3b5cc2 refactor: unify OpenAI provider identity
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.
2026-05-30 11:48:41 +02:00

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;
}