import {z} from 'zod' export type CreateApiApiV1PipelinesPipelineIdCopyArgs = {pipeline_id: string, project_id?: (string | null) | undefined, session?: (string | null) | undefined}; export type CreateApiApiV1PipelinesPipelineIdCopyOptions = {baseUrl: string, HTTPBearer?: string | undefined, fetch?: typeof fetch | undefined}; export const azureOpenAIEmbedding = z.object({model_name: z.string().optional(), embed_batch_size: z.number().int().gt(0).lte(2048).optional(), num_workers: z.number().int().nullable().optional(), additional_kwargs: z.record(z.string(), z.unknown()).optional(), api_key: z.string().nullable().optional(), api_base: z.string().optional(), api_version: z.string().optional(), max_retries: z.number().int().gte(0).optional(), timeout: z.number().gte(0).optional(), default_headers: z.record(z.string(), z.string()).nullable().optional(), reuse_client: z.boolean().optional(), dimensions: z.number().int().nullable().optional(), azure_endpoint: z.string().nullable().optional(), azure_deployment: z.string().nullable().optional(), class_name: z.string().optional()}); export const azureOpenAIEmbeddingConfig = z.object({type: z.literal("AZURE_EMBEDDING").optional(), component: azureOpenAIEmbedding.optional()}); export const cohereEmbedding = z.object({model_name: z.string().optional(), embed_batch_size: z.number().int().gt(0).lte(2048).optional(), num_workers: z.number().int().nullable().optional(), api_key: z.string().nullable(), truncate: z.string().optional(), input_type: z.string().nullable().optional(), embedding_type: z.string().optional(), class_name: z.string().optional()}); export const cohereEmbeddingConfig = z.object({type: z.literal("COHERE_EMBEDDING").optional(), component: cohereEmbedding.optional()}); export const geminiEmbedding = z.object({model_name: z.string().optional(), embed_batch_size: z.number().int().gt(0).lte(2048).optional(), num_workers: z.number().int().nullable().optional(), title: z.string().nullable().optional(), task_type: z.string().nullable().optional(), api_key: z.string().nullable().optional(), api_base: z.string().nullable().optional(), transport: z.string().nullable().optional(), output_dimensionality: z.number().int().nullable().optional(), class_name: z.string().optional()}); export const geminiEmbeddingConfig = z.object({type: z.literal("GEMINI_EMBEDDING").optional(), component: geminiEmbedding.optional()}); export const pooling = z.enum(["cls", "mean", "last"]); export const huggingFaceInferenceAPIEmbedding = z.object({model_name: z.string().nullable().optional(), embed_batch_size: z.number().int().gt(0).lte(2048).optional(), num_workers: z.number().int().nullable().optional(), pooling: pooling.nullable().optional(), query_instruction: z.string().nullable().optional(), text_instruction: z.string().nullable().optional(), token: z.union([z.string(), z.boolean()]).nullable().optional(), timeout: z.number().nullable().optional(), headers: z.record(z.string(), z.string()).nullable().optional(), cookies: z.record(z.string(), z.string()).nullable().optional(), task: z.string().nullable().optional(), class_name: z.string().optional()}); export const huggingFaceInferenceAPIEmbeddingConfig = z.object({type: z.literal("HUGGINGFACE_API_EMBEDDING").optional(), component: huggingFaceInferenceAPIEmbedding.optional()}); export const openAIEmbedding = z.object({model_name: z.string().optional(), embed_batch_size: z.number().int().gt(0).lte(2048).optional(), num_workers: z.number().int().nullable().optional(), additional_kwargs: z.record(z.string(), z.unknown()).optional(), api_key: z.string().nullable().optional(), api_base: z.string().nullable().optional(), api_version: z.string().nullable().optional(), max_retries: z.number().int().gte(0).optional(), timeout: z.number().gte(0).optional(), default_headers: z.record(z.string(), z.string()).nullable().optional(), reuse_client: z.boolean().optional(), dimensions: z.number().int().nullable().optional(), class_name: z.string().optional()}); export const openAIEmbeddingConfig = z.object({type: z.literal("OPENAI_EMBEDDING").optional(), component: openAIEmbedding.optional()}); export const vertexEmbeddingMode = z.enum(["default", "classification", "clustering", "similarity", "retrieval"]); export const vertexTextEmbedding = z.object({model_name: z.string().optional(), embed_batch_size: z.number().int().gt(0).lte(2048).optional(), num_workers: z.number().int().nullable().optional(), location: z.string(), project: z.string(), embed_mode: vertexEmbeddingMode.optional(), additional_kwargs: z.record(z.string(), z.unknown()).optional(), client_email: z.string().nullable(), token_uri: z.string().nullable(), private_key_id: z.string().nullable(), private_key: z.string().nullable(), class_name: z.string().optional()}); export const vertexAIEmbeddingConfig = z.object({type: z.literal("VERTEXAI_EMBEDDING").optional(), component: vertexTextEmbedding.optional()}); export const bedrockEmbedding = z.object({model_name: z.string().optional(), embed_batch_size: z.number().int().gt(0).lte(2048).optional(), num_workers: z.number().int().nullable().optional(), profile_name: z.string().nullable().optional(), aws_access_key_id: z.string().nullable().optional(), aws_secret_access_key: z.string().nullable().optional(), aws_session_token: z.string().nullable().optional(), region_name: z.string().nullable().optional(), max_retries: z.number().int().gt(0).optional(), timeout: z.number().optional(), additional_kwargs: z.record(z.string(), z.unknown()).optional(), class_name: z.string().optional()}); export const bedrockEmbeddingConfig = z.object({type: z.literal("BEDROCK_EMBEDDING").optional(), component: bedrockEmbedding.optional()}); export const embeddingModelConfig = z.object({id: z.string(), created_at: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), name: z.string(), embedding_config: z.discriminatedUnion("type", [azureOpenAIEmbeddingConfig, cohereEmbeddingConfig, geminiEmbeddingConfig, huggingFaceInferenceAPIEmbeddingConfig, openAIEmbeddingConfig, vertexAIEmbeddingConfig, bedrockEmbeddingConfig]), project_id: z.string()}); export const pipelineType = z.enum(["PLAYGROUND", "MANAGED"]); export const sparseModelType = z.enum(["splade", "bm25", "auto"]); export const sparseModelConfig = z.object({model_type: sparseModelType.optional(), class_name: z.string().optional()}); export const pipelineConfigurationHashes = z.object({embedding_config_hash: z.string().nullable().optional(), parsing_config_hash: z.string().nullable().optional(), transform_config_hash: z.string().nullable().optional()}); export const autoTransformConfig = z.object({mode: z.literal("auto").optional(), chunk_size: z.number().int().gt(0).optional(), chunk_overlap: z.number().int().gte(0).optional()}); export const noneSegmentationConfig = z.object({mode: z.literal("none").optional()}); export const pageSegmentationConfig = z.object({mode: z.literal("page").optional(), page_separator: z.string().optional()}); export const elementSegmentationConfig = z.object({mode: z.literal("element").optional()}); export const noneChunkingConfig = z.object({mode: z.literal("none").optional()}); export const characterChunkingConfig = z.object({chunk_size: z.number().int().gt(0).optional(), chunk_overlap: z.number().int().gte(0).optional(), mode: z.literal("character").optional()}); export const tokenChunkingConfig = z.object({chunk_size: z.number().int().gt(0).optional(), chunk_overlap: z.number().int().gte(0).optional(), mode: z.literal("token").optional(), separator: z.string().optional()}); export const sentenceChunkingConfig = z.object({chunk_size: z.number().int().gt(0).optional(), chunk_overlap: z.number().int().gte(0).optional(), mode: z.literal("sentence").optional(), separator: z.string().optional(), paragraph_separator: z.string().optional()}); export const semanticChunkingConfig = z.object({mode: z.literal("semantic").optional(), buffer_size: z.number().int().optional(), breakpoint_percentile_threshold: z.number().int().optional()}); export const advancedModeTransformConfig = z.object({mode: z.literal("advanced").optional(), segmentation_config: z.union([noneSegmentationConfig, pageSegmentationConfig, elementSegmentationConfig]).optional(), chunking_config: z.union([noneChunkingConfig, characterChunkingConfig, tokenChunkingConfig, sentenceChunkingConfig, semanticChunkingConfig]).optional()}); export const filterOperator = z.enum(["==", ">", "<", "!=", ">=", "<=", "in", "nin", "any", "all", "text_match", "text_match_insensitive", "contains", "is_empty"]); export const metadataFilter = z.object({key: z.string(), value: z.union([z.number().int(), z.number(), z.string(), z.array(z.string()), z.array(z.number()), z.array(z.number().int())]).nullable(), operator: filterOperator.optional()}); export const filterCondition = z.enum(["and", "or", "not"]); export const metadataFilters: z.ZodType = z.object({filters: z.array(z.union([metadataFilter, z.lazy(() => metadataFilters)])), condition: filterCondition.nullable().optional()}); export const retrievalMode = z.enum(["chunks", "files_via_metadata", "files_via_content", "auto_routed"]); export const presetRetrievalParams = z.object({dense_similarity_top_k: z.number().int().gte(1).lte(100).nullable().optional(), dense_similarity_cutoff: z.number().gte(0).lte(1).nullable().optional(), sparse_similarity_top_k: z.number().int().gte(1).lte(100).nullable().optional(), enable_reranking: z.boolean().nullable().optional(), rerank_top_n: z.number().int().gte(1).lte(100).nullable().optional(), alpha: z.number().gte(0).lte(1).nullable().optional(), search_filters: metadataFilters.nullable().optional(), search_filters_inference_schema: z.record(z.string(), z.union([z.record(z.string(), z.unknown()), z.array(z.unknown()), z.string(), z.number().int(), z.number(), z.boolean()]).nullable()).nullable().optional(), files_top_k: z.number().int().gte(1).lte(5).nullable().optional(), retrieval_mode: retrievalMode.optional(), retrieve_image_nodes: z.boolean().optional(), retrieve_page_screenshot_nodes: z.boolean().optional(), retrieve_page_figure_nodes: z.boolean().optional(), class_name: z.string().optional()}); export const storedWebhookConfiguration = z.object({webhook_url: z.string().nullable().optional(), webhook_headers: z.record(z.string(), z.string()).nullable().optional(), webhook_signing_secret: z.string().nullable().optional(), webhook_events: z.array(z.enum(["extract.pending", "extract.running", "extract.success", "extract.error", "extract.partial_success", "extract.cancelled", "parse.pending", "parse.running", "parse.success", "parse.error", "parse.partial_success", "parse.cancelled", "classify.pending", "classify.running", "classify.success", "classify.error", "classify.partial_success", "classify.cancelled", "sheets.pending", "sheets.success", "sheets.error", "sheets.partial_success", "sheets.cancelled", "split.pending", "split.processing", "split.success", "split.error", "split.cancelled", "batch.pending", "batch.running", "batch.success", "batch.error", "batch.cancelled", "verify.pending", "verify.running", "verify.success", "verify.error", "verify.cancelled", "unmapped_event"])).nullable().optional(), webhook_output_format: z.string().nullable().optional(), id: z.string().nullable().optional()}); export const parserLanguages = z.enum(["af", "az", "bs", "cs", "cy", "da", "de", "en", "es", "et", "fr", "ga", "hr", "hu", "id", "is", "it", "ku", "la", "lt", "lv", "mi", "ms", "mt", "nl", "no", "oc", "pi", "pl", "pt", "ro", "rs_latin", "sk", "sl", "sq", "sv", "sw", "tl", "tr", "uz", "vi", "ar", "fa", "ug", "ur", "bn", "as", "mni", "ru", "rs_cyrillic", "be", "bg", "uk", "mn", "abq", "ady", "kbd", "ava", "dar", "inh", "che", "lbe", "lez", "tab", "tjk", "hi", "mr", "ne", "bh", "mai", "ang", "bho", "mah", "sck", "new", "gom", "sa", "bgc", "th", "ch_sim", "ch_tra", "ja", "ko", "ta", "te", "kn"]); export const parsingMode = z.enum(["parse_page_without_llm", "parse_page_with_llm", "parse_page_with_lvm", "parse_page_with_agent", "parse_page_with_layout_agent", "parse_document_with_llm", "parse_document_with_lvm", "parse_document_with_agent"]); export const failPageMode = z.enum(["raw_text", "blank_page", "error_message"]); export const llamaParseParameters = z.object({webhook_configurations: z.array(storedWebhookConfiguration).nullable().optional(), priority: z.enum(["low", "medium", "high", "critical"]).nullable().optional(), languages: z.array(parserLanguages).optional(), parsing_instruction: z.string().nullable().optional(), disable_ocr: z.boolean().nullable().optional(), annotate_links: z.boolean().nullable().optional(), annotate_revisions: z.boolean().nullable().optional(), annotate_line_numbers: z.boolean().nullable().optional(), adaptive_long_table: z.boolean().nullable().optional(), compact_markdown_table: z.boolean().nullable().optional(), disable_reconstruction: z.boolean().nullable().optional(), disable_image_extraction: z.boolean().nullable().optional(), invalidate_cache: z.boolean().nullable().optional(), outlined_table_extraction: z.boolean().nullable().optional(), aggressive_table_extraction: z.boolean().nullable().optional(), merge_tables_across_pages_in_markdown: z.boolean().nullable().optional(), output_pdf_of_document: z.boolean().nullable().optional(), do_not_cache: z.boolean().nullable().optional(), fast_mode: z.boolean().nullable().optional(), skip_diagonal_text: z.boolean().nullable().optional(), preserve_layout_alignment_across_pages: z.boolean().nullable().optional(), preserve_very_small_text: z.boolean().nullable().optional(), gpt4o_mode: z.boolean().nullable().optional(), gpt4o_api_key: z.string().nullable().optional(), do_not_unroll_columns: z.boolean().nullable().optional(), extract_layout: z.boolean().nullable().optional(), high_res_ocr: z.boolean().nullable().optional(), confidence_score_effort: z.string().nullable().optional(), html_make_all_elements_visible: z.boolean().nullable().optional(), layout_aware: z.boolean().nullable().optional(), specialized_chart_parsing_agentic: z.boolean().nullable().optional(), specialized_chart_parsing_plus: z.boolean().nullable().optional(), specialized_chart_parsing_efficient: z.boolean().nullable().optional(), specialized_image_parsing: z.boolean().nullable().optional(), precise_bounding_box: z.boolean().nullable().optional(), line_level_bounding_box: z.boolean().nullable().optional(), html_remove_navigation_elements: z.boolean().nullable().optional(), html_remove_fixed_elements: z.boolean().nullable().optional(), guess_xlsx_sheet_name: z.boolean().nullable().optional(), page_separator: z.string().nullable().optional(), bounding_box: z.string().nullable().optional(), bbox_top: z.number().nullable().optional(), bbox_right: z.number().nullable().optional(), bbox_bottom: z.number().nullable().optional(), bbox_left: z.number().nullable().optional(), target_pages: z.string().nullable().optional(), use_vendor_multimodal_model: z.boolean().nullable().optional(), vendor_multimodal_model_name: z.string().nullable().optional(), model: z.string().nullable().optional(), vendor_multimodal_api_key: z.string().nullable().optional(), page_prefix: z.string().nullable().optional(), page_suffix: z.string().nullable().optional(), webhook_url: z.string().nullable().optional(), preset: z.string().nullable().optional(), take_screenshot: z.boolean().nullable().optional(), is_formatting_instruction: z.boolean().nullable().optional(), premium_mode: z.boolean().nullable().optional(), continuous_mode: z.boolean().nullable().optional(), input_s3_path: z.string().nullable().optional(), input_s3_region: z.string().nullable().optional(), output_s3_path_prefix: z.string().nullable().optional(), output_s3_region: z.string().nullable().optional(), project_id: z.string().nullable().optional(), azure_openai_deployment_name: z.string().nullable().optional(), azure_openai_endpoint: z.string().nullable().optional(), azure_openai_api_version: z.string().nullable().optional(), azure_openai_key: z.string().nullable().optional(), input_url: z.string().nullable().optional(), http_proxy: z.string().nullable().optional(), auto_mode: z.boolean().nullable().optional(), auto_mode_trigger_on_regexp_in_page: z.string().nullable().optional(), auto_mode_trigger_on_text_in_page: z.string().nullable().optional(), auto_mode_trigger_on_table_in_page: z.boolean().nullable().optional(), auto_mode_trigger_on_image_in_page: z.boolean().nullable().optional(), auto_mode_configuration_json: z.string().nullable().optional(), structured_output: z.boolean().nullable().optional(), structured_output_json_schema: z.string().nullable().optional(), structured_output_json_schema_name: z.string().nullable().optional(), max_pages: z.number().int().nullable().optional(), max_pages_enforced: z.number().int().nullable().optional(), extract_charts: z.boolean().nullable().optional(), formatting_instruction: z.string().nullable().optional(), complemental_formatting_instruction: z.string().nullable().optional(), content_guideline_instruction: z.string().nullable().optional(), spreadsheet_extract_sub_tables: z.boolean().nullable().optional(), spreadsheet_force_formula_computation: z.boolean().nullable().optional(), spreadsheet_include_hidden_sheets: z.boolean().nullable().optional(), inline_images_in_markdown: z.boolean().nullable().optional(), job_timeout_in_seconds: z.number().nullable().optional(), job_timeout_extra_time_per_page_in_seconds: z.number().nullable().optional(), strict_mode_image_extraction: z.boolean().nullable().optional(), strict_mode_image_ocr: z.boolean().nullable().optional(), strict_mode_reconstruction: z.boolean().nullable().optional(), strict_mode_buggy_font: z.boolean().nullable().optional(), save_images: z.boolean().nullable().optional(), images_to_save: z.array(z.enum(["screenshot", "embedded", "layout"])).nullable().optional(), hide_headers: z.boolean().nullable().optional(), hide_footers: z.boolean().nullable().optional(), page_header_prefix: z.string().nullable().optional(), page_header_suffix: z.string().nullable().optional(), page_footer_prefix: z.string().nullable().optional(), page_footer_suffix: z.string().nullable().optional(), remove_hidden_text: z.boolean().nullable().optional(), keep_page_separator_when_merging_tables: z.boolean().nullable().optional(), ignore_document_elements_for_layout_detection: z.boolean().nullable().optional(), output_tables_as_HTML: z.boolean().nullable().optional(), internal_is_screenshot_job: z.boolean().nullable().optional(), parse_mode: parsingMode.nullable().optional(), system_prompt: z.string().nullable().optional(), system_prompt_append: z.string().nullable().optional(), user_prompt: z.string().nullable().optional(), page_error_tolerance: z.number().nullable().optional(), replace_failed_page_mode: failPageMode.nullable().optional(), replace_failed_page_with_error_message_prefix: z.string().nullable().optional(), replace_failed_page_with_error_message_suffix: z.string().nullable().optional(), markdown_table_multiline_header_separator: z.string().nullable().optional(), presentation_out_of_bounds_content: z.boolean().nullable().optional(), presentation_skip_embedded_data: z.boolean().nullable().optional(), tier: z.string().nullable().optional(), version: z.string().nullable().optional(), extract_printed_page_number: z.boolean().nullable().optional(), enable_cost_optimizer: z.boolean().nullable().optional()}); export const configurableDataSinkNames = z.enum(["PINECONE", "POSTGRES", "QDRANT", "AZUREAI_SEARCH", "MONGODB_ATLAS", "MILVUS", "ASTRA_DB"]); export const cloudPineconeVectorStore = z.object({supports_nested_metadata_filters: z.literal(true).optional(), api_key: z.string(), index_name: z.string(), namespace: z.string().nullable().optional(), insert_kwargs: z.record(z.string(), z.unknown()).nullable().optional(), class_name: z.string().optional()}); export const pGVectorVectorType = z.enum(["vector", "half_vec", "bit", "sparse_vec"]); export const pGVectorDistanceMethod = z.enum(["l2", "ip", "cosine", "l1", "hamming", "jaccard"]); export const pGVectorHNSWSettings = z.object({ef_construction: z.number().int().gte(1).optional(), ef_search: z.number().int().gte(1).optional(), m: z.number().int().gte(1).optional(), vector_type: pGVectorVectorType.optional(), distance_method: pGVectorDistanceMethod.optional()}); export const cloudPostgresVectorStore = z.object({supports_nested_metadata_filters: z.boolean().optional(), database: z.string(), host: z.string(), password: z.string(), port: z.number().int(), user: z.string(), table_name: z.string(), schema_name: z.string(), embed_dim: z.number().int(), hybrid_search: z.boolean().nullable().optional(), perform_setup: z.boolean().optional(), hnsw_settings: pGVectorHNSWSettings.nullable().optional(), class_name: z.string().optional()}); export const cloudQdrantVectorStore = z.object({supports_nested_metadata_filters: z.literal(true).optional(), collection_name: z.string(), url: z.string(), api_key: z.string(), max_retries: z.number().int().optional(), client_kwargs: z.record(z.string(), z.unknown()).optional(), class_name: z.string().optional()}); export const cloudAzureAISearchVectorStore = z.object({supports_nested_metadata_filters: z.literal(true).optional(), search_service_api_key: z.string(), search_service_endpoint: z.string(), search_service_api_version: z.string().nullable().optional(), index_name: z.string().nullable().optional(), filterable_metadata_field_keys: z.record(z.string(), z.unknown()).nullable().optional(), embedding_dimension: z.number().int().nullable().optional(), client_id: z.string().nullable().optional(), client_secret: z.string().nullable().optional(), tenant_id: z.string().nullable().optional(), class_name: z.string().optional()}); export const cloudMongoDBAtlasVectorSearch = z.object({supports_nested_metadata_filters: z.boolean().optional(), mongodb_uri: z.string(), db_name: z.string(), collection_name: z.string(), vector_index_name: z.string().nullable().optional(), fulltext_index_name: z.string().nullable().optional(), embedding_dimension: z.number().int().nullable().optional(), class_name: z.string().optional()}); export const cloudMilvusVectorStore = z.object({supports_nested_metadata_filters: z.boolean().optional(), uri: z.string(), collection_name: z.string().nullable().optional(), token: z.string().nullable().optional(), embedding_dimension: z.number().int().nullable().optional(), class_name: z.string().optional()}); export const cloudAstraDBVectorStore = z.object({supports_nested_metadata_filters: z.literal(true).optional(), token: z.string(), api_endpoint: z.string(), collection_name: z.string(), embedding_dimension: z.number().int(), keyspace: z.string().nullable().optional(), class_name: z.string().optional()}); export const dataSink = z.object({id: z.string(), created_at: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), name: z.string(), sink_type: configurableDataSinkNames, component: z.union([z.record(z.string(), z.unknown()), cloudPineconeVectorStore, cloudPostgresVectorStore, cloudQdrantVectorStore, cloudAzureAISearchVectorStore, cloudMongoDBAtlasVectorSearch, cloudMilvusVectorStore, cloudAstraDBVectorStore]), project_id: z.string()}); export const pipelineMetadataConfig = z.object({excluded_embed_metadata_keys: z.array(z.string()).optional(), excluded_llm_metadata_keys: z.array(z.string()).optional()}); export const managedOpenAIEmbedding = z.object({model_name: z.literal("openai-text-embedding-3-small").optional(), embed_batch_size: z.number().int().gt(0).lte(2048).optional(), num_workers: z.number().int().nullable().optional(), class_name: z.string().optional()}); export const managedOpenAIEmbeddingConfig = z.object({type: z.literal("MANAGED_OPENAI_EMBEDDING").optional(), component: managedOpenAIEmbedding.optional()}); export const pipeline = z.object({id: z.string(), created_at: z.string().nullable().optional(), updated_at: z.string().nullable().optional(), name: z.string(), project_id: z.string(), embedding_model_config_id: z.string().nullable().optional(), embedding_model_config: embeddingModelConfig.nullable().optional(), pipeline_type: pipelineType.optional(), managed_pipeline_id: z.string().nullable().optional(), sparse_model_config: sparseModelConfig.nullable().optional(), config_hash: pipelineConfigurationHashes.nullable().optional(), transform_config: z.union([autoTransformConfig, advancedModeTransformConfig]).optional(), preset_retrieval_parameters: presetRetrievalParams.optional(), llama_parse_parameters: llamaParseParameters.nullable().optional(), data_sink: dataSink.nullable().optional(), status: z.enum(["CREATED", "DELETING"]).nullable().optional(), metadata_config: pipelineMetadataConfig.nullable().optional(), embedding_config: z.discriminatedUnion("type", [managedOpenAIEmbeddingConfig, azureOpenAIEmbeddingConfig, cohereEmbeddingConfig, geminiEmbeddingConfig, huggingFaceInferenceAPIEmbeddingConfig, openAIEmbeddingConfig, vertexAIEmbeddingConfig, bedrockEmbeddingConfig])}); 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 }; /** * Copy Pipeline * * POST /api/v1/pipelines/{pipeline_id}/copy */ export const createApiApiV1PipelinesPipelineIdCopy = async (args: CreateApiApiV1PipelinesPipelineIdCopyArgs, options: CreateApiApiV1PipelinesPipelineIdCopyOptions) => { const {baseUrl, fetch: fetchFn = fetch, HTTPBearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() const cookies: string[] = [] headers.set('accept', "application/json") if (args.project_id != null) query.append("project_id", String(args.project_id)) if (args.session != null) cookies.push("session=" + encodeURIComponent(String(args.session))) if (HTTPBearer !== undefined) headers.set('authorization', `Bearer ${HTTPBearer}`) if (cookies.length > 0) headers.set('cookie', cookies.join('; ')) const url = `${baseUrl.replace(/\/+$/, '')}/api/v1/pipelines/${encodeURIComponent(String(args.pipeline_id))}/copy${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(pipeline, await res.json()) };