blob: e7a590f9a2b8ac2688547cd5fdaf07a509f04b74 [file]
import { CATALOG_PROVIDER_TYPES, PROVIDER_DEFAULTS, providerAuthSupportsApiKey } from '@maka/core';
import type { OnboardableProvider } from './pi-tui-contracts.js';
export function listApiKeyOnboardableProviders(): OnboardableProvider[] {
return CATALOG_PROVIDER_TYPES.filter((providerType) => providerAuthSupportsApiKey(providerType))
.map((providerType) => {
const definition = PROVIDER_DEFAULTS[providerType];
return {
providerType,
label: definition.label,
authKind: definition.authKind as 'api_key' | 'optional_api_key',
requiresBaseUrl: !definition.baseUrl,
fallbackModels: definition.fallbackModels,
};
})
.filter((provider) => !provider.requiresBaseUrl);
}