import {z} from 'zod' export type GetApiV1OrchestrateAgentsEnvironmentEnvironmentNameReleasesArgs = {environment_name: string, include_hidden?: boolean | undefined, show_bundled?: boolean | undefined}; export type GetApiV1OrchestrateAgentsEnvironmentEnvironmentNameReleasesOptions = {baseUrl: string, HTTPBearer?: string | undefined, fetch?: typeof fetch | undefined}; export const agentStyle = z.enum(["default", "react", "planner", "custom", "react_intrinsic", "experimental_customer_care", "code_act"]); export const supportedApp = z.literal("slack/askhr"); export const environmentSchema = z.object({id: z.string(), name: z.string(), current_version: z.number().int().nullable().optional(), voice: z.record(z.string(), z.unknown()).nullable().optional(), enable_wxg_integration: z.string().nullable().optional(), wxg_metrics_url: z.string().nullable().optional()}); export const guideline = z.object({display_name: z.string().nullable().optional(), condition: z.string(), action: z.string(), tool: z.string().nullable().optional()}); export const extractionStrategy = z.enum(["express", "standard", "high_quality"]); export const knowledgeBaseBuiltInVectorIndexConfig = z.object({embeddings_model_name: z.string().nullable().optional(), chunk_size: z.number().int().optional(), chunk_overlap: z.number().int().optional(), limit: z.number().int().optional(), extraction_strategy: extractionStrategy.optional()}); export const generatedResponseLength = z.enum(["Concise", "Moderate", "Verbose"]); export const generationConfiguration = z.object({model_id: z.string().nullable().optional(), prompt_instruction: z.string().optional(), max_docs_passed_to_llm: z.number().int().optional(), generated_response_length: generatedResponseLength.optional(), display_text_no_results_found: z.string().optional(), display_text_connectivity_issue: z.string().optional(), idk_message: z.string().optional(), enabled: z.boolean().optional()}); export const queryRewriteConfig = z.object({enabled: z.boolean().optional(), model_id: z.string().nullable().optional()}); export const retrievalConfidenceThreshold = z.enum(["Off", "Lowest", "Low", "High", "Highest"]); export const responseConfidenceThreshold = z.enum(["Off", "Lowest", "Low", "High", "Highest"]); export const confidenceThresholds = z.object({retrieval_confidence_threshold: retrievalConfidenceThreshold.optional(), response_confidence_threshold: responseConfidenceThreshold.optional()}); export const citationsConfig = z.object({citation_title: z.string().optional(), citations_shown: z.number().int().optional()}); export const hAPFilteringConfig = z.object({enabled: z.boolean().optional(), threshold: z.number().optional()}); export const hAPFiltering = z.object({output: hAPFilteringConfig.optional()}); export const querySource = z.enum(["SessionHistory", "Agent"]); export const chatWithDocsConfig = z.object({enabled: z.boolean().optional(), supports_full_document: z.boolean().optional(), vector_index: knowledgeBaseBuiltInVectorIndexConfig.optional(), generation: generationConfiguration.optional(), query_rewrite: queryRewriteConfig.optional(), confidence_thresholds: confidenceThresholds.optional(), citations: citationsConfig.optional(), hap_filtering: hAPFiltering.optional(), query_source: querySource.optional(), agent_query_description: z.string().optional()}); export const contextSettings = z.object({context_compaction_enabled: z.boolean().nullable().optional(), context_compaction_threshold: z.number().int().nullable().optional(), compaction_sliding_window: z.number().int().nullable().optional(), large_message_threshold: z.number().int().nullable().optional(), large_message_chunk_size: z.number().int().nullable().optional(), large_message_target_summary: z.number().int().nullable().optional(), large_message_detect_structured: z.boolean().nullable().optional()}); export const realtimeAgentSettings = z.object({enabled: z.boolean().nullable().optional()}); export const agentAdditionalProperties = z.object({icon: z.string().nullable().optional(), starter_prompts: z.record(z.string(), z.unknown()).nullable().optional(), welcome_content: z.record(z.string(), z.unknown()).nullable().optional(), context_settings: contextSettings.nullable().optional(), realtime_agent_settings: realtimeAgentSettings.nullable().optional()}); export const examples = z.object({input: z.unknown(), output: z.unknown()}); export const responseFormat = z.object({type: z.string(), json_schema: z.unknown()}); export const audioConfig = z.object({voice: z.string(), format: z.string()}); export const predictionContent = z.object({type: z.string(), text: z.string()}); export const prediction = z.object({type: z.string(), content: z.union([z.array(predictionContent), z.string()])}); export const thinking = z.object({type: z.string().nullable().optional(), budget_tokens: z.number().int()}); export const modelConfig = z.object({decoding_method: z.string().nullable().optional(), prompt: z.union([z.string(), z.array(z.string())]).nullable().optional(), max_tokens: z.number().int().nullable().optional(), max_completion_tokens: z.number().int().nullable().optional(), temperature: z.number().nullable().optional(), top_p: z.number().nullable().optional(), n: z.number().int().nullable().optional(), stream: z.boolean().nullable().optional(), logprobs: z.number().int().nullable().optional(), top_logprobs: z.boolean().nullable().optional(), echo: z.boolean().nullable().optional(), stop: z.union([z.string(), z.array(z.string())]).nullable().optional(), presence_penalty: z.number().nullable().optional(), frequency_penalty: z.number().nullable().optional(), best_of: z.number().int().nullable().optional(), logit_bias: z.record(z.string(), z.number()).nullable().optional(), user: z.string().nullable().optional(), context: z.string().nullable().optional(), examples: z.array(examples).nullable().optional(), top_k: z.number().int().nullable().optional(), response_format: responseFormat.nullable().optional(), seed: z.number().int().nullable().optional(), store: z.boolean().nullable().optional(), metadata: z.record(z.string(), z.unknown()).nullable().optional(), modalities: z.array(z.string()).nullable().optional(), audio: audioConfig.nullable().optional(), service_tier: z.string().nullable().optional(), prediction: prediction.nullable().optional(), safety_settings: z.unknown(), anthropic_beta: z.string().nullable().optional(), anthropic_version: z.string().nullable().optional(), thinking: thinking.nullable().optional(), space_id: z.string().nullable().optional(), project_id: z.string().nullable().optional(), reasoning_effort: z.string().nullable().optional(), parallel_tool_calls: z.boolean().nullable().optional(), disable_parallel_tool_use: z.boolean().nullable().optional(), disable_tool_validation: z.boolean().nullable().optional(), verbosity: z.string().nullable().optional(), thinking_level: z.string().nullable().optional()}); export const plugin = z.object({plugin_id: z.string().optional()}); export const plugins = z.object({agent_pre_invoke: z.array(plugin).nullable().optional(), agent_post_invoke: z.array(plugin).nullable().optional()}); export const listAgentVersion = z.object({id: z.string(), tenant_id: z.string(), name: z.string(), description: z.string(), version_label: z.number().int(), semantic_version: z.string().nullable().optional(), version_name: z.string().nullable().optional(), version_description: z.string().nullable().optional(), instructions: z.string().nullable().optional(), tools: z.array(z.union([z.string(), z.record(z.string(), z.unknown())])).optional(), collaborators: z.array(z.union([z.string(), z.record(z.string(), z.unknown())])).optional(), llm: z.string().nullable().optional(), style: agentStyle, supported_apps: z.array(supportedApp).nullable().optional(), points_to: z.array(z.string()).optional(), comments: z.string().nullable().optional(), mapped_environments: z.array(environmentSchema).nullable().optional(), created_by: z.string(), created_on: z.string(), updated_by: z.string(), updated_at: z.string(), deleted_by: z.string().nullable().optional(), hidden: z.boolean().optional(), environments: z.array(environmentSchema).optional(), deleted_at: z.string().nullable().optional(), knowledge_base: z.array(z.string()).nullable().optional(), display_name: z.string().nullable().optional(), structured_output: z.record(z.string(), z.unknown()).nullable().optional(), guidelines: z.array(guideline).optional(), custom_join_tool: z.record(z.string(), z.unknown()).nullable().optional(), tags: z.array(z.string()).nullable().optional(), voice_configuration_id: z.string().nullable().optional(), deployment_status: z.string().nullable().optional(), deployment_statuses: z.record(z.string(), z.record(z.string(), z.unknown())).nullable().optional(), chat_with_docs: chatWithDocsConfig.optional(), connection_ids: z.array(z.string()).optional(), additional_properties: agentAdditionalProperties.nullable().optional(), context_access_enabled: z.boolean().optional(), context_variables: z.array(z.string()).optional(), hide_reasoning: z.boolean().optional(), llm_config: modelConfig.nullable().optional(), plugins: plugins.nullable().optional(), sync_tool_flow_interactions: z.boolean().optional(), toolkits: z.array(z.union([z.string(), z.record(z.string(), z.unknown())])).optional(), memory_enabled: z.boolean().optional()}); export const getApiV1OrchestrateAgentsEnvironmentEnvironmentNameReleasesResponse = z.array(listAgentVersion); 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 }; /** * List Versioned Agents By Environment Name * * GET /v1/orchestrate/agents/environment/{environment_name}/releases */ export const getApiV1OrchestrateAgentsEnvironmentEnvironmentNameReleases = async (args: GetApiV1OrchestrateAgentsEnvironmentEnvironmentNameReleasesArgs, options: GetApiV1OrchestrateAgentsEnvironmentEnvironmentNameReleasesOptions) => { const {baseUrl, fetch: fetchFn = fetch, HTTPBearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.include_hidden != null) query.append("include_hidden", String(args.include_hidden)) if (args.show_bundled != null) query.append("show_bundled", String(args.show_bundled)) if (HTTPBearer !== undefined) headers.set('authorization', `Bearer ${HTTPBearer}`) const url = `${baseUrl.replace(/\/+$/, '')}/v1/orchestrate/agents/environment/${encodeURIComponent(String(args.environment_name))}/releases${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(getApiV1OrchestrateAgentsEnvironmentEnvironmentNameReleasesResponse, await res.json()) };