import { z } from 'zod'; import { LLMProviders, LLMReasoningEffort } from '../LLMService.typedefs'; /** * Hard ceilings the runtime gate enforces on every prompt `config`, independent * of provider. A live edit that exceeds one of these never reaches production * traffic; the gate serves the fallback snapshot instead. */ export declare const LLM_CONFIG_PARAM_CEILINGS: { readonly maxOutputTokens: 32768; readonly temperature: { readonly min: 0; readonly max: 2; }; readonly topP: { readonly min: 0; readonly max: 1; }; }; export declare const llmConfigParamsSchema: z.ZodObject<{ temperature: z.ZodOptional; topP: z.ZodOptional; maxOutputTokens: z.ZodOptional; reasoningEffort: z.ZodOptional>; }, z.core.$loose>; /** * The gateway-owned shape of a prompt's `config`. The provider routes the call; * `model` is checked against `LLM_SERVICE_MODELS` by the runtime gate (a string * here because the snapshot is provider-agnostic); `params` are the generation * knobs, capped by `LLM_CONFIG_PARAM_CEILINGS`. */ export declare const llmPromptConfigSchema: z.ZodObject<{ provider: z.ZodEnum; model: z.ZodString; params: z.ZodOptional; topP: z.ZodOptional; maxOutputTokens: z.ZodOptional; reasoningEffort: z.ZodOptional>; }, z.core.$loose>>; }, z.core.$strip>; export type LLMPromptConfig = z.infer; export type LLMPromptConfigParams = z.infer;