@kadoa/node-sdk 0.14.1 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/index.global.js +10 -10
- package/dist/browser/index.global.js.map +1 -1
- package/dist/index.d.mts +121 -63
- package/dist/index.d.ts +121 -63
- package/dist/index.js +51 -31
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +51 -31
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/domains/extraction/extraction.acl.ts","../src/runtime/pagination/paginator.ts","../src/domains/extraction/services/data-fetcher.service.ts","../src/runtime/exceptions/base.exception.ts","../src/runtime/exceptions/http.exception.ts","../src/runtime/logger/index.ts","../src/domains/schemas/schema-builder.ts","../src/generated/base.ts","../src/generated/common.ts","../src/generated/api/data-validation-api.ts","../src/generated/api/notifications-api.ts","../src/generated/api/schemas-api.ts","../src/generated/api/workflows-api.ts","../src/generated/configuration.ts","../src/domains/schemas/schemas.service.ts","../src/domains/extraction/services/entity-resolver.service.ts","../src/domains/extraction/services/extraction.service.ts","../src/domains/extraction/services/extraction-builder.service.ts","../src/domains/notifications/notifications.acl.ts","../src/domains/notifications/notification-channels.service.ts","../src/domains/notifications/notification-settings.service.ts","../src/domains/notifications/notification-setup.service.ts","../src/runtime/config/constants.ts","../src/version.ts","../src/domains/realtime/realtime.ts","../src/domains/user/user.service.ts","../src/runtime/utils/polling.ts","../src/domains/validation/validation-core.service.ts","../src/domains/validation/validation-rules.service.ts","../src/domains/workflows/workflows.acl.ts","../src/domains/workflows/workflows-core.service.ts","../src/domains/validation/validation.facade.ts","../src/kadoa-client.ts"],"names":["name","axios","globalAxios","BASE_PATH","URL","debug","result","merge","channel","error","config"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Extraction domain ACL.\n * Wraps generated WorkflowsApi requests/responses for data fetching operations.\n * Wraps generated schema field types for entity resolution.\n * Downstream code must import from this module instead of `generated/**`.\n */\n\nimport type {\n CreateWorkflowWithSchemaBodyIntervalEnum,\n CreateWorkflowWithSchemaBodyNavigationModeEnum,\n ExtractionClassificationField,\n ExtractionClassificationFieldFieldTypeEnum,\n ExtractionMetadataField,\n ExtractionMetadataFieldFieldTypeEnum,\n ExtractionMetadataFieldMetadataKeyEnum,\n ExtractionSchemaField,\n ExtractionSchemaFieldDataTypeEnum,\n ExtractionSchemaFieldFieldTypeEnum,\n Location,\n V4WorkflowsWorkflowIdDataGet200Response,\n V4WorkflowsWorkflowIdDataGet200ResponsePagination,\n V4WorkflowsWorkflowIdDataGetOrderEnum,\n V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInner,\n V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInnerOperatorEnum,\n} from \"../../generated\";\nimport type {\n GetWorkflowResponse,\n MonitoringConfig,\n WorkflowsApiInterface,\n} from \"../workflows/workflows.acl\";\n\n/**\n * Data pagination metadata.\n */\nexport type DataPagination = V4WorkflowsWorkflowIdDataGet200ResponsePagination;\n\n/**\n * Workflow data response.\n * Note: This type doesn't contain enum fields that need remapping.\n */\nexport type WorkflowDataResponse = V4WorkflowsWorkflowIdDataGet200Response;\n\n/**\n * Data sort order enum.\n */\nexport const DataSortOrder = {\n Asc: \"asc\",\n Desc: \"desc\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsWorkflowIdDataGetOrderEnum,\n V4WorkflowsWorkflowIdDataGetOrderEnum\n>;\n\nexport type DataSortOrder = (typeof DataSortOrder)[keyof typeof DataSortOrder];\n\n/**\n * Options for fetching workflow data.\n */\nexport class FetchDataOptions {\n workflowId!: string;\n runId?: string;\n sortBy?: string;\n order?: DataSortOrder;\n filters?: string;\n page?: number;\n limit?: number;\n includeAnomalies?: boolean;\n}\n\n/**\n * Schema field data type enum.\n */\nexport const SchemaFieldDataType = {\n Text: \"TEXT\",\n Number: \"NUMBER\",\n Date: \"DATE\",\n Url: \"URL\",\n Email: \"EMAIL\",\n Image: \"IMAGE\",\n Video: \"VIDEO\",\n Phone: \"PHONE\",\n Boolean: \"BOOLEAN\",\n Location: \"LOCATION\",\n Array: \"ARRAY\",\n Object: \"OBJECT\",\n} as const satisfies Record<string, string>;\n\nexport type SchemaFieldDataType =\n (typeof SchemaFieldDataType)[keyof typeof SchemaFieldDataType];\n\nexport type SchemaField =\n | ExtractionSchemaField\n | ExtractionClassificationField\n | ExtractionMetadataField;\n\nexport type NavigationMode =\n (typeof CreateWorkflowWithSchemaBodyNavigationModeEnum)[keyof typeof CreateWorkflowWithSchemaBodyNavigationModeEnum];\n\nexport type DataTypeInternal =\n (typeof ExtractionSchemaFieldDataTypeEnum)[keyof typeof ExtractionSchemaFieldDataTypeEnum];\n\nexport type DataType = Exclude<\n DataTypeInternal,\n | \"CURRENCY\"\n | \"JOB_DESCRIPTION\"\n | \"CATEGORY_JOB_TYPES\"\n | \"CLASSIFICATION\"\n | \"CATEGORIZE\"\n | \"STATIC_SCRAPER_DATA\"\n | \"UNIQUE_ID\"\n | \"JOBBIRD_CUSTOM\"\n | \"PASS\"\n | \"ADDITIONAL_DATA\"\n>;\n\nexport type MetadataKey =\n (typeof ExtractionMetadataFieldMetadataKeyEnum)[keyof typeof ExtractionMetadataFieldMetadataKeyEnum];\n\nexport type WorkflowInterval =\n (typeof CreateWorkflowWithSchemaBodyIntervalEnum)[keyof typeof CreateWorkflowWithSchemaBodyIntervalEnum];\n\nexport type MonitoringOperator =\n (typeof V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInnerOperatorEnum)[keyof typeof V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInnerOperatorEnum];\n\nexport type MonitoringField =\n V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInner & {\n isKeyField?: boolean;\n };\n\nexport type LocationConfig = Location;\n\nexport type RawFormat =\n (typeof ExtractionMetadataFieldMetadataKeyEnum)[keyof typeof ExtractionMetadataFieldMetadataKeyEnum];\n\nexport type FieldType =\n | ExtractionMetadataFieldFieldTypeEnum\n | ExtractionClassificationFieldFieldTypeEnum\n | ExtractionSchemaFieldFieldTypeEnum;\n\nexport type WorkflowMonitoringConfig = MonitoringConfig;\n\n/**\n * Workflow details response.\n * Re-exported from workflows.acl.ts to get SDK-curated enum types.\n */\nexport type WorkflowDetailsResponse = GetWorkflowResponse;\n\nexport type { WorkflowsApiInterface };\n","import type { PagedResponse, PageOptions } from \"./types\";\n\n/**\n * Simple async paginator for page-based pagination\n * @template T The type of items being paginated\n */\nexport class PagedIterator<T> {\n constructor(\n private readonly fetchPage: (\n options: PageOptions,\n ) => Promise<PagedResponse<T>>,\n ) {}\n\n /**\n * Fetch all items across all pages\n * @param options Base options (page will be overridden)\n * @returns Array of all items\n */\n async fetchAll(options: Omit<PageOptions, \"page\"> = {}): Promise<T[]> {\n const allItems: T[] = [];\n let currentPage = 1;\n let hasMore = true;\n\n while (hasMore) {\n const result = await this.fetchPage({ ...options, page: currentPage });\n allItems.push(...result.data);\n\n const pagination = result.pagination;\n hasMore =\n pagination.page !== undefined &&\n pagination.totalPages !== undefined &&\n pagination.page < pagination.totalPages;\n\n currentPage++;\n }\n\n return allItems;\n }\n\n /**\n * Create an async iterator for pages\n * @param options Base options (page will be overridden)\n * @returns Async generator that yields pages\n */\n async *pages(\n options: Omit<PageOptions, \"page\"> = {},\n ): AsyncGenerator<PagedResponse<T>, void, unknown> {\n let currentPage = 1;\n let hasMore = true;\n\n while (hasMore) {\n const result = await this.fetchPage({ ...options, page: currentPage });\n yield result;\n\n const pagination = result.pagination;\n hasMore =\n pagination.page !== undefined &&\n pagination.totalPages !== undefined &&\n pagination.page < pagination.totalPages;\n\n currentPage++;\n }\n }\n\n /**\n * Create an async iterator for individual items\n * @param options Base options (page will be overridden)\n * @returns Async generator that yields items\n */\n async *items(\n options: Omit<PageOptions, \"page\"> = {},\n ): AsyncGenerator<T, void, unknown> {\n for await (const page of this.pages(options)) {\n for (const item of page.data) {\n yield item;\n }\n }\n }\n}\n","import { PagedIterator, type PagedResponse } from \"../../../runtime/pagination\";\nimport type {\n FetchDataOptions,\n WorkflowsApiInterface,\n} from \"../extraction.acl\";\n\nexport interface FetchDataResult extends PagedResponse<object> {\n workflowId: string;\n runId?: string | null;\n executedAt?: string | null;\n}\n\n/**\n * Service for fetching workflow data with pagination support\n */\nexport class DataFetcherService {\n private readonly defaultLimit = 100;\n\n constructor(private readonly workflowsApi: WorkflowsApiInterface) {}\n\n /**\n * Fetch a page of workflow data\n */\n async fetchData(options: FetchDataOptions): Promise<FetchDataResult> {\n const response = await this.workflowsApi.v4WorkflowsWorkflowIdDataGet({\n ...options,\n page: options.page ?? 1,\n limit: options.limit ?? this.defaultLimit,\n });\n\n const result = response.data;\n return result;\n }\n\n /**\n * Fetch all pages of workflow data\n */\n async fetchAllData(options: FetchDataOptions): Promise<object[]> {\n const iterator = new PagedIterator((pageOptions) =>\n this.fetchData({ ...options, ...pageOptions }),\n );\n\n return iterator.fetchAll({ limit: options.limit ?? this.defaultLimit });\n }\n\n /**\n * Create an async iterator for paginated data fetching\n */\n async *fetchDataPages(\n options: FetchDataOptions,\n ): AsyncGenerator<FetchDataResult, void, unknown> {\n const iterator = new PagedIterator((pageOptions) =>\n this.fetchData({ ...options, ...pageOptions }),\n );\n\n for await (const page of iterator.pages({\n limit: options.limit ?? this.defaultLimit,\n })) {\n yield page as FetchDataResult;\n }\n }\n}\n","export const KadoaErrorCode = {\n UNKNOWN: \"UNKNOWN\",\n CONFIG_ERROR: \"CONFIG_ERROR\",\n AUTH_ERROR: \"AUTH_ERROR\",\n VALIDATION_ERROR: \"VALIDATION_ERROR\",\n BAD_REQUEST: \"BAD_REQUEST\",\n NOT_FOUND: \"NOT_FOUND\",\n RATE_LIMITED: \"RATE_LIMITED\",\n ABORTED: \"ABORTED\",\n TIMEOUT: \"TIMEOUT\",\n NETWORK_ERROR: \"NETWORK_ERROR\",\n HTTP_ERROR: \"HTTP_ERROR\",\n INTERNAL_ERROR: \"INTERNAL_ERROR\",\n} as const satisfies Record<string, string>;\n\nexport type KadoaErrorCode =\n (typeof KadoaErrorCode)[keyof typeof KadoaErrorCode];\n\nexport type KadoaSdkExceptionOptions = {\n code?: KadoaErrorCode;\n details?: Record<string, unknown>;\n cause?: unknown;\n};\n\nexport class KadoaSdkException extends Error {\n readonly code: KadoaErrorCode;\n readonly details?: Record<string, unknown>;\n readonly cause?: unknown;\n\n static readonly ERROR_MESSAGES = {\n // General errors\n CONFIG_ERROR: \"Invalid configuration provided\",\n AUTH_FAILED: \"Authentication failed. Please check your API key\",\n RATE_LIMITED: \"Rate limit exceeded. Please try again later\",\n NETWORK_ERROR: \"Network error occurred\",\n SERVER_ERROR: \"Server error occurred\",\n PARSE_ERROR: \"Failed to parse response\",\n BAD_REQUEST: \"Bad request\",\n ABORTED: \"Aborted\",\n NOT_FOUND: \"Not found\",\n\n // Workflow specific errors\n NO_WORKFLOW_ID: \"Failed to start extraction process - no ID received\",\n WORKFLOW_CREATE_FAILED: \"Failed to create workflow\",\n WORKFLOW_TIMEOUT: \"Workflow processing timed out\",\n WORKFLOW_UNEXPECTED_STATUS: \"Extraction completed with unexpected status\",\n PROGRESS_CHECK_FAILED: \"Failed to check extraction progress\",\n DATA_FETCH_FAILED: \"Failed to retrieve extracted data from workflow\",\n\n // Extraction specific errors\n NO_URLS: \"At least one URL is required for extraction\",\n NO_API_KEY: \"API key is required for entity detection\",\n LINK_REQUIRED: \"Link is required for entity field detection\",\n NO_PREDICTIONS: \"No entity predictions returned from the API\",\n EXTRACTION_FAILED: \"Data extraction failed for the provided URLs\",\n ENTITY_FETCH_FAILED: \"Failed to fetch entity fields\",\n ENTITY_INVARIANT_VIOLATION: \"No valid entity provided\",\n\n // Schema specific errors\n SCHEMA_NOT_FOUND: \"Schema not found\",\n SCHEMA_FETCH_ERROR: \"Failed to fetch schema\",\n SCHEMAS_FETCH_ERROR: \"Failed to fetch schemas\",\n SCHEMA_CREATE_FAILED: \"Failed to create schema\",\n SCHEMA_UPDATE_FAILED: \"Failed to update schema\",\n SCHEMA_DELETE_FAILED: \"Failed to delete schema\",\n } as const;\n\n constructor(message: string, options?: KadoaSdkExceptionOptions) {\n super(message);\n this.name = \"KadoaSdkException\";\n this.code = options?.code ?? \"UNKNOWN\";\n this.details = options?.details;\n if (options && \"cause\" in options) this.cause = options.cause;\n Error.captureStackTrace?.(this, KadoaSdkException);\n }\n\n static from(\n error: unknown,\n details?: Record<string, unknown>,\n ): KadoaSdkException {\n if (error instanceof KadoaSdkException) return error;\n const message =\n error instanceof Error\n ? error.message\n : typeof error === \"string\"\n ? error\n : \"Unexpected error\";\n return new KadoaSdkException(message, {\n code: \"UNKNOWN\",\n details,\n cause: error,\n });\n }\n\n toJSON(): Record<string, unknown> {\n return {\n name: this.name,\n message: this.message,\n code: this.code,\n details: this.details,\n };\n }\n\n toString(): string {\n return [this.name, this.code, this.message].filter(Boolean).join(\": \");\n }\n\n toDetailedString(): string {\n const parts = [`${this.name}: ${this.message}`, `Code: ${this.code}`];\n if (this.details && Object.keys(this.details).length > 0) {\n parts.push(`Details: ${JSON.stringify(this.details, null, 2)}`);\n }\n if (this.cause) {\n parts.push(`Cause: ${this.cause}`);\n }\n return parts.join(\"\\n\");\n }\n\n static isInstance(error: unknown): error is KadoaSdkException {\n return error instanceof KadoaSdkException;\n }\n\n static wrap(\n error: unknown,\n extra?: { message?: string; details?: Record<string, unknown> },\n ): KadoaSdkException {\n if (error instanceof KadoaSdkException) return error;\n const message =\n extra?.message ||\n (error instanceof Error\n ? error.message\n : typeof error === \"string\"\n ? error\n : \"Unexpected error\");\n return new KadoaSdkException(message, {\n code: \"UNKNOWN\",\n details: extra?.details,\n cause: error,\n });\n }\n}\n\nexport const ERROR_MESSAGES = KadoaSdkException.ERROR_MESSAGES;\n","import { type AxiosError, isAxiosError } from \"axios\";\nimport { type KadoaErrorCode, KadoaSdkException } from \"./base.exception\";\n\nexport type KadoaHttpExceptionOptions = {\n httpStatus?: number;\n requestId?: string;\n endpoint?: string;\n method?: string;\n responseBody?: unknown;\n details?: Record<string, unknown>;\n code?: KadoaErrorCode;\n cause?: unknown;\n};\n\nexport class KadoaHttpException extends KadoaSdkException {\n readonly httpStatus?: number;\n readonly requestId?: string;\n readonly endpoint?: string;\n readonly method?: string;\n readonly responseBody?: unknown;\n\n constructor(message: string, options?: KadoaHttpExceptionOptions) {\n super(message, {\n code: options?.code,\n details: options?.details,\n cause: options?.cause,\n });\n this.name = \"KadoaHttpException\";\n this.httpStatus = options?.httpStatus;\n this.requestId = options?.requestId;\n this.endpoint = options?.endpoint;\n this.method = options?.method;\n this.responseBody = options?.responseBody;\n }\n\n static fromAxiosError(\n error: AxiosError,\n extra?: { message?: string; details?: Record<string, unknown> },\n ): KadoaHttpException {\n const status = error.response?.status;\n const requestId =\n (error.response?.headers?.[\"x-request-id\"] as string | undefined) ||\n (error.response?.headers?.[\"x-amzn-requestid\"] as string | undefined);\n const method = error.config?.method?.toUpperCase();\n const url = error.config?.url;\n\n return new KadoaHttpException(extra?.message || error.message, {\n code: KadoaHttpException.mapStatusToCode(error),\n httpStatus: status,\n requestId,\n endpoint: url,\n method,\n responseBody: error.response?.data,\n details: extra?.details,\n cause: error,\n });\n }\n\n toJSON(): Record<string, unknown> {\n return {\n ...super.toJSON(),\n httpStatus: this.httpStatus,\n requestId: this.requestId,\n endpoint: this.endpoint,\n method: this.method,\n responseBody: this.responseBody,\n };\n }\n\n toDetailedString(): string {\n const parts = [`${this.name}: ${this.message}`, `Code: ${this.code}`];\n if (this.httpStatus) {\n parts.push(`HTTP Status: ${this.httpStatus}`);\n }\n if (this.method && this.endpoint) {\n parts.push(`Request: ${this.method} ${this.endpoint}`);\n }\n if (this.requestId) {\n parts.push(`Request ID: ${this.requestId}`);\n }\n if (this.responseBody) {\n parts.push(\n `Response Body: ${JSON.stringify(this.responseBody, null, 2)}`,\n );\n }\n if (this.details && Object.keys(this.details).length > 0) {\n parts.push(`Details: ${JSON.stringify(this.details, null, 2)}`);\n }\n if (this.cause) {\n parts.push(`Cause: ${this.cause}`);\n }\n return parts.join(\"\\n\");\n }\n\n static wrap(\n error: unknown,\n extra?: { message?: string; details?: Record<string, unknown> },\n ): KadoaSdkException | KadoaHttpException {\n if (error instanceof KadoaHttpException) return error;\n if (error instanceof KadoaSdkException) return error;\n if (isAxiosError(error)) {\n return KadoaHttpException.fromAxiosError(error, extra);\n }\n return KadoaSdkException.wrap(error, extra);\n }\n\n static mapStatusToCode(errorOrStatus: AxiosError | number): KadoaErrorCode {\n const status =\n typeof errorOrStatus === \"number\"\n ? errorOrStatus\n : errorOrStatus.response?.status;\n\n if (!status) {\n if (typeof errorOrStatus === \"number\") return \"UNKNOWN\";\n return errorOrStatus.code === \"ECONNABORTED\"\n ? \"TIMEOUT\"\n : errorOrStatus.request\n ? \"NETWORK_ERROR\"\n : \"UNKNOWN\";\n }\n if (status === 401 || status === 403) return \"AUTH_ERROR\";\n if (status === 404) return \"NOT_FOUND\";\n if (status === 408) return \"TIMEOUT\";\n if (status === 429) return \"RATE_LIMITED\";\n if (status >= 400 && status < 500) return \"VALIDATION_ERROR\";\n if (status >= 500) return \"HTTP_ERROR\";\n return \"UNKNOWN\";\n }\n}\n","import createDebug from \"debug\";\n\nexport const createLogger = (namespace: string) =>\n createDebug(`kadoa:${namespace}`);\n\nexport const logger = {\n client: createLogger(\"client\"),\n wss: createLogger(\"wss\"),\n extraction: createLogger(\"extraction\"),\n http: createLogger(\"http\"),\n workflow: createLogger(\"workflow\"),\n crawl: createLogger(\"crawl\"),\n notifications: createLogger(\"notifications\"),\n schemas: createLogger(\"schemas\"),\n validation: createLogger(\"validation\"),\n};\n","import { camelCase, upperFirst } from \"es-toolkit\";\nimport { KadoaSdkException } from \"../../runtime/exceptions\";\nimport type { DataType, RawFormat } from \"../extraction/extraction.acl\";\nimport type { Category, FieldExample, SchemaField } from \"./schemas.acl\";\n\nexport type { FieldExample, Category };\n\n/**\n * Optional configuration for schema fields\n */\nexport interface FieldOptions {\n /**\n * Example value for the field (required for STRING, IMAGE, LINK, OBJECT, ARRAY)\n * Can be a string or an array of strings\n */\n example?: FieldExample;\n /**\n * Whether this field is a primary key\n */\n isKey?: boolean;\n}\n\n/**\n * Builder for defining custom schemas with fields\n */\nexport class SchemaBuilder {\n private static readonly FIELD_NAME_PATTERN = /^[A-Za-z0-9]+$/;\n private static readonly TYPES_REQUIRING_EXAMPLE: DataType[] = [\n \"STRING\",\n \"IMAGE\",\n \"LINK\",\n \"OBJECT\",\n \"ARRAY\",\n ];\n\n readonly fields: SchemaField[] = [];\n entityName?: string;\n\n entity(entityName: string): this {\n this.entityName = entityName;\n return this;\n }\n\n /**\n * Add a structured field to the schema\n * @param name - Field name (alphanumeric only)\n * @param description - Field description\n * @param dataType - Data type (STRING, NUMBER, BOOLEAN, etc.)\n * @param options - Optional field configuration\n */\n field(\n name: string,\n description: string,\n dataType: DataType,\n options?: FieldOptions,\n ): this {\n this.validateFieldName(name);\n\n const requiresExample =\n SchemaBuilder.TYPES_REQUIRING_EXAMPLE.includes(dataType);\n if (requiresExample && !options?.example) {\n throw new KadoaSdkException(\n `Field \"${name}\" with type ${dataType} requires an example`,\n { code: \"VALIDATION_ERROR\", details: { name, dataType } },\n );\n }\n\n this.fields.push({\n name,\n description,\n dataType,\n fieldType: \"SCHEMA\",\n example: options?.example,\n isKey: options?.isKey,\n });\n return this;\n }\n\n /**\n * Add a classification field to categorize content\n * @param name - Field name (alphanumeric only)\n * @param description - Field description\n * @param categories - Array of category definitions\n */\n classify(name: string, description: string, categories: Category[]): this {\n this.validateFieldName(name);\n\n this.fields.push({\n name,\n description,\n fieldType: \"CLASSIFICATION\",\n categories,\n });\n return this;\n }\n\n /**\n * Add raw page content to extract\n * @param name - Raw content format(s): \"html\", \"markdown\", or \"url\"\n */\n raw(name: RawFormat | RawFormat[]): this {\n const names = Array.isArray(name) ? name : [name];\n\n for (const name of names) {\n const fieldName = `raw${upperFirst(camelCase(name))}`;\n\n if (this.fields.some((field) => field.name === fieldName)) {\n continue;\n }\n\n this.fields.push({\n name: fieldName,\n description: `Raw page content in ${name.toUpperCase()} format`,\n fieldType: \"METADATA\",\n metadataKey: name,\n });\n }\n return this;\n }\n\n build(): { entityName: string; fields: SchemaField[] } {\n if (!this.entityName) {\n throw new KadoaSdkException(\"Entity name is required\", {\n code: \"VALIDATION_ERROR\",\n details: { entityName: this.entityName },\n });\n }\n\n return {\n entityName: this.entityName,\n fields: this.fields,\n };\n }\n\n private validateFieldName(name: string) {\n if (!SchemaBuilder.FIELD_NAME_PATTERN.test(name)) {\n throw new KadoaSdkException(\n `Field name \"${name}\" must be alphanumeric only (no underscores or special characters)`,\n {\n code: \"VALIDATION_ERROR\",\n details: { name, pattern: \"^[A-Za-z0-9]+$\" },\n },\n );\n }\n\n const lowerName = name.toLowerCase();\n if (this.fields.some((f) => f.name.toLowerCase() === lowerName)) {\n throw new KadoaSdkException(`Duplicate field name: \"${name}\"`, {\n code: \"VALIDATION_ERROR\",\n details: { name },\n });\n }\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from './configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n\nexport const BASE_PATH = \"https://api.kadoa.com\".replace(/\\/+$/, \"\");\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport interface RequestArgs {\n url: string;\n options: RawAxiosRequestConfig;\n}\n\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath ?? basePath;\n }\n }\n};\n\nexport class RequiredError extends Error {\n constructor(public field: string, msg?: string) {\n super(msg);\n this.name = \"RequiredError\"\n }\n}\n\ninterface ServerMap {\n [key: string]: {\n url: string,\n description: string,\n }[];\n}\n\nexport const operationServerMap: ServerMap = {\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from \"./configuration\";\nimport type { RequestArgs } from \"./base\";\nimport type { AxiosInstance, AxiosResponse } from 'axios';\nimport { RequiredError } from \"./base\";\nimport { URL, URLSearchParams } from 'url';\n\nexport const DUMMY_BASE_URL = 'https://example.com'\n\n/**\n *\n * @throws {RequiredError}\n */\nexport const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {\n if (paramValue === null || paramValue === undefined) {\n throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);\n }\n}\n\nexport const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(keyParamName)\n : await configuration.apiKey;\n object[keyParamName] = localVarApiKeyValue;\n }\n}\n\nexport const setBasicAuthToObject = function (object: any, configuration?: Configuration) {\n if (configuration && (configuration.username || configuration.password)) {\n object[\"auth\"] = { username: configuration.username, password: configuration.password };\n }\n}\n\nexport const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const accessToken = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken()\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + accessToken;\n }\n}\n\nexport const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken(name, scopes)\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + localVarAccessTokenValue;\n }\n}\n\nfunction setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = \"\"): void {\n if (parameter == null) return;\n if (typeof parameter === \"object\") {\n if (Array.isArray(parameter)) {\n (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));\n }\n else {\n Object.keys(parameter).forEach(currentKey =>\n setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`)\n );\n }\n }\n else {\n if (urlSearchParams.has(key)) {\n urlSearchParams.append(key, parameter);\n }\n else {\n urlSearchParams.set(key, parameter);\n }\n }\n}\n\nexport const setSearchParams = function (url: URL, ...objects: any[]) {\n const searchParams = new URLSearchParams(url.search);\n setFlattenedQueryParams(searchParams, objects);\n url.search = searchParams.toString();\n}\n\nexport const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {\n const nonString = typeof value !== 'string';\n const needsSerialization = nonString && configuration && configuration.isJsonMime\n ? configuration.isJsonMime(requestOptions.headers['Content-Type'])\n : nonString;\n return needsSerialization\n ? JSON.stringify(value !== undefined ? value : {})\n : (value || \"\");\n}\n\nexport const toPathString = function (url: URL) {\n return url.pathname + url.search + url.hash\n}\n\nexport const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {\n return <T = unknown, R = AxiosResponse<T>>(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url};\n return axios.request<T, R>(axiosRequestArgs);\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from 'url';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { AnomaliesByRuleResponse } from '../models';\n// @ts-ignore\nimport type { AnomalyRulePageResponse } from '../models';\n// @ts-ignore\nimport type { BulkApproveRules } from '../models';\n// @ts-ignore\nimport type { BulkApproveRulesResponse } from '../models';\n// @ts-ignore\nimport type { BulkDeleteRules } from '../models';\n// @ts-ignore\nimport type { BulkDeleteRulesResponse } from '../models';\n// @ts-ignore\nimport type { CreateRule } from '../models';\n// @ts-ignore\nimport type { DataValidationReport } from '../models';\n// @ts-ignore\nimport type { DataValidationRequestBody } from '../models';\n// @ts-ignore\nimport type { DeleteAllRulesResponse } from '../models';\n// @ts-ignore\nimport type { DeleteRuleWithReason } from '../models';\n// @ts-ignore\nimport type { DisableRule } from '../models';\n// @ts-ignore\nimport type { GenerateRule } from '../models';\n// @ts-ignore\nimport type { GenerateRuleResponse } from '../models';\n// @ts-ignore\nimport type { GenerateRules } from '../models';\n// @ts-ignore\nimport type { GenerateRulesResponse } from '../models';\n// @ts-ignore\nimport type { RuleCreateResponse } from '../models';\n// @ts-ignore\nimport type { RuleDeleteResponse } from '../models';\n// @ts-ignore\nimport type { RuleDisableResponse } from '../models';\n// @ts-ignore\nimport type { RuleResponse } from '../models';\n// @ts-ignore\nimport type { RuleUpdateResponse } from '../models';\n// @ts-ignore\nimport type { RulesListResponse } from '../models';\n// @ts-ignore\nimport type { ScheduleValidationResponse } from '../models';\n// @ts-ignore\nimport type { UpdateRule } from '../models';\n// @ts-ignore\nimport type { V4DataValidationRulesGet401Response } from '../models';\n// @ts-ignore\nimport type { V4DataValidationRulesGet500Response } from '../models';\n// @ts-ignore\nimport type { V4DataValidationRulesGetIncludeDeletedParameter } from '../models';\n// @ts-ignore\nimport type { V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response } from '../models';\n// @ts-ignore\nimport type { V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest } from '../models';\n// @ts-ignore\nimport type { V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response } from '../models';\n// @ts-ignore\nimport type { V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest } from '../models';\n// @ts-ignore\nimport type { ValidationListResponse } from '../models';\n/**\n * DataValidationApi - axios parameter creator\n */\nexport const DataValidationApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Bulk approve preview rules for a workflow\n * @param {BulkApproveRules} [bulkApproveRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkApprovePost: async (bulkApproveRules?: BulkApproveRules, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/bulk-approve`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(bulkApproveRules, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Bulk delete rules for a workflow\n * @param {BulkDeleteRules} [bulkDeleteRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkDeletePost: async (bulkDeleteRules?: BulkDeleteRules, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/bulk-delete`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(bulkDeleteRules, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Delete all validation rules with optional filtering\n * @param {DeleteRuleWithReason} [deleteRuleWithReason] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsDeleteAllDelete: async (deleteRuleWithReason?: DeleteRuleWithReason, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/delete-all`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(deleteRuleWithReason, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Generate a validation rule\n * @param {GenerateRule} [generateRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGeneratePost: async (generateRule?: GenerateRule, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/generate`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(generateRule, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Generate multiple validation rules\n * @param {GenerateRules} [generateRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGenerateRulesPost: async (generateRules?: GenerateRules, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/generate-rules`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(generateRules, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * List validation rules with optional filtering\n * @param {string} [groupId] \n * @param {string} [workflowId] \n * @param {V4DataValidationRulesGetStatusEnum} [status] \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {V4DataValidationRulesGetIncludeDeletedParameter} [includeDeleted] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesGet: async (groupId?: string, workflowId?: string, status?: V4DataValidationRulesGetStatusEnum, page?: number, pageSize?: number, includeDeleted?: V4DataValidationRulesGetIncludeDeletedParameter, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (groupId !== undefined) {\n localVarQueryParameter['groupId'] = groupId;\n }\n\n if (workflowId !== undefined) {\n localVarQueryParameter['workflowId'] = workflowId;\n }\n\n if (status !== undefined) {\n localVarQueryParameter['status'] = status;\n }\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['pageSize'] = pageSize;\n }\n\n if (includeDeleted !== undefined) {\n for (const [key, value] of Object.entries(includeDeleted)) {\n localVarQueryParameter[key] = value;\n }\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Create a new validation rule\n * @param {CreateRule} [createRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesPost: async (createRule?: CreateRule, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createRule, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Delete a validation rule with reason\n * @param {string} ruleId \n * @param {DeleteRuleWithReason} [deleteRuleWithReason] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDelete: async (ruleId: string, deleteRuleWithReason?: DeleteRuleWithReason, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'ruleId' is not null or undefined\n assertParamExists('v4DataValidationRulesRuleIdDelete', 'ruleId', ruleId)\n const localVarPath = `/v4/data-validation/rules/{ruleId}`\n .replace(`{${\"ruleId\"}}`, encodeURIComponent(String(ruleId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(deleteRuleWithReason, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Disable a validation rule with reason\n * @param {string} ruleId \n * @param {DisableRule} [disableRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDisablePost: async (ruleId: string, disableRule?: DisableRule, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'ruleId' is not null or undefined\n assertParamExists('v4DataValidationRulesRuleIdDisablePost', 'ruleId', ruleId)\n const localVarPath = `/v4/data-validation/rules/{ruleId}/disable`\n .replace(`{${\"ruleId\"}}`, encodeURIComponent(String(ruleId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(disableRule, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get a validation rule by ID\n * @param {string} ruleId \n * @param {boolean} [includeDeleted] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdGet: async (ruleId: string, includeDeleted?: boolean, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'ruleId' is not null or undefined\n assertParamExists('v4DataValidationRulesRuleIdGet', 'ruleId', ruleId)\n const localVarPath = `/v4/data-validation/rules/{ruleId}`\n .replace(`{${\"ruleId\"}}`, encodeURIComponent(String(ruleId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (includeDeleted !== undefined) {\n localVarQueryParameter['includeDeleted'] = includeDeleted;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Update a validation rule\n * @param {string} ruleId \n * @param {UpdateRule} [updateRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdPut: async (ruleId: string, updateRule?: UpdateRule, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'ruleId' is not null or undefined\n assertParamExists('v4DataValidationRulesRuleIdPut', 'ruleId', ruleId)\n const localVarPath = `/v4/data-validation/rules/{ruleId}`\n .replace(`{${\"ruleId\"}}`, encodeURIComponent(String(ruleId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(updateRule, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {string} validationId \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesGet: async (validationId: string, page?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'validationId' is not null or undefined\n assertParamExists('v4DataValidationValidationsValidationIdAnomaliesGet', 'validationId', validationId)\n const localVarPath = `/v4/data-validation/validations/{validationId}/anomalies`\n .replace(`{${\"validationId\"}}`, encodeURIComponent(String(validationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['pageSize'] = pageSize;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {string} validationId \n * @param {string} ruleName The rule name (URL encoded)\n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet: async (validationId: string, ruleName: string, page?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'validationId' is not null or undefined\n assertParamExists('v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet', 'validationId', validationId)\n // verify required parameter 'ruleName' is not null or undefined\n assertParamExists('v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet', 'ruleName', ruleName)\n const localVarPath = `/v4/data-validation/validations/{validationId}/anomalies/rules/{ruleName}`\n .replace(`{${\"validationId\"}}`, encodeURIComponent(String(validationId)))\n .replace(`{${\"ruleName\"}}`, encodeURIComponent(String(ruleName)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['pageSize'] = pageSize;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get validation details\n * @summary Get validation details\n * @param {string} validationId \n * @param {boolean | null} [includeDryRun] Include dry run validations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdGet: async (validationId: string, includeDryRun?: boolean | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'validationId' is not null or undefined\n assertParamExists('v4DataValidationValidationsValidationIdGet', 'validationId', validationId)\n const localVarPath = `/v4/data-validation/validations/{validationId}`\n .replace(`{${\"validationId\"}}`, encodeURIComponent(String(validationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (includeDryRun !== undefined) {\n localVarQueryParameter['includeDryRun'] = includeDryRun;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {string} workflowId The ID of the workflow to validate\n * @param {string} jobId The ID of the job to validate\n * @param {DataValidationRequestBody} [dataValidationRequestBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowIdJobsJobIdValidatePost: async (workflowId: string, jobId: string, dataValidationRequestBody?: DataValidationRequestBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowIdJobsJobIdValidatePost', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowIdJobsJobIdValidatePost', 'jobId', jobId)\n const localVarPath = `/v4/data-validation/{workflowId}/jobs/{jobId}/validate`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(dataValidationRequestBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {string} workflowId The ID of the workflow to validate\n * @param {string} jobId The ID of the job to validate\n * @param {DataValidationRequestBody} [dataValidationRequestBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost: async (workflowId: string, jobId: string, dataValidationRequestBody?: DataValidationRequestBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost', 'jobId', jobId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/jobs/{jobId}/validate`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(dataValidationRequestBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {string} workflowId \n * @param {string} jobId \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {boolean | null} [includeDryRun] Include dry run validations in results\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet: async (workflowId: string, jobId: string, page?: number, pageSize?: number, includeDryRun?: boolean | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet', 'jobId', jobId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/jobs/{jobId}/validations`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['pageSize'] = pageSize;\n }\n\n if (includeDryRun !== undefined) {\n localVarQueryParameter['includeDryRun'] = includeDryRun;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {string} workflowId \n * @param {string} jobId \n * @param {boolean | null} [includeDryRun] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet: async (workflowId: string, jobId: string, includeDryRun?: boolean | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet', 'jobId', jobId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/jobs/{jobId}/validations/latest`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (includeDryRun !== undefined) {\n localVarQueryParameter['includeDryRun'] = includeDryRun;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {string} workflowId The workflow ID to get validation configuration for\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigGet: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdValidationConfigGet', 'workflowId', workflowId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/validation/config`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {string} workflowId The workflow ID to update validation configuration for\n * @param {V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} [v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigPut: async (workflowId: string, v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest?: V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdValidationConfigPut', 'workflowId', workflowId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/validation/config`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {string} workflowId The workflow ID to update validation settings for\n * @param {V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} [v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationTogglePut: async (workflowId: string, v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest?: V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdValidationTogglePut', 'workflowId', workflowId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/validation/toggle`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {string} workflowId \n * @param {boolean | null} [includeDryRun] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationsLatestGet: async (workflowId: string, includeDryRun?: boolean | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdValidationsLatestGet', 'workflowId', workflowId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/validations/latest`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (includeDryRun !== undefined) {\n localVarQueryParameter['includeDryRun'] = includeDryRun;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * DataValidationApi - functional programming interface\n */\nexport const DataValidationApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = DataValidationApiAxiosParamCreator(configuration)\n return {\n /**\n * Bulk approve preview rules for a workflow\n * @param {BulkApproveRules} [bulkApproveRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsBulkApprovePost(bulkApproveRules?: BulkApproveRules, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BulkApproveRulesResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsBulkApprovePost(bulkApproveRules, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsBulkApprovePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Bulk delete rules for a workflow\n * @param {BulkDeleteRules} [bulkDeleteRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsBulkDeletePost(bulkDeleteRules?: BulkDeleteRules, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BulkDeleteRulesResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsBulkDeletePost(bulkDeleteRules, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsBulkDeletePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Delete all validation rules with optional filtering\n * @param {DeleteRuleWithReason} [deleteRuleWithReason] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsDeleteAllDelete(deleteRuleWithReason?: DeleteRuleWithReason, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteAllRulesResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsDeleteAllDelete(deleteRuleWithReason, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsDeleteAllDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Generate a validation rule\n * @param {GenerateRule} [generateRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsGeneratePost(generateRule?: GenerateRule, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GenerateRuleResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsGeneratePost(generateRule, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsGeneratePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Generate multiple validation rules\n * @param {GenerateRules} [generateRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsGenerateRulesPost(generateRules?: GenerateRules, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GenerateRulesResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsGenerateRulesPost(generateRules, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsGenerateRulesPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * List validation rules with optional filtering\n * @param {string} [groupId] \n * @param {string} [workflowId] \n * @param {V4DataValidationRulesGetStatusEnum} [status] \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {V4DataValidationRulesGetIncludeDeletedParameter} [includeDeleted] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesGet(groupId?: string, workflowId?: string, status?: V4DataValidationRulesGetStatusEnum, page?: number, pageSize?: number, includeDeleted?: V4DataValidationRulesGetIncludeDeletedParameter, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RulesListResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesGet(groupId, workflowId, status, page, pageSize, includeDeleted, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Create a new validation rule\n * @param {CreateRule} [createRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesPost(createRule?: CreateRule, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleCreateResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesPost(createRule, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Delete a validation rule with reason\n * @param {string} ruleId \n * @param {DeleteRuleWithReason} [deleteRuleWithReason] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesRuleIdDelete(ruleId: string, deleteRuleWithReason?: DeleteRuleWithReason, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleDeleteResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesRuleIdDelete(ruleId, deleteRuleWithReason, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesRuleIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Disable a validation rule with reason\n * @param {string} ruleId \n * @param {DisableRule} [disableRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesRuleIdDisablePost(ruleId: string, disableRule?: DisableRule, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleDisableResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesRuleIdDisablePost(ruleId, disableRule, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesRuleIdDisablePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get a validation rule by ID\n * @param {string} ruleId \n * @param {boolean} [includeDeleted] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesRuleIdGet(ruleId: string, includeDeleted?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesRuleIdGet(ruleId, includeDeleted, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesRuleIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Update a validation rule\n * @param {string} ruleId \n * @param {UpdateRule} [updateRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesRuleIdPut(ruleId: string, updateRule?: UpdateRule, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleUpdateResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesRuleIdPut(ruleId, updateRule, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesRuleIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {string} validationId \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationValidationsValidationIdAnomaliesGet(validationId: string, page?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AnomaliesByRuleResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationValidationsValidationIdAnomaliesGet(validationId, page, pageSize, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationValidationsValidationIdAnomaliesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {string} validationId \n * @param {string} ruleName The rule name (URL encoded)\n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(validationId: string, ruleName: string, page?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AnomalyRulePageResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(validationId, ruleName, page, pageSize, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get validation details\n * @summary Get validation details\n * @param {string} validationId \n * @param {boolean | null} [includeDryRun] Include dry run validations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationValidationsValidationIdGet(validationId: string, includeDryRun?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DataValidationReport>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationValidationsValidationIdGet(validationId, includeDryRun, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationValidationsValidationIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {string} workflowId The ID of the workflow to validate\n * @param {string} jobId The ID of the job to validate\n * @param {DataValidationRequestBody} [dataValidationRequestBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowIdJobsJobIdValidatePost(workflowId: string, jobId: string, dataValidationRequestBody?: DataValidationRequestBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ScheduleValidationResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowIdJobsJobIdValidatePost(workflowId, jobId, dataValidationRequestBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowIdJobsJobIdValidatePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {string} workflowId The ID of the workflow to validate\n * @param {string} jobId The ID of the job to validate\n * @param {DataValidationRequestBody} [dataValidationRequestBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(workflowId: string, jobId: string, dataValidationRequestBody?: DataValidationRequestBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ScheduleValidationResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(workflowId, jobId, dataValidationRequestBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {string} workflowId \n * @param {string} jobId \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {boolean | null} [includeDryRun] Include dry run validations in results\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(workflowId: string, jobId: string, page?: number, pageSize?: number, includeDryRun?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ValidationListResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(workflowId, jobId, page, pageSize, includeDryRun, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {string} workflowId \n * @param {string} jobId \n * @param {boolean | null} [includeDryRun] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(workflowId: string, jobId: string, includeDryRun?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DataValidationReport>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(workflowId, jobId, includeDryRun, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {string} workflowId The workflow ID to get validation configuration for\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdValidationConfigGet(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdValidationConfigGet(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdValidationConfigGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {string} workflowId The workflow ID to update validation configuration for\n * @param {V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} [v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdValidationConfigPut(workflowId: string, v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest?: V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdValidationConfigPut(workflowId, v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdValidationConfigPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {string} workflowId The workflow ID to update validation settings for\n * @param {V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} [v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdValidationTogglePut(workflowId: string, v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest?: V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdValidationTogglePut(workflowId, v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdValidationTogglePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {string} workflowId \n * @param {boolean | null} [includeDryRun] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(workflowId: string, includeDryRun?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DataValidationReport>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(workflowId, includeDryRun, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdValidationsLatestGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * DataValidationApi - factory interface\n */\nexport const DataValidationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = DataValidationApiFp(configuration)\n return {\n /**\n * Bulk approve preview rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkApprovePost(requestParameters: DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<BulkApproveRulesResponse> {\n return localVarFp.v4DataValidationRulesActionsBulkApprovePost(requestParameters.bulkApproveRules, options).then((request) => request(axios, basePath));\n },\n /**\n * Bulk delete rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkDeletePost(requestParameters: DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<BulkDeleteRulesResponse> {\n return localVarFp.v4DataValidationRulesActionsBulkDeletePost(requestParameters.bulkDeleteRules, options).then((request) => request(axios, basePath));\n },\n /**\n * Delete all validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsDeleteAllDelete(requestParameters: DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<DeleteAllRulesResponse> {\n return localVarFp.v4DataValidationRulesActionsDeleteAllDelete(requestParameters.deleteRuleWithReason, options).then((request) => request(axios, basePath));\n },\n /**\n * Generate a validation rule\n * @param {DataValidationApiV4DataValidationRulesActionsGeneratePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGeneratePost(requestParameters: DataValidationApiV4DataValidationRulesActionsGeneratePostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<GenerateRuleResponse> {\n return localVarFp.v4DataValidationRulesActionsGeneratePost(requestParameters.generateRule, options).then((request) => request(axios, basePath));\n },\n /**\n * Generate multiple validation rules\n * @param {DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGenerateRulesPost(requestParameters: DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<GenerateRulesResponse> {\n return localVarFp.v4DataValidationRulesActionsGenerateRulesPost(requestParameters.generateRules, options).then((request) => request(axios, basePath));\n },\n /**\n * List validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesGet(requestParameters: DataValidationApiV4DataValidationRulesGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<RulesListResponse> {\n return localVarFp.v4DataValidationRulesGet(requestParameters.groupId, requestParameters.workflowId, requestParameters.status, requestParameters.page, requestParameters.pageSize, requestParameters.includeDeleted, options).then((request) => request(axios, basePath));\n },\n /**\n * Create a new validation rule\n * @param {DataValidationApiV4DataValidationRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesPost(requestParameters: DataValidationApiV4DataValidationRulesPostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<RuleCreateResponse> {\n return localVarFp.v4DataValidationRulesPost(requestParameters.createRule, options).then((request) => request(axios, basePath));\n },\n /**\n * Delete a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDelete(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleDeleteResponse> {\n return localVarFp.v4DataValidationRulesRuleIdDelete(requestParameters.ruleId, requestParameters.deleteRuleWithReason, options).then((request) => request(axios, basePath));\n },\n /**\n * Disable a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDisablePost(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleDisableResponse> {\n return localVarFp.v4DataValidationRulesRuleIdDisablePost(requestParameters.ruleId, requestParameters.disableRule, options).then((request) => request(axios, basePath));\n },\n /**\n * Get a validation rule by ID\n * @param {DataValidationApiV4DataValidationRulesRuleIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdGet(requestParameters: DataValidationApiV4DataValidationRulesRuleIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleResponse> {\n return localVarFp.v4DataValidationRulesRuleIdGet(requestParameters.ruleId, requestParameters.includeDeleted, options).then((request) => request(axios, basePath));\n },\n /**\n * Update a validation rule\n * @param {DataValidationApiV4DataValidationRulesRuleIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdPut(requestParameters: DataValidationApiV4DataValidationRulesRuleIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleUpdateResponse> {\n return localVarFp.v4DataValidationRulesRuleIdPut(requestParameters.ruleId, requestParameters.updateRule, options).then((request) => request(axios, basePath));\n },\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnomaliesByRuleResponse> {\n return localVarFp.v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters.validationId, requestParameters.page, requestParameters.pageSize, options).then((request) => request(axios, basePath));\n },\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnomalyRulePageResponse> {\n return localVarFp.v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters.validationId, requestParameters.ruleName, requestParameters.page, requestParameters.pageSize, options).then((request) => request(axios, basePath));\n },\n /**\n * Get validation details\n * @summary Get validation details\n * @param {DataValidationApiV4DataValidationValidationsValidationIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport> {\n return localVarFp.v4DataValidationValidationsValidationIdGet(requestParameters.validationId, requestParameters.includeDryRun, options).then((request) => request(axios, basePath));\n },\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<ScheduleValidationResponse> {\n return localVarFp.v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters.workflowId, requestParameters.jobId, requestParameters.dataValidationRequestBody, options).then((request) => request(axios, basePath));\n },\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<ScheduleValidationResponse> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters.workflowId, requestParameters.jobId, requestParameters.dataValidationRequestBody, options).then((request) => request(axios, basePath));\n },\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<ValidationListResponse> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters.workflowId, requestParameters.jobId, requestParameters.page, requestParameters.pageSize, requestParameters.includeDryRun, options).then((request) => request(axios, basePath));\n },\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters.workflowId, requestParameters.jobId, requestParameters.includeDryRun, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters.workflowId, requestParameters.v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters.workflowId, requestParameters.v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters.workflowId, requestParameters.includeDryRun, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * DataValidationApi - interface\n */\nexport interface DataValidationApiInterface {\n /**\n * Bulk approve preview rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkApprovePost(requestParameters?: DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkApproveRulesResponse>;\n\n /**\n * Bulk delete rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkDeletePost(requestParameters?: DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkDeleteRulesResponse>;\n\n /**\n * Delete all validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsDeleteAllDelete(requestParameters?: DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<DeleteAllRulesResponse>;\n\n /**\n * Generate a validation rule\n * @param {DataValidationApiV4DataValidationRulesActionsGeneratePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGeneratePost(requestParameters?: DataValidationApiV4DataValidationRulesActionsGeneratePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<GenerateRuleResponse>;\n\n /**\n * Generate multiple validation rules\n * @param {DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGenerateRulesPost(requestParameters?: DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<GenerateRulesResponse>;\n\n /**\n * List validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesGet(requestParameters?: DataValidationApiV4DataValidationRulesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<RulesListResponse>;\n\n /**\n * Create a new validation rule\n * @param {DataValidationApiV4DataValidationRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesPost(requestParameters?: DataValidationApiV4DataValidationRulesPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleCreateResponse>;\n\n /**\n * Delete a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDelete(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleDeleteResponse>;\n\n /**\n * Disable a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDisablePost(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleDisableResponse>;\n\n /**\n * Get a validation rule by ID\n * @param {DataValidationApiV4DataValidationRulesRuleIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdGet(requestParameters: DataValidationApiV4DataValidationRulesRuleIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleResponse>;\n\n /**\n * Update a validation rule\n * @param {DataValidationApiV4DataValidationRulesRuleIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdPut(requestParameters: DataValidationApiV4DataValidationRulesRuleIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleUpdateResponse>;\n\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnomaliesByRuleResponse>;\n\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnomalyRulePageResponse>;\n\n /**\n * Get validation details\n * @summary Get validation details\n * @param {DataValidationApiV4DataValidationValidationsValidationIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport>;\n\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<ScheduleValidationResponse>;\n\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<ScheduleValidationResponse>;\n\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<ValidationListResponse>;\n\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport>;\n\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response>;\n\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response>;\n\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response>;\n\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport>;\n\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsBulkApprovePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest {\n /**\n * Body\n */\n readonly bulkApproveRules?: BulkApproveRules\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsBulkDeletePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest {\n /**\n * Body\n */\n readonly bulkDeleteRules?: BulkDeleteRules\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsDeleteAllDelete operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest {\n /**\n * Body\n */\n readonly deleteRuleWithReason?: DeleteRuleWithReason\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsGeneratePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsGeneratePostRequest {\n /**\n * Body\n */\n readonly generateRule?: GenerateRule\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsGenerateRulesPost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest {\n /**\n * Body\n */\n readonly generateRules?: GenerateRules\n}\n\n/**\n * Request parameters for v4DataValidationRulesGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesGetRequest {\n readonly groupId?: string\n\n readonly workflowId?: string\n\n readonly status?: V4DataValidationRulesGetStatusEnum\n\n readonly page?: number\n\n readonly pageSize?: number\n\n readonly includeDeleted?: V4DataValidationRulesGetIncludeDeletedParameter\n}\n\n/**\n * Request parameters for v4DataValidationRulesPost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesPostRequest {\n /**\n * Body\n */\n readonly createRule?: CreateRule\n}\n\n/**\n * Request parameters for v4DataValidationRulesRuleIdDelete operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesRuleIdDeleteRequest {\n readonly ruleId: string\n\n /**\n * Body\n */\n readonly deleteRuleWithReason?: DeleteRuleWithReason\n}\n\n/**\n * Request parameters for v4DataValidationRulesRuleIdDisablePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest {\n readonly ruleId: string\n\n /**\n * Body\n */\n readonly disableRule?: DisableRule\n}\n\n/**\n * Request parameters for v4DataValidationRulesRuleIdGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesRuleIdGetRequest {\n readonly ruleId: string\n\n readonly includeDeleted?: boolean\n}\n\n/**\n * Request parameters for v4DataValidationRulesRuleIdPut operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesRuleIdPutRequest {\n readonly ruleId: string\n\n /**\n * Body\n */\n readonly updateRule?: UpdateRule\n}\n\n/**\n * Request parameters for v4DataValidationValidationsValidationIdAnomaliesGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest {\n readonly validationId: string\n\n readonly page?: number\n\n readonly pageSize?: number\n}\n\n/**\n * Request parameters for v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest {\n readonly validationId: string\n\n /**\n * The rule name (URL encoded)\n */\n readonly ruleName: string\n\n readonly page?: number\n\n readonly pageSize?: number\n}\n\n/**\n * Request parameters for v4DataValidationValidationsValidationIdGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationValidationsValidationIdGetRequest {\n readonly validationId: string\n\n /**\n * Include dry run validations\n */\n readonly includeDryRun?: boolean | null\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowIdJobsJobIdValidatePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest {\n /**\n * The ID of the workflow to validate\n */\n readonly workflowId: string\n\n /**\n * The ID of the job to validate\n */\n readonly jobId: string\n\n /**\n * Body\n */\n readonly dataValidationRequestBody?: DataValidationRequestBody\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest {\n /**\n * The ID of the workflow to validate\n */\n readonly workflowId: string\n\n /**\n * The ID of the job to validate\n */\n readonly jobId: string\n\n /**\n * Body\n */\n readonly dataValidationRequestBody?: DataValidationRequestBody\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest {\n readonly workflowId: string\n\n readonly jobId: string\n\n readonly page?: number\n\n readonly pageSize?: number\n\n /**\n * Include dry run validations in results\n */\n readonly includeDryRun?: boolean | null\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest {\n readonly workflowId: string\n\n readonly jobId: string\n\n readonly includeDryRun?: boolean | null\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdValidationConfigGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest {\n /**\n * The workflow ID to get validation configuration for\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdValidationConfigPut operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest {\n /**\n * The workflow ID to update validation configuration for\n */\n readonly workflowId: string\n\n /**\n * Body\n */\n readonly v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest?: V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdValidationTogglePut operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest {\n /**\n * The workflow ID to update validation settings for\n */\n readonly workflowId: string\n\n /**\n * Body\n */\n readonly v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest?: V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdValidationsLatestGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest {\n readonly workflowId: string\n\n readonly includeDryRun?: boolean | null\n}\n\n/**\n * DataValidationApi - object-oriented interface\n */\nexport class DataValidationApi extends BaseAPI implements DataValidationApiInterface {\n /**\n * Bulk approve preview rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsBulkApprovePost(requestParameters: DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsBulkApprovePost(requestParameters.bulkApproveRules, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Bulk delete rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsBulkDeletePost(requestParameters: DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsBulkDeletePost(requestParameters.bulkDeleteRules, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Delete all validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsDeleteAllDelete(requestParameters: DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsDeleteAllDelete(requestParameters.deleteRuleWithReason, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Generate a validation rule\n * @param {DataValidationApiV4DataValidationRulesActionsGeneratePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsGeneratePost(requestParameters: DataValidationApiV4DataValidationRulesActionsGeneratePostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsGeneratePost(requestParameters.generateRule, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Generate multiple validation rules\n * @param {DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsGenerateRulesPost(requestParameters: DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsGenerateRulesPost(requestParameters.generateRules, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * List validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesGet(requestParameters: DataValidationApiV4DataValidationRulesGetRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesGet(requestParameters.groupId, requestParameters.workflowId, requestParameters.status, requestParameters.page, requestParameters.pageSize, requestParameters.includeDeleted, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Create a new validation rule\n * @param {DataValidationApiV4DataValidationRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesPost(requestParameters: DataValidationApiV4DataValidationRulesPostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesPost(requestParameters.createRule, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Delete a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesRuleIdDelete(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesRuleIdDelete(requestParameters.ruleId, requestParameters.deleteRuleWithReason, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Disable a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesRuleIdDisablePost(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesRuleIdDisablePost(requestParameters.ruleId, requestParameters.disableRule, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get a validation rule by ID\n * @param {DataValidationApiV4DataValidationRulesRuleIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesRuleIdGet(requestParameters: DataValidationApiV4DataValidationRulesRuleIdGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesRuleIdGet(requestParameters.ruleId, requestParameters.includeDeleted, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Update a validation rule\n * @param {DataValidationApiV4DataValidationRulesRuleIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesRuleIdPut(requestParameters: DataValidationApiV4DataValidationRulesRuleIdPutRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesRuleIdPut(requestParameters.ruleId, requestParameters.updateRule, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters.validationId, requestParameters.page, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters.validationId, requestParameters.ruleName, requestParameters.page, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get validation details\n * @summary Get validation details\n * @param {DataValidationApiV4DataValidationValidationsValidationIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationValidationsValidationIdGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationValidationsValidationIdGet(requestParameters.validationId, requestParameters.includeDryRun, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters.workflowId, requestParameters.jobId, requestParameters.dataValidationRequestBody, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters.workflowId, requestParameters.jobId, requestParameters.dataValidationRequestBody, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters.workflowId, requestParameters.jobId, requestParameters.page, requestParameters.pageSize, requestParameters.includeDryRun, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters.workflowId, requestParameters.jobId, requestParameters.includeDryRun, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters.workflowId, requestParameters.v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters.workflowId, requestParameters.v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters.workflowId, requestParameters.includeDryRun, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\nexport const V4DataValidationRulesGetStatusEnum = {\n Preview: 'preview',\n Enabled: 'enabled',\n Disabled: 'disabled'\n} as const;\nexport type V4DataValidationRulesGetStatusEnum = typeof V4DataValidationRulesGetStatusEnum[keyof typeof V4DataValidationRulesGetStatusEnum];\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from 'url';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { V5NotificationsChannelsChannelIdDelete200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsChannelsGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsChannelsPost201Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsChannelsPostRequest } from '../models';\n// @ts-ignore\nimport type { V5NotificationsEventTypesEventTypeGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsEventTypesGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsLogsGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsPost201Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsPostRequest } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsSettingsIdDelete200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsSettingsIdPutRequest } from '../models';\n// @ts-ignore\nimport type { V5NotificationsTestPost200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsTestPostRequest } from '../models';\n/**\n * NotificationsApi - axios parameter creator\n */\nexport const NotificationsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Delete a notification channel\n * @param {string} channelId Channel ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdDelete: async (channelId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'channelId' is not null or undefined\n assertParamExists('v5NotificationsChannelsChannelIdDelete', 'channelId', channelId)\n const localVarPath = `/v5/notifications/channels/{channelId}`\n .replace(`{${\"channelId\"}}`, encodeURIComponent(String(channelId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {string} channelId Channel ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdGet: async (channelId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'channelId' is not null or undefined\n assertParamExists('v5NotificationsChannelsChannelIdGet', 'channelId', channelId)\n const localVarPath = `/v5/notifications/channels/{channelId}`\n .replace(`{${\"channelId\"}}`, encodeURIComponent(String(channelId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Update a notification channel\n * @param {string} channelId Channel ID\n * @param {V5NotificationsChannelsPostRequest} v5NotificationsChannelsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdPut: async (channelId: string, v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'channelId' is not null or undefined\n assertParamExists('v5NotificationsChannelsChannelIdPut', 'channelId', channelId)\n // verify required parameter 'v5NotificationsChannelsPostRequest' is not null or undefined\n assertParamExists('v5NotificationsChannelsChannelIdPut', 'v5NotificationsChannelsPostRequest', v5NotificationsChannelsPostRequest)\n const localVarPath = `/v5/notifications/channels/{channelId}`\n .replace(`{${\"channelId\"}}`, encodeURIComponent(String(channelId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsChannelsPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve all notification channels\n * @param {string} [workflowId] Workflow ID (optional, if provided returns channels linked to this workflow)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsGet: async (workflowId?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/notifications/channels`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (workflowId !== undefined) {\n localVarQueryParameter['workflowId'] = workflowId;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Create a new notification channel\n * @param {V5NotificationsChannelsPostRequest} v5NotificationsChannelsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsPost: async (v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'v5NotificationsChannelsPostRequest' is not null or undefined\n assertParamExists('v5NotificationsChannelsPost', 'v5NotificationsChannelsPostRequest', v5NotificationsChannelsPostRequest)\n const localVarPath = `/v5/notifications/channels`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsChannelsPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {string} eventType Event type identifier\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesEventTypeGet: async (eventType: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'eventType' is not null or undefined\n assertParamExists('v5NotificationsEventTypesEventTypeGet', 'eventType', eventType)\n const localVarPath = `/v5/notifications/event-types/{eventType}`\n .replace(`{${\"eventType\"}}`, encodeURIComponent(String(eventType)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesGet: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/notifications/event-types`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve notification event logs\n * @param {string} [workflowId] Filter by workflow ID (optional)\n * @param {string} [eventType] Filter by event type (optional)\n * @param {string} [startDate] Filter events from this date (optional)\n * @param {string} [endDate] Filter events until this date (optional)\n * @param {number} [limit] Number of events to return (default 50, max 100)\n * @param {number} [offset] Number of events to skip for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsLogsGet: async (workflowId?: string, eventType?: string, startDate?: string, endDate?: string, limit?: number, offset?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/notifications/logs`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (workflowId !== undefined) {\n localVarQueryParameter['workflowId'] = workflowId;\n }\n\n if (eventType !== undefined) {\n localVarQueryParameter['eventType'] = eventType;\n }\n\n if (startDate !== undefined) {\n localVarQueryParameter['startDate'] = (startDate as any instanceof Date) ?\n (startDate as any).toISOString() :\n startDate;\n }\n\n if (endDate !== undefined) {\n localVarQueryParameter['endDate'] = (endDate as any instanceof Date) ?\n (endDate as any).toISOString() :\n endDate;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (offset !== undefined) {\n localVarQueryParameter['offset'] = offset;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve all notification settings\n * @param {string} [workflowId] Workflow ID(s) - can be single ID, comma-separated IDs, or \\'null\\' for workspace-level settings\n * @param {V5NotificationsSettingsGetEventTypeEnum} [eventType] Event type filter (optional)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsGet: async (workflowId?: string, eventType?: V5NotificationsSettingsGetEventTypeEnum, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/notifications/settings`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (workflowId !== undefined) {\n localVarQueryParameter['workflowId'] = workflowId;\n }\n\n if (eventType !== undefined) {\n localVarQueryParameter['eventType'] = eventType;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Create a new notification settings\n * @param {V5NotificationsSettingsPostRequest} v5NotificationsSettingsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsPost: async (v5NotificationsSettingsPostRequest: V5NotificationsSettingsPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'v5NotificationsSettingsPostRequest' is not null or undefined\n assertParamExists('v5NotificationsSettingsPost', 'v5NotificationsSettingsPostRequest', v5NotificationsSettingsPostRequest)\n const localVarPath = `/v5/notifications/settings`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsSettingsPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Delete a notification settings\n * @param {string} settingsId Settings ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdDelete: async (settingsId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'settingsId' is not null or undefined\n assertParamExists('v5NotificationsSettingsSettingsIdDelete', 'settingsId', settingsId)\n const localVarPath = `/v5/notifications/settings/{settingsId}`\n .replace(`{${\"settingsId\"}}`, encodeURIComponent(String(settingsId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {string} settingsId Settings ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdGet: async (settingsId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'settingsId' is not null or undefined\n assertParamExists('v5NotificationsSettingsSettingsIdGet', 'settingsId', settingsId)\n const localVarPath = `/v5/notifications/settings/{settingsId}`\n .replace(`{${\"settingsId\"}}`, encodeURIComponent(String(settingsId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Update a notification settings\n * @param {string} settingsId Settings ID\n * @param {V5NotificationsSettingsSettingsIdPutRequest} v5NotificationsSettingsSettingsIdPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdPut: async (settingsId: string, v5NotificationsSettingsSettingsIdPutRequest: V5NotificationsSettingsSettingsIdPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'settingsId' is not null or undefined\n assertParamExists('v5NotificationsSettingsSettingsIdPut', 'settingsId', settingsId)\n // verify required parameter 'v5NotificationsSettingsSettingsIdPutRequest' is not null or undefined\n assertParamExists('v5NotificationsSettingsSettingsIdPut', 'v5NotificationsSettingsSettingsIdPutRequest', v5NotificationsSettingsSettingsIdPutRequest)\n const localVarPath = `/v5/notifications/settings/{settingsId}`\n .replace(`{${\"settingsId\"}}`, encodeURIComponent(String(settingsId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsSettingsSettingsIdPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {V5NotificationsTestPostRequest} v5NotificationsTestPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsTestPost: async (v5NotificationsTestPostRequest: V5NotificationsTestPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'v5NotificationsTestPostRequest' is not null or undefined\n assertParamExists('v5NotificationsTestPost', 'v5NotificationsTestPostRequest', v5NotificationsTestPostRequest)\n const localVarPath = `/v5/notifications/test`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsTestPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * NotificationsApi - functional programming interface\n */\nexport const NotificationsApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = NotificationsApiAxiosParamCreator(configuration)\n return {\n /**\n * \n * @summary Delete a notification channel\n * @param {string} channelId Channel ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsChannelIdDelete(channelId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsChannelIdDelete200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsChannelIdDelete(channelId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsChannelIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {string} channelId Channel ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsChannelIdGet(channelId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsChannelIdGet(channelId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsChannelIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Update a notification channel\n * @param {string} channelId Channel ID\n * @param {V5NotificationsChannelsPostRequest} v5NotificationsChannelsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsChannelIdPut(channelId: string, v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsChannelIdPut(channelId, v5NotificationsChannelsPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsChannelIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve all notification channels\n * @param {string} [workflowId] Workflow ID (optional, if provided returns channels linked to this workflow)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsGet(workflowId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsGet(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Create a new notification channel\n * @param {V5NotificationsChannelsPostRequest} v5NotificationsChannelsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsPost(v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsPost(v5NotificationsChannelsPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {string} eventType Event type identifier\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsEventTypesEventTypeGet(eventType: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsEventTypesEventTypeGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsEventTypesEventTypeGet(eventType, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsEventTypesEventTypeGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsEventTypesGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsEventTypesGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsEventTypesGet(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsEventTypesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve notification event logs\n * @param {string} [workflowId] Filter by workflow ID (optional)\n * @param {string} [eventType] Filter by event type (optional)\n * @param {string} [startDate] Filter events from this date (optional)\n * @param {string} [endDate] Filter events until this date (optional)\n * @param {number} [limit] Number of events to return (default 50, max 100)\n * @param {number} [offset] Number of events to skip for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsLogsGet(workflowId?: string, eventType?: string, startDate?: string, endDate?: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsLogsGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsLogsGet(workflowId, eventType, startDate, endDate, limit, offset, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsLogsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve all notification settings\n * @param {string} [workflowId] Workflow ID(s) - can be single ID, comma-separated IDs, or \\'null\\' for workspace-level settings\n * @param {V5NotificationsSettingsGetEventTypeEnum} [eventType] Event type filter (optional)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsGet(workflowId?: string, eventType?: V5NotificationsSettingsGetEventTypeEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsGet(workflowId, eventType, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Create a new notification settings\n * @param {V5NotificationsSettingsPostRequest} v5NotificationsSettingsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsPost(v5NotificationsSettingsPostRequest: V5NotificationsSettingsPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsPost(v5NotificationsSettingsPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Delete a notification settings\n * @param {string} settingsId Settings ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsSettingsIdDelete(settingsId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsSettingsIdDelete200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsSettingsIdDelete(settingsId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsSettingsIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {string} settingsId Settings ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsSettingsIdGet(settingsId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsSettingsIdGet(settingsId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsSettingsIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Update a notification settings\n * @param {string} settingsId Settings ID\n * @param {V5NotificationsSettingsSettingsIdPutRequest} v5NotificationsSettingsSettingsIdPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsSettingsIdPut(settingsId: string, v5NotificationsSettingsSettingsIdPutRequest: V5NotificationsSettingsSettingsIdPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsSettingsIdPut(settingsId, v5NotificationsSettingsSettingsIdPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsSettingsIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {V5NotificationsTestPostRequest} v5NotificationsTestPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsTestPost(v5NotificationsTestPostRequest: V5NotificationsTestPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsTestPost200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsTestPost(v5NotificationsTestPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsTestPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * NotificationsApi - factory interface\n */\nexport const NotificationsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = NotificationsApiFp(configuration)\n return {\n /**\n * \n * @summary Delete a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdDelete(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsChannelIdDelete200Response> {\n return localVarFp.v5NotificationsChannelsChannelIdDelete(requestParameters.channelId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdGet(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response> {\n return localVarFp.v5NotificationsChannelsChannelIdGet(requestParameters.channelId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Update a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdPut(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response> {\n return localVarFp.v5NotificationsChannelsChannelIdPut(requestParameters.channelId, requestParameters.v5NotificationsChannelsPostRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve all notification channels\n * @param {NotificationsApiV5NotificationsChannelsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsGet(requestParameters: NotificationsApiV5NotificationsChannelsGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsGet200Response> {\n return localVarFp.v5NotificationsChannelsGet(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Create a new notification channel\n * @param {NotificationsApiV5NotificationsChannelsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsPost(requestParameters: NotificationsApiV5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response> {\n return localVarFp.v5NotificationsChannelsPost(requestParameters.v5NotificationsChannelsPostRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {NotificationsApiV5NotificationsEventTypesEventTypeGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesEventTypeGet(requestParameters: NotificationsApiV5NotificationsEventTypesEventTypeGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsEventTypesEventTypeGet200Response> {\n return localVarFp.v5NotificationsEventTypesEventTypeGet(requestParameters.eventType, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesGet(options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsEventTypesGet200Response> {\n return localVarFp.v5NotificationsEventTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve notification event logs\n * @param {NotificationsApiV5NotificationsLogsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsLogsGet(requestParameters: NotificationsApiV5NotificationsLogsGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsLogsGet200Response> {\n return localVarFp.v5NotificationsLogsGet(requestParameters.workflowId, requestParameters.eventType, requestParameters.startDate, requestParameters.endDate, requestParameters.limit, requestParameters.offset, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve all notification settings\n * @param {NotificationsApiV5NotificationsSettingsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsGet(requestParameters: NotificationsApiV5NotificationsSettingsGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsGet200Response> {\n return localVarFp.v5NotificationsSettingsGet(requestParameters.workflowId, requestParameters.eventType, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Create a new notification settings\n * @param {NotificationsApiV5NotificationsSettingsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsPost(requestParameters: NotificationsApiV5NotificationsSettingsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response> {\n return localVarFp.v5NotificationsSettingsPost(requestParameters.v5NotificationsSettingsPostRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Delete a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdDelete(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsSettingsIdDelete200Response> {\n return localVarFp.v5NotificationsSettingsSettingsIdDelete(requestParameters.settingsId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdGet(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response> {\n return localVarFp.v5NotificationsSettingsSettingsIdGet(requestParameters.settingsId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Update a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdPut(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response> {\n return localVarFp.v5NotificationsSettingsSettingsIdPut(requestParameters.settingsId, requestParameters.v5NotificationsSettingsSettingsIdPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {NotificationsApiV5NotificationsTestPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsTestPost(requestParameters: NotificationsApiV5NotificationsTestPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsTestPost200Response> {\n return localVarFp.v5NotificationsTestPost(requestParameters.v5NotificationsTestPostRequest, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * NotificationsApi - interface\n */\nexport interface NotificationsApiInterface {\n /**\n * \n * @summary Delete a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdDelete(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsChannelIdDelete200Response>;\n\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdGet(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response>;\n\n /**\n * \n * @summary Update a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdPut(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response>;\n\n /**\n * \n * @summary Retrieve all notification channels\n * @param {NotificationsApiV5NotificationsChannelsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsGet(requestParameters?: NotificationsApiV5NotificationsChannelsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsGet200Response>;\n\n /**\n * \n * @summary Create a new notification channel\n * @param {NotificationsApiV5NotificationsChannelsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsPost(requestParameters: NotificationsApiV5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response>;\n\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {NotificationsApiV5NotificationsEventTypesEventTypeGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesEventTypeGet(requestParameters: NotificationsApiV5NotificationsEventTypesEventTypeGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsEventTypesEventTypeGet200Response>;\n\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesGet(options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsEventTypesGet200Response>;\n\n /**\n * \n * @summary Retrieve notification event logs\n * @param {NotificationsApiV5NotificationsLogsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsLogsGet(requestParameters?: NotificationsApiV5NotificationsLogsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsLogsGet200Response>;\n\n /**\n * \n * @summary Retrieve all notification settings\n * @param {NotificationsApiV5NotificationsSettingsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsGet(requestParameters?: NotificationsApiV5NotificationsSettingsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsGet200Response>;\n\n /**\n * \n * @summary Create a new notification settings\n * @param {NotificationsApiV5NotificationsSettingsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsPost(requestParameters: NotificationsApiV5NotificationsSettingsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response>;\n\n /**\n * \n * @summary Delete a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdDelete(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsSettingsIdDelete200Response>;\n\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdGet(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response>;\n\n /**\n * \n * @summary Update a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdPut(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response>;\n\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {NotificationsApiV5NotificationsTestPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsTestPost(requestParameters: NotificationsApiV5NotificationsTestPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsTestPost200Response>;\n\n}\n\n/**\n * Request parameters for v5NotificationsChannelsChannelIdDelete operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest {\n /**\n * Channel ID\n */\n readonly channelId: string\n}\n\n/**\n * Request parameters for v5NotificationsChannelsChannelIdGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsChannelIdGetRequest {\n /**\n * Channel ID\n */\n readonly channelId: string\n}\n\n/**\n * Request parameters for v5NotificationsChannelsChannelIdPut operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsChannelIdPutRequest {\n /**\n * Channel ID\n */\n readonly channelId: string\n\n readonly v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest\n}\n\n/**\n * Request parameters for v5NotificationsChannelsGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsGetRequest {\n /**\n * Workflow ID (optional, if provided returns channels linked to this workflow)\n */\n readonly workflowId?: string\n}\n\n/**\n * Request parameters for v5NotificationsChannelsPost operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsPostRequest {\n readonly v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest\n}\n\n/**\n * Request parameters for v5NotificationsEventTypesEventTypeGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsEventTypesEventTypeGetRequest {\n /**\n * Event type identifier\n */\n readonly eventType: string\n}\n\n/**\n * Request parameters for v5NotificationsLogsGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsLogsGetRequest {\n /**\n * Filter by workflow ID (optional)\n */\n readonly workflowId?: string\n\n /**\n * Filter by event type (optional)\n */\n readonly eventType?: string\n\n /**\n * Filter events from this date (optional)\n */\n readonly startDate?: string\n\n /**\n * Filter events until this date (optional)\n */\n readonly endDate?: string\n\n /**\n * Number of events to return (default 50, max 100)\n */\n readonly limit?: number\n\n /**\n * Number of events to skip for pagination\n */\n readonly offset?: number\n}\n\n/**\n * Request parameters for v5NotificationsSettingsGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsGetRequest {\n /**\n * Workflow ID(s) - can be single ID, comma-separated IDs, or \\'null\\' for workspace-level settings\n */\n readonly workflowId?: string\n\n /**\n * Event type filter (optional)\n */\n readonly eventType?: V5NotificationsSettingsGetEventTypeEnum\n}\n\n/**\n * Request parameters for v5NotificationsSettingsPost operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsPostRequest {\n readonly v5NotificationsSettingsPostRequest: V5NotificationsSettingsPostRequest\n}\n\n/**\n * Request parameters for v5NotificationsSettingsSettingsIdDelete operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest {\n /**\n * Settings ID\n */\n readonly settingsId: string\n}\n\n/**\n * Request parameters for v5NotificationsSettingsSettingsIdGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsSettingsIdGetRequest {\n /**\n * Settings ID\n */\n readonly settingsId: string\n}\n\n/**\n * Request parameters for v5NotificationsSettingsSettingsIdPut operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsSettingsIdPutRequest {\n /**\n * Settings ID\n */\n readonly settingsId: string\n\n readonly v5NotificationsSettingsSettingsIdPutRequest: V5NotificationsSettingsSettingsIdPutRequest\n}\n\n/**\n * Request parameters for v5NotificationsTestPost operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsTestPostRequest {\n readonly v5NotificationsTestPostRequest: V5NotificationsTestPostRequest\n}\n\n/**\n * NotificationsApi - object-oriented interface\n */\nexport class NotificationsApi extends BaseAPI implements NotificationsApiInterface {\n /**\n * \n * @summary Delete a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsChannelIdDelete(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsChannelIdDelete(requestParameters.channelId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsChannelIdGet(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdGetRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsChannelIdGet(requestParameters.channelId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Update a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsChannelIdPut(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdPutRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsChannelIdPut(requestParameters.channelId, requestParameters.v5NotificationsChannelsPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve all notification channels\n * @param {NotificationsApiV5NotificationsChannelsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsGet(requestParameters: NotificationsApiV5NotificationsChannelsGetRequest = {}, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsGet(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Create a new notification channel\n * @param {NotificationsApiV5NotificationsChannelsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsPost(requestParameters: NotificationsApiV5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsPost(requestParameters.v5NotificationsChannelsPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {NotificationsApiV5NotificationsEventTypesEventTypeGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsEventTypesEventTypeGet(requestParameters: NotificationsApiV5NotificationsEventTypesEventTypeGetRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsEventTypesEventTypeGet(requestParameters.eventType, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsEventTypesGet(options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsEventTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve notification event logs\n * @param {NotificationsApiV5NotificationsLogsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsLogsGet(requestParameters: NotificationsApiV5NotificationsLogsGetRequest = {}, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsLogsGet(requestParameters.workflowId, requestParameters.eventType, requestParameters.startDate, requestParameters.endDate, requestParameters.limit, requestParameters.offset, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve all notification settings\n * @param {NotificationsApiV5NotificationsSettingsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsGet(requestParameters: NotificationsApiV5NotificationsSettingsGetRequest = {}, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsGet(requestParameters.workflowId, requestParameters.eventType, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Create a new notification settings\n * @param {NotificationsApiV5NotificationsSettingsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsPost(requestParameters: NotificationsApiV5NotificationsSettingsPostRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsPost(requestParameters.v5NotificationsSettingsPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Delete a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsSettingsIdDelete(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsSettingsIdDelete(requestParameters.settingsId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsSettingsIdGet(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdGetRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsSettingsIdGet(requestParameters.settingsId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Update a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsSettingsIdPut(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdPutRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsSettingsIdPut(requestParameters.settingsId, requestParameters.v5NotificationsSettingsSettingsIdPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {NotificationsApiV5NotificationsTestPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsTestPost(requestParameters: NotificationsApiV5NotificationsTestPostRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsTestPost(requestParameters.v5NotificationsTestPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\nexport const V5NotificationsSettingsGetEventTypeEnum = {\n WorkflowStarted: 'workflow_started',\n WorkflowFinished: 'workflow_finished',\n WorkflowFailed: 'workflow_failed',\n WorkflowSampleFinished: 'workflow_sample_finished',\n WorkflowDataChange: 'workflow_data_change',\n SystemMaintenance: 'system_maintenance',\n ServiceDegradation: 'service_degradation',\n CreditsLow: 'credits_low',\n FreeTrialEnding: 'free_trial_ending'\n} as const;\nexport type V5NotificationsSettingsGetEventTypeEnum = typeof V5NotificationsSettingsGetEventTypeEnum[keyof typeof V5NotificationsSettingsGetEventTypeEnum];\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from 'url';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { CreateSchemaBody } from '../models';\n// @ts-ignore\nimport type { CreateSchemaResponse } from '../models';\n// @ts-ignore\nimport type { DeleteSchemaResponse } from '../models';\n// @ts-ignore\nimport type { SchemaDataResponse } from '../models';\n// @ts-ignore\nimport type { SchemasListResponse } from '../models';\n// @ts-ignore\nimport type { UpdateSchemaBody } from '../models';\n// @ts-ignore\nimport type { UpdateSchemaResponse } from '../models';\n// @ts-ignore\nimport type { V4CrawlConfigPost400Response } from '../models';\n/**\n * SchemasApi - axios parameter creator\n */\nexport const SchemasApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasGet: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/schemas/`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {CreateSchemaBody} [createSchemaBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasPost: async (createSchemaBody?: CreateSchemaBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/schemas/`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createSchemaBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {string} schemaId Schema ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdDelete: async (schemaId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'schemaId' is not null or undefined\n assertParamExists('v4SchemasSchemaIdDelete', 'schemaId', schemaId)\n const localVarPath = `/v4/schemas/{schemaId}`\n .replace(`{${\"schemaId\"}}`, encodeURIComponent(String(schemaId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {string} schemaId Schema ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdGet: async (schemaId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'schemaId' is not null or undefined\n assertParamExists('v4SchemasSchemaIdGet', 'schemaId', schemaId)\n const localVarPath = `/v4/schemas/{schemaId}`\n .replace(`{${\"schemaId\"}}`, encodeURIComponent(String(schemaId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {string} schemaId Schema ID\n * @param {UpdateSchemaBody} [updateSchemaBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdPut: async (schemaId: string, updateSchemaBody?: UpdateSchemaBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'schemaId' is not null or undefined\n assertParamExists('v4SchemasSchemaIdPut', 'schemaId', schemaId)\n const localVarPath = `/v4/schemas/{schemaId}`\n .replace(`{${\"schemaId\"}}`, encodeURIComponent(String(schemaId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(updateSchemaBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * SchemasApi - functional programming interface\n */\nexport const SchemasApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = SchemasApiAxiosParamCreator(configuration)\n return {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SchemasListResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasGet(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {CreateSchemaBody} [createSchemaBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasPost(createSchemaBody?: CreateSchemaBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateSchemaResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasPost(createSchemaBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {string} schemaId Schema ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasSchemaIdDelete(schemaId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteSchemaResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasSchemaIdDelete(schemaId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasSchemaIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {string} schemaId Schema ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasSchemaIdGet(schemaId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SchemaDataResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasSchemaIdGet(schemaId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasSchemaIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {string} schemaId Schema ID\n * @param {UpdateSchemaBody} [updateSchemaBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasSchemaIdPut(schemaId: string, updateSchemaBody?: UpdateSchemaBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UpdateSchemaResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasSchemaIdPut(schemaId, updateSchemaBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasSchemaIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * SchemasApi - factory interface\n */\nexport const SchemasApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = SchemasApiFp(configuration)\n return {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasGet(options?: RawAxiosRequestConfig): AxiosPromise<SchemasListResponse> {\n return localVarFp.v4SchemasGet(options).then((request) => request(axios, basePath));\n },\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {SchemasApiV4SchemasPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasPost(requestParameters: SchemasApiV4SchemasPostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<CreateSchemaResponse> {\n return localVarFp.v4SchemasPost(requestParameters.createSchemaBody, options).then((request) => request(axios, basePath));\n },\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {SchemasApiV4SchemasSchemaIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdDelete(requestParameters: SchemasApiV4SchemasSchemaIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<DeleteSchemaResponse> {\n return localVarFp.v4SchemasSchemaIdDelete(requestParameters.schemaId, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {SchemasApiV4SchemasSchemaIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdGet(requestParameters: SchemasApiV4SchemasSchemaIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<SchemaDataResponse> {\n return localVarFp.v4SchemasSchemaIdGet(requestParameters.schemaId, options).then((request) => request(axios, basePath));\n },\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {SchemasApiV4SchemasSchemaIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdPut(requestParameters: SchemasApiV4SchemasSchemaIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<UpdateSchemaResponse> {\n return localVarFp.v4SchemasSchemaIdPut(requestParameters.schemaId, requestParameters.updateSchemaBody, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * SchemasApi - interface\n */\nexport interface SchemasApiInterface {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasGet(options?: RawAxiosRequestConfig): AxiosPromise<SchemasListResponse>;\n\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {SchemasApiV4SchemasPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasPost(requestParameters?: SchemasApiV4SchemasPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateSchemaResponse>;\n\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {SchemasApiV4SchemasSchemaIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdDelete(requestParameters: SchemasApiV4SchemasSchemaIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<DeleteSchemaResponse>;\n\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {SchemasApiV4SchemasSchemaIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdGet(requestParameters: SchemasApiV4SchemasSchemaIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<SchemaDataResponse>;\n\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {SchemasApiV4SchemasSchemaIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdPut(requestParameters: SchemasApiV4SchemasSchemaIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<UpdateSchemaResponse>;\n\n}\n\n/**\n * Request parameters for v4SchemasPost operation in SchemasApi.\n */\nexport interface SchemasApiV4SchemasPostRequest {\n /**\n * Body\n */\n readonly createSchemaBody?: CreateSchemaBody\n}\n\n/**\n * Request parameters for v4SchemasSchemaIdDelete operation in SchemasApi.\n */\nexport interface SchemasApiV4SchemasSchemaIdDeleteRequest {\n /**\n * Schema ID\n */\n readonly schemaId: string\n}\n\n/**\n * Request parameters for v4SchemasSchemaIdGet operation in SchemasApi.\n */\nexport interface SchemasApiV4SchemasSchemaIdGetRequest {\n /**\n * Schema ID\n */\n readonly schemaId: string\n}\n\n/**\n * Request parameters for v4SchemasSchemaIdPut operation in SchemasApi.\n */\nexport interface SchemasApiV4SchemasSchemaIdPutRequest {\n /**\n * Schema ID\n */\n readonly schemaId: string\n\n /**\n * Body\n */\n readonly updateSchemaBody?: UpdateSchemaBody\n}\n\n/**\n * SchemasApi - object-oriented interface\n */\nexport class SchemasApi extends BaseAPI implements SchemasApiInterface {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasGet(options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {SchemasApiV4SchemasPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasPost(requestParameters: SchemasApiV4SchemasPostRequest = {}, options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasPost(requestParameters.createSchemaBody, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {SchemasApiV4SchemasSchemaIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasSchemaIdDelete(requestParameters: SchemasApiV4SchemasSchemaIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasSchemaIdDelete(requestParameters.schemaId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {SchemasApiV4SchemasSchemaIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasSchemaIdGet(requestParameters: SchemasApiV4SchemasSchemaIdGetRequest, options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasSchemaIdGet(requestParameters.schemaId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {SchemasApiV4SchemasSchemaIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasSchemaIdPut(requestParameters: SchemasApiV4SchemasSchemaIdPutRequest, options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasSchemaIdPut(requestParameters.schemaId, requestParameters.updateSchemaBody, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from 'url';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { CreateWorkflowBody } from '../models';\n// @ts-ignore\nimport type { CreateWorkflowResponse } from '../models';\n// @ts-ignore\nimport type { V4AdhocSchemaIdPost400Response } from '../models';\n// @ts-ignore\nimport type { V4ChangesGet200Response } from '../models';\n// @ts-ignore\nimport type { V4ChangesGet200ResponseChangesInner } from '../models';\n// @ts-ignore\nimport type { V4CrawlConfigPost400Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdAuditlogGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdComplianceApprovePut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdComplianceRejectPut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdComplianceRejectPutRequest } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdDataGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdHistoryGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdJobsJobIdGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdMetadataPut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdMetadataPutRequest } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdResumePut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdRunPut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdRunPut429Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdRunPut500Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdRunPutRequest } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdSchedulePutRequest } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsIdGet200Response } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsIdPut200Response } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsIdPutRequest } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsPost201Response } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsPostRequest } from '../models';\n/**\n * WorkflowsApi - axios parameter creator\n */\nexport const WorkflowsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Get data change by ID\n * @param {string} changeId ID of the workflow change to retrieve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesChangeIdGet: async (changeId: string, xApiKey?: string, authorization?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'changeId' is not null or undefined\n assertParamExists('v4ChangesChangeIdGet', 'changeId', changeId)\n const localVarPath = `/v4/changes/{changeId}`\n .replace(`{${\"changeId\"}}`, encodeURIComponent(String(changeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all data changes\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [workflowIds] Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n * @param {string} [startDate] Start date to filter changes (ISO format)\n * @param {string} [endDate] End date to filter changes (ISO format)\n * @param {number} [skip] Number of records to skip for pagination\n * @param {number} [limit] Number of records to return for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesGet: async (xApiKey?: string, authorization?: string, workflowIds?: string, startDate?: string, endDate?: string, skip?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/changes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (workflowIds !== undefined) {\n localVarQueryParameter['workflowIds'] = workflowIds;\n }\n\n if (startDate !== undefined) {\n localVarQueryParameter['startDate'] = (startDate as any instanceof Date) ?\n (startDate as any).toISOString() :\n startDate;\n }\n\n if (endDate !== undefined) {\n localVarQueryParameter['endDate'] = (endDate as any instanceof Date) ?\n (endDate as any).toISOString() :\n endDate;\n }\n\n if (skip !== undefined) {\n localVarQueryParameter['skip'] = skip;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {string} [search] Search term to filter workflows by name, URL, or workflow ID\n * @param {number} [skip] Number of items to skip\n * @param {number} [limit] Maximum number of items to return\n * @param {V4WorkflowsGetStateEnum} [state] Filter workflows by state\n * @param {Array<string>} [tags] Filter workflows by tags\n * @param {V4WorkflowsGetMonitoringEnum} [monitoring] Filter workflows by monitoring status\n * @param {V4WorkflowsGetUpdateIntervalEnum} [updateInterval] Filter workflows by update interval\n * @param {string} [templateId] Filter workflows by template ID (DEPRECATED - templates replaced by schemas)\n * @param {V4WorkflowsGetIncludeDeletedEnum} [includeDeleted] Include deleted workflows (for compliance officers)\n * @param {V4WorkflowsGetFormatEnum} [format] Response format (json or csv for export)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsGet: async (search?: string, skip?: number, limit?: number, state?: V4WorkflowsGetStateEnum, tags?: Array<string>, monitoring?: V4WorkflowsGetMonitoringEnum, updateInterval?: V4WorkflowsGetUpdateIntervalEnum, templateId?: string, includeDeleted?: V4WorkflowsGetIncludeDeletedEnum, format?: V4WorkflowsGetFormatEnum, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/workflows`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (search !== undefined) {\n localVarQueryParameter['search'] = search;\n }\n\n if (skip !== undefined) {\n localVarQueryParameter['skip'] = skip;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (state !== undefined) {\n localVarQueryParameter['state'] = state;\n }\n\n if (tags) {\n localVarQueryParameter['tags'] = tags;\n }\n\n if (monitoring !== undefined) {\n localVarQueryParameter['monitoring'] = monitoring;\n }\n\n if (updateInterval !== undefined) {\n localVarQueryParameter['updateInterval'] = updateInterval;\n }\n\n if (templateId !== undefined) {\n localVarQueryParameter['templateId'] = templateId;\n }\n\n if (includeDeleted !== undefined) {\n localVarQueryParameter['includeDeleted'] = includeDeleted;\n }\n\n if (format !== undefined) {\n localVarQueryParameter['format'] = format;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {CreateWorkflowBody} [createWorkflowBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsPost: async (createWorkflowBody?: CreateWorkflowBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/workflows/`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createWorkflowBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {string} workflowId ID of the workflow to retrieve audit logs from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdAuditlogGet: async (workflowId: string, xApiKey?: string, authorization?: string, page?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdAuditlogGet', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/auditlog`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Approve workflow for compliance\n * @param {string} workflowId ID of the workflow to approve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceApprovePut: async (workflowId: string, xApiKey?: string, authorization?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdComplianceApprovePut', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/compliance-approve`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Reject workflow for compliance\n * @param {string} workflowId ID of the workflow to reject\n * @param {V4WorkflowsWorkflowIdComplianceRejectPutRequest} v4WorkflowsWorkflowIdComplianceRejectPutRequest \n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceRejectPut: async (workflowId: string, v4WorkflowsWorkflowIdComplianceRejectPutRequest: V4WorkflowsWorkflowIdComplianceRejectPutRequest, xApiKey?: string, authorization?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdComplianceRejectPut', 'workflowId', workflowId)\n // verify required parameter 'v4WorkflowsWorkflowIdComplianceRejectPutRequest' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdComplianceRejectPut', 'v4WorkflowsWorkflowIdComplianceRejectPutRequest', v4WorkflowsWorkflowIdComplianceRejectPutRequest)\n const localVarPath = `/v4/workflows/{workflowId}/compliance-reject`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4WorkflowsWorkflowIdComplianceRejectPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get workflow data by ID\n * @param {string} workflowId ID of the workflow to retrieve data from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [runId] ID of a specific run to retrieve data from\n * @param {V4WorkflowsWorkflowIdDataGetFormatEnum} [format] Format of the response data\n * @param {string} [sortBy] Field to sort the results by\n * @param {V4WorkflowsWorkflowIdDataGetOrderEnum} [order] Sort order (ascending or descending)\n * @param {string} [filters] JSON-encoded array of filter objects\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page (0 for streaming all data)\n * @param {boolean} [gzip] Enable gzip compression for the response\n * @param {string} [rowIds] Filter results by specific row IDs (comma-separated or JSON array)\n * @param {boolean} [includeAnomalies] Include validation anomalies for each row in the response\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDataGet: async (workflowId: string, xApiKey?: string, authorization?: string, runId?: string, format?: V4WorkflowsWorkflowIdDataGetFormatEnum, sortBy?: string, order?: V4WorkflowsWorkflowIdDataGetOrderEnum, filters?: string, page?: number, limit?: number, gzip?: boolean, rowIds?: string, includeAnomalies?: boolean, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdDataGet', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/data`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (runId !== undefined) {\n localVarQueryParameter['runId'] = runId;\n }\n\n if (format !== undefined) {\n localVarQueryParameter['format'] = format;\n }\n\n if (sortBy !== undefined) {\n localVarQueryParameter['sortBy'] = sortBy;\n }\n\n if (order !== undefined) {\n localVarQueryParameter['order'] = order;\n }\n\n if (filters !== undefined) {\n localVarQueryParameter['filters'] = filters;\n }\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (gzip !== undefined) {\n localVarQueryParameter['gzip'] = gzip;\n }\n\n if (rowIds !== undefined) {\n localVarQueryParameter['rowIds'] = rowIds;\n }\n\n if (includeAnomalies !== undefined) {\n localVarQueryParameter['includeAnomalies'] = includeAnomalies;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Delete a workflow\n * @param {string} workflowId The ID of the workflow to delete\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDelete: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdDelete', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {string} workflowId ID of the workflow to retrieve\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdGet: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdGet', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get the workflow run history\n * @param {string} workflowId The unique identifier of the workflow whose runs history is to be retrieved\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdHistoryGet: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdHistoryGet', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/history`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get job status and telemetry\n * @param {string} workflowId The ID of the workflow\n * @param {string} jobId The ID of the job\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdJobsJobIdGet: async (workflowId: string, jobId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdJobsJobIdGet', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdJobsJobIdGet', 'jobId', jobId)\n const localVarPath = `/v4/workflows/{workflowId}/jobs/{jobId}`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Update workflow metadata\n * @param {string} workflowId ID of the workflow to update\n * @param {V4WorkflowsWorkflowIdMetadataPutRequest} v4WorkflowsWorkflowIdMetadataPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdMetadataPut: async (workflowId: string, v4WorkflowsWorkflowIdMetadataPutRequest: V4WorkflowsWorkflowIdMetadataPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdMetadataPut', 'workflowId', workflowId)\n // verify required parameter 'v4WorkflowsWorkflowIdMetadataPutRequest' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdMetadataPut', 'v4WorkflowsWorkflowIdMetadataPutRequest', v4WorkflowsWorkflowIdMetadataPutRequest)\n const localVarPath = `/v4/workflows/{workflowId}/metadata`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4WorkflowsWorkflowIdMetadataPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Pause a workflow\n * @param {string} workflowId The ID of the workflow to pause\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdPausePut: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdPausePut', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/pause`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {string} workflowId The ID of the workflow to resume\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdResumePut: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdResumePut', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/resume`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Run a workflow\n * @param {string} workflowId The ID of the workflow to run\n * @param {V4WorkflowsWorkflowIdRunPutRequest} [v4WorkflowsWorkflowIdRunPutRequest] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdRunPut: async (workflowId: string, v4WorkflowsWorkflowIdRunPutRequest?: V4WorkflowsWorkflowIdRunPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdRunPut', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/run`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4WorkflowsWorkflowIdRunPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Schedule a workflow\n * @param {string} workflowId The ID of the workflow to schedule\n * @param {V4WorkflowsWorkflowIdSchedulePutRequest} v4WorkflowsWorkflowIdSchedulePutRequest ISO date (attention its timezone UTC) string required in request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdSchedulePut: async (workflowId: string, v4WorkflowsWorkflowIdSchedulePutRequest: V4WorkflowsWorkflowIdSchedulePutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdSchedulePut', 'workflowId', workflowId)\n // verify required parameter 'v4WorkflowsWorkflowIdSchedulePutRequest' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdSchedulePut', 'v4WorkflowsWorkflowIdSchedulePutRequest', v4WorkflowsWorkflowIdSchedulePutRequest)\n const localVarPath = `/v4/workflows/{workflowId}/schedule`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4WorkflowsWorkflowIdSchedulePutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {string} changeId ID of the workflow change to retrieve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesChangeIdGet: async (changeId: string, xApiKey?: string, authorization?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'changeId' is not null or undefined\n assertParamExists('v5ChangesChangeIdGet', 'changeId', changeId)\n const localVarPath = `/v5/changes/{changeId}`\n .replace(`{${\"changeId\"}}`, encodeURIComponent(String(changeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [workflowIds] Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n * @param {string} [startDate] Start date to filter changes (ISO format)\n * @param {string} [endDate] End date to filter changes (ISO format)\n * @param {number} [skip] Number of records to skip for pagination\n * @param {number} [limit] Number of records to return for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesGet: async (xApiKey?: string, authorization?: string, workflowIds?: string, startDate?: string, endDate?: string, skip?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/changes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (workflowIds !== undefined) {\n localVarQueryParameter['workflowIds'] = workflowIds;\n }\n\n if (startDate !== undefined) {\n localVarQueryParameter['startDate'] = (startDate as any instanceof Date) ?\n (startDate as any).toISOString() :\n startDate;\n }\n\n if (endDate !== undefined) {\n localVarQueryParameter['endDate'] = (endDate as any instanceof Date) ?\n (endDate as any).toISOString() :\n endDate;\n }\n\n if (skip !== undefined) {\n localVarQueryParameter['skip'] = skip;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {string} id The ID of the workflow to delete\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'id' is not null or undefined\n assertParamExists('v5WorkflowsIdDelete', 'id', id)\n const localVarPath = `/v5/workflows/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {string} id The ID of the workflow to retrieve\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'id' is not null or undefined\n assertParamExists('v5WorkflowsIdGet', 'id', id)\n const localVarPath = `/v5/workflows/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {string} id The ID of the workflow to update\n * @param {V5WorkflowsIdPutRequest} v5WorkflowsIdPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdPut: async (id: string, v5WorkflowsIdPutRequest: V5WorkflowsIdPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'id' is not null or undefined\n assertParamExists('v5WorkflowsIdPut', 'id', id)\n // verify required parameter 'v5WorkflowsIdPutRequest' is not null or undefined\n assertParamExists('v5WorkflowsIdPut', 'v5WorkflowsIdPutRequest', v5WorkflowsIdPutRequest)\n const localVarPath = `/v5/workflows/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5WorkflowsIdPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {V5WorkflowsPostRequest} v5WorkflowsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsPost: async (v5WorkflowsPostRequest: V5WorkflowsPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'v5WorkflowsPostRequest' is not null or undefined\n assertParamExists('v5WorkflowsPost', 'v5WorkflowsPostRequest', v5WorkflowsPostRequest)\n const localVarPath = `/v5/workflows`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5WorkflowsPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {string} workflowId ID of the workflow to retrieve audit logs from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsWorkflowIdAuditlogGet: async (workflowId: string, xApiKey?: string, authorization?: string, page?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v5WorkflowsWorkflowIdAuditlogGet', 'workflowId', workflowId)\n const localVarPath = `/v5/workflows/{workflowId}/auditlog`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * WorkflowsApi - functional programming interface\n */\nexport const WorkflowsApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = WorkflowsApiAxiosParamCreator(configuration)\n return {\n /**\n * \n * @summary Get data change by ID\n * @param {string} changeId ID of the workflow change to retrieve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4ChangesChangeIdGet(changeId: string, xApiKey?: string, authorization?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4ChangesGet200ResponseChangesInner>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4ChangesChangeIdGet(changeId, xApiKey, authorization, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4ChangesChangeIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get all data changes\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [workflowIds] Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n * @param {string} [startDate] Start date to filter changes (ISO format)\n * @param {string} [endDate] End date to filter changes (ISO format)\n * @param {number} [skip] Number of records to skip for pagination\n * @param {number} [limit] Number of records to return for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4ChangesGet(xApiKey?: string, authorization?: string, workflowIds?: string, startDate?: string, endDate?: string, skip?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4ChangesGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4ChangesGet(xApiKey, authorization, workflowIds, startDate, endDate, skip, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4ChangesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {string} [search] Search term to filter workflows by name, URL, or workflow ID\n * @param {number} [skip] Number of items to skip\n * @param {number} [limit] Maximum number of items to return\n * @param {V4WorkflowsGetStateEnum} [state] Filter workflows by state\n * @param {Array<string>} [tags] Filter workflows by tags\n * @param {V4WorkflowsGetMonitoringEnum} [monitoring] Filter workflows by monitoring status\n * @param {V4WorkflowsGetUpdateIntervalEnum} [updateInterval] Filter workflows by update interval\n * @param {string} [templateId] Filter workflows by template ID (DEPRECATED - templates replaced by schemas)\n * @param {V4WorkflowsGetIncludeDeletedEnum} [includeDeleted] Include deleted workflows (for compliance officers)\n * @param {V4WorkflowsGetFormatEnum} [format] Response format (json or csv for export)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsGet(search?: string, skip?: number, limit?: number, state?: V4WorkflowsGetStateEnum, tags?: Array<string>, monitoring?: V4WorkflowsGetMonitoringEnum, updateInterval?: V4WorkflowsGetUpdateIntervalEnum, templateId?: string, includeDeleted?: V4WorkflowsGetIncludeDeletedEnum, format?: V4WorkflowsGetFormatEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsGet(search, skip, limit, state, tags, monitoring, updateInterval, templateId, includeDeleted, format, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {CreateWorkflowBody} [createWorkflowBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsPost(createWorkflowBody?: CreateWorkflowBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateWorkflowResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsPost(createWorkflowBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {string} workflowId ID of the workflow to retrieve audit logs from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdAuditlogGet(workflowId: string, xApiKey?: string, authorization?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdAuditlogGet(workflowId, xApiKey, authorization, page, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdAuditlogGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Approve workflow for compliance\n * @param {string} workflowId ID of the workflow to approve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdComplianceApprovePut(workflowId: string, xApiKey?: string, authorization?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdComplianceApprovePut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdComplianceApprovePut(workflowId, xApiKey, authorization, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdComplianceApprovePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Reject workflow for compliance\n * @param {string} workflowId ID of the workflow to reject\n * @param {V4WorkflowsWorkflowIdComplianceRejectPutRequest} v4WorkflowsWorkflowIdComplianceRejectPutRequest \n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdComplianceRejectPut(workflowId: string, v4WorkflowsWorkflowIdComplianceRejectPutRequest: V4WorkflowsWorkflowIdComplianceRejectPutRequest, xApiKey?: string, authorization?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdComplianceRejectPut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdComplianceRejectPut(workflowId, v4WorkflowsWorkflowIdComplianceRejectPutRequest, xApiKey, authorization, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdComplianceRejectPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get workflow data by ID\n * @param {string} workflowId ID of the workflow to retrieve data from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [runId] ID of a specific run to retrieve data from\n * @param {V4WorkflowsWorkflowIdDataGetFormatEnum} [format] Format of the response data\n * @param {string} [sortBy] Field to sort the results by\n * @param {V4WorkflowsWorkflowIdDataGetOrderEnum} [order] Sort order (ascending or descending)\n * @param {string} [filters] JSON-encoded array of filter objects\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page (0 for streaming all data)\n * @param {boolean} [gzip] Enable gzip compression for the response\n * @param {string} [rowIds] Filter results by specific row IDs (comma-separated or JSON array)\n * @param {boolean} [includeAnomalies] Include validation anomalies for each row in the response\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdDataGet(workflowId: string, xApiKey?: string, authorization?: string, runId?: string, format?: V4WorkflowsWorkflowIdDataGetFormatEnum, sortBy?: string, order?: V4WorkflowsWorkflowIdDataGetOrderEnum, filters?: string, page?: number, limit?: number, gzip?: boolean, rowIds?: string, includeAnomalies?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdDataGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdDataGet(workflowId, xApiKey, authorization, runId, format, sortBy, order, filters, page, limit, gzip, rowIds, includeAnomalies, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdDataGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Delete a workflow\n * @param {string} workflowId The ID of the workflow to delete\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdDelete(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdDelete(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {string} workflowId ID of the workflow to retrieve\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdGet(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdGet(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get the workflow run history\n * @param {string} workflowId The unique identifier of the workflow whose runs history is to be retrieved\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdHistoryGet(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdHistoryGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdHistoryGet(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdHistoryGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get job status and telemetry\n * @param {string} workflowId The ID of the workflow\n * @param {string} jobId The ID of the job\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdJobsJobIdGet(workflowId: string, jobId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdJobsJobIdGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdJobsJobIdGet(workflowId, jobId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdJobsJobIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Update workflow metadata\n * @param {string} workflowId ID of the workflow to update\n * @param {V4WorkflowsWorkflowIdMetadataPutRequest} v4WorkflowsWorkflowIdMetadataPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdMetadataPut(workflowId: string, v4WorkflowsWorkflowIdMetadataPutRequest: V4WorkflowsWorkflowIdMetadataPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdMetadataPut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdMetadataPut(workflowId, v4WorkflowsWorkflowIdMetadataPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdMetadataPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Pause a workflow\n * @param {string} workflowId The ID of the workflow to pause\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdPausePut(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdPausePut(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdPausePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {string} workflowId The ID of the workflow to resume\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdResumePut(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdResumePut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdResumePut(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdResumePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Run a workflow\n * @param {string} workflowId The ID of the workflow to run\n * @param {V4WorkflowsWorkflowIdRunPutRequest} [v4WorkflowsWorkflowIdRunPutRequest] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdRunPut(workflowId: string, v4WorkflowsWorkflowIdRunPutRequest?: V4WorkflowsWorkflowIdRunPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdRunPut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdRunPut(workflowId, v4WorkflowsWorkflowIdRunPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdRunPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Schedule a workflow\n * @param {string} workflowId The ID of the workflow to schedule\n * @param {V4WorkflowsWorkflowIdSchedulePutRequest} v4WorkflowsWorkflowIdSchedulePutRequest ISO date (attention its timezone UTC) string required in request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdSchedulePut(workflowId: string, v4WorkflowsWorkflowIdSchedulePutRequest: V4WorkflowsWorkflowIdSchedulePutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdSchedulePut(workflowId, v4WorkflowsWorkflowIdSchedulePutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdSchedulePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {string} changeId ID of the workflow change to retrieve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5ChangesChangeIdGet(changeId: string, xApiKey?: string, authorization?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4ChangesGet200ResponseChangesInner>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5ChangesChangeIdGet(changeId, xApiKey, authorization, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5ChangesChangeIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [workflowIds] Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n * @param {string} [startDate] Start date to filter changes (ISO format)\n * @param {string} [endDate] End date to filter changes (ISO format)\n * @param {number} [skip] Number of records to skip for pagination\n * @param {number} [limit] Number of records to return for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5ChangesGet(xApiKey?: string, authorization?: string, workflowIds?: string, startDate?: string, endDate?: string, skip?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4ChangesGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5ChangesGet(xApiKey, authorization, workflowIds, startDate, endDate, skip, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5ChangesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {string} id The ID of the workflow to delete\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsIdDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsIdDelete(id, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {string} id The ID of the workflow to retrieve\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsIdGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5WorkflowsIdGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsIdGet(id, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {string} id The ID of the workflow to update\n * @param {V5WorkflowsIdPutRequest} v5WorkflowsIdPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsIdPut(id: string, v5WorkflowsIdPutRequest: V5WorkflowsIdPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5WorkflowsIdPut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsIdPut(id, v5WorkflowsIdPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {V5WorkflowsPostRequest} v5WorkflowsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsPost(v5WorkflowsPostRequest: V5WorkflowsPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5WorkflowsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsPost(v5WorkflowsPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {string} workflowId ID of the workflow to retrieve audit logs from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsWorkflowIdAuditlogGet(workflowId: string, xApiKey?: string, authorization?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsWorkflowIdAuditlogGet(workflowId, xApiKey, authorization, page, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsWorkflowIdAuditlogGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * WorkflowsApi - factory interface\n */\nexport const WorkflowsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = WorkflowsApiFp(configuration)\n return {\n /**\n * \n * @summary Get data change by ID\n * @param {WorkflowsApiV4ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesChangeIdGet(requestParameters: WorkflowsApiV4ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200ResponseChangesInner> {\n return localVarFp.v4ChangesChangeIdGet(requestParameters.changeId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all data changes\n * @param {WorkflowsApiV4ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesGet(requestParameters: WorkflowsApiV4ChangesGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200Response> {\n return localVarFp.v4ChangesGet(requestParameters.xApiKey, requestParameters.authorization, requestParameters.workflowIds, requestParameters.startDate, requestParameters.endDate, requestParameters.skip, requestParameters.limit, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {WorkflowsApiV4WorkflowsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsGet(requestParameters: WorkflowsApiV4WorkflowsGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsGet200Response> {\n return localVarFp.v4WorkflowsGet(requestParameters.search, requestParameters.skip, requestParameters.limit, requestParameters.state, requestParameters.tags, requestParameters.monitoring, requestParameters.updateInterval, requestParameters.templateId, requestParameters.includeDeleted, requestParameters.format, options).then((request) => request(axios, basePath));\n },\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {WorkflowsApiV4WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsPost(requestParameters: WorkflowsApiV4WorkflowsPostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<CreateWorkflowResponse> {\n return localVarFp.v4WorkflowsPost(requestParameters.createWorkflowBody, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdAuditlogGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.page, requestParameters.limit, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Approve workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdComplianceApprovePut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Reject workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdComplianceRejectPut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdComplianceRejectPutRequest, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get workflow data by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDataGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdDataGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdDataGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.runId, requestParameters.format, requestParameters.sortBy, requestParameters.order, requestParameters.filters, requestParameters.page, requestParameters.limit, requestParameters.gzip, requestParameters.rowIds, requestParameters.includeAnomalies, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Delete a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDelete(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<string> {\n return localVarFp.v4WorkflowsWorkflowIdDelete(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdGet(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get the workflow run history\n * @param {WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdHistoryGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdHistoryGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdHistoryGet(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get job status and telemetry\n * @param {WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdJobsJobIdGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters.workflowId, requestParameters.jobId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Update workflow metadata\n * @param {WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdMetadataPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdMetadataPut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdMetadataPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdMetadataPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Pause a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdPausePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<string> {\n return localVarFp.v4WorkflowsWorkflowIdPausePut(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdResumePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdResumePut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdResumePut(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Run a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdRunPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdRunPut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdRunPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdRunPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Schedule a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdSchedulePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<string> {\n return localVarFp.v4WorkflowsWorkflowIdSchedulePut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdSchedulePutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {WorkflowsApiV5ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesChangeIdGet(requestParameters: WorkflowsApiV5ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200ResponseChangesInner> {\n return localVarFp.v5ChangesChangeIdGet(requestParameters.changeId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {WorkflowsApiV5ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesGet(requestParameters: WorkflowsApiV5ChangesGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200Response> {\n return localVarFp.v5ChangesGet(requestParameters.xApiKey, requestParameters.authorization, requestParameters.workflowIds, requestParameters.startDate, requestParameters.endDate, requestParameters.skip, requestParameters.limit, options).then((request) => request(axios, basePath));\n },\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {WorkflowsApiV5WorkflowsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdDelete(requestParameters: WorkflowsApiV5WorkflowsIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {\n return localVarFp.v5WorkflowsIdDelete(requestParameters.id, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {WorkflowsApiV5WorkflowsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdGet(requestParameters: WorkflowsApiV5WorkflowsIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsIdGet200Response> {\n return localVarFp.v5WorkflowsIdGet(requestParameters.id, options).then((request) => request(axios, basePath));\n },\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {WorkflowsApiV5WorkflowsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdPut(requestParameters: WorkflowsApiV5WorkflowsIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsIdPut200Response> {\n return localVarFp.v5WorkflowsIdPut(requestParameters.id, requestParameters.v5WorkflowsIdPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {WorkflowsApiV5WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsPost(requestParameters: WorkflowsApiV5WorkflowsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsPost201Response> {\n return localVarFp.v5WorkflowsPost(requestParameters.v5WorkflowsPostRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response> {\n return localVarFp.v5WorkflowsWorkflowIdAuditlogGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.page, requestParameters.limit, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * WorkflowsApi - interface\n */\nexport interface WorkflowsApiInterface {\n /**\n * \n * @summary Get data change by ID\n * @param {WorkflowsApiV4ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesChangeIdGet(requestParameters: WorkflowsApiV4ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200ResponseChangesInner>;\n\n /**\n * \n * @summary Get all data changes\n * @param {WorkflowsApiV4ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesGet(requestParameters?: WorkflowsApiV4ChangesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200Response>;\n\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {WorkflowsApiV4WorkflowsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsGet(requestParameters?: WorkflowsApiV4WorkflowsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsGet200Response>;\n\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {WorkflowsApiV4WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsPost(requestParameters?: WorkflowsApiV4WorkflowsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateWorkflowResponse>;\n\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response>;\n\n /**\n * \n * @summary Approve workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdComplianceApprovePut200Response>;\n\n /**\n * \n * @summary Reject workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdComplianceRejectPut200Response>;\n\n /**\n * \n * @summary Get workflow data by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDataGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdDataGet200Response>;\n\n /**\n * \n * @summary Delete a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDelete(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<string>;\n\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdGet200Response>;\n\n /**\n * \n * @summary Get the workflow run history\n * @param {WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdHistoryGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdHistoryGet200Response>;\n\n /**\n * \n * @summary Get job status and telemetry\n * @param {WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdJobsJobIdGet200Response>;\n\n /**\n * \n * @summary Update workflow metadata\n * @param {WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdMetadataPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdMetadataPut200Response>;\n\n /**\n * \n * @summary Pause a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdPausePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<string>;\n\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdResumePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdResumePut200Response>;\n\n /**\n * \n * @summary Run a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdRunPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdRunPut200Response>;\n\n /**\n * \n * @summary Schedule a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdSchedulePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<string>;\n\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {WorkflowsApiV5ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesChangeIdGet(requestParameters: WorkflowsApiV5ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200ResponseChangesInner>;\n\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {WorkflowsApiV5ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesGet(requestParameters?: WorkflowsApiV5ChangesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200Response>;\n\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {WorkflowsApiV5WorkflowsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdDelete(requestParameters: WorkflowsApiV5WorkflowsIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;\n\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {WorkflowsApiV5WorkflowsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdGet(requestParameters: WorkflowsApiV5WorkflowsIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsIdGet200Response>;\n\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {WorkflowsApiV5WorkflowsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdPut(requestParameters: WorkflowsApiV5WorkflowsIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsIdPut200Response>;\n\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {WorkflowsApiV5WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsPost(requestParameters: WorkflowsApiV5WorkflowsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsPost201Response>;\n\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response>;\n\n}\n\n/**\n * Request parameters for v4ChangesChangeIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4ChangesChangeIdGetRequest {\n /**\n * ID of the workflow change to retrieve\n */\n readonly changeId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n}\n\n/**\n * Request parameters for v4ChangesGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4ChangesGetRequest {\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n */\n readonly workflowIds?: string\n\n /**\n * Start date to filter changes (ISO format)\n */\n readonly startDate?: string\n\n /**\n * End date to filter changes (ISO format)\n */\n readonly endDate?: string\n\n /**\n * Number of records to skip for pagination\n */\n readonly skip?: number\n\n /**\n * Number of records to return for pagination\n */\n readonly limit?: number\n}\n\n/**\n * Request parameters for v4WorkflowsGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsGetRequest {\n /**\n * Search term to filter workflows by name, URL, or workflow ID\n */\n readonly search?: string\n\n /**\n * Number of items to skip\n */\n readonly skip?: number\n\n /**\n * Maximum number of items to return\n */\n readonly limit?: number\n\n /**\n * Filter workflows by state\n */\n readonly state?: V4WorkflowsGetStateEnum\n\n /**\n * Filter workflows by tags\n */\n readonly tags?: Array<string>\n\n /**\n * Filter workflows by monitoring status\n */\n readonly monitoring?: V4WorkflowsGetMonitoringEnum\n\n /**\n * Filter workflows by update interval\n */\n readonly updateInterval?: V4WorkflowsGetUpdateIntervalEnum\n\n /**\n * Filter workflows by template ID (DEPRECATED - templates replaced by schemas)\n */\n readonly templateId?: string\n\n /**\n * Include deleted workflows (for compliance officers)\n */\n readonly includeDeleted?: V4WorkflowsGetIncludeDeletedEnum\n\n /**\n * Response format (json or csv for export)\n */\n readonly format?: V4WorkflowsGetFormatEnum\n}\n\n/**\n * Request parameters for v4WorkflowsPost operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsPostRequest {\n /**\n * Body\n */\n readonly createWorkflowBody?: CreateWorkflowBody\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdAuditlogGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest {\n /**\n * ID of the workflow to retrieve audit logs from\n */\n readonly workflowId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * Page number for pagination\n */\n readonly page?: number\n\n /**\n * Number of items per page\n */\n readonly limit?: number\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdComplianceApprovePut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest {\n /**\n * ID of the workflow to approve\n */\n readonly workflowId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdComplianceRejectPut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest {\n /**\n * ID of the workflow to reject\n */\n readonly workflowId: string\n\n readonly v4WorkflowsWorkflowIdComplianceRejectPutRequest: V4WorkflowsWorkflowIdComplianceRejectPutRequest\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdDataGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest {\n /**\n * ID of the workflow to retrieve data from\n */\n readonly workflowId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * ID of a specific run to retrieve data from\n */\n readonly runId?: string\n\n /**\n * Format of the response data\n */\n readonly format?: V4WorkflowsWorkflowIdDataGetFormatEnum\n\n /**\n * Field to sort the results by\n */\n readonly sortBy?: string\n\n /**\n * Sort order (ascending or descending)\n */\n readonly order?: V4WorkflowsWorkflowIdDataGetOrderEnum\n\n /**\n * JSON-encoded array of filter objects\n */\n readonly filters?: string\n\n /**\n * Page number for pagination\n */\n readonly page?: number\n\n /**\n * Number of items per page (0 for streaming all data)\n */\n readonly limit?: number\n\n /**\n * Enable gzip compression for the response\n */\n readonly gzip?: boolean\n\n /**\n * Filter results by specific row IDs (comma-separated or JSON array)\n */\n readonly rowIds?: string\n\n /**\n * Include validation anomalies for each row in the response\n */\n readonly includeAnomalies?: boolean\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdDelete operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest {\n /**\n * The ID of the workflow to delete\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdGetRequest {\n /**\n * ID of the workflow to retrieve\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdHistoryGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest {\n /**\n * The unique identifier of the workflow whose runs history is to be retrieved\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdJobsJobIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest {\n /**\n * The ID of the workflow\n */\n readonly workflowId: string\n\n /**\n * The ID of the job\n */\n readonly jobId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdMetadataPut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest {\n /**\n * ID of the workflow to update\n */\n readonly workflowId: string\n\n readonly v4WorkflowsWorkflowIdMetadataPutRequest: V4WorkflowsWorkflowIdMetadataPutRequest\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdPausePut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest {\n /**\n * The ID of the workflow to pause\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdResumePut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest {\n /**\n * The ID of the workflow to resume\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdRunPut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest {\n /**\n * The ID of the workflow to run\n */\n readonly workflowId: string\n\n readonly v4WorkflowsWorkflowIdRunPutRequest?: V4WorkflowsWorkflowIdRunPutRequest\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdSchedulePut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest {\n /**\n * The ID of the workflow to schedule\n */\n readonly workflowId: string\n\n /**\n * ISO date (attention its timezone UTC) string required in request body\n */\n readonly v4WorkflowsWorkflowIdSchedulePutRequest: V4WorkflowsWorkflowIdSchedulePutRequest\n}\n\n/**\n * Request parameters for v5ChangesChangeIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5ChangesChangeIdGetRequest {\n /**\n * ID of the workflow change to retrieve\n */\n readonly changeId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n}\n\n/**\n * Request parameters for v5ChangesGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5ChangesGetRequest {\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n */\n readonly workflowIds?: string\n\n /**\n * Start date to filter changes (ISO format)\n */\n readonly startDate?: string\n\n /**\n * End date to filter changes (ISO format)\n */\n readonly endDate?: string\n\n /**\n * Number of records to skip for pagination\n */\n readonly skip?: number\n\n /**\n * Number of records to return for pagination\n */\n readonly limit?: number\n}\n\n/**\n * Request parameters for v5WorkflowsIdDelete operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsIdDeleteRequest {\n /**\n * The ID of the workflow to delete\n */\n readonly id: string\n}\n\n/**\n * Request parameters for v5WorkflowsIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsIdGetRequest {\n /**\n * The ID of the workflow to retrieve\n */\n readonly id: string\n}\n\n/**\n * Request parameters for v5WorkflowsIdPut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsIdPutRequest {\n /**\n * The ID of the workflow to update\n */\n readonly id: string\n\n readonly v5WorkflowsIdPutRequest: V5WorkflowsIdPutRequest\n}\n\n/**\n * Request parameters for v5WorkflowsPost operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsPostRequest {\n readonly v5WorkflowsPostRequest: V5WorkflowsPostRequest\n}\n\n/**\n * Request parameters for v5WorkflowsWorkflowIdAuditlogGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest {\n /**\n * ID of the workflow to retrieve audit logs from\n */\n readonly workflowId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * Page number for pagination\n */\n readonly page?: number\n\n /**\n * Number of items per page\n */\n readonly limit?: number\n}\n\n/**\n * WorkflowsApi - object-oriented interface\n */\nexport class WorkflowsApi extends BaseAPI implements WorkflowsApiInterface {\n /**\n * \n * @summary Get data change by ID\n * @param {WorkflowsApiV4ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4ChangesChangeIdGet(requestParameters: WorkflowsApiV4ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4ChangesChangeIdGet(requestParameters.changeId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all data changes\n * @param {WorkflowsApiV4ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4ChangesGet(requestParameters: WorkflowsApiV4ChangesGetRequest = {}, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4ChangesGet(requestParameters.xApiKey, requestParameters.authorization, requestParameters.workflowIds, requestParameters.startDate, requestParameters.endDate, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {WorkflowsApiV4WorkflowsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsGet(requestParameters: WorkflowsApiV4WorkflowsGetRequest = {}, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsGet(requestParameters.search, requestParameters.skip, requestParameters.limit, requestParameters.state, requestParameters.tags, requestParameters.monitoring, requestParameters.updateInterval, requestParameters.templateId, requestParameters.includeDeleted, requestParameters.format, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {WorkflowsApiV4WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsPost(requestParameters: WorkflowsApiV4WorkflowsPostRequest = {}, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsPost(requestParameters.createWorkflowBody, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdAuditlogGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.page, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Approve workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Reject workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdComplianceRejectPutRequest, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get workflow data by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdDataGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdDataGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.runId, requestParameters.format, requestParameters.sortBy, requestParameters.order, requestParameters.filters, requestParameters.page, requestParameters.limit, requestParameters.gzip, requestParameters.rowIds, requestParameters.includeAnomalies, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Delete a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdDelete(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdDelete(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdGet(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get the workflow run history\n * @param {WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdHistoryGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdHistoryGet(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get job status and telemetry\n * @param {WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters.workflowId, requestParameters.jobId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Update workflow metadata\n * @param {WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdMetadataPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdMetadataPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdMetadataPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Pause a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdPausePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdPausePut(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdResumePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdResumePut(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Run a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdRunPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdRunPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdRunPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Schedule a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdSchedulePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdSchedulePut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdSchedulePutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {WorkflowsApiV5ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5ChangesChangeIdGet(requestParameters: WorkflowsApiV5ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5ChangesChangeIdGet(requestParameters.changeId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {WorkflowsApiV5ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5ChangesGet(requestParameters: WorkflowsApiV5ChangesGetRequest = {}, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5ChangesGet(requestParameters.xApiKey, requestParameters.authorization, requestParameters.workflowIds, requestParameters.startDate, requestParameters.endDate, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {WorkflowsApiV5WorkflowsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsIdDelete(requestParameters: WorkflowsApiV5WorkflowsIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsIdDelete(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {WorkflowsApiV5WorkflowsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsIdGet(requestParameters: WorkflowsApiV5WorkflowsIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsIdGet(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {WorkflowsApiV5WorkflowsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsIdPut(requestParameters: WorkflowsApiV5WorkflowsIdPutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsIdPut(requestParameters.id, requestParameters.v5WorkflowsIdPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {WorkflowsApiV5WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsPost(requestParameters: WorkflowsApiV5WorkflowsPostRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsPost(requestParameters.v5WorkflowsPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsWorkflowIdAuditlogGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.page, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\nexport const V4WorkflowsGetStateEnum = {\n Active: 'ACTIVE',\n Error: 'ERROR',\n Paused: 'PAUSED',\n NotSupported: 'NOT_SUPPORTED'\n} as const;\nexport type V4WorkflowsGetStateEnum = typeof V4WorkflowsGetStateEnum[keyof typeof V4WorkflowsGetStateEnum];\nexport const V4WorkflowsGetMonitoringEnum = {\n True: 'true',\n False: 'false'\n} as const;\nexport type V4WorkflowsGetMonitoringEnum = typeof V4WorkflowsGetMonitoringEnum[keyof typeof V4WorkflowsGetMonitoringEnum];\nexport const V4WorkflowsGetUpdateIntervalEnum = {\n Hourly: 'HOURLY',\n Daily: 'DAILY',\n Weekly: 'WEEKLY',\n Monthly: 'MONTHLY'\n} as const;\nexport type V4WorkflowsGetUpdateIntervalEnum = typeof V4WorkflowsGetUpdateIntervalEnum[keyof typeof V4WorkflowsGetUpdateIntervalEnum];\nexport const V4WorkflowsGetIncludeDeletedEnum = {\n True: 'true',\n False: 'false'\n} as const;\nexport type V4WorkflowsGetIncludeDeletedEnum = typeof V4WorkflowsGetIncludeDeletedEnum[keyof typeof V4WorkflowsGetIncludeDeletedEnum];\nexport const V4WorkflowsGetFormatEnum = {\n Json: 'json',\n Csv: 'csv'\n} as const;\nexport type V4WorkflowsGetFormatEnum = typeof V4WorkflowsGetFormatEnum[keyof typeof V4WorkflowsGetFormatEnum];\nexport const V4WorkflowsWorkflowIdDataGetFormatEnum = {\n Json: 'json',\n Csv: 'csv'\n} as const;\nexport type V4WorkflowsWorkflowIdDataGetFormatEnum = typeof V4WorkflowsWorkflowIdDataGetFormatEnum[keyof typeof V4WorkflowsWorkflowIdDataGetFormatEnum];\nexport const V4WorkflowsWorkflowIdDataGetOrderEnum = {\n Asc: 'asc',\n Desc: 'desc'\n} as const;\nexport type V4WorkflowsWorkflowIdDataGetOrderEnum = typeof V4WorkflowsWorkflowIdDataGetOrderEnum[keyof typeof V4WorkflowsWorkflowIdDataGetOrderEnum];\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ConfigurationParameters {\n apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);\n username?: string;\n password?: string;\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n basePath?: string;\n serverIndex?: number;\n baseOptions?: any;\n formDataCtor?: new () => any;\n}\n\nexport class Configuration {\n /**\n * parameter for apiKey security\n * @param name security name\n */\n apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);\n /**\n * parameter for basic security\n */\n username?: string;\n /**\n * parameter for basic security\n */\n password?: string;\n /**\n * parameter for oauth2 security\n * @param name security name\n * @param scopes oauth2 scope\n */\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n /**\n * override base path\n */\n basePath?: string;\n /**\n * override server index\n */\n serverIndex?: number;\n /**\n * base options for axios calls\n */\n baseOptions?: any;\n /**\n * The FormData constructor that will be used to create multipart form data\n * requests. You can inject this here so that execution environments that\n * do not support the FormData class can still run the generated client.\n *\n * @type {new () => FormData}\n */\n formDataCtor?: new () => any;\n\n constructor(param: ConfigurationParameters = {}) {\n this.apiKey = param.apiKey;\n this.username = param.username;\n this.password = param.password;\n this.accessToken = param.accessToken;\n this.basePath = param.basePath;\n this.serverIndex = param.serverIndex;\n this.baseOptions = {\n ...param.baseOptions,\n headers: {\n ...param.baseOptions?.headers,\n },\n };\n this.formDataCtor = param.formDataCtor;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n}\n","import type { KadoaClient } from \"../../kadoa-client\";\nimport { KadoaSdkException } from \"../../runtime/exceptions\";\nimport {\n ERROR_MESSAGES,\n KadoaErrorCode,\n} from \"../../runtime/exceptions/base.exception\";\nimport { logger } from \"../../runtime/logger\";\nimport { SchemaBuilder } from \"./schema-builder\";\nimport {\n type CreateSchemaRequest,\n type SchemaResponse,\n SchemasApi,\n type UpdateSchemaRequest,\n} from \"./schemas.acl\";\n\nconst debug = logger.schemas;\n\n/**\n * Service for managing schemas\n */\nexport class SchemasService {\n private readonly schemasApi: SchemasApi;\n\n constructor(client: KadoaClient) {\n this.schemasApi = new SchemasApi(client.configuration);\n }\n\n /**\n * Create a schema builder with fluent API and inline create support.\n */\n builder(\n entityName: string,\n ): SchemaBuilder & { create(name?: string): Promise<SchemaResponse> } {\n const service = this;\n return new (class extends SchemaBuilder {\n constructor() {\n super();\n this.entity(entityName);\n }\n\n async create(name?: string): Promise<SchemaResponse> {\n const built = this.build();\n return service.createSchema({\n name: name || built.entityName,\n entity: built.entityName,\n fields: built.fields,\n });\n }\n })();\n }\n\n /**\n * Get a schema by ID\n */\n async getSchema(schemaId: string): Promise<SchemaResponse> {\n debug(\"Fetching schema with ID: %s\", schemaId);\n\n const response = await this.schemasApi.v4SchemasSchemaIdGet({\n schemaId,\n });\n\n const schemaData = response.data.data;\n\n if (!schemaData) {\n throw new KadoaSdkException(\n `${ERROR_MESSAGES.SCHEMA_NOT_FOUND}: ${schemaId}`,\n {\n code: KadoaErrorCode.NOT_FOUND,\n details: { schemaId },\n },\n );\n }\n\n return schemaData;\n }\n\n /**\n * List all schemas\n */\n async listSchemas(): Promise<SchemaResponse[]> {\n const response = await this.schemasApi.v4SchemasGet();\n return response.data.data;\n }\n\n /**\n * Create a new schema\n */\n async createSchema(body: CreateSchemaRequest): Promise<SchemaResponse> {\n debug(\"Creating schema with name: %s\", body.name);\n\n const response = await this.schemasApi.v4SchemasPost({\n createSchemaBody: body,\n });\n\n const schemaId = response.data.schemaId;\n\n if (!schemaId) {\n throw new KadoaSdkException(ERROR_MESSAGES.SCHEMA_CREATE_FAILED, {\n code: KadoaErrorCode.INTERNAL_ERROR,\n });\n }\n\n // Fetch the created schema to return the full schema object\n return this.getSchema(schemaId);\n }\n\n /**\n * Update an existing schema\n */\n async updateSchema(\n schemaId: string,\n body: UpdateSchemaRequest,\n ): Promise<SchemaResponse> {\n debug(\"Updating schema with ID: %s\", schemaId);\n\n await this.schemasApi.v4SchemasSchemaIdPut({\n schemaId,\n updateSchemaBody: body,\n });\n\n // Fetch the updated schema to return the full schema object\n return this.getSchema(schemaId);\n }\n\n /**\n * Delete a schema\n */\n async deleteSchema(schemaId: string): Promise<void> {\n debug(\"Deleting schema with ID: %s\", schemaId);\n\n await this.schemasApi.v4SchemasSchemaIdDelete({\n schemaId,\n });\n }\n}\n","import type { AxiosResponse } from \"axios\";\nimport type { KadoaClient } from \"../../../kadoa-client\";\nimport { KadoaSdkException } from \"../../../runtime/exceptions\";\nimport { ERROR_MESSAGES } from \"../../../runtime/exceptions/base.exception\";\nimport { SchemasService } from \"../../schemas/schemas.service\";\nimport type { LocationConfig, SchemaField } from \"../extraction.acl\";\n\nexport interface EntityPrediction {\n entity: string;\n fields: SchemaField[];\n primaryKeyField?: string;\n expectedResults?: string;\n}\n\nexport interface EntityResponse {\n success: boolean;\n entityPrediction: EntityPrediction[];\n screenshots?: string[];\n location?: {\n type: string;\n };\n}\n\nexport interface EntityRequestOptions {\n link: string;\n location?: LocationConfig;\n navigationMode?: string;\n}\n\nexport interface ResolvedEntity {\n entity: string;\n fields: SchemaField[];\n}\n\nexport type EntityConfig =\n | \"ai-detection\"\n | { schemaId: string }\n | { name: string; fields: SchemaField[] };\n\nexport const ENTITY_API_ENDPOINT = \"/v4/entity\";\n\n/**\n * Service for resolving entities and their fields from various sources\n *\n * NOTE: This is a workaround for the /v4/entity endpoint which is not yet exposed in the OpenAPI spec.\n * Once the endpoint is added to the OpenAPI specification, this manual implementation should be\n * replaced with the generated client code.\n */\nexport class EntityResolverService {\n private readonly schemasService: SchemasService;\n\n constructor(private readonly client: KadoaClient) {\n this.schemasService = new SchemasService(client);\n }\n\n /**\n * Resolves entity and fields from the provided entity configuration\n *\n * @param entityConfig The entity configuration to resolve\n * @param options Additional options for AI detection\n * @returns Resolved entity with fields\n */\n async resolveEntity(\n entityConfig: EntityConfig,\n options?: {\n link?: string;\n location?: LocationConfig;\n navigationMode?: string;\n },\n ): Promise<ResolvedEntity> {\n if (entityConfig === \"ai-detection\") {\n if (!options?.link) {\n throw new KadoaSdkException(ERROR_MESSAGES.LINK_REQUIRED, {\n code: \"VALIDATION_ERROR\",\n details: { entityConfig, options },\n });\n }\n\n // Step 1: Detect entity fields using AI\n const entityPrediction = await this.fetchEntityFields({\n link: options.link,\n location: options.location,\n navigationMode: options.navigationMode,\n });\n\n return {\n entity: entityPrediction.entity,\n fields: entityPrediction.fields,\n };\n } else if (entityConfig) {\n if (\"schemaId\" in entityConfig) {\n // Fetch schema from API to get entity and fields\n const schema = await this.schemasService.getSchema(\n entityConfig.schemaId,\n );\n return {\n entity: schema.entity ?? \"\",\n fields: schema.schema,\n };\n } else if (\"name\" in entityConfig && \"fields\" in entityConfig) {\n return {\n entity: entityConfig.name,\n fields: entityConfig.fields,\n };\n }\n }\n\n throw new KadoaSdkException(ERROR_MESSAGES.ENTITY_INVARIANT_VIOLATION, {\n details: {\n entity: entityConfig,\n },\n });\n }\n\n /**\n * Fetches entity fields dynamically from the /v4/entity endpoint.\n * This is a workaround implementation using native fetch since the endpoint\n * is not yet included in the OpenAPI specification.\n *\n * @param options Request options including the link to analyze\n * @returns EntityPrediction containing the detected entity type and fields\n */\n async fetchEntityFields(\n options: EntityRequestOptions,\n ): Promise<EntityPrediction> {\n this.validateEntityOptions(options);\n\n const url = `${this.client.baseUrl}${ENTITY_API_ENDPOINT}`;\n const requestBody: EntityRequestOptions = options;\n\n const response: AxiosResponse<EntityResponse> =\n await this.client.axiosInstance.post(url, requestBody, {\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n \"x-api-key\": this.client.apiKey,\n },\n });\n\n const data = response.data;\n\n if (\n !data.success ||\n !data.entityPrediction ||\n data.entityPrediction.length === 0\n ) {\n throw new KadoaSdkException(ERROR_MESSAGES.NO_PREDICTIONS, {\n code: \"NOT_FOUND\",\n details: {\n success: data.success,\n hasPredictions: !!data.entityPrediction,\n predictionCount: data.entityPrediction?.length || 0,\n link: options.link,\n },\n });\n }\n\n return data.entityPrediction[0];\n }\n\n /**\n * Validates entity request options\n */\n private validateEntityOptions(options: EntityRequestOptions): void {\n if (!options.link) {\n throw new KadoaSdkException(ERROR_MESSAGES.LINK_REQUIRED, {\n code: \"VALIDATION_ERROR\",\n details: { options },\n });\n }\n }\n}\n","import { merge } from \"es-toolkit\";\nimport { KadoaSdkException } from \"../../../runtime/exceptions\";\nimport { ERROR_MESSAGES } from \"../../../runtime/exceptions/base.exception\";\nimport { logger } from \"../../../runtime/logger\";\nimport type { PageInfo } from \"../../../runtime/pagination\";\nimport type {\n NotificationChannel,\n NotificationChannelsService,\n NotificationOptions,\n NotificationSettings,\n NotificationSettingsService,\n NotificationSetupService,\n} from \"../../notifications\";\nimport type {\n GetJobResponse,\n RunWorkflowRequest,\n RunWorkflowResponse,\n WorkflowsCoreService,\n} from \"../../workflows\";\nimport type {\n FetchDataOptions,\n LocationConfig,\n NavigationMode,\n WorkflowDetailsResponse,\n WorkflowInterval,\n WorkflowMonitoringConfig,\n} from \"../extraction.acl\";\nimport type {\n DataFetcherService,\n FetchDataResult,\n} from \"./data-fetcher.service\";\nimport type {\n EntityConfig,\n EntityResolverService,\n} from \"./entity-resolver.service\";\n\nconst debug = logger.extraction;\n\nexport interface ExtractionOptionsInternal {\n urls: string[];\n prompt?: string;\n mode: \"run\" | \"submit\";\n navigationMode: NavigationMode;\n name: string;\n description?: string;\n location: LocationConfig;\n bypassPreview?: boolean;\n pollingInterval: number;\n maxWaitTime: number;\n entity: EntityConfig;\n interval?: WorkflowInterval;\n monitoring?: WorkflowMonitoringConfig;\n tags?: string[];\n notifications?: NotificationOptions;\n autoStart?: boolean;\n}\n\nexport type ExtractionOptions = {\n urls: string[];\n} & Partial<Omit<ExtractionOptionsInternal, \"urls\">>;\n\nexport interface ExtractionResult {\n workflowId: string;\n workflow?: WorkflowDetailsResponse;\n data?: Array<object>;\n pagination?: PageInfo;\n}\n\nexport interface SubmitExtractionResult {\n workflowId: string;\n needsNotificationSetup?: boolean;\n}\n\n// Use TERMINAL_RUN_STATES from WorkflowsCoreService for consistency\nconst SUCCESSFUL_RUN_STATES = new Set([\"FINISHED\", \"SUCCESS\"]);\n\nexport const DEFAULT_OPTIONS: Omit<\n ExtractionOptionsInternal,\n \"urls\" | \"entity\" | \"fields\" | \"description\"\n> = {\n mode: \"run\",\n pollingInterval: 5000,\n maxWaitTime: 300000,\n navigationMode: \"single-page\",\n location: { type: \"auto\" },\n name: \"Untitled Workflow\",\n bypassPreview: true,\n autoStart: true,\n} as const;\n/**\n * Service for managing extraction workflows and data fetching\n */\nexport class ExtractionService {\n constructor(\n private readonly workflowsCoreService: WorkflowsCoreService,\n private readonly dataFetcherService: DataFetcherService,\n private readonly entityResolverService: EntityResolverService,\n private readonly notificationSetupService: NotificationSetupService,\n private readonly notificationChannelsService: NotificationChannelsService,\n private readonly notificationSettingsService: NotificationSettingsService,\n ) {}\n\n /**\n * Run an extraction workflow and wait for completion.\n */\n async run(options: ExtractionOptions): Promise<ExtractionResult> {\n return await this.executeExtraction({ ...options, mode: \"run\" });\n }\n\n /**\n * Submit an extraction workflow for asynchronous processing.\n */\n async submit(options: ExtractionOptions): Promise<SubmitExtractionResult> {\n return await this.executeExtraction({ ...options, mode: \"submit\" });\n }\n\n /**\n * Trigger a workflow run without waiting for completion.\n */\n async runJob(\n workflowId: string,\n input: RunWorkflowRequest,\n ): Promise<RunWorkflowResponse> {\n return await this.workflowsCoreService.runWorkflow(workflowId, input);\n }\n\n /**\n * Trigger a workflow run and wait for the job to complete.\n */\n async runJobAndWait(\n workflowId: string,\n input: RunWorkflowRequest,\n ): Promise<GetJobResponse> {\n const result = await this.workflowsCoreService.runWorkflow(\n workflowId,\n input,\n );\n return await this.workflowsCoreService.waitForJobCompletion(\n workflowId,\n result.jobId || \"\",\n );\n }\n\n /**\n * Fetch a single page of extraction data.\n */\n async fetchData(options: FetchDataOptions): Promise<FetchDataResult> {\n return await this.dataFetcherService.fetchData(options);\n }\n\n /**\n * Fetch all extraction data across all pages.\n */\n async fetchAllData(options: FetchDataOptions): Promise<object[]> {\n return await this.dataFetcherService.fetchAllData(options);\n }\n\n /**\n * Iterate through extraction data pages.\n */\n fetchDataPages(\n options: FetchDataOptions,\n ): AsyncGenerator<FetchDataResult, void, unknown> {\n return this.dataFetcherService.fetchDataPages(options);\n }\n\n /**\n * List notification channels for a workflow.\n */\n async getNotificationChannels(\n workflowId: string,\n ): Promise<NotificationChannel[]> {\n return await this.notificationChannelsService.listChannels({ workflowId });\n }\n\n /**\n * List notification settings for a workflow.\n */\n async getNotificationSettings(\n workflowId: string,\n ): Promise<NotificationSettings[]> {\n return await this.notificationSettingsService.listSettings({ workflowId });\n }\n\n /**\n * execute extraction workflow\n */\n private async executeExtraction(\n options: ExtractionOptions & { mode?: \"run\" },\n ): Promise<ExtractionResult>;\n private async executeExtraction(\n options: ExtractionOptions & { mode: \"submit\" },\n ): Promise<SubmitExtractionResult>;\n private async executeExtraction(\n options: ExtractionOptions & { mode?: \"run\" | \"submit\" },\n ): Promise<ExtractionResult | SubmitExtractionResult> {\n this.validateOptions(options);\n\n const config: Omit<ExtractionOptionsInternal, \"entity\" | \"fields\"> = merge(\n DEFAULT_OPTIONS,\n options,\n );\n\n let workflowId: string;\n\n const resolvedEntity = await this.entityResolverService.resolveEntity(\n options.entity || \"ai-detection\",\n {\n link: config.urls[0],\n location: config.location,\n navigationMode: config.navigationMode,\n },\n );\n\n const hasNotifications = !!config.notifications;\n\n const result = await this.workflowsCoreService.create({\n ...config,\n entity: resolvedEntity.entity,\n fields: resolvedEntity.fields,\n });\n workflowId = result.id;\n\n if (hasNotifications) {\n //note: for now we rely on the fact that notifcations will be setup faster than first event is emitted\n // in few days, we should be able to create workflow without starting it immediately so we will be 100%\n // sure that notifications are setup before first event is emitted\n const result = await this.notificationSetupService.setup({\n workflowId,\n events: config.notifications?.events,\n channels: config.notifications?.channels,\n });\n debug(\n \"Notifications setup: %O\",\n result.map((r) => ({ id: r.id, eventType: r.eventType })),\n );\n }\n\n if (config.mode === \"submit\") {\n return {\n workflowId,\n };\n }\n\n const workflow = await this.workflowsCoreService.wait(workflowId, {\n pollIntervalMs: config.pollingInterval,\n timeoutMs: config.maxWaitTime,\n });\n\n let data: Array<object> | undefined;\n let pagination: PageInfo | undefined;\n const isSuccess = this.isExtractionSuccessful(workflow.runState);\n\n if (isSuccess) {\n const dataPage = await this.dataFetcherService.fetchData({ workflowId });\n data = dataPage.data;\n pagination = dataPage.pagination;\n } else {\n throw new KadoaSdkException(\n `${ERROR_MESSAGES.WORKFLOW_UNEXPECTED_STATUS}: ${workflow.runState}`,\n {\n code: \"INTERNAL_ERROR\",\n details: {\n workflowId,\n runState: workflow.runState,\n state: workflow.state,\n },\n },\n );\n }\n\n return {\n workflowId,\n workflow,\n data,\n pagination,\n };\n }\n\n /**\n * Validates extraction options\n */\n private validateOptions(options: ExtractionOptions): void {\n if (!options.urls || options.urls.length === 0) {\n throw new KadoaSdkException(ERROR_MESSAGES.NO_URLS, {\n code: \"VALIDATION_ERROR\",\n });\n }\n }\n\n /**\n * Resume a workflow after notification setup\n */\n async resumeWorkflow(workflowId: string): Promise<ExtractionResult> {\n await this.workflowsCoreService.resume(workflowId);\n\n const workflow = await this.workflowsCoreService.wait(workflowId, {\n pollIntervalMs: DEFAULT_OPTIONS.pollingInterval,\n timeoutMs: DEFAULT_OPTIONS.maxWaitTime,\n });\n\n let data: Array<object> | undefined;\n let pagination: PageInfo | undefined;\n const isSuccess = this.isExtractionSuccessful(workflow.runState);\n\n if (isSuccess) {\n const dataPage = await this.dataFetcherService.fetchData({ workflowId });\n data = dataPage.data;\n pagination = dataPage.pagination;\n } else {\n throw new KadoaSdkException(\n `${ERROR_MESSAGES.WORKFLOW_UNEXPECTED_STATUS}: ${workflow.runState}`,\n {\n code: \"INTERNAL_ERROR\",\n details: {\n workflowId,\n runState: workflow.runState,\n state: workflow.state,\n },\n },\n );\n }\n\n return {\n workflowId,\n workflow,\n data,\n pagination,\n };\n }\n\n /**\n * Checks if extraction was successful\n */\n private isExtractionSuccessful(runState: string | undefined): boolean {\n return runState ? SUCCESSFUL_RUN_STATES.has(runState.toUpperCase()) : false;\n }\n}\n","import assert from \"node:assert\";\nimport { KadoaSdkException } from \"../../../runtime/exceptions\";\nimport { ERROR_MESSAGES } from \"../../../runtime/exceptions/base.exception\";\nimport { logger } from \"../../../runtime/logger\";\nimport type {\n NotificationOptions,\n NotificationSetupService,\n} from \"../../notifications/notification-setup.service\";\nimport { SchemaBuilder } from \"../../schemas/schema-builder\";\nimport type { WorkflowsCoreService } from \"../../workflows/workflows-core.service\";\nimport type {\n FetchDataOptions,\n LocationConfig,\n NavigationMode,\n WorkflowInterval,\n WorkflowMonitoringConfig,\n} from \"../extraction.acl\";\nimport type {\n DataFetcherService,\n FetchDataResult,\n} from \"./data-fetcher.service\";\nimport type {\n EntityConfig,\n EntityResolverService,\n} from \"./entity-resolver.service\";\n\nconst debug = logger.extraction;\n\nexport interface ExtractOptionsInternal {\n urls: string[];\n name: string;\n description?: string;\n navigationMode: NavigationMode;\n entity: EntityConfig;\n bypassPreview?: boolean;\n interval?: WorkflowInterval;\n schedules?: string[];\n location?: LocationConfig;\n}\n\nexport interface ExtractOptions\n extends Omit<ExtractOptionsInternal, \"navigationMode\" | \"entity\"> {\n navigationMode?: NavigationMode;\n extraction?: (builder: SchemaBuilder) => SchemaBuilder | { schemaId: string };\n}\n\nexport interface PreparedExtraction {\n options: ExtractOptionsInternal;\n withNotifications: (options: NotificationOptions) => PreparedExtraction;\n\n withMonitoring: (options: WorkflowMonitoringConfig) => PreparedExtraction;\n\n setInterval: (\n options: { interval: WorkflowInterval } | { schedules: string[] },\n ) => PreparedExtraction;\n\n bypassPreview: () => PreparedExtraction;\n\n setLocation: (options: LocationConfig) => PreparedExtraction;\n\n create: () => Promise<CreatedExtraction>;\n}\n\nexport interface RunWorkflowOptions {\n variables: Record<string, unknown>;\n limit: number;\n}\n\nexport interface CreatedExtraction {\n options: ExtractOptionsInternal;\n workflowId: string;\n run: (options?: RunWorkflowOptions) => Promise<FinishedExtraction>;\n submit: (options?: RunWorkflowOptions) => Promise<SubmittedExtraction>;\n}\n\nexport interface SubmittedExtraction {\n workflowId: string;\n jobId: string;\n}\n\nexport interface FinishedExtraction {\n jobId: string;\n\n fetchData: (\n options: Omit<FetchDataOptions, \"workflowId\" | \"runId\">,\n ) => Promise<FetchDataResult>;\n fetchAllData: (\n options: Omit<FetchDataOptions, \"workflowId\" | \"runId\" | \"page\" | \"limit\">,\n ) => Promise<object[]>;\n}\n\nexport class ExtractionBuilderService {\n private _options: ExtractOptionsInternal | undefined;\n private _workflowId: string | undefined;\n private _jobId: string | undefined;\n private _notificationOptions: NotificationOptions | undefined;\n private _monitoringOptions: WorkflowMonitoringConfig | undefined;\n\n get options(): ExtractOptionsInternal {\n assert(this._options, \"Options are not set\");\n return this._options;\n }\n\n get notificationOptions(): NotificationOptions | undefined {\n return this._notificationOptions;\n }\n\n get monitoringOptions(): WorkflowMonitoringConfig | undefined {\n return this._monitoringOptions;\n }\n\n get workflowId(): string {\n assert(this._workflowId, \"Workflow ID is not set\");\n return this._workflowId;\n }\n\n get jobId(): string {\n assert(this._jobId, \"Job ID is not set\");\n return this._jobId;\n }\n\n constructor(\n private readonly workflowsCoreService: WorkflowsCoreService,\n private readonly entityResolverService: EntityResolverService,\n private readonly dataFetcherService: DataFetcherService,\n private readonly notificationSetupService: NotificationSetupService,\n ) {}\n\n extract({\n urls,\n name,\n description,\n navigationMode,\n extraction,\n }: ExtractOptions): PreparedExtraction {\n let entity: EntityConfig = \"ai-detection\";\n\n if (extraction) {\n const result = extraction(new SchemaBuilder());\n\n if (\"schemaId\" in result) {\n entity = { schemaId: result.schemaId };\n } else {\n const builtSchema = result.build();\n entity = { name: builtSchema.entityName, fields: builtSchema.fields };\n }\n }\n\n this._options = {\n urls,\n name,\n description,\n navigationMode: navigationMode || \"single-page\",\n entity,\n bypassPreview: false,\n };\n return this;\n }\n\n withNotifications(\n options: Omit<NotificationOptions, \"workflowId\">,\n ): PreparedExtraction {\n this._notificationOptions = options;\n\n return this;\n }\n\n withMonitoring(options: WorkflowMonitoringConfig): PreparedExtraction {\n this._monitoringOptions = options;\n return this;\n }\n\n bypassPreview(): PreparedExtraction {\n assert(this._options, \"Options are not set\");\n this._options.bypassPreview = true;\n return this;\n }\n\n setInterval(\n options: { interval: WorkflowInterval } | { schedules: string[] },\n ): PreparedExtraction {\n assert(this._options, \"Options are not set\");\n if (\"interval\" in options) {\n this._options.interval = options.interval;\n } else {\n this._options.interval = \"CUSTOM\";\n this._options.schedules = options.schedules;\n }\n return this;\n }\n\n setLocation(options: LocationConfig): PreparedExtraction {\n assert(this._options, \"Options are not set\");\n this._options.location = options;\n return this;\n }\n\n async create(): Promise<CreatedExtraction> {\n assert(this._options, \"Options are not set\");\n const { urls, name, description, navigationMode, entity } = this.options;\n const resolvedEntity =\n typeof entity === \"object\" && \"schemaId\" in entity\n ? undefined\n : await this.entityResolverService.resolveEntity(entity, {\n link: urls[0],\n location: this._options.location,\n navigationMode,\n });\n\n if (!resolvedEntity) {\n throw new KadoaSdkException(ERROR_MESSAGES.ENTITY_FETCH_FAILED, {\n code: \"VALIDATION_ERROR\",\n details: { entity },\n });\n }\n\n const workflow = await this.workflowsCoreService.create({\n urls,\n name,\n description,\n navigationMode,\n monitoring: this._monitoringOptions,\n schemaId:\n typeof entity === \"object\" && \"schemaId\" in entity\n ? entity.schemaId\n : undefined,\n entity: resolvedEntity.entity,\n fields: resolvedEntity.fields,\n autoStart: false,\n interval: this._options.interval,\n schedules: this._options.schedules,\n });\n\n if (this._notificationOptions) {\n await this.notificationSetupService.setup({\n ...this._notificationOptions,\n workflowId: workflow.id,\n });\n }\n\n this._workflowId = workflow.id;\n return this;\n }\n\n async run(options?: RunWorkflowOptions): Promise<FinishedExtraction> {\n assert(this._options, \"Options are not set\");\n assert(this._workflowId, \"Workflow ID is not set\");\n\n const startedJob = await this.workflowsCoreService.runWorkflow(\n this._workflowId,\n { variables: options?.variables, limit: options?.limit },\n );\n assert(startedJob.jobId, \"Job ID is not set\"); //todo: I am not sure about this\n debug(\"Job started: %O\", startedJob);\n this._jobId = startedJob.jobId;\n\n const finishedJob = await this.workflowsCoreService.waitForJobCompletion(\n this._workflowId,\n startedJob.jobId,\n );\n debug(\"Job finished: %O\", finishedJob);\n\n return this;\n }\n async submit(options?: RunWorkflowOptions): Promise<SubmittedExtraction> {\n assert(this._options, \"Options are not set\");\n assert(this._workflowId, \"Workflow ID is not set\");\n\n const submittedJob = await this.workflowsCoreService.runWorkflow(\n this._workflowId,\n { variables: options?.variables, limit: options?.limit },\n );\n assert(submittedJob.jobId, \"Job ID is not set\"); //todo: I am not sure about this\n debug(\"Job submitted: %O\", submittedJob);\n\n this._jobId = submittedJob.jobId;\n\n return {\n workflowId: this._workflowId,\n jobId: this._jobId,\n };\n }\n\n async fetchData(\n options: Omit<FetchDataOptions, \"workflowId\" | \"runId\">,\n ): Promise<FetchDataResult> {\n assert(this._workflowId, \"Workflow ID is not set\");\n assert(this._jobId, \"Job ID is not set\");\n return this.dataFetcherService.fetchData({\n workflowId: this._workflowId,\n runId: this._jobId,\n page: options.page ?? 1,\n limit: options.limit ?? 100,\n ...options,\n });\n }\n\n async fetchAllData(\n options: Omit<FetchDataOptions, \"workflowId\" | \"runId\" | \"page\" | \"limit\">,\n ): Promise<object[]> {\n assert(this._jobId, \"Job ID is not set\");\n assert(this._workflowId, \"Workflow ID is not set\");\n return this.dataFetcherService.fetchAllData({\n workflowId: this._workflowId,\n runId: this._jobId,\n ...options,\n });\n }\n}\n","/**\n * Notifications domain ACL.\n * Wraps generated NotificationsApi requests/responses and normalizes types.\n * Downstream code must import from this module instead of `generated/**`.\n */\n\nimport {\n type EmailChannelConfig,\n NotificationsApi,\n type NotificationsApiInterface,\n type NotificationsApiV5NotificationsChannelsGetRequest,\n type NotificationsApiV5NotificationsSettingsGetRequest,\n type SlackChannelConfig,\n type V5NotificationsChannelsGet200ResponseDataChannelsInner,\n type V5NotificationsChannelsGet200ResponseDataChannelsInnerConfig,\n type V5NotificationsChannelsPostRequest,\n type V5NotificationsChannelsPostRequestChannelTypeEnum,\n type V5NotificationsSettingsGet200ResponseDataSettingsInner,\n V5NotificationsSettingsGetEventTypeEnum,\n type V5NotificationsSettingsPostRequest,\n type WebhookChannelConfig,\n type WebhookChannelConfigAuth,\n type WebhookChannelConfigHttpMethodEnum,\n} from \"../../generated\";\n\n// ========================================\n// API Client\n// ========================================\n\nexport { NotificationsApi };\nexport type { NotificationsApiInterface };\n\n// ========================================\n// Enums\n// ========================================\n\n/**\n * Notification channel type enum.\n * Re-exported from generated V5NotificationsChannelsPostRequestChannelTypeEnum.\n */\nconst NotificationChannelType = {\n EMAIL: \"EMAIL\" as const,\n SLACK: \"SLACK\" as const,\n WEBHOOK: \"WEBHOOK\" as const,\n WEBSOCKET: \"WEBSOCKET\" as const,\n} satisfies Record<string, V5NotificationsChannelsPostRequestChannelTypeEnum>;\n\ntype NotificationChannelType =\n (typeof NotificationChannelType)[keyof typeof NotificationChannelType];\n\nexport { NotificationChannelType };\n\n/**\n * Webhook HTTP method enum.\n * Re-exported from generated WebhookChannelConfigHttpMethodEnum.\n */\nexport type WebhookHttpMethod = WebhookChannelConfigHttpMethodEnum;\n\n// ========================================\n// Request Types\n// ========================================\n\n/**\n * Request parameters for listing notification channels.\n */\nexport class ListChannelsRequest\n implements NotificationsApiV5NotificationsChannelsGetRequest\n{\n workflowId?: string;\n}\n\n/**\n * Request to create a notification channel with SDK-curated enum types.\n */\nexport interface CreateChannelRequest\n extends Omit<V5NotificationsChannelsPostRequest, \"channelType\"> {\n channelType: NotificationChannelType;\n}\n\n// ========================================\n// Response Types\n// ========================================\n\n/**\n * Notification channel response.\n * Note: Response types are simple DTOs without enum fields that need remapping.\n */\nexport type NotificationChannel =\n V5NotificationsChannelsGet200ResponseDataChannelsInner;\n\n/**\n * Notification channel configuration (union type for all channel configs).\n */\nexport type NotificationChannelConfig =\n V5NotificationsChannelsGet200ResponseDataChannelsInnerConfig;\n\n// ========================================\n// Channel Config Types\n// ========================================\n\n/**\n * Email channel configuration.\n */\nexport type { EmailChannelConfig };\n\n/**\n * Slack channel configuration.\n */\nexport type { SlackChannelConfig };\n\n/**\n * Webhook channel configuration.\n */\nexport type { WebhookChannelConfig };\n\n/**\n * Webhook authentication configuration.\n */\nexport type { WebhookChannelConfigAuth };\n\n/**\n * WebSocket channel configuration (empty object).\n */\nexport type WebsocketChannelConfig = Record<string, never>;\n\n/**\n * Union of all channel configuration types.\n */\nexport type ChannelConfig =\n | EmailChannelConfig\n | SlackChannelConfig\n | WebhookChannelConfig\n | WebsocketChannelConfig;\n\n// ========================================\n// Notification Settings Types\n// ========================================\n\n/**\n * Request parameters for listing notification settings.\n */\nexport class ListSettingsRequest\n implements NotificationsApiV5NotificationsSettingsGetRequest\n{\n workflowId?: string;\n eventType?: NotificationSettingsEventType;\n}\n\n/**\n * Request to create notification settings with SDK-curated enum types.\n */\nexport interface CreateSettingsRequest\n extends Omit<V5NotificationsSettingsPostRequest, \"eventType\"> {\n eventType: NotificationSettingsEventType;\n}\n\n/**\n * Notification settings response.\n */\nexport type NotificationSettings =\n V5NotificationsSettingsGet200ResponseDataSettingsInner;\n\n/**\n * Notification event type enum.\n * Re-exported from generated V5NotificationsSettingsGetEventTypeEnum.\n */\nexport type NotificationSettingsEventType =\n V5NotificationsSettingsGetEventTypeEnum;\nexport {\n V5NotificationsSettingsGetEventTypeEnum as NotificationSettingsEventTypeEnum,\n};\n","import { merge } from \"es-toolkit\";\nimport { z } from \"zod\";\nimport {\n KadoaErrorCode,\n KadoaHttpException,\n KadoaSdkException,\n} from \"../../runtime/exceptions\";\nimport type { UserService } from \"../user/user.service\";\nimport {\n type CreateChannelRequest,\n type EmailChannelConfig,\n type ListChannelsRequest,\n type NotificationChannel,\n type NotificationChannelConfig,\n NotificationChannelType,\n type NotificationsApiInterface,\n type SlackChannelConfig,\n type WebhookChannelConfig,\n type WebsocketChannelConfig,\n} from \"./notifications.acl\";\n\nconst emailChannelConfigSchema = z.object({\n recipients: z\n .array(z.email())\n .min(1, \"Recipients are required for email channel\"),\n from: z\n .email()\n .refine(\n (email) => email.endsWith(\"@kadoa.com\"),\n \"From email address must end with @kadoa.com\",\n )\n .optional(),\n});\n\nexport class NotificationChannelsService {\n /**\n * Default channel name\n *\n */\n public static readonly DEFAULT_CHANNEL_NAME = \"default\";\n\n private readonly api: NotificationsApiInterface;\n private readonly userService: UserService;\n\n constructor(\n notificationsApi: NotificationsApiInterface,\n userService: UserService,\n ) {\n this.api = notificationsApi;\n this.userService = userService;\n }\n\n async listChannels(\n filters: ListChannelsRequest,\n ): Promise<NotificationChannel[]> {\n const response = await this.api.v5NotificationsChannelsGet(filters);\n const data = response.data.data?.channels;\n if (!data) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to list channels\",\n });\n }\n return data as NotificationChannel[];\n }\n\n /**\n * List all channels (both workflow-specific and workspace-level)\n * This is useful for finding workspace-level channels like WebSocket channels\n * that might not be associated with a specific workflow\n */\n async listAllChannels(workflowId?: string): Promise<NotificationChannel[]> {\n if (!workflowId) {\n // If no workflowId, just list workspace-level channels\n return this.listChannels({});\n }\n\n // List both workflow-specific and workspace-level channels\n const [workflowChannels, workspaceChannels] = await Promise.all([\n this.listChannels({ workflowId }),\n this.listChannels({}),\n ]);\n\n // Combine and deduplicate channels\n const allChannels = [...workflowChannels];\n workspaceChannels.forEach((channel) => {\n if (!allChannels.find((c) => c.id === channel.id)) {\n allChannels.push(channel);\n }\n });\n\n return allChannels;\n }\n\n async deleteChannel(channelId: string): Promise<void> {\n const response = await this.api.v5NotificationsChannelsChannelIdDelete({\n channelId,\n });\n\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to delete channel\",\n });\n }\n }\n\n async createChannel(\n type: NotificationChannelType,\n config?: Pick<CreateChannelRequest, \"name\" | \"config\">,\n ): Promise<NotificationChannel> {\n const payload = await this.buildPayload(\n merge(config || {}, {\n name: NotificationChannelsService.DEFAULT_CHANNEL_NAME,\n channelType: type,\n config: {},\n }),\n );\n\n const response = await this.api.v5NotificationsChannelsPost({\n v5NotificationsChannelsPostRequest: payload,\n });\n\n if (response.status === 201) {\n const data = response.data.data?.channel;\n if (!data) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to create default channels\",\n });\n }\n return data as NotificationChannel;\n }\n\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to create default channels\",\n });\n }\n\n private async buildPayload(\n request: CreateChannelRequest,\n ): Promise<CreateChannelRequest> {\n let config: NotificationChannelConfig;\n\n switch (request.channelType) {\n case NotificationChannelType.EMAIL:\n config = await this.buildEmailChannelConfig(\n request.config as EmailChannelConfig,\n );\n break;\n case NotificationChannelType.SLACK:\n config = await this.buildSlackChannelConfig(\n request.config as SlackChannelConfig,\n );\n break;\n case NotificationChannelType.WEBHOOK:\n config = await this.buildWebhookChannelConfig(\n request.config as WebhookChannelConfig,\n );\n break;\n case NotificationChannelType.WEBSOCKET:\n config = await this.buildWebsocketChannelConfig(\n request.config as WebsocketChannelConfig,\n );\n break;\n default:\n // todo: maybe throw?\n config = {};\n }\n return {\n name: request.name || \"Default Channel\",\n channelType: request.channelType,\n config: config,\n };\n }\n\n private async buildEmailChannelConfig(\n defaults: EmailChannelConfig,\n ): Promise<EmailChannelConfig> {\n let recipients = defaults.recipients;\n if (!defaults.recipients?.length) {\n const user = await this.userService.getCurrentUser();\n recipients = [user.email];\n }\n const config = merge(defaults, { recipients });\n const result = emailChannelConfigSchema.safeParse(config);\n if (!result.success) {\n throw new KadoaSdkException(`Invalid email channel config`, {\n code: KadoaErrorCode.VALIDATION_ERROR,\n details: {\n issues: result.error.issues,\n },\n });\n }\n\n return result.data;\n }\n\n private async buildSlackChannelConfig(\n defaults: SlackChannelConfig,\n ): Promise<SlackChannelConfig> {\n return defaults;\n }\n\n private async buildWebhookChannelConfig(\n defaults: WebhookChannelConfig,\n ): Promise<WebhookChannelConfig> {\n return defaults;\n }\n\n private async buildWebsocketChannelConfig(\n defaults: WebsocketChannelConfig,\n ): Promise<WebsocketChannelConfig> {\n return defaults;\n }\n}\n","import { KadoaHttpException } from \"../../runtime/exceptions\";\nimport {\n type CreateSettingsRequest,\n type ListSettingsRequest,\n type NotificationSettings,\n type NotificationSettingsEventType,\n NotificationSettingsEventTypeEnum,\n type NotificationsApiInterface,\n} from \"./notifications.acl\";\n\nexport class NotificationSettingsService {\n private readonly api: NotificationsApiInterface;\n\n constructor(notificationsApi: NotificationsApiInterface) {\n this.api = notificationsApi;\n }\n\n async createSettings(\n requestData: CreateSettingsRequest,\n ): Promise<NotificationSettings> {\n const response = await this.api.v5NotificationsSettingsPost({\n v5NotificationsSettingsPostRequest: requestData,\n });\n const data = response.data.data?.settings;\n if (!data) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to create notification settings\",\n });\n }\n return data as NotificationSettings;\n }\n\n async listSettings(\n filters: ListSettingsRequest,\n ): Promise<NotificationSettings[]> {\n const response = await this.api.v5NotificationsSettingsGet(filters);\n const data = response.data.data?.settings;\n if (!data) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to list notification settings\",\n });\n }\n return data as NotificationSettings[];\n }\n\n async listAllEvents(): Promise<NotificationSettingsEventType[]> {\n return Object.values(NotificationSettingsEventTypeEnum);\n }\n\n async deleteSettings(settingsId: string): Promise<void> {\n const response = await this.api.v5NotificationsSettingsSettingsIdDelete({\n settingsId,\n });\n\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to delete notification settings\",\n });\n }\n }\n}\n","import { KadoaErrorCode, KadoaSdkException } from \"../../runtime/exceptions\";\nimport { logger } from \"../../runtime/logger\";\nimport { NotificationChannelsService } from \"./notification-channels.service\";\nimport type { NotificationSettingsService } from \"./notification-settings.service\";\nimport {\n type ChannelConfig,\n type NotificationChannel,\n NotificationChannelType,\n type NotificationSettings,\n type NotificationSettingsEventType,\n type SlackChannelConfig,\n type WebhookChannelConfig,\n} from \"./notifications.acl\";\n\nconst debug = logger.notifications;\n\nexport type ChannelSetupRequestConfig = ChannelConfig & {\n /**\n * The name of the email channel. \"default\" if not provided\n */\n name: string;\n};\n\nexport type NotificationSetupRequestChannels = {\n /**\n * - true: create a new email channel using user's default email\n * - { channelId: string }: use existing email channel\n * - EmailChannelConfig: create a new email channel using the provided configuration\n */\n EMAIL?:\n | true\n | { channelId: string }\n | (ChannelSetupRequestConfig & {\n /**\n * The name of the email channel. \"default\" if not provided\n */\n name: string;\n });\n /**\n * - true: create a new websocket channel using user's default websocket\n * - { channelId: string }: use existing websocket channel\n */\n WEBSOCKET?: true | { channelId: string };\n /**\n * - { channelId: string }: use existing slack channel\n * - SlackChannelConfig: create a new slack channel using the provided configuration\n */\n SLACK?:\n | { channelId: string }\n | (SlackChannelConfig & {\n /**\n * The name of the slack channel. \"default\" if not provided\n */\n name: string;\n });\n /**\n * - { channelId: string }: use existing webhook channel\n * - WebhookChannelConfig: create a new webhook channel using the provided configuration\n */\n WEBHOOK?:\n | { channelId: string }\n | (WebhookChannelConfig & {\n /**\n * The name of the webhook channel\n */\n name: string;\n });\n};\n\nexport interface NotificationOptions {\n workflowId?: string;\n events?: NotificationSettingsEventType[] | \"all\";\n channels?: NotificationSetupRequestChannels;\n}\n\nexport interface SetupWorkspaceNotificationSettingsRequest {\n events: NotificationSettingsEventType[] | \"all\";\n channels: NotificationSetupRequestChannels;\n}\n\nexport interface SetupWorkflowNotificationSettingsRequest\n extends SetupWorkspaceNotificationSettingsRequest {\n workflowId: string;\n}\n\nexport class NotificationSetupService {\n constructor(\n private readonly channelsService: NotificationChannelsService,\n private readonly settingsService: NotificationSettingsService,\n ) {}\n\n /**\n * Setup notification settings for a specific workflow ensuring no duplicates exist.\n */\n async setupForWorkflow(\n requestData: SetupWorkflowNotificationSettingsRequest,\n ): Promise<NotificationSettings[]> {\n const existingSettings = await this.settingsService.listSettings({\n workflowId: requestData.workflowId,\n });\n if (existingSettings.length > 0) {\n throw new KadoaSdkException(\"Settings already exist\", {\n code: KadoaErrorCode.BAD_REQUEST,\n details: {\n workflowId: requestData.workflowId,\n },\n });\n }\n\n return this.setup({\n workflowId: requestData.workflowId,\n events: requestData.events,\n channels: requestData.channels,\n });\n }\n\n /**\n * Setup notification settings at the workspace level ensuring no duplicates exist.\n */\n async setupForWorkspace(\n requestData: SetupWorkspaceNotificationSettingsRequest,\n ): Promise<NotificationSettings[]> {\n const existingSettings = await this.settingsService.listSettings({});\n if (existingSettings.length > 0) {\n throw new KadoaSdkException(\"Workspace settings already exist\", {\n code: KadoaErrorCode.BAD_REQUEST,\n });\n }\n\n return this.setup({\n events: requestData.events,\n channels: requestData.channels,\n });\n }\n\n /**\n * Complete workflow notification setup including channels and settings\n *\n * @param requestData Workflow notification setup configuration\n * @returns Array of created notification settings\n */\n async setup(\n requestData: NotificationOptions,\n ): Promise<NotificationSettings[]> {\n requestData.workflowId\n ? debug(\n \"Setting up notifications for workflow %s\",\n requestData.workflowId,\n )\n : debug(\"Setting up notifications for workspace\");\n\n const channels = await this.setupChannels({\n workflowId: requestData.workflowId,\n channels: requestData.channels || {},\n });\n\n const events = requestData.events || \"all\";\n const eventTypes =\n events === \"all\" ? await this.settingsService.listAllEvents() : events;\n\n const channelIds = channels\n .map((channel) => channel.id)\n .filter(Boolean) as string[];\n\n debug(\n \"Creating notification settings for workflow %s: %O\",\n requestData.workflowId,\n {\n events: eventTypes,\n channels: channelIds,\n },\n );\n\n const newSettings: NotificationSettings[] = await Promise.all(\n eventTypes.map(async (eventType) => {\n return await this.settingsService.createSettings({\n workflowId: requestData.workflowId,\n channelIds,\n eventType,\n enabled: true,\n eventConfiguration: {},\n });\n }),\n );\n\n debug(\n requestData.workflowId\n ? \"Successfully setup notifications for workflow %s\"\n : \"Successfully setup notifications for workspace\",\n requestData.workflowId,\n );\n return newSettings;\n }\n\n async setupChannels(requestData: {\n workflowId?: string;\n channels: NotificationSetupRequestChannels;\n }): Promise<NotificationChannel[]> {\n // List all channels (both workflow-specific and workspace-level)\n const existingChannels = await this.channelsService.listAllChannels(\n requestData.workflowId,\n );\n\n const channelsByName = Object.entries(requestData.channels).filter(\n ([, value]) => value === true,\n ) as [NotificationChannelType, true][];\n\n const channelsById = Object.entries(requestData.channels).filter(\n ([_, value]) => typeof value === \"object\" && \"channelId\" in value,\n ) as [NotificationChannelType, { channelId: string }][];\n\n const channelsByConfig = Object.entries(requestData.channels).filter(\n ([, value]) => typeof value === \"object\" && !(\"channelId\" in value),\n ) as [NotificationChannelType, ChannelSetupRequestConfig][];\n\n const channelsByIdResult = await this.handleChannelsById({\n channelsById,\n existingChannels,\n workflowId: requestData.workflowId,\n });\n\n const defaultChannelsResult = await this.handleDefaultChannels({\n channelsByName,\n existingChannels,\n workflowId: requestData.workflowId,\n });\n const channelsByConfigResult = await this.handleChannelsByConfig({\n channelsByConfig,\n existingChannels,\n workflowId: requestData.workflowId,\n });\n\n return [\n ...channelsByIdResult,\n ...defaultChannelsResult,\n ...channelsByConfigResult,\n ];\n }\n\n private async handleChannelsById({\n channelsById,\n existingChannels,\n workflowId,\n }: {\n channelsById: [NotificationChannelType, { channelId: string }][];\n existingChannels: NotificationChannel[];\n workflowId?: string;\n }): Promise<NotificationChannel[]> {\n const requestedChannelIds = channelsById.map(\n ([_, value]) => value.channelId,\n );\n const resultChannels = existingChannels.filter(\n (channel) => channel.id && requestedChannelIds.includes(channel.id),\n );\n\n const foundChannelIds = resultChannels.map((channel) => channel.id);\n const missingChannelIds = requestedChannelIds.filter(\n (id) => !foundChannelIds.includes(id),\n );\n if (missingChannelIds.length > 0) {\n throw new KadoaSdkException(\n `Channels not found: ${missingChannelIds.join(\", \")}`,\n {\n code: KadoaErrorCode.NOT_FOUND,\n details: {\n workflowId,\n missingChannelIds,\n },\n },\n );\n }\n\n return resultChannels;\n }\n\n private async handleDefaultChannels({\n channelsByName,\n existingChannels,\n workflowId,\n }: {\n channelsByName: [NotificationChannelType, true][];\n existingChannels: NotificationChannel[];\n workflowId?: string;\n }): Promise<NotificationChannel[]> {\n const channels = await Promise.all(\n channelsByName.map(async ([channelType]) => {\n // For WebSocket channels, check if there's already ANY WebSocket channel\n // since the API only allows one WebSocket channel per workspace\n const existingChannel =\n channelType === NotificationChannelType.WEBSOCKET\n ? existingChannels.find(\n (channel) => channel.channelType === channelType,\n )\n : existingChannels.find(\n (channel) =>\n channel.channelType === channelType &&\n channel.name ===\n NotificationChannelsService.DEFAULT_CHANNEL_NAME,\n );\n\n if (existingChannel) {\n debug(\"Using existing default channel: %O\", {\n workflowId,\n channelType,\n channelId: existingChannel.id,\n });\n return existingChannel;\n }\n\n // Channel doesn't exist, create it\n const channel = await this.channelsService.createChannel(channelType);\n\n debug(\"Created default channel %O\", {\n workflowId,\n channelType,\n channel,\n });\n\n return channel;\n }),\n );\n\n return channels;\n }\n\n private async handleChannelsByConfig({\n channelsByConfig,\n existingChannels,\n workflowId,\n }: {\n channelsByConfig: [NotificationChannelType, ChannelSetupRequestConfig][];\n existingChannels: NotificationChannel[];\n workflowId?: string;\n }): Promise<NotificationChannel[]> {\n if (channelsByConfig.length === 0) {\n return [];\n }\n\n const channels = await Promise.all(\n channelsByConfig.map(async ([channelType, config]) => {\n const channelName =\n config.name || NotificationChannelsService.DEFAULT_CHANNEL_NAME;\n\n const existingChannel = existingChannels.find(\n (channel) =>\n channel.channelType === channelType &&\n (channel.name ||\n NotificationChannelsService.DEFAULT_CHANNEL_NAME) === channelName,\n );\n\n if (existingChannel) {\n debug(\"Using existing channel: %O\", {\n workflowId,\n channelType,\n channelName,\n channelId: existingChannel.id,\n });\n return existingChannel;\n }\n\n const channel = await this.channelsService.createChannel(channelType, {\n name: channelName,\n config: config,\n });\n\n debug(\"Created channel with custom config %O\", {\n workflowId,\n channelType,\n channelName,\n channel,\n });\n\n return channel;\n }),\n );\n\n return channels;\n }\n}\n","/**\n * API related constants\n */\n\nexport const PUBLIC_API_URI =\n process.env.KADOA_PUBLIC_API_URI ?? \"https://api.kadoa.com\";\n\nexport const WSS_API_URI =\n process.env.KADOA_WSS_API_URI ?? \"wss://realtime.kadoa.com\";\n\nexport const REALTIME_API_URI =\n process.env.KADOA_REALTIME_API_URI ?? \"https://realtime.kadoa.com\";\n","// x-release-please-start-version\nexport const SDK_VERSION = \"0.14.1\";\n// x-release-please-end\n\nexport const SDK_NAME = \"kadoa-node-sdk\";\nexport const SDK_LANGUAGE = \"node\";\n","import {\n PUBLIC_API_URI,\n REALTIME_API_URI,\n WSS_API_URI,\n} from \"../../runtime/config\";\nimport { KadoaSdkException } from \"../../runtime/exceptions\";\nimport { logger } from \"../../runtime/logger\";\nimport { SDK_VERSION } from \"../../version\";\n\nconst debug = logger.wss;\n\n// if WebSocket doesn't exist in the global scope, import it\nif (typeof WebSocket === \"undefined\") {\n global.WebSocket = require(\"ws\");\n}\n\nexport interface RealtimeConfig {\n teamApiKey: string;\n heartbeatInterval?: number;\n reconnectDelay?: number;\n missedHeartbeatsLimit?: number;\n}\n\nexport class Realtime {\n private socket?: WebSocket;\n private heartbeatInterval: number;\n private reconnectDelay: number;\n private lastHeartbeat: number = Date.now();\n private isConnecting: boolean = false;\n private missedHeartbeatsLimit: number;\n private missedHeartbeatCheckTimer?: ReturnType<typeof setInterval>;\n private teamApiKey?: string;\n private eventListeners: Set<(event: unknown) => void> = new Set();\n private connectionListeners: Set<\n (connected: boolean, reason?: string) => void\n > = new Set();\n private errorListeners: Set<(error: unknown) => void> = new Set();\n\n constructor(config: RealtimeConfig) {\n if (!config.teamApiKey.startsWith(\"tk-\")) {\n throw new KadoaSdkException(\n \"Realtime connection requires a team API key (starting with 'tk-'). \" +\n \"Provided key does not appear to be a team API key.\",\n {\n code: \"AUTH_ERROR\",\n details: { providedKeyPrefix: config.teamApiKey.substring(0, 3) },\n },\n );\n }\n this.teamApiKey = config.teamApiKey;\n this.heartbeatInterval = config.heartbeatInterval || 10000;\n this.reconnectDelay = config.reconnectDelay || 5000;\n this.missedHeartbeatsLimit = config.missedHeartbeatsLimit || 30000;\n }\n\n public async connect() {\n if (this.isConnecting) return;\n this.isConnecting = true;\n\n try {\n const response = await fetch(`${PUBLIC_API_URI}/v4/oauth2/token`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-api-key\": `${this.teamApiKey}`,\n \"x-sdk-version\": SDK_VERSION,\n },\n });\n\n const { access_token, team_id } = (await response.json()) as {\n access_token: string;\n team_id: string;\n };\n\n this.socket = new WebSocket(\n `${WSS_API_URI}?access_token=${access_token}`,\n );\n\n this.socket.onopen = () => {\n this.isConnecting = false;\n this.lastHeartbeat = Date.now();\n\n if (this.socket?.readyState === WebSocket.OPEN) {\n this.socket.send(\n JSON.stringify({\n action: \"subscribe\",\n channel: team_id,\n }),\n );\n debug(\"Connected to WebSocket\");\n this.notifyConnectionListeners(true);\n }\n this.startHeartbeatCheck();\n };\n\n this.socket.onmessage = (event) => {\n try {\n const data = JSON.parse(event.data);\n if (data.type === \"heartbeat\") {\n this.handleHeartbeat();\n } else {\n if (data?.id) {\n fetch(`${REALTIME_API_URI}/api/v1/events/ack`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ id: data.id }),\n });\n }\n this.notifyEventListeners(data);\n }\n } catch (err) {\n debug(\"Failed to parse incoming message: %O\", err);\n }\n };\n\n this.socket.onclose = () => {\n debug(\"WebSocket disconnected. Attempting to reconnect...\");\n this.isConnecting = false;\n this.stopHeartbeatCheck();\n this.notifyConnectionListeners(false, \"Connection closed\");\n setTimeout(() => this.connect(), this.reconnectDelay);\n };\n\n this.socket.onerror = (error) => {\n debug(\"WebSocket error: %O\", error);\n this.isConnecting = false;\n this.notifyErrorListeners(error);\n };\n } catch (err) {\n debug(\"Failed to connect: %O\", err);\n this.isConnecting = false;\n setTimeout(() => this.connect(), this.reconnectDelay);\n }\n }\n\n private handleHeartbeat() {\n debug(\"Heartbeat received\");\n this.lastHeartbeat = Date.now();\n }\n\n private notifyEventListeners(event: unknown) {\n this.eventListeners.forEach((listener) => {\n try {\n listener(event);\n } catch (error) {\n debug(\"Error in event listener: %O\", error);\n }\n });\n }\n\n private notifyConnectionListeners(connected: boolean, reason?: string) {\n this.connectionListeners.forEach((listener) => {\n try {\n listener(connected, reason);\n } catch (error) {\n debug(\"Error in connection listener: %O\", error);\n }\n });\n }\n\n private notifyErrorListeners(error: unknown) {\n this.errorListeners.forEach((listener) => {\n try {\n listener(error);\n } catch (error) {\n debug(\"Error in error listener: %O\", error);\n }\n });\n }\n\n private startHeartbeatCheck() {\n this.missedHeartbeatCheckTimer = setInterval(() => {\n if (Date.now() - this.lastHeartbeat > this.missedHeartbeatsLimit) {\n debug(\"No heartbeat received in 30 seconds! Closing connection.\");\n this.socket?.close();\n }\n }, this.heartbeatInterval);\n }\n\n private stopHeartbeatCheck() {\n if (this.missedHeartbeatCheckTimer) {\n clearInterval(this.missedHeartbeatCheckTimer);\n }\n }\n\n /**\n * Subscribe to realtime events\n * @param listener Function to handle incoming events\n * @returns Function to unsubscribe\n */\n public onEvent(listener: (event: unknown) => void): () => void {\n this.eventListeners.add(listener);\n return () => {\n this.eventListeners.delete(listener);\n };\n }\n\n /**\n * Subscribe to connection state changes\n * @param listener Function to handle connection state changes\n * @returns Function to unsubscribe\n */\n public onConnection(\n listener: (connected: boolean, reason?: string) => void,\n ): () => void {\n this.connectionListeners.add(listener);\n return () => {\n this.connectionListeners.delete(listener);\n };\n }\n\n /**\n * Subscribe to errors\n * @param listener Function to handle errors\n * @returns Function to unsubscribe\n */\n public onError(listener: (error: unknown) => void): () => void {\n this.errorListeners.add(listener);\n return () => {\n this.errorListeners.delete(listener);\n };\n }\n\n public close() {\n if (this.socket) {\n this.stopHeartbeatCheck();\n this.socket.close();\n this.socket = undefined;\n }\n // Clear all listeners\n this.eventListeners.clear();\n this.connectionListeners.clear();\n this.errorListeners.clear();\n }\n\n public isConnected(): boolean {\n return this.socket?.readyState === WebSocket.OPEN;\n }\n}\n","import type { KadoaClient } from \"../../kadoa-client\";\nimport { KadoaSdkException } from \"../../runtime/exceptions\";\n\nexport interface KadoaUser {\n userId: string;\n email: string;\n featureFlags: string[];\n}\n\nexport class UserService {\n constructor(private readonly client: KadoaClient) {}\n\n /**\n * Get current user details\n * @returns User details\n */\n async getCurrentUser(): Promise<KadoaUser> {\n const response = await this.client.axiosInstance.get(\"/v5/user\", {\n baseURL: this.client.baseUrl,\n headers: {\n \"x-api-key\": this.client.apiKey,\n \"Content-Type\": \"application/json\",\n },\n });\n\n const userData = response.data;\n\n if (!userData || !userData.userId) {\n throw new KadoaSdkException(\"Invalid user data received\");\n }\n\n return {\n userId: userData.userId,\n email: userData.email,\n featureFlags: userData.featureFlags || [],\n };\n }\n}\n","import { KadoaSdkException } from \"../exceptions\";\n\n/**\n * Options for polling operations\n */\nexport interface PollingOptions {\n /**\n * Polling interval in milliseconds (minimum 250ms)\n * @default 1000\n */\n pollIntervalMs?: number;\n /**\n * Timeout in milliseconds\n * @default 300000 (5 minutes)\n */\n timeoutMs?: number;\n /**\n * AbortSignal to cancel the polling operation\n */\n abortSignal?: AbortSignal;\n}\n\n/**\n * Internal polling options with all required fields\n */\nexport interface PollingOptionsInternal\n extends Required<Omit<PollingOptions, \"abortSignal\">> {\n abortSignal?: AbortSignal;\n}\n\n/**\n * Default polling options\n */\nexport const DEFAULT_POLLING_OPTIONS: PollingOptionsInternal = {\n pollIntervalMs: 1000,\n timeoutMs: 5 * 60 * 1000,\n};\n\n/**\n * Result of a polling operation\n */\nexport interface PollingResult<T> {\n /**\n * The final result when polling completes successfully\n */\n result: T;\n /**\n * The number of polling attempts made\n */\n attempts: number;\n /**\n * The total time spent polling in milliseconds\n */\n duration: number;\n}\n\n/**\n * Polling error codes\n */\nexport const POLLING_ERROR_CODES = {\n ABORTED: \"ABORTED\",\n TIMEOUT: \"TIMEOUT\",\n} as const;\n\n/**\n * Generic polling utility that polls a function until a condition is met\n *\n * @param pollFn Function to call on each poll attempt\n * @param isComplete Function to check if polling should complete\n * @param options Polling configuration options\n * @returns Promise that resolves with the polling result\n *\n * @example\n * ```typescript\n * const result = await pollUntil(\n * () => api.getStatus(id),\n * (status) => status.completedAt !== null,\n * { pollIntervalMs: 2000, timeoutMs: 60000 }\n * );\n * ```\n */\nexport async function pollUntil<T>(\n pollFn: () => Promise<T>,\n isComplete: (result: T) => boolean,\n options: PollingOptions = {},\n): Promise<PollingResult<T>> {\n const internalOptions: PollingOptionsInternal = {\n ...DEFAULT_POLLING_OPTIONS,\n ...options,\n };\n\n const pollInterval = Math.max(250, internalOptions.pollIntervalMs);\n const timeoutMs = internalOptions.timeoutMs;\n const start = Date.now();\n let attempts = 0;\n\n while (Date.now() - start < timeoutMs) {\n if (internalOptions.abortSignal?.aborted) {\n throw new KadoaSdkException(\"Polling operation was aborted\", {\n code: POLLING_ERROR_CODES.ABORTED,\n });\n }\n\n attempts++;\n const current = await pollFn();\n\n if (isComplete(current)) {\n return {\n result: current,\n attempts,\n duration: Date.now() - start,\n };\n }\n\n await new Promise((resolve) => setTimeout(resolve, pollInterval));\n }\n\n throw new KadoaSdkException(\n `Polling operation timed out after ${timeoutMs}ms`,\n {\n code: POLLING_ERROR_CODES.TIMEOUT,\n details: {\n timeoutMs,\n attempts,\n duration: Date.now() - start,\n },\n },\n );\n}\n","import type { AxiosResponse } from \"axios\";\nimport type { KadoaClient } from \"../../kadoa-client\";\nimport {\n KadoaHttpException,\n KadoaSdkException,\n} from \"../../runtime/exceptions\";\nimport { type PollingOptions, pollUntil } from \"../../runtime/utils\";\nimport {\n DataValidationApi,\n type GetAnomaliesByRuleResponse,\n type GetAnomalyRulePageResponse,\n type GetValidationResponse,\n type ListValidationsResponse,\n type ListWorkflowValidationsRequest,\n type ScheduleValidationResponse,\n type ToggleValidationResponse,\n} from \"./validation.acl\";\n\nexport class ValidationCoreService {\n private readonly validationApi: DataValidationApi;\n\n constructor(client: KadoaClient) {\n this.validationApi = new DataValidationApi(\n client.configuration,\n client.baseUrl,\n client.axiosInstance,\n );\n }\n\n async listWorkflowValidations(\n filters: ListWorkflowValidationsRequest,\n ): Promise<ListValidationsResponse> {\n const response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(\n filters,\n );\n\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to list workflow validations\",\n });\n }\n\n return response.data;\n }\n\n async getValidationDetails(\n validationId: string,\n ): Promise<GetValidationResponse> {\n const response =\n await this.validationApi.v4DataValidationValidationsValidationIdGet({\n validationId,\n });\n\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to get validation details\",\n });\n }\n\n return response.data;\n }\n\n async scheduleValidation(\n workflowId: string,\n jobId: string,\n ): Promise<ScheduleValidationResponse> {\n const response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(\n {\n workflowId,\n jobId,\n },\n );\n\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data, {\n message: response.data.message || \"Failed to schedule validation\",\n });\n }\n\n return response.data;\n }\n\n async toggleValidationEnabled(\n workflowId: string,\n ): Promise<ToggleValidationResponse> {\n const response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdValidationTogglePut(\n {\n workflowId,\n },\n );\n\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data, {\n message: response.data.message || \"Failed to toggle validation\",\n });\n }\n\n return response.data;\n }\n\n async getLatestValidation(\n workflowId: string,\n jobId?: string,\n ): Promise<GetValidationResponse> {\n let response: AxiosResponse<GetValidationResponse>;\n if (jobId) {\n response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(\n {\n workflowId,\n jobId,\n },\n );\n } else {\n response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(\n {\n workflowId,\n },\n );\n }\n\n if (response.status !== 200 || response.data?.error) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to get latest validation\",\n });\n }\n\n return response.data;\n }\n\n async getValidationAnomalies(\n validationId: string,\n ): Promise<GetAnomaliesByRuleResponse> {\n const response =\n await this.validationApi.v4DataValidationValidationsValidationIdAnomaliesGet(\n {\n validationId,\n },\n );\n\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to get validation anomalies\",\n });\n }\n\n return response.data;\n }\n\n async getValidationAnomaliesByRule(\n validationId: string,\n ruleName: string,\n ): Promise<GetAnomalyRulePageResponse> {\n const response =\n await this.validationApi.v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(\n {\n validationId,\n ruleName,\n },\n );\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to get validation anomalies by rule\",\n });\n }\n\n return response.data;\n }\n\n async waitUntilCompleted(\n validationId: string,\n options?: PollingOptions,\n ): Promise<GetValidationResponse> {\n const result = await pollUntil(\n async () => {\n const current = await this.getValidationDetails(validationId);\n\n // Check if validation has an error\n if (current.error) {\n throw new KadoaSdkException(`Validation failed: ${current.error}`, {\n code: \"VALIDATION_ERROR\",\n details: { validationId, error: current.error },\n });\n }\n\n return current;\n },\n (result) => result.completedAt != null,\n options,\n );\n\n return result.result;\n }\n}\n","import type { KadoaClient } from \"../../kadoa-client\";\nimport { KadoaHttpException } from \"../../runtime/exceptions\";\nimport { logger } from \"../../runtime/logger\";\nimport {\n type BulkApproveRulesRequest,\n type BulkApproveRulesResponseData,\n type BulkDeleteRulesRequest,\n type BulkDeleteRulesResponseData,\n type CreateRuleRequest,\n DataValidationApi,\n type DeleteAllRulesRequest,\n type DeleteAllRulesResponseData,\n type DisableRuleRequest,\n type GenerateRuleRequest,\n type GenerateRulesRequest,\n type ListRulesRequest,\n type ListRulesResponse,\n type Rule,\n type UpdateRuleRequest,\n} from \"./validation.acl\";\n\nconst _debug = logger.validation;\n\n/**\n * Service for managing data validation rules\n */\nexport class ValidationRulesService {\n private readonly validationApi: DataValidationApi;\n\n constructor(client: KadoaClient) {\n this.validationApi = new DataValidationApi(\n client.configuration,\n client.baseUrl,\n client.axiosInstance,\n );\n }\n\n async listRules(options?: ListRulesRequest): Promise<ListRulesResponse> {\n const response = await this.validationApi.v4DataValidationRulesGet(options);\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: \"Failed to list validation rules\",\n });\n }\n return response.data;\n }\n\n async getRuleById(ruleId: string): Promise<Rule | undefined> {\n const response = await this.validationApi.v4DataValidationRulesRuleIdGet({\n ruleId,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: \"Failed to get validation rule by id\",\n });\n }\n return response.data.data;\n }\n\n async getRuleByName(name: string): Promise<Rule | undefined> {\n const response = await this.validationApi.v4DataValidationRulesGet();\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: \"Failed to get validation rule by name\",\n });\n }\n //todo: solve pagination or add a search parameter at API\n return response.data.data?.find((rule) => rule.name === name);\n }\n\n async createRule(data: CreateRuleRequest): Promise<Rule> {\n const response = await this.validationApi.v4DataValidationRulesPost({\n createRule: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to create validation rule\",\n });\n }\n return response.data.data;\n }\n\n async updateRule(\n ruleId: string,\n updateData: UpdateRuleRequest,\n ): Promise<Rule> {\n const response = await this.validationApi.v4DataValidationRulesRuleIdPut({\n ruleId,\n updateRule: updateData,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to update validation rule\",\n });\n }\n return response.data.data;\n }\n\n async disableRule(data: DisableRuleRequest): Promise<Rule> {\n const response =\n await this.validationApi.v4DataValidationRulesRuleIdDisablePost(data);\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to disable validation rule\",\n });\n }\n return response.data.data;\n }\n\n async generateRule(data: GenerateRuleRequest): Promise<Rule> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsGeneratePost({\n generateRule: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to generate validation rule\",\n });\n }\n return response.data.data;\n }\n\n async generateRules(data: GenerateRulesRequest): Promise<Rule[]> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsGenerateRulesPost({\n generateRules: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to generate validation rules\",\n });\n }\n return response.data.data;\n }\n\n async bulkApproveRules(\n data: BulkApproveRulesRequest,\n ): Promise<BulkApproveRulesResponseData> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsBulkApprovePost({\n bulkApproveRules: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message:\n response.data.message || \"Failed to bulk approve validation rules\",\n });\n }\n return response.data.data;\n }\n\n async bulkDeleteRules(\n data: BulkDeleteRulesRequest,\n ): Promise<BulkDeleteRulesResponseData> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsBulkDeletePost({\n bulkDeleteRules: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message:\n response.data.message || \"Failed to bulk delete validation rules\",\n });\n }\n return response.data.data;\n }\n\n async deleteAllRules(\n data: DeleteAllRulesRequest,\n ): Promise<DeleteAllRulesResponseData> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsDeleteAllDelete({\n deleteRuleWithReason: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message:\n response.data.message || \"Failed to delete all validation rules\",\n });\n }\n return response.data.data;\n }\n}\n","/**\n * Workflows domain ACL.\n * Wraps generated WorkflowsApi requests/responses and normalizes types.\n * Downstream code must import from this module instead of `generated/**`.\n */\n\nimport type {\n CreateWorkflowWithCustomSchemaBody,\n CreateWorkflowWithSchemaBody,\n MonitoringConfig,\n V4WorkflowsGet200ResponseWorkflowsInner,\n V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum,\n V4WorkflowsGet200ResponseWorkflowsInnerStateEnum,\n V4WorkflowsGetFormatEnum,\n V4WorkflowsGetIncludeDeletedEnum,\n V4WorkflowsGetMonitoringEnum,\n V4WorkflowsGetStateEnum,\n V4WorkflowsGetUpdateIntervalEnum,\n V4WorkflowsWorkflowIdGet200Response,\n V4WorkflowsWorkflowIdJobsJobIdGet200Response,\n V4WorkflowsWorkflowIdJobsJobIdGet200ResponseStateEnum,\n V4WorkflowsWorkflowIdRunPut200Response,\n V4WorkflowsWorkflowIdRunPutRequest,\n WorkflowsApiInterface,\n WorkflowsApiV4WorkflowsGetRequest,\n} from \"../../generated\";\n\n// ========================================\n// API Client\n// ========================================\n\nexport type { WorkflowsApiInterface };\n\n// ========================================\n// Enums\n// ========================================\n\n/**\n * Workflow state filter for list queries.\n */\nexport const WorkflowState = {\n Active: \"ACTIVE\",\n Error: \"ERROR\",\n Paused: \"PAUSED\",\n NotSupported: \"NOT_SUPPORTED\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsGetStateEnum,\n V4WorkflowsGetStateEnum\n>;\n\nexport type WorkflowState = (typeof WorkflowState)[keyof typeof WorkflowState];\n\n/**\n * Monitoring status filter.\n */\nexport const MonitoringStatus = {\n Enabled: \"true\",\n Disabled: \"false\",\n} as const satisfies Record<string, V4WorkflowsGetMonitoringEnum>;\n\nexport type MonitoringStatus =\n (typeof MonitoringStatus)[keyof typeof MonitoringStatus];\n\n/**\n * Update interval filter.\n */\nexport const UpdateInterval = {\n Hourly: \"HOURLY\",\n Daily: \"DAILY\",\n Weekly: \"WEEKLY\",\n Monthly: \"MONTHLY\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsGetUpdateIntervalEnum,\n V4WorkflowsGetUpdateIntervalEnum\n>;\n\nexport type UpdateInterval =\n (typeof UpdateInterval)[keyof typeof UpdateInterval];\n\n/**\n * Include deleted workflows filter.\n */\nexport const IncludeDeleted = {\n True: \"true\",\n False: \"false\",\n} as const satisfies Record<string, V4WorkflowsGetIncludeDeletedEnum>;\n\nexport type IncludeDeleted =\n (typeof IncludeDeleted)[keyof typeof IncludeDeleted];\n\n/**\n * Response format for workflow list.\n */\nexport const ResponseFormat = {\n Json: \"json\",\n Csv: \"csv\",\n} as const satisfies Record<string, V4WorkflowsGetFormatEnum>;\n\nexport type ResponseFormat =\n (typeof ResponseFormat)[keyof typeof ResponseFormat];\n\n/**\n * Workflow state enum.\n */\nexport const WorkflowStateEnum = {\n Active: \"ACTIVE\",\n Error: \"ERROR\",\n Paused: \"PAUSED\",\n NotSupported: \"NOT_SUPPORTED\",\n Preview: \"PREVIEW\",\n ComplianceReview: \"COMPLIANCE_REVIEW\",\n ComplianceRejected: \"COMPLIANCE_REJECTED\",\n Queued: \"QUEUED\",\n Setup: \"SETUP\",\n Deleted: \"DELETED\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsGet200ResponseWorkflowsInnerStateEnum,\n V4WorkflowsGet200ResponseWorkflowsInnerStateEnum\n>;\n\nexport type WorkflowStateEnum =\n (typeof WorkflowStateEnum)[keyof typeof WorkflowStateEnum];\n\n/**\n * Workflow display state enum.\n */\nexport const WorkflowDisplayStateEnum = {\n Active: \"ACTIVE\",\n Error: \"ERROR\",\n Paused: \"PAUSED\",\n NotSupported: \"NOT_SUPPORTED\",\n Preview: \"PREVIEW\",\n ComplianceReview: \"COMPLIANCE_REVIEW\",\n ComplianceRejected: \"COMPLIANCE_REJECTED\",\n Queued: \"QUEUED\",\n Setup: \"SETUP\",\n Running: \"RUNNING\",\n Failed: \"FAILED\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum,\n V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum\n>;\n\nexport type WorkflowDisplayStateEnum =\n (typeof WorkflowDisplayStateEnum)[keyof typeof WorkflowDisplayStateEnum];\n\n/**\n * Job state enum.\n */\nexport const JobStateEnum = {\n InProgress: \"IN_PROGRESS\",\n Finished: \"FINISHED\",\n Failed: \"FAILED\",\n NotSupported: \"NOT_SUPPORTED\",\n FailedInsufficientFunds: \"FAILED_INSUFFICIENT_FUNDS\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsWorkflowIdJobsJobIdGet200ResponseStateEnum,\n V4WorkflowsWorkflowIdJobsJobIdGet200ResponseStateEnum\n>;\n\nexport type JobStateEnum = (typeof JobStateEnum)[keyof typeof JobStateEnum];\n\n// ========================================\n// Request Types\n// ========================================\n\nexport class ListWorkflowsRequest implements WorkflowsApiV4WorkflowsGetRequest {\n search?: string;\n skip?: number;\n limit?: number;\n state?: WorkflowState;\n tags?: Array<string>;\n monitoring?: MonitoringStatus;\n updateInterval?: UpdateInterval;\n templateId?: string;\n includeDeleted?: IncludeDeleted;\n format?: ResponseFormat;\n}\n\nexport type CreateWorkflowRequest = CreateWorkflowWithSchemaBody;\n\nexport type CreateWorkflowWithCustomSchemaRequest =\n CreateWorkflowWithCustomSchemaBody;\n\n// ========================================\n// Response Types\n// ========================================\n\n/**\n * Workflow response with SDK-curated enum types.\n * Remaps generated enum fields to prevent type leakage.\n */\nexport interface WorkflowResponse\n extends Omit<\n V4WorkflowsGet200ResponseWorkflowsInner,\n \"state\" | \"displayState\"\n > {\n state?: WorkflowStateEnum;\n displayState?: WorkflowDisplayStateEnum;\n}\n\n/**\n * Get workflow details response with SDK-curated enum types.\n */\nexport interface GetWorkflowResponse\n extends Omit<V4WorkflowsWorkflowIdGet200Response, \"state\" | \"displayState\"> {\n state?: WorkflowStateEnum;\n displayState?: WorkflowDisplayStateEnum;\n}\n\nexport type { MonitoringConfig };\n\n/**\n * Get job response with SDK-curated enum types.\n */\nexport interface GetJobResponse\n extends Omit<V4WorkflowsWorkflowIdJobsJobIdGet200Response, \"state\"> {\n state?: JobStateEnum;\n}\n\nexport type RunWorkflowRequest = V4WorkflowsWorkflowIdRunPutRequest;\n\nexport type RunWorkflowResponse = V4WorkflowsWorkflowIdRunPut200Response;\n","import { KadoaSdkException } from \"../../runtime/exceptions\";\nimport { ERROR_MESSAGES } from \"../../runtime/exceptions/base.exception\";\nimport { logger } from \"../../runtime/logger\";\nimport { type PollingOptions, pollUntil } from \"../../runtime/utils\";\nimport type {\n LocationConfig,\n NavigationMode,\n SchemaField,\n WorkflowInterval,\n} from \"../extraction/extraction.acl\";\nimport {\n type CreateWorkflowRequest,\n type CreateWorkflowWithCustomSchemaRequest,\n type GetJobResponse,\n type GetWorkflowResponse,\n JobStateEnum,\n type ListWorkflowsRequest,\n type MonitoringConfig,\n type RunWorkflowRequest,\n type RunWorkflowResponse,\n type WorkflowResponse,\n type WorkflowStateEnum,\n type WorkflowsApiInterface,\n} from \"./workflows.acl\";\n\nexport type WorkflowId = string;\nexport type JobId = string;\n\nexport interface WaitOptions extends PollingOptions {\n targetState?: WorkflowStateEnum;\n}\n\nexport interface JobWaitOptions extends PollingOptions {\n targetStatus?: JobStateEnum;\n}\n\nexport interface CreateWorkflowInput {\n urls: string[];\n navigationMode: NavigationMode;\n name: string;\n description?: string;\n schemaId?: string;\n entity: string;\n fields: Array<SchemaField>;\n tags?: string[];\n interval?: WorkflowInterval;\n monitoring?: MonitoringConfig;\n location?: LocationConfig;\n bypassPreview?: boolean;\n autoStart?: boolean;\n schedules?: string[];\n}\n\nconst TERMINAL_JOB_STATES: Set<JobStateEnum> = new Set([\n JobStateEnum.Finished,\n JobStateEnum.Failed,\n JobStateEnum.NotSupported,\n JobStateEnum.FailedInsufficientFunds,\n]);\n\nconst TERMINAL_RUN_STATES: Set<string> = new Set([\n \"FINISHED\",\n \"SUCCESS\",\n \"FAILED\",\n \"ERROR\",\n \"STOPPED\",\n \"CANCELLED\",\n]);\n\nconst debug = logger.workflow;\n\nexport class WorkflowsCoreService {\n constructor(private readonly workflowsApi: WorkflowsApiInterface) {}\n\n async create(input: CreateWorkflowInput): Promise<{ id: WorkflowId }> {\n const request:\n | CreateWorkflowRequest\n | CreateWorkflowWithCustomSchemaRequest = {\n urls: input.urls,\n name: input.name,\n schemaId: input.schemaId,\n description: input.description,\n navigationMode: input.navigationMode,\n entity: input.entity,\n fields: input.fields,\n bypassPreview: input.bypassPreview ?? true,\n tags: input.tags,\n interval: input.interval,\n monitoring: input.monitoring,\n location: input.location,\n autoStart: input.autoStart,\n schedules: input.schedules,\n };\n\n const response = await this.workflowsApi.v4WorkflowsPost({\n createWorkflowBody: request,\n });\n const workflowId = response.data?.workflowId;\n\n if (!workflowId) {\n throw new KadoaSdkException(ERROR_MESSAGES.NO_WORKFLOW_ID, {\n code: \"INTERNAL_ERROR\",\n details: {\n response: response.data,\n },\n });\n }\n return { id: workflowId };\n }\n\n async get(id: WorkflowId): Promise<GetWorkflowResponse> {\n const response = await this.workflowsApi.v4WorkflowsWorkflowIdGet({\n workflowId: id,\n });\n return response.data;\n }\n\n async list(filters?: ListWorkflowsRequest): Promise<WorkflowResponse[]> {\n const response = await this.workflowsApi.v4WorkflowsGet(filters);\n return response.data?.workflows ?? [];\n }\n\n async getByName(name: string): Promise<WorkflowResponse | undefined> {\n const response = await this.workflowsApi.v4WorkflowsGet({\n search: name,\n });\n return response.data?.workflows?.[0];\n }\n\n async cancel(id: WorkflowId): Promise<void> {\n await this.workflowsApi.v4WorkflowsWorkflowIdDelete({\n workflowId: id,\n });\n }\n\n async resume(id: WorkflowId): Promise<void> {\n await this.workflowsApi.v4WorkflowsWorkflowIdResumePut({\n workflowId: id,\n });\n }\n\n /**\n * Wait for a workflow to reach the target state or a terminal state if no target state is provided\n */\n async wait(\n id: WorkflowId,\n options?: WaitOptions,\n ): Promise<GetWorkflowResponse> {\n let last: GetWorkflowResponse | undefined;\n\n const result = await pollUntil(\n async () => {\n const current = await this.get(id);\n\n // Log state changes\n if (\n last?.state !== current.state ||\n last?.runState !== current.runState\n ) {\n debug(\n \"workflow %s state: [workflowState: %s, jobState: %s]\",\n id,\n current.state,\n current.runState,\n );\n }\n\n last = current;\n return current;\n },\n (current) => {\n // Check for target state if specified\n if (options?.targetState && current.state === options.targetState) {\n return true;\n }\n\n // Check for terminal states\n if (\n current.runState &&\n TERMINAL_RUN_STATES.has(current.runState.toUpperCase()) &&\n current.state !== \"QUEUED\"\n ) {\n return true;\n }\n\n return false;\n },\n options,\n );\n\n return result.result;\n }\n\n /**\n * Run a workflow with variables and optional limit\n */\n async runWorkflow(\n workflowId: WorkflowId,\n input: RunWorkflowRequest,\n ): Promise<RunWorkflowResponse> {\n const response = await this.workflowsApi.v4WorkflowsWorkflowIdRunPut({\n workflowId,\n v4WorkflowsWorkflowIdRunPutRequest: {\n variables: input.variables,\n limit: input.limit,\n },\n });\n\n const jobId = response.data?.jobId;\n if (!jobId) {\n throw new KadoaSdkException(ERROR_MESSAGES.NO_WORKFLOW_ID, {\n code: \"INTERNAL_ERROR\",\n details: {\n response: response.data,\n },\n });\n }\n\n return {\n jobId,\n message: response.data?.message,\n status: response.data?.status,\n };\n }\n\n /**\n * Get job status directly without polling workflow details\n */\n async getJobStatus(\n workflowId: WorkflowId,\n jobId: JobId,\n ): Promise<GetJobResponse> {\n const response = await this.workflowsApi.v4WorkflowsWorkflowIdJobsJobIdGet({\n workflowId,\n jobId,\n });\n return response.data;\n }\n\n /**\n * Wait for a job to reach the target state or a terminal state\n */\n async waitForJobCompletion(\n workflowId: WorkflowId,\n jobId: JobId,\n options?: JobWaitOptions,\n ): Promise<GetJobResponse> {\n let last: GetJobResponse | undefined;\n\n const result = await pollUntil(\n async () => {\n const current = await this.getJobStatus(workflowId, jobId);\n\n // Log state changes\n if (last?.state !== current.state) {\n debug(\"job %s state: %s\", jobId, current.state);\n }\n\n last = current;\n return current;\n },\n (current) => {\n // Check for target state if specified\n if (options?.targetStatus && current.state === options.targetStatus) {\n return true;\n }\n\n // Check for terminal states\n if (current.state && TERMINAL_JOB_STATES.has(current.state)) {\n return true;\n }\n\n return false;\n },\n options,\n );\n\n return result.result;\n }\n}\n","import type { ValidationCoreService } from \"./validation-core.service\";\nimport type { ValidationRulesService } from \"./validation-rules.service\";\n\n/**\n * Facade exposing validation operations directly on the client validation domain,\n * while preserving access to the underlying `rules` services.\n */\nexport interface ValidationDomain {\n /** Rule management utilities. */\n rules: ValidationRulesService;\n\n /**\n * Schedule a validation run for a workflow/job.\n *\n * Example: `await client.validation.schedule(workflowId, jobId)`\n */\n schedule: (\n ...args: Parameters<ValidationCoreService[\"scheduleValidation\"]>\n ) => ReturnType<ValidationCoreService[\"scheduleValidation\"]>;\n\n /** List validations for a workflow/job. */\n listWorkflowValidations: (\n ...args: Parameters<ValidationCoreService[\"listWorkflowValidations\"]>\n ) => ReturnType<ValidationCoreService[\"listWorkflowValidations\"]>;\n\n /** Get details for a specific validation. */\n getValidationDetails: (\n ...args: Parameters<ValidationCoreService[\"getValidationDetails\"]>\n ) => ReturnType<ValidationCoreService[\"getValidationDetails\"]>;\n\n /** Enable/disable validation for a workflow. */\n toggleEnabled: (\n ...args: Parameters<ValidationCoreService[\"toggleValidationEnabled\"]>\n ) => ReturnType<ValidationCoreService[\"toggleValidationEnabled\"]>;\n\n /** Get the latest validation for a workflow (optionally filtered by job). */\n getLatest: (\n ...args: Parameters<ValidationCoreService[\"getLatestValidation\"]>\n ) => ReturnType<ValidationCoreService[\"getLatestValidation\"]>;\n\n /** Get aggregated anomalies for a validation. */\n getAnomalies: (\n ...args: Parameters<ValidationCoreService[\"getValidationAnomalies\"]>\n ) => ReturnType<ValidationCoreService[\"getValidationAnomalies\"]>;\n\n /** Get anomalies for a specific rule. */\n getAnomaliesByRule: (\n ...args: Parameters<ValidationCoreService[\"getValidationAnomaliesByRule\"]>\n ) => ReturnType<ValidationCoreService[\"getValidationAnomaliesByRule\"]>;\n\n /** Wait until a validation completes; throws if validation fails. */\n waitUntilCompleted: (\n ...args: Parameters<ValidationCoreService[\"waitUntilCompleted\"]>\n ) => ReturnType<ValidationCoreService[\"waitUntilCompleted\"]>;\n}\n\nexport function createValidationDomain(\n core: ValidationCoreService,\n rules: ValidationRulesService,\n): ValidationDomain {\n return {\n rules,\n schedule: (workflowId, jobId) => core.scheduleValidation(workflowId, jobId),\n listWorkflowValidations: (filters) => core.listWorkflowValidations(filters),\n getValidationDetails: (validationId) =>\n core.getValidationDetails(validationId),\n toggleEnabled: (workflowId) => core.toggleValidationEnabled(workflowId),\n getLatest: (workflowId, jobId) =>\n core.getLatestValidation(workflowId, jobId),\n getAnomalies: (validationId) => core.getValidationAnomalies(validationId),\n getAnomaliesByRule: (validationId, ruleName) =>\n core.getValidationAnomaliesByRule(validationId, ruleName),\n waitUntilCompleted: (validationId, options) =>\n core.waitUntilCompleted(validationId, options),\n };\n}\n","import type { AxiosInstance } from \"axios\";\nimport axios, { AxiosError } from \"axios\";\nimport { v4 } from \"uuid\";\nimport {\n Configuration,\n NotificationsApi,\n WorkflowsApi,\n} from \"./domains/apis.acl\";\nimport { DataFetcherService } from \"./domains/extraction/services/data-fetcher.service\";\nimport { EntityResolverService } from \"./domains/extraction/services/entity-resolver.service\";\nimport { ExtractionService } from \"./domains/extraction/services/extraction.service\";\nimport {\n ExtractionBuilderService,\n type ExtractOptions,\n type PreparedExtraction,\n} from \"./domains/extraction/services/extraction-builder.service\";\nimport {\n type NotificationOptions,\n type NotificationSettings,\n NotificationSetupService,\n type SetupWorkflowNotificationSettingsRequest,\n type SetupWorkspaceNotificationSettingsRequest,\n} from \"./domains/notifications\";\nimport { NotificationChannelsService } from \"./domains/notifications/notification-channels.service\";\nimport { NotificationSettingsService } from \"./domains/notifications/notification-settings.service\";\nimport { Realtime } from \"./domains/realtime/realtime\";\nimport { SchemasService } from \"./domains/schemas/schemas.service\";\nimport type { KadoaUser } from \"./domains/user/user.service\";\nimport { UserService } from \"./domains/user/user.service\";\nimport {\n createValidationDomain,\n type ValidationDomain,\n} from \"./domains/validation/validation.facade\";\nimport { ValidationCoreService } from \"./domains/validation/validation-core.service\";\nimport { ValidationRulesService } from \"./domains/validation/validation-rules.service\";\nimport { WorkflowsCoreService } from \"./domains/workflows/workflows-core.service\";\nimport { PUBLIC_API_URI } from \"./runtime/config\";\nimport { KadoaErrorCode, KadoaHttpException } from \"./runtime/exceptions\";\nimport { SDK_LANGUAGE, SDK_NAME, SDK_VERSION } from \"./version\";\n\nexport interface KadoaClientStatus {\n baseUrl: string;\n user: KadoaUser;\n realtimeConnected: boolean;\n}\n\nexport interface KadoaClientConfig {\n apiKey: string;\n timeout?: number;\n /**\n * Enable realtime WebSocket connection\n */\n enableRealtime?: boolean;\n /**\n * Optional realtime configuration\n */\n realtimeConfig?: {\n /** Auto-connect on client initialization (default: true) */\n autoConnect?: boolean;\n /** Delay between reconnection attempts in ms (default: 5000) */\n reconnectDelay?: number;\n /** Heartbeat interval in ms (default: 10000) */\n heartbeatInterval?: number;\n };\n}\n\nexport interface NotificationDomain {\n channels: NotificationChannelsService;\n settings: NotificationSettingsService;\n setup: NotificationSetupService;\n configure(options: NotificationOptions): Promise<NotificationSettings[]>;\n setupForWorkflow(\n requestData: SetupWorkflowNotificationSettingsRequest,\n ): Promise<NotificationSettings[]>;\n setupForWorkspace(\n requestData: SetupWorkspaceNotificationSettingsRequest,\n ): Promise<NotificationSettings[]>;\n}\n\nexport type { ValidationDomain } from \"./domains/validation/validation.facade\";\n\n/**\n * KadoaClient provides an object-oriented interface to the Kadoa SDK\n *\n * @example\n * ```typescript\n * import { KadoaClient } from '@kadoa/sdk';\n *\n * const client = new KadoaClient({\n * apiKey: 'your-api-key'\n * });\n *\n * const result = await client.extraction.run({\n * urls: ['https://example.com'],\n * name: 'My Extraction'\n * });\n * ```\n */\nexport class KadoaClient {\n private readonly _configuration: Configuration;\n private readonly _axiosInstance: AxiosInstance;\n private readonly _baseUrl: string;\n private readonly _timeout: number;\n private readonly _apiKey: string;\n\n private _realtime?: Realtime;\n private _extractionBuilderService: ExtractionBuilderService;\n\n public readonly extraction: ExtractionService;\n public readonly workflow: WorkflowsCoreService;\n public readonly notification: NotificationDomain;\n public readonly schema: SchemasService;\n public readonly user: UserService;\n public readonly validation: ValidationDomain;\n\n constructor(config: KadoaClientConfig) {\n this._baseUrl = PUBLIC_API_URI;\n this._timeout = config.timeout || 30000;\n this._apiKey = config.apiKey;\n\n const headers = {\n \"User-Agent\": `${SDK_NAME}/${SDK_VERSION}`,\n \"X-SDK-Version\": SDK_VERSION,\n \"X-SDK-Language\": SDK_LANGUAGE,\n };\n\n this._configuration = new Configuration({\n apiKey: this._apiKey,\n basePath: this._baseUrl,\n baseOptions: {\n headers,\n },\n });\n\n this._axiosInstance = axios.create({\n timeout: this._timeout,\n headers,\n });\n\n this._axiosInstance.interceptors.request.use((config) => {\n config.headers[\"x-request-id\"] = v4();\n return config;\n });\n\n this._axiosInstance.interceptors.response.use(\n (response) => {\n if (response.status === 401) {\n throw new KadoaHttpException(\"Unauthorized\", {\n code: KadoaErrorCode.AUTH_ERROR,\n httpStatus: 401,\n });\n }\n\n return response;\n },\n (error) => {\n if (error instanceof AxiosError) {\n const status = error.response?.status;\n if (status === 400) {\n throw KadoaHttpException.wrap(error);\n }\n }\n\n throw KadoaHttpException.wrap(error);\n },\n );\n\n //todo: use proper DI container,\n\n //apis\n const workflowsApi = new WorkflowsApi(\n this.configuration,\n this.baseUrl,\n this.axiosInstance,\n );\n\n const notificationsApi = new NotificationsApi(\n this.configuration,\n this.baseUrl,\n this.axiosInstance,\n );\n\n //services\n const userService = new UserService(this);\n const dataFetcherService = new DataFetcherService(workflowsApi);\n const channelsService = new NotificationChannelsService(\n notificationsApi,\n userService,\n );\n const settingsService = new NotificationSettingsService(notificationsApi);\n const entityResolverService = new EntityResolverService(this);\n const workflowsCoreService = new WorkflowsCoreService(workflowsApi);\n const schemasService = new SchemasService(this);\n const channelSetupService = new NotificationSetupService(\n channelsService,\n settingsService,\n );\n const coreService = new ValidationCoreService(this);\n const rulesService = new ValidationRulesService(this);\n const extractionService = new ExtractionService(\n workflowsCoreService,\n dataFetcherService,\n entityResolverService,\n channelSetupService,\n channelsService,\n settingsService,\n );\n this._extractionBuilderService = new ExtractionBuilderService(\n workflowsCoreService,\n entityResolverService,\n dataFetcherService,\n channelSetupService,\n );\n\n // domain services\n this.user = userService;\n this.extraction = extractionService;\n this.workflow = workflowsCoreService;\n this.schema = schemasService;\n this.notification = {\n channels: channelsService,\n settings: settingsService,\n setup: channelSetupService,\n configure: (options: NotificationOptions) =>\n channelSetupService.setup(options),\n setupForWorkflow: (\n request: SetupWorkflowNotificationSettingsRequest,\n ): Promise<NotificationSettings[]> =>\n channelSetupService.setupForWorkflow(request),\n setupForWorkspace: (\n request: SetupWorkspaceNotificationSettingsRequest,\n ): Promise<NotificationSettings[]> =>\n channelSetupService.setupForWorkspace(request),\n };\n this.validation = createValidationDomain(coreService, rulesService);\n\n if (config.enableRealtime && config.realtimeConfig?.autoConnect !== false) {\n this.connectRealtime();\n }\n }\n\n /**\n * Get the underlying configuration\n *\n * @returns The configuration object\n */\n get configuration(): Configuration {\n return this._configuration;\n }\n\n /**\n * Get the axios instance\n *\n * @returns The axios instance\n */\n get axiosInstance(): AxiosInstance {\n return this._axiosInstance;\n }\n\n /**\n * Get the base URL\n *\n * @returns The base URL\n */\n get baseUrl(): string {\n return this._baseUrl;\n }\n\n /**\n * Get the API key\n *\n * @returns The API key\n */\n get apiKey(): string {\n return this._apiKey;\n }\n\n /**\n * Get the timeout value\n *\n * @returns The timeout in milliseconds\n */\n get timeout(): number {\n return this._timeout;\n }\n\n /**\n * Get the realtime connection (if enabled)\n */\n get realtime(): Realtime | undefined {\n return this._realtime;\n }\n\n /**\n * Create a prepared extraction using the fluent builder API\n *\n * @param options - Extraction options including URLs and optional extraction builder\n * @returns PreparedExtraction that can be configured with notifications, monitoring, etc.\n *\n * @example Auto-detection\n * ```typescript\n * const extraction = await client.extract({\n * urls: [\"https://example.com\"],\n * name: \"My Extraction\"\n * }).create();\n * ```\n *\n * @example Raw extraction\n * ```typescript\n * const extraction = await client.extract({\n * urls: [\"https://example.com\"],\n * name: \"My Extraction\",\n * extraction: builder => builder.raw(\"markdown\")\n * }).create();\n * ```\n *\n * @example Custom schema\n * ```typescript\n * const extraction = await client.extract({\n * urls: [\"https://example.com\"],\n * name: \"My Extraction\",\n * extraction: builder => builder\n * .schema(\"Product\")\n * .field(\"title\", \"Product name\", \"STRING\", { example: \"Example\" })\n * .field(\"price\", \"Product price\", \"CURRENCY\")\n * }).create();\n * ```\n */\n extract(options: ExtractOptions): PreparedExtraction {\n return this._extractionBuilderService.extract(options);\n }\n\n /**\n * Connect to realtime WebSocket server\n * Creates a new connection if not already connected\n *\n * @returns The Realtime instance\n */\n connectRealtime(): Realtime {\n if (!this._realtime) {\n this._realtime = new Realtime({ teamApiKey: this._apiKey });\n this._realtime.connect();\n }\n return this._realtime;\n }\n\n /**\n * Disconnect from realtime WebSocket server\n */\n disconnectRealtime(): void {\n if (this._realtime) {\n this._realtime.close();\n this._realtime = undefined;\n }\n }\n\n /**\n * Check if realtime connection is active\n *\n * @returns True if connected, false otherwise\n */\n isRealtimeConnected(): boolean {\n return this._realtime?.isConnected() ?? false;\n }\n\n /**\n * Get the status of the client\n *\n * @returns The status of the client\n */\n async status(): Promise<KadoaClientStatus> {\n return {\n baseUrl: this._baseUrl,\n user: await this.user.getCurrentUser(),\n realtimeConnected: this.isRealtimeConnected(),\n };\n }\n\n /**\n * Dispose of the client and clean up resources\n */\n dispose(): void {\n // Clean up WebSocket connection if active\n this.disconnectRealtime();\n\n // Note: API clients use WeakMap caching and will be automatically\n // garbage collected when the client instance is no longer referenced.\n // The axios instance itself doesn't require explicit cleanup as it\n // doesn't maintain persistent connections or resources.\n\n // Future cleanup that could be added if needed:\n // - Cancel pending axios requests using AbortController\n // - Clear any custom axios interceptors\n // - Clear any timers or intervals\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/domains/extraction/extraction.acl.ts","../src/runtime/pagination/paginator.ts","../src/domains/extraction/services/data-fetcher.service.ts","../src/runtime/exceptions/base.exception.ts","../src/runtime/exceptions/http.exception.ts","../src/runtime/logger/index.ts","../src/domains/schemas/schema-builder.ts","../src/generated/base.ts","../src/generated/common.ts","../src/generated/api/data-validation-api.ts","../src/generated/api/notifications-api.ts","../src/generated/api/schemas-api.ts","../src/generated/api/workflows-api.ts","../src/generated/configuration.ts","../src/domains/schemas/schemas.service.ts","../src/domains/extraction/services/entity-resolver.service.ts","../src/domains/extraction/services/extraction.service.ts","../src/domains/extraction/services/extraction-builder.service.ts","../src/domains/notifications/notifications.acl.ts","../src/domains/notifications/notification-channels.service.ts","../src/domains/notifications/notification-settings.service.ts","../src/domains/notifications/notification-setup.service.ts","../src/runtime/config/constants.ts","../src/version.ts","../src/domains/realtime/realtime.ts","../src/domains/user/user.service.ts","../src/runtime/utils/polling.ts","../src/domains/validation/validation-core.service.ts","../src/domains/validation/validation-rules.service.ts","../src/domains/workflows/workflows.acl.ts","../src/domains/workflows/workflows-core.service.ts","../src/domains/validation/validation.facade.ts","../src/kadoa-client.ts"],"names":["name","axios","globalAxios","BASE_PATH","URL","debug","result","merge","channel","error","config"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Extraction domain ACL.\n * Wraps generated WorkflowsApi requests/responses for data fetching operations.\n * Wraps generated schema field types for entity resolution.\n * Downstream code must import from this module instead of `generated/**`.\n */\n\nimport type {\n CreateWorkflowWithSchemaBodyIntervalEnum,\n CreateWorkflowWithSchemaBodyNavigationModeEnum,\n ExtractionClassificationField,\n ExtractionClassificationFieldFieldTypeEnum,\n ExtractionMetadataField,\n ExtractionMetadataFieldFieldTypeEnum,\n ExtractionMetadataFieldMetadataKeyEnum,\n ExtractionSchemaField,\n ExtractionSchemaFieldDataTypeEnum,\n ExtractionSchemaFieldFieldTypeEnum,\n Location,\n V4WorkflowsWorkflowIdDataGet200Response,\n V4WorkflowsWorkflowIdDataGet200ResponsePagination,\n V4WorkflowsWorkflowIdDataGetOrderEnum,\n V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInner,\n V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInnerOperatorEnum,\n} from \"../../generated\";\nimport type {\n GetWorkflowResponse,\n MonitoringConfig,\n WorkflowsApiInterface,\n} from \"../workflows/workflows.acl\";\n\n/**\n * Data pagination metadata.\n */\nexport type DataPagination = V4WorkflowsWorkflowIdDataGet200ResponsePagination;\n\n/**\n * Workflow data response.\n * Note: This type doesn't contain enum fields that need remapping.\n */\nexport type WorkflowDataResponse = V4WorkflowsWorkflowIdDataGet200Response;\n\n/**\n * Data sort order enum.\n */\nexport const DataSortOrder = {\n Asc: \"asc\",\n Desc: \"desc\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsWorkflowIdDataGetOrderEnum,\n V4WorkflowsWorkflowIdDataGetOrderEnum\n>;\n\nexport type DataSortOrder = (typeof DataSortOrder)[keyof typeof DataSortOrder];\n\n/**\n * Options for fetching workflow data.\n */\nexport class FetchDataOptions {\n workflowId!: string;\n runId?: string;\n sortBy?: string;\n order?: DataSortOrder;\n filters?: string;\n page?: number;\n limit?: number;\n includeAnomalies?: boolean;\n}\n\n/**\n * Schema field data type enum.\n */\nexport const SchemaFieldDataType = {\n Text: \"TEXT\",\n Number: \"NUMBER\",\n Date: \"DATE\",\n Url: \"URL\",\n Email: \"EMAIL\",\n Image: \"IMAGE\",\n Video: \"VIDEO\",\n Phone: \"PHONE\",\n Boolean: \"BOOLEAN\",\n Location: \"LOCATION\",\n Array: \"ARRAY\",\n Object: \"OBJECT\",\n} as const satisfies Record<string, string>;\n\nexport type SchemaFieldDataType =\n (typeof SchemaFieldDataType)[keyof typeof SchemaFieldDataType];\n\nexport type SchemaField =\n | ExtractionSchemaField\n | ExtractionClassificationField\n | ExtractionMetadataField;\n\nexport type NavigationMode =\n (typeof CreateWorkflowWithSchemaBodyNavigationModeEnum)[keyof typeof CreateWorkflowWithSchemaBodyNavigationModeEnum];\n\nexport type DataTypeInternal =\n (typeof ExtractionSchemaFieldDataTypeEnum)[keyof typeof ExtractionSchemaFieldDataTypeEnum];\n\nexport type DataType = Exclude<\n DataTypeInternal,\n | \"CURRENCY\"\n | \"JOB_DESCRIPTION\"\n | \"CATEGORY_JOB_TYPES\"\n | \"CLASSIFICATION\"\n | \"CATEGORIZE\"\n | \"STATIC_SCRAPER_DATA\"\n | \"UNIQUE_ID\"\n | \"JOBBIRD_CUSTOM\"\n | \"PASS\"\n | \"ADDITIONAL_DATA\"\n>;\n\nexport type MetadataKey =\n (typeof ExtractionMetadataFieldMetadataKeyEnum)[keyof typeof ExtractionMetadataFieldMetadataKeyEnum];\n\nexport type WorkflowInterval =\n (typeof CreateWorkflowWithSchemaBodyIntervalEnum)[keyof typeof CreateWorkflowWithSchemaBodyIntervalEnum];\n\nexport type MonitoringOperator =\n (typeof V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInnerOperatorEnum)[keyof typeof V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInnerOperatorEnum];\n\nexport type MonitoringField =\n V4WorkflowsWorkflowIdMetadataPutRequestMonitoringFieldsInner & {\n isKeyField?: boolean;\n };\n\nexport type LocationConfig = Location;\n\nexport type RawFormat =\n (typeof ExtractionMetadataFieldMetadataKeyEnum)[keyof typeof ExtractionMetadataFieldMetadataKeyEnum];\n\nexport type FieldType =\n | ExtractionMetadataFieldFieldTypeEnum\n | ExtractionClassificationFieldFieldTypeEnum\n | ExtractionSchemaFieldFieldTypeEnum;\n\nexport type WorkflowMonitoringConfig = MonitoringConfig;\n\n/**\n * Workflow details response.\n * Re-exported from workflows.acl.ts to get SDK-curated enum types.\n */\nexport type WorkflowDetailsResponse = GetWorkflowResponse;\n\nexport type { WorkflowsApiInterface };\n","import type { PagedResponse, PageOptions } from \"./types\";\n\n/**\n * Simple async paginator for page-based pagination\n * @template T The type of items being paginated\n */\nexport class PagedIterator<T> {\n constructor(\n private readonly fetchPage: (\n options: PageOptions,\n ) => Promise<PagedResponse<T>>,\n ) {}\n\n /**\n * Fetch all items across all pages\n * @param options Base options (page will be overridden)\n * @returns Array of all items\n */\n async fetchAll(options: Omit<PageOptions, \"page\"> = {}): Promise<T[]> {\n const allItems: T[] = [];\n let currentPage = 1;\n let hasMore = true;\n\n while (hasMore) {\n const result = await this.fetchPage({ ...options, page: currentPage });\n allItems.push(...result.data);\n\n const pagination = result.pagination;\n hasMore =\n pagination.page !== undefined &&\n pagination.totalPages !== undefined &&\n pagination.page < pagination.totalPages;\n\n currentPage++;\n }\n\n return allItems;\n }\n\n /**\n * Create an async iterator for pages\n * @param options Base options (page will be overridden)\n * @returns Async generator that yields pages\n */\n async *pages(\n options: Omit<PageOptions, \"page\"> = {},\n ): AsyncGenerator<PagedResponse<T>, void, unknown> {\n let currentPage = 1;\n let hasMore = true;\n\n while (hasMore) {\n const result = await this.fetchPage({ ...options, page: currentPage });\n yield result;\n\n const pagination = result.pagination;\n hasMore =\n pagination.page !== undefined &&\n pagination.totalPages !== undefined &&\n pagination.page < pagination.totalPages;\n\n currentPage++;\n }\n }\n\n /**\n * Create an async iterator for individual items\n * @param options Base options (page will be overridden)\n * @returns Async generator that yields items\n */\n async *items(\n options: Omit<PageOptions, \"page\"> = {},\n ): AsyncGenerator<T, void, unknown> {\n for await (const page of this.pages(options)) {\n for (const item of page.data) {\n yield item;\n }\n }\n }\n}\n","import { PagedIterator, type PagedResponse } from \"../../../runtime/pagination\";\nimport type {\n FetchDataOptions,\n WorkflowsApiInterface,\n} from \"../extraction.acl\";\n\nexport interface FetchDataResult extends PagedResponse<object> {\n workflowId: string;\n runId?: string | null;\n executedAt?: string | null;\n}\n\n/**\n * Service for fetching workflow data with pagination support\n */\nexport class DataFetcherService {\n private readonly defaultLimit = 100;\n\n constructor(private readonly workflowsApi: WorkflowsApiInterface) {}\n\n /**\n * Fetch a page of workflow data\n */\n async fetchData(options: FetchDataOptions): Promise<FetchDataResult> {\n const response = await this.workflowsApi.v4WorkflowsWorkflowIdDataGet({\n ...options,\n page: options.page ?? 1,\n limit: options.limit ?? this.defaultLimit,\n });\n\n const result = response.data;\n return result;\n }\n\n /**\n * Fetch all pages of workflow data\n */\n async fetchAllData(options: FetchDataOptions): Promise<object[]> {\n const iterator = new PagedIterator((pageOptions) =>\n this.fetchData({ ...options, ...pageOptions }),\n );\n\n return iterator.fetchAll({ limit: options.limit ?? this.defaultLimit });\n }\n\n /**\n * Create an async iterator for paginated data fetching\n */\n async *fetchDataPages(\n options: FetchDataOptions,\n ): AsyncGenerator<FetchDataResult, void, unknown> {\n const iterator = new PagedIterator((pageOptions) =>\n this.fetchData({ ...options, ...pageOptions }),\n );\n\n for await (const page of iterator.pages({\n limit: options.limit ?? this.defaultLimit,\n })) {\n yield page as FetchDataResult;\n }\n }\n}\n","export const KadoaErrorCode = {\n UNKNOWN: \"UNKNOWN\",\n CONFIG_ERROR: \"CONFIG_ERROR\",\n AUTH_ERROR: \"AUTH_ERROR\",\n VALIDATION_ERROR: \"VALIDATION_ERROR\",\n BAD_REQUEST: \"BAD_REQUEST\",\n NOT_FOUND: \"NOT_FOUND\",\n RATE_LIMITED: \"RATE_LIMITED\",\n ABORTED: \"ABORTED\",\n TIMEOUT: \"TIMEOUT\",\n NETWORK_ERROR: \"NETWORK_ERROR\",\n HTTP_ERROR: \"HTTP_ERROR\",\n INTERNAL_ERROR: \"INTERNAL_ERROR\",\n} as const satisfies Record<string, string>;\n\nexport type KadoaErrorCode =\n (typeof KadoaErrorCode)[keyof typeof KadoaErrorCode];\n\nexport type KadoaSdkExceptionOptions = {\n code?: KadoaErrorCode;\n details?: Record<string, unknown>;\n cause?: unknown;\n};\n\nexport class KadoaSdkException extends Error {\n readonly code: KadoaErrorCode;\n readonly details?: Record<string, unknown>;\n readonly cause?: unknown;\n\n static readonly ERROR_MESSAGES = {\n // General errors\n CONFIG_ERROR: \"Invalid configuration provided\",\n AUTH_FAILED: \"Authentication failed. Please check your API key\",\n RATE_LIMITED: \"Rate limit exceeded. Please try again later\",\n NETWORK_ERROR: \"Network error occurred\",\n SERVER_ERROR: \"Server error occurred\",\n PARSE_ERROR: \"Failed to parse response\",\n BAD_REQUEST: \"Bad request\",\n ABORTED: \"Aborted\",\n NOT_FOUND: \"Not found\",\n\n // Workflow specific errors\n NO_WORKFLOW_ID: \"Failed to start extraction process - no ID received\",\n WORKFLOW_CREATE_FAILED: \"Failed to create workflow\",\n WORKFLOW_TIMEOUT: \"Workflow processing timed out\",\n WORKFLOW_UNEXPECTED_STATUS: \"Extraction completed with unexpected status\",\n PROGRESS_CHECK_FAILED: \"Failed to check extraction progress\",\n DATA_FETCH_FAILED: \"Failed to retrieve extracted data from workflow\",\n\n // Extraction specific errors\n NO_URLS: \"At least one URL is required for extraction\",\n NO_API_KEY: \"API key is required for entity detection\",\n LINK_REQUIRED: \"Link is required for entity field detection\",\n NO_PREDICTIONS: \"No entity predictions returned from the API\",\n EXTRACTION_FAILED: \"Data extraction failed for the provided URLs\",\n ENTITY_FETCH_FAILED: \"Failed to fetch entity fields\",\n ENTITY_INVARIANT_VIOLATION: \"No valid entity provided\",\n\n // Schema specific errors\n SCHEMA_NOT_FOUND: \"Schema not found\",\n SCHEMA_FETCH_ERROR: \"Failed to fetch schema\",\n SCHEMAS_FETCH_ERROR: \"Failed to fetch schemas\",\n SCHEMA_CREATE_FAILED: \"Failed to create schema\",\n SCHEMA_UPDATE_FAILED: \"Failed to update schema\",\n SCHEMA_DELETE_FAILED: \"Failed to delete schema\",\n } as const;\n\n constructor(message: string, options?: KadoaSdkExceptionOptions) {\n super(message);\n this.name = \"KadoaSdkException\";\n this.code = options?.code ?? \"UNKNOWN\";\n this.details = options?.details;\n if (options && \"cause\" in options) this.cause = options.cause;\n Error.captureStackTrace?.(this, KadoaSdkException);\n }\n\n static from(\n error: unknown,\n details?: Record<string, unknown>,\n ): KadoaSdkException {\n if (error instanceof KadoaSdkException) return error;\n const message =\n error instanceof Error\n ? error.message\n : typeof error === \"string\"\n ? error\n : \"Unexpected error\";\n return new KadoaSdkException(message, {\n code: \"UNKNOWN\",\n details,\n cause: error,\n });\n }\n\n toJSON(): Record<string, unknown> {\n return {\n name: this.name,\n message: this.message,\n code: this.code,\n details: this.details,\n };\n }\n\n toString(): string {\n return [this.name, this.code, this.message].filter(Boolean).join(\": \");\n }\n\n toDetailedString(): string {\n const parts = [`${this.name}: ${this.message}`, `Code: ${this.code}`];\n if (this.details && Object.keys(this.details).length > 0) {\n parts.push(`Details: ${JSON.stringify(this.details, null, 2)}`);\n }\n if (this.cause) {\n parts.push(`Cause: ${this.cause}`);\n }\n return parts.join(\"\\n\");\n }\n\n static isInstance(error: unknown): error is KadoaSdkException {\n return error instanceof KadoaSdkException;\n }\n\n static wrap(\n error: unknown,\n extra?: { message?: string; details?: Record<string, unknown> },\n ): KadoaSdkException {\n if (error instanceof KadoaSdkException) return error;\n const message =\n extra?.message ||\n (error instanceof Error\n ? error.message\n : typeof error === \"string\"\n ? error\n : \"Unexpected error\");\n return new KadoaSdkException(message, {\n code: \"UNKNOWN\",\n details: extra?.details,\n cause: error,\n });\n }\n}\n\nexport const ERROR_MESSAGES = KadoaSdkException.ERROR_MESSAGES;\n","import { type AxiosError, isAxiosError } from \"axios\";\nimport { type KadoaErrorCode, KadoaSdkException } from \"./base.exception\";\n\nexport type KadoaHttpExceptionOptions = {\n httpStatus?: number;\n requestId?: string;\n endpoint?: string;\n method?: string;\n responseBody?: unknown;\n details?: Record<string, unknown>;\n code?: KadoaErrorCode;\n cause?: unknown;\n};\n\nexport class KadoaHttpException extends KadoaSdkException {\n readonly httpStatus?: number;\n readonly requestId?: string;\n readonly endpoint?: string;\n readonly method?: string;\n readonly responseBody?: unknown;\n\n constructor(message: string, options?: KadoaHttpExceptionOptions) {\n super(message, {\n code: options?.code,\n details: options?.details,\n cause: options?.cause,\n });\n this.name = \"KadoaHttpException\";\n this.httpStatus = options?.httpStatus;\n this.requestId = options?.requestId;\n this.endpoint = options?.endpoint;\n this.method = options?.method;\n this.responseBody = options?.responseBody;\n }\n\n static fromAxiosError(\n error: AxiosError,\n extra?: { message?: string; details?: Record<string, unknown> },\n ): KadoaHttpException {\n const status = error.response?.status;\n const requestId =\n (error.response?.headers?.[\"x-request-id\"] as string | undefined) ||\n (error.response?.headers?.[\"x-amzn-requestid\"] as string | undefined);\n const method = error.config?.method?.toUpperCase();\n const url = error.config?.url;\n\n return new KadoaHttpException(extra?.message || error.message, {\n code: KadoaHttpException.mapStatusToCode(error),\n httpStatus: status,\n requestId,\n endpoint: url,\n method,\n responseBody: error.response?.data,\n details: extra?.details,\n cause: error,\n });\n }\n\n toJSON(): Record<string, unknown> {\n return {\n ...super.toJSON(),\n httpStatus: this.httpStatus,\n requestId: this.requestId,\n endpoint: this.endpoint,\n method: this.method,\n responseBody: this.responseBody,\n };\n }\n\n toDetailedString(): string {\n const parts = [`${this.name}: ${this.message}`, `Code: ${this.code}`];\n if (this.httpStatus) {\n parts.push(`HTTP Status: ${this.httpStatus}`);\n }\n if (this.method && this.endpoint) {\n parts.push(`Request: ${this.method} ${this.endpoint}`);\n }\n if (this.requestId) {\n parts.push(`Request ID: ${this.requestId}`);\n }\n if (this.responseBody) {\n parts.push(\n `Response Body: ${JSON.stringify(this.responseBody, null, 2)}`,\n );\n }\n if (this.details && Object.keys(this.details).length > 0) {\n parts.push(`Details: ${JSON.stringify(this.details, null, 2)}`);\n }\n if (this.cause) {\n parts.push(`Cause: ${this.cause}`);\n }\n return parts.join(\"\\n\");\n }\n\n static wrap(\n error: unknown,\n extra?: { message?: string; details?: Record<string, unknown> },\n ): KadoaSdkException | KadoaHttpException {\n if (error instanceof KadoaHttpException) return error;\n if (error instanceof KadoaSdkException) return error;\n if (isAxiosError(error)) {\n return KadoaHttpException.fromAxiosError(error, extra);\n }\n return KadoaSdkException.wrap(error, extra);\n }\n\n static mapStatusToCode(errorOrStatus: AxiosError | number): KadoaErrorCode {\n const status =\n typeof errorOrStatus === \"number\"\n ? errorOrStatus\n : errorOrStatus.response?.status;\n\n if (!status) {\n if (typeof errorOrStatus === \"number\") return \"UNKNOWN\";\n return errorOrStatus.code === \"ECONNABORTED\"\n ? \"TIMEOUT\"\n : errorOrStatus.request\n ? \"NETWORK_ERROR\"\n : \"UNKNOWN\";\n }\n if (status === 401 || status === 403) return \"AUTH_ERROR\";\n if (status === 404) return \"NOT_FOUND\";\n if (status === 408) return \"TIMEOUT\";\n if (status === 429) return \"RATE_LIMITED\";\n if (status >= 400 && status < 500) return \"VALIDATION_ERROR\";\n if (status >= 500) return \"HTTP_ERROR\";\n return \"UNKNOWN\";\n }\n}\n","import createDebug from \"debug\";\n\nexport const createLogger = (namespace: string) =>\n createDebug(`kadoa:${namespace}`);\n\nexport const logger = {\n client: createLogger(\"client\"),\n wss: createLogger(\"wss\"),\n extraction: createLogger(\"extraction\"),\n http: createLogger(\"http\"),\n workflow: createLogger(\"workflow\"),\n crawl: createLogger(\"crawl\"),\n notifications: createLogger(\"notifications\"),\n schemas: createLogger(\"schemas\"),\n validation: createLogger(\"validation\"),\n};\n","import { camelCase, upperFirst } from \"es-toolkit\";\nimport { KadoaSdkException } from \"../../runtime/exceptions\";\nimport type { DataType, RawFormat } from \"../extraction/extraction.acl\";\nimport type { Category, FieldExample, SchemaField } from \"./schemas.acl\";\n\nexport type { FieldExample, Category };\n\n/**\n * Optional configuration for schema fields\n */\nexport interface FieldOptions {\n /**\n * Example value for the field (required for STRING, IMAGE, LINK, OBJECT, ARRAY)\n * Can be a string or an array of strings\n */\n example?: FieldExample;\n /**\n * Whether this field is a primary key\n */\n isKey?: boolean;\n}\n\n/**\n * Builder for defining custom schemas with fields\n */\nexport class SchemaBuilder {\n private static readonly FIELD_NAME_PATTERN = /^[A-Za-z0-9]+$/;\n private static readonly TYPES_REQUIRING_EXAMPLE: DataType[] = [\n \"STRING\",\n \"IMAGE\",\n \"LINK\",\n \"OBJECT\",\n \"ARRAY\",\n ];\n\n readonly fields: SchemaField[] = [];\n entityName?: string;\n\n private hasSchemaFields(): boolean {\n return this.fields.some((field) => field.fieldType === \"SCHEMA\");\n }\n\n entity(entityName: string): this {\n this.entityName = entityName;\n return this;\n }\n\n /**\n * Add a structured field to the schema\n * @param name - Field name (alphanumeric only)\n * @param description - Field description\n * @param dataType - Data type (STRING, NUMBER, BOOLEAN, etc.)\n * @param options - Optional field configuration\n */\n field(\n name: string,\n description: string,\n dataType: DataType,\n options?: FieldOptions,\n ): this {\n this.validateFieldName(name);\n\n const requiresExample =\n SchemaBuilder.TYPES_REQUIRING_EXAMPLE.includes(dataType);\n if (requiresExample && !options?.example) {\n throw new KadoaSdkException(\n `Field \"${name}\" with type ${dataType} requires an example`,\n { code: \"VALIDATION_ERROR\", details: { name, dataType } },\n );\n }\n\n this.fields.push({\n name,\n description,\n dataType,\n fieldType: \"SCHEMA\",\n example: options?.example,\n isKey: options?.isKey,\n });\n return this;\n }\n\n /**\n * Add a classification field to categorize content\n * @param name - Field name (alphanumeric only)\n * @param description - Field description\n * @param categories - Array of category definitions\n */\n classify(name: string, description: string, categories: Category[]): this {\n this.validateFieldName(name);\n\n this.fields.push({\n name,\n description,\n fieldType: \"CLASSIFICATION\",\n categories,\n });\n return this;\n }\n\n /**\n * Add raw page content to extract\n * @param name - Raw content format(s): \"html\", \"markdown\", or \"url\"\n */\n raw(name: RawFormat | RawFormat[]): this {\n const names = Array.isArray(name) ? name : [name];\n\n for (const name of names) {\n const fieldName = `raw${upperFirst(camelCase(name))}`;\n\n if (this.fields.some((field) => field.name === fieldName)) {\n continue;\n }\n\n this.fields.push({\n name: fieldName,\n description: `Raw page content in ${name.toUpperCase()} format`,\n fieldType: \"METADATA\",\n metadataKey: name,\n });\n }\n return this;\n }\n\n build(): { entityName?: string; fields: SchemaField[] } {\n if (this.hasSchemaFields() && !this.entityName) {\n throw new KadoaSdkException(\n \"Entity name is required when schema fields are present\",\n {\n code: \"VALIDATION_ERROR\",\n details: { entityName: this.entityName },\n },\n );\n }\n\n return {\n entityName: this.entityName,\n fields: this.fields,\n };\n }\n\n private validateFieldName(name: string) {\n if (!SchemaBuilder.FIELD_NAME_PATTERN.test(name)) {\n throw new KadoaSdkException(\n `Field name \"${name}\" must be alphanumeric only (no underscores or special characters)`,\n {\n code: \"VALIDATION_ERROR\",\n details: { name, pattern: \"^[A-Za-z0-9]+$\" },\n },\n );\n }\n\n const lowerName = name.toLowerCase();\n if (this.fields.some((f) => f.name.toLowerCase() === lowerName)) {\n throw new KadoaSdkException(`Duplicate field name: \"${name}\"`, {\n code: \"VALIDATION_ERROR\",\n details: { name },\n });\n }\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from './configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n\nexport const BASE_PATH = \"https://api.kadoa.com\".replace(/\\/+$/, \"\");\n\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\nexport interface RequestArgs {\n url: string;\n options: RawAxiosRequestConfig;\n}\n\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath ?? basePath;\n }\n }\n};\n\nexport class RequiredError extends Error {\n constructor(public field: string, msg?: string) {\n super(msg);\n this.name = \"RequiredError\"\n }\n}\n\ninterface ServerMap {\n [key: string]: {\n url: string,\n description: string,\n }[];\n}\n\nexport const operationServerMap: ServerMap = {\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from \"./configuration\";\nimport type { RequestArgs } from \"./base\";\nimport type { AxiosInstance, AxiosResponse } from 'axios';\nimport { RequiredError } from \"./base\";\nimport { URL, URLSearchParams } from 'url';\n\nexport const DUMMY_BASE_URL = 'https://example.com'\n\n/**\n *\n * @throws {RequiredError}\n */\nexport const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {\n if (paramValue === null || paramValue === undefined) {\n throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);\n }\n}\n\nexport const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(keyParamName)\n : await configuration.apiKey;\n object[keyParamName] = localVarApiKeyValue;\n }\n}\n\nexport const setBasicAuthToObject = function (object: any, configuration?: Configuration) {\n if (configuration && (configuration.username || configuration.password)) {\n object[\"auth\"] = { username: configuration.username, password: configuration.password };\n }\n}\n\nexport const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const accessToken = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken()\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + accessToken;\n }\n}\n\nexport const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken(name, scopes)\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + localVarAccessTokenValue;\n }\n}\n\nfunction setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = \"\"): void {\n if (parameter == null) return;\n if (typeof parameter === \"object\") {\n if (Array.isArray(parameter)) {\n (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key));\n }\n else {\n Object.keys(parameter).forEach(currentKey =>\n setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`)\n );\n }\n }\n else {\n if (urlSearchParams.has(key)) {\n urlSearchParams.append(key, parameter);\n }\n else {\n urlSearchParams.set(key, parameter);\n }\n }\n}\n\nexport const setSearchParams = function (url: URL, ...objects: any[]) {\n const searchParams = new URLSearchParams(url.search);\n setFlattenedQueryParams(searchParams, objects);\n url.search = searchParams.toString();\n}\n\nexport const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {\n const nonString = typeof value !== 'string';\n const needsSerialization = nonString && configuration && configuration.isJsonMime\n ? configuration.isJsonMime(requestOptions.headers['Content-Type'])\n : nonString;\n return needsSerialization\n ? JSON.stringify(value !== undefined ? value : {})\n : (value || \"\");\n}\n\nexport const toPathString = function (url: URL) {\n return url.pathname + url.search + url.hash\n}\n\nexport const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {\n return <T = unknown, R = AxiosResponse<T>>(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url};\n return axios.request<T, R>(axiosRequestArgs);\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from 'url';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { AnomaliesByRuleResponse } from '../models';\n// @ts-ignore\nimport type { AnomalyRulePageResponse } from '../models';\n// @ts-ignore\nimport type { BulkApproveRules } from '../models';\n// @ts-ignore\nimport type { BulkApproveRulesResponse } from '../models';\n// @ts-ignore\nimport type { BulkDeleteRules } from '../models';\n// @ts-ignore\nimport type { BulkDeleteRulesResponse } from '../models';\n// @ts-ignore\nimport type { CreateRule } from '../models';\n// @ts-ignore\nimport type { DataValidationReport } from '../models';\n// @ts-ignore\nimport type { DataValidationRequestBody } from '../models';\n// @ts-ignore\nimport type { DeleteAllRulesResponse } from '../models';\n// @ts-ignore\nimport type { DeleteRuleWithReason } from '../models';\n// @ts-ignore\nimport type { DisableRule } from '../models';\n// @ts-ignore\nimport type { GenerateRule } from '../models';\n// @ts-ignore\nimport type { GenerateRuleResponse } from '../models';\n// @ts-ignore\nimport type { GenerateRules } from '../models';\n// @ts-ignore\nimport type { GenerateRulesResponse } from '../models';\n// @ts-ignore\nimport type { RuleCreateResponse } from '../models';\n// @ts-ignore\nimport type { RuleDeleteResponse } from '../models';\n// @ts-ignore\nimport type { RuleDisableResponse } from '../models';\n// @ts-ignore\nimport type { RuleResponse } from '../models';\n// @ts-ignore\nimport type { RuleUpdateResponse } from '../models';\n// @ts-ignore\nimport type { RulesListResponse } from '../models';\n// @ts-ignore\nimport type { ScheduleValidationResponse } from '../models';\n// @ts-ignore\nimport type { UpdateRule } from '../models';\n// @ts-ignore\nimport type { V4DataValidationRulesGet401Response } from '../models';\n// @ts-ignore\nimport type { V4DataValidationRulesGet500Response } from '../models';\n// @ts-ignore\nimport type { V4DataValidationRulesGetIncludeDeletedParameter } from '../models';\n// @ts-ignore\nimport type { V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response } from '../models';\n// @ts-ignore\nimport type { V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest } from '../models';\n// @ts-ignore\nimport type { V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response } from '../models';\n// @ts-ignore\nimport type { V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest } from '../models';\n// @ts-ignore\nimport type { ValidationListResponse } from '../models';\n/**\n * DataValidationApi - axios parameter creator\n */\nexport const DataValidationApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Bulk approve preview rules for a workflow\n * @param {BulkApproveRules} [bulkApproveRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkApprovePost: async (bulkApproveRules?: BulkApproveRules, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/bulk-approve`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(bulkApproveRules, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Bulk delete rules for a workflow\n * @param {BulkDeleteRules} [bulkDeleteRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkDeletePost: async (bulkDeleteRules?: BulkDeleteRules, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/bulk-delete`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(bulkDeleteRules, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Delete all validation rules with optional filtering\n * @param {DeleteRuleWithReason} [deleteRuleWithReason] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsDeleteAllDelete: async (deleteRuleWithReason?: DeleteRuleWithReason, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/delete-all`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(deleteRuleWithReason, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Generate a validation rule\n * @param {GenerateRule} [generateRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGeneratePost: async (generateRule?: GenerateRule, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/generate`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(generateRule, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Generate multiple validation rules\n * @param {GenerateRules} [generateRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGenerateRulesPost: async (generateRules?: GenerateRules, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules/actions/generate-rules`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(generateRules, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * List validation rules with optional filtering\n * @param {string} [groupId] \n * @param {string} [workflowId] \n * @param {V4DataValidationRulesGetStatusEnum} [status] \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {V4DataValidationRulesGetIncludeDeletedParameter} [includeDeleted] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesGet: async (groupId?: string, workflowId?: string, status?: V4DataValidationRulesGetStatusEnum, page?: number, pageSize?: number, includeDeleted?: V4DataValidationRulesGetIncludeDeletedParameter, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (groupId !== undefined) {\n localVarQueryParameter['groupId'] = groupId;\n }\n\n if (workflowId !== undefined) {\n localVarQueryParameter['workflowId'] = workflowId;\n }\n\n if (status !== undefined) {\n localVarQueryParameter['status'] = status;\n }\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['pageSize'] = pageSize;\n }\n\n if (includeDeleted !== undefined) {\n for (const [key, value] of Object.entries(includeDeleted)) {\n localVarQueryParameter[key] = value;\n }\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Create a new validation rule\n * @param {CreateRule} [createRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesPost: async (createRule?: CreateRule, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/data-validation/rules`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createRule, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Delete a validation rule with reason\n * @param {string} ruleId \n * @param {DeleteRuleWithReason} [deleteRuleWithReason] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDelete: async (ruleId: string, deleteRuleWithReason?: DeleteRuleWithReason, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'ruleId' is not null or undefined\n assertParamExists('v4DataValidationRulesRuleIdDelete', 'ruleId', ruleId)\n const localVarPath = `/v4/data-validation/rules/{ruleId}`\n .replace(`{${\"ruleId\"}}`, encodeURIComponent(String(ruleId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(deleteRuleWithReason, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Disable a validation rule with reason\n * @param {string} ruleId \n * @param {DisableRule} [disableRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDisablePost: async (ruleId: string, disableRule?: DisableRule, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'ruleId' is not null or undefined\n assertParamExists('v4DataValidationRulesRuleIdDisablePost', 'ruleId', ruleId)\n const localVarPath = `/v4/data-validation/rules/{ruleId}/disable`\n .replace(`{${\"ruleId\"}}`, encodeURIComponent(String(ruleId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(disableRule, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get a validation rule by ID\n * @param {string} ruleId \n * @param {boolean} [includeDeleted] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdGet: async (ruleId: string, includeDeleted?: boolean, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'ruleId' is not null or undefined\n assertParamExists('v4DataValidationRulesRuleIdGet', 'ruleId', ruleId)\n const localVarPath = `/v4/data-validation/rules/{ruleId}`\n .replace(`{${\"ruleId\"}}`, encodeURIComponent(String(ruleId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (includeDeleted !== undefined) {\n localVarQueryParameter['includeDeleted'] = includeDeleted;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Update a validation rule\n * @param {string} ruleId \n * @param {UpdateRule} [updateRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdPut: async (ruleId: string, updateRule?: UpdateRule, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'ruleId' is not null or undefined\n assertParamExists('v4DataValidationRulesRuleIdPut', 'ruleId', ruleId)\n const localVarPath = `/v4/data-validation/rules/{ruleId}`\n .replace(`{${\"ruleId\"}}`, encodeURIComponent(String(ruleId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(updateRule, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {string} validationId \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesGet: async (validationId: string, page?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'validationId' is not null or undefined\n assertParamExists('v4DataValidationValidationsValidationIdAnomaliesGet', 'validationId', validationId)\n const localVarPath = `/v4/data-validation/validations/{validationId}/anomalies`\n .replace(`{${\"validationId\"}}`, encodeURIComponent(String(validationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['pageSize'] = pageSize;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {string} validationId \n * @param {string} ruleName The rule name (URL encoded)\n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet: async (validationId: string, ruleName: string, page?: number, pageSize?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'validationId' is not null or undefined\n assertParamExists('v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet', 'validationId', validationId)\n // verify required parameter 'ruleName' is not null or undefined\n assertParamExists('v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet', 'ruleName', ruleName)\n const localVarPath = `/v4/data-validation/validations/{validationId}/anomalies/rules/{ruleName}`\n .replace(`{${\"validationId\"}}`, encodeURIComponent(String(validationId)))\n .replace(`{${\"ruleName\"}}`, encodeURIComponent(String(ruleName)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['pageSize'] = pageSize;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get validation details\n * @summary Get validation details\n * @param {string} validationId \n * @param {boolean | null} [includeDryRun] Include dry run validations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdGet: async (validationId: string, includeDryRun?: boolean | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'validationId' is not null or undefined\n assertParamExists('v4DataValidationValidationsValidationIdGet', 'validationId', validationId)\n const localVarPath = `/v4/data-validation/validations/{validationId}`\n .replace(`{${\"validationId\"}}`, encodeURIComponent(String(validationId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (includeDryRun !== undefined) {\n localVarQueryParameter['includeDryRun'] = includeDryRun;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {string} workflowId The ID of the workflow to validate\n * @param {string} jobId The ID of the job to validate\n * @param {DataValidationRequestBody} [dataValidationRequestBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowIdJobsJobIdValidatePost: async (workflowId: string, jobId: string, dataValidationRequestBody?: DataValidationRequestBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowIdJobsJobIdValidatePost', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowIdJobsJobIdValidatePost', 'jobId', jobId)\n const localVarPath = `/v4/data-validation/{workflowId}/jobs/{jobId}/validate`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(dataValidationRequestBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {string} workflowId The ID of the workflow to validate\n * @param {string} jobId The ID of the job to validate\n * @param {DataValidationRequestBody} [dataValidationRequestBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost: async (workflowId: string, jobId: string, dataValidationRequestBody?: DataValidationRequestBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost', 'jobId', jobId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/jobs/{jobId}/validate`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(dataValidationRequestBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {string} workflowId \n * @param {string} jobId \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {boolean | null} [includeDryRun] Include dry run validations in results\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet: async (workflowId: string, jobId: string, page?: number, pageSize?: number, includeDryRun?: boolean | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet', 'jobId', jobId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/jobs/{jobId}/validations`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (pageSize !== undefined) {\n localVarQueryParameter['pageSize'] = pageSize;\n }\n\n if (includeDryRun !== undefined) {\n localVarQueryParameter['includeDryRun'] = includeDryRun;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {string} workflowId \n * @param {string} jobId \n * @param {boolean | null} [includeDryRun] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet: async (workflowId: string, jobId: string, includeDryRun?: boolean | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet', 'jobId', jobId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/jobs/{jobId}/validations/latest`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (includeDryRun !== undefined) {\n localVarQueryParameter['includeDryRun'] = includeDryRun;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {string} workflowId The workflow ID to get validation configuration for\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigGet: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdValidationConfigGet', 'workflowId', workflowId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/validation/config`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {string} workflowId The workflow ID to update validation configuration for\n * @param {V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} [v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigPut: async (workflowId: string, v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest?: V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdValidationConfigPut', 'workflowId', workflowId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/validation/config`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {string} workflowId The workflow ID to update validation settings for\n * @param {V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} [v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationTogglePut: async (workflowId: string, v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest?: V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdValidationTogglePut', 'workflowId', workflowId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/validation/toggle`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {string} workflowId \n * @param {boolean | null} [includeDryRun] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationsLatestGet: async (workflowId: string, includeDryRun?: boolean | null, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4DataValidationWorkflowsWorkflowIdValidationsLatestGet', 'workflowId', workflowId)\n const localVarPath = `/v4/data-validation/workflows/{workflowId}/validations/latest`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (includeDryRun !== undefined) {\n localVarQueryParameter['includeDryRun'] = includeDryRun;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * DataValidationApi - functional programming interface\n */\nexport const DataValidationApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = DataValidationApiAxiosParamCreator(configuration)\n return {\n /**\n * Bulk approve preview rules for a workflow\n * @param {BulkApproveRules} [bulkApproveRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsBulkApprovePost(bulkApproveRules?: BulkApproveRules, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BulkApproveRulesResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsBulkApprovePost(bulkApproveRules, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsBulkApprovePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Bulk delete rules for a workflow\n * @param {BulkDeleteRules} [bulkDeleteRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsBulkDeletePost(bulkDeleteRules?: BulkDeleteRules, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BulkDeleteRulesResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsBulkDeletePost(bulkDeleteRules, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsBulkDeletePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Delete all validation rules with optional filtering\n * @param {DeleteRuleWithReason} [deleteRuleWithReason] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsDeleteAllDelete(deleteRuleWithReason?: DeleteRuleWithReason, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteAllRulesResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsDeleteAllDelete(deleteRuleWithReason, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsDeleteAllDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Generate a validation rule\n * @param {GenerateRule} [generateRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsGeneratePost(generateRule?: GenerateRule, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GenerateRuleResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsGeneratePost(generateRule, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsGeneratePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Generate multiple validation rules\n * @param {GenerateRules} [generateRules] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesActionsGenerateRulesPost(generateRules?: GenerateRules, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<GenerateRulesResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesActionsGenerateRulesPost(generateRules, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesActionsGenerateRulesPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * List validation rules with optional filtering\n * @param {string} [groupId] \n * @param {string} [workflowId] \n * @param {V4DataValidationRulesGetStatusEnum} [status] \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {V4DataValidationRulesGetIncludeDeletedParameter} [includeDeleted] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesGet(groupId?: string, workflowId?: string, status?: V4DataValidationRulesGetStatusEnum, page?: number, pageSize?: number, includeDeleted?: V4DataValidationRulesGetIncludeDeletedParameter, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RulesListResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesGet(groupId, workflowId, status, page, pageSize, includeDeleted, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Create a new validation rule\n * @param {CreateRule} [createRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesPost(createRule?: CreateRule, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleCreateResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesPost(createRule, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Delete a validation rule with reason\n * @param {string} ruleId \n * @param {DeleteRuleWithReason} [deleteRuleWithReason] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesRuleIdDelete(ruleId: string, deleteRuleWithReason?: DeleteRuleWithReason, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleDeleteResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesRuleIdDelete(ruleId, deleteRuleWithReason, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesRuleIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Disable a validation rule with reason\n * @param {string} ruleId \n * @param {DisableRule} [disableRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesRuleIdDisablePost(ruleId: string, disableRule?: DisableRule, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleDisableResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesRuleIdDisablePost(ruleId, disableRule, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesRuleIdDisablePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get a validation rule by ID\n * @param {string} ruleId \n * @param {boolean} [includeDeleted] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesRuleIdGet(ruleId: string, includeDeleted?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesRuleIdGet(ruleId, includeDeleted, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesRuleIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Update a validation rule\n * @param {string} ruleId \n * @param {UpdateRule} [updateRule] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationRulesRuleIdPut(ruleId: string, updateRule?: UpdateRule, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RuleUpdateResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationRulesRuleIdPut(ruleId, updateRule, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationRulesRuleIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {string} validationId \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationValidationsValidationIdAnomaliesGet(validationId: string, page?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AnomaliesByRuleResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationValidationsValidationIdAnomaliesGet(validationId, page, pageSize, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationValidationsValidationIdAnomaliesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {string} validationId \n * @param {string} ruleName The rule name (URL encoded)\n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(validationId: string, ruleName: string, page?: number, pageSize?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<AnomalyRulePageResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(validationId, ruleName, page, pageSize, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get validation details\n * @summary Get validation details\n * @param {string} validationId \n * @param {boolean | null} [includeDryRun] Include dry run validations\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationValidationsValidationIdGet(validationId: string, includeDryRun?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DataValidationReport>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationValidationsValidationIdGet(validationId, includeDryRun, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationValidationsValidationIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {string} workflowId The ID of the workflow to validate\n * @param {string} jobId The ID of the job to validate\n * @param {DataValidationRequestBody} [dataValidationRequestBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowIdJobsJobIdValidatePost(workflowId: string, jobId: string, dataValidationRequestBody?: DataValidationRequestBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ScheduleValidationResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowIdJobsJobIdValidatePost(workflowId, jobId, dataValidationRequestBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowIdJobsJobIdValidatePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {string} workflowId The ID of the workflow to validate\n * @param {string} jobId The ID of the job to validate\n * @param {DataValidationRequestBody} [dataValidationRequestBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(workflowId: string, jobId: string, dataValidationRequestBody?: DataValidationRequestBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ScheduleValidationResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(workflowId, jobId, dataValidationRequestBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {string} workflowId \n * @param {string} jobId \n * @param {number} [page] \n * @param {number} [pageSize] \n * @param {boolean | null} [includeDryRun] Include dry run validations in results\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(workflowId: string, jobId: string, page?: number, pageSize?: number, includeDryRun?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ValidationListResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(workflowId, jobId, page, pageSize, includeDryRun, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {string} workflowId \n * @param {string} jobId \n * @param {boolean | null} [includeDryRun] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(workflowId: string, jobId: string, includeDryRun?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DataValidationReport>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(workflowId, jobId, includeDryRun, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {string} workflowId The workflow ID to get validation configuration for\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdValidationConfigGet(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdValidationConfigGet(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdValidationConfigGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {string} workflowId The workflow ID to update validation configuration for\n * @param {V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} [v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdValidationConfigPut(workflowId: string, v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest?: V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdValidationConfigPut(workflowId, v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdValidationConfigPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {string} workflowId The workflow ID to update validation settings for\n * @param {V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} [v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdValidationTogglePut(workflowId: string, v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest?: V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdValidationTogglePut(workflowId, v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdValidationTogglePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {string} workflowId \n * @param {boolean | null} [includeDryRun] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(workflowId: string, includeDryRun?: boolean | null, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DataValidationReport>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(workflowId, includeDryRun, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['DataValidationApi.v4DataValidationWorkflowsWorkflowIdValidationsLatestGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * DataValidationApi - factory interface\n */\nexport const DataValidationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = DataValidationApiFp(configuration)\n return {\n /**\n * Bulk approve preview rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkApprovePost(requestParameters: DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<BulkApproveRulesResponse> {\n return localVarFp.v4DataValidationRulesActionsBulkApprovePost(requestParameters.bulkApproveRules, options).then((request) => request(axios, basePath));\n },\n /**\n * Bulk delete rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkDeletePost(requestParameters: DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<BulkDeleteRulesResponse> {\n return localVarFp.v4DataValidationRulesActionsBulkDeletePost(requestParameters.bulkDeleteRules, options).then((request) => request(axios, basePath));\n },\n /**\n * Delete all validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsDeleteAllDelete(requestParameters: DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<DeleteAllRulesResponse> {\n return localVarFp.v4DataValidationRulesActionsDeleteAllDelete(requestParameters.deleteRuleWithReason, options).then((request) => request(axios, basePath));\n },\n /**\n * Generate a validation rule\n * @param {DataValidationApiV4DataValidationRulesActionsGeneratePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGeneratePost(requestParameters: DataValidationApiV4DataValidationRulesActionsGeneratePostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<GenerateRuleResponse> {\n return localVarFp.v4DataValidationRulesActionsGeneratePost(requestParameters.generateRule, options).then((request) => request(axios, basePath));\n },\n /**\n * Generate multiple validation rules\n * @param {DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGenerateRulesPost(requestParameters: DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<GenerateRulesResponse> {\n return localVarFp.v4DataValidationRulesActionsGenerateRulesPost(requestParameters.generateRules, options).then((request) => request(axios, basePath));\n },\n /**\n * List validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesGet(requestParameters: DataValidationApiV4DataValidationRulesGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<RulesListResponse> {\n return localVarFp.v4DataValidationRulesGet(requestParameters.groupId, requestParameters.workflowId, requestParameters.status, requestParameters.page, requestParameters.pageSize, requestParameters.includeDeleted, options).then((request) => request(axios, basePath));\n },\n /**\n * Create a new validation rule\n * @param {DataValidationApiV4DataValidationRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesPost(requestParameters: DataValidationApiV4DataValidationRulesPostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<RuleCreateResponse> {\n return localVarFp.v4DataValidationRulesPost(requestParameters.createRule, options).then((request) => request(axios, basePath));\n },\n /**\n * Delete a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDelete(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleDeleteResponse> {\n return localVarFp.v4DataValidationRulesRuleIdDelete(requestParameters.ruleId, requestParameters.deleteRuleWithReason, options).then((request) => request(axios, basePath));\n },\n /**\n * Disable a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDisablePost(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleDisableResponse> {\n return localVarFp.v4DataValidationRulesRuleIdDisablePost(requestParameters.ruleId, requestParameters.disableRule, options).then((request) => request(axios, basePath));\n },\n /**\n * Get a validation rule by ID\n * @param {DataValidationApiV4DataValidationRulesRuleIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdGet(requestParameters: DataValidationApiV4DataValidationRulesRuleIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleResponse> {\n return localVarFp.v4DataValidationRulesRuleIdGet(requestParameters.ruleId, requestParameters.includeDeleted, options).then((request) => request(axios, basePath));\n },\n /**\n * Update a validation rule\n * @param {DataValidationApiV4DataValidationRulesRuleIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdPut(requestParameters: DataValidationApiV4DataValidationRulesRuleIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleUpdateResponse> {\n return localVarFp.v4DataValidationRulesRuleIdPut(requestParameters.ruleId, requestParameters.updateRule, options).then((request) => request(axios, basePath));\n },\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnomaliesByRuleResponse> {\n return localVarFp.v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters.validationId, requestParameters.page, requestParameters.pageSize, options).then((request) => request(axios, basePath));\n },\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnomalyRulePageResponse> {\n return localVarFp.v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters.validationId, requestParameters.ruleName, requestParameters.page, requestParameters.pageSize, options).then((request) => request(axios, basePath));\n },\n /**\n * Get validation details\n * @summary Get validation details\n * @param {DataValidationApiV4DataValidationValidationsValidationIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport> {\n return localVarFp.v4DataValidationValidationsValidationIdGet(requestParameters.validationId, requestParameters.includeDryRun, options).then((request) => request(axios, basePath));\n },\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<ScheduleValidationResponse> {\n return localVarFp.v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters.workflowId, requestParameters.jobId, requestParameters.dataValidationRequestBody, options).then((request) => request(axios, basePath));\n },\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<ScheduleValidationResponse> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters.workflowId, requestParameters.jobId, requestParameters.dataValidationRequestBody, options).then((request) => request(axios, basePath));\n },\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<ValidationListResponse> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters.workflowId, requestParameters.jobId, requestParameters.page, requestParameters.pageSize, requestParameters.includeDryRun, options).then((request) => request(axios, basePath));\n },\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters.workflowId, requestParameters.jobId, requestParameters.includeDryRun, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters.workflowId, requestParameters.v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters.workflowId, requestParameters.v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport> {\n return localVarFp.v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters.workflowId, requestParameters.includeDryRun, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * DataValidationApi - interface\n */\nexport interface DataValidationApiInterface {\n /**\n * Bulk approve preview rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkApprovePost(requestParameters?: DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkApproveRulesResponse>;\n\n /**\n * Bulk delete rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsBulkDeletePost(requestParameters?: DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<BulkDeleteRulesResponse>;\n\n /**\n * Delete all validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsDeleteAllDelete(requestParameters?: DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<DeleteAllRulesResponse>;\n\n /**\n * Generate a validation rule\n * @param {DataValidationApiV4DataValidationRulesActionsGeneratePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGeneratePost(requestParameters?: DataValidationApiV4DataValidationRulesActionsGeneratePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<GenerateRuleResponse>;\n\n /**\n * Generate multiple validation rules\n * @param {DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesActionsGenerateRulesPost(requestParameters?: DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<GenerateRulesResponse>;\n\n /**\n * List validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesGet(requestParameters?: DataValidationApiV4DataValidationRulesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<RulesListResponse>;\n\n /**\n * Create a new validation rule\n * @param {DataValidationApiV4DataValidationRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesPost(requestParameters?: DataValidationApiV4DataValidationRulesPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleCreateResponse>;\n\n /**\n * Delete a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDelete(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleDeleteResponse>;\n\n /**\n * Disable a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdDisablePost(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleDisableResponse>;\n\n /**\n * Get a validation rule by ID\n * @param {DataValidationApiV4DataValidationRulesRuleIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdGet(requestParameters: DataValidationApiV4DataValidationRulesRuleIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleResponse>;\n\n /**\n * Update a validation rule\n * @param {DataValidationApiV4DataValidationRulesRuleIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationRulesRuleIdPut(requestParameters: DataValidationApiV4DataValidationRulesRuleIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<RuleUpdateResponse>;\n\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnomaliesByRuleResponse>;\n\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<AnomalyRulePageResponse>;\n\n /**\n * Get validation details\n * @summary Get validation details\n * @param {DataValidationApiV4DataValidationValidationsValidationIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationValidationsValidationIdGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport>;\n\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<ScheduleValidationResponse>;\n\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig): AxiosPromise<ScheduleValidationResponse>;\n\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<ValidationListResponse>;\n\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport>;\n\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response>;\n\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationConfigGet200Response>;\n\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4DataValidationWorkflowsWorkflowIdValidationTogglePut200Response>;\n\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<DataValidationReport>;\n\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsBulkApprovePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest {\n /**\n * Body\n */\n readonly bulkApproveRules?: BulkApproveRules\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsBulkDeletePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest {\n /**\n * Body\n */\n readonly bulkDeleteRules?: BulkDeleteRules\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsDeleteAllDelete operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest {\n /**\n * Body\n */\n readonly deleteRuleWithReason?: DeleteRuleWithReason\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsGeneratePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsGeneratePostRequest {\n /**\n * Body\n */\n readonly generateRule?: GenerateRule\n}\n\n/**\n * Request parameters for v4DataValidationRulesActionsGenerateRulesPost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest {\n /**\n * Body\n */\n readonly generateRules?: GenerateRules\n}\n\n/**\n * Request parameters for v4DataValidationRulesGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesGetRequest {\n readonly groupId?: string\n\n readonly workflowId?: string\n\n readonly status?: V4DataValidationRulesGetStatusEnum\n\n readonly page?: number\n\n readonly pageSize?: number\n\n readonly includeDeleted?: V4DataValidationRulesGetIncludeDeletedParameter\n}\n\n/**\n * Request parameters for v4DataValidationRulesPost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesPostRequest {\n /**\n * Body\n */\n readonly createRule?: CreateRule\n}\n\n/**\n * Request parameters for v4DataValidationRulesRuleIdDelete operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesRuleIdDeleteRequest {\n readonly ruleId: string\n\n /**\n * Body\n */\n readonly deleteRuleWithReason?: DeleteRuleWithReason\n}\n\n/**\n * Request parameters for v4DataValidationRulesRuleIdDisablePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest {\n readonly ruleId: string\n\n /**\n * Body\n */\n readonly disableRule?: DisableRule\n}\n\n/**\n * Request parameters for v4DataValidationRulesRuleIdGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesRuleIdGetRequest {\n readonly ruleId: string\n\n readonly includeDeleted?: boolean\n}\n\n/**\n * Request parameters for v4DataValidationRulesRuleIdPut operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationRulesRuleIdPutRequest {\n readonly ruleId: string\n\n /**\n * Body\n */\n readonly updateRule?: UpdateRule\n}\n\n/**\n * Request parameters for v4DataValidationValidationsValidationIdAnomaliesGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest {\n readonly validationId: string\n\n readonly page?: number\n\n readonly pageSize?: number\n}\n\n/**\n * Request parameters for v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest {\n readonly validationId: string\n\n /**\n * The rule name (URL encoded)\n */\n readonly ruleName: string\n\n readonly page?: number\n\n readonly pageSize?: number\n}\n\n/**\n * Request parameters for v4DataValidationValidationsValidationIdGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationValidationsValidationIdGetRequest {\n readonly validationId: string\n\n /**\n * Include dry run validations\n */\n readonly includeDryRun?: boolean | null\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowIdJobsJobIdValidatePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest {\n /**\n * The ID of the workflow to validate\n */\n readonly workflowId: string\n\n /**\n * The ID of the job to validate\n */\n readonly jobId: string\n\n /**\n * Body\n */\n readonly dataValidationRequestBody?: DataValidationRequestBody\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest {\n /**\n * The ID of the workflow to validate\n */\n readonly workflowId: string\n\n /**\n * The ID of the job to validate\n */\n readonly jobId: string\n\n /**\n * Body\n */\n readonly dataValidationRequestBody?: DataValidationRequestBody\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest {\n readonly workflowId: string\n\n readonly jobId: string\n\n readonly page?: number\n\n readonly pageSize?: number\n\n /**\n * Include dry run validations in results\n */\n readonly includeDryRun?: boolean | null\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest {\n readonly workflowId: string\n\n readonly jobId: string\n\n readonly includeDryRun?: boolean | null\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdValidationConfigGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest {\n /**\n * The workflow ID to get validation configuration for\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdValidationConfigPut operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest {\n /**\n * The workflow ID to update validation configuration for\n */\n readonly workflowId: string\n\n /**\n * Body\n */\n readonly v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest?: V4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdValidationTogglePut operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest {\n /**\n * The workflow ID to update validation settings for\n */\n readonly workflowId: string\n\n /**\n * Body\n */\n readonly v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest?: V4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest\n}\n\n/**\n * Request parameters for v4DataValidationWorkflowsWorkflowIdValidationsLatestGet operation in DataValidationApi.\n */\nexport interface DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest {\n readonly workflowId: string\n\n readonly includeDryRun?: boolean | null\n}\n\n/**\n * DataValidationApi - object-oriented interface\n */\nexport class DataValidationApi extends BaseAPI implements DataValidationApiInterface {\n /**\n * Bulk approve preview rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsBulkApprovePost(requestParameters: DataValidationApiV4DataValidationRulesActionsBulkApprovePostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsBulkApprovePost(requestParameters.bulkApproveRules, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Bulk delete rules for a workflow\n * @param {DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsBulkDeletePost(requestParameters: DataValidationApiV4DataValidationRulesActionsBulkDeletePostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsBulkDeletePost(requestParameters.bulkDeleteRules, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Delete all validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsDeleteAllDelete(requestParameters: DataValidationApiV4DataValidationRulesActionsDeleteAllDeleteRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsDeleteAllDelete(requestParameters.deleteRuleWithReason, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Generate a validation rule\n * @param {DataValidationApiV4DataValidationRulesActionsGeneratePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsGeneratePost(requestParameters: DataValidationApiV4DataValidationRulesActionsGeneratePostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsGeneratePost(requestParameters.generateRule, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Generate multiple validation rules\n * @param {DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesActionsGenerateRulesPost(requestParameters: DataValidationApiV4DataValidationRulesActionsGenerateRulesPostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesActionsGenerateRulesPost(requestParameters.generateRules, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * List validation rules with optional filtering\n * @param {DataValidationApiV4DataValidationRulesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesGet(requestParameters: DataValidationApiV4DataValidationRulesGetRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesGet(requestParameters.groupId, requestParameters.workflowId, requestParameters.status, requestParameters.page, requestParameters.pageSize, requestParameters.includeDeleted, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Create a new validation rule\n * @param {DataValidationApiV4DataValidationRulesPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesPost(requestParameters: DataValidationApiV4DataValidationRulesPostRequest = {}, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesPost(requestParameters.createRule, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Delete a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesRuleIdDelete(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesRuleIdDelete(requestParameters.ruleId, requestParameters.deleteRuleWithReason, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Disable a validation rule with reason\n * @param {DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesRuleIdDisablePost(requestParameters: DataValidationApiV4DataValidationRulesRuleIdDisablePostRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesRuleIdDisablePost(requestParameters.ruleId, requestParameters.disableRule, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get a validation rule by ID\n * @param {DataValidationApiV4DataValidationRulesRuleIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesRuleIdGet(requestParameters: DataValidationApiV4DataValidationRulesRuleIdGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesRuleIdGet(requestParameters.ruleId, requestParameters.includeDeleted, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Update a validation rule\n * @param {DataValidationApiV4DataValidationRulesRuleIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationRulesRuleIdPut(requestParameters: DataValidationApiV4DataValidationRulesRuleIdPutRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationRulesRuleIdPut(requestParameters.ruleId, requestParameters.updateRule, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get all anomalies for a validation\n * @summary Get validation anomalies\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationValidationsValidationIdAnomaliesGet(requestParameters.validationId, requestParameters.page, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get anomalies for a specific rule\n * @summary Get validation anomalies by rule\n * @param {DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(requestParameters.validationId, requestParameters.ruleName, requestParameters.page, requestParameters.pageSize, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get validation details\n * @summary Get validation details\n * @param {DataValidationApiV4DataValidationValidationsValidationIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationValidationsValidationIdGet(requestParameters: DataValidationApiV4DataValidationValidationsValidationIdGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationValidationsValidationIdGet(requestParameters.validationId, requestParameters.includeDryRun, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Schedule a data validation job (alternative path)\n * @summary Schedule a data validation job (alternative path)\n * @param {DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowIdJobsJobIdValidatePost(requestParameters.workflowId, requestParameters.jobId, requestParameters.dataValidationRequestBody, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Schedule a data validation job\n * @summary Schedule a data validation job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePostRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(requestParameters.workflowId, requestParameters.jobId, requestParameters.dataValidationRequestBody, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * List all validations for a job\n * @summary List all validations for a job\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(requestParameters.workflowId, requestParameters.jobId, requestParameters.page, requestParameters.pageSize, requestParameters.includeDryRun, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get latest validation for a job\n * @summary Get latest validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(requestParameters.workflowId, requestParameters.jobId, requestParameters.includeDryRun, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieves the current data validation configuration for a specific workflow\n * @summary Get data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdValidationConfigGet(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Updates the complete data validation configuration including alerting settings\n * @summary Update data validation configuration for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdValidationConfigPut(requestParameters.workflowId, requestParameters.v4DataValidationWorkflowsWorkflowIdValidationConfigPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Enables or disables data validation for a specific workflow\n * @summary Toggle data validation for a workflow\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdValidationTogglePut(requestParameters.workflowId, requestParameters.v4DataValidationWorkflowsWorkflowIdValidationTogglePutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Get latest validation for the most recent job of a workflow\n * @summary Get latest workflow validation\n * @param {DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters: DataValidationApiV4DataValidationWorkflowsWorkflowIdValidationsLatestGetRequest, options?: RawAxiosRequestConfig) {\n return DataValidationApiFp(this.configuration).v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(requestParameters.workflowId, requestParameters.includeDryRun, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\nexport const V4DataValidationRulesGetStatusEnum = {\n Preview: 'preview',\n Enabled: 'enabled',\n Disabled: 'disabled'\n} as const;\nexport type V4DataValidationRulesGetStatusEnum = typeof V4DataValidationRulesGetStatusEnum[keyof typeof V4DataValidationRulesGetStatusEnum];\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from 'url';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { V5NotificationsChannelsChannelIdDelete200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsChannelsGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsChannelsPost201Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsChannelsPostRequest } from '../models';\n// @ts-ignore\nimport type { V5NotificationsEventTypesEventTypeGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsEventTypesGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsLogsGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsGet200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsPost201Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsPostRequest } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsSettingsIdDelete200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsSettingsSettingsIdPutRequest } from '../models';\n// @ts-ignore\nimport type { V5NotificationsTestPost200Response } from '../models';\n// @ts-ignore\nimport type { V5NotificationsTestPostRequest } from '../models';\n/**\n * NotificationsApi - axios parameter creator\n */\nexport const NotificationsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Delete a notification channel\n * @param {string} channelId Channel ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdDelete: async (channelId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'channelId' is not null or undefined\n assertParamExists('v5NotificationsChannelsChannelIdDelete', 'channelId', channelId)\n const localVarPath = `/v5/notifications/channels/{channelId}`\n .replace(`{${\"channelId\"}}`, encodeURIComponent(String(channelId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {string} channelId Channel ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdGet: async (channelId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'channelId' is not null or undefined\n assertParamExists('v5NotificationsChannelsChannelIdGet', 'channelId', channelId)\n const localVarPath = `/v5/notifications/channels/{channelId}`\n .replace(`{${\"channelId\"}}`, encodeURIComponent(String(channelId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Update a notification channel\n * @param {string} channelId Channel ID\n * @param {V5NotificationsChannelsPostRequest} v5NotificationsChannelsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdPut: async (channelId: string, v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'channelId' is not null or undefined\n assertParamExists('v5NotificationsChannelsChannelIdPut', 'channelId', channelId)\n // verify required parameter 'v5NotificationsChannelsPostRequest' is not null or undefined\n assertParamExists('v5NotificationsChannelsChannelIdPut', 'v5NotificationsChannelsPostRequest', v5NotificationsChannelsPostRequest)\n const localVarPath = `/v5/notifications/channels/{channelId}`\n .replace(`{${\"channelId\"}}`, encodeURIComponent(String(channelId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsChannelsPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve all notification channels\n * @param {string} [workflowId] Workflow ID (optional, if provided returns channels linked to this workflow)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsGet: async (workflowId?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/notifications/channels`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (workflowId !== undefined) {\n localVarQueryParameter['workflowId'] = workflowId;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Create a new notification channel\n * @param {V5NotificationsChannelsPostRequest} v5NotificationsChannelsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsPost: async (v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'v5NotificationsChannelsPostRequest' is not null or undefined\n assertParamExists('v5NotificationsChannelsPost', 'v5NotificationsChannelsPostRequest', v5NotificationsChannelsPostRequest)\n const localVarPath = `/v5/notifications/channels`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsChannelsPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {string} eventType Event type identifier\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesEventTypeGet: async (eventType: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'eventType' is not null or undefined\n assertParamExists('v5NotificationsEventTypesEventTypeGet', 'eventType', eventType)\n const localVarPath = `/v5/notifications/event-types/{eventType}`\n .replace(`{${\"eventType\"}}`, encodeURIComponent(String(eventType)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesGet: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/notifications/event-types`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve notification event logs\n * @param {string} [workflowId] Filter by workflow ID (optional)\n * @param {string} [eventType] Filter by event type (optional)\n * @param {string} [startDate] Filter events from this date (optional)\n * @param {string} [endDate] Filter events until this date (optional)\n * @param {number} [limit] Number of events to return (default 50, max 100)\n * @param {number} [offset] Number of events to skip for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsLogsGet: async (workflowId?: string, eventType?: string, startDate?: string, endDate?: string, limit?: number, offset?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/notifications/logs`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (workflowId !== undefined) {\n localVarQueryParameter['workflowId'] = workflowId;\n }\n\n if (eventType !== undefined) {\n localVarQueryParameter['eventType'] = eventType;\n }\n\n if (startDate !== undefined) {\n localVarQueryParameter['startDate'] = (startDate as any instanceof Date) ?\n (startDate as any).toISOString() :\n startDate;\n }\n\n if (endDate !== undefined) {\n localVarQueryParameter['endDate'] = (endDate as any instanceof Date) ?\n (endDate as any).toISOString() :\n endDate;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (offset !== undefined) {\n localVarQueryParameter['offset'] = offset;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve all notification settings\n * @param {string} [workflowId] Workflow ID(s) - can be single ID, comma-separated IDs, or \\'null\\' for workspace-level settings\n * @param {V5NotificationsSettingsGetEventTypeEnum} [eventType] Event type filter (optional)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsGet: async (workflowId?: string, eventType?: V5NotificationsSettingsGetEventTypeEnum, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/notifications/settings`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (workflowId !== undefined) {\n localVarQueryParameter['workflowId'] = workflowId;\n }\n\n if (eventType !== undefined) {\n localVarQueryParameter['eventType'] = eventType;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Create a new notification settings\n * @param {V5NotificationsSettingsPostRequest} v5NotificationsSettingsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsPost: async (v5NotificationsSettingsPostRequest: V5NotificationsSettingsPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'v5NotificationsSettingsPostRequest' is not null or undefined\n assertParamExists('v5NotificationsSettingsPost', 'v5NotificationsSettingsPostRequest', v5NotificationsSettingsPostRequest)\n const localVarPath = `/v5/notifications/settings`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsSettingsPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Delete a notification settings\n * @param {string} settingsId Settings ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdDelete: async (settingsId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'settingsId' is not null or undefined\n assertParamExists('v5NotificationsSettingsSettingsIdDelete', 'settingsId', settingsId)\n const localVarPath = `/v5/notifications/settings/{settingsId}`\n .replace(`{${\"settingsId\"}}`, encodeURIComponent(String(settingsId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {string} settingsId Settings ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdGet: async (settingsId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'settingsId' is not null or undefined\n assertParamExists('v5NotificationsSettingsSettingsIdGet', 'settingsId', settingsId)\n const localVarPath = `/v5/notifications/settings/{settingsId}`\n .replace(`{${\"settingsId\"}}`, encodeURIComponent(String(settingsId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Update a notification settings\n * @param {string} settingsId Settings ID\n * @param {V5NotificationsSettingsSettingsIdPutRequest} v5NotificationsSettingsSettingsIdPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdPut: async (settingsId: string, v5NotificationsSettingsSettingsIdPutRequest: V5NotificationsSettingsSettingsIdPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'settingsId' is not null or undefined\n assertParamExists('v5NotificationsSettingsSettingsIdPut', 'settingsId', settingsId)\n // verify required parameter 'v5NotificationsSettingsSettingsIdPutRequest' is not null or undefined\n assertParamExists('v5NotificationsSettingsSettingsIdPut', 'v5NotificationsSettingsSettingsIdPutRequest', v5NotificationsSettingsSettingsIdPutRequest)\n const localVarPath = `/v5/notifications/settings/{settingsId}`\n .replace(`{${\"settingsId\"}}`, encodeURIComponent(String(settingsId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsSettingsSettingsIdPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {V5NotificationsTestPostRequest} v5NotificationsTestPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsTestPost: async (v5NotificationsTestPostRequest: V5NotificationsTestPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'v5NotificationsTestPostRequest' is not null or undefined\n assertParamExists('v5NotificationsTestPost', 'v5NotificationsTestPostRequest', v5NotificationsTestPostRequest)\n const localVarPath = `/v5/notifications/test`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5NotificationsTestPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * NotificationsApi - functional programming interface\n */\nexport const NotificationsApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = NotificationsApiAxiosParamCreator(configuration)\n return {\n /**\n * \n * @summary Delete a notification channel\n * @param {string} channelId Channel ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsChannelIdDelete(channelId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsChannelIdDelete200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsChannelIdDelete(channelId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsChannelIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {string} channelId Channel ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsChannelIdGet(channelId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsChannelIdGet(channelId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsChannelIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Update a notification channel\n * @param {string} channelId Channel ID\n * @param {V5NotificationsChannelsPostRequest} v5NotificationsChannelsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsChannelIdPut(channelId: string, v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsChannelIdPut(channelId, v5NotificationsChannelsPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsChannelIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve all notification channels\n * @param {string} [workflowId] Workflow ID (optional, if provided returns channels linked to this workflow)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsGet(workflowId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsGet(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Create a new notification channel\n * @param {V5NotificationsChannelsPostRequest} v5NotificationsChannelsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsChannelsPost(v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsChannelsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsChannelsPost(v5NotificationsChannelsPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsChannelsPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {string} eventType Event type identifier\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsEventTypesEventTypeGet(eventType: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsEventTypesEventTypeGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsEventTypesEventTypeGet(eventType, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsEventTypesEventTypeGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsEventTypesGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsEventTypesGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsEventTypesGet(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsEventTypesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve notification event logs\n * @param {string} [workflowId] Filter by workflow ID (optional)\n * @param {string} [eventType] Filter by event type (optional)\n * @param {string} [startDate] Filter events from this date (optional)\n * @param {string} [endDate] Filter events until this date (optional)\n * @param {number} [limit] Number of events to return (default 50, max 100)\n * @param {number} [offset] Number of events to skip for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsLogsGet(workflowId?: string, eventType?: string, startDate?: string, endDate?: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsLogsGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsLogsGet(workflowId, eventType, startDate, endDate, limit, offset, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsLogsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve all notification settings\n * @param {string} [workflowId] Workflow ID(s) - can be single ID, comma-separated IDs, or \\'null\\' for workspace-level settings\n * @param {V5NotificationsSettingsGetEventTypeEnum} [eventType] Event type filter (optional)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsGet(workflowId?: string, eventType?: V5NotificationsSettingsGetEventTypeEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsGet(workflowId, eventType, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Create a new notification settings\n * @param {V5NotificationsSettingsPostRequest} v5NotificationsSettingsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsPost(v5NotificationsSettingsPostRequest: V5NotificationsSettingsPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsPost(v5NotificationsSettingsPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Delete a notification settings\n * @param {string} settingsId Settings ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsSettingsIdDelete(settingsId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsSettingsIdDelete200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsSettingsIdDelete(settingsId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsSettingsIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {string} settingsId Settings ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsSettingsIdGet(settingsId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsSettingsIdGet(settingsId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsSettingsIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Update a notification settings\n * @param {string} settingsId Settings ID\n * @param {V5NotificationsSettingsSettingsIdPutRequest} v5NotificationsSettingsSettingsIdPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsSettingsSettingsIdPut(settingsId: string, v5NotificationsSettingsSettingsIdPutRequest: V5NotificationsSettingsSettingsIdPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsSettingsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsSettingsSettingsIdPut(settingsId, v5NotificationsSettingsSettingsIdPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsSettingsSettingsIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {V5NotificationsTestPostRequest} v5NotificationsTestPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5NotificationsTestPost(v5NotificationsTestPostRequest: V5NotificationsTestPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5NotificationsTestPost200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5NotificationsTestPost(v5NotificationsTestPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['NotificationsApi.v5NotificationsTestPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * NotificationsApi - factory interface\n */\nexport const NotificationsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = NotificationsApiFp(configuration)\n return {\n /**\n * \n * @summary Delete a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdDelete(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsChannelIdDelete200Response> {\n return localVarFp.v5NotificationsChannelsChannelIdDelete(requestParameters.channelId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdGet(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response> {\n return localVarFp.v5NotificationsChannelsChannelIdGet(requestParameters.channelId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Update a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdPut(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response> {\n return localVarFp.v5NotificationsChannelsChannelIdPut(requestParameters.channelId, requestParameters.v5NotificationsChannelsPostRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve all notification channels\n * @param {NotificationsApiV5NotificationsChannelsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsGet(requestParameters: NotificationsApiV5NotificationsChannelsGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsGet200Response> {\n return localVarFp.v5NotificationsChannelsGet(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Create a new notification channel\n * @param {NotificationsApiV5NotificationsChannelsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsPost(requestParameters: NotificationsApiV5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response> {\n return localVarFp.v5NotificationsChannelsPost(requestParameters.v5NotificationsChannelsPostRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {NotificationsApiV5NotificationsEventTypesEventTypeGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesEventTypeGet(requestParameters: NotificationsApiV5NotificationsEventTypesEventTypeGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsEventTypesEventTypeGet200Response> {\n return localVarFp.v5NotificationsEventTypesEventTypeGet(requestParameters.eventType, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesGet(options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsEventTypesGet200Response> {\n return localVarFp.v5NotificationsEventTypesGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve notification event logs\n * @param {NotificationsApiV5NotificationsLogsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsLogsGet(requestParameters: NotificationsApiV5NotificationsLogsGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsLogsGet200Response> {\n return localVarFp.v5NotificationsLogsGet(requestParameters.workflowId, requestParameters.eventType, requestParameters.startDate, requestParameters.endDate, requestParameters.limit, requestParameters.offset, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve all notification settings\n * @param {NotificationsApiV5NotificationsSettingsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsGet(requestParameters: NotificationsApiV5NotificationsSettingsGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsGet200Response> {\n return localVarFp.v5NotificationsSettingsGet(requestParameters.workflowId, requestParameters.eventType, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Create a new notification settings\n * @param {NotificationsApiV5NotificationsSettingsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsPost(requestParameters: NotificationsApiV5NotificationsSettingsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response> {\n return localVarFp.v5NotificationsSettingsPost(requestParameters.v5NotificationsSettingsPostRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Delete a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdDelete(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsSettingsIdDelete200Response> {\n return localVarFp.v5NotificationsSettingsSettingsIdDelete(requestParameters.settingsId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdGet(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response> {\n return localVarFp.v5NotificationsSettingsSettingsIdGet(requestParameters.settingsId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Update a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdPut(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response> {\n return localVarFp.v5NotificationsSettingsSettingsIdPut(requestParameters.settingsId, requestParameters.v5NotificationsSettingsSettingsIdPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {NotificationsApiV5NotificationsTestPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsTestPost(requestParameters: NotificationsApiV5NotificationsTestPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsTestPost200Response> {\n return localVarFp.v5NotificationsTestPost(requestParameters.v5NotificationsTestPostRequest, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * NotificationsApi - interface\n */\nexport interface NotificationsApiInterface {\n /**\n * \n * @summary Delete a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdDelete(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsChannelIdDelete200Response>;\n\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdGet(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response>;\n\n /**\n * \n * @summary Update a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsChannelIdPut(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response>;\n\n /**\n * \n * @summary Retrieve all notification channels\n * @param {NotificationsApiV5NotificationsChannelsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsGet(requestParameters?: NotificationsApiV5NotificationsChannelsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsGet200Response>;\n\n /**\n * \n * @summary Create a new notification channel\n * @param {NotificationsApiV5NotificationsChannelsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsChannelsPost(requestParameters: NotificationsApiV5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsChannelsPost201Response>;\n\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {NotificationsApiV5NotificationsEventTypesEventTypeGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesEventTypeGet(requestParameters: NotificationsApiV5NotificationsEventTypesEventTypeGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsEventTypesEventTypeGet200Response>;\n\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsEventTypesGet(options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsEventTypesGet200Response>;\n\n /**\n * \n * @summary Retrieve notification event logs\n * @param {NotificationsApiV5NotificationsLogsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsLogsGet(requestParameters?: NotificationsApiV5NotificationsLogsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsLogsGet200Response>;\n\n /**\n * \n * @summary Retrieve all notification settings\n * @param {NotificationsApiV5NotificationsSettingsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsGet(requestParameters?: NotificationsApiV5NotificationsSettingsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsGet200Response>;\n\n /**\n * \n * @summary Create a new notification settings\n * @param {NotificationsApiV5NotificationsSettingsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsPost(requestParameters: NotificationsApiV5NotificationsSettingsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response>;\n\n /**\n * \n * @summary Delete a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdDelete(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsSettingsIdDelete200Response>;\n\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdGet(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response>;\n\n /**\n * \n * @summary Update a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsSettingsSettingsIdPut(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsSettingsPost201Response>;\n\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {NotificationsApiV5NotificationsTestPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5NotificationsTestPost(requestParameters: NotificationsApiV5NotificationsTestPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5NotificationsTestPost200Response>;\n\n}\n\n/**\n * Request parameters for v5NotificationsChannelsChannelIdDelete operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest {\n /**\n * Channel ID\n */\n readonly channelId: string\n}\n\n/**\n * Request parameters for v5NotificationsChannelsChannelIdGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsChannelIdGetRequest {\n /**\n * Channel ID\n */\n readonly channelId: string\n}\n\n/**\n * Request parameters for v5NotificationsChannelsChannelIdPut operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsChannelIdPutRequest {\n /**\n * Channel ID\n */\n readonly channelId: string\n\n readonly v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest\n}\n\n/**\n * Request parameters for v5NotificationsChannelsGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsGetRequest {\n /**\n * Workflow ID (optional, if provided returns channels linked to this workflow)\n */\n readonly workflowId?: string\n}\n\n/**\n * Request parameters for v5NotificationsChannelsPost operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsChannelsPostRequest {\n readonly v5NotificationsChannelsPostRequest: V5NotificationsChannelsPostRequest\n}\n\n/**\n * Request parameters for v5NotificationsEventTypesEventTypeGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsEventTypesEventTypeGetRequest {\n /**\n * Event type identifier\n */\n readonly eventType: string\n}\n\n/**\n * Request parameters for v5NotificationsLogsGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsLogsGetRequest {\n /**\n * Filter by workflow ID (optional)\n */\n readonly workflowId?: string\n\n /**\n * Filter by event type (optional)\n */\n readonly eventType?: string\n\n /**\n * Filter events from this date (optional)\n */\n readonly startDate?: string\n\n /**\n * Filter events until this date (optional)\n */\n readonly endDate?: string\n\n /**\n * Number of events to return (default 50, max 100)\n */\n readonly limit?: number\n\n /**\n * Number of events to skip for pagination\n */\n readonly offset?: number\n}\n\n/**\n * Request parameters for v5NotificationsSettingsGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsGetRequest {\n /**\n * Workflow ID(s) - can be single ID, comma-separated IDs, or \\'null\\' for workspace-level settings\n */\n readonly workflowId?: string\n\n /**\n * Event type filter (optional)\n */\n readonly eventType?: V5NotificationsSettingsGetEventTypeEnum\n}\n\n/**\n * Request parameters for v5NotificationsSettingsPost operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsPostRequest {\n readonly v5NotificationsSettingsPostRequest: V5NotificationsSettingsPostRequest\n}\n\n/**\n * Request parameters for v5NotificationsSettingsSettingsIdDelete operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest {\n /**\n * Settings ID\n */\n readonly settingsId: string\n}\n\n/**\n * Request parameters for v5NotificationsSettingsSettingsIdGet operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsSettingsIdGetRequest {\n /**\n * Settings ID\n */\n readonly settingsId: string\n}\n\n/**\n * Request parameters for v5NotificationsSettingsSettingsIdPut operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsSettingsSettingsIdPutRequest {\n /**\n * Settings ID\n */\n readonly settingsId: string\n\n readonly v5NotificationsSettingsSettingsIdPutRequest: V5NotificationsSettingsSettingsIdPutRequest\n}\n\n/**\n * Request parameters for v5NotificationsTestPost operation in NotificationsApi.\n */\nexport interface NotificationsApiV5NotificationsTestPostRequest {\n readonly v5NotificationsTestPostRequest: V5NotificationsTestPostRequest\n}\n\n/**\n * NotificationsApi - object-oriented interface\n */\nexport class NotificationsApi extends BaseAPI implements NotificationsApiInterface {\n /**\n * \n * @summary Delete a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsChannelIdDelete(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsChannelIdDelete(requestParameters.channelId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve a specific notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsChannelIdGet(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdGetRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsChannelIdGet(requestParameters.channelId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Update a notification channel\n * @param {NotificationsApiV5NotificationsChannelsChannelIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsChannelIdPut(requestParameters: NotificationsApiV5NotificationsChannelsChannelIdPutRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsChannelIdPut(requestParameters.channelId, requestParameters.v5NotificationsChannelsPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve all notification channels\n * @param {NotificationsApiV5NotificationsChannelsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsGet(requestParameters: NotificationsApiV5NotificationsChannelsGetRequest = {}, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsGet(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Create a new notification channel\n * @param {NotificationsApiV5NotificationsChannelsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsChannelsPost(requestParameters: NotificationsApiV5NotificationsChannelsPostRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsChannelsPost(requestParameters.v5NotificationsChannelsPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve a specific event type details\n * @param {NotificationsApiV5NotificationsEventTypesEventTypeGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsEventTypesEventTypeGet(requestParameters: NotificationsApiV5NotificationsEventTypesEventTypeGetRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsEventTypesEventTypeGet(requestParameters.eventType, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve all available notification event types\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsEventTypesGet(options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsEventTypesGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve notification event logs\n * @param {NotificationsApiV5NotificationsLogsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsLogsGet(requestParameters: NotificationsApiV5NotificationsLogsGetRequest = {}, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsLogsGet(requestParameters.workflowId, requestParameters.eventType, requestParameters.startDate, requestParameters.endDate, requestParameters.limit, requestParameters.offset, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve all notification settings\n * @param {NotificationsApiV5NotificationsSettingsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsGet(requestParameters: NotificationsApiV5NotificationsSettingsGetRequest = {}, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsGet(requestParameters.workflowId, requestParameters.eventType, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Create a new notification settings\n * @param {NotificationsApiV5NotificationsSettingsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsPost(requestParameters: NotificationsApiV5NotificationsSettingsPostRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsPost(requestParameters.v5NotificationsSettingsPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Delete a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsSettingsIdDelete(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsSettingsIdDelete(requestParameters.settingsId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Retrieve a specific notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsSettingsIdGet(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdGetRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsSettingsIdGet(requestParameters.settingsId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Update a notification settings\n * @param {NotificationsApiV5NotificationsSettingsSettingsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsSettingsSettingsIdPut(requestParameters: NotificationsApiV5NotificationsSettingsSettingsIdPutRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsSettingsSettingsIdPut(requestParameters.settingsId, requestParameters.v5NotificationsSettingsSettingsIdPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Test a notification settings with mock data\n * @param {NotificationsApiV5NotificationsTestPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5NotificationsTestPost(requestParameters: NotificationsApiV5NotificationsTestPostRequest, options?: RawAxiosRequestConfig) {\n return NotificationsApiFp(this.configuration).v5NotificationsTestPost(requestParameters.v5NotificationsTestPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\nexport const V5NotificationsSettingsGetEventTypeEnum = {\n WorkflowStarted: 'workflow_started',\n WorkflowFinished: 'workflow_finished',\n WorkflowFailed: 'workflow_failed',\n WorkflowSampleFinished: 'workflow_sample_finished',\n WorkflowDataChange: 'workflow_data_change',\n SystemMaintenance: 'system_maintenance',\n ServiceDegradation: 'service_degradation',\n CreditsLow: 'credits_low',\n FreeTrialEnding: 'free_trial_ending'\n} as const;\nexport type V5NotificationsSettingsGetEventTypeEnum = typeof V5NotificationsSettingsGetEventTypeEnum[keyof typeof V5NotificationsSettingsGetEventTypeEnum];\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from 'url';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { CreateSchemaBody } from '../models';\n// @ts-ignore\nimport type { CreateSchemaResponse } from '../models';\n// @ts-ignore\nimport type { DeleteSchemaResponse } from '../models';\n// @ts-ignore\nimport type { SchemaDataResponse } from '../models';\n// @ts-ignore\nimport type { SchemasListResponse } from '../models';\n// @ts-ignore\nimport type { UpdateSchemaBody } from '../models';\n// @ts-ignore\nimport type { UpdateSchemaResponse } from '../models';\n// @ts-ignore\nimport type { V4CrawlConfigPost400Response } from '../models';\n/**\n * SchemasApi - axios parameter creator\n */\nexport const SchemasApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasGet: async (options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/schemas/`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {CreateSchemaBody} [createSchemaBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasPost: async (createSchemaBody?: CreateSchemaBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/schemas/`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createSchemaBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {string} schemaId Schema ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdDelete: async (schemaId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'schemaId' is not null or undefined\n assertParamExists('v4SchemasSchemaIdDelete', 'schemaId', schemaId)\n const localVarPath = `/v4/schemas/{schemaId}`\n .replace(`{${\"schemaId\"}}`, encodeURIComponent(String(schemaId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {string} schemaId Schema ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdGet: async (schemaId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'schemaId' is not null or undefined\n assertParamExists('v4SchemasSchemaIdGet', 'schemaId', schemaId)\n const localVarPath = `/v4/schemas/{schemaId}`\n .replace(`{${\"schemaId\"}}`, encodeURIComponent(String(schemaId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {string} schemaId Schema ID\n * @param {UpdateSchemaBody} [updateSchemaBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdPut: async (schemaId: string, updateSchemaBody?: UpdateSchemaBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'schemaId' is not null or undefined\n assertParamExists('v4SchemasSchemaIdPut', 'schemaId', schemaId)\n const localVarPath = `/v4/schemas/{schemaId}`\n .replace(`{${\"schemaId\"}}`, encodeURIComponent(String(schemaId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(updateSchemaBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * SchemasApi - functional programming interface\n */\nexport const SchemasApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = SchemasApiAxiosParamCreator(configuration)\n return {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SchemasListResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasGet(options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {CreateSchemaBody} [createSchemaBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasPost(createSchemaBody?: CreateSchemaBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateSchemaResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasPost(createSchemaBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {string} schemaId Schema ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasSchemaIdDelete(schemaId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<DeleteSchemaResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasSchemaIdDelete(schemaId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasSchemaIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {string} schemaId Schema ID\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasSchemaIdGet(schemaId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<SchemaDataResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasSchemaIdGet(schemaId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasSchemaIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {string} schemaId Schema ID\n * @param {UpdateSchemaBody} [updateSchemaBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4SchemasSchemaIdPut(schemaId: string, updateSchemaBody?: UpdateSchemaBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UpdateSchemaResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4SchemasSchemaIdPut(schemaId, updateSchemaBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['SchemasApi.v4SchemasSchemaIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * SchemasApi - factory interface\n */\nexport const SchemasApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = SchemasApiFp(configuration)\n return {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasGet(options?: RawAxiosRequestConfig): AxiosPromise<SchemasListResponse> {\n return localVarFp.v4SchemasGet(options).then((request) => request(axios, basePath));\n },\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {SchemasApiV4SchemasPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasPost(requestParameters: SchemasApiV4SchemasPostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<CreateSchemaResponse> {\n return localVarFp.v4SchemasPost(requestParameters.createSchemaBody, options).then((request) => request(axios, basePath));\n },\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {SchemasApiV4SchemasSchemaIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdDelete(requestParameters: SchemasApiV4SchemasSchemaIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<DeleteSchemaResponse> {\n return localVarFp.v4SchemasSchemaIdDelete(requestParameters.schemaId, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {SchemasApiV4SchemasSchemaIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdGet(requestParameters: SchemasApiV4SchemasSchemaIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<SchemaDataResponse> {\n return localVarFp.v4SchemasSchemaIdGet(requestParameters.schemaId, options).then((request) => request(axios, basePath));\n },\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {SchemasApiV4SchemasSchemaIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdPut(requestParameters: SchemasApiV4SchemasSchemaIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<UpdateSchemaResponse> {\n return localVarFp.v4SchemasSchemaIdPut(requestParameters.schemaId, requestParameters.updateSchemaBody, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * SchemasApi - interface\n */\nexport interface SchemasApiInterface {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasGet(options?: RawAxiosRequestConfig): AxiosPromise<SchemasListResponse>;\n\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {SchemasApiV4SchemasPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasPost(requestParameters?: SchemasApiV4SchemasPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateSchemaResponse>;\n\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {SchemasApiV4SchemasSchemaIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdDelete(requestParameters: SchemasApiV4SchemasSchemaIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<DeleteSchemaResponse>;\n\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {SchemasApiV4SchemasSchemaIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdGet(requestParameters: SchemasApiV4SchemasSchemaIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<SchemaDataResponse>;\n\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {SchemasApiV4SchemasSchemaIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4SchemasSchemaIdPut(requestParameters: SchemasApiV4SchemasSchemaIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<UpdateSchemaResponse>;\n\n}\n\n/**\n * Request parameters for v4SchemasPost operation in SchemasApi.\n */\nexport interface SchemasApiV4SchemasPostRequest {\n /**\n * Body\n */\n readonly createSchemaBody?: CreateSchemaBody\n}\n\n/**\n * Request parameters for v4SchemasSchemaIdDelete operation in SchemasApi.\n */\nexport interface SchemasApiV4SchemasSchemaIdDeleteRequest {\n /**\n * Schema ID\n */\n readonly schemaId: string\n}\n\n/**\n * Request parameters for v4SchemasSchemaIdGet operation in SchemasApi.\n */\nexport interface SchemasApiV4SchemasSchemaIdGetRequest {\n /**\n * Schema ID\n */\n readonly schemaId: string\n}\n\n/**\n * Request parameters for v4SchemasSchemaIdPut operation in SchemasApi.\n */\nexport interface SchemasApiV4SchemasSchemaIdPutRequest {\n /**\n * Schema ID\n */\n readonly schemaId: string\n\n /**\n * Body\n */\n readonly updateSchemaBody?: UpdateSchemaBody\n}\n\n/**\n * SchemasApi - object-oriented interface\n */\nexport class SchemasApi extends BaseAPI implements SchemasApiInterface {\n /**\n * Retrieve all schemas accessible by the authenticated user\n * @summary List all schemas\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasGet(options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Create a new data schema with specified fields and entity type\n * @summary Create new schema\n * @param {SchemasApiV4SchemasPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasPost(requestParameters: SchemasApiV4SchemasPostRequest = {}, options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasPost(requestParameters.createSchemaBody, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Delete a schema and all its revisions\n * @summary Delete schema\n * @param {SchemasApiV4SchemasSchemaIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasSchemaIdDelete(requestParameters: SchemasApiV4SchemasSchemaIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasSchemaIdDelete(requestParameters.schemaId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieve a specific schema by its unique identifier\n * @summary Get schema by ID\n * @param {SchemasApiV4SchemasSchemaIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasSchemaIdGet(requestParameters: SchemasApiV4SchemasSchemaIdGetRequest, options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasSchemaIdGet(requestParameters.schemaId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Update schema metadata or create a new revision with updated fields\n * @summary Update existing schema\n * @param {SchemasApiV4SchemasSchemaIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4SchemasSchemaIdPut(requestParameters: SchemasApiV4SchemasSchemaIdPutRequest, options?: RawAxiosRequestConfig) {\n return SchemasApiFp(this.configuration).v4SchemasSchemaIdPut(requestParameters.schemaId, requestParameters.updateSchemaBody, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport type { Configuration } from '../configuration';\nimport type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';\nimport globalAxios from 'axios';\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from 'url';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, type RequestArgs, BaseAPI, RequiredError, operationServerMap } from '../base';\n// @ts-ignore\nimport type { CreateWorkflowBody } from '../models';\n// @ts-ignore\nimport type { CreateWorkflowResponse } from '../models';\n// @ts-ignore\nimport type { V4AdhocSchemaIdPost400Response } from '../models';\n// @ts-ignore\nimport type { V4ChangesGet200Response } from '../models';\n// @ts-ignore\nimport type { V4ChangesGet200ResponseChangesInner } from '../models';\n// @ts-ignore\nimport type { V4CrawlConfigPost400Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdAuditlogGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdComplianceApprovePut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdComplianceRejectPut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdComplianceRejectPutRequest } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdDataGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdHistoryGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdJobsJobIdGet200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdMetadataPut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdMetadataPutRequest } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdResumePut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdRunPut200Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdRunPut429Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdRunPut500Response } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdRunPutRequest } from '../models';\n// @ts-ignore\nimport type { V4WorkflowsWorkflowIdSchedulePutRequest } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsIdGet200Response } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsIdPut200Response } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsIdPutRequest } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsPost201Response } from '../models';\n// @ts-ignore\nimport type { V5WorkflowsPostRequest } from '../models';\n/**\n * WorkflowsApi - axios parameter creator\n */\nexport const WorkflowsApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @summary Get data change by ID\n * @param {string} changeId ID of the workflow change to retrieve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesChangeIdGet: async (changeId: string, xApiKey?: string, authorization?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'changeId' is not null or undefined\n assertParamExists('v4ChangesChangeIdGet', 'changeId', changeId)\n const localVarPath = `/v4/changes/{changeId}`\n .replace(`{${\"changeId\"}}`, encodeURIComponent(String(changeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all data changes\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [workflowIds] Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n * @param {string} [startDate] Start date to filter changes (ISO format)\n * @param {string} [endDate] End date to filter changes (ISO format)\n * @param {number} [skip] Number of records to skip for pagination\n * @param {number} [limit] Number of records to return for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesGet: async (xApiKey?: string, authorization?: string, workflowIds?: string, startDate?: string, endDate?: string, skip?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/changes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (workflowIds !== undefined) {\n localVarQueryParameter['workflowIds'] = workflowIds;\n }\n\n if (startDate !== undefined) {\n localVarQueryParameter['startDate'] = (startDate as any instanceof Date) ?\n (startDate as any).toISOString() :\n startDate;\n }\n\n if (endDate !== undefined) {\n localVarQueryParameter['endDate'] = (endDate as any instanceof Date) ?\n (endDate as any).toISOString() :\n endDate;\n }\n\n if (skip !== undefined) {\n localVarQueryParameter['skip'] = skip;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {string} [search] Search term to filter workflows by name, URL, or workflow ID\n * @param {number} [skip] Number of items to skip\n * @param {number} [limit] Maximum number of items to return\n * @param {V4WorkflowsGetStateEnum} [state] Filter workflows by state\n * @param {Array<string>} [tags] Filter workflows by tags\n * @param {V4WorkflowsGetMonitoringEnum} [monitoring] Filter workflows by monitoring status\n * @param {V4WorkflowsGetUpdateIntervalEnum} [updateInterval] Filter workflows by update interval\n * @param {string} [templateId] Filter workflows by template ID (DEPRECATED - templates replaced by schemas)\n * @param {V4WorkflowsGetIncludeDeletedEnum} [includeDeleted] Include deleted workflows (for compliance officers)\n * @param {V4WorkflowsGetFormatEnum} [format] Response format (json or csv for export)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsGet: async (search?: string, skip?: number, limit?: number, state?: V4WorkflowsGetStateEnum, tags?: Array<string>, monitoring?: V4WorkflowsGetMonitoringEnum, updateInterval?: V4WorkflowsGetUpdateIntervalEnum, templateId?: string, includeDeleted?: V4WorkflowsGetIncludeDeletedEnum, format?: V4WorkflowsGetFormatEnum, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/workflows`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n if (search !== undefined) {\n localVarQueryParameter['search'] = search;\n }\n\n if (skip !== undefined) {\n localVarQueryParameter['skip'] = skip;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (state !== undefined) {\n localVarQueryParameter['state'] = state;\n }\n\n if (tags) {\n localVarQueryParameter['tags'] = tags;\n }\n\n if (monitoring !== undefined) {\n localVarQueryParameter['monitoring'] = monitoring;\n }\n\n if (updateInterval !== undefined) {\n localVarQueryParameter['updateInterval'] = updateInterval;\n }\n\n if (templateId !== undefined) {\n localVarQueryParameter['templateId'] = templateId;\n }\n\n if (includeDeleted !== undefined) {\n localVarQueryParameter['includeDeleted'] = includeDeleted;\n }\n\n if (format !== undefined) {\n localVarQueryParameter['format'] = format;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {CreateWorkflowBody} [createWorkflowBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsPost: async (createWorkflowBody?: CreateWorkflowBody, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v4/workflows/`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createWorkflowBody, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {string} workflowId ID of the workflow to retrieve audit logs from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdAuditlogGet: async (workflowId: string, xApiKey?: string, authorization?: string, page?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdAuditlogGet', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/auditlog`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Approve workflow for compliance\n * @param {string} workflowId ID of the workflow to approve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceApprovePut: async (workflowId: string, xApiKey?: string, authorization?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdComplianceApprovePut', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/compliance-approve`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Reject workflow for compliance\n * @param {string} workflowId ID of the workflow to reject\n * @param {V4WorkflowsWorkflowIdComplianceRejectPutRequest} v4WorkflowsWorkflowIdComplianceRejectPutRequest \n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceRejectPut: async (workflowId: string, v4WorkflowsWorkflowIdComplianceRejectPutRequest: V4WorkflowsWorkflowIdComplianceRejectPutRequest, xApiKey?: string, authorization?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdComplianceRejectPut', 'workflowId', workflowId)\n // verify required parameter 'v4WorkflowsWorkflowIdComplianceRejectPutRequest' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdComplianceRejectPut', 'v4WorkflowsWorkflowIdComplianceRejectPutRequest', v4WorkflowsWorkflowIdComplianceRejectPutRequest)\n const localVarPath = `/v4/workflows/{workflowId}/compliance-reject`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4WorkflowsWorkflowIdComplianceRejectPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get workflow data by ID\n * @param {string} workflowId ID of the workflow to retrieve data from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [runId] ID of a specific run to retrieve data from\n * @param {V4WorkflowsWorkflowIdDataGetFormatEnum} [format] Format of the response data\n * @param {string} [sortBy] Field to sort the results by\n * @param {V4WorkflowsWorkflowIdDataGetOrderEnum} [order] Sort order (ascending or descending)\n * @param {string} [filters] JSON-encoded array of filter objects\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page (0 for streaming all data)\n * @param {boolean} [gzip] Enable gzip compression for the response\n * @param {string} [rowIds] Filter results by specific row IDs (comma-separated or JSON array)\n * @param {boolean} [includeAnomalies] Include validation anomalies for each row in the response\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDataGet: async (workflowId: string, xApiKey?: string, authorization?: string, runId?: string, format?: V4WorkflowsWorkflowIdDataGetFormatEnum, sortBy?: string, order?: V4WorkflowsWorkflowIdDataGetOrderEnum, filters?: string, page?: number, limit?: number, gzip?: boolean, rowIds?: string, includeAnomalies?: boolean, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdDataGet', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/data`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (runId !== undefined) {\n localVarQueryParameter['runId'] = runId;\n }\n\n if (format !== undefined) {\n localVarQueryParameter['format'] = format;\n }\n\n if (sortBy !== undefined) {\n localVarQueryParameter['sortBy'] = sortBy;\n }\n\n if (order !== undefined) {\n localVarQueryParameter['order'] = order;\n }\n\n if (filters !== undefined) {\n localVarQueryParameter['filters'] = filters;\n }\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n if (gzip !== undefined) {\n localVarQueryParameter['gzip'] = gzip;\n }\n\n if (rowIds !== undefined) {\n localVarQueryParameter['rowIds'] = rowIds;\n }\n\n if (includeAnomalies !== undefined) {\n localVarQueryParameter['includeAnomalies'] = includeAnomalies;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Delete a workflow\n * @param {string} workflowId The ID of the workflow to delete\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDelete: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdDelete', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {string} workflowId ID of the workflow to retrieve\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdGet: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdGet', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get the workflow run history\n * @param {string} workflowId The unique identifier of the workflow whose runs history is to be retrieved\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdHistoryGet: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdHistoryGet', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/history`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get job status and telemetry\n * @param {string} workflowId The ID of the workflow\n * @param {string} jobId The ID of the job\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdJobsJobIdGet: async (workflowId: string, jobId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdJobsJobIdGet', 'workflowId', workflowId)\n // verify required parameter 'jobId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdJobsJobIdGet', 'jobId', jobId)\n const localVarPath = `/v4/workflows/{workflowId}/jobs/{jobId}`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)))\n .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Update workflow metadata\n * @param {string} workflowId ID of the workflow to update\n * @param {V4WorkflowsWorkflowIdMetadataPutRequest} v4WorkflowsWorkflowIdMetadataPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdMetadataPut: async (workflowId: string, v4WorkflowsWorkflowIdMetadataPutRequest: V4WorkflowsWorkflowIdMetadataPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdMetadataPut', 'workflowId', workflowId)\n // verify required parameter 'v4WorkflowsWorkflowIdMetadataPutRequest' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdMetadataPut', 'v4WorkflowsWorkflowIdMetadataPutRequest', v4WorkflowsWorkflowIdMetadataPutRequest)\n const localVarPath = `/v4/workflows/{workflowId}/metadata`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4WorkflowsWorkflowIdMetadataPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Pause a workflow\n * @param {string} workflowId The ID of the workflow to pause\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdPausePut: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdPausePut', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/pause`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {string} workflowId The ID of the workflow to resume\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdResumePut: async (workflowId: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdResumePut', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/resume`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Run a workflow\n * @param {string} workflowId The ID of the workflow to run\n * @param {V4WorkflowsWorkflowIdRunPutRequest} [v4WorkflowsWorkflowIdRunPutRequest] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdRunPut: async (workflowId: string, v4WorkflowsWorkflowIdRunPutRequest?: V4WorkflowsWorkflowIdRunPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdRunPut', 'workflowId', workflowId)\n const localVarPath = `/v4/workflows/{workflowId}/run`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4WorkflowsWorkflowIdRunPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Schedule a workflow\n * @param {string} workflowId The ID of the workflow to schedule\n * @param {V4WorkflowsWorkflowIdSchedulePutRequest} v4WorkflowsWorkflowIdSchedulePutRequest ISO date (attention its timezone UTC) string required in request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdSchedulePut: async (workflowId: string, v4WorkflowsWorkflowIdSchedulePutRequest: V4WorkflowsWorkflowIdSchedulePutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdSchedulePut', 'workflowId', workflowId)\n // verify required parameter 'v4WorkflowsWorkflowIdSchedulePutRequest' is not null or undefined\n assertParamExists('v4WorkflowsWorkflowIdSchedulePut', 'v4WorkflowsWorkflowIdSchedulePutRequest', v4WorkflowsWorkflowIdSchedulePutRequest)\n const localVarPath = `/v4/workflows/{workflowId}/schedule`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v4WorkflowsWorkflowIdSchedulePutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {string} changeId ID of the workflow change to retrieve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesChangeIdGet: async (changeId: string, xApiKey?: string, authorization?: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'changeId' is not null or undefined\n assertParamExists('v5ChangesChangeIdGet', 'changeId', changeId)\n const localVarPath = `/v5/changes/{changeId}`\n .replace(`{${\"changeId\"}}`, encodeURIComponent(String(changeId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [workflowIds] Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n * @param {string} [startDate] Start date to filter changes (ISO format)\n * @param {string} [endDate] End date to filter changes (ISO format)\n * @param {number} [skip] Number of records to skip for pagination\n * @param {number} [limit] Number of records to return for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesGet: async (xApiKey?: string, authorization?: string, workflowIds?: string, startDate?: string, endDate?: string, skip?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n const localVarPath = `/v5/changes`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (workflowIds !== undefined) {\n localVarQueryParameter['workflowIds'] = workflowIds;\n }\n\n if (startDate !== undefined) {\n localVarQueryParameter['startDate'] = (startDate as any instanceof Date) ?\n (startDate as any).toISOString() :\n startDate;\n }\n\n if (endDate !== undefined) {\n localVarQueryParameter['endDate'] = (endDate as any instanceof Date) ?\n (endDate as any).toISOString() :\n endDate;\n }\n\n if (skip !== undefined) {\n localVarQueryParameter['skip'] = skip;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {string} id The ID of the workflow to delete\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'id' is not null or undefined\n assertParamExists('v5WorkflowsIdDelete', 'id', id)\n const localVarPath = `/v5/workflows/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {string} id The ID of the workflow to retrieve\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'id' is not null or undefined\n assertParamExists('v5WorkflowsIdGet', 'id', id)\n const localVarPath = `/v5/workflows/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {string} id The ID of the workflow to update\n * @param {V5WorkflowsIdPutRequest} v5WorkflowsIdPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdPut: async (id: string, v5WorkflowsIdPutRequest: V5WorkflowsIdPutRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'id' is not null or undefined\n assertParamExists('v5WorkflowsIdPut', 'id', id)\n // verify required parameter 'v5WorkflowsIdPutRequest' is not null or undefined\n assertParamExists('v5WorkflowsIdPut', 'v5WorkflowsIdPutRequest', v5WorkflowsIdPutRequest)\n const localVarPath = `/v5/workflows/{id}`\n .replace(`{${\"id\"}}`, encodeURIComponent(String(id)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5WorkflowsIdPutRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {V5WorkflowsPostRequest} v5WorkflowsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsPost: async (v5WorkflowsPostRequest: V5WorkflowsPostRequest, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'v5WorkflowsPostRequest' is not null or undefined\n assertParamExists('v5WorkflowsPost', 'v5WorkflowsPostRequest', v5WorkflowsPostRequest)\n const localVarPath = `/v5/workflows`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(v5WorkflowsPostRequest, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {string} workflowId ID of the workflow to retrieve audit logs from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsWorkflowIdAuditlogGet: async (workflowId: string, xApiKey?: string, authorization?: string, page?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise<RequestArgs> => {\n // verify required parameter 'workflowId' is not null or undefined\n assertParamExists('v5WorkflowsWorkflowIdAuditlogGet', 'workflowId', workflowId)\n const localVarPath = `/v5/workflows/{workflowId}/auditlog`\n .replace(`{${\"workflowId\"}}`, encodeURIComponent(String(workflowId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication ApiKeyAuth required\n await setApiKeyToObject(localVarHeaderParameter, \"x-api-key\", configuration)\n\n // authentication BearerAuth required\n // http bearer authentication required\n await setBearerAuthToObject(localVarHeaderParameter, configuration)\n\n if (page !== undefined) {\n localVarQueryParameter['page'] = page;\n }\n\n if (limit !== undefined) {\n localVarQueryParameter['limit'] = limit;\n }\n\n\n \n if (xApiKey != null) {\n localVarHeaderParameter['x-api-key'] = String(xApiKey);\n }\n if (authorization != null) {\n localVarHeaderParameter['Authorization'] = String(authorization);\n }\n setSearchParams(localVarUrlObj, localVarQueryParameter);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * WorkflowsApi - functional programming interface\n */\nexport const WorkflowsApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = WorkflowsApiAxiosParamCreator(configuration)\n return {\n /**\n * \n * @summary Get data change by ID\n * @param {string} changeId ID of the workflow change to retrieve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4ChangesChangeIdGet(changeId: string, xApiKey?: string, authorization?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4ChangesGet200ResponseChangesInner>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4ChangesChangeIdGet(changeId, xApiKey, authorization, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4ChangesChangeIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get all data changes\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [workflowIds] Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n * @param {string} [startDate] Start date to filter changes (ISO format)\n * @param {string} [endDate] End date to filter changes (ISO format)\n * @param {number} [skip] Number of records to skip for pagination\n * @param {number} [limit] Number of records to return for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4ChangesGet(xApiKey?: string, authorization?: string, workflowIds?: string, startDate?: string, endDate?: string, skip?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4ChangesGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4ChangesGet(xApiKey, authorization, workflowIds, startDate, endDate, skip, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4ChangesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {string} [search] Search term to filter workflows by name, URL, or workflow ID\n * @param {number} [skip] Number of items to skip\n * @param {number} [limit] Maximum number of items to return\n * @param {V4WorkflowsGetStateEnum} [state] Filter workflows by state\n * @param {Array<string>} [tags] Filter workflows by tags\n * @param {V4WorkflowsGetMonitoringEnum} [monitoring] Filter workflows by monitoring status\n * @param {V4WorkflowsGetUpdateIntervalEnum} [updateInterval] Filter workflows by update interval\n * @param {string} [templateId] Filter workflows by template ID (DEPRECATED - templates replaced by schemas)\n * @param {V4WorkflowsGetIncludeDeletedEnum} [includeDeleted] Include deleted workflows (for compliance officers)\n * @param {V4WorkflowsGetFormatEnum} [format] Response format (json or csv for export)\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsGet(search?: string, skip?: number, limit?: number, state?: V4WorkflowsGetStateEnum, tags?: Array<string>, monitoring?: V4WorkflowsGetMonitoringEnum, updateInterval?: V4WorkflowsGetUpdateIntervalEnum, templateId?: string, includeDeleted?: V4WorkflowsGetIncludeDeletedEnum, format?: V4WorkflowsGetFormatEnum, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsGet(search, skip, limit, state, tags, monitoring, updateInterval, templateId, includeDeleted, format, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {CreateWorkflowBody} [createWorkflowBody] Body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsPost(createWorkflowBody?: CreateWorkflowBody, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<CreateWorkflowResponse>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsPost(createWorkflowBody, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {string} workflowId ID of the workflow to retrieve audit logs from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdAuditlogGet(workflowId: string, xApiKey?: string, authorization?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdAuditlogGet(workflowId, xApiKey, authorization, page, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdAuditlogGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Approve workflow for compliance\n * @param {string} workflowId ID of the workflow to approve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdComplianceApprovePut(workflowId: string, xApiKey?: string, authorization?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdComplianceApprovePut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdComplianceApprovePut(workflowId, xApiKey, authorization, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdComplianceApprovePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Reject workflow for compliance\n * @param {string} workflowId ID of the workflow to reject\n * @param {V4WorkflowsWorkflowIdComplianceRejectPutRequest} v4WorkflowsWorkflowIdComplianceRejectPutRequest \n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdComplianceRejectPut(workflowId: string, v4WorkflowsWorkflowIdComplianceRejectPutRequest: V4WorkflowsWorkflowIdComplianceRejectPutRequest, xApiKey?: string, authorization?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdComplianceRejectPut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdComplianceRejectPut(workflowId, v4WorkflowsWorkflowIdComplianceRejectPutRequest, xApiKey, authorization, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdComplianceRejectPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get workflow data by ID\n * @param {string} workflowId ID of the workflow to retrieve data from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [runId] ID of a specific run to retrieve data from\n * @param {V4WorkflowsWorkflowIdDataGetFormatEnum} [format] Format of the response data\n * @param {string} [sortBy] Field to sort the results by\n * @param {V4WorkflowsWorkflowIdDataGetOrderEnum} [order] Sort order (ascending or descending)\n * @param {string} [filters] JSON-encoded array of filter objects\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page (0 for streaming all data)\n * @param {boolean} [gzip] Enable gzip compression for the response\n * @param {string} [rowIds] Filter results by specific row IDs (comma-separated or JSON array)\n * @param {boolean} [includeAnomalies] Include validation anomalies for each row in the response\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdDataGet(workflowId: string, xApiKey?: string, authorization?: string, runId?: string, format?: V4WorkflowsWorkflowIdDataGetFormatEnum, sortBy?: string, order?: V4WorkflowsWorkflowIdDataGetOrderEnum, filters?: string, page?: number, limit?: number, gzip?: boolean, rowIds?: string, includeAnomalies?: boolean, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdDataGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdDataGet(workflowId, xApiKey, authorization, runId, format, sortBy, order, filters, page, limit, gzip, rowIds, includeAnomalies, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdDataGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Delete a workflow\n * @param {string} workflowId The ID of the workflow to delete\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdDelete(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdDelete(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {string} workflowId ID of the workflow to retrieve\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdGet(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdGet(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get the workflow run history\n * @param {string} workflowId The unique identifier of the workflow whose runs history is to be retrieved\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdHistoryGet(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdHistoryGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdHistoryGet(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdHistoryGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get job status and telemetry\n * @param {string} workflowId The ID of the workflow\n * @param {string} jobId The ID of the job\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdJobsJobIdGet(workflowId: string, jobId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdJobsJobIdGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdJobsJobIdGet(workflowId, jobId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdJobsJobIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Update workflow metadata\n * @param {string} workflowId ID of the workflow to update\n * @param {V4WorkflowsWorkflowIdMetadataPutRequest} v4WorkflowsWorkflowIdMetadataPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdMetadataPut(workflowId: string, v4WorkflowsWorkflowIdMetadataPutRequest: V4WorkflowsWorkflowIdMetadataPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdMetadataPut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdMetadataPut(workflowId, v4WorkflowsWorkflowIdMetadataPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdMetadataPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Pause a workflow\n * @param {string} workflowId The ID of the workflow to pause\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdPausePut(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdPausePut(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdPausePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {string} workflowId The ID of the workflow to resume\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdResumePut(workflowId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdResumePut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdResumePut(workflowId, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdResumePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Run a workflow\n * @param {string} workflowId The ID of the workflow to run\n * @param {V4WorkflowsWorkflowIdRunPutRequest} [v4WorkflowsWorkflowIdRunPutRequest] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdRunPut(workflowId: string, v4WorkflowsWorkflowIdRunPutRequest?: V4WorkflowsWorkflowIdRunPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdRunPut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdRunPut(workflowId, v4WorkflowsWorkflowIdRunPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdRunPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Schedule a workflow\n * @param {string} workflowId The ID of the workflow to schedule\n * @param {V4WorkflowsWorkflowIdSchedulePutRequest} v4WorkflowsWorkflowIdSchedulePutRequest ISO date (attention its timezone UTC) string required in request body\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v4WorkflowsWorkflowIdSchedulePut(workflowId: string, v4WorkflowsWorkflowIdSchedulePutRequest: V4WorkflowsWorkflowIdSchedulePutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<string>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v4WorkflowsWorkflowIdSchedulePut(workflowId, v4WorkflowsWorkflowIdSchedulePutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v4WorkflowsWorkflowIdSchedulePut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {string} changeId ID of the workflow change to retrieve\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5ChangesChangeIdGet(changeId: string, xApiKey?: string, authorization?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4ChangesGet200ResponseChangesInner>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5ChangesChangeIdGet(changeId, xApiKey, authorization, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5ChangesChangeIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {string} [workflowIds] Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n * @param {string} [startDate] Start date to filter changes (ISO format)\n * @param {string} [endDate] End date to filter changes (ISO format)\n * @param {number} [skip] Number of records to skip for pagination\n * @param {number} [limit] Number of records to return for pagination\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5ChangesGet(xApiKey?: string, authorization?: string, workflowIds?: string, startDate?: string, endDate?: string, skip?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4ChangesGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5ChangesGet(xApiKey, authorization, workflowIds, startDate, endDate, skip, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5ChangesGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {string} id The ID of the workflow to delete\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsIdDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsIdDelete(id, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsIdDelete']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {string} id The ID of the workflow to retrieve\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsIdGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5WorkflowsIdGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsIdGet(id, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsIdGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {string} id The ID of the workflow to update\n * @param {V5WorkflowsIdPutRequest} v5WorkflowsIdPutRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsIdPut(id: string, v5WorkflowsIdPutRequest: V5WorkflowsIdPutRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5WorkflowsIdPut200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsIdPut(id, v5WorkflowsIdPutRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsIdPut']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {V5WorkflowsPostRequest} v5WorkflowsPostRequest \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsPost(v5WorkflowsPostRequest: V5WorkflowsPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V5WorkflowsPost201Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsPost(v5WorkflowsPostRequest, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsPost']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {string} workflowId ID of the workflow to retrieve audit logs from\n * @param {string} [xApiKey] API key for authorization\n * @param {string} [authorization] Bearer token for authorization\n * @param {number} [page] Page number for pagination\n * @param {number} [limit] Number of items per page\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async v5WorkflowsWorkflowIdAuditlogGet(workflowId: string, xApiKey?: string, authorization?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.v5WorkflowsWorkflowIdAuditlogGet(workflowId, xApiKey, authorization, page, limit, options);\n const localVarOperationServerIndex = configuration?.serverIndex ?? 0;\n const localVarOperationServerBasePath = operationServerMap['WorkflowsApi.v5WorkflowsWorkflowIdAuditlogGet']?.[localVarOperationServerIndex]?.url;\n return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath);\n },\n }\n};\n\n/**\n * WorkflowsApi - factory interface\n */\nexport const WorkflowsApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = WorkflowsApiFp(configuration)\n return {\n /**\n * \n * @summary Get data change by ID\n * @param {WorkflowsApiV4ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesChangeIdGet(requestParameters: WorkflowsApiV4ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200ResponseChangesInner> {\n return localVarFp.v4ChangesChangeIdGet(requestParameters.changeId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all data changes\n * @param {WorkflowsApiV4ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesGet(requestParameters: WorkflowsApiV4ChangesGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200Response> {\n return localVarFp.v4ChangesGet(requestParameters.xApiKey, requestParameters.authorization, requestParameters.workflowIds, requestParameters.startDate, requestParameters.endDate, requestParameters.skip, requestParameters.limit, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {WorkflowsApiV4WorkflowsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsGet(requestParameters: WorkflowsApiV4WorkflowsGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsGet200Response> {\n return localVarFp.v4WorkflowsGet(requestParameters.search, requestParameters.skip, requestParameters.limit, requestParameters.state, requestParameters.tags, requestParameters.monitoring, requestParameters.updateInterval, requestParameters.templateId, requestParameters.includeDeleted, requestParameters.format, options).then((request) => request(axios, basePath));\n },\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {WorkflowsApiV4WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsPost(requestParameters: WorkflowsApiV4WorkflowsPostRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<CreateWorkflowResponse> {\n return localVarFp.v4WorkflowsPost(requestParameters.createWorkflowBody, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdAuditlogGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.page, requestParameters.limit, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Approve workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdComplianceApprovePut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Reject workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdComplianceRejectPut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdComplianceRejectPutRequest, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get workflow data by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDataGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdDataGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdDataGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.runId, requestParameters.format, requestParameters.sortBy, requestParameters.order, requestParameters.filters, requestParameters.page, requestParameters.limit, requestParameters.gzip, requestParameters.rowIds, requestParameters.includeAnomalies, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Delete a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDelete(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<string> {\n return localVarFp.v4WorkflowsWorkflowIdDelete(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdGet(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get the workflow run history\n * @param {WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdHistoryGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdHistoryGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdHistoryGet(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get job status and telemetry\n * @param {WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdJobsJobIdGet200Response> {\n return localVarFp.v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters.workflowId, requestParameters.jobId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Update workflow metadata\n * @param {WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdMetadataPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdMetadataPut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdMetadataPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdMetadataPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Pause a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdPausePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<string> {\n return localVarFp.v4WorkflowsWorkflowIdPausePut(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdResumePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdResumePut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdResumePut(requestParameters.workflowId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Run a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdRunPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdRunPut200Response> {\n return localVarFp.v4WorkflowsWorkflowIdRunPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdRunPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Schedule a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdSchedulePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<string> {\n return localVarFp.v4WorkflowsWorkflowIdSchedulePut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdSchedulePutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {WorkflowsApiV5ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesChangeIdGet(requestParameters: WorkflowsApiV5ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200ResponseChangesInner> {\n return localVarFp.v5ChangesChangeIdGet(requestParameters.changeId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {WorkflowsApiV5ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesGet(requestParameters: WorkflowsApiV5ChangesGetRequest = {}, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200Response> {\n return localVarFp.v5ChangesGet(requestParameters.xApiKey, requestParameters.authorization, requestParameters.workflowIds, requestParameters.startDate, requestParameters.endDate, requestParameters.skip, requestParameters.limit, options).then((request) => request(axios, basePath));\n },\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {WorkflowsApiV5WorkflowsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdDelete(requestParameters: WorkflowsApiV5WorkflowsIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<void> {\n return localVarFp.v5WorkflowsIdDelete(requestParameters.id, options).then((request) => request(axios, basePath));\n },\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {WorkflowsApiV5WorkflowsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdGet(requestParameters: WorkflowsApiV5WorkflowsIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsIdGet200Response> {\n return localVarFp.v5WorkflowsIdGet(requestParameters.id, options).then((request) => request(axios, basePath));\n },\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {WorkflowsApiV5WorkflowsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdPut(requestParameters: WorkflowsApiV5WorkflowsIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsIdPut200Response> {\n return localVarFp.v5WorkflowsIdPut(requestParameters.id, requestParameters.v5WorkflowsIdPutRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {WorkflowsApiV5WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsPost(requestParameters: WorkflowsApiV5WorkflowsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsPost201Response> {\n return localVarFp.v5WorkflowsPost(requestParameters.v5WorkflowsPostRequest, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response> {\n return localVarFp.v5WorkflowsWorkflowIdAuditlogGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.page, requestParameters.limit, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * WorkflowsApi - interface\n */\nexport interface WorkflowsApiInterface {\n /**\n * \n * @summary Get data change by ID\n * @param {WorkflowsApiV4ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesChangeIdGet(requestParameters: WorkflowsApiV4ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200ResponseChangesInner>;\n\n /**\n * \n * @summary Get all data changes\n * @param {WorkflowsApiV4ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4ChangesGet(requestParameters?: WorkflowsApiV4ChangesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200Response>;\n\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {WorkflowsApiV4WorkflowsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsGet(requestParameters?: WorkflowsApiV4WorkflowsGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsGet200Response>;\n\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {WorkflowsApiV4WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsPost(requestParameters?: WorkflowsApiV4WorkflowsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<CreateWorkflowResponse>;\n\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response>;\n\n /**\n * \n * @summary Approve workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdComplianceApprovePut200Response>;\n\n /**\n * \n * @summary Reject workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdComplianceRejectPut200Response>;\n\n /**\n * \n * @summary Get workflow data by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDataGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdDataGet200Response>;\n\n /**\n * \n * @summary Delete a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdDelete(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<string>;\n\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdGet200Response>;\n\n /**\n * \n * @summary Get the workflow run history\n * @param {WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdHistoryGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdHistoryGet200Response>;\n\n /**\n * \n * @summary Get job status and telemetry\n * @param {WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdJobsJobIdGet200Response>;\n\n /**\n * \n * @summary Update workflow metadata\n * @param {WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdMetadataPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdMetadataPut200Response>;\n\n /**\n * \n * @summary Pause a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdPausePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<string>;\n\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdResumePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdResumePut200Response>;\n\n /**\n * \n * @summary Run a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdRunPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdRunPut200Response>;\n\n /**\n * \n * @summary Schedule a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v4WorkflowsWorkflowIdSchedulePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest, options?: RawAxiosRequestConfig): AxiosPromise<string>;\n\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {WorkflowsApiV5ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesChangeIdGet(requestParameters: WorkflowsApiV5ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200ResponseChangesInner>;\n\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {WorkflowsApiV5ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5ChangesGet(requestParameters?: WorkflowsApiV5ChangesGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4ChangesGet200Response>;\n\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {WorkflowsApiV5WorkflowsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdDelete(requestParameters: WorkflowsApiV5WorkflowsIdDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;\n\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {WorkflowsApiV5WorkflowsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdGet(requestParameters: WorkflowsApiV5WorkflowsIdGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsIdGet200Response>;\n\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {WorkflowsApiV5WorkflowsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsIdPut(requestParameters: WorkflowsApiV5WorkflowsIdPutRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsIdPut200Response>;\n\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {WorkflowsApiV5WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsPost(requestParameters: WorkflowsApiV5WorkflowsPostRequest, options?: RawAxiosRequestConfig): AxiosPromise<V5WorkflowsPost201Response>;\n\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n v5WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig): AxiosPromise<V4WorkflowsWorkflowIdAuditlogGet200Response>;\n\n}\n\n/**\n * Request parameters for v4ChangesChangeIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4ChangesChangeIdGetRequest {\n /**\n * ID of the workflow change to retrieve\n */\n readonly changeId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n}\n\n/**\n * Request parameters for v4ChangesGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4ChangesGetRequest {\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n */\n readonly workflowIds?: string\n\n /**\n * Start date to filter changes (ISO format)\n */\n readonly startDate?: string\n\n /**\n * End date to filter changes (ISO format)\n */\n readonly endDate?: string\n\n /**\n * Number of records to skip for pagination\n */\n readonly skip?: number\n\n /**\n * Number of records to return for pagination\n */\n readonly limit?: number\n}\n\n/**\n * Request parameters for v4WorkflowsGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsGetRequest {\n /**\n * Search term to filter workflows by name, URL, or workflow ID\n */\n readonly search?: string\n\n /**\n * Number of items to skip\n */\n readonly skip?: number\n\n /**\n * Maximum number of items to return\n */\n readonly limit?: number\n\n /**\n * Filter workflows by state\n */\n readonly state?: V4WorkflowsGetStateEnum\n\n /**\n * Filter workflows by tags\n */\n readonly tags?: Array<string>\n\n /**\n * Filter workflows by monitoring status\n */\n readonly monitoring?: V4WorkflowsGetMonitoringEnum\n\n /**\n * Filter workflows by update interval\n */\n readonly updateInterval?: V4WorkflowsGetUpdateIntervalEnum\n\n /**\n * Filter workflows by template ID (DEPRECATED - templates replaced by schemas)\n */\n readonly templateId?: string\n\n /**\n * Include deleted workflows (for compliance officers)\n */\n readonly includeDeleted?: V4WorkflowsGetIncludeDeletedEnum\n\n /**\n * Response format (json or csv for export)\n */\n readonly format?: V4WorkflowsGetFormatEnum\n}\n\n/**\n * Request parameters for v4WorkflowsPost operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsPostRequest {\n /**\n * Body\n */\n readonly createWorkflowBody?: CreateWorkflowBody\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdAuditlogGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest {\n /**\n * ID of the workflow to retrieve audit logs from\n */\n readonly workflowId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * Page number for pagination\n */\n readonly page?: number\n\n /**\n * Number of items per page\n */\n readonly limit?: number\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdComplianceApprovePut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest {\n /**\n * ID of the workflow to approve\n */\n readonly workflowId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdComplianceRejectPut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest {\n /**\n * ID of the workflow to reject\n */\n readonly workflowId: string\n\n readonly v4WorkflowsWorkflowIdComplianceRejectPutRequest: V4WorkflowsWorkflowIdComplianceRejectPutRequest\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdDataGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest {\n /**\n * ID of the workflow to retrieve data from\n */\n readonly workflowId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * ID of a specific run to retrieve data from\n */\n readonly runId?: string\n\n /**\n * Format of the response data\n */\n readonly format?: V4WorkflowsWorkflowIdDataGetFormatEnum\n\n /**\n * Field to sort the results by\n */\n readonly sortBy?: string\n\n /**\n * Sort order (ascending or descending)\n */\n readonly order?: V4WorkflowsWorkflowIdDataGetOrderEnum\n\n /**\n * JSON-encoded array of filter objects\n */\n readonly filters?: string\n\n /**\n * Page number for pagination\n */\n readonly page?: number\n\n /**\n * Number of items per page (0 for streaming all data)\n */\n readonly limit?: number\n\n /**\n * Enable gzip compression for the response\n */\n readonly gzip?: boolean\n\n /**\n * Filter results by specific row IDs (comma-separated or JSON array)\n */\n readonly rowIds?: string\n\n /**\n * Include validation anomalies for each row in the response\n */\n readonly includeAnomalies?: boolean\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdDelete operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest {\n /**\n * The ID of the workflow to delete\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdGetRequest {\n /**\n * ID of the workflow to retrieve\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdHistoryGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest {\n /**\n * The unique identifier of the workflow whose runs history is to be retrieved\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdJobsJobIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest {\n /**\n * The ID of the workflow\n */\n readonly workflowId: string\n\n /**\n * The ID of the job\n */\n readonly jobId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdMetadataPut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest {\n /**\n * ID of the workflow to update\n */\n readonly workflowId: string\n\n readonly v4WorkflowsWorkflowIdMetadataPutRequest: V4WorkflowsWorkflowIdMetadataPutRequest\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdPausePut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest {\n /**\n * The ID of the workflow to pause\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdResumePut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest {\n /**\n * The ID of the workflow to resume\n */\n readonly workflowId: string\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdRunPut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest {\n /**\n * The ID of the workflow to run\n */\n readonly workflowId: string\n\n readonly v4WorkflowsWorkflowIdRunPutRequest?: V4WorkflowsWorkflowIdRunPutRequest\n}\n\n/**\n * Request parameters for v4WorkflowsWorkflowIdSchedulePut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest {\n /**\n * The ID of the workflow to schedule\n */\n readonly workflowId: string\n\n /**\n * ISO date (attention its timezone UTC) string required in request body\n */\n readonly v4WorkflowsWorkflowIdSchedulePutRequest: V4WorkflowsWorkflowIdSchedulePutRequest\n}\n\n/**\n * Request parameters for v5ChangesChangeIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5ChangesChangeIdGetRequest {\n /**\n * ID of the workflow change to retrieve\n */\n readonly changeId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n}\n\n/**\n * Request parameters for v5ChangesGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5ChangesGetRequest {\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * Comma-separated list of workflow IDs. If not provided, returns changes for all ACTIVE workflows\n */\n readonly workflowIds?: string\n\n /**\n * Start date to filter changes (ISO format)\n */\n readonly startDate?: string\n\n /**\n * End date to filter changes (ISO format)\n */\n readonly endDate?: string\n\n /**\n * Number of records to skip for pagination\n */\n readonly skip?: number\n\n /**\n * Number of records to return for pagination\n */\n readonly limit?: number\n}\n\n/**\n * Request parameters for v5WorkflowsIdDelete operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsIdDeleteRequest {\n /**\n * The ID of the workflow to delete\n */\n readonly id: string\n}\n\n/**\n * Request parameters for v5WorkflowsIdGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsIdGetRequest {\n /**\n * The ID of the workflow to retrieve\n */\n readonly id: string\n}\n\n/**\n * Request parameters for v5WorkflowsIdPut operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsIdPutRequest {\n /**\n * The ID of the workflow to update\n */\n readonly id: string\n\n readonly v5WorkflowsIdPutRequest: V5WorkflowsIdPutRequest\n}\n\n/**\n * Request parameters for v5WorkflowsPost operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsPostRequest {\n readonly v5WorkflowsPostRequest: V5WorkflowsPostRequest\n}\n\n/**\n * Request parameters for v5WorkflowsWorkflowIdAuditlogGet operation in WorkflowsApi.\n */\nexport interface WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest {\n /**\n * ID of the workflow to retrieve audit logs from\n */\n readonly workflowId: string\n\n /**\n * API key for authorization\n */\n readonly xApiKey?: string\n\n /**\n * Bearer token for authorization\n */\n readonly authorization?: string\n\n /**\n * Page number for pagination\n */\n readonly page?: number\n\n /**\n * Number of items per page\n */\n readonly limit?: number\n}\n\n/**\n * WorkflowsApi - object-oriented interface\n */\nexport class WorkflowsApi extends BaseAPI implements WorkflowsApiInterface {\n /**\n * \n * @summary Get data change by ID\n * @param {WorkflowsApiV4ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4ChangesChangeIdGet(requestParameters: WorkflowsApiV4ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4ChangesChangeIdGet(requestParameters.changeId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all data changes\n * @param {WorkflowsApiV4ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4ChangesGet(requestParameters: WorkflowsApiV4ChangesGetRequest = {}, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4ChangesGet(requestParameters.xApiKey, requestParameters.authorization, requestParameters.workflowIds, requestParameters.startDate, requestParameters.endDate, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieves a list of workflows with pagination and search capabilities\n * @summary Get a list of workflows\n * @param {WorkflowsApiV4WorkflowsGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsGet(requestParameters: WorkflowsApiV4WorkflowsGetRequest = {}, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsGet(requestParameters.search, requestParameters.skip, requestParameters.limit, requestParameters.state, requestParameters.tags, requestParameters.monitoring, requestParameters.updateInterval, requestParameters.templateId, requestParameters.includeDeleted, requestParameters.format, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Create a new workflow with schema, custom fields, or agentic navigation mode\n * @summary Create a new workflow\n * @param {WorkflowsApiV4WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsPost(requestParameters: WorkflowsApiV4WorkflowsPostRequest = {}, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsPost(requestParameters.createWorkflowBody, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdAuditlogGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.page, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Approve workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceApprovePutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdComplianceApprovePut(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Reject workflow for compliance\n * @param {WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdComplianceRejectPutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdComplianceRejectPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdComplianceRejectPutRequest, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get workflow data by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdDataGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDataGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdDataGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.runId, requestParameters.format, requestParameters.sortBy, requestParameters.order, requestParameters.filters, requestParameters.page, requestParameters.limit, requestParameters.gzip, requestParameters.rowIds, requestParameters.includeAnomalies, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Delete a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdDelete(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdDelete(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieves detailed information about a specific workflow. This endpoint requires authentication and proper team access permissions. \n * @summary Get workflow by ID\n * @param {WorkflowsApiV4WorkflowsWorkflowIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdGet(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get the workflow run history\n * @param {WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdHistoryGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdHistoryGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdHistoryGet(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get job status and telemetry\n * @param {WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdJobsJobIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdJobsJobIdGet(requestParameters.workflowId, requestParameters.jobId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Update workflow metadata\n * @param {WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdMetadataPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdMetadataPutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdMetadataPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdMetadataPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Pause a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdPausePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdPausePutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdPausePut(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Resumes a paused, preview, or error workflow. If the user\\'s team/organization or any of the user\\'s organizations has the COMPLIANCE_REVIEW rule enabled, the workflow will be sent for compliance review instead of being directly activated.\n * @summary Resume a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdResumePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdResumePutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdResumePut(requestParameters.workflowId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Run a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdRunPut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdRunPutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdRunPut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdRunPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Schedule a workflow\n * @param {WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v4WorkflowsWorkflowIdSchedulePut(requestParameters: WorkflowsApiV4WorkflowsWorkflowIdSchedulePutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v4WorkflowsWorkflowIdSchedulePut(requestParameters.workflowId, requestParameters.v4WorkflowsWorkflowIdSchedulePutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get data change by ID (PostgreSQL)\n * @param {WorkflowsApiV5ChangesChangeIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5ChangesChangeIdGet(requestParameters: WorkflowsApiV5ChangesChangeIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5ChangesChangeIdGet(requestParameters.changeId, requestParameters.xApiKey, requestParameters.authorization, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get all data changes (PostgreSQL)\n * @param {WorkflowsApiV5ChangesGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5ChangesGet(requestParameters: WorkflowsApiV5ChangesGetRequest = {}, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5ChangesGet(requestParameters.xApiKey, requestParameters.authorization, requestParameters.workflowIds, requestParameters.startDate, requestParameters.endDate, requestParameters.skip, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Permanently deletes a workflow and its associated tags\n * @summary Delete a workflow\n * @param {WorkflowsApiV5WorkflowsIdDeleteRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsIdDelete(requestParameters: WorkflowsApiV5WorkflowsIdDeleteRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsIdDelete(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Retrieves a specific workflow and its associated tags by ID\n * @summary Get workflow by ID\n * @param {WorkflowsApiV5WorkflowsIdGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsIdGet(requestParameters: WorkflowsApiV5WorkflowsIdGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsIdGet(requestParameters.id, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Updates an existing workflow\\'s properties\n * @summary Update a workflow\n * @param {WorkflowsApiV5WorkflowsIdPutRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsIdPut(requestParameters: WorkflowsApiV5WorkflowsIdPutRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsIdPut(requestParameters.id, requestParameters.v5WorkflowsIdPutRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * Creates a new workflow in pending state\n * @summary Create a new workflow\n * @param {WorkflowsApiV5WorkflowsPostRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsPost(requestParameters: WorkflowsApiV5WorkflowsPostRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsPost(requestParameters.v5WorkflowsPostRequest, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @summary Get workflow audit log entries\n * @param {WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest} requestParameters Request parameters.\n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n public v5WorkflowsWorkflowIdAuditlogGet(requestParameters: WorkflowsApiV5WorkflowsWorkflowIdAuditlogGetRequest, options?: RawAxiosRequestConfig) {\n return WorkflowsApiFp(this.configuration).v5WorkflowsWorkflowIdAuditlogGet(requestParameters.workflowId, requestParameters.xApiKey, requestParameters.authorization, requestParameters.page, requestParameters.limit, options).then((request) => request(this.axios, this.basePath));\n }\n}\n\nexport const V4WorkflowsGetStateEnum = {\n Active: 'ACTIVE',\n Error: 'ERROR',\n Paused: 'PAUSED',\n NotSupported: 'NOT_SUPPORTED'\n} as const;\nexport type V4WorkflowsGetStateEnum = typeof V4WorkflowsGetStateEnum[keyof typeof V4WorkflowsGetStateEnum];\nexport const V4WorkflowsGetMonitoringEnum = {\n True: 'true',\n False: 'false'\n} as const;\nexport type V4WorkflowsGetMonitoringEnum = typeof V4WorkflowsGetMonitoringEnum[keyof typeof V4WorkflowsGetMonitoringEnum];\nexport const V4WorkflowsGetUpdateIntervalEnum = {\n Hourly: 'HOURLY',\n Daily: 'DAILY',\n Weekly: 'WEEKLY',\n Monthly: 'MONTHLY'\n} as const;\nexport type V4WorkflowsGetUpdateIntervalEnum = typeof V4WorkflowsGetUpdateIntervalEnum[keyof typeof V4WorkflowsGetUpdateIntervalEnum];\nexport const V4WorkflowsGetIncludeDeletedEnum = {\n True: 'true',\n False: 'false'\n} as const;\nexport type V4WorkflowsGetIncludeDeletedEnum = typeof V4WorkflowsGetIncludeDeletedEnum[keyof typeof V4WorkflowsGetIncludeDeletedEnum];\nexport const V4WorkflowsGetFormatEnum = {\n Json: 'json',\n Csv: 'csv'\n} as const;\nexport type V4WorkflowsGetFormatEnum = typeof V4WorkflowsGetFormatEnum[keyof typeof V4WorkflowsGetFormatEnum];\nexport const V4WorkflowsWorkflowIdDataGetFormatEnum = {\n Json: 'json',\n Csv: 'csv'\n} as const;\nexport type V4WorkflowsWorkflowIdDataGetFormatEnum = typeof V4WorkflowsWorkflowIdDataGetFormatEnum[keyof typeof V4WorkflowsWorkflowIdDataGetFormatEnum];\nexport const V4WorkflowsWorkflowIdDataGetOrderEnum = {\n Asc: 'asc',\n Desc: 'desc'\n} as const;\nexport type V4WorkflowsWorkflowIdDataGetOrderEnum = typeof V4WorkflowsWorkflowIdDataGetOrderEnum[keyof typeof V4WorkflowsWorkflowIdDataGetOrderEnum];\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * Kadoa API\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 3.0.0\n * Contact: support@kadoa.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ConfigurationParameters {\n apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);\n username?: string;\n password?: string;\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n basePath?: string;\n serverIndex?: number;\n baseOptions?: any;\n formDataCtor?: new () => any;\n}\n\nexport class Configuration {\n /**\n * parameter for apiKey security\n * @param name security name\n */\n apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);\n /**\n * parameter for basic security\n */\n username?: string;\n /**\n * parameter for basic security\n */\n password?: string;\n /**\n * parameter for oauth2 security\n * @param name security name\n * @param scopes oauth2 scope\n */\n accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);\n /**\n * override base path\n */\n basePath?: string;\n /**\n * override server index\n */\n serverIndex?: number;\n /**\n * base options for axios calls\n */\n baseOptions?: any;\n /**\n * The FormData constructor that will be used to create multipart form data\n * requests. You can inject this here so that execution environments that\n * do not support the FormData class can still run the generated client.\n *\n * @type {new () => FormData}\n */\n formDataCtor?: new () => any;\n\n constructor(param: ConfigurationParameters = {}) {\n this.apiKey = param.apiKey;\n this.username = param.username;\n this.password = param.password;\n this.accessToken = param.accessToken;\n this.basePath = param.basePath;\n this.serverIndex = param.serverIndex;\n this.baseOptions = {\n ...param.baseOptions,\n headers: {\n ...param.baseOptions?.headers,\n },\n };\n this.formDataCtor = param.formDataCtor;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n}\n","import type { KadoaClient } from \"../../kadoa-client\";\nimport { KadoaSdkException } from \"../../runtime/exceptions\";\nimport {\n ERROR_MESSAGES,\n KadoaErrorCode,\n} from \"../../runtime/exceptions/base.exception\";\nimport { logger } from \"../../runtime/logger\";\nimport { SchemaBuilder } from \"./schema-builder\";\nimport {\n type CreateSchemaRequest,\n type SchemaResponse,\n SchemasApi,\n type UpdateSchemaRequest,\n} from \"./schemas.acl\";\n\nconst debug = logger.schemas;\n\n/**\n * Service for managing schemas\n */\nexport class SchemasService {\n private readonly schemasApi: SchemasApi;\n\n constructor(client: KadoaClient) {\n this.schemasApi = new SchemasApi(client.configuration);\n }\n\n /**\n * Create a schema builder with fluent API and inline create support.\n */\n builder(\n entityName?: string,\n ): SchemaBuilder & { create(name?: string): Promise<SchemaResponse> } {\n const service = this;\n return new (class extends SchemaBuilder {\n constructor() {\n super();\n if (entityName) {\n this.entity(entityName);\n }\n }\n\n async create(name?: string): Promise<SchemaResponse> {\n const built = this.build();\n const schemaName = name ?? built.entityName;\n\n if (!schemaName) {\n throw new KadoaSdkException(\n \"Schema name is required when entity name is not provided\",\n {\n code: \"VALIDATION_ERROR\",\n details: { name },\n },\n );\n }\n\n const createSchemaBody = {\n name: schemaName,\n fields: built.fields,\n ...(built.entityName ? { entity: built.entityName } : {}),\n };\n\n return service.createSchema(\n createSchemaBody as CreateSchemaRequest,\n );\n }\n })();\n }\n\n /**\n * Get a schema by ID\n */\n async getSchema(schemaId: string): Promise<SchemaResponse> {\n debug(\"Fetching schema with ID: %s\", schemaId);\n\n const response = await this.schemasApi.v4SchemasSchemaIdGet({\n schemaId,\n });\n\n const schemaData = response.data.data;\n\n if (!schemaData) {\n throw new KadoaSdkException(\n `${ERROR_MESSAGES.SCHEMA_NOT_FOUND}: ${schemaId}`,\n {\n code: KadoaErrorCode.NOT_FOUND,\n details: { schemaId },\n },\n );\n }\n\n return schemaData;\n }\n\n /**\n * List all schemas\n */\n async listSchemas(): Promise<SchemaResponse[]> {\n const response = await this.schemasApi.v4SchemasGet();\n return response.data.data;\n }\n\n /**\n * Create a new schema\n */\n async createSchema(body: CreateSchemaRequest): Promise<SchemaResponse> {\n debug(\"Creating schema with name: %s\", body.name);\n\n const response = await this.schemasApi.v4SchemasPost({\n createSchemaBody: body,\n });\n\n const schemaId = response.data.schemaId;\n\n if (!schemaId) {\n throw new KadoaSdkException(ERROR_MESSAGES.SCHEMA_CREATE_FAILED, {\n code: KadoaErrorCode.INTERNAL_ERROR,\n });\n }\n\n // Fetch the created schema to return the full schema object\n return this.getSchema(schemaId);\n }\n\n /**\n * Update an existing schema\n */\n async updateSchema(\n schemaId: string,\n body: UpdateSchemaRequest,\n ): Promise<SchemaResponse> {\n debug(\"Updating schema with ID: %s\", schemaId);\n\n await this.schemasApi.v4SchemasSchemaIdPut({\n schemaId,\n updateSchemaBody: body,\n });\n\n // Fetch the updated schema to return the full schema object\n return this.getSchema(schemaId);\n }\n\n /**\n * Delete a schema\n */\n async deleteSchema(schemaId: string): Promise<void> {\n debug(\"Deleting schema with ID: %s\", schemaId);\n\n await this.schemasApi.v4SchemasSchemaIdDelete({\n schemaId,\n });\n }\n}\n","import type { AxiosResponse } from \"axios\";\nimport type { KadoaClient } from \"../../../kadoa-client\";\nimport { KadoaSdkException } from \"../../../runtime/exceptions\";\nimport { ERROR_MESSAGES } from \"../../../runtime/exceptions/base.exception\";\nimport { SchemasService } from \"../../schemas/schemas.service\";\nimport type { LocationConfig, SchemaField } from \"../extraction.acl\";\n\nexport interface EntityPrediction {\n entity: string;\n fields: SchemaField[];\n primaryKeyField?: string;\n expectedResults?: string;\n}\n\nexport interface EntityResponse {\n success: boolean;\n entityPrediction: EntityPrediction[];\n screenshots?: string[];\n location?: {\n type: string;\n };\n}\n\nexport interface EntityRequestOptions {\n link: string;\n location?: LocationConfig;\n navigationMode?: string;\n}\n\nexport interface ResolvedEntity {\n entity?: string;\n fields: SchemaField[];\n}\n\nexport type EntityConfig =\n | \"ai-detection\"\n | { schemaId: string }\n | { name?: string; fields: SchemaField[] };\n\nexport const ENTITY_API_ENDPOINT = \"/v4/entity\";\n\n/**\n * Service for resolving entities and their fields from various sources\n *\n * NOTE: This is a workaround for the /v4/entity endpoint which is not yet exposed in the OpenAPI spec.\n * Once the endpoint is added to the OpenAPI specification, this manual implementation should be\n * replaced with the generated client code.\n */\nexport class EntityResolverService {\n private readonly schemasService: SchemasService;\n\n constructor(private readonly client: KadoaClient) {\n this.schemasService = new SchemasService(client);\n }\n\n /**\n * Resolves entity and fields from the provided entity configuration\n *\n * @param entityConfig The entity configuration to resolve\n * @param options Additional options for AI detection\n * @returns Resolved entity with fields\n */\n async resolveEntity(\n entityConfig: EntityConfig,\n options?: {\n link?: string;\n location?: LocationConfig;\n navigationMode?: string;\n },\n ): Promise<ResolvedEntity> {\n if (entityConfig === \"ai-detection\") {\n if (!options?.link) {\n throw new KadoaSdkException(ERROR_MESSAGES.LINK_REQUIRED, {\n code: \"VALIDATION_ERROR\",\n details: { entityConfig, options },\n });\n }\n\n // Step 1: Detect entity fields using AI\n const entityPrediction = await this.fetchEntityFields({\n link: options.link,\n location: options.location,\n navigationMode: options.navigationMode,\n });\n\n const entity = entityPrediction.entity;\n return {\n entity,\n fields: entityPrediction.fields,\n };\n } else if (entityConfig) {\n if (\"schemaId\" in entityConfig) {\n // Fetch schema from API to get entity and fields\n const schema = await this.schemasService.getSchema(\n entityConfig.schemaId,\n );\n return {\n entity: schema.entity ?? undefined,\n fields: schema.schema,\n };\n } else if (\"fields\" in entityConfig) {\n return {\n entity: entityConfig.name,\n fields: entityConfig.fields,\n };\n }\n }\n\n throw new KadoaSdkException(ERROR_MESSAGES.ENTITY_INVARIANT_VIOLATION, {\n details: {\n entity: entityConfig,\n },\n });\n }\n\n /**\n * Fetches entity fields dynamically from the /v4/entity endpoint.\n * This is a workaround implementation using native fetch since the endpoint\n * is not yet included in the OpenAPI specification.\n *\n * @param options Request options including the link to analyze\n * @returns EntityPrediction containing the detected entity type and fields\n */\n async fetchEntityFields(\n options: EntityRequestOptions,\n ): Promise<EntityPrediction> {\n this.validateEntityOptions(options);\n\n const url = `${this.client.baseUrl}${ENTITY_API_ENDPOINT}`;\n const requestBody: EntityRequestOptions = options;\n\n const response: AxiosResponse<EntityResponse> =\n await this.client.axiosInstance.post(url, requestBody, {\n headers: {\n \"Content-Type\": \"application/json\",\n Accept: \"application/json\",\n \"x-api-key\": this.client.apiKey,\n },\n });\n\n const data = response.data;\n\n if (\n !data.success ||\n !data.entityPrediction ||\n data.entityPrediction.length === 0\n ) {\n throw new KadoaSdkException(ERROR_MESSAGES.NO_PREDICTIONS, {\n code: \"NOT_FOUND\",\n details: {\n success: data.success,\n hasPredictions: !!data.entityPrediction,\n predictionCount: data.entityPrediction?.length || 0,\n link: options.link,\n },\n });\n }\n\n return data.entityPrediction[0];\n }\n\n /**\n * Validates entity request options\n */\n private validateEntityOptions(options: EntityRequestOptions): void {\n if (!options.link) {\n throw new KadoaSdkException(ERROR_MESSAGES.LINK_REQUIRED, {\n code: \"VALIDATION_ERROR\",\n details: { options },\n });\n }\n }\n}\n","import { merge } from \"es-toolkit\";\nimport { KadoaSdkException } from \"../../../runtime/exceptions\";\nimport { ERROR_MESSAGES } from \"../../../runtime/exceptions/base.exception\";\nimport { logger } from \"../../../runtime/logger\";\nimport type { PageInfo } from \"../../../runtime/pagination\";\nimport type {\n NotificationChannel,\n NotificationChannelsService,\n NotificationOptions,\n NotificationSettings,\n NotificationSettingsService,\n NotificationSetupService,\n} from \"../../notifications\";\nimport type {\n GetJobResponse,\n RunWorkflowRequest,\n RunWorkflowResponse,\n WorkflowsCoreService,\n} from \"../../workflows\";\nimport type {\n FetchDataOptions,\n LocationConfig,\n NavigationMode,\n WorkflowDetailsResponse,\n WorkflowInterval,\n WorkflowMonitoringConfig,\n} from \"../extraction.acl\";\nimport type {\n DataFetcherService,\n FetchDataResult,\n} from \"./data-fetcher.service\";\nimport type {\n EntityConfig,\n EntityResolverService,\n} from \"./entity-resolver.service\";\n\nconst debug = logger.extraction;\n\nexport interface ExtractionOptionsInternal {\n urls: string[];\n prompt?: string;\n mode: \"run\" | \"submit\";\n navigationMode: NavigationMode;\n name: string;\n description?: string;\n location: LocationConfig;\n bypassPreview?: boolean;\n pollingInterval: number;\n maxWaitTime: number;\n entity: EntityConfig;\n interval?: WorkflowInterval;\n monitoring?: WorkflowMonitoringConfig;\n tags?: string[];\n notifications?: NotificationOptions;\n autoStart?: boolean;\n}\n\nexport type ExtractionOptions = {\n urls: string[];\n} & Partial<Omit<ExtractionOptionsInternal, \"urls\">>;\n\nexport interface ExtractionResult {\n workflowId: string;\n workflow?: WorkflowDetailsResponse;\n data?: Array<object>;\n pagination?: PageInfo;\n}\n\nexport interface SubmitExtractionResult {\n workflowId: string;\n needsNotificationSetup?: boolean;\n}\n\n// Use TERMINAL_RUN_STATES from WorkflowsCoreService for consistency\nconst SUCCESSFUL_RUN_STATES = new Set([\"FINISHED\", \"SUCCESS\"]);\n\nexport const DEFAULT_OPTIONS: Omit<\n ExtractionOptionsInternal,\n \"urls\" | \"entity\" | \"fields\" | \"description\"\n> = {\n mode: \"run\",\n pollingInterval: 5000,\n maxWaitTime: 300000,\n navigationMode: \"single-page\",\n location: { type: \"auto\" },\n name: \"Untitled Workflow\",\n bypassPreview: true,\n autoStart: true,\n} as const;\n/**\n * Service for managing extraction workflows and data fetching\n */\nexport class ExtractionService {\n constructor(\n private readonly workflowsCoreService: WorkflowsCoreService,\n private readonly dataFetcherService: DataFetcherService,\n private readonly entityResolverService: EntityResolverService,\n private readonly notificationSetupService: NotificationSetupService,\n private readonly notificationChannelsService: NotificationChannelsService,\n private readonly notificationSettingsService: NotificationSettingsService,\n ) {}\n\n /**\n * Run an extraction workflow and wait for completion.\n */\n async run(options: ExtractionOptions): Promise<ExtractionResult> {\n return await this.executeExtraction({ ...options, mode: \"run\" });\n }\n\n /**\n * Submit an extraction workflow for asynchronous processing.\n */\n async submit(options: ExtractionOptions): Promise<SubmitExtractionResult> {\n return await this.executeExtraction({ ...options, mode: \"submit\" });\n }\n\n /**\n * Trigger a workflow run without waiting for completion.\n */\n async runJob(\n workflowId: string,\n input: RunWorkflowRequest,\n ): Promise<RunWorkflowResponse> {\n return await this.workflowsCoreService.runWorkflow(workflowId, input);\n }\n\n /**\n * Trigger a workflow run and wait for the job to complete.\n */\n async runJobAndWait(\n workflowId: string,\n input: RunWorkflowRequest,\n ): Promise<GetJobResponse> {\n const result = await this.workflowsCoreService.runWorkflow(\n workflowId,\n input,\n );\n return await this.workflowsCoreService.waitForJobCompletion(\n workflowId,\n result.jobId || \"\",\n );\n }\n\n /**\n * Fetch a single page of extraction data.\n */\n async fetchData(options: FetchDataOptions): Promise<FetchDataResult> {\n return await this.dataFetcherService.fetchData(options);\n }\n\n /**\n * Fetch all extraction data across all pages.\n */\n async fetchAllData(options: FetchDataOptions): Promise<object[]> {\n return await this.dataFetcherService.fetchAllData(options);\n }\n\n /**\n * Iterate through extraction data pages.\n */\n fetchDataPages(\n options: FetchDataOptions,\n ): AsyncGenerator<FetchDataResult, void, unknown> {\n return this.dataFetcherService.fetchDataPages(options);\n }\n\n /**\n * List notification channels for a workflow.\n */\n async getNotificationChannels(\n workflowId: string,\n ): Promise<NotificationChannel[]> {\n return await this.notificationChannelsService.listChannels({ workflowId });\n }\n\n /**\n * List notification settings for a workflow.\n */\n async getNotificationSettings(\n workflowId: string,\n ): Promise<NotificationSettings[]> {\n return await this.notificationSettingsService.listSettings({ workflowId });\n }\n\n /**\n * execute extraction workflow\n */\n private async executeExtraction(\n options: ExtractionOptions & { mode?: \"run\" },\n ): Promise<ExtractionResult>;\n private async executeExtraction(\n options: ExtractionOptions & { mode: \"submit\" },\n ): Promise<SubmitExtractionResult>;\n private async executeExtraction(\n options: ExtractionOptions & { mode?: \"run\" | \"submit\" },\n ): Promise<ExtractionResult | SubmitExtractionResult> {\n this.validateOptions(options);\n\n const config: Omit<ExtractionOptionsInternal, \"entity\" | \"fields\"> = merge(\n DEFAULT_OPTIONS,\n options,\n );\n\n let workflowId: string;\n\n const resolvedEntity = await this.entityResolverService.resolveEntity(\n options.entity || \"ai-detection\",\n {\n link: config.urls[0],\n location: config.location,\n navigationMode: config.navigationMode,\n },\n );\n\n const hasNotifications = !!config.notifications;\n\n const workflowRequest = {\n ...config,\n fields: resolvedEntity.fields,\n ...(resolvedEntity.entity !== undefined\n ? { entity: resolvedEntity.entity }\n : {}),\n };\n\n const result = await this.workflowsCoreService.create(workflowRequest);\n workflowId = result.id;\n\n if (hasNotifications) {\n //note: for now we rely on the fact that notifcations will be setup faster than first event is emitted\n // in few days, we should be able to create workflow without starting it immediately so we will be 100%\n // sure that notifications are setup before first event is emitted\n const result = await this.notificationSetupService.setup({\n workflowId,\n events: config.notifications?.events,\n channels: config.notifications?.channels,\n });\n debug(\n \"Notifications setup: %O\",\n result.map((r) => ({ id: r.id, eventType: r.eventType })),\n );\n }\n\n if (config.mode === \"submit\") {\n return {\n workflowId,\n };\n }\n\n const workflow = await this.workflowsCoreService.wait(workflowId, {\n pollIntervalMs: config.pollingInterval,\n timeoutMs: config.maxWaitTime,\n });\n\n let data: Array<object> | undefined;\n let pagination: PageInfo | undefined;\n const isSuccess = this.isExtractionSuccessful(workflow.runState);\n\n if (isSuccess) {\n const dataPage = await this.dataFetcherService.fetchData({ workflowId });\n data = dataPage.data;\n pagination = dataPage.pagination;\n } else {\n throw new KadoaSdkException(\n `${ERROR_MESSAGES.WORKFLOW_UNEXPECTED_STATUS}: ${workflow.runState}`,\n {\n code: \"INTERNAL_ERROR\",\n details: {\n workflowId,\n runState: workflow.runState,\n state: workflow.state,\n },\n },\n );\n }\n\n return {\n workflowId,\n workflow,\n data,\n pagination,\n };\n }\n\n /**\n * Validates extraction options\n */\n private validateOptions(options: ExtractionOptions): void {\n if (!options.urls || options.urls.length === 0) {\n throw new KadoaSdkException(ERROR_MESSAGES.NO_URLS, {\n code: \"VALIDATION_ERROR\",\n });\n }\n }\n\n /**\n * Resume a workflow after notification setup\n */\n async resumeWorkflow(workflowId: string): Promise<ExtractionResult> {\n await this.workflowsCoreService.resume(workflowId);\n\n const workflow = await this.workflowsCoreService.wait(workflowId, {\n pollIntervalMs: DEFAULT_OPTIONS.pollingInterval,\n timeoutMs: DEFAULT_OPTIONS.maxWaitTime,\n });\n\n let data: Array<object> | undefined;\n let pagination: PageInfo | undefined;\n const isSuccess = this.isExtractionSuccessful(workflow.runState);\n\n if (isSuccess) {\n const dataPage = await this.dataFetcherService.fetchData({ workflowId });\n data = dataPage.data;\n pagination = dataPage.pagination;\n } else {\n throw new KadoaSdkException(\n `${ERROR_MESSAGES.WORKFLOW_UNEXPECTED_STATUS}: ${workflow.runState}`,\n {\n code: \"INTERNAL_ERROR\",\n details: {\n workflowId,\n runState: workflow.runState,\n state: workflow.state,\n },\n },\n );\n }\n\n return {\n workflowId,\n workflow,\n data,\n pagination,\n };\n }\n\n /**\n * Checks if extraction was successful\n */\n private isExtractionSuccessful(runState: string | undefined): boolean {\n return runState ? SUCCESSFUL_RUN_STATES.has(runState.toUpperCase()) : false;\n }\n}\n","import assert from \"node:assert\";\nimport { KadoaSdkException } from \"../../../runtime/exceptions\";\nimport { ERROR_MESSAGES } from \"../../../runtime/exceptions/base.exception\";\nimport { logger } from \"../../../runtime/logger\";\nimport type {\n NotificationOptions,\n NotificationSetupService,\n} from \"../../notifications/notification-setup.service\";\nimport { SchemaBuilder } from \"../../schemas/schema-builder\";\nimport type { WorkflowsCoreService } from \"../../workflows/workflows-core.service\";\nimport type {\n FetchDataOptions,\n LocationConfig,\n NavigationMode,\n WorkflowInterval,\n WorkflowMonitoringConfig,\n} from \"../extraction.acl\";\nimport type {\n DataFetcherService,\n FetchDataResult,\n} from \"./data-fetcher.service\";\nimport type {\n EntityConfig,\n EntityResolverService,\n} from \"./entity-resolver.service\";\n\nconst debug = logger.extraction;\n\nexport interface ExtractOptionsInternal {\n urls: string[];\n name: string;\n description?: string;\n navigationMode: NavigationMode;\n entity: EntityConfig;\n bypassPreview?: boolean;\n interval?: WorkflowInterval;\n schedules?: string[];\n location?: LocationConfig;\n}\n\nexport interface ExtractOptions\n extends Omit<ExtractOptionsInternal, \"navigationMode\" | \"entity\"> {\n navigationMode?: NavigationMode;\n extraction?: (builder: SchemaBuilder) => SchemaBuilder | { schemaId: string };\n}\n\nexport interface PreparedExtraction {\n options: ExtractOptionsInternal;\n withNotifications: (options: NotificationOptions) => PreparedExtraction;\n\n withMonitoring: (options: WorkflowMonitoringConfig) => PreparedExtraction;\n\n setInterval: (\n options: { interval: WorkflowInterval } | { schedules: string[] },\n ) => PreparedExtraction;\n\n bypassPreview: () => PreparedExtraction;\n\n setLocation: (options: LocationConfig) => PreparedExtraction;\n\n create: () => Promise<CreatedExtraction>;\n}\n\nexport interface RunWorkflowOptions {\n variables: Record<string, unknown>;\n limit: number;\n}\n\nexport interface CreatedExtraction {\n options: ExtractOptionsInternal;\n workflowId: string;\n run: (options?: RunWorkflowOptions) => Promise<FinishedExtraction>;\n submit: (options?: RunWorkflowOptions) => Promise<SubmittedExtraction>;\n}\n\nexport interface SubmittedExtraction {\n workflowId: string;\n jobId: string;\n}\n\nexport interface FinishedExtraction {\n jobId: string;\n\n fetchData: (\n options: Omit<FetchDataOptions, \"workflowId\" | \"runId\">,\n ) => Promise<FetchDataResult>;\n fetchAllData: (\n options: Omit<FetchDataOptions, \"workflowId\" | \"runId\" | \"page\" | \"limit\">,\n ) => Promise<object[]>;\n}\n\nexport class ExtractionBuilderService {\n private _options: ExtractOptionsInternal | undefined;\n private _workflowId: string | undefined;\n private _jobId: string | undefined;\n private _notificationOptions: NotificationOptions | undefined;\n private _monitoringOptions: WorkflowMonitoringConfig | undefined;\n\n get options(): ExtractOptionsInternal {\n assert(this._options, \"Options are not set\");\n return this._options;\n }\n\n get notificationOptions(): NotificationOptions | undefined {\n return this._notificationOptions;\n }\n\n get monitoringOptions(): WorkflowMonitoringConfig | undefined {\n return this._monitoringOptions;\n }\n\n get workflowId(): string {\n assert(this._workflowId, \"Workflow ID is not set\");\n return this._workflowId;\n }\n\n get jobId(): string {\n assert(this._jobId, \"Job ID is not set\");\n return this._jobId;\n }\n\n constructor(\n private readonly workflowsCoreService: WorkflowsCoreService,\n private readonly entityResolverService: EntityResolverService,\n private readonly dataFetcherService: DataFetcherService,\n private readonly notificationSetupService: NotificationSetupService,\n ) {}\n\n extract({\n urls,\n name,\n description,\n navigationMode,\n extraction,\n }: ExtractOptions): PreparedExtraction {\n let entity: EntityConfig = \"ai-detection\";\n\n if (extraction) {\n const result = extraction(new SchemaBuilder());\n\n if (\"schemaId\" in result) {\n entity = { schemaId: result.schemaId };\n } else {\n const builtSchema = result.build();\n entity = builtSchema.entityName\n ? { name: builtSchema.entityName, fields: builtSchema.fields }\n : { fields: builtSchema.fields };\n }\n }\n\n this._options = {\n urls,\n name,\n description,\n navigationMode: navigationMode || \"single-page\",\n entity,\n bypassPreview: false,\n };\n return this;\n }\n\n withNotifications(\n options: Omit<NotificationOptions, \"workflowId\">,\n ): PreparedExtraction {\n this._notificationOptions = options;\n\n return this;\n }\n\n withMonitoring(options: WorkflowMonitoringConfig): PreparedExtraction {\n this._monitoringOptions = options;\n return this;\n }\n\n bypassPreview(): PreparedExtraction {\n assert(this._options, \"Options are not set\");\n this._options.bypassPreview = true;\n return this;\n }\n\n setInterval(\n options: { interval: WorkflowInterval } | { schedules: string[] },\n ): PreparedExtraction {\n assert(this._options, \"Options are not set\");\n if (\"interval\" in options) {\n this._options.interval = options.interval;\n } else {\n this._options.interval = \"CUSTOM\";\n this._options.schedules = options.schedules;\n }\n return this;\n }\n\n setLocation(options: LocationConfig): PreparedExtraction {\n assert(this._options, \"Options are not set\");\n this._options.location = options;\n return this;\n }\n\n async create(): Promise<CreatedExtraction> {\n assert(this._options, \"Options are not set\");\n const { urls, name, description, navigationMode, entity } = this.options;\n const resolvedEntity = await this.entityResolverService.resolveEntity(\n entity,\n {\n link: urls[0],\n location: this._options.location,\n navigationMode,\n },\n );\n\n const workflow = await this.workflowsCoreService.create({\n urls,\n name,\n description,\n navigationMode,\n monitoring: this._monitoringOptions,\n schemaId:\n typeof entity === \"object\" && \"schemaId\" in entity\n ? entity.schemaId\n : undefined,\n entity: resolvedEntity.entity,\n fields: resolvedEntity.fields,\n autoStart: false,\n interval: this._options.interval,\n schedules: this._options.schedules,\n });\n\n if (this._notificationOptions) {\n await this.notificationSetupService.setup({\n ...this._notificationOptions,\n workflowId: workflow.id,\n });\n }\n\n this._workflowId = workflow.id;\n return this;\n }\n\n async run(options?: RunWorkflowOptions): Promise<FinishedExtraction> {\n assert(this._options, \"Options are not set\");\n assert(this._workflowId, \"Workflow ID is not set\");\n\n const startedJob = await this.workflowsCoreService.runWorkflow(\n this._workflowId,\n { variables: options?.variables, limit: options?.limit },\n );\n assert(startedJob.jobId, \"Job ID is not set\"); //todo: I am not sure about this\n debug(\"Job started: %O\", startedJob);\n this._jobId = startedJob.jobId;\n\n const finishedJob = await this.workflowsCoreService.waitForJobCompletion(\n this._workflowId,\n startedJob.jobId,\n );\n debug(\"Job finished: %O\", finishedJob);\n\n return this;\n }\n async submit(options?: RunWorkflowOptions): Promise<SubmittedExtraction> {\n assert(this._options, \"Options are not set\");\n assert(this._workflowId, \"Workflow ID is not set\");\n\n const submittedJob = await this.workflowsCoreService.runWorkflow(\n this._workflowId,\n { variables: options?.variables, limit: options?.limit },\n );\n assert(submittedJob.jobId, \"Job ID is not set\"); //todo: I am not sure about this\n debug(\"Job submitted: %O\", submittedJob);\n\n this._jobId = submittedJob.jobId;\n\n return {\n workflowId: this._workflowId,\n jobId: this._jobId,\n };\n }\n\n async fetchData(\n options: Omit<FetchDataOptions, \"workflowId\" | \"runId\">,\n ): Promise<FetchDataResult> {\n assert(this._workflowId, \"Workflow ID is not set\");\n assert(this._jobId, \"Job ID is not set\");\n return this.dataFetcherService.fetchData({\n workflowId: this._workflowId,\n runId: this._jobId,\n page: options.page ?? 1,\n limit: options.limit ?? 100,\n ...options,\n });\n }\n\n async fetchAllData(\n options: Omit<FetchDataOptions, \"workflowId\" | \"runId\" | \"page\" | \"limit\">,\n ): Promise<object[]> {\n assert(this._jobId, \"Job ID is not set\");\n assert(this._workflowId, \"Workflow ID is not set\");\n return this.dataFetcherService.fetchAllData({\n workflowId: this._workflowId,\n runId: this._jobId,\n ...options,\n });\n }\n}\n","/**\n * Notifications domain ACL.\n * Wraps generated NotificationsApi requests/responses and normalizes types.\n * Downstream code must import from this module instead of `generated/**`.\n */\n\nimport {\n type EmailChannelConfig,\n NotificationsApi,\n type NotificationsApiInterface,\n type NotificationsApiV5NotificationsChannelsGetRequest,\n type NotificationsApiV5NotificationsSettingsGetRequest,\n type SlackChannelConfig,\n type V5NotificationsChannelsGet200ResponseDataChannelsInner,\n type V5NotificationsChannelsGet200ResponseDataChannelsInnerConfig,\n type V5NotificationsChannelsPostRequest,\n type V5NotificationsChannelsPostRequestChannelTypeEnum,\n type V5NotificationsSettingsGet200ResponseDataSettingsInner,\n V5NotificationsSettingsGetEventTypeEnum,\n type V5NotificationsSettingsPostRequest,\n type WebhookChannelConfig,\n type WebhookChannelConfigAuth,\n type WebhookChannelConfigHttpMethodEnum,\n} from \"../../generated\";\n\n// ========================================\n// API Client\n// ========================================\n\nexport { NotificationsApi };\nexport type { NotificationsApiInterface };\n\n// ========================================\n// Enums\n// ========================================\n\n/**\n * Notification channel type enum.\n * Re-exported from generated V5NotificationsChannelsPostRequestChannelTypeEnum.\n */\nconst NotificationChannelType = {\n EMAIL: \"EMAIL\" as const,\n SLACK: \"SLACK\" as const,\n WEBHOOK: \"WEBHOOK\" as const,\n WEBSOCKET: \"WEBSOCKET\" as const,\n} satisfies Record<string, V5NotificationsChannelsPostRequestChannelTypeEnum>;\n\ntype NotificationChannelType =\n (typeof NotificationChannelType)[keyof typeof NotificationChannelType];\n\nexport { NotificationChannelType };\n\n/**\n * Webhook HTTP method enum.\n * Re-exported from generated WebhookChannelConfigHttpMethodEnum.\n */\nexport type WebhookHttpMethod = WebhookChannelConfigHttpMethodEnum;\n\n// ========================================\n// Request Types\n// ========================================\n\n/**\n * Request parameters for listing notification channels.\n */\nexport class ListChannelsRequest\n implements NotificationsApiV5NotificationsChannelsGetRequest\n{\n workflowId?: string;\n}\n\n/**\n * Request to create a notification channel with SDK-curated enum types.\n */\nexport interface CreateChannelRequest\n extends Omit<V5NotificationsChannelsPostRequest, \"channelType\"> {\n channelType: NotificationChannelType;\n}\n\n// ========================================\n// Response Types\n// ========================================\n\n/**\n * Notification channel response.\n * Note: Response types are simple DTOs without enum fields that need remapping.\n */\nexport type NotificationChannel =\n V5NotificationsChannelsGet200ResponseDataChannelsInner;\n\n/**\n * Notification channel configuration (union type for all channel configs).\n */\nexport type NotificationChannelConfig =\n V5NotificationsChannelsGet200ResponseDataChannelsInnerConfig;\n\n// ========================================\n// Channel Config Types\n// ========================================\n\n/**\n * Email channel configuration.\n */\nexport type { EmailChannelConfig };\n\n/**\n * Slack channel configuration.\n */\nexport type { SlackChannelConfig };\n\n/**\n * Webhook channel configuration.\n */\nexport type { WebhookChannelConfig };\n\n/**\n * Webhook authentication configuration.\n */\nexport type { WebhookChannelConfigAuth };\n\n/**\n * WebSocket channel configuration (empty object).\n */\nexport type WebsocketChannelConfig = Record<string, never>;\n\n/**\n * Union of all channel configuration types.\n */\nexport type ChannelConfig =\n | EmailChannelConfig\n | SlackChannelConfig\n | WebhookChannelConfig\n | WebsocketChannelConfig;\n\n// ========================================\n// Notification Settings Types\n// ========================================\n\n/**\n * Request parameters for listing notification settings.\n */\nexport class ListSettingsRequest\n implements NotificationsApiV5NotificationsSettingsGetRequest\n{\n workflowId?: string;\n eventType?: NotificationSettingsEventType;\n}\n\n/**\n * Request to create notification settings with SDK-curated enum types.\n */\nexport interface CreateSettingsRequest\n extends Omit<V5NotificationsSettingsPostRequest, \"eventType\"> {\n eventType: NotificationSettingsEventType;\n}\n\n/**\n * Notification settings response.\n */\nexport type NotificationSettings =\n V5NotificationsSettingsGet200ResponseDataSettingsInner;\n\n/**\n * Notification event type enum.\n * Re-exported from generated V5NotificationsSettingsGetEventTypeEnum.\n */\nexport type NotificationSettingsEventType =\n V5NotificationsSettingsGetEventTypeEnum;\nexport {\n V5NotificationsSettingsGetEventTypeEnum as NotificationSettingsEventTypeEnum,\n};\n","import { merge } from \"es-toolkit\";\nimport { z } from \"zod\";\nimport {\n KadoaErrorCode,\n KadoaHttpException,\n KadoaSdkException,\n} from \"../../runtime/exceptions\";\nimport type { UserService } from \"../user/user.service\";\nimport {\n type CreateChannelRequest,\n type EmailChannelConfig,\n type ListChannelsRequest,\n type NotificationChannel,\n type NotificationChannelConfig,\n NotificationChannelType,\n type NotificationsApiInterface,\n type SlackChannelConfig,\n type WebhookChannelConfig,\n type WebsocketChannelConfig,\n} from \"./notifications.acl\";\n\nconst emailChannelConfigSchema = z.object({\n recipients: z\n .array(z.email())\n .min(1, \"Recipients are required for email channel\"),\n from: z\n .email()\n .refine(\n (email) => email.endsWith(\"@kadoa.com\"),\n \"From email address must end with @kadoa.com\",\n )\n .optional(),\n});\n\nexport class NotificationChannelsService {\n /**\n * Default channel name\n *\n */\n public static readonly DEFAULT_CHANNEL_NAME = \"default\";\n\n private readonly api: NotificationsApiInterface;\n private readonly userService: UserService;\n\n constructor(\n notificationsApi: NotificationsApiInterface,\n userService: UserService,\n ) {\n this.api = notificationsApi;\n this.userService = userService;\n }\n\n async listChannels(\n filters: ListChannelsRequest,\n ): Promise<NotificationChannel[]> {\n const response = await this.api.v5NotificationsChannelsGet(filters);\n const data = response.data.data?.channels;\n if (!data) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to list channels\",\n });\n }\n return data as NotificationChannel[];\n }\n\n /**\n * List all channels (both workflow-specific and workspace-level)\n * This is useful for finding workspace-level channels like WebSocket channels\n * that might not be associated with a specific workflow\n */\n async listAllChannels(workflowId?: string): Promise<NotificationChannel[]> {\n if (!workflowId) {\n // If no workflowId, just list workspace-level channels\n return this.listChannels({});\n }\n\n // List both workflow-specific and workspace-level channels\n const [workflowChannels, workspaceChannels] = await Promise.all([\n this.listChannels({ workflowId }),\n this.listChannels({}),\n ]);\n\n // Combine and deduplicate channels\n const allChannels = [...workflowChannels];\n workspaceChannels.forEach((channel) => {\n if (!allChannels.find((c) => c.id === channel.id)) {\n allChannels.push(channel);\n }\n });\n\n return allChannels;\n }\n\n async deleteChannel(channelId: string): Promise<void> {\n const response = await this.api.v5NotificationsChannelsChannelIdDelete({\n channelId,\n });\n\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to delete channel\",\n });\n }\n }\n\n async createChannel(\n type: NotificationChannelType,\n config?: Pick<CreateChannelRequest, \"name\" | \"config\">,\n ): Promise<NotificationChannel> {\n const payload = await this.buildPayload(\n merge(config || {}, {\n name: NotificationChannelsService.DEFAULT_CHANNEL_NAME,\n channelType: type,\n config: {},\n }),\n );\n\n const response = await this.api.v5NotificationsChannelsPost({\n v5NotificationsChannelsPostRequest: payload,\n });\n\n if (response.status === 201) {\n const data = response.data.data?.channel;\n if (!data) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to create default channels\",\n });\n }\n return data as NotificationChannel;\n }\n\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to create default channels\",\n });\n }\n\n private async buildPayload(\n request: CreateChannelRequest,\n ): Promise<CreateChannelRequest> {\n let config: NotificationChannelConfig;\n\n switch (request.channelType) {\n case NotificationChannelType.EMAIL:\n config = await this.buildEmailChannelConfig(\n request.config as EmailChannelConfig,\n );\n break;\n case NotificationChannelType.SLACK:\n config = await this.buildSlackChannelConfig(\n request.config as SlackChannelConfig,\n );\n break;\n case NotificationChannelType.WEBHOOK:\n config = await this.buildWebhookChannelConfig(\n request.config as WebhookChannelConfig,\n );\n break;\n case NotificationChannelType.WEBSOCKET:\n config = await this.buildWebsocketChannelConfig(\n request.config as WebsocketChannelConfig,\n );\n break;\n default:\n // todo: maybe throw?\n config = {};\n }\n return {\n name: request.name || \"Default Channel\",\n channelType: request.channelType,\n config: config,\n };\n }\n\n private async buildEmailChannelConfig(\n defaults: EmailChannelConfig,\n ): Promise<EmailChannelConfig> {\n let recipients = defaults.recipients;\n if (!defaults.recipients?.length) {\n const user = await this.userService.getCurrentUser();\n recipients = [user.email];\n }\n const config = merge(defaults, { recipients });\n const result = emailChannelConfigSchema.safeParse(config);\n if (!result.success) {\n throw new KadoaSdkException(`Invalid email channel config`, {\n code: KadoaErrorCode.VALIDATION_ERROR,\n details: {\n issues: result.error.issues,\n },\n });\n }\n\n return result.data;\n }\n\n private async buildSlackChannelConfig(\n defaults: SlackChannelConfig,\n ): Promise<SlackChannelConfig> {\n return defaults;\n }\n\n private async buildWebhookChannelConfig(\n defaults: WebhookChannelConfig,\n ): Promise<WebhookChannelConfig> {\n return defaults;\n }\n\n private async buildWebsocketChannelConfig(\n defaults: WebsocketChannelConfig,\n ): Promise<WebsocketChannelConfig> {\n return defaults;\n }\n}\n","import { KadoaHttpException } from \"../../runtime/exceptions\";\nimport {\n type CreateSettingsRequest,\n type ListSettingsRequest,\n type NotificationSettings,\n type NotificationSettingsEventType,\n NotificationSettingsEventTypeEnum,\n type NotificationsApiInterface,\n} from \"./notifications.acl\";\n\nexport class NotificationSettingsService {\n private readonly api: NotificationsApiInterface;\n\n constructor(notificationsApi: NotificationsApiInterface) {\n this.api = notificationsApi;\n }\n\n async createSettings(\n requestData: CreateSettingsRequest,\n ): Promise<NotificationSettings> {\n const response = await this.api.v5NotificationsSettingsPost({\n v5NotificationsSettingsPostRequest: requestData,\n });\n const data = response.data.data?.settings;\n if (!data) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to create notification settings\",\n });\n }\n return data as NotificationSettings;\n }\n\n async listSettings(\n filters: ListSettingsRequest,\n ): Promise<NotificationSettings[]> {\n const response = await this.api.v5NotificationsSettingsGet(filters);\n const data = response.data.data?.settings;\n if (!data) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to list notification settings\",\n });\n }\n return data as NotificationSettings[];\n }\n\n async listAllEvents(): Promise<NotificationSettingsEventType[]> {\n return Object.values(NotificationSettingsEventTypeEnum);\n }\n\n async deleteSettings(settingsId: string): Promise<void> {\n const response = await this.api.v5NotificationsSettingsSettingsIdDelete({\n settingsId,\n });\n\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response, {\n message: \"Failed to delete notification settings\",\n });\n }\n }\n}\n","import { KadoaErrorCode, KadoaSdkException } from \"../../runtime/exceptions\";\nimport { logger } from \"../../runtime/logger\";\nimport { NotificationChannelsService } from \"./notification-channels.service\";\nimport type { NotificationSettingsService } from \"./notification-settings.service\";\nimport {\n type ChannelConfig,\n type NotificationChannel,\n NotificationChannelType,\n type NotificationSettings,\n type NotificationSettingsEventType,\n type SlackChannelConfig,\n type WebhookChannelConfig,\n} from \"./notifications.acl\";\n\nconst debug = logger.notifications;\n\nexport type ChannelSetupRequestConfig = ChannelConfig & {\n /**\n * The name of the email channel. \"default\" if not provided\n */\n name: string;\n};\n\nexport type NotificationSetupRequestChannels = {\n /**\n * - true: create a new email channel using user's default email\n * - { channelId: string }: use existing email channel\n * - EmailChannelConfig: create a new email channel using the provided configuration\n */\n EMAIL?:\n | true\n | { channelId: string }\n | (ChannelSetupRequestConfig & {\n /**\n * The name of the email channel. \"default\" if not provided\n */\n name: string;\n });\n /**\n * - true: create a new websocket channel using user's default websocket\n * - { channelId: string }: use existing websocket channel\n */\n WEBSOCKET?: true | { channelId: string };\n /**\n * - { channelId: string }: use existing slack channel\n * - SlackChannelConfig: create a new slack channel using the provided configuration\n */\n SLACK?:\n | { channelId: string }\n | (SlackChannelConfig & {\n /**\n * The name of the slack channel. \"default\" if not provided\n */\n name: string;\n });\n /**\n * - { channelId: string }: use existing webhook channel\n * - WebhookChannelConfig: create a new webhook channel using the provided configuration\n */\n WEBHOOK?:\n | { channelId: string }\n | (WebhookChannelConfig & {\n /**\n * The name of the webhook channel\n */\n name: string;\n });\n};\n\nexport interface NotificationOptions {\n workflowId?: string;\n events?: NotificationSettingsEventType[] | \"all\";\n channels?: NotificationSetupRequestChannels;\n}\n\nexport interface SetupWorkspaceNotificationSettingsRequest {\n events: NotificationSettingsEventType[] | \"all\";\n channels: NotificationSetupRequestChannels;\n}\n\nexport interface SetupWorkflowNotificationSettingsRequest\n extends SetupWorkspaceNotificationSettingsRequest {\n workflowId: string;\n}\n\nexport class NotificationSetupService {\n constructor(\n private readonly channelsService: NotificationChannelsService,\n private readonly settingsService: NotificationSettingsService,\n ) {}\n\n /**\n * Setup notification settings for a specific workflow ensuring no duplicates exist.\n */\n async setupForWorkflow(\n requestData: SetupWorkflowNotificationSettingsRequest,\n ): Promise<NotificationSettings[]> {\n const existingSettings = await this.settingsService.listSettings({\n workflowId: requestData.workflowId,\n });\n if (existingSettings.length > 0) {\n throw new KadoaSdkException(\"Settings already exist\", {\n code: KadoaErrorCode.BAD_REQUEST,\n details: {\n workflowId: requestData.workflowId,\n },\n });\n }\n\n return this.setup({\n workflowId: requestData.workflowId,\n events: requestData.events,\n channels: requestData.channels,\n });\n }\n\n /**\n * Setup notification settings at the workspace level ensuring no duplicates exist.\n */\n async setupForWorkspace(\n requestData: SetupWorkspaceNotificationSettingsRequest,\n ): Promise<NotificationSettings[]> {\n const existingSettings = await this.settingsService.listSettings({});\n if (existingSettings.length > 0) {\n throw new KadoaSdkException(\"Workspace settings already exist\", {\n code: KadoaErrorCode.BAD_REQUEST,\n });\n }\n\n return this.setup({\n events: requestData.events,\n channels: requestData.channels,\n });\n }\n\n /**\n * Complete workflow notification setup including channels and settings\n *\n * @param requestData Workflow notification setup configuration\n * @returns Array of created notification settings\n */\n async setup(\n requestData: NotificationOptions,\n ): Promise<NotificationSettings[]> {\n requestData.workflowId\n ? debug(\n \"Setting up notifications for workflow %s\",\n requestData.workflowId,\n )\n : debug(\"Setting up notifications for workspace\");\n\n const channels = await this.setupChannels({\n workflowId: requestData.workflowId,\n channels: requestData.channels || {},\n });\n\n const events = requestData.events || \"all\";\n const eventTypes =\n events === \"all\" ? await this.settingsService.listAllEvents() : events;\n\n const channelIds = channels\n .map((channel) => channel.id)\n .filter(Boolean) as string[];\n\n debug(\n \"Creating notification settings for workflow %s: %O\",\n requestData.workflowId,\n {\n events: eventTypes,\n channels: channelIds,\n },\n );\n\n const newSettings: NotificationSettings[] = await Promise.all(\n eventTypes.map(async (eventType) => {\n return await this.settingsService.createSettings({\n workflowId: requestData.workflowId,\n channelIds,\n eventType,\n enabled: true,\n eventConfiguration: {},\n });\n }),\n );\n\n debug(\n requestData.workflowId\n ? \"Successfully setup notifications for workflow %s\"\n : \"Successfully setup notifications for workspace\",\n requestData.workflowId,\n );\n return newSettings;\n }\n\n async setupChannels(requestData: {\n workflowId?: string;\n channels: NotificationSetupRequestChannels;\n }): Promise<NotificationChannel[]> {\n // List all channels (both workflow-specific and workspace-level)\n const existingChannels = await this.channelsService.listAllChannels(\n requestData.workflowId,\n );\n\n const channelsByName = Object.entries(requestData.channels).filter(\n ([, value]) => value === true,\n ) as [NotificationChannelType, true][];\n\n const channelsById = Object.entries(requestData.channels).filter(\n ([_, value]) => typeof value === \"object\" && \"channelId\" in value,\n ) as [NotificationChannelType, { channelId: string }][];\n\n const channelsByConfig = Object.entries(requestData.channels).filter(\n ([, value]) => typeof value === \"object\" && !(\"channelId\" in value),\n ) as [NotificationChannelType, ChannelSetupRequestConfig][];\n\n const channelsByIdResult = await this.handleChannelsById({\n channelsById,\n existingChannels,\n workflowId: requestData.workflowId,\n });\n\n const defaultChannelsResult = await this.handleDefaultChannels({\n channelsByName,\n existingChannels,\n workflowId: requestData.workflowId,\n });\n const channelsByConfigResult = await this.handleChannelsByConfig({\n channelsByConfig,\n existingChannels,\n workflowId: requestData.workflowId,\n });\n\n return [\n ...channelsByIdResult,\n ...defaultChannelsResult,\n ...channelsByConfigResult,\n ];\n }\n\n private async handleChannelsById({\n channelsById,\n existingChannels,\n workflowId,\n }: {\n channelsById: [NotificationChannelType, { channelId: string }][];\n existingChannels: NotificationChannel[];\n workflowId?: string;\n }): Promise<NotificationChannel[]> {\n const requestedChannelIds = channelsById.map(\n ([_, value]) => value.channelId,\n );\n const resultChannels = existingChannels.filter(\n (channel) => channel.id && requestedChannelIds.includes(channel.id),\n );\n\n const foundChannelIds = resultChannels.map((channel) => channel.id);\n const missingChannelIds = requestedChannelIds.filter(\n (id) => !foundChannelIds.includes(id),\n );\n if (missingChannelIds.length > 0) {\n throw new KadoaSdkException(\n `Channels not found: ${missingChannelIds.join(\", \")}`,\n {\n code: KadoaErrorCode.NOT_FOUND,\n details: {\n workflowId,\n missingChannelIds,\n },\n },\n );\n }\n\n return resultChannels;\n }\n\n private async handleDefaultChannels({\n channelsByName,\n existingChannels,\n workflowId,\n }: {\n channelsByName: [NotificationChannelType, true][];\n existingChannels: NotificationChannel[];\n workflowId?: string;\n }): Promise<NotificationChannel[]> {\n const channels = await Promise.all(\n channelsByName.map(async ([channelType]) => {\n // For WebSocket channels, check if there's already ANY WebSocket channel\n // since the API only allows one WebSocket channel per workspace\n const existingChannel =\n channelType === NotificationChannelType.WEBSOCKET\n ? existingChannels.find(\n (channel) => channel.channelType === channelType,\n )\n : existingChannels.find(\n (channel) =>\n channel.channelType === channelType &&\n channel.name ===\n NotificationChannelsService.DEFAULT_CHANNEL_NAME,\n );\n\n if (existingChannel) {\n debug(\"Using existing default channel: %O\", {\n workflowId,\n channelType,\n channelId: existingChannel.id,\n });\n return existingChannel;\n }\n\n // Channel doesn't exist, create it\n const channel = await this.channelsService.createChannel(channelType);\n\n debug(\"Created default channel %O\", {\n workflowId,\n channelType,\n channel,\n });\n\n return channel;\n }),\n );\n\n return channels;\n }\n\n private async handleChannelsByConfig({\n channelsByConfig,\n existingChannels,\n workflowId,\n }: {\n channelsByConfig: [NotificationChannelType, ChannelSetupRequestConfig][];\n existingChannels: NotificationChannel[];\n workflowId?: string;\n }): Promise<NotificationChannel[]> {\n if (channelsByConfig.length === 0) {\n return [];\n }\n\n const channels = await Promise.all(\n channelsByConfig.map(async ([channelType, config]) => {\n const channelName =\n config.name || NotificationChannelsService.DEFAULT_CHANNEL_NAME;\n\n const existingChannel = existingChannels.find(\n (channel) =>\n channel.channelType === channelType &&\n (channel.name ||\n NotificationChannelsService.DEFAULT_CHANNEL_NAME) === channelName,\n );\n\n if (existingChannel) {\n debug(\"Using existing channel: %O\", {\n workflowId,\n channelType,\n channelName,\n channelId: existingChannel.id,\n });\n return existingChannel;\n }\n\n const channel = await this.channelsService.createChannel(channelType, {\n name: channelName,\n config: config,\n });\n\n debug(\"Created channel with custom config %O\", {\n workflowId,\n channelType,\n channelName,\n channel,\n });\n\n return channel;\n }),\n );\n\n return channels;\n }\n}\n","/**\n * API related constants\n */\n\nexport const PUBLIC_API_URI =\n process.env.KADOA_PUBLIC_API_URI ?? \"https://api.kadoa.com\";\n\nexport const WSS_API_URI =\n process.env.KADOA_WSS_API_URI ?? \"wss://realtime.kadoa.com\";\n\nexport const REALTIME_API_URI =\n process.env.KADOA_REALTIME_API_URI ?? \"https://realtime.kadoa.com\";\n","// x-release-please-start-version\nexport const SDK_VERSION = \"0.15.0\";\n// x-release-please-end\n\nexport const SDK_NAME = \"kadoa-node-sdk\";\nexport const SDK_LANGUAGE = \"node\";\n","import {\n PUBLIC_API_URI,\n REALTIME_API_URI,\n WSS_API_URI,\n} from \"../../runtime/config\";\nimport { KadoaSdkException } from \"../../runtime/exceptions\";\nimport { logger } from \"../../runtime/logger\";\nimport { SDK_VERSION } from \"../../version\";\n\nconst debug = logger.wss;\n\n// if WebSocket doesn't exist in the global scope, import it\nif (typeof WebSocket === \"undefined\") {\n global.WebSocket = require(\"ws\");\n}\n\nexport interface RealtimeConfig {\n teamApiKey: string;\n heartbeatInterval?: number;\n reconnectDelay?: number;\n missedHeartbeatsLimit?: number;\n}\n\nexport class Realtime {\n private socket?: WebSocket;\n private heartbeatInterval: number;\n private reconnectDelay: number;\n private lastHeartbeat: number = Date.now();\n private isConnecting: boolean = false;\n private missedHeartbeatsLimit: number;\n private missedHeartbeatCheckTimer?: ReturnType<typeof setInterval>;\n private teamApiKey?: string;\n private eventListeners: Set<(event: unknown) => void> = new Set();\n private connectionListeners: Set<\n (connected: boolean, reason?: string) => void\n > = new Set();\n private errorListeners: Set<(error: unknown) => void> = new Set();\n\n constructor(config: RealtimeConfig) {\n if (!config.teamApiKey.startsWith(\"tk-\")) {\n throw new KadoaSdkException(\n \"Realtime connection requires a team API key (starting with 'tk-'). \" +\n \"Provided key does not appear to be a team API key.\",\n {\n code: \"AUTH_ERROR\",\n details: { providedKeyPrefix: config.teamApiKey.substring(0, 3) },\n },\n );\n }\n this.teamApiKey = config.teamApiKey;\n this.heartbeatInterval = config.heartbeatInterval || 10000;\n this.reconnectDelay = config.reconnectDelay || 5000;\n this.missedHeartbeatsLimit = config.missedHeartbeatsLimit || 30000;\n }\n\n public async connect() {\n if (this.isConnecting) return;\n this.isConnecting = true;\n\n try {\n const response = await fetch(`${PUBLIC_API_URI}/v4/oauth2/token`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-api-key\": `${this.teamApiKey}`,\n \"x-sdk-version\": SDK_VERSION,\n },\n });\n\n const { access_token, team_id } = (await response.json()) as {\n access_token: string;\n team_id: string;\n };\n\n this.socket = new WebSocket(\n `${WSS_API_URI}?access_token=${access_token}`,\n );\n\n this.socket.onopen = () => {\n this.isConnecting = false;\n this.lastHeartbeat = Date.now();\n\n if (this.socket?.readyState === WebSocket.OPEN) {\n this.socket.send(\n JSON.stringify({\n action: \"subscribe\",\n channel: team_id,\n }),\n );\n debug(\"Connected to WebSocket\");\n this.notifyConnectionListeners(true);\n }\n this.startHeartbeatCheck();\n };\n\n this.socket.onmessage = (event) => {\n try {\n const data = JSON.parse(event.data);\n if (data.type === \"heartbeat\") {\n this.handleHeartbeat();\n } else {\n if (data?.id) {\n fetch(`${REALTIME_API_URI}/api/v1/events/ack`, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify({ id: data.id }),\n });\n }\n this.notifyEventListeners(data);\n }\n } catch (err) {\n debug(\"Failed to parse incoming message: %O\", err);\n }\n };\n\n this.socket.onclose = () => {\n debug(\"WebSocket disconnected. Attempting to reconnect...\");\n this.isConnecting = false;\n this.stopHeartbeatCheck();\n this.notifyConnectionListeners(false, \"Connection closed\");\n setTimeout(() => this.connect(), this.reconnectDelay);\n };\n\n this.socket.onerror = (error) => {\n debug(\"WebSocket error: %O\", error);\n this.isConnecting = false;\n this.notifyErrorListeners(error);\n };\n } catch (err) {\n debug(\"Failed to connect: %O\", err);\n this.isConnecting = false;\n setTimeout(() => this.connect(), this.reconnectDelay);\n }\n }\n\n private handleHeartbeat() {\n debug(\"Heartbeat received\");\n this.lastHeartbeat = Date.now();\n }\n\n private notifyEventListeners(event: unknown) {\n this.eventListeners.forEach((listener) => {\n try {\n listener(event);\n } catch (error) {\n debug(\"Error in event listener: %O\", error);\n }\n });\n }\n\n private notifyConnectionListeners(connected: boolean, reason?: string) {\n this.connectionListeners.forEach((listener) => {\n try {\n listener(connected, reason);\n } catch (error) {\n debug(\"Error in connection listener: %O\", error);\n }\n });\n }\n\n private notifyErrorListeners(error: unknown) {\n this.errorListeners.forEach((listener) => {\n try {\n listener(error);\n } catch (error) {\n debug(\"Error in error listener: %O\", error);\n }\n });\n }\n\n private startHeartbeatCheck() {\n this.missedHeartbeatCheckTimer = setInterval(() => {\n if (Date.now() - this.lastHeartbeat > this.missedHeartbeatsLimit) {\n debug(\"No heartbeat received in 30 seconds! Closing connection.\");\n this.socket?.close();\n }\n }, this.heartbeatInterval);\n }\n\n private stopHeartbeatCheck() {\n if (this.missedHeartbeatCheckTimer) {\n clearInterval(this.missedHeartbeatCheckTimer);\n }\n }\n\n /**\n * Subscribe to realtime events\n * @param listener Function to handle incoming events\n * @returns Function to unsubscribe\n */\n public onEvent(listener: (event: unknown) => void): () => void {\n this.eventListeners.add(listener);\n return () => {\n this.eventListeners.delete(listener);\n };\n }\n\n /**\n * Subscribe to connection state changes\n * @param listener Function to handle connection state changes\n * @returns Function to unsubscribe\n */\n public onConnection(\n listener: (connected: boolean, reason?: string) => void,\n ): () => void {\n this.connectionListeners.add(listener);\n return () => {\n this.connectionListeners.delete(listener);\n };\n }\n\n /**\n * Subscribe to errors\n * @param listener Function to handle errors\n * @returns Function to unsubscribe\n */\n public onError(listener: (error: unknown) => void): () => void {\n this.errorListeners.add(listener);\n return () => {\n this.errorListeners.delete(listener);\n };\n }\n\n public close() {\n if (this.socket) {\n this.stopHeartbeatCheck();\n this.socket.close();\n this.socket = undefined;\n }\n // Clear all listeners\n this.eventListeners.clear();\n this.connectionListeners.clear();\n this.errorListeners.clear();\n }\n\n public isConnected(): boolean {\n return this.socket?.readyState === WebSocket.OPEN;\n }\n}\n","import type { KadoaClient } from \"../../kadoa-client\";\nimport { KadoaSdkException } from \"../../runtime/exceptions\";\n\nexport interface KadoaUser {\n userId: string;\n email: string;\n featureFlags: string[];\n}\n\nexport class UserService {\n constructor(private readonly client: KadoaClient) {}\n\n /**\n * Get current user details\n * @returns User details\n */\n async getCurrentUser(): Promise<KadoaUser> {\n const response = await this.client.axiosInstance.get(\"/v5/user\", {\n baseURL: this.client.baseUrl,\n headers: {\n \"x-api-key\": this.client.apiKey,\n \"Content-Type\": \"application/json\",\n },\n });\n\n const userData = response.data;\n\n if (!userData || !userData.userId) {\n throw new KadoaSdkException(\"Invalid user data received\");\n }\n\n return {\n userId: userData.userId,\n email: userData.email,\n featureFlags: userData.featureFlags || [],\n };\n }\n}\n","import { KadoaSdkException } from \"../exceptions\";\n\n/**\n * Options for polling operations\n */\nexport interface PollingOptions {\n /**\n * Polling interval in milliseconds (minimum 250ms)\n * @default 1000\n */\n pollIntervalMs?: number;\n /**\n * Timeout in milliseconds\n * @default 300000 (5 minutes)\n */\n timeoutMs?: number;\n /**\n * AbortSignal to cancel the polling operation\n */\n abortSignal?: AbortSignal;\n}\n\n/**\n * Internal polling options with all required fields\n */\nexport interface PollingOptionsInternal\n extends Required<Omit<PollingOptions, \"abortSignal\">> {\n abortSignal?: AbortSignal;\n}\n\n/**\n * Default polling options\n */\nexport const DEFAULT_POLLING_OPTIONS: PollingOptionsInternal = {\n pollIntervalMs: 1000,\n timeoutMs: 5 * 60 * 1000,\n};\n\n/**\n * Result of a polling operation\n */\nexport interface PollingResult<T> {\n /**\n * The final result when polling completes successfully\n */\n result: T;\n /**\n * The number of polling attempts made\n */\n attempts: number;\n /**\n * The total time spent polling in milliseconds\n */\n duration: number;\n}\n\n/**\n * Polling error codes\n */\nexport const POLLING_ERROR_CODES = {\n ABORTED: \"ABORTED\",\n TIMEOUT: \"TIMEOUT\",\n} as const;\n\n/**\n * Generic polling utility that polls a function until a condition is met\n *\n * @param pollFn Function to call on each poll attempt\n * @param isComplete Function to check if polling should complete\n * @param options Polling configuration options\n * @returns Promise that resolves with the polling result\n *\n * @example\n * ```typescript\n * const result = await pollUntil(\n * () => api.getStatus(id),\n * (status) => status.completedAt !== null,\n * { pollIntervalMs: 2000, timeoutMs: 60000 }\n * );\n * ```\n */\nexport async function pollUntil<T>(\n pollFn: () => Promise<T>,\n isComplete: (result: T) => boolean,\n options: PollingOptions = {},\n): Promise<PollingResult<T>> {\n const internalOptions: PollingOptionsInternal = {\n ...DEFAULT_POLLING_OPTIONS,\n ...options,\n };\n\n const pollInterval = Math.max(250, internalOptions.pollIntervalMs);\n const timeoutMs = internalOptions.timeoutMs;\n const start = Date.now();\n let attempts = 0;\n\n while (Date.now() - start < timeoutMs) {\n if (internalOptions.abortSignal?.aborted) {\n throw new KadoaSdkException(\"Polling operation was aborted\", {\n code: POLLING_ERROR_CODES.ABORTED,\n });\n }\n\n attempts++;\n const current = await pollFn();\n\n if (isComplete(current)) {\n return {\n result: current,\n attempts,\n duration: Date.now() - start,\n };\n }\n\n await new Promise((resolve) => setTimeout(resolve, pollInterval));\n }\n\n throw new KadoaSdkException(\n `Polling operation timed out after ${timeoutMs}ms`,\n {\n code: POLLING_ERROR_CODES.TIMEOUT,\n details: {\n timeoutMs,\n attempts,\n duration: Date.now() - start,\n },\n },\n );\n}\n","import type { AxiosResponse } from \"axios\";\nimport type { KadoaClient } from \"../../kadoa-client\";\nimport {\n KadoaHttpException,\n KadoaSdkException,\n} from \"../../runtime/exceptions\";\nimport { type PollingOptions, pollUntil } from \"../../runtime/utils\";\nimport {\n DataValidationApi,\n type GetAnomaliesByRuleResponse,\n type GetAnomalyRulePageResponse,\n type GetValidationResponse,\n type ListValidationsResponse,\n type ListWorkflowValidationsRequest,\n type ScheduleValidationResponse,\n type ToggleValidationResponse,\n} from \"./validation.acl\";\n\nexport class ValidationCoreService {\n private readonly validationApi: DataValidationApi;\n\n constructor(client: KadoaClient) {\n this.validationApi = new DataValidationApi(\n client.configuration,\n client.baseUrl,\n client.axiosInstance,\n );\n }\n\n async listWorkflowValidations(\n filters: ListWorkflowValidationsRequest,\n ): Promise<ListValidationsResponse> {\n const response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsGet(\n filters,\n );\n\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to list workflow validations\",\n });\n }\n\n return response.data;\n }\n\n async getValidationDetails(\n validationId: string,\n ): Promise<GetValidationResponse> {\n const response =\n await this.validationApi.v4DataValidationValidationsValidationIdGet({\n validationId,\n });\n\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to get validation details\",\n });\n }\n\n return response.data;\n }\n\n async scheduleValidation(\n workflowId: string,\n jobId: string,\n ): Promise<ScheduleValidationResponse> {\n const response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidatePost(\n {\n workflowId,\n jobId,\n },\n );\n\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data, {\n message: response.data.message || \"Failed to schedule validation\",\n });\n }\n\n return response.data;\n }\n\n async toggleValidationEnabled(\n workflowId: string,\n ): Promise<ToggleValidationResponse> {\n const response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdValidationTogglePut(\n {\n workflowId,\n },\n );\n\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data, {\n message: response.data.message || \"Failed to toggle validation\",\n });\n }\n\n return response.data;\n }\n\n async getLatestValidation(\n workflowId: string,\n jobId?: string,\n ): Promise<GetValidationResponse> {\n let response: AxiosResponse<GetValidationResponse>;\n if (jobId) {\n response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdJobsJobIdValidationsLatestGet(\n {\n workflowId,\n jobId,\n },\n );\n } else {\n response =\n await this.validationApi.v4DataValidationWorkflowsWorkflowIdValidationsLatestGet(\n {\n workflowId,\n },\n );\n }\n\n if (response.status !== 200 || response.data?.error) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to get latest validation\",\n });\n }\n\n return response.data;\n }\n\n async getValidationAnomalies(\n validationId: string,\n ): Promise<GetAnomaliesByRuleResponse> {\n const response =\n await this.validationApi.v4DataValidationValidationsValidationIdAnomaliesGet(\n {\n validationId,\n },\n );\n\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to get validation anomalies\",\n });\n }\n\n return response.data;\n }\n\n async getValidationAnomaliesByRule(\n validationId: string,\n ruleName: string,\n ): Promise<GetAnomalyRulePageResponse> {\n const response =\n await this.validationApi.v4DataValidationValidationsValidationIdAnomaliesRulesRuleNameGet(\n {\n validationId,\n ruleName,\n },\n );\n if (response.status !== 200) {\n throw KadoaHttpException.wrap(response.data, {\n message: \"Failed to get validation anomalies by rule\",\n });\n }\n\n return response.data;\n }\n\n async waitUntilCompleted(\n validationId: string,\n options?: PollingOptions,\n ): Promise<GetValidationResponse> {\n const result = await pollUntil(\n async () => {\n const current = await this.getValidationDetails(validationId);\n\n // Check if validation has an error\n if (current.error) {\n throw new KadoaSdkException(`Validation failed: ${current.error}`, {\n code: \"VALIDATION_ERROR\",\n details: { validationId, error: current.error },\n });\n }\n\n return current;\n },\n (result) => result.completedAt != null,\n options,\n );\n\n return result.result;\n }\n}\n","import type { KadoaClient } from \"../../kadoa-client\";\nimport { KadoaHttpException } from \"../../runtime/exceptions\";\nimport { logger } from \"../../runtime/logger\";\nimport {\n type BulkApproveRulesRequest,\n type BulkApproveRulesResponseData,\n type BulkDeleteRulesRequest,\n type BulkDeleteRulesResponseData,\n type CreateRuleRequest,\n DataValidationApi,\n type DeleteAllRulesRequest,\n type DeleteAllRulesResponseData,\n type DisableRuleRequest,\n type GenerateRuleRequest,\n type GenerateRulesRequest,\n type ListRulesRequest,\n type ListRulesResponse,\n type Rule,\n type UpdateRuleRequest,\n} from \"./validation.acl\";\n\nconst _debug = logger.validation;\n\n/**\n * Service for managing data validation rules\n */\nexport class ValidationRulesService {\n private readonly validationApi: DataValidationApi;\n\n constructor(client: KadoaClient) {\n this.validationApi = new DataValidationApi(\n client.configuration,\n client.baseUrl,\n client.axiosInstance,\n );\n }\n\n async listRules(options?: ListRulesRequest): Promise<ListRulesResponse> {\n const response = await this.validationApi.v4DataValidationRulesGet(options);\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: \"Failed to list validation rules\",\n });\n }\n return response.data;\n }\n\n async getRuleById(ruleId: string): Promise<Rule | undefined> {\n const response = await this.validationApi.v4DataValidationRulesRuleIdGet({\n ruleId,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: \"Failed to get validation rule by id\",\n });\n }\n return response.data.data;\n }\n\n async getRuleByName(name: string): Promise<Rule | undefined> {\n const response = await this.validationApi.v4DataValidationRulesGet();\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: \"Failed to get validation rule by name\",\n });\n }\n //todo: solve pagination or add a search parameter at API\n return response.data.data?.find((rule) => rule.name === name);\n }\n\n async createRule(data: CreateRuleRequest): Promise<Rule> {\n const response = await this.validationApi.v4DataValidationRulesPost({\n createRule: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to create validation rule\",\n });\n }\n return response.data.data;\n }\n\n async updateRule(\n ruleId: string,\n updateData: UpdateRuleRequest,\n ): Promise<Rule> {\n const response = await this.validationApi.v4DataValidationRulesRuleIdPut({\n ruleId,\n updateRule: updateData,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to update validation rule\",\n });\n }\n return response.data.data;\n }\n\n async disableRule(data: DisableRuleRequest): Promise<Rule> {\n const response =\n await this.validationApi.v4DataValidationRulesRuleIdDisablePost(data);\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to disable validation rule\",\n });\n }\n return response.data.data;\n }\n\n async generateRule(data: GenerateRuleRequest): Promise<Rule> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsGeneratePost({\n generateRule: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to generate validation rule\",\n });\n }\n return response.data.data;\n }\n\n async generateRules(data: GenerateRulesRequest): Promise<Rule[]> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsGenerateRulesPost({\n generateRules: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message: response.data.message || \"Failed to generate validation rules\",\n });\n }\n return response.data.data;\n }\n\n async bulkApproveRules(\n data: BulkApproveRulesRequest,\n ): Promise<BulkApproveRulesResponseData> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsBulkApprovePost({\n bulkApproveRules: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message:\n response.data.message || \"Failed to bulk approve validation rules\",\n });\n }\n return response.data.data;\n }\n\n async bulkDeleteRules(\n data: BulkDeleteRulesRequest,\n ): Promise<BulkDeleteRulesResponseData> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsBulkDeletePost({\n bulkDeleteRules: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message:\n response.data.message || \"Failed to bulk delete validation rules\",\n });\n }\n return response.data.data;\n }\n\n async deleteAllRules(\n data: DeleteAllRulesRequest,\n ): Promise<DeleteAllRulesResponseData> {\n const response =\n await this.validationApi.v4DataValidationRulesActionsDeleteAllDelete({\n deleteRuleWithReason: data,\n });\n if (response.status !== 200 || response.data.error) {\n throw KadoaHttpException.wrap(response.data.data, {\n message:\n response.data.message || \"Failed to delete all validation rules\",\n });\n }\n return response.data.data;\n }\n}\n","/**\n * Workflows domain ACL.\n * Wraps generated WorkflowsApi requests/responses and normalizes types.\n * Downstream code must import from this module instead of `generated/**`.\n */\n\nimport type {\n CreateWorkflowWithCustomSchemaBody,\n CreateWorkflowWithSchemaBody,\n MonitoringConfig,\n V4WorkflowsGet200ResponseWorkflowsInner,\n V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum,\n V4WorkflowsGet200ResponseWorkflowsInnerStateEnum,\n V4WorkflowsGetFormatEnum,\n V4WorkflowsGetIncludeDeletedEnum,\n V4WorkflowsGetMonitoringEnum,\n V4WorkflowsGetStateEnum,\n V4WorkflowsGetUpdateIntervalEnum,\n V4WorkflowsWorkflowIdGet200Response,\n V4WorkflowsWorkflowIdJobsJobIdGet200Response,\n V4WorkflowsWorkflowIdJobsJobIdGet200ResponseStateEnum,\n V4WorkflowsWorkflowIdRunPut200Response,\n V4WorkflowsWorkflowIdRunPutRequest,\n WorkflowsApiInterface,\n WorkflowsApiV4WorkflowsGetRequest,\n} from \"../../generated\";\n\n// ========================================\n// API Client\n// ========================================\n\nexport type { WorkflowsApiInterface };\n\n// ========================================\n// Enums\n// ========================================\n\n/**\n * Workflow state filter for list queries.\n */\nexport const WorkflowState = {\n Active: \"ACTIVE\",\n Error: \"ERROR\",\n Paused: \"PAUSED\",\n NotSupported: \"NOT_SUPPORTED\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsGetStateEnum,\n V4WorkflowsGetStateEnum\n>;\n\nexport type WorkflowState = (typeof WorkflowState)[keyof typeof WorkflowState];\n\n/**\n * Monitoring status filter.\n */\nexport const MonitoringStatus = {\n Enabled: \"true\",\n Disabled: \"false\",\n} as const satisfies Record<string, V4WorkflowsGetMonitoringEnum>;\n\nexport type MonitoringStatus =\n (typeof MonitoringStatus)[keyof typeof MonitoringStatus];\n\n/**\n * Update interval filter.\n */\nexport const UpdateInterval = {\n Hourly: \"HOURLY\",\n Daily: \"DAILY\",\n Weekly: \"WEEKLY\",\n Monthly: \"MONTHLY\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsGetUpdateIntervalEnum,\n V4WorkflowsGetUpdateIntervalEnum\n>;\n\nexport type UpdateInterval =\n (typeof UpdateInterval)[keyof typeof UpdateInterval];\n\n/**\n * Include deleted workflows filter.\n */\nexport const IncludeDeleted = {\n True: \"true\",\n False: \"false\",\n} as const satisfies Record<string, V4WorkflowsGetIncludeDeletedEnum>;\n\nexport type IncludeDeleted =\n (typeof IncludeDeleted)[keyof typeof IncludeDeleted];\n\n/**\n * Response format for workflow list.\n */\nexport const ResponseFormat = {\n Json: \"json\",\n Csv: \"csv\",\n} as const satisfies Record<string, V4WorkflowsGetFormatEnum>;\n\nexport type ResponseFormat =\n (typeof ResponseFormat)[keyof typeof ResponseFormat];\n\n/**\n * Workflow state enum.\n */\nexport const WorkflowStateEnum = {\n Active: \"ACTIVE\",\n Error: \"ERROR\",\n Paused: \"PAUSED\",\n NotSupported: \"NOT_SUPPORTED\",\n Preview: \"PREVIEW\",\n ComplianceReview: \"COMPLIANCE_REVIEW\",\n ComplianceRejected: \"COMPLIANCE_REJECTED\",\n Queued: \"QUEUED\",\n Setup: \"SETUP\",\n Deleted: \"DELETED\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsGet200ResponseWorkflowsInnerStateEnum,\n V4WorkflowsGet200ResponseWorkflowsInnerStateEnum\n>;\n\nexport type WorkflowStateEnum =\n (typeof WorkflowStateEnum)[keyof typeof WorkflowStateEnum];\n\n/**\n * Workflow display state enum.\n */\nexport const WorkflowDisplayStateEnum = {\n Active: \"ACTIVE\",\n Error: \"ERROR\",\n Paused: \"PAUSED\",\n NotSupported: \"NOT_SUPPORTED\",\n Preview: \"PREVIEW\",\n ComplianceReview: \"COMPLIANCE_REVIEW\",\n ComplianceRejected: \"COMPLIANCE_REJECTED\",\n Queued: \"QUEUED\",\n Setup: \"SETUP\",\n Running: \"RUNNING\",\n Failed: \"FAILED\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum,\n V4WorkflowsGet200ResponseWorkflowsInnerDisplayStateEnum\n>;\n\nexport type WorkflowDisplayStateEnum =\n (typeof WorkflowDisplayStateEnum)[keyof typeof WorkflowDisplayStateEnum];\n\n/**\n * Job state enum.\n */\nexport const JobStateEnum = {\n InProgress: \"IN_PROGRESS\",\n Finished: \"FINISHED\",\n Failed: \"FAILED\",\n NotSupported: \"NOT_SUPPORTED\",\n FailedInsufficientFunds: \"FAILED_INSUFFICIENT_FUNDS\",\n} as const satisfies Record<\n keyof typeof V4WorkflowsWorkflowIdJobsJobIdGet200ResponseStateEnum,\n V4WorkflowsWorkflowIdJobsJobIdGet200ResponseStateEnum\n>;\n\nexport type JobStateEnum = (typeof JobStateEnum)[keyof typeof JobStateEnum];\n\n// ========================================\n// Request Types\n// ========================================\n\nexport class ListWorkflowsRequest implements WorkflowsApiV4WorkflowsGetRequest {\n search?: string;\n skip?: number;\n limit?: number;\n state?: WorkflowState;\n tags?: Array<string>;\n monitoring?: MonitoringStatus;\n updateInterval?: UpdateInterval;\n templateId?: string;\n includeDeleted?: IncludeDeleted;\n format?: ResponseFormat;\n}\n\nexport type CreateWorkflowRequest = CreateWorkflowWithSchemaBody;\n\nexport type CreateWorkflowWithCustomSchemaRequest =\n CreateWorkflowWithCustomSchemaBody;\n\n// ========================================\n// Response Types\n// ========================================\n\n/**\n * Workflow response with SDK-curated enum types.\n * Remaps generated enum fields to prevent type leakage.\n */\nexport interface WorkflowResponse\n extends Omit<\n V4WorkflowsGet200ResponseWorkflowsInner,\n \"state\" | \"displayState\"\n > {\n state?: WorkflowStateEnum;\n displayState?: WorkflowDisplayStateEnum;\n}\n\n/**\n * Get workflow details response with SDK-curated enum types.\n */\nexport interface GetWorkflowResponse\n extends Omit<V4WorkflowsWorkflowIdGet200Response, \"state\" | \"displayState\"> {\n state?: WorkflowStateEnum;\n displayState?: WorkflowDisplayStateEnum;\n}\n\nexport type { MonitoringConfig };\n\n/**\n * Get job response with SDK-curated enum types.\n */\nexport interface GetJobResponse\n extends Omit<V4WorkflowsWorkflowIdJobsJobIdGet200Response, \"state\"> {\n state?: JobStateEnum;\n}\n\nexport type RunWorkflowRequest = V4WorkflowsWorkflowIdRunPutRequest;\n\nexport type RunWorkflowResponse = V4WorkflowsWorkflowIdRunPut200Response;\n","import { KadoaSdkException } from \"../../runtime/exceptions\";\nimport { ERROR_MESSAGES } from \"../../runtime/exceptions/base.exception\";\nimport { logger } from \"../../runtime/logger\";\nimport { type PollingOptions, pollUntil } from \"../../runtime/utils\";\nimport type {\n LocationConfig,\n NavigationMode,\n SchemaField,\n WorkflowInterval,\n} from \"../extraction/extraction.acl\";\nimport {\n type CreateWorkflowRequest,\n type CreateWorkflowWithCustomSchemaRequest,\n type GetJobResponse,\n type GetWorkflowResponse,\n JobStateEnum,\n type ListWorkflowsRequest,\n type MonitoringConfig,\n type RunWorkflowRequest,\n type RunWorkflowResponse,\n type WorkflowResponse,\n type WorkflowStateEnum,\n type WorkflowsApiInterface,\n} from \"./workflows.acl\";\n\nexport type WorkflowId = string;\nexport type JobId = string;\n\nexport interface WaitOptions extends PollingOptions {\n targetState?: WorkflowStateEnum;\n}\n\nexport interface JobWaitOptions extends PollingOptions {\n targetStatus?: JobStateEnum;\n}\n\nexport interface CreateWorkflowInput {\n urls: string[];\n navigationMode: NavigationMode;\n name: string;\n description?: string;\n schemaId?: string;\n entity?: string;\n fields: Array<SchemaField>;\n tags?: string[];\n interval?: WorkflowInterval;\n monitoring?: MonitoringConfig;\n location?: LocationConfig;\n bypassPreview?: boolean;\n autoStart?: boolean;\n schedules?: string[];\n}\n\nconst TERMINAL_JOB_STATES: Set<JobStateEnum> = new Set([\n JobStateEnum.Finished,\n JobStateEnum.Failed,\n JobStateEnum.NotSupported,\n JobStateEnum.FailedInsufficientFunds,\n]);\n\nconst TERMINAL_RUN_STATES: Set<string> = new Set([\n \"FINISHED\",\n \"SUCCESS\",\n \"FAILED\",\n \"ERROR\",\n \"STOPPED\",\n \"CANCELLED\",\n]);\n\nconst debug = logger.workflow;\n\nexport class WorkflowsCoreService {\n constructor(private readonly workflowsApi: WorkflowsApiInterface) {}\n\n async create(input: CreateWorkflowInput): Promise<{ id: WorkflowId }> {\n const request:\n | CreateWorkflowRequest\n | CreateWorkflowWithCustomSchemaRequest = {\n urls: input.urls,\n name: input.name,\n schemaId: input.schemaId,\n description: input.description,\n navigationMode: input.navigationMode,\n entity: input.entity,\n fields: input.fields,\n bypassPreview: input.bypassPreview ?? true,\n tags: input.tags,\n interval: input.interval,\n monitoring: input.monitoring,\n location: input.location,\n autoStart: input.autoStart,\n schedules: input.schedules,\n };\n\n const response = await this.workflowsApi.v4WorkflowsPost({\n createWorkflowBody: request,\n });\n const workflowId = response.data?.workflowId;\n\n if (!workflowId) {\n throw new KadoaSdkException(ERROR_MESSAGES.NO_WORKFLOW_ID, {\n code: \"INTERNAL_ERROR\",\n details: {\n response: response.data,\n },\n });\n }\n return { id: workflowId };\n }\n\n async get(id: WorkflowId): Promise<GetWorkflowResponse> {\n const response = await this.workflowsApi.v4WorkflowsWorkflowIdGet({\n workflowId: id,\n });\n return response.data;\n }\n\n async list(filters?: ListWorkflowsRequest): Promise<WorkflowResponse[]> {\n const response = await this.workflowsApi.v4WorkflowsGet(filters);\n return response.data?.workflows ?? [];\n }\n\n async getByName(name: string): Promise<WorkflowResponse | undefined> {\n const response = await this.workflowsApi.v4WorkflowsGet({\n search: name,\n });\n return response.data?.workflows?.[0];\n }\n\n async cancel(id: WorkflowId): Promise<void> {\n await this.workflowsApi.v4WorkflowsWorkflowIdDelete({\n workflowId: id,\n });\n }\n\n async resume(id: WorkflowId): Promise<void> {\n await this.workflowsApi.v4WorkflowsWorkflowIdResumePut({\n workflowId: id,\n });\n }\n\n /**\n * Wait for a workflow to reach the target state or a terminal state if no target state is provided\n */\n async wait(\n id: WorkflowId,\n options?: WaitOptions,\n ): Promise<GetWorkflowResponse> {\n let last: GetWorkflowResponse | undefined;\n\n const result = await pollUntil(\n async () => {\n const current = await this.get(id);\n\n // Log state changes\n if (\n last?.state !== current.state ||\n last?.runState !== current.runState\n ) {\n debug(\n \"workflow %s state: [workflowState: %s, jobState: %s]\",\n id,\n current.state,\n current.runState,\n );\n }\n\n last = current;\n return current;\n },\n (current) => {\n // Check for target state if specified\n if (options?.targetState && current.state === options.targetState) {\n return true;\n }\n\n // Check for terminal states\n if (\n current.runState &&\n TERMINAL_RUN_STATES.has(current.runState.toUpperCase()) &&\n current.state !== \"QUEUED\"\n ) {\n return true;\n }\n\n return false;\n },\n options,\n );\n\n return result.result;\n }\n\n /**\n * Run a workflow with variables and optional limit\n */\n async runWorkflow(\n workflowId: WorkflowId,\n input: RunWorkflowRequest,\n ): Promise<RunWorkflowResponse> {\n const response = await this.workflowsApi.v4WorkflowsWorkflowIdRunPut({\n workflowId,\n v4WorkflowsWorkflowIdRunPutRequest: {\n variables: input.variables,\n limit: input.limit,\n },\n });\n\n const jobId = response.data?.jobId;\n if (!jobId) {\n throw new KadoaSdkException(ERROR_MESSAGES.NO_WORKFLOW_ID, {\n code: \"INTERNAL_ERROR\",\n details: {\n response: response.data,\n },\n });\n }\n\n return {\n jobId,\n message: response.data?.message,\n status: response.data?.status,\n };\n }\n\n /**\n * Get job status directly without polling workflow details\n */\n async getJobStatus(\n workflowId: WorkflowId,\n jobId: JobId,\n ): Promise<GetJobResponse> {\n const response = await this.workflowsApi.v4WorkflowsWorkflowIdJobsJobIdGet({\n workflowId,\n jobId,\n });\n return response.data;\n }\n\n /**\n * Wait for a job to reach the target state or a terminal state\n */\n async waitForJobCompletion(\n workflowId: WorkflowId,\n jobId: JobId,\n options?: JobWaitOptions,\n ): Promise<GetJobResponse> {\n let last: GetJobResponse | undefined;\n\n const result = await pollUntil(\n async () => {\n const current = await this.getJobStatus(workflowId, jobId);\n\n // Log state changes\n if (last?.state !== current.state) {\n debug(\"job %s state: %s\", jobId, current.state);\n }\n\n last = current;\n return current;\n },\n (current) => {\n // Check for target state if specified\n if (options?.targetStatus && current.state === options.targetStatus) {\n return true;\n }\n\n // Check for terminal states\n if (current.state && TERMINAL_JOB_STATES.has(current.state)) {\n return true;\n }\n\n return false;\n },\n options,\n );\n\n return result.result;\n }\n}\n","import type { ValidationCoreService } from \"./validation-core.service\";\nimport type { ValidationRulesService } from \"./validation-rules.service\";\n\n/**\n * Facade exposing validation operations directly on the client validation domain,\n * while preserving access to the underlying `rules` services.\n */\nexport interface ValidationDomain {\n /** Rule management utilities. */\n rules: ValidationRulesService;\n\n /**\n * Schedule a validation run for a workflow/job.\n *\n * Example: `await client.validation.schedule(workflowId, jobId)`\n */\n schedule: (\n ...args: Parameters<ValidationCoreService[\"scheduleValidation\"]>\n ) => ReturnType<ValidationCoreService[\"scheduleValidation\"]>;\n\n /** List validations for a workflow/job. */\n listWorkflowValidations: (\n ...args: Parameters<ValidationCoreService[\"listWorkflowValidations\"]>\n ) => ReturnType<ValidationCoreService[\"listWorkflowValidations\"]>;\n\n /** Get details for a specific validation. */\n getValidationDetails: (\n ...args: Parameters<ValidationCoreService[\"getValidationDetails\"]>\n ) => ReturnType<ValidationCoreService[\"getValidationDetails\"]>;\n\n /** Enable/disable validation for a workflow. */\n toggleEnabled: (\n ...args: Parameters<ValidationCoreService[\"toggleValidationEnabled\"]>\n ) => ReturnType<ValidationCoreService[\"toggleValidationEnabled\"]>;\n\n /** Get the latest validation for a workflow (optionally filtered by job). */\n getLatest: (\n ...args: Parameters<ValidationCoreService[\"getLatestValidation\"]>\n ) => ReturnType<ValidationCoreService[\"getLatestValidation\"]>;\n\n /** Get aggregated anomalies for a validation. */\n getAnomalies: (\n ...args: Parameters<ValidationCoreService[\"getValidationAnomalies\"]>\n ) => ReturnType<ValidationCoreService[\"getValidationAnomalies\"]>;\n\n /** Get anomalies for a specific rule. */\n getAnomaliesByRule: (\n ...args: Parameters<ValidationCoreService[\"getValidationAnomaliesByRule\"]>\n ) => ReturnType<ValidationCoreService[\"getValidationAnomaliesByRule\"]>;\n\n /** Wait until a validation completes; throws if validation fails. */\n waitUntilCompleted: (\n ...args: Parameters<ValidationCoreService[\"waitUntilCompleted\"]>\n ) => ReturnType<ValidationCoreService[\"waitUntilCompleted\"]>;\n}\n\nexport function createValidationDomain(\n core: ValidationCoreService,\n rules: ValidationRulesService,\n): ValidationDomain {\n return {\n rules,\n schedule: (workflowId, jobId) => core.scheduleValidation(workflowId, jobId),\n listWorkflowValidations: (filters) => core.listWorkflowValidations(filters),\n getValidationDetails: (validationId) =>\n core.getValidationDetails(validationId),\n toggleEnabled: (workflowId) => core.toggleValidationEnabled(workflowId),\n getLatest: (workflowId, jobId) =>\n core.getLatestValidation(workflowId, jobId),\n getAnomalies: (validationId) => core.getValidationAnomalies(validationId),\n getAnomaliesByRule: (validationId, ruleName) =>\n core.getValidationAnomaliesByRule(validationId, ruleName),\n waitUntilCompleted: (validationId, options) =>\n core.waitUntilCompleted(validationId, options),\n };\n}\n","import type { AxiosInstance } from \"axios\";\nimport axios, { AxiosError } from \"axios\";\nimport { v4 } from \"uuid\";\nimport {\n Configuration,\n NotificationsApi,\n WorkflowsApi,\n} from \"./domains/apis.acl\";\nimport { DataFetcherService } from \"./domains/extraction/services/data-fetcher.service\";\nimport { EntityResolverService } from \"./domains/extraction/services/entity-resolver.service\";\nimport { ExtractionService } from \"./domains/extraction/services/extraction.service\";\nimport {\n ExtractionBuilderService,\n type ExtractOptions,\n type PreparedExtraction,\n} from \"./domains/extraction/services/extraction-builder.service\";\nimport {\n type NotificationOptions,\n type NotificationSettings,\n NotificationSetupService,\n type SetupWorkflowNotificationSettingsRequest,\n type SetupWorkspaceNotificationSettingsRequest,\n} from \"./domains/notifications\";\nimport { NotificationChannelsService } from \"./domains/notifications/notification-channels.service\";\nimport { NotificationSettingsService } from \"./domains/notifications/notification-settings.service\";\nimport { Realtime } from \"./domains/realtime/realtime\";\nimport { SchemasService } from \"./domains/schemas/schemas.service\";\nimport type { KadoaUser } from \"./domains/user/user.service\";\nimport { UserService } from \"./domains/user/user.service\";\nimport {\n createValidationDomain,\n type ValidationDomain,\n} from \"./domains/validation/validation.facade\";\nimport { ValidationCoreService } from \"./domains/validation/validation-core.service\";\nimport { ValidationRulesService } from \"./domains/validation/validation-rules.service\";\nimport { WorkflowsCoreService } from \"./domains/workflows/workflows-core.service\";\nimport { PUBLIC_API_URI } from \"./runtime/config\";\nimport { KadoaErrorCode, KadoaHttpException } from \"./runtime/exceptions\";\nimport { SDK_LANGUAGE, SDK_NAME, SDK_VERSION } from \"./version\";\n\nexport interface KadoaClientStatus {\n baseUrl: string;\n user: KadoaUser;\n realtimeConnected: boolean;\n}\n\nexport interface KadoaClientConfig {\n apiKey: string;\n timeout?: number;\n /**\n * Enable realtime WebSocket connection\n */\n enableRealtime?: boolean;\n /**\n * Optional realtime configuration\n */\n realtimeConfig?: {\n /** Auto-connect on client initialization (default: true) */\n autoConnect?: boolean;\n /** Delay between reconnection attempts in ms (default: 5000) */\n reconnectDelay?: number;\n /** Heartbeat interval in ms (default: 10000) */\n heartbeatInterval?: number;\n };\n}\n\nexport interface NotificationDomain {\n channels: NotificationChannelsService;\n settings: NotificationSettingsService;\n setup: NotificationSetupService;\n configure(options: NotificationOptions): Promise<NotificationSettings[]>;\n setupForWorkflow(\n requestData: SetupWorkflowNotificationSettingsRequest,\n ): Promise<NotificationSettings[]>;\n setupForWorkspace(\n requestData: SetupWorkspaceNotificationSettingsRequest,\n ): Promise<NotificationSettings[]>;\n}\n\nexport type { ValidationDomain } from \"./domains/validation/validation.facade\";\n\n/**\n * KadoaClient provides an object-oriented interface to the Kadoa SDK\n *\n * @example\n * ```typescript\n * import { KadoaClient } from '@kadoa/sdk';\n *\n * const client = new KadoaClient({\n * apiKey: 'your-api-key'\n * });\n *\n * const result = await client.extraction.run({\n * urls: ['https://example.com'],\n * name: 'My Extraction'\n * });\n * ```\n */\nexport class KadoaClient {\n private readonly _configuration: Configuration;\n private readonly _axiosInstance: AxiosInstance;\n private readonly _baseUrl: string;\n private readonly _timeout: number;\n private readonly _apiKey: string;\n\n private _realtime?: Realtime;\n private _extractionBuilderService: ExtractionBuilderService;\n\n public readonly extraction: ExtractionService;\n public readonly workflow: WorkflowsCoreService;\n public readonly notification: NotificationDomain;\n public readonly schema: SchemasService;\n public readonly user: UserService;\n public readonly validation: ValidationDomain;\n\n constructor(config: KadoaClientConfig) {\n this._baseUrl = PUBLIC_API_URI;\n this._timeout = config.timeout || 30000;\n this._apiKey = config.apiKey;\n\n const headers = {\n \"User-Agent\": `${SDK_NAME}/${SDK_VERSION}`,\n \"X-SDK-Version\": SDK_VERSION,\n \"X-SDK-Language\": SDK_LANGUAGE,\n };\n\n this._configuration = new Configuration({\n apiKey: this._apiKey,\n basePath: this._baseUrl,\n baseOptions: {\n headers,\n },\n });\n\n this._axiosInstance = axios.create({\n timeout: this._timeout,\n headers,\n });\n\n this._axiosInstance.interceptors.request.use((config) => {\n config.headers[\"x-request-id\"] = v4();\n return config;\n });\n\n this._axiosInstance.interceptors.response.use(\n (response) => {\n if (response.status === 401) {\n throw new KadoaHttpException(\"Unauthorized\", {\n code: KadoaErrorCode.AUTH_ERROR,\n httpStatus: 401,\n });\n }\n\n return response;\n },\n (error) => {\n if (error instanceof AxiosError) {\n const status = error.response?.status;\n if (status === 400) {\n throw KadoaHttpException.wrap(error);\n }\n }\n\n throw KadoaHttpException.wrap(error);\n },\n );\n\n //todo: use proper DI container,\n\n //apis\n const workflowsApi = new WorkflowsApi(\n this.configuration,\n this.baseUrl,\n this.axiosInstance,\n );\n\n const notificationsApi = new NotificationsApi(\n this.configuration,\n this.baseUrl,\n this.axiosInstance,\n );\n\n //services\n const userService = new UserService(this);\n const dataFetcherService = new DataFetcherService(workflowsApi);\n const channelsService = new NotificationChannelsService(\n notificationsApi,\n userService,\n );\n const settingsService = new NotificationSettingsService(notificationsApi);\n const entityResolverService = new EntityResolverService(this);\n const workflowsCoreService = new WorkflowsCoreService(workflowsApi);\n const schemasService = new SchemasService(this);\n const channelSetupService = new NotificationSetupService(\n channelsService,\n settingsService,\n );\n const coreService = new ValidationCoreService(this);\n const rulesService = new ValidationRulesService(this);\n const extractionService = new ExtractionService(\n workflowsCoreService,\n dataFetcherService,\n entityResolverService,\n channelSetupService,\n channelsService,\n settingsService,\n );\n this._extractionBuilderService = new ExtractionBuilderService(\n workflowsCoreService,\n entityResolverService,\n dataFetcherService,\n channelSetupService,\n );\n\n // domain services\n this.user = userService;\n this.extraction = extractionService;\n this.workflow = workflowsCoreService;\n this.schema = schemasService;\n this.notification = {\n channels: channelsService,\n settings: settingsService,\n setup: channelSetupService,\n configure: (options: NotificationOptions) =>\n channelSetupService.setup(options),\n setupForWorkflow: (\n request: SetupWorkflowNotificationSettingsRequest,\n ): Promise<NotificationSettings[]> =>\n channelSetupService.setupForWorkflow(request),\n setupForWorkspace: (\n request: SetupWorkspaceNotificationSettingsRequest,\n ): Promise<NotificationSettings[]> =>\n channelSetupService.setupForWorkspace(request),\n };\n this.validation = createValidationDomain(coreService, rulesService);\n\n if (config.enableRealtime && config.realtimeConfig?.autoConnect !== false) {\n this.connectRealtime();\n }\n }\n\n /**\n * Get the underlying configuration\n *\n * @returns The configuration object\n */\n get configuration(): Configuration {\n return this._configuration;\n }\n\n /**\n * Get the axios instance\n *\n * @returns The axios instance\n */\n get axiosInstance(): AxiosInstance {\n return this._axiosInstance;\n }\n\n /**\n * Get the base URL\n *\n * @returns The base URL\n */\n get baseUrl(): string {\n return this._baseUrl;\n }\n\n /**\n * Get the API key\n *\n * @returns The API key\n */\n get apiKey(): string {\n return this._apiKey;\n }\n\n /**\n * Get the timeout value\n *\n * @returns The timeout in milliseconds\n */\n get timeout(): number {\n return this._timeout;\n }\n\n /**\n * Get the realtime connection (if enabled)\n */\n get realtime(): Realtime | undefined {\n return this._realtime;\n }\n\n /**\n * Create a prepared extraction using the fluent builder API\n *\n * @param options - Extraction options including URLs and optional extraction builder\n * @returns PreparedExtraction that can be configured with notifications, monitoring, etc.\n *\n * @example Auto-detection\n * ```typescript\n * const extraction = await client.extract({\n * urls: [\"https://example.com\"],\n * name: \"My Extraction\"\n * }).create();\n * ```\n *\n * @example Raw extraction\n * ```typescript\n * const extraction = await client.extract({\n * urls: [\"https://example.com\"],\n * name: \"My Extraction\",\n * extraction: builder => builder.raw(\"markdown\")\n * }).create();\n * ```\n *\n * @example Custom schema\n * ```typescript\n * const extraction = await client.extract({\n * urls: [\"https://example.com\"],\n * name: \"My Extraction\",\n * extraction: builder => builder\n * .schema(\"Product\")\n * .field(\"title\", \"Product name\", \"STRING\", { example: \"Example\" })\n * .field(\"price\", \"Product price\", \"CURRENCY\")\n * }).create();\n * ```\n */\n extract(options: ExtractOptions): PreparedExtraction {\n return this._extractionBuilderService.extract(options);\n }\n\n /**\n * Connect to realtime WebSocket server\n * Creates a new connection if not already connected\n *\n * @returns The Realtime instance\n */\n connectRealtime(): Realtime {\n if (!this._realtime) {\n this._realtime = new Realtime({ teamApiKey: this._apiKey });\n this._realtime.connect();\n }\n return this._realtime;\n }\n\n /**\n * Disconnect from realtime WebSocket server\n */\n disconnectRealtime(): void {\n if (this._realtime) {\n this._realtime.close();\n this._realtime = undefined;\n }\n }\n\n /**\n * Check if realtime connection is active\n *\n * @returns True if connected, false otherwise\n */\n isRealtimeConnected(): boolean {\n return this._realtime?.isConnected() ?? false;\n }\n\n /**\n * Get the status of the client\n *\n * @returns The status of the client\n */\n async status(): Promise<KadoaClientStatus> {\n return {\n baseUrl: this._baseUrl,\n user: await this.user.getCurrentUser(),\n realtimeConnected: this.isRealtimeConnected(),\n };\n }\n\n /**\n * Dispose of the client and clean up resources\n */\n dispose(): void {\n // Clean up WebSocket connection if active\n this.disconnectRealtime();\n\n // Note: API clients use WeakMap caching and will be automatically\n // garbage collected when the client instance is no longer referenced.\n // The axios instance itself doesn't require explicit cleanup as it\n // doesn't maintain persistent connections or resources.\n\n // Future cleanup that could be added if needed:\n // - Cancel pending axios requests using AbortController\n // - Clear any custom axios interceptors\n // - Clear any timers or intervals\n }\n}\n"]}
|