Repository Public
1/** The ONLY file that touches `@aos/providers`: the model catalogue, nothing else (the server never calls a model). */2import { CATALOGUE, getProvider } from '@aos/providers';3import { ModelInfo, type Provider } from '@aos/shared';4import { z } from 'zod';5import type { ProvidersPort } from './providers-port.js';67export function loadProviders(): ProvidersPort {8 return {9 catalogue: () => CATALOGUE.map((m) => ({ ...m })),10 async listModels(provider: Provider) {11 return z.array(ModelInfo).parse(await getProvider(provider).listModels());12 },13 };14}15