/** * llm domain zod schemas (names derived from map keys: llmProvidersRequestSchema / * llmProvidersValueSchema / llmModelsRequestSchema / llmModelsValueSchema). */ import { z } from 'zod' import type { RequestPayload, ResponseValue } from './rpc-map.ts' import type { Wire } from './rpc.schema.ts' import type { ConfigurableProviderView } from './llm.ts' import { modelCatalogFailureSchema, modelProviderGroupSchema } from './sessions.schema.ts' /** ConfigurableProviderView row of llm.providers. */ export const configurableProviderViewSchema = z.object({ provider: z.string().min(1), displayName: z.string().min(1), settingsNs: z.string(), settingsPath: z.array(z.string()), active: z.boolean(), }) satisfies z.ZodType> /** llm.providers request payload. */ export const llmProvidersRequestSchema = z.object({}) satisfies z.ZodType>> /** llm.providers response value. */ export const llmProvidersValueSchema = z.object({ providers: z.array(configurableProviderViewSchema), }) satisfies z.ZodType>> /** llm.models request payload. */ export const llmModelsRequestSchema = z.object({}) satisfies z.ZodType>> /** llm.models response value. */ export const llmModelsValueSchema = z.object({ groups: z.array(modelProviderGroupSchema), failures: z.array(modelCatalogFailureSchema), }) satisfies z.ZodType>>