import {z} from 'zod' export type Variable = {id?: string | undefined, projectId?: string | undefined, projectName?: string | undefined, name?: string | undefined, description?: string | undefined, type?: ('HEADER' | 'PARAMETER' | 'BODY' | 'CONTEXT_VALUES' | 'CUSTOM') | undefined, headerName?: string | undefined, paramType?: ('QUERY' | 'PATH' | 'FORM') | undefined, paramName?: string | undefined, paramPath?: string | undefined, formName?: string | undefined, xpathValue?: string | undefined, jsonPathValue?: string | undefined, messageContentType?: ('XML' | 'JSON' | 'ALL_BODY') | undefined, contextValue?: ('REQUEST_REMOTE_ADDRESS' | 'REQUEST_HTTP_METHOD' | 'REQUEST_CONTENT_TYPE' | 'REQUEST_PATH_INFO' | 'REQUEST_CONTEXT_PATH' | 'REQUEST_QUERY_STRING' | 'REQUEST_REMOTE_USER' | 'REQUEST_USERNAME_KEY' | 'REQUEST_REQUESTED_SESSION_ID' | 'REQUEST_REQUEST_URI' | 'REQUEST_CHARACTER_ENCODING' | 'REQUEST_CHARSET' | 'REQUEST_CONTENT_LENGTH' | 'REQUEST_PROTOCOL' | 'REQUEST_SCHEME' | 'REQUEST_SERVER_NAME' | 'REQUEST_SERVER_PORT' | 'REQUEST_REMOTE_HOST' | 'REQUEST_REMOTE_PORT' | 'REQUEST_LOCAL_NAME' | 'REQUEST_LOCAL_ADDR' | 'REQUEST_LOCAL_PORT' | 'REQUEST_XFORWARDED_FOR' | 'REQUEST_ESTIMATED_TOKEN_COUNT' | 'REQUEST_MCP_TOOL_NAME' | 'REQUEST_OAUTH_CLIENT_ID' | 'REQUEST_IS_SOAP_TO_REST' | 'REQUEST_IS_APIPROXY' | 'REQUEST_IS_APIPROXYGROUP' | 'REQUEST_IS_XWWW_FORM_URL_ENCODED' | 'REQUEST_IS_FORM_DATA' | 'REQUEST_IS_BYTE_ARRAY' | 'REQUEST_HAS_ATTACHMENT' | 'REQUEST_GZIP' | 'REQUEST_DEFLATE' | 'REQUEST_BR' | 'REQUEST_ZSTD' | 'REQUEST_IDENTITY' | 'REQUEST_COMPRESS' | 'REQUEST_HTTP_SERVLET' | 'RESPONSE_IS_BYTE_ARRAY' | 'RESPONSE_GZIP' | 'RESPONSE_DEFLATE' | 'RESPONSE_BR' | 'RESPONSE_ZSTD' | 'RESPONSE_IDENTITY' | 'RESPONSE_COMPRESS' | 'RESPONSE_BACKEND_CONTENT_ENCODING' | 'RESPONSE_CHARSET' | 'RESPONSE_STATUS_CODE' | 'RESPONSE_HTTP_SERVLET' | 'ERROR_CATEGORY' | 'ERROR_TYPE' | 'ERROR_PARENT' | 'ERROR_RESULT_TYPE' | 'ERROR_MESSAGE' | 'ERROR_CODE' | 'ERROR_HTTP_CODE' | 'MESSAGE_CORRELATION_ID' | 'MESSAGE_CACHE_HIT' | 'ENVIRONMENT_ID' | 'ENVIRONMENT_NAME' | 'ENVIRONMENT_CERTIFICATE' | 'ENVIRONMENT_PRIVATEKEY' | 'ENVIRONMENT_PUBLICKEY' | 'ENVIRONMENT_SECRETKEY' | 'ENVIRONMENT_KEYSTORE' | 'ENVIRONMENT_JWK' | 'APIPROXYGROUP_ID' | 'APIPROXYGROUP_NAME' | 'APIPROXY_ID' | 'APIPROXY_NAME' | 'APIPROXY_RELATIVE_PATH' | 'APIMETHOD_ID' | 'APIMETHOD_NAME' | 'APIMETHOD_SOAP_ACTION' | 'APIMETHOD_HTTPMETHOD' | 'APIMETHOD_ENDPOINT' | 'APIMETHOD_BACKEND_HTTPMETHOD' | 'APIMETHOD_BACKEND_ENDPOINT' | 'DATETIME_YEAR' | 'DATETIME_MONTH' | 'DATETIME_DAY_OF_WEEK' | 'DATETIME_DAY_OF_MONTH' | 'DATETIME_HOUR' | 'DATETIME_MINUTE' | 'DATETIME_SECOND' | 'DATETIME_EPOCH_MILLIS' | 'DATETIME_FORMATTED_TEXT' | 'DATE_FORMATTED_TEXT' | 'TIME_FORMATTED_TEXT' | 'CREDENTIAL_USERNAME' | 'CREDENTIAL_EMAIL' | 'CREDENTIAL_FULLNAME' | 'CREDENTIAL_SECRETKEY' | 'CREDENTIAL_CERTIFICATE' | 'CREDENTIAL_PUBLICKEY' | 'CREDENTIAL_PRIVATEKEY' | 'CREDENTIAL_KEYSTORE' | 'CREDENTIAL_TRUSTSTORE' | 'CREDENTIAL_JWK_SIGNANDVALIDATION' | 'CREDENTIAL_JWK_ENCRYPTIONANDDECRYPTION') | undefined, zoneId?: string | undefined, initWithScript?: boolean | undefined, scriptLanguage?: ('GROOVY' | 'JAVASCRIPT') | undefined, scriptBody?: string | undefined}; export type ConditionRule = {conditionCriteria?: ('VALUE' | 'NOT' | 'AND' | 'OR') | undefined, firstVariable?: Variable | undefined, variableDataType?: ('NUMERIC' | 'STRING' | 'DATE') | undefined, dateFormat?: string | undefined, valueComparisonOperator?: ('LT' | 'LE' | 'GT' | 'GE' | 'EQ' | 'NE' | 'EQ_IGNORE_CASE' | 'NE_IGNORE_CASE' | 'STARTS_WITH' | 'NOT_STARTS_WITH' | 'STARTS_WITH_IGNORE_CASE' | 'NOT_STARTS_WITH_IGNORE_CASE' | 'ENDS_WITH' | 'NOT_ENDS_WITH' | 'ENDS_WITH_IGNORE_CASE' | 'NOT_ENDS_WITH_IGNORE_CASE' | 'CONTAINS' | 'NOT_CONTAINS' | 'CONTAINS_IGNORE_CASE' | 'NOT_CONTAINS_IGNORE_CASE' | 'IS_EMPTY' | 'IS_NOT_EMPTY' | 'EXISTS_AND_EMPTY' | 'IS_EXISTS' | 'IS_NOT_EXISTS' | 'IN' | 'NOT_IN' | 'IN_IGNORE_CASE' | 'NOT_IN_IGNORE_CASE') | undefined, secondValueSource?: ('VALUE' | 'VARIABLE') | undefined, secondValue?: string | undefined, secondVariable?: Variable | undefined}; export type PolicyCondition = {conditionRuleList?: Array | undefined}; export type ErrorResponseRule = {name?: string | undefined, order?: number | undefined, active?: boolean | undefined, builtIn?: boolean | undefined, condition?: PolicyCondition | undefined, template?: string | undefined, contentType?: string | undefined, httpStatusCode?: number | undefined}; export type ErrorMessage = {id?: string | undefined, errorType?: ('APIPROXY' | 'APIPROXY_HIDDENSPEC' | 'APIPROXY_SPEC_AUTH_REQUIRED' | 'API_METHOD_NOTFOUND' | 'DBTOAPI_DB_OPERATION_TYPE_NOTFOUND' | 'DBTOAPI_DB_BATCH_ARRAY_LENGTH' | 'APIPROXY_NOTFOUND' | 'APIPROXY_ENDPOINT_MISMATCH' | 'APIPROXY_ENDPOINT_MISSING_PATH_PARAM_DEFINITION' | 'APIPROXYGROUP_ACCESS_DISABLED_FROM_PROXY' | 'APIPROXY_BACKEND_ADDRESS_NOTFOUND' | 'APIPROXY_BACKEND_MTLS_SETTINGS_NOTFOUND' | 'APICRYPT_EX' | 'NOTER_SETTINGS_NOTFOUND' | 'KPS_SETTINGS_NOTFOUND' | 'KPS_SECURITY_TOKEN_FAULT' | 'KPS_SECURITY_TOKEN_NOT_VALID' | 'SCRIPT_API_NOTFOUND' | 'CONNECTION_CONFIG_DB_NOTFOUND' | 'CONNECTION_CONFIG_DB_DISABLED' | 'DATABASE_CONNECTION_EX' | 'DB_API_NOTFOUND' | 'JOB_API_NOTFOUND' | 'KPS_EX' | 'CONDITION_RULE_FORMAT_NUMERIC' | 'CONDITION_RULE_FORMAT_DATE' | 'CONDITION_RULE_CONFIGURATION' | 'CONDITION_RULE_EX' | 'POLICY_AUTH_EMPTYUSERNAMEORPSSWD' | 'POLICY_AUTH_EMPTYUSERNAME' | 'POLICY_AUTH_EMPTYPSSWD' | 'POLICY_AUTH_USERNOTEXISTS' | 'POLICY_AUTH_EX_LDAP' | 'POLICY_AUTH_EX_API' | 'POLICY_AUTH_TYPE' | 'POLICY_AUTH_EX_DB' | 'POLICY_AUTH_NOT_FOUND' | 'POLICY_AUTH_BASIC_EX' | 'POLICY_AUTH_BASE64_EX' | 'POLICY_AUTH_DIGEST_EX' | 'POLICY_AUTH_JWT3RD_EX' | 'POLICY_AUTH_JWT3RD_MISSING_CONFIG' | 'POLICY_AUTH_JWT3RD_NOT_VALID' | 'POLICY_AUTH_JWT_EX' | 'POLICY_AUTH_JWT_MISSING_CONFIG' | 'POLICY_AUTH_JWT_NOT_VALID' | 'POLICY_AUTH_OAUTH2_EX' | 'POLICY_AUTH_OAUTH2_TOKEN_EXPIRED' | 'POLICY_AUTH_OAUTH2_TOKEN_NOT_VALID' | 'POLICY_AUTH_OIDC_PROTOCOL_EX' | 'POLICY_AUTH_OIDC_AUTHENTICATION_EX' | 'POLICY_AUTH_OIDC_STOP_FLOW' | 'POLICY_AUTH_OIDC_REDIRECT' | 'POLICY_AUTH_OIDC_INVALID_TOKEN' | 'POLICY_AUTHORIZATION_EX' | 'POLICY_AUTHORIZATION_METHOD_NOT_FOUND' | 'POLICY_AUTHORIZATION_WRONG_SCOPE' | 'POLICY_API_AUTHENTICATION' | 'POLICY_API_AUTHENTICATION_NOTFOUND' | 'POLICY_SAML' | 'POLICY_SAML_SIGNATURENOTEXISTS' | 'POLICY_SAML_SIGNATURENOTVALID' | 'POLICY_SAML_KEYSTORENOTVALID' | 'POLICY_SAML_SIGNERUNKNOWN' | 'POLICY_CONTENTFILTER' | 'POLICY_CONTENTFILTER_HEADER' | 'POLICY_CONTENTFILTER_PARAM' | 'POLICY_CONTENTFILTER_BODY' | 'POLICY_CONTENTFILTER_BODY_PATH' | 'POLICY_IPWHITE_FAILED' | 'POLICY_IPWHITE_EX' | 'POLICY_IPBLACK_FAILED' | 'POLICY_IPBLACK_EX' | 'POLICY_RESTRICTION_ALLOWEDHOUR_FAILED' | 'POLICY_RESTRICTION_ALLOWEDHOUR_EX' | 'POLICY_RESTRICTION_MINMESSAGESIZE_FAILED' | 'POLICY_RESTRICTION_MAXMESSAGESIZE_FAILED' | 'POLICY_JSONSCHEMAVALIDATION' | 'POLICY_JSONSCHEMAVALIDATION_FAILED' | 'POLICY_JSONSCHEMAVALIDATION_PATH' | 'POLICY_XMLSCHEMAVALIDATION' | 'POLICY_XMLSCHEMAVALIDATION_FAILED' | 'POLICY_XMLSCHEMAVALIDATION_UNEXPECTEDBODY' | 'POLICY_XMLSCHEMAVALIDATION_PATH' | 'POLICY_XMLTRANSFORMATION' | 'POLICY_JSONTRANSFORMATION' | 'POLICY_APIBASEDTHROTTLING' | 'POLICY_APIBASEDTHROTTLING_CACHE_SERVICE' | 'POLICY_APIBASEDTHROTTLING_STOP' | 'POLICY_APIBASEDQUOTA' | 'POLICY_APIBASEDQUOTA_CACHE_SERVICE' | 'POLICY_APIBASEDQUOTA_STOP' | 'POLICY_REST2SOAP_TRANSFORMATION_REQUEST' | 'POLICY_REST2SOAP_TRANSFORMATION_RESPONSE' | 'POLICY_SCRIPT_USERSTOPPEDFLOW' | 'POLICY_SCRIPT_USERSTOPPEDFLOW_SUCCESS' | 'POLICY_SCRIPT' | 'POLICY_WSSECURITY_FROMTARGET' | 'POLICY_WSSECURITY_TOTARGET' | 'POLICY_WSSECURITY_STSTOKEN' | 'POLICY_WSSECURITY_STSTOKEN_NOTFOUND' | 'POLICY_WSSECURITY_STSTOKEN_NOTVALID' | 'POLICY_WSSECURITY_STSTOKEN_FAULT' | 'CIRCUITBREAKEROPEN_EX' | 'CIRCUITBREAKEROPEN_NO_ROUTE_EX' | 'CLIENTFLOWBANNER_EX' | 'POLICY_ROUTING_TIMEOUT' | 'POLICY_ROUTING_UNKNOWNHOST' | 'POLICY_ROUTING_MALFORMED' | 'POLICY_ROUTING_CONNECTIONREFUSED' | 'POLICY_ROUTING_CONNECTION' | 'POLICY_ROUTING_ERRORHANDLINGCONDITION' | 'POLICY_ROUTING_PROXY_EMPTY' | 'POLICY_ROUTING_PROXY_AUTHORIZATION_EMPTY' | 'POLICY_ROUTING_CONNECTION_CLOSED_CLIENT' | 'POLICY_ROUTING_CONNECTION_CLOSED_SERVER' | 'POLICY_ROUTING_SSE_CLIENT' | 'POLICY_ROUTING_SSE_SERVER' | 'POLICY_ROUTING_AI_PROVIDER_EXHAUSTED' | 'POLICY_ROUTING_AI_PROVIDER_ERROR' | 'POLICY_ROUTING_AI_NO_SUITABLE_PROVIDER' | 'POLICY_ROUTING_AI_CONTEXT_WINDOW_EXCEEDED' | 'POLICY_ROUTING_AI_MODEL_ACCESS_DENIED' | 'POLICY_AI_TOKEN_QUOTA_EXCEEDED' | 'POLICY_AI_TOKEN_COUNTER_UNAVAILABLE' | 'POLICY_AI_ANONYMOUS_NOT_ALLOWED' | 'MCP_INBOUND_BAD_REQUEST' | 'MCP_INBOUND_SERVER_NOT_FOUND' | 'MCP_INBOUND_METHOD_NOT_ALLOWED' | 'MCP_INBOUND_UNAUTHORIZED' | 'MCP_INBOUND_SESSION_LIMIT_EXCEEDED' | 'MCP_INBOUND_PARSE_ERROR' | 'MCP_INBOUND_METHOD_NOT_FOUND' | 'MCP_INBOUND_TOOL_NOT_FOUND' | 'MCP_INBOUND_TOOL_PROXY_UNAVAILABLE' | 'MCP_INBOUND_TOOL_POLICY_GATE_BLOCKED' | 'MCP_INBOUND_TOOL_EXECUTION_FAILED' | 'MCP_INBOUND_CALL_QUOTA_EXCEEDED' | 'MCP_INBOUND_TOOL_APPROVAL_REQUIRED' | 'MCP_INBOUND_ELICITATION_UNSUPPORTED' | 'A2A_INBOUND_BAD_REQUEST' | 'A2A_INBOUND_AGENT_NOT_FOUND' | 'A2A_INBOUND_METHOD_NOT_ALLOWED' | 'A2A_INBOUND_UNAUTHORIZED' | 'A2A_INBOUND_PARSE_ERROR' | 'A2A_INBOUND_METHOD_NOT_FOUND' | 'A2A_INBOUND_TASK_NOT_FOUND' | 'A2A_INBOUND_TASK_EXECUTION_UNAVAILABLE' | 'A2A_INBOUND_CONCURRENCY_LIMIT_EXCEEDED' | 'A2A_INBOUND_CALL_QUOTA_EXCEEDED' | 'POLICY_REDACTION' | 'POLICY_REDACTION_VARIABLE_NOT_FOUND' | 'POLICY_REDACTION_DATA_FORMAT' | 'POLICY_ENCRYPTION' | 'POLICY_ENCRYPTION_MISSING_CONFIG' | 'POLICY_DECRYPTION' | 'POLICY_DIGITALSIGN' | 'POLICY_DIGITALSIGNVALIDATION' | 'POLICY_DIGITALSIGNVALIDATION_FAILED' | 'POLICY_RESTAPI_RESPONSE' | 'POLICY_RESTAPI_CONNECTION' | 'POLICY_RESTAPI' | 'CACHE_AUTHREQUIREDTOREFRESH' | 'POLICY_ROLE_GROUP_BASED_ACCESS' | 'POLICY_ROLE_GROUP_BASED_IP_CHECK_ACCESS' | 'POLICY_PROTOCOL_TRANSFORMATION' | 'POLICY_BUSINESS_RULE' | 'POLICY_BUSINESS_RULE_DATA_FORMAT' | 'POLICY_BUSINESS_RULE_STOP' | 'POLICY_BUSINESS_RULE_VARIABLE_NOT_FOUND' | 'POLICY_MESSAGE_BUILDER' | 'POLICY_LOG' | 'APIPROXY_NOTFOUND_FORTOKEN' | 'CREDENTIAL_NOTFOUND_FORTOKEN' | 'CREDENTIAL_NOTVALID_FORTOKEN' | 'URL_TOKEN_MANAGEMENT_TYPE_MISMATCH' | 'TOKEN_POLICY_NOT_CONFIGURED' | 'POLICY_ROUTING_SSLHANDSHAKE' | 'POLICY_ROUTING_SSLEXPIRED' | 'POLICY_AUTH_CREDENTIAL_NOTEXISTS' | 'POLICY_AUTH_CREDENTIAL_PROXYNOTALLOWED' | 'POLICY_AUTH_IDENTITY_AMBIGUOUS' | 'API_CLIENT_NOT_VALID_AS_RESOURCE_OWNER' | 'POLICY_AUTH_CREDENTIAL_METHODNOTALLOWED' | 'POLICY_AUTH_CREDENTIAL_IPNOTALLOWED' | 'POLICY_AUTH_CREDENTIAL_EXPIRED' | 'POLICY_AUTH_CONTRACT_PROXY_EXPIRED' | 'POLICY_AUTH_CONTRACT_CREDENTIAL_EXPIRED' | 'POLICY_AUTH_CREDENTIAL_PSSWD' | 'POLICY_AUTH_CREDENTIAL_ENVNOTALLOWED' | 'POLICY_CLIENTBASEDTHROTTLING' | 'POLICY_CLIENTBASEDTHROTTLING_CACHE_SERVICE' | 'POLICY_CLIENTBASEDTHROTTLING_STOP' | 'POLICY_CLIENTBASEDQUOTA' | 'POLICY_CLIENTBASEDQUOTA_CACHE_SERVICE' | 'POLICY_CLIENTBASEDQUOTA_STOP' | 'POLICY_JOSE_IMPLEMENTATION_JWK_EMPTY_APIPROXY_VALIDATION' | 'POLICY_JOSE_IMPLEMENTATION_JWK_NOT_FOUND_VALIDATION' | 'POLICY_JOSE_IMPLEMENTATION_JWK_EMPTY_APIPROXY_ENCRYPTION' | 'POLICY_JOSE_IMPLEMENTATION_JWK_NOT_FOUND_ENCRYPTION' | 'POLICY_JOSE_IMPLEMENTATION_JWK_EMPTY_CREDENTIAL_VALIDATION' | 'POLICY_JOSE_IMPLEMENTATION_JWK_NOT_FOUND_CREDENTIAL_VALIDATION' | 'POLICY_JOSE_IMPLEMENTATION_JWK_EMPTY_CREDENTIAL_ENCRYPTION' | 'POLICY_JOSE_IMPLEMENTATION_JWK_NOT_FOUND_CREDENTIAL_ENCRYPTION' | 'POLICY_JOSE_IMPLEMENTATION_SIGN' | 'POLICY_JOSE_IMPLEMENTATION_ENCRYPTION' | 'POLICY_JOSE_IMPLEMENTATION_ENCRYPTION_NEED_SIGN' | 'POLICY_JOSE_IMPLEMENTATION_EX' | 'POLICY_JOSE_IMPLEMENTATION_TARGET_VALUE_NOT_FOUND' | 'POLICY_JOSE_VALIDATION_JWK_EMPTY_APIPROXY_ENCRYPTION' | 'POLICY_JOSE_VALIDATION_JWK_NOT_FOUND_ENCRYPTION' | 'POLICY_JOSE_VALIDATION_JWK_EMPTY_APIPROXY_VALIDATE' | 'POLICY_JOSE_VALIDATION_JWK_NOT_FOUND_VALIDATE' | 'POLICY_JOSE_VALIDATION_JWK_EMPTY_CREDENTIAL_SIGN' | 'POLICY_JOSE_VALIDATION_JWK_EMPTY_CREDENTIAL_ENC' | 'POLICY_JOSE_VALIDATION_JWK_NOT_FOUND_CREDENTIAL_ENC' | 'POLICY_JOSE_VALIDATION_JWK_NOT_FOUND_CREDENTIAL_SIGN' | 'POLICY_JOSE_VALIDATION_TARGET_VALUE_EMPTY' | 'POLICY_JOSE_VALIDATION_ISSUER_EMPTY' | 'POLICY_JOSE_VALIDATION_PARSE_JWT' | 'POLICY_JOSE_VALIDATION_DECRYPTION' | 'POLICY_JOSE_VALIDATION_JWT_IS_NOT_ENCRYPTED' | 'POLICY_JOSE_VALIDATION_SIGNVALIDATION' | 'POLICY_JOSE_VALIDATION_JWT_IS_NOT_SIGNED' | 'POLICY_JOSE_VALIDATION_CLAIMVALIDATION' | 'POLICY_JOSE_VALIDATION_SIGNATUREINVALID' | 'POLICY_JOSE_VALIDATION_EX' | 'POLICY_MTLS_AUTHENTICATION_CERTIFICATE_MISSING' | 'POLICY_MTLS_AUTHENTICATION_CERTIFICATE_NOTVALID' | 'POLICY_MTLS_AUTHENTICATION_CERTIFICATE_ISSUER_MISSING' | 'POLICY_MTLS_AUTHENTICATION_EX' | 'POLICY_MTLS_AUTHENTICATION_ISSUER_MTLS_MISSING' | 'POLICY_MTLS_AUTHENTICATION_ISSUER_CERT_NOT_MATCH' | 'CONNECTOR_SETTINGS_NOTFOUND' | 'CONNECTOR_SETTINGS_DISABLED' | 'CONNECTOR_EX' | 'POLICY_ROUTING_ILLEGAL_ARGUMENT' | 'POLICY_ROUTING_CLIENT_PROTOCOL' | 'POLICY_JOSE_IMPLEMENTATION_JWK_EXPIRED' | 'POLICY_JOSE_VALIDATION_JWK_EXPIRED' | 'POLICY_GROUP_EX' | 'POLICY_ENDPOINTRATELIMIT' | 'POLICY_ENDPOINTRATELIMIT_CACHE_SERVICE' | 'POLICY_ENDPOINTRATELIMIT_STOP' | 'POLICY_ENDPOINTRATELIMIT_TARGETNOTEXIST' | 'POLICY_CLIENTBANNER_BANNED' | 'POLICY_CLIENTBANNER_EX' | 'POLICY_CLIENTBANNER_IDENTITYNOTFOUND' | 'POLICY_WSSECURITY_SIGN' | 'POLICY_WSSECURITY_SIGN_VALIDATION' | 'POLICY_WSSECURITY_ENCRYPT' | 'POLICY_WSSECURITY_DECRYPT' | 'POLICY_WSSECURITY_USERNAME' | 'POLICY_WSSECURITY_TIMESTAMP' | 'POLICY_AUTH_EX' | 'POLICY_AUTH_CREDENTIALS_MISSING' | 'JOSE_VAL_CONFIG_ERROR' | 'JOSE_VAL_EX' | 'JOSE_VAL_TOKEN_INVALID' | 'POLICY_JOSE_VALIDATION_DPOP_INVALID' | 'POLICY_JOSE_VALIDATION_DPOP_BINDING_MISMATCH' | 'JOSE_IMPL_CONFIG_ERROR' | 'APIPROXY_CONFIG_ERROR' | 'APIPROXY_EX' | 'CONTENTFILTER_VIOLATION' | 'THROTTLING_STOP' | 'THROTTLING_EX' | 'THROTTLING_CACHE_SERVICE' | 'QUOTA_STOP' | 'QUOTA_EX' | 'QUOTA_CACHE_SERVICE' | 'ROUTING_CIRCUITBREAKER' | 'ROUTING_CLIENT_ERROR' | 'ROUTING_CONFIG_ERROR' | 'ROUTING_MTLS_CONFIG_FAILED' | 'ROUTING_SSE_EX' | 'ENDPOINT_RATELIMIT_EX' | 'ENDPOINT_RATELIMIT_EXCEEDED' | 'ENDPOINT_RATELIMIT_IDENTITY_NOT_ALLOWED' | 'ENDPOINT_RATELIMIT_IDENTITY_NOT_RESOLVED' | 'RLCL_AUTHENTICATION_POLICY_REQUIRED' | 'REST2SOAP_EX' | 'REDACTION_EX' | 'BUSINESS_RULE_EX' | 'MTLS_CERTIFICATE_MISSING' | 'MTLS_CERTIFICATE_NOTVALID' | 'KPS_TOKEN_EX' | 'JSON_SCHEMA_VALIDATION_FAILED' | 'XML_SCHEMA_VALIDATION_FAILED' | 'WSSECURITY_STSTOKEN_NOTVALID' | 'RESTAPI_EX' | 'CONDITION_EX' | 'POLICY_CACHE_EX' | 'POLICY_CACHE_INVALID_CONFIG' | 'POLICY_AI_MCP_TOOL_CALL_CONFIG_MISSING' | 'POLICY_AI_A2A_AGENT_CALL_CONFIG_MISSING' | 'POLICY_AI_A2A_AGENT_INVOKE_CONFIG_MISSING' | 'POLICY_AI_A2A_AGENT_INVOKE_INVOCATION_FAILED' | 'POLICY_AI_MCP_TOOL_INVOKE_CONFIG_MISSING' | 'POLICY_AI_MCP_TOOL_INVOKE_INVOCATION_FAILED' | 'POLICY_AI_PROMPT_GUARD_BLOCKED' | 'POLICY_AI_SEMANTIC_CACHE_ERROR' | 'POLICY_AI_RAG_INJECTION_NO_MATCH' | 'POLICY_AI_RAG_INJECTION_RETRIEVAL_ERROR' | 'POLICY_AI_DLP_BLOCKED' | 'POLICY_AI_PII_ENCODED_BLOCKED' | 'POLICY_AI_PII_MASK_FAILED' | 'POLICY_AI_LOOP_DETECTED' | 'POLICY_AI_OFF_TOPIC' | 'POLICY_AI_TOPIC_JUDGE_BLOCKED' | 'POLICY_AI_PII_JUDGE_BLOCKED' | 'POLICY_AI_CONTEXT_INTEGRITY_BLOCKED' | 'POLICY_AI_PROMPT_DECORATOR_LIMIT_EXCEEDED' | 'POLICY_AI_DENIED_TOPIC' | 'POLICY_AI_PROMPT_TEMPLATE_UNKNOWN_TEMPLATE' | 'POLICY_AI_PROMPT_TEMPLATE_MISSING_PARAM' | 'POLICY_AI_PROMPT_TEMPLATE_LIMIT_EXCEEDED' | 'POLICY_AI_GROUNDEDNESS_VIOLATION') | undefined, parentErrorType?: ('API_PROXY' | 'APICREATOR' | 'FAKE_API' | 'KPS_API' | 'CONDITION_ERR' | 'CONDITION_EX' | 'POLICY_GROUP' | 'POLICY_AUTHENTICATION' | 'POLICY_OIDC' | 'POLICY_AUTHORIZATION' | 'POLICY_API_AUTHENTICATION' | 'POLICY_THROTTLING_PER_CLIENT' | 'POLICY_APIBASEDTHROTTLING' | 'POLICY_ENDPOINTRATELIMIT' | 'POLICY_APIBASEDQUOTA' | 'POLICY_CLIENTBASEDTHROTTLING' | 'POLICY_CLIENTBASEDQUOTA' | 'POLICY_CLIENTBANNER' | 'POLICY_QUOTA_PER_CLIENT' | 'POLICY_SCRIPT' | 'POLICY_OAUTH2' | 'POLICY_SAML' | 'POLICY_JOSE_IMPLEMENTATION' | 'POLICY_JOSE_VALIDATION' | 'POLICY_MTLS_AUTHENTICATION' | 'POLICY_CONTENTFILTER' | 'POLICY_IPWHITE' | 'POLICY_IPBLACK' | 'POLICY_ALLOWEDHOUR' | 'POLICY_MINMESSAGESIZE' | 'POLICY_MAXMESSAGESIZE' | 'POLICY_JSONSCHEMAVALIDATION' | 'POLICY_XMLSCHEMAVALIDATION' | 'POLICY_JSONTRANSFORMATION' | 'POLICY_XMLTRANSFORMATION' | 'POLICY_JSONRESPONSEMESSAGETRANS' | 'POLICY_XMLRESPONSEMESSAGETRANS' | 'POLICY_REST2SOAP_TRANSFORMATION' | 'POLICY_CACHE' | 'POLICY_ROUTING' | 'POLICY_REDACTION' | 'POLICY_CORS' | 'POLICY_ENCRYPTION' | 'POLICY_DECRYPTION' | 'POLICY_ROLE_GROUP' | 'POLICY_DIGITALSIGN' | 'POLICY_DIGITALSIGNVALIDATION' | 'POLICY_RESTAPI' | 'POLICY_WSSECURITY' | 'POLICY_WSSECURITY_ENCRYPT' | 'POLICY_WSSECURITY_DECRYPT' | 'POLICY_WSSECURITY_USERNAME' | 'POLICY_WSSECURITY_TIMESTAMP' | 'POLICY_WSSECURITY_SIGN' | 'POLICY_WSSECURITY_SIGN_VALIDATION' | 'POLICY_WSSECURITY_STSTOKEN' | 'POLICY_BUSINESS_RULE' | 'POLICY_MESSAGE_BUILDER' | 'POLICY_LOG' | 'POLICY_AI_PII_MASK' | 'POLICY_AI_PROMPT_GUARD' | 'POLICY_AI_TOKEN_RATE_LIMIT' | 'POLICY_AI_SEMANTIC_CACHE' | 'POLICY_AI_MCP_TOOL_CALL' | 'POLICY_AI_A2A_AGENT_CALL' | 'POLICY_AI_RAG_INJECTION' | 'POLICY_AI_DLP_GUARD' | 'POLICY_AI_LOOP_GUARD' | 'POLICY_AI_TOPIC_GUARD' | 'POLICY_AI_CONTEXT_INTEGRITY' | 'POLICY_AI_ROUTING' | 'POLICY_AI_A2A_AGENT_INVOKE' | 'POLICY_AI_MCP_TOOL_INVOKE' | 'POLICY_AI_PROMPT_DECORATOR' | 'POLICY_AI_PROMPT_TEMPLATE' | 'POLICY_AI_GROUNDEDNESS_GUARD' | 'LICENSE') | undefined, httpStatusCode?: number | undefined, errorCode?: string | undefined, originalMessage?: string | undefined, customizedHttpStatusCode?: number | undefined, customizedErrorCode?: string | undefined, customizedMessage?: string | undefined, buildCustomMessage?: boolean | undefined, customMessageTemplate?: string | undefined, customMessageContentType?: string | undefined, customMessageHttpStatusCode?: number | undefined, errorResponseRules?: Array | undefined, customized?: boolean | undefined}; export type ApiProxyErrorHandlingUpdateDTO = {deploy?: boolean | undefined, deployTargetEnvironmentNameList?: Array | undefined, errorHandlingType?: ('DEFAULT' | 'ADVANCED' | 'STATUS_CODE_LIST') | undefined, statusCodeList?: Array | undefined, customizeErrorMessageEnabled?: boolean | undefined, errorMessageList?: Array | undefined}; export type PatchApiApiopsProjectsProjectNameApiProxiesApiProxyNameSettingsErrorHandlingArgs = {projectName: string, apiProxyName: string, body: ApiProxyErrorHandlingUpdateDTO}; export type PatchApiApiopsProjectsProjectNameApiProxiesApiProxyNameSettingsErrorHandlingOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; export const deploymentResult = z.object({envName: z.string().optional(), podName: z.string().optional(), podIp: z.string().optional(), success: z.boolean().optional(), detail: z.string().optional(), responseTime: z.number().int().optional(), detailList: z.array(z.unknown()).optional(), firstFromApiResultList: z.unknown()}); export const apiOpsAdvisoryDTO = z.object({level: z.string().optional(), key: z.string().optional(), params: z.record(z.string(), z.unknown()).optional()}); export const apiOpsResponseSuccess = z.object({status: z.enum(["SUCCESS", "FAILURE"]).optional(), resultMessage: z.string().optional(), resultList: z.array(z.string()).optional(), resultCount: z.number().int().optional(), deploymentResult: deploymentResult.optional(), unresolvedReferences: z.array(z.string()).optional(), advisories: z.array(apiOpsAdvisoryDTO).optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Update Error Handling Settings * * PATCH /apiops/projects/{projectName}/apiProxies/{apiProxyName}/settings/error-handling/ */ export const patchApiApiopsProjectsProjectNameApiProxiesApiProxyNameSettingsErrorHandling = async (args: PatchApiApiopsProjectsProjectNameApiProxiesApiProxyNameSettingsErrorHandlingArgs, options?: PatchApiApiopsProjectsProjectNameApiProxiesApiProxyNameSettingsErrorHandlingOptions) => { const {baseUrl = "http://167.86.118.166:32080", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") headers.set('accept', "application/json") const url = `${baseUrl.replace(/\/+$/, '')}/apiops/projects/${encodeURIComponent(String(args.projectName))}/apiProxies/${encodeURIComponent(String(args.apiProxyName))}/settings/error-handling/${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PATCH", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(apiOpsResponseSuccess, await res.json()) };