@ai-sdk/provider
Version:
36 lines (30 loc) • 1.11 kB
text/typescript
import type { SharedV4ProviderReference } from '../shared/v4/shared-v4-provider-reference';
import { AISDKError } from './ai-sdk-error';
const name = 'AI_NoSuchProviderReferenceError';
const marker = `vercel.ai.error.${name}`;
const symbol = Symbol.for(marker);
/**
* Thrown when a provider reference cannot be resolved because the specified
* provider is not found in the provider reference mapping.
*/
export class NoSuchProviderReferenceError extends AISDKError {
private readonly [symbol] = true; // used in isInstance
readonly provider: string;
readonly reference: SharedV4ProviderReference;
constructor({
provider,
reference,
message = `No provider reference found for provider '${provider}'. Available providers: ${Object.keys(reference).join(', ')}`,
}: {
provider: string;
reference: SharedV4ProviderReference;
message?: string;
}) {
super({ name, message });
this.provider = provider;
this.reference = reference;
}
static isInstance(error: unknown): error is NoSuchProviderReferenceError {
return AISDKError.hasMarker(error, marker);
}
}