src / types / provider.ts
import { SearchType } from "./search";
/**
* Capability supported by a search provider (e.g., 'web', 'image').
*/
export type ProviderCapability = SearchType;
/**
* Immutable metadata specification for a search provider.
* Mapped from Python `ProviderSpec` dataclass in `providers/provider_registry.py`.
*/
export interface ProviderSpec {
/** Numeric identifier for search provider. */
id: number;
/** Internal canonical string identifier for search provider. */
name: string;
/** Human-readable display name. */
displayName: string;
/** Environment variable name storing API keys. */
envVar: string | null;
/** Whether provider requires an API key. */
requiresKey?: boolean;
/** List of supported search capabilities. */
capabilities?: ProviderCapability[];
}
src / types / provider.ts
import { SearchType } from "./search";
/**
* Capability supported by a search provider (e.g., 'web', 'image').
*/
export type ProviderCapability = SearchType;
/**
* Immutable metadata specification for a search provider.
* Mapped from Python `ProviderSpec` dataclass in `providers/provider_registry.py`.
*/
export interface ProviderSpec {
/** Numeric identifier for search provider. */
id: number;
/** Internal canonical string identifier for search provider. */
name: string;
/** Human-readable display name. */
displayName: string;
/** Environment variable name storing API keys. */
envVar: string | null;
/** Whether provider requires an API key. */
requiresKey?: boolean;
/** List of supported search capabilities. */
capabilities?: ProviderCapability[];
}