import {z} from 'zod' export type MediaType = {type?: string | undefined, subtype?: string | undefined, parameters?: {[key: string]: string} | undefined, qualityValue?: number | undefined, wildcardType?: boolean | undefined, wildcardSubtype?: boolean | undefined, subtypeSuffix?: string | undefined, concrete?: boolean | undefined, charset?: string | undefined}; export type HttpMethod = unknown; export type HttpRange = unknown; export type ContentDisposition = {type?: string | undefined, name?: string | undefined, filename?: string | undefined, charset?: string | undefined, attachment?: boolean | undefined, inline?: boolean | undefined, formData?: boolean | undefined}; export type HttpHeaders = {acceptCharset?: Array | undefined, basicAuth?: string | undefined, accept?: Array | undefined, allow?: Array | undefined, etag?: string | undefined, expires?: number | undefined, ifMatch?: Array | undefined, origin?: string | undefined, pragma?: string | undefined, range?: Array | undefined, upgrade?: string | undefined, vary?: Array | undefined, contentDisposition?: ContentDisposition | undefined, acceptLanguage?: (Array<{range?: string | undefined, weight?: number | undefined}>) | undefined, acceptLanguageAsLocales?: Array | undefined, accessControlAllowHeaders?: Array | undefined, accessControlAllowMethods?: Array | undefined, accessControlAllowOrigin?: string | undefined, accessControlMaxAge?: number | undefined, accessControlAllowCredentials?: boolean | undefined, accessControlExposeHeaders?: Array | undefined, accessControlRequestHeaders?: Array | undefined, accessControlRequestMethod?: HttpMethod | undefined, acceptPatch?: Array | undefined, bearerAuth?: string | undefined, cacheControl?: string | undefined, connection?: Array | undefined, contentLanguage?: string | undefined, ifNoneMatch?: Array | undefined, ifUnmodifiedSince?: number | undefined, contentLength?: number | undefined, contentType?: MediaType | undefined, location?: string | undefined, empty?: boolean | undefined, host?: ({hostString?: string | undefined, address?: ({hostAddress?: string | undefined, address?: string | undefined, hostName?: string | undefined, linkLocalAddress?: boolean | undefined, multicastAddress?: boolean | undefined, anyLocalAddress?: boolean | undefined, loopbackAddress?: boolean | undefined, siteLocalAddress?: boolean | undefined, mcglobal?: boolean | undefined, mcnodeLocal?: boolean | undefined, mclinkLocal?: boolean | undefined, mcsiteLocal?: boolean | undefined, mcorgLocal?: boolean | undefined, canonicalHostName?: string | undefined}) | undefined, port?: number | undefined, unresolved?: boolean | undefined, hostName?: string | undefined}) | undefined, all?: {[key: string]: string} | undefined, lastModified?: number | undefined, date?: number | undefined, ifModifiedSince?: number | undefined}; export type GetApiV1ZendeskChatCheckStatusAllArgs = {headers: HttpHeaders}; export type GetApiV1ZendeskChatCheckStatusAllOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; export const baseError = z.object({errorCode: z.string().optional(), errorMessage: z.string().optional()}); export const serviceResponse = z.object({statusCode: z.string().optional(), statusMessage: z.string().optional(), exceptionCode: z.enum(["DATA_NOT_FOUND", "INVALID_PAYMENT_MODE_ERROR", "LINK_CANNOT_CREATED", "OBJECT_DEEP_COPY_CLONE_FAILED_ERROR", "API_EMPTY_PAYLOAD_ERROR", "LANGUAGE_NOT_CONFIGURED", "CLIENT_API_CREDENTIAL_MISSING_ERROR", "CLIENT_API_CREDENTIAL_DOES_NOT_EXIST_ERROR", "INVALID_PAYMENT_CARD_ERROR", "INVALID_JOB_CLASS_NAME_ERROR", "JOB_SCHEDULER_ERROR", "DB_FETCH_ERROR", "DB_INSERT_ERROR", "DOWN_STREAM_SERVICE_ERROR", "ILLEGAL_LINK_ID", "DESERIALIZATION_FAILED_ERROR", "SERIALIZATION_FAILED_ERROR", "READING_FILE_FAILED_ERROR", "INVALID_INPUT_ERROR", "UN_SUPPORTED_OPERATION_ERROR", "CONNECTION_TIME_OUT_ERROR", "DRUID_QUERY_TIME_OUT_ERROR", "AUTHENTICATION_FAILED_ERROR", "AUTHORIZATION_FAILED_ERROR", "HTTPS_SECURE_GATEWAY_ERROR", "CONNECTION_REFUSED_ERROR", "RESOURCE_NOT_FOUND_ERROR", "ENCRYPTION_FAILED_ERROR", "INPUT_DATA_CORRUPTED_ERROR", "CONNECTION_RESET_ERROR", "THROTTLE_ERROR", "RATE_LIMIT_EXCEED_ERROR", "UN_AUTHORISED_ERROR", "CASSANDRA_DB_ERROR", "MYSQL_DB_ERROR", "KAFKA_BROKER_ERROR", "DRUID_TRANQUILITY_SERVER_ERROR", "INSTANTIATION_FAILED_ERROR", "ILLEGAL_ACCESS_ERROR", "DRUID_QUERY_BROKER_ERROR", "UN_AUTHORISED_ACCESS", "BAD_CREDENTIAL", "ACCESS_TOKEN_EXPIRED", "USER_DOES_NOT_EXIST", "SIGN_UP_LINK_EXPIRED", "RESET_PASSWORD_LINK_EXPIRED", "USER_ACCOUNT_TEMPORARY_BLOCKED", "LOGIN_SUCCESS", "ILLEGAL_PERMISSION_ENTITY_ADDITION", "NO_TWO_PERMISSION_ENITITY_EXCEPTION", "ILLEGEAL_TOKEN_HEADER", "NO_SECURITY_CONTEXT_HOLDER", "UNAUTHORIZED_API_REQUEST", "INVALID_ROLE", "INSUFFICIENT_PERMISSION", "MVEL_EXPRESSION_INVALID", "MVEL_EXPRESSION_PROPERTY_MISSING", "STANDARD_RESPONSE_EMPTY", "TARGET_BUCKET_NOT_FOUND", "TARGET_BUCKET_RESPONSE_NOT_FOUND", "INSUFFICIENT_ATTRIBUTE", "CONTEXT_RESPONSE_EMPTY", "CONVERSATION_NULL", "NULL_TOKEN_CREATED", "USER_NOT_FOUND", "WORKFLOW_NOT_FOUND", "USER_NOT_ACTIVATED", "INVALID_BOT_DETAILS", "INVALID_CONF", "INVALID_CONFIGURATION", "COMPRESS_STRING_ERROR", "DE_COMPRESS_STRING_ERROR", "EXPERIMENT_NOT_FOUND", "NO_LOCALE_CONFIGURED", "ACCESS_LOCKED", "ATTEMPTS_EXCEEDED", "MESSAGE_SWALLOWED", "INTERNAL_SERVER_ERROR", "FACEBOOK_API_EXCEPTION", "ALREADY_EXISTS_ENTITY_EXCEPTION", "CLUSTERING_FILE_REJECTED_EXCEPTION", "CLUSTERING_DATA_INSERTION_INTO_DB_EXCEPTION", "DATA_SCIENCE_CLUSTERING_FAILED_EXCEPTION", "CLUSTERING_UTTERANCE_DATA_INSERTION_FAILED_EXCEPTION", "CLUSTERING_UTTERANCE_INFO_INSERTION_FAILED_EXCEPTION", "EXISTING_CLUSTERS_DELETION_EXCEPTION", "REQUEST_PAYLOAD_MAX_SIZE_EXCEED_ERROR", "GO_LIVE_PRECONDITION_FAILED", "DEFAULT_TEMPLATE_DOES_NOT_EXIST_EXCEPTION", "SUB_WORKFLOW_DELETE_PRECONDITION_FAILED", "INTENT_IN_USE", "DECRYPTION_EXCEPTION", "ENCRYPTION_EXCEPTION", "CONNECTION_FAILED", "DELETE_FAILED", "GOOGLE_TRANSLATION_API_EXCEPTION", "AWS_LAMBDA_API_EXCEPTION", "TRANSLATION_FAILED", "INVALID_ORCHESTRATOR_STATE_REACHED", "MCP_ERROR", "MCP_VALIDATION_ERROR", "MCP_SERVER_NOT_FOUND", "MAX_MANIFEST_LIMIT_REACHED", "MANIFEST_DELETE_VALIDATION_FAILED", "MANIFEST_DEPLOY_VALIDATION_FAILED"]).optional(), errors: z.array(baseError).optional(), taskStatus: z.array(z.unknown()).optional(), payload: z.unknown()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * GET /v1/zendesk-chat/check-status-all */ export const getApiV1ZendeskChatCheckStatusAll = async (args: GetApiV1ZendeskChatCheckStatusAllArgs, options?: GetApiV1ZendeskChatCheckStatusAllOptions) => { const {baseUrl = "https://api.netomi.com", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.headers != null) headers.set("headers", JSON.stringify(args.headers)) const url = `${baseUrl.replace(/\/+$/, '')}/v1/zendesk-chat/check-status-all${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(serviceResponse, await res.json()) };