// This file is auto-generated by @hey-api/openapi-ts

import * as z from 'zod'

/**
 * GeneratorResponse
 */
export const zGeneratorResponse = z.unknown()

/**
 * LLMMode
 *
 * Enum class for large language model mode.
 */
export const zLlmMode = z.enum(['chat', 'completion'])

/**
 * ModelConfig
 */
export const zModelConfig = z.object({
  completion_params: z.record(z.string(), z.unknown()).optional(),
  mode: zLlmMode,
  name: z.string(),
  provider: z.string(),
})

/**
 * RuleGeneratePayload
 */
export const zRuleGeneratePayload = z.object({
  instruction: z.string(),
  model_config: zModelConfig,
  no_variable: z.boolean().optional().default(false),
})

export const zPostRuleGenerateBody = zRuleGeneratePayload

/**
 * Rule configuration generated successfully
 */
export const zPostRuleGenerateResponse = zGeneratorResponse
