@kong-ui-public/entities-plugins 9.267.3 → 9.268.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.
@@ -1,6 +1,6 @@
1
- (function(ke,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong/icons"),require("@kong/kongponents"),require("@vue-flow/background"),require("@vue-flow/controls"),require("@vue-flow/core"),require("@vueuse/core"),require("@kong-ui-public/i18n"),require("@vue-flow/controls/dist/style.css"),require("@vue-flow/core/dist/style.css"),require("@vue-flow/core/dist/theme-default.css"),require("@kong-ui-public/entities-shared"),require("@kong-ui-public/entities-plugins-icon"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("marked"),require("dompurify"),require("@kong-ui-public/monaco-editor"),require("monaco-editor"),require("vue-router"),require("@kong-ui-public/monaco-editor/dist/runtime/style.css"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("@kong-ui-public/entities-vaults"),require("shiki"),require("zod"),require("axios"),require("@kong-ui-public/entities-vaults/dist/style.css"),require("@kong-ui-public/forms/dist/style.css")):typeof define=="function"&&define.amd?define(["exports","vue","@kong/icons","@kong/kongponents","@vue-flow/background","@vue-flow/controls","@vue-flow/core","@vueuse/core","@kong-ui-public/i18n","@vue-flow/controls/dist/style.css","@vue-flow/core/dist/style.css","@vue-flow/core/dist/theme-default.css","@kong-ui-public/entities-shared","@kong-ui-public/entities-plugins-icon","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","marked","dompurify","@kong-ui-public/monaco-editor","monaco-editor","vue-router","@kong-ui-public/monaco-editor/dist/runtime/style.css","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","@kong-ui-public/entities-vaults","shiki","zod","axios","@kong-ui-public/entities-vaults/dist/style.css","@kong-ui-public/forms/dist/style.css"],t):(ke=typeof globalThis<"u"?globalThis:ke||self,t(ke["kong-ui-public-entities-plugins"]={},ke.Vue,ke.KongIcons,ke.Kongponents,ke.background,ke.controls,ke.core$1,ke.core,ke["kong-ui-public-i18n"],null,null,null,ke["kong-ui-public-entities-shared"],ke.entitiesPluginsIcon,ke.entitiesPluginsMetadata,ke.forms,ke.marked,ke.DOMPurify,ke.monacoEditor,ke.monaco,ke.VueRouter,null,ke.entitiesRedisConfigurations,null,ke.entitiesVaults,ke.shiki,ke.zod,ke.axios))})(this,(function(ke,t,Ne,_e,IS,Dy,xt,Ot,Ft,$7,R7,L7,ue,Sr,q,Je,Dl,Ua,Ka,bo,Ar,D7,mf,M7,qa,vS,$,gi){"use strict";function TS(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}function BS(e,n){for(var r=0;r<n.length;r++){const o=n[r];if(typeof o!="string"&&!Array.isArray(o)){for(const i in o)if(i!=="default"&&!(i in e)){const a=Object.getOwnPropertyDescriptor(o,i);a&&Object.defineProperty(e,i,a.get?a:{enumerable:!0,get:()=>o[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}const Ml=TS(bo),zt={actions:{cancel:"Cancel",view_configuration:"View configuration",create:"New plugin",create_custom:"Create",configure:"Configure",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",disable:"Disable",delete:"Delete",disabled:"Disabled",confirm_delete:"Yes, delete",view:"View details",configure_dynamic_ordering:"Configure dynamic ordering",go_to_plugins:"Go to plugins",save:"Save",add_entity:"Add {entity}",remove_entity:"Remove {entity}",loading_spinner:"Loading..."},view_configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML, JSON, or Terraform. This allows for straightforward importing into APIOps tools like decK with YAML, Insomnia and cURL with JSON, or Terraform products with Terraform.",yaml:"YAML",terraform:"Terraform",json:"JSON",deck:"decK"},delete:{title:"Delete a plugin",custom_title:"Delete {name}",custom_plugin:"Custom plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to delete custom plugin",plugin_schema_in_use_message:"This custom plugin is currently in use in this control plane. Please delete any existing instances before removing this schema.",confirmModalText1:"Are you sure you want to delete",confirmModalText2:"Please ensure this plugin is not in use. This delete action cannot be reversed.",confirm_text:"Type {name} to confirm your action",success_message:"Successfully deleted custom plugin {name}"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard",tooltip:"Copy {label}",success_tooltip:"Copied!"},errors:{general:"Plugins could not be retrieved",delete:"The plugin could not be deleted at this time.",copy:"Failed to copy to clipboard",load_results:"Error loading available plugins",load_schema:"Error loading plugin schema"},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact instance name or ID",kongManager:"Filter by exact instance name or ID",select:"Filter plugins",search_plugins:"Search plugins",search:"Search",tags_filter:"Type part of a tag and press Enter",scope_filter:"Select scopes"},filter:{field:{enabled:"Enabled"},tags_invalid:"Tags can't contain commas, slashes, or leading/trailing spaces"},no_results:'No results found for "{filter}"'},labels:{new:"New"},onboarding:{steps:{consumer:{step:"Consumer",title:"Create a consumer",description:"Consumers represent the users or applications calling your API. Add a name or tags to help you identify and manage this consumer later.",note:"A consumer can have both unique username and unique custom ID or one of them."},credential:{step:"Credential",title:"Add a credential"}},consumer_fields:{username_label:"Username",username_placeholder:"Enter a unique username",custom_id_label:"Custom ID",custom_id_placeholder:"Enter a unique custom ID"},choose_consumer:{title:"Choose a consumer",description:"Choose a consumer to add a credential",select_label:"Select an existing consumer",select_placeholder:"Search consumers"},create_consumer:{title:"Create a consumer"},add_credential:{title:"Add a credential"},create_principal:{title:"Create a principal",description:"Create a principal with authentication to test your plugin configuration."},add_principal_credential:{title:"Add authentication to a principal",description:"Add authentication credentials to an existing principal."},actions:{save_and_next:"Save and next",skip:"Skip",exit_setup:"Exit setup"},errors:{create_consumer:"The consumer could not be created at this time.",create_credential:"The credential could not be created at this time.",load_consumers:"Consumers could not be retrieved"},"basic-auth":{title:"Next steps for basic authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to assign username and password for authentication.",create_consumer:{description:"Create a new consumer with a basic auth credential to test your plugin configuration."},add_credential:{title:"Add a basic authentication credential",description:"Add a basic auth credential to an existing consumer."},credential_action:"Create credential"},"key-auth":{title:"Next steps for key authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to assign API keys for authentication.",create_consumer:{description:"Create a new consumer with a key auth credential to test your plugin configuration."},add_credential:{title:"Add a key authentication credential",description:"Add key authentication credentials to an existing consumer."},credential_action:"Create key"},"key-auth-enc":{title:"Next steps for key authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to assign API keys for authentication.",create_consumer:{description:"Create a new consumer with a key auth credential to test your plugin configuration."},add_credential:{title:"Add a key authentication credential",description:"Add key authentication credentials to an existing consumer."},credential_action:"Create key"},oauth2:{title:"Next steps for OAuth 2.0 authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to register an OAuth 2.0 application for authentication.",create_consumer:{description:"Create a new consumer with an OAuth 2.0 credential to test your plugin configuration."},add_credential:{title:"Add an OAuth 2.0 credential",description:"Add an OAuth 2.0 credential to an existing consumer."},credential_action:"Create credential"},"hmac-auth":{title:"Next steps for HMAC authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to add usernames and secrets for authentication.",create_consumer:{description:"Create a new consumer with a HMAC auth credential to test your plugin configuration."},add_credential:{title:"Add a HMAC authentication credential",description:"Add a HMAC auth credential to an existing consumer."},credential_action:"Create credential"},jwt:{title:"Next steps for JWT plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to assign JWT credentials (public and secret keys) for authentication.",create_consumer:{description:"Create a new consumer with a JWT credential to test your plugin configuration."},add_credential:{title:"Add a JWT credential",description:"Add a JWT credential to an existing consumer."},credential_action:"Create credential"},acl:{title:"Next steps for ACL plugins",subtitle:"Consumers represent the users or applications calling your API. You do this by configuring either an allow list or a deny list with certain consumers or consumer groups.",create_consumer:{description:"Create a new consumer with an ACL credential to test your plugin configuration."},add_credential:{title:"Add an ACL credential",description:"Add an ACL credential to an existing consumer to test your new plugin configuration."},credential_action:"Add group to consumer"}},plugins:JSON.parse(`{"title":"Plugins","list":{"toolbar_actions":{"new_plugin":"New plugin"},"table_headers":{"applied_to":"Applied to","applied_to_badges":{"consumer":"Consumer","global":"Global","route":"Route","service":"Service","consumer_group":"Consumer group"},"id":"ID","plugin":"Plugin","name":"Name","instance_name":"Instance name","scope":"Scope","status":"Status","ordering":"Ordering","ordering_badge":{"dynamic":"Dynamic","static":"Static"},"enabled":"Enabled","tags":"Tags","updated_at":"Last modified"},"empty_state":{"title":"Configure a new plugin","description":"Plugins are used to extend Kong functionality."},"empty_state_v2":{"title":"Configure your first plugin","description":"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.","create_cta":"New plugin","group":"Plugins created in gateways within this group will automatically appear here.","learn_more":"Learn more"}},"meta":{"basic-auth":{"name":"Basic Authentication","credential_name":"Basic Auth Credential","description":"Add Basic Authentication to your services"},"hmac-auth":{"name":"HMAC Authentication","credential_name":"HMAC Credential","description":"Add HMAC Authentication to your services"},"jwt-signer":{"name":"JWT Signer","description":"Verify and (re-)sign one or two tokens in a request"},"jwt":{"name":"JWT","credential_name":"JWT Credential","description":"Verify and authenticate JSON Web Tokens"},"key-auth":{"name":"Key Authentication","credential_name":"Key Auth Credential","description":"Add key authentication to your services"},"key-auth-enc":{"name":"Key Authentication Encrypted","credential_name":"Key Auth Encrypted","description":"Add key authentication to your services with an encrypted token"},"ldap-auth-advanced":{"name":"LDAP Authentication Advanced","description":"Integrate Kong with a LDAP server"},"ldap-auth":{"name":"LDAP Authentication","description":"Integrate Kong with a LDAP server"},"oauth2-introspection":{"name":"OAuth 2.0 Introspection","description":"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},"oauth2":{"name":"OAuth 2.0 Authentication","credential_name":"OAuth 2.0 Application","description":"Add OAuth 2.0 authentication to your services"},"openid-connect":{"name":"OpenID Connect","description":"Integrate Kong with a third-party OpenID Connect 1.0 provider"},"mtls-auth":{"name":"Mutual TLS Authentication","description":"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{"name":"Vault Authentication","description":"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{"name":"Bot Detection","description":"Detect and clock bots or custom clients"},"cors":{"name":"CORS","description":"Allow developers to make requests from the browser"},"ip-restriction":{"name":"IP Restriction","description":"Whitelist or blacklist IPs that can make requests"},"opa":{"name":"OPA","description":"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{"name":"Kubernetes Sidecar Injector","description":"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{"name":"Request Validator","description":"Validate requests before they reach their upstream service."},"acl":{"name":"ACL","credential_name":"Access Control Group","description":"Control which consumers can access services"},"canary":{"name":"Canary Release","description":"Methodically roll out software changes to a subset of users"},"forward-proxy":{"name":"Forward Proxy","description":"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{"name":"Proxy Caching","description":"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{"name":"Proxy Caching Advanced","description":"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{"name":"GraphQL Proxy Caching Advanced","description":"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{"name":"Rate Limiting Advanced","description":"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{"name":"Rate Limiting","description":"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{"name":"GraphQL Rate Limiting Advanced","description":"Rate-limit how many HTTP requests a developer can make"},"mocking":{"name":"Mocking","description":"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{"name":"Request Size Limiting","description":"Block requests with bodies greater than a specific size"},"request-termination":{"name":"Request Termination","description":"Terminate all requests with a specific response"},"response-ratelimiting":{"name":"Response Rate Limiting","description":"Rate-Limiting based on a custom response header value"},"route-by-header":{"name":"Route by Header","description":"Route requests based on request headers"},"ai-proxy":{"name":"AI Proxy","description":"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{"name":"AI Prompt Decorator","description":"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{"name":"AI Prompt Template","description":"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{"name":"AI Prompt Guard","description":"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{"name":"AI Request Transformer","description":"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{"name":"AI Response Transformer","description":"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{"name":"AI Rate Limiting Advanced","description":"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{"name":"AI Azure Content Safety","description":"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{"name":"AWS Lambda","description":"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{"name":"Azure Functions","description":"Invoke Azure functions"},"openwhisk":{"name":"OpenWhisk","description":"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{"name":"Kong Functions (Pre-Plugins)","description":"Add and manage custom lua functions to run before other plugins"},"post-function":{"name":"Kong Functions (Post-Plugins)","description":"Add and manage custom lua functions to run after other plugins"},"datadog":{"name":"Datadog","description":"Visualize metrics on Datadog"},"prometheus":{"name":"Prometheus","description":"Export performance metrics to Prometheus"},"zipkin":{"name":"Zipkin","description":"Propagate zipkin spans and report spans to a zipkin server"},"collector":{"name":"Collector","description":"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{"name":"Response Transformer Advanced","description":"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{"name":"Correlation ID","description":"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{"name":"Request Transformer Advanced","description":"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{"name":"Request Transformer","description":"Modify the request before hitting the upstream server"},"response-transformer":{"name":"Response Transformer","description":"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{"name":"Route Transformer Advanced","description":"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{"name":"Kafka Upstream","description":"Transform requests into Kafka messages in a topic"},"degraphql":{"name":"DeGraphQL","description":"Transform a GraphQL upstream into a REST API"},"exit-transformer":{"name":"Exit Transformer","description":"Customize Kong exit responses sent downstream"},"jq":{"name":"jq","description":"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{"name":"File Log","description":"Append request and response data to a log file on disk"},"http-log":{"name":"HTTP Log","description":"Send request and response logs to an HTTP server"},"loggly":{"name":"Loggly","description":"Send request and response logs to Loggly"},"statsd-advanced":{"name":"StatsD Advanced","description":"Send traffic and Kong performance metrics to StatsD"},"statsd":{"name":"StatsD","description":"Send request and response logs to StatsD"},"syslog":{"name":"Syslog","description":"Send request and response logs to Syslog"},"tcp-log":{"name":"TCP Log","description":"Send request and response logs to a TCP server"},"udp-log":{"name":"UDP Log","description":"Send request and response logs to a UDP server"},"kafka-log":{"name":"Kafka Log","description":"Publish request and response logs to a Kafka topic"},"session":{"name":"Session","description":"Sessions for Kong authentication"},"upstream-tls":{"name":"Upstream TLS","description":"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{"name":"Portal Application Registration","description":"Allow portal developers to register applications against services"},"konnect-application-auth":{"name":"Konnect Application Auth","description":"Allow Konnect portal developers to register applications against services"},"acme":{"name":"ACME","description":"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{"name":"gRPC Gateway","description":"Access gRPC services through HTTP REST"},"grpc-web":{"name":"gRPC Web","description":"Allow browser clients to call gRPC services"},"upstream-timeout":{"name":"Upstream Timeout","description":"Configure read, send and connect timeouts to an upstream"},"opentelemetry":{"name":"OpenTelemetry","description":"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{"name":"WebSocket Validator","description":"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{"name":"WebSocket Size Limit","description":"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{"name":"TLS Metadata Headers","description":"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{"name":"TLS Handshake Modifier","description":"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{"name":"OAS Validation","description":"Validate HTTP requests and responses based on an API specification."},"jwe-decrypt":{"name":"Kong JWE Decrypt","description":"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{"name":"XML Threat Protection","description":"Reduce the risk of XML attacks by checking the structure of XML payloads."},"saml":{"name":"SAML","description":"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{"name":"AppDynamics","description":"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{"name":"JSON Threat Protection","description":"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{"name":"Standard Webhooks","description":"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{"name":"AI Proxy Advanced","description":"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{"name":"AI Semantic Cache","description":"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{"name":"AI Semantic Prompt Guard","description":"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{"name":"Header Certificate Authentication","description":"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{"name":"Upstream OAuth","description":"Configure Kong to obtain a OAuth2 token to consume an upstream API"},"confluent":{"name":"Confluent","description":"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{"name":"Service Protection","description":"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{"name":"Injection Protection","description":"Protect against injection attacks by rejecting requests that match common injections patterns."},"redirect":{"name":"Redirect","description":"Redirect incoming requests to a new URL"},"kafka-consume":{"name":"Kafka Consume","description":"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{"name":"Confluent Consume","description":"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{"name":"Request Callout","description":"Callout to third party APIs as part of request processing."},"ai-sanitizer":{"name":"AI Sanitizer","description":"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{"name":"AI RAG Injector","description":"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},"datakit":{"name":"Datakit","description":"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{"name":"AI Prompt Compressor","description":"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{"name":"Solace Upstream","description":"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{"name":"AI AWS GuardRails","description":"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."},"ace":{"name":"Konnect Access Control Enforcement","description":"Enable Developer Self-Service for Konnect Dev Portals."},"solace-consume":{"name":"Solace Consume","description":"Consume messages from Solace and make them available through HTTP endpoints."},"solace-log":{"name":"Solace Log","description":"Publish request and response logs to a Solace topic."},"ai-llm-as-judge":{"name":"AI LLM Judge","description":"Evaluate LLM responses with an external LLM service and use accuracy scores to drive dynamic load balancing for \`llm/v1/chat\` requests."},"ai-mcp-proxy":{"name":"AI MCP Proxy","description":"Convert APIs into MCP tools, proxy MCP servers, expose multiple MCP tools, and observe MCP traffic in real time."},"ai-gcp-model-armor":{"name":"AI GCP Model Armor","description":"Audit and validate AI Proxy messages with Google Cloud Model Armor before forwarding them to an upstream LLM."},"ai-mcp-oauth2":{"name":"AI MCP OAuth2","description":"Secure MCP server access with OAuth2 authentication."},"ai-semantic-response-guard":{"name":"AI Semantic Response Guard","description":"Permit or block prompts based on semantic similarity to known LLM responses, preventing misuse of \`llm/v1/chat\` or \`llm/v1/completions\` requests."},"ai-lakera-guard":{"name":"AI Lakera Guard","description":"Audit and enforce safety policies on LLM requests and responses using the AI AWS Lakera plugin before they reach upstream LLMs."},"ai-a2a-proxy":{"name":"AI A2A Proxy","description":"Securely proxy A2A agents, with real-time RPC tracing and monitoring."},"ai-custom-guardrail":{"name":"AI Custom Guardrail","description":"Integrate with any 3rd-party Guardrail service, with customizable enforcement modes — choose whether violations block, log, or allow traffic to proceed."},"metering-and-billing":{"name":"Metering & Billing","description":"Meter API requests and AI token usage for usage-based billing. Supports flexible customer identification, custom pricing dimensions, and fine-grained traffic filtering. Integrates natively with Konnect Metering & Billing."},"entitlement-enforcement":{"name":"Entitlement Enforcement","description":"Allow or deny API requests based on customer entitlements. Checks feature access, usage limits, and credit balance against Metering & Billing before routing traffic."}},"fields":{"service":"Service","route":"Route","consumer":"Consumer","consumer_group":"Consumer group"},"select":{"custom_badge_text":"This plugin is data plane node specific","cloned_from_badge":"Cloned from {link}","installed_custom_badge":"Installed custom","streamed_custom_badge":"Streamed custom","unavailable_tooltip":"This plugin is not available","already_exists":"This plugin is already applied to this resource","misc_plugins":"Other plugins","show_all":"Show all","view_more":"View more","view_less":"View less","filter":{"title":"Filter plugins","featured":"Featured","type":"Type","clear":"Clear"},"list":{"table_headers":{"name":"Plugin","description":"Description"}},"tabs":{"kong":{"title":"Kong plugins","description":"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.","empty_title":"No plugins","empty_description":"No plugins are available."},"custom":{"title":"Custom plugins","description":"Custom plugins will be available in this control plane only.","disabled_tooltip":"Custom plugins are not available with this gateway. Create a hybrid or dedicated cloud gateway to leverage custom plugins.","fetch_error":"Unable to load some custom plugins. Bundled plugins are still available.","license_required":"Plugin cloning requires a license to be used.","empty_title":"No custom plugins","empty_description":"No custom plugins have been added to this control plane.","create":{"name":"Custom plugin","description":"Upload schema file to create custom plugin"}}},"highlighted_plugins":{"title":"Highlighted plugins"}},"form":{"button_deck_customize":"Customize before copying to CLI","disable_data_retrieving":"You do not have permission to select {scope}","disable_source_scope_change":"Changing the {scope} is not allowed when configuring a plugin under it","no_selection":"No selection...","fields":{"enabled":{"label":"Enabled","on_text":"This plugin is enabled","off_text":"This plugin is disabled"},"plugin_status":{"label":"Plugin status","text_on":"Enabled","text_off":"Disabled"},"instance_name":{"label":"Name","placeholder":"Enter a unique name","help":"A custom name for this plugin instance to help with identifying from the list view."},"condition":{"label":"Execution condition","placeholder":"Enter an expression","tooltip":"An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.","help":{"learn":"Learn more","about":"{link} about plugin conditions."}},"protocols":{"label":"Protocols","placeholder":"Select valid protocols for the plugin","placeholderWithDefaultValues":"Select valid protocols for the plugin. Default protocols: {protocols}","help":"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},"tags":{"label":"Tags","help":"An optional set of strings for grouping and filtering, separated by commas.","placeholder":"Tag1, Tag2, Tag3"},"secret":{"generateLabel":"Generate secret"}},"scoping":{"label":"Scoped","placeholder":"Search by name or UUID","disable_global_radio":"The plugin is set to 'scoped' by default. To apply a plugin globally, please navigate to the global plugin list page.","global":{"label":"Global","help":"All services, routes, and consumers"},"gateway_service":{"label":"Select a gateway service","help":"The gateway service to which this plugin configuration will apply","placeholder":"Select a gateway service","plural":"Gateway services"},"route":{"label":"Select a route","help":"The route that this plugin configuration will target","placeholder":"Select a route","plural":"Routes"},"consumer":{"label":"Select a consumer","help":"The consumer that this plugin configuration will target","placeholder":"Select a consumer","plural":"Consumers"},"consumer_group":{"label":"Select a consumer group","help":"The consumer group that this plugin configuration will target","placeholder":"Select a consumer group","plural":"Consumer groups"}},"grouping":{"plugin_configuration":{"title":"Plugin configuration","description":"Configuration parameters for this plugin. View advanced parameters for extended configuration.","empty":"This plugin does not have required parameters."},"advanced_parameters":{"view":"Show additional settings","hide":"Hide additional settings"}},"field_rules":{"at_least_one_of":"At least one of the following values is required: {parameters}.","only_one_of":"Exactly one of these parameters is required: {parameters}","mutually_required":"These values must be used together: {parameters}.","mutually_exclusive":"Only one of these values can be used: {parameters}.","only_one_of_mutually_required":"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},"sections":{"plugin_scope":{"title":"Plugin scope","description":"Choose whether this plugin applies to all traffic (global) or is scoped to a specific service, route, or consumer."},"general_info":{"title":"General information","description":"Add details to help identify and manage your plugin."},"plugin_config":{"title":"Plugin configuration","description":"Set the plugin's behavior by defining its configuration settings."},"plugin_general_info":{"description":"Add a name or tags to help you identify and manage this plugin later."},"code_mode":{"title":"Code editor","description":"Configure this plugin by using YAML configuration."}}},"free-form":{"editor_mode":{"visual":"Visual editor","code":"Code editor"},"code-lens":{"entity":{"service":"Service","route":"Route","consumer":"Consumer","consumer_group":"Consumer group","certificate":"Certificate"},"field":{"name":"{entity} \\"{value}\\"","username":"Username \\"{value}\\"","custom_id":"Custom ID \\"{value}\\"","subject":"Subject \\"{value}\\"","expires_after":"Expires after \\"{value}\\""},"action":{"view_entity":"View {title}","copy_certificate":"Copy certificate","copy_uuid":"Copy UUID","retry_fetch":"Retry fetch (Hover for details)"},"unknown_error":"Unknown error"},"acl":{"mode":{"title":{"label":"Access policy","description":"Select how requests are authorized. Choose one access policy: allow or deny by ACL group, or define a CEL expression. Only one policy type can be configured at a time."},"allow":{"label":"Allow list","description":"Allow requests from the specified ACL groups."},"deny":{"label":"Deny list","description":"Deny requests from the specified ACL groups."},"allow_when":{"label":"Allow expression","description":"Allow requests when the CEL expression evaluates to true."},"deny_when":{"label":"Deny expression","description":"Deny requests when the CEL expression evaluates to true."}},"field":{"allow":{"label":"Allowed list","placeholder":"Enter group names","add":"Add allow"},"deny":{"label":"Denied list","placeholder":"Enter group names","add":"Add deny"},"allow_when":{"label":"Kong plug-in conditional expression","description":"A Kong plug-in conditional expression is a CEL expression that determines whether the plugin runs for a request. If the expression evaluates to true, the plugin executes. If it evaluates to false, the plugin is skipped.","placeholder":"eg: 'consumer.username == \\"alice\\"'","add":"Add expression","help":{"learn":"Learn more","text":"Define a Kong plug-in conditional expression to evaluate each request. The expression must return a boolean value (true or false). {link}"}},"deny_when":{"label":"Kong plug-in conditional expression","description":"A Kong plug-in conditional expression is a CEL expression that determines whether the plugin runs for a request. If the expression evaluates to true, the plugin executes. If it evaluates to false, the plugin is skipped.","placeholder":"eg: 'consumer.username == \\"alice\\"'","add":"Add expression","help":{"learn":"Learn more","text":"Define a Kong plug-in conditional expression to evaluate each request. The expression must return a boolean value (true or false). {link}"}}}},"ai-mcp-proxy":{"default_acl_item_label":"Default ACL #{index}","tool_item_label":"Tool #{index}"},"openid-connect":{"tabs":{"common":{"title":"Common Configuration Settings","description":"Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details."},"authorization":{"title":"Authorization Configuration Settings","description":"Parameters for setting up claims-based authorization."},"advanced":{"title":"Advanced Configuration Settings","description":"Advanced parameters for manually configuring the OpenID Connect plugin."}},"auth_methods":{"label":"Authentication methods","placeholder":"Select authentication methods","hint":"Configure which OAuth and OpenID Connect features are supported.","km_label":"Auth methods","methods":{"authorization_code":"Authorization code flow","bearer":"Bearer access token","client_credentials":"Client credentials grant","password":"Passwords grant","introspection":"Introspection","userinfo":"UserInfo","kong_oauth2":"Kong OAuth","refresh_token":"Refresh token"},"session":{"label":"Session management","switch_label":"Enable Session Management","use_label":"Use sessions","use_description":"Issue a session cookie after successful authentication. Subsequent requests use the session instead of re-authenticating with the identity provider.","no_use_label":"Do not use sessions","no_use_description":"Authenticate each request using the configured authentication flow."}},"principals":{"header":"Who should manage authentication and credentials?","description":"Use External auth server to continue using your existing OAuth provider and authentication workflows. Use Kong Identity to adopt a newer principal-based model that centralizes and simplifies identity and authentication management.","learn_more":"Learn more.","kong_identity_label":"Kong Identity","kong_identity_description":"Use Kong Identity to authenticate OpenID Connect tokens. If all data plane nodes are running version 3.15 or later, you can also map requests to Kong Identity principals for advanced policies and integrations.","external_label":"External auth server","external_description":"Connect to your existing identity provider to manage authentication outside of Kong.","guide":{"title":"Add principals","description":"Get more value from OAuth 2.0 integration by creating principals in Kong Identity. Associate principals with this authorization server and its clients to enable principal-based authentication across Kong products.","description_external":"Get more value from OAuth 2.0 integration by creating principals in Kong Identity. Associate principals with this authorization server and its clients to enable principal-based authentication across Kong products. Requires data plane nodes to be running version 3.15 or later.","create":"Create principal","learn_more":"Learn more"},"auth_server":{"label":"Authorization Server","info":"The Kong Identity auth server that will act as the OpenID Connect provider for this plugin.","placeholder":"Select an Authorization Server","create":"Create authorization server","create_hint":"You'll need to return here after creating an authorization server. Your progress won't be saved.","no_access_help":"You don't have access to browse authorization servers. Enter the issuer URL of your Kong Identity authorization server directly.","issuer_placeholder":"e.g., https://your-auth-server.identity.konghq.com"},"client":{"label":"Client","id_label":"Client id","secret_label":"Client secret","placeholder":"Select a client","id_placeholder":"e.g., kong-gateway-client","secret_placeholder":"e.g., your-client-secret","create":"Create client","create_hint":"You'll need to return here after creating a client. Your progress won't be saved.","add":"Add client","remove":"Remove client"},"leave_prompt":{"title":"Leave this page?","message":"Your unsaved changes will be lost if you continue.","action":"Leave page"},"dp_version_alert":"We detected that one or more data plane nodes are running a version earlier than 3.15. If principal lookup is enabled, requests handled by those data plane nodes will fail."},"lookup":{"collapse_label":"Show additional settings","toggle_label":"Use principal lookup","toggle_info":"Look up the authenticated principal in Kong Identity after token validation. Enable this when the validated token doesn't contain all of the identity data required for authorization or activity logging.","method":{"label":"Principal lookup method","placeholder":"Select a lookup method","help":"Principal lookup queries Kong Identity for the principal that matches the identity in a verified access token. This enables principal-aware policies and integrations. Requires all data plane nodes to be running version 3.15 or later.","kong_identity_label":"Kong Identity client","kong_identity_description":"Match principals using a token claim, defaulting to the subject (sub) claim.","custom_identity_label":"Custom claim","custom_identity_description":"Match principals using a custom JWT claim."},"custom_identity_name":{"label":"Custom identity name","help":"Enter the custom identity name used to look up the principal. Kong matches the value from the token claim to a principal with the same custom identity name and value.","placeholder":"e.g., Customer_ID"},"token_claim":{"label":"Token claim","placeholder":"e.g., user.employee_id","help":"Defaults to the subject (sub) claim, but you can specify a different token claim if needed. Use dot notation for nested claims (for example, workload.id); escape literal periods with \\\\ (for example, workload\\\\.id).","help_custom":"The token claim whose value is matched against the Custom identity name. Defaults to the subject (sub) claim, but you can specify a different claim if needed. Use dot notation for nested claims (for example, workload.id); escape literal periods with \\\\ (for example, workload\\\\.id)."},"error_on_miss":{"label":"If principal lookup fails","reject_label":"Reject the request","reject_description":"Treat the request as unauthenticated if Kong Identity cannot resolve the principal.","continue_label":"Continue without a principal","continue_description":"Allow the request to continue without resolving a principal."},"match_consumer":{"label":"Use linked consumers","description":"Use the consumer linked to the authenticated principal so existing consumer-based plugins and policies continue to work.","link":"Learn how to link a consumer."},"match_consumer_groups":{"label":"Use linked consumer groups","description":"Use consumer groups linked to the authenticated principal so existing consumer group policies and plugins continue to work. Consumer groups can be linked through principal metadata.","link":"Learn how to link a consumer group."}},"advanced_fields":{"client_jwk_link_label":"Client JWK","verify_signature_description":"JSON Web Keys are automatically fetched from the issuer's well-known endpoint. Enter a JWKS URI below to override this."}},"request-callout":{"entity_name":"Request callout","by_lua_placeholder":"Enter Lua script here..."},"jwt-signer":{"keyset_url_required":"Provide a valid HTTP/HTTPS URL to ensure signing works correctly when \\"{signingField}\\" is enabled and \\"{headerField}\\" is set."},"metering-and-billing":{"sections":{"plugin_config":{"title":"Plugin configuration","description":"Configure the Metering & Billing plugin."},"metering":{"title":"What to meter"},"subject":{"title":"Who to bill (subject)","description":"Define how billing subjects are identified."},"ingestion":{"title":"Connection","description":"Configure how metered data is delivered to the billing service."},"queue":{"title":"Queue","description":"Configure internal event queue settings."}},"fields":{"meter_api_requests":{"label":"Meter API requests","description":"Emit a usage event for each API Gateway request."},"meter_ai_token_usage":{"label":"Meter AI token usage","description":"Emit events for LLM input and output tokens on AI Gateway requests. Each request produces separate input/output events so they can be priced independently."},"ingest_endpoint":{"description":"The URL of the metering data ingest endpoint.","help":"For Konnect Metering & Billing, use the regional endpoint from your Metering & Billing settings. For self-hosted OpenMeter, use your ingest URL."},"api_token":{"description":"Bearer token for authenticating requests to the ingest endpoint."},"look_up_value_in":{"label":"Look up subject in","help":"Where to find the customer identifier in the request."},"subject_field":{"label":"Subject field name","placeholder":"e.g., x-customer-id","help":"e.g. x-customer-id, x-api-key, x-tenant"},"queue":{"max_coalescing_delay":{"label":"Max coalescing delay (s)"},"initial_retry_delay":{"label":"Initial retry delay (s)"},"max_retry_delay":{"label":"Max retry delay (s)"},"max_retry_time":{"label":"Max retry time (s)"}},"attributes":{"title":"Event attributes","description":"Attach custom dimensions to metered events.","look_up_value_in":{"placeholder":"e.g., x-priority-id"},"event_property_name":{"placeholder":"e.g., priority"}},"ssl_verify":{"label":"Verify TLS certificate","description":"Disable only for local development with self-signed certificates."},"timeout":{"label":"Request timeout (ms)"},"keepalive":{"label":"Connection keep-alive (ms)"}}},"governance":{"unavailable_kong_manager":"The Entitlement Enforcement plugin can't be configured in Kong Manager yet.","sections":{"configuration":{"title":"Plugin configuration","description":"Configure the Entitlement Enforcement plugin subject, feature, and connection settings."},"governance":{"title":"Entitlement Enforcement settings","description":"Configure access control behavior and response codes."},"subject":{"title":"Whose access to enforce (subject)"},"feature":{"title":"Feature"},"connection":{"title":"Connection","description":"Configure how the plugin connects to the entitlement access endpoint."},"redis":{"title":"Redis"},"cache_sync":{"title":"Cache and sync"}},"fields":{"look_up_value_in":{"label":"Whose access to enforce (Look up subject in)","help":"Where to find the customer identifier in the request."},"subject_field":{"label":"Subject field name","placeholder":"e.g., x-customer-id","help":"Name of the header or query parameter that carries the customer identifier."},"feature_key":{"label":"Feature to enforce access","help":"Feature that will control access to the scope where the plugin is applied.","create_feature":"+ Create new feature","unavailable":"You don't have access to metering features. Enable Metering & Billing in your Konnect organization to configure the feature to enforce.","load_error":"Could not load features from the entitlement enforcement service."},"governance_endpoint":{"help":"For Konnect Metering & Billing, use the regional endpoint for Metering & Billing entitlement access. For self-hosted OpenMeter, use the entitlement access endpoint of your self-hosted instance."},"ssl_verify":{"label":"Verify TLS certificate","description":"Disable only for local development with self-signed certificates."},"timeout":{"label":"Request timeout (ms)"},"keepalive":{"label":"Connection keep-alive (ms)"},"sync_rate":{"label":"Sync rate (s)"},"refresh_interval":{"label":"Refresh interval (s)"},"max_stale_seconds":{"label":"Max stale seconds"},"l1_ttl":{"label":"L1 TTL (s)"},"l2_ttl":{"label":"L2 TTL (s)"},"credit_balance_required":{"label":"Credit balance lookup","yes_label":"Yes","yes_description":"Customers must have a positive credit balance to access this feature.","no_label":"No","no_description":"Customers can access this feature regardless of their credit balance."},"fail_policy":{"label":"Plugin failure mode","allow_label":"Allow access","allow_description":"If the plugin fails, customers can still access this feature.","block_label":"Block access","block_description":"If the plugin fails, customers cannot access this feature."},"deny_unknown_customers":{"label":"Unknown customer access","allow_label":"Allow access","allow_description":"The gateway will allow access for unknown customers.","deny_label":"Deny access","deny_description":"The gateway will deny access for unknown customers."},"response":{"label":"Response mapping","columns":{"code":"Response code","status":"Status code","message":"Message"},"defaults":{"NO_CREDIT_AVAILABLE":"Customer has no credit available.","USAGE_LIMIT_REACHED":"Customer has reached usage limit for feature.","FEATURE_UNAVAILABLE":"Feature is not available for the customer.","FEATURE_NOT_FOUND":"Feature not found.","CUSTOMER_NOT_FOUND":"Customer is not found by subject."}}}},"datakit":{"plugin_config":{"title":"Flow editor"},"advanced_configuration":{"title":"Advanced configuration","show_label":"Show advanced configuration","hide_label":"Hide advanced configuration"},"description_code":"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.","description_flow":"Build flows visually with a drag-and-drop editor for Datakit. Visualize node connections, inputs, and outputs as you design.","description_example":"Start with a use case:","detected_config_format":"Detected {format} configuration. Do you want to convert it to Datakit configuration?","detected_config_format_title":"Convert configuration","detected_config_format_confirm":"Convert","examples":{"authenticateThirdPartyWithDynamicUrl":"Authenticate Kong to a third-party service resolved at runtime","authenticateThirdParty":"Authenticate Kong to a third-party service","authenticateWithVaultSecret":"Authenticate to a third-party service using Vault secrets","clearHeaders":"Clear request headers","combineTwoApisIntoOneResponse":"Combine multiple API responses","conditionallyStoreCachedItems":"Conditionally fetch or store cache data","convertJsonIntoXml":"Transform JSON into XML","convertJsonToXmlAndBack":"Transform JSON into XML and back","convertXmlIntoJson":"Transform XML into JSON","manipulateRequestHeaders":"Manipulate request headers"},"flow_editor":{"mode":"Flow editor","name":"Datakit flow editor","cta":"Go to flow editor","disabled_tooltip":"The flow editor is unavailable due to critical configuration errors or features not supported in the flow editor:<br/><code>{reason}</code>","expand_panel":"Expand panel","collapse_panel":"Collapse panel","return_to_config":"Return to plugin configuration","canvas_panel":{"request":"Request","response":"Response","node_count_plural":"{count} nodes","node_count_singular":"1 node"},"panel_segments":{"nodes":"Nodes","resources":{"title":"Resources","vault":{"title":"Vault secrets","add_button":"Add vault resource","name_exists_error":"Vault name already exists","name_required_error":"Vault name is required","edit":"Edit","delete":"Delete"},"cache":{"title":"Cache configuration","add_button":"Add cache configuration","strategy_options":{"memory":"Memory","redis":"Redis"},"select_redis_configuration":"Select a shared Redis configuration","inline_config":"Inline config","inline_config_preview":"You are using a dedicated Redis configuration, This is a preview of your current setup, please edit it in code editor"}}},"vault_secret_picker":{"title":"Add secret to Datakit","proceed_button_text":"Add secret","secret_name":{"label":"Secret name","placeholder":"Enter a name","help":"A unique identifier for this secret in your Datakit configuration"}},"node_panel":{"title":"Node types","description":"Drag a node onto the canvas to add it to your data flow.","groups":{"external_interaction":"External interaction","control_flow":"Control flow","data_transformation":"Data transformation","data_value":"Data value","authentication":"Authentication"}},"examples":"Examples","debug":{"label":"Debug","description":"Enables detailed error messages in client responses, making debugging easier. <a href=\\"https://developer.konghq.com/plugins/datakit/#debugging\\" target=\\"_blank\\">See the docs</a> for details."},"actions":{"zoom_in":"Zoom in","zoom_out":"Zoom out","fit_view":"Zoom to fit","auto_layout":"Auto layout","undo":"Undo","redo":"Redo","duplicate":"Duplicate","remove_from_branch":"Remove from branch","delete":"Delete","view_docs":"View docs","done":"Done"},"node_types":{"call":{"summary":"Call a third-party API","description":"Send an HTTP request and retrieve the response."},"jq":{"summary":"Transform data and cast variables with jq","description":"The <code>jq</code> node executes a jq script for processing JSON. See the official <a href=\\"https://jqlang.org\\" target=\\"_blank\\">jq docs</a> for more details."},"exit":{"summary":"Return directly to the client","description":"Trigger an early exit that produces a direct response, rather than forwarding a proxied response."},"property":{"summary":"Get and set Kong Gateway-specific data","description":"Get and set Kong Gateway host and request properties."},"static":{"summary":"Configure static input values ahead of time","description":"Emits static values to be used as inputs for other nodes. The <code>static</code> node can help you with hardcoding some known value for an input."},"branch":{"summary":"Execute nodes based on matching input conditions","description":"Execute different nodes based on matching input conditions, such as a cache hit or miss."},"cache":{"summary":"Store and fetch cached data","description":"Store data into cache and fetch cached data from cache."},"xml_to_json":{"summary":"Transform XML to JSON","description":"Transform XML to JSON."},"json_to_xml":{"summary":"Transform JSON to XML","description":"Transform JSON to XML."},"jwt_decode":{"summary":"Decode JWT headers and claims","description":"Parse a JWT without verifying its signature."},"jwt_sign":{"summary":"Create and sign JWTs","description":"Generate a signed JWT from configured claims and a signing key."},"jwt_verify":{"summary":"Verify JWT signature and claims","description":"Verify a JWT signature and validate claims such as exp, nbf, iss, and aud."},"request":{"name":"request","description":"Reads incoming client request properties. You cannot specify request node input."},"response":{"name":"response","description":"Updates properties of the outgoing client response."},"service_request":{"name":"service request","description":"Updates properties of the request sent to the service being proxied to."},"service_response":{"name":"service response","description":"Reads response properties from the service being proxied to."},"vault":{"name":"Vault","description":"Vault is a tool for securely accessing secrets."}},"node_properties":{"name":"Name","configuration":"Configuration","input":{"label":"Inputs configuration","placeholder":"Select a source","add_button":"Add an input","or":"or","input":"Input","fields":"Fields","source":"Source","tooltip":"Fields are part of the node input. A source can connect to either the fields or the input, but not both."},"input_name":{"label":"Input name","placeholder":"Enter an input name"},"jq":{"label":"jq script","help":"Refer to {link} for full documentation."},"output_value":{"label":"Output value","value_name":"Value name","value":"Value","add_button":"Add a value"},"property":{"get":"get","set":"set"},"branch":{"placeholder":"Select nodes"},"jwt":{"static_claims":{"label":"Static claims","help":"Enter a JSON object. It will be stored as the node's static claims map.","errors":{"invalid_json_object":"Static claims must be a valid JSON object"}}},"errors":{"invalid_identifier_format":"{fieldName} must start with a letter or underscore and contain only letters, numbers, underscores, or hyphens","invalid_url_format":"Not a valid URL format","not_empty":"{fieldName} is required","not_float":"{fieldName} must be a float","not_integer":"{fieldName} must be an integer","not_number":"{fieldName} must be a number","not_unique":"{fieldName} must be unique","number_range":"{fieldName} must be between {min} and {max}","string_len_range":"{fieldName} must be between {minLength} and {maxLength} characters","reserved_node_name":"\\"{nodeName}\\" is a reserved node name","attributes_required":"Provide at least one of attributes_block_name or attributes_name_prefix"}},"error":{"invalid_connection":"Invalid connection","branch_cycle":"Cannot create a circular branch relationship"},"confirm":{"title":"Connection conflict","message":{"confirm":"Are you sure you want to make this change?","switch":"You can connect an output source to either all inputs of a node or to individual inputs.","override":"Each input can connect to only one output, but one output can connect to many inputs.","branch_replace":"This node already belongs to another branch. Move it to the new branch?"},"proceed":"Yes, update"},"leave_confirm":"Leave current page? Changes you made may not be saved."},"code_editor":{"mode":"Code editor"}},"vault_picker":{"component_error":"The vault secret picker is not available"},"tag_helper":"Use comma to separate values. eg: value1, value2","foreign_placeholder":"Enter a UUID of {entity}"}}`),redis:{title:"Redis configuration",managed_ui:{title:"Redis",shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",badge:"Recommended"},dedicated_configuration:{label:"Use locally-scoped configuration",description:"Create and use a Redis configuration specifically for this plugin."},selector:{placeholder:"Filter Redis configurations...",create_new:"New Redis"}},shared_configuration:{label:"Shared configuration",description:"Select an existing shared Redis configuration or create a new one. Changes to this configuration automatically apply to all associated plugins.",title:"Shared Redis configuration",error:"Fetching shared Redis configurations failed."},dedicated_configuration:{label:"Dedicated configuration",description:"Create a Redis configuration that is used only by this plugin. Changes won’t affect other plugins."},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last updated at",type_label:"Redis type"}}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current control plane",cp_group_label:"Control plane",realm_group_label:"Realms (can only select one)"},kong_identity:{title:"Who should manage authentication and credentials?",description_with_realms:"Use Consumers or centrally managed consumers for Consumer-based authentication. Use Kong Identity for principal-based authentication and advanced integrations.",description_without_realms:"Use Consumers for Consumer-based authentication. Use Kong Identity for principal-based authentication and advanced integrations.",learn_more:"Learn more.",incompatible_data_plane_alert:"We detected that one or more data plane nodes are running a version earlier than 3.15. Requests handled by those data plane nodes will use consumers instead of Kong Identity principals.",kong_identity_label:"Kong Identity",kong_identity_description_key_auth:"Use Kong Identity to authenticate API keys and map requests to Kong Identity principals for advanced integrations. Data plane nodes running versions earlier than 3.15 continue using consumers.",kong_identity_description_basic_auth:"Use Kong Identity to authenticate Basic Auth credentials and map requests to Kong Identity principals for advanced integrations. Data plane nodes running versions earlier than 3.15 continue using consumers.",consumers_label:"Consumers",consumers_description_key_auth:"Use consumer-managed API keys. Consumers provide their API key in a request header, query parameter, or request body to authenticate requests.",consumers_description_basic_auth:"Use consumer-managed Basic Auth credentials. Consumers authenticate requests using a username and password.",centrally_managed_label:"Centrally managed consumers",centrally_managed_description:"Authenticate centrally managed consumers in Konnect using identity realms. Identity realms are scoped to the control plane by default.",identity_realms_required:"To use centrally managed consumers, you must select at least one Centrally managed consumer realm.",error_on_miss_label:"If principal lookup fails",error_on_miss_reject_label:"Reject the request",error_on_miss_reject_description:"Treat the request as unauthenticated if Kong Identity cannot resolve the principal.",error_on_miss_continue_label:"Continue without a principal",error_on_miss_continue_description:"Allow the request to continue without resolving a principal.",configure_title:"Configure Kong Identity",configure_description:"Kong Identity uses principals to represent authenticated services or applications. Create your first principal in Kong Identity to start using principal-based authentication. On data plane nodes running versions earlier than 3.15, authentication continues using consumers.",create_principal:"Create principal",configure_learn_more:"Learn more",leave_prompt_title:"Leave this page?",leave_prompt_message:"Your unsaved changes will be lost if you continue.",leave_prompt_action:"Leave page"}},sp:{window_type:{label:"Rate limit window type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window&#39;s counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error message",code_placeholder:"Code message",message_placeholder:"Error message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
1
+ (function(ke,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong/icons"),require("@kong/kongponents"),require("@vue-flow/background"),require("@vue-flow/controls"),require("@vue-flow/core"),require("@vueuse/core"),require("@kong-ui-public/i18n"),require("@vue-flow/controls/dist/style.css"),require("@vue-flow/core/dist/style.css"),require("@vue-flow/core/dist/theme-default.css"),require("@kong-ui-public/entities-shared"),require("@kong-ui-public/entities-plugins-icon"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("marked"),require("dompurify"),require("@kong-ui-public/monaco-editor"),require("monaco-editor"),require("vue-router"),require("@kong-ui-public/monaco-editor/dist/runtime/style.css"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("@kong-ui-public/entities-vaults"),require("shiki"),require("zod"),require("axios"),require("@kong-ui-public/entities-vaults/dist/style.css"),require("@kong-ui-public/forms/dist/style.css")):typeof define=="function"&&define.amd?define(["exports","vue","@kong/icons","@kong/kongponents","@vue-flow/background","@vue-flow/controls","@vue-flow/core","@vueuse/core","@kong-ui-public/i18n","@vue-flow/controls/dist/style.css","@vue-flow/core/dist/style.css","@vue-flow/core/dist/theme-default.css","@kong-ui-public/entities-shared","@kong-ui-public/entities-plugins-icon","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","marked","dompurify","@kong-ui-public/monaco-editor","monaco-editor","vue-router","@kong-ui-public/monaco-editor/dist/runtime/style.css","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","@kong-ui-public/entities-vaults","shiki","zod","axios","@kong-ui-public/entities-vaults/dist/style.css","@kong-ui-public/forms/dist/style.css"],t):(ke=typeof globalThis<"u"?globalThis:ke||self,t(ke["kong-ui-public-entities-plugins"]={},ke.Vue,ke.KongIcons,ke.Kongponents,ke.background,ke.controls,ke.core$1,ke.core,ke["kong-ui-public-i18n"],null,null,null,ke["kong-ui-public-entities-shared"],ke.entitiesPluginsIcon,ke.entitiesPluginsMetadata,ke.forms,ke.marked,ke.DOMPurify,ke.monacoEditor,ke.monaco,ke.VueRouter,null,ke.entitiesRedisConfigurations,null,ke.entitiesVaults,ke.shiki,ke.zod,ke.axios))})(this,(function(ke,t,Ne,_e,IS,Dy,xt,Ot,Ft,$7,R7,L7,pe,Sr,q,Je,Dl,Ua,Ka,bo,Ar,D7,mf,M7,qa,vS,$,gi){"use strict";function TS(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}function BS(e,n){for(var r=0;r<n.length;r++){const o=n[r];if(typeof o!="string"&&!Array.isArray(o)){for(const i in o)if(i!=="default"&&!(i in e)){const a=Object.getOwnPropertyDescriptor(o,i);a&&Object.defineProperty(e,i,a.get?a:{enumerable:!0,get:()=>o[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}const Ml=TS(bo),zt={actions:{cancel:"Cancel",view_configuration:"View configuration",create:"New plugin",create_custom:"Create",configure:"Configure",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",disable:"Disable",delete:"Delete",disabled:"Disabled",confirm_delete:"Yes, delete",view:"View details",configure_dynamic_ordering:"Configure dynamic ordering",go_to_plugins:"Go to plugins",save:"Save",add_entity:"Add {entity}",remove_entity:"Remove {entity}",loading_spinner:"Loading..."},view_configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML, JSON, or Terraform. This allows for straightforward importing into APIOps tools like decK with YAML, Insomnia and cURL with JSON, or Terraform products with Terraform.",yaml:"YAML",terraform:"Terraform",json:"JSON",deck:"decK"},delete:{title:"Delete a plugin",custom_title:"Delete {name}",custom_plugin:"Custom plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to delete custom plugin",plugin_schema_in_use_message:"This custom plugin is currently in use in this control plane. Please delete any existing instances before removing this schema.",confirmModalText1:"Are you sure you want to delete",confirmModalText2:"Please ensure this plugin is not in use. This delete action cannot be reversed.",confirm_text:"Type {name} to confirm your action",success_message:"Successfully deleted custom plugin {name}"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard",tooltip:"Copy {label}",success_tooltip:"Copied!"},errors:{general:"Plugins could not be retrieved",delete:"The plugin could not be deleted at this time.",copy:"Failed to copy to clipboard",load_results:"Error loading available plugins",load_schema:"Error loading plugin schema"},search:{placeholder:{konnect:"Filter by name",exact:"Filter by exact instance name or ID",kongManager:"Filter by exact instance name or ID",select:"Filter plugins",search_plugins:"Search plugins",search:"Search",tags_filter:"Type part of a tag and press Enter",scope_filter:"Select scopes"},filter:{field:{enabled:"Enabled"},tags_invalid:"Tags can't contain commas, slashes, or leading/trailing spaces"},no_results:'No results found for "{filter}"'},labels:{new:"New"},onboarding:{steps:{consumer:{step:"Consumer",title:"Create a consumer",description:"Consumers represent the users or applications calling your API. Add a name or tags to help you identify and manage this consumer later.",note:"A consumer can have both unique username and unique custom ID or one of them."},credential:{step:"Credential",title:"Add a credential"}},consumer_fields:{username_label:"Username",username_placeholder:"Enter a unique username",custom_id_label:"Custom ID",custom_id_placeholder:"Enter a unique custom ID"},choose_consumer:{title:"Choose a consumer",description:"Choose a consumer to add a credential",select_label:"Select an existing consumer",select_placeholder:"Search consumers"},create_consumer:{title:"Create a consumer"},add_credential:{title:"Add a credential"},create_principal:{title:"Create a principal",description:"Create a principal with authentication to test your plugin configuration."},add_principal_credential:{title:"Add authentication to a principal",description:"Add authentication credentials to an existing principal."},actions:{save_and_next:"Save and next",skip:"Skip",exit_setup:"Exit setup"},errors:{create_consumer:"The consumer could not be created at this time.",create_credential:"The credential could not be created at this time.",load_consumers:"Consumers could not be retrieved"},"basic-auth":{title:"Next steps for basic authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to assign username and password for authentication.",create_consumer:{description:"Create a new consumer with a basic auth credential to test your plugin configuration."},add_credential:{title:"Add a basic authentication credential",description:"Add a basic auth credential to an existing consumer."},credential_action:"Create credential"},"key-auth":{title:"Next steps for key authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to assign API keys for authentication.",create_consumer:{description:"Create a new consumer with a key auth credential to test your plugin configuration."},add_credential:{title:"Add a key authentication credential",description:"Add key authentication credentials to an existing consumer."},credential_action:"Create key"},"key-auth-enc":{title:"Next steps for key authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to assign API keys for authentication.",create_consumer:{description:"Create a new consumer with a key auth credential to test your plugin configuration."},add_credential:{title:"Add a key authentication credential",description:"Add key authentication credentials to an existing consumer."},credential_action:"Create key"},oauth2:{title:"Next steps for OAuth 2.0 authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to register an OAuth 2.0 application for authentication.",create_consumer:{description:"Create a new consumer with an OAuth 2.0 credential to test your plugin configuration."},add_credential:{title:"Add an OAuth 2.0 credential",description:"Add an OAuth 2.0 credential to an existing consumer."},credential_action:"Create credential"},"hmac-auth":{title:"Next steps for HMAC authentication plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to add usernames and secrets for authentication.",create_consumer:{description:"Create a new consumer with a HMAC auth credential to test your plugin configuration."},add_credential:{title:"Add a HMAC authentication credential",description:"Add a HMAC auth credential to an existing consumer."},credential_action:"Create credential"},jwt:{title:"Next steps for JWT plugins",subtitle:"Consumers represent the users or applications calling your API. Create a consumer to assign JWT credentials (public and secret keys) for authentication.",create_consumer:{description:"Create a new consumer with a JWT credential to test your plugin configuration."},add_credential:{title:"Add a JWT credential",description:"Add a JWT credential to an existing consumer."},credential_action:"Create credential"},acl:{title:"Next steps for ACL plugins",subtitle:"Consumers represent the users or applications calling your API. You do this by configuring either an allow list or a deny list with certain consumers or consumer groups.",create_consumer:{description:"Create a new consumer with an ACL credential to test your plugin configuration."},add_credential:{title:"Add an ACL credential",description:"Add an ACL credential to an existing consumer to test your new plugin configuration."},credential_action:"Add group to consumer"}},plugins:JSON.parse(`{"title":"Plugins","list":{"toolbar_actions":{"new_plugin":"New plugin"},"table_headers":{"applied_to":"Applied to","applied_to_badges":{"consumer":"Consumer","global":"Global","route":"Route","service":"Service","consumer_group":"Consumer group"},"id":"ID","plugin":"Plugin","name":"Name","instance_name":"Instance name","scope":"Scope","status":"Status","ordering":"Ordering","ordering_badge":{"dynamic":"Dynamic","static":"Static"},"enabled":"Enabled","tags":"Tags","updated_at":"Last modified"},"empty_state":{"title":"Configure a new plugin","description":"Plugins are used to extend Kong functionality."},"empty_state_v2":{"title":"Configure your first plugin","description":"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.","create_cta":"New plugin","group":"Plugins created in gateways within this group will automatically appear here.","learn_more":"Learn more"}},"meta":{"basic-auth":{"name":"Basic Authentication","credential_name":"Basic Auth Credential","description":"Add Basic Authentication to your services"},"hmac-auth":{"name":"HMAC Authentication","credential_name":"HMAC Credential","description":"Add HMAC Authentication to your services"},"jwt-signer":{"name":"JWT Signer","description":"Verify and (re-)sign one or two tokens in a request"},"jwt":{"name":"JWT","credential_name":"JWT Credential","description":"Verify and authenticate JSON Web Tokens"},"key-auth":{"name":"Key Authentication","credential_name":"Key Auth Credential","description":"Add key authentication to your services"},"key-auth-enc":{"name":"Key Authentication Encrypted","credential_name":"Key Auth Encrypted","description":"Add key authentication to your services with an encrypted token"},"ldap-auth-advanced":{"name":"LDAP Authentication Advanced","description":"Integrate Kong with a LDAP server"},"ldap-auth":{"name":"LDAP Authentication","description":"Integrate Kong with a LDAP server"},"oauth2-introspection":{"name":"OAuth 2.0 Introspection","description":"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},"oauth2":{"name":"OAuth 2.0 Authentication","credential_name":"OAuth 2.0 Application","description":"Add OAuth 2.0 authentication to your services"},"openid-connect":{"name":"OpenID Connect","description":"Integrate Kong with a third-party OpenID Connect 1.0 provider"},"mtls-auth":{"name":"Mutual TLS Authentication","description":"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{"name":"Vault Authentication","description":"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{"name":"Bot Detection","description":"Detect and clock bots or custom clients"},"cors":{"name":"CORS","description":"Allow developers to make requests from the browser"},"ip-restriction":{"name":"IP Restriction","description":"Whitelist or blacklist IPs that can make requests"},"opa":{"name":"OPA","description":"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{"name":"Kubernetes Sidecar Injector","description":"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{"name":"Request Validator","description":"Validate requests before they reach their upstream service."},"acl":{"name":"ACL","credential_name":"Access Control Group","description":"Control which consumers can access services"},"canary":{"name":"Canary Release","description":"Methodically roll out software changes to a subset of users"},"forward-proxy":{"name":"Forward Proxy","description":"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{"name":"Proxy Caching","description":"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{"name":"Proxy Caching Advanced","description":"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{"name":"GraphQL Proxy Caching Advanced","description":"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{"name":"Rate Limiting Advanced","description":"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{"name":"Rate Limiting","description":"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{"name":"GraphQL Rate Limiting Advanced","description":"Rate-limit how many HTTP requests a developer can make"},"mocking":{"name":"Mocking","description":"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{"name":"Request Size Limiting","description":"Block requests with bodies greater than a specific size"},"request-termination":{"name":"Request Termination","description":"Terminate all requests with a specific response"},"response-ratelimiting":{"name":"Response Rate Limiting","description":"Rate-Limiting based on a custom response header value"},"route-by-header":{"name":"Route by Header","description":"Route requests based on request headers"},"ai-proxy":{"name":"AI Proxy","description":"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{"name":"AI Prompt Decorator","description":"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{"name":"AI Prompt Template","description":"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{"name":"AI Prompt Guard","description":"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{"name":"AI Request Transformer","description":"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{"name":"AI Response Transformer","description":"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{"name":"AI Rate Limiting Advanced","description":"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{"name":"AI Azure Content Safety","description":"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{"name":"AWS Lambda","description":"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{"name":"Azure Functions","description":"Invoke Azure functions"},"openwhisk":{"name":"OpenWhisk","description":"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{"name":"Kong Functions (Pre-Plugins)","description":"Add and manage custom lua functions to run before other plugins"},"post-function":{"name":"Kong Functions (Post-Plugins)","description":"Add and manage custom lua functions to run after other plugins"},"datadog":{"name":"Datadog","description":"Visualize metrics on Datadog"},"prometheus":{"name":"Prometheus","description":"Export performance metrics to Prometheus"},"zipkin":{"name":"Zipkin","description":"Propagate zipkin spans and report spans to a zipkin server"},"collector":{"name":"Collector","description":"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{"name":"Response Transformer Advanced","description":"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{"name":"Correlation ID","description":"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{"name":"Request Transformer Advanced","description":"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{"name":"Request Transformer","description":"Modify the request before hitting the upstream server"},"response-transformer":{"name":"Response Transformer","description":"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{"name":"Route Transformer Advanced","description":"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{"name":"Kafka Upstream","description":"Transform requests into Kafka messages in a topic"},"degraphql":{"name":"DeGraphQL","description":"Transform a GraphQL upstream into a REST API"},"exit-transformer":{"name":"Exit Transformer","description":"Customize Kong exit responses sent downstream"},"jq":{"name":"jq","description":"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{"name":"File Log","description":"Append request and response data to a log file on disk"},"http-log":{"name":"HTTP Log","description":"Send request and response logs to an HTTP server"},"loggly":{"name":"Loggly","description":"Send request and response logs to Loggly"},"statsd-advanced":{"name":"StatsD Advanced","description":"Send traffic and Kong performance metrics to StatsD"},"statsd":{"name":"StatsD","description":"Send request and response logs to StatsD"},"syslog":{"name":"Syslog","description":"Send request and response logs to Syslog"},"tcp-log":{"name":"TCP Log","description":"Send request and response logs to a TCP server"},"udp-log":{"name":"UDP Log","description":"Send request and response logs to a UDP server"},"kafka-log":{"name":"Kafka Log","description":"Publish request and response logs to a Kafka topic"},"session":{"name":"Session","description":"Sessions for Kong authentication"},"upstream-tls":{"name":"Upstream TLS","description":"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{"name":"Portal Application Registration","description":"Allow portal developers to register applications against services"},"konnect-application-auth":{"name":"Konnect Application Auth","description":"Allow Konnect portal developers to register applications against services"},"acme":{"name":"ACME","description":"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{"name":"gRPC Gateway","description":"Access gRPC services through HTTP REST"},"grpc-web":{"name":"gRPC Web","description":"Allow browser clients to call gRPC services"},"upstream-timeout":{"name":"Upstream Timeout","description":"Configure read, send and connect timeouts to an upstream"},"opentelemetry":{"name":"OpenTelemetry","description":"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{"name":"WebSocket Validator","description":"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{"name":"WebSocket Size Limit","description":"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{"name":"TLS Metadata Headers","description":"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{"name":"TLS Handshake Modifier","description":"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{"name":"OAS Validation","description":"Validate HTTP requests and responses based on an API specification."},"jwe-decrypt":{"name":"Kong JWE Decrypt","description":"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{"name":"XML Threat Protection","description":"Reduce the risk of XML attacks by checking the structure of XML payloads."},"saml":{"name":"SAML","description":"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{"name":"AppDynamics","description":"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{"name":"JSON Threat Protection","description":"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{"name":"Standard Webhooks","description":"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{"name":"AI Proxy Advanced","description":"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{"name":"AI Semantic Cache","description":"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{"name":"AI Semantic Prompt Guard","description":"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{"name":"Header Certificate Authentication","description":"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{"name":"Upstream OAuth","description":"Configure Kong to obtain a OAuth2 token to consume an upstream API"},"confluent":{"name":"Confluent","description":"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{"name":"Service Protection","description":"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{"name":"Injection Protection","description":"Protect against injection attacks by rejecting requests that match common injections patterns."},"redirect":{"name":"Redirect","description":"Redirect incoming requests to a new URL"},"kafka-consume":{"name":"Kafka Consume","description":"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{"name":"Confluent Consume","description":"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{"name":"Request Callout","description":"Callout to third party APIs as part of request processing."},"ai-sanitizer":{"name":"AI Sanitizer","description":"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{"name":"AI RAG Injector","description":"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},"datakit":{"name":"Datakit","description":"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{"name":"AI Prompt Compressor","description":"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{"name":"Solace Upstream","description":"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{"name":"AI AWS GuardRails","description":"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."},"ace":{"name":"Konnect Access Control Enforcement","description":"Enable Developer Self-Service for Konnect Dev Portals."},"solace-consume":{"name":"Solace Consume","description":"Consume messages from Solace and make them available through HTTP endpoints."},"solace-log":{"name":"Solace Log","description":"Publish request and response logs to a Solace topic."},"ai-llm-as-judge":{"name":"AI LLM Judge","description":"Evaluate LLM responses with an external LLM service and use accuracy scores to drive dynamic load balancing for \`llm/v1/chat\` requests."},"ai-mcp-proxy":{"name":"AI MCP Proxy","description":"Convert APIs into MCP tools, proxy MCP servers, expose multiple MCP tools, and observe MCP traffic in real time."},"ai-gcp-model-armor":{"name":"AI GCP Model Armor","description":"Audit and validate AI Proxy messages with Google Cloud Model Armor before forwarding them to an upstream LLM."},"ai-mcp-oauth2":{"name":"AI MCP OAuth2","description":"Secure MCP server access with OAuth2 authentication."},"ai-semantic-response-guard":{"name":"AI Semantic Response Guard","description":"Permit or block prompts based on semantic similarity to known LLM responses, preventing misuse of \`llm/v1/chat\` or \`llm/v1/completions\` requests."},"ai-lakera-guard":{"name":"AI Lakera Guard","description":"Audit and enforce safety policies on LLM requests and responses using the AI AWS Lakera plugin before they reach upstream LLMs."},"ai-a2a-proxy":{"name":"AI A2A Proxy","description":"Securely proxy A2A agents, with real-time RPC tracing and monitoring."},"ai-custom-guardrail":{"name":"AI Custom Guardrail","description":"Integrate with any 3rd-party Guardrail service, with customizable enforcement modes — choose whether violations block, log, or allow traffic to proceed."},"metering-and-billing":{"name":"Metering & Billing","description":"Meter API requests and AI token usage for usage-based billing. Supports flexible customer identification, custom pricing dimensions, and fine-grained traffic filtering. Integrates natively with Konnect Metering & Billing."},"entitlement-enforcement":{"name":"Entitlement Enforcement","description":"Allow or deny API requests based on customer entitlements. Checks feature access, usage limits, and credit balance against Metering & Billing before routing traffic."}},"fields":{"service":"Service","route":"Route","consumer":"Consumer","consumer_group":"Consumer group","service_id":"Service ID","route_id":"Route ID","consumer_id":"Consumer ID","consumer_group_id":"Consumer group ID"},"select":{"custom_badge_text":"This plugin is data plane node specific","cloned_from_badge":"Cloned from {link}","installed_custom_badge":"Installed custom","streamed_custom_badge":"Streamed custom","unavailable_tooltip":"This plugin is not available","already_exists":"This plugin is already applied to this resource","misc_plugins":"Other plugins","show_all":"Show all","view_more":"View more","view_less":"View less","filter":{"title":"Filter plugins","featured":"Featured","type":"Type","clear":"Clear"},"list":{"table_headers":{"name":"Plugin","description":"Description"}},"tabs":{"kong":{"title":"Kong plugins","description":"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.","empty_title":"No plugins","empty_description":"No plugins are available."},"custom":{"title":"Custom plugins","description":"Custom plugins will be available in this control plane only.","disabled_tooltip":"Custom plugins are not available with this gateway. Create a hybrid or dedicated cloud gateway to leverage custom plugins.","fetch_error":"Unable to load some custom plugins. Bundled plugins are still available.","license_required":"Plugin cloning requires a license to be used.","empty_title":"No custom plugins","empty_description":"No custom plugins have been added to this control plane.","create":{"name":"Custom plugin","description":"Upload schema file to create custom plugin"}}},"highlighted_plugins":{"title":"Highlighted plugins"}},"form":{"button_deck_customize":"Customize before copying to CLI","disable_data_retrieving":"You do not have permission to select {scope}","disable_source_scope_change":"Changing the {scope} is not allowed when configuring a plugin under it","no_selection":"No selection...","fields":{"enabled":{"label":"Enabled","on_text":"This plugin is enabled","off_text":"This plugin is disabled"},"plugin_status":{"label":"Plugin status","text_on":"Enabled","text_off":"Disabled"},"instance_name":{"label":"Name","placeholder":"Enter a unique name","help":"A custom name for this plugin instance to help with identifying from the list view."},"condition":{"label":"Execution condition","placeholder":"Enter an expression","tooltip":"An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.","help":{"learn":"Learn more","about":"{link} about plugin conditions."}},"protocols":{"label":"Protocols","placeholder":"Select valid protocols for the plugin","placeholderWithDefaultValues":"Select valid protocols for the plugin. Default protocols: {protocols}","help":"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},"tags":{"label":"Tags","help":"An optional set of strings for grouping and filtering, separated by commas.","placeholder":"Tag1, Tag2, Tag3"},"secret":{"generateLabel":"Generate secret"}},"scoping":{"label":"Scoped","placeholder":"Search by name or UUID","disable_global_radio":"The plugin is set to 'scoped' by default. To apply a plugin globally, please navigate to the global plugin list page.","global":{"label":"Global","help":"All services, routes, and consumers"},"gateway_service":{"label":"Select a gateway service","help":"The gateway service to which this plugin configuration will apply","placeholder":"Select a gateway service","plural":"Gateway services"},"route":{"label":"Select a route","help":"The route that this plugin configuration will target","placeholder":"Select a route","plural":"Routes"},"consumer":{"label":"Select a consumer","help":"The consumer that this plugin configuration will target","placeholder":"Select a consumer","plural":"Consumers"},"consumer_group":{"label":"Select a consumer group","help":"The consumer group that this plugin configuration will target","placeholder":"Select a consumer group","plural":"Consumer groups"}},"grouping":{"plugin_configuration":{"title":"Plugin configuration","description":"Configuration parameters for this plugin. View advanced parameters for extended configuration.","empty":"This plugin does not have required parameters."},"advanced_parameters":{"view":"Show additional settings","hide":"Hide additional settings"}},"field_rules":{"at_least_one_of":"At least one of the following values is required: {parameters}.","only_one_of":"Exactly one of these parameters is required: {parameters}","mutually_required":"These values must be used together: {parameters}.","mutually_exclusive":"Only one of these values can be used: {parameters}.","only_one_of_mutually_required":"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},"sections":{"plugin_scope":{"title":"Plugin scope","description":"Choose whether this plugin applies to all traffic (global) or is scoped to a specific service, route, or consumer."},"general_info":{"title":"General information","description":"Add details to help identify and manage your plugin."},"plugin_config":{"title":"Plugin configuration","description":"Set the plugin's behavior by defining its configuration settings."},"plugin_general_info":{"description":"Add a name or tags to help you identify and manage this plugin later."},"code_mode":{"title":"Code editor","description":"Configure this plugin by using YAML configuration."}}},"free-form":{"editor_mode":{"visual":"Visual editor","code":"Code editor"},"code-lens":{"entity":{"service":"Service","route":"Route","consumer":"Consumer","consumer_group":"Consumer group","certificate":"Certificate"},"field":{"name":"{entity} \\"{value}\\"","username":"Username \\"{value}\\"","custom_id":"Custom ID \\"{value}\\"","subject":"Subject \\"{value}\\"","expires_after":"Expires after \\"{value}\\""},"action":{"view_entity":"View {title}","copy_certificate":"Copy certificate","copy_uuid":"Copy UUID","retry_fetch":"Retry fetch (Hover for details)"},"unknown_error":"Unknown error"},"acl":{"mode":{"title":{"label":"Access policy","description":"Select how requests are authorized. Choose one access policy: allow or deny by ACL group, or define a CEL expression. Only one policy type can be configured at a time."},"allow":{"label":"Allow list","description":"Allow requests from the specified ACL groups."},"deny":{"label":"Deny list","description":"Deny requests from the specified ACL groups."},"allow_when":{"label":"Allow expression","description":"Allow requests when the CEL expression evaluates to true."},"deny_when":{"label":"Deny expression","description":"Deny requests when the CEL expression evaluates to true."}},"field":{"allow":{"label":"Allowed list","placeholder":"Enter group names","add":"Add allow"},"deny":{"label":"Denied list","placeholder":"Enter group names","add":"Add deny"},"allow_when":{"label":"Kong plug-in conditional expression","description":"A Kong plug-in conditional expression is a CEL expression that determines whether the plugin runs for a request. If the expression evaluates to true, the plugin executes. If it evaluates to false, the plugin is skipped.","placeholder":"eg: 'consumer.username == \\"alice\\"'","add":"Add expression","help":{"learn":"Learn more","text":"Define a Kong plug-in conditional expression to evaluate each request. The expression must return a boolean value (true or false). {link}"}},"deny_when":{"label":"Kong plug-in conditional expression","description":"A Kong plug-in conditional expression is a CEL expression that determines whether the plugin runs for a request. If the expression evaluates to true, the plugin executes. If it evaluates to false, the plugin is skipped.","placeholder":"eg: 'consumer.username == \\"alice\\"'","add":"Add expression","help":{"learn":"Learn more","text":"Define a Kong plug-in conditional expression to evaluate each request. The expression must return a boolean value (true or false). {link}"}}}},"ai-mcp-proxy":{"default_acl_item_label":"Default ACL #{index}","tool_item_label":"Tool #{index}"},"openid-connect":{"tabs":{"common":{"title":"Common Configuration Settings","description":"Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details."},"authorization":{"title":"Authorization Configuration Settings","description":"Parameters for setting up claims-based authorization."},"advanced":{"title":"Advanced Configuration Settings","description":"Advanced parameters for manually configuring the OpenID Connect plugin."}},"auth_methods":{"label":"Authentication methods","placeholder":"Select authentication methods","hint":"Configure which OAuth and OpenID Connect features are supported.","km_label":"Auth methods","methods":{"authorization_code":"Authorization code flow","bearer":"Bearer access token","client_credentials":"Client credentials grant","password":"Passwords grant","introspection":"Introspection","userinfo":"UserInfo","kong_oauth2":"Kong OAuth","refresh_token":"Refresh token"},"session":{"label":"Session management","switch_label":"Enable Session Management","use_label":"Use sessions","use_description":"Issue a session cookie after successful authentication. Subsequent requests use the session instead of re-authenticating with the identity provider.","no_use_label":"Do not use sessions","no_use_description":"Authenticate each request using the configured authentication flow."}},"principals":{"header":"Who should manage authentication and credentials?","description":"Use External auth server to continue using your existing OAuth provider and authentication workflows. Use Kong Identity to adopt a newer principal-based model that centralizes and simplifies identity and authentication management.","learn_more":"Learn more.","kong_identity_label":"Kong Identity","kong_identity_description":"Use Kong Identity to authenticate OpenID Connect tokens. If all data plane nodes are running version 3.15 or later, you can also map requests to Kong Identity principals for advanced policies and integrations.","external_label":"External auth server","external_description":"Connect to your existing identity provider to manage authentication outside of Kong.","guide":{"title":"Add principals","description":"Get more value from OAuth 2.0 integration by creating principals in Kong Identity. Associate principals with this authorization server and its clients to enable principal-based authentication across Kong products.","description_external":"Get more value from OAuth 2.0 integration by creating principals in Kong Identity. Associate principals with this authorization server and its clients to enable principal-based authentication across Kong products. Requires data plane nodes to be running version 3.15 or later.","create":"Create principal","learn_more":"Learn more"},"auth_server":{"label":"Authorization Server","info":"The Kong Identity auth server that will act as the OpenID Connect provider for this plugin.","placeholder":"Select an Authorization Server","create":"Create authorization server","create_hint":"You'll need to return here after creating an authorization server. Your progress won't be saved.","no_access_help":"You don't have access to browse authorization servers. Enter the issuer URL of your Kong Identity authorization server directly.","issuer_placeholder":"e.g., https://your-auth-server.identity.konghq.com"},"client":{"label":"Client","id_label":"Client id","secret_label":"Client secret","placeholder":"Select a client","id_placeholder":"e.g., kong-gateway-client","secret_placeholder":"e.g., your-client-secret","create":"Create client","create_hint":"You'll need to return here after creating a client. Your progress won't be saved.","add":"Add client","remove":"Remove client"},"leave_prompt":{"title":"Leave this page?","message":"Your unsaved changes will be lost if you continue.","action":"Leave page"},"dp_version_alert":"We detected that one or more data plane nodes are running a version earlier than 3.15. If principal lookup is enabled, requests handled by those data plane nodes will fail."},"lookup":{"collapse_label":"Show additional settings","toggle_label":"Use principal lookup","toggle_info":"Look up the authenticated principal in Kong Identity after token validation. Enable this when the validated token doesn't contain all of the identity data required for authorization or activity logging.","method":{"label":"Principal lookup method","placeholder":"Select a lookup method","help":"Principal lookup queries Kong Identity for the principal that matches the identity in a verified access token. This enables principal-aware policies and integrations. Requires all data plane nodes to be running version 3.15 or later.","kong_identity_label":"Kong Identity client","kong_identity_description":"Match principals using a token claim, defaulting to the subject (sub) claim.","custom_identity_label":"Custom claim","custom_identity_description":"Match principals using a custom JWT claim."},"custom_identity_name":{"label":"Custom identity name","help":"Enter the custom identity name used to look up the principal. Kong matches the value from the token claim to a principal with the same custom identity name and value.","placeholder":"e.g., Customer_ID"},"token_claim":{"label":"Token claim","placeholder":"e.g., user.employee_id","help":"Defaults to the subject (sub) claim, but you can specify a different token claim if needed. Use dot notation for nested claims (for example, workload.id); escape literal periods with \\\\ (for example, workload\\\\.id).","help_custom":"The token claim whose value is matched against the Custom identity name. Defaults to the subject (sub) claim, but you can specify a different claim if needed. Use dot notation for nested claims (for example, workload.id); escape literal periods with \\\\ (for example, workload\\\\.id)."},"error_on_miss":{"label":"If principal lookup fails","reject_label":"Reject the request","reject_description":"Treat the request as unauthenticated if Kong Identity cannot resolve the principal.","continue_label":"Continue without a principal","continue_description":"Allow the request to continue without resolving a principal."},"match_consumer":{"label":"Use linked consumers","description":"Use the consumer linked to the authenticated principal so existing consumer-based plugins and policies continue to work.","link":"Learn how to link a consumer."},"match_consumer_groups":{"label":"Use linked consumer groups","description":"Use consumer groups linked to the authenticated principal so existing consumer group policies and plugins continue to work. Consumer groups can be linked through principal metadata.","link":"Learn how to link a consumer group."}},"advanced_fields":{"client_jwk_link_label":"Client JWK","verify_signature_description":"JSON Web Keys are automatically fetched from the issuer's well-known endpoint. Enter a JWKS URI below to override this."}},"request-callout":{"entity_name":"Request callout","by_lua_placeholder":"Enter Lua script here..."},"jwt-signer":{"keyset_url_required":"Provide a valid HTTP/HTTPS URL to ensure signing works correctly when \\"{signingField}\\" is enabled and \\"{headerField}\\" is set."},"metering-and-billing":{"sections":{"plugin_config":{"title":"Plugin configuration","description":"Configure the Metering & Billing plugin."},"metering":{"title":"What to meter"},"subject":{"title":"Who to bill (subject)","description":"Define how billing subjects are identified."},"ingestion":{"title":"Connection","description":"Configure how metered data is delivered to the billing service."},"queue":{"title":"Queue","description":"Configure internal event queue settings."}},"fields":{"meter_api_requests":{"label":"Meter API requests","description":"Emit a usage event for each API Gateway request."},"meter_ai_token_usage":{"label":"Meter AI token usage","description":"Emit events for LLM input and output tokens on AI Gateway requests. Each request produces separate input/output events so they can be priced independently."},"ingest_endpoint":{"description":"The URL of the metering data ingest endpoint.","help":"For Konnect Metering & Billing, use the regional endpoint from your Metering & Billing settings. For self-hosted OpenMeter, use your ingest URL."},"api_token":{"description":"Bearer token for authenticating requests to the ingest endpoint."},"look_up_value_in":{"label":"Look up subject in","help":"Where to find the customer identifier in the request."},"subject_field":{"label":"Subject field name","placeholder":"e.g., x-customer-id","help":"e.g. x-customer-id, x-api-key, x-tenant"},"queue":{"max_coalescing_delay":{"label":"Max coalescing delay (s)"},"initial_retry_delay":{"label":"Initial retry delay (s)"},"max_retry_delay":{"label":"Max retry delay (s)"},"max_retry_time":{"label":"Max retry time (s)"}},"attributes":{"title":"Event attributes","description":"Attach custom dimensions to metered events.","look_up_value_in":{"placeholder":"e.g., x-priority-id"},"event_property_name":{"placeholder":"e.g., priority"}},"ssl_verify":{"label":"Verify TLS certificate","description":"Disable only for local development with self-signed certificates."},"timeout":{"label":"Request timeout (ms)"},"keepalive":{"label":"Connection keep-alive (ms)"}}},"governance":{"unavailable_kong_manager":"The Entitlement Enforcement plugin can't be configured in Kong Manager yet.","sections":{"configuration":{"title":"Plugin configuration","description":"Configure the Entitlement Enforcement plugin subject, feature, and connection settings."},"governance":{"title":"Entitlement Enforcement settings","description":"Configure access control behavior and response codes."},"subject":{"title":"Whose access to enforce (subject)"},"feature":{"title":"Feature"},"connection":{"title":"Connection","description":"Configure how the plugin connects to the entitlement access endpoint."},"redis":{"title":"Redis"},"cache_sync":{"title":"Cache and sync"}},"fields":{"look_up_value_in":{"label":"Whose access to enforce (Look up subject in)","help":"Where to find the customer identifier in the request."},"subject_field":{"label":"Subject field name","placeholder":"e.g., x-customer-id","help":"Name of the header or query parameter that carries the customer identifier."},"feature_key":{"label":"Feature to enforce access","help":"Feature that will control access to the scope where the plugin is applied.","create_feature":"+ Create new feature","unavailable":"You don't have access to metering features. Enable Metering & Billing in your Konnect organization to configure the feature to enforce.","load_error":"Could not load features from the entitlement enforcement service."},"governance_endpoint":{"help":"For Konnect Metering & Billing, use the regional endpoint for Metering & Billing entitlement access. For self-hosted OpenMeter, use the entitlement access endpoint of your self-hosted instance."},"ssl_verify":{"label":"Verify TLS certificate","description":"Disable only for local development with self-signed certificates."},"timeout":{"label":"Request timeout (ms)"},"keepalive":{"label":"Connection keep-alive (ms)"},"sync_rate":{"label":"Sync rate (s)"},"refresh_interval":{"label":"Refresh interval (s)"},"max_stale_seconds":{"label":"Max stale seconds"},"l1_ttl":{"label":"L1 TTL (s)"},"l2_ttl":{"label":"L2 TTL (s)"},"credit_balance_required":{"label":"Credit balance lookup","yes_label":"Yes","yes_description":"Customers must have a positive credit balance to access this feature.","no_label":"No","no_description":"Customers can access this feature regardless of their credit balance."},"fail_policy":{"label":"Plugin failure mode","allow_label":"Allow access","allow_description":"If the plugin fails, customers can still access this feature.","block_label":"Block access","block_description":"If the plugin fails, customers cannot access this feature."},"deny_unknown_customers":{"label":"Unknown customer access","allow_label":"Allow access","allow_description":"The gateway will allow access for unknown customers.","deny_label":"Deny access","deny_description":"The gateway will deny access for unknown customers."},"response":{"label":"Response mapping","columns":{"code":"Response code","status":"Status code","message":"Message"},"defaults":{"NO_CREDIT_AVAILABLE":"Customer has no credit available.","USAGE_LIMIT_REACHED":"Customer has reached usage limit for feature.","FEATURE_UNAVAILABLE":"Feature is not available for the customer.","FEATURE_NOT_FOUND":"Feature not found.","CUSTOMER_NOT_FOUND":"Customer is not found by subject."}}}},"datakit":{"plugin_config":{"title":"Flow editor"},"advanced_configuration":{"title":"Advanced configuration","show_label":"Show advanced configuration","hide_label":"Hide advanced configuration"},"description_code":"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.","description_flow":"Build flows visually with a drag-and-drop editor for Datakit. Visualize node connections, inputs, and outputs as you design.","description_example":"Start with a use case:","detected_config_format":"Detected {format} configuration. Do you want to convert it to Datakit configuration?","detected_config_format_title":"Convert configuration","detected_config_format_confirm":"Convert","examples":{"authenticateThirdPartyWithDynamicUrl":"Authenticate Kong to a third-party service resolved at runtime","authenticateThirdParty":"Authenticate Kong to a third-party service","authenticateWithVaultSecret":"Authenticate to a third-party service using Vault secrets","clearHeaders":"Clear request headers","combineTwoApisIntoOneResponse":"Combine multiple API responses","conditionallyStoreCachedItems":"Conditionally fetch or store cache data","convertJsonIntoXml":"Transform JSON into XML","convertJsonToXmlAndBack":"Transform JSON into XML and back","convertXmlIntoJson":"Transform XML into JSON","manipulateRequestHeaders":"Manipulate request headers"},"flow_editor":{"mode":"Flow editor","name":"Datakit flow editor","cta":"Go to flow editor","disabled_tooltip":"The flow editor is unavailable due to critical configuration errors or features not supported in the flow editor:<br/><code>{reason}</code>","expand_panel":"Expand panel","collapse_panel":"Collapse panel","return_to_config":"Return to plugin configuration","canvas_panel":{"request":"Request","response":"Response","node_count_plural":"{count} nodes","node_count_singular":"1 node"},"panel_segments":{"nodes":"Nodes","resources":{"title":"Resources","vault":{"title":"Vault secrets","add_button":"Add vault resource","name_exists_error":"Vault name already exists","name_required_error":"Vault name is required","edit":"Edit","delete":"Delete"},"cache":{"title":"Cache configuration","add_button":"Add cache configuration","strategy_options":{"memory":"Memory","redis":"Redis"},"select_redis_configuration":"Select a shared Redis configuration","inline_config":"Inline config","inline_config_preview":"You are using a dedicated Redis configuration, This is a preview of your current setup, please edit it in code editor"}}},"vault_secret_picker":{"title":"Add secret to Datakit","proceed_button_text":"Add secret","secret_name":{"label":"Secret name","placeholder":"Enter a name","help":"A unique identifier for this secret in your Datakit configuration"}},"node_panel":{"title":"Node types","description":"Drag a node onto the canvas to add it to your data flow.","groups":{"external_interaction":"External interaction","control_flow":"Control flow","data_transformation":"Data transformation","data_value":"Data value","authentication":"Authentication"}},"examples":"Examples","debug":{"label":"Debug","description":"Enables detailed error messages in client responses, making debugging easier. <a href=\\"https://developer.konghq.com/plugins/datakit/#debugging\\" target=\\"_blank\\">See the docs</a> for details."},"actions":{"zoom_in":"Zoom in","zoom_out":"Zoom out","fit_view":"Zoom to fit","auto_layout":"Auto layout","undo":"Undo","redo":"Redo","duplicate":"Duplicate","remove_from_branch":"Remove from branch","delete":"Delete","view_docs":"View docs","done":"Done"},"node_types":{"call":{"summary":"Call a third-party API","description":"Send an HTTP request and retrieve the response."},"jq":{"summary":"Transform data and cast variables with jq","description":"The <code>jq</code> node executes a jq script for processing JSON. See the official <a href=\\"https://jqlang.org\\" target=\\"_blank\\">jq docs</a> for more details."},"exit":{"summary":"Return directly to the client","description":"Trigger an early exit that produces a direct response, rather than forwarding a proxied response."},"property":{"summary":"Get and set Kong Gateway-specific data","description":"Get and set Kong Gateway host and request properties."},"static":{"summary":"Configure static input values ahead of time","description":"Emits static values to be used as inputs for other nodes. The <code>static</code> node can help you with hardcoding some known value for an input."},"branch":{"summary":"Execute nodes based on matching input conditions","description":"Execute different nodes based on matching input conditions, such as a cache hit or miss."},"cache":{"summary":"Store and fetch cached data","description":"Store data into cache and fetch cached data from cache."},"xml_to_json":{"summary":"Transform XML to JSON","description":"Transform XML to JSON."},"json_to_xml":{"summary":"Transform JSON to XML","description":"Transform JSON to XML."},"jwt_decode":{"summary":"Decode JWT headers and claims","description":"Parse a JWT without verifying its signature."},"jwt_sign":{"summary":"Create and sign JWTs","description":"Generate a signed JWT from configured claims and a signing key."},"jwt_verify":{"summary":"Verify JWT signature and claims","description":"Verify a JWT signature and validate claims such as exp, nbf, iss, and aud."},"request":{"name":"request","description":"Reads incoming client request properties. You cannot specify request node input."},"response":{"name":"response","description":"Updates properties of the outgoing client response."},"service_request":{"name":"service request","description":"Updates properties of the request sent to the service being proxied to."},"service_response":{"name":"service response","description":"Reads response properties from the service being proxied to."},"vault":{"name":"Vault","description":"Vault is a tool for securely accessing secrets."}},"node_properties":{"name":"Name","configuration":"Configuration","input":{"label":"Inputs configuration","placeholder":"Select a source","add_button":"Add an input","or":"or","input":"Input","fields":"Fields","source":"Source","tooltip":"Fields are part of the node input. A source can connect to either the fields or the input, but not both."},"input_name":{"label":"Input name","placeholder":"Enter an input name"},"jq":{"label":"jq script","help":"Refer to {link} for full documentation."},"output_value":{"label":"Output value","value_name":"Value name","value":"Value","add_button":"Add a value"},"property":{"get":"get","set":"set"},"branch":{"placeholder":"Select nodes"},"jwt":{"static_claims":{"label":"Static claims","help":"Enter a JSON object. It will be stored as the node's static claims map.","errors":{"invalid_json_object":"Static claims must be a valid JSON object"}}},"errors":{"invalid_identifier_format":"{fieldName} must start with a letter or underscore and contain only letters, numbers, underscores, or hyphens","invalid_url_format":"Not a valid URL format","not_empty":"{fieldName} is required","not_float":"{fieldName} must be a float","not_integer":"{fieldName} must be an integer","not_number":"{fieldName} must be a number","not_unique":"{fieldName} must be unique","number_range":"{fieldName} must be between {min} and {max}","string_len_range":"{fieldName} must be between {minLength} and {maxLength} characters","reserved_node_name":"\\"{nodeName}\\" is a reserved node name","attributes_required":"Provide at least one of attributes_block_name or attributes_name_prefix"}},"error":{"invalid_connection":"Invalid connection","branch_cycle":"Cannot create a circular branch relationship"},"confirm":{"title":"Connection conflict","message":{"confirm":"Are you sure you want to make this change?","switch":"You can connect an output source to either all inputs of a node or to individual inputs.","override":"Each input can connect to only one output, but one output can connect to many inputs.","branch_replace":"This node already belongs to another branch. Move it to the new branch?"},"proceed":"Yes, update"},"leave_confirm":"Leave current page? Changes you made may not be saved."},"code_editor":{"mode":"Code editor"}},"vault_picker":{"component_error":"The vault secret picker is not available"},"tag_helper":"Use comma to separate values. eg: value1, value2","foreign_placeholder":"Enter a UUID of {entity}"}}`),redis:{title:"Redis configuration",managed_ui:{title:"Redis",shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",badge:"Recommended"},dedicated_configuration:{label:"Use locally-scoped configuration",description:"Create and use a Redis configuration specifically for this plugin."},selector:{placeholder:"Filter Redis configurations...",create_new:"New Redis"}},shared_configuration:{label:"Shared configuration",description:"Select an existing shared Redis configuration or create a new one. Changes to this configuration automatically apply to all associated plugins.",title:"Shared Redis configuration",error:"Fetching shared Redis configurations failed."},dedicated_configuration:{label:"Dedicated configuration",description:"Create a Redis configuration that is used only by this plugin. Changes won’t affect other plugins."},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last updated at",type_label:"Redis type"}}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current control plane",cp_group_label:"Control plane",realm_group_label:"Realms (can only select one)"},kong_identity:{title:"Who should manage authentication and credentials?",description_with_realms:"Use Consumers or centrally managed consumers for Consumer-based authentication. Use Kong Identity for principal-based authentication and advanced integrations.",description_without_realms:"Use Consumers for Consumer-based authentication. Use Kong Identity for principal-based authentication and advanced integrations.",learn_more:"Learn more.",incompatible_data_plane_alert:"We detected that one or more data plane nodes are running a version earlier than 3.15. Requests handled by those data plane nodes will use consumers instead of Kong Identity principals.",kong_identity_label:"Kong Identity",kong_identity_description_key_auth:"Use Kong Identity to authenticate API keys and map requests to Kong Identity principals for advanced integrations. Data plane nodes running versions earlier than 3.15 continue using consumers.",kong_identity_description_basic_auth:"Use Kong Identity to authenticate Basic Auth credentials and map requests to Kong Identity principals for advanced integrations. Data plane nodes running versions earlier than 3.15 continue using consumers.",consumers_label:"Consumers",consumers_description_key_auth:"Use consumer-managed API keys. Consumers provide their API key in a request header, query parameter, or request body to authenticate requests.",consumers_description_basic_auth:"Use consumer-managed Basic Auth credentials. Consumers authenticate requests using a username and password.",centrally_managed_label:"Centrally managed consumers",centrally_managed_description:"Authenticate centrally managed consumers in Konnect using identity realms. Identity realms are scoped to the control plane by default.",identity_realms_required:"To use centrally managed consumers, you must select at least one Centrally managed consumer realm.",error_on_miss_label:"If principal lookup fails",error_on_miss_reject_label:"Reject the request",error_on_miss_reject_description:"Treat the request as unauthenticated if Kong Identity cannot resolve the principal.",error_on_miss_continue_label:"Continue without a principal",error_on_miss_continue_description:"Allow the request to continue without resolving a principal.",configure_title:"Configure Kong Identity",configure_description:"Kong Identity uses principals to represent authenticated services or applications. Create your first principal in Kong Identity to start using principal-based authentication. On data plane nodes running versions earlier than 3.15, authentication continues using consumers.",create_principal:"Create principal",configure_learn_more:"Learn more",leave_prompt_title:"Leave this page?",leave_prompt_message:"Your unsaved changes will be lost if you continue.",leave_prompt_action:"Leave page"}},sp:{window_type:{label:"Rate limit window type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window&#39;s counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error message",code_placeholder:"Code message",message_placeholder:"Error message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
2
2
  If the limit is exceeded and the user receives a 429 error, each additional request within the sliding window (hour)
3
- will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}},custom_plugin_form:{step1:{title:"Custom plugin type",types:{installed:{label:"Installed custom plugin",description:"Install and manage plugins with full control over deployment and runtime. Requires restarting data planes."},streamed:{label:"Streamed custom plugin",description:"Deploy and update plugins on running data planes without requiring gateway access."},cloned:{label:"Cloned plugin",description:"Duplicate an existing plugin to run multiple instances within a single request."}},compare_trigger:"Compare deployment options",compare_table:{columns:{installed:"Installed custom plugin",streamed:"Streamed custom plugin",cloned:"Cloned plugin"},rows:{main_use_case:{header:"Main use case",installed:"Extend Kong functionality with custom plugins and control who can modify and roll out changes.",streamed:"Extend Kong functionality with plugins without requiring sysadmin access to data plane instances.",cloned:"Modify an existing plugin to run multiple instances with different names or priorities."},file_supplied:{header:"File supplied",installed:{handler:"handler.lua",schema:"schema.lua",additional:"Any additional files or libraries needed"},streamed:{handler:"handler.lua",schema:"schema.lua"}},how_installed:{header:"How it's installed",installed:"Install directly on the data plane",streamed:"Through gateway configuration changes",cloned:"Through gateway configuration changes"},sandboxing:{header:"Sandboxing",streamed:"Follows the standard sandboxing settings. {link}",streamed_link:"Link to docs",cloned:"Inherit the same sandboxing as the original plugins"},data_plane_reload:{header:"Data plane reload"}}}},step2_files:{title:"Custom plugin files",schema_file:{label:"Upload schema file",placeholder:"No file selected",placeholder_edit:"File not changed",button_text:"Select File",help:"Only Lua based schemas are supported by Konnect. Other plugin modules can be in any language as desired. Learn more"},handler_file:{label:"Upload handler file",placeholder:"No file selected",placeholder_edit:"File not changed",button_text:"Select File",help:"Upload plugin handler to the data plane."},plugin_modules:{label:"Plugin modules",alert:"Upload all plugin modules to the data plane: schema.lua, handler.lua"}},step2_clone:{title:"Clone plugin",select_plugin:{label:"Select a plugin",placeholder:"Type to search"}},step3:{title:"General information",description:"Enter a custom name for this custom plugin",name:{label:"Name",placeholder:"Enter a unique name",help:"The name must be identical to the name of the plugin in the schema file."},alias_name:{label:"Alias name",placeholder:"Enter a unique name",help:"Format: ^[a-z][a-z0-9-]*[a-z0-9]$. The name must be unique enough to avoid future conflicts with bundled plugins."},priority:{label:"Priority",tooltip:"Set the execution priority for this cloned plugin",help:{text:"Optional. Use a number to set the absolute execution priority. If priority isn't set, plugins run in alphabetical order. {link} in the docs.",link:"Learn more"}}},errors:{file_read_error:"Failed to read file content. Please try again.",file_too_large:"File size exceeds the maximum limit of 1 MB.",plugin_not_found:"The selected plugin could not be found. Please refresh the list and try again.",no_supported_types:"No supported custom plugin types are available in this context.",unsupported_plugin_type:"Unsupported plugin type {type}."}}};function Qe(){const e=Ft.createI18n("en-us",zt);return{i18n:e,i18nT:Ft.i18nTComponent(e)}}const OS=["undo","redo","duplicate","cut","copy","paste"],My=()=>{};function PS(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function VS(e){if(!(e.metaKey||e.ctrlKey))return;switch(e.key.toLowerCase()){case"z":return e.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const $S=Ot.createSharedComposable(()=>{const e=new Set;Ot.useEventListener("keydown",r=>{if(PS(r.target))return;const o=VS(r);if(o)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[o];if(a){if(r.defaultPrevented){t.warn(`[useHotkeys] event for "${o}" was already defaultPrevented. Hotkey ignored.`);return}r.preventDefault(),a();return}}},{passive:!1});function n(r){if(!OS.some(i=>typeof r[i]=="function"))return My;const o={enabled:r.enabled??!0,...r};return e.add(o),()=>e.delete(o)}return{subscribe:n}});function Fy(e={}){if(typeof window>"u")return My;const n=$S().subscribe(e);return t.onScopeDispose(n),n}const RS="#ecfcff",LS="#f1f0ff",DS="#52596e",MS="#e0e4ea",FS="#007d60",jS="#fffce0",US="#6c7489",KS="#0044f4",qS="#5f9aff",gf="#0d0e14",jy="#d60027",GS="#00abd2",Uy="#6f28ff",Ky="#afb7c5",sr="#6c7489",zS="#0044f4",HS="#eefaff",qy="#007d60",WS="#ecfffb",YS="#995c00",JS="#306fff",hi="12px",Tn="16px",ko="20px",hf="24px",XS="2px",Gy="8px",ZS="32px",zy=44,QS=220,Hy=366,eA=1e3,tA=zy+parseFloat(Gy),Fl=1,nA=0,rA=1,oA=2,iA=3,yi=parseInt(ZS,10),Ga="application/x-datakit+json",jl={delete:["Delete"],undo:["Mod","Z"],redo:{mac:["Mod","Shift","Z"],windows:["Mod","Y"],linux:["Mod","Shift","Z"]},copy:["Mod","C"],paste:["Mod","V"],duplicate:["Mod","D"]},Qr={padding:80,gaps:{nodes:60,edges:80,ranks:60}},aA=1600,sA=1.2,lA=0,cA=200,Wy=Symbol("confirm-modal");var Yy=typeof global=="object"&&global&&global.Object===Object&&global,dA=typeof self=="object"&&self&&self.Object===Object&&self,lr=Yy||dA||Function("return this")(),Ln=lr.Symbol,Jy=Object.prototype,uA=Jy.hasOwnProperty,fA=Jy.toString,za=Ln?Ln.toStringTag:void 0;function pA(e){var n=uA.call(e,za),r=e[za];try{e[za]=void 0;var o=!0}catch{}var i=fA.call(e);return o&&(n?e[za]=r:delete e[za]),i}var mA=Object.prototype,gA=mA.toString;function hA(e){return gA.call(e)}var yA="[object Null]",_A="[object Undefined]",Xy=Ln?Ln.toStringTag:void 0;function wo(e){return e==null?e===void 0?_A:yA:Xy&&Xy in Object(e)?pA(e):hA(e)}function cr(e){return e!=null&&typeof e=="object"}var bA="[object Symbol]";function yf(e){return typeof e=="symbol"||cr(e)&&wo(e)==bA}function _f(e,n){for(var r=-1,o=e==null?0:e.length,i=Array(o);++r<o;)i[r]=n(e[r],r,e);return i}var Jn=Array.isArray,Zy=Ln?Ln.prototype:void 0,Qy=Zy?Zy.toString:void 0;function e_(e){if(typeof e=="string")return e;if(Jn(e))return _f(e,e_)+"";if(yf(e))return Qy?Qy.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Co(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function t_(e){return e}var kA="[object AsyncFunction]",wA="[object Function]",CA="[object GeneratorFunction]",EA="[object Proxy]";function Ul(e){if(!Co(e))return!1;var n=wo(e);return n==wA||n==CA||n==kA||n==EA}var bf=lr["__core-js_shared__"],n_=(function(){var e=/[^.]+$/.exec(bf&&bf.keys&&bf.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function NA(e){return!!n_&&n_ in e}var SA=Function.prototype,AA=SA.toString;function Eo(e){if(e!=null){try{return AA.call(e)}catch{}try{return e+""}catch{}}return""}var xA=/[\\^$.*+?()[\]{}|]/g,IA=/^\[object .+?Constructor\]$/,vA=Function.prototype,TA=Object.prototype,BA=vA.toString,OA=TA.hasOwnProperty,PA=RegExp("^"+BA.call(OA).replace(xA,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function VA(e){if(!Co(e)||NA(e))return!1;var n=Ul(e)?PA:IA;return n.test(Eo(e))}function $A(e,n){return e?.[n]}function No(e,n){var r=$A(e,n);return VA(r)?r:void 0}var kf=No(lr,"WeakMap"),r_=Object.create,RA=(function(){function e(){}return function(n){if(!Co(n))return{};if(r_)return r_(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}})();function LA(e,n,r){switch(r.length){case 0:return e.call(n);case 1:return e.call(n,r[0]);case 2:return e.call(n,r[0],r[1]);case 3:return e.call(n,r[0],r[1],r[2])}return e.apply(n,r)}function DA(e,n){var r=-1,o=e.length;for(n||(n=Array(o));++r<o;)n[r]=e[r];return n}var MA=800,FA=16,jA=Date.now;function UA(e){var n=0,r=0;return function(){var o=jA(),i=FA-(o-r);if(r=o,i>0){if(++n>=MA)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function KA(e){return function(){return e}}var Kl=(function(){try{var e=No(Object,"defineProperty");return e({},"",{}),e}catch{}})(),qA=Kl?function(e,n){return Kl(e,"toString",{configurable:!0,enumerable:!1,value:KA(n),writable:!0})}:t_,o_=UA(qA);function GA(e,n){for(var r=-1,o=e==null?0:e.length;++r<o&&n(e[r],r,e)!==!1;);return e}function zA(e,n,r,o){for(var i=e.length,a=r+-1;++a<i;)if(n(e[a],a,e))return a;return-1}function HA(e){return e!==e}function WA(e,n,r){for(var o=r-1,i=e.length;++o<i;)if(e[o]===n)return o;return-1}function YA(e,n,r){return n===n?WA(e,n,r):zA(e,HA,r)}function JA(e,n){var r=e==null?0:e.length;return!!r&&YA(e,n,0)>-1}var XA=9007199254740991,ZA=/^(?:0|[1-9]\d*)$/;function wf(e,n){var r=typeof e;return n=n??XA,!!n&&(r=="number"||r!="symbol"&&ZA.test(e))&&e>-1&&e%1==0&&e<n}function i_(e,n,r){n=="__proto__"&&Kl?Kl(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[n]=r}function Cf(e,n){return e===n||e!==e&&n!==n}var QA=Object.prototype,ex=QA.hasOwnProperty;function Ef(e,n,r){var o=e[n];(!(ex.call(e,n)&&Cf(o,r))||r===void 0&&!(n in e))&&i_(e,n,r)}function Ha(e,n,r,o){var i=!r;r||(r={});for(var a=-1,s=n.length;++a<s;){var l=n[a],c=void 0;c===void 0&&(c=e[l]),i?i_(r,l,c):Ef(r,l,c)}return r}var a_=Math.max;function s_(e,n,r){return n=a_(n===void 0?e.length-1:n,0),function(){for(var o=arguments,i=-1,a=a_(o.length-n,0),s=Array(a);++i<a;)s[i]=o[n+i];i=-1;for(var l=Array(n+1);++i<n;)l[i]=o[i];return l[n]=r(s),LA(e,this,l)}}function tx(e,n){return o_(s_(e,n,t_),e+"")}var nx=9007199254740991;function Nf(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=nx}function ql(e){return e!=null&&Nf(e.length)&&!Ul(e)}var rx=Object.prototype;function Gl(e){var n=e&&e.constructor,r=typeof n=="function"&&n.prototype||rx;return e===r}function ox(e,n){for(var r=-1,o=Array(e);++r<e;)o[r]=n(r);return o}var ix="[object Arguments]";function l_(e){return cr(e)&&wo(e)==ix}var c_=Object.prototype,ax=c_.hasOwnProperty,sx=c_.propertyIsEnumerable,zl=l_((function(){return arguments})())?l_:function(e){return cr(e)&&ax.call(e,"callee")&&!sx.call(e,"callee")};function lx(){return!1}var d_=typeof ke=="object"&&ke&&!ke.nodeType&&ke,u_=d_&&typeof module=="object"&&module&&!module.nodeType&&module,cx=u_&&u_.exports===d_,f_=cx?lr.Buffer:void 0,dx=f_?f_.isBuffer:void 0,Wa=dx||lx,ux="[object Arguments]",fx="[object Array]",px="[object Boolean]",mx="[object Date]",gx="[object Error]",hx="[object Function]",yx="[object Map]",_x="[object Number]",bx="[object Object]",kx="[object RegExp]",wx="[object Set]",Cx="[object String]",Ex="[object WeakMap]",Nx="[object ArrayBuffer]",Sx="[object DataView]",Ax="[object Float32Array]",xx="[object Float64Array]",Ix="[object Int8Array]",vx="[object Int16Array]",Tx="[object Int32Array]",Bx="[object Uint8Array]",Ox="[object Uint8ClampedArray]",Px="[object Uint16Array]",Vx="[object Uint32Array]",vt={};vt[Ax]=vt[xx]=vt[Ix]=vt[vx]=vt[Tx]=vt[Bx]=vt[Ox]=vt[Px]=vt[Vx]=!0,vt[ux]=vt[fx]=vt[Nx]=vt[px]=vt[Sx]=vt[mx]=vt[gx]=vt[hx]=vt[yx]=vt[_x]=vt[bx]=vt[kx]=vt[wx]=vt[Cx]=vt[Ex]=!1;function $x(e){return cr(e)&&Nf(e.length)&&!!vt[wo(e)]}function Sf(e){return function(n){return e(n)}}var p_=typeof ke=="object"&&ke&&!ke.nodeType&&ke,Ya=p_&&typeof module=="object"&&module&&!module.nodeType&&module,Rx=Ya&&Ya.exports===p_,Af=Rx&&Yy.process,_i=(function(){try{var e=Ya&&Ya.require&&Ya.require("util").types;return e||Af&&Af.binding&&Af.binding("util")}catch{}})(),m_=_i&&_i.isTypedArray,xf=m_?Sf(m_):$x,Lx=Object.prototype,Dx=Lx.hasOwnProperty;function g_(e,n){var r=Jn(e),o=!r&&zl(e),i=!r&&!o&&Wa(e),a=!r&&!o&&!i&&xf(e),s=r||o||i||a,l=s?ox(e.length,String):[],c=l.length;for(var d in e)(n||Dx.call(e,d))&&!(s&&(d=="length"||i&&(d=="offset"||d=="parent")||a&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||wf(d,c)))&&l.push(d);return l}function h_(e,n){return function(r){return e(n(r))}}var Mx=h_(Object.keys,Object),Fx=Object.prototype,jx=Fx.hasOwnProperty;function y_(e){if(!Gl(e))return Mx(e);var n=[];for(var r in Object(e))jx.call(e,r)&&r!="constructor"&&n.push(r);return n}function If(e){return ql(e)?g_(e):y_(e)}function Ux(e){var n=[];if(e!=null)for(var r in Object(e))n.push(r);return n}var Kx=Object.prototype,qx=Kx.hasOwnProperty;function Gx(e){if(!Co(e))return Ux(e);var n=Gl(e),r=[];for(var o in e)o=="constructor"&&(n||!qx.call(e,o))||r.push(o);return r}function vf(e){return ql(e)?g_(e,!0):Gx(e)}var zx=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hx=/^\w*$/;function Wx(e,n){if(Jn(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||yf(e)?!0:Hx.test(e)||!zx.test(e)||n!=null&&e in Object(n)}var Ja=No(Object,"create");function Yx(){this.__data__=Ja?Ja(null):{},this.size=0}function Jx(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Xx="__lodash_hash_undefined__",Zx=Object.prototype,Qx=Zx.hasOwnProperty;function eI(e){var n=this.__data__;if(Ja){var r=n[e];return r===Xx?void 0:r}return Qx.call(n,e)?n[e]:void 0}var tI=Object.prototype,nI=tI.hasOwnProperty;function rI(e){var n=this.__data__;return Ja?n[e]!==void 0:nI.call(n,e)}var oI="__lodash_hash_undefined__";function iI(e,n){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ja&&n===void 0?oI:n,this}function So(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var o=e[n];this.set(o[0],o[1])}}So.prototype.clear=Yx,So.prototype.delete=Jx,So.prototype.get=eI,So.prototype.has=rI,So.prototype.set=iI;function aI(){this.__data__=[],this.size=0}function Hl(e,n){for(var r=e.length;r--;)if(Cf(e[r][0],n))return r;return-1}var sI=Array.prototype,lI=sI.splice;function cI(e){var n=this.__data__,r=Hl(n,e);if(r<0)return!1;var o=n.length-1;return r==o?n.pop():lI.call(n,r,1),--this.size,!0}function dI(e){var n=this.__data__,r=Hl(n,e);return r<0?void 0:n[r][1]}function uI(e){return Hl(this.__data__,e)>-1}function fI(e,n){var r=this.__data__,o=Hl(r,e);return o<0?(++this.size,r.push([e,n])):r[o][1]=n,this}function xr(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var o=e[n];this.set(o[0],o[1])}}xr.prototype.clear=aI,xr.prototype.delete=cI,xr.prototype.get=dI,xr.prototype.has=uI,xr.prototype.set=fI;var Xa=No(lr,"Map");function pI(){this.size=0,this.__data__={hash:new So,map:new(Xa||xr),string:new So}}function mI(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Wl(e,n){var r=e.__data__;return mI(n)?r[typeof n=="string"?"string":"hash"]:r.map}function gI(e){var n=Wl(this,e).delete(e);return this.size-=n?1:0,n}function hI(e){return Wl(this,e).get(e)}function yI(e){return Wl(this,e).has(e)}function _I(e,n){var r=Wl(this,e),o=r.size;return r.set(e,n),this.size+=r.size==o?0:1,this}function Ir(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var o=e[n];this.set(o[0],o[1])}}Ir.prototype.clear=pI,Ir.prototype.delete=gI,Ir.prototype.get=hI,Ir.prototype.has=yI,Ir.prototype.set=_I;var bI="Expected a function";function Tf(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(bI);var r=function(){var o=arguments,i=n?n.apply(this,o):o[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,o);return r.cache=a.set(i,s)||a,s};return r.cache=new(Tf.Cache||Ir),r}Tf.Cache=Ir;var kI=500;function wI(e){var n=Tf(e,function(o){return r.size===kI&&r.clear(),o}),r=n.cache;return n}var CI=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,EI=/\\(\\)?/g,NI=wI(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(CI,function(r,o,i,a){n.push(i?a.replace(EI,"$1"):o||r)}),n});function Ao(e){return e==null?"":e_(e)}function bi(e,n){return Jn(e)?e:Wx(e,n)?[e]:NI(Ao(e))}function Za(e){if(typeof e=="string"||yf(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Bf(e,n){n=bi(n,e);for(var r=0,o=n.length;e!=null&&r<o;)e=e[Za(n[r++])];return r&&r==o?e:void 0}function xo(e,n,r){var o=e==null?void 0:Bf(e,n);return o===void 0?r:o}function Of(e,n){for(var r=-1,o=n.length,i=e.length;++r<o;)e[i+r]=n[r];return e}var __=Ln?Ln.isConcatSpreadable:void 0;function SI(e){return Jn(e)||zl(e)||!!(__&&e&&e[__])}function AI(e,n,r,o,i){var a=-1,s=e.length;for(r||(r=SI),i||(i=[]);++a<s;){var l=e[a];r(l)?Of(i,l):i[i.length]=l}return i}function xI(e){var n=e==null?0:e.length;return n?AI(e):[]}function b_(e){return o_(s_(e,void 0,xI),e+"")}var Pf=h_(Object.getPrototypeOf,Object),II="[object Object]",vI=Function.prototype,TI=Object.prototype,k_=vI.toString,BI=TI.hasOwnProperty,OI=k_.call(Object);function PI(e){if(!cr(e)||wo(e)!=II)return!1;var n=Pf(e);if(n===null)return!0;var r=BI.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&k_.call(r)==OI}function w_(e,n,r){var o=-1,i=e.length;n<0&&(n=-n>i?0:i+n),r=r>i?i:r,r<0&&(r+=i),i=n>r?0:r-n>>>0,n>>>=0;for(var a=Array(i);++o<i;)a[o]=e[o+n];return a}function VI(e,n,r){var o=e.length;return r=r===void 0?o:r,!n&&r>=o?e:w_(e,n,r)}var $I="\\ud800-\\udfff",RI="\\u0300-\\u036f",LI="\\ufe20-\\ufe2f",DI="\\u20d0-\\u20ff",MI=RI+LI+DI,FI="\\ufe0e\\ufe0f",jI="\\u200d",UI=RegExp("["+jI+$I+MI+FI+"]");function C_(e){return UI.test(e)}function KI(e){return e.split("")}var E_="\\ud800-\\udfff",qI="\\u0300-\\u036f",GI="\\ufe20-\\ufe2f",zI="\\u20d0-\\u20ff",HI=qI+GI+zI,WI="\\ufe0e\\ufe0f",YI="["+E_+"]",Vf="["+HI+"]",$f="\\ud83c[\\udffb-\\udfff]",JI="(?:"+Vf+"|"+$f+")",N_="[^"+E_+"]",S_="(?:\\ud83c[\\udde6-\\uddff]){2}",A_="[\\ud800-\\udbff][\\udc00-\\udfff]",XI="\\u200d",x_=JI+"?",I_="["+WI+"]?",ZI="(?:"+XI+"(?:"+[N_,S_,A_].join("|")+")"+I_+x_+")*",QI=I_+x_+ZI,ev="(?:"+[N_+Vf+"?",Vf,S_,A_,YI].join("|")+")",tv=RegExp($f+"(?="+$f+")|"+ev+QI,"g");function nv(e){return e.match(tv)||[]}function rv(e){return C_(e)?nv(e):KI(e)}function ov(e){return function(n){n=Ao(n);var r=C_(n)?rv(n):void 0,o=r?r[0]:n.charAt(0),i=r?VI(r,1).join(""):n.slice(1);return o[e]()+i}}var v_=ov("toUpperCase");function iv(e){return v_(Ao(e).toLowerCase())}function av(e,n,r,o){for(var i=-1,a=e==null?0:e.length;++i<a;)r=n(r,e[i],i,e);return r}function T_(e){return function(n){return e?.[n]}}var sv={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},lv=T_(sv),cv=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,dv="\\u0300-\\u036f",uv="\\ufe20-\\ufe2f",fv="\\u20d0-\\u20ff",pv=dv+uv+fv,mv="["+pv+"]",gv=RegExp(mv,"g");function hv(e){return e=Ao(e),e&&e.replace(cv,lv).replace(gv,"")}var yv=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function _v(e){return e.match(yv)||[]}var bv=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function kv(e){return bv.test(e)}var B_="\\ud800-\\udfff",wv="\\u0300-\\u036f",Cv="\\ufe20-\\ufe2f",Ev="\\u20d0-\\u20ff",Nv=wv+Cv+Ev,O_="\\u2700-\\u27bf",P_="a-z\\xdf-\\xf6\\xf8-\\xff",Sv="\\xac\\xb1\\xd7\\xf7",Av="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",xv="\\u2000-\\u206f",Iv=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",V_="A-Z\\xc0-\\xd6\\xd8-\\xde",vv="\\ufe0e\\ufe0f",$_=Sv+Av+xv+Iv,R_="['’]",L_="["+$_+"]",Tv="["+Nv+"]",D_="\\d+",Bv="["+O_+"]",M_="["+P_+"]",F_="[^"+B_+$_+D_+O_+P_+V_+"]",Ov="\\ud83c[\\udffb-\\udfff]",Pv="(?:"+Tv+"|"+Ov+")",Vv="[^"+B_+"]",j_="(?:\\ud83c[\\udde6-\\uddff]){2}",U_="[\\ud800-\\udbff][\\udc00-\\udfff]",ki="["+V_+"]",$v="\\u200d",K_="(?:"+M_+"|"+F_+")",Rv="(?:"+ki+"|"+F_+")",q_="(?:"+R_+"(?:d|ll|m|re|s|t|ve))?",G_="(?:"+R_+"(?:D|LL|M|RE|S|T|VE))?",z_=Pv+"?",H_="["+vv+"]?",Lv="(?:"+$v+"(?:"+[Vv,j_,U_].join("|")+")"+H_+z_+")*",Dv="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Mv="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fv=H_+z_+Lv,jv="(?:"+[Bv,j_,U_].join("|")+")"+Fv,Uv=RegExp([ki+"?"+M_+"+"+q_+"(?="+[L_,ki,"$"].join("|")+")",Rv+"+"+G_+"(?="+[L_,ki+K_,"$"].join("|")+")",ki+"?"+K_+"+"+q_,ki+"+"+G_,Mv,Dv,D_,jv].join("|"),"g");function Kv(e){return e.match(Uv)||[]}function qv(e,n,r){return e=Ao(e),n=n,n===void 0?kv(e)?Kv(e):_v(e):e.match(n)||[]}var Gv="['’]",zv=RegExp(Gv,"g");function Hv(e){return function(n){return av(qv(hv(n).replace(zv,"")),e,"")}}var Wv=Hv(function(e,n,r){return n=n.toLowerCase(),e+(r?iv(n):n)});function Yv(){this.__data__=new xr,this.size=0}function Jv(e){var n=this.__data__,r=n.delete(e);return this.size=n.size,r}function Xv(e){return this.__data__.get(e)}function Zv(e){return this.__data__.has(e)}var Qv=200;function eT(e,n){var r=this.__data__;if(r instanceof xr){var o=r.__data__;if(!Xa||o.length<Qv-1)return o.push([e,n]),this.size=++r.size,this;r=this.__data__=new Ir(o)}return r.set(e,n),this.size=r.size,this}function vr(e){var n=this.__data__=new xr(e);this.size=n.size}vr.prototype.clear=Yv,vr.prototype.delete=Jv,vr.prototype.get=Xv,vr.prototype.has=Zv,vr.prototype.set=eT;function tT(e,n){return e&&Ha(n,If(n),e)}function nT(e,n){return e&&Ha(n,vf(n),e)}var W_=typeof ke=="object"&&ke&&!ke.nodeType&&ke,Y_=W_&&typeof module=="object"&&module&&!module.nodeType&&module,rT=Y_&&Y_.exports===W_,J_=rT?lr.Buffer:void 0,X_=J_?J_.allocUnsafe:void 0;function oT(e,n){if(n)return e.slice();var r=e.length,o=X_?X_(r):new e.constructor(r);return e.copy(o),o}function iT(e,n){for(var r=-1,o=e==null?0:e.length,i=0,a=[];++r<o;){var s=e[r];n(s,r,e)&&(a[i++]=s)}return a}function Z_(){return[]}var aT=Object.prototype,sT=aT.propertyIsEnumerable,Q_=Object.getOwnPropertySymbols,Rf=Q_?function(e){return e==null?[]:(e=Object(e),iT(Q_(e),function(n){return sT.call(e,n)}))}:Z_;function lT(e,n){return Ha(e,Rf(e),n)}var cT=Object.getOwnPropertySymbols,eb=cT?function(e){for(var n=[];e;)Of(n,Rf(e)),e=Pf(e);return n}:Z_;function dT(e,n){return Ha(e,eb(e),n)}function tb(e,n,r){var o=n(e);return Jn(e)?o:Of(o,r(e))}function Lf(e){return tb(e,If,Rf)}function nb(e){return tb(e,vf,eb)}var Df=No(lr,"DataView"),Mf=No(lr,"Promise"),Ff=No(lr,"Set"),rb="[object Map]",uT="[object Object]",ob="[object Promise]",ib="[object Set]",ab="[object WeakMap]",sb="[object DataView]",fT=Eo(Df),pT=Eo(Xa),mT=Eo(Mf),gT=Eo(Ff),hT=Eo(kf),Dn=wo;(Df&&Dn(new Df(new ArrayBuffer(1)))!=sb||Xa&&Dn(new Xa)!=rb||Mf&&Dn(Mf.resolve())!=ob||Ff&&Dn(new Ff)!=ib||kf&&Dn(new kf)!=ab)&&(Dn=function(e){var n=wo(e),r=n==uT?e.constructor:void 0,o=r?Eo(r):"";if(o)switch(o){case fT:return sb;case pT:return rb;case mT:return ob;case gT:return ib;case hT:return ab}return n});var yT=Object.prototype,_T=yT.hasOwnProperty;function bT(e){var n=e.length,r=new e.constructor(n);return n&&typeof e[0]=="string"&&_T.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var Yl=lr.Uint8Array;function jf(e){var n=new e.constructor(e.byteLength);return new Yl(n).set(new Yl(e)),n}function kT(e,n){var r=n?jf(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var wT=/\w*$/;function CT(e){var n=new e.constructor(e.source,wT.exec(e));return n.lastIndex=e.lastIndex,n}var lb=Ln?Ln.prototype:void 0,cb=lb?lb.valueOf:void 0;function ET(e){return cb?Object(cb.call(e)):{}}function NT(e,n){var r=n?jf(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var ST="[object Boolean]",AT="[object Date]",xT="[object Map]",IT="[object Number]",vT="[object RegExp]",TT="[object Set]",BT="[object String]",OT="[object Symbol]",PT="[object ArrayBuffer]",VT="[object DataView]",$T="[object Float32Array]",RT="[object Float64Array]",LT="[object Int8Array]",DT="[object Int16Array]",MT="[object Int32Array]",FT="[object Uint8Array]",jT="[object Uint8ClampedArray]",UT="[object Uint16Array]",KT="[object Uint32Array]";function qT(e,n,r){var o=e.constructor;switch(n){case PT:return jf(e);case ST:case AT:return new o(+e);case VT:return kT(e,r);case $T:case RT:case LT:case DT:case MT:case FT:case jT:case UT:case KT:return NT(e,r);case xT:return new o;case IT:case BT:return new o(e);case vT:return CT(e);case TT:return new o;case OT:return ET(e)}}function GT(e){return typeof e.constructor=="function"&&!Gl(e)?RA(Pf(e)):{}}var zT="[object Map]";function HT(e){return cr(e)&&Dn(e)==zT}var db=_i&&_i.isMap,WT=db?Sf(db):HT,YT="[object Set]";function JT(e){return cr(e)&&Dn(e)==YT}var ub=_i&&_i.isSet,XT=ub?Sf(ub):JT,ZT=1,QT=2,eB=4,fb="[object Arguments]",tB="[object Array]",nB="[object Boolean]",rB="[object Date]",oB="[object Error]",pb="[object Function]",iB="[object GeneratorFunction]",aB="[object Map]",sB="[object Number]",mb="[object Object]",lB="[object RegExp]",cB="[object Set]",dB="[object String]",uB="[object Symbol]",fB="[object WeakMap]",pB="[object ArrayBuffer]",mB="[object DataView]",gB="[object Float32Array]",hB="[object Float64Array]",yB="[object Int8Array]",_B="[object Int16Array]",bB="[object Int32Array]",kB="[object Uint8Array]",wB="[object Uint8ClampedArray]",CB="[object Uint16Array]",EB="[object Uint32Array]",It={};It[fb]=It[tB]=It[pB]=It[mB]=It[nB]=It[rB]=It[gB]=It[hB]=It[yB]=It[_B]=It[bB]=It[aB]=It[sB]=It[mb]=It[lB]=It[cB]=It[dB]=It[uB]=It[kB]=It[wB]=It[CB]=It[EB]=!0,It[oB]=It[pb]=It[fB]=!1;function Qa(e,n,r,o,i,a){var s,l=n&ZT,c=n&QT,d=n&eB;if(r&&(s=i?r(e,o,i,a):r(e)),s!==void 0)return s;if(!Co(e))return e;var u=Jn(e);if(u){if(s=bT(e),!l)return DA(e,s)}else{var f=Dn(e),p=f==pb||f==iB;if(Wa(e))return oT(e,l);if(f==mb||f==fb||p&&!i){if(s=c||p?{}:GT(e),!l)return c?dT(e,nT(s,e)):lT(e,tT(s,e))}else{if(!It[f])return i?e:{};s=qT(e,f,l)}}a||(a=new vr);var m=a.get(e);if(m)return m;a.set(e,s),XT(e)?e.forEach(function(g){s.add(Qa(g,n,r,g,e,a))}):WT(e)&&e.forEach(function(g,_){s.set(_,Qa(g,n,r,_,e,a))});var h=d?c?nb:Lf:c?vf:If,y=u?void 0:h(e);return GA(y||e,function(g,_){y&&(_=g,g=e[_]),Ef(s,_,Qa(g,n,r,_,e,a))}),s}var NB=1,SB=4;function es(e){return Qa(e,NB|SB)}var AB="__lodash_hash_undefined__";function xB(e){return this.__data__.set(e,AB),this}function IB(e){return this.__data__.has(e)}function ts(e){var n=-1,r=e==null?0:e.length;for(this.__data__=new Ir;++n<r;)this.add(e[n])}ts.prototype.add=ts.prototype.push=xB,ts.prototype.has=IB;function vB(e,n){for(var r=-1,o=e==null?0:e.length;++r<o;)if(n(e[r],r,e))return!0;return!1}function Uf(e,n){return e.has(n)}var TB=1,BB=2;function gb(e,n,r,o,i,a){var s=r&TB,l=e.length,c=n.length;if(l!=c&&!(s&&c>l))return!1;var d=a.get(e),u=a.get(n);if(d&&u)return d==n&&u==e;var f=-1,p=!0,m=r&BB?new ts:void 0;for(a.set(e,n),a.set(n,e);++f<l;){var h=e[f],y=n[f];if(o)var g=s?o(y,h,f,n,e,a):o(h,y,f,e,n,a);if(g!==void 0){if(g)continue;p=!1;break}if(m){if(!vB(n,function(_,k){if(!Uf(m,k)&&(h===_||i(h,_,r,o,a)))return m.push(k)})){p=!1;break}}else if(!(h===y||i(h,y,r,o,a))){p=!1;break}}return a.delete(e),a.delete(n),p}function OB(e){var n=-1,r=Array(e.size);return e.forEach(function(o,i){r[++n]=[i,o]}),r}function PB(e){var n=-1,r=Array(e.size);return e.forEach(function(o){r[++n]=o}),r}var VB=1,$B=2,RB="[object Boolean]",LB="[object Date]",DB="[object Error]",MB="[object Map]",FB="[object Number]",jB="[object RegExp]",UB="[object Set]",KB="[object String]",qB="[object Symbol]",GB="[object ArrayBuffer]",zB="[object DataView]",hb=Ln?Ln.prototype:void 0,Kf=hb?hb.valueOf:void 0;function HB(e,n,r,o,i,a,s){switch(r){case zB:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case GB:return!(e.byteLength!=n.byteLength||!a(new Yl(e),new Yl(n)));case RB:case LB:case FB:return Cf(+e,+n);case DB:return e.name==n.name&&e.message==n.message;case jB:case KB:return e==n+"";case MB:var l=OB;case UB:var c=o&VB;if(l||(l=PB),e.size!=n.size&&!c)return!1;var d=s.get(e);if(d)return d==n;o|=$B,s.set(e,n);var u=gb(l(e),l(n),o,i,a,s);return s.delete(e),u;case qB:if(Kf)return Kf.call(e)==Kf.call(n)}return!1}var WB=1,YB=Object.prototype,JB=YB.hasOwnProperty;function XB(e,n,r,o,i,a){var s=r&WB,l=Lf(e),c=l.length,d=Lf(n),u=d.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var p=l[f];if(!(s?p in n:JB.call(n,p)))return!1}var m=a.get(e),h=a.get(n);if(m&&h)return m==n&&h==e;var y=!0;a.set(e,n),a.set(n,e);for(var g=s;++f<c;){p=l[f];var _=e[p],k=n[p];if(o)var b=s?o(k,_,p,n,e,a):o(_,k,p,e,n,a);if(!(b===void 0?_===k||i(_,k,r,o,a):b)){y=!1;break}g||(g=p=="constructor")}if(y&&!g){var N=e.constructor,C=n.constructor;N!=C&&"constructor"in e&&"constructor"in n&&!(typeof N=="function"&&N instanceof N&&typeof C=="function"&&C instanceof C)&&(y=!1)}return a.delete(e),a.delete(n),y}var ZB=1,yb="[object Arguments]",_b="[object Array]",Jl="[object Object]",QB=Object.prototype,bb=QB.hasOwnProperty;function eO(e,n,r,o,i,a){var s=Jn(e),l=Jn(n),c=s?_b:Dn(e),d=l?_b:Dn(n);c=c==yb?Jl:c,d=d==yb?Jl:d;var u=c==Jl,f=d==Jl,p=c==d;if(p&&Wa(e)){if(!Wa(n))return!1;s=!0,u=!1}if(p&&!u)return a||(a=new vr),s||xf(e)?gb(e,n,r,o,i,a):HB(e,n,c,r,o,i,a);if(!(r&ZB)){var m=u&&bb.call(e,"__wrapped__"),h=f&&bb.call(n,"__wrapped__");if(m||h){var y=m?e.value():e,g=h?n.value():n;return a||(a=new vr),i(y,g,r,o,a)}}return p?(a||(a=new vr),XB(e,n,r,o,i,a)):!1}function kb(e,n,r,o,i){return e===n?!0:e==null||n==null||!cr(e)&&!cr(n)?e!==e&&n!==n:eO(e,n,r,o,kb,i)}function tO(e,n){return e!=null&&n in Object(e)}function wb(e,n,r){n=bi(n,e);for(var o=-1,i=n.length,a=!1;++o<i;){var s=Za(n[o]);if(!(a=e!=null&&r(e,s)))break;e=e[s]}return a||++o!=i?a:(i=e==null?0:e.length,!!i&&Nf(i)&&wf(s,i)&&(Jn(e)||zl(e)))}function nO(e,n){return e!=null&&wb(e,n,tO)}function rO(e){return cr(e)&&ql(e)}function oO(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}var iO={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},aO=T_(iO),Cb=/[&<>"']/g,sO=RegExp(Cb.source);function lO(e){return e=Ao(e),e&&sO.test(e)?e.replace(Cb,aO):e}var cO=Object.prototype,dO=cO.hasOwnProperty;function uO(e,n){return e!=null&&dO.call(e,n)}function Xl(e,n){return e!=null&&wb(e,n,uO)}var fO=Math.min;function pO(e,n,r){for(var o=JA,i=e[0].length,a=e.length,s=a,l=Array(a),c=1/0,d=[];s--;){var u=e[s];c=fO(u.length,c),l[s]=i>=120&&u.length>=120?new ts(s&&u):void 0}u=e[0];var f=-1,p=l[0];e:for(;++f<i&&d.length<c;){var m=u[f],h=m;if(m=m!==0?m:0,!(p?Uf(p,h):o(d,h))){for(s=a;--s;){var y=l[s];if(!(y?Uf(y,h):o(e[s],h)))continue e}p&&p.push(h),d.push(m)}}return d}function mO(e){return rO(e)?e:[]}var gO=tx(function(e){var n=_f(e,mO);return n.length&&n[0]===e[0]?pO(n):[]});function hO(e,n){return n.length<2?e:Bf(e,w_(n,0,-1))}var yO="[object Map]",_O="[object Set]",bO=Object.prototype,kO=bO.hasOwnProperty;function qf(e){if(e==null)return!0;if(ql(e)&&(Jn(e)||typeof e=="string"||typeof e.splice=="function"||Wa(e)||xf(e)||zl(e)))return!e.length;var n=Dn(e);if(n==yO||n==_O)return!e.size;if(Gl(e))return!y_(e).length;for(var r in e)if(kO.call(e,r))return!1;return!0}function Kt(e,n){return kb(e,n)}var wO=Object.prototype,CO=wO.hasOwnProperty;function Eb(e,n){n=bi(n,e);var r=-1,o=n.length;if(!o)return!0;for(;++r<o;){var i=Za(n[r]);if(i==="__proto__"&&!CO.call(e,"__proto__")||(i==="constructor"||i==="prototype")&&r<o-1)return!1}var a=hO(e,n);return a==null||delete a[Za(oO(n))]}function EO(e){return PI(e)?void 0:e}var NO=1,SO=2,AO=4,eo=b_(function(e,n){var r={};if(e==null)return r;var o=!1;n=_f(n,function(a){return a=bi(a,e),o||(o=a.length>1),a}),Ha(e,nb(e),r),o&&(r=Qa(r,NO|SO|AO,EO));for(var i=n.length;i--;)Eb(r,n[i]);return r});function Nb(e,n,r,o){if(!Co(e))return e;n=bi(n,e);for(var i=-1,a=n.length,s=a-1,l=e;l!=null&&++i<a;){var c=Za(n[i]),d=r;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=s){var u=l[c];d=void 0,d===void 0&&(d=Co(u)?u:wf(n[i+1])?[]:{})}Ef(l,c,d),l=l[c]}return e}function xO(e,n,r){for(var o=-1,i=n.length,a={};++o<i;){var s=n[o],l=Bf(e,s);r(l,s)&&Nb(a,bi(s,e),l)}return a}function IO(e,n){return xO(e,n,function(r,o){return nO(e,o)})}var Gf=b_(function(e,n){return e==null?{}:IO(e,n)});function zf(e,n,r){return e==null?e:Nb(e,n,r)}var vO=0;function ns(e){var n=++vO;return Ao(e)+n}function Sb(e,n){return e==null?!0:Eb(e,n)}const wi="{key}",Io={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.client.principal":{dataType:"object",writable:!1,readable:!0},"kong.client.principal.{key}":{dataType:"any",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},Zl=Object.keys(Io).filter(e=>e.includes(wi)).map(e=>e.replace(wi,""));function Hf(e){if(!e||!os(e))return;const n=Zl.find(r=>e.startsWith(r));if(n)return e.slice(n.length).replace(wi,"")}function rs(e){if(!e)return null;const n=Zl.find(r=>e.startsWith(r));return n||e}function os(e){return e?Zl.some(n=>e.startsWith(n)):!1}function Ab(e){return e?os(e)?rs(e)+wi:e:null}function Wf(e){if(!e)return!1;const n=Ab(e);return n?Io[n]?.readable??!1:!1}function Yf(e){if(!e)return!1;const n=Ab(e);return n?Io[n]?.writable??!1:!1}const Jf=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),Bn={KM_2262_CODE_MODE:"KM-2262-code-mode",KM_2306_CONDITION_FIELD_314:"KM-2306-condition-field-314",KM_2446_DATAKIT_JWT_NODES:"KM-2446-Datakit-JWT-nodes",KM_2503_CUSTOM_PLUGIN_FREEFORM:"KM-2503-custom-plugin-freeform",KM_2485_CLONED_PLUGINS:"KM-2485-cloned-plugins",KHCP_20393_IDENTITY_PRINCIPALS_UI:"khcp-20393-identity-principals-ui",KM_3034_FEATURES_316:"KM-3034-features-316"},xb=Symbol("TOASTER_PROVIDER"),Ci="__FREEFORM_SCHEMA_MAP__";function Ql(){const e=(...r)=>{console.warn("TOASTER_PROVIDER is not provided",...r)},n=t.inject(xb,e);return r=>n(r)}const Ib=["request","service_request","service_response","response","vault"],Ei=Ib,vb=["call","jq","exit","property","static","branch","cache","xml_to_json","json_to_xml","jwt_decode","jwt_sign","jwt_verify"],Tb=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],Xf=["EdDSA","ES256","ES384","ES512","HS256","HS384","HS512","PS256","PS384","PS512","RS256","RS384","RS512"],xe=(e,n)=>{const r=e.__vccOpts||e;for(const[o,i]of n)r[o]=i;return r},TO={},BO={height:"16",viewBox:"0 -960 960 960",width:"16",xmlns:"http://www.w3.org/2000/svg"};function OO(e,n){return t.openBlock(),t.createElementBlock("svg",BO,[...n[0]||(n[0]=[t.createElementVNode("path",{d:"M240-160h480v-400H240v400Zm296.5-143.5Q560-327 560-360t-23.5-56.5Q513-440 480-440t-56.5 23.5Q400-393 400-360t23.5 56.5Q447-280 480-280t56.5-23.5ZM240-160v-400 400Zm0 80q-33 0-56.5-23.5T160-160v-400q0-33 23.5-56.5T240-640h280v-80q0-83 58.5-141.5T720-920q83 0 141.5 58.5T920-720h-80q0-50-35-85t-85-35q-50 0-85 35t-35 85v80h120q33 0 56.5 23.5T800-560v400q0 33-23.5 56.5T720-80H240Z",fill:"currentColor"},null,-1)])])}const PO=xe(TO,[["render",OO]]),VO={},$O={height:"16",viewBox:"0 -960 960 960",width:"16",xmlns:"http://www.w3.org/2000/svg"};function RO(e,n){return t.openBlock(),t.createElementBlock("svg",$O,[...n[0]||(n[0]=[t.createElementVNode("path",{d:"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q65 0 123 19t107 53l-58 59q-38-24-81-37.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-18-2-36t-6-35l65-65q11 32 17 66t6 70q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm-56-216L254-466l56-56 114 114 400-401 56 56-456 457Z",fill:"currentColor"},null,-1)])])}const LO=xe(VO,[["render",RO]]),is=[{id:"external_interaction",colors:{foreground:YS,background:jS},nodes:[{type:"call",icon:Ne.NetworkIcon},{type:"cache",icon:Ne.CachedIcon}]},{id:"control_flow",colors:{foreground:GS,background:RS},nodes:[{type:"branch",icon:Ne.ArrowSplitIcon},{type:"exit",icon:Ne.GatewayIcon}]},{id:"data_transformation",colors:{foreground:Uy,background:LS},nodes:[{type:"jq",icon:Ne.CodeblockIcon},{type:"xml_to_json",icon:Ne.DataObjectIcon},{type:"json_to_xml",icon:Ne.CodeIcon}]},{id:"data_value",colors:{foreground:qy,background:WS},nodes:[{type:"property",icon:Ne.StackIcon},{type:"static",icon:Ne.DeployIcon}]},{id:"authentication",colors:{foreground:zS,background:HS},nodes:[{type:"jwt_sign",icon:Ne.EditSquareIcon},{type:"jwt_decode",icon:PO},{type:"jwt_verify",icon:LO}]}],DO=is.reduce((e,n)=>{for(const r of n.nodes)e[r.type]={icon:r.icon,colors:n.colors};return e},{}),Ni={vault:{icon:Ne.KeyIcon},request:{icon:Ne.CloudIcon},service_request:{icon:Ne.CloudIcon},service_response:{icon:Ne.CloudIcon},response:{icon:Ne.CloudIcon}};function MO(e){return is.find(({id:n})=>n===e).colors}function Zf(e){return DO[e]??Ni[e]}const{t:Qf}=Ft.createI18n("en-us",zt);function Si(e){return Qf(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function FO(e){return Qf(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function jO(e){return Qf(`plugins.free-form.datakit.flow_editor.node_panel.groups.${e}`)}const UO={call:{io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}}},jq:{io:{input:{fields:[],configurable:!0},output:{fields:[]}}},exit:{io:{input:{fields:[{name:"headers"},{name:"body"}]}}},property:{io:{input:{fields:[],configurable:!0},output:{fields:[]}}},static:{io:{output:{fields:[],configurable:!0}}},branch:{io:{input:{fields:[]},next:{branches:[{name:"then"},{name:"else"}]}}},cache:{io:{input:{fields:[{name:"data"},{name:"key"},{name:"ttl"}]},output:{fields:[{name:"data"},{name:"hit"},{name:"miss"},{name:"stored"}]}}},xml_to_json:{io:{input:{fields:[]},output:{fields:[]}}},json_to_xml:{io:{input:{fields:[],configurable:!0},output:{fields:[]}}},jwt_decode:{io:{input:{fields:[]},output:{fields:[{name:"header"},{name:"payload"},{name:"signature"}]}}},jwt_sign:{io:{input:{fields:[{name:"claims"},{name:"key"}]},output:{fields:[{name:"claims"},{name:"header"},{name:"token"}]}}},jwt_verify:{io:{input:{fields:[{name:"key"},{name:"token"}]},output:{fields:[{name:"claims"},{name:"header"}]}}}};function KO(e){return{id:e.id,title:jO(e.id),colors:MO(e.id),nodeTypes:e.nodes.map(({type:n})=>n)}}function qO(e,n){return{...UO[n.type],type:n.type,icon:n.icon,group:e.id,summary:FO(n.type),description:Si(n.type)}}const Bb=is.reduce((e,n)=>(e[n.id]=KO(n),e),{}),ec=is.reduce((e,n)=>{for(const r of n.nodes)e[r.type]=qO(n,r);return e},{}),Ob=is.map(e=>({...Bb[e.id],nodes:e.nodes.map(({type:n})=>ec[n])}));function GO(e){return Bb[e]}const tc={request:{type:"request",description:Si("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...Ni.request},service_request:{type:"service_request",description:Si("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...Ni.service_request},service_response:{type:"service_response",description:Si("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}},...Ni.service_response},response:{type:"response",description:Si("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...Ni.response},vault:{type:"vault",io:{output:{fields:[],configurable:!0}},...Ni.vault,hidden:!0}},ep=Object.keys(tc),tp=e=>ep.includes(e),zO=e=>[...ep,...vb].includes(e),hn=e=>ep.includes(e),nc=e=>hn(e.type),np=e=>!!e?.startsWith("node:"),as=e=>Object.prototype.hasOwnProperty.call(e,"ownerId");function Tr(e){return es(e)}function rp(e,n){if(e.length!==n.length)return!1;if(e.length===0)return!0;const r=new Set(n);return e.every(o=>r.has(o))}function Ai(e){return`${e}:${ns()}`}function rc(e){const[n,r]=e.split(".");return{nodeName:n,fieldName:r}}function Pb(e){const[n,r]=e.split(".");return{nodeId:n,fieldId:r}}function xi(e){return hn(e)?tc[e]:ec[e]}function Vb(e){const n=xi(e),r=n.io?.input?.fields.map(({name:i})=>i)??[],o=n.io?.output?.fields.map(({name:i})=>i)??[];return{input:r,output:o}}function ss(e){return xi(e).io?.next?.branches?.map(({name:r})=>r)??[]}function $b(e){return(e??[]).map(n=>({id:Ai("field"),name:n}))}function to(e,n,r){if(r)return e.fields[n].find(o=>o.name===r)}function no(e,n,r){if(r)return e.fields[n].find(o=>o.id===r)}function op(e,n){return n?e.fields.output.some(r=>r.id===n):!0}function Rb(e,n){return n?e.fields.input.some(r=>r.id===n):!0}function HO(e){const n=["request","service_request","vault"].includes(e)?"request":"response",r=tc[e];return{name:e,phase:n,position:{x:0,y:0},fields:Vb(r.type),expanded:{},hidden:r.hidden}}function Lb(e,n){const o=(typeof e=="string"&&zO(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${o}_${i}`;if(!n.has(a))return a}}function ip(e,n){return`${e}:${n}`}function WO(e){const n=e.lastIndexOf(":");if(n===-1)throw new Error(`Invalid group ID format: ${e}`);const r=e.slice(0,n),o=e.slice(n+1);return{nodeId:r,branch:o}}function oc(e,n){return`${e}:${n}`}function Db(e,n,r,o,i){return{id:ip(e,n),ownerId:e,branch:n,phase:r,memberIds:[...o],position:i?.position?{...i.position}:void 0,dimensions:i?.dimensions?{...i.dimensions}:void 0}}function ic(e,n,r){const o=n?no(e,r,n):void 0;return`${e.name}${o?`.${o.name}`:""}`}function ls(e,n){const r=n(e.source),o=n(e.target);return[ic(r,e.sourceField,"output"),ic(o,e.targetField,"input")]}function ap(e,n,r,o,i){const a=i(e),s=i(r);return[ic(a,n,"output"),ic(s,o,"input")]}function Mb(e){if(e.length===0)throw new Error("getBoundingRect requires at least one rect");let n=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;for(const{x:a,y:s,width:l,height:c}of e){if(![a,s,l,c].every(Number.isFinite))throw new Error("Rect values must be finite numbers");if(l<0||c<0)throw new RangeError("Rect width and height must be non-negative");const d=a+l,u=s+c;if(!Number.isFinite(d)||!Number.isFinite(u))throw new RangeError("Rect boundaries must be finite numbers");a<n&&(n=a),s<r&&(r=s),d>o&&(o=d),u>i&&(i=u)}return{x:n,y:r,width:o-n,height:i-r}}var Fb=Object.defineProperty,YO=(e,n,r)=>n in e?Fb(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,JO=(e,n)=>{for(var r in n)Fb(e,r,{get:n[r],enumerable:!0})},XO=(e,n,r)=>YO(e,n+"",r),jb={};JO(jb,{Graph:()=>dr,alg:()=>cp});var ZO=Object.defineProperty,Ub=(e,n)=>{for(var r in n)ZO(e,r,{get:n[r],enumerable:!0})},sp=class{constructor(n){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},n&&(this._isDirected="directed"in n?n.directed:!0,this._isMultigraph="multigraph"in n?n.multigraph:!1,this._isCompound="compound"in n?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return typeof n!="function"?this._defaultNodeLabelFn=()=>n:this._defaultNodeLabelFn=n,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(n=>Object.keys(this._in[n]).length===0)}sinks(){return this.nodes().filter(n=>Object.keys(this._out[n]).length===0)}setNodes(n,r){return n.forEach(o=>{r!==void 0?this.setNode(o,r):this.setNode(o)}),this}setNode(n,r){return n in this._nodes?(arguments.length>1&&(this._nodes[n]=r),this):(this._nodes[n]=arguments.length>1?r:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]="\0",this._children[n]={},this._children["\0"][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return n in this._nodes}removeNode(n){if(n in this._nodes){let r=o=>this.removeEdge(this._edgeObjs[o]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(o=>{this.setParent(o)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r===void 0)r="\0";else{r+="";for(let o=r;o!==void 0;o=this.parent(o))if(o===n)throw new Error("Setting "+r+" as parent of "+n+" would create a cycle");this.setNode(r)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=r,this._children[r][n]=!0,this}parent(n){if(this._isCompound){let r=this._parent[n];if(r!=="\0")return r}}children(n="\0"){if(this._isCompound){let r=this._children[n];if(r)return Object.keys(r)}else{if(n==="\0")return this.nodes();if(this.hasNode(n))return[]}return[]}predecessors(n){let r=this._preds[n];if(r)return Object.keys(r)}successors(n){let r=this._sucs[n];if(r)return Object.keys(r)}neighbors(n){let r=this.predecessors(n);if(r){let o=new Set(r),i=this.successors(n);if(i)for(let a of i)o.add(a);return Array.from(o.values())}}isLeaf(n){var r;let o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),((r=o?.length)!=null?r:0)===0}filterNodes(n){let r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph()),Object.entries(this._nodes).forEach(([a,s])=>{n(a)&&r.setNode(a,s)}),Object.values(this._edgeObjs).forEach(a=>{r.hasNode(a.v)&&r.hasNode(a.w)&&r.setEdge(a,this.edge(a))});let o={},i=a=>{let s=this.parent(a);return!s||r.hasNode(s)?(o[a]=s,s):s in o?o[s]:i(s)};return this._isCompound&&r.nodes().forEach(a=>r.setParent(a,i(a))),r}setDefaultEdgeLabel(n){return typeof n!="function"?this._defaultEdgeLabelFn=()=>n:this._defaultEdgeLabelFn=n,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,r){return n.reduce((o,i)=>(r!==void 0?this.setEdge(o,i,r):this.setEdge(o,i),i)),this}setEdge(n,r,o,i){let a,s,l,c,d=!1;typeof n=="object"&&n!==null&&"v"in n?(a=n.v,s=n.w,l=n.name,arguments.length===2&&(c=r,d=!0)):(a=n,s=r,l=i,arguments.length>2&&(c=o,d=!0)),a=""+a,s=""+s,l!==void 0&&(l=""+l);let u=cs(this._isDirected,a,s,l);if(u in this._edgeLabels)return d&&(this._edgeLabels[u]=c),this;if(l!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(s),this._edgeLabels[u]=d?c:this._defaultEdgeLabelFn(a,s,l);let f=QO(this._isDirected,a,s,l);return a=f.v,s=f.w,Object.freeze(f),this._edgeObjs[u]=f,Kb(this._preds[s],a),Kb(this._sucs[a],s),this._in[s][u]=f,this._out[a][u]=f,this._edgeCount++,this}edge(n,r,o){let i=arguments.length===1?lp(this._isDirected,n):cs(this._isDirected,n,r,o);return this._edgeLabels[i]}edgeAsObj(n,r,o){let i=arguments.length===1?this.edge(n):this.edge(n,r,o);return typeof i!="object"||i===null?{label:i}:i}hasEdge(n,r,o){return(arguments.length===1?lp(this._isDirected,n):cs(this._isDirected,n,r,o))in this._edgeLabels}removeEdge(n,r,o){let i=arguments.length===1?lp(this._isDirected,n):cs(this._isDirected,n,r,o),a=this._edgeObjs[i];if(a){let s=a.v,l=a.w;delete this._edgeLabels[i],delete this._edgeObjs[i],qb(this._preds[l],s),qb(this._sucs[s],l),delete this._in[l][i],delete this._out[s][i],this._edgeCount--}return this}inEdges(n,r){return this.isDirected()?this.filterEdges(this._in[n],n,r):this.nodeEdges(n,r)}outEdges(n,r){return this.isDirected()?this.filterEdges(this._out[n],n,r):this.nodeEdges(n,r)}nodeEdges(n,r){if(n in this._nodes)return this.filterEdges({...this._in[n],...this._out[n]},n,r)}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}filterEdges(n,r,o){if(!n)return;let i=Object.values(n);return o?i.filter(a=>a.v===r&&a.w===o||a.v===o&&a.w===r):i}};function Kb(e,n){e[n]?e[n]++:e[n]=1}function qb(e,n){e[n]!==void 0&&!--e[n]&&delete e[n]}function cs(e,n,r,o){let i=""+n,a=""+r;if(!e&&i>a){let s=i;i=a,a=s}return i+""+a+""+(o===void 0?"\0":o)}function QO(e,n,r,o){let i=""+n,a=""+r;if(!e&&i>a){let l=i;i=a,a=l}let s={v:i,w:a};return o&&(s.name=o),s}function lp(e,n){return cs(e,n.v,n.w,n.name)}var eP={};Ub(eP,{read:()=>oP,write:()=>tP});function tP(e){let n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:nP(e),edges:rP(e)},r=e.graph();return r!==void 0&&(n.value=structuredClone(r)),n}function nP(e){return e.nodes().map(n=>{let r=e.node(n),o=e.parent(n),i={v:n};return r!==void 0&&(i.value=r),o!==void 0&&(i.parent=o),i})}function rP(e){return e.edges().map(n=>{let r=e.edge(n),o={v:n.v,w:n.w};return n.name!==void 0&&(o.name=n.name),r!==void 0&&(o.value=r),o})}function oP(e){let n=new sp(e.options);return e.value!==void 0&&n.setGraph(e.value),e.nodes.forEach(r=>{n.setNode(r.v,r.value),r.parent&&n.setParent(r.v,r.parent)}),e.edges.forEach(r=>{n.setEdge({v:r.v,w:r.w,name:r.name},r.value)}),n}var cp={};Ub(cp,{CycleException:()=>sc,bellmanFord:()=>Gb,components:()=>sP,dijkstra:()=>ac,dijkstraAll:()=>dP,findCycles:()=>uP,floydWarshall:()=>pP,isAcyclic:()=>gP,postorder:()=>yP,preorder:()=>_P,prim:()=>bP,shortestPaths:()=>kP,tarjan:()=>Hb,topsort:()=>Wb});var iP=()=>1;function Gb(e,n,r,o){return aP(e,String(n),r||iP,o||function(i){var a;return(a=e.outEdges(i))!=null?a:[]})}function aP(e,n,r,o){let i={},a,s=0,l=e.nodes(),c=function(f){let p=i[f.v],m=i[f.w];if(!p||!m)return;let h=r(f);p.distance+h<m.distance&&(i[f.w]={distance:p.distance+h,predecessor:f.v},a=!0)},d=function(){l.forEach(function(f){o(f).forEach(function(p){let m=p.v===f?p.v:p.w,h=m===p.v?p.w:p.v;c({v:m,w:h})})})};l.forEach(function(f){let p=f===n?0:Number.POSITIVE_INFINITY;i[f]={distance:p,predecessor:""}});let u=l.length;for(let f=1;f<u&&(a=!1,s++,d(),!!a);f++);if(s===u-1&&(a=!1,d(),a))throw new Error("The graph contains a negative weight cycle");return i}function sP(e){let n={},r=[],o;function i(a){var s,l;a in n||(n[a]=!0,o.push(a),(s=e.successors(a))==null||s.forEach(i),(l=e.predecessors(a))==null||l.forEach(i))}return e.nodes().forEach(function(a){o=[],i(a),o.length&&r.push(o)}),r}var zb=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(n=>n.key)}has(n){return n in this._keyIndices}priority(n){let r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){let o=this._keyIndices,i=String(n);if(!(i in o)){let a=this._arr,s=a.length;return o[i]=s,a.push({key:i,priority:r}),this._decrease(s),!0}return!1}removeMin(){if(this.size()===0)throw new Error("Queue underflow");this._swap(0,this._arr.length-1);let n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){let o=this._keyIndices[n];if(o===void 0)throw new Error(`Key not found: ${n}`);let i=this._arr[o].priority;if(r>i)throw new Error(`New priority is greater than current priority. Key: ${n} Old: ${i} New: ${r}`);this._arr[o].priority=r,this._decrease(o)}_heapify(n){let r=this._arr,o=2*n,i=o+1,a=n;o<r.length&&(a=r[o].priority<r[a].priority?o:a,i<r.length&&(a=r[i].priority<r[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){let r=this._arr,o=r[n].priority,i;for(;n!==0&&(i=n>>1,!(r[i].priority<o));)this._swap(n,i),n=i}_swap(n,r){let o=this._arr,i=this._keyIndices,a=o[n],s=o[r];o[n]=s,o[r]=a,i[s.key]=n,i[a.key]=r}},lP=()=>1;function ac(e,n,r,o){let i=function(a){var s;return(s=e.outEdges(a))!=null?s:[]};return cP(e,String(n),r||lP,o||i)}function cP(e,n,r,o){let i={},a=new zb,s,l,c=function(d){let u=d.v!==s?d.v:d.w,f=i[u];if(!f)return;let p=r(d),m=l.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+p);m<f.distance&&(f.distance=m,f.predecessor=s,a.decrease(u,m))};for(e.nodes().forEach(function(d){let u=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:u,predecessor:""},a.add(d,u)});a.size()>0;){s=a.removeMin();let d=i[s];if(!d||d.distance===Number.POSITIVE_INFINITY)break;l=d,o(s).forEach(c)}return i}function dP(e,n,r){return e.nodes().reduce(function(o,i){return o[i]=ac(e,i,n,r),o},{})}function Hb(e){let n=0,r=[],o={},i=[];function a(s){var l;let c=o[s]={onStack:!0,lowlink:n,index:n++};if(r.push(s),(l=e.successors(s))==null||l.forEach(function(d){if(d in o){let u=o[d];u!=null&&u.onStack&&(c.lowlink=Math.min(c.lowlink,u.index))}else{a(d);let u=o[d];u&&(c.lowlink=Math.min(c.lowlink,u.lowlink))}}),c.lowlink===c.index){let d=[],u;do{u=r.pop();let f=o[u];f&&(f.onStack=!1),d.push(u)}while(s!==u);i.push(d)}}return e.nodes().forEach(function(s){s in o||a(s)}),i}function uP(e){return Hb(e).filter(function(n){var r;let o=n[0];return o?n.length>1||n.length===1&&((r=e.outEdges(o,o))!=null?r:[]).length>0:!1})}var fP=()=>1;function pP(e,n,r){return mP(e,n||fP,r||function(o){var i;return(i=e.outEdges(o))!=null?i:[]})}function mP(e,n,r){let o={},i=e.nodes();return i.forEach(function(a){let s={};o[a]=s,s[a]={distance:0,predecessor:""},i.forEach(function(l){a!==l&&(s[l]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),r(a).forEach(function(l){let c=l.v===a?l.w:l.v,d=n(l);s[c]={distance:d,predecessor:a}})}),i.forEach(function(a){let s=o[a];s&&i.forEach(function(l){let c=o[l];c&&i.forEach(function(d){let u=c[a],f=s[d],p=c[d];if(u&&f&&p){let m=u.distance+f.distance;m<p.distance&&(p.distance=m,p.predecessor=f.predecessor)}})})}),o}var sc=class extends Error{constructor(n){super(n),this.name="CycleException"}};function Wb(e){let n={},r={},o=[];function i(a){var s;if(a in r)throw new sc;a in n||(r[a]=!0,n[a]=!0,(s=e.predecessors(a))==null||s.forEach(i),delete r[a],o.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new sc;return o}function gP(e){try{Wb(e)}catch(n){if(n instanceof sc)return!1;throw n}return!0}function hP(e,n,r,o,i){Array.isArray(n)||(n=[n]);let a=(l=>{var c;return(c=e.isDirected()?e.successors(l):e.neighbors(l))!=null?c:[]}),s={};return n.forEach(function(l){if(!e.hasNode(l))throw new Error("Graph does not have node: "+l);i=Yb(e,l,r==="post",s,a,o,i)}),i}function Yb(e,n,r,o,i,a,s){return n in o||(o[n]=!0,r||(s=a(s,n)),i(n).forEach(function(l){s=Yb(e,l,r,o,i,a,s)}),r&&(s=a(s,n))),s}function Jb(e,n,r){return hP(e,n,r,function(o,i){return o.push(i),o},[])}function yP(e,n){return Jb(e,n,"post")}function _P(e,n){return Jb(e,n,"pre")}function bP(e,n){var r;let o=new sp,i={},a=new zb,s;function l(u){let f=u.v===s?u.w:u.v,p=a.priority(f);if(p!==void 0){let m=n(u);m<p&&(i[f]=s,a.decrease(f,m))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(u){a.add(u,Number.POSITIVE_INFINITY),o.setNode(u)});let c=e.nodes()[0];c!==void 0&&a.decrease(c,0);let d=!1;for(;a.size()>0;){if(s=a.removeMin(),s in i)o.setEdge(s,i[s]);else{if(d)throw new Error("Input graph is not connected: "+e);d=!0}(r=e.nodeEdges(s))==null||r.forEach(l)}return o}function kP(e,n,r,o){return wP(e,n,r,o??(i=>{var a;return(a=e.outEdges(i))!=null?a:[]}))}function wP(e,n,r,o){if(r===void 0)return ac(e,n,r,o);let i=!1,a=e.nodes();for(let s=0;s<a.length;s++){let l=a[s];if(l===void 0)continue;let c=o(l);for(let d=0;d<c.length;d++){let u=c[d];if(!u)continue;let f=u.v===l?u.v:u.w,p=f===u.v?u.w:u.v;r({v:f,w:p})<0&&(i=!0)}if(i)return Gb(e,n,r,o)}return ac(e,n,r,o)}var dr=sp;function Ii(e,n,r,o){let i=o;for(;e.hasNode(i);)i=dp(o);return r.dummy=n,e.setNode(i,r),i}function CP(e){let n=new dr().setGraph(e.graph());return e.nodes().forEach(r=>n.setNode(r,e.node(r))),e.edges().forEach(r=>{let o=n.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);n.setEdge(r.v,r.w,{weight:o.weight+i.weight,minlen:Math.max(o.minlen,i.minlen)})}),n}function Xb(e){let n=new dr({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(r=>{e.children(r).length||n.setNode(r,e.node(r))}),e.edges().forEach(r=>{n.setEdge(r,e.edge(r))}),n}function Zb(e,n){let r=e.x,o=e.y,i=n.x-r,a=n.y-o,s=e.width/2,l=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),c=l*i/a,d=l):(i<0&&(s=-s),c=s,d=s*a/i),{x:r+c,y:o+d}}function lc(e){let n=ds(tk(e)+1).map(()=>[]);return e.nodes().forEach(r=>{let o=e.node(r),i=o.rank;i!==void 0&&(n[i]||(n[i]=[]),n[i][o.order]=r)}),n}function EP(e){let n=e.nodes().map(o=>{let i=e.node(o).rank;return i===void 0?Number.MAX_VALUE:i}),r=ur(Math.min,n);e.nodes().forEach(o=>{let i=e.node(o);Object.hasOwn(i,"rank")&&(i.rank-=r)})}function NP(e){let n=e.nodes().map(s=>e.node(s).rank).filter(s=>s!==void 0),r=ur(Math.min,n),o=[];e.nodes().forEach(s=>{let l=e.node(s).rank-r;o[l]||(o[l]=[]),o[l].push(s)});let i=0,a=e.graph().nodeRankFactor;Array.from(o).forEach((s,l)=>{s===void 0&&l%a!==0?--i:s!==void 0&&i&&s.forEach(c=>e.node(c).rank+=i)})}function Qb(e,n,r,o){let i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=o),Ii(e,"border",i,n)}function SP(e,n=ek){let r=[];for(let o=0;o<e.length;o+=n){let i=e.slice(o,o+n);r.push(i)}return r}var ek=65535;function ur(e,n){if(n.length>ek){let r=SP(n);return e(...r.map(o=>e(...o)))}else return e(...n)}function tk(e){let n=e.nodes().map(r=>{let o=e.node(r).rank;return o===void 0?Number.MIN_VALUE:o});return ur(Math.max,n)}function AP(e,n){let r={lhs:[],rhs:[]};return e.forEach(o=>{n(o)?r.lhs.push(o):r.rhs.push(o)}),r}function xP(e,n){return n()}var IP=0;function dp(e){let n=++IP;return e+(""+n)}function ds(e,n,r=1){n==null&&(n=e,e=0);let o=a=>a<n;r<0&&(o=a=>n<a);let i=[];for(let a=e;o(a);a+=r)i.push(a);return i}function cc(e,n){let r={};for(let o of n)e[o]!==void 0&&(r[o]=e[o]);return r}function dc(e,n){let r;return typeof n=="string"?r=o=>o[n]:r=n,Object.entries(e).reduce((o,[i,a])=>(o[i]=r(a,i),o),{})}function vP(e,n){return e.reduce((r,o,i)=>(r[o]=n[i],r),{})}var uc="\0";function nk(e,n,r){var o,i,a,s,l,c;if(!(e&&n&&r&&n.dummy==="edge"&&r.dummy==="edge"&&n.edgeObj&&r.edgeObj&&e[n.edgeObj.v]&&e[r.edgeObj.v]&&e[n.edgeObj.w]&&e[r.edgeObj.w]))return 0;let d=!0;n.edgeObj.w===r.edgeObj.w&&(d=!1);let u=d?(i=(o=e[n.edgeObj.v])==null?void 0:o.rank)!=null?i:NaN+1:(s=(a=e[n.edgeObj.w])==null?void 0:a.rank)!=null?s:NaN-1,f=Object.entries(e).find(y=>{var g,_;return((g=y[1].edgeObj)==null?void 0:g.v)===n.edgeObj.v&&((_=y[1].edgeObj)==null?void 0:_.w)===n.edgeObj.w&&y[1].rank===u}),p=Object.entries(e).find(y=>{var g,_;return((g=y[1].edgeObj)==null?void 0:g.v)===r.edgeObj.v&&((_=y[1].edgeObj)==null?void 0:_.w)===r.edgeObj.w&&y[1].rank===u});if(!f||!p)return 0;let m=(l=f[1].order)!=null?l:NaN,h=(c=p[1].order)!=null?c:NaN;return isNaN(m-h)?0:m-h}var TP=class{constructor(){XO(this,"_sentinel");let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,r=n._prev;if(r!==n)return rk(r),r}enqueue(n){let r=this._sentinel;n._prev&&n._next&&rk(n),n._next=r._next,r._next._prev=n,r._next=n,n._prev=r}toString(){let n=[],r=this._sentinel,o=r._prev;for(;o!==r;)n.push(JSON.stringify(o,BP)),o=o._prev;return"["+n.join(", ")+"]"}};function rk(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function BP(e,n){if(e!=="_next"&&e!=="_prev")return n}var OP=TP,PP=()=>1;function VP(e,n){if(e.nodeCount()<=1)return[];let r=RP(e,n||PP);return $P(r.graph,r.buckets,r.zeroIdx).flatMap(o=>e.outEdges(o.v,o.w)||[])}function $P(e,n,r){var o;let i=[],a=n[n.length-1],s=n[0],l;for(;e.nodeCount();){for(;l=s.dequeue();)up(e,n,r,l);for(;l=a.dequeue();)up(e,n,r,l);if(e.nodeCount()){for(let c=n.length-2;c>0;--c)if(l=(o=n[c])==null?void 0:o.dequeue(),l){i=i.concat(up(e,n,r,l,!0)||[]);break}}}return i}function up(e,n,r,o,i){let a=[],s=i?a:void 0;return(e.inEdges(o.v)||[]).forEach(l=>{let c=e.edge(l),d=e.node(l.v);i&&a.push({v:l.v,w:l.w}),d.out-=c,fp(n,r,d)}),(e.outEdges(o.v)||[]).forEach(l=>{let c=e.edge(l),d=l.w,u=e.node(d);u.in-=c,fp(n,r,u)}),e.removeNode(o.v),s}function RP(e,n){let r=new dr,o=0,i=0;e.nodes().forEach(l=>{r.setNode(l,{v:l,in:0,out:0})}),e.edges().forEach(l=>{let c=r.edge(l.v,l.w)||0,d=n(l),u=c+d;r.setEdge(l.v,l.w,u);let f=r.node(l.v),p=r.node(l.w);i=Math.max(i,f.out+=d),o=Math.max(o,p.in+=d)});let a=LP(i+o+3).map(()=>new OP),s=o+1;return r.nodes().forEach(l=>{fp(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function fp(e,n,r){var o,i,a;r.out?r.in?(a=e[r.out-r.in+n])==null||a.enqueue(r):(i=e[e.length-1])==null||i.enqueue(r):(o=e[0])==null||o.enqueue(r)}function LP(e){let n=[];for(let r=0;r<e;r++)n.push(r);return n}function DP(e,n){(e.graph().acyclicer==="greedy"?VP(e,r(e)):MP(e,n??null)).forEach(o=>{let i=e.edge(o);e.removeEdge(o),i.forwardName=o.name,i.reversed=!0,e.setEdge(o.w,o.v,i,dp("rev"))});function r(o){return i=>o.edge(i).weight}}function MP(e,n){let r=[],o={},i={};function a(c){Object.hasOwn(i,c)||(i[c]=!0,o[c]=!0,e.outEdges(c).forEach(d=>{Object.hasOwn(o,d.w)?r.push(d):a(d.w)}),delete o[c])}function s(c){var d;Object.hasOwn(i,c)||(i[c]=!0,o[c]=!0,(d=e.outEdges(c))==null||d.forEach(u=>{var f,p;Object.hasOwn(o,u.w)||((f=n.node(c))==null?void 0:f.rank)>((p=n.node(u.w))==null?void 0:p.rank)&&jP(e,u.w,u)?r.push(u):s(u.w)}),delete o[c])}let l=a;return n&&typeof n.node=="function"&&(l=s),e.sources().forEach(l),e.nodes().forEach(l),r}function FP(e){e.edges().forEach(n=>{let r=e.edge(n);if(r.reversed){e.removeEdge(n);let o=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,o)}})}function jP(e,n,r){let o=new Set;function i(a){var s;if(e.sources().includes(a))return!0;o.add(a);for(let l of(s=e.inEdges(a))!=null?s:[])if(!(l.v===r.v&&l.w===r.w)&&!o.has(l.v)&&i(l.v))return!0;return!1}return i(n)}function UP(e){e.graph().dummyChains=[],e.edges().forEach(n=>KP(e,n))}function KP(e,n){let r=n.v,o=e.node(r).rank,i=n.w,a=e.node(i).rank,s=n.name,l=e.edge(n),c=l.labelRank;if(a===o+1)return;e.removeEdge(n);let d,u,f;for(f=0,++o;o<a;++f,++o)l.points=[],u={width:0,height:0,edgeLabel:l,edgeObj:n,rank:o},d=Ii(e,"edge",u,"_d"),o===c&&(u.width=l.width,u.height=l.height,u.dummy="edge-label",u.labelpos=l.labelpos),e.setEdge(r,d,{weight:l.weight},s),f===0&&e.graph().dummyChains.push(d),r=d;e.setEdge(r,i,{weight:l.weight},s)}function qP(e){e.graph().dummyChains.forEach(n=>{let r=e.node(n),o=r.edgeLabel,i;for(e.setEdge(r.edgeObj,o);r.dummy;)i=e.successors(n)[0],e.removeNode(n),o.points.push({x:r.x,y:r.y}),r.dummy==="edge-label"&&(o.x=r.x,o.y=r.y,o.width=r.width,o.height=r.height),n=i,r=e.node(n)})}function pp(e){let n={};function r(o){let i=e.node(o);if(Object.hasOwn(n,o))return i.rank;n[o]=!0;let a=e.outEdges(o),s=a?a.map(c=>c==null?Number.POSITIVE_INFINITY:r(c.w)-e.edge(c).minlen):[],l=ur(Math.min,s);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(r)}function vi(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var ok=GP;function GP(e){let n=new dr({directed:!1}),r=e.nodes();if(r.length===0)throw new Error("Graph must have at least one node");let o=r[0],i=e.nodeCount();n.setNode(o,{});let a,s;for(;zP(n,e)<i&&(a=HP(n,e),!!a);)s=n.hasNode(a.v)?vi(e,a):-vi(e,a),WP(n,e,s);return n}function zP(e,n){function r(o){let i=n.nodeEdges(o);i&&i.forEach(a=>{let s=a.v,l=o===s?a.w:s;!e.hasNode(l)&&!vi(n,a)&&(e.setNode(l,{}),e.setEdge(o,l,{}),r(l))})}return e.nodes().forEach(r),e.nodeCount()}function HP(e,n){return n.edges().reduce((r,o)=>{let i=Number.POSITIVE_INFINITY;return e.hasNode(o.v)!==e.hasNode(o.w)&&(i=vi(n,o)),i<r[0]?[i,o]:r},[Number.POSITIVE_INFINITY,null])[1]}function WP(e,n,r){e.nodes().forEach(o=>n.node(o).rank+=r)}var{preorder:YP,postorder:JP}=cp,XP=vo;vo.initLowLimValues=gp,vo.initCutValues=mp,vo.calcCutValue=ik,vo.leaveEdge=sk,vo.enterEdge=lk,vo.exchangeEdges=ck;function vo(e){e=CP(e),pp(e);let n=ok(e);gp(n),mp(n,e);let r,o;for(;r=sk(n);)o=lk(n,e,r),ck(n,e,r,o)}function mp(e,n){let r=JP(e,e.nodes());r=r.slice(0,r.length-1),r.forEach(o=>ZP(e,n,o))}function ZP(e,n,r){let o=e.node(r).parent,i=e.edge(r,o);i.cutvalue=ik(e,n,r)}function ik(e,n,r){let o=e.node(r).parent,i=!0,a=n.edge(r,o),s=0;a||(i=!1,a=n.edge(o,r)),s=a.weight;let l=n.nodeEdges(r);return l&&l.forEach(c=>{let d=c.v===r,u=d?c.w:c.v;if(u!==o){let f=d===i,p=n.edge(c).weight;if(s+=f?p:-p,eV(e,r,u)){let m=e.edge(r,u).cutvalue;s+=f?-m:m}}}),s}function gp(e,n){arguments.length<2&&(n=e.nodes()[0]),ak(e,{},1,n)}function ak(e,n,r,o,i){let a=r,s=e.node(o);n[o]=!0;let l=e.neighbors(o);return l&&l.forEach(c=>{Object.hasOwn(n,c)||(r=ak(e,n,r,c,o))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function sk(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function lk(e,n,r){let o=r.v,i=r.w;n.hasEdge(o,i)||(o=r.w,i=r.v);let a=e.node(o),s=e.node(i),l=a,c=!1;return a.lim>s.lim&&(l=s,c=!0),n.edges().filter(d=>c===dk(e,e.node(d.v),l)&&c!==dk(e,e.node(d.w),l)).reduce((d,u)=>vi(n,u)<vi(n,d)?u:d)}function ck(e,n,r,o){let i=r.v,a=r.w;e.removeEdge(i,a),e.setEdge(o.v,o.w,{}),gp(e),mp(e,n),QP(e,n)}function QP(e,n){let r=e.nodes().find(i=>!e.node(i).parent);if(!r)return;let o=YP(e,[r]);o=o.slice(1),o.forEach(i=>{let a=e.node(i).parent,s=n.edge(i,a),l=!1;s||(s=n.edge(a,i),l=!0),n.node(i).rank=n.node(a).rank+(l?s.minlen:-s.minlen)})}function eV(e,n,r){return e.hasEdge(n,r)}function dk(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}var tV=nV;function nV(e){let n=e.graph().ranker;if(typeof n=="function")return n(e);switch(n){case"network-simplex":uk(e);break;case"tight-tree":oV(e);break;case"longest-path":rV(e);break;case"none":break;default:uk(e)}}var rV=pp;function oV(e){pp(e),ok(e)}function uk(e){XP(e)}var iV=aV;function aV(e){let n=lV(e),r=e.graph();Array.isArray(r.dummyChains)&&r.dummyChains.forEach(o=>{let i=e.node(o),a=i.edgeObj,s=sV(e,n,a.v,a.w),l=s.path,c=s.lca,d=0,u=l[d],f=!0;for(;o!==a.w;){if(i=e.node(o),f){for(;(u=l[d])!==c&&e.node(u).maxRank<i.rank;)d++;u===c&&(f=!1)}if(!f){for(;d<l.length-1&&e.node(l[d+1]).minRank<=i.rank;)d++;u=l[d]}u!==void 0&&e.setParent(o,u),o=e.successors(o)[0]}})}function sV(e,n,r,o){let i=[],a=[],s=Math.min(n[r].low,n[o].low),l=Math.max(n[r].lim,n[o].lim),c;c=r;do c=e.parent(c),i.push(c);while(c&&(n[c].low>s||l>n[c].lim));let d=c,u=o;for(;(u=e.parent(u))!==d;)a.push(u);return{path:i.concat(a.reverse()),lca:d}}function lV(e){let n={},r=0;function o(i){let a=r;e.children(i).forEach(o),n[i]={low:a,lim:r++}}return e.children(uc).forEach(o),n}function cV(e){let n=Ii(e,"root",{},"_root"),r=dV(e),o=Object.values(r),i=ur(Math.max,o)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(l=>e.edge(l).minlen*=a);let s=uV(e)+1;e.children(uc).forEach(l=>{fk(e,n,a,s,i,r,l)}),e.graph().nodeRankFactor=a}function fk(e,n,r,o,i,a,s){var l;let c=e.children(s);if(!c.length){s!==n&&e.setEdge(n,s,{weight:0,minlen:r});return}let d=Qb(e,"_bt"),u=Qb(e,"_bb"),f=e.node(s);e.setParent(d,s),f.borderTop=d,e.setParent(u,s),f.borderBottom=u,c.forEach(p=>{var m;fk(e,n,r,o,i,a,p);let h=e.node(p),y=h.borderTop?h.borderTop:p,g=h.borderBottom?h.borderBottom:p,_=h.borderTop?o:2*o,k=y!==g?1:i-((m=a[s])!=null?m:0)+1;e.setEdge(d,y,{weight:_,minlen:k,nestingEdge:!0}),e.setEdge(g,u,{weight:_,minlen:k,nestingEdge:!0})}),e.parent(s)||e.setEdge(n,d,{weight:0,minlen:i+((l=a[s])!=null?l:0)})}function dV(e){let n={};function r(o,i){let a=e.children(o);a&&a.length&&a.forEach(s=>r(s,i+1)),n[o]=i}return e.children(uc).forEach(o=>r(o,1)),n}function uV(e){return e.edges().reduce((n,r)=>n+e.edge(r).weight,0)}function fV(e){let n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(r=>{e.edge(r).nestingEdge&&e.removeEdge(r)})}var pV=mV;function mV(e){function n(r){let o=e.children(r),i=e.node(r);if(o.length&&o.forEach(n),i&&Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,s=i.maxRank+1;a<s;++a)pk(e,"borderLeft","_bl",r,i,a),pk(e,"borderRight","_br",r,i,a)}}e.children(uc).forEach(n)}function pk(e,n,r,o,i,a){let s={width:0,height:0,rank:a,borderType:n},l=i[n][a-1],c=Ii(e,"border",s,r);i[n][a]=c,e.setParent(c,o),l&&e.setEdge(l,c,{weight:1})}function gV(e){var n;let r=(n=e.graph().rankdir)==null?void 0:n.toLowerCase();(r==="lr"||r==="rl")&&mk(e)}function hV(e){var n;let r=(n=e.graph().rankdir)==null?void 0:n.toLowerCase();(r==="bt"||r==="rl")&&yV(e),(r==="lr"||r==="rl")&&(_V(e),mk(e))}function mk(e){e.nodes().forEach(n=>gk(e.node(n))),e.edges().forEach(n=>gk(e.edge(n)))}function gk(e){let n=e.width;e.width=e.height,e.height=n}function yV(e){e.nodes().forEach(n=>hp(e.node(n))),e.edges().forEach(n=>{var r;let o=e.edge(n);(r=o.points)==null||r.forEach(hp),Object.hasOwn(o,"y")&&hp(o)})}function hp(e){e.y=-e.y}function _V(e){e.nodes().forEach(n=>yp(e.node(n))),e.edges().forEach(n=>{var r;let o=e.edge(n);(r=o.points)==null||r.forEach(yp),Object.hasOwn(o,"x")&&yp(o)})}function yp(e){let n=e.x;e.x=e.y,e.y=n}function bV(e,n=null){let r={},o=e.nodes().filter(d=>!e.children(d).length),i=o.map(d=>e.node(d).rank),a=ur(Math.max,i),s=ds(a+1).map(()=>[]);function l(d){if(r[d])return;r[d]=!0;let u=e.node(d);s[u.rank].push(d);let f=e.successors(d);f&&[...f].sort((p,m)=>c(p,m)).forEach(l)}o.sort((d,u)=>e.node(d).rank-e.node(u).rank).forEach(l);function c(d,u){let f=e.node(d),p=e.node(u);return nk(n,f,p)}return s}function kV(e,n){let r=0;for(let o=1;o<n.length;++o)r+=wV(e,n[o-1],n[o]);return r}function wV(e,n,r){let o=vP(r,r.map((d,u)=>u)),i=n.flatMap(d=>{let u=e.outEdges(d);return u?u.map(f=>({pos:o[f.w],weight:e.edge(f).weight})).sort((f,p)=>f.pos-p.pos):[]}),a=1;for(;a<r.length;)a<<=1;let s=2*a-1;a-=1;let l=new Array(s).fill(0),c=0;return i.forEach(d=>{let u=d.pos+a;l[u]+=d.weight;let f=0;for(;u>0;)u%2&&(f+=l[u+1]),u=u-1>>1,l[u]+=d.weight;c+=d.weight*f}),c}function CV(e,n=[]){return n.map(r=>{let o=e.inEdges(r);if(!o||!o.length)return{v:r};{let i=o.reduce((a,s)=>{let l=e.edge(s),c=e.node(s.v);return{sum:a.sum+l.weight*c.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}})}function EV(e,n){let r={};e.forEach((i,a)=>{let s={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(s.barycenter=i.barycenter,s.weight=i.weight),r[i.v]=s}),n.edges().forEach(i=>{let a=r[i.v],s=r[i.w];a!==void 0&&s!==void 0&&(s.indegree++,a.out.push(s))});let o=Object.values(r).filter(i=>!i.indegree);return NV(o)}function NV(e){let n=[];function r(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&SV(i,a)}}function o(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(r(i)),i.out.forEach(o(i))}return n.filter(i=>!i.merged).map(i=>cc(i,["vs","i","barycenter","weight"]))}function SV(e,n){let r=0,o=0;e.weight&&(r+=e.barycenter*e.weight,o+=e.weight),n.weight&&(r+=n.barycenter*n.weight,o+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/o,e.weight=o,e.i=Math.min(n.i,e.i),n.merged=!0}function AV(e,n,r,o,i){let a={},s=null,l=null,c=i;typeof n=="boolean"?(c=n,a={}):n&&(a=n,s=r??null,l=o??null);let d=AP(e,_=>Object.hasOwn(_,"barycenter")),u=d.lhs,f=d.rhs.sort((_,k)=>k.i-_.i),p=[],m=0,h=0,y=0;u.sort(xV(l,s,!!c));for(let[_,k]of Object.entries(a)){let b=u.findIndex(N=>N.vs[0]===_);u.splice(b+1,0,k)}y=hk(p,f,y),u.forEach(_=>{y+=_.vs.length,p.push(_.vs),m+=_.barycenter*_.weight,h+=_.weight,y=hk(p,f,y)});let g={vs:p.flat(1)};return h&&(g.barycenter=m/h,g.weight=h),g}function hk(e,n,r){let o;for(;n.length&&(o=n[n.length-1]).i<=r;)n.pop(),e.push(o.vs),r++;return r}function xV(e,n,r){return(o,i)=>{if(o.barycenter<i.barycenter)return-1;if(o.barycenter>i.barycenter)return 1;if(e&&(typeof o.vs[0]=="string"||typeof i.vs[0]=="string")){let a=e.node(o.vs[0]),s=e.node(i.vs[0]),l=nk(n,a,s);if(l!==0)return l}return r?i.i-o.i:o.i-i.i}}function yk(e,n,r,o,i){var a,s,l,c,d,u,f,p,m,h,y;let g=null,_=i;typeof o=="boolean"?(_=o,g=null):o!==void 0&&(g=o);let k=e.children(n),b=e.node(n),N=b?b.borderLeft:void 0,C=b?b.borderRight:void 0,w={};N&&(k=k.filter(v=>v!==N&&v!==C));let S=CV(e,k);S.forEach(v=>{if(e.children(v.v).length){let{result:P}=yk(e,v.v,r,g,_);w[v.v]=P,Object.hasOwn(P,"barycenter")&&vV(v,P)}});let x=EV(S,r);IV(x,w);let I={},T=!1;for(let v=0;v<x.length;v++)for(let P=v+1;P<x.length;P++)if(!(!x[v]||!x[P]||!((a=x[v])!=null&&a.barycenter)||!((s=x[P])!=null&&s.barycenter))&&((l=x[v])==null?void 0:l.barycenter)===x[P].barycenter){let O=(d=(c=x[v])==null?void 0:c.vs[0])!=null?d:"",R=(f=(u=x[P])==null?void 0:u.vs[0])!=null?f:"",Q=e.node(O),pe=e.node(R);if(Q.dummy==="edge"&&pe.dummy==="edge"&&((p=Q.edgeObj)==null?void 0:p.v)===((m=pe.edgeObj)==null?void 0:m.v)&&((h=Q.edgeObj)==null?void 0:h.w)===((y=pe.edgeObj)==null?void 0:y.w))if(Q.edgeLabel.reversed){I[R]=x[v],x.splice(v,1),v--;break}else I[O]=x[P],x.splice(P,1),P--;else T=!0}let A=AV(x,I,g,e,_);if(N&&C){A.vs=[N,A.vs,C].flat(1);let v=e.predecessors(N);if(v&&v.length){let P=e.node(v[0]),O=e.predecessors(C),R=e.node(O[0]);Object.hasOwn(A,"barycenter")||(A.barycenter=0,A.weight=0),A.barycenter=(A.barycenter*A.weight+P.order+R.order)/(A.weight+2),A.weight+=2}}return Object.defineProperty(A,"result",{value:A,enumerable:!1,configurable:!0,writable:!0}),Object.defineProperty(A,"usedBias",{value:T,enumerable:!1,configurable:!0,writable:!0}),A}function IV(e,n){e.forEach(r=>{r.vs=r.vs.flatMap(o=>n[o]?n[o].vs:o)})}function vV(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}function TV(e,n,r,o){o||(o=e.nodes());let i=BV(e),a=new dr({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(s=>e.node(s));return o.forEach(s=>{let l=e.node(s),c=e.parent(s);if(l.rank===n||l.minRank<=n&&n<=l.maxRank){a.setNode(s),a.setParent(s,c||i);let d=e[r](s);d&&d.forEach(u=>{let f=u.v===s?u.w:u.v,p=a.edge(f,s),m=p!==void 0?p.weight:0;a.setEdge(f,s,{weight:e.edge(u).weight+m})}),Object.hasOwn(l,"minRank")&&a.setNode(s,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]})}}),a}function BV(e){let n;for(;e.hasNode(n=dp("_root")););return n}function OV(e,n,r){let o={},i;r.forEach(a=>{let s=e.parent(a),l,c;for(;s;){if(l=e.parent(s),l?(c=o[l],o[l]=s):(c=i,i=s),c&&c!==s){n.setEdge(c,s);return}s=l}})}function _k(e,n={},r=null){if(typeof n.customOrder=="function"){n.customOrder(e,_k);return}let o=tk(e),i=bk(e,ds(1,o+1),"inEdges"),a=bk(e,ds(o-1,-1,-1),"outEdges"),s=bV(e,r);if(kk(e,s),n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,c,d=n.constraints||[];for(let u=0,f=0;f<4;++u,++f){PV(u%2?i:a,u%4>=2,d,r),s=lc(e);let p=kV(e,s);p<l?(f=0,c=Object.assign({},s),l=p):p===l&&(c=structuredClone(s))}kk(e,c)}function bk(e,n,r){let o=new Map,i=(a,s)=>{o.has(a)||o.set(a,[]),o.get(a).push(s)};for(let a of e.nodes()){let s=e.node(a);if(typeof s.rank=="number"&&i(s.rank,a),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let l=s.minRank;l<=s.maxRank;l++)l!==s.rank&&i(l,a)}return n.map(function(a){return TV(e,a,r,o.get(a)||[])})}function PV(e,n,r,o){let i=!0,a=new dr;e.forEach(function(s){r.forEach(u=>a.setEdge(u.left,u.right));let l=s.graph().root,{result:c,usedBias:d}=yk(s,l,a,o,i);n&&d&&(i=!i),c.vs.forEach((u,f)=>s.node(u).order=f),OV(s,a,c.vs)})}function kk(e,n){Object.values(n).forEach(r=>r.forEach((o,i)=>e.node(o).order=i))}function VV(e,n){let r={};function o(i,a){let s=0,l=0,c=i.length,d=a[a.length-1];return a.forEach((u,f)=>{let p=RV(e,u),m=p?e.node(p).order:c;(p||u===d)&&(a.slice(l,f+1).forEach(h=>{let y=e.predecessors(h);y&&y.forEach(g=>{let _=e.node(g),k=_.order;(k<s||m<k)&&!(_.dummy&&e.node(h).dummy)&&wk(r,g,h)})}),l=f+1,s=m)}),a}return n.length&&n.reduce(o),r}function $V(e,n){let r={};function o(a,s,l,c,d){ds(s,l).forEach(u=>{let f=a[u];if(f!==void 0&&e.node(f).dummy){let p=e.predecessors(f);p&&p.forEach(m=>{if(m===void 0)return;let h=e.node(m);h.dummy&&(h.order<c||h.order>d)&&wk(r,m,f)})}})}function i(a,s){let l=-1,c=-1,d=0;return s.forEach((u,f)=>{if(e.node(u).dummy==="border"){let p=e.predecessors(u);if(p&&p.length){let m=p[0];if(m===void 0)return;c=e.node(m).order,o(s,d,f,l,c),d=f,l=c}}o(s,d,s.length,c,a.length)}),s}return n.length&&n.reduce(i),r}function RV(e,n){if(e.node(n).dummy){let r=e.predecessors(n);if(r)return r.find(o=>e.node(o).dummy)}}function wk(e,n,r){if(n>r){let i=n;n=r,r=i}let o=e[n];o||(e[n]=o={}),o[r]=!0}function LV(e,n,r){if(n>r){let i=n;n=r,r=i}let o=e[n];return o!==void 0&&Object.hasOwn(o,r)}function DV(e,n,r,o,i){let a={},s={},l={};return n.forEach(c=>{c.forEach((d,u)=>{a[d]=d,s[d]=d,l[d]=u})}),n.forEach(c=>{let d=-1,u=-1,f=!1,p=c,m=c.findIndex(h=>i?.includes(h)||Ck(h,e,i));m>0&&(p=[c[m],...c.slice(0,m),...c.slice(m+1)],f=!0),p.forEach(h=>{var y;let g=o(h);if(g&&g.length){i!=null&&i.includes(h)&&(g=g.filter(b=>Ck(b,e,i)));let _=g.sort((b,N)=>{let C=l[b],w=l[N];return(C!==void 0?C:0)-(w!==void 0?w:0)}),k=(_.length-1)/2;for(let b=Math.floor(k),N=Math.ceil(k);b<=N;++b){let C=_[b];if(C===void 0)continue;let w=l[C];if(w!==void 0&&s[h]===h&&d<w&&l[C]!==u&&!LV(r,h,C)){let S=a[C];S!==void 0&&(s[C]=h,s[h]=a[h]=S,d=w,f&&(d=-1,u=(y=l[C])!=null?y:-1,f=!1))}}}})}),{root:a,align:s}}function MV(e,n,r,o,i=!1){let a={},s=FV(e,n,r,i),l=i?"borderLeft":"borderRight";function c(m,h){let y=s.nodes().slice(),g={},_=y.pop();for(;_;){if(g[_])m(_);else{g[_]=!0,y.push(_);for(let k of h(_))y.push(k)}_=y.pop()}}function d(m){let h=s.inEdges(m);h?a[m]=h.reduce((y,g)=>{var _;let k=(_=a[g.v])!=null?_:0,b=s.edge(g);return Math.max(y,k+(b!==void 0?b:0))},0):a[m]=0}function u(m){let h=s.outEdges(m),y=Number.POSITIVE_INFINITY;h&&(y=h.reduce((_,k)=>{let b=a[k.w],N=s.edge(k);return Math.min(_,(b!==void 0?b:0)-(N!==void 0?N:0))},Number.POSITIVE_INFINITY));let g=e.node(m);y!==Number.POSITIVE_INFINITY&&g.borderType!==l&&(a[m]=Math.max(a[m]!==void 0?a[m]:0,y))}function f(m){return s.predecessors(m)||[]}function p(m){return s.successors(m)||[]}return c(d,f),c(u,p),Object.keys(o).forEach(m=>{var h;let y=r[m];y!==void 0&&(a[m]=(h=a[y])!=null?h:0)}),a}function FV(e,n,r,o){let i=new dr,a=e.graph(),s=GV(a.nodesep,a.edgesep,o);return n.forEach(l=>{let c;l.forEach(d=>{let u=r[d];if(u!==void 0){if(i.setNode(u),c!==void 0){let f=r[c];if(f!==void 0){let p=i.edge(f,u);i.setEdge(f,u,Math.max(s(e,d,c),p||0))}}c=d}})}),i}function jV(e,n){return Object.values(n).reduce((r,o)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(o).forEach(([l,c])=>{let d=zV(e,l)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});let s=i-a;return s<r[0]&&(r=[s,o]),r},[Number.POSITIVE_INFINITY,null])[1]}function UV(e,n){let r=Object.values(n),o=ur(Math.min,r),i=ur(Math.max,r);["u","d"].forEach(a=>{["l","r"].forEach(s=>{let l=a+s,c=e[l];if(!c||c===n)return;let d=Object.values(c),u=o-ur(Math.min,d);s!=="l"&&(u=i-ur(Math.max,d)),u&&(e[l]=dc(c,f=>f+u))})})}function KV(e,n=void 0){let r=e.ul;return r?dc(r,(o,i)=>{var a,s;if(n){let c=n.toLowerCase(),d=e[c];if(d&&d[i]!==void 0)return d[i]}let l=Object.values(e).map(c=>{let d=c[i];return d!==void 0?d:0}).sort((c,d)=>c-d);return(((a=l[1])!=null?a:0)+((s=l[2])!=null?s:0))/2}):{}}function qV(e,n){let r=lc(e),o=Object.assign(VV(e,r),$V(e,r)),i={},a;["u","d"].forEach(l=>{a=l==="u"?r:Object.values(r).reverse(),["l","r"].forEach(c=>{c==="r"&&(a=a.map(f=>Object.values(f).reverse()));let d=DV(e,a,o,f=>(l==="u"?e.predecessors(f):e.successors(f))||[],n),u=MV(e,a,d.root,d.align,c==="r");c==="r"&&(u=dc(u,f=>-f)),i[l+c]=u})});let s=jV(e,i);return UV(i,s),KV(i,e.graph().align)}function GV(e,n,r){return(o,i,a)=>{let s=o.node(i),l=o.node(a),c=0,d;if(c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=-s.width/2;break;case"r":d=s.width/2;break}if(d&&(c+=r?d:-d),d=void 0,c+=(s.dummy?n:e)/2,c+=(l.dummy?n:e)/2,c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=l.width/2;break;case"r":d=-l.width/2;break}return d&&(c+=r?d:-d),c}}function zV(e,n){return e.node(n).width}function Ck(e,n,r){var o;if(!r)return!1;let i=(o=n.node(e))==null?void 0:o.edgeObj;if(!i||n.node(e).edgeLabel.reversed)return!1;let a=r.indexOf(i?.v),s=r.indexOf(i?.w);return a!==-1&&s!==-1&&a===(s+1)%r.length||a===(s-1)%r.length}function HV(e,n){e=Xb(e),WV(e),Object.entries(qV(e,n)).forEach(([r,o])=>e.node(r).x=o)}function WV(e){let n=lc(e),r=e.graph(),o=r.ranksep,i=r.rankalign,a=0;n.forEach(s=>{let l=s.reduce((c,d)=>{var u;let f=(u=e.node(d).height)!=null?u:0;return c>f?c:f},0);s.forEach(c=>{let d=e.node(c);i==="top"?d.y=a+d.height/2:i==="bottom"?d.y=a+l-d.height/2:d.y=a+l/2}),a+=l+o})}var Ek=new WeakMap;function YV(e,n={}){return Sk(e,xP,n),e}function Nk(e,n,r){let o=n;for(;o!==void 0;){let i=e.parent(o);if(i===r)return o;o=i}}function Sk(e,n,r){var o;let i=e.nodes().filter(k=>e.children(k).length),a={};i.forEach(k=>{let b=e.node(k);if(b&&b.rankdir){let N=new dr({multigraph:!0,compound:!0});N.setGraph({rankdir:b.rankdir});let C=e.children(k);C.forEach(O=>{let R={...e.node(O)};N.setNode(O,R);let Q=e.parent(O);Q&&Q!==k&&C.includes(Q)&&N.setParent(O,Q)});let w=new Set;e.edges().forEach(O=>{let R=Nk(e,O.v,k),Q=Nk(e,O.w,k);if(R&&Q&&R!==Q){let pe=`${R}\0${Q}`;w.has(pe)||(w.add(pe),N.setEdge(R,Q,{...e.edge(O)}))}}),Sk(N,n,r);let S=vk(N);Ak(S,n,r,null),xk(N,S);let x=1/0,I=1/0,T=-1/0,A=-1/0;N.nodes().forEach(O=>{if(O===k)return;let R=N.node(O);R&&typeof R.x=="number"&&typeof R.y=="number"&&typeof R.width=="number"&&typeof R.height=="number"&&(x=Math.min(x,R.x-R.width/2),T=Math.max(T,R.x+R.width/2),I=Math.min(I,R.y-R.height/2),A=Math.max(A,R.y+R.height/2))}),(!isFinite(x)||!isFinite(I)||!isFinite(T)||!isFinite(A))&&(x=I=0,T=A=0);let v=T-x,P=A-I;a[k]={minX:x,minY:I,maxX:T,maxY:A,width:v,height:P,offsetX:x,offsetY:I},b._dagreClusterSubgraph=N}});let s=[],l=k=>{let b=[],N=(e.children(k)||[]).filter(C=>C!==k);for(;N.length>0;){let C=N.shift();b.push(C),(e.children(C)||[]).filter(w=>w!==C).forEach(w=>N.push(w))}return b},c=new Map;i.forEach(k=>{let b=e.node(k);b&&b.rankdir&&a[k]&&c.set(k,(e.children(k)||[]).filter(N=>N!==k))});let d=new Set([...c.values()].flat()),u=new Map;c.forEach((k,b)=>{d.has(b)||u.set(b,l(b))});let f=new Set([...u.values()].flat()),p=k=>{for(let[b,N]of u)if(N.includes(k))return b;return k},m=[];e.edges().forEach(k=>{(f.has(k.v)||f.has(k.w))&&m.push({edge:k,label:e.edge(k)})});let h=new Map;f.forEach(k=>{let b=e.parent(k);h.set(k,typeof b=="string"?b:void 0)}),u.forEach((k,b)=>{let N=e.node(b),C=[];k.forEach(x=>{let I=e.node(x);I&&(C.push({id:x,node:I,parent:h.get(x)}),e.removeNode(x))});let w=m.filter(({edge:x})=>k.includes(x.v)||k.includes(x.w)),S=a[b];N&&(s.push({clusterId:b,subgraph:N._dagreClusterSubgraph,bounds:S,children:k,removedNodes:C,removedEdges:w}),N.width=S.width,N.height=S.height)});let y=new Set;m.forEach(({edge:k,label:b})=>{let N=p(k.v),C=p(k.w);if(N!==C&&e.hasNode(N)&&e.hasNode(C)){let w=`${N}\0${C}`;y.has(w)||(y.add(w),e.setEdge(N,C,{...b,width:0,height:0}))}});let g=vk(e),_=Ak(g,n,r,(o=Ek.get(e))!=null?o:null);Ek.set(e,_),xk(e,g),y.forEach(k=>{let b=k.indexOf("\0"),N=k.slice(0,b),C=k.slice(b+1);e.hasEdge(N,C)&&e.removeEdge(N,C)}),s.forEach(({clusterId:k,subgraph:b,bounds:N,removedNodes:C,removedEdges:w})=>{var S,x;let I=e.node(k),T=(S=I?.x)!=null?S:0,A=(x=I?.y)!=null?x:0,v=(N.minX+N.maxX)/2,P=(N.minY+N.maxY)/2;C.forEach(({id:O,node:R,parent:Q})=>{e.setNode(O,R),Q!==void 0&&e.setParent(O,Q)}),w.forEach(({edge:O,label:R})=>{e.setEdge(O,R)}),b.nodes().forEach(O=>{if(O===k)return;let R=b.node(O),Q=e.node(O);Q&&R&&typeof R.x=="number"&&typeof R.y=="number"&&(Q.x=T+(R.x-v),Q.y=A+(R.y-P))}),delete I._dagreClusterSubgraph}),i.forEach(k=>{var b,N;let C=e.node(k),w=a[k];if(C&&C.rankdir&&C._dagreClusterSubgraph&&w){let S=C._dagreClusterSubgraph,x=(b=C.x)!=null?b:0,I=(N=C.y)!=null?N:0,T=(w.minX+w.maxX)/2,A=(w.minY+w.maxY)/2;S.nodes().forEach(v=>{if(v===k)return;let P=S.node(v),O=e.node(v);if(O&&P&&typeof P.x=="number"&&typeof P.y=="number"){let R=P.x-T,Q=P.y-A;O.x=x+R,O.y=I+Q}}),delete C._dagreClusterSubgraph}})}function Ak(e,n,r,o=null){var i,a;let s=r?.useDynamic!==!1,l=s&&(i=o?.graph)!=null?i:null,c=s&&(a=o?.rawNodes)!=null?a:null;n(" makeSpaceForEdgeLabels",()=>r$(e)),n(" removeSelfEdges",()=>f$(e)),n(" acyclic",()=>DP(e,l)),n(" nestingGraph.run",()=>cV(e)),n(" rank",()=>tV(Xb(e))),n(" injectEdgeLabelProxies",()=>o$(e)),n(" removeEmptyRanks",()=>NP(e)),n(" nestingGraph.cleanup",()=>fV(e)),n(" normalizeRanks",()=>EP(e)),n(" assignRankMinMax",()=>i$(e)),n(" removeEdgeLabelProxies",()=>a$(e)),n(" normalize.run",()=>UP(e)),n(" parentDummyChains",()=>iV(e)),n(" addBorderSegments",()=>pV(e)),n(" order",()=>_k(e,r,c)),n(" insertSelfEdges",()=>p$(e)),n(" adjustCoordinateSystem",()=>gV(e)),n(" position",()=>HV(e,r.corePath)),n(" positionSelfEdges",()=>m$(e));let d=JSON.parse(JSON.stringify(e._nodes));return n(" removeBorderNodes",()=>u$(e)),n(" normalize.undo",()=>qP(e)),n(" fixupEdgeLabelCoords",()=>c$(e)),n(" undoCoordinateSystem",()=>hV(e)),n(" translateGraph",()=>s$(e)),n(" assignNodeIntersects",()=>l$(e)),n(" reversePoints",()=>d$(e)),n(" acyclic.undo",()=>FP(e)),{graph:e,rawNodes:d}}function xk(e,n){e.nodes().forEach(r=>{let o=e.node(r),i=n.node(r);o&&(o.x=i.x,o.y=i.y,o.order=i.order,o.rank=i.rank,n.children(r).length&&(o.width=i.width,o.height=i.height))}),e.edges().forEach(r=>{let o=e.edge(r),i=n.edge(r);o.points=i.points,Object.hasOwn(i,"x")&&(o.x=i.x,o.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var JV=["nodesep","edgesep","ranksep","marginx","marginy"],XV={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},ZV=["acyclicer","ranker","rankdir","align","rankalign"],QV=["width","height","rank"],Ik={width:0,height:0},e$=["minlen","weight","width","height","labeloffset"],t$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},n$=["labelpos"];function vk(e){let n=new dr({multigraph:!0,compound:!0}),r=bp(e.graph());return n.setGraph(Object.assign({},XV,_p(r,JV),cc(r,ZV))),e.nodes().forEach(o=>{let i=bp(e.node(o)),a=_p(i,QV);Object.keys(Ik).forEach(l=>{a[l]===void 0&&(a[l]=Ik[l])}),n.setNode(o,a);let s=e.parent(o);s!==void 0&&n.setParent(o,s)}),e.edges().forEach(o=>{let i=bp(e.edge(o));n.setEdge(o,Object.assign({},t$,_p(i,e$),cc(i,n$)))}),n}function r$(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(r=>{var o;let i=e.edge(r);i.minlen*=2,((o=i.labelpos)!=null?o:"r").toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?i.width+=i.labeloffset:i.height+=i.labeloffset)})}function o$(e){e.edges().forEach(n=>{let r=e.edge(n);if(r.width&&r.height){let o=e.node(n.v),i={rank:(e.node(n.w).rank-o.rank)/2+o.rank,e:n};Ii(e,"edge-proxy",i,"_ep")}})}function i$(e){let n=0;e.nodes().forEach(r=>{let o=e.node(r);o.borderTop&&(o.minRank=e.node(o.borderTop).rank,o.maxRank=e.node(o.borderBottom).rank,n=Math.max(n,o.maxRank))}),e.graph().maxRank=n}function a$(e){e.nodes().forEach(n=>{let r=e.node(n);if(r.dummy==="edge-proxy"){let o=r;e.edge(o.e).labelRank=r.rank,e.removeNode(n)}})}function s$(e){let n=Number.POSITIVE_INFINITY,r=0,o=Number.POSITIVE_INFINITY,i=0,a=e.graph(),s=a.marginx||0,l=a.marginy||0;function c(d){let u=d.x,f=d.y,p=d.width,m=d.height;n=Math.min(n,u-p/2),r=Math.max(r,u+p/2),o=Math.min(o,f-m/2),i=Math.max(i,f+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let u=e.edge(d);Object.hasOwn(u,"x")&&c(u)}),n-=s,o-=l,e.nodes().forEach(d=>{let u=e.node(d);u.x-=n,u.y-=o}),e.edges().forEach(d=>{let u=e.edge(d);u.points.forEach(f=>{f.x-=n,f.y-=o}),Object.hasOwn(u,"x")&&(u.x-=n),Object.hasOwn(u,"y")&&(u.y-=o)}),a.width=r-n+s,a.height=i-o+l}function l$(e){e.edges().forEach(n=>{if(n.v===n.w)return;let r=e.edge(n),o=e.node(n.v),i=e.node(n.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=o),r.points.unshift(Zb(o,a)),r.points.push(Zb(i,s))})}function c$(e){e.edges().forEach(n=>{let r=e.edge(n);if(Object.hasOwn(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function d$(e){e.edges().forEach(n=>{let r=e.edge(n);r.reversed&&r.points.reverse()})}function u$(e){e.nodes().forEach(n=>{if(e.children(n).length){let r=e.node(n),o=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(r.borderLeft[r.borderLeft.length-1]),s=e.node(r.borderRight[r.borderRight.length-1]);r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-o.y),r.x=a.x+r.width/2,r.y=o.y+r.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function f$(e){e.edges().forEach(n=>{if(n.v===n.w){let r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function p$(e){lc(e).forEach(n=>{let r=0;n.forEach((o,i)=>{let a=e.node(o);typeof a.rank!="number"&&(a.rank=0),a.order=i+r,(a.selfEdges||[]).forEach(s=>{Ii(e,"selfedge",{width:s.label.width,height:s.label.height,rank:a.rank,order:i+ ++r,e:s.e,edgeLabel:s.label},"_se"),(!Array.isArray(s.label.points)||s.label.points.length!==7)&&(s.label.points=[{x:0,y:-10},{x:0,y:-10},{x:0,y:0},{x:0,y:10},{x:0,y:10},{x:0,y:0},{x:0,y:0}])}),delete a.selfEdges})})}function m$(e){e.nodes().forEach(n=>{let r=e.node(n),o=i=>typeof i=="number"&&isFinite(i);if(r.dummy==="selfedge"){let i=r,a=e.node(i.e.v),s=o(a?.x)?a.x:0,l=o(a?.y)?a.y:0,c=o(a?.width)?a.width:0,d=o(a?.height)?a.height:0,u=o(r.x)?r.x:s,f=o(r.y)?r.y:l,p=c/2,m=d/2;i.edgeLabel.points=[{x:u+p,y:f-m},{x:u+p,y:f-m},{x:u,y:f},{x:u-p,y:f+m},{x:u-p,y:f+m},{x:u,y:f},{x:u,y:f}],i.edgeLabel.x=u,i.edgeLabel.y=f,e.setEdge(i.e,i.edgeLabel),e.removeNode(n)}else r&&Array.isArray(r.selfEdges)&&r.selfEdges.forEach(i=>{if(!Array.isArray(i.label.points)||i.label.points.length!==7){let a=o(r.x)?r.x:0,s=o(r.y)?r.y:0,l=o(r.width)?r.width:0,c=o(r.height)?r.height:0,d=l/2,u=c/2;i.label.points=[{x:a+d,y:s-u},{x:a+d,y:s-u},{x:a,y:s},{x:a-d,y:s+u},{x:a-d,y:s+u},{x:a,y:s},{x:a,y:s}]}})})}function _p(e,n){return dc(cc(e,n),Number)}function bp(e){let n={};return e&&Object.entries(e).forEach(([r,o])=>{typeof r=="string"&&(r=r.toLowerCase()),n[r]=o}),n}function g$(e){return e.map(({source:n,target:r})=>({source:n,target:r}))}function h$(e){const n=[];for(const r of e)for(const o of r.memberIds)n.push({source:r.ownerId,target:o});return n}function Tk(e,n){return[...g$(e),...h$(n)]}function fc(e,n){const r=new Map;for(const{source:o,target:i}of e)r.has(o)||r.set(o,[]),r.get(o).push(i),r.has(i)||r.set(i,[]);return n&&(r.has(n.source)||r.set(n.source,[]),r.get(n.source).push(n.target),r.has(n.target)||r.set(n.target,[])),r}function kp(e){const n=new Set,r=new Set;function o(i){if(r.has(i))return!0;if(n.has(i))return!1;n.add(i),r.add(i);for(const a of e.get(i)??[])if(o(a))return!0;return r.delete(i),!1}for(const i of e.keys())if(o(i))return!0;return!1}function wp(e,n){const r=e.config;if(!r)return[];const o=r[n];return Array.isArray(o)?o.filter(i=>typeof i=="string"&&np(i)):[]}function y$({state:e,groupMapById:n,getNodeById:r,history:o}){const i=t.computed(()=>{const A=new Map;for(const v of e.value.groups)for(const P of v.memberIds)A.set(P,{ownerId:v.ownerId,branch:v.branch});return A}),a=t.computed(()=>{const A=new Map;for(const v of e.value.groups)for(const P of v.memberIds)A.set(P,v);return A}),s=t.computed(()=>{const A=new Map;for(const v of e.value.groups)A.has(v.ownerId)||A.set(v.ownerId,[]),A.get(v.ownerId).push(v);return A}),l=t.computed(()=>Tk(e.value.edges,e.value.groups)),c=t.computed(()=>fc(l.value));function d(A,v){return A?ss(A.type).includes(v):!1}function u(A,v){if(v===A.id)return!1;const P=r(v);return!(!P||hn(P.type)||P.phase!==A.phase)}function f(A,v){const P=[],O=new Set;for(const R of v)O.has(R)||(O.add(R),u(A,R)&&P.push(R));return P}function p(A,v,P){const O=r(A);return d(O,v)?f(O,P):[]}function m(A,v,P){const O=ip(A.id,v),R=n.value.get(O);P.length>0?R?(R.phase!==A.phase&&(R.phase=A.phase),rp(R.memberIds,P)||(R.position=void 0,R.dimensions=void 0,R.memberIds=[...P])):e.value.groups.push(Db(A.id,v,A.phase,P)):R&&(e.value.groups=e.value.groups.filter(Q=>Q.id!==O))}function h(A,v,P,O={}){const R=r(A);if(!d(R,v))return!1;const Q=f(R,P),pe=wp(R,v);if(rp(pe,Q))return!1;const H=R.config??={};return Q.length>0?H[v]=[...Q]:(delete H[v],Object.keys(H).length===0&&delete R.config),m(R,v,Q),(O.commit??!0)&&o.commit(O.tag),!0}function y(A,v={}){const P=e.value.groups.filter(O=>O.ownerId!==A);return P.length===e.value.groups.length?!1:(e.value.groups=P,(v.commit??!0)&&o.commit(v.tag),!0)}function g(A,v){const P=n.value.get(ip(A,v));if(P)return[...P.memberIds];const O=r(A);return O?wp(O,v):[]}function _(A){return i.value.get(A)}function k(A){const v=[];let P=a.value.get(A);for(;P;)v.push(P.id),P=a.value.get(P.ownerId);return v}function b(A,v){const P=k(v);if(P.length===0)return!1;const O=new Set(k(A));return O.size===0?!0:P.some(R=>!O.has(R))}function N(A,v){if(A===v)return!0;const P=new Set,O=[v];for(;O.length>0;){const R=O.pop();if(P.has(R))continue;if(P.add(R),R===A)return!0;const Q=c.value.get(R);if(Q)for(const pe of Q)P.has(pe)||O.push(pe)}return!1}function C(A,v,P){const O=r(A);return!(!d(O,v)||!u(O,P)||N(A,P))}function w(A,v,P,O={}){const R=r(A);if(!R||!C(A,v,P))return!1;const Q=wp(R,v);if(Q.includes(P))return!1;S(P,{commit:!1});const pe=[...Q,P];return h(A,v,pe,{commit:!1})?((O.commit??!0)&&o.commit(O.tag),!0):!1}function S(A,v={}){const P=_(A);if(!P)return!1;const O=g(P.ownerId,P.branch),R=O.filter(Q=>Q!==A);return R.length===O.length?!1:h(P.ownerId,P.branch,R,v)}function x(A){let v=0;const P=new Set;let O=a.value.get(A);for(;O&&!P.has(O.id);)v+=1,P.add(O.id),O=a.value.get(O.ownerId);return v}function I(A){const v=n.value.get(A);return v?x(v.ownerId):0}function T(A){return A?n.value.has(A):!1}return{memberGroupMap:a,groupsByOwner:s,findMembership:_,getMembers:g,wouldCreateCycle:N,setMembers:h,prepareMembers:p,addMember:w,removeMember:S,clear:y,getNodeDepth:x,getGroupDepth:I,isGroupId:T,isEdgeEnteringGroup:b,canAddMember:C}}function _$(e,n){const{commit:r,undo:o,redo:i,canUndo:a,canRedo:s,clear:l,reset:c,undoStack:d,redoStack:u}=Ot.useManualRefHistory(e,{capacity:n?.capacity,clone:n?.clone});let f;function p(b){n?.onHistoryChange?.(b,e.value)}function m(b){if(!b){f=void 0,r(),p("commit");return}if(b!=="*"&&f!==b){f=b,r(),p("commit");return}r(),d.value.shift(),p("commit")}function h(){o(),f=void 0,p("undo")}function y(){i(),f=void 0,p("redo")}function g(){l(),f=void 0,p("clear")}function _(){c(),f=void 0,p("reset")}function k(){o(),u.value.shift(),f=void 0,p("revert")}return{canUndo:a,canRedo:s,commit:m,undo:h,redo:y,clear:g,reset:_,revert:k}}function b$(e){return e.config?.resources?.vault||{}}function k$(e){const{resources:n}=e.config||{};return n?.vault?Object.keys(n.vault):[]}function w$(e){const n=Object.entries(e);if(n.length===0)return;const r={};for(const[o,i]of n)r[o]=i;return r}function Bk(e,n){const r=e.config?.nodes??[],o=e.__ui_data?.nodes??[],i=e.__ui_data?.groups??[],a=new Map(o.map(g=>[g.name,g])),s=new Map(i.map(g=>[g.name,g])),l=[],c=[],d=new Map,u=[],f=[],p=new Map,m=g=>{const _=new Set,k=[...g];for(;k.length>0;){const b=k.shift();if(!_.has(b)&&(_.add(b),tp(b)||(d.get(b).phase="request"),!!p.has(b)))for(const N of p.get(b))_.has(N)||k.push(N)}};let h=!1;for(const g of r){const _=a.get(g.name);!_&&!h&&(h=!0);const k=Pk({type:g.type,configNode:g,uiNode:_,pluginData:e});l.push(k),d.set(k.name,k)}for(const g of l){const _=ss(g.type);if(!_.length)continue;const k=g.config;if(k)for(const b of _){const N=k[b];if(!Array.isArray(N)){s.has(oc(g.name,b))&&(h=!0);continue}const C=[];for(const w of N){if(typeof w!="string")continue;const S=d.get(w);S&&!hn(S.type)&&C.push(S.id)}if(C.length){k[b]=C;const w=oc(g.name,b),S=s.get(w),x=S?{position:Tr(S.position)}:void 0,I=Db(g.id,b,g.phase,C,x);u.push(I),!S&&!h&&(h=!0)}else delete k[b],s.has(oc(g.name,b))&&(h=!0)}}for(const g of Ei)if(!d.has(g)){let _=a.get(g);_||(h||(h=!0),_=HO(g));const k=Pk({type:g,uiNode:_,pluginData:e});l.push(k),d.set(k.name,k)}for(const g of r)N$(g,f);for(const g of f){const _=d.get(g.source),k=d.get(g.target);if(!_||!k){_||console.warn(`[initEditorState] skip: source "${g.source}" not found`),k||console.warn(`[initEditorState] skip: target "${g.target}" not found`);continue}p.has(g.source)||p.set(g.source,new Set),p.get(g.source).add(g.target),p.has(g.target)||p.set(g.target,new Set),p.get(g.target).add(g.source),c.push({id:Ai("edge"),source:_.id,sourceField:to(_,"output",g.sourceField)?.id,target:k.id,targetField:to(k,"input",g.targetField)?.id})}m(["request","service_request"]);let y=null;return e.config?.resources?.cache&&(y={...e.config.resources.cache},e.partials&&(y.partial_id=e.partials[0].id)),{nodes:l,edges:c,groups:u,pendingLayout:h?n?"keepHistory":"clearHistory":!1,pendingFitView:!0,...y?{cacheConfig:y}:{}}}function Ok(e){const{type:n,name:r,phase:o,position:i,fields:a,config:s}=e,l=Vb(n),c=xi(n);return{id:Ai("node"),type:n,name:r??n,phase:o??"request",position:i??{x:0,y:0},expanded:{},fields:{input:$b(a?.input??l.input),output:$b(a?.output??l.output)},hidden:e.hidden||c.hidden,config:s?Tr(s):{}}}function C$(e){return hn(e)?e==="request"||e==="service_request"?"request":"response":"request"}function Pk({type:e,configNode:n,uiNode:r,pluginData:o}){return Ok({type:e,name:n?.name,phase:r?.phase??C$(e),position:r?.position,fields:S$({type:e,uiNode:r,configNode:n,pluginData:o}),hidden:r?.hidden,config:A$({type:e,configNode:n,pluginData:o})})}function E$(e){const{type:n,name:r,input:o,inputs:i,output:a,outputs:s,...l}=e;return Tr(l)}function N$(e,n){const r=e.name;if(e.input){const{nodeName:o,fieldName:i}=rc(e.input);o&&n.push({source:o,sourceField:i,target:r})}if(e.inputs)for(const[o,i]of Object.entries(e.inputs)){if(!i)continue;const{nodeName:a,fieldName:s}=rc(i);a&&n.push({source:a,sourceField:s,target:r,targetField:o})}if(e.output){const{nodeName:o,fieldName:i}=rc(e.output);o&&n.push({source:r,target:o,targetField:i})}if(e.outputs)for(const[o,i]of Object.entries(e.outputs)){if(!i)continue;const{nodeName:a,fieldName:s}=rc(i);a&&n.push({source:r,sourceField:o,target:a,targetField:s})}}function S$({type:e,uiNode:n,configNode:r,pluginData:o}){const a=xi(e)?.io;if(!a)return;const s={};if(a.input?.configurable&&(n?s.input=n.fields?.input??[]:r?.inputs&&(s.input=Object.keys(r.inputs))),a.output?.configurable){if(n)s.output=n.fields?.output??[];else{const l=new Set;r?.outputs&&Object.keys(r.outputs).forEach(c=>l.add(c)),r?.type==="static"&&r.values&&Object.keys(r.values).forEach(c=>l.add(c)),l.size&&(s.output=Array.from(l))}e==="vault"&&(s.output=k$(o))}return Object.keys(s).length?s:void 0}function A$({type:e,configNode:n,pluginData:r}){return e==="vault"?b$(r):n?E$(n):void 0}function x$(e){const n=t.computed(()=>{const f=new Map;return e.value.nodes.forEach(p=>f.set(p.id,p)),f}),r=t.computed(()=>e.value.edges),o=t.computed(()=>e.value.groups),i=t.computed(()=>Tk(r.value,o.value));function a(f){return fc(i.value,f?{source:f.source,target:f.target}:void 0)}function s(f){const p=n.value.get(f.source),m=n.value.get(f.target);if(!p||!m)return f;const h=Rb(p,f.sourceField)&&!op(p,f.sourceField),y=op(m,f.targetField);return h&&y?{source:f.target,sourceField:f.targetField,target:f.source,targetField:f.sourceField}:f}function l(f){const p=s(f),m=[],h=n.value.get(p.source),y=n.value.get(p.target);if(h||m.push("source node not found"),y||m.push("target node not found"),!h||!y)return{ok:!1,errors:m};op(h,p.sourceField)||m.push("source handle is not an output field"),Rb(y,p.targetField)||m.push("target handle is not an input field"),y.name==="request"&&m.push('cannot target "request"'),h.name==="response"&&m.push('cannot source from "response"');const g=r.value.some(b=>b.target===p.target&&!b.targetField),_=r.value.some(b=>b.target===p.target&&!!b.targetField);(g&&p.targetField||_&&!p.targetField)&&m.push("cannot mix whole-node and field-level inputs on same target"),p.targetField&&r.value.some(b=>b.target===p.target&&b.targetField===p.targetField)&&m.push("target field already connected"),!p.targetField&&r.value.some(b=>b.target===p.target&&!b.targetField)&&m.push("target input already taken"),p.source===p.target&&m.push("self-loop not allowed");const k=a({source:p.source,target:p.target});return kp(k)&&m.push("connection introduces a cycle"),m.length?{ok:!1,errors:m}:{ok:!0}}function c(){const f=[];for(const p of Ei)[...n.value.values()].some(m=>m.name===p)||f.push(`missing implicit node "${p}"`);for(const p of r.value){const m=n.value.get(p.source);n.value.get(p.target).name==="request"&&f.push(`edge "${p.id}" targets "request"`),m.name==="response"&&f.push(`edge "${p.id}" sources from "response"`)}return kp(a())&&f.push("graph contains cycle"),f.length?{ok:!1,errors:f}:{ok:!0}}function d(f){return l(f).ok}function u(f){return!f.source||!f.target?!1:d({source:f.source,sourceField:f.sourceHandle,target:f.target,targetField:f.targetHandle})}return{canonicalizeConnection:s,validateConnection:l,validateGraph:c,isValidConnection:d,isValidVueFlowConnection:u,buildAdjacency:fc}}const[Cp,I$]=Ot.createInjectionState(function(n,r={}){const o=t.ref(Bk(n)),i=t.ref(),a=t.ref(),s=t.ref(!1),l=t.ref(!1),c=_$(o,{capacity:200,clone:Tr,onHistoryChange:L=>{L!=="clear"&&r.onChange?.($e(),U(),de(),o.value.cacheConfig?.partial_id)}}),d=t.ref(!1),u=t.ref(new Set);function f(){o.value.pendingLayout=!1,c.commit("*")}function p(L=!0){o.value.pendingFitView!==L&&(o.value.pendingFitView=L,c.commit("*"))}const m=t.computed(()=>{const L={request:0,response:0};return o.value.nodes.forEach(M=>{hn(M.type)||L[M.phase]++}),L}),h=t.computed(()=>new Map(o.value.nodes.map(L=>[L.id,L]))),y=t.computed(()=>new Map(o.value.nodes.map(L=>[L.name,L]))),g=t.computed(()=>{const L=new Map,M=new Map;for(const Y of o.value.edges)L.set(Y.id,Y),M.has(Y.source)||M.set(Y.source,new Set),M.get(Y.source).add(Y.id),M.has(Y.target)||M.set(Y.target,new Set),M.get(Y.target).add(Y.id);return{edgeMapById:L,edgeIdMapByNodeId:M}}),_=t.computed(()=>g.value.edgeMapById),k=t.computed(()=>g.value.edgeIdMapByNodeId),b=t.computed(()=>new Map(o.value.groups.map(L=>[L.id,L]))),N=t.computed(()=>new Set(o.value.nodes.map(L=>L.name))),C=y$({state:o,groupMapById:b,getNodeById:A,history:c}),{canonicalizeConnection:w,validateConnection:S,validateGraph:x,isValidConnection:I,isValidVueFlowConnection:T}=x$(o);function A(L){return h.value.get(L)}function v(L){return y.value.get(L)}function P(L){return _.value.get(L)}function O(L){if(!k.value.has(L))return[];const M=[];return k.value.get(L).forEach(Y=>{const ae=P(Y);ae&&M.push(ae)}),M}function R(L){return O(L).filter((M=>M.target===L))}function Q(L){return O(L).filter((M=>M.source===L))}const pe=t.computed(()=>i.value?A(i.value):void 0);function H(L){i.value=L}function j(L){a.value=L}function D(L){if(hn(L.type))throw new Error("[createNode] implicit nodes are fixed.");return Ok({type:L.type,name:L.name||(hn(L.type)?void 0:Lb(L.type,N.value)),phase:L.phase,position:L.position,fields:L.fields,config:L.config})}function ee(L,M=!0){const Y=D(L);if(Y)return o.value.nodes.push(Y),M&&c.commit(),d.value=!0,Y.id}function K(L,M,Y=!0){const ae=A(L);if(!ae||hn(ae.type))return;const me={...Tr(ae),id:Ai("node"),name:Lb(ae.name,N.value),position:M??{x:ae.position.x+20,y:ae.position.y+20}},Ae=ss(me.type);if(Ae.length&&me.config){for(const ze of Ae)delete me.config[ze];Object.keys(me.config).length===0&&delete me.config}return o.value.nodes.push(me),Y&&c.commit(),d.value=!0,me.id}function J(L,M=!0){if(!A(L))return;o.value.edges=o.value.edges.filter(me=>me.source!==L&&me.target!==L),C.clear(L,{commit:!1}),C.removeMember(L,{commit:!1}),o.value.nodes=o.value.nodes.filter(me=>me.id!==L),i.value===L&&(i.value=void 0);const ae=x();ae.ok||console.warn("[removeNode] topology invalid:",ae.errors.join("; ")),M&&c.commit()}function ce(L,M,Y=!0,ae){const me=A(L);if(!me)return;if(tp(me.name)){console.warn("[renameNode] implicit node name is reserved.");return}me.name!==M&&(me.name=M,Y&&c.commit(ae))}function z(L,M,Y=!0){const ae=A(L);ae&&(ae.position={...M},Y&&c.commit())}function oe(L,M,Y=!0){const ae=b.value.get(L);if(!ae)return;const me=ae.position;me&&me.x===M.x&&me.y===M.y||(ae.position={...M},Y&&c.commit())}function Pe(L,M,Y=!0){const ae=b.value.get(L);if(!ae)return!1;const me={...M.position},Ae={...M.dimensions},ze=ae.position&&ae.position.x===me.x&&ae.position.y===me.y,ot=ae.dimensions&&ae.dimensions.width===Ae.width&&ae.dimensions.height===Ae.height;return ze&&ot?!1:(ae.position=me,ae.dimensions=Ae,Y&&c.commit(),!0)}function Ee(L,M,Y,ae=!0,me){const Ae=A(L);if(!Ae)return;const ze=Y??!Ae.expanded[M];ze!==!!Ae.expanded[M]&&(Ae.expanded[M]=ze,ae&&c.commit(me??`toggle:${L}:${M}`))}function Ge(L,M,Y=!0,ae){const me=A(L);me&&(me.config=Tr(M),Y&&c.commit(ae))}function se(L,M,Y,ae=!0){const me=A(L);if(!me)return;const Ae=me.fields[M];if(Ae.some(ze=>ze.name===Y)){console.warn(`[addField] field "${Y}" already exists on ${M}.`);return}Ae.push({id:Ai("field"),name:Y}),M==="input"?me.fields.input=Ae:me.fields.output=Ae,ae&&c.commit()}function X(L,M,Y,ae=!0){const me=A(L);if(!me)return;const Ae=me.fields.input,ze=me.fields.output,ot=Ae.find(F=>F.id===M)??ze.find(F=>F.id===M);ot&&(ot.name=Y,ae&&c.commit())}function he(L,M,Y=!0,ae=!0){const me=A(L);if(!me)return;const Ae=me.fields.input,ze=me.fields.output,ot=Ae.findIndex(G=>G.id===M);ot>=0&&Ae.splice(ot,1);const F=ze.findIndex(G=>G.id===M);F>=0&&ze.splice(F,1),me.fields.input=Ae,me.fields.output=ze,Y&&(o.value.edges=o.value.edges.filter(G=>G.sourceField!==M&&G.targetField!==M));const te=x();te.ok||console.warn("[removeField] topology invalid:",te.errors.join("; ")),ae&&c.commit()}function ve(L,M=!0){const Y=w(L),ae=S(Y);if(!ae.ok){console.warn("[connectEdge] invalid connection:",ae.errors.join("; "));return}const me={id:Ai("edge"),...Y};o.value.edges.push(me);const Ae=x();if(!Ae.ok){o.value.edges.pop(),console.warn("[connectEdge] topology invalid:",Ae.errors.join("; "));return}return M&&c.commit(),me.id}function je(L,M,Y=!0){qe(L,!1),ve(M,!1),Y&&c.commit()}function qe(L,M=!0){const Y=o.value.edges.findIndex(Ae=>Ae.id===L);if(Y<0)return;const ae=o.value.edges[Y];o.value.edges.splice(Y,1);const me=x();if(!me.ok){o.value.edges.splice(Y,0,ae),console.warn("[disconnectEdge] topology invalid:",me.errors.join("; "));return}M&&c.commit()}function Be(L,M=!0){const Y=R(L);for(const ae of Y)qe(ae.id,!1);M&&c.commit()}function Ve(L,M=!0){const Y=Q(L);for(const ae of Y)qe(ae.id,!1);M&&c.commit()}function $e(){const L=[];for(const M of o.value.nodes){if(hn(M.type))continue;let Y;const ae={};let me;const Ae={};for(const G of o.value.edges.filter(le=>le.target===M.id)){const le=A(G.source);if(!le)continue;const Ie=no(le,"output",G.sourceField)?.name,tt=Ie?`${le.name}.${Ie}`:le.name,ge=no(M,"input",G.targetField)?.name;ge?ae[ge]=tt:Y===void 0&&(Y=tt)}for(const G of o.value.edges.filter(le=>le.source===M.id)){const le=A(G.target);if(!le)continue;const Ie=le.type;if(!hn(Ie)||!tc[Ie].io?.input)continue;const tt=no(le,"input",G.targetField)?.name,ge=tt?`${le.name}.${tt}`:le.name,we=no(M,"output",G.sourceField)?.name;we?Ae[we]=ge:me===void 0&&(me=ge)}const ze={...Tr(M.config),name:M.name,type:M.type},ot=ss(M.type);if(ot.length)for(const G of ot){const le=ze[G];if(!Array.isArray(le))continue;const Ie=[];for(const tt of le){const ge=A(tt);ge&&Ie.push(ge.name)}Ie.length?ze[G]=Array.from(new Set(Ie)):delete ze[G]}Object.keys(ae).length>0?ze.inputs=ae:Y!==void 0&&(ze.input=Y),Object.keys(Ae).length>0?ze.outputs=Ae:me!==void 0&&(ze.output=me),L.push(ze)}return L}function Ke(){return o.value.nodes.map(L=>Tr({name:L.name,phase:L.phase,position:{...L.position},expanded:{...L.expanded},fields:{input:L.fields.input.map(M=>M.name),output:L.fields.output.map(M=>M.name)}}))}function de(){const L={},M=v("vault");if(M){const Y=w$(M.config);Y&&Object.keys(Y).length>0&&(L.vault=Y)}if(o.value.cacheConfig){const{strategy:Y,redis:ae,memory:me}=o.value.cacheConfig;L.cache={strategy:Y,redis:ae,memory:me}}if(Object.keys(L).length!==0)return L}function Z(){const L=[];for(const M of o.value.groups){const Y=A(M.ownerId);if(!Y)continue;const ae=M.position;ae&&L.push({name:oc(Y.name,M.branch),position:{...ae}})}return L}function U(){return{nodes:Ke(),groups:Z()}}function ne(L,M){M&&c.commit(),o.value=Bk(L,M),M||c.clear()}return{state:o,selection:i,portalSelection:a,modalOpen:s,skipValidation:d,invalidConfigNodeIds:u,propertiesPanelOpen:l,configNodeCounts:m,nodeMapById:h,nodeMapByName:y,edgeMapById:_,edgeIdMapByNodeId:k,groupMapById:b,getNodeById:A,getNodeByName:v,getEdgeById:P,getEdgesByNodeId:O,getInEdgesByNodeId:R,getOutEdgesByNodeId:Q,selectedNode:pe,selectNode:H,selectPortalEdge:j,createNode:D,addNode:ee,duplicateNode:K,removeNode:J,renameNode:ce,moveNode:z,moveGroup:oe,setGroupLayout:Pe,toggleExpanded:Ee,replaceConfig:Ge,branchGroups:C,addField:se,renameField:X,removeField:he,connectEdge:ve,replaceConnection:je,disconnectEdge:qe,disconnectInEdges:Be,disconnectOutEdges:Ve,toConfigNodes:$e,toUINodes:Ke,toUIGroups:Z,toUIData:U,load:ne,commit:c.commit,undo:c.undo,redo:c.redo,canUndo:c.canUndo,canRedo:c.canRedo,clear:c.clear,reset:c.reset,revert:c.revert,isValidConnection:I,isValidVueFlowConnection:T,validateGraph:()=>x(),clearPendingLayout:f,setPendingFitView:p}});function Vt(){const e=I$();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}function v$(e){const{branchLayout:n,phase:r,layoutOptions:o,nodes:i,edges:a}=e,{findNode:s}=xt.useVueFlow(),{state:l,branchGroups:c,getNodeById:d,moveNode:u,commit:f}=Vt(),{getNodeDepth:p,isGroupId:m,groupsByOwner:h}=c,{isBranchEdgeId:y,updateGroupLayout:g,translateGroupTree:_,waitForLayoutFlush:k}=n,{viewport:b,padding:N=Qr.padding,gaps:C=Qr.gaps}=o,{nodes:w=Qr.gaps.nodes,edges:S=Qr.gaps.edges,ranks:x=Qr.gaps.ranks}=C;async function I(v=!0){const P=new Map(i.value.map(z=>[z.id,z.data])),O=new Map,R=new Map,Q=z=>{if(!z)return;let oe=R.get(z);return oe||(oe=s(z),oe&&R.set(z,oe),oe)},pe=new Map,H=z=>{let oe=pe.get(z);return oe!==void 0||(oe=p(z),pe.set(z,oe)),oe},j=z=>{if(!as(z.data))return z.parentNode;const oe=Q(z.data.ownerId);if(!oe)throw new Error(`Cannot find owner node '${z.data.ownerId}' for group node '${z.id}' via findNode`);return oe.parentNode};for(const z of a.value){if(y(z.id))continue;const oe=z.source,Pe=z.target;if(m(oe)||m(Pe))continue;const Ee=Q(oe),Ge=Q(Pe);if(Ee){if(!Ge)throw new Error(`Cannot find target node '${Pe}' for edge '${z.id}' via findNode`)}else throw new Error(`Cannot find source node '${oe}' for edge '${z.id}' via findNode`);if(j(Ee)===j(Ge))continue;let se=Ee,X=Ge,he=H(se.id),ve=H(X.id);for(;he!==ve;)if(he>ve){const je=j(se);if(!je)throw new Error(`Expected node '${se.id}' to have parent, but it does not`);const qe=Q(je);if(!qe)throw new Error(`Cannot find parent node '${je}' for node '${se.id}' via findNode`);se=qe,he--}else if(ve>he){const je=j(X);if(!je)throw new Error(`Expected node '${X.id}' to have parent, but it does not`);const qe=Q(je);if(!qe)throw new Error(`Cannot find parent node '${je}' for node '${X.id}' via findNode`);X=qe,ve--}for(;he>=0;){const je=j(se),qe=j(X);if(je===qe){O.has(he)||O.set(he,[]),O.get(he).push({v:se.id,w:X.id});break}if(je){if(!qe){const $e=`Expected node '${X.id}' to have parent, but it does not`;throw console.error($e,X),new Error($e)}}else{const $e=`Expected node '${se.id}' to have parent, but it does not`;throw console.error($e,se),new Error($e)}const Be=Q(je),Ve=Q(qe);if(Be){if(!Ve)throw new Error(`Cannot find parent node '${qe}' for node '${X.id}' via findNode`)}else throw new Error(`Cannot find parent node '${je}' for node '${se.id}' via findNode`);se=Be,X=Ve,he--,ve--}}const D=l.value.groups.toSorted((z,oe)=>H(oe.ownerId)-H(z.ownerId));for(const z of D)T(z.memberIds.reduce((oe,Pe)=>{const Ee=d(Pe);if(!Ee)return console.warn(`Cannot find node '${Pe}' of group '${z.id}' by getNodeById`),oe;if(Ee.phase!==r)return oe;if(Ee.type==="branch"){const Ge=h.value.get(Ee.id);Ge&&oe.push(...Ge)}return P.delete(Ee.id),oe.push(Ee),oe},[]),{virtualEdges:O.get(H(z.ownerId)),cachedFindNode:Q}),await t.nextTick(),g(z.id,!1),await k();const ee=P.values().toArray();for(const z of ee){if(as(z)||z.type!=="branch")continue;const oe=h.value.get(z.id);oe&&ee.push(...oe)}const{autoNodes:K,leftNode:J,rightNode:ce}=A(ee);T(K,{leftNode:J,rightNode:ce,virtualEdges:O.get(0),cachedFindNode:Q}),v&&f()}function T(v,P){const{leftNode:O,rightNode:R,virtualEdges:Q,cachedFindNode:pe}=P||{},H=O?(pe??s)(O.id):void 0,j=R?(pe??s)(R.id):void 0;let D;if(v.length>0){D=new jb.Graph({multigraph:!0}),D.setGraph({rankdir:r==="request"?"LR":"RL",nodesep:w,edgesep:S,ranksep:x});const se=new Set;for(const X of v){const he=(pe??s)(X.id);if(!he){console.warn(`Cannot find graph node '${X.id}' in ${r} phase`);continue}se.add(X.id),as(X)?D.setNode(X.id,{...X.dimensions??he.dimensions}):D.setNode(X.id,{...he.dimensions})}for(const X of a.value)!se.has(X.source)||!se.has(X.target)||D.setEdge(X.source,X.target,{points:[]});Q?.forEach(X=>D.setEdge(X,{points:[]})),YV(D)}const ee=[],K=se=>({x:se.x-se.width/2,y:se.y-se.height/2,width:se.width,height:se.height});if(v.length>0){if(!D)throw new Error("Expected dagreGraph to be initialized");for(const se of v){const X=D.node(se.id),he=K(X);ee.push(he),as(se)?_(se.id,he,he.x+yi,he.y+yi):u(se.id,{x:he.x,y:he.y},!1)}}const J=ee.length>0?Mb(ee):{x:0,y:0,width:0,height:0},ce=J.width,z=J.height,oe=J.x,Pe=J.x+J.width,Ee=Math.max(0,Math.min(t.toValue(b?.width)??Number.POSITIVE_INFINITY,aA)-ce-2*w-(H?.dimensions?.width??0)-(j?.dimensions?.width??0)-2*N),Ge=J.y+z/2;O&&u(O.id,{x:oe-w-Ee/2-(H?.dimensions?.width??0),y:Ge-(H?.dimensions?.height??0)/2},!1),R&&u(R.id,{x:Pe+w+Ee/2,y:Ge-(j?.dimensions?.height??0)/2},!1)}function A(v){let P,O;const R=[];for(const Q of v){if(as(Q)){R.push(Q);continue}switch(Q.name){case"request":{if(r!=="request")throw new Error(`Unexpected request node in ${r} phase`);if(P)throw new Error("Duplicated request node in request phase");P=Q;break}case"service_request":{if(r!=="request")throw new Error(`Unexpected service_request node in ${r} phase`);if(O)throw new Error("Duplicated service_request node in request phase");O=Q;break}case"service_response":{if(r!=="response")throw new Error(`Unexpected service_response node in ${r} phase`);if(O)throw new Error("Duplicated service_response node in response phase");O=Q;break}case"response":{if(r!=="response")throw new Error(`Unexpected response node in ${r} phase`);if(P)throw new Error("Duplicated response node in response phase");P=Q;break}default:{R.push(Q);break}}}return{autoNodes:R,leftNode:P,rightNode:O}}return{autoLayout:I}}function T$({phase:e,groupMapById:n,getNodeDepth:r,canAddMember:o,draggingId:i}){const a=t.shallowRef(),s=t.shallowRef();function l(f){a.value=f,s.value=void 0}function c(){a.value&&(a.value=void 0,s.value=void 0)}function d(f){let p;const m=i?.value;return n.value.forEach(h=>{if(h.phase!==e||m&&np(m)&&!o(h.ownerId,h.branch,m))return;const y=h.position,g=h.dimensions;if(!y||!g||!(f.x>=y.x&&f.x<=y.x+g.width&&f.y>=y.y&&f.y<=y.y+g.height))return;const k=r(h.ownerId);(!p||k>p.depth)&&(p={depth:k,id:h.id})}),p?.id}function u(f){if(!a.value){s.value=void 0;return}if(!f){s.value=void 0;return}s.value=d(f)}return{activeGroupId:s,start:l,updateActiveGroup:u,end:c}}function B$({phase:e,readonly:n,flowId:r,draggingId:o}){const{findNode:i}=xt.useVueFlow(r),a=Vt(),{state:s,groupMapById:l,getNodeById:c,moveNode:d,moveGroup:u,setGroupLayout:f,commit:p,branchGroups:m}=a,{memberGroupMap:h,groupsByOwner:y,getNodeDepth:g,getGroupDepth:_}=m,k=j=>!!j&&j.startsWith("branch:");function b(j){const D=[];for(const ee of j.memberIds){const K=c(ee);K&&D.push(K)}return D}const N=t.computed(()=>{const j=new Map;return h.value.forEach((D,ee)=>{if(D.phase!==e||!D.position)return;const K=c(ee);K&&(K.phase!==e||K.hidden||j.set(ee,D))}),j}),C=t.computed(()=>{const j=new Map;return y.value.forEach((D,ee)=>{const K=D.filter(J=>J.phase===e);K.length>0&&j.set(ee,K)}),j}),w=t.computed(()=>{const j=[];for(const D of s.value.groups){const ee=c(D.ownerId);if(!ee||ee.phase!==e)continue;const K=D.position,J=D.dimensions;if(!K||!J)continue;const ce=b(D).filter(oe=>oe.phase===e&&!oe.hidden),z=_(D.id);j.push({id:D.id,type:"group",position:K,width:J.width,height:J.height,data:{...D,memberIds:ce.map(oe=>oe.id)},draggable:!n,selectable:!1,zIndex:z*Fl+nA})}return j}),S=t.computed(()=>{let j=0;for(const D of s.value.groups){if(D.phase!==e)continue;const ee=_(D.id);ee>j&&(j=ee)}return j}),x=t.computed(()=>{const j=[];for(const D of s.value.groups){if(D.phase!==e||!D.position||!D.dimensions)continue;const ee=c(D.ownerId);if(!ee||ee.phase!==e||ee.hidden||!b(D).filter(z=>z.phase===e&&!z.hidden).length)continue;const J=Math.max(g(ee.id),_(D.id))+S.value+1,ce={id:`branch:${D.id}`,source:ee.id,target:D.id,sourceHandle:`branch@${D.branch}`,targetHandle:"input",markerEnd:xt.MarkerType.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:ee.id,branch:D.branch,groupId:D.id},zIndex:J*Fl+oA};j.push(ce)}return j}),I=new Map,T=new Map;let A;function v(j,D=!0){if(j.phase!==e)return;const ee=b(j).filter(oe=>oe.phase===e&&!oe.hidden);if(!ee.length)return;const K=[];for(const oe of ee){const Ee=i(oe.id)?.dimensions,Ge=Ee?.width??0,se=Ee?.height??0;if(Ge<=0||se<=0)return;K.push({...oe.position,width:Ge,height:se});const X=y.value.get(oe.id)??[];for(const he of X){if(he.phase!==e)continue;const ve=I.get(he.id),je=ve?.position??he.position,qe=ve?.dimensions??he.dimensions;!je||!qe||K.push({x:je.x,y:je.y,width:qe.width,height:qe.height})}}const J=Mb(K),ce=J.width+yi*2,z=J.height+yi*2;return{position:{x:Math.round(J.x-yi),y:Math.round(J.y-yi)},dimensions:{width:Math.round(ce),height:Math.round(z)},commit:D}}function P(){if(I.size===0){A=void 0;return}const j=[];let D=!1;I.forEach((ee,K)=>{const J=f(K,ee,!1);j.push({id:K,changed:J,commit:ee.commit}),ee.commit&&J&&!D&&(D=!0)}),I.clear(),A=void 0;for(const{id:ee,changed:K,commit:J}of j){if(!K)continue;const ce=l.value.get(ee);if(!ce)continue;const z=N.value.get(ce.ownerId);z&&T.set(z.id,{commit:J})}if(T.size>0){const ee=Array.from(T);T.clear();for(const[K,{commit:J}]of ee)R(K,J)}D&&p("*")}function O(){I.size!==0&&(A||(A=t.nextTick().then(P)))}function R(j,D=!0){const ee=l.value.get(j);if(!ee)return;const K=v(ee,D);K&&(I.set(j,K),O())}function Q(j,D,ee,K){const J=l.value.get(j);if(!J)return;if(!J.position){u(j,D,!1),R(j);return}if(ee===0&&K===0){u(j,D,!1);return}u(j,D,!1);const ce=[j],z=new Set([j]),oe=new Set;for(;ce.length;){const Pe=ce.shift(),Ee=l.value.get(Pe);if(!Ee)continue;const Ge=b(Ee).filter(se=>se.phase===e&&!se.hidden);for(const se of Ge){oe.has(se.id)||(d(se.id,{x:se.position.x+ee,y:se.position.y+K},!1),oe.add(se.id));const X=C.value.get(se.id)??[];for(const he of X){if(z.has(he.id))continue;const ve=l.value.get(he.id);ve?.position&&u(he.id,{x:ve.position.x+ee,y:ve.position.y+K},!1),z.add(he.id),ce.push(he.id)}}}}function pe(j,D){const ee=o?.value;if(!ee)return!1;if(ee===j||D.some(K=>ee===K))return!0;for(const K of D)if((C.value.get(K)??[])?.some(ce=>ce.id===ee))return!0;return!1}const H=new Map;return t.watch(()=>s.value.groups.filter(D=>D.phase===e).map(D=>{const ee=D.memberIds.map(K=>{const J=i(K),ce=Math.round(J?.dimensions?.width??0),z=Math.round(J?.dimensions?.height??0);return`${K}:${ce}x${z}`});return{id:D.id,memberIds:D.memberIds,signature:ee.join(",")}}),j=>{const D=new Set(j.map(ee=>ee.id));for(const ee of H.keys())D.has(ee)||H.delete(ee);for(const ee of j)pe(ee.id,ee.memberIds)||H.get(ee.id)===ee.signature||(H.set(ee.id,ee.signature),R(ee.id))},{deep:!0,flush:"post"}),{groupsByOwner:C,memberGroupMap:N,groupNodes:w,branchEdges:x,isBranchEdgeId:k,updateGroupLayout:R,translateGroupTree:Q,getNodeDepth:g,maxGroupDepth:S,waitForLayoutFlush:()=>A??Promise.resolve()}}function O$(e){t.provide(Wy,e)}function Vk(){return t.inject(Wy,void 0)}function $k(){const e=Vk();if(!e)throw new Error("Confirm modal not provided");return e}function P$(e){const{readonly:n,flowId:r}=e,o=xt.useVueFlow(r),{onNodesChange:i,onEdgesChange:a,onPaneClick:s,findEdge:l}=o,{disconnectEdge:c,commit:d,portalSelection:u,selectPortalEdge:f}=Vt();i(p=>{p.some(m=>m.type==="select"&&"selected"in m&&m.selected)&&f(void 0)}),a(p=>{const m=p.some(y=>y.type==="select"&&"selected"in y&&y.selected),h=u.value?p.some(y=>y.type==="remove"&&y.id===u.value):!1;(m||h)&&f(void 0)}),s(()=>f(void 0)),Ot.useEventListener("keydown",p=>{if(n||p.key!=="Delete"&&p.key!=="Backspace")return;const m=u.value;!m||l(m)||(p.preventDefault(),c(m,!1),f(void 0),d())})}function Rk(e){const n=e.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}const V$={default:US,hover:qS,selected:KS};let Lk,Ep;function pc(e){const n=e.id===Lk?"selected":e.id===Ep?"hover":"default",r=V$[n],{markerEnd:o}=e,i=typeof o=="object"?{...o,color:r}:{type:o,color:r},a=e.zIndex??0,s=n==="selected"?a+2:n==="hover"?a+1:a;return{...e,style:{...e.style,stroke:r,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:s}}const[$$,R$]=Ot.createInjectionState(function(e){const{phase:n,flowId:r,layoutOptions:o,readonly:i}=e,{viewport:a,padding:s=Qr.padding,gaps:l=Qr.gaps}=o,{nodes:c=Qr.gaps.nodes}=l,d=xt.useVueFlow(r),u=Vt(),f=Vk(),p=Ql(),{i18n:{t:m}}=Qe(),{findNode:h,fitView:y,deleteKeyCode:g,onNodeDrag:_,onNodeDragStop:k,onConnect:b,onNodesChange:N,onEdgesChange:C,onEdgeUpdate:w,onEdgeMouseEnter:S,onEdgeMouseLeave:x,getNodes:I,setNodes:T,setEdges:A,addSelectedNodes:v,screenToFlowCoordinate:P}=d;g.value=["Delete","Backspace"];const{state:O,commit:R,moveNode:Q,selectNode:pe,removeNode:H,getNodeById:j,connectEdge:D,disconnectEdge:ee,getInEdgesByNodeId:K,branchGroups:J,commit:ce,reset:z,groupMapById:oe}=u,{isGroupId:Pe,canAddMember:Ee}=J,Ge=t.shallowRef(),se=V=>{Ge.value=V},X=t.readonly(Ge);function he(V,fe){const re=j(V.source),ie=j(V.target);return!!(re&&ie&&re.phase===fe&&ie.phase===fe)}const ve=B$({phase:n,readonly:i,flowId:r,draggingId:X}),{memberGroupMap:je,groupNodes:qe,branchEdges:Be,isBranchEdgeId:Ve,updateGroupLayout:$e,translateGroupTree:Ke,getNodeDepth:de,maxGroupDepth:Z}=ve,{activeGroupId:U,start:ne,updateActiveGroup:L,end:M}=T$({phase:n,groupMapById:oe,getNodeDepth:de,canAddMember:Ee,draggingId:X}),Y=t.computed(()=>O.value.nodes.filter(V=>V.phase===n&&!V.hidden).map(V=>{const fe=je.value.get(V.id),re=fe?.position,ie=fe?.dimensions,Re=fe&&re&&ie?{x:V.position.x-re.x,y:V.position.y-re.y}:V.position,Oe=de(V.id),ye=!!(fe&&re&&ie),be=(ye?Oe:0)+Z.value+1;return{id:V.id,type:"flow",position:Re,data:V,deletable:!i&&!nc(V),parentNode:ye?fe.id:void 0,zIndex:be*Fl+iA}})),ae=t.computed(()=>O.value.edges.filter(V=>he(V,n)).filter(V=>!J.isEdgeEnteringGroup(V.source,V.target)).filter(V=>{const fe=j(V.source),re=j(V.target);return!fe?.hidden&&!re?.hidden}).map(V=>{const fe=j(V.source),re=j(V.target);if(!fe||!re){const Re=[];throw fe||Re.push(`source node "${V.source}"`),re||Re.push(`target node "${V.target}"`),new Error(`Missing ${Re.join(" and ")} for edge "${V.id}" in phase "${n}"`)}const ie=Math.max(de(V.source),de(V.target))+Z.value+1;return pc({id:V.id,source:V.source,target:V.target,sourceHandle:V.sourceField?`outputs@${V.sourceField}`:"output",targetHandle:V.targetField?`inputs@${V.targetField}`:"input",markerEnd:xt.MarkerType.ArrowClosed,data:V,updatable:!i,zIndex:ie*Fl+rA})})),me=t.computed(()=>[...Be.value,...ae.value]),{autoLayout:Ae}=v$({phase:n,layoutOptions:o,branchLayout:ve,nodes:Y,edges:me});P$({readonly:i,flowId:r}),t.watch([Y,qe,me],([V,fe,re])=>{T([...fe,...V]),A(re)},{immediate:!0});const ze=t.computed(()=>({padding:s/Math.max(t.toValue(a?.width)??0,t.toValue(a?.height)??0)}));async function ot({source:V,sourceHandle:fe,target:re,targetHandle:ie}){if(!fe||!ie)return;const Re=Rk(fe),Oe=Rk(ie);if(Re?.io==="input"||Oe?.io==="output"||fe==="output"&&ie==="output")return;const ye=K(re);let be=!1,Ct=!1;const rt=[],Ze=[],He=Oe?.io==="input"?ye.filter(pt=>!pt.targetField):ye.filter(pt=>!!pt.targetField);He.length>0&&(be=!0,He.forEach(pt=>{Ze.push(ls(pt,j)),ee(pt.id,!1)}));const Ye=Oe?.io==="input"?Oe?.field?ye.filter(pt=>pt.targetField===Oe.field):ye.filter(pt=>!!pt.targetField):ye.filter(pt=>!pt.targetField);if(Ye.length>0){if(Ye.some(Ut=>Ut.source===V&&Ut.target===re&&Ut.targetField===Oe?.field&&Ut.sourceField===Re?.field))return;Ct=!0,Ye.forEach(Ut=>{Ze.push(ls(Ut,j)),ee(Ut.id,!1)})}if(!D({source:V,sourceField:Re?.field,target:re,targetField:Oe?.field},!1)){z(),p({message:m("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(rt.push(ap(V,Re?.field,re,Oe?.field,j)),be||Ct){if(!f)throw z(),new Error("Expected confirm modal to be provided here when reachable");if(!await f(m(be?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),rt,Ze)){z();return}}ce()}b(ot);let F=!1;const te=()=>{F&&(F=!1,ce())};N(V=>{V.filter(ie=>ie.type==="select").filter(ie=>!Pe(ie.id)).sort((ie,Re)=>ie.selected===Re.selected?0:ie.selected?1:-1).forEach(ie=>{pe(ie.selected?ie.id:void 0)});let re=!1;V.forEach(ie=>{if(ie.type==="remove"){if(Pe(ie.id))return;re=!0,H(ie.id,!1)}}),re&&!F&&(F=!0,queueMicrotask(te))}),_(({node:V,event:fe})=>{if(!V)return;if(Pe(V.id)){const ye=V.id;se(ye),L(void 0);const be=oe.value.get(ye);if(!be)return;const Ct=be.position??{...V.position},rt=V.position.x-Ct.x,Ze=V.position.y-Ct.y;Ke(ye,V.position,rt,Ze);const He=je.value.get(be.ownerId);He&&$e(He.id,!1);return}const re=V.id;ne("canvas"),se(re);const ie=V.parentNode;let Re={...V.position};if(ie&&Pe(ie)){const ye=oe.value.get(ie);ye?.position&&(Re={x:ye.position.x+V.position.x,y:ye.position.y+V.position.y})}if(Q(re,Re,!1),!nc(j(re))){const ye={x:Re.x,y:Re.y,width:V.dimensions?.width??0,height:V.dimensions?.height??0},be=fe&&"clientX"in fe?P({x:fe.clientX,y:fe.clientY}):void 0,Ct={x:ye.x+ye.width/2,y:ye.y+ye.height/2};L(be??Ct)}const Oe=ie&&Pe(ie)?ie:je.value.get(re)?.id;Oe&&$e(Oe,!1)}),k(({node:V})=>{if(!V)return;if(se(void 0),Pe(V.id)){R();return}const fe=V.id,re=V.parentNode;let ie={...V.position};if(re&&Pe(re)){const Oe=oe.value.get(re);Oe?.position&&(ie={x:Oe.position.x+V.position.x,y:Oe.position.y+V.position.y})}Q(fe,ie,!1);const Re=re&&Pe(re)?re:je.value.get(fe)?.id;Re&&$e(Re,!1),ge(fe),M(),R()}),C(V=>{V.filter(ie=>ie.type==="select").sort((ie,Re)=>ie.selected===Re.selected?0:ie.selected?1:-1).forEach(ie=>{Ve(ie.id)||(Lk=ie.selected?ie.id:void 0,A(Re=>Re.map(Oe=>Oe.id!==ie.id||!Oe.markerEnd?Oe:pc({...Oe,zIndex:ie.selected?1:void 0}))))});let re=!1;V.forEach(ie=>{if(ie.type==="remove"){if(Ve(ie.id))return;re=!0,ee(ie.id,!1)}}),re&&!F&&(F=!0,queueMicrotask(te))}),S(({edge:V})=>{Ve(V.id)||(Ep=V.id,A(fe=>fe.map(re=>re.id!==V.id?re:pc(re))))}),x(({edge:V})=>{Ve(V.id)||(Ep=void 0,A(fe=>fe.map(re=>re.id!==V.id?re:pc(re))))}),w(({edge:V,connection:fe})=>{Ve(V.id)||(ee(V.id,!1),ot(fe))});function G(V){y({...ze.value,...V})}async function le(V){return pe(V),new Promise(fe=>setTimeout(()=>{const re=h(V);v(re?[re]:[]),fe()},0))}function Ie(V){const fe=I.value.filter(({type:He})=>He!=="group"),re=fe.find(({id:He})=>He===V);if(!re)throw new Error(`Node ${V} not found`);const{x:ie,y:Re}=re.data.position,{width:Oe,height:ye}=re.dimensions,be=Re,Ct=Re+ye,rt=fe.filter(({id:He})=>He!==V).filter(({data:{position:{y:He}},dimensions:{height:Ye}})=>He<Ct&&He+Ye>be).map(({data:{position:{x:He}},dimensions:{width:Ye}})=>({left:He,right:He+Ye})).sort((He,Ye)=>He.left-Ye.left);let Ze=ie+Oe+c;for(const{left:He,right:Ye}of rt)if(!(Ye<=Ze)){if(Ze+Oe<=He)return{x:Ze,y:be};Ze=Math.max(Ze,Ye)+c}return{x:Ze,y:be}}function tt(V){if(!V)return;const fe=h(V);if(!fe)throw new Error(`Node ${V} not found`);const{position:{x:re},dimensions:{width:ie}}=fe,Re=re+ie,{viewport:Oe,dimensions:ye,setViewport:be}=d,{x:Ct,y:rt,zoom:Ze}=Oe.value,{width:He}=ye.value,Ye=re*Ze+Ct,Bt=Re*Ze+Ct,pt=He-Hy-c;if(Bt<=pt)return;let Ut=pt-Bt;Ye+Ut<0&&(Ut=-Ye),Ut!==0&&be({x:Ct+Ut,y:rt,zoom:Ze},{duration:cA})}function ge(V){if(!U.value)return!1;const{nodeId:fe,branch:re}=WO(U.value),ie=J.addMember(fe,re,V,{commit:!1});return L(void 0),ie}return{vueFlowStore:d,editorStore:u,readonly:i,nodes:Y,edges:me,selectNode:le,autoLayout:Ae,placeToRight:Ie,scrollRightToReveal:tt,fitViewParams:ze,fitView:G,groupDrop:{activeGroupId:U,startPanelDrag:()=>ne("panel"),endPanelDrag:M,updateActiveGroup:L,attachNodeToActiveGroup:ge}}});let Ti=null;function L$(){if(Ti)return Ti;if(typeof navigator>"u")return Ti="windows";const e=navigator.userAgentData?.platform||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?Ti="mac":/Linux/i.test(e)&&!/Android/i.test(e)?Ti="linux":Ti="windows"}const D$={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},M$={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Win",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Spacebar",Delete:"Delete"},F$={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Super",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Space",Delete:"Delete"};function j$(e,n={}){const r=n.platform??L$(),o=n.joiner??(r==="mac"?"":" + "),i=r==="mac"?D$:r==="linux"?F$:M$;return(Array.isArray(e)?e:e[r]).map(s=>s in i?i[s]:s).join(o)}const U$={key:0,class:"label"},K$={class:"keys"},mc=xe(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=j$(e.keys);return(r,o)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:e.reverse}])},[e.label?(t.openBlock(),t.createElementBlock("span",U$,t.toDisplayString(e.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",K$,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-7ca86b0d"]]),q$=["onClick"],G$={key:0,class:"additional-count"},Dk=24,z$=16,gc=xe(t.defineComponent({__name:"NodePortal",props:{expanded:{type:Boolean,default:()=>{}},reversed:{type:Boolean},targets:{}},setup(e){const n=Number.parseFloat(XS)||0,r={target:"body"},{portalSelection:o,selectPortalEdge:i}=Vt(),a=t.ref(!1),s=t.computed(()=>{const h=o.value;return h?e.targets.some(y=>y.edgeId===h):!1}),l=t.computed(()=>e.expanded!==void 0?e.expanded||s.value:a.value||s.value),c=()=>Dk*e.targets.length+n*(e.targets.length-1),d=t.computed(()=>({width:l.value?`${c()}px`:"fit-content"})),u=h=>{i(h)},f=h=>o.value===h,p=t.computed(()=>e.targets.map((h,y)=>{const g=(Dk+n)*y;return{edgeId:h.edgeId,key:`${h.node.id}-${h.fieldName??"node"}-${y}`,icon:Zf(h.node.type).icon,tooltip:h.fieldName?`${h.node.name}.${h.fieldName}`:h.node.name,highlighted:f(h.edgeId),tooltipEl:null,style:y===0?{width:"fit-content",zIndex:e.targets.length}:{position:"absolute",...e.reversed?{left:`${g}px`,transform:l.value?"translateX(0)":`translateX(-${g}px)`}:{right:0,transform:l.value?`translateX(-${g}px)`:"translateX(0)"},zIndex:e.targets.length-y}}})),m=t.computed(()=>Math.max(e.targets.length-1,0));return(h,y)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-portal",{expanded:l.value,reversed:e.reversed}]),onClick:y[0]||(y[0]=t.withModifiers(()=>{},["stop"])),onDragstart:y[1]||(y[1]=t.withModifiers(()=>{},["stop"])),onMousedown:y[2]||(y[2]=t.withModifiers(()=>{},["stop"])),onMouseenter:y[3]||(y[3]=g=>a.value=!0),onMouseleave:y[4]||(y[4]=g=>a.value=!1)},[t.createElementVNode("div",{class:"target-boxes",style:t.normalizeStyle(d.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(g,_)=>(t.openBlock(),t.createBlock(t.unref(_e.KTooltip),{key:g.key,class:"target-box-wrapper","kpop-attributes":r,placement:"top",style:t.normalizeStyle(g.style),text:g.tooltip},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["target-box",{highlighted:g.highlighted}]),onClick:t.withModifiers(k=>u(g.edgeId),["stop"])},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.icon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:z$},null,8,["color"])),_===0&&m.value>0?(t.openBlock(),t.createElementBlock("span",G$," +"+t.toDisplayString(m.value),1)):t.createCommentVNode("",!0)],10,q$)]),_:2},1032,["style","text"]))),128))],4)],34))}}),[["__scopeId","data-v-45ce7484"]]),hc=xe(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>xt.Position.Left},size:{default:()=>Number.parseFloat(Gy)},type:{}},setup(e){t.useCssVars(r=>({v64bbaf90:r.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(r,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[e.type,e.position===t.unref(xt.Position).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-74b600f2"]]),Np=xe(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){t.useCssVars(r=>({v3b4ea967:n.value.colors?.background,v00febd7c:n.value.colors?.foreground}));const n=t.computed(()=>Zf(e.type));return(r,o)=>{const i=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(i,{appearance:"neutral",class:t.normalizeClass(["dk-node-badge",{"icon-only":e.iconOnly,"has-colors":!!n.value.colors}]),size:e.size},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(e.type),1)]),_:2},[n.value?.icon?{name:"icon",fn:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value.icon)))]),key:"0"}:void 0]),1032,["class","size"])}}}),[["__scopeId","data-v-409d29e5"]]),H$={class:"body"},W$={class:"name"},Y$={class:"handle"},J$={class:"handle-label-wrapper"},X$={class:"handle-label-wrapper"},Z$={class:"handle-label text"},Q$={class:"handle"},eR={class:"handle-label-wrapper"},tR={class:"handle-label-wrapper"},nR={class:"handle-label text"},rR={key:2,class:"branch-handles"},oR={class:"handle-label-wrapper"},iR={class:"handle-label text"},Mk=xe(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const n=t.useSlots(),{t:r}=Ft.createI18n("en-us",zt),o=R$(),{getInEdgesByNodeId:i,getOutEdgesByNodeId:a,getNodeById:s,toggleExpanded:l,duplicateNode:c,removeNode:d,propertiesPanelOpen:u,branchGroups:f}=Vt(),p=t.computed(()=>xi(e.data.type)),m=t.computed(()=>e.data.fields.input.length>0),h=t.computed(()=>e.data.fields.output.length>0),y=t.computed(()=>m.value&&i(e.data.id).every(K=>K.targetField===void 0)),g=t.computed(()=>h.value&&a(e.data.id).every(K=>K.sourceField===void 0)),_=t.computed(()=>e.data.expanded.input??!1),k=t.computed(()=>e.data.expanded.output??!1),b=t.computed(()=>p.value.io?.next?.branches?.map(({name:K})=>K)??[]),N=t.computed(()=>b.value.length>0),C=t.computed(()=>f.findMembership(e.data.id)),w=t.computed(()=>{if(e.data.type==="property"){const K=e.data.config?.property;return Yf(K)}return p.value.io?.input}),S=t.computed(()=>{if(e.data.type==="property"){const K=e.data.config?.property;return Wf(K)}return p.value.io?.output}),x=t.computed(()=>nc(e.data)),I=t.computed(()=>e.data.phase==="response"),T=t.computed(()=>e.data.phase==="request"?xt.Position.Left:xt.Position.Right),A=t.computed(()=>e.data.phase==="request"?xt.Position.Right:xt.Position.Left),v=t.computed(()=>e.data.phase==="request"?xt.Position.Right:xt.Position.Left),P=t.computed(()=>nc(e.data)?r(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),O=t.computed(()=>x.value?DS:MS);function R(K){return K==="input"?I.value:!I.value}function Q(K){const J=new Map,ce=K==="input"?i(e.data.id):a(e.data.id);for(const z of ce){const oe=s(K==="input"?z.source:z.target);if(!oe)continue;if(K==="input"){const X=oe.type==="vault",he=oe.phase!==e.data.phase,ve=f.isEdgeEnteringGroup(oe.id,e.data.id);if(!(X||he||ve))continue}else{const X=oe.phase!==e.data.phase,he=f.isEdgeEnteringGroup(e.data.id,oe.id);if(!(X||he))continue}const Pe=K==="input"?z.targetField||"input":z.sourceField||"output";let Ee;K==="input"&&z.sourceField?Ee=oe.fields.output.find(he=>he.id===z.sourceField)?.name:K==="output"&&z.targetField&&(Ee=oe.fields.input.find(he=>he.id===z.targetField)?.name);const Ge={edgeId:z.id,node:oe,fieldName:Ee},se=J.get(Pe);se?se.push(Ge):J.set(Pe,[Ge])}return J}const pe=t.computed(()=>Q("input")),H=t.computed(()=>Q("output"));function j(K){!o||o.readonly||K==="input"&&!y.value||K==="output"&&!g.value||l(e.data.id,K)}async function D(){if(!o||o.readonly)return;const K=c(e.data.id,o.placeToRight(e.data.id));await o.selectNode(K),o.scrollRightToReveal(K),u.value=!0}function ee(){f.removeMember(e.data.id)}return t.watch(y,K=>{K||l(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(g,K=>{K||l(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(K,J)=>{Kt(K,J)||l(e.data.id,"input",K.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(K,J)=>{Kt(K,J)||l(e.data.id,"output",K.length>0,!0,"*")},{deep:!0}),(K,J)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-flow-node",{reversed:I.value,implicit:x.value,readonly:e.readonly}])},[t.createElementVNode("div",H$,[x.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(_e.KTooltip),{key:0,class:"badge",placement:"top",text:e.data.type},{default:t.withCtx(()=>[t.createVNode(Np,{"icon-only":"",size:"small",type:e.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",W$,t.toDisplayString(P.value),1),e.error?(t.openBlock(),t.createBlock(t.unref(Ne.WarningIcon),{key:1,class:"error-icon",color:`var(--kui-color-text-danger, ${t.unref(jy)})`,size:16},null,8,["color"])):t.createCommentVNode("",!0),n.actions?t.renderSlot(K.$slots,"actions",{key:2,data:e.data},void 0,!0):x.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(_e.KDropdown),{key:3,class:"menu",disabled:e.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:J[1]||(J[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(_e.KDropdownItem),{onClick:D},{default:t.withCtx(()=>[t.createVNode(mc,{keys:t.unref(jl).duplicate,label:t.unref(r)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),C.value?(t.openBlock(),t.createBlock(t.unref(_e.KDropdownItem),{key:0,onClick:ee},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(_e.KDropdownItem),{danger:"",onClick:J[0]||(J[0]=ce=>t.unref(d)(e.data.id))},{default:t.withCtx(()=>[t.createVNode(mc,{keys:t.unref(jl).delete,label:t.unref(r)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:`var(--kui-color-text, ${t.unref(gf)})`},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),n["before-handles"]?t.renderSlot(K.$slots,"before-handles",{key:0,data:e.data},void 0,!0):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:I.value}])},[w.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":m.value}])},[t.createElementVNode("div",Y$,[t.createVNode(t.unref(xt.Handle),{id:"input",position:T.value,type:"target"},null,8,["position"]),pe.value.has("input")?(t.openBlock(),t.createBlock(gc,{key:0,mode:"input",reversed:R("input"),targets:pe.value.get("input")},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",J$,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:y.value}]),onClick:J[2]||(J[2]=t.withModifiers(ce=>j("input"),["stop"]))},[J[4]||(J[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),m.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[_.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldMoreIcon),{key:0,size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["size"])),_.value?(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldLessIcon),{key:1,color:y.value?void 0:`var(--kui-color-text-disabled, ${t.unref(Ky)})`,size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),m.value&&_.value?(t.openBlock(),t.createBlock(hc,{key:0,color:O.value,position:T.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),m.value&&_.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.input,(ce,z)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${ce.id}`,class:"handle indented"},[t.createVNode(t.unref(xt.Handle),{id:`inputs@${ce.id}`,position:T.value,type:"target"},null,8,["id","position"]),pe.value.has(ce.id)?(t.openBlock(),t.createBlock(gc,{key:0,mode:"input",reversed:R("input"),targets:pe.value.get(ce.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",X$,[t.createElementVNode("div",Z$,t.toDisplayString(ce.name),1),t.createVNode(hc,{color:O.value,position:T.value,type:z<e.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),S.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":h.value}])},[t.createElementVNode("div",Q$,[t.createElementVNode("div",eR,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:g.value}]),onClick:J[3]||(J[3]=t.withModifiers(ce=>j("output"),["stop"]))},[J[5]||(J[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),h.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[k.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldMoreIcon),{key:0,size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["size"])),k.value?(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldLessIcon),{key:1,color:g.value?void 0:`var(--kui-color-text-disabled, ${t.unref(Ky)})`,size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),h.value&&k.value?(t.openBlock(),t.createBlock(hc,{key:0,color:O.value,position:A.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(xt.Handle),{id:"output",position:A.value,type:"source"},null,8,["position"]),H.value.has("output")?(t.openBlock(),t.createBlock(gc,{key:0,mode:"output",reversed:R("output"),targets:H.value.get("output")},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]),h.value&&k.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.output,(ce,z)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${ce.id}`,class:"handle indented"},[t.createElementVNode("div",tR,[t.createElementVNode("div",nR,t.toDisplayString(ce.name),1),t.createVNode(hc,{color:O.value,position:A.value,type:z<e.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(xt.Handle),{id:`outputs@${ce.id}`,position:A.value,type:"source"},null,8,["id","position"]),H.value.has(ce.id)?(t.openBlock(),t.createBlock(gc,{key:0,mode:"output",reversed:R("output"),targets:H.value.get(ce.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),N.value?(t.openBlock(),t.createElementBlock("div",rR,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,ce=>(t.openBlock(),t.createElementBlock("div",{key:`branch-${ce}`,class:"handle"},[t.createElementVNode("div",oR,[t.createElementVNode("div",iR,t.toDisplayString(ce),1)]),t.createVNode(t.unref(xt.Handle),{id:`branch@${ce}`,connectable:!1,position:v.value,type:"source"},null,8,["id","position"])]))),128))])):t.createCommentVNode("",!0)],2),n["after-handles"]?t.renderSlot(K.$slots,"after-handles",{key:1,data:e.data},void 0,!0):t.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-1de3b7cb"]]),aR=xe(t.defineComponent({__name:"GroupNode",props:{data:{},active:{type:Boolean}},setup(e){const n=e,r=t.computed(()=>n.data.phase==="response"),o=t.computed(()=>r.value?xt.Position.Right:xt.Position.Left);return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-branch-group-node",{reversed:r.value,"drop-target":e.active}])},[t.createVNode(t.unref(xt.Handle),{id:"input",connectable:!1,position:o.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-cf30ffea"]]),Sp=xe(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change","node-click"],setup(e,{expose:n,emit:r}){const o=t.useSlots(),i=r,a=t.useTemplateRef("flowCanvas"),s=Ot.useElementBounding(a),{i18n:{t:l}}=Qe(),c=t.computed(()=>{const Ee=e.mode==="edit"||e.mode==="inspect";return{panOnDrag:Ee?void 0:!1,panOnScroll:Ee?void 0:!1,zoomOnDoubleClick:Ee?void 0:!1,zoomOnPinch:Ee?void 0:!1,zoomOnScroll:Ee?void 0:!1}}),{vueFlowStore:d,editorStore:u,autoLayout:f,fitViewParams:p,fitView:m,selectNode:h,placeToRight:y,scrollRightToReveal:g,groupDrop:_}=$$({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:s.width,height:s.height}},readonly:e.mode!=="edit"}),{addNode:k,propertiesPanelOpen:b,invalidConfigNodeIds:N,selectedNode:C,duplicateNode:w,commit:S,selectPortalEdge:x}=u,{screenToFlowCoordinate:I,zoomIn:T,zoomOut:A,viewport:v,maxZoom:P,minZoom:O}=d,{activeGroupId:R,startPanelDrag:Q,endPanelDrag:pe,updateActiveGroup:H,attachNodeToActiveGroup:j}=_;function D(Ee){const Ge=Ee.dataTransfer?.types.find(se=>se.startsWith(`${Ga}/`));if(Ge)return Ge.replace(`${Ga}/`,"")}function ee(Ee){if(e.mode==="inspect"){if(Ee?.node?.type==="group")return;i("node-click",Ee.node.data);return}if(e.mode==="edit"){if(Ee?.node?.type==="group"){h(void 0),x(void 0);return}b.value=!0}}function K(Ee){e.mode==="edit"&&(Ee.preventDefault(),H(I({x:Ee.clientX,y:Ee.clientY})))}function J(Ee){if(e.mode!=="edit")return;const Ge=Ee.dataTransfer?.getData(Ga);if(!Ge)return;Ee.preventDefault();const se=JSON.parse(Ge);if(se.action!=="create-node")return;const X=I({x:Ee.clientX,y:Ee.clientY}),{type:he,anchor:ve}=se.data,je={type:he,phase:e.phase,position:{x:X.x-ve.offsetX,y:X.y-ve.offsetY}},qe=k(je,!1);if(!qe){pe();return}j(qe),S(),h(qe),b.value=!0,pe()}async function ce(){i("initialized"),e.mode==="inspect"&&setTimeout(async()=>{await f(!1),setTimeout(()=>m(),0)},0)}async function z(){await f(),setTimeout(()=>m(),0)}const oe=t.computed(()=>{if(e.mode==="preview")return[];const Ee=[{name:"zoom_in",icon:Ne.AddIcon,action:T,disabled:v.value.zoom>=P.value},{name:"zoom_out",icon:Ne.RemoveIcon,action:A,disabled:v.value.zoom<=O.value},{name:"fit_view",icon:Ne.FullscreenIcon,action:m}];return e.mode==="edit"&&Ee.push({name:"auto_layout",icon:Ne.AutoLayoutIcon,action:z}),Ee});e.mode==="edit"&&(Ot.useEventListener("dragstart",Ee=>{D(Ee)&&Q()}),Ot.useEventListener("dragend",()=>{pe()}));async function Pe(){const Ee=C.value;if(e.mode!=="edit"||!Ee||Ee.phase!==e.phase)return;const Ge=w(Ee.id,y(Ee.id));Ge&&(await h(Ge),b.value=!0,g(Ge))}return Fy({enabled:t.computed(()=>!!C.value&&e.mode==="edit"&&C.value.phase===e.phase),duplicate:Pe}),n({autoLayout:f,fitView:m}),(Ee,Ge)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:a,class:"dk-flow-canvas"},[t.createVNode(t.unref(xt.VueFlow),t.mergeProps({id:e.flowId,class:["flow",{readonly:e.mode!=="edit",inspect:e.mode==="inspect"}]},c.value,{"connect-on-click":!1,"elements-selectable":e.mode==="edit"||e.mode==="inspect","max-zoom":t.unref(sA),"min-zoom":t.unref(lA),"multi-selection-key-code":null,"nodes-connectable":e.mode==="edit","nodes-draggable":e.mode==="edit",onDragover:K,onDrop:J,onNodeClick:ee,onNodesChange:Ge[0]||(Ge[0]=se=>i("nodes-change")),onNodesInitialized:ce}),{"node-flow":t.withCtx(({data:se})=>[t.createVNode(Mk,{data:se,error:t.unref(N).has(se.id),readonly:e.mode!=="edit"},t.createSlots({_:2},[o["node-before-handles"]?{name:"before-handles",fn:t.withCtx(()=>[t.renderSlot(Ee.$slots,"node-before-handles",{data:se},void 0,!0)]),key:"0"}:void 0,o["node-actions"]?{name:"actions",fn:t.withCtx(()=>[t.renderSlot(Ee.$slots,"node-actions",{data:se},void 0,!0)]),key:"1"}:void 0,o["node-after-handles"]?{name:"after-handles",fn:t.withCtx(()=>[t.renderSlot(Ee.$slots,"node-after-handles",{data:se},void 0,!0)]),key:"2"}:void 0]),1032,["data","error","readonly"])]),"node-group":t.withCtx(({data:se})=>[t.createVNode(aR,{active:t.unref(R)===se.id,data:se},null,8,["active","data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(IS.Background)),t.createVNode(t.unref(Dy.Controls),{"fit-view-params":t.unref(p),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(oe.value,se=>(t.openBlock(),t.createBlock(t.unref(_e.KTooltip),{key:se.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${se.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(Dy.ControlButton),{disabled:se.disabled,onClick:t.withModifiers(se.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(se.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:3},16,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable"])],512))}}),[["__scopeId","data-v-11561a7e"]]);function Fk(){const e=["methods","logout_methods"];return{setFieldType:(u,f,p)=>{if(!(!u||!f||!p))switch(p.type){case"boolean":u[f]={type:ue.ConfigurationSchemaType.BadgeStatus,...u[f]};break;case"string":p.encrypted?u[f]={type:ue.ConfigurationSchemaType.Redacted,...u[f]}:u[f]={type:ue.ConfigurationSchemaType.Text,...u[f]};break;case"set":p.elements?.type==="string"&&(u[f]={type:ue.ConfigurationSchemaType.BadgeTag,...u[f]});break;case"array":e.includes(f)?u[f]={type:ue.ConfigurationSchemaType.BadgeMethod,...u[f]}:p.elements?.type==="string"?p.encrypted?u[f]={type:ue.ConfigurationSchemaType.RedactedArray,...u[f]}:u[f]={type:ue.ConfigurationSchemaType.BadgeTag,...u[f]}:p.elements?.type==="record"&&(u[f]={type:ue.ConfigurationSchemaType.Json,...u[f]});break;case"record":u[f]={type:ue.ConfigurationSchemaType.Json,...u[f]};break;default:u[f]={type:ue.ConfigurationSchemaType.Text,...u[f]};break}},convertToDotNotation:u=>u.replace(/-/g,"."),unFlattenObject:u=>{const f={};for(const p in u){const m=p.split(".");m.reduce((h,y,g)=>h[y]||(h[y]=isNaN(m[g+1])?m.length-1===g?u[p]:{}:[]),f)}return f},dismissField:(u,f,p="redis",m=!1)=>{const h=new RegExp("(?<=-redis-).*");if(typeof u!="object"||u===null)return u;p==="redis"?Object.keys(u).forEach(y=>{y.match(h)&&delete u[y]}):m?u[p]=null:delete u[p],Object.assign(u,f)},isObjectEmpty:u=>Object.keys(u).length===0,unsetNullForeignKey:(u,f)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(u)>-1&&f[u]===null&&(delete f[u],f[u.replace(".id","")]=null)},formatPluginFieldLabel:u=>u.replace(/_/g," ").split("-").map(f=>f.charAt(0).toUpperCase()+f.slice(1)).join("-"),getTallestPluginCardHeight:u=>{let f=0;if(u.length)for(let p=0;p<u.length;p++){const m=u[p].$el;f=m.offsetHeight>f?m.offsetHeight:f}return f},getToggleVisibility:(u,f)=>{if(u&&f){const p=window?.getComputedStyle(u)?.getPropertyValue("grid-template-columns")?.split(" ").length;return f>p}return!0}}}const sR=["basic-auth","key-auth","key-auth-enc","oauth2","hmac-auth","jwt","acl"];var yc=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(yc||{});const _c=["Featured"],Ap=[q.PluginGroup.AUTHENTICATION,q.PluginGroup.AI,q.PluginGroup.SECURITY,q.PluginGroup.TRAFFIC_CONTROL,q.PluginGroup.SERVERLESS,q.PluginGroup.ANALYTICS_AND_MONITORING,q.PluginGroup.TRANSFORMATIONS,q.PluginGroup.LOGGING,q.PluginGroup.DEPLOYMENT,q.PluginGroup.WEBSOCKET,q.PluginGroup.MONETIZATION,q.PluginGroup.CUSTOM_PLUGINS],bc=[q.PluginGroup.AI,q.PluginGroup.ANALYTICS_AND_MONITORING,q.PluginGroup.AUTHENTICATION,q.PluginGroup.LOGGING,q.PluginGroup.MONETIZATION,q.PluginGroup.SECURITY,q.PluginGroup.SERVERLESS,q.PluginGroup.TRAFFIC_CONTROL,q.PluginGroup.TRANSFORMATIONS,q.PluginGroup.CUSTOM_PLUGINS];var To=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(To||{});const Bo=e=>{const n=Object.fromEntries(e.fields.map(r=>Object.entries(r)[0]));return"id"in n||(n.id={}),n},Oo={label:"Tags",name:"tags",type:"input",inputType:"text",valueType:"array",valueArrayType:"string",placeholder:"Enter list of tags",help:"An optional set of strings for grouping and filtering, separated by commas.",hint:"e.g. tag1, tag2, tag3"},Bi={getColumnFields:Bo,tags:Oo,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(e){const n=e.inputAttributes||{};return delete e.inputAttributes,{type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",newElementButtonLabelClasses:"kong-form-new-element-button-label",inputAttributes:{class:"form-control",style:{minWidth:"200px"},...n},removeElementButtonLabel:"remove",styleClasses:"kong-form-field-wrapper",inputType:"text",valueType:"array",valueArrayType:"string",...e}}}},jk={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:Oo}]},lR={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{group:{required:!0,type:"string",hint:"The arbitrary group name to associate to the consumer."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Uk={fields:[{username:{}},{password:{inputType:"password"}},{tags:Oo}]},cR={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0}},{password:{type:"string",required:!0,encrypted:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Kk=t.defineComponent({name:"KeyAuthIdentityRealmsBase",__name:"Base",props:t.mergeModels({realms:{}},{modelValue:{default:[{scope:"cp",id:null,region:null}]},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,r=t.useModel(e,"modelValue"),{i18n:o}=it.useI18n(),{t:i}=o,a={value:"current-cp",label:i("custom_field.key_auth_identity_realms.cp_label"),group:i("custom_field.key_auth_identity_realms.cp_group_label")},s=t.inject(Je.FORMS_CONFIG),{axiosInstance:l}=ue.useAxios(s?.axiosRequestConfig),c=()=>{if(s?.app==="konnect"){const h=/\b(us|eu|au|me|in|sg)\b/.exec(s?.apiBaseUrl||"");if(h)return{region:h[1]}}return{}},d=t.ref(!0),u=t.ref([a]),f=async()=>{if(s?.app==="konnect")try{d.value=!0;let h=`${s?.apiBaseUrl}/v1/realms`;const y=[];do{const g=await l.get(h);g&&g.data&&g.data.data&&y.push(...g.data.data.map(_=>({value:_.id,label:_.name,group:i("custom_field.key_auth_identity_realms.realm_group_label")}))),h=g.data.meta.next?`${s?.apiBaseUrl}${g.data.meta.next}`:null}while(h);u.value=[a,...y]}catch(h){console.error("Failed to fetch Konnect realms",h)}finally{d.value=!1}},p=t.computed(()=>r.value.map(h=>h.id||"current-cp")),m=h=>{const y=h.includes("current-cp")?[{scope:"cp",id:null,region:null}]:[],g=r.value.filter(({scope:C})=>C!=="cp").map(({id:C})=>C),_=h.filter(C=>C!=="current-cp"),N=(g.length!==_.length||g.some(C=>!_.includes(C))?_.filter(C=>!g.includes(C)):_).map(C=>({...c(),scope:"realm",id:C}));r.value=[...y,...N]};return t.onMounted(()=>{n.realms===void 0&&f()}),t.watch(()=>n.realms,h=>{h&&(u.value=[a,...h.map(y=>({...y,group:i("custom_field.key_auth_identity_realms.realm_group_label")}))],d.value=!1)},{immediate:!0}),(h,y)=>{const g=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(g,{items:u.value,loading:d.value,"model-value":p.value,"onUpdate:modelValue":m},null,8,["items","loading","model-value"])}}}),dR={class:"field-wrapper"},uR=xe(t.defineComponent({__name:"VfgAdapter",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:r}){const o=e,i=r,{clearValidationErrors:a,value:s}=Je.composables.useAbstractFields({model:t.toRef(()=>o.model),schema:o.schema,formOptions:o.formOptions,emitModelUpdated:l=>{i("modelUpdated",l.value,l.model)}});return n({clearValidationErrors:a}),(l,c)=>(t.openBlock(),t.createElementBlock("div",dR,[t.createVNode(Kk,{modelValue:t.unref(s),"onUpdate:modelValue":c[0]||(c[0]=d=>t.isRef(s)?s.value=d:null)},null,8,["modelValue"])]))}}),[["__scopeId","data-v-269e85ed"]]),qk={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
3
+ will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}},custom_plugin_form:{step1:{title:"Custom plugin type",types:{installed:{label:"Installed custom plugin",description:"Install and manage plugins with full control over deployment and runtime. Requires restarting data planes."},streamed:{label:"Streamed custom plugin",description:"Deploy and update plugins on running data planes without requiring gateway access."},cloned:{label:"Cloned plugin",description:"Duplicate an existing plugin to run multiple instances within a single request."}},compare_trigger:"Compare deployment options",compare_table:{columns:{installed:"Installed custom plugin",streamed:"Streamed custom plugin",cloned:"Cloned plugin"},rows:{main_use_case:{header:"Main use case",installed:"Extend Kong functionality with custom plugins and control who can modify and roll out changes.",streamed:"Extend Kong functionality with plugins without requiring sysadmin access to data plane instances.",cloned:"Modify an existing plugin to run multiple instances with different names or priorities."},file_supplied:{header:"File supplied",installed:{handler:"handler.lua",schema:"schema.lua",additional:"Any additional files or libraries needed"},streamed:{handler:"handler.lua",schema:"schema.lua"}},how_installed:{header:"How it's installed",installed:"Install directly on the data plane",streamed:"Through gateway configuration changes",cloned:"Through gateway configuration changes"},sandboxing:{header:"Sandboxing",streamed:"Follows the standard sandboxing settings. {link}",streamed_link:"Link to docs",cloned:"Inherit the same sandboxing as the original plugins"},data_plane_reload:{header:"Data plane reload"}}}},step2_files:{title:"Custom plugin files",schema_file:{label:"Upload schema file",placeholder:"No file selected",placeholder_edit:"File not changed",button_text:"Select File",help:"Only Lua based schemas are supported by Konnect. Other plugin modules can be in any language as desired. Learn more"},handler_file:{label:"Upload handler file",placeholder:"No file selected",placeholder_edit:"File not changed",button_text:"Select File",help:"Upload plugin handler to the data plane."},plugin_modules:{label:"Plugin modules",alert:"Upload all plugin modules to the data plane: schema.lua, handler.lua"}},step2_clone:{title:"Clone plugin",select_plugin:{label:"Select a plugin",placeholder:"Type to search"}},step3:{title:"General information",description:"Enter a custom name for this custom plugin",name:{label:"Name",placeholder:"Enter a unique name",help:"The name must be identical to the name of the plugin in the schema file."},alias_name:{label:"Alias name",placeholder:"Enter a unique name",help:"Format: ^[a-z][a-z0-9-]*[a-z0-9]$. The name must be unique enough to avoid future conflicts with bundled plugins."},priority:{label:"Priority",tooltip:"Set the execution priority for this cloned plugin",help:{text:"Optional. Use a number to set the absolute execution priority. If priority isn't set, plugins run in alphabetical order. {link} in the docs.",link:"Learn more"}}},errors:{file_read_error:"Failed to read file content. Please try again.",file_too_large:"File size exceeds the maximum limit of 1 MB.",plugin_not_found:"The selected plugin could not be found. Please refresh the list and try again.",no_supported_types:"No supported custom plugin types are available in this context.",unsupported_plugin_type:"Unsupported plugin type {type}."}}};function Qe(){const e=Ft.createI18n("en-us",zt);return{i18n:e,i18nT:Ft.i18nTComponent(e)}}const OS=["undo","redo","duplicate","cut","copy","paste"],My=()=>{};function PS(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function VS(e){if(!(e.metaKey||e.ctrlKey))return;switch(e.key.toLowerCase()){case"z":return e.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const $S=Ot.createSharedComposable(()=>{const e=new Set;Ot.useEventListener("keydown",r=>{if(PS(r.target))return;const o=VS(r);if(o)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[o];if(a){if(r.defaultPrevented){t.warn(`[useHotkeys] event for "${o}" was already defaultPrevented. Hotkey ignored.`);return}r.preventDefault(),a();return}}},{passive:!1});function n(r){if(!OS.some(i=>typeof r[i]=="function"))return My;const o={enabled:r.enabled??!0,...r};return e.add(o),()=>e.delete(o)}return{subscribe:n}});function Fy(e={}){if(typeof window>"u")return My;const n=$S().subscribe(e);return t.onScopeDispose(n),n}const RS="#ecfcff",LS="#f1f0ff",DS="#52596e",MS="#e0e4ea",FS="#007d60",jS="#fffce0",US="#6c7489",KS="#0044f4",qS="#5f9aff",gf="#0d0e14",jy="#d60027",GS="#00abd2",Uy="#6f28ff",Ky="#afb7c5",sr="#6c7489",zS="#0044f4",HS="#eefaff",qy="#007d60",WS="#ecfffb",YS="#995c00",JS="#306fff",hi="12px",Tn="16px",ko="20px",hf="24px",XS="2px",Gy="8px",ZS="32px",zy=44,QS=220,Hy=366,eA=1e3,tA=zy+parseFloat(Gy),Fl=1,nA=0,rA=1,oA=2,iA=3,yi=parseInt(ZS,10),Ga="application/x-datakit+json",jl={delete:["Delete"],undo:["Mod","Z"],redo:{mac:["Mod","Shift","Z"],windows:["Mod","Y"],linux:["Mod","Shift","Z"]},copy:["Mod","C"],paste:["Mod","V"],duplicate:["Mod","D"]},Qr={padding:80,gaps:{nodes:60,edges:80,ranks:60}},aA=1600,sA=1.2,lA=0,cA=200,Wy=Symbol("confirm-modal");var Yy=typeof global=="object"&&global&&global.Object===Object&&global,dA=typeof self=="object"&&self&&self.Object===Object&&self,lr=Yy||dA||Function("return this")(),Ln=lr.Symbol,Jy=Object.prototype,uA=Jy.hasOwnProperty,fA=Jy.toString,za=Ln?Ln.toStringTag:void 0;function pA(e){var n=uA.call(e,za),r=e[za];try{e[za]=void 0;var o=!0}catch{}var i=fA.call(e);return o&&(n?e[za]=r:delete e[za]),i}var mA=Object.prototype,gA=mA.toString;function hA(e){return gA.call(e)}var yA="[object Null]",_A="[object Undefined]",Xy=Ln?Ln.toStringTag:void 0;function wo(e){return e==null?e===void 0?_A:yA:Xy&&Xy in Object(e)?pA(e):hA(e)}function cr(e){return e!=null&&typeof e=="object"}var bA="[object Symbol]";function yf(e){return typeof e=="symbol"||cr(e)&&wo(e)==bA}function _f(e,n){for(var r=-1,o=e==null?0:e.length,i=Array(o);++r<o;)i[r]=n(e[r],r,e);return i}var Jn=Array.isArray,Zy=Ln?Ln.prototype:void 0,Qy=Zy?Zy.toString:void 0;function e_(e){if(typeof e=="string")return e;if(Jn(e))return _f(e,e_)+"";if(yf(e))return Qy?Qy.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Co(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function t_(e){return e}var kA="[object AsyncFunction]",wA="[object Function]",CA="[object GeneratorFunction]",EA="[object Proxy]";function Ul(e){if(!Co(e))return!1;var n=wo(e);return n==wA||n==CA||n==kA||n==EA}var bf=lr["__core-js_shared__"],n_=(function(){var e=/[^.]+$/.exec(bf&&bf.keys&&bf.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function NA(e){return!!n_&&n_ in e}var SA=Function.prototype,AA=SA.toString;function Eo(e){if(e!=null){try{return AA.call(e)}catch{}try{return e+""}catch{}}return""}var xA=/[\\^$.*+?()[\]{}|]/g,IA=/^\[object .+?Constructor\]$/,vA=Function.prototype,TA=Object.prototype,BA=vA.toString,OA=TA.hasOwnProperty,PA=RegExp("^"+BA.call(OA).replace(xA,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function VA(e){if(!Co(e)||NA(e))return!1;var n=Ul(e)?PA:IA;return n.test(Eo(e))}function $A(e,n){return e?.[n]}function No(e,n){var r=$A(e,n);return VA(r)?r:void 0}var kf=No(lr,"WeakMap"),r_=Object.create,RA=(function(){function e(){}return function(n){if(!Co(n))return{};if(r_)return r_(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}})();function LA(e,n,r){switch(r.length){case 0:return e.call(n);case 1:return e.call(n,r[0]);case 2:return e.call(n,r[0],r[1]);case 3:return e.call(n,r[0],r[1],r[2])}return e.apply(n,r)}function DA(e,n){var r=-1,o=e.length;for(n||(n=Array(o));++r<o;)n[r]=e[r];return n}var MA=800,FA=16,jA=Date.now;function UA(e){var n=0,r=0;return function(){var o=jA(),i=FA-(o-r);if(r=o,i>0){if(++n>=MA)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function KA(e){return function(){return e}}var Kl=(function(){try{var e=No(Object,"defineProperty");return e({},"",{}),e}catch{}})(),qA=Kl?function(e,n){return Kl(e,"toString",{configurable:!0,enumerable:!1,value:KA(n),writable:!0})}:t_,o_=UA(qA);function GA(e,n){for(var r=-1,o=e==null?0:e.length;++r<o&&n(e[r],r,e)!==!1;);return e}function zA(e,n,r,o){for(var i=e.length,a=r+-1;++a<i;)if(n(e[a],a,e))return a;return-1}function HA(e){return e!==e}function WA(e,n,r){for(var o=r-1,i=e.length;++o<i;)if(e[o]===n)return o;return-1}function YA(e,n,r){return n===n?WA(e,n,r):zA(e,HA,r)}function JA(e,n){var r=e==null?0:e.length;return!!r&&YA(e,n,0)>-1}var XA=9007199254740991,ZA=/^(?:0|[1-9]\d*)$/;function wf(e,n){var r=typeof e;return n=n??XA,!!n&&(r=="number"||r!="symbol"&&ZA.test(e))&&e>-1&&e%1==0&&e<n}function i_(e,n,r){n=="__proto__"&&Kl?Kl(e,n,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[n]=r}function Cf(e,n){return e===n||e!==e&&n!==n}var QA=Object.prototype,ex=QA.hasOwnProperty;function Ef(e,n,r){var o=e[n];(!(ex.call(e,n)&&Cf(o,r))||r===void 0&&!(n in e))&&i_(e,n,r)}function Ha(e,n,r,o){var i=!r;r||(r={});for(var a=-1,s=n.length;++a<s;){var l=n[a],c=void 0;c===void 0&&(c=e[l]),i?i_(r,l,c):Ef(r,l,c)}return r}var a_=Math.max;function s_(e,n,r){return n=a_(n===void 0?e.length-1:n,0),function(){for(var o=arguments,i=-1,a=a_(o.length-n,0),s=Array(a);++i<a;)s[i]=o[n+i];i=-1;for(var l=Array(n+1);++i<n;)l[i]=o[i];return l[n]=r(s),LA(e,this,l)}}function tx(e,n){return o_(s_(e,n,t_),e+"")}var nx=9007199254740991;function Nf(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=nx}function ql(e){return e!=null&&Nf(e.length)&&!Ul(e)}var rx=Object.prototype;function Gl(e){var n=e&&e.constructor,r=typeof n=="function"&&n.prototype||rx;return e===r}function ox(e,n){for(var r=-1,o=Array(e);++r<e;)o[r]=n(r);return o}var ix="[object Arguments]";function l_(e){return cr(e)&&wo(e)==ix}var c_=Object.prototype,ax=c_.hasOwnProperty,sx=c_.propertyIsEnumerable,zl=l_((function(){return arguments})())?l_:function(e){return cr(e)&&ax.call(e,"callee")&&!sx.call(e,"callee")};function lx(){return!1}var d_=typeof ke=="object"&&ke&&!ke.nodeType&&ke,u_=d_&&typeof module=="object"&&module&&!module.nodeType&&module,cx=u_&&u_.exports===d_,f_=cx?lr.Buffer:void 0,dx=f_?f_.isBuffer:void 0,Wa=dx||lx,ux="[object Arguments]",fx="[object Array]",px="[object Boolean]",mx="[object Date]",gx="[object Error]",hx="[object Function]",yx="[object Map]",_x="[object Number]",bx="[object Object]",kx="[object RegExp]",wx="[object Set]",Cx="[object String]",Ex="[object WeakMap]",Nx="[object ArrayBuffer]",Sx="[object DataView]",Ax="[object Float32Array]",xx="[object Float64Array]",Ix="[object Int8Array]",vx="[object Int16Array]",Tx="[object Int32Array]",Bx="[object Uint8Array]",Ox="[object Uint8ClampedArray]",Px="[object Uint16Array]",Vx="[object Uint32Array]",vt={};vt[Ax]=vt[xx]=vt[Ix]=vt[vx]=vt[Tx]=vt[Bx]=vt[Ox]=vt[Px]=vt[Vx]=!0,vt[ux]=vt[fx]=vt[Nx]=vt[px]=vt[Sx]=vt[mx]=vt[gx]=vt[hx]=vt[yx]=vt[_x]=vt[bx]=vt[kx]=vt[wx]=vt[Cx]=vt[Ex]=!1;function $x(e){return cr(e)&&Nf(e.length)&&!!vt[wo(e)]}function Sf(e){return function(n){return e(n)}}var p_=typeof ke=="object"&&ke&&!ke.nodeType&&ke,Ya=p_&&typeof module=="object"&&module&&!module.nodeType&&module,Rx=Ya&&Ya.exports===p_,Af=Rx&&Yy.process,_i=(function(){try{var e=Ya&&Ya.require&&Ya.require("util").types;return e||Af&&Af.binding&&Af.binding("util")}catch{}})(),m_=_i&&_i.isTypedArray,xf=m_?Sf(m_):$x,Lx=Object.prototype,Dx=Lx.hasOwnProperty;function g_(e,n){var r=Jn(e),o=!r&&zl(e),i=!r&&!o&&Wa(e),a=!r&&!o&&!i&&xf(e),s=r||o||i||a,l=s?ox(e.length,String):[],c=l.length;for(var d in e)(n||Dx.call(e,d))&&!(s&&(d=="length"||i&&(d=="offset"||d=="parent")||a&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||wf(d,c)))&&l.push(d);return l}function h_(e,n){return function(r){return e(n(r))}}var Mx=h_(Object.keys,Object),Fx=Object.prototype,jx=Fx.hasOwnProperty;function y_(e){if(!Gl(e))return Mx(e);var n=[];for(var r in Object(e))jx.call(e,r)&&r!="constructor"&&n.push(r);return n}function If(e){return ql(e)?g_(e):y_(e)}function Ux(e){var n=[];if(e!=null)for(var r in Object(e))n.push(r);return n}var Kx=Object.prototype,qx=Kx.hasOwnProperty;function Gx(e){if(!Co(e))return Ux(e);var n=Gl(e),r=[];for(var o in e)o=="constructor"&&(n||!qx.call(e,o))||r.push(o);return r}function vf(e){return ql(e)?g_(e,!0):Gx(e)}var zx=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hx=/^\w*$/;function Wx(e,n){if(Jn(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||yf(e)?!0:Hx.test(e)||!zx.test(e)||n!=null&&e in Object(n)}var Ja=No(Object,"create");function Yx(){this.__data__=Ja?Ja(null):{},this.size=0}function Jx(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Xx="__lodash_hash_undefined__",Zx=Object.prototype,Qx=Zx.hasOwnProperty;function eI(e){var n=this.__data__;if(Ja){var r=n[e];return r===Xx?void 0:r}return Qx.call(n,e)?n[e]:void 0}var tI=Object.prototype,nI=tI.hasOwnProperty;function rI(e){var n=this.__data__;return Ja?n[e]!==void 0:nI.call(n,e)}var oI="__lodash_hash_undefined__";function iI(e,n){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=Ja&&n===void 0?oI:n,this}function So(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var o=e[n];this.set(o[0],o[1])}}So.prototype.clear=Yx,So.prototype.delete=Jx,So.prototype.get=eI,So.prototype.has=rI,So.prototype.set=iI;function aI(){this.__data__=[],this.size=0}function Hl(e,n){for(var r=e.length;r--;)if(Cf(e[r][0],n))return r;return-1}var sI=Array.prototype,lI=sI.splice;function cI(e){var n=this.__data__,r=Hl(n,e);if(r<0)return!1;var o=n.length-1;return r==o?n.pop():lI.call(n,r,1),--this.size,!0}function dI(e){var n=this.__data__,r=Hl(n,e);return r<0?void 0:n[r][1]}function uI(e){return Hl(this.__data__,e)>-1}function fI(e,n){var r=this.__data__,o=Hl(r,e);return o<0?(++this.size,r.push([e,n])):r[o][1]=n,this}function xr(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var o=e[n];this.set(o[0],o[1])}}xr.prototype.clear=aI,xr.prototype.delete=cI,xr.prototype.get=dI,xr.prototype.has=uI,xr.prototype.set=fI;var Xa=No(lr,"Map");function pI(){this.size=0,this.__data__={hash:new So,map:new(Xa||xr),string:new So}}function mI(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Wl(e,n){var r=e.__data__;return mI(n)?r[typeof n=="string"?"string":"hash"]:r.map}function gI(e){var n=Wl(this,e).delete(e);return this.size-=n?1:0,n}function hI(e){return Wl(this,e).get(e)}function yI(e){return Wl(this,e).has(e)}function _I(e,n){var r=Wl(this,e),o=r.size;return r.set(e,n),this.size+=r.size==o?0:1,this}function Ir(e){var n=-1,r=e==null?0:e.length;for(this.clear();++n<r;){var o=e[n];this.set(o[0],o[1])}}Ir.prototype.clear=pI,Ir.prototype.delete=gI,Ir.prototype.get=hI,Ir.prototype.has=yI,Ir.prototype.set=_I;var bI="Expected a function";function Tf(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(bI);var r=function(){var o=arguments,i=n?n.apply(this,o):o[0],a=r.cache;if(a.has(i))return a.get(i);var s=e.apply(this,o);return r.cache=a.set(i,s)||a,s};return r.cache=new(Tf.Cache||Ir),r}Tf.Cache=Ir;var kI=500;function wI(e){var n=Tf(e,function(o){return r.size===kI&&r.clear(),o}),r=n.cache;return n}var CI=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,EI=/\\(\\)?/g,NI=wI(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(CI,function(r,o,i,a){n.push(i?a.replace(EI,"$1"):o||r)}),n});function Ao(e){return e==null?"":e_(e)}function bi(e,n){return Jn(e)?e:Wx(e,n)?[e]:NI(Ao(e))}function Za(e){if(typeof e=="string"||yf(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Bf(e,n){n=bi(n,e);for(var r=0,o=n.length;e!=null&&r<o;)e=e[Za(n[r++])];return r&&r==o?e:void 0}function xo(e,n,r){var o=e==null?void 0:Bf(e,n);return o===void 0?r:o}function Of(e,n){for(var r=-1,o=n.length,i=e.length;++r<o;)e[i+r]=n[r];return e}var __=Ln?Ln.isConcatSpreadable:void 0;function SI(e){return Jn(e)||zl(e)||!!(__&&e&&e[__])}function AI(e,n,r,o,i){var a=-1,s=e.length;for(r||(r=SI),i||(i=[]);++a<s;){var l=e[a];r(l)?Of(i,l):i[i.length]=l}return i}function xI(e){var n=e==null?0:e.length;return n?AI(e):[]}function b_(e){return o_(s_(e,void 0,xI),e+"")}var Pf=h_(Object.getPrototypeOf,Object),II="[object Object]",vI=Function.prototype,TI=Object.prototype,k_=vI.toString,BI=TI.hasOwnProperty,OI=k_.call(Object);function PI(e){if(!cr(e)||wo(e)!=II)return!1;var n=Pf(e);if(n===null)return!0;var r=BI.call(n,"constructor")&&n.constructor;return typeof r=="function"&&r instanceof r&&k_.call(r)==OI}function w_(e,n,r){var o=-1,i=e.length;n<0&&(n=-n>i?0:i+n),r=r>i?i:r,r<0&&(r+=i),i=n>r?0:r-n>>>0,n>>>=0;for(var a=Array(i);++o<i;)a[o]=e[o+n];return a}function VI(e,n,r){var o=e.length;return r=r===void 0?o:r,!n&&r>=o?e:w_(e,n,r)}var $I="\\ud800-\\udfff",RI="\\u0300-\\u036f",LI="\\ufe20-\\ufe2f",DI="\\u20d0-\\u20ff",MI=RI+LI+DI,FI="\\ufe0e\\ufe0f",jI="\\u200d",UI=RegExp("["+jI+$I+MI+FI+"]");function C_(e){return UI.test(e)}function KI(e){return e.split("")}var E_="\\ud800-\\udfff",qI="\\u0300-\\u036f",GI="\\ufe20-\\ufe2f",zI="\\u20d0-\\u20ff",HI=qI+GI+zI,WI="\\ufe0e\\ufe0f",YI="["+E_+"]",Vf="["+HI+"]",$f="\\ud83c[\\udffb-\\udfff]",JI="(?:"+Vf+"|"+$f+")",N_="[^"+E_+"]",S_="(?:\\ud83c[\\udde6-\\uddff]){2}",A_="[\\ud800-\\udbff][\\udc00-\\udfff]",XI="\\u200d",x_=JI+"?",I_="["+WI+"]?",ZI="(?:"+XI+"(?:"+[N_,S_,A_].join("|")+")"+I_+x_+")*",QI=I_+x_+ZI,ev="(?:"+[N_+Vf+"?",Vf,S_,A_,YI].join("|")+")",tv=RegExp($f+"(?="+$f+")|"+ev+QI,"g");function nv(e){return e.match(tv)||[]}function rv(e){return C_(e)?nv(e):KI(e)}function ov(e){return function(n){n=Ao(n);var r=C_(n)?rv(n):void 0,o=r?r[0]:n.charAt(0),i=r?VI(r,1).join(""):n.slice(1);return o[e]()+i}}var v_=ov("toUpperCase");function iv(e){return v_(Ao(e).toLowerCase())}function av(e,n,r,o){for(var i=-1,a=e==null?0:e.length;++i<a;)r=n(r,e[i],i,e);return r}function T_(e){return function(n){return e?.[n]}}var sv={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},lv=T_(sv),cv=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,dv="\\u0300-\\u036f",uv="\\ufe20-\\ufe2f",fv="\\u20d0-\\u20ff",pv=dv+uv+fv,mv="["+pv+"]",gv=RegExp(mv,"g");function hv(e){return e=Ao(e),e&&e.replace(cv,lv).replace(gv,"")}var yv=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function _v(e){return e.match(yv)||[]}var bv=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function kv(e){return bv.test(e)}var B_="\\ud800-\\udfff",wv="\\u0300-\\u036f",Cv="\\ufe20-\\ufe2f",Ev="\\u20d0-\\u20ff",Nv=wv+Cv+Ev,O_="\\u2700-\\u27bf",P_="a-z\\xdf-\\xf6\\xf8-\\xff",Sv="\\xac\\xb1\\xd7\\xf7",Av="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",xv="\\u2000-\\u206f",Iv=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",V_="A-Z\\xc0-\\xd6\\xd8-\\xde",vv="\\ufe0e\\ufe0f",$_=Sv+Av+xv+Iv,R_="['’]",L_="["+$_+"]",Tv="["+Nv+"]",D_="\\d+",Bv="["+O_+"]",M_="["+P_+"]",F_="[^"+B_+$_+D_+O_+P_+V_+"]",Ov="\\ud83c[\\udffb-\\udfff]",Pv="(?:"+Tv+"|"+Ov+")",Vv="[^"+B_+"]",j_="(?:\\ud83c[\\udde6-\\uddff]){2}",U_="[\\ud800-\\udbff][\\udc00-\\udfff]",ki="["+V_+"]",$v="\\u200d",K_="(?:"+M_+"|"+F_+")",Rv="(?:"+ki+"|"+F_+")",q_="(?:"+R_+"(?:d|ll|m|re|s|t|ve))?",G_="(?:"+R_+"(?:D|LL|M|RE|S|T|VE))?",z_=Pv+"?",H_="["+vv+"]?",Lv="(?:"+$v+"(?:"+[Vv,j_,U_].join("|")+")"+H_+z_+")*",Dv="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Mv="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Fv=H_+z_+Lv,jv="(?:"+[Bv,j_,U_].join("|")+")"+Fv,Uv=RegExp([ki+"?"+M_+"+"+q_+"(?="+[L_,ki,"$"].join("|")+")",Rv+"+"+G_+"(?="+[L_,ki+K_,"$"].join("|")+")",ki+"?"+K_+"+"+q_,ki+"+"+G_,Mv,Dv,D_,jv].join("|"),"g");function Kv(e){return e.match(Uv)||[]}function qv(e,n,r){return e=Ao(e),n=n,n===void 0?kv(e)?Kv(e):_v(e):e.match(n)||[]}var Gv="['’]",zv=RegExp(Gv,"g");function Hv(e){return function(n){return av(qv(hv(n).replace(zv,"")),e,"")}}var Wv=Hv(function(e,n,r){return n=n.toLowerCase(),e+(r?iv(n):n)});function Yv(){this.__data__=new xr,this.size=0}function Jv(e){var n=this.__data__,r=n.delete(e);return this.size=n.size,r}function Xv(e){return this.__data__.get(e)}function Zv(e){return this.__data__.has(e)}var Qv=200;function eT(e,n){var r=this.__data__;if(r instanceof xr){var o=r.__data__;if(!Xa||o.length<Qv-1)return o.push([e,n]),this.size=++r.size,this;r=this.__data__=new Ir(o)}return r.set(e,n),this.size=r.size,this}function vr(e){var n=this.__data__=new xr(e);this.size=n.size}vr.prototype.clear=Yv,vr.prototype.delete=Jv,vr.prototype.get=Xv,vr.prototype.has=Zv,vr.prototype.set=eT;function tT(e,n){return e&&Ha(n,If(n),e)}function nT(e,n){return e&&Ha(n,vf(n),e)}var W_=typeof ke=="object"&&ke&&!ke.nodeType&&ke,Y_=W_&&typeof module=="object"&&module&&!module.nodeType&&module,rT=Y_&&Y_.exports===W_,J_=rT?lr.Buffer:void 0,X_=J_?J_.allocUnsafe:void 0;function oT(e,n){if(n)return e.slice();var r=e.length,o=X_?X_(r):new e.constructor(r);return e.copy(o),o}function iT(e,n){for(var r=-1,o=e==null?0:e.length,i=0,a=[];++r<o;){var s=e[r];n(s,r,e)&&(a[i++]=s)}return a}function Z_(){return[]}var aT=Object.prototype,sT=aT.propertyIsEnumerable,Q_=Object.getOwnPropertySymbols,Rf=Q_?function(e){return e==null?[]:(e=Object(e),iT(Q_(e),function(n){return sT.call(e,n)}))}:Z_;function lT(e,n){return Ha(e,Rf(e),n)}var cT=Object.getOwnPropertySymbols,eb=cT?function(e){for(var n=[];e;)Of(n,Rf(e)),e=Pf(e);return n}:Z_;function dT(e,n){return Ha(e,eb(e),n)}function tb(e,n,r){var o=n(e);return Jn(e)?o:Of(o,r(e))}function Lf(e){return tb(e,If,Rf)}function nb(e){return tb(e,vf,eb)}var Df=No(lr,"DataView"),Mf=No(lr,"Promise"),Ff=No(lr,"Set"),rb="[object Map]",uT="[object Object]",ob="[object Promise]",ib="[object Set]",ab="[object WeakMap]",sb="[object DataView]",fT=Eo(Df),pT=Eo(Xa),mT=Eo(Mf),gT=Eo(Ff),hT=Eo(kf),Dn=wo;(Df&&Dn(new Df(new ArrayBuffer(1)))!=sb||Xa&&Dn(new Xa)!=rb||Mf&&Dn(Mf.resolve())!=ob||Ff&&Dn(new Ff)!=ib||kf&&Dn(new kf)!=ab)&&(Dn=function(e){var n=wo(e),r=n==uT?e.constructor:void 0,o=r?Eo(r):"";if(o)switch(o){case fT:return sb;case pT:return rb;case mT:return ob;case gT:return ib;case hT:return ab}return n});var yT=Object.prototype,_T=yT.hasOwnProperty;function bT(e){var n=e.length,r=new e.constructor(n);return n&&typeof e[0]=="string"&&_T.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var Yl=lr.Uint8Array;function jf(e){var n=new e.constructor(e.byteLength);return new Yl(n).set(new Yl(e)),n}function kT(e,n){var r=n?jf(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var wT=/\w*$/;function CT(e){var n=new e.constructor(e.source,wT.exec(e));return n.lastIndex=e.lastIndex,n}var lb=Ln?Ln.prototype:void 0,cb=lb?lb.valueOf:void 0;function ET(e){return cb?Object(cb.call(e)):{}}function NT(e,n){var r=n?jf(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var ST="[object Boolean]",AT="[object Date]",xT="[object Map]",IT="[object Number]",vT="[object RegExp]",TT="[object Set]",BT="[object String]",OT="[object Symbol]",PT="[object ArrayBuffer]",VT="[object DataView]",$T="[object Float32Array]",RT="[object Float64Array]",LT="[object Int8Array]",DT="[object Int16Array]",MT="[object Int32Array]",FT="[object Uint8Array]",jT="[object Uint8ClampedArray]",UT="[object Uint16Array]",KT="[object Uint32Array]";function qT(e,n,r){var o=e.constructor;switch(n){case PT:return jf(e);case ST:case AT:return new o(+e);case VT:return kT(e,r);case $T:case RT:case LT:case DT:case MT:case FT:case jT:case UT:case KT:return NT(e,r);case xT:return new o;case IT:case BT:return new o(e);case vT:return CT(e);case TT:return new o;case OT:return ET(e)}}function GT(e){return typeof e.constructor=="function"&&!Gl(e)?RA(Pf(e)):{}}var zT="[object Map]";function HT(e){return cr(e)&&Dn(e)==zT}var db=_i&&_i.isMap,WT=db?Sf(db):HT,YT="[object Set]";function JT(e){return cr(e)&&Dn(e)==YT}var ub=_i&&_i.isSet,XT=ub?Sf(ub):JT,ZT=1,QT=2,eB=4,fb="[object Arguments]",tB="[object Array]",nB="[object Boolean]",rB="[object Date]",oB="[object Error]",pb="[object Function]",iB="[object GeneratorFunction]",aB="[object Map]",sB="[object Number]",mb="[object Object]",lB="[object RegExp]",cB="[object Set]",dB="[object String]",uB="[object Symbol]",fB="[object WeakMap]",pB="[object ArrayBuffer]",mB="[object DataView]",gB="[object Float32Array]",hB="[object Float64Array]",yB="[object Int8Array]",_B="[object Int16Array]",bB="[object Int32Array]",kB="[object Uint8Array]",wB="[object Uint8ClampedArray]",CB="[object Uint16Array]",EB="[object Uint32Array]",It={};It[fb]=It[tB]=It[pB]=It[mB]=It[nB]=It[rB]=It[gB]=It[hB]=It[yB]=It[_B]=It[bB]=It[aB]=It[sB]=It[mb]=It[lB]=It[cB]=It[dB]=It[uB]=It[kB]=It[wB]=It[CB]=It[EB]=!0,It[oB]=It[pb]=It[fB]=!1;function Qa(e,n,r,o,i,a){var s,l=n&ZT,c=n&QT,d=n&eB;if(r&&(s=i?r(e,o,i,a):r(e)),s!==void 0)return s;if(!Co(e))return e;var u=Jn(e);if(u){if(s=bT(e),!l)return DA(e,s)}else{var f=Dn(e),p=f==pb||f==iB;if(Wa(e))return oT(e,l);if(f==mb||f==fb||p&&!i){if(s=c||p?{}:GT(e),!l)return c?dT(e,nT(s,e)):lT(e,tT(s,e))}else{if(!It[f])return i?e:{};s=qT(e,f,l)}}a||(a=new vr);var m=a.get(e);if(m)return m;a.set(e,s),XT(e)?e.forEach(function(g){s.add(Qa(g,n,r,g,e,a))}):WT(e)&&e.forEach(function(g,_){s.set(_,Qa(g,n,r,_,e,a))});var h=d?c?nb:Lf:c?vf:If,y=u?void 0:h(e);return GA(y||e,function(g,_){y&&(_=g,g=e[_]),Ef(s,_,Qa(g,n,r,_,e,a))}),s}var NB=1,SB=4;function es(e){return Qa(e,NB|SB)}var AB="__lodash_hash_undefined__";function xB(e){return this.__data__.set(e,AB),this}function IB(e){return this.__data__.has(e)}function ts(e){var n=-1,r=e==null?0:e.length;for(this.__data__=new Ir;++n<r;)this.add(e[n])}ts.prototype.add=ts.prototype.push=xB,ts.prototype.has=IB;function vB(e,n){for(var r=-1,o=e==null?0:e.length;++r<o;)if(n(e[r],r,e))return!0;return!1}function Uf(e,n){return e.has(n)}var TB=1,BB=2;function gb(e,n,r,o,i,a){var s=r&TB,l=e.length,c=n.length;if(l!=c&&!(s&&c>l))return!1;var d=a.get(e),u=a.get(n);if(d&&u)return d==n&&u==e;var f=-1,p=!0,m=r&BB?new ts:void 0;for(a.set(e,n),a.set(n,e);++f<l;){var h=e[f],y=n[f];if(o)var g=s?o(y,h,f,n,e,a):o(h,y,f,e,n,a);if(g!==void 0){if(g)continue;p=!1;break}if(m){if(!vB(n,function(_,k){if(!Uf(m,k)&&(h===_||i(h,_,r,o,a)))return m.push(k)})){p=!1;break}}else if(!(h===y||i(h,y,r,o,a))){p=!1;break}}return a.delete(e),a.delete(n),p}function OB(e){var n=-1,r=Array(e.size);return e.forEach(function(o,i){r[++n]=[i,o]}),r}function PB(e){var n=-1,r=Array(e.size);return e.forEach(function(o){r[++n]=o}),r}var VB=1,$B=2,RB="[object Boolean]",LB="[object Date]",DB="[object Error]",MB="[object Map]",FB="[object Number]",jB="[object RegExp]",UB="[object Set]",KB="[object String]",qB="[object Symbol]",GB="[object ArrayBuffer]",zB="[object DataView]",hb=Ln?Ln.prototype:void 0,Kf=hb?hb.valueOf:void 0;function HB(e,n,r,o,i,a,s){switch(r){case zB:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case GB:return!(e.byteLength!=n.byteLength||!a(new Yl(e),new Yl(n)));case RB:case LB:case FB:return Cf(+e,+n);case DB:return e.name==n.name&&e.message==n.message;case jB:case KB:return e==n+"";case MB:var l=OB;case UB:var c=o&VB;if(l||(l=PB),e.size!=n.size&&!c)return!1;var d=s.get(e);if(d)return d==n;o|=$B,s.set(e,n);var u=gb(l(e),l(n),o,i,a,s);return s.delete(e),u;case qB:if(Kf)return Kf.call(e)==Kf.call(n)}return!1}var WB=1,YB=Object.prototype,JB=YB.hasOwnProperty;function XB(e,n,r,o,i,a){var s=r&WB,l=Lf(e),c=l.length,d=Lf(n),u=d.length;if(c!=u&&!s)return!1;for(var f=c;f--;){var p=l[f];if(!(s?p in n:JB.call(n,p)))return!1}var m=a.get(e),h=a.get(n);if(m&&h)return m==n&&h==e;var y=!0;a.set(e,n),a.set(n,e);for(var g=s;++f<c;){p=l[f];var _=e[p],k=n[p];if(o)var b=s?o(k,_,p,n,e,a):o(_,k,p,e,n,a);if(!(b===void 0?_===k||i(_,k,r,o,a):b)){y=!1;break}g||(g=p=="constructor")}if(y&&!g){var N=e.constructor,C=n.constructor;N!=C&&"constructor"in e&&"constructor"in n&&!(typeof N=="function"&&N instanceof N&&typeof C=="function"&&C instanceof C)&&(y=!1)}return a.delete(e),a.delete(n),y}var ZB=1,yb="[object Arguments]",_b="[object Array]",Jl="[object Object]",QB=Object.prototype,bb=QB.hasOwnProperty;function eO(e,n,r,o,i,a){var s=Jn(e),l=Jn(n),c=s?_b:Dn(e),d=l?_b:Dn(n);c=c==yb?Jl:c,d=d==yb?Jl:d;var u=c==Jl,f=d==Jl,p=c==d;if(p&&Wa(e)){if(!Wa(n))return!1;s=!0,u=!1}if(p&&!u)return a||(a=new vr),s||xf(e)?gb(e,n,r,o,i,a):HB(e,n,c,r,o,i,a);if(!(r&ZB)){var m=u&&bb.call(e,"__wrapped__"),h=f&&bb.call(n,"__wrapped__");if(m||h){var y=m?e.value():e,g=h?n.value():n;return a||(a=new vr),i(y,g,r,o,a)}}return p?(a||(a=new vr),XB(e,n,r,o,i,a)):!1}function kb(e,n,r,o,i){return e===n?!0:e==null||n==null||!cr(e)&&!cr(n)?e!==e&&n!==n:eO(e,n,r,o,kb,i)}function tO(e,n){return e!=null&&n in Object(e)}function wb(e,n,r){n=bi(n,e);for(var o=-1,i=n.length,a=!1;++o<i;){var s=Za(n[o]);if(!(a=e!=null&&r(e,s)))break;e=e[s]}return a||++o!=i?a:(i=e==null?0:e.length,!!i&&Nf(i)&&wf(s,i)&&(Jn(e)||zl(e)))}function nO(e,n){return e!=null&&wb(e,n,tO)}function rO(e){return cr(e)&&ql(e)}function oO(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}var iO={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},aO=T_(iO),Cb=/[&<>"']/g,sO=RegExp(Cb.source);function lO(e){return e=Ao(e),e&&sO.test(e)?e.replace(Cb,aO):e}var cO=Object.prototype,dO=cO.hasOwnProperty;function uO(e,n){return e!=null&&dO.call(e,n)}function Xl(e,n){return e!=null&&wb(e,n,uO)}var fO=Math.min;function pO(e,n,r){for(var o=JA,i=e[0].length,a=e.length,s=a,l=Array(a),c=1/0,d=[];s--;){var u=e[s];c=fO(u.length,c),l[s]=i>=120&&u.length>=120?new ts(s&&u):void 0}u=e[0];var f=-1,p=l[0];e:for(;++f<i&&d.length<c;){var m=u[f],h=m;if(m=m!==0?m:0,!(p?Uf(p,h):o(d,h))){for(s=a;--s;){var y=l[s];if(!(y?Uf(y,h):o(e[s],h)))continue e}p&&p.push(h),d.push(m)}}return d}function mO(e){return rO(e)?e:[]}var gO=tx(function(e){var n=_f(e,mO);return n.length&&n[0]===e[0]?pO(n):[]});function hO(e,n){return n.length<2?e:Bf(e,w_(n,0,-1))}var yO="[object Map]",_O="[object Set]",bO=Object.prototype,kO=bO.hasOwnProperty;function qf(e){if(e==null)return!0;if(ql(e)&&(Jn(e)||typeof e=="string"||typeof e.splice=="function"||Wa(e)||xf(e)||zl(e)))return!e.length;var n=Dn(e);if(n==yO||n==_O)return!e.size;if(Gl(e))return!y_(e).length;for(var r in e)if(kO.call(e,r))return!1;return!0}function Kt(e,n){return kb(e,n)}var wO=Object.prototype,CO=wO.hasOwnProperty;function Eb(e,n){n=bi(n,e);var r=-1,o=n.length;if(!o)return!0;for(;++r<o;){var i=Za(n[r]);if(i==="__proto__"&&!CO.call(e,"__proto__")||(i==="constructor"||i==="prototype")&&r<o-1)return!1}var a=hO(e,n);return a==null||delete a[Za(oO(n))]}function EO(e){return PI(e)?void 0:e}var NO=1,SO=2,AO=4,eo=b_(function(e,n){var r={};if(e==null)return r;var o=!1;n=_f(n,function(a){return a=bi(a,e),o||(o=a.length>1),a}),Ha(e,nb(e),r),o&&(r=Qa(r,NO|SO|AO,EO));for(var i=n.length;i--;)Eb(r,n[i]);return r});function Nb(e,n,r,o){if(!Co(e))return e;n=bi(n,e);for(var i=-1,a=n.length,s=a-1,l=e;l!=null&&++i<a;){var c=Za(n[i]),d=r;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=s){var u=l[c];d=void 0,d===void 0&&(d=Co(u)?u:wf(n[i+1])?[]:{})}Ef(l,c,d),l=l[c]}return e}function xO(e,n,r){for(var o=-1,i=n.length,a={};++o<i;){var s=n[o],l=Bf(e,s);r(l,s)&&Nb(a,bi(s,e),l)}return a}function IO(e,n){return xO(e,n,function(r,o){return nO(e,o)})}var Gf=b_(function(e,n){return e==null?{}:IO(e,n)});function zf(e,n,r){return e==null?e:Nb(e,n,r)}var vO=0;function ns(e){var n=++vO;return Ao(e)+n}function Sb(e,n){return e==null?!0:Eb(e,n)}const wi="{key}",Io={"kong.client.consumer":{dataType:"object",writable:!1,readable:!0},"kong.client.consumer_groups":{dataType:"array",writable:!1,readable:!0},"kong.client.credential":{dataType:"object",writable:!1,readable:!0},"kong.client.get_identity_realm_source":{dataType:"object",writable:!1,readable:!0},"kong.client.forwarded_ip":{dataType:"string",writable:!1,readable:!0},"kong.client.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.client.ip":{dataType:"string",writable:!1,readable:!0},"kong.client.port":{dataType:"number",writable:!1,readable:!0},"kong.client.protocol":{dataType:"string",writable:!1,readable:!0},"kong.client.principal":{dataType:"object",writable:!1,readable:!0},"kong.client.principal.{key}":{dataType:"any",writable:!1,readable:!0},"kong.request.forwarded_host":{dataType:"string",writable:!1,readable:!0},"kong.request.forwarded_port":{dataType:"number",writable:!1,readable:!0},"kong.request.forwarded_scheme":{dataType:"string",writable:!1,readable:!0},"kong.request.port":{dataType:"number",writable:!1,readable:!0},"kong.response.source":{dataType:"string",writable:!1,readable:!0},"kong.router.route":{dataType:"object",writable:!1,readable:!0},"kong.route_id":{dataType:"string",writable:!1,readable:!0},"kong.route_name":{dataType:"string",writable:!1,readable:!0},"kong.router.service":{dataType:"object",writable:!1,readable:!0},"kong.service_name":{dataType:"string",writable:!1,readable:!0},"kong.service_id":{dataType:"string",writable:!1,readable:!0},"kong.service.response.status":{dataType:"number",writable:!1,readable:!0},"kong.version":{dataType:"string",writable:!1,readable:!0},"kong.node.id":{dataType:"string",writable:!1,readable:!0},"kong.configuration.{key}":{dataType:"any",writable:!1,readable:!0},"kong.service.target":{dataType:"string ({host}:{port})",writable:!0,readable:!1},"kong.service.request_scheme":{dataType:"string ({scheme})",writable:!0,readable:!1},"kong.ctx.plugin.{key}":{dataType:"any",writable:!0,readable:!0},"kong.ctx.shared.{key}":{dataType:"any",writable:!0,readable:!0}},Zl=Object.keys(Io).filter(e=>e.includes(wi)).map(e=>e.replace(wi,""));function Hf(e){if(!e||!os(e))return;const n=Zl.find(r=>e.startsWith(r));if(n)return e.slice(n.length).replace(wi,"")}function rs(e){if(!e)return null;const n=Zl.find(r=>e.startsWith(r));return n||e}function os(e){return e?Zl.some(n=>e.startsWith(n)):!1}function Ab(e){return e?os(e)?rs(e)+wi:e:null}function Wf(e){if(!e)return!1;const n=Ab(e);return n?Io[n]?.readable??!1:!1}function Yf(e){if(!e)return!1;const n=Ab(e);return n?Io[n]?.writable??!1:!1}const Jf=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),Bn={KM_2262_CODE_MODE:"KM-2262-code-mode",KM_2306_CONDITION_FIELD_314:"KM-2306-condition-field-314",KM_2446_DATAKIT_JWT_NODES:"KM-2446-Datakit-JWT-nodes",KM_2503_CUSTOM_PLUGIN_FREEFORM:"KM-2503-custom-plugin-freeform",KM_2485_CLONED_PLUGINS:"KM-2485-cloned-plugins",KHCP_20393_IDENTITY_PRINCIPALS_UI:"khcp-20393-identity-principals-ui",KM_3034_FEATURES_316:"KM-3034-features-316"},xb=Symbol("TOASTER_PROVIDER"),Ci="__FREEFORM_SCHEMA_MAP__";function Ql(){const e=(...r)=>{console.warn("TOASTER_PROVIDER is not provided",...r)},n=t.inject(xb,e);return r=>n(r)}const Ib=["request","service_request","service_response","response","vault"],Ei=Ib,vb=["call","jq","exit","property","static","branch","cache","xml_to_json","json_to_xml","jwt_decode","jwt_sign","jwt_verify"],Tb=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],Xf=["EdDSA","ES256","ES384","ES512","HS256","HS384","HS512","PS256","PS384","PS512","RS256","RS384","RS512"],xe=(e,n)=>{const r=e.__vccOpts||e;for(const[o,i]of n)r[o]=i;return r},TO={},BO={height:"16",viewBox:"0 -960 960 960",width:"16",xmlns:"http://www.w3.org/2000/svg"};function OO(e,n){return t.openBlock(),t.createElementBlock("svg",BO,[...n[0]||(n[0]=[t.createElementVNode("path",{d:"M240-160h480v-400H240v400Zm296.5-143.5Q560-327 560-360t-23.5-56.5Q513-440 480-440t-56.5 23.5Q400-393 400-360t23.5 56.5Q447-280 480-280t56.5-23.5ZM240-160v-400 400Zm0 80q-33 0-56.5-23.5T160-160v-400q0-33 23.5-56.5T240-640h280v-80q0-83 58.5-141.5T720-920q83 0 141.5 58.5T920-720h-80q0-50-35-85t-85-35q-50 0-85 35t-35 85v80h120q33 0 56.5 23.5T800-560v400q0 33-23.5 56.5T720-80H240Z",fill:"currentColor"},null,-1)])])}const PO=xe(TO,[["render",OO]]),VO={},$O={height:"16",viewBox:"0 -960 960 960",width:"16",xmlns:"http://www.w3.org/2000/svg"};function RO(e,n){return t.openBlock(),t.createElementBlock("svg",$O,[...n[0]||(n[0]=[t.createElementVNode("path",{d:"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q65 0 123 19t107 53l-58 59q-38-24-81-37.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-18-2-36t-6-35l65-65q11 32 17 66t6 70q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm-56-216L254-466l56-56 114 114 400-401 56 56-456 457Z",fill:"currentColor"},null,-1)])])}const LO=xe(VO,[["render",RO]]),is=[{id:"external_interaction",colors:{foreground:YS,background:jS},nodes:[{type:"call",icon:Ne.NetworkIcon},{type:"cache",icon:Ne.CachedIcon}]},{id:"control_flow",colors:{foreground:GS,background:RS},nodes:[{type:"branch",icon:Ne.ArrowSplitIcon},{type:"exit",icon:Ne.GatewayIcon}]},{id:"data_transformation",colors:{foreground:Uy,background:LS},nodes:[{type:"jq",icon:Ne.CodeblockIcon},{type:"xml_to_json",icon:Ne.DataObjectIcon},{type:"json_to_xml",icon:Ne.CodeIcon}]},{id:"data_value",colors:{foreground:qy,background:WS},nodes:[{type:"property",icon:Ne.StackIcon},{type:"static",icon:Ne.DeployIcon}]},{id:"authentication",colors:{foreground:zS,background:HS},nodes:[{type:"jwt_sign",icon:Ne.EditSquareIcon},{type:"jwt_decode",icon:PO},{type:"jwt_verify",icon:LO}]}],DO=is.reduce((e,n)=>{for(const r of n.nodes)e[r.type]={icon:r.icon,colors:n.colors};return e},{}),Ni={vault:{icon:Ne.KeyIcon},request:{icon:Ne.CloudIcon},service_request:{icon:Ne.CloudIcon},service_response:{icon:Ne.CloudIcon},response:{icon:Ne.CloudIcon}};function MO(e){return is.find(({id:n})=>n===e).colors}function Zf(e){return DO[e]??Ni[e]}const{t:Qf}=Ft.createI18n("en-us",zt);function Si(e){return Qf(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function FO(e){return Qf(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function jO(e){return Qf(`plugins.free-form.datakit.flow_editor.node_panel.groups.${e}`)}const UO={call:{io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}}},jq:{io:{input:{fields:[],configurable:!0},output:{fields:[]}}},exit:{io:{input:{fields:[{name:"headers"},{name:"body"}]}}},property:{io:{input:{fields:[],configurable:!0},output:{fields:[]}}},static:{io:{output:{fields:[],configurable:!0}}},branch:{io:{input:{fields:[]},next:{branches:[{name:"then"},{name:"else"}]}}},cache:{io:{input:{fields:[{name:"data"},{name:"key"},{name:"ttl"}]},output:{fields:[{name:"data"},{name:"hit"},{name:"miss"},{name:"stored"}]}}},xml_to_json:{io:{input:{fields:[]},output:{fields:[]}}},json_to_xml:{io:{input:{fields:[],configurable:!0},output:{fields:[]}}},jwt_decode:{io:{input:{fields:[]},output:{fields:[{name:"header"},{name:"payload"},{name:"signature"}]}}},jwt_sign:{io:{input:{fields:[{name:"claims"},{name:"key"}]},output:{fields:[{name:"claims"},{name:"header"},{name:"token"}]}}},jwt_verify:{io:{input:{fields:[{name:"key"},{name:"token"}]},output:{fields:[{name:"claims"},{name:"header"}]}}}};function KO(e){return{id:e.id,title:jO(e.id),colors:MO(e.id),nodeTypes:e.nodes.map(({type:n})=>n)}}function qO(e,n){return{...UO[n.type],type:n.type,icon:n.icon,group:e.id,summary:FO(n.type),description:Si(n.type)}}const Bb=is.reduce((e,n)=>(e[n.id]=KO(n),e),{}),ec=is.reduce((e,n)=>{for(const r of n.nodes)e[r.type]=qO(n,r);return e},{}),Ob=is.map(e=>({...Bb[e.id],nodes:e.nodes.map(({type:n})=>ec[n])}));function GO(e){return Bb[e]}const tc={request:{type:"request",description:Si("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...Ni.request},service_request:{type:"service_request",description:Si("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...Ni.service_request},service_response:{type:"service_response",description:Si("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}},...Ni.service_response},response:{type:"response",description:Si("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...Ni.response},vault:{type:"vault",io:{output:{fields:[],configurable:!0}},...Ni.vault,hidden:!0}},ep=Object.keys(tc),tp=e=>ep.includes(e),zO=e=>[...ep,...vb].includes(e),hn=e=>ep.includes(e),nc=e=>hn(e.type),np=e=>!!e?.startsWith("node:"),as=e=>Object.prototype.hasOwnProperty.call(e,"ownerId");function Tr(e){return es(e)}function rp(e,n){if(e.length!==n.length)return!1;if(e.length===0)return!0;const r=new Set(n);return e.every(o=>r.has(o))}function Ai(e){return`${e}:${ns()}`}function rc(e){const[n,r]=e.split(".");return{nodeName:n,fieldName:r}}function Pb(e){const[n,r]=e.split(".");return{nodeId:n,fieldId:r}}function xi(e){return hn(e)?tc[e]:ec[e]}function Vb(e){const n=xi(e),r=n.io?.input?.fields.map(({name:i})=>i)??[],o=n.io?.output?.fields.map(({name:i})=>i)??[];return{input:r,output:o}}function ss(e){return xi(e).io?.next?.branches?.map(({name:r})=>r)??[]}function $b(e){return(e??[]).map(n=>({id:Ai("field"),name:n}))}function to(e,n,r){if(r)return e.fields[n].find(o=>o.name===r)}function no(e,n,r){if(r)return e.fields[n].find(o=>o.id===r)}function op(e,n){return n?e.fields.output.some(r=>r.id===n):!0}function Rb(e,n){return n?e.fields.input.some(r=>r.id===n):!0}function HO(e){const n=["request","service_request","vault"].includes(e)?"request":"response",r=tc[e];return{name:e,phase:n,position:{x:0,y:0},fields:Vb(r.type),expanded:{},hidden:r.hidden}}function Lb(e,n){const o=(typeof e=="string"&&zO(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${o}_${i}`;if(!n.has(a))return a}}function ip(e,n){return`${e}:${n}`}function WO(e){const n=e.lastIndexOf(":");if(n===-1)throw new Error(`Invalid group ID format: ${e}`);const r=e.slice(0,n),o=e.slice(n+1);return{nodeId:r,branch:o}}function oc(e,n){return`${e}:${n}`}function Db(e,n,r,o,i){return{id:ip(e,n),ownerId:e,branch:n,phase:r,memberIds:[...o],position:i?.position?{...i.position}:void 0,dimensions:i?.dimensions?{...i.dimensions}:void 0}}function ic(e,n,r){const o=n?no(e,r,n):void 0;return`${e.name}${o?`.${o.name}`:""}`}function ls(e,n){const r=n(e.source),o=n(e.target);return[ic(r,e.sourceField,"output"),ic(o,e.targetField,"input")]}function ap(e,n,r,o,i){const a=i(e),s=i(r);return[ic(a,n,"output"),ic(s,o,"input")]}function Mb(e){if(e.length===0)throw new Error("getBoundingRect requires at least one rect");let n=Number.POSITIVE_INFINITY,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;for(const{x:a,y:s,width:l,height:c}of e){if(![a,s,l,c].every(Number.isFinite))throw new Error("Rect values must be finite numbers");if(l<0||c<0)throw new RangeError("Rect width and height must be non-negative");const d=a+l,u=s+c;if(!Number.isFinite(d)||!Number.isFinite(u))throw new RangeError("Rect boundaries must be finite numbers");a<n&&(n=a),s<r&&(r=s),d>o&&(o=d),u>i&&(i=u)}return{x:n,y:r,width:o-n,height:i-r}}var Fb=Object.defineProperty,YO=(e,n,r)=>n in e?Fb(e,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[n]=r,JO=(e,n)=>{for(var r in n)Fb(e,r,{get:n[r],enumerable:!0})},XO=(e,n,r)=>YO(e,n+"",r),jb={};JO(jb,{Graph:()=>dr,alg:()=>cp});var ZO=Object.defineProperty,Ub=(e,n)=>{for(var r in n)ZO(e,r,{get:n[r],enumerable:!0})},sp=class{constructor(n){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},n&&(this._isDirected="directed"in n?n.directed:!0,this._isMultigraph="multigraph"in n?n.multigraph:!1,this._isCompound="compound"in n?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return typeof n!="function"?this._defaultNodeLabelFn=()=>n:this._defaultNodeLabelFn=n,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(n=>Object.keys(this._in[n]).length===0)}sinks(){return this.nodes().filter(n=>Object.keys(this._out[n]).length===0)}setNodes(n,r){return n.forEach(o=>{r!==void 0?this.setNode(o,r):this.setNode(o)}),this}setNode(n,r){return n in this._nodes?(arguments.length>1&&(this._nodes[n]=r),this):(this._nodes[n]=arguments.length>1?r:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]="\0",this._children[n]={},this._children["\0"][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return n in this._nodes}removeNode(n){if(n in this._nodes){let r=o=>this.removeEdge(this._edgeObjs[o]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(o=>{this.setParent(o)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(r===void 0)r="\0";else{r+="";for(let o=r;o!==void 0;o=this.parent(o))if(o===n)throw new Error("Setting "+r+" as parent of "+n+" would create a cycle");this.setNode(r)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=r,this._children[r][n]=!0,this}parent(n){if(this._isCompound){let r=this._parent[n];if(r!=="\0")return r}}children(n="\0"){if(this._isCompound){let r=this._children[n];if(r)return Object.keys(r)}else{if(n==="\0")return this.nodes();if(this.hasNode(n))return[]}return[]}predecessors(n){let r=this._preds[n];if(r)return Object.keys(r)}successors(n){let r=this._sucs[n];if(r)return Object.keys(r)}neighbors(n){let r=this.predecessors(n);if(r){let o=new Set(r),i=this.successors(n);if(i)for(let a of i)o.add(a);return Array.from(o.values())}}isLeaf(n){var r;let o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),((r=o?.length)!=null?r:0)===0}filterNodes(n){let r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph()),Object.entries(this._nodes).forEach(([a,s])=>{n(a)&&r.setNode(a,s)}),Object.values(this._edgeObjs).forEach(a=>{r.hasNode(a.v)&&r.hasNode(a.w)&&r.setEdge(a,this.edge(a))});let o={},i=a=>{let s=this.parent(a);return!s||r.hasNode(s)?(o[a]=s,s):s in o?o[s]:i(s)};return this._isCompound&&r.nodes().forEach(a=>r.setParent(a,i(a))),r}setDefaultEdgeLabel(n){return typeof n!="function"?this._defaultEdgeLabelFn=()=>n:this._defaultEdgeLabelFn=n,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,r){return n.reduce((o,i)=>(r!==void 0?this.setEdge(o,i,r):this.setEdge(o,i),i)),this}setEdge(n,r,o,i){let a,s,l,c,d=!1;typeof n=="object"&&n!==null&&"v"in n?(a=n.v,s=n.w,l=n.name,arguments.length===2&&(c=r,d=!0)):(a=n,s=r,l=i,arguments.length>2&&(c=o,d=!0)),a=""+a,s=""+s,l!==void 0&&(l=""+l);let u=cs(this._isDirected,a,s,l);if(u in this._edgeLabels)return d&&(this._edgeLabels[u]=c),this;if(l!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(s),this._edgeLabels[u]=d?c:this._defaultEdgeLabelFn(a,s,l);let f=QO(this._isDirected,a,s,l);return a=f.v,s=f.w,Object.freeze(f),this._edgeObjs[u]=f,Kb(this._preds[s],a),Kb(this._sucs[a],s),this._in[s][u]=f,this._out[a][u]=f,this._edgeCount++,this}edge(n,r,o){let i=arguments.length===1?lp(this._isDirected,n):cs(this._isDirected,n,r,o);return this._edgeLabels[i]}edgeAsObj(n,r,o){let i=arguments.length===1?this.edge(n):this.edge(n,r,o);return typeof i!="object"||i===null?{label:i}:i}hasEdge(n,r,o){return(arguments.length===1?lp(this._isDirected,n):cs(this._isDirected,n,r,o))in this._edgeLabels}removeEdge(n,r,o){let i=arguments.length===1?lp(this._isDirected,n):cs(this._isDirected,n,r,o),a=this._edgeObjs[i];if(a){let s=a.v,l=a.w;delete this._edgeLabels[i],delete this._edgeObjs[i],qb(this._preds[l],s),qb(this._sucs[s],l),delete this._in[l][i],delete this._out[s][i],this._edgeCount--}return this}inEdges(n,r){return this.isDirected()?this.filterEdges(this._in[n],n,r):this.nodeEdges(n,r)}outEdges(n,r){return this.isDirected()?this.filterEdges(this._out[n],n,r):this.nodeEdges(n,r)}nodeEdges(n,r){if(n in this._nodes)return this.filterEdges({...this._in[n],...this._out[n]},n,r)}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}filterEdges(n,r,o){if(!n)return;let i=Object.values(n);return o?i.filter(a=>a.v===r&&a.w===o||a.v===o&&a.w===r):i}};function Kb(e,n){e[n]?e[n]++:e[n]=1}function qb(e,n){e[n]!==void 0&&!--e[n]&&delete e[n]}function cs(e,n,r,o){let i=""+n,a=""+r;if(!e&&i>a){let s=i;i=a,a=s}return i+""+a+""+(o===void 0?"\0":o)}function QO(e,n,r,o){let i=""+n,a=""+r;if(!e&&i>a){let l=i;i=a,a=l}let s={v:i,w:a};return o&&(s.name=o),s}function lp(e,n){return cs(e,n.v,n.w,n.name)}var eP={};Ub(eP,{read:()=>oP,write:()=>tP});function tP(e){let n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:nP(e),edges:rP(e)},r=e.graph();return r!==void 0&&(n.value=structuredClone(r)),n}function nP(e){return e.nodes().map(n=>{let r=e.node(n),o=e.parent(n),i={v:n};return r!==void 0&&(i.value=r),o!==void 0&&(i.parent=o),i})}function rP(e){return e.edges().map(n=>{let r=e.edge(n),o={v:n.v,w:n.w};return n.name!==void 0&&(o.name=n.name),r!==void 0&&(o.value=r),o})}function oP(e){let n=new sp(e.options);return e.value!==void 0&&n.setGraph(e.value),e.nodes.forEach(r=>{n.setNode(r.v,r.value),r.parent&&n.setParent(r.v,r.parent)}),e.edges.forEach(r=>{n.setEdge({v:r.v,w:r.w,name:r.name},r.value)}),n}var cp={};Ub(cp,{CycleException:()=>sc,bellmanFord:()=>Gb,components:()=>sP,dijkstra:()=>ac,dijkstraAll:()=>dP,findCycles:()=>uP,floydWarshall:()=>pP,isAcyclic:()=>gP,postorder:()=>yP,preorder:()=>_P,prim:()=>bP,shortestPaths:()=>kP,tarjan:()=>Hb,topsort:()=>Wb});var iP=()=>1;function Gb(e,n,r,o){return aP(e,String(n),r||iP,o||function(i){var a;return(a=e.outEdges(i))!=null?a:[]})}function aP(e,n,r,o){let i={},a,s=0,l=e.nodes(),c=function(f){let p=i[f.v],m=i[f.w];if(!p||!m)return;let h=r(f);p.distance+h<m.distance&&(i[f.w]={distance:p.distance+h,predecessor:f.v},a=!0)},d=function(){l.forEach(function(f){o(f).forEach(function(p){let m=p.v===f?p.v:p.w,h=m===p.v?p.w:p.v;c({v:m,w:h})})})};l.forEach(function(f){let p=f===n?0:Number.POSITIVE_INFINITY;i[f]={distance:p,predecessor:""}});let u=l.length;for(let f=1;f<u&&(a=!1,s++,d(),!!a);f++);if(s===u-1&&(a=!1,d(),a))throw new Error("The graph contains a negative weight cycle");return i}function sP(e){let n={},r=[],o;function i(a){var s,l;a in n||(n[a]=!0,o.push(a),(s=e.successors(a))==null||s.forEach(i),(l=e.predecessors(a))==null||l.forEach(i))}return e.nodes().forEach(function(a){o=[],i(a),o.length&&r.push(o)}),r}var zb=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(n=>n.key)}has(n){return n in this._keyIndices}priority(n){let r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){let o=this._keyIndices,i=String(n);if(!(i in o)){let a=this._arr,s=a.length;return o[i]=s,a.push({key:i,priority:r}),this._decrease(s),!0}return!1}removeMin(){if(this.size()===0)throw new Error("Queue underflow");this._swap(0,this._arr.length-1);let n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){let o=this._keyIndices[n];if(o===void 0)throw new Error(`Key not found: ${n}`);let i=this._arr[o].priority;if(r>i)throw new Error(`New priority is greater than current priority. Key: ${n} Old: ${i} New: ${r}`);this._arr[o].priority=r,this._decrease(o)}_heapify(n){let r=this._arr,o=2*n,i=o+1,a=n;o<r.length&&(a=r[o].priority<r[a].priority?o:a,i<r.length&&(a=r[i].priority<r[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){let r=this._arr,o=r[n].priority,i;for(;n!==0&&(i=n>>1,!(r[i].priority<o));)this._swap(n,i),n=i}_swap(n,r){let o=this._arr,i=this._keyIndices,a=o[n],s=o[r];o[n]=s,o[r]=a,i[s.key]=n,i[a.key]=r}},lP=()=>1;function ac(e,n,r,o){let i=function(a){var s;return(s=e.outEdges(a))!=null?s:[]};return cP(e,String(n),r||lP,o||i)}function cP(e,n,r,o){let i={},a=new zb,s,l,c=function(d){let u=d.v!==s?d.v:d.w,f=i[u];if(!f)return;let p=r(d),m=l.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+d+" Weight: "+p);m<f.distance&&(f.distance=m,f.predecessor=s,a.decrease(u,m))};for(e.nodes().forEach(function(d){let u=d===n?0:Number.POSITIVE_INFINITY;i[d]={distance:u,predecessor:""},a.add(d,u)});a.size()>0;){s=a.removeMin();let d=i[s];if(!d||d.distance===Number.POSITIVE_INFINITY)break;l=d,o(s).forEach(c)}return i}function dP(e,n,r){return e.nodes().reduce(function(o,i){return o[i]=ac(e,i,n,r),o},{})}function Hb(e){let n=0,r=[],o={},i=[];function a(s){var l;let c=o[s]={onStack:!0,lowlink:n,index:n++};if(r.push(s),(l=e.successors(s))==null||l.forEach(function(d){if(d in o){let u=o[d];u!=null&&u.onStack&&(c.lowlink=Math.min(c.lowlink,u.index))}else{a(d);let u=o[d];u&&(c.lowlink=Math.min(c.lowlink,u.lowlink))}}),c.lowlink===c.index){let d=[],u;do{u=r.pop();let f=o[u];f&&(f.onStack=!1),d.push(u)}while(s!==u);i.push(d)}}return e.nodes().forEach(function(s){s in o||a(s)}),i}function uP(e){return Hb(e).filter(function(n){var r;let o=n[0];return o?n.length>1||n.length===1&&((r=e.outEdges(o,o))!=null?r:[]).length>0:!1})}var fP=()=>1;function pP(e,n,r){return mP(e,n||fP,r||function(o){var i;return(i=e.outEdges(o))!=null?i:[]})}function mP(e,n,r){let o={},i=e.nodes();return i.forEach(function(a){let s={};o[a]=s,s[a]={distance:0,predecessor:""},i.forEach(function(l){a!==l&&(s[l]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),r(a).forEach(function(l){let c=l.v===a?l.w:l.v,d=n(l);s[c]={distance:d,predecessor:a}})}),i.forEach(function(a){let s=o[a];s&&i.forEach(function(l){let c=o[l];c&&i.forEach(function(d){let u=c[a],f=s[d],p=c[d];if(u&&f&&p){let m=u.distance+f.distance;m<p.distance&&(p.distance=m,p.predecessor=f.predecessor)}})})}),o}var sc=class extends Error{constructor(n){super(n),this.name="CycleException"}};function Wb(e){let n={},r={},o=[];function i(a){var s;if(a in r)throw new sc;a in n||(r[a]=!0,n[a]=!0,(s=e.predecessors(a))==null||s.forEach(i),delete r[a],o.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new sc;return o}function gP(e){try{Wb(e)}catch(n){if(n instanceof sc)return!1;throw n}return!0}function hP(e,n,r,o,i){Array.isArray(n)||(n=[n]);let a=(l=>{var c;return(c=e.isDirected()?e.successors(l):e.neighbors(l))!=null?c:[]}),s={};return n.forEach(function(l){if(!e.hasNode(l))throw new Error("Graph does not have node: "+l);i=Yb(e,l,r==="post",s,a,o,i)}),i}function Yb(e,n,r,o,i,a,s){return n in o||(o[n]=!0,r||(s=a(s,n)),i(n).forEach(function(l){s=Yb(e,l,r,o,i,a,s)}),r&&(s=a(s,n))),s}function Jb(e,n,r){return hP(e,n,r,function(o,i){return o.push(i),o},[])}function yP(e,n){return Jb(e,n,"post")}function _P(e,n){return Jb(e,n,"pre")}function bP(e,n){var r;let o=new sp,i={},a=new zb,s;function l(u){let f=u.v===s?u.w:u.v,p=a.priority(f);if(p!==void 0){let m=n(u);m<p&&(i[f]=s,a.decrease(f,m))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(u){a.add(u,Number.POSITIVE_INFINITY),o.setNode(u)});let c=e.nodes()[0];c!==void 0&&a.decrease(c,0);let d=!1;for(;a.size()>0;){if(s=a.removeMin(),s in i)o.setEdge(s,i[s]);else{if(d)throw new Error("Input graph is not connected: "+e);d=!0}(r=e.nodeEdges(s))==null||r.forEach(l)}return o}function kP(e,n,r,o){return wP(e,n,r,o??(i=>{var a;return(a=e.outEdges(i))!=null?a:[]}))}function wP(e,n,r,o){if(r===void 0)return ac(e,n,r,o);let i=!1,a=e.nodes();for(let s=0;s<a.length;s++){let l=a[s];if(l===void 0)continue;let c=o(l);for(let d=0;d<c.length;d++){let u=c[d];if(!u)continue;let f=u.v===l?u.v:u.w,p=f===u.v?u.w:u.v;r({v:f,w:p})<0&&(i=!0)}if(i)return Gb(e,n,r,o)}return ac(e,n,r,o)}var dr=sp;function Ii(e,n,r,o){let i=o;for(;e.hasNode(i);)i=dp(o);return r.dummy=n,e.setNode(i,r),i}function CP(e){let n=new dr().setGraph(e.graph());return e.nodes().forEach(r=>n.setNode(r,e.node(r))),e.edges().forEach(r=>{let o=n.edge(r.v,r.w)||{weight:0,minlen:1},i=e.edge(r);n.setEdge(r.v,r.w,{weight:o.weight+i.weight,minlen:Math.max(o.minlen,i.minlen)})}),n}function Xb(e){let n=new dr({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(r=>{e.children(r).length||n.setNode(r,e.node(r))}),e.edges().forEach(r=>{n.setEdge(r,e.edge(r))}),n}function Zb(e,n){let r=e.x,o=e.y,i=n.x-r,a=n.y-o,s=e.width/2,l=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,d;return Math.abs(a)*s>Math.abs(i)*l?(a<0&&(l=-l),c=l*i/a,d=l):(i<0&&(s=-s),c=s,d=s*a/i),{x:r+c,y:o+d}}function lc(e){let n=ds(tk(e)+1).map(()=>[]);return e.nodes().forEach(r=>{let o=e.node(r),i=o.rank;i!==void 0&&(n[i]||(n[i]=[]),n[i][o.order]=r)}),n}function EP(e){let n=e.nodes().map(o=>{let i=e.node(o).rank;return i===void 0?Number.MAX_VALUE:i}),r=ur(Math.min,n);e.nodes().forEach(o=>{let i=e.node(o);Object.hasOwn(i,"rank")&&(i.rank-=r)})}function NP(e){let n=e.nodes().map(s=>e.node(s).rank).filter(s=>s!==void 0),r=ur(Math.min,n),o=[];e.nodes().forEach(s=>{let l=e.node(s).rank-r;o[l]||(o[l]=[]),o[l].push(s)});let i=0,a=e.graph().nodeRankFactor;Array.from(o).forEach((s,l)=>{s===void 0&&l%a!==0?--i:s!==void 0&&i&&s.forEach(c=>e.node(c).rank+=i)})}function Qb(e,n,r,o){let i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=o),Ii(e,"border",i,n)}function SP(e,n=ek){let r=[];for(let o=0;o<e.length;o+=n){let i=e.slice(o,o+n);r.push(i)}return r}var ek=65535;function ur(e,n){if(n.length>ek){let r=SP(n);return e(...r.map(o=>e(...o)))}else return e(...n)}function tk(e){let n=e.nodes().map(r=>{let o=e.node(r).rank;return o===void 0?Number.MIN_VALUE:o});return ur(Math.max,n)}function AP(e,n){let r={lhs:[],rhs:[]};return e.forEach(o=>{n(o)?r.lhs.push(o):r.rhs.push(o)}),r}function xP(e,n){return n()}var IP=0;function dp(e){let n=++IP;return e+(""+n)}function ds(e,n,r=1){n==null&&(n=e,e=0);let o=a=>a<n;r<0&&(o=a=>n<a);let i=[];for(let a=e;o(a);a+=r)i.push(a);return i}function cc(e,n){let r={};for(let o of n)e[o]!==void 0&&(r[o]=e[o]);return r}function dc(e,n){let r;return typeof n=="string"?r=o=>o[n]:r=n,Object.entries(e).reduce((o,[i,a])=>(o[i]=r(a,i),o),{})}function vP(e,n){return e.reduce((r,o,i)=>(r[o]=n[i],r),{})}var uc="\0";function nk(e,n,r){var o,i,a,s,l,c;if(!(e&&n&&r&&n.dummy==="edge"&&r.dummy==="edge"&&n.edgeObj&&r.edgeObj&&e[n.edgeObj.v]&&e[r.edgeObj.v]&&e[n.edgeObj.w]&&e[r.edgeObj.w]))return 0;let d=!0;n.edgeObj.w===r.edgeObj.w&&(d=!1);let u=d?(i=(o=e[n.edgeObj.v])==null?void 0:o.rank)!=null?i:NaN+1:(s=(a=e[n.edgeObj.w])==null?void 0:a.rank)!=null?s:NaN-1,f=Object.entries(e).find(y=>{var g,_;return((g=y[1].edgeObj)==null?void 0:g.v)===n.edgeObj.v&&((_=y[1].edgeObj)==null?void 0:_.w)===n.edgeObj.w&&y[1].rank===u}),p=Object.entries(e).find(y=>{var g,_;return((g=y[1].edgeObj)==null?void 0:g.v)===r.edgeObj.v&&((_=y[1].edgeObj)==null?void 0:_.w)===r.edgeObj.w&&y[1].rank===u});if(!f||!p)return 0;let m=(l=f[1].order)!=null?l:NaN,h=(c=p[1].order)!=null?c:NaN;return isNaN(m-h)?0:m-h}var TP=class{constructor(){XO(this,"_sentinel");let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,r=n._prev;if(r!==n)return rk(r),r}enqueue(n){let r=this._sentinel;n._prev&&n._next&&rk(n),n._next=r._next,r._next._prev=n,r._next=n,n._prev=r}toString(){let n=[],r=this._sentinel,o=r._prev;for(;o!==r;)n.push(JSON.stringify(o,BP)),o=o._prev;return"["+n.join(", ")+"]"}};function rk(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function BP(e,n){if(e!=="_next"&&e!=="_prev")return n}var OP=TP,PP=()=>1;function VP(e,n){if(e.nodeCount()<=1)return[];let r=RP(e,n||PP);return $P(r.graph,r.buckets,r.zeroIdx).flatMap(o=>e.outEdges(o.v,o.w)||[])}function $P(e,n,r){var o;let i=[],a=n[n.length-1],s=n[0],l;for(;e.nodeCount();){for(;l=s.dequeue();)up(e,n,r,l);for(;l=a.dequeue();)up(e,n,r,l);if(e.nodeCount()){for(let c=n.length-2;c>0;--c)if(l=(o=n[c])==null?void 0:o.dequeue(),l){i=i.concat(up(e,n,r,l,!0)||[]);break}}}return i}function up(e,n,r,o,i){let a=[],s=i?a:void 0;return(e.inEdges(o.v)||[]).forEach(l=>{let c=e.edge(l),d=e.node(l.v);i&&a.push({v:l.v,w:l.w}),d.out-=c,fp(n,r,d)}),(e.outEdges(o.v)||[]).forEach(l=>{let c=e.edge(l),d=l.w,u=e.node(d);u.in-=c,fp(n,r,u)}),e.removeNode(o.v),s}function RP(e,n){let r=new dr,o=0,i=0;e.nodes().forEach(l=>{r.setNode(l,{v:l,in:0,out:0})}),e.edges().forEach(l=>{let c=r.edge(l.v,l.w)||0,d=n(l),u=c+d;r.setEdge(l.v,l.w,u);let f=r.node(l.v),p=r.node(l.w);i=Math.max(i,f.out+=d),o=Math.max(o,p.in+=d)});let a=LP(i+o+3).map(()=>new OP),s=o+1;return r.nodes().forEach(l=>{fp(a,s,r.node(l))}),{graph:r,buckets:a,zeroIdx:s}}function fp(e,n,r){var o,i,a;r.out?r.in?(a=e[r.out-r.in+n])==null||a.enqueue(r):(i=e[e.length-1])==null||i.enqueue(r):(o=e[0])==null||o.enqueue(r)}function LP(e){let n=[];for(let r=0;r<e;r++)n.push(r);return n}function DP(e,n){(e.graph().acyclicer==="greedy"?VP(e,r(e)):MP(e,n??null)).forEach(o=>{let i=e.edge(o);e.removeEdge(o),i.forwardName=o.name,i.reversed=!0,e.setEdge(o.w,o.v,i,dp("rev"))});function r(o){return i=>o.edge(i).weight}}function MP(e,n){let r=[],o={},i={};function a(c){Object.hasOwn(i,c)||(i[c]=!0,o[c]=!0,e.outEdges(c).forEach(d=>{Object.hasOwn(o,d.w)?r.push(d):a(d.w)}),delete o[c])}function s(c){var d;Object.hasOwn(i,c)||(i[c]=!0,o[c]=!0,(d=e.outEdges(c))==null||d.forEach(u=>{var f,p;Object.hasOwn(o,u.w)||((f=n.node(c))==null?void 0:f.rank)>((p=n.node(u.w))==null?void 0:p.rank)&&jP(e,u.w,u)?r.push(u):s(u.w)}),delete o[c])}let l=a;return n&&typeof n.node=="function"&&(l=s),e.sources().forEach(l),e.nodes().forEach(l),r}function FP(e){e.edges().forEach(n=>{let r=e.edge(n);if(r.reversed){e.removeEdge(n);let o=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,o)}})}function jP(e,n,r){let o=new Set;function i(a){var s;if(e.sources().includes(a))return!0;o.add(a);for(let l of(s=e.inEdges(a))!=null?s:[])if(!(l.v===r.v&&l.w===r.w)&&!o.has(l.v)&&i(l.v))return!0;return!1}return i(n)}function UP(e){e.graph().dummyChains=[],e.edges().forEach(n=>KP(e,n))}function KP(e,n){let r=n.v,o=e.node(r).rank,i=n.w,a=e.node(i).rank,s=n.name,l=e.edge(n),c=l.labelRank;if(a===o+1)return;e.removeEdge(n);let d,u,f;for(f=0,++o;o<a;++f,++o)l.points=[],u={width:0,height:0,edgeLabel:l,edgeObj:n,rank:o},d=Ii(e,"edge",u,"_d"),o===c&&(u.width=l.width,u.height=l.height,u.dummy="edge-label",u.labelpos=l.labelpos),e.setEdge(r,d,{weight:l.weight},s),f===0&&e.graph().dummyChains.push(d),r=d;e.setEdge(r,i,{weight:l.weight},s)}function qP(e){e.graph().dummyChains.forEach(n=>{let r=e.node(n),o=r.edgeLabel,i;for(e.setEdge(r.edgeObj,o);r.dummy;)i=e.successors(n)[0],e.removeNode(n),o.points.push({x:r.x,y:r.y}),r.dummy==="edge-label"&&(o.x=r.x,o.y=r.y,o.width=r.width,o.height=r.height),n=i,r=e.node(n)})}function pp(e){let n={};function r(o){let i=e.node(o);if(Object.hasOwn(n,o))return i.rank;n[o]=!0;let a=e.outEdges(o),s=a?a.map(c=>c==null?Number.POSITIVE_INFINITY:r(c.w)-e.edge(c).minlen):[],l=ur(Math.min,s);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(r)}function vi(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var ok=GP;function GP(e){let n=new dr({directed:!1}),r=e.nodes();if(r.length===0)throw new Error("Graph must have at least one node");let o=r[0],i=e.nodeCount();n.setNode(o,{});let a,s;for(;zP(n,e)<i&&(a=HP(n,e),!!a);)s=n.hasNode(a.v)?vi(e,a):-vi(e,a),WP(n,e,s);return n}function zP(e,n){function r(o){let i=n.nodeEdges(o);i&&i.forEach(a=>{let s=a.v,l=o===s?a.w:s;!e.hasNode(l)&&!vi(n,a)&&(e.setNode(l,{}),e.setEdge(o,l,{}),r(l))})}return e.nodes().forEach(r),e.nodeCount()}function HP(e,n){return n.edges().reduce((r,o)=>{let i=Number.POSITIVE_INFINITY;return e.hasNode(o.v)!==e.hasNode(o.w)&&(i=vi(n,o)),i<r[0]?[i,o]:r},[Number.POSITIVE_INFINITY,null])[1]}function WP(e,n,r){e.nodes().forEach(o=>n.node(o).rank+=r)}var{preorder:YP,postorder:JP}=cp,XP=vo;vo.initLowLimValues=gp,vo.initCutValues=mp,vo.calcCutValue=ik,vo.leaveEdge=sk,vo.enterEdge=lk,vo.exchangeEdges=ck;function vo(e){e=CP(e),pp(e);let n=ok(e);gp(n),mp(n,e);let r,o;for(;r=sk(n);)o=lk(n,e,r),ck(n,e,r,o)}function mp(e,n){let r=JP(e,e.nodes());r=r.slice(0,r.length-1),r.forEach(o=>ZP(e,n,o))}function ZP(e,n,r){let o=e.node(r).parent,i=e.edge(r,o);i.cutvalue=ik(e,n,r)}function ik(e,n,r){let o=e.node(r).parent,i=!0,a=n.edge(r,o),s=0;a||(i=!1,a=n.edge(o,r)),s=a.weight;let l=n.nodeEdges(r);return l&&l.forEach(c=>{let d=c.v===r,u=d?c.w:c.v;if(u!==o){let f=d===i,p=n.edge(c).weight;if(s+=f?p:-p,eV(e,r,u)){let m=e.edge(r,u).cutvalue;s+=f?-m:m}}}),s}function gp(e,n){arguments.length<2&&(n=e.nodes()[0]),ak(e,{},1,n)}function ak(e,n,r,o,i){let a=r,s=e.node(o);n[o]=!0;let l=e.neighbors(o);return l&&l.forEach(c=>{Object.hasOwn(n,c)||(r=ak(e,n,r,c,o))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function sk(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function lk(e,n,r){let o=r.v,i=r.w;n.hasEdge(o,i)||(o=r.w,i=r.v);let a=e.node(o),s=e.node(i),l=a,c=!1;return a.lim>s.lim&&(l=s,c=!0),n.edges().filter(d=>c===dk(e,e.node(d.v),l)&&c!==dk(e,e.node(d.w),l)).reduce((d,u)=>vi(n,u)<vi(n,d)?u:d)}function ck(e,n,r,o){let i=r.v,a=r.w;e.removeEdge(i,a),e.setEdge(o.v,o.w,{}),gp(e),mp(e,n),QP(e,n)}function QP(e,n){let r=e.nodes().find(i=>!e.node(i).parent);if(!r)return;let o=YP(e,[r]);o=o.slice(1),o.forEach(i=>{let a=e.node(i).parent,s=n.edge(i,a),l=!1;s||(s=n.edge(a,i),l=!0),n.node(i).rank=n.node(a).rank+(l?s.minlen:-s.minlen)})}function eV(e,n,r){return e.hasEdge(n,r)}function dk(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}var tV=nV;function nV(e){let n=e.graph().ranker;if(typeof n=="function")return n(e);switch(n){case"network-simplex":uk(e);break;case"tight-tree":oV(e);break;case"longest-path":rV(e);break;case"none":break;default:uk(e)}}var rV=pp;function oV(e){pp(e),ok(e)}function uk(e){XP(e)}var iV=aV;function aV(e){let n=lV(e),r=e.graph();Array.isArray(r.dummyChains)&&r.dummyChains.forEach(o=>{let i=e.node(o),a=i.edgeObj,s=sV(e,n,a.v,a.w),l=s.path,c=s.lca,d=0,u=l[d],f=!0;for(;o!==a.w;){if(i=e.node(o),f){for(;(u=l[d])!==c&&e.node(u).maxRank<i.rank;)d++;u===c&&(f=!1)}if(!f){for(;d<l.length-1&&e.node(l[d+1]).minRank<=i.rank;)d++;u=l[d]}u!==void 0&&e.setParent(o,u),o=e.successors(o)[0]}})}function sV(e,n,r,o){let i=[],a=[],s=Math.min(n[r].low,n[o].low),l=Math.max(n[r].lim,n[o].lim),c;c=r;do c=e.parent(c),i.push(c);while(c&&(n[c].low>s||l>n[c].lim));let d=c,u=o;for(;(u=e.parent(u))!==d;)a.push(u);return{path:i.concat(a.reverse()),lca:d}}function lV(e){let n={},r=0;function o(i){let a=r;e.children(i).forEach(o),n[i]={low:a,lim:r++}}return e.children(uc).forEach(o),n}function cV(e){let n=Ii(e,"root",{},"_root"),r=dV(e),o=Object.values(r),i=ur(Math.max,o)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(l=>e.edge(l).minlen*=a);let s=uV(e)+1;e.children(uc).forEach(l=>{fk(e,n,a,s,i,r,l)}),e.graph().nodeRankFactor=a}function fk(e,n,r,o,i,a,s){var l;let c=e.children(s);if(!c.length){s!==n&&e.setEdge(n,s,{weight:0,minlen:r});return}let d=Qb(e,"_bt"),u=Qb(e,"_bb"),f=e.node(s);e.setParent(d,s),f.borderTop=d,e.setParent(u,s),f.borderBottom=u,c.forEach(p=>{var m;fk(e,n,r,o,i,a,p);let h=e.node(p),y=h.borderTop?h.borderTop:p,g=h.borderBottom?h.borderBottom:p,_=h.borderTop?o:2*o,k=y!==g?1:i-((m=a[s])!=null?m:0)+1;e.setEdge(d,y,{weight:_,minlen:k,nestingEdge:!0}),e.setEdge(g,u,{weight:_,minlen:k,nestingEdge:!0})}),e.parent(s)||e.setEdge(n,d,{weight:0,minlen:i+((l=a[s])!=null?l:0)})}function dV(e){let n={};function r(o,i){let a=e.children(o);a&&a.length&&a.forEach(s=>r(s,i+1)),n[o]=i}return e.children(uc).forEach(o=>r(o,1)),n}function uV(e){return e.edges().reduce((n,r)=>n+e.edge(r).weight,0)}function fV(e){let n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(r=>{e.edge(r).nestingEdge&&e.removeEdge(r)})}var pV=mV;function mV(e){function n(r){let o=e.children(r),i=e.node(r);if(o.length&&o.forEach(n),i&&Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,s=i.maxRank+1;a<s;++a)pk(e,"borderLeft","_bl",r,i,a),pk(e,"borderRight","_br",r,i,a)}}e.children(uc).forEach(n)}function pk(e,n,r,o,i,a){let s={width:0,height:0,rank:a,borderType:n},l=i[n][a-1],c=Ii(e,"border",s,r);i[n][a]=c,e.setParent(c,o),l&&e.setEdge(l,c,{weight:1})}function gV(e){var n;let r=(n=e.graph().rankdir)==null?void 0:n.toLowerCase();(r==="lr"||r==="rl")&&mk(e)}function hV(e){var n;let r=(n=e.graph().rankdir)==null?void 0:n.toLowerCase();(r==="bt"||r==="rl")&&yV(e),(r==="lr"||r==="rl")&&(_V(e),mk(e))}function mk(e){e.nodes().forEach(n=>gk(e.node(n))),e.edges().forEach(n=>gk(e.edge(n)))}function gk(e){let n=e.width;e.width=e.height,e.height=n}function yV(e){e.nodes().forEach(n=>hp(e.node(n))),e.edges().forEach(n=>{var r;let o=e.edge(n);(r=o.points)==null||r.forEach(hp),Object.hasOwn(o,"y")&&hp(o)})}function hp(e){e.y=-e.y}function _V(e){e.nodes().forEach(n=>yp(e.node(n))),e.edges().forEach(n=>{var r;let o=e.edge(n);(r=o.points)==null||r.forEach(yp),Object.hasOwn(o,"x")&&yp(o)})}function yp(e){let n=e.x;e.x=e.y,e.y=n}function bV(e,n=null){let r={},o=e.nodes().filter(d=>!e.children(d).length),i=o.map(d=>e.node(d).rank),a=ur(Math.max,i),s=ds(a+1).map(()=>[]);function l(d){if(r[d])return;r[d]=!0;let u=e.node(d);s[u.rank].push(d);let f=e.successors(d);f&&[...f].sort((p,m)=>c(p,m)).forEach(l)}o.sort((d,u)=>e.node(d).rank-e.node(u).rank).forEach(l);function c(d,u){let f=e.node(d),p=e.node(u);return nk(n,f,p)}return s}function kV(e,n){let r=0;for(let o=1;o<n.length;++o)r+=wV(e,n[o-1],n[o]);return r}function wV(e,n,r){let o=vP(r,r.map((d,u)=>u)),i=n.flatMap(d=>{let u=e.outEdges(d);return u?u.map(f=>({pos:o[f.w],weight:e.edge(f).weight})).sort((f,p)=>f.pos-p.pos):[]}),a=1;for(;a<r.length;)a<<=1;let s=2*a-1;a-=1;let l=new Array(s).fill(0),c=0;return i.forEach(d=>{let u=d.pos+a;l[u]+=d.weight;let f=0;for(;u>0;)u%2&&(f+=l[u+1]),u=u-1>>1,l[u]+=d.weight;c+=d.weight*f}),c}function CV(e,n=[]){return n.map(r=>{let o=e.inEdges(r);if(!o||!o.length)return{v:r};{let i=o.reduce((a,s)=>{let l=e.edge(s),c=e.node(s.v);return{sum:a.sum+l.weight*c.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}})}function EV(e,n){let r={};e.forEach((i,a)=>{let s={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(s.barycenter=i.barycenter,s.weight=i.weight),r[i.v]=s}),n.edges().forEach(i=>{let a=r[i.v],s=r[i.w];a!==void 0&&s!==void 0&&(s.indegree++,a.out.push(s))});let o=Object.values(r).filter(i=>!i.indegree);return NV(o)}function NV(e){let n=[];function r(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&SV(i,a)}}function o(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(r(i)),i.out.forEach(o(i))}return n.filter(i=>!i.merged).map(i=>cc(i,["vs","i","barycenter","weight"]))}function SV(e,n){let r=0,o=0;e.weight&&(r+=e.barycenter*e.weight,o+=e.weight),n.weight&&(r+=n.barycenter*n.weight,o+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/o,e.weight=o,e.i=Math.min(n.i,e.i),n.merged=!0}function AV(e,n,r,o,i){let a={},s=null,l=null,c=i;typeof n=="boolean"?(c=n,a={}):n&&(a=n,s=r??null,l=o??null);let d=AP(e,_=>Object.hasOwn(_,"barycenter")),u=d.lhs,f=d.rhs.sort((_,k)=>k.i-_.i),p=[],m=0,h=0,y=0;u.sort(xV(l,s,!!c));for(let[_,k]of Object.entries(a)){let b=u.findIndex(N=>N.vs[0]===_);u.splice(b+1,0,k)}y=hk(p,f,y),u.forEach(_=>{y+=_.vs.length,p.push(_.vs),m+=_.barycenter*_.weight,h+=_.weight,y=hk(p,f,y)});let g={vs:p.flat(1)};return h&&(g.barycenter=m/h,g.weight=h),g}function hk(e,n,r){let o;for(;n.length&&(o=n[n.length-1]).i<=r;)n.pop(),e.push(o.vs),r++;return r}function xV(e,n,r){return(o,i)=>{if(o.barycenter<i.barycenter)return-1;if(o.barycenter>i.barycenter)return 1;if(e&&(typeof o.vs[0]=="string"||typeof i.vs[0]=="string")){let a=e.node(o.vs[0]),s=e.node(i.vs[0]),l=nk(n,a,s);if(l!==0)return l}return r?i.i-o.i:o.i-i.i}}function yk(e,n,r,o,i){var a,s,l,c,d,u,f,p,m,h,y;let g=null,_=i;typeof o=="boolean"?(_=o,g=null):o!==void 0&&(g=o);let k=e.children(n),b=e.node(n),N=b?b.borderLeft:void 0,C=b?b.borderRight:void 0,w={};N&&(k=k.filter(v=>v!==N&&v!==C));let S=CV(e,k);S.forEach(v=>{if(e.children(v.v).length){let{result:P}=yk(e,v.v,r,g,_);w[v.v]=P,Object.hasOwn(P,"barycenter")&&vV(v,P)}});let x=EV(S,r);IV(x,w);let I={},T=!1;for(let v=0;v<x.length;v++)for(let P=v+1;P<x.length;P++)if(!(!x[v]||!x[P]||!((a=x[v])!=null&&a.barycenter)||!((s=x[P])!=null&&s.barycenter))&&((l=x[v])==null?void 0:l.barycenter)===x[P].barycenter){let O=(d=(c=x[v])==null?void 0:c.vs[0])!=null?d:"",R=(f=(u=x[P])==null?void 0:u.vs[0])!=null?f:"",Q=e.node(O),fe=e.node(R);if(Q.dummy==="edge"&&fe.dummy==="edge"&&((p=Q.edgeObj)==null?void 0:p.v)===((m=fe.edgeObj)==null?void 0:m.v)&&((h=Q.edgeObj)==null?void 0:h.w)===((y=fe.edgeObj)==null?void 0:y.w))if(Q.edgeLabel.reversed){I[R]=x[v],x.splice(v,1),v--;break}else I[O]=x[P],x.splice(P,1),P--;else T=!0}let A=AV(x,I,g,e,_);if(N&&C){A.vs=[N,A.vs,C].flat(1);let v=e.predecessors(N);if(v&&v.length){let P=e.node(v[0]),O=e.predecessors(C),R=e.node(O[0]);Object.hasOwn(A,"barycenter")||(A.barycenter=0,A.weight=0),A.barycenter=(A.barycenter*A.weight+P.order+R.order)/(A.weight+2),A.weight+=2}}return Object.defineProperty(A,"result",{value:A,enumerable:!1,configurable:!0,writable:!0}),Object.defineProperty(A,"usedBias",{value:T,enumerable:!1,configurable:!0,writable:!0}),A}function IV(e,n){e.forEach(r=>{r.vs=r.vs.flatMap(o=>n[o]?n[o].vs:o)})}function vV(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}function TV(e,n,r,o){o||(o=e.nodes());let i=BV(e),a=new dr({compound:!0}).setGraph({root:i}).setDefaultNodeLabel(s=>e.node(s));return o.forEach(s=>{let l=e.node(s),c=e.parent(s);if(l.rank===n||l.minRank<=n&&n<=l.maxRank){a.setNode(s),a.setParent(s,c||i);let d=e[r](s);d&&d.forEach(u=>{let f=u.v===s?u.w:u.v,p=a.edge(f,s),m=p!==void 0?p.weight:0;a.setEdge(f,s,{weight:e.edge(u).weight+m})}),Object.hasOwn(l,"minRank")&&a.setNode(s,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]})}}),a}function BV(e){let n;for(;e.hasNode(n=dp("_root")););return n}function OV(e,n,r){let o={},i;r.forEach(a=>{let s=e.parent(a),l,c;for(;s;){if(l=e.parent(s),l?(c=o[l],o[l]=s):(c=i,i=s),c&&c!==s){n.setEdge(c,s);return}s=l}})}function _k(e,n={},r=null){if(typeof n.customOrder=="function"){n.customOrder(e,_k);return}let o=tk(e),i=bk(e,ds(1,o+1),"inEdges"),a=bk(e,ds(o-1,-1,-1),"outEdges"),s=bV(e,r);if(kk(e,s),n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,c,d=n.constraints||[];for(let u=0,f=0;f<4;++u,++f){PV(u%2?i:a,u%4>=2,d,r),s=lc(e);let p=kV(e,s);p<l?(f=0,c=Object.assign({},s),l=p):p===l&&(c=structuredClone(s))}kk(e,c)}function bk(e,n,r){let o=new Map,i=(a,s)=>{o.has(a)||o.set(a,[]),o.get(a).push(s)};for(let a of e.nodes()){let s=e.node(a);if(typeof s.rank=="number"&&i(s.rank,a),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let l=s.minRank;l<=s.maxRank;l++)l!==s.rank&&i(l,a)}return n.map(function(a){return TV(e,a,r,o.get(a)||[])})}function PV(e,n,r,o){let i=!0,a=new dr;e.forEach(function(s){r.forEach(u=>a.setEdge(u.left,u.right));let l=s.graph().root,{result:c,usedBias:d}=yk(s,l,a,o,i);n&&d&&(i=!i),c.vs.forEach((u,f)=>s.node(u).order=f),OV(s,a,c.vs)})}function kk(e,n){Object.values(n).forEach(r=>r.forEach((o,i)=>e.node(o).order=i))}function VV(e,n){let r={};function o(i,a){let s=0,l=0,c=i.length,d=a[a.length-1];return a.forEach((u,f)=>{let p=RV(e,u),m=p?e.node(p).order:c;(p||u===d)&&(a.slice(l,f+1).forEach(h=>{let y=e.predecessors(h);y&&y.forEach(g=>{let _=e.node(g),k=_.order;(k<s||m<k)&&!(_.dummy&&e.node(h).dummy)&&wk(r,g,h)})}),l=f+1,s=m)}),a}return n.length&&n.reduce(o),r}function $V(e,n){let r={};function o(a,s,l,c,d){ds(s,l).forEach(u=>{let f=a[u];if(f!==void 0&&e.node(f).dummy){let p=e.predecessors(f);p&&p.forEach(m=>{if(m===void 0)return;let h=e.node(m);h.dummy&&(h.order<c||h.order>d)&&wk(r,m,f)})}})}function i(a,s){let l=-1,c=-1,d=0;return s.forEach((u,f)=>{if(e.node(u).dummy==="border"){let p=e.predecessors(u);if(p&&p.length){let m=p[0];if(m===void 0)return;c=e.node(m).order,o(s,d,f,l,c),d=f,l=c}}o(s,d,s.length,c,a.length)}),s}return n.length&&n.reduce(i),r}function RV(e,n){if(e.node(n).dummy){let r=e.predecessors(n);if(r)return r.find(o=>e.node(o).dummy)}}function wk(e,n,r){if(n>r){let i=n;n=r,r=i}let o=e[n];o||(e[n]=o={}),o[r]=!0}function LV(e,n,r){if(n>r){let i=n;n=r,r=i}let o=e[n];return o!==void 0&&Object.hasOwn(o,r)}function DV(e,n,r,o,i){let a={},s={},l={};return n.forEach(c=>{c.forEach((d,u)=>{a[d]=d,s[d]=d,l[d]=u})}),n.forEach(c=>{let d=-1,u=-1,f=!1,p=c,m=c.findIndex(h=>i?.includes(h)||Ck(h,e,i));m>0&&(p=[c[m],...c.slice(0,m),...c.slice(m+1)],f=!0),p.forEach(h=>{var y;let g=o(h);if(g&&g.length){i!=null&&i.includes(h)&&(g=g.filter(b=>Ck(b,e,i)));let _=g.sort((b,N)=>{let C=l[b],w=l[N];return(C!==void 0?C:0)-(w!==void 0?w:0)}),k=(_.length-1)/2;for(let b=Math.floor(k),N=Math.ceil(k);b<=N;++b){let C=_[b];if(C===void 0)continue;let w=l[C];if(w!==void 0&&s[h]===h&&d<w&&l[C]!==u&&!LV(r,h,C)){let S=a[C];S!==void 0&&(s[C]=h,s[h]=a[h]=S,d=w,f&&(d=-1,u=(y=l[C])!=null?y:-1,f=!1))}}}})}),{root:a,align:s}}function MV(e,n,r,o,i=!1){let a={},s=FV(e,n,r,i),l=i?"borderLeft":"borderRight";function c(m,h){let y=s.nodes().slice(),g={},_=y.pop();for(;_;){if(g[_])m(_);else{g[_]=!0,y.push(_);for(let k of h(_))y.push(k)}_=y.pop()}}function d(m){let h=s.inEdges(m);h?a[m]=h.reduce((y,g)=>{var _;let k=(_=a[g.v])!=null?_:0,b=s.edge(g);return Math.max(y,k+(b!==void 0?b:0))},0):a[m]=0}function u(m){let h=s.outEdges(m),y=Number.POSITIVE_INFINITY;h&&(y=h.reduce((_,k)=>{let b=a[k.w],N=s.edge(k);return Math.min(_,(b!==void 0?b:0)-(N!==void 0?N:0))},Number.POSITIVE_INFINITY));let g=e.node(m);y!==Number.POSITIVE_INFINITY&&g.borderType!==l&&(a[m]=Math.max(a[m]!==void 0?a[m]:0,y))}function f(m){return s.predecessors(m)||[]}function p(m){return s.successors(m)||[]}return c(d,f),c(u,p),Object.keys(o).forEach(m=>{var h;let y=r[m];y!==void 0&&(a[m]=(h=a[y])!=null?h:0)}),a}function FV(e,n,r,o){let i=new dr,a=e.graph(),s=GV(a.nodesep,a.edgesep,o);return n.forEach(l=>{let c;l.forEach(d=>{let u=r[d];if(u!==void 0){if(i.setNode(u),c!==void 0){let f=r[c];if(f!==void 0){let p=i.edge(f,u);i.setEdge(f,u,Math.max(s(e,d,c),p||0))}}c=d}})}),i}function jV(e,n){return Object.values(n).reduce((r,o)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(o).forEach(([l,c])=>{let d=zV(e,l)/2;i=Math.max(c+d,i),a=Math.min(c-d,a)});let s=i-a;return s<r[0]&&(r=[s,o]),r},[Number.POSITIVE_INFINITY,null])[1]}function UV(e,n){let r=Object.values(n),o=ur(Math.min,r),i=ur(Math.max,r);["u","d"].forEach(a=>{["l","r"].forEach(s=>{let l=a+s,c=e[l];if(!c||c===n)return;let d=Object.values(c),u=o-ur(Math.min,d);s!=="l"&&(u=i-ur(Math.max,d)),u&&(e[l]=dc(c,f=>f+u))})})}function KV(e,n=void 0){let r=e.ul;return r?dc(r,(o,i)=>{var a,s;if(n){let c=n.toLowerCase(),d=e[c];if(d&&d[i]!==void 0)return d[i]}let l=Object.values(e).map(c=>{let d=c[i];return d!==void 0?d:0}).sort((c,d)=>c-d);return(((a=l[1])!=null?a:0)+((s=l[2])!=null?s:0))/2}):{}}function qV(e,n){let r=lc(e),o=Object.assign(VV(e,r),$V(e,r)),i={},a;["u","d"].forEach(l=>{a=l==="u"?r:Object.values(r).reverse(),["l","r"].forEach(c=>{c==="r"&&(a=a.map(f=>Object.values(f).reverse()));let d=DV(e,a,o,f=>(l==="u"?e.predecessors(f):e.successors(f))||[],n),u=MV(e,a,d.root,d.align,c==="r");c==="r"&&(u=dc(u,f=>-f)),i[l+c]=u})});let s=jV(e,i);return UV(i,s),KV(i,e.graph().align)}function GV(e,n,r){return(o,i,a)=>{let s=o.node(i),l=o.node(a),c=0,d;if(c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":d=-s.width/2;break;case"r":d=s.width/2;break}if(d&&(c+=r?d:-d),d=void 0,c+=(s.dummy?n:e)/2,c+=(l.dummy?n:e)/2,c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":d=l.width/2;break;case"r":d=-l.width/2;break}return d&&(c+=r?d:-d),c}}function zV(e,n){return e.node(n).width}function Ck(e,n,r){var o;if(!r)return!1;let i=(o=n.node(e))==null?void 0:o.edgeObj;if(!i||n.node(e).edgeLabel.reversed)return!1;let a=r.indexOf(i?.v),s=r.indexOf(i?.w);return a!==-1&&s!==-1&&a===(s+1)%r.length||a===(s-1)%r.length}function HV(e,n){e=Xb(e),WV(e),Object.entries(qV(e,n)).forEach(([r,o])=>e.node(r).x=o)}function WV(e){let n=lc(e),r=e.graph(),o=r.ranksep,i=r.rankalign,a=0;n.forEach(s=>{let l=s.reduce((c,d)=>{var u;let f=(u=e.node(d).height)!=null?u:0;return c>f?c:f},0);s.forEach(c=>{let d=e.node(c);i==="top"?d.y=a+d.height/2:i==="bottom"?d.y=a+l-d.height/2:d.y=a+l/2}),a+=l+o})}var Ek=new WeakMap;function YV(e,n={}){return Sk(e,xP,n),e}function Nk(e,n,r){let o=n;for(;o!==void 0;){let i=e.parent(o);if(i===r)return o;o=i}}function Sk(e,n,r){var o;let i=e.nodes().filter(k=>e.children(k).length),a={};i.forEach(k=>{let b=e.node(k);if(b&&b.rankdir){let N=new dr({multigraph:!0,compound:!0});N.setGraph({rankdir:b.rankdir});let C=e.children(k);C.forEach(O=>{let R={...e.node(O)};N.setNode(O,R);let Q=e.parent(O);Q&&Q!==k&&C.includes(Q)&&N.setParent(O,Q)});let w=new Set;e.edges().forEach(O=>{let R=Nk(e,O.v,k),Q=Nk(e,O.w,k);if(R&&Q&&R!==Q){let fe=`${R}\0${Q}`;w.has(fe)||(w.add(fe),N.setEdge(R,Q,{...e.edge(O)}))}}),Sk(N,n,r);let S=vk(N);Ak(S,n,r,null),xk(N,S);let x=1/0,I=1/0,T=-1/0,A=-1/0;N.nodes().forEach(O=>{if(O===k)return;let R=N.node(O);R&&typeof R.x=="number"&&typeof R.y=="number"&&typeof R.width=="number"&&typeof R.height=="number"&&(x=Math.min(x,R.x-R.width/2),T=Math.max(T,R.x+R.width/2),I=Math.min(I,R.y-R.height/2),A=Math.max(A,R.y+R.height/2))}),(!isFinite(x)||!isFinite(I)||!isFinite(T)||!isFinite(A))&&(x=I=0,T=A=0);let v=T-x,P=A-I;a[k]={minX:x,minY:I,maxX:T,maxY:A,width:v,height:P,offsetX:x,offsetY:I},b._dagreClusterSubgraph=N}});let s=[],l=k=>{let b=[],N=(e.children(k)||[]).filter(C=>C!==k);for(;N.length>0;){let C=N.shift();b.push(C),(e.children(C)||[]).filter(w=>w!==C).forEach(w=>N.push(w))}return b},c=new Map;i.forEach(k=>{let b=e.node(k);b&&b.rankdir&&a[k]&&c.set(k,(e.children(k)||[]).filter(N=>N!==k))});let d=new Set([...c.values()].flat()),u=new Map;c.forEach((k,b)=>{d.has(b)||u.set(b,l(b))});let f=new Set([...u.values()].flat()),p=k=>{for(let[b,N]of u)if(N.includes(k))return b;return k},m=[];e.edges().forEach(k=>{(f.has(k.v)||f.has(k.w))&&m.push({edge:k,label:e.edge(k)})});let h=new Map;f.forEach(k=>{let b=e.parent(k);h.set(k,typeof b=="string"?b:void 0)}),u.forEach((k,b)=>{let N=e.node(b),C=[];k.forEach(x=>{let I=e.node(x);I&&(C.push({id:x,node:I,parent:h.get(x)}),e.removeNode(x))});let w=m.filter(({edge:x})=>k.includes(x.v)||k.includes(x.w)),S=a[b];N&&(s.push({clusterId:b,subgraph:N._dagreClusterSubgraph,bounds:S,children:k,removedNodes:C,removedEdges:w}),N.width=S.width,N.height=S.height)});let y=new Set;m.forEach(({edge:k,label:b})=>{let N=p(k.v),C=p(k.w);if(N!==C&&e.hasNode(N)&&e.hasNode(C)){let w=`${N}\0${C}`;y.has(w)||(y.add(w),e.setEdge(N,C,{...b,width:0,height:0}))}});let g=vk(e),_=Ak(g,n,r,(o=Ek.get(e))!=null?o:null);Ek.set(e,_),xk(e,g),y.forEach(k=>{let b=k.indexOf("\0"),N=k.slice(0,b),C=k.slice(b+1);e.hasEdge(N,C)&&e.removeEdge(N,C)}),s.forEach(({clusterId:k,subgraph:b,bounds:N,removedNodes:C,removedEdges:w})=>{var S,x;let I=e.node(k),T=(S=I?.x)!=null?S:0,A=(x=I?.y)!=null?x:0,v=(N.minX+N.maxX)/2,P=(N.minY+N.maxY)/2;C.forEach(({id:O,node:R,parent:Q})=>{e.setNode(O,R),Q!==void 0&&e.setParent(O,Q)}),w.forEach(({edge:O,label:R})=>{e.setEdge(O,R)}),b.nodes().forEach(O=>{if(O===k)return;let R=b.node(O),Q=e.node(O);Q&&R&&typeof R.x=="number"&&typeof R.y=="number"&&(Q.x=T+(R.x-v),Q.y=A+(R.y-P))}),delete I._dagreClusterSubgraph}),i.forEach(k=>{var b,N;let C=e.node(k),w=a[k];if(C&&C.rankdir&&C._dagreClusterSubgraph&&w){let S=C._dagreClusterSubgraph,x=(b=C.x)!=null?b:0,I=(N=C.y)!=null?N:0,T=(w.minX+w.maxX)/2,A=(w.minY+w.maxY)/2;S.nodes().forEach(v=>{if(v===k)return;let P=S.node(v),O=e.node(v);if(O&&P&&typeof P.x=="number"&&typeof P.y=="number"){let R=P.x-T,Q=P.y-A;O.x=x+R,O.y=I+Q}}),delete C._dagreClusterSubgraph}})}function Ak(e,n,r,o=null){var i,a;let s=r?.useDynamic!==!1,l=s&&(i=o?.graph)!=null?i:null,c=s&&(a=o?.rawNodes)!=null?a:null;n(" makeSpaceForEdgeLabels",()=>r$(e)),n(" removeSelfEdges",()=>f$(e)),n(" acyclic",()=>DP(e,l)),n(" nestingGraph.run",()=>cV(e)),n(" rank",()=>tV(Xb(e))),n(" injectEdgeLabelProxies",()=>o$(e)),n(" removeEmptyRanks",()=>NP(e)),n(" nestingGraph.cleanup",()=>fV(e)),n(" normalizeRanks",()=>EP(e)),n(" assignRankMinMax",()=>i$(e)),n(" removeEdgeLabelProxies",()=>a$(e)),n(" normalize.run",()=>UP(e)),n(" parentDummyChains",()=>iV(e)),n(" addBorderSegments",()=>pV(e)),n(" order",()=>_k(e,r,c)),n(" insertSelfEdges",()=>p$(e)),n(" adjustCoordinateSystem",()=>gV(e)),n(" position",()=>HV(e,r.corePath)),n(" positionSelfEdges",()=>m$(e));let d=JSON.parse(JSON.stringify(e._nodes));return n(" removeBorderNodes",()=>u$(e)),n(" normalize.undo",()=>qP(e)),n(" fixupEdgeLabelCoords",()=>c$(e)),n(" undoCoordinateSystem",()=>hV(e)),n(" translateGraph",()=>s$(e)),n(" assignNodeIntersects",()=>l$(e)),n(" reversePoints",()=>d$(e)),n(" acyclic.undo",()=>FP(e)),{graph:e,rawNodes:d}}function xk(e,n){e.nodes().forEach(r=>{let o=e.node(r),i=n.node(r);o&&(o.x=i.x,o.y=i.y,o.order=i.order,o.rank=i.rank,n.children(r).length&&(o.width=i.width,o.height=i.height))}),e.edges().forEach(r=>{let o=e.edge(r),i=n.edge(r);o.points=i.points,Object.hasOwn(i,"x")&&(o.x=i.x,o.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var JV=["nodesep","edgesep","ranksep","marginx","marginy"],XV={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},ZV=["acyclicer","ranker","rankdir","align","rankalign"],QV=["width","height","rank"],Ik={width:0,height:0},e$=["minlen","weight","width","height","labeloffset"],t$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},n$=["labelpos"];function vk(e){let n=new dr({multigraph:!0,compound:!0}),r=bp(e.graph());return n.setGraph(Object.assign({},XV,_p(r,JV),cc(r,ZV))),e.nodes().forEach(o=>{let i=bp(e.node(o)),a=_p(i,QV);Object.keys(Ik).forEach(l=>{a[l]===void 0&&(a[l]=Ik[l])}),n.setNode(o,a);let s=e.parent(o);s!==void 0&&n.setParent(o,s)}),e.edges().forEach(o=>{let i=bp(e.edge(o));n.setEdge(o,Object.assign({},t$,_p(i,e$),cc(i,n$)))}),n}function r$(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(r=>{var o;let i=e.edge(r);i.minlen*=2,((o=i.labelpos)!=null?o:"r").toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?i.width+=i.labeloffset:i.height+=i.labeloffset)})}function o$(e){e.edges().forEach(n=>{let r=e.edge(n);if(r.width&&r.height){let o=e.node(n.v),i={rank:(e.node(n.w).rank-o.rank)/2+o.rank,e:n};Ii(e,"edge-proxy",i,"_ep")}})}function i$(e){let n=0;e.nodes().forEach(r=>{let o=e.node(r);o.borderTop&&(o.minRank=e.node(o.borderTop).rank,o.maxRank=e.node(o.borderBottom).rank,n=Math.max(n,o.maxRank))}),e.graph().maxRank=n}function a$(e){e.nodes().forEach(n=>{let r=e.node(n);if(r.dummy==="edge-proxy"){let o=r;e.edge(o.e).labelRank=r.rank,e.removeNode(n)}})}function s$(e){let n=Number.POSITIVE_INFINITY,r=0,o=Number.POSITIVE_INFINITY,i=0,a=e.graph(),s=a.marginx||0,l=a.marginy||0;function c(d){let u=d.x,f=d.y,p=d.width,m=d.height;n=Math.min(n,u-p/2),r=Math.max(r,u+p/2),o=Math.min(o,f-m/2),i=Math.max(i,f+m/2)}e.nodes().forEach(d=>c(e.node(d))),e.edges().forEach(d=>{let u=e.edge(d);Object.hasOwn(u,"x")&&c(u)}),n-=s,o-=l,e.nodes().forEach(d=>{let u=e.node(d);u.x-=n,u.y-=o}),e.edges().forEach(d=>{let u=e.edge(d);u.points.forEach(f=>{f.x-=n,f.y-=o}),Object.hasOwn(u,"x")&&(u.x-=n),Object.hasOwn(u,"y")&&(u.y-=o)}),a.width=r-n+s,a.height=i-o+l}function l$(e){e.edges().forEach(n=>{if(n.v===n.w)return;let r=e.edge(n),o=e.node(n.v),i=e.node(n.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=o),r.points.unshift(Zb(o,a)),r.points.push(Zb(i,s))})}function c$(e){e.edges().forEach(n=>{let r=e.edge(n);if(Object.hasOwn(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function d$(e){e.edges().forEach(n=>{let r=e.edge(n);r.reversed&&r.points.reverse()})}function u$(e){e.nodes().forEach(n=>{if(e.children(n).length){let r=e.node(n),o=e.node(r.borderTop),i=e.node(r.borderBottom),a=e.node(r.borderLeft[r.borderLeft.length-1]),s=e.node(r.borderRight[r.borderRight.length-1]);r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-o.y),r.x=a.x+r.width/2,r.y=o.y+r.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function f$(e){e.edges().forEach(n=>{if(n.v===n.w){let r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function p$(e){lc(e).forEach(n=>{let r=0;n.forEach((o,i)=>{let a=e.node(o);typeof a.rank!="number"&&(a.rank=0),a.order=i+r,(a.selfEdges||[]).forEach(s=>{Ii(e,"selfedge",{width:s.label.width,height:s.label.height,rank:a.rank,order:i+ ++r,e:s.e,edgeLabel:s.label},"_se"),(!Array.isArray(s.label.points)||s.label.points.length!==7)&&(s.label.points=[{x:0,y:-10},{x:0,y:-10},{x:0,y:0},{x:0,y:10},{x:0,y:10},{x:0,y:0},{x:0,y:0}])}),delete a.selfEdges})})}function m$(e){e.nodes().forEach(n=>{let r=e.node(n),o=i=>typeof i=="number"&&isFinite(i);if(r.dummy==="selfedge"){let i=r,a=e.node(i.e.v),s=o(a?.x)?a.x:0,l=o(a?.y)?a.y:0,c=o(a?.width)?a.width:0,d=o(a?.height)?a.height:0,u=o(r.x)?r.x:s,f=o(r.y)?r.y:l,p=c/2,m=d/2;i.edgeLabel.points=[{x:u+p,y:f-m},{x:u+p,y:f-m},{x:u,y:f},{x:u-p,y:f+m},{x:u-p,y:f+m},{x:u,y:f},{x:u,y:f}],i.edgeLabel.x=u,i.edgeLabel.y=f,e.setEdge(i.e,i.edgeLabel),e.removeNode(n)}else r&&Array.isArray(r.selfEdges)&&r.selfEdges.forEach(i=>{if(!Array.isArray(i.label.points)||i.label.points.length!==7){let a=o(r.x)?r.x:0,s=o(r.y)?r.y:0,l=o(r.width)?r.width:0,c=o(r.height)?r.height:0,d=l/2,u=c/2;i.label.points=[{x:a+d,y:s-u},{x:a+d,y:s-u},{x:a,y:s},{x:a-d,y:s+u},{x:a-d,y:s+u},{x:a,y:s},{x:a,y:s}]}})})}function _p(e,n){return dc(cc(e,n),Number)}function bp(e){let n={};return e&&Object.entries(e).forEach(([r,o])=>{typeof r=="string"&&(r=r.toLowerCase()),n[r]=o}),n}function g$(e){return e.map(({source:n,target:r})=>({source:n,target:r}))}function h$(e){const n=[];for(const r of e)for(const o of r.memberIds)n.push({source:r.ownerId,target:o});return n}function Tk(e,n){return[...g$(e),...h$(n)]}function fc(e,n){const r=new Map;for(const{source:o,target:i}of e)r.has(o)||r.set(o,[]),r.get(o).push(i),r.has(i)||r.set(i,[]);return n&&(r.has(n.source)||r.set(n.source,[]),r.get(n.source).push(n.target),r.has(n.target)||r.set(n.target,[])),r}function kp(e){const n=new Set,r=new Set;function o(i){if(r.has(i))return!0;if(n.has(i))return!1;n.add(i),r.add(i);for(const a of e.get(i)??[])if(o(a))return!0;return r.delete(i),!1}for(const i of e.keys())if(o(i))return!0;return!1}function wp(e,n){const r=e.config;if(!r)return[];const o=r[n];return Array.isArray(o)?o.filter(i=>typeof i=="string"&&np(i)):[]}function y$({state:e,groupMapById:n,getNodeById:r,history:o}){const i=t.computed(()=>{const A=new Map;for(const v of e.value.groups)for(const P of v.memberIds)A.set(P,{ownerId:v.ownerId,branch:v.branch});return A}),a=t.computed(()=>{const A=new Map;for(const v of e.value.groups)for(const P of v.memberIds)A.set(P,v);return A}),s=t.computed(()=>{const A=new Map;for(const v of e.value.groups)A.has(v.ownerId)||A.set(v.ownerId,[]),A.get(v.ownerId).push(v);return A}),l=t.computed(()=>Tk(e.value.edges,e.value.groups)),c=t.computed(()=>fc(l.value));function d(A,v){return A?ss(A.type).includes(v):!1}function u(A,v){if(v===A.id)return!1;const P=r(v);return!(!P||hn(P.type)||P.phase!==A.phase)}function f(A,v){const P=[],O=new Set;for(const R of v)O.has(R)||(O.add(R),u(A,R)&&P.push(R));return P}function p(A,v,P){const O=r(A);return d(O,v)?f(O,P):[]}function m(A,v,P){const O=ip(A.id,v),R=n.value.get(O);P.length>0?R?(R.phase!==A.phase&&(R.phase=A.phase),rp(R.memberIds,P)||(R.position=void 0,R.dimensions=void 0,R.memberIds=[...P])):e.value.groups.push(Db(A.id,v,A.phase,P)):R&&(e.value.groups=e.value.groups.filter(Q=>Q.id!==O))}function h(A,v,P,O={}){const R=r(A);if(!d(R,v))return!1;const Q=f(R,P),fe=wp(R,v);if(rp(fe,Q))return!1;const H=R.config??={};return Q.length>0?H[v]=[...Q]:(delete H[v],Object.keys(H).length===0&&delete R.config),m(R,v,Q),(O.commit??!0)&&o.commit(O.tag),!0}function y(A,v={}){const P=e.value.groups.filter(O=>O.ownerId!==A);return P.length===e.value.groups.length?!1:(e.value.groups=P,(v.commit??!0)&&o.commit(v.tag),!0)}function g(A,v){const P=n.value.get(ip(A,v));if(P)return[...P.memberIds];const O=r(A);return O?wp(O,v):[]}function _(A){return i.value.get(A)}function k(A){const v=[];let P=a.value.get(A);for(;P;)v.push(P.id),P=a.value.get(P.ownerId);return v}function b(A,v){const P=k(v);if(P.length===0)return!1;const O=new Set(k(A));return O.size===0?!0:P.some(R=>!O.has(R))}function N(A,v){if(A===v)return!0;const P=new Set,O=[v];for(;O.length>0;){const R=O.pop();if(P.has(R))continue;if(P.add(R),R===A)return!0;const Q=c.value.get(R);if(Q)for(const fe of Q)P.has(fe)||O.push(fe)}return!1}function C(A,v,P){const O=r(A);return!(!d(O,v)||!u(O,P)||N(A,P))}function w(A,v,P,O={}){const R=r(A);if(!R||!C(A,v,P))return!1;const Q=wp(R,v);if(Q.includes(P))return!1;S(P,{commit:!1});const fe=[...Q,P];return h(A,v,fe,{commit:!1})?((O.commit??!0)&&o.commit(O.tag),!0):!1}function S(A,v={}){const P=_(A);if(!P)return!1;const O=g(P.ownerId,P.branch),R=O.filter(Q=>Q!==A);return R.length===O.length?!1:h(P.ownerId,P.branch,R,v)}function x(A){let v=0;const P=new Set;let O=a.value.get(A);for(;O&&!P.has(O.id);)v+=1,P.add(O.id),O=a.value.get(O.ownerId);return v}function I(A){const v=n.value.get(A);return v?x(v.ownerId):0}function T(A){return A?n.value.has(A):!1}return{memberGroupMap:a,groupsByOwner:s,findMembership:_,getMembers:g,wouldCreateCycle:N,setMembers:h,prepareMembers:p,addMember:w,removeMember:S,clear:y,getNodeDepth:x,getGroupDepth:I,isGroupId:T,isEdgeEnteringGroup:b,canAddMember:C}}function _$(e,n){const{commit:r,undo:o,redo:i,canUndo:a,canRedo:s,clear:l,reset:c,undoStack:d,redoStack:u}=Ot.useManualRefHistory(e,{capacity:n?.capacity,clone:n?.clone});let f;function p(b){n?.onHistoryChange?.(b,e.value)}function m(b){if(!b){f=void 0,r(),p("commit");return}if(b!=="*"&&f!==b){f=b,r(),p("commit");return}r(),d.value.shift(),p("commit")}function h(){o(),f=void 0,p("undo")}function y(){i(),f=void 0,p("redo")}function g(){l(),f=void 0,p("clear")}function _(){c(),f=void 0,p("reset")}function k(){o(),u.value.shift(),f=void 0,p("revert")}return{canUndo:a,canRedo:s,commit:m,undo:h,redo:y,clear:g,reset:_,revert:k}}function b$(e){return e.config?.resources?.vault||{}}function k$(e){const{resources:n}=e.config||{};return n?.vault?Object.keys(n.vault):[]}function w$(e){const n=Object.entries(e);if(n.length===0)return;const r={};for(const[o,i]of n)r[o]=i;return r}function Bk(e,n){const r=e.config?.nodes??[],o=e.__ui_data?.nodes??[],i=e.__ui_data?.groups??[],a=new Map(o.map(g=>[g.name,g])),s=new Map(i.map(g=>[g.name,g])),l=[],c=[],d=new Map,u=[],f=[],p=new Map,m=g=>{const _=new Set,k=[...g];for(;k.length>0;){const b=k.shift();if(!_.has(b)&&(_.add(b),tp(b)||(d.get(b).phase="request"),!!p.has(b)))for(const N of p.get(b))_.has(N)||k.push(N)}};let h=!1;for(const g of r){const _=a.get(g.name);!_&&!h&&(h=!0);const k=Pk({type:g.type,configNode:g,uiNode:_,pluginData:e});l.push(k),d.set(k.name,k)}for(const g of l){const _=ss(g.type);if(!_.length)continue;const k=g.config;if(k)for(const b of _){const N=k[b];if(!Array.isArray(N)){s.has(oc(g.name,b))&&(h=!0);continue}const C=[];for(const w of N){if(typeof w!="string")continue;const S=d.get(w);S&&!hn(S.type)&&C.push(S.id)}if(C.length){k[b]=C;const w=oc(g.name,b),S=s.get(w),x=S?{position:Tr(S.position)}:void 0,I=Db(g.id,b,g.phase,C,x);u.push(I),!S&&!h&&(h=!0)}else delete k[b],s.has(oc(g.name,b))&&(h=!0)}}for(const g of Ei)if(!d.has(g)){let _=a.get(g);_||(h||(h=!0),_=HO(g));const k=Pk({type:g,uiNode:_,pluginData:e});l.push(k),d.set(k.name,k)}for(const g of r)N$(g,f);for(const g of f){const _=d.get(g.source),k=d.get(g.target);if(!_||!k){_||console.warn(`[initEditorState] skip: source "${g.source}" not found`),k||console.warn(`[initEditorState] skip: target "${g.target}" not found`);continue}p.has(g.source)||p.set(g.source,new Set),p.get(g.source).add(g.target),p.has(g.target)||p.set(g.target,new Set),p.get(g.target).add(g.source),c.push({id:Ai("edge"),source:_.id,sourceField:to(_,"output",g.sourceField)?.id,target:k.id,targetField:to(k,"input",g.targetField)?.id})}m(["request","service_request"]);let y=null;return e.config?.resources?.cache&&(y={...e.config.resources.cache},e.partials&&(y.partial_id=e.partials[0].id)),{nodes:l,edges:c,groups:u,pendingLayout:h?n?"keepHistory":"clearHistory":!1,pendingFitView:!0,...y?{cacheConfig:y}:{}}}function Ok(e){const{type:n,name:r,phase:o,position:i,fields:a,config:s}=e,l=Vb(n),c=xi(n);return{id:Ai("node"),type:n,name:r??n,phase:o??"request",position:i??{x:0,y:0},expanded:{},fields:{input:$b(a?.input??l.input),output:$b(a?.output??l.output)},hidden:e.hidden||c.hidden,config:s?Tr(s):{}}}function C$(e){return hn(e)?e==="request"||e==="service_request"?"request":"response":"request"}function Pk({type:e,configNode:n,uiNode:r,pluginData:o}){return Ok({type:e,name:n?.name,phase:r?.phase??C$(e),position:r?.position,fields:S$({type:e,uiNode:r,configNode:n,pluginData:o}),hidden:r?.hidden,config:A$({type:e,configNode:n,pluginData:o})})}function E$(e){const{type:n,name:r,input:o,inputs:i,output:a,outputs:s,...l}=e;return Tr(l)}function N$(e,n){const r=e.name;if(e.input){const{nodeName:o,fieldName:i}=rc(e.input);o&&n.push({source:o,sourceField:i,target:r})}if(e.inputs)for(const[o,i]of Object.entries(e.inputs)){if(!i)continue;const{nodeName:a,fieldName:s}=rc(i);a&&n.push({source:a,sourceField:s,target:r,targetField:o})}if(e.output){const{nodeName:o,fieldName:i}=rc(e.output);o&&n.push({source:r,target:o,targetField:i})}if(e.outputs)for(const[o,i]of Object.entries(e.outputs)){if(!i)continue;const{nodeName:a,fieldName:s}=rc(i);a&&n.push({source:r,sourceField:o,target:a,targetField:s})}}function S$({type:e,uiNode:n,configNode:r,pluginData:o}){const a=xi(e)?.io;if(!a)return;const s={};if(a.input?.configurable&&(n?s.input=n.fields?.input??[]:r?.inputs&&(s.input=Object.keys(r.inputs))),a.output?.configurable){if(n)s.output=n.fields?.output??[];else{const l=new Set;r?.outputs&&Object.keys(r.outputs).forEach(c=>l.add(c)),r?.type==="static"&&r.values&&Object.keys(r.values).forEach(c=>l.add(c)),l.size&&(s.output=Array.from(l))}e==="vault"&&(s.output=k$(o))}return Object.keys(s).length?s:void 0}function A$({type:e,configNode:n,pluginData:r}){return e==="vault"?b$(r):n?E$(n):void 0}function x$(e){const n=t.computed(()=>{const f=new Map;return e.value.nodes.forEach(p=>f.set(p.id,p)),f}),r=t.computed(()=>e.value.edges),o=t.computed(()=>e.value.groups),i=t.computed(()=>Tk(r.value,o.value));function a(f){return fc(i.value,f?{source:f.source,target:f.target}:void 0)}function s(f){const p=n.value.get(f.source),m=n.value.get(f.target);if(!p||!m)return f;const h=Rb(p,f.sourceField)&&!op(p,f.sourceField),y=op(m,f.targetField);return h&&y?{source:f.target,sourceField:f.targetField,target:f.source,targetField:f.sourceField}:f}function l(f){const p=s(f),m=[],h=n.value.get(p.source),y=n.value.get(p.target);if(h||m.push("source node not found"),y||m.push("target node not found"),!h||!y)return{ok:!1,errors:m};op(h,p.sourceField)||m.push("source handle is not an output field"),Rb(y,p.targetField)||m.push("target handle is not an input field"),y.name==="request"&&m.push('cannot target "request"'),h.name==="response"&&m.push('cannot source from "response"');const g=r.value.some(b=>b.target===p.target&&!b.targetField),_=r.value.some(b=>b.target===p.target&&!!b.targetField);(g&&p.targetField||_&&!p.targetField)&&m.push("cannot mix whole-node and field-level inputs on same target"),p.targetField&&r.value.some(b=>b.target===p.target&&b.targetField===p.targetField)&&m.push("target field already connected"),!p.targetField&&r.value.some(b=>b.target===p.target&&!b.targetField)&&m.push("target input already taken"),p.source===p.target&&m.push("self-loop not allowed");const k=a({source:p.source,target:p.target});return kp(k)&&m.push("connection introduces a cycle"),m.length?{ok:!1,errors:m}:{ok:!0}}function c(){const f=[];for(const p of Ei)[...n.value.values()].some(m=>m.name===p)||f.push(`missing implicit node "${p}"`);for(const p of r.value){const m=n.value.get(p.source);n.value.get(p.target).name==="request"&&f.push(`edge "${p.id}" targets "request"`),m.name==="response"&&f.push(`edge "${p.id}" sources from "response"`)}return kp(a())&&f.push("graph contains cycle"),f.length?{ok:!1,errors:f}:{ok:!0}}function d(f){return l(f).ok}function u(f){return!f.source||!f.target?!1:d({source:f.source,sourceField:f.sourceHandle,target:f.target,targetField:f.targetHandle})}return{canonicalizeConnection:s,validateConnection:l,validateGraph:c,isValidConnection:d,isValidVueFlowConnection:u,buildAdjacency:fc}}const[Cp,I$]=Ot.createInjectionState(function(n,r={}){const o=t.ref(Bk(n)),i=t.ref(),a=t.ref(),s=t.ref(!1),l=t.ref(!1),c=_$(o,{capacity:200,clone:Tr,onHistoryChange:L=>{L!=="clear"&&r.onChange?.($e(),U(),de(),o.value.cacheConfig?.partial_id)}}),d=t.ref(!1),u=t.ref(new Set);function f(){o.value.pendingLayout=!1,c.commit("*")}function p(L=!0){o.value.pendingFitView!==L&&(o.value.pendingFitView=L,c.commit("*"))}const m=t.computed(()=>{const L={request:0,response:0};return o.value.nodes.forEach(M=>{hn(M.type)||L[M.phase]++}),L}),h=t.computed(()=>new Map(o.value.nodes.map(L=>[L.id,L]))),y=t.computed(()=>new Map(o.value.nodes.map(L=>[L.name,L]))),g=t.computed(()=>{const L=new Map,M=new Map;for(const Y of o.value.edges)L.set(Y.id,Y),M.has(Y.source)||M.set(Y.source,new Set),M.get(Y.source).add(Y.id),M.has(Y.target)||M.set(Y.target,new Set),M.get(Y.target).add(Y.id);return{edgeMapById:L,edgeIdMapByNodeId:M}}),_=t.computed(()=>g.value.edgeMapById),k=t.computed(()=>g.value.edgeIdMapByNodeId),b=t.computed(()=>new Map(o.value.groups.map(L=>[L.id,L]))),N=t.computed(()=>new Set(o.value.nodes.map(L=>L.name))),C=y$({state:o,groupMapById:b,getNodeById:A,history:c}),{canonicalizeConnection:w,validateConnection:S,validateGraph:x,isValidConnection:I,isValidVueFlowConnection:T}=x$(o);function A(L){return h.value.get(L)}function v(L){return y.value.get(L)}function P(L){return _.value.get(L)}function O(L){if(!k.value.has(L))return[];const M=[];return k.value.get(L).forEach(Y=>{const ae=P(Y);ae&&M.push(ae)}),M}function R(L){return O(L).filter((M=>M.target===L))}function Q(L){return O(L).filter((M=>M.source===L))}const fe=t.computed(()=>i.value?A(i.value):void 0);function H(L){i.value=L}function j(L){a.value=L}function D(L){if(hn(L.type))throw new Error("[createNode] implicit nodes are fixed.");return Ok({type:L.type,name:L.name||(hn(L.type)?void 0:Lb(L.type,N.value)),phase:L.phase,position:L.position,fields:L.fields,config:L.config})}function ee(L,M=!0){const Y=D(L);if(Y)return o.value.nodes.push(Y),M&&c.commit(),d.value=!0,Y.id}function K(L,M,Y=!0){const ae=A(L);if(!ae||hn(ae.type))return;const me={...Tr(ae),id:Ai("node"),name:Lb(ae.name,N.value),position:M??{x:ae.position.x+20,y:ae.position.y+20}},Ae=ss(me.type);if(Ae.length&&me.config){for(const ze of Ae)delete me.config[ze];Object.keys(me.config).length===0&&delete me.config}return o.value.nodes.push(me),Y&&c.commit(),d.value=!0,me.id}function J(L,M=!0){if(!A(L))return;o.value.edges=o.value.edges.filter(me=>me.source!==L&&me.target!==L),C.clear(L,{commit:!1}),C.removeMember(L,{commit:!1}),o.value.nodes=o.value.nodes.filter(me=>me.id!==L),i.value===L&&(i.value=void 0);const ae=x();ae.ok||console.warn("[removeNode] topology invalid:",ae.errors.join("; ")),M&&c.commit()}function ce(L,M,Y=!0,ae){const me=A(L);if(!me)return;if(tp(me.name)){console.warn("[renameNode] implicit node name is reserved.");return}me.name!==M&&(me.name=M,Y&&c.commit(ae))}function z(L,M,Y=!0){const ae=A(L);ae&&(ae.position={...M},Y&&c.commit())}function oe(L,M,Y=!0){const ae=b.value.get(L);if(!ae)return;const me=ae.position;me&&me.x===M.x&&me.y===M.y||(ae.position={...M},Y&&c.commit())}function Pe(L,M,Y=!0){const ae=b.value.get(L);if(!ae)return!1;const me={...M.position},Ae={...M.dimensions},ze=ae.position&&ae.position.x===me.x&&ae.position.y===me.y,ot=ae.dimensions&&ae.dimensions.width===Ae.width&&ae.dimensions.height===Ae.height;return ze&&ot?!1:(ae.position=me,ae.dimensions=Ae,Y&&c.commit(),!0)}function Ee(L,M,Y,ae=!0,me){const Ae=A(L);if(!Ae)return;const ze=Y??!Ae.expanded[M];ze!==!!Ae.expanded[M]&&(Ae.expanded[M]=ze,ae&&c.commit(me??`toggle:${L}:${M}`))}function Ge(L,M,Y=!0,ae){const me=A(L);me&&(me.config=Tr(M),Y&&c.commit(ae))}function se(L,M,Y,ae=!0){const me=A(L);if(!me)return;const Ae=me.fields[M];if(Ae.some(ze=>ze.name===Y)){console.warn(`[addField] field "${Y}" already exists on ${M}.`);return}Ae.push({id:Ai("field"),name:Y}),M==="input"?me.fields.input=Ae:me.fields.output=Ae,ae&&c.commit()}function X(L,M,Y,ae=!0){const me=A(L);if(!me)return;const Ae=me.fields.input,ze=me.fields.output,ot=Ae.find(F=>F.id===M)??ze.find(F=>F.id===M);ot&&(ot.name=Y,ae&&c.commit())}function he(L,M,Y=!0,ae=!0){const me=A(L);if(!me)return;const Ae=me.fields.input,ze=me.fields.output,ot=Ae.findIndex(G=>G.id===M);ot>=0&&Ae.splice(ot,1);const F=ze.findIndex(G=>G.id===M);F>=0&&ze.splice(F,1),me.fields.input=Ae,me.fields.output=ze,Y&&(o.value.edges=o.value.edges.filter(G=>G.sourceField!==M&&G.targetField!==M));const te=x();te.ok||console.warn("[removeField] topology invalid:",te.errors.join("; ")),ae&&c.commit()}function ve(L,M=!0){const Y=w(L),ae=S(Y);if(!ae.ok){console.warn("[connectEdge] invalid connection:",ae.errors.join("; "));return}const me={id:Ai("edge"),...Y};o.value.edges.push(me);const Ae=x();if(!Ae.ok){o.value.edges.pop(),console.warn("[connectEdge] topology invalid:",Ae.errors.join("; "));return}return M&&c.commit(),me.id}function je(L,M,Y=!0){qe(L,!1),ve(M,!1),Y&&c.commit()}function qe(L,M=!0){const Y=o.value.edges.findIndex(Ae=>Ae.id===L);if(Y<0)return;const ae=o.value.edges[Y];o.value.edges.splice(Y,1);const me=x();if(!me.ok){o.value.edges.splice(Y,0,ae),console.warn("[disconnectEdge] topology invalid:",me.errors.join("; "));return}M&&c.commit()}function Be(L,M=!0){const Y=R(L);for(const ae of Y)qe(ae.id,!1);M&&c.commit()}function Ve(L,M=!0){const Y=Q(L);for(const ae of Y)qe(ae.id,!1);M&&c.commit()}function $e(){const L=[];for(const M of o.value.nodes){if(hn(M.type))continue;let Y;const ae={};let me;const Ae={};for(const G of o.value.edges.filter(le=>le.target===M.id)){const le=A(G.source);if(!le)continue;const Ie=no(le,"output",G.sourceField)?.name,tt=Ie?`${le.name}.${Ie}`:le.name,ge=no(M,"input",G.targetField)?.name;ge?ae[ge]=tt:Y===void 0&&(Y=tt)}for(const G of o.value.edges.filter(le=>le.source===M.id)){const le=A(G.target);if(!le)continue;const Ie=le.type;if(!hn(Ie)||!tc[Ie].io?.input)continue;const tt=no(le,"input",G.targetField)?.name,ge=tt?`${le.name}.${tt}`:le.name,we=no(M,"output",G.sourceField)?.name;we?Ae[we]=ge:me===void 0&&(me=ge)}const ze={...Tr(M.config),name:M.name,type:M.type},ot=ss(M.type);if(ot.length)for(const G of ot){const le=ze[G];if(!Array.isArray(le))continue;const Ie=[];for(const tt of le){const ge=A(tt);ge&&Ie.push(ge.name)}Ie.length?ze[G]=Array.from(new Set(Ie)):delete ze[G]}Object.keys(ae).length>0?ze.inputs=ae:Y!==void 0&&(ze.input=Y),Object.keys(Ae).length>0?ze.outputs=Ae:me!==void 0&&(ze.output=me),L.push(ze)}return L}function Ke(){return o.value.nodes.map(L=>Tr({name:L.name,phase:L.phase,position:{...L.position},expanded:{...L.expanded},fields:{input:L.fields.input.map(M=>M.name),output:L.fields.output.map(M=>M.name)}}))}function de(){const L={},M=v("vault");if(M){const Y=w$(M.config);Y&&Object.keys(Y).length>0&&(L.vault=Y)}if(o.value.cacheConfig){const{strategy:Y,redis:ae,memory:me}=o.value.cacheConfig;L.cache={strategy:Y,redis:ae,memory:me}}if(Object.keys(L).length!==0)return L}function Z(){const L=[];for(const M of o.value.groups){const Y=A(M.ownerId);if(!Y)continue;const ae=M.position;ae&&L.push({name:oc(Y.name,M.branch),position:{...ae}})}return L}function U(){return{nodes:Ke(),groups:Z()}}function ne(L,M){M&&c.commit(),o.value=Bk(L,M),M||c.clear()}return{state:o,selection:i,portalSelection:a,modalOpen:s,skipValidation:d,invalidConfigNodeIds:u,propertiesPanelOpen:l,configNodeCounts:m,nodeMapById:h,nodeMapByName:y,edgeMapById:_,edgeIdMapByNodeId:k,groupMapById:b,getNodeById:A,getNodeByName:v,getEdgeById:P,getEdgesByNodeId:O,getInEdgesByNodeId:R,getOutEdgesByNodeId:Q,selectedNode:fe,selectNode:H,selectPortalEdge:j,createNode:D,addNode:ee,duplicateNode:K,removeNode:J,renameNode:ce,moveNode:z,moveGroup:oe,setGroupLayout:Pe,toggleExpanded:Ee,replaceConfig:Ge,branchGroups:C,addField:se,renameField:X,removeField:he,connectEdge:ve,replaceConnection:je,disconnectEdge:qe,disconnectInEdges:Be,disconnectOutEdges:Ve,toConfigNodes:$e,toUINodes:Ke,toUIGroups:Z,toUIData:U,load:ne,commit:c.commit,undo:c.undo,redo:c.redo,canUndo:c.canUndo,canRedo:c.canRedo,clear:c.clear,reset:c.reset,revert:c.revert,isValidConnection:I,isValidVueFlowConnection:T,validateGraph:()=>x(),clearPendingLayout:f,setPendingFitView:p}});function Vt(){const e=I$();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}function v$(e){const{branchLayout:n,phase:r,layoutOptions:o,nodes:i,edges:a}=e,{findNode:s}=xt.useVueFlow(),{state:l,branchGroups:c,getNodeById:d,moveNode:u,commit:f}=Vt(),{getNodeDepth:p,isGroupId:m,groupsByOwner:h}=c,{isBranchEdgeId:y,updateGroupLayout:g,translateGroupTree:_,waitForLayoutFlush:k}=n,{viewport:b,padding:N=Qr.padding,gaps:C=Qr.gaps}=o,{nodes:w=Qr.gaps.nodes,edges:S=Qr.gaps.edges,ranks:x=Qr.gaps.ranks}=C;async function I(v=!0){const P=new Map(i.value.map(z=>[z.id,z.data])),O=new Map,R=new Map,Q=z=>{if(!z)return;let oe=R.get(z);return oe||(oe=s(z),oe&&R.set(z,oe),oe)},fe=new Map,H=z=>{let oe=fe.get(z);return oe!==void 0||(oe=p(z),fe.set(z,oe)),oe},j=z=>{if(!as(z.data))return z.parentNode;const oe=Q(z.data.ownerId);if(!oe)throw new Error(`Cannot find owner node '${z.data.ownerId}' for group node '${z.id}' via findNode`);return oe.parentNode};for(const z of a.value){if(y(z.id))continue;const oe=z.source,Pe=z.target;if(m(oe)||m(Pe))continue;const Ee=Q(oe),Ge=Q(Pe);if(Ee){if(!Ge)throw new Error(`Cannot find target node '${Pe}' for edge '${z.id}' via findNode`)}else throw new Error(`Cannot find source node '${oe}' for edge '${z.id}' via findNode`);if(j(Ee)===j(Ge))continue;let se=Ee,X=Ge,he=H(se.id),ve=H(X.id);for(;he!==ve;)if(he>ve){const je=j(se);if(!je)throw new Error(`Expected node '${se.id}' to have parent, but it does not`);const qe=Q(je);if(!qe)throw new Error(`Cannot find parent node '${je}' for node '${se.id}' via findNode`);se=qe,he--}else if(ve>he){const je=j(X);if(!je)throw new Error(`Expected node '${X.id}' to have parent, but it does not`);const qe=Q(je);if(!qe)throw new Error(`Cannot find parent node '${je}' for node '${X.id}' via findNode`);X=qe,ve--}for(;he>=0;){const je=j(se),qe=j(X);if(je===qe){O.has(he)||O.set(he,[]),O.get(he).push({v:se.id,w:X.id});break}if(je){if(!qe){const $e=`Expected node '${X.id}' to have parent, but it does not`;throw console.error($e,X),new Error($e)}}else{const $e=`Expected node '${se.id}' to have parent, but it does not`;throw console.error($e,se),new Error($e)}const Be=Q(je),Ve=Q(qe);if(Be){if(!Ve)throw new Error(`Cannot find parent node '${qe}' for node '${X.id}' via findNode`)}else throw new Error(`Cannot find parent node '${je}' for node '${se.id}' via findNode`);se=Be,X=Ve,he--,ve--}}const D=l.value.groups.toSorted((z,oe)=>H(oe.ownerId)-H(z.ownerId));for(const z of D)T(z.memberIds.reduce((oe,Pe)=>{const Ee=d(Pe);if(!Ee)return console.warn(`Cannot find node '${Pe}' of group '${z.id}' by getNodeById`),oe;if(Ee.phase!==r)return oe;if(Ee.type==="branch"){const Ge=h.value.get(Ee.id);Ge&&oe.push(...Ge)}return P.delete(Ee.id),oe.push(Ee),oe},[]),{virtualEdges:O.get(H(z.ownerId)),cachedFindNode:Q}),await t.nextTick(),g(z.id,!1),await k();const ee=P.values().toArray();for(const z of ee){if(as(z)||z.type!=="branch")continue;const oe=h.value.get(z.id);oe&&ee.push(...oe)}const{autoNodes:K,leftNode:J,rightNode:ce}=A(ee);T(K,{leftNode:J,rightNode:ce,virtualEdges:O.get(0),cachedFindNode:Q}),v&&f()}function T(v,P){const{leftNode:O,rightNode:R,virtualEdges:Q,cachedFindNode:fe}=P||{},H=O?(fe??s)(O.id):void 0,j=R?(fe??s)(R.id):void 0;let D;if(v.length>0){D=new jb.Graph({multigraph:!0}),D.setGraph({rankdir:r==="request"?"LR":"RL",nodesep:w,edgesep:S,ranksep:x});const se=new Set;for(const X of v){const he=(fe??s)(X.id);if(!he){console.warn(`Cannot find graph node '${X.id}' in ${r} phase`);continue}se.add(X.id),as(X)?D.setNode(X.id,{...X.dimensions??he.dimensions}):D.setNode(X.id,{...he.dimensions})}for(const X of a.value)!se.has(X.source)||!se.has(X.target)||D.setEdge(X.source,X.target,{points:[]});Q?.forEach(X=>D.setEdge(X,{points:[]})),YV(D)}const ee=[],K=se=>({x:se.x-se.width/2,y:se.y-se.height/2,width:se.width,height:se.height});if(v.length>0){if(!D)throw new Error("Expected dagreGraph to be initialized");for(const se of v){const X=D.node(se.id),he=K(X);ee.push(he),as(se)?_(se.id,he,he.x+yi,he.y+yi):u(se.id,{x:he.x,y:he.y},!1)}}const J=ee.length>0?Mb(ee):{x:0,y:0,width:0,height:0},ce=J.width,z=J.height,oe=J.x,Pe=J.x+J.width,Ee=Math.max(0,Math.min(t.toValue(b?.width)??Number.POSITIVE_INFINITY,aA)-ce-2*w-(H?.dimensions?.width??0)-(j?.dimensions?.width??0)-2*N),Ge=J.y+z/2;O&&u(O.id,{x:oe-w-Ee/2-(H?.dimensions?.width??0),y:Ge-(H?.dimensions?.height??0)/2},!1),R&&u(R.id,{x:Pe+w+Ee/2,y:Ge-(j?.dimensions?.height??0)/2},!1)}function A(v){let P,O;const R=[];for(const Q of v){if(as(Q)){R.push(Q);continue}switch(Q.name){case"request":{if(r!=="request")throw new Error(`Unexpected request node in ${r} phase`);if(P)throw new Error("Duplicated request node in request phase");P=Q;break}case"service_request":{if(r!=="request")throw new Error(`Unexpected service_request node in ${r} phase`);if(O)throw new Error("Duplicated service_request node in request phase");O=Q;break}case"service_response":{if(r!=="response")throw new Error(`Unexpected service_response node in ${r} phase`);if(O)throw new Error("Duplicated service_response node in response phase");O=Q;break}case"response":{if(r!=="response")throw new Error(`Unexpected response node in ${r} phase`);if(P)throw new Error("Duplicated response node in response phase");P=Q;break}default:{R.push(Q);break}}}return{autoNodes:R,leftNode:P,rightNode:O}}return{autoLayout:I}}function T$({phase:e,groupMapById:n,getNodeDepth:r,canAddMember:o,draggingId:i}){const a=t.shallowRef(),s=t.shallowRef();function l(f){a.value=f,s.value=void 0}function c(){a.value&&(a.value=void 0,s.value=void 0)}function d(f){let p;const m=i?.value;return n.value.forEach(h=>{if(h.phase!==e||m&&np(m)&&!o(h.ownerId,h.branch,m))return;const y=h.position,g=h.dimensions;if(!y||!g||!(f.x>=y.x&&f.x<=y.x+g.width&&f.y>=y.y&&f.y<=y.y+g.height))return;const k=r(h.ownerId);(!p||k>p.depth)&&(p={depth:k,id:h.id})}),p?.id}function u(f){if(!a.value){s.value=void 0;return}if(!f){s.value=void 0;return}s.value=d(f)}return{activeGroupId:s,start:l,updateActiveGroup:u,end:c}}function B$({phase:e,readonly:n,flowId:r,draggingId:o}){const{findNode:i}=xt.useVueFlow(r),a=Vt(),{state:s,groupMapById:l,getNodeById:c,moveNode:d,moveGroup:u,setGroupLayout:f,commit:p,branchGroups:m}=a,{memberGroupMap:h,groupsByOwner:y,getNodeDepth:g,getGroupDepth:_}=m,k=j=>!!j&&j.startsWith("branch:");function b(j){const D=[];for(const ee of j.memberIds){const K=c(ee);K&&D.push(K)}return D}const N=t.computed(()=>{const j=new Map;return h.value.forEach((D,ee)=>{if(D.phase!==e||!D.position)return;const K=c(ee);K&&(K.phase!==e||K.hidden||j.set(ee,D))}),j}),C=t.computed(()=>{const j=new Map;return y.value.forEach((D,ee)=>{const K=D.filter(J=>J.phase===e);K.length>0&&j.set(ee,K)}),j}),w=t.computed(()=>{const j=[];for(const D of s.value.groups){const ee=c(D.ownerId);if(!ee||ee.phase!==e)continue;const K=D.position,J=D.dimensions;if(!K||!J)continue;const ce=b(D).filter(oe=>oe.phase===e&&!oe.hidden),z=_(D.id);j.push({id:D.id,type:"group",position:K,width:J.width,height:J.height,data:{...D,memberIds:ce.map(oe=>oe.id)},draggable:!n,selectable:!1,zIndex:z*Fl+nA})}return j}),S=t.computed(()=>{let j=0;for(const D of s.value.groups){if(D.phase!==e)continue;const ee=_(D.id);ee>j&&(j=ee)}return j}),x=t.computed(()=>{const j=[];for(const D of s.value.groups){if(D.phase!==e||!D.position||!D.dimensions)continue;const ee=c(D.ownerId);if(!ee||ee.phase!==e||ee.hidden||!b(D).filter(z=>z.phase===e&&!z.hidden).length)continue;const J=Math.max(g(ee.id),_(D.id))+S.value+1,ce={id:`branch:${D.id}`,source:ee.id,target:D.id,sourceHandle:`branch@${D.branch}`,targetHandle:"input",markerEnd:xt.MarkerType.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:ee.id,branch:D.branch,groupId:D.id},zIndex:J*Fl+oA};j.push(ce)}return j}),I=new Map,T=new Map;let A;function v(j,D=!0){if(j.phase!==e)return;const ee=b(j).filter(oe=>oe.phase===e&&!oe.hidden);if(!ee.length)return;const K=[];for(const oe of ee){const Ee=i(oe.id)?.dimensions,Ge=Ee?.width??0,se=Ee?.height??0;if(Ge<=0||se<=0)return;K.push({...oe.position,width:Ge,height:se});const X=y.value.get(oe.id)??[];for(const he of X){if(he.phase!==e)continue;const ve=I.get(he.id),je=ve?.position??he.position,qe=ve?.dimensions??he.dimensions;!je||!qe||K.push({x:je.x,y:je.y,width:qe.width,height:qe.height})}}const J=Mb(K),ce=J.width+yi*2,z=J.height+yi*2;return{position:{x:Math.round(J.x-yi),y:Math.round(J.y-yi)},dimensions:{width:Math.round(ce),height:Math.round(z)},commit:D}}function P(){if(I.size===0){A=void 0;return}const j=[];let D=!1;I.forEach((ee,K)=>{const J=f(K,ee,!1);j.push({id:K,changed:J,commit:ee.commit}),ee.commit&&J&&!D&&(D=!0)}),I.clear(),A=void 0;for(const{id:ee,changed:K,commit:J}of j){if(!K)continue;const ce=l.value.get(ee);if(!ce)continue;const z=N.value.get(ce.ownerId);z&&T.set(z.id,{commit:J})}if(T.size>0){const ee=Array.from(T);T.clear();for(const[K,{commit:J}]of ee)R(K,J)}D&&p("*")}function O(){I.size!==0&&(A||(A=t.nextTick().then(P)))}function R(j,D=!0){const ee=l.value.get(j);if(!ee)return;const K=v(ee,D);K&&(I.set(j,K),O())}function Q(j,D,ee,K){const J=l.value.get(j);if(!J)return;if(!J.position){u(j,D,!1),R(j);return}if(ee===0&&K===0){u(j,D,!1);return}u(j,D,!1);const ce=[j],z=new Set([j]),oe=new Set;for(;ce.length;){const Pe=ce.shift(),Ee=l.value.get(Pe);if(!Ee)continue;const Ge=b(Ee).filter(se=>se.phase===e&&!se.hidden);for(const se of Ge){oe.has(se.id)||(d(se.id,{x:se.position.x+ee,y:se.position.y+K},!1),oe.add(se.id));const X=C.value.get(se.id)??[];for(const he of X){if(z.has(he.id))continue;const ve=l.value.get(he.id);ve?.position&&u(he.id,{x:ve.position.x+ee,y:ve.position.y+K},!1),z.add(he.id),ce.push(he.id)}}}}function fe(j,D){const ee=o?.value;if(!ee)return!1;if(ee===j||D.some(K=>ee===K))return!0;for(const K of D)if((C.value.get(K)??[])?.some(ce=>ce.id===ee))return!0;return!1}const H=new Map;return t.watch(()=>s.value.groups.filter(D=>D.phase===e).map(D=>{const ee=D.memberIds.map(K=>{const J=i(K),ce=Math.round(J?.dimensions?.width??0),z=Math.round(J?.dimensions?.height??0);return`${K}:${ce}x${z}`});return{id:D.id,memberIds:D.memberIds,signature:ee.join(",")}}),j=>{const D=new Set(j.map(ee=>ee.id));for(const ee of H.keys())D.has(ee)||H.delete(ee);for(const ee of j)fe(ee.id,ee.memberIds)||H.get(ee.id)===ee.signature||(H.set(ee.id,ee.signature),R(ee.id))},{deep:!0,flush:"post"}),{groupsByOwner:C,memberGroupMap:N,groupNodes:w,branchEdges:x,isBranchEdgeId:k,updateGroupLayout:R,translateGroupTree:Q,getNodeDepth:g,maxGroupDepth:S,waitForLayoutFlush:()=>A??Promise.resolve()}}function O$(e){t.provide(Wy,e)}function Vk(){return t.inject(Wy,void 0)}function $k(){const e=Vk();if(!e)throw new Error("Confirm modal not provided");return e}function P$(e){const{readonly:n,flowId:r}=e,o=xt.useVueFlow(r),{onNodesChange:i,onEdgesChange:a,onPaneClick:s,findEdge:l}=o,{disconnectEdge:c,commit:d,portalSelection:u,selectPortalEdge:f}=Vt();i(p=>{p.some(m=>m.type==="select"&&"selected"in m&&m.selected)&&f(void 0)}),a(p=>{const m=p.some(y=>y.type==="select"&&"selected"in y&&y.selected),h=u.value?p.some(y=>y.type==="remove"&&y.id===u.value):!1;(m||h)&&f(void 0)}),s(()=>f(void 0)),Ot.useEventListener("keydown",p=>{if(n||p.key!=="Delete"&&p.key!=="Backspace")return;const m=u.value;!m||l(m)||(p.preventDefault(),c(m,!1),f(void 0),d())})}function Rk(e){const n=e.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}const V$={default:US,hover:qS,selected:KS};let Lk,Ep;function pc(e){const n=e.id===Lk?"selected":e.id===Ep?"hover":"default",r=V$[n],{markerEnd:o}=e,i=typeof o=="object"?{...o,color:r}:{type:o,color:r},a=e.zIndex??0,s=n==="selected"?a+2:n==="hover"?a+1:a;return{...e,style:{...e.style,stroke:r,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:s}}const[$$,R$]=Ot.createInjectionState(function(e){const{phase:n,flowId:r,layoutOptions:o,readonly:i}=e,{viewport:a,padding:s=Qr.padding,gaps:l=Qr.gaps}=o,{nodes:c=Qr.gaps.nodes}=l,d=xt.useVueFlow(r),u=Vt(),f=Vk(),p=Ql(),{i18n:{t:m}}=Qe(),{findNode:h,fitView:y,deleteKeyCode:g,onNodeDrag:_,onNodeDragStop:k,onConnect:b,onNodesChange:N,onEdgesChange:C,onEdgeUpdate:w,onEdgeMouseEnter:S,onEdgeMouseLeave:x,getNodes:I,setNodes:T,setEdges:A,addSelectedNodes:v,screenToFlowCoordinate:P}=d;g.value=["Delete","Backspace"];const{state:O,commit:R,moveNode:Q,selectNode:fe,removeNode:H,getNodeById:j,connectEdge:D,disconnectEdge:ee,getInEdgesByNodeId:K,branchGroups:J,commit:ce,reset:z,groupMapById:oe}=u,{isGroupId:Pe,canAddMember:Ee}=J,Ge=t.shallowRef(),se=V=>{Ge.value=V},X=t.readonly(Ge);function he(V,ue){const re=j(V.source),ie=j(V.target);return!!(re&&ie&&re.phase===ue&&ie.phase===ue)}const ve=B$({phase:n,readonly:i,flowId:r,draggingId:X}),{memberGroupMap:je,groupNodes:qe,branchEdges:Be,isBranchEdgeId:Ve,updateGroupLayout:$e,translateGroupTree:Ke,getNodeDepth:de,maxGroupDepth:Z}=ve,{activeGroupId:U,start:ne,updateActiveGroup:L,end:M}=T$({phase:n,groupMapById:oe,getNodeDepth:de,canAddMember:Ee,draggingId:X}),Y=t.computed(()=>O.value.nodes.filter(V=>V.phase===n&&!V.hidden).map(V=>{const ue=je.value.get(V.id),re=ue?.position,ie=ue?.dimensions,Re=ue&&re&&ie?{x:V.position.x-re.x,y:V.position.y-re.y}:V.position,Oe=de(V.id),ye=!!(ue&&re&&ie),be=(ye?Oe:0)+Z.value+1;return{id:V.id,type:"flow",position:Re,data:V,deletable:!i&&!nc(V),parentNode:ye?ue.id:void 0,zIndex:be*Fl+iA}})),ae=t.computed(()=>O.value.edges.filter(V=>he(V,n)).filter(V=>!J.isEdgeEnteringGroup(V.source,V.target)).filter(V=>{const ue=j(V.source),re=j(V.target);return!ue?.hidden&&!re?.hidden}).map(V=>{const ue=j(V.source),re=j(V.target);if(!ue||!re){const Re=[];throw ue||Re.push(`source node "${V.source}"`),re||Re.push(`target node "${V.target}"`),new Error(`Missing ${Re.join(" and ")} for edge "${V.id}" in phase "${n}"`)}const ie=Math.max(de(V.source),de(V.target))+Z.value+1;return pc({id:V.id,source:V.source,target:V.target,sourceHandle:V.sourceField?`outputs@${V.sourceField}`:"output",targetHandle:V.targetField?`inputs@${V.targetField}`:"input",markerEnd:xt.MarkerType.ArrowClosed,data:V,updatable:!i,zIndex:ie*Fl+rA})})),me=t.computed(()=>[...Be.value,...ae.value]),{autoLayout:Ae}=v$({phase:n,layoutOptions:o,branchLayout:ve,nodes:Y,edges:me});P$({readonly:i,flowId:r}),t.watch([Y,qe,me],([V,ue,re])=>{T([...ue,...V]),A(re)},{immediate:!0});const ze=t.computed(()=>({padding:s/Math.max(t.toValue(a?.width)??0,t.toValue(a?.height)??0)}));async function ot({source:V,sourceHandle:ue,target:re,targetHandle:ie}){if(!ue||!ie)return;const Re=Rk(ue),Oe=Rk(ie);if(Re?.io==="input"||Oe?.io==="output"||ue==="output"&&ie==="output")return;const ye=K(re);let be=!1,Ct=!1;const rt=[],Ze=[],He=Oe?.io==="input"?ye.filter(pt=>!pt.targetField):ye.filter(pt=>!!pt.targetField);He.length>0&&(be=!0,He.forEach(pt=>{Ze.push(ls(pt,j)),ee(pt.id,!1)}));const Ye=Oe?.io==="input"?Oe?.field?ye.filter(pt=>pt.targetField===Oe.field):ye.filter(pt=>!!pt.targetField):ye.filter(pt=>!pt.targetField);if(Ye.length>0){if(Ye.some(Ut=>Ut.source===V&&Ut.target===re&&Ut.targetField===Oe?.field&&Ut.sourceField===Re?.field))return;Ct=!0,Ye.forEach(Ut=>{Ze.push(ls(Ut,j)),ee(Ut.id,!1)})}if(!D({source:V,sourceField:Re?.field,target:re,targetField:Oe?.field},!1)){z(),p({message:m("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(rt.push(ap(V,Re?.field,re,Oe?.field,j)),be||Ct){if(!f)throw z(),new Error("Expected confirm modal to be provided here when reachable");if(!await f(m(be?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),rt,Ze)){z();return}}ce()}b(ot);let F=!1;const te=()=>{F&&(F=!1,ce())};N(V=>{V.filter(ie=>ie.type==="select").filter(ie=>!Pe(ie.id)).sort((ie,Re)=>ie.selected===Re.selected?0:ie.selected?1:-1).forEach(ie=>{fe(ie.selected?ie.id:void 0)});let re=!1;V.forEach(ie=>{if(ie.type==="remove"){if(Pe(ie.id))return;re=!0,H(ie.id,!1)}}),re&&!F&&(F=!0,queueMicrotask(te))}),_(({node:V,event:ue})=>{if(!V)return;if(Pe(V.id)){const ye=V.id;se(ye),L(void 0);const be=oe.value.get(ye);if(!be)return;const Ct=be.position??{...V.position},rt=V.position.x-Ct.x,Ze=V.position.y-Ct.y;Ke(ye,V.position,rt,Ze);const He=je.value.get(be.ownerId);He&&$e(He.id,!1);return}const re=V.id;ne("canvas"),se(re);const ie=V.parentNode;let Re={...V.position};if(ie&&Pe(ie)){const ye=oe.value.get(ie);ye?.position&&(Re={x:ye.position.x+V.position.x,y:ye.position.y+V.position.y})}if(Q(re,Re,!1),!nc(j(re))){const ye={x:Re.x,y:Re.y,width:V.dimensions?.width??0,height:V.dimensions?.height??0},be=ue&&"clientX"in ue?P({x:ue.clientX,y:ue.clientY}):void 0,Ct={x:ye.x+ye.width/2,y:ye.y+ye.height/2};L(be??Ct)}const Oe=ie&&Pe(ie)?ie:je.value.get(re)?.id;Oe&&$e(Oe,!1)}),k(({node:V})=>{if(!V)return;if(se(void 0),Pe(V.id)){R();return}const ue=V.id,re=V.parentNode;let ie={...V.position};if(re&&Pe(re)){const Oe=oe.value.get(re);Oe?.position&&(ie={x:Oe.position.x+V.position.x,y:Oe.position.y+V.position.y})}Q(ue,ie,!1);const Re=re&&Pe(re)?re:je.value.get(ue)?.id;Re&&$e(Re,!1),ge(ue),M(),R()}),C(V=>{V.filter(ie=>ie.type==="select").sort((ie,Re)=>ie.selected===Re.selected?0:ie.selected?1:-1).forEach(ie=>{Ve(ie.id)||(Lk=ie.selected?ie.id:void 0,A(Re=>Re.map(Oe=>Oe.id!==ie.id||!Oe.markerEnd?Oe:pc({...Oe,zIndex:ie.selected?1:void 0}))))});let re=!1;V.forEach(ie=>{if(ie.type==="remove"){if(Ve(ie.id))return;re=!0,ee(ie.id,!1)}}),re&&!F&&(F=!0,queueMicrotask(te))}),S(({edge:V})=>{Ve(V.id)||(Ep=V.id,A(ue=>ue.map(re=>re.id!==V.id?re:pc(re))))}),x(({edge:V})=>{Ve(V.id)||(Ep=void 0,A(ue=>ue.map(re=>re.id!==V.id?re:pc(re))))}),w(({edge:V,connection:ue})=>{Ve(V.id)||(ee(V.id,!1),ot(ue))});function G(V){y({...ze.value,...V})}async function le(V){return fe(V),new Promise(ue=>setTimeout(()=>{const re=h(V);v(re?[re]:[]),ue()},0))}function Ie(V){const ue=I.value.filter(({type:He})=>He!=="group"),re=ue.find(({id:He})=>He===V);if(!re)throw new Error(`Node ${V} not found`);const{x:ie,y:Re}=re.data.position,{width:Oe,height:ye}=re.dimensions,be=Re,Ct=Re+ye,rt=ue.filter(({id:He})=>He!==V).filter(({data:{position:{y:He}},dimensions:{height:Ye}})=>He<Ct&&He+Ye>be).map(({data:{position:{x:He}},dimensions:{width:Ye}})=>({left:He,right:He+Ye})).sort((He,Ye)=>He.left-Ye.left);let Ze=ie+Oe+c;for(const{left:He,right:Ye}of rt)if(!(Ye<=Ze)){if(Ze+Oe<=He)return{x:Ze,y:be};Ze=Math.max(Ze,Ye)+c}return{x:Ze,y:be}}function tt(V){if(!V)return;const ue=h(V);if(!ue)throw new Error(`Node ${V} not found`);const{position:{x:re},dimensions:{width:ie}}=ue,Re=re+ie,{viewport:Oe,dimensions:ye,setViewport:be}=d,{x:Ct,y:rt,zoom:Ze}=Oe.value,{width:He}=ye.value,Ye=re*Ze+Ct,Bt=Re*Ze+Ct,pt=He-Hy-c;if(Bt<=pt)return;let Ut=pt-Bt;Ye+Ut<0&&(Ut=-Ye),Ut!==0&&be({x:Ct+Ut,y:rt,zoom:Ze},{duration:cA})}function ge(V){if(!U.value)return!1;const{nodeId:ue,branch:re}=WO(U.value),ie=J.addMember(ue,re,V,{commit:!1});return L(void 0),ie}return{vueFlowStore:d,editorStore:u,readonly:i,nodes:Y,edges:me,selectNode:le,autoLayout:Ae,placeToRight:Ie,scrollRightToReveal:tt,fitViewParams:ze,fitView:G,groupDrop:{activeGroupId:U,startPanelDrag:()=>ne("panel"),endPanelDrag:M,updateActiveGroup:L,attachNodeToActiveGroup:ge}}});let Ti=null;function L$(){if(Ti)return Ti;if(typeof navigator>"u")return Ti="windows";const e=navigator.userAgentData?.platform||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?Ti="mac":/Linux/i.test(e)&&!/Android/i.test(e)?Ti="linux":Ti="windows"}const D$={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},M$={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Win",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Spacebar",Delete:"Delete"},F$={Shift:"Shift",Alt:"Alt",Ctrl:"Ctrl",Meta:"Super",Mod:"Ctrl",Enter:"Enter",ArrowUp:"Up",ArrowDown:"Down",ArrowLeft:"Left",ArrowRight:"Right",Tab:"Tab",Esc:"Esc",Space:"Space",Delete:"Delete"};function j$(e,n={}){const r=n.platform??L$(),o=n.joiner??(r==="mac"?"":" + "),i=r==="mac"?D$:r==="linux"?F$:M$;return(Array.isArray(e)?e:e[r]).map(s=>s in i?i[s]:s).join(o)}const U$={key:0,class:"label"},K$={class:"keys"},mc=xe(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=j$(e.keys);return(r,o)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:e.reverse}])},[e.label?(t.openBlock(),t.createElementBlock("span",U$,t.toDisplayString(e.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",K$,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-7ca86b0d"]]),q$=["onClick"],G$={key:0,class:"additional-count"},Dk=24,z$=16,gc=xe(t.defineComponent({__name:"NodePortal",props:{expanded:{type:Boolean,default:()=>{}},reversed:{type:Boolean},targets:{}},setup(e){const n=Number.parseFloat(XS)||0,r={target:"body"},{portalSelection:o,selectPortalEdge:i}=Vt(),a=t.ref(!1),s=t.computed(()=>{const h=o.value;return h?e.targets.some(y=>y.edgeId===h):!1}),l=t.computed(()=>e.expanded!==void 0?e.expanded||s.value:a.value||s.value),c=()=>Dk*e.targets.length+n*(e.targets.length-1),d=t.computed(()=>({width:l.value?`${c()}px`:"fit-content"})),u=h=>{i(h)},f=h=>o.value===h,p=t.computed(()=>e.targets.map((h,y)=>{const g=(Dk+n)*y;return{edgeId:h.edgeId,key:`${h.node.id}-${h.fieldName??"node"}-${y}`,icon:Zf(h.node.type).icon,tooltip:h.fieldName?`${h.node.name}.${h.fieldName}`:h.node.name,highlighted:f(h.edgeId),tooltipEl:null,style:y===0?{width:"fit-content",zIndex:e.targets.length}:{position:"absolute",...e.reversed?{left:`${g}px`,transform:l.value?"translateX(0)":`translateX(-${g}px)`}:{right:0,transform:l.value?`translateX(-${g}px)`:"translateX(0)"},zIndex:e.targets.length-y}}})),m=t.computed(()=>Math.max(e.targets.length-1,0));return(h,y)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-portal",{expanded:l.value,reversed:e.reversed}]),onClick:y[0]||(y[0]=t.withModifiers(()=>{},["stop"])),onDragstart:y[1]||(y[1]=t.withModifiers(()=>{},["stop"])),onMousedown:y[2]||(y[2]=t.withModifiers(()=>{},["stop"])),onMouseenter:y[3]||(y[3]=g=>a.value=!0),onMouseleave:y[4]||(y[4]=g=>a.value=!1)},[t.createElementVNode("div",{class:"target-boxes",style:t.normalizeStyle(d.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(g,_)=>(t.openBlock(),t.createBlock(t.unref(_e.KTooltip),{key:g.key,class:"target-box-wrapper","kpop-attributes":r,placement:"top",style:t.normalizeStyle(g.style),text:g.tooltip},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["target-box",{highlighted:g.highlighted}]),onClick:t.withModifiers(k=>u(g.edgeId),["stop"])},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.icon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:z$},null,8,["color"])),_===0&&m.value>0?(t.openBlock(),t.createElementBlock("span",G$," +"+t.toDisplayString(m.value),1)):t.createCommentVNode("",!0)],10,q$)]),_:2},1032,["style","text"]))),128))],4)],34))}}),[["__scopeId","data-v-45ce7484"]]),hc=xe(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>xt.Position.Left},size:{default:()=>Number.parseFloat(Gy)},type:{}},setup(e){t.useCssVars(r=>({v64bbaf90:r.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(r,o)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[e.type,e.position===t.unref(xt.Position).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-74b600f2"]]),Np=xe(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){t.useCssVars(r=>({v3b4ea967:n.value.colors?.background,v00febd7c:n.value.colors?.foreground}));const n=t.computed(()=>Zf(e.type));return(r,o)=>{const i=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(i,{appearance:"neutral",class:t.normalizeClass(["dk-node-badge",{"icon-only":e.iconOnly,"has-colors":!!n.value.colors}]),size:e.size},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(e.type),1)]),_:2},[n.value?.icon?{name:"icon",fn:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.value.icon)))]),key:"0"}:void 0]),1032,["class","size"])}}}),[["__scopeId","data-v-409d29e5"]]),H$={class:"body"},W$={class:"name"},Y$={class:"handle"},J$={class:"handle-label-wrapper"},X$={class:"handle-label-wrapper"},Z$={class:"handle-label text"},Q$={class:"handle"},eR={class:"handle-label-wrapper"},tR={class:"handle-label-wrapper"},nR={class:"handle-label text"},rR={key:2,class:"branch-handles"},oR={class:"handle-label-wrapper"},iR={class:"handle-label text"},Mk=xe(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const n=t.useSlots(),{t:r}=Ft.createI18n("en-us",zt),o=R$(),{getInEdgesByNodeId:i,getOutEdgesByNodeId:a,getNodeById:s,toggleExpanded:l,duplicateNode:c,removeNode:d,propertiesPanelOpen:u,branchGroups:f}=Vt(),p=t.computed(()=>xi(e.data.type)),m=t.computed(()=>e.data.fields.input.length>0),h=t.computed(()=>e.data.fields.output.length>0),y=t.computed(()=>m.value&&i(e.data.id).every(K=>K.targetField===void 0)),g=t.computed(()=>h.value&&a(e.data.id).every(K=>K.sourceField===void 0)),_=t.computed(()=>e.data.expanded.input??!1),k=t.computed(()=>e.data.expanded.output??!1),b=t.computed(()=>p.value.io?.next?.branches?.map(({name:K})=>K)??[]),N=t.computed(()=>b.value.length>0),C=t.computed(()=>f.findMembership(e.data.id)),w=t.computed(()=>{if(e.data.type==="property"){const K=e.data.config?.property;return Yf(K)}return p.value.io?.input}),S=t.computed(()=>{if(e.data.type==="property"){const K=e.data.config?.property;return Wf(K)}return p.value.io?.output}),x=t.computed(()=>nc(e.data)),I=t.computed(()=>e.data.phase==="response"),T=t.computed(()=>e.data.phase==="request"?xt.Position.Left:xt.Position.Right),A=t.computed(()=>e.data.phase==="request"?xt.Position.Right:xt.Position.Left),v=t.computed(()=>e.data.phase==="request"?xt.Position.Right:xt.Position.Left),P=t.computed(()=>nc(e.data)?r(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),O=t.computed(()=>x.value?DS:MS);function R(K){return K==="input"?I.value:!I.value}function Q(K){const J=new Map,ce=K==="input"?i(e.data.id):a(e.data.id);for(const z of ce){const oe=s(K==="input"?z.source:z.target);if(!oe)continue;if(K==="input"){const X=oe.type==="vault",he=oe.phase!==e.data.phase,ve=f.isEdgeEnteringGroup(oe.id,e.data.id);if(!(X||he||ve))continue}else{const X=oe.phase!==e.data.phase,he=f.isEdgeEnteringGroup(e.data.id,oe.id);if(!(X||he))continue}const Pe=K==="input"?z.targetField||"input":z.sourceField||"output";let Ee;K==="input"&&z.sourceField?Ee=oe.fields.output.find(he=>he.id===z.sourceField)?.name:K==="output"&&z.targetField&&(Ee=oe.fields.input.find(he=>he.id===z.targetField)?.name);const Ge={edgeId:z.id,node:oe,fieldName:Ee},se=J.get(Pe);se?se.push(Ge):J.set(Pe,[Ge])}return J}const fe=t.computed(()=>Q("input")),H=t.computed(()=>Q("output"));function j(K){!o||o.readonly||K==="input"&&!y.value||K==="output"&&!g.value||l(e.data.id,K)}async function D(){if(!o||o.readonly)return;const K=c(e.data.id,o.placeToRight(e.data.id));await o.selectNode(K),o.scrollRightToReveal(K),u.value=!0}function ee(){f.removeMember(e.data.id)}return t.watch(y,K=>{K||l(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(g,K=>{K||l(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(K,J)=>{Kt(K,J)||l(e.data.id,"input",K.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(K,J)=>{Kt(K,J)||l(e.data.id,"output",K.length>0,!0,"*")},{deep:!0}),(K,J)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-flow-node",{reversed:I.value,implicit:x.value,readonly:e.readonly}])},[t.createElementVNode("div",H$,[x.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(_e.KTooltip),{key:0,class:"badge",placement:"top",text:e.data.type},{default:t.withCtx(()=>[t.createVNode(Np,{"icon-only":"",size:"small",type:e.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",W$,t.toDisplayString(P.value),1),e.error?(t.openBlock(),t.createBlock(t.unref(Ne.WarningIcon),{key:1,class:"error-icon",color:`var(--kui-color-text-danger, ${t.unref(jy)})`,size:16},null,8,["color"])):t.createCommentVNode("",!0),n.actions?t.renderSlot(K.$slots,"actions",{key:2,data:e.data},void 0,!0):x.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(_e.KDropdown),{key:3,class:"menu",disabled:e.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:J[1]||(J[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(_e.KDropdownItem),{onClick:D},{default:t.withCtx(()=>[t.createVNode(mc,{keys:t.unref(jl).duplicate,label:t.unref(r)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),C.value?(t.openBlock(),t.createBlock(t.unref(_e.KDropdownItem),{key:0,onClick:ee},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(_e.KDropdownItem),{danger:"",onClick:J[0]||(J[0]=ce=>t.unref(d)(e.data.id))},{default:t.withCtx(()=>[t.createVNode(mc,{keys:t.unref(jl).delete,label:t.unref(r)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:`var(--kui-color-text, ${t.unref(gf)})`},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),n["before-handles"]?t.renderSlot(K.$slots,"before-handles",{key:0,data:e.data},void 0,!0):t.createCommentVNode("",!0),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:I.value}])},[w.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":m.value}])},[t.createElementVNode("div",Y$,[t.createVNode(t.unref(xt.Handle),{id:"input",position:T.value,type:"target"},null,8,["position"]),fe.value.has("input")?(t.openBlock(),t.createBlock(gc,{key:0,mode:"input",reversed:R("input"),targets:fe.value.get("input")},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",J$,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:y.value}]),onClick:J[2]||(J[2]=t.withModifiers(ce=>j("input"),["stop"]))},[J[4]||(J[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),m.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[_.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldMoreIcon),{key:0,size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["size"])),_.value?(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldLessIcon),{key:1,color:y.value?void 0:`var(--kui-color-text-disabled, ${t.unref(Ky)})`,size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),m.value&&_.value?(t.openBlock(),t.createBlock(hc,{key:0,color:O.value,position:T.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),m.value&&_.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.input,(ce,z)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${ce.id}`,class:"handle indented"},[t.createVNode(t.unref(xt.Handle),{id:`inputs@${ce.id}`,position:T.value,type:"target"},null,8,["id","position"]),fe.value.has(ce.id)?(t.openBlock(),t.createBlock(gc,{key:0,mode:"input",reversed:R("input"),targets:fe.value.get(ce.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",X$,[t.createElementVNode("div",Z$,t.toDisplayString(ce.name),1),t.createVNode(hc,{color:O.value,position:T.value,type:z<e.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),S.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":h.value}])},[t.createElementVNode("div",Q$,[t.createElementVNode("div",eR,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:g.value}]),onClick:J[3]||(J[3]=t.withModifiers(ce=>j("output"),["stop"]))},[J[5]||(J[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),h.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[k.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldMoreIcon),{key:0,size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["size"])),k.value?(t.openBlock(),t.createBlock(t.unref(Ne.UnfoldLessIcon),{key:1,color:g.value?void 0:`var(--kui-color-text-disabled, ${t.unref(Ky)})`,size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),h.value&&k.value?(t.openBlock(),t.createBlock(hc,{key:0,color:O.value,position:A.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(xt.Handle),{id:"output",position:A.value,type:"source"},null,8,["position"]),H.value.has("output")?(t.openBlock(),t.createBlock(gc,{key:0,mode:"output",reversed:R("output"),targets:H.value.get("output")},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]),h.value&&k.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.output,(ce,z)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${ce.id}`,class:"handle indented"},[t.createElementVNode("div",tR,[t.createElementVNode("div",nR,t.toDisplayString(ce.name),1),t.createVNode(hc,{color:O.value,position:A.value,type:z<e.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(xt.Handle),{id:`outputs@${ce.id}`,position:A.value,type:"source"},null,8,["id","position"]),H.value.has(ce.id)?(t.openBlock(),t.createBlock(gc,{key:0,mode:"output",reversed:R("output"),targets:H.value.get(ce.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),N.value?(t.openBlock(),t.createElementBlock("div",rR,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,ce=>(t.openBlock(),t.createElementBlock("div",{key:`branch-${ce}`,class:"handle"},[t.createElementVNode("div",oR,[t.createElementVNode("div",iR,t.toDisplayString(ce),1)]),t.createVNode(t.unref(xt.Handle),{id:`branch@${ce}`,connectable:!1,position:v.value,type:"source"},null,8,["id","position"])]))),128))])):t.createCommentVNode("",!0)],2),n["after-handles"]?t.renderSlot(K.$slots,"after-handles",{key:1,data:e.data},void 0,!0):t.createCommentVNode("",!0)],2))}}),[["__scopeId","data-v-1de3b7cb"]]),aR=xe(t.defineComponent({__name:"GroupNode",props:{data:{},active:{type:Boolean}},setup(e){const n=e,r=t.computed(()=>n.data.phase==="response"),o=t.computed(()=>r.value?xt.Position.Right:xt.Position.Left);return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-branch-group-node",{reversed:r.value,"drop-target":e.active}])},[t.createVNode(t.unref(xt.Handle),{id:"input",connectable:!1,position:o.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-cf30ffea"]]),Sp=xe(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change","node-click"],setup(e,{expose:n,emit:r}){const o=t.useSlots(),i=r,a=t.useTemplateRef("flowCanvas"),s=Ot.useElementBounding(a),{i18n:{t:l}}=Qe(),c=t.computed(()=>{const Ee=e.mode==="edit"||e.mode==="inspect";return{panOnDrag:Ee?void 0:!1,panOnScroll:Ee?void 0:!1,zoomOnDoubleClick:Ee?void 0:!1,zoomOnPinch:Ee?void 0:!1,zoomOnScroll:Ee?void 0:!1}}),{vueFlowStore:d,editorStore:u,autoLayout:f,fitViewParams:p,fitView:m,selectNode:h,placeToRight:y,scrollRightToReveal:g,groupDrop:_}=$$({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:s.width,height:s.height}},readonly:e.mode!=="edit"}),{addNode:k,propertiesPanelOpen:b,invalidConfigNodeIds:N,selectedNode:C,duplicateNode:w,commit:S,selectPortalEdge:x}=u,{screenToFlowCoordinate:I,zoomIn:T,zoomOut:A,viewport:v,maxZoom:P,minZoom:O}=d,{activeGroupId:R,startPanelDrag:Q,endPanelDrag:fe,updateActiveGroup:H,attachNodeToActiveGroup:j}=_;function D(Ee){const Ge=Ee.dataTransfer?.types.find(se=>se.startsWith(`${Ga}/`));if(Ge)return Ge.replace(`${Ga}/`,"")}function ee(Ee){if(e.mode==="inspect"){if(Ee?.node?.type==="group")return;i("node-click",Ee.node.data);return}if(e.mode==="edit"){if(Ee?.node?.type==="group"){h(void 0),x(void 0);return}b.value=!0}}function K(Ee){e.mode==="edit"&&(Ee.preventDefault(),H(I({x:Ee.clientX,y:Ee.clientY})))}function J(Ee){if(e.mode!=="edit")return;const Ge=Ee.dataTransfer?.getData(Ga);if(!Ge)return;Ee.preventDefault();const se=JSON.parse(Ge);if(se.action!=="create-node")return;const X=I({x:Ee.clientX,y:Ee.clientY}),{type:he,anchor:ve}=se.data,je={type:he,phase:e.phase,position:{x:X.x-ve.offsetX,y:X.y-ve.offsetY}},qe=k(je,!1);if(!qe){fe();return}j(qe),S(),h(qe),b.value=!0,fe()}async function ce(){i("initialized"),e.mode==="inspect"&&setTimeout(async()=>{await f(!1),setTimeout(()=>m(),0)},0)}async function z(){await f(),setTimeout(()=>m(),0)}const oe=t.computed(()=>{if(e.mode==="preview")return[];const Ee=[{name:"zoom_in",icon:Ne.AddIcon,action:T,disabled:v.value.zoom>=P.value},{name:"zoom_out",icon:Ne.RemoveIcon,action:A,disabled:v.value.zoom<=O.value},{name:"fit_view",icon:Ne.FullscreenIcon,action:m}];return e.mode==="edit"&&Ee.push({name:"auto_layout",icon:Ne.AutoLayoutIcon,action:z}),Ee});e.mode==="edit"&&(Ot.useEventListener("dragstart",Ee=>{D(Ee)&&Q()}),Ot.useEventListener("dragend",()=>{fe()}));async function Pe(){const Ee=C.value;if(e.mode!=="edit"||!Ee||Ee.phase!==e.phase)return;const Ge=w(Ee.id,y(Ee.id));Ge&&(await h(Ge),b.value=!0,g(Ge))}return Fy({enabled:t.computed(()=>!!C.value&&e.mode==="edit"&&C.value.phase===e.phase),duplicate:Pe}),n({autoLayout:f,fitView:m}),(Ee,Ge)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:a,class:"dk-flow-canvas"},[t.createVNode(t.unref(xt.VueFlow),t.mergeProps({id:e.flowId,class:["flow",{readonly:e.mode!=="edit",inspect:e.mode==="inspect"}]},c.value,{"connect-on-click":!1,"elements-selectable":e.mode==="edit"||e.mode==="inspect","max-zoom":t.unref(sA),"min-zoom":t.unref(lA),"multi-selection-key-code":null,"nodes-connectable":e.mode==="edit","nodes-draggable":e.mode==="edit",onDragover:K,onDrop:J,onNodeClick:ee,onNodesChange:Ge[0]||(Ge[0]=se=>i("nodes-change")),onNodesInitialized:ce}),{"node-flow":t.withCtx(({data:se})=>[t.createVNode(Mk,{data:se,error:t.unref(N).has(se.id),readonly:e.mode!=="edit"},t.createSlots({_:2},[o["node-before-handles"]?{name:"before-handles",fn:t.withCtx(()=>[t.renderSlot(Ee.$slots,"node-before-handles",{data:se},void 0,!0)]),key:"0"}:void 0,o["node-actions"]?{name:"actions",fn:t.withCtx(()=>[t.renderSlot(Ee.$slots,"node-actions",{data:se},void 0,!0)]),key:"1"}:void 0,o["node-after-handles"]?{name:"after-handles",fn:t.withCtx(()=>[t.renderSlot(Ee.$slots,"node-after-handles",{data:se},void 0,!0)]),key:"2"}:void 0]),1032,["data","error","readonly"])]),"node-group":t.withCtx(({data:se})=>[t.createVNode(aR,{active:t.unref(R)===se.id,data:se},null,8,["active","data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(IS.Background)),t.createVNode(t.unref(Dy.Controls),{"fit-view-params":t.unref(p),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(oe.value,se=>(t.openBlock(),t.createBlock(t.unref(_e.KTooltip),{key:se.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${se.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(Dy.ControlButton),{disabled:se.disabled,onClick:t.withModifiers(se.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(se.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:3},16,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable"])],512))}}),[["__scopeId","data-v-11561a7e"]]);function Fk(){const e=["methods","logout_methods"];return{setFieldType:(u,f,p)=>{if(!(!u||!f||!p))switch(p.type){case"boolean":u[f]={type:pe.ConfigurationSchemaType.BadgeStatus,...u[f]};break;case"string":p.encrypted?u[f]={type:pe.ConfigurationSchemaType.Redacted,...u[f]}:u[f]={type:pe.ConfigurationSchemaType.Text,...u[f]};break;case"set":p.elements?.type==="string"&&(u[f]={type:pe.ConfigurationSchemaType.BadgeTag,...u[f]});break;case"array":e.includes(f)?u[f]={type:pe.ConfigurationSchemaType.BadgeMethod,...u[f]}:p.elements?.type==="string"?p.encrypted?u[f]={type:pe.ConfigurationSchemaType.RedactedArray,...u[f]}:u[f]={type:pe.ConfigurationSchemaType.BadgeTag,...u[f]}:p.elements?.type==="record"&&(u[f]={type:pe.ConfigurationSchemaType.Json,...u[f]});break;case"record":u[f]={type:pe.ConfigurationSchemaType.Json,...u[f]};break;default:u[f]={type:pe.ConfigurationSchemaType.Text,...u[f]};break}},convertToDotNotation:u=>u.replace(/-/g,"."),unFlattenObject:u=>{const f={};for(const p in u){const m=p.split(".");m.reduce((h,y,g)=>h[y]||(h[y]=isNaN(m[g+1])?m.length-1===g?u[p]:{}:[]),f)}return f},dismissField:(u,f,p="redis",m=!1)=>{const h=new RegExp("(?<=-redis-).*");if(typeof u!="object"||u===null)return u;p==="redis"?Object.keys(u).forEach(y=>{y.match(h)&&delete u[y]}):m?u[p]=null:delete u[p],Object.assign(u,f)},isObjectEmpty:u=>Object.keys(u).length===0,unsetNullForeignKey:(u,f)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(u)>-1&&f[u]===null&&(delete f[u],f[u.replace(".id","")]=null)},formatPluginFieldLabel:u=>u.replace(/_/g," ").split("-").map(f=>f.charAt(0).toUpperCase()+f.slice(1)).join("-"),getTallestPluginCardHeight:u=>{let f=0;if(u.length)for(let p=0;p<u.length;p++){const m=u[p].$el;f=m.offsetHeight>f?m.offsetHeight:f}return f},getToggleVisibility:(u,f)=>{if(u&&f){const p=window?.getComputedStyle(u)?.getPropertyValue("grid-template-columns")?.split(" ").length;return f>p}return!0}}}const sR=["basic-auth","key-auth","key-auth-enc","oauth2","hmac-auth","jwt","acl"];var yc=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(yc||{});const _c=["Featured"],Ap=[q.PluginGroup.AUTHENTICATION,q.PluginGroup.AI,q.PluginGroup.SECURITY,q.PluginGroup.TRAFFIC_CONTROL,q.PluginGroup.SERVERLESS,q.PluginGroup.ANALYTICS_AND_MONITORING,q.PluginGroup.TRANSFORMATIONS,q.PluginGroup.LOGGING,q.PluginGroup.DEPLOYMENT,q.PluginGroup.WEBSOCKET,q.PluginGroup.MONETIZATION,q.PluginGroup.CUSTOM_PLUGINS],bc=[q.PluginGroup.AI,q.PluginGroup.ANALYTICS_AND_MONITORING,q.PluginGroup.AUTHENTICATION,q.PluginGroup.LOGGING,q.PluginGroup.MONETIZATION,q.PluginGroup.SECURITY,q.PluginGroup.SERVERLESS,q.PluginGroup.TRAFFIC_CONTROL,q.PluginGroup.TRANSFORMATIONS,q.PluginGroup.CUSTOM_PLUGINS];var To=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(To||{});const Bo=e=>{const n=Object.fromEntries(e.fields.map(r=>Object.entries(r)[0]));return"id"in n||(n.id={}),n},Oo={label:"Tags",name:"tags",type:"input",inputType:"text",valueType:"array",valueArrayType:"string",placeholder:"Enter list of tags",help:"An optional set of strings for grouping and filtering, separated by commas.",hint:"e.g. tag1, tag2, tag3"},Bi={getColumnFields:Bo,tags:Oo,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(e){const n=e.inputAttributes||{};return delete e.inputAttributes,{type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",newElementButtonLabelClasses:"kong-form-new-element-button-label",inputAttributes:{class:"form-control",style:{minWidth:"200px"},...n},removeElementButtonLabel:"remove",styleClasses:"kong-form-field-wrapper",inputType:"text",valueType:"array",valueArrayType:"string",...e}}}},jk={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:Oo}]},lR={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{group:{required:!0,type:"string",hint:"The arbitrary group name to associate to the consumer."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Uk={fields:[{username:{}},{password:{inputType:"password"}},{tags:Oo}]},cR={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0}},{password:{type:"string",required:!0,encrypted:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Kk=t.defineComponent({name:"KeyAuthIdentityRealmsBase",__name:"Base",props:t.mergeModels({realms:{}},{modelValue:{default:[{scope:"cp",id:null,region:null}]},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,r=t.useModel(e,"modelValue"),{i18n:o}=it.useI18n(),{t:i}=o,a={value:"current-cp",label:i("custom_field.key_auth_identity_realms.cp_label"),group:i("custom_field.key_auth_identity_realms.cp_group_label")},s=t.inject(Je.FORMS_CONFIG),{axiosInstance:l}=pe.useAxios(s?.axiosRequestConfig),c=()=>{if(s?.app==="konnect"){const h=/\b(us|eu|au|me|in|sg)\b/.exec(s?.apiBaseUrl||"");if(h)return{region:h[1]}}return{}},d=t.ref(!0),u=t.ref([a]),f=async()=>{if(s?.app==="konnect")try{d.value=!0;let h=`${s?.apiBaseUrl}/v1/realms`;const y=[];do{const g=await l.get(h);g&&g.data&&g.data.data&&y.push(...g.data.data.map(_=>({value:_.id,label:_.name,group:i("custom_field.key_auth_identity_realms.realm_group_label")}))),h=g.data.meta.next?`${s?.apiBaseUrl}${g.data.meta.next}`:null}while(h);u.value=[a,...y]}catch(h){console.error("Failed to fetch Konnect realms",h)}finally{d.value=!1}},p=t.computed(()=>r.value.map(h=>h.id||"current-cp")),m=h=>{const y=h.includes("current-cp")?[{scope:"cp",id:null,region:null}]:[],g=r.value.filter(({scope:C})=>C!=="cp").map(({id:C})=>C),_=h.filter(C=>C!=="current-cp"),N=(g.length!==_.length||g.some(C=>!_.includes(C))?_.filter(C=>!g.includes(C)):_).map(C=>({...c(),scope:"realm",id:C}));r.value=[...y,...N]};return t.onMounted(()=>{n.realms===void 0&&f()}),t.watch(()=>n.realms,h=>{h&&(u.value=[a,...h.map(y=>({...y,group:i("custom_field.key_auth_identity_realms.realm_group_label")}))],d.value=!1)},{immediate:!0}),(h,y)=>{const g=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(g,{items:u.value,loading:d.value,"model-value":p.value,"onUpdate:modelValue":m},null,8,["items","loading","model-value"])}}}),dR={class:"field-wrapper"},uR=xe(t.defineComponent({__name:"VfgAdapter",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:r}){const o=e,i=r,{clearValidationErrors:a,value:s}=Je.composables.useAbstractFields({model:t.toRef(()=>o.model),schema:o.schema,formOptions:o.formOptions,emitModelUpdated:l=>{i("modelUpdated",l.value,l.model)}});return n({clearValidationErrors:a}),(l,c)=>(t.openBlock(),t.createElementBlock("div",dR,[t.createVNode(Kk,{modelValue:t.unref(s),"onUpdate:modelValue":c[0]||(c[0]=d=>t.isRef(s)?s.value=d:null)},null,8,["modelValue"])]))}}),[["__scopeId","data-v-269e85ed"]]),qk={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
4
4
  client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Oo},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},fR=e=>e?.app==="kongManager"?{fieldsToDelete:["config-identity_realms"],shamefullyTransformPayload:({payload:n})=>{(e?.credential&&typeof n.ttl!="number"||Number.isNaN(n.ttl))&&(n.ttl=0)}}:{"config-identity_realms":{component:e?.experimentalRenders?.keyAuthIdentityRealms??!1?t.markRaw(uR):null}},pR={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{key:{auto:!0,hint:"If left empty, a key will be generated after saving this form.",required:!1,type:"string",encrypted:!0,unique:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}},{ttl:{between:[0,1e8],description:"Time-to-live (in seconds) value for data",type:"number"}}]},Gk={fields:[{username:{hint:"The username to use in the HMAC Signature verification."}},{secret:{inputType:"text",submitWhenNull:!1,hint:`The secret to use in the HMAC Signature verification. Note that
5
5
  if this parameter isn’t provided, Kong will generate a value for you and
6
6
  send it as part of the response body.`}},{tags:Oo}]},mR={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{username:{required:!0,type:"string",unique:!0,hint:"The username to use in the HMAC Signature verification."}},{secret:{auto:!0,type:"string",encrypted:!0,hint:"The secret to use in the HMAC Signature verification. Note that if this parameter isn’t provided, Kong will generate a value for you and send it as part of the response body."}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},gR={fields:[{key:{submitWhenNull:!1,hint:`A unique string identifying the credential. If left out, it will
@@ -14,7 +14,7 @@ will extend the wait time by about 12 minutes, continuously adjusting as new req
14
14
  `);throw new Error(`${N}: Fields must be at the same level. Found mixed levels:
15
15
  ${S}`)}}function l(b){for(const[N,C]of Object.entries(b)){if(!C.bundles)continue;for(const S of C.bundles)if(new Set(S).size!==S.length){const I=S.filter((T,A)=>S.indexOf(T)!==A);throw new Error(`Self-cycle detected in bundle: field '${I[0]}' appears multiple times in [${S.join(", ")}]`)}const w=new Map;for(const S of C.bundles)for(let x=1;x<S.length;x++){const I=S[x],T=S[x-1];w.has(I)||w.set(I,new Set),w.get(I).add(T)}for(const S of w.keys()){let x=function(A){if(T.includes(A)){const P=[...T,A].join(" -> ");throw new Error(`Circular bundle detected in path '${N}':
16
16
  ${P}`)}if(I.has(A))return;I.add(A),T.push(A);const v=w.get(A);if(v)for(const P of v)x(P);T.pop()};const I=new Set,T=[];x(S)}}}function c(b){for(const[N,C]of Object.entries(b))if(C.dependencies)for(const w of Object.keys(C.dependencies)){let S=function(T){if(I.includes(T)){const v=[...I,T].join(" -> ");throw new Error(`Circular dependency detected in path '${N}':
17
- ${v}`)}if(x.has(T))return;x.add(T),I.push(T);const A=C.dependencies[T];if(A){const[v]=A;C.dependencies[v]&&S(v)}I.pop()};const x=new Set,I=[];S(w)}}function d(b,N){const C=b.map(S=>N?yt(N,S):S),w=yn(C[0]);return w.pop(),yt(...w)}function u(b,N){if(!N)return b;const C=`${N}${ps}`;return b.startsWith(C)?b.slice(C.length):b}function f(b){const N=yn(b);return N.pop(),yt(...N)}function p(){const b={};for(const[N,C]of Object.entries(r.value)){const w=N===ro?"":N;if(C.bundles)for(const S of C.bundles){if(S.length<2)throw new Error(`Bundle must contain at least 2 fields. Found ${S.length} field(s) in bundle: [${S.join(", ")}]`);const x=S.map(A=>w?yt(w,A):A);s(x,`Bundle [${S.join(", ")}]`);const I=d(S,w)||ro;b[I]||(b[I]={}),b[I].bundles||(b[I].bundles=[]);const T=x.map(A=>u(A,I));b[I].bundles.push(T)}if(C.dependencies)for(const[S,[x,I]]of Object.entries(C.dependencies)){const T=w?yt(w,S):S,A=w?yt(w,x):x;s([T,A],`Dependency '${S}' -> '${x}'`);const v=f(T)||ro;b[v]||(b[v]={}),b[v].dependencies||(b[v].dependencies={});const P=u(T,v),O=u(A,v);b[v].dependencies[P]=[O,I]}}return l(b),c(b),b}const m=t.computed(()=>{try{return p()}catch(b){return console.error("Invalid render rules:",b instanceof Error?b.message:String(b)),{}}});function h(b){if(!b)return m.value;const N=Ro(b,e());return m.value[N]}function y(b){let N=!1;return t.computed(()=>{if(N)return;const C=t.toValue(b);try{return h(C)}catch(w){N=!0,console.error(`Failed to get render rules for path: \`${C}\`,`,w instanceof Error?w.message:"");return}})}const g=t.computed(()=>Object.values(m.value).some(b=>b.dependencies&&Object.keys(b.dependencies).length>0));function _(b){const{fieldPath:N,rules:C,omittedFields:w}=b,S=ns("omit-");t.watch([()=>t.toValue(C),()=>t.toValue(N),()=>t.toValue(w)],([I,T,A],[,v])=>{I?r.value[T]=I:delete r.value[T],i(T,S,A),v&&v!==T&&(delete r.value[v],a(v,S))},{immediate:!0,deep:!0});const x=y(N);return t.onBeforeUnmount(()=>{const I=t.toValue(N);delete r.value[I],a(I,S)}),x}function k(b){const N=yn(b);if(!N.length)return!1;const C=N[N.length-1],w=yt(...N.slice(0,-1)),S=o.value[w];if(S){const O=Object.values(S);if(O.length&&O.every(R=>R.includes(C)))return!1}const x=w===""?ro:Ro(w,e()),I=m.value[x]?.dependencies?.[C];if(!I)return!1;const[T,A]=I,v=w?yt(w,T):T,P=xo(n(),yn(v));return!m2(P,A)}return{useCurrentRules:_,createComputedRules:y,hasDependencies:g,isFieldHidden:k}}let h2=0;function y2(){return`kid:${++h2}`}function _2(e){const n=t.reactive(new Map);function r(d=""){const u=y2();return n.set(u,d),u}function o(d){return n.get(d)}function i(d,u){n.has(d)&&n.set(d,u)}function a(d){n.delete(d)}function s(d){return b2(d,e,r)}function l(d){return k2(d,e,o)}function c(){n.clear()}return{createKey:r,getKey:o,updateKey:i,deleteKey:a,serialize:s,deserialize:l,clear:c}}function b2(e,n,r){const o=(i,a)=>{if(i==null||typeof i!="object")return i;if(Array.isArray(i))return i.map((c,d)=>{const u=a?yt(a,`${d}`):`${d}`;return o(c,u)});if((a?n(a):n())?.type==="map"){const c=i,d={};return Object.keys(c).forEach(u=>{const f=r(u),p=c[u],m=a?yt(a,u):u;d[f]=o(p,m)}),d}const l={};return Object.keys(i).forEach(c=>{const d=a?yt(a,c):c;l[c]=o(i[c],d)}),l};return o(e)}function k2(e,n,r){const o=(i,a)=>{if(i==null||typeof i!="object")return i;if(Array.isArray(i))return i.map((c,d)=>{const u=a?yt(a,`${d}`):`${d}`;return o(c,u)});if((a?n(a):n())?.type==="map"){const c=i,d={};return Object.keys(c).forEach(u=>{const f=u,p=c[f],m=r(f);if(m==null){console.error(`[FreeForm] Missing name for key ID: ${String(f)}`);return}const h=m||vp,y=a?yt(a,h):h;d[m]=o(p,y)}),d}const l={};return Object.keys(i).forEach(c=>{const d=a?yt(a,c):c;l[c]=o(i[c],d)}),l};return o(e)}function w2(e){return/^kid:\d+$/.test(e)}const[cw,dw]=Ot.createInjectionState(function(n){const{schema:r,propsData:o,onChange:i,propsRenderRules:a,propsConfig:s}=n,{getDefault:l,getEmptyOrDefault:c,...d}=lw(r,()=>t.toValue(s)),u=_2(d.getSchema),f=new Map,p=t.reactive({}),m=t.toRef(()=>t.toValue(s)??{}),h=t.useSlots();t.provide(Cc,eo(h,"default",$o));const{useCurrentRules:y,createComputedRules:g,hasDependencies:_,isFieldHidden:k}=g2(d.getSchemaMap,()=>p),b=y({fieldPath:ro,rules:a});function N(v){Object.keys(p).forEach(P=>{delete p[P]}),u.clear(),Object.assign(p,u.serialize(v))}function C(v){let P;!v||!w(t.toValue(v))?P=l():P=es(t.toValue(v)),Ul(m.value.prepareFormData)?N(m.value.prepareFormData(P)):N(P)}function w(v){return Ul(m.value.hasValue)?m.value.hasValue(v):!!v}function S(){const v=es(t.toValue(p));return _.value&&nw(v,k,c),u.deserialize(v)}t.watch(p,()=>{i?.(S())},{deep:!0});let x=!1;t.watch(()=>o?.value,v=>{x&&Kt(S(),t.toValue(v))||(C(v),x=!0)},{deep:!0,immediate:!0});function I(v){return v!=null&&typeof v=="object"&&!Array.isArray(v)?u.serialize(v):v}function T(v){return I(l(v))}function A(v){return I(c(v))}return{formData:p,schema:r,config:m,fieldRendererRegistry:f,setValue:N,useCurrentRenderRules:y,rootRenderRules:b,createComputedRenderRules:g,...d,getValue:S,isFieldHidden:k,keyIdMap:u,getDefault:T,getEmptyOrDefault:A}});function lt(){const e=dw();if(!e)throw new Error("useFormShared() called without provider.");return e}const Rp=e=>{const n=t.inject(Pp,t.computed(()=>"")),r=t.computed(()=>{const o=t.toValue(e);let i=o;return!tw(o)&&n.value&&(i=yt(n.value,o)),tw(o)&&(i=i.slice(Tp("").length)),i});return t.provide(Pp,r),r},uw=e=>{const{getSchema:n,getSchemaMap:r,fieldRendererRegistry:o}=lt(),{default:i,...a}=t.useSlots(),s=t.inject(Cc),l=[$o,"item","label","tooltip"],c=t.computed(()=>{const d=t.toValue(s),u=r(),f=Object.keys(a).filter(p=>!l.includes(p)).reduce((p,m)=>{const h=Ro(yt(t.toValue(e),m),u);return{...p,[h]:a[m]}},{});return d?{...d,...f}:f});return t.provide(Cc,c),t.computed(()=>{if(i)return;const d=t.toValue(e),u=c.value[Ro(d,r())];if(u)return u;const f=r();for(const[p,m]of o){const h=Ro(d,f);if(p({path:d,genericPath:h,schema:n(d)}))return m}})};function Ec(e){const{formData:n}=lt(),r=Rp(e);return{value:t.computed({get:()=>xo(n,yn(r.value)),set:i=>zf(n,yn(r.value),i)})}}function $t(e){const{getSchema:n,isFieldHidden:r,getEmptyOrDefault:o,getEmptyValue:i}=lt(),a=Rp(e),s=uw(a),{value:l}=Ec(e),c=t.computed(()=>n(a.value)),d=t.computed(()=>r(a.value)),u=t.computed(()=>o(a.value)),f=t.computed(()=>i());return c.value?{schema:c,path:a,renderer:s,value:l,ancestors:Op(a),hide:d,emptyOrDefaultValue:u,emptyValue:f,error:null}:{error:new Error(`path '${a.value}' is not found in schema.`)}}function Nc(e,n){const r=new WeakMap,o=new Map;function i(){return ns(`${e}-`)}function a(s,l){if(s==null||typeof s!="object")return`${e}-${l}`;if(r.has(s))return r.get(s);const c=o.has(l)?o.get(l):i();return o.set(l,c),r.set(s,c),c}return t.watch(n,s=>{const l=t.toValue(s),c=new Set;l.forEach((d,u)=>{c.add(u)}),Array.from(o.keys()).forEach(d=>{c.has(d)||o.delete(d)})},{immediate:!0,deep:!0}),{getKey:a}}function fw(e,n){t.watch(e,r=>{window[Ci]||(window[Ci]={}),window[Ci][n]=t.toRaw(r)},{immediate:!0,deep:!0}),t.onUnmounted(()=>{window[Ci]&&delete window[Ci][n]})}const C2={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP",https:"HTTPS",api:"API",uri:"URI",jq:"jq",vpn:"VPN",id:"ID",llm:"LLM",tls:"TLS",tcp:"TCP",udp:"UDP",lua:"Lua",jwt:"JWT",aws:"AWS",gcp:"GCP",azure:"Azure",acl:"ACL",acls:"ACLs",cookie:"Cookie",ai:"AI",awsgateway:"AWS Gateway",imds:"IMDS",sts:"STS",arn:"ARN",json:"JSON",traceid:"TraceID",dmq:"DMQ",ca:"CA",dpop:"DPoP",hs:"HS",jwk:"JWK",jwks:"JWKS",memcached:"Memcached",mtls:"mTLS",redis:"Redis",uris:"URIs"};function Lp(e){return C2[e.toLocaleLowerCase()]??e}function Dp(e){return e.split("_").map(Lp).join(" ")}function pw(e,n){const r=t.inject(Vp,{parentPath:null,isolate:!1}),{parentPath:o,isolate:i}=t.toValue(r),a=t.ref(o?yt(o,e):e),s=t.ref({parentPath:a.value,isolate:i});return t.watch([t.toRef(n),t.toRef(r)],([l,c])=>{const{parentPath:d,isolate:u}=c,f=d?yt(d,e):e;l?{isolate:()=>{a.value=e,s.value.isolate=!0,s.value.parentPath=null},"isolate-children":()=>{s.value.isolate=!0,s.value.parentPath=null},reset:()=>{a.value=e,s.value.isolate=!1,s.value.parentPath=null},"reset-children":()=>{s.value.isolate=!1,s.value.parentPath=null},inherit:()=>{a.value=f,s.value.isolate=!1,s.value.parentPath=f}}[l]?.():u&&(a.value=e,s.value.isolate=!0,s.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(Vp,s),a}function Sc(e){return yn(e).map(r=>r.split("_").map(Lp).join(" ")).map(v_).join(" › ")}function mw(e,n){const r=t.toValue(e),o=Vo(r),{config:i,getSchema:a}=lt(),s=pw(o,n),l=Op(e);return t.computed(()=>{const c=s.value??o,d=l.value.parent?.path?a(l.value.parent.path):null,u=d?.type==="array",f=d?.type==="map";if(u||f)return"";const p=Sc(c);return i.value.transformLabel?i.value.transformLabel(p,r):p})}function Jt(e,n){const{getLabelAttributes:r,getPlaceholder:o,getSchema:i}=lt(),a=t.toValue(e),s=t.toValue(n),l=mw(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>({...s,placeholder:s.placeholder??o(a)??void 0,labelAttributes:s.labelAttributes??r(a),label:s.label??l.value,required:s.required??i(a)?.required}))}function Ac(e,n){const{value:r,...o}=$t(e),{getEmptyOrDefault:i,keyIdMap:a}=lt(),s=t.computed(()=>{if(o.path)return o.schema.value.values}),l=t.computed(()=>r?Object.keys(r.value||{}).map(h=>{const y=h,g=a.getKey(y)??"";return[y,g]}):[]);function c(m,h){r&&(a.updateKey(m,h),r.value={...r.value})}function d(){if(!r)return;const m=a.createKey(),h=i(yt(o.path.value,m));return r.value={...r.value,[m]:h},m}function u(m){if(a.deleteKey(m),!r)return;const{[m]:h,...y}=r.value||{};Object.keys(y).length===0?r.value=o.schema?.value?.required?{}:o.emptyValue.value:r.value=y}function f(m){return a.getKey(m)}const p=t.computed(()=>{if(!o.path)return"";const m=Vo(o.path.value);let h=m;return w2(m)&&(h=a.getKey(m)??""),Dp(h)});if(n&&s.value?.type==="string"){let m=function(){if(!r||!r.value)return null;const y={};for(const[g,_]of Object.entries(r.value)){const k=a.getKey(g);k&&(y[k]=_)}return y},h=null;t.watch(()=>r?.value,y=>{const g=m();Kt(h,g)||(h=g,n?.(g))},{deep:!0})}return{keys:l,updateKey:c,addKey:d,removeKey:u,field:o,fieldDisplayName:p,getKeyName:f}}const E2=["data-testid"],gw=xe(t.defineComponent({__name:"SwitchField",props:{labelAttributes:{},enabledText:{},disabledText:{},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const{i18n:{t:r}}=Qe(),o=t.createPropsRestProxy(e,["name","enabledText","disabledText"]),{value:i,hide:a,emptyOrDefaultValue:s,...l}=$t(t.toRef(()=>e.name)),c=n,d=f=>{i.value=f,c("update:modelValue",f)},u=Jt(l.path,o);return(f,p)=>{const m=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(m,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,class:"ff-switch-field","data-testid":`ff-${l.path.value}`},[t.createVNode(t.unref(_e.KInputSwitch),t.mergeProps(t.unref(u),{"model-value":!!(t.unref(i)==null?t.unref(s):t.unref(i)),"onUpdate:modelValue":d}),{label:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)?e.enabledText||t.unref(r)("actions.enabled"):e.disabledText||t.unref(r)("actions.disabled")),1)]),_:1},16,["model-value"])],8,E2)),[[t.vShow,!t.unref(a)]])}}}),[["__scopeId","data-v-0b4c3942"]]),N2=["data-testid"],S2={key:1,class:"ff-scope-entity-help"},A2=xe(t.defineComponent({__name:"ScopeEntityField",props:{entity:{},fields:{default:()=>["name","id"]},labelField:{default:"name"},label:{},placeholder:{},help:{},disabled:{type:Boolean},developer:{type:Boolean},autofocus:{type:Boolean},name:{},labelAttributes:{}},setup(e){const n=t.createPropsRestProxy(e,["name","entity","fields","labelField","disabled","placeholder","help","developer"]),{i18n:{t:r}}=Qe(),{value:o,hide:i,...a}=$t(t.toRef(()=>e.name));if(a.error)throw new Error(a.error.message);const s=Jt(a.path,n),l=t.inject(Je.FORMS_API_KEY),c=t.computed(()=>e.fields.filter(m=>m!=="id")),d=t.computed(()=>e.fields.includes("id")),u=t.ref(!1),f=t.ref();t.onMounted(async()=>{const m=o?.value?.id;if(!(!m||!l)){u.value=!0;try{const h=await l.getOne(e.entity,m,{validateStatus:_=>_>=200&&_<300||_===404});if(h.status===404){if(e.developer){const _={label:m,value:m};f.value=_;return}throw new Error(`Entity of type ${e.entity} with id ${m} not found`)}const y=h.data,g={...y,label:y[e.labelField]??y.id,value:y.id};f.value=g}catch(h){console.error("Failed to load selected entity:",h),o.value=a.emptyValue.value}finally{u.value=!1}}});function p(m){m?(o.value={id:m.value},f.value=m):(o.value=a.emptyValue.value,f.value=void 0)}return(m,h)=>t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"ff-scope-entity-field","data-testid":`ff-${a.path.value}`},[t.unref(s).label?(t.openBlock(),t.createBlock(t.unref(_e.KLabel),t.normalizeProps(t.mergeProps({key:0},t.unref(s).labelAttributes)),{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s).label),1)]),_:1},16)):t.createCommentVNode("",!0),t.createVNode(t.unref(Je.FieldScopedEntitySelect),{id:t.unref(o)?.id??"","allow-uuid-search":d.value,disabled:u.value,"dom-id":e.name,entity:e.entity,"field-disabled":e.disabled,fields:c.value,"label-field":e.labelField,placeholder:u.value?t.unref(r)("actions.loading_spinner"):e.placeholder||t.unref(s).placeholder,"selected-item":f.value,"selected-item-loading":u.value,onChange:p},null,8,["id","allow-uuid-search","disabled","dom-id","entity","field-disabled","fields","label-field","placeholder","selected-item","selected-item-loading"]),e.help?(t.openBlock(),t.createElementBlock("p",S2,t.toDisplayString(e.help),1)):t.createCommentVNode("",!0)],8,N2)),[[t.vShow,!t.unref(i)]])}}),[["__scopeId","data-v-6e41c9dc"]]),x2={actions:{add_entity:"Add {entity}",remove_entity:"Remove {entity}"},plugins:{form:{field_rules:{at_least_one_of:"At least one of the following values is required: {parameters}.",mutually_required:"These values must be used together: {parameters}.",mutually_exclusive:"Only one of these values can be used: {parameters}."}},"free-form":{tag_helper:"Use comma to separate values. eg: value1, value2",foreign_placeholder:"Enter a UUID of {entity}",vault_picker:{component_error:"The vault secret picker is not available"}}}};function Oi(){const e=Ft.createI18n("en-us",x2);return{i18n:e,i18nT:Ft.i18nTComponent(e)}}const Pi=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const r=e,o=t.useAttrs(),i=n,a=t.computed(()=>r.multiline?_e.KTextArea:_e.KInput),s=t.computed(()=>o.characterLimit??(r.multiline?!1:void 0)),l=t.ref(r.modelValue);t.watch(()=>r.modelValue,f=>{l.value=f});const{config:c}=lt(),d=f=>{f!==l.value&&(l.value=f,c.value.updateOnChange||i("update:modelValue",f))},u=()=>{c.value.updateOnChange&&i("update:modelValue",l.value)};return(f,p)=>(t.openBlock(),t.createBlock(t.unref(a),t.mergeProps(f.$attrs,{"character-limit":s.value,"model-value":e.modelValue,resizable:e.multiline?!0:void 0,onChange:u,"onUpdate:modelValue":d}),t.createSlots({_:2},[t.renderList(t.useSlots(),(m,h)=>({name:h,fn:t.withCtx(y=>[t.renderSlot(f.$slots,h,t.normalizeProps(t.guardReactiveProps(y)))])}))]),1040,["character-limit","model-value","resizable"]))}}),I2=["innerHTML"],Me=xe(t.defineComponent({inheritAttrs:!1,__name:"StringField",props:{labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},placeholder:{},inputId:{},inlineVaultPicker:{type:Boolean},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),{i18n:o}=Oi(),i=t.createPropsRestProxy(e,["autofocus","showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:s,hide:l,...c}=$t(t.toRef(()=>e.name)),d=Jt(c.path,t.toRef({...i,...r}));function u(g){s.value=g===""?c.emptyValue.value:g,a("update:modelValue",s.value)}const f=t.computed(()=>e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!(c.schema?.value).encrypted),p=t.inject(Je.AUTOFILL_SLOT,void 0),m=t.computed(()=>e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!c.schema.value?.referenceable),h=t.computed(()=>({referenceable:m.value})),y=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:Vo(e.name)==="name");return(g,_)=>{const k=t.resolveComponent("KAlert");return c.error?(t.openBlock(),t.createBlock(k,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",t.normalizeProps(t.mergeProps({key:1},g.$attrs)),[t.createVNode(Pi,t.mergeProps({...t.unref(d),showPasswordMaskToggle:f.value,type:f.value?"password":"text"},{id:e.inputId,class:"ff-string-field","data-1p-ignore":y.value,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${c.path.value}`,error:e.error,"error-message":e.errorMessage,help:e.multiline&&e.error?e.errorMessage:e.help,"model-value":t.unref(s)??"",multiline:e.multiline,placeholder:e.placeholder??t.unref(d).placeholder,"onUpdate:modelValue":u}),t.createSlots({_:2},[t.unref(d).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,I2)],!0)]),key:"0"}:void 0,!(e.multiline&&e.error)&&g.$slots.help?{name:"help",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"help",{},void 0,!0)]),key:"1"}:void 0,!e.multiline&&e.inlineVaultPicker?{name:"after",fn:t.withCtx(()=>[t.unref(p)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(p)),{key:0,schema:h.value,update:u,value:t.unref(s)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(k,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${c.path.value}`,message:t.unref(o).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]),key:"2"}:void 0]),1040,["id","data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline","placeholder"]),e.inlineVaultPicker?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.unref(p)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(p)),{key:0,schema:h.value,update:u,value:t.unref(s)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(k,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${c.path.value}`,message:t.unref(o).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],64))],16)),[[t.vShow,!t.unref(l)]])}}}),[["__scopeId","data-v-d4bb6413"]]),v2=["innerHTML"],en=xe(t.defineComponent({inheritAttrs:!1,__name:"BooleanField",props:{labelAttributes:{},modelValue:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.createPropsRestProxy(e,["autofocus","name"]),{value:o,hide:i,emptyOrDefaultValue:a,...s}=$t(t.toRef(()=>e.name)),l=n,c=u=>{o.value=u,l("update:modelValue",u)},d=Jt(s.path,r);return(u,f)=>{const p=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(p,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createBlock(t.unref(_e.KCheckbox),t.mergeProps({key:1},{...t.unref(d),...u.$attrs},{class:"ff-boolean-field","data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${s.path.value}`,"model-value":!!(t.unref(o)==null?t.unref(a):t.unref(o)),"onUpdate:modelValue":c}),t.createSlots({_:2},[t.unref(d).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,v2)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"])),[[t.vShow,!t.unref(i)]])}}}),[["__scopeId","data-v-a1c08c7f"]]),T2=["data-testid"],B2=["innerHTML"],Lo=xe(t.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{labelAttributes:{},multiline:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),o=t.createPropsRestProxy(e,["autofocus","name"]),i=n,{value:a,hide:s,...l}=$t(t.toRef(()=>e.name)),c=Jt(l.path,t.toRef({...o,...r})),d=t.computed(()=>l.schema?.value?.len_min&&l.schema.value.len_min>0),u=t.ref("");function f(y){return y.map(g=>g.trim()).filter(Boolean).join(", ")}function p(y){return y.trim().split(",").map(g=>g.trim()).filter(Boolean)}function m(y){u.value=y;const g=p(y),_=!g.length&&d.value?l.emptyValue.value:g;a.value=_,i("update:modelValue",_)}const h=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:Vo(e.name)==="name");return t.watch(a,y=>{const g=y?f(y):"";f(p(u.value))!==g&&(u.value=g)},{immediate:!0}),(y,g)=>{const _=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(_,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[t.createVNode(Pi,t.mergeProps(t.unref(c),{class:"ff-tag-field","data-1p-ignore":h.value,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${l.path.value}`,"model-value":u.value??"","onUpdate:modelValue":m}),t.createSlots({_:2},[t.unref(c).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,B2)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,T2)),[[t.vShow,!t.unref(s)]])}}}),[["__scopeId","data-v-a7d70a44"]]),O2=["data-appearance","data-testid"],P2=["data-testid"],V2=["innerHTML"],$2=["data-testid"],R2={class:"ff-array-field-item-content"},L2=["data-index","data-testid"],Mp='input:not(:disabled), textarea:not(:disabled), select:not(:disabled), button:not(:disabled), [contenteditable="true"], [tabindex]:not([tabindex="-1"]):not(:disabled)',dt=xe(t.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},addItemLabel:{},appearance:{},stickyTabs:{type:[Boolean,String,Number]},hideLabel:{type:Boolean},autofocus:{type:Boolean}},emits:["add","remove"],setup(e,{emit:n}){t.useCssVars(A=>({v2a023911:T.value}));const r=e,o=n,{i18n:{t:i}}=Oi(),{getDefault:a,getSchema:s}=lt(),{value:l,hide:c,...d}=$t(t.toRef(r,"name")),u=Jt(d.path,t.toRef({...r,...t.useAttrs()})),f=t.computed(()=>{if(!d.path)throw new Error("Field path is required for sub-schema retrieval");const A=s(d.path.value);if(!A)throw new Error(`Schema not found for path: ${d.path.value}`);return A.elements}),p=t.computed(()=>{if(!d.path)return"";const A=Vo(d.path.value);return Dp(A)}),m=t.computed(()=>r.addItemLabel??i("actions.add_entity",{entity:p.value})),h=t.computed(()=>r.items??t.toValue(l)??[]),{getKey:y}=Nc("ff-array-field",h),g=t.computed(()=>r.appearance?r.appearance:f.value.type==="record"||f.value.type==="map"?"card":"default"),_=t.computed(()=>g.value==="card"?_e.KCard:"div");function k(A,v){return typeof r.itemLabel=="function"?r.itemLabel(A,v):r.itemLabel||u.value.label||`Item #${v}`}const b=t.computed(()=>h.value.map((A,v)=>({hash:`#${y(A,v)}`,title:""}))),N=t.ref(b.value[0]?.hash),C=async()=>{const A=a(yt(d.path.value,Ip));Array.isArray(l.value)||(l.value=[]),l.value.push(A),o("add"),r.appearance==="tabs"&&(await t.nextTick(),N.value=b.value[b.value.length-1]?.hash),await t.nextTick(),x(h.value.length+1)},w=async A=>{Array.isArray(l.value)&&(l.value.splice(A,1),l.value.length===0&&!u.value.required&&(l.value=d.emptyValue.value)),o("remove",A),r.appearance==="tabs"&&(N.value=b.value[Math.max(0,A-1)]?.hash)},S=t.useTemplateRef("root");function x(A){if(!S.value)return;const v=Math.max(0,Math.min(A,h.value.length-1)),P=S.value.querySelector(`[data-index="${v}"]`);if(!P)return;I(P)?.focus()}function I(A){const v=A.querySelector('[data-autofocus="true"]');return v?v.matches(Mp)?v:v.querySelector(Mp):A.querySelector(Mp)}const T=t.computed(()=>{const{appearance:A,stickyTabs:v}=r;return A!=="tabs"||v==null||v===!1?null:typeof v=="number"?`${r.stickyTabs}px`:typeof v=="string"?v:"0"});return(A,v)=>{const P=t.resolveComponent("KAlert"),O=t.resolveComponent("KLabel"),R=t.resolveComponent("KButton"),Q=t.resolveComponent("KTooltip"),pe=t.resolveComponent("KTabs");return d.error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:d.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:S,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${g.value??"default"}`]:!0,"ff-array-field-sticky-tabs":e.stickyTabs}]),"data-appearance":g.value,"data-testid":`ff-array-${d.path.value}`},[t.unref(u).label&&!e.hideLabel?(t.openBlock(),t.createElementBlock("header",{key:0,class:"ff-array-field-header","data-testid":`ff-array-header-${d.path.value}`},[t.createVNode(O,t.mergeProps({class:"ff-array-field-label"},t.unref(u),{"data-testid":`ff-label-${d.path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.renderSlot(A.$slots,"label",{label:t.unref(u).label},()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label),1)],!0)]),_:2},[t.unref(u).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(A.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,V2)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),e.appearance==="tabs"?(t.openBlock(),t.createBlock(R,{key:0,appearance:"tertiary","aria-label":m.value,"data-testid":`ff-add-item-btn-${d.path.value}`,icon:"",onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["aria-label","data-testid"])):t.createCommentVNode("",!0)],8,P2)):t.createCommentVNode("",!0),g.value!=="tabs"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createElementVNode("div",{class:"ff-array-field-container","data-testid":`ff-array-basic-container-${d.path.value}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(H,j)=>(t.openBlock(),t.createBlock(t.unref(_),{key:t.unref(y)(H,j),class:t.normalizeClass(["ff-array-field-item",{"ff-array-field-item-card":g.value==="card"}]),"data-index":j,"data-testid":`ff-array-item-${d.path.value}.${j}`},{default:t.withCtx(()=>[t.createElementVNode("div",R2,[A.$slots.item?t.renderSlot(A.$slots,"item",{key:0,autofocus:!0,fieldName:String(j),index:j},void 0,!0):f.value.type==="array"&&f.value.elements.type==="string"?(t.openBlock(),t.createBlock(Lo,{key:1,autofocus:"",help:t.unref(i)("plugins.free-form.tag_helper"),name:String(j)},null,8,["help","name"])):(t.openBlock(),t.createBlock(Xe,{key:2,autofocus:"",name:String(j)},null,8,["name"]))]),t.createVNode(Q,{class:"ff-array-field-item-remove-tooltip",text:t.unref(i)("actions.remove_entity",{entity:p.value})},{default:t.withCtx(()=>[t.createVNode(R,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:p.value}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${d.path.value}.${j}`,icon:"",onClick:t.withModifiers(D=>w(j),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["text"])]),_:2},1032,["class","data-index","data-testid"]))),128))],8,$2),t.createVNode(R,{appearance:"tertiary","aria-label":m.value,class:"ff-array-field-add-item-btn","data-testid":`ff-add-item-btn-${d.path.value}`,onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(m.value),1)]),_:1},8,["aria-label","data-testid"])],64)):h.value.length?(t.openBlock(),t.createBlock(t.unref(_e.KCard),{key:2,"data-testid":`ff-array-tab-container-${d.path.value}`},{default:t.withCtx(()=>[t.createVNode(pe,{modelValue:N.value,"onUpdate:modelValue":v[0]||(v[0]=H=>N.value=H),"data-testid":`ff-array-tabs-${d.path.value}`,tabs:b.value},t.createSlots({_:2},[t.renderList(h.value,(H,j)=>({name:t.unref(y)(H,j),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":j,"data-testid":`ff-array-item-${d.path.value}.${j}`},[A.$slots.item?t.renderSlot(A.$slots,"item",{key:0,autofocus:!0,fieldName:String(j),index:j},void 0,!0):(t.openBlock(),t.createBlock(Xe,{key:1,autofocus:"",name:String(j)},null,8,["name"]))],8,L2)])})),t.renderList(h.value,(H,j)=>({name:`${t.unref(y)(H,j)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(k(H,j))+" ",1),t.createVNode(R,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:p.value}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${d.path.value}.${j}`,icon:"",onClick:t.withModifiers(D=>w(j),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:1},8,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"])):t.createCommentVNode("",!0)],10,O2)),[[t.vShow,!t.unref(c)]])}}}),[["__scopeId","data-v-6f244a39"]]),xc=xe(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],r=Object.fromEntries(n.map(p=>[p,""])),o=Object.fromEntries(n.map(p=>[p,"0"]));function i(p){const m=getComputedStyle(p);return Object.fromEntries(n.map(h=>[h,m.getPropertyValue(h)]))}function a(p){["overflow","transition",...n].forEach(m=>p.style.removeProperty(m))}function s(p){Object.assign(p.style,{overflow:"hidden",transition:"none"})}function l(p){const m=p;Object.assign(m.style,r);const h=i(m);Object.assign(m.style,o),requestAnimationFrame(()=>{Object.assign(m.style,{...h,transition:""})})}function c(p){a(p)}function d(p){const m=p;Object.assign(m.style,{...i(m),overflow:"hidden"})}function u(p){Object.assign(p.style,o)}function f(p){a(p)}return(p,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:f,onBeforeEnter:s,onBeforeLeave:d,onEnter:l,onLeave:u},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-4969409d"]]),D2={class:"ff-entity-checks-list"},hw=xe(t.defineComponent({__name:"EntityChecksAlert",props:{entityChecks:{},visibleFields:{}},setup(e){const{i18n:{t:n}}=Oi(),r=t.computed(()=>{if(!Array.isArray(e.entityChecks)||e.entityChecks.length===0)return null;const a=[],s=[{key:"at_least_one_of",i18nKey:"plugins.form.field_rules.at_least_one_of"},{key:"mutually_required",i18nKey:"plugins.form.field_rules.mutually_required"},{key:"mutually_exclusive",i18nKey:"plugins.form.field_rules.mutually_exclusive"}];for(const l of e.entityChecks)for(const{key:c,i18nKey:d}of s)if(c in l){const u=l[c];if(Array.isArray(u)&&u.length>0){const f=i(u);f.length>0&&a.push(n(d,{parameters:o(f)}))}break}return a.length?a:null});function o(a){return a.map(Sc).join(", ")}function i(a){return Array.isArray(e.visibleFields)?a.filter(s=>e.visibleFields.includes(s.split(".")[0])):a}return(a,s)=>{const l=t.resolveComponent("KAlert");return r.value?(t.openBlock(),t.createBlock(l,{key:0,"data-testid":"ff-entity-checks-alert"},{default:t.withCtx(()=>[t.createElementVNode("ul",D2,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,c=>(t.openBlock(),t.createElementBlock("li",{key:c,"data-testid":"ff-entity-check-item"},t.toDisplayString(c),1))),128))])]),_:1})):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-374c59bc"]]),M2=["data-testid"],F2=["data-testid"],j2=["data-testid"],U2={class:"ff-object-field-header-toggle"},K2=["aria-controls","aria-expanded","aria-label","data-testid","disabled"],q2=["innerHTML"],G2=["data-testid"],z2={key:0,class:"indent-guide"},Rt=xe(t.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:t.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{default:"reset"},fieldsOrder:{},renderRules:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){const n=t.useId(),r=t.createPropsRestProxy(e,["defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,hide:i,...a}=$t(t.toRef(r,"name")),{getSchema:s,getDefault:l,useCurrentRenderRules:c}=lt(),d=c({fieldPath:a.path,rules:t.toRef(r,"renderRules"),omittedFields:t.toRef(()=>e.omit)}),u=t.useModel(e,"added"),f=t.useModel(e,"expanded"),p=t.computed(()=>{if(a.ancestors?.value){const C=a.ancestors.value.parent;if(C?.path)return s(C.path)?.type==="array"}return!1}),m=t.computed(()=>{if(a.ancestors?.value){const C=a.ancestors.value.parent;if(C?.path)return s(C.path)?.type==="map"}return!1}),h=Jt(a.path,{required:e.required,...r,resetLabelPath:e.resetLabelPath}),y=t.computed(()=>h.value.required?!0:u.value??e.defaultAdded),g=t.computed(()=>e.asChild!==void 0?e.asChild:p.value),_=t.computed(()=>{let C=a.schema.value.fields;return e.omit&&(C=C.filter(w=>!e.omit.includes(Object.keys(w)[0]))),e.fieldsOrder?rw(C,e.fieldsOrder):(d.value?.bundles&&(C=ow([...C],d.value.bundles)),C)}),k=t.computed(()=>_.value.map(C=>Object.keys(C)[0]));function b(){f.value=!f.value}function N(){u.value?o.value=l(a.path.value):o.value=a.emptyValue.value}return t.watch(y,C=>{e.collapsible&&(f.value=C)}),t.onBeforeMount(()=>{if(a.error||!o)return;const C=o.value!=null;u.value=C,(h.value.required||C)&&(f.value=!0)}),(C,w)=>{const S=t.resolveComponent("KAlert"),x=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(C.$slots[t.unref($o)]))),a.error?(t.openBlock(),t.createBlock(S,{key:0,appearance:"danger",message:a.error.message},null,8,["message"])):g.value?t.withDirectives((t.openBlock(),t.createElementBlock("div",t.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},C.$attrs,{"data-testid":`ff-object-${a.path.value}`}),[t.renderSlot(C.$slots,"default",{},()=>[t.createVNode(hw,{"entity-checks":a.schema.value?.entity_checks,"visible-fields":k.value},null,8,["entity-checks","visible-fields"]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,I=>(t.openBlock(),t.createBlock(Xe,{key:Object.keys(I)[0],name:Object.keys(I)[0]},null,8,["name"]))),128))],!0)],16,M2)),[[t.vShow,!t.unref(i)]]):t.withDirectives((t.openBlock(),t.createElementBlock("div",t.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!f.value}],"data-testid":`ff-object-${a.path.value}`},C.$attrs),[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${a.path.value}`},[t.createElementVNode("div",U2,[t.createElementVNode("button",{"aria-controls":t.unref(n),"aria-expanded":f.value,"aria-label":t.unref(h).label,class:"ff-object-field-toggle-btn","data-testid":`ff-object-toggle-btn-${a.path.value}`,disabled:!u.value,type:"button",onClick:t.withModifiers(b,["prevent","stop"])},[t.createVNode(t.unref(Ne.ChevronRightIcon),{class:t.normalizeClass(["ff-object-field-toggle-btn-trigger-icon",{"collapse-expanded":f.value}]),"data-testid":`ff-object-toggle-trigger-icon-${a.path.value}`,decorative:"",size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["class","data-testid","size"])],8,K2),m.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(_e.KLabel),t.mergeProps({key:0,class:"ff-object-field-label","data-testid":`ff-label-${a.path.value}`},{...t.unref(h),required:!1},{"tooltip-attributes":t.unref(h).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(h).label)+" ",1)]),_:2},[t.unref(h).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(h).labelAttributes.info},null,8,q2)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]))]),t.unref(h).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(x,{key:0,modelValue:u.value,"onUpdate:modelValue":[w[0]||(w[0]=I=>u.value=I),N],"data-testid":`ff-object-switch-${a.path.value}`},null,8,["modelValue","data-testid"]))],8,j2),t.createVNode(xc,null,{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${a.path.value}`},[t.renderSlot(C.$slots,"default",{},()=>[t.createVNode(hw,{"entity-checks":a.schema.value?.entity_checks,"visible-fields":k.value},null,8,["entity-checks","visible-fields"]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,I=>(t.openBlock(),t.createBlock(Xe,{key:Object.keys(I)[0],name:Object.keys(I)[0]},null,8,["name"]))),128))],!0)],8,G2)):t.createCommentVNode("",!0)]),_:3}),f.value?(t.openBlock(),t.createElementBlock("div",z2)):t.createCommentVNode("",!0)],16,F2)),[[t.vShow,!t.unref(i)]])],64)}}}),[["__scopeId","data-v-f47f0644"]]),H2={key:1,class:"ff-number-field-wrapper"},W2=["innerHTML"],Nt=xe(t.defineComponent({__name:"NumberField",props:{showVaultSecretPicker:{type:Boolean,default:()=>{}},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.createPropsRestProxy(e,["autofocus","showVaultSecretPicker","name"]),{value:o,hide:i,...a}=$t(t.toRef(()=>e.name)),s=Jt(a.path,r),{i18n:l}=Oi(),c=t.computed(()=>{const k=a.schema?.value;if(typeof k.gt=="number")return{min:k.type==="integer"?k.gt+1:k.gt};const[b,N]=k.between??[];return{min:r.min??b,max:r.max??N}}),d=n,u=o.value,f=t.computed(()=>{const k=o?.value;if(k==null||k==="")return"";if(g.value)return`${k}`;const b=typeof k=="number"?k:Number(k);return Number.isFinite(b)?`${b}`:""});function p(k){const b=m(k);u!==void 0&&k===""&&b!==u?(o.value=a.emptyValue.value,d("update:modelValue",a.emptyValue.value)):(o.value=b,d("update:modelValue",b))}function m(k){if(k==="")return a.emptyValue.value;const b=k.trim();if(b==="")return a.emptyValue.value;const N=Number(b);return Number.isFinite(N)?N:g.value?k:a.emptyValue.value}const h=t.inject(Je.AUTOFILL_SLOT,void 0),y=t.computed(()=>({referenceable:g.value})),g=t.computed(()=>e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!a.schema.value?.referenceable),_=t.computed(()=>g.value?"text":"number");return(k,b)=>{const N=t.resolveComponent("KAlert");return a.error?(t.openBlock(),t.createBlock(N,{key:0,appearance:"danger",message:a.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",H2,[t.createVNode(Pi,t.mergeProps({class:"ff-number-field"},{...t.unref(s),min:c.value.min,max:c.value.max},{"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${a.path.value}`,"model-value":f.value,type:_.value,"onUpdate:modelValue":p}),t.createSlots({_:2},[t.unref(s).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(k.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,W2)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value","type"]),t.unref(h)&&g.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(h)),{key:0,schema:y.value,update:p,value:t.unref(o)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),g.value&&!t.unref(h)?(t.openBlock(),t.createBlock(N,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${a.path.value}`,message:t.unref(l).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],512)),[[t.vShow,!t.unref(i)]])}}}),[["__scopeId","data-v-ba8e04d8"]]),Y2=["innerHTML"],St=xe(t.defineComponent({__name:"EnumField",props:t.mergeModels({labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},dropdownFooterPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean},autofocus:{type:Boolean},name:{}},{modelValue:{},modelModifiers:{}}),emits:t.mergeModels(["update"],["update:modelValue"]),setup(e,{emit:n}){const r=n,o=t.createPropsRestProxy(e,["name","items","multiple","autofocus"]),{getSelectItems:i}=lt(),{value:a,hide:s,...l}=$t(t.toRef(()=>e.name)),c=Jt(l.path,o);function d(h){if(c.value.required)return h;const y=p.value&&Array.isArray(h)&&h.length===0;return h==null||h===""||y?l.emptyValue.value:h}const u=t.useModel(e,"modelValue",{get:()=>p.value&&a?.value==null?[]:a.value,set:h=>{a.value=d(h)}}),f=t.computed(()=>e.items?e.items:l.path?i(l.path.value):[]),p=t.computed(()=>e.multiple!==void 0?e.multiple:l.schema.value?.type==="set"),m=t.computed(()=>p.value?_e.KMultiselect:_e.KSelect);return(h,y)=>{const g=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(g,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createBlock(t.unref(m),t.mergeProps({key:1},{...o,...t.unref(c)},{modelValue:u.value,"onUpdate:modelValue":[y[0]||(y[0]=_=>u.value=_),y[1]||(y[1]=_=>r("update",d(_)))],class:"ff-enum-field",clearable:!t.unref(c).required,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${l.path.value}`,items:f.value,"kpop-attributes":{"data-testid":`ff-enum-${l.path.value}-items`}}),t.createSlots({_:2},["tooltip"in h.$slots||t.unref(c).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,Y2)],!0)]),key:"0"}:void 0,h.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:_})=>[t.renderSlot(h.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(_)),void 0,!0)]),key:"1"}:void 0,h.$slots["dropdown-footer-text"]?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"dropdown-footer-text",{},void 0,!0)]),key:"2"}:void 0]),1040,["modelValue","clearable","data-autofocus","data-testid","items","kpop-attributes"])),[[t.vShow,!t.unref(s)]])}}}),[["__scopeId","data-v-c8901fca"]]),J2=["data-testid"],X2=["innerHTML"],yw=xe(t.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{labelAttributes:{},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),o=t.createPropsRestProxy(e,["autofocus","name"]),i=n,{value:a,hide:s,...l}=$t(t.toRef(()=>e.name)),c=Jt(l.path,t.toRef({...o,...r})),d=t.ref("");function u(p){d.value=p;let m=p===""?l.emptyValue.value:p;try{const h=JSON.parse(p);h&&typeof h=="object"&&(m=h)}catch{}a.value=m,i("update:modelValue",m)}const f=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:Vo(e.name)==="name");return t.watch(a,p=>{if(p&&typeof p=="object"){try{const m=JSON.parse(d.value);Kt(m,p)||(d.value=JSON.stringify(p,null,2))}catch{d.value=JSON.stringify(p,null,2)}return}d.value=p||""},{immediate:!0}),(p,m)=>{const h=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-json-${l.path.value}`},[t.createVNode(Pi,t.mergeProps(t.unref(c),{class:"ff-json-field","data-1p-ignore":f.value,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${l.path.value}`,"model-value":d.value??"",multiline:"","onUpdate:modelValue":u}),t.createSlots({_:2},[t.unref(c).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,X2)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,J2)),[[t.vShow,!t.unref(s)]])}}}),[["__scopeId","data-v-5614e8a5"]]),Z2=["innerHTML"],_w=xe(t.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{labelAttributes:{},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},showPasswordMaskToggle:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),{i18n:{t:o}}=Oi(),i=t.createPropsRestProxy(e,["autofocus","name"]),a=n,{value:s,hide:l,...c}=$t(t.toRef(()=>e.name));if(c.error)throw new Error(c.error.message);const d=Jt(c.path,t.toRef({...i,...r})),u=s.value?s.value.id:null,f=t.computed(()=>d.value.placeholder?d.value.placeholder:o("plugins.free-form.foreign_placeholder",{entity:c.schema.value?.reference??"entity"})),p=t.ref(u??"");function m(y){u!==void 0&&y===""&&y!==u?(s.value=c.emptyValue.value,a("update:modelValue",c.emptyValue.value)):(s.value={id:y.trim()},a("update:modelValue",s.value))}const h=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:Vo(e.name)==="name");return(y,g)=>t.withDirectives((t.openBlock(),t.createBlock(Pi,t.mergeProps(t.unref(d),{class:"ff-foreign-field","data-1p-ignore":h.value,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${c.path.value}`,error:e.error,"error-message":e.errorMessage,help:e.help,"model-value":p.value,placeholder:f.value,"onUpdate:modelValue":m}),t.createSlots({_:2},[t.unref(d).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,Z2)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])),[[t.vShow,!t.unref(l)]])}}),[["__scopeId","data-v-bb4fc991"]]),Q2=["data-testid"],eL=["data-testid"],tL=["innerHTML"],nL={class:"ff-map-field-item-content"},rL={class:"ff-map-field-fields"},_n=xe(t.defineComponent({__name:"MapField",props:{keyPlaceholder:{},appearance:{},oneLine:{type:Boolean},autofocus:{type:Boolean},name:{},labelAttributes:{}},emits:["legacyValueChange"],setup(e,{emit:n}){const{i18n:r}=Oi(),o=e,i=n,{keys:a,updateKey:s,addKey:l,removeKey:c,field:d,fieldDisplayName:u}=Ac(t.toRef(o,"name"),C),f=Jt(d.path,o),p=["string","number","boolean","integer","foreign"],m=t.computed(()=>o.oneLine?!0:d.schema?.value?.type==="map"&&p.includes(d.schema.value.values.type)&&!o.appearance?.string?.multiline),h=t.computed(()=>d.schema?.value?.type==="map"?d.schema.value.values:void 0),y=t.computed(()=>h.value?.type==="string"&&!h.value?.one_of),g=t.computed(()=>m.value?"div":_e.KCard),_=t.useTemplateRef("root");function k(w,S){o.appearance?.string?.multiline||(w.preventDefault(),S===a.value.length-1&&l(),b(S+1))}async function b(w){_.value&&(await t.nextTick(),_.value.querySelector(`[data-key-input="${w}"]`)?.focus())}function N(){l();const w=a.value.findIndex(([S,x])=>!x);b(w===-1?a.value.length-1:w)}function C(w){i("legacyValueChange",w)}return(w,S)=>{const x=t.resolveComponent("KAlert"),I=t.resolveComponent("KLabel"),T=t.resolveComponent("KButton"),A=t.resolveComponent("KTooltip");return t.unref(d).error?(t.openBlock(),t.createBlock(x,{key:0,appearance:"danger",message:t.unref(d).error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:_,class:"ff-map-field","data-testid":`ff-map-${t.unref(d).path.value}`},[t.unref(f).label?(t.openBlock(),t.createElementBlock("header",{key:0,class:"ff-map-field-header","data-testid":`ff-map-header-${t.unref(d).path.value}`},[t.createVNode(I,t.mergeProps({class:"ff-map-field-label"},t.unref(f).labelAttributes,{"data-testid":`ff-label-${t.unref(d).path.value}`,required:t.unref(f).required,"tooltip-attributes":t.unref(f).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(f).label)+" ",1)]),_:2},[t.unref(f).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(w.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(f).labelAttributes.info},null,8,tL)],!0)]),key:"0"}:void 0]),1040,["data-testid","required","tooltip-attributes"])],8,eL)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),([v,P],O)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.value),{key:v,class:t.normalizeClass(["ff-map-field-item",{"ff-map-field-item-simple":m.value,"ff-map-field-item-complex":!m.value}]),"data-testid":`ff-map-container-${t.unref(d).path.value}.${O}`},{default:t.withCtx(()=>[t.createElementVNode("div",nL,[t.createElementVNode("div",rL,[t.createVNode(Pi,{class:"ff-map-field-fields-key","data-key-input":O,"data-testid":`ff-map-key-${t.unref(d).path.value}.${O}`,"model-value":P,placeholder:e.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(R=>b(O),["prevent"]),["enter"]),"onUpdate:modelValue":R=>t.unref(s)(v,R)},null,8,["data-key-input","data-testid","model-value","placeholder","onKeydown","onUpdate:modelValue"]),t.renderSlot(w.$slots,"default",{keyId:v},()=>[y.value?(t.openBlock(),t.createBlock(Me,{key:0,"inline-vault-picker":"",multiline:e.appearance?.string?.multiline,name:v,onKeydown:t.withKeys(R=>k(R,O),["enter"])},null,8,["multiline","name","onKeydown"])):(t.openBlock(),t.createBlock(Xe,{key:1,name:v},null,8,["name"]))],!0)]),t.createVNode(A,{text:t.unref(r).t("actions.remove_entity",{entity:t.unref(u)})},{default:t.withCtx(()=>[t.createVNode(T,{appearance:"tertiary","aria-label":t.unref(r).t("actions.remove_entity",{entity:t.unref(u)}),"data-testid":`ff-map-remove-btn-${t.unref(d).path.value}.${O}`,icon:"",onClick:R=>t.unref(c)(v)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["text"])])]),_:2},1032,["class","data-testid"]))),128)),t.createVNode(T,{appearance:"tertiary","aria-label":t.unref(r).t("actions.add_entity",{entity:t.unref(u)}),class:"ff-map-field-add-entry-btn","data-testid":`ff-map-add-btn-${t.unref(d).path.value}`,onClick:N},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(r).t("actions.add_entity",{entity:t.unref(u)})),1)]),_:1},8,["aria-label","data-testid"])],8,Q2)),[[t.vShow,!t.unref(d).hide.value]])}}}),[["__scopeId","data-v-1431df84"]]),Xe=t.defineComponent({name:"AutoField",__name:"Field",props:{autofocus:{type:Boolean},name:{},labelAttributes:{}},emits:["globalAction"],setup(e){const n=e,r=$t(t.toRef(n,"name")),o=t.computed(()=>{switch(r.schema?.value?.type){case"string":return"one_of"in r.schema.value?St:Me;case"boolean":return"one_of"in r.schema.value?St:en;case"number":case"integer":return"one_of"in r.schema.value?St:Nt;case"array":return dt;case"set":return l2(r.schema)?Lo:St;case"record":return Rt;case"map":return _n;case"json":return yw;case"foreign":return _w;default:return}});return(i,a)=>{const s=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref($o)]))),t.unref(r).error?(t.openBlock(),t.createBlock(s,{key:0,appearance:"danger",message:t.unref(r).error.message},null,8,["message"])):t.unref(r).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(r).renderer.value),{key:1,autofocus:n.autofocus,name:Tp(t.unref(r).path.value),onGlobalAction:a[0]||(a[0]=(l,c)=>i.$emit("globalAction",l,c))},null,40,["autofocus","name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[o.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value),{key:0,autofocus:n.autofocus,name:Tp(t.unref(r).path.value)},null,8,["autofocus","name"])):(t.openBlock(),t.createBlock(s,{key:1,appearance:"warning",message:`${t.unref(r).path.value} ${t.unref(r).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}});var _t=Symbol("NOT_RESOLVED");function tn(e,n){return{tagName:e,nodeKind:"scalar",implicit:n.implicit??!1,matchByTagPrefix:n.matchByTagPrefix??!1,implicitFirstChars:n.implicitFirstChars??null,resolve:n.resolve,identify:n.identify,represent:n.represent??(r=>String(r)),representTagName:n.representTagName??(()=>e)}}function Fp(e,n){const r=n.finalize===void 0;return{tagName:e,nodeKind:"sequence",implicit:!1,matchByTagPrefix:n.matchByTagPrefix??!1,create:n.create,addItem:n.addItem,finalize:n.finalize??(o=>o),carrierIsResult:r,identify:n.identify,represent:n.represent??(o=>o),representTagName:n.representTagName??(()=>e)}}function Ic(e,n){const r=n.finalize===void 0;return{tagName:e,nodeKind:"mapping",implicit:!1,matchByTagPrefix:n.matchByTagPrefix??!1,create:n.create,addPair:n.addPair,has:n.has,keys:n.keys,get:n.get,finalize:n.finalize??(o=>o),carrierIsResult:r,identify:n.identify,represent:n.represent??(o=>o),representTagName:n.representTagName??(()=>e)}}var oL=tn("tag:yaml.org,2002:str",{resolve:e=>e,identify:e=>typeof e=="string"}),iL=["","~","null","Null","NULL"],aL=tn("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:e=>iL.indexOf(e)!==-1?null:_t,identify:e=>e===null,represent:()=>"null"}),sL=tn("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["n"],resolve:(e,n)=>e==="null"||n&&e===""?null:_t,identify:e=>e===null,represent:()=>"null"}),lL=["","~","null","Null","NULL"],cL=tn("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:e=>lL.indexOf(e)!==-1?null:_t,identify:e=>e===null,represent:()=>"null"}),dL=["true","True","TRUE"],uL=["false","False","FALSE"],fL=tn("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","T","f","F"],resolve:e=>dL.indexOf(e)!==-1?!0:uL.indexOf(e)!==-1?!1:_t,identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"}),pL=["true"],mL=["false"],gL=tn("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","f"],resolve:e=>pL.indexOf(e)!==-1?!0:mL.indexOf(e)!==-1?!1:_t,identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"}),hL=["true","True","TRUE","y","Y","yes","Yes","YES","on","On","ON"],yL=["false","False","FALSE","n","N","no","No","NO","off","Off","OFF"],_L=tn("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["y","Y","n","N","t","T","f","F","o","O"],resolve:e=>hL.indexOf(e)!==-1?!0:yL.indexOf(e)!==-1?!1:_t,identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"}),bL=new RegExp("^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$"),kL=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function wL(e){let n=e,r=1;return(n[0]==="-"||n[0]==="+")&&(n[0]==="-"&&(r=-1),n=n.slice(1)),n.startsWith("0b")?r*parseInt(n.slice(2),2):n.startsWith("0o")?r*parseInt(n.slice(2),8):n.startsWith("0x")?r*parseInt(n.slice(2),16):r*parseInt(n,10)}function CL(e,n){if(n){if(!kL.test(e))return _t}else if(!bL.test(e))return _t;const r=wL(e);return Number.isFinite(r)?r:_t}var bw=tn("tag:yaml.org,2002:int",{implicit:!0,implicitFirstChars:["-","+",..."0123456789"],resolve:CL,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)}),EL=new RegExp("^-?(?:0|[1-9][0-9]*)$"),NL=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function SL(e){let n=e,r=1;return(n[0]==="-"||n[0]==="+")&&(n[0]==="-"&&(r=-1),n=n.slice(1)),n.startsWith("0b")?r*parseInt(n.slice(2),2):n.startsWith("0o")?r*parseInt(n.slice(2),8):n.startsWith("0x")?r*parseInt(n.slice(2),16):r*parseInt(n,10)}function AL(e,n){if(n){if(!NL.test(e))return _t}else if(!EL.test(e))return _t;const r=SL(e);return Number.isFinite(r)?r:_t}var xL=tn("tag:yaml.org,2002:int",{implicit:!0,implicitFirstChars:["-",..."0123456789"],resolve:AL,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)}),IL=new RegExp("^(?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?0x[0-9a-fA-F_]+|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+|[-+]?(?:0|[1-9][0-9_]*))$");function vL(e){let n=e.replace(/_/g,""),r=1;if((n[0]==="-"||n[0]==="+")&&(n[0]==="-"&&(r=-1),n=n.slice(1)),n.startsWith("0b"))return r*parseInt(n.slice(2),2);if(n.startsWith("0x"))return r*parseInt(n.slice(2),16);if(n.includes(":")){let o=0;for(const i of n.split(":"))o=o*60+Number(i);return r*o}return n!=="0"&&n[0]==="0"?r*parseInt(n,8):r*parseInt(n,10)}function TL(e){if(!IL.test(e))return _t;const n=vL(e);return Number.isFinite(n)?n:_t}var jp=tn("tag:yaml.org,2002:int",{implicit:!0,implicitFirstChars:["-","+",..."0123456789"],resolve:TL,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)}),BL=new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),OL=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function PL(e){if(!BL.test(e))return _t;let n=e.toLowerCase();const r=n[0]==="-"?-1:1;if("+-".includes(n[0])&&(n=n.slice(1)),n===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(n===".nan")return NaN;const o=r*parseFloat(n);return Number.isFinite(o)||OL.test(e)?o:_t}function VL(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const n=e.toString(10);return/^[-+]?[0-9]+e/.test(n)?n.replace("e",".e"):n}var kw=tn("tag:yaml.org,2002:float",{implicit:!0,implicitFirstChars:["-","+",".",..."0123456789"],resolve:PL,identify:e=>typeof e=="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:VL}),$L=new RegExp("^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$"),RL=new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function LL(e,n){if(n){if(!RL.test(e))return _t;let o=e.toLowerCase();const i=o[0]==="-"?-1:1;if("+-".includes(o[0])&&(o=o.slice(1)),o===".inf")return i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(o===".nan")return NaN;const a=i*parseFloat(o);return Number.isFinite(a)?a:_t}if(!$L.test(e))return _t;const r=Number(e);return Number.isFinite(r)?r:_t}function DL(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const n=e.toString(10);return/^[-+]?[0-9]+e/.test(n)?n.replace("e",".e"):n}var ML=tn("tag:yaml.org,2002:float",{implicit:!0,implicitFirstChars:["-",..."0123456789"],resolve:LL,identify:e=>typeof e=="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:DL}),FL=new RegExp("^(?:[-+]?(?:(?:[0-9][0-9_]*)?\\.[0-9_]*)(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),jL=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function UL(e){if(!FL.test(e))return _t;let n=e.toLowerCase().replace(/_/g,"");const r=n[0]==="-"?-1:1;if("+-".includes(n[0])&&(n=n.slice(1)),n===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(n===".nan")return NaN;let o=0;if(n.includes(":")){for(const i of n.split(":"))o=o*60+Number(i);o*=r}else o=r*parseFloat(n);return Number.isFinite(o)||jL.test(e)?o:_t}function KL(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const n=e.toString(10);return/^[-+]?[0-9]+e/.test(n)?n.replace("e",".e"):n}var Up=tn("tag:yaml.org,2002:float",{implicit:!0,implicitFirstChars:["-","+",".",..."0123456789"],resolve:UL,identify:e=>typeof e=="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:KL}),qL=tn("tag:yaml.org,2002:merge",{implicit:!0,implicitFirstChars:["<"],resolve:(e,n)=>e==="<<"||n&&e===""?"<<":_t,identify:()=>!1}),GL=/^[A-Za-z0-9+/]*={0,2}$/;function zL(e){const n=e.replace(/\s/g,"");if(n.length%4!==0||!GL.test(n))return _t;const r=atob(n),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i);return o}function HL(e){let n="";for(let r=0;r<e.length;r++)n+=String.fromCharCode(e[r]);return btoa(n)}var WL=tn("tag:yaml.org,2002:binary",{resolve:zL,identify:e=>Object.prototype.toString.call(e)==="[object Uint8Array]",represent:HL}),YL=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),JL=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function ww(e,n,r,o=0,i=0,a=0,s=0){const l=new Date(Date.UTC(e,n,r,o,i,a,s));return l.setUTCFullYear(e,n,r),l}function XL(e){let n=YL.exec(e);if(n===null&&(n=JL.exec(e)),n===null)return _t;const r=+n[1],o=+n[2]-1,i=+n[3];if(!n[4]){const u=ww(r,o,i);return u.getUTCFullYear()!==r||u.getUTCMonth()!==o||u.getUTCDate()!==i?_t:u}const a=+n[4],s=+n[5],l=+n[6];let c=0;if(a>23||s>59||l>59)return _t;if(n[7]){let u=n[7].slice(0,3);for(;u.length<3;)u+="0";c=+u}const d=ww(r,o,i,a,s,l,c);if(d.getUTCFullYear()!==r||d.getUTCMonth()!==o||d.getUTCDate()!==i)return _t;if(n[9]){const u=+n[10],f=+(n[11]||0);if(u>23||f>59)return _t;const p=(u*60+f)*6e4;d.setTime(d.getTime()-(n[9]==="-"?-p:p))}return d}var ZL=tn("tag:yaml.org,2002:timestamp",{implicit:!0,implicitFirstChars:[..."0123456789"],resolve:XL,identify:e=>e instanceof Date,represent:e=>e.toISOString()}),QL=Fp("tag:yaml.org,2002:seq",{create:()=>[],addItem:(e,n)=>{e.push(n)},identify:Array.isArray});function vc(e){if(e===null||typeof e!="object"||Array.isArray(e))return!1;const n=Object.getPrototypeOf(e);return n===null||n===Object.prototype}function Kp(e,n){const r={};for(const o of n)e[o]!==void 0&&(r[o]=e[o]);return r}var eD=Fp("tag:yaml.org,2002:omap",{create:()=>({list:[],seen:new Set}),addItem:(e,n)=>{let r;if(n instanceof Map){if(n.size!==1)return"cannot resolve an ordered map item";r=n.keys().next().value}else if(vc(n)){const o=Object.keys(n);if(o.length!==1)return"cannot resolve an ordered map item";r=o[0]}else return"cannot resolve an ordered map item";return e.seen.has(r)?"duplicate key in ordered map":(e.seen.add(r),e.list.push(n),"")},finalize:e=>e.list,identify:()=>!1}),tD=Fp("tag:yaml.org,2002:pairs",{create:()=>[],addItem:(e,n)=>{if(n instanceof Map)return n.size!==1?"cannot resolve a pairs item":(e.push(n.entries().next().value),"");if(Object.prototype.toString.call(n)!=="[object Object]")return"cannot resolve a pairs item";const r=n,o=Object.keys(r);return o.length!==1?"cannot resolve a pairs item":(e.push([o[0],r[o[0]]]),"")},identify:()=>!1}),nD=Ic("tag:yaml.org,2002:map",{create:()=>({}),identify:vc,represent:e=>{const n=new Map;for(const r of Object.keys(e))n.set(r,e[r]);return n},addPair:(e,n,r)=>{if(n!==null&&typeof n=="object")return"object-based map does not support complex keys";const o=String(n);return o==="__proto__"?Object.defineProperty(e,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[o]=r,""},has:(e,n)=>n!==null&&typeof n=="object"?!1:Object.prototype.hasOwnProperty.call(e,String(n)),keys:e=>Object.keys(e),get:(e,n)=>{const r=String(n);return Object.prototype.hasOwnProperty.call(e,r)?e[r]:null}}),rD=Ic("tag:yaml.org,2002:set",{create:()=>new Set,identify:e=>e instanceof Set,represent:e=>{const n=new Map;for(const r of e)n.set(r,null);return n},addPair:(e,n,r)=>r!==null?"cannot resolve a set item":(e.add(n),""),has:(e,n)=>e.has(n),keys:e=>e.keys(),get:()=>null});function oD(){return{scalar:Object.create(null),sequence:Object.create(null),mapping:Object.create(null)}}function iD(){return{scalar:[],sequence:[],mapping:[]}}function aD(e){const n=[];for(const r of e){let o=n.length;for(let i=0;i<n.length;i++){const a=n[i];if(a.nodeKind===r.nodeKind&&a.tagName===r.tagName&&a.matchByTagPrefix===r.matchByTagPrefix){o=i;break}}n[o]=r}return n}var Tc=class NS{tags;implicitScalarTags;implicitScalarByFirstChar;implicitScalarAnyFirstChar;defaultScalarTag;defaultSequenceTag;defaultMappingTag;exact;prefix;constructor(n){const r=aD(n),o=[],i=oD(),a=iD();for(const u of r){if(u.nodeKind==="scalar"&&u.implicit){if(u.matchByTagPrefix)throw new Error("Implicit scalar tags cannot match by tag prefix");o.push(u)}switch(u.nodeKind){case"scalar":u.matchByTagPrefix?a.scalar.push(u):i.scalar[u.tagName]=u;break;case"sequence":u.matchByTagPrefix?a.sequence.push(u):i.sequence[u.tagName]=u;break;case"mapping":u.matchByTagPrefix?a.mapping.push(u):i.mapping[u.tagName]=u;break}}const s=o.filter(u=>u.implicitFirstChars===null),l=new Set;for(const u of o)if(u.implicitFirstChars!==null)for(const f of u.implicitFirstChars)l.add(f);const c=new Map;for(const u of l)c.set(u,o.filter(f=>f.implicitFirstChars===null||f.implicitFirstChars.indexOf(u)!==-1));const d=i.scalar["tag:yaml.org,2002:str"];if(!d)throw new Error("schema does not define the default scalar tag (tag:yaml.org,2002:str)");this.tags=r,this.implicitScalarTags=o,this.implicitScalarByFirstChar=c,this.implicitScalarAnyFirstChar=s,this.defaultScalarTag=d,this.defaultSequenceTag=i.sequence["tag:yaml.org,2002:seq"],this.defaultMappingTag=i.mapping["tag:yaml.org,2002:map"],this.exact=i,this.prefix=a}lookupScalarTag(n){const r=this.exact.scalar[n];if(r)return r;for(const o of this.prefix.scalar)if(n.startsWith(o.tagName))return o}lookupSequenceTag(n){const r=this.exact.sequence[n];if(r)return r;for(const o of this.prefix.sequence)if(n.startsWith(o.tagName))return o}lookupMappingTag(n){const r=this.exact.mapping[n];if(r)return r;for(const o of this.prefix.mapping)if(n.startsWith(o.tagName))return o}resolveImplicitScalarTag(n){const r=this.implicitScalarByFirstChar.get(n.charAt(0))??this.implicitScalarAnyFirstChar;for(const i of r){const a=i.resolve(n,!1,i.tagName);if(a!==_t)return{value:a,tag:i}}const o=this.defaultScalarTag;return{value:o.resolve(n,!1,o.tagName),tag:o}}withTags(...n){let r=[];for(const o of n)r=r.concat(o);return new NS([...this.tags,...r])}},qp=new Tc([oL,QL,nD]),Do=new Tc([...qp.tags,sL,gL,xL,ML]),sD=new Tc([...qp.tags,aL,fL,bw,kw]),lD=new Tc([...qp.tags,cL,_L,jp,Up,ZL,qL,WL,eD,tD,rD]),cD=lD.withTags({...jp,resolve:(e,n,r)=>{const o=jp.resolve(e,n,r);return o===_t?bw.resolve(e,n,r):o}},{...Up,resolve:(e,n,r)=>{const o=Up.resolve(e,n,r);return o===_t?kw.resolve(e,n,r):o}});Ic("tag:yaml.org,2002:map",{create:()=>new Map,addPair:(e,n,r)=>(e.set(n,r),""),has:(e,n)=>e.has(n),keys:e=>e.keys(),get:(e,n)=>e.get(n),identify:e=>e instanceof Map||vc(e),represent:e=>{if(e instanceof Map)return e;const n=new Map,r=e;for(const o of Object.keys(r))n.set(o,r[o]);return n}});function Cw(e){if(Array.isArray(e)){const n=Array.prototype.slice.call(e);for(let r=0;r<n.length;r++){if(Array.isArray(n[r]))return null;typeof n[r]=="object"&&Object.prototype.toString.call(n[r])==="[object Object]"&&(n[r]="[object Object]")}return String(n)}return typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"?"[object Object]":String(e)}Ic("tag:yaml.org,2002:map",{create:()=>({}),identify:vc,represent:e=>{const n=new Map;for(const r of Object.keys(e))n.set(r,e[r]);return n},addPair:(e,n,r)=>{const o=Cw(n);return o===null?"nested arrays are not supported inside keys":(o==="__proto__"?Object.defineProperty(e,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[o]=r,"")},has:(e,n)=>{const r=Cw(n);return r!==null&&Object.prototype.hasOwnProperty.call(e,r)},keys:e=>Object.keys(e),get:(e,n)=>{const r=String(n);return Object.prototype.hasOwnProperty.call(e,r)?e[r]:null}});var dD={maxLength:79,indent:1,linesBefore:3,linesAfter:2};function Gp(e,n,r,o,i){let a="",s="";const l=Math.floor(i/2)-1;return o-n>l&&(a=" ... ",n=o-l+a.length),r-o>l&&(s=" ...",r=o+l-s.length),{str:a+e.slice(n,r).replace(/\t/g,"→")+s,pos:o-n+a.length}}function zp(e,n){return" ".repeat(Math.max(n-e.length,0))+e}function uD(e,n){if(!e.buffer)return null;const r={...dD,...n},o=/\r?\n|\r|\0/g,i=[0],a=[];let s,l=-1;for(;s=o.exec(e.buffer);)a.push(s.index),i.push(s.index+s[0].length),e.position<=s.index&&l<0&&(l=i.length-2);l<0&&(l=i.length-1);let c="";const d=Math.min(e.line+r.linesAfter,a.length).toString().length,u=r.maxLength-(r.indent+d+3);for(let p=1;p<=r.linesBefore&&!(l-p<0);p++){const m=Gp(e.buffer,i[l-p],a[l-p],e.position-(i[l]-i[l-p]),u);c=`${" ".repeat(r.indent)}${zp((e.line-p+1).toString(),d)} | ${m.str}
17
+ ${v}`)}if(x.has(T))return;x.add(T),I.push(T);const A=C.dependencies[T];if(A){const[v]=A;C.dependencies[v]&&S(v)}I.pop()};const x=new Set,I=[];S(w)}}function d(b,N){const C=b.map(S=>N?yt(N,S):S),w=yn(C[0]);return w.pop(),yt(...w)}function u(b,N){if(!N)return b;const C=`${N}${ps}`;return b.startsWith(C)?b.slice(C.length):b}function f(b){const N=yn(b);return N.pop(),yt(...N)}function p(){const b={};for(const[N,C]of Object.entries(r.value)){const w=N===ro?"":N;if(C.bundles)for(const S of C.bundles){if(S.length<2)throw new Error(`Bundle must contain at least 2 fields. Found ${S.length} field(s) in bundle: [${S.join(", ")}]`);const x=S.map(A=>w?yt(w,A):A);s(x,`Bundle [${S.join(", ")}]`);const I=d(S,w)||ro;b[I]||(b[I]={}),b[I].bundles||(b[I].bundles=[]);const T=x.map(A=>u(A,I));b[I].bundles.push(T)}if(C.dependencies)for(const[S,[x,I]]of Object.entries(C.dependencies)){const T=w?yt(w,S):S,A=w?yt(w,x):x;s([T,A],`Dependency '${S}' -> '${x}'`);const v=f(T)||ro;b[v]||(b[v]={}),b[v].dependencies||(b[v].dependencies={});const P=u(T,v),O=u(A,v);b[v].dependencies[P]=[O,I]}}return l(b),c(b),b}const m=t.computed(()=>{try{return p()}catch(b){return console.error("Invalid render rules:",b instanceof Error?b.message:String(b)),{}}});function h(b){if(!b)return m.value;const N=Ro(b,e());return m.value[N]}function y(b){let N=!1;return t.computed(()=>{if(N)return;const C=t.toValue(b);try{return h(C)}catch(w){N=!0,console.error(`Failed to get render rules for path: \`${C}\`,`,w instanceof Error?w.message:"");return}})}const g=t.computed(()=>Object.values(m.value).some(b=>b.dependencies&&Object.keys(b.dependencies).length>0));function _(b){const{fieldPath:N,rules:C,omittedFields:w}=b,S=ns("omit-");t.watch([()=>t.toValue(C),()=>t.toValue(N),()=>t.toValue(w)],([I,T,A],[,v])=>{I?r.value[T]=I:delete r.value[T],i(T,S,A),v&&v!==T&&(delete r.value[v],a(v,S))},{immediate:!0,deep:!0});const x=y(N);return t.onBeforeUnmount(()=>{const I=t.toValue(N);delete r.value[I],a(I,S)}),x}function k(b){const N=yn(b);if(!N.length)return!1;const C=N[N.length-1],w=yt(...N.slice(0,-1)),S=o.value[w];if(S){const O=Object.values(S);if(O.length&&O.every(R=>R.includes(C)))return!1}const x=w===""?ro:Ro(w,e()),I=m.value[x]?.dependencies?.[C];if(!I)return!1;const[T,A]=I,v=w?yt(w,T):T,P=xo(n(),yn(v));return!m2(P,A)}return{useCurrentRules:_,createComputedRules:y,hasDependencies:g,isFieldHidden:k}}let h2=0;function y2(){return`kid:${++h2}`}function _2(e){const n=t.reactive(new Map);function r(d=""){const u=y2();return n.set(u,d),u}function o(d){return n.get(d)}function i(d,u){n.has(d)&&n.set(d,u)}function a(d){n.delete(d)}function s(d){return b2(d,e,r)}function l(d){return k2(d,e,o)}function c(){n.clear()}return{createKey:r,getKey:o,updateKey:i,deleteKey:a,serialize:s,deserialize:l,clear:c}}function b2(e,n,r){const o=(i,a)=>{if(i==null||typeof i!="object")return i;if(Array.isArray(i))return i.map((c,d)=>{const u=a?yt(a,`${d}`):`${d}`;return o(c,u)});if((a?n(a):n())?.type==="map"){const c=i,d={};return Object.keys(c).forEach(u=>{const f=r(u),p=c[u],m=a?yt(a,u):u;d[f]=o(p,m)}),d}const l={};return Object.keys(i).forEach(c=>{const d=a?yt(a,c):c;l[c]=o(i[c],d)}),l};return o(e)}function k2(e,n,r){const o=(i,a)=>{if(i==null||typeof i!="object")return i;if(Array.isArray(i))return i.map((c,d)=>{const u=a?yt(a,`${d}`):`${d}`;return o(c,u)});if((a?n(a):n())?.type==="map"){const c=i,d={};return Object.keys(c).forEach(u=>{const f=u,p=c[f],m=r(f);if(m==null){console.error(`[FreeForm] Missing name for key ID: ${String(f)}`);return}const h=m||vp,y=a?yt(a,h):h;d[m]=o(p,y)}),d}const l={};return Object.keys(i).forEach(c=>{const d=a?yt(a,c):c;l[c]=o(i[c],d)}),l};return o(e)}function w2(e){return/^kid:\d+$/.test(e)}const[cw,dw]=Ot.createInjectionState(function(n){const{schema:r,propsData:o,onChange:i,propsRenderRules:a,propsConfig:s}=n,{getDefault:l,getEmptyOrDefault:c,...d}=lw(r,()=>t.toValue(s)),u=_2(d.getSchema),f=new Map,p=t.reactive({}),m=t.toRef(()=>t.toValue(s)??{}),h=t.useSlots();t.provide(Cc,eo(h,"default",$o));const{useCurrentRules:y,createComputedRules:g,hasDependencies:_,isFieldHidden:k}=g2(d.getSchemaMap,()=>p),b=y({fieldPath:ro,rules:a});function N(v){Object.keys(p).forEach(P=>{delete p[P]}),u.clear(),Object.assign(p,u.serialize(v))}function C(v){let P;!v||!w(t.toValue(v))?P=l():P=es(t.toValue(v)),Ul(m.value.prepareFormData)?N(m.value.prepareFormData(P)):N(P)}function w(v){return Ul(m.value.hasValue)?m.value.hasValue(v):!!v}function S(){const v=es(t.toValue(p));return _.value&&nw(v,k,c),u.deserialize(v)}t.watch(p,()=>{i?.(S())},{deep:!0});let x=!1;t.watch(()=>o?.value,v=>{x&&Kt(S(),t.toValue(v))||(C(v),x=!0)},{deep:!0,immediate:!0});function I(v){return v!=null&&typeof v=="object"&&!Array.isArray(v)?u.serialize(v):v}function T(v){return I(l(v))}function A(v){return I(c(v))}return{formData:p,schema:r,config:m,fieldRendererRegistry:f,setValue:N,useCurrentRenderRules:y,rootRenderRules:b,createComputedRenderRules:g,...d,getValue:S,isFieldHidden:k,keyIdMap:u,getDefault:T,getEmptyOrDefault:A}});function lt(){const e=dw();if(!e)throw new Error("useFormShared() called without provider.");return e}const Rp=e=>{const n=t.inject(Pp,t.computed(()=>"")),r=t.computed(()=>{const o=t.toValue(e);let i=o;return!tw(o)&&n.value&&(i=yt(n.value,o)),tw(o)&&(i=i.slice(Tp("").length)),i});return t.provide(Pp,r),r},uw=e=>{const{getSchema:n,getSchemaMap:r,fieldRendererRegistry:o}=lt(),{default:i,...a}=t.useSlots(),s=t.inject(Cc),l=[$o,"item","label","tooltip"],c=t.computed(()=>{const d=t.toValue(s),u=r(),f=Object.keys(a).filter(p=>!l.includes(p)).reduce((p,m)=>{const h=Ro(yt(t.toValue(e),m),u);return{...p,[h]:a[m]}},{});return d?{...d,...f}:f});return t.provide(Cc,c),t.computed(()=>{if(i)return;const d=t.toValue(e),u=c.value[Ro(d,r())];if(u)return u;const f=r();for(const[p,m]of o){const h=Ro(d,f);if(p({path:d,genericPath:h,schema:n(d)}))return m}})};function Ec(e){const{formData:n}=lt(),r=Rp(e);return{value:t.computed({get:()=>xo(n,yn(r.value)),set:i=>zf(n,yn(r.value),i)})}}function $t(e){const{getSchema:n,isFieldHidden:r,getEmptyOrDefault:o,getEmptyValue:i}=lt(),a=Rp(e),s=uw(a),{value:l}=Ec(e),c=t.computed(()=>n(a.value)),d=t.computed(()=>r(a.value)),u=t.computed(()=>o(a.value)),f=t.computed(()=>i());return c.value?{schema:c,path:a,renderer:s,value:l,ancestors:Op(a),hide:d,emptyOrDefaultValue:u,emptyValue:f,error:null}:{error:new Error(`path '${a.value}' is not found in schema.`)}}function Nc(e,n){const r=new WeakMap,o=new Map;function i(){return ns(`${e}-`)}function a(s,l){if(s==null||typeof s!="object")return`${e}-${l}`;if(r.has(s))return r.get(s);const c=o.has(l)?o.get(l):i();return o.set(l,c),r.set(s,c),c}return t.watch(n,s=>{const l=t.toValue(s),c=new Set;l.forEach((d,u)=>{c.add(u)}),Array.from(o.keys()).forEach(d=>{c.has(d)||o.delete(d)})},{immediate:!0,deep:!0}),{getKey:a}}function fw(e,n){t.watch(e,r=>{window[Ci]||(window[Ci]={}),window[Ci][n]=t.toRaw(r)},{immediate:!0,deep:!0}),t.onUnmounted(()=>{window[Ci]&&delete window[Ci][n]})}const C2={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP",https:"HTTPS",api:"API",uri:"URI",jq:"jq",vpn:"VPN",id:"ID",llm:"LLM",tls:"TLS",tcp:"TCP",udp:"UDP",lua:"Lua",jwt:"JWT",aws:"AWS",gcp:"GCP",azure:"Azure",acl:"ACL",acls:"ACLs",cookie:"Cookie",ai:"AI",awsgateway:"AWS Gateway",imds:"IMDS",sts:"STS",arn:"ARN",json:"JSON",traceid:"TraceID",dmq:"DMQ",ca:"CA",dpop:"DPoP",hs:"HS",jwk:"JWK",jwks:"JWKS",memcached:"Memcached",mtls:"mTLS",redis:"Redis",uris:"URIs"};function Lp(e){return C2[e.toLocaleLowerCase()]??e}function Dp(e){return e.split("_").map(Lp).join(" ")}function pw(e,n){const r=t.inject(Vp,{parentPath:null,isolate:!1}),{parentPath:o,isolate:i}=t.toValue(r),a=t.ref(o?yt(o,e):e),s=t.ref({parentPath:a.value,isolate:i});return t.watch([t.toRef(n),t.toRef(r)],([l,c])=>{const{parentPath:d,isolate:u}=c,f=d?yt(d,e):e;l?{isolate:()=>{a.value=e,s.value.isolate=!0,s.value.parentPath=null},"isolate-children":()=>{s.value.isolate=!0,s.value.parentPath=null},reset:()=>{a.value=e,s.value.isolate=!1,s.value.parentPath=null},"reset-children":()=>{s.value.isolate=!1,s.value.parentPath=null},inherit:()=>{a.value=f,s.value.isolate=!1,s.value.parentPath=f}}[l]?.():u&&(a.value=e,s.value.isolate=!0,s.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(Vp,s),a}function Sc(e){return yn(e).map(r=>r.split("_").map(Lp).join(" ")).map(v_).join(" › ")}function mw(e,n){const r=t.toValue(e),o=Vo(r),{config:i,getSchema:a}=lt(),s=pw(o,n),l=Op(e);return t.computed(()=>{const c=s.value??o,d=l.value.parent?.path?a(l.value.parent.path):null,u=d?.type==="array",f=d?.type==="map";if(u||f)return"";const p=Sc(c);return i.value.transformLabel?i.value.transformLabel(p,r):p})}function Jt(e,n){const{getLabelAttributes:r,getPlaceholder:o,getSchema:i}=lt(),a=t.toValue(e),s=t.toValue(n),l=mw(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>({...s,placeholder:s.placeholder??o(a)??void 0,labelAttributes:s.labelAttributes??r(a),label:s.label??l.value,required:s.required??i(a)?.required}))}function Ac(e,n){const{value:r,...o}=$t(e),{getEmptyOrDefault:i,keyIdMap:a}=lt(),s=t.computed(()=>{if(o.path)return o.schema.value.values}),l=t.computed(()=>r?Object.keys(r.value||{}).map(h=>{const y=h,g=a.getKey(y)??"";return[y,g]}):[]);function c(m,h){r&&(a.updateKey(m,h),r.value={...r.value})}function d(){if(!r)return;const m=a.createKey(),h=i(yt(o.path.value,m));return r.value={...r.value,[m]:h},m}function u(m){if(a.deleteKey(m),!r)return;const{[m]:h,...y}=r.value||{};Object.keys(y).length===0?r.value=o.schema?.value?.required?{}:o.emptyValue.value:r.value=y}function f(m){return a.getKey(m)}const p=t.computed(()=>{if(!o.path)return"";const m=Vo(o.path.value);let h=m;return w2(m)&&(h=a.getKey(m)??""),Dp(h)});if(n&&s.value?.type==="string"){let m=function(){if(!r||!r.value)return null;const y={};for(const[g,_]of Object.entries(r.value)){const k=a.getKey(g);k&&(y[k]=_)}return y},h=null;t.watch(()=>r?.value,y=>{const g=m();Kt(h,g)||(h=g,n?.(g))},{deep:!0})}return{keys:l,updateKey:c,addKey:d,removeKey:u,field:o,fieldDisplayName:p,getKeyName:f}}const E2=["data-testid"],gw=xe(t.defineComponent({__name:"SwitchField",props:{labelAttributes:{},enabledText:{},disabledText:{},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const{i18n:{t:r}}=Qe(),o=t.createPropsRestProxy(e,["name","enabledText","disabledText"]),{value:i,hide:a,emptyOrDefaultValue:s,...l}=$t(t.toRef(()=>e.name)),c=n,d=f=>{i.value=f,c("update:modelValue",f)},u=Jt(l.path,o);return(f,p)=>{const m=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(m,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,class:"ff-switch-field","data-testid":`ff-${l.path.value}`},[t.createVNode(t.unref(_e.KInputSwitch),t.mergeProps(t.unref(u),{"model-value":!!(t.unref(i)==null?t.unref(s):t.unref(i)),"onUpdate:modelValue":d}),{label:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)?e.enabledText||t.unref(r)("actions.enabled"):e.disabledText||t.unref(r)("actions.disabled")),1)]),_:1},16,["model-value"])],8,E2)),[[t.vShow,!t.unref(a)]])}}}),[["__scopeId","data-v-0b4c3942"]]),N2=["data-testid"],S2={key:1,class:"ff-scope-entity-help"},A2=xe(t.defineComponent({__name:"ScopeEntityField",props:{entity:{},fields:{default:()=>["name","id"]},labelField:{default:"name"},label:{},placeholder:{},help:{},disabled:{type:Boolean},developer:{type:Boolean},autofocus:{type:Boolean},name:{},labelAttributes:{}},setup(e){const n=t.createPropsRestProxy(e,["name","entity","fields","labelField","disabled","placeholder","help","developer"]),{i18n:{t:r}}=Qe(),{value:o,hide:i,...a}=$t(t.toRef(()=>e.name));if(a.error)throw new Error(a.error.message);const s=Jt(a.path,n),l=t.inject(Je.FORMS_API_KEY),c=t.computed(()=>e.fields.filter(m=>m!=="id")),d=t.computed(()=>e.fields.includes("id")),u=t.ref(!1),f=t.ref();t.onMounted(async()=>{const m=o?.value?.id;if(!(!m||!l)){u.value=!0;try{const h=await l.getOne(e.entity,m,{validateStatus:_=>_>=200&&_<300||_===404});if(h.status===404){if(e.developer){const _={label:m,value:m};f.value=_;return}throw new Error(`Entity of type ${e.entity} with id ${m} not found`)}const y=h.data,g={...y,label:y[e.labelField]??y.id,value:y.id};f.value=g}catch(h){console.error("Failed to load selected entity:",h),o.value=a.emptyValue.value}finally{u.value=!1}}});function p(m){m?(o.value={id:m.value},f.value=m):(o.value=a.emptyValue.value,f.value=void 0)}return(m,h)=>t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"ff-scope-entity-field","data-testid":`ff-${a.path.value}`},[t.unref(s).label?(t.openBlock(),t.createBlock(t.unref(_e.KLabel),t.normalizeProps(t.mergeProps({key:0},t.unref(s).labelAttributes)),{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s).label),1)]),_:1},16)):t.createCommentVNode("",!0),t.createVNode(t.unref(Je.FieldScopedEntitySelect),{id:t.unref(o)?.id??"","allow-uuid-search":d.value,disabled:u.value,"dom-id":e.name,entity:e.entity,"field-disabled":e.disabled,fields:c.value,"label-field":e.labelField,placeholder:u.value?t.unref(r)("actions.loading_spinner"):e.placeholder||t.unref(s).placeholder,"selected-item":f.value,"selected-item-loading":u.value,onChange:p},null,8,["id","allow-uuid-search","disabled","dom-id","entity","field-disabled","fields","label-field","placeholder","selected-item","selected-item-loading"]),e.help?(t.openBlock(),t.createElementBlock("p",S2,t.toDisplayString(e.help),1)):t.createCommentVNode("",!0)],8,N2)),[[t.vShow,!t.unref(i)]])}}),[["__scopeId","data-v-6e41c9dc"]]),x2={actions:{add_entity:"Add {entity}",remove_entity:"Remove {entity}"},plugins:{form:{field_rules:{at_least_one_of:"At least one of the following values is required: {parameters}.",mutually_required:"These values must be used together: {parameters}.",mutually_exclusive:"Only one of these values can be used: {parameters}."}},"free-form":{tag_helper:"Use comma to separate values. eg: value1, value2",foreign_placeholder:"Enter a UUID of {entity}",vault_picker:{component_error:"The vault secret picker is not available"}}}};function Oi(){const e=Ft.createI18n("en-us",x2);return{i18n:e,i18nT:Ft.i18nTComponent(e)}}const Pi=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const r=e,o=t.useAttrs(),i=n,a=t.computed(()=>r.multiline?_e.KTextArea:_e.KInput),s=t.computed(()=>o.characterLimit??(r.multiline?!1:void 0)),l=t.ref(r.modelValue);t.watch(()=>r.modelValue,f=>{l.value=f});const{config:c}=lt(),d=f=>{f!==l.value&&(l.value=f,c.value.updateOnChange||i("update:modelValue",f))},u=()=>{c.value.updateOnChange&&i("update:modelValue",l.value)};return(f,p)=>(t.openBlock(),t.createBlock(t.unref(a),t.mergeProps(f.$attrs,{"character-limit":s.value,"model-value":e.modelValue,resizable:e.multiline?!0:void 0,onChange:u,"onUpdate:modelValue":d}),t.createSlots({_:2},[t.renderList(t.useSlots(),(m,h)=>({name:h,fn:t.withCtx(y=>[t.renderSlot(f.$slots,h,t.normalizeProps(t.guardReactiveProps(y)))])}))]),1040,["character-limit","model-value","resizable"]))}}),I2=["innerHTML"],Me=xe(t.defineComponent({inheritAttrs:!1,__name:"StringField",props:{labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},placeholder:{},inputId:{},inlineVaultPicker:{type:Boolean},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),{i18n:o}=Oi(),i=t.createPropsRestProxy(e,["autofocus","showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:s,hide:l,...c}=$t(t.toRef(()=>e.name)),d=Jt(c.path,t.toRef({...i,...r}));function u(g){s.value=g===""?c.emptyValue.value:g,a("update:modelValue",s.value)}const f=t.computed(()=>e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!(c.schema?.value).encrypted),p=t.inject(Je.AUTOFILL_SLOT,void 0),m=t.computed(()=>e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!c.schema.value?.referenceable),h=t.computed(()=>({referenceable:m.value})),y=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:Vo(e.name)==="name");return(g,_)=>{const k=t.resolveComponent("KAlert");return c.error?(t.openBlock(),t.createBlock(k,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",t.normalizeProps(t.mergeProps({key:1},g.$attrs)),[t.createVNode(Pi,t.mergeProps({...t.unref(d),showPasswordMaskToggle:f.value,type:f.value?"password":"text"},{id:e.inputId,class:"ff-string-field","data-1p-ignore":y.value,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${c.path.value}`,error:e.error,"error-message":e.errorMessage,help:e.multiline&&e.error?e.errorMessage:e.help,"model-value":t.unref(s)??"",multiline:e.multiline,placeholder:e.placeholder??t.unref(d).placeholder,"onUpdate:modelValue":u}),t.createSlots({_:2},[t.unref(d).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,I2)],!0)]),key:"0"}:void 0,!(e.multiline&&e.error)&&g.$slots.help?{name:"help",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"help",{},void 0,!0)]),key:"1"}:void 0,!e.multiline&&e.inlineVaultPicker?{name:"after",fn:t.withCtx(()=>[t.unref(p)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(p)),{key:0,schema:h.value,update:u,value:t.unref(s)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(k,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${c.path.value}`,message:t.unref(o).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]),key:"2"}:void 0]),1040,["id","data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline","placeholder"]),e.inlineVaultPicker?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.unref(p)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(p)),{key:0,schema:h.value,update:u,value:t.unref(s)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(k,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${c.path.value}`,message:t.unref(o).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],64))],16)),[[t.vShow,!t.unref(l)]])}}}),[["__scopeId","data-v-d4bb6413"]]),v2=["innerHTML"],en=xe(t.defineComponent({inheritAttrs:!1,__name:"BooleanField",props:{labelAttributes:{},modelValue:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.createPropsRestProxy(e,["autofocus","name"]),{value:o,hide:i,emptyOrDefaultValue:a,...s}=$t(t.toRef(()=>e.name)),l=n,c=u=>{o.value=u,l("update:modelValue",u)},d=Jt(s.path,r);return(u,f)=>{const p=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(p,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createBlock(t.unref(_e.KCheckbox),t.mergeProps({key:1},{...t.unref(d),...u.$attrs},{class:"ff-boolean-field","data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${s.path.value}`,"model-value":!!(t.unref(o)==null?t.unref(a):t.unref(o)),"onUpdate:modelValue":c}),t.createSlots({_:2},[t.unref(d).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,v2)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"])),[[t.vShow,!t.unref(i)]])}}}),[["__scopeId","data-v-a1c08c7f"]]),T2=["data-testid"],B2=["innerHTML"],Lo=xe(t.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{labelAttributes:{},multiline:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),o=t.createPropsRestProxy(e,["autofocus","name"]),i=n,{value:a,hide:s,...l}=$t(t.toRef(()=>e.name)),c=Jt(l.path,t.toRef({...o,...r})),d=t.computed(()=>l.schema?.value?.len_min&&l.schema.value.len_min>0),u=t.ref("");function f(y){return y.map(g=>g.trim()).filter(Boolean).join(", ")}function p(y){return y.trim().split(",").map(g=>g.trim()).filter(Boolean)}function m(y){u.value=y;const g=p(y),_=!g.length&&d.value?l.emptyValue.value:g;a.value=_,i("update:modelValue",_)}const h=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:Vo(e.name)==="name");return t.watch(a,y=>{const g=y?f(y):"";f(p(u.value))!==g&&(u.value=g)},{immediate:!0}),(y,g)=>{const _=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(_,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[t.createVNode(Pi,t.mergeProps(t.unref(c),{class:"ff-tag-field","data-1p-ignore":h.value,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${l.path.value}`,"model-value":u.value??"","onUpdate:modelValue":m}),t.createSlots({_:2},[t.unref(c).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,B2)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,T2)),[[t.vShow,!t.unref(s)]])}}}),[["__scopeId","data-v-a7d70a44"]]),O2=["data-appearance","data-testid"],P2=["data-testid"],V2=["innerHTML"],$2=["data-testid"],R2={class:"ff-array-field-item-content"},L2=["data-index","data-testid"],Mp='input:not(:disabled), textarea:not(:disabled), select:not(:disabled), button:not(:disabled), [contenteditable="true"], [tabindex]:not([tabindex="-1"]):not(:disabled)',dt=xe(t.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},addItemLabel:{},appearance:{},stickyTabs:{type:[Boolean,String,Number]},hideLabel:{type:Boolean},autofocus:{type:Boolean}},emits:["add","remove"],setup(e,{emit:n}){t.useCssVars(A=>({v2a023911:T.value}));const r=e,o=n,{i18n:{t:i}}=Oi(),{getDefault:a,getSchema:s}=lt(),{value:l,hide:c,...d}=$t(t.toRef(r,"name")),u=Jt(d.path,t.toRef({...r,...t.useAttrs()})),f=t.computed(()=>{if(!d.path)throw new Error("Field path is required for sub-schema retrieval");const A=s(d.path.value);if(!A)throw new Error(`Schema not found for path: ${d.path.value}`);return A.elements}),p=t.computed(()=>{if(!d.path)return"";const A=Vo(d.path.value);return Dp(A)}),m=t.computed(()=>r.addItemLabel??i("actions.add_entity",{entity:p.value})),h=t.computed(()=>r.items??t.toValue(l)??[]),{getKey:y}=Nc("ff-array-field",h),g=t.computed(()=>r.appearance?r.appearance:f.value.type==="record"||f.value.type==="map"?"card":"default"),_=t.computed(()=>g.value==="card"?_e.KCard:"div");function k(A,v){return typeof r.itemLabel=="function"?r.itemLabel(A,v):r.itemLabel||u.value.label||`Item #${v}`}const b=t.computed(()=>h.value.map((A,v)=>({hash:`#${y(A,v)}`,title:""}))),N=t.ref(b.value[0]?.hash),C=async()=>{const A=a(yt(d.path.value,Ip));Array.isArray(l.value)||(l.value=[]),l.value.push(A),o("add"),r.appearance==="tabs"&&(await t.nextTick(),N.value=b.value[b.value.length-1]?.hash),await t.nextTick(),x(h.value.length+1)},w=async A=>{Array.isArray(l.value)&&(l.value.splice(A,1),l.value.length===0&&!u.value.required&&(l.value=d.emptyValue.value)),o("remove",A),r.appearance==="tabs"&&(N.value=b.value[Math.max(0,A-1)]?.hash)},S=t.useTemplateRef("root");function x(A){if(!S.value)return;const v=Math.max(0,Math.min(A,h.value.length-1)),P=S.value.querySelector(`[data-index="${v}"]`);if(!P)return;I(P)?.focus()}function I(A){const v=A.querySelector('[data-autofocus="true"]');return v?v.matches(Mp)?v:v.querySelector(Mp):A.querySelector(Mp)}const T=t.computed(()=>{const{appearance:A,stickyTabs:v}=r;return A!=="tabs"||v==null||v===!1?null:typeof v=="number"?`${r.stickyTabs}px`:typeof v=="string"?v:"0"});return(A,v)=>{const P=t.resolveComponent("KAlert"),O=t.resolveComponent("KLabel"),R=t.resolveComponent("KButton"),Q=t.resolveComponent("KTooltip"),fe=t.resolveComponent("KTabs");return d.error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:d.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:S,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${g.value??"default"}`]:!0,"ff-array-field-sticky-tabs":e.stickyTabs}]),"data-appearance":g.value,"data-testid":`ff-array-${d.path.value}`},[t.unref(u).label&&!e.hideLabel?(t.openBlock(),t.createElementBlock("header",{key:0,class:"ff-array-field-header","data-testid":`ff-array-header-${d.path.value}`},[t.createVNode(O,t.mergeProps({class:"ff-array-field-label"},t.unref(u),{"data-testid":`ff-label-${d.path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.renderSlot(A.$slots,"label",{label:t.unref(u).label},()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label),1)],!0)]),_:2},[t.unref(u).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(A.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,V2)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),e.appearance==="tabs"?(t.openBlock(),t.createBlock(R,{key:0,appearance:"tertiary","aria-label":m.value,"data-testid":`ff-add-item-btn-${d.path.value}`,icon:"",onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["aria-label","data-testid"])):t.createCommentVNode("",!0)],8,P2)):t.createCommentVNode("",!0),g.value!=="tabs"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createElementVNode("div",{class:"ff-array-field-container","data-testid":`ff-array-basic-container-${d.path.value}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(H,j)=>(t.openBlock(),t.createBlock(t.unref(_),{key:t.unref(y)(H,j),class:t.normalizeClass(["ff-array-field-item",{"ff-array-field-item-card":g.value==="card"}]),"data-index":j,"data-testid":`ff-array-item-${d.path.value}.${j}`},{default:t.withCtx(()=>[t.createElementVNode("div",R2,[A.$slots.item?t.renderSlot(A.$slots,"item",{key:0,autofocus:!0,fieldName:String(j),index:j},void 0,!0):f.value.type==="array"&&f.value.elements.type==="string"?(t.openBlock(),t.createBlock(Lo,{key:1,autofocus:"",help:t.unref(i)("plugins.free-form.tag_helper"),name:String(j)},null,8,["help","name"])):(t.openBlock(),t.createBlock(Xe,{key:2,autofocus:"",name:String(j)},null,8,["name"]))]),t.createVNode(Q,{class:"ff-array-field-item-remove-tooltip",text:t.unref(i)("actions.remove_entity",{entity:p.value})},{default:t.withCtx(()=>[t.createVNode(R,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:p.value}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${d.path.value}.${j}`,icon:"",onClick:t.withModifiers(D=>w(j),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["text"])]),_:2},1032,["class","data-index","data-testid"]))),128))],8,$2),t.createVNode(R,{appearance:"tertiary","aria-label":m.value,class:"ff-array-field-add-item-btn","data-testid":`ff-add-item-btn-${d.path.value}`,onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(m.value),1)]),_:1},8,["aria-label","data-testid"])],64)):h.value.length?(t.openBlock(),t.createBlock(t.unref(_e.KCard),{key:2,"data-testid":`ff-array-tab-container-${d.path.value}`},{default:t.withCtx(()=>[t.createVNode(fe,{modelValue:N.value,"onUpdate:modelValue":v[0]||(v[0]=H=>N.value=H),"data-testid":`ff-array-tabs-${d.path.value}`,tabs:b.value},t.createSlots({_:2},[t.renderList(h.value,(H,j)=>({name:t.unref(y)(H,j),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":j,"data-testid":`ff-array-item-${d.path.value}.${j}`},[A.$slots.item?t.renderSlot(A.$slots,"item",{key:0,autofocus:!0,fieldName:String(j),index:j},void 0,!0):(t.openBlock(),t.createBlock(Xe,{key:1,autofocus:"",name:String(j)},null,8,["name"]))],8,L2)])})),t.renderList(h.value,(H,j)=>({name:`${t.unref(y)(H,j)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(k(H,j))+" ",1),t.createVNode(R,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:p.value}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${d.path.value}.${j}`,icon:"",onClick:t.withModifiers(D=>w(j),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:1},8,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"])):t.createCommentVNode("",!0)],10,O2)),[[t.vShow,!t.unref(c)]])}}}),[["__scopeId","data-v-6f244a39"]]),xc=xe(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],r=Object.fromEntries(n.map(p=>[p,""])),o=Object.fromEntries(n.map(p=>[p,"0"]));function i(p){const m=getComputedStyle(p);return Object.fromEntries(n.map(h=>[h,m.getPropertyValue(h)]))}function a(p){["overflow","transition",...n].forEach(m=>p.style.removeProperty(m))}function s(p){Object.assign(p.style,{overflow:"hidden",transition:"none"})}function l(p){const m=p;Object.assign(m.style,r);const h=i(m);Object.assign(m.style,o),requestAnimationFrame(()=>{Object.assign(m.style,{...h,transition:""})})}function c(p){a(p)}function d(p){const m=p;Object.assign(m.style,{...i(m),overflow:"hidden"})}function u(p){Object.assign(p.style,o)}function f(p){a(p)}return(p,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:f,onBeforeEnter:s,onBeforeLeave:d,onEnter:l,onLeave:u},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-4969409d"]]),D2={class:"ff-entity-checks-list"},hw=xe(t.defineComponent({__name:"EntityChecksAlert",props:{entityChecks:{},visibleFields:{}},setup(e){const{i18n:{t:n}}=Oi(),r=t.computed(()=>{if(!Array.isArray(e.entityChecks)||e.entityChecks.length===0)return null;const a=[],s=[{key:"at_least_one_of",i18nKey:"plugins.form.field_rules.at_least_one_of"},{key:"mutually_required",i18nKey:"plugins.form.field_rules.mutually_required"},{key:"mutually_exclusive",i18nKey:"plugins.form.field_rules.mutually_exclusive"}];for(const l of e.entityChecks)for(const{key:c,i18nKey:d}of s)if(c in l){const u=l[c];if(Array.isArray(u)&&u.length>0){const f=i(u);f.length>0&&a.push(n(d,{parameters:o(f)}))}break}return a.length?a:null});function o(a){return a.map(Sc).join(", ")}function i(a){return Array.isArray(e.visibleFields)?a.filter(s=>e.visibleFields.includes(s.split(".")[0])):a}return(a,s)=>{const l=t.resolveComponent("KAlert");return r.value?(t.openBlock(),t.createBlock(l,{key:0,"data-testid":"ff-entity-checks-alert"},{default:t.withCtx(()=>[t.createElementVNode("ul",D2,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,c=>(t.openBlock(),t.createElementBlock("li",{key:c,"data-testid":"ff-entity-check-item"},t.toDisplayString(c),1))),128))])]),_:1})):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-374c59bc"]]),M2=["data-testid"],F2=["data-testid"],j2=["data-testid"],U2={class:"ff-object-field-header-toggle"},K2=["aria-controls","aria-expanded","aria-label","data-testid","disabled"],q2=["innerHTML"],G2=["data-testid"],z2={key:0,class:"indent-guide"},Rt=xe(t.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:t.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{default:"reset"},fieldsOrder:{},renderRules:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){const n=t.useId(),r=t.createPropsRestProxy(e,["defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,hide:i,...a}=$t(t.toRef(r,"name")),{getSchema:s,getDefault:l,useCurrentRenderRules:c}=lt(),d=c({fieldPath:a.path,rules:t.toRef(r,"renderRules"),omittedFields:t.toRef(()=>e.omit)}),u=t.useModel(e,"added"),f=t.useModel(e,"expanded"),p=t.computed(()=>{if(a.ancestors?.value){const C=a.ancestors.value.parent;if(C?.path)return s(C.path)?.type==="array"}return!1}),m=t.computed(()=>{if(a.ancestors?.value){const C=a.ancestors.value.parent;if(C?.path)return s(C.path)?.type==="map"}return!1}),h=Jt(a.path,{required:e.required,...r,resetLabelPath:e.resetLabelPath}),y=t.computed(()=>h.value.required?!0:u.value??e.defaultAdded),g=t.computed(()=>e.asChild!==void 0?e.asChild:p.value),_=t.computed(()=>{let C=a.schema.value.fields;return e.omit&&(C=C.filter(w=>!e.omit.includes(Object.keys(w)[0]))),e.fieldsOrder?rw(C,e.fieldsOrder):(d.value?.bundles&&(C=ow([...C],d.value.bundles)),C)}),k=t.computed(()=>_.value.map(C=>Object.keys(C)[0]));function b(){f.value=!f.value}function N(){u.value?o.value=l(a.path.value):o.value=a.emptyValue.value}return t.watch(y,C=>{e.collapsible&&(f.value=C)}),t.onBeforeMount(()=>{if(a.error||!o)return;const C=o.value!=null;u.value=C,(h.value.required||C)&&(f.value=!0)}),(C,w)=>{const S=t.resolveComponent("KAlert"),x=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(C.$slots[t.unref($o)]))),a.error?(t.openBlock(),t.createBlock(S,{key:0,appearance:"danger",message:a.error.message},null,8,["message"])):g.value?t.withDirectives((t.openBlock(),t.createElementBlock("div",t.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},C.$attrs,{"data-testid":`ff-object-${a.path.value}`}),[t.renderSlot(C.$slots,"default",{},()=>[t.createVNode(hw,{"entity-checks":a.schema.value?.entity_checks,"visible-fields":k.value},null,8,["entity-checks","visible-fields"]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,I=>(t.openBlock(),t.createBlock(Xe,{key:Object.keys(I)[0],name:Object.keys(I)[0]},null,8,["name"]))),128))],!0)],16,M2)),[[t.vShow,!t.unref(i)]]):t.withDirectives((t.openBlock(),t.createElementBlock("div",t.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!f.value}],"data-testid":`ff-object-${a.path.value}`},C.$attrs),[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${a.path.value}`},[t.createElementVNode("div",U2,[t.createElementVNode("button",{"aria-controls":t.unref(n),"aria-expanded":f.value,"aria-label":t.unref(h).label,class:"ff-object-field-toggle-btn","data-testid":`ff-object-toggle-btn-${a.path.value}`,disabled:!u.value,type:"button",onClick:t.withModifiers(b,["prevent","stop"])},[t.createVNode(t.unref(Ne.ChevronRightIcon),{class:t.normalizeClass(["ff-object-field-toggle-btn-trigger-icon",{"collapse-expanded":f.value}]),"data-testid":`ff-object-toggle-trigger-icon-${a.path.value}`,decorative:"",size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["class","data-testid","size"])],8,K2),m.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(_e.KLabel),t.mergeProps({key:0,class:"ff-object-field-label","data-testid":`ff-label-${a.path.value}`},{...t.unref(h),required:!1},{"tooltip-attributes":t.unref(h).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(h).label)+" ",1)]),_:2},[t.unref(h).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(h).labelAttributes.info},null,8,q2)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]))]),t.unref(h).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(x,{key:0,modelValue:u.value,"onUpdate:modelValue":[w[0]||(w[0]=I=>u.value=I),N],"data-testid":`ff-object-switch-${a.path.value}`},null,8,["modelValue","data-testid"]))],8,j2),t.createVNode(xc,null,{default:t.withCtx(()=>[f.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${a.path.value}`},[t.renderSlot(C.$slots,"default",{},()=>[t.createVNode(hw,{"entity-checks":a.schema.value?.entity_checks,"visible-fields":k.value},null,8,["entity-checks","visible-fields"]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,I=>(t.openBlock(),t.createBlock(Xe,{key:Object.keys(I)[0],name:Object.keys(I)[0]},null,8,["name"]))),128))],!0)],8,G2)):t.createCommentVNode("",!0)]),_:3}),f.value?(t.openBlock(),t.createElementBlock("div",z2)):t.createCommentVNode("",!0)],16,F2)),[[t.vShow,!t.unref(i)]])],64)}}}),[["__scopeId","data-v-f47f0644"]]),H2={key:1,class:"ff-number-field-wrapper"},W2=["innerHTML"],Nt=xe(t.defineComponent({__name:"NumberField",props:{showVaultSecretPicker:{type:Boolean,default:()=>{}},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.createPropsRestProxy(e,["autofocus","showVaultSecretPicker","name"]),{value:o,hide:i,...a}=$t(t.toRef(()=>e.name)),s=Jt(a.path,r),{i18n:l}=Oi(),c=t.computed(()=>{const k=a.schema?.value;if(typeof k.gt=="number")return{min:k.type==="integer"?k.gt+1:k.gt};const[b,N]=k.between??[];return{min:r.min??b,max:r.max??N}}),d=n,u=o.value,f=t.computed(()=>{const k=o?.value;if(k==null||k==="")return"";if(g.value)return`${k}`;const b=typeof k=="number"?k:Number(k);return Number.isFinite(b)?`${b}`:""});function p(k){const b=m(k);u!==void 0&&k===""&&b!==u?(o.value=a.emptyValue.value,d("update:modelValue",a.emptyValue.value)):(o.value=b,d("update:modelValue",b))}function m(k){if(k==="")return a.emptyValue.value;const b=k.trim();if(b==="")return a.emptyValue.value;const N=Number(b);return Number.isFinite(N)?N:g.value?k:a.emptyValue.value}const h=t.inject(Je.AUTOFILL_SLOT,void 0),y=t.computed(()=>({referenceable:g.value})),g=t.computed(()=>e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!a.schema.value?.referenceable),_=t.computed(()=>g.value?"text":"number");return(k,b)=>{const N=t.resolveComponent("KAlert");return a.error?(t.openBlock(),t.createBlock(N,{key:0,appearance:"danger",message:a.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",H2,[t.createVNode(Pi,t.mergeProps({class:"ff-number-field"},{...t.unref(s),min:c.value.min,max:c.value.max},{"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${a.path.value}`,"model-value":f.value,type:_.value,"onUpdate:modelValue":p}),t.createSlots({_:2},[t.unref(s).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(k.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,W2)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value","type"]),t.unref(h)&&g.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(h)),{key:0,schema:y.value,update:p,value:t.unref(o)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),g.value&&!t.unref(h)?(t.openBlock(),t.createBlock(N,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${a.path.value}`,message:t.unref(l).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],512)),[[t.vShow,!t.unref(i)]])}}}),[["__scopeId","data-v-ba8e04d8"]]),Y2=["innerHTML"],St=xe(t.defineComponent({__name:"EnumField",props:t.mergeModels({labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},dropdownFooterPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean},autofocus:{type:Boolean},name:{}},{modelValue:{},modelModifiers:{}}),emits:t.mergeModels(["update"],["update:modelValue"]),setup(e,{emit:n}){const r=n,o=t.createPropsRestProxy(e,["name","items","multiple","autofocus"]),{getSelectItems:i}=lt(),{value:a,hide:s,...l}=$t(t.toRef(()=>e.name)),c=Jt(l.path,o);function d(h){if(c.value.required)return h;const y=p.value&&Array.isArray(h)&&h.length===0;return h==null||h===""||y?l.emptyValue.value:h}const u=t.useModel(e,"modelValue",{get:()=>p.value&&a?.value==null?[]:a.value,set:h=>{a.value=d(h)}}),f=t.computed(()=>e.items?e.items:l.path?i(l.path.value):[]),p=t.computed(()=>e.multiple!==void 0?e.multiple:l.schema.value?.type==="set"),m=t.computed(()=>p.value?_e.KMultiselect:_e.KSelect);return(h,y)=>{const g=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(g,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createBlock(t.unref(m),t.mergeProps({key:1},{...o,...t.unref(c)},{modelValue:u.value,"onUpdate:modelValue":[y[0]||(y[0]=_=>u.value=_),y[1]||(y[1]=_=>r("update",d(_)))],class:"ff-enum-field",clearable:!t.unref(c).required,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${l.path.value}`,items:f.value,"kpop-attributes":{"data-testid":`ff-enum-${l.path.value}-items`}}),t.createSlots({_:2},["tooltip"in h.$slots||t.unref(c).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,Y2)],!0)]),key:"0"}:void 0,h.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:_})=>[t.renderSlot(h.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(_)),void 0,!0)]),key:"1"}:void 0,h.$slots["dropdown-footer-text"]?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"dropdown-footer-text",{},void 0,!0)]),key:"2"}:void 0]),1040,["modelValue","clearable","data-autofocus","data-testid","items","kpop-attributes"])),[[t.vShow,!t.unref(s)]])}}}),[["__scopeId","data-v-c8901fca"]]),J2=["data-testid"],X2=["innerHTML"],yw=xe(t.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{labelAttributes:{},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),o=t.createPropsRestProxy(e,["autofocus","name"]),i=n,{value:a,hide:s,...l}=$t(t.toRef(()=>e.name)),c=Jt(l.path,t.toRef({...o,...r})),d=t.ref("");function u(p){d.value=p;let m=p===""?l.emptyValue.value:p;try{const h=JSON.parse(p);h&&typeof h=="object"&&(m=h)}catch{}a.value=m,i("update:modelValue",m)}const f=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:Vo(e.name)==="name");return t.watch(a,p=>{if(p&&typeof p=="object"){try{const m=JSON.parse(d.value);Kt(m,p)||(d.value=JSON.stringify(p,null,2))}catch{d.value=JSON.stringify(p,null,2)}return}d.value=p||""},{immediate:!0}),(p,m)=>{const h=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-json-${l.path.value}`},[t.createVNode(Pi,t.mergeProps(t.unref(c),{class:"ff-json-field","data-1p-ignore":f.value,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${l.path.value}`,"model-value":d.value??"",multiline:"","onUpdate:modelValue":u}),t.createSlots({_:2},[t.unref(c).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,X2)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,J2)),[[t.vShow,!t.unref(s)]])}}}),[["__scopeId","data-v-5614e8a5"]]),Z2=["innerHTML"],_w=xe(t.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{labelAttributes:{},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},showPasswordMaskToggle:{type:Boolean},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),{i18n:{t:o}}=Oi(),i=t.createPropsRestProxy(e,["autofocus","name"]),a=n,{value:s,hide:l,...c}=$t(t.toRef(()=>e.name));if(c.error)throw new Error(c.error.message);const d=Jt(c.path,t.toRef({...i,...r})),u=s.value?s.value.id:null,f=t.computed(()=>d.value.placeholder?d.value.placeholder:o("plugins.free-form.foreign_placeholder",{entity:c.schema.value?.reference??"entity"})),p=t.ref(u??"");function m(y){u!==void 0&&y===""&&y!==u?(s.value=c.emptyValue.value,a("update:modelValue",c.emptyValue.value)):(s.value={id:y.trim()},a("update:modelValue",s.value))}const h=t.computed(()=>r["data-1p-ignore"]!==void 0?r["data-1p-ignore"]:Vo(e.name)==="name");return(y,g)=>t.withDirectives((t.openBlock(),t.createBlock(Pi,t.mergeProps(t.unref(d),{class:"ff-foreign-field","data-1p-ignore":h.value,"data-autofocus":e.autofocus?"true":void 0,"data-testid":`ff-${c.path.value}`,error:e.error,"error-message":e.errorMessage,help:e.help,"model-value":p.value,placeholder:f.value,"onUpdate:modelValue":m}),t.createSlots({_:2},[t.unref(d).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,Z2)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])),[[t.vShow,!t.unref(l)]])}}),[["__scopeId","data-v-bb4fc991"]]),Q2=["data-testid"],eL=["data-testid"],tL=["innerHTML"],nL={class:"ff-map-field-item-content"},rL={class:"ff-map-field-fields"},_n=xe(t.defineComponent({__name:"MapField",props:{keyPlaceholder:{},appearance:{},oneLine:{type:Boolean},autofocus:{type:Boolean},name:{},labelAttributes:{}},emits:["legacyValueChange"],setup(e,{emit:n}){const{i18n:r}=Oi(),o=e,i=n,{keys:a,updateKey:s,addKey:l,removeKey:c,field:d,fieldDisplayName:u}=Ac(t.toRef(o,"name"),C),f=Jt(d.path,o),p=["string","number","boolean","integer","foreign"],m=t.computed(()=>o.oneLine?!0:d.schema?.value?.type==="map"&&p.includes(d.schema.value.values.type)&&!o.appearance?.string?.multiline),h=t.computed(()=>d.schema?.value?.type==="map"?d.schema.value.values:void 0),y=t.computed(()=>h.value?.type==="string"&&!h.value?.one_of),g=t.computed(()=>m.value?"div":_e.KCard),_=t.useTemplateRef("root");function k(w,S){o.appearance?.string?.multiline||(w.preventDefault(),S===a.value.length-1&&l(),b(S+1))}async function b(w){_.value&&(await t.nextTick(),_.value.querySelector(`[data-key-input="${w}"]`)?.focus())}function N(){l();const w=a.value.findIndex(([S,x])=>!x);b(w===-1?a.value.length-1:w)}function C(w){i("legacyValueChange",w)}return(w,S)=>{const x=t.resolveComponent("KAlert"),I=t.resolveComponent("KLabel"),T=t.resolveComponent("KButton"),A=t.resolveComponent("KTooltip");return t.unref(d).error?(t.openBlock(),t.createBlock(x,{key:0,appearance:"danger",message:t.unref(d).error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:_,class:"ff-map-field","data-testid":`ff-map-${t.unref(d).path.value}`},[t.unref(f).label?(t.openBlock(),t.createElementBlock("header",{key:0,class:"ff-map-field-header","data-testid":`ff-map-header-${t.unref(d).path.value}`},[t.createVNode(I,t.mergeProps({class:"ff-map-field-label"},t.unref(f).labelAttributes,{"data-testid":`ff-label-${t.unref(d).path.value}`,required:t.unref(f).required,"tooltip-attributes":t.unref(f).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(f).label)+" ",1)]),_:2},[t.unref(f).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(w.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(f).labelAttributes.info},null,8,tL)],!0)]),key:"0"}:void 0]),1040,["data-testid","required","tooltip-attributes"])],8,eL)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),([v,P],O)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.value),{key:v,class:t.normalizeClass(["ff-map-field-item",{"ff-map-field-item-simple":m.value,"ff-map-field-item-complex":!m.value}]),"data-testid":`ff-map-container-${t.unref(d).path.value}.${O}`},{default:t.withCtx(()=>[t.createElementVNode("div",nL,[t.createElementVNode("div",rL,[t.createVNode(Pi,{class:"ff-map-field-fields-key","data-key-input":O,"data-testid":`ff-map-key-${t.unref(d).path.value}.${O}`,"model-value":P,placeholder:e.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(R=>b(O),["prevent"]),["enter"]),"onUpdate:modelValue":R=>t.unref(s)(v,R)},null,8,["data-key-input","data-testid","model-value","placeholder","onKeydown","onUpdate:modelValue"]),t.renderSlot(w.$slots,"default",{keyId:v},()=>[y.value?(t.openBlock(),t.createBlock(Me,{key:0,"inline-vault-picker":"",multiline:e.appearance?.string?.multiline,name:v,onKeydown:t.withKeys(R=>k(R,O),["enter"])},null,8,["multiline","name","onKeydown"])):(t.openBlock(),t.createBlock(Xe,{key:1,name:v},null,8,["name"]))],!0)]),t.createVNode(A,{text:t.unref(r).t("actions.remove_entity",{entity:t.unref(u)})},{default:t.withCtx(()=>[t.createVNode(T,{appearance:"tertiary","aria-label":t.unref(r).t("actions.remove_entity",{entity:t.unref(u)}),"data-testid":`ff-map-remove-btn-${t.unref(d).path.value}.${O}`,icon:"",onClick:R=>t.unref(c)(v)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["text"])])]),_:2},1032,["class","data-testid"]))),128)),t.createVNode(T,{appearance:"tertiary","aria-label":t.unref(r).t("actions.add_entity",{entity:t.unref(u)}),class:"ff-map-field-add-entry-btn","data-testid":`ff-map-add-btn-${t.unref(d).path.value}`,onClick:N},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(r).t("actions.add_entity",{entity:t.unref(u)})),1)]),_:1},8,["aria-label","data-testid"])],8,Q2)),[[t.vShow,!t.unref(d).hide.value]])}}}),[["__scopeId","data-v-1431df84"]]),Xe=t.defineComponent({name:"AutoField",__name:"Field",props:{autofocus:{type:Boolean},name:{},labelAttributes:{}},emits:["globalAction"],setup(e){const n=e,r=$t(t.toRef(n,"name")),o=t.computed(()=>{switch(r.schema?.value?.type){case"string":return"one_of"in r.schema.value?St:Me;case"boolean":return"one_of"in r.schema.value?St:en;case"number":case"integer":return"one_of"in r.schema.value?St:Nt;case"array":return dt;case"set":return l2(r.schema)?Lo:St;case"record":return Rt;case"map":return _n;case"json":return yw;case"foreign":return _w;default:return}});return(i,a)=>{const s=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref($o)]))),t.unref(r).error?(t.openBlock(),t.createBlock(s,{key:0,appearance:"danger",message:t.unref(r).error.message},null,8,["message"])):t.unref(r).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(r).renderer.value),{key:1,autofocus:n.autofocus,name:Tp(t.unref(r).path.value),onGlobalAction:a[0]||(a[0]=(l,c)=>i.$emit("globalAction",l,c))},null,40,["autofocus","name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[o.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value),{key:0,autofocus:n.autofocus,name:Tp(t.unref(r).path.value)},null,8,["autofocus","name"])):(t.openBlock(),t.createBlock(s,{key:1,appearance:"warning",message:`${t.unref(r).path.value} ${t.unref(r).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}});var _t=Symbol("NOT_RESOLVED");function tn(e,n){return{tagName:e,nodeKind:"scalar",implicit:n.implicit??!1,matchByTagPrefix:n.matchByTagPrefix??!1,implicitFirstChars:n.implicitFirstChars??null,resolve:n.resolve,identify:n.identify,represent:n.represent??(r=>String(r)),representTagName:n.representTagName??(()=>e)}}function Fp(e,n){const r=n.finalize===void 0;return{tagName:e,nodeKind:"sequence",implicit:!1,matchByTagPrefix:n.matchByTagPrefix??!1,create:n.create,addItem:n.addItem,finalize:n.finalize??(o=>o),carrierIsResult:r,identify:n.identify,represent:n.represent??(o=>o),representTagName:n.representTagName??(()=>e)}}function Ic(e,n){const r=n.finalize===void 0;return{tagName:e,nodeKind:"mapping",implicit:!1,matchByTagPrefix:n.matchByTagPrefix??!1,create:n.create,addPair:n.addPair,has:n.has,keys:n.keys,get:n.get,finalize:n.finalize??(o=>o),carrierIsResult:r,identify:n.identify,represent:n.represent??(o=>o),representTagName:n.representTagName??(()=>e)}}var oL=tn("tag:yaml.org,2002:str",{resolve:e=>e,identify:e=>typeof e=="string"}),iL=["","~","null","Null","NULL"],aL=tn("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:e=>iL.indexOf(e)!==-1?null:_t,identify:e=>e===null,represent:()=>"null"}),sL=tn("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["n"],resolve:(e,n)=>e==="null"||n&&e===""?null:_t,identify:e=>e===null,represent:()=>"null"}),lL=["","~","null","Null","NULL"],cL=tn("tag:yaml.org,2002:null",{implicit:!0,implicitFirstChars:["","~","n","N"],resolve:e=>lL.indexOf(e)!==-1?null:_t,identify:e=>e===null,represent:()=>"null"}),dL=["true","True","TRUE"],uL=["false","False","FALSE"],fL=tn("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","T","f","F"],resolve:e=>dL.indexOf(e)!==-1?!0:uL.indexOf(e)!==-1?!1:_t,identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"}),pL=["true"],mL=["false"],gL=tn("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["t","f"],resolve:e=>pL.indexOf(e)!==-1?!0:mL.indexOf(e)!==-1?!1:_t,identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"}),hL=["true","True","TRUE","y","Y","yes","Yes","YES","on","On","ON"],yL=["false","False","FALSE","n","N","no","No","NO","off","Off","OFF"],_L=tn("tag:yaml.org,2002:bool",{implicit:!0,implicitFirstChars:["y","Y","n","N","t","T","f","F","o","O"],resolve:e=>hL.indexOf(e)!==-1?!0:yL.indexOf(e)!==-1?!1:_t,identify:e=>Object.prototype.toString.call(e)==="[object Boolean]",represent:e=>e?"true":"false"}),bL=new RegExp("^(?:0o[0-7]+|0x[0-9a-fA-F]+|[-+]?[0-9]+)$"),kL=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function wL(e){let n=e,r=1;return(n[0]==="-"||n[0]==="+")&&(n[0]==="-"&&(r=-1),n=n.slice(1)),n.startsWith("0b")?r*parseInt(n.slice(2),2):n.startsWith("0o")?r*parseInt(n.slice(2),8):n.startsWith("0x")?r*parseInt(n.slice(2),16):r*parseInt(n,10)}function CL(e,n){if(n){if(!kL.test(e))return _t}else if(!bL.test(e))return _t;const r=wL(e);return Number.isFinite(r)?r:_t}var bw=tn("tag:yaml.org,2002:int",{implicit:!0,implicitFirstChars:["-","+",..."0123456789"],resolve:CL,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)}),EL=new RegExp("^-?(?:0|[1-9][0-9]*)$"),NL=new RegExp("^(?:[-+]?0b[0-1]+|[-+]?0o[0-7]+|[-+]?0x[0-9a-fA-F]+|[-+]?[0-9]+)$");function SL(e){let n=e,r=1;return(n[0]==="-"||n[0]==="+")&&(n[0]==="-"&&(r=-1),n=n.slice(1)),n.startsWith("0b")?r*parseInt(n.slice(2),2):n.startsWith("0o")?r*parseInt(n.slice(2),8):n.startsWith("0x")?r*parseInt(n.slice(2),16):r*parseInt(n,10)}function AL(e,n){if(n){if(!NL.test(e))return _t}else if(!EL.test(e))return _t;const r=SL(e);return Number.isFinite(r)?r:_t}var xL=tn("tag:yaml.org,2002:int",{implicit:!0,implicitFirstChars:["-",..."0123456789"],resolve:AL,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)}),IL=new RegExp("^(?:[-+]?0b[0-1_]+|[-+]?0[0-7_]+|[-+]?0x[0-9a-fA-F_]+|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+|[-+]?(?:0|[1-9][0-9_]*))$");function vL(e){let n=e.replace(/_/g,""),r=1;if((n[0]==="-"||n[0]==="+")&&(n[0]==="-"&&(r=-1),n=n.slice(1)),n.startsWith("0b"))return r*parseInt(n.slice(2),2);if(n.startsWith("0x"))return r*parseInt(n.slice(2),16);if(n.includes(":")){let o=0;for(const i of n.split(":"))o=o*60+Number(i);return r*o}return n!=="0"&&n[0]==="0"?r*parseInt(n,8):r*parseInt(n,10)}function TL(e){if(!IL.test(e))return _t;const n=vL(e);return Number.isFinite(n)?n:_t}var jp=tn("tag:yaml.org,2002:int",{implicit:!0,implicitFirstChars:["-","+",..."0123456789"],resolve:TL,identify:e=>Number.isInteger(e)&&!Object.is(e,-0)&&e.toString(10).indexOf("e")<0,represent:e=>e.toString(10)}),BL=new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),OL=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function PL(e){if(!BL.test(e))return _t;let n=e.toLowerCase();const r=n[0]==="-"?-1:1;if("+-".includes(n[0])&&(n=n.slice(1)),n===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(n===".nan")return NaN;const o=r*parseFloat(n);return Number.isFinite(o)||OL.test(e)?o:_t}function VL(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const n=e.toString(10);return/^[-+]?[0-9]+e/.test(n)?n.replace("e",".e"):n}var kw=tn("tag:yaml.org,2002:float",{implicit:!0,implicitFirstChars:["-","+",".",..."0123456789"],resolve:PL,identify:e=>typeof e=="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:VL}),$L=new RegExp("^-?(?:0|[1-9][0-9]*)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$"),RL=new RegExp("^(?:[-+]?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|[-+]?\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function LL(e,n){if(n){if(!RL.test(e))return _t;let o=e.toLowerCase();const i=o[0]==="-"?-1:1;if("+-".includes(o[0])&&(o=o.slice(1)),o===".inf")return i===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(o===".nan")return NaN;const a=i*parseFloat(o);return Number.isFinite(a)?a:_t}if(!$L.test(e))return _t;const r=Number(e);return Number.isFinite(r)?r:_t}function DL(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const n=e.toString(10);return/^[-+]?[0-9]+e/.test(n)?n.replace("e",".e"):n}var ML=tn("tag:yaml.org,2002:float",{implicit:!0,implicitFirstChars:["-",..."0123456789"],resolve:LL,identify:e=>typeof e=="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:DL}),FL=new RegExp("^(?:[-+]?(?:(?:[0-9][0-9_]*)?\\.[0-9_]*)(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),jL=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function UL(e){if(!FL.test(e))return _t;let n=e.toLowerCase().replace(/_/g,"");const r=n[0]==="-"?-1:1;if("+-".includes(n[0])&&(n=n.slice(1)),n===".inf")return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;if(n===".nan")return NaN;let o=0;if(n.includes(":")){for(const i of n.split(":"))o=o*60+Number(i);o*=r}else o=r*parseFloat(n);return Number.isFinite(o)||jL.test(e)?o:_t}function KL(e){if(isNaN(e))return".nan";if(e===Number.POSITIVE_INFINITY)return".inf";if(e===Number.NEGATIVE_INFINITY)return"-.inf";if(Object.is(e,-0))return"-0.0";const n=e.toString(10);return/^[-+]?[0-9]+e/.test(n)?n.replace("e",".e"):n}var Up=tn("tag:yaml.org,2002:float",{implicit:!0,implicitFirstChars:["-","+",".",..."0123456789"],resolve:UL,identify:e=>typeof e=="number"&&(!Number.isInteger(e)||Object.is(e,-0)||e.toString(10).indexOf("e")>=0),represent:KL}),qL=tn("tag:yaml.org,2002:merge",{implicit:!0,implicitFirstChars:["<"],resolve:(e,n)=>e==="<<"||n&&e===""?"<<":_t,identify:()=>!1}),GL=/^[A-Za-z0-9+/]*={0,2}$/;function zL(e){const n=e.replace(/\s/g,"");if(n.length%4!==0||!GL.test(n))return _t;const r=atob(n),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i);return o}function HL(e){let n="";for(let r=0;r<e.length;r++)n+=String.fromCharCode(e[r]);return btoa(n)}var WL=tn("tag:yaml.org,2002:binary",{resolve:zL,identify:e=>Object.prototype.toString.call(e)==="[object Uint8Array]",represent:HL}),YL=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),JL=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function ww(e,n,r,o=0,i=0,a=0,s=0){const l=new Date(Date.UTC(e,n,r,o,i,a,s));return l.setUTCFullYear(e,n,r),l}function XL(e){let n=YL.exec(e);if(n===null&&(n=JL.exec(e)),n===null)return _t;const r=+n[1],o=+n[2]-1,i=+n[3];if(!n[4]){const u=ww(r,o,i);return u.getUTCFullYear()!==r||u.getUTCMonth()!==o||u.getUTCDate()!==i?_t:u}const a=+n[4],s=+n[5],l=+n[6];let c=0;if(a>23||s>59||l>59)return _t;if(n[7]){let u=n[7].slice(0,3);for(;u.length<3;)u+="0";c=+u}const d=ww(r,o,i,a,s,l,c);if(d.getUTCFullYear()!==r||d.getUTCMonth()!==o||d.getUTCDate()!==i)return _t;if(n[9]){const u=+n[10],f=+(n[11]||0);if(u>23||f>59)return _t;const p=(u*60+f)*6e4;d.setTime(d.getTime()-(n[9]==="-"?-p:p))}return d}var ZL=tn("tag:yaml.org,2002:timestamp",{implicit:!0,implicitFirstChars:[..."0123456789"],resolve:XL,identify:e=>e instanceof Date,represent:e=>e.toISOString()}),QL=Fp("tag:yaml.org,2002:seq",{create:()=>[],addItem:(e,n)=>{e.push(n)},identify:Array.isArray});function vc(e){if(e===null||typeof e!="object"||Array.isArray(e))return!1;const n=Object.getPrototypeOf(e);return n===null||n===Object.prototype}function Kp(e,n){const r={};for(const o of n)e[o]!==void 0&&(r[o]=e[o]);return r}var eD=Fp("tag:yaml.org,2002:omap",{create:()=>({list:[],seen:new Set}),addItem:(e,n)=>{let r;if(n instanceof Map){if(n.size!==1)return"cannot resolve an ordered map item";r=n.keys().next().value}else if(vc(n)){const o=Object.keys(n);if(o.length!==1)return"cannot resolve an ordered map item";r=o[0]}else return"cannot resolve an ordered map item";return e.seen.has(r)?"duplicate key in ordered map":(e.seen.add(r),e.list.push(n),"")},finalize:e=>e.list,identify:()=>!1}),tD=Fp("tag:yaml.org,2002:pairs",{create:()=>[],addItem:(e,n)=>{if(n instanceof Map)return n.size!==1?"cannot resolve a pairs item":(e.push(n.entries().next().value),"");if(Object.prototype.toString.call(n)!=="[object Object]")return"cannot resolve a pairs item";const r=n,o=Object.keys(r);return o.length!==1?"cannot resolve a pairs item":(e.push([o[0],r[o[0]]]),"")},identify:()=>!1}),nD=Ic("tag:yaml.org,2002:map",{create:()=>({}),identify:vc,represent:e=>{const n=new Map;for(const r of Object.keys(e))n.set(r,e[r]);return n},addPair:(e,n,r)=>{if(n!==null&&typeof n=="object")return"object-based map does not support complex keys";const o=String(n);return o==="__proto__"?Object.defineProperty(e,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[o]=r,""},has:(e,n)=>n!==null&&typeof n=="object"?!1:Object.prototype.hasOwnProperty.call(e,String(n)),keys:e=>Object.keys(e),get:(e,n)=>{const r=String(n);return Object.prototype.hasOwnProperty.call(e,r)?e[r]:null}}),rD=Ic("tag:yaml.org,2002:set",{create:()=>new Set,identify:e=>e instanceof Set,represent:e=>{const n=new Map;for(const r of e)n.set(r,null);return n},addPair:(e,n,r)=>r!==null?"cannot resolve a set item":(e.add(n),""),has:(e,n)=>e.has(n),keys:e=>e.keys(),get:()=>null});function oD(){return{scalar:Object.create(null),sequence:Object.create(null),mapping:Object.create(null)}}function iD(){return{scalar:[],sequence:[],mapping:[]}}function aD(e){const n=[];for(const r of e){let o=n.length;for(let i=0;i<n.length;i++){const a=n[i];if(a.nodeKind===r.nodeKind&&a.tagName===r.tagName&&a.matchByTagPrefix===r.matchByTagPrefix){o=i;break}}n[o]=r}return n}var Tc=class NS{tags;implicitScalarTags;implicitScalarByFirstChar;implicitScalarAnyFirstChar;defaultScalarTag;defaultSequenceTag;defaultMappingTag;exact;prefix;constructor(n){const r=aD(n),o=[],i=oD(),a=iD();for(const u of r){if(u.nodeKind==="scalar"&&u.implicit){if(u.matchByTagPrefix)throw new Error("Implicit scalar tags cannot match by tag prefix");o.push(u)}switch(u.nodeKind){case"scalar":u.matchByTagPrefix?a.scalar.push(u):i.scalar[u.tagName]=u;break;case"sequence":u.matchByTagPrefix?a.sequence.push(u):i.sequence[u.tagName]=u;break;case"mapping":u.matchByTagPrefix?a.mapping.push(u):i.mapping[u.tagName]=u;break}}const s=o.filter(u=>u.implicitFirstChars===null),l=new Set;for(const u of o)if(u.implicitFirstChars!==null)for(const f of u.implicitFirstChars)l.add(f);const c=new Map;for(const u of l)c.set(u,o.filter(f=>f.implicitFirstChars===null||f.implicitFirstChars.indexOf(u)!==-1));const d=i.scalar["tag:yaml.org,2002:str"];if(!d)throw new Error("schema does not define the default scalar tag (tag:yaml.org,2002:str)");this.tags=r,this.implicitScalarTags=o,this.implicitScalarByFirstChar=c,this.implicitScalarAnyFirstChar=s,this.defaultScalarTag=d,this.defaultSequenceTag=i.sequence["tag:yaml.org,2002:seq"],this.defaultMappingTag=i.mapping["tag:yaml.org,2002:map"],this.exact=i,this.prefix=a}lookupScalarTag(n){const r=this.exact.scalar[n];if(r)return r;for(const o of this.prefix.scalar)if(n.startsWith(o.tagName))return o}lookupSequenceTag(n){const r=this.exact.sequence[n];if(r)return r;for(const o of this.prefix.sequence)if(n.startsWith(o.tagName))return o}lookupMappingTag(n){const r=this.exact.mapping[n];if(r)return r;for(const o of this.prefix.mapping)if(n.startsWith(o.tagName))return o}resolveImplicitScalarTag(n){const r=this.implicitScalarByFirstChar.get(n.charAt(0))??this.implicitScalarAnyFirstChar;for(const i of r){const a=i.resolve(n,!1,i.tagName);if(a!==_t)return{value:a,tag:i}}const o=this.defaultScalarTag;return{value:o.resolve(n,!1,o.tagName),tag:o}}withTags(...n){let r=[];for(const o of n)r=r.concat(o);return new NS([...this.tags,...r])}},qp=new Tc([oL,QL,nD]),Do=new Tc([...qp.tags,sL,gL,xL,ML]),sD=new Tc([...qp.tags,aL,fL,bw,kw]),lD=new Tc([...qp.tags,cL,_L,jp,Up,ZL,qL,WL,eD,tD,rD]),cD=lD.withTags({...jp,resolve:(e,n,r)=>{const o=jp.resolve(e,n,r);return o===_t?bw.resolve(e,n,r):o}},{...Up,resolve:(e,n,r)=>{const o=Up.resolve(e,n,r);return o===_t?kw.resolve(e,n,r):o}});Ic("tag:yaml.org,2002:map",{create:()=>new Map,addPair:(e,n,r)=>(e.set(n,r),""),has:(e,n)=>e.has(n),keys:e=>e.keys(),get:(e,n)=>e.get(n),identify:e=>e instanceof Map||vc(e),represent:e=>{if(e instanceof Map)return e;const n=new Map,r=e;for(const o of Object.keys(r))n.set(o,r[o]);return n}});function Cw(e){if(Array.isArray(e)){const n=Array.prototype.slice.call(e);for(let r=0;r<n.length;r++){if(Array.isArray(n[r]))return null;typeof n[r]=="object"&&Object.prototype.toString.call(n[r])==="[object Object]"&&(n[r]="[object Object]")}return String(n)}return typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"?"[object Object]":String(e)}Ic("tag:yaml.org,2002:map",{create:()=>({}),identify:vc,represent:e=>{const n=new Map;for(const r of Object.keys(e))n.set(r,e[r]);return n},addPair:(e,n,r)=>{const o=Cw(n);return o===null?"nested arrays are not supported inside keys":(o==="__proto__"?Object.defineProperty(e,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[o]=r,"")},has:(e,n)=>{const r=Cw(n);return r!==null&&Object.prototype.hasOwnProperty.call(e,r)},keys:e=>Object.keys(e),get:(e,n)=>{const r=String(n);return Object.prototype.hasOwnProperty.call(e,r)?e[r]:null}});var dD={maxLength:79,indent:1,linesBefore:3,linesAfter:2};function Gp(e,n,r,o,i){let a="",s="";const l=Math.floor(i/2)-1;return o-n>l&&(a=" ... ",n=o-l+a.length),r-o>l&&(s=" ...",r=o+l-s.length),{str:a+e.slice(n,r).replace(/\t/g,"→")+s,pos:o-n+a.length}}function zp(e,n){return" ".repeat(Math.max(n-e.length,0))+e}function uD(e,n){if(!e.buffer)return null;const r={...dD,...n},o=/\r?\n|\r|\0/g,i=[0],a=[];let s,l=-1;for(;s=o.exec(e.buffer);)a.push(s.index),i.push(s.index+s[0].length),e.position<=s.index&&l<0&&(l=i.length-2);l<0&&(l=i.length-1);let c="";const d=Math.min(e.line+r.linesAfter,a.length).toString().length,u=r.maxLength-(r.indent+d+3);for(let p=1;p<=r.linesBefore&&!(l-p<0);p++){const m=Gp(e.buffer,i[l-p],a[l-p],e.position-(i[l]-i[l-p]),u);c=`${" ".repeat(r.indent)}${zp((e.line-p+1).toString(),d)} | ${m.str}
18
18
  ${c}`}const f=Gp(e.buffer,i[l],a[l],e.position,u);c+=`${" ".repeat(r.indent)}${zp((e.line+1).toString(),d)} | ${f.str}
19
19
  `,c+=`${"-".repeat(r.indent+d+3+f.pos)}^
20
20
  `;for(let p=1;p<=r.linesAfter&&!(l+p>=a.length);p++){const m=Gp(e.buffer,i[l+p],a[l+p],e.position-(i[l]-i[l+p]),u);c+=`${" ".repeat(r.indent)}${zp((e.line+p+1).toString(),d)} | ${m.str}
@@ -188,7 +188,7 @@ ${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.pus
188
188
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
189
189
  `,r)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(n){const r=n.items[n.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,r.value){const o="end"in r.value?r.value.end:void 0;(Array.isArray(o)?o[o.length-1]:void 0)?.type==="comment"?o?.push(this.sourceToken):n.items.push({start:[this.sourceToken]})}else r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)n.items.push({start:[this.sourceToken]});else if(r.sep)r.sep.push(this.sourceToken);else{if(this.atIndentedComment(r.start,n.indent)){const o=n.items[n.items.length-2]?.value?.end;if(Array.isArray(o)){ad(o,r.start),o.push(this.sourceToken),n.items.pop();return}}r.start.push(this.sourceToken)}return}if(this.indent>=n.indent){const o=!this.onKeyLine&&this.indent===n.indent,i=o&&(r.sep||r.explicitKey)&&this.type!=="seq-item-ind";let a=[];if(i&&r.sep&&!r.value){const s=[];for(let l=0;l<r.sep.length;++l){const c=r.sep[l];switch(c.type){case"newline":s.push(l);break;case"space":break;case"comment":c.indent>n.indent&&(s.length=0);break;default:s.length=0}}s.length>=2&&(a=r.sep.splice(s[1]))}switch(this.type){case"anchor":case"tag":i||r.value?(a.push(this.sourceToken),n.items.push({start:a}),this.onKeyLine=!0):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"explicit-key-ind":!r.sep&&!r.explicitKey?(r.start.push(this.sourceToken),r.explicitKey=!0):i||r.value?(a.push(this.sourceToken),n.items.push({start:a,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(r.explicitKey)if(r.sep)if(r.value)n.items.push({start:[],key:null,sep:[this.sourceToken]});else if(lo(r.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]});else if(X0(r.key)&&!lo(r.sep,"newline")){const s=na(r.start),l=r.key,c=r.sep;c.push(this.sourceToken),delete r.key,delete r.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:l,sep:c}]})}else a.length>0?r.sep=r.sep.concat(a,this.sourceToken):r.sep.push(this.sourceToken);else if(lo(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{const s=na(r.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]})}else r.sep?r.value||i?n.items.push({start:a,key:null,sep:[this.sourceToken]}):lo(r.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const s=this.flowScalar(this.type);i||r.value?(n.items.push({start:a,key:s,sep:[]}),this.onKeyLine=!0):r.sep?this.stack.push(s):(Object.assign(r,{key:s,sep:[]}),this.onKeyLine=!0);return}default:{const s=this.startBlockValue(n);if(s){if(s.type==="block-seq"){if(!r.explicitKey&&r.sep&&!lo(r.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else o&&n.items.push({start:a});this.stack.push(s);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(n){const r=n.items[n.items.length-1];switch(this.type){case"newline":if(r.value){const o="end"in r.value?r.value.end:void 0;(Array.isArray(o)?o[o.length-1]:void 0)?.type==="comment"?o?.push(this.sourceToken):n.items.push({start:[this.sourceToken]})}else r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)n.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(r.start,n.indent)){const o=n.items[n.items.length-2]?.value?.end;if(Array.isArray(o)){ad(o,r.start),o.push(this.sourceToken),n.items.pop();return}}r.start.push(this.sourceToken)}return;case"anchor":case"tag":if(r.value||this.indent<=n.indent)break;r.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==n.indent)break;r.value||lo(r.start,"seq-item-ind")?n.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return}if(this.indent>n.indent){const o=this.startBlockValue(n);if(o){this.stack.push(o);return}}yield*this.pop(),yield*this.step()}*flowCollection(n){const r=n.items[n.items.length-1];if(this.type==="flow-error-end"){let o;do yield*this.pop(),o=this.peek(1);while(o?.type==="flow-collection")}else if(n.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!r||r.sep?n.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return;case"map-value-ind":!r||r.value?n.items.push({start:[],key:null,sep:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!r||r.value?n.items.push({start:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const i=this.flowScalar(this.type);!r||r.value?n.items.push({start:[],key:i,sep:[]}):r.sep?this.stack.push(i):Object.assign(r,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":n.end.push(this.sourceToken);return}const o=this.startBlockValue(n);o?this.stack.push(o):(yield*this.pop(),yield*this.step())}else{const o=this.peek(2);if(o.type==="block-map"&&(this.type==="map-value-ind"&&o.indent===n.indent||this.type==="newline"&&!o.items[o.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&o.type!=="flow-collection"){const i=id(o),a=na(i);Z0(n);const s=n.end.splice(1,n.end.length);s.push(this.sourceToken);const l={type:"block-map",offset:n.offset,indent:n.indent,items:[{start:a,key:n,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=l}else yield*this.lineEnd(n)}}flowScalar(n){if(this.onNewLine){let r=this.source.indexOf(`
190
190
  `)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(`
191
- `,r)+1}return{type:n,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(n){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const r=id(n),o=na(r);return o.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const r=id(n),o=na(r);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(n,r){return this.type!=="comment"||this.indent<=r?!1:n.every(o=>o.type==="newline"||o.type==="space")}*documentEnd(n){this.type!=="doc-mode"&&(n.end?n.end.push(this.sourceToken):n.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(n){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:n.end?n.end.push(this.sourceToken):n.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}}function YF(e){const n=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||n&&new HF||null,prettyErrors:n}}function JF(e,n={}){const{lineCounter:r,prettyErrors:o}=YF(n),i=new WF(r?.addNewLine),a=new UF(n);let s=null;for(const l of a.compose(i.parse(e),!0,e.length))if(!s)s=l;else if(s.options.logLevel!=="silent"){s.errors.push(new Ts(l.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return o&&r&&(s.errors.forEach(M0(e,r)),s.warnings.forEach(M0(e,r))),s}function Q0(e,n){const r=e.range;if(!r)return;const o=Math.max(0,r[0]),i=typeof r[1]=="number"?r[1]:typeof r[2]=="number"?r[2]:r[0],a=Math.max(o,i),s=n.getPositionAt(o),l=n.getPositionAt(a);return{startLineNumber:s.lineNumber,startColumn:s.column,endLineNumber:l.lineNumber,endColumn:l.column}}function XF(e){return Et(e)?e.value:e.toJSON()}function ZF(e){if(!Et(e))return;const{value:n}=e;return typeof n=="string"||typeof n=="number"?n:void 0}function eC(e,n){const r=ZF(n);return r===void 0?e:[...e,r]}function QF(e,n){const r=[{node:e,keyPath:[]}];for(;r.length>0;){const o=r.pop();if(!o)continue;const{node:i,keyPath:a}=o;if(n(i,a),qi(i)){for(let s=i.items.length-1;s>=0;s--){const l=i.items[s];At(l.value)&&r.push({node:l.value,keyPath:eC(a,l.key)}),At(l.key)&&r.push({node:l.key,keyPath:a})}continue}if(Gi(i))for(let s=i.items.length-1;s>=0;s--){const l=i.items[s],c=[...a,s];if(Mt(l)){At(l.value)&&r.push({node:l.value,keyPath:eC(c,l.key)}),At(l.key)&&r.push({node:l.key,keyPath:c});continue}At(l)&&r.push({node:l,keyPath:c})}}}function ej(e,n){const r=e.getIn(n,!0);return At(r)?r:void 0}function tC(e,n){return{provideCodeLenses:async(r,o)=>{if(r.getLanguageId()!=="yaml")return Vr();const i=await o0(r);if(i.isDefault||i.language!=="yaml")return Vr();const a=i.document,s=a?.contents;return!a||!s?Vr():e(s,r,o)}}}function nC(e,n){return tC((r,o,i)=>{const a=[];return QF(r,(s,l)=>{if(i.isCancellationRequested||!Et(s)||typeof s.value!="string"||!$M.test(s.value))return;const c=Q0(s,o);c&&a.push({value:s.value,range:c,context:{keyPath:l,node:s}})}),i.isCancellationRequested?Vr():typeof e=="function"?e(a):{lenses:a.map(({value:s,range:l})=>RM(s,l,e)),dispose:()=>{}}})}function Hm(e,n,r){return{provideCodeLenses:async(o,i)=>{if(o.getLanguageId()!=="yaml")return Vr();const a=await o0(o);if(a.isDefault||a.language!=="yaml"||i.isCancellationRequested)return Vr();const s=a.document,l=s?.contents;if(!s||!l)return Vr();const c=ej(s,e);if(!c)return Vr();const d=Q0(c,o);return d?n(XF(c),d,{keyPath:e,node:c}):Vr()}}}function tj(e,n){const r=JF(e);return{language:"yaml",altVersionId:n,document:r}}const nj=Object.freeze(Object.defineProperty({__proto__:null,createYAMLCodeLensProvider:tC,createYAMLCopyUUIDCodeLensProvider:nC,createYAMLValueCodeLensProvider:Hm,parseIntoYAMLContext:tj},Symbol.toStringTag,{value:"Module"}));let rj="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",oj=(e=21)=>{let n="",r=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)n+=rj[r[e]&63];return n};const ij="/v2/control-planes/{controlPlaneId}/core-entities/v1",an="/v2/control-planes/{controlPlaneId}/core-entities/{workspace}",mr="/v2/control-planes/{controlPlaneId}/core-entities",Lt="/{workspace}",nt={caCertificates:{konnect:`${an}/ca_certificates`,kongManager:`${Lt}/ca_certificates`},consumers:{konnect:`${an}/consumers`,kongManager:`${Lt}/consumers`},list:{konnect:{all:`${an}/plugins`,forEntity:`${an}/{entityType}/{entityId}/plugins`,search:`${an}/plugins/search`},kongManager:{all:`${Lt}/plugins`,forEntity:`${Lt}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${ij}/available-plugins`,streamingCustomPlugins:`${mr}/custom-plugins`,clonedPlugins:`${mr}/cloned-plugins`,schemaCustomPluginItem:`${mr}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${mr}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Lt}/kong`,availablePluginsForOss:"/",streamingCustomPlugins:`${Lt}/custom-plugins`,clonedPlugins:`${Lt}/cloned-plugins`}},form:{konnect:{create:{all:`${an}/plugins`,forEntity:`${an}/{entityType}/{entityId}/plugins`},edit:{all:`${an}/plugins/{id}`,forEntity:`${an}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/core-entities/schemas/plugins/{plugin}",credential:{create:`${an}/{resourceEndpoint}`,edit:`${an}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/core-entities/schemas/{plugin}",entityGetOne:`${an}/{entity}/{id}`,entityGetAll:`${an}/{entity}`,entityPeek:`${an}/{entity}?size={amount}`},kongManager:{create:{all:`${Lt}/plugins`,forEntity:`${Lt}/{entityType}/{entityId}/plugins`},edit:{all:`${Lt}/plugins/{id}`,forEntity:`${Lt}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Lt}/schemas/plugins/{plugin}`,credential:{create:`${Lt}/{resourceEndpoint}`,edit:`${Lt}/{resourceEndpoint}/{id}`},credentialSchema:`${Lt}/schemas/{plugin}`,entityGetOne:`${Lt}/{entity}/{id}`,entityGetAll:`${Lt}/{entity}`}},customPlugin:{konnect:{installed:{create:`${mr}/plugin-schemas`,edit:`${mr}/plugin-schemas/{pluginId}`},streamed:{create:`${mr}/custom-plugins`,edit:`${mr}/custom-plugins/{pluginId}`},cloned:{create:`${mr}/cloned-plugins`,edit:`${mr}/cloned-plugins/{pluginId}`}},kongManager:{streamed:{create:`${Lt}/custom-plugins`,edit:`${Lt}/custom-plugins/{pluginId}`},cloned:{create:`${Lt}/cloned-plugins`,edit:`${Lt}/cloned-plugins/{pluginId}`}}},item:{konnect:{all:`${an}/plugins/{id}`,forEntity:`${an}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Lt}/plugins/{id}`,forEntity:`${Lt}/{entityType}/{entityId}/plugins/{id}`}}},Wm=new WeakMap,rC=Object.fromEntries(["service","route","consumer","consumer_group","certificate"].map(e=>[`${e}s`,e]));function aj(){const{i18n:{t:e}}=Qe(),n=o=>e(`plugins.free-form.code-lens.entity.${o}`),r=(o,i)=>e("plugins.free-form.code-lens.field.name",{value:o,entity:i});return{service:{title:n("service"),fields:[{id:"field/name",resolve:o=>o.data.name?r(o.data.name,n("service")):void 0}]},route:{title:n("route"),fields:[{id:"field/name",resolve:o=>o.data.name?r(o.data.name,n("route")):void 0}]},consumer_group:{title:n("consumer_group"),fields:[{id:"field/name",resolve:o=>o.data.name?r(o.data.name,n("consumer_group")):void 0}]},consumer:{title:n("consumer"),fields:[{id:"field/username",resolve:o=>o.data.username?e("plugins.free-form.code-lens.field.username",{value:o.data.username}):void 0},{id:"field/customId",resolve:o=>o.data.custom_id?e("plugins.free-form.code-lens.field.custom_id",{value:o.data.custom_id}):void 0}]},certificate:{title:n("certificate"),fields:[{id:"field/subject",resolve:o=>{if(o)return e("plugins.free-form.code-lens.field.subject",{value:o.cert.subject})}},{id:"field/notAfter",resolve:o=>{if(o)return e("plugins.free-form.code-lens.field.expires_after",{value:o.cert.notAfter.toLocaleString("en")})}}],commands:[{id:"cmd/copyCert",resolve:(o,i)=>o.cert?{id:i,title:e("plugins.free-form.code-lens.action.copy_certificate"),arguments:[o.cert]}:void 0}]}}}function sj(e){const n=[];for(const[r,o]of Object.entries(e)){if(o.type!=="foreign")continue;const i=o.reference;Object.prototype.hasOwnProperty.call(rC,i)&&n.push({entity:rC[i],keyPath:r.split(".")})}return n}function lj(e,n,r){let o=`${e.apiBaseUrl}${nt.form[e.app].entityGetOne}`;return e.app==="konnect"&&(o=o.replace(/{controlPlaneId}/gi,e.controlPlaneId||"")),o=o.replace(/\/{workspace}/gi,e.workspace?`/${e.workspace}`:"").replace(/{entity}/gi,n).replace(/{id}/gi,r),o}function cj(e){const n=Number(e);return Number.isFinite(n)&&Math.abs(n)<1e12?n*1e3:n}function oC(e){return Hm([e],(n,r)=>({lenses:[{range:r,command:{id:"",title:`$(calendar) ${new Date(cj(n)).toLocaleString("en",{dateStyle:"full",timeStyle:"full"})}`}}],dispose:()=>{}}))}function dj(e,n){const r=`kong.entities-plugins.codeEditor.command.${oj()}`,o=`${r}.copy`,i=`${r}.viewEntity`,{axiosInstance:a}=ue.useAxios(n??e.axiosRequestConfig),s=Ar.useRouter(),{i18n:{t:l}}=Qe(),{getSchemaMap:c}=lt(),d=aj();function u(p,m){const h=new Map,y=new bo.Emitter,g=`${r}.${p}.reloadCodeLensProvider`,_=Hm(m??[p],async(N,C)=>{const w=N?.id;if(!w)return Ka.emptyCodeLensList();h.has(w)||h.set(w,(async()=>{const I=lj(e,`${p}s`,w),T=await a.get(I);if(T.status<200||T.status>=300)throw new Error(T.statusText);if(p==="consumer_group"&&T.data?.consumer_group)return{data:T.data.consumer_group};if(p==="certificate"){const A=T.data?.cert;if(!A)throw new Error("Missing certificate");await Promise.resolve().then(()=>T9);const{X509Certificate:v}=await Promise.resolve().then(()=>P7);return{data:T.data,cert:new v(A)}}return{data:T.data}})());const S=d[p];return{lenses:[...S.fields.map(I=>({id:`${w}:${I.id}`,range:C})),{range:C,command:{id:i,title:`${l("plugins.free-form.code-lens.action.view_entity",{title:S.title})} $(link-external)`,arguments:[p,w]}},...(S.commands??[]).map(I=>({id:`${w}:${I.id}`,range:C}))],dispose:()=>{}}}),k={provideCodeLenses:_.provideCodeLenses,resolveCodeLens:async(N,C,w)=>{if(C=(_.resolveCodeLens&&await _.resolveCodeLens(N,C,w))??C,!C.id)return C;const S=C.id.indexOf(":"),x=C.id.indexOf("/"),I=C.id.substring(0,S),T=C.id.substring(S+1,x);try{const A=await h.get(I);if(!A)throw new Error("Expected the cached entity to be non-empty");const v=d[p],P=C.id.substring(S+1);switch(T){case"field":{const R=await v.fields.find(Q=>Q.id===P)?.resolve(A);R&&(C.command={id:"",title:R});break}case"cmd":{const R=await v.commands?.find(Q=>Q.id===P)?.resolve(A,o);R&&(C.command=R);break}}}catch(A){console.error("Error resolving code lens:",A),C.command={id:g,title:`$(warning) ${l("plugins.free-form.code-lens.action.retry_fetch")}`,arguments:[I],tooltip:A instanceof Error?A.message:l("plugins.free-form.code-lens.unknown_error")}}return C},onDidChange:y.event},b=bo.editor.registerCommand(g,(N,C)=>{h.delete(C),y.fire(k)});return{provider:k,dispose:()=>{y.dispose(),b.dispose()}}}function f(p){Wm.get(p)?.();const m=[bo.languages.registerCodeLensProvider({language:"yaml",scheme:p.uri.scheme,pattern:p.uri.path},Ka.collectCodeLensProviders([nC({copyCommandId:o,title:l("plugins.free-form.code-lens.action.copy_uuid")}),oC("created_at"),oC("updated_at")]))],h=sj(c());for(const{entity:_,keyPath:k}of h){const b=u(_,k);m.push(bo.languages.registerCodeLensProvider({language:"yaml",scheme:p.uri.scheme,pattern:p.uri.path},b.provider),{dispose:b.dispose})}const y={service:e.viewServiceRoute,route:e.viewRouteRoute,consumer:e.viewConsumerRoute,consumer_group:e.viewConsumerGroupRoute,certificate:e.viewCertificateRoute};m.push(bo.editor.registerCommand(o,(_,k)=>{const b=String(k);if(!navigator.clipboard?.writeText){console.warn("[useCodeLensProviders] Clipboard API is unavailable");return}navigator.clipboard.writeText(b).catch(N=>{console.warn("[useCodeLensProviders] Failed to copy to clipboard:",N)})}),bo.editor.registerCommand(i,(_,k,b)=>{const N=y[k]?.(b);N&&window.open(s.resolve(N).href,"_blank","noopener")}));const g=()=>{Wm.delete(p),m.splice(0,m.length).forEach(_=>{try{_.dispose()}catch(k){console.warn("[useCodeLensProviders] Failed to dispose:",k)}})};return Wm.set(p,g),p.onWillDispose(g),g}return{setup:f}}const uj={class:"plugin-code-editor","data-testid":"plugin-code-editor"},fj="YAML Syntax",pj=xe(t.defineComponent({__name:"CodeEditor",emits:["change","sourceChange","error"],setup(e,{emit:n}){const r=t.inject("app:konnectColorMode",t.computed(()=>"light")),o=t.inject(Je.FORMS_CONFIG),{formData:i,setValue:a}=lt(),s=n,l=t.shallowRef(null),{setup:c}=dj(o,{validateStatus:h=>h>=200&&h<500});function d(){return Lc(eo(t.toRaw(i),["__ui_data"]),{schema:Do,seqNoIndent:!0})}const u=t.shallowRef(d()),f={scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep",editContext:!1};function p(h){const y=h.getModel();y&&(c(y),l.value=h,h.onDidChangeModelContent(()=>{try{const g=io(h.getValue()||"",{schema:Do,json:!0});if(s("sourceChange",h.getValue()),typeof g!="object"||g===null)return;Ml.editor.setModelMarkers(y,fj,[]),a(g),s("change",g)}catch(g){const _=g instanceof Error?g.message:String(g);s("error",_)}}),m())}function m(){const h=l.value,y=h?.getModel();!h||!y||(h.setPosition(y.getFullModelRange().getEndPosition()),h.focus())}return(h,y)=>(t.openBlock(),t.createElementBlock("div",uj,[(t.openBlock(),t.createBlock(t.unref(Ka.MonacoEditor),{key:t.unref(r),ref:"editor",modelValue:u.value,"onUpdate:modelValue":y[0]||(y[0]=g=>u.value=g),class:"editor",language:"yaml",options:f,theme:t.unref(r),onReady:p},null,8,["modelValue","theme"]))]))}}),[["__scopeId","data-v-0889c96f"]]),ra={jqlang:"https://jqlang.org/manual/",condition:"https://developer.konghq.com/gateway/plugins/expressions/",customPluginSandboxing:"https://developer.konghq.com/gateway/sandboxing/",pluginPriority:"https://developer.konghq.com/gateway/entities/plugin/#plugin-priority"},mj={class:"label-content"},gj=xe(t.defineComponent({__name:"ConditionField",setup(e){const n=t.useId(),{i18n:{t:r},i18nT:o}=Qe();return(i,a)=>{const s=t.resolveComponent("KLabel"),l=t.resolveComponent("KExternalLink");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(s,{for:t.unref(n),label:t.unref(r)("plugins.form.fields.condition.label")},{default:t.withCtx(()=>[t.createElementVNode("div",mj,[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.form.fields.condition.label"))+" ",1),t.createVNode(t.unref(_e.KTooltip),{class:"label-tooltip"},{content:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.form.fields.condition.tooltip")),1)]),default:t.withCtx(()=>[t.createVNode(t.unref(Ne.InfoIcon),{class:"tooltip-trigger-icon",tabindex:"0"})]),_:1})])]),_:1},8,["for","label"]),t.createVNode(Me,{"input-id":t.unref(n),label:"",name:"condition",placeholder:t.unref(r)("plugins.form.fields.condition.placeholder")},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.form.fields.condition.help.about"},{link:t.withCtx(()=>[t.createVNode(l,{"hide-icon":"",href:t.unref(ra).condition},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.form.fields.condition.help.learn")),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["input-id","placeholder"])])}}}),[["__scopeId","data-v-22ab50f7"]]),Wt=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{},renderRules:{}},emits:["change","globalAction"],setup(e,{expose:n,emit:r}){const o=r,i=t.useSlots(),{getSchema:a,formData:s,setValue:l,getValue:c,rootRenderRules:d,getEmptyValue:u}=cw({schema:e.schema,propsData:t.computed(()=>e.data),propsConfig:()=>e.config,propsRenderRules:t.toRef(()=>e.renderRules),onChange:p=>o("change",p)}),f=t.computed(()=>{const{fields:p}=a();let m=[...p];return e.fieldsOrder?rw(m,e.fieldsOrder):(d.value?.bundles&&(m=ow([...m],d.value.bundles)),m)});return n({getValue:c,getRawValue:()=>t.toRaw(s),setValue:l,getEmptyValue:u}),(p,m)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)[t.unref($o)]))),t.renderSlot(p.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,h=>(t.openBlock(),t.createBlock(Xe,{key:Object.keys(h)[0],name:Object.keys(h)[0],onGlobalAction:m[0]||(m[0]=(y,g)=>o("globalAction",y,g))},null,8,["name"]))),128))])]),_:3}))}}),mt=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:r}=t.useSlots(),{fieldRendererRegistry:o}=lt();return r&&o.set(n.match,r),(i,a)=>null}}),oa=Symbol("redis-partial-info"),Vs=Symbol("free-form-editing"),hj={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},yj={class:"partial-config-card"},_j={class:"config-card-row-label"},bj={class:"label-text"},kj=["data-testid"],wj=["data-testid"],Cj={key:1},Ej=["data-testid"],Nj=["data-testid"],Sj=xe(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:r}=Ft.createI18n("en-us",zt),o={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:r,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:r,order:3}},i=e,a=f=>f!=null,s=(f,p)=>a(p)&&["password","sentinel_password"].includes(f)?"password":"text",{convertKeyToTitle:l}=ue.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([f,p])=>({key:f,label:o[f]?.label??l(f),value:o[f]?.formatter?o[f].formatter(p):p,type:o[f]?.type??s(f,p),order:o[f]?.order??100})).sort((f,p)=>f.order-p.order).filter(f=>f.type!=="hidden")),d=s2(i.configFields,i.pluginRedisFields||[]),u=t.computed(()=>c.value.concat(d));return(f,p)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",yj,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,({key:h,label:y,value:g,type:_})=>(t.openBlock(),t.createElementBlock("div",{key:h,class:"partial-config-card-row"},[t.createElementVNode("div",_j,[t.createElementVNode("div",bj,t.toDisplayString(y),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${h}-property-value`},[a(g)?(t.openBlock(),t.createElementBlock("div",Cj,[_==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-copy-password`},[t.createVNode(m,{format:"redacted",text:String(g)},null,8,["text"])],8,Ej)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${h}-plain-text`},t.toDisplayString(g),9,Nj))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-no-value`}," – ",8,wj))],8,kj)]))),128))])}}}),[["__scopeId","data-v-82dcdf99"]]),Aj={key:0,class:"redis-config-card-title"},xj={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Ij={class:"shared-redis-config"},vj={class:"shared-redis-config-title"},Tj={class:"redis-config-select","data-testid":"redis-config-select"},Bj={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},sd=xe(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{},isKonnectManagedRedisEnabled:{type:Boolean,default:!1},borderless:{type:Boolean}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),r=["host","port","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","timeout","read_timeout","send_timeout","connect_timeout","connection_is_proxied","redis_proxy_type","cloud_authentication"],o={dependencies:{"cloud_authentication.aws_cache_name":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_region":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_is_serverless":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_access_key_id":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_secret_access_key":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_assume_role_arn":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_role_session_name":["cloud_authentication.auth_provider","aws"],"cloud_authentication.gcp_service_account_json":["cloud_authentication.auth_provider","gcp"],"cloud_authentication.azure_client_id":["cloud_authentication.auth_provider","azure"],"cloud_authentication.azure_client_secret":["cloud_authentication.auth_provider","azure"],"cloud_authentication.azure_tenant_id":["cloud_authentication.auth_provider","azure"],"cloud_authentication.oauth":["cloud_authentication.auth_provider","oauth"],"cloud_authentication.oauth.username":["cloud_authentication.oauth.grant_type","password"],"cloud_authentication.oauth.password":["cloud_authentication.oauth.grant_type","password"]}},i=e,a=Ql(),s=t.inject(oa),l=s?.isEditing||!1,c=t.computed(()=>i.redisPath?i.redisPath:s?.redisPath?.value?"$."+s.redisPath.value:"$.config.redis"),d=i.redisType||s?.redisType?.value,u=t.computed(()=>!!s?.redisType?.value),f=t.ref(null),p=t.ref(!l),{getMessageFromError:m}=ue.useErrors(),h=t.ref(i.defaultRedisConfigItem),y=t.ref({}),g=t.ref(),{value:_}=Ec("$.partials"),{value:k,hide:b}=$t(c),N=t.inject(Je.FORMS_CONFIG),C=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.title"):n("redis.title")),w=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.description"):n("redis.shared_configuration.description")),S=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.label"):n("redis.shared_configuration.label")),x=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.dedicated_configuration.description"):n("redis.dedicated_configuration.description")),I=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.dedicated_configuration.label"):n("redis.dedicated_configuration.label")),T=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.selector.create_new"):void 0),A=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.selector.placeholder"):void 0),v=t.ref(null),P=H=>{v.value=H},O=H=>{let j=`${N.apiBaseUrl}${hj[N.app].getOne}`;return N.app==="konnect"&&(j=j.replace(/{controlPlaneId}/gi,N?.controlPlaneId||"")),j=j.replace(/\/{workspace}/gi,N?.workspace?`/${N.workspace}`:"").replace(/{id}/gi,String(H)),j},{axiosInstance:R}=ue.useAxios(N?.axiosRequestConfig),Q=()=>{p.value?(g.value&&(_.value=g.value,h.value=g.value[0].id,k.value=void 0),k?.value&&(y.value=k.value)):(Object.keys(y.value).length&&(k.value=y.value),_?.value&&(g.value=_.value),_.value=l?null:void 0)},pe=async H=>{if(!H){h.value=void 0,f.value=null,_.value=l?null:void 0;return}h.value=H,_.value=[{id:H}],g.value=[{id:H}],k.value=void 0;try{const j=await R.get(O(H));if(j.data.config){const D=Object.assign(j.data,j.data.config);delete D.config,f.value=D}}catch(j){console.error(j)}};return t.watch(()=>p.value,()=>{Q()}),t.onBeforeMount(()=>{if(i.defaultRedisConfigItem||_?.value){const H=i.defaultRedisConfigItem||_?.value?.[0].id;pe(H),p.value=!0}else k?.value&&(y.value=k.value)}),t.watch(()=>b?.value,H=>{p.value&&(H&&_.value?_.value=l?null:void 0:H||g.value&&(_.value=g.value,pe(g.value[0].id)))}),(H,j)=>{const D=t.resolveComponent("KBadge"),ee=t.resolveComponent("KRadio");return u.value?t.withDirectives((t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.borderless?"div":t.unref(_e.KCard)),{key:0,class:t.normalizeClass(["redis-config-card",{"redis-config-card--borderless":e.borderless}]),"data-testid":"redis-config-card",title:e.borderless?void 0:C.value},{default:t.withCtx(()=>[e.borderless?(t.openBlock(),t.createElementBlock("div",Aj,t.toDisplayString(C.value),1)):t.createCommentVNode("",!0),t.createElementVNode("div",xj,[t.createVNode(ee,{modelValue:p.value,"onUpdate:modelValue":j[0]||(j[0]=K=>p.value=K),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:w.value,label:S.value,"selected-value":!0},{default:t.withCtx(()=>[e.isKonnectManagedRedisEnabled?(t.openBlock(),t.createBlock(D,{key:0,appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("redis.managed_ui.shared_configuration.badge")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1},8,["modelValue","description","label"]),t.createVNode(ee,{modelValue:p.value,"onUpdate:modelValue":j[1]||(j[1]=K=>p.value=K),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:x.value,label:I.value,"selected-value":!1},null,8,["modelValue","description","label"])]),t.withDirectives(t.createElementVNode("div",Ij,[t.createElementVNode("div",vj,t.toDisplayString(t.unref(n)("redis.shared_configuration.title")),1),t.createElementVNode("div",Tj,[t.createVNode(t.unref(mf.RedisConfigurationSelector),{"create-button-text":T.value,"data-testid":"redis-config-select-trigger","is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"model-value":h.value,placeholder:A.value,"redis-type":t.unref(d),"show-create-button":!t.unref(Je.hideNewRedis)(t.unref(N)),onErrorChange:P,onToast:t.unref(a),"onUpdate:modelValue":pe},null,8,["create-button-text","is-konnect-managed-redis-enabled","model-value","placeholder","redis-type","show-create-button","onToast"])]),f.value?(t.openBlock(),t.createBlock(Sj,{key:0,"config-fields":f.value},null,8,["config-fields"])):t.createCommentVNode("",!0),v.value?(t.openBlock(),t.createElementBlock("p",Bj,t.toDisplayString(t.unref(m)(v.value)),1)):t.createCommentVNode("",!0)],512),[[t.vShow,p.value]]),p.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Rt,t.mergeProps({key:1},i,{"as-child":"","fields-order":r,name:c.value,"render-rules":o,"reset-label-path":"reset"}),null,16,["name"]))]),_:1},8,["class","title"])),[[t.vShow,!t.unref(b)]]):t.withDirectives((t.openBlock(),t.createBlock(Rt,t.mergeProps({key:1},i,{"fields-order":r,"hide-required-asterisk":"",name:c.value,"render-rules":o}),null,16,["name"])),[[t.vShow,!t.unref(b)]])}}}),[["__scopeId","data-v-649c9977"]]),Ym=t.defineComponent({inheritAttrs:!1,__name:"PluginConfigurationForm",props:{controlledFields:{},prepareFormData:{type:Function},schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean}},emits:["change"],setup(e,{expose:n,emit:r}){const o=e,i=r,a=t.useAttrs(),s=t.useId(),l=t.useTemplateRef("form"),c=t.inject(oa,void 0),d=t.computed(()=>o.fieldRenderers??[]),u=t.computed(()=>a["data-testid"]??"ff-plugin-configuration-form"),f=t.computed(()=>{const{"data-testid":y,...g}=a;return g}),p=t.computed(()=>{const y=o.formConfig;return{...y??{},hasValue:y?.hasValue??(g=>!!g&&Object.keys(g).length>0),prepareFormData:g=>{const _=y?.prepareFormData?.(g)??g;return o.prepareFormData?.(_)??_}}}),m=t.computed(()=>Array.isArray(o.controlledFields)?Gf(o.model,o.controlledFields):o.model);function h(y){i("change",y),o.onFormChange(y,o.controlledFields)}return n({getValue:()=>l.value?.getValue(),setValue:y=>l.value?.setValue(y),getEmptyValue:()=>l.value?.getEmptyValue()}),fw(()=>o.schema,s),(y,g)=>(t.openBlock(),t.createBlock(Wt,t.mergeProps({ref:"form"},f.value,{class:"ff-plugin-configuration-form",config:p.value,data:m.value,"data-instance-id":t.unref(s),"data-plugin-name":e.pluginName,"data-testid":u.value,"render-rules":e.renderRules,schema:e.schema,tag:"div",onChange:h}),t.createSlots({[t.unref($o)]:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(_,k)=>(t.openBlock(),t.createBlock(mt,{key:`${e.pluginName}-${k}`,match:t.unref(c2)(_.match)},{default:t.withCtx(b=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(_.component),t.mergeProps({ref_for:!0},{...b,...(typeof _.propsOverrides=="function"?_.propsOverrides(b):_.propsOverrides)??{}}),null,16))]),_:2},1032,["match"]))),128)),t.createVNode(mt,{match:({path:_})=>_===t.unref(c)?.redisPath?.value},{default:t.withCtx(()=>[t.createVNode(sd,{"is-konnect-managed-redis-enabled":o.isKonnectManagedRedisEnabled??!1},null,8,["is-konnect-managed-redis-enabled"])]),_:1},8,["match"]),t.renderSlot(y.$slots,"field-renderers")]),_:2},[y.$slots.default?{name:"default",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"default")]),key:"0"}:void 0]),1040,["config","data","data-instance-id","data-plugin-name","data-testid","render-rules","schema"]))}}),Oj={class:"radio-group"},Pj={key:0,class:"scope-detail"},Vj=xe(t.defineComponent({inheritAttrs:!1,__name:"StandardLayout",props:t.mergeModels({formSchema:{},formModel:{},schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean,default:!1},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},{editorMode:{},editorModeModifiers:{}}),emits:["update:editorMode"],setup(e){const n=["config","partials","__ui_data","enabled","protocols","instance_name","condition","tags","consumer","consumer_group","route","service"],{i18n:{t:r}}=Qe(),o=t.createPropsRestProxy(e,["hideEditorModeSwitcher"]),i=t.useAttrs(),a=t.inject(Bn.KM_2262_CODE_MODE,!1),s=Ot.useLocalStorage("plugin-editor-mode","form"),l=t.useModel(e,"editorMode"),c=t.computed({get:()=>l.value??(a?s.value:"form"),set:K=>{l.value=K}}),d=t.computed(()=>a&&!e.hideEditorModeSwitcher),u=[{label:r("plugins.free-form.editor_mode.visual"),value:"form"},{label:r("plugins.free-form.editor_mode.code"),value:"code"}];function f(K){c.value=K,s.value=K}const p=t.useSlots(),m=t.computed(()=>2+(o.configSections?.length??1)),h=t.computed(()=>g.value?.disabled?{class:"disabled-scope",maxWidth:"300",text:r("plugins.form.scoping.disable_global_radio")}:{class:"scope"}),y=t.computed(()=>o.formSchema?.groups?o.formSchema.groups.reduce((K,J)=>{const ce=J.fields,z=J.collapsible?.nestedCollapsible?.fields?ce.concat(J.collapsible.nestedCollapsible.fields):ce;return K.concat(z)},[]):o.formSchema?.fields||[]),g=t.computed(()=>y.value.find(K=>K.type==="selectionGroup")),_=t.computed(()=>(g.value?.fields||[]).map(({label:K,description:J})=>({label:K,description:J}))),k=t.computed(()=>g.value?.fields?.[1]),b=t.computed(()=>(k.value?.fields??[]).map(K=>({name:K.model.split("-")[0],entity:K.entity,fields:K.inputValues?.fields,label:K.label,placeholder:K.placeholder,help:K.help,disabled:K.disabled,disabledTooltip:K.disabledTooltip,labelField:K.labelField}))),N=["instance_name","protocols","tags","condition"],C=["config"],w=t.computed(()=>{const K={type:"record",fields:o.schema.fields.filter(z=>C.includes(Object.keys(z)[0]))},J=y.value.find(z=>z.model==="enabled");return[...J?[J]:[],...k.value?.fields??[],...y.value.filter(z=>N.includes(z.model))].forEach(z=>{if(z.type==="AutoSuggest")K.fields.push({[z.model.split("-")[0]]:{type:"foreign",reference:z.entity,description:z.help}});else if(z.model==="enabled")K.fields.push({[z.model]:{type:"boolean",default:!0}});else if(z.model==="instance_name"||z.model==="condition")K.fields.push({[z.model]:{type:"string",description:z.help}});else if(z.model==="protocols")K.fields.push({[z.model]:{type:"set",elements:{type:"string",one_of:z.values.map(oe=>oe.value)},default:[...z.default],required:z.required,description:z.help,help:z.default?r("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:z.default.join(", ")}):r("plugins.form.fields.protocols.placeholder")}});else if(z.model==="tags")K.fields.push({[z.model]:{type:"set",elements:{type:"string"},description:z.help,default:z.default||[]}});else throw new Error(`Unsupported VFG field type '${z.type}' for model '${z.model}'`)}),K}),S=t.computed(()=>new Set(w.value.fields.map(K=>Object.keys(K)[0]))),x=t.computed(()=>Gf(o.model,n)),I=t.computed(()=>k.value?.fields.map(K=>K.model)??[]),T=t.computed(()=>I.value.map(K=>K.split("-")[0])),A=t.ref(o.isEditing?Gf(x.value,T.value):D()),v=t.ref(Object.values(A.value).some(j)),P=t.useTemplateRef("form");let O=!1;function R(K){return o.isEditing?K:{...K,...D()}}function Q(){if(!P.value)return;const{getValue:K,setValue:J,getEmptyValue:ce}=P.value,oe={...K()};v.value?T.value.forEach(Pe=>{oe[Pe]=A.value[Pe]??ce()}):T.value.forEach(Pe=>{oe[Pe]=ce()}),O=!0,J(oe),t.nextTick(()=>{O=!1})}function pe(K){if(O||H(K),c.value==="code"){const J=T.value.some(ce=>j(K[ce]));J!==v.value&&(v.value=J)}}function H(K){T.value.forEach(J=>{const ce=K[J];Xl(ce,"id")&&ce.id!=null?A.value[J]=ce:A.value[J]=null})}function j(K){return Xl(K,"id")&&K.id!=null}function D(){const K={};return I.value.forEach(J=>{if(o.formModel[J]){const ce=J.split("-")[0];if(!ce)return;K[ce]={id:o.formModel[J]}}}),K}const ee=t.ref(!0);return(K,J)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[d.value?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:"#plugin-form-page-actions"},[t.createVNode(t.unref(_e.KSegmentedControl),{"data-testid":"plugin-editor-mode-switcher","model-value":c.value,options:u,"onUpdate:modelValue":f},null,8,["model-value"])])):t.createCommentVNode("",!0),t.createVNode(Ym,t.mergeProps({ref:"form"},t.unref(i),{class:"ff-standard-layout","controlled-fields":n,"data-testid":"ff-standard-layout-form","field-renderers":e.fieldRenderers,"form-config":o.formConfig,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,model:e.model,"on-form-change":e.onFormChange,"plugin-name":e.pluginName,"prepare-form-data":R,"render-rules":e.renderRules,schema:w.value,onChange:pe}),{"field-renderers":t.withCtx(()=>[t.renderSlot(K.$slots,"field-renderers",{},void 0,!0)]),default:t.withCtx(()=>[c.value==="form"?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:0,"data-testid":"form-section-plugin-scope",description:e.generalInfoDescription??t.unref(r)("plugins.form.sections.plugin_scope.description"),step:1,title:e.generalInfoTitle??t.unref(r)("plugins.form.sections.plugin_scope.title")},t.createSlots({default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.value?.disabled?t.unref(_e.KTooltip):"div"),t.normalizeProps(t.guardReactiveProps(h.value)),{default:t.withCtx(()=>[t.createElementVNode("div",Oj,[t.createVNode(t.unref(_e.KRadio),t.mergeProps({modelValue:v.value,"onUpdate:modelValue":J[0]||(J[0]=ce=>v.value=ce),card:"","card-orientation":"horizontal"},_.value[0],{disabled:g.value?.disabled,"selected-value":!1,"onUpdate:modelValue":Q}),null,16,["modelValue","disabled"]),_.value[1]?(t.openBlock(),t.createBlock(t.unref(_e.KRadio),t.mergeProps({key:0,modelValue:v.value,"onUpdate:modelValue":J[1]||(J[1]=ce=>v.value=ce),card:"","card-orientation":"horizontal"},_.value[1],{disabled:g.value?.disabled,"selected-value":!0,"onUpdate:modelValue":Q}),null,16,["modelValue","disabled"])):t.createCommentVNode("",!0)])]),_:1},16)),k.value?t.withDirectives((t.openBlock(),t.createElementBlock("div",Pj,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,ce=>(t.openBlock(),t.createBlock(A2,{key:ce.name,developer:e.developer,disabled:ce.disabled,"disabled-tooltip":ce.disabledTooltip,entity:ce.entity,fields:ce.fields,help:ce.help,label:ce.label,"label-field":ce.labelField,name:ce.name,placeholder:ce.placeholder},null,8,["developer","disabled","disabled-tooltip","entity","fields","help","label","label-field","name","placeholder"]))),128))],512)),[[t.vShow,v.value]]):t.createCommentVNode("",!0)]),_:2},[p["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,p["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,p["general-info-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])):t.createCommentVNode("",!0),c.value==="form"&&e.configSections?.length?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList(e.configSections,(ce,z)=>(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:ce.name,"data-testid":`form-section-${ce.name}`,description:ce.description,step:2+z,title:ce.title},{default:t.withCtx(()=>[t.renderSlot(K.$slots,`section-${ce.name}`,{},void 0,!0)]),_:2},1032,["data-testid","description","step","title"]))),128)):c.value==="form"?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:2,"data-testid":"form-section-plugin-config",description:e.pluginConfigDescription??t.unref(r)("plugins.form.sections.plugin_config.description"),step:2,title:e.pluginConfigTitle??t.unref(r)("plugins.form.sections.plugin_config.title")},t.createSlots({default:t.withCtx(()=>[t.renderSlot(K.$slots,"default",{},void 0,!0)]),_:2},[p["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,p["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,p["plugin-config-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])):t.createCommentVNode("",!0),c.value==="form"?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:3,"data-testid":"form-section-general-info",description:t.unref(r)("plugins.form.sections.plugin_general_info.description"),step:m.value,title:t.unref(r)("plugins.form.sections.general_info.title")},{default:t.withCtx(()=>[S.value.has("enabled")?(t.openBlock(),t.createBlock(gw,{key:0,"disabled-text":t.unref(r)("plugins.form.fields.plugin_status.text_off"),"enabled-text":t.unref(r)("plugins.form.fields.plugin_status.text_on"),label:t.unref(r)("plugins.form.fields.plugin_status.label"),name:"enabled"},null,8,["disabled-text","enabled-text","label"])):t.createCommentVNode("",!0),S.value.has("instance_name")?(t.openBlock(),t.createBlock(Me,{key:1,label:t.unref(r)("plugins.form.fields.instance_name.label"),name:"instance_name",placeholder:t.unref(r)("plugins.form.fields.instance_name.placeholder")},null,8,["label","placeholder"])):t.createCommentVNode("",!0),S.value.has("tags")?(t.openBlock(),t.createBlock(Lo,{key:2,help:t.unref(r)("plugins.form.fields.tags.help"),name:"tags",placeholder:t.unref(r)("plugins.form.fields.tags.placeholder")},null,8,["help","placeholder"])):t.createCommentVNode("",!0),S.value.has("protocols")?(t.openBlock(),t.createBlock(Xe,{key:3,name:"protocols"})):t.createCommentVNode("",!0),w.value.fields.find(ce=>Object.keys(ce)[0]==="condition")?(t.openBlock(),t.createBlock(t.unref(_e.KCollapse),{key:4,modelValue:ee.value,"onUpdate:modelValue":J[2]||(J[2]=ce=>ee.value=ce),"data-testid":"view-general-info-additional-settings","trigger-label":ee.value?t.unref(r)("plugins.form.grouping.advanced_parameters.view"):t.unref(r)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createVNode(gj)]),_:1},8,["modelValue","trigger-label"])):t.createCommentVNode("",!0)]),_:1},8,["description","step","title"])):t.createCommentVNode("",!0),c.value==="code"?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:4,description:t.unref(r)("plugins.form.sections.code_mode.description"),title:t.unref(r)("plugins.form.sections.code_mode.title")},{default:t.withCtx(()=>[t.renderSlot(K.$slots,"code-editor",{},()=>[t.createVNode(pj)],!0)]),_:3},8,["description","title"])):t.createCommentVNode("",!0)]),_:3},16,["field-renderers","form-config","is-konnect-managed-redis-enabled","model","on-form-change","plugin-name","render-rules","schema"])],64))}}),[["__scopeId","data-v-933d9a4b"]]),iC=Symbol.for("kong-ui-public.entities-plugins.free-form-plugin-layout");function $j(e){t.provide(iC,e)}const On=t.defineComponent({inheritAttrs:!1,__name:"DynamicLayout",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useAttrs(),o=t.useSlots(),i=t.inject(iC,Vj),a=t.computed(()=>({...r,...n}));return(s,l)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.normalizeProps(t.guardReactiveProps(a.value)),t.createSlots({_:2},[t.renderList(t.unref(o),(c,d)=>({name:d,fn:t.withCtx(u=>[t.renderSlot(s.$slots,d,t.normalizeProps(t.guardReactiveProps(u??{})))])}))]),1040))}}),Rj={class:"ff-acl-mode"},Lj={class:"ff-acl-mode-options"},Dj=xe(t.defineComponent({__name:"ACLModeCard",setup(e){const n=["allow","deny","allow_when","deny_when"],r=["allow_when","deny_when"],{formData:o,getLabelAttributes:i,getSchema:a,getEmptyValue:s}=lt(),{i18n:{t:l},i18nT:c}=Qe(),d=t.computed(()=>n.filter(k=>!!a(`config.${k}`))),u=t.ref("allow"),f=t.computed(()=>r.includes(u.value)),p=t.computed(()=>d.value.some(k=>r.includes(k))),m=t.computed(()=>u.value==="deny_when"?{description:"plugins.free-form.acl.field.deny_when.description",helpText:"plugins.free-form.acl.field.deny_when.help.text",helpLearn:"plugins.free-form.acl.field.deny_when.help.learn"}:{description:"plugins.free-form.acl.field.allow_when.description",helpText:"plugins.free-form.acl.field.allow_when.help.text",helpLearn:"plugins.free-form.acl.field.allow_when.help.learn"}),h=t.computed(()=>{const k=i(`config.${u.value}`);return f.value?{...k,info:l(m.value.description)}:k}),y=t.ref(!1),g=t.ref({});t.watch(()=>o.config,k=>{if(y.value||!k)return;const b=d.value.find(N=>Array.isArray(k[N])&&k[N].length>0);b&&(u.value=b)},{deep:!0,immediate:!0});function _(){y.value=!0;const k=o.config;if(!k)return;for(const N of d.value)N!==u.value&&(k[N]&&(g.value[N]=[...k[N]]),k[N]=s());const b=g.value[u.value];b&&(k[u.value]=[...b])}return(k,b)=>{const N=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Rj,[t.createVNode(N,{class:"ff-acl-mode-label",info:p.value?t.unref(l)("plugins.free-form.acl.mode.title.description"):void 0,"tooltip-attributes":{maxWidth:"300px"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)("plugins.free-form.acl.mode.title.label")),1)]),_:1},8,["info"]),t.createElementVNode("div",Lj,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,C=>(t.openBlock(),t.createBlock(t.unref(_e.KRadio),{key:C,modelValue:u.value,"onUpdate:modelValue":[b[0]||(b[0]=w=>u.value=w),_],card:"","card-orientation":"horizontal","data-testid":`ff-acl-mode-${C}`,description:t.unref(l)(`plugins.free-form.acl.mode.${C}.description`),label:t.unref(l)(`plugins.free-form.acl.mode.${C}.label`),"selected-value":C},null,8,["modelValue","data-testid","description","label","selected-value"]))),128))])]),(t.openBlock(),t.createBlock(dt,{key:u.value,"add-item-label":t.unref(l)(`plugins.free-form.acl.field.${u.value}.add`),label:t.unref(l)(`plugins.free-form.acl.field.${u.value}.label`),"label-attributes":h.value,name:`config.${u.value}`},{item:t.withCtx(({autofocus:C,fieldName:w})=>[t.createVNode(Me,{autofocus:C,multiline:f.value,name:w,placeholder:t.unref(l)(`plugins.free-form.acl.field.${u.value}.placeholder`),rows:f.value?2:void 0},t.createSlots({_:2},[f.value?{name:"help",fn:t.withCtx(()=>[t.createVNode(t.unref(c),{keypath:m.value.helpText},{link:t.withCtx(()=>[t.createVNode(t.unref(_e.KExternalLink),{"hide-icon":"",href:t.unref(ra).condition},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)(m.value.helpLearn)),1)]),_:1},8,["href"])]),_:1},8,["keypath"])]),key:"0"}:void 0]),1032,["autofocus","multiline","name","placeholder","rows"])]),_:1},8,["add-item-label","label","label-attributes","name"]))],64)}}}),[["__scopeId","data-v-61d178a2"]]),Mj=Ce({experimental:!0,component:t.defineComponent({__name:"ACLForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();return t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]),(o,i)=>(t.openBlock(),t.createBlock(On,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(()=>[t.createVNode(Dj),t.createVNode(Rt,{"as-child":"",name:"config",omit:["allow","deny","allow_when","deny_when"],"reset-label-path":"reset"})]),_:1},16))}})}),Fj=Ce({experimental:!0}),jj=Ce({experimental:!0}),Uj=Ce({experimental:!0}),Kj=Ce({experimental:!0,fieldRenderers:[{match:"config.categories",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Category`}}]}),qj=Ce({fieldRenderers:[{match:"config.functions",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),Gj=Ce({experimental:!0,fieldRenderers:[{match:"config.gcp_service_account_json",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),zj=Ce({experimental:!0}),Hj=Ce({experimental:!0,fieldRenderers:[{match:"config.prompt",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),Wj=Ce({experimental:!0}),Yj=Ce({component:t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=it.useI18n();return(i,a)=>(t.openBlock(),t.createBlock(On,t.normalizeProps(t.guardReactiveProps(n)),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:s})=>s==="config.default_acl"},{default:t.withCtx(s=>[t.createVNode(dt,t.mergeProps(s,{appearance:"tabs","item-label":(l,c)=>t.unref(o)("plugins.free-form.ai-mcp-proxy.default_acl_item_label",{index:c+1}),"sticky-tabs":""}),null,16,["item-label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:s})=>s==="config.tools"},{default:t.withCtx(s=>[t.createVNode(dt,t.mergeProps(s,{appearance:"tabs","item-label":(l,c)=>t.unref(o)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:c+1}),"sticky-tabs":""}),null,16,["item-label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:s})=>s==="config.tools.*.query"||s==="config.tools.*.headers"},{default:t.withCtx(s=>[t.createVNode(_n,t.mergeProps(s,{"one-line":""}),{default:t.withCtx(({keyId:l})=>[t.createVNode(Lo,{name:l,placeholder:t.unref(o)("plugins.free-form.tag_helper")},null,8,["name","placeholder"])]),_:1},16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(Rt,{"as-child":"",name:"config","reset-label-path":"reset"})]),_:1},16))}})}),Jj=Ce({experimental:!0,fieldRenderers:[{match:"config.compression_ranges",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Range`}}]}),Xj=Ce({experimental:!0,fieldRenderers:[{match:"config.prompts.prepend.*.content",component:Me,propsOverrides:{multiline:!0,rows:4}},{match:"config.prompts.append.*.content",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),Zj=Ce({experimental:!0}),Qj=Ce({experimental:!0,fieldRenderers:[{match:"config.templates",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Template`}},{match:({genericPath:e})=>e==="config.templates.*.template",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),eU=Ce({experimental:!0,fieldRenderers:[{match:"config.targets",component:dt,propsOverrides:{appearance:"tabs",stickyTabs:!0,itemLabel:(e,n)=>`#${n+1} Target`}},{match:"config.acls.allow",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Allow`}},{match:({genericPath:e})=>["config.acls.allow.*.match","config.acls.deny.*.match"].includes(e),component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Match`}},{match:"config.acls.deny",component:dt,propsOverrides:{appearance:"tabs",stickyTabs:!0,itemLabel:(e,n)=>`#${n+1} Deny`}}]}),tU=Ce({experimental:!0}),ld=[{match:"config.vectordb.redis.sentinel_nodes",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>` #${n+1} Sentinel node`}},{match:"config.vectordb.redis.cluster_nodes",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>` #${n+1} Cluster node`}}],cd={bundles:[["config.vectordb.strategy","config.vectordb.redis","config.vectordb.pgvector"]],dependencies:{"config.vectordb.redis":["config.vectordb.strategy","redis"],"config.vectordb.pgvector":["config.vectordb.strategy","pgvector"],"config.vectordb.redis.cloud_authentication.aws_cache_name":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_region":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_is_serverless":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_access_key_id":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_secret_access_key":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_assume_role_arn":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_role_session_name":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.gcp_service_account_json":["config.vectordb.redis.cloud_authentication.auth_provider","gcp"],"config.vectordb.redis.cloud_authentication.azure_client_id":["config.vectordb.redis.cloud_authentication.auth_provider","azure"],"config.vectordb.redis.cloud_authentication.azure_client_secret":["config.vectordb.redis.cloud_authentication.auth_provider","azure"],"config.vectordb.redis.cloud_authentication.azure_tenant_id":["config.vectordb.redis.cloud_authentication.auth_provider","azure"],"config.vectordb.redis.cloud_authentication.oauth":["config.vectordb.redis.cloud_authentication.auth_provider","oauth"],"config.vectordb.redis.cloud_authentication.oauth.username":["config.vectordb.redis.cloud_authentication.oauth.grant_type","password"],"config.vectordb.redis.cloud_authentication.oauth.password":["config.vectordb.redis.cloud_authentication.oauth.grant_type","password"]}},nU=Ce({experimental:!0,fieldRenderers:[...ld,{match:"config.inject_template",component:Me,propsOverrides:{multiline:!0,rows:8}}],renderRules:cd}),rU=Ce({experimental:!0,renderRules:{bundles:[["config.strategy","config.redis"]],dependencies:{"config.redis":["config.strategy","redis"]}}}),oU=Ce({experimental:!0,fieldRenderers:[{match:"config.prompt",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),iU=Ce({experimental:!0,fieldRenderers:[{match:"config.prompt",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),aU=Ce({experimental:!0,fieldRenderers:[{match:"config.anonymize",component:St,propsOverrides:{multiple:!0}},{match:"config.custom_patterns",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Pattern`}}]}),sU=Ce({experimental:!0,fieldRenderers:ld,renderRules:cd}),lU=Ce({experimental:!0,fieldRenderers:[...ld,{match:"config.rules.allow_prompts.*",component:Me,propsOverrides:{multiline:!0,rows:2}},{match:"config.rules.deny_prompts.*",component:Me,propsOverrides:{multiline:!0,rows:2}}],renderRules:cd}),cU=Ce({experimental:!0,fieldRenderers:[...ld,{match:"config.rules.allow_responses.*",component:Me,propsOverrides:{multiline:!0,rows:2}},{match:"config.rules.deny_responses.*",component:Me,propsOverrides:{multiline:!0,rows:2}}],renderRules:cd}),dU=Ce({experimental:!0}),uU=Ce(),fU=Ce({experimental:!0}),pU=Ce({experimental:!0}),aC=Symbol("fetched-realms"),mU={"data-testid":"ff-identity-realms-field"},gU=["innerHTML"],sC=t.defineComponent({__name:"IdentityRealmsField",props:{name:{},label:{},labelAttributes:{},required:{type:Boolean},placeholder:{},resetLabelPath:{}},setup(e){const n=e,{error:r,value:o,path:i}=$t(t.toRef(n,"name"));if(r)throw r;const a=Jt(i,n),s=t.inject(aC,void 0);return(l,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",mU,[t.createVNode(d,t.mergeProps({class:"ff-array-field-label"},t.unref(a),{"data-testid":`ff-label-${t.unref(i)}`,"tooltip-attributes":t.unref(a).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a).label)+" ",1)]),_:2},[t.unref(a).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(l.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,gU)])]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(Kk,{modelValue:t.unref(o),"onUpdate:modelValue":c[0]||(c[0]=u=>t.isRef(o)?o.value=u:null),realms:t.unref(s)},null,8,["modelValue","realms"])])}}}),hU={class:"ff-advanced-fields"},Yo=xe(t.defineComponent({__name:"AdvancedFields",props:{hideGeneralFields:{type:Boolean}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),{getSchema:r}=lt(),o=t.ref(!0);return(i,a)=>(t.openBlock(),t.createBlock(t.unref(_e.KCollapse),{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=s=>o.value=s),"data-testid":"view-advanced","trigger-label":o.value?t.unref(n)("plugins.form.grouping.advanced_parameters.view"):t.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createElementVNode("div",hU,[e.hideGeneralFields?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.unref(r)("instance_name")?(t.openBlock(),t.createBlock(Xe,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(r)("protocols")?(t.openBlock(),t.createBlock(Xe,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(r)("tags")?(t.openBlock(),t.createBlock(Lo,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:t.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0),t.unref(r)("condition")?(t.openBlock(),t.createBlock(Me,{key:3,name:"condition",placeholder:t.unref(n)("plugins.form.fields.condition.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0)],64)),t.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-baa317ec"]]),lC=Symbol("free-form-plugin-context"),cC=new WeakMap;function yU(e,n){const r=t.getCurrentInstance();if(!r)throw new Error("providePluginContext() must be called inside setup().");let o=cC.get(r);o||(o=t.reactive({}),cC.set(r,o),t.provide(lC,o));const i=o;i[e]=n}function dd(e){const n=t.inject(lC,null),r=n?.[e];return n&&r===void 0&&console.warn(`usePluginContext(): no context registered for plugin "${String(e)}". Call providePluginContext('${String(e)}', ...) in an ancestor component first.`),r}const _U={class:"kong-identity-field","data-testid":"ff-kong-identity-field"},bU={class:"kong-identity-description"},kU={class:"kong-identity-learn-more",href:"https://developer.konghq.com/kong-identity/",rel:"noopener noreferrer",target:"_blank"},wU={class:"kong-identity-options"},CU=xe(t.defineComponent({name:"KongIdentityField",__name:"KongIdentityField",props:t.mergeModels({identityRealmsInSchema:{type:Boolean},loadingRealms:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,{i18n:r}=it.useI18n(),{t:o}=r,{formData:i,getSchema:a,getEmptyOrDefault:s}=lt(),l=t.computed(()=>n.identityRealmsInSchema!==void 0?n.identityRealmsInSchema:!!a("$.config.identity_realms")),c=dd("key-auth"),d=t.computed(()=>c?.identityRealmsEnabled??!0),u=t.computed(()=>l.value&&d.value),f=t.computed(()=>l.value?o("custom_field.kong_identity.description_with_realms"):o("custom_field.kong_identity.description_without_realms")),p=t.computed(()=>l.value?o("custom_field.kong_identity.consumers_description_key_auth"):o("custom_field.kong_identity.consumers_description_basic_auth")),m=t.computed(()=>l.value?o("custom_field.kong_identity.kong_identity_description_key_auth"):o("custom_field.kong_identity.kong_identity_description_basic_auth")),h=t.useModel(e,"modelValue"),y=t.ref(h.value??"consumers");function g(_){if(i.config&&_!==y.value)switch(y.value=_,h.value=_,_){case"kong-identity":{i.config.principals={...s("$.config.principals"),enabled:!0,directory:"default"},l.value&&(i.config.identity_realms=[]),a("$.config.realm")?.required||(i.config.realm=null);break}case"consumers":{const k=!!a("$.config.principals")?.required;i.config.principals=k?s("$.config.principals"):null,l.value&&(i.config.identity_realms=[]);break}case"centrally-managed":{const k=!!a("$.config.principals")?.required;i.config.principals=k?s("$.config.principals"):null,i.config.identity_realms=[{scope:"cp",id:null,region:null}];break}}}return(_,k)=>(t.openBlock(),t.createElementBlock("div",_U,[t.createVNode(t.unref(_e.KLabel),{"data-testid":"ff-kong-identity-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("custom_field.kong_identity.title")),1)]),_:1}),t.createElementVNode("p",bU,[t.createTextVNode(t.toDisplayString(f.value)+" ",1),t.createElementVNode("a",kU,t.toDisplayString(t.unref(o)("custom_field.kong_identity.learn_more")),1)]),t.createElementVNode("div",wU,[e.loadingRealms?(t.openBlock(),t.createBlock(t.unref(_e.KSkeletonBox),{key:0,class:"kong-identity-options-skeleton"})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(t.unref(_e.KRadio),{card:"","card-orientation":"horizontal","data-testid":"kong-identity-mode-consumers",description:p.value,label:t.unref(o)("custom_field.kong_identity.consumers_label"),"model-value":y.value,"selected-value":"consumers","onUpdate:modelValue":g},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TeamIcon),{size:`var(--kui-icon-size-50, ${t.unref(hf)})`},null,8,["size"])]),_:1},8,["description","label","model-value"]),u.value?(t.openBlock(),t.createBlock(t.unref(_e.KRadio),{key:0,card:"","card-orientation":"horizontal","data-testid":"kong-identity-mode-centrally-managed",description:t.unref(o)("custom_field.kong_identity.centrally_managed_description"),label:t.unref(o)("custom_field.kong_identity.centrally_managed_label"),"model-value":y.value,"selected-value":"centrally-managed","onUpdate:modelValue":g},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AccountTreeIcon),{size:`var(--kui-icon-size-50, ${t.unref(hf)})`},null,8,["size"])]),_:1},8,["description","label","model-value"])):t.createCommentVNode("",!0),t.createVNode(t.unref(_e.KRadio),{card:"","card-orientation":"horizontal","data-testid":"kong-identity-mode-kong-identity",description:m.value,label:t.unref(o)("custom_field.kong_identity.kong_identity_label"),"model-value":y.value,"selected-value":"kong-identity","onUpdate:modelValue":g},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.KeyIcon),{size:`var(--kui-icon-size-50, ${t.unref(hf)})`},null,8,["size"])]),_:1},8,["description","label","model-value"])],64))])]))}}),[["__scopeId","data-v-aceb8b04"]]),EU=xe(t.defineComponent({name:"PrincipalsCreationGuide",__name:"PrincipalsCreationGuide",props:{loading:{type:Boolean},showPanel:{type:Boolean},dataPlaneIncompatible:{type:Boolean}},emits:["click:learn-more","click:create-entity"],setup(e,{emit:n}){const r=n,{i18n:o}=it.useI18n(),{t:i}=o,a=t.ref(!1),s=()=>{a.value=!1,r("click:create-entity",{type:"principal"})};return(l,c)=>{const d=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[e.loading?(t.openBlock(),t.createBlock(d,{key:0,class:"kong-identity-principals-skeleton","data-testid":"kong-identity-principals-loading"})):e.showPanel?(t.openBlock(),t.createBlock(t.unref(_e.KEmptyState),{key:1,class:"kong-identity-principals","data-testid":"kong-identity-principals-panel",message:t.unref(i)("custom_field.kong_identity.configure_description"),title:t.unref(i)("custom_field.kong_identity.configure_title")},{icon:t.withCtx(()=>[...c[3]||(c[3]=[])]),action:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"primary","data-testid":"kong-identity-create-principal",onClick:c[0]||(c[0]=u=>a.value=!0)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(i)("custom_field.kong_identity.create_principal")),1)]),_:1}),t.createVNode(t.unref(_e.KButton),{appearance:"secondary",class:"open-learning-hub","data-testid":"kong-identity-principals-learn-more",onClick:c[1]||(c[1]=u=>r("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(i)("custom_field.kong_identity.configure_learn_more")),1)]),_:1})]),_:1},8,["message","title"])):e.dataPlaneIncompatible?(t.openBlock(),t.createBlock(t.unref(_e.KAlert),{key:2,appearance:"warning",class:"kong-identity-dp-version-alert","data-testid":"kong-identity-dp-version-alert",message:t.unref(i)("custom_field.kong_identity.incompatible_data_plane_alert"),"show-icon":""},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(t.unref(_e.KPrompt),{"action-button-text":t.unref(i)("custom_field.kong_identity.leave_prompt_action"),"data-testid":"kong-identity-create-principal-prompt",message:t.unref(i)("custom_field.kong_identity.leave_prompt_message"),title:t.unref(i)("custom_field.kong_identity.leave_prompt_title"),visible:a.value,onCancel:c[2]||(c[2]=u=>a.value=!1),onProceed:s},null,8,["action-button-text","message","title","visible"])],64)}}}),[["__scopeId","data-v-d86101ef"]]),Jm=Symbol("before-save"),NU={key:0,class:"identity-realms-error","data-testid":"identity-realms-validation-error"},SU={key:0,class:"kong-identity-error-on-miss"},AU=xe(t.defineComponent({__name:"ConfigFormContent",emits:["click:learn-more","click:create-entity"],setup(e,{emit:n}){const r=n,o={major:3,minor:15};function i(z){const[oe,Pe]=z.split(".").map(Number);return Number.isNaN(oe)||Number.isNaN(Pe)?!1:oe!==o.major?oe<o.major:Pe<o.minor}const a=t.inject(Jm),s=t.inject(Vs),{i18n:l}=it.useI18n(),c=t.inject(Je.FORMS_CONFIG),d=t.computed(()=>c?.app==="konnect"),{axiosInstance:u}=ue.useAxios(c?.axiosRequestConfig),f=dd("key-auth"),p=t.computed(()=>f?.identityRealmsEnabled??!0),{formData:m,getSchema:h}=lt(),y=t.computed(()=>!!h("$.config.principals.error_on_miss")),g=t.computed(()=>c?.principalsCreationGuideVisible),_=t.computed(()=>g.value===!0),k=t.computed(()=>g.value===void 0),b=t.computed(()=>m.config?.principals?.error_on_miss??!0);function N(z){m.config?.principals&&(m.config.principals.error_on_miss=z)}const C=t.ref([]),w=t.ref(!1),S=async()=>{if(!(c?.app!=="konnect"||!x.value||!p.value))try{w.value=!0;let z=`${c.apiBaseUrl}/v1/realms`;const oe=[];do{const Pe=await u.get(z);Pe?.data?.data&&oe.push(...Pe.data.data.map(Ee=>({value:Ee.id,label:Ee.name}))),z=Pe.data.meta.next?`${c.apiBaseUrl}${Pe.data.meta.next}`:null}while(z);C.value=oe}catch{C.value=[]}finally{w.value=!1}};t.onMounted(S),t.provide(aC,C);const x=t.computed(()=>!!h("$.config.identity_realms")),I=t.inject(Bn.KHCP_20393_IDENTITY_PRINCIPALS_UI,!1),T=t.computed(()=>I&&!!h("$.config.principals")),A=t.computed(()=>(c?.dataPlaneVersions??[]).some(i));function v(){if(m.config?.principals?.enabled)return"kong-identity";if(d.value){if(P(m.config?.identity_realms))return"centrally-managed"}else if(Array.isArray(m.config?.identity_realms)&&m.config.identity_realms.length>0)return"centrally-managed";return"consumers"}function P(z){return!Array.isArray(z)||z.length===0?!1:z.some(oe=>oe.scope!=="cp"&&oe.id!=null)}const O=t.ref(v());t.watch(()=>c?.principalsDirectoryName,z=>{s?.value||O.value!=="kong-identity"||z==null||m.config?.principals&&(m.config.principals.directory=z)},{immediate:!0}),t.watch(O,z=>{if(z!=="kong-identity")return;const oe=c?.principalsDirectoryName;oe==null||!m.config?.principals||(m.config.principals.directory=oe)});const R=t.computed(()=>d.value&&O.value==="centrally-managed"&&!P(m.config?.identity_realms)),Q=t.ref(!1),pe=t.ref(!1);let H=!1;t.watch(O,async z=>{z==="centrally-managed"&&(Q.value=!1,pe.value=!1,H=!1,await t.nextTick(),H=!0)}),t.onMounted(()=>{O.value==="centrally-managed"&&(H=!0)}),t.watch(()=>m.config?.identity_realms,()=>{O.value==="centrally-managed"&&H&&(Q.value=!0)},{deep:!0});function j(){H&&(Q.value=!0)}const D=t.computed(()=>(Q.value||pe.value)&&R.value),ee=a?.(()=>R.value?(pe.value=!0,!1):!0);t.onUnmounted(()=>ee?.());const K=t.computed(()=>!!h("$.config.realm")?.required),J=t.computed(()=>{const z=["anonymous","principals","identity_realms"];return K.value||z.push("realm"),z}),ce=t.computed(()=>{const oe=h("$.config")?.fields?.map(Ee=>Object.keys(Ee)[0])??[],Pe=new Set(["anonymous"]);return!K.value&&O.value!=="kong-identity"&&Pe.add("realm"),d.value&&x.value&&p.value&&!T.value&&Pe.add("identity_realms"),oe.filter(Ee=>!Pe.has(Ee))});return(z,oe)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Rt,{"as-child":"",class:"ff-default-visible-fields",name:"config",omit:J.value,"reset-label-path":"reset"},null,8,["omit"]),d.value&&T.value?(t.openBlock(),t.createBlock(CU,{key:0,modelValue:O.value,"onUpdate:modelValue":oe[0]||(oe[0]=Pe=>O.value=Pe),class:"kong-identity-section","identity-realms-in-schema":x.value,"loading-realms":w.value},null,8,["modelValue","identity-realms-in-schema","loading-realms"])):t.createCommentVNode("",!0),d.value&&x.value&&p.value&&O.value==="centrally-managed"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"identity-realms-section","data-testid":"identity-realms-section",onClick:j},[t.createVNode(sC,{name:"$.config.identity_realms",required:!0}),D.value?(t.openBlock(),t.createElementBlock("p",NU,t.toDisplayString(t.unref(l).t("custom_field.kong_identity.identity_realms_required")),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),d.value&&T.value&&O.value==="kong-identity"?(t.openBlock(),t.createBlock(EU,{key:2,class:"kong-identity-principals-section","data-plane-incompatible":A.value,loading:k.value,"show-panel":_.value,"onClick:createEntity":oe[1]||(oe[1]=Pe=>r("click:create-entity",Pe)),"onClick:learnMore":oe[2]||(oe[2]=Pe=>r("click:learn-more",Pe))},null,8,["data-plane-incompatible","loading","show-panel"])):t.createCommentVNode("",!0),t.createVNode(Yo,{class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:t.withCtx(()=>[d.value&&T.value&&O.value==="kong-identity"&&y.value?(t.openBlock(),t.createElementBlock("div",SU,[t.createVNode(t.unref(_e.KLabel),{"data-testid":"ff-principals-error-on-miss-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).t("custom_field.kong_identity.error_on_miss_label")),1)]),_:1}),t.createVNode(t.unref(_e.KRadio),{"data-testid":"principals-error-on-miss-true",description:t.unref(l).t("custom_field.kong_identity.error_on_miss_reject_description"),label:t.unref(l).t("custom_field.kong_identity.error_on_miss_reject_label"),"model-value":b.value,"selected-value":!0,"onUpdate:modelValue":N},null,8,["description","label","model-value"]),t.createVNode(t.unref(_e.KRadio),{"data-testid":"principals-error-on-miss-false",description:t.unref(l).t("custom_field.kong_identity.error_on_miss_continue_description"),label:t.unref(l).t("custom_field.kong_identity.error_on_miss_continue_label"),"model-value":b.value,"selected-value":!1,"onUpdate:modelValue":N},null,8,["description","label","model-value"])])):t.createCommentVNode("",!0),t.createVNode(Rt,{"as-child":"",name:"config",omit:ce.value,"reset-label-path":"reset"},null,8,["omit"])]),_:1})],64))}}),[["__scopeId","data-v-875250f6"]]),dC=t.defineComponent({__name:"ConfigFormWithIdentity",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},emits:["click:learn-more","click:create-entity"],setup(e,{emit:n}){const r={dependencies:{"config.brute_force_protection.redis":["config.brute_force_protection.strategy","redis"]}},o=[{match:"config.identity_realms",component:sC},{match:"config.realm",component:Me,propsOverrides:{placeholder:"e.g., my-api"}},{match:"config.anonymous",component:Me,propsOverrides:{placeholder:"e.g., 00000000-0000-0000-0000-000000000001"}}],i=e,a=n,s=t.useSlots();return t.provide(Je.AUTOFILL_SLOT,s?.[Je.AUTOFILL_SLOT_NAME]),t.provide(Vs,t.computed(()=>i.isEditing)),(l,c)=>(t.openBlock(),t.createBlock(On,t.mergeProps(i,{"field-renderers":o,"render-rules":r}),{default:t.withCtx(()=>[t.createVNode(AU,{"onClick:createEntity":c[0]||(c[0]=d=>a("click:create-entity",d)),"onClick:learnMore":c[1]||(c[1]=d=>a("click:learn-more",d))})]),_:1},16))}}),xU=Ce({experimental:!0,component:dC}),IU=Ce({experimental:!0}),vU=Ce({experimental:!0}),TU=Ce({experimental:!0,fieldRenderers:[{match:"config.message_by_lua_functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}},{match:"config.topics",component:dt,propsOverrides:{appearance:"tabs",stickyTabs:!0,itemLabel:(e,n)=>`#${n+1} Topic`}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),BU=Ce({experimental:!0,fieldRenderers:[{match:"config.message_by_lua_functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),OU=Ce({experimental:!0}),PU=Ce({experimental:!0,fieldRenderers:[{match:({path:e})=>e==="config.methods"||e==="config.request_method",component:St,propsOverrides:{multiple:!0}}]}),VU=Ce({experimental:!0,fieldRenderers:[{match:"config.metrics",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Metric`}}]}),$U=["innerHTML"],RU={class:"dk-ca-cert-item"},LU={class:"dk-ca-cert-item-header"},DU={class:"dk-ca-cert-item-id"},MU={key:0,class:"dk-ca-cert-item-tags"},FU={key:0,class:"dk-ca-cert-item-subject"},jU=xe(t.defineComponent({__name:"CaCertificatesField",props:{labelAttributes:{},required:{type:Boolean},placeholder:{},autofocus:{type:Boolean},name:{}},setup(e){const n=e,{value:r,hide:o,...i}=$t(t.toRef(()=>n.name)),a=Jt(i.path,t.toRef(()=>n)),s=t.inject(Je.FORMS_CONFIG),{debouncedQueryChange:l,loading:c,results:d,loadItems:u}=ue.useDebouncedFilter(s,nt.caCertificates[s.app]);function f(h){l(h)}const p=t.computed({get:()=>r.value??[],set:h=>{r.value=h.length?h:i.emptyValue.value}}),m=t.computed(()=>d.value.map(h=>({label:h.id,value:h.id,subject:h.metadata?.subject,tags:h.tags,selected:p.value.includes(h.id)})));return t.onBeforeMount(async()=>{await u()}),(h,y)=>{const g=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(g,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createBlock(t.unref(_e.KMultiselect),t.mergeProps({key:1,modelValue:p.value,"onUpdate:modelValue":y[0]||(y[0]=_=>p.value=_)},t.unref(a),{autosuggest:"",clearable:"","data-testid":`ff-${i.path.value}`,items:m.value,loading:t.unref(c),onQueryChange:f}),t.createSlots({"item-template":t.withCtx(({item:_})=>[t.createElementVNode("div",RU,[t.createElementVNode("div",LU,[t.createElementVNode("div",DU,t.toDisplayString(_.label),1),_.tags?.length?(t.openBlock(),t.createElementBlock("div",MU,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.tags,k=>(t.openBlock(),t.createBlock(t.unref(_e.KBadge),{key:k,size:"small"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(k),1)]),_:2},1024))),128))])):t.createCommentVNode("",!0)]),_.subject?(t.openBlock(),t.createElementBlock("div",FU,t.toDisplayString(_.subject),1)):t.createCommentVNode("",!0)])]),_:2},[t.unref(a).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,$U)]),key:"0"}:void 0]),1040,["modelValue","data-testid","items","loading"])),[[t.vShow,!t.unref(o)]])}}}),[["__scopeId","data-v-9f440d6d"]]),uC=Object.entries(Object.assign({"./authenticate-third-party-with-dynamic-url.yaml":`nodes:
191
+ `,r)+1}return{type:n,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(n){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const r=id(n),o=na(r);return o.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const r=id(n),o=na(r);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:o,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(n,r){return this.type!=="comment"||this.indent<=r?!1:n.every(o=>o.type==="newline"||o.type==="space")}*documentEnd(n){this.type!=="doc-mode"&&(n.end?n.end.push(this.sourceToken):n.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(n){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;default:n.end?n.end.push(this.sourceToken):n.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}}function YF(e){const n=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||n&&new HF||null,prettyErrors:n}}function JF(e,n={}){const{lineCounter:r,prettyErrors:o}=YF(n),i=new WF(r?.addNewLine),a=new UF(n);let s=null;for(const l of a.compose(i.parse(e),!0,e.length))if(!s)s=l;else if(s.options.logLevel!=="silent"){s.errors.push(new Ts(l.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return o&&r&&(s.errors.forEach(M0(e,r)),s.warnings.forEach(M0(e,r))),s}function Q0(e,n){const r=e.range;if(!r)return;const o=Math.max(0,r[0]),i=typeof r[1]=="number"?r[1]:typeof r[2]=="number"?r[2]:r[0],a=Math.max(o,i),s=n.getPositionAt(o),l=n.getPositionAt(a);return{startLineNumber:s.lineNumber,startColumn:s.column,endLineNumber:l.lineNumber,endColumn:l.column}}function XF(e){return Et(e)?e.value:e.toJSON()}function ZF(e){if(!Et(e))return;const{value:n}=e;return typeof n=="string"||typeof n=="number"?n:void 0}function eC(e,n){const r=ZF(n);return r===void 0?e:[...e,r]}function QF(e,n){const r=[{node:e,keyPath:[]}];for(;r.length>0;){const o=r.pop();if(!o)continue;const{node:i,keyPath:a}=o;if(n(i,a),qi(i)){for(let s=i.items.length-1;s>=0;s--){const l=i.items[s];At(l.value)&&r.push({node:l.value,keyPath:eC(a,l.key)}),At(l.key)&&r.push({node:l.key,keyPath:a})}continue}if(Gi(i))for(let s=i.items.length-1;s>=0;s--){const l=i.items[s],c=[...a,s];if(Mt(l)){At(l.value)&&r.push({node:l.value,keyPath:eC(c,l.key)}),At(l.key)&&r.push({node:l.key,keyPath:c});continue}At(l)&&r.push({node:l,keyPath:c})}}}function ej(e,n){const r=e.getIn(n,!0);return At(r)?r:void 0}function tC(e,n){return{provideCodeLenses:async(r,o)=>{if(r.getLanguageId()!=="yaml")return Vr();const i=await o0(r);if(i.isDefault||i.language!=="yaml")return Vr();const a=i.document,s=a?.contents;return!a||!s?Vr():e(s,r,o)}}}function nC(e,n){return tC((r,o,i)=>{const a=[];return QF(r,(s,l)=>{if(i.isCancellationRequested||!Et(s)||typeof s.value!="string"||!$M.test(s.value))return;const c=Q0(s,o);c&&a.push({value:s.value,range:c,context:{keyPath:l,node:s}})}),i.isCancellationRequested?Vr():typeof e=="function"?e(a):{lenses:a.map(({value:s,range:l})=>RM(s,l,e)),dispose:()=>{}}})}function Hm(e,n,r){return{provideCodeLenses:async(o,i)=>{if(o.getLanguageId()!=="yaml")return Vr();const a=await o0(o);if(a.isDefault||a.language!=="yaml"||i.isCancellationRequested)return Vr();const s=a.document,l=s?.contents;if(!s||!l)return Vr();const c=ej(s,e);if(!c)return Vr();const d=Q0(c,o);return d?n(XF(c),d,{keyPath:e,node:c}):Vr()}}}function tj(e,n){const r=JF(e);return{language:"yaml",altVersionId:n,document:r}}const nj=Object.freeze(Object.defineProperty({__proto__:null,createYAMLCodeLensProvider:tC,createYAMLCopyUUIDCodeLensProvider:nC,createYAMLValueCodeLensProvider:Hm,parseIntoYAMLContext:tj},Symbol.toStringTag,{value:"Module"}));let rj="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",oj=(e=21)=>{let n="",r=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)n+=rj[r[e]&63];return n};const ij="/v2/control-planes/{controlPlaneId}/core-entities/v1",an="/v2/control-planes/{controlPlaneId}/core-entities/{workspace}",mr="/v2/control-planes/{controlPlaneId}/core-entities",Lt="/{workspace}",nt={caCertificates:{konnect:`${an}/ca_certificates`,kongManager:`${Lt}/ca_certificates`},consumers:{konnect:`${an}/consumers`,kongManager:`${Lt}/consumers`},list:{konnect:{all:`${an}/plugins`,forEntity:`${an}/{entityType}/{entityId}/plugins`,search:`${an}/plugins/search`},kongManager:{all:`${Lt}/plugins`,forEntity:`${Lt}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${ij}/available-plugins`,streamingCustomPlugins:`${mr}/custom-plugins`,clonedPlugins:`${mr}/cloned-plugins`,schemaCustomPluginItem:`${mr}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${mr}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Lt}/kong`,availablePluginsForOss:"/",streamingCustomPlugins:`${Lt}/custom-plugins`,clonedPlugins:`${Lt}/cloned-plugins`}},form:{konnect:{create:{all:`${an}/plugins`,forEntity:`${an}/{entityType}/{entityId}/plugins`},edit:{all:`${an}/plugins/{id}`,forEntity:`${an}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/core-entities/schemas/plugins/{plugin}",credential:{create:`${an}/{resourceEndpoint}`,edit:`${an}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/core-entities/schemas/{plugin}",entityGetOne:`${an}/{entity}/{id}`,entityGetAll:`${an}/{entity}`,entityPeek:`${an}/{entity}?size={amount}`},kongManager:{create:{all:`${Lt}/plugins`,forEntity:`${Lt}/{entityType}/{entityId}/plugins`},edit:{all:`${Lt}/plugins/{id}`,forEntity:`${Lt}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Lt}/schemas/plugins/{plugin}`,credential:{create:`${Lt}/{resourceEndpoint}`,edit:`${Lt}/{resourceEndpoint}/{id}`},credentialSchema:`${Lt}/schemas/{plugin}`,entityGetOne:`${Lt}/{entity}/{id}`,entityGetAll:`${Lt}/{entity}`}},customPlugin:{konnect:{installed:{create:`${mr}/plugin-schemas`,edit:`${mr}/plugin-schemas/{pluginId}`},streamed:{create:`${mr}/custom-plugins`,edit:`${mr}/custom-plugins/{pluginId}`},cloned:{create:`${mr}/cloned-plugins`,edit:`${mr}/cloned-plugins/{pluginId}`}},kongManager:{streamed:{create:`${Lt}/custom-plugins`,edit:`${Lt}/custom-plugins/{pluginId}`},cloned:{create:`${Lt}/cloned-plugins`,edit:`${Lt}/cloned-plugins/{pluginId}`}}},item:{konnect:{all:`${an}/plugins/{id}`,forEntity:`${an}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Lt}/plugins/{id}`,forEntity:`${Lt}/{entityType}/{entityId}/plugins/{id}`}}},Wm=new WeakMap,rC=Object.fromEntries(["service","route","consumer","consumer_group","certificate"].map(e=>[`${e}s`,e]));function aj(){const{i18n:{t:e}}=Qe(),n=o=>e(`plugins.free-form.code-lens.entity.${o}`),r=(o,i)=>e("plugins.free-form.code-lens.field.name",{value:o,entity:i});return{service:{title:n("service"),fields:[{id:"field/name",resolve:o=>o.data.name?r(o.data.name,n("service")):void 0}]},route:{title:n("route"),fields:[{id:"field/name",resolve:o=>o.data.name?r(o.data.name,n("route")):void 0}]},consumer_group:{title:n("consumer_group"),fields:[{id:"field/name",resolve:o=>o.data.name?r(o.data.name,n("consumer_group")):void 0}]},consumer:{title:n("consumer"),fields:[{id:"field/username",resolve:o=>o.data.username?e("plugins.free-form.code-lens.field.username",{value:o.data.username}):void 0},{id:"field/customId",resolve:o=>o.data.custom_id?e("plugins.free-form.code-lens.field.custom_id",{value:o.data.custom_id}):void 0}]},certificate:{title:n("certificate"),fields:[{id:"field/subject",resolve:o=>{if(o)return e("plugins.free-form.code-lens.field.subject",{value:o.cert.subject})}},{id:"field/notAfter",resolve:o=>{if(o)return e("plugins.free-form.code-lens.field.expires_after",{value:o.cert.notAfter.toLocaleString("en")})}}],commands:[{id:"cmd/copyCert",resolve:(o,i)=>o.cert?{id:i,title:e("plugins.free-form.code-lens.action.copy_certificate"),arguments:[o.cert]}:void 0}]}}}function sj(e){const n=[];for(const[r,o]of Object.entries(e)){if(o.type!=="foreign")continue;const i=o.reference;Object.prototype.hasOwnProperty.call(rC,i)&&n.push({entity:rC[i],keyPath:r.split(".")})}return n}function lj(e,n,r){let o=`${e.apiBaseUrl}${nt.form[e.app].entityGetOne}`;return e.app==="konnect"&&(o=o.replace(/{controlPlaneId}/gi,e.controlPlaneId||"")),o=o.replace(/\/{workspace}/gi,e.workspace?`/${e.workspace}`:"").replace(/{entity}/gi,n).replace(/{id}/gi,r),o}function cj(e){const n=Number(e);return Number.isFinite(n)&&Math.abs(n)<1e12?n*1e3:n}function oC(e){return Hm([e],(n,r)=>({lenses:[{range:r,command:{id:"",title:`$(calendar) ${new Date(cj(n)).toLocaleString("en",{dateStyle:"full",timeStyle:"full"})}`}}],dispose:()=>{}}))}function dj(e,n){const r=`kong.entities-plugins.codeEditor.command.${oj()}`,o=`${r}.copy`,i=`${r}.viewEntity`,{axiosInstance:a}=pe.useAxios(n??e.axiosRequestConfig),s=Ar.useRouter(),{i18n:{t:l}}=Qe(),{getSchemaMap:c}=lt(),d=aj();function u(p,m){const h=new Map,y=new bo.Emitter,g=`${r}.${p}.reloadCodeLensProvider`,_=Hm(m??[p],async(N,C)=>{const w=N?.id;if(!w)return Ka.emptyCodeLensList();h.has(w)||h.set(w,(async()=>{const I=lj(e,`${p}s`,w),T=await a.get(I);if(T.status<200||T.status>=300)throw new Error(T.statusText);if(p==="consumer_group"&&T.data?.consumer_group)return{data:T.data.consumer_group};if(p==="certificate"){const A=T.data?.cert;if(!A)throw new Error("Missing certificate");await Promise.resolve().then(()=>T9);const{X509Certificate:v}=await Promise.resolve().then(()=>P7);return{data:T.data,cert:new v(A)}}return{data:T.data}})());const S=d[p];return{lenses:[...S.fields.map(I=>({id:`${w}:${I.id}`,range:C})),{range:C,command:{id:i,title:`${l("plugins.free-form.code-lens.action.view_entity",{title:S.title})} $(link-external)`,arguments:[p,w]}},...(S.commands??[]).map(I=>({id:`${w}:${I.id}`,range:C}))],dispose:()=>{}}}),k={provideCodeLenses:_.provideCodeLenses,resolveCodeLens:async(N,C,w)=>{if(C=(_.resolveCodeLens&&await _.resolveCodeLens(N,C,w))??C,!C.id)return C;const S=C.id.indexOf(":"),x=C.id.indexOf("/"),I=C.id.substring(0,S),T=C.id.substring(S+1,x);try{const A=await h.get(I);if(!A)throw new Error("Expected the cached entity to be non-empty");const v=d[p],P=C.id.substring(S+1);switch(T){case"field":{const R=await v.fields.find(Q=>Q.id===P)?.resolve(A);R&&(C.command={id:"",title:R});break}case"cmd":{const R=await v.commands?.find(Q=>Q.id===P)?.resolve(A,o);R&&(C.command=R);break}}}catch(A){console.error("Error resolving code lens:",A),C.command={id:g,title:`$(warning) ${l("plugins.free-form.code-lens.action.retry_fetch")}`,arguments:[I],tooltip:A instanceof Error?A.message:l("plugins.free-form.code-lens.unknown_error")}}return C},onDidChange:y.event},b=bo.editor.registerCommand(g,(N,C)=>{h.delete(C),y.fire(k)});return{provider:k,dispose:()=>{y.dispose(),b.dispose()}}}function f(p){Wm.get(p)?.();const m=[bo.languages.registerCodeLensProvider({language:"yaml",scheme:p.uri.scheme,pattern:p.uri.path},Ka.collectCodeLensProviders([nC({copyCommandId:o,title:l("plugins.free-form.code-lens.action.copy_uuid")}),oC("created_at"),oC("updated_at")]))],h=sj(c());for(const{entity:_,keyPath:k}of h){const b=u(_,k);m.push(bo.languages.registerCodeLensProvider({language:"yaml",scheme:p.uri.scheme,pattern:p.uri.path},b.provider),{dispose:b.dispose})}const y={service:e.viewServiceRoute,route:e.viewRouteRoute,consumer:e.viewConsumerRoute,consumer_group:e.viewConsumerGroupRoute,certificate:e.viewCertificateRoute};m.push(bo.editor.registerCommand(o,(_,k)=>{const b=String(k);if(!navigator.clipboard?.writeText){console.warn("[useCodeLensProviders] Clipboard API is unavailable");return}navigator.clipboard.writeText(b).catch(N=>{console.warn("[useCodeLensProviders] Failed to copy to clipboard:",N)})}),bo.editor.registerCommand(i,(_,k,b)=>{const N=y[k]?.(b);N&&window.open(s.resolve(N).href,"_blank","noopener")}));const g=()=>{Wm.delete(p),m.splice(0,m.length).forEach(_=>{try{_.dispose()}catch(k){console.warn("[useCodeLensProviders] Failed to dispose:",k)}})};return Wm.set(p,g),p.onWillDispose(g),g}return{setup:f}}const uj={class:"plugin-code-editor","data-testid":"plugin-code-editor"},fj="YAML Syntax",pj=xe(t.defineComponent({__name:"CodeEditor",emits:["change","sourceChange","error"],setup(e,{emit:n}){const r=t.inject("app:konnectColorMode",t.computed(()=>"light")),o=t.inject(Je.FORMS_CONFIG),{formData:i,setValue:a}=lt(),s=n,l=t.shallowRef(null),{setup:c}=dj(o,{validateStatus:h=>h>=200&&h<500});function d(){return Lc(eo(t.toRaw(i),["__ui_data"]),{schema:Do,seqNoIndent:!0})}const u=t.shallowRef(d()),f={scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep",editContext:!1};function p(h){const y=h.getModel();y&&(c(y),l.value=h,h.onDidChangeModelContent(()=>{try{const g=io(h.getValue()||"",{schema:Do,json:!0});if(s("sourceChange",h.getValue()),typeof g!="object"||g===null)return;Ml.editor.setModelMarkers(y,fj,[]),a(g),s("change",g)}catch(g){const _=g instanceof Error?g.message:String(g);s("error",_)}}),m())}function m(){const h=l.value,y=h?.getModel();!h||!y||(h.setPosition(y.getFullModelRange().getEndPosition()),h.focus())}return(h,y)=>(t.openBlock(),t.createElementBlock("div",uj,[(t.openBlock(),t.createBlock(t.unref(Ka.MonacoEditor),{key:t.unref(r),ref:"editor",modelValue:u.value,"onUpdate:modelValue":y[0]||(y[0]=g=>u.value=g),class:"editor",language:"yaml",options:f,theme:t.unref(r),onReady:p},null,8,["modelValue","theme"]))]))}}),[["__scopeId","data-v-0889c96f"]]),ra={jqlang:"https://jqlang.org/manual/",condition:"https://developer.konghq.com/gateway/plugins/expressions/",customPluginSandboxing:"https://developer.konghq.com/gateway/sandboxing/",pluginPriority:"https://developer.konghq.com/gateway/entities/plugin/#plugin-priority"},mj={class:"label-content"},gj=xe(t.defineComponent({__name:"ConditionField",setup(e){const n=t.useId(),{i18n:{t:r},i18nT:o}=Qe();return(i,a)=>{const s=t.resolveComponent("KLabel"),l=t.resolveComponent("KExternalLink");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(s,{for:t.unref(n),label:t.unref(r)("plugins.form.fields.condition.label")},{default:t.withCtx(()=>[t.createElementVNode("div",mj,[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.form.fields.condition.label"))+" ",1),t.createVNode(t.unref(_e.KTooltip),{class:"label-tooltip"},{content:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.form.fields.condition.tooltip")),1)]),default:t.withCtx(()=>[t.createVNode(t.unref(Ne.InfoIcon),{class:"tooltip-trigger-icon",tabindex:"0"})]),_:1})])]),_:1},8,["for","label"]),t.createVNode(Me,{"input-id":t.unref(n),label:"",name:"condition",placeholder:t.unref(r)("plugins.form.fields.condition.placeholder")},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.form.fields.condition.help.about"},{link:t.withCtx(()=>[t.createVNode(l,{"hide-icon":"",href:t.unref(ra).condition},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.form.fields.condition.help.learn")),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["input-id","placeholder"])])}}}),[["__scopeId","data-v-22ab50f7"]]),Wt=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{},renderRules:{}},emits:["change","globalAction"],setup(e,{expose:n,emit:r}){const o=r,i=t.useSlots(),{getSchema:a,formData:s,setValue:l,getValue:c,rootRenderRules:d,getEmptyValue:u}=cw({schema:e.schema,propsData:t.computed(()=>e.data),propsConfig:()=>e.config,propsRenderRules:t.toRef(()=>e.renderRules),onChange:p=>o("change",p)}),f=t.computed(()=>{const{fields:p}=a();let m=[...p];return e.fieldsOrder?rw(m,e.fieldsOrder):(d.value?.bundles&&(m=ow([...m],d.value.bundles)),m)});return n({getValue:c,getRawValue:()=>t.toRaw(s),setValue:l,getEmptyValue:u}),(p,m)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)[t.unref($o)]))),t.renderSlot(p.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,h=>(t.openBlock(),t.createBlock(Xe,{key:Object.keys(h)[0],name:Object.keys(h)[0],onGlobalAction:m[0]||(m[0]=(y,g)=>o("globalAction",y,g))},null,8,["name"]))),128))])]),_:3}))}}),mt=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:r}=t.useSlots(),{fieldRendererRegistry:o}=lt();return r&&o.set(n.match,r),(i,a)=>null}}),oa=Symbol("redis-partial-info"),Vs=Symbol("free-form-editing"),hj={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},yj={class:"partial-config-card"},_j={class:"config-card-row-label"},bj={class:"label-text"},kj=["data-testid"],wj=["data-testid"],Cj={key:1},Ej=["data-testid"],Nj=["data-testid"],Sj=xe(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:r}=Ft.createI18n("en-us",zt),o={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:r,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:r,order:3}},i=e,a=f=>f!=null,s=(f,p)=>a(p)&&["password","sentinel_password"].includes(f)?"password":"text",{convertKeyToTitle:l}=pe.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([f,p])=>({key:f,label:o[f]?.label??l(f),value:o[f]?.formatter?o[f].formatter(p):p,type:o[f]?.type??s(f,p),order:o[f]?.order??100})).sort((f,p)=>f.order-p.order).filter(f=>f.type!=="hidden")),d=s2(i.configFields,i.pluginRedisFields||[]),u=t.computed(()=>c.value.concat(d));return(f,p)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",yj,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,({key:h,label:y,value:g,type:_})=>(t.openBlock(),t.createElementBlock("div",{key:h,class:"partial-config-card-row"},[t.createElementVNode("div",_j,[t.createElementVNode("div",bj,t.toDisplayString(y),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${h}-property-value`},[a(g)?(t.openBlock(),t.createElementBlock("div",Cj,[_==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-copy-password`},[t.createVNode(m,{format:"redacted",text:String(g)},null,8,["text"])],8,Ej)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${h}-plain-text`},t.toDisplayString(g),9,Nj))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${h}-no-value`}," – ",8,wj))],8,kj)]))),128))])}}}),[["__scopeId","data-v-82dcdf99"]]),Aj={key:0,class:"redis-config-card-title"},xj={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Ij={class:"shared-redis-config"},vj={class:"shared-redis-config-title"},Tj={class:"redis-config-select","data-testid":"redis-config-select"},Bj={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},sd=xe(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{},isKonnectManagedRedisEnabled:{type:Boolean,default:!1},borderless:{type:Boolean}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),r=["host","port","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","timeout","read_timeout","send_timeout","connect_timeout","connection_is_proxied","redis_proxy_type","cloud_authentication"],o={dependencies:{"cloud_authentication.aws_cache_name":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_region":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_is_serverless":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_access_key_id":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_secret_access_key":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_assume_role_arn":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_role_session_name":["cloud_authentication.auth_provider","aws"],"cloud_authentication.gcp_service_account_json":["cloud_authentication.auth_provider","gcp"],"cloud_authentication.azure_client_id":["cloud_authentication.auth_provider","azure"],"cloud_authentication.azure_client_secret":["cloud_authentication.auth_provider","azure"],"cloud_authentication.azure_tenant_id":["cloud_authentication.auth_provider","azure"],"cloud_authentication.oauth":["cloud_authentication.auth_provider","oauth"],"cloud_authentication.oauth.username":["cloud_authentication.oauth.grant_type","password"],"cloud_authentication.oauth.password":["cloud_authentication.oauth.grant_type","password"]}},i=e,a=Ql(),s=t.inject(oa),l=s?.isEditing||!1,c=t.computed(()=>i.redisPath?i.redisPath:s?.redisPath?.value?"$."+s.redisPath.value:"$.config.redis"),d=i.redisType||s?.redisType?.value,u=t.computed(()=>!!s?.redisType?.value),f=t.ref(null),p=t.ref(!l),{getMessageFromError:m}=pe.useErrors(),h=t.ref(i.defaultRedisConfigItem),y=t.ref({}),g=t.ref(),{value:_}=Ec("$.partials"),{value:k,hide:b}=$t(c),N=t.inject(Je.FORMS_CONFIG),C=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.title"):n("redis.title")),w=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.description"):n("redis.shared_configuration.description")),S=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.label"):n("redis.shared_configuration.label")),x=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.dedicated_configuration.description"):n("redis.dedicated_configuration.description")),I=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.dedicated_configuration.label"):n("redis.dedicated_configuration.label")),T=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.selector.create_new"):void 0),A=t.computed(()=>i.isKonnectManagedRedisEnabled?n("redis.managed_ui.selector.placeholder"):void 0),v=t.ref(null),P=H=>{v.value=H},O=H=>{let j=`${N.apiBaseUrl}${hj[N.app].getOne}`;return N.app==="konnect"&&(j=j.replace(/{controlPlaneId}/gi,N?.controlPlaneId||"")),j=j.replace(/\/{workspace}/gi,N?.workspace?`/${N.workspace}`:"").replace(/{id}/gi,String(H)),j},{axiosInstance:R}=pe.useAxios(N?.axiosRequestConfig),Q=()=>{p.value?(g.value&&(_.value=g.value,h.value=g.value[0].id,k.value=void 0),k?.value&&(y.value=k.value)):(Object.keys(y.value).length&&(k.value=y.value),_?.value&&(g.value=_.value),_.value=l?null:void 0)},fe=async H=>{if(!H){h.value=void 0,f.value=null,_.value=l?null:void 0;return}h.value=H,_.value=[{id:H}],g.value=[{id:H}],k.value=void 0;try{const j=await R.get(O(H));if(j.data.config){const D=Object.assign(j.data,j.data.config);delete D.config,f.value=D}}catch(j){console.error(j)}};return t.watch(()=>p.value,()=>{Q()}),t.onBeforeMount(()=>{if(i.defaultRedisConfigItem||_?.value){const H=i.defaultRedisConfigItem||_?.value?.[0].id;fe(H),p.value=!0}else k?.value&&(y.value=k.value)}),t.watch(()=>b?.value,H=>{p.value&&(H&&_.value?_.value=l?null:void 0:H||g.value&&(_.value=g.value,fe(g.value[0].id)))}),(H,j)=>{const D=t.resolveComponent("KBadge"),ee=t.resolveComponent("KRadio");return u.value?t.withDirectives((t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.borderless?"div":t.unref(_e.KCard)),{key:0,class:t.normalizeClass(["redis-config-card",{"redis-config-card--borderless":e.borderless}]),"data-testid":"redis-config-card",title:e.borderless?void 0:C.value},{default:t.withCtx(()=>[e.borderless?(t.openBlock(),t.createElementBlock("div",Aj,t.toDisplayString(C.value),1)):t.createCommentVNode("",!0),t.createElementVNode("div",xj,[t.createVNode(ee,{modelValue:p.value,"onUpdate:modelValue":j[0]||(j[0]=K=>p.value=K),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:w.value,label:S.value,"selected-value":!0},{default:t.withCtx(()=>[e.isKonnectManagedRedisEnabled?(t.openBlock(),t.createBlock(D,{key:0,appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("redis.managed_ui.shared_configuration.badge")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1},8,["modelValue","description","label"]),t.createVNode(ee,{modelValue:p.value,"onUpdate:modelValue":j[1]||(j[1]=K=>p.value=K),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:x.value,label:I.value,"selected-value":!1},null,8,["modelValue","description","label"])]),t.withDirectives(t.createElementVNode("div",Ij,[t.createElementVNode("div",vj,t.toDisplayString(t.unref(n)("redis.shared_configuration.title")),1),t.createElementVNode("div",Tj,[t.createVNode(t.unref(mf.RedisConfigurationSelector),{"create-button-text":T.value,"data-testid":"redis-config-select-trigger","is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"model-value":h.value,placeholder:A.value,"redis-type":t.unref(d),"show-create-button":!t.unref(Je.hideNewRedis)(t.unref(N)),onErrorChange:P,onToast:t.unref(a),"onUpdate:modelValue":fe},null,8,["create-button-text","is-konnect-managed-redis-enabled","model-value","placeholder","redis-type","show-create-button","onToast"])]),f.value?(t.openBlock(),t.createBlock(Sj,{key:0,"config-fields":f.value},null,8,["config-fields"])):t.createCommentVNode("",!0),v.value?(t.openBlock(),t.createElementBlock("p",Bj,t.toDisplayString(t.unref(m)(v.value)),1)):t.createCommentVNode("",!0)],512),[[t.vShow,p.value]]),p.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Rt,t.mergeProps({key:1},i,{"as-child":"","fields-order":r,name:c.value,"render-rules":o,"reset-label-path":"reset"}),null,16,["name"]))]),_:1},8,["class","title"])),[[t.vShow,!t.unref(b)]]):t.withDirectives((t.openBlock(),t.createBlock(Rt,t.mergeProps({key:1},i,{"fields-order":r,"hide-required-asterisk":"",name:c.value,"render-rules":o}),null,16,["name"])),[[t.vShow,!t.unref(b)]])}}}),[["__scopeId","data-v-649c9977"]]),Ym=t.defineComponent({inheritAttrs:!1,__name:"PluginConfigurationForm",props:{controlledFields:{},prepareFormData:{type:Function},schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean}},emits:["change"],setup(e,{expose:n,emit:r}){const o=e,i=r,a=t.useAttrs(),s=t.useId(),l=t.useTemplateRef("form"),c=t.inject(oa,void 0),d=t.computed(()=>o.fieldRenderers??[]),u=t.computed(()=>a["data-testid"]??"ff-plugin-configuration-form"),f=t.computed(()=>{const{"data-testid":y,...g}=a;return g}),p=t.computed(()=>{const y=o.formConfig;return{...y??{},hasValue:y?.hasValue??(g=>!!g&&Object.keys(g).length>0),prepareFormData:g=>{const _=y?.prepareFormData?.(g)??g;return o.prepareFormData?.(_)??_}}}),m=t.computed(()=>Array.isArray(o.controlledFields)?Gf(o.model,o.controlledFields):o.model);function h(y){i("change",y),o.onFormChange(y,o.controlledFields)}return n({getValue:()=>l.value?.getValue(),setValue:y=>l.value?.setValue(y),getEmptyValue:()=>l.value?.getEmptyValue()}),fw(()=>o.schema,s),(y,g)=>(t.openBlock(),t.createBlock(Wt,t.mergeProps({ref:"form"},f.value,{class:"ff-plugin-configuration-form",config:p.value,data:m.value,"data-instance-id":t.unref(s),"data-plugin-name":e.pluginName,"data-testid":u.value,"render-rules":e.renderRules,schema:e.schema,tag:"div",onChange:h}),t.createSlots({[t.unref($o)]:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(_,k)=>(t.openBlock(),t.createBlock(mt,{key:`${e.pluginName}-${k}`,match:t.unref(c2)(_.match)},{default:t.withCtx(b=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(_.component),t.mergeProps({ref_for:!0},{...b,...(typeof _.propsOverrides=="function"?_.propsOverrides(b):_.propsOverrides)??{}}),null,16))]),_:2},1032,["match"]))),128)),t.createVNode(mt,{match:({path:_})=>_===t.unref(c)?.redisPath?.value},{default:t.withCtx(()=>[t.createVNode(sd,{"is-konnect-managed-redis-enabled":o.isKonnectManagedRedisEnabled??!1},null,8,["is-konnect-managed-redis-enabled"])]),_:1},8,["match"]),t.renderSlot(y.$slots,"field-renderers")]),_:2},[y.$slots.default?{name:"default",fn:t.withCtx(()=>[t.renderSlot(y.$slots,"default")]),key:"0"}:void 0]),1040,["config","data","data-instance-id","data-plugin-name","data-testid","render-rules","schema"]))}}),Oj={class:"radio-group"},Pj={key:0,class:"scope-detail"},Vj=xe(t.defineComponent({inheritAttrs:!1,__name:"StandardLayout",props:t.mergeModels({formSchema:{},formModel:{},schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean,default:!1},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},{editorMode:{},editorModeModifiers:{}}),emits:["update:editorMode"],setup(e){const n=["config","partials","__ui_data","enabled","protocols","instance_name","condition","tags","consumer","consumer_group","route","service"],{i18n:{t:r}}=Qe(),o=t.createPropsRestProxy(e,["hideEditorModeSwitcher"]),i=t.useAttrs(),a=t.inject(Bn.KM_2262_CODE_MODE,!1),s=Ot.useLocalStorage("plugin-editor-mode","form"),l=t.useModel(e,"editorMode"),c=t.computed({get:()=>l.value??(a?s.value:"form"),set:K=>{l.value=K}}),d=t.computed(()=>a&&!e.hideEditorModeSwitcher),u=[{label:r("plugins.free-form.editor_mode.visual"),value:"form"},{label:r("plugins.free-form.editor_mode.code"),value:"code"}];function f(K){c.value=K,s.value=K}const p=t.useSlots(),m=t.computed(()=>2+(o.configSections?.length??1)),h=t.computed(()=>g.value?.disabled?{class:"disabled-scope",maxWidth:"300",text:r("plugins.form.scoping.disable_global_radio")}:{class:"scope"}),y=t.computed(()=>o.formSchema?.groups?o.formSchema.groups.reduce((K,J)=>{const ce=J.fields,z=J.collapsible?.nestedCollapsible?.fields?ce.concat(J.collapsible.nestedCollapsible.fields):ce;return K.concat(z)},[]):o.formSchema?.fields||[]),g=t.computed(()=>y.value.find(K=>K.type==="selectionGroup")),_=t.computed(()=>(g.value?.fields||[]).map(({label:K,description:J})=>({label:K,description:J}))),k=t.computed(()=>g.value?.fields?.[1]),b=t.computed(()=>(k.value?.fields??[]).map(K=>({name:K.model.split("-")[0],entity:K.entity,fields:K.inputValues?.fields,label:K.label,placeholder:K.placeholder,help:K.help,disabled:K.disabled,disabledTooltip:K.disabledTooltip,labelField:K.labelField}))),N=["instance_name","protocols","tags","condition"],C=["config"],w=t.computed(()=>{const K={type:"record",fields:o.schema.fields.filter(z=>C.includes(Object.keys(z)[0]))},J=y.value.find(z=>z.model==="enabled");return[...J?[J]:[],...k.value?.fields??[],...y.value.filter(z=>N.includes(z.model))].forEach(z=>{if(z.type==="AutoSuggest")K.fields.push({[z.model.split("-")[0]]:{type:"foreign",reference:z.entity,description:z.help}});else if(z.model==="enabled")K.fields.push({[z.model]:{type:"boolean",default:!0}});else if(z.model==="instance_name"||z.model==="condition")K.fields.push({[z.model]:{type:"string",description:z.help}});else if(z.model==="protocols")K.fields.push({[z.model]:{type:"set",elements:{type:"string",one_of:z.values.map(oe=>oe.value)},default:[...z.default],required:z.required,description:z.help,help:z.default?r("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:z.default.join(", ")}):r("plugins.form.fields.protocols.placeholder")}});else if(z.model==="tags")K.fields.push({[z.model]:{type:"set",elements:{type:"string"},description:z.help,default:z.default||[]}});else throw new Error(`Unsupported VFG field type '${z.type}' for model '${z.model}'`)}),K}),S=t.computed(()=>new Set(w.value.fields.map(K=>Object.keys(K)[0]))),x=t.computed(()=>Gf(o.model,n)),I=t.computed(()=>k.value?.fields.map(K=>K.model)??[]),T=t.computed(()=>I.value.map(K=>K.split("-")[0])),A=t.ref(o.isEditing?Gf(x.value,T.value):D()),v=t.ref(Object.values(A.value).some(j)),P=t.useTemplateRef("form");let O=!1;function R(K){return o.isEditing?K:{...K,...D()}}function Q(){if(!P.value)return;const{getValue:K,setValue:J,getEmptyValue:ce}=P.value,oe={...K()};v.value?T.value.forEach(Pe=>{oe[Pe]=A.value[Pe]??ce()}):T.value.forEach(Pe=>{oe[Pe]=ce()}),O=!0,J(oe),t.nextTick(()=>{O=!1})}function fe(K){if(O||H(K),c.value==="code"){const J=T.value.some(ce=>j(K[ce]));J!==v.value&&(v.value=J)}}function H(K){T.value.forEach(J=>{const ce=K[J];Xl(ce,"id")&&ce.id!=null?A.value[J]=ce:A.value[J]=null})}function j(K){return Xl(K,"id")&&K.id!=null}function D(){const K={};return I.value.forEach(J=>{if(o.formModel[J]){const ce=J.split("-")[0];if(!ce)return;K[ce]={id:o.formModel[J]}}}),K}const ee=t.ref(!0);return(K,J)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[d.value?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:"#plugin-form-page-actions"},[t.createVNode(t.unref(_e.KSegmentedControl),{"data-testid":"plugin-editor-mode-switcher","model-value":c.value,options:u,"onUpdate:modelValue":f},null,8,["model-value"])])):t.createCommentVNode("",!0),t.createVNode(Ym,t.mergeProps({ref:"form"},t.unref(i),{class:"ff-standard-layout","controlled-fields":n,"data-testid":"ff-standard-layout-form","field-renderers":e.fieldRenderers,"form-config":o.formConfig,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,model:e.model,"on-form-change":e.onFormChange,"plugin-name":e.pluginName,"prepare-form-data":R,"render-rules":e.renderRules,schema:w.value,onChange:fe}),{"field-renderers":t.withCtx(()=>[t.renderSlot(K.$slots,"field-renderers",{},void 0,!0)]),default:t.withCtx(()=>[c.value==="form"?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:0,"data-testid":"form-section-plugin-scope",description:e.generalInfoDescription??t.unref(r)("plugins.form.sections.plugin_scope.description"),step:1,title:e.generalInfoTitle??t.unref(r)("plugins.form.sections.plugin_scope.title")},t.createSlots({default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.value?.disabled?t.unref(_e.KTooltip):"div"),t.normalizeProps(t.guardReactiveProps(h.value)),{default:t.withCtx(()=>[t.createElementVNode("div",Oj,[t.createVNode(t.unref(_e.KRadio),t.mergeProps({modelValue:v.value,"onUpdate:modelValue":J[0]||(J[0]=ce=>v.value=ce),card:"","card-orientation":"horizontal"},_.value[0],{disabled:g.value?.disabled,"selected-value":!1,"onUpdate:modelValue":Q}),null,16,["modelValue","disabled"]),_.value[1]?(t.openBlock(),t.createBlock(t.unref(_e.KRadio),t.mergeProps({key:0,modelValue:v.value,"onUpdate:modelValue":J[1]||(J[1]=ce=>v.value=ce),card:"","card-orientation":"horizontal"},_.value[1],{disabled:g.value?.disabled,"selected-value":!0,"onUpdate:modelValue":Q}),null,16,["modelValue","disabled"])):t.createCommentVNode("",!0)])]),_:1},16)),k.value?t.withDirectives((t.openBlock(),t.createElementBlock("div",Pj,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,ce=>(t.openBlock(),t.createBlock(A2,{key:ce.name,developer:e.developer,disabled:ce.disabled,"disabled-tooltip":ce.disabledTooltip,entity:ce.entity,fields:ce.fields,help:ce.help,label:ce.label,"label-field":ce.labelField,name:ce.name,placeholder:ce.placeholder},null,8,["developer","disabled","disabled-tooltip","entity","fields","help","label","label-field","name","placeholder"]))),128))],512)),[[t.vShow,v.value]]):t.createCommentVNode("",!0)]),_:2},[p["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,p["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,p["general-info-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])):t.createCommentVNode("",!0),c.value==="form"&&e.configSections?.length?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:1},t.renderList(e.configSections,(ce,z)=>(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:ce.name,"data-testid":`form-section-${ce.name}`,description:ce.description,step:2+z,title:ce.title},{default:t.withCtx(()=>[t.renderSlot(K.$slots,`section-${ce.name}`,{},void 0,!0)]),_:2},1032,["data-testid","description","step","title"]))),128)):c.value==="form"?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:2,"data-testid":"form-section-plugin-config",description:e.pluginConfigDescription??t.unref(r)("plugins.form.sections.plugin_config.description"),step:2,title:e.pluginConfigTitle??t.unref(r)("plugins.form.sections.plugin_config.title")},t.createSlots({default:t.withCtx(()=>[t.renderSlot(K.$slots,"default",{},void 0,!0)]),_:2},[p["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,p["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,p["plugin-config-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(K.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])):t.createCommentVNode("",!0),c.value==="form"?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:3,"data-testid":"form-section-general-info",description:t.unref(r)("plugins.form.sections.plugin_general_info.description"),step:m.value,title:t.unref(r)("plugins.form.sections.general_info.title")},{default:t.withCtx(()=>[S.value.has("enabled")?(t.openBlock(),t.createBlock(gw,{key:0,"disabled-text":t.unref(r)("plugins.form.fields.plugin_status.text_off"),"enabled-text":t.unref(r)("plugins.form.fields.plugin_status.text_on"),label:t.unref(r)("plugins.form.fields.plugin_status.label"),name:"enabled"},null,8,["disabled-text","enabled-text","label"])):t.createCommentVNode("",!0),S.value.has("instance_name")?(t.openBlock(),t.createBlock(Me,{key:1,label:t.unref(r)("plugins.form.fields.instance_name.label"),name:"instance_name",placeholder:t.unref(r)("plugins.form.fields.instance_name.placeholder")},null,8,["label","placeholder"])):t.createCommentVNode("",!0),S.value.has("tags")?(t.openBlock(),t.createBlock(Lo,{key:2,help:t.unref(r)("plugins.form.fields.tags.help"),name:"tags",placeholder:t.unref(r)("plugins.form.fields.tags.placeholder")},null,8,["help","placeholder"])):t.createCommentVNode("",!0),S.value.has("protocols")?(t.openBlock(),t.createBlock(Xe,{key:3,name:"protocols"})):t.createCommentVNode("",!0),w.value.fields.find(ce=>Object.keys(ce)[0]==="condition")?(t.openBlock(),t.createBlock(t.unref(_e.KCollapse),{key:4,modelValue:ee.value,"onUpdate:modelValue":J[2]||(J[2]=ce=>ee.value=ce),"data-testid":"view-general-info-additional-settings","trigger-label":ee.value?t.unref(r)("plugins.form.grouping.advanced_parameters.view"):t.unref(r)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createVNode(gj)]),_:1},8,["modelValue","trigger-label"])):t.createCommentVNode("",!0)]),_:1},8,["description","step","title"])):t.createCommentVNode("",!0),c.value==="code"?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:4,description:t.unref(r)("plugins.form.sections.code_mode.description"),title:t.unref(r)("plugins.form.sections.code_mode.title")},{default:t.withCtx(()=>[t.renderSlot(K.$slots,"code-editor",{},()=>[t.createVNode(pj)],!0)]),_:3},8,["description","title"])):t.createCommentVNode("",!0)]),_:3},16,["field-renderers","form-config","is-konnect-managed-redis-enabled","model","on-form-change","plugin-name","render-rules","schema"])],64))}}),[["__scopeId","data-v-933d9a4b"]]),iC=Symbol.for("kong-ui-public.entities-plugins.free-form-plugin-layout");function $j(e){t.provide(iC,e)}const On=t.defineComponent({inheritAttrs:!1,__name:"DynamicLayout",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useAttrs(),o=t.useSlots(),i=t.inject(iC,Vj),a=t.computed(()=>({...r,...n}));return(s,l)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)),t.normalizeProps(t.guardReactiveProps(a.value)),t.createSlots({_:2},[t.renderList(t.unref(o),(c,d)=>({name:d,fn:t.withCtx(u=>[t.renderSlot(s.$slots,d,t.normalizeProps(t.guardReactiveProps(u??{})))])}))]),1040))}}),Rj={class:"ff-acl-mode"},Lj={class:"ff-acl-mode-options"},Dj=xe(t.defineComponent({__name:"ACLModeCard",setup(e){const n=["allow","deny","allow_when","deny_when"],r=["allow_when","deny_when"],{formData:o,getLabelAttributes:i,getSchema:a,getEmptyValue:s}=lt(),{i18n:{t:l},i18nT:c}=Qe(),d=t.computed(()=>n.filter(k=>!!a(`config.${k}`))),u=t.ref("allow"),f=t.computed(()=>r.includes(u.value)),p=t.computed(()=>d.value.some(k=>r.includes(k))),m=t.computed(()=>u.value==="deny_when"?{description:"plugins.free-form.acl.field.deny_when.description",helpText:"plugins.free-form.acl.field.deny_when.help.text",helpLearn:"plugins.free-form.acl.field.deny_when.help.learn"}:{description:"plugins.free-form.acl.field.allow_when.description",helpText:"plugins.free-form.acl.field.allow_when.help.text",helpLearn:"plugins.free-form.acl.field.allow_when.help.learn"}),h=t.computed(()=>{const k=i(`config.${u.value}`);return f.value?{...k,info:l(m.value.description)}:k}),y=t.ref(!1),g=t.ref({});t.watch(()=>o.config,k=>{if(y.value||!k)return;const b=d.value.find(N=>Array.isArray(k[N])&&k[N].length>0);b&&(u.value=b)},{deep:!0,immediate:!0});function _(){y.value=!0;const k=o.config;if(!k)return;for(const N of d.value)N!==u.value&&(k[N]&&(g.value[N]=[...k[N]]),k[N]=s());const b=g.value[u.value];b&&(k[u.value]=[...b])}return(k,b)=>{const N=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Rj,[t.createVNode(N,{class:"ff-acl-mode-label",info:p.value?t.unref(l)("plugins.free-form.acl.mode.title.description"):void 0,"tooltip-attributes":{maxWidth:"300px"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)("plugins.free-form.acl.mode.title.label")),1)]),_:1},8,["info"]),t.createElementVNode("div",Lj,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,C=>(t.openBlock(),t.createBlock(t.unref(_e.KRadio),{key:C,modelValue:u.value,"onUpdate:modelValue":[b[0]||(b[0]=w=>u.value=w),_],card:"","card-orientation":"horizontal","data-testid":`ff-acl-mode-${C}`,description:t.unref(l)(`plugins.free-form.acl.mode.${C}.description`),label:t.unref(l)(`plugins.free-form.acl.mode.${C}.label`),"selected-value":C},null,8,["modelValue","data-testid","description","label","selected-value"]))),128))])]),(t.openBlock(),t.createBlock(dt,{key:u.value,"add-item-label":t.unref(l)(`plugins.free-form.acl.field.${u.value}.add`),label:t.unref(l)(`plugins.free-form.acl.field.${u.value}.label`),"label-attributes":h.value,name:`config.${u.value}`},{item:t.withCtx(({autofocus:C,fieldName:w})=>[t.createVNode(Me,{autofocus:C,multiline:f.value,name:w,placeholder:t.unref(l)(`plugins.free-form.acl.field.${u.value}.placeholder`),rows:f.value?2:void 0},t.createSlots({_:2},[f.value?{name:"help",fn:t.withCtx(()=>[t.createVNode(t.unref(c),{keypath:m.value.helpText},{link:t.withCtx(()=>[t.createVNode(t.unref(_e.KExternalLink),{"hide-icon":"",href:t.unref(ra).condition},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)(m.value.helpLearn)),1)]),_:1},8,["href"])]),_:1},8,["keypath"])]),key:"0"}:void 0]),1032,["autofocus","multiline","name","placeholder","rows"])]),_:1},8,["add-item-label","label","label-attributes","name"]))],64)}}}),[["__scopeId","data-v-61d178a2"]]),Mj=Ce({experimental:!0,component:t.defineComponent({__name:"ACLForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();return t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]),(o,i)=>(t.openBlock(),t.createBlock(On,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(()=>[t.createVNode(Dj),t.createVNode(Rt,{"as-child":"",name:"config",omit:["allow","deny","allow_when","deny_when"],"reset-label-path":"reset"})]),_:1},16))}})}),Fj=Ce({experimental:!0}),jj=Ce({experimental:!0}),Uj=Ce({experimental:!0}),Kj=Ce({experimental:!0,fieldRenderers:[{match:"config.categories",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Category`}}]}),qj=Ce({fieldRenderers:[{match:"config.functions",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),Gj=Ce({experimental:!0,fieldRenderers:[{match:"config.gcp_service_account_json",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),zj=Ce({experimental:!0}),Hj=Ce({experimental:!0,fieldRenderers:[{match:"config.prompt",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),Wj=Ce({experimental:!0}),Yj=Ce({component:t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=it.useI18n();return(i,a)=>(t.openBlock(),t.createBlock(On,t.normalizeProps(t.guardReactiveProps(n)),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:s})=>s==="config.default_acl"},{default:t.withCtx(s=>[t.createVNode(dt,t.mergeProps(s,{appearance:"tabs","item-label":(l,c)=>t.unref(o)("plugins.free-form.ai-mcp-proxy.default_acl_item_label",{index:c+1}),"sticky-tabs":""}),null,16,["item-label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:s})=>s==="config.tools"},{default:t.withCtx(s=>[t.createVNode(dt,t.mergeProps(s,{appearance:"tabs","item-label":(l,c)=>t.unref(o)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:c+1}),"sticky-tabs":""}),null,16,["item-label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:s})=>s==="config.tools.*.query"||s==="config.tools.*.headers"},{default:t.withCtx(s=>[t.createVNode(_n,t.mergeProps(s,{"one-line":""}),{default:t.withCtx(({keyId:l})=>[t.createVNode(Lo,{name:l,placeholder:t.unref(o)("plugins.free-form.tag_helper")},null,8,["name","placeholder"])]),_:1},16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(Rt,{"as-child":"",name:"config","reset-label-path":"reset"})]),_:1},16))}})}),Jj=Ce({experimental:!0,fieldRenderers:[{match:"config.compression_ranges",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Range`}}]}),Xj=Ce({experimental:!0,fieldRenderers:[{match:"config.prompts.prepend.*.content",component:Me,propsOverrides:{multiline:!0,rows:4}},{match:"config.prompts.append.*.content",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),Zj=Ce({experimental:!0}),Qj=Ce({experimental:!0,fieldRenderers:[{match:"config.templates",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Template`}},{match:({genericPath:e})=>e==="config.templates.*.template",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),eU=Ce({experimental:!0,fieldRenderers:[{match:"config.targets",component:dt,propsOverrides:{appearance:"tabs",stickyTabs:!0,itemLabel:(e,n)=>`#${n+1} Target`}},{match:"config.acls.allow",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Allow`}},{match:({genericPath:e})=>["config.acls.allow.*.match","config.acls.deny.*.match"].includes(e),component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Match`}},{match:"config.acls.deny",component:dt,propsOverrides:{appearance:"tabs",stickyTabs:!0,itemLabel:(e,n)=>`#${n+1} Deny`}}]}),tU=Ce({experimental:!0}),ld=[{match:"config.vectordb.redis.sentinel_nodes",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>` #${n+1} Sentinel node`}},{match:"config.vectordb.redis.cluster_nodes",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>` #${n+1} Cluster node`}}],cd={bundles:[["config.vectordb.strategy","config.vectordb.redis","config.vectordb.pgvector"]],dependencies:{"config.vectordb.redis":["config.vectordb.strategy","redis"],"config.vectordb.pgvector":["config.vectordb.strategy","pgvector"],"config.vectordb.redis.cloud_authentication.aws_cache_name":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_region":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_is_serverless":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_access_key_id":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_secret_access_key":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_assume_role_arn":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.aws_role_session_name":["config.vectordb.redis.cloud_authentication.auth_provider","aws"],"config.vectordb.redis.cloud_authentication.gcp_service_account_json":["config.vectordb.redis.cloud_authentication.auth_provider","gcp"],"config.vectordb.redis.cloud_authentication.azure_client_id":["config.vectordb.redis.cloud_authentication.auth_provider","azure"],"config.vectordb.redis.cloud_authentication.azure_client_secret":["config.vectordb.redis.cloud_authentication.auth_provider","azure"],"config.vectordb.redis.cloud_authentication.azure_tenant_id":["config.vectordb.redis.cloud_authentication.auth_provider","azure"],"config.vectordb.redis.cloud_authentication.oauth":["config.vectordb.redis.cloud_authentication.auth_provider","oauth"],"config.vectordb.redis.cloud_authentication.oauth.username":["config.vectordb.redis.cloud_authentication.oauth.grant_type","password"],"config.vectordb.redis.cloud_authentication.oauth.password":["config.vectordb.redis.cloud_authentication.oauth.grant_type","password"]}},nU=Ce({experimental:!0,fieldRenderers:[...ld,{match:"config.inject_template",component:Me,propsOverrides:{multiline:!0,rows:8}}],renderRules:cd}),rU=Ce({experimental:!0,renderRules:{bundles:[["config.strategy","config.redis"]],dependencies:{"config.redis":["config.strategy","redis"]}}}),oU=Ce({experimental:!0,fieldRenderers:[{match:"config.prompt",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),iU=Ce({experimental:!0,fieldRenderers:[{match:"config.prompt",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),aU=Ce({experimental:!0,fieldRenderers:[{match:"config.anonymize",component:St,propsOverrides:{multiple:!0}},{match:"config.custom_patterns",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Pattern`}}]}),sU=Ce({experimental:!0,fieldRenderers:ld,renderRules:cd}),lU=Ce({experimental:!0,fieldRenderers:[...ld,{match:"config.rules.allow_prompts.*",component:Me,propsOverrides:{multiline:!0,rows:2}},{match:"config.rules.deny_prompts.*",component:Me,propsOverrides:{multiline:!0,rows:2}}],renderRules:cd}),cU=Ce({experimental:!0,fieldRenderers:[...ld,{match:"config.rules.allow_responses.*",component:Me,propsOverrides:{multiline:!0,rows:2}},{match:"config.rules.deny_responses.*",component:Me,propsOverrides:{multiline:!0,rows:2}}],renderRules:cd}),dU=Ce({experimental:!0}),uU=Ce(),fU=Ce({experimental:!0}),pU=Ce({experimental:!0}),aC=Symbol("fetched-realms"),mU={"data-testid":"ff-identity-realms-field"},gU=["innerHTML"],sC=t.defineComponent({__name:"IdentityRealmsField",props:{name:{},label:{},labelAttributes:{},required:{type:Boolean},placeholder:{},resetLabelPath:{}},setup(e){const n=e,{error:r,value:o,path:i}=$t(t.toRef(n,"name"));if(r)throw r;const a=Jt(i,n),s=t.inject(aC,void 0);return(l,c)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",mU,[t.createVNode(d,t.mergeProps({class:"ff-array-field-label"},t.unref(a),{"data-testid":`ff-label-${t.unref(i)}`,"tooltip-attributes":t.unref(a).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a).label)+" ",1)]),_:2},[t.unref(a).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(l.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,gU)])]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(Kk,{modelValue:t.unref(o),"onUpdate:modelValue":c[0]||(c[0]=u=>t.isRef(o)?o.value=u:null),realms:t.unref(s)},null,8,["modelValue","realms"])])}}}),hU={class:"ff-advanced-fields"},Yo=xe(t.defineComponent({__name:"AdvancedFields",props:{hideGeneralFields:{type:Boolean}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),{getSchema:r}=lt(),o=t.ref(!0);return(i,a)=>(t.openBlock(),t.createBlock(t.unref(_e.KCollapse),{modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=s=>o.value=s),"data-testid":"view-advanced","trigger-label":o.value?t.unref(n)("plugins.form.grouping.advanced_parameters.view"):t.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createElementVNode("div",hU,[e.hideGeneralFields?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.unref(r)("instance_name")?(t.openBlock(),t.createBlock(Xe,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(r)("protocols")?(t.openBlock(),t.createBlock(Xe,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(r)("tags")?(t.openBlock(),t.createBlock(Lo,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:t.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0),t.unref(r)("condition")?(t.openBlock(),t.createBlock(Me,{key:3,name:"condition",placeholder:t.unref(n)("plugins.form.fields.condition.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0)],64)),t.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-baa317ec"]]),lC=Symbol("free-form-plugin-context"),cC=new WeakMap;function yU(e,n){const r=t.getCurrentInstance();if(!r)throw new Error("providePluginContext() must be called inside setup().");let o=cC.get(r);o||(o=t.reactive({}),cC.set(r,o),t.provide(lC,o));const i=o;i[e]=n}function dd(e){const n=t.inject(lC,null),r=n?.[e];return n&&r===void 0&&console.warn(`usePluginContext(): no context registered for plugin "${String(e)}". Call providePluginContext('${String(e)}', ...) in an ancestor component first.`),r}const _U={class:"kong-identity-field","data-testid":"ff-kong-identity-field"},bU={class:"kong-identity-description"},kU={class:"kong-identity-learn-more",href:"https://developer.konghq.com/kong-identity/",rel:"noopener noreferrer",target:"_blank"},wU={class:"kong-identity-options"},CU=xe(t.defineComponent({name:"KongIdentityField",__name:"KongIdentityField",props:t.mergeModels({identityRealmsInSchema:{type:Boolean},loadingRealms:{type:Boolean}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const n=e,{i18n:r}=it.useI18n(),{t:o}=r,{formData:i,getSchema:a,getEmptyOrDefault:s}=lt(),l=t.computed(()=>n.identityRealmsInSchema!==void 0?n.identityRealmsInSchema:!!a("$.config.identity_realms")),c=dd("key-auth"),d=t.computed(()=>c?.identityRealmsEnabled??!0),u=t.computed(()=>l.value&&d.value),f=t.computed(()=>l.value?o("custom_field.kong_identity.description_with_realms"):o("custom_field.kong_identity.description_without_realms")),p=t.computed(()=>l.value?o("custom_field.kong_identity.consumers_description_key_auth"):o("custom_field.kong_identity.consumers_description_basic_auth")),m=t.computed(()=>l.value?o("custom_field.kong_identity.kong_identity_description_key_auth"):o("custom_field.kong_identity.kong_identity_description_basic_auth")),h=t.useModel(e,"modelValue"),y=t.ref(h.value??"consumers");function g(_){if(i.config&&_!==y.value)switch(y.value=_,h.value=_,_){case"kong-identity":{i.config.principals={...s("$.config.principals"),enabled:!0,directory:"default"},l.value&&(i.config.identity_realms=[]),a("$.config.realm")?.required||(i.config.realm=null);break}case"consumers":{const k=!!a("$.config.principals")?.required;i.config.principals=k?s("$.config.principals"):null,l.value&&(i.config.identity_realms=[]);break}case"centrally-managed":{const k=!!a("$.config.principals")?.required;i.config.principals=k?s("$.config.principals"):null,i.config.identity_realms=[{scope:"cp",id:null,region:null}];break}}}return(_,k)=>(t.openBlock(),t.createElementBlock("div",_U,[t.createVNode(t.unref(_e.KLabel),{"data-testid":"ff-kong-identity-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("custom_field.kong_identity.title")),1)]),_:1}),t.createElementVNode("p",bU,[t.createTextVNode(t.toDisplayString(f.value)+" ",1),t.createElementVNode("a",kU,t.toDisplayString(t.unref(o)("custom_field.kong_identity.learn_more")),1)]),t.createElementVNode("div",wU,[e.loadingRealms?(t.openBlock(),t.createBlock(t.unref(_e.KSkeletonBox),{key:0,class:"kong-identity-options-skeleton"})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(t.unref(_e.KRadio),{card:"","card-orientation":"horizontal","data-testid":"kong-identity-mode-consumers",description:p.value,label:t.unref(o)("custom_field.kong_identity.consumers_label"),"model-value":y.value,"selected-value":"consumers","onUpdate:modelValue":g},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TeamIcon),{size:`var(--kui-icon-size-50, ${t.unref(hf)})`},null,8,["size"])]),_:1},8,["description","label","model-value"]),u.value?(t.openBlock(),t.createBlock(t.unref(_e.KRadio),{key:0,card:"","card-orientation":"horizontal","data-testid":"kong-identity-mode-centrally-managed",description:t.unref(o)("custom_field.kong_identity.centrally_managed_description"),label:t.unref(o)("custom_field.kong_identity.centrally_managed_label"),"model-value":y.value,"selected-value":"centrally-managed","onUpdate:modelValue":g},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AccountTreeIcon),{size:`var(--kui-icon-size-50, ${t.unref(hf)})`},null,8,["size"])]),_:1},8,["description","label","model-value"])):t.createCommentVNode("",!0),t.createVNode(t.unref(_e.KRadio),{card:"","card-orientation":"horizontal","data-testid":"kong-identity-mode-kong-identity",description:m.value,label:t.unref(o)("custom_field.kong_identity.kong_identity_label"),"model-value":y.value,"selected-value":"kong-identity","onUpdate:modelValue":g},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.KeyIcon),{size:`var(--kui-icon-size-50, ${t.unref(hf)})`},null,8,["size"])]),_:1},8,["description","label","model-value"])],64))])]))}}),[["__scopeId","data-v-aceb8b04"]]),EU=xe(t.defineComponent({name:"PrincipalsCreationGuide",__name:"PrincipalsCreationGuide",props:{loading:{type:Boolean},showPanel:{type:Boolean},dataPlaneIncompatible:{type:Boolean}},emits:["click:learn-more","click:create-entity"],setup(e,{emit:n}){const r=n,{i18n:o}=it.useI18n(),{t:i}=o,a=t.ref(!1),s=()=>{a.value=!1,r("click:create-entity",{type:"principal"})};return(l,c)=>{const d=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[e.loading?(t.openBlock(),t.createBlock(d,{key:0,class:"kong-identity-principals-skeleton","data-testid":"kong-identity-principals-loading"})):e.showPanel?(t.openBlock(),t.createBlock(t.unref(_e.KEmptyState),{key:1,class:"kong-identity-principals","data-testid":"kong-identity-principals-panel",message:t.unref(i)("custom_field.kong_identity.configure_description"),title:t.unref(i)("custom_field.kong_identity.configure_title")},{icon:t.withCtx(()=>[...c[3]||(c[3]=[])]),action:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"primary","data-testid":"kong-identity-create-principal",onClick:c[0]||(c[0]=u=>a.value=!0)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(i)("custom_field.kong_identity.create_principal")),1)]),_:1}),t.createVNode(t.unref(_e.KButton),{appearance:"secondary",class:"open-learning-hub","data-testid":"kong-identity-principals-learn-more",onClick:c[1]||(c[1]=u=>r("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(i)("custom_field.kong_identity.configure_learn_more")),1)]),_:1})]),_:1},8,["message","title"])):e.dataPlaneIncompatible?(t.openBlock(),t.createBlock(t.unref(_e.KAlert),{key:2,appearance:"warning",class:"kong-identity-dp-version-alert","data-testid":"kong-identity-dp-version-alert",message:t.unref(i)("custom_field.kong_identity.incompatible_data_plane_alert"),"show-icon":""},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(t.unref(_e.KPrompt),{"action-button-text":t.unref(i)("custom_field.kong_identity.leave_prompt_action"),"data-testid":"kong-identity-create-principal-prompt",message:t.unref(i)("custom_field.kong_identity.leave_prompt_message"),title:t.unref(i)("custom_field.kong_identity.leave_prompt_title"),visible:a.value,onCancel:c[2]||(c[2]=u=>a.value=!1),onProceed:s},null,8,["action-button-text","message","title","visible"])],64)}}}),[["__scopeId","data-v-d86101ef"]]),Jm=Symbol("before-save"),NU={key:0,class:"identity-realms-error","data-testid":"identity-realms-validation-error"},SU={key:0,class:"kong-identity-error-on-miss"},AU=xe(t.defineComponent({__name:"ConfigFormContent",emits:["click:learn-more","click:create-entity"],setup(e,{emit:n}){const r=n,o={major:3,minor:15};function i(z){const[oe,Pe]=z.split(".").map(Number);return Number.isNaN(oe)||Number.isNaN(Pe)?!1:oe!==o.major?oe<o.major:Pe<o.minor}const a=t.inject(Jm),s=t.inject(Vs),{i18n:l}=it.useI18n(),c=t.inject(Je.FORMS_CONFIG),d=t.computed(()=>c?.app==="konnect"),{axiosInstance:u}=pe.useAxios(c?.axiosRequestConfig),f=dd("key-auth"),p=t.computed(()=>f?.identityRealmsEnabled??!0),{formData:m,getSchema:h}=lt(),y=t.computed(()=>!!h("$.config.principals.error_on_miss")),g=t.computed(()=>c?.principalsCreationGuideVisible),_=t.computed(()=>g.value===!0),k=t.computed(()=>g.value===void 0),b=t.computed(()=>m.config?.principals?.error_on_miss??!0);function N(z){m.config?.principals&&(m.config.principals.error_on_miss=z)}const C=t.ref([]),w=t.ref(!1),S=async()=>{if(!(c?.app!=="konnect"||!x.value||!p.value))try{w.value=!0;let z=`${c.apiBaseUrl}/v1/realms`;const oe=[];do{const Pe=await u.get(z);Pe?.data?.data&&oe.push(...Pe.data.data.map(Ee=>({value:Ee.id,label:Ee.name}))),z=Pe.data.meta.next?`${c.apiBaseUrl}${Pe.data.meta.next}`:null}while(z);C.value=oe}catch{C.value=[]}finally{w.value=!1}};t.onMounted(S),t.provide(aC,C);const x=t.computed(()=>!!h("$.config.identity_realms")),I=t.inject(Bn.KHCP_20393_IDENTITY_PRINCIPALS_UI,!1),T=t.computed(()=>I&&!!h("$.config.principals")),A=t.computed(()=>(c?.dataPlaneVersions??[]).some(i));function v(){if(m.config?.principals?.enabled)return"kong-identity";if(d.value){if(P(m.config?.identity_realms))return"centrally-managed"}else if(Array.isArray(m.config?.identity_realms)&&m.config.identity_realms.length>0)return"centrally-managed";return"consumers"}function P(z){return!Array.isArray(z)||z.length===0?!1:z.some(oe=>oe.scope!=="cp"&&oe.id!=null)}const O=t.ref(v());t.watch(()=>c?.principalsDirectoryName,z=>{s?.value||O.value!=="kong-identity"||z==null||m.config?.principals&&(m.config.principals.directory=z)},{immediate:!0}),t.watch(O,z=>{if(z!=="kong-identity")return;const oe=c?.principalsDirectoryName;oe==null||!m.config?.principals||(m.config.principals.directory=oe)});const R=t.computed(()=>d.value&&O.value==="centrally-managed"&&!P(m.config?.identity_realms)),Q=t.ref(!1),fe=t.ref(!1);let H=!1;t.watch(O,async z=>{z==="centrally-managed"&&(Q.value=!1,fe.value=!1,H=!1,await t.nextTick(),H=!0)}),t.onMounted(()=>{O.value==="centrally-managed"&&(H=!0)}),t.watch(()=>m.config?.identity_realms,()=>{O.value==="centrally-managed"&&H&&(Q.value=!0)},{deep:!0});function j(){H&&(Q.value=!0)}const D=t.computed(()=>(Q.value||fe.value)&&R.value),ee=a?.(()=>R.value?(fe.value=!0,!1):!0);t.onUnmounted(()=>ee?.());const K=t.computed(()=>!!h("$.config.realm")?.required),J=t.computed(()=>{const z=["anonymous","principals","identity_realms"];return K.value||z.push("realm"),z}),ce=t.computed(()=>{const oe=h("$.config")?.fields?.map(Ee=>Object.keys(Ee)[0])??[],Pe=new Set(["anonymous"]);return!K.value&&O.value!=="kong-identity"&&Pe.add("realm"),d.value&&x.value&&p.value&&!T.value&&Pe.add("identity_realms"),oe.filter(Ee=>!Pe.has(Ee))});return(z,oe)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Rt,{"as-child":"",class:"ff-default-visible-fields",name:"config",omit:J.value,"reset-label-path":"reset"},null,8,["omit"]),d.value&&T.value?(t.openBlock(),t.createBlock(CU,{key:0,modelValue:O.value,"onUpdate:modelValue":oe[0]||(oe[0]=Pe=>O.value=Pe),class:"kong-identity-section","identity-realms-in-schema":x.value,"loading-realms":w.value},null,8,["modelValue","identity-realms-in-schema","loading-realms"])):t.createCommentVNode("",!0),d.value&&x.value&&p.value&&O.value==="centrally-managed"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"identity-realms-section","data-testid":"identity-realms-section",onClick:j},[t.createVNode(sC,{name:"$.config.identity_realms",required:!0}),D.value?(t.openBlock(),t.createElementBlock("p",NU,t.toDisplayString(t.unref(l).t("custom_field.kong_identity.identity_realms_required")),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),d.value&&T.value&&O.value==="kong-identity"?(t.openBlock(),t.createBlock(EU,{key:2,class:"kong-identity-principals-section","data-plane-incompatible":A.value,loading:k.value,"show-panel":_.value,"onClick:createEntity":oe[1]||(oe[1]=Pe=>r("click:create-entity",Pe)),"onClick:learnMore":oe[2]||(oe[2]=Pe=>r("click:learn-more",Pe))},null,8,["data-plane-incompatible","loading","show-panel"])):t.createCommentVNode("",!0),t.createVNode(Yo,{class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:t.withCtx(()=>[d.value&&T.value&&O.value==="kong-identity"&&y.value?(t.openBlock(),t.createElementBlock("div",SU,[t.createVNode(t.unref(_e.KLabel),{"data-testid":"ff-principals-error-on-miss-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).t("custom_field.kong_identity.error_on_miss_label")),1)]),_:1}),t.createVNode(t.unref(_e.KRadio),{"data-testid":"principals-error-on-miss-true",description:t.unref(l).t("custom_field.kong_identity.error_on_miss_reject_description"),label:t.unref(l).t("custom_field.kong_identity.error_on_miss_reject_label"),"model-value":b.value,"selected-value":!0,"onUpdate:modelValue":N},null,8,["description","label","model-value"]),t.createVNode(t.unref(_e.KRadio),{"data-testid":"principals-error-on-miss-false",description:t.unref(l).t("custom_field.kong_identity.error_on_miss_continue_description"),label:t.unref(l).t("custom_field.kong_identity.error_on_miss_continue_label"),"model-value":b.value,"selected-value":!1,"onUpdate:modelValue":N},null,8,["description","label","model-value"])])):t.createCommentVNode("",!0),t.createVNode(Rt,{"as-child":"",name:"config",omit:ce.value,"reset-label-path":"reset"},null,8,["omit"])]),_:1})],64))}}),[["__scopeId","data-v-875250f6"]]),dC=t.defineComponent({__name:"ConfigFormWithIdentity",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},emits:["click:learn-more","click:create-entity"],setup(e,{emit:n}){const r={dependencies:{"config.brute_force_protection.redis":["config.brute_force_protection.strategy","redis"]}},o=[{match:"config.identity_realms",component:sC},{match:"config.realm",component:Me,propsOverrides:{placeholder:"e.g., my-api"}},{match:"config.anonymous",component:Me,propsOverrides:{placeholder:"e.g., 00000000-0000-0000-0000-000000000001"}}],i=e,a=n,s=t.useSlots();return t.provide(Je.AUTOFILL_SLOT,s?.[Je.AUTOFILL_SLOT_NAME]),t.provide(Vs,t.computed(()=>i.isEditing)),(l,c)=>(t.openBlock(),t.createBlock(On,t.mergeProps(i,{"field-renderers":o,"render-rules":r}),{default:t.withCtx(()=>[t.createVNode(AU,{"onClick:createEntity":c[0]||(c[0]=d=>a("click:create-entity",d)),"onClick:learnMore":c[1]||(c[1]=d=>a("click:learn-more",d))})]),_:1},16))}}),xU=Ce({experimental:!0,component:dC}),IU=Ce({experimental:!0}),vU=Ce({experimental:!0}),TU=Ce({experimental:!0,fieldRenderers:[{match:"config.message_by_lua_functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}},{match:"config.topics",component:dt,propsOverrides:{appearance:"tabs",stickyTabs:!0,itemLabel:(e,n)=>`#${n+1} Topic`}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),BU=Ce({experimental:!0,fieldRenderers:[{match:"config.message_by_lua_functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),OU=Ce({experimental:!0}),PU=Ce({experimental:!0,fieldRenderers:[{match:({path:e})=>e==="config.methods"||e==="config.request_method",component:St,propsOverrides:{multiple:!0}}]}),VU=Ce({experimental:!0,fieldRenderers:[{match:"config.metrics",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Metric`}}]}),$U=["innerHTML"],RU={class:"dk-ca-cert-item"},LU={class:"dk-ca-cert-item-header"},DU={class:"dk-ca-cert-item-id"},MU={key:0,class:"dk-ca-cert-item-tags"},FU={key:0,class:"dk-ca-cert-item-subject"},jU=xe(t.defineComponent({__name:"CaCertificatesField",props:{labelAttributes:{},required:{type:Boolean},placeholder:{},autofocus:{type:Boolean},name:{}},setup(e){const n=e,{value:r,hide:o,...i}=$t(t.toRef(()=>n.name)),a=Jt(i.path,t.toRef(()=>n)),s=t.inject(Je.FORMS_CONFIG),{debouncedQueryChange:l,loading:c,results:d,loadItems:u}=pe.useDebouncedFilter(s,nt.caCertificates[s.app]);function f(h){l(h)}const p=t.computed({get:()=>r.value??[],set:h=>{r.value=h.length?h:i.emptyValue.value}}),m=t.computed(()=>d.value.map(h=>({label:h.id,value:h.id,subject:h.metadata?.subject,tags:h.tags,selected:p.value.includes(h.id)})));return t.onBeforeMount(async()=>{await u()}),(h,y)=>{const g=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(g,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createBlock(t.unref(_e.KMultiselect),t.mergeProps({key:1,modelValue:p.value,"onUpdate:modelValue":y[0]||(y[0]=_=>p.value=_)},t.unref(a),{autosuggest:"",clearable:"","data-testid":`ff-${i.path.value}`,items:m.value,loading:t.unref(c),onQueryChange:f}),t.createSlots({"item-template":t.withCtx(({item:_})=>[t.createElementVNode("div",RU,[t.createElementVNode("div",LU,[t.createElementVNode("div",DU,t.toDisplayString(_.label),1),_.tags?.length?(t.openBlock(),t.createElementBlock("div",MU,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.tags,k=>(t.openBlock(),t.createBlock(t.unref(_e.KBadge),{key:k,size:"small"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(k),1)]),_:2},1024))),128))])):t.createCommentVNode("",!0)]),_.subject?(t.openBlock(),t.createElementBlock("div",FU,t.toDisplayString(_.subject),1)):t.createCommentVNode("",!0)])]),_:2},[t.unref(a).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,$U)]),key:"0"}:void 0]),1040,["modelValue","data-testid","items","loading"])),[[t.vShow,!t.unref(o)]])}}}),[["__scopeId","data-v-9f440d6d"]]),uC=Object.entries(Object.assign({"./authenticate-third-party-with-dynamic-url.yaml":`nodes:
192
192
  - name: STATIC_INPUTS
193
193
  type: static
194
194
  values:
@@ -447,15 +447,15 @@ nodes:
447
447
  type: exit
448
448
  input: API
449
449
  status: 200
450
- `})).sort(([e],[n])=>e.localeCompare(n)).map(([e,n])=>{const r=e.replace(/^\.\//,"").replace(/\.yaml$/,"");return{id:r,i18nKey:Wv(r),code:n}});function $s(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null}const UU=[{name:"decK",extract(e){try{const n=io(e);return $s(n)&&Array.isArray(n.plugins)&&n.plugins.find(o=>$s(o)&&o.name==="datakit")||null}catch{return null}}},{name:"KIC",extract(e){let n=e;const r=e.match(/echo\s+(?:"([\s\S]*?)"|'([\s\S]*?)')\s*\|\s*kubectl/);r&&(n=r[1]||r[2]);try{const o=io(n);if(!$s(o))return null;const i=$s(o.metadata)?o.metadata:{},a=o.plugin||i.name;return(o.kind==="KongPlugin"||o.kind==="KongClusterPlugin")&&a==="datakit"&&o||null}catch{return null}}},{name:"cURL",extract(e){if(!e.trim().startsWith("curl"))return null;const n=e.match(/(?:--data|-d)\s+(?:'((?:[^'\\]|\\[\s\S])*)'|"((?:[^"\\]|\\[\s\S])*)")/);if(!n)return null;let r=n[1]||n[2];n[2]&&(r=r.replace(/\\(["\\])/g,"$1"));try{const o=JSON.parse(r);return $s(o)&&o.name==="datakit"&&o||null}catch{return null}}}];function Xm(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function KU(e){return!Xm(e)||!Xm(e.config)||!Array.isArray(e.config.nodes)?e:{...e,config:{...e.config,nodes:e.config.nodes.map(n=>Xm(n)?Object.fromEntries([...["name","type"].filter(r=>Object.hasOwn(n,r)).map(r=>[r,n[r]]),...Object.entries(n).filter(([r])=>r!=="name"&&r!=="type")]):n)}}}const qU={class:"dk-code-editor"},GU={class:"examples-content"},Zm="YAML Syntax",zU=xe(t.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean}},emits:["change","error"],setup(e,{expose:n,emit:r}){const o=t.inject("app:konnectColorMode",t.computed(()=>"light")),{t:i}=Ft.createI18n("en-us",zt),{formData:a,setValue:s}=lt(),l=r,{getMessageFromError:c}=ue.useErrors(),d=t.shallowRef(null);function u(S){return Lc(KU(t.toRaw(S)),{schema:Do,seqNoIndent:!0})}function f(){return u(eo(a,["__ui_data"]))}const p=t.shallowRef(f()),m={scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep",editContext:!1,guides:{indentation:!0,highlightActiveIndentation:!0}};function h(S){const x=S.getModel();x&&(d.value=S,S.onDidChangeModelContent(()=>{try{const I=io(S.getValue()||"",{schema:Do,json:!0});if(typeof I!="object"||I===null)return;Ml.editor.setModelMarkers(x,Zm,[]),s(I),l("change",I)}catch(I){const{message:T,mark:A}=I,{line:v,column:P}=A||{line:0,column:0},O=T.split(`
451
- `)[0],R=[{startLineNumber:v+1,startColumn:P+1,endLineNumber:v+1,endColumn:P+2,message:O,severity:Ml.MarkerSeverity.Error,source:Zm}];Ml.editor.setModelMarkers(x,Zm,R),l("error",O)}}),S.onDidPaste(I=>{const T=S.getModel();if(!T)return;const A=T.getValueInRange(I.range);for(const v of UU){const P=v.extract(A);if(P){g.value=P,_.value=v.name,y.value=!0;return}}}),w())}const y=t.shallowRef(!1),g=t.shallowRef(null),_=t.shallowRef("");function k(){y.value=!1,g.value=null,_.value=""}function b(){g.value&&(p.value=u(g.value),k())}function N(S){return i(`plugins.free-form.datakit.examples.${S}`)}function C(S){const x=S.code;try{const I=io(p.value,{schema:Do,json:!0}),T=io(x,{schema:Do,json:!0});if(typeof I=="object"&&I!==null&&Kt(I.config,T))return;const A=eo({...a,config:{...T}},["__ui_data"]);p.value=u(A)}catch(I){l("error",c(I))}w()}function w(){const S=d.value,x=S?.getModel();!S||!x||(S.setPosition(x.getFullModelRange().getEndPosition()),S.focus())}return n({setExampleCode:C}),(S,x)=>(t.openBlock(),t.createElementBlock("div",qU,[t.createVNode(t.unref(_e.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",GU,[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(uC),I=>(t.openBlock(),t.createBlock(t.unref(_e.KButton),{key:I.id,appearance:"secondary",size:"small",onClick:T=>C(I)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N(I.i18nKey)),1)]),_:2},1032,["onClick"]))),128))])]),_:1}),(t.openBlock(),t.createBlock(t.unref(Ka.MonacoEditor),{key:t.unref(o),ref:"editor",modelValue:p.value,"onUpdate:modelValue":x[0]||(x[0]=I=>p.value=I),appearance:"standalone",class:"editor",language:"yaml",options:m,theme:t.unref(o),onReady:h},null,8,["modelValue","theme"])),t.createVNode(t.unref(_e.KModal),{"action-button-text":t.unref(i)("plugins.free-form.datakit.detected_config_format_confirm"),title:t.unref(i)("plugins.free-form.datakit.detected_config_format_title"),visible:y.value,onCancel:k,onProceed:b},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.detected_config_format",{format:_.value})),1)]),_:1},8,["action-button-text","title","visible"])]))}}),[["__scopeId","data-v-da4d9e48"]]),{t:HU}=Ft.createI18n("en-us",zt),ud=Ot.createGlobalState(()=>{const e=Ot.useLocalStorage("datakit-editor-mode","flow"),n=Ot.useLocalStorage("datakit-editor-sidebar-expanded",!0),r=Ot.useLocalStorage("datakit-editor-response-panel-collapsed",!1);return{editorMode:e,sidePanelExpanded:n,responsePanelCollapsed:r}});function WU({enabled:e,confirm:n}){Ar.onBeforeRouteLeave(()=>t.toValue(e)?n?n():window.confirm(HU("plugins.free-form.datakit.flow_editor.leave_confirm")):!0);const r=o=>{t.toValue(e)&&o.preventDefault()};Ot.useEventListener("beforeunload",r)}const YU={class:"label-content"},JU={class:"count"},XU={class:"label-content"},ZU={class:"count"},fC=.5,Qm=.03,QU=30,eg=xe(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),r=t.ref(!1),o=t.ref(!1),{responsePanelCollapsed:i}=ud(),{state:a,configNodeCounts:s,clearPendingLayout:l,setPendingFitView:c,commit:d,clear:u,portalSelection:f}=Vt(),p=t.useId(),m=`${p}-request`,h=`${p}-response`,y=xt.useVueFlow(m),g=xt.useVueFlow(h);function _(X,he){const{onPaneClick:ve,onNodesChange:je,onEdgesChange:qe,getSelectedNodes:Be,getSelectedEdges:Ve}=X,{removeSelectedElements:$e}=he;function Ke(de){if(!de){$e();return}de.some(Z=>Z.type==="select")&&Be.value.length+Ve.value.length>0&&$e()}je(Ke),qe(Ke),ve(()=>Ke())}_(y,g),_(g,y),t.watch(f,X=>{X&&(y.removeSelectedElements(),g.removeSelectedElements())});const k=t.useTemplateRef("flowPanels"),b=t.useTemplateRef("requestLabel"),N=t.useTemplateRef("requestCanvasContainer"),C=t.useTemplateRef("requestFlow"),w=t.useTemplateRef("resizeHandle"),S=t.useTemplateRef("responseLabel"),x=t.useTemplateRef("responseCanvasContainer"),I=t.useTemplateRef("responseFlow"),T=Ot.useElementBounding(k),A=Ot.useElementBounding(b),v=Ot.useElementBounding(N),P=Ot.useElementBounding(w),O=Ot.useElementBounding(S),R=Ot.useElementBounding(x),Q=t.computed(()=>Math.max(QU,T.height.value*Qm)),pe=t.computed(()=>T.height.value-A.height.value-P.height.value-O.height.value),H=t.computed(()=>{const X=pe.value;return X?Math.max(Qm,Q.value/X):Qm}),j=t.ref(fC),D=t.computed(()=>`${j.value*100}%`),ee=t.computed(()=>`${(1-j.value)*100}%`),K=t.computed(()=>j.value<=H.value),J=t.computed(()=>1-j.value<=H.value);function ce(X,{persist:he=!0}={}){const ve=Math.min(1,Math.max(0,X));j.value=ve,he&&e.mode==="edit"&&(i.value=J.value)}function z(X,he=!0){ce(X?1:fC,{persist:he})}function oe(X=!0){ce(0,{persist:X})}if(e.mode==="edit"){const X=s.value.response===0,he=i.value;z(X||he,!1)}else t.watch(()=>s.value.response,X=>{z(X===0,!1)},{immediate:!0});const Pe=()=>{e.resizable&&(K.value?z(!1):oe())},Ee=()=>{e.resizable&&z(!J.value)},{isDragging:Ge}=Ot.useDraggable(w,{onMove(X){if(!e.resizable)return;const he=Math.max(0,X.y-v.top.value),ve=Math.min(1,Math.max(0,he/pe.value));ce(ve,{persist:!1})},onEnd(){e.resizable&&(v.height.value<Q.value?oe():R.height.value<Q.value?z(!0):ce(j.value))}});function se(){t.nextTick(()=>{C.value?.fitView(),I.value?.fitView()})}return t.watch([r,o,()=>a.value.pendingLayout,()=>a.value.pendingFitView],([X,he,ve,je])=>{e.inactive||!X||!he||!ve&&!je||(ve&&l(),je&&c(!1),setTimeout(async()=>{ve&&(await C.value?.autoLayout(!1),await I.value?.autoLayout(!1),d("*"),ve==="clearHistory"&&u()),je&&setTimeout(()=>se(),0)},0))}),(X,he)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:k,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:b,class:t.normalizeClass(["label request",{resizable:e.resizable}]),onClick:Pe},[e.resizable?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:K.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",YU,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.request"))+" ",1),t.createElementVNode("span",JU,[t.unref(s).request===1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:t.unref(s).request}))+") ",1)],64))])])],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:N,class:t.normalizeClass(["canvas",{dragging:t.unref(Ge)}]),style:t.normalizeStyle({flexBasis:D.value})},[t.createVNode(Sp,{ref_key:"requestFlow",ref:C,"flow-id":m,mode:e.mode,phase:"request",onInitialized:he[0]||(he[0]=ve=>r.value=!0),onNodesChange:he[1]||(he[1]=ve=>r.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:w,class:t.normalizeClass(["resize-handle",{resizable:e.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:S,class:t.normalizeClass(["label response",{dragging:t.unref(Ge),resizable:e.resizable}]),onClick:Ee},[e.resizable?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:J.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",XU,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.response"))+" ",1),t.createElementVNode("span",ZU,[t.unref(s).response===1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:t.unref(s).response}))+") ",1)],64))])])],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:x,class:t.normalizeClass(["canvas response",{dragging:t.unref(Ge)}]),style:t.normalizeStyle({flexBasis:ee.value})},[t.createVNode(Sp,{ref_key:"responseFlow",ref:I,"flow-id":h,mode:e.mode,phase:"response",onInitialized:he[2]||(he[2]=ve=>o.value=!0),onNodesChange:he[3]||(he[3]=ve=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-5a4fec80"]]),eK={class:"dk-confirm-modal-body"},tK={class:"connections"},nK=xe(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:r}){const{i18n:{t:o}}=Qe(),i=r,a=t.ref(!1),s=t.ref(e.message),l=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function u(){a.value=!1,i("cancel"),d?.(!1)}function f(){a.value=!1,i("confirm"),d?.(!0)}async function p(m,h,y){return s.value=m,l.value=h??[],c.value=y??[],a.value=!0,await new Promise(g=>{d=g})}return n({open:p}),(m,h)=>{const y=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(y,{"action-button-text":t.unref(o)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:e.title??t.unref(o)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:u,onProceed:f},{default:t.withCtx(()=>[t.createElementVNode("div",eK,[t.createElementVNode("p",null,t.toDisplayString(s.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",tK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`,class:"connection"},[t.createVNode(t.unref(Ne.AddIcon),{color:`var(--kui-color-background-success, ${t.unref(FS)})`},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(g)+" → "+t.toDisplayString(_),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`,class:"connection"},[t.createVNode(t.unref(Ne.RemoveIcon),{color:`var(--kui-color-text-danger, ${t.unref(jy)})`},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(g)+" → "+t.toDisplayString(_),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-e6df03c2"]]),rK={class:"dk-editor-nav"},oK={class:"top"},iK={class:"bottom"},aK=xe(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:r}=Ft.createI18n("en-us",zt),o=n,i=[{label:r("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ne.ArrowLeftIcon,onClick:()=>o("back")}],{sidePanelExpanded:a}=ud(),s=t.computed(()=>a.value?r("plugins.free-form.datakit.flow_editor.collapse_panel"):r("plugins.free-form.datakit.flow_editor.expand_panel")),l=t.ref(!1);function c(){a.value=!a.value}return(d,u)=>(t.openBlock(),t.createElementBlock("nav",rK,[t.createElementVNode("div",oK,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:f,to:p,icon:m,onClick:h})=>t.createVNode(t.unref(_e.KTooltip),{key:f,"kpop-attributes":{offset:"10px"},label:f,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(_e.KButton),{key:f,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",iK,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:u[0]||(u[0]=t.withModifiers(f=>l.value=!1,["self"])),onTransitionstart:u[1]||(u[1]=t.withModifiers(f=>l.value=!0,["self"]))},[t.createVNode(t.unref(_e.KTooltip),{label:l.value?void 0:s.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDoubleLeftIcon),{key:0,decorative:"",size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDoubleRightIcon),{key:1,decorative:"",size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-07aa3288"]]),sK={class:"dk-editor-main"},lK={class:"header"},cK={class:"actions"},dK={class:"settings"},uK={ref:"canvasContainer",class:"body"},fK=xe(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Ft.createI18n("en-us",zt),{modalOpen:r,undo:o,redo:i,canUndo:a,canRedo:s,load:l}=Vt();function c(p){return n(`plugins.free-form.datakit.examples.${p}`)}function d(p){const m=io(p.code,{schema:Do,json:!0});if(typeof m!="object"||m===null)return;const h=m,y={config:{...h,nodes:h.nodes??[]}};l(y,!0)}function u(){r.value=!1}Fy({enabled:r,undo:o,redo:i});const f={maxWidth:"300px",zIndex:1e4};return(p,m)=>(t.openBlock(),t.createElementBlock("div",sK,[t.createElementVNode("header",lK,[t.createElementVNode("div",cK,[t.createVNode(t.unref(_e.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(mc,{keys:t.unref(jl).undo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(_e.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(mc,{keys:t.unref(jl).redo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",disabled:!t.unref(s),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),m[0]||(m[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",dK,[t.createVNode(en,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:f},name:"config.debug"},null,8,["label","label-attributes"])]),m[1]||(m[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(_e.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples"),width:240},{items:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(uC),h=>(t.openBlock(),t.createBlock(t.unref(_e.KDropdownItem),{key:h.id,onClick:y=>d(h)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c(h.i18nKey)),1)]),_:2},1032,["onClick"]))),128))]),_:1},8,["trigger-text"]),t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),t.createVNode(t.unref(Ne.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(_e.KButton),{onClick:u},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",uK,[t.createVNode(eg,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-b3fbf3d7"]]),pK=["draggable"],mK={class:"icon"},gK={class:"content"},hK={class:"title"},yK={class:"description"},_K=xe(t.defineComponent({__name:"NodePanelItem",props:{type:{},unsupported:{type:Boolean}},emits:["dragstart"],setup(e,{emit:n}){t.useCssVars(c=>({f502bd0e:t.unref(a),v4b2eb58e:t.unref(s)}));const r=n,{summary:o,icon:i}=ec[e.type],{colors:{background:a,foreground:s}}=GO(ec[e.type].group);function l(c){r("dragstart",c,e.type)}return(c,d)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${e.type}`]:!0,unsupported:e.unsupported}]),draggable:!e.unsupported,onDragstart:l},[t.createElementVNode("div",mK,[t.createVNode(t.unref(i),{size:16})]),t.createElementVNode("div",gK,[t.createElementVNode("div",hK,t.toDisplayString(e.type),1),t.createElementVNode("div",yK,t.toDisplayString(t.unref(o)),1)])],42,pK))}}),[["__scopeId","data-v-829422ff"]]),bK={class:"dk-node-panel"},kK={key:0,class:"title"},wK={class:"node-list"},CK={class:"group-title"},EK={class:"group-items"},NK={"aria-hidden":"true",class:"preview",inert:""},SK=xe(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),{createNode:r}=Vt(),o=t.inject(Bn.KM_2446_DATAKIT_JWT_NODES,!1),i=t.computed(()=>o?Ob:Ob.filter(({id:d})=>d!=="authentication")),a=`dk-drag-preview-${t.useId()}`,s=t.shallowRef(),l=t.computed(()=>s.value?[{id:"preview",type:"flow",data:s.value,position:{x:0,y:0}}]:[]),c=async(d,u)=>{const f=d.currentTarget,{left:p,top:m,width:h,height:y}=f.getBoundingClientRect(),g=d.clientX-p,_=d.clientY-m;s.value=r({type:u}),await t.nextTick();const k=document.querySelector(`#${a}`)||f,b=k.cloneNode(!0);b.classList.add("dk-drag-snapshot");const{offsetWidth:N,offsetHeight:C}=k;Object.assign(b.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${N}px`,height:`${C}px`}),document.body.appendChild(b);const w=g/h,S=_/y,x={ratioX:w,ratioY:S,offsetX:N*w,offsetY:C*S},I={action:"create-node",data:{type:u,anchor:x}};d.dataTransfer?.setData(Ga,JSON.stringify(I)),d.dataTransfer?.setData(`${Ga}/${u}`,u),d.dataTransfer?.setDragImage(b,x.offsetX,x.offsetY),requestAnimationFrame(()=>{b.remove(),s.value=void 0})};return(d,u)=>{const f=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",bK,[e.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",kK,[t.createVNode(f,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])])),t.createElementVNode("div",wK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.value,p=>(t.openBlock(),t.createElementBlock("section",{key:p.id,class:"node-group"},[t.createElementVNode("h4",CK,t.toDisplayString(p.title),1),t.createElementVNode("div",EK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.nodes,m=>(t.openBlock(),t.createBlock(_K,{key:m.type,type:m.type,onDragstart:c},null,8,["type"]))),128))])]))),128))]),t.createElementVNode("div",NK,[t.createVNode(t.unref(xt.VueFlow),{nodes:l.value},{"node-flow":t.withCtx(p=>[t.createVNode(Mk,{id:a,data:p.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-f2040974"]]);function AK(){const{addField:e,getNodeByName:n,removeField:r,replaceConfig:o,renameField:i,disconnectOutEdges:a,nodeMapByName:s}=Vt(),l=n("vault");if(!l)throw new Error("no vault node");const c=t.computed(()=>s.value.get("vault")?.config||{});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(h,y)=>{e(l.id,"output",h,!1);const g={...l.config,[h]:y};o(l.id,g)},removeVault:h=>{const y=to(l,"output",h);if(!y)return;const g=l.fields.output.length===1;r(l.id,y.id,!0,!1);const _=eo(l.config,h);o(l.id,_,!g),g&&a(l.id)},updateVault:(h,y,g=!0)=>{const _={...l.config,[h]:y};o(l.id,_,g)},renameVault:(h,y,g=!0)=>{const _=to(l,"output",h);if(!_)return;i(l.id,_.id,y,!1);const k=l.config?.[h]??"",b={...eo(l.config,h),[y]:k};o(l.id,b,g)}}}const xK=t.defineComponent({__name:"VaultSecretPicker",props:{secretRef:{type:[String,Boolean]},secretName:{},validateName:{type:Function,default:()=>{}},isEditing:{type:Boolean,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){const r=n,{i18n:{t:o}}=it.useI18n(),i=t.inject(Je.FORMS_CONFIG),a=t.ref(e.secretName||""),s=t.ref(""),l=t.computed(()=>a.value.trim()?e.validateName(a.value.trim(),e.isEditing)===void 0:!1),c=t.computed(()=>!l.value),d=()=>{const m=a.value.trim(),h=e.validateName(m,e.isEditing);return s.value=h||"",h===void 0},u=()=>{s.value="",d()},f=m=>{d()&&r("proceed",{secretRef:m,secretName:a.value.trim()})},p=()=>{a.value="",s.value="",r("cancel")};return t.watch(()=>e.secretName,m=>{a.value=m||"",s.value=""}),(m,h)=>{const y=t.resolveComponent("KInput"),g=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(qa.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:t.unref(i),"proceed-button-text":t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:e.secretRef,title:t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:p,onProceed:f},{"form-prefix":t.withCtx(()=>[t.createVNode(y,{"model-value":a.value,"onUpdate:modelValue":[h[0]||(h[0]=_=>a.value=_),u],"data-testid":"vault-secret-picker-secret-name-input",error:!!s.value,"error-message":s.value,label:t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.placeholder"),required:""},null,8,["model-value","error","error-message","label","label-attributes","placeholder"])]),_:1},8,["additional-disabled","config","proceed-button-text","setup","title"])):(t.openBlock(),t.createBlock(g,{key:1,"icon-variant":"error",message:t.unref(o)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),IK={class:"dk-vault-panel"},vK={class:"title"},TK={class:"vault-list"},BK={key:0,class:"vault-list-item"},OK={class:"vault-list-item-key"},PK={class:"vault-list-item-key-text"},VK=xe(t.defineComponent({__name:"VaultField",props:{autofocus:{type:Boolean},name:{},labelAttributes:{}},emits:["update","add","remove"],setup(e,{emit:n}){const r=e,o=n,{keys:i,addKey:a,removeKey:s,updateKey:l,getKeyName:c}=Ac(t.toRef(r,"name")),d=$t(t.toRef(r,"name")),u=t.ref(null),f=t.ref(null),p=t.computed(()=>{if(!u.value)return null;const C=c(u.value),w=d.value?d.value.value[u.value]:void 0;return C===void 0||w===void 0?null:{id:u.value,key:C,value:w}}),{i18n:{t:m}}=it.useI18n(),h=t.computed(()=>new Set(i.value.map(([,C])=>C))),y=()=>{if(!d.value)return;const w=a();f.value=w,u.value=w},g=()=>{u.value=null,f.value&&(s(f.value),f.value=null)},_=C=>{if(!p.value)throw new Error("no selected entry");const w=p.value.key,S=w!==C.secretName,x=p.value.value!==C.secretRef,I=S||x;p.value.value=C.secretRef,p.value.key=C.secretName,x&&(d.value.value[p.value.id]=C.secretRef),S&&l(p.value.id,C.secretName),f.value?o("add",C.secretName,C.secretRef):I&&o("update",C.secretName,C.secretRef,S?w:void 0),f.value=null,g()},k=C=>{u.value=C},b=C=>{const w=c(C);s(C),o("remove",w)},N=(C,w)=>{if(!C)return m("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(h.value.has(C)&&!(w&&C===p.value?.key))return m("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(C,w)=>{const S=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),I=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",IK,[t.createElementVNode("h3",vK,t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(S,{appearance:"tertiary",class:"add-button",size:"small",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",TK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),([T,A])=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:T},[A?(t.openBlock(),t.createElementBlock("div",BK,[t.createElementVNode("div",OK,[t.createVNode(t.unref(Ne.KeyIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:16},null,8,["color"]),t.createElementVNode("div",PK,t.toDisplayString(A),1)]),t.createVNode(I,null,{items:t.withCtx(()=>[t.createVNode(x,{onClick:v=>k(T)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1},8,["onClick"]),t.createVNode(x,{danger:"",onClick:v=>b(T)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1},8,["onClick"])]),default:t.withCtx(()=>[t.createVNode(S,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:`var(--kui-color-text, ${t.unref(gf)})`},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(xK,{"is-editing":!!u.value&&!f.value,"secret-name":p.value?.key,"secret-ref":p.value?.value,"validate-name":N,onCancel:g,onProceed:_},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-a7726f48"]]);function $K(){const{getSchema:e}=lt();return t.computed(()=>{const n=e("config.resources");if(!n)throw new Error("Failed to get resource schema");const r=Tr(n);return r.fields.forEach(o=>{const i=Object.keys(o)[0];if(i==="cache"){const a=o[i];o[i]={...a,fields:[...a.fields,{partial_id:{type:"string"}}]},a.fields.forEach(s=>{const l=Object.keys(s)[0];if(l==="redis"){const c=s[l];s[l]={...c},delete s[l].required}})}}),r})}const RK={key:1},LK=["innerHTML"],DK={class:"horizontal-container"},tg=xe(t.defineComponent({__name:"RadioField",props:{labelAttributes:{},multiple:{type:Boolean},items:{},label:{},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=n,o=t.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=lt(),a=$t(t.toRef(()=>e.name)),s=Jt(a.path,o),l=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=d=>{a.value&&(a.value.value=d),r("update:modelValue",d)};return(d,u)=>{const f=t.resolveComponent("KAlert"),p=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(f,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",RK,[t.createVNode(p,t.normalizeProps(t.guardReactiveProps(t.unref(s).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s).label)+" ",1)]),_:2},[t.unref(s).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,LK)]),key:"0"}:void 0]),1040),t.createElementVNode("div",DK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,m=>(t.openBlock(),t.createBlock(t.unref(_e.KRadio),{key:m.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[u[0]||(u[0]=h=>t.unref(a).value.value=h),c],"card-orientation":"horizontal",label:m.label,"selected-value":m.value},null,8,["model-value","label","selected-value"]))),128))])],512)),[[t.vShow,!t.unref(a).hide.value]])}}}),[["__scopeId","data-v-7c0483f3"]]),MK={class:"dk-cache-panel"},FK={class:"title"},jK={key:0,class:"cache-item"},UK={class:"cache-item-key"},KK={class:"cache-item-key-text"},qK={class:"dk-resource-cache-form"},GK={key:1},zK={key:2,class:"dk-cache-inline-redis"},HK={key:3,class:"dk-cache-redis-editor"},WK={key:0,class:"redis-editor-error"},YK=xe(t.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(e,{emit:n}){const r=t.inject("app:konnectColorMode",t.computed(()=>"light")),o=Lc({host:"127.0.0.1",port:6379},{indent:2}),i=n,{getDefault:a,formData:s}=lt(),l=$t("cache");if(l.error)throw new Error("No cache schema");const c=t.inject(oa),d=t.computed(()=>!!c),u=t.shallowRef(""),f=t.ref(""),p=t.ref(!1),{i18n:{t:m}}=it.useI18n(),h=t.computed(()=>y.value==="redis"?d.value?!!(s.cache?.partial_id||s.cache?.redis):!!s.cache?.redis&&!f.value:!0),y=t.computed(()=>l.value.value?.strategy),g=t.computed(()=>l.value.value?.redis?Lc(l.value.value.redis,{indent:2,noRefs:!0}):"");t.watch([p,y],([x,I])=>{x&&I==="redis"&&!d.value&&(u.value=g.value||o,f.value="")}),t.watch(u,x=>{if(!d.value&&y.value==="redis")try{const I=io(x,{json:!0});I&&typeof I=="object"&&(s.cache.redis=I,f.value="")}catch(I){f.value=I.message?.split(`
452
- `)[0]||"Invalid YAML"}});const _=()=>{p.value=!0},k=()=>{p.value=!1,i("cancel")},b=()=>{i("remove")},N=()=>{_(),l.value.value||(l.value.value=a("cache"),l.value.value.strategy="memory")},C=()=>{p.value=!1,i("update",s)},w=()=>{y.value==="memory"&&s.cache?.partial_id&&delete s.cache?.partial_id};async function S({codeElement:x,language:I,code:T}){x.innerHTML=await vS.codeToHtml(T,{lang:I,theme:"material-theme-darker",structure:"inline"})}return(x,I)=>{const T=t.resolveComponent("KButton"),A=t.resolveComponent("KDropdownItem"),v=t.resolveComponent("KDropdown"),P=t.resolveComponent("KLabel"),O=t.resolveComponent("KCodeBlock"),R=t.resolveComponent("KModal");return t.openBlock(),t.createElementBlock("div",MK,[t.createElementVNode("h3",FK,t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),e.strategy?(t.openBlock(),t.createElementBlock("div",jK,[t.createElementVNode("div",UK,[t.createVNode(t.unref(Ne.DatabaseIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"]),t.createElementVNode("div",KK,t.toDisplayString(e.strategy),1)]),t.createVNode(v,null,{items:t.withCtx(()=>[t.createVNode(A,{onClick:_},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),t.createVNode(A,{danger:"",onClick:b},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1})]),default:t.withCtx(()=>[t.createVNode(T,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:`var(--kui-color-text, ${t.unref(gf)})`},null,8,["color"])]),_:1})]),_:1})])):(t.openBlock(),t.createBlock(T,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:N},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),t.createVNode(R,{"action-button-disabled":!h.value,"action-button-text":t.unref(m)("actions.save"),"max-width":"640px",title:t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:p.value,onCancel:k,onProceed:C},{default:t.withCtx(()=>[t.createElementVNode("div",qK,[t.createVNode(tg,{items:[{label:t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":w},null,8,["items"]),y.value==="memory"?(t.openBlock(),t.createBlock(Xe,{key:0,name:"memory.dictionary_name"})):t.createCommentVNode("",!0),y.value==="redis"&&d.value?(t.openBlock(),t.createElementBlock("div",GK,[t.createVNode(P,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),t.createVNode(t.unref(mf.RedisConfigurationSelector),{"model-value":t.unref(s).cache?.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":I[0]||(I[0]=Q=>t.unref(s).cache.partial_id=Q)},null,8,["model-value"])])):t.createCommentVNode("",!0),y.value==="redis"&&d.value&&!t.unref(s).cache?.partial_id&&g.value?(t.openBlock(),t.createElementBlock("div",zK,[t.createElementVNode("div",null,t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),t.createVNode(O,{id:"dk-cache-redis-configuration",code:g.value,language:"yaml",theme:"dark",onCodeBlockRender:S},null,8,["code"])])):t.createCommentVNode("",!0),y.value==="redis"&&!d.value?(t.openBlock(),t.createElementBlock("div",HK,[t.createVNode(P,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config")),1)]),_:1}),(t.openBlock(),t.createBlock(t.unref(Ka.MonacoEditor),{key:t.unref(r),modelValue:u.value,"onUpdate:modelValue":I[1]||(I[1]=Q=>u.value=Q),appearance:"standalone",class:"redis-editor",language:"yaml",theme:t.unref(r)},null,8,["modelValue","theme"])),f.value?(t.openBlock(),t.createElementBlock("p",WK,t.toDisplayString(f.value),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)])]),_:1},8,["action-button-disabled","action-button-text","title","visible"])])}}}),[["__scopeId","data-v-9898d095"]]),JK={class:"dk-resources-panel"},XK=xe(t.defineComponent({__name:"ResourcesPanel",setup(e){const n=$K(),r=t.ref(0),{addVault:o,removeVault:i,updateVault:a,renameVault:s,formData:l}=AK();function c(y,g,_){_&&_!==y&&s(_,y,!1),a(y,g)}const{state:d,commit:u}=Vt(),f=t.computed(()=>({cache:d.value.cacheConfig}));function p(y){d.value.cacheConfig=y.cache,u()}function m(){d.value.cacheConfig=void 0,u()}function h(){r.value++}return(y,g)=>(t.openBlock(),t.createElementBlock("div",JK,[t.createVNode(Wt,{data:t.unref(l),schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(VK,{name:"vault",onAdd:t.unref(o),onRemove:t.unref(i),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),g[0]||(g[0]=t.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(t.openBlock(),t.createBlock(Wt,{key:`${r.value}`,data:f.value,schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(YK,{strategy:f.value.cache?.strategy,onCancel:h,onRemove:m,onUpdate:p},null,8,["strategy"])]),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-9093c001"]]),ZK={class:"header"},QK={class:"title"},e8={class:"body"},t8={class:"panel"},n8=xe(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=Ft.createI18n("en-us",zt),{sidePanelExpanded:r}=ud(),{propertiesPanelOpen:o,selectedNode:i}=Vt(),a=t.ref("nodes");function s(){o.value=!1}t.watch(i,c=>{c||s()});const l=t.ref(!1);return t.onMounted(()=>{l.value=!0}),(c,d)=>{const u=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(r),inited:l.value}])},[t.createElementVNode("header",ZK,[t.createElementVNode("h2",QK,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",e8,[t.createElementVNode("div",t8,[t.createVNode(u,{modelValue:a.value,"onUpdate:modelValue":d[0]||(d[0]=f=>a.value=f),options:[{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.nodes"),value:"nodes"},{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.resources.title"),value:"resources"}]},null,8,["modelValue","options"]),a.value==="nodes"?(t.openBlock(),t.createBlock(SK,{key:0,class:"node-panel","hide-title":""})):t.createCommentVNode("",!0),a.value==="resources"?(t.openBlock(),t.createBlock(XK,{key:1})):t.createCommentVNode("",!0)])])],2)}}}),[["__scopeId","data-v-9e854e60"]]),r8=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,r)=>(t.openBlock(),t.createBlock(St,{items:t.unref(xp)([...t.unref(Tb)]),name:e.name},null,8,["items","name"]))}});function o8(e,n){const r=[],o=(i,a)=>{typeof a=="string"&&r.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&o(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&o(["inputs",i],a);if("output"in e&&e.output!=null&&o(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&o(["outputs",i],a);return r}function i8(e){const n=e.path[2];return n==="output"||n==="outputs"}function pC(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function mC(e,n){const r=e.input!==void 0&&e.input!==null,o=pC(e.inputs);r&&o&&n.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["inputs"]});const i=e.output!==void 0&&e.output!==null,a=pC(e.outputs);i&&a&&n.addIssue({code:"custom",message:'A node cannot use both "output" and "outputs". Use one or the other.',path:["outputs"]})}function gC(e,n,r){if(!e.nodes)return;const o=e.nodes.map(c=>c.name),i=new Set;o.forEach((c,d)=>{i.has(c)&&r.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",d,"name"]}),i.add(c)});const a=new Set([...n,...o]),s=new Map,l=new Map;e.nodes.forEach((c,d)=>{for(const u of o8(c,d)){const f=u.value.split(".",1)[0];if(a.has(f)||r.addIssue({code:"custom",message:`Unknown node "${f}" in connection "${u.value}"`,path:u.path}),i8(u)){const p=`${u.nodeName}->${f}`;l.has(p)?r.addIssue({code:"custom",message:`Connection specified on both sides: "${u.nodeName}" outputs to "${f}" and "${f}" inputs from "${u.nodeName}". Specify it on one side only.`,path:u.path}):s.set(p,s.get(p)??u.path)}else{const p=`${f}->${u.nodeName}`;s.has(p)?r.addIssue({code:"custom",message:`Connection specified on both sides: "${f}" outputs to "${u.nodeName}" and "${u.nodeName}" inputs from "${f}". Specify it on one side only.`,path:u.path}):l.set(p,l.get(p)??u.path)}}})}const a8=$.z.enum(Ib),s8=$.z.enum(Ei),hC=e=>Ei.includes(e),ng=$.z.enum(vb),yC=ng.options;$.z.union([ng,a8]);const l8=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,fd=$.z.string().min(1).max(255).regex(l8,"Invalid node name (snake_case / kebab-case only)").refine(e=>!hC(e),"Name clashes with reserved implicit node").brand(),_C=$.z.union([s8,fd]),c8=$.z.string().min(1).brand(),d8=["then","else"];$.z.enum(d8);const ut=$.z.string().min(1).max(255).refine(e=>{if(_C.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,r,o]=n;return _C.safeParse(r).success&&c8.safeParse(o).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),u8=$.z.object({body:ut,headers:ut,http_proxy:ut,https_proxy:ut,proxy_auth_password:ut,proxy_auth_username:ut,query:ut,url:ut}).partial().strict(),f8=$.z.object({headers:ut,body:ut}).partial().strict(),p8=$.z.object({data:ut,key:ut,ttl:ut}).partial().strict(),m8=$.z.object({claims:ut,key:ut}).partial().strict(),g8=$.z.object({key:ut,token:ut}).partial().strict(),bC=$.z.enum(Tb),kC=$.z.enum(Xf),qn=$.z.object({type:$.z.string(),name:fd,input:ut,inputs:$.z.record($.z.string().min(1).max(255),ut).nullish(),output:ut,outputs:$.z.record($.z.string().min(1).max(255),ut).nullish()}).loose().superRefine((e,n)=>{mC(e,n)}),h8=$.z.object({type:$.z.string(),name:$.z.string()}).loose().superRefine((e,n)=>{const r=e.type,o=e.name;(typeof o!="string"||o.length===0||o.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),yC.includes(r)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${r}", expected one of: ${yC.join(", ")}`})}),y8=qn.safeExtend({type:$.z.literal("call"),method:bC.default("GET").nullish(),ssl_server_name:$.z.string().nullish(),ssl_verify:$.z.boolean().default(!0).nullish(),timeout:$.z.number().int().min(0).max(2147483646).nullish(),url:$.z.url().nullish(),inputs:u8.nullish(),outputs:$.z.object({body:ut,headers:ut,raw_body:ut,status:ut}).partial().nullish()}).strict(),_8=qn.safeExtend({type:$.z.literal("exit"),status:$.z.number().int().min(200).max(599).default(200).nullish(),warn_headers_sent:$.z.boolean().nullish(),inputs:f8.nullish(),output:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),b8=qn.safeExtend({type:$.z.literal("jq"),jq:$.z.string().min(1).max(10240),outputs:$.z.never().nullish()}).strict(),k8=qn.safeExtend({type:$.z.literal("xml_to_json"),recognize_type:$.z.boolean().nullish().default(!0),attributes_block_name:$.z.string().min(1).max(32).nullish(),attributes_name_prefix:$.z.string().min(1).max(32).nullish(),text_block_name:$.z.string().min(1).max(32).nullish().default("#text"),text_as_property:$.z.boolean().nullish().default(!1),xpath:$.z.string().min(1).max(256).nullish(),inputs:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict().superRefine((e,n)=>{!e.attributes_block_name&&!e.attributes_name_prefix&&(n.addIssue({code:"custom",path:["attributes_block_name"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}),n.addIssue({code:"custom",path:["attributes_name_prefix"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}))}),w8=qn.safeExtend({type:$.z.literal("json_to_xml"),attributes_block_name:$.z.string().min(1).max(32).nullish(),attributes_name_prefix:$.z.string().min(1).max(32).nullish(),root_element_name:$.z.string().min(1).max(64).nullish(),text_block_name:$.z.string().min(1).max(32).nullish().default("#text"),inputs:$.z.record($.z.string().min(1).max(255),ut).nullish(),outputs:$.z.never().nullish()}).strict().superRefine((e,n)=>{!e.attributes_block_name&&!e.attributes_name_prefix&&(n.addIssue({code:"custom",path:["attributes_block_name"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}),n.addIssue({code:"custom",path:["attributes_name_prefix"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}))}),C8=qn.safeExtend({type:$.z.literal("jwt_decode"),inputs:$.z.never().nullish(),outputs:$.z.object({header:ut,payload:ut,signature:ut}).partial().nullish()}).strict(),E8=qn.safeExtend({type:$.z.literal("jwt_sign"),algorithm:kC,expires_in:$.z.number().int().min(1).default(300).nullish(),inputs:m8.nullish(),kid:$.z.string().nullish(),not_before:$.z.number().int().min(0).default(0).nullish(),outputs:$.z.object({claims:ut,header:ut,token:ut}).partial().nullish(),static_claims:$.z.record($.z.string(),$.z.string()).default({}).nullish(),typ:$.z.string().default("JWT").nullish()}).strict(),N8=qn.safeExtend({type:$.z.literal("jwt_verify"),allowed_algorithms:$.z.array(kC).default([]).nullish(),audiences:$.z.array($.z.string()).default([]).nullish(),inputs:g8.nullish(),issuers:$.z.array($.z.string()).default([]).nullish(),leeway:$.z.number().int().min(0).default(0).nullish(),outputs:$.z.object({claims:ut,header:ut}).partial().nullish(),required_claims:$.z.array($.z.string()).default([]).nullish(),validate_exp:$.z.boolean().default(!0).nullish(),validate_nbf:$.z.boolean().default(!0).nullish()}).strict(),S8=qn.safeExtend({type:$.z.literal("property"),content_type:$.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:$.z.string().min(1).max(255),non_nil:$.z.boolean().default(!1).nullish(),inputs:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),A8=qn.safeExtend({type:$.z.literal("static"),values:$.z.record($.z.string(),$.z.unknown()),input:$.z.never().nullish(),inputs:$.z.never().nullish()}).strict(),x8=qn.safeExtend({type:$.z.literal("cache"),bypass_on_error:$.z.boolean().nullish(),inputs:p8.nullish(),outputs:$.z.object({data:ut,hit:ut,miss:ut,stored:ut}).partial().nullish(),ttl:$.z.number().int().gt(0).nullish()}).strict(),I8=qn.safeExtend({type:$.z.literal("branch"),then:$.z.array(fd).min(1).max(64).nullish(),else:$.z.array(fd).min(1).max(64).nullish()}).strict(),v8=h8.pipe($.z.discriminatedUnion("type",[y8,_8,b8,k8,w8,C8,E8,N8,S8,A8,x8,I8])),T8=$.z.record($.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),$.z.string().min(1).max(4095)),B8=$.z.object({dictionary_name:$.z.string().nullish().default("kong_db_cache")}),O8=$.z.object({host:$.z.string().default("127.0.0.1"),port:$.z.number().int().min(0).max(65535).default(6379)}),P8=$.z.object({ip:$.z.string().default("127.0.0.1"),port:$.z.number().int().min(0).max(65535).default(6379)}),V8=$.z.object({host:$.z.string().nullish().default("127.0.0.1"),port:$.z.number().int().min(0).max(65535).nullish().default(6379),connect_timeout:$.z.number().int().min(0).max(2147483646).nullish().default(2e3),send_timeout:$.z.number().int().min(0).max(2147483646).nullish().default(2e3),read_timeout:$.z.number().int().min(0).max(2147483646).nullish().default(2e3),username:$.z.string().nullish(),password:$.z.string().nullish(),sentinel_username:$.z.string().nullish(),sentinel_password:$.z.string().nullish(),database:$.z.number().int().nullish().default(0),keepalive_pool_size:$.z.number().int().min(1).max(2147483646).nullish().default(256),keepalive_backlog:$.z.number().int().min(0).max(2147483646).nullish(),sentinel_master:$.z.string().nullish(),sentinel_role:$.z.enum(["master","slave","any"]).nullish(),sentinel_nodes:$.z.array(O8).min(1,{message:"sentinel_nodes must contain at least 1 item"}).nullish(),cluster_nodes:$.z.array(P8).min(1,{message:"cluster_nodes must contain at least 1 item"}).nullish(),ssl:$.z.boolean().default(!1).nullish(),ssl_verify:$.z.boolean().default(!0).nullish(),server_name:$.z.string().nullish(),cluster_max_redirections:$.z.number().int().default(5).nullish(),connection_is_proxied:$.z.boolean().default(!1).nullish(),cloud_authentication:$.z.object({auth_provider:$.z.enum(["aws","azure","gcp"]).nullish(),aws_access_key_id:$.z.string().nullish(),aws_assume_role_arn:$.z.string().nullish(),aws_cache_name:$.z.string().nullish(),aws_is_serverless:$.z.boolean().default(!0).nullish(),aws_region:$.z.string().nullish(),aws_role_session_name:$.z.string().nullish(),aws_secret_access_key:$.z.string().nullish(),azure_client_id:$.z.string().nullish(),azure_client_secret:$.z.string().nullish(),azure_tenant_id:$.z.string().nullish(),gcp_service_account_json:$.z.string().nullish()}).nullish(),timeout:$.z.number().int().nullish(),sentinel_addresses:$.z.array($.z.string()).min(1).nullish(),cluster_addresses:$.z.array($.z.string()).min(1).nullish()}).superRefine((e,n)=>{const r=e.host!==void 0&&e.host!==null,o=e.port!==void 0&&e.port!==null;(r&&!o||!r&&o)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:r?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,s=!!e.sentinel_nodes?.length,l=[i,a,s].filter(Boolean).length;l>0&&l<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!r&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),$8=$.z.object({strategy:$.z.enum(["memory","redis"]).nullish(),memory:B8,redis:V8}),R8=$.z.object({vault:T8.nullish(),cache:$8.nullish()});$.z.array($.z.object({id:$.z.string()})),$.z.object({nodes:$.z.array(v8).min(1,"At least one node is required").max(64),debug:$.z.boolean().default(!1).nullish(),resources:R8.nullish(),ca_certificates:$.z.array($.z.string()).nullish()}).strict().superRefine((e,n)=>{gC(e,Ei,n)});const wC=ng.options,rg=$.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!hC(e),"Node name conflicts with reserved implicit node"),kt=$.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const r=e.slice(0,n),o=e.slice(n+1);return r.length>0&&o.length>0},"Invalid connection"),CC=$.z.object({body:kt.nullish(),headers:kt.nullish(),query:kt.nullish()}).partial().strict(),EC=$.z.object({headers:kt.nullish(),body:kt.nullish()}).partial().strict(),NC=$.z.object({data:kt.nullish(),key:kt.nullish(),ttl:kt.nullish()}).partial().strict(),SC=$.z.object({claims:kt.nullish(),key:kt.nullish()}).partial().strict(),AC=$.z.object({key:kt.nullish(),token:kt.nullish()}).partial().strict(),L8={call:CC,exit:EC,cache:NC,jwt_sign:SC,jwt_verify:AC};function D8(e){const n=L8[e];return n?Object.keys(n.shape):null}const Gn=$.z.object({type:$.z.string(),name:rg,input:kt.nullish(),inputs:$.z.record($.z.string(),kt.nullish()).nullish(),output:kt.nullish(),outputs:$.z.record($.z.string(),kt.nullish()).nullish()}).loose().superRefine((e,n)=>{mC(e,n)}),M8=$.z.object({type:$.z.string(),name:$.z.string()}).loose().superRefine((e,n)=>{const r=e.type,o=e.name;(typeof o!="string"||o.length===0||o.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),wC.includes(r)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${r}", expected one of: ${wC.join(", ")}`})}),F8=Gn.safeExtend({type:$.z.literal("call"),method:bC.nullish(),ssl_server_name:$.z.string().nullish(),ssl_verify:$.z.boolean().nullish(),timeout:$.z.union([$.z.number(),$.z.string()]).nullish(),url:$.z.string().nullish(),inputs:CC.nullish(),outputs:$.z.object({body:kt.nullish(),headers:kt.nullish(),status:kt.nullish()}).partial().nullish()}).strict(),j8=Gn.safeExtend({type:$.z.literal("exit"),status:$.z.union([$.z.number(),$.z.string()]).nullish(),warn_headers_sent:$.z.boolean().nullish(),inputs:EC.nullish(),output:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),U8=Gn.safeExtend({type:$.z.literal("jq"),jq:$.z.string().nullish(),outputs:$.z.never().nullish()}).strict(),K8=Gn.safeExtend({type:$.z.literal("xml_to_json"),recognize_type:$.z.boolean().nullish(),attributes_block_name:$.z.string().nullish(),attributes_name_prefix:$.z.string().nullish(),text_block_name:$.z.string().nullish(),text_as_property:$.z.boolean().nullish(),xpath:$.z.string().nullish(),inputs:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),q8=Gn.safeExtend({type:$.z.literal("json_to_xml"),attributes_block_name:$.z.string().nullish(),attributes_name_prefix:$.z.string().nullish(),root_element_name:$.z.string().nullish(),text_block_name:$.z.string().nullish(),inputs:$.z.record($.z.string(),kt.nullish()).nullish(),outputs:$.z.never().nullish()}).strict(),G8=Gn.safeExtend({type:$.z.literal("property"),content_type:$.z.string().nullish(),non_nil:$.z.boolean().nullish(),property:$.z.string().nullish(),inputs:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),z8=Gn.safeExtend({type:$.z.literal("static"),values:$.z.record($.z.string(),$.z.unknown()).nullish(),input:$.z.never().nullish(),inputs:$.z.never().nullish()}).strict(),H8=Gn.safeExtend({type:$.z.literal("cache"),bypass_on_error:$.z.boolean().nullish(),inputs:NC.nullish(),outputs:$.z.object({data:kt.nullish(),hit:kt.nullish(),miss:kt.nullish(),stored:kt.nullish()}).partial().nullish(),ttl:$.z.union([$.z.number(),$.z.string()]).nullish()}).strict(),W8=Gn.safeExtend({type:$.z.literal("jwt_decode"),inputs:$.z.never().nullish(),outputs:$.z.object({header:kt.nullish(),payload:kt.nullish(),signature:kt.nullish()}).partial().nullish()}).strict(),Y8=Gn.safeExtend({type:$.z.literal("jwt_sign"),algorithm:$.z.enum(Xf).nullish(),expires_in:$.z.union([$.z.number(),$.z.string()]).nullish(),inputs:SC.nullish(),kid:$.z.string().nullish(),not_before:$.z.union([$.z.number(),$.z.string()]).nullish(),outputs:$.z.object({claims:kt.nullish(),header:kt.nullish(),token:kt.nullish()}).partial().nullish(),static_claims:$.z.record($.z.string(),$.z.string()).nullish(),typ:$.z.string().nullish()}).strict(),J8=Gn.safeExtend({type:$.z.literal("jwt_verify"),allowed_algorithms:$.z.array($.z.enum(Xf)).nullish(),audiences:$.z.array($.z.string()).nullish(),inputs:AC.nullish(),issuers:$.z.array($.z.string()).nullish(),leeway:$.z.union([$.z.number(),$.z.string()]).nullish(),outputs:$.z.object({claims:kt.nullish(),header:kt.nullish()}).partial().nullish(),required_claims:$.z.array($.z.string()).nullish(),validate_exp:$.z.boolean().nullish(),validate_nbf:$.z.boolean().nullish()}).strict(),X8=Gn.safeExtend({type:$.z.literal("branch"),then:$.z.array(rg).nullish(),else:$.z.array(rg).nullish()}).strict(),Z8=M8.pipe($.z.discriminatedUnion("type",[F8,j8,U8,K8,q8,W8,Y8,J8,G8,z8,H8,X8])),Q8=$.z.record($.z.string(),$.z.string()),eq=$.z.object({dictionary_name:$.z.string().nullish()}),tq=$.z.object(),nq=$.z.object({strategy:$.z.enum(["memory","redis"]).nullish(),memory:eq.nullish(),redis:tq.nullish()}),rq=$.z.object({vault:Q8.nullish(),cache:nq.nullish()}),xC=$.z.object({nodes:$.z.array(Z8).nullish(),debug:$.z.boolean().nullish(),resources:rq.nullish(),ca_certificates:$.z.array($.z.string()).nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||gC(e,Ei,n)}).nullish(),IC=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{},nodeType:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=lt(),{i18n:r}=Qe(),o=t.computed(()=>{const i=n("inputs");if(!i)return[];const a=i.fields.map(l=>Object.keys(l)[0]);if(hn(e.nodeType))return a;const s=D8(e.nodeType);return s===null?a:s.length===0?[]:gO(a,s)});return(i,a)=>(t.openBlock(),t.createBlock(Rt,{"as-child":"",name:e.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.value,s=>(t.openBlock(),t.createBlock(St,{key:s,clearable:"","enable-filtering":"",items:e.items,name:s,placeholder:t.unref(r).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:l=>i.$emit("change:inputs",s,l?l.value:null)},t.createSlots({_:2},[i.$slots["item-label"]?{name:"item-label",fn:t.withCtx(l=>[t.renderSlot(i.$slots,"item-label",t.mergeProps({ref_for:!0},l))]),key:"0"}:void 0]),1032,["items","name","placeholder","onChange"]))),128))]),_:3},8,["name"]))}}),oq=["data-testid"],iq={class:"dk-inputs-map-field-entry-body"},aq={class:"dk-inputs-map-field-entry-content"},sq=xe(t.defineComponent({__name:"InputsMapField",props:{name:{},items:{},fieldNameValidator:{},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const r=e,o=n,{keys:i,addKey:a,removeKey:s,updateKey:l,getKeyName:c,field:d}=Ac(t.toRef(r,"name")),{value:u}=$t(t.toRef(r,"name")),{i18n:{t:f}}=Qe(),p=t.useTemplateRef("root"),m=t.ref(null),h=t.ref({}),y=t.ref({});let g;const _=t.computed(()=>r.keyOrder?.length?[...i.value].sort((A,v)=>{const P=r.keyOrder.indexOf(A[1]),O=r.keyOrder.indexOf(v[1]);return(P===-1?1/0:P)-(O===-1?1/0:O)}):i.value);async function k(A,v="key"){p.value&&(await t.nextTick(),p.value.querySelector(`[data-${v}-input="${A}"]`)?.focus())}function b(){const A=a();if(!A)return;y.value[A]="";const v=_.value.findIndex(([,P])=>!P);k(v===-1?_.value.length-1:v),m.value=A}function N(A,v){s(A),delete y.value[A],delete h.value[A],A===m.value&&(m.value=null),v.trim()!==""&&o("remove:field",v)}function C(A){g=y.value[A]??c(A)??""}function w(A,v){const P=v.trim();y.value[A]=P,x(A,P)}function S(A){const v=y.value[A]??c(A)??"";if(x(A,v)){y.value[A]=g,l(A,g),delete h.value[A];return}if(A===m.value){if(v.trim()==="")return;l(A,v),o("add:field",v,u?.value?.[A]??null),m.value=null}else l(A,v),o("rename:field",g,v);delete h.value[A],g=v}function x(A,v){delete h.value[A];const P=r.fieldNameValidator("input",g,v);if(P)return h.value[A]=P,P}function I(A){x(A,y.value[A]??c(A)??"")}function T(A,v){if(u?.value&&(u.value[A]=v),A===m.value)return;const P=c(A);P&&o("change:inputs",P,v)}return t.watch(i,A=>{const v=new Set(A.map(([P])=>P));Object.keys(y.value).forEach(P=>{v.has(P)?y.value[P]=y.value[P]??c(P)??"":(delete y.value[P],delete h.value[P])}),A.forEach(([P,O])=>{y.value[P]=y.value[P]??O}),m.value&&!v.has(m.value)&&(m.value=null)},{immediate:!0}),t.watch(()=>r.keyOrder,()=>{if(!m.value)return;const A=_.value.findIndex(([v])=>v===m.value);A!==-1&&k(A)}),(A,v)=>{const P=t.resolveComponent("KAlert"),O=t.resolveComponent("KLabel"),R=t.resolveComponent("KInput"),Q=t.resolveComponent("KSelect"),pe=t.resolveComponent("KButton");return t.unref(d).error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:t.unref(d).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:p,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,([H,j],D)=>(t.openBlock(),t.createElementBlock("div",{key:H,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(d).path.value}.${D}`},[t.createVNode(O,{for:`ff-kv-entry-key-${t.unref(d).path.value}.${D}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:1},8,["for"]),t.createElementVNode("div",iq,[t.createElementVNode("div",aq,[t.createVNode(R,{id:`ff-kv-entry-key-${t.unref(d).path.value}.${D}`,class:"ff-kv-field-entry-key","data-key-input":D,"data-testid":`ff-key-${t.unref(d).path.value}.${D}`,error:!!h.value[H],"error-message":h.value[H],"model-value":y.value[H]??j,placeholder:t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:ee=>I(H),onChange:ee=>S(H),onFocus:ee=>C(H),"onUpdate:modelValue":ee=>w(H,ee)},null,8,["id","data-key-input","data-testid","error","error-message","model-value","placeholder","onBlur","onChange","onFocus","onUpdate:modelValue"]),t.createVNode(Q,{class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(d).path.value}.${D}`,"enable-filtering":"",items:e.items,label:t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),"model-value":t.unref(u)?.[H],placeholder:t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:ee=>T(H,ee?.value??null)},t.createSlots({_:2},[A.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:ee})=>[t.renderSlot(A.$slots,"item-label",t.mergeProps({ref_for:!0},ee),void 0,!0)]),key:"0"}:void 0]),1032,["data-testid","items","label","model-value","placeholder","onChange"])]),t.createVNode(pe,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(d).path.value}.${D}`,icon:"",onClick:ee=>N(H,j)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:1},8,["data-testid","onClick"])])],8,oq))),128)),t.createVNode(pe,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(d).path.value}`,disabled:!!m.value,onClick:b},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-43dcb370"]]),lq={class:"dk-source-item"},pd=xe(t.defineComponent({__name:"SourceItem",props:{item:{}},setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock("span",lq,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Zf)(e.item.type).icon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["color","size"])),t.createTextVNode(" "+t.toDisplayString(e.item.label),1)]))}}),[["__scopeId","data-v-d9aa16eb"]]),cq={key:1,class:"dk-inputs-field-or"},Pn=xe(t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{},nodeType:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const r=n,{getSchema:o}=lt(),{i18n:{t:i}}=Qe(),a=t.computed(()=>o("inputs")),s=t.computed(()=>a.value?a.value.type==="record"?IC:sq:null);function l(p){r("change:input",p?p.value:null)}function c(p,m){r("add:field",p,m)}function d(p,m){r("change:inputs",p,m)}function u(p){r("remove:field",p)}function f(p,m){r("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(_e.KLabel),{class:"dk-inputs-field-h1",info:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),t.unref(o)("input")?(t.openBlock(),t.createBlock(St,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:e.items,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:l},{"item-label":t.withCtx(h=>[t.renderSlot(p.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(h)),()=>[t.createVNode(pd,{item:h},null,8,["item"])],!0)]),_:3},8,["items","label","placeholder"])):t.createCommentVNode("",!0),s.value?(t.openBlock(),t.createElementBlock("div",cq,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)])):t.createCommentVNode("",!0),s.value?(t.openBlock(),t.createBlock(t.unref(_e.KLabel),{key:2,class:"dk-inputs-field-h2 dk-margin-0"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1})):t.createCommentVNode("",!0),s.value?(t.openBlock(),t.createBlock(t.unref(s),t.mergeProps({key:3,items:e.items,"key-order":e.fieldNames,name:"inputs"},s.value===IC?{nodeType:e.nodeType}:{fieldNameValidator:e.fieldNameValidator},{"onAdd:field":c,"onChange:inputs":d,"onRemove:field":u,"onRename:field":f}),{"item-label":t.withCtx(h=>[t.createVNode(pd,{item:h},null,8,["item"])]),_:1},16,["items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-4f1ce4e7"]]),dq={},uq={class:"dk-node-form-divider"};function fq(e,n){return t.openBlock(),t.createElementBlock("hr",uq)}const er=xe(dq,[["render",fq],["__scopeId","data-v-35ed58be"]]),pq={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},mq={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function gq(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function bn(...e){return function(r){for(const o of e){const i=o(r);if(i)return i}}}function Jo(e){const{i18n:{t:n}}=Qe(),r=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return r()}}function vC(e,n){const{i18n:{t:r}}=Qe();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function Lr(e=0,n=1/0,r){const{i18n:{t:o}}=Qe();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return r?typeof r=="string"?r:o("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:r.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function TC(e){const{i18n:{t:n}}=Qe();return function(o){if(!gq(o))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function ia(e,n){const{i18n:{t:r}}=Qe();return function(i){if(i==null)return;const a=TC(n)(i);if(a)return a;const s=Number(i);switch(e){case"float":{const l=()=>n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(s)?void 0:l()}case"integer":{const l=()=>n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(s)?void 0:l()}default:return}}}function aa(e=-1/0,n=1/0,r){const{i18n:{t:o}}=Qe();return function(a){if(a==null)return;const s=TC(r)(a);if(s)return s;const l=Number(a);if(l<e||l>n)return r?typeof r=="string"?r:o("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:r.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function hq(e,n){const{state:r}=Vt(),{i18n:{t:o}}=Qe();return function(a){if(r.value.nodes.some(s=>s.name===a&&s.id!==e))return n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function yq(e,n,r){const{i18n:{t:o}}=Qe();return function(a){if(!n)return;if(r?n.fields[e].some(l=>l.name===a&&l.id!==r):n.fields[e].some(l=>l.name===a)){const l=o(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:l})}}}function _q(){const{i18n:{t:e}}=Qe();return function(r){if(tp(r))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:r})}}function BC(e){const{i18n:{t:n}}=Qe(),r={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return bn(Jo(r),vC("identifier",r),_q(),hq(e,r))}function bq(e){const{i18n:{t:n}}=Qe(),{getNodeById:r}=Vt();return function(i,a,s){const l={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return bn(Jo(l),yq(i,r(e),s))(a)}}function kq(e){const n=t.ref({}),r=t.computed(()=>Object.values(n.value).every(s=>!s)),o={};Object.keys(e).forEach(s=>{const l=e[s],c=f=>{const p=typeof f=="function"?f():f,m=l(p);return n.value[s]=m,m},d=()=>{n.value[s]=void 0},u=f=>(d(),c(f));o[s]={handleChange:u,handleBlur:u,validate:u,isValid:t.computed(()=>n.value[s]===void 0),error:t.computed(()=>n.value[s])}});function i(){n.value={}}function a(s){for(const l of Object.keys(e)){const c=s[l],d=typeof c=="function"?c():c;o[l]?.validate(d)}return n.value}return{isValid:r,errorMap:n,fields:o,clearErrors:i,validate:a}}function Dr(e){const{validationConfig:n,getValidationData:r,toggleNodeValid:o}=e,{skipValidation:i}=Vt(),a=t.computed(()=>typeof n=="function"?n():n),s=t.computed(()=>kq(a.value)),l=t.computed(()=>s.value.fields),c=t.computed(()=>s.value.isValid.value);function d(){const f=r(),p=s.value.validate(f),m={};for(const h in a.value)m[h]=p[h];return m}function u(f,p){const m=()=>{const y=r(),g=l.value[f];g&&g.handleBlur(y[f])},h=()=>{p?.();const y=r(),g=l.value[f];g&&g.handleChange(y[f])};return t.computed(()=>{const y=l.value[f];return{validate:m,update:h,error:y?!y.isValid.value:!1,errorMessage:y?y.error.value??"":""}})}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const f=d(),p=Object.values(f).filter(Boolean).length>0;o(!p)}catch{}}),t.watch(()=>c.value,o,{immediate:!0}),{fields:l.value,isValid:c,validateAll:d,createFieldHandler:u}}function kn(e,n){const{state:r,renameNode:o,getNodeById:i,addField:a,renameField:s,removeField:l,replaceConfig:c,disconnectEdge:d,connectEdge:u,invalidConfigNodeIds:f,commit:p,revert:m}=Vt(),{i18n:{t:h}}=Qe(),y=$k(),g=t.computed(()=>{const H=i(e);if(!H)throw new Error("Node not existed");return H}),_=t.computed(()=>{const j=r.value.edges.filter(D=>D.target===e).reduce((D,ee)=>{const K=i(ee.source),J=no(K,"output",ee.sourceField)?.id,ce=no(g.value,"input",ee.targetField)?.name,z=K.id+(J?`.${J}`:"");return ce?D.inputs={...D.inputs,[ce]:z}:D.input=z,D},{});return g.value.fields.input.forEach(D=>{j.inputs||(j.inputs={}),j.inputs[D.name]||(j.inputs[D.name]=null)}),{...g.value.config,...j,name:g.value.name}}),k=H=>{o(e,H??"",!0,`${e}:rename`)},b=(H,j=!0)=>{if(!n)throw new Error("getFormValue is not defined");const D=eo(n(),["name","input","inputs"]),ee=H?`update:${e}:${H}`:void 0;c(e,D,j,ee)},N=(H,j)=>{const D=to(g.value,H,j);if(!D)throw new Error(`Field with name "${j}" not found in node "${g.value.name}"`);return D},C=(H,j,D)=>{const ee=!!D;a(e,H,j,!ee),ee&&T(j,D)},w=(H,j,D)=>{const ee=N(H,j).id;s(e,ee,D)},S=(H,j)=>{const D=N(H,j).id;l(e,D)},x=t.computed(()=>r.value.edges.filter(H=>H.target===e&&!H.targetField)[0]),I=t.computed(()=>r.value.edges.filter(H=>H.target===e&&H.targetField)),T=async(H,j)=>{const D=j==null,ee=N("input",H).id;if(D){const se=I.value.find(X=>X.targetField===ee);se&&d(se.id);return}const{nodeId:K,fieldId:J}=Pb(j),ce=N("input",H).id,z=[];x.value&&(z.push(ls(x.value,i)),d(x.value.id,!1));const oe=I.value.find(se=>se.targetField===ee);oe&&(z.push(ls(oe,i)),d(oe.id,!1)),u({source:K,sourceField:J,target:e,targetField:ce},!1);const Pe=ap(K,J,e,ce,i),Ee=z[0]&&Pe?z[0][1]===Pe[1]:!1;if(p(),Ee||z.length===0)return;await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[Pe],z)||m()},A=async H=>{if(H==null){x.value&&d(x.value.id);return}const D=[];for(const z of I.value)D.push(ls(z,i)),d(z.id,!1);x.value&&d(x.value.id,!1);const{nodeId:ee,fieldId:K}=Pb(H);u({source:ee,sourceField:K,target:e,targetField:void 0},!1);const J=ap(ee,K,e,void 0,i);if(p(),D.length===0)return;await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[J],D)||m()},v=H=>{const j=[...r.value.edges,{source:H,target:e}];return kp(fc(j))},P=t.computed(()=>{const H=[];for(const j of r.value.nodes)if(xi(j.type).io?.output&&j.fields.output&&j.id!==e&&!(j.type==="property"&&!Wf(j.config?.property))&&!v(j.id)&&!(g.value.phase==="request"&&j.phase==="response")&&!(j.type==="vault"&&j.fields.output.length===0)){H.push({value:j.id,label:j.name,type:j.type});for(const ee of j.fields.output)H.push({value:`${j.id}.${ee.id}`,label:`${j.name}.${ee.name}`,type:j.type})}return H}),O=t.computed(()=>g.value.fields.input.map(H=>H.name)||[]);function R(H){f.value.delete(e),H||f.value.add(e)}const Q=bq(e);function pe(H,j,D){const ee=i(e);if(!ee)throw new Error("Node not found when validating field name");const K=to(ee,H,j);return Q(H,D,K?.id)}return{formData:_,inputOptions:P,inputEdge:x,inputsEdges:I,inputsFieldNames:O,currentNode:g,setName:k,setConfig:b,addField:C,renameFieldByName:w,removeFieldByName:S,setInputs:T,setInput:A,nameValidator:BC(e),fieldNameValidator:pe,toggleNodeValid:R}}function wn(e){const{getSchema:n}=lt();return t.computed(()=>{if(hn(e))switch(e){case"response":return mq;case"service_request":return pq}try{const o=n().fields.find(d=>Xl(d,"config"));if(!o)throw new Error("Config field not found in schema.");const a=o.config.fields.find(d=>Xl(d,"nodes"));if(!a)throw new Error("Nodes field not found in config schema.");const c=a.nodes.elements.subschema_definitions[e];if(!c)throw new Error(`Subschema "${e}" not found in the schema.`);return c}catch(r){throw new Error(`Failed to get subschema "${e}": ${r.message}`)}})}const zn=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=Qe(),a=t.ref(r.name),s=t.computed(()=>{const u=r.validate(a.value.trim());return u===void 0?"":u});let l=a.value.trim();function c(){if(s.value){a.value=l;return}o("update",a.value.trim())}function d(){l=a.value.trim()}return t.watch(()=>r.name,u=>{u!==a.value&&(a.value=u)}),(u,f)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":f[0]||(f[0]=m=>a.value=m),"data-1p-ignore":"",error:!!s.value,"error-message":s.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),wq=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Qe(),r=t.useTemplateRef("form"),o=wn("call"),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>r.value.getValue()),{createFieldHandler:h}=Dr({validationConfig:{url:bn(Jo({fieldName:"URL"}),vC("url",{fieldName:"URL"})),timeout:bn(ia("integer"),aa(0,2147483646))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:p}),y=h("url",()=>s("url")),g=h("timeout",()=>s("timeout"));return(_,k)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Me,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"url",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(r8,{name:"method",onUpdate:k[0]||(k[0]=N=>t.unref(s)())}),t.createVNode(Nt,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"timeout",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Me,{name:"ssl_server_name","onUpdate:modelValue":k[1]||(k[1]=N=>t.unref(s)("ssl_server_name"))}),t.createVNode(en,{name:"ssl_verify","onUpdate:modelValue":k[2]||(k[2]=N=>t.unref(s)("ssl_verify"))}),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"call","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),Cq=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("service_request"),{formData:o,inputOptions:i,setInputs:a,setInput:s,inputsFieldNames:l,fieldNameValidator:c}=kn(e.nodeId,()=>n.value.getValue());return(d,u)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Pn,{"field-name-validator":t.unref(c),"field-names":t.unref(l),items:t.unref(i),"node-type":"service_request","onChange:input":t.unref(s),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Eq=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("response"),{formData:o,inputOptions:i,setInputs:a,setInput:s,inputsFieldNames:l,fieldNameValidator:c}=kn(e.nodeId,()=>n.value.getValue());return(d,u)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Pn,{"field-name-validator":t.unref(c),"field-names":t.unref(l),items:t.unref(i),"node-type":"response","onChange:input":t.unref(s),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Nq=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:r}=Qe(),o=t.useTemplateRef("form"),i=wn("jq"),{formData:a,setName:s,setConfig:l,inputOptions:c,setInputs:d,setInput:u,addField:f,removeFieldByName:p,renameFieldByName:m,inputsFieldNames:h,nameValidator:y,toggleNodeValid:g,fieldNameValidator:_}=kn(e.nodeId,()=>o.value.getValue());function k(x,I){f("input",x,I)}function b(x){p("input",x)}function N(x,I){m("input",x,I)}const C=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:w}=Dr({validationConfig:{jq:bn(Jo({fieldName:C}),Lr(1,10240,{fieldName:C}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:g}),S=w("jq",()=>l("jq"));return(x,I)=>{const T=t.resolveComponent("KLabel"),A=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(a).name,validate:t.unref(y),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(T,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Me,{autosize:"",error:t.unref(S).error,"error-message":t.unref(S).errorMessage,label:t.unref(C),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(S).validate,"onUpdate:modelValue":t.unref(S).update},{help:t.withCtx(()=>[t.createVNode(t.unref(r),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(A,{"hide-icon":"",href:t.unref(ra).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(ra).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(_),"field-names":t.unref(h),items:t.unref(c),"node-type":"jq","onAdd:field":k,"onChange:input":t.unref(u),"onChange:inputs":t.unref(d),"onRemove:field":b,"onRename:field":N},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),Sq=xe(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field"],setup(e,{emit:n}){const r=e,o=n,i=t.ref({}),{value:a,...s}=$t("values"),{i18n:l}=Qe(),c=t.useTemplateRef("root"),d=t.ref([]),u=t.ref(null);let f="",p=a?.value;function m(){return ns("ff-kv-field-")}function h(T,A,v){const P=v.indexOf(T),O=v.indexOf(A);return P===-1&&O===-1?0:P===-1?1:O===-1?-1:P-O}function y(T,A){if(!T)return[];const v=Object.entries(T).map(([P,O])=>({id:m(),key:P,value:O}));return A?.length&&v.sort((P,O)=>h(P.key,O.key,A)),v}function g(){const T={id:m(),key:"",value:""};return d.value.push(T),T}function _(T){const A=d.value.findIndex(v=>v.id===T);A!==-1&&d.value.splice(A,1)}d.value=y(a?.value,r.keyOrder);async function k(T,A="key"){c.value&&(await t.nextTick(),c.value.querySelector(`[data-${A}-input="${T}"]`)?.focus())}function b(){const T=g(),A=d.value.findIndex(({key:v})=>!v);k(A===-1?d.value.length-1:A),u.value=T}function N(T){T.id===u.value?.id&&(u.value=null),_(T.id),T.key.trim()!==""&&o("remove:field",T.key)}function C(T){f=T.key}function w(T){if(x(T)){T.key=f,delete i.value[T.id];return}if(T.id===u.value?.id){if(T.key.trim()==="")return;u.value=null,o("add:field",T.key,T.value)}else o("rename:field",f,T.key);f=T.key}function S(T,A){if(A.id===u.value?.id)return;const v=T.target.value.trim();o("change:value",A.key,v)}function x(T){delete i.value[T.id];const A=r.fieldNameValidator("output",f,T.key);if(A)return i.value[T.id]=A,A}function I(T){x(T)}return t.watch(()=>a?.value,T=>{if(Kt(T,p))return;p=T;const A=u.value,v=new Map(d.value.filter(Q=>Q.key).map(Q=>[Q.key,Q])),P=[],O=T??{};(r.keyOrder?.length?Object.keys(O).sort((Q,pe)=>h(Q,pe,r.keyOrder)):Object.keys(O)).forEach(Q=>{const pe=v.get(Q);if(pe){pe.value=O[Q],P.push(pe);return}P.push({id:m(),key:Q,value:O[Q]})}),A&&!P.some(Q=>Q.id===A.id)&&P.push(A),d.value=P},{deep:!0}),(T,A)=>{const v=t.resolveComponent("KAlert"),P=t.resolveComponent("KLabel"),O=t.resolveComponent("KButton"),R=t.resolveComponent("KInput"),Q=t.resolveComponent("KCard");return s.error?(t.openBlock(),t.createBlock(v,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:c,class:"dk-output-value-field"},[t.createVNode(P,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(pe,H)=>(t.openBlock(),t.createBlock(Q,{key:pe.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${s.path.value}.${H}`},{actions:t.withCtx(()=>[t.createVNode(O,{appearance:"none","data-testid":`ff-kv-remove-btn-${s.path.value}.${H}`,icon:"",onClick:j=>N(pe)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:1},8,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(R,{id:`ff-kv-entry-key-${s.path.value}.${H}`,modelValue:pe.key,"onUpdate:modelValue":[j=>pe.key=j,j=>x(pe)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":H,"data-testid":`ff-key-${s.path.value}.${H}`,error:!!i.value[pe.id],"error-message":i.value[pe.id],label:t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:j=>I(pe),onChange:j=>w(pe),onFocus:j=>C(pe)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(R,{modelValue:pe.value,"onUpdate:modelValue":j=>pe.value=j,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${s.path.value}.${H}`,label:t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:j=>S(j,pe)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(O,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${s.path.value}`,disabled:!!u.value,onClick:b},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-3970c2c0"]]);function Aq(e){const n={};for(const[r,o]of Object.entries(e))typeof o=="object"&&o!==null?n[r]=JSON.stringify(o):n[r]=String(o);return n}function md(e){const n={};for(const[r,o]of Object.entries(e))if(o!=null){n[r]=o;try{o==="null"?n[r]=null:(o==="true"||o==="false"||/^-?\d+(\.\d+)?$/.test(o)||o.startsWith("{")&&o.endsWith("}")||o.startsWith("[")&&o.endsWith("]"))&&(n[r]=JSON.parse(o))}catch{}}return n}function xq(e,n,r){const o={};for(const i of Object.keys(e))i===n?o[r]=e[n]:o[i]=e[i];return o}const Iq=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:r,addField:o,renameField:i,removeField:a,replaceConfig:s,getNodeById:l}=Vt(),{fieldNameValidator:c}=kn(e.nodeId),d=wn("static"),u=BC(e.nodeId),f=t.computed(()=>l(e.nodeId)),p=t.computed(()=>f.value?.fields.output.map(b=>b.name)||[]);function m(b){if(!f.value)throw new Error("No current node");n(f.value.id,b??"")}const h=t.computed(()=>{if(!f.value)return{};const b=f.value.config?.values??{},N={},C=r(f.value.id).map(I=>I.sourceField).filter(Boolean).map(I=>no(f.value,"output",I)).map(I=>I?.name).filter(Boolean),w=f.value.fields.output.map(I=>I.name),S=Object.keys(b);return new Set([...S,...C,...w]).forEach(I=>{if(I in b){N[I]=b[I];return}N[I]=""}),{name:f.value.name,values:Aq(N)}});function y(b,N){if(!f.value)throw new Error("No selected node");const C=N!==void 0;if(o(e.nodeId,"output",b,!C),C){const w={values:md({...h.value.values,[b]:N})};s(e.nodeId,w)}}function g(b,N){if(!f.value)throw new Error("No selected node");const C=to(f.value,"output",b);if(!C)throw new Error("No field found to rename");const w={values:md(xq(h.value.values??{},b,N))};s(e.nodeId,w,!1),i(e.nodeId,C.id,N)}function _(b){if(!f.value)throw new Error("No selected node");const N=to(f.value,"output",b);if(!N)throw new Error("No field found to delete");a(f.value?.id,N.id,!0,!1);const C={values:md({...h.value.values})};delete C.values[b],s(e.nodeId,C)}function k(b,N){if(!f.value)throw new Error("No selected node");const C={...h.value.values};C[b]=N;const w={values:md(C)};s(e.nodeId,w)}return(b,N)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>[t.createVNode(zn,{name:f.value?.name??"",validate:t.unref(u),onUpdate:m},null,8,["name","validate"]),t.createVNode(Sq,{"field-name-validator":t.unref(c),"key-order":p.value,"onAdd:field":y,"onChange:value":k,"onRemove:field":_,"onRename:field":g},null,8,["field-name-validator","key-order"])]),_:1},8,["data","schema"]))}}),vq={class:"dk-kong-property-item"},Tq={class:"property-type"},Bq={class:"property-badges"},Oq=xe(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:r}}=Qe(),o=t.inject(Bn.KM_3034_FEATURES_316,!1),i=["kong.client.principal","kong.client.principal.{key}"],a=e,s=n,{formData:l}=lt(),c=t.ref(rs(l.property)),d=t.computed(()=>os(l.property)),u=t.ref(Hf(l.property)),f=t.computed(()=>l.property??""),p=t.computed(()=>Object.entries(Io).filter(([y])=>o||!i.includes(y)).map(([y])=>{const g=os(y)?l.property?.startsWith(y.replace(wi,"")):l.property===y;return{label:g&&u.value?y.replace(wi,u.value):y,value:y,selected:g}}));function m(y){const g=Zl.find(_=>l.property?.startsWith(_));g&&(l.property=g+y,a.validators.key.handleChange(l.property),s("update:property-key",l.property))}function h(y){c.value!==rs(y?.value)&&(l.property=y?.value||null,c.value=rs(l.property),a.validators.property.handleBlur(()=>l.property),s("update:model-value",l.property))}return t.watch(()=>l.property,y=>{u.value=Hf(y),c.value=rs(y)}),(y,g)=>{const _=t.resolveComponent("KBadge"),k=t.resolveComponent("KSelect"),b=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(k,{key:f.value,"enable-filtering":"",error:!e.validators.property.isValid.value,help:e.validators.property.error.value,items:p.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:g[0]||(g[0]=N=>e.validators.property.handleBlur(()=>t.unref(l).property)),onChange:h},{"item-template":t.withCtx(({item:N})=>[t.createElementVNode("div",vq,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(N.label),1),t.createElementVNode("div",Tq,t.toDisplayString(t.unref(Io)[N.value].dataType),1)]),t.createElementVNode("div",Bq,[t.unref(Io)[N.value].readable?(t.openBlock(),t.createBlock(_,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(Io)[N.value].writable?(t.openBlock(),t.createBlock(_,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),d.value?(t.openBlock(),t.createBlock(b,{key:0,"model-value":u.value,"onUpdate:modelValue":[g[1]||(g[1]=N=>u.value=N),m],error:!e.validators.key.isValid.value,"error-message":e.validators.key.error.value,label:"key",required:"",onBlur:g[2]||(g[2]=N=>e.validators.key.handleBlur(()=>t.unref(l).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-cc97d84c"]]),Pq=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:r,disconnectInEdges:o,disconnectOutEdges:i}=Vt(),a=wn("property"),{formData:s,setName:l,setConfig:c,inputOptions:d,setInputs:u,setInput:f,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,fieldNameValidator:y}=kn(e.nodeId,()=>n.value.getValue()),g=t.computed(()=>Yf(s.value.property));function _(b){const N=r.value?.id;if(!N)throw new Error("Expected selectedNode to be defined");Wf(b)||i(N,!1),Yf(b)||o(N,!1),c()}const{fields:k}=Dr({validationConfig:()=>({property:Jo({fieldName:"Property"}),key:os(s.value.property)?Jo({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:s.value.property,key:Hf(s.value.property)}),toggleNodeValid:h});return(b,N)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(s),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(s).name,validate:t.unref(m),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(St,{name:"content_type",onUpdate:N[0]||(N[0]=C=>t.unref(c)())}),t.createVNode(Oq,{validators:t.unref(k),"onUpdate:modelValue":_,"onUpdate:propertyKey":N[1]||(N[1]=C=>t.unref(c)("property-key"))},null,8,["validators"]),t.createVNode(en,{name:"non_nil","onUpdate:modelValue":N[2]||(N[2]=C=>t.unref(c)("non_nil"))}),g.value?(t.openBlock(),t.createBlock(er,{key:0})):t.createCommentVNode("",!0),g.value?(t.openBlock(),t.createBlock(Pn,{key:1,"field-name-validator":t.unref(y),"field-names":t.unref(p),items:t.unref(d),"node-type":"property","onChange:input":t.unref(f),"onChange:inputs":t.unref(u)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),Vq=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("exit"),{formData:o,setName:i,setConfig:a,inputOptions:s,setInputs:l,setInput:c,inputsFieldNames:d,nameValidator:u,toggleNodeValid:f,fieldNameValidator:p}=kn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:m}=Dr({validationConfig:{status:bn(ia("integer",{fieldName:"Status"}),aa(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:o.value.status}),toggleNodeValid:f}),h=m("status",()=>a("status"));return(y,g)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(o).name,validate:t.unref(u),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Nt,{error:t.unref(h).error,"error-message":t.unref(h).errorMessage,name:"status",onBlur:t.unref(h).validate,"onUpdate:modelValue":t.unref(h).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(en,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=_=>t.unref(a)())}),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(p),"field-names":t.unref(d),items:t.unref(s),"node-type":"exit","onChange:input":t.unref(c),"onChange:inputs":t.unref(l)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}});function $q(e){const n=kn(e),{state:r,getNodeById:o,branchGroups:i,commit:a}=Vt(),{i18n:{t:s}}=Qe(),l=$k(),c=Ql(),d=t.computed(()=>{const _={...n.formData.value},k=ss(n.currentNode.value?.type||"branch");for(const b of k)(!(b in _)||_[b]==null)&&(_[b]=[]);return _});function u(_,k,b){const N=o(_),C=o(b),w=N?`${N.name}.${k}`:`${_}.${k}`,S=C?C.name:b;return[w,S]}function f(_){return(_==null?[]:Array.isArray(_)?_:[_]).filter(k=>np(k))}function p(_,k){return i.wouldCreateCycle(_,k)?(c({message:s("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function m(_,k,b){const N=[],C=[],w=[];for(const S of b){const x=i.findMembership(S);if(!x||x.ownerId===_&&x.branch===k)continue;const I=i.getMembers(x.ownerId,x.branch).filter(T=>T!==S);w.push({ownerId:x.ownerId,branch:x.branch,members:I}),N.push(u(_,k,S)),C.push(u(x.ownerId,x.branch,S))}return{conflictUpdates:w,addedAssignments:N,removedAssignments:C}}function h(_,k,b,N){let C=!1;for(const w of N)C=i.setMembers(w.ownerId,w.branch,w.members,{commit:!1})||C;return C=i.setMembers(_,k,b,{commit:!1})||C,C}async function y(_,k){const b=n.currentNode.value,N=f(k),C=i.prepareMembers(b.id,_,N),w=i.getMembers(b.id,_);if(rp(w,C))return!0;const S=C.filter(v=>!w.includes(v));for(const v of S)if(p(b.id,v))return!1;const{conflictUpdates:x,addedAssignments:I,removedAssignments:T}=m(b.id,_,S);return x.length>0&&!await l(s("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),I,T)?!1:(h(b.id,_,C,x)&&a(),!0)}const g=t.computed(()=>{const _=n.currentNode.value;return!_||!i?[]:r.value.nodes.filter(k=>k.id!==e&&!hn(k.type)&&k.phase===_.phase&&!i.wouldCreateCycle(_.id,k.id)).map(k=>({value:k.id,label:k.name,type:k.type}))});return{...n,formData:d,branchOptions:g,updateBranchMembers:y}}const Rq=t.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Qe(),r=wn("branch"),o=t.ref(0),{formData:i,setName:a,inputOptions:s,branchOptions:l,nameValidator:c,setInput:d,setInputs:u,inputsFieldNames:f,fieldNameValidator:p,updateBranchMembers:m}=$q(e.nodeId);async function h(y,g){await m(y,g)||(o.value+=1)}return(y,g)=>(t.openBlock(),t.createBlock(Wt,{key:o.value,data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(c),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(St,{"enable-filtering":"",items:t.unref(l),multiple:"",name:"then",onUpdate:g[0]||(g[0]=_=>h("then",_))},{"item-label":t.withCtx(_=>[t.createVNode(pd,{item:_},null,8,["item"])]),_:1},8,["items"]),t.createVNode(St,{"enable-filtering":"",items:t.unref(l),multiple:"",name:"else",onUpdate:g[1]||(g[1]=_=>h("else",_))},{"item-label":t.withCtx(_=>[t.createVNode(pd,{item:_},null,8,["item"])]),_:1},8,["items"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(s),"node-type":"branch","onChange:input":t.unref(d),"onChange:inputs":t.unref(u)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Lq=t.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("cache"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:h}=Dr({validationConfig:()=>({ttl:bn(ia("integer",{fieldName:"TTL"}),aa(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:i.value.ttl}),toggleNodeValid:p}),y=h("ttl",()=>s("ttl"));return(g,_)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(en,{name:"bypass_on_error","onUpdate:modelValue":_[0]||(_[0]=k=>t.unref(s)("bypass_on_error"))}),t.createVNode(Nt,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"ttl",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"cache","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Dq=t.defineComponent({__name:"NodeFormXmlToJson",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("xml_to_json"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>n.value.getValue()),h=o("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),y=()=>!!(i.value.attributes_block_name||i.value.attributes_name_prefix),{createFieldHandler:g}=Dr({validationConfig:()=>({attributes_block_name:bn(()=>y()?void 0:h,x=>{if(x)return Lr(1,32,{fieldName:"Attributes block name"})(x)}),attributes_name_prefix:bn(()=>y()?void 0:h,x=>{if(x)return Lr(1,32,{fieldName:"Attributes name prefix"})(x)}),text_block_name:Lr(1,32,{fieldName:"Text block name"}),xpath:Lr(1,256,{fieldName:"XPath"})}),getValidationData:()=>({attributes_block_name:i.value.attributes_block_name,attributes_name_prefix:i.value.attributes_name_prefix,text_block_name:i.value.text_block_name,xpath:i.value.xpath}),toggleNodeValid:p}),_=g("attributes_block_name",()=>s("attributes_block_name")),k=g("attributes_name_prefix",()=>s("attributes_name_prefix")),b=g("text_block_name",()=>s("text_block_name")),N=g("xpath",()=>s("xpath")),C=()=>{_.value.validate(),k.value.validate()},w=()=>{_.value.update(),k.value.validate()},S=()=>{k.value.update(),_.value.validate()};return(x,I)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(en,{name:"recognize_type","onUpdate:modelValue":I[0]||(I[0]=T=>t.unref(s)("recognize_type"))}),t.createVNode(Me,{error:t.unref(_).error,"error-message":t.unref(_).errorMessage,name:"attributes_block_name",onBlur:C,"onUpdate:modelValue":w},null,8,["error","error-message"]),t.createVNode(Me,{error:t.unref(k).error,"error-message":t.unref(k).errorMessage,name:"attributes_name_prefix",onBlur:C,"onUpdate:modelValue":S},null,8,["error","error-message"]),t.createVNode(Me,{error:t.unref(b).error,"error-message":t.unref(b).errorMessage,name:"text_block_name",onBlur:t.unref(b).validate,"onUpdate:modelValue":t.unref(b).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(en,{name:"text_as_property","onUpdate:modelValue":I[1]||(I[1]=T=>t.unref(s)("text_as_property"))}),t.createVNode(Me,{error:t.unref(N).error,"error-message":t.unref(N).errorMessage,name:"xpath",onBlur:t.unref(N).validate,"onUpdate:modelValue":t.unref(N).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"xml_to_json","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Mq=t.defineComponent({__name:"NodeFormJsonToXml",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("json_to_xml"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,addField:u,removeFieldByName:f,renameFieldByName:p,inputsFieldNames:m,nameValidator:h,toggleNodeValid:y,fieldNameValidator:g}=kn(e.nodeId,()=>n.value.getValue()),_=o("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),k=()=>!!(i.value.attributes_block_name||i.value.attributes_name_prefix),{createFieldHandler:b}=Dr({validationConfig:{attributes_block_name:bn(()=>k()?void 0:_,Lr(1,32,{fieldName:"Attributes block name"})),attributes_name_prefix:bn(()=>k()?void 0:_,Lr(1,32,{fieldName:"Attributes name prefix"})),root_element_name:Lr(1,64,{fieldName:"Root element name"}),text_block_name:Lr(1,32,{fieldName:"Text block name"})},getValidationData:()=>({attributes_block_name:i.value.attributes_block_name,attributes_name_prefix:i.value.attributes_name_prefix,root_element_name:i.value.root_element_name,text_block_name:i.value.text_block_name}),toggleNodeValid:y}),N=b("attributes_block_name",()=>s("attributes_block_name")),C=b("attributes_name_prefix",()=>s("attributes_name_prefix")),w=b("root_element_name",()=>s("root_element_name")),S=b("text_block_name",()=>s("text_block_name"));function x(){N.value.validate(),C.value.validate()}function I(){N.value.update(),C.value.validate()}function T(){C.value.update(),N.value.validate()}function A(O,R){u("input",O,R)}function v(O){f("input",O)}function P(O,R){p("input",O,R)}return(O,R)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(h),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Me,{error:t.unref(N).error,"error-message":t.unref(N).errorMessage,name:"attributes_block_name",onBlur:x,"onUpdate:modelValue":I},null,8,["error","error-message"]),t.createVNode(Me,{error:t.unref(C).error,"error-message":t.unref(C).errorMessage,name:"attributes_name_prefix",onBlur:x,"onUpdate:modelValue":T},null,8,["error","error-message"]),t.createVNode(Me,{error:t.unref(w).error,"error-message":t.unref(w).errorMessage,name:"root_element_name",onBlur:t.unref(w).validate,"onUpdate:modelValue":t.unref(w).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Me,{error:t.unref(S).error,"error-message":t.unref(S).errorMessage,name:"text_block_name",onBlur:t.unref(S).validate,"onUpdate:modelValue":t.unref(S).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(g),"field-names":t.unref(m),items:t.unref(l),"node-type":"json_to_xml","onAdd:field":A,"onChange:input":t.unref(d),"onChange:inputs":t.unref(c),"onRemove:field":v,"onRename:field":P},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Fq=t.defineComponent({__name:"NodeFormJwtDecode",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("jwt_decode"),{formData:o,setName:i,inputOptions:a,setInputs:s,setInput:l,inputsFieldNames:c,nameValidator:d,fieldNameValidator:u}=kn(e.nodeId,()=>n.value.getValue());return(f,p)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(o).name,validate:t.unref(d),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(u),"field-names":t.unref(c),items:t.unref(a),"node-type":"jwt_decode","onChange:input":t.unref(l),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),jq=t.defineComponent({__name:"NodeFormJwtSign",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("jwt_sign"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>{const k={...n.value.getValue()};return(!k.static_claims||Object.keys(k.static_claims).length===0)&&delete k.static_claims,k}),{createFieldHandler:h}=Dr({validationConfig:{algorithm:Jo({fieldName:"Algorithm"}),expires_in:bn(ia("integer",{fieldName:"Expires in"}),aa(1,1/0,{fieldName:"Expires in"})),not_before:bn(ia("integer",{fieldName:"Not before"}),aa(0,1/0,{fieldName:"Not before"}))},getValidationData:()=>({algorithm:i.value.algorithm,expires_in:i.value.expires_in,not_before:i.value.not_before}),toggleNodeValid:p}),y=h("algorithm",()=>s("algorithm")),g=h("expires_in",()=>s("expires_in")),_=h("not_before",()=>s("not_before"));return(k,b)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(St,{"enable-filtering":"",name:"algorithm",onUpdate:t.unref(y).update},null,8,["onUpdate"]),t.createVNode(Nt,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"expires_in",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Nt,{error:t.unref(_).error,"error-message":t.unref(_).errorMessage,name:"not_before",onBlur:t.unref(_).validate,"onUpdate:modelValue":t.unref(_).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Me,{name:"kid","onUpdate:modelValue":b[0]||(b[0]=N=>t.unref(s)("kid"))}),t.createVNode(Me,{name:"typ","onUpdate:modelValue":b[1]||(b[1]=N=>t.unref(s)("typ"))}),t.createVNode(_n,{label:t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.jwt.static_claims.label"),name:"static_claims",onLegacyValueChange:b[2]||(b[2]=N=>t.unref(s)("static_claims"))},null,8,["label"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"jwt_sign","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Uq=t.defineComponent({__name:"NodeFormJwtVerify",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("jwt_verify"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:h}=Dr({validationConfig:{leeway:bn(ia("integer",{fieldName:"Leeway"}),aa(0,1/0,{fieldName:"Leeway"}))},getValidationData:()=>({leeway:i.value.leeway}),toggleNodeValid:p}),y=h("leeway",()=>s("leeway"));return(g,_)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(St,{"enable-filtering":"",multiple:"",name:"allowed_algorithms",onUpdate:_[0]||(_[0]=k=>t.unref(s)("allowed_algorithms"))}),t.createVNode(dt,{name:"issuers",onAdd:_[2]||(_[2]=k=>t.unref(s)("issuers")),onRemove:_[3]||(_[3]=k=>t.unref(s)("issuers"))},{item:t.withCtx(({fieldName:k,autofocus:b})=>[t.createVNode(Me,{autofocus:b,name:k,"onUpdate:modelValue":_[1]||(_[1]=N=>t.unref(s)("issuers"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(dt,{name:"audiences",onAdd:_[5]||(_[5]=k=>t.unref(s)("audiences")),onRemove:_[6]||(_[6]=k=>t.unref(s)("audiences"))},{item:t.withCtx(({fieldName:k,autofocus:b})=>[t.createVNode(Me,{autofocus:b,name:k,"onUpdate:modelValue":_[4]||(_[4]=N=>t.unref(s)("audiences"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(dt,{name:"required_claims",onAdd:_[8]||(_[8]=k=>t.unref(s)("required_claims")),onRemove:_[9]||(_[9]=k=>t.unref(s)("required_claims"))},{item:t.withCtx(({fieldName:k,autofocus:b})=>[t.createVNode(Me,{autofocus:b,name:k,"onUpdate:modelValue":_[7]||(_[7]=N=>t.unref(s)("required_claims"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(Nt,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"leeway",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(en,{name:"validate_exp","onUpdate:modelValue":_[10]||(_[10]=k=>t.unref(s)("validate_exp"))}),t.createVNode(en,{name:"validate_nbf","onUpdate:modelValue":_[11]||(_[11]=k=>t.unref(s)("validate_nbf"))}),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"jwt_verify","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Kq=["innerHTML"],qq={key:1,class:"branch-note"},Gq={class:"branch-label"},zq={class:"branch-text"},Hq=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${Hy}px`},offsetTop:{default:`${tA}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{t:n}=Ft.createI18n("en-us",zt),{getNodeById:r,branchGroups:o}=Vt(),i=t.computed(()=>e.nodeId&&r(e.nodeId)),a=t.computed(()=>{if(e.nodeId)return o.findMembership(e.nodeId)}),s=t.computed(()=>{if(!a.value)return"";const d=r(a.value.ownerId);return d?`${d.name}.${a.value.branch}`:""});function l(){e.nodeId&&o.removeMember(e.nodeId)}const c=t.computed(()=>{switch(i.value?.type){case"call":return wq;case"service_request":return Cq;case"response":return Eq;case"jq":return Nq;case"static":return Iq;case"property":return Pq;case"exit":return Vq;case"branch":return Rq;case"cache":return Lq;case"xml_to_json":return Dq;case"json_to_xml":return Mq;case"jwt_decode":return Fq;case"jwt_sign":return jq;case"jwt_verify":return Uq;default:return null}});return(d,u)=>(t.openBlock(),t.createBlock(t.unref(_e.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":e.maxWidth,"offset-top":e.offsetTop,visible:e.visible,"z-index":t.unref(eA),onClose:u[0]||(u[0]=f=>d.$emit("close"))},t.createSlots({default:t.withCtx(()=>[i.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(Si)(i.value.type)},null,8,Kq)):t.createCommentVNode("",!0),a.value?(t.openBlock(),t.createElementBlock("div",qq,[t.createElementVNode("span",Gq,[t.createVNode(t.unref(Ne.ArrowSplitIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["color","size"]),t.createElementVNode("span",zq,t.toDisplayString(s.value),1)]),t.createVNode(t.unref(_e.KTooltip),{placement:"top",text:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")},{default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"none","aria-label":t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch"),class:"remove-branch",icon:"",size:"small",onClick:l},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:1},8,["aria-label"])]),_:1},8,["text"])])):t.createCommentVNode("",!0),c.value?(t.openBlock(),t.createBlock(t.unref(c),{key:e.nodeId,class:"dk-node-properties-panel-form","node-id":e.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[i.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(Np,{type:i.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),Wq=xe(Hq,[["__scopeId","data-v-32602117"]]),Yq={class:"dk-editor-content"},Jq={class:"main"},Xq=xe(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:r}=Vt();function o(){n.value=!1}t.watch(r,a=>{a||o()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,s)=>(t.openBlock(),t.createElementBlock("div",Yq,[t.createVNode(t.unref(n8)),t.createElementVNode("div",Jq,[t.createVNode(fK)]),t.createVNode(Wq,{"node-id":t.unref(r)?.id,visible:t.unref(n),onClose:o},null,8,["node-id","visible"])]))}}),[["__scopeId","data-v-66331c5c"]]),Zq={key:0,class:"dk-editor-modal"},Qq=xe(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(l=>({v38ec900c:`${t.unref(QS)}px`,v620586b8:`${t.unref(zy)}px`}));const n=t.useModel(e,"open"),r=t.ref(!1),o=t.useTemplateRef("confirm-modal"),{clear:i}=Vt();O$(async(...l)=>{r.value=!0;const c=await o.value.open(...l);return r.value=!1,c});const a=Ot.useScrollLock(document);t.watch(n,l=>{a.value=!!l,l||i()},{immediate:!0});function s(){n.value=!1}return(l,c)=>n.value?(t.openBlock(),t.createElementBlock("div",Zq,[t.createVNode(aK,{class:"nav",onBack:s}),t.createVNode(Xq,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(nK,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-c3604472"]]),e3={class:"dk-flow-editor"},t3={class:"flow-panels-container"},n3={class:"overlay"},r3=xe(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:r}=Ft.createI18n("en-us",zt),{formData:o,setValue:i,getValue:a}=lt(),s=n;function l(u,f,p,m){const h={...o.config,nodes:u};p!==void 0&&(h.resources=p);const y={...o.__ui_data,...f},g={...o,config:h,__ui_data:y};m!=null?g.partials=[{id:m}]:g.partials&&(g.partials=null),i(g),s("change",h,y)}const{modalOpen:c,setPendingFitView:d}=Cp(a(),{onChange:l,isEditing:e.isEditing});return t.watch(c,()=>{d(!0)},{flush:"post"}),WU({enabled:c}),(u,f)=>{const p=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",e3,[t.createElementVNode("div",t3,[t.createVNode(eg,{inactive:t.unref(c),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",n3,[t.createVNode(p,{appearance:"secondary",class:"button-open-editor",onClick:f[0]||(f[0]=m=>c.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ne.ExpandIcon))]),_:1})])]),t.createVNode(Qq,{open:t.unref(c),"onUpdate:open":f[1]||(f[1]=m=>t.isRef(c)?c.value=m:null)},null,8,["open"])])}}}),[["__scopeId","data-v-cd9d53e6"]]),o3=["innerHTML"],i3={class:"dk-option-label"},a3=Ce({component:xe(t.defineComponent({inheritAttrs:!1,__name:"DatakitForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),r=e,o=t.useAttrs(),i=t.inject(Je.FORMS_CONFIG),a=t.ref(!1);t.onMounted(()=>{a.value=!!document.querySelector("#plugin-form-page-actions")});const{editorMode:s}=ud(),l=t.computed(()=>i.app!=="konnect"||u.value===!1?"code":s.value),c=t.computed(()=>i.app==="kongManager"?"code":l.value==="flow"?"form":"code"),d={flow:Ne.DesignIcon,code:Ne.CodeblockIcon},u=t.ref(!0),f=t.ref(""),p=t.computed(()=>{const S=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return S[0].disabled=!u.value,S}),m=t.inject(Bn.KM_3034_FEATURES_316,!1),h=t.ref(!(r.isEditing&&r.model?.config?.ca_certificates?.length)),y=t.computed(()=>{const S=[{name:"plugin-config",title:n("plugins.free-form.datakit.flow_editor.mode"),description:n("plugins.free-form.datakit.description_flow")}];return m&&S.push({name:"advanced",title:n("plugins.free-form.datakit.advanced_configuration.title")}),S}),g=t.computed(()=>u.value?"":n("plugins.free-form.datakit.flow_editor.disabled_tooltip",{reason:f.value,code:S=>`<code>${lO(S)}</code>`}));t.watch(l,()=>{r.onValidityChange?.({model:"config",valid:!0})});function _(){r.onValidityChange?.({model:"config",valid:!0})}function k(){_()}function b(S){return S.map(x=>typeof x=="number"?`[${x}]`:S.length&&typeof x=="string"&&x.includes(".")?`["${x}"]`:`.${x}`).join("").replace(/^\./,"")}function N(S){return S.issues.map(x=>`${b(x.path)} - ${x.message}`).join("; ")}function C(S){if(_(),i.app!=="konnect")return;const x=S?.config,{success:I,error:T}=xC.safeParse(x);f.value=I||!T?"":N(T),u.value=I}function w(S){f.value=S,u.value=!1,r.onValidityChange?.({model:"config",valid:!1,error:S})}return(S,x)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(i).app==="konnect"?(t.openBlock(),t.createBlock(t.Teleport,{key:0,disabled:!a.value,to:"#plugin-form-page-actions"},[t.createVNode(t.unref(_e.KSegmentedControl),{"data-testid":"datakit-editor-mode-switcher","model-value":l.value,options:p.value,"onUpdate:modelValue":x[0]||(x[0]=I=>s.value=I)},{"option-label":t.withCtx(({option:I})=>[t.createVNode(t.unref(_e.KTooltip),{disabled:u.value||I.value!=="flow"},{content:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:g.value},null,8,o3)]),default:t.withCtx(()=>[t.createElementVNode("div",i3,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(d[I.value]))),t.createTextVNode(" "+t.toDisplayString(I.label),1)])]),_:2},1032,["disabled"])]),_:1},8,["model-value","options"])],8,["disabled"])):t.createCommentVNode("",!0),t.createVNode(On,t.mergeProps({...t.unref(o),...r},{class:"dk-form","config-sections":y.value,"editor-mode":c.value,"hide-editor-mode-switcher":""}),t.createSlots({"section-plugin-config":t.withCtx(()=>[l.value==="flow"?(t.openBlock(),t.createBlock(r3,{key:0,"is-editing":r.isEditing,onChange:k},null,8,["is-editing"])):t.createCommentVNode("",!0)]),"code-editor":t.withCtx(()=>[t.createVNode(zU,{class:"code-editor",editing:r.isEditing,onChange:C,onError:w},null,8,["editing"])]),_:2},[t.unref(m)?{name:"section-advanced",fn:t.withCtx(()=>[t.createVNode(t.unref(_e.KCollapse),{modelValue:h.value,"onUpdate:modelValue":x[1]||(x[1]=I=>h.value=I),"data-testid":"dk-advanced-configuration-collapse","trigger-label":h.value?t.unref(n)("plugins.free-form.datakit.advanced_configuration.show_label"):t.unref(n)("plugins.free-form.datakit.advanced_configuration.hide_label")},{default:t.withCtx(()=>[t.createVNode(jU,{name:"$.config.ca_certificates"})]),_:1},8,["modelValue","trigger-label"])]),key:"0"}:void 0]),1040,["config-sections","editor-mode"])],64))}}),[["__scopeId","data-v-2503a4a2"]])}),s3=Ce({experimental:!0}),l3={class:"ff-response-mapping"},c3={class:"ff-response-mapping-header"},d3={class:"ff-response-mapping-col ff-response-mapping-col--code"},u3={class:"ff-response-mapping-col ff-response-mapping-col--status"},f3={class:"ff-response-mapping-col ff-response-mapping-col--message"},p3={class:"ff-response-mapping-col ff-response-mapping-col--code"},m3={class:"ff-response-mapping-col ff-response-mapping-col--status"},g3={class:"ff-response-mapping-col ff-response-mapping-col--message"},h3=xe(t.defineComponent({__name:"ResponseMappingField",setup(e){const{i18n:{t:n}}=Qe(),r=["NO_CREDIT_AVAILABLE","USAGE_LIMIT_REACHED","FEATURE_UNAVAILABLE","FEATURE_NOT_FOUND","CUSTOMER_NOT_FOUND"],{formData:o,getDefault:i}=lt();for(const a of r)for(const s of["http_status","message"]){const l=["config","response_codes",a,s];xo(o,l)==null&&zf(o,l,i(`config.response_codes.${a}.${s}`))}return(a,s)=>(t.openBlock(),t.createElementBlock("div",l3,[t.createElementVNode("div",c3,[t.createElementVNode("span",d3,t.toDisplayString(t.unref(n)("plugins.free-form.governance.fields.response.columns.code")),1),t.createElementVNode("span",u3,t.toDisplayString(t.unref(n)("plugins.free-form.governance.fields.response.columns.status")),1),t.createElementVNode("span",f3,t.toDisplayString(t.unref(n)("plugins.free-form.governance.fields.response.columns.message")),1)]),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(r,l=>t.createElementVNode("div",{key:l,class:"ff-response-mapping-row"},[t.createElementVNode("div",p3,[t.createVNode(t.unref(_e.KInput),{"data-testid":`ff-response-mapping-code-${l}`,"model-value":l,readonly:""},null,8,["data-testid","model-value"])]),t.createElementVNode("div",m3,[t.createVNode(Nt,{label:"",name:`config.response_codes.${l}.http_status`},null,8,["name"])]),t.createElementVNode("div",g3,[t.createVNode(Me,{label:"",name:`config.response_codes.${l}.message`},null,8,["name"])])])),64))]))}}),[["__scopeId","data-v-10e31d0a"]]),y3={class:"ff-card-radio-field"},_3={class:"ff-card-radio-field-cards"},og=xe(t.defineComponent({__name:"CardRadioField",props:{name:{},label:{},options:{}},setup(e){const n=e,{formData:r}=lt(),o=t.computed({get:()=>{const i=n.name.split(".");return xo(r,i)},set:i=>{const a=n.name.split(".");zf(r,a,i)}});return(i,a)=>(t.openBlock(),t.createElementBlock("div",y3,[e.label?(t.openBlock(),t.createBlock(t.unref(_e.KLabel),{key:0},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.label),1)]),_:1})):t.createCommentVNode("",!0),t.createElementVNode("div",_3,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.options,s=>(t.openBlock(),t.createBlock(t.unref(_e.KRadio),{key:String(s.value),modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),card:"","card-orientation":"horizontal",description:s.description,label:s.label,"selected-value":s.value},null,8,["modelValue","description","label","selected-value"]))),128))])]))}}),[["__scopeId","data-v-e546bf77"]]),b3={class:"ff-feature-option"},k3={class:"ff-feature-option-key"},w3={key:0,class:"ff-feature-option-name"},C3=xe(t.defineComponent({__name:"FeatureSelectField",emits:["click:create-entity"],setup(e,{emit:n}){const r=n,{i18n:{t:o}}=Qe(),i=t.inject(Je.FORMS_CONFIG),{axiosInstance:a}=ue.useAxios(i?.axiosRequestConfig),{formData:s}=lt(),l=t.computed(()=>i?.metering?.canListFeatures!==!1),c=t.computed(()=>i?.metering?.canCreateFeature!==!1),d=t.ref([]),u=t.ref(!1),f=t.computed(()=>i?.metering?.featuresEndpoint??""),p=t.computed(()=>xo(s,["config","feature","key"])),m=t.computed(()=>{const y=[...d.value];return p.value&&!y.some(g=>g.value===p.value)&&y.unshift({label:p.value,value:p.value}),y});async function h(){if(!(!l.value||!f.value)){u.value=!0;try{const g=(await a.get(f.value)).data?.data??[];d.value=g.map(_=>({label:_.key,value:_.key,name:_.name}))}catch(y){console.warn("[governance]",o("plugins.free-form.governance.fields.feature_key.load_error"),y)}finally{u.value=!1}}}return t.onMounted(h),(y,g)=>{const _=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[l.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(_,{key:0,appearance:"warning",class:"ff-feature-unavailable","data-testid":"ff-feature-unavailable",message:t.unref(o)("plugins.free-form.governance.fields.feature_key.unavailable"),"show-icon":""},null,8,["message"])),t.createVNode(St,{disabled:!l.value,"enable-filtering":"",help:t.unref(o)("plugins.free-form.governance.fields.feature_key.help"),items:m.value,label:t.unref(o)("plugins.free-form.governance.fields.feature_key.label"),loading:u.value,name:"config.feature.key"},t.createSlots({"item-label":t.withCtx(k=>[t.createElementVNode("div",b3,[t.createElementVNode("span",k3,t.toDisplayString(k.value),1),k.name?(t.openBlock(),t.createElementBlock("span",w3,t.toDisplayString(k.name),1)):t.createCommentVNode("",!0)])]),_:2},[c.value?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-feature-create","data-testid":"ff-feature-create-action",onClick:g[0]||(g[0]=k=>r("click:create-entity",{type:"feature"}))},[t.createElementVNode("span",null,t.toDisplayString(t.unref(o)("plugins.free-form.governance.fields.feature_key.create_feature")),1)])]),key:"0"}:void 0]),1032,["disabled","help","items","label","loading"])],64)}}}),[["__scopeId","data-v-f6d49ce6"]]),E3={class:"ff-entitlement-enforcement-subject"},N3={class:"ff-entitlement-enforcement-connection-heading"},S3={class:"ff-entitlement-enforcement-inline-row"},A3={class:"ff-entitlement-enforcement-cache-sync-heading"},x3={class:"ff-entitlement-enforcement-cache-sync"},I3={class:"ff-entitlement-enforcement-response-mapping-heading"},v3={class:"ff-entitlement-enforcement-deny-unknown-customers-heading"},T3=Ce({experimental:!0,component:xe(t.defineComponent({__name:"EntitlementEnforcementForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},emits:["click:create-entity"],setup(e,{emit:n}){const r=e,o=n,i=t.useSlots();t.provide(Je.AUTOFILL_SLOT,i?.[Je.AUTOFILL_SLOT_NAME]);const{i18n:{t:a}}=Qe(),s=t.inject(Je.FORMS_CONFIG),l=t.computed(()=>s?.app==="kongManager"),d=t.inject(Jm)?.(()=>!l.value);t.onUnmounted(()=>d?.());const u=t.computed(()=>{const g=s?.geoApiServerUrl,_=g?new URL(g).hostname.split(".")[0]:null;return _?`https://${_}.api.konghq.com/v3/openmeter/entitlement-access/query`:"https://us.api.konghq.com/v3/openmeter/entitlement-access/query"}),f={hasValue:g=>!!g&&Object.keys(g).length>0,prepareFormData:g=>r.isEditing?g:s?.app==="konnect"&&!g?.config?.entitlement_access_endpoint?{...g,config:{...g?.config,entitlement_access_endpoint:u.value}}:g},p=[{name:"configuration",title:a("plugins.free-form.governance.sections.configuration.title"),description:a("plugins.free-form.governance.sections.configuration.description")},{name:"entitlement-enforcement",title:a("plugins.free-form.governance.sections.governance.title"),description:a("plugins.free-form.governance.sections.governance.description")}],m=t.computed(()=>[{value:!0,label:a("plugins.free-form.governance.fields.credit_balance_required.yes_label"),description:a("plugins.free-form.governance.fields.credit_balance_required.yes_description")},{value:!1,label:a("plugins.free-form.governance.fields.credit_balance_required.no_label"),description:a("plugins.free-form.governance.fields.credit_balance_required.no_description")}]),h=t.computed(()=>[{value:"allow",label:a("plugins.free-form.governance.fields.fail_policy.allow_label"),description:a("plugins.free-form.governance.fields.fail_policy.allow_description")},{value:"block",label:a("plugins.free-form.governance.fields.fail_policy.block_label"),description:a("plugins.free-form.governance.fields.fail_policy.block_description")}]),y=t.computed(()=>[{value:!1,label:a("plugins.free-form.governance.fields.deny_unknown_customers.allow_label"),description:a("plugins.free-form.governance.fields.deny_unknown_customers.allow_description")},{value:!0,label:a("plugins.free-form.governance.fields.deny_unknown_customers.deny_label"),description:a("plugins.free-form.governance.fields.deny_unknown_customers.deny_description")}]);return(g,_)=>{const k=t.resolveComponent("KAlert");return l.value?(t.openBlock(),t.createBlock(k,{key:0,appearance:"info",class:"ff-entitlement-enforcement-unavailable","data-testid":"ff-entitlement-enforcement-unavailable",message:t.unref(a)("plugins.free-form.governance.unavailable_kong_manager")},null,8,["message"])):(t.openBlock(),t.createBlock(On,t.mergeProps({key:1},r,{"config-sections":p,"form-config":f}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:b})=>b==="config.customer.look_up_value_in"},{default:t.withCtx(b=>[t.createVNode(St,t.mergeProps(b,{help:t.unref(a)("plugins.free-form.governance.fields.look_up_value_in.help"),label:t.unref(a)("plugins.free-form.governance.fields.look_up_value_in.label")}),null,16,["help","label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:b})=>b==="config.customer.field"},{default:t.withCtx(b=>[t.createVNode(Me,t.mergeProps(b,{help:t.unref(a)("plugins.free-form.governance.fields.subject_field.help"),label:t.unref(a)("plugins.free-form.governance.fields.subject_field.label"),placeholder:t.unref(a)("plugins.free-form.governance.fields.subject_field.placeholder")}),null,16,["help","label","placeholder"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:b})=>b==="config.ssl_verify"},{default:t.withCtx(b=>[t.createVNode(en,t.mergeProps(b,{description:t.unref(a)("plugins.free-form.governance.fields.ssl_verify.description"),label:t.unref(a)("plugins.free-form.governance.fields.ssl_verify.label")}),null,16,["description","label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:b})=>b==="config.timeout"},{default:t.withCtx(b=>[t.createVNode(Nt,t.mergeProps(b,{label:t.unref(a)("plugins.free-form.governance.fields.timeout.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:b})=>b==="config.keepalive"},{default:t.withCtx(b=>[t.createVNode(Nt,t.mergeProps(b,{label:t.unref(a)("plugins.free-form.governance.fields.keepalive.label")}),null,16,["label"])]),_:1},8,["match"])]),"section-configuration":t.withCtx(()=>[t.createElementVNode("div",E3,[t.createVNode(Rt,{"as-child":"",name:"config.customer","render-rules":{dependencies:{field:["look_up_value_in",["header","query"]]}},"reset-label-path":"reset"})]),t.createVNode(C3,{"onClick:createEntity":_[0]||(_[0]=b=>o("click:create-entity",b))}),t.createElementVNode("h3",N3,t.toDisplayString(t.unref(a)("plugins.free-form.governance.sections.connection.title")),1),t.createVNode(Me,{help:t.unref(a)("plugins.free-form.governance.fields.governance_endpoint.help"),name:"config.entitlement_access_endpoint"},null,8,["help"]),t.createVNode(Xe,{name:"config.api_token"}),t.createVNode(Xe,{name:"config.ssl_verify"}),t.createElementVNode("div",S3,[t.createVNode(Xe,{name:"config.timeout"}),t.createVNode(Xe,{name:"config.keepalive"})]),t.createVNode(sd,{borderless:"","is-konnect-managed-redis-enabled":r.isKonnectManagedRedisEnabled??!1},null,8,["is-konnect-managed-redis-enabled"]),t.createVNode(Yo,{class:"ff-entitlement-enforcement-advanced-fields-container","data-testid":"ff-entitlement-enforcement-config-advanced-fields","hide-general-fields":""},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createElementVNode("h3",A3,t.toDisplayString(t.unref(a)("plugins.free-form.governance.sections.cache_sync.title")),1),t.createElementVNode("div",x3,[t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.sync_rate.label"),name:"config.sync_rate"},null,8,["label"]),t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.refresh_interval.label"),name:"config.refresh_interval"},null,8,["label"]),t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.max_stale_seconds.label"),name:"config.max_stale_seconds"},null,8,["label"]),t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.l1_ttl.label"),name:"config.l1_cache_ttl_seconds"},null,8,["label"]),t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.l2_ttl.label"),name:"config.l2_cache_ttl_seconds"},null,8,["label"])])])]),_:1})]),"section-entitlement-enforcement":t.withCtx(()=>[t.createVNode(og,{label:t.unref(a)("plugins.free-form.governance.fields.credit_balance_required.label"),name:"config.credit_balance_required",options:m.value},null,8,["label","options"]),t.createVNode(og,{label:t.unref(a)("plugins.free-form.governance.fields.fail_policy.label"),name:"config.fail_policy",options:h.value},null,8,["label","options"]),t.createVNode(Yo,{class:"ff-entitlement-enforcement-advanced-fields-container","data-testid":"ff-entitlement-enforcement-advanced-settings","hide-general-fields":""},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createElementVNode("h3",I3,t.toDisplayString(t.unref(a)("plugins.free-form.governance.fields.response.label")),1),t.createVNode(h3)]),t.createElementVNode("div",null,[t.createElementVNode("h3",v3,t.toDisplayString(t.unref(a)("plugins.free-form.governance.fields.deny_unknown_customers.label")),1),t.createVNode(og,{name:"config.deny_unknown_customers",options:y.value},null,8,["options"])])]),_:1})]),_:1},16))}}}),[["__scopeId","data-v-d6b90783"]])}),B3=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e==="config.functions.*",component:Me,propsOverrides:e=>({...e,multiline:!0,rows:3})}]}),O3=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),P3=Ce({experimental:!0}),V3=Ce({experimental:!0,renderRules:{bundles:[["config.strategy","config.redis"]],dependencies:{"config.redis":["config.strategy","redis"]}}}),$3=Ce({experimental:!0,renderRules:{bundles:[["config.strategy","config.redis"]],dependencies:{"config.redis":["config.strategy","redis"]}}}),R3=Ce({experimental:!0,fieldRenderers:[{match:"config.proto",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),L3=Ce({experimental:!0}),D3=Ce({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:St,propsOverrides:{multiple:!0}}]}),M3=Ce({experimental:!0}),F3=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),j3=Ce({experimental:!0,fieldRenderers:[{match:"config.injection_types",component:St,propsOverrides:{multiple:!0}},{match:"config.locations",component:St,propsOverrides:{multiple:!0}},{match:"config.custom_injections",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Injection`}}]}),U3=Ce({experimental:!0}),K3=Ce({experimental:!0,fieldRenderers:[{match:({path:e})=>e==="config.request_jq_program"||e==="config.response_jq_program",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),q3=Ce({experimental:!0}),G3=Ce({experimental:!0}),OC=xe(t.defineComponent({__name:"ConfigForm",setup(e){const{getSchema:n,createComputedRenderRules:r}=lt(),o=r("config"),i=t.computed(()=>{const s=[],l=[],c=new Set,u=n().fields.find(g=>Object.keys(g)[0]==="config");if(!u||!("config"in u))return{defaultVisible:s,advanced:l};const f=u.config;f.entity_checks&&f.entity_checks.forEach(g=>{let _;"at_least_one_of"in g?_=g.at_least_one_of:"conditional"in g&&n(yt("config",g.conditional.if_field))?.required&&g.conditional.then_match.required?_=[g.conditional.if_field,g.conditional.then_field]:"conditional_at_least_one_of"in g&&n(yt("config",g.conditional_at_least_one_of.if_field))?.required&&(_=[g.conditional_at_least_one_of.if_field,...g.conditional_at_least_one_of.then_at_least_one_of]),_?.forEach(k=>c.add(k.split(".")[0]))});const p=o.value?.bundles??[],m=new Map;for(const g of p)for(let _=1;_<g.length;_++)m.set(g[_],g[_-1]);const h=g=>{const _=m.get(g);return _?h(_):g},y=new Map;for(const g of f.fields){const _=Object.keys(g)[0];y.set(_,h(_))}for(const g of f.fields){const _=Object.keys(g)[0];if(y.get(_)!==_)continue;let b;g[_].required||c.has(_)?b=s:b=l,b.push(_)}for(const g of f.fields){const _=Object.keys(g)[0],k=y.get(_);k!==_&&(s.includes(k)?s:l).push(_)}return{defaultVisible:s,advanced:l}}),a=t.computed(()=>i.value.defaultVisible.length===0);return(s,l)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Rt,{"as-child":"",class:"ff-default-visible-fields",name:"config",omit:a.value?[]:i.value.advanced,"reset-label-path":"reset"},null,8,["omit"]),a.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Yo,{key:0,class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(Rt,{"as-child":"",name:"config",omit:i.value.defaultVisible,"reset-label-path":"reset"},null,8,["omit"])]),_:1}))],64))}}),[["__scopeId","data-v-bc82c9e9"]]),PC=t.defineComponent({inheritAttrs:!1,__name:"KeysetField",props:{name:{},scope:{}},setup(e){const n=e,{i18n:{t:r}}=Qe(),o=t.inject(Je.FORMS_CONFIG),i=t.computed(()=>o?.app==="konnect"),{formData:a,config:s}=lt();function l(p){const m=`config.${p}`,h=Sc(p);return s.value.transformLabel?s.value.transformLabel(h,m):h}function c(p){if(typeof p!="string"||!p)return!1;try{const m=new URL(p);return(m.protocol==="http:"||m.protocol==="https:")&&!!m.host}catch{return!1}}const d=t.computed(()=>{if(!i.value)return{hasError:!1,message:""};const p=a.config,m=p?.[`${n.scope}_token_signing`],h=p?.[`${n.scope}_token_upstream_header`];if(!m)return{hasError:!1,message:""};if(typeof h!="string"||h==="")return{hasError:!1,message:""};const y=p?.[`${n.scope}_token_keyset`];return c(y)?{hasError:!1,message:""}:{hasError:!0,message:r("plugins.free-form.jwt-signer.keyset_url_required",{signingField:l(`${n.scope}_token_signing`),headerField:l(`${n.scope}_token_upstream_header`)})}}),u=t.computed(()=>d.value.hasError),f=t.computed(()=>d.value.message);return(p,m)=>(t.openBlock(),t.createBlock(Me,t.mergeProps(p.$attrs,{error:u.value,"error-message":f.value,name:e.name}),null,16,["error","error-message","name"]))}}),z3=Ce({component:t.defineComponent({__name:"JwtSignerForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r={bundles:[["config.access_token_signing","config.access_token_upstream_header","config.access_token_keyset"],["config.channel_token_signing","config.channel_token_upstream_header","config.channel_token_keyset"]]},o=t.useSlots();return t.provide(Je.AUTOFILL_SLOT,o?.[Je.AUTOFILL_SLOT_NAME]),(i,a)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"render-rules":r}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:s})=>s==="config.access_token_keyset"},{default:t.withCtx(s=>[t.createVNode(PC,t.mergeProps(s,{scope:"access"}),null,16)]),_:1},8,["match"]),t.createVNode(mt,{match:({path:s})=>s==="config.channel_token_keyset"},{default:t.withCtx(s=>[t.createVNode(PC,t.mergeProps(s,{scope:"channel"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(OC)]),_:1},16))}})}),H3=Ce({experimental:!0}),W3=Ce({experimental:!0,fieldRenderers:[{match:"config.message_by_lua_functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}},{match:"config.topics",component:dt,propsOverrides:{appearance:"tabs",stickyTabs:!0,itemLabel:(e,n)=>`#${n+1} Topic`}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),Y3=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),J3=Ce({experimental:!0,fieldRenderers:[{match:"config.message_by_lua_functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),X3=Ce({experimental:!0}),Z3=Ce({experimental:!0,component:dC}),Q3=Ce({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:St,propsOverrides:{multiple:!0}}]}),e4=Ce({experimental:!0}),t4=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),n4={class:"ff-collapsible-section"},r4={class:"ff-collapsible-section-header"},o4={class:"ff-collapsible-section-header-toggle"},i4={key:0,class:"ff-collapsible-section-content"},a4={key:0,class:"ff-collapsible-section-indent-guide"},ig=xe(t.defineComponent({__name:"CollapsibleSection",props:t.mergeModels({label:{}},{expanded:{type:Boolean,default:!0},expandedModifiers:{}}),emits:["update:expanded"],setup(e){const n=t.useModel(e,"expanded");return(r,o)=>(t.openBlock(),t.createElementBlock("div",n4,[t.createElementVNode("header",r4,[t.createElementVNode("div",o4,[t.createElementVNode("button",{class:"ff-collapsible-section-toggle-btn",type:"button",onClick:o[0]||(o[0]=t.withModifiers(i=>n.value=!n.value,["prevent","stop"]))},[t.createVNode(t.unref(Ne.ChevronRightIcon),{class:t.normalizeClass(["ff-collapsible-section-toggle-btn-trigger-icon",{"collapse-expanded":n.value}]),decorative:"",size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["class","size"])]),t.createVNode(t.unref(_e.KLabel),{class:"ff-collapsible-section-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.label),1)]),_:1})])]),t.createVNode(xc,null,{default:t.withCtx(()=>[n.value?(t.openBlock(),t.createElementBlock("div",i4,[t.renderSlot(r.$slots,"default",{},void 0,!0)])):t.createCommentVNode("",!0)]),_:3}),n.value?(t.openBlock(),t.createElementBlock("div",a4)):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-39f2a44b"]]),s4={class:"ff-mb-subject"},l4={class:"ff-mb-attributes"},c4={class:"ff-metering-billing-inline-row"},d4={class:"ff-mb-queue"},u4=Ce({experimental:!0,component:xe(t.defineComponent({__name:"MeteringAndBillingForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=Qe(),i=t.inject(Je.FORMS_CONFIG),a=t.computed(()=>{const u=i?.geoApiServerUrl,f=u?new URL(u).hostname.split(".")[0]:null;return f?`https://${f}.api.konghq.com/v3/openmeter/events`:"https://{{region}}.api.konghq.com/v3/openmeter/events"}),s={hasValue:u=>!!u&&Object.keys(u).length>0,prepareFormData:u=>n.isEditing?u:i?.app==="konnect"&&!u?.config?.ingest_endpoint?{...u,config:{...u?.config,ingest_endpoint:a.value}}:u},l=t.ref(!0),c=t.ref(!0),d=t.ref(!0);return(u,f)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"form-config":s,"plugin-config-description":t.unref(o)("plugins.free-form.metering-and-billing.sections.plugin_config.description")}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:p})=>p==="config.meter_api_requests"},{default:t.withCtx(p=>[t.createVNode(en,t.mergeProps(p,{description:t.unref(o)("plugins.free-form.metering-and-billing.fields.meter_api_requests.description")}),null,16,["description"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.meter_ai_token_usage"},{default:t.withCtx(p=>[t.createVNode(en,t.mergeProps(p,{description:t.unref(o)("plugins.free-form.metering-and-billing.fields.meter_ai_token_usage.description")}),null,16,["description"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.ssl_verify"},{default:t.withCtx(p=>[t.createVNode(en,t.mergeProps(p,{description:t.unref(o)("plugins.free-form.metering-and-billing.fields.ssl_verify.description"),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.ssl_verify.label")}),null,16,["description","label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.subject.look_up_value_in"},{default:t.withCtx(p=>[t.createVNode(St,t.mergeProps(p,{help:t.unref(o)("plugins.free-form.metering-and-billing.fields.look_up_value_in.help"),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.look_up_value_in.label")}),null,16,["help","label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.subject.field"},{default:t.withCtx(p=>[t.createVNode(Me,t.mergeProps(p,{help:t.unref(o)("plugins.free-form.metering-and-billing.fields.subject_field.help"),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.subject_field.label"),placeholder:t.unref(o)("plugins.free-form.metering-and-billing.fields.subject_field.placeholder")}),null,16,["help","label","placeholder"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.timeout"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.timeout.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.keepalive"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.keepalive.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.queue.max_coalescing_delay"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.queue.max_coalescing_delay.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.queue.initial_retry_delay"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.queue.initial_retry_delay.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.queue.max_retry_delay"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.queue.max_retry_delay.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.queue.max_retry_time"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.queue.max_retry_time.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p.startsWith("config.attributes.")&&p.endsWith(".look_up_value_in")},{default:t.withCtx(p=>[t.createVNode(Me,t.mergeProps(p,{placeholder:t.unref(o)("plugins.free-form.metering-and-billing.fields.attributes.look_up_value_in.placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p.startsWith("config.attributes.")&&p.endsWith(".event_property_name")},{default:t.withCtx(p=>[t.createVNode(Me,t.mergeProps(p,{placeholder:t.unref(o)("plugins.free-form.metering-and-billing.fields.attributes.event_property_name.placeholder")}),null,16,["placeholder"])]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(ig,{expanded:l.value,"onUpdate:expanded":f[0]||(f[0]=p=>l.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.sections.metering.title")},{default:t.withCtx(()=>[t.createVNode(Xe,{name:"config.meter_api_requests"}),t.createVNode(Xe,{name:"config.meter_ai_token_usage"})]),_:1},8,["expanded","label"]),t.createElementVNode("div",s4,[t.createVNode(Rt,{label:t.unref(o)("plugins.free-form.metering-and-billing.sections.subject.title"),name:"config.subject","render-rules":{dependencies:{field:["look_up_value_in",["query","header"]]}},"reset-label-path":"reset"},null,8,["label"])]),t.createVNode(ig,{expanded:c.value,"onUpdate:expanded":f[1]||(f[1]=p=>c.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.attributes.title")},{default:t.withCtx(()=>[t.createElementVNode("div",l4,[t.createVNode(dt,{"hide-label":"",name:"config.attributes"})])]),_:1},8,["expanded","label"]),t.createVNode(ig,{expanded:d.value,"onUpdate:expanded":f[2]||(f[2]=p=>d.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.sections.ingestion.title")},{default:t.withCtx(()=>[t.createVNode(Me,{help:t.unref(o)("plugins.free-form.metering-and-billing.fields.ingest_endpoint.help"),name:"config.ingest_endpoint"},null,8,["help"]),t.createVNode(Xe,{name:"config.api_token"}),t.createVNode(Xe,{name:"config.ssl_verify"}),t.createElementVNode("div",c4,[t.createVNode(Xe,{name:"config.timeout"}),t.createVNode(Xe,{name:"config.keepalive"})])]),_:1},8,["expanded","label"]),t.createVNode(Yo,{class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:t.withCtx(()=>[t.createElementVNode("div",d4,[t.createVNode(t.unref(_e.KLabel),{class:"ff-mb-queue-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.metering-and-billing.sections.queue.title")),1)]),_:1}),t.createVNode(Rt,{"as-child":"",name:"config.queue","reset-label-path":"reset"})])]),_:1})]),_:1},16,["plugin-config-description"]))}}),[["__scopeId","data-v-78972733"]])}),f4=Ce({experimental:!0,fieldRenderers:[{match:"config.api_specification",component:Me,propsOverrides:{multiline:!0,rows:15}}]}),p4=Ce({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:St,propsOverrides:{multiple:!0}}]}),m4=Ce({experimental:!0,fieldRenderers:[{match:"config.api_spec",component:Me,propsOverrides:{multiline:!0,rows:15}}]}),g4=Ce({experimental:!0}),h4=Ce({experimental:!0}),y4=Ce({experimental:!0});function _4(e){const{consumer_claim:n,consumer_claims:r}=e;return Array.isArray(r)&&r.length>0||n==null||n===""?null:[Array.isArray(n)?n:[n]]}const b4={key:0,class:"oidc-auth-methods"},k4={class:"auth-methods-hint"},w4={class:"session-management-section"},C4={class:"session-radio-group"},E4={key:1,class:"oidc-auth-methods"},N4={class:"auth-method-container"},ag=["authorization_code","bearer","client_credentials","password","introspection","userinfo","kong_oauth2","refresh_token"],VC=["bearer","client_credentials","introspection","userinfo"],S4="identity.konghq",$C=e=>typeof e=="string"&&e.includes(S4),RC=xe(t.defineComponent({__name:"AuthMethodsField",props:{principalsMode:{}},setup(e){const n=e,{i18n:{t:r}}=Qe(),o=t.inject(Je.FORMS_CONFIG),i=t.computed(()=>o?.app==="konnect"),{formData:a}=lt(),s=t.computed(()=>a.config?.auth_methods??null),l=t.computed(()=>({authorization_code:r("plugins.free-form.openid-connect.auth_methods.methods.authorization_code"),bearer:r("plugins.free-form.openid-connect.auth_methods.methods.bearer"),client_credentials:r("plugins.free-form.openid-connect.auth_methods.methods.client_credentials"),password:r("plugins.free-form.openid-connect.auth_methods.methods.password"),introspection:r("plugins.free-form.openid-connect.auth_methods.methods.introspection"),userinfo:r("plugins.free-form.openid-connect.auth_methods.methods.userinfo"),kong_oauth2:r("plugins.free-form.openid-connect.auth_methods.methods.kong_oauth2"),refresh_token:r("plugins.free-form.openid-connect.auth_methods.methods.refresh_token")})),c=t.computed(()=>n.principalsMode!==null&&n.principalsMode!==void 0?n.principalsMode==="kong-identity":$C(a.config?.issuer)),d=t.computed(()=>(i.value&&c.value?ag.filter(_=>VC.includes(_)):ag).map(_=>({value:_,label:l.value[_]}))),u=t.computed(()=>(s.value??[]).filter(g=>g!=="session")),f=t.computed(()=>(s.value??[]).includes("session"));function p(g,_){a.config&&(a.config.auth_methods=_?[...g,"session"]:[...g])}function m(g){p(g,f.value)}function h(g,_){const k=_?[...new Set([...u.value,g])]:u.value.filter(b=>b!==g);p(k,f.value)}function y(g){p(u.value,g)}return(g,_)=>i.value?(t.openBlock(),t.createElementBlock("div",b4,[t.createVNode(t.unref(_e.KLabel),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.auth_methods.label")),1)]),_:1}),(t.openBlock(),t.createBlock(t.unref(_e.KMultiselect),{key:e.principalsMode??"initial",class:"auth-methods-multiselect","data-testid":"auth-methods-multiselect",items:d.value,"model-value":u.value,placeholder:t.unref(r)("plugins.free-form.openid-connect.auth_methods.placeholder"),"onUpdate:modelValue":m},null,8,["items","model-value","placeholder"])),t.createElementVNode("p",k4,t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.auth_methods.hint")),1),t.createElementVNode("div",w4,[t.createVNode(t.unref(_e.KLabel),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.label")),1)]),_:1}),t.createElementVNode("div",C4,[t.createVNode(t.unref(_e.KRadio),{"data-testid":"session-radio-use",description:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.use_description"),label:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.use_label"),"model-value":f.value,"selected-value":!0,onChange:_[0]||(_[0]=k=>y(!0))},null,8,["description","label","model-value"]),t.createVNode(t.unref(_e.KRadio),{"data-testid":"session-radio-no-use",description:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.no_use_description"),label:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.no_use_label"),"model-value":f.value,"selected-value":!1,onChange:_[1]||(_[1]=k=>y(!1))},null,8,["description","label","model-value"])])])])):(t.openBlock(),t.createElementBlock("div",E4,[t.createVNode(t.unref(_e.KLabel),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.auth_methods.km_label")),1)]),_:1}),t.createElementVNode("div",N4,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,k=>(t.openBlock(),t.createElementBlock("div",{key:k.value,class:"auth-method"},[t.createVNode(t.unref(_e.KCheckbox),{"data-testid":`auth-method-checkbox-${k.value}`,"model-value":u.value.includes(k.value),"onUpdate:modelValue":b=>h(k.value,b)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(k.label),1)]),_:2},1032,["data-testid","model-value","onUpdate:modelValue"])]))),128))]),t.createVNode(t.unref(_e.KInputSwitch),{"data-testid":"session-management-switch",label:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.switch_label"),"model-value":f.value,"onUpdate:modelValue":y},null,8,["label","model-value"])]))}}),[["__scopeId","data-v-ec201579"]]),A4={class:"oidc-client-jwk-field"},x4=xe(t.defineComponent({__name:"ClientJwkField",props:{name:{}},setup(e){const{i18n:{t:n}}=Qe();return(r,o)=>(t.openBlock(),t.createElementBlock("div",A4,[t.createVNode(dt,{appearance:"tabs","item-label":(i,a)=>`#${a+1} Client JWK`,name:e.name,"sticky-tabs":""},{label:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.openid-connect.advanced_fields.client_jwk_link_label"))+" ",1),t.createVNode(t.unref(_e.KExternalLink),{class:"oidc-client-jwk-link",href:"https://developer.konghq.com/plugins/openid-connect/reference/#schema--config-client-jwk"},{default:t.withCtx(()=>[...o[0]||(o[0]=[t.createTextVNode(" More info ",-1)])]),_:1})]),_:1},8,["item-label","name"])]))}}),[["__scopeId","data-v-60061242"]]),I4={class:"principals-field-group"},v4={class:"principals-field-group"},T4={class:"lookup-method-item"},B4={class:"lookup-method-item-label"},O4={class:"lookup-method-item-description"},P4={class:"principals-field-group"},V4={class:"principals-field-group"},$4={class:"principals-learn-more-link",href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},R4={class:"principals-field-group"},L4={class:"principals-learn-more-link",href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},LC=xe(t.defineComponent({__name:"PrincipalLookupSettings",props:{disabled:{type:Boolean},dataPlaneIncompatible:{type:Boolean},showPrincipalsFields:{type:Boolean,default:!0},onEnabledChange:{type:Function}},setup(e){const n=t.createPropsRestProxy(e,["showPrincipalsFields"]),{i18n:{t:r}}=Qe(),o=t.inject(Vs,void 0),{formData:i,getEmptyValue:a}=lt();function s(I){return t.computed({get:()=>i.config?.principals?.[I],set:T=>{i.config?.principals&&(i.config.principals[I]=T)}})}const l=s("enabled"),c=s("principal_by"),d=s("principal_claim"),u=s("error_on_miss"),f=s("match_consumer"),p=s("match_consumer_groups"),m=[{label:r("plugins.free-form.openid-connect.lookup.method.kong_identity_label"),value:"kong-identity",description:r("plugins.free-form.openid-connect.lookup.method.kong_identity_description")},{label:r("plugins.free-form.openid-connect.lookup.method.custom_identity_label"),value:"custom-identity",description:r("plugins.free-form.openid-connect.lookup.method.custom_identity_description")}],h=I=>I==null||I===""?!1:Array.isArray(I)?I.length>0:!0,y=t.ref(h(c.value)?"custom-identity":"kong-identity"),g=t.computed(()=>l.value===!0),_=t.computed(()=>n.disabled||!g.value),k=t.computed(()=>y.value==="custom-identity"?r("plugins.free-form.openid-connect.lookup.token_claim.help_custom"):r("plugins.free-form.openid-connect.lookup.token_claim.help"));function b(I){return Array.isArray(I)&&I.length>0?I.map(T=>T.replace(/[\\.]/g,A=>`\\${A}`)).join("."):typeof I=="string"&&I?I:""}function N(I){if(!I)return a();const T=[];let A="";for(let P=0;P<I.length;P++){const O=I[P];O==="\\"&&(I[P+1]==="."||I[P+1]==="\\")?(A+=I[P+1],P++):O==="."?(T.push(A),A=""):A+=O}T.push(A);const v=T.map(P=>P.trim()).filter(Boolean);return v.length>0?v:a()}!o?.value&&!h(d.value)&&(d.value=["sub"]);const C=t.ref(b(d.value));function w(I){C.value=I,d.value=N(I.trim())}t.watch(d,I=>{const T=N(C.value.trim());Kt(I??null,T??null)||(C.value=b(I))});function S(I){y.value=I??"kong-identity",I!=="custom-identity"&&(c.value=a(),d.value=a())}function x(I){n.onEnabledChange?n.onEnabledChange(I):l.value=I}return(I,T)=>(t.openBlock(),t.createBlock(t.unref(_e.KCollapse),{class:"principals-advanced-settings","data-testid":"principals-advanced-settings","trigger-label":t.unref(r)("plugins.free-form.openid-connect.lookup.collapse_label")},{default:t.withCtx(()=>[e.showPrincipalsFields?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(I.$slots,"banner",{},void 0,!0),e.dataPlaneIncompatible?(t.openBlock(),t.createBlock(t.unref(_e.KAlert),{key:0,appearance:"warning",class:"principals-dp-version-alert","data-testid":"oidc-principals-dp-version-alert",message:t.unref(r)("plugins.free-form.openid-connect.principals.dp_version_alert"),"show-icon":""},null,8,["message"])):t.createCommentVNode("",!0),t.createElementVNode("div",I4,[t.createVNode(t.unref(_e.KInputSwitch),{"data-testid":"use-principal-lookup",disabled:e.disabled,"model-value":g.value,"onUpdate:modelValue":x},{label:t.withCtx(()=>[t.createVNode(t.unref(_e.KLabel),{info:t.unref(r)("plugins.free-form.openid-connect.lookup.toggle_info"),"tooltip-attributes":{maxWidth:"300"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.toggle_label")),1)]),_:1},8,["info"])]),_:1},8,["disabled","model-value"])]),t.createElementVNode("div",v4,[t.createVNode(t.unref(_e.KSelect),{class:"principals-lookup-method-select","data-testid":"principals-lookup-method",disabled:_.value,help:t.unref(r)("plugins.free-form.openid-connect.lookup.method.help"),items:m,label:t.unref(r)("plugins.free-form.openid-connect.lookup.method.label"),"model-value":y.value,placeholder:t.unref(r)("plugins.free-form.openid-connect.lookup.method.placeholder"),"onUpdate:modelValue":S},{"item-template":t.withCtx(({item:A})=>[t.createElementVNode("div",T4,[t.createElementVNode("div",B4,t.toDisplayString(A.label),1),t.createElementVNode("div",O4,t.toDisplayString(A.description),1)])]),_:1},8,["disabled","help","label","model-value","placeholder"]),y.value==="custom-identity"?(t.openBlock(),t.createBlock(t.unref(_e.KInput),{key:0,class:"principals-custom-identity-name-input","data-testid":"principals-custom-identity-name",disabled:_.value,help:t.unref(r)("plugins.free-form.openid-connect.lookup.custom_identity_name.help"),label:t.unref(r)("plugins.free-form.openid-connect.lookup.custom_identity_name.label"),"model-value":t.unref(c)??void 0,placeholder:t.unref(r)("plugins.free-form.openid-connect.lookup.custom_identity_name.placeholder"),"onUpdate:modelValue":T[0]||(T[0]=A=>c.value=A)},null,8,["disabled","help","label","model-value","placeholder"])):t.createCommentVNode("",!0),t.createVNode(t.unref(_e.KInput),{class:"principals-token-claim-input","data-testid":"principals-token-claim",disabled:_.value,help:k.value,label:t.unref(r)("plugins.free-form.openid-connect.lookup.token_claim.label"),"model-value":C.value,placeholder:t.unref(r)("plugins.free-form.openid-connect.lookup.token_claim.placeholder"),"onUpdate:modelValue":w},null,8,["disabled","help","label","model-value","placeholder"])]),t.createElementVNode("div",P4,[t.createVNode(t.unref(_e.KLabel),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.label")),1)]),_:1}),t.createVNode(t.unref(_e.KRadio),{"data-testid":"principals-error-on-miss-true",description:t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.reject_description"),disabled:_.value,label:t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.reject_label"),"model-value":t.unref(u)??null,"selected-value":!0,onChange:T[1]||(T[1]=A=>u.value=!0)},null,8,["description","disabled","label","model-value"]),t.createVNode(t.unref(_e.KRadio),{"data-testid":"principals-error-on-miss-false",description:t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.continue_description"),disabled:_.value,label:t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.continue_label"),"model-value":t.unref(u)??null,"selected-value":!1,onChange:T[2]||(T[2]=A=>u.value=!1)},null,8,["description","disabled","label","model-value"])]),t.createElementVNode("div",V4,[t.createVNode(t.unref(_e.KCheckbox),{"data-testid":"principals-match-consumer",disabled:_.value,"model-value":t.unref(f)??!1,"onUpdate:modelValue":T[3]||(T[3]=A=>f.value=A)},{description:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer.description"))+" ",1),t.createElementVNode("a",$4,t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer.link")),1)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer.label"))+" ",1)]),_:1},8,["disabled","model-value"])]),t.createElementVNode("div",R4,[t.createVNode(t.unref(_e.KCheckbox),{"data-testid":"principals-match-consumer-groups",disabled:_.value,"model-value":t.unref(p)??!1,"onUpdate:modelValue":T[4]||(T[4]=A=>p.value=A)},{description:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer_groups.description"))+" ",1),t.createElementVNode("a",L4,t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer_groups.link")),1)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer_groups.label"))+" ",1)]),_:1},8,["disabled","model-value"])])],64)):t.createCommentVNode("",!0),t.renderSlot(I.$slots,"default",{},void 0,!0)]),_:3},8,["trigger-label"]))}}),[["__scopeId","data-v-3c7d6723"]]),D4={class:"oidc-principals-section","data-testid":"oidc-principals-section"},M4={class:"principals-header"},F4={class:"principals-description"},j4={class:"oidc-auth-mode-radio-group","data-testid":"oidc-auth-mode-radio-group"},U4={class:"auth-mode-card-content"},K4={class:"auth-mode-card-label"},q4={class:"auth-mode-card-description"},G4={class:"auth-mode-card-content"},z4={class:"auth-mode-card-label"},H4={class:"auth-mode-card-description"},W4={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},Y4={class:"principals-create-guide-title"},J4={class:"principals-create-guide-description"},X4={class:"principals-create-guide-actions"},Z4={class:"create-action-content"},Q4={class:"create-action-hint"},eG={class:"create-action-content"},tG={class:"create-action-hint"},nG={class:"principals-client-secret-wrapper"},rG=["aria-label","disabled","onClick"],oG={class:"external-client-field"},iG=["innerHTML"],aG={class:"external-client-field"},sG=["innerHTML"],lG=["aria-label","disabled","onClick"],cG={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},dG={class:"principals-create-guide-title"},uG={class:"principals-create-guide-description"},fG={class:"principals-create-guide-actions"},Mr="kong-identity",gd="external",pG="/v1/auth-servers/_computed",mG=xe(t.defineComponent({__name:"PrincipalsSection",emits:["mode-change","click:learn-more","click:create-entity"],setup(e,{emit:n}){const r={major:3,minor:15},o=Be=>{const[Ve,$e]=Be.split(".").map(Number);return Number.isNaN(Ve)||Number.isNaN($e)?!1:Ve!==r.major?Ve<r.major:$e<r.minor},i=n,{i18n:{t:a}}=Qe(),s=t.inject(Je.FORMS_CONFIG),l=t.inject(Je.AUTOFILL_SLOT,void 0),c=t.inject(Vs,void 0),d=t.computed(()=>c?.value??!1),{formData:u,getLabelAttributes:f,getEmptyOrDefault:p,getEmptyValue:m}=lt(),h=t.computed({get:()=>u.config?.issuer??null,set:Be=>{u.config&&(u.config.issuer=Be)}}),y=t.computed({get:()=>u.config?.client_id??null,set:Be=>{u.config&&(u.config.client_id=Be)}}),g=t.computed({get:()=>u.config?.client_secret??null,set:Be=>{u.config&&(u.config.client_secret=Be)}}),_=t.ref(d.value?$C(h.value)?Mr:gd:Mr),k=t.ref([]),b=t.ref(!1),N=t.ref([]),C=t.ref(!1),w=t.ref(null),S=t.ref(null);let x=!1;const I=t.computed(()=>f("config.client_id").info),T=t.computed(()=>f("config.client_secret").info),A=t.computed(()=>k.value.map(Be=>({label:Be.name,value:Be.id}))),v=t.computed(()=>N.value.map(Be=>({label:Be.name,value:Be.client_id||Be.id}))),P=t.computed(()=>{const Be=y.value;return Array.isArray(Be)&&Be.length>0?Be:[null]}),O=t.computed(()=>{const Be=g.value;return Array.isArray(Be)&&Be.length>0?Be:[null]}),R=t.computed(()=>Q.value&&!w.value||P.value.length<=1),Q=t.computed(()=>s?.isKongIdentityAuthServersAvailable!==!1),pe=t.computed(()=>s?.canCreateAuthServer!==!1),H=t.computed(()=>s?.canCreateAuthServerClient!==!1),j=t.computed(()=>s?.principalsCreationGuideVisible),D=t.computed(()=>j.value===!0),ee=t.computed(()=>j.value===void 0),K=t.computed(()=>!D.value&&(s?.dataPlaneVersions??[]).some(o));t.watch(()=>s?.principalsDirectoryName,Be=>{d.value||_.value!==Mr||Be==null||u.config?.principals&&(u.config.principals.directory=Be)},{immediate:!0}),t.onMounted(()=>{d.value||t.nextTick(()=>{je(_.value),i("mode-change",_.value)}),J()});async function J(){if(s?.isKongIdentityAuthServersAvailable!==!1)try{b.value=!0;const{axiosInstance:Be}=ue.useAxios(s?.axiosRequestConfig),Ve=`${s?.apiBaseUrl}${pG}`,$e=await Be.get(Ve);if(k.value=$e.data?.data??[],h.value&&!w.value){const Ke=k.value.find(de=>de.issuer===h.value)||null;Ke&&(x=!0,w.value=Ke,ce(Ke.id))}}catch{k.value=[]}finally{b.value=!1}}async function ce(Be){try{C.value=!0;const{axiosInstance:Ve}=ue.useAxios(s?.axiosRequestConfig),$e=`${s?.apiBaseUrl}/v1/auth-servers/${Be}/clients`,Ke=await Ve.get($e);N.value=Ke.data?.data??[]}catch{N.value=[]}finally{C.value=!1}}function z(Be){if(x){x=!1;return}w.value=k.value.find(Ve=>Ve.id===Be)||null,w.value?.issuer&&(h.value=w.value.issuer),y.value=[null],g.value=[null],N.value=[],C.value=!!Be,Be&&ce(Be)}function oe(Be,Ve){const $e=[...P.value];$e[Be]=Ve,y.value=$e}function Pe(Be,Ve){const $e=[...O.value];$e[Be]=Ve,g.value=$e}function Ee(){y.value=[...P.value,null],g.value=[...O.value,null]}function Ge(Be){if(P.value.length<=1)return;const Ve=[...P.value];Ve.splice(Be,1),y.value=Ve;const $e=[...O.value];$e.splice(Be,1),g.value=$e}function se(Be){const Ve=P.value;return v.value.map($e=>({...$e,disabled:Ve.some((Ke,de)=>de!==Be&&Ke===$e.value)}))}function X(){return u.config?.principals??p("config.principals")??{}}function he(Be){u.config&&(u.config.principals={...X(),enabled:Be})}function ve(){const Be=S.value;S.value=null,Be==="authServer"?i("click:create-entity",{type:"auth-server"}):Be==="client"?i("click:create-entity",{type:"client",authServerId:w.value?.id}):Be==="principal"&&i("click:create-entity",{type:"principal"})}function je(Be){const Ve=(u.config?.auth_methods??[]).includes("session"),$e=Be===gd||!d.value?!0:Ve,Ke=Be===Mr?[...VC]:[...ag];$e&&Ke.push("session"),u.config&&(u.config.auth_methods=Ke)}function qe(Be){if(u.config&&(u.config.client_id=m(),u.config.client_secret=m(),u.config.issuer=m()),u.config){const Ve=X(),$e=Be===Mr?s?.principalsDirectoryName??Ve.directory:"default";u.config.principals={...Ve,enabled:!1,error_on_miss:!0,match_consumer:!0,match_consumer_groups:!0,directory:$e}}Be===gd&&(w.value=null,N.value=[]),je(Be),i("mode-change",Be)}return(Be,Ve)=>(t.openBlock(),t.createElementBlock("div",D4,[t.createElementVNode("div",M4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.header")),1),t.createElementVNode("div",F4,[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.description"))+" ",1),t.createVNode(t.unref(_e.KExternalLink),{href:"https://developer.konghq.com/plugins/openid-connect/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.learn_more")),1)]),_:1})]),t.createElementVNode("div",j4,[t.createVNode(t.unref(_e.KRadio),{modelValue:_.value,"onUpdate:modelValue":Ve[0]||(Ve[0]=$e=>_.value=$e),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-kong-identity","selected-value":Mr,onChange:qe},{default:t.withCtx(()=>[t.createElementVNode("div",U4,[t.createVNode(t.unref(Ne.KeyIcon),{size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"]),t.createElementVNode("div",K4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.kong_identity_label")),1),t.createElementVNode("div",q4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.kong_identity_description")),1)])]),_:1},8,["modelValue"]),t.createVNode(t.unref(_e.KRadio),{modelValue:_.value,"onUpdate:modelValue":Ve[1]||(Ve[1]=$e=>_.value=$e),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-external","selected-value":gd,onChange:qe},{default:t.withCtx(()=>[t.createElementVNode("div",G4,[t.createVNode(t.unref(Ne.WorldIcon),{size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"]),t.createElementVNode("div",z4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.external_label")),1),t.createElementVNode("div",H4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.external_description")),1)])]),_:1},8,["modelValue"])]),ee.value&&_.value===Mr?(t.openBlock(),t.createBlock(t.unref(_e.KSkeleton),{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):D.value&&_.value===Mr?(t.openBlock(),t.createElementBlock("div",W4,[t.createElementVNode("div",Y4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.title")),1),t.createElementVNode("div",J4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.description")),1),t.createElementVNode("div",X4,[t.createVNode(t.unref(_e.KButton),{appearance:"primary","data-testid":"principals-create-principal",onClick:Ve[2]||(Ve[2]=$e=>S.value="principal")},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.create")),1)]),_:1}),t.createVNode(t.unref(_e.KButton),{appearance:"secondary","data-testid":"principals-learn-more",onClick:Ve[3]||(Ve[3]=$e=>Be.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.learn_more")),1)]),_:1})])])):t.createCommentVNode("",!0),_.value===Mr?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[Q.value?(t.openBlock(),t.createBlock(t.unref(_e.KSelect),{key:0,class:"principals-directory-select","data-testid":"principals-directory-select","enable-filtering":"",items:A.value,label:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.label"),"label-attributes":{info:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.info"),tooltipAttributes:{maxWidth:"300"}},loading:b.value,"model-value":w.value?.id,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.placeholder"),required:"","onUpdate:modelValue":z},t.createSlots({_:2},[pe.value?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("button",{class:"create-action","data-testid":"create-auth-server-action",type:"button",onClick:Ve[4]||(Ve[4]=t.withModifiers($e=>S.value="authServer",["stop"]))},[t.createVNode(t.unref(Ne.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["size"]),t.createElementVNode("div",Z4,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.create")),1),t.createElementVNode("div",Q4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.create_hint")),1)])])]),key:"0"}:void 0]),1032,["items","label","label-attributes","loading","model-value","placeholder"])):(t.openBlock(),t.createBlock(t.unref(_e.KInput),{key:1,"data-testid":"kong-identity-issuer-input",help:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.no_access_help"),label:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.label"),"label-attributes":{info:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.info"),tooltipAttributes:{maxWidth:"300"}},"model-value":h.value??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.issuer_placeholder"),required:"","onUpdate:modelValue":Ve[5]||(Ve[5]=$e=>h.value=$e)},null,8,["help","label","label-attributes","model-value","placeholder"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(P.value,($e,Ke)=>(t.openBlock(),t.createElementBlock("div",{key:Ke,class:t.normalizeClass(["client-row",{"client-row-with-label":Ke===0}])},[Q.value?(t.openBlock(),t.createBlock(t.unref(_e.KSelect),{key:1,class:"principals-client-select","data-testid":"principals-client-select",disabled:!w.value,"enable-filtering":"",items:se(Ke),label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.label"):void 0,loading:C.value,"model-value":$e??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.placeholder"),"onUpdate:modelValue":de=>oe(Ke,de)},t.createSlots({_:2},[H.value?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("button",{class:"create-action","data-testid":"create-client-action",type:"button",onClick:Ve[6]||(Ve[6]=t.withModifiers(de=>S.value="client",["stop"]))},[t.createVNode(t.unref(Ne.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["size"]),t.createElementVNode("div",eG,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.client.create")),1),t.createElementVNode("div",tG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.client.create_hint")),1)])])]),key:"0"}:void 0]),1032,["disabled","items","label","loading","model-value","placeholder","onUpdate:modelValue"])):(t.openBlock(),t.createBlock(t.unref(_e.KInput),{key:0,class:"principals-client-select","data-testid":"principals-client-id-input",label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.label"):void 0,"model-value":$e??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.id_placeholder"),"onUpdate:modelValue":de=>oe(Ke,de)},null,8,["label","model-value","placeholder","onUpdate:modelValue"])),t.createElementVNode("div",nG,[t.createVNode(t.unref(_e.KInput),{class:"principals-client-secret","data-testid":"principals-client-secret",disabled:Q.value&&!w.value,label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.secret_label"):void 0,"model-value":O.value[Ke]??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.secret_placeholder"),"show-password-mask-toggle":"",type:"password","onUpdate:modelValue":de=>Pe(Ke,de)},null,8,["disabled","label","model-value","placeholder","onUpdate:modelValue"]),t.unref(l)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(l)),{key:0,schema:{model:"config-client_secret",referenceable:!0},update:de=>Pe(Ke,de),value:O.value[Ke]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("button",{"aria-label":t.unref(a)("plugins.free-form.openid-connect.principals.client.remove"),class:"remove-client-btn","data-testid":"remove-client-action",disabled:R.value,type:"button",onClick:de=>Ge(Ke)},[t.createVNode(t.unref(Ne.CloseIcon),{size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["size"])],8,rG)],2))),128)),t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",class:"add-client-inline","data-testid":"add-client-action",disabled:Q.value&&!w.value,icon:"",type:"button",onClick:Ve[7]||(Ve[7]=$e=>Ee())},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.client.add")),1)]),_:1},8,["disabled"]),t.createVNode(LC,{"data-plane-incompatible":K.value,"on-enabled-change":he},{default:t.withCtx(()=>[t.renderSlot(Be.$slots,"default",{},void 0,!0)]),_:3},8,["data-plane-incompatible"])],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(P.value,($e,Ke)=>(t.openBlock(),t.createElementBlock("div",{key:Ke,class:t.normalizeClass(["client-row",{"client-row-with-label":Ke===0}])},[t.createElementVNode("div",oG,[t.createVNode(t.unref(_e.KInput),{class:"external-client-input","data-testid":"external-client-id",label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.id_label"):void 0,"model-value":$e??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.id_placeholder"),"onUpdate:modelValue":de=>oe(Ke,de)},t.createSlots({_:2},[Ke===0&&I.value?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:I.value},null,8,iG)]),key:"0"}:void 0]),1032,["label","model-value","placeholder","onUpdate:modelValue"]),t.unref(l)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(l)),{key:0,schema:{model:"config-client_id",referenceable:!0},update:de=>oe(Ke,de),value:$e},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",aG,[t.createVNode(t.unref(_e.KInput),{class:"external-client-input","data-testid":"external-client-secret",label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.secret_label"):void 0,"model-value":O.value[Ke]??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.secret_placeholder"),"show-password-mask-toggle":"",type:"password","onUpdate:modelValue":de=>Pe(Ke,de)},t.createSlots({_:2},[Ke===0&&T.value?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:T.value},null,8,sG)]),key:"0"}:void 0]),1032,["label","model-value","placeholder","onUpdate:modelValue"]),t.unref(l)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(l)),{key:0,schema:{model:"config-client_secret",referenceable:!0},update:de=>Pe(Ke,de),value:O.value[Ke]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("button",{"aria-label":t.unref(a)("plugins.free-form.openid-connect.principals.client.remove"),class:"remove-client-btn","data-testid":"remove-external-client-action",disabled:P.value.length<=1,type:"button",onClick:de=>Ge(Ke)},[t.createVNode(t.unref(Ne.CloseIcon),{size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["size"])],8,lG)],2))),128)),t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",class:"add-client-inline","data-testid":"add-external-client-action",icon:"",type:"button",onClick:Ve[8]||(Ve[8]=$e=>Ee())},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.client.add")),1)]),_:1}),t.createVNode(Xe,{name:"config.issuer"}),t.createVNode(LC,{"data-plane-incompatible":K.value,"on-enabled-change":he},{banner:t.withCtx(()=>[j.value===void 0?(t.openBlock(),t.createBlock(t.unref(_e.KSkeleton),{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):j.value?(t.openBlock(),t.createElementBlock("div",cG,[t.createElementVNode("div",dG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.title")),1),t.createElementVNode("div",uG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.description_external")),1),t.createElementVNode("div",fG,[t.createVNode(t.unref(_e.KButton),{appearance:"primary","data-testid":"principals-create-principal",onClick:Ve[9]||(Ve[9]=$e=>S.value="principal")},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.create")),1)]),_:1}),t.createVNode(t.unref(_e.KButton),{appearance:"secondary","data-testid":"principals-learn-more",onClick:Ve[10]||(Ve[10]=$e=>Be.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.learn_more")),1)]),_:1})])])):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.renderSlot(Be.$slots,"default",{},void 0,!0)]),_:3},8,["data-plane-incompatible"])],64)),t.createVNode(t.unref(_e.KPrompt),{"action-button-text":t.unref(a)("plugins.free-form.openid-connect.principals.leave_prompt.action"),message:t.unref(a)("plugins.free-form.openid-connect.principals.leave_prompt.message"),title:t.unref(a)("plugins.free-form.openid-connect.principals.leave_prompt.title"),visible:!!S.value,onCancel:Ve[11]||(Ve[11]=$e=>S.value=null),onProceed:ve},null,8,["action-button-text","message","title","visible"])]))}}),[["__scopeId","data-v-31ec1f61"]]),gG=t.defineComponent({__name:"VerifySignatureField",props:{name:{}},setup(e){const n=e,{i18n:{t:r}}=Qe(),{value:o}=Ec(()=>n.name),i=t.computed(()=>o.value===!0?r("plugins.free-form.openid-connect.advanced_fields.verify_signature_description"):void 0);return(a,s)=>(t.openBlock(),t.createBlock(en,{description:i.value,name:e.name},null,8,["description","name"]))}}),hG={class:"oidc-tab-fields"},yG={class:"oidc-tab-header"},_G={class:"oidc-tab-header-title"},bG={class:"oidc-tab-header-description"},kG={class:"oidc-tab-fields"},wG={class:"oidc-tab-header"},CG={class:"oidc-tab-header-title"},EG={class:"oidc-tab-header-description"},NG={class:"oidc-tab-fields"},SG={class:"oidc-tab-header"},AG={class:"oidc-tab-header-title"},xG={class:"oidc-tab-header-description"},IG=Ce({experimental:!0,component:xe(t.defineComponent({__name:"OpenidConnectForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},emits:["click:learn-more","click:create-entity"],setup(e,{emit:n}){const r=[{hash:"#common",title:"Common"},{hash:"#authorization",title:"Authorization"},{hash:"#advanced",title:"Advanced"}],o=["client_id","client_secret","issuer","auth_methods","scopes_claim","scopes_required","audience_claim","audience_required","roles_claim","roles_required","groups_claim","groups_required","authenticated_groups_claim","consumer_claim","principals"],i={dependencies:{"config.token_exchange.subject_token_issuers.*.jwks_uri":["config.token_exchange.subject_token_issuers.*.verify_signature",!0],"config.cluster_cache_redis.cloud_authentication.aws_cache_name":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_region":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_is_serverless":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_access_key_id":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_secret_access_key":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_assume_role_arn":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_role_session_name":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.gcp_service_account_json":["config.cluster_cache_redis.cloud_authentication.auth_provider","gcp"],"config.cluster_cache_redis.cloud_authentication.azure_client_id":["config.cluster_cache_redis.cloud_authentication.auth_provider","azure"],"config.cluster_cache_redis.cloud_authentication.azure_client_secret":["config.cluster_cache_redis.cloud_authentication.auth_provider","azure"],"config.cluster_cache_redis.cloud_authentication.azure_tenant_id":["config.cluster_cache_redis.cloud_authentication.auth_provider","azure"],"config.cluster_cache_redis.cloud_authentication.oauth":["config.cluster_cache_redis.cloud_authentication.auth_provider","oauth"],"config.cluster_cache_redis.cloud_authentication.oauth.username":["config.cluster_cache_redis.cloud_authentication.oauth.grant_type","password"],"config.cluster_cache_redis.cloud_authentication.oauth.password":["config.cluster_cache_redis.cloud_authentication.oauth.grant_type","password"],"config.redis":["config.session_storage","redis"]},bundles:[["config.token_exchange.subject_token_issuers.*.verify_signature","config.token_exchange.subject_token_issuers.*.jwks_uri"],["config.session_storage","config.redis"]]},{i18n:{t:a}}=Qe(),s=e,l=n,c=t.useSlots();t.provide(Je.AUTOFILL_SLOT,c?.[Je.AUTOFILL_SLOT_NAME]),t.provide(Vs,t.computed(()=>s.isEditing));const d=t.inject(Je.FORMS_CONFIG),u=t.computed(()=>d?.app==="konnect"),f=dd("openid-connect"),p=t.computed(()=>f?.source==="ai-manager"),m=t.inject(Bn.KHCP_20393_IDENTITY_PRINCIPALS_UI,!1),h=t.computed(()=>!!s.schema.fields.find(S=>"config"in S)?.config?.fields?.some(S=>"principals"in S)),y=t.computed(()=>u.value&&m&&h.value),g=t.ref(null),_=/^(?:\$\.)?config\.client_jwk\.\d+\.([^.]+)$/,k={transformLabel:(w,S)=>_.exec(S)?.[1]??w},b={"config.upstream_headers":"Upstream header","config.downstream_headers":"Downstream header","config.redis.sentinel_nodes":"Sentinel node","config.redis.cluster_nodes":"Cluster node","config.cluster_cache_redis.sentinel_nodes":"Sentinel node","config.cluster_cache_redis.cluster_nodes":"Cluster node"};function N(w,S){const x=w.startsWith("$.")?w.slice(2):w;return`#${S+1} ${b[x]}`}const C=new Set(["config.unauthorized_error_message","config.forbidden_error_message","config.client_jwk.*.x5c.*"]);return t.onMounted(()=>{const w=s.model?.config,S=_4({consumer_claim:w?.consumer_claim,consumer_claims:w?.consumer_claims});S!==null&&s.onFormChange({config:{consumer_claims:S}}),p.value&&!s.isEditing&&!w?.cache_tokens_salt&&s.onFormChange({config:{cache_tokens_salt:iw(32)}})}),(w,S)=>(t.openBlock(),t.createBlock(On,t.mergeProps(s,{"form-config":k,"render-rules":i}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:x})=>x==="config.client_jwk"},{default:t.withCtx(x=>[t.createVNode(x4,t.normalizeProps(t.guardReactiveProps(x)),null,16)]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:x})=>x==="config.token_exchange.subject_token_issuers.*.verify_signature"},{default:t.withCtx(x=>[t.createVNode(gG,t.normalizeProps(t.guardReactiveProps(x)),null,16)]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:x})=>x in b},{default:t.withCtx(x=>[t.createVNode(dt,t.mergeProps(x,{appearance:"tabs","item-label":(I,T)=>N(x.name,T)}),null,16,["item-label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:x})=>t.unref(C).has(x)},{default:t.withCtx(x=>[t.createVNode(Me,t.mergeProps(x,{multiline:""}),null,16)]),_:1},8,["match"]),t.createVNode(mt,{match:({path:x})=>x==="config.cache_tokens_salt"},{default:t.withCtx(x=>[t.createVNode(Me,t.mergeProps(x,{required:p.value}),null,16,["required"])]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:x})=>x==="config.token_exchange.subject_token_issuers"},{default:t.withCtx(x=>[t.createVNode(dt,t.mergeProps(x,{appearance:"tabs","item-label":(I,T)=>`#${T+1} Issuer`}),null,16,["item-label"])]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(t.unref(_e.KTabs),{tabs:r},{"common-anchor":t.withCtx(()=>[...S[3]||(S[3]=[t.createElementVNode("span",{"data-testid":"oidc-tab-common"},"Common",-1)])]),"authorization-anchor":t.withCtx(()=>[...S[4]||(S[4]=[t.createElementVNode("span",{"data-testid":"oidc-tab-authorization"},"Authorization",-1)])]),"advanced-anchor":t.withCtx(()=>[...S[5]||(S[5]=[t.createElementVNode("span",{"data-testid":"oidc-tab-advanced"},"Advanced",-1)])]),common:t.withCtx(()=>[t.createElementVNode("div",hG,[t.createElementVNode("div",yG,[t.createVNode(t.unref(_e.KExternalLink),{href:"https://developer.konghq.com/plugins/openid-connect/reference/"},{default:t.withCtx(()=>[t.createElementVNode("span",_G,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.common.title")),1)]),_:1}),t.createElementVNode("p",bG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.common.description")),1)]),y.value?(t.openBlock(),t.createBlock(mG,{key:0,"onClick:createEntity":S[0]||(S[0]=x=>l("click:create-entity",x)),"onClick:learnMore":S[1]||(S[1]=x=>l("click:learn-more",x)),onModeChange:S[2]||(S[2]=x=>g.value=x)},{default:t.withCtx(()=>[t.createVNode(RC,{"principals-mode":g.value},null,8,["principals-mode"])]),_:1})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(Xe,{name:"config.client_id"}),t.createVNode(Xe,{name:"config.client_secret"}),t.createVNode(Xe,{name:"config.issuer"}),t.createVNode(RC,{"principals-mode":g.value},null,8,["principals-mode"])],64))])]),authorization:t.withCtx(()=>[t.createElementVNode("div",kG,[t.createElementVNode("div",wG,[t.createVNode(t.unref(_e.KExternalLink),{href:"https://developer.konghq.com/plugins/openid-connect/#authorization"},{default:t.withCtx(()=>[t.createElementVNode("span",CG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.authorization.title")),1)]),_:1}),t.createElementVNode("p",EG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.authorization.description")),1)]),t.createVNode(Xe,{name:"config.scopes_claim"}),t.createVNode(Xe,{name:"config.scopes_required"}),t.createVNode(Xe,{name:"config.audience_claim"}),t.createVNode(Xe,{name:"config.audience_required"}),t.createVNode(Xe,{name:"config.roles_claim"}),t.createVNode(Xe,{name:"config.roles_required"}),t.createVNode(Xe,{name:"config.groups_claim"}),t.createVNode(Xe,{name:"config.groups_required"}),t.createVNode(Xe,{name:"config.authenticated_groups_claim"})])]),advanced:t.withCtx(()=>[t.createElementVNode("div",NG,[t.createElementVNode("div",SG,[t.createVNode(t.unref(_e.KExternalLink),{href:"https://developer.konghq.com/plugins/openid-connect/"},{default:t.withCtx(()=>[t.createElementVNode("span",AG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.advanced.title")),1)]),_:1}),t.createElementVNode("p",xG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.advanced.description")),1)]),t.createVNode(Rt,{"as-child":"",name:"config",omit:o})])]),_:1})]),_:1},16))}}),[["__scopeId","data-v-0fee122c"]])}),vG=Ce({experimental:!0,fieldRenderers:[{match:"config.access_logs.custom_attributes_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),TG=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>["config.access.*","config.body_filter.*","config.header_filter.*","config.certificate.*","config.functions.*","config.log.*","config.rewrite.*","config.ws_handshake.*","config.ws_client_frame.*","config.ws_upstream_frame.*","config.ws_close.*"].includes(e),component:Me,propsOverrides:{multiline:!0,rows:3}}]}),BG=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>["config.access.*","config.body_filter.*","config.header_filter.*","config.certificate.*","config.functions.*","config.log.*","config.rewrite.*","config.ws_handshake.*","config.ws_client_frame.*","config.ws_upstream_frame.*","config.ws_close.*"].includes(e),component:Me,propsOverrides:{multiline:!0,rows:3}}]}),OG=Ce({experimental:!0}),PG=Ce({experimental:!0,renderRules:{bundles:[["config.strategy","config.redis"]],dependencies:{"config.redis":["config.strategy","redis"]}},fieldRenderers:[{match:({path:e})=>e==="config.methods"||e==="config.request_method",component:St,propsOverrides:{multiple:!0}}]}),VG=Ce({experimental:!0,fieldRenderers:[{match:({path:e})=>e==="config.methods"||e==="config.request_method",component:St,propsOverrides:{multiple:!0}}]}),$G={class:"rla-form-request-limits-subtitle"},RG={class:"rla-form-request-limits-content"},LG={class:"rla-form-window-type"},DG={class:"rla-form-request-limits-items"},MG={class:"rla-form-request-limits-row"},FG=["id"],jG={class:"rla-form-request-limits-actions"},UG={key:0,class:"rla-form-request-limits-examples"},KG={class:"rla-form-request-limits-examples-badges"},sg="config.window_type",qG=xe(t.defineComponent({__name:"RequestLimitsForm",setup(e){const{i18n:{t:n}}=Qe(),{formData:r,getSelectItems:o,getSchema:i,getEmptyOrDefault:a}=lt(),s=t.computed(()=>{const _=r.config?.limit?.map((k,b)=>({limit:k,windowSize:r.config?.window_size?.[b]}));return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=Nc("request-limits",s),c=_=>{if(m.value=void 0,!r.config)return;const k=a("config.limit.0"),b=a("config.window_size.0");r.config.limit?.length||(r.config.limit=[k]),r.config.window_size?.length||(r.config.window_size=[b]),r.config.limit.splice(_+1,0,k),r.config.window_size.splice(_+1,0,b)},d=_=>{r.config&&(r.config.limit.splice(_,1),r.config.window_size.splice(_,1))},u=i(sg)?.default,f=t.computed(()=>xo(r,sg)),p=t.computed(()=>o(sg).sort((_,k)=>_.value===u?-1:k.value===u?1:0)),m=t.ref(),h={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},y=t.computed(()=>Object.prototype.hasOwnProperty.call(h,f.value)?h[f.value]:[]),g=(_,k)=>{if(k===m.value){t.nextTick(()=>{m.value=void 0}),r.config.limit=[],r.config.window_size=[];return}t.nextTick(()=>{m.value=k}),r.config.limit=[_.config.limit],r.config.window_size=[_.config.window_size]};return(_,k)=>{const b=t.resolveComponent("KLabel"),N=t.resolveComponent("KButton"),C=t.resolveComponent("KBadge"),w=t.resolveComponent("KTooltip"),S=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(S,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",$G,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",RG,[t.createElementVNode("div",LG,[t.createVNode(tg,{items:p.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":k[0]||(k[0]=x=>m.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",DG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,(x,I)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(x,I)},[t.createVNode(b,{for:`rla-form-request-limits-item-${I}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:I+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",MG,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${I}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(Nt,{name:`$.config.limit.${I}`,placeholder:t.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.interval_determiner")),1),t.createVNode(Nt,{name:`$.config.window_size.${I}`,placeholder:t.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.seconds")),1)],8,FG),t.createElementVNode("div",jG,[t.createVNode(N,{appearance:"tertiary",disabled:s.value.length<=1,onClick:()=>d(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(N,{appearance:"tertiary",onClick:()=>c(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),y.value.length>0?(t.openBlock(),t.createElementBlock("div",UG,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",KG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(x,I)=>(t.openBlock(),t.createBlock(w,{key:`use-case-${I}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(x.description),1),k[1]||(k[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(x.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(x.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(C,{appearance:m.value===`${f.value}-${I}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>g(x,`${f.value}-${I}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(x.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-aa947728"]]),GG={id:"rla-form-error-legend",class:"rla-form-error-inputs"},zG=xe(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{i18n:{t:n}}=Qe();return(r,o)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{for:"rla-form-error-legend",info:t.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",GG,[t.createVNode(Nt,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),o[0]||(o[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(Me,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-7b36f1f7"]]),HG=t.defineComponent({__name:"RedisField",setup(e){const{formData:n}=lt(),r=t.inject(Je.FORMS_CONFIG),i=t.inject(oa)?.isEditing||!1,a=t.computed(()=>{if(r?.app!=="konnect")return!1;const s=r;return!!s.isKonnectManagedRedisEnabled&&s.isCloudGateway===!0});return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=i?null:void 0)}),(s,l)=>(t.openBlock(),t.createBlock(xc,null,{default:t.withCtx(()=>[t.unref(n).config?.strategy==="redis"?(t.openBlock(),t.createBlock(sd,{key:0,"is-konnect-managed-redis-enabled":a.value},null,8,["is-konnect-managed-redis-enabled"])):t.createCommentVNode("",!0)]),_:1}))}}),WG=t.defineComponent({__name:"ConfigForm",setup(e){const{getSchema:n}=lt();return(r,o)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Xe,{name:"identifier"}),t.createVNode(qG),t.createVNode(zG)]),_:1}),t.createVNode(Yo,{"hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(St,{multiple:!0,name:"config.compound_identifier"}),t.unref(n)("config.counter_key")?(t.openBlock(),t.createBlock(Xe,{key:0,name:"config.counter_key"})):t.createCommentVNode("",!0),t.createVNode(Xe,{name:"config.sync_rate"}),t.createVNode(Xe,{name:"config.namespace"}),t.createVNode(Xe,{name:"config.strategy"}),t.createVNode(HG),t.createVNode(Xe,{name:"config.dictionary_name"}),t.createVNode(Xe,{name:"config.lock_dictionary_name"}),t.createVNode(Xe,{name:"config.hide_client_headers"}),t.createVNode(Xe,{name:"config.retry_after_jitter_max"}),t.createVNode(Xe,{name:"config.header_name"}),t.createVNode(Xe,{name:"config.path"}),t.createVNode(Xe,{name:"config.throttling"}),t.createVNode(Xe,{name:"config.enforce_consumer_groups"}),t.createVNode(Xe,{name:"config.consumer_groups"}),t.createVNode(Xe,{name:"config.disable_penalty"})]),_:1})],64))}}),YG=Ce({experimental:!0,component:t.defineComponent({__name:"RateLimitingAdvancedForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);function o(i,a){i.config?.namespace===null&&delete i.config.namespace,n.onFormChange(i,a)}return(i,a)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"on-form-change":o}),{default:t.withCtx(()=>[t.createVNode(WG)]),_:1},16))}})}),JG=Ce({experimental:!0,renderRules:{bundles:[["config.policy","config.redis"]],dependencies:{"config.redis":["config.policy","redis"]}}}),XG=Ce({experimental:!0}),ZG="__request_callout_";function DC(){return ns(ZG)}const Rs="_callout_id",QG=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:r}=lt(),o=t.computed(()=>{const{callouts:s}=r.config;return s==null?[]:s.filter(({name:l})=>l&&l!==s[n.index]?.name)}),i=t.computed(()=>o.value.map(({[Rs]:s,name:l})=>({value:s,label:l}))),a=t.computed(()=>r.config.callouts[n.index]);return t.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(s=>i.value.some(l=>l.value===s))}),(s,l)=>(t.openBlock(),t.createBlock(Rt,{name:e.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(St,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(Rt,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(d=>[t.createVNode(St,t.mergeProps(d,{items:t.unref(xp)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:1},16)]),_:1},8,["name"]))}}),e6=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=lt();function r(){const o=n.config.callouts[n.config.callouts.length-1];o&&(o[Rs]=DC())}return(o,i)=>(t.openBlock(),t.createBlock(dt,{appearance:"tabs","item-label":a=>a.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:r},{item:t.withCtx(({index:a,fieldName:s})=>[t.createVNode(QG,{"field-name":s,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),t6=t.defineComponent({__name:"ConfigForm",setup(e){return(n,r)=>(t.openBlock(),t.createBlock(Rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(e6),t.createVNode(Rt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(Rt,{appearance:"card",name:"cache"},{redis:t.withCtx(o=>[t.createVNode(Rt,t.mergeProps(o,{"fields-order":["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"]}),null,16)]),_:2},1024)]),_:1}))}}),n6=Ce({component:xe(t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=Qe();function i(c,d=!1){return c.reduce((u,{[Rs]:f,name:p})=>(d?u[p]=f:u[f]=p,u),{})}function a(c){const d=es(c);if(d.config?.callouts){const{callouts:u}=d.config;u.forEach(p=>{p.request.body.custom=p.request.body.custom??{},p[Rs]=DC()});const f=i(u,!0);u.forEach(p=>{p.depends_on=p.depends_on.map(m=>f[m])})}return d}const s={hasValue:c=>!!c&&Object.keys(c).length>0,prepareFormData:a};function l(c,d){if(!c)return;const u=es(c);if(!u.config?.callouts){n.onFormChange(u,d);return}const f=i(u.config.callouts);u.config.callouts=u.config.callouts.map(p=>{const{[Rs]:m,depends_on:h,...y}=p;return{depends_on:h.map(g=>f[g]).filter(g=>g!=null),...y}}),n.onFormChange(u,d)}return(c,d)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"form-config":s,"on-form-change":l}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:u})=>u.endsWith("by_lua")},{default:t.withCtx(u=>[t.createVNode(Me,t.mergeProps(u,{autosize:"",class:"rc-code",multiline:"",placeholder:t.unref(o)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:u})=>["cluster_nodes","sentinel_nodes"].some(f=>u.endsWith(f))},{default:t.withCtx(u=>[t.createVNode(dt,t.mergeProps(u,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(t6)]),_:1},16))}}),[["__scopeId","data-v-dc955662"]])}),r6=Ce({experimental:!0}),o6=Ce({experimental:!0}),i6=Ce({experimental:!0}),a6=Ce({experimental:!0}),s6=Ce({experimental:!0,fieldRenderers:[{match:"config.parameter_schema",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Parameter schema`}},{match:"config.body_schema",component:Me,propsOverrides:{multiline:!0,rows:4}},{match:"config.parameter_schema.*.schema",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),l6=Ce({experimental:!0,renderRules:{bundles:[["config.policy","config.redis"]],dependencies:{"config.redis":["config.policy","redis"]}}}),c6=Ce({experimental:!0,fieldRenderers:[{match:({path:e,genericPath:n})=>e==="config.replace.body"||n==="config.transform.functions.*"||n.endsWith(".json.*"),component:Me,propsOverrides:{multiline:!0,rows:3}}]}),d6=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e.endsWith(".json.*"),component:Me,propsOverrides:{multiline:!0,rows:3}}]}),u6=Ce({experimental:!0,fieldRenderers:[{match:"config.rules",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Rule`}}]}),f6=Ce({experimental:!0}),p6=Ce({experimental:!0}),m6={class:"sp-form-request-limits-subtitle"},g6={class:"sp-form-request-limits-content"},h6={class:"sp-form-window-type"},y6={class:"sp-form-request-limits-items"},_6={class:"sp-form-request-limits-row"},b6=["id"],k6={class:"sp-form-request-limits-actions"},w6={key:0,class:"sp-form-request-limits-examples"},C6={class:"sp-form-request-limits-examples-badges"},lg="config.window_type",E6=xe(t.defineComponent({__name:"RequestLimitsForm",setup(e){const{t:n}=Ft.createI18n("en-us",zt),{formData:r,getSelectItems:o,getSchema:i,getEmptyOrDefault:a}=lt(),s=t.computed(()=>{const _=r.config?.limit?.map((k,b)=>({limit:k,windowSize:r.config?.window_size?.[b]}));return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=Nc("request-limits",s),c=_=>{if(m.value=void 0,!r.config)return;const k=a("config.limit.0"),b=a("config.window_size.0");r.config.limit?.length||(r.config.limit=[k]),r.config.window_size?.length||(r.config.window_size=[b]),r.config.limit.splice(_+1,0,k),r.config.window_size.splice(_+1,0,b)},d=_=>{r.config&&(r.config.limit.splice(_,1),r.config.window_size.splice(_,1))},u=i(lg)?.default,f=t.computed(()=>xo(r,lg)),p=t.computed(()=>o(lg).sort((_,k)=>_.value===u?-1:k.value===u?1:0)),m=t.ref(),h={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},y=t.computed(()=>Object.prototype.hasOwnProperty.call(h,f.value)?h[f.value]:[]),g=(_,k)=>{if(k===m.value){t.nextTick(()=>{m.value=void 0}),r.config.limit=[],r.config.window_size=[];return}t.nextTick(()=>{m.value=k}),r.config.limit=[_.config.limit],r.config.window_size=[_.config.window_size]};return(_,k)=>{const b=t.resolveComponent("KLabel"),N=t.resolveComponent("KButton"),C=t.resolveComponent("KBadge"),w=t.resolveComponent("KTooltip"),S=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(S,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",m6,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",g6,[t.createElementVNode("div",h6,[t.createVNode(tg,{items:p.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":k[0]||(k[0]=x=>m.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",y6,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,(x,I)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(x,I)},[t.createVNode(b,{for:`sp-form-request-limits-item-${I}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:I+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",_6,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${I}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Nt,{name:`$.config.limit.${I}`,placeholder:t.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.interval_determiner")),1),t.createVNode(Nt,{name:`$.config.window_size.${I}`,placeholder:t.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.seconds")),1)],8,b6),t.createElementVNode("div",k6,[t.createVNode(N,{appearance:"tertiary",disabled:s.value.length<=1,onClick:()=>d(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(N,{appearance:"tertiary",onClick:()=>c(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),y.value.length>0?(t.openBlock(),t.createElementBlock("div",w6,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",C6,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(x,I)=>(t.openBlock(),t.createBlock(w,{key:`use-case-${I}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(x.description),1),k[1]||(k[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(x.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(x.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(C,{appearance:m.value===`${f.value}-${I}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>g(x,`${f.value}-${I}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(x.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-93225268"]]),N6={id:"sp-form-error-legend",class:"sp-form-error-inputs"},S6=xe(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=Ft.createI18n("en-us",zt);return(r,o)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{for:"sp-form-error-legend",info:t.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",N6,[t.createVNode(Nt,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),o[0]||(o[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(Me,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-0796e152"]]),A6=t.defineComponent({__name:"RedisField",setup(e){const{formData:n}=lt(),r=t.inject(Je.FORMS_CONFIG),i=t.inject(oa)?.isEditing||!1,a=t.computed(()=>{if(r?.app!=="konnect")return!1;const s=r;return!!s.isKonnectManagedRedisEnabled&&s.isCloudGateway===!0});return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=i?null:void 0)}),(s,l)=>(t.openBlock(),t.createBlock(xc,null,{default:t.withCtx(()=>[t.unref(n).config?.strategy==="redis"?(t.openBlock(),t.createBlock(sd,{key:0,"is-konnect-managed-redis-enabled":a.value},null,8,["is-konnect-managed-redis-enabled"])):t.createCommentVNode("",!0)]),_:1}))}}),x6=t.defineComponent({__name:"ConfigForm",setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(E6),t.createVNode(S6)]),_:1}),t.createVNode(Yo,{"hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(Xe,{name:"config.dictionary_name"}),t.createVNode(Xe,{name:"config.lock_dictionary_name"}),t.createVNode(Xe,{name:"config.strategy"}),t.createVNode(A6),t.createVNode(Xe,{name:"config.namespace"}),t.createVNode(Xe,{name:"config.hide_client_headers"}),t.createVNode(Xe,{name:"config.disable_penalty"}),t.createVNode(Xe,{name:"config.retry_after_jitter_max"}),t.createVNode(Xe,{name:"config.sync_rate"})]),_:1})],64))}}),I6=Ce({experimental:!0,component:t.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);function o(i,a){i.config?.namespace===null&&delete i.config.namespace,n.onFormChange(i,a)}return(i,a)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"on-form-change":o}),{default:t.withCtx(()=>[t.createVNode(x6)]),_:1},16))}})}),v6=Ce({experimental:!0}),T6=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e==="config.flow.functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}}]}),B6=Ce({experimental:!0,fieldRenderers:[{match:"config.message.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),O6=Ce({experimental:!0,fieldRenderers:[{match:"config.message.functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}}]}),P6=Ce({experimental:!0}),V6=Ce({experimental:!0,fieldRenderers:[{match:"config.metrics",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Metric`}}]}),$6=Ce({experimental:!0,fieldRenderers:[{match:"config.metrics",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Metric`}}]}),R6=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),L6=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),D6=Ce({experimental:!0}),M6=Ce({experimental:!0}),F6=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),j6=Ce({experimental:!0,renderRules:{bundles:[["config.cache.strategy","config.cache.redis"]],dependencies:{"config.cache.redis":["config.cache.strategy","redis"]}},fieldRenderers:[{match:"config.behavior.idp_error_response_body_template",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),U6=Ce({experimental:!0}),K6=Ce({experimental:!0}),q6=Ce({experimental:!0}),G6=Ce({experimental:!0,fieldRenderers:[{match:({path:e})=>/^config\.(client|upstream)\.(text|binary)\.schema$/.test(e),component:Me,propsOverrides:{multiline:!0,rows:4}}]}),z6=Ce({experimental:!0}),H6=Ce({experimental:!0,fieldRenderers:[{match:"config.static_tags",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Tag`}}]}),cg=t.defineComponent({__name:"CommonForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();return t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]),(o,i)=>(t.openBlock(),t.createBlock(On,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(()=>[t.createVNode(OC)]),_:1},16))}}),W6=Object.assign({"../plugins/ace.ts":a2,"../plugins/acl/index.ts":Mj,"../plugins/acme.ts":Fj,"../plugins/ai-a2a-proxy.ts":jj,"../plugins/ai-aws-guardrails.ts":Uj,"../plugins/ai-azure-content-safety.ts":Kj,"../plugins/ai-custom-guardrail.ts":qj,"../plugins/ai-gcp-model-armor.ts":Gj,"../plugins/ai-lakera-guard.ts":zj,"../plugins/ai-llm-as-judge.ts":Hj,"../plugins/ai-mcp-oauth2.ts":Wj,"../plugins/ai-mcp-proxy/index.ts":Yj,"../plugins/ai-prompt-compressor.ts":Jj,"../plugins/ai-prompt-decorator.ts":Xj,"../plugins/ai-prompt-guard.ts":Zj,"../plugins/ai-prompt-template.ts":Qj,"../plugins/ai-proxy-advanced.ts":eU,"../plugins/ai-proxy.ts":tU,"../plugins/ai-rag-injector.ts":nU,"../plugins/ai-rate-limiting-advanced.ts":rU,"../plugins/ai-request-transformer.ts":oU,"../plugins/ai-response-transformer.ts":iU,"../plugins/ai-sanitizer.ts":aU,"../plugins/ai-semantic-cache.ts":sU,"../plugins/ai-semantic-prompt-guard.ts":lU,"../plugins/ai-semantic-response-guard.ts":cU,"../plugins/app-dynamics.ts":dU,"../plugins/application-registration.ts":uU,"../plugins/aws-lambda.ts":fU,"../plugins/azure-functions.ts":pU,"../plugins/basic-auth/index.ts":xU,"../plugins/bot-detection.ts":IU,"../plugins/canary.ts":vU,"../plugins/confluent-consume.ts":TU,"../plugins/confluent.ts":BU,"../plugins/correlation-id.ts":OU,"../plugins/cors.ts":PU,"../plugins/datadog.ts":VU,"../plugins/datakit/index.ts":a3,"../plugins/degraphql.ts":s3,"../plugins/entitlement-enforcement/index.ts":T3,"../plugins/exit-transformer.ts":B3,"../plugins/file-log.ts":O3,"../plugins/forward-proxy.ts":P3,"../plugins/graphql-proxy-cache-advanced.ts":V3,"../plugins/graphql-rate-limiting-advanced.ts":$3,"../plugins/grpc-gateway.ts":R3,"../plugins/grpc-web.ts":L3,"../plugins/header-cert-auth.ts":D3,"../plugins/hmac-auth.ts":M3,"../plugins/http-log.ts":F3,"../plugins/injection-protection.ts":j3,"../plugins/ip-restriction.ts":U3,"../plugins/jq.ts":K3,"../plugins/json-threat-protection.ts":q3,"../plugins/jwe-decrypt.ts":G3,"../plugins/jwt-signer/index.ts":z3,"../plugins/jwt.ts":H3,"../plugins/kafka-consume.ts":W3,"../plugins/kafka-log.ts":Y3,"../plugins/kafka-upstream.ts":J3,"../plugins/key-auth-enc.ts":X3,"../plugins/key-auth/index.ts":Z3,"../plugins/ldap-auth-advanced.ts":Q3,"../plugins/ldap-auth.ts":e4,"../plugins/loggly.ts":t4,"../plugins/metering-and-billing/index.ts":u4,"../plugins/mocking.ts":f4,"../plugins/mtls-auth.ts":p4,"../plugins/oas-validation.ts":m4,"../plugins/oauth2-introspection.ts":g4,"../plugins/oauth2.ts":h4,"../plugins/opa.ts":y4,"../plugins/openid-connect/index.ts":IG,"../plugins/opentelemetry.ts":vG,"../plugins/post-function.ts":TG,"../plugins/pre-function.ts":BG,"../plugins/prometheus.ts":OG,"../plugins/proxy-cache-advanced.ts":PG,"../plugins/proxy-cache.ts":VG,"../plugins/rate-limiting-advanced/index.ts":YG,"../plugins/rate-limiting.ts":JG,"../plugins/redirect.ts":XG,"../plugins/request-callout/index.ts":n6,"../plugins/request-size-limiting.ts":r6,"../plugins/request-termination.ts":o6,"../plugins/request-transformer-advanced.ts":i6,"../plugins/request-transformer.ts":a6,"../plugins/request-validator.ts":s6,"../plugins/response-ratelimiting.ts":l6,"../plugins/response-transformer-advanced.ts":c6,"../plugins/response-transformer.ts":d6,"../plugins/route-by-header.ts":u6,"../plugins/route-transformer-advanced.ts":f6,"../plugins/saml.ts":p6,"../plugins/service-protection/index.ts":I6,"../plugins/session.ts":v6,"../plugins/solace-consume.ts":T6,"../plugins/solace-log.ts":B6,"../plugins/solace-upstream.ts":O6,"../plugins/standard-webhooks.ts":P6,"../plugins/statsd-advanced.ts":V6,"../plugins/statsd.ts":$6,"../plugins/syslog.ts":R6,"../plugins/tcp-log.ts":L6,"../plugins/tls-handshake-modifier.ts":D6,"../plugins/tls-metadata-headers.ts":M6,"../plugins/udp-log.ts":F6,"../plugins/upstream-oauth.ts":j6,"../plugins/upstream-timeout.ts":U6,"../plugins/vault-auth.ts":K6,"../plugins/websocket-size-limit.ts":q6,"../plugins/websocket-validator.ts":G6,"../plugins/xml-threat-protection.ts":z6,"../plugins/zipkin.ts":H6});function Y6(e){const n=e.match(/\.\.\/plugins\/(.+?)(?:\/index)?\.ts$/);if(!n)throw new Error(`Unable to derive plugin name from path: ${e}`);const[,r]=n;return r}function J6(e){const n={},r=new Map;for(const[o,i]of Object.entries(e)){const a=Y6(o);if(r.has(a))throw new Error(`Duplicate plugin config for "${a}": ${r.get(a)} and ${o}`);r.set(a,o),n[a]={component:i.component??cg,experimental:i.experimental??!1,renderRules:i.renderRules,fieldRenderers:i.fieldRenderers??[]}}return n}const dg=J6(W6);function MC(e){return dg[e]}function FC(e,n){const r=MC(e);if(r&&!(r.experimental&&!n.includes(e)))return r.component}function jC(e,n,r){return r==="freeform"?!0:r==="vfg"?!1:!!FC(e,n)}function X6(){return Object.entries(dg).filter(([,e])=>e.experimental).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}function ug(){return t.inject(Jf,[])}function Z6(e){const n=new Set(X6()),r=e.filter(i=>n.has(i)),o=e.filter(i=>!n.has(i));return o.length>0&&console.warn(`[entities-plugins] Ignoring unknown experimental free-form plugins: ${o.join(", ")}`),r}function Q6(e){t.provide(Jf,Z6(e))}function ez(){const e=ug();return{shouldUseFreeForm:(n,r)=>jC(n,e,r),getFreeFormComponent:n=>FC(n,e)}}function UC(e){if(!e)return;if(!e.token_exchange)return e;if((Array.isArray(e.token_exchange.request?.audience)&&e.token_exchange.request.audience.length===0||e.token_exchange.request&&!e.token_exchange.request.audience)&&(e.token_exchange.request.audience=null),(Array.isArray(e.token_exchange.request?.scopes)&&e.token_exchange.request.scopes.length===0||e.token_exchange.request&&!e.token_exchange.request.scopes)&&(e.token_exchange.request.scopes=null),[{cache:{enabled:!0},request:{audience:null,scopes:null,empty_audience:!1,empty_scopes:!1},subject_token_issuers:null},{cache:{enabled:!0},request:{audience:null,scopes:null,empty_audience:!1,empty_scopes:!1}},{cache:{},request:{audience:null,scopes:null}}].some(o=>Kt(e.token_exchange,o)))return e.token_exchange=null,e;const r=e.token_exchange.subject_token_issuers;return r&&r.forEach(o=>{Kt(o.conditions,{})&&(o.conditions=null),o.conditions&&Object.values(o.conditions).every(i=>Array.isArray(i)&&i.length===0)&&(o.conditions=null)}),e}const KC=e=>{const n=e?.proof_of_possession_mtls_from_header;if(!n)return;if(!Array.isArray(n.ca_certificates)||n.ca_certificates.length===0){e.proof_of_possession_mtls_from_header=null;return}Kt(n,{allow_partial_chain:!1,cert_cache_ttl:6e4,certificate_header_format:"url_encoded",http_timeout:3e4,revocation_check_mode:"IGNORE_CA_ERROR",secure_source:!0,ssl_verify:!0})&&(e.proof_of_possession_mtls_from_header=null)},qC=e=>{const n=e?.protected_resource_metadata;if(!n)return;if(!Array.isArray(n.authorization_servers)||n.authorization_servers.length===0){e.protected_resource_metadata=null;return}if(Kt(n,{authorization_servers:null,scopes_supported:null})){e.protected_resource_metadata=null;return}},tz={shamefullyTransformPayload(e){return UC(e.payload.config),KC(e.payload.config),qC(e.payload.config),e}},nz={shamefullyTransformPayload(e){if(!e.payload.config?.access_logs?.custom_attributes_by_lua)return e;if(Kt(e.payload.config?.access_logs?.custom_attributes_by_lua,{})){const n=e.payload.config?.access_logs;n&&(n.custom_attributes_by_lua=null)}return e}},rz={shamefullyTransformPayload(e){const n=e.payload.config?.v2_strategies?.openid_connect;return Array.isArray(n)&&n.forEach(r=>{UC(r.config),KC(r.config),qC(r.config)}),e}},oz={shamefullyTransformPayload(e){return!e.payload.config||!e.payload.config?.token_exchange||[{cache:{enabled:!0,ttl:3600},client_auth:"client_secret_basic",enabled:!1,request:{actor_token_source:"none",actor_token_type:"urn:ietf:params:oauth:token-type:access_token",audience:null,requested_token_type:"urn:ietf:params:oauth:token-type:access_token",scopes:null,subject_token_type:"urn:ietf:params:oauth:token-type:access_token"}}].some(r=>Kt(e.payload.config?.token_exchange,r))&&(e.payload.config.token_exchange=null),e}},iz=(e,n)=>{const r=e.model.startsWith("config-"),o=n.model.startsWith("config-");return r&&!o?1:!r&&o?-1:0},GC=(e,n)=>(e.order??0)-(n.order??0),zC=(e,n)=>iz(e,n)||GC(e,n)||e.model.localeCompare(n.model),az=e=>{const{capitalize:n}=ue.useStringHelpers(),{convertToDotNotation:r}=Fk(),{i18n:{t:o}}=Qe(),i=ug(),a={"application-registration":{overwriteDefault:!0,formSchema:{...SR}},datadog:{...AR},"exit-transformer":{...xR},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...FR},"statsd-advanced":{...jR},"route-by-header":{...RR},"ai-prompt-decorator":{...kR},"ai-prompt-template":{...wR},"ai-proxy-advanced":{...CR},"ai-rag-injector":{...ER},"ai-llm-as-judge":{...NR},"vault-auth":{...KR},"oas-validation":{...BR},mocking:{...TR},"rate-limiting":{...wc},"rate-limiting-advanced":e?.app==="kongManager"?{"config-consumer_groups":wc["config-consumer_groups"]}:{...wc},"graphql-rate-limiting-advanced":{...IR},"injection-protection":{...vR},"response-ratelimiting":{...wc},"pre-function":{...Xk},"post-function":{...Xk},"request-transformer-advanced":{...VR},"response-transformer":{...Zk},"response-transformer-advanced":{...$R},zipkin:{...i2},"upstream-oauth":{...UR},saml:{...LR},"kafka-upstream":{...e2},"solace-consume":{...DR},"solace-upstream":{...MR},"key-auth":fR(e),"key-auth-enc":_R(e),confluent:{...t2},"confluent-consume":{...n2},"kafka-consume":{...r2},"kafka-log":{...o2},"openid-connect":{...tz},opentelemetry:{...nz},"konnect-application-auth":{...rz},"ai-mcp-oauth2":{...oz}},s=()=>["created_at","updated_at","id","_isCustomPlugin","_sourcePlugin","_supported_redis_partial_type","_redis_partial_path"],l=(w,S,x,I)=>{let T={};(S||w)&&(T=S||(w.fields?w.fields:w));const A=s().concat(w.blacklist?w.blacklist:[]),v=Object.keys(T).filter(ee=>!A.includes(ee)),P=v.indexOf("comparator");P>-1&&v.splice(P,1);let O={fields:[]};const R={};v.forEach(ee=>{d(T[ee],ee,T,R,O,x)});const Q=R.name,pe=w._sourcePlugin||Q,H=Mn[pe],j=[],D=ee=>{const K=["cluster-cache"];for(const J of K)if(ee.model.includes(J))return!1;return new RegExp("(?<=-redis-).*").test(ee.model)};if(O._supported_redis_partial_type=w._supported_redis_partial_type,O._redis_partial_path=w._redis_partial_path,Je.getSharedFormName(pe)||jC(pe,i,I)||H?.useLegacyForm||e?.credential){if(H?.useLegacyForm&&e?.enableRedisPartial&&w._supported_redis_partial_type){for(const ee of O.fields)if(D(ee)){j.push(ee);continue}O.fields=O.fields.filter(ee=>!D(ee)),j.length&&O.fields.push({id:"_redis",fields:j,model:"__redis_partial",pluginType:w._isCustomPlugin?"custom":"bundled",redisType:w._supported_redis_partial_type,redisPath:w._redis_partial_path})}O.fields.sort((ee,K)=>(ee.order=ee.order||0,K.order=K.order||0,ee.order-K.order))}else{const ee=[],K=[],J=[],ce=[],z={};if(H?.fieldRules){const Ee=[...H.fieldRules.atLeastOneOf??[],...H.fieldRules.onlyOneOf??[],...H.fieldRules.mutuallyRequired??[]];if(H.fieldRules.onlyOneOfMutuallyRequired)for(const Ge of H.fieldRules.onlyOneOfMutuallyRequired)Ee.push(...Ge);for(const Ge of Ee)for(const se of Ge)z[se.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const Ee of O.fields){if(e?.enableRedisPartial&&w._supported_redis_partial_type&&D(Ee)){ce.push(Ee);continue}if(Ee.pinned){ee.push(Ee);continue}if(Ee.required||z[Ee.model]!==void 0){z[Ee.model]===!1&&(z[Ee.model]=!0),K.push(Ee);continue}J.push(Ee)}ce.length&&J.push({id:"_redis",fields:ce,model:"__redis_partial",pluginType:w._isCustomPlugin?"custom":"bundled",redisType:w._supported_redis_partial_type,redisPath:w._redis_partial_path,order:-1});const oe=Object.entries(z).filter(([,Ee])=>!Ee).map(([Ee])=>Ee.replace(/-/g,".").replace(/_/g,"-"));oe.length>0&&console.warn(`Unknown checked fields for plugin ${Q}: ${oe.join(", ")}`);const Pe=[];ee.length>0&&Pe.push({fields:ee.sort(GC)}),(K.length>0||J.length>0)&&Pe.push({fields:K.sort(zC),collapsible:{title:o("plugins.form.grouping.plugin_configuration.title"),description:o("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:J.sort(zC),triggerLabel:{expand:o("plugins.form.grouping.advanced_parameters.view"),collapse:o("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),O={groups:Pe}}return{schema:O,model:R,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=w=>Array.isArray(w.default)||w.default!=null&&typeof w.default!="object"&&w.default!=="function",d=(w,S,x,I,T,A)=>{const v=c(w);return I[S]=v?w.default:null,w.id=S,w.model=S,w.fields&&w.type==="record"?f(w,S,x,I,T,A):(x[S]=w,N(w,I),A&&A[S]&&u(x[S],A[S]),T.fields.push(w)),x},u=(w,S)=>(S&&(Object.assign(w,S),S.label&&(w.label=S.label)),w),f=(w,S,x,I,T,A)=>{w.fields.forEach(v=>{Object.keys(v).forEach(P=>{const O=v[P];x=d(O,S+"-"+P,x,I,T,A)})})},p=(w,S)=>{w.type="input",w.inputType="hidden",w.styleClasses="kong-form-hidden-field-wrapper";const x=e?.entityId;S[w.model]=x?{id:x}:null},m=w=>{w.type="input",w.inputType="number",w.between&&w.between.length===2&&(w.min=w.between[0],w.max=w.between[1])},h=w=>{Object.prototype.hasOwnProperty.call(w,"one_of")?(w.type="select",w.values=w.one_of,w.selectOptions={hideNoneSelectedText:!0}):(w.type="input",w.inputType="text")},y=w=>{w.type="checkbox",w.default=!0,w.required=!1},g=w=>{if(w.type="object-advanced",w.values.type==="array"){const{type:S}=w.values.elements||{};w.schema={fields:[{schema:{fields:[{...ft,model:w.model,valueArrayType:S==="integer"?"number":S||"string",inputAttributes:{...ft.inputAttributes,type:S==="integer"?"number":"text",inputMode:S==="integer"?"numeric":"text"}}]}}]}}else w.values.fields&&(w.schema={fields:[{type:"object",model:"object",schema:{fields:w.values.fields.map(S=>{const x=Object.keys(S)[0];return{model:x,type:"input",label:n(x),placeholder:x,inputType:S[x].type}})}}]})},_=w=>w.fields.reduce((S,x)=>(x.fields&&x.fields.forEach(I=>{S[I.model]=I}),x.model&&(S[x.model]=x),S),{}),k=(w,S)=>{if(!Je.customFields.includes(w.model))return;const x=_(w);Je.customFields.forEach(I=>{Object.keys(x).forEach(T=>{const A=c(x[T]);S[T]=A?x[T].default:null}),delete S[I]})},b=(w,S)=>w.inputType==="hidden"?"":r(w.label||S.replace(/_/g," ")),N=(w,S)=>{switch(k(w,S),w.type){case"foreign":p(w,S);break;case"number":m(w),w.attributes={step:"any"};break;case"integer":m(w);break;case"string":h(w);break;case"boolean":y(w);break;case"map":g(w);break}w.inputType==="foreign"&&p(w,S),w.label=b(w,w.model)};function C(w,S){if(S==null||S.type&&S.type!=="record"||typeof w!="object"||w==null)return w;const x={};for(const I of S.fields){const T=Object.keys(I)[0],A=I[T];A.type==="record"?x[T]=C(w[T],A):A.type==="array"&&Array.isArray(w[T])&&A.elements.type==="record"?x[T]=w[T].map(v=>C(v,A.elements)):x[T]=w[T]}return x}return{buildFormSchema:d,parseSchema:l,customSchemas:a,typedefs:Bi,pruneRecord:C}},hd=Symbol("customPluginType"),sz=1e3,lz=20,HC=5e3,WC=(e,n=sz)=>{const r=/^[a-z][a-z\d+.-]*:/i.test(e),o=new URL(e,"http://localhost");return o.searchParams.has("size")||o.searchParams.set("size",`${n}`),r?o.toString():`${o.pathname}${o.search}${o.hash}`},yd=async(e,n,r)=>{const o=[];let i=WC(n),a=null,s=0;for(;i&&s<lz&&o.length<HC&&i!==a;){a=i;const c=(await e.get(i,{signal:r})).data;Array.isArray(c?.data)&&o.push(...c.data),i=c?.next?WC(c.next):null,s+=1}return o.slice(0,HC)};function cz(e){const{axiosInstance:n,apiBaseUrl:r}=e,o=()=>{if(e.app!=="konnect")throw new Error("Installed custom plugin APIs are only available for Konnect")},i=(g,_)=>{let k=`${r}${g}`;return e.app==="konnect"&&(k=k.replace(/{controlPlaneId}/gi,e.controlPlaneId)),k=k.replace(/{pluginId}/gi,_??"").replace(/\/{workspace}/gi,e.workspace?`/${e.workspace}`:""),k},a=async g=>{o();const _=i(nt.customPlugin.konnect.installed.edit,g),{data:k}=await n.get(_);return k},s=async g=>{o();const _=i(nt.customPlugin.konnect.installed.create),{data:k}=await n.post(_,g);return k},l=async(g,_)=>{o();const k=i(nt.customPlugin.konnect.installed.edit,g),{data:b}=await n.put(k,_);return b},c=async g=>{const _=i(nt.customPlugin[e.app].streamed.edit,g),{data:k}=await n.get(_);return k},d=async g=>{const _=i(nt.customPlugin[e.app].streamed.create),{data:k}=await n.post(_,g);return k},u=async(g,_)=>{const k=i(nt.customPlugin[e.app].streamed.edit,g),b=e.app==="konnect"?"put":"patch",{data:N}=await n[b](k,_);return N},f=async g=>{const{aliasName:_,priority:k,sourcePlugin:b}=g,N=i(nt.customPlugin[e.app].cloned.create),{data:C}=await n.post(N,{name:_,ref:b,priority:k});return C},p=async(g,_)=>{const{aliasName:k,priority:b,sourcePlugin:N}=_,C=i(nt.customPlugin[e.app].cloned.edit,g),w=e.app==="konnect"?"put":"patch",{data:S}=await n[w](C,{ref:N,priority:b,name:k});return S},m=async g=>{const _=i(nt.customPlugin[e.app].cloned.edit,g),{data:k}=await n.get(_);return k};return{getInstalledPlugin:a,createInstalledPlugin:s,updateInstalledPlugin:l,getStreamedPlugin:c,createStreamedPlugin:d,updateStreamedPlugin:u,getPluginByUnknownType:async g=>{if(e.app==="konnect")try{const _=await a(g);return Object.assign(_,{[hd]:"installed"})}catch(_){if(gi.isAxiosError(_)&&_.response?.status!==404)throw _}try{const _=await c(g);return Object.assign(_,{[hd]:"streamed"})}catch(_){if(gi.isAxiosError(_)&&_.response?.status!==404)throw _}try{const _=await m(g);return Object.assign(_,{[hd]:"cloned"})}catch(_){if(gi.isAxiosError(_)&&_.response?.status!==404)throw _}return null},getPluginType:g=>g[hd],getClonedPlugin:m,createClonedPlugin:f,updateClonedPlugin:p}}const YC={service:{entityType:"services",nameField:"name"},route:{entityType:"routes",nameField:"name"},consumer:{entityType:"consumers",nameField:"username"},consumer_group:{entityType:"consumer_groups",nameField:"name"}};function dz({config:e,axiosInstance:n,onError:r}){const o=t.ref({}),i=t.ref({}),a=(u,f)=>{let p=`${e.apiBaseUrl}${nt.form[e.app].entityGetOne}`;return e.app==="konnect"&&(p=p.replace(/{controlPlaneId}/gi,e?.controlPlaneId||"")),p.replace(/\/{workspace}/gi,e?.workspace?`/${e.workspace}`:"").replace(/{entity}/gi,u).replace(/{id}/gi,f)},s=async(u,f)=>{const{entityType:p,nameField:m}=YC[u];i.value[u]=!0;try{const{data:h}=await n.get(a(p,f));o.value[u]=h?.[m]||""}catch(h){r(h)}finally{i.value[u]=!1}};return{resolveReferenceNames:u=>{Object.keys(YC).forEach(f=>{const p=u?.[f]?.id;p&&s(f,p)})},getReferenceName:u=>o.value[u]||void 0,isReferenceNameLoading:u=>!!i.value[u]}}const it={useI18n:Qe,usePluginMetaData:Yk,usePluginHelpers:Fk,useSchemas:az,useExperimentalFreeForms:ug,useProvideExperimentalFreeForms:Q6,useFreeFormResolver:ez,useCustomPluginApi:cz,useReferenceEntityNames:dz},JC=e=>{const n=e?.response;return n?.status===400&&(n.data?.message?.includes("plugin schema is currently in use")||n.data?.code===19||n.data?.name==="referenced by others")},uz={class:"kong-ui-entities-custom-plugin-form"},fz={class:"plugin-type-radios"},pz={class:"compare-table-wrapper"},mz={class:"compare-table"},gz={key:0,scope:"col"},hz={key:1,scope:"col"},yz={key:2,scope:"col"},_z={scope:"row"},bz={key:0},kz={key:1},wz={key:2},Cz={scope:"row"},Ez={key:0},Nz={class:"compare-list"},Sz={key:1},Az={class:"compare-list"},xz={key:2},Iz={scope:"row"},vz={key:0},Tz={key:1},Bz={key:2},Oz={scope:"row"},Pz={key:0},Vz={key:1},$z={key:2},Rz={scope:"row"},Lz={key:0},Dz={key:1},Mz={key:2},Fz={class:"plugin-modules-section"},jz={class:"plugin-select-item"},Uz={class:"plugin-select-item"},Kz={key:1},qz=1*1024*1024,Gz=xe(t.defineComponent({__name:"CustomPluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!e.app||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&!e.workspace||!e.cancelRoute||!e.successRoute)},pluginName:{type:String,default:""},unsupportedTypes:{type:Array,default:()=>[]}},emits:["update","error","loading"],setup(e,{emit:n}){const r=["acl","datakit","file-log","http-log","ip-restriction","key-auth","opa","openid-connect","post-function","pre-function","request-transformer-advanced","request-transformer","response-transformer-advanced","response-transformer","route-by-header","tcp-log"],o=["installed","streamed","cloned"],i=e,a=n,{i18n:{t:s},i18nT:l}=it.useI18n(),c=Ar.useRouter(),{getMessageFromError:d}=ue.useErrors(),{axiosInstance:u}=ue.useAxios(i.config?.axiosRequestConfig),{createInstalledPlugin:f,updateInstalledPlugin:p,createStreamedPlugin:m,updateStreamedPlugin:h,getPluginType:y,getPluginByUnknownType:g,createClonedPlugin:_,updateClonedPlugin:k}=it.useCustomPluginApi({axiosInstance:u,apiBaseUrl:i.config.apiBaseUrl,controlPlaneId:i.config.controlPlaneId,app:i.config.app,workspace:i.config.workspace});t.provide(ue.PLUGIN_FORM_LAYOUT_STATE,t.ref(!0));const b=t.ref(null),N=(se,X)=>{const he=i.config.workspace??"",ve=i.config.app==="konnect"?i.config.controlPlaneId:"";return`${i.config.apiBaseUrl}${se}`.replace(/{controlPlaneId}/gi,ve).replace(/{pluginId}/gi,X??"").replace(/\/\{workspace\}/gi,he?`/${he}`:"")},C=t.computed(()=>{const se=D.fields.pluginType;if(!se)return"";const X=I.value?i.pluginName:void 0,he=X?"edit":"create";if(i.config.app==="konnect"){if(se==="installed")return N(nt.customPlugin.konnect.installed[he],X);if(se==="streamed")return N(nt.customPlugin.konnect.streamed[he],X);if(se==="cloned")return N(nt.customPlugin.konnect.cloned[he],X)}else{if(se==="streamed")return N(nt.customPlugin.kongManager.streamed[he],X);if(se==="cloned")return N(nt.customPlugin.kongManager.cloned[he],X)}return""}),w=t.computed(()=>I.value?D.fields.pluginType==="cloned"?i.config.app==="konnect"?"put":"patch":i.config.app==="kongManager"&&D.fields.pluginType==="streamed"?"patch":"put":"post"),S=t.computed(()=>{switch(D.fields.pluginType){case"installed":return ue.SupportedEntityType.PluginSchema;case"streamed":return ue.SupportedEntityType.CustomPlugin;case"cloned":return ue.SupportedEntityType.ClonedPlugin;default:return ue.SupportedEntityType.Plugin}}),x=t.computed(()=>{switch(D.fields.pluginType){case"installed":return{lua_schema:D.fields.schemaContent};case"streamed":return{name:D.fields.name,schema:D.fields.schemaContent,handler:D.fields.handlerContent};case"cloned":return{ref:D.fields.sourcePlugin,name:D.fields.aliasName,...D.fields.priority?{priority:parseInt(D.fields.priority,10)}:{}};default:return{}}}),I=t.computed(()=>!!i.pluginName),T=t.ref(!1),A=t.ref(""),v=t.computed(()=>new Set(i.unsupportedTypes)),P=t.computed(()=>o.filter(se=>!v.value.has(se))),O=t.computed(()=>!I.value&&P.value.length===0),R=t.computed(()=>!I.value&&P.value.length>1),Q=()=>P.value[0]??null,pe=se=>P.value.includes(se),H=se=>{if(I.value||!R.value){const X=se-1;return(D.fields.pluginType==="installed"?1:2)>1?X:void 0}return se},j=t.ref(!0),D=t.reactive({fields:{pluginType:Q(),schemaContent:"",handlerContent:"",name:"",sourcePlugin:"",aliasName:"",priority:""},readonly:!1,errorMessage:""});let ee="";t.watch(P,se=>{I.value||(!D.fields.pluginType||!se.includes(D.fields.pluginType))&&(D.fields.pluginType=se[0]??null)},{immediate:!0}),t.watch(()=>D.fields.pluginType,()=>{I.value||(D.fields.schemaContent="",D.fields.handlerContent="",D.fields.name="",D.fields.sourcePlugin="",D.fields.aliasName="",D.fields.priority="")});const{getDisplayName:K}=Yk(),J=t.computed(()=>{const se=i.config?.clonablePlugins??r;if(se.length===0)return[];const X={};se.forEach(ve=>{const qe=Mn[ve]?.group;qe?(X[qe]||(X[qe]=[]),X[qe].push({label:K(ve),value:ve})):console.warn(`Plugin ${ve} is missing metadata group and will be shown without grouping.`)});const he=[];return Object.keys(X).sort().forEach(ve=>{he.push({label:ve,items:X[ve]})}),he}),ce=t.computed(()=>{if(O.value||!D.fields.pluginType)return!1;switch(D.fields.pluginType){case"installed":return D.fields.schemaContent.length>0;case"streamed":return D.fields.schemaContent.length>0&&D.fields.handlerContent.length>0&&D.fields.name.trim().length>0;case"cloned":return!!D.fields.sourcePlugin&&D.fields.aliasName.trim().length>0;default:return!1}}),z=se=>new Promise((X,he)=>{const ve=new FileReader;ve.onload=je=>{const qe=je.target?.result;typeof qe=="string"?X(qe):he(new Error("Failed to read file as text"))},ve.onerror=he,ve.readAsText(se)}),oe=async(se,X)=>{const he=X[0];if(he){if(he.size>qz){D.errorMessage=s("custom_plugin_form.errors.file_too_large");return}try{const ve=await z(he);se==="schema"?D.fields.schemaContent=ve:D.fields.handlerContent=ve}catch{D.errorMessage=s("custom_plugin_form.errors.file_read_error"),se==="schema"?D.fields.schemaContent="":D.fields.handlerContent=""}}},Pe=se=>{se==="schema"?D.fields.schemaContent="":D.fields.handlerContent=""},Ee=()=>{c.push(i.config.cancelRoute)};t.onMounted(async()=>{if(i.pluginName){T.value=!0,a("loading",!0);try{const se=await g(i.pluginName);if(!se){A.value=s("custom_plugin_form.errors.plugin_not_found"),a("error",new Error(A.value));return}const X=y(se);if(D.fields.pluginType=X,X==="installed")D.fields.schemaContent=se.item.lua_schema;else if(X==="streamed"){const{name:he,schema:ve,handler:je}=se;D.fields.name=he,D.fields.schemaContent=ve,D.fields.handlerContent=je}else if(X==="cloned"){const{ref:he,name:ve,priority:je}=se;D.fields.aliasName=ve,D.fields.sourcePlugin=he,D.fields.priority=je!==null?String(je):"",ee=ve}else A.value=s("custom_plugin_form.errors.unsupported_plugin_type",{type:X}),a("error",new Error(A.value))}catch(se){A.value=d(se),a("error",se)}finally{T.value=!1,a("loading",!1)}}});const Ge=async()=>{D.errorMessage="",D.readonly=!0;try{const se=D.fields.pluginType;if(!se)return;if(se==="installed"){const X={lua_schema:D.fields.schemaContent},he=I.value?await p(i.pluginName,X):await f(X);a("update",he)}else if(se==="streamed"){const X={name:D.fields.name,schema:D.fields.schemaContent,handler:D.fields.handlerContent},he=I.value?await h(i.pluginName,X):await m(X);a("update",he)}else{const X=I.value?await k(ee,{aliasName:D.fields.aliasName,sourcePlugin:D.fields.sourcePlugin,priority:D.fields.priority?parseInt(D.fields.priority,10):void 0}):await _({aliasName:D.fields.aliasName,sourcePlugin:D.fields.sourcePlugin,priority:D.fields.priority?parseInt(D.fields.priority,10):void 0});a("update",{pluginType:"cloned",sourcePlugin:X.ref,aliasName:X.name,priority:X.priority??void 0})}c.push(i.config.successRoute)}catch(se){D.errorMessage=JC(se)?s("delete.plugin_schema_in_use_message"):d(se),a("error",se)}finally{D.readonly=!1}};return(se,X)=>{const he=t.resolveComponent("KSkeleton"),ve=t.resolveComponent("KEmptyState"),je=t.resolveComponent("KRadio"),qe=t.resolveComponent("KCollapse"),Be=t.resolveComponent("KFileUpload"),Ve=t.resolveComponent("KLabel"),$e=t.resolveComponent("KAlert"),Ke=t.resolveComponent("KSelect"),de=t.resolveComponent("KInput"),Z=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",uz,[t.createVNode(t.unref(ue.EntityBaseForm),{ref_key:"entityBaseFormRef",ref:b,"can-submit":ce.value,config:e.config,"entity-type":t.unref(ue.SupportedEntityType).Plugin,"error-message":D.errorMessage,"form-fields":x.value,"is-readonly":D.readonly,"slideout-deck-entity-type":S.value,"slideout-fetch-url":C.value,"slideout-request-method":w.value,onCancel:Ee,onSubmit:Ge},{"form-actions":t.withCtx(()=>[T.value||A.value||O.value?(t.openBlock(),t.createElementBlock("span",Kz)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(Z,{appearance:"primary","data-testid":"custom-plugin-form-submit",disabled:!ce.value||D.readonly,type:"submit"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.save")),1)]),_:1},8,["disabled"]),t.createVNode(Z,{appearance:"secondary","data-testid":"custom-plugin-form-cancel",disabled:D.readonly,onClick:Ee},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.cancel")),1)]),_:1},8,["disabled"]),t.createVNode(Z,{appearance:"tertiary","data-testid":"custom-plugin-form-view-configuration",onClick:X[14]||(X[14]=U=>b.value?.viewConfig())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.view_configuration")),1)]),_:1})],64))]),default:t.withCtx(()=>[T.value?(t.openBlock(),t.createBlock(he,{key:0,type:"form"})):A.value?(t.openBlock(),t.createBlock(ve,{key:1,"action-button-visible":!1,"data-testid":"custom-plugin-form-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(A.value),1)]),_:1})):O.value?(t.openBlock(),t.createBlock(ve,{key:2,"action-button-visible":!1,"data-testid":"custom-plugin-form-unsupported-types-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(s)("custom_plugin_form.errors.no_supported_types")),1)]),_:1})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[R.value?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:0,class:"custom-plugin-form-steps",step:1,title:t.unref(s)("custom_plugin_form.step1.title")},{default:t.withCtx(()=>[t.createElementVNode("div",fz,[pe("installed")?(t.openBlock(),t.createBlock(je,{key:0,modelValue:D.fields.pluginType,"onUpdate:modelValue":X[0]||(X[0]=U=>D.fields.pluginType=U),card:"","card-orientation":"horizontal","data-testid":"custom-plugin-type-installed",description:t.unref(s)("custom_plugin_form.step1.types.installed.description"),label:t.unref(s)("custom_plugin_form.step1.types.installed.label"),"selected-value":"installed"},null,8,["modelValue","description","label"])):t.createCommentVNode("",!0),pe("streamed")?(t.openBlock(),t.createBlock(je,{key:1,modelValue:D.fields.pluginType,"onUpdate:modelValue":X[1]||(X[1]=U=>D.fields.pluginType=U),card:"","card-orientation":"horizontal","data-testid":"custom-plugin-type-streamed",description:t.unref(s)("custom_plugin_form.step1.types.streamed.description"),label:t.unref(s)("custom_plugin_form.step1.types.streamed.label"),"selected-value":"streamed"},null,8,["modelValue","description","label"])):t.createCommentVNode("",!0),pe("cloned")?(t.openBlock(),t.createBlock(je,{key:2,modelValue:D.fields.pluginType,"onUpdate:modelValue":X[2]||(X[2]=U=>D.fields.pluginType=U),card:"","card-orientation":"horizontal","data-testid":"custom-plugin-type-cloned",description:t.unref(s)("custom_plugin_form.step1.types.cloned.description"),label:t.unref(s)("custom_plugin_form.step1.types.cloned.label"),"selected-value":"cloned"},null,8,["modelValue","description","label"])):t.createCommentVNode("",!0)]),t.createVNode(qe,{modelValue:j.value,"onUpdate:modelValue":X[3]||(X[3]=U=>j.value=U),class:"custom-plugin-form-compare-collapse","data-testid":"compare-deployment-options","trigger-alignment":"leading","trigger-label":t.unref(s)("custom_plugin_form.step1.compare_trigger")},{default:t.withCtx(()=>[t.createElementVNode("div",pz,[t.createElementVNode("table",mz,[t.createElementVNode("thead",null,[t.createElementVNode("tr",null,[X[15]||(X[15]=t.createElementVNode("th",{scope:"col"},null,-1)),pe("installed")?(t.openBlock(),t.createElementBlock("th",gz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.installed")),1)):t.createCommentVNode("",!0),pe("streamed")?(t.openBlock(),t.createElementBlock("th",hz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.streamed")),1)):t.createCommentVNode("",!0),pe("cloned")?(t.openBlock(),t.createElementBlock("th",yz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.cloned")),1)):t.createCommentVNode("",!0)])]),t.createElementVNode("tbody",null,[t.createElementVNode("tr",null,[t.createElementVNode("th",_z,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.header")),1),pe("installed")?(t.openBlock(),t.createElementBlock("td",bz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.installed")),1)):t.createCommentVNode("",!0),pe("streamed")?(t.openBlock(),t.createElementBlock("td",kz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.streamed")),1)):t.createCommentVNode("",!0),pe("cloned")?(t.openBlock(),t.createElementBlock("td",wz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.cloned")),1)):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",Cz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.header")),1),pe("installed")?(t.openBlock(),t.createElementBlock("td",Ez,[t.createElementVNode("ul",Nz,[t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.installed.handler")),1),t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.installed.schema")),1),t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.installed.additional")),1)])])):t.createCommentVNode("",!0),pe("streamed")?(t.openBlock(),t.createElementBlock("td",Sz,[t.createElementVNode("ul",Az,[t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.streamed.handler")),1),t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.streamed.schema")),1)])])):t.createCommentVNode("",!0),pe("cloned")?(t.openBlock(),t.createElementBlock("td",xz,[t.createVNode(t.unref(Ne.ClearIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",Iz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.header")),1),pe("installed")?(t.openBlock(),t.createElementBlock("td",vz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.installed")),1)):t.createCommentVNode("",!0),pe("streamed")?(t.openBlock(),t.createElementBlock("td",Tz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.streamed")),1)):t.createCommentVNode("",!0),pe("cloned")?(t.openBlock(),t.createElementBlock("td",Bz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.cloned")),1)):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",Oz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.sandboxing.header")),1),pe("installed")?(t.openBlock(),t.createElementBlock("td",Pz,[t.createVNode(t.unref(Ne.ClearIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0),pe("streamed")?(t.openBlock(),t.createElementBlock("td",Vz,[t.createVNode(t.unref(l),{keypath:"custom_plugin_form.step1.compare_table.rows.sandboxing.streamed"},{link:t.withCtx(()=>[t.createVNode(t.unref(_e.KExternalLink),{"hide-icon":"",href:t.unref(ra).customPluginSandboxing},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.sandboxing.streamed_link")),1)]),_:1},8,["href"])]),_:1})])):t.createCommentVNode("",!0),pe("cloned")?(t.openBlock(),t.createElementBlock("td",$z,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.sandboxing.cloned")),1)):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",Rz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.data_plane_reload.header")),1),pe("installed")?(t.openBlock(),t.createElementBlock("td",Lz,[t.createVNode(t.unref(Ne.CheckCircleIcon),{color:`var(--kui-color-text-success, ${t.unref(qy)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0),pe("streamed")?(t.openBlock(),t.createElementBlock("td",Dz,[t.createVNode(t.unref(Ne.ClearIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0),pe("cloned")?(t.openBlock(),t.createElementBlock("td",Mz,[t.createVNode(t.unref(Ne.ClearIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0)])])])])]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["title"])):t.createCommentVNode("",!0),D.fields.pluginType==="installed"?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:1,class:"custom-plugin-form-steps",step:H(2),title:t.unref(s)("custom_plugin_form.step2_files.title")},{default:t.withCtx(()=>[t.createVNode(Be,{accept:[".lua"],"button-text":t.unref(s)("custom_plugin_form.step2_files.schema_file.button_text"),"data-testid":"custom-plugin-schema-upload",help:t.unref(s)("custom_plugin_form.step2_files.schema_file.help"),label:t.unref(s)("custom_plugin_form.step2_files.schema_file.label"),placeholder:I.value&&D.fields.schemaContent?t.unref(s)("custom_plugin_form.step2_files.schema_file.placeholder_edit"):t.unref(s)("custom_plugin_form.step2_files.schema_file.placeholder"),required:!I.value,onFileAdded:X[4]||(X[4]=U=>oe("schema",U)),onFileRemoved:X[5]||(X[5]=U=>Pe("schema"))},null,8,["button-text","help","label","placeholder","required"]),t.createElementVNode("div",Fz,[t.createVNode(Ve,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("custom_plugin_form.step2_files.plugin_modules.label")),1)]),_:1}),t.createVNode($e,{appearance:"warning",message:t.unref(s)("custom_plugin_form.step2_files.plugin_modules.alert")},null,8,["message"])])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),D.fields.pluginType==="streamed"?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:2,class:"custom-plugin-form-steps",step:H(2),title:t.unref(s)("custom_plugin_form.step2_files.title")},{default:t.withCtx(()=>[t.createVNode(Be,{accept:[".lua"],"button-text":t.unref(s)("custom_plugin_form.step2_files.schema_file.button_text"),"data-testid":"custom-plugin-schema-upload",help:t.unref(s)("custom_plugin_form.step2_files.schema_file.help"),label:t.unref(s)("custom_plugin_form.step2_files.schema_file.label"),placeholder:I.value&&D.fields.schemaContent?t.unref(s)("custom_plugin_form.step2_files.schema_file.placeholder_edit"):t.unref(s)("custom_plugin_form.step2_files.schema_file.placeholder"),required:!I.value,onFileAdded:X[6]||(X[6]=U=>oe("schema",U)),onFileRemoved:X[7]||(X[7]=U=>Pe("schema"))},null,8,["button-text","help","label","placeholder","required"]),t.createVNode(Be,{accept:[".lua"],"button-text":t.unref(s)("custom_plugin_form.step2_files.handler_file.button_text"),"data-testid":"custom-plugin-handler-upload",help:t.unref(s)("custom_plugin_form.step2_files.handler_file.help"),label:t.unref(s)("custom_plugin_form.step2_files.handler_file.label"),placeholder:I.value&&D.fields.handlerContent?t.unref(s)("custom_plugin_form.step2_files.handler_file.placeholder_edit"):t.unref(s)("custom_plugin_form.step2_files.handler_file.placeholder"),required:!I.value,onFileAdded:X[8]||(X[8]=U=>oe("handler",U)),onFileRemoved:X[9]||(X[9]=U=>Pe("handler"))},null,8,["button-text","help","label","placeholder","required"])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),D.fields.pluginType==="cloned"?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:3,class:"custom-plugin-form-steps",step:H(2),title:t.unref(s)("custom_plugin_form.step2_clone.title")},{default:t.withCtx(()=>[t.createVNode(Ke,{modelValue:D.fields.sourcePlugin,"onUpdate:modelValue":X[10]||(X[10]=U=>D.fields.sourcePlugin=U),"data-testid":"custom-plugin-clone-select","enable-filtering":"",items:J.value,label:t.unref(s)("custom_plugin_form.step2_clone.select_plugin.label"),placeholder:t.unref(s)("custom_plugin_form.step2_clone.select_plugin.placeholder"),required:""},{"item-template":t.withCtx(({item:U})=>[t.createElementVNode("div",jz,[t.createVNode(t.unref(Sr.PluginIcon),{name:String(U.value),size:20},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(U.label),1)])]),"selected-item-template":t.withCtx(({item:U})=>[t.createElementVNode("div",Uz,[t.createVNode(t.unref(Sr.PluginIcon),{name:String(U.value),size:20},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(U.label),1)])]),_:1},8,["modelValue","items","label","placeholder"])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),D.fields.pluginType==="streamed"?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:4,class:"custom-plugin-form-steps",description:t.unref(s)("custom_plugin_form.step3.description"),step:H(3),title:t.unref(s)("custom_plugin_form.step3.title")},{default:t.withCtx(()=>[t.createVNode(de,{modelValue:D.fields.name,"onUpdate:modelValue":X[11]||(X[11]=U=>D.fields.name=U),modelModifiers:{trim:!0},"data-testid":"custom-plugin-name",help:t.unref(s)("custom_plugin_form.step3.name.help"),label:t.unref(s)("custom_plugin_form.step3.name.label"),placeholder:t.unref(s)("custom_plugin_form.step3.name.placeholder"),readonly:D.readonly,required:"",type:"text"},null,8,["modelValue","help","label","placeholder","readonly"])]),_:1},8,["description","step","title"])):t.createCommentVNode("",!0),D.fields.pluginType==="cloned"?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:5,class:"custom-plugin-form-steps",description:t.unref(s)("custom_plugin_form.step3.description"),step:H(3),title:t.unref(s)("custom_plugin_form.step3.title")},{default:t.withCtx(()=>[t.createVNode(de,{modelValue:D.fields.aliasName,"onUpdate:modelValue":X[12]||(X[12]=U=>D.fields.aliasName=U),modelModifiers:{trim:!0},"data-testid":"custom-plugin-alias-name",help:t.unref(s)("custom_plugin_form.step3.alias_name.help"),label:t.unref(s)("custom_plugin_form.step3.alias_name.label"),placeholder:t.unref(s)("custom_plugin_form.step3.alias_name.placeholder"),readonly:D.readonly,required:"",type:"text"},null,8,["modelValue","help","label","placeholder","readonly"]),t.createVNode(de,{modelValue:D.fields.priority,"onUpdate:modelValue":X[13]||(X[13]=U=>D.fields.priority=U),modelModifiers:{trim:!0},"data-testid":"custom-plugin-priority",label:t.unref(s)("custom_plugin_form.step3.priority.label"),"label-attributes":{info:t.unref(s)("custom_plugin_form.step3.priority.tooltip")},readonly:D.readonly,type:"number"},{help:t.withCtx(()=>[t.createVNode(t.unref(l),{keypath:"custom_plugin_form.step3.priority.help.text"},{link:t.withCtx(()=>[t.createVNode(t.unref(_e.KExternalLink),{"hide-icon":"",href:t.unref(ra).pluginPriority},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("custom_plugin_form.step3.priority.help.link")),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["modelValue","label","label-attributes","readonly"])]),_:1},8,["description","step","title"])):t.createCommentVNode("",!0)],64))]),_:1},8,["can-submit","config","entity-type","error-message","form-fields","is-readonly","slideout-deck-entity-type","slideout-fetch-url","slideout-request-method"])])}}}),[["__scopeId","data-v-0c1e017a"]]),zz=(e,n)=>({type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label",items:{type:"select",values:e,selectOptions:{hideNoneSelectedText:!0},...n?.[0]!=null?{default:n[0]}:{}}}),Hz={class:"referable-field-item"},Wz=24,XC=xe(t.defineComponent({__name:"ReferableFieldItem",props:{field:{},isLast:{type:Boolean}},setup(e){const n=e,{formatPluginFieldLabel:r}=it.usePluginHelpers(),o=t.computed(()=>n.field.replace(/\./g,"-")),i=t.computed(()=>n.field.replace(/^[cC]onfig\./,"").split(".").map(s=>r(s)).join(".")),a=()=>{if(!o.value)return;const s=`label[for="${o.value}"]`,l=document.querySelector(s)||document.getElementById(o.value);if(!l)return;const c=Math.max(0,l.getBoundingClientRect().top+window.scrollY-Wz),d=()=>{l.click?.()};window.addEventListener("scrollend",d,{once:!0}),window.scrollTo({top:c,behavior:"smooth"})};return(s,l)=>(t.openBlock(),t.createElementBlock("span",Hz,[t.createElementVNode("span",{class:"referable-field-link",role:"button",tabindex:"0",onClick:a},t.toDisplayString(i.value),1),e.isLast?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(", ")],64))]))}}),[["__scopeId","data-v-949a9ea1"]]),Yz={key:0},Jz=xe(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{i18n:{t:r},i18nT:o}=it.useI18n(),i=t.computed(()=>{const a=[];if(n.rules.atLeastOneOf)for(const s of n.rules.atLeastOneOf)a.push({key:"plugins.form.field_rules.at_least_one_of",fields:s});if(n.rules.onlyOneOf)for(const s of n.rules.onlyOneOf)a.push({key:"plugins.form.field_rules.only_one_of",fields:s});if(n.rules.mutuallyRequired)for(const s of n.rules.mutuallyRequired)a.push({key:"plugins.form.field_rules.mutually_required",fields:s});return a});return(a,s)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(l,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.value,({key:c,fields:d},u)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${u}`},[t.createVNode(t.unref(o),{keypath:c},{parameters:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d,(f,p)=>(t.openBlock(),t.createBlock(XC,{key:`alert-field-${f}`,field:f,"is-last":p===d.length-1},null,8,["field","is-last"]))),128))]),_:2},1032,["keypath"])]))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Yz,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(c,d)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${d}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c,(u,f)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${d}-combination-${f}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(p,m)=>(t.openBlock(),t.createBlock(XC,{key:`only-one-mutually-field-${p}`,field:p,"is-last":m===u.length-1},null,8,["field","is-last"]))),128))]))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-5f9ff453"]]);function Xz(e){if(e.length===0)return"";if(e.length===1){const i=yn(e[0]);return yt(...i.slice(0,-1))}const n=e.map(i=>yn(i)),r=Math.min(...n.map(i=>i.length)),o=[];for(let i=0;i<r-1;i++){const a=n[0][i];if(n.every(s=>s[i]===a))o.push(a);else break}return yt(...o)}function fg(e){return"at_least_one_of"in e?e.at_least_one_of:"mutually_required"in e?e.mutually_required:"mutually_exclusive"in e?e.mutually_exclusive:null}function Zz(e,n){if(!n)return e;const r=n+ps;return e.map(o=>o.startsWith(r)?o.slice(r.length):o)}function Qz(e,n){const r=fg(e),o=Zz(r,n);return"at_least_one_of"in e?{at_least_one_of:o}:"mutually_required"in e?{mutually_required:o}:{mutually_exclusive:o}}function e5(e){const n=[],r=new Map;for(const o of e){const i=fg(o);if(!i){n.push(o);continue}const a=Xz(i);if(!a){n.push(o);continue}const s=Qz(o,a);r.has(a)||r.set(a,[]),r.get(a).push(s)}return{keep:n,move:r}}function t5(e,n,r){const o=yn(n);let i=e;for(const a of o){const s=i.fields.find(c=>Object.keys(c)[0]===a);if(!s)return;const l=s[a];if(l.type!=="record")return;i=l}i.entity_checks=[...i.entity_checks||[],...r]}function ZC(e){if(e.entity_checks?.length){const{keep:n,move:r}=e5(e.entity_checks);e.entity_checks=n.length?n:void 0;for(const[o,i]of r)t5(e,o,i)}for(const n of e.fields){const r=Object.values(n)[0];r.type==="record"&&ZC(r)}}function n5(e){const n=JSON.parse(JSON.stringify(e)),r={fields:n.fields};return ZC(r),n.fields=r.fields,n}function r5(e,n){const r=Mn[e];if(!r||!r.fieldRules)return n;const o=o5(r.fieldRules),i={...n};return i.fields=i.fields.map(a=>{if(Object.keys(a)[0]==="config"){const l=a.config.entity_checks||[],c=f=>{const m=[...fg(f)??[]].slice().sort();return`${Object.keys(f)[0]}:${m.join(",")}`},d=new Set(l.map(c)),u=o.filter(f=>{const p=c(f);return d.has(p)?!1:(d.add(p),!0)});return{config:{...a.config,entity_checks:[...l,...u]}}}return a}),i}function o5(e){const n=[],r=o=>o.startsWith("config.")?o.substring(7):o;return e.atLeastOneOf&&e.atLeastOneOf.forEach(o=>{n.push({at_least_one_of:o.map(r)})}),e.onlyOneOf&&e.onlyOneOf.forEach(o=>{n.push({mutually_exclusive:o.map(r)})}),e.mutuallyRequired&&e.mutuallyRequired.forEach(o=>{n.push({mutually_required:o.map(r)})}),e.onlyOneOfMutuallyRequired&&e.onlyOneOfMutuallyRequired.forEach(o=>{if(o.forEach(i=>{n.push({mutually_required:i.map(r)})}),o.length>1)for(let i=0;i<o.length;i++)for(let a=i+1;a<o.length;a++){const s=o[i].map(r),l=o[a].map(r);s.forEach(c=>{l.forEach(d=>{n.push({mutually_exclusive:[c,d]})})})}}),n}const i5={class:"kong-ui-entities-plugin-form"},a5={key:1,class:"entity-form"},s5={class:"plugin-config-empty-state"},l5=xe(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1,default:void 0},developer:{type:Boolean,default:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","click:learn-more","click:create-entity","validity-change"],setup(e,{emit:n}){const r=n,o=e,i=t.computed(()=>{if(o.config.app!=="konnect")return!1;const de=o.config;return!!de.isKonnectManagedRedisEnabled&&de.isCloudGateway===!0}),a=t.inject(Bn.KM_2306_CONDITION_FIELD_314,!1),s=t.inject(Bn.KHCP_20393_IDENTITY_PRINCIPALS_UI,!1),{axiosInstance:l}=ue.useAxios(o.config?.axiosRequestConfig),{parseSchema:c}=it.useSchemas({entityId:o.entityMap.focusedEntity?.id||void 0,credential:o.credential,enableRedisPartial:o.enableRedisPartial,experimentalRenders:o.config.app==="konnect"?o.config.experimentalRenders:void 0}),{convertToDotNotation:d,unFlattenObject:u,dismissField:f,isObjectEmpty:p,unsetNullForeignKey:m}=it.usePluginHelpers(),{shouldUseFreeForm:h,getFreeFormComponent:y}=it.useFreeFormResolver(),g=t.inject(ue.PLUGIN_FORM_LAYOUT_STATE),_=de=>{g&&(g.value=de)},{objectsAreEqual:k}=ue.useHelpers(),{i18n:{t:b}}=Qe(),N=de=>{let Z=de;return o.config.app==="konnect"&&(Z=Z.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||"")),Z.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")},C=(de,Z)=>{let U=`${o.config.apiBaseUrl}${nt.form[o.config.app].entityGetOne}`;return U=N(U),U=U.replace(/{entity}/gi,de),U=U.replace(/{id}/gi,Z),U},w=de=>{let Z=`${o.config.apiBaseUrl}${nt.form[o.config.app].entityGetAll}`;return Z=N(Z),Z=Z.replace(/{entity}/gi,de),Z},S=(de,Z,U)=>{const ne=C(de,Z);return l.get(ne,U)},x=(de,Z)=>{const U=w(de);return o.config.app==="konnect"?l.get(U).then(ne=>{const{data:{data:L}}=ne;if(delete Z.size,delete Z.offset,L.length&&Object.keys(Z).length===1){const M=Object.keys(Z)[0],Y=L.filter(ae=>ae[M]?!!ae[M].toLowerCase().includes(Z[M].toLowerCase()):!1);ne.data.data=Y}return ne}):l.get(U,{params:Z})},I=(de,Z,U)=>{const ne=w(de);if(o.config.app==="konnect"){const{size:L,offset:M,...Y}=Z;if(de==="consumer_groups")return l.get(ne,{params:{size:1e3},signal:U}).then(me=>{const{data:{data:Ae}}=me;if(Ae.length&&Object.keys(Y).length===1){const ze=Object.keys(Y)[0],ot=Ae.filter(F=>F[ze]?!!F[ze].toLowerCase().includes(Y[ze].toLowerCase()):!1);me.data.data=ot}return me});const ae={size:L,offset:M};for(const me of Object.keys(Y))ae.filter={[me]:{contains:Y[me]}};return l.get(ne,{params:ae,signal:U})}return l.get(ne,{params:Z,signal:U})},T=(de,Z=50)=>{const U=w(de);return l.get(U,{params:{size:Z}})};t.provide(Je.FORMS_API_KEY,{getOne:S,getAll:x,getAllV2:I,peek:T});const A=t.shallowReactive({...o.config});t.watch(()=>o.config,de=>{Object.assign(A,de)}),t.provide(Je.FORMS_CONFIG,A);const v=Ql();t.provide(Je.REDIS_CREATE_SLIDEOUT,{component:t.markRaw(mf.RedisConfigurationFormSlideout),toast:de=>v(de)});const P=t.ref(""),O=t.ref(),R=t.shallowRef(),Q=t.ref(null),pe=t.ref({}),H=t.reactive({}),j=t.reactive({}),D=t.computed(()=>Q.value?.options),ee=t.computed(()=>{const de=r5(j.name,o.rawSchema);return n5(de)}),K=t.ref(!1),J=t.ref(),ce=(de,Z)=>{K.value=de??"",J.value=Z},z=de=>{J.value?.(de),K.value=!1},oe=de=>{if(!de){O.value=void 0,R.value=void 0,P.value="",_(!1);return}const Z=o.schema?._sourcePlugin||de;O.value=MC(Z),R.value=h(Z,o.engine)?y(Z)??cg:void 0,P.value=Je.getSharedFormName(Z),_(!!R.value)},Pe=de=>{const Z={...o.schema},U=j,ne=H,L=Object.keys(U),M={};if(!p(pe.value))for(let ae=0;ae<pe.value?.fields?.length;ae++)Z[pe.value.fields[ae].model]=pe.value.fields[ae];Je.customFields.forEach(ae=>{Z[ae]&&(Z[ae].fields.forEach(me=>{me.fields&&me.fields.forEach(Ae=>{Z[Ae.model]=Ae}),me.model&&(Z[me.model]=me)}),delete Z[ae])}),L.forEach(ae=>{if(!Z[ae]){ae==="partials"&&(M[ae]=U[ae]);return}const me=Z[ae];let Ae=U[ae];const ze=ne[ae],ot=Array.isArray(Ae)?"array":typeof Ae,F=me?me.valueType:null,te=me?me.valueArrayType:null,G=me?me.transform:null;if(Ae==null&&ze==null&&!me.submitWhenNull)return;if(me){if(F&&ot!==F)switch(F){case"array":ot==="string"&&Ae.length&&(Ae=Ae.split(",").map(Ie=>{if(Ie=Ie.trim(),te==="string")return String(Ie);if(te==="number")return Number(Ie);if(te==="boolean"){if(typeof Ie=="string")return Ie.toLowerCase()==="true"||Ie==="1";if(typeof Ie=="number")return Ie===1}return Ie})),(!Ae||!Ae.length)&&(Ae=me.submitWhenNull?null:[]);break;case"number":me.referenceable!==!0&&(Ae=Number(Ae));break;case"boolean":ot==="string"&&(Ae=Ae.toLowerCase()==="true"||Ae==="1"),ot==="number"&&(Ae=Ae===1);break;case"string":Ae=Ae==null?"":String(Ae);break}else F==="array"&&(!Ae||!Ae.length?Ae=me.submitWhenNull?null:[]:me.inputAttributes?.type==="number"&&(Ae=Ae.map(Ie=>Number(Ie))));if(me.type==="array"&&me.nestedFields){const Ie=tt=>{Object.keys(tt).forEach(ge=>{tt[ge]&&typeof tt[ge]=="object"&&!Array.isArray(tt[ge])&&tt[ge]!==null?Ie(tt[ge]):(tt[ge]===void 0||tt[ge]===null||typeof tt[ge]=="number"&&isNaN(tt[ge])||typeof tt[ge]=="string"&&tt[ge].trim().length===0)&&delete tt[ge]})};Ae&&typeof Ae=="object"&&Ie(Ae)}me.type==="object-advanced"&&me.fields&&Ae!==null&&(Object.entries(Ae).length===0?Ae=null:Object.keys(Ae).forEach(Ie=>{Array.isArray(Ae[Ie])||(Ae[Ie]=Ae[Ie].split(","))}))}let le=d(ae);if(me.fieldNameHasDashes){const[Ie,...tt]=le.split(".").reverse();le=[Ie.replace(/_/g,"-"),...tt].reverse().join(".")}if(F==="object-expand"){let Ie;[le,Ie]=le.split(".");let tt={};M[le]&&(tt=M[le]),tt[Ie]=Ae,Ae=tt}ze!==void 0&&Ae===""&&Ae!==ze?M[le]=F==="object"?{}:null:me.type==="checklist"&&Ae===""?M[le]=[]:Ae!==""&&(M[le]=Ae),M[le]=G?G(Ae):M[le],m(le,M)});const Y=u(M);if(R.value){if(de&&de.length)for(const ae of de)delete Y[ae];Object.assign(Y,Be.value)}return Y},Ee=(de,Z={})=>{f(j,Z,de,o.editing),r("model-updated",{model:j,originalModel:H,data:Pe()})},Ge=(de,Z)=>{const U={[Z]:de};typeof o.schema[Z]?.modelTransformer=="function"&&(U[Z]=o.schema[Z].modelTransformer(de));const ne=Object.assign({},j,U);Object.assign(j,ne),r("model-updated",{model:j,originalModel:H,data:Pe()})},se=de=>{r("validity-change",de)},X=(de,Z)=>{Object.keys(de).forEach(U=>{let ne=Z?`${Z}-${U}`:U,L=o.schema[ne];if(!L){const ae=Z?`${Z}-${U.replace(/-/g,"_")}`:U.replace(/-/g,"_");o.schema[ae]?.fieldNameHasDashes&&(ne=ae,L=o.schema[ne]),Z&&o.schema[Z]?.keyFromObject===U&&(ne=Z,L=o.schema[ne])}const M=de[U],Y=typeof M;if(L&&L.type==="object-advanced"&&!M){j[ne]={},H[ne]={};return}if(Array.isArray(M)){j[ne]=JSON.parse(JSON.stringify(M)),H[ne]=JSON.parse(JSON.stringify(M));return}if(Y==="object"&&M&&!M.length)return X(M,ne);if(Y==="object"&&M&&M.length&&L.type==="input"){j[ne]=M.join(", "),H[ne]=M.join(", ");return}j[ne]=M,H[ne]=M}),r("model-updated",{model:j,originalModel:H,data:Pe()})},he=(de,Z)=>{if(!Z)return de;if(Array.isArray(de)){const L=Z.elements;return L?de.map(M=>he(M,L)):de}if(!de||typeof de!="object")return de;if(Z.type==="map"&&Z.values){const L=Z.values,M={};for(const Y of Object.keys(de))M[Y]=he(de[Y],L);return M}if(!Array.isArray(Z.fields))return de;const U=new Map;for(const L of Z.fields){const M=L&&Object.keys(L)[0];M&&U.set(M,L[M])}const ne={};for(const L of Object.keys(de)){const M=U.get(L);M&&(ne[L]=he(de[L],M))}return ne},ve=()=>{const de=o.rawSchema?.fields;return Array.isArray(de)?de.find(U=>U?.config)?.config:void 0},je=new Set(["datakit"]),qe=t.computed(()=>o.schema?._sourcePlugin||j.name),Be=t.shallowRef(o.record),Ve=(de,Z)=>{const U=je.has(qe.value)?de:{...de,config:he(de.config,ve())};Be.value=U;const ne={...j};for(const L of Z||[])delete ne[L];r("model-updated",{model:{...ne,...U},originalModel:H,data:Pe(Z)})},$e=t.ref(!0),Ke=()=>{if(o.record&&o.schema&&(X({enabled:o.record.enabled??!0,...o.record.instance_name&&{instance_name:o.record.instance_name||""},...a&&o.record.condition!=null&&{condition:o.record.condition},...o.record.protocols&&{protocols:o.record.protocols},...o.record.tags&&{tags:o.record.tags}}),o.credential?((o.record.consumer_id||o.record.consumer)&&X({consumer_id:o.record.consumer_id||o.record.consumer}),X(o.record)):o.record.config&&((o.record.consumer_id||o.record.consumer||o.record.service_id||o.record.service||o.record.route_id||o.record.route||o.record.consumer_group_id||o.record.consumer_group)&&X({service_id:o.record.service_id||o.record.service,route_id:o.record.route_id||o.record.route,consumer_id:o.record.consumer_id||o.record.consumer,consumer_group_id:o.record.consumer_group_id||o.record.consumer_group}),o.record.partials&&Ee("redis",{partials:o.record.partials}),R.value?Ve(o.record):X(o.record.config,"config"))),Object.keys(o.entityMap).length&&!o.entityMap.global&&o.schema){const de={};for(const Z in o.entityMap){const U=o.entityMap[Z].id,ne=o.entityMap[Z].idField,L=ne==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ne).replace("_","-"));Object.prototype.hasOwnProperty.call(j,L)&&(de[L]=U)}X(de)}if(o.entityMap.consumer?.id&&o.schema&&o.credential){const de={};Object.prototype.hasOwnProperty.call(j,"consumer")&&(de.consumer=o.entityMap.consumer.id),X(de)}$e.value=!1};return t.watch($e,de=>{r("loading",de)}),t.watch(()=>o.schema,(de,Z)=>{if(k(de||{},Z||{}))return;const U=c(de,void 0,void 0,o.engine);Object.assign(j,U.model),pe.value={fields:pe.value?.fields?.map(ne=>({...ne,disabled:ne.disabled||!1}))},Object.assign(H,JSON.parse(JSON.stringify(U.model))),oe(U.model.name),Ke()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{Q.value=c(o.schema,void 0,void 0,o.engine),Object.assign(j,Q.value?.model||{}),pe.value=Q.value?.schema||{},oe(Q.value?.model?.name),Ke()}),t.onBeforeUnmount(()=>{_(!1)}),(de,Z)=>{const U=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",i5,[$e.value?(t.openBlock(),t.createBlock(U,{key:0,type:"form"})):j.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",a5,[R.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(R.value),{key:0,developer:e.developer,"field-renderers":O.value?.fieldRenderers,"form-model":j,"form-schema":pe.value,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,model:e.record,"on-form-change":Ve,"on-validity-change":se,"plugin-name":j.name,"render-rules":O.value?.renderRules,schema:ee.value,"onClick:createEntity":Z[0]||(Z[0]=ne=>de.$emit("click:create-entity",ne)),"onClick:learnMore":Z[1]||(Z[1]=ne=>de.$emit("click:learn-more",ne)),onGlobalAction:Z[2]||(Z[2]=(ne,L)=>de.$emit("globalAction",ne,L))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Je.AUTOFILL_SLOT_NAME),fn:t.withCtx(ne=>[ne.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(qa.VaultSecretPickerProvider),t.mergeProps({key:0},ne,{onOpen:ce}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["developer","field-renderers","form-model","form-schema","is-editing","is-konnect-managed-redis-enabled","model","plugin-name","render-rules","schema"])):P.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Je.sharedForms)[P.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":j,"form-options":D.value,"form-schema":pe.value,"identity-principals-ui-enabled":t.unref(s),"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,"on-model-updated":Ge,"on-partial-toggled":Ee,"show-new-partial-modal":ne=>de.$emit("showNewPartialModal",ne),"onClick:createEntity":Z[3]||(Z[3]=ne=>de.$emit("click:create-entity",ne)),"onClick:learnMore":Z[4]||(Z[4]=ne=>de.$emit("click:learn-more",ne))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Je.AUTOFILL_SLOT_NAME),fn:t.withCtx(ne=>[ne.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(qa.VaultSecretPickerProvider),t.mergeProps({key:0},ne,{onOpen:ce}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","identity-principals-ui-enabled","is-editing","is-konnect-managed-redis-enabled","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Je.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,model:j,options:D.value,schema:pe.value,onModelUpdated:Ge,onPartialToggled:Ee,onRefreshModel:Pe,onShowNewPartialModal:Z[5]||(Z[5]=ne=>de.$emit("showNewPartialModal",ne))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",s5,t.toDisplayString(t.unref(b)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[t.unref(Mn)[j.name]?.fieldRules&&(o.config.isNewOtelSchema||j.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(Jz,{rules:t.unref(Mn)[j.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Je.AUTOFILL_SLOT_NAME),fn:t.withCtx(ne=>[ne.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(qa.VaultSecretPickerProvider),t.mergeProps({key:0},ne,{onOpen:ce}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","is-konnect-managed-redis-enabled","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(qa.VaultSecretPicker),{config:o.config,setup:K.value,onCancel:Z[6]||(Z[6]=()=>K.value=!1),onProceed:z},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-9ddd337d"]]),c5={key:1},d5=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,r)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",c5,[t.renderSlot(n.$slots,"default")]))}}),u5={key:0},f5={class:"plugin-form-actions"},p5={key:0,class:"button-customize-deck-wrapper"},m5=xe(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:null},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null},engine:{type:String,required:!1,default:void 0}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction","click:create-entity","click:learn-more"],setup(e,{emit:n}){const r=t.inject(Bn.KM_2306_CONDITION_FIELD_314,!1),o=t.inject(Bn.KM_2485_CLONED_PLUGINS,!1),i=t.ref(!1);t.provide(ue.PLUGIN_FORM_LAYOUT_STATE,i);const a=n,s=e,l=Ar.useRouter(),{i18n:{t:c}}=it.useI18n(),{customSchemas:d,typedefs:u}=it.useSchemas({app:s.config.app,credential:s.credential,experimentalRenders:s.config.app==="konnect"?s.config.experimentalRenders:void 0}),{formatPluginFieldLabel:f}=it.usePluginHelpers(),{shouldUseFreeForm:p}=it.useFreeFormResolver(),{getMessageFromError:m}=ue.useErrors(),{capitalize:h}=ue.useStringHelpers(),{objectsAreEqual:y}=ue.useHelpers(),{axiosInstance:g}=ue.useAxios(s.config?.axiosRequestConfig),{getClonedPlugin:_}=it.useCustomPluginApi({axiosInstance:ue.useAxios({...s.config?.axiosRequestConfig??{},konnect:{bypassGlobal404Handler:!0}}).axiosInstance,apiBaseUrl:s.config.apiBaseUrl,app:s.config.app,workspace:s.config.workspace,controlPlaneId:s.config.controlPlaneId}),k=t.ref(!1),b=t.computed(()=>!!s.pluginId),N=t.computed(()=>s.pluginId?ue.EntityBaseFormType.Edit:ue.EntityBaseFormType.Create),C=t.ref(void 0),w=t.ref(void 0),S=t.computed(()=>!!(s.credential&&s.config.entityId)),x=t.ref(void 0),I=t.ref({}),T=t.ref(),A=t.ref(),v=t.inject(Bn.KM_2503_CUSTOM_PLUGIN_FREEFORM,!1),P=t.ref(null),O=t.computed(()=>P.value!==null),R=t.computed(()=>O.value&&P.value?P.value:s.pluginType),Q=t.computed(()=>{if(s.engine)return s.engine;if(!(!v||!Ae.value))return O.value&&P.value?p(P.value)?"freeform":"vfg":"freeform"}),pe=t.computed(()=>p(s.pluginType,Q.value));t.provide(oa,{redisType:T,redisPath:A,isEditing:b.value});const H=[];t.provide(Jm,ge=>(H.push(ge),()=>{const we=H.indexOf(ge);we!==-1&&H.splice(we,1)}));const j=t.ref(!1),{isDeckEnabled:D,deckCustomizationOptions:ee,deckCalloutPreferenceKey:K}=ue.useBaseFormDeckOptions(()=>s.config,ue.SupportedEntityType.Plugin),J=t.ref(!1),ce=t.reactive({enabled:!0,protocols:[],tags:[]}),z=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),oe=t.ref([{title:c("view_configuration.json"),hash:"#json"},{title:c("view_configuration.yaml"),hash:"#yaml"}]);s.config.app==="konnect"&&oe.value.splice(1,0,{title:c("view_configuration.terraform"),hash:"#terraform"}),D.value&&oe.value.push({title:c("view_configuration.deck"),hash:"#deck"});const Pe=t.ref(oe.value[0].hash),Ee=t.ref(""),Ge=t.computed(()=>{if(S.value){let we=nt.form[s.config.app].credential[N.value];return we=we.replace(/{resourceEndpoint}/gi,ve.value),we}let ge;return s.config.entityType&&s.config.entityId?ge=nt.form[s.config.app].edit.forEntity.replace(/{entityType}/gi,s.config.entityType).replace(/{entityId}/gi,s.config.entityId):ge=nt.form[s.config.app].edit.all,s.config.app==="konnect"&&Mn[s.pluginType]?.useUIData?`${ge}?__ui_data=true`:ge}),se=()=>{k.value=!k.value},X=t.computed(()=>{const ge=s.config.entityType==="consumers"&&s.config.entityId||x.value?.consumer?.id,we=s.config.entityType==="consumer_groups"&&s.config.entityId||x.value?.consumer_group?.id,V=s.config.entityType==="services"&&s.config.entityId||x.value?.service?.id,fe=s.config.entityType==="routes"&&s.config.entityId||x.value?.route?.id;if(!(ge||we||V||fe))return{global:{entity:q.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const re={};return V&&(re.service={entity:q.PluginScope.SERVICE,entityEndpoint:"services",id:V,idField:To.SERVICE}),fe&&(re.route={entity:q.PluginScope.ROUTE,entityEndpoint:"routes",id:fe,idField:To.ROUTE}),ge&&(re.consumer={entity:q.PluginScope.CONSUMER,entityEndpoint:"consumers",id:ge,idField:To.CONSUMER}),we&&(re.consumer_group={entity:q.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:we,idField:To.CONSUMER_GROUP}),s.config.entityType&&(re.focusedEntity={entity:q.PluginScope[s.config.entityType.substring(0,s.config.entityType.length-1).toUpperCase()],entityEndpoint:s.config.entityType,id:s.config.entityId,idField:To[s.config.entityType.substring(0,s.config.entityType.length-1).toUpperCase()]}),re}),he=t.reactive({name:{default:s.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:c("plugins.form.fields.enabled.label"),textOn:c("plugins.form.fields.enabled.on_text"),textOff:c("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:s.hideScopeSelection&&(s.hideScopeSelection||N.value===ue.EntityBaseFormType.Create&&s.config.entityId)?"foreign":"selectionGroup",disabled:s.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:c("plugins.form.scoping.global.label"),description:c("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:c("plugins.form.fields.protocols.help"),label:c("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:c("plugins.form.fields.instance_name.label"),inputType:"text",help:c("plugins.form.fields.instance_name.help")},tags:u.tags,...r?{condition:{default:"",type:"input",label:c("plugins.form.fields.condition.label"),inputType:"text",help:c("plugins.form.fields.condition.tooltip"),placeholder:c("plugins.form.fields.condition.placeholder")}}:{}}),ve=t.computed(()=>{const ge=s.developer?"developers":"consumers",we=Br[s.pluginType]?.endpoint||"/plugins";return`${ge}/${s.config.entityId}${s.developer?"/credentials":""}${we}`}),je=ge=>{const we=Array.from(new Set(ge.map(V=>typeof V)));return we.length>1?"string":we[0]},qe=(ge,we,V,fe)=>{let re=we&&we.fields||[];const ie=d[R.value],Re=Br[s.pluginType]?.schema?.fields;return Array.isArray(re)&&(re=re.reduce((Oe,ye)=>{const be=Object.keys(ye)[0];return be.match(/-/g)?Oe[be.replace(/-/g,"_")]={...ye[be],fieldNameHasDashes:!0}:Oe[be]=ye[be],Oe},{})),Object.keys(re).sort().forEach(Oe=>{const ye=re[Oe];ye.type==="set"&&!(pe.value&&ye.elements.one_of)&&(ye.type="array");const be=ge?`${ge}-${Oe}`:`${Oe}`;if(ie?.fieldsToDelete?.includes(be)){Sb(V,be);return}if(Object.prototype.hasOwnProperty.call(ye,"overwrite")||ye.hidden)return;if(ye.type==="table")return qe(be,ye.schema,V);if(ye.fields)return fe&&ye.type==="record"?(V[be]={type:"object",model:Oe,schema:{fields:Object.values(qe(be,ye,{},!0))}},V):qe(be,ye,V);if(V[be]={id:be,model:Oe},V[be].type=ye.type==="boolean"?"checkbox":"input",V[be].required=ye.required,V[be].referenceable=ye.referenceable,be.startsWith("config-"))if(!fe&&ye.type==="array"&&(Ee.value=be),fe&&Ee.value&&be.startsWith(Ee.value)){const rt=be.slice(Ee.value.length+1);V[be].label=rt.split("-").map(f).join(".")}else V[be].label=f(be);if((ge==="config"||ge.startsWith("config-"))&&re[Oe]?.description&&(V[be].help=Ua.sanitize(Dl.marked.parse(re[Oe].description,{mangle:!1,headerIds:!1}))),ye.type==="map"){if(V[be].type="object-advanced",V[be].values=ye.values,ye.values.type==="array"){const{type:rt}=ye.values.elements||{};V[be].schema={fields:[{schema:{fields:[{...ft,model:be,valueArrayType:rt==="integer"?"number":rt||"string",inputAttributes:{...ft.inputAttributes,type:rt==="integer"?"number":"text",inputMode:rt==="integer"?"numeric":"text"}}]}}]}}else ye.values.fields&&(V[be].schema={fields:[{type:"object",model:"object",schema:{fields:ye.values.fields.map(rt=>{const Ze=Object.keys(rt)[0];return{model:Ze,type:"input",label:h(Ze),placeholder:Ze,inputType:rt[Ze].type}})}}]});return V}if(ye.enum&&ye.type==="array"&&(V[be].type="checklist",V[be].values=ye.enum,V[be].multi=!0,V[be].multiSelect=!0),ye.one_of&&ye.type!=="array"&&(V[be].type="select",V[be].values=ye.one_of,V[be].selectOptions={noneSelectedText:c("plugins.form.no_selection")}),ye.elements&&ye.type==="array"){const rt=ye.elements;if(V[be].referenceable=rt.referenceable,V[be].elements=rt,["string","integer","number"].includes(rt.type)&&!rt.one_of){const{id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o}=V[be],{inputAttributes:ja,...Ly}=JSON.parse(JSON.stringify(ft));ja.type=rt.type==="string"?"text":"number",V[be]={id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o,inputAttributes:ja,...Ly}}else if(["string","integer","number"].includes(rt.type)&&rt.one_of){if(fe){const{id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o}=V[be];V[be]={id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o,...zz(rt.one_of,ye.default)}}}else if(rt.type==="array"){const{id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o,elements:ja}=V[be],{inputAttributes:Ly,...V7}=JSON.parse(JSON.stringify(ft));V[be]={id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o,elements:ja,inputAttributes:Ly,...V7}}}if(ye.hint&&(V[be].hint=Ua.sanitize(ye.hint)),ie&&!ie.overwriteDefault&&Object.keys(ie).forEach(rt=>{if(rt===be){const{help:Ze,label:He,hint:Ye,values:Bt,referenceable:pt,elements:Ut}=V[be],{help:_o,...ja}=ie[rt];V[be]={help:Ze,label:He,hint:Ye,values:Bt,referenceable:pt,elements:Ut,...ja},typeof _o=="string"&&(V[be].help=Ua.sanitize(Dl.marked.parse(_o,{mangle:!1,headerIds:!1})))}}),ye.type==="array"&&ye.elements?.type==="record"&&Array.isArray(ye.elements.fields)){let rt={};for(const He of ye.elements.fields)rt={...rt,...He};const Ze=V[be]?.items?.schema?.fields;if(Array.isArray(Ze))for(const He of V[be].items.schema.fields){const Ye=rt[He.model]?.description;He.help===void 0&&typeof Ye=="string"&&(He.help=Ua.sanitize(Dl.marked.parse(Ye,{mangle:!1,headerIds:!1})))}if(Ze||(V[be].type="array",V[be].newElementButtonLabelClasses="kong-form-new-element-button-label",V[be].fieldClasses="array-card-container-wrapper",V[be].itemContainerComponent="FieldArrayCardContainer",V[be].items={type:"object",schema:{fields:Object.values(qe(be,ye.elements,{},!0))}},V[be].items.schema.fields.forEach(He=>{for(const Ye of ye.elements.fields){const Bt=Object.keys(Ye)[0],pt=He.id?.split?.("-")??[];if(pt[pt.length-1]===Bt){He.model=Bt,He.label=f(Bt);break}}}),ye.elements.type==="record"&&(V[be].nestedFields=!0)),!V[be].nestedFields)V[be].items.default=()=>ye.elements.fields.reduce((He,Ye)=>{const Bt=Object.keys(Ye)[0];return He[Bt]=Ye[Bt].default,He},{});else{const He=(Ye,Bt)=>{if(Ye.type==="object"){Ye.model&&(Bt[Ye.model]={});for(const pt of Ye.schema.fields)He(pt,Ye.model?Bt[Ye.model]:Bt)}else Ye.model&&(Bt[Ye.model]=Ye.default)};V[be].items.default=()=>{const Ye={};return He(V[be].items,Ye),Ye}}}if(S.value&&Re){for(let rt=0;rt<Re.length;rt++)if(Re[rt][be]){V[be]={...V[be],...Re[rt][be]};break}}if(ye.required&&ye.type!=="boolean"&&(V[be].required=!0,V[be].selectOptions={hideNoneSelectedText:!0}),ye.required&&ye.type==="boolean"&&(V[be].default=ye.default??!1),ye.default!=null&&typeof ye.default!="object"&&ye.default!=="function"&&(V[be].default=ye.default),V[be].type==="input"){["string","number"].includes(typeof V[be].default)&&s.config.app==="konnect"&&(V[be].placeholder=`Default: ${V[be].default===""?"<empty string>":V[be].default}`);const{type:rt}=ye.elements||{};rt&&(V[be].valueArrayType=rt==="integer"?"number":rt),V[be].inputType=ye.type==="array"||ye.type==="string"?ye.encrypted?"password":"text":ye.type}let Ct="string";ye.enum?Ct=je(ye.enum):ye.type==="boolean"?Ct="boolean":ye.type==="number"||ye.type==="integer"?(Ct="number",V[be].inputType="number"):ye.type==="array"?(Ct="array",V[be].default=ye.default,ye.len_min>0&&(V[be].submitWhenNull=!0)):ye.type==="foreign"?Ct="object":ye.default&&Array.isArray(ye.default)?(Ct="array",V[be].valueArrayType=je(ye.default)):ye.default&&(Ct=typeof ye.default),V[be].valueType=Ct,ye.fieldNameHasDashes&&(V[be].fieldNameHasDashes=!0)}),V},Be=()=>{const ge=O.value&&P.value?P.value:s.pluginType,we=Mn[ge]?.scope.includes(q.PluginScope.SERVICE)??!0,V=Mn[ge]?.scope.includes(q.PluginScope.ROUTE)??!0,fe=Mn[ge]?.scope.includes(q.PluginScope.CONSUMER)??!0,re=s.config.disableConsumerGroupScope?!1:Mn[ge]?.scope.includes(q.PluginScope.CONSUMER_GROUP)??!0,ie=s.config.entityType==="consumers"&&!!s.config.entityId||!!x.value?.consumer?.id,Re=s.config.entityType==="consumer_groups"&&!!s.config.entityId||!!x.value?.consumer_group?.id,Oe=s.config.entityType==="services"&&!!s.config.entityId||!!x.value?.service?.id,ye=s.config.entityType==="routes"&&!!s.config.entityId||!!x.value?.route?.id,be=[],Ct=(Ze,He,Ye)=>Ze?c("plugins.form.disable_source_scope_change",{scope:Ye}):He?c("plugins.form.disable_data_retrieving",{scope:Ye}):"",rt=Ze=>s.scopedEntitiesPermissions?.[Ze]?.canRetrieve===!1;if(we){const Ze=rt("service"),He="services",Ye=Oe&&s.disableScopeSelection;be.push({id:"service-id",model:"service-id",label:c("plugins.form.scoping.gateway_service.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:He,inputValues:{fields:["name","id"]},help:c("plugins.form.scoping.gateway_service.help"),disabled:Ye||Ze,disabledTooltip:Ct(Ye,Ze,He)})}if(V){const Ze=rt("route"),He="routes",Ye=ye&&s.disableScopeSelection;be.push({id:"route-id",model:"route-id",label:c("plugins.form.scoping.route.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:He,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:c("plugins.form.scoping.route.help"),disabled:Ye||Ze,disabledTooltip:Ct(Ye,Ze,He)})}if(fe){const Ze=rt("consumer"),He="consumers",Ye=ie&&s.disableScopeSelection;be.push({model:"consumer-id",label:c("plugins.form.scoping.consumer.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:He,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:c("plugins.form.scoping.consumer.help"),disabled:Ye||Ze,disabledTooltip:Ct(Ye,Ze,He)})}if(re){const Ze=rt("consumer_group"),He="consumer_groups",Ye=Re&&s.disableScopeSelection;be.push({model:"consumer_group-id",label:c("plugins.form.scoping.consumer_group.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:He,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:c("plugins.form.scoping.consumer_group.help"),disabled:Ye||Ze,disabledTooltip:Ct(Ye,Ze,He)})}if(be.length){const Ze=[...we?["service"]:[],...V?["route"]:[],...fe?["consumer"]:[],...re?["consumer_group"]:[]],Ye=Ze.splice(Ze.length-2,2).map(pt=>c(pt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${pt}.plural`)).join(`${Ze.length>0?",":""} and/or `),Bt=["Specific",[...Ze.length>0?[Ze.map(pt=>c(pt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${pt}.plural`)).join(", ")]:[],Ye].join(", ")].join(" ");he.selectionGroup.fields.push({label:c("plugins.form.scoping.label"),description:Bt,fields:[]}),he.selectionGroup.fields[1].fields=be}d[R.value]&&d[R.value].overwriteDefault&&Object.hasOwnProperty.call(d[R.value],"formSchema")&&Object.assign(he,d[R.value].formSchema)},Ve=t.computed(()=>!y(z.fields,ce,!0)),$e=t.computed(()=>!le.value&&!J.value&&(N.value===ue.EntityBaseFormType.Create||Ve.value)),Ke=t.ref(!1),de=t.ref(),Z=ge=>{s.credential&&ge.password&&(ge.password=""),z.fields.id=ge?.id||void 0,de.value=ge?.ordering,Object.assign(ce,z.fields),x.value=ge,Ke.value=!0},U=t.ref({}),ne=ge=>{z.fields=ge.model,z.fields.id=x.value?.id||void 0,Object.assign(ce,ge.originalModel),U.value=ge.data,s.isWizardStep&&a("model-updated",{model:z.fields,data:ge.data,resourceEndpoint:ve.value})},L=t.ref(new Map),M=t.computed(()=>[z.clientErrorMessage,z.serverErrorMessage].filter(Boolean).join("; ")),Y=ge=>{ge.valid?L.value.delete(ge.model):L.value.set(ge.model,ge.error),z.clientErrorMessage=[...L.value.entries()].map(([we,V])=>`${we}: ${typeof V=="string"?V:m(V)}`).join("; "),z.clientErrorMessage&&(z.serverErrorMessage="")};t.watch([X,Ke],(ge,we)=>{const V=ge[0]!==we[0],fe=ge[1],re=we[1];if(!S.value&&N.value===ue.EntityBaseFormType.Edit&&(V||fe&&fe!==re)){const ie=qe("config",I.value,he);Ae.value&&(ie._isCustomPlugin=!0),O.value&&P.value&&(ie._sourcePlugin=P.value),T.value&&(ie._supported_redis_partial_type=T.value),w.value=ie}},{deep:!0});const ae=()=>{s.config.cancelRoute?l.push(s.config.cancelRoute):a("cancel")},me=t.computed(()=>{const ge=s.config.entityType&&s.config.entityId&&!s.developer,we=S.value?nt.form[s.config.app].credential[N.value]:nt.form[s.config.app][N.value][ge?"forEntity":"all"];let V=`${s.config.apiBaseUrl}${we}`;return s.config.app==="konnect"&&(V=V.replace(/{controlPlaneId}/gi,s.config.controlPlaneId||"")),V=V.replace(/\/{workspace}/gi,s.config.workspace?`/${s.config.workspace}`:""),V=V.replace(/{resourceEndpoint}/gi,ve.value),V=V.replace(/{id}/gi,s.pluginId??""),V=V.replace(/{entityType}/gi,s.config.entityType||""),V=V.replace(/{entityId}/gi,s.config.entityId||""),V}),Ae=t.computed(()=>!Object.keys(Mn).includes(s.pluginType)),ze=t.computed(()=>{const ge=U.value;if(S.value){for(const we in q.PluginScope){const V=q.PluginScope[we];ge[V]&&!ge[V].id&&(ge[V]={id:s.config.entityId})}delete ge.created_at}return U.value.partials&&A.value&&Sb(ge,A.value),ge}),ot=t.computed(()=>{const{__ui_data:ge,...we}={...ze.value};return we}),F=async()=>{if(H.every(ge=>ge())&&!z.clientErrorMessage&&!s.isWizardStep)try{z.isReadonly=!0;let ge;const we=JSON.parse(JSON.stringify(ze.value)),V=d[R.value];!pe.value&&typeof V?.shamefullyTransformPayload=="function"&&V.shamefullyTransformPayload({originalModel:ce,model:z.fields,payload:we,schema:w.value}),N.value==="create"?ge=await g.post(me.value,we):N.value==="edit"&&(ge=s.config.app==="konnect"||T.value&&we.partials?await g.put(me.value,Object.assign({ordering:de.value},we)):await g.patch(me.value,we)),Object.assign(ce,z.fields),a("update",ge?.data)}catch(ge){z.serverErrorMessage=m(ge),a("error",ge)}finally{z.isReadonly=!1}},te=t.computed(()=>{const ge=S.value?Br[s.pluginType]?.schemaEndpoint:s.pluginType,we=S.value?nt.form[s.config.app].credentialSchema:nt.form[s.config.app].pluginSchema;let V=`${s.config.apiBaseUrl}${we}`;return s.config.app==="konnect"&&(V=V.replace(/{controlPlaneId}/gi,s.config.controlPlaneId||"")),V.replace(/\/{workspace}/gi,s.config.workspace?`/${s.config.workspace}`:"").replace(/{plugin}/gi,ge)}),G=t.ref(""),le=t.ref(!1),Ie=t.ref("");t.onBeforeMount(async()=>{le.value=!0;try{if(S.value&&s.config.app==="konnect"){const ge=Br[s.pluginType]?.schemaEndpoint,we=Wk[ge];G.value=ge,w.value=qe("",we,{}),le.value=!1}else{const ge=o&&Ae.value,we=s.schema?Promise.resolve(s.schema):g.get(te.value).then(fe=>fe.data),[V]=await Promise.all([we,ge?tt(s.pluginType):Promise.resolve()]);if(C.value=V,V)if(S.value)w.value=qe("",V,{}),le.value=!1;else{const fe=V.fields.find(ie=>ie.config);I.value=fe?fe.config:V,V.supported_partials&&(T.value=Object.keys(V.supported_partials).find(ie=>[yc.REDIS_CE,yc.REDIS_EE].includes(ie)),A.value=V.supported_partials[T.value]?.[0]),Be();const re=V.fields.find(ie=>ie.protocols)?.protocols;if(re){const{default:ie=[],elements:Re={}}=re;he.protocols.default=ie,he.protocols.placeholder=s.config.app==="konnect"?c("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ie.join(", ")}):c("plugins.form.fields.protocols.placeholder"),Re.one_of?.length&&(he.protocols.values=Re.one_of.map(Oe=>({label:Oe,value:Oe})))}if(Ke.value||N.value===ue.EntityBaseFormType.Create){const ie=qe("config",I.value,he);T.value&&(ie._supported_redis_partial_type=T.value),Ae.value&&(ie._isCustomPlugin=!0),O.value&&P.value&&(ie._sourcePlugin=P.value),w.value=ie}}}}catch(ge){console.error(ge),Ie.value=m(ge),a("error:fetch-schema",ge)}finally{le.value=!1}});async function tt(ge){try{const we=await _(ge);P.value=we?.ref??null}catch(we){if(gi.isAxiosError(we)&&we.response?.status===404)return;throw we}}return(ge,we)=>{const V=t.resolveComponent("KSkeleton"),fe=t.resolveComponent("KEmptyState"),re=t.resolveComponent("KButton"),ie=t.resolveComponent("KTabs"),Re=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["kong-ui-entities-plugin-form-container",{"new-form-layout":i.value}])},[le.value?(t.openBlock(),t.createBlock(V,{key:0,type:"form"})):Ie.value?(t.openBlock(),t.createBlock(fe,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(c)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(ue.EntityBaseForm),{key:2,"can-submit":$e.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(ue.SupportedEntityType).Plugin,"error-message":M.value,"fetch-url":Ge.value,"form-fields":ze.value,"is-readonly":z.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ae,"onFetch:error":we[6]||(we[6]=Oe=>ge.$emit("error",Oe)),"onFetch:success":Z,onLoading:we[7]||(we[7]=Oe=>ge.$emit("loading",Oe))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",u5)):(t.openBlock(),t.createBlock(d5,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",f5,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(re,{key:0,appearance:"tertiary","data-testid":`plugin-${b.value?"edit":"create"}-form-view-configuration`,onClick:we[5]||(we[5]=Oe=>se())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(re,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${b.value?"edit":"create"}-form-cancel`,disabled:z.isReadonly,onClick:ae},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(re,{appearance:"primary","data-testid":`plugin-${b.value?"edit":"create"}-form-submit`,disabled:!$e.value||z.isReadonly,type:"submit",onClick:F},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:F},null,32),t.createVNode(l5,{config:e.config,credential:S.value,developer:e.developer,editing:N.value===t.unref(ue.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":s.enableVaultSecretPicker,engine:Q.value,"entity-map":X.value,"raw-schema":C.value,record:x.value,schema:w.value,"onClick:createEntity":we[0]||(we[0]=Oe=>ge.$emit("click:create-entity",Oe)),"onClick:learnMore":we[1]||(we[1]=Oe=>ge.$emit("click:learn-more",Oe)),onGlobalAction:we[2]||(we[2]=(Oe,ye)=>ge.$emit("globalAction",Oe,ye)),onLoading:we[3]||(we[3]=Oe=>J.value=Oe),onModelUpdated:ne,onShowNewPartialModal:we[4]||(we[4]=Oe=>ge.$emit("showNewPartialModal",Oe)),onValidityChange:Y},null,8,["config","credential","developer","editing","enable-redis-partial","enable-vault-secret-picker","engine","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(Re,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(c)("view_configuration.title"),visible:k.value,onClose:se},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(c)("view_configuration.message")),1),t.createVNode(ie,{modelValue:Pe.value,"onUpdate:modelValue":we[11]||(we[11]=Oe=>Pe.value=Oe),"data-testid":"form-view-configuration-slideout-tabs",tabs:oe.value},{json:t.withCtx(()=>[t.createVNode(t.unref(ue.JsonCodeBlock),{config:e.config,"entity-record":ot.value,"fetcher-url":me.value,"request-method":s.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(ue.YamlCodeBlock),{"deck-callout-preference-key":t.unref(D)?t.unref(K):void 0,"entity-record":ot.value,"onDeckCallout:clickCta":we[8]||(we[8]=Oe=>Pe.value="#deck")},null,8,["deck-callout-preference-key","entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(ue.TerraformCodeBlock),{"credential-type":G.value,"entity-record":ot.value,"entity-type":t.unref(ue.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),deck:t.withCtx(()=>[t.unref(ee)?(t.openBlock(),t.createElementBlock("div",p5,[t.createVNode(re,{appearance:"secondary",class:"button-customize-deck",onClick:we[9]||(we[9]=Oe=>j.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.form.button_deck_customize")),1)]),_:1})])):t.createCommentVNode("",!0),t.createVNode(t.unref(ue.DeckCodeBlock),{app:e.config.app,"control-plane-name":e.config.app==="konnect"?e.config.controlPlaneName:void 0,"customization-options":t.unref(ee),"entity-record":ot.value,"entity-type":t.unref(ue.SupportedEntityType).Plugin,"geo-api-server-url":e.config.app==="konnect"?e.config.geoApiServerUrl:void 0,"is-customization-modal-visible":j.value,"kong-admin-api-url":e.config.app==="kongManager"?e.config.apiBaseUrl:void 0,workspace:e.config.workspace||void 0,onCustomizationClose:we[10]||(we[10]=Oe=>j.value=!1)},null,8,["app","control-plane-name","customization-options","entity-record","entity-type","geo-api-server-url","is-customization-modal-visible","kong-admin-api-url","workspace"])]),_:1},8,["modelValue","tabs"])]),_:1},8,["title","visible"])],2)}}}),[["__scopeId","data-v-c298ae19"]]),g5={class:"plugin-filter"},h5={class:"plugin-tags-filter"},y5={class:"plugin-tags-filter-badges"},_5={class:"plugin-status-filter"},b5=xe(t.defineComponent({__name:"PluginFilter",props:t.mergeModels({entityType:{},entityId:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const{i18n:{t:n}}=it.useI18n(),r={routes:q.PluginScope.ROUTE,services:q.PluginScope.SERVICE,consumers:q.PluginScope.CONSUMER,consumer_groups:q.PluginScope.CONSUMER_GROUP},o=t.computed(()=>e.entityType&&e.entityId?r[e.entityType]:void 0),i=t.useModel(e,"modelValue"),a=t.ref(""),s=t.ref({}),l=t.useTemplateRef("search-input"),c=t.useTemplateRef("tags-input"),d=(C,w)=>C.map(S=>w.find(x=>x.value===S).label).join(", "),u=t.ref(""),f=/^(?:[\x21-\x2B\x2D\x2E\x30-\x7E\p{N}\p{L}]+(?: *[\x21-\x2B\x2D\x2E\x30-\x7E\p{N}\p{L}])*)?$/u,p=t.computed(()=>u.value&&!f.test(u.value)?n("search.filter.tags_invalid"):""),m=()=>{l.value?.input?.focus()},h=()=>{c.value?.input?.focus()},y=()=>{a.value="",m()},g=(C,w)=>{const S=u.value;if(!S||!f.test(S)){h();return}C||(C=[]),C.includes(S)||C.push(S),u.value="",h(),w(C,C.join(", "))},_=(C,w,S)=>{const x=w.filter(I=>I!==C);S(x,x.join(", "))},k=t.computed(()=>({...o.value?{}:{scope:{label:n("plugins.list.table_headers.scope"),operators:["eq"],pinned:!0,multiple:!0,options:[{label:n("plugins.list.table_headers.applied_to_badges.route"),value:q.PluginScope.ROUTE},{label:n("plugins.list.table_headers.applied_to_badges.service"),value:q.PluginScope.SERVICE},{label:n("plugins.list.table_headers.applied_to_badges.consumer"),value:q.PluginScope.CONSUMER},{label:n("plugins.list.table_headers.applied_to_badges.consumer_group"),value:q.PluginScope.CONSUMER_GROUP},{label:n("plugins.list.table_headers.applied_to_badges.global"),value:q.PluginScope.GLOBAL}]}},status:{label:n("plugins.list.table_headers.status"),operators:["eq"],pinned:!0,maxWidth:350,options:[{value:"true",label:n("actions.enabled")},{value:"false",label:n("actions.disabled")}]},tags:{label:n("plugins.list.table_headers.tags"),operators:["eq"],pinned:!0,multiple:!0}})),b=t.computed(()=>{const C=new URLSearchParams;if(a.value&&C.set("filter[name][contains]",a.value),!o.value){const I=s.value.scope,T=Array.isArray(I?.value)?I.value:typeof I?.value=="string"&&I.value?[I.value]:[];T.length&&C.set("filter[scope][oeq]",T.join(","))}const w=s.value.status;w?.value&&C.set("filter[enabled]",w.value==="true"?"true":"false");const S=s.value.tags,x=Array.isArray(S?.value)?S.value:[];return x.length&&C.set("tags",x.join("/")),o.value&&e.entityId&&C.toString()&&C.set(`filter[${o.value}][eq]`,e.entityId),C.toString()});t.watch(b,C=>{i.value=C}),t.watch(i,C=>{C||(a.value="",s.value={},u.value="")});const N=(C,w)=>{const S=w[C];S&&(S.operatorDelimiter=": ")};return(C,w)=>{const S=t.resolveComponent("KInput"),x=t.resolveComponent("KBadge"),I=t.resolveComponent("KMultiselect"),T=t.resolveComponent("KRadio"),A=t.resolveComponent("KFilterGroup");return t.openBlock(),t.createElementBlock("div",g5,[t.createVNode(S,{ref:"search-input",modelValue:a.value,"onUpdate:modelValue":w[0]||(w[0]=v=>a.value=v),autocomplete:"off",class:"plugin-search-input","data-testid":"search-input",placeholder:t.unref(n)("search.placeholder.search")},{before:t.withCtx(()=>[t.createVNode(t.unref(Ne.SearchIcon),{decorative:""})]),after:t.withCtx(()=>[t.withDirectives(t.createVNode(t.unref(Ne.CloseIcon),{class:"plugin-search-clear",role:"button",tabindex:"0",onClick:y,onKeydown:[t.withKeys(t.withModifiers(y,["prevent"]),["enter"]),t.withKeys(t.withModifiers(y,["prevent"]),["space"])]},null,8,["onKeydown"]),[[t.vShow,a.value!==""]])]),_:1},8,["modelValue","placeholder"]),t.createVNode(A,{modelValue:s.value,"onUpdate:modelValue":w[2]||(w[2]=v=>s.value=v),filters:k.value,onApply:N},{"filter-tags":t.withCtx(({value:v,setValue:P})=>[t.createElementVNode("div",h5,[t.createVNode(S,{ref:"tags-input",modelValue:u.value,"onUpdate:modelValue":w[1]||(w[1]=O=>u.value=O),autocomplete:"off","data-testid":"tags-filter-input",error:!!p.value,"error-message":p.value,placeholder:t.unref(n)("search.placeholder.tags_filter"),onKeydown:t.withKeys(t.withModifiers(O=>g(v,P),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.createVNode(t.unref(Ne.ArrowTopLeftIcon),{class:"plugin-tags-filter-add","data-testid":"tags-filter-add",role:"button",tabindex:"0",onClick:O=>g(v,P),onKeydown:[t.withKeys(t.withModifiers(O=>g(v,P),["prevent"]),["enter"]),t.withKeys(t.withModifiers(O=>g(v,P),["prevent"]),["space"])]},null,8,["onClick","onKeydown"])]),_:2},1032,["modelValue","error","error-message","placeholder","onKeydown"]),t.createElementVNode("div",y5,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(v,O=>(t.openBlock(),t.createBlock(x,{key:O,"icon-before":!1},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon),{"data-testid":"tags-filter-remove-tag",role:"button",tabindex:"0",onClick:R=>_(O,v,P),onKeydown:[t.withKeys(t.withModifiers(R=>_(O,v,P),["prevent"]),["enter"]),t.withKeys(t.withModifiers(R=>_(O,v,P),["prevent"]),["space"])]},null,8,["onClick","onKeydown"])]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(O)+" ",1)]),_:2},1024))),128))])])]),"filter-scope":t.withCtx(({value:v,setValue:P,options:O})=>[t.createVNode(I,{"data-testid":"scope-filter-select",items:O,"model-value":v,placeholder:t.unref(n)("search.placeholder.scope_filter"),"onUpdate:modelValue":R=>P(R,d(R,O))},null,8,["items","model-value","placeholder","onUpdate:modelValue"])]),"filter-status":t.withCtx(({value:v,setValue:P,options:O})=>[t.createElementVNode("div",_5,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(O,R=>(t.openBlock(),t.createBlock(T,{key:R.value,"data-testid":"status-filter-radio",label:R.label,"model-value":v,"selected-value":R.value,"onUpdate:modelValue":Q=>P(Q,R.label)},null,8,["label","model-value","selected-value","onUpdate:modelValue"]))),128))])]),_:1},8,["modelValue","filters"])])}}}),[["__scopeId","data-v-c4f55d0a"]]),k5={class:"kong-ui-entities-plugins-list"},w5={class:"button-row"},C5={class:"name-cell-wrapper"},E5={key:0,class:"info-wrapper"},N5={class:"info-name"},S5={key:1,class:"info-wrapper"},A5={key:0,class:"info-name"},x5={key:1,class:"info-name"},I5={key:2,class:"info-type"},v5={key:0},T5={key:1},B5={key:2},O5={key:1},P5={key:0},V5=xe(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){const r=it.usePluginMetaData(),o=n,i=e,{i18n:{t:a,formatUnixTimeStamp:s}}=it.useI18n(),l=Ar.useRouter(),{axiosInstance:c}=ue.useAxios(i.config?.axiosRequestConfig),{hasRecords:d,handleStateChange:u}=ue.useTableState(()=>w.value),f=t.computed(()=>d.value&&i.config.app==="konnect"),p=t.computed(()=>!!i.config.entityId),m=t.computed(()=>i.config?.entityType==="consumers"),h=t.computed(()=>i.config?.entityType==="consumer_groups"),y=i.config.app==="konnect"||ue.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),g=t.computed(()=>i.config.app==="konnect"&&!!i.config.pluginTableImprovements?.filtering),_=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),k={name:{label:g.value?a("plugins.list.table_headers.plugin"):a("plugins.list.table_headers.name"),searchable:!0,sortable:!g.value,hidable:!1}};g.value&&(k.instanceName={label:a("plugins.list.table_headers.name"),sortable:!1}),i.config?.entityId||(k.appliedTo=g.value?{label:a("plugins.list.table_headers.scope"),sortable:!1}:{label:a("plugins.list.table_headers.applied_to"),sortable:!1}),k.enabled=g.value?{label:a("plugins.list.table_headers.status"),sortable:!1}:{label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},y&&(k.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),k.tags={label:a("plugins.list.table_headers.tags"),sortable:!1},k.updated_at={label:a("plugins.list.table_headers.updated_at"),sortable:!0};const b=k,N=L=>{let M=`${i.config.apiBaseUrl}${L}`;return i.config.app==="konnect"&&(M=M.replace(/{controlPlaneId}/gi,i.config?.controlPlaneId||"")),M.replace(/\/{workspace}/gi,i.config?.workspace?`/${i.config.workspace}`:"").replace(/{entityType}/gi,i.config?.entityType||"").replace(/{entityId}/gi,i.config?.entityId||"")},C=t.computed(()=>N(i.config.entityType?nt.list[i.config.app].forEntity:nt.list[i.config.app].all)),w=t.ref(""),S=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:k.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...k.enabled,label:a("search.filter.field.enabled")},name:k.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),x=t.computed(()=>g.value&&!!w.value),I=t.computed(()=>x.value?N(nt.list.konnect.search):C.value),{fetcher:T,fetcherState:A,fetcherCacheKey:v}=ue.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier,...x.value?{isExactMatch:!1}:{}})),I),P=()=>{w.value=""},O=()=>{v.value++},R=t.ref(null),Q=L=>{const M=[];return(L.route?.id||L.route_id)&&M.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),(L.service?.id||L.service_id)&&M.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),(L.consumer?.id||L.consumer_id)&&M.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),(L.consumer_group?.id||L.consumer_group_id)&&M.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),M.length?M:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},pe=async(L,M)=>L===null?!1:await i.canRetrieveScopedEntity?.(L,M.id),H=(L,M)=>M[L]?.id,j=(L,M)=>{const Y=H(L,M);return Y&&i.config?.getScopedEntityViewRoute?i.config.getScopedEntityViewRoute(L,Y):null},D=(L,M)=>{const Y=j(L,M);Y&&l.push(Y)},ee=t.ref(!1),K=t.ref(null),J=t.computed(()=>{const L={action:"disable",id:"",name:""};if(K.value){const{enabled:M,id:Y,name:ae}=K.value;L.action=M?"disable":"enable",L.id=Y,L.name=r.getDisplayName(ae)||Y}return L}),ce=L=>{ee.value=!0,K.value=L},z=()=>{ee.value=!1,K.value=null},oe=async()=>{if(!await i.canEdit?.(K.value)||!K.value)return;let M=`${i.config.apiBaseUrl}${nt.item[i.config.app]?.[i.config?.entityType?"forEntity":"all"].replace(/{entityType}/gi,i.config?.entityType||"").replace(/{entityId}/gi,i.config?.entityId||"")}`.replace(/{id}/gi,K.value.id||"");i.config.app==="konnect"&&(M=M.replace(/{controlPlaneId}/gi,i.config?.controlPlaneId||"")),M=M.replace(/\/{workspace}/gi,i.config?.workspace?`/${i.config.workspace}`:"");const Y=!K.value.enabled;try{const ae=i.config?.app;let me;w.value&&ae==="konnect"&&(me=await c.get(M));const{data:Ae}=ae==="konnect"?await c.put(M,{...me?.data||K.value,enabled:Y},{timeout:12e4}):await c.patch(M,{...K.value,enabled:Y},{timeout:12e4});o("toggle-enabled",Y,Ae),K.value.enabled=Y}catch(ae){o("error",ae)}},Pe=async(L,M)=>{const Y=L.id;if(!await M(Y)){o("copy:error",{entity:L,field:"id",message:a("errors.copy")});return}o("copy:success",{entity:L,field:"id",message:a("copy.success",{val:Y})})},Ee=async(L,M)=>{const Y=JSON.stringify(L);if(!await M(Y)){o("copy:error",{entity:L,message:a("errors.copy")});return}o("copy:success",{entity:L,message:a("copy.success_brief")})},Ge=async L=>{await i.canRetrieve?.(L)&&l.push(i.config.getViewRoute(L))},se=L=>({label:a("actions.view"),to:i.config.getViewRoute(L)}),X=L=>({label:a("actions.edit"),to:i.config.getEditRoute(L)}),he=L=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(L)}),ve=t.ref(void 0),je=t.ref(!1),qe=t.ref(!1),Be=t.ref(""),Ve=ue.useDeleteUrlBuilder(i.config,C.value),$e=L=>{ve.value=L,je.value=!0},Ke=()=>{je.value=!1},de=async()=>{if(ve.value?.id){qe.value=!0;try{await c.delete(Ve(ve.value.id)),qe.value=!1,je.value=!1,v.value++,o("delete:success",ve.value)}catch(L){Be.value=L.response?.data?.message||L.message||a("errors.delete"),o("error",L)}finally{qe.value=!1}}},Z=()=>{l.push(i.config.createRoute)};t.watch(A,L=>{if(L.status===ue.FetcherStatus.Error){R.value={title:a("errors.general")},L.error?.response?.data?.message&&(R.value.message=L.error.response.data.message),o("error",L.error);return}R.value=null});const U=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")}),ne=t.ref(!1);return t.onBeforeMount(async()=>{ne.value=await i.canCreate(),ne.value&&(U.value.title=a("plugins.list.empty_state.title"),U.value.ctaText=a("actions.create"))}),(L,M)=>{const Y=t.resolveComponent("KButton"),ae=t.resolveComponent("KEmptyState"),me=t.resolveComponent("RouterLink"),Ae=t.resolveComponent("KBadge"),ze=t.resolveComponent("KTruncate"),ot=t.resolveComponent("KInputSwitch"),F=t.resolveComponent("KDropdownItem"),te=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",k5,[t.createVNode(t.unref(ue.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":_.value,"empty-state-options":U.value,"enable-entity-actions":"","error-message":R.value,fetcher:t.unref(T),"fetcher-cache-key":t.unref(v),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:w.value,"table-headers":t.unref(b),title:e.title,"title-tag":e.titleTag,onClearSearchInput:P,"onClick:row":M[5]||(M[5]=G=>Ge(G)),onSort:O,onState:t.unref(u)},t.createSlots({"toolbar-filter":t.withCtx(()=>[g.value?(t.openBlock(),t.createBlock(b5,{key:0,modelValue:w.value,"onUpdate:modelValue":M[0]||(M[0]=G=>w.value=G),"entity-id":i.config?.entityId,"entity-type":i.config?.entityType},null,8,["modelValue","entity-id","entity-type"])):(t.openBlock(),t.createBlock(t.unref(ue.EntityFilter),{key:1,modelValue:w.value,"onUpdate:modelValue":M[1]||(M[1]=G=>w.value=G),config:S.value},null,8,["modelValue","config"]))]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",w5,[!p.value&&f.value?(t.openBlock(),t.createBlock(Y,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:M[2]||(M[2]=G=>L.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(ue.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(Y,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:G})=>[t.createElementVNode("div",C5,[t.createVNode(t.unref(Sr.PluginIcon),{class:"plugin-icon",name:G.name,size:24},null,8,["name"]),g.value?(t.openBlock(),t.createElementBlock("div",E5,[t.createElementVNode("span",N5,t.toDisplayString(t.unref(r).getDisplayName(G.name)),1)])):(t.openBlock(),t.createElementBlock("div",S5,[G.instance_name?(t.openBlock(),t.createElementBlock("span",A5,t.toDisplayString(G.instance_name),1)):(t.openBlock(),t.createElementBlock("span",x5,t.toDisplayString(t.unref(r).getDisplayName(G.name)),1)),G.instance_name?(t.openBlock(),t.createElementBlock("span",I5,t.toDisplayString(t.unref(r).getDisplayName(G.name)),1)):t.createCommentVNode("",!0)]))])]),instanceName:t.withCtx(({row:G})=>[t.createTextVNode(t.toDisplayString(G.instance_name||"-"),1)]),appliedTo:t.withCtx(({row:G})=>[Q(G).length>0?(t.openBlock(),t.createBlock(ze,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Q(G),(le,Ie)=>(t.openBlock(),t.createBlock(t.unref(ue.PermissionsWrapper),{key:le.badgeText,"auth-function":()=>pe(le.type,G),"force-show":""},{default:t.withCtx(({isAllowed:tt})=>[g.value?(t.openBlock(),t.createElementBlock("div",v5,[tt&&le.type&&j(le.type,G)?(t.openBlock(),t.createBlock(me,{key:0,class:"scope-link",to:j(le.type,G)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(le.badgeText),1)]),_:2},1032,["to"])):(t.openBlock(),t.createElementBlock("span",T5,t.toDisplayString(le.badgeText),1)),Ie<Q(G).length-1?(t.openBlock(),t.createElementBlock("span",B5,", ")):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(Ae,{key:1,class:t.normalizeClass(tt||"disabled"),onClick:t.withModifiers(ge=>tt&&le.type&&D(le.type,G),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(le.badgeText),1)]),_:2},1032,["class","onClick"]))]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",O5,"-"))]),enabled:t.withCtx(({row:G})=>[g.value?(t.openBlock(),t.createBlock(Ae,{key:0,appearance:G.enabled?"success":"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(G.enabled?t.unref(a)("actions.enabled"):t.unref(a)("actions.disabled")),1)]),_:2},1032,["appearance"])):(t.openBlock(),t.createBlock(t.unref(ue.PermissionsWrapper),{key:1,"auth-function":async()=>!!(await e.canEdit(G)&&await e.canToggle(G)),"force-show":""},{default:t.withCtx(({isAllowed:le})=>[t.createElementVNode("div",{onClick:M[4]||(M[4]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(ot,{disabled:!le,"disabled-tooltip-text":!le&&e.config.getToggleDisabledTooltip?.(G)||void 0,"model-value":G.enabled,onClick:t.withModifiers(Ie=>le&&ce(G),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]),_:2},1032,["auth-function"]))]),ordering:t.withCtx(({rowValue:G})=>[g.value?(t.openBlock(),t.createElementBlock("span",P5,t.toDisplayString(t.unref(qf)(G)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)):(t.openBlock(),t.createBlock(Ae,{key:1,appearance:t.unref(qf)(G)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(qf)(G)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"]))]),tags:t.withCtx(({rowValue:G})=>[t.createVNode(t.unref(ue.TableTags),{tags:G},null,8,["tags"])]),updated_at:t.withCtx(({row:G,rowValue:le})=>[t.createTextVNode(t.toDisplayString(t.unref(s)(le??G.created_at)),1)]),actions:t.withCtx(({row:G})=>[t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:le})=>[t.createVNode(F,{"data-testid":"action-entity-copy-id",onClick:Ie=>Pe(G,le)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:le})=>[t.createVNode(F,{"data-testid":"action-entity-copy-json",onClick:Ie=>Ee(G,le)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(t.unref(ue.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(G)},{default:t.withCtx(()=>[t.createVNode(F,{"data-testid":"action-entity-view","has-divider":"",item:se(G)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(ue.PermissionsWrapper),{"auth-function":()=>e.canEdit(G)},{default:t.withCtx(()=>[t.createVNode(F,{"data-testid":"action-entity-edit",item:X(G)},null,8,["item"])]),_:2},1032,["auth-function"]),g.value?(t.openBlock(),t.createBlock(t.unref(ue.PermissionsWrapper),{key:0,"auth-function":async()=>!!(await e.canEdit(G)&&await e.canToggle(G)),"force-show":""},{default:t.withCtx(({isAllowed:le})=>[t.createVNode(F,{"data-testid":"action-entity-toggle-enabled",disabled:!le,onClick:Ie=>le&&ce(G)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(G.enabled?t.unref(a)("actions.disable"):t.unref(a)("actions.enable")),1)]),_:2},1032,["disabled","onClick"])]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),!m.value&&!h.value&&t.unref(y)?(t.openBlock(),t.createBlock(t.unref(ue.PermissionsWrapper),{key:1,"auth-function":()=>e.canConfigureDynamicOrdering(G)},{default:t.withCtx(()=>[he(G)?(t.openBlock(),t.createBlock(F,{key:0,"data-testid":"action-entity-config-dyn-order",item:he(G)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(ue.PermissionsWrapper),{"auth-function":()=>e.canDelete(G)},{default:t.withCtx(()=>[t.createVNode(F,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:le=>$e(G)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!w.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>[t.createVNode(ae,{"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:t.unref(a)("plugins.list.empty_state_v2.description"),title:t.unref(a)("plugins.list.empty_state_v2.title")},t.createSlots({icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[ne.value?(t.openBlock(),t.createBlock(Y,{key:0,"data-testid":"entity-create-button",onClick:Z},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(Y,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:M[3]||(M[3]=G=>L.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[e.config?.isControlPlaneGroup?{name:"default",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(ue.EntityToggleModal),{action:J.value.action,"entity-id":J.value.id,"entity-name":J.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":oe,visible:ee.value,onCancel:z,onProceed:z},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(ue.EntityDeleteModal),{"action-pending":qe.value,description:t.unref(a)("delete.description"),"entity-name":ve.value&&(ve.value.instance_name||ve.value.name||ve.value.id),"entity-type":t.unref(ue.EntityTypes).Plugin,error:Be.value,title:t.unref(a)("delete.title"),visible:je.value,onCancel:Ke,onProceed:de},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-668423ed"]]),$5={class:"plugin-select-card-wrapper"},R5=["data-testid"],L5={class:"plugin-card-header"},D5={class:"plugin-card-title"},M5={key:0,class:"plugin-card-actions"},F5=["data-testid","title"],j5={key:0,class:"plugin-card-text"},U5={key:0,class:"custom-plugin-badges"},K5=["title"],pg=xe(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canDeleteClonedPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},canEditClonedPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const r=n,o=e,i=Ar.useRouter(),{i18n:{t:a}}=it.useI18n(),s=t.computed(()=>o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?o.plugin.clonedFromRef:o.plugin.id),l=t.computed(()=>!C.value||N.value?[]:o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?[a("plugins.select.cloned_from_badge",{link:o.plugin.clonedFromRef})]:o.plugin.customPluginType==="streaming"?[a("plugins.select.streamed_custom_badge")]:[a("plugins.select.installed_custom_badge")]),c=t.computed(()=>!!(!o.plugin.available||o.plugin.disabledMessage)),d=t.computed(()=>typeof o.config.getCustomEditRoute=="function"),u=t.computed(()=>o.plugin.customPluginType==="cloned"),f=t.computed(()=>u.value?o.canDeleteClonedPlugin:o.canDeleteCustomPlugin),p=t.computed(()=>u.value?o.canEditClonedPlugin:o.canEditCustomPlugin),m=t.computed(()=>!(o.config.app==="kongManager"&&o.plugin.customPluginType==="schema")),h=t.computed(()=>p.value&&d.value),y=t.computed(()=>f.value),g=t.computed(()=>!!(C.value&&!N.value&&m.value&&o.navigateOnClick&&(y.value||h.value))),_=()=>{i.push(o.config.getCreateRoute(o.plugin.id))},k=()=>{o.navigateOnClick?_():b()},b=()=>{r("plugin-clicked",o.plugin)},N=t.computed(()=>o.plugin.id==="custom-plugin-create"),C=t.computed(()=>o.plugin.group===q.PluginGroup.CUSTOM_PLUGINS),w=()=>{C.value&&r("custom-plugin-delete")},S=(I,T)=>{const A=o.config;typeof A.getCustomEditRoute=="function"&&i.push(A.getCustomEditRoute(I,T))},x=()=>{if(!c.value&&C.value){const I=o.config;N.value&&I.createCustomRoute?i.push(I.createCustomRoute):C.value&&_()}};return(I,T)=>{const A=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),P=t.resolveComponent("KDropdownMenu"),O=t.resolveComponent("KBadge"),R=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",$5,[t.createVNode(R,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:c.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:T[1]||(T[1]=Q=>c.value||C.value?void 0:k())},[t.createElementVNode("div",L5,[t.createElementVNode("div",D5,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!C.value})},t.toDisplayString(e.plugin.name),3)]),g.value?(t.openBlock(),t.createElementBlock("div",M5,[t.createVNode(P,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(A,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[h.value?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"edit-plugin-schema",onClick:T[0]||(T[0]=t.withModifiers(Q=>S(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),y.value?(t.openBlock(),t.createBlock(v,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":h.value,onClick:t.withModifiers(w,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["has-divider"])):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":C.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:x},[t.createVNode(t.unref(Sr.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:s.value,size:55},null,8,["alt","name"]),e.plugin.description||l.value.length?(t.openBlock(),t.createElementBlock("div",j5,[l.value.length?(t.openBlock(),t.createElementBlock("div",U5,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,Q=>(t.openBlock(),t.createBlock(O,{key:Q,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Q),1)]),_:2},1024))),128))])):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,K5)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,F5),t.createElementVNode("div",{class:"plugin-card-footer",onClick:x},t.toDisplayString(N.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,R5)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-eb0977c9"]]),_d=xe(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=it.useI18n(),{getMessageFromError:a}=ue.useErrors(),{axiosInstance:s}=ue.useAxios(r.config?.axiosRequestConfig),l=t.computed(()=>u.value?i("delete.plugin_schema_in_use_title"):i("delete.title",{name:r.plugin?.name||i("delete.custom_plugin")})),c=t.ref(!1),d=t.ref(""),u=t.ref(!1),f=t.computed(()=>{const m=r.plugin.customPluginType;if(r.config.app==="konnect"){const h=m==="streaming"?nt.select[r.config.app].streamingCustomPluginItem:m==="cloned"?nt.customPlugin[r.config.app].cloned.edit:nt.select[r.config.app].schemaCustomPluginItem;return`${r.config.apiBaseUrl}${h}`.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"").replace(/{pluginId}/gi,r.plugin.id)}if(r.config.app==="kongManager"&&m&&m!=="schema"){const h=m==="cloned"?nt.customPlugin[r.config.app].cloned.edit:nt.customPlugin[r.config.app].streamed.edit;return`${r.config.apiBaseUrl}${h}`.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{pluginId}/gi,r.plugin.id)}return null}),p=async()=>{if(c.value=!0,d.value="",!r.plugin?.name){c.value=!1;return}try{f.value&&await s.delete(f.value),o("proceed")}catch(m){JC(m)?u.value=!0:d.value=a(m)}finally{c.value=!1}};return(m,h)=>{const y=t.resolveComponent("KAlert"),g=t.resolveComponent("KButton"),_=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(ue.EntityDeleteModal),{key:0,"action-pending":c.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(i)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(ue.EntityTypes).Plugin,error:d.value,"need-confirm":"",title:l.value,visible:"",onCancel:h[0]||(h[0]=k=>m.$emit("closed")),onProceed:p},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(_,{key:1,"action-button-disabled":c.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:l.value,visible:"",onCancel:h[2]||(h[2]=k=>m.$emit("closed"))},{default:t.withCtx(()=>[t.createVNode(y,{appearance:"danger",message:t.unref(i)("delete.plugin_schema_in_use_message")},null,8,["message"])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(g,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:h[1]||(h[1]=k=>m.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9514182c"]]),q5={class:"custom-plugins-grid"},G5={class:"empty-state-title"},z5={class:"empty-state-description"},mg=310,H5=xe(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canDeleteClonedPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},canEditClonedPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=it.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:s}=it.usePluginHelpers(),l=t.ref(!0),c=C=>{o("plugin-clicked",C)},d=t.computed(()=>{const C=JSON.parse(JSON.stringify(r.pluginList))[q.PluginGroup.CUSTOM_PLUGINS]||[];return r.canCreateCustomPlugin&&r.navigateOnClick&&r.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:q.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(C):C}),u=t.ref(!1),f=t.ref(null),p=C=>{u.value=!0,f.value={id:C.id,name:C.name,customPluginType:C.customPluginType}},m=C=>{C&&(o("revalidate"),o("delete:success",f.value?.name||"")),u.value=!1,f.value=null},h=t.ref(mg),y=t.ref(null),g=t.ref(null),_=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),k=t.ref(!1),b=()=>{h.value=Math.max(a(g.value),mg),N()},N=()=>{g.value?.length&&(k.value=s(y.value,g.value?.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),mg),N(),window?.addEventListener("resize",b)}),t.onUnmounted(()=>{window?.removeEventListener("resize",b)}),(C,w)=>{const S=t.resolveComponent("KEmptyState"),x=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",q5,[d.value.length?(t.openBlock(),t.createBlock(x,{key:1,modelValue:l.value,"onUpdate:modelValue":w[0]||(w[0]=I=>l.value=I),class:"custom-plugins-collapse","data-testid":`${t.unref(q.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(q.PluginGroup).CUSTOM_PLUGINS,"trigger-label":l.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:y,class:"plugin-card-container",style:t.normalizeStyle(_.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(I,T)=>(t.openBlock(),t.createBlock(pg,{key:`plugin-card-${T}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:I,onCustomPluginDelete:A=>p(I),onPluginClicked:c},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[k.value?void 0:{name:"trigger",fn:t.withCtx(()=>[w[2]||(w[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(S,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",G5,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",z5,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&f.value?(t.openBlock(),t.createBlock(_d,{key:2,config:e.config,plugin:f.value,onClosed:m,onProceed:w[1]||(w[1]=I=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-909f4d5f"]]),gg=310,QC=xe(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Boolean,default:!1},canDeleteClonedPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},canEditClonedPlugin:{type:Boolean,default:!1}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked","delete:success"],["update:modelValue"]),setup(e,{emit:n}){const r=t.useModel(e,"modelValue"),o=e,i=n,{i18n:{t:a}}=it.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=it.usePluginHelpers(),c=t.ref(gg),d=t.ref(null),u=t.ref(null),f=t.computed(()=>r.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=t.ref(!1),h=t.ref(null),y=b=>{m.value=!0,h.value={id:b.id,name:b.name,customPluginType:b.customPluginType}},g=b=>{b&&i("delete:success",h.value?.name||""),m.value=!1,h.value=null},_=()=>{c.value=Math.max(s(u.value),gg),k()},k=()=>{u.value?.length&&(p.value=l(d.value,u.value?.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(s(u.value),gg),k(),window?.addEventListener("resize",_)}),t.onUnmounted(()=>{window?.removeEventListener("resize",_)}),(b,N)=>{const C=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(C,{modelValue:r.value,"onUpdate:modelValue":N[0]||(N[0]=w=>r.value=w),class:"plugins-collapse","data-testid":`${o.name}-collapse`,title:o.name,"trigger-label":r.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(f.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.plugins,w=>(t.openBlock(),t.createBlock(pg,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onCustomPluginDelete:S=>y(w),onPluginClicked:S=>i("plugin-clicked",w)},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[N[2]||(N[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"]),m.value&&h.value?(t.openBlock(),t.createBlock(_d,{key:0,config:e.config,plugin:h.value,onClosed:g,onProceed:N[1]||(N[1]=w=>g(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-7f683497"]]),W5={class:"plugin-select-grid"},Y5={class:"empty-state-title"},J5={class:"empty-state-description"},hg=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Boolean,default:!1},canDeleteClonedPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},canEditClonedPlugin:{type:Boolean,default:!1},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked","delete:success"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=it.useI18n(),a=t.ref(!1),s=t.ref(Ap.reduce((d,u)=>(d[u]=!1,d),{})),l=d=>{o("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(r.pluginList));return r.config.app==="konnect"&&delete d[q.PluginGroup.CUSTOM_PLUGINS],d});return(d,u)=>{const f=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",W5,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(f,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Y5,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",J5,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!r.hideHighlightedPlugins&&r.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(QC,{key:1,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=p=>a.value=p),"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,name:r.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:r.highlightedPlugins,"onDelete:success":u[1]||(u[1]=p=>o("delete:success",p)),onPluginClicked:u[2]||(u[2]=p=>l(p))},null,8,["modelValue","can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Ap),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(QC,{modelValue:s.value[p],"onUpdate:modelValue":m=>s.value[p]=m,"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],"onDelete:success":u[3]||(u[3]=m=>o("delete:success",m)),onPluginClicked:u[4]||(u[4]=m=>l(m))},null,8,["modelValue","onUpdate:modelValue","can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),X5={class:"kong-ui-entities-plugin-select-form"},Z5={class:"plugins-filter-input-container"},Q5={key:0},eH={key:3,"aria-live":"polite",class:"plugins-results-container"},tH={"data-testid":"kong-tab"},nH={class:"tab-description"},rH={"data-testid":"custom-tab"},oH={class:"tab-description"},iH={key:1},aH=xe(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||e.app==="kongManager"&&!e.workspace||e.app==="konnect"&&(!e.controlPlaneId||e.workspace)||!e.getCreateRoute)},customPluginSupport:{type:[String,Array],default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canReadCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteClonedPlugin:{type:Function,required:!1},canReadClonedPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditClonedPlugin:{type:Function,required:!1},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){const r=e,o=n,i=Ar.useRoute(),a=Ar.useRouter(),{i18n:{t:s}}=it.useI18n(),{pluginMetaData:l}=it.usePluginMetaData(),{getMessageFromError:c}=ue.useErrors(),{sortAlpha:d,objectsAreEqual:u}=ue.useHelpers(),f=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),y=t.ref(""),g=t.ref([]),_=t.ref([]),k=t.ref([]),b=t.ref({}),N=t.ref([]),C=t.ref(null),w=t.ref(!1),{axiosInstance:S}=ue.useAxios(r.config?.axiosRequestConfig),x=U=>U==="none"||U==="disabled"?new Set:new Set(Array.isArray(U)?U:[U]),I=t.computed(()=>x(r.customPluginSupport)),T=t.computed(()=>[...I.value].sort().join("|")),A=t.computed(()=>r.customPluginSupport==="disabled"),v=t.computed(()=>A.value||I.value.size>0),P=t.computed(()=>I.value.has("streaming")),O=t.computed(()=>I.value.has("cloned")),R=U=>gi.isAxiosError(U)&&U.code==="ERR_CANCELED",Q=U=>c(U).toLowerCase().includes("requires a license"),pe=t.computed(()=>b.value?Object.entries(b.value).filter(([U])=>U!==q.PluginGroup.CUSTOM_PLUGINS).reduce((U,[,ne])=>{for(const L of ne??[])U[L.id]=L;return U},{}):{}),H=t.computed(()=>{if(!b.value)return{};const U=f.value.toLowerCase(),ne=JSON.parse(JSON.stringify(b.value));for(const L in b.value){const M=b.value[L]?.filter(Y=>Y.name.toLowerCase().includes(U)||Y.id.toLowerCase().includes(U)||Y.group.toLowerCase().includes(U)||Y.clonedFromRef?.toLowerCase().includes(U)||Y.customPluginType?.toLowerCase().includes(U))||[];M.length?ne[L]=M:delete ne[L]}return ne}),j=t.computed(()=>r.highlightedPluginIds.reduce((U,ne)=>{const L=pe.value[ne];return L&&U.push(L),U},[])),D=t.computed(()=>Object.keys(H.value).length>0),ee=t.computed(()=>Object.keys(b.value).length>0&&!D.value),K=t.computed(()=>r.config.app!=="konnect"||!v.value?[]:[{hash:"#kong",title:s("plugins.select.tabs.kong.title")},{hash:"#custom",title:s("plugins.select.tabs.custom.title"),disabled:A.value}]),J=t.computed(()=>{let U=K.value.length&&(i?.hash||K.value[0]?.hash)||"";return U==="#custom"&&A.value&&(U="#kong"),U}),ce=()=>{const U=new Map(k.value.map(M=>[M.name,M])),ne=new Set(_.value.map(M=>M.name)),L=new Set([...ne,...U.keys()]);return[...new Set([...Object.keys({...r.availableOnServer?{}:l}),...g.value,...L])].filter(M=>!r.ignoredPlugins.includes(M)).filter(M=>{if(!r.config.entityType)return M;const Y=U.has(M)?U.get(M).ref:M;return r.config.entityType==="services"&&l[Y]&&!l[Y].scope.includes(q.PluginScope.SERVICE)||r.config.entityType==="routes"&&l[Y]&&!l[Y].scope.includes(q.PluginScope.ROUTE)||r.config.entityType==="consumer_groups"&&l[Y]&&!l[Y].scope.includes(q.PluginScope.CONSUMER_GROUP)||r.config.entityType==="consumers"&&l[Y]&&!l[Y].scope.includes(q.PluginScope.CONSUMER)?!1:M}).reduce((M,Y)=>{const ae=l[Y]&&l[Y].name||Y,me=U.get(Y),Ae=ne.has(Y),ze={...l[Y],id:Y,name:ae,available:g.value.includes(Y)||!!me||Ae,disabledMessage:"",group:l[Y]?.group||q.PluginGroup.CUSTOM_PLUGINS};ze.group===q.PluginGroup.CUSTOM_PLUGINS&&(me?(ze.customPluginType="cloned",ze.clonedFromRef=me.ref):Ae?ze.customPluginType="streaming":ze.customPluginType="schema"),r.disabledPlugins&&(ze.disabledMessage=r.disabledPlugins[Y]);const ot=ze.group||s("plugins.select.misc_plugins");let F=M[ot];return F||(F=[]),F.push(ze),F.sort(d("name")),M[ot]=F,M},{})},z=t.computed(()=>{let U=`${r.config.apiBaseUrl}${nt.select[r.config.app].availablePlugins}`;if(r.config.app==="konnect")U=U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"");else if(r.config.app==="kongManager"&&r.config.gatewayInfo?.edition==="community")return`${r.config.apiBaseUrl}${nt.select[r.config.app].availablePluginsForOss}`;return U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}),oe=t.computed(()=>{if(P.value){let U=`${r.config.apiBaseUrl}${nt.select[r.config.app].streamingCustomPlugins}`;return r.config.app==="konnect"?U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}return null}),Pe=t.computed(()=>{if(O.value){let U=`${r.config.apiBaseUrl}${nt.select[r.config.app].clonedPlugins}`;return r.config.app==="konnect"?U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}return null}),Ee=t.computed(()=>{if(r.config.entityType&&r.config.entityId){let U=`${r.config.apiBaseUrl}${nt.list[r.config.app].forEntity}`;return r.config.app==="konnect"&&(U=U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"")),U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{entityType}/gi,r.config.entityType||"").replace(/{entityId}/gi,r.config.entityId||"")}return""}),Ge=U=>{a.replace({hash:U,query:i.query})};t.watch(()=>r.disabledPlugins,(U,ne)=>{!u(U,ne)&&!p.value&&(b.value=ce())}),t.watch(()=>r.ignoredPlugins,(U,ne)=>{!u(U,ne)&&!p.value&&(b.value=ce())}),t.watch(p,U=>{o("loading",U)});const se=async U=>{if(!Ee.value){N.value=[];return}try{const{data:{data:ne}}=await S.get(Ee.value,{signal:U});ne?.length&&(N.value=ne.reduce((L,M)=>(M.name&&L.push(M.name),L),[]))}catch(ne){R(ne)||(N.value=[])}},X=async U=>{const ne=[];oe.value&&Be.value&&ne.push(yd(S,oe.value,U).then(L=>{_.value=L}).catch(L=>{R(L)||y.value||(y.value=c(L)??s("plugins.select.tabs.custom.fetch_error"))})),Pe.value&&Ke.value&&ne.push(yd(S,Pe.value,U).then(L=>{k.value=L}).catch(L=>{if(R(L))return;const M=Q(L);(M||!y.value)&&(y.value=M?s("plugins.select.tabs.custom.license_required"):c(L)??s("plugins.select.tabs.custom.fetch_error"))})),ne.push(se(U)),await Promise.allSettled(ne)},he=async()=>{C.value?.abort(),C.value=new AbortController,p.value=!0,m.value=!1,h.value="",y.value="",g.value=[],_.value=[],k.value=[],N.value=[];try{const{data:U}=await S.get(z.value,{signal:C.value.signal});if(r.config.app==="konnect"){const{names:ne}=U;g.value=ne||[]}else if(r.config.app==="kongManager"){const{plugins:{available_on_server:ne}}=U;g.value=ne?Object.keys(ne):[]}await X(C.value.signal),b.value=ce()}catch(U){R(U)||(m.value=!0,h.value=c(U))}finally{C.value?.signal.aborted||(p.value=!1)}},ve=t.ref(!1),je=t.ref(!1),qe=t.ref(!1),Be=t.ref(!1),Ve=t.ref(!1),$e=t.ref(!1),Ke=t.ref(!1),de=U=>{_.value=_.value.filter(ne=>ne.name!==U),k.value=k.value.filter(ne=>ne.name!==U),b.value=ce(),o("delete-custom:success",U)};t.onBeforeMount(async()=>{const[U,ne,L,M,Y,ae,me]=await Promise.all([r.canCreateCustomPlugin(),r.canEditCustomPlugin(),r.canDeleteCustomPlugin(),r.canReadCustomPlugin(),r.canEditClonedPlugin?r.canEditClonedPlugin():Promise.resolve(null),r.canDeleteClonedPlugin?r.canDeleteClonedPlugin():Promise.resolve(null),r.canReadClonedPlugin()]);ve.value=U,je.value=ne,qe.value=L,Be.value=M,Ve.value=Y??ne,$e.value=ae??L,Ke.value=me});const Z=t.useTemplateRef("filter-input");return t.onMounted(async()=>{w.value=!0,Z.value?.input?.focus(),await he()}),t.watch(()=>[r.config.app==="konnect"?r.config.controlPlaneId:void 0,r.config.workspace,r.config.entityType,r.config.entityId,r.config.app==="kongManager"?r.config.gatewayInfo?.edition:void 0,T.value,A.value],async()=>{w.value&&await he()}),t.onBeforeUnmount(()=>{C.value?.abort()}),(U,ne)=>{const L=t.resolveComponent("KInput"),M=t.resolveComponent("KSkeletonBox"),Y=t.resolveComponent("KSkeleton"),ae=t.resolveComponent("KEmptyState"),me=t.resolveComponent("KTooltip"),Ae=t.resolveComponent("KAlert"),ze=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",X5,[t.createElementVNode("div",Z5,[t.createVNode(L,{ref:"filter-input",modelValue:f.value,"onUpdate:modelValue":ne[0]||(ne[0]=ot=>f.value=ot),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",Q5,[t.createVNode(M,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Y,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ae,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(h.value),1)]),_:1})):ee.value&&f.value?(t.openBlock(),t.createBlock(ae,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(s)("search.no_results",{filter:f.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",eH,[K.value.length?(t.openBlock(),t.createBlock(ze,{key:0,modelValue:J.value,"onUpdate:modelValue":ne[3]||(ne[3]=ot=>J.value=ot),"data-testid":"plugins-tabs",tabs:K.value,onChange:Ge},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",tH,[t.createElementVNode("p",nH,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(hg,{"can-delete-cloned-plugin":$e.value,"can-delete-custom-plugin":qe.value,"can-edit-cloned-plugin":Ve.value,"can-edit-custom-plugin":je.value,config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":j.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":H.value,"onDelete:success":de,onPluginClicked:ne[1]||(ne[1]=ot=>U.$emit("plugin-clicked",ot))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",rH,[t.renderSlot(U.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",oH,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),y.value?(t.openBlock(),t.createBlock(Ae,{key:0,appearance:"warning",class:"custom-plugins-warning",message:y.value},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(H5,{"can-create-custom-plugin":ve.value,"can-delete-cloned-plugin":$e.value,"can-delete-custom-plugin":qe.value,"can-edit-cloned-plugin":Ve.value,"can-edit-custom-plugin":je.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":H.value,"onDelete:success":de,onPluginClicked:ne[2]||(ne[2]=ot=>U.$emit("plugin-clicked",ot))},null,8,["can-create-custom-plugin","can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[A.value?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(me,{"max-width":"300",text:t.unref(s)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createElementBlock("div",iH,[y.value?(t.openBlock(),t.createBlock(Ae,{key:0,appearance:"warning",class:"custom-plugins-warning",message:y.value},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(hg,{"can-delete-cloned-plugin":$e.value,"can-delete-custom-plugin":qe.value,"can-edit-cloned-plugin":Ve.value,"can-edit-custom-plugin":je.value,config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":j.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":H.value,"onDelete:success":de,onPluginClicked:ne[4]||(ne[4]=ot=>U.$emit("plugin-clicked",ot))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])]))]))])}}}),[["__scopeId","data-v-40b228cd"]]),sH={key:0,class:"highlighted-match"},e1=xe(t.defineComponent({__name:"HighlightedText",props:{text:{},indices:{}},setup(e){const n=e,r=t.computed(()=>ZR(n.text,n.indices));return(o,i)=>(t.openBlock(),t.createElementBlock("span",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,(a,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:s},[a.highlighted?(t.openBlock(),t.createElementBlock("span",sH,t.toDisplayString(a.text),1)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.text),1)],64))],64))),128))]))}}),[["__scopeId","data-v-91ae2f75"]]),lH={class:"plugin-select-card-wrapper","data-testid":"plugin-catalog-card-wrapper"},cH={class:"plugin-card-header"},dH={class:"plugin-card-title"},uH={key:0,class:"plugin-card-actions"},fH=["data-testid","title"],pH={key:0},mH=["title"],gH={class:"plugin-card-footer"},hH={class:"plugin-card-footer-extra"},yH={key:0,class:"custom-plugin-badges"},_H=xe(t.defineComponent({__name:"PluginCatalogCard",props:{config:{},plugin:{},canDeleteCustomPlugin:{type:Boolean},canDeleteClonedPlugin:{type:Boolean},canEditCustomPlugin:{type:Boolean},canEditClonedPlugin:{type:Boolean}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const r=n,o=e,i=Ar.useRouter(),{i18n:{t:a}}=it.useI18n(),s=t.computed(()=>o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?o.plugin.clonedFromRef:o.plugin.id),l=t.computed(()=>!b.value||k.value?[]:o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?[a("plugins.select.cloned_from_badge",{link:o.plugin.clonedFromRef})]:o.plugin.customPluginType==="streaming"?[a("plugins.select.streamed_custom_badge")]:[a("plugins.select.installed_custom_badge")]),c=t.computed(()=>!!(!o.plugin.available||o.plugin.disabledMessage)),d=t.computed(()=>typeof o.config.getCustomEditRoute=="function"),u=t.computed(()=>o.plugin.customPluginType==="cloned"),f=t.computed(()=>u.value?!!o.canDeleteClonedPlugin:!!o.canDeleteCustomPlugin),p=t.computed(()=>u.value?!!o.canEditClonedPlugin:!!o.canEditCustomPlugin),m=t.computed(()=>!(o.config.app==="kongManager"&&o.plugin.customPluginType==="schema")),h=t.computed(()=>p.value&&d.value),y=t.computed(()=>f.value),g=t.computed(()=>!!(b.value&&!k.value&&m.value&&(y.value||h.value))),_=t.computed(()=>c.value?{}:b.value&&k.value&&o.config.createCustomRoute?o.config.createCustomRoute:o.config.getCreateRoute(o.plugin.id)),k=t.computed(()=>o.plugin.id==="custom-plugin-create"),b=t.computed(()=>o.plugin.group===q.PluginGroup.CUSTOM_PLUGINS),N=()=>{b.value&&r("custom-plugin-delete")},C=(w,S)=>{typeof o.config.getCustomEditRoute=="function"&&i.push(o.config.getCustomEditRoute(w,S))};return(w,S)=>{const x=t.resolveComponent("KButton"),I=t.resolveComponent("KDropdownItem"),T=t.resolveComponent("KDropdownMenu"),A=t.resolveComponent("KBadge"),v=t.resolveComponent("RouterLink"),P=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",lH,[t.createVNode(P,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createVNode(v,{class:t.normalizeClass(["plugin-select-card",{disabled:c.value}]),"data-testid":`${e.plugin.id}-card`,to:_.value},{default:t.withCtx(()=>[t.createElementVNode("div",cH,[t.createElementVNode("div",dH,[t.createVNode(t.unref(Sr.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:s.value,size:55},null,8,["alt","name"]),t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!b.value})},[t.createVNode(e1,{indices:e.plugin.matchedIndices,text:e.plugin.name},null,8,["indices","text"])],2)]),g.value?(t.openBlock(),t.createElementBlock("div",uH,[t.createVNode(T,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150",onClick:S[1]||(S[1]=t.withModifiers(()=>{},["stop","prevent"]))},{default:t.withCtx(()=>[t.createVNode(x,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[h.value?(t.openBlock(),t.createBlock(I,{key:0,"data-testid":"edit-plugin-schema",onClick:S[0]||(S[0]=t.withModifiers(O=>C(e.plugin.name,e.plugin.customPluginType),["stop","prevent"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),y.value?(t.openBlock(),t.createBlock(I,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":h.value,onClick:t.withModifiers(N,["stop","prevent"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["has-divider"])):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:"plugin-card-body","data-testid":`${e.plugin.id}-card-body`,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip")},[e.plugin.description?(t.openBlock(),t.createElementBlock("div",pH,[t.createElementVNode("div",{title:e.plugin.description},t.toDisplayString(e.plugin.description),9,mH)])):t.createCommentVNode("",!0)],8,fH),t.createElementVNode("div",gH,[t.createElementVNode("div",null,t.toDisplayString(k.value?t.unref(a)("actions.create_custom"):t.unref(a)("actions.configure")),1),t.createElementVNode("div",hH,[l.value.length?(t.openBlock(),t.createElementBlock("div",yH,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,O=>(t.openBlock(),t.createBlock(A,{key:O,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(O),1)]),_:2},1024))),128))])):t.createCommentVNode("",!0),t.renderSlot(w.$slots,"footer-extra",{},void 0,!0)])])]),_:3},8,["class","data-testid","to"])]),_:3},8,["text"])])}}}),[["__scopeId","data-v-9025e247"]]),bH=["data-testid"],kH={class:"group-icon-wrapper"},wH={class:"group-title-text"},CH=["data-testid"],EH=["data-testid"],t1=xe(t.defineComponent({__name:"PluginCatalogGroup",props:{config:{},name:{},plugins:{},canDeleteCustomPlugin:{type:Boolean},canDeleteClonedPlugin:{type:Boolean},canEditCustomPlugin:{type:Boolean},canEditClonedPlugin:{type:Boolean},showAllCard:{type:Boolean}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const r=e,o=t.computed(()=>{switch(r.name){case q.PluginGroup.FEATURED:return Ne.PopularIcon;case q.PluginGroup.AI:return Ne.BotIcon;case q.PluginGroup.ANALYTICS_AND_MONITORING:return Ne.AnalyticsIcon;case q.PluginGroup.AUTHENTICATION:return Ne.LockIcon;case q.PluginGroup.LOGGING:return Ne.ServiceDocumentIcon;case q.PluginGroup.MONETIZATION:return Ne.MoneyIcon;case q.PluginGroup.SECURITY:return Ne.SecurityIcon;case q.PluginGroup.SERVERLESS:return Ne.RuntimeServerlessIcon;case q.PluginGroup.TRAFFIC_CONTROL:return Ne.TrafficIcon;case q.PluginGroup.TRANSFORMATIONS:return Ne.TransformationIcon;case q.PluginGroup.DEPLOYMENT:return Ne.DeployIcon;case q.PluginGroup.CUSTOM_PLUGINS:return Ne.CodeblockIcon;default:return null}}),i=n,{i18n:{t:a}}=it.useI18n(),s=t.ref(!1),l=t.computed(()=>r.showAllCard?r.plugins:!s.value&&r.plugins.length>9?r.plugins.slice(0,8):r.plugins),c=t.computed(()=>!r.showAllCard&&!s.value&&r.plugins.length>9);function d(){s.value=!0}const u=t.ref(!1),f=t.ref(null),p=h=>{u.value=!0,f.value={id:h.id,name:h.name,group:h.group,customPluginType:h.customPluginType}},m=h=>{h&&(i("revalidate"),i("delete:success",{name:f.value?.name||"",group:f.value?.group,customPluginType:f.value?.customPluginType})),u.value=!1,f.value=null};return(h,y)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[e.name?(t.openBlock(),t.createElementBlock("div",{key:0,class:"group-title","data-testid":`plugin-group-${e.name}-title`},[t.createElementVNode("div",kH,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value),{color:`var(--kui-color-text-decorative-purple, ${t.unref(Uy)})`},null,8,["color"]))]),t.createElementVNode("span",wH,t.toDisplayString(e.name),1)],8,bH)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:"plugin-card-container","data-testid":`plugin-group-${e.name}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,g=>(t.openBlock(),t.createBlock(_H,{key:`plugin-card-${g.id}`,"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,plugin:g,onCustomPluginDelete:_=>p(g),onPluginClicked:_=>i("plugin-clicked",g)},t.createSlots({_:2},[g.gatewayVersion&&t.unref(QR)(t.unref(q.GATEWAY_VERSION_TIMESTAMP_MAP)[g.gatewayVersion])?{name:"footer-extra",fn:t.withCtx(()=>[t.createElementVNode("span",{class:"plugin-card-new-badge","data-testid":`plugin-card-${g.id}-new-badge`},t.toDisplayString(t.unref(a)("labels.new")),9,EH)]),key:"0"}:void 0]),1032,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","plugin","onCustomPluginDelete","onPluginClicked"]))),128)),c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"show-all-plugin-card",onClick:d},t.toDisplayString(t.unref(a)("plugins.select.show_all")),1)):t.createCommentVNode("",!0)],8,CH),u.value&&f.value?(t.openBlock(),t.createBlock(_d,{key:1,config:e.config,plugin:f.value,onClosed:m,onProceed:y[0]||(y[0]=g=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-f9a9a47c"]]),NH={class:"plugin-select-grid"},SH={class:"empty-state-title"},AH={class:"empty-state-description"},xH={key:1},IH=xe(t.defineComponent({__name:"PluginCatalogGrid",props:{config:{},pluginList:{},canDeleteCustomPlugin:{type:Boolean},canDeleteClonedPlugin:{type:Boolean},canEditCustomPlugin:{type:Boolean},canEditClonedPlugin:{type:Boolean}},emits:["plugin-clicked","delete:success"],setup(e,{emit:n}){const r=_c.concat(bc),o=n,{i18n:{t:i}}=it.useI18n(),a=s=>{o("plugin-clicked",s)};return(s,l)=>{const c=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",NH,[Object.keys(e.pluginList||[]).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(c,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",SH,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",AH,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r),d=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[e.pluginList?.[d]?(t.openBlock(),t.createElementBlock("div",{key:d},[t.createVNode(t1,{"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,name:d,plugins:e.pluginList[d]||[],"onDelete:success":l[0]||(l[0]=u=>o("delete:success",u)),onPluginClicked:l[1]||(l[1]=u=>a(u))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","name","plugins"])])):t.createCommentVNode("",!0)],64))),256)),e.pluginList?.["Query Result"]?(t.openBlock(),t.createElementBlock("div",xH,[t.createVNode(t1,{"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,plugins:e.pluginList["Query Result"]||[],"show-all-card":"","onDelete:success":l[2]||(l[2]=d=>o("delete:success",d)),onPluginClicked:l[3]||(l[3]=d=>a(d))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","plugins"])])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-e3bf3819"]]),vH={class:"plugin-name-cell","data-testid":"plugin-catalog-list-view-name"},TH=["title"],BH=["title"],OH={class:"plugin-action-cell","data-testid":"plugin-catalog-list-view-action"},PH={key:0,class:"plugin-more-action-cell","data-testid":"plugin-catalog-list-view-more-actions"},VH=xe(t.defineComponent({__name:"PluginCatalogListView",props:{config:{},pluginList:{},canDeleteCustomPlugin:{type:Boolean},canDeleteClonedPlugin:{type:Boolean},canEditCustomPlugin:{type:Boolean},canEditClonedPlugin:{type:Boolean}},emits:["revalidate","delete:success"],setup(e,{emit:n}){const r=n,o=e,{i18n:{t:i}}=it.useI18n(),a=T=>T.customPluginType==="cloned"&&T.clonedFromRef?i("plugins.select.cloned_from_badge",{link:T.clonedFromRef}):T.customPluginType==="streaming"?i("plugins.select.streamed_custom_badge"):T.customPluginType?i("plugins.select.installed_custom_badge"):"",s=t.computed(()=>w.value.some(T=>b(T.plugin))),l=t.computed(()=>{const T=[{key:"name",label:i("plugins.select.list.table_headers.name"),sortable:!0},{key:"description",label:i("plugins.select.list.table_headers.description")},{key:"action",hideLabel:!0}];return s.value&&T.push({key:"more-actions",hideLabel:!0}),T}),c=t.computed(()=>{if(!o.pluginList)return[];const T=Object.values(o.pluginList).flat();return Array.from(new Map(T.map(v=>[v.id,v])).values()).map(v=>({id:v.id,name:v.name,description:v.description,badge:a(v),plugin:v}))}),d=t.ref(0),u=t.ref(10),f=t.ref(1),p=t.ref(c.value),m=t.ref(!1),h=t.ref(null),y=T=>T.customPluginType==="cloned"&&T.clonedFromRef?T.clonedFromRef:T.id,g=T=>T?.customPluginType==="cloned",_=T=>!T?.customPluginType||o.config.app==="kongManager"&&T.customPluginType==="schema"?!1:g(T)?!!o.canDeleteClonedPlugin:!!o.canDeleteCustomPlugin,k=T=>!T?.customPluginType||typeof o.config.getCustomEditRoute!="function"||o.config.app==="kongManager"&&T.customPluginType==="schema"?!1:g(T)?!!o.canEditClonedPlugin:!!o.canEditCustomPlugin,b=T=>_(T)||k(T),N=T=>{m.value=!0,h.value={id:T.id,name:T.name,group:T.group,customPluginType:T.customPluginType}},C=T=>{T&&(r("revalidate"),r("delete:success",{name:h.value?.name||"",group:h.value?.group,customPluginType:h.value?.customPluginType})),m.value=!1,h.value=null},w=t.computed(()=>{const T=p.value.length,A=Math.max(1,Math.ceil(T/u.value)),P=(Math.min(f.value,A)-1)*u.value;return p.value.slice(P,P+u.value)});t.watch(c,()=>{p.value=[...c.value],f.value=1,d.value++});const S=({page:T})=>{f.value=T},x=({pageSize:T})=>{u.value=T},I=T=>{const{sortColumnKey:A,sortColumnOrder:v}=T;A==="name"&&(p.value=[...p.value].sort((P,O)=>{const R=(P[A]||"").toLowerCase(),Q=(O[A]||"").toLowerCase();return R<Q?v==="asc"?-1:1:R>Q?v==="asc"?1:-1:0}))};return(T,A)=>{const v=t.resolveComponent("KBadge"),P=t.resolveComponent("KButton"),O=t.resolveComponent("KDropdownItem"),R=t.resolveComponent("KDropdown"),Q=t.resolveComponent("KTableView"),pe=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(pe,{"data-testid":"plugin-catalog-list-view-card"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(Q,{key:d.value,class:"plugin-catalog-table","client-sort":"",data:w.value,"data-testid":"plugin-catalog-list-view-table",headers:l.value,"pagination-attributes":{totalCount:c.value.length,currentPage:f.value,initialPageSize:u.value,pageSizes:[10,25,50]},"resize-columns":"","row-key":"id",onPageChange:S,onPageSizeChange:x,onSort:I},{name:t.withCtx(({row:H})=>[t.createElementVNode("span",vH,[t.createVNode(t.unref(Sr.PluginIcon),{"data-testid":`plugin-catalog-list-view-${H.plugin.id}-icon`,name:y(H.plugin),size:20},null,8,["data-testid","name"]),t.createElementVNode("span",{class:"plugin-name-text","data-testid":"plugin-catalog-list-view-name-text",title:H.name},[t.createVNode(e1,{indices:H.plugin?.matchedIndices,text:H.name},null,8,["indices","text"])],8,TH),H.badge?(t.openBlock(),t.createBlock(v,{key:0,appearance:"info",class:"plugin-name-badge","data-testid":"plugin-catalog-list-view-custom-badge"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(H.badge),1)]),_:2},1024)):t.createCommentVNode("",!0)])]),description:t.withCtx(({row:H})=>[t.createElementVNode("span",{class:"plugin-description-cell","data-testid":"plugin-catalog-list-view-description",title:H.description},t.toDisplayString(H.description),9,BH)]),action:t.withCtx(({row:H})=>[t.createElementVNode("div",OH,[t.createVNode(P,{appearance:"tertiary","data-testid":"plugin-catalog-list-view-configure-btn",size:"small",to:o.config.getCreateRoute(H.id)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.configure")),1)]),_:1},8,["to"])])]),"more-actions":t.withCtx(({row:H})=>[b(H.plugin)?(t.openBlock(),t.createElementBlock("div",PH,[t.createVNode(R,{appearance:"tertiary",class:"actions-trigger","data-testid":"plugin-catalog-list-view-more-actions-button",icon:"",size:"small"},{items:t.withCtx(()=>[k(H.plugin)?(t.openBlock(),t.createBlock(O,{key:0,"data-testid":"edit-plugin-schema",item:{label:t.unref(i)("actions.edit"),to:e.config.getCustomEditRoute?.(H.plugin.name,H.plugin.customPluginType)}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.edit")),1)]),_:1},8,["item"])):t.createCommentVNode("",!0),_(H.plugin)?(t.openBlock(),t.createBlock(O,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":k(H.plugin),onClick:()=>N(H.plugin)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.delete")),1)]),_:1},8,["has-divider","onClick"])):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])]),_:2},1024)])):t.createCommentVNode("",!0)]),_:1},8,["data","headers","pagination-attributes"]))]),_:1}),m.value&&h.value?(t.openBlock(),t.createBlock(_d,{key:0,config:e.config,plugin:h.value,onClosed:C,onProceed:A[0]||(A[0]=H=>C(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-49cad2d2"]]),$H={class:"plugin-catalog","data-testid":"plugin-catalog"},RH={class:"plugin-filter","data-testid":"plugin-filter"},LH={class:"plugin-filter-title"},DH={class:"featured-title"},MH={class:"plugin-featured-filter"},FH=["data-testid"],jH={class:"group-title"},UH={class:"plugin-type-filter"},KH=["data-testid"],qH={class:"plugins-container"},GH={class:"plugins-filter-input-container"},zH={class:"icon-container"},HH={key:0},WH={key:3,"aria-live":"polite",class:"plugins-results-container"},YH=xe(t.defineComponent({__name:"PluginCatalog",props:{config:{},ignoredPlugins:{default:()=>[]},disabledPlugins:{},highlightedPluginIds:{},customPluginSupport:{default:"none"},availableOnServer:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Function,default:async()=>!0},canReadCustomPlugin:{type:Function,default:async()=>!0},canEditCustomPlugin:{type:Function,default:async()=>!0},canDeleteClonedPlugin:{},canReadClonedPlugin:{type:Function,default:async()=>!0},canEditClonedPlugin:{}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){const r=n,{i18n:{t:o}}=it.useI18n(),{pluginMetaData:i}=it.usePluginMetaData(),{getMessageFromError:a}=ue.useErrors(),{sortAlpha:s,objectsAreEqual:l}=ue.useHelpers(),c=e,{axiosInstance:d}=ue.useAxios(c.config?.axiosRequestConfig),u=t.useTemplateRef("filter-input"),f=t.ref(""),p=t.ref(!1),m=t.ref(!1),h=t.ref(Object.fromEntries(_c.concat(bc).map(Z=>[Z,!1]))),y=t.ref(!0),g=t.ref(!1),_=t.ref(""),k=t.ref(""),b=t.ref([]),N=t.ref([]),C=t.ref([]),w=t.ref({}),S=t.ref([]),x=t.ref(!1),I=t.ref(null),T=t.ref(!1),A=t.computed(()=>x.value?Ne.GridIcon:Ne.ListIcon),v=t.inject(Bn.KM_2485_CLONED_PLUGINS,!1),P=t.computed(()=>t.unref(v)),O=Z=>Z==="none"||Z==="disabled"?new Set:new Set(Array.isArray(Z)?Z:[Z]),R=t.computed(()=>O(c.customPluginSupport)),Q=t.computed(()=>[...R.value].sort().join("|")),pe=t.computed(()=>R.value.has("streaming")),H=t.computed(()=>P.value&&R.value.has("cloned")),j=Z=>gi.isAxiosError(Z)&&Z.code==="ERR_CANCELED",D=Z=>a(Z).toLowerCase().includes("requires a license"),ee=t.computed(()=>{let Z=`${c.config.apiBaseUrl}${nt.select[c.config.app].availablePlugins}`;if(c.config.app==="konnect")Z=Z.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"");else if(c.config.app==="kongManager"&&c.config.gatewayInfo?.edition==="community")return`${c.config.apiBaseUrl}${nt.select[c.config.app].availablePluginsForOss}`;return Z.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")}),K=t.computed(()=>{if(pe.value){let Z=`${c.config.apiBaseUrl}${nt.select[c.config.app].streamingCustomPlugins}`;return c.config.app==="konnect"?Z.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""):Z.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")}return null}),J=t.computed(()=>{if(H.value){let Z=`${c.config.apiBaseUrl}${nt.select[c.config.app].clonedPlugins}`;return c.config.app==="konnect"?Z.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""):Z.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")}return null}),ce=t.computed(()=>{if(c.config.entityType&&c.config.entityId){let Z=`${c.config.apiBaseUrl}${nt.list[c.config.app].forEntity}`;return c.config.app==="konnect"&&(Z=Z.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"")),Z.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"").replace(/{entityType}/gi,c.config.entityType||"").replace(/{entityId}/gi,c.config.entityId||"")}return""}),z=t.computed(()=>{if(!w.value)return{};const Z=Object.entries(h.value).filter(([,Y])=>Y).map(([Y])=>Y);let U={};Z.length===0&&(U=w.value),Z.forEach(Y=>{w.value[Y]&&(U[Y]=w.value[Y])});const ne=f.value.toLowerCase();if(!ne)return U;const L=new Map;for(const Y of Object.values(U))for(const ae of Y??[]){if(L.has(ae.id))continue;const me=XR(ne,ae.name,ae.id);me.matched&&L.set(ae.id,{plugin:{...ae,matchedIndices:me.indices},score:me.score})}const M=Array.from(L.values()).sort((Y,ae)=>Y.score-ae.score||Y.plugin.name.localeCompare(ae.plugin.name)).map(Y=>Y.plugin);return M.length?{"Query Result":M}:{}}),oe=t.computed(()=>Object.keys(z.value).length>0),Pe=t.computed(()=>Object.keys(w.value).length>0&&!oe.value),Ee=()=>{Object.keys(h.value).forEach(Z=>{h.value[Z]=!1})},Ge=()=>{const Z=new Map(C.value.map(M=>[M.name,M])),U=new Set(N.value.map(M=>M.name)),ne=new Set([...U,...Z.keys()]),L=[...new Set([...Object.keys({...c.availableOnServer?{}:i}),...b.value,...ne])].filter(M=>!c.ignoredPlugins.includes(M)).filter(M=>{if(!c.config.entityType)return M;const Y=Z.has(M)?Z.get(M).ref:M;return c.config.entityType==="services"&&i[Y]&&!i[Y].scope.includes(q.PluginScope.SERVICE)||c.config.entityType==="routes"&&i[Y]&&!i[Y].scope.includes(q.PluginScope.ROUTE)||c.config.entityType==="consumer_groups"&&i[Y]&&!i[Y].scope.includes(q.PluginScope.CONSUMER_GROUP)||c.config.entityType==="consumers"&&i[Y]&&!i[Y].scope.includes(q.PluginScope.CONSUMER)?!1:M}).reduce((M,Y)=>{const ae=i[Y]&&i[Y].name||Y,me=Z.get(Y),Ae=U.has(Y),ze={...i[Y],id:Y,name:ae,available:b.value.includes(Y)||!!me||Ae,disabledMessage:"",group:i[Y]?.group||q.PluginGroup.CUSTOM_PLUGINS};ze.group===q.PluginGroup.CUSTOM_PLUGINS&&(me?(ze.customPluginType="cloned",ze.clonedFromRef=me.ref):Ae?ze.customPluginType="streaming":ze.customPluginType="schema"),c.disabledPlugins&&(ze.disabledMessage=c.disabledPlugins[Y]);const ot=ze.group||o("plugins.select.misc_plugins");let F=M[ot];return F||(F=[]),F.push(ze),F.sort(s("name")),M[ot]=F,M},{});if(c.highlightedPluginIds&&c.highlightedPluginIds.length>0){const M=new Set(Object.values(L).flat().map(ae=>ae?.id)),Y=c.highlightedPluginIds.flatMap(ae=>{const me=i[ae];return!me||!M.has(ae)?[]:{...me,id:ae,name:me.name||ae,available:b.value.includes(ae),disabledMessage:c.disabledPlugins?.[ae]||"",group:me.group||q.PluginGroup.CUSTOM_PLUGINS}}).filter(Boolean);Y.length>0&&(L[q.PluginGroup.FEATURED]=Y)}return L};t.watch(()=>c.disabledPlugins,(Z,U)=>{!l(Z||{},U||{})&&!y.value&&(w.value=Ge())}),t.watch(()=>c.ignoredPlugins,(Z,U)=>{!l(Z,U)&&!y.value&&(w.value=Ge())}),t.watch(y,Z=>{r("loading",Z)});const se=t.ref(!1),X=t.ref(!1),he=t.ref(!1),ve=t.ref(!1),je=t.ref(!1),qe=t.ref(!1),Be=async()=>{try{const[Z,U,ne,L,M,Y]=await Promise.all([c.canEditCustomPlugin(),c.canDeleteCustomPlugin(),c.canReadCustomPlugin(),c.canEditClonedPlugin?c.canEditClonedPlugin():Promise.resolve(null),c.canDeleteClonedPlugin?c.canDeleteClonedPlugin():Promise.resolve(null),c.canReadClonedPlugin()]);se.value=Z,X.value=U,he.value=ne,ve.value=L??Z,je.value=M??U,qe.value=Y}catch{se.value=!1,X.value=!1,he.value=!1,ve.value=!1,je.value=!1,qe.value=!1}},Ve=async Z=>{if(!ce.value){S.value=[];return}try{const{data:{data:U}}=await d.get(ce.value,{signal:Z});U?.length&&(S.value=U.reduce((ne,L)=>(L.name&&ne.push(L.name),ne),[]))}catch(U){j(U)||(S.value=[])}},$e=async Z=>{const U=[];K.value&&he.value&&U.push(yd(d,K.value,Z).then(ne=>{N.value=ne}).catch(ne=>{j(ne)||k.value||(k.value=a(ne)??o("plugins.select.tabs.custom.fetch_error"))})),J.value&&qe.value&&U.push(yd(d,J.value,Z).then(ne=>{C.value=ne}).catch(ne=>{if(j(ne))return;const L=D(ne);(L||!k.value)&&(k.value=L?o("plugins.select.tabs.custom.license_required"):a(ne)??o("plugins.select.tabs.custom.fetch_error"))})),U.push(Ve(Z)),await Promise.allSettled(U)},Ke=async()=>{I.value?.abort();const Z=new AbortController;I.value=Z,y.value=!0,g.value=!1,_.value="",k.value="",b.value=[],N.value=[],C.value=[],S.value=[];try{const{data:U}=await d.get(ee.value,{signal:Z.signal});if(c.config.app==="konnect"){const{names:ne}=U;b.value=ne||[]}else if(c.config.app==="kongManager"){const{plugins:{available_on_server:ne}}=U;b.value=ne?Object.keys(ne):[]}await $e(Z.signal),w.value=Ge()}catch(U){j(U)||(g.value=!0,_.value=a(U))}finally{I.value===Z&&!Z.signal.aborted&&(y.value=!1)}},de=async({name:Z})=>{Z&&(r("delete-custom:success",Z),await Ke())};return t.onMounted(async()=>{T.value=!0,u.value?.input?.focus(),await Be(),await Ke()}),t.watch(()=>[c.config.app==="konnect"?c.config.controlPlaneId:void 0,c.config.workspace,c.config.entityType,c.config.entityId,c.config.app==="kongManager"?c.config.gatewayInfo?.edition:void 0,Q.value,P.value],async()=>{T.value&&(await Be(),await Ke())}),t.onBeforeUnmount(()=>{I.value?.abort()}),(Z,U)=>{const ne=t.resolveComponent("KButton"),L=t.resolveComponent("KCheckbox"),M=t.resolveComponent("KBadge"),Y=t.resolveComponent("KCollapse"),ae=t.resolveComponent("KInput"),me=t.resolveComponent("KSkeletonBox"),Ae=t.resolveComponent("KSkeleton"),ze=t.resolveComponent("KEmptyState"),ot=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock("div",$H,[t.createElementVNode("div",RH,[t.createElementVNode("div",LH,[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.select.filter.title"))+" ",1),t.createVNode(ne,{appearance:"tertiary",class:"clear-selection","data-testid":"clear-filter-selection",disabled:!Object.values(h.value).some(F=>F),onClick:Ee},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.select.filter.clear")),1)]),_:1},8,["disabled"])]),t.createVNode(Y,{modelValue:p.value,"onUpdate:modelValue":U[0]||(U[0]=F=>p.value=F)},{title:t.withCtx(()=>[t.createElementVNode("div",DH,t.toDisplayString(t.unref(o)("plugins.select.filter.featured")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",MH,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(_c),F=>(t.openBlock(),t.createElementBlock("div",{key:F,class:"plugin-filter-item","data-testid":`plugin-filter-item-${F}`},[t.createVNode(L,{modelValue:h.value[F],"onUpdate:modelValue":te=>h.value[F]=te,label:F},null,8,["modelValue","onUpdate:modelValue","label"]),t.createVNode(M,{appearance:"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(w.value?.[F]?.length||0),1)]),_:2},1024)],8,FH))),128))])]),_:1},8,["modelValue"]),t.createVNode(Y,{modelValue:m.value,"onUpdate:modelValue":U[1]||(U[1]=F=>m.value=F)},{title:t.withCtx(()=>[t.createElementVNode("div",jH,t.toDisplayString(t.unref(o)("plugins.select.filter.type")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",UH,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(bc),F=>(t.openBlock(),t.createElementBlock("div",{key:F,class:"plugin-filter-item","data-testid":`plugin-filter-item-${F}`},[t.createVNode(L,{modelValue:h.value[F],"onUpdate:modelValue":te=>h.value[F]=te,"data-testid":`plugin-filter-checkbox-${F}`,label:F},null,8,["modelValue","onUpdate:modelValue","data-testid","label"]),t.createVNode(M,{appearance:"neutral","data-testid":`plugin-filter-count-${F}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(w.value?.[F]?.length||0),1)]),_:2},1032,["data-testid"])],8,KH))),128))])]),_:1},8,["modelValue"])]),t.createElementVNode("div",qH,[t.createElementVNode("div",GH,[t.createVNode(ae,{ref:"filter-input",modelValue:f.value,"onUpdate:modelValue":U[2]||(U[2]=F=>f.value=F),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter-input",placeholder:t.unref(o)("search.placeholder.search_plugins"),type:"search"},null,8,["modelValue","placeholder"]),t.createElementVNode("div",zH,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(A.value),{class:"plugins-filter-icon",color:`var(--kui-icon-color-primary, ${t.unref(JS)})`,onClick:U[3]||(U[3]=F=>x.value=!x.value)},null,8,["color"]))])]),y.value?(t.openBlock(),t.createElementBlock("section",HH,[t.createVNode(me,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Ae,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):g.value?(t.openBlock(),t.createBlock(ze,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(_.value),1)]),_:1})):Pe.value&&f.value?(t.openBlock(),t.createBlock(ze,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(o)("search.no_results",{filter:f.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",WH,[k.value?(t.openBlock(),t.createBlock(ot,{key:0,appearance:"warning",class:"custom-plugins-warning",message:k.value},null,8,["message"])):t.createCommentVNode("",!0),x.value?(t.openBlock(),t.createBlock(VH,{key:1,"can-delete-cloned-plugin":je.value,"can-delete-custom-plugin":X.value,"can-edit-cloned-plugin":ve.value,"can-edit-custom-plugin":se.value,config:e.config,"plugin-list":z.value,"onDelete:success":de},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","plugin-list"])):(t.openBlock(),t.createBlock(IH,{key:2,"can-delete-cloned-plugin":je.value,"can-delete-custom-plugin":X.value,"can-edit-cloned-plugin":ve.value,"can-edit-custom-plugin":se.value,config:e.config,"plugin-list":z.value,"onDelete:success":de,onPluginClicked:U[4]||(U[4]=F=>Z.$emit("plugin-clicked",F))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","plugin-list"]))]))])])}}}),[["__scopeId","data-v-a7e2cc9c"]]),JH={key:1,class:"datakit-config-card-canvas"},XH={class:"config-card-details-label","data-testid":"datakit-configuration-label"},ZH={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},QH={class:"canvas-wrapper"},e9=xe(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{},item:{}},setup(e){const n=t.computed(()=>xC.safeParse(e.pluginData?.config).success);return Cp(e.pluginData),(r,o)=>{const i=t.resolveComponent("KLabel");return n.value?(t.openBlock(),t.createElementBlock("div",JH,[t.createElementVNode("div",XH,[t.createVNode(i,null,{default:t.withCtx(()=>[...o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])]),_:1})]),t.createElementVNode("div",ZH,[t.createElementVNode("div",QH,[t.createVNode(eg,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])):(t.openBlock(),t.createBlock(t.unref(ue.ConfigCardItem),{key:0,item:e.item},null,8,["item"]))}}}),[["__scopeId","data-v-9a3ef1ac"]]),t9={class:"kong-ui-entity-plugin-config-card"},n9={class:"name-cell-wrapper"},r9={class:"info-name"},o9={key:0},i9={key:0},a9={key:0},s9={key:0},l9={key:0},yg="config",c9=xe(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showNameAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:null},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){const r=n,o=e,{i18n:{t:i}}=it.useI18n(),a=it.usePluginMetaData(),{setFieldType:s}=it.usePluginHelpers(),{getPropValue:l}=ue.useHelpers(),c=t.computed(()=>{let T=nt.item[o.config.app]?.[o.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,o.scopedEntityType).replace(/{entityId}/gi,o.scopedEntityId??"").concat(o.expandPartial?"?expand_partials=true":"");if(o.config.app==="konnect"){const A=o.expandPartial?"&":"?";T=T.concat(`${A}__ui_data=true`)}return T}),d=t.computed(()=>{const T={},A=S.value?.fields||[];for(let v=0;v<A.length;v++){const P=S.value.fields[v],O=Object.keys(P)?.[0];s(T,O,P[O])}return{...T,instance_name:{section:ue.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:ue.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:ue.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:ue.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:ue.ConfigurationSchemaSection.Basic,order:6},protocols:{type:ue.ConfigurationSchemaType.BadgeTag,section:ue.ConfigurationSchemaSection.Basic,order:7}}}),u=t.computed(()=>S.value?.fields?S.value.fields?.find(A=>Object.keys(A)?.[0]===yg)?.[yg]?.fields||[]:[]),f=t.computed(()=>{const T={};if(!u.value)return T;for(let A=0;A<u.value?.length;A++){const v=u.value[A],P=Object.keys(v)?.[0],O=v[P];O.required&&(T[P]={order:1}),s(T,P,O)}return T}),p=T=>{const A=a.pluginMetaData[o.config.pluginType]?.scope;return A?Object.fromEntries(Object.entries(T).filter(([v,P])=>P?!0:!(v==="service"&&!A.includes(q.PluginScope.SERVICE)||v==="route"&&!A.includes(q.PluginScope.ROUTE)||v==="consumer"&&!A.includes(q.PluginScope.CONSUMER)||v==="consumer_group"&&!A.includes(q.PluginScope.CONSUMER_GROUP)))):T},m=T=>eo(T,"__ui_data"),{getMessageFromError:h}=ue.useErrors(),{axiosInstance:y}=ue.useAxios(o.config?.axiosRequestConfig),{resolveReferenceNames:g,getReferenceName:_,isReferenceNameLoading:k}=it.useReferenceEntityNames({config:o.config,axiosInstance:y,onError:T=>r("fetch:error",T)}),b=(T,A)=>_(T)||A,N=(T,A)=>_(T)?A:void 0,C=T=>{r("fetch:success",T),o.showNameAsLink&&g(T)},w=t.computed(()=>{let T=`${o.config.apiBaseUrl}${nt.form[o.config.app].pluginSchema}`;return o.config.app==="konnect"&&(T=T.replace(/{controlPlaneId}/gi,o.config?.controlPlaneId||"")),T.replace(/\/{workspace}/gi,o.config?.workspace?`/${o.config.workspace}`:"").replace(/{plugin}/gi,o.config.pluginType)}),S=t.ref({});ue.useSchemaProvider(S);const x=t.ref(!1),I=t.ref("");return t.onBeforeMount(async()=>{x.value=!0;try{const{data:T}=await y.get(w.value);S.value=T}catch(T){I.value=h(T),r("error:fetch-schema",T)}finally{x.value=!1}}),(T,A)=>{const v=t.resolveComponent("KSkeleton"),P=t.resolveComponent("KEmptyState"),O=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",t9,[x.value?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):I.value?(t.openBlock(),t.createBlock(P,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(I.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(ue.EntityBaseConfigCard),{key:2,"code-block-record-formatter":m,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"entity-type":t.unref(ue.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":yg,"plugin-config-schema":f.value,"record-resolver":p,"onFetch:error":A[0]||(A[0]=R=>T.$emit("fetch:error",R)),"onFetch:success":C,onLoading:A[1]||(A[1]=R=>T.$emit("loading",R))},t.createSlots({name:t.withCtx(R=>[t.createElementVNode("div",n9,[t.createVNode(t.unref(Sr.PluginIcon),{class:"plugin-icon",name:t.unref(l)("rowValue",R),size:24},null,8,["name"]),t.createElementVNode("span",r9,t.toDisplayString(t.unref(a).getDisplayName(t.unref(l)("rowValue",R))),1)])]),consumer:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(ue.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",R).id,value:b("consumer",t.unref(l)("rowValue",R).id),to:e.config.getConsumerViewRoute?.(t.unref(l)("rowValue",R).id),subtitle:N("consumer",t.unref(l)("rowValue",R).id),subtitleLoading:t.unref(k)("consumer"),type:t.unref(ue.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",R).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",o9,"–"))]),route:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(ue.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",R).id,value:b("route",t.unref(l)("rowValue",R).id),to:e.config.getRouteViewRoute?.(t.unref(l)("rowValue",R).id),subtitle:N("route",t.unref(l)("rowValue",R).id),subtitleLoading:t.unref(k)("route"),type:t.unref(ue.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",R).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",i9,"–"))]),service:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(ue.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",R).id,value:b("service",t.unref(l)("rowValue",R).id),to:e.config.getServiceViewRoute?.(t.unref(l)("rowValue",R).id),subtitle:N("service",t.unref(l)("rowValue",R).id),subtitleLoading:t.unref(k)("service"),type:t.unref(ue.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",R).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",a9,"–"))]),consumer_group:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(ue.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",R).id,value:b("consumer_group",t.unref(l)("rowValue",R).id),to:e.config.getConsumerGroupViewRoute?.(t.unref(l)("rowValue",R).id),subtitle:N("consumer_group",t.unref(l)("rowValue",R).id),subtitleLoading:t.unref(k)("consumer_group"),type:t.unref(ue.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",R).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",s9,"–"))]),partials:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(ue.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",R)?.[0]?.id,value:t.unref(l)("rowValue",R)?.[0]?.id+(t.unref(l)("rowValue",R)?.[0]?.name?"/"+t.unref(l)("rowValue",R)?.[0]?.name:""),type:t.unref(ue.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R)?.[0]?.id,"partial")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"partial-copy-uuid",text:t.unref(l)("rowValue",R)?.[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",l9,"–"))]),_:2},[e.config.pluginType==="datakit"&&e.config.app==="konnect"?{name:"config-card-item-nodes",fn:t.withCtx(R=>[t.createVNode(e9,{item:R.row,"plugin-data":R.record},null,8,["item","plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-915bf6f0"]]),d9=t.defineComponent({__name:"AuthPluginOnboardingCard",props:{pluginType:{},authMode:{},hasExistingEntity:{type:Boolean},createEntityTo:{},onCreateEntityClick:{type:Function},addCredentialTo:{},onAddCredentialClick:{type:Function}},emits:["dismiss"],setup(e){const{i18n:{t:n}}=it.useI18n(),r=t.computed(()=>{const o=e.authMode==="kong-identity",i=[{icon:Ne.GroupsIcon,appearance:"decorative-aqua",title:n(o?"onboarding.create_principal.title":"onboarding.create_consumer.title"),description:n(o?"onboarding.create_principal.description":`onboarding.${e.pluginType}.create_consumer.description`),to:e.createEntityTo,onClick:e.onCreateEntityClick}];return e.hasExistingEntity&&(e.addCredentialTo||e.onAddCredentialClick)&&i.push({icon:Ne.PasskeyIcon,appearance:"decorative-purple",title:n(o?"onboarding.add_principal_credential.title":`onboarding.${e.pluginType}.add_credential.title`),description:n(o?"onboarding.add_principal_credential.description":`onboarding.${e.pluginType}.add_credential.description`),to:e.addCredentialTo,onClick:e.onAddCredentialClick}),i});return(o,i)=>(t.openBlock(),t.createBlock(t.unref(ue.OnboardingCard),{items:r.value,subtitle:t.unref(n)(`onboarding.${e.pluginType}.subtitle`),title:t.unref(n)(`onboarding.${e.pluginType}.title`),onDismiss:i[0]||(i[0]=a=>o.$emit("dismiss"))},null,8,["items","subtitle","title"]))}}),u9=["innerHTML"],n1=xe(t.defineComponent({inheritAttrs:!1,__name:"CredentialSecretField",props:{placeholder:{},help:{},labels:{},autofocus:{type:Boolean},name:{},labelAttributes:{},generator:{type:Function}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),o=t.createPropsRestProxy(e,["name","generator"]),i=n,{value:a,hide:s,...l}=$t(t.toRef(()=>e.name)),c=Jt(l.path,t.toRef({...o,...r}));function d(u){a.value=u===""?l.emptyValue.value:u,i("update:modelValue",a.value)}return(u,f)=>{const p=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(p,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createBlock(t.unref(ue.SensitiveInput),t.mergeProps({key:1},t.unref(c),{class:"ff-credential-secret-field","data-testid":`ff-${l.path.value}`,generator:e.generator??t.unref(iw),mode:"create","model-value":t.unref(a)??"","onUpdate:modelValue":d}),t.createSlots({_:2},[t.unref(c).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,u9)],!0)]),key:"0"}:void 0]),1040,["data-testid","generator","model-value"])),[[t.vShow,!t.unref(s)]])}}}),[["__scopeId","data-v-ca6a15c0"]]);function bd(e,n){let r=`${e.apiBaseUrl}${n}`;return e.app==="konnect"&&(r=r.replace(/{controlPlaneId}/gi,e.controlPlaneId||"")),r.replace(/\/{workspace}/gi,e.workspace?`/${e.workspace}`:"")}const r1=xe(t.defineComponent({__name:"CredentialConfigurationForm",props:{config:{},credentialType:{}},emits:["update:modelValue","update:loading","error:fetch-schema"],setup(e,{emit:n}){const r=new Set(["id","created_at","consumer"]),{i18n:{t:o}}=it.useI18n(),i=n,{axiosInstance:a}=ue.useAxios(e.config?.axiosRequestConfig),s=t.ref({}),l=g=>{s.value=g,i("update:modelValue",g)},c=t.ref(!1);t.watch(c,g=>i("update:loading",g),{immediate:!0});const d=t.ref(),u=g=>Object.keys(g)[0],f=t.computed(()=>{if(d.value)return{...d.value,type:"record",fields:d.value.fields.filter(g=>!r.has(u(g))).map(g=>{const _=u(g),k=g[_];return k.description||!k.hint?g:{[_]:{...k,description:k.hint}}})}}),p=[{match:"tags",component:Lo,propsOverrides:{help:o("plugins.form.fields.tags.help"),placeholder:o("plugins.form.fields.tags.placeholder")}},{match:"key",component:n1},{match:"secret",component:n1,propsOverrides:{labels:{generateLabel:o("plugins.form.fields.secret.generateLabel")}}}],m=t.computed(()=>Br[e.credentialType]?.schemaEndpoint),h=t.computed(()=>bd(e.config,nt.form[e.config.app].credentialSchema).replace(/{plugin}/gi,m.value));return(async()=>{c.value=!0;try{if(e.config.app==="konnect")d.value=Wk[m.value];else{const{data:g}=await a.get(h.value);d.value=g}}catch(g){i("error:fetch-schema",g)}finally{c.value=!1}})(),(g,_)=>{const k=t.resolveComponent("KSkeleton");return c.value?(t.openBlock(),t.createBlock(k,{key:0,type:"form"})):f.value?(t.openBlock(),t.createBlock(Ym,{key:1,class:"credential-fields","field-renderers":p,model:s.value,"on-form-change":l,"plugin-name":e.credentialType,schema:f.value},null,8,["model","plugin-name","schema"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-b8d3299a"]]),f9={class:"kong-ui-entities-create-consumer-credential-form"},p9={class:"onboarding-wizard-header"},m9={class:"onboarding-wizard-body"},g9={class:"consumer-note"},h9={class:"onboarding-wizard-footer"},y9=xe(t.defineComponent({__name:"CreateConsumerCredentialForm",props:{config:{},credentialType:{}},emits:["cancel","success"],setup(e,{emit:n}){const{i18n:{t:r}}=it.useI18n(),{getMessageFromError:o}=ue.useErrors(),i=n,{axiosInstance:a}=ue.useAxios(e.config?.axiosRequestConfig),s=t.ref(1),l=t.ref(!1),c=t.ref(""),d=t.ref(null),u=t.ref({}),f=t.reactive({username:"",customId:"",tags:""}),p=t.computed(()=>!!f.username||!!f.customId),m=t.computed(()=>[{label:r("onboarding.steps.consumer.step"),state:s.value===1?"active":"completed"},{label:r("onboarding.steps.credential.step"),state:s.value===2?"active":"default"}]),h=t.computed(()=>({username:f.username||null,custom_id:f.customId||null,tags:f.tags.split(",").map(C=>C.trim()).filter(C=>C!=="")})),y=C=>{c.value=o(C)},g=async()=>{c.value="",l.value=!0;try{const{data:C}=await a.post(bd(e.config,nt.consumers[e.config.app]),h.value);d.value={id:C?.id,username:C?.username,custom_id:C?.custom_id},s.value=2}catch(C){c.value=o(C)}finally{l.value=!1}},_=t.computed(()=>{const C=Br[e.credentialType]?.endpoint||"/plugins";return`consumers/${d.value?.id}${C}`}),k=t.computed(()=>bd(e.config,nt.form[e.config.app].credential.create).replace(/{resourceEndpoint}/gi,_.value)),b=async()=>{if(d.value){l.value=!0,c.value="";try{const{data:C}=await a.post(k.value,u.value);i("success",{consumer:d.value,credential:C})}catch(C){c.value=o(C)}finally{l.value=!1}}},N=()=>{s.value===1?i("cancel"):d.value&&i("success",{consumer:d.value,credential:null})};return(C,w)=>{const S=t.resolveComponent("KStepper"),x=t.resolveComponent("KInput"),I=t.resolveComponent("KAlert"),T=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",f9,[t.createElementVNode("div",p9,[t.createVNode(S,{"data-testid":"wizard-stepper",steps:m.value},null,8,["steps"])]),t.createElementVNode("div",m9,[s.value===1?(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:0,description:t.unref(r)("onboarding.steps.consumer.description"),title:t.unref(r)("onboarding.steps.consumer.title")},{default:t.withCtx(()=>[t.createElementVNode("div",g9,t.toDisplayString(t.unref(r)("onboarding.steps.consumer.note")),1),t.createVNode(x,{modelValue:f.username,"onUpdate:modelValue":w[0]||(w[0]=A=>f.username=A),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"consumer-form-username",label:t.unref(r)("onboarding.consumer_fields.username_label"),placeholder:t.unref(r)("onboarding.consumer_fields.username_placeholder"),type:"text"},null,8,["modelValue","label","placeholder"]),t.createVNode(x,{modelValue:f.customId,"onUpdate:modelValue":w[1]||(w[1]=A=>f.customId=A),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"consumer-form-custom-id",label:t.unref(r)("onboarding.consumer_fields.custom_id_label"),placeholder:t.unref(r)("onboarding.consumer_fields.custom_id_placeholder"),type:"text"},null,8,["modelValue","label","placeholder"]),t.createVNode(x,{modelValue:f.tags,"onUpdate:modelValue":w[2]||(w[2]=A=>f.tags=A),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"consumer-form-tags",help:t.unref(r)("plugins.form.fields.tags.help"),label:t.unref(r)("plugins.form.fields.tags.label"),placeholder:t.unref(r)("plugins.form.fields.tags.placeholder"),type:"text"},null,8,["modelValue","help","label","placeholder"])]),_:1},8,["description","title"])):(t.openBlock(),t.createBlock(t.unref(ue.EntityFormBlock),{key:1,title:t.unref(r)("onboarding.steps.credential.title")},{default:t.withCtx(()=>[t.createVNode(r1,{config:e.config,"credential-type":e.credentialType,"onError:fetchSchema":y,"onUpdate:loading":w[3]||(w[3]=A=>l.value=A),"onUpdate:modelValue":w[4]||(w[4]=A=>u.value=A)},null,8,["config","credential-type"])]),_:1},8,["title"])),c.value?(t.openBlock(),t.createBlock(I,{key:2,appearance:"danger",class:"onboarding-wizard-error","data-testid":"wizard-error",message:c.value},null,8,["message"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",h9,[t.createVNode(T,{appearance:"tertiary","data-testid":"wizard-secondary-action",onClick:N},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(s.value===1?t.unref(r)("onboarding.actions.exit_setup"):t.unref(r)("onboarding.actions.skip")),1)]),_:1}),t.createVNode(T,{appearance:"primary","data-testid":"wizard-primary-action",disabled:l.value||s.value===1&&!p.value,onClick:w[5]||(w[5]=A=>s.value===1?g():b())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(s.value===1?t.unref(r)("onboarding.actions.save_and_next"):t.unref(r)(`onboarding.${e.credentialType}.credential_action`)),1)]),_:1},8,["disabled"])])])}}}),[["__scopeId","data-v-f4c3baf8"]]),_9=xe(t.defineComponent({__name:"AddCredentialToConsumerForm",props:{config:{},credentialType:{}},emits:["cancel","success"],setup(e,{emit:n}){const{i18n:{t:r}}=it.useI18n(),{getMessageFromError:o}=ue.useErrors(),i=n,{axiosInstance:a}=ue.useAxios(e.config?.axiosRequestConfig),{debouncedQueryChange:s,loading:l,results:c,loadItems:d}=ue.useDebouncedFilter(e.config,nt.consumers[e.config.app],"",{fetchedItemsKey:"data",searchKeys:["username","id"]}),u=t.computed(()=>c.value.map(N=>({label:N.username||N.custom_id,value:N.id}))),f=t.ref(""),p=t.ref(!1),m=t.ref(""),h=t.ref(!1),y=t.ref({}),g=t.computed(()=>!!f.value&&!h.value&&!p.value),_=t.computed(()=>{const N=Br[e.credentialType].endpoint;return`consumers/${f.value}${N}`}),k=t.computed(()=>bd(e.config,nt.form[e.config.app].credential.create).replace(/{resourceEndpoint}/gi,_.value)),b=async()=>{if(g.value){p.value=!0,m.value="";try{const{data:N}=await a.post(k.value,y.value);i("success",N)}catch(N){m.value=o(N)}finally{p.value=!1}}};return d(),(N,C)=>{const w=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(t.unref(ue.EntityBaseForm),{"align-action-button-to-left":"","can-submit":g.value,config:e.config,"entity-type":t.unref(ue.SupportedEntityType).Other,"error-message":m.value,"form-fields":y.value,"is-readonly":p.value,"no-validate":"","wrapper-component":"div",onCancel:C[4]||(C[4]=S=>N.$emit("cancel")),onSubmit:b},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.EntityFormBlock),{description:t.unref(r)("onboarding.choose_consumer.description"),step:1,title:t.unref(r)("onboarding.choose_consumer.title")},{default:t.withCtx(()=>[t.createVNode(w,{modelValue:f.value,"onUpdate:modelValue":C[0]||(C[0]=S=>f.value=S),"data-testid":"choose-consumer-select","enable-filtering":"",items:u.value,label:t.unref(r)("onboarding.choose_consumer.select_label"),loading:t.unref(l),placeholder:t.unref(r)("onboarding.choose_consumer.select_placeholder"),width:"100%",onQueryChange:t.unref(s)},null,8,["modelValue","items","label","loading","placeholder","onQueryChange"])]),_:1},8,["description","title"]),t.createVNode(t.unref(ue.EntityFormBlock),{step:2,title:t.unref(r)("onboarding.add_credential.title")},{default:t.withCtx(()=>[t.createVNode(r1,{config:e.config,"credential-type":e.credentialType,"onError:fetchSchema":C[1]||(C[1]=S=>m.value=t.unref(o)(S)),"onUpdate:loading":C[2]||(C[2]=S=>h.value=S),"onUpdate:modelValue":C[3]||(C[3]=S=>y.value=S)},null,8,["config","credential-type"])]),_:1},8,["title"])]),_:1},8,["can-submit","config","entity-type","error-message","form-fields","is-readonly"])}}}),[["__scopeId","data-v-c6ff0a51"]]),{usePluginMetaData:b9,useProvideExperimentalFreeForms:k9}=it;function w9(e,n=!1){const r=e.length;let o=0,i="",a=0,s=16,l=0,c=0,d=0,u=0,f=0;function p(b,N){let C=0,w=0;for(;C<b;){let S=e.charCodeAt(o);if(S>=48&&S<=57)w=w*16+S-48;else if(S>=65&&S<=70)w=w*16+S-65+10;else if(S>=97&&S<=102)w=w*16+S-97+10;else break;o++,C++}return C<b&&(w=-1),w}function m(b){o=b,i="",a=0,s=16,f=0}function h(){let b=o;if(e.charCodeAt(o)===48)o++;else for(o++;o<e.length&&sa(e.charCodeAt(o));)o++;if(o<e.length&&e.charCodeAt(o)===46)if(o++,o<e.length&&sa(e.charCodeAt(o)))for(o++;o<e.length&&sa(e.charCodeAt(o));)o++;else return f=3,e.substring(b,o);let N=o;if(o<e.length&&(e.charCodeAt(o)===69||e.charCodeAt(o)===101))if(o++,(o<e.length&&e.charCodeAt(o)===43||e.charCodeAt(o)===45)&&o++,o<e.length&&sa(e.charCodeAt(o))){for(o++;o<e.length&&sa(e.charCodeAt(o));)o++;N=o}else f=3;return e.substring(b,N)}function y(){let b="",N=o;for(;;){if(o>=r){b+=e.substring(N,o),f=2;break}const C=e.charCodeAt(o);if(C===34){b+=e.substring(N,o),o++;break}if(C===92){if(b+=e.substring(N,o),o++,o>=r){f=2;break}switch(e.charCodeAt(o++)){case 34:b+='"';break;case 92:b+="\\";break;case 47:b+="/";break;case 98:b+="\b";break;case 102:b+="\f";break;case 110:b+=`
450
+ `})).sort(([e],[n])=>e.localeCompare(n)).map(([e,n])=>{const r=e.replace(/^\.\//,"").replace(/\.yaml$/,"");return{id:r,i18nKey:Wv(r),code:n}});function $s(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null}const UU=[{name:"decK",extract(e){try{const n=io(e);return $s(n)&&Array.isArray(n.plugins)&&n.plugins.find(o=>$s(o)&&o.name==="datakit")||null}catch{return null}}},{name:"KIC",extract(e){let n=e;const r=e.match(/echo\s+(?:"([\s\S]*?)"|'([\s\S]*?)')\s*\|\s*kubectl/);r&&(n=r[1]||r[2]);try{const o=io(n);if(!$s(o))return null;const i=$s(o.metadata)?o.metadata:{},a=o.plugin||i.name;return(o.kind==="KongPlugin"||o.kind==="KongClusterPlugin")&&a==="datakit"&&o||null}catch{return null}}},{name:"cURL",extract(e){if(!e.trim().startsWith("curl"))return null;const n=e.match(/(?:--data|-d)\s+(?:'((?:[^'\\]|\\[\s\S])*)'|"((?:[^"\\]|\\[\s\S])*)")/);if(!n)return null;let r=n[1]||n[2];n[2]&&(r=r.replace(/\\(["\\])/g,"$1"));try{const o=JSON.parse(r);return $s(o)&&o.name==="datakit"&&o||null}catch{return null}}}];function Xm(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function KU(e){return!Xm(e)||!Xm(e.config)||!Array.isArray(e.config.nodes)?e:{...e,config:{...e.config,nodes:e.config.nodes.map(n=>Xm(n)?Object.fromEntries([...["name","type"].filter(r=>Object.hasOwn(n,r)).map(r=>[r,n[r]]),...Object.entries(n).filter(([r])=>r!=="name"&&r!=="type")]):n)}}}const qU={class:"dk-code-editor"},GU={class:"examples-content"},Zm="YAML Syntax",zU=xe(t.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean}},emits:["change","error"],setup(e,{expose:n,emit:r}){const o=t.inject("app:konnectColorMode",t.computed(()=>"light")),{t:i}=Ft.createI18n("en-us",zt),{formData:a,setValue:s}=lt(),l=r,{getMessageFromError:c}=pe.useErrors(),d=t.shallowRef(null);function u(S){return Lc(KU(t.toRaw(S)),{schema:Do,seqNoIndent:!0})}function f(){return u(eo(a,["__ui_data"]))}const p=t.shallowRef(f()),m={scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep",editContext:!1,guides:{indentation:!0,highlightActiveIndentation:!0}};function h(S){const x=S.getModel();x&&(d.value=S,S.onDidChangeModelContent(()=>{try{const I=io(S.getValue()||"",{schema:Do,json:!0});if(typeof I!="object"||I===null)return;Ml.editor.setModelMarkers(x,Zm,[]),s(I),l("change",I)}catch(I){const{message:T,mark:A}=I,{line:v,column:P}=A||{line:0,column:0},O=T.split(`
451
+ `)[0],R=[{startLineNumber:v+1,startColumn:P+1,endLineNumber:v+1,endColumn:P+2,message:O,severity:Ml.MarkerSeverity.Error,source:Zm}];Ml.editor.setModelMarkers(x,Zm,R),l("error",O)}}),S.onDidPaste(I=>{const T=S.getModel();if(!T)return;const A=T.getValueInRange(I.range);for(const v of UU){const P=v.extract(A);if(P){g.value=P,_.value=v.name,y.value=!0;return}}}),w())}const y=t.shallowRef(!1),g=t.shallowRef(null),_=t.shallowRef("");function k(){y.value=!1,g.value=null,_.value=""}function b(){g.value&&(p.value=u(g.value),k())}function N(S){return i(`plugins.free-form.datakit.examples.${S}`)}function C(S){const x=S.code;try{const I=io(p.value,{schema:Do,json:!0}),T=io(x,{schema:Do,json:!0});if(typeof I=="object"&&I!==null&&Kt(I.config,T))return;const A=eo({...a,config:{...T}},["__ui_data"]);p.value=u(A)}catch(I){l("error",c(I))}w()}function w(){const S=d.value,x=S?.getModel();!S||!x||(S.setPosition(x.getFullModelRange().getEndPosition()),S.focus())}return n({setExampleCode:C}),(S,x)=>(t.openBlock(),t.createElementBlock("div",qU,[t.createVNode(t.unref(_e.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",GU,[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(uC),I=>(t.openBlock(),t.createBlock(t.unref(_e.KButton),{key:I.id,appearance:"secondary",size:"small",onClick:T=>C(I)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N(I.i18nKey)),1)]),_:2},1032,["onClick"]))),128))])]),_:1}),(t.openBlock(),t.createBlock(t.unref(Ka.MonacoEditor),{key:t.unref(o),ref:"editor",modelValue:p.value,"onUpdate:modelValue":x[0]||(x[0]=I=>p.value=I),appearance:"standalone",class:"editor",language:"yaml",options:m,theme:t.unref(o),onReady:h},null,8,["modelValue","theme"])),t.createVNode(t.unref(_e.KModal),{"action-button-text":t.unref(i)("plugins.free-form.datakit.detected_config_format_confirm"),title:t.unref(i)("plugins.free-form.datakit.detected_config_format_title"),visible:y.value,onCancel:k,onProceed:b},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.detected_config_format",{format:_.value})),1)]),_:1},8,["action-button-text","title","visible"])]))}}),[["__scopeId","data-v-da4d9e48"]]),{t:HU}=Ft.createI18n("en-us",zt),ud=Ot.createGlobalState(()=>{const e=Ot.useLocalStorage("datakit-editor-mode","flow"),n=Ot.useLocalStorage("datakit-editor-sidebar-expanded",!0),r=Ot.useLocalStorage("datakit-editor-response-panel-collapsed",!1);return{editorMode:e,sidePanelExpanded:n,responsePanelCollapsed:r}});function WU({enabled:e,confirm:n}){Ar.onBeforeRouteLeave(()=>t.toValue(e)?n?n():window.confirm(HU("plugins.free-form.datakit.flow_editor.leave_confirm")):!0);const r=o=>{t.toValue(e)&&o.preventDefault()};Ot.useEventListener("beforeunload",r)}const YU={class:"label-content"},JU={class:"count"},XU={class:"label-content"},ZU={class:"count"},fC=.5,Qm=.03,QU=30,eg=xe(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),r=t.ref(!1),o=t.ref(!1),{responsePanelCollapsed:i}=ud(),{state:a,configNodeCounts:s,clearPendingLayout:l,setPendingFitView:c,commit:d,clear:u,portalSelection:f}=Vt(),p=t.useId(),m=`${p}-request`,h=`${p}-response`,y=xt.useVueFlow(m),g=xt.useVueFlow(h);function _(X,he){const{onPaneClick:ve,onNodesChange:je,onEdgesChange:qe,getSelectedNodes:Be,getSelectedEdges:Ve}=X,{removeSelectedElements:$e}=he;function Ke(de){if(!de){$e();return}de.some(Z=>Z.type==="select")&&Be.value.length+Ve.value.length>0&&$e()}je(Ke),qe(Ke),ve(()=>Ke())}_(y,g),_(g,y),t.watch(f,X=>{X&&(y.removeSelectedElements(),g.removeSelectedElements())});const k=t.useTemplateRef("flowPanels"),b=t.useTemplateRef("requestLabel"),N=t.useTemplateRef("requestCanvasContainer"),C=t.useTemplateRef("requestFlow"),w=t.useTemplateRef("resizeHandle"),S=t.useTemplateRef("responseLabel"),x=t.useTemplateRef("responseCanvasContainer"),I=t.useTemplateRef("responseFlow"),T=Ot.useElementBounding(k),A=Ot.useElementBounding(b),v=Ot.useElementBounding(N),P=Ot.useElementBounding(w),O=Ot.useElementBounding(S),R=Ot.useElementBounding(x),Q=t.computed(()=>Math.max(QU,T.height.value*Qm)),fe=t.computed(()=>T.height.value-A.height.value-P.height.value-O.height.value),H=t.computed(()=>{const X=fe.value;return X?Math.max(Qm,Q.value/X):Qm}),j=t.ref(fC),D=t.computed(()=>`${j.value*100}%`),ee=t.computed(()=>`${(1-j.value)*100}%`),K=t.computed(()=>j.value<=H.value),J=t.computed(()=>1-j.value<=H.value);function ce(X,{persist:he=!0}={}){const ve=Math.min(1,Math.max(0,X));j.value=ve,he&&e.mode==="edit"&&(i.value=J.value)}function z(X,he=!0){ce(X?1:fC,{persist:he})}function oe(X=!0){ce(0,{persist:X})}if(e.mode==="edit"){const X=s.value.response===0,he=i.value;z(X||he,!1)}else t.watch(()=>s.value.response,X=>{z(X===0,!1)},{immediate:!0});const Pe=()=>{e.resizable&&(K.value?z(!1):oe())},Ee=()=>{e.resizable&&z(!J.value)},{isDragging:Ge}=Ot.useDraggable(w,{onMove(X){if(!e.resizable)return;const he=Math.max(0,X.y-v.top.value),ve=Math.min(1,Math.max(0,he/fe.value));ce(ve,{persist:!1})},onEnd(){e.resizable&&(v.height.value<Q.value?oe():R.height.value<Q.value?z(!0):ce(j.value))}});function se(){t.nextTick(()=>{C.value?.fitView(),I.value?.fitView()})}return t.watch([r,o,()=>a.value.pendingLayout,()=>a.value.pendingFitView],([X,he,ve,je])=>{e.inactive||!X||!he||!ve&&!je||(ve&&l(),je&&c(!1),setTimeout(async()=>{ve&&(await C.value?.autoLayout(!1),await I.value?.autoLayout(!1),d("*"),ve==="clearHistory"&&u()),je&&setTimeout(()=>se(),0)},0))}),(X,he)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:k,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:b,class:t.normalizeClass(["label request",{resizable:e.resizable}]),onClick:Pe},[e.resizable?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:K.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",YU,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.request"))+" ",1),t.createElementVNode("span",JU,[t.unref(s).request===1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:t.unref(s).request}))+") ",1)],64))])])],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:N,class:t.normalizeClass(["canvas",{dragging:t.unref(Ge)}]),style:t.normalizeStyle({flexBasis:D.value})},[t.createVNode(Sp,{ref_key:"requestFlow",ref:C,"flow-id":m,mode:e.mode,phase:"request",onInitialized:he[0]||(he[0]=ve=>r.value=!0),onNodesChange:he[1]||(he[1]=ve=>r.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:w,class:t.normalizeClass(["resize-handle",{resizable:e.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:S,class:t.normalizeClass(["label response",{dragging:t.unref(Ge),resizable:e.resizable}]),onClick:Ee},[e.resizable?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:J.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",XU,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.response"))+" ",1),t.createElementVNode("span",ZU,[t.unref(s).response===1?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(" ("+t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:t.unref(s).response}))+") ",1)],64))])])],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:x,class:t.normalizeClass(["canvas response",{dragging:t.unref(Ge)}]),style:t.normalizeStyle({flexBasis:ee.value})},[t.createVNode(Sp,{ref_key:"responseFlow",ref:I,"flow-id":h,mode:e.mode,phase:"response",onInitialized:he[2]||(he[2]=ve=>o.value=!0),onNodesChange:he[3]||(he[3]=ve=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-5a4fec80"]]),eK={class:"dk-confirm-modal-body"},tK={class:"connections"},nK=xe(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:r}){const{i18n:{t:o}}=Qe(),i=r,a=t.ref(!1),s=t.ref(e.message),l=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let d=null;function u(){a.value=!1,i("cancel"),d?.(!1)}function f(){a.value=!1,i("confirm"),d?.(!0)}async function p(m,h,y){return s.value=m,l.value=h??[],c.value=y??[],a.value=!0,await new Promise(g=>{d=g})}return n({open:p}),(m,h)=>{const y=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(y,{"action-button-text":t.unref(o)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:e.title??t.unref(o)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:u,onProceed:f},{default:t.withCtx(()=>[t.createElementVNode("div",eK,[t.createElementVNode("p",null,t.toDisplayString(s.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",tK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`,class:"connection"},[t.createVNode(t.unref(Ne.AddIcon),{color:`var(--kui-color-background-success, ${t.unref(FS)})`},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(g)+" → "+t.toDisplayString(_),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,_])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${_}`,class:"connection"},[t.createVNode(t.unref(Ne.RemoveIcon),{color:`var(--kui-color-text-danger, ${t.unref(jy)})`},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(g)+" → "+t.toDisplayString(_),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-e6df03c2"]]),rK={class:"dk-editor-nav"},oK={class:"top"},iK={class:"bottom"},aK=xe(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:r}=Ft.createI18n("en-us",zt),o=n,i=[{label:r("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ne.ArrowLeftIcon,onClick:()=>o("back")}],{sidePanelExpanded:a}=ud(),s=t.computed(()=>a.value?r("plugins.free-form.datakit.flow_editor.collapse_panel"):r("plugins.free-form.datakit.flow_editor.expand_panel")),l=t.ref(!1);function c(){a.value=!a.value}return(d,u)=>(t.openBlock(),t.createElementBlock("nav",rK,[t.createElementVNode("div",oK,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:f,to:p,icon:m,onClick:h})=>t.createVNode(t.unref(_e.KTooltip),{key:f,"kpop-attributes":{offset:"10px"},label:f,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(_e.KButton),{key:f,appearance:"none",class:"nav-item",icon:"",to:p,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",iK,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:u[0]||(u[0]=t.withModifiers(f=>l.value=!1,["self"])),onTransitionstart:u[1]||(u[1]=t.withModifiers(f=>l.value=!0,["self"]))},[t.createVNode(t.unref(_e.KTooltip),{label:l.value?void 0:s.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:t.withCtx(()=>[t.unref(a)?(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDoubleLeftIcon),{key:0,decorative:"",size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ne.ChevronDoubleRightIcon),{key:1,decorative:"",size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-07aa3288"]]),sK={class:"dk-editor-main"},lK={class:"header"},cK={class:"actions"},dK={class:"settings"},uK={ref:"canvasContainer",class:"body"},fK=xe(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Ft.createI18n("en-us",zt),{modalOpen:r,undo:o,redo:i,canUndo:a,canRedo:s,load:l}=Vt();function c(p){return n(`plugins.free-form.datakit.examples.${p}`)}function d(p){const m=io(p.code,{schema:Do,json:!0});if(typeof m!="object"||m===null)return;const h=m,y={config:{...h,nodes:h.nodes??[]}};l(y,!0)}function u(){r.value=!1}Fy({enabled:r,undo:o,redo:i});const f={maxWidth:"300px",zIndex:1e4};return(p,m)=>(t.openBlock(),t.createElementBlock("div",sK,[t.createElementVNode("header",lK,[t.createElementVNode("div",cK,[t.createVNode(t.unref(_e.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(mc,{keys:t.unref(jl).undo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(_e.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(mc,{keys:t.unref(jl).redo,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",disabled:!t.unref(s),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),m[0]||(m[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",dK,[t.createVNode(en,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:f},name:"config.debug"},null,8,["label","label-attributes"])]),m[1]||(m[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(_e.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples"),width:240},{items:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(uC),h=>(t.openBlock(),t.createBlock(t.unref(_e.KDropdownItem),{key:h.id,onClick:y=>d(h)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c(h.i18nKey)),1)]),_:2},1032,["onClick"]))),128))]),_:1},8,["trigger-text"]),t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),t.createVNode(t.unref(Ne.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(_e.KButton),{onClick:u},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",uK,[t.createVNode(eg,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-b3fbf3d7"]]),pK=["draggable"],mK={class:"icon"},gK={class:"content"},hK={class:"title"},yK={class:"description"},_K=xe(t.defineComponent({__name:"NodePanelItem",props:{type:{},unsupported:{type:Boolean}},emits:["dragstart"],setup(e,{emit:n}){t.useCssVars(c=>({f502bd0e:t.unref(a),v4b2eb58e:t.unref(s)}));const r=n,{summary:o,icon:i}=ec[e.type],{colors:{background:a,foreground:s}}=GO(ec[e.type].group);function l(c){r("dragstart",c,e.type)}return(c,d)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${e.type}`]:!0,unsupported:e.unsupported}]),draggable:!e.unsupported,onDragstart:l},[t.createElementVNode("div",mK,[t.createVNode(t.unref(i),{size:16})]),t.createElementVNode("div",gK,[t.createElementVNode("div",hK,t.toDisplayString(e.type),1),t.createElementVNode("div",yK,t.toDisplayString(t.unref(o)),1)])],42,pK))}}),[["__scopeId","data-v-829422ff"]]),bK={class:"dk-node-panel"},kK={key:0,class:"title"},wK={class:"node-list"},CK={class:"group-title"},EK={class:"group-items"},NK={"aria-hidden":"true",class:"preview",inert:""},SK=xe(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),{createNode:r}=Vt(),o=t.inject(Bn.KM_2446_DATAKIT_JWT_NODES,!1),i=t.computed(()=>o?Ob:Ob.filter(({id:d})=>d!=="authentication")),a=`dk-drag-preview-${t.useId()}`,s=t.shallowRef(),l=t.computed(()=>s.value?[{id:"preview",type:"flow",data:s.value,position:{x:0,y:0}}]:[]),c=async(d,u)=>{const f=d.currentTarget,{left:p,top:m,width:h,height:y}=f.getBoundingClientRect(),g=d.clientX-p,_=d.clientY-m;s.value=r({type:u}),await t.nextTick();const k=document.querySelector(`#${a}`)||f,b=k.cloneNode(!0);b.classList.add("dk-drag-snapshot");const{offsetWidth:N,offsetHeight:C}=k;Object.assign(b.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${N}px`,height:`${C}px`}),document.body.appendChild(b);const w=g/h,S=_/y,x={ratioX:w,ratioY:S,offsetX:N*w,offsetY:C*S},I={action:"create-node",data:{type:u,anchor:x}};d.dataTransfer?.setData(Ga,JSON.stringify(I)),d.dataTransfer?.setData(`${Ga}/${u}`,u),d.dataTransfer?.setDragImage(b,x.offsetX,x.offsetY),requestAnimationFrame(()=>{b.remove(),s.value=void 0})};return(d,u)=>{const f=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",bK,[e.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",kK,[t.createVNode(f,{class:"label",info:t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])])),t.createElementVNode("div",wK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.value,p=>(t.openBlock(),t.createElementBlock("section",{key:p.id,class:"node-group"},[t.createElementVNode("h4",CK,t.toDisplayString(p.title),1),t.createElementVNode("div",EK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.nodes,m=>(t.openBlock(),t.createBlock(_K,{key:m.type,type:m.type,onDragstart:c},null,8,["type"]))),128))])]))),128))]),t.createElementVNode("div",NK,[t.createVNode(t.unref(xt.VueFlow),{nodes:l.value},{"node-flow":t.withCtx(p=>[t.createVNode(Mk,{id:a,data:p.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-f2040974"]]);function AK(){const{addField:e,getNodeByName:n,removeField:r,replaceConfig:o,renameField:i,disconnectOutEdges:a,nodeMapByName:s}=Vt(),l=n("vault");if(!l)throw new Error("no vault node");const c=t.computed(()=>s.value.get("vault")?.config||{});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(h,y)=>{e(l.id,"output",h,!1);const g={...l.config,[h]:y};o(l.id,g)},removeVault:h=>{const y=to(l,"output",h);if(!y)return;const g=l.fields.output.length===1;r(l.id,y.id,!0,!1);const _=eo(l.config,h);o(l.id,_,!g),g&&a(l.id)},updateVault:(h,y,g=!0)=>{const _={...l.config,[h]:y};o(l.id,_,g)},renameVault:(h,y,g=!0)=>{const _=to(l,"output",h);if(!_)return;i(l.id,_.id,y,!1);const k=l.config?.[h]??"",b={...eo(l.config,h),[y]:k};o(l.id,b,g)}}}const xK=t.defineComponent({__name:"VaultSecretPicker",props:{secretRef:{type:[String,Boolean]},secretName:{},validateName:{type:Function,default:()=>{}},isEditing:{type:Boolean,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){const r=n,{i18n:{t:o}}=it.useI18n(),i=t.inject(Je.FORMS_CONFIG),a=t.ref(e.secretName||""),s=t.ref(""),l=t.computed(()=>a.value.trim()?e.validateName(a.value.trim(),e.isEditing)===void 0:!1),c=t.computed(()=>!l.value),d=()=>{const m=a.value.trim(),h=e.validateName(m,e.isEditing);return s.value=h||"",h===void 0},u=()=>{s.value="",d()},f=m=>{d()&&r("proceed",{secretRef:m,secretName:a.value.trim()})},p=()=>{a.value="",s.value="",r("cancel")};return t.watch(()=>e.secretName,m=>{a.value=m||"",s.value=""}),(m,h)=>{const y=t.resolveComponent("KInput"),g=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(qa.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:t.unref(i),"proceed-button-text":t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:e.secretRef,title:t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:p,onProceed:f},{"form-prefix":t.withCtx(()=>[t.createVNode(y,{"model-value":a.value,"onUpdate:modelValue":[h[0]||(h[0]=_=>a.value=_),u],"data-testid":"vault-secret-picker-secret-name-input",error:!!s.value,"error-message":s.value,label:t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:t.unref(o)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.placeholder"),required:""},null,8,["model-value","error","error-message","label","label-attributes","placeholder"])]),_:1},8,["additional-disabled","config","proceed-button-text","setup","title"])):(t.openBlock(),t.createBlock(g,{key:1,"icon-variant":"error",message:t.unref(o)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),IK={class:"dk-vault-panel"},vK={class:"title"},TK={class:"vault-list"},BK={key:0,class:"vault-list-item"},OK={class:"vault-list-item-key"},PK={class:"vault-list-item-key-text"},VK=xe(t.defineComponent({__name:"VaultField",props:{autofocus:{type:Boolean},name:{},labelAttributes:{}},emits:["update","add","remove"],setup(e,{emit:n}){const r=e,o=n,{keys:i,addKey:a,removeKey:s,updateKey:l,getKeyName:c}=Ac(t.toRef(r,"name")),d=$t(t.toRef(r,"name")),u=t.ref(null),f=t.ref(null),p=t.computed(()=>{if(!u.value)return null;const C=c(u.value),w=d.value?d.value.value[u.value]:void 0;return C===void 0||w===void 0?null:{id:u.value,key:C,value:w}}),{i18n:{t:m}}=it.useI18n(),h=t.computed(()=>new Set(i.value.map(([,C])=>C))),y=()=>{if(!d.value)return;const w=a();f.value=w,u.value=w},g=()=>{u.value=null,f.value&&(s(f.value),f.value=null)},_=C=>{if(!p.value)throw new Error("no selected entry");const w=p.value.key,S=w!==C.secretName,x=p.value.value!==C.secretRef,I=S||x;p.value.value=C.secretRef,p.value.key=C.secretName,x&&(d.value.value[p.value.id]=C.secretRef),S&&l(p.value.id,C.secretName),f.value?o("add",C.secretName,C.secretRef):I&&o("update",C.secretName,C.secretRef,S?w:void 0),f.value=null,g()},k=C=>{u.value=C},b=C=>{const w=c(C);s(C),o("remove",w)},N=(C,w)=>{if(!C)return m("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(h.value.has(C)&&!(w&&C===p.value?.key))return m("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(C,w)=>{const S=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),I=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",IK,[t.createElementVNode("h3",vK,t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(S,{appearance:"tertiary",class:"add-button",size:"small",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",TK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),([T,A])=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:T},[A?(t.openBlock(),t.createElementBlock("div",BK,[t.createElementVNode("div",OK,[t.createVNode(t.unref(Ne.KeyIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:16},null,8,["color"]),t.createElementVNode("div",PK,t.toDisplayString(A),1)]),t.createVNode(I,null,{items:t.withCtx(()=>[t.createVNode(x,{onClick:v=>k(T)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1},8,["onClick"]),t.createVNode(x,{danger:"",onClick:v=>b(T)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1},8,["onClick"])]),default:t.withCtx(()=>[t.createVNode(S,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:`var(--kui-color-text, ${t.unref(gf)})`},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(xK,{"is-editing":!!u.value&&!f.value,"secret-name":p.value?.key,"secret-ref":p.value?.value,"validate-name":N,onCancel:g,onProceed:_},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-a7726f48"]]);function $K(){const{getSchema:e}=lt();return t.computed(()=>{const n=e("config.resources");if(!n)throw new Error("Failed to get resource schema");const r=Tr(n);return r.fields.forEach(o=>{const i=Object.keys(o)[0];if(i==="cache"){const a=o[i];o[i]={...a,fields:[...a.fields,{partial_id:{type:"string"}}]},a.fields.forEach(s=>{const l=Object.keys(s)[0];if(l==="redis"){const c=s[l];s[l]={...c},delete s[l].required}})}}),r})}const RK={key:1},LK=["innerHTML"],DK={class:"horizontal-container"},tg=xe(t.defineComponent({__name:"RadioField",props:{labelAttributes:{},multiple:{type:Boolean},items:{},label:{},autofocus:{type:Boolean},name:{}},emits:["update:modelValue"],setup(e,{emit:n}){const r=n,o=t.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=lt(),a=$t(t.toRef(()=>e.name)),s=Jt(a.path,o),l=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=d=>{a.value&&(a.value.value=d),r("update:modelValue",d)};return(d,u)=>{const f=t.resolveComponent("KAlert"),p=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(f,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",RK,[t.createVNode(p,t.normalizeProps(t.guardReactiveProps(t.unref(s).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s).label)+" ",1)]),_:2},[t.unref(s).labelAttributes?.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,LK)]),key:"0"}:void 0]),1040),t.createElementVNode("div",DK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,m=>(t.openBlock(),t.createBlock(t.unref(_e.KRadio),{key:m.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[u[0]||(u[0]=h=>t.unref(a).value.value=h),c],"card-orientation":"horizontal",label:m.label,"selected-value":m.value},null,8,["model-value","label","selected-value"]))),128))])],512)),[[t.vShow,!t.unref(a).hide.value]])}}}),[["__scopeId","data-v-7c0483f3"]]),MK={class:"dk-cache-panel"},FK={class:"title"},jK={key:0,class:"cache-item"},UK={class:"cache-item-key"},KK={class:"cache-item-key-text"},qK={class:"dk-resource-cache-form"},GK={key:1},zK={key:2,class:"dk-cache-inline-redis"},HK={key:3,class:"dk-cache-redis-editor"},WK={key:0,class:"redis-editor-error"},YK=xe(t.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(e,{emit:n}){const r=t.inject("app:konnectColorMode",t.computed(()=>"light")),o=Lc({host:"127.0.0.1",port:6379},{indent:2}),i=n,{getDefault:a,formData:s}=lt(),l=$t("cache");if(l.error)throw new Error("No cache schema");const c=t.inject(oa),d=t.computed(()=>!!c),u=t.shallowRef(""),f=t.ref(""),p=t.ref(!1),{i18n:{t:m}}=it.useI18n(),h=t.computed(()=>y.value==="redis"?d.value?!!(s.cache?.partial_id||s.cache?.redis):!!s.cache?.redis&&!f.value:!0),y=t.computed(()=>l.value.value?.strategy),g=t.computed(()=>l.value.value?.redis?Lc(l.value.value.redis,{indent:2,noRefs:!0}):"");t.watch([p,y],([x,I])=>{x&&I==="redis"&&!d.value&&(u.value=g.value||o,f.value="")}),t.watch(u,x=>{if(!d.value&&y.value==="redis")try{const I=io(x,{json:!0});I&&typeof I=="object"&&(s.cache.redis=I,f.value="")}catch(I){f.value=I.message?.split(`
452
+ `)[0]||"Invalid YAML"}});const _=()=>{p.value=!0},k=()=>{p.value=!1,i("cancel")},b=()=>{i("remove")},N=()=>{_(),l.value.value||(l.value.value=a("cache"),l.value.value.strategy="memory")},C=()=>{p.value=!1,i("update",s)},w=()=>{y.value==="memory"&&s.cache?.partial_id&&delete s.cache?.partial_id};async function S({codeElement:x,language:I,code:T}){x.innerHTML=await vS.codeToHtml(T,{lang:I,theme:"material-theme-darker",structure:"inline"})}return(x,I)=>{const T=t.resolveComponent("KButton"),A=t.resolveComponent("KDropdownItem"),v=t.resolveComponent("KDropdown"),P=t.resolveComponent("KLabel"),O=t.resolveComponent("KCodeBlock"),R=t.resolveComponent("KModal");return t.openBlock(),t.createElementBlock("div",MK,[t.createElementVNode("h3",FK,t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),e.strategy?(t.openBlock(),t.createElementBlock("div",jK,[t.createElementVNode("div",UK,[t.createVNode(t.unref(Ne.DatabaseIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"]),t.createElementVNode("div",KK,t.toDisplayString(e.strategy),1)]),t.createVNode(v,null,{items:t.withCtx(()=>[t.createVNode(A,{onClick:_},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),t.createVNode(A,{danger:"",onClick:b},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1})]),default:t.withCtx(()=>[t.createVNode(T,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:`var(--kui-color-text, ${t.unref(gf)})`},null,8,["color"])]),_:1})]),_:1})])):(t.openBlock(),t.createBlock(T,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:N},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),t.createVNode(R,{"action-button-disabled":!h.value,"action-button-text":t.unref(m)("actions.save"),"max-width":"640px",title:t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:p.value,onCancel:k,onProceed:C},{default:t.withCtx(()=>[t.createElementVNode("div",qK,[t.createVNode(tg,{items:[{label:t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":w},null,8,["items"]),y.value==="memory"?(t.openBlock(),t.createBlock(Xe,{key:0,name:"memory.dictionary_name"})):t.createCommentVNode("",!0),y.value==="redis"&&d.value?(t.openBlock(),t.createElementBlock("div",GK,[t.createVNode(P,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),t.createVNode(t.unref(mf.RedisConfigurationSelector),{"model-value":t.unref(s).cache?.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":I[0]||(I[0]=Q=>t.unref(s).cache.partial_id=Q)},null,8,["model-value"])])):t.createCommentVNode("",!0),y.value==="redis"&&d.value&&!t.unref(s).cache?.partial_id&&g.value?(t.openBlock(),t.createElementBlock("div",zK,[t.createElementVNode("div",null,t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),t.createVNode(O,{id:"dk-cache-redis-configuration",code:g.value,language:"yaml",theme:"dark",onCodeBlockRender:S},null,8,["code"])])):t.createCommentVNode("",!0),y.value==="redis"&&!d.value?(t.openBlock(),t.createElementBlock("div",HK,[t.createVNode(P,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(m)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config")),1)]),_:1}),(t.openBlock(),t.createBlock(t.unref(Ka.MonacoEditor),{key:t.unref(r),modelValue:u.value,"onUpdate:modelValue":I[1]||(I[1]=Q=>u.value=Q),appearance:"standalone",class:"redis-editor",language:"yaml",theme:t.unref(r)},null,8,["modelValue","theme"])),f.value?(t.openBlock(),t.createElementBlock("p",WK,t.toDisplayString(f.value),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)])]),_:1},8,["action-button-disabled","action-button-text","title","visible"])])}}}),[["__scopeId","data-v-9898d095"]]),JK={class:"dk-resources-panel"},XK=xe(t.defineComponent({__name:"ResourcesPanel",setup(e){const n=$K(),r=t.ref(0),{addVault:o,removeVault:i,updateVault:a,renameVault:s,formData:l}=AK();function c(y,g,_){_&&_!==y&&s(_,y,!1),a(y,g)}const{state:d,commit:u}=Vt(),f=t.computed(()=>({cache:d.value.cacheConfig}));function p(y){d.value.cacheConfig=y.cache,u()}function m(){d.value.cacheConfig=void 0,u()}function h(){r.value++}return(y,g)=>(t.openBlock(),t.createElementBlock("div",JK,[t.createVNode(Wt,{data:t.unref(l),schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(VK,{name:"vault",onAdd:t.unref(o),onRemove:t.unref(i),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),g[0]||(g[0]=t.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(t.openBlock(),t.createBlock(Wt,{key:`${r.value}`,data:f.value,schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(YK,{strategy:f.value.cache?.strategy,onCancel:h,onRemove:m,onUpdate:p},null,8,["strategy"])]),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-9093c001"]]),ZK={class:"header"},QK={class:"title"},e8={class:"body"},t8={class:"panel"},n8=xe(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=Ft.createI18n("en-us",zt),{sidePanelExpanded:r}=ud(),{propertiesPanelOpen:o,selectedNode:i}=Vt(),a=t.ref("nodes");function s(){o.value=!1}t.watch(i,c=>{c||s()});const l=t.ref(!1);return t.onMounted(()=>{l.value=!0}),(c,d)=>{const u=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(r),inited:l.value}])},[t.createElementVNode("header",ZK,[t.createElementVNode("h2",QK,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",e8,[t.createElementVNode("div",t8,[t.createVNode(u,{modelValue:a.value,"onUpdate:modelValue":d[0]||(d[0]=f=>a.value=f),options:[{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.nodes"),value:"nodes"},{label:t.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.resources.title"),value:"resources"}]},null,8,["modelValue","options"]),a.value==="nodes"?(t.openBlock(),t.createBlock(SK,{key:0,class:"node-panel","hide-title":""})):t.createCommentVNode("",!0),a.value==="resources"?(t.openBlock(),t.createBlock(XK,{key:1})):t.createCommentVNode("",!0)])])],2)}}}),[["__scopeId","data-v-9e854e60"]]),r8=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,r)=>(t.openBlock(),t.createBlock(St,{items:t.unref(xp)([...t.unref(Tb)]),name:e.name},null,8,["items","name"]))}});function o8(e,n){const r=[],o=(i,a)=>{typeof a=="string"&&r.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&o(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&o(["inputs",i],a);if("output"in e&&e.output!=null&&o(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&o(["outputs",i],a);return r}function i8(e){const n=e.path[2];return n==="output"||n==="outputs"}function pC(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function mC(e,n){const r=e.input!==void 0&&e.input!==null,o=pC(e.inputs);r&&o&&n.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["inputs"]});const i=e.output!==void 0&&e.output!==null,a=pC(e.outputs);i&&a&&n.addIssue({code:"custom",message:'A node cannot use both "output" and "outputs". Use one or the other.',path:["outputs"]})}function gC(e,n,r){if(!e.nodes)return;const o=e.nodes.map(c=>c.name),i=new Set;o.forEach((c,d)=>{i.has(c)&&r.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",d,"name"]}),i.add(c)});const a=new Set([...n,...o]),s=new Map,l=new Map;e.nodes.forEach((c,d)=>{for(const u of o8(c,d)){const f=u.value.split(".",1)[0];if(a.has(f)||r.addIssue({code:"custom",message:`Unknown node "${f}" in connection "${u.value}"`,path:u.path}),i8(u)){const p=`${u.nodeName}->${f}`;l.has(p)?r.addIssue({code:"custom",message:`Connection specified on both sides: "${u.nodeName}" outputs to "${f}" and "${f}" inputs from "${u.nodeName}". Specify it on one side only.`,path:u.path}):s.set(p,s.get(p)??u.path)}else{const p=`${f}->${u.nodeName}`;s.has(p)?r.addIssue({code:"custom",message:`Connection specified on both sides: "${f}" outputs to "${u.nodeName}" and "${u.nodeName}" inputs from "${f}". Specify it on one side only.`,path:u.path}):l.set(p,l.get(p)??u.path)}}})}const a8=$.z.enum(Ib),s8=$.z.enum(Ei),hC=e=>Ei.includes(e),ng=$.z.enum(vb),yC=ng.options;$.z.union([ng,a8]);const l8=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,fd=$.z.string().min(1).max(255).regex(l8,"Invalid node name (snake_case / kebab-case only)").refine(e=>!hC(e),"Name clashes with reserved implicit node").brand(),_C=$.z.union([s8,fd]),c8=$.z.string().min(1).brand(),d8=["then","else"];$.z.enum(d8);const ut=$.z.string().min(1).max(255).refine(e=>{if(_C.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,r,o]=n;return _C.safeParse(r).success&&c8.safeParse(o).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),u8=$.z.object({body:ut,headers:ut,http_proxy:ut,https_proxy:ut,proxy_auth_password:ut,proxy_auth_username:ut,query:ut,url:ut}).partial().strict(),f8=$.z.object({headers:ut,body:ut}).partial().strict(),p8=$.z.object({data:ut,key:ut,ttl:ut}).partial().strict(),m8=$.z.object({claims:ut,key:ut}).partial().strict(),g8=$.z.object({key:ut,token:ut}).partial().strict(),bC=$.z.enum(Tb),kC=$.z.enum(Xf),qn=$.z.object({type:$.z.string(),name:fd,input:ut,inputs:$.z.record($.z.string().min(1).max(255),ut).nullish(),output:ut,outputs:$.z.record($.z.string().min(1).max(255),ut).nullish()}).loose().superRefine((e,n)=>{mC(e,n)}),h8=$.z.object({type:$.z.string(),name:$.z.string()}).loose().superRefine((e,n)=>{const r=e.type,o=e.name;(typeof o!="string"||o.length===0||o.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),yC.includes(r)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${r}", expected one of: ${yC.join(", ")}`})}),y8=qn.safeExtend({type:$.z.literal("call"),method:bC.default("GET").nullish(),ssl_server_name:$.z.string().nullish(),ssl_verify:$.z.boolean().default(!0).nullish(),timeout:$.z.number().int().min(0).max(2147483646).nullish(),url:$.z.url().nullish(),inputs:u8.nullish(),outputs:$.z.object({body:ut,headers:ut,raw_body:ut,status:ut}).partial().nullish()}).strict(),_8=qn.safeExtend({type:$.z.literal("exit"),status:$.z.number().int().min(200).max(599).default(200).nullish(),warn_headers_sent:$.z.boolean().nullish(),inputs:f8.nullish(),output:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),b8=qn.safeExtend({type:$.z.literal("jq"),jq:$.z.string().min(1).max(10240),outputs:$.z.never().nullish()}).strict(),k8=qn.safeExtend({type:$.z.literal("xml_to_json"),recognize_type:$.z.boolean().nullish().default(!0),attributes_block_name:$.z.string().min(1).max(32).nullish(),attributes_name_prefix:$.z.string().min(1).max(32).nullish(),text_block_name:$.z.string().min(1).max(32).nullish().default("#text"),text_as_property:$.z.boolean().nullish().default(!1),xpath:$.z.string().min(1).max(256).nullish(),inputs:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict().superRefine((e,n)=>{!e.attributes_block_name&&!e.attributes_name_prefix&&(n.addIssue({code:"custom",path:["attributes_block_name"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}),n.addIssue({code:"custom",path:["attributes_name_prefix"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}))}),w8=qn.safeExtend({type:$.z.literal("json_to_xml"),attributes_block_name:$.z.string().min(1).max(32).nullish(),attributes_name_prefix:$.z.string().min(1).max(32).nullish(),root_element_name:$.z.string().min(1).max(64).nullish(),text_block_name:$.z.string().min(1).max(32).nullish().default("#text"),inputs:$.z.record($.z.string().min(1).max(255),ut).nullish(),outputs:$.z.never().nullish()}).strict().superRefine((e,n)=>{!e.attributes_block_name&&!e.attributes_name_prefix&&(n.addIssue({code:"custom",path:["attributes_block_name"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}),n.addIssue({code:"custom",path:["attributes_name_prefix"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}))}),C8=qn.safeExtend({type:$.z.literal("jwt_decode"),inputs:$.z.never().nullish(),outputs:$.z.object({header:ut,payload:ut,signature:ut}).partial().nullish()}).strict(),E8=qn.safeExtend({type:$.z.literal("jwt_sign"),algorithm:kC,expires_in:$.z.number().int().min(1).default(300).nullish(),inputs:m8.nullish(),kid:$.z.string().nullish(),not_before:$.z.number().int().min(0).default(0).nullish(),outputs:$.z.object({claims:ut,header:ut,token:ut}).partial().nullish(),static_claims:$.z.record($.z.string(),$.z.string()).default({}).nullish(),typ:$.z.string().default("JWT").nullish()}).strict(),N8=qn.safeExtend({type:$.z.literal("jwt_verify"),allowed_algorithms:$.z.array(kC).default([]).nullish(),audiences:$.z.array($.z.string()).default([]).nullish(),inputs:g8.nullish(),issuers:$.z.array($.z.string()).default([]).nullish(),leeway:$.z.number().int().min(0).default(0).nullish(),outputs:$.z.object({claims:ut,header:ut}).partial().nullish(),required_claims:$.z.array($.z.string()).default([]).nullish(),validate_exp:$.z.boolean().default(!0).nullish(),validate_nbf:$.z.boolean().default(!0).nullish()}).strict(),S8=qn.safeExtend({type:$.z.literal("property"),content_type:$.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:$.z.string().min(1).max(255),non_nil:$.z.boolean().default(!1).nullish(),inputs:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),A8=qn.safeExtend({type:$.z.literal("static"),values:$.z.record($.z.string(),$.z.unknown()),input:$.z.never().nullish(),inputs:$.z.never().nullish()}).strict(),x8=qn.safeExtend({type:$.z.literal("cache"),bypass_on_error:$.z.boolean().nullish(),inputs:p8.nullish(),outputs:$.z.object({data:ut,hit:ut,miss:ut,stored:ut}).partial().nullish(),ttl:$.z.number().int().gt(0).nullish()}).strict(),I8=qn.safeExtend({type:$.z.literal("branch"),then:$.z.array(fd).min(1).max(64).nullish(),else:$.z.array(fd).min(1).max(64).nullish()}).strict(),v8=h8.pipe($.z.discriminatedUnion("type",[y8,_8,b8,k8,w8,C8,E8,N8,S8,A8,x8,I8])),T8=$.z.record($.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),$.z.string().min(1).max(4095)),B8=$.z.object({dictionary_name:$.z.string().nullish().default("kong_db_cache")}),O8=$.z.object({host:$.z.string().default("127.0.0.1"),port:$.z.number().int().min(0).max(65535).default(6379)}),P8=$.z.object({ip:$.z.string().default("127.0.0.1"),port:$.z.number().int().min(0).max(65535).default(6379)}),V8=$.z.object({host:$.z.string().nullish().default("127.0.0.1"),port:$.z.number().int().min(0).max(65535).nullish().default(6379),connect_timeout:$.z.number().int().min(0).max(2147483646).nullish().default(2e3),send_timeout:$.z.number().int().min(0).max(2147483646).nullish().default(2e3),read_timeout:$.z.number().int().min(0).max(2147483646).nullish().default(2e3),username:$.z.string().nullish(),password:$.z.string().nullish(),sentinel_username:$.z.string().nullish(),sentinel_password:$.z.string().nullish(),database:$.z.number().int().nullish().default(0),keepalive_pool_size:$.z.number().int().min(1).max(2147483646).nullish().default(256),keepalive_backlog:$.z.number().int().min(0).max(2147483646).nullish(),sentinel_master:$.z.string().nullish(),sentinel_role:$.z.enum(["master","slave","any"]).nullish(),sentinel_nodes:$.z.array(O8).min(1,{message:"sentinel_nodes must contain at least 1 item"}).nullish(),cluster_nodes:$.z.array(P8).min(1,{message:"cluster_nodes must contain at least 1 item"}).nullish(),ssl:$.z.boolean().default(!1).nullish(),ssl_verify:$.z.boolean().default(!0).nullish(),server_name:$.z.string().nullish(),cluster_max_redirections:$.z.number().int().default(5).nullish(),connection_is_proxied:$.z.boolean().default(!1).nullish(),cloud_authentication:$.z.object({auth_provider:$.z.enum(["aws","azure","gcp"]).nullish(),aws_access_key_id:$.z.string().nullish(),aws_assume_role_arn:$.z.string().nullish(),aws_cache_name:$.z.string().nullish(),aws_is_serverless:$.z.boolean().default(!0).nullish(),aws_region:$.z.string().nullish(),aws_role_session_name:$.z.string().nullish(),aws_secret_access_key:$.z.string().nullish(),azure_client_id:$.z.string().nullish(),azure_client_secret:$.z.string().nullish(),azure_tenant_id:$.z.string().nullish(),gcp_service_account_json:$.z.string().nullish()}).nullish(),timeout:$.z.number().int().nullish(),sentinel_addresses:$.z.array($.z.string()).min(1).nullish(),cluster_addresses:$.z.array($.z.string()).min(1).nullish()}).superRefine((e,n)=>{const r=e.host!==void 0&&e.host!==null,o=e.port!==void 0&&e.port!==null;(r&&!o||!r&&o)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:r?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,s=!!e.sentinel_nodes?.length,l=[i,a,s].filter(Boolean).length;l>0&&l<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!r&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),$8=$.z.object({strategy:$.z.enum(["memory","redis"]).nullish(),memory:B8,redis:V8}),R8=$.z.object({vault:T8.nullish(),cache:$8.nullish()});$.z.array($.z.object({id:$.z.string()})),$.z.object({nodes:$.z.array(v8).min(1,"At least one node is required").max(64),debug:$.z.boolean().default(!1).nullish(),resources:R8.nullish(),ca_certificates:$.z.array($.z.string()).nullish()}).strict().superRefine((e,n)=>{gC(e,Ei,n)});const wC=ng.options,rg=$.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!hC(e),"Node name conflicts with reserved implicit node"),kt=$.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const r=e.slice(0,n),o=e.slice(n+1);return r.length>0&&o.length>0},"Invalid connection"),CC=$.z.object({body:kt.nullish(),headers:kt.nullish(),query:kt.nullish()}).partial().strict(),EC=$.z.object({headers:kt.nullish(),body:kt.nullish()}).partial().strict(),NC=$.z.object({data:kt.nullish(),key:kt.nullish(),ttl:kt.nullish()}).partial().strict(),SC=$.z.object({claims:kt.nullish(),key:kt.nullish()}).partial().strict(),AC=$.z.object({key:kt.nullish(),token:kt.nullish()}).partial().strict(),L8={call:CC,exit:EC,cache:NC,jwt_sign:SC,jwt_verify:AC};function D8(e){const n=L8[e];return n?Object.keys(n.shape):null}const Gn=$.z.object({type:$.z.string(),name:rg,input:kt.nullish(),inputs:$.z.record($.z.string(),kt.nullish()).nullish(),output:kt.nullish(),outputs:$.z.record($.z.string(),kt.nullish()).nullish()}).loose().superRefine((e,n)=>{mC(e,n)}),M8=$.z.object({type:$.z.string(),name:$.z.string()}).loose().superRefine((e,n)=>{const r=e.type,o=e.name;(typeof o!="string"||o.length===0||o.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),wC.includes(r)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${r}", expected one of: ${wC.join(", ")}`})}),F8=Gn.safeExtend({type:$.z.literal("call"),method:bC.nullish(),ssl_server_name:$.z.string().nullish(),ssl_verify:$.z.boolean().nullish(),timeout:$.z.union([$.z.number(),$.z.string()]).nullish(),url:$.z.string().nullish(),inputs:CC.nullish(),outputs:$.z.object({body:kt.nullish(),headers:kt.nullish(),status:kt.nullish()}).partial().nullish()}).strict(),j8=Gn.safeExtend({type:$.z.literal("exit"),status:$.z.union([$.z.number(),$.z.string()]).nullish(),warn_headers_sent:$.z.boolean().nullish(),inputs:EC.nullish(),output:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),U8=Gn.safeExtend({type:$.z.literal("jq"),jq:$.z.string().nullish(),outputs:$.z.never().nullish()}).strict(),K8=Gn.safeExtend({type:$.z.literal("xml_to_json"),recognize_type:$.z.boolean().nullish(),attributes_block_name:$.z.string().nullish(),attributes_name_prefix:$.z.string().nullish(),text_block_name:$.z.string().nullish(),text_as_property:$.z.boolean().nullish(),xpath:$.z.string().nullish(),inputs:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),q8=Gn.safeExtend({type:$.z.literal("json_to_xml"),attributes_block_name:$.z.string().nullish(),attributes_name_prefix:$.z.string().nullish(),root_element_name:$.z.string().nullish(),text_block_name:$.z.string().nullish(),inputs:$.z.record($.z.string(),kt.nullish()).nullish(),outputs:$.z.never().nullish()}).strict(),G8=Gn.safeExtend({type:$.z.literal("property"),content_type:$.z.string().nullish(),non_nil:$.z.boolean().nullish(),property:$.z.string().nullish(),inputs:$.z.never().nullish(),outputs:$.z.never().nullish()}).strict(),z8=Gn.safeExtend({type:$.z.literal("static"),values:$.z.record($.z.string(),$.z.unknown()).nullish(),input:$.z.never().nullish(),inputs:$.z.never().nullish()}).strict(),H8=Gn.safeExtend({type:$.z.literal("cache"),bypass_on_error:$.z.boolean().nullish(),inputs:NC.nullish(),outputs:$.z.object({data:kt.nullish(),hit:kt.nullish(),miss:kt.nullish(),stored:kt.nullish()}).partial().nullish(),ttl:$.z.union([$.z.number(),$.z.string()]).nullish()}).strict(),W8=Gn.safeExtend({type:$.z.literal("jwt_decode"),inputs:$.z.never().nullish(),outputs:$.z.object({header:kt.nullish(),payload:kt.nullish(),signature:kt.nullish()}).partial().nullish()}).strict(),Y8=Gn.safeExtend({type:$.z.literal("jwt_sign"),algorithm:$.z.enum(Xf).nullish(),expires_in:$.z.union([$.z.number(),$.z.string()]).nullish(),inputs:SC.nullish(),kid:$.z.string().nullish(),not_before:$.z.union([$.z.number(),$.z.string()]).nullish(),outputs:$.z.object({claims:kt.nullish(),header:kt.nullish(),token:kt.nullish()}).partial().nullish(),static_claims:$.z.record($.z.string(),$.z.string()).nullish(),typ:$.z.string().nullish()}).strict(),J8=Gn.safeExtend({type:$.z.literal("jwt_verify"),allowed_algorithms:$.z.array($.z.enum(Xf)).nullish(),audiences:$.z.array($.z.string()).nullish(),inputs:AC.nullish(),issuers:$.z.array($.z.string()).nullish(),leeway:$.z.union([$.z.number(),$.z.string()]).nullish(),outputs:$.z.object({claims:kt.nullish(),header:kt.nullish()}).partial().nullish(),required_claims:$.z.array($.z.string()).nullish(),validate_exp:$.z.boolean().nullish(),validate_nbf:$.z.boolean().nullish()}).strict(),X8=Gn.safeExtend({type:$.z.literal("branch"),then:$.z.array(rg).nullish(),else:$.z.array(rg).nullish()}).strict(),Z8=M8.pipe($.z.discriminatedUnion("type",[F8,j8,U8,K8,q8,W8,Y8,J8,G8,z8,H8,X8])),Q8=$.z.record($.z.string(),$.z.string()),eq=$.z.object({dictionary_name:$.z.string().nullish()}),tq=$.z.object(),nq=$.z.object({strategy:$.z.enum(["memory","redis"]).nullish(),memory:eq.nullish(),redis:tq.nullish()}),rq=$.z.object({vault:Q8.nullish(),cache:nq.nullish()}),xC=$.z.object({nodes:$.z.array(Z8).nullish(),debug:$.z.boolean().nullish(),resources:rq.nullish(),ca_certificates:$.z.array($.z.string()).nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||gC(e,Ei,n)}).nullish(),IC=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{},nodeType:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=lt(),{i18n:r}=Qe(),o=t.computed(()=>{const i=n("inputs");if(!i)return[];const a=i.fields.map(l=>Object.keys(l)[0]);if(hn(e.nodeType))return a;const s=D8(e.nodeType);return s===null?a:s.length===0?[]:gO(a,s)});return(i,a)=>(t.openBlock(),t.createBlock(Rt,{"as-child":"",name:e.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.value,s=>(t.openBlock(),t.createBlock(St,{key:s,clearable:"","enable-filtering":"",items:e.items,name:s,placeholder:t.unref(r).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:l=>i.$emit("change:inputs",s,l?l.value:null)},t.createSlots({_:2},[i.$slots["item-label"]?{name:"item-label",fn:t.withCtx(l=>[t.renderSlot(i.$slots,"item-label",t.mergeProps({ref_for:!0},l))]),key:"0"}:void 0]),1032,["items","name","placeholder","onChange"]))),128))]),_:3},8,["name"]))}}),oq=["data-testid"],iq={class:"dk-inputs-map-field-entry-body"},aq={class:"dk-inputs-map-field-entry-content"},sq=xe(t.defineComponent({__name:"InputsMapField",props:{name:{},items:{},fieldNameValidator:{},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const r=e,o=n,{keys:i,addKey:a,removeKey:s,updateKey:l,getKeyName:c,field:d}=Ac(t.toRef(r,"name")),{value:u}=$t(t.toRef(r,"name")),{i18n:{t:f}}=Qe(),p=t.useTemplateRef("root"),m=t.ref(null),h=t.ref({}),y=t.ref({});let g;const _=t.computed(()=>r.keyOrder?.length?[...i.value].sort((A,v)=>{const P=r.keyOrder.indexOf(A[1]),O=r.keyOrder.indexOf(v[1]);return(P===-1?1/0:P)-(O===-1?1/0:O)}):i.value);async function k(A,v="key"){p.value&&(await t.nextTick(),p.value.querySelector(`[data-${v}-input="${A}"]`)?.focus())}function b(){const A=a();if(!A)return;y.value[A]="";const v=_.value.findIndex(([,P])=>!P);k(v===-1?_.value.length-1:v),m.value=A}function N(A,v){s(A),delete y.value[A],delete h.value[A],A===m.value&&(m.value=null),v.trim()!==""&&o("remove:field",v)}function C(A){g=y.value[A]??c(A)??""}function w(A,v){const P=v.trim();y.value[A]=P,x(A,P)}function S(A){const v=y.value[A]??c(A)??"";if(x(A,v)){y.value[A]=g,l(A,g),delete h.value[A];return}if(A===m.value){if(v.trim()==="")return;l(A,v),o("add:field",v,u?.value?.[A]??null),m.value=null}else l(A,v),o("rename:field",g,v);delete h.value[A],g=v}function x(A,v){delete h.value[A];const P=r.fieldNameValidator("input",g,v);if(P)return h.value[A]=P,P}function I(A){x(A,y.value[A]??c(A)??"")}function T(A,v){if(u?.value&&(u.value[A]=v),A===m.value)return;const P=c(A);P&&o("change:inputs",P,v)}return t.watch(i,A=>{const v=new Set(A.map(([P])=>P));Object.keys(y.value).forEach(P=>{v.has(P)?y.value[P]=y.value[P]??c(P)??"":(delete y.value[P],delete h.value[P])}),A.forEach(([P,O])=>{y.value[P]=y.value[P]??O}),m.value&&!v.has(m.value)&&(m.value=null)},{immediate:!0}),t.watch(()=>r.keyOrder,()=>{if(!m.value)return;const A=_.value.findIndex(([v])=>v===m.value);A!==-1&&k(A)}),(A,v)=>{const P=t.resolveComponent("KAlert"),O=t.resolveComponent("KLabel"),R=t.resolveComponent("KInput"),Q=t.resolveComponent("KSelect"),fe=t.resolveComponent("KButton");return t.unref(d).error?(t.openBlock(),t.createBlock(P,{key:0,appearance:"danger",message:t.unref(d).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:p,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,([H,j],D)=>(t.openBlock(),t.createElementBlock("div",{key:H,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(d).path.value}.${D}`},[t.createVNode(O,{for:`ff-kv-entry-key-${t.unref(d).path.value}.${D}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:1},8,["for"]),t.createElementVNode("div",iq,[t.createElementVNode("div",aq,[t.createVNode(R,{id:`ff-kv-entry-key-${t.unref(d).path.value}.${D}`,class:"ff-kv-field-entry-key","data-key-input":D,"data-testid":`ff-key-${t.unref(d).path.value}.${D}`,error:!!h.value[H],"error-message":h.value[H],"model-value":y.value[H]??j,placeholder:t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:ee=>I(H),onChange:ee=>S(H),onFocus:ee=>C(H),"onUpdate:modelValue":ee=>w(H,ee)},null,8,["id","data-key-input","data-testid","error","error-message","model-value","placeholder","onBlur","onChange","onFocus","onUpdate:modelValue"]),t.createVNode(Q,{class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(d).path.value}.${D}`,"enable-filtering":"",items:e.items,label:t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),"model-value":t.unref(u)?.[H],placeholder:t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:ee=>T(H,ee?.value??null)},t.createSlots({_:2},[A.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:ee})=>[t.renderSlot(A.$slots,"item-label",t.mergeProps({ref_for:!0},ee),void 0,!0)]),key:"0"}:void 0]),1032,["data-testid","items","label","model-value","placeholder","onChange"])]),t.createVNode(fe,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(d).path.value}.${D}`,icon:"",onClick:ee=>N(H,j)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:1},8,["data-testid","onClick"])])],8,oq))),128)),t.createVNode(fe,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(d).path.value}`,disabled:!!m.value,onClick:b},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(f)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-43dcb370"]]),lq={class:"dk-source-item"},pd=xe(t.defineComponent({__name:"SourceItem",props:{item:{}},setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock("span",lq,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Zf)(e.item.type).icon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["color","size"])),t.createTextVNode(" "+t.toDisplayString(e.item.label),1)]))}}),[["__scopeId","data-v-d9aa16eb"]]),cq={key:1,class:"dk-inputs-field-or"},Pn=xe(t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{},nodeType:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const r=n,{getSchema:o}=lt(),{i18n:{t:i}}=Qe(),a=t.computed(()=>o("inputs")),s=t.computed(()=>a.value?a.value.type==="record"?IC:sq:null);function l(p){r("change:input",p?p.value:null)}function c(p,m){r("add:field",p,m)}function d(p,m){r("change:inputs",p,m)}function u(p){r("remove:field",p)}function f(p,m){r("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(_e.KLabel),{class:"dk-inputs-field-h1",info:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),t.unref(o)("input")?(t.openBlock(),t.createBlock(St,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:e.items,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:l},{"item-label":t.withCtx(h=>[t.renderSlot(p.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(h)),()=>[t.createVNode(pd,{item:h},null,8,["item"])],!0)]),_:3},8,["items","label","placeholder"])):t.createCommentVNode("",!0),s.value?(t.openBlock(),t.createElementBlock("div",cq,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)])):t.createCommentVNode("",!0),s.value?(t.openBlock(),t.createBlock(t.unref(_e.KLabel),{key:2,class:"dk-inputs-field-h2 dk-margin-0"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1})):t.createCommentVNode("",!0),s.value?(t.openBlock(),t.createBlock(t.unref(s),t.mergeProps({key:3,items:e.items,"key-order":e.fieldNames,name:"inputs"},s.value===IC?{nodeType:e.nodeType}:{fieldNameValidator:e.fieldNameValidator},{"onAdd:field":c,"onChange:inputs":d,"onRemove:field":u,"onRename:field":f}),{"item-label":t.withCtx(h=>[t.createVNode(pd,{item:h},null,8,["item"])]),_:1},16,["items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-4f1ce4e7"]]),dq={},uq={class:"dk-node-form-divider"};function fq(e,n){return t.openBlock(),t.createElementBlock("hr",uq)}const er=xe(dq,[["render",fq],["__scopeId","data-v-35ed58be"]]),pq={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{query:{description:"HTTP request query",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"},mq={fields:[{input:{description:"filter input(s)",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{inputs:{description:"call node inputs",fields:[{body:{description:"HTTP request body",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}},{headers:{description:"HTTP request headers",len_max:255,len_min:1,match_any:{err:"must be one of NODE_NAME or NODE_NAME.FIELD",patterns:["^[A-Za-z_][A-Za-z0-9_-]*$","^[A-Za-z_][A-Za-z0-9_-]*%..+$"]},required:!1,type:"string"}}],required:!1,type:"record"}}],type:"record"};function gq(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function bn(...e){return function(r){for(const o of e){const i=o(r);if(i)return i}}}function Jo(e){const{i18n:{t:n}}=Qe(),r=()=>e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",e):"Field is required";return function(i){if(i==null||typeof i=="string"&&i.trim()==="")return r()}}function vC(e,n){const{i18n:{t:r}}=Qe();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_identifier_format",n):"Invalid identifier format";return/^[A-Za-z_][A-Za-z0-9_-]*$/.test(i)?void 0:a()}case"url":{const a=()=>n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(i);return}catch{return a()}}default:return}}}function Lr(e=0,n=1/0,r){const{i18n:{t:o}}=Qe();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return r?typeof r=="string"?r:o("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:r.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function TC(e){const{i18n:{t:n}}=Qe();return function(o){if(!gq(o))return e?typeof e=="string"?e:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",e):"Value must be a number"}}function ia(e,n){const{i18n:{t:r}}=Qe();return function(i){if(i==null)return;const a=TC(n)(i);if(a)return a;const s=Number(i);switch(e){case"float":{const l=()=>n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(s)?void 0:l()}case"integer":{const l=()=>n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(s)?void 0:l()}default:return}}}function aa(e=-1/0,n=1/0,r){const{i18n:{t:o}}=Qe();return function(a){if(a==null)return;const s=TC(r)(a);if(s)return s;const l=Number(a);if(l<e||l>n)return r?typeof r=="string"?r:o("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:r.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function hq(e,n){const{state:r}=Vt(),{i18n:{t:o}}=Qe();return function(a){if(r.value.nodes.some(s=>s.name===a&&s.id!==e))return n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function yq(e,n,r){const{i18n:{t:o}}=Qe();return function(a){if(!n)return;if(r?n.fields[e].some(l=>l.name===a&&l.id!==r):n.fields[e].some(l=>l.name===a)){const l=o(e==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name");return o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:l})}}}function _q(){const{i18n:{t:e}}=Qe();return function(r){if(tp(r))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:r})}}function BC(e){const{i18n:{t:n}}=Qe(),r={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return bn(Jo(r),vC("identifier",r),_q(),hq(e,r))}function bq(e){const{i18n:{t:n}}=Qe(),{getNodeById:r}=Vt();return function(i,a,s){const l={fieldName:n(i==="input"?"plugins.free-form.datakit.flow_editor.node_properties.input_name.label":"plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name")};return bn(Jo(l),yq(i,r(e),s))(a)}}function kq(e){const n=t.ref({}),r=t.computed(()=>Object.values(n.value).every(s=>!s)),o={};Object.keys(e).forEach(s=>{const l=e[s],c=f=>{const p=typeof f=="function"?f():f,m=l(p);return n.value[s]=m,m},d=()=>{n.value[s]=void 0},u=f=>(d(),c(f));o[s]={handleChange:u,handleBlur:u,validate:u,isValid:t.computed(()=>n.value[s]===void 0),error:t.computed(()=>n.value[s])}});function i(){n.value={}}function a(s){for(const l of Object.keys(e)){const c=s[l],d=typeof c=="function"?c():c;o[l]?.validate(d)}return n.value}return{isValid:r,errorMap:n,fields:o,clearErrors:i,validate:a}}function Dr(e){const{validationConfig:n,getValidationData:r,toggleNodeValid:o}=e,{skipValidation:i}=Vt(),a=t.computed(()=>typeof n=="function"?n():n),s=t.computed(()=>kq(a.value)),l=t.computed(()=>s.value.fields),c=t.computed(()=>s.value.isValid.value);function d(){const f=r(),p=s.value.validate(f),m={};for(const h in a.value)m[h]=p[h];return m}function u(f,p){const m=()=>{const y=r(),g=l.value[f];g&&g.handleBlur(y[f])},h=()=>{p?.();const y=r(),g=l.value[f];g&&g.handleChange(y[f])};return t.computed(()=>{const y=l.value[f];return{validate:m,update:h,error:y?!y.isValid.value:!1,errorMessage:y?y.error.value??"":""}})}return t.onMounted(()=>{i.value?i.value=!1:d()}),t.onBeforeUnmount(async()=>{try{const f=d(),p=Object.values(f).filter(Boolean).length>0;o(!p)}catch{}}),t.watch(()=>c.value,o,{immediate:!0}),{fields:l.value,isValid:c,validateAll:d,createFieldHandler:u}}function kn(e,n){const{state:r,renameNode:o,getNodeById:i,addField:a,renameField:s,removeField:l,replaceConfig:c,disconnectEdge:d,connectEdge:u,invalidConfigNodeIds:f,commit:p,revert:m}=Vt(),{i18n:{t:h}}=Qe(),y=$k(),g=t.computed(()=>{const H=i(e);if(!H)throw new Error("Node not existed");return H}),_=t.computed(()=>{const j=r.value.edges.filter(D=>D.target===e).reduce((D,ee)=>{const K=i(ee.source),J=no(K,"output",ee.sourceField)?.id,ce=no(g.value,"input",ee.targetField)?.name,z=K.id+(J?`.${J}`:"");return ce?D.inputs={...D.inputs,[ce]:z}:D.input=z,D},{});return g.value.fields.input.forEach(D=>{j.inputs||(j.inputs={}),j.inputs[D.name]||(j.inputs[D.name]=null)}),{...g.value.config,...j,name:g.value.name}}),k=H=>{o(e,H??"",!0,`${e}:rename`)},b=(H,j=!0)=>{if(!n)throw new Error("getFormValue is not defined");const D=eo(n(),["name","input","inputs"]),ee=H?`update:${e}:${H}`:void 0;c(e,D,j,ee)},N=(H,j)=>{const D=to(g.value,H,j);if(!D)throw new Error(`Field with name "${j}" not found in node "${g.value.name}"`);return D},C=(H,j,D)=>{const ee=!!D;a(e,H,j,!ee),ee&&T(j,D)},w=(H,j,D)=>{const ee=N(H,j).id;s(e,ee,D)},S=(H,j)=>{const D=N(H,j).id;l(e,D)},x=t.computed(()=>r.value.edges.filter(H=>H.target===e&&!H.targetField)[0]),I=t.computed(()=>r.value.edges.filter(H=>H.target===e&&H.targetField)),T=async(H,j)=>{const D=j==null,ee=N("input",H).id;if(D){const se=I.value.find(X=>X.targetField===ee);se&&d(se.id);return}const{nodeId:K,fieldId:J}=Pb(j),ce=N("input",H).id,z=[];x.value&&(z.push(ls(x.value,i)),d(x.value.id,!1));const oe=I.value.find(se=>se.targetField===ee);oe&&(z.push(ls(oe,i)),d(oe.id,!1)),u({source:K,sourceField:J,target:e,targetField:ce},!1);const Pe=ap(K,J,e,ce,i),Ee=z[0]&&Pe?z[0][1]===Pe[1]:!1;if(p(),Ee||z.length===0)return;await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[Pe],z)||m()},A=async H=>{if(H==null){x.value&&d(x.value.id);return}const D=[];for(const z of I.value)D.push(ls(z,i)),d(z.id,!1);x.value&&d(x.value.id,!1);const{nodeId:ee,fieldId:K}=Pb(H);u({source:ee,sourceField:K,target:e,targetField:void 0},!1);const J=ap(ee,K,e,void 0,i);if(p(),D.length===0)return;await y(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[J],D)||m()},v=H=>{const j=[...r.value.edges,{source:H,target:e}];return kp(fc(j))},P=t.computed(()=>{const H=[];for(const j of r.value.nodes)if(xi(j.type).io?.output&&j.fields.output&&j.id!==e&&!(j.type==="property"&&!Wf(j.config?.property))&&!v(j.id)&&!(g.value.phase==="request"&&j.phase==="response")&&!(j.type==="vault"&&j.fields.output.length===0)){H.push({value:j.id,label:j.name,type:j.type});for(const ee of j.fields.output)H.push({value:`${j.id}.${ee.id}`,label:`${j.name}.${ee.name}`,type:j.type})}return H}),O=t.computed(()=>g.value.fields.input.map(H=>H.name)||[]);function R(H){f.value.delete(e),H||f.value.add(e)}const Q=bq(e);function fe(H,j,D){const ee=i(e);if(!ee)throw new Error("Node not found when validating field name");const K=to(ee,H,j);return Q(H,D,K?.id)}return{formData:_,inputOptions:P,inputEdge:x,inputsEdges:I,inputsFieldNames:O,currentNode:g,setName:k,setConfig:b,addField:C,renameFieldByName:w,removeFieldByName:S,setInputs:T,setInput:A,nameValidator:BC(e),fieldNameValidator:fe,toggleNodeValid:R}}function wn(e){const{getSchema:n}=lt();return t.computed(()=>{if(hn(e))switch(e){case"response":return mq;case"service_request":return pq}try{const o=n().fields.find(d=>Xl(d,"config"));if(!o)throw new Error("Config field not found in schema.");const a=o.config.fields.find(d=>Xl(d,"nodes"));if(!a)throw new Error("Nodes field not found in config schema.");const c=a.nodes.elements.subschema_definitions[e];if(!c)throw new Error(`Subschema "${e}" not found in the schema.`);return c}catch(r){throw new Error(`Failed to get subschema "${e}": ${r.message}`)}})}const zn=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=Qe(),a=t.ref(r.name),s=t.computed(()=>{const u=r.validate(a.value.trim());return u===void 0?"":u});let l=a.value.trim();function c(){if(s.value){a.value=l;return}o("update",a.value.trim())}function d(){l=a.value.trim()}return t.watch(()=>r.name,u=>{u!==a.value&&(a.value=u)}),(u,f)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":f[0]||(f[0]=m=>a.value=m),"data-1p-ignore":"",error:!!s.value,"error-message":s.value,label:t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:d},null,8,["model-value","error","error-message","label"])}}}),wq=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Qe(),r=t.useTemplateRef("form"),o=wn("call"),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>r.value.getValue()),{createFieldHandler:h}=Dr({validationConfig:{url:bn(Jo({fieldName:"URL"}),vC("url",{fieldName:"URL"})),timeout:bn(ia("integer"),aa(0,2147483646))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:p}),y=h("url",()=>s("url")),g=h("timeout",()=>s("timeout"));return(_,k)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Me,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"url",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(r8,{name:"method",onUpdate:k[0]||(k[0]=N=>t.unref(s)())}),t.createVNode(Nt,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"timeout",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Me,{name:"ssl_server_name","onUpdate:modelValue":k[1]||(k[1]=N=>t.unref(s)("ssl_server_name"))}),t.createVNode(en,{name:"ssl_verify","onUpdate:modelValue":k[2]||(k[2]=N=>t.unref(s)("ssl_verify"))}),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"call","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),Cq=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("service_request"),{formData:o,inputOptions:i,setInputs:a,setInput:s,inputsFieldNames:l,fieldNameValidator:c}=kn(e.nodeId,()=>n.value.getValue());return(d,u)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Pn,{"field-name-validator":t.unref(c),"field-names":t.unref(l),items:t.unref(i),"node-type":"service_request","onChange:input":t.unref(s),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Eq=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("response"),{formData:o,inputOptions:i,setInputs:a,setInput:s,inputsFieldNames:l,fieldNameValidator:c}=kn(e.nodeId,()=>n.value.getValue());return(d,u)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Pn,{"field-name-validator":t.unref(c),"field-names":t.unref(l),items:t.unref(i),"node-type":"response","onChange:input":t.unref(s),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Nq=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:r}=Qe(),o=t.useTemplateRef("form"),i=wn("jq"),{formData:a,setName:s,setConfig:l,inputOptions:c,setInputs:d,setInput:u,addField:f,removeFieldByName:p,renameFieldByName:m,inputsFieldNames:h,nameValidator:y,toggleNodeValid:g,fieldNameValidator:_}=kn(e.nodeId,()=>o.value.getValue());function k(x,I){f("input",x,I)}function b(x){p("input",x)}function N(x,I){m("input",x,I)}const C=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:w}=Dr({validationConfig:{jq:bn(Jo({fieldName:C}),Lr(1,10240,{fieldName:C}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:g}),S=w("jq",()=>l("jq"));return(x,I)=>{const T=t.resolveComponent("KLabel"),A=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(a).name,validate:t.unref(y),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(T,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Me,{autosize:"",error:t.unref(S).error,"error-message":t.unref(S).errorMessage,label:t.unref(C),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(S).validate,"onUpdate:modelValue":t.unref(S).update},{help:t.withCtx(()=>[t.createVNode(t.unref(r),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(A,{"hide-icon":"",href:t.unref(ra).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(ra).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(_),"field-names":t.unref(h),items:t.unref(c),"node-type":"jq","onAdd:field":k,"onChange:input":t.unref(u),"onChange:inputs":t.unref(d),"onRemove:field":b,"onRename:field":N},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),Sq=xe(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field"],setup(e,{emit:n}){const r=e,o=n,i=t.ref({}),{value:a,...s}=$t("values"),{i18n:l}=Qe(),c=t.useTemplateRef("root"),d=t.ref([]),u=t.ref(null);let f="",p=a?.value;function m(){return ns("ff-kv-field-")}function h(T,A,v){const P=v.indexOf(T),O=v.indexOf(A);return P===-1&&O===-1?0:P===-1?1:O===-1?-1:P-O}function y(T,A){if(!T)return[];const v=Object.entries(T).map(([P,O])=>({id:m(),key:P,value:O}));return A?.length&&v.sort((P,O)=>h(P.key,O.key,A)),v}function g(){const T={id:m(),key:"",value:""};return d.value.push(T),T}function _(T){const A=d.value.findIndex(v=>v.id===T);A!==-1&&d.value.splice(A,1)}d.value=y(a?.value,r.keyOrder);async function k(T,A="key"){c.value&&(await t.nextTick(),c.value.querySelector(`[data-${A}-input="${T}"]`)?.focus())}function b(){const T=g(),A=d.value.findIndex(({key:v})=>!v);k(A===-1?d.value.length-1:A),u.value=T}function N(T){T.id===u.value?.id&&(u.value=null),_(T.id),T.key.trim()!==""&&o("remove:field",T.key)}function C(T){f=T.key}function w(T){if(x(T)){T.key=f,delete i.value[T.id];return}if(T.id===u.value?.id){if(T.key.trim()==="")return;u.value=null,o("add:field",T.key,T.value)}else o("rename:field",f,T.key);f=T.key}function S(T,A){if(A.id===u.value?.id)return;const v=T.target.value.trim();o("change:value",A.key,v)}function x(T){delete i.value[T.id];const A=r.fieldNameValidator("output",f,T.key);if(A)return i.value[T.id]=A,A}function I(T){x(T)}return t.watch(()=>a?.value,T=>{if(Kt(T,p))return;p=T;const A=u.value,v=new Map(d.value.filter(Q=>Q.key).map(Q=>[Q.key,Q])),P=[],O=T??{};(r.keyOrder?.length?Object.keys(O).sort((Q,fe)=>h(Q,fe,r.keyOrder)):Object.keys(O)).forEach(Q=>{const fe=v.get(Q);if(fe){fe.value=O[Q],P.push(fe);return}P.push({id:m(),key:Q,value:O[Q]})}),A&&!P.some(Q=>Q.id===A.id)&&P.push(A),d.value=P},{deep:!0}),(T,A)=>{const v=t.resolveComponent("KAlert"),P=t.resolveComponent("KLabel"),O=t.resolveComponent("KButton"),R=t.resolveComponent("KInput"),Q=t.resolveComponent("KCard");return s.error?(t.openBlock(),t.createBlock(v,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:c,class:"dk-output-value-field"},[t.createVNode(P,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(fe,H)=>(t.openBlock(),t.createBlock(Q,{key:fe.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${s.path.value}.${H}`},{actions:t.withCtx(()=>[t.createVNode(O,{appearance:"none","data-testid":`ff-kv-remove-btn-${s.path.value}.${H}`,icon:"",onClick:j=>N(fe)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon))]),_:1},8,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(R,{id:`ff-kv-entry-key-${s.path.value}.${H}`,modelValue:fe.key,"onUpdate:modelValue":[j=>fe.key=j,j=>x(fe)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":H,"data-testid":`ff-key-${s.path.value}.${H}`,error:!!i.value[fe.id],"error-message":i.value[fe.id],label:t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:j=>I(fe),onChange:j=>w(fe),onFocus:j=>C(fe)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(R,{modelValue:fe.value,"onUpdate:modelValue":j=>fe.value=j,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${s.path.value}.${H}`,label:t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:j=>S(j,fe)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(O,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${s.path.value}`,disabled:!!u.value,onClick:b},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-3970c2c0"]]);function Aq(e){const n={};for(const[r,o]of Object.entries(e))typeof o=="object"&&o!==null?n[r]=JSON.stringify(o):n[r]=String(o);return n}function md(e){const n={};for(const[r,o]of Object.entries(e))if(o!=null){n[r]=o;try{o==="null"?n[r]=null:(o==="true"||o==="false"||/^-?\d+(\.\d+)?$/.test(o)||o.startsWith("{")&&o.endsWith("}")||o.startsWith("[")&&o.endsWith("]"))&&(n[r]=JSON.parse(o))}catch{}}return n}function xq(e,n,r){const o={};for(const i of Object.keys(e))i===n?o[r]=e[n]:o[i]=e[i];return o}const Iq=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:r,addField:o,renameField:i,removeField:a,replaceConfig:s,getNodeById:l}=Vt(),{fieldNameValidator:c}=kn(e.nodeId),d=wn("static"),u=BC(e.nodeId),f=t.computed(()=>l(e.nodeId)),p=t.computed(()=>f.value?.fields.output.map(b=>b.name)||[]);function m(b){if(!f.value)throw new Error("No current node");n(f.value.id,b??"")}const h=t.computed(()=>{if(!f.value)return{};const b=f.value.config?.values??{},N={},C=r(f.value.id).map(I=>I.sourceField).filter(Boolean).map(I=>no(f.value,"output",I)).map(I=>I?.name).filter(Boolean),w=f.value.fields.output.map(I=>I.name),S=Object.keys(b);return new Set([...S,...C,...w]).forEach(I=>{if(I in b){N[I]=b[I];return}N[I]=""}),{name:f.value.name,values:Aq(N)}});function y(b,N){if(!f.value)throw new Error("No selected node");const C=N!==void 0;if(o(e.nodeId,"output",b,!C),C){const w={values:md({...h.value.values,[b]:N})};s(e.nodeId,w)}}function g(b,N){if(!f.value)throw new Error("No selected node");const C=to(f.value,"output",b);if(!C)throw new Error("No field found to rename");const w={values:md(xq(h.value.values??{},b,N))};s(e.nodeId,w,!1),i(e.nodeId,C.id,N)}function _(b){if(!f.value)throw new Error("No selected node");const N=to(f.value,"output",b);if(!N)throw new Error("No field found to delete");a(f.value?.id,N.id,!0,!1);const C={values:md({...h.value.values})};delete C.values[b],s(e.nodeId,C)}function k(b,N){if(!f.value)throw new Error("No selected node");const C={...h.value.values};C[b]=N;const w={values:md(C)};s(e.nodeId,w)}return(b,N)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:h.value,schema:t.unref(d)},{default:t.withCtx(()=>[t.createVNode(zn,{name:f.value?.name??"",validate:t.unref(u),onUpdate:m},null,8,["name","validate"]),t.createVNode(Sq,{"field-name-validator":t.unref(c),"key-order":p.value,"onAdd:field":y,"onChange:value":k,"onRemove:field":_,"onRename:field":g},null,8,["field-name-validator","key-order"])]),_:1},8,["data","schema"]))}}),vq={class:"dk-kong-property-item"},Tq={class:"property-type"},Bq={class:"property-badges"},Oq=xe(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:r}}=Qe(),o=t.inject(Bn.KM_3034_FEATURES_316,!1),i=["kong.client.principal","kong.client.principal.{key}"],a=e,s=n,{formData:l}=lt(),c=t.ref(rs(l.property)),d=t.computed(()=>os(l.property)),u=t.ref(Hf(l.property)),f=t.computed(()=>l.property??""),p=t.computed(()=>Object.entries(Io).filter(([y])=>o||!i.includes(y)).map(([y])=>{const g=os(y)?l.property?.startsWith(y.replace(wi,"")):l.property===y;return{label:g&&u.value?y.replace(wi,u.value):y,value:y,selected:g}}));function m(y){const g=Zl.find(_=>l.property?.startsWith(_));g&&(l.property=g+y,a.validators.key.handleChange(l.property),s("update:property-key",l.property))}function h(y){c.value!==rs(y?.value)&&(l.property=y?.value||null,c.value=rs(l.property),a.validators.property.handleBlur(()=>l.property),s("update:model-value",l.property))}return t.watch(()=>l.property,y=>{u.value=Hf(y),c.value=rs(y)}),(y,g)=>{const _=t.resolveComponent("KBadge"),k=t.resolveComponent("KSelect"),b=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(k,{key:f.value,"enable-filtering":"",error:!e.validators.property.isValid.value,help:e.validators.property.error.value,items:p.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:g[0]||(g[0]=N=>e.validators.property.handleBlur(()=>t.unref(l).property)),onChange:h},{"item-template":t.withCtx(({item:N})=>[t.createElementVNode("div",vq,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(N.label),1),t.createElementVNode("div",Tq,t.toDisplayString(t.unref(Io)[N.value].dataType),1)]),t.createElementVNode("div",Bq,[t.unref(Io)[N.value].readable?(t.openBlock(),t.createBlock(_,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(Io)[N.value].writable?(t.openBlock(),t.createBlock(_,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),d.value?(t.openBlock(),t.createBlock(b,{key:0,"model-value":u.value,"onUpdate:modelValue":[g[1]||(g[1]=N=>u.value=N),m],error:!e.validators.key.isValid.value,"error-message":e.validators.key.error.value,label:"key",required:"",onBlur:g[2]||(g[2]=N=>e.validators.key.handleBlur(()=>t.unref(l).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-cc97d84c"]]),Pq=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:r,disconnectInEdges:o,disconnectOutEdges:i}=Vt(),a=wn("property"),{formData:s,setName:l,setConfig:c,inputOptions:d,setInputs:u,setInput:f,inputsFieldNames:p,nameValidator:m,toggleNodeValid:h,fieldNameValidator:y}=kn(e.nodeId,()=>n.value.getValue()),g=t.computed(()=>Yf(s.value.property));function _(b){const N=r.value?.id;if(!N)throw new Error("Expected selectedNode to be defined");Wf(b)||i(N,!1),Yf(b)||o(N,!1),c()}const{fields:k}=Dr({validationConfig:()=>({property:Jo({fieldName:"Property"}),key:os(s.value.property)?Jo({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:s.value.property,key:Hf(s.value.property)}),toggleNodeValid:h});return(b,N)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(s),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(s).name,validate:t.unref(m),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(St,{name:"content_type",onUpdate:N[0]||(N[0]=C=>t.unref(c)())}),t.createVNode(Oq,{validators:t.unref(k),"onUpdate:modelValue":_,"onUpdate:propertyKey":N[1]||(N[1]=C=>t.unref(c)("property-key"))},null,8,["validators"]),t.createVNode(en,{name:"non_nil","onUpdate:modelValue":N[2]||(N[2]=C=>t.unref(c)("non_nil"))}),g.value?(t.openBlock(),t.createBlock(er,{key:0})):t.createCommentVNode("",!0),g.value?(t.openBlock(),t.createBlock(Pn,{key:1,"field-name-validator":t.unref(y),"field-names":t.unref(p),items:t.unref(d),"node-type":"property","onChange:input":t.unref(f),"onChange:inputs":t.unref(u)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),Vq=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("exit"),{formData:o,setName:i,setConfig:a,inputOptions:s,setInputs:l,setInput:c,inputsFieldNames:d,nameValidator:u,toggleNodeValid:f,fieldNameValidator:p}=kn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:m}=Dr({validationConfig:{status:bn(ia("integer",{fieldName:"Status"}),aa(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:o.value.status}),toggleNodeValid:f}),h=m("status",()=>a("status"));return(y,g)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(o).name,validate:t.unref(u),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Nt,{error:t.unref(h).error,"error-message":t.unref(h).errorMessage,name:"status",onBlur:t.unref(h).validate,"onUpdate:modelValue":t.unref(h).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(en,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=_=>t.unref(a)())}),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(p),"field-names":t.unref(d),items:t.unref(s),"node-type":"exit","onChange:input":t.unref(c),"onChange:inputs":t.unref(l)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}});function $q(e){const n=kn(e),{state:r,getNodeById:o,branchGroups:i,commit:a}=Vt(),{i18n:{t:s}}=Qe(),l=$k(),c=Ql(),d=t.computed(()=>{const _={...n.formData.value},k=ss(n.currentNode.value?.type||"branch");for(const b of k)(!(b in _)||_[b]==null)&&(_[b]=[]);return _});function u(_,k,b){const N=o(_),C=o(b),w=N?`${N.name}.${k}`:`${_}.${k}`,S=C?C.name:b;return[w,S]}function f(_){return(_==null?[]:Array.isArray(_)?_:[_]).filter(k=>np(k))}function p(_,k){return i.wouldCreateCycle(_,k)?(c({message:s("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function m(_,k,b){const N=[],C=[],w=[];for(const S of b){const x=i.findMembership(S);if(!x||x.ownerId===_&&x.branch===k)continue;const I=i.getMembers(x.ownerId,x.branch).filter(T=>T!==S);w.push({ownerId:x.ownerId,branch:x.branch,members:I}),N.push(u(_,k,S)),C.push(u(x.ownerId,x.branch,S))}return{conflictUpdates:w,addedAssignments:N,removedAssignments:C}}function h(_,k,b,N){let C=!1;for(const w of N)C=i.setMembers(w.ownerId,w.branch,w.members,{commit:!1})||C;return C=i.setMembers(_,k,b,{commit:!1})||C,C}async function y(_,k){const b=n.currentNode.value,N=f(k),C=i.prepareMembers(b.id,_,N),w=i.getMembers(b.id,_);if(rp(w,C))return!0;const S=C.filter(v=>!w.includes(v));for(const v of S)if(p(b.id,v))return!1;const{conflictUpdates:x,addedAssignments:I,removedAssignments:T}=m(b.id,_,S);return x.length>0&&!await l(s("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),I,T)?!1:(h(b.id,_,C,x)&&a(),!0)}const g=t.computed(()=>{const _=n.currentNode.value;return!_||!i?[]:r.value.nodes.filter(k=>k.id!==e&&!hn(k.type)&&k.phase===_.phase&&!i.wouldCreateCycle(_.id,k.id)).map(k=>({value:k.id,label:k.name,type:k.type}))});return{...n,formData:d,branchOptions:g,updateBranchMembers:y}}const Rq=t.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Qe(),r=wn("branch"),o=t.ref(0),{formData:i,setName:a,inputOptions:s,branchOptions:l,nameValidator:c,setInput:d,setInputs:u,inputsFieldNames:f,fieldNameValidator:p,updateBranchMembers:m}=$q(e.nodeId);async function h(y,g){await m(y,g)||(o.value+=1)}return(y,g)=>(t.openBlock(),t.createBlock(Wt,{key:o.value,data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(c),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(St,{"enable-filtering":"",items:t.unref(l),multiple:"",name:"then",onUpdate:g[0]||(g[0]=_=>h("then",_))},{"item-label":t.withCtx(_=>[t.createVNode(pd,{item:_},null,8,["item"])]),_:1},8,["items"]),t.createVNode(St,{"enable-filtering":"",items:t.unref(l),multiple:"",name:"else",onUpdate:g[1]||(g[1]=_=>h("else",_))},{"item-label":t.withCtx(_=>[t.createVNode(pd,{item:_},null,8,["item"])]),_:1},8,["items"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(s),"node-type":"branch","onChange:input":t.unref(d),"onChange:inputs":t.unref(u)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Lq=t.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("cache"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:h}=Dr({validationConfig:()=>({ttl:bn(ia("integer",{fieldName:"TTL"}),aa(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:i.value.ttl}),toggleNodeValid:p}),y=h("ttl",()=>s("ttl"));return(g,_)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(en,{name:"bypass_on_error","onUpdate:modelValue":_[0]||(_[0]=k=>t.unref(s)("bypass_on_error"))}),t.createVNode(Nt,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"ttl",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"cache","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Dq=t.defineComponent({__name:"NodeFormXmlToJson",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("xml_to_json"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>n.value.getValue()),h=o("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),y=()=>!!(i.value.attributes_block_name||i.value.attributes_name_prefix),{createFieldHandler:g}=Dr({validationConfig:()=>({attributes_block_name:bn(()=>y()?void 0:h,x=>{if(x)return Lr(1,32,{fieldName:"Attributes block name"})(x)}),attributes_name_prefix:bn(()=>y()?void 0:h,x=>{if(x)return Lr(1,32,{fieldName:"Attributes name prefix"})(x)}),text_block_name:Lr(1,32,{fieldName:"Text block name"}),xpath:Lr(1,256,{fieldName:"XPath"})}),getValidationData:()=>({attributes_block_name:i.value.attributes_block_name,attributes_name_prefix:i.value.attributes_name_prefix,text_block_name:i.value.text_block_name,xpath:i.value.xpath}),toggleNodeValid:p}),_=g("attributes_block_name",()=>s("attributes_block_name")),k=g("attributes_name_prefix",()=>s("attributes_name_prefix")),b=g("text_block_name",()=>s("text_block_name")),N=g("xpath",()=>s("xpath")),C=()=>{_.value.validate(),k.value.validate()},w=()=>{_.value.update(),k.value.validate()},S=()=>{k.value.update(),_.value.validate()};return(x,I)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(en,{name:"recognize_type","onUpdate:modelValue":I[0]||(I[0]=T=>t.unref(s)("recognize_type"))}),t.createVNode(Me,{error:t.unref(_).error,"error-message":t.unref(_).errorMessage,name:"attributes_block_name",onBlur:C,"onUpdate:modelValue":w},null,8,["error","error-message"]),t.createVNode(Me,{error:t.unref(k).error,"error-message":t.unref(k).errorMessage,name:"attributes_name_prefix",onBlur:C,"onUpdate:modelValue":S},null,8,["error","error-message"]),t.createVNode(Me,{error:t.unref(b).error,"error-message":t.unref(b).errorMessage,name:"text_block_name",onBlur:t.unref(b).validate,"onUpdate:modelValue":t.unref(b).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(en,{name:"text_as_property","onUpdate:modelValue":I[1]||(I[1]=T=>t.unref(s)("text_as_property"))}),t.createVNode(Me,{error:t.unref(N).error,"error-message":t.unref(N).errorMessage,name:"xpath",onBlur:t.unref(N).validate,"onUpdate:modelValue":t.unref(N).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"xml_to_json","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Mq=t.defineComponent({__name:"NodeFormJsonToXml",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("json_to_xml"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,addField:u,removeFieldByName:f,renameFieldByName:p,inputsFieldNames:m,nameValidator:h,toggleNodeValid:y,fieldNameValidator:g}=kn(e.nodeId,()=>n.value.getValue()),_=o("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),k=()=>!!(i.value.attributes_block_name||i.value.attributes_name_prefix),{createFieldHandler:b}=Dr({validationConfig:{attributes_block_name:bn(()=>k()?void 0:_,Lr(1,32,{fieldName:"Attributes block name"})),attributes_name_prefix:bn(()=>k()?void 0:_,Lr(1,32,{fieldName:"Attributes name prefix"})),root_element_name:Lr(1,64,{fieldName:"Root element name"}),text_block_name:Lr(1,32,{fieldName:"Text block name"})},getValidationData:()=>({attributes_block_name:i.value.attributes_block_name,attributes_name_prefix:i.value.attributes_name_prefix,root_element_name:i.value.root_element_name,text_block_name:i.value.text_block_name}),toggleNodeValid:y}),N=b("attributes_block_name",()=>s("attributes_block_name")),C=b("attributes_name_prefix",()=>s("attributes_name_prefix")),w=b("root_element_name",()=>s("root_element_name")),S=b("text_block_name",()=>s("text_block_name"));function x(){N.value.validate(),C.value.validate()}function I(){N.value.update(),C.value.validate()}function T(){C.value.update(),N.value.validate()}function A(O,R){u("input",O,R)}function v(O){f("input",O)}function P(O,R){p("input",O,R)}return(O,R)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(h),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Me,{error:t.unref(N).error,"error-message":t.unref(N).errorMessage,name:"attributes_block_name",onBlur:x,"onUpdate:modelValue":I},null,8,["error","error-message"]),t.createVNode(Me,{error:t.unref(C).error,"error-message":t.unref(C).errorMessage,name:"attributes_name_prefix",onBlur:x,"onUpdate:modelValue":T},null,8,["error","error-message"]),t.createVNode(Me,{error:t.unref(w).error,"error-message":t.unref(w).errorMessage,name:"root_element_name",onBlur:t.unref(w).validate,"onUpdate:modelValue":t.unref(w).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Me,{error:t.unref(S).error,"error-message":t.unref(S).errorMessage,name:"text_block_name",onBlur:t.unref(S).validate,"onUpdate:modelValue":t.unref(S).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(g),"field-names":t.unref(m),items:t.unref(l),"node-type":"json_to_xml","onAdd:field":A,"onChange:input":t.unref(d),"onChange:inputs":t.unref(c),"onRemove:field":v,"onRename:field":P},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Fq=t.defineComponent({__name:"NodeFormJwtDecode",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("jwt_decode"),{formData:o,setName:i,inputOptions:a,setInputs:s,setInput:l,inputsFieldNames:c,nameValidator:d,fieldNameValidator:u}=kn(e.nodeId,()=>n.value.getValue());return(f,p)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(o).name,validate:t.unref(d),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(u),"field-names":t.unref(c),items:t.unref(a),"node-type":"jwt_decode","onChange:input":t.unref(l),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),jq=t.defineComponent({__name:"NodeFormJwtSign",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("jwt_sign"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>{const k={...n.value.getValue()};return(!k.static_claims||Object.keys(k.static_claims).length===0)&&delete k.static_claims,k}),{createFieldHandler:h}=Dr({validationConfig:{algorithm:Jo({fieldName:"Algorithm"}),expires_in:bn(ia("integer",{fieldName:"Expires in"}),aa(1,1/0,{fieldName:"Expires in"})),not_before:bn(ia("integer",{fieldName:"Not before"}),aa(0,1/0,{fieldName:"Not before"}))},getValidationData:()=>({algorithm:i.value.algorithm,expires_in:i.value.expires_in,not_before:i.value.not_before}),toggleNodeValid:p}),y=h("algorithm",()=>s("algorithm")),g=h("expires_in",()=>s("expires_in")),_=h("not_before",()=>s("not_before"));return(k,b)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(St,{"enable-filtering":"",name:"algorithm",onUpdate:t.unref(y).update},null,8,["onUpdate"]),t.createVNode(Nt,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"expires_in",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Nt,{error:t.unref(_).error,"error-message":t.unref(_).errorMessage,name:"not_before",onBlur:t.unref(_).validate,"onUpdate:modelValue":t.unref(_).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Me,{name:"kid","onUpdate:modelValue":b[0]||(b[0]=N=>t.unref(s)("kid"))}),t.createVNode(Me,{name:"typ","onUpdate:modelValue":b[1]||(b[1]=N=>t.unref(s)("typ"))}),t.createVNode(_n,{label:t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.jwt.static_claims.label"),name:"static_claims",onLegacyValueChange:b[2]||(b[2]=N=>t.unref(s)("static_claims"))},null,8,["label"]),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"jwt_sign","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Uq=t.defineComponent({__name:"NodeFormJwtVerify",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=wn("jwt_verify"),{i18n:{t:o}}=Qe(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:d,inputsFieldNames:u,nameValidator:f,toggleNodeValid:p,fieldNameValidator:m}=kn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:h}=Dr({validationConfig:{leeway:bn(ia("integer",{fieldName:"Leeway"}),aa(0,1/0,{fieldName:"Leeway"}))},getValidationData:()=>({leeway:i.value.leeway}),toggleNodeValid:p}),y=h("leeway",()=>s("leeway"));return(g,_)=>(t.openBlock(),t.createBlock(Wt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(zn,{name:t.unref(i).name,validate:t.unref(f),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(_e.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(St,{"enable-filtering":"",multiple:"",name:"allowed_algorithms",onUpdate:_[0]||(_[0]=k=>t.unref(s)("allowed_algorithms"))}),t.createVNode(dt,{name:"issuers",onAdd:_[2]||(_[2]=k=>t.unref(s)("issuers")),onRemove:_[3]||(_[3]=k=>t.unref(s)("issuers"))},{item:t.withCtx(({fieldName:k,autofocus:b})=>[t.createVNode(Me,{autofocus:b,name:k,"onUpdate:modelValue":_[1]||(_[1]=N=>t.unref(s)("issuers"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(dt,{name:"audiences",onAdd:_[5]||(_[5]=k=>t.unref(s)("audiences")),onRemove:_[6]||(_[6]=k=>t.unref(s)("audiences"))},{item:t.withCtx(({fieldName:k,autofocus:b})=>[t.createVNode(Me,{autofocus:b,name:k,"onUpdate:modelValue":_[4]||(_[4]=N=>t.unref(s)("audiences"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(dt,{name:"required_claims",onAdd:_[8]||(_[8]=k=>t.unref(s)("required_claims")),onRemove:_[9]||(_[9]=k=>t.unref(s)("required_claims"))},{item:t.withCtx(({fieldName:k,autofocus:b})=>[t.createVNode(Me,{autofocus:b,name:k,"onUpdate:modelValue":_[7]||(_[7]=N=>t.unref(s)("required_claims"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(Nt,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"leeway",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(en,{name:"validate_exp","onUpdate:modelValue":_[10]||(_[10]=k=>t.unref(s)("validate_exp"))}),t.createVNode(en,{name:"validate_nbf","onUpdate:modelValue":_[11]||(_[11]=k=>t.unref(s)("validate_nbf"))}),t.createVNode(er),t.createVNode(Pn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),items:t.unref(l),"node-type":"jwt_verify","onChange:input":t.unref(d),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),Kq=["innerHTML"],qq={key:1,class:"branch-note"},Gq={class:"branch-label"},zq={class:"branch-text"},Hq=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${Hy}px`},offsetTop:{default:`${tA}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{t:n}=Ft.createI18n("en-us",zt),{getNodeById:r,branchGroups:o}=Vt(),i=t.computed(()=>e.nodeId&&r(e.nodeId)),a=t.computed(()=>{if(e.nodeId)return o.findMembership(e.nodeId)}),s=t.computed(()=>{if(!a.value)return"";const d=r(a.value.ownerId);return d?`${d.name}.${a.value.branch}`:""});function l(){e.nodeId&&o.removeMember(e.nodeId)}const c=t.computed(()=>{switch(i.value?.type){case"call":return wq;case"service_request":return Cq;case"response":return Eq;case"jq":return Nq;case"static":return Iq;case"property":return Pq;case"exit":return Vq;case"branch":return Rq;case"cache":return Lq;case"xml_to_json":return Dq;case"json_to_xml":return Mq;case"jwt_decode":return Fq;case"jwt_sign":return jq;case"jwt_verify":return Uq;default:return null}});return(d,u)=>(t.openBlock(),t.createBlock(t.unref(_e.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":e.maxWidth,"offset-top":e.offsetTop,visible:e.visible,"z-index":t.unref(eA),onClose:u[0]||(u[0]=f=>d.$emit("close"))},t.createSlots({default:t.withCtx(()=>[i.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(Si)(i.value.type)},null,8,Kq)):t.createCommentVNode("",!0),a.value?(t.openBlock(),t.createElementBlock("div",qq,[t.createElementVNode("span",Gq,[t.createVNode(t.unref(Ne.ArrowSplitIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["color","size"]),t.createElementVNode("span",zq,t.toDisplayString(s.value),1)]),t.createVNode(t.unref(_e.KTooltip),{placement:"top",text:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")},{default:t.withCtx(()=>[t.createVNode(t.unref(_e.KButton),{appearance:"none","aria-label":t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch"),class:"remove-branch",icon:"",size:"small",onClick:l},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.TrashIcon))]),_:1},8,["aria-label"])]),_:1},8,["text"])])):t.createCommentVNode("",!0),c.value?(t.openBlock(),t.createBlock(t.unref(c),{key:e.nodeId,class:"dk-node-properties-panel-form","node-id":e.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[i.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(Np,{type:i.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),Wq=xe(Hq,[["__scopeId","data-v-32602117"]]),Yq={class:"dk-editor-content"},Jq={class:"main"},Xq=xe(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:r}=Vt();function o(){n.value=!1}t.watch(r,a=>{a||o()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,s)=>(t.openBlock(),t.createElementBlock("div",Yq,[t.createVNode(t.unref(n8)),t.createElementVNode("div",Jq,[t.createVNode(fK)]),t.createVNode(Wq,{"node-id":t.unref(r)?.id,visible:t.unref(n),onClose:o},null,8,["node-id","visible"])]))}}),[["__scopeId","data-v-66331c5c"]]),Zq={key:0,class:"dk-editor-modal"},Qq=xe(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(l=>({v38ec900c:`${t.unref(QS)}px`,v620586b8:`${t.unref(zy)}px`}));const n=t.useModel(e,"open"),r=t.ref(!1),o=t.useTemplateRef("confirm-modal"),{clear:i}=Vt();O$(async(...l)=>{r.value=!0;const c=await o.value.open(...l);return r.value=!1,c});const a=Ot.useScrollLock(document);t.watch(n,l=>{a.value=!!l,l||i()},{immediate:!0});function s(){n.value=!1}return(l,c)=>n.value?(t.openBlock(),t.createElementBlock("div",Zq,[t.createVNode(aK,{class:"nav",onBack:s}),t.createVNode(Xq,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(nK,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-c3604472"]]),e3={class:"dk-flow-editor"},t3={class:"flow-panels-container"},n3={class:"overlay"},r3=xe(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:r}=Ft.createI18n("en-us",zt),{formData:o,setValue:i,getValue:a}=lt(),s=n;function l(u,f,p,m){const h={...o.config,nodes:u};p!==void 0&&(h.resources=p);const y={...o.__ui_data,...f},g={...o,config:h,__ui_data:y};m!=null?g.partials=[{id:m}]:g.partials&&(g.partials=null),i(g),s("change",h,y)}const{modalOpen:c,setPendingFitView:d}=Cp(a(),{onChange:l,isEditing:e.isEditing});return t.watch(c,()=>{d(!0)},{flush:"post"}),WU({enabled:c}),(u,f)=>{const p=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",e3,[t.createElementVNode("div",t3,[t.createVNode(eg,{inactive:t.unref(c),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",n3,[t.createVNode(p,{appearance:"secondary",class:"button-open-editor",onClick:f[0]||(f[0]=m=>c.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(Ne.ExpandIcon))]),_:1})])]),t.createVNode(Qq,{open:t.unref(c),"onUpdate:open":f[1]||(f[1]=m=>t.isRef(c)?c.value=m:null)},null,8,["open"])])}}}),[["__scopeId","data-v-cd9d53e6"]]),o3=["innerHTML"],i3={class:"dk-option-label"},a3=Ce({component:xe(t.defineComponent({inheritAttrs:!1,__name:"DatakitForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const{t:n}=Ft.createI18n("en-us",zt),r=e,o=t.useAttrs(),i=t.inject(Je.FORMS_CONFIG),a=t.ref(!1);t.onMounted(()=>{a.value=!!document.querySelector("#plugin-form-page-actions")});const{editorMode:s}=ud(),l=t.computed(()=>i.app!=="konnect"||u.value===!1?"code":s.value),c=t.computed(()=>i.app==="kongManager"?"code":l.value==="flow"?"form":"code"),d={flow:Ne.DesignIcon,code:Ne.CodeblockIcon},u=t.ref(!0),f=t.ref(""),p=t.computed(()=>{const S=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return S[0].disabled=!u.value,S}),m=t.inject(Bn.KM_3034_FEATURES_316,!1),h=t.ref(!(r.isEditing&&r.model?.config?.ca_certificates?.length)),y=t.computed(()=>{const S=[{name:"plugin-config",title:n("plugins.free-form.datakit.flow_editor.mode"),description:n("plugins.free-form.datakit.description_flow")}];return m&&S.push({name:"advanced",title:n("plugins.free-form.datakit.advanced_configuration.title")}),S}),g=t.computed(()=>u.value?"":n("plugins.free-form.datakit.flow_editor.disabled_tooltip",{reason:f.value,code:S=>`<code>${lO(S)}</code>`}));t.watch(l,()=>{r.onValidityChange?.({model:"config",valid:!0})});function _(){r.onValidityChange?.({model:"config",valid:!0})}function k(){_()}function b(S){return S.map(x=>typeof x=="number"?`[${x}]`:S.length&&typeof x=="string"&&x.includes(".")?`["${x}"]`:`.${x}`).join("").replace(/^\./,"")}function N(S){return S.issues.map(x=>`${b(x.path)} - ${x.message}`).join("; ")}function C(S){if(_(),i.app!=="konnect")return;const x=S?.config,{success:I,error:T}=xC.safeParse(x);f.value=I||!T?"":N(T),u.value=I}function w(S){f.value=S,u.value=!1,r.onValidityChange?.({model:"config",valid:!1,error:S})}return(S,x)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(i).app==="konnect"?(t.openBlock(),t.createBlock(t.Teleport,{key:0,disabled:!a.value,to:"#plugin-form-page-actions"},[t.createVNode(t.unref(_e.KSegmentedControl),{"data-testid":"datakit-editor-mode-switcher","model-value":l.value,options:p.value,"onUpdate:modelValue":x[0]||(x[0]=I=>s.value=I)},{"option-label":t.withCtx(({option:I})=>[t.createVNode(t.unref(_e.KTooltip),{disabled:u.value||I.value!=="flow"},{content:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:g.value},null,8,o3)]),default:t.withCtx(()=>[t.createElementVNode("div",i3,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(d[I.value]))),t.createTextVNode(" "+t.toDisplayString(I.label),1)])]),_:2},1032,["disabled"])]),_:1},8,["model-value","options"])],8,["disabled"])):t.createCommentVNode("",!0),t.createVNode(On,t.mergeProps({...t.unref(o),...r},{class:"dk-form","config-sections":y.value,"editor-mode":c.value,"hide-editor-mode-switcher":""}),t.createSlots({"section-plugin-config":t.withCtx(()=>[l.value==="flow"?(t.openBlock(),t.createBlock(r3,{key:0,"is-editing":r.isEditing,onChange:k},null,8,["is-editing"])):t.createCommentVNode("",!0)]),"code-editor":t.withCtx(()=>[t.createVNode(zU,{class:"code-editor",editing:r.isEditing,onChange:C,onError:w},null,8,["editing"])]),_:2},[t.unref(m)?{name:"section-advanced",fn:t.withCtx(()=>[t.createVNode(t.unref(_e.KCollapse),{modelValue:h.value,"onUpdate:modelValue":x[1]||(x[1]=I=>h.value=I),"data-testid":"dk-advanced-configuration-collapse","trigger-label":h.value?t.unref(n)("plugins.free-form.datakit.advanced_configuration.show_label"):t.unref(n)("plugins.free-form.datakit.advanced_configuration.hide_label")},{default:t.withCtx(()=>[t.createVNode(jU,{name:"$.config.ca_certificates"})]),_:1},8,["modelValue","trigger-label"])]),key:"0"}:void 0]),1040,["config-sections","editor-mode"])],64))}}),[["__scopeId","data-v-2503a4a2"]])}),s3=Ce({experimental:!0}),l3={class:"ff-response-mapping"},c3={class:"ff-response-mapping-header"},d3={class:"ff-response-mapping-col ff-response-mapping-col--code"},u3={class:"ff-response-mapping-col ff-response-mapping-col--status"},f3={class:"ff-response-mapping-col ff-response-mapping-col--message"},p3={class:"ff-response-mapping-col ff-response-mapping-col--code"},m3={class:"ff-response-mapping-col ff-response-mapping-col--status"},g3={class:"ff-response-mapping-col ff-response-mapping-col--message"},h3=xe(t.defineComponent({__name:"ResponseMappingField",setup(e){const{i18n:{t:n}}=Qe(),r=["NO_CREDIT_AVAILABLE","USAGE_LIMIT_REACHED","FEATURE_UNAVAILABLE","FEATURE_NOT_FOUND","CUSTOMER_NOT_FOUND"],{formData:o,getDefault:i}=lt();for(const a of r)for(const s of["http_status","message"]){const l=["config","response_codes",a,s];xo(o,l)==null&&zf(o,l,i(`config.response_codes.${a}.${s}`))}return(a,s)=>(t.openBlock(),t.createElementBlock("div",l3,[t.createElementVNode("div",c3,[t.createElementVNode("span",d3,t.toDisplayString(t.unref(n)("plugins.free-form.governance.fields.response.columns.code")),1),t.createElementVNode("span",u3,t.toDisplayString(t.unref(n)("plugins.free-form.governance.fields.response.columns.status")),1),t.createElementVNode("span",f3,t.toDisplayString(t.unref(n)("plugins.free-form.governance.fields.response.columns.message")),1)]),(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(r,l=>t.createElementVNode("div",{key:l,class:"ff-response-mapping-row"},[t.createElementVNode("div",p3,[t.createVNode(t.unref(_e.KInput),{"data-testid":`ff-response-mapping-code-${l}`,"model-value":l,readonly:""},null,8,["data-testid","model-value"])]),t.createElementVNode("div",m3,[t.createVNode(Nt,{label:"",name:`config.response_codes.${l}.http_status`},null,8,["name"])]),t.createElementVNode("div",g3,[t.createVNode(Me,{label:"",name:`config.response_codes.${l}.message`},null,8,["name"])])])),64))]))}}),[["__scopeId","data-v-10e31d0a"]]),y3={class:"ff-card-radio-field"},_3={class:"ff-card-radio-field-cards"},og=xe(t.defineComponent({__name:"CardRadioField",props:{name:{},label:{},options:{}},setup(e){const n=e,{formData:r}=lt(),o=t.computed({get:()=>{const i=n.name.split(".");return xo(r,i)},set:i=>{const a=n.name.split(".");zf(r,a,i)}});return(i,a)=>(t.openBlock(),t.createElementBlock("div",y3,[e.label?(t.openBlock(),t.createBlock(t.unref(_e.KLabel),{key:0},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.label),1)]),_:1})):t.createCommentVNode("",!0),t.createElementVNode("div",_3,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.options,s=>(t.openBlock(),t.createBlock(t.unref(_e.KRadio),{key:String(s.value),modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=l=>o.value=l),card:"","card-orientation":"horizontal",description:s.description,label:s.label,"selected-value":s.value},null,8,["modelValue","description","label","selected-value"]))),128))])]))}}),[["__scopeId","data-v-e546bf77"]]),b3={class:"ff-feature-option"},k3={class:"ff-feature-option-key"},w3={key:0,class:"ff-feature-option-name"},C3=xe(t.defineComponent({__name:"FeatureSelectField",emits:["click:create-entity"],setup(e,{emit:n}){const r=n,{i18n:{t:o}}=Qe(),i=t.inject(Je.FORMS_CONFIG),{axiosInstance:a}=pe.useAxios(i?.axiosRequestConfig),{formData:s}=lt(),l=t.computed(()=>i?.metering?.canListFeatures!==!1),c=t.computed(()=>i?.metering?.canCreateFeature!==!1),d=t.ref([]),u=t.ref(!1),f=t.computed(()=>i?.metering?.featuresEndpoint??""),p=t.computed(()=>xo(s,["config","feature","key"])),m=t.computed(()=>{const y=[...d.value];return p.value&&!y.some(g=>g.value===p.value)&&y.unshift({label:p.value,value:p.value}),y});async function h(){if(!(!l.value||!f.value)){u.value=!0;try{const g=(await a.get(f.value)).data?.data??[];d.value=g.map(_=>({label:_.key,value:_.key,name:_.name}))}catch(y){console.warn("[governance]",o("plugins.free-form.governance.fields.feature_key.load_error"),y)}finally{u.value=!1}}}return t.onMounted(h),(y,g)=>{const _=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[l.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(_,{key:0,appearance:"warning",class:"ff-feature-unavailable","data-testid":"ff-feature-unavailable",message:t.unref(o)("plugins.free-form.governance.fields.feature_key.unavailable"),"show-icon":""},null,8,["message"])),t.createVNode(St,{disabled:!l.value,"enable-filtering":"",help:t.unref(o)("plugins.free-form.governance.fields.feature_key.help"),items:m.value,label:t.unref(o)("plugins.free-form.governance.fields.feature_key.label"),loading:u.value,name:"config.feature.key"},t.createSlots({"item-label":t.withCtx(k=>[t.createElementVNode("div",b3,[t.createElementVNode("span",k3,t.toDisplayString(k.value),1),k.name?(t.openBlock(),t.createElementBlock("span",w3,t.toDisplayString(k.name),1)):t.createCommentVNode("",!0)])]),_:2},[c.value?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-feature-create","data-testid":"ff-feature-create-action",onClick:g[0]||(g[0]=k=>r("click:create-entity",{type:"feature"}))},[t.createElementVNode("span",null,t.toDisplayString(t.unref(o)("plugins.free-form.governance.fields.feature_key.create_feature")),1)])]),key:"0"}:void 0]),1032,["disabled","help","items","label","loading"])],64)}}}),[["__scopeId","data-v-f6d49ce6"]]),E3={class:"ff-entitlement-enforcement-subject"},N3={class:"ff-entitlement-enforcement-connection-heading"},S3={class:"ff-entitlement-enforcement-inline-row"},A3={class:"ff-entitlement-enforcement-cache-sync-heading"},x3={class:"ff-entitlement-enforcement-cache-sync"},I3={class:"ff-entitlement-enforcement-response-mapping-heading"},v3={class:"ff-entitlement-enforcement-deny-unknown-customers-heading"},T3=Ce({experimental:!0,component:xe(t.defineComponent({__name:"EntitlementEnforcementForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},emits:["click:create-entity"],setup(e,{emit:n}){const r=e,o=n,i=t.useSlots();t.provide(Je.AUTOFILL_SLOT,i?.[Je.AUTOFILL_SLOT_NAME]);const{i18n:{t:a}}=Qe(),s=t.inject(Je.FORMS_CONFIG),l=t.computed(()=>s?.app==="kongManager"),d=t.inject(Jm)?.(()=>!l.value);t.onUnmounted(()=>d?.());const u=t.computed(()=>{const g=s?.geoApiServerUrl,_=g?new URL(g).hostname.split(".")[0]:null;return _?`https://${_}.api.konghq.com/v3/openmeter/entitlement-access/query`:"https://us.api.konghq.com/v3/openmeter/entitlement-access/query"}),f={hasValue:g=>!!g&&Object.keys(g).length>0,prepareFormData:g=>r.isEditing?g:s?.app==="konnect"&&!g?.config?.entitlement_access_endpoint?{...g,config:{...g?.config,entitlement_access_endpoint:u.value}}:g},p=[{name:"configuration",title:a("plugins.free-form.governance.sections.configuration.title"),description:a("plugins.free-form.governance.sections.configuration.description")},{name:"entitlement-enforcement",title:a("plugins.free-form.governance.sections.governance.title"),description:a("plugins.free-form.governance.sections.governance.description")}],m=t.computed(()=>[{value:!0,label:a("plugins.free-form.governance.fields.credit_balance_required.yes_label"),description:a("plugins.free-form.governance.fields.credit_balance_required.yes_description")},{value:!1,label:a("plugins.free-form.governance.fields.credit_balance_required.no_label"),description:a("plugins.free-form.governance.fields.credit_balance_required.no_description")}]),h=t.computed(()=>[{value:"allow",label:a("plugins.free-form.governance.fields.fail_policy.allow_label"),description:a("plugins.free-form.governance.fields.fail_policy.allow_description")},{value:"block",label:a("plugins.free-form.governance.fields.fail_policy.block_label"),description:a("plugins.free-form.governance.fields.fail_policy.block_description")}]),y=t.computed(()=>[{value:!1,label:a("plugins.free-form.governance.fields.deny_unknown_customers.allow_label"),description:a("plugins.free-form.governance.fields.deny_unknown_customers.allow_description")},{value:!0,label:a("plugins.free-form.governance.fields.deny_unknown_customers.deny_label"),description:a("plugins.free-form.governance.fields.deny_unknown_customers.deny_description")}]);return(g,_)=>{const k=t.resolveComponent("KAlert");return l.value?(t.openBlock(),t.createBlock(k,{key:0,appearance:"info",class:"ff-entitlement-enforcement-unavailable","data-testid":"ff-entitlement-enforcement-unavailable",message:t.unref(a)("plugins.free-form.governance.unavailable_kong_manager")},null,8,["message"])):(t.openBlock(),t.createBlock(On,t.mergeProps({key:1},r,{"config-sections":p,"form-config":f}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:b})=>b==="config.customer.look_up_value_in"},{default:t.withCtx(b=>[t.createVNode(St,t.mergeProps(b,{help:t.unref(a)("plugins.free-form.governance.fields.look_up_value_in.help"),label:t.unref(a)("plugins.free-form.governance.fields.look_up_value_in.label")}),null,16,["help","label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:b})=>b==="config.customer.field"},{default:t.withCtx(b=>[t.createVNode(Me,t.mergeProps(b,{help:t.unref(a)("plugins.free-form.governance.fields.subject_field.help"),label:t.unref(a)("plugins.free-form.governance.fields.subject_field.label"),placeholder:t.unref(a)("plugins.free-form.governance.fields.subject_field.placeholder")}),null,16,["help","label","placeholder"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:b})=>b==="config.ssl_verify"},{default:t.withCtx(b=>[t.createVNode(en,t.mergeProps(b,{description:t.unref(a)("plugins.free-form.governance.fields.ssl_verify.description"),label:t.unref(a)("plugins.free-form.governance.fields.ssl_verify.label")}),null,16,["description","label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:b})=>b==="config.timeout"},{default:t.withCtx(b=>[t.createVNode(Nt,t.mergeProps(b,{label:t.unref(a)("plugins.free-form.governance.fields.timeout.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:b})=>b==="config.keepalive"},{default:t.withCtx(b=>[t.createVNode(Nt,t.mergeProps(b,{label:t.unref(a)("plugins.free-form.governance.fields.keepalive.label")}),null,16,["label"])]),_:1},8,["match"])]),"section-configuration":t.withCtx(()=>[t.createElementVNode("div",E3,[t.createVNode(Rt,{"as-child":"",name:"config.customer","render-rules":{dependencies:{field:["look_up_value_in",["header","query"]]}},"reset-label-path":"reset"})]),t.createVNode(C3,{"onClick:createEntity":_[0]||(_[0]=b=>o("click:create-entity",b))}),t.createElementVNode("h3",N3,t.toDisplayString(t.unref(a)("plugins.free-form.governance.sections.connection.title")),1),t.createVNode(Me,{help:t.unref(a)("plugins.free-form.governance.fields.governance_endpoint.help"),name:"config.entitlement_access_endpoint"},null,8,["help"]),t.createVNode(Xe,{name:"config.api_token"}),t.createVNode(Xe,{name:"config.ssl_verify"}),t.createElementVNode("div",S3,[t.createVNode(Xe,{name:"config.timeout"}),t.createVNode(Xe,{name:"config.keepalive"})]),t.createVNode(sd,{borderless:"","is-konnect-managed-redis-enabled":r.isKonnectManagedRedisEnabled??!1},null,8,["is-konnect-managed-redis-enabled"]),t.createVNode(Yo,{class:"ff-entitlement-enforcement-advanced-fields-container","data-testid":"ff-entitlement-enforcement-config-advanced-fields","hide-general-fields":""},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createElementVNode("h3",A3,t.toDisplayString(t.unref(a)("plugins.free-form.governance.sections.cache_sync.title")),1),t.createElementVNode("div",x3,[t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.sync_rate.label"),name:"config.sync_rate"},null,8,["label"]),t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.refresh_interval.label"),name:"config.refresh_interval"},null,8,["label"]),t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.max_stale_seconds.label"),name:"config.max_stale_seconds"},null,8,["label"]),t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.l1_ttl.label"),name:"config.l1_cache_ttl_seconds"},null,8,["label"]),t.createVNode(Nt,{label:t.unref(a)("plugins.free-form.governance.fields.l2_ttl.label"),name:"config.l2_cache_ttl_seconds"},null,8,["label"])])])]),_:1})]),"section-entitlement-enforcement":t.withCtx(()=>[t.createVNode(og,{label:t.unref(a)("plugins.free-form.governance.fields.credit_balance_required.label"),name:"config.credit_balance_required",options:m.value},null,8,["label","options"]),t.createVNode(og,{label:t.unref(a)("plugins.free-form.governance.fields.fail_policy.label"),name:"config.fail_policy",options:h.value},null,8,["label","options"]),t.createVNode(Yo,{class:"ff-entitlement-enforcement-advanced-fields-container","data-testid":"ff-entitlement-enforcement-advanced-settings","hide-general-fields":""},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createElementVNode("h3",I3,t.toDisplayString(t.unref(a)("plugins.free-form.governance.fields.response.label")),1),t.createVNode(h3)]),t.createElementVNode("div",null,[t.createElementVNode("h3",v3,t.toDisplayString(t.unref(a)("plugins.free-form.governance.fields.deny_unknown_customers.label")),1),t.createVNode(og,{name:"config.deny_unknown_customers",options:y.value},null,8,["options"])])]),_:1})]),_:1},16))}}}),[["__scopeId","data-v-d6b90783"]])}),B3=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e==="config.functions.*",component:Me,propsOverrides:e=>({...e,multiline:!0,rows:3})}]}),O3=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),P3=Ce({experimental:!0}),V3=Ce({experimental:!0,renderRules:{bundles:[["config.strategy","config.redis"]],dependencies:{"config.redis":["config.strategy","redis"]}}}),$3=Ce({experimental:!0,renderRules:{bundles:[["config.strategy","config.redis"]],dependencies:{"config.redis":["config.strategy","redis"]}}}),R3=Ce({experimental:!0,fieldRenderers:[{match:"config.proto",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),L3=Ce({experimental:!0}),D3=Ce({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:St,propsOverrides:{multiple:!0}}]}),M3=Ce({experimental:!0}),F3=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),j3=Ce({experimental:!0,fieldRenderers:[{match:"config.injection_types",component:St,propsOverrides:{multiple:!0}},{match:"config.locations",component:St,propsOverrides:{multiple:!0}},{match:"config.custom_injections",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Injection`}}]}),U3=Ce({experimental:!0}),K3=Ce({experimental:!0,fieldRenderers:[{match:({path:e})=>e==="config.request_jq_program"||e==="config.response_jq_program",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),q3=Ce({experimental:!0}),G3=Ce({experimental:!0}),OC=xe(t.defineComponent({__name:"ConfigForm",setup(e){const{getSchema:n,createComputedRenderRules:r}=lt(),o=r("config"),i=t.computed(()=>{const s=[],l=[],c=new Set,u=n().fields.find(g=>Object.keys(g)[0]==="config");if(!u||!("config"in u))return{defaultVisible:s,advanced:l};const f=u.config;f.entity_checks&&f.entity_checks.forEach(g=>{let _;"at_least_one_of"in g?_=g.at_least_one_of:"conditional"in g&&n(yt("config",g.conditional.if_field))?.required&&g.conditional.then_match.required?_=[g.conditional.if_field,g.conditional.then_field]:"conditional_at_least_one_of"in g&&n(yt("config",g.conditional_at_least_one_of.if_field))?.required&&(_=[g.conditional_at_least_one_of.if_field,...g.conditional_at_least_one_of.then_at_least_one_of]),_?.forEach(k=>c.add(k.split(".")[0]))});const p=o.value?.bundles??[],m=new Map;for(const g of p)for(let _=1;_<g.length;_++)m.set(g[_],g[_-1]);const h=g=>{const _=m.get(g);return _?h(_):g},y=new Map;for(const g of f.fields){const _=Object.keys(g)[0];y.set(_,h(_))}for(const g of f.fields){const _=Object.keys(g)[0];if(y.get(_)!==_)continue;let b;g[_].required||c.has(_)?b=s:b=l,b.push(_)}for(const g of f.fields){const _=Object.keys(g)[0],k=y.get(_);k!==_&&(s.includes(k)?s:l).push(_)}return{defaultVisible:s,advanced:l}}),a=t.computed(()=>i.value.defaultVisible.length===0);return(s,l)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Rt,{"as-child":"",class:"ff-default-visible-fields",name:"config",omit:a.value?[]:i.value.advanced,"reset-label-path":"reset"},null,8,["omit"]),a.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(Yo,{key:0,class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(Rt,{"as-child":"",name:"config",omit:i.value.defaultVisible,"reset-label-path":"reset"},null,8,["omit"])]),_:1}))],64))}}),[["__scopeId","data-v-bc82c9e9"]]),PC=t.defineComponent({inheritAttrs:!1,__name:"KeysetField",props:{name:{},scope:{}},setup(e){const n=e,{i18n:{t:r}}=Qe(),o=t.inject(Je.FORMS_CONFIG),i=t.computed(()=>o?.app==="konnect"),{formData:a,config:s}=lt();function l(p){const m=`config.${p}`,h=Sc(p);return s.value.transformLabel?s.value.transformLabel(h,m):h}function c(p){if(typeof p!="string"||!p)return!1;try{const m=new URL(p);return(m.protocol==="http:"||m.protocol==="https:")&&!!m.host}catch{return!1}}const d=t.computed(()=>{if(!i.value)return{hasError:!1,message:""};const p=a.config,m=p?.[`${n.scope}_token_signing`],h=p?.[`${n.scope}_token_upstream_header`];if(!m)return{hasError:!1,message:""};if(typeof h!="string"||h==="")return{hasError:!1,message:""};const y=p?.[`${n.scope}_token_keyset`];return c(y)?{hasError:!1,message:""}:{hasError:!0,message:r("plugins.free-form.jwt-signer.keyset_url_required",{signingField:l(`${n.scope}_token_signing`),headerField:l(`${n.scope}_token_upstream_header`)})}}),u=t.computed(()=>d.value.hasError),f=t.computed(()=>d.value.message);return(p,m)=>(t.openBlock(),t.createBlock(Me,t.mergeProps(p.$attrs,{error:u.value,"error-message":f.value,name:e.name}),null,16,["error","error-message","name"]))}}),z3=Ce({component:t.defineComponent({__name:"JwtSignerForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r={bundles:[["config.access_token_signing","config.access_token_upstream_header","config.access_token_keyset"],["config.channel_token_signing","config.channel_token_upstream_header","config.channel_token_keyset"]]},o=t.useSlots();return t.provide(Je.AUTOFILL_SLOT,o?.[Je.AUTOFILL_SLOT_NAME]),(i,a)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"render-rules":r}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:s})=>s==="config.access_token_keyset"},{default:t.withCtx(s=>[t.createVNode(PC,t.mergeProps(s,{scope:"access"}),null,16)]),_:1},8,["match"]),t.createVNode(mt,{match:({path:s})=>s==="config.channel_token_keyset"},{default:t.withCtx(s=>[t.createVNode(PC,t.mergeProps(s,{scope:"channel"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(OC)]),_:1},16))}})}),H3=Ce({experimental:!0}),W3=Ce({experimental:!0,fieldRenderers:[{match:"config.message_by_lua_functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}},{match:"config.topics",component:dt,propsOverrides:{appearance:"tabs",stickyTabs:!0,itemLabel:(e,n)=>`#${n+1} Topic`}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),Y3=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),J3=Ce({experimental:!0,fieldRenderers:[{match:"config.message_by_lua_functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}},{match:"config.bootstrap_servers",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Server`}}]}),X3=Ce({experimental:!0}),Z3=Ce({experimental:!0,component:dC}),Q3=Ce({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:St,propsOverrides:{multiple:!0}}]}),e4=Ce({experimental:!0}),t4=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),n4={class:"ff-collapsible-section"},r4={class:"ff-collapsible-section-header"},o4={class:"ff-collapsible-section-header-toggle"},i4={key:0,class:"ff-collapsible-section-content"},a4={key:0,class:"ff-collapsible-section-indent-guide"},ig=xe(t.defineComponent({__name:"CollapsibleSection",props:t.mergeModels({label:{}},{expanded:{type:Boolean,default:!0},expandedModifiers:{}}),emits:["update:expanded"],setup(e){const n=t.useModel(e,"expanded");return(r,o)=>(t.openBlock(),t.createElementBlock("div",n4,[t.createElementVNode("header",r4,[t.createElementVNode("div",o4,[t.createElementVNode("button",{class:"ff-collapsible-section-toggle-btn",type:"button",onClick:o[0]||(o[0]=t.withModifiers(i=>n.value=!n.value,["prevent","stop"]))},[t.createVNode(t.unref(Ne.ChevronRightIcon),{class:t.normalizeClass(["ff-collapsible-section-toggle-btn-trigger-icon",{"collapse-expanded":n.value}]),decorative:"",size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["class","size"])]),t.createVNode(t.unref(_e.KLabel),{class:"ff-collapsible-section-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.label),1)]),_:1})])]),t.createVNode(xc,null,{default:t.withCtx(()=>[n.value?(t.openBlock(),t.createElementBlock("div",i4,[t.renderSlot(r.$slots,"default",{},void 0,!0)])):t.createCommentVNode("",!0)]),_:3}),n.value?(t.openBlock(),t.createElementBlock("div",a4)):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-39f2a44b"]]),s4={class:"ff-mb-subject"},l4={class:"ff-mb-attributes"},c4={class:"ff-metering-billing-inline-row"},d4={class:"ff-mb-queue"},u4=Ce({experimental:!0,component:xe(t.defineComponent({__name:"MeteringAndBillingForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=Qe(),i=t.inject(Je.FORMS_CONFIG),a=t.computed(()=>{const u=i?.geoApiServerUrl,f=u?new URL(u).hostname.split(".")[0]:null;return f?`https://${f}.api.konghq.com/v3/openmeter/events`:"https://{{region}}.api.konghq.com/v3/openmeter/events"}),s={hasValue:u=>!!u&&Object.keys(u).length>0,prepareFormData:u=>n.isEditing?u:i?.app==="konnect"&&!u?.config?.ingest_endpoint?{...u,config:{...u?.config,ingest_endpoint:a.value}}:u},l=t.ref(!0),c=t.ref(!0),d=t.ref(!0);return(u,f)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"form-config":s,"plugin-config-description":t.unref(o)("plugins.free-form.metering-and-billing.sections.plugin_config.description")}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:p})=>p==="config.meter_api_requests"},{default:t.withCtx(p=>[t.createVNode(en,t.mergeProps(p,{description:t.unref(o)("plugins.free-form.metering-and-billing.fields.meter_api_requests.description")}),null,16,["description"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.meter_ai_token_usage"},{default:t.withCtx(p=>[t.createVNode(en,t.mergeProps(p,{description:t.unref(o)("plugins.free-form.metering-and-billing.fields.meter_ai_token_usage.description")}),null,16,["description"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.ssl_verify"},{default:t.withCtx(p=>[t.createVNode(en,t.mergeProps(p,{description:t.unref(o)("plugins.free-form.metering-and-billing.fields.ssl_verify.description"),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.ssl_verify.label")}),null,16,["description","label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.subject.look_up_value_in"},{default:t.withCtx(p=>[t.createVNode(St,t.mergeProps(p,{help:t.unref(o)("plugins.free-form.metering-and-billing.fields.look_up_value_in.help"),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.look_up_value_in.label")}),null,16,["help","label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.subject.field"},{default:t.withCtx(p=>[t.createVNode(Me,t.mergeProps(p,{help:t.unref(o)("plugins.free-form.metering-and-billing.fields.subject_field.help"),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.subject_field.label"),placeholder:t.unref(o)("plugins.free-form.metering-and-billing.fields.subject_field.placeholder")}),null,16,["help","label","placeholder"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.timeout"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.timeout.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.keepalive"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.keepalive.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.queue.max_coalescing_delay"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.queue.max_coalescing_delay.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.queue.initial_retry_delay"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.queue.initial_retry_delay.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.queue.max_retry_delay"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.queue.max_retry_delay.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p==="config.queue.max_retry_time"},{default:t.withCtx(p=>[t.createVNode(Nt,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.queue.max_retry_time.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p.startsWith("config.attributes.")&&p.endsWith(".look_up_value_in")},{default:t.withCtx(p=>[t.createVNode(Me,t.mergeProps(p,{placeholder:t.unref(o)("plugins.free-form.metering-and-billing.fields.attributes.look_up_value_in.placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:p})=>p.startsWith("config.attributes.")&&p.endsWith(".event_property_name")},{default:t.withCtx(p=>[t.createVNode(Me,t.mergeProps(p,{placeholder:t.unref(o)("plugins.free-form.metering-and-billing.fields.attributes.event_property_name.placeholder")}),null,16,["placeholder"])]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(ig,{expanded:l.value,"onUpdate:expanded":f[0]||(f[0]=p=>l.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.sections.metering.title")},{default:t.withCtx(()=>[t.createVNode(Xe,{name:"config.meter_api_requests"}),t.createVNode(Xe,{name:"config.meter_ai_token_usage"})]),_:1},8,["expanded","label"]),t.createElementVNode("div",s4,[t.createVNode(Rt,{label:t.unref(o)("plugins.free-form.metering-and-billing.sections.subject.title"),name:"config.subject","render-rules":{dependencies:{field:["look_up_value_in",["query","header"]]}},"reset-label-path":"reset"},null,8,["label"])]),t.createVNode(ig,{expanded:c.value,"onUpdate:expanded":f[1]||(f[1]=p=>c.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.attributes.title")},{default:t.withCtx(()=>[t.createElementVNode("div",l4,[t.createVNode(dt,{"hide-label":"",name:"config.attributes"})])]),_:1},8,["expanded","label"]),t.createVNode(ig,{expanded:d.value,"onUpdate:expanded":f[2]||(f[2]=p=>d.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.sections.ingestion.title")},{default:t.withCtx(()=>[t.createVNode(Me,{help:t.unref(o)("plugins.free-form.metering-and-billing.fields.ingest_endpoint.help"),name:"config.ingest_endpoint"},null,8,["help"]),t.createVNode(Xe,{name:"config.api_token"}),t.createVNode(Xe,{name:"config.ssl_verify"}),t.createElementVNode("div",c4,[t.createVNode(Xe,{name:"config.timeout"}),t.createVNode(Xe,{name:"config.keepalive"})])]),_:1},8,["expanded","label"]),t.createVNode(Yo,{class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:t.withCtx(()=>[t.createElementVNode("div",d4,[t.createVNode(t.unref(_e.KLabel),{class:"ff-mb-queue-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.metering-and-billing.sections.queue.title")),1)]),_:1}),t.createVNode(Rt,{"as-child":"",name:"config.queue","reset-label-path":"reset"})])]),_:1})]),_:1},16,["plugin-config-description"]))}}),[["__scopeId","data-v-78972733"]])}),f4=Ce({experimental:!0,fieldRenderers:[{match:"config.api_specification",component:Me,propsOverrides:{multiline:!0,rows:15}}]}),p4=Ce({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:St,propsOverrides:{multiple:!0}}]}),m4=Ce({experimental:!0,fieldRenderers:[{match:"config.api_spec",component:Me,propsOverrides:{multiline:!0,rows:15}}]}),g4=Ce({experimental:!0}),h4=Ce({experimental:!0}),y4=Ce({experimental:!0});function _4(e){const{consumer_claim:n,consumer_claims:r}=e;return Array.isArray(r)&&r.length>0||n==null||n===""?null:[Array.isArray(n)?n:[n]]}const b4={key:0,class:"oidc-auth-methods"},k4={class:"auth-methods-hint"},w4={class:"session-management-section"},C4={class:"session-radio-group"},E4={key:1,class:"oidc-auth-methods"},N4={class:"auth-method-container"},ag=["authorization_code","bearer","client_credentials","password","introspection","userinfo","kong_oauth2","refresh_token"],VC=["bearer","client_credentials","introspection","userinfo"],S4="identity.konghq",$C=e=>typeof e=="string"&&e.includes(S4),RC=xe(t.defineComponent({__name:"AuthMethodsField",props:{principalsMode:{}},setup(e){const n=e,{i18n:{t:r}}=Qe(),o=t.inject(Je.FORMS_CONFIG),i=t.computed(()=>o?.app==="konnect"),{formData:a}=lt(),s=t.computed(()=>a.config?.auth_methods??null),l=t.computed(()=>({authorization_code:r("plugins.free-form.openid-connect.auth_methods.methods.authorization_code"),bearer:r("plugins.free-form.openid-connect.auth_methods.methods.bearer"),client_credentials:r("plugins.free-form.openid-connect.auth_methods.methods.client_credentials"),password:r("plugins.free-form.openid-connect.auth_methods.methods.password"),introspection:r("plugins.free-form.openid-connect.auth_methods.methods.introspection"),userinfo:r("plugins.free-form.openid-connect.auth_methods.methods.userinfo"),kong_oauth2:r("plugins.free-form.openid-connect.auth_methods.methods.kong_oauth2"),refresh_token:r("plugins.free-form.openid-connect.auth_methods.methods.refresh_token")})),c=t.computed(()=>n.principalsMode!==null&&n.principalsMode!==void 0?n.principalsMode==="kong-identity":$C(a.config?.issuer)),d=t.computed(()=>(i.value&&c.value?ag.filter(_=>VC.includes(_)):ag).map(_=>({value:_,label:l.value[_]}))),u=t.computed(()=>(s.value??[]).filter(g=>g!=="session")),f=t.computed(()=>(s.value??[]).includes("session"));function p(g,_){a.config&&(a.config.auth_methods=_?[...g,"session"]:[...g])}function m(g){p(g,f.value)}function h(g,_){const k=_?[...new Set([...u.value,g])]:u.value.filter(b=>b!==g);p(k,f.value)}function y(g){p(u.value,g)}return(g,_)=>i.value?(t.openBlock(),t.createElementBlock("div",b4,[t.createVNode(t.unref(_e.KLabel),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.auth_methods.label")),1)]),_:1}),(t.openBlock(),t.createBlock(t.unref(_e.KMultiselect),{key:e.principalsMode??"initial",class:"auth-methods-multiselect","data-testid":"auth-methods-multiselect",items:d.value,"model-value":u.value,placeholder:t.unref(r)("plugins.free-form.openid-connect.auth_methods.placeholder"),"onUpdate:modelValue":m},null,8,["items","model-value","placeholder"])),t.createElementVNode("p",k4,t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.auth_methods.hint")),1),t.createElementVNode("div",w4,[t.createVNode(t.unref(_e.KLabel),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.label")),1)]),_:1}),t.createElementVNode("div",C4,[t.createVNode(t.unref(_e.KRadio),{"data-testid":"session-radio-use",description:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.use_description"),label:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.use_label"),"model-value":f.value,"selected-value":!0,onChange:_[0]||(_[0]=k=>y(!0))},null,8,["description","label","model-value"]),t.createVNode(t.unref(_e.KRadio),{"data-testid":"session-radio-no-use",description:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.no_use_description"),label:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.no_use_label"),"model-value":f.value,"selected-value":!1,onChange:_[1]||(_[1]=k=>y(!1))},null,8,["description","label","model-value"])])])])):(t.openBlock(),t.createElementBlock("div",E4,[t.createVNode(t.unref(_e.KLabel),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.auth_methods.km_label")),1)]),_:1}),t.createElementVNode("div",N4,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,k=>(t.openBlock(),t.createElementBlock("div",{key:k.value,class:"auth-method"},[t.createVNode(t.unref(_e.KCheckbox),{"data-testid":`auth-method-checkbox-${k.value}`,"model-value":u.value.includes(k.value),"onUpdate:modelValue":b=>h(k.value,b)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(k.label),1)]),_:2},1032,["data-testid","model-value","onUpdate:modelValue"])]))),128))]),t.createVNode(t.unref(_e.KInputSwitch),{"data-testid":"session-management-switch",label:t.unref(r)("plugins.free-form.openid-connect.auth_methods.session.switch_label"),"model-value":f.value,"onUpdate:modelValue":y},null,8,["label","model-value"])]))}}),[["__scopeId","data-v-ec201579"]]),A4={class:"oidc-client-jwk-field"},x4=xe(t.defineComponent({__name:"ClientJwkField",props:{name:{}},setup(e){const{i18n:{t:n}}=Qe();return(r,o)=>(t.openBlock(),t.createElementBlock("div",A4,[t.createVNode(dt,{appearance:"tabs","item-label":(i,a)=>`#${a+1} Client JWK`,name:e.name,"sticky-tabs":""},{label:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.openid-connect.advanced_fields.client_jwk_link_label"))+" ",1),t.createVNode(t.unref(_e.KExternalLink),{class:"oidc-client-jwk-link",href:"https://developer.konghq.com/plugins/openid-connect/reference/#schema--config-client-jwk"},{default:t.withCtx(()=>[...o[0]||(o[0]=[t.createTextVNode(" More info ",-1)])]),_:1})]),_:1},8,["item-label","name"])]))}}),[["__scopeId","data-v-60061242"]]),I4={class:"principals-field-group"},v4={class:"principals-field-group"},T4={class:"lookup-method-item"},B4={class:"lookup-method-item-label"},O4={class:"lookup-method-item-description"},P4={class:"principals-field-group"},V4={class:"principals-field-group"},$4={class:"principals-learn-more-link",href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},R4={class:"principals-field-group"},L4={class:"principals-learn-more-link",href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},LC=xe(t.defineComponent({__name:"PrincipalLookupSettings",props:{disabled:{type:Boolean},dataPlaneIncompatible:{type:Boolean},showPrincipalsFields:{type:Boolean,default:!0},onEnabledChange:{type:Function}},setup(e){const n=t.createPropsRestProxy(e,["showPrincipalsFields"]),{i18n:{t:r}}=Qe(),o=t.inject(Vs,void 0),{formData:i,getEmptyValue:a}=lt();function s(I){return t.computed({get:()=>i.config?.principals?.[I],set:T=>{i.config?.principals&&(i.config.principals[I]=T)}})}const l=s("enabled"),c=s("principal_by"),d=s("principal_claim"),u=s("error_on_miss"),f=s("match_consumer"),p=s("match_consumer_groups"),m=[{label:r("plugins.free-form.openid-connect.lookup.method.kong_identity_label"),value:"kong-identity",description:r("plugins.free-form.openid-connect.lookup.method.kong_identity_description")},{label:r("plugins.free-form.openid-connect.lookup.method.custom_identity_label"),value:"custom-identity",description:r("plugins.free-form.openid-connect.lookup.method.custom_identity_description")}],h=I=>I==null||I===""?!1:Array.isArray(I)?I.length>0:!0,y=t.ref(h(c.value)?"custom-identity":"kong-identity"),g=t.computed(()=>l.value===!0),_=t.computed(()=>n.disabled||!g.value),k=t.computed(()=>y.value==="custom-identity"?r("plugins.free-form.openid-connect.lookup.token_claim.help_custom"):r("plugins.free-form.openid-connect.lookup.token_claim.help"));function b(I){return Array.isArray(I)&&I.length>0?I.map(T=>T.replace(/[\\.]/g,A=>`\\${A}`)).join("."):typeof I=="string"&&I?I:""}function N(I){if(!I)return a();const T=[];let A="";for(let P=0;P<I.length;P++){const O=I[P];O==="\\"&&(I[P+1]==="."||I[P+1]==="\\")?(A+=I[P+1],P++):O==="."?(T.push(A),A=""):A+=O}T.push(A);const v=T.map(P=>P.trim()).filter(Boolean);return v.length>0?v:a()}!o?.value&&!h(d.value)&&(d.value=["sub"]);const C=t.ref(b(d.value));function w(I){C.value=I,d.value=N(I.trim())}t.watch(d,I=>{const T=N(C.value.trim());Kt(I??null,T??null)||(C.value=b(I))});function S(I){y.value=I??"kong-identity",I!=="custom-identity"&&(c.value=a(),d.value=a())}function x(I){n.onEnabledChange?n.onEnabledChange(I):l.value=I}return(I,T)=>(t.openBlock(),t.createBlock(t.unref(_e.KCollapse),{class:"principals-advanced-settings","data-testid":"principals-advanced-settings","trigger-label":t.unref(r)("plugins.free-form.openid-connect.lookup.collapse_label")},{default:t.withCtx(()=>[e.showPrincipalsFields?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(I.$slots,"banner",{},void 0,!0),e.dataPlaneIncompatible?(t.openBlock(),t.createBlock(t.unref(_e.KAlert),{key:0,appearance:"warning",class:"principals-dp-version-alert","data-testid":"oidc-principals-dp-version-alert",message:t.unref(r)("plugins.free-form.openid-connect.principals.dp_version_alert"),"show-icon":""},null,8,["message"])):t.createCommentVNode("",!0),t.createElementVNode("div",I4,[t.createVNode(t.unref(_e.KInputSwitch),{"data-testid":"use-principal-lookup",disabled:e.disabled,"model-value":g.value,"onUpdate:modelValue":x},{label:t.withCtx(()=>[t.createVNode(t.unref(_e.KLabel),{info:t.unref(r)("plugins.free-form.openid-connect.lookup.toggle_info"),"tooltip-attributes":{maxWidth:"300"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.toggle_label")),1)]),_:1},8,["info"])]),_:1},8,["disabled","model-value"])]),t.createElementVNode("div",v4,[t.createVNode(t.unref(_e.KSelect),{class:"principals-lookup-method-select","data-testid":"principals-lookup-method",disabled:_.value,help:t.unref(r)("plugins.free-form.openid-connect.lookup.method.help"),items:m,label:t.unref(r)("plugins.free-form.openid-connect.lookup.method.label"),"model-value":y.value,placeholder:t.unref(r)("plugins.free-form.openid-connect.lookup.method.placeholder"),"onUpdate:modelValue":S},{"item-template":t.withCtx(({item:A})=>[t.createElementVNode("div",T4,[t.createElementVNode("div",B4,t.toDisplayString(A.label),1),t.createElementVNode("div",O4,t.toDisplayString(A.description),1)])]),_:1},8,["disabled","help","label","model-value","placeholder"]),y.value==="custom-identity"?(t.openBlock(),t.createBlock(t.unref(_e.KInput),{key:0,class:"principals-custom-identity-name-input","data-testid":"principals-custom-identity-name",disabled:_.value,help:t.unref(r)("plugins.free-form.openid-connect.lookup.custom_identity_name.help"),label:t.unref(r)("plugins.free-form.openid-connect.lookup.custom_identity_name.label"),"model-value":t.unref(c)??void 0,placeholder:t.unref(r)("plugins.free-form.openid-connect.lookup.custom_identity_name.placeholder"),"onUpdate:modelValue":T[0]||(T[0]=A=>c.value=A)},null,8,["disabled","help","label","model-value","placeholder"])):t.createCommentVNode("",!0),t.createVNode(t.unref(_e.KInput),{class:"principals-token-claim-input","data-testid":"principals-token-claim",disabled:_.value,help:k.value,label:t.unref(r)("plugins.free-form.openid-connect.lookup.token_claim.label"),"model-value":C.value,placeholder:t.unref(r)("plugins.free-form.openid-connect.lookup.token_claim.placeholder"),"onUpdate:modelValue":w},null,8,["disabled","help","label","model-value","placeholder"])]),t.createElementVNode("div",P4,[t.createVNode(t.unref(_e.KLabel),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.label")),1)]),_:1}),t.createVNode(t.unref(_e.KRadio),{"data-testid":"principals-error-on-miss-true",description:t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.reject_description"),disabled:_.value,label:t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.reject_label"),"model-value":t.unref(u)??null,"selected-value":!0,onChange:T[1]||(T[1]=A=>u.value=!0)},null,8,["description","disabled","label","model-value"]),t.createVNode(t.unref(_e.KRadio),{"data-testid":"principals-error-on-miss-false",description:t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.continue_description"),disabled:_.value,label:t.unref(r)("plugins.free-form.openid-connect.lookup.error_on_miss.continue_label"),"model-value":t.unref(u)??null,"selected-value":!1,onChange:T[2]||(T[2]=A=>u.value=!1)},null,8,["description","disabled","label","model-value"])]),t.createElementVNode("div",V4,[t.createVNode(t.unref(_e.KCheckbox),{"data-testid":"principals-match-consumer",disabled:_.value,"model-value":t.unref(f)??!1,"onUpdate:modelValue":T[3]||(T[3]=A=>f.value=A)},{description:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer.description"))+" ",1),t.createElementVNode("a",$4,t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer.link")),1)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer.label"))+" ",1)]),_:1},8,["disabled","model-value"])]),t.createElementVNode("div",R4,[t.createVNode(t.unref(_e.KCheckbox),{"data-testid":"principals-match-consumer-groups",disabled:_.value,"model-value":t.unref(p)??!1,"onUpdate:modelValue":T[4]||(T[4]=A=>p.value=A)},{description:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer_groups.description"))+" ",1),t.createElementVNode("a",L4,t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer_groups.link")),1)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.openid-connect.lookup.match_consumer_groups.label"))+" ",1)]),_:1},8,["disabled","model-value"])])],64)):t.createCommentVNode("",!0),t.renderSlot(I.$slots,"default",{},void 0,!0)]),_:3},8,["trigger-label"]))}}),[["__scopeId","data-v-3c7d6723"]]),D4={class:"oidc-principals-section","data-testid":"oidc-principals-section"},M4={class:"principals-header"},F4={class:"principals-description"},j4={class:"oidc-auth-mode-radio-group","data-testid":"oidc-auth-mode-radio-group"},U4={class:"auth-mode-card-content"},K4={class:"auth-mode-card-label"},q4={class:"auth-mode-card-description"},G4={class:"auth-mode-card-content"},z4={class:"auth-mode-card-label"},H4={class:"auth-mode-card-description"},W4={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},Y4={class:"principals-create-guide-title"},J4={class:"principals-create-guide-description"},X4={class:"principals-create-guide-actions"},Z4={class:"create-action-content"},Q4={class:"create-action-hint"},eG={class:"create-action-content"},tG={class:"create-action-hint"},nG={class:"principals-client-secret-wrapper"},rG=["aria-label","disabled","onClick"],oG={class:"external-client-field"},iG=["innerHTML"],aG={class:"external-client-field"},sG=["innerHTML"],lG=["aria-label","disabled","onClick"],cG={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},dG={class:"principals-create-guide-title"},uG={class:"principals-create-guide-description"},fG={class:"principals-create-guide-actions"},Mr="kong-identity",gd="external",pG="/v1/auth-servers/_computed",mG=xe(t.defineComponent({__name:"PrincipalsSection",emits:["mode-change","click:learn-more","click:create-entity"],setup(e,{emit:n}){const r={major:3,minor:15},o=Be=>{const[Ve,$e]=Be.split(".").map(Number);return Number.isNaN(Ve)||Number.isNaN($e)?!1:Ve!==r.major?Ve<r.major:$e<r.minor},i=n,{i18n:{t:a}}=Qe(),s=t.inject(Je.FORMS_CONFIG),l=t.inject(Je.AUTOFILL_SLOT,void 0),c=t.inject(Vs,void 0),d=t.computed(()=>c?.value??!1),{formData:u,getLabelAttributes:f,getEmptyOrDefault:p,getEmptyValue:m}=lt(),h=t.computed({get:()=>u.config?.issuer??null,set:Be=>{u.config&&(u.config.issuer=Be)}}),y=t.computed({get:()=>u.config?.client_id??null,set:Be=>{u.config&&(u.config.client_id=Be)}}),g=t.computed({get:()=>u.config?.client_secret??null,set:Be=>{u.config&&(u.config.client_secret=Be)}}),_=t.ref(d.value?$C(h.value)?Mr:gd:Mr),k=t.ref([]),b=t.ref(!1),N=t.ref([]),C=t.ref(!1),w=t.ref(null),S=t.ref(null);let x=!1;const I=t.computed(()=>f("config.client_id").info),T=t.computed(()=>f("config.client_secret").info),A=t.computed(()=>k.value.map(Be=>({label:Be.name,value:Be.id}))),v=t.computed(()=>N.value.map(Be=>({label:Be.name,value:Be.client_id||Be.id}))),P=t.computed(()=>{const Be=y.value;return Array.isArray(Be)&&Be.length>0?Be:[null]}),O=t.computed(()=>{const Be=g.value;return Array.isArray(Be)&&Be.length>0?Be:[null]}),R=t.computed(()=>Q.value&&!w.value||P.value.length<=1),Q=t.computed(()=>s?.isKongIdentityAuthServersAvailable!==!1),fe=t.computed(()=>s?.canCreateAuthServer!==!1),H=t.computed(()=>s?.canCreateAuthServerClient!==!1),j=t.computed(()=>s?.principalsCreationGuideVisible),D=t.computed(()=>j.value===!0),ee=t.computed(()=>j.value===void 0),K=t.computed(()=>!D.value&&(s?.dataPlaneVersions??[]).some(o));t.watch(()=>s?.principalsDirectoryName,Be=>{d.value||_.value!==Mr||Be==null||u.config?.principals&&(u.config.principals.directory=Be)},{immediate:!0}),t.onMounted(()=>{d.value||t.nextTick(()=>{je(_.value),i("mode-change",_.value)}),J()});async function J(){if(s?.isKongIdentityAuthServersAvailable!==!1)try{b.value=!0;const{axiosInstance:Be}=pe.useAxios(s?.axiosRequestConfig),Ve=`${s?.apiBaseUrl}${pG}`,$e=await Be.get(Ve);if(k.value=$e.data?.data??[],h.value&&!w.value){const Ke=k.value.find(de=>de.issuer===h.value)||null;Ke&&(x=!0,w.value=Ke,ce(Ke.id))}}catch{k.value=[]}finally{b.value=!1}}async function ce(Be){try{C.value=!0;const{axiosInstance:Ve}=pe.useAxios(s?.axiosRequestConfig),$e=`${s?.apiBaseUrl}/v1/auth-servers/${Be}/clients`,Ke=await Ve.get($e);N.value=Ke.data?.data??[]}catch{N.value=[]}finally{C.value=!1}}function z(Be){if(x){x=!1;return}w.value=k.value.find(Ve=>Ve.id===Be)||null,w.value?.issuer&&(h.value=w.value.issuer),y.value=[null],g.value=[null],N.value=[],C.value=!!Be,Be&&ce(Be)}function oe(Be,Ve){const $e=[...P.value];$e[Be]=Ve,y.value=$e}function Pe(Be,Ve){const $e=[...O.value];$e[Be]=Ve,g.value=$e}function Ee(){y.value=[...P.value,null],g.value=[...O.value,null]}function Ge(Be){if(P.value.length<=1)return;const Ve=[...P.value];Ve.splice(Be,1),y.value=Ve;const $e=[...O.value];$e.splice(Be,1),g.value=$e}function se(Be){const Ve=P.value;return v.value.map($e=>({...$e,disabled:Ve.some((Ke,de)=>de!==Be&&Ke===$e.value)}))}function X(){return u.config?.principals??p("config.principals")??{}}function he(Be){u.config&&(u.config.principals={...X(),enabled:Be})}function ve(){const Be=S.value;S.value=null,Be==="authServer"?i("click:create-entity",{type:"auth-server"}):Be==="client"?i("click:create-entity",{type:"client",authServerId:w.value?.id}):Be==="principal"&&i("click:create-entity",{type:"principal"})}function je(Be){const Ve=(u.config?.auth_methods??[]).includes("session"),$e=Be===gd||!d.value?!0:Ve,Ke=Be===Mr?[...VC]:[...ag];$e&&Ke.push("session"),u.config&&(u.config.auth_methods=Ke)}function qe(Be){if(u.config&&(u.config.client_id=m(),u.config.client_secret=m(),u.config.issuer=m()),u.config){const Ve=X(),$e=Be===Mr?s?.principalsDirectoryName??Ve.directory:"default";u.config.principals={...Ve,enabled:!1,error_on_miss:!0,match_consumer:!0,match_consumer_groups:!0,directory:$e}}Be===gd&&(w.value=null,N.value=[]),je(Be),i("mode-change",Be)}return(Be,Ve)=>(t.openBlock(),t.createElementBlock("div",D4,[t.createElementVNode("div",M4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.header")),1),t.createElementVNode("div",F4,[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.description"))+" ",1),t.createVNode(t.unref(_e.KExternalLink),{href:"https://developer.konghq.com/plugins/openid-connect/"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.learn_more")),1)]),_:1})]),t.createElementVNode("div",j4,[t.createVNode(t.unref(_e.KRadio),{modelValue:_.value,"onUpdate:modelValue":Ve[0]||(Ve[0]=$e=>_.value=$e),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-kong-identity","selected-value":Mr,onChange:qe},{default:t.withCtx(()=>[t.createElementVNode("div",U4,[t.createVNode(t.unref(Ne.KeyIcon),{size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"]),t.createElementVNode("div",K4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.kong_identity_label")),1),t.createElementVNode("div",q4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.kong_identity_description")),1)])]),_:1},8,["modelValue"]),t.createVNode(t.unref(_e.KRadio),{modelValue:_.value,"onUpdate:modelValue":Ve[1]||(Ve[1]=$e=>_.value=$e),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-external","selected-value":gd,onChange:qe},{default:t.withCtx(()=>[t.createElementVNode("div",G4,[t.createVNode(t.unref(Ne.WorldIcon),{size:`var(--kui-icon-size-40, ${t.unref(ko)})`},null,8,["size"]),t.createElementVNode("div",z4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.external_label")),1),t.createElementVNode("div",H4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.external_description")),1)])]),_:1},8,["modelValue"])]),ee.value&&_.value===Mr?(t.openBlock(),t.createBlock(t.unref(_e.KSkeleton),{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):D.value&&_.value===Mr?(t.openBlock(),t.createElementBlock("div",W4,[t.createElementVNode("div",Y4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.title")),1),t.createElementVNode("div",J4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.description")),1),t.createElementVNode("div",X4,[t.createVNode(t.unref(_e.KButton),{appearance:"primary","data-testid":"principals-create-principal",onClick:Ve[2]||(Ve[2]=$e=>S.value="principal")},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.create")),1)]),_:1}),t.createVNode(t.unref(_e.KButton),{appearance:"secondary","data-testid":"principals-learn-more",onClick:Ve[3]||(Ve[3]=$e=>Be.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.learn_more")),1)]),_:1})])])):t.createCommentVNode("",!0),_.value===Mr?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[Q.value?(t.openBlock(),t.createBlock(t.unref(_e.KSelect),{key:0,class:"principals-directory-select","data-testid":"principals-directory-select","enable-filtering":"",items:A.value,label:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.label"),"label-attributes":{info:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.info"),tooltipAttributes:{maxWidth:"300"}},loading:b.value,"model-value":w.value?.id,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.placeholder"),required:"","onUpdate:modelValue":z},t.createSlots({_:2},[fe.value?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("button",{class:"create-action","data-testid":"create-auth-server-action",type:"button",onClick:Ve[4]||(Ve[4]=t.withModifiers($e=>S.value="authServer",["stop"]))},[t.createVNode(t.unref(Ne.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["size"]),t.createElementVNode("div",Z4,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.create")),1),t.createElementVNode("div",Q4,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.create_hint")),1)])])]),key:"0"}:void 0]),1032,["items","label","label-attributes","loading","model-value","placeholder"])):(t.openBlock(),t.createBlock(t.unref(_e.KInput),{key:1,"data-testid":"kong-identity-issuer-input",help:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.no_access_help"),label:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.label"),"label-attributes":{info:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.info"),tooltipAttributes:{maxWidth:"300"}},"model-value":h.value??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.auth_server.issuer_placeholder"),required:"","onUpdate:modelValue":Ve[5]||(Ve[5]=$e=>h.value=$e)},null,8,["help","label","label-attributes","model-value","placeholder"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(P.value,($e,Ke)=>(t.openBlock(),t.createElementBlock("div",{key:Ke,class:t.normalizeClass(["client-row",{"client-row-with-label":Ke===0}])},[Q.value?(t.openBlock(),t.createBlock(t.unref(_e.KSelect),{key:1,class:"principals-client-select","data-testid":"principals-client-select",disabled:!w.value,"enable-filtering":"",items:se(Ke),label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.label"):void 0,loading:C.value,"model-value":$e??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.placeholder"),"onUpdate:modelValue":de=>oe(Ke,de)},t.createSlots({_:2},[H.value?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("button",{class:"create-action","data-testid":"create-client-action",type:"button",onClick:Ve[6]||(Ve[6]=t.withModifiers(de=>S.value="client",["stop"]))},[t.createVNode(t.unref(Ne.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref(hi)})`},null,8,["size"]),t.createElementVNode("div",eG,[t.createElementVNode("span",null,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.client.create")),1),t.createElementVNode("div",tG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.client.create_hint")),1)])])]),key:"0"}:void 0]),1032,["disabled","items","label","loading","model-value","placeholder","onUpdate:modelValue"])):(t.openBlock(),t.createBlock(t.unref(_e.KInput),{key:0,class:"principals-client-select","data-testid":"principals-client-id-input",label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.label"):void 0,"model-value":$e??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.id_placeholder"),"onUpdate:modelValue":de=>oe(Ke,de)},null,8,["label","model-value","placeholder","onUpdate:modelValue"])),t.createElementVNode("div",nG,[t.createVNode(t.unref(_e.KInput),{class:"principals-client-secret","data-testid":"principals-client-secret",disabled:Q.value&&!w.value,label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.secret_label"):void 0,"model-value":O.value[Ke]??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.secret_placeholder"),"show-password-mask-toggle":"",type:"password","onUpdate:modelValue":de=>Pe(Ke,de)},null,8,["disabled","label","model-value","placeholder","onUpdate:modelValue"]),t.unref(l)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(l)),{key:0,schema:{model:"config-client_secret",referenceable:!0},update:de=>Pe(Ke,de),value:O.value[Ke]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("button",{"aria-label":t.unref(a)("plugins.free-form.openid-connect.principals.client.remove"),class:"remove-client-btn","data-testid":"remove-client-action",disabled:R.value,type:"button",onClick:de=>Ge(Ke)},[t.createVNode(t.unref(Ne.CloseIcon),{size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["size"])],8,rG)],2))),128)),t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",class:"add-client-inline","data-testid":"add-client-action",disabled:Q.value&&!w.value,icon:"",type:"button",onClick:Ve[7]||(Ve[7]=$e=>Ee())},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.client.add")),1)]),_:1},8,["disabled"]),t.createVNode(LC,{"data-plane-incompatible":K.value,"on-enabled-change":he},{default:t.withCtx(()=>[t.renderSlot(Be.$slots,"default",{},void 0,!0)]),_:3},8,["data-plane-incompatible"])],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(P.value,($e,Ke)=>(t.openBlock(),t.createElementBlock("div",{key:Ke,class:t.normalizeClass(["client-row",{"client-row-with-label":Ke===0}])},[t.createElementVNode("div",oG,[t.createVNode(t.unref(_e.KInput),{class:"external-client-input","data-testid":"external-client-id",label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.id_label"):void 0,"model-value":$e??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.id_placeholder"),"onUpdate:modelValue":de=>oe(Ke,de)},t.createSlots({_:2},[Ke===0&&I.value?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:I.value},null,8,iG)]),key:"0"}:void 0]),1032,["label","model-value","placeholder","onUpdate:modelValue"]),t.unref(l)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(l)),{key:0,schema:{model:"config-client_id",referenceable:!0},update:de=>oe(Ke,de),value:$e},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",aG,[t.createVNode(t.unref(_e.KInput),{class:"external-client-input","data-testid":"external-client-secret",label:Ke===0?t.unref(a)("plugins.free-form.openid-connect.principals.client.secret_label"):void 0,"model-value":O.value[Ke]??void 0,placeholder:t.unref(a)("plugins.free-form.openid-connect.principals.client.secret_placeholder"),"show-password-mask-toggle":"",type:"password","onUpdate:modelValue":de=>Pe(Ke,de)},t.createSlots({_:2},[Ke===0&&T.value?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:T.value},null,8,sG)]),key:"0"}:void 0]),1032,["label","model-value","placeholder","onUpdate:modelValue"]),t.unref(l)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(l)),{key:0,schema:{model:"config-client_secret",referenceable:!0},update:de=>Pe(Ke,de),value:O.value[Ke]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("button",{"aria-label":t.unref(a)("plugins.free-form.openid-connect.principals.client.remove"),class:"remove-client-btn","data-testid":"remove-external-client-action",disabled:P.value.length<=1,type:"button",onClick:de=>Ge(Ke)},[t.createVNode(t.unref(Ne.CloseIcon),{size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["size"])],8,lG)],2))),128)),t.createVNode(t.unref(_e.KButton),{appearance:"tertiary",class:"add-client-inline","data-testid":"add-external-client-action",icon:"",type:"button",onClick:Ve[8]||(Ve[8]=$e=>Ee())},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.client.add")),1)]),_:1}),t.createVNode(Xe,{name:"config.issuer"}),t.createVNode(LC,{"data-plane-incompatible":K.value,"on-enabled-change":he},{banner:t.withCtx(()=>[j.value===void 0?(t.openBlock(),t.createBlock(t.unref(_e.KSkeleton),{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):j.value?(t.openBlock(),t.createElementBlock("div",cG,[t.createElementVNode("div",dG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.title")),1),t.createElementVNode("div",uG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.description_external")),1),t.createElementVNode("div",fG,[t.createVNode(t.unref(_e.KButton),{appearance:"primary","data-testid":"principals-create-principal",onClick:Ve[9]||(Ve[9]=$e=>S.value="principal")},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.create")),1)]),_:1}),t.createVNode(t.unref(_e.KButton),{appearance:"secondary","data-testid":"principals-learn-more",onClick:Ve[10]||(Ve[10]=$e=>Be.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.principals.guide.learn_more")),1)]),_:1})])])):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.renderSlot(Be.$slots,"default",{},void 0,!0)]),_:3},8,["data-plane-incompatible"])],64)),t.createVNode(t.unref(_e.KPrompt),{"action-button-text":t.unref(a)("plugins.free-form.openid-connect.principals.leave_prompt.action"),message:t.unref(a)("plugins.free-form.openid-connect.principals.leave_prompt.message"),title:t.unref(a)("plugins.free-form.openid-connect.principals.leave_prompt.title"),visible:!!S.value,onCancel:Ve[11]||(Ve[11]=$e=>S.value=null),onProceed:ve},null,8,["action-button-text","message","title","visible"])]))}}),[["__scopeId","data-v-31ec1f61"]]),gG=t.defineComponent({__name:"VerifySignatureField",props:{name:{}},setup(e){const n=e,{i18n:{t:r}}=Qe(),{value:o}=Ec(()=>n.name),i=t.computed(()=>o.value===!0?r("plugins.free-form.openid-connect.advanced_fields.verify_signature_description"):void 0);return(a,s)=>(t.openBlock(),t.createBlock(en,{description:i.value,name:e.name},null,8,["description","name"]))}}),hG={class:"oidc-tab-fields"},yG={class:"oidc-tab-header"},_G={class:"oidc-tab-header-title"},bG={class:"oidc-tab-header-description"},kG={class:"oidc-tab-fields"},wG={class:"oidc-tab-header"},CG={class:"oidc-tab-header-title"},EG={class:"oidc-tab-header-description"},NG={class:"oidc-tab-fields"},SG={class:"oidc-tab-header"},AG={class:"oidc-tab-header-title"},xG={class:"oidc-tab-header-description"},IG=Ce({experimental:!0,component:xe(t.defineComponent({__name:"OpenidConnectForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},emits:["click:learn-more","click:create-entity"],setup(e,{emit:n}){const r=[{hash:"#common",title:"Common"},{hash:"#authorization",title:"Authorization"},{hash:"#advanced",title:"Advanced"}],o=["client_id","client_secret","issuer","auth_methods","scopes_claim","scopes_required","audience_claim","audience_required","roles_claim","roles_required","groups_claim","groups_required","authenticated_groups_claim","consumer_claim","principals"],i={dependencies:{"config.token_exchange.subject_token_issuers.*.jwks_uri":["config.token_exchange.subject_token_issuers.*.verify_signature",!0],"config.cluster_cache_redis.cloud_authentication.aws_cache_name":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_region":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_is_serverless":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_access_key_id":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_secret_access_key":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_assume_role_arn":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.aws_role_session_name":["config.cluster_cache_redis.cloud_authentication.auth_provider","aws"],"config.cluster_cache_redis.cloud_authentication.gcp_service_account_json":["config.cluster_cache_redis.cloud_authentication.auth_provider","gcp"],"config.cluster_cache_redis.cloud_authentication.azure_client_id":["config.cluster_cache_redis.cloud_authentication.auth_provider","azure"],"config.cluster_cache_redis.cloud_authentication.azure_client_secret":["config.cluster_cache_redis.cloud_authentication.auth_provider","azure"],"config.cluster_cache_redis.cloud_authentication.azure_tenant_id":["config.cluster_cache_redis.cloud_authentication.auth_provider","azure"],"config.cluster_cache_redis.cloud_authentication.oauth":["config.cluster_cache_redis.cloud_authentication.auth_provider","oauth"],"config.cluster_cache_redis.cloud_authentication.oauth.username":["config.cluster_cache_redis.cloud_authentication.oauth.grant_type","password"],"config.cluster_cache_redis.cloud_authentication.oauth.password":["config.cluster_cache_redis.cloud_authentication.oauth.grant_type","password"],"config.redis":["config.session_storage","redis"]},bundles:[["config.token_exchange.subject_token_issuers.*.verify_signature","config.token_exchange.subject_token_issuers.*.jwks_uri"],["config.session_storage","config.redis"]]},{i18n:{t:a}}=Qe(),s=e,l=n,c=t.useSlots();t.provide(Je.AUTOFILL_SLOT,c?.[Je.AUTOFILL_SLOT_NAME]),t.provide(Vs,t.computed(()=>s.isEditing));const d=t.inject(Je.FORMS_CONFIG),u=t.computed(()=>d?.app==="konnect"),f=dd("openid-connect"),p=t.computed(()=>f?.source==="ai-manager"),m=t.inject(Bn.KHCP_20393_IDENTITY_PRINCIPALS_UI,!1),h=t.computed(()=>!!s.schema.fields.find(S=>"config"in S)?.config?.fields?.some(S=>"principals"in S)),y=t.computed(()=>u.value&&m&&h.value),g=t.ref(null),_=/^(?:\$\.)?config\.client_jwk\.\d+\.([^.]+)$/,k={transformLabel:(w,S)=>_.exec(S)?.[1]??w},b={"config.upstream_headers":"Upstream header","config.downstream_headers":"Downstream header","config.redis.sentinel_nodes":"Sentinel node","config.redis.cluster_nodes":"Cluster node","config.cluster_cache_redis.sentinel_nodes":"Sentinel node","config.cluster_cache_redis.cluster_nodes":"Cluster node"};function N(w,S){const x=w.startsWith("$.")?w.slice(2):w;return`#${S+1} ${b[x]}`}const C=new Set(["config.unauthorized_error_message","config.forbidden_error_message","config.client_jwk.*.x5c.*"]);return t.onMounted(()=>{const w=s.model?.config,S=_4({consumer_claim:w?.consumer_claim,consumer_claims:w?.consumer_claims});S!==null&&s.onFormChange({config:{consumer_claims:S}}),p.value&&!s.isEditing&&!w?.cache_tokens_salt&&s.onFormChange({config:{cache_tokens_salt:iw(32)}})}),(w,S)=>(t.openBlock(),t.createBlock(On,t.mergeProps(s,{"form-config":k,"render-rules":i}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:x})=>x==="config.client_jwk"},{default:t.withCtx(x=>[t.createVNode(x4,t.normalizeProps(t.guardReactiveProps(x)),null,16)]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:x})=>x==="config.token_exchange.subject_token_issuers.*.verify_signature"},{default:t.withCtx(x=>[t.createVNode(gG,t.normalizeProps(t.guardReactiveProps(x)),null,16)]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:x})=>x in b},{default:t.withCtx(x=>[t.createVNode(dt,t.mergeProps(x,{appearance:"tabs","item-label":(I,T)=>N(x.name,T)}),null,16,["item-label"])]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:x})=>t.unref(C).has(x)},{default:t.withCtx(x=>[t.createVNode(Me,t.mergeProps(x,{multiline:""}),null,16)]),_:1},8,["match"]),t.createVNode(mt,{match:({path:x})=>x==="config.cache_tokens_salt"},{default:t.withCtx(x=>[t.createVNode(Me,t.mergeProps(x,{required:p.value}),null,16,["required"])]),_:1},8,["match"]),t.createVNode(mt,{match:({genericPath:x})=>x==="config.token_exchange.subject_token_issuers"},{default:t.withCtx(x=>[t.createVNode(dt,t.mergeProps(x,{appearance:"tabs","item-label":(I,T)=>`#${T+1} Issuer`}),null,16,["item-label"])]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(t.unref(_e.KTabs),{tabs:r},{"common-anchor":t.withCtx(()=>[...S[3]||(S[3]=[t.createElementVNode("span",{"data-testid":"oidc-tab-common"},"Common",-1)])]),"authorization-anchor":t.withCtx(()=>[...S[4]||(S[4]=[t.createElementVNode("span",{"data-testid":"oidc-tab-authorization"},"Authorization",-1)])]),"advanced-anchor":t.withCtx(()=>[...S[5]||(S[5]=[t.createElementVNode("span",{"data-testid":"oidc-tab-advanced"},"Advanced",-1)])]),common:t.withCtx(()=>[t.createElementVNode("div",hG,[t.createElementVNode("div",yG,[t.createVNode(t.unref(_e.KExternalLink),{href:"https://developer.konghq.com/plugins/openid-connect/reference/"},{default:t.withCtx(()=>[t.createElementVNode("span",_G,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.common.title")),1)]),_:1}),t.createElementVNode("p",bG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.common.description")),1)]),y.value?(t.openBlock(),t.createBlock(mG,{key:0,"onClick:createEntity":S[0]||(S[0]=x=>l("click:create-entity",x)),"onClick:learnMore":S[1]||(S[1]=x=>l("click:learn-more",x)),onModeChange:S[2]||(S[2]=x=>g.value=x)},{default:t.withCtx(()=>[t.createVNode(RC,{"principals-mode":g.value},null,8,["principals-mode"])]),_:1})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createVNode(Xe,{name:"config.client_id"}),t.createVNode(Xe,{name:"config.client_secret"}),t.createVNode(Xe,{name:"config.issuer"}),t.createVNode(RC,{"principals-mode":g.value},null,8,["principals-mode"])],64))])]),authorization:t.withCtx(()=>[t.createElementVNode("div",kG,[t.createElementVNode("div",wG,[t.createVNode(t.unref(_e.KExternalLink),{href:"https://developer.konghq.com/plugins/openid-connect/#authorization"},{default:t.withCtx(()=>[t.createElementVNode("span",CG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.authorization.title")),1)]),_:1}),t.createElementVNode("p",EG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.authorization.description")),1)]),t.createVNode(Xe,{name:"config.scopes_claim"}),t.createVNode(Xe,{name:"config.scopes_required"}),t.createVNode(Xe,{name:"config.audience_claim"}),t.createVNode(Xe,{name:"config.audience_required"}),t.createVNode(Xe,{name:"config.roles_claim"}),t.createVNode(Xe,{name:"config.roles_required"}),t.createVNode(Xe,{name:"config.groups_claim"}),t.createVNode(Xe,{name:"config.groups_required"}),t.createVNode(Xe,{name:"config.authenticated_groups_claim"})])]),advanced:t.withCtx(()=>[t.createElementVNode("div",NG,[t.createElementVNode("div",SG,[t.createVNode(t.unref(_e.KExternalLink),{href:"https://developer.konghq.com/plugins/openid-connect/"},{default:t.withCtx(()=>[t.createElementVNode("span",AG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.advanced.title")),1)]),_:1}),t.createElementVNode("p",xG,t.toDisplayString(t.unref(a)("plugins.free-form.openid-connect.tabs.advanced.description")),1)]),t.createVNode(Rt,{"as-child":"",name:"config",omit:o})])]),_:1})]),_:1},16))}}),[["__scopeId","data-v-0fee122c"]])}),vG=Ce({experimental:!0,fieldRenderers:[{match:"config.access_logs.custom_attributes_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),TG=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>["config.access.*","config.body_filter.*","config.header_filter.*","config.certificate.*","config.functions.*","config.log.*","config.rewrite.*","config.ws_handshake.*","config.ws_client_frame.*","config.ws_upstream_frame.*","config.ws_close.*"].includes(e),component:Me,propsOverrides:{multiline:!0,rows:3}}]}),BG=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>["config.access.*","config.body_filter.*","config.header_filter.*","config.certificate.*","config.functions.*","config.log.*","config.rewrite.*","config.ws_handshake.*","config.ws_client_frame.*","config.ws_upstream_frame.*","config.ws_close.*"].includes(e),component:Me,propsOverrides:{multiline:!0,rows:3}}]}),OG=Ce({experimental:!0}),PG=Ce({experimental:!0,renderRules:{bundles:[["config.strategy","config.redis"]],dependencies:{"config.redis":["config.strategy","redis"]}},fieldRenderers:[{match:({path:e})=>e==="config.methods"||e==="config.request_method",component:St,propsOverrides:{multiple:!0}}]}),VG=Ce({experimental:!0,fieldRenderers:[{match:({path:e})=>e==="config.methods"||e==="config.request_method",component:St,propsOverrides:{multiple:!0}}]}),$G={class:"rla-form-request-limits-subtitle"},RG={class:"rla-form-request-limits-content"},LG={class:"rla-form-window-type"},DG={class:"rla-form-request-limits-items"},MG={class:"rla-form-request-limits-row"},FG=["id"],jG={class:"rla-form-request-limits-actions"},UG={key:0,class:"rla-form-request-limits-examples"},KG={class:"rla-form-request-limits-examples-badges"},sg="config.window_type",qG=xe(t.defineComponent({__name:"RequestLimitsForm",setup(e){const{i18n:{t:n}}=Qe(),{formData:r,getSelectItems:o,getSchema:i,getEmptyOrDefault:a}=lt(),s=t.computed(()=>{const _=r.config?.limit?.map((k,b)=>({limit:k,windowSize:r.config?.window_size?.[b]}));return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=Nc("request-limits",s),c=_=>{if(m.value=void 0,!r.config)return;const k=a("config.limit.0"),b=a("config.window_size.0");r.config.limit?.length||(r.config.limit=[k]),r.config.window_size?.length||(r.config.window_size=[b]),r.config.limit.splice(_+1,0,k),r.config.window_size.splice(_+1,0,b)},d=_=>{r.config&&(r.config.limit.splice(_,1),r.config.window_size.splice(_,1))},u=i(sg)?.default,f=t.computed(()=>xo(r,sg)),p=t.computed(()=>o(sg).sort((_,k)=>_.value===u?-1:k.value===u?1:0)),m=t.ref(),h={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},y=t.computed(()=>Object.prototype.hasOwnProperty.call(h,f.value)?h[f.value]:[]),g=(_,k)=>{if(k===m.value){t.nextTick(()=>{m.value=void 0}),r.config.limit=[],r.config.window_size=[];return}t.nextTick(()=>{m.value=k}),r.config.limit=[_.config.limit],r.config.window_size=[_.config.window_size]};return(_,k)=>{const b=t.resolveComponent("KLabel"),N=t.resolveComponent("KButton"),C=t.resolveComponent("KBadge"),w=t.resolveComponent("KTooltip"),S=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(S,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",$G,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",RG,[t.createElementVNode("div",LG,[t.createVNode(tg,{items:p.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":k[0]||(k[0]=x=>m.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",DG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,(x,I)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(x,I)},[t.createVNode(b,{for:`rla-form-request-limits-item-${I}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:I+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",MG,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${I}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(Nt,{name:`$.config.limit.${I}`,placeholder:t.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.interval_determiner")),1),t.createVNode(Nt,{name:`$.config.window_size.${I}`,placeholder:t.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.seconds")),1)],8,FG),t.createElementVNode("div",jG,[t.createVNode(N,{appearance:"tertiary",disabled:s.value.length<=1,onClick:()=>d(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(N,{appearance:"tertiary",onClick:()=>c(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),y.value.length>0?(t.openBlock(),t.createElementBlock("div",UG,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",KG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(x,I)=>(t.openBlock(),t.createBlock(w,{key:`use-case-${I}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(x.description),1),k[1]||(k[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(x.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(x.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(C,{appearance:m.value===`${f.value}-${I}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>g(x,`${f.value}-${I}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(x.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-aa947728"]]),GG={id:"rla-form-error-legend",class:"rla-form-error-inputs"},zG=xe(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{i18n:{t:n}}=Qe();return(r,o)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{for:"rla-form-error-legend",info:t.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",GG,[t.createVNode(Nt,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),o[0]||(o[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(Me,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-7b36f1f7"]]),HG=t.defineComponent({__name:"RedisField",setup(e){const{formData:n}=lt(),r=t.inject(Je.FORMS_CONFIG),i=t.inject(oa)?.isEditing||!1,a=t.computed(()=>{if(r?.app!=="konnect")return!1;const s=r;return!!s.isKonnectManagedRedisEnabled&&s.isCloudGateway===!0});return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=i?null:void 0)}),(s,l)=>(t.openBlock(),t.createBlock(xc,null,{default:t.withCtx(()=>[t.unref(n).config?.strategy==="redis"?(t.openBlock(),t.createBlock(sd,{key:0,"is-konnect-managed-redis-enabled":a.value},null,8,["is-konnect-managed-redis-enabled"])):t.createCommentVNode("",!0)]),_:1}))}}),WG=t.defineComponent({__name:"ConfigForm",setup(e){const{getSchema:n}=lt();return(r,o)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Xe,{name:"identifier"}),t.createVNode(qG),t.createVNode(zG)]),_:1}),t.createVNode(Yo,{"hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(St,{multiple:!0,name:"config.compound_identifier"}),t.unref(n)("config.counter_key")?(t.openBlock(),t.createBlock(Xe,{key:0,name:"config.counter_key"})):t.createCommentVNode("",!0),t.createVNode(Xe,{name:"config.sync_rate"}),t.createVNode(Xe,{name:"config.namespace"}),t.createVNode(Xe,{name:"config.strategy"}),t.createVNode(HG),t.createVNode(Xe,{name:"config.dictionary_name"}),t.createVNode(Xe,{name:"config.lock_dictionary_name"}),t.createVNode(Xe,{name:"config.hide_client_headers"}),t.createVNode(Xe,{name:"config.retry_after_jitter_max"}),t.createVNode(Xe,{name:"config.header_name"}),t.createVNode(Xe,{name:"config.path"}),t.createVNode(Xe,{name:"config.throttling"}),t.createVNode(Xe,{name:"config.enforce_consumer_groups"}),t.createVNode(Xe,{name:"config.consumer_groups"}),t.createVNode(Xe,{name:"config.disable_penalty"})]),_:1})],64))}}),YG=Ce({experimental:!0,component:t.defineComponent({__name:"RateLimitingAdvancedForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);function o(i,a){i.config?.namespace===null&&delete i.config.namespace,n.onFormChange(i,a)}return(i,a)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"on-form-change":o}),{default:t.withCtx(()=>[t.createVNode(WG)]),_:1},16))}})}),JG=Ce({experimental:!0,renderRules:{bundles:[["config.policy","config.redis"]],dependencies:{"config.redis":["config.policy","redis"]}}}),XG=Ce({experimental:!0}),ZG="__request_callout_";function DC(){return ns(ZG)}const Rs="_callout_id",QG=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:r}=lt(),o=t.computed(()=>{const{callouts:s}=r.config;return s==null?[]:s.filter(({name:l})=>l&&l!==s[n.index]?.name)}),i=t.computed(()=>o.value.map(({[Rs]:s,name:l})=>({value:s,label:l}))),a=t.computed(()=>r.config.callouts[n.index]);return t.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(s=>i.value.some(l=>l.value===s))}),(s,l)=>(t.openBlock(),t.createBlock(Rt,{name:e.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(St,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(Rt,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(d=>[t.createVNode(St,t.mergeProps(d,{items:t.unref(xp)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:1},16)]),_:1},8,["name"]))}}),e6=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=lt();function r(){const o=n.config.callouts[n.config.callouts.length-1];o&&(o[Rs]=DC())}return(o,i)=>(t.openBlock(),t.createBlock(dt,{appearance:"tabs","item-label":a=>a.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:r},{item:t.withCtx(({index:a,fieldName:s})=>[t.createVNode(QG,{"field-name":s,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),t6=t.defineComponent({__name:"ConfigForm",setup(e){return(n,r)=>(t.openBlock(),t.createBlock(Rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(e6),t.createVNode(Rt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(Rt,{appearance:"card",name:"cache"},{redis:t.withCtx(o=>[t.createVNode(Rt,t.mergeProps(o,{"fields-order":["host","port","connection_is_proxied","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","read_timeout","send_timeout","connect_timeout"]}),null,16)]),_:2},1024)]),_:1}))}}),n6=Ce({component:xe(t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=Qe();function i(c,d=!1){return c.reduce((u,{[Rs]:f,name:p})=>(d?u[p]=f:u[f]=p,u),{})}function a(c){const d=es(c);if(d.config?.callouts){const{callouts:u}=d.config;u.forEach(p=>{p.request.body.custom=p.request.body.custom??{},p[Rs]=DC()});const f=i(u,!0);u.forEach(p=>{p.depends_on=p.depends_on.map(m=>f[m])})}return d}const s={hasValue:c=>!!c&&Object.keys(c).length>0,prepareFormData:a};function l(c,d){if(!c)return;const u=es(c);if(!u.config?.callouts){n.onFormChange(u,d);return}const f=i(u.config.callouts);u.config.callouts=u.config.callouts.map(p=>{const{[Rs]:m,depends_on:h,...y}=p;return{depends_on:h.map(g=>f[g]).filter(g=>g!=null),...y}}),n.onFormChange(u,d)}return(c,d)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"form-config":s,"on-form-change":l}),{"field-renderers":t.withCtx(()=>[t.createVNode(mt,{match:({path:u})=>u.endsWith("by_lua")},{default:t.withCtx(u=>[t.createVNode(Me,t.mergeProps(u,{autosize:"",class:"rc-code",multiline:"",placeholder:t.unref(o)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(mt,{match:({path:u})=>["cluster_nodes","sentinel_nodes"].some(f=>u.endsWith(f))},{default:t.withCtx(u=>[t.createVNode(dt,t.mergeProps(u,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(t6)]),_:1},16))}}),[["__scopeId","data-v-dc955662"]])}),r6=Ce({experimental:!0}),o6=Ce({experimental:!0}),i6=Ce({experimental:!0}),a6=Ce({experimental:!0}),s6=Ce({experimental:!0,fieldRenderers:[{match:"config.parameter_schema",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Parameter schema`}},{match:"config.body_schema",component:Me,propsOverrides:{multiline:!0,rows:4}},{match:"config.parameter_schema.*.schema",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),l6=Ce({experimental:!0,renderRules:{bundles:[["config.policy","config.redis"]],dependencies:{"config.redis":["config.policy","redis"]}}}),c6=Ce({experimental:!0,fieldRenderers:[{match:({path:e,genericPath:n})=>e==="config.replace.body"||n==="config.transform.functions.*"||n.endsWith(".json.*"),component:Me,propsOverrides:{multiline:!0,rows:3}}]}),d6=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e.endsWith(".json.*"),component:Me,propsOverrides:{multiline:!0,rows:3}}]}),u6=Ce({experimental:!0,fieldRenderers:[{match:"config.rules",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Rule`}}]}),f6=Ce({experimental:!0}),p6=Ce({experimental:!0}),m6={class:"sp-form-request-limits-subtitle"},g6={class:"sp-form-request-limits-content"},h6={class:"sp-form-window-type"},y6={class:"sp-form-request-limits-items"},_6={class:"sp-form-request-limits-row"},b6=["id"],k6={class:"sp-form-request-limits-actions"},w6={key:0,class:"sp-form-request-limits-examples"},C6={class:"sp-form-request-limits-examples-badges"},lg="config.window_type",E6=xe(t.defineComponent({__name:"RequestLimitsForm",setup(e){const{t:n}=Ft.createI18n("en-us",zt),{formData:r,getSelectItems:o,getSchema:i,getEmptyOrDefault:a}=lt(),s=t.computed(()=>{const _=r.config?.limit?.map((k,b)=>({limit:k,windowSize:r.config?.window_size?.[b]}));return!Array.isArray(_)||_.length===0?[{limit:null,windowSize:null}]:_}),{getKey:l}=Nc("request-limits",s),c=_=>{if(m.value=void 0,!r.config)return;const k=a("config.limit.0"),b=a("config.window_size.0");r.config.limit?.length||(r.config.limit=[k]),r.config.window_size?.length||(r.config.window_size=[b]),r.config.limit.splice(_+1,0,k),r.config.window_size.splice(_+1,0,b)},d=_=>{r.config&&(r.config.limit.splice(_,1),r.config.window_size.splice(_,1))},u=i(lg)?.default,f=t.computed(()=>xo(r,lg)),p=t.computed(()=>o(lg).sort((_,k)=>_.value===u?-1:k.value===u?1:0)),m=t.ref(),h={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},y=t.computed(()=>Object.prototype.hasOwnProperty.call(h,f.value)?h[f.value]:[]),g=(_,k)=>{if(k===m.value){t.nextTick(()=>{m.value=void 0}),r.config.limit=[],r.config.window_size=[];return}t.nextTick(()=>{m.value=k}),r.config.limit=[_.config.limit],r.config.window_size=[_.config.window_size]};return(_,k)=>{const b=t.resolveComponent("KLabel"),N=t.resolveComponent("KButton"),C=t.resolveComponent("KBadge"),w=t.resolveComponent("KTooltip"),S=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(S,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",m6,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",g6,[t.createElementVNode("div",h6,[t.createVNode(tg,{items:p.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":k[0]||(k[0]=x=>m.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",y6,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,(x,I)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(x,I)},[t.createVNode(b,{for:`sp-form-request-limits-item-${I}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:I+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",_6,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${I}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Nt,{name:`$.config.limit.${I}`,placeholder:t.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.interval_determiner")),1),t.createVNode(Nt,{name:`$.config.window_size.${I}`,placeholder:t.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.seconds")),1)],8,b6),t.createElementVNode("div",k6,[t.createVNode(N,{appearance:"tertiary",disabled:s.value.length<=1,onClick:()=>d(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(N,{appearance:"tertiary",onClick:()=>c(I)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),y.value.length>0?(t.openBlock(),t.createElementBlock("div",w6,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",C6,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(x,I)=>(t.openBlock(),t.createBlock(w,{key:`use-case-${I}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(x.description),1),k[1]||(k[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(x.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(x.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(C,{appearance:m.value===`${f.value}-${I}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>g(x,`${f.value}-${I}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(x.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-93225268"]]),N6={id:"sp-form-error-legend",class:"sp-form-error-inputs"},S6=xe(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=Ft.createI18n("en-us",zt);return(r,o)=>{const i=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",null,[t.createVNode(i,{for:"sp-form-error-legend",info:t.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",N6,[t.createVNode(Nt,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),o[0]||(o[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(Me,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-0796e152"]]),A6=t.defineComponent({__name:"RedisField",setup(e){const{formData:n}=lt(),r=t.inject(Je.FORMS_CONFIG),i=t.inject(oa)?.isEditing||!1,a=t.computed(()=>{if(r?.app!=="konnect")return!1;const s=r;return!!s.isKonnectManagedRedisEnabled&&s.isCloudGateway===!0});return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=i?null:void 0)}),(s,l)=>(t.openBlock(),t.createBlock(xc,null,{default:t.withCtx(()=>[t.unref(n).config?.strategy==="redis"?(t.openBlock(),t.createBlock(sd,{key:0,"is-konnect-managed-redis-enabled":a.value},null,8,["is-konnect-managed-redis-enabled"])):t.createCommentVNode("",!0)]),_:1}))}}),x6=t.defineComponent({__name:"ConfigForm",setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Rt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(E6),t.createVNode(S6)]),_:1}),t.createVNode(Yo,{"hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(Xe,{name:"config.dictionary_name"}),t.createVNode(Xe,{name:"config.lock_dictionary_name"}),t.createVNode(Xe,{name:"config.strategy"}),t.createVNode(A6),t.createVNode(Xe,{name:"config.namespace"}),t.createVNode(Xe,{name:"config.hide_client_headers"}),t.createVNode(Xe,{name:"config.disable_penalty"}),t.createVNode(Xe,{name:"config.retry_after_jitter_max"}),t.createVNode(Xe,{name:"config.sync_rate"})]),_:1})],64))}}),I6=Ce({experimental:!0,component:t.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]);function o(i,a){i.config?.namespace===null&&delete i.config.namespace,n.onFormChange(i,a)}return(i,a)=>(t.openBlock(),t.createBlock(On,t.mergeProps(n,{"on-form-change":o}),{default:t.withCtx(()=>[t.createVNode(x6)]),_:1},16))}})}),v6=Ce({experimental:!0}),T6=Ce({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e==="config.flow.functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}}]}),B6=Ce({experimental:!0,fieldRenderers:[{match:"config.message.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),O6=Ce({experimental:!0,fieldRenderers:[{match:"config.message.functions.*",component:Me,propsOverrides:{multiline:!0,rows:3}}]}),P6=Ce({experimental:!0}),V6=Ce({experimental:!0,fieldRenderers:[{match:"config.metrics",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Metric`}}]}),$6=Ce({experimental:!0,fieldRenderers:[{match:"config.metrics",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Metric`}}]}),R6=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),L6=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),D6=Ce({experimental:!0}),M6=Ce({experimental:!0}),F6=Ce({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:_n,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),j6=Ce({experimental:!0,renderRules:{bundles:[["config.cache.strategy","config.cache.redis"]],dependencies:{"config.cache.redis":["config.cache.strategy","redis"]}},fieldRenderers:[{match:"config.behavior.idp_error_response_body_template",component:Me,propsOverrides:{multiline:!0,rows:4}}]}),U6=Ce({experimental:!0}),K6=Ce({experimental:!0}),q6=Ce({experimental:!0}),G6=Ce({experimental:!0,fieldRenderers:[{match:({path:e})=>/^config\.(client|upstream)\.(text|binary)\.schema$/.test(e),component:Me,propsOverrides:{multiline:!0,rows:4}}]}),z6=Ce({experimental:!0}),H6=Ce({experimental:!0,fieldRenderers:[{match:"config.static_tags",component:dt,propsOverrides:{appearance:"tabs",itemLabel:(e,n)=>`#${n+1} Tag`}}]}),cg=t.defineComponent({__name:"CommonForm",props:{schema:{},model:{},onFormChange:{type:Function},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},onValidityChange:{type:Function},isEditing:{type:Boolean},configSections:{},hideEditorModeSwitcher:{type:Boolean},developer:{type:Boolean},generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{}},setup(e){const n=e,r=t.useSlots();return t.provide(Je.AUTOFILL_SLOT,r?.[Je.AUTOFILL_SLOT_NAME]),(o,i)=>(t.openBlock(),t.createBlock(On,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(()=>[t.createVNode(OC)]),_:1},16))}}),W6=Object.assign({"../plugins/ace.ts":a2,"../plugins/acl/index.ts":Mj,"../plugins/acme.ts":Fj,"../plugins/ai-a2a-proxy.ts":jj,"../plugins/ai-aws-guardrails.ts":Uj,"../plugins/ai-azure-content-safety.ts":Kj,"../plugins/ai-custom-guardrail.ts":qj,"../plugins/ai-gcp-model-armor.ts":Gj,"../plugins/ai-lakera-guard.ts":zj,"../plugins/ai-llm-as-judge.ts":Hj,"../plugins/ai-mcp-oauth2.ts":Wj,"../plugins/ai-mcp-proxy/index.ts":Yj,"../plugins/ai-prompt-compressor.ts":Jj,"../plugins/ai-prompt-decorator.ts":Xj,"../plugins/ai-prompt-guard.ts":Zj,"../plugins/ai-prompt-template.ts":Qj,"../plugins/ai-proxy-advanced.ts":eU,"../plugins/ai-proxy.ts":tU,"../plugins/ai-rag-injector.ts":nU,"../plugins/ai-rate-limiting-advanced.ts":rU,"../plugins/ai-request-transformer.ts":oU,"../plugins/ai-response-transformer.ts":iU,"../plugins/ai-sanitizer.ts":aU,"../plugins/ai-semantic-cache.ts":sU,"../plugins/ai-semantic-prompt-guard.ts":lU,"../plugins/ai-semantic-response-guard.ts":cU,"../plugins/app-dynamics.ts":dU,"../plugins/application-registration.ts":uU,"../plugins/aws-lambda.ts":fU,"../plugins/azure-functions.ts":pU,"../plugins/basic-auth/index.ts":xU,"../plugins/bot-detection.ts":IU,"../plugins/canary.ts":vU,"../plugins/confluent-consume.ts":TU,"../plugins/confluent.ts":BU,"../plugins/correlation-id.ts":OU,"../plugins/cors.ts":PU,"../plugins/datadog.ts":VU,"../plugins/datakit/index.ts":a3,"../plugins/degraphql.ts":s3,"../plugins/entitlement-enforcement/index.ts":T3,"../plugins/exit-transformer.ts":B3,"../plugins/file-log.ts":O3,"../plugins/forward-proxy.ts":P3,"../plugins/graphql-proxy-cache-advanced.ts":V3,"../plugins/graphql-rate-limiting-advanced.ts":$3,"../plugins/grpc-gateway.ts":R3,"../plugins/grpc-web.ts":L3,"../plugins/header-cert-auth.ts":D3,"../plugins/hmac-auth.ts":M3,"../plugins/http-log.ts":F3,"../plugins/injection-protection.ts":j3,"../plugins/ip-restriction.ts":U3,"../plugins/jq.ts":K3,"../plugins/json-threat-protection.ts":q3,"../plugins/jwe-decrypt.ts":G3,"../plugins/jwt-signer/index.ts":z3,"../plugins/jwt.ts":H3,"../plugins/kafka-consume.ts":W3,"../plugins/kafka-log.ts":Y3,"../plugins/kafka-upstream.ts":J3,"../plugins/key-auth-enc.ts":X3,"../plugins/key-auth/index.ts":Z3,"../plugins/ldap-auth-advanced.ts":Q3,"../plugins/ldap-auth.ts":e4,"../plugins/loggly.ts":t4,"../plugins/metering-and-billing/index.ts":u4,"../plugins/mocking.ts":f4,"../plugins/mtls-auth.ts":p4,"../plugins/oas-validation.ts":m4,"../plugins/oauth2-introspection.ts":g4,"../plugins/oauth2.ts":h4,"../plugins/opa.ts":y4,"../plugins/openid-connect/index.ts":IG,"../plugins/opentelemetry.ts":vG,"../plugins/post-function.ts":TG,"../plugins/pre-function.ts":BG,"../plugins/prometheus.ts":OG,"../plugins/proxy-cache-advanced.ts":PG,"../plugins/proxy-cache.ts":VG,"../plugins/rate-limiting-advanced/index.ts":YG,"../plugins/rate-limiting.ts":JG,"../plugins/redirect.ts":XG,"../plugins/request-callout/index.ts":n6,"../plugins/request-size-limiting.ts":r6,"../plugins/request-termination.ts":o6,"../plugins/request-transformer-advanced.ts":i6,"../plugins/request-transformer.ts":a6,"../plugins/request-validator.ts":s6,"../plugins/response-ratelimiting.ts":l6,"../plugins/response-transformer-advanced.ts":c6,"../plugins/response-transformer.ts":d6,"../plugins/route-by-header.ts":u6,"../plugins/route-transformer-advanced.ts":f6,"../plugins/saml.ts":p6,"../plugins/service-protection/index.ts":I6,"../plugins/session.ts":v6,"../plugins/solace-consume.ts":T6,"../plugins/solace-log.ts":B6,"../plugins/solace-upstream.ts":O6,"../plugins/standard-webhooks.ts":P6,"../plugins/statsd-advanced.ts":V6,"../plugins/statsd.ts":$6,"../plugins/syslog.ts":R6,"../plugins/tcp-log.ts":L6,"../plugins/tls-handshake-modifier.ts":D6,"../plugins/tls-metadata-headers.ts":M6,"../plugins/udp-log.ts":F6,"../plugins/upstream-oauth.ts":j6,"../plugins/upstream-timeout.ts":U6,"../plugins/vault-auth.ts":K6,"../plugins/websocket-size-limit.ts":q6,"../plugins/websocket-validator.ts":G6,"../plugins/xml-threat-protection.ts":z6,"../plugins/zipkin.ts":H6});function Y6(e){const n=e.match(/\.\.\/plugins\/(.+?)(?:\/index)?\.ts$/);if(!n)throw new Error(`Unable to derive plugin name from path: ${e}`);const[,r]=n;return r}function J6(e){const n={},r=new Map;for(const[o,i]of Object.entries(e)){const a=Y6(o);if(r.has(a))throw new Error(`Duplicate plugin config for "${a}": ${r.get(a)} and ${o}`);r.set(a,o),n[a]={component:i.component??cg,experimental:i.experimental??!1,renderRules:i.renderRules,fieldRenderers:i.fieldRenderers??[]}}return n}const dg=J6(W6);function MC(e){return dg[e]}function FC(e,n){const r=MC(e);if(r&&!(r.experimental&&!n.includes(e)))return r.component}function jC(e,n,r){return r==="freeform"?!0:r==="vfg"?!1:!!FC(e,n)}function X6(){return Object.entries(dg).filter(([,e])=>e.experimental).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}function ug(){return t.inject(Jf,[])}function Z6(e){const n=new Set(X6()),r=e.filter(i=>n.has(i)),o=e.filter(i=>!n.has(i));return o.length>0&&console.warn(`[entities-plugins] Ignoring unknown experimental free-form plugins: ${o.join(", ")}`),r}function Q6(e){t.provide(Jf,Z6(e))}function ez(){const e=ug();return{shouldUseFreeForm:(n,r)=>jC(n,e,r),getFreeFormComponent:n=>FC(n,e)}}function UC(e){if(!e)return;if(!e.token_exchange)return e;if((Array.isArray(e.token_exchange.request?.audience)&&e.token_exchange.request.audience.length===0||e.token_exchange.request&&!e.token_exchange.request.audience)&&(e.token_exchange.request.audience=null),(Array.isArray(e.token_exchange.request?.scopes)&&e.token_exchange.request.scopes.length===0||e.token_exchange.request&&!e.token_exchange.request.scopes)&&(e.token_exchange.request.scopes=null),[{cache:{enabled:!0},request:{audience:null,scopes:null,empty_audience:!1,empty_scopes:!1},subject_token_issuers:null},{cache:{enabled:!0},request:{audience:null,scopes:null,empty_audience:!1,empty_scopes:!1}},{cache:{},request:{audience:null,scopes:null}}].some(o=>Kt(e.token_exchange,o)))return e.token_exchange=null,e;const r=e.token_exchange.subject_token_issuers;return r&&r.forEach(o=>{Kt(o.conditions,{})&&(o.conditions=null),o.conditions&&Object.values(o.conditions).every(i=>Array.isArray(i)&&i.length===0)&&(o.conditions=null)}),e}const KC=e=>{const n=e?.proof_of_possession_mtls_from_header;if(!n)return;if(!Array.isArray(n.ca_certificates)||n.ca_certificates.length===0){e.proof_of_possession_mtls_from_header=null;return}Kt(n,{allow_partial_chain:!1,cert_cache_ttl:6e4,certificate_header_format:"url_encoded",http_timeout:3e4,revocation_check_mode:"IGNORE_CA_ERROR",secure_source:!0,ssl_verify:!0})&&(e.proof_of_possession_mtls_from_header=null)},qC=e=>{const n=e?.protected_resource_metadata;if(!n)return;if(!Array.isArray(n.authorization_servers)||n.authorization_servers.length===0){e.protected_resource_metadata=null;return}if(Kt(n,{authorization_servers:null,scopes_supported:null})){e.protected_resource_metadata=null;return}},tz={shamefullyTransformPayload(e){return UC(e.payload.config),KC(e.payload.config),qC(e.payload.config),e}},nz={shamefullyTransformPayload(e){if(!e.payload.config?.access_logs?.custom_attributes_by_lua)return e;if(Kt(e.payload.config?.access_logs?.custom_attributes_by_lua,{})){const n=e.payload.config?.access_logs;n&&(n.custom_attributes_by_lua=null)}return e}},rz={shamefullyTransformPayload(e){const n=e.payload.config?.v2_strategies?.openid_connect;return Array.isArray(n)&&n.forEach(r=>{UC(r.config),KC(r.config),qC(r.config)}),e}},oz={shamefullyTransformPayload(e){return!e.payload.config||!e.payload.config?.token_exchange||[{cache:{enabled:!0,ttl:3600},client_auth:"client_secret_basic",enabled:!1,request:{actor_token_source:"none",actor_token_type:"urn:ietf:params:oauth:token-type:access_token",audience:null,requested_token_type:"urn:ietf:params:oauth:token-type:access_token",scopes:null,subject_token_type:"urn:ietf:params:oauth:token-type:access_token"}}].some(r=>Kt(e.payload.config?.token_exchange,r))&&(e.payload.config.token_exchange=null),e}},iz=(e,n)=>{const r=e.model.startsWith("config-"),o=n.model.startsWith("config-");return r&&!o?1:!r&&o?-1:0},GC=(e,n)=>(e.order??0)-(n.order??0),zC=(e,n)=>iz(e,n)||GC(e,n)||e.model.localeCompare(n.model),az=e=>{const{capitalize:n}=pe.useStringHelpers(),{convertToDotNotation:r}=Fk(),{i18n:{t:o}}=Qe(),i=ug(),a={"application-registration":{overwriteDefault:!0,formSchema:{...SR}},datadog:{...AR},"exit-transformer":{...xR},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...FR},"statsd-advanced":{...jR},"route-by-header":{...RR},"ai-prompt-decorator":{...kR},"ai-prompt-template":{...wR},"ai-proxy-advanced":{...CR},"ai-rag-injector":{...ER},"ai-llm-as-judge":{...NR},"vault-auth":{...KR},"oas-validation":{...BR},mocking:{...TR},"rate-limiting":{...wc},"rate-limiting-advanced":e?.app==="kongManager"?{"config-consumer_groups":wc["config-consumer_groups"]}:{...wc},"graphql-rate-limiting-advanced":{...IR},"injection-protection":{...vR},"response-ratelimiting":{...wc},"pre-function":{...Xk},"post-function":{...Xk},"request-transformer-advanced":{...VR},"response-transformer":{...Zk},"response-transformer-advanced":{...$R},zipkin:{...i2},"upstream-oauth":{...UR},saml:{...LR},"kafka-upstream":{...e2},"solace-consume":{...DR},"solace-upstream":{...MR},"key-auth":fR(e),"key-auth-enc":_R(e),confluent:{...t2},"confluent-consume":{...n2},"kafka-consume":{...r2},"kafka-log":{...o2},"openid-connect":{...tz},opentelemetry:{...nz},"konnect-application-auth":{...rz},"ai-mcp-oauth2":{...oz}},s=()=>["created_at","updated_at","id","_isCustomPlugin","_sourcePlugin","_supported_redis_partial_type","_redis_partial_path"],l=(w,S,x,I)=>{let T={};(S||w)&&(T=S||(w.fields?w.fields:w));const A=s().concat(w.blacklist?w.blacklist:[]),v=Object.keys(T).filter(ee=>!A.includes(ee)),P=v.indexOf("comparator");P>-1&&v.splice(P,1);let O={fields:[]};const R={};v.forEach(ee=>{d(T[ee],ee,T,R,O,x)});const Q=R.name,fe=w._sourcePlugin||Q,H=Mn[fe],j=[],D=ee=>{const K=["cluster-cache"];for(const J of K)if(ee.model.includes(J))return!1;return new RegExp("(?<=-redis-).*").test(ee.model)};if(O._supported_redis_partial_type=w._supported_redis_partial_type,O._redis_partial_path=w._redis_partial_path,Je.getSharedFormName(fe)||jC(fe,i,I)||H?.useLegacyForm||e?.credential){if(H?.useLegacyForm&&e?.enableRedisPartial&&w._supported_redis_partial_type){for(const ee of O.fields)if(D(ee)){j.push(ee);continue}O.fields=O.fields.filter(ee=>!D(ee)),j.length&&O.fields.push({id:"_redis",fields:j,model:"__redis_partial",pluginType:w._isCustomPlugin?"custom":"bundled",redisType:w._supported_redis_partial_type,redisPath:w._redis_partial_path})}O.fields.sort((ee,K)=>(ee.order=ee.order||0,K.order=K.order||0,ee.order-K.order))}else{const ee=[],K=[],J=[],ce=[],z={};if(H?.fieldRules){const Ee=[...H.fieldRules.atLeastOneOf??[],...H.fieldRules.onlyOneOf??[],...H.fieldRules.mutuallyRequired??[]];if(H.fieldRules.onlyOneOfMutuallyRequired)for(const Ge of H.fieldRules.onlyOneOfMutuallyRequired)Ee.push(...Ge);for(const Ge of Ee)for(const se of Ge)z[se.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const Ee of O.fields){if(e?.enableRedisPartial&&w._supported_redis_partial_type&&D(Ee)){ce.push(Ee);continue}if(Ee.pinned){ee.push(Ee);continue}if(Ee.required||z[Ee.model]!==void 0){z[Ee.model]===!1&&(z[Ee.model]=!0),K.push(Ee);continue}J.push(Ee)}ce.length&&J.push({id:"_redis",fields:ce,model:"__redis_partial",pluginType:w._isCustomPlugin?"custom":"bundled",redisType:w._supported_redis_partial_type,redisPath:w._redis_partial_path,order:-1});const oe=Object.entries(z).filter(([,Ee])=>!Ee).map(([Ee])=>Ee.replace(/-/g,".").replace(/_/g,"-"));oe.length>0&&console.warn(`Unknown checked fields for plugin ${Q}: ${oe.join(", ")}`);const Pe=[];ee.length>0&&Pe.push({fields:ee.sort(GC)}),(K.length>0||J.length>0)&&Pe.push({fields:K.sort(zC),collapsible:{title:o("plugins.form.grouping.plugin_configuration.title"),description:o("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:J.sort(zC),triggerLabel:{expand:o("plugins.form.grouping.advanced_parameters.view"),collapse:o("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),O={groups:Pe}}return{schema:O,model:R,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=w=>Array.isArray(w.default)||w.default!=null&&typeof w.default!="object"&&w.default!=="function",d=(w,S,x,I,T,A)=>{const v=c(w);return I[S]=v?w.default:null,w.id=S,w.model=S,w.fields&&w.type==="record"?f(w,S,x,I,T,A):(x[S]=w,N(w,I),A&&A[S]&&u(x[S],A[S]),T.fields.push(w)),x},u=(w,S)=>(S&&(Object.assign(w,S),S.label&&(w.label=S.label)),w),f=(w,S,x,I,T,A)=>{w.fields.forEach(v=>{Object.keys(v).forEach(P=>{const O=v[P];x=d(O,S+"-"+P,x,I,T,A)})})},p=(w,S)=>{w.type="input",w.inputType="hidden",w.styleClasses="kong-form-hidden-field-wrapper";const x=e?.entityId;S[w.model]=x?{id:x}:null},m=w=>{w.type="input",w.inputType="number",w.between&&w.between.length===2&&(w.min=w.between[0],w.max=w.between[1])},h=w=>{Object.prototype.hasOwnProperty.call(w,"one_of")?(w.type="select",w.values=w.one_of,w.selectOptions={hideNoneSelectedText:!0}):(w.type="input",w.inputType="text")},y=w=>{w.type="checkbox",w.default=!0,w.required=!1},g=w=>{if(w.type="object-advanced",w.values.type==="array"){const{type:S}=w.values.elements||{};w.schema={fields:[{schema:{fields:[{...ft,model:w.model,valueArrayType:S==="integer"?"number":S||"string",inputAttributes:{...ft.inputAttributes,type:S==="integer"?"number":"text",inputMode:S==="integer"?"numeric":"text"}}]}}]}}else w.values.fields&&(w.schema={fields:[{type:"object",model:"object",schema:{fields:w.values.fields.map(S=>{const x=Object.keys(S)[0];return{model:x,type:"input",label:n(x),placeholder:x,inputType:S[x].type}})}}]})},_=w=>w.fields.reduce((S,x)=>(x.fields&&x.fields.forEach(I=>{S[I.model]=I}),x.model&&(S[x.model]=x),S),{}),k=(w,S)=>{if(!Je.customFields.includes(w.model))return;const x=_(w);Je.customFields.forEach(I=>{Object.keys(x).forEach(T=>{const A=c(x[T]);S[T]=A?x[T].default:null}),delete S[I]})},b=(w,S)=>w.inputType==="hidden"?"":r(w.label||S.replace(/_/g," ")),N=(w,S)=>{switch(k(w,S),w.type){case"foreign":p(w,S);break;case"number":m(w),w.attributes={step:"any"};break;case"integer":m(w);break;case"string":h(w);break;case"boolean":y(w);break;case"map":g(w);break}w.inputType==="foreign"&&p(w,S),w.label=b(w,w.model)};function C(w,S){if(S==null||S.type&&S.type!=="record"||typeof w!="object"||w==null)return w;const x={};for(const I of S.fields){const T=Object.keys(I)[0],A=I[T];A.type==="record"?x[T]=C(w[T],A):A.type==="array"&&Array.isArray(w[T])&&A.elements.type==="record"?x[T]=w[T].map(v=>C(v,A.elements)):x[T]=w[T]}return x}return{buildFormSchema:d,parseSchema:l,customSchemas:a,typedefs:Bi,pruneRecord:C}},hd=Symbol("customPluginType"),sz=1e3,lz=20,HC=5e3,WC=(e,n=sz)=>{const r=/^[a-z][a-z\d+.-]*:/i.test(e),o=new URL(e,"http://localhost");return o.searchParams.has("size")||o.searchParams.set("size",`${n}`),r?o.toString():`${o.pathname}${o.search}${o.hash}`},yd=async(e,n,r)=>{const o=[];let i=WC(n),a=null,s=0;for(;i&&s<lz&&o.length<HC&&i!==a;){a=i;const c=(await e.get(i,{signal:r})).data;Array.isArray(c?.data)&&o.push(...c.data),i=c?.next?WC(c.next):null,s+=1}return o.slice(0,HC)};function cz(e){const{axiosInstance:n,apiBaseUrl:r}=e,o=()=>{if(e.app!=="konnect")throw new Error("Installed custom plugin APIs are only available for Konnect")},i=(g,_)=>{let k=`${r}${g}`;return e.app==="konnect"&&(k=k.replace(/{controlPlaneId}/gi,e.controlPlaneId)),k=k.replace(/{pluginId}/gi,_??"").replace(/\/{workspace}/gi,e.workspace?`/${e.workspace}`:""),k},a=async g=>{o();const _=i(nt.customPlugin.konnect.installed.edit,g),{data:k}=await n.get(_);return k},s=async g=>{o();const _=i(nt.customPlugin.konnect.installed.create),{data:k}=await n.post(_,g);return k},l=async(g,_)=>{o();const k=i(nt.customPlugin.konnect.installed.edit,g),{data:b}=await n.put(k,_);return b},c=async g=>{const _=i(nt.customPlugin[e.app].streamed.edit,g),{data:k}=await n.get(_);return k},d=async g=>{const _=i(nt.customPlugin[e.app].streamed.create),{data:k}=await n.post(_,g);return k},u=async(g,_)=>{const k=i(nt.customPlugin[e.app].streamed.edit,g),b=e.app==="konnect"?"put":"patch",{data:N}=await n[b](k,_);return N},f=async g=>{const{aliasName:_,priority:k,sourcePlugin:b}=g,N=i(nt.customPlugin[e.app].cloned.create),{data:C}=await n.post(N,{name:_,ref:b,priority:k});return C},p=async(g,_)=>{const{aliasName:k,priority:b,sourcePlugin:N}=_,C=i(nt.customPlugin[e.app].cloned.edit,g),w=e.app==="konnect"?"put":"patch",{data:S}=await n[w](C,{ref:N,priority:b,name:k});return S},m=async g=>{const _=i(nt.customPlugin[e.app].cloned.edit,g),{data:k}=await n.get(_);return k};return{getInstalledPlugin:a,createInstalledPlugin:s,updateInstalledPlugin:l,getStreamedPlugin:c,createStreamedPlugin:d,updateStreamedPlugin:u,getPluginByUnknownType:async g=>{if(e.app==="konnect")try{const _=await a(g);return Object.assign(_,{[hd]:"installed"})}catch(_){if(gi.isAxiosError(_)&&_.response?.status!==404)throw _}try{const _=await c(g);return Object.assign(_,{[hd]:"streamed"})}catch(_){if(gi.isAxiosError(_)&&_.response?.status!==404)throw _}try{const _=await m(g);return Object.assign(_,{[hd]:"cloned"})}catch(_){if(gi.isAxiosError(_)&&_.response?.status!==404)throw _}return null},getPluginType:g=>g[hd],getClonedPlugin:m,createClonedPlugin:f,updateClonedPlugin:p}}const YC={service:{entityType:"services",nameField:"name"},route:{entityType:"routes",nameField:"name"},consumer:{entityType:"consumers",nameField:"username"},consumer_group:{entityType:"consumer_groups",nameField:"name"}};function dz({config:e,axiosInstance:n,onError:r}){const o=t.ref({}),i=t.ref({}),a=(u,f)=>{let p=`${e.apiBaseUrl}${nt.form[e.app].entityGetOne}`;return e.app==="konnect"&&(p=p.replace(/{controlPlaneId}/gi,e?.controlPlaneId||"")),p.replace(/\/{workspace}/gi,e?.workspace?`/${e.workspace}`:"").replace(/{entity}/gi,u).replace(/{id}/gi,f)},s=async(u,f)=>{const{entityType:p,nameField:m}=YC[u];i.value[u]=!0;try{const{data:h}=await n.get(a(p,f));o.value[u]=h?.[m]||""}catch(h){r(h)}finally{i.value[u]=!1}};return{resolveReferenceNames:u=>{Object.keys(YC).forEach(f=>{const p=u?.[f]?.id;p&&s(f,p)})},getReferenceName:u=>o.value[u]||void 0,isReferenceNameLoading:u=>!!i.value[u]}}const it={useI18n:Qe,usePluginMetaData:Yk,usePluginHelpers:Fk,useSchemas:az,useExperimentalFreeForms:ug,useProvideExperimentalFreeForms:Q6,useFreeFormResolver:ez,useCustomPluginApi:cz,useReferenceEntityNames:dz},JC=e=>{const n=e?.response;return n?.status===400&&(n.data?.message?.includes("plugin schema is currently in use")||n.data?.code===19||n.data?.name==="referenced by others")},uz={class:"kong-ui-entities-custom-plugin-form"},fz={class:"plugin-type-radios"},pz={class:"compare-table-wrapper"},mz={class:"compare-table"},gz={key:0,scope:"col"},hz={key:1,scope:"col"},yz={key:2,scope:"col"},_z={scope:"row"},bz={key:0},kz={key:1},wz={key:2},Cz={scope:"row"},Ez={key:0},Nz={class:"compare-list"},Sz={key:1},Az={class:"compare-list"},xz={key:2},Iz={scope:"row"},vz={key:0},Tz={key:1},Bz={key:2},Oz={scope:"row"},Pz={key:0},Vz={key:1},$z={key:2},Rz={scope:"row"},Lz={key:0},Dz={key:1},Mz={key:2},Fz={class:"plugin-modules-section"},jz={class:"plugin-select-item"},Uz={class:"plugin-select-item"},Kz={key:1},qz=1*1024*1024,Gz=xe(t.defineComponent({__name:"CustomPluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!e.app||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&!e.workspace||!e.cancelRoute||!e.successRoute)},pluginName:{type:String,default:""},unsupportedTypes:{type:Array,default:()=>[]}},emits:["update","error","loading"],setup(e,{emit:n}){const r=["acl","datakit","file-log","http-log","ip-restriction","key-auth","opa","openid-connect","post-function","pre-function","request-transformer-advanced","request-transformer","response-transformer-advanced","response-transformer","route-by-header","tcp-log"],o=["installed","streamed","cloned"],i=e,a=n,{i18n:{t:s},i18nT:l}=it.useI18n(),c=Ar.useRouter(),{getMessageFromError:d}=pe.useErrors(),{axiosInstance:u}=pe.useAxios(i.config?.axiosRequestConfig),{createInstalledPlugin:f,updateInstalledPlugin:p,createStreamedPlugin:m,updateStreamedPlugin:h,getPluginType:y,getPluginByUnknownType:g,createClonedPlugin:_,updateClonedPlugin:k}=it.useCustomPluginApi({axiosInstance:u,apiBaseUrl:i.config.apiBaseUrl,controlPlaneId:i.config.controlPlaneId,app:i.config.app,workspace:i.config.workspace});t.provide(pe.PLUGIN_FORM_LAYOUT_STATE,t.ref(!0));const b=t.ref(null),N=(se,X)=>{const he=i.config.workspace??"",ve=i.config.app==="konnect"?i.config.controlPlaneId:"";return`${i.config.apiBaseUrl}${se}`.replace(/{controlPlaneId}/gi,ve).replace(/{pluginId}/gi,X??"").replace(/\/\{workspace\}/gi,he?`/${he}`:"")},C=t.computed(()=>{const se=D.fields.pluginType;if(!se)return"";const X=I.value?i.pluginName:void 0,he=X?"edit":"create";if(i.config.app==="konnect"){if(se==="installed")return N(nt.customPlugin.konnect.installed[he],X);if(se==="streamed")return N(nt.customPlugin.konnect.streamed[he],X);if(se==="cloned")return N(nt.customPlugin.konnect.cloned[he],X)}else{if(se==="streamed")return N(nt.customPlugin.kongManager.streamed[he],X);if(se==="cloned")return N(nt.customPlugin.kongManager.cloned[he],X)}return""}),w=t.computed(()=>I.value?D.fields.pluginType==="cloned"?i.config.app==="konnect"?"put":"patch":i.config.app==="kongManager"&&D.fields.pluginType==="streamed"?"patch":"put":"post"),S=t.computed(()=>{switch(D.fields.pluginType){case"installed":return pe.SupportedEntityType.PluginSchema;case"streamed":return pe.SupportedEntityType.CustomPlugin;case"cloned":return pe.SupportedEntityType.ClonedPlugin;default:return pe.SupportedEntityType.Plugin}}),x=t.computed(()=>{switch(D.fields.pluginType){case"installed":return{lua_schema:D.fields.schemaContent};case"streamed":return{name:D.fields.name,schema:D.fields.schemaContent,handler:D.fields.handlerContent};case"cloned":return{ref:D.fields.sourcePlugin,name:D.fields.aliasName,...D.fields.priority?{priority:parseInt(D.fields.priority,10)}:{}};default:return{}}}),I=t.computed(()=>!!i.pluginName),T=t.ref(!1),A=t.ref(""),v=t.computed(()=>new Set(i.unsupportedTypes)),P=t.computed(()=>o.filter(se=>!v.value.has(se))),O=t.computed(()=>!I.value&&P.value.length===0),R=t.computed(()=>!I.value&&P.value.length>1),Q=()=>P.value[0]??null,fe=se=>P.value.includes(se),H=se=>{if(I.value||!R.value){const X=se-1;return(D.fields.pluginType==="installed"?1:2)>1?X:void 0}return se},j=t.ref(!0),D=t.reactive({fields:{pluginType:Q(),schemaContent:"",handlerContent:"",name:"",sourcePlugin:"",aliasName:"",priority:""},readonly:!1,errorMessage:""});let ee="";t.watch(P,se=>{I.value||(!D.fields.pluginType||!se.includes(D.fields.pluginType))&&(D.fields.pluginType=se[0]??null)},{immediate:!0}),t.watch(()=>D.fields.pluginType,()=>{I.value||(D.fields.schemaContent="",D.fields.handlerContent="",D.fields.name="",D.fields.sourcePlugin="",D.fields.aliasName="",D.fields.priority="")});const{getDisplayName:K}=Yk(),J=t.computed(()=>{const se=i.config?.clonablePlugins??r;if(se.length===0)return[];const X={};se.forEach(ve=>{const qe=Mn[ve]?.group;qe?(X[qe]||(X[qe]=[]),X[qe].push({label:K(ve),value:ve})):console.warn(`Plugin ${ve} is missing metadata group and will be shown without grouping.`)});const he=[];return Object.keys(X).sort().forEach(ve=>{he.push({label:ve,items:X[ve]})}),he}),ce=t.computed(()=>{if(O.value||!D.fields.pluginType)return!1;switch(D.fields.pluginType){case"installed":return D.fields.schemaContent.length>0;case"streamed":return D.fields.schemaContent.length>0&&D.fields.handlerContent.length>0&&D.fields.name.trim().length>0;case"cloned":return!!D.fields.sourcePlugin&&D.fields.aliasName.trim().length>0;default:return!1}}),z=se=>new Promise((X,he)=>{const ve=new FileReader;ve.onload=je=>{const qe=je.target?.result;typeof qe=="string"?X(qe):he(new Error("Failed to read file as text"))},ve.onerror=he,ve.readAsText(se)}),oe=async(se,X)=>{const he=X[0];if(he){if(he.size>qz){D.errorMessage=s("custom_plugin_form.errors.file_too_large");return}try{const ve=await z(he);se==="schema"?D.fields.schemaContent=ve:D.fields.handlerContent=ve}catch{D.errorMessage=s("custom_plugin_form.errors.file_read_error"),se==="schema"?D.fields.schemaContent="":D.fields.handlerContent=""}}},Pe=se=>{se==="schema"?D.fields.schemaContent="":D.fields.handlerContent=""},Ee=()=>{c.push(i.config.cancelRoute)};t.onMounted(async()=>{if(i.pluginName){T.value=!0,a("loading",!0);try{const se=await g(i.pluginName);if(!se){A.value=s("custom_plugin_form.errors.plugin_not_found"),a("error",new Error(A.value));return}const X=y(se);if(D.fields.pluginType=X,X==="installed")D.fields.schemaContent=se.item.lua_schema;else if(X==="streamed"){const{name:he,schema:ve,handler:je}=se;D.fields.name=he,D.fields.schemaContent=ve,D.fields.handlerContent=je}else if(X==="cloned"){const{ref:he,name:ve,priority:je}=se;D.fields.aliasName=ve,D.fields.sourcePlugin=he,D.fields.priority=je!==null?String(je):"",ee=ve}else A.value=s("custom_plugin_form.errors.unsupported_plugin_type",{type:X}),a("error",new Error(A.value))}catch(se){A.value=d(se),a("error",se)}finally{T.value=!1,a("loading",!1)}}});const Ge=async()=>{D.errorMessage="",D.readonly=!0;try{const se=D.fields.pluginType;if(!se)return;if(se==="installed"){const X={lua_schema:D.fields.schemaContent},he=I.value?await p(i.pluginName,X):await f(X);a("update",he)}else if(se==="streamed"){const X={name:D.fields.name,schema:D.fields.schemaContent,handler:D.fields.handlerContent},he=I.value?await h(i.pluginName,X):await m(X);a("update",he)}else{const X=I.value?await k(ee,{aliasName:D.fields.aliasName,sourcePlugin:D.fields.sourcePlugin,priority:D.fields.priority?parseInt(D.fields.priority,10):void 0}):await _({aliasName:D.fields.aliasName,sourcePlugin:D.fields.sourcePlugin,priority:D.fields.priority?parseInt(D.fields.priority,10):void 0});a("update",{pluginType:"cloned",sourcePlugin:X.ref,aliasName:X.name,priority:X.priority??void 0})}c.push(i.config.successRoute)}catch(se){D.errorMessage=JC(se)?s("delete.plugin_schema_in_use_message"):d(se),a("error",se)}finally{D.readonly=!1}};return(se,X)=>{const he=t.resolveComponent("KSkeleton"),ve=t.resolveComponent("KEmptyState"),je=t.resolveComponent("KRadio"),qe=t.resolveComponent("KCollapse"),Be=t.resolveComponent("KFileUpload"),Ve=t.resolveComponent("KLabel"),$e=t.resolveComponent("KAlert"),Ke=t.resolveComponent("KSelect"),de=t.resolveComponent("KInput"),Z=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",uz,[t.createVNode(t.unref(pe.EntityBaseForm),{ref_key:"entityBaseFormRef",ref:b,"can-submit":ce.value,config:e.config,"entity-type":t.unref(pe.SupportedEntityType).Plugin,"error-message":D.errorMessage,"form-fields":x.value,"is-readonly":D.readonly,"slideout-deck-entity-type":S.value,"slideout-fetch-url":C.value,"slideout-request-method":w.value,onCancel:Ee,onSubmit:Ge},{"form-actions":t.withCtx(()=>[T.value||A.value||O.value?(t.openBlock(),t.createElementBlock("span",Kz)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(Z,{appearance:"primary","data-testid":"custom-plugin-form-submit",disabled:!ce.value||D.readonly,type:"submit"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.save")),1)]),_:1},8,["disabled"]),t.createVNode(Z,{appearance:"secondary","data-testid":"custom-plugin-form-cancel",disabled:D.readonly,onClick:Ee},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.cancel")),1)]),_:1},8,["disabled"]),t.createVNode(Z,{appearance:"tertiary","data-testid":"custom-plugin-form-view-configuration",onClick:X[14]||(X[14]=U=>b.value?.viewConfig())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.view_configuration")),1)]),_:1})],64))]),default:t.withCtx(()=>[T.value?(t.openBlock(),t.createBlock(he,{key:0,type:"form"})):A.value?(t.openBlock(),t.createBlock(ve,{key:1,"action-button-visible":!1,"data-testid":"custom-plugin-form-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(A.value),1)]),_:1})):O.value?(t.openBlock(),t.createBlock(ve,{key:2,"action-button-visible":!1,"data-testid":"custom-plugin-form-unsupported-types-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(s)("custom_plugin_form.errors.no_supported_types")),1)]),_:1})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[R.value?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:0,class:"custom-plugin-form-steps",step:1,title:t.unref(s)("custom_plugin_form.step1.title")},{default:t.withCtx(()=>[t.createElementVNode("div",fz,[fe("installed")?(t.openBlock(),t.createBlock(je,{key:0,modelValue:D.fields.pluginType,"onUpdate:modelValue":X[0]||(X[0]=U=>D.fields.pluginType=U),card:"","card-orientation":"horizontal","data-testid":"custom-plugin-type-installed",description:t.unref(s)("custom_plugin_form.step1.types.installed.description"),label:t.unref(s)("custom_plugin_form.step1.types.installed.label"),"selected-value":"installed"},null,8,["modelValue","description","label"])):t.createCommentVNode("",!0),fe("streamed")?(t.openBlock(),t.createBlock(je,{key:1,modelValue:D.fields.pluginType,"onUpdate:modelValue":X[1]||(X[1]=U=>D.fields.pluginType=U),card:"","card-orientation":"horizontal","data-testid":"custom-plugin-type-streamed",description:t.unref(s)("custom_plugin_form.step1.types.streamed.description"),label:t.unref(s)("custom_plugin_form.step1.types.streamed.label"),"selected-value":"streamed"},null,8,["modelValue","description","label"])):t.createCommentVNode("",!0),fe("cloned")?(t.openBlock(),t.createBlock(je,{key:2,modelValue:D.fields.pluginType,"onUpdate:modelValue":X[2]||(X[2]=U=>D.fields.pluginType=U),card:"","card-orientation":"horizontal","data-testid":"custom-plugin-type-cloned",description:t.unref(s)("custom_plugin_form.step1.types.cloned.description"),label:t.unref(s)("custom_plugin_form.step1.types.cloned.label"),"selected-value":"cloned"},null,8,["modelValue","description","label"])):t.createCommentVNode("",!0)]),t.createVNode(qe,{modelValue:j.value,"onUpdate:modelValue":X[3]||(X[3]=U=>j.value=U),class:"custom-plugin-form-compare-collapse","data-testid":"compare-deployment-options","trigger-alignment":"leading","trigger-label":t.unref(s)("custom_plugin_form.step1.compare_trigger")},{default:t.withCtx(()=>[t.createElementVNode("div",pz,[t.createElementVNode("table",mz,[t.createElementVNode("thead",null,[t.createElementVNode("tr",null,[X[15]||(X[15]=t.createElementVNode("th",{scope:"col"},null,-1)),fe("installed")?(t.openBlock(),t.createElementBlock("th",gz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.installed")),1)):t.createCommentVNode("",!0),fe("streamed")?(t.openBlock(),t.createElementBlock("th",hz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.streamed")),1)):t.createCommentVNode("",!0),fe("cloned")?(t.openBlock(),t.createElementBlock("th",yz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.cloned")),1)):t.createCommentVNode("",!0)])]),t.createElementVNode("tbody",null,[t.createElementVNode("tr",null,[t.createElementVNode("th",_z,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.header")),1),fe("installed")?(t.openBlock(),t.createElementBlock("td",bz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.installed")),1)):t.createCommentVNode("",!0),fe("streamed")?(t.openBlock(),t.createElementBlock("td",kz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.streamed")),1)):t.createCommentVNode("",!0),fe("cloned")?(t.openBlock(),t.createElementBlock("td",wz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.cloned")),1)):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",Cz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.header")),1),fe("installed")?(t.openBlock(),t.createElementBlock("td",Ez,[t.createElementVNode("ul",Nz,[t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.installed.handler")),1),t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.installed.schema")),1),t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.installed.additional")),1)])])):t.createCommentVNode("",!0),fe("streamed")?(t.openBlock(),t.createElementBlock("td",Sz,[t.createElementVNode("ul",Az,[t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.streamed.handler")),1),t.createElementVNode("li",null,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.streamed.schema")),1)])])):t.createCommentVNode("",!0),fe("cloned")?(t.openBlock(),t.createElementBlock("td",xz,[t.createVNode(t.unref(Ne.ClearIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",Iz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.header")),1),fe("installed")?(t.openBlock(),t.createElementBlock("td",vz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.installed")),1)):t.createCommentVNode("",!0),fe("streamed")?(t.openBlock(),t.createElementBlock("td",Tz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.streamed")),1)):t.createCommentVNode("",!0),fe("cloned")?(t.openBlock(),t.createElementBlock("td",Bz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.cloned")),1)):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",Oz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.sandboxing.header")),1),fe("installed")?(t.openBlock(),t.createElementBlock("td",Pz,[t.createVNode(t.unref(Ne.ClearIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0),fe("streamed")?(t.openBlock(),t.createElementBlock("td",Vz,[t.createVNode(t.unref(l),{keypath:"custom_plugin_form.step1.compare_table.rows.sandboxing.streamed"},{link:t.withCtx(()=>[t.createVNode(t.unref(_e.KExternalLink),{"hide-icon":"",href:t.unref(ra).customPluginSandboxing},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.sandboxing.streamed_link")),1)]),_:1},8,["href"])]),_:1})])):t.createCommentVNode("",!0),fe("cloned")?(t.openBlock(),t.createElementBlock("td",$z,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.sandboxing.cloned")),1)):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",Rz,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.data_plane_reload.header")),1),fe("installed")?(t.openBlock(),t.createElementBlock("td",Lz,[t.createVNode(t.unref(Ne.CheckCircleIcon),{color:`var(--kui-color-text-success, ${t.unref(qy)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0),fe("streamed")?(t.openBlock(),t.createElementBlock("td",Dz,[t.createVNode(t.unref(Ne.ClearIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0),fe("cloned")?(t.openBlock(),t.createElementBlock("td",Mz,[t.createVNode(t.unref(Ne.ClearIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])])):t.createCommentVNode("",!0)])])])])]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["title"])):t.createCommentVNode("",!0),D.fields.pluginType==="installed"?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:1,class:"custom-plugin-form-steps",step:H(2),title:t.unref(s)("custom_plugin_form.step2_files.title")},{default:t.withCtx(()=>[t.createVNode(Be,{accept:[".lua"],"button-text":t.unref(s)("custom_plugin_form.step2_files.schema_file.button_text"),"data-testid":"custom-plugin-schema-upload",help:t.unref(s)("custom_plugin_form.step2_files.schema_file.help"),label:t.unref(s)("custom_plugin_form.step2_files.schema_file.label"),placeholder:I.value&&D.fields.schemaContent?t.unref(s)("custom_plugin_form.step2_files.schema_file.placeholder_edit"):t.unref(s)("custom_plugin_form.step2_files.schema_file.placeholder"),required:!I.value,onFileAdded:X[4]||(X[4]=U=>oe("schema",U)),onFileRemoved:X[5]||(X[5]=U=>Pe("schema"))},null,8,["button-text","help","label","placeholder","required"]),t.createElementVNode("div",Fz,[t.createVNode(Ve,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("custom_plugin_form.step2_files.plugin_modules.label")),1)]),_:1}),t.createVNode($e,{appearance:"warning",message:t.unref(s)("custom_plugin_form.step2_files.plugin_modules.alert")},null,8,["message"])])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),D.fields.pluginType==="streamed"?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:2,class:"custom-plugin-form-steps",step:H(2),title:t.unref(s)("custom_plugin_form.step2_files.title")},{default:t.withCtx(()=>[t.createVNode(Be,{accept:[".lua"],"button-text":t.unref(s)("custom_plugin_form.step2_files.schema_file.button_text"),"data-testid":"custom-plugin-schema-upload",help:t.unref(s)("custom_plugin_form.step2_files.schema_file.help"),label:t.unref(s)("custom_plugin_form.step2_files.schema_file.label"),placeholder:I.value&&D.fields.schemaContent?t.unref(s)("custom_plugin_form.step2_files.schema_file.placeholder_edit"):t.unref(s)("custom_plugin_form.step2_files.schema_file.placeholder"),required:!I.value,onFileAdded:X[6]||(X[6]=U=>oe("schema",U)),onFileRemoved:X[7]||(X[7]=U=>Pe("schema"))},null,8,["button-text","help","label","placeholder","required"]),t.createVNode(Be,{accept:[".lua"],"button-text":t.unref(s)("custom_plugin_form.step2_files.handler_file.button_text"),"data-testid":"custom-plugin-handler-upload",help:t.unref(s)("custom_plugin_form.step2_files.handler_file.help"),label:t.unref(s)("custom_plugin_form.step2_files.handler_file.label"),placeholder:I.value&&D.fields.handlerContent?t.unref(s)("custom_plugin_form.step2_files.handler_file.placeholder_edit"):t.unref(s)("custom_plugin_form.step2_files.handler_file.placeholder"),required:!I.value,onFileAdded:X[8]||(X[8]=U=>oe("handler",U)),onFileRemoved:X[9]||(X[9]=U=>Pe("handler"))},null,8,["button-text","help","label","placeholder","required"])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),D.fields.pluginType==="cloned"?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:3,class:"custom-plugin-form-steps",step:H(2),title:t.unref(s)("custom_plugin_form.step2_clone.title")},{default:t.withCtx(()=>[t.createVNode(Ke,{modelValue:D.fields.sourcePlugin,"onUpdate:modelValue":X[10]||(X[10]=U=>D.fields.sourcePlugin=U),"data-testid":"custom-plugin-clone-select","enable-filtering":"",items:J.value,label:t.unref(s)("custom_plugin_form.step2_clone.select_plugin.label"),placeholder:t.unref(s)("custom_plugin_form.step2_clone.select_plugin.placeholder"),required:""},{"item-template":t.withCtx(({item:U})=>[t.createElementVNode("div",jz,[t.createVNode(t.unref(Sr.PluginIcon),{name:String(U.value),size:20},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(U.label),1)])]),"selected-item-template":t.withCtx(({item:U})=>[t.createElementVNode("div",Uz,[t.createVNode(t.unref(Sr.PluginIcon),{name:String(U.value),size:20},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(U.label),1)])]),_:1},8,["modelValue","items","label","placeholder"])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),D.fields.pluginType==="streamed"?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:4,class:"custom-plugin-form-steps",description:t.unref(s)("custom_plugin_form.step3.description"),step:H(3),title:t.unref(s)("custom_plugin_form.step3.title")},{default:t.withCtx(()=>[t.createVNode(de,{modelValue:D.fields.name,"onUpdate:modelValue":X[11]||(X[11]=U=>D.fields.name=U),modelModifiers:{trim:!0},"data-testid":"custom-plugin-name",help:t.unref(s)("custom_plugin_form.step3.name.help"),label:t.unref(s)("custom_plugin_form.step3.name.label"),placeholder:t.unref(s)("custom_plugin_form.step3.name.placeholder"),readonly:D.readonly,required:"",type:"text"},null,8,["modelValue","help","label","placeholder","readonly"])]),_:1},8,["description","step","title"])):t.createCommentVNode("",!0),D.fields.pluginType==="cloned"?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:5,class:"custom-plugin-form-steps",description:t.unref(s)("custom_plugin_form.step3.description"),step:H(3),title:t.unref(s)("custom_plugin_form.step3.title")},{default:t.withCtx(()=>[t.createVNode(de,{modelValue:D.fields.aliasName,"onUpdate:modelValue":X[12]||(X[12]=U=>D.fields.aliasName=U),modelModifiers:{trim:!0},"data-testid":"custom-plugin-alias-name",help:t.unref(s)("custom_plugin_form.step3.alias_name.help"),label:t.unref(s)("custom_plugin_form.step3.alias_name.label"),placeholder:t.unref(s)("custom_plugin_form.step3.alias_name.placeholder"),readonly:D.readonly,required:"",type:"text"},null,8,["modelValue","help","label","placeholder","readonly"]),t.createVNode(de,{modelValue:D.fields.priority,"onUpdate:modelValue":X[13]||(X[13]=U=>D.fields.priority=U),modelModifiers:{trim:!0},"data-testid":"custom-plugin-priority",label:t.unref(s)("custom_plugin_form.step3.priority.label"),"label-attributes":{info:t.unref(s)("custom_plugin_form.step3.priority.tooltip")},readonly:D.readonly,type:"number"},{help:t.withCtx(()=>[t.createVNode(t.unref(l),{keypath:"custom_plugin_form.step3.priority.help.text"},{link:t.withCtx(()=>[t.createVNode(t.unref(_e.KExternalLink),{"hide-icon":"",href:t.unref(ra).pluginPriority},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("custom_plugin_form.step3.priority.help.link")),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["modelValue","label","label-attributes","readonly"])]),_:1},8,["description","step","title"])):t.createCommentVNode("",!0)],64))]),_:1},8,["can-submit","config","entity-type","error-message","form-fields","is-readonly","slideout-deck-entity-type","slideout-fetch-url","slideout-request-method"])])}}}),[["__scopeId","data-v-0c1e017a"]]),zz=(e,n)=>({type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label",items:{type:"select",values:e,selectOptions:{hideNoneSelectedText:!0},...n?.[0]!=null?{default:n[0]}:{}}}),Hz={class:"referable-field-item"},Wz=24,XC=xe(t.defineComponent({__name:"ReferableFieldItem",props:{field:{},isLast:{type:Boolean}},setup(e){const n=e,{formatPluginFieldLabel:r}=it.usePluginHelpers(),o=t.computed(()=>n.field.replace(/\./g,"-")),i=t.computed(()=>n.field.replace(/^[cC]onfig\./,"").split(".").map(s=>r(s)).join(".")),a=()=>{if(!o.value)return;const s=`label[for="${o.value}"]`,l=document.querySelector(s)||document.getElementById(o.value);if(!l)return;const c=Math.max(0,l.getBoundingClientRect().top+window.scrollY-Wz),d=()=>{l.click?.()};window.addEventListener("scrollend",d,{once:!0}),window.scrollTo({top:c,behavior:"smooth"})};return(s,l)=>(t.openBlock(),t.createElementBlock("span",Hz,[t.createElementVNode("span",{class:"referable-field-link",role:"button",tabindex:"0",onClick:a},t.toDisplayString(i.value),1),e.isLast?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createTextVNode(", ")],64))]))}}),[["__scopeId","data-v-949a9ea1"]]),Yz={key:0},Jz=xe(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{i18n:{t:r},i18nT:o}=it.useI18n(),i=t.computed(()=>{const a=[];if(n.rules.atLeastOneOf)for(const s of n.rules.atLeastOneOf)a.push({key:"plugins.form.field_rules.at_least_one_of",fields:s});if(n.rules.onlyOneOf)for(const s of n.rules.onlyOneOf)a.push({key:"plugins.form.field_rules.only_one_of",fields:s});if(n.rules.mutuallyRequired)for(const s of n.rules.mutuallyRequired)a.push({key:"plugins.form.field_rules.mutually_required",fields:s});return a});return(a,s)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(l,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.value,({key:c,fields:d},u)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${u}`},[t.createVNode(t.unref(o),{keypath:c},{parameters:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d,(f,p)=>(t.openBlock(),t.createBlock(XC,{key:`alert-field-${f}`,field:f,"is-last":p===d.length-1},null,8,["field","is-last"]))),128))]),_:2},1032,["keypath"])]))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Yz,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(c,d)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${d}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c,(u,f)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${d}-combination-${f}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(p,m)=>(t.openBlock(),t.createBlock(XC,{key:`only-one-mutually-field-${p}`,field:p,"is-last":m===u.length-1},null,8,["field","is-last"]))),128))]))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-5f9ff453"]]);function Xz(e){if(e.length===0)return"";if(e.length===1){const i=yn(e[0]);return yt(...i.slice(0,-1))}const n=e.map(i=>yn(i)),r=Math.min(...n.map(i=>i.length)),o=[];for(let i=0;i<r-1;i++){const a=n[0][i];if(n.every(s=>s[i]===a))o.push(a);else break}return yt(...o)}function fg(e){return"at_least_one_of"in e?e.at_least_one_of:"mutually_required"in e?e.mutually_required:"mutually_exclusive"in e?e.mutually_exclusive:null}function Zz(e,n){if(!n)return e;const r=n+ps;return e.map(o=>o.startsWith(r)?o.slice(r.length):o)}function Qz(e,n){const r=fg(e),o=Zz(r,n);return"at_least_one_of"in e?{at_least_one_of:o}:"mutually_required"in e?{mutually_required:o}:{mutually_exclusive:o}}function e5(e){const n=[],r=new Map;for(const o of e){const i=fg(o);if(!i){n.push(o);continue}const a=Xz(i);if(!a){n.push(o);continue}const s=Qz(o,a);r.has(a)||r.set(a,[]),r.get(a).push(s)}return{keep:n,move:r}}function t5(e,n,r){const o=yn(n);let i=e;for(const a of o){const s=i.fields.find(c=>Object.keys(c)[0]===a);if(!s)return;const l=s[a];if(l.type!=="record")return;i=l}i.entity_checks=[...i.entity_checks||[],...r]}function ZC(e){if(e.entity_checks?.length){const{keep:n,move:r}=e5(e.entity_checks);e.entity_checks=n.length?n:void 0;for(const[o,i]of r)t5(e,o,i)}for(const n of e.fields){const r=Object.values(n)[0];r.type==="record"&&ZC(r)}}function n5(e){const n=JSON.parse(JSON.stringify(e)),r={fields:n.fields};return ZC(r),n.fields=r.fields,n}function r5(e,n){const r=Mn[e];if(!r||!r.fieldRules)return n;const o=o5(r.fieldRules),i={...n};return i.fields=i.fields.map(a=>{if(Object.keys(a)[0]==="config"){const l=a.config.entity_checks||[],c=f=>{const m=[...fg(f)??[]].slice().sort();return`${Object.keys(f)[0]}:${m.join(",")}`},d=new Set(l.map(c)),u=o.filter(f=>{const p=c(f);return d.has(p)?!1:(d.add(p),!0)});return{config:{...a.config,entity_checks:[...l,...u]}}}return a}),i}function o5(e){const n=[],r=o=>o.startsWith("config.")?o.substring(7):o;return e.atLeastOneOf&&e.atLeastOneOf.forEach(o=>{n.push({at_least_one_of:o.map(r)})}),e.onlyOneOf&&e.onlyOneOf.forEach(o=>{n.push({mutually_exclusive:o.map(r)})}),e.mutuallyRequired&&e.mutuallyRequired.forEach(o=>{n.push({mutually_required:o.map(r)})}),e.onlyOneOfMutuallyRequired&&e.onlyOneOfMutuallyRequired.forEach(o=>{if(o.forEach(i=>{n.push({mutually_required:i.map(r)})}),o.length>1)for(let i=0;i<o.length;i++)for(let a=i+1;a<o.length;a++){const s=o[i].map(r),l=o[a].map(r);s.forEach(c=>{l.forEach(d=>{n.push({mutually_exclusive:[c,d]})})})}}),n}const i5={class:"kong-ui-entities-plugin-form"},a5={key:1,class:"entity-form"},s5={class:"plugin-config-empty-state"},l5=xe(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1,default:void 0},developer:{type:Boolean,default:!1}},emits:["loading","model-updated","showNewPartialModal","globalAction","click:learn-more","click:create-entity","validity-change"],setup(e,{emit:n}){const r=n,o=e,i=t.computed(()=>{if(o.config.app!=="konnect")return!1;const de=o.config;return!!de.isKonnectManagedRedisEnabled&&de.isCloudGateway===!0}),a=t.inject(Bn.KM_2306_CONDITION_FIELD_314,!1),s=t.inject(Bn.KHCP_20393_IDENTITY_PRINCIPALS_UI,!1),{axiosInstance:l}=pe.useAxios(o.config?.axiosRequestConfig),{parseSchema:c}=it.useSchemas({entityId:o.entityMap.focusedEntity?.id||void 0,credential:o.credential,enableRedisPartial:o.enableRedisPartial,experimentalRenders:o.config.app==="konnect"?o.config.experimentalRenders:void 0}),{convertToDotNotation:d,unFlattenObject:u,dismissField:f,isObjectEmpty:p,unsetNullForeignKey:m}=it.usePluginHelpers(),{shouldUseFreeForm:h,getFreeFormComponent:y}=it.useFreeFormResolver(),g=t.inject(pe.PLUGIN_FORM_LAYOUT_STATE),_=de=>{g&&(g.value=de)},{objectsAreEqual:k}=pe.useHelpers(),{i18n:{t:b}}=Qe(),N=de=>{let Z=de;return o.config.app==="konnect"&&(Z=Z.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||"")),Z.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")},C=(de,Z)=>{let U=`${o.config.apiBaseUrl}${nt.form[o.config.app].entityGetOne}`;return U=N(U),U=U.replace(/{entity}/gi,de),U=U.replace(/{id}/gi,Z),U},w=de=>{let Z=`${o.config.apiBaseUrl}${nt.form[o.config.app].entityGetAll}`;return Z=N(Z),Z=Z.replace(/{entity}/gi,de),Z},S=(de,Z,U)=>{const ne=C(de,Z);return l.get(ne,U)},x=(de,Z)=>{const U=w(de);return o.config.app==="konnect"?l.get(U).then(ne=>{const{data:{data:L}}=ne;if(delete Z.size,delete Z.offset,L.length&&Object.keys(Z).length===1){const M=Object.keys(Z)[0],Y=L.filter(ae=>ae[M]?!!ae[M].toLowerCase().includes(Z[M].toLowerCase()):!1);ne.data.data=Y}return ne}):l.get(U,{params:Z})},I=(de,Z,U)=>{const ne=w(de);if(o.config.app==="konnect"){const{size:L,offset:M,...Y}=Z;if(de==="consumer_groups")return l.get(ne,{params:{size:1e3},signal:U}).then(me=>{const{data:{data:Ae}}=me;if(Ae.length&&Object.keys(Y).length===1){const ze=Object.keys(Y)[0],ot=Ae.filter(F=>F[ze]?!!F[ze].toLowerCase().includes(Y[ze].toLowerCase()):!1);me.data.data=ot}return me});const ae={size:L,offset:M};for(const me of Object.keys(Y))ae.filter={[me]:{contains:Y[me]}};return l.get(ne,{params:ae,signal:U})}return l.get(ne,{params:Z,signal:U})},T=(de,Z=50)=>{const U=w(de);return l.get(U,{params:{size:Z}})};t.provide(Je.FORMS_API_KEY,{getOne:S,getAll:x,getAllV2:I,peek:T});const A=t.shallowReactive({...o.config});t.watch(()=>o.config,de=>{Object.assign(A,de)}),t.provide(Je.FORMS_CONFIG,A);const v=Ql();t.provide(Je.REDIS_CREATE_SLIDEOUT,{component:t.markRaw(mf.RedisConfigurationFormSlideout),toast:de=>v(de)});const P=t.ref(""),O=t.ref(),R=t.shallowRef(),Q=t.ref(null),fe=t.ref({}),H=t.reactive({}),j=t.reactive({}),D=t.computed(()=>Q.value?.options),ee=t.computed(()=>{const de=r5(j.name,o.rawSchema);return n5(de)}),K=t.ref(!1),J=t.ref(),ce=(de,Z)=>{K.value=de??"",J.value=Z},z=de=>{J.value?.(de),K.value=!1},oe=de=>{if(!de){O.value=void 0,R.value=void 0,P.value="",_(!1);return}const Z=o.schema?._sourcePlugin||de;O.value=MC(Z),R.value=h(Z,o.engine)?y(Z)??cg:void 0,P.value=Je.getSharedFormName(Z),_(!!R.value)},Pe=de=>{const Z={...o.schema},U=j,ne=H,L=Object.keys(U),M={};if(!p(fe.value))for(let ae=0;ae<fe.value?.fields?.length;ae++)Z[fe.value.fields[ae].model]=fe.value.fields[ae];Je.customFields.forEach(ae=>{Z[ae]&&(Z[ae].fields.forEach(me=>{me.fields&&me.fields.forEach(Ae=>{Z[Ae.model]=Ae}),me.model&&(Z[me.model]=me)}),delete Z[ae])}),L.forEach(ae=>{if(!Z[ae]){ae==="partials"&&(M[ae]=U[ae]);return}const me=Z[ae];let Ae=U[ae];const ze=ne[ae],ot=Array.isArray(Ae)?"array":typeof Ae,F=me?me.valueType:null,te=me?me.valueArrayType:null,G=me?me.transform:null;if(Ae==null&&ze==null&&!me.submitWhenNull)return;if(me){if(F&&ot!==F)switch(F){case"array":ot==="string"&&Ae.length&&(Ae=Ae.split(",").map(Ie=>{if(Ie=Ie.trim(),te==="string")return String(Ie);if(te==="number")return Number(Ie);if(te==="boolean"){if(typeof Ie=="string")return Ie.toLowerCase()==="true"||Ie==="1";if(typeof Ie=="number")return Ie===1}return Ie})),(!Ae||!Ae.length)&&(Ae=me.submitWhenNull?null:[]);break;case"number":me.referenceable!==!0&&(Ae=Number(Ae));break;case"boolean":ot==="string"&&(Ae=Ae.toLowerCase()==="true"||Ae==="1"),ot==="number"&&(Ae=Ae===1);break;case"string":Ae=Ae==null?"":String(Ae);break}else F==="array"&&(!Ae||!Ae.length?Ae=me.submitWhenNull?null:[]:me.inputAttributes?.type==="number"&&(Ae=Ae.map(Ie=>Number(Ie))));if(me.type==="array"&&me.nestedFields){const Ie=tt=>{Object.keys(tt).forEach(ge=>{tt[ge]&&typeof tt[ge]=="object"&&!Array.isArray(tt[ge])&&tt[ge]!==null?Ie(tt[ge]):(tt[ge]===void 0||tt[ge]===null||typeof tt[ge]=="number"&&isNaN(tt[ge])||typeof tt[ge]=="string"&&tt[ge].trim().length===0)&&delete tt[ge]})};Ae&&typeof Ae=="object"&&Ie(Ae)}me.type==="object-advanced"&&me.fields&&Ae!==null&&(Object.entries(Ae).length===0?Ae=null:Object.keys(Ae).forEach(Ie=>{Array.isArray(Ae[Ie])||(Ae[Ie]=Ae[Ie].split(","))}))}let le=d(ae);if(me.fieldNameHasDashes){const[Ie,...tt]=le.split(".").reverse();le=[Ie.replace(/_/g,"-"),...tt].reverse().join(".")}if(F==="object-expand"){let Ie;[le,Ie]=le.split(".");let tt={};M[le]&&(tt=M[le]),tt[Ie]=Ae,Ae=tt}ze!==void 0&&Ae===""&&Ae!==ze?M[le]=F==="object"?{}:null:me.type==="checklist"&&Ae===""?M[le]=[]:Ae!==""&&(M[le]=Ae),M[le]=G?G(Ae):M[le],m(le,M)});const Y=u(M);if(R.value){if(de&&de.length)for(const ae of de)delete Y[ae];Object.assign(Y,Be.value)}return Y},Ee=(de,Z={})=>{f(j,Z,de,o.editing),r("model-updated",{model:j,originalModel:H,data:Pe()})},Ge=(de,Z)=>{const U={[Z]:de};typeof o.schema[Z]?.modelTransformer=="function"&&(U[Z]=o.schema[Z].modelTransformer(de));const ne=Object.assign({},j,U);Object.assign(j,ne),r("model-updated",{model:j,originalModel:H,data:Pe()})},se=de=>{r("validity-change",de)},X=(de,Z)=>{Object.keys(de).forEach(U=>{let ne=Z?`${Z}-${U}`:U,L=o.schema[ne];if(!L){const ae=Z?`${Z}-${U.replace(/-/g,"_")}`:U.replace(/-/g,"_");o.schema[ae]?.fieldNameHasDashes&&(ne=ae,L=o.schema[ne]),Z&&o.schema[Z]?.keyFromObject===U&&(ne=Z,L=o.schema[ne])}const M=de[U],Y=typeof M;if(L&&L.type==="object-advanced"&&!M){j[ne]={},H[ne]={};return}if(Array.isArray(M)){j[ne]=JSON.parse(JSON.stringify(M)),H[ne]=JSON.parse(JSON.stringify(M));return}if(Y==="object"&&M&&!M.length)return X(M,ne);if(Y==="object"&&M&&M.length&&L.type==="input"){j[ne]=M.join(", "),H[ne]=M.join(", ");return}j[ne]=M,H[ne]=M}),r("model-updated",{model:j,originalModel:H,data:Pe()})},he=(de,Z)=>{if(!Z)return de;if(Array.isArray(de)){const L=Z.elements;return L?de.map(M=>he(M,L)):de}if(!de||typeof de!="object")return de;if(Z.type==="map"&&Z.values){const L=Z.values,M={};for(const Y of Object.keys(de))M[Y]=he(de[Y],L);return M}if(!Array.isArray(Z.fields))return de;const U=new Map;for(const L of Z.fields){const M=L&&Object.keys(L)[0];M&&U.set(M,L[M])}const ne={};for(const L of Object.keys(de)){const M=U.get(L);M&&(ne[L]=he(de[L],M))}return ne},ve=()=>{const de=o.rawSchema?.fields;return Array.isArray(de)?de.find(U=>U?.config)?.config:void 0},je=new Set(["datakit"]),qe=t.computed(()=>o.schema?._sourcePlugin||j.name),Be=t.shallowRef(o.record),Ve=(de,Z)=>{const U=je.has(qe.value)?de:{...de,config:he(de.config,ve())};Be.value=U;const ne={...j};for(const L of Z||[])delete ne[L];r("model-updated",{model:{...ne,...U},originalModel:H,data:Pe(Z)})},$e=t.ref(!0),Ke=()=>{if(o.record&&o.schema&&(X({enabled:o.record.enabled??!0,...o.record.instance_name&&{instance_name:o.record.instance_name||""},...a&&o.record.condition!=null&&{condition:o.record.condition},...o.record.protocols&&{protocols:o.record.protocols},...o.record.tags&&{tags:o.record.tags}}),o.credential?((o.record.consumer_id||o.record.consumer)&&X({consumer_id:o.record.consumer_id||o.record.consumer}),X(o.record)):o.record.config&&((o.record.consumer_id||o.record.consumer||o.record.service_id||o.record.service||o.record.route_id||o.record.route||o.record.consumer_group_id||o.record.consumer_group)&&X({service_id:o.record.service_id||o.record.service,route_id:o.record.route_id||o.record.route,consumer_id:o.record.consumer_id||o.record.consumer,consumer_group_id:o.record.consumer_group_id||o.record.consumer_group}),o.record.partials&&Ee("redis",{partials:o.record.partials}),R.value?Ve(o.record):X(o.record.config,"config"))),Object.keys(o.entityMap).length&&!o.entityMap.global&&o.schema){const de={};for(const Z in o.entityMap){const U=o.entityMap[Z].id,ne=o.entityMap[Z].idField,L=ne==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ne).replace("_","-"));Object.prototype.hasOwnProperty.call(j,L)&&(de[L]=U)}X(de)}if(o.entityMap.consumer?.id&&o.schema&&o.credential){const de={};Object.prototype.hasOwnProperty.call(j,"consumer")&&(de.consumer=o.entityMap.consumer.id),X(de)}$e.value=!1};return t.watch($e,de=>{r("loading",de)}),t.watch(()=>o.schema,(de,Z)=>{if(k(de||{},Z||{}))return;const U=c(de,void 0,void 0,o.engine);Object.assign(j,U.model),fe.value={fields:fe.value?.fields?.map(ne=>({...ne,disabled:ne.disabled||!1}))},Object.assign(H,JSON.parse(JSON.stringify(U.model))),oe(U.model.name),Ke()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{Q.value=c(o.schema,void 0,void 0,o.engine),Object.assign(j,Q.value?.model||{}),fe.value=Q.value?.schema||{},oe(Q.value?.model?.name),Ke()}),t.onBeforeUnmount(()=>{_(!1)}),(de,Z)=>{const U=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",i5,[$e.value?(t.openBlock(),t.createBlock(U,{key:0,type:"form"})):j.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",a5,[R.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(R.value),{key:0,developer:e.developer,"field-renderers":O.value?.fieldRenderers,"form-model":j,"form-schema":fe.value,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,model:e.record,"on-form-change":Ve,"on-validity-change":se,"plugin-name":j.name,"render-rules":O.value?.renderRules,schema:ee.value,"onClick:createEntity":Z[0]||(Z[0]=ne=>de.$emit("click:create-entity",ne)),"onClick:learnMore":Z[1]||(Z[1]=ne=>de.$emit("click:learn-more",ne)),onGlobalAction:Z[2]||(Z[2]=(ne,L)=>de.$emit("globalAction",ne,L))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Je.AUTOFILL_SLOT_NAME),fn:t.withCtx(ne=>[ne.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(qa.VaultSecretPickerProvider),t.mergeProps({key:0},ne,{onOpen:ce}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["developer","field-renderers","form-model","form-schema","is-editing","is-konnect-managed-redis-enabled","model","plugin-name","render-rules","schema"])):P.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Je.sharedForms)[P.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":j,"form-options":D.value,"form-schema":fe.value,"identity-principals-ui-enabled":t.unref(s),"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,"on-model-updated":Ge,"on-partial-toggled":Ee,"show-new-partial-modal":ne=>de.$emit("showNewPartialModal",ne),"onClick:createEntity":Z[3]||(Z[3]=ne=>de.$emit("click:create-entity",ne)),"onClick:learnMore":Z[4]||(Z[4]=ne=>de.$emit("click:learn-more",ne))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Je.AUTOFILL_SLOT_NAME),fn:t.withCtx(ne=>[ne.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(qa.VaultSecretPickerProvider),t.mergeProps({key:0},ne,{onOpen:ce}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","identity-principals-ui-enabled","is-editing","is-konnect-managed-redis-enabled","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Je.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,model:j,options:D.value,schema:fe.value,onModelUpdated:Ge,onPartialToggled:Ee,onRefreshModel:Pe,onShowNewPartialModal:Z[5]||(Z[5]=ne=>de.$emit("showNewPartialModal",ne))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",s5,t.toDisplayString(t.unref(b)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[t.unref(Mn)[j.name]?.fieldRules&&(o.config.isNewOtelSchema||j.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(Jz,{rules:t.unref(Mn)[j.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Je.AUTOFILL_SLOT_NAME),fn:t.withCtx(ne=>[ne.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(qa.VaultSecretPickerProvider),t.mergeProps({key:0},ne,{onOpen:ce}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","is-konnect-managed-redis-enabled","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(qa.VaultSecretPicker),{config:o.config,setup:K.value,onCancel:Z[6]||(Z[6]=()=>K.value=!1),onProceed:z},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-9ddd337d"]]),c5={key:1},d5=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,r)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",c5,[t.renderSlot(n.$slots,"default")]))}}),u5={key:0},f5={class:"plugin-form-actions"},p5={key:0,class:"button-customize-deck-wrapper"},m5=xe(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:null},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null},enableRedisPartial:{type:Boolean,default:!1},scopedEntitiesPermissions:{type:Object,default:null},engine:{type:String,required:!1,default:void 0}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction","click:create-entity","click:learn-more"],setup(e,{emit:n}){const r=t.inject(Bn.KM_2306_CONDITION_FIELD_314,!1),o=t.inject(Bn.KM_2485_CLONED_PLUGINS,!1),i=t.ref(!1);t.provide(pe.PLUGIN_FORM_LAYOUT_STATE,i);const a=n,s=e,l=Ar.useRouter(),{i18n:{t:c}}=it.useI18n(),{customSchemas:d,typedefs:u}=it.useSchemas({app:s.config.app,credential:s.credential,experimentalRenders:s.config.app==="konnect"?s.config.experimentalRenders:void 0}),{formatPluginFieldLabel:f}=it.usePluginHelpers(),{shouldUseFreeForm:p}=it.useFreeFormResolver(),{getMessageFromError:m}=pe.useErrors(),{capitalize:h}=pe.useStringHelpers(),{objectsAreEqual:y}=pe.useHelpers(),{axiosInstance:g}=pe.useAxios(s.config?.axiosRequestConfig),{getClonedPlugin:_}=it.useCustomPluginApi({axiosInstance:pe.useAxios({...s.config?.axiosRequestConfig??{},konnect:{bypassGlobal404Handler:!0}}).axiosInstance,apiBaseUrl:s.config.apiBaseUrl,app:s.config.app,workspace:s.config.workspace,controlPlaneId:s.config.controlPlaneId}),k=t.ref(!1),b=t.computed(()=>!!s.pluginId),N=t.computed(()=>s.pluginId?pe.EntityBaseFormType.Edit:pe.EntityBaseFormType.Create),C=t.ref(void 0),w=t.ref(void 0),S=t.computed(()=>!!(s.credential&&s.config.entityId)),x=t.ref(void 0),I=t.ref({}),T=t.ref(),A=t.ref(),v=t.inject(Bn.KM_2503_CUSTOM_PLUGIN_FREEFORM,!1),P=t.ref(null),O=t.computed(()=>P.value!==null),R=t.computed(()=>O.value&&P.value?P.value:s.pluginType),Q=t.computed(()=>{if(s.engine)return s.engine;if(!(!v||!Ae.value))return O.value&&P.value?p(P.value)?"freeform":"vfg":"freeform"}),fe=t.computed(()=>p(s.pluginType,Q.value));t.provide(oa,{redisType:T,redisPath:A,isEditing:b.value});const H=[];t.provide(Jm,ge=>(H.push(ge),()=>{const we=H.indexOf(ge);we!==-1&&H.splice(we,1)}));const j=t.ref(!1),{isDeckEnabled:D,deckCustomizationOptions:ee,deckCalloutPreferenceKey:K}=pe.useBaseFormDeckOptions(()=>s.config,pe.SupportedEntityType.Plugin),J=t.ref(!1),ce=t.reactive({enabled:!0,protocols:[],tags:[]}),z=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),oe=t.ref([{title:c("view_configuration.json"),hash:"#json"},{title:c("view_configuration.yaml"),hash:"#yaml"}]);s.config.app==="konnect"&&oe.value.splice(1,0,{title:c("view_configuration.terraform"),hash:"#terraform"}),D.value&&oe.value.push({title:c("view_configuration.deck"),hash:"#deck"});const Pe=t.ref(oe.value[0].hash),Ee=t.ref(""),Ge=t.computed(()=>{if(S.value){let we=nt.form[s.config.app].credential[N.value];return we=we.replace(/{resourceEndpoint}/gi,ve.value),we}let ge;return s.config.entityType&&s.config.entityId?ge=nt.form[s.config.app].edit.forEntity.replace(/{entityType}/gi,s.config.entityType).replace(/{entityId}/gi,s.config.entityId):ge=nt.form[s.config.app].edit.all,s.config.app==="konnect"&&Mn[s.pluginType]?.useUIData?`${ge}?__ui_data=true`:ge}),se=()=>{k.value=!k.value},X=t.computed(()=>{const ge=s.config.entityType==="consumers"&&s.config.entityId||x.value?.consumer?.id,we=s.config.entityType==="consumer_groups"&&s.config.entityId||x.value?.consumer_group?.id,V=s.config.entityType==="services"&&s.config.entityId||x.value?.service?.id,ue=s.config.entityType==="routes"&&s.config.entityId||x.value?.route?.id;if(!(ge||we||V||ue))return{global:{entity:q.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const re={};return V&&(re.service={entity:q.PluginScope.SERVICE,entityEndpoint:"services",id:V,idField:To.SERVICE}),ue&&(re.route={entity:q.PluginScope.ROUTE,entityEndpoint:"routes",id:ue,idField:To.ROUTE}),ge&&(re.consumer={entity:q.PluginScope.CONSUMER,entityEndpoint:"consumers",id:ge,idField:To.CONSUMER}),we&&(re.consumer_group={entity:q.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:we,idField:To.CONSUMER_GROUP}),s.config.entityType&&(re.focusedEntity={entity:q.PluginScope[s.config.entityType.substring(0,s.config.entityType.length-1).toUpperCase()],entityEndpoint:s.config.entityType,id:s.config.entityId,idField:To[s.config.entityType.substring(0,s.config.entityType.length-1).toUpperCase()]}),re}),he=t.reactive({name:{default:s.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:c("plugins.form.fields.enabled.label"),textOn:c("plugins.form.fields.enabled.on_text"),textOff:c("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:s.hideScopeSelection&&(s.hideScopeSelection||N.value===pe.EntityBaseFormType.Create&&s.config.entityId)?"foreign":"selectionGroup",disabled:s.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:c("plugins.form.scoping.global.label"),description:c("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:c("plugins.form.fields.protocols.help"),label:c("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:c("plugins.form.fields.instance_name.label"),inputType:"text",help:c("plugins.form.fields.instance_name.help")},tags:u.tags,...r?{condition:{default:"",type:"input",label:c("plugins.form.fields.condition.label"),inputType:"text",help:c("plugins.form.fields.condition.tooltip"),placeholder:c("plugins.form.fields.condition.placeholder")}}:{}}),ve=t.computed(()=>{const ge=s.developer?"developers":"consumers",we=Br[s.pluginType]?.endpoint||"/plugins";return`${ge}/${s.config.entityId}${s.developer?"/credentials":""}${we}`}),je=ge=>{const we=Array.from(new Set(ge.map(V=>typeof V)));return we.length>1?"string":we[0]},qe=(ge,we,V,ue)=>{let re=we&&we.fields||[];const ie=d[R.value],Re=Br[s.pluginType]?.schema?.fields;return Array.isArray(re)&&(re=re.reduce((Oe,ye)=>{const be=Object.keys(ye)[0];return be.match(/-/g)?Oe[be.replace(/-/g,"_")]={...ye[be],fieldNameHasDashes:!0}:Oe[be]=ye[be],Oe},{})),Object.keys(re).sort().forEach(Oe=>{const ye=re[Oe];ye.type==="set"&&!(fe.value&&ye.elements.one_of)&&(ye.type="array");const be=ge?`${ge}-${Oe}`:`${Oe}`;if(ie?.fieldsToDelete?.includes(be)){Sb(V,be);return}if(Object.prototype.hasOwnProperty.call(ye,"overwrite")||ye.hidden)return;if(ye.type==="table")return qe(be,ye.schema,V);if(ye.fields)return ue&&ye.type==="record"?(V[be]={type:"object",model:Oe,schema:{fields:Object.values(qe(be,ye,{},!0))}},V):qe(be,ye,V);if(V[be]={id:be,model:Oe},V[be].type=ye.type==="boolean"?"checkbox":"input",V[be].required=ye.required,V[be].referenceable=ye.referenceable,be.startsWith("config-"))if(!ue&&ye.type==="array"&&(Ee.value=be),ue&&Ee.value&&be.startsWith(Ee.value)){const rt=be.slice(Ee.value.length+1);V[be].label=rt.split("-").map(f).join(".")}else V[be].label=f(be);if((ge==="config"||ge.startsWith("config-"))&&re[Oe]?.description&&(V[be].help=Ua.sanitize(Dl.marked.parse(re[Oe].description,{mangle:!1,headerIds:!1}))),ye.type==="map"){if(V[be].type="object-advanced",V[be].values=ye.values,ye.values.type==="array"){const{type:rt}=ye.values.elements||{};V[be].schema={fields:[{schema:{fields:[{...ft,model:be,valueArrayType:rt==="integer"?"number":rt||"string",inputAttributes:{...ft.inputAttributes,type:rt==="integer"?"number":"text",inputMode:rt==="integer"?"numeric":"text"}}]}}]}}else ye.values.fields&&(V[be].schema={fields:[{type:"object",model:"object",schema:{fields:ye.values.fields.map(rt=>{const Ze=Object.keys(rt)[0];return{model:Ze,type:"input",label:h(Ze),placeholder:Ze,inputType:rt[Ze].type}})}}]});return V}if(ye.enum&&ye.type==="array"&&(V[be].type="checklist",V[be].values=ye.enum,V[be].multi=!0,V[be].multiSelect=!0),ye.one_of&&ye.type!=="array"&&(V[be].type="select",V[be].values=ye.one_of,V[be].selectOptions={noneSelectedText:c("plugins.form.no_selection")}),ye.elements&&ye.type==="array"){const rt=ye.elements;if(V[be].referenceable=rt.referenceable,V[be].elements=rt,["string","integer","number"].includes(rt.type)&&!rt.one_of){const{id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o}=V[be],{inputAttributes:ja,...Ly}=JSON.parse(JSON.stringify(ft));ja.type=rt.type==="string"?"text":"number",V[be]={id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o,inputAttributes:ja,...Ly}}else if(["string","integer","number"].includes(rt.type)&&rt.one_of){if(ue){const{id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o}=V[be];V[be]={id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o,...zz(rt.one_of,ye.default)}}}else if(rt.type==="array"){const{id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o,elements:ja}=V[be],{inputAttributes:Ly,...V7}=JSON.parse(JSON.stringify(ft));V[be]={id:Ze,help:He,label:Ye,hint:Bt,values:pt,referenceable:Ut,model:_o,elements:ja,inputAttributes:Ly,...V7}}}if(ye.hint&&(V[be].hint=Ua.sanitize(ye.hint)),ie&&!ie.overwriteDefault&&Object.keys(ie).forEach(rt=>{if(rt===be){const{help:Ze,label:He,hint:Ye,values:Bt,referenceable:pt,elements:Ut}=V[be],{help:_o,...ja}=ie[rt];V[be]={help:Ze,label:He,hint:Ye,values:Bt,referenceable:pt,elements:Ut,...ja},typeof _o=="string"&&(V[be].help=Ua.sanitize(Dl.marked.parse(_o,{mangle:!1,headerIds:!1})))}}),ye.type==="array"&&ye.elements?.type==="record"&&Array.isArray(ye.elements.fields)){let rt={};for(const He of ye.elements.fields)rt={...rt,...He};const Ze=V[be]?.items?.schema?.fields;if(Array.isArray(Ze))for(const He of V[be].items.schema.fields){const Ye=rt[He.model]?.description;He.help===void 0&&typeof Ye=="string"&&(He.help=Ua.sanitize(Dl.marked.parse(Ye,{mangle:!1,headerIds:!1})))}if(Ze||(V[be].type="array",V[be].newElementButtonLabelClasses="kong-form-new-element-button-label",V[be].fieldClasses="array-card-container-wrapper",V[be].itemContainerComponent="FieldArrayCardContainer",V[be].items={type:"object",schema:{fields:Object.values(qe(be,ye.elements,{},!0))}},V[be].items.schema.fields.forEach(He=>{for(const Ye of ye.elements.fields){const Bt=Object.keys(Ye)[0],pt=He.id?.split?.("-")??[];if(pt[pt.length-1]===Bt){He.model=Bt,He.label=f(Bt);break}}}),ye.elements.type==="record"&&(V[be].nestedFields=!0)),!V[be].nestedFields)V[be].items.default=()=>ye.elements.fields.reduce((He,Ye)=>{const Bt=Object.keys(Ye)[0];return He[Bt]=Ye[Bt].default,He},{});else{const He=(Ye,Bt)=>{if(Ye.type==="object"){Ye.model&&(Bt[Ye.model]={});for(const pt of Ye.schema.fields)He(pt,Ye.model?Bt[Ye.model]:Bt)}else Ye.model&&(Bt[Ye.model]=Ye.default)};V[be].items.default=()=>{const Ye={};return He(V[be].items,Ye),Ye}}}if(S.value&&Re){for(let rt=0;rt<Re.length;rt++)if(Re[rt][be]){V[be]={...V[be],...Re[rt][be]};break}}if(ye.required&&ye.type!=="boolean"&&(V[be].required=!0,V[be].selectOptions={hideNoneSelectedText:!0}),ye.required&&ye.type==="boolean"&&(V[be].default=ye.default??!1),ye.default!=null&&typeof ye.default!="object"&&ye.default!=="function"&&(V[be].default=ye.default),V[be].type==="input"){["string","number"].includes(typeof V[be].default)&&s.config.app==="konnect"&&(V[be].placeholder=`Default: ${V[be].default===""?"<empty string>":V[be].default}`);const{type:rt}=ye.elements||{};rt&&(V[be].valueArrayType=rt==="integer"?"number":rt),V[be].inputType=ye.type==="array"||ye.type==="string"?ye.encrypted?"password":"text":ye.type}let Ct="string";ye.enum?Ct=je(ye.enum):ye.type==="boolean"?Ct="boolean":ye.type==="number"||ye.type==="integer"?(Ct="number",V[be].inputType="number"):ye.type==="array"?(Ct="array",V[be].default=ye.default,ye.len_min>0&&(V[be].submitWhenNull=!0)):ye.type==="foreign"?Ct="object":ye.default&&Array.isArray(ye.default)?(Ct="array",V[be].valueArrayType=je(ye.default)):ye.default&&(Ct=typeof ye.default),V[be].valueType=Ct,ye.fieldNameHasDashes&&(V[be].fieldNameHasDashes=!0)}),V},Be=()=>{const ge=O.value&&P.value?P.value:s.pluginType,we=Mn[ge]?.scope.includes(q.PluginScope.SERVICE)??!0,V=Mn[ge]?.scope.includes(q.PluginScope.ROUTE)??!0,ue=Mn[ge]?.scope.includes(q.PluginScope.CONSUMER)??!0,re=s.config.disableConsumerGroupScope?!1:Mn[ge]?.scope.includes(q.PluginScope.CONSUMER_GROUP)??!0,ie=s.config.entityType==="consumers"&&!!s.config.entityId||!!x.value?.consumer?.id,Re=s.config.entityType==="consumer_groups"&&!!s.config.entityId||!!x.value?.consumer_group?.id,Oe=s.config.entityType==="services"&&!!s.config.entityId||!!x.value?.service?.id,ye=s.config.entityType==="routes"&&!!s.config.entityId||!!x.value?.route?.id,be=[],Ct=(Ze,He,Ye)=>Ze?c("plugins.form.disable_source_scope_change",{scope:Ye}):He?c("plugins.form.disable_data_retrieving",{scope:Ye}):"",rt=Ze=>s.scopedEntitiesPermissions?.[Ze]?.canRetrieve===!1;if(we){const Ze=rt("service"),He="services",Ye=Oe&&s.disableScopeSelection;be.push({id:"service-id",model:"service-id",label:c("plugins.form.scoping.gateway_service.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:He,inputValues:{fields:["name","id"]},help:c("plugins.form.scoping.gateway_service.help"),disabled:Ye||Ze,disabledTooltip:Ct(Ye,Ze,He)})}if(V){const Ze=rt("route"),He="routes",Ye=ye&&s.disableScopeSelection;be.push({id:"route-id",model:"route-id",label:c("plugins.form.scoping.route.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:He,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:c("plugins.form.scoping.route.help"),disabled:Ye||Ze,disabledTooltip:Ct(Ye,Ze,He)})}if(ue){const Ze=rt("consumer"),He="consumers",Ye=ie&&s.disableScopeSelection;be.push({model:"consumer-id",label:c("plugins.form.scoping.consumer.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:He,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:c("plugins.form.scoping.consumer.help"),disabled:Ye||Ze,disabledTooltip:Ct(Ye,Ze,He)})}if(re){const Ze=rt("consumer_group"),He="consumer_groups",Ye=Re&&s.disableScopeSelection;be.push({model:"consumer_group-id",label:c("plugins.form.scoping.consumer_group.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:He,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:c("plugins.form.scoping.consumer_group.help"),disabled:Ye||Ze,disabledTooltip:Ct(Ye,Ze,He)})}if(be.length){const Ze=[...we?["service"]:[],...V?["route"]:[],...ue?["consumer"]:[],...re?["consumer_group"]:[]],Ye=Ze.splice(Ze.length-2,2).map(pt=>c(pt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${pt}.plural`)).join(`${Ze.length>0?",":""} and/or `),Bt=["Specific",[...Ze.length>0?[Ze.map(pt=>c(pt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${pt}.plural`)).join(", ")]:[],Ye].join(", ")].join(" ");he.selectionGroup.fields.push({label:c("plugins.form.scoping.label"),description:Bt,fields:[]}),he.selectionGroup.fields[1].fields=be}d[R.value]&&d[R.value].overwriteDefault&&Object.hasOwnProperty.call(d[R.value],"formSchema")&&Object.assign(he,d[R.value].formSchema)},Ve=t.computed(()=>!y(z.fields,ce,!0)),$e=t.computed(()=>!le.value&&!J.value&&(N.value===pe.EntityBaseFormType.Create||Ve.value)),Ke=t.ref(!1),de=t.ref(),Z=ge=>{s.credential&&ge.password&&(ge.password=""),z.fields.id=ge?.id||void 0,de.value=ge?.ordering,Object.assign(ce,z.fields),x.value=ge,Ke.value=!0},U=t.ref({}),ne=ge=>{z.fields=ge.model,z.fields.id=x.value?.id||void 0,Object.assign(ce,ge.originalModel),U.value=ge.data,s.isWizardStep&&a("model-updated",{model:z.fields,data:ge.data,resourceEndpoint:ve.value})},L=t.ref(new Map),M=t.computed(()=>[z.clientErrorMessage,z.serverErrorMessage].filter(Boolean).join("; ")),Y=ge=>{ge.valid?L.value.delete(ge.model):L.value.set(ge.model,ge.error),z.clientErrorMessage=[...L.value.entries()].map(([we,V])=>`${we}: ${typeof V=="string"?V:m(V)}`).join("; "),z.clientErrorMessage&&(z.serverErrorMessage="")};t.watch([X,Ke],(ge,we)=>{const V=ge[0]!==we[0],ue=ge[1],re=we[1];if(!S.value&&N.value===pe.EntityBaseFormType.Edit&&(V||ue&&ue!==re)){const ie=qe("config",I.value,he);Ae.value&&(ie._isCustomPlugin=!0),O.value&&P.value&&(ie._sourcePlugin=P.value),T.value&&(ie._supported_redis_partial_type=T.value),w.value=ie}},{deep:!0});const ae=()=>{s.config.cancelRoute?l.push(s.config.cancelRoute):a("cancel")},me=t.computed(()=>{const ge=s.config.entityType&&s.config.entityId&&!s.developer,we=S.value?nt.form[s.config.app].credential[N.value]:nt.form[s.config.app][N.value][ge?"forEntity":"all"];let V=`${s.config.apiBaseUrl}${we}`;return s.config.app==="konnect"&&(V=V.replace(/{controlPlaneId}/gi,s.config.controlPlaneId||"")),V=V.replace(/\/{workspace}/gi,s.config.workspace?`/${s.config.workspace}`:""),V=V.replace(/{resourceEndpoint}/gi,ve.value),V=V.replace(/{id}/gi,s.pluginId??""),V=V.replace(/{entityType}/gi,s.config.entityType||""),V=V.replace(/{entityId}/gi,s.config.entityId||""),V}),Ae=t.computed(()=>!Object.keys(Mn).includes(s.pluginType)),ze=t.computed(()=>{const ge=U.value;if(S.value){for(const we in q.PluginScope){const V=q.PluginScope[we];ge[V]&&!ge[V].id&&(ge[V]={id:s.config.entityId})}delete ge.created_at}return U.value.partials&&A.value&&Sb(ge,A.value),ge}),ot=t.computed(()=>{const{__ui_data:ge,...we}={...ze.value};return we}),F=async()=>{if(H.every(ge=>ge())&&!z.clientErrorMessage&&!s.isWizardStep)try{z.isReadonly=!0;let ge;const we=JSON.parse(JSON.stringify(ze.value)),V=d[R.value];!fe.value&&typeof V?.shamefullyTransformPayload=="function"&&V.shamefullyTransformPayload({originalModel:ce,model:z.fields,payload:we,schema:w.value}),N.value==="create"?ge=await g.post(me.value,we):N.value==="edit"&&(ge=s.config.app==="konnect"||T.value&&we.partials?await g.put(me.value,Object.assign({ordering:de.value},we)):await g.patch(me.value,we)),Object.assign(ce,z.fields),a("update",ge?.data)}catch(ge){z.serverErrorMessage=m(ge),a("error",ge)}finally{z.isReadonly=!1}},te=t.computed(()=>{const ge=S.value?Br[s.pluginType]?.schemaEndpoint:s.pluginType,we=S.value?nt.form[s.config.app].credentialSchema:nt.form[s.config.app].pluginSchema;let V=`${s.config.apiBaseUrl}${we}`;return s.config.app==="konnect"&&(V=V.replace(/{controlPlaneId}/gi,s.config.controlPlaneId||"")),V.replace(/\/{workspace}/gi,s.config.workspace?`/${s.config.workspace}`:"").replace(/{plugin}/gi,ge)}),G=t.ref(""),le=t.ref(!1),Ie=t.ref("");t.onBeforeMount(async()=>{le.value=!0;try{if(S.value&&s.config.app==="konnect"){const ge=Br[s.pluginType]?.schemaEndpoint,we=Wk[ge];G.value=ge,w.value=qe("",we,{}),le.value=!1}else{const ge=o&&Ae.value,we=s.schema?Promise.resolve(s.schema):g.get(te.value).then(ue=>ue.data),[V]=await Promise.all([we,ge?tt(s.pluginType):Promise.resolve()]);if(C.value=V,V)if(S.value)w.value=qe("",V,{}),le.value=!1;else{const ue=V.fields.find(ie=>ie.config);I.value=ue?ue.config:V,V.supported_partials&&(T.value=Object.keys(V.supported_partials).find(ie=>[yc.REDIS_CE,yc.REDIS_EE].includes(ie)),A.value=V.supported_partials[T.value]?.[0]),Be();const re=V.fields.find(ie=>ie.protocols)?.protocols;if(re){const{default:ie=[],elements:Re={}}=re;he.protocols.default=ie,he.protocols.placeholder=s.config.app==="konnect"?c("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ie.join(", ")}):c("plugins.form.fields.protocols.placeholder"),Re.one_of?.length&&(he.protocols.values=Re.one_of.map(Oe=>({label:Oe,value:Oe})))}if(Ke.value||N.value===pe.EntityBaseFormType.Create){const ie=qe("config",I.value,he);T.value&&(ie._supported_redis_partial_type=T.value),Ae.value&&(ie._isCustomPlugin=!0),O.value&&P.value&&(ie._sourcePlugin=P.value),w.value=ie}}}}catch(ge){console.error(ge),Ie.value=m(ge),a("error:fetch-schema",ge)}finally{le.value=!1}});async function tt(ge){try{const we=await _(ge);P.value=we?.ref??null}catch(we){if(gi.isAxiosError(we)&&we.response?.status===404)return;throw we}}return(ge,we)=>{const V=t.resolveComponent("KSkeleton"),ue=t.resolveComponent("KEmptyState"),re=t.resolveComponent("KButton"),ie=t.resolveComponent("KTabs"),Re=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["kong-ui-entities-plugin-form-container",{"new-form-layout":i.value}])},[le.value?(t.openBlock(),t.createBlock(V,{key:0,type:"form"})):Ie.value?(t.openBlock(),t.createBlock(ue,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(c)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(pe.EntityBaseForm),{key:2,"can-submit":$e.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(pe.SupportedEntityType).Plugin,"error-message":M.value,"fetch-url":Ge.value,"form-fields":ze.value,"is-readonly":z.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ae,"onFetch:error":we[6]||(we[6]=Oe=>ge.$emit("error",Oe)),"onFetch:success":Z,onLoading:we[7]||(we[7]=Oe=>ge.$emit("loading",Oe))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",u5)):(t.openBlock(),t.createBlock(d5,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",f5,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(re,{key:0,appearance:"tertiary","data-testid":`plugin-${b.value?"edit":"create"}-form-view-configuration`,onClick:we[5]||(we[5]=Oe=>se())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(re,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${b.value?"edit":"create"}-form-cancel`,disabled:z.isReadonly,onClick:ae},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(re,{appearance:"primary","data-testid":`plugin-${b.value?"edit":"create"}-form-submit`,disabled:!$e.value||z.isReadonly,type:"submit",onClick:F},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:F},null,32),t.createVNode(l5,{config:e.config,credential:S.value,developer:e.developer,editing:N.value===t.unref(pe.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":s.enableVaultSecretPicker,engine:Q.value,"entity-map":X.value,"raw-schema":C.value,record:x.value,schema:w.value,"onClick:createEntity":we[0]||(we[0]=Oe=>ge.$emit("click:create-entity",Oe)),"onClick:learnMore":we[1]||(we[1]=Oe=>ge.$emit("click:learn-more",Oe)),onGlobalAction:we[2]||(we[2]=(Oe,ye)=>ge.$emit("globalAction",Oe,ye)),onLoading:we[3]||(we[3]=Oe=>J.value=Oe),onModelUpdated:ne,onShowNewPartialModal:we[4]||(we[4]=Oe=>ge.$emit("showNewPartialModal",Oe)),onValidityChange:Y},null,8,["config","credential","developer","editing","enable-redis-partial","enable-vault-secret-picker","engine","entity-map","raw-schema","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(Re,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(c)("view_configuration.title"),visible:k.value,onClose:se},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(c)("view_configuration.message")),1),t.createVNode(ie,{modelValue:Pe.value,"onUpdate:modelValue":we[11]||(we[11]=Oe=>Pe.value=Oe),"data-testid":"form-view-configuration-slideout-tabs",tabs:oe.value},{json:t.withCtx(()=>[t.createVNode(t.unref(pe.JsonCodeBlock),{config:e.config,"entity-record":ot.value,"fetcher-url":me.value,"request-method":s.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(pe.YamlCodeBlock),{"deck-callout-preference-key":t.unref(D)?t.unref(K):void 0,"entity-record":ot.value,"onDeckCallout:clickCta":we[8]||(we[8]=Oe=>Pe.value="#deck")},null,8,["deck-callout-preference-key","entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(pe.TerraformCodeBlock),{"credential-type":G.value,"entity-record":ot.value,"entity-type":t.unref(pe.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),deck:t.withCtx(()=>[t.unref(ee)?(t.openBlock(),t.createElementBlock("div",p5,[t.createVNode(re,{appearance:"secondary",class:"button-customize-deck",onClick:we[9]||(we[9]=Oe=>j.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.form.button_deck_customize")),1)]),_:1})])):t.createCommentVNode("",!0),t.createVNode(t.unref(pe.DeckCodeBlock),{app:e.config.app,"control-plane-name":e.config.app==="konnect"?e.config.controlPlaneName:void 0,"customization-options":t.unref(ee),"entity-record":ot.value,"entity-type":t.unref(pe.SupportedEntityType).Plugin,"geo-api-server-url":e.config.app==="konnect"?e.config.geoApiServerUrl:void 0,"is-customization-modal-visible":j.value,"kong-admin-api-url":e.config.app==="kongManager"?e.config.apiBaseUrl:void 0,workspace:e.config.workspace||void 0,onCustomizationClose:we[10]||(we[10]=Oe=>j.value=!1)},null,8,["app","control-plane-name","customization-options","entity-record","entity-type","geo-api-server-url","is-customization-modal-visible","kong-admin-api-url","workspace"])]),_:1},8,["modelValue","tabs"])]),_:1},8,["title","visible"])],2)}}}),[["__scopeId","data-v-c298ae19"]]),g5={class:"plugin-filter"},h5={class:"plugin-tags-filter"},y5={class:"plugin-tags-filter-badges"},_5={class:"plugin-status-filter"},b5=xe(t.defineComponent({__name:"PluginFilter",props:t.mergeModels({entityType:{},entityId:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const{i18n:{t:n}}=it.useI18n(),r={routes:q.PluginScope.ROUTE,services:q.PluginScope.SERVICE,consumers:q.PluginScope.CONSUMER,consumer_groups:q.PluginScope.CONSUMER_GROUP},o=t.computed(()=>e.entityType&&e.entityId?r[e.entityType]:void 0),i=t.useModel(e,"modelValue"),a=t.ref(""),s=t.ref({}),l=t.useTemplateRef("search-input"),c=t.useTemplateRef("tags-input"),d=(C,w)=>C.map(S=>w.find(x=>x.value===S).label).join(", "),u=t.ref(""),f=/^(?:[\x21-\x2B\x2D\x2E\x30-\x7E\p{N}\p{L}]+(?: *[\x21-\x2B\x2D\x2E\x30-\x7E\p{N}\p{L}])*)?$/u,p=t.computed(()=>u.value&&!f.test(u.value)?n("search.filter.tags_invalid"):""),m=()=>{l.value?.input?.focus()},h=()=>{c.value?.input?.focus()},y=()=>{a.value="",m()},g=(C,w)=>{const S=u.value;if(!S||!f.test(S)){h();return}C||(C=[]),C.includes(S)||C.push(S),u.value="",h(),w(C,C.join(", "))},_=(C,w,S)=>{const x=w.filter(I=>I!==C);S(x,x.join(", "))},k=t.computed(()=>({...o.value?{}:{scope:{label:n("plugins.list.table_headers.scope"),operators:["eq"],pinned:!0,multiple:!0,options:[{label:n("plugins.list.table_headers.applied_to_badges.route"),value:q.PluginScope.ROUTE},{label:n("plugins.list.table_headers.applied_to_badges.service"),value:q.PluginScope.SERVICE},{label:n("plugins.list.table_headers.applied_to_badges.consumer"),value:q.PluginScope.CONSUMER},{label:n("plugins.list.table_headers.applied_to_badges.consumer_group"),value:q.PluginScope.CONSUMER_GROUP},{label:n("plugins.list.table_headers.applied_to_badges.global"),value:q.PluginScope.GLOBAL}]}},status:{label:n("plugins.list.table_headers.status"),operators:["eq"],pinned:!0,maxWidth:350,options:[{value:"true",label:n("actions.enabled")},{value:"false",label:n("actions.disabled")}]},tags:{label:n("plugins.list.table_headers.tags"),operators:["eq"],pinned:!0,multiple:!0}})),b=t.computed(()=>{const C=new URLSearchParams;if(a.value&&C.set("filter[name][contains]",a.value),!o.value){const I=s.value.scope,T=Array.isArray(I?.value)?I.value:typeof I?.value=="string"&&I.value?[I.value]:[];T.length&&C.set("filter[scope][oeq]",T.join(","))}const w=s.value.status;w?.value&&C.set("filter[enabled]",w.value==="true"?"true":"false");const S=s.value.tags,x=Array.isArray(S?.value)?S.value:[];return x.length&&C.set("tags",x.join("/")),o.value&&e.entityId&&C.toString()&&C.set(`filter[${o.value}][eq]`,e.entityId),C.toString()});t.watch(b,C=>{i.value=C}),t.watch(i,C=>{C||(a.value="",s.value={},u.value="")});const N=(C,w)=>{const S=w[C];S&&(S.operatorDelimiter=": ")};return(C,w)=>{const S=t.resolveComponent("KInput"),x=t.resolveComponent("KBadge"),I=t.resolveComponent("KMultiselect"),T=t.resolveComponent("KRadio"),A=t.resolveComponent("KFilterGroup");return t.openBlock(),t.createElementBlock("div",g5,[t.createVNode(S,{ref:"search-input",modelValue:a.value,"onUpdate:modelValue":w[0]||(w[0]=v=>a.value=v),autocomplete:"off",class:"plugin-search-input","data-testid":"search-input",placeholder:t.unref(n)("search.placeholder.search")},{before:t.withCtx(()=>[t.createVNode(t.unref(Ne.SearchIcon),{decorative:""})]),after:t.withCtx(()=>[t.withDirectives(t.createVNode(t.unref(Ne.CloseIcon),{class:"plugin-search-clear",role:"button",tabindex:"0",onClick:y,onKeydown:[t.withKeys(t.withModifiers(y,["prevent"]),["enter"]),t.withKeys(t.withModifiers(y,["prevent"]),["space"])]},null,8,["onKeydown"]),[[t.vShow,a.value!==""]])]),_:1},8,["modelValue","placeholder"]),t.createVNode(A,{modelValue:s.value,"onUpdate:modelValue":w[2]||(w[2]=v=>s.value=v),filters:k.value,onApply:N},{"filter-tags":t.withCtx(({value:v,setValue:P})=>[t.createElementVNode("div",h5,[t.createVNode(S,{ref:"tags-input",modelValue:u.value,"onUpdate:modelValue":w[1]||(w[1]=O=>u.value=O),autocomplete:"off","data-testid":"tags-filter-input",error:!!p.value,"error-message":p.value,placeholder:t.unref(n)("search.placeholder.tags_filter"),onKeydown:t.withKeys(t.withModifiers(O=>g(v,P),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.createVNode(t.unref(Ne.ArrowTopLeftIcon),{class:"plugin-tags-filter-add","data-testid":"tags-filter-add",role:"button",tabindex:"0",onClick:O=>g(v,P),onKeydown:[t.withKeys(t.withModifiers(O=>g(v,P),["prevent"]),["enter"]),t.withKeys(t.withModifiers(O=>g(v,P),["prevent"]),["space"])]},null,8,["onClick","onKeydown"])]),_:2},1032,["modelValue","error","error-message","placeholder","onKeydown"]),t.createElementVNode("div",y5,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(v,O=>(t.openBlock(),t.createBlock(x,{key:O,"icon-before":!1},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.CloseIcon),{"data-testid":"tags-filter-remove-tag",role:"button",tabindex:"0",onClick:R=>_(O,v,P),onKeydown:[t.withKeys(t.withModifiers(R=>_(O,v,P),["prevent"]),["enter"]),t.withKeys(t.withModifiers(R=>_(O,v,P),["prevent"]),["space"])]},null,8,["onClick","onKeydown"])]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(O)+" ",1)]),_:2},1024))),128))])])]),"filter-scope":t.withCtx(({value:v,setValue:P,options:O})=>[t.createVNode(I,{"data-testid":"scope-filter-select",items:O,"model-value":v,placeholder:t.unref(n)("search.placeholder.scope_filter"),"onUpdate:modelValue":R=>P(R,d(R,O))},null,8,["items","model-value","placeholder","onUpdate:modelValue"])]),"filter-status":t.withCtx(({value:v,setValue:P,options:O})=>[t.createElementVNode("div",_5,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(O,R=>(t.openBlock(),t.createBlock(T,{key:R.value,"data-testid":"status-filter-radio",label:R.label,"model-value":v,"selected-value":R.value,"onUpdate:modelValue":Q=>P(Q,R.label)},null,8,["label","model-value","selected-value","onUpdate:modelValue"]))),128))])]),_:1},8,["modelValue","filters"])])}}}),[["__scopeId","data-v-c4f55d0a"]]),k5={class:"kong-ui-entities-plugins-list"},w5={class:"button-row"},C5={class:"name-cell-wrapper"},E5={key:0,class:"info-wrapper"},N5={class:"info-name"},S5={key:1,class:"info-wrapper"},A5={key:0,class:"info-name"},x5={key:1,class:"info-name"},I5={key:2,class:"info-type"},v5={key:0},T5={key:1},B5={key:2},O5={key:1},P5={key:0},V5=xe(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){const r=it.usePluginMetaData(),o=n,i=e,{i18n:{t:a,formatUnixTimeStamp:s}}=it.useI18n(),l=Ar.useRouter(),{axiosInstance:c}=pe.useAxios(i.config?.axiosRequestConfig),{hasRecords:d,handleStateChange:u}=pe.useTableState(()=>w.value),f=t.computed(()=>d.value&&i.config.app==="konnect"),p=t.computed(()=>!!i.config.entityId),m=t.computed(()=>i.config?.entityType==="consumers"),h=t.computed(()=>i.config?.entityType==="consumer_groups"),y=i.config.app==="konnect"||pe.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),g=t.computed(()=>i.config.app==="konnect"&&!!i.config.pluginTableImprovements?.filtering),_=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),k={name:{label:g.value?a("plugins.list.table_headers.plugin"):a("plugins.list.table_headers.name"),searchable:!0,sortable:!g.value,hidable:!1}};g.value&&(k.instanceName={label:a("plugins.list.table_headers.name"),sortable:!1}),i.config?.entityId||(k.appliedTo=g.value?{label:a("plugins.list.table_headers.scope"),sortable:!1}:{label:a("plugins.list.table_headers.applied_to"),sortable:!1}),k.enabled=g.value?{label:a("plugins.list.table_headers.status"),sortable:!1}:{label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},y&&(k.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),k.tags={label:a("plugins.list.table_headers.tags"),sortable:!1},k.updated_at={label:a("plugins.list.table_headers.updated_at"),sortable:!0};const b=k,N=L=>{let M=`${i.config.apiBaseUrl}${L}`;return i.config.app==="konnect"&&(M=M.replace(/{controlPlaneId}/gi,i.config?.controlPlaneId||"")),M.replace(/\/{workspace}/gi,i.config?.workspace?`/${i.config.workspace}`:"").replace(/{entityType}/gi,i.config?.entityType||"").replace(/{entityId}/gi,i.config?.entityId||"")},C=t.computed(()=>N(i.config.entityType?nt.list[i.config.app].forEntity:nt.list[i.config.app].all)),w=t.ref(""),S=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:k.name,id:{label:a("plugins.list.table_headers.id"),sortable:!0}},placeholder:a(`search.placeholder.${i.config.isExactMatch?"exact":i.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...k.enabled,label:a("search.filter.field.enabled")},name:k.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),x=t.computed(()=>g.value&&!!w.value),I=t.computed(()=>x.value?N(nt.list.konnect.search):C.value),{fetcher:T,fetcherState:A,fetcherCacheKey:v}=pe.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier,...x.value?{isExactMatch:!1}:{}})),I),P=()=>{w.value=""},O=()=>{v.value++},R=t.ref(null),Q=L=>{const M=[];return(L.route?.id||L.route_id)&&M.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),(L.service?.id||L.service_id)&&M.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),(L.consumer?.id||L.consumer_id)&&M.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),(L.consumer_group?.id||L.consumer_group_id)&&M.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),M.length?M:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},fe=async(L,M)=>L===null?!1:await i.canRetrieveScopedEntity?.(L,M.id),H=(L,M)=>M[L]?.id,j=(L,M)=>{const Y=H(L,M);return Y&&i.config?.getScopedEntityViewRoute?i.config.getScopedEntityViewRoute(L,Y):null},D=(L,M)=>{const Y=j(L,M);Y&&l.push(Y)},ee=t.ref(!1),K=t.ref(null),J=t.computed(()=>{const L={action:"disable",id:"",name:""};if(K.value){const{enabled:M,id:Y,name:ae}=K.value;L.action=M?"disable":"enable",L.id=Y,L.name=r.getDisplayName(ae)||Y}return L}),ce=L=>{ee.value=!0,K.value=L},z=()=>{ee.value=!1,K.value=null},oe=async()=>{if(!await i.canEdit?.(K.value)||!K.value)return;let M=`${i.config.apiBaseUrl}${nt.item[i.config.app]?.[i.config?.entityType?"forEntity":"all"].replace(/{entityType}/gi,i.config?.entityType||"").replace(/{entityId}/gi,i.config?.entityId||"")}`.replace(/{id}/gi,K.value.id||"");i.config.app==="konnect"&&(M=M.replace(/{controlPlaneId}/gi,i.config?.controlPlaneId||"")),M=M.replace(/\/{workspace}/gi,i.config?.workspace?`/${i.config.workspace}`:"");const Y=!K.value.enabled;try{const ae=i.config?.app;let me;w.value&&ae==="konnect"&&(me=await c.get(M));const{data:Ae}=ae==="konnect"?await c.put(M,{...me?.data||K.value,enabled:Y},{timeout:12e4}):await c.patch(M,{...K.value,enabled:Y},{timeout:12e4});o("toggle-enabled",Y,Ae),K.value.enabled=Y}catch(ae){o("error",ae)}},Pe=async(L,M)=>{const Y=L.id;if(!await M(Y)){o("copy:error",{entity:L,field:"id",message:a("errors.copy")});return}o("copy:success",{entity:L,field:"id",message:a("copy.success",{val:Y})})},Ee=async(L,M)=>{const Y=JSON.stringify(L);if(!await M(Y)){o("copy:error",{entity:L,message:a("errors.copy")});return}o("copy:success",{entity:L,message:a("copy.success_brief")})},Ge=async L=>{await i.canRetrieve?.(L)&&l.push(i.config.getViewRoute(L))},se=L=>({label:a("actions.view"),to:i.config.getViewRoute(L)}),X=L=>({label:a("actions.edit"),to:i.config.getEditRoute(L)}),he=L=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(L)}),ve=t.ref(void 0),je=t.ref(!1),qe=t.ref(!1),Be=t.ref(""),Ve=pe.useDeleteUrlBuilder(i.config,C.value),$e=L=>{ve.value=L,je.value=!0},Ke=()=>{je.value=!1},de=async()=>{if(ve.value?.id){qe.value=!0;try{await c.delete(Ve(ve.value.id)),qe.value=!1,je.value=!1,v.value++,o("delete:success",ve.value)}catch(L){Be.value=L.response?.data?.message||L.message||a("errors.delete"),o("error",L)}finally{qe.value=!1}}},Z=()=>{l.push(i.config.createRoute)};t.watch(A,L=>{if(L.status===pe.FetcherStatus.Error){R.value={title:a("errors.general")},L.error?.response?.data?.message&&(R.value.message=L.error.response.data.message),o("error",L.error);return}R.value=null});const U=t.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${a("plugins.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:a("plugins.title")}),ne=t.ref(!1);return t.onBeforeMount(async()=>{ne.value=await i.canCreate(),ne.value&&(U.value.title=a("plugins.list.empty_state.title"),U.value.ctaText=a("actions.create"))}),(L,M)=>{const Y=t.resolveComponent("KButton"),ae=t.resolveComponent("KEmptyState"),me=t.resolveComponent("RouterLink"),Ae=t.resolveComponent("KBadge"),ze=t.resolveComponent("KTruncate"),ot=t.resolveComponent("KInputSwitch"),F=t.resolveComponent("KDropdownItem"),te=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",k5,[t.createVNode(t.unref(pe.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":_.value,"empty-state-options":U.value,"enable-entity-actions":"","error-message":R.value,fetcher:t.unref(T),"fetcher-cache-key":t.unref(v),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:w.value,"table-headers":t.unref(b),title:e.title,"title-tag":e.titleTag,onClearSearchInput:P,"onClick:row":M[5]||(M[5]=G=>Ge(G)),onSort:O,onState:t.unref(u)},t.createSlots({"toolbar-filter":t.withCtx(()=>[g.value?(t.openBlock(),t.createBlock(b5,{key:0,modelValue:w.value,"onUpdate:modelValue":M[0]||(M[0]=G=>w.value=G),"entity-id":i.config?.entityId,"entity-type":i.config?.entityType},null,8,["modelValue","entity-id","entity-type"])):(t.openBlock(),t.createBlock(t.unref(pe.EntityFilter),{key:1,modelValue:w.value,"onUpdate:modelValue":M[1]||(M[1]=G=>w.value=G),config:S.value},null,8,["modelValue","config"]))]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",w5,[!p.value&&f.value?(t.openBlock(),t.createBlock(Y,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:M[2]||(M[2]=G=>L.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(Y,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:G})=>[t.createElementVNode("div",C5,[t.createVNode(t.unref(Sr.PluginIcon),{class:"plugin-icon",name:G.name,size:24},null,8,["name"]),g.value?(t.openBlock(),t.createElementBlock("div",E5,[t.createElementVNode("span",N5,t.toDisplayString(t.unref(r).getDisplayName(G.name)),1)])):(t.openBlock(),t.createElementBlock("div",S5,[G.instance_name?(t.openBlock(),t.createElementBlock("span",A5,t.toDisplayString(G.instance_name),1)):(t.openBlock(),t.createElementBlock("span",x5,t.toDisplayString(t.unref(r).getDisplayName(G.name)),1)),G.instance_name?(t.openBlock(),t.createElementBlock("span",I5,t.toDisplayString(t.unref(r).getDisplayName(G.name)),1)):t.createCommentVNode("",!0)]))])]),instanceName:t.withCtx(({row:G})=>[t.createTextVNode(t.toDisplayString(G.instance_name||"-"),1)]),appliedTo:t.withCtx(({row:G})=>[Q(G).length>0?(t.openBlock(),t.createBlock(ze,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Q(G),(le,Ie)=>(t.openBlock(),t.createBlock(t.unref(pe.PermissionsWrapper),{key:le.badgeText,"auth-function":()=>fe(le.type,G),"force-show":""},{default:t.withCtx(({isAllowed:tt})=>[g.value?(t.openBlock(),t.createElementBlock("div",v5,[tt&&le.type&&j(le.type,G)?(t.openBlock(),t.createBlock(me,{key:0,class:"scope-link",to:j(le.type,G)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(le.badgeText),1)]),_:2},1032,["to"])):(t.openBlock(),t.createElementBlock("span",T5,t.toDisplayString(le.badgeText),1)),Ie<Q(G).length-1?(t.openBlock(),t.createElementBlock("span",B5,", ")):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(Ae,{key:1,class:t.normalizeClass(tt||"disabled"),onClick:t.withModifiers(ge=>tt&&le.type&&D(le.type,G),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(le.badgeText),1)]),_:2},1032,["class","onClick"]))]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",O5,"-"))]),enabled:t.withCtx(({row:G})=>[g.value?(t.openBlock(),t.createBlock(Ae,{key:0,appearance:G.enabled?"success":"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(G.enabled?t.unref(a)("actions.enabled"):t.unref(a)("actions.disabled")),1)]),_:2},1032,["appearance"])):(t.openBlock(),t.createBlock(t.unref(pe.PermissionsWrapper),{key:1,"auth-function":async()=>!!(await e.canEdit(G)&&await e.canToggle(G)),"force-show":""},{default:t.withCtx(({isAllowed:le})=>[t.createElementVNode("div",{onClick:M[4]||(M[4]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(ot,{disabled:!le,"disabled-tooltip-text":!le&&e.config.getToggleDisabledTooltip?.(G)||void 0,"model-value":G.enabled,onClick:t.withModifiers(Ie=>le&&ce(G),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]),_:2},1032,["auth-function"]))]),ordering:t.withCtx(({rowValue:G})=>[g.value?(t.openBlock(),t.createElementBlock("span",P5,t.toDisplayString(t.unref(qf)(G)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)):(t.openBlock(),t.createBlock(Ae,{key:1,appearance:t.unref(qf)(G)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(qf)(G)?t.unref(a)("plugins.list.table_headers.ordering_badge.static"):t.unref(a)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"]))]),tags:t.withCtx(({rowValue:G})=>[t.createVNode(t.unref(pe.TableTags),{tags:G},null,8,["tags"])]),updated_at:t.withCtx(({row:G,rowValue:le})=>[t.createTextVNode(t.toDisplayString(t.unref(s)(le??G.created_at)),1)]),actions:t.withCtx(({row:G})=>[t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:le})=>[t.createVNode(F,{"data-testid":"action-entity-copy-id",onClick:Ie=>Pe(G,le)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:le})=>[t.createVNode(F,{"data-testid":"action-entity-copy-json",onClick:Ie=>Ee(G,le)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(G)},{default:t.withCtx(()=>[t.createVNode(F,{"data-testid":"action-entity-view","has-divider":"",item:se(G)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canEdit(G)},{default:t.withCtx(()=>[t.createVNode(F,{"data-testid":"action-entity-edit",item:X(G)},null,8,["item"])]),_:2},1032,["auth-function"]),g.value?(t.openBlock(),t.createBlock(t.unref(pe.PermissionsWrapper),{key:0,"auth-function":async()=>!!(await e.canEdit(G)&&await e.canToggle(G)),"force-show":""},{default:t.withCtx(({isAllowed:le})=>[t.createVNode(F,{"data-testid":"action-entity-toggle-enabled",disabled:!le,onClick:Ie=>le&&ce(G)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(G.enabled?t.unref(a)("actions.disable"):t.unref(a)("actions.enable")),1)]),_:2},1032,["disabled","onClick"])]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),!m.value&&!h.value&&t.unref(y)?(t.openBlock(),t.createBlock(t.unref(pe.PermissionsWrapper),{key:1,"auth-function":()=>e.canConfigureDynamicOrdering(G)},{default:t.withCtx(()=>[he(G)?(t.openBlock(),t.createBlock(F,{key:0,"data-testid":"action-entity-config-dyn-order",item:he(G)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(pe.PermissionsWrapper),{"auth-function":()=>e.canDelete(G)},{default:t.withCtx(()=>[t.createVNode(F,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:le=>$e(G)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!w.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>[t.createVNode(ae,{"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:t.unref(a)("plugins.list.empty_state_v2.description"),title:t.unref(a)("plugins.list.empty_state_v2.title")},t.createSlots({icon:t.withCtx(()=>[t.createVNode(t.unref(Ne.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[ne.value?(t.openBlock(),t.createBlock(Y,{key:0,"data-testid":"entity-create-button",onClick:Z},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(Y,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:M[3]||(M[3]=G=>L.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[e.config?.isControlPlaneGroup?{name:"default",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["data-testid","message","title"])]),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag","onState"]),t.createVNode(t.unref(pe.EntityToggleModal),{action:J.value.action,"entity-id":J.value.id,"entity-name":J.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":oe,visible:ee.value,onCancel:z,onProceed:z},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(pe.EntityDeleteModal),{"action-pending":qe.value,description:t.unref(a)("delete.description"),"entity-name":ve.value&&(ve.value.instance_name||ve.value.name||ve.value.id),"entity-type":t.unref(pe.EntityTypes).Plugin,error:Be.value,title:t.unref(a)("delete.title"),visible:je.value,onCancel:Ke,onProceed:de},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-668423ed"]]),$5={class:"plugin-select-card-wrapper"},R5=["data-testid"],L5={class:"plugin-card-header"},D5={class:"plugin-card-title"},M5={key:0,class:"plugin-card-actions"},F5=["data-testid","title"],j5={key:0,class:"plugin-card-text"},U5={key:0,class:"custom-plugin-badges"},K5=["title"],pg=xe(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canDeleteClonedPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},canEditClonedPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const r=n,o=e,i=Ar.useRouter(),{i18n:{t:a}}=it.useI18n(),s=t.computed(()=>o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?o.plugin.clonedFromRef:o.plugin.id),l=t.computed(()=>!C.value||N.value?[]:o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?[a("plugins.select.cloned_from_badge",{link:o.plugin.clonedFromRef})]:o.plugin.customPluginType==="streaming"?[a("plugins.select.streamed_custom_badge")]:[a("plugins.select.installed_custom_badge")]),c=t.computed(()=>!!(!o.plugin.available||o.plugin.disabledMessage)),d=t.computed(()=>typeof o.config.getCustomEditRoute=="function"),u=t.computed(()=>o.plugin.customPluginType==="cloned"),f=t.computed(()=>u.value?o.canDeleteClonedPlugin:o.canDeleteCustomPlugin),p=t.computed(()=>u.value?o.canEditClonedPlugin:o.canEditCustomPlugin),m=t.computed(()=>!(o.config.app==="kongManager"&&o.plugin.customPluginType==="schema")),h=t.computed(()=>p.value&&d.value),y=t.computed(()=>f.value),g=t.computed(()=>!!(C.value&&!N.value&&m.value&&o.navigateOnClick&&(y.value||h.value))),_=()=>{i.push(o.config.getCreateRoute(o.plugin.id))},k=()=>{o.navigateOnClick?_():b()},b=()=>{r("plugin-clicked",o.plugin)},N=t.computed(()=>o.plugin.id==="custom-plugin-create"),C=t.computed(()=>o.plugin.group===q.PluginGroup.CUSTOM_PLUGINS),w=()=>{C.value&&r("custom-plugin-delete")},S=(I,T)=>{const A=o.config;typeof A.getCustomEditRoute=="function"&&i.push(A.getCustomEditRoute(I,T))},x=()=>{if(!c.value&&C.value){const I=o.config;N.value&&I.createCustomRoute?i.push(I.createCustomRoute):C.value&&_()}};return(I,T)=>{const A=t.resolveComponent("KButton"),v=t.resolveComponent("KDropdownItem"),P=t.resolveComponent("KDropdownMenu"),O=t.resolveComponent("KBadge"),R=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",$5,[t.createVNode(R,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:c.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:T[1]||(T[1]=Q=>c.value||C.value?void 0:k())},[t.createElementVNode("div",L5,[t.createElementVNode("div",D5,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!C.value})},t.toDisplayString(e.plugin.name),3)]),g.value?(t.openBlock(),t.createElementBlock("div",M5,[t.createVNode(P,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(A,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[h.value?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"edit-plugin-schema",onClick:T[0]||(T[0]=t.withModifiers(Q=>S(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),y.value?(t.openBlock(),t.createBlock(v,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":h.value,onClick:t.withModifiers(w,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["has-divider"])):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":C.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:x},[t.createVNode(t.unref(Sr.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:s.value,size:55},null,8,["alt","name"]),e.plugin.description||l.value.length?(t.openBlock(),t.createElementBlock("div",j5,[l.value.length?(t.openBlock(),t.createElementBlock("div",U5,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,Q=>(t.openBlock(),t.createBlock(O,{key:Q,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Q),1)]),_:2},1024))),128))])):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,K5)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,F5),t.createElementVNode("div",{class:"plugin-card-footer",onClick:x},t.toDisplayString(N.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,R5)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-eb0977c9"]]),_d=xe(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=it.useI18n(),{getMessageFromError:a}=pe.useErrors(),{axiosInstance:s}=pe.useAxios(r.config?.axiosRequestConfig),l=t.computed(()=>u.value?i("delete.plugin_schema_in_use_title"):i("delete.title",{name:r.plugin?.name||i("delete.custom_plugin")})),c=t.ref(!1),d=t.ref(""),u=t.ref(!1),f=t.computed(()=>{const m=r.plugin.customPluginType;if(r.config.app==="konnect"){const h=m==="streaming"?nt.select[r.config.app].streamingCustomPluginItem:m==="cloned"?nt.customPlugin[r.config.app].cloned.edit:nt.select[r.config.app].schemaCustomPluginItem;return`${r.config.apiBaseUrl}${h}`.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"").replace(/{pluginId}/gi,r.plugin.id)}if(r.config.app==="kongManager"&&m&&m!=="schema"){const h=m==="cloned"?nt.customPlugin[r.config.app].cloned.edit:nt.customPlugin[r.config.app].streamed.edit;return`${r.config.apiBaseUrl}${h}`.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{pluginId}/gi,r.plugin.id)}return null}),p=async()=>{if(c.value=!0,d.value="",!r.plugin?.name){c.value=!1;return}try{f.value&&await s.delete(f.value),o("proceed")}catch(m){JC(m)?u.value=!0:d.value=a(m)}finally{c.value=!1}};return(m,h)=>{const y=t.resolveComponent("KAlert"),g=t.resolveComponent("KButton"),_=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(pe.EntityDeleteModal),{key:0,"action-pending":c.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(i)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(pe.EntityTypes).Plugin,error:d.value,"need-confirm":"",title:l.value,visible:"",onCancel:h[0]||(h[0]=k=>m.$emit("closed")),onProceed:p},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(_,{key:1,"action-button-disabled":c.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:l.value,visible:"",onCancel:h[2]||(h[2]=k=>m.$emit("closed"))},{default:t.withCtx(()=>[t.createVNode(y,{appearance:"danger",message:t.unref(i)("delete.plugin_schema_in_use_message")},null,8,["message"])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(g,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:h[1]||(h[1]=k=>m.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9514182c"]]),q5={class:"custom-plugins-grid"},G5={class:"empty-state-title"},z5={class:"empty-state-description"},mg=310,H5=xe(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canDeleteClonedPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},canEditClonedPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=it.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:s}=it.usePluginHelpers(),l=t.ref(!0),c=C=>{o("plugin-clicked",C)},d=t.computed(()=>{const C=JSON.parse(JSON.stringify(r.pluginList))[q.PluginGroup.CUSTOM_PLUGINS]||[];return r.canCreateCustomPlugin&&r.navigateOnClick&&r.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:q.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(C):C}),u=t.ref(!1),f=t.ref(null),p=C=>{u.value=!0,f.value={id:C.id,name:C.name,customPluginType:C.customPluginType}},m=C=>{C&&(o("revalidate"),o("delete:success",f.value?.name||"")),u.value=!1,f.value=null},h=t.ref(mg),y=t.ref(null),g=t.ref(null),_=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),k=t.ref(!1),b=()=>{h.value=Math.max(a(g.value),mg),N()},N=()=>{g.value?.length&&(k.value=s(y.value,g.value?.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(g.value),mg),N(),window?.addEventListener("resize",b)}),t.onUnmounted(()=>{window?.removeEventListener("resize",b)}),(C,w)=>{const S=t.resolveComponent("KEmptyState"),x=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",q5,[d.value.length?(t.openBlock(),t.createBlock(x,{key:1,modelValue:l.value,"onUpdate:modelValue":w[0]||(w[0]=I=>l.value=I),class:"custom-plugins-collapse","data-testid":`${t.unref(q.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(q.PluginGroup).CUSTOM_PLUGINS,"trigger-label":l.value?t.unref(i)("plugins.select.view_more"):t.unref(i)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:y,class:"plugin-card-container",style:t.normalizeStyle(_.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(I,T)=>(t.openBlock(),t.createBlock(pg,{key:`plugin-card-${T}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:I,onCustomPluginDelete:A=>p(I),onPluginClicked:c},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[k.value?void 0:{name:"trigger",fn:t.withCtx(()=>[w[2]||(w[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(S,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",G5,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",z5,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&f.value?(t.openBlock(),t.createBlock(_d,{key:2,config:e.config,plugin:f.value,onClosed:m,onProceed:w[1]||(w[1]=I=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-909f4d5f"]]),gg=310,QC=xe(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Boolean,default:!1},canDeleteClonedPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},canEditClonedPlugin:{type:Boolean,default:!1}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked","delete:success"],["update:modelValue"]),setup(e,{emit:n}){const r=t.useModel(e,"modelValue"),o=e,i=n,{i18n:{t:a}}=it.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=it.usePluginHelpers(),c=t.ref(gg),d=t.ref(null),u=t.ref(null),f=t.computed(()=>r.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=t.ref(!1),h=t.ref(null),y=b=>{m.value=!0,h.value={id:b.id,name:b.name,customPluginType:b.customPluginType}},g=b=>{b&&i("delete:success",h.value?.name||""),m.value=!1,h.value=null},_=()=>{c.value=Math.max(s(u.value),gg),k()},k=()=>{u.value?.length&&(p.value=l(d.value,u.value?.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(s(u.value),gg),k(),window?.addEventListener("resize",_)}),t.onUnmounted(()=>{window?.removeEventListener("resize",_)}),(b,N)=>{const C=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(C,{modelValue:r.value,"onUpdate:modelValue":N[0]||(N[0]=w=>r.value=w),class:"plugins-collapse","data-testid":`${o.name}-collapse`,title:o.name,"trigger-label":r.value?t.unref(a)("plugins.select.view_more"):t.unref(a)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:d,class:"plugin-card-container",style:t.normalizeStyle(f.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.plugins,w=>(t.openBlock(),t.createBlock(pg,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onCustomPluginDelete:S=>y(w),onPluginClicked:S=>i("plugin-clicked",w)},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[N[2]||(N[2]=t.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"]),m.value&&h.value?(t.openBlock(),t.createBlock(_d,{key:0,config:e.config,plugin:h.value,onClosed:g,onProceed:N[1]||(N[1]=w=>g(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-7f683497"]]),W5={class:"plugin-select-grid"},Y5={class:"empty-state-title"},J5={class:"empty-state-description"},hg=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Boolean,default:!1},canDeleteClonedPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},canEditClonedPlugin:{type:Boolean,default:!1},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked","delete:success"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=it.useI18n(),a=t.ref(!1),s=t.ref(Ap.reduce((d,u)=>(d[u]=!1,d),{})),l=d=>{o("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(r.pluginList));return r.config.app==="konnect"&&delete d[q.PluginGroup.CUSTOM_PLUGINS],d});return(d,u)=>{const f=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",W5,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(f,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Y5,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",J5,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!r.hideHighlightedPlugins&&r.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(QC,{key:1,modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=p=>a.value=p),"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,name:r.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:r.highlightedPlugins,"onDelete:success":u[1]||(u[1]=p=>o("delete:success",p)),onPluginClicked:u[2]||(u[2]=p=>l(p))},null,8,["modelValue","can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Ap),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(QC,{modelValue:s.value[p],"onUpdate:modelValue":m=>s.value[p]=m,"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],"onDelete:success":u[3]||(u[3]=m=>o("delete:success",m)),onPluginClicked:u[4]||(u[4]=m=>l(m))},null,8,["modelValue","onUpdate:modelValue","can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),X5={class:"kong-ui-entities-plugin-select-form"},Z5={class:"plugins-filter-input-container"},Q5={key:0},eH={key:3,"aria-live":"polite",class:"plugins-results-container"},tH={"data-testid":"kong-tab"},nH={class:"tab-description"},rH={"data-testid":"custom-tab"},oH={class:"tab-description"},iH={key:1},aH=xe(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||e.app==="kongManager"&&!e.workspace||e.app==="konnect"&&(!e.controlPlaneId||e.workspace)||!e.getCreateRoute)},customPluginSupport:{type:[String,Array],default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canReadCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteClonedPlugin:{type:Function,required:!1},canReadClonedPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditClonedPlugin:{type:Function,required:!1},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){const r=e,o=n,i=Ar.useRoute(),a=Ar.useRouter(),{i18n:{t:s}}=it.useI18n(),{pluginMetaData:l}=it.usePluginMetaData(),{getMessageFromError:c}=pe.useErrors(),{sortAlpha:d,objectsAreEqual:u}=pe.useHelpers(),f=t.ref(""),p=t.ref(!0),m=t.ref(!1),h=t.ref(""),y=t.ref(""),g=t.ref([]),_=t.ref([]),k=t.ref([]),b=t.ref({}),N=t.ref([]),C=t.ref(null),w=t.ref(!1),{axiosInstance:S}=pe.useAxios(r.config?.axiosRequestConfig),x=U=>U==="none"||U==="disabled"?new Set:new Set(Array.isArray(U)?U:[U]),I=t.computed(()=>x(r.customPluginSupport)),T=t.computed(()=>[...I.value].sort().join("|")),A=t.computed(()=>r.customPluginSupport==="disabled"),v=t.computed(()=>A.value||I.value.size>0),P=t.computed(()=>I.value.has("streaming")),O=t.computed(()=>I.value.has("cloned")),R=U=>gi.isAxiosError(U)&&U.code==="ERR_CANCELED",Q=U=>c(U).toLowerCase().includes("requires a license"),fe=t.computed(()=>b.value?Object.entries(b.value).filter(([U])=>U!==q.PluginGroup.CUSTOM_PLUGINS).reduce((U,[,ne])=>{for(const L of ne??[])U[L.id]=L;return U},{}):{}),H=t.computed(()=>{if(!b.value)return{};const U=f.value.toLowerCase(),ne=JSON.parse(JSON.stringify(b.value));for(const L in b.value){const M=b.value[L]?.filter(Y=>Y.name.toLowerCase().includes(U)||Y.id.toLowerCase().includes(U)||Y.group.toLowerCase().includes(U)||Y.clonedFromRef?.toLowerCase().includes(U)||Y.customPluginType?.toLowerCase().includes(U))||[];M.length?ne[L]=M:delete ne[L]}return ne}),j=t.computed(()=>r.highlightedPluginIds.reduce((U,ne)=>{const L=fe.value[ne];return L&&U.push(L),U},[])),D=t.computed(()=>Object.keys(H.value).length>0),ee=t.computed(()=>Object.keys(b.value).length>0&&!D.value),K=t.computed(()=>r.config.app!=="konnect"||!v.value?[]:[{hash:"#kong",title:s("plugins.select.tabs.kong.title")},{hash:"#custom",title:s("plugins.select.tabs.custom.title"),disabled:A.value}]),J=t.computed(()=>{let U=K.value.length&&(i?.hash||K.value[0]?.hash)||"";return U==="#custom"&&A.value&&(U="#kong"),U}),ce=()=>{const U=new Map(k.value.map(M=>[M.name,M])),ne=new Set(_.value.map(M=>M.name)),L=new Set([...ne,...U.keys()]);return[...new Set([...Object.keys({...r.availableOnServer?{}:l}),...g.value,...L])].filter(M=>!r.ignoredPlugins.includes(M)).filter(M=>{if(!r.config.entityType)return M;const Y=U.has(M)?U.get(M).ref:M;return r.config.entityType==="services"&&l[Y]&&!l[Y].scope.includes(q.PluginScope.SERVICE)||r.config.entityType==="routes"&&l[Y]&&!l[Y].scope.includes(q.PluginScope.ROUTE)||r.config.entityType==="consumer_groups"&&l[Y]&&!l[Y].scope.includes(q.PluginScope.CONSUMER_GROUP)||r.config.entityType==="consumers"&&l[Y]&&!l[Y].scope.includes(q.PluginScope.CONSUMER)?!1:M}).reduce((M,Y)=>{const ae=l[Y]&&l[Y].name||Y,me=U.get(Y),Ae=ne.has(Y),ze={...l[Y],id:Y,name:ae,available:g.value.includes(Y)||!!me||Ae,disabledMessage:"",group:l[Y]?.group||q.PluginGroup.CUSTOM_PLUGINS};ze.group===q.PluginGroup.CUSTOM_PLUGINS&&(me?(ze.customPluginType="cloned",ze.clonedFromRef=me.ref):Ae?ze.customPluginType="streaming":ze.customPluginType="schema"),r.disabledPlugins&&(ze.disabledMessage=r.disabledPlugins[Y]);const ot=ze.group||s("plugins.select.misc_plugins");let F=M[ot];return F||(F=[]),F.push(ze),F.sort(d("name")),M[ot]=F,M},{})},z=t.computed(()=>{let U=`${r.config.apiBaseUrl}${nt.select[r.config.app].availablePlugins}`;if(r.config.app==="konnect")U=U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"");else if(r.config.app==="kongManager"&&r.config.gatewayInfo?.edition==="community")return`${r.config.apiBaseUrl}${nt.select[r.config.app].availablePluginsForOss}`;return U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}),oe=t.computed(()=>{if(P.value){let U=`${r.config.apiBaseUrl}${nt.select[r.config.app].streamingCustomPlugins}`;return r.config.app==="konnect"?U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}return null}),Pe=t.computed(()=>{if(O.value){let U=`${r.config.apiBaseUrl}${nt.select[r.config.app].clonedPlugins}`;return r.config.app==="konnect"?U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}return null}),Ee=t.computed(()=>{if(r.config.entityType&&r.config.entityId){let U=`${r.config.apiBaseUrl}${nt.list[r.config.app].forEntity}`;return r.config.app==="konnect"&&(U=U.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"")),U.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{entityType}/gi,r.config.entityType||"").replace(/{entityId}/gi,r.config.entityId||"")}return""}),Ge=U=>{a.replace({hash:U,query:i.query})};t.watch(()=>r.disabledPlugins,(U,ne)=>{!u(U,ne)&&!p.value&&(b.value=ce())}),t.watch(()=>r.ignoredPlugins,(U,ne)=>{!u(U,ne)&&!p.value&&(b.value=ce())}),t.watch(p,U=>{o("loading",U)});const se=async U=>{if(!Ee.value){N.value=[];return}try{const{data:{data:ne}}=await S.get(Ee.value,{signal:U});ne?.length&&(N.value=ne.reduce((L,M)=>(M.name&&L.push(M.name),L),[]))}catch(ne){R(ne)||(N.value=[])}},X=async U=>{const ne=[];oe.value&&Be.value&&ne.push(yd(S,oe.value,U).then(L=>{_.value=L}).catch(L=>{R(L)||y.value||(y.value=c(L)??s("plugins.select.tabs.custom.fetch_error"))})),Pe.value&&Ke.value&&ne.push(yd(S,Pe.value,U).then(L=>{k.value=L}).catch(L=>{if(R(L))return;const M=Q(L);(M||!y.value)&&(y.value=M?s("plugins.select.tabs.custom.license_required"):c(L)??s("plugins.select.tabs.custom.fetch_error"))})),ne.push(se(U)),await Promise.allSettled(ne)},he=async()=>{C.value?.abort(),C.value=new AbortController,p.value=!0,m.value=!1,h.value="",y.value="",g.value=[],_.value=[],k.value=[],N.value=[];try{const{data:U}=await S.get(z.value,{signal:C.value.signal});if(r.config.app==="konnect"){const{names:ne}=U;g.value=ne||[]}else if(r.config.app==="kongManager"){const{plugins:{available_on_server:ne}}=U;g.value=ne?Object.keys(ne):[]}await X(C.value.signal),b.value=ce()}catch(U){R(U)||(m.value=!0,h.value=c(U))}finally{C.value?.signal.aborted||(p.value=!1)}},ve=t.ref(!1),je=t.ref(!1),qe=t.ref(!1),Be=t.ref(!1),Ve=t.ref(!1),$e=t.ref(!1),Ke=t.ref(!1),de=U=>{_.value=_.value.filter(ne=>ne.name!==U),k.value=k.value.filter(ne=>ne.name!==U),b.value=ce(),o("delete-custom:success",U)};t.onBeforeMount(async()=>{const[U,ne,L,M,Y,ae,me]=await Promise.all([r.canCreateCustomPlugin(),r.canEditCustomPlugin(),r.canDeleteCustomPlugin(),r.canReadCustomPlugin(),r.canEditClonedPlugin?r.canEditClonedPlugin():Promise.resolve(null),r.canDeleteClonedPlugin?r.canDeleteClonedPlugin():Promise.resolve(null),r.canReadClonedPlugin()]);ve.value=U,je.value=ne,qe.value=L,Be.value=M,Ve.value=Y??ne,$e.value=ae??L,Ke.value=me});const Z=t.useTemplateRef("filter-input");return t.onMounted(async()=>{w.value=!0,Z.value?.input?.focus(),await he()}),t.watch(()=>[r.config.app==="konnect"?r.config.controlPlaneId:void 0,r.config.workspace,r.config.entityType,r.config.entityId,r.config.app==="kongManager"?r.config.gatewayInfo?.edition:void 0,T.value,A.value],async()=>{w.value&&await he()}),t.onBeforeUnmount(()=>{C.value?.abort()}),(U,ne)=>{const L=t.resolveComponent("KInput"),M=t.resolveComponent("KSkeletonBox"),Y=t.resolveComponent("KSkeleton"),ae=t.resolveComponent("KEmptyState"),me=t.resolveComponent("KTooltip"),Ae=t.resolveComponent("KAlert"),ze=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",X5,[t.createElementVNode("div",Z5,[t.createVNode(L,{ref:"filter-input",modelValue:f.value,"onUpdate:modelValue":ne[0]||(ne[0]=ot=>f.value=ot),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",Q5,[t.createVNode(M,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Y,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(ae,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(h.value),1)]),_:1})):ee.value&&f.value?(t.openBlock(),t.createBlock(ae,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(s)("search.no_results",{filter:f.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",eH,[K.value.length?(t.openBlock(),t.createBlock(ze,{key:0,modelValue:J.value,"onUpdate:modelValue":ne[3]||(ne[3]=ot=>J.value=ot),"data-testid":"plugins-tabs",tabs:K.value,onChange:Ge},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",tH,[t.createElementVNode("p",nH,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(hg,{"can-delete-cloned-plugin":$e.value,"can-delete-custom-plugin":qe.value,"can-edit-cloned-plugin":Ve.value,"can-edit-custom-plugin":je.value,config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":j.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":H.value,"onDelete:success":de,onPluginClicked:ne[1]||(ne[1]=ot=>U.$emit("plugin-clicked",ot))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",rH,[t.renderSlot(U.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",oH,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),y.value?(t.openBlock(),t.createBlock(Ae,{key:0,appearance:"warning",class:"custom-plugins-warning",message:y.value},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(H5,{"can-create-custom-plugin":ve.value,"can-delete-cloned-plugin":$e.value,"can-delete-custom-plugin":qe.value,"can-edit-cloned-plugin":Ve.value,"can-edit-custom-plugin":je.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":H.value,"onDelete:success":de,onPluginClicked:ne[2]||(ne[2]=ot=>U.$emit("plugin-clicked",ot))},null,8,["can-create-custom-plugin","can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[A.value?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(me,{"max-width":"300",text:t.unref(s)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createElementBlock("div",iH,[y.value?(t.openBlock(),t.createBlock(Ae,{key:0,appearance:"warning",class:"custom-plugins-warning",message:y.value},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(hg,{"can-delete-cloned-plugin":$e.value,"can-delete-custom-plugin":qe.value,"can-edit-cloned-plugin":Ve.value,"can-edit-custom-plugin":je.value,config:e.config,"hide-highlighted-plugins":f.value.length>0,"highlighted-plugins":j.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":H.value,"onDelete:success":de,onPluginClicked:ne[4]||(ne[4]=ot=>U.$emit("plugin-clicked",ot))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])]))]))])}}}),[["__scopeId","data-v-40b228cd"]]),sH={key:0,class:"highlighted-match"},e1=xe(t.defineComponent({__name:"HighlightedText",props:{text:{},indices:{}},setup(e){const n=e,r=t.computed(()=>ZR(n.text,n.indices));return(o,i)=>(t.openBlock(),t.createElementBlock("span",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,(a,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:s},[a.highlighted?(t.openBlock(),t.createElementBlock("span",sH,t.toDisplayString(a.text),1)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.text),1)],64))],64))),128))]))}}),[["__scopeId","data-v-91ae2f75"]]),lH={class:"plugin-select-card-wrapper","data-testid":"plugin-catalog-card-wrapper"},cH={class:"plugin-card-header"},dH={class:"plugin-card-title"},uH={key:0,class:"plugin-card-actions"},fH=["data-testid","title"],pH={key:0},mH=["title"],gH={class:"plugin-card-footer"},hH={class:"plugin-card-footer-extra"},yH={key:0,class:"custom-plugin-badges"},_H=xe(t.defineComponent({__name:"PluginCatalogCard",props:{config:{},plugin:{},canDeleteCustomPlugin:{type:Boolean},canDeleteClonedPlugin:{type:Boolean},canEditCustomPlugin:{type:Boolean},canEditClonedPlugin:{type:Boolean}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const r=n,o=e,i=Ar.useRouter(),{i18n:{t:a}}=it.useI18n(),s=t.computed(()=>o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?o.plugin.clonedFromRef:o.plugin.id),l=t.computed(()=>!b.value||k.value?[]:o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?[a("plugins.select.cloned_from_badge",{link:o.plugin.clonedFromRef})]:o.plugin.customPluginType==="streaming"?[a("plugins.select.streamed_custom_badge")]:[a("plugins.select.installed_custom_badge")]),c=t.computed(()=>!!(!o.plugin.available||o.plugin.disabledMessage)),d=t.computed(()=>typeof o.config.getCustomEditRoute=="function"),u=t.computed(()=>o.plugin.customPluginType==="cloned"),f=t.computed(()=>u.value?!!o.canDeleteClonedPlugin:!!o.canDeleteCustomPlugin),p=t.computed(()=>u.value?!!o.canEditClonedPlugin:!!o.canEditCustomPlugin),m=t.computed(()=>!(o.config.app==="kongManager"&&o.plugin.customPluginType==="schema")),h=t.computed(()=>p.value&&d.value),y=t.computed(()=>f.value),g=t.computed(()=>!!(b.value&&!k.value&&m.value&&(y.value||h.value))),_=t.computed(()=>c.value?{}:b.value&&k.value&&o.config.createCustomRoute?o.config.createCustomRoute:o.config.getCreateRoute(o.plugin.id)),k=t.computed(()=>o.plugin.id==="custom-plugin-create"),b=t.computed(()=>o.plugin.group===q.PluginGroup.CUSTOM_PLUGINS),N=()=>{b.value&&r("custom-plugin-delete")},C=(w,S)=>{typeof o.config.getCustomEditRoute=="function"&&i.push(o.config.getCustomEditRoute(w,S))};return(w,S)=>{const x=t.resolveComponent("KButton"),I=t.resolveComponent("KDropdownItem"),T=t.resolveComponent("KDropdownMenu"),A=t.resolveComponent("KBadge"),v=t.resolveComponent("RouterLink"),P=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",lH,[t.createVNode(P,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createVNode(v,{class:t.normalizeClass(["plugin-select-card",{disabled:c.value}]),"data-testid":`${e.plugin.id}-card`,to:_.value},{default:t.withCtx(()=>[t.createElementVNode("div",cH,[t.createElementVNode("div",dH,[t.createVNode(t.unref(Sr.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:s.value,size:55},null,8,["alt","name"]),t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!b.value})},[t.createVNode(e1,{indices:e.plugin.matchedIndices,text:e.plugin.name},null,8,["indices","text"])],2)]),g.value?(t.openBlock(),t.createElementBlock("div",uH,[t.createVNode(T,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150",onClick:S[1]||(S[1]=t.withModifiers(()=>{},["stop","prevent"]))},{default:t.withCtx(()=>[t.createVNode(x,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[h.value?(t.openBlock(),t.createBlock(I,{key:0,"data-testid":"edit-plugin-schema",onClick:S[0]||(S[0]=t.withModifiers(O=>C(e.plugin.name,e.plugin.customPluginType),["stop","prevent"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),y.value?(t.openBlock(),t.createBlock(I,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":h.value,onClick:t.withModifiers(N,["stop","prevent"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["has-divider"])):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:"plugin-card-body","data-testid":`${e.plugin.id}-card-body`,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip")},[e.plugin.description?(t.openBlock(),t.createElementBlock("div",pH,[t.createElementVNode("div",{title:e.plugin.description},t.toDisplayString(e.plugin.description),9,mH)])):t.createCommentVNode("",!0)],8,fH),t.createElementVNode("div",gH,[t.createElementVNode("div",null,t.toDisplayString(k.value?t.unref(a)("actions.create_custom"):t.unref(a)("actions.configure")),1),t.createElementVNode("div",hH,[l.value.length?(t.openBlock(),t.createElementBlock("div",yH,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,O=>(t.openBlock(),t.createBlock(A,{key:O,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(O),1)]),_:2},1024))),128))])):t.createCommentVNode("",!0),t.renderSlot(w.$slots,"footer-extra",{},void 0,!0)])])]),_:3},8,["class","data-testid","to"])]),_:3},8,["text"])])}}}),[["__scopeId","data-v-9025e247"]]),bH=["data-testid"],kH={class:"group-icon-wrapper"},wH={class:"group-title-text"},CH=["data-testid"],EH=["data-testid"],t1=xe(t.defineComponent({__name:"PluginCatalogGroup",props:{config:{},name:{},plugins:{},canDeleteCustomPlugin:{type:Boolean},canDeleteClonedPlugin:{type:Boolean},canEditCustomPlugin:{type:Boolean},canEditClonedPlugin:{type:Boolean},showAllCard:{type:Boolean}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const r=e,o=t.computed(()=>{switch(r.name){case q.PluginGroup.FEATURED:return Ne.PopularIcon;case q.PluginGroup.AI:return Ne.BotIcon;case q.PluginGroup.ANALYTICS_AND_MONITORING:return Ne.AnalyticsIcon;case q.PluginGroup.AUTHENTICATION:return Ne.LockIcon;case q.PluginGroup.LOGGING:return Ne.ServiceDocumentIcon;case q.PluginGroup.MONETIZATION:return Ne.MoneyIcon;case q.PluginGroup.SECURITY:return Ne.SecurityIcon;case q.PluginGroup.SERVERLESS:return Ne.RuntimeServerlessIcon;case q.PluginGroup.TRAFFIC_CONTROL:return Ne.TrafficIcon;case q.PluginGroup.TRANSFORMATIONS:return Ne.TransformationIcon;case q.PluginGroup.DEPLOYMENT:return Ne.DeployIcon;case q.PluginGroup.CUSTOM_PLUGINS:return Ne.CodeblockIcon;default:return null}}),i=n,{i18n:{t:a}}=it.useI18n(),s=t.ref(!1),l=t.computed(()=>r.showAllCard?r.plugins:!s.value&&r.plugins.length>9?r.plugins.slice(0,8):r.plugins),c=t.computed(()=>!r.showAllCard&&!s.value&&r.plugins.length>9);function d(){s.value=!0}const u=t.ref(!1),f=t.ref(null),p=h=>{u.value=!0,f.value={id:h.id,name:h.name,group:h.group,customPluginType:h.customPluginType}},m=h=>{h&&(i("revalidate"),i("delete:success",{name:f.value?.name||"",group:f.value?.group,customPluginType:f.value?.customPluginType})),u.value=!1,f.value=null};return(h,y)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[e.name?(t.openBlock(),t.createElementBlock("div",{key:0,class:"group-title","data-testid":`plugin-group-${e.name}-title`},[t.createElementVNode("div",kH,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value),{color:`var(--kui-color-text-decorative-purple, ${t.unref(Uy)})`},null,8,["color"]))]),t.createElementVNode("span",wH,t.toDisplayString(e.name),1)],8,bH)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:"plugin-card-container","data-testid":`plugin-group-${e.name}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,g=>(t.openBlock(),t.createBlock(_H,{key:`plugin-card-${g.id}`,"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,plugin:g,onCustomPluginDelete:_=>p(g),onPluginClicked:_=>i("plugin-clicked",g)},t.createSlots({_:2},[g.gatewayVersion&&t.unref(QR)(t.unref(q.GATEWAY_VERSION_TIMESTAMP_MAP)[g.gatewayVersion])?{name:"footer-extra",fn:t.withCtx(()=>[t.createElementVNode("span",{class:"plugin-card-new-badge","data-testid":`plugin-card-${g.id}-new-badge`},t.toDisplayString(t.unref(a)("labels.new")),9,EH)]),key:"0"}:void 0]),1032,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","plugin","onCustomPluginDelete","onPluginClicked"]))),128)),c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"show-all-plugin-card",onClick:d},t.toDisplayString(t.unref(a)("plugins.select.show_all")),1)):t.createCommentVNode("",!0)],8,CH),u.value&&f.value?(t.openBlock(),t.createBlock(_d,{key:1,config:e.config,plugin:f.value,onClosed:m,onProceed:y[0]||(y[0]=g=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-f9a9a47c"]]),NH={class:"plugin-select-grid"},SH={class:"empty-state-title"},AH={class:"empty-state-description"},xH={key:1},IH=xe(t.defineComponent({__name:"PluginCatalogGrid",props:{config:{},pluginList:{},canDeleteCustomPlugin:{type:Boolean},canDeleteClonedPlugin:{type:Boolean},canEditCustomPlugin:{type:Boolean},canEditClonedPlugin:{type:Boolean}},emits:["plugin-clicked","delete:success"],setup(e,{emit:n}){const r=_c.concat(bc),o=n,{i18n:{t:i}}=it.useI18n(),a=s=>{o("plugin-clicked",s)};return(s,l)=>{const c=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",NH,[Object.keys(e.pluginList||[]).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(c,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",SH,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",AH,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r),d=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[e.pluginList?.[d]?(t.openBlock(),t.createElementBlock("div",{key:d},[t.createVNode(t1,{"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,name:d,plugins:e.pluginList[d]||[],"onDelete:success":l[0]||(l[0]=u=>o("delete:success",u)),onPluginClicked:l[1]||(l[1]=u=>a(u))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","name","plugins"])])):t.createCommentVNode("",!0)],64))),256)),e.pluginList?.["Query Result"]?(t.openBlock(),t.createElementBlock("div",xH,[t.createVNode(t1,{"can-delete-cloned-plugin":e.canDeleteClonedPlugin,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-cloned-plugin":e.canEditClonedPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,plugins:e.pluginList["Query Result"]||[],"show-all-card":"","onDelete:success":l[2]||(l[2]=d=>o("delete:success",d)),onPluginClicked:l[3]||(l[3]=d=>a(d))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","plugins"])])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-e3bf3819"]]),vH={class:"plugin-name-cell","data-testid":"plugin-catalog-list-view-name"},TH=["title"],BH=["title"],OH={class:"plugin-action-cell","data-testid":"plugin-catalog-list-view-action"},PH={key:0,class:"plugin-more-action-cell","data-testid":"plugin-catalog-list-view-more-actions"},VH=xe(t.defineComponent({__name:"PluginCatalogListView",props:{config:{},pluginList:{},canDeleteCustomPlugin:{type:Boolean},canDeleteClonedPlugin:{type:Boolean},canEditCustomPlugin:{type:Boolean},canEditClonedPlugin:{type:Boolean}},emits:["revalidate","delete:success"],setup(e,{emit:n}){const r=n,o=e,{i18n:{t:i}}=it.useI18n(),a=T=>T.customPluginType==="cloned"&&T.clonedFromRef?i("plugins.select.cloned_from_badge",{link:T.clonedFromRef}):T.customPluginType==="streaming"?i("plugins.select.streamed_custom_badge"):T.customPluginType?i("plugins.select.installed_custom_badge"):"",s=t.computed(()=>w.value.some(T=>b(T.plugin))),l=t.computed(()=>{const T=[{key:"name",label:i("plugins.select.list.table_headers.name"),sortable:!0},{key:"description",label:i("plugins.select.list.table_headers.description")},{key:"action",hideLabel:!0}];return s.value&&T.push({key:"more-actions",hideLabel:!0}),T}),c=t.computed(()=>{if(!o.pluginList)return[];const T=Object.values(o.pluginList).flat();return Array.from(new Map(T.map(v=>[v.id,v])).values()).map(v=>({id:v.id,name:v.name,description:v.description,badge:a(v),plugin:v}))}),d=t.ref(0),u=t.ref(10),f=t.ref(1),p=t.ref(c.value),m=t.ref(!1),h=t.ref(null),y=T=>T.customPluginType==="cloned"&&T.clonedFromRef?T.clonedFromRef:T.id,g=T=>T?.customPluginType==="cloned",_=T=>!T?.customPluginType||o.config.app==="kongManager"&&T.customPluginType==="schema"?!1:g(T)?!!o.canDeleteClonedPlugin:!!o.canDeleteCustomPlugin,k=T=>!T?.customPluginType||typeof o.config.getCustomEditRoute!="function"||o.config.app==="kongManager"&&T.customPluginType==="schema"?!1:g(T)?!!o.canEditClonedPlugin:!!o.canEditCustomPlugin,b=T=>_(T)||k(T),N=T=>{m.value=!0,h.value={id:T.id,name:T.name,group:T.group,customPluginType:T.customPluginType}},C=T=>{T&&(r("revalidate"),r("delete:success",{name:h.value?.name||"",group:h.value?.group,customPluginType:h.value?.customPluginType})),m.value=!1,h.value=null},w=t.computed(()=>{const T=p.value.length,A=Math.max(1,Math.ceil(T/u.value)),P=(Math.min(f.value,A)-1)*u.value;return p.value.slice(P,P+u.value)});t.watch(c,()=>{p.value=[...c.value],f.value=1,d.value++});const S=({page:T})=>{f.value=T},x=({pageSize:T})=>{u.value=T},I=T=>{const{sortColumnKey:A,sortColumnOrder:v}=T;A==="name"&&(p.value=[...p.value].sort((P,O)=>{const R=(P[A]||"").toLowerCase(),Q=(O[A]||"").toLowerCase();return R<Q?v==="asc"?-1:1:R>Q?v==="asc"?1:-1:0}))};return(T,A)=>{const v=t.resolveComponent("KBadge"),P=t.resolveComponent("KButton"),O=t.resolveComponent("KDropdownItem"),R=t.resolveComponent("KDropdown"),Q=t.resolveComponent("KTableView"),fe=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(fe,{"data-testid":"plugin-catalog-list-view-card"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(Q,{key:d.value,class:"plugin-catalog-table","client-sort":"",data:w.value,"data-testid":"plugin-catalog-list-view-table",headers:l.value,"pagination-attributes":{totalCount:c.value.length,currentPage:f.value,initialPageSize:u.value,pageSizes:[10,25,50]},"resize-columns":"","row-key":"id",onPageChange:S,onPageSizeChange:x,onSort:I},{name:t.withCtx(({row:H})=>[t.createElementVNode("span",vH,[t.createVNode(t.unref(Sr.PluginIcon),{"data-testid":`plugin-catalog-list-view-${H.plugin.id}-icon`,name:y(H.plugin),size:20},null,8,["data-testid","name"]),t.createElementVNode("span",{class:"plugin-name-text","data-testid":"plugin-catalog-list-view-name-text",title:H.name},[t.createVNode(e1,{indices:H.plugin?.matchedIndices,text:H.name},null,8,["indices","text"])],8,TH),H.badge?(t.openBlock(),t.createBlock(v,{key:0,appearance:"info",class:"plugin-name-badge","data-testid":"plugin-catalog-list-view-custom-badge"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(H.badge),1)]),_:2},1024)):t.createCommentVNode("",!0)])]),description:t.withCtx(({row:H})=>[t.createElementVNode("span",{class:"plugin-description-cell","data-testid":"plugin-catalog-list-view-description",title:H.description},t.toDisplayString(H.description),9,BH)]),action:t.withCtx(({row:H})=>[t.createElementVNode("div",OH,[t.createVNode(P,{appearance:"tertiary","data-testid":"plugin-catalog-list-view-configure-btn",size:"small",to:o.config.getCreateRoute(H.id)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.configure")),1)]),_:1},8,["to"])])]),"more-actions":t.withCtx(({row:H})=>[b(H.plugin)?(t.openBlock(),t.createElementBlock("div",PH,[t.createVNode(R,{appearance:"tertiary",class:"actions-trigger","data-testid":"plugin-catalog-list-view-more-actions-button",icon:"",size:"small"},{items:t.withCtx(()=>[k(H.plugin)?(t.openBlock(),t.createBlock(O,{key:0,"data-testid":"edit-plugin-schema",item:{label:t.unref(i)("actions.edit"),to:e.config.getCustomEditRoute?.(H.plugin.name,H.plugin.customPluginType)}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.edit")),1)]),_:1},8,["item"])):t.createCommentVNode("",!0),_(H.plugin)?(t.openBlock(),t.createBlock(O,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":k(H.plugin),onClick:()=>N(H.plugin)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.delete")),1)]),_:1},8,["has-divider","onClick"])):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.createVNode(t.unref(Ne.MoreIcon),{color:`var(--kui-color-text-neutral, ${t.unref(sr)})`,size:`var(--kui-icon-size-30, ${t.unref(Tn)})`},null,8,["color","size"])]),_:2},1024)])):t.createCommentVNode("",!0)]),_:1},8,["data","headers","pagination-attributes"]))]),_:1}),m.value&&h.value?(t.openBlock(),t.createBlock(_d,{key:0,config:e.config,plugin:h.value,onClosed:C,onProceed:A[0]||(A[0]=H=>C(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-49cad2d2"]]),$H={class:"plugin-catalog","data-testid":"plugin-catalog"},RH={class:"plugin-filter","data-testid":"plugin-filter"},LH={class:"plugin-filter-title"},DH={class:"featured-title"},MH={class:"plugin-featured-filter"},FH=["data-testid"],jH={class:"group-title"},UH={class:"plugin-type-filter"},KH=["data-testid"],qH={class:"plugins-container"},GH={class:"plugins-filter-input-container"},zH={class:"icon-container"},HH={key:0},WH={key:3,"aria-live":"polite",class:"plugins-results-container"},YH=xe(t.defineComponent({__name:"PluginCatalog",props:{config:{},ignoredPlugins:{default:()=>[]},disabledPlugins:{},highlightedPluginIds:{},customPluginSupport:{default:"none"},availableOnServer:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Function,default:async()=>!0},canReadCustomPlugin:{type:Function,default:async()=>!0},canEditCustomPlugin:{type:Function,default:async()=>!0},canDeleteClonedPlugin:{},canReadClonedPlugin:{type:Function,default:async()=>!0},canEditClonedPlugin:{}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){const r=n,{i18n:{t:o}}=it.useI18n(),{pluginMetaData:i}=it.usePluginMetaData(),{getMessageFromError:a}=pe.useErrors(),{sortAlpha:s,objectsAreEqual:l}=pe.useHelpers(),c=e,{axiosInstance:d}=pe.useAxios(c.config?.axiosRequestConfig),u=t.useTemplateRef("filter-input"),f=t.ref(""),p=t.ref(!1),m=t.ref(!1),h=t.ref(Object.fromEntries(_c.concat(bc).map(Z=>[Z,!1]))),y=t.ref(!0),g=t.ref(!1),_=t.ref(""),k=t.ref(""),b=t.ref([]),N=t.ref([]),C=t.ref([]),w=t.ref({}),S=t.ref([]),x=t.ref(!1),I=t.ref(null),T=t.ref(!1),A=t.computed(()=>x.value?Ne.GridIcon:Ne.ListIcon),v=t.inject(Bn.KM_2485_CLONED_PLUGINS,!1),P=t.computed(()=>t.unref(v)),O=Z=>Z==="none"||Z==="disabled"?new Set:new Set(Array.isArray(Z)?Z:[Z]),R=t.computed(()=>O(c.customPluginSupport)),Q=t.computed(()=>[...R.value].sort().join("|")),fe=t.computed(()=>R.value.has("streaming")),H=t.computed(()=>P.value&&R.value.has("cloned")),j=Z=>gi.isAxiosError(Z)&&Z.code==="ERR_CANCELED",D=Z=>a(Z).toLowerCase().includes("requires a license"),ee=t.computed(()=>{let Z=`${c.config.apiBaseUrl}${nt.select[c.config.app].availablePlugins}`;if(c.config.app==="konnect")Z=Z.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"");else if(c.config.app==="kongManager"&&c.config.gatewayInfo?.edition==="community")return`${c.config.apiBaseUrl}${nt.select[c.config.app].availablePluginsForOss}`;return Z.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")}),K=t.computed(()=>{if(fe.value){let Z=`${c.config.apiBaseUrl}${nt.select[c.config.app].streamingCustomPlugins}`;return c.config.app==="konnect"?Z.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""):Z.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")}return null}),J=t.computed(()=>{if(H.value){let Z=`${c.config.apiBaseUrl}${nt.select[c.config.app].clonedPlugins}`;return c.config.app==="konnect"?Z.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""):Z.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")}return null}),ce=t.computed(()=>{if(c.config.entityType&&c.config.entityId){let Z=`${c.config.apiBaseUrl}${nt.list[c.config.app].forEntity}`;return c.config.app==="konnect"&&(Z=Z.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"")),Z.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"").replace(/{entityType}/gi,c.config.entityType||"").replace(/{entityId}/gi,c.config.entityId||"")}return""}),z=t.computed(()=>{if(!w.value)return{};const Z=Object.entries(h.value).filter(([,Y])=>Y).map(([Y])=>Y);let U={};Z.length===0&&(U=w.value),Z.forEach(Y=>{w.value[Y]&&(U[Y]=w.value[Y])});const ne=f.value.toLowerCase();if(!ne)return U;const L=new Map;for(const Y of Object.values(U))for(const ae of Y??[]){if(L.has(ae.id))continue;const me=XR(ne,ae.name,ae.id);me.matched&&L.set(ae.id,{plugin:{...ae,matchedIndices:me.indices},score:me.score})}const M=Array.from(L.values()).sort((Y,ae)=>Y.score-ae.score||Y.plugin.name.localeCompare(ae.plugin.name)).map(Y=>Y.plugin);return M.length?{"Query Result":M}:{}}),oe=t.computed(()=>Object.keys(z.value).length>0),Pe=t.computed(()=>Object.keys(w.value).length>0&&!oe.value),Ee=()=>{Object.keys(h.value).forEach(Z=>{h.value[Z]=!1})},Ge=()=>{const Z=new Map(C.value.map(M=>[M.name,M])),U=new Set(N.value.map(M=>M.name)),ne=new Set([...U,...Z.keys()]),L=[...new Set([...Object.keys({...c.availableOnServer?{}:i}),...b.value,...ne])].filter(M=>!c.ignoredPlugins.includes(M)).filter(M=>{if(!c.config.entityType)return M;const Y=Z.has(M)?Z.get(M).ref:M;return c.config.entityType==="services"&&i[Y]&&!i[Y].scope.includes(q.PluginScope.SERVICE)||c.config.entityType==="routes"&&i[Y]&&!i[Y].scope.includes(q.PluginScope.ROUTE)||c.config.entityType==="consumer_groups"&&i[Y]&&!i[Y].scope.includes(q.PluginScope.CONSUMER_GROUP)||c.config.entityType==="consumers"&&i[Y]&&!i[Y].scope.includes(q.PluginScope.CONSUMER)?!1:M}).reduce((M,Y)=>{const ae=i[Y]&&i[Y].name||Y,me=Z.get(Y),Ae=U.has(Y),ze={...i[Y],id:Y,name:ae,available:b.value.includes(Y)||!!me||Ae,disabledMessage:"",group:i[Y]?.group||q.PluginGroup.CUSTOM_PLUGINS};ze.group===q.PluginGroup.CUSTOM_PLUGINS&&(me?(ze.customPluginType="cloned",ze.clonedFromRef=me.ref):Ae?ze.customPluginType="streaming":ze.customPluginType="schema"),c.disabledPlugins&&(ze.disabledMessage=c.disabledPlugins[Y]);const ot=ze.group||o("plugins.select.misc_plugins");let F=M[ot];return F||(F=[]),F.push(ze),F.sort(s("name")),M[ot]=F,M},{});if(c.highlightedPluginIds&&c.highlightedPluginIds.length>0){const M=new Set(Object.values(L).flat().map(ae=>ae?.id)),Y=c.highlightedPluginIds.flatMap(ae=>{const me=i[ae];return!me||!M.has(ae)?[]:{...me,id:ae,name:me.name||ae,available:b.value.includes(ae),disabledMessage:c.disabledPlugins?.[ae]||"",group:me.group||q.PluginGroup.CUSTOM_PLUGINS}}).filter(Boolean);Y.length>0&&(L[q.PluginGroup.FEATURED]=Y)}return L};t.watch(()=>c.disabledPlugins,(Z,U)=>{!l(Z||{},U||{})&&!y.value&&(w.value=Ge())}),t.watch(()=>c.ignoredPlugins,(Z,U)=>{!l(Z,U)&&!y.value&&(w.value=Ge())}),t.watch(y,Z=>{r("loading",Z)});const se=t.ref(!1),X=t.ref(!1),he=t.ref(!1),ve=t.ref(!1),je=t.ref(!1),qe=t.ref(!1),Be=async()=>{try{const[Z,U,ne,L,M,Y]=await Promise.all([c.canEditCustomPlugin(),c.canDeleteCustomPlugin(),c.canReadCustomPlugin(),c.canEditClonedPlugin?c.canEditClonedPlugin():Promise.resolve(null),c.canDeleteClonedPlugin?c.canDeleteClonedPlugin():Promise.resolve(null),c.canReadClonedPlugin()]);se.value=Z,X.value=U,he.value=ne,ve.value=L??Z,je.value=M??U,qe.value=Y}catch{se.value=!1,X.value=!1,he.value=!1,ve.value=!1,je.value=!1,qe.value=!1}},Ve=async Z=>{if(!ce.value){S.value=[];return}try{const{data:{data:U}}=await d.get(ce.value,{signal:Z});U?.length&&(S.value=U.reduce((ne,L)=>(L.name&&ne.push(L.name),ne),[]))}catch(U){j(U)||(S.value=[])}},$e=async Z=>{const U=[];K.value&&he.value&&U.push(yd(d,K.value,Z).then(ne=>{N.value=ne}).catch(ne=>{j(ne)||k.value||(k.value=a(ne)??o("plugins.select.tabs.custom.fetch_error"))})),J.value&&qe.value&&U.push(yd(d,J.value,Z).then(ne=>{C.value=ne}).catch(ne=>{if(j(ne))return;const L=D(ne);(L||!k.value)&&(k.value=L?o("plugins.select.tabs.custom.license_required"):a(ne)??o("plugins.select.tabs.custom.fetch_error"))})),U.push(Ve(Z)),await Promise.allSettled(U)},Ke=async()=>{I.value?.abort();const Z=new AbortController;I.value=Z,y.value=!0,g.value=!1,_.value="",k.value="",b.value=[],N.value=[],C.value=[],S.value=[];try{const{data:U}=await d.get(ee.value,{signal:Z.signal});if(c.config.app==="konnect"){const{names:ne}=U;b.value=ne||[]}else if(c.config.app==="kongManager"){const{plugins:{available_on_server:ne}}=U;b.value=ne?Object.keys(ne):[]}await $e(Z.signal),w.value=Ge()}catch(U){j(U)||(g.value=!0,_.value=a(U))}finally{I.value===Z&&!Z.signal.aborted&&(y.value=!1)}},de=async({name:Z})=>{Z&&(r("delete-custom:success",Z),await Ke())};return t.onMounted(async()=>{T.value=!0,u.value?.input?.focus(),await Be(),await Ke()}),t.watch(()=>[c.config.app==="konnect"?c.config.controlPlaneId:void 0,c.config.workspace,c.config.entityType,c.config.entityId,c.config.app==="kongManager"?c.config.gatewayInfo?.edition:void 0,Q.value,P.value],async()=>{T.value&&(await Be(),await Ke())}),t.onBeforeUnmount(()=>{I.value?.abort()}),(Z,U)=>{const ne=t.resolveComponent("KButton"),L=t.resolveComponent("KCheckbox"),M=t.resolveComponent("KBadge"),Y=t.resolveComponent("KCollapse"),ae=t.resolveComponent("KInput"),me=t.resolveComponent("KSkeletonBox"),Ae=t.resolveComponent("KSkeleton"),ze=t.resolveComponent("KEmptyState"),ot=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock("div",$H,[t.createElementVNode("div",RH,[t.createElementVNode("div",LH,[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.select.filter.title"))+" ",1),t.createVNode(ne,{appearance:"tertiary",class:"clear-selection","data-testid":"clear-filter-selection",disabled:!Object.values(h.value).some(F=>F),onClick:Ee},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.select.filter.clear")),1)]),_:1},8,["disabled"])]),t.createVNode(Y,{modelValue:p.value,"onUpdate:modelValue":U[0]||(U[0]=F=>p.value=F)},{title:t.withCtx(()=>[t.createElementVNode("div",DH,t.toDisplayString(t.unref(o)("plugins.select.filter.featured")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",MH,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(_c),F=>(t.openBlock(),t.createElementBlock("div",{key:F,class:"plugin-filter-item","data-testid":`plugin-filter-item-${F}`},[t.createVNode(L,{modelValue:h.value[F],"onUpdate:modelValue":te=>h.value[F]=te,label:F},null,8,["modelValue","onUpdate:modelValue","label"]),t.createVNode(M,{appearance:"neutral"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(w.value?.[F]?.length||0),1)]),_:2},1024)],8,FH))),128))])]),_:1},8,["modelValue"]),t.createVNode(Y,{modelValue:m.value,"onUpdate:modelValue":U[1]||(U[1]=F=>m.value=F)},{title:t.withCtx(()=>[t.createElementVNode("div",jH,t.toDisplayString(t.unref(o)("plugins.select.filter.type")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",UH,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(bc),F=>(t.openBlock(),t.createElementBlock("div",{key:F,class:"plugin-filter-item","data-testid":`plugin-filter-item-${F}`},[t.createVNode(L,{modelValue:h.value[F],"onUpdate:modelValue":te=>h.value[F]=te,"data-testid":`plugin-filter-checkbox-${F}`,label:F},null,8,["modelValue","onUpdate:modelValue","data-testid","label"]),t.createVNode(M,{appearance:"neutral","data-testid":`plugin-filter-count-${F}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(w.value?.[F]?.length||0),1)]),_:2},1032,["data-testid"])],8,KH))),128))])]),_:1},8,["modelValue"])]),t.createElementVNode("div",qH,[t.createElementVNode("div",GH,[t.createVNode(ae,{ref:"filter-input",modelValue:f.value,"onUpdate:modelValue":U[2]||(U[2]=F=>f.value=F),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter-input",placeholder:t.unref(o)("search.placeholder.search_plugins"),type:"search"},null,8,["modelValue","placeholder"]),t.createElementVNode("div",zH,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(A.value),{class:"plugins-filter-icon",color:`var(--kui-icon-color-primary, ${t.unref(JS)})`,onClick:U[3]||(U[3]=F=>x.value=!x.value)},null,8,["color"]))])]),y.value?(t.openBlock(),t.createElementBlock("section",HH,[t.createVNode(me,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Ae,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):g.value?(t.openBlock(),t.createBlock(ze,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(_.value),1)]),_:1})):Pe.value&&f.value?(t.openBlock(),t.createBlock(ze,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(o)("search.no_results",{filter:f.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",WH,[k.value?(t.openBlock(),t.createBlock(ot,{key:0,appearance:"warning",class:"custom-plugins-warning",message:k.value},null,8,["message"])):t.createCommentVNode("",!0),x.value?(t.openBlock(),t.createBlock(VH,{key:1,"can-delete-cloned-plugin":je.value,"can-delete-custom-plugin":X.value,"can-edit-cloned-plugin":ve.value,"can-edit-custom-plugin":se.value,config:e.config,"plugin-list":z.value,"onDelete:success":de},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","plugin-list"])):(t.openBlock(),t.createBlock(IH,{key:2,"can-delete-cloned-plugin":je.value,"can-delete-custom-plugin":X.value,"can-edit-cloned-plugin":ve.value,"can-edit-custom-plugin":se.value,config:e.config,"plugin-list":z.value,"onDelete:success":de,onPluginClicked:U[4]||(U[4]=F=>Z.$emit("plugin-clicked",F))},null,8,["can-delete-cloned-plugin","can-delete-custom-plugin","can-edit-cloned-plugin","can-edit-custom-plugin","config","plugin-list"]))]))])])}}}),[["__scopeId","data-v-a7e2cc9c"]]),JH={key:1,class:"datakit-config-card-canvas"},XH={class:"config-card-details-label","data-testid":"datakit-configuration-label"},ZH={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},QH={class:"canvas-wrapper"},e9=xe(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{},item:{}},setup(e){const n=t.computed(()=>xC.safeParse(e.pluginData?.config).success);return Cp(e.pluginData),(r,o)=>{const i=t.resolveComponent("KLabel");return n.value?(t.openBlock(),t.createElementBlock("div",JH,[t.createElementVNode("div",XH,[t.createVNode(i,null,{default:t.withCtx(()=>[...o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])]),_:1})]),t.createElementVNode("div",ZH,[t.createElementVNode("div",QH,[t.createVNode(eg,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])):(t.openBlock(),t.createBlock(t.unref(pe.ConfigCardItem),{key:0,item:e.item},null,8,["item"]))}}}),[["__scopeId","data-v-9a3ef1ac"]]),t9={class:"kong-ui-entity-plugin-config-card"},n9={class:"name-cell-wrapper"},r9={class:"info-name"},o9={key:0},i9={key:0},a9={key:0},s9={key:0},l9={key:0},yg="config",c9=xe(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e?.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showNameAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:null},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){const r=n,o=e,{i18n:{t:i}}=it.useI18n(),a=it.usePluginMetaData(),{setFieldType:s}=it.usePluginHelpers(),{getPropValue:l}=pe.useHelpers(),c=t.computed(()=>{let T=nt.item[o.config.app]?.[o.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,o.scopedEntityType).replace(/{entityId}/gi,o.scopedEntityId??"").concat(o.expandPartial?"?expand_partials=true":"");if(o.config.app==="konnect"){const A=o.expandPartial?"&":"?";T=T.concat(`${A}__ui_data=true`)}return T}),d=t.computed(()=>!!o.config.showScopeName),u=t.computed(()=>{const T={},A=S.value?.fields||[];for(let v=0;v<A.length;v++){const P=S.value.fields[v],O=Object.keys(P)?.[0];s(T,O,P[O])}return{...T,instance_name:{section:pe.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:d.value?i("plugins.fields.consumer"):i("plugins.fields.consumer_id"),section:pe.ConfigurationSchemaSection.Basic,order:6},route:{label:d.value?i("plugins.fields.route"):i("plugins.fields.route_id"),section:pe.ConfigurationSchemaSection.Basic,order:6},service:{label:d.value?i("plugins.fields.service"):i("plugins.fields.service_id"),section:pe.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:d.value?i("plugins.fields.consumer_group"):i("plugins.fields.consumer_group_id"),section:pe.ConfigurationSchemaSection.Basic,order:6},protocols:{type:pe.ConfigurationSchemaType.BadgeTag,section:pe.ConfigurationSchemaSection.Basic,order:7}}}),f=t.computed(()=>S.value?.fields?S.value.fields?.find(A=>Object.keys(A)?.[0]===yg)?.[yg]?.fields||[]:[]),p=t.computed(()=>{const T={};if(!f.value)return T;for(let A=0;A<f.value?.length;A++){const v=f.value[A],P=Object.keys(v)?.[0],O=v[P];O.required&&(T[P]={order:1}),s(T,P,O)}return T}),m=T=>{const A=a.pluginMetaData[o.config.pluginType]?.scope;return A?Object.fromEntries(Object.entries(T).filter(([v,P])=>P?!0:!(v==="service"&&!A.includes(q.PluginScope.SERVICE)||v==="route"&&!A.includes(q.PluginScope.ROUTE)||v==="consumer"&&!A.includes(q.PluginScope.CONSUMER)||v==="consumer_group"&&!A.includes(q.PluginScope.CONSUMER_GROUP)))):T},h=T=>eo(T,"__ui_data"),{getMessageFromError:y}=pe.useErrors(),{axiosInstance:g}=pe.useAxios(o.config?.axiosRequestConfig),{resolveReferenceNames:_,getReferenceName:k,isReferenceNameLoading:b}=it.useReferenceEntityNames({config:o.config,axiosInstance:g,onError:T=>r("fetch:error",T)}),N=(T,A,v)=>({key:A,value:d.value&&k(T)||A,to:d.value?v?.(A):void 0,subtitle:d.value&&k(T)?A:void 0,subtitleLoading:d.value&&b(T),type:pe.ConfigurationSchemaType.LinkInternal}),C=T=>{r("fetch:success",T),d.value&&o.showNameAsLink&&_(T)},w=t.computed(()=>{let T=`${o.config.apiBaseUrl}${nt.form[o.config.app].pluginSchema}`;return o.config.app==="konnect"&&(T=T.replace(/{controlPlaneId}/gi,o.config?.controlPlaneId||"")),T.replace(/\/{workspace}/gi,o.config?.workspace?`/${o.config.workspace}`:"").replace(/{plugin}/gi,o.config.pluginType)}),S=t.ref({});pe.useSchemaProvider(S);const x=t.ref(!1),I=t.ref("");return t.onBeforeMount(async()=>{x.value=!0;try{const{data:T}=await g.get(w.value);S.value=T}catch(T){I.value=y(T),r("error:fetch-schema",T)}finally{x.value=!1}}),(T,A)=>{const v=t.resolveComponent("KSkeleton"),P=t.resolveComponent("KEmptyState"),O=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",t9,[x.value?(t.openBlock(),t.createBlock(v,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):I.value?(t.openBlock(),t.createBlock(P,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(I.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(pe.EntityBaseConfigCard),{key:2,"code-block-record-formatter":h,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(pe.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":yg,"plugin-config-schema":p.value,"record-resolver":m,"onFetch:error":A[0]||(A[0]=R=>T.$emit("fetch:error",R)),"onFetch:success":C,onLoading:A[1]||(A[1]=R=>T.$emit("loading",R))},t.createSlots({name:t.withCtx(R=>[t.createElementVNode("div",n9,[t.createVNode(t.unref(Sr.PluginIcon),{class:"plugin-icon",name:t.unref(l)("rowValue",R),size:24},null,8,["name"]),t.createElementVNode("span",r9,t.toDisplayString(t.unref(a).getDisplayName(t.unref(l)("rowValue",R))),1)])]),consumer:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:N("consumer",t.unref(l)("rowValue",R).id,e.config.getConsumerViewRoute),onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",R).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",o9,"–"))]),route:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:N("route",t.unref(l)("rowValue",R).id,e.config.getRouteViewRoute),onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",R).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",i9,"–"))]),service:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:N("service",t.unref(l)("rowValue",R).id,e.config.getServiceViewRoute),onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",R).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",a9,"–"))]),consumer_group:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:N("consumer_group",t.unref(l)("rowValue",R).id,e.config.getConsumerGroupViewRoute),onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",R).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",s9,"–"))]),partials:t.withCtx(R=>[t.unref(l)("rowValue",R)?e.showNameAsLink?(t.openBlock(),t.createBlock(t.unref(pe.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",R)?.[0]?.id,value:t.unref(l)("rowValue",R)?.[0]?.id+(t.unref(l)("rowValue",R)?.[0]?.name?"/"+t.unref(l)("rowValue",R)?.[0]?.name:""),type:t.unref(pe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>T.$emit("navigation-click",t.unref(l)("rowValue",R)?.[0]?.id,"partial")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(O,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",R).label}),"data-testid":"partial-copy-uuid",text:t.unref(l)("rowValue",R)?.[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",l9,"–"))]),_:2},[e.config.pluginType==="datakit"&&e.config.app==="konnect"?{name:"config-card-item-nodes",fn:t.withCtx(R=>[t.createVNode(e9,{item:R.row,"plugin-data":R.record},null,8,["item","plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-828a43e1"]]),d9=t.defineComponent({__name:"AuthPluginOnboardingCard",props:{pluginType:{},authMode:{},hasExistingEntity:{type:Boolean},createEntityTo:{},onCreateEntityClick:{type:Function},addCredentialTo:{},onAddCredentialClick:{type:Function}},emits:["dismiss"],setup(e){const{i18n:{t:n}}=it.useI18n(),r=t.computed(()=>{const o=e.authMode==="kong-identity",i=[{icon:Ne.GroupsIcon,appearance:"decorative-aqua",title:n(o?"onboarding.create_principal.title":"onboarding.create_consumer.title"),description:n(o?"onboarding.create_principal.description":`onboarding.${e.pluginType}.create_consumer.description`),to:e.createEntityTo,onClick:e.onCreateEntityClick}];return e.hasExistingEntity&&(e.addCredentialTo||e.onAddCredentialClick)&&i.push({icon:Ne.PasskeyIcon,appearance:"decorative-purple",title:n(o?"onboarding.add_principal_credential.title":`onboarding.${e.pluginType}.add_credential.title`),description:n(o?"onboarding.add_principal_credential.description":`onboarding.${e.pluginType}.add_credential.description`),to:e.addCredentialTo,onClick:e.onAddCredentialClick}),i});return(o,i)=>(t.openBlock(),t.createBlock(t.unref(pe.OnboardingCard),{items:r.value,subtitle:t.unref(n)(`onboarding.${e.pluginType}.subtitle`),title:t.unref(n)(`onboarding.${e.pluginType}.title`),onDismiss:i[0]||(i[0]=a=>o.$emit("dismiss"))},null,8,["items","subtitle","title"]))}}),u9=["innerHTML"],n1=xe(t.defineComponent({inheritAttrs:!1,__name:"CredentialSecretField",props:{placeholder:{},help:{},labels:{},autofocus:{type:Boolean},name:{},labelAttributes:{},generator:{type:Function}},emits:["update:modelValue"],setup(e,{emit:n}){const r=t.useAttrs(),o=t.createPropsRestProxy(e,["name","generator"]),i=n,{value:a,hide:s,...l}=$t(t.toRef(()=>e.name)),c=Jt(l.path,t.toRef({...o,...r}));function d(u){a.value=u===""?l.emptyValue.value:u,i("update:modelValue",a.value)}return(u,f)=>{const p=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(p,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createBlock(t.unref(pe.SensitiveInput),t.mergeProps({key:1},t.unref(c),{class:"ff-credential-secret-field","data-testid":`ff-${l.path.value}`,generator:e.generator??t.unref(iw),mode:"create","model-value":t.unref(a)??"","onUpdate:modelValue":d}),t.createSlots({_:2},[t.unref(c).labelAttributes?.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(u.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,u9)],!0)]),key:"0"}:void 0]),1040,["data-testid","generator","model-value"])),[[t.vShow,!t.unref(s)]])}}}),[["__scopeId","data-v-ca6a15c0"]]);function bd(e,n){let r=`${e.apiBaseUrl}${n}`;return e.app==="konnect"&&(r=r.replace(/{controlPlaneId}/gi,e.controlPlaneId||"")),r.replace(/\/{workspace}/gi,e.workspace?`/${e.workspace}`:"")}const r1=xe(t.defineComponent({__name:"CredentialConfigurationForm",props:{config:{},credentialType:{}},emits:["update:modelValue","update:loading","error:fetch-schema"],setup(e,{emit:n}){const r=new Set(["id","created_at","consumer"]),{i18n:{t:o}}=it.useI18n(),i=n,{axiosInstance:a}=pe.useAxios(e.config?.axiosRequestConfig),s=t.ref({}),l=g=>{s.value=g,i("update:modelValue",g)},c=t.ref(!1);t.watch(c,g=>i("update:loading",g),{immediate:!0});const d=t.ref(),u=g=>Object.keys(g)[0],f=t.computed(()=>{if(d.value)return{...d.value,type:"record",fields:d.value.fields.filter(g=>!r.has(u(g))).map(g=>{const _=u(g),k=g[_];return k.description||!k.hint?g:{[_]:{...k,description:k.hint}}})}}),p=[{match:"tags",component:Lo,propsOverrides:{help:o("plugins.form.fields.tags.help"),placeholder:o("plugins.form.fields.tags.placeholder")}},{match:"key",component:n1},{match:"secret",component:n1,propsOverrides:{labels:{generateLabel:o("plugins.form.fields.secret.generateLabel")}}}],m=t.computed(()=>Br[e.credentialType]?.schemaEndpoint),h=t.computed(()=>bd(e.config,nt.form[e.config.app].credentialSchema).replace(/{plugin}/gi,m.value));return(async()=>{c.value=!0;try{if(e.config.app==="konnect")d.value=Wk[m.value];else{const{data:g}=await a.get(h.value);d.value=g}}catch(g){i("error:fetch-schema",g)}finally{c.value=!1}})(),(g,_)=>{const k=t.resolveComponent("KSkeleton");return c.value?(t.openBlock(),t.createBlock(k,{key:0,type:"form"})):f.value?(t.openBlock(),t.createBlock(Ym,{key:1,class:"credential-fields","field-renderers":p,model:s.value,"on-form-change":l,"plugin-name":e.credentialType,schema:f.value},null,8,["model","plugin-name","schema"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-b8d3299a"]]),f9={class:"kong-ui-entities-create-consumer-credential-form"},p9={class:"onboarding-wizard-header"},m9={class:"onboarding-wizard-body"},g9={class:"consumer-note"},h9={class:"onboarding-wizard-footer"},y9=xe(t.defineComponent({__name:"CreateConsumerCredentialForm",props:{config:{},credentialType:{}},emits:["cancel","success"],setup(e,{emit:n}){const{i18n:{t:r}}=it.useI18n(),{getMessageFromError:o}=pe.useErrors(),i=n,{axiosInstance:a}=pe.useAxios(e.config?.axiosRequestConfig),s=t.ref(1),l=t.ref(!1),c=t.ref(""),d=t.ref(null),u=t.ref({}),f=t.reactive({username:"",customId:"",tags:""}),p=t.computed(()=>!!f.username||!!f.customId),m=t.computed(()=>[{label:r("onboarding.steps.consumer.step"),state:s.value===1?"active":"completed"},{label:r("onboarding.steps.credential.step"),state:s.value===2?"active":"default"}]),h=t.computed(()=>({username:f.username||null,custom_id:f.customId||null,tags:f.tags.split(",").map(C=>C.trim()).filter(C=>C!=="")})),y=C=>{c.value=o(C)},g=async()=>{c.value="",l.value=!0;try{const{data:C}=await a.post(bd(e.config,nt.consumers[e.config.app]),h.value);d.value={id:C?.id,username:C?.username,custom_id:C?.custom_id},s.value=2}catch(C){c.value=o(C)}finally{l.value=!1}},_=t.computed(()=>{const C=Br[e.credentialType]?.endpoint||"/plugins";return`consumers/${d.value?.id}${C}`}),k=t.computed(()=>bd(e.config,nt.form[e.config.app].credential.create).replace(/{resourceEndpoint}/gi,_.value)),b=async()=>{if(d.value){l.value=!0,c.value="";try{const{data:C}=await a.post(k.value,u.value);i("success",{consumer:d.value,credential:C})}catch(C){c.value=o(C)}finally{l.value=!1}}},N=()=>{s.value===1?i("cancel"):d.value&&i("success",{consumer:d.value,credential:null})};return(C,w)=>{const S=t.resolveComponent("KStepper"),x=t.resolveComponent("KInput"),I=t.resolveComponent("KAlert"),T=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",f9,[t.createElementVNode("div",p9,[t.createVNode(S,{"data-testid":"wizard-stepper",steps:m.value},null,8,["steps"])]),t.createElementVNode("div",m9,[s.value===1?(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:0,description:t.unref(r)("onboarding.steps.consumer.description"),title:t.unref(r)("onboarding.steps.consumer.title")},{default:t.withCtx(()=>[t.createElementVNode("div",g9,t.toDisplayString(t.unref(r)("onboarding.steps.consumer.note")),1),t.createVNode(x,{modelValue:f.username,"onUpdate:modelValue":w[0]||(w[0]=A=>f.username=A),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"consumer-form-username",label:t.unref(r)("onboarding.consumer_fields.username_label"),placeholder:t.unref(r)("onboarding.consumer_fields.username_placeholder"),type:"text"},null,8,["modelValue","label","placeholder"]),t.createVNode(x,{modelValue:f.customId,"onUpdate:modelValue":w[1]||(w[1]=A=>f.customId=A),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"consumer-form-custom-id",label:t.unref(r)("onboarding.consumer_fields.custom_id_label"),placeholder:t.unref(r)("onboarding.consumer_fields.custom_id_placeholder"),type:"text"},null,8,["modelValue","label","placeholder"]),t.createVNode(x,{modelValue:f.tags,"onUpdate:modelValue":w[2]||(w[2]=A=>f.tags=A),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"consumer-form-tags",help:t.unref(r)("plugins.form.fields.tags.help"),label:t.unref(r)("plugins.form.fields.tags.label"),placeholder:t.unref(r)("plugins.form.fields.tags.placeholder"),type:"text"},null,8,["modelValue","help","label","placeholder"])]),_:1},8,["description","title"])):(t.openBlock(),t.createBlock(t.unref(pe.EntityFormBlock),{key:1,title:t.unref(r)("onboarding.steps.credential.title")},{default:t.withCtx(()=>[t.createVNode(r1,{config:e.config,"credential-type":e.credentialType,"onError:fetchSchema":y,"onUpdate:loading":w[3]||(w[3]=A=>l.value=A),"onUpdate:modelValue":w[4]||(w[4]=A=>u.value=A)},null,8,["config","credential-type"])]),_:1},8,["title"])),c.value?(t.openBlock(),t.createBlock(I,{key:2,appearance:"danger",class:"onboarding-wizard-error","data-testid":"wizard-error",message:c.value},null,8,["message"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",h9,[t.createVNode(T,{appearance:"tertiary","data-testid":"wizard-secondary-action",onClick:N},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(s.value===1?t.unref(r)("onboarding.actions.exit_setup"):t.unref(r)("onboarding.actions.skip")),1)]),_:1}),t.createVNode(T,{appearance:"primary","data-testid":"wizard-primary-action",disabled:l.value||s.value===1&&!p.value,onClick:w[5]||(w[5]=A=>s.value===1?g():b())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(s.value===1?t.unref(r)("onboarding.actions.save_and_next"):t.unref(r)(`onboarding.${e.credentialType}.credential_action`)),1)]),_:1},8,["disabled"])])])}}}),[["__scopeId","data-v-f4c3baf8"]]),_9=xe(t.defineComponent({__name:"AddCredentialToConsumerForm",props:{config:{},credentialType:{}},emits:["cancel","success"],setup(e,{emit:n}){const{i18n:{t:r}}=it.useI18n(),{getMessageFromError:o}=pe.useErrors(),i=n,{axiosInstance:a}=pe.useAxios(e.config?.axiosRequestConfig),{debouncedQueryChange:s,loading:l,results:c,loadItems:d}=pe.useDebouncedFilter(e.config,nt.consumers[e.config.app],"",{fetchedItemsKey:"data",searchKeys:["username","id"]}),u=t.computed(()=>c.value.map(N=>({label:N.username||N.custom_id,value:N.id}))),f=t.ref(""),p=t.ref(!1),m=t.ref(""),h=t.ref(!1),y=t.ref({}),g=t.computed(()=>!!f.value&&!h.value&&!p.value),_=t.computed(()=>{const N=Br[e.credentialType].endpoint;return`consumers/${f.value}${N}`}),k=t.computed(()=>bd(e.config,nt.form[e.config.app].credential.create).replace(/{resourceEndpoint}/gi,_.value)),b=async()=>{if(g.value){p.value=!0,m.value="";try{const{data:N}=await a.post(k.value,y.value);i("success",N)}catch(N){m.value=o(N)}finally{p.value=!1}}};return d(),(N,C)=>{const w=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(t.unref(pe.EntityBaseForm),{"align-action-button-to-left":"","can-submit":g.value,config:e.config,"entity-type":t.unref(pe.SupportedEntityType).Other,"error-message":m.value,"form-fields":y.value,"is-readonly":p.value,"no-validate":"","wrapper-component":"div",onCancel:C[4]||(C[4]=S=>N.$emit("cancel")),onSubmit:b},{default:t.withCtx(()=>[t.createVNode(t.unref(pe.EntityFormBlock),{description:t.unref(r)("onboarding.choose_consumer.description"),step:1,title:t.unref(r)("onboarding.choose_consumer.title")},{default:t.withCtx(()=>[t.createVNode(w,{modelValue:f.value,"onUpdate:modelValue":C[0]||(C[0]=S=>f.value=S),"data-testid":"choose-consumer-select","enable-filtering":"",items:u.value,label:t.unref(r)("onboarding.choose_consumer.select_label"),loading:t.unref(l),placeholder:t.unref(r)("onboarding.choose_consumer.select_placeholder"),width:"100%",onQueryChange:t.unref(s)},null,8,["modelValue","items","label","loading","placeholder","onQueryChange"])]),_:1},8,["description","title"]),t.createVNode(t.unref(pe.EntityFormBlock),{step:2,title:t.unref(r)("onboarding.add_credential.title")},{default:t.withCtx(()=>[t.createVNode(r1,{config:e.config,"credential-type":e.credentialType,"onError:fetchSchema":C[1]||(C[1]=S=>m.value=t.unref(o)(S)),"onUpdate:loading":C[2]||(C[2]=S=>h.value=S),"onUpdate:modelValue":C[3]||(C[3]=S=>y.value=S)},null,8,["config","credential-type"])]),_:1},8,["title"])]),_:1},8,["can-submit","config","entity-type","error-message","form-fields","is-readonly"])}}}),[["__scopeId","data-v-c6ff0a51"]]),{usePluginMetaData:b9,useProvideExperimentalFreeForms:k9}=it;function w9(e,n=!1){const r=e.length;let o=0,i="",a=0,s=16,l=0,c=0,d=0,u=0,f=0;function p(b,N){let C=0,w=0;for(;C<b;){let S=e.charCodeAt(o);if(S>=48&&S<=57)w=w*16+S-48;else if(S>=65&&S<=70)w=w*16+S-65+10;else if(S>=97&&S<=102)w=w*16+S-97+10;else break;o++,C++}return C<b&&(w=-1),w}function m(b){o=b,i="",a=0,s=16,f=0}function h(){let b=o;if(e.charCodeAt(o)===48)o++;else for(o++;o<e.length&&sa(e.charCodeAt(o));)o++;if(o<e.length&&e.charCodeAt(o)===46)if(o++,o<e.length&&sa(e.charCodeAt(o)))for(o++;o<e.length&&sa(e.charCodeAt(o));)o++;else return f=3,e.substring(b,o);let N=o;if(o<e.length&&(e.charCodeAt(o)===69||e.charCodeAt(o)===101))if(o++,(o<e.length&&e.charCodeAt(o)===43||e.charCodeAt(o)===45)&&o++,o<e.length&&sa(e.charCodeAt(o))){for(o++;o<e.length&&sa(e.charCodeAt(o));)o++;N=o}else f=3;return e.substring(b,N)}function y(){let b="",N=o;for(;;){if(o>=r){b+=e.substring(N,o),f=2;break}const C=e.charCodeAt(o);if(C===34){b+=e.substring(N,o),o++;break}if(C===92){if(b+=e.substring(N,o),o++,o>=r){f=2;break}switch(e.charCodeAt(o++)){case 34:b+='"';break;case 92:b+="\\";break;case 47:b+="/";break;case 98:b+="\b";break;case 102:b+="\f";break;case 110:b+=`
453
453
  `;break;case 114:b+="\r";break;case 116:b+=" ";break;case 117:const w=p(4);w>=0?b+=String.fromCharCode(w):f=4;break;default:f=5}N=o;continue}if(C>=0&&C<=31)if(Ls(C)){b+=e.substring(N,o),f=2;break}else f=6;o++}return b}function g(){if(i="",f=0,a=o,c=l,u=d,o>=r)return a=r,s=17;let b=e.charCodeAt(o);if(_g(b)){do o++,i+=String.fromCharCode(b),b=e.charCodeAt(o);while(_g(b));return s=15}if(Ls(b))return o++,i+=String.fromCharCode(b),b===13&&e.charCodeAt(o)===10&&(o++,i+=`
454
454
  `),l++,d=o,s=14;switch(b){case 123:return o++,s=1;case 125:return o++,s=2;case 91:return o++,s=3;case 93:return o++,s=4;case 58:return o++,s=6;case 44:return o++,s=5;case 34:return o++,i=y(),s=10;case 47:const N=o-1;if(e.charCodeAt(o+1)===47){for(o+=2;o<r&&!Ls(e.charCodeAt(o));)o++;return i=e.substring(N,o),s=12}if(e.charCodeAt(o+1)===42){o+=2;const C=r-1;let w=!1;for(;o<C;){const S=e.charCodeAt(o);if(S===42&&e.charCodeAt(o+1)===47){o+=2,w=!0;break}o++,Ls(S)&&(S===13&&e.charCodeAt(o)===10&&o++,l++,d=o)}return w||(o++,f=1),i=e.substring(N,o),s=13}return i+=String.fromCharCode(b),o++,s=16;case 45:if(i+=String.fromCharCode(b),o++,o===r||!sa(e.charCodeAt(o)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=h(),s=11;default:for(;o<r&&_(b);)o++,b=e.charCodeAt(o);if(a!==o){switch(i=e.substring(a,o),i){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return i+=String.fromCharCode(b),o++,s=16}}function _(b){if(_g(b)||Ls(b))return!1;switch(b){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function k(){let b;do b=g();while(b>=12&&b<=15);return b}return{setPosition:m,getPosition:()=>o,scan:n?k:g,getToken:()=>s,getTokenValue:()=>i,getTokenOffset:()=>a,getTokenLength:()=>o-a,getTokenStartLine:()=>c,getTokenStartCharacter:()=>a-u,getTokenError:()=>f}}function _g(e){return e===32||e===9}function Ls(e){return e===10||e===13}function sa(e){return e>=48&&e<=57}var o1;(function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"})(o1||(o1={})),new Array(20).fill(0).map((e,n)=>" ".repeat(n));const la=200;new Array(la).fill(0).map((e,n)=>`
455
455
  `+" ".repeat(n)),new Array(la).fill(0).map((e,n)=>"\r"+" ".repeat(n)),new Array(la).fill(0).map((e,n)=>`\r
456
456
  `+" ".repeat(n)),new Array(la).fill(0).map((e,n)=>`
457
457
  `+" ".repeat(n)),new Array(la).fill(0).map((e,n)=>"\r"+" ".repeat(n)),new Array(la).fill(0).map((e,n)=>`\r
458
- `+" ".repeat(n));var kd;(function(e){e.DEFAULT={allowTrailingComma:!1}})(kd||(kd={}));function C9(e,n=[],r=kd.DEFAULT){let o={type:"array",offset:-1,length:-1,children:[],parent:void 0};function i(l){o.type==="property"&&(o.length=l-o.offset,o=o.parent)}function a(l){return o.children.push(l),l}E9(e,{onObjectBegin:l=>{o=a({type:"object",offset:l,length:-1,parent:o,children:[]})},onObjectProperty:(l,c,d)=>{o=a({type:"property",offset:c,length:-1,parent:o,children:[]}),o.children.push({type:"string",value:l,offset:c,length:d,parent:o})},onObjectEnd:(l,c)=>{i(l+c),o.length=l+c-o.offset,o=o.parent,i(l+c)},onArrayBegin:(l,c)=>{o=a({type:"array",offset:l,length:-1,parent:o,children:[]})},onArrayEnd:(l,c)=>{o.length=l+c-o.offset,o=o.parent,i(l+c)},onLiteralValue:(l,c,d)=>{a({type:N9(l),offset:c,length:d,parent:o,value:l}),i(c+d)},onSeparator:(l,c,d)=>{o.type==="property"&&(l===":"?o.colonOffset=c:l===","&&i(c))},onError:(l,c,d)=>{n.push({error:l,offset:c,length:d})}},r);const s=o.children[0];return s&&delete s.parent,s}function E9(e,n,r=kd.DEFAULT){const o=w9(e,!1),i=[];let a=0;function s(O){return O?()=>a===0&&O(o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter()):()=>!0}function l(O){return O?R=>a===0&&O(R,o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter()):()=>!0}function c(O){return O?R=>a===0&&O(R,o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter(),()=>i.slice()):()=>!0}function d(O){return O?()=>{a>0?a++:O(o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter(),()=>i.slice())===!1&&(a=1)}:()=>!0}function u(O){return O?()=>{a>0&&a--,a===0&&O(o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter())}:()=>!0}const f=d(n.onObjectBegin),p=c(n.onObjectProperty),m=u(n.onObjectEnd),h=d(n.onArrayBegin),y=u(n.onArrayEnd),g=c(n.onLiteralValue),_=l(n.onSeparator),k=s(n.onComment),b=l(n.onError),N=r&&r.disallowComments,C=r&&r.allowTrailingComma;function w(){for(;;){const O=o.scan();switch(o.getTokenError()){case 4:S(14);break;case 5:S(15);break;case 3:S(13);break;case 1:N||S(11);break;case 2:S(12);break;case 6:S(16);break}switch(O){case 12:case 13:N?S(10):k();break;case 16:S(1);break;case 15:case 14:break;default:return O}}}function S(O,R=[],Q=[]){if(b(O),R.length+Q.length>0){let pe=o.getToken();for(;pe!==17;){if(R.indexOf(pe)!==-1){w();break}else if(Q.indexOf(pe)!==-1)break;pe=w()}}}function x(O){const R=o.getTokenValue();return O?g(R):(p(R),i.push(R)),w(),!0}function I(){switch(o.getToken()){case 11:const O=o.getTokenValue();let R=Number(O);isNaN(R)&&(S(2),R=0),g(R);break;case 7:g(null);break;case 8:g(!0);break;case 9:g(!1);break;default:return!1}return w(),!0}function T(){return o.getToken()!==10?(S(3,[],[2,5]),!1):(x(!1),o.getToken()===6?(_(":"),w(),P()||S(4,[],[2,5])):S(5,[],[2,5]),i.pop(),!0)}function A(){f(),w();let O=!1;for(;o.getToken()!==2&&o.getToken()!==17;){if(o.getToken()===5){if(O||S(4,[],[]),_(","),w(),o.getToken()===2&&C)break}else O&&S(6,[],[]);T()||S(4,[],[2,5]),O=!0}return m(),o.getToken()!==2?S(7,[2],[]):w(),!0}function v(){h(),w();let O=!0,R=!1;for(;o.getToken()!==4&&o.getToken()!==17;){if(o.getToken()===5){if(R||S(4,[],[]),_(","),w(),o.getToken()===4&&C)break}else R&&S(6,[],[]);O?(i.push(0),O=!1):i[i.length-1]++,P()||S(4,[],[4,5]),R=!0}return y(),O||i.pop(),o.getToken()!==4?S(8,[4],[]):w(),!0}function P(){switch(o.getToken()){case 3:return v();case 1:return A();case 10:return x(!0);default:return I()}}return w(),o.getToken()===17?r.allowEmptyContent?!0:(S(4,[],[]),!1):P()?(o.getToken()!==17&&S(9,[],[]),!0):(S(4,[],[]),!1)}function N9(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(e){if(Array.isArray(e))return"array"}else return"null";return"object"}default:return"null"}}var i1;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(i1||(i1={}));var a1;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(a1||(a1={}));const S9=C9;var s1;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(s1||(s1={}));function A9(e,n){const r=S9(e);return{language:"json",altVersionId:n,root:r}}const x9=Object.freeze(Object.defineProperty({__proto__:null,parseIntoJSONContext:A9},Symbol.toStringTag,{value:"Module"}));var l1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},c1={};var d1;function I9(){if(d1)return c1;d1=1;var e;return(function(n){(function(r){var o=typeof globalThis=="object"?globalThis:typeof l1=="object"?l1:typeof self=="object"?self:typeof this=="object"?this:c(),i=a(n);typeof o.Reflect<"u"&&(i=a(o.Reflect,i)),r(i,o),typeof o.Reflect>"u"&&(o.Reflect=n);function a(d,u){return function(f,p){Object.defineProperty(d,f,{configurable:!0,writable:!0,value:p}),u&&u(f,p)}}function s(){try{return Function("return this;")()}catch{}}function l(){try{return(0,eval)("(function() { return this; })()")}catch{}}function c(){return s()||l()}})(function(r,o){var i=Object.prototype.hasOwnProperty,a=typeof Symbol=="function",s=a&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",l=a&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",d={__proto__:[]}instanceof Array,u=!c&&!d,f={create:c?function(){return ot(Object.create(null))}:d?function(){return ot({__proto__:null})}:function(){return ot({})},has:u?function(F,te){return i.call(F,te)}:function(F,te){return te in F},get:u?function(F,te){return i.call(F,te)?F[te]:void 0}:function(F,te){return F[te]}},p=Object.getPrototypeOf(Function),m=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:me(),h=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:Ae(),y=typeof WeakMap=="function"?WeakMap:ze(),g=a?Symbol.for("@reflect-metadata:registry"):void 0,_=L(),k=M(_);function b(F,te,G,le){if(J(G)){if(!he(F))throw new TypeError;if(!je(te))throw new TypeError;return P(F,te)}else{if(!he(F))throw new TypeError;if(!oe(te))throw new TypeError;if(!oe(le)&&!J(le)&&!ce(le))throw new TypeError;return ce(le)&&(le=void 0),G=X(G),O(F,te,G,le)}}r("decorate",b);function N(F,te){function G(le,Ie){if(!oe(le))throw new TypeError;if(!J(Ie)&&!qe(Ie))throw new TypeError;j(F,te,le,Ie)}return G}r("metadata",N);function C(F,te,G,le){if(!oe(G))throw new TypeError;return J(le)||(le=X(le)),j(F,te,G,le)}r("defineMetadata",C);function w(F,te,G){if(!oe(te))throw new TypeError;return J(G)||(G=X(G)),R(F,te,G)}r("hasMetadata",w);function S(F,te,G){if(!oe(te))throw new TypeError;return J(G)||(G=X(G)),Q(F,te,G)}r("hasOwnMetadata",S);function x(F,te,G){if(!oe(te))throw new TypeError;return J(G)||(G=X(G)),pe(F,te,G)}r("getMetadata",x);function I(F,te,G){if(!oe(te))throw new TypeError;return J(G)||(G=X(G)),H(F,te,G)}r("getOwnMetadata",I);function T(F,te){if(!oe(F))throw new TypeError;return J(te)||(te=X(te)),D(F,te)}r("getMetadataKeys",T);function A(F,te){if(!oe(F))throw new TypeError;return J(te)||(te=X(te)),ee(F,te)}r("getOwnMetadataKeys",A);function v(F,te,G){if(!oe(te))throw new TypeError;if(J(G)||(G=X(G)),!oe(te))throw new TypeError;J(G)||(G=X(G));var le=ae(te,G,!1);return J(le)?!1:le.OrdinaryDeleteMetadata(F,te,G)}r("deleteMetadata",v);function P(F,te){for(var G=F.length-1;G>=0;--G){var le=F[G],Ie=le(te);if(!J(Ie)&&!ce(Ie)){if(!je(Ie))throw new TypeError;te=Ie}}return te}function O(F,te,G,le){for(var Ie=F.length-1;Ie>=0;--Ie){var tt=F[Ie],ge=tt(te,G,le);if(!J(ge)&&!ce(ge)){if(!oe(ge))throw new TypeError;le=ge}}return le}function R(F,te,G){var le=Q(F,te,G);if(le)return!0;var Ie=U(te);return ce(Ie)?!1:R(F,Ie,G)}function Q(F,te,G){var le=ae(te,G,!1);return J(le)?!1:Ge(le.OrdinaryHasOwnMetadata(F,te,G))}function pe(F,te,G){var le=Q(F,te,G);if(le)return H(F,te,G);var Ie=U(te);if(!ce(Ie))return pe(F,Ie,G)}function H(F,te,G){var le=ae(te,G,!1);if(!J(le))return le.OrdinaryGetOwnMetadata(F,te,G)}function j(F,te,G,le){var Ie=ae(G,le,!0);Ie.OrdinaryDefineOwnMetadata(F,te,G,le)}function D(F,te){var G=ee(F,te),le=U(F);if(le===null)return G;var Ie=D(le,te);if(Ie.length<=0)return G;if(G.length<=0)return Ie;for(var tt=new h,ge=[],we=0,V=G;we<V.length;we++){var fe=V[we],re=tt.has(fe);re||(tt.add(fe),ge.push(fe))}for(var ie=0,Re=Ie;ie<Re.length;ie++){var fe=Re[ie],re=tt.has(fe);re||(tt.add(fe),ge.push(fe))}return ge}function ee(F,te){var G=ae(F,te,!1);return G?G.OrdinaryOwnMetadataKeys(F,te):[]}function K(F){if(F===null)return 1;switch(typeof F){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return F===null?1:6;default:return 6}}function J(F){return F===void 0}function ce(F){return F===null}function z(F){return typeof F=="symbol"}function oe(F){return typeof F=="object"?F!==null:typeof F=="function"}function Pe(F,te){switch(K(F)){case 0:return F;case 1:return F;case 2:return F;case 3:return F;case 4:return F;case 5:return F}var G="string",le=Ve(F,s);if(le!==void 0){var Ie=le.call(F,G);if(oe(Ie))throw new TypeError;return Ie}return Ee(F)}function Ee(F,te){var G,le;{var Ie=F.toString;if(ve(Ie)){var le=Ie.call(F);if(!oe(le))return le}var G=F.valueOf;if(ve(G)){var le=G.call(F);if(!oe(le))return le}}throw new TypeError}function Ge(F){return!!F}function se(F){return""+F}function X(F){var te=Pe(F);return z(te)?te:se(te)}function he(F){return Array.isArray?Array.isArray(F):F instanceof Object?F instanceof Array:Object.prototype.toString.call(F)==="[object Array]"}function ve(F){return typeof F=="function"}function je(F){return typeof F=="function"}function qe(F){switch(K(F)){case 3:return!0;case 4:return!0;default:return!1}}function Be(F,te){return F===te||F!==F&&te!==te}function Ve(F,te){var G=F[te];if(G!=null){if(!ve(G))throw new TypeError;return G}}function $e(F){var te=Ve(F,l);if(!ve(te))throw new TypeError;var G=te.call(F);if(!oe(G))throw new TypeError;return G}function Ke(F){return F.value}function de(F){var te=F.next();return te.done?!1:te}function Z(F){var te=F.return;te&&te.call(F)}function U(F){var te=Object.getPrototypeOf(F);if(typeof F!="function"||F===p||te!==p)return te;var G=F.prototype,le=G&&Object.getPrototypeOf(G);if(le==null||le===Object.prototype)return te;var Ie=le.constructor;return typeof Ie!="function"||Ie===F?te:Ie}function ne(){var F;!J(g)&&typeof o.Reflect<"u"&&!(g in o.Reflect)&&typeof o.Reflect.defineMetadata=="function"&&(F=Y(o.Reflect));var te,G,le,Ie=new y,tt={registerProvider:ge,getProvider:V,setProvider:re};return tt;function ge(ie){if(!Object.isExtensible(tt))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case F===ie:break;case J(te):te=ie;break;case te===ie:break;case J(G):G=ie;break;case G===ie:break;default:le===void 0&&(le=new h),le.add(ie);break}}function we(ie,Re){if(!J(te)){if(te.isProviderFor(ie,Re))return te;if(!J(G)){if(G.isProviderFor(ie,Re))return te;if(!J(le))for(var Oe=$e(le);;){var ye=de(Oe);if(!ye)return;var be=Ke(ye);if(be.isProviderFor(ie,Re))return Z(Oe),be}}}if(!J(F)&&F.isProviderFor(ie,Re))return F}function V(ie,Re){var Oe=Ie.get(ie),ye;return J(Oe)||(ye=Oe.get(Re)),J(ye)&&(ye=we(ie,Re),J(ye)||(J(Oe)&&(Oe=new m,Ie.set(ie,Oe)),Oe.set(Re,ye))),ye}function fe(ie){if(J(ie))throw new TypeError;return te===ie||G===ie||!J(le)&&le.has(ie)}function re(ie,Re,Oe){if(!fe(Oe))throw new Error("Metadata provider not registered.");var ye=V(ie,Re);if(ye!==Oe){if(!J(ye))return!1;var be=Ie.get(ie);J(be)&&(be=new m,Ie.set(ie,be)),be.set(Re,Oe)}return!0}}function L(){var F;return!J(g)&&oe(o.Reflect)&&Object.isExtensible(o.Reflect)&&(F=o.Reflect[g]),J(F)&&(F=ne()),!J(g)&&oe(o.Reflect)&&Object.isExtensible(o.Reflect)&&Object.defineProperty(o.Reflect,g,{enumerable:!1,configurable:!1,writable:!1,value:F}),F}function M(F){var te=new y,G={isProviderFor:function(fe,re){var ie=te.get(fe);return J(ie)?!1:ie.has(re)},OrdinaryDefineOwnMetadata:ge,OrdinaryHasOwnMetadata:Ie,OrdinaryGetOwnMetadata:tt,OrdinaryOwnMetadataKeys:we,OrdinaryDeleteMetadata:V};return _.registerProvider(G),G;function le(fe,re,ie){var Re=te.get(fe),Oe=!1;if(J(Re)){if(!ie)return;Re=new m,te.set(fe,Re),Oe=!0}var ye=Re.get(re);if(J(ye)){if(!ie)return;if(ye=new m,Re.set(re,ye),!F.setProvider(fe,re,G))throw Re.delete(re),Oe&&te.delete(fe),new Error("Wrong provider for target.")}return ye}function Ie(fe,re,ie){var Re=le(re,ie,!1);return J(Re)?!1:Ge(Re.has(fe))}function tt(fe,re,ie){var Re=le(re,ie,!1);if(!J(Re))return Re.get(fe)}function ge(fe,re,ie,Re){var Oe=le(ie,Re,!0);Oe.set(fe,re)}function we(fe,re){var ie=[],Re=le(fe,re,!1);if(J(Re))return ie;for(var Oe=Re.keys(),ye=$e(Oe),be=0;;){var Ct=de(ye);if(!Ct)return ie.length=be,ie;var rt=Ke(Ct);try{ie[be]=rt}catch(Ze){try{Z(ye)}finally{throw Ze}}be++}}function V(fe,re,ie){var Re=le(re,ie,!1);if(J(Re)||!Re.delete(fe))return!1;if(Re.size===0){var Oe=te.get(re);J(Oe)||(Oe.delete(ie),Oe.size===0&&te.delete(Oe))}return!0}}function Y(F){var te=F.defineMetadata,G=F.hasOwnMetadata,le=F.getOwnMetadata,Ie=F.getOwnMetadataKeys,tt=F.deleteMetadata,ge=new y,we={isProviderFor:function(V,fe){var re=ge.get(V);return!J(re)&&re.has(fe)?!0:Ie(V,fe).length?(J(re)&&(re=new h,ge.set(V,re)),re.add(fe),!0):!1},OrdinaryDefineOwnMetadata:te,OrdinaryHasOwnMetadata:G,OrdinaryGetOwnMetadata:le,OrdinaryOwnMetadataKeys:Ie,OrdinaryDeleteMetadata:tt};return we}function ae(F,te,G){var le=_.getProvider(F,te);if(!J(le))return le;if(G){if(_.setProvider(F,te,k))return k;throw new Error("Illegal state.")}}function me(){var F={},te=[],G=(function(){function we(V,fe,re){this._index=0,this._keys=V,this._values=fe,this._selector=re}return we.prototype["@@iterator"]=function(){return this},we.prototype[l]=function(){return this},we.prototype.next=function(){var V=this._index;if(V>=0&&V<this._keys.length){var fe=this._selector(this._keys[V],this._values[V]);return V+1>=this._keys.length?(this._index=-1,this._keys=te,this._values=te):this._index++,{value:fe,done:!1}}return{value:void 0,done:!0}},we.prototype.throw=function(V){throw this._index>=0&&(this._index=-1,this._keys=te,this._values=te),V},we.prototype.return=function(V){return this._index>=0&&(this._index=-1,this._keys=te,this._values=te),{value:V,done:!0}},we})(),le=(function(){function we(){this._keys=[],this._values=[],this._cacheKey=F,this._cacheIndex=-2}return Object.defineProperty(we.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),we.prototype.has=function(V){return this._find(V,!1)>=0},we.prototype.get=function(V){var fe=this._find(V,!1);return fe>=0?this._values[fe]:void 0},we.prototype.set=function(V,fe){var re=this._find(V,!0);return this._values[re]=fe,this},we.prototype.delete=function(V){var fe=this._find(V,!1);if(fe>=0){for(var re=this._keys.length,ie=fe+1;ie<re;ie++)this._keys[ie-1]=this._keys[ie],this._values[ie-1]=this._values[ie];return this._keys.length--,this._values.length--,Be(V,this._cacheKey)&&(this._cacheKey=F,this._cacheIndex=-2),!0}return!1},we.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=F,this._cacheIndex=-2},we.prototype.keys=function(){return new G(this._keys,this._values,Ie)},we.prototype.values=function(){return new G(this._keys,this._values,tt)},we.prototype.entries=function(){return new G(this._keys,this._values,ge)},we.prototype["@@iterator"]=function(){return this.entries()},we.prototype[l]=function(){return this.entries()},we.prototype._find=function(V,fe){if(!Be(this._cacheKey,V)){this._cacheIndex=-1;for(var re=0;re<this._keys.length;re++)if(Be(this._keys[re],V)){this._cacheIndex=re;break}}return this._cacheIndex<0&&fe&&(this._cacheIndex=this._keys.length,this._keys.push(V),this._values.push(void 0)),this._cacheIndex},we})();return le;function Ie(we,V){return we}function tt(we,V){return V}function ge(we,V){return[we,V]}}function Ae(){var F=(function(){function te(){this._map=new m}return Object.defineProperty(te.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),te.prototype.has=function(G){return this._map.has(G)},te.prototype.add=function(G){return this._map.set(G,G),this},te.prototype.delete=function(G){return this._map.delete(G)},te.prototype.clear=function(){this._map.clear()},te.prototype.keys=function(){return this._map.keys()},te.prototype.values=function(){return this._map.keys()},te.prototype.entries=function(){return this._map.entries()},te.prototype["@@iterator"]=function(){return this.keys()},te.prototype[l]=function(){return this.keys()},te})();return F}function ze(){var F=16,te=f.create(),G=le();return(function(){function V(){this._key=le()}return V.prototype.has=function(fe){var re=Ie(fe,!1);return re!==void 0?f.has(re,this._key):!1},V.prototype.get=function(fe){var re=Ie(fe,!1);return re!==void 0?f.get(re,this._key):void 0},V.prototype.set=function(fe,re){var ie=Ie(fe,!0);return ie[this._key]=re,this},V.prototype.delete=function(fe){var re=Ie(fe,!1);return re!==void 0?delete re[this._key]:!1},V.prototype.clear=function(){this._key=le()},V})();function le(){var V;do V="@@WeakMap@@"+we();while(f.has(te,V));return te[V]=!0,V}function Ie(V,fe){if(!i.call(V,G)){if(!fe)return;Object.defineProperty(V,G,{value:f.create()})}return V[G]}function tt(V,fe){for(var re=0;re<fe;++re)V[re]=Math.random()*255|0;return V}function ge(V){if(typeof Uint8Array=="function"){var fe=new Uint8Array(V);return typeof crypto<"u"?crypto.getRandomValues(fe):typeof msCrypto<"u"?msCrypto.getRandomValues(fe):tt(fe,V),fe}return tt(new Array(V),V)}function we(){var V=ge(F);V[6]=V[6]&79|64,V[8]=V[8]&191|128;for(var fe="",re=0;re<F;++re){var ie=V[re];(re===4||re===6||re===8)&&(fe+="-"),ie<16&&(fe+="0"),fe+=ie.toString(16).toLowerCase()}return fe}}function ot(F){return F.__=void 0,delete F.__,F}})})(e||(e={})),c1}var v9=I9();const T9=BS({__proto__:null},[v9]);const B9="[object ArrayBuffer]";class De{static isArrayBuffer(n){return Object.prototype.toString.call(n)===B9}static toArrayBuffer(n){return this.isArrayBuffer(n)?n:n.byteLength===n.buffer.byteLength||n.byteOffset===0&&n.byteLength===n.buffer.byteLength?n.buffer:this.toUint8Array(n.buffer).slice(n.byteOffset,n.byteOffset+n.byteLength).buffer}static toUint8Array(n){return this.toView(n,Uint8Array)}static toView(n,r){if(n.constructor===r)return n;if(this.isArrayBuffer(n))return new r(n);if(this.isArrayBufferView(n))return new r(n.buffer,n.byteOffset,n.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(n){return this.isArrayBufferView(n)||this.isArrayBuffer(n)}static isArrayBufferView(n){return ArrayBuffer.isView(n)||n&&this.isArrayBuffer(n.buffer)}static isEqual(n,r){const o=De.toUint8Array(n),i=De.toUint8Array(r);if(o.length!==i.byteLength)return!1;for(let a=0;a<o.length;a++)if(o[a]!==i[a])return!1;return!0}static concat(...n){let r;Array.isArray(n[0])&&!(n[1]instanceof Function)||Array.isArray(n[0])&&n[1]instanceof Function?r=n[0]:n[n.length-1]instanceof Function?r=n.slice(0,n.length-1):r=n;let o=0;for(const s of r)o+=s.byteLength;const i=new Uint8Array(o);let a=0;for(const s of r){const l=this.toUint8Array(s);i.set(l,a),a+=l.length}return n[n.length-1]instanceof Function?this.toView(i,n[n.length-1]):i.buffer}}const bg="string",O9=/^[0-9a-f\s]+$/i,P9=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,V9=/^[a-zA-Z0-9-_]+$/;class u1{static fromString(n){const r=unescape(encodeURIComponent(n)),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i);return o.buffer}static toString(n){const r=De.toUint8Array(n);let o="";for(let a=0;a<r.length;a++)o+=String.fromCharCode(r[a]);return decodeURIComponent(escape(o))}}class gr{static toString(n,r=!1){const o=De.toArrayBuffer(n),i=new DataView(o);let a="";for(let s=0;s<o.byteLength;s+=2){const l=i.getUint16(s,r);a+=String.fromCharCode(l)}return a}static fromString(n,r=!1){const o=new ArrayBuffer(n.length*2),i=new DataView(o);for(let a=0;a<n.length;a++)i.setUint16(a*2,n.charCodeAt(a),r);return o}}class We{static isHex(n){return typeof n===bg&&O9.test(n)}static isBase64(n){return typeof n===bg&&P9.test(n)}static isBase64Url(n){return typeof n===bg&&V9.test(n)}static ToString(n,r="utf8"){const o=De.toUint8Array(n);switch(r.toLowerCase()){case"utf8":return this.ToUtf8String(o);case"binary":return this.ToBinary(o);case"hex":return this.ToHex(o);case"base64":return this.ToBase64(o);case"base64url":return this.ToBase64Url(o);case"utf16le":return gr.toString(o,!0);case"utf16":case"utf16be":return gr.toString(o);default:throw new Error(`Unknown type of encoding '${r}'`)}}static FromString(n,r="utf8"){if(!n)return new ArrayBuffer(0);switch(r.toLowerCase()){case"utf8":return this.FromUtf8String(n);case"binary":return this.FromBinary(n);case"hex":return this.FromHex(n);case"base64":return this.FromBase64(n);case"base64url":return this.FromBase64Url(n);case"utf16le":return gr.fromString(n,!0);case"utf16":case"utf16be":return gr.fromString(n);default:throw new Error(`Unknown type of encoding '${r}'`)}}static ToBase64(n){const r=De.toUint8Array(n);if(typeof btoa<"u"){const o=this.ToString(r,"binary");return btoa(o)}else return Buffer.from(r).toString("base64")}static FromBase64(n){const r=this.formatString(n);if(!r)return new ArrayBuffer(0);if(!We.isBase64(r))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(r)):new Uint8Array(Buffer.from(r,"base64")).buffer}static FromBase64Url(n){const r=this.formatString(n);if(!r)return new ArrayBuffer(0);if(!We.isBase64Url(r))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(r.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(n){return this.ToBase64(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(n,r=We.DEFAULT_UTF8_ENCODING){switch(r){case"ascii":return this.FromBinary(n);case"utf8":return u1.fromString(n);case"utf16":case"utf16be":return gr.fromString(n);case"utf16le":case"usc2":return gr.fromString(n,!0);default:throw new Error(`Unknown type of encoding '${r}'`)}}static ToUtf8String(n,r=We.DEFAULT_UTF8_ENCODING){switch(r){case"ascii":return this.ToBinary(n);case"utf8":return u1.toString(n);case"utf16":case"utf16be":return gr.toString(n);case"utf16le":case"usc2":return gr.toString(n,!0);default:throw new Error(`Unknown type of encoding '${r}'`)}}static FromBinary(n){const r=n.length,o=new Uint8Array(r);for(let i=0;i<r;i++)o[i]=n.charCodeAt(i);return o.buffer}static ToBinary(n){const r=De.toUint8Array(n);let o="";for(let i=0;i<r.length;i++)o+=String.fromCharCode(r[i]);return o}static ToHex(n){const r=De.toUint8Array(n);let o="";const i=r.length;for(let a=0;a<i;a++){const s=r[a];s<16&&(o+="0"),o+=s.toString(16)}return o}static FromHex(n){let r=this.formatString(n);if(!r)return new ArrayBuffer(0);if(!We.isHex(r))throw new TypeError("Argument 'hexString' is not HEX encoded");r.length%2&&(r=`0${r}`);const o=new Uint8Array(r.length/2);for(let i=0;i<r.length;i=i+2){const a=r.slice(i,i+2);o[i/2]=parseInt(a,16)}return o.buffer}static ToUtf16String(n,r=!1){return gr.toString(n,r)}static FromUtf16String(n,r=!1){return gr.fromString(n,r)}static Base64Padding(n){const r=4-n.length%4;if(r<4)for(let o=0;o<r;o++)n+="=";return n}static formatString(n){return n?.replace(/[\n\r\t ]/g,"")||""}}We.DEFAULT_UTF8_ENCODING="utf8";function $9(...e){const n=e.map(i=>i.byteLength).reduce((i,a)=>i+a),r=new Uint8Array(n);let o=0;return e.map(i=>new Uint8Array(i)).forEach(i=>{for(const a of i)r[o++]=a}),r.buffer}function R9(e,n){if(!(e&&n)||e.byteLength!==n.byteLength)return!1;const r=new Uint8Array(e),o=new Uint8Array(n);for(let i=0;i<e.byteLength;i++)if(r[i]!==o[i])return!1;return!0}function ca(e,n){let r=0;if(e.length===1)return e[0];for(let o=e.length-1;o>=0;o--)r+=e[e.length-1-o]*Math.pow(2,n*o);return r}function Xo(e,n,r=-1){const o=r;let i=e,a=0,s=Math.pow(2,n);for(let l=1;l<8;l++){if(e<s){let c;if(o<0)c=new ArrayBuffer(l),a=l;else{if(o<l)return new ArrayBuffer(0);c=new ArrayBuffer(o),a=o}const d=new Uint8Array(c);for(let u=l-1;u>=0;u--){const f=Math.pow(2,u*n);d[a-u-1]=Math.floor(i/f),i-=d[a-u-1]*f}return c}s*=Math.pow(2,n)}return new ArrayBuffer(0)}function kg(...e){let n=0,r=0;for(const a of e)n+=a.length;const o=new ArrayBuffer(n),i=new Uint8Array(o);for(const a of e)i.set(a,r),r+=a.length;return i}function f1(){const e=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const l=e[0]===255&&e[1]&128,c=e[0]===0&&(e[1]&128)===0;(l||c)&&this.warnings.push("Needlessly long format")}const n=new ArrayBuffer(this.valueHex.byteLength),r=new Uint8Array(n);for(let l=0;l<this.valueHex.byteLength;l++)r[l]=0;r[0]=e[0]&128;const o=ca(r,8),i=new ArrayBuffer(this.valueHex.byteLength),a=new Uint8Array(i);for(let l=0;l<this.valueHex.byteLength;l++)a[l]=e[l];return a[0]&=127,ca(a,8)-o}function L9(e){const n=e<0?e*-1:e;let r=128;for(let o=1;o<8;o++){if(n<=r){if(e<0){const s=r-n,l=Xo(s,8,o),c=new Uint8Array(l);return c[0]|=128,l}let i=Xo(n,8,o),a=new Uint8Array(i);if(a[0]&128){const s=i.slice(0),l=new Uint8Array(s);i=new ArrayBuffer(i.byteLength+1),a=new Uint8Array(i);for(let c=0;c<s.byteLength;c++)a[c+1]=l[c];a[0]=0}return i}r*=Math.pow(2,8)}return new ArrayBuffer(0)}function D9(e,n){if(e.byteLength!==n.byteLength)return!1;const r=new Uint8Array(e),o=new Uint8Array(n);for(let i=0;i<r.length;i++)if(r[i]!==o[i])return!1;return!0}function Vn(e,n){const r=e.toString(10);if(n<r.length)return"";const o=n-r.length,i=new Array(o);for(let s=0;s<o;s++)i[s]="0";return i.join("").concat(r)}function wd(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function wg(e){let n=0,r=0;for(let i=0;i<e.length;i++){const a=e[i];n+=a.byteLength}const o=new Uint8Array(n);for(let i=0;i<e.length;i++){const a=e[i];o.set(new Uint8Array(a),r),r+=a.byteLength}return o.buffer}function Fr(e,n,r,o){return n instanceof Uint8Array?n.byteLength?r<0?(e.error="Wrong parameter: inputOffset less than zero",!1):o<0?(e.error="Wrong parameter: inputLength less than zero",!1):n.byteLength-r-o<0?(e.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(e.error="Wrong parameter: inputBuffer has zero length",!1):(e.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class Cd{constructor(){this.items=[]}write(n){this.items.push(n)}final(){return wg(this.items)}}const Ds=[new Uint8Array([1])],p1="0123456789",Cg="name",m1="valueHexView",M9="isHexOnly",F9="idBlock",j9="tagClass",U9="tagNumber",K9="isConstructed",q9="fromBER",G9="toBER",z9="local",Cn="",hr=new ArrayBuffer(0),Ed=new Uint8Array(0),Ms="EndOfContent",g1="OCTET STRING",h1="BIT STRING";function yr(e){var n;return n=class extends e{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(o){this.valueHexView=new Uint8Array(o)}constructor(...o){var i;super(...o);const a=o[0]||{};this.isHexOnly=(i=a.isHexOnly)!==null&&i!==void 0?i:!1,this.valueHexView=a.valueHex?De.toUint8Array(a.valueHex):Ed}fromBER(o,i,a,s){const l=o instanceof ArrayBuffer?new Uint8Array(o):o;if(!Fr(this,l,i,a))return-1;const c=i+a;return this.valueHexView=l.subarray(i,c),this.valueHexView.length?(this.blockLength=a,c):(this.warnings.push("Zero buffer length"),i)}toBER(o=!1){return this.isHexOnly?o?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",hr)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:We.ToHex(this.valueHexView)}}},n.NAME="hexBlock",n}class Zo{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(n){this.valueBeforeDecodeView=new Uint8Array(n)}constructor({blockLength:n=0,error:r=Cn,warnings:o=[],valueBeforeDecode:i=Ed}={}){this.blockLength=n,this.error=r,this.warnings=o,this.valueBeforeDecodeView=De.toUint8Array(i)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:We.ToHex(this.valueBeforeDecodeView)}}}Zo.NAME="baseBlock";class sn extends Zo{fromBER(n,r,o,i){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(n,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}sn.NAME="valueBlock";class y1 extends yr(Zo){constructor({idBlock:n={}}={}){var r,o,i,a;super(),n?(this.isHexOnly=(r=n.isHexOnly)!==null&&r!==void 0?r:!1,this.valueHexView=n.valueHex?De.toUint8Array(n.valueHex):Ed,this.tagClass=(o=n.tagClass)!==null&&o!==void 0?o:-1,this.tagNumber=(i=n.tagNumber)!==null&&i!==void 0?i:-1,this.isConstructed=(a=n.isConstructed)!==null&&a!==void 0?a:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(n=!1){let r=0;switch(this.tagClass){case 1:r|=0;break;case 2:r|=64;break;case 3:r|=128;break;case 4:r|=192;break;default:return this.error="Unknown tag class",hr}if(this.isConstructed&&(r|=32),this.tagNumber<31&&!this.isHexOnly){const i=new Uint8Array(1);if(!n){let a=this.tagNumber;a&=31,r|=a,i[0]=r}return i.buffer}if(!this.isHexOnly){const i=Xo(this.tagNumber,7),a=new Uint8Array(i),s=i.byteLength,l=new Uint8Array(s+1);if(l[0]=r|31,!n){for(let c=0;c<s-1;c++)l[c+1]=a[c]|128;l[s]=a[s-1]}return l.buffer}const o=new Uint8Array(this.valueHexView.byteLength+1);if(o[0]=r|31,!n){const i=this.valueHexView;for(let a=0;a<i.length-1;a++)o[a+1]=i[a]|128;o[this.valueHexView.byteLength]=i[i.length-1]}return o.buffer}fromBER(n,r,o){const i=De.toUint8Array(n);if(!Fr(this,i,r,o))return-1;const a=i.subarray(r,r+o);if(a.length===0)return this.error="Zero buffer length",-1;switch(a[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(a[0]&32)===32,this.isHexOnly=!1;const l=a[0]&31;if(l!==31)this.tagNumber=l,this.blockLength=1;else{let c=0;for(;;){const u=c+1;if(u>=a.length)return this.error="End of input reached before message was fully decoded",-1;if(c++,(a[u]&128)===0)break}this.blockLength=c+1;const d=this.valueHexView=new Uint8Array(c);for(let u=0;u<c;u++)d[u]=a[u+1]&127;this.blockLength<=9?this.tagNumber=ca(d,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return r+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}y1.NAME="identificationBlock";class _1 extends Zo{constructor({lenBlock:n={}}={}){var r,o,i;super(),this.isIndefiniteForm=(r=n.isIndefiniteForm)!==null&&r!==void 0?r:!1,this.longFormUsed=(o=n.longFormUsed)!==null&&o!==void 0?o:!1,this.length=(i=n.length)!==null&&i!==void 0?i:0}fromBER(n,r,o){const i=De.toUint8Array(n);if(!Fr(this,i,r,o))return-1;const a=i.subarray(r,r+o);if(a.length===0)return this.error="Zero buffer length",-1;if(a[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=a[0]===128,this.isIndefiniteForm)return this.blockLength=1,r+this.blockLength;if(this.longFormUsed=!!(a[0]&128),this.longFormUsed===!1)return this.length=a[0],this.blockLength=1,r+this.blockLength;const s=a[0]&127;if(s>8)return this.error="Too big integer",-1;if(s+1>a.length)return this.error="End of input reached before message was fully decoded",-1;const l=r+1,c=i.subarray(l,l+s);return c[s-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=ca(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=s+1,r+this.blockLength}toBER(n=!1){let r,o;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return r=new ArrayBuffer(1),n===!1&&(o=new Uint8Array(r),o[0]=128),r;if(this.longFormUsed){const i=Xo(this.length,8);if(i.byteLength>127)return this.error="Too big length",hr;if(r=new ArrayBuffer(i.byteLength+1),n)return r;const a=new Uint8Array(i);o=new Uint8Array(r),o[0]=i.byteLength|128;for(let s=0;s<i.byteLength;s++)o[s+1]=a[s];return r}return r=new ArrayBuffer(1),n===!1&&(o=new Uint8Array(r),o[0]=this.length),r}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}_1.NAME="lengthBlock";const Ue={};class Yt extends Zo{constructor({name:n=Cn,optional:r=!1,primitiveSchema:o,...i}={},a){super(i),this.name=n,this.optional=r,o&&(this.primitiveSchema=o),this.idBlock=new y1(i),this.lenBlock=new _1(i),this.valueBlock=a?new a(i):new sn(i)}fromBER(n,r,o,i){const a=this.valueBlock.fromBER(n,r,this.lenBlock.isIndefiniteForm?o:this.lenBlock.length,i);return a===-1?(this.error=this.valueBlock.error,a):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),a)}toBER(n,r){const o=r||new Cd;r||b1(this);const i=this.idBlock.toBER(n);if(o.write(i),this.lenBlock.isIndefiniteForm)o.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(n,o),o.write(new ArrayBuffer(2));else{const a=this.valueBlock.toBER(n);this.lenBlock.length=a.byteLength;const s=this.lenBlock.toBER(n);o.write(s),o.write(a)}return r?hr:o.final()}toJSON(){const n={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(n.primitiveSchema=this.primitiveSchema.toJSON()),n}toString(n="ascii"){return n==="ascii"?this.onAsciiEncoding():We.ToHex(this.toBER())}onAsciiEncoding(){const n=this.constructor.NAME,r=We.ToHex(this.valueBlock.valueBeforeDecodeView);return`${n} : ${r}`}isEqual(n){if(this===n)return!0;if(!(n instanceof this.constructor))return!1;const r=this.toBER(),o=n.toBER();return D9(r,o)}}Yt.NAME="BaseBlock";function b1(e){var n;if(e instanceof Ue.Constructed)for(const r of e.valueBlock.value)b1(r)&&(e.lenBlock.isIndefiniteForm=!0);return!!(!((n=e.lenBlock)===null||n===void 0)&&n.isIndefiniteForm)}class Eg extends Yt{getValue(){return this.valueBlock.value}setValue(n){this.valueBlock.value=n}constructor({value:n=Cn,...r}={},o){super(r,o),n&&this.fromString(n)}fromBER(n,r,o){const i=this.valueBlock.fromBER(n,r,this.lenBlock.isIndefiniteForm?o:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}Eg.NAME="BaseStringBlock";class k1 extends yr(sn){constructor({isHexOnly:n=!0,...r}={}){super(r),this.isHexOnly=n}}k1.NAME="PrimitiveValueBlock";var w1;class Fs extends Yt{constructor(n={}){super(n,k1),this.idBlock.isConstructed=!1}}w1=Fs,Ue.Primitive=w1,Fs.NAME="PRIMITIVE";const C1=100,E1=1e4,N1=16*1024*1024,H9="Maximum ASN.1 nesting depth exceeded",W9="Maximum ASN.1 node count exceeded",Y9="Maximum ASN.1 content length exceeded";function js(e={}){var n,r,o;return{depth:0,maxDepth:(n=e.maxDepth)!==null&&n!==void 0?n:C1,nodesCount:0,maxNodes:(r=e.maxNodes)!==null&&r!==void 0?r:E1,maxContentLength:(o=e.maxContentLength)!==null&&o!==void 0?o:N1}}function J9(e){const n=new Yt({},sn);return n.error=e,{offset:-1,result:n}}function X9(e){if(e.nodesCount+=1,e.nodesCount>e.maxNodes)return W9}function Z9(e,n){if(e>n.maxContentLength)return Y9}function Ng(e,n,r,o){const i=o.depth+1;if(i>o.maxDepth)return J9(H9);o.depth=i;try{return Nd(e,n,r,o)}finally{o.depth-=1}}function Q9(e,n){if(e instanceof n)return e;const r=new n;return r.idBlock=e.idBlock,r.lenBlock=e.lenBlock,r.warnings=e.warnings,r.valueBeforeDecodeView=e.valueBeforeDecodeView,r}function Nd(e,n=0,r=e.length,o=js()){const i=n;let a=new Yt({},sn);const s=new Zo;if(!Fr(s,e,n,r))return a.error=s.error,{offset:-1,result:a};if(!e.subarray(n,n+r).length)return a.error="Zero buffer length",{offset:-1,result:a};const c=X9(o);if(c)return a.error=c,{offset:-1,result:a};let d=a.idBlock.fromBER(e,n,r);if(a.idBlock.warnings.length&&a.warnings.concat(a.idBlock.warnings),d===-1)return a.error=a.idBlock.error,{offset:-1,result:a};if(n=d,r-=a.idBlock.blockLength,d=a.lenBlock.fromBER(e,n,r),a.lenBlock.warnings.length&&a.warnings.concat(a.lenBlock.warnings),d===-1)return a.error=a.lenBlock.error,{offset:-1,result:a};n=d,r-=a.lenBlock.blockLength;const u=a.lenBlock.isIndefiniteForm?r:a.lenBlock.length,f=Z9(u,o);if(f)return a.error=f,{offset:-1,result:a};if(!a.idBlock.isConstructed&&a.lenBlock.isIndefiniteForm)return a.error="Indefinite length form used for primitive encoding form",{offset:-1,result:a};let p=Yt;switch(a.idBlock.tagClass){case 1:if(a.idBlock.tagNumber>=37&&a.idBlock.isHexOnly===!1)return a.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:a};switch(a.idBlock.tagNumber){case 0:if(a.idBlock.isConstructed&&a.lenBlock.length>0)return a.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:a};p=Ue.EndOfContent;break;case 1:p=Ue.Boolean;break;case 2:p=Ue.Integer;break;case 3:p=Ue.BitString;break;case 4:p=Ue.OctetString;break;case 5:p=Ue.Null;break;case 6:p=Ue.ObjectIdentifier;break;case 10:p=Ue.Enumerated;break;case 12:p=Ue.Utf8String;break;case 13:p=Ue.RelativeObjectIdentifier;break;case 14:p=Ue.TIME;break;case 15:return a.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:a};case 16:p=Ue.Sequence;break;case 17:p=Ue.Set;break;case 18:p=Ue.NumericString;break;case 19:p=Ue.PrintableString;break;case 20:p=Ue.TeletexString;break;case 21:p=Ue.VideotexString;break;case 22:p=Ue.IA5String;break;case 23:p=Ue.UTCTime;break;case 24:p=Ue.GeneralizedTime;break;case 25:p=Ue.GraphicString;break;case 26:p=Ue.VisibleString;break;case 27:p=Ue.GeneralString;break;case 28:p=Ue.UniversalString;break;case 29:p=Ue.CharacterString;break;case 30:p=Ue.BmpString;break;case 31:p=Ue.DATE;break;case 32:p=Ue.TimeOfDay;break;case 33:p=Ue.DateTime;break;case 34:p=Ue.Duration;break;default:{const m=a.idBlock.isConstructed?new Ue.Constructed:new Ue.Primitive;m.idBlock=a.idBlock,m.lenBlock=a.lenBlock,m.warnings=a.warnings,a=m}}break;default:p=a.idBlock.isConstructed?Ue.Constructed:Ue.Primitive}return a=Q9(a,p),d=a.fromBER(e,n,u,o),a.valueBeforeDecodeView=e.subarray(i,i+a.blockLength),{offset:d,result:a}}function da(e,n={}){if(!e.byteLength){const r=new Yt({},sn);return r.error="Input buffer has zero length",{offset:-1,result:r}}return Nd(De.toUint8Array(e).slice(),0,e.byteLength,js(n))}function eW(e,n){return e?1:n}class co extends sn{constructor({value:n=[],isIndefiniteForm:r=!1,...o}={}){super(o),this.value=n,this.isIndefiniteForm=r}fromBER(n,r,o,i){const a=De.toUint8Array(n),s=i??js();if(!Fr(this,a,r,o))return-1;if(this.valueBeforeDecodeView=a.subarray(r,r+o),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),r;let l=r;for(;eW(this.isIndefiniteForm,o)>0;){const c=Ng(a,l,o,s);if(c.offset===-1)return this.error=c.result.error,this.warnings.concat(c.result.warnings),-1;if(l=c.offset,this.blockLength+=c.result.blockLength,o-=c.result.blockLength,this.value.push(c.result),this.isIndefiniteForm&&c.result.constructor.NAME===Ms)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Ms?this.value.pop():this.warnings.push("No EndOfContent block encoded")),l}toBER(n,r){const o=r||new Cd;for(let i=0;i<this.value.length;i++)this.value[i].toBER(n,o);return r?hr:o.final()}toJSON(){const n={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const r of this.value)n.value.push(r.toJSON());return n}}co.NAME="ConstructedValueBlock";var S1;class pn extends Yt{constructor(n={}){super(n,co),this.idBlock.isConstructed=!0}fromBER(n,r,o,i){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const a=this.valueBlock.fromBER(n,r,this.lenBlock.isIndefiniteForm?o:this.lenBlock.length,i);return a===-1?(this.error=this.valueBlock.error,a):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),a)}onAsciiEncoding(){const n=[];for(const o of this.valueBlock.value)n.push(o.toString("ascii").split(`
458
+ `+" ".repeat(n));var kd;(function(e){e.DEFAULT={allowTrailingComma:!1}})(kd||(kd={}));function C9(e,n=[],r=kd.DEFAULT){let o={type:"array",offset:-1,length:-1,children:[],parent:void 0};function i(l){o.type==="property"&&(o.length=l-o.offset,o=o.parent)}function a(l){return o.children.push(l),l}E9(e,{onObjectBegin:l=>{o=a({type:"object",offset:l,length:-1,parent:o,children:[]})},onObjectProperty:(l,c,d)=>{o=a({type:"property",offset:c,length:-1,parent:o,children:[]}),o.children.push({type:"string",value:l,offset:c,length:d,parent:o})},onObjectEnd:(l,c)=>{i(l+c),o.length=l+c-o.offset,o=o.parent,i(l+c)},onArrayBegin:(l,c)=>{o=a({type:"array",offset:l,length:-1,parent:o,children:[]})},onArrayEnd:(l,c)=>{o.length=l+c-o.offset,o=o.parent,i(l+c)},onLiteralValue:(l,c,d)=>{a({type:N9(l),offset:c,length:d,parent:o,value:l}),i(c+d)},onSeparator:(l,c,d)=>{o.type==="property"&&(l===":"?o.colonOffset=c:l===","&&i(c))},onError:(l,c,d)=>{n.push({error:l,offset:c,length:d})}},r);const s=o.children[0];return s&&delete s.parent,s}function E9(e,n,r=kd.DEFAULT){const o=w9(e,!1),i=[];let a=0;function s(O){return O?()=>a===0&&O(o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter()):()=>!0}function l(O){return O?R=>a===0&&O(R,o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter()):()=>!0}function c(O){return O?R=>a===0&&O(R,o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter(),()=>i.slice()):()=>!0}function d(O){return O?()=>{a>0?a++:O(o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter(),()=>i.slice())===!1&&(a=1)}:()=>!0}function u(O){return O?()=>{a>0&&a--,a===0&&O(o.getTokenOffset(),o.getTokenLength(),o.getTokenStartLine(),o.getTokenStartCharacter())}:()=>!0}const f=d(n.onObjectBegin),p=c(n.onObjectProperty),m=u(n.onObjectEnd),h=d(n.onArrayBegin),y=u(n.onArrayEnd),g=c(n.onLiteralValue),_=l(n.onSeparator),k=s(n.onComment),b=l(n.onError),N=r&&r.disallowComments,C=r&&r.allowTrailingComma;function w(){for(;;){const O=o.scan();switch(o.getTokenError()){case 4:S(14);break;case 5:S(15);break;case 3:S(13);break;case 1:N||S(11);break;case 2:S(12);break;case 6:S(16);break}switch(O){case 12:case 13:N?S(10):k();break;case 16:S(1);break;case 15:case 14:break;default:return O}}}function S(O,R=[],Q=[]){if(b(O),R.length+Q.length>0){let fe=o.getToken();for(;fe!==17;){if(R.indexOf(fe)!==-1){w();break}else if(Q.indexOf(fe)!==-1)break;fe=w()}}}function x(O){const R=o.getTokenValue();return O?g(R):(p(R),i.push(R)),w(),!0}function I(){switch(o.getToken()){case 11:const O=o.getTokenValue();let R=Number(O);isNaN(R)&&(S(2),R=0),g(R);break;case 7:g(null);break;case 8:g(!0);break;case 9:g(!1);break;default:return!1}return w(),!0}function T(){return o.getToken()!==10?(S(3,[],[2,5]),!1):(x(!1),o.getToken()===6?(_(":"),w(),P()||S(4,[],[2,5])):S(5,[],[2,5]),i.pop(),!0)}function A(){f(),w();let O=!1;for(;o.getToken()!==2&&o.getToken()!==17;){if(o.getToken()===5){if(O||S(4,[],[]),_(","),w(),o.getToken()===2&&C)break}else O&&S(6,[],[]);T()||S(4,[],[2,5]),O=!0}return m(),o.getToken()!==2?S(7,[2],[]):w(),!0}function v(){h(),w();let O=!0,R=!1;for(;o.getToken()!==4&&o.getToken()!==17;){if(o.getToken()===5){if(R||S(4,[],[]),_(","),w(),o.getToken()===4&&C)break}else R&&S(6,[],[]);O?(i.push(0),O=!1):i[i.length-1]++,P()||S(4,[],[4,5]),R=!0}return y(),O||i.pop(),o.getToken()!==4?S(8,[4],[]):w(),!0}function P(){switch(o.getToken()){case 3:return v();case 1:return A();case 10:return x(!0);default:return I()}}return w(),o.getToken()===17?r.allowEmptyContent?!0:(S(4,[],[]),!1):P()?(o.getToken()!==17&&S(9,[],[]),!0):(S(4,[],[]),!1)}function N9(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(e){if(Array.isArray(e))return"array"}else return"null";return"object"}default:return"null"}}var i1;(function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"})(i1||(i1={}));var a1;(function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"})(a1||(a1={}));const S9=C9;var s1;(function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"})(s1||(s1={}));function A9(e,n){const r=S9(e);return{language:"json",altVersionId:n,root:r}}const x9=Object.freeze(Object.defineProperty({__proto__:null,parseIntoJSONContext:A9},Symbol.toStringTag,{value:"Module"}));var l1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},c1={};var d1;function I9(){if(d1)return c1;d1=1;var e;return(function(n){(function(r){var o=typeof globalThis=="object"?globalThis:typeof l1=="object"?l1:typeof self=="object"?self:typeof this=="object"?this:c(),i=a(n);typeof o.Reflect<"u"&&(i=a(o.Reflect,i)),r(i,o),typeof o.Reflect>"u"&&(o.Reflect=n);function a(d,u){return function(f,p){Object.defineProperty(d,f,{configurable:!0,writable:!0,value:p}),u&&u(f,p)}}function s(){try{return Function("return this;")()}catch{}}function l(){try{return(0,eval)("(function() { return this; })()")}catch{}}function c(){return s()||l()}})(function(r,o){var i=Object.prototype.hasOwnProperty,a=typeof Symbol=="function",s=a&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",l=a&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",c=typeof Object.create=="function",d={__proto__:[]}instanceof Array,u=!c&&!d,f={create:c?function(){return ot(Object.create(null))}:d?function(){return ot({__proto__:null})}:function(){return ot({})},has:u?function(F,te){return i.call(F,te)}:function(F,te){return te in F},get:u?function(F,te){return i.call(F,te)?F[te]:void 0}:function(F,te){return F[te]}},p=Object.getPrototypeOf(Function),m=typeof Map=="function"&&typeof Map.prototype.entries=="function"?Map:me(),h=typeof Set=="function"&&typeof Set.prototype.entries=="function"?Set:Ae(),y=typeof WeakMap=="function"?WeakMap:ze(),g=a?Symbol.for("@reflect-metadata:registry"):void 0,_=L(),k=M(_);function b(F,te,G,le){if(J(G)){if(!he(F))throw new TypeError;if(!je(te))throw new TypeError;return P(F,te)}else{if(!he(F))throw new TypeError;if(!oe(te))throw new TypeError;if(!oe(le)&&!J(le)&&!ce(le))throw new TypeError;return ce(le)&&(le=void 0),G=X(G),O(F,te,G,le)}}r("decorate",b);function N(F,te){function G(le,Ie){if(!oe(le))throw new TypeError;if(!J(Ie)&&!qe(Ie))throw new TypeError;j(F,te,le,Ie)}return G}r("metadata",N);function C(F,te,G,le){if(!oe(G))throw new TypeError;return J(le)||(le=X(le)),j(F,te,G,le)}r("defineMetadata",C);function w(F,te,G){if(!oe(te))throw new TypeError;return J(G)||(G=X(G)),R(F,te,G)}r("hasMetadata",w);function S(F,te,G){if(!oe(te))throw new TypeError;return J(G)||(G=X(G)),Q(F,te,G)}r("hasOwnMetadata",S);function x(F,te,G){if(!oe(te))throw new TypeError;return J(G)||(G=X(G)),fe(F,te,G)}r("getMetadata",x);function I(F,te,G){if(!oe(te))throw new TypeError;return J(G)||(G=X(G)),H(F,te,G)}r("getOwnMetadata",I);function T(F,te){if(!oe(F))throw new TypeError;return J(te)||(te=X(te)),D(F,te)}r("getMetadataKeys",T);function A(F,te){if(!oe(F))throw new TypeError;return J(te)||(te=X(te)),ee(F,te)}r("getOwnMetadataKeys",A);function v(F,te,G){if(!oe(te))throw new TypeError;if(J(G)||(G=X(G)),!oe(te))throw new TypeError;J(G)||(G=X(G));var le=ae(te,G,!1);return J(le)?!1:le.OrdinaryDeleteMetadata(F,te,G)}r("deleteMetadata",v);function P(F,te){for(var G=F.length-1;G>=0;--G){var le=F[G],Ie=le(te);if(!J(Ie)&&!ce(Ie)){if(!je(Ie))throw new TypeError;te=Ie}}return te}function O(F,te,G,le){for(var Ie=F.length-1;Ie>=0;--Ie){var tt=F[Ie],ge=tt(te,G,le);if(!J(ge)&&!ce(ge)){if(!oe(ge))throw new TypeError;le=ge}}return le}function R(F,te,G){var le=Q(F,te,G);if(le)return!0;var Ie=U(te);return ce(Ie)?!1:R(F,Ie,G)}function Q(F,te,G){var le=ae(te,G,!1);return J(le)?!1:Ge(le.OrdinaryHasOwnMetadata(F,te,G))}function fe(F,te,G){var le=Q(F,te,G);if(le)return H(F,te,G);var Ie=U(te);if(!ce(Ie))return fe(F,Ie,G)}function H(F,te,G){var le=ae(te,G,!1);if(!J(le))return le.OrdinaryGetOwnMetadata(F,te,G)}function j(F,te,G,le){var Ie=ae(G,le,!0);Ie.OrdinaryDefineOwnMetadata(F,te,G,le)}function D(F,te){var G=ee(F,te),le=U(F);if(le===null)return G;var Ie=D(le,te);if(Ie.length<=0)return G;if(G.length<=0)return Ie;for(var tt=new h,ge=[],we=0,V=G;we<V.length;we++){var ue=V[we],re=tt.has(ue);re||(tt.add(ue),ge.push(ue))}for(var ie=0,Re=Ie;ie<Re.length;ie++){var ue=Re[ie],re=tt.has(ue);re||(tt.add(ue),ge.push(ue))}return ge}function ee(F,te){var G=ae(F,te,!1);return G?G.OrdinaryOwnMetadataKeys(F,te):[]}function K(F){if(F===null)return 1;switch(typeof F){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return F===null?1:6;default:return 6}}function J(F){return F===void 0}function ce(F){return F===null}function z(F){return typeof F=="symbol"}function oe(F){return typeof F=="object"?F!==null:typeof F=="function"}function Pe(F,te){switch(K(F)){case 0:return F;case 1:return F;case 2:return F;case 3:return F;case 4:return F;case 5:return F}var G="string",le=Ve(F,s);if(le!==void 0){var Ie=le.call(F,G);if(oe(Ie))throw new TypeError;return Ie}return Ee(F)}function Ee(F,te){var G,le;{var Ie=F.toString;if(ve(Ie)){var le=Ie.call(F);if(!oe(le))return le}var G=F.valueOf;if(ve(G)){var le=G.call(F);if(!oe(le))return le}}throw new TypeError}function Ge(F){return!!F}function se(F){return""+F}function X(F){var te=Pe(F);return z(te)?te:se(te)}function he(F){return Array.isArray?Array.isArray(F):F instanceof Object?F instanceof Array:Object.prototype.toString.call(F)==="[object Array]"}function ve(F){return typeof F=="function"}function je(F){return typeof F=="function"}function qe(F){switch(K(F)){case 3:return!0;case 4:return!0;default:return!1}}function Be(F,te){return F===te||F!==F&&te!==te}function Ve(F,te){var G=F[te];if(G!=null){if(!ve(G))throw new TypeError;return G}}function $e(F){var te=Ve(F,l);if(!ve(te))throw new TypeError;var G=te.call(F);if(!oe(G))throw new TypeError;return G}function Ke(F){return F.value}function de(F){var te=F.next();return te.done?!1:te}function Z(F){var te=F.return;te&&te.call(F)}function U(F){var te=Object.getPrototypeOf(F);if(typeof F!="function"||F===p||te!==p)return te;var G=F.prototype,le=G&&Object.getPrototypeOf(G);if(le==null||le===Object.prototype)return te;var Ie=le.constructor;return typeof Ie!="function"||Ie===F?te:Ie}function ne(){var F;!J(g)&&typeof o.Reflect<"u"&&!(g in o.Reflect)&&typeof o.Reflect.defineMetadata=="function"&&(F=Y(o.Reflect));var te,G,le,Ie=new y,tt={registerProvider:ge,getProvider:V,setProvider:re};return tt;function ge(ie){if(!Object.isExtensible(tt))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case F===ie:break;case J(te):te=ie;break;case te===ie:break;case J(G):G=ie;break;case G===ie:break;default:le===void 0&&(le=new h),le.add(ie);break}}function we(ie,Re){if(!J(te)){if(te.isProviderFor(ie,Re))return te;if(!J(G)){if(G.isProviderFor(ie,Re))return te;if(!J(le))for(var Oe=$e(le);;){var ye=de(Oe);if(!ye)return;var be=Ke(ye);if(be.isProviderFor(ie,Re))return Z(Oe),be}}}if(!J(F)&&F.isProviderFor(ie,Re))return F}function V(ie,Re){var Oe=Ie.get(ie),ye;return J(Oe)||(ye=Oe.get(Re)),J(ye)&&(ye=we(ie,Re),J(ye)||(J(Oe)&&(Oe=new m,Ie.set(ie,Oe)),Oe.set(Re,ye))),ye}function ue(ie){if(J(ie))throw new TypeError;return te===ie||G===ie||!J(le)&&le.has(ie)}function re(ie,Re,Oe){if(!ue(Oe))throw new Error("Metadata provider not registered.");var ye=V(ie,Re);if(ye!==Oe){if(!J(ye))return!1;var be=Ie.get(ie);J(be)&&(be=new m,Ie.set(ie,be)),be.set(Re,Oe)}return!0}}function L(){var F;return!J(g)&&oe(o.Reflect)&&Object.isExtensible(o.Reflect)&&(F=o.Reflect[g]),J(F)&&(F=ne()),!J(g)&&oe(o.Reflect)&&Object.isExtensible(o.Reflect)&&Object.defineProperty(o.Reflect,g,{enumerable:!1,configurable:!1,writable:!1,value:F}),F}function M(F){var te=new y,G={isProviderFor:function(ue,re){var ie=te.get(ue);return J(ie)?!1:ie.has(re)},OrdinaryDefineOwnMetadata:ge,OrdinaryHasOwnMetadata:Ie,OrdinaryGetOwnMetadata:tt,OrdinaryOwnMetadataKeys:we,OrdinaryDeleteMetadata:V};return _.registerProvider(G),G;function le(ue,re,ie){var Re=te.get(ue),Oe=!1;if(J(Re)){if(!ie)return;Re=new m,te.set(ue,Re),Oe=!0}var ye=Re.get(re);if(J(ye)){if(!ie)return;if(ye=new m,Re.set(re,ye),!F.setProvider(ue,re,G))throw Re.delete(re),Oe&&te.delete(ue),new Error("Wrong provider for target.")}return ye}function Ie(ue,re,ie){var Re=le(re,ie,!1);return J(Re)?!1:Ge(Re.has(ue))}function tt(ue,re,ie){var Re=le(re,ie,!1);if(!J(Re))return Re.get(ue)}function ge(ue,re,ie,Re){var Oe=le(ie,Re,!0);Oe.set(ue,re)}function we(ue,re){var ie=[],Re=le(ue,re,!1);if(J(Re))return ie;for(var Oe=Re.keys(),ye=$e(Oe),be=0;;){var Ct=de(ye);if(!Ct)return ie.length=be,ie;var rt=Ke(Ct);try{ie[be]=rt}catch(Ze){try{Z(ye)}finally{throw Ze}}be++}}function V(ue,re,ie){var Re=le(re,ie,!1);if(J(Re)||!Re.delete(ue))return!1;if(Re.size===0){var Oe=te.get(re);J(Oe)||(Oe.delete(ie),Oe.size===0&&te.delete(Oe))}return!0}}function Y(F){var te=F.defineMetadata,G=F.hasOwnMetadata,le=F.getOwnMetadata,Ie=F.getOwnMetadataKeys,tt=F.deleteMetadata,ge=new y,we={isProviderFor:function(V,ue){var re=ge.get(V);return!J(re)&&re.has(ue)?!0:Ie(V,ue).length?(J(re)&&(re=new h,ge.set(V,re)),re.add(ue),!0):!1},OrdinaryDefineOwnMetadata:te,OrdinaryHasOwnMetadata:G,OrdinaryGetOwnMetadata:le,OrdinaryOwnMetadataKeys:Ie,OrdinaryDeleteMetadata:tt};return we}function ae(F,te,G){var le=_.getProvider(F,te);if(!J(le))return le;if(G){if(_.setProvider(F,te,k))return k;throw new Error("Illegal state.")}}function me(){var F={},te=[],G=(function(){function we(V,ue,re){this._index=0,this._keys=V,this._values=ue,this._selector=re}return we.prototype["@@iterator"]=function(){return this},we.prototype[l]=function(){return this},we.prototype.next=function(){var V=this._index;if(V>=0&&V<this._keys.length){var ue=this._selector(this._keys[V],this._values[V]);return V+1>=this._keys.length?(this._index=-1,this._keys=te,this._values=te):this._index++,{value:ue,done:!1}}return{value:void 0,done:!0}},we.prototype.throw=function(V){throw this._index>=0&&(this._index=-1,this._keys=te,this._values=te),V},we.prototype.return=function(V){return this._index>=0&&(this._index=-1,this._keys=te,this._values=te),{value:V,done:!0}},we})(),le=(function(){function we(){this._keys=[],this._values=[],this._cacheKey=F,this._cacheIndex=-2}return Object.defineProperty(we.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),we.prototype.has=function(V){return this._find(V,!1)>=0},we.prototype.get=function(V){var ue=this._find(V,!1);return ue>=0?this._values[ue]:void 0},we.prototype.set=function(V,ue){var re=this._find(V,!0);return this._values[re]=ue,this},we.prototype.delete=function(V){var ue=this._find(V,!1);if(ue>=0){for(var re=this._keys.length,ie=ue+1;ie<re;ie++)this._keys[ie-1]=this._keys[ie],this._values[ie-1]=this._values[ie];return this._keys.length--,this._values.length--,Be(V,this._cacheKey)&&(this._cacheKey=F,this._cacheIndex=-2),!0}return!1},we.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=F,this._cacheIndex=-2},we.prototype.keys=function(){return new G(this._keys,this._values,Ie)},we.prototype.values=function(){return new G(this._keys,this._values,tt)},we.prototype.entries=function(){return new G(this._keys,this._values,ge)},we.prototype["@@iterator"]=function(){return this.entries()},we.prototype[l]=function(){return this.entries()},we.prototype._find=function(V,ue){if(!Be(this._cacheKey,V)){this._cacheIndex=-1;for(var re=0;re<this._keys.length;re++)if(Be(this._keys[re],V)){this._cacheIndex=re;break}}return this._cacheIndex<0&&ue&&(this._cacheIndex=this._keys.length,this._keys.push(V),this._values.push(void 0)),this._cacheIndex},we})();return le;function Ie(we,V){return we}function tt(we,V){return V}function ge(we,V){return[we,V]}}function Ae(){var F=(function(){function te(){this._map=new m}return Object.defineProperty(te.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),te.prototype.has=function(G){return this._map.has(G)},te.prototype.add=function(G){return this._map.set(G,G),this},te.prototype.delete=function(G){return this._map.delete(G)},te.prototype.clear=function(){this._map.clear()},te.prototype.keys=function(){return this._map.keys()},te.prototype.values=function(){return this._map.keys()},te.prototype.entries=function(){return this._map.entries()},te.prototype["@@iterator"]=function(){return this.keys()},te.prototype[l]=function(){return this.keys()},te})();return F}function ze(){var F=16,te=f.create(),G=le();return(function(){function V(){this._key=le()}return V.prototype.has=function(ue){var re=Ie(ue,!1);return re!==void 0?f.has(re,this._key):!1},V.prototype.get=function(ue){var re=Ie(ue,!1);return re!==void 0?f.get(re,this._key):void 0},V.prototype.set=function(ue,re){var ie=Ie(ue,!0);return ie[this._key]=re,this},V.prototype.delete=function(ue){var re=Ie(ue,!1);return re!==void 0?delete re[this._key]:!1},V.prototype.clear=function(){this._key=le()},V})();function le(){var V;do V="@@WeakMap@@"+we();while(f.has(te,V));return te[V]=!0,V}function Ie(V,ue){if(!i.call(V,G)){if(!ue)return;Object.defineProperty(V,G,{value:f.create()})}return V[G]}function tt(V,ue){for(var re=0;re<ue;++re)V[re]=Math.random()*255|0;return V}function ge(V){if(typeof Uint8Array=="function"){var ue=new Uint8Array(V);return typeof crypto<"u"?crypto.getRandomValues(ue):typeof msCrypto<"u"?msCrypto.getRandomValues(ue):tt(ue,V),ue}return tt(new Array(V),V)}function we(){var V=ge(F);V[6]=V[6]&79|64,V[8]=V[8]&191|128;for(var ue="",re=0;re<F;++re){var ie=V[re];(re===4||re===6||re===8)&&(ue+="-"),ie<16&&(ue+="0"),ue+=ie.toString(16).toLowerCase()}return ue}}function ot(F){return F.__=void 0,delete F.__,F}})})(e||(e={})),c1}var v9=I9();const T9=BS({__proto__:null},[v9]);const B9="[object ArrayBuffer]";class De{static isArrayBuffer(n){return Object.prototype.toString.call(n)===B9}static toArrayBuffer(n){return this.isArrayBuffer(n)?n:n.byteLength===n.buffer.byteLength||n.byteOffset===0&&n.byteLength===n.buffer.byteLength?n.buffer:this.toUint8Array(n.buffer).slice(n.byteOffset,n.byteOffset+n.byteLength).buffer}static toUint8Array(n){return this.toView(n,Uint8Array)}static toView(n,r){if(n.constructor===r)return n;if(this.isArrayBuffer(n))return new r(n);if(this.isArrayBufferView(n))return new r(n.buffer,n.byteOffset,n.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(n){return this.isArrayBufferView(n)||this.isArrayBuffer(n)}static isArrayBufferView(n){return ArrayBuffer.isView(n)||n&&this.isArrayBuffer(n.buffer)}static isEqual(n,r){const o=De.toUint8Array(n),i=De.toUint8Array(r);if(o.length!==i.byteLength)return!1;for(let a=0;a<o.length;a++)if(o[a]!==i[a])return!1;return!0}static concat(...n){let r;Array.isArray(n[0])&&!(n[1]instanceof Function)||Array.isArray(n[0])&&n[1]instanceof Function?r=n[0]:n[n.length-1]instanceof Function?r=n.slice(0,n.length-1):r=n;let o=0;for(const s of r)o+=s.byteLength;const i=new Uint8Array(o);let a=0;for(const s of r){const l=this.toUint8Array(s);i.set(l,a),a+=l.length}return n[n.length-1]instanceof Function?this.toView(i,n[n.length-1]):i.buffer}}const bg="string",O9=/^[0-9a-f\s]+$/i,P9=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,V9=/^[a-zA-Z0-9-_]+$/;class u1{static fromString(n){const r=unescape(encodeURIComponent(n)),o=new Uint8Array(r.length);for(let i=0;i<r.length;i++)o[i]=r.charCodeAt(i);return o.buffer}static toString(n){const r=De.toUint8Array(n);let o="";for(let a=0;a<r.length;a++)o+=String.fromCharCode(r[a]);return decodeURIComponent(escape(o))}}class gr{static toString(n,r=!1){const o=De.toArrayBuffer(n),i=new DataView(o);let a="";for(let s=0;s<o.byteLength;s+=2){const l=i.getUint16(s,r);a+=String.fromCharCode(l)}return a}static fromString(n,r=!1){const o=new ArrayBuffer(n.length*2),i=new DataView(o);for(let a=0;a<n.length;a++)i.setUint16(a*2,n.charCodeAt(a),r);return o}}class We{static isHex(n){return typeof n===bg&&O9.test(n)}static isBase64(n){return typeof n===bg&&P9.test(n)}static isBase64Url(n){return typeof n===bg&&V9.test(n)}static ToString(n,r="utf8"){const o=De.toUint8Array(n);switch(r.toLowerCase()){case"utf8":return this.ToUtf8String(o);case"binary":return this.ToBinary(o);case"hex":return this.ToHex(o);case"base64":return this.ToBase64(o);case"base64url":return this.ToBase64Url(o);case"utf16le":return gr.toString(o,!0);case"utf16":case"utf16be":return gr.toString(o);default:throw new Error(`Unknown type of encoding '${r}'`)}}static FromString(n,r="utf8"){if(!n)return new ArrayBuffer(0);switch(r.toLowerCase()){case"utf8":return this.FromUtf8String(n);case"binary":return this.FromBinary(n);case"hex":return this.FromHex(n);case"base64":return this.FromBase64(n);case"base64url":return this.FromBase64Url(n);case"utf16le":return gr.fromString(n,!0);case"utf16":case"utf16be":return gr.fromString(n);default:throw new Error(`Unknown type of encoding '${r}'`)}}static ToBase64(n){const r=De.toUint8Array(n);if(typeof btoa<"u"){const o=this.ToString(r,"binary");return btoa(o)}else return Buffer.from(r).toString("base64")}static FromBase64(n){const r=this.formatString(n);if(!r)return new ArrayBuffer(0);if(!We.isBase64(r))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(r)):new Uint8Array(Buffer.from(r,"base64")).buffer}static FromBase64Url(n){const r=this.formatString(n);if(!r)return new ArrayBuffer(0);if(!We.isBase64Url(r))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(r.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(n){return this.ToBase64(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(n,r=We.DEFAULT_UTF8_ENCODING){switch(r){case"ascii":return this.FromBinary(n);case"utf8":return u1.fromString(n);case"utf16":case"utf16be":return gr.fromString(n);case"utf16le":case"usc2":return gr.fromString(n,!0);default:throw new Error(`Unknown type of encoding '${r}'`)}}static ToUtf8String(n,r=We.DEFAULT_UTF8_ENCODING){switch(r){case"ascii":return this.ToBinary(n);case"utf8":return u1.toString(n);case"utf16":case"utf16be":return gr.toString(n);case"utf16le":case"usc2":return gr.toString(n,!0);default:throw new Error(`Unknown type of encoding '${r}'`)}}static FromBinary(n){const r=n.length,o=new Uint8Array(r);for(let i=0;i<r;i++)o[i]=n.charCodeAt(i);return o.buffer}static ToBinary(n){const r=De.toUint8Array(n);let o="";for(let i=0;i<r.length;i++)o+=String.fromCharCode(r[i]);return o}static ToHex(n){const r=De.toUint8Array(n);let o="";const i=r.length;for(let a=0;a<i;a++){const s=r[a];s<16&&(o+="0"),o+=s.toString(16)}return o}static FromHex(n){let r=this.formatString(n);if(!r)return new ArrayBuffer(0);if(!We.isHex(r))throw new TypeError("Argument 'hexString' is not HEX encoded");r.length%2&&(r=`0${r}`);const o=new Uint8Array(r.length/2);for(let i=0;i<r.length;i=i+2){const a=r.slice(i,i+2);o[i/2]=parseInt(a,16)}return o.buffer}static ToUtf16String(n,r=!1){return gr.toString(n,r)}static FromUtf16String(n,r=!1){return gr.fromString(n,r)}static Base64Padding(n){const r=4-n.length%4;if(r<4)for(let o=0;o<r;o++)n+="=";return n}static formatString(n){return n?.replace(/[\n\r\t ]/g,"")||""}}We.DEFAULT_UTF8_ENCODING="utf8";function $9(...e){const n=e.map(i=>i.byteLength).reduce((i,a)=>i+a),r=new Uint8Array(n);let o=0;return e.map(i=>new Uint8Array(i)).forEach(i=>{for(const a of i)r[o++]=a}),r.buffer}function R9(e,n){if(!(e&&n)||e.byteLength!==n.byteLength)return!1;const r=new Uint8Array(e),o=new Uint8Array(n);for(let i=0;i<e.byteLength;i++)if(r[i]!==o[i])return!1;return!0}function ca(e,n){let r=0;if(e.length===1)return e[0];for(let o=e.length-1;o>=0;o--)r+=e[e.length-1-o]*Math.pow(2,n*o);return r}function Xo(e,n,r=-1){const o=r;let i=e,a=0,s=Math.pow(2,n);for(let l=1;l<8;l++){if(e<s){let c;if(o<0)c=new ArrayBuffer(l),a=l;else{if(o<l)return new ArrayBuffer(0);c=new ArrayBuffer(o),a=o}const d=new Uint8Array(c);for(let u=l-1;u>=0;u--){const f=Math.pow(2,u*n);d[a-u-1]=Math.floor(i/f),i-=d[a-u-1]*f}return c}s*=Math.pow(2,n)}return new ArrayBuffer(0)}function kg(...e){let n=0,r=0;for(const a of e)n+=a.length;const o=new ArrayBuffer(n),i=new Uint8Array(o);for(const a of e)i.set(a,r),r+=a.length;return i}function f1(){const e=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const l=e[0]===255&&e[1]&128,c=e[0]===0&&(e[1]&128)===0;(l||c)&&this.warnings.push("Needlessly long format")}const n=new ArrayBuffer(this.valueHex.byteLength),r=new Uint8Array(n);for(let l=0;l<this.valueHex.byteLength;l++)r[l]=0;r[0]=e[0]&128;const o=ca(r,8),i=new ArrayBuffer(this.valueHex.byteLength),a=new Uint8Array(i);for(let l=0;l<this.valueHex.byteLength;l++)a[l]=e[l];return a[0]&=127,ca(a,8)-o}function L9(e){const n=e<0?e*-1:e;let r=128;for(let o=1;o<8;o++){if(n<=r){if(e<0){const s=r-n,l=Xo(s,8,o),c=new Uint8Array(l);return c[0]|=128,l}let i=Xo(n,8,o),a=new Uint8Array(i);if(a[0]&128){const s=i.slice(0),l=new Uint8Array(s);i=new ArrayBuffer(i.byteLength+1),a=new Uint8Array(i);for(let c=0;c<s.byteLength;c++)a[c+1]=l[c];a[0]=0}return i}r*=Math.pow(2,8)}return new ArrayBuffer(0)}function D9(e,n){if(e.byteLength!==n.byteLength)return!1;const r=new Uint8Array(e),o=new Uint8Array(n);for(let i=0;i<r.length;i++)if(r[i]!==o[i])return!1;return!0}function Vn(e,n){const r=e.toString(10);if(n<r.length)return"";const o=n-r.length,i=new Array(o);for(let s=0;s<o;s++)i[s]="0";return i.join("").concat(r)}function wd(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function wg(e){let n=0,r=0;for(let i=0;i<e.length;i++){const a=e[i];n+=a.byteLength}const o=new Uint8Array(n);for(let i=0;i<e.length;i++){const a=e[i];o.set(new Uint8Array(a),r),r+=a.byteLength}return o.buffer}function Fr(e,n,r,o){return n instanceof Uint8Array?n.byteLength?r<0?(e.error="Wrong parameter: inputOffset less than zero",!1):o<0?(e.error="Wrong parameter: inputLength less than zero",!1):n.byteLength-r-o<0?(e.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(e.error="Wrong parameter: inputBuffer has zero length",!1):(e.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class Cd{constructor(){this.items=[]}write(n){this.items.push(n)}final(){return wg(this.items)}}const Ds=[new Uint8Array([1])],p1="0123456789",Cg="name",m1="valueHexView",M9="isHexOnly",F9="idBlock",j9="tagClass",U9="tagNumber",K9="isConstructed",q9="fromBER",G9="toBER",z9="local",Cn="",hr=new ArrayBuffer(0),Ed=new Uint8Array(0),Ms="EndOfContent",g1="OCTET STRING",h1="BIT STRING";function yr(e){var n;return n=class extends e{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(o){this.valueHexView=new Uint8Array(o)}constructor(...o){var i;super(...o);const a=o[0]||{};this.isHexOnly=(i=a.isHexOnly)!==null&&i!==void 0?i:!1,this.valueHexView=a.valueHex?De.toUint8Array(a.valueHex):Ed}fromBER(o,i,a,s){const l=o instanceof ArrayBuffer?new Uint8Array(o):o;if(!Fr(this,l,i,a))return-1;const c=i+a;return this.valueHexView=l.subarray(i,c),this.valueHexView.length?(this.blockLength=a,c):(this.warnings.push("Zero buffer length"),i)}toBER(o=!1){return this.isHexOnly?o?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",hr)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:We.ToHex(this.valueHexView)}}},n.NAME="hexBlock",n}class Zo{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(n){this.valueBeforeDecodeView=new Uint8Array(n)}constructor({blockLength:n=0,error:r=Cn,warnings:o=[],valueBeforeDecode:i=Ed}={}){this.blockLength=n,this.error=r,this.warnings=o,this.valueBeforeDecodeView=De.toUint8Array(i)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:We.ToHex(this.valueBeforeDecodeView)}}}Zo.NAME="baseBlock";class sn extends Zo{fromBER(n,r,o,i){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(n,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}sn.NAME="valueBlock";class y1 extends yr(Zo){constructor({idBlock:n={}}={}){var r,o,i,a;super(),n?(this.isHexOnly=(r=n.isHexOnly)!==null&&r!==void 0?r:!1,this.valueHexView=n.valueHex?De.toUint8Array(n.valueHex):Ed,this.tagClass=(o=n.tagClass)!==null&&o!==void 0?o:-1,this.tagNumber=(i=n.tagNumber)!==null&&i!==void 0?i:-1,this.isConstructed=(a=n.isConstructed)!==null&&a!==void 0?a:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(n=!1){let r=0;switch(this.tagClass){case 1:r|=0;break;case 2:r|=64;break;case 3:r|=128;break;case 4:r|=192;break;default:return this.error="Unknown tag class",hr}if(this.isConstructed&&(r|=32),this.tagNumber<31&&!this.isHexOnly){const i=new Uint8Array(1);if(!n){let a=this.tagNumber;a&=31,r|=a,i[0]=r}return i.buffer}if(!this.isHexOnly){const i=Xo(this.tagNumber,7),a=new Uint8Array(i),s=i.byteLength,l=new Uint8Array(s+1);if(l[0]=r|31,!n){for(let c=0;c<s-1;c++)l[c+1]=a[c]|128;l[s]=a[s-1]}return l.buffer}const o=new Uint8Array(this.valueHexView.byteLength+1);if(o[0]=r|31,!n){const i=this.valueHexView;for(let a=0;a<i.length-1;a++)o[a+1]=i[a]|128;o[this.valueHexView.byteLength]=i[i.length-1]}return o.buffer}fromBER(n,r,o){const i=De.toUint8Array(n);if(!Fr(this,i,r,o))return-1;const a=i.subarray(r,r+o);if(a.length===0)return this.error="Zero buffer length",-1;switch(a[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(a[0]&32)===32,this.isHexOnly=!1;const l=a[0]&31;if(l!==31)this.tagNumber=l,this.blockLength=1;else{let c=0;for(;;){const u=c+1;if(u>=a.length)return this.error="End of input reached before message was fully decoded",-1;if(c++,(a[u]&128)===0)break}this.blockLength=c+1;const d=this.valueHexView=new Uint8Array(c);for(let u=0;u<c;u++)d[u]=a[u+1]&127;this.blockLength<=9?this.tagNumber=ca(d,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return r+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}y1.NAME="identificationBlock";class _1 extends Zo{constructor({lenBlock:n={}}={}){var r,o,i;super(),this.isIndefiniteForm=(r=n.isIndefiniteForm)!==null&&r!==void 0?r:!1,this.longFormUsed=(o=n.longFormUsed)!==null&&o!==void 0?o:!1,this.length=(i=n.length)!==null&&i!==void 0?i:0}fromBER(n,r,o){const i=De.toUint8Array(n);if(!Fr(this,i,r,o))return-1;const a=i.subarray(r,r+o);if(a.length===0)return this.error="Zero buffer length",-1;if(a[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=a[0]===128,this.isIndefiniteForm)return this.blockLength=1,r+this.blockLength;if(this.longFormUsed=!!(a[0]&128),this.longFormUsed===!1)return this.length=a[0],this.blockLength=1,r+this.blockLength;const s=a[0]&127;if(s>8)return this.error="Too big integer",-1;if(s+1>a.length)return this.error="End of input reached before message was fully decoded",-1;const l=r+1,c=i.subarray(l,l+s);return c[s-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=ca(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=s+1,r+this.blockLength}toBER(n=!1){let r,o;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return r=new ArrayBuffer(1),n===!1&&(o=new Uint8Array(r),o[0]=128),r;if(this.longFormUsed){const i=Xo(this.length,8);if(i.byteLength>127)return this.error="Too big length",hr;if(r=new ArrayBuffer(i.byteLength+1),n)return r;const a=new Uint8Array(i);o=new Uint8Array(r),o[0]=i.byteLength|128;for(let s=0;s<i.byteLength;s++)o[s+1]=a[s];return r}return r=new ArrayBuffer(1),n===!1&&(o=new Uint8Array(r),o[0]=this.length),r}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}_1.NAME="lengthBlock";const Ue={};class Yt extends Zo{constructor({name:n=Cn,optional:r=!1,primitiveSchema:o,...i}={},a){super(i),this.name=n,this.optional=r,o&&(this.primitiveSchema=o),this.idBlock=new y1(i),this.lenBlock=new _1(i),this.valueBlock=a?new a(i):new sn(i)}fromBER(n,r,o,i){const a=this.valueBlock.fromBER(n,r,this.lenBlock.isIndefiniteForm?o:this.lenBlock.length,i);return a===-1?(this.error=this.valueBlock.error,a):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),a)}toBER(n,r){const o=r||new Cd;r||b1(this);const i=this.idBlock.toBER(n);if(o.write(i),this.lenBlock.isIndefiniteForm)o.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(n,o),o.write(new ArrayBuffer(2));else{const a=this.valueBlock.toBER(n);this.lenBlock.length=a.byteLength;const s=this.lenBlock.toBER(n);o.write(s),o.write(a)}return r?hr:o.final()}toJSON(){const n={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(n.primitiveSchema=this.primitiveSchema.toJSON()),n}toString(n="ascii"){return n==="ascii"?this.onAsciiEncoding():We.ToHex(this.toBER())}onAsciiEncoding(){const n=this.constructor.NAME,r=We.ToHex(this.valueBlock.valueBeforeDecodeView);return`${n} : ${r}`}isEqual(n){if(this===n)return!0;if(!(n instanceof this.constructor))return!1;const r=this.toBER(),o=n.toBER();return D9(r,o)}}Yt.NAME="BaseBlock";function b1(e){var n;if(e instanceof Ue.Constructed)for(const r of e.valueBlock.value)b1(r)&&(e.lenBlock.isIndefiniteForm=!0);return!!(!((n=e.lenBlock)===null||n===void 0)&&n.isIndefiniteForm)}class Eg extends Yt{getValue(){return this.valueBlock.value}setValue(n){this.valueBlock.value=n}constructor({value:n=Cn,...r}={},o){super(r,o),n&&this.fromString(n)}fromBER(n,r,o){const i=this.valueBlock.fromBER(n,r,this.lenBlock.isIndefiniteForm?o:this.lenBlock.length);return i===-1?(this.error=this.valueBlock.error,i):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}Eg.NAME="BaseStringBlock";class k1 extends yr(sn){constructor({isHexOnly:n=!0,...r}={}){super(r),this.isHexOnly=n}}k1.NAME="PrimitiveValueBlock";var w1;class Fs extends Yt{constructor(n={}){super(n,k1),this.idBlock.isConstructed=!1}}w1=Fs,Ue.Primitive=w1,Fs.NAME="PRIMITIVE";const C1=100,E1=1e4,N1=16*1024*1024,H9="Maximum ASN.1 nesting depth exceeded",W9="Maximum ASN.1 node count exceeded",Y9="Maximum ASN.1 content length exceeded";function js(e={}){var n,r,o;return{depth:0,maxDepth:(n=e.maxDepth)!==null&&n!==void 0?n:C1,nodesCount:0,maxNodes:(r=e.maxNodes)!==null&&r!==void 0?r:E1,maxContentLength:(o=e.maxContentLength)!==null&&o!==void 0?o:N1}}function J9(e){const n=new Yt({},sn);return n.error=e,{offset:-1,result:n}}function X9(e){if(e.nodesCount+=1,e.nodesCount>e.maxNodes)return W9}function Z9(e,n){if(e>n.maxContentLength)return Y9}function Ng(e,n,r,o){const i=o.depth+1;if(i>o.maxDepth)return J9(H9);o.depth=i;try{return Nd(e,n,r,o)}finally{o.depth-=1}}function Q9(e,n){if(e instanceof n)return e;const r=new n;return r.idBlock=e.idBlock,r.lenBlock=e.lenBlock,r.warnings=e.warnings,r.valueBeforeDecodeView=e.valueBeforeDecodeView,r}function Nd(e,n=0,r=e.length,o=js()){const i=n;let a=new Yt({},sn);const s=new Zo;if(!Fr(s,e,n,r))return a.error=s.error,{offset:-1,result:a};if(!e.subarray(n,n+r).length)return a.error="Zero buffer length",{offset:-1,result:a};const c=X9(o);if(c)return a.error=c,{offset:-1,result:a};let d=a.idBlock.fromBER(e,n,r);if(a.idBlock.warnings.length&&a.warnings.concat(a.idBlock.warnings),d===-1)return a.error=a.idBlock.error,{offset:-1,result:a};if(n=d,r-=a.idBlock.blockLength,d=a.lenBlock.fromBER(e,n,r),a.lenBlock.warnings.length&&a.warnings.concat(a.lenBlock.warnings),d===-1)return a.error=a.lenBlock.error,{offset:-1,result:a};n=d,r-=a.lenBlock.blockLength;const u=a.lenBlock.isIndefiniteForm?r:a.lenBlock.length,f=Z9(u,o);if(f)return a.error=f,{offset:-1,result:a};if(!a.idBlock.isConstructed&&a.lenBlock.isIndefiniteForm)return a.error="Indefinite length form used for primitive encoding form",{offset:-1,result:a};let p=Yt;switch(a.idBlock.tagClass){case 1:if(a.idBlock.tagNumber>=37&&a.idBlock.isHexOnly===!1)return a.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:a};switch(a.idBlock.tagNumber){case 0:if(a.idBlock.isConstructed&&a.lenBlock.length>0)return a.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:a};p=Ue.EndOfContent;break;case 1:p=Ue.Boolean;break;case 2:p=Ue.Integer;break;case 3:p=Ue.BitString;break;case 4:p=Ue.OctetString;break;case 5:p=Ue.Null;break;case 6:p=Ue.ObjectIdentifier;break;case 10:p=Ue.Enumerated;break;case 12:p=Ue.Utf8String;break;case 13:p=Ue.RelativeObjectIdentifier;break;case 14:p=Ue.TIME;break;case 15:return a.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:a};case 16:p=Ue.Sequence;break;case 17:p=Ue.Set;break;case 18:p=Ue.NumericString;break;case 19:p=Ue.PrintableString;break;case 20:p=Ue.TeletexString;break;case 21:p=Ue.VideotexString;break;case 22:p=Ue.IA5String;break;case 23:p=Ue.UTCTime;break;case 24:p=Ue.GeneralizedTime;break;case 25:p=Ue.GraphicString;break;case 26:p=Ue.VisibleString;break;case 27:p=Ue.GeneralString;break;case 28:p=Ue.UniversalString;break;case 29:p=Ue.CharacterString;break;case 30:p=Ue.BmpString;break;case 31:p=Ue.DATE;break;case 32:p=Ue.TimeOfDay;break;case 33:p=Ue.DateTime;break;case 34:p=Ue.Duration;break;default:{const m=a.idBlock.isConstructed?new Ue.Constructed:new Ue.Primitive;m.idBlock=a.idBlock,m.lenBlock=a.lenBlock,m.warnings=a.warnings,a=m}}break;default:p=a.idBlock.isConstructed?Ue.Constructed:Ue.Primitive}return a=Q9(a,p),d=a.fromBER(e,n,u,o),a.valueBeforeDecodeView=e.subarray(i,i+a.blockLength),{offset:d,result:a}}function da(e,n={}){if(!e.byteLength){const r=new Yt({},sn);return r.error="Input buffer has zero length",{offset:-1,result:r}}return Nd(De.toUint8Array(e).slice(),0,e.byteLength,js(n))}function eW(e,n){return e?1:n}class co extends sn{constructor({value:n=[],isIndefiniteForm:r=!1,...o}={}){super(o),this.value=n,this.isIndefiniteForm=r}fromBER(n,r,o,i){const a=De.toUint8Array(n),s=i??js();if(!Fr(this,a,r,o))return-1;if(this.valueBeforeDecodeView=a.subarray(r,r+o),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),r;let l=r;for(;eW(this.isIndefiniteForm,o)>0;){const c=Ng(a,l,o,s);if(c.offset===-1)return this.error=c.result.error,this.warnings.concat(c.result.warnings),-1;if(l=c.offset,this.blockLength+=c.result.blockLength,o-=c.result.blockLength,this.value.push(c.result),this.isIndefiniteForm&&c.result.constructor.NAME===Ms)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Ms?this.value.pop():this.warnings.push("No EndOfContent block encoded")),l}toBER(n,r){const o=r||new Cd;for(let i=0;i<this.value.length;i++)this.value[i].toBER(n,o);return r?hr:o.final()}toJSON(){const n={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const r of this.value)n.value.push(r.toJSON());return n}}co.NAME="ConstructedValueBlock";var S1;class pn extends Yt{constructor(n={}){super(n,co),this.idBlock.isConstructed=!0}fromBER(n,r,o,i){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const a=this.valueBlock.fromBER(n,r,this.lenBlock.isIndefiniteForm?o:this.lenBlock.length,i);return a===-1?(this.error=this.valueBlock.error,a):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),a)}onAsciiEncoding(){const n=[];for(const o of this.valueBlock.value)n.push(o.toString("ascii").split(`
459
459
  `).map(i=>` ${i}`).join(`
460
460
  `));const r=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return n.length?`${r} :
461
461
  ${n.join(`