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

import * as z from 'zod'

export const zJsonValue = z.unknown()

/**
 * ModelConfig
 */
export const zModelConfig = z.object({
  agent_mode_dict: zJsonValue.optional(),
  annotation_reply_dict: zJsonValue.optional(),
  chat_prompt_config_dict: zJsonValue.optional(),
  completion_prompt_config_dict: zJsonValue.optional(),
  created_at: z.int().nullish(),
  created_by: z.string().nullish(),
  dataset_configs_dict: zJsonValue.optional(),
  dataset_query_variable: z.string().nullish(),
  external_data_tools_list: zJsonValue.optional(),
  file_upload_dict: zJsonValue.optional(),
  model_dict: zJsonValue.optional(),
  more_like_this_dict: zJsonValue.optional(),
  opening_statement: z.string().nullish(),
  pre_prompt: z.string().nullish(),
  prompt_type: z.string().nullish(),
  retriever_resource_dict: zJsonValue.optional(),
  sensitive_word_avoidance_dict: zJsonValue.optional(),
  speech_to_text_dict: zJsonValue.optional(),
  suggested_questions_after_answer_dict: zJsonValue.optional(),
  suggested_questions_list: zJsonValue.optional(),
  text_to_speech_dict: zJsonValue.optional(),
  updated_at: z.int().nullish(),
  updated_by: z.string().nullish(),
  user_input_form_list: zJsonValue.optional(),
})

/**
 * RuleCodeGeneratePayload
 */
export const zRuleCodeGeneratePayload = z.object({
  code_language: z.string().optional().default('javascript'),
  instruction: z.string(),
  model_config: zModelConfig,
  no_variable: z.boolean().optional().default(false),
})

export const zPostRuleCodeGenerateBody = zRuleCodeGeneratePayload

/**
 * Code rules generated successfully
 */
export const zPostRuleCodeGenerateResponse = z.record(z.string(), z.unknown())
