Files
makelore/shared/opencode-provider-id.ts
2026-07-29 17:22:35 +08:00

20 lines
540 B
TypeScript

export type OpencodeProviderAccountLike = {
id: string;
vendorId: string;
};
export function sanitizeOpencodeProviderId(value: string): string {
return value
.trim()
.replace(/[^A-Za-z0-9_-]+/g, '-')
.replace(/^-+|-+$/g, '')
|| 'provider';
}
export function resolveOpencodeProviderId(account: OpencodeProviderAccountLike): string {
if (account.vendorId === 'custom' || account.vendorId === 'ollama') {
return sanitizeOpencodeProviderId(account.id);
}
return sanitizeOpencodeProviderId(account.vendorId);
}