Skip to main content

Function: withAIConfig()

withAIConfig<T>(schema): ZodObject<{ [k in string | number | symbol]: ((keyof T & ("temperature" | "model" | "maxTokens")) extends never ? T & { maxTokens: ZodOptional<ZodNumber>; model: ZodDefault<ZodString>; temperature: ZodDefault<ZodNumber> } : { [K in string | number | symbol as K extends "temperature" | "model" | "maxTokens" ? never : K]: T[K] } & { maxTokens: ZodOptional<ZodNumber>; model: ZodDefault<ZodString>; temperature: ZodDefault<ZodNumber> })[k] }, $strip>

Defined in: packages/workflow-engine/src/core/config-presets.ts:119

Add AI configuration to any schema

Type Parameters​

T​

T extends Readonly<{[k: string]: $ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>; }>

Parameters​

schema​

ZodObject<T>

Returns​

ZodObject<{ [k in string | number | symbol]: ((keyof T & ("temperature" | "model" | "maxTokens")) extends never ? T & { maxTokens: ZodOptional<ZodNumber>; model: ZodDefault<ZodString>; temperature: ZodDefault<ZodNumber> } : { [K in string | number | symbol as K extends "temperature" | "model" | "maxTokens" ? never : K]: T[K] } & { maxTokens: ZodOptional<ZodNumber>; model: ZodDefault<ZodString>; temperature: ZodDefault<ZodNumber> })[k] }, $strip>

Example​

const myConfig = withAIConfig(z.object({
customField: z.string(),
}));
// Result has: model, temperature, maxTokens, customField