import {z} from 'zod' export type CreateApiApiopsProjectsProjectNameLimitPlansPlanKeyActionsUndeployArgs = {projectName: string, planKey: string}; export type CreateApiApiopsProjectsProjectNameLimitPlansPlanKeyActionsUndeployOptions = {baseUrl?: string | undefined, fetch?: typeof fetch | undefined}; export const aiModelBudgetDTO = z.object({modelId: z.string().min(1), tokensPerHour: z.number().int().gte(1).optional(), tokensPerDay: z.number().int().gte(1).optional(), tokensPerMonth: z.number().int().gte(1).optional(), monthlyBudgetUsd: z.number().gte(0).optional(), usdPerHour: z.number().gte(0).optional(), usdPerDay: z.number().gte(0).optional(), overflowAction: z.enum(["BLOCK", "FAILOVER", "ALERT_ONLY", "CHEAPER_MODEL"]).optional()}); export const aiProviderBudgetDTO = z.object({providerRef: z.string().min(1), tokensPerHour: z.number().int().gte(1).optional(), tokensPerDay: z.number().int().gte(1).optional(), tokensPerMonth: z.number().int().gte(1).optional(), monthlyBudgetUsd: z.number().gte(0).optional(), usdPerHour: z.number().gte(0).optional(), usdPerDay: z.number().gte(0).optional(), overflowAction: z.enum(["BLOCK", "FAILOVER", "ALERT_ONLY", "CHEAPER_MODEL"]).optional()}); export const aiTokenBudgetDTO = z.object({enabled: z.boolean().optional(), tokensPerHour: z.number().int().gte(1).optional(), tokensPerMinute: z.number().int().gte(1).optional(), tokensPerDay: z.number().int().gte(1).optional(), tokensPerMonth: z.number().int().gte(1).optional(), monthlyBudgetUsd: z.number().gte(0).optional(), usdPerMinute: z.number().gte(0).optional(), usdPerHour: z.number().gte(0).optional(), usdPerDay: z.number().gte(0).optional(), requestsPerMinute: z.number().int().gte(1).optional(), requestsPerHour: z.number().int().gte(1).optional(), requestsPerDay: z.number().int().gte(1).optional(), requestsPerMonth: z.number().int().gte(1).optional(), softCapPercents: z.array(z.number().int().gte(0).lte(100)).optional(), hardCapPercent: z.number().int().gte(1).lte(100).optional(), overflowAction: z.enum(["BLOCK", "FAILOVER", "ALERT_ONLY", "CHEAPER_MODEL"]).optional(), cheaperModelId: z.string().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), cacheErrorHandlingType: z.string().optional(), showRateLimitStatisticsInResponseHeader: z.boolean().optional(), cacheConnectionTimeoutInSeconds: z.number().int().gte(1).optional(), modelBudgets: z.array(aiModelBudgetDTO).optional(), providerBudgets: z.array(aiProviderBudgetDTO).optional()}); export const windowDTO = z.object({permittedMessageCount: z.number().int().gte(1), interval: z.enum(["ONE_SECOND", "ONE_MINUTE", "ONE_HOUR", "ONE_DAY", "ONE_MONTH"]), periodLength: z.number().int().gte(1).optional(), windowType: z.enum(["FIXED", "SLIDING"]).optional(), countingMode: z.enum(["ALL_REQUESTS", "ACCEPTED_ONLY"]).optional(), limitChangeAction: z.enum(["CLAMP", "RESET", "NONE"]).optional()}); export const limitRequestRateSpecDTO = z.object({windows: z.array(windowDTO).optional(), overflowAction: z.enum(["BLOCK", "COUNT_ONLY"]).optional(), cacheErrorHandlingType: z.enum(["FAIL", "CONTINUE"]).optional(), cacheConnectionTimeoutInSeconds: z.number().int().optional(), showRateLimitStatisticsInResponseHeader: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional()}); export const apiOpsLimitAssignmentTargetDTO = z.object({type: z.enum(["ALL", "API_PROXY", "API_PROXY_ENV", "API_PROXY_GROUP", "API_PROXY_GROUP_ENV", "API_ENDPOINT", "API_ENDPOINT_ENV", "AI_MODEL", "AI_PROVIDER"]).optional(), apiProxyName: z.string().optional(), apiProxyGroupName: z.string().optional(), environmentName: z.string().optional(), targetKey: z.string().optional(), endpointHttpMethod: z.string().optional(), endpointPath: z.string().optional(), llmProviderName: z.string().optional(), projectName: z.string().optional(), httpMethods: z.array(z.string()).optional()}); export const variable = z.object({id: z.string().optional(), projectId: z.string().optional(), projectName: z.string().optional(), name: z.string().optional(), description: z.string().optional(), type: z.enum(["HEADER", "PARAMETER", "BODY", "CONTEXT_VALUES", "CUSTOM"]).optional(), headerName: z.string().optional(), paramType: z.enum(["QUERY", "PATH", "FORM"]).optional(), paramName: z.string().optional(), paramPath: z.string().optional(), formName: z.string().optional(), xpathValue: z.string().optional(), jsonPathValue: z.string().optional(), messageContentType: z.enum(["XML", "JSON", "ALL_BODY"]).optional(), contextValue: z.enum(["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"]).optional(), zoneId: z.string().optional(), initWithScript: z.boolean().optional(), scriptLanguage: z.enum(["GROOVY", "JAVASCRIPT"]).optional(), scriptBody: z.string().optional()}); export const conditionRule = z.object({conditionCriteria: z.enum(["VALUE", "NOT", "AND", "OR"]).optional(), firstVariable: variable.optional(), variableDataType: z.enum(["NUMERIC", "STRING", "DATE"]).optional(), dateFormat: z.string().optional(), valueComparisonOperator: z.enum(["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"]).optional(), secondValueSource: z.enum(["VALUE", "VARIABLE"]).optional(), secondValue: z.string().optional(), secondVariable: variable.optional()}); export const policyCondition = z.object({conditionRuleList: z.array(conditionRule).optional()}); export const errorResponseRule = z.object({name: z.string().optional(), order: z.number().int().optional(), active: z.boolean().optional(), builtIn: z.boolean().optional(), condition: policyCondition.optional(), template: z.string().optional(), contentType: z.string().optional(), httpStatusCode: z.number().int().optional()}); export const errorMessage = z.object({id: z.string().optional(), errorType: z.enum(["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"]).optional(), parentErrorType: z.enum(["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"]).optional(), httpStatusCode: z.number().int().optional(), errorCode: z.string().optional(), originalMessage: z.string().optional(), customizedHttpStatusCode: z.number().int().optional(), customizedErrorCode: z.string().optional(), customizedMessage: z.string().optional(), buildCustomMessage: z.boolean().optional(), customMessageTemplate: z.string().optional(), customMessageContentType: z.string().optional(), customMessageHttpStatusCode: z.number().int().optional(), errorResponseRules: z.array(errorResponseRule).optional(), customized: z.boolean().optional()}); export const apiOpsLimitRuleSpecDTO: z.ZodType = z.object({aiBudget: aiTokenBudgetDTO.optional(), requestRate: limitRequestRateSpecDTO.optional(), target: apiOpsLimitAssignmentTargetDTO.optional(), targetedRules: z.array(z.lazy(() => apiOpsLimitRuleSpecDTO)).optional(), validFrom: z.string().optional(), validUntil: z.string().optional(), listViaProxyGroup: z.boolean().optional(), listProxyGroupName: z.string().optional(), ownBudgetThresholds: z.boolean().optional(), condition: policyCondition.optional(), errorMessageList: z.array(errorMessage).optional()}); export const apiOpsResponseLimitPlan = z.object({planKey: z.string().optional(), family: z.enum(["REQUEST_RATE", "AI_TOKEN_BUDGET"]).optional(), name: z.string().optional(), nameTr: z.string().optional(), description: z.string().optional(), labels: z.array(z.string()).optional(), active: z.boolean().optional(), deployed: z.boolean().optional(), platformScoped: z.boolean().optional(), ruleSpec: apiOpsLimitRuleSpecDTO.optional(), managedBySubscriptionPlanId: z.string().optional(), managedBySubscriptionPlanName: z.string().optional(), version: z.number().int().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 }; /** * Undeploy a plan (deprecated) * * POST /apiops/projects/{projectName}/limit-plans/{planKey}/actions/undeploy */ export const createApiApiopsProjectsProjectNameLimitPlansPlanKeyActionsUndeploy = async (args: CreateApiApiopsProjectsProjectNameLimitPlansPlanKeyActionsUndeployArgs, options?: CreateApiApiopsProjectsProjectNameLimitPlansPlanKeyActionsUndeployOptions) => { const {baseUrl = "http://167.86.118.166:32080", fetch: fetchFn = fetch} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") const url = `${baseUrl.replace(/\/+$/, '')}/apiops/projects/${encodeURIComponent(String(args.projectName))}/limit-plans/${encodeURIComponent(String(args.planKey))}/actions/undeploy${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(apiOpsResponseLimitPlan, await res.json()) };