import type { ProviderModelConfig } from "@earendil-works/pi-coding-agent"; import type { CapabilityFlags, InputModality, OutputModality, ThinkingLevelMap } from "../config/types.js"; import type { EndpointModelMetadata, EndpointPricingMetadata } from "../discovery/types.js"; export type CapabilityProvenance = Partial>; export type DiscoveredModel = Omit & { input: InputModality[]; output?: OutputModality[]; capabilities?: CapabilityFlags; baseUrl?: string; thinkingLevelMap?: ThinkingLevelMap; description?: string; created?: number; ownedBy?: string; tags?: string[]; isFree?: boolean; endpointPricing?: EndpointPricingMetadata; endpointMetadata?: EndpointModelMetadata; sources: Record; capabilityProvenance?: CapabilityProvenance; }; export interface CacheEntry { fetchedAt: string; ttlMs: number; authoritative: boolean; models: DiscoveredModel[]; } export interface CacheSchema { version: 5; updatedAt: string; providers: Record; }