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