UNPKG

@earendil-works/pi-ai

Version:

Unified LLM API with automatic model discovery and provider configuration

30 lines • 1.43 kB
import type { AnyModel } from "./types.ts"; export interface ModelsStoreEntry { /** Persisted models of every type. */ models: readonly AnyModel[]; /** Unix timestamp from the remote catalog's Last-Modified header. */ lastModified?: number; /** Unix timestamp of the last completed remote check. */ checkedAt?: number; /** * Opaque validator from the remote catalog's ETag header, stored verbatim * (quotes included) and echoed back as If-None-Match. */ etag?: string; } export interface ModelsStoreOperationOptions { signal?: AbortSignal; } /** Persistent model catalogs keyed by provider ID. */ export interface ModelsStore { read(providerId: string, options?: ModelsStoreOperationOptions): Promise<ModelsStoreEntry | undefined>; write(providerId: string, entry: ModelsStoreEntry, options?: ModelsStoreOperationOptions): Promise<void>; delete(providerId: string, options?: ModelsStoreOperationOptions): Promise<void>; } export declare class InMemoryModelsStore implements ModelsStore { private readonly entries; read(providerId: string, options?: ModelsStoreOperationOptions): Promise<ModelsStoreEntry | undefined>; write(providerId: string, entry: ModelsStoreEntry, options?: ModelsStoreOperationOptions): Promise<void>; delete(providerId: string, options?: ModelsStoreOperationOptions): Promise<void>; } //# sourceMappingURL=models-store.d.ts.map