import {z} from 'zod' export type CdaenumAvatarType = 1 | 2 | 3; export type DaconfvalobjBuiltInCanEditFields = {avatar?: boolean | undefined, 'data_source.doc'?: boolean | undefined, 'data_source.kg'?: boolean | undefined, input_config?: boolean | undefined, memory?: boolean | undefined, model?: boolean | undefined, name?: boolean | undefined, opening_remark_config?: boolean | undefined, preset_questions?: boolean | undefined, profile?: boolean | undefined, related_question?: boolean | undefined, skills?: boolean | undefined, 'skills.tools.tool_input'?: boolean | undefined, system_prompt?: boolean | undefined}; export type DaconfvalobjCountParams = {count_limit?: number | undefined}; export type CdaenumHistoryStrategy = 'none' | 'count' | 'time_window' | 'token'; export type DaconfvalobjTimeWindowParams = Record; export type DaconfvalobjTokenLimitParams = Record; export type DaconfvalobjConversationHistoryConfig = {count_params?: DaconfvalobjCountParams | undefined, strategy?: CdaenumHistoryStrategy | undefined, time_window_params?: DaconfvalobjTimeWindowParams | undefined, token_limit_params?: DaconfvalobjTokenLimitParams | undefined}; export type DatasourcevalobjDocAdvancedConfig = {document_threshold: number, documents_num: number, max_slice_per_cite: number, rerank_topk: number, retrieval_max_length: number, retrieval_slices_num: number, slice_head_num: number, slice_tail_num: number}; export type DatasourcevalobjKGAdvancedConfig = {graph_rag_topk: number, long_text_length: number, reranker_sim_threshold: number, retrieval_max_length: number, text_match_entity_nums: number, vector_match_entity_nums: number}; export type DatasourcevalobjRetrieverAdvancedConfig = {doc?: DatasourcevalobjDocAdvancedConfig | undefined, kg?: DatasourcevalobjKGAdvancedConfig | undefined}; export type CdaenumDocSourceFieldType = 'folder' | 'file'; export type DatasourcevalobjDocSourceField = {name: string, path: string, source: string, type: CdaenumDocSourceFieldType}; export type DatasourcevalobjDocSource = {datasets?: Array | undefined, ds_id: string, fields: Array}; export type DatasourcevalobjKgSource = {field_properties?: {[key: string]: Array} | undefined, fields: Array, kg_id: string, output_fields?: Array | undefined}; export type DatasourcevalobjKnEntrySource = {kn_entry_id: string}; export type DatasourcevalobjKnowledgeNetworkSource = {knowledge_network_id: string}; export type DatasourcevalobjMetricSource = {metric_model_id: string}; export type DatasourcevalobjRetrieverDataSource = {advanced_config?: DatasourcevalobjRetrieverAdvancedConfig | undefined, doc?: Array | undefined, kg?: Array | undefined, kn_entry?: Array | undefined, knowledge_network?: Array | undefined, metric?: Array | undefined}; export type DaconfvalobjKgSource = {field_properties?: {[key: string]: Array} | undefined, fields: Array, kg_id: string, output_fields?: Array | undefined}; export type DaconfvalobjAugmentDataSource = {kg?: Array | undefined}; export type DaconfvalobjAugment = {data_source: DaconfvalobjAugmentDataSource, enable: boolean}; export type CdaenumInputFieldType = 'string' | 'file' | 'object'; export type DaconfvalobjField = {desc?: string | undefined, name: string, type?: CdaenumInputFieldType | undefined}; export type CdaenumModelType = 'llm' | 'rlm'; export type DaconfvalobjLlmConfig = {frequency_penalty?: number | undefined, id?: string | undefined, max_tokens: number, model_type?: CdaenumModelType | undefined, name: string, presence_penalty?: number | undefined, temperature?: number | undefined, top_k?: number | undefined, top_p?: number | undefined}; export type DaconfvalobjRewrite = {enable: boolean, llm_config: DaconfvalobjLlmConfig}; export type DaconfvalobjInput = {augment?: DaconfvalobjAugment | undefined, fields: Array, rewrite?: DaconfvalobjRewrite | undefined}; export type CdaenumDolphinMode = 0 | 1; export type DaconfvalobjLlmItem = {is_default?: boolean | undefined, llm_config: DaconfvalobjLlmConfig}; export type DaconfvalobjMemoryCfg = {is_enabled?: boolean | undefined}; export type AgentconfigenumConfigTplVersionT = 'v1'; export type DaconfvalobjConfigMetadata = {config_last_set_timestamp?: number | undefined, config_tpl_version?: AgentconfigenumConfigTplVersionT | undefined}; export type CdaenumAgentMode = 'default' | 'dolphin' | 'react'; export type DaconfvalobjOpeningRemarkConfig = {dynamic_opening_remark_prompt?: string | undefined, fixed_opening_remark?: string | undefined, type?: string | undefined}; export type CdaenumOutputDefaultFormat = 'json' | 'markdown'; export type DaconfvalobjVariablesS = {answer_var?: string | undefined, doc_retrieval_var?: string | undefined, graph_retrieval_var?: string | undefined, middle_output_vars?: Array | undefined, other_vars?: Array | undefined, related_questions_var?: string | undefined}; export type DaconfvalobjOutput = {default_format?: CdaenumOutputDefaultFormat | undefined, variables?: DaconfvalobjVariablesS | undefined}; export type DaconfvalobjPlanMode = {is_enabled?: boolean | undefined}; export type CdaenumDolphinTplKey = 'memory_retrieve' | 'temp_file_process' | 'doc_retrieve' | 'graph_retrieve' | 'context_organize' | 'related_questions'; export type DaconfvalobjDolphinTpl = {edited?: boolean | undefined, enabled?: boolean | undefined, key: CdaenumDolphinTplKey, name?: string | undefined, value: string}; export type DaconfvalobjPresetQuestion = {question?: string | undefined}; export type DaconfvalobjReactConfig = {disable_history_in_a_conversation?: boolean | undefined, disable_llm_cache?: boolean | undefined}; export type DaconfvalobjRelatedQuestion = {is_enabled?: boolean | undefined}; export type SwaggerAgentConfigSkillAgentInputs = Array; export type SwaggerAgentConfigSkillAgentInput = {children?: SwaggerAgentConfigSkillAgentInputs | undefined, enable?: boolean | undefined, input_name?: string | undefined, input_type?: string | undefined, map_type?: string | undefined, map_value: unknown}; export type SkillenumDatasourceSpecificInherit = 'docs_only' | 'graph_only' | 'all'; export type SkillenumDatasource = 'inherit_main' | 'self_configured'; export type SkillvalobjDataSourceConfig = {specific_inherit?: SkillenumDatasourceSpecificInherit | undefined, type?: SkillenumDatasource | undefined}; export type SkillenumLLM = 'inherit_main' | 'self_configured'; export type SkillvalobjLLMConfig = {type?: SkillenumLLM | undefined}; export type SwaggerAgentConfigSkillAgent = {agent_input?: Array | undefined, agent_key?: string | undefined, agent_timeout?: number | undefined, agent_version?: string | undefined, current_is_exists_and_published?: boolean | undefined, current_pms_check_status?: string | undefined, data_source_config?: SkillvalobjDataSourceConfig | undefined, intervention?: boolean | undefined, intervention_confirmation_message?: string | undefined, llm_config?: SkillvalobjLLMConfig | undefined}; export type SwaggerAgentConfigSkillMCP = {mcp_server_id?: string | undefined}; export type SwaggerAgentConfigSkillSkill = {skill_id?: string | undefined}; export type SkillvalobjCategory = {description?: string | undefined, id?: string | undefined, name?: string | undefined}; export type SkillvalobjStrategy = {description?: string | undefined, id?: string | undefined, name?: string | undefined}; export type SkillvalobjResultProcessStrategy = {category?: SkillvalobjCategory | undefined, strategy?: SkillvalobjStrategy | undefined}; export type SwaggerAgentConfigSkillToolInputs = Array; export type SwaggerAgentConfigSkillToolInput = {children?: SwaggerAgentConfigSkillToolInputs | undefined, enable?: boolean | undefined, input_desc?: string | undefined, input_name?: string | undefined, input_type?: string | undefined, map_type?: string | undefined, map_value: unknown}; export type SwaggerAgentConfigSkillTool = {intervention?: boolean | undefined, intervention_confirmation_message?: string | undefined, result_process_strategies?: Array | undefined, tool_box_id?: string | undefined, tool_id?: string | undefined, tool_input?: Array | undefined, tool_timeout?: number | undefined}; export type SwaggerAgentConfigSkills = {agents?: Array | undefined, mcps?: Array | undefined, skills?: Array | undefined, tools?: Array | undefined}; export type SwaggerAgentConfigConfig = {built_in_can_edit_fields?: DaconfvalobjBuiltInCanEditFields | undefined, conversation_history_config?: DaconfvalobjConversationHistoryConfig | undefined, data_source?: DatasourcevalobjRetrieverDataSource | undefined, dolphin?: string | undefined, input?: DaconfvalobjInput | undefined, is_data_flow_set_enabled?: number | undefined, is_dolphin_mode?: CdaenumDolphinMode | undefined, llms?: Array | undefined, memory?: DaconfvalobjMemoryCfg | undefined, metadata?: DaconfvalobjConfigMetadata | undefined, mode?: CdaenumAgentMode | undefined, opening_remark_config?: DaconfvalobjOpeningRemarkConfig | undefined, output?: DaconfvalobjOutput | undefined, plan_mode?: DaconfvalobjPlanMode | undefined, post_dolphin?: Array | undefined, pre_dolphin?: Array | undefined, preset_questions?: Array | undefined, react_config?: DaconfvalobjReactConfig | undefined, related_question?: DaconfvalobjRelatedQuestion | undefined, skills?: SwaggerAgentConfigSkills | undefined, system_prompt?: string | undefined}; export type CdaenumBuiltIn = 0 | 1; export type CenumYesNoInt8 = 1 | 0; export type SwaggerAgentConfigCreateReq = {avatar?: string | undefined, avatar_type?: CdaenumAvatarType | undefined, config?: SwaggerAgentConfigConfig | undefined, created_by?: string | undefined, is_built_in?: CdaenumBuiltIn | undefined, is_system_agent?: CenumYesNoInt8 | undefined, key?: string | undefined, name?: string | undefined, product_key?: string | undefined, profile?: string | undefined}; export type CreateApiV3AgentReactArgs = {body: SwaggerAgentConfigCreateReq}; export type CreateApiV3AgentReactOptions = {baseUrl: string, BearerAuth?: string | undefined, fetch?: typeof fetch | undefined}; export const swaggerAgentConfigCreateRes = z.object({id: z.string().optional(), version: z.string().optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * 创建react agent * * POST /v3/agent/react */ export const createApiV3AgentReact = async (args: CreateApiV3AgentReactArgs, options: CreateApiV3AgentReactOptions) => { const {baseUrl, fetch: fetchFn = fetch, BearerAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") if (BearerAuth !== undefined) headers.set("Authorization", BearerAuth) const url = `${baseUrl.replace(/\/+$/, '')}/v3/agent/react${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(swaggerAgentConfigCreateRes, await res.json()) };