@kong-ui-public/entities-plugins 9.208.3 → 9.208.4
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
1
|
(function(He,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/entities-plugins-icon"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("@vueuse/core"),require("marked"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("@kong-ui-public/monaco-editor"),require("monaco-editor"),require("vue-router"),require("@kong-ui-public/monaco-editor/dist/runtime/style.css"),require("@vue-flow/core"),require("@vue-flow/background"),require("@vue-flow/controls"),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-vaults"),require("shiki"),require("zod"),require("axios"),require("@kong-ui-public/entities-vaults/dist/style.css")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","@kong/icons","@kong/kongponents","@kong-ui-public/entities-plugins-icon","@kong-ui-public/i18n","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","@vueuse/core","marked","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","@kong-ui-public/monaco-editor","monaco-editor","vue-router","@kong-ui-public/monaco-editor/dist/runtime/style.css","@vue-flow/core","@vue-flow/background","@vue-flow/controls","@vue-flow/controls/dist/style.css","@vue-flow/core/dist/style.css","@vue-flow/core/dist/theme-default.css","@kong-ui-public/entities-vaults","shiki","zod","axios","@kong-ui-public/entities-vaults/dist/style.css"],t):(He=typeof globalThis<"u"?globalThis:He||self,t(He["kong-ui-public-entities-plugins"]={},He.Vue,He["kong-ui-public-entities-shared"],He.KongIcons,He.Kongponents,He.entitiesPluginsIcon,He["kong-ui-public-i18n"],He.entitiesPluginsMetadata,He.forms,He.core$1,He.marked,He.entitiesRedisConfigurations,null,He.monacoEditor,He.monaco,He.VueRouter,null,He.core$2,He.background,He.controls,null,null,null,He.entitiesVaults,He.shiki,He.zod,He.axios))})(this,function(He,t,Ee,Ie,Ke,qr,nn,Q,it,Lt,ql,Mg,T4,Gl,Mo,Gr,O4,Pt,tN,jg,B4,P4,V4,Ja,nN,H,Xa){"use strict";function rN(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 oN(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 Hl=rN(Mo),iN="#ecfcff",aN="#f1f0ff",sN="#52596e",lN="#e0e4ea",cN="#007d60",uN="#fffce0",dN="#6c7489",fN="#0044f4",pN="#5f9aff",rf="#000933",Fg="#d60027",mN="#00abd2",Ug="#6f28ff",Kg="#afb7c5",Tr="#6c7489",hN="#0044f4",gN="#eefaff",qg="#007d60",yN="#ecfffb",_N="#995c00",bN="#306fff",zl="12px",gr="16px",Za="20px",of="24px",wN="2px",Gg="8px",kN="32px",cn={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",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"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},labels:{new:"New"},plugins:{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",name:"Name",instance_name:"Instance name",ordering:"Ordering",ordering_badge:{dynamic:"Dynamic",static:"Static"},enabled:"Enabled",tags:"Tags"},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."}},fields:{service:"Service ID",route:"Route ID",consumer:"Consumer ID",consumer_group:"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"}},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:{allow:"Use allow list",deny:"Use deny list"}},"ai-mcp-proxy":{default_acl_item_label:"Default ACL #{index}",tool_item_label:"Tool #{index}"},"request-callout":{entity_name:"Request callout",by_lua_placeholder:"Enter Lua script here..."},"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)"}}},datakit:{plugin_config:{title:"Flow editor"},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.",kong_identity_label:"Kong Identity",kong_identity_description_key_auth:"Use Kong Identity to authenticate API keys and map requests to a Kong Identity principal. The authenticated principal is added to the request context for advanced integrations.",kong_identity_description_basic_auth:"Use Kong Identity to authenticate Basic Auth credentials and map requests to a Kong Identity principal. The authenticated principal is added to the request context for advanced integrations.",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."}},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'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"},priority:{label:"Priority",tooltip:"Set the execution priority for this cloned plugin",help:{text:"Optional. Use a number or +/- to set priority relative to the original plugin. 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 et(){const e=nn.createI18n("en-us",cn);return{i18n:e,i18nT:nn.i18nTComponent(e)}}function Hg(){const e=["methods","logout_methods"];return{setFieldType:(f,d,m)=>{var p,h,g;if(!(!f||!d||!m))switch(m.type){case"boolean":f[d]={type:Ee.ConfigurationSchemaType.BadgeStatus,...f[d]};break;case"string":m.encrypted?f[d]={type:Ee.ConfigurationSchemaType.Redacted,...f[d]}:f[d]={type:Ee.ConfigurationSchemaType.Text,...f[d]};break;case"set":((p=m.elements)==null?void 0:p.type)==="string"&&(f[d]={type:Ee.ConfigurationSchemaType.BadgeTag,...f[d]});break;case"array":e.includes(d)?f[d]={type:Ee.ConfigurationSchemaType.BadgeMethod,...f[d]}:((h=m.elements)==null?void 0:h.type)==="string"?m.encrypted?f[d]={type:Ee.ConfigurationSchemaType.RedactedArray,...f[d]}:f[d]={type:Ee.ConfigurationSchemaType.BadgeTag,...f[d]}:((g=m.elements)==null?void 0:g.type)==="record"&&(f[d]={type:Ee.ConfigurationSchemaType.Json,...f[d]});break;case"record":f[d]={type:Ee.ConfigurationSchemaType.Json,...f[d]};break;default:f[d]={type:Ee.ConfigurationSchemaType.Text,...f[d]};break}},convertToDotNotation:f=>f.replace(/-/g,"."),unFlattenObject:f=>{const d={};for(const m in f){const p=m.split(".");p.reduce((h,g,y)=>h[g]||(h[g]=isNaN(p[y+1])?p.length-1===y?f[m]:{}:[]),d)}return d},dismissField:(f,d,m="redis",p=!1)=>{const h=new RegExp("(?<=-redis-).*");if(typeof f!="object"||f===null)return f;m==="redis"?Object.keys(f).forEach(g=>{g.match(h)&&delete f[g]}):p?f[m]=null:delete f[m],Object.assign(f,d)},isObjectEmpty:f=>Object.keys(f).length===0,unsetNullForeignKey:(f,d)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(f)>-1&&d[f]===null&&(delete d[f],d[f.replace(".id","")]=null)},formatPluginFieldLabel:f=>f.replace(/_/g," ").split("-").map(d=>d.charAt(0).toUpperCase()+d.slice(1)).join("-"),getTallestPluginCardHeight:f=>{let d=0;if(f.length)for(let m=0;m<f.length;m++){const p=f[m].$el;d=p.offsetHeight>d?p.offsetHeight:d}return d},getToggleVisibility:(f,d)=>{var m,p;if(f&&d){const h=(p=(m=window==null?void 0:window.getComputedStyle(f))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:p.split(" ").length;return d>h}return!0}}}var Wl=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Wl||{});const Yl=["Featured"],af=[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],Jl=[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 jo=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(jo||{});const Fo=e=>{const n=Object.fromEntries(e.fields.map(r=>Object.entries(r)[0]));return"id"in n||(n.id={}),n},Uo={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"},Ei={getColumnFields:Fo,tags:Uo,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}}}},zg={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:Uo}]},CN={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"}}]},Wg={fields:[{username:{}},{password:{inputType:"password"}},{tags:Uo}]},EN={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"}}]},Yg=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}=dt.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(it.FORMS_CONFIG),{axiosInstance:l}=Ee.useAxios(s==null?void 0:s.axiosRequestConfig),c=()=>{if((s==null?void 0:s.app)==="konnect"){const h=/\b(us|eu|au|me|in|sg)\b/.exec((s==null?void 0:s.apiBaseUrl)||"");if(h)return{region:h[1]}}return{}},u=t.ref(!0),f=t.ref([a]),d=async()=>{if((s==null?void 0:s.app)==="konnect")try{u.value=!0;let h=`${s==null?void 0:s.apiBaseUrl}/v1/realms`;const g=[];do{const y=await l.get(h);y&&y.data&&y.data.data&&g.push(...y.data.data.map(b=>({value:b.id,label:b.name,group:i("custom_field.key_auth_identity_realms.realm_group_label")}))),h=y.data.meta.next?`${s==null?void 0:s.apiBaseUrl}${y.data.meta.next}`:null}while(h);f.value=[a,...g]}catch(h){console.error("Failed to fetch Konnect realms",h)}finally{u.value=!1}},m=t.computed(()=>r.value.map(h=>h.id||"current-cp")),p=h=>{const g=h.includes("current-cp")?[{scope:"cp",id:null,region:null}]:[],y=r.value.filter(({scope:E})=>E!=="cp").map(({id:E})=>E),b=h.filter(E=>E!=="current-cp"),k=(y.length!==b.length||y.some(E=>!b.includes(E))?b.filter(E=>!y.includes(E)):b).map(E=>({...c(),scope:"realm",id:E}));r.value=[...g,...k]};return t.onMounted(()=>{n.realms===void 0&&d()}),t.watch(()=>n.realms,h=>{h&&(f.value=[a,...h.map(g=>({...g,group:i("custom_field.key_auth_identity_realms.realm_group_label")}))],u.value=!1)},{immediate:!0}),(h,g)=>{const y=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(y,{items:f.value,loading:u.value,"model-value":m.value,"onUpdate:modelValue":p},null,8,["items","loading","model-value"])}}}),NN={class:"field-wrapper"},xN=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}=it.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",NN,[t.createVNode(Yg,{modelValue:t.unref(s),"onUpdate:modelValue":c[0]||(c[0]=u=>t.isRef(s)?s.value=u:null)},null,8,["modelValue"])]))}}),Re=(e,n)=>{const r=e.__vccOpts||e;for(const[o,i]of n)r[o]=i;return r},SN=Re(xN,[["__scopeId","data-v-269e85ed"]]),Jg={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 et(){const e=nn.createI18n("en-us",cn);return{i18n:e,i18nT:nn.i18nTComponent(e)}}function Hg(){const e=["methods","logout_methods"];return{setFieldType:(f,d,m)=>{var p,h,g;if(!(!f||!d||!m))switch(m.type){case"boolean":f[d]={type:Ee.ConfigurationSchemaType.BadgeStatus,...f[d]};break;case"string":m.encrypted?f[d]={type:Ee.ConfigurationSchemaType.Redacted,...f[d]}:f[d]={type:Ee.ConfigurationSchemaType.Text,...f[d]};break;case"set":((p=m.elements)==null?void 0:p.type)==="string"&&(f[d]={type:Ee.ConfigurationSchemaType.BadgeTag,...f[d]});break;case"array":e.includes(d)?f[d]={type:Ee.ConfigurationSchemaType.BadgeMethod,...f[d]}:((h=m.elements)==null?void 0:h.type)==="string"?m.encrypted?f[d]={type:Ee.ConfigurationSchemaType.RedactedArray,...f[d]}:f[d]={type:Ee.ConfigurationSchemaType.BadgeTag,...f[d]}:((g=m.elements)==null?void 0:g.type)==="record"&&(f[d]={type:Ee.ConfigurationSchemaType.Json,...f[d]});break;case"record":f[d]={type:Ee.ConfigurationSchemaType.Json,...f[d]};break;default:f[d]={type:Ee.ConfigurationSchemaType.Text,...f[d]};break}},convertToDotNotation:f=>f.replace(/-/g,"."),unFlattenObject:f=>{const d={};for(const m in f){const p=m.split(".");p.reduce((h,g,y)=>h[g]||(h[g]=isNaN(p[y+1])?p.length-1===y?f[m]:{}:[]),d)}return d},dismissField:(f,d,m="redis",p=!1)=>{const h=new RegExp("(?<=-redis-).*");if(typeof f!="object"||f===null)return f;m==="redis"?Object.keys(f).forEach(g=>{g.match(h)&&delete f[g]}):p?f[m]=null:delete f[m],Object.assign(f,d)},isObjectEmpty:f=>Object.keys(f).length===0,unsetNullForeignKey:(f,d)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(f)>-1&&d[f]===null&&(delete d[f],d[f.replace(".id","")]=null)},formatPluginFieldLabel:f=>f.replace(/_/g," ").split("-").map(d=>d.charAt(0).toUpperCase()+d.slice(1)).join("-"),getTallestPluginCardHeight:f=>{let d=0;if(f.length)for(let m=0;m<f.length;m++){const p=f[m].$el;d=p.offsetHeight>d?p.offsetHeight:d}return d},getToggleVisibility:(f,d)=>{var m,p;if(f&&d){const h=(p=(m=window==null?void 0:window.getComputedStyle(f))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:p.split(" ").length;return d>h}return!0}}}var Wl=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Wl||{});const Yl=["Featured"],af=[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],Jl=[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 jo=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(jo||{});const Fo=e=>{const n=Object.fromEntries(e.fields.map(r=>Object.entries(r)[0]));return"id"in n||(n.id={}),n},Uo={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"},Ei={getColumnFields:Fo,tags:Uo,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}}}},zg={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:Uo}]},CN={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"}}]},Wg={fields:[{username:{}},{password:{inputType:"password"}},{tags:Uo}]},EN={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"}}]},Yg=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}=dt.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(it.FORMS_CONFIG),{axiosInstance:l}=Ee.useAxios(s==null?void 0:s.axiosRequestConfig),c=()=>{if((s==null?void 0:s.app)==="konnect"){const h=/\b(us|eu|au|me|in|sg)\b/.exec((s==null?void 0:s.apiBaseUrl)||"");if(h)return{region:h[1]}}return{}},u=t.ref(!0),f=t.ref([a]),d=async()=>{if((s==null?void 0:s.app)==="konnect")try{u.value=!0;let h=`${s==null?void 0:s.apiBaseUrl}/v1/realms`;const g=[];do{const y=await l.get(h);y&&y.data&&y.data.data&&g.push(...y.data.data.map(b=>({value:b.id,label:b.name,group:i("custom_field.key_auth_identity_realms.realm_group_label")}))),h=y.data.meta.next?`${s==null?void 0:s.apiBaseUrl}${y.data.meta.next}`:null}while(h);f.value=[a,...g]}catch(h){console.error("Failed to fetch Konnect realms",h)}finally{u.value=!1}},m=t.computed(()=>r.value.map(h=>h.id||"current-cp")),p=h=>{const g=h.includes("current-cp")?[{scope:"cp",id:null,region:null}]:[],y=r.value.filter(({scope:E})=>E!=="cp").map(({id:E})=>E),b=h.filter(E=>E!=="current-cp"),k=(y.length!==b.length||y.some(E=>!b.includes(E))?b.filter(E=>!y.includes(E)):b).map(E=>({...c(),scope:"realm",id:E}));r.value=[...g,...k]};return t.onMounted(()=>{n.realms===void 0&&d()}),t.watch(()=>n.realms,h=>{h&&(f.value=[a,...h.map(g=>({...g,group:i("custom_field.key_auth_identity_realms.realm_group_label")}))],u.value=!1)},{immediate:!0}),(h,g)=>{const y=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(y,{items:f.value,loading:u.value,"model-value":m.value,"onUpdate:modelValue":p},null,8,["items","loading","model-value"])}}}),NN={class:"field-wrapper"},xN=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}=it.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",NN,[t.createVNode(Yg,{modelValue:t.unref(s),"onUpdate:modelValue":c[0]||(c[0]=u=>t.isRef(s)?s.value=u:null)},null,8,["modelValue"])]))}}),Re=(e,n)=>{const r=e.__vccOpts||e;for(const[o,i]of n)r[o]=i;return r},SN=Re(xN,[["__scopeId","data-v-269e85ed"]]),Jg={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:Uo},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},AN=e=>{var n;return(e==null?void 0:e.app)==="kongManager"?{fieldsToDelete:["config-identity_realms"],shamefullyTransformPayload:({payload:r})=>{(e!=null&&e.credential&&typeof r.ttl!="number"||Number.isNaN(r.ttl))&&(r.ttl=0)}}:{"config-identity_realms":{component:((n=e==null?void 0:e.experimentalRenders)==null?void 0:n.keyAuthIdentityRealms)??!1?t.markRaw(SN):null}}},vN={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"}}]},Xg={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:Uo}]},IN={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"}}]},TN={fields:[{key:{submitWhenNull:!1,hint:`A unique string identifying the credential. If left out, it will
|
|
@@ -437,7 +437,7 @@ nodes:
|
|
|
437
437
|
input: API
|
|
438
438
|
status: 200
|
|
439
439
|
`})).sort(([e],[n])=>e.localeCompare(n)).map(([e,n])=>{const r=e.replace(/^\.\//,"").replace(/\.yaml$/,"");return{id:r,i18nKey:qv(r),code:n}});function Vs(e){return typeof e=="object"&&!Array.isArray(e)&&e!==null}const JL=[{name:"decK",extract(e){try{const n=Vr.load(e);return Vs(n)&&Array.isArray(n.plugins)&&n.plugins.find(o=>Vs(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=Vr.load(n);if(!Vs(o))return null;const i=Vs(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 Vs(o)&&o.name==="datakit"&&o||null}catch{return null}}}],XL={class:"dk-code-editor"},ZL={class:"examples-content"},Kp="YAML Syntax",QL=Re(t.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean}},emits:["change","error"],setup(e,{expose:n,emit:r}){const{t:o}=nn.createI18n("en-us",cn),{formData:i,setValue:a}=yt(),s=r,{getMessageFromError:l}=Ee.useErrors(),c=t.shallowRef(null);function u(w){return Vr.dump(t.toRaw(w),{schema:xo,noArrayIndent:!0})}function f(){return u(wo(i,["__ui_data"]))}const d=t.shallowRef(f()),m={scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep",editContext:!1};function p(w){const x=w.getModel();x&&(c.value=w,w.onDidChangeModelContent(()=>{try{const T=Vr.load(w.getValue()||"",{schema:xo,json:!0});if(typeof T!="object"||T===null)return;Hl.editor.setModelMarkers(x,Kp,[]),a(T),s("change",T)}catch(T){const{message:M,mark:v}=T,{line:N,column:O}=v||{line:0,column:0},B=M.split(`
|
|
440
|
-
`)[0],A=[{startLineNumber:N+1,startColumn:O+1,endLineNumber:N+1,endColumn:O+2,message:B,severity:Hl.MarkerSeverity.Error,source:Kp}];Hl.editor.setModelMarkers(x,Kp,A),s("error",B)}}),w.onDidPaste(T=>{const M=w.getModel();if(!M)return;const v=M.getValueInRange(T.range);for(const N of JL){const O=N.extract(v);if(O){g.value=O,y.value=N.name,h.value=!0;return}}}),E())}const h=t.shallowRef(!1),g=t.shallowRef(null),y=t.shallowRef("");function b(){h.value=!1,g.value=null,y.value=""}function _(){g.value&&(d.value=u(g.value),b())}function C(w){return o(`plugins.free-form.datakit.examples.${w}`)}function k(w){const x=w.code;try{const T=Vr.load(d.value,{schema:xo,json:!0}),M=Vr.load(x,{schema:xo,json:!0});if(typeof T=="object"&&T!==null&&fn(T.config,M))return;const v=wo({...i,config:{...M}},["__ui_data"]);d.value=u(v)}catch(T){s("error",l(T))}E()}function E(){const w=c.value,x=w==null?void 0:w.getModel();!w||!x||(w.setPosition(x.getFullModelRange().getEndPosition()),w.focus())}return n({setExampleCode:k}),(w,x)=>(t.openBlock(),t.createElementBlock("div",XL,[t.createVNode(t.unref(Ke.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ie.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",ZL,[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(k0),T=>(t.openBlock(),t.createBlock(t.unref(Ke.KButton),{key:T.id,appearance:"secondary",size:"small",onClick:M=>k(T)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(C(T.i18nKey)),1)]),_:2},1032,["onClick"]))),128))])]),_:1}),t.createVNode(t.unref(Gl.MonacoEditor),{ref:"editor",modelValue:d.value,"onUpdate:modelValue":x[0]||(x[0]=T=>d.value=T),appearance:"standalone",class:"editor",language:"yaml",options:m,theme:"light",onReady:p},null,8,["modelValue"]),t.createVNode(t.unref(Ke.KModal),{"action-button-text":t.unref(o)("plugins.free-form.datakit.detected_config_format_confirm"),title:t.unref(o)("plugins.free-form.datakit.detected_config_format_title"),visible:h.value,onCancel:b,onProceed:_},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.detected_config_format",{format:y.value})),1)]),_:1},8,["action-button-text","title","visible"])]))}}),[["__scopeId","data-v-20217c6a"]]),C0=["request","service_request","service_response","response","vault"],oa=C0,E0=["call","jq","exit","property","static","branch","cache","xml_to_json","json_to_xml","jwt_decode","jwt_sign","jwt_verify"],N0=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],qp=["EdDSA","ES256","ES384","ES512","HS256","HS384","HS512","PS256","PS384","PS512","RS256","RS384","RS512"],eD={},tD={height:"16",viewBox:"0 -960 960 960",width:"16",xmlns:"http://www.w3.org/2000/svg"};function nD(e,n){return t.openBlock(),t.createElementBlock("svg",tD,[...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 rD=Re(eD,[["render",nD]]),oD={},iD={height:"16",viewBox:"0 -960 960 960",width:"16",xmlns:"http://www.w3.org/2000/svg"};function aD(e,n){return t.openBlock(),t.createElementBlock("svg",iD,[...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 sD=Re(oD,[["render",aD]]),Rs=[{id:"external_interaction",colors:{foreground:_N,background:uN},nodes:[{type:"call",icon:Ie.NetworkIcon},{type:"cache",icon:Ie.CachedIcon}]},{id:"control_flow",colors:{foreground:mN,background:iN},nodes:[{type:"branch",icon:Ie.ArrowSplitIcon},{type:"exit",icon:Ie.GatewayIcon}]},{id:"data_transformation",colors:{foreground:Ug,background:aN},nodes:[{type:"jq",icon:Ie.CodeblockIcon},{type:"xml_to_json",icon:Ie.DataObjectIcon},{type:"json_to_xml",icon:Ie.CodeIcon}]},{id:"data_value",colors:{foreground:qg,background:yN},nodes:[{type:"property",icon:Ie.StackIcon},{type:"static",icon:Ie.DeployIcon}]},{id:"authentication",colors:{foreground:hN,background:gN},nodes:[{type:"jwt_sign",icon:Ie.EditSquareIcon},{type:"jwt_decode",icon:rD},{type:"jwt_verify",icon:sD}]}],lD=Rs.reduce((e,n)=>{for(const r of n.nodes)e[r.type]={icon:r.icon,colors:n.colors};return e},{}),ia={vault:{icon:Ie.KeyIcon},request:{icon:Ie.CloudIcon},service_request:{icon:Ie.CloudIcon},service_response:{icon:Ie.CloudIcon},response:{icon:Ie.CloudIcon}};function cD(e){return Rs.find(({id:n})=>n===e).colors}function Gp(e){return lD[e]??ia[e]}const{t:Hp}=nn.createI18n("en-us",cn);function aa(e){return Hp(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function uD(e){return Hp(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function dD(e){return Hp(`plugins.free-form.datakit.flow_editor.node_panel.groups.${e}`)}const fD={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 pD(e){return{id:e.id,title:dD(e.id),colors:cD(e.id),nodeTypes:e.nodes.map(({type:n})=>n)}}function mD(e,n){return{...fD[n.type],type:n.type,icon:n.icon,group:e.id,summary:uD(n.type),description:aa(n.type)}}const x0=Rs.reduce((e,n)=>(e[n.id]=pD(n),e),{}),Gc=Rs.reduce((e,n)=>{for(const r of n.nodes)e[r.type]=mD(n,r);return e},{}),S0=Rs.map(e=>({...x0[e.id],nodes:e.nodes.map(({type:n})=>Gc[n])}));function hD(e){return x0[e]}const Hc={request:{type:"request",description:aa("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...ia.request},service_request:{type:"service_request",description:aa("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...ia.service_request},service_response:{type:"service_response",description:aa("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}},...ia.service_response},response:{type:"response",description:aa("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...ia.response},vault:{type:"vault",io:{output:{fields:[],configurable:!0}},...ia.vault,hidden:!0}},zp=Object.keys(Hc),Wp=e=>zp.includes(e),gD=e=>[...zp,...E0].includes(e),$n=e=>zp.includes(e),zc=e=>$n(e.type),Yp=e=>!!(e!=null&&e.startsWith("node:")),$s=e=>Object.prototype.hasOwnProperty.call(e,"ownerId");function to(e){return cs(e)}function Jp(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 sa(e){return`${e}:${cc()}`}function Wc(e){const[n,r]=e.split(".");return{nodeName:n,fieldName:r}}function A0(e){const[n,r]=e.split(".");return{nodeId:n,fieldId:r}}function la(e){return $n(e)?Hc[e]:Gc[e]}function v0(e){var i,a,s,l;const n=la(e),r=((a=(i=n.io)==null?void 0:i.input)==null?void 0:a.fields.map(({name:c})=>c))??[],o=((l=(s=n.io)==null?void 0:s.output)==null?void 0:l.fields.map(({name:c})=>c))??[];return{input:r,output:o}}function Ls(e){var r,o,i;return((i=(o=(r=la(e).io)==null?void 0:r.next)==null?void 0:o.branches)==null?void 0:i.map(({name:a})=>a))??[]}function I0(e){return(e??[]).map(n=>({id:sa("field"),name:n}))}function vo(e,n,r){if(r)return e.fields[n].find(o=>o.name===r)}function Io(e,n,r){if(r)return e.fields[n].find(o=>o.id===r)}function Xp(e,n){return n?e.fields.output.some(r=>r.id===n):!0}function T0(e,n){return n?e.fields.input.some(r=>r.id===n):!0}function yD(e){const n=["request","service_request","vault"].includes(e)?"request":"response",r=Hc[e];return{name:e,phase:n,position:{x:0,y:0},fields:v0(r.type),expanded:{},hidden:r.hidden}}function O0(e,n){const o=(typeof e=="string"&&gD(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${o}_${i}`;if(!n.has(a))return a}}function Zp(e,n){return`${e}:${n}`}function _D(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 Yc(e,n){return`${e}:${n}`}function B0(e,n,r,o,i){return{id:Zp(e,n),ownerId:e,branch:n,phase:r,memberIds:[...o],position:i!=null&&i.position?{...i.position}:void 0,dimensions:i!=null&&i.dimensions?{...i.dimensions}:void 0}}function bD(e){return e.map(({source:n,target:r})=>({source:n,target:r}))}function wD(e){const n=[];for(const r of e)for(const o of r.memberIds)n.push({source:r.ownerId,target:o});return n}function P0(e,n){return[...bD(e),...wD(n)]}function Jc(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 Qp(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 em(e,n){const r=e.config;if(!r)return[];const o=r[n];return Array.isArray(o)?o.filter(i=>typeof i=="string"&&Yp(i)):[]}function kD({state:e,groupMapById:n,getNodeById:r,history:o}){const i=t.computed(()=>{const N=new Map;for(const O of e.value.groups)for(const B of O.memberIds)N.set(B,{ownerId:O.ownerId,branch:O.branch});return N}),a=t.computed(()=>{const N=new Map;for(const O of e.value.groups)for(const B of O.memberIds)N.set(B,O);return N}),s=t.computed(()=>{const N=new Map;for(const O of e.value.groups)N.has(O.ownerId)||N.set(O.ownerId,[]),N.get(O.ownerId).push(O);return N}),l=t.computed(()=>P0(e.value.edges,e.value.groups)),c=t.computed(()=>Jc(l.value));function u(N,O){return N?Ls(N.type).includes(O):!1}function f(N,O){if(O===N.id)return!1;const B=r(O);return!(!B||$n(B.type)||B.phase!==N.phase)}function d(N,O){const B=[],A=new Set;for(const q of O)A.has(q)||(A.add(q),f(N,q)&&B.push(q));return B}function m(N,O,B){const A=r(N);return u(A,O)?d(A,B):[]}function p(N,O,B){const A=Zp(N.id,O),q=n.value.get(A);B.length>0?q?(q.phase!==N.phase&&(q.phase=N.phase),Jp(q.memberIds,B)||(q.position=void 0,q.dimensions=void 0,q.memberIds=[...B])):e.value.groups.push(B0(N.id,O,N.phase,B)):q&&(e.value.groups=e.value.groups.filter(z=>z.id!==A))}function h(N,O,B,A={}){const q=r(N);if(!u(q,O))return!1;const z=d(q,B),Y=em(q,O);if(Jp(Y,z))return!1;const K=q.config??(q.config={});return z.length>0?K[O]=[...z]:(delete K[O],Object.keys(K).length===0&&delete q.config),p(q,O,z),(A.commit??!0)&&o.commit(A.tag),!0}function g(N,O={}){const B=e.value.groups.filter(A=>A.ownerId!==N);return B.length===e.value.groups.length?!1:(e.value.groups=B,(O.commit??!0)&&o.commit(O.tag),!0)}function y(N,O){const B=n.value.get(Zp(N,O));if(B)return[...B.memberIds];const A=r(N);return A?em(A,O):[]}function b(N){return i.value.get(N)}function _(N){const O=[];let B=a.value.get(N);for(;B;)O.push(B.id),B=a.value.get(B.ownerId);return O}function C(N,O){const B=_(O);if(B.length===0)return!1;const A=new Set(_(N));return A.size===0?!0:B.some(q=>!A.has(q))}function k(N,O){if(N===O)return!0;const B=new Set,A=[O];for(;A.length>0;){const q=A.pop();if(B.has(q))continue;if(B.add(q),q===N)return!0;const z=c.value.get(q);if(z)for(const Y of z)B.has(Y)||A.push(Y)}return!1}function E(N,O,B){const A=r(N);return!(!u(A,O)||!f(A,B)||k(N,B))}function w(N,O,B,A={}){const q=r(N);if(!q||!E(N,O,B))return!1;const z=em(q,O);if(z.includes(B))return!1;x(B,{commit:!1});const Y=[...z,B];return h(N,O,Y,{commit:!1})?((A.commit??!0)&&o.commit(A.tag),!0):!1}function x(N,O={}){const B=b(N);if(!B)return!1;const A=y(B.ownerId,B.branch),q=A.filter(z=>z!==N);return q.length===A.length?!1:h(B.ownerId,B.branch,q,O)}function T(N){let O=0;const B=new Set;let A=a.value.get(N);for(;A&&!B.has(A.id);)O+=1,B.add(A.id),A=a.value.get(A.ownerId);return O}function M(N){const O=n.value.get(N);return O?T(O.ownerId):0}function v(N){return N?n.value.has(N):!1}return{memberGroupMap:a,groupsByOwner:s,findMembership:b,getMembers:y,wouldCreateCycle:k,setMembers:h,prepareMembers:m,addMember:w,removeMember:x,clear:g,getNodeDepth:T,getGroupDepth:M,isGroupId:v,isEdgeEnteringGroup:C,canAddMember:E}}function CD(e,n){const{commit:r,undo:o,redo:i,canUndo:a,canRedo:s,clear:l,reset:c,undoStack:u,redoStack:f}=Lt.useManualRefHistory(e,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let d;function m(C){var k;(k=n==null?void 0:n.onHistoryChange)==null||k.call(n,C,e.value)}function p(C){if(!C){d=void 0,r(),m("commit");return}if(C!=="*"&&d!==C){d=C,r(),m("commit");return}r(),u.value.shift(),m("commit")}function h(){o(),d=void 0,m("undo")}function g(){i(),d=void 0,m("redo")}function y(){l(),d=void 0,m("clear")}function b(){c(),d=void 0,m("reset")}function _(){o(),f.value.shift(),d=void 0,m("revert")}return{canUndo:a,canRedo:s,commit:p,undo:h,redo:g,clear:y,reset:b,revert:_}}function ED(e){var n,r;return((r=(n=e.config)==null?void 0:n.resources)==null?void 0:r.vault)||{}}function ND(e){const{resources:n}=e.config||{};return n!=null&&n.vault?Object.keys(n.vault):[]}function xD(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 V0(e,n){var y,b,_,C,k,E,w;const r=((y=e.config)==null?void 0:y.nodes)??[],o=((b=e.__ui_data)==null?void 0:b.nodes)??[],i=((_=e.__ui_data)==null?void 0:_.groups)??[],a=new Map(o.map(x=>[x.name,x])),s=new Map(i.map(x=>[x.name,x])),l=[],c=[],u=new Map,f=[],d=[],m=new Map,p=x=>{const T=new Set,M=[...x];for(;M.length>0;){const v=M.shift();if(!T.has(v)&&(T.add(v),Wp(v)||(u.get(v).phase="request"),!!m.has(v)))for(const N of m.get(v))T.has(N)||M.push(N)}};let h=!1;for(const x of r){const T=a.get(x.name);!T&&!h&&(h=!0);const M=$0({type:x.type,configNode:x,uiNode:T,pluginData:e});l.push(M),u.set(M.name,M)}for(const x of l){const T=Ls(x.type);if(!T.length)continue;const M=x.config;if(M)for(const v of T){const N=M[v];if(!Array.isArray(N)){s.has(Yc(x.name,v))&&(h=!0);continue}const O=[];for(const B of N){if(typeof B!="string")continue;const A=u.get(B);A&&!$n(A.type)&&O.push(A.id)}if(O.length){M[v]=O;const B=Yc(x.name,v),A=s.get(B),q=A?{position:to(A.position)}:void 0,z=B0(x.id,v,x.phase,O,q);f.push(z),!A&&!h&&(h=!0)}else delete M[v],s.has(Yc(x.name,v))&&(h=!0)}}for(const x of oa)if(!u.has(x)){let T=a.get(x);T||(h||(h=!0),T=yD(x));const M=$0({type:x,uiNode:T,pluginData:e});l.push(M),u.set(M.name,M)}for(const x of r)vD(x,d);for(const x of d){const T=u.get(x.source),M=u.get(x.target);if(!T||!M){T||console.warn(`[initEditorState] skip: source "${x.source}" not found`),M||console.warn(`[initEditorState] skip: target "${x.target}" not found`);continue}m.has(x.source)||m.set(x.source,new Set),m.get(x.source).add(x.target),m.has(x.target)||m.set(x.target,new Set),m.get(x.target).add(x.source),c.push({id:sa("edge"),source:T.id,sourceField:(C=vo(T,"output",x.sourceField))==null?void 0:C.id,target:M.id,targetField:(k=vo(M,"input",x.targetField))==null?void 0:k.id})}p(["request","service_request"]);let g=null;return(w=(E=e.config)==null?void 0:E.resources)!=null&&w.cache&&(g={...e.config.resources.cache},e.partials&&(g.partial_id=e.partials[0].id)),{nodes:l,edges:c,groups:f,pendingLayout:h?n?"keepHistory":"clearHistory":!1,pendingFitView:!0,...g?{cacheConfig:g}:{}}}function R0(e){const{type:n,name:r,phase:o,position:i,fields:a,config:s}=e,l=v0(n),c=la(n);return{id:sa("node"),type:n,name:r??n,phase:o??"request",position:i??{x:0,y:0},expanded:{},fields:{input:I0((a==null?void 0:a.input)??l.input),output:I0((a==null?void 0:a.output)??l.output)},hidden:e.hidden||c.hidden,config:s?to(s):{}}}function SD(e){return $n(e)?e==="request"||e==="service_request"?"request":"response":"request"}function $0({type:e,configNode:n,uiNode:r,pluginData:o}){return R0({type:e,name:n==null?void 0:n.name,phase:(r==null?void 0:r.phase)??SD(e),position:r==null?void 0:r.position,fields:ID({type:e,uiNode:r,configNode:n,pluginData:o}),hidden:r==null?void 0:r.hidden,config:TD({type:e,configNode:n,pluginData:o})})}function AD(e){const{type:n,name:r,input:o,inputs:i,output:a,outputs:s,...l}=e;return to(l)}function vD(e,n){const r=e.name;if(e.input){const{nodeName:o,fieldName:i}=Wc(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}=Wc(i);a&&n.push({source:a,sourceField:s,target:r,targetField:o})}if(e.output){const{nodeName:o,fieldName:i}=Wc(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}=Wc(i);a&&n.push({source:r,sourceField:o,target:a,targetField:s})}}function ID({type:e,uiNode:n,configNode:r,pluginData:o}){var l,c,u,f;const i=la(e),a=i==null?void 0:i.io;if(!a)return;const s={};if((l=a.input)!=null&&l.configurable&&(n?s.input=((c=n.fields)==null?void 0:c.input)??[]:r!=null&&r.inputs&&(s.input=Object.keys(r.inputs))),(u=a.output)!=null&&u.configurable){if(n)s.output=((f=n.fields)==null?void 0:f.output)??[];else{const d=new Set;r!=null&&r.outputs&&Object.keys(r.outputs).forEach(m=>d.add(m)),(r==null?void 0:r.type)==="static"&&r.values&&Object.keys(r.values).forEach(m=>d.add(m)),d.size&&(s.output=Array.from(d))}e==="vault"&&(s.output=ND(o))}return Object.keys(s).length?s:void 0}function TD({type:e,configNode:n,pluginData:r}){return e==="vault"?ED(r):n?AD(n):void 0}function OD(e){const n=t.computed(()=>{const d=new Map;return e.value.nodes.forEach(m=>d.set(m.id,m)),d}),r=t.computed(()=>e.value.edges),o=t.computed(()=>e.value.groups),i=t.computed(()=>P0(r.value,o.value));function a(d){return Jc(i.value,d?{source:d.source,target:d.target}:void 0)}function s(d){const m=n.value.get(d.source),p=n.value.get(d.target);if(!m||!p)return d;const h=T0(m,d.sourceField)&&!Xp(m,d.sourceField),g=Xp(p,d.targetField);return h&&g?{source:d.target,sourceField:d.targetField,target:d.source,targetField:d.sourceField}:d}function l(d){const m=s(d),p=[],h=n.value.get(m.source),g=n.value.get(m.target);if(h||p.push("source node not found"),g||p.push("target node not found"),!h||!g)return{ok:!1,errors:p};Xp(h,m.sourceField)||p.push("source handle is not an output field"),T0(g,m.targetField)||p.push("target handle is not an input field"),g.name==="request"&&p.push('cannot target "request"'),h.name==="response"&&p.push('cannot source from "response"');const y=r.value.some(C=>C.target===m.target&&!C.targetField),b=r.value.some(C=>C.target===m.target&&!!C.targetField);(y&&m.targetField||b&&!m.targetField)&&p.push("cannot mix whole-node and field-level inputs on same target"),m.targetField&&r.value.some(C=>C.target===m.target&&C.targetField===m.targetField)&&p.push("target field already connected"),!m.targetField&&r.value.some(C=>C.target===m.target&&!C.targetField)&&p.push("target input already taken"),m.source===m.target&&p.push("self-loop not allowed");const _=a({source:m.source,target:m.target});return Qp(_)&&p.push("connection introduces a cycle"),p.length?{ok:!1,errors:p}:{ok:!0}}function c(){const d=[];for(const m of oa)[...n.value.values()].some(p=>p.name===m)||d.push(`missing implicit node "${m}"`);for(const m of r.value){const p=n.value.get(m.source);n.value.get(m.target).name==="request"&&d.push(`edge "${m.id}" targets "request"`),p.name==="response"&&d.push(`edge "${m.id}" sources from "response"`)}return Qp(a())&&d.push("graph contains cycle"),d.length?{ok:!1,errors:d}:{ok:!0}}function u(d){return l(d).ok}function f(d){return!d.source||!d.target?!1:u({source:d.source,sourceField:d.sourceHandle,target:d.target,targetField:d.targetHandle})}return{canonicalizeConnection:s,validateConnection:l,validateGraph:c,isValidConnection:u,isValidVueFlowConnection:f,buildAdjacency:Jc}}const[L0,BD]=Lt.createInjectionState(function(n,r={}){const o=t.ref(V0(n)),i=t.ref(),a=t.ref(),s=t.ref(!1),l=t.ref(!1),c=CD(o,{capacity:200,clone:to,onHistoryChange:X=>{var ie,ne;X!=="clear"&&((ne=r.onChange)==null||ne.call(r,$e(),We(),ke(),(ie=o.value.cacheConfig)==null?void 0:ie.partial_id))}}),u=t.ref(!1),f=t.ref(new Set);function d(){o.value.pendingLayout=!1,c.commit("*")}function m(X=!0){o.value.pendingFitView!==X&&(o.value.pendingFitView=X,c.commit("*"))}const p=t.computed(()=>{const X={request:0,response:0};return o.value.nodes.forEach(ie=>{$n(ie.type)||X[ie.phase]++}),X}),h=t.computed(()=>new Map(o.value.nodes.map(X=>[X.id,X]))),g=t.computed(()=>new Map(o.value.nodes.map(X=>[X.name,X]))),y=t.computed(()=>{const X=new Map,ie=new Map;for(const ne of o.value.edges)X.set(ne.id,ne),ie.has(ne.source)||ie.set(ne.source,new Set),ie.get(ne.source).add(ne.id),ie.has(ne.target)||ie.set(ne.target,new Set),ie.get(ne.target).add(ne.id);return{edgeMapById:X,edgeIdMapByNodeId:ie}}),b=t.computed(()=>y.value.edgeMapById),_=t.computed(()=>y.value.edgeIdMapByNodeId),C=t.computed(()=>new Map(o.value.groups.map(X=>[X.id,X]))),k=t.computed(()=>new Set(o.value.nodes.map(X=>X.name))),E=kD({state:o,groupMapById:C,getNodeById:N,history:c}),{canonicalizeConnection:w,validateConnection:x,validateGraph:T,isValidConnection:M,isValidVueFlowConnection:v}=OD(o);function N(X){return h.value.get(X)}function O(X){return g.value.get(X)}function B(X){return b.value.get(X)}function A(X){if(!_.value.has(X))return[];const ie=[];return _.value.get(X).forEach(ne=>{const Ce=B(ne);Ce&&ie.push(Ce)}),ie}function q(X){return A(X).filter(ie=>ie.target===X)}function z(X){return A(X).filter(ie=>ie.source===X)}const Y=t.computed(()=>i.value?N(i.value):void 0);function K(X){i.value=X}function U(X){a.value=X}function j(X){if($n(X.type))throw new Error("[createNode] implicit nodes are fixed.");return R0({type:X.type,name:X.name||($n(X.type)?void 0:O0(X.type,k.value)),phase:X.phase,position:X.position,fields:X.fields,config:X.config})}function L(X,ie=!0){const ne=j(X);if(ne)return o.value.nodes.push(ne),ie&&c.commit(),u.value=!0,ne.id}function G(X,ie,ne=!0){const Ce=N(X);if(!Ce||$n(Ce.type))return;const fe={...to(Ce),id:sa("node"),name:O0(Ce.name,k.value),position:ie??{x:Ce.position.x+20,y:Ce.position.y+20}},Ve=Ls(fe.type);if(Ve.length&&fe.config){for(const qe of Ve)delete fe.config[qe];Object.keys(fe.config).length===0&&delete fe.config}return o.value.nodes.push(fe),ne&&c.commit(),u.value=!0,fe.id}function F(X,ie=!0){if(!N(X))return;o.value.edges=o.value.edges.filter(fe=>fe.source!==X&&fe.target!==X),E.clear(X,{commit:!1}),E.removeMember(X,{commit:!1}),o.value.nodes=o.value.nodes.filter(fe=>fe.id!==X),i.value===X&&(i.value=void 0);const Ce=T();Ce.ok||console.warn("[removeNode] topology invalid:",Ce.errors.join("; ")),ie&&c.commit()}function $(X,ie,ne=!0,Ce){const fe=N(X);if(!fe)return;if(Wp(fe.name)){console.warn("[renameNode] implicit node name is reserved.");return}fe.name!==ie&&(fe.name=ie,ne&&c.commit(Ce))}function S(X,ie,ne=!0){const Ce=N(X);Ce&&(Ce.position={...ie},ne&&c.commit())}function P(X,ie,ne=!0){const Ce=C.value.get(X);if(!Ce)return;const fe=Ce.position;fe&&fe.x===ie.x&&fe.y===ie.y||(Ce.position={...ie},ne&&c.commit())}function V(X,ie,ne=!0){const Ce=C.value.get(X);if(!Ce)return!1;const fe={...ie.position},Ve={...ie.dimensions},qe=Ce.position&&Ce.position.x===fe.x&&Ce.position.y===fe.y,Z=Ce.dimensions&&Ce.dimensions.width===Ve.width&&Ce.dimensions.height===Ve.height;return qe&&Z?!1:(Ce.position=fe,Ce.dimensions=Ve,ne&&c.commit(),!0)}function W(X,ie,ne,Ce=!0,fe){const Ve=N(X);if(!Ve)return;const qe=ne??!Ve.expanded[ie];qe!==!!Ve.expanded[ie]&&(Ve.expanded[ie]=qe,Ce&&c.commit(fe??`toggle:${X}:${ie}`))}function re(X,ie,ne=!0,Ce){const fe=N(X);fe&&(fe.config=to(ie),ne&&c.commit(Ce))}function oe(X,ie,ne,Ce=!0){const fe=N(X);if(!fe)return;const Ve=fe.fields[ie];if(Ve.some(qe=>qe.name===ne)){console.warn(`[addField] field "${ne}" already exists on ${ie}.`);return}Ve.push({id:sa("field"),name:ne}),ie==="input"?fe.fields.input=Ve:fe.fields.output=Ve,Ce&&c.commit()}function de(X,ie,ne,Ce=!0){const fe=N(X);if(!fe)return;const Ve=fe.fields.input,qe=fe.fields.output,Z=Ve.find(ee=>ee.id===ie)??qe.find(ee=>ee.id===ie);Z&&(Z.name=ne,Ce&&c.commit())}function Ae(X,ie,ne=!0,Ce=!0){const fe=N(X);if(!fe)return;const Ve=fe.fields.input,qe=fe.fields.output,Z=Ve.findIndex(ye=>ye.id===ie);Z>=0&&Ve.splice(Z,1);const ee=qe.findIndex(ye=>ye.id===ie);ee>=0&&qe.splice(ee,1),fe.fields.input=Ve,fe.fields.output=qe,ne&&(o.value.edges=o.value.edges.filter(ye=>ye.sourceField!==ie&&ye.targetField!==ie));const ce=T();ce.ok||console.warn("[removeField] topology invalid:",ce.errors.join("; ")),Ce&&c.commit()}function De(X,ie=!0){const ne=w(X),Ce=x(ne);if(!Ce.ok){console.warn("[connectEdge] invalid connection:",Ce.errors.join("; "));return}const fe={id:sa("edge"),...ne};o.value.edges.push(fe);const Ve=T();if(!Ve.ok){o.value.edges.pop(),console.warn("[connectEdge] topology invalid:",Ve.errors.join("; "));return}return ie&&c.commit(),fe.id}function ze(X,ie,ne=!0){ue(X,!1),De(ie,!1),ne&&c.commit()}function ue(X,ie=!0){const ne=o.value.edges.findIndex(Ve=>Ve.id===X);if(ne<0)return;const Ce=o.value.edges[ne];o.value.edges.splice(ne,1);const fe=T();if(!fe.ok){o.value.edges.splice(ne,0,Ce),console.warn("[disconnectEdge] topology invalid:",fe.errors.join("; "));return}ie&&c.commit()}function pe(X,ie=!0){const ne=q(X);for(const Ce of ne)ue(Ce.id,!1);ie&&c.commit()}function me(X,ie=!0){const ne=z(X);for(const Ce of ne)ue(Ce.id,!1);ie&&c.commit()}function $e(){var ie,ne,Ce,fe,Ve;const X=[];for(const qe of o.value.nodes){if($n(qe.type))continue;let Z;const ee={};let ce;const ye={};for(const se of o.value.edges.filter(D=>D.target===qe.id)){const D=N(se.source);if(!D)continue;const le=(ie=Io(D,"output",se.sourceField))==null?void 0:ie.name,ae=le?`${D.name}.${le}`:D.name,ge=(ne=Io(qe,"input",se.targetField))==null?void 0:ne.name;ge?ee[ge]=ae:Z===void 0&&(Z=ae)}for(const se of o.value.edges.filter(D=>D.source===qe.id)){const D=N(se.target);if(!D)continue;const le=D.type;if(!$n(le)||!((Ce=Hc[le].io)!=null&&Ce.input))continue;const ae=(fe=Io(D,"input",se.targetField))==null?void 0:fe.name,ge=ae?`${D.name}.${ae}`:D.name,Be=(Ve=Io(qe,"output",se.sourceField))==null?void 0:Ve.name;Be?ye[Be]=ge:ce===void 0&&(ce=ge)}const Pe={...to(qe.config),name:qe.name,type:qe.type},nt=Ls(qe.type);if(nt.length)for(const se of nt){const D=Pe[se];if(!Array.isArray(D))continue;const le=[];for(const ae of D){const ge=N(ae);ge&&le.push(ge.name)}le.length?Pe[se]=Array.from(new Set(le)):delete Pe[se]}Object.keys(ee).length>0?Pe.inputs=ee:Z!==void 0&&(Pe.input=Z),Object.keys(ye).length>0?Pe.outputs=ye:ce!==void 0&&(Pe.output=ce),X.push(Pe)}return X}function Ne(){return o.value.nodes.map(X=>to({name:X.name,phase:X.phase,position:{...X.position},expanded:{...X.expanded},fields:{input:X.fields.input.map(ie=>ie.name),output:X.fields.output.map(ie=>ie.name)}}))}function ke(){const X={},ie=O("vault");if(ie){const ne=xD(ie.config);ne&&Object.keys(ne).length>0&&(X.vault=ne)}if(o.value.cacheConfig){const{strategy:ne,redis:Ce,memory:fe}=o.value.cacheConfig;X.cache={strategy:ne,redis:Ce,memory:fe}}if(Object.keys(X).length!==0)return X}function Oe(){const X=[];for(const ie of o.value.groups){const ne=N(ie.ownerId);if(!ne)continue;const Ce=ie.position;Ce&&X.push({name:Yc(ne.name,ie.branch),position:{...Ce}})}return X}function We(){return{nodes:Ne(),groups:Oe()}}function he(X,ie){ie&&c.commit(),o.value=V0(X,ie),ie||c.clear()}return{state:o,selection:i,portalSelection:a,modalOpen:s,skipValidation:u,invalidConfigNodeIds:f,propertiesPanelOpen:l,configNodeCounts:p,nodeMapById:h,nodeMapByName:g,edgeMapById:b,edgeIdMapByNodeId:_,groupMapById:C,getNodeById:N,getNodeByName:O,getEdgeById:B,getEdgesByNodeId:A,getInEdgesByNodeId:q,getOutEdgesByNodeId:z,selectedNode:Y,selectNode:K,selectPortalEdge:U,createNode:j,addNode:L,duplicateNode:G,removeNode:F,renameNode:$,moveNode:S,moveGroup:P,setGroupLayout:V,toggleExpanded:W,replaceConfig:re,branchGroups:E,addField:oe,renameField:de,removeField:Ae,connectEdge:De,replaceConnection:ze,disconnectEdge:ue,disconnectInEdges:pe,disconnectOutEdges:me,toConfigNodes:$e,toUINodes:Ne,toUIGroups:Oe,toUIData:We,load:he,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:M,isValidVueFlowConnection:v,validateGraph:()=>T(),clearPendingLayout:d,setPendingFitView:m}});function Kt(){const e=BD();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const{t:PD}=nn.createI18n("en-us",cn),Xc=Lt.createGlobalState(()=>{const e=Lt.useLocalStorage("datakit-editor-mode","flow"),n=Lt.useLocalStorage("datakit-editor-sidebar-expanded",!0),r=Lt.useLocalStorage("datakit-editor-response-panel-collapsed",!1);return{editorMode:e,sidePanelExpanded:n,responsePanelCollapsed:r}});function VD({enabled:e,confirm:n}){Gr.onBeforeRouteLeave(()=>t.toValue(e)?n?n():window.confirm(PD("plugins.free-form.datakit.flow_editor.leave_confirm")):!0);const r=o=>{t.toValue(e)&&o.preventDefault()};Lt.useEventListener("beforeunload",r)}const RD=["undo","redo","duplicate","cut","copy","paste"],D0=()=>{};function $D(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function LD(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 DD=Lt.createSharedComposable(()=>{const e=new Set;Lt.useEventListener("keydown",r=>{if($D(r.target))return;const o=LD(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(!RD.some(i=>typeof r[i]=="function"))return D0;const o={enabled:r.enabled??!0,...r};return e.add(o),()=>e.delete(o)}return{subscribe:n}});function M0(e={}){if(typeof window>"u")return D0;const n=DD().subscribe(e);return t.onScopeDispose(n),n}const j0=44,MD=220,F0=366,jD=1e3,FD=j0+parseFloat(Gg),Zc=1,UD=0,KD=1,qD=2,GD=3,ca=parseInt(kN,10),Ds="application/x-datakit+json",Qc={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"]},To={padding:80,gaps:{nodes:60,edges:80,ranks:60}},HD=1600,zD=1.2,WD=0,YD=200,U0=Symbol("confirm-modal"),ua="{key}",ri={"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.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}},eu=Object.keys(ri).filter(e=>e.includes(ua)).map(e=>e.replace(ua,""));function tm(e){if(!e||!js(e))return;const n=eu.find(r=>e.startsWith(r));if(n)return e.slice(n.length).replace(ua,"")}function Ms(e){if(!e)return null;const n=eu.find(r=>e.startsWith(r));return n||e}function js(e){return e?eu.some(n=>e.startsWith(n)):!1}function K0(e){return e?js(e)?Ms(e)+ua:e:null}function nm(e){var r;if(!e)return!1;const n=K0(e);return n?((r=ri[n])==null?void 0:r.readable)??!1:!1}function rm(e){var r;if(!e)return!1;const n=K0(e);return n?((r=ri[n])==null?void 0:r.writable)??!1:!1}function tu(e,n,r){const o=n?Io(e,r,n):void 0;return`${e.name}${o?`.${o.name}`:""}`}function Fs(e,n){const r=n(e.source),o=n(e.target);return[tu(r,e.sourceField,"output"),tu(o,e.targetField,"input")]}function om(e,n,r,o,i){const a=i(e),s=i(r);return[tu(a,n,"output"),tu(s,o,"input")]}function q0(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 u=a+l,f=s+c;if(!Number.isFinite(u)||!Number.isFinite(f))throw new RangeError("Rect boundaries must be finite numbers");a<n&&(n=a),s<r&&(r=s),u>o&&(o=u),f>i&&(i=f)}return{x:n,y:r,width:o-n,height:i-r}}var It=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),wr=It((e,n)=>{var r=Object.defineProperty,o=(B,A,q)=>A in B?r(B,A,{enumerable:!0,configurable:!0,writable:!0,value:q}):B[A]=q,i=(B,A)=>()=>(A||B((A={exports:{}}).exports,A),A.exports),a=(B,A,q)=>o(B,typeof A!="symbol"?A+"":A,q),s=i((B,A)=>{var q="\0",z="\0",Y="",K=class{constructor($){a(this,"_isDirected",!0),a(this,"_isMultigraph",!1),a(this,"_isCompound",!1),a(this,"_label"),a(this,"_defaultNodeLabelFn",()=>{}),a(this,"_defaultEdgeLabelFn",()=>{}),a(this,"_nodes",{}),a(this,"_in",{}),a(this,"_preds",{}),a(this,"_out",{}),a(this,"_sucs",{}),a(this,"_edgeObjs",{}),a(this,"_edgeLabels",{}),a(this,"_nodeCount",0),a(this,"_edgeCount",0),a(this,"_parent"),a(this,"_children"),$&&(this._isDirected=Object.hasOwn($,"directed")?$.directed:!0,this._isMultigraph=Object.hasOwn($,"multigraph")?$.multigraph:!1,this._isCompound=Object.hasOwn($,"compound")?$.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[z]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph($){return this._label=$,this}graph(){return this._label}setDefaultNodeLabel($){return this._defaultNodeLabelFn=$,typeof $!="function"&&(this._defaultNodeLabelFn=()=>$),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var $=this;return this.nodes().filter(S=>Object.keys($._in[S]).length===0)}sinks(){var $=this;return this.nodes().filter(S=>Object.keys($._out[S]).length===0)}setNodes($,S){var P=arguments,V=this;return $.forEach(function(W){P.length>1?V.setNode(W,S):V.setNode(W)}),this}setNode($,S){return Object.hasOwn(this._nodes,$)?(arguments.length>1&&(this._nodes[$]=S),this):(this._nodes[$]=arguments.length>1?S:this._defaultNodeLabelFn($),this._isCompound&&(this._parent[$]=z,this._children[$]={},this._children[z][$]=!0),this._in[$]={},this._preds[$]={},this._out[$]={},this._sucs[$]={},++this._nodeCount,this)}node($){return this._nodes[$]}hasNode($){return Object.hasOwn(this._nodes,$)}removeNode($){var S=this;if(Object.hasOwn(this._nodes,$)){var P=V=>S.removeEdge(S._edgeObjs[V]);delete this._nodes[$],this._isCompound&&(this._removeFromParentsChildList($),delete this._parent[$],this.children($).forEach(function(V){S.setParent(V)}),delete this._children[$]),Object.keys(this._in[$]).forEach(P),delete this._in[$],delete this._preds[$],Object.keys(this._out[$]).forEach(P),delete this._out[$],delete this._sucs[$],--this._nodeCount}return this}setParent($,S){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(S===void 0)S=z;else{S+="";for(var P=S;P!==void 0;P=this.parent(P))if(P===$)throw new Error("Setting "+S+" as parent of "+$+" would create a cycle");this.setNode(S)}return this.setNode($),this._removeFromParentsChildList($),this._parent[$]=S,this._children[S][$]=!0,this}_removeFromParentsChildList($){delete this._children[this._parent[$]][$]}parent($){if(this._isCompound){var S=this._parent[$];if(S!==z)return S}}children($=z){if(this._isCompound){var S=this._children[$];if(S)return Object.keys(S)}else{if($===z)return this.nodes();if(this.hasNode($))return[]}}predecessors($){var S=this._preds[$];if(S)return Object.keys(S)}successors($){var S=this._sucs[$];if(S)return Object.keys(S)}neighbors($){var S=this.predecessors($);if(S){let V=new Set(S);for(var P of this.successors($))V.add(P);return Array.from(V.values())}}isLeaf($){var S;return this.isDirected()?S=this.successors($):S=this.neighbors($),S.length===0}filterNodes($){var S=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});S.setGraph(this.graph());var P=this;Object.entries(this._nodes).forEach(function([re,oe]){$(re)&&S.setNode(re,oe)}),Object.values(this._edgeObjs).forEach(function(re){S.hasNode(re.v)&&S.hasNode(re.w)&&S.setEdge(re,P.edge(re))});var V={};function W(re){var oe=P.parent(re);return oe===void 0||S.hasNode(oe)?(V[re]=oe,oe):oe in V?V[oe]:W(oe)}return this._isCompound&&S.nodes().forEach(re=>S.setParent(re,W(re))),S}setDefaultEdgeLabel($){return this._defaultEdgeLabelFn=$,typeof $!="function"&&(this._defaultEdgeLabelFn=()=>$),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath($,S){var P=this,V=arguments;return $.reduce(function(W,re){return V.length>1?P.setEdge(W,re,S):P.setEdge(W,re),re}),this}setEdge(){var $,S,P,V,W=!1,re=arguments[0];typeof re=="object"&&re!==null&&"v"in re?($=re.v,S=re.w,P=re.name,arguments.length===2&&(V=arguments[1],W=!0)):($=re,S=arguments[1],P=arguments[3],arguments.length>2&&(V=arguments[2],W=!0)),$=""+$,S=""+S,P!==void 0&&(P=""+P);var oe=L(this._isDirected,$,S,P);if(Object.hasOwn(this._edgeLabels,oe))return W&&(this._edgeLabels[oe]=V),this;if(P!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode($),this.setNode(S),this._edgeLabels[oe]=W?V:this._defaultEdgeLabelFn($,S,P);var de=G(this._isDirected,$,S,P);return $=de.v,S=de.w,Object.freeze(de),this._edgeObjs[oe]=de,U(this._preds[S],$),U(this._sucs[$],S),this._in[S][oe]=de,this._out[$][oe]=de,this._edgeCount++,this}edge($,S,P){var V=arguments.length===1?F(this._isDirected,arguments[0]):L(this._isDirected,$,S,P);return this._edgeLabels[V]}edgeAsObj(){let $=this.edge(...arguments);return typeof $!="object"?{label:$}:$}hasEdge($,S,P){var V=arguments.length===1?F(this._isDirected,arguments[0]):L(this._isDirected,$,S,P);return Object.hasOwn(this._edgeLabels,V)}removeEdge($,S,P){var V=arguments.length===1?F(this._isDirected,arguments[0]):L(this._isDirected,$,S,P),W=this._edgeObjs[V];return W&&($=W.v,S=W.w,delete this._edgeLabels[V],delete this._edgeObjs[V],j(this._preds[S],$),j(this._sucs[$],S),delete this._in[S][V],delete this._out[$][V],this._edgeCount--),this}inEdges($,S){return this.isDirected()?this.filterEdges(this._in[$],$,S):this.nodeEdges($,S)}outEdges($,S){return this.isDirected()?this.filterEdges(this._out[$],$,S):this.nodeEdges($,S)}nodeEdges($,S){if($ in this._nodes)return this.filterEdges({...this._in[$],...this._out[$]},$,S)}filterEdges($,S,P){if($){var V=Object.values($);return P?V.filter(function(W){return W.v===S&&W.w===P||W.v===P&&W.w===S}):V}}};function U($,S){$[S]?$[S]++:$[S]=1}function j($,S){--$[S]||delete $[S]}function L($,S,P,V){var W=""+S,re=""+P;if(!$&&W>re){var oe=W;W=re,re=oe}return W+Y+re+Y+(V===void 0?q:V)}function G($,S,P,V){var W=""+S,re=""+P;if(!$&&W>re){var oe=W;W=re,re=oe}var de={v:W,w:re};return V&&(de.name=V),de}function F($,S){return L($,S.v,S.w,S.name)}A.exports=K}),l=i((B,A)=>{A.exports="3.0.2"}),c=i((B,A)=>{A.exports={Graph:s(),version:l()}}),u=i((B,A)=>{var q=s();A.exports={write:z,read:U};function z(j){var L={options:{directed:j.isDirected(),multigraph:j.isMultigraph(),compound:j.isCompound()},nodes:Y(j),edges:K(j)};return j.graph()!==void 0&&(L.value=structuredClone(j.graph())),L}function Y(j){return j.nodes().map(function(L){var G=j.node(L),F=j.parent(L),$={v:L};return G!==void 0&&($.value=G),F!==void 0&&($.parent=F),$})}function K(j){return j.edges().map(function(L){var G=j.edge(L),F={v:L.v,w:L.w};return L.name!==void 0&&(F.name=L.name),G!==void 0&&(F.value=G),F})}function U(j){var L=new q(j.options).setGraph(j.value);return j.nodes.forEach(function(G){L.setNode(G.v,G.value),G.parent&&L.setParent(G.v,G.parent)}),j.edges.forEach(function(G){L.setEdge({v:G.v,w:G.w,name:G.name},G.value)}),L}}),f=i((B,A)=>{A.exports=z;var q=()=>1;function z(K,U,j,L){return Y(K,String(U),j||q,L||function(G){return K.outEdges(G)})}function Y(K,U,j,L){var G={},F=!0,$=0,S=K.nodes(),P=function(oe){var de=j(oe);G[oe.v].distance+de<G[oe.w].distance&&(G[oe.w]={distance:G[oe.v].distance+de,predecessor:oe.v},F=!0)},V=function(){S.forEach(function(oe){L(oe).forEach(function(de){var Ae=de.v===oe?de.v:de.w,De=Ae===de.v?de.w:de.v;P({v:Ae,w:De})})})};S.forEach(function(oe){var de=oe===U?0:Number.POSITIVE_INFINITY;G[oe]={distance:de}});for(var W=S.length,re=1;re<W&&(F=!1,$++,V(),!!F);re++);if($===W-1&&(F=!1,V(),F))throw new Error("The graph contains a negative weight cycle");return G}}),d=i((B,A)=>{A.exports=q;function q(z){var Y={},K=[],U;function j(L){Object.hasOwn(Y,L)||(Y[L]=!0,U.push(L),z.successors(L).forEach(j),z.predecessors(L).forEach(j))}return z.nodes().forEach(function(L){U=[],j(L),U.length&&K.push(U)}),K}}),m=i((B,A)=>{var q=class{constructor(){a(this,"_arr",[]),a(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(z){return z.key})}has(z){return Object.hasOwn(this._keyIndices,z)}priority(z){var Y=this._keyIndices[z];if(Y!==void 0)return this._arr[Y].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(z,Y){var K=this._keyIndices;if(z=String(z),!Object.hasOwn(K,z)){var U=this._arr,j=U.length;return K[z]=j,U.push({key:z,priority:Y}),this._decrease(j),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var z=this._arr.pop();return delete this._keyIndices[z.key],this._heapify(0),z.key}decrease(z,Y){var K=this._keyIndices[z];if(Y>this._arr[K].priority)throw new Error("New priority is greater than current priority. Key: "+z+" Old: "+this._arr[K].priority+" New: "+Y);this._arr[K].priority=Y,this._decrease(K)}_heapify(z){var Y=this._arr,K=2*z,U=K+1,j=z;K<Y.length&&(j=Y[K].priority<Y[j].priority?K:j,U<Y.length&&(j=Y[U].priority<Y[j].priority?U:j),j!==z&&(this._swap(z,j),this._heapify(j)))}_decrease(z){for(var Y=this._arr,K=Y[z].priority,U;z!==0&&(U=z>>1,!(Y[U].priority<K));)this._swap(z,U),z=U}_swap(z,Y){var K=this._arr,U=this._keyIndices,j=K[z],L=K[Y];K[z]=L,K[Y]=j,U[L.key]=z,U[j.key]=Y}};A.exports=q}),p=i((B,A)=>{var q=m();A.exports=Y;var z=()=>1;function Y(U,j,L,G){var F=function($){return U.outEdges($)};return K(U,String(j),L||z,G||F)}function K(U,j,L,G){var F={},$=new q,S,P,V=function(W){var re=W.v!==S?W.v:W.w,oe=F[re],de=L(W),Ae=P.distance+de;if(de<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+W+" Weight: "+de);Ae<oe.distance&&(oe.distance=Ae,oe.predecessor=S,$.decrease(re,Ae))};for(U.nodes().forEach(function(W){var re=W===j?0:Number.POSITIVE_INFINITY;F[W]={distance:re},$.add(W,re)});$.size()>0&&(S=$.removeMin(),P=F[S],P.distance!==Number.POSITIVE_INFINITY);)G(S).forEach(V);return F}}),h=i((B,A)=>{var q=p();A.exports=z;function z(Y,K,U){return Y.nodes().reduce(function(j,L){return j[L]=q(Y,L,K,U),j},{})}}),g=i((B,A)=>{A.exports=q;function q(Y,K,U){if(Y[K].predecessor!==void 0)throw new Error("Invalid source vertex");if(Y[U].predecessor===void 0&&U!==K)throw new Error("Invalid destination vertex");return{weight:Y[U].distance,path:z(Y,K,U)}}function z(Y,K,U){for(var j=[],L=U;L!==K;)j.push(L),L=Y[L].predecessor;return j.push(K),j.reverse()}}),y=i((B,A)=>{A.exports=q;function q(z){var Y=0,K=[],U={},j=[];function L(G){var F=U[G]={onStack:!0,lowlink:Y,index:Y++};if(K.push(G),z.successors(G).forEach(function(P){Object.hasOwn(U,P)?U[P].onStack&&(F.lowlink=Math.min(F.lowlink,U[P].index)):(L(P),F.lowlink=Math.min(F.lowlink,U[P].lowlink))}),F.lowlink===F.index){var $=[],S;do S=K.pop(),U[S].onStack=!1,$.push(S);while(G!==S);j.push($)}}return z.nodes().forEach(function(G){Object.hasOwn(U,G)||L(G)}),j}}),b=i((B,A)=>{var q=y();A.exports=z;function z(Y){return q(Y).filter(function(K){return K.length>1||K.length===1&&Y.hasEdge(K[0],K[0])})}}),_=i((B,A)=>{A.exports=z;var q=()=>1;function z(K,U,j){return Y(K,U||q,j||function(L){return K.outEdges(L)})}function Y(K,U,j){var L={},G=K.nodes();return G.forEach(function(F){L[F]={},L[F][F]={distance:0},G.forEach(function($){F!==$&&(L[F][$]={distance:Number.POSITIVE_INFINITY})}),j(F).forEach(function($){var S=$.v===F?$.w:$.v,P=U($);L[F][S]={distance:P,predecessor:F}})}),G.forEach(function(F){var $=L[F];G.forEach(function(S){var P=L[S];G.forEach(function(V){var W=P[F],re=$[V],oe=P[V],de=W.distance+re.distance;de<oe.distance&&(oe.distance=de,oe.predecessor=re.predecessor)})})}),L}}),C=i((B,A)=>{function q(Y){var K={},U={},j=[];function L(G){if(Object.hasOwn(U,G))throw new z;Object.hasOwn(K,G)||(U[G]=!0,K[G]=!0,Y.predecessors(G).forEach(L),delete U[G],j.push(G))}if(Y.sinks().forEach(L),Object.keys(K).length!==Y.nodeCount())throw new z;return j}var z=class extends Error{constructor(){super(...arguments)}};A.exports=q,q.CycleException=z}),k=i((B,A)=>{var q=C();A.exports=z;function z(Y){try{q(Y)}catch(K){if(K instanceof q.CycleException)return!1;throw K}return!0}}),E=i((B,A)=>{A.exports=q;function q(Y,K,U,j,L){Array.isArray(K)||(K=[K]);var G=(Y.isDirected()?Y.successors:Y.neighbors).bind(Y),F={};return K.forEach(function($){if(!Y.hasNode($))throw new Error("Graph does not have node: "+$);L=z(Y,$,U==="post",F,G,j,L)}),L}function z(Y,K,U,j,L,G,F){return Object.hasOwn(j,K)||(j[K]=!0,U||(F=G(F,K)),L(K).forEach(function($){F=z(Y,$,U,j,L,G,F)}),U&&(F=G(F,K))),F}}),w=i((B,A)=>{var q=E();A.exports=z;function z(Y,K,U){return q(Y,K,U,function(j,L){return j.push(L),j},[])}}),x=i((B,A)=>{var q=w();A.exports=z;function z(Y,K){return q(Y,K,"post")}}),T=i((B,A)=>{var q=w();A.exports=z;function z(Y,K){return q(Y,K,"pre")}}),M=i((B,A)=>{var q=s(),z=m();A.exports=Y;function Y(K,U){var j=new q,L={},G=new z,F;function $(P){var V=P.v===F?P.w:P.v,W=G.priority(V);if(W!==void 0){var re=U(P);re<W&&(L[V]=F,G.decrease(V,re))}}if(K.nodeCount()===0)return j;K.nodes().forEach(function(P){G.add(P,Number.POSITIVE_INFINITY),j.setNode(P)}),G.decrease(K.nodes()[0],0);for(var S=!1;G.size()>0;){if(F=G.removeMin(),Object.hasOwn(L,F))j.setEdge(F,L[F]);else{if(S)throw new Error("Input graph is not connected: "+K);S=!0}K.nodeEdges(F).forEach($)}return j}}),v=i((B,A)=>{var q=p(),z=f();A.exports=Y;function Y(U,j,L,G){return K(U,j,L,G||function(F){return U.outEdges(F)})}function K(U,j,L,G){if(L===void 0)return q(U,j,L,G);for(var F=!1,$=U.nodes(),S=0;S<$.length;S++){for(var P=G($[S]),V=0;V<P.length;V++){var W=P[V],re=W.v===$[S]?W.v:W.w,oe=re===W.v?W.w:W.v;L({v:re,w:oe})<0&&(F=!0)}if(F)return z(U,j,L,G)}return q(U,j,L,G)}}),N=i((B,A)=>{A.exports={bellmanFord:f(),components:d(),dijkstra:p(),dijkstraAll:h(),extractPath:g(),findCycles:b(),floydWarshall:_(),isAcyclic:k(),postorder:x(),preorder:T(),prim:M(),shortestPaths:v(),reduce:E(),tarjan:y(),topsort:C()}}),O=c();n.exports={Graph:O.Graph,json:u(),alg:N(),version:O.version}}),JD=It((e,n)=>{var r=class{constructor(){let a={};a._next=a._prev=a,this._sentinel=a}dequeue(){let a=this._sentinel,s=a._prev;if(s!==a)return o(s),s}enqueue(a){let s=this._sentinel;a._prev&&a._next&&o(a),a._next=s._next,s._next._prev=a,s._next=a,a._prev=s}toString(){let a=[],s=this._sentinel,l=s._prev;for(;l!==s;)a.push(JSON.stringify(l,i)),l=l._prev;return"["+a.join(", ")+"]"}};function o(a){a._prev._next=a._next,a._next._prev=a._prev,delete a._next,delete a._prev}function i(a,s){if(a!=="_next"&&a!=="_prev")return s}n.exports=r}),XD=It((e,n)=>{var r=wr().Graph,o=JD();n.exports=a;var i=()=>1;function a(d,m){if(d.nodeCount()<=1)return[];let p=c(d,m||i);return s(p.graph,p.buckets,p.zeroIdx).flatMap(h=>d.outEdges(h.v,h.w))}function s(d,m,p){let h=[],g=m[m.length-1],y=m[0],b;for(;d.nodeCount();){for(;b=y.dequeue();)l(d,m,p,b);for(;b=g.dequeue();)l(d,m,p,b);if(d.nodeCount()){for(let _=m.length-2;_>0;--_)if(b=m[_].dequeue(),b){h=h.concat(l(d,m,p,b,!0));break}}}return h}function l(d,m,p,h,g){let y=g?[]:void 0;return d.inEdges(h.v).forEach(b=>{let _=d.edge(b),C=d.node(b.v);g&&y.push({v:b.v,w:b.w}),C.out-=_,u(m,p,C)}),d.outEdges(h.v).forEach(b=>{let _=d.edge(b),C=b.w,k=d.node(C);k.in-=_,u(m,p,k)}),d.removeNode(h.v),y}function c(d,m){let p=new r,h=0,g=0;d.nodes().forEach(_=>{p.setNode(_,{v:_,in:0,out:0})}),d.edges().forEach(_=>{let C=p.edge(_.v,_.w)||0,k=m(_),E=C+k;p.setEdge(_.v,_.w,E),g=Math.max(g,p.node(_.v).out+=k),h=Math.max(h,p.node(_.w).in+=k)});let y=f(g+h+3).map(()=>new o),b=h+1;return p.nodes().forEach(_=>{u(y,b,p.node(_))}),{graph:p,buckets:y,zeroIdx:b}}function u(d,m,p){p.out?p.in?d[p.out-p.in+m].enqueue(p):d[d.length-1].enqueue(p):d[0].enqueue(p)}function f(d){let m=[];for(let p=0;p<d;p++)m.push(p);return m}}),Qt=It((e,n)=>{var r=wr().Graph;n.exports={addBorderNode:m,addDummyNode:o,applyWithChunking:g,asNonCompoundGraph:a,buildLayerMatrix:u,intersectRect:c,mapValues:T,maxRank:y,normalizeRanks:f,notime:C,partition:b,pick:x,predecessorWeights:l,range:w,removeEmptyRanks:d,simplify:i,successorWeights:s,time:_,uniqueId:E,zipObject:M};function o(v,N,O,B){for(var A=B;v.hasNode(A);)A=E(B);return O.dummy=N,v.setNode(A,O),A}function i(v){let N=new r().setGraph(v.graph());return v.nodes().forEach(O=>N.setNode(O,v.node(O))),v.edges().forEach(O=>{let B=N.edge(O.v,O.w)||{weight:0,minlen:1},A=v.edge(O);N.setEdge(O.v,O.w,{weight:B.weight+A.weight,minlen:Math.max(B.minlen,A.minlen)})}),N}function a(v){let N=new r({multigraph:v.isMultigraph()}).setGraph(v.graph());return v.nodes().forEach(O=>{v.children(O).length||N.setNode(O,v.node(O))}),v.edges().forEach(O=>{N.setEdge(O,v.edge(O))}),N}function s(v){let N=v.nodes().map(O=>{let B={};return v.outEdges(O).forEach(A=>{B[A.w]=(B[A.w]||0)+v.edge(A).weight}),B});return M(v.nodes(),N)}function l(v){let N=v.nodes().map(O=>{let B={};return v.inEdges(O).forEach(A=>{B[A.v]=(B[A.v]||0)+v.edge(A).weight}),B});return M(v.nodes(),N)}function c(v,N){let O=v.x,B=v.y,A=N.x-O,q=N.y-B,z=v.width/2,Y=v.height/2;if(!A&&!q)throw new Error("Not possible to find intersection inside of the rectangle");let K,U;return Math.abs(q)*z>Math.abs(A)*Y?(q<0&&(Y=-Y),K=Y*A/q,U=Y):(A<0&&(z=-z),K=z,U=z*q/A),{x:O+K,y:B+U}}function u(v){let N=w(y(v)+1).map(()=>[]);return v.nodes().forEach(O=>{let B=v.node(O),A=B.rank;A!==void 0&&(N[A][B.order]=O)}),N}function f(v){let N=v.nodes().map(B=>{let A=v.node(B).rank;return A===void 0?Number.MAX_VALUE:A}),O=g(Math.min,N);v.nodes().forEach(B=>{let A=v.node(B);Object.hasOwn(A,"rank")&&(A.rank-=O)})}function d(v){let N=v.nodes().map(z=>v.node(z).rank).filter(z=>z!==void 0),O=g(Math.min,N),B=[];v.nodes().forEach(z=>{let Y=v.node(z).rank-O;B[Y]||(B[Y]=[]),B[Y].push(z)});let A=0,q=v.graph().nodeRankFactor;Array.from(B).forEach((z,Y)=>{z===void 0&&Y%q!==0?--A:z!==void 0&&A&&z.forEach(K=>v.node(K).rank+=A)})}function m(v,N,O,B){let A={width:0,height:0};return arguments.length>=4&&(A.rank=O,A.order=B),o(v,"border",A,N)}function p(v,N=h){let O=[];for(let B=0;B<v.length;B+=N){let A=v.slice(B,B+N);O.push(A)}return O}var h=65535;function g(v,N){if(N.length>h){let O=p(N);return v.apply(null,O.map(B=>v.apply(null,B)))}else return v.apply(null,N)}function y(v){let N=v.nodes().map(O=>{let B=v.node(O).rank;return B===void 0?Number.MIN_VALUE:B});return g(Math.max,N)}function b(v,N){let O={lhs:[],rhs:[]};return v.forEach(B=>{N(B)?O.lhs.push(B):O.rhs.push(B)}),O}function _(v,N){let O=Date.now();try{return N()}finally{console.log(v+" time: "+(Date.now()-O)+"ms")}}function C(v,N){return N()}var k=0;function E(v){var N=++k;return v+(""+N)}function w(v,N,O=1){N==null&&(N=v,v=0);let B=q=>q<N;O<0&&(B=q=>N<q);let A=[];for(let q=v;B(q);q+=O)A.push(q);return A}function x(v,N){let O={};for(let B of N)v[B]!==void 0&&(O[B]=v[B]);return O}function T(v,N){let O=N;return typeof N=="string"&&(O=B=>B[N]),Object.entries(v).reduce((B,[A,q])=>(B[A]=O(q,A),B),{})}function M(v,N){return v.reduce((O,B,A)=>(O[B]=N[A],O),{})}}),ZD=It((e,n)=>{var r=XD(),o=Qt().uniqueId;n.exports={run:i,undo:s};function i(l){(l.graph().acyclicer==="greedy"?r(l,c(l)):a(l)).forEach(u=>{let f=l.edge(u);l.removeEdge(u),f.forwardName=u.name,f.reversed=!0,l.setEdge(u.w,u.v,f,o("rev"))});function c(u){return f=>u.edge(f).weight}}function a(l){let c=[],u={},f={};function d(m){Object.hasOwn(f,m)||(f[m]=!0,u[m]=!0,l.outEdges(m).forEach(p=>{Object.hasOwn(u,p.w)?c.push(p):d(p.w)}),delete u[m])}return l.nodes().forEach(d),c}function s(l){l.edges().forEach(c=>{let u=l.edge(c);if(u.reversed){l.removeEdge(c);let f=u.forwardName;delete u.reversed,delete u.forwardName,l.setEdge(c.w,c.v,u,f)}})}}),QD=It((e,n)=>{var r=Qt();n.exports={run:o,undo:a};function o(s){s.graph().dummyChains=[],s.edges().forEach(l=>i(s,l))}function i(s,l){let c=l.v,u=s.node(c).rank,f=l.w,d=s.node(f).rank,m=l.name,p=s.edge(l),h=p.labelRank;if(d===u+1)return;s.removeEdge(l);let g,y,b;for(b=0,++u;u<d;++b,++u)p.points=[],y={width:0,height:0,edgeLabel:p,edgeObj:l,rank:u},g=r.addDummyNode(s,"edge",y,"_d"),u===h&&(y.width=p.width,y.height=p.height,y.dummy="edge-label",y.labelpos=p.labelpos),s.setEdge(c,g,{weight:p.weight},m),b===0&&s.graph().dummyChains.push(g),c=g;s.setEdge(c,f,{weight:p.weight},m)}function a(s){s.graph().dummyChains.forEach(l=>{let c=s.node(l),u=c.edgeLabel,f;for(s.setEdge(c.edgeObj,u);c.dummy;)f=s.successors(l)[0],s.removeNode(l),u.points.push({x:c.x,y:c.y}),c.dummy==="edge-label"&&(u.x=c.x,u.y=c.y,u.width=c.width,u.height=c.height),l=f,c=s.node(l)})}}),nu=It((e,n)=>{var{applyWithChunking:r}=Qt();n.exports={longestPath:o,slack:i};function o(a){var s={};function l(c){var u=a.node(c);if(Object.hasOwn(s,c))return u.rank;s[c]=!0;let f=a.outEdges(c).map(m=>m==null?Number.POSITIVE_INFINITY:l(m.w)-a.edge(m).minlen);var d=r(Math.min,f);return d===Number.POSITIVE_INFINITY&&(d=0),u.rank=d}a.sources().forEach(l)}function i(a,s){return a.node(s.w).rank-a.node(s.v).rank-a.edge(s).minlen}}),G0=It((e,n)=>{var r=wr().Graph,o=nu().slack;n.exports=i;function i(c){var u=new r({directed:!1}),f=c.nodes()[0],d=c.nodeCount();u.setNode(f,{});for(var m,p;a(u,c)<d;)m=s(u,c),p=u.hasNode(m.v)?o(c,m):-o(c,m),l(u,c,p);return u}function a(c,u){function f(d){u.nodeEdges(d).forEach(m=>{var p=m.v,h=d===p?m.w:p;!c.hasNode(h)&&!o(u,m)&&(c.setNode(h,{}),c.setEdge(d,h,{}),f(h))})}return c.nodes().forEach(f),c.nodeCount()}function s(c,u){return u.edges().reduce((f,d)=>{let m=Number.POSITIVE_INFINITY;return c.hasNode(d.v)!==c.hasNode(d.w)&&(m=o(u,d)),m<f[0]?[m,d]:f},[Number.POSITIVE_INFINITY,null])[1]}function l(c,u,f){c.nodes().forEach(d=>u.node(d).rank+=f)}}),e2=It((e,n)=>{var r=G0(),o=nu().slack,i=nu().longestPath,a=wr().alg.preorder,s=wr().alg.postorder,l=Qt().simplify;n.exports=c,c.initLowLimValues=m,c.initCutValues=u,c.calcCutValue=d,c.leaveEdge=h,c.enterEdge=g,c.exchangeEdges=y;function c(k){k=l(k),i(k);var E=r(k);m(E),u(E,k);for(var w,x;w=h(E);)x=g(E,k,w),y(E,k,w,x)}function u(k,E){var w=s(k,k.nodes());w=w.slice(0,w.length-1),w.forEach(x=>f(k,E,x))}function f(k,E,w){var x=k.node(w),T=x.parent;k.edge(w,T).cutvalue=d(k,E,w)}function d(k,E,w){var x=k.node(w),T=x.parent,M=!0,v=E.edge(w,T),N=0;return v||(M=!1,v=E.edge(T,w)),N=v.weight,E.nodeEdges(w).forEach(O=>{var B=O.v===w,A=B?O.w:O.v;if(A!==T){var q=B===M,z=E.edge(O).weight;if(N+=q?z:-z,_(k,w,A)){var Y=k.edge(w,A).cutvalue;N+=q?-Y:Y}}}),N}function m(k,E){arguments.length<2&&(E=k.nodes()[0]),p(k,{},1,E)}function p(k,E,w,x,T){var M=w,v=k.node(x);return E[x]=!0,k.neighbors(x).forEach(N=>{Object.hasOwn(E,N)||(w=p(k,E,w,N,x))}),v.low=M,v.lim=w++,T?v.parent=T:delete v.parent,w}function h(k){return k.edges().find(E=>k.edge(E).cutvalue<0)}function g(k,E,w){var x=w.v,T=w.w;E.hasEdge(x,T)||(x=w.w,T=w.v);var M=k.node(x),v=k.node(T),N=M,O=!1;M.lim>v.lim&&(N=v,O=!0);var B=E.edges().filter(A=>O===C(k,k.node(A.v),N)&&O!==C(k,k.node(A.w),N));return B.reduce((A,q)=>o(E,q)<o(E,A)?q:A)}function y(k,E,w,x){var T=w.v,M=w.w;k.removeEdge(T,M),k.setEdge(x.v,x.w,{}),m(k),u(k,E),b(k,E)}function b(k,E){var w=k.nodes().find(T=>!E.node(T).parent),x=a(k,w);x=x.slice(1),x.forEach(T=>{var M=k.node(T).parent,v=E.edge(T,M),N=!1;v||(v=E.edge(M,T),N=!0),E.node(T).rank=E.node(M).rank+(N?v.minlen:-v.minlen)})}function _(k,E,w){return k.hasEdge(E,w)}function C(k,E,w){return w.low<=E.lim&&E.lim<=w.lim}}),t2=It((e,n)=>{var r=nu(),o=r.longestPath,i=G0(),a=e2();n.exports=s;function s(f){var d=f.graph().ranker;if(d instanceof Function)return d(f);switch(f.graph().ranker){case"network-simplex":u(f);break;case"tight-tree":c(f);break;case"longest-path":l(f);break;case"none":break;default:u(f)}}var l=o;function c(f){o(f),i(f)}function u(f){a(f)}}),n2=It((e,n)=>{n.exports=r;function r(a){let s=i(a);a.graph().dummyChains.forEach(l=>{let c=a.node(l),u=c.edgeObj,f=o(a,s,u.v,u.w),d=f.path,m=f.lca,p=0,h=d[p],g=!0;for(;l!==u.w;){if(c=a.node(l),g){for(;(h=d[p])!==m&&a.node(h).maxRank<c.rank;)p++;h===m&&(g=!1)}if(!g){for(;p<d.length-1&&a.node(h=d[p+1]).minRank<=c.rank;)p++;h=d[p]}a.setParent(l,h),l=a.successors(l)[0]}})}function o(a,s,l,c){let u=[],f=[],d=Math.min(s[l].low,s[c].low),m=Math.max(s[l].lim,s[c].lim),p,h;p=l;do p=a.parent(p),u.push(p);while(p&&(s[p].low>d||m>s[p].lim));for(h=p,p=c;(p=a.parent(p))!==h;)f.push(p);return{path:u.concat(f.reverse()),lca:h}}function i(a){let s={},l=0;function c(u){let f=l;a.children(u).forEach(c),s[u]={low:f,lim:l++}}return a.children().forEach(c),s}}),r2=It((e,n)=>{var r=Qt();n.exports={run:o,cleanup:l};function o(c){let u=r.addDummyNode(c,"root",{},"_root"),f=a(c),d=Object.values(f),m=r.applyWithChunking(Math.max,d)-1,p=2*m+1;c.graph().nestingRoot=u,c.edges().forEach(g=>c.edge(g).minlen*=p);let h=s(c)+1;c.children().forEach(g=>i(c,u,p,h,m,f,g)),c.graph().nodeRankFactor=p}function i(c,u,f,d,m,p,h){let g=c.children(h);if(!g.length){h!==u&&c.setEdge(u,h,{weight:0,minlen:f});return}let y=r.addBorderNode(c,"_bt"),b=r.addBorderNode(c,"_bb"),_=c.node(h);c.setParent(y,h),_.borderTop=y,c.setParent(b,h),_.borderBottom=b,g.forEach(C=>{i(c,u,f,d,m,p,C);let k=c.node(C),E=k.borderTop?k.borderTop:C,w=k.borderBottom?k.borderBottom:C,x=k.borderTop?d:2*d,T=E!==w?1:m-p[h]+1;c.setEdge(y,E,{weight:x,minlen:T,nestingEdge:!0}),c.setEdge(w,b,{weight:x,minlen:T,nestingEdge:!0})}),c.parent(h)||c.setEdge(u,y,{weight:0,minlen:m+p[h]})}function a(c){var u={};function f(d,m){var p=c.children(d);p&&p.length&&p.forEach(h=>f(h,m+1)),u[d]=m}return c.children().forEach(d=>f(d,1)),u}function s(c){return c.edges().reduce((u,f)=>u+c.edge(f).weight,0)}function l(c){var u=c.graph();c.removeNode(u.nestingRoot),delete u.nestingRoot,c.edges().forEach(f=>{var d=c.edge(f);d.nestingEdge&&c.removeEdge(f)})}}),o2=It((e,n)=>{var r=Qt();n.exports=o;function o(a){function s(l){let c=a.children(l),u=a.node(l);if(c.length&&c.forEach(s),Object.hasOwn(u,"minRank")){u.borderLeft=[],u.borderRight=[];for(let f=u.minRank,d=u.maxRank+1;f<d;++f)i(a,"borderLeft","_bl",l,u,f),i(a,"borderRight","_br",l,u,f)}}a.children().forEach(s)}function i(a,s,l,c,u,f){let d={width:0,height:0,rank:f,borderType:s},m=u[s][f-1],p=r.addDummyNode(a,"border",d,l);u[s][f]=p,a.setParent(p,c),m&&a.setEdge(m,p,{weight:1})}}),i2=It((e,n)=>{n.exports={adjust:r,undo:o};function r(f){let d=f.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&i(f)}function o(f){let d=f.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&s(f),(d==="lr"||d==="rl")&&(c(f),i(f))}function i(f){f.nodes().forEach(d=>a(f.node(d))),f.edges().forEach(d=>a(f.edge(d)))}function a(f){let d=f.width;f.width=f.height,f.height=d}function s(f){f.nodes().forEach(d=>l(f.node(d))),f.edges().forEach(d=>{let m=f.edge(d);m.points.forEach(l),Object.hasOwn(m,"y")&&l(m)})}function l(f){f.y=-f.y}function c(f){f.nodes().forEach(d=>u(f.node(d))),f.edges().forEach(d=>{let m=f.edge(d);m.points.forEach(u),Object.hasOwn(m,"x")&&u(m)})}function u(f){let d=f.x;f.x=f.y,f.y=d}}),a2=It((e,n)=>{var r=Qt();n.exports=o;function o(i){let a={},s=i.nodes().filter(d=>!i.children(d).length),l=s.map(d=>i.node(d).rank),c=r.applyWithChunking(Math.max,l),u=r.range(c+1).map(()=>[]);function f(d){if(a[d])return;a[d]=!0;let m=i.node(d);u[m.rank].push(d),i.successors(d).forEach(f)}return s.sort((d,m)=>i.node(d).rank-i.node(m).rank).forEach(f),u}}),s2=It((e,n)=>{var r=Qt().zipObject;n.exports=o;function o(a,s){let l=0;for(let c=1;c<s.length;++c)l+=i(a,s[c-1],s[c]);return l}function i(a,s,l){let c=r(l,l.map((h,g)=>g)),u=s.flatMap(h=>a.outEdges(h).map(g=>({pos:c[g.w],weight:a.edge(g).weight})).sort((g,y)=>g.pos-y.pos)),f=1;for(;f<l.length;)f<<=1;let d=2*f-1;f-=1;let m=new Array(d).fill(0),p=0;return u.forEach(h=>{let g=h.pos+f;m[g]+=h.weight;let y=0;for(;g>0;)g%2&&(y+=m[g+1]),g=g-1>>1,m[g]+=h.weight;p+=h.weight*y}),p}}),l2=It((e,n)=>{n.exports=r;function r(o,i=[]){return i.map(a=>{let s=o.inEdges(a);if(s.length){let l=s.reduce((c,u)=>{let f=o.edge(u),d=o.node(u.v);return{sum:c.sum+f.weight*d.order,weight:c.weight+f.weight}},{sum:0,weight:0});return{v:a,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:a}})}}),c2=It((e,n)=>{var r=Qt();n.exports=o;function o(s,l){let c={};s.forEach((f,d)=>{let m=c[f.v]={indegree:0,in:[],out:[],vs:[f.v],i:d};f.barycenter!==void 0&&(m.barycenter=f.barycenter,m.weight=f.weight)}),l.edges().forEach(f=>{let d=c[f.v],m=c[f.w];d!==void 0&&m!==void 0&&(m.indegree++,d.out.push(c[f.w]))});let u=Object.values(c).filter(f=>!f.indegree);return i(u)}function i(s){let l=[];function c(f){return d=>{d.merged||(d.barycenter===void 0||f.barycenter===void 0||d.barycenter>=f.barycenter)&&a(f,d)}}function u(f){return d=>{d.in.push(f),--d.indegree===0&&s.push(d)}}for(;s.length;){let f=s.pop();l.push(f),f.in.reverse().forEach(c(f)),f.out.forEach(u(f))}return l.filter(f=>!f.merged).map(f=>r.pick(f,["vs","i","barycenter","weight"]))}function a(s,l){let c=0,u=0;s.weight&&(c+=s.barycenter*s.weight,u+=s.weight),l.weight&&(c+=l.barycenter*l.weight,u+=l.weight),s.vs=l.vs.concat(s.vs),s.barycenter=c/u,s.weight=u,s.i=Math.min(l.i,s.i),l.merged=!0}}),u2=It((e,n)=>{var r=Qt();n.exports=o;function o(s,l){let c=r.partition(s,y=>Object.hasOwn(y,"barycenter")),u=c.lhs,f=c.rhs.sort((y,b)=>b.i-y.i),d=[],m=0,p=0,h=0;u.sort(a(!!l)),h=i(d,f,h),u.forEach(y=>{h+=y.vs.length,d.push(y.vs),m+=y.barycenter*y.weight,p+=y.weight,h=i(d,f,h)});let g={vs:d.flat(!0)};return p&&(g.barycenter=m/p,g.weight=p),g}function i(s,l,c){let u;for(;l.length&&(u=l[l.length-1]).i<=c;)l.pop(),s.push(u.vs),c++;return c}function a(s){return(l,c)=>l.barycenter<c.barycenter?-1:l.barycenter>c.barycenter?1:s?c.i-l.i:l.i-c.i}}),d2=It((e,n)=>{var r=l2(),o=c2(),i=u2();n.exports=a;function a(c,u,f,d){let m=c.children(u),p=c.node(u),h=p?p.borderLeft:void 0,g=p?p.borderRight:void 0,y={};h&&(m=m.filter(k=>k!==h&&k!==g));let b=r(c,m);b.forEach(k=>{if(c.children(k.v).length){let E=a(c,k.v,f,d);y[k.v]=E,Object.hasOwn(E,"barycenter")&&l(k,E)}});let _=o(b,f);s(_,y);let C=i(_,d);if(h&&(C.vs=[h,C.vs,g].flat(!0),c.predecessors(h).length)){let k=c.node(c.predecessors(h)[0]),E=c.node(c.predecessors(g)[0]);Object.hasOwn(C,"barycenter")||(C.barycenter=0,C.weight=0),C.barycenter=(C.barycenter*C.weight+k.order+E.order)/(C.weight+2),C.weight+=2}return C}function s(c,u){c.forEach(f=>{f.vs=f.vs.flatMap(d=>u[d]?u[d].vs:d)})}function l(c,u){c.barycenter!==void 0?(c.barycenter=(c.barycenter*c.weight+u.barycenter*u.weight)/(c.weight+u.weight),c.weight+=u.weight):(c.barycenter=u.barycenter,c.weight=u.weight)}}),f2=It((e,n)=>{var r=wr().Graph,o=Qt();n.exports=i;function i(s,l,c,u){u||(u=s.nodes());let f=a(s),d=new r({compound:!0}).setGraph({root:f}).setDefaultNodeLabel(m=>s.node(m));return u.forEach(m=>{let p=s.node(m),h=s.parent(m);(p.rank===l||p.minRank<=l&&l<=p.maxRank)&&(d.setNode(m),d.setParent(m,h||f),s[c](m).forEach(g=>{let y=g.v===m?g.w:g.v,b=d.edge(y,m),_=b!==void 0?b.weight:0;d.setEdge(y,m,{weight:s.edge(g).weight+_})}),Object.hasOwn(p,"minRank")&&d.setNode(m,{borderLeft:p.borderLeft[l],borderRight:p.borderRight[l]}))}),d}function a(s){for(var l;s.hasNode(l=o.uniqueId("_root")););return l}}),p2=It((e,n)=>{n.exports=r;function r(o,i,a){let s={},l;a.forEach(c=>{let u=o.parent(c),f,d;for(;u;){if(f=o.parent(u),f?(d=s[f],s[f]=u):(d=l,l=u),d&&d!==u){i.setEdge(d,u);return}u=f}})}}),m2=It((e,n)=>{var r=a2(),o=s2(),i=d2(),a=f2(),s=p2(),l=wr().Graph,c=Qt();n.exports=u;function u(p,h={}){if(typeof h.customOrder=="function"){h.customOrder(p,u);return}let g=c.maxRank(p),y=f(p,c.range(1,g+1),"inEdges"),b=f(p,c.range(g-1,-1,-1),"outEdges"),_=r(p);if(m(p,_),h.disableOptimalOrderHeuristic)return;let C=Number.POSITIVE_INFINITY,k,E=h.constraints||[];for(let w=0,x=0;x<4;++w,++x){d(w%2?y:b,w%4>=2,E),_=c.buildLayerMatrix(p);let T=o(p,_);T<C?(x=0,k=Object.assign({},_),C=T):T===C&&(k=structuredClone(_))}m(p,k)}function f(p,h,g){let y=new Map,b=(_,C)=>{y.has(_)||y.set(_,[]),y.get(_).push(C)};for(let _ of p.nodes()){let C=p.node(_);if(typeof C.rank=="number"&&b(C.rank,_),typeof C.minRank=="number"&&typeof C.maxRank=="number")for(let k=C.minRank;k<=C.maxRank;k++)k!==C.rank&&b(k,_)}return h.map(function(_){return a(p,_,g,y.get(_)||[])})}function d(p,h,g){let y=new l;p.forEach(function(b){g.forEach(k=>y.setEdge(k.left,k.right));let _=b.graph().root,C=i(b,_,y,h);C.vs.forEach((k,E)=>b.node(k).order=E),s(b,y,C.vs)})}function m(p,h){Object.values(h).forEach(g=>g.forEach((y,b)=>p.node(y).order=b))}}),h2=It((e,n)=>{var r=wr().Graph,o=Qt();n.exports={positionX:g,findType1Conflicts:i,findType2Conflicts:a,addConflict:l,hasConflict:c,verticalAlignment:u,horizontalCompaction:f,alignCoordinates:p,findSmallestWidthAlignment:m,balance:h};function i(_,C){let k={};function E(w,x){let T=0,M=0,v=w.length,N=x[x.length-1];return x.forEach((O,B)=>{let A=s(_,O),q=A?_.node(A).order:v;(A||O===N)&&(x.slice(M,B+1).forEach(z=>{_.predecessors(z).forEach(Y=>{let K=_.node(Y),U=K.order;(U<T||q<U)&&!(K.dummy&&_.node(z).dummy)&&l(k,Y,z)})}),M=B+1,T=q)}),x}return C.length&&C.reduce(E),k}function a(_,C){let k={};function E(x,T,M,v,N){let O;o.range(T,M).forEach(B=>{O=x[B],_.node(O).dummy&&_.predecessors(O).forEach(A=>{let q=_.node(A);q.dummy&&(q.order<v||q.order>N)&&l(k,A,O)})})}function w(x,T){let M=-1,v,N=0;return T.forEach((O,B)=>{if(_.node(O).dummy==="border"){let A=_.predecessors(O);A.length&&(v=_.node(A[0]).order,E(T,N,B,M,v),N=B,M=v)}E(T,N,T.length,v,x.length)}),T}return C.length&&C.reduce(w),k}function s(_,C){if(_.node(C).dummy)return _.predecessors(C).find(k=>_.node(k).dummy)}function l(_,C,k){if(C>k){let w=C;C=k,k=w}let E=_[C];E||(_[C]=E={}),E[k]=!0}function c(_,C,k){if(C>k){let E=C;C=k,k=E}return!!_[C]&&Object.hasOwn(_[C],k)}function u(_,C,k,E){let w={},x={},T={};return C.forEach(M=>{M.forEach((v,N)=>{w[v]=v,x[v]=v,T[v]=N})}),C.forEach(M=>{let v=-1;M.forEach(N=>{let O=E(N);if(O.length){O=O.sort((A,q)=>T[A]-T[q]);let B=(O.length-1)/2;for(let A=Math.floor(B),q=Math.ceil(B);A<=q;++A){let z=O[A];x[N]===N&&v<T[z]&&!c(k,N,z)&&(x[z]=N,x[N]=w[N]=w[z],v=T[z])}}})}),{root:w,align:x}}function f(_,C,k,E,w){let x={},T=d(_,C,k,w),M=w?"borderLeft":"borderRight";function v(B,A){let q=T.nodes().slice(),z={},Y=q.pop();for(;Y;){if(z[Y])B(Y);else{z[Y]=!0,q.push(Y);for(let K of A(Y))q.push(K)}Y=q.pop()}}function N(B){x[B]=T.inEdges(B).reduce((A,q)=>Math.max(A,x[q.v]+T.edge(q)),0)}function O(B){let A=T.outEdges(B).reduce((z,Y)=>Math.min(z,x[Y.w]-T.edge(Y)),Number.POSITIVE_INFINITY),q=_.node(B);A!==Number.POSITIVE_INFINITY&&q.borderType!==M&&(x[B]=Math.max(x[B],A))}return v(N,T.predecessors.bind(T)),v(O,T.successors.bind(T)),Object.keys(E).forEach(B=>x[B]=x[k[B]]),x}function d(_,C,k,E){let w=new r,x=_.graph(),T=y(x.nodesep,x.edgesep,E);return C.forEach(M=>{let v;M.forEach(N=>{let O=k[N];if(w.setNode(O),v){var B=k[v],A=w.edge(B,O);w.setEdge(B,O,Math.max(T(_,N,v),A||0))}v=N})}),w}function m(_,C){return Object.values(C).reduce((k,E)=>{let w=Number.NEGATIVE_INFINITY,x=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([M,v])=>{let N=b(_,M)/2;w=Math.max(v+N,w),x=Math.min(v-N,x)});let T=w-x;return T<k[0]&&(k=[T,E]),k},[Number.POSITIVE_INFINITY,null])[1]}function p(_,C){let k=Object.values(C),E=o.applyWithChunking(Math.min,k),w=o.applyWithChunking(Math.max,k);["u","d"].forEach(x=>{["l","r"].forEach(T=>{let M=x+T,v=_[M];if(v===C)return;let N=Object.values(v),O=E-o.applyWithChunking(Math.min,N);T!=="l"&&(O=w-o.applyWithChunking(Math.max,N)),O&&(_[M]=o.mapValues(v,B=>B+O))})})}function h(_,C){return o.mapValues(_.ul,(k,E)=>{if(C)return _[C.toLowerCase()][E];{let w=Object.values(_).map(x=>x[E]).sort((x,T)=>x-T);return(w[1]+w[2])/2}})}function g(_){let C=o.buildLayerMatrix(_),k=Object.assign(i(_,C),a(_,C)),E={},w;["u","d"].forEach(T=>{w=T==="u"?C:Object.values(C).reverse(),["l","r"].forEach(M=>{M==="r"&&(w=w.map(B=>Object.values(B).reverse()));let v=(T==="u"?_.predecessors:_.successors).bind(_),N=u(_,w,k,v),O=f(_,w,N.root,N.align,M==="r");M==="r"&&(O=o.mapValues(O,B=>-B)),E[T+M]=O})});let x=m(_,E);return p(E,x),h(E,_.graph().align)}function y(_,C,k){return(E,w,x)=>{let T=E.node(w),M=E.node(x),v=0,N;if(v+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":N=-T.width/2;break;case"r":N=T.width/2;break}if(N&&(v+=k?N:-N),N=0,v+=(T.dummy?C:_)/2,v+=(M.dummy?C:_)/2,v+=M.width/2,Object.hasOwn(M,"labelpos"))switch(M.labelpos.toLowerCase()){case"l":N=M.width/2;break;case"r":N=-M.width/2;break}return N&&(v+=k?N:-N),N=0,v}}function b(_,C){return _.node(C).width}}),g2=It((e,n)=>{var r=Qt(),o=h2().positionX;n.exports=i;function i(s){s=r.asNonCompoundGraph(s),a(s),Object.entries(o(s)).forEach(([l,c])=>s.node(l).x=c)}function a(s){let l=r.buildLayerMatrix(s),c=s.graph().ranksep,u=s.graph().rankalign,f=0;l.forEach(d=>{let m=d.reduce((p,h)=>{let g=s.node(h).height;return p>g?p:g},0);d.forEach(p=>{let h=s.node(p);u==="top"?h.y=f+h.height/2:u==="bottom"?h.y=f+m-h.height/2:h.y=f+m/2}),f+=m+c})}}),y2=It((e,n)=>{var r=ZD(),o=QD(),i=t2(),a=Qt().normalizeRanks,s=n2(),l=Qt().removeEmptyRanks,c=r2(),u=o2(),f=i2(),d=m2(),m=g2(),p=Qt(),h=wr().Graph;n.exports=g;function g(S,P={}){let V=P.debugTiming?p.time:p.notime;return V("layout",()=>{let W=V(" buildLayoutGraph",()=>v(S));return V(" runLayout",()=>y(W,V,P)),V(" updateInputGraph",()=>b(S,W)),W})}function y(S,P,V){P(" makeSpaceForEdgeLabels",()=>N(S)),P(" removeSelfEdges",()=>j(S)),P(" acyclic",()=>r.run(S)),P(" nestingGraph.run",()=>c.run(S)),P(" rank",()=>i(p.asNonCompoundGraph(S))),P(" injectEdgeLabelProxies",()=>O(S)),P(" removeEmptyRanks",()=>l(S)),P(" nestingGraph.cleanup",()=>c.cleanup(S)),P(" normalizeRanks",()=>a(S)),P(" assignRankMinMax",()=>B(S)),P(" removeEdgeLabelProxies",()=>A(S)),P(" normalize.run",()=>o.run(S)),P(" parentDummyChains",()=>s(S)),P(" addBorderSegments",()=>u(S)),P(" order",()=>d(S,V)),P(" insertSelfEdges",()=>L(S)),P(" adjustCoordinateSystem",()=>f.adjust(S)),P(" position",()=>m(S)),P(" positionSelfEdges",()=>G(S)),P(" removeBorderNodes",()=>U(S)),P(" normalize.undo",()=>o.undo(S)),P(" fixupEdgeLabelCoords",()=>Y(S)),P(" undoCoordinateSystem",()=>f.undo(S)),P(" translateGraph",()=>q(S)),P(" assignNodeIntersects",()=>z(S)),P(" reversePoints",()=>K(S)),P(" acyclic.undo",()=>r.undo(S))}function b(S,P){S.nodes().forEach(V=>{let W=S.node(V),re=P.node(V);W&&(W.x=re.x,W.y=re.y,W.order=re.order,W.rank=re.rank,P.children(V).length&&(W.width=re.width,W.height=re.height))}),S.edges().forEach(V=>{let W=S.edge(V),re=P.edge(V);W.points=re.points,Object.hasOwn(re,"x")&&(W.x=re.x,W.y=re.y)}),S.graph().width=P.graph().width,S.graph().height=P.graph().height}var _=["nodesep","edgesep","ranksep","marginx","marginy"],C={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},k=["acyclicer","ranker","rankdir","align","rankalign"],E=["width","height","rank"],w={width:0,height:0},x=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},M=["labelpos"];function v(S){let P=new h({multigraph:!0,compound:!0}),V=$(S.graph());return P.setGraph(Object.assign({},C,F(V,_),p.pick(V,k))),S.nodes().forEach(W=>{let re=$(S.node(W)),oe=F(re,E);Object.keys(w).forEach(de=>{oe[de]===void 0&&(oe[de]=w[de])}),P.setNode(W,oe),P.setParent(W,S.parent(W))}),S.edges().forEach(W=>{let re=$(S.edge(W));P.setEdge(W,Object.assign({},T,F(re,x),p.pick(re,M)))}),P}function N(S){let P=S.graph();P.ranksep/=2,S.edges().forEach(V=>{let W=S.edge(V);W.minlen*=2,W.labelpos.toLowerCase()!=="c"&&(P.rankdir==="TB"||P.rankdir==="BT"?W.width+=W.labeloffset:W.height+=W.labeloffset)})}function O(S){S.edges().forEach(P=>{let V=S.edge(P);if(V.width&&V.height){let W=S.node(P.v),re={rank:(S.node(P.w).rank-W.rank)/2+W.rank,e:P};p.addDummyNode(S,"edge-proxy",re,"_ep")}})}function B(S){let P=0;S.nodes().forEach(V=>{let W=S.node(V);W.borderTop&&(W.minRank=S.node(W.borderTop).rank,W.maxRank=S.node(W.borderBottom).rank,P=Math.max(P,W.maxRank))}),S.graph().maxRank=P}function A(S){S.nodes().forEach(P=>{let V=S.node(P);V.dummy==="edge-proxy"&&(S.edge(V.e).labelRank=V.rank,S.removeNode(P))})}function q(S){let P=Number.POSITIVE_INFINITY,V=0,W=Number.POSITIVE_INFINITY,re=0,oe=S.graph(),de=oe.marginx||0,Ae=oe.marginy||0;function De(ze){let ue=ze.x,pe=ze.y,me=ze.width,$e=ze.height;P=Math.min(P,ue-me/2),V=Math.max(V,ue+me/2),W=Math.min(W,pe-$e/2),re=Math.max(re,pe+$e/2)}S.nodes().forEach(ze=>De(S.node(ze))),S.edges().forEach(ze=>{let ue=S.edge(ze);Object.hasOwn(ue,"x")&&De(ue)}),P-=de,W-=Ae,S.nodes().forEach(ze=>{let ue=S.node(ze);ue.x-=P,ue.y-=W}),S.edges().forEach(ze=>{let ue=S.edge(ze);ue.points.forEach(pe=>{pe.x-=P,pe.y-=W}),Object.hasOwn(ue,"x")&&(ue.x-=P),Object.hasOwn(ue,"y")&&(ue.y-=W)}),oe.width=V-P+de,oe.height=re-W+Ae}function z(S){S.edges().forEach(P=>{let V=S.edge(P),W=S.node(P.v),re=S.node(P.w),oe,de;V.points?(oe=V.points[0],de=V.points[V.points.length-1]):(V.points=[],oe=re,de=W),V.points.unshift(p.intersectRect(W,oe)),V.points.push(p.intersectRect(re,de))})}function Y(S){S.edges().forEach(P=>{let V=S.edge(P);if(Object.hasOwn(V,"x"))switch((V.labelpos==="l"||V.labelpos==="r")&&(V.width-=V.labeloffset),V.labelpos){case"l":V.x-=V.width/2+V.labeloffset;break;case"r":V.x+=V.width/2+V.labeloffset;break}})}function K(S){S.edges().forEach(P=>{let V=S.edge(P);V.reversed&&V.points.reverse()})}function U(S){S.nodes().forEach(P=>{if(S.children(P).length){let V=S.node(P),W=S.node(V.borderTop),re=S.node(V.borderBottom),oe=S.node(V.borderLeft[V.borderLeft.length-1]),de=S.node(V.borderRight[V.borderRight.length-1]);V.width=Math.abs(de.x-oe.x),V.height=Math.abs(re.y-W.y),V.x=oe.x+V.width/2,V.y=W.y+V.height/2}}),S.nodes().forEach(P=>{S.node(P).dummy==="border"&&S.removeNode(P)})}function j(S){S.edges().forEach(P=>{if(P.v===P.w){var V=S.node(P.v);V.selfEdges||(V.selfEdges=[]),V.selfEdges.push({e:P,label:S.edge(P)}),S.removeEdge(P)}})}function L(S){var P=p.buildLayerMatrix(S);P.forEach(V=>{var W=0;V.forEach((re,oe)=>{var de=S.node(re);de.order=oe+W,(de.selfEdges||[]).forEach(Ae=>{p.addDummyNode(S,"selfedge",{width:Ae.label.width,height:Ae.label.height,rank:de.rank,order:oe+ ++W,e:Ae.e,label:Ae.label},"_se")}),delete de.selfEdges})})}function G(S){S.nodes().forEach(P=>{var V=S.node(P);if(V.dummy==="selfedge"){var W=S.node(V.e.v),re=W.x+W.width/2,oe=W.y,de=V.x-re,Ae=W.height/2;S.setEdge(V.e,V.label),S.removeNode(P),V.label.points=[{x:re+2*de/3,y:oe-Ae},{x:re+5*de/6,y:oe-Ae},{x:re+de,y:oe},{x:re+5*de/6,y:oe+Ae},{x:re+2*de/3,y:oe+Ae}],V.label.x=V.x,V.label.y=V.y}})}function F(S,P){return p.mapValues(p.pick(S,P),Number)}function $(S){var P={};return S&&Object.entries(S).forEach(([V,W])=>{typeof V=="string"&&(V=V.toLowerCase()),P[V]=W}),P}}),_2=It((e,n)=>{var r=Qt(),o=wr().Graph;n.exports={debugOrdering:i};function i(a){let s=r.buildLayerMatrix(a),l=new o({compound:!0,multigraph:!0}).setGraph({});return a.nodes().forEach(c=>{l.setNode(c,{label:c}),l.setParent(c,"layer"+a.node(c).rank)}),a.edges().forEach(c=>l.setEdge(c.v,c.w,{},c.name)),s.forEach((c,u)=>{let f="layer"+u;l.setNode(f,{rank:"same"}),c.reduce((d,m)=>(l.setEdge(d,m,{style:"invis"}),m))}),l}}),b2=It((e,n)=>{n.exports="2.0.4"}),w2=It((e,n)=>{n.exports={graphlib:wr(),layout:y2(),debug:_2(),util:{time:Qt().time,notime:Qt().notime},version:b2()}});const H0=w2();/*! For license information please see dagre.esm.js.LEGAL.txt */function k2(e){const{branchLayout:n,phase:r,layoutOptions:o,nodes:i,edges:a}=e,{findNode:s}=Pt.useVueFlow(),{state:l,branchGroups:c,getNodeById:u,moveNode:f,commit:d}=Kt(),{getNodeDepth:m,isGroupId:p,groupsByOwner:h}=c,{isBranchEdgeId:g,updateGroupLayout:y,translateGroupTree:b,waitForLayoutFlush:_}=n,{viewport:C,padding:k=To.padding,gaps:E=To.gaps}=o,{nodes:w=To.gaps.nodes,edges:x=To.gaps.edges,ranks:T=To.gaps.ranks}=E;async function M(O=!0){const B=new Map(i.value.map(S=>[S.id,S.data])),A=new Map,q=new Map,z=S=>{if(!S)return;let P=q.get(S);return P||(P=s(S),P&&q.set(S,P),P)},Y=new Map,K=S=>{let P=Y.get(S);return P!==void 0||(P=m(S),Y.set(S,P)),P},U=S=>{if(!$s(S.data))return S.parentNode;const P=z(S.data.ownerId);if(!P)throw new Error(`Cannot find owner node '${S.data.ownerId}' for group node '${S.id}' via findNode`);return P.parentNode};for(const S of a.value){if(g(S.id))continue;const P=S.source,V=S.target;if(p(P)||p(V))continue;const W=z(P),re=z(V);if(W){if(!re)throw new Error(`Cannot find target node '${V}' for edge '${S.id}' via findNode`)}else throw new Error(`Cannot find source node '${P}' for edge '${S.id}' via findNode`);if(U(W)===U(re))continue;let oe=W,de=re,Ae=K(oe.id),De=K(de.id);for(;Ae!==De;)if(Ae>De){const ze=U(oe);if(!ze)throw new Error(`Expected node '${oe.id}' to have parent, but it does not`);const ue=z(ze);if(!ue)throw new Error(`Cannot find parent node '${ze}' for node '${oe.id}' via findNode`);oe=ue,Ae--}else if(De>Ae){const ze=U(de);if(!ze)throw new Error(`Expected node '${de.id}' to have parent, but it does not`);const ue=z(ze);if(!ue)throw new Error(`Cannot find parent node '${ze}' for node '${de.id}' via findNode`);de=ue,De--}for(;Ae>=0;){const ze=U(oe),ue=U(de);if(ze===ue){A.has(Ae)||A.set(Ae,[]),A.get(Ae).push({v:oe.id,w:de.id});break}if(ze){if(!ue){const $e=`Expected node '${de.id}' to have parent, but it does not`;throw console.error($e,de),new Error($e)}}else{const $e=`Expected node '${oe.id}' to have parent, but it does not`;throw console.error($e,oe),new Error($e)}const pe=z(ze),me=z(ue);if(pe){if(!me)throw new Error(`Cannot find parent node '${ue}' for node '${de.id}' via findNode`)}else throw new Error(`Cannot find parent node '${ze}' for node '${oe.id}' via findNode`);oe=pe,de=me,Ae--,De--}}const j=l.value.groups.toSorted((S,P)=>K(P.ownerId)-K(S.ownerId));for(const S of j)v(S.memberIds.reduce((P,V)=>{const W=u(V);if(!W)return console.warn(`Cannot find node '${V}' of group '${S.id}' by getNodeById`),P;if(W.phase!==r)return P;if(W.type==="branch"){const re=h.value.get(W.id);re&&P.push(...re)}return B.delete(W.id),P.push(W),P},[]),{virtualEdges:A.get(K(S.ownerId)),cachedFindNode:z}),await t.nextTick(),y(S.id,!1),await _();const L=B.values().toArray();for(const S of L){if($s(S)||S.type!=="branch")continue;const P=h.value.get(S.id);P&&L.push(...P)}const{autoNodes:G,leftNode:F,rightNode:$}=N(L);v(G,{leftNode:F,rightNode:$,virtualEdges:A.get(0),cachedFindNode:z}),O&&d()}function v(O,B){var oe,de,Ae,De,ze;const{leftNode:A,rightNode:q,virtualEdges:z,cachedFindNode:Y}=B||{},K=A?(Y??s)(A.id):void 0,U=q?(Y??s)(q.id):void 0;let j;if(O.length>0){j=new H0.graphlib.Graph({multigraph:!0}),j.setGraph({rankdir:r==="request"?"LR":"RL",nodesep:w,edgesep:x,ranksep:T});const ue=new Set;for(const pe of O){const me=(Y??s)(pe.id);if(!me){console.warn(`Cannot find graph node '${pe.id}' in ${r} phase`);continue}ue.add(pe.id),$s(pe)?j.setNode(pe.id,{...pe.dimensions??me.dimensions}):j.setNode(pe.id,{...me.dimensions})}for(const pe of a.value)!ue.has(pe.source)||!ue.has(pe.target)||j.setEdge(pe.source,pe.target,{points:[]});z==null||z.forEach(pe=>j.setEdge(pe,{points:[]})),H0.layout(j)}const L=[],G=ue=>({x:ue.x-ue.width/2,y:ue.y-ue.height/2,width:ue.width,height:ue.height});if(O.length>0){if(!j)throw new Error("Expected dagreGraph to be initialized");for(const ue of O){const pe=j.node(ue.id),me=G(pe);L.push(me),$s(ue)?b(ue.id,me,me.x+ca,me.y+ca):f(ue.id,{x:me.x,y:me.y},!1)}}const F=L.length>0?q0(L):{x:0,y:0,width:0,height:0},$=F.width,S=F.height,P=F.x,V=F.x+F.width,W=Math.max(0,Math.min(t.toValue(C==null?void 0:C.width)??Number.POSITIVE_INFINITY,HD)-$-2*w-(((oe=K==null?void 0:K.dimensions)==null?void 0:oe.width)??0)-(((de=U==null?void 0:U.dimensions)==null?void 0:de.width)??0)-2*k),re=F.y+S/2;A&&f(A.id,{x:P-w-W/2-(((Ae=K==null?void 0:K.dimensions)==null?void 0:Ae.width)??0),y:re-(((De=K==null?void 0:K.dimensions)==null?void 0:De.height)??0)/2},!1),q&&f(q.id,{x:V+w+W/2,y:re-(((ze=U==null?void 0:U.dimensions)==null?void 0:ze.height)??0)/2},!1)}function N(O){let B,A;const q=[];for(const z of O){if($s(z)){q.push(z);continue}switch(z.name){case"request":{if(r!=="request")throw new Error(`Unexpected request node in ${r} phase`);if(B)throw new Error("Duplicated request node in request phase");B=z;break}case"service_request":{if(r!=="request")throw new Error(`Unexpected service_request node in ${r} phase`);if(A)throw new Error("Duplicated service_request node in request phase");A=z;break}case"service_response":{if(r!=="response")throw new Error(`Unexpected service_response node in ${r} phase`);if(A)throw new Error("Duplicated service_response node in response phase");A=z;break}case"response":{if(r!=="response")throw new Error(`Unexpected response node in ${r} phase`);if(B)throw new Error("Duplicated response node in response phase");B=z;break}default:{q.push(z);break}}}return{autoNodes:q,leftNode:B,rightNode:A}}return{autoLayout:M}}function C2({phase:e,groupMapById:n,getNodeDepth:r,canAddMember:o,draggingId:i}){const a=t.shallowRef(),s=t.shallowRef();function l(d){a.value=d,s.value=void 0}function c(){a.value&&(a.value=void 0,s.value=void 0)}function u(d){let m;const p=i==null?void 0:i.value;return n.value.forEach(h=>{if(h.phase!==e||p&&Yp(p)&&!o(h.ownerId,h.branch,p))return;const g=h.position,y=h.dimensions;if(!g||!y||!(d.x>=g.x&&d.x<=g.x+y.width&&d.y>=g.y&&d.y<=g.y+y.height))return;const _=r(h.ownerId);(!m||_>m.depth)&&(m={depth:_,id:h.id})}),m==null?void 0:m.id}function f(d){if(!a.value){s.value=void 0;return}if(!d){s.value=void 0;return}s.value=u(d)}return{activeGroupId:s,start:l,updateActiveGroup:f,end:c}}function E2({phase:e,readonly:n,flowId:r,draggingId:o}){const{findNode:i}=Pt.useVueFlow(r),a=Kt(),{state:s,groupMapById:l,getNodeById:c,moveNode:u,moveGroup:f,setGroupLayout:d,commit:m,branchGroups:p}=a,{memberGroupMap:h,groupsByOwner:g,getNodeDepth:y,getGroupDepth:b}=p,_=U=>!!U&&U.startsWith("branch:");function C(U){const j=[];for(const L of U.memberIds){const G=c(L);G&&j.push(G)}return j}const k=t.computed(()=>{const U=new Map;return h.value.forEach((j,L)=>{if(j.phase!==e||!j.position)return;const G=c(L);G&&(G.phase!==e||G.hidden||U.set(L,j))}),U}),E=t.computed(()=>{const U=new Map;return g.value.forEach((j,L)=>{const G=j.filter(F=>F.phase===e);G.length>0&&U.set(L,G)}),U}),w=t.computed(()=>{const U=[];for(const j of s.value.groups){const L=c(j.ownerId);if(!L||L.phase!==e)continue;const G=j.position,F=j.dimensions;if(!G||!F)continue;const $=C(j).filter(P=>P.phase===e&&!P.hidden),S=b(j.id);U.push({id:j.id,type:"group",position:G,width:F.width,height:F.height,data:{...j,memberIds:$.map(P=>P.id)},draggable:!n,selectable:!1,zIndex:S*Zc+UD})}return U}),x=t.computed(()=>{let U=0;for(const j of s.value.groups){if(j.phase!==e)continue;const L=b(j.id);L>U&&(U=L)}return U}),T=t.computed(()=>{const U=[];for(const j of s.value.groups){if(j.phase!==e||!j.position||!j.dimensions)continue;const L=c(j.ownerId);if(!L||L.phase!==e||L.hidden||!C(j).filter(S=>S.phase===e&&!S.hidden).length)continue;const F=Math.max(y(L.id),b(j.id))+x.value+1,$={id:`branch:${j.id}`,source:L.id,target:j.id,sourceHandle:`branch@${j.branch}`,targetHandle:"input",markerEnd:Pt.MarkerType.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:L.id,branch:j.branch,groupId:j.id},zIndex:F*Zc+qD};U.push($)}return U}),M=new Map,v=new Map;let N;function O(U,j=!0){if(U.phase!==e)return;const L=C(U).filter(P=>P.phase===e&&!P.hidden);if(!L.length)return;const G=[];for(const P of L){const V=i(P.id),W=V==null?void 0:V.dimensions,re=(W==null?void 0:W.width)??0,oe=(W==null?void 0:W.height)??0;if(re<=0||oe<=0)return;G.push({...P.position,width:re,height:oe});const de=g.value.get(P.id)??[];for(const Ae of de){if(Ae.phase!==e)continue;const De=M.get(Ae.id),ze=(De==null?void 0:De.position)??Ae.position,ue=(De==null?void 0:De.dimensions)??Ae.dimensions;!ze||!ue||G.push({x:ze.x,y:ze.y,width:ue.width,height:ue.height})}}const F=q0(G),$=F.width+ca*2,S=F.height+ca*2;return{position:{x:Math.round(F.x-ca),y:Math.round(F.y-ca)},dimensions:{width:Math.round($),height:Math.round(S)},commit:j}}function B(){if(M.size===0){N=void 0;return}const U=[];let j=!1;M.forEach((L,G)=>{const F=d(G,L,!1);U.push({id:G,changed:F,commit:L.commit}),L.commit&&F&&!j&&(j=!0)}),M.clear(),N=void 0;for(const{id:L,changed:G,commit:F}of U){if(!G)continue;const $=l.value.get(L);if(!$)continue;const S=k.value.get($.ownerId);S&&v.set(S.id,{commit:F})}if(v.size>0){const L=Array.from(v);v.clear();for(const[G,{commit:F}]of L)q(G,F)}j&&m("*")}function A(){M.size!==0&&(N||(N=t.nextTick().then(B)))}function q(U,j=!0){const L=l.value.get(U);if(!L)return;const G=O(L,j);G&&(M.set(U,G),A())}function z(U,j,L,G){const F=l.value.get(U);if(!F)return;if(!F.position){f(U,j,!1),q(U);return}if(L===0&&G===0){f(U,j,!1);return}f(U,j,!1);const $=[U],S=new Set([U]),P=new Set;for(;$.length;){const V=$.shift(),W=l.value.get(V);if(!W)continue;const re=C(W).filter(oe=>oe.phase===e&&!oe.hidden);for(const oe of re){P.has(oe.id)||(u(oe.id,{x:oe.position.x+L,y:oe.position.y+G},!1),P.add(oe.id));const de=E.value.get(oe.id)??[];for(const Ae of de){if(S.has(Ae.id))continue;const De=l.value.get(Ae.id);De!=null&&De.position&&f(Ae.id,{x:De.position.x+L,y:De.position.y+G},!1),S.add(Ae.id),$.push(Ae.id)}}}}function Y(U,j){const L=o==null?void 0:o.value;if(!L)return!1;if(L===U||j.some(G=>L===G))return!0;for(const G of j){const F=E.value.get(G)??[];if(F!=null&&F.some($=>$.id===L))return!0}return!1}const K=new Map;return t.watch(()=>s.value.groups.filter(j=>j.phase===e).map(j=>{const L=j.memberIds.map(G=>{var P,V;const F=i(G),$=Math.round(((P=F==null?void 0:F.dimensions)==null?void 0:P.width)??0),S=Math.round(((V=F==null?void 0:F.dimensions)==null?void 0:V.height)??0);return`${G}:${$}x${S}`});return{id:j.id,memberIds:j.memberIds,signature:L.join(",")}}),U=>{const j=new Set(U.map(L=>L.id));for(const L of K.keys())j.has(L)||K.delete(L);for(const L of U)Y(L.id,L.memberIds)||K.get(L.id)===L.signature||(K.set(L.id,L.signature),q(L.id))},{deep:!0,flush:"post"}),{groupsByOwner:E,memberGroupMap:k,groupNodes:w,branchEdges:T,isBranchEdgeId:_,updateGroupLayout:q,translateGroupTree:z,getNodeDepth:y,maxGroupDepth:x,waitForLayoutFlush:()=>N??Promise.resolve()}}function N2(e){t.provide(U0,e)}function z0(){return t.inject(U0,void 0)}function W0(){const e=z0();if(!e)throw new Error("Confirm modal not provided");return e}function x2(e){const{readonly:n,flowId:r}=e,o=Pt.useVueFlow(r),{onNodesChange:i,onEdgesChange:a,onPaneClick:s,findEdge:l}=o,{disconnectEdge:c,commit:u,portalSelection:f,selectPortalEdge:d}=Kt();i(m=>{m.some(p=>p.type==="select"&&"selected"in p&&p.selected)&&d(void 0)}),a(m=>{const p=m.some(g=>g.type==="select"&&"selected"in g&&g.selected),h=f.value?m.some(g=>g.type==="remove"&&g.id===f.value):!1;(p||h)&&d(void 0)}),s(()=>d(void 0)),Lt.useEventListener("keydown",m=>{if(n||m.key!=="Delete"&&m.key!=="Backspace")return;const p=f.value;!p||l(p)||(m.preventDefault(),c(p,!1),d(void 0),u())})}function Y0(e){const n=e.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}const S2={default:dN,hover:pN,selected:fN};let J0,im;function ru(e){const n=e.id===J0?"selected":e.id===im?"hover":"default",r=S2[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[A2,v2]=Lt.createInjectionState(function(e){const{phase:n,flowId:r,layoutOptions:o,readonly:i}=e,{viewport:a,padding:s=To.padding,gaps:l=To.gaps}=o,{nodes:c=To.gaps.nodes}=l,u=Pt.useVueFlow(r),f=Kt(),d=z0(),m=Jf(),{i18n:{t:p}}=et(),{findNode:h,fitView:g,deleteKeyCode:y,onNodeDrag:b,onNodeDragStop:_,onConnect:C,onNodesChange:k,onEdgesChange:E,onEdgeUpdate:w,onEdgeMouseEnter:x,onEdgeMouseLeave:T,getNodes:M,setNodes:v,setEdges:N,addSelectedNodes:O,screenToFlowCoordinate:B}=u;y.value=["Delete","Backspace"];const{state:A,commit:q,moveNode:z,selectNode:Y,removeNode:K,getNodeById:U,connectEdge:j,disconnectEdge:L,getInEdgesByNodeId:G,branchGroups:F,commit:$,reset:S,groupMapById:P}=f,{isGroupId:V,canAddMember:W}=F,re=t.shallowRef(),oe=D=>{re.value=D},de=t.readonly(re);function Ae(D,le){const ae=U(D.source),ge=U(D.target);return!!(ae&&ge&&ae.phase===le&&ge.phase===le)}const De=E2({phase:n,readonly:i,flowId:r,draggingId:de}),{memberGroupMap:ze,groupNodes:ue,branchEdges:pe,isBranchEdgeId:me,updateGroupLayout:$e,translateGroupTree:Ne,getNodeDepth:ke,maxGroupDepth:Oe}=De,{activeGroupId:We,start:he,updateActiveGroup:X,end:ie}=C2({phase:n,groupMapById:P,getNodeDepth:ke,canAddMember:W,draggingId:de}),ne=t.computed(()=>A.value.nodes.filter(D=>D.phase===n&&!D.hidden).map(D=>{const le=ze.value.get(D.id),ae=le==null?void 0:le.position,ge=le==null?void 0:le.dimensions,Be=le&&ae&&ge?{x:D.position.x-ae.x,y:D.position.y-ae.y}:D.position,ve=ke(D.id),Ze=!!(le&&ae&&ge),Qe=(Ze?ve:0)+Oe.value+1;return{id:D.id,type:"flow",position:Be,data:D,deletable:!zc(D),parentNode:Ze?le.id:void 0,zIndex:Qe*Zc+GD}})),Ce=t.computed(()=>A.value.edges.filter(D=>Ae(D,n)).filter(D=>!F.isEdgeEnteringGroup(D.source,D.target)).filter(D=>{const le=U(D.source),ae=U(D.target);return!(le!=null&&le.hidden)&&!(ae!=null&&ae.hidden)}).map(D=>{const le=U(D.source),ae=U(D.target);if(!le||!ae){const Be=[];throw le||Be.push(`source node "${D.source}"`),ae||Be.push(`target node "${D.target}"`),new Error(`Missing ${Be.join(" and ")} for edge "${D.id}" in phase "${n}"`)}const ge=Math.max(ke(D.source),ke(D.target))+Oe.value+1;return ru({id:D.id,source:D.source,target:D.target,sourceHandle:D.sourceField?`outputs@${D.sourceField}`:"output",targetHandle:D.targetField?`inputs@${D.targetField}`:"input",markerEnd:Pt.MarkerType.ArrowClosed,data:D,updatable:!i,zIndex:ge*Zc+KD})})),fe=t.computed(()=>[...pe.value,...Ce.value]),{autoLayout:Ve}=k2({phase:n,layoutOptions:o,branchLayout:De,nodes:ne,edges:fe});x2({readonly:i,flowId:r}),t.watch([ne,ue,fe],([D,le,ae])=>{v([...le,...D]),N(ae)},{immediate:!0});const qe=t.computed(()=>({padding:s/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function Z({source:D,sourceHandle:le,target:ae,targetHandle:ge}){if(!le||!ge)return;const Be=Y0(le),ve=Y0(ge);if((Be==null?void 0:Be.io)==="input"||(ve==null?void 0:ve.io)==="output"||le==="output"&&ge==="output")return;const Ze=G(ae);let Qe=!1,we=!1;const _e=[],mt=[],kt=(ve==null?void 0:ve.io)==="input"?Ze.filter(Tt=>!Tt.targetField):Ze.filter(Tt=>!!Tt.targetField);kt.length>0&&(Qe=!0,kt.forEach(Tt=>{mt.push(Fs(Tt,U)),L(Tt.id,!1)}));const Bt=(ve==null?void 0:ve.io)==="input"?ve!=null&&ve.field?Ze.filter(Tt=>Tt.targetField===ve.field):Ze.filter(Tt=>!!Tt.targetField):Ze.filter(Tt=>!Tt.targetField);if(Bt.length>0){if(Bt.some(en=>en.source===D&&en.target===ae&&en.targetField===(ve==null?void 0:ve.field)&&en.sourceField===(Be==null?void 0:Be.field)))return;we=!0,Bt.forEach(en=>{mt.push(Fs(en,U)),L(en.id,!1)})}if(!j({source:D,sourceField:Be==null?void 0:Be.field,target:ae,targetField:ve==null?void 0:ve.field},!1)){S(),m({message:p("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(_e.push(om(D,Be==null?void 0:Be.field,ae,ve==null?void 0:ve.field,U)),Qe||we){if(!d)throw S(),new Error("Expected confirm modal to be provided here when reachable");if(!await d(p(Qe?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),_e,mt)){S();return}}$()}C(Z);let ee=!1;const ce=()=>{ee&&(ee=!1,$())};k(D=>{D.filter(ge=>ge.type==="select").filter(ge=>!V(ge.id)).sort((ge,Be)=>ge.selected===Be.selected?0:ge.selected?1:-1).forEach(ge=>{Y(ge.selected?ge.id:void 0)});let ae=!1;D.forEach(ge=>{if(ge.type==="remove"){if(V(ge.id))return;ae=!0,K(ge.id,!1)}}),ae&&!ee&&(ee=!0,queueMicrotask(ce))}),b(({node:D,event:le})=>{var Ze,Qe,we;if(!D)return;if(V(D.id)){const _e=D.id;oe(_e),X(void 0);const mt=P.value.get(_e);if(!mt)return;const kt=mt.position??{...D.position},Bt=D.position.x-kt.x,Wn=D.position.y-kt.y;Ne(_e,D.position,Bt,Wn);const Tt=ze.value.get(mt.ownerId);Tt&&$e(Tt.id,!1);return}const ae=D.id;he("canvas"),oe(ae);const ge=D.parentNode;let Be={...D.position};if(ge&&V(ge)){const _e=P.value.get(ge);_e!=null&&_e.position&&(Be={x:_e.position.x+D.position.x,y:_e.position.y+D.position.y})}if(z(ae,Be,!1),!zc(U(ae))){const _e={x:Be.x,y:Be.y,width:((Ze=D.dimensions)==null?void 0:Ze.width)??0,height:((Qe=D.dimensions)==null?void 0:Qe.height)??0},mt=le&&"clientX"in le?B({x:le.clientX,y:le.clientY}):void 0,kt={x:_e.x+_e.width/2,y:_e.y+_e.height/2};X(mt??kt)}const ve=ge&&V(ge)?ge:(we=ze.value.get(ae))==null?void 0:we.id;ve&&$e(ve,!1)}),_(({node:D})=>{var ve;if(!D)return;if(oe(void 0),V(D.id)){q();return}const le=D.id,ae=D.parentNode;let ge={...D.position};if(ae&&V(ae)){const Ze=P.value.get(ae);Ze!=null&&Ze.position&&(ge={x:Ze.position.x+D.position.x,y:Ze.position.y+D.position.y})}z(le,ge,!1);const Be=ae&&V(ae)?ae:(ve=ze.value.get(le))==null?void 0:ve.id;Be&&$e(Be,!1),be(le),ie(),q()}),E(D=>{D.filter(ge=>ge.type==="select").sort((ge,Be)=>ge.selected===Be.selected?0:ge.selected?1:-1).forEach(ge=>{me(ge.id)||(J0=ge.selected?ge.id:void 0,N(Be=>Be.map(ve=>ve.id!==ge.id||!ve.markerEnd?ve:ru({...ve,zIndex:ge.selected?1:void 0}))))});let ae=!1;D.forEach(ge=>{if(ge.type==="remove"){if(me(ge.id))return;ae=!0,L(ge.id,!1)}}),ae&&!ee&&(ee=!0,queueMicrotask(ce))}),x(({edge:D})=>{me(D.id)||(im=D.id,N(le=>le.map(ae=>ae.id!==D.id?ae:ru(ae))))}),T(({edge:D})=>{me(D.id)||(im=void 0,N(le=>le.map(ae=>ae.id!==D.id?ae:ru(ae))))}),w(({edge:D,connection:le})=>{me(D.id)||(L(D.id,!1),Z(le))});function ye(D){g({...qe.value,...D})}async function Pe(D){return Y(D),new Promise(le=>setTimeout(()=>{const ae=h(D);O(ae?[ae]:[]),le()},0))}function nt(D){const le=M.value.filter(({type:kt})=>kt!=="group"),ae=le.find(({id:kt})=>kt===D);if(!ae)throw new Error(`Node ${D} not found`);const{x:ge,y:Be}=ae.data.position,{width:ve,height:Ze}=ae.dimensions,Qe=Be,we=Be+Ze,_e=le.filter(({id:kt})=>kt!==D).filter(({data:{position:{y:kt}},dimensions:{height:Bt}})=>kt<we&&kt+Bt>Qe).map(({data:{position:{x:kt}},dimensions:{width:Bt}})=>({left:kt,right:kt+Bt})).sort((kt,Bt)=>kt.left-Bt.left);let mt=ge+ve+c;for(const{left:kt,right:Bt}of _e)if(!(Bt<=mt)){if(mt+ve<=kt)return{x:mt,y:Qe};mt=Math.max(mt,Bt)+c}return{x:mt,y:Qe}}function gt(D){if(!D)return;const le=h(D);if(!le)throw new Error(`Node ${D} not found`);const{position:{x:ae},dimensions:{width:ge}}=le,Be=ae+ge,{viewport:ve,dimensions:Ze,setViewport:Qe}=u,{x:we,y:_e,zoom:mt}=ve.value,{width:kt}=Ze.value,Bt=ae*mt+we,Wn=Be*mt+we,Tt=kt-F0-c;if(Wn<=Tt)return;let en=Tt-Wn;Bt+en<0&&(en=-Bt),en!==0&&Qe({x:we+en,y:_e,zoom:mt},{duration:YD})}function be(D){if(!We.value)return!1;const{nodeId:le,branch:ae}=_D(We.value),ge=F.addMember(le,ae,D,{commit:!1});return X(void 0),ge}return{vueFlowStore:u,editorStore:f,readonly:i,nodes:ne,edges:fe,selectNode:Pe,autoLayout:Ve,placeToRight:nt,scrollRightToReveal:gt,fitViewParams:qe,fitView:ye,groupDrop:{activeGroupId:We,startPanelDrag:()=>he("panel"),endPanelDrag:ie,updateActiveGroup:X,attachNodeToActiveGroup:be}}});let da=null;function I2(){var n;if(da)return da;if(typeof navigator>"u")return da="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?da="mac":/Linux/i.test(e)&&!/Android/i.test(e)?da="linux":da="windows"}const T2={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},O2={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"},B2={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 P2(e,n={}){const r=n.platform??I2(),o=n.joiner??(r==="mac"?"":" + "),i=r==="mac"?T2:r==="linux"?B2:O2;return(Array.isArray(e)?e:e[r]).map(s=>s in i?i[s]:s).join(o)}const V2={key:0,class:"label"},R2={class:"keys"},ou=Re(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=P2(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",V2,t.toDisplayString(e.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",R2,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-7ca86b0d"]]),$2=["onClick"],L2={key:0,class:"additional-count"},X0=24,D2=16,iu=Re(t.defineComponent({__name:"NodePortal",props:{expanded:{type:Boolean,default:()=>{}},reversed:{type:Boolean},targets:{}},setup(e){const n=Number.parseFloat(wN)||0,r={target:"body"},{portalSelection:o,selectPortalEdge:i}=Kt(),a=t.ref(!1),s=t.computed(()=>{const h=o.value;return h?e.targets.some(g=>g.edgeId===h):!1}),l=t.computed(()=>e.expanded!==void 0?e.expanded||s.value:a.value||s.value),c=()=>X0*e.targets.length+n*(e.targets.length-1),u=t.computed(()=>({width:l.value?`${c()}px`:"fit-content"})),f=h=>{i(h)},d=h=>o.value===h,m=t.computed(()=>e.targets.map((h,g)=>{const y=(X0+n)*g;return{edgeId:h.edgeId,key:`${h.node.id}-${h.fieldName??"node"}-${g}`,icon:Gp(h.node.type).icon,tooltip:h.fieldName?`${h.node.name}.${h.fieldName}`:h.node.name,highlighted:d(h.edgeId),tooltipEl:null,style:g===0?{width:"fit-content",zIndex:e.targets.length}:{position:"absolute",...e.reversed?{left:`${y}px`,transform:l.value?"translateX(0)":`translateX(-${y}px)`}:{right:0,transform:l.value?`translateX(-${y}px)`:"translateX(0)"},zIndex:e.targets.length-g}}})),p=t.computed(()=>Math.max(e.targets.length-1,0));return(h,g)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-portal",{expanded:l.value,reversed:e.reversed}]),onClick:g[0]||(g[0]=t.withModifiers(()=>{},["stop"])),onDragstart:g[1]||(g[1]=t.withModifiers(()=>{},["stop"])),onMousedown:g[2]||(g[2]=t.withModifiers(()=>{},["stop"])),onMouseenter:g[3]||(g[3]=y=>a.value=!0),onMouseleave:g[4]||(g[4]=y=>a.value=!1)},[t.createElementVNode("div",{class:"target-boxes",style:t.normalizeStyle(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.value,(y,b)=>(t.openBlock(),t.createBlock(t.unref(Ke.KTooltip),{key:y.key,class:"target-box-wrapper","kpop-attributes":r,placement:"top",style:t.normalizeStyle(y.style),text:y.tooltip},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["target-box",{highlighted:y.highlighted}]),onClick:t.withModifiers(_=>f(y.edgeId),["stop"])},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(y.icon),{color:t.unref(Tr),size:D2},null,8,["color"])),b===0&&p.value>0?(t.openBlock(),t.createElementBlock("span",L2," +"+t.toDisplayString(p.value),1)):t.createCommentVNode("",!0)],10,$2)]),_:2},1032,["style","text"]))),128))],4)],34))}}),[["__scopeId","data-v-8bca2dc5"]]),au=Re(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>Pt.Position.Left},size:{default:()=>Number.parseFloat(Gg)},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(Pt.Position).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-74b600f2"]]),Z0=Re(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){t.useCssVars(r=>{var o,i;return{v3b4ea967:(o=n.value.colors)==null?void 0:o.background,v00febd7c:(i=n.value.colors)==null?void 0:i.foreground}});const n=t.computed(()=>Gp(e.type));return(r,o)=>{var a;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},[(a=n.value)!=null&&a.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"]]),M2={class:"body"},j2={class:"name"},F2={class:"handle"},U2={class:"handle-label-wrapper"},K2={class:"handle-label-wrapper"},q2={class:"handle-label text"},G2={class:"handle"},H2={class:"handle-label-wrapper"},z2={class:"handle-label-wrapper"},W2={class:"handle-label text"},Y2={key:2,class:"branch-handles"},J2={class:"handle-label-wrapper"},X2={class:"handle-label text"},Q0=Re(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=nn.createI18n("en-us",cn),r=v2(),{getInEdgesByNodeId:o,getOutEdgesByNodeId:i,getNodeById:a,toggleExpanded:s,duplicateNode:l,removeNode:c,propertiesPanelOpen:u,branchGroups:f}=Kt(),d=t.computed(()=>la(e.data.type)),m=t.computed(()=>e.data.fields.input.length>0),p=t.computed(()=>e.data.fields.output.length>0),h=t.computed(()=>m.value&&o(e.data.id).every(L=>L.targetField===void 0)),g=t.computed(()=>p.value&&i(e.data.id).every(L=>L.sourceField===void 0)),y=t.computed(()=>e.data.expanded.input??!1),b=t.computed(()=>e.data.expanded.output??!1),_=t.computed(()=>{var L,G,F;return((F=(G=(L=d.value.io)==null?void 0:L.next)==null?void 0:G.branches)==null?void 0:F.map(({name:$})=>$))??[]}),C=t.computed(()=>_.value.length>0),k=t.computed(()=>f.findMembership(e.data.id)),E=t.computed(()=>{var L,G;if(e.data.type==="property"){const F=(L=e.data.config)==null?void 0:L.property;return rm(F)}return(G=d.value.io)==null?void 0:G.input}),w=t.computed(()=>{var L,G;if(e.data.type==="property"){const F=(L=e.data.config)==null?void 0:L.property;return nm(F)}return(G=d.value.io)==null?void 0:G.output}),x=t.computed(()=>zc(e.data)),T=t.computed(()=>e.data.phase==="response"),M=t.computed(()=>e.data.phase==="request"?Pt.Position.Left:Pt.Position.Right),v=t.computed(()=>e.data.phase==="request"?Pt.Position.Right:Pt.Position.Left),N=t.computed(()=>e.data.phase==="request"?Pt.Position.Right:Pt.Position.Left),O=t.computed(()=>zc(e.data)?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),B=t.computed(()=>x.value?sN:lN);function A(L){return L==="input"?T.value:!T.value}function q(L){const G=new Map,F=L==="input"?o(e.data.id):i(e.data.id);for(const $ of F){const S=a(L==="input"?$.source:$.target);if(!S)continue;if(L==="input"){const oe=S.type==="vault",de=S.phase!==e.data.phase,Ae=f.isEdgeEnteringGroup(S.id,e.data.id);if(!(oe||de||Ae))continue}else{const oe=S.phase!==e.data.phase,de=f.isEdgeEnteringGroup(e.data.id,S.id);if(!(oe||de))continue}const P=L==="input"?$.targetField||"input":$.sourceField||"output";let V;if(L==="input"&&$.sourceField){const oe=S.fields.output.find(de=>de.id===$.sourceField);V=oe==null?void 0:oe.name}else if(L==="output"&&$.targetField){const oe=S.fields.input.find(de=>de.id===$.targetField);V=oe==null?void 0:oe.name}const W={edgeId:$.id,node:S,fieldName:V},re=G.get(P);re?re.push(W):G.set(P,[W])}return G}const z=t.computed(()=>q("input")),Y=t.computed(()=>q("output"));function K(L){!r||r.readonly||L==="input"&&!h.value||L==="output"&&!g.value||s(e.data.id,L)}async function U(){if(!r||r.readonly)return;const L=l(e.data.id,r.placeToRight(e.data.id));await r.selectNode(L),r.scrollRightToReveal(L),u.value=!0}function j(){f.removeMember(e.data.id)}return t.watch(h,L=>{L||s(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(g,L=>{L||s(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(L,G)=>{fn(L,G)||s(e.data.id,"input",L.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(L,G)=>{fn(L,G)||s(e.data.id,"output",L.length>0,!0,"*")},{deep:!0}),(L,G)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-flow-node",{reversed:T.value,implicit:x.value,readonly:e.readonly}])},[t.createElementVNode("div",M2,[x.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ke.KTooltip),{key:0,class:"badge",placement:"top",text:e.data.type},{default:t.withCtx(()=>[t.createVNode(Z0,{"icon-only":"",size:"small",type:e.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",j2,t.toDisplayString(O.value),1),e.error?(t.openBlock(),t.createBlock(t.unref(Ie.WarningIcon),{key:1,class:"error-icon",color:t.unref(Fg),size:16},null,8,["color"])):t.createCommentVNode("",!0),x.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ke.KDropdown),{key:2,class:"menu",disabled:e.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:G[1]||(G[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(Ke.KDropdownItem),{onClick:U},{default:t.withCtx(()=>[t.createVNode(ou,{keys:t.unref(Qc).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),k.value?(t.openBlock(),t.createBlock(t.unref(Ke.KDropdownItem),{key:0,onClick:j},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(Ke.KDropdownItem),{danger:"",onClick:G[0]||(G[0]=F=>t.unref(c)(e.data.id))},{default:t.withCtx(()=>[t.createVNode(ou,{keys:t.unref(Qc).delete,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref(Ke.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{color:t.unref(rf)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:T.value}])},[E.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":m.value}])},[t.createElementVNode("div",F2,[t.createVNode(t.unref(Pt.Handle),{id:"input",position:M.value,type:"target"},null,8,["position"]),z.value.has("input")?(t.openBlock(),t.createBlock(iu,{key:0,mode:"input",reversed:A("input"),targets:z.value.get("input")},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",U2,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:h.value}]),onClick:G[2]||(G[2]=t.withModifiers(F=>K("input"),["stop"]))},[G[4]||(G[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),m.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ie.UnfoldMoreIcon),{key:0,size:t.unref(zl)},null,8,["size"])),y.value?(t.openBlock(),t.createBlock(t.unref(Ie.UnfoldLessIcon),{key:1,color:h.value?void 0:t.unref(Kg),size:t.unref(zl)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),m.value&&y.value?(t.openBlock(),t.createBlock(au,{key:0,color:B.value,position:M.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),m.value&&y.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.input,(F,$)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${F.id}`,class:"handle indented"},[t.createVNode(t.unref(Pt.Handle),{id:`inputs@${F.id}`,position:M.value,type:"target"},null,8,["id","position"]),z.value.has(F.id)?(t.openBlock(),t.createBlock(iu,{key:0,mode:"input",reversed:A("input"),targets:z.value.get(F.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",K2,[t.createElementVNode("div",q2,t.toDisplayString(F.name),1),t.createVNode(au,{color:B.value,position:M.value,type:$<e.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),w.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":p.value}])},[t.createElementVNode("div",G2,[t.createElementVNode("div",H2,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:g.value}]),onClick:G[3]||(G[3]=t.withModifiers(F=>K("output"),["stop"]))},[G[5]||(G[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),p.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ie.UnfoldMoreIcon),{key:0,size:t.unref(zl)},null,8,["size"])),b.value?(t.openBlock(),t.createBlock(t.unref(Ie.UnfoldLessIcon),{key:1,color:g.value?void 0:t.unref(Kg),size:t.unref(zl)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),p.value&&b.value?(t.openBlock(),t.createBlock(au,{key:0,color:B.value,position:v.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Pt.Handle),{id:"output",position:v.value,type:"source"},null,8,["position"]),Y.value.has("output")?(t.openBlock(),t.createBlock(iu,{key:0,mode:"output",reversed:A("output"),targets:Y.value.get("output")},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]),p.value&&b.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.output,(F,$)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${F.id}`,class:"handle indented"},[t.createElementVNode("div",z2,[t.createElementVNode("div",W2,t.toDisplayString(F.name),1),t.createVNode(au,{color:B.value,position:v.value,type:$<e.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(Pt.Handle),{id:`outputs@${F.id}`,position:v.value,type:"source"},null,8,["id","position"]),Y.value.has(F.id)?(t.openBlock(),t.createBlock(iu,{key:0,mode:"output",reversed:A("output"),targets:Y.value.get(F.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),C.value?(t.openBlock(),t.createElementBlock("div",Y2,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,F=>(t.openBlock(),t.createElementBlock("div",{key:`branch-${F}`,class:"handle"},[t.createElementVNode("div",J2,[t.createElementVNode("div",X2,t.toDisplayString(F),1)]),t.createVNode(t.unref(Pt.Handle),{id:`branch@${F}`,connectable:!1,position:N.value,type:"source"},null,8,["id","position"])]))),128))])):t.createCommentVNode("",!0)],2)],2))}}),[["__scopeId","data-v-d3b68c15"]]),Z2=Re(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?Pt.Position.Right:Pt.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(Pt.Handle),{id:"input",connectable:!1,position:o.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-4a58489a"]]),ek=Re(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:r}){const o=r,i=t.useTemplateRef("flowCanvas"),a=Lt.useElementBounding(i),{i18n:{t:s}}=et(),{vueFlowStore:l,editorStore:c,autoLayout:u,fitViewParams:f,fitView:d,selectNode:m,placeToRight:p,scrollRightToReveal:h,groupDrop:g}=A2({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:y,propertiesPanelOpen:b,invalidConfigNodeIds:_,selectedNode:C,duplicateNode:k,commit:E,selectPortalEdge:w}=c,{screenToFlowCoordinate:x,zoomIn:T,zoomOut:M,viewport:v,maxZoom:N,minZoom:O}=l,{activeGroupId:B,startPanelDrag:A,endPanelDrag:q,updateActiveGroup:z,attachNodeToActiveGroup:Y}=g;function K(S){var V;const P=(V=S.dataTransfer)==null?void 0:V.types.find(W=>W.startsWith(`${Ds}/`));if(P)return P.replace(`${Ds}/`,"")}function U(S){var P;if(e.mode==="edit"){if(((P=S==null?void 0:S.node)==null?void 0:P.type)==="group"){m(void 0),w(void 0);return}b.value=!0}}function j(S){e.mode==="edit"&&(S.preventDefault(),z(x({x:S.clientX,y:S.clientY})))}function L(S){var De;if(e.mode!=="edit")return;const P=(De=S.dataTransfer)==null?void 0:De.getData(Ds);if(!P)return;S.preventDefault();const V=JSON.parse(P);if(V.action!=="create-node")return;const W=x({x:S.clientX,y:S.clientY}),{type:re,anchor:oe}=V.data,de={type:re,phase:e.phase,position:{x:W.x-oe.offsetX,y:W.y-oe.offsetY}},Ae=y(de,!1);if(!Ae){q();return}Y(Ae),E(),m(Ae),b.value=!0,q()}async function G(){await u(),setTimeout(()=>d(),0)}const F=t.computed(()=>{if(e.mode==="preview")return[];const S=[{name:"zoom_in",icon:Ie.AddIcon,action:T,disabled:v.value.zoom>=N.value},{name:"zoom_out",icon:Ie.RemoveIcon,action:M,disabled:v.value.zoom<=O.value},{name:"fit_view",icon:Ie.FullscreenIcon,action:d}];return e.mode==="edit"&&S.push({name:"auto_layout",icon:Ie.AutoLayoutIcon,action:G}),S});e.mode==="edit"&&(Lt.useEventListener("dragstart",S=>{K(S)&&A()}),Lt.useEventListener("dragend",()=>{q()}));async function $(){const S=C.value;if(e.mode!=="edit"||!S||S.phase!==e.phase)return;const P=k(S.id,p(S.id));P&&(await m(P),b.value=!0,h(P))}return M0({enabled:t.computed(()=>!!C.value&&e.mode==="edit"&&C.value.phase===e.phase),duplicate:$}),n({autoLayout:u,fitView:d}),(S,P)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(Pt.VueFlow),{id:e.flowId,class:t.normalizeClass(["flow",{readonly:e.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":e.mode==="edit","max-zoom":t.unref(zD),"min-zoom":t.unref(WD),"multi-selection-key-code":null,"nodes-connectable":e.mode==="edit","nodes-draggable":e.mode==="edit","pan-on-drag":e.mode==="preview"?!1:void 0,"pan-on-scroll":e.mode!=="edit"?!1:void 0,"zoom-on-double-click":e.mode!=="edit"?!1:void 0,"zoom-on-pinch":e.mode!=="edit"?!1:void 0,"zoom-on-scroll":e.mode!=="edit"?!1:void 0,onDragover:j,onDrop:L,onNodeClick:U,onNodesChange:P[0]||(P[0]=V=>o("nodes-change")),onNodesInitialized:P[1]||(P[1]=V=>o("initialized"))},{"node-flow":t.withCtx(({data:V})=>[t.createVNode(Q0,{data:V,error:t.unref(_).has(V.id),readonly:e.mode!=="edit"},null,8,["data","error","readonly"])]),"node-group":t.withCtx(({data:V})=>[t.createVNode(Z2,{active:t.unref(B)===V.id,data:V},null,8,["active","data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(tN.Background)),t.createVNode(t.unref(jg.Controls),{"fit-view-params":t.unref(f),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(F.value,V=>(t.openBlock(),t.createBlock(t.unref(Ke.KTooltip),{key:V.name,placement:"right",text:t.unref(s)(`plugins.free-form.datakit.flow_editor.actions.${V.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(jg.ControlButton),{disabled:V.disabled,onClick:t.withModifiers(V.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(V.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"])],512))}}),[["__scopeId","data-v-64a199a9"]]),Q2={class:"label-content"},eM={class:"count"},tM={class:"label-content"},nM={class:"count"},tk=.5,am=.03,rM=30,sm=Re(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const{t:n}=nn.createI18n("en-us",cn),r=t.ref(!1),o=t.ref(!1),{responsePanelCollapsed:i}=Xc(),{state:a,configNodeCounts:s,clearPendingLayout:l,setPendingFitView:c,commit:u,clear:f,portalSelection:d}=Kt(),m=t.useId(),p=`${m}-request`,h=`${m}-response`,g=Pt.useVueFlow(p),y=Pt.useVueFlow(h);function b(de,Ae){const{onPaneClick:De,onNodesChange:ze,onEdgesChange:ue,getSelectedNodes:pe,getSelectedEdges:me}=de,{removeSelectedElements:$e}=Ae;function Ne(ke){if(!ke){$e();return}ke.some(Oe=>Oe.type==="select")&&pe.value.length+me.value.length>0&&$e()}ze(Ne),ue(Ne),De(()=>Ne())}b(g,y),b(y,g),t.watch(d,de=>{de&&(g.removeSelectedElements(),y.removeSelectedElements())});const _=t.useTemplateRef("flowPanels"),C=t.useTemplateRef("requestLabel"),k=t.useTemplateRef("requestCanvasContainer"),E=t.useTemplateRef("requestFlow"),w=t.useTemplateRef("resizeHandle"),x=t.useTemplateRef("responseLabel"),T=t.useTemplateRef("responseCanvasContainer"),M=t.useTemplateRef("responseFlow"),v=Lt.useElementBounding(_),N=Lt.useElementBounding(C),O=Lt.useElementBounding(k),B=Lt.useElementBounding(w),A=Lt.useElementBounding(x),q=Lt.useElementBounding(T),z=t.computed(()=>Math.max(rM,v.height.value*am)),Y=t.computed(()=>v.height.value-N.height.value-B.height.value-A.height.value),K=t.computed(()=>{const de=Y.value;return de?Math.max(am,z.value/de):am}),U=t.ref(tk),j=t.computed(()=>`${U.value*100}%`),L=t.computed(()=>`${(1-U.value)*100}%`),G=t.computed(()=>U.value<=K.value),F=t.computed(()=>1-U.value<=K.value);function $(de,{persist:Ae=!0}={}){const De=Math.min(1,Math.max(0,de));U.value=De,Ae&&e.mode==="edit"&&(i.value=F.value)}function S(de,Ae=!0){$(de?1:tk,{persist:Ae})}function P(de=!0){$(0,{persist:de})}if(e.mode==="edit"){const de=s.value.response===0,Ae=i.value;S(de||Ae,!1)}else t.watch(()=>s.value.response,de=>{S(de===0,!1)},{immediate:!0});const V=()=>{e.resizable&&(G.value?S(!1):P())},W=()=>{e.resizable&&S(!F.value)},{isDragging:re}=Lt.useDraggable(w,{onMove(de){if(!e.resizable)return;const Ae=Math.max(0,de.y-O.top.value),De=Math.min(1,Math.max(0,Ae/Y.value));$(De,{persist:!1})},onEnd(){e.resizable&&(O.height.value<z.value?P():q.height.value<z.value?S(!0):$(U.value))}});function oe(){t.nextTick(()=>{var de,Ae;(de=E.value)==null||de.fitView(),(Ae=M.value)==null||Ae.fitView()})}return t.watch([r,o,()=>a.value.pendingLayout,()=>a.value.pendingFitView],([de,Ae,De,ze])=>{e.inactive||!de||!Ae||!De&&!ze||(De&&l(),ze&&c(!1),setTimeout(async()=>{var ue,pe;De&&(await((ue=E.value)==null?void 0:ue.autoLayout(!1)),await((pe=M.value)==null?void 0:pe.autoLayout(!1)),u("*"),De==="clearHistory"&&f()),ze&&setTimeout(()=>oe(),0)},0))}),(de,Ae)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:_,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:C,class:t.normalizeClass(["label request",{resizable:e.resizable}]),onClick:V},[e.resizable?(t.openBlock(),t.createBlock(t.unref(Ie.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:G.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",Q2,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.request"))+" ",1),t.createElementVNode("span",eM,[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:k,class:t.normalizeClass(["canvas",{dragging:t.unref(re)}]),style:t.normalizeStyle({flexBasis:j.value})},[t.createVNode(ek,{ref_key:"requestFlow",ref:E,"flow-id":p,mode:e.mode,phase:"request",onInitialized:Ae[0]||(Ae[0]=De=>r.value=!0),onNodesChange:Ae[1]||(Ae[1]=De=>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:x,class:t.normalizeClass(["label response",{dragging:t.unref(re),resizable:e.resizable}]),onClick:W},[e.resizable?(t.openBlock(),t.createBlock(t.unref(Ie.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:F.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",tM,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.response"))+" ",1),t.createElementVNode("span",nM,[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:T,class:t.normalizeClass(["canvas response",{dragging:t.unref(re)}]),style:t.normalizeStyle({flexBasis:L.value})},[t.createVNode(ek,{ref_key:"responseFlow",ref:M,"flow-id":h,mode:e.mode,phase:"response",onInitialized:Ae[2]||(Ae[2]=De=>o.value=!0),onNodesChange:Ae[3]||(Ae[3]=De=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-8bc3e3c9"]]),oM={class:"dk-confirm-modal-body"},iM={class:"connections"},aM=Re(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:r}){const{i18n:{t:o}}=et(),i=r,a=t.ref(!1),s=t.ref(e.message),l=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let u=null;function f(){a.value=!1,i("cancel"),u==null||u(!1)}function d(){a.value=!1,i("confirm"),u==null||u(!0)}async function m(p,h,g){return s.value=p,l.value=h??[],c.value=g??[],a.value=!0,await new Promise(y=>{u=y})}return n({open:m}),(p,h)=>{const g=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(g,{"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:f,onProceed:d},{default:t.withCtx(()=>[t.createElementVNode("div",oM,[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",iM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value??[],([y,b])=>(t.openBlock(),t.createElementBlock("div",{key:`${y}-${b}`,class:"connection"},[t.createVNode(t.unref(Ie.AddIcon),{color:t.unref(cN)},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(y)+" → "+t.toDisplayString(b),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([y,b])=>(t.openBlock(),t.createElementBlock("div",{key:`${y}-${b}`,class:"connection"},[t.createVNode(t.unref(Ie.RemoveIcon),{color:t.unref(Fg)},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(y)+" → "+t.toDisplayString(b),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-77e61dbe"]]),sM={class:"dk-editor-nav"},lM={class:"top"},cM={class:"bottom"},uM=Re(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:r}=nn.createI18n("en-us",cn),o=n,i=[{label:r("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ie.ArrowLeftIcon,onClick:()=>o("back")}],{sidePanelExpanded:a}=Xc(),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(u,f)=>(t.openBlock(),t.createElementBlock("nav",sM,[t.createElementVNode("div",lM,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:d,to:m,icon:p,onClick:h})=>t.createVNode(t.unref(Ke.KTooltip),{key:d,"kpop-attributes":{offset:"10px"},label:d,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(Ke.KButton),{key:d,appearance:"none",class:"nav-item",icon:"",to:m,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(p),{decorative:"",size:t.unref(Za)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",cM,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(d=>l.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(d=>l.value=!0,["self"]))},[t.createVNode(t.unref(Ke.KTooltip),{label:l.value?void 0:s.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ke.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(Ie.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Za)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ie.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Za)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-fde73b94"]]),dM={class:"dk-editor-main"},fM={class:"header"},pM={class:"actions"},mM={class:"settings"},hM={ref:"canvasContainer",class:"body"},gM=Re(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=nn.createI18n("en-us",cn),{modalOpen:r,undo:o,redo:i,canUndo:a,canRedo:s,load:l}=Kt();function c(m){return n(`plugins.free-form.datakit.examples.${m}`)}function u(m){const p=Vr.load(m.code,{schema:xo,json:!0});if(typeof p!="object"||p===null)return;const h=p,g={config:{...h,nodes:h.nodes??[]}};l(g,!0)}function f(){r.value=!1}M0({enabled:r,undo:o,redo:i});const d={maxWidth:"300px",zIndex:1e4};return(m,p)=>(t.openBlock(),t.createElementBlock("div",dM,[t.createElementVNode("header",fM,[t.createElementVNode("div",pM,[t.createVNode(t.unref(Ke.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(ou,{keys:t.unref(Qc).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(Ke.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(Ke.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(ou,{keys:t.unref(Qc).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(Ke.KButton),{appearance:"tertiary",disabled:!t.unref(s),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),p[0]||(p[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",mM,[t.createVNode(ir,{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:d},name:"config.debug"},null,8,["label","label-attributes"])]),p[1]||(p[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(Ke.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(k0),h=>(t.openBlock(),t.createBlock(t.unref(Ke.KDropdownItem),{key:h.id,onClick:g=>u(h)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c(h.i18nKey)),1)]),_:2},1032,["onClick"]))),128))]),_:1},8,["trigger-text"]),t.createVNode(t.unref(Ke.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(Ie.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(Ke.KButton),{onClick:f},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",hM,[t.createVNode(sm,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-1cf532ff"]]),yM=["draggable"],_M={class:"icon"},bM={class:"content"},wM={class:"title"},kM={class:"description"},CM=Re(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}=Gc[e.type],{colors:{background:a,foreground:s}}=hD(Gc[e.type].group);function l(c){r("dragstart",c,e.type)}return(c,u)=>(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",_M,[t.createVNode(t.unref(i),{size:16})]),t.createElementVNode("div",bM,[t.createElementVNode("div",wM,t.toDisplayString(e.type),1),t.createElementVNode("div",kM,t.toDisplayString(t.unref(o)),1)])],42,yM))}}),[["__scopeId","data-v-829422ff"]]),EM={class:"dk-node-panel"},NM={key:0,class:"title"},xM={class:"node-list"},SM={class:"group-title"},AM={class:"group-items"},vM={"aria-hidden":"true",class:"preview",inert:""},IM=Re(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=nn.createI18n("en-us",cn),{createNode:r}=Kt(),o=t.inject(Jo.KM_2446_DATAKIT_JWT_NODES,!1),i=t.computed(()=>o?S0:S0.filter(({id:u})=>u!=="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(u,f)=>{var v,N,O;const d=u.currentTarget,{left:m,top:p,width:h,height:g}=d.getBoundingClientRect(),y=u.clientX-m,b=u.clientY-p;s.value=r({type:f}),await t.nextTick();const _=document.querySelector(`#${a}`)||d,C=_.cloneNode(!0);C.classList.add("dk-drag-snapshot");const{offsetWidth:k,offsetHeight:E}=_;Object.assign(C.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${k}px`,height:`${E}px`}),document.body.appendChild(C);const w=y/h,x=b/g,T={ratioX:w,ratioY:x,offsetX:k*w,offsetY:E*x},M={action:"create-node",data:{type:f,anchor:T}};(v=u.dataTransfer)==null||v.setData(Ds,JSON.stringify(M)),(N=u.dataTransfer)==null||N.setData(`${Ds}/${f}`,f),(O=u.dataTransfer)==null||O.setDragImage(C,T.offsetX,T.offsetY),requestAnimationFrame(()=>{C.remove(),s.value=void 0})};return(u,f)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",EM,[e.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",NM,[t.createVNode(d,{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",xM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.value,m=>(t.openBlock(),t.createElementBlock("section",{key:m.id,class:"node-group"},[t.createElementVNode("h4",SM,t.toDisplayString(m.title),1),t.createElementVNode("div",AM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.nodes,p=>(t.openBlock(),t.createBlock(CM,{key:p.type,type:p.type,onDragstart:c},null,8,["type"]))),128))])]))),128))]),t.createElementVNode("div",vM,[t.createVNode(t.unref(Pt.VueFlow),{nodes:l.value},{"node-flow":t.withCtx(m=>[t.createVNode(Q0,{id:a,data:m.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-f2040974"]]);function TM(){const{addField:e,getNodeByName:n,removeField:r,replaceConfig:o,renameField:i,disconnectOutEdges:a,nodeMapByName:s}=Kt(),l=n("vault");if(!l)throw new Error("no vault node");const c=t.computed(()=>{var h;return((h=s.value.get("vault"))==null?void 0:h.config)||{}});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(h,g)=>{e(l.id,"output",h,!1);const y={...l.config,[h]:g};o(l.id,y)},removeVault:h=>{const g=vo(l,"output",h);if(!g)return;const y=l.fields.output.length===1;r(l.id,g.id,!0,!1);const b=wo(l.config,h);o(l.id,b,!y),y&&a(l.id)},updateVault:(h,g,y=!0)=>{const b={...l.config,[h]:g};o(l.id,b,y)},renameVault:(h,g,y=!0)=>{var k;const b=vo(l,"output",h);if(!b)return;i(l.id,b.id,g,!1);const _=((k=l.config)==null?void 0:k[h])??"",C={...wo(l.config,h),[g]:_};o(l.id,C,y)}}}const OM=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}}=dt.useI18n(),i=t.inject(it.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),u=()=>{const p=a.value.trim(),h=e.validateName(p,e.isEditing);return s.value=h||"",h===void 0},f=()=>{s.value="",u()},d=p=>{u()&&r("proceed",{secretRef:p,secretName:a.value.trim()})},m=()=>{a.value="",s.value="",r("cancel")};return t.watch(()=>e.secretName,p=>{a.value=p||"",s.value=""}),(p,h)=>{const g=t.resolveComponent("KInput"),y=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(Ja.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:m,onProceed:d},{"form-prefix":t.withCtx(()=>[t.createVNode(g,{"model-value":a.value,"onUpdate:modelValue":[h[0]||(h[0]=b=>a.value=b),f],"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(y,{key:1,"icon-variant":"error",message:t.unref(o)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),BM={class:"dk-vault-panel"},PM={class:"title"},VM={class:"vault-list"},RM={key:0,class:"vault-list-item"},$M={class:"vault-list-item-key"},LM={class:"vault-list-item-key-text"},DM=Re(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}=Wf(t.toRef(r,"name")),u=Yt(t.toRef(r,"name")),f=t.ref(null),d=t.ref(null),m=t.computed(()=>{if(!f.value)return null;const E=c(f.value),w=u.value?u.value.value[f.value]:void 0;return E===void 0||w===void 0?null:{id:f.value,key:E,value:w}}),{i18n:{t:p}}=dt.useI18n(),h=t.computed(()=>new Set(i.value.map(([,E])=>E))),g=()=>{if(!u.value)return;const w=a();d.value=w,f.value=w},y=()=>{f.value=null,d.value&&(s(d.value),d.value=null)},b=E=>{if(!m.value)throw new Error("no selected entry");const w=m.value.key,x=w!==E.secretName,T=m.value.value!==E.secretRef,M=x||T;m.value.value=E.secretRef,m.value.key=E.secretName,T&&(u.value.value[m.value.id]=E.secretRef),x&&l(m.value.id,E.secretName),d.value?o("add",E.secretName,E.secretRef):M&&o("update",E.secretName,E.secretRef,x?w:void 0),d.value=null,y()},_=E=>{f.value=E},C=E=>{const w=c(E);s(E),o("remove",w)},k=(E,w)=>{var x;if(!E)return p("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(h.value.has(E)&&!(w&&E===((x=m.value)==null?void 0:x.key)))return p("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(E,w)=>{var v,N;const x=t.resolveComponent("KButton"),T=t.resolveComponent("KDropdownItem"),M=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",BM,[t.createElementVNode("h3",PM,t.toDisplayString(t.unref(p)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(x,{appearance:"tertiary",class:"add-button",size:"small",onClick:g},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(p)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",VM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),([O,B])=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:O},[B?(t.openBlock(),t.createElementBlock("div",RM,[t.createElementVNode("div",$M,[t.createVNode(t.unref(Ie.KeyIcon),{color:t.unref(Tr),size:16},null,8,["color"]),t.createElementVNode("div",LM,t.toDisplayString(B),1)]),t.createVNode(M,null,{items:t.withCtx(()=>[t.createVNode(T,{onClick:A=>_(O)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(p)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1},8,["onClick"]),t.createVNode(T,{danger:"",onClick:A=>C(O)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(p)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1},8,["onClick"])]),default:t.withCtx(()=>[t.createVNode(x,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{color:t.unref(rf)},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(OM,{"is-editing":!!f.value&&!d.value,"secret-name":(v=m.value)==null?void 0:v.key,"secret-ref":(N=m.value)==null?void 0:N.value,"validate-name":k,onCancel:y,onProceed:b},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-c53e3d9c"]]);function MM(){const{getSchema:e}=yt();return t.computed(()=>{const n=e("config.resources");if(!n)throw new Error("Failed to get resource schema");const r=to(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 jM={key:1},FM=["innerHTML"],UM={class:"horizontal-container"},lm=Re(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}=yt(),a=Yt(t.toRef(()=>e.name)),s=Vn(a.path,o),l=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=u=>{a.value&&(a.value.value=u),r("update:modelValue",u)};return(u,f)=>{var p;const d=t.resolveComponent("KAlert"),m=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(d,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",jM,[t.createVNode(m,t.normalizeProps(t.guardReactiveProps(t.unref(s).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s).label)+" ",1)]),_:2},[(p=t.unref(s).labelAttributes)!=null&&p.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,FM)]),key:"0"}:void 0]),1040),t.createElementVNode("div",UM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,h=>(t.openBlock(),t.createBlock(t.unref(Ke.KRadio),{key:h.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[f[0]||(f[0]=g=>t.unref(a).value.value=g),c],"card-orientation":"horizontal",label:h.label,"selected-value":h.value},null,8,["model-value","label","selected-value"]))),128))])],512)),[[t.vShow,!t.unref(a).hide.value]])}}}),[["__scopeId","data-v-7c0483f3"]]),KM={class:"dk-cache-panel"},qM={class:"title"},GM={key:0,class:"cache-item"},HM={class:"cache-item-key"},zM={class:"cache-item-key-text"},WM={class:"dk-resource-cache-form"},YM={key:1},JM={key:2,class:"dk-cache-inline-redis"},XM=Re(t.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(e,{emit:n}){const r=n,{getDefault:o,formData:i}=yt(),a=Yt("cache");if(a.error)throw new Error("No cache schema");const s=t.ref(!1),{i18n:{t:l}}=dt.useI18n(),c=t.computed(()=>!(u.value==="redis"&&!i.cache.partial_id&&!i.cache.redis)),u=t.computed(()=>{var _;return(_=a.value.value)==null?void 0:_.strategy}),f=t.computed(()=>{var _;return(_=a.value.value)!=null&&_.redis?Vr.dump(a.value.value.redis,{indent:2,noRefs:!0}):""}),d=()=>{s.value=!0},m=()=>{s.value=!1,r("cancel")},p=()=>{r("remove")},h=()=>{d(),a.value.value||(a.value.value=o("cache"),a.value.value.strategy="memory")},g=()=>{s.value=!1,r("update",i)},y=()=>{var _,C;u.value==="memory"&&((_=i.cache)!=null&&_.partial_id)&&((C=i.cache)==null||delete C.partial_id)};async function b({codeElement:_,language:C,code:k}){_.innerHTML=await nN.codeToHtml(k,{lang:C,theme:"catppuccin-mocha",structure:"inline"})}return(_,C)=>{const k=t.resolveComponent("KButton"),E=t.resolveComponent("KDropdownItem"),w=t.resolveComponent("KDropdown"),x=t.resolveComponent("KLabel"),T=t.resolveComponent("KCodeBlock"),M=t.resolveComponent("KModal");return t.openBlock(),t.createElementBlock("div",KM,[t.createElementVNode("h3",qM,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),e.strategy?(t.openBlock(),t.createElementBlock("div",GM,[t.createElementVNode("div",HM,[t.createVNode(t.unref(Ie.DatabaseIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"]),t.createElementVNode("div",zM,t.toDisplayString(e.strategy),1)]),t.createVNode(w,null,{items:t.withCtx(()=>[t.createVNode(E,{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),t.createVNode(E,{danger:"",onClick:p},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1})]),default:t.withCtx(()=>[t.createVNode(k,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{color:t.unref(rf)},null,8,["color"])]),_:1})]),_:1})])):(t.openBlock(),t.createBlock(k,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),t.createVNode(M,{"action-button-disabled":!c.value,"action-button-text":t.unref(l)("actions.save"),"max-width":"640px",title:t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:s.value,onCancel:m,onProceed:g},{default:t.withCtx(()=>{var v,N;return[t.createElementVNode("div",WM,[t.createVNode(lm,{items:[{label:t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":y},null,8,["items"]),u.value==="memory"?(t.openBlock(),t.createBlock(lt,{key:0,name:"memory.dictionary_name"})):t.createCommentVNode("",!0),u.value==="redis"?(t.openBlock(),t.createElementBlock("div",YM,[t.createVNode(x,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),t.createVNode(t.unref(Mg.RedisConfigurationSelector),{"model-value":(v=t.unref(i).cache)==null?void 0:v.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":C[0]||(C[0]=O=>t.unref(i).cache.partial_id=O)},null,8,["model-value"])])):t.createCommentVNode("",!0),u.value==="redis"&&!((N=t.unref(i).cache)!=null&&N.partial_id)&&f.value?(t.openBlock(),t.createElementBlock("div",JM,[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),t.createVNode(T,{id:"dk-cache-redis-configuration",code:f.value,language:"yaml",theme:"dark",onCodeBlockRender:b},null,8,["code"])])):t.createCommentVNode("",!0)])]}),_:1},8,["action-button-disabled","action-button-text","title","visible"])])}}}),[["__scopeId","data-v-55cb68f3"]]),ZM={class:"dk-resources-panel"},QM=Re(t.defineComponent({__name:"ResourcesPanel",setup(e){const n=MM(),r=t.ref(0),{addVault:o,removeVault:i,updateVault:a,renameVault:s,formData:l}=TM();function c(g,y,b){b&&b!==g&&s(b,g,!1),a(g,y)}const{state:u,commit:f}=Kt(),d=t.computed(()=>({cache:u.value.cacheConfig}));function m(g){u.value.cacheConfig=g.cache,f()}function p(){u.value.cacheConfig=void 0,f()}function h(){r.value++}return(g,y)=>(t.openBlock(),t.createElementBlock("div",ZM,[t.createVNode(mn,{data:t.unref(l),schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(DM,{name:"vault",onAdd:t.unref(o),onRemove:t.unref(i),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),y[0]||(y[0]=t.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(t.openBlock(),t.createBlock(mn,{key:`${r.value}`,data:d.value,schema:t.unref(n)},{default:t.withCtx(()=>{var b;return[t.createVNode(XM,{strategy:(b=d.value.cache)==null?void 0:b.strategy,onCancel:h,onRemove:p,onUpdate:m},null,8,["strategy"])]}),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-9093c001"]]),ej={class:"header"},tj={class:"title"},nj={class:"body"},rj={class:"panel"},oj=Re(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=nn.createI18n("en-us",cn),{sidePanelExpanded:r}=Xc(),{propertiesPanelOpen:o,selectedNode:i}=Kt(),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,u)=>{const f=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(r),inited:l.value}])},[t.createElementVNode("header",ej,[t.createElementVNode("h2",tj,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",nj,[t.createElementVNode("div",rj,[t.createVNode(f,{modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=d=>a.value=d),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(IM,{key:0,class:"node-panel","hide-title":""})):t.createCommentVNode("",!0),a.value==="resources"?(t.openBlock(),t.createBlock(QM,{key:1})):t.createCommentVNode("",!0)])])],2)}}}),[["__scopeId","data-v-b596edaf"]]),ij=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,r)=>(t.openBlock(),t.createBlock(qt,{items:t.unref(Rf)([...t.unref(N0)]),name:e.name},null,8,["items","name"]))}});function aj(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 sj(e){const n=e.path[2];return n==="output"||n==="outputs"}function nk(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function rk(e,n){const r=e.input!==void 0&&e.input!==null,o=nk(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=nk(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 ok(e,n,r){if(!e.nodes)return;const o=e.nodes.map(c=>c.name),i=new Set;o.forEach((c,u)=>{i.has(c)&&r.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",u,"name"]}),i.add(c)});const a=new Set([...n,...o]),s=new Map,l=new Map;e.nodes.forEach((c,u)=>{for(const f of aj(c,u)){const d=f.value.split(".",1)[0];if(a.has(d)||r.addIssue({code:"custom",message:`Unknown node "${d}" in connection "${f.value}"`,path:f.path}),sj(f)){const m=`${f.nodeName}->${d}`;l.has(m)?r.addIssue({code:"custom",message:`Connection specified on both sides: "${f.nodeName}" outputs to "${d}" and "${d}" inputs from "${f.nodeName}". Specify it on one side only.`,path:f.path}):s.set(m,s.get(m)??f.path)}else{const m=`${d}->${f.nodeName}`;s.has(m)?r.addIssue({code:"custom",message:`Connection specified on both sides: "${d}" outputs to "${f.nodeName}" and "${f.nodeName}" inputs from "${d}". Specify it on one side only.`,path:f.path}):l.set(m,l.get(m)??f.path)}}})}const lj=H.z.enum(C0),cj=H.z.enum(oa),ik=e=>oa.includes(e),cm=H.z.enum(E0),ak=cm.options;H.z.union([cm,lj]);const uj=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,su=H.z.string().min(1).max(255).regex(uj,"Invalid node name (snake_case / kebab-case only)").refine(e=>!ik(e),"Name clashes with reserved implicit node").brand(),sk=H.z.union([cj,su]),dj=H.z.string().min(1).brand(),fj=["then","else"];H.z.enum(fj);const ft=H.z.string().min(1).max(255).refine(e=>{if(sk.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,r,o]=n;return sk.safeParse(r).success&&dj.safeParse(o).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),pj=H.z.object({body:ft,headers:ft,http_proxy:ft,https_proxy:ft,proxy_auth_password:ft,proxy_auth_username:ft,query:ft,url:ft}).partial().strict(),mj=H.z.object({headers:ft,body:ft}).partial().strict(),hj=H.z.object({data:ft,key:ft,ttl:ft}).partial().strict(),gj=H.z.object({claims:ft,key:ft}).partial().strict(),yj=H.z.object({key:ft,token:ft}).partial().strict(),lk=H.z.enum(N0),ck=H.z.enum(qp),cr=H.z.object({type:H.z.string(),name:su,input:ft,inputs:H.z.record(H.z.string().min(1).max(255),ft).nullish(),output:ft,outputs:H.z.record(H.z.string().min(1).max(255),ft).nullish()}).loose().superRefine((e,n)=>{rk(e,n)}),_j=H.z.object({type:H.z.string(),name:H.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}),ak.includes(r)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${r}", expected one of: ${ak.join(", ")}`})}),bj=cr.safeExtend({type:H.z.literal("call"),method:lk.default("GET").nullish(),ssl_server_name:H.z.string().nullish(),ssl_verify:H.z.boolean().default(!0).nullish(),timeout:H.z.number().int().min(0).max(2147483646).nullish(),url:H.z.url().nullish(),inputs:pj.nullish(),outputs:H.z.object({body:ft,headers:ft,raw_body:ft,status:ft}).partial().nullish()}).strict(),wj=cr.safeExtend({type:H.z.literal("exit"),status:H.z.number().int().min(200).max(599).default(200).nullish(),warn_headers_sent:H.z.boolean().nullish(),inputs:mj.nullish(),output:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),kj=cr.safeExtend({type:H.z.literal("jq"),jq:H.z.string().min(1).max(10240),outputs:H.z.never().nullish()}).strict(),Cj=cr.safeExtend({type:H.z.literal("xml_to_json"),recognize_type:H.z.boolean().nullish().default(!0),attributes_block_name:H.z.string().min(1).max(32).nullish(),attributes_name_prefix:H.z.string().min(1).max(32).nullish(),text_block_name:H.z.string().min(1).max(32).nullish().default("#text"),text_as_property:H.z.boolean().nullish().default(!1),xpath:H.z.string().min(1).max(256).nullish(),inputs:H.z.never().nullish(),outputs:H.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"}))}),Ej=cr.safeExtend({type:H.z.literal("json_to_xml"),attributes_block_name:H.z.string().min(1).max(32).nullish(),attributes_name_prefix:H.z.string().min(1).max(32).nullish(),root_element_name:H.z.string().min(1).max(64).nullish(),text_block_name:H.z.string().min(1).max(32).nullish().default("#text"),inputs:H.z.record(H.z.string().min(1).max(255),ft).nullish(),outputs:H.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"}))}),Nj=cr.safeExtend({type:H.z.literal("jwt_decode"),inputs:H.z.never().nullish(),outputs:H.z.object({header:ft,payload:ft,signature:ft}).partial().nullish()}).strict(),xj=cr.safeExtend({type:H.z.literal("jwt_sign"),algorithm:ck,expires_in:H.z.number().int().min(1).default(300).nullish(),inputs:gj.nullish(),kid:H.z.string().nullish(),not_before:H.z.number().int().min(0).default(0).nullish(),outputs:H.z.object({claims:ft,header:ft,token:ft}).partial().nullish(),static_claims:H.z.record(H.z.string(),H.z.string()).default({}).nullish(),typ:H.z.string().default("JWT").nullish()}).strict(),Sj=cr.safeExtend({type:H.z.literal("jwt_verify"),allowed_algorithms:H.z.array(ck).default([]).nullish(),audiences:H.z.array(H.z.string()).default([]).nullish(),inputs:yj.nullish(),issuers:H.z.array(H.z.string()).default([]).nullish(),leeway:H.z.number().int().min(0).default(0).nullish(),outputs:H.z.object({claims:ft,header:ft}).partial().nullish(),required_claims:H.z.array(H.z.string()).default([]).nullish(),validate_exp:H.z.boolean().default(!0).nullish(),validate_nbf:H.z.boolean().default(!0).nullish()}).strict(),Aj=cr.safeExtend({type:H.z.literal("property"),content_type:H.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:H.z.string().min(1).max(255),inputs:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),vj=cr.safeExtend({type:H.z.literal("static"),values:H.z.record(H.z.string(),H.z.unknown()),input:H.z.never().nullish(),inputs:H.z.never().nullish()}).strict(),Ij=cr.safeExtend({type:H.z.literal("cache"),bypass_on_error:H.z.boolean().nullish(),inputs:hj.nullish(),outputs:H.z.object({data:ft,hit:ft,miss:ft,stored:ft}).partial().nullish(),ttl:H.z.number().int().gt(0).nullish()}).strict(),Tj=cr.safeExtend({type:H.z.literal("branch"),then:H.z.array(su).min(1).max(64).nullish(),else:H.z.array(su).min(1).max(64).nullish()}).strict(),Oj=_j.pipe(H.z.discriminatedUnion("type",[bj,wj,kj,Cj,Ej,Nj,xj,Sj,Aj,vj,Ij,Tj])),Bj=H.z.record(H.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),H.z.string().min(1).max(4095)),Pj=H.z.object({dictionary_name:H.z.string().nullish().default("kong_db_cache")}),Vj=H.z.object({host:H.z.string().default("127.0.0.1"),port:H.z.number().int().min(0).max(65535).default(6379)}),Rj=H.z.object({ip:H.z.string().default("127.0.0.1"),port:H.z.number().int().min(0).max(65535).default(6379)}),$j=H.z.object({host:H.z.string().nullish().default("127.0.0.1"),port:H.z.number().int().min(0).max(65535).nullish().default(6379),connect_timeout:H.z.number().int().min(0).max(2147483646).nullish().default(2e3),send_timeout:H.z.number().int().min(0).max(2147483646).nullish().default(2e3),read_timeout:H.z.number().int().min(0).max(2147483646).nullish().default(2e3),username:H.z.string().nullish(),password:H.z.string().nullish(),sentinel_username:H.z.string().nullish(),sentinel_password:H.z.string().nullish(),database:H.z.number().int().nullish().default(0),keepalive_pool_size:H.z.number().int().min(1).max(2147483646).nullish().default(256),keepalive_backlog:H.z.number().int().min(0).max(2147483646).nullish(),sentinel_master:H.z.string().nullish(),sentinel_role:H.z.enum(["master","slave","any"]).nullish(),sentinel_nodes:H.z.array(Vj).min(1,{message:"sentinel_nodes must contain at least 1 item"}).nullish(),cluster_nodes:H.z.array(Rj).min(1,{message:"cluster_nodes must contain at least 1 item"}).nullish(),ssl:H.z.boolean().default(!1).nullish(),ssl_verify:H.z.boolean().default(!0).nullish(),server_name:H.z.string().nullish(),cluster_max_redirections:H.z.number().int().default(5).nullish(),connection_is_proxied:H.z.boolean().default(!1).nullish(),cloud_authentication:H.z.object({auth_provider:H.z.enum(["aws","azure","gcp"]).nullish(),aws_access_key_id:H.z.string().nullish(),aws_assume_role_arn:H.z.string().nullish(),aws_cache_name:H.z.string().nullish(),aws_is_serverless:H.z.boolean().default(!0).nullish(),aws_region:H.z.string().nullish(),aws_role_session_name:H.z.string().nullish(),aws_secret_access_key:H.z.string().nullish(),azure_client_id:H.z.string().nullish(),azure_client_secret:H.z.string().nullish(),azure_tenant_id:H.z.string().nullish(),gcp_service_account_json:H.z.string().nullish()}).nullish(),timeout:H.z.number().int().nullish(),sentinel_addresses:H.z.array(H.z.string()).min(1).nullish(),cluster_addresses:H.z.array(H.z.string()).min(1).nullish()}).superRefine((e,n)=>{var c;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=!!((c=e.sentinel_nodes)!=null&&c.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"]})}),Lj=H.z.object({strategy:H.z.enum(["memory","redis"]).nullish(),memory:Pj,redis:$j}),Dj=H.z.object({vault:Bj.nullish(),cache:Lj.nullish()});H.z.array(H.z.object({id:H.z.string()})),H.z.object({nodes:H.z.array(Oj).min(1,"At least one node is required").max(64),debug:H.z.boolean().default(!1).nullish(),resources:Dj.nullish()}).strict().superRefine((e,n)=>{ok(e,oa,n)});const uk=cm.options,um=H.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!ik(e),"Node name conflicts with reserved implicit node"),xt=H.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"),dk=H.z.object({body:xt.nullish(),headers:xt.nullish(),query:xt.nullish()}).partial().strict(),fk=H.z.object({headers:xt.nullish(),body:xt.nullish()}).partial().strict(),pk=H.z.object({data:xt.nullish(),key:xt.nullish(),ttl:xt.nullish()}).partial().strict(),mk=H.z.object({claims:xt.nullish(),key:xt.nullish()}).partial().strict(),hk=H.z.object({key:xt.nullish(),token:xt.nullish()}).partial().strict(),Mj={call:dk,exit:fk,cache:pk,jwt_sign:mk,jwt_verify:hk};function jj(e){const n=Mj[e];return n?Object.keys(n.shape):null}const ur=H.z.object({type:H.z.string(),name:um,input:xt.nullish(),inputs:H.z.record(H.z.string(),xt.nullish()).nullish(),output:xt.nullish(),outputs:H.z.record(H.z.string(),xt.nullish()).nullish()}).loose().superRefine((e,n)=>{rk(e,n)}),Fj=H.z.object({type:H.z.string(),name:H.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}),uk.includes(r)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${r}", expected one of: ${uk.join(", ")}`})}),Uj=ur.safeExtend({type:H.z.literal("call"),method:lk.nullish(),ssl_server_name:H.z.string().nullish(),ssl_verify:H.z.boolean().nullish(),timeout:H.z.union([H.z.number(),H.z.string()]).nullish(),url:H.z.string().nullish(),inputs:dk.nullish(),outputs:H.z.object({body:xt.nullish(),headers:xt.nullish(),status:xt.nullish()}).partial().nullish()}).strict(),Kj=ur.safeExtend({type:H.z.literal("exit"),status:H.z.union([H.z.number(),H.z.string()]).nullish(),warn_headers_sent:H.z.boolean().nullish(),inputs:fk.nullish(),output:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),qj=ur.safeExtend({type:H.z.literal("jq"),jq:H.z.string().nullish(),outputs:H.z.never().nullish()}).strict(),Gj=ur.safeExtend({type:H.z.literal("xml_to_json"),recognize_type:H.z.boolean().nullish(),attributes_block_name:H.z.string().nullish(),attributes_name_prefix:H.z.string().nullish(),text_block_name:H.z.string().nullish(),text_as_property:H.z.boolean().nullish(),xpath:H.z.string().nullish(),inputs:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),Hj=ur.safeExtend({type:H.z.literal("json_to_xml"),attributes_block_name:H.z.string().nullish(),attributes_name_prefix:H.z.string().nullish(),root_element_name:H.z.string().nullish(),text_block_name:H.z.string().nullish(),inputs:H.z.record(H.z.string(),xt.nullish()).nullish(),outputs:H.z.never().nullish()}).strict(),zj=ur.safeExtend({type:H.z.literal("property"),content_type:H.z.string().nullish(),property:H.z.string().nullish(),inputs:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),Wj=ur.safeExtend({type:H.z.literal("static"),values:H.z.record(H.z.string(),H.z.unknown()).nullish(),input:H.z.never().nullish(),inputs:H.z.never().nullish()}).strict(),Yj=ur.safeExtend({type:H.z.literal("cache"),bypass_on_error:H.z.boolean().nullish(),inputs:pk.nullish(),outputs:H.z.object({data:xt.nullish(),hit:xt.nullish(),miss:xt.nullish(),stored:xt.nullish()}).partial().nullish(),ttl:H.z.union([H.z.number(),H.z.string()]).nullish()}).strict(),Jj=ur.safeExtend({type:H.z.literal("jwt_decode"),inputs:H.z.never().nullish(),outputs:H.z.object({header:xt.nullish(),payload:xt.nullish(),signature:xt.nullish()}).partial().nullish()}).strict(),Xj=ur.safeExtend({type:H.z.literal("jwt_sign"),algorithm:H.z.enum(qp).nullish(),expires_in:H.z.union([H.z.number(),H.z.string()]).nullish(),inputs:mk.nullish(),kid:H.z.string().nullish(),not_before:H.z.union([H.z.number(),H.z.string()]).nullish(),outputs:H.z.object({claims:xt.nullish(),header:xt.nullish(),token:xt.nullish()}).partial().nullish(),static_claims:H.z.record(H.z.string(),H.z.string()).nullish(),typ:H.z.string().nullish()}).strict(),Zj=ur.safeExtend({type:H.z.literal("jwt_verify"),allowed_algorithms:H.z.array(H.z.enum(qp)).nullish(),audiences:H.z.array(H.z.string()).nullish(),inputs:hk.nullish(),issuers:H.z.array(H.z.string()).nullish(),leeway:H.z.union([H.z.number(),H.z.string()]).nullish(),outputs:H.z.object({claims:xt.nullish(),header:xt.nullish()}).partial().nullish(),required_claims:H.z.array(H.z.string()).nullish(),validate_exp:H.z.boolean().nullish(),validate_nbf:H.z.boolean().nullish()}).strict(),Qj=ur.safeExtend({type:H.z.literal("branch"),then:H.z.array(um).nullish(),else:H.z.array(um).nullish()}).strict(),eF=Fj.pipe(H.z.discriminatedUnion("type",[Uj,Kj,qj,Gj,Hj,Jj,Xj,Zj,zj,Wj,Yj,Qj])),tF=H.z.record(H.z.string(),H.z.string()),nF=H.z.object({dictionary_name:H.z.string().nullish()}),rF=H.z.object(),oF=H.z.object({strategy:H.z.enum(["memory","redis"]).nullish(),memory:nF.nullish(),redis:rF.nullish()}),iF=H.z.object({vault:tF.nullish(),cache:oF.nullish()}),gk=H.z.object({nodes:H.z.array(eF).nullish(),debug:H.z.boolean().nullish(),resources:iF.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||ok(e,oa,n)}).nullish(),yk=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{},nodeType:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=yt(),{i18n:r}=et(),o=t.computed(()=>{const i=n("inputs");if(!i)return[];const a=i.fields.map(l=>Object.keys(l)[0]);if($n(e.nodeType))return a;const s=jj(e.nodeType);return s===null?a:s.length===0?[]:dO(a,s)});return(i,a)=>(t.openBlock(),t.createBlock(Jt,{"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(qt,{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"]))}}),aF=["data-testid"],sF={class:"dk-inputs-map-field-entry-body"},lF={class:"dk-inputs-map-field-entry-content"},cF=Re(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:u}=Wf(t.toRef(r,"name")),{value:f}=Yt(t.toRef(r,"name")),{i18n:{t:d}}=et(),m=t.useTemplateRef("root"),p=t.ref(null),h=t.ref({}),g=t.ref({});let y;const b=t.computed(()=>{var N;return(N=r.keyOrder)!=null&&N.length?[...i.value].sort((O,B)=>{const A=r.keyOrder.indexOf(O[1]),q=r.keyOrder.indexOf(B[1]);return(A===-1?1/0:A)-(q===-1?1/0:q)}):i.value});async function _(N,O="key"){var B;m.value&&(await t.nextTick(),(B=m.value.querySelector(`[data-${O}-input="${N}"]`))==null||B.focus())}function C(){const N=a();if(!N)return;g.value[N]="";const O=b.value.findIndex(([,B])=>!B);_(O===-1?b.value.length-1:O),p.value=N}function k(N,O){s(N),delete g.value[N],delete h.value[N],N===p.value&&(p.value=null),O.trim()!==""&&o("remove:field",O)}function E(N){y=g.value[N]??c(N)??""}function w(N,O){const B=O.trim();g.value[N]=B,T(N,B)}function x(N){var B;const O=g.value[N]??c(N)??"";if(T(N,O)){g.value[N]=y,l(N,y),delete h.value[N];return}if(N===p.value){if(O.trim()==="")return;l(N,O),o("add:field",O,((B=f==null?void 0:f.value)==null?void 0:B[N])??null),p.value=null}else l(N,O),o("rename:field",y,O);delete h.value[N],y=O}function T(N,O){delete h.value[N];const B=r.fieldNameValidator("input",y,O);if(B)return h.value[N]=B,B}function M(N){T(N,g.value[N]??c(N)??"")}function v(N,O){if(f!=null&&f.value&&(f.value[N]=O),N===p.value)return;const B=c(N);B&&o("change:inputs",B,O)}return t.watch(i,N=>{const O=new Set(N.map(([B])=>B));Object.keys(g.value).forEach(B=>{O.has(B)?g.value[B]=g.value[B]??c(B)??"":(delete g.value[B],delete h.value[B])}),N.forEach(([B,A])=>{g.value[B]=g.value[B]??A}),p.value&&!O.has(p.value)&&(p.value=null)},{immediate:!0}),t.watch(()=>r.keyOrder,()=>{if(!p.value)return;const N=b.value.findIndex(([O])=>O===p.value);N!==-1&&_(N)}),(N,O)=>{const B=t.resolveComponent("KAlert"),A=t.resolveComponent("KLabel"),q=t.resolveComponent("KInput"),z=t.resolveComponent("KSelect"),Y=t.resolveComponent("KButton");return t.unref(u).error?(t.openBlock(),t.createBlock(B,{key:0,appearance:"danger",message:t.unref(u).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,([K,U],j)=>{var L;return t.openBlock(),t.createElementBlock("div",{key:K,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(u).path.value}.${j}`},[t.createVNode(A,{for:`ff-kv-entry-key-${t.unref(u).path.value}.${j}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:1},8,["for"]),t.createElementVNode("div",sF,[t.createElementVNode("div",lF,[t.createVNode(q,{id:`ff-kv-entry-key-${t.unref(u).path.value}.${j}`,class:"ff-kv-field-entry-key","data-key-input":j,"data-testid":`ff-key-${t.unref(u).path.value}.${j}`,error:!!h.value[K],"error-message":h.value[K],"model-value":g.value[K]??U,placeholder:t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:G=>M(K),onChange:G=>x(K),onFocus:G=>E(K),"onUpdate:modelValue":G=>w(K,G)},null,8,["id","data-key-input","data-testid","error","error-message","model-value","placeholder","onBlur","onChange","onFocus","onUpdate:modelValue"]),t.createVNode(z,{class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(u).path.value}.${j}`,"enable-filtering":"",items:e.items,label:t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),"model-value":(L=t.unref(f))==null?void 0:L[K],placeholder:t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:G=>v(K,(G==null?void 0:G.value)??null)},t.createSlots({_:2},[N.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:G})=>[t.renderSlot(N.$slots,"item-label",t.mergeProps({ref_for:!0},G),void 0,!0)]),key:"0"}:void 0]),1032,["data-testid","items","label","model-value","placeholder","onChange"])]),t.createVNode(Y,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(u).path.value}.${j}`,icon:"",onClick:G=>k(K,U)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.CloseIcon))]),_:1},8,["data-testid","onClick"])])],8,aF)}),128)),t.createVNode(Y,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(u).path.value}`,disabled:!!p.value,onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-43dcb370"]]),uF={class:"dk-source-item"},lu=Re(t.defineComponent({__name:"SourceItem",props:{item:{}},setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock("span",uF,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Gp)(e.item.type).icon),{color:t.unref(Tr),size:t.unref(Za)},null,8,["color","size"])),t.createTextVNode(" "+t.toDisplayString(e.item.label),1)]))}}),[["__scopeId","data-v-82f17c56"]]),dF={key:1,class:"dk-inputs-field-or"},Jn=Re(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}=yt(),{i18n:{t:i}}=et(),a=t.computed(()=>o("inputs")),s=t.computed(()=>a.value?a.value.type==="record"?yk:cF:null);function l(m){r("change:input",m?m.value:null)}function c(m,p){r("add:field",m,p)}function u(m,p){r("change:inputs",m,p)}function f(m){r("remove:field",m)}function d(m,p){r("rename:field",m,p)}return(m,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(Ke.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(qt,{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(m.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(h)),()=>[t.createVNode(lu,{item:h},null,8,["item"])],!0)]),_:3},8,["items","label","placeholder"])):t.createCommentVNode("",!0),s.value?(t.openBlock(),t.createElementBlock("div",dF,[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(Ke.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===yk?{nodeType:e.nodeType}:{fieldNameValidator:e.fieldNameValidator},{"onAdd:field":c,"onChange:inputs":u,"onRemove:field":f,"onRename:field":d}),{"item-label":t.withCtx(h=>[t.createVNode(lu,{item:h},null,8,["item"])]),_:1},16,["items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-4f1ce4e7"]]),fF={},pF={class:"dk-node-form-divider"};function mF(e,n){return t.openBlock(),t.createElementBlock("hr",pF)}const kr=Re(fF,[["render",mF],["__scopeId","data-v-35ed58be"]]),hF={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"},gF={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 yF(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function Ln(...e){return function(r){for(const o of e){const i=o(r);if(i)return i}}}function oi(e){const{i18n:{t:n}}=et(),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 _k(e,n){const{i18n:{t:r}}=et();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 no(e=0,n=1/0,r){const{i18n:{t:o}}=et();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 bk(e){const{i18n:{t:n}}=et();return function(o){if(!yF(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 fa(e,n){const{i18n:{t:r}}=et();return function(i){if(i==null)return;const a=bk(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 pa(e=-1/0,n=1/0,r){const{i18n:{t:o}}=et();return function(a){if(a==null)return;const s=bk(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 _F(e,n){const{state:r}=Kt(),{i18n:{t:o}}=et();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 bF(e,n,r){const{i18n:{t:o}}=et();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 wF(){const{i18n:{t:e}}=et();return function(r){if(Wp(r))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:r})}}function wk(e){const{i18n:{t:n}}=et(),r={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return Ln(oi(r),_k("identifier",r),wF(),_F(e,r))}function kF(e){const{i18n:{t:n}}=et(),{getNodeById:r}=Kt();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 Ln(oi(l),bF(i,r(e),s))(a)}}function CF(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=d=>{const m=typeof d=="function"?d():d,p=l(m);return n.value[s]=p,p},u=()=>{n.value[s]=void 0},f=d=>(u(),c(d));o[s]={handleChange:f,handleBlur:f,validate:f,isValid:t.computed(()=>n.value[s]===void 0),error:t.computed(()=>n.value[s])}});function i(){n.value={}}function a(s){var l;for(const c of Object.keys(e)){const u=s[c],f=typeof u=="function"?u():u;(l=o[c])==null||l.validate(f)}return n.value}return{isValid:r,errorMap:n,fields:o,clearErrors:i,validate:a}}function ro(e){const{validationConfig:n,getValidationData:r,toggleNodeValid:o}=e,{skipValidation:i}=Kt(),a=t.computed(()=>typeof n=="function"?n():n),s=t.computed(()=>CF(a.value)),l=t.computed(()=>s.value.fields),c=t.computed(()=>s.value.isValid.value);function u(){const d=r(),m=s.value.validate(d),p={};for(const h in a.value)p[h]=m[h];return p}function f(d,m){const p=()=>{const g=r(),y=l.value[d];y&&y.handleBlur(g[d])},h=()=>{m==null||m();const g=r(),y=l.value[d];y&&y.handleChange(g[d])};return t.computed(()=>{const g=l.value[d];return{validate:p,update:h,error:g?!g.isValid.value:!1,errorMessage:g?g.error.value??"":""}})}return t.onMounted(()=>{i.value?i.value=!1:u()}),t.onBeforeUnmount(async()=>{try{const d=u(),m=Object.values(d).filter(Boolean).length>0;o(!m)}catch{}}),t.watch(()=>c.value,o,{immediate:!0}),{fields:l.value,isValid:c,validateAll:u,createFieldHandler:f}}function Dn(e,n){const{state:r,renameNode:o,getNodeById:i,addField:a,renameField:s,removeField:l,replaceConfig:c,disconnectEdge:u,connectEdge:f,invalidConfigNodeIds:d,commit:m,revert:p}=Kt(),{i18n:{t:h}}=et(),g=W0(),y=t.computed(()=>{const K=i(e);if(!K)throw new Error("Node not existed");return K}),b=t.computed(()=>{const U=r.value.edges.filter(j=>j.target===e).reduce((j,L)=>{var P,V;const G=i(L.source),F=(P=Io(G,"output",L.sourceField))==null?void 0:P.id,$=(V=Io(y.value,"input",L.targetField))==null?void 0:V.name,S=G.id+(F?`.${F}`:"");return $?j.inputs={...j.inputs,[$]:S}:j.input=S,j},{});return y.value.fields.input.forEach(j=>{U.inputs||(U.inputs={}),U.inputs[j.name]||(U.inputs[j.name]=null)}),{...y.value.config,...U,name:y.value.name}}),_=K=>{o(e,K??"",!0,`${e}:rename`)},C=(K,U=!0)=>{if(!n)throw new Error("getFormValue is not defined");const j=wo(n(),["name","input","inputs"]),L=K?`update:${e}:${K}`:void 0;c(e,j,U,L)},k=(K,U)=>{const j=vo(y.value,K,U);if(!j)throw new Error(`Field with name "${U}" not found in node "${y.value.name}"`);return j},E=(K,U,j)=>{const L=!!j;a(e,K,U,!L),L&&v(U,j)},w=(K,U,j)=>{const L=k(K,U).id;s(e,L,j)},x=(K,U)=>{const j=k(K,U).id;l(e,j)},T=t.computed(()=>r.value.edges.filter(K=>K.target===e&&!K.targetField)[0]),M=t.computed(()=>r.value.edges.filter(K=>K.target===e&&K.targetField)),v=async(K,U)=>{const j=U==null,L=k("input",K).id;if(j){const oe=M.value.find(de=>de.targetField===L);oe&&u(oe.id);return}const{nodeId:G,fieldId:F}=A0(U),$=k("input",K).id,S=[];T.value&&(S.push(Fs(T.value,i)),u(T.value.id,!1));const P=M.value.find(oe=>oe.targetField===L);P&&(S.push(Fs(P,i)),u(P.id,!1)),f({source:G,sourceField:F,target:e,targetField:$},!1);const V=om(G,F,e,$,i),W=S[0]&&V?S[0][1]===V[1]:!1;if(m(),W||S.length===0)return;await g(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[V],S)||p()},N=async K=>{if(K==null){T.value&&u(T.value.id);return}const j=[];for(const S of M.value)j.push(Fs(S,i)),u(S.id,!1);T.value&&u(T.value.id,!1);const{nodeId:L,fieldId:G}=A0(K);f({source:L,sourceField:G,target:e,targetField:void 0},!1);const F=om(L,G,e,void 0,i);if(m(),j.length===0)return;await g(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[F],j)||p()},O=K=>{const U=[...r.value.edges,{source:K,target:e}];return Qp(Jc(U))},B=t.computed(()=>{var U,j;const K=[];for(const L of r.value.nodes)if((U=la(L.type).io)!=null&&U.output&&L.fields.output&&L.id!==e&&!(L.type==="property"&&!nm((j=L.config)==null?void 0:j.property))&&!O(L.id)&&!(y.value.phase==="request"&&L.phase==="response")&&!(L.type==="vault"&&L.fields.output.length===0)){K.push({value:L.id,label:L.name,type:L.type});for(const F of L.fields.output)K.push({value:`${L.id}.${F.id}`,label:`${L.name}.${F.name}`,type:L.type})}return K}),A=t.computed(()=>y.value.fields.input.map(K=>K.name)||[]);function q(K){d.value.delete(e),K||d.value.add(e)}const z=kF(e);function Y(K,U,j){const L=i(e);if(!L)throw new Error("Node not found when validating field name");const G=vo(L,K,U);return z(K,j,G==null?void 0:G.id)}return{formData:b,inputOptions:B,inputEdge:T,inputsEdges:M,inputsFieldNames:A,currentNode:y,setName:_,setConfig:C,addField:E,renameFieldByName:w,removeFieldByName:x,setInputs:v,setInput:N,nameValidator:wk(e),fieldNameValidator:Y,toggleNodeValid:q}}function Mn(e){const{getSchema:n}=yt();return t.computed(()=>{if($n(e))switch(e){case"response":return gF;case"service_request":return hF}try{const o=n().fields.find(u=>lc(u,"config"));if(!o)throw new Error("Config field not found in schema.");const a=o.config.fields.find(u=>lc(u,"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 dr=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=et(),a=t.ref(r.name),s=t.computed(()=>{const f=r.validate(a.value.trim());return f===void 0?"":f});let l=a.value.trim();function c(){if(s.value){a.value=l;return}o("update",a.value.trim())}function u(){l=a.value.trim()}return t.watch(()=>r.name,f=>{f!==a.value&&(a.value=f)}),(f,d)=>{const m=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(m,{"model-value":a.value,"onUpdate:modelValue":d[0]||(d[0]=p=>a.value=p),"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:u},null,8,["model-value","error","error-message","label"])}}}),EF=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=et(),r=t.useTemplateRef("form"),o=Mn("call"),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>r.value.getValue()),{createFieldHandler:h}=ro({validationConfig:{url:Ln(oi({fieldName:"URL"}),_k("url",{fieldName:"URL"})),timeout:Ln(fa("integer"),pa(0,2147483646))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:m}),g=h("url",()=>s("url")),y=h("timeout",()=>s("timeout"));return(b,_)=>{const C=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(C,{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(_t,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"url",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ij,{name:"method",onUpdate:_[0]||(_[0]=k=>t.unref(s)())}),t.createVNode(rn,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"timeout",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(_t,{name:"ssl_server_name","onUpdate:modelValue":_[1]||(_[1]=k=>t.unref(s)("ssl_server_name"))}),t.createVNode(ir,{name:"ssl_verify","onUpdate:modelValue":_[2]||(_[2]=k=>t.unref(s)("ssl_verify"))}),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"call","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),NF=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("service_request"),{formData:o,inputOptions:i,setInputs:a,setInput:s,inputsFieldNames:l,fieldNameValidator:c}=Dn(e.nodeId,()=>n.value.getValue());return(u,f)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Jn,{"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"]))}}),xF=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("response"),{formData:o,inputOptions:i,setInputs:a,setInput:s,inputsFieldNames:l,fieldNameValidator:c}=Dn(e.nodeId,()=>n.value.getValue());return(u,f)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Jn,{"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"]))}}),SF=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:r}=et(),o=t.useTemplateRef("form"),i=Mn("jq"),{formData:a,setName:s,setConfig:l,inputOptions:c,setInputs:u,setInput:f,addField:d,removeFieldByName:m,renameFieldByName:p,inputsFieldNames:h,nameValidator:g,toggleNodeValid:y,fieldNameValidator:b}=Dn(e.nodeId,()=>o.value.getValue());function _(T,M){d("input",T,M)}function C(T){m("input",T)}function k(T,M){p("input",T,M)}const E=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:w}=ro({validationConfig:{jq:Ln(oi({fieldName:E}),no(1,10240,{fieldName:E}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:y}),x=w("jq",()=>l("jq"));return(T,M)=>{const v=t.resolveComponent("KLabel"),N=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(a).name,validate:t.unref(g),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(v,{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(_t,{autosize:"",error:t.unref(x).error,"error-message":t.unref(x).errorMessage,label:t.unref(E),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(x).validate,"onUpdate:modelValue":t.unref(x).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(N,{"hide-icon":"",href:t.unref(Bs).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(Bs).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(b),"field-names":t.unref(h),items:t.unref(c),"node-type":"jq","onAdd:field":_,"onChange:input":t.unref(f),"onChange:inputs":t.unref(u),"onRemove:field":C,"onRename:field":k},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),AF=Re(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}=Yt("values"),{i18n:l}=et(),c=t.useTemplateRef("root"),u=t.ref([]),f=t.ref(null);let d="",m=a==null?void 0:a.value;function p(){return cc("ff-kv-field-")}function h(v,N,O){const B=O.indexOf(v),A=O.indexOf(N);return B===-1&&A===-1?0:B===-1?1:A===-1?-1:B-A}function g(v,N){if(!v)return[];const O=Object.entries(v).map(([B,A])=>({id:p(),key:B,value:A}));return N!=null&&N.length&&O.sort((B,A)=>h(B.key,A.key,N)),O}function y(){const v={id:p(),key:"",value:""};return u.value.push(v),v}function b(v){const N=u.value.findIndex(O=>O.id===v);N!==-1&&u.value.splice(N,1)}u.value=g(a==null?void 0:a.value,r.keyOrder);async function _(v,N="key"){var O;c.value&&(await t.nextTick(),(O=c.value.querySelector(`[data-${N}-input="${v}"]`))==null||O.focus())}function C(){const v=y(),N=u.value.findIndex(({key:O})=>!O);_(N===-1?u.value.length-1:N),f.value=v}function k(v){var N;v.id===((N=f.value)==null?void 0:N.id)&&(f.value=null),b(v.id),v.key.trim()!==""&&o("remove:field",v.key)}function E(v){d=v.key}function w(v){var N;if(T(v)){v.key=d,delete i.value[v.id];return}if(v.id===((N=f.value)==null?void 0:N.id)){if(v.key.trim()==="")return;f.value=null,o("add:field",v.key,v.value)}else o("rename:field",d,v.key);d=v.key}function x(v,N){var B;if(N.id===((B=f.value)==null?void 0:B.id))return;const O=v.target.value.trim();o("change:value",N.key,O)}function T(v){delete i.value[v.id];const N=r.fieldNameValidator("output",d,v.key);if(N)return i.value[v.id]=N,N}function M(v){T(v)}return t.watch(()=>a==null?void 0:a.value,v=>{var z;if(fn(v,m))return;m=v;const N=f.value,O=new Map(u.value.filter(Y=>Y.key).map(Y=>[Y.key,Y])),B=[],A=v??{};((z=r.keyOrder)!=null&&z.length?Object.keys(A).sort((Y,K)=>h(Y,K,r.keyOrder)):Object.keys(A)).forEach(Y=>{const K=O.get(Y);if(K){K.value=A[Y],B.push(K);return}B.push({id:p(),key:Y,value:A[Y]})}),N&&!B.some(Y=>Y.id===N.id)&&B.push(N),u.value=B},{deep:!0}),(v,N)=>{const O=t.resolveComponent("KAlert"),B=t.resolveComponent("KLabel"),A=t.resolveComponent("KButton"),q=t.resolveComponent("KInput"),z=t.resolveComponent("KCard");return s.error?(t.openBlock(),t.createBlock(O,{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(B,{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(u.value,(Y,K)=>(t.openBlock(),t.createBlock(z,{key:Y.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${s.path.value}.${K}`},{actions:t.withCtx(()=>[t.createVNode(A,{appearance:"none","data-testid":`ff-kv-remove-btn-${s.path.value}.${K}`,icon:"",onClick:U=>k(Y)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.CloseIcon))]),_:1},8,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(q,{id:`ff-kv-entry-key-${s.path.value}.${K}`,modelValue:Y.key,"onUpdate:modelValue":[U=>Y.key=U,U=>T(Y)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":K,"data-testid":`ff-key-${s.path.value}.${K}`,error:!!i.value[Y.id],"error-message":i.value[Y.id],label:t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:U=>M(Y),onChange:U=>w(Y),onFocus:U=>E(Y)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(q,{modelValue:Y.value,"onUpdate:modelValue":U=>Y.value=U,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${s.path.value}.${K}`,label:t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:U=>x(U,Y)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(A,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${s.path.value}`,disabled:!!f.value,onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.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 vF(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 cu(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 IF(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 TF=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:r,addField:o,renameField:i,removeField:a,replaceConfig:s,getNodeById:l}=Kt(),{fieldNameValidator:c}=Dn(e.nodeId),u=Mn("static"),f=wk(e.nodeId),d=t.computed(()=>l(e.nodeId)),m=t.computed(()=>{var C;return((C=d.value)==null?void 0:C.fields.output.map(k=>k.name))||[]});function p(C){if(!d.value)throw new Error("No current node");n(d.value.id,C??"")}const h=t.computed(()=>{var M;if(!d.value)return{};const C=((M=d.value.config)==null?void 0:M.values)??{},k={},E=r(d.value.id).map(v=>v.sourceField).filter(Boolean).map(v=>Io(d.value,"output",v)).map(v=>v==null?void 0:v.name).filter(Boolean),w=d.value.fields.output.map(v=>v.name),x=Object.keys(C);return new Set([...x,...E,...w]).forEach(v=>{if(v in C){k[v]=C[v];return}k[v]=""}),{name:d.value.name,values:vF(k)}});function g(C,k){if(!d.value)throw new Error("No selected node");const E=k!==void 0;if(o(e.nodeId,"output",C,!E),E){const w={values:cu({...h.value.values,[C]:k})};s(e.nodeId,w)}}function y(C,k){if(!d.value)throw new Error("No selected node");const E=vo(d.value,"output",C);if(!E)throw new Error("No field found to rename");const w={values:cu(IF(h.value.values??{},C,k))};s(e.nodeId,w,!1),i(e.nodeId,E.id,k)}function b(C){var w;if(!d.value)throw new Error("No selected node");const k=vo(d.value,"output",C);if(!k)throw new Error("No field found to delete");a((w=d.value)==null?void 0:w.id,k.id,!0,!1);const E={values:cu({...h.value.values})};delete E.values[C],s(e.nodeId,E)}function _(C,k){if(!d.value)throw new Error("No selected node");const E={...h.value.values};E[C]=k;const w={values:cu(E)};s(e.nodeId,w)}return(C,k)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:h.value,schema:t.unref(u)},{default:t.withCtx(()=>{var E;return[t.createVNode(dr,{name:((E=d.value)==null?void 0:E.name)??"",validate:t.unref(f),onUpdate:p},null,8,["name","validate"]),t.createVNode(AF,{"field-name-validator":t.unref(c),"key-order":m.value,"onAdd:field":g,"onChange:value":_,"onRemove:field":b,"onRename:field":y},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),OF={class:"dk-kong-property-item"},BF={class:"property-type"},PF={class:"property-badges"},VF=Re(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:r}}=et(),o=e,i=n,{formData:a}=yt(),s=t.ref(Ms(a.property)),l=t.computed(()=>js(a.property)),c=t.ref(tm(a.property)),u=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(ri).map(([p])=>{var y;const h=js(p)?(y=a.property)==null?void 0:y.startsWith(p.replace(ua,"")):a.property===p;return{label:h&&c.value?p.replace(ua,c.value):p,value:p,selected:h}}));function d(p){const h=eu.find(g=>{var y;return(y=a.property)==null?void 0:y.startsWith(g)});h&&(a.property=h+p,o.validators.key.handleChange(a.property),i("update:property-key",a.property))}function m(p){s.value!==Ms(p==null?void 0:p.value)&&(a.property=(p==null?void 0:p.value)||null,s.value=Ms(a.property),o.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,p=>{c.value=tm(p),s.value=Ms(p)}),(p,h)=>{const g=t.resolveComponent("KBadge"),y=t.resolveComponent("KSelect"),b=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(y,{key:u.value,"enable-filtering":"",error:!e.validators.property.isValid.value,help:e.validators.property.error.value,items:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=_=>e.validators.property.handleBlur(()=>t.unref(a).property)),onChange:m},{"item-template":t.withCtx(({item:_})=>[t.createElementVNode("div",OF,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(_.label),1),t.createElementVNode("div",BF,t.toDisplayString(t.unref(ri)[_.value].dataType),1)]),t.createElementVNode("div",PF,[t.unref(ri)[_.value].readable?(t.openBlock(),t.createBlock(g,{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(ri)[_.value].writable?(t.openBlock(),t.createBlock(g,{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"])),l.value?(t.openBlock(),t.createBlock(b,{key:0,"model-value":c.value,"onUpdate:modelValue":[h[1]||(h[1]=_=>c.value=_),d],error:!e.validators.key.isValid.value,"error-message":e.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=_=>e.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-3e7fee25"]]),RF=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:r,disconnectInEdges:o,disconnectOutEdges:i}=Kt(),a=Mn("property"),{formData:s,setName:l,setConfig:c,inputOptions:u,setInputs:f,setInput:d,inputsFieldNames:m,nameValidator:p,toggleNodeValid:h,fieldNameValidator:g}=Dn(e.nodeId,()=>n.value.getValue()),y=t.computed(()=>rm(s.value.property));function b(C){var E;const k=(E=r.value)==null?void 0:E.id;if(!k)throw new Error("Expected selectedNode to be defined");nm(C)||i(k,!1),rm(C)||o(k,!1),c()}const{fields:_}=ro({validationConfig:()=>({property:oi({fieldName:"Property"}),key:js(s.value.property)?oi({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:s.value.property,key:tm(s.value.property)}),toggleNodeValid:h});return(C,k)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(s),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(s).name,validate:t.unref(p),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(qt,{name:"content_type",onUpdate:k[0]||(k[0]=E=>t.unref(c)())}),t.createVNode(VF,{validators:t.unref(_),"onUpdate:modelValue":b,"onUpdate:propertyKey":k[1]||(k[1]=E=>t.unref(c)("property-key"))},null,8,["validators"]),y.value?(t.openBlock(),t.createBlock(kr,{key:0})):t.createCommentVNode("",!0),y.value?(t.openBlock(),t.createBlock(Jn,{key:1,"field-name-validator":t.unref(g),"field-names":t.unref(m),items:t.unref(u),"node-type":"property","onChange:input":t.unref(d),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),$F=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("exit"),{formData:o,setName:i,setConfig:a,inputOptions:s,setInputs:l,setInput:c,inputsFieldNames:u,nameValidator:f,toggleNodeValid:d,fieldNameValidator:m}=Dn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:p}=ro({validationConfig:{status:Ln(fa("integer",{fieldName:"Status"}),pa(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:o.value.status}),toggleNodeValid:d}),h=p("status",()=>a("status"));return(g,y)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(o).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(rn,{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(ir,{name:"warn_headers_sent","onUpdate:modelValue":y[0]||(y[0]=b=>t.unref(a)())}),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),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 LF(e){const n=Dn(e),{state:r,getNodeById:o,branchGroups:i,commit:a}=Kt(),{i18n:{t:s}}=et(),l=W0(),c=Jf(),u=t.computed(()=>{var C;const b={...n.formData.value},_=Ls(((C=n.currentNode.value)==null?void 0:C.type)||"branch");for(const k of _)(!(k in b)||b[k]==null)&&(b[k]=[]);return b});function f(b,_,C){const k=o(b),E=o(C),w=k?`${k.name}.${_}`:`${b}.${_}`,x=E?E.name:C;return[w,x]}function d(b){return(b==null?[]:Array.isArray(b)?b:[b]).filter(_=>Yp(_))}function m(b,_){return i.wouldCreateCycle(b,_)?(c({message:s("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function p(b,_,C){const k=[],E=[],w=[];for(const x of C){const T=i.findMembership(x);if(!T||T.ownerId===b&&T.branch===_)continue;const M=i.getMembers(T.ownerId,T.branch).filter(v=>v!==x);w.push({ownerId:T.ownerId,branch:T.branch,members:M}),k.push(f(b,_,x)),E.push(f(T.ownerId,T.branch,x))}return{conflictUpdates:w,addedAssignments:k,removedAssignments:E}}function h(b,_,C,k){let E=!1;for(const w of k)E=i.setMembers(w.ownerId,w.branch,w.members,{commit:!1})||E;return E=i.setMembers(b,_,C,{commit:!1})||E,E}async function g(b,_){const C=n.currentNode.value,k=d(_),E=i.prepareMembers(C.id,b,k),w=i.getMembers(C.id,b);if(Jp(w,E))return!0;const x=E.filter(O=>!w.includes(O));for(const O of x)if(m(C.id,O))return!1;const{conflictUpdates:T,addedAssignments:M,removedAssignments:v}=p(C.id,b,x);return T.length>0&&!await l(s("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),M,v)?!1:(h(C.id,b,E,T)&&a(),!0)}const y=t.computed(()=>{const b=n.currentNode.value;return!b||!i?[]:r.value.nodes.filter(_=>_.id!==e&&!$n(_.type)&&_.phase===b.phase&&!i.wouldCreateCycle(b.id,_.id)).map(_=>({value:_.id,label:_.name,type:_.type}))});return{...n,formData:u,branchOptions:y,updateBranchMembers:g}}const DF=t.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=et(),r=Mn("branch"),o=t.ref(0),{formData:i,setName:a,inputOptions:s,branchOptions:l,nameValidator:c,setInput:u,setInputs:f,inputsFieldNames:d,fieldNameValidator:m,updateBranchMembers:p}=LF(e.nodeId);async function h(g,y){await p(g,y)||(o.value+=1)}return(g,y)=>(t.openBlock(),t.createBlock(mn,{key:o.value,data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(c),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(qt,{"enable-filtering":"",items:t.unref(l),multiple:"",name:"then",onUpdate:y[0]||(y[0]=b=>h("then",b))},{"item-label":t.withCtx(b=>[t.createVNode(lu,{item:b},null,8,["item"])]),_:1},8,["items"]),t.createVNode(qt,{"enable-filtering":"",items:t.unref(l),multiple:"",name:"else",onUpdate:y[1]||(y[1]=b=>h("else",b))},{"item-label":t.withCtx(b=>[t.createVNode(lu,{item:b},null,8,["item"])]),_:1},8,["items"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(m),"field-names":t.unref(d),items:t.unref(s),"node-type":"branch","onChange:input":t.unref(u),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),MF=t.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("cache"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:h}=ro({validationConfig:()=>({ttl:Ln(fa("integer",{fieldName:"TTL"}),pa(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:i.value.ttl}),toggleNodeValid:m}),g=h("ttl",()=>s("ttl"));return(y,b)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(ir,{name:"bypass_on_error","onUpdate:modelValue":b[0]||(b[0]=_=>t.unref(s)("bypass_on_error"))}),t.createVNode(rn,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"ttl",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"cache","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),jF=t.defineComponent({__name:"NodeFormXmlToJson",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("xml_to_json"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>n.value.getValue()),h=o("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),g=()=>!!(i.value.attributes_block_name||i.value.attributes_name_prefix),{createFieldHandler:y}=ro({validationConfig:()=>({attributes_block_name:Ln(()=>g()?void 0:h,T=>{if(T)return no(1,32,{fieldName:"Attributes block name"})(T)}),attributes_name_prefix:Ln(()=>g()?void 0:h,T=>{if(T)return no(1,32,{fieldName:"Attributes name prefix"})(T)}),text_block_name:no(1,32,{fieldName:"Text block name"}),xpath:no(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:m}),b=y("attributes_block_name",()=>s("attributes_block_name")),_=y("attributes_name_prefix",()=>s("attributes_name_prefix")),C=y("text_block_name",()=>s("text_block_name")),k=y("xpath",()=>s("xpath")),E=()=>{b.value.validate(),_.value.validate()},w=()=>{b.value.update(),_.value.validate()},x=()=>{_.value.update(),b.value.validate()};return(T,M)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(ir,{name:"recognize_type","onUpdate:modelValue":M[0]||(M[0]=v=>t.unref(s)("recognize_type"))}),t.createVNode(_t,{error:t.unref(b).error,"error-message":t.unref(b).errorMessage,name:"attributes_block_name",onBlur:E,"onUpdate:modelValue":w},null,8,["error","error-message"]),t.createVNode(_t,{error:t.unref(_).error,"error-message":t.unref(_).errorMessage,name:"attributes_name_prefix",onBlur:E,"onUpdate:modelValue":x},null,8,["error","error-message"]),t.createVNode(_t,{error:t.unref(C).error,"error-message":t.unref(C).errorMessage,name:"text_block_name",onBlur:t.unref(C).validate,"onUpdate:modelValue":t.unref(C).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ir,{name:"text_as_property","onUpdate:modelValue":M[1]||(M[1]=v=>t.unref(s)("text_as_property"))}),t.createVNode(_t,{error:t.unref(k).error,"error-message":t.unref(k).errorMessage,name:"xpath",onBlur:t.unref(k).validate,"onUpdate:modelValue":t.unref(k).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"xml_to_json","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),FF=t.defineComponent({__name:"NodeFormJsonToXml",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("json_to_xml"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,addField:f,removeFieldByName:d,renameFieldByName:m,inputsFieldNames:p,nameValidator:h,toggleNodeValid:g,fieldNameValidator:y}=Dn(e.nodeId,()=>n.value.getValue()),b=o("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),_=()=>!!(i.value.attributes_block_name||i.value.attributes_name_prefix),{createFieldHandler:C}=ro({validationConfig:{attributes_block_name:Ln(()=>_()?void 0:b,no(1,32,{fieldName:"Attributes block name"})),attributes_name_prefix:Ln(()=>_()?void 0:b,no(1,32,{fieldName:"Attributes name prefix"})),root_element_name:no(1,64,{fieldName:"Root element name"}),text_block_name:no(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:g}),k=C("attributes_block_name",()=>s("attributes_block_name")),E=C("attributes_name_prefix",()=>s("attributes_name_prefix")),w=C("root_element_name",()=>s("root_element_name")),x=C("text_block_name",()=>s("text_block_name"));function T(){k.value.validate(),E.value.validate()}function M(){k.value.update(),E.value.validate()}function v(){E.value.update(),k.value.validate()}function N(A,q){f("input",A,q)}function O(A){d("input",A)}function B(A,q){m("input",A,q)}return(A,q)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(h),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(_t,{error:t.unref(k).error,"error-message":t.unref(k).errorMessage,name:"attributes_block_name",onBlur:T,"onUpdate:modelValue":M},null,8,["error","error-message"]),t.createVNode(_t,{error:t.unref(E).error,"error-message":t.unref(E).errorMessage,name:"attributes_name_prefix",onBlur:T,"onUpdate:modelValue":v},null,8,["error","error-message"]),t.createVNode(_t,{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(_t,{error:t.unref(x).error,"error-message":t.unref(x).errorMessage,name:"text_block_name",onBlur:t.unref(x).validate,"onUpdate:modelValue":t.unref(x).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(y),"field-names":t.unref(p),items:t.unref(l),"node-type":"json_to_xml","onAdd:field":N,"onChange:input":t.unref(u),"onChange:inputs":t.unref(c),"onRemove:field":O,"onRename:field":B},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),UF=t.defineComponent({__name:"NodeFormJwtDecode",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("jwt_decode"),{formData:o,setName:i,inputOptions:a,setInputs:s,setInput:l,inputsFieldNames:c,nameValidator:u,fieldNameValidator:f}=Dn(e.nodeId,()=>n.value.getValue());return(d,m)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(o).name,validate:t.unref(u),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(f),"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"]))}}),KF=t.defineComponent({__name:"NodeFormJwtSign",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("jwt_sign"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>{const _={...n.value.getValue()};return(!_.static_claims||Object.keys(_.static_claims).length===0)&&delete _.static_claims,_}),{createFieldHandler:h}=ro({validationConfig:{algorithm:oi({fieldName:"Algorithm"}),expires_in:Ln(fa("integer",{fieldName:"Expires in"}),pa(1,1/0,{fieldName:"Expires in"})),not_before:Ln(fa("integer",{fieldName:"Not before"}),pa(0,1/0,{fieldName:"Not before"}))},getValidationData:()=>({algorithm:i.value.algorithm,expires_in:i.value.expires_in,not_before:i.value.not_before}),toggleNodeValid:m}),g=h("algorithm",()=>s("algorithm")),y=h("expires_in",()=>s("expires_in")),b=h("not_before",()=>s("not_before"));return(_,C)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(qt,{"enable-filtering":"",name:"algorithm",onUpdate:t.unref(g).update},null,8,["onUpdate"]),t.createVNode(rn,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"expires_in",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(rn,{error:t.unref(b).error,"error-message":t.unref(b).errorMessage,name:"not_before",onBlur:t.unref(b).validate,"onUpdate:modelValue":t.unref(b).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(_t,{name:"kid","onUpdate:modelValue":C[0]||(C[0]=k=>t.unref(s)("kid"))}),t.createVNode(_t,{name:"typ","onUpdate:modelValue":C[1]||(C[1]=k=>t.unref(s)("typ"))}),t.createVNode(Co,{label:t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.jwt.static_claims.label"),name:"static_claims",onLegacyValueChange:C[2]||(C[2]=k=>t.unref(s)("static_claims"))},null,8,["label"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"jwt_sign","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),qF=t.defineComponent({__name:"NodeFormJwtVerify",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("jwt_verify"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:h}=ro({validationConfig:{leeway:Ln(fa("integer",{fieldName:"Leeway"}),pa(0,1/0,{fieldName:"Leeway"}))},getValidationData:()=>({leeway:i.value.leeway}),toggleNodeValid:m}),g=h("leeway",()=>s("leeway"));return(y,b)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(qt,{"enable-filtering":"",multiple:"",name:"allowed_algorithms",onUpdate:b[0]||(b[0]=_=>t.unref(s)("allowed_algorithms"))}),t.createVNode(Yr,{name:"issuers",onAdd:b[2]||(b[2]=_=>t.unref(s)("issuers")),onRemove:b[3]||(b[3]=_=>t.unref(s)("issuers"))},{item:t.withCtx(({fieldName:_,autofocus:C})=>[t.createVNode(_t,{autofocus:C,name:_,"onUpdate:modelValue":b[1]||(b[1]=k=>t.unref(s)("issuers"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(Yr,{name:"audiences",onAdd:b[5]||(b[5]=_=>t.unref(s)("audiences")),onRemove:b[6]||(b[6]=_=>t.unref(s)("audiences"))},{item:t.withCtx(({fieldName:_,autofocus:C})=>[t.createVNode(_t,{autofocus:C,name:_,"onUpdate:modelValue":b[4]||(b[4]=k=>t.unref(s)("audiences"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(Yr,{name:"required_claims",onAdd:b[8]||(b[8]=_=>t.unref(s)("required_claims")),onRemove:b[9]||(b[9]=_=>t.unref(s)("required_claims"))},{item:t.withCtx(({fieldName:_,autofocus:C})=>[t.createVNode(_t,{autofocus:C,name:_,"onUpdate:modelValue":b[7]||(b[7]=k=>t.unref(s)("required_claims"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(rn,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"leeway",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ir,{name:"validate_exp","onUpdate:modelValue":b[10]||(b[10]=_=>t.unref(s)("validate_exp"))}),t.createVNode(ir,{name:"validate_nbf","onUpdate:modelValue":b[11]||(b[11]=_=>t.unref(s)("validate_nbf"))}),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"jwt_verify","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),GF=["innerHTML"],HF={key:1,class:"branch-note"},zF={class:"branch-label"},WF={class:"branch-text"},YF=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${F0}px`},offsetTop:{default:`${FD}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{t:n}=nn.createI18n("en-us",cn),{getNodeById:r,branchGroups:o}=Kt(),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 u=r(a.value.ownerId);return u?`${u.name}.${a.value.branch}`:""});function l(){e.nodeId&&o.removeMember(e.nodeId)}const c=t.computed(()=>{var u;switch((u=i.value)==null?void 0:u.type){case"call":return EF;case"service_request":return NF;case"response":return xF;case"jq":return SF;case"static":return TF;case"property":return RF;case"exit":return $F;case"branch":return DF;case"cache":return MF;case"xml_to_json":return jF;case"json_to_xml":return FF;case"jwt_decode":return UF;case"jwt_sign":return KF;case"jwt_verify":return qF;default:return null}});return(u,f)=>(t.openBlock(),t.createBlock(t.unref(Ke.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(jD),onClose:f[0]||(f[0]=d=>u.$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(aa)(i.value.type)},null,8,GF)):t.createCommentVNode("",!0),a.value?(t.openBlock(),t.createElementBlock("div",HF,[t.createElementVNode("span",zF,[t.createVNode(t.unref(Ie.ArrowSplitIcon),{color:t.unref(Tr),size:t.unref(Za)},null,8,["color","size"]),t.createElementVNode("span",WF,t.toDisplayString(s.value),1)]),t.createVNode(t.unref(Ke.KTooltip),{placement:"top",text:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")},{default:t.withCtx(()=>[t.createVNode(t.unref(Ke.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(Ie.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(Z0,{type:i.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),JF=Re(YF,[["__scopeId","data-v-251e5b7d"]]),XF={class:"dk-editor-content"},ZF={class:"main"},QF=Re(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:r}=Kt();function o(){n.value=!1}t.watch(r,a=>{a||o()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,s)=>{var l;return t.openBlock(),t.createElementBlock("div",XF,[t.createVNode(t.unref(oj)),t.createElementVNode("div",ZF,[t.createVNode(gM)]),t.createVNode(JF,{"node-id":(l=t.unref(r))==null?void 0:l.id,visible:t.unref(n),onClose:o},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-66331c5c"]]),eU={key:0,class:"dk-editor-modal"},tU=Re(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(l=>({v0a30a280:`${t.unref(MD)}px`,aee7cc1c:`${t.unref(j0)}px`}));const n=t.useModel(e,"open"),r=t.ref(!1),o=t.useTemplateRef("confirm-modal"),{clear:i}=Kt();N2(async(...l)=>{r.value=!0;const c=await o.value.open(...l);return r.value=!1,c});const a=Lt.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",eU,[t.createVNode(uM,{class:"nav",onBack:s}),t.createVNode(QF,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(aM,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-82b03578"]]),nU={class:"dk-flow-editor"},rU={class:"flow-panels-container"},oU={class:"overlay"},iU=Re(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:r}=nn.createI18n("en-us",cn),{formData:o,setValue:i,getValue:a}=yt(),s=n;function l(f,d,m,p){const h={...o.config,nodes:f};m!==void 0&&(h.resources=m);const g={...o.__ui_data,...d},y={...o,config:h,__ui_data:g};p!=null?y.partials=[{id:p}]:y.partials&&(y.partials=null),i(y),s("change",h,g)}const{modalOpen:c,setPendingFitView:u}=L0(a(),{onChange:l,isEditing:e.isEditing});return t.watch(c,()=>{u(!0)},{flush:"post"}),VD({enabled:c}),(f,d)=>{const m=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",nU,[t.createElementVNode("div",rU,[t.createVNode(sm,{inactive:t.unref(c),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",oU,[t.createVNode(m,{appearance:"secondary",class:"button-open-editor",onClick:d[0]||(d[0]=p=>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(Ie.ExpandIcon))]),_:1})])]),t.createVNode(tU,{open:t.unref(c),"onUpdate:open":d[1]||(d[1]=p=>t.isRef(c)?c.value=p:null)},null,8,["open"])])}}}),[["__scopeId","data-v-575018ff"]]),aU=["innerHTML"],sU={class:"dk-option-label"},lU=["innerHTML"],cU=pt({component:Re(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const{t:n}=nn.createI18n("en-us",cn),r=e,o=t.inject(it.FORMS_CONFIG),i=t.ref(!1);t.onMounted(()=>{i.value=!!document.querySelector("#plugin-form-page-actions")});const{editorMode:a}=Xc(),s=t.computed(()=>o.app!=="konnect"||u.value===!1?"code":a.value),l=t.computed(()=>o.app==="kongManager"?"code":s.value==="flow"?"form":"code"),c={flow:Ie.DesignIcon,code:Ie.CodeblockIcon},u=t.ref(!0),f=t.ref(""),d=t.computed(()=>{const k=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return k[0].disabled=!u.value,k}),m=t.computed(()=>{switch(s.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}}),p=t.computed(()=>u.value?"":n("plugins.free-form.datakit.flow_editor.disabled_tooltip",{reason:f.value,code:k=>`<code>${oO(k)}</code>`}));t.watch(s,()=>{var k;(k=r.onValidityChange)==null||k.call(r,{model:"config",valid:!0})});function h(){var k;(k=r.onValidityChange)==null||k.call(r,{model:"config",valid:!0})}function g(){h()}function y(k){return k.map(E=>typeof E=="number"?`[${E}]`:k.length&&typeof E=="string"&&E.includes(".")?`["${E}"]`:`.${E}`).join("").replace(/^\./,"")}function b(k){return k.issues.map(E=>`${y(E.path)} - ${E.message}`).join("; ")}function _(k){if(h(),o.app!=="konnect")return;const E=k==null?void 0:k.config,{success:w,error:x}=gk.safeParse(E);f.value=w||!x?"":b(x),u.value=w}function C(k){var E;f.value=k,u.value=!1,(E=r.onValidityChange)==null||E.call(r,{model:"config",valid:!1,error:k})}return(k,E)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(o).app==="konnect"?(t.openBlock(),t.createBlock(t.Teleport,{key:0,disabled:!i.value,to:"#plugin-form-page-actions"},[t.createVNode(t.unref(Ke.KSegmentedControl),{"data-testid":"datakit-editor-mode-switcher","model-value":s.value,options:d.value,"onUpdate:modelValue":E[0]||(E[0]=w=>a.value=w)},{"option-label":t.withCtx(({option:w})=>[t.createVNode(t.unref(Ke.KTooltip),{disabled:u.value||w.value!=="flow"},{content:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:p.value},null,8,aU)]),default:t.withCtx(()=>[t.createElementVNode("div",sU,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(c[w.value]))),t.createTextVNode(" "+t.toDisplayString(w.label),1)])]),_:2},1032,["disabled"])]),_:1},8,["model-value","options"])],8,["disabled"])):t.createCommentVNode("",!0),t.createVNode(eo,t.mergeProps(r,{class:"dk-form","editor-mode":l.value,"hide-editor-mode-switcher":""}),{"code-editor":t.withCtx(()=>[t.createVNode(QL,{class:"code-editor",editing:r.isEditing,onChange:_,onError:C},null,8,["editing"])]),"plugin-config-title":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.mode")),1)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:m.value},null,8,lU)]),default:t.withCtx(()=>[s.value==="flow"?(t.openBlock(),t.createBlock(iU,{key:0,"is-editing":r.isEditing,onChange:g},null,8,["is-editing"])):t.createCommentVNode("",!0)]),_:1},16,["editor-mode"])],64))}}),[["__scopeId","data-v-40297492"]])}),uU=pt({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e==="config.functions.*",component:_t,propsOverrides:e=>({...e,multiline:!0,rows:3})}]}),dU=pt({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:Co,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),fU=pt({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:qt,propsOverrides:{multiple:!0}}]}),pU=pt({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:Co,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),mU=pt({experimental:!0}),hU=pt(),gU=pt({experimental:!0}),yU={"data-testid":"ff-identity-realms-field"},_U=["innerHTML"],bU=pt({experimental:!0,component:w0,fieldRenderers:[{match:({path:e})=>e==="config.identity_realms",component:t.defineComponent({__name:"IdentityRealmsField",props:{name:{},label:{},labelAttributes:{},required:{type:Boolean},placeholder:{},resetLabelPath:{}},setup(e){const n=e,{error:r,value:o,path:i}=Yt(t.toRef(n,"name"));if(r)throw r;const a=Vn(i,n),s=t.inject(b0,void 0);return(l,c)=>{var f;const u=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",yU,[t.createVNode(u,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},[(f=t.unref(a).labelAttributes)!=null&&f.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(l.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,_U)])]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(Yg,{modelValue:t.unref(o),"onUpdate:modelValue":c[0]||(c[0]=d=>t.isRef(o)?o.value=d:null),realms:t.unref(s)},null,8,["modelValue","realms"])])}}})}]}),wU={class:"ff-collapsible-section"},kU={class:"ff-collapsible-section-header"},CU={class:"ff-collapsible-section-header-toggle"},EU={key:0,class:"ff-collapsible-section-content"},NU={key:0,class:"ff-collapsible-section-indent-guide"},dm=Re(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",wU,[t.createElementVNode("header",kU,[t.createElementVNode("div",CU,[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(Ie.ChevronRightIcon),{class:t.normalizeClass(["ff-collapsible-section-toggle-btn-trigger-icon",{"collapse-expanded":n.value}]),decorative:"",size:t.unref(gr)},null,8,["class","size"])]),t.createVNode(t.unref(Ke.KLabel),{class:"ff-collapsible-section-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.label),1)]),_:1})])]),t.createVNode(hc,null,{default:t.withCtx(()=>[n.value?(t.openBlock(),t.createElementBlock("div",EU,[t.renderSlot(r.$slots,"default",{},void 0,!0)])):t.createCommentVNode("",!0)]),_:3}),n.value?(t.openBlock(),t.createElementBlock("div",NU)):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-3e113fe8"]]),xU={class:"ff-mb-subject"},SU={class:"ff-mb-attributes"},AU={class:"ff-metering-billing-inline-row"},vU={class:"ff-mb-queue"},IU=pt({experimental:!0,component:Re(t.defineComponent({__name:"MeteringAndBillingForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const n=e,r=t.useSlots();t.provide(it.AUTOFILL_SLOT,r==null?void 0:r[it.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=et(),i=t.inject(it.FORMS_CONFIG),a=t.computed(()=>{const d=i==null?void 0:i.geoApiServerUrl,m=d?new URL(d).hostname.split(".")[0]:null;return m?`https://${m}.api.konghq.com/v3/openmeter/events`:"https://{{region}}.api.konghq.com/v3/openmeter/events"});function s(){const d={},m=["service-id","route-id","consumer-id","consumer_group-id"];for(const p of m)if(n.formModel[p]){const h=p.split("-")[0];h&&(d[h]={id:n.formModel[p]})}return d}const l={hasValue:d=>!!d&&Object.keys(d).length>0,prepareFormData:d=>{var p;if(n.isEditing)return d;const m={...d,...s()};return(i==null?void 0:i.app)==="konnect"&&!((p=m==null?void 0:m.config)!=null&&p.ingest_endpoint)?{...m,config:{...m==null?void 0:m.config,ingest_endpoint:a.value}}:m}},c=t.ref(!0),u=t.ref(!0),f=t.ref(!0);return(d,m)=>(t.openBlock(),t.createBlock(eo,t.mergeProps(n,{"form-config":l,"plugin-config-description":t.unref(o)("plugins.free-form.metering-and-billing.sections.plugin_config.description")}),{"field-renderers":t.withCtx(()=>[t.createVNode(Xt,{match:({path:p})=>p==="config.meter_api_requests"},{default:t.withCtx(p=>[t.createVNode(ir,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(Xt,{match:({path:p})=>p==="config.meter_ai_token_usage"},{default:t.withCtx(p=>[t.createVNode(ir,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(Xt,{match:({path:p})=>p==="config.ssl_verify"},{default:t.withCtx(p=>[t.createVNode(ir,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(Xt,{match:({path:p})=>p==="config.subject.look_up_value_in"},{default:t.withCtx(p=>[t.createVNode(qt,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(Xt,{match:({path:p})=>p==="config.subject.field"},{default:t.withCtx(p=>[t.createVNode(_t,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(Xt,{match:({path:p})=>p==="config.timeout"},{default:t.withCtx(p=>[t.createVNode(rn,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.timeout.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(Xt,{match:({path:p})=>p==="config.keepalive"},{default:t.withCtx(p=>[t.createVNode(rn,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.keepalive.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(Xt,{match:({path:p})=>p==="config.queue.max_coalescing_delay"},{default:t.withCtx(p=>[t.createVNode(rn,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(Xt,{match:({path:p})=>p==="config.queue.initial_retry_delay"},{default:t.withCtx(p=>[t.createVNode(rn,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(Xt,{match:({path:p})=>p==="config.queue.max_retry_delay"},{default:t.withCtx(p=>[t.createVNode(rn,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(Xt,{match:({path:p})=>p==="config.queue.max_retry_time"},{default:t.withCtx(p=>[t.createVNode(rn,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(Xt,{match:({path:p})=>p.startsWith("config.attributes.")&&p.endsWith(".look_up_value_in")},{default:t.withCtx(p=>[t.createVNode(_t,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(Xt,{match:({path:p})=>p.startsWith("config.attributes.")&&p.endsWith(".event_property_name")},{default:t.withCtx(p=>[t.createVNode(_t,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(dm,{expanded:c.value,"onUpdate:expanded":m[0]||(m[0]=p=>c.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.sections.metering.title")},{default:t.withCtx(()=>[t.createVNode(lt,{name:"config.meter_api_requests"}),t.createVNode(lt,{name:"config.meter_ai_token_usage"})]),_:1},8,["expanded","label"]),t.createElementVNode("div",xU,[t.createVNode(Jt,{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(dm,{expanded:u.value,"onUpdate:expanded":m[1]||(m[1]=p=>u.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.attributes.title")},{default:t.withCtx(()=>[t.createElementVNode("div",SU,[t.createVNode(Yr,{"hide-label":"",name:"config.attributes"})])]),_:1},8,["expanded","label"]),t.createVNode(dm,{expanded:f.value,"onUpdate:expanded":m[2]||(m[2]=p=>f.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.sections.ingestion.title")},{default:t.withCtx(()=>[t.createVNode(_t,{help:t.unref(o)("plugins.free-form.metering-and-billing.fields.ingest_endpoint.help"),name:"config.ingest_endpoint"},null,8,["help"]),t.createVNode(lt,{name:"config.api_token"}),t.createVNode(lt,{name:"config.ssl_verify"}),t.createElementVNode("div",AU,[t.createVNode(lt,{name:"config.timeout"}),t.createVNode(lt,{name:"config.keepalive"})])]),_:1},8,["expanded","label"]),t.createVNode(Ps,{class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:t.withCtx(()=>[t.createElementVNode("div",vU,[t.createVNode(t.unref(Ke.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(Jt,{"as-child":"",name:"config.queue","reset-label-path":"reset"})])]),_:1})]),_:1},16,["plugin-config-description"]))}}),[["__scopeId","data-v-17906568"]])}),TU=pt({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:qt,propsOverrides:{multiple:!0}}]}),OU=pt({experimental:!0}),BU=pt({experimental:!0,fieldRenderers:[{match:"config.access_logs.custom_attributes_by_lua",component:Co,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),PU=pt({experimental:!0}),VU=pt({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:qt,propsOverrides:{multiple:!0}}]}),RU=pt({experimental:!0,fieldRenderers:[{match:({path:e})=>e==="config.methods"||e==="config.request_method",component:qt,propsOverrides:{multiple:!0}}]}),$U={class:"rla-form-request-limits-subtitle"},LU={class:"rla-form-request-limits-content"},DU={class:"rla-form-window-type"},MU={class:"rla-form-request-limits-items"},jU={class:"rla-form-request-limits-row"},FU=["id"],UU={class:"rla-form-request-limits-actions"},KU={key:0,class:"rla-form-request-limits-examples"},qU={class:"rla-form-request-limits-examples-badges"},fm="config.window_type",GU=Re(t.defineComponent({__name:"RequestLimitsForm",setup(e){var y;const{i18n:{t:n}}=et(),{formData:r,getSelectItems:o,getSchema:i}=yt(),a=t.computed(()=>{var _,C;const b=(C=(_=r.config)==null?void 0:_.limit)==null?void 0:C.map((k,E)=>{var w,x;return{limit:k,windowSize:(x=(w=r.config)==null?void 0:w.window_size)==null?void 0:x[E]}});return!Array.isArray(b)||b.length===0?[{limit:null,windowSize:null}]:b}),{getKey:s}=zf("request-limits",a),l=b=>{var _,C;m.value=void 0,r.config&&((_=r.config.limit)!=null&&_.length||(r.config.limit=[null]),(C=r.config.window_size)!=null&&C.length||(r.config.window_size=[null]),r.config.limit.splice(b+1,0,null),r.config.window_size.splice(b+1,0,null))},c=b=>{r.config&&(r.config.limit.splice(b,1),r.config.window_size.splice(b,1))},u=(y=i(fm))==null?void 0:y.default,f=t.computed(()=>ss(r,fm)),d=t.computed(()=>o(fm).sort((b,_)=>b.value===u?-1:_.value===u?1:0)),m=t.ref(),p={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}}]},h=t.computed(()=>Object.prototype.hasOwnProperty.call(p,f.value)?p[f.value]:[]),g=(b,_)=>{if(_===m.value){t.nextTick(()=>{m.value=void 0}),r.config.limit=[],r.config.window_size=[];return}t.nextTick(()=>{m.value=_}),r.config.limit=[b.config.limit],r.config.window_size=[b.config.window_size]};return(b,_)=>{const C=t.resolveComponent("KLabel"),k=t.resolveComponent("KButton"),E=t.resolveComponent("KBadge"),w=t.resolveComponent("KTooltip"),x=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(x,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(C,{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",$U,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",LU,[t.createElementVNode("div",DU,[t.createVNode(lm,{items:d.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":_[0]||(_[0]=T=>m.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",MU,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(T,M)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(s)(T,M)},[t.createVNode(C,{for:`rla-form-request-limits-item-${M}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:M+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",jU,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${M}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(rn,{name:`$.config.limit.${M}`,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(rn,{name:`$.config.window_size.${M}`,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,FU),t.createElementVNode("div",UU,[t.createVNode(k,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(k,{appearance:"tertiary",onClick:()=>l(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),h.value.length>0?(t.openBlock(),t.createElementBlock("div",KU,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",qU,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(T,M)=>(t.openBlock(),t.createBlock(w,{key:`use-case-${M}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(T.description),1),_[1]||(_[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(T.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(T.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(E,{appearance:m.value===`${f.value}-${M}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>g(T,`${f.value}-${M}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-1fac872b"]]),HU={id:"rla-form-error-legend",class:"rla-form-error-inputs"},zU=Re(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{i18n:{t:n}}=et();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",HU,[t.createVNode(rn,{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(_t,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-7b36f1f7"]]),WU=t.defineComponent({__name:"RedisField",setup(e){const{formData:n}=yt(),r=t.inject(it.FORMS_CONFIG),o=t.inject(ys),i=(o==null?void 0:o.isEditing)||!1,a=t.computed(()=>{if((r==null?void 0: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(hc,null,{default:t.withCtx(()=>{var c;return[((c=t.unref(n).config)==null?void 0:c.strategy)==="redis"?(t.openBlock(),t.createBlock(Xf,{key:0,"is-konnect-managed-redis-enabled":a.value},null,8,["is-konnect-managed-redis-enabled"])):t.createCommentVNode("",!0)]}),_:1}))}}),YU=t.defineComponent({__name:"ConfigForm",setup(e){const{getSchema:n}=yt();return(r,o)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Jt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(lt,{name:"identifier"}),t.createVNode(GU),t.createVNode(zU)]),_:1}),t.createVNode(Ps,{"hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(qt,{multiple:!0,name:"config.compound_identifier"}),t.unref(n)("config.counter_key")?(t.openBlock(),t.createBlock(lt,{key:0,name:"config.counter_key"})):t.createCommentVNode("",!0),t.createVNode(lt,{name:"config.sync_rate"}),t.createVNode(lt,{name:"config.namespace"}),t.createVNode(lt,{name:"config.strategy"}),t.createVNode(WU),t.createVNode(lt,{name:"config.dictionary_name"}),t.createVNode(lt,{name:"config.lock_dictionary_name"}),t.createVNode(lt,{name:"config.hide_client_headers"}),t.createVNode(lt,{name:"config.retry_after_jitter_max"}),t.createVNode(lt,{name:"config.header_name"}),t.createVNode(lt,{name:"config.path"}),t.createVNode(lt,{name:"config.throttling"}),t.createVNode(lt,{name:"config.enforce_consumer_groups"}),t.createVNode(lt,{name:"config.consumer_groups"}),t.createVNode(lt,{name:"config.disable_penalty"})]),_:1})],64))}}),JU=pt({experimental:!0,component:t.defineComponent({__name:"RateLimitingAdvancedForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const n=e,r=t.useSlots();t.provide(it.AUTOFILL_SLOT,r==null?void 0:r[it.AUTOFILL_SLOT_NAME]);function o(i,a){var s;((s=i.config)==null?void 0:s.namespace)===null&&delete i.config.namespace,n.onFormChange(i,a)}return(i,a)=>(t.openBlock(),t.createBlock(eo,t.mergeProps(n,{"on-form-change":o}),{default:t.withCtx(()=>[t.createVNode(YU)]),_:1},16))}})}),XU=pt({experimental:!0,renderRules:{bundles:[["config.policy","config.redis"]],dependencies:{"config.redis":["config.policy","redis"]}}}),ZU="__request_callout_";function kk(){return cc(ZU)}const Us="_callout_id",QU=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:r}=yt(),o=t.computed(()=>{const{callouts:s}=r.config;return s==null?[]:s.filter(({name:l})=>{var c;return l&&l!==((c=s[n.index])==null?void 0:c.name)})}),i=t.computed(()=>o.value.map(({[Us]: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(Jt,{name:e.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(qt,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(Jt,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(u=>[t.createVNode(qt,t.mergeProps(u,{items:t.unref(Rf)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:1},16)]),_:1},8,["name"]))}}),eK=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=yt();function r(){const o=n.config.callouts[n.config.callouts.length-1];o&&(o[Us]=kk())}return(o,i)=>(t.openBlock(),t.createBlock(Yr,{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(QU,{"field-name":s,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),tK=t.defineComponent({__name:"ConfigForm",setup(e){return(n,r)=>(t.openBlock(),t.createBlock(Jt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(eK),t.createVNode(Jt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(Jt,{appearance:"card",name:"cache"},{redis:t.withCtx(o=>[t.createVNode(Jt,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}))}}),nK=pt({component:Re(t.defineComponent({__name:"RequestCalloutForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const n=e,r=t.useSlots();t.provide(it.AUTOFILL_SLOT,r==null?void 0:r[it.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=et();function i(u,f=!1){return u.reduce((d,{[Us]:m,name:p})=>(f?d[p]=m:d[m]=p,d),{})}function a(){const u={},f=["service-id","route-id","consumer-id","consumer_group-id"];for(const d of f)if(n.formModel[d]){const m=d.split("-")[0];m&&(u[m]={id:n.formModel[d]})}return u}function s(u){var d;const f=cs(u);if((d=f.config)!=null&&d.callouts){const{callouts:m}=f.config;m.forEach(h=>{h.request.body.custom=h.request.body.custom??{},h[Us]=kk()});const p=i(m,!0);m.forEach(h=>{h.depends_on=h.depends_on.map(g=>p[g])})}return n.isEditing?f:{...f,...a()}}const l={hasValue:u=>!!u&&Object.keys(u).length>0,prepareFormData:s};function c(u,f){var p;if(!u)return;const d=cs(u);if(!((p=d.config)!=null&&p.callouts)){n.onFormChange(d,f);return}const m=i(d.config.callouts);d.config.callouts=d.config.callouts.map(h=>{const{[Us]:g,depends_on:y,...b}=h;return{depends_on:y.map(_=>m[_]).filter(_=>_!=null),...b}}),n.onFormChange(d,f)}return(u,f)=>(t.openBlock(),t.createBlock(eo,t.mergeProps(n,{"form-config":l,"on-form-change":c}),{"field-renderers":t.withCtx(()=>[t.createVNode(Xt,{match:({path:d})=>d.endsWith("by_lua")},{default:t.withCtx(d=>[t.createVNode(_t,t.mergeProps(d,{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(Xt,{match:({path:d})=>["cluster_nodes","sentinel_nodes"].some(m=>d.endsWith(m))},{default:t.withCtx(d=>[t.createVNode(Yr,t.mergeProps(d,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(tK)]),_:1},16))}}),[["__scopeId","data-v-fbcdb0a1"]])}),rK=pt({experimental:!0}),oK=pt({experimental:!0}),iK=pt({experimental:!0,fieldRenderers:[{match:({path:e,genericPath:n})=>e==="config.replace.body"||n==="config.transform.functions.*"||n.endsWith(".json.*"),component:_t,propsOverrides:{multiline:!0,rows:3}}]}),aK=pt({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e.endsWith(".json.*"),component:_t,propsOverrides:{multiline:!0,rows:3}}]}),sK=pt({experimental:!0}),lK={class:"sp-form-request-limits-subtitle"},cK={class:"sp-form-request-limits-content"},uK={class:"sp-form-window-type"},dK={class:"sp-form-request-limits-items"},fK={class:"sp-form-request-limits-row"},pK=["id"],mK={class:"sp-form-request-limits-actions"},hK={key:0,class:"sp-form-request-limits-examples"},gK={class:"sp-form-request-limits-examples-badges"},pm="config.window_type",yK=Re(t.defineComponent({__name:"RequestLimitsForm",setup(e){var y;const{t:n}=nn.createI18n("en-us",cn),{formData:r,getSelectItems:o,getSchema:i}=yt(),a=t.computed(()=>{var _,C;const b=(C=(_=r.config)==null?void 0:_.limit)==null?void 0:C.map((k,E)=>{var w,x;return{limit:k,windowSize:(x=(w=r.config)==null?void 0:w.window_size)==null?void 0:x[E]}});return!Array.isArray(b)||b.length===0?[{limit:null,windowSize:null}]:b}),{getKey:s}=zf("request-limits",a),l=b=>{var _,C;m.value=void 0,r.config&&((_=r.config.limit)!=null&&_.length||(r.config.limit=[null]),(C=r.config.window_size)!=null&&C.length||(r.config.window_size=[null]),r.config.limit.splice(b+1,0,null),r.config.window_size.splice(b+1,0,null))},c=b=>{r.config&&(r.config.limit.splice(b,1),r.config.window_size.splice(b,1))},u=(y=i(pm))==null?void 0:y.default,f=t.computed(()=>ss(r,pm)),d=t.computed(()=>o(pm).sort((b,_)=>b.value===u?-1:_.value===u?1:0)),m=t.ref(),p={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}}]},h=t.computed(()=>Object.prototype.hasOwnProperty.call(p,f.value)?p[f.value]:[]),g=(b,_)=>{if(_===m.value){t.nextTick(()=>{m.value=void 0}),r.config.limit=[],r.config.window_size=[];return}t.nextTick(()=>{m.value=_}),r.config.limit=[b.config.limit],r.config.window_size=[b.config.window_size]};return(b,_)=>{const C=t.resolveComponent("KLabel"),k=t.resolveComponent("KButton"),E=t.resolveComponent("KBadge"),w=t.resolveComponent("KTooltip"),x=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(x,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(C,{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",lK,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",cK,[t.createElementVNode("div",uK,[t.createVNode(lm,{items:d.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":_[0]||(_[0]=T=>m.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",dK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(T,M)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(s)(T,M)},[t.createVNode(C,{for:`sp-form-request-limits-item-${M}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:M+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",fK,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${M}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(rn,{name:`$.config.limit.${M}`,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(rn,{name:`$.config.window_size.${M}`,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,pK),t.createElementVNode("div",mK,[t.createVNode(k,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(k,{appearance:"tertiary",onClick:()=>l(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),h.value.length>0?(t.openBlock(),t.createElementBlock("div",hK,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",gK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(T,M)=>(t.openBlock(),t.createBlock(w,{key:`use-case-${M}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(T.description),1),_[1]||(_[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(T.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(T.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(E,{appearance:m.value===`${f.value}-${M}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>g(T,`${f.value}-${M}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-e12d9c9f"]]),_K={id:"sp-form-error-legend",class:"sp-form-error-inputs"},bK=Re(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=nn.createI18n("en-us",cn);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",_K,[t.createVNode(rn,{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(_t,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-0796e152"]]),wK=t.defineComponent({__name:"RedisField",setup(e){const{formData:n}=yt(),r=t.inject(it.FORMS_CONFIG),o=t.inject(ys),i=(o==null?void 0:o.isEditing)||!1,a=t.computed(()=>{if((r==null?void 0: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(hc,null,{default:t.withCtx(()=>{var c;return[((c=t.unref(n).config)==null?void 0:c.strategy)==="redis"?(t.openBlock(),t.createBlock(Xf,{key:0,"is-konnect-managed-redis-enabled":a.value},null,8,["is-konnect-managed-redis-enabled"])):t.createCommentVNode("",!0)]}),_:1}))}}),kK=t.defineComponent({__name:"ConfigForm",setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Jt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(yK),t.createVNode(bK)]),_:1}),t.createVNode(Ps,{"hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(lt,{name:"config.dictionary_name"}),t.createVNode(lt,{name:"config.lock_dictionary_name"}),t.createVNode(lt,{name:"config.strategy"}),t.createVNode(wK),t.createVNode(lt,{name:"config.namespace"}),t.createVNode(lt,{name:"config.hide_client_headers"}),t.createVNode(lt,{name:"config.disable_penalty"}),t.createVNode(lt,{name:"config.retry_after_jitter_max"}),t.createVNode(lt,{name:"config.sync_rate"})]),_:1})],64))}}),CK=pt({experimental:!0,component:t.defineComponent({__name:"ServiceProtectionForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const n=e,r=t.useSlots();t.provide(it.AUTOFILL_SLOT,r==null?void 0:r[it.AUTOFILL_SLOT_NAME]);function o(i,a){var s;((s=i.config)==null?void 0:s.namespace)===null&&delete i.config.namespace,n.onFormChange(i,a)}return(i,a)=>(t.openBlock(),t.createBlock(eo,t.mergeProps(n,{"on-form-change":o}),{default:t.withCtx(()=>[t.createVNode(kK)]),_:1},16))}})}),EK=pt({experimental:!0}),NK=pt({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e==="config.flow.functions.*",component:_t,propsOverrides:{multiline:!0,rows:3}}]}),xK=pt({experimental:!0,fieldRenderers:[{match:"config.message.custom_fields_by_lua",component:Co,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),SK=pt({experimental:!0,fieldRenderers:[{match:"config.message.functions.*",component:_t,propsOverrides:{multiline:!0,rows:3}}]}),AK=pt({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:_t,propsOverrides:{multiline:!0,rows:4}}]}),vK=Object.assign({"../plugins/acl/index.ts":LL,"../plugins/ai-custom-guardrail.ts":DL,"../plugins/ai-mcp-proxy/index.ts":ML,"../plugins/aws-lambda.ts":jL,"../plugins/basic-auth/index.ts":zL,"../plugins/correlation-id.ts":WL,"../plugins/cors.ts":YL,"../plugins/datakit/index.ts":cU,"../plugins/exit-transformer.ts":uU,"../plugins/file-log.ts":dU,"../plugins/header-cert-auth.ts":fU,"../plugins/http-log.ts":pU,"../plugins/jwe-decrypt.ts":mU,"../plugins/jwt-signer.ts":hU,"../plugins/jwt.ts":gU,"../plugins/key-auth/index.ts":bU,"../plugins/metering-and-billing/index.ts":IU,"../plugins/mtls-auth.ts":TU,"../plugins/oauth2.ts":OU,"../plugins/opentelemetry.ts":BU,"../plugins/prometheus.ts":PU,"../plugins/proxy-cache-advanced.ts":VU,"../plugins/proxy-cache.ts":RU,"../plugins/rate-limiting-advanced/index.ts":JU,"../plugins/rate-limiting.ts":XU,"../plugins/request-callout/index.ts":nK,"../plugins/request-transformer-advanced.ts":rK,"../plugins/request-transformer.ts":oK,"../plugins/response-transformer-advanced.ts":iK,"../plugins/response-transformer.ts":aK,"../plugins/route-transformer-advanced.ts":sK,"../plugins/service-protection/index.ts":CK,"../plugins/session.ts":EK,"../plugins/solace-consume.ts":NK,"../plugins/solace-log.ts":xK,"../plugins/solace-upstream.ts":SK,"../plugins/upstream-oauth.ts":AK});function IK(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 TK(e){const n={},r=new Map;for(const[o,i]of Object.entries(e)){const a=IK(o);if(r.has(a))throw new Error(`Duplicate plugin config for "${a}": ${r.get(a)} and ${o}`);r.set(a,o),n[a]={...i,component:i.component,experimental:i.experimental??!1,fieldRenderers:i.fieldRenderers??[]}}return n}const Ck=TK(vK);function Ek(e){return Ck[e]}function Nk(e,n){const r=Ek(e);if(r&&!(r.experimental&&!n.includes(e)))return r.component}function xk(e,n,r){return r==="freeform"?!0:r==="vfg"?!1:!!Nk(e,n)}function OK(){return Object.entries(Ck).filter(([,e])=>e.experimental).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}function mm(){return t.inject(Vf,[])}function BK(e){const n=new Set(OK()),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 PK(e){t.provide(Vf,BK(e))}function VK(){const e=mm();return{shouldUseFreeForm:(n,r)=>xk(n,e,r),getFreeFormComponent:n=>Nk(n,e)}}function Sk(e){var o,i;if(!e)return;if(!e.token_exchange)return e;if((Array.isArray((o=e.token_exchange.request)==null?void 0:o.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((i=e.token_exchange.request)==null?void 0:i.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(a=>fn(e.token_exchange,a)))return e.token_exchange=null,e;const r=e.token_exchange.subject_token_issuers;return r&&r.forEach(a=>{fn(a.conditions,{})&&(a.conditions=null),a.conditions&&Object.values(a.conditions).every(s=>Array.isArray(s)&&s.length===0)&&(a.conditions=null)}),e}const Ak=e=>{const n=e==null?void 0: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}fn(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)},RK={shamefullyTransformPayload(e){return Sk(e.payload.config),Ak(e.payload.config),e}},$K={shamefullyTransformPayload(e){var n,r,o,i,a;if(!((r=(n=e.payload.config)==null?void 0:n.access_logs)!=null&&r.custom_attributes_by_lua))return e;if(fn((i=(o=e.payload.config)==null?void 0:o.access_logs)==null?void 0:i.custom_attributes_by_lua,{})){const s=(a=e.payload.config)==null?void 0:a.access_logs;s&&(s.custom_attributes_by_lua=null)}return e}},LK={shamefullyTransformPayload(e){var r,o;const n=(o=(r=e.payload.config)==null?void 0:r.v2_strategies)==null?void 0:o.openid_connect;return Array.isArray(n)&&n.forEach(i=>{Sk(i.config),Ak(i.config)}),e}},DK={shamefullyTransformPayload(e){var r;return!e.payload.config||!((r=e.payload.config)!=null&&r.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(o=>{var i;return fn((i=e.payload.config)==null?void 0:i.token_exchange,o)})&&(e.payload.config.token_exchange=null),e}},MK=(e,n)=>{const r=e.model.startsWith("config-"),o=n.model.startsWith("config-");return r&&!o?1:!r&&o?-1:0},vk=(e,n)=>(e.order??0)-(n.order??0),Ik=(e,n)=>MK(e,n)||vk(e,n)||e.model.localeCompare(n.model),jK=e=>{const{capitalize:n}=Ee.useStringHelpers(),{convertToDotNotation:r}=Hg(),{i18n:{t:o}}=et(),i=mm(),a={"application-registration":{overwriteDefault:!0,formSchema:{...FN}},datadog:{...UN},"exit-transformer":{...KN},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...nx},"statsd-advanced":{...rx},"route-by-header":{...ZN},"ai-prompt-decorator":{...$N},"ai-prompt-template":{...LN},"ai-proxy-advanced":{...DN},"ai-rag-injector":{...MN},"ai-llm-as-judge":{...jN},"vault-auth":{...ix},"oas-validation":{...zN},mocking:{...HN},"rate-limiting":{...Zl},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Zl["config-consumer_groups"]}:{...Zl},"graphql-rate-limiting-advanced":{...qN},"injection-protection":{...GN},"response-ratelimiting":{...Zl},"pre-function":{...ny},"post-function":{...ny},"request-transformer-advanced":{...JN},"response-transformer":{...ry},"response-transformer-advanced":{...XN},zipkin:{...VO},"upstream-oauth":{...ox},saml:{...QN},"kafka-upstream":{...IO},"solace-consume":{...ex},"solace-upstream":{...tx},"key-auth":AN(e),"key-auth-enc":PN(e),confluent:{...TO},"confluent-consume":{...OO},"kafka-consume":{...BO},"kafka-log":{...PO},"openid-connect":{...RK},opentelemetry:{...$K},"konnect-application-auth":{...LK},"ai-mcp-oauth2":{...DK}},s=()=>["created_at","updated_at","id","_isCustomPlugin","_sourcePlugin","_supported_redis_partial_type","_redis_partial_path"],l=(w,x,T,M)=>{let v={};(x||w)&&(v=x||(w.fields?w.fields:w));const N=s().concat(w.blacklist?w.blacklist:[]),O=Object.keys(v).filter(L=>!N.includes(L)),B=O.indexOf("comparator");B>-1&&O.splice(B,1);let A={fields:[]};const q={};O.forEach(L=>{u(v[L],L,v,q,A,T)});const z=q.name,Y=w._sourcePlugin||z,K=tr[Y],U=[],j=L=>{const G=["cluster-cache"];for(const F of G)if(L.model.includes(F))return!1;return new RegExp("(?<=-redis-).*").test(L.model)};if(A._supported_redis_partial_type=w._supported_redis_partial_type,A._redis_partial_path=w._redis_partial_path,it.getSharedFormName(Y)||xk(Y,i,M)||K!=null&&K.useLegacyForm||e!=null&&e.credential){if(K!=null&&K.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&w._supported_redis_partial_type){for(const L of A.fields)if(j(L)){U.push(L);continue}A.fields=A.fields.filter(L=>!j(L)),U.length&&A.fields.push({id:"_redis",fields:U,model:"__redis_partial",pluginType:w._isCustomPlugin?"custom":"bundled",redisType:w._supported_redis_partial_type,redisPath:w._redis_partial_path})}A.fields.sort((L,G)=>(L.order=L.order||0,G.order=G.order||0,L.order-G.order))}else{const L=[],G=[],F=[],$=[],S={};if(K!=null&&K.fieldRules){const W=[...K.fieldRules.atLeastOneOf??[],...K.fieldRules.onlyOneOf??[],...K.fieldRules.mutuallyRequired??[]];if(K.fieldRules.onlyOneOfMutuallyRequired)for(const re of K.fieldRules.onlyOneOfMutuallyRequired)W.push(...re);for(const re of W)for(const oe of re)S[oe.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const W of A.fields){if(e!=null&&e.enableRedisPartial&&w._supported_redis_partial_type&&j(W)){$.push(W);continue}if(W.pinned){L.push(W);continue}if(W.required||S[W.model]!==void 0){S[W.model]===!1&&(S[W.model]=!0),G.push(W);continue}F.push(W)}$.length&&F.push({id:"_redis",fields:$,model:"__redis_partial",pluginType:w._isCustomPlugin?"custom":"bundled",redisType:w._supported_redis_partial_type,redisPath:w._redis_partial_path,order:-1});const P=Object.entries(S).filter(([,W])=>!W).map(([W])=>W.replace(/-/g,".").replace(/_/g,"-"));P.length>0&&console.warn(`Unknown checked fields for plugin ${z}: ${P.join(", ")}`);const V=[];L.length>0&&V.push({fields:L.sort(vk)}),(G.length>0||F.length>0)&&V.push({fields:G.sort(Ik),collapsible:{title:o("plugins.form.grouping.plugin_configuration.title"),description:o("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:F.sort(Ik),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"}}),A={groups:V}}return{schema:A,model:q,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=w=>Array.isArray(w.default)||w.default!=null&&typeof w.default!="object"&&w.default!=="function",u=(w,x,T,M,v,N)=>{const O=c(w);return M[x]=O?w.default:null,w.id=x,w.model=x,w.fields&&w.type==="record"?d(w,x,T,M,v,N):(T[x]=w,k(w,M),N&&N[x]&&f(T[x],N[x]),v.fields.push(w)),T},f=(w,x)=>(x&&(Object.assign(w,x),x.label&&(w.label=x.label)),w),d=(w,x,T,M,v,N)=>{w.fields.forEach(O=>{Object.keys(O).forEach(B=>{const A=O[B];T=u(A,x+"-"+B,T,M,v,N)})})},m=(w,x)=>{w.type="input",w.inputType="hidden",w.styleClasses="kong-form-hidden-field-wrapper";const T=e==null?void 0:e.entityId;x[w.model]=T?{id:T}:null},p=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")},g=w=>{w.type="checkbox",w.default=!0,w.required=!1},y=w=>{if(w.type="object-advanced",w.values.type==="array"){const{type:x}=w.values.elements||{};w.schema={fields:[{schema:{fields:[{...ht,model:w.model,valueArrayType:x==="integer"?"number":x||"string",inputAttributes:{...ht.inputAttributes,type:x==="integer"?"number":"text",inputMode:x==="integer"?"numeric":"text"}}]}}]}}else w.values.fields&&(w.schema={fields:[{type:"object",model:"object",schema:{fields:w.values.fields.map(x=>{const T=Object.keys(x)[0];return{model:T,type:"input",label:n(T),placeholder:T,inputType:x[T].type}})}}]})},b=w=>w.fields.reduce((x,T)=>(T.fields&&T.fields.forEach(M=>{x[M.model]=M}),T.model&&(x[T.model]=T),x),{}),_=(w,x)=>{if(!it.customFields.includes(w.model))return;const T=b(w);it.customFields.forEach(M=>{Object.keys(T).forEach(v=>{const N=c(T[v]);x[v]=N?T[v].default:null}),delete x[M]})},C=(w,x)=>w.inputType==="hidden"?"":r(w.label||x.replace(/_/g," ")),k=(w,x)=>{switch(_(w,x),w.type){case"foreign":m(w,x);break;case"number":p(w),w.attributes={step:"any"};break;case"integer":p(w);break;case"string":h(w);break;case"boolean":g(w);break;case"map":y(w);break}w.inputType==="foreign"&&m(w,x),w.label=C(w,w.model)};function E(w,x){if(x==null||x.type&&x.type!=="record"||typeof w!="object"||w==null)return w;const T={};for(const M of x.fields){const v=Object.keys(M)[0],N=M[v];N.type==="record"?T[v]=E(w[v],N):N.type==="array"&&Array.isArray(w[v])&&N.elements.type==="record"?T[v]=w[v].map(O=>E(O,N.elements)):T[v]=w[v]}return T}return{buildFormSchema:u,parseSchema:l,customSchemas:a,typedefs:Ei,pruneRecord:E}},uu=Symbol("customPluginType"),FK=1e3,UK=20,Tk=5e3,Ok=(e,n=FK)=>{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}`},Bk=async(e,n,r)=>{const o=[];let i=Ok(n),a=null,s=0;for(;i&&s<UK&&o.length<Tk&&i!==a;){a=i;const c=(await e.get(i,{signal:r})).data;Array.isArray(c==null?void 0:c.data)&&o.push(...c.data),i=c!=null&&c.next?Ok(c.next):null,s+=1}return o.slice(0,Tk)};function KK(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=(y,b)=>{let _=`${r}${y}`;return e.app==="konnect"&&(_=_.replace(/{controlPlaneId}/gi,e.controlPlaneId)),_=_.replace(/{pluginId}/gi,b??"").replace(/\/{workspace}/gi,e.workspace?`/${e.workspace}`:""),_},a=async y=>{o();const b=i(ut.customPlugin.konnect.installed.edit,y),{data:_}=await n.get(b);return _},s=async y=>{o();const b=i(ut.customPlugin.konnect.installed.create),{data:_}=await n.post(b,y);return _},l=async(y,b)=>{o();const _=i(ut.customPlugin.konnect.installed.edit,y),{data:C}=await n.put(_,b);return C},c=async y=>{const b=i(ut.customPlugin[e.app].streamed.edit,y),{data:_}=await n.get(b);return _},u=async y=>{const b=i(ut.customPlugin[e.app].streamed.create),{data:_}=await n.post(b,y);return _},f=async(y,b)=>{const _=i(ut.customPlugin[e.app].streamed.edit,y),C=e.app==="konnect"?"put":"patch",{data:k}=await n[C](_,b);return k},d=async y=>{const{aliasName:b,priority:_,sourcePlugin:C}=y,k=i(ut.customPlugin[e.app].cloned.create),{data:E}=await n.post(k,{name:b,ref:C,priority:_});return E},m=async(y,b)=>{const{aliasName:_,priority:C,sourcePlugin:k}=b,E=i(ut.customPlugin[e.app].cloned.edit,y),{data:w}=await n.patch(E,{ref:k,priority:C,name:_});return w},p=async y=>{const b=i(ut.customPlugin[e.app].cloned.edit,y),{data:_}=await n.get(b);return _};return{getInstalledPlugin:a,createInstalledPlugin:s,updateInstalledPlugin:l,getStreamedPlugin:c,createStreamedPlugin:u,updateStreamedPlugin:f,getPluginByUnknownType:async y=>{var b,_,C;if(e.app==="konnect")try{const k=await a(y);return Object.assign(k,{[uu]:"installed"})}catch(k){if(Xa.isAxiosError(k)&&((b=k.response)==null?void 0:b.status)!==404)throw k}try{const k=await c(y);return Object.assign(k,{[uu]:"streamed"})}catch(k){if(Xa.isAxiosError(k)&&((_=k.response)==null?void 0:_.status)!==404)throw k}try{const k=await p(y);return Object.assign(k,{[uu]:"cloned"})}catch(k){if(Xa.isAxiosError(k)&&((C=k.response)==null?void 0:C.status)!==404)throw k}return null},getPluginType:y=>y[uu],getClonedPlugin:p,createClonedPlugin:d,updateClonedPlugin:m}}const dt={useI18n:et,usePluginMetaData:ey,usePluginHelpers:Hg,useSchemas:jK,useExperimentalFreeForms:mm,useProvideExperimentalFreeForms:PK,useFreeFormResolver:VK,useCustomPluginApi:KK},Pk=e=>{var r,o,i,a;const n=e==null?void 0:e.response;return(n==null?void 0:n.status)===400&&(((o=(r=n.data)==null?void 0:r.message)==null?void 0:o.includes("plugin schema is currently in use"))||((i=n.data)==null?void 0:i.code)===19||((a=n.data)==null?void 0:a.name)==="referenced by others")},qK={class:"kong-ui-entities-custom-plugin-form"},GK={class:"plugin-type-radios"},HK={class:"compare-table-wrapper"},zK={class:"compare-table"},WK={key:0,scope:"col"},YK={key:1,scope:"col"},JK={key:2,scope:"col"},XK={scope:"row"},ZK={key:0},QK={key:1},e8={key:2},t8={scope:"row"},n8={key:0},r8={class:"compare-list"},o8={key:1},i8={class:"compare-list"},a8={key:2},s8={scope:"row"},l8={key:0},c8={key:1},u8={key:2},d8={scope:"row"},f8={key:0},p8={key:1},m8={key:2},h8={scope:"row"},g8={key:0},y8={key:1},_8={key:2},b8={class:"plugin-modules-section"},w8={class:"plugin-select-item"},k8={class:"plugin-select-item"},C8={key:1},E8=1*1024*1024,N8=Re(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}){var $;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}=dt.useI18n(),c=Gr.useRouter(),{getMessageFromError:u}=Ee.useErrors(),{axiosInstance:f}=Ee.useAxios(($=i.config)==null?void 0:$.axiosRequestConfig),{createInstalledPlugin:d,updateInstalledPlugin:m,createStreamedPlugin:p,updateStreamedPlugin:h,getPluginType:g,getPluginByUnknownType:y,createClonedPlugin:b,updateClonedPlugin:_}=dt.useCustomPluginApi({axiosInstance:f,apiBaseUrl:i.config.apiBaseUrl,controlPlaneId:i.config.controlPlaneId,app:i.config.app,workspace:i.config.workspace});t.provide(Ee.PLUGIN_FORM_LAYOUT_STATE,t.ref(!0));const C=t.computed(()=>!!i.pluginName),k=t.ref(!1),E=t.ref(""),w=t.computed(()=>new Set(i.unsupportedTypes)),x=t.computed(()=>o.filter(S=>!w.value.has(S))),T=t.computed(()=>!C.value&&x.value.length===0),M=t.computed(()=>!C.value&&x.value.length>1),v=()=>x.value[0]??null,N=S=>x.value.includes(S),O=S=>{if(C.value||!M.value){const P=S-1;return(A.fields.pluginType==="installed"?1:2)>1?P:void 0}return S},B=t.ref(!0),A=t.reactive({fields:{pluginType:v(),schemaContent:"",handlerContent:"",name:"",sourcePlugin:"",aliasName:"",priority:""},readonly:!1,errorMessage:""});let q="";t.watch(x,S=>{C.value||(!A.fields.pluginType||!S.includes(A.fields.pluginType))&&(A.fields.pluginType=S[0]??null)},{immediate:!0}),t.watch(()=>A.fields.pluginType,()=>{C.value||(A.fields.schemaContent="",A.fields.handlerContent="",A.fields.name="",A.fields.sourcePlugin="",A.fields.aliasName="",A.fields.priority="")});const{getDisplayName:z}=ey(),Y=t.computed(()=>{var W;const S=((W=i.config)==null?void 0:W.clonablePlugins)??r;if(S.length===0)return[];const P={};S.forEach(re=>{const oe=tr[re],de=oe==null?void 0:oe.group;de?(P[de]||(P[de]=[]),P[de].push({label:z(re),value:re})):console.warn(`Plugin ${re} is missing metadata group and will be shown without grouping.`)});const V=[];return Object.keys(P).sort().forEach(re=>{V.push({label:re,items:P[re]})}),V}),K=t.computed(()=>{if(T.value||!A.fields.pluginType)return!1;switch(A.fields.pluginType){case"installed":return A.fields.schemaContent.length>0;case"streamed":return A.fields.schemaContent.length>0&&A.fields.handlerContent.length>0&&A.fields.name.trim().length>0;case"cloned":return!!A.fields.sourcePlugin&&A.fields.aliasName.trim().length>0;default:return!1}}),U=S=>new Promise((P,V)=>{const W=new FileReader;W.onload=re=>{var de;const oe=(de=re.target)==null?void 0:de.result;typeof oe=="string"?P(oe):V(new Error("Failed to read file as text"))},W.onerror=V,W.readAsText(S)}),j=async(S,P)=>{const V=P[0];if(V){if(V.size>E8){A.errorMessage=s("custom_plugin_form.errors.file_too_large");return}try{const W=await U(V);S==="schema"?A.fields.schemaContent=W:A.fields.handlerContent=W}catch{A.errorMessage=s("custom_plugin_form.errors.file_read_error"),S==="schema"?A.fields.schemaContent="":A.fields.handlerContent=""}}},L=S=>{S==="schema"?A.fields.schemaContent="":A.fields.handlerContent=""},G=()=>{c.push(i.config.cancelRoute)};t.onMounted(async()=>{if(i.pluginName){k.value=!0,a("loading",!0);try{const S=await y(i.pluginName);if(!S){E.value=s("custom_plugin_form.errors.plugin_not_found"),a("error",new Error(E.value));return}const P=g(S);if(A.fields.pluginType=P,P==="installed")A.fields.schemaContent=S.item.lua_schema;else if(P==="streamed"){const{name:V,schema:W,handler:re}=S;A.fields.name=V,A.fields.schemaContent=W,A.fields.handlerContent=re}else if(P==="cloned"){const{ref:V,name:W,priority:re}=S;A.fields.aliasName=W,A.fields.sourcePlugin=V,A.fields.priority=re!==null?String(re):"",q=W}else E.value=s("custom_plugin_form.errors.unsupported_plugin_type",{type:P}),a("error",new Error(E.value))}catch(S){E.value=u(S),a("error",S)}finally{k.value=!1,a("loading",!1)}}});const F=async()=>{A.errorMessage="",A.readonly=!0;try{const S=A.fields.pluginType;if(!S)return;if(S==="installed"){const P={lua_schema:A.fields.schemaContent},V=C.value?await m(i.pluginName,P):await d(P);a("update",V)}else if(S==="streamed"){const P={name:A.fields.name,schema:A.fields.schemaContent,handler:A.fields.handlerContent},V=C.value?await h(i.pluginName,P):await p(P);a("update",V)}else{const P=C.value?await _(q,{aliasName:A.fields.aliasName,sourcePlugin:A.fields.sourcePlugin,priority:A.fields.priority?parseInt(A.fields.priority,10):void 0}):await b({aliasName:A.fields.aliasName,sourcePlugin:A.fields.sourcePlugin,priority:A.fields.priority?parseInt(A.fields.priority,10):void 0});a("update",{pluginType:"cloned",sourcePlugin:P.ref,aliasName:P.name,priority:P.priority??void 0})}c.push(i.config.successRoute)}catch(S){A.errorMessage=Pk(S)?s("delete.plugin_schema_in_use_message"):u(S),a("error",S)}finally{A.readonly=!1}};return(S,P)=>{const V=t.resolveComponent("KSkeleton"),W=t.resolveComponent("KEmptyState"),re=t.resolveComponent("KRadio"),oe=t.resolveComponent("KCollapse"),de=t.resolveComponent("KFileUpload"),Ae=t.resolveComponent("KLabel"),De=t.resolveComponent("KAlert"),ze=t.resolveComponent("KSelect"),ue=t.resolveComponent("KInput"),pe=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",qK,[t.createVNode(t.unref(Ee.EntityBaseForm),{"can-submit":K.value,config:e.config,"entity-type":t.unref(Ee.SupportedEntityType).Plugin,"error-message":A.errorMessage,"form-fields":A.fields,"is-readonly":A.readonly,onCancel:G,onSubmit:F},{"form-actions":t.withCtx(()=>[k.value||E.value||T.value?(t.openBlock(),t.createElementBlock("span",C8)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(pe,{appearance:"primary","data-testid":"custom-plugin-form-submit",disabled:!K.value||A.readonly,type:"submit"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.save")),1)]),_:1},8,["disabled"]),t.createVNode(pe,{appearance:"secondary","data-testid":"custom-plugin-form-cancel",disabled:A.readonly,onClick:G},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.cancel")),1)]),_:1},8,["disabled"])],64))]),default:t.withCtx(()=>[k.value?(t.openBlock(),t.createBlock(V,{key:0,type:"form"})):E.value?(t.openBlock(),t.createBlock(W,{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(E.value),1)]),_:1})):T.value?(t.openBlock(),t.createBlock(W,{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},[M.value?(t.openBlock(),t.createBlock(t.unref(Ee.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",GK,[N("installed")?(t.openBlock(),t.createBlock(re,{key:0,modelValue:A.fields.pluginType,"onUpdate:modelValue":P[0]||(P[0]=me=>A.fields.pluginType=me),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),N("streamed")?(t.openBlock(),t.createBlock(re,{key:1,modelValue:A.fields.pluginType,"onUpdate:modelValue":P[1]||(P[1]=me=>A.fields.pluginType=me),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),N("cloned")?(t.openBlock(),t.createBlock(re,{key:2,modelValue:A.fields.pluginType,"onUpdate:modelValue":P[2]||(P[2]=me=>A.fields.pluginType=me),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(oe,{modelValue:B.value,"onUpdate:modelValue":P[3]||(P[3]=me=>B.value=me),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",HK,[t.createElementVNode("table",zK,[t.createElementVNode("thead",null,[t.createElementVNode("tr",null,[P[14]||(P[14]=t.createElementVNode("th",{scope:"col"},null,-1)),N("installed")?(t.openBlock(),t.createElementBlock("th",WK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.installed")),1)):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("th",YK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.streamed")),1)):t.createCommentVNode("",!0),N("cloned")?(t.openBlock(),t.createElementBlock("th",JK,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",XK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",ZK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.installed")),1)):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("td",QK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.streamed")),1)):t.createCommentVNode("",!0),N("cloned")?(t.openBlock(),t.createElementBlock("td",e8,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",t8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",n8,[t.createElementVNode("ul",r8,[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),N("streamed")?(t.openBlock(),t.createElementBlock("td",o8,[t.createElementVNode("ul",i8,[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),N("cloned")?(t.openBlock(),t.createElementBlock("td",a8,[t.createVNode(t.unref(Ie.ClearIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",s8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",l8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.installed")),1)):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("td",c8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.streamed")),1)):t.createCommentVNode("",!0),N("cloned")?(t.openBlock(),t.createElementBlock("td",u8,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",d8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.sandboxing.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",f8,[t.createVNode(t.unref(Ie.ClearIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("td",p8,[t.createVNode(t.unref(l),{keypath:"custom_plugin_form.step1.compare_table.rows.sandboxing.streamed"},{link:t.withCtx(()=>[t.createVNode(t.unref(Ke.KExternalLink),{"hide-icon":"",href:t.unref(Bs).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),N("cloned")?(t.openBlock(),t.createElementBlock("td",m8,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",h8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.data_plane_reload.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",g8,[t.createVNode(t.unref(Ie.CheckCircleIcon),{color:t.unref(qg),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("td",y8,[t.createVNode(t.unref(Ie.ClearIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0),N("cloned")?(t.openBlock(),t.createElementBlock("td",_8,[t.createVNode(t.unref(Ie.ClearIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0)])])])])]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["title"])):t.createCommentVNode("",!0),A.fields.pluginType==="installed"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:1,class:"custom-plugin-form-steps",step:O(2),title:t.unref(s)("custom_plugin_form.step2_files.title")},{default:t.withCtx(()=>[t.createVNode(de,{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:C.value&&A.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:!C.value,onFileAdded:P[4]||(P[4]=me=>j("schema",me)),onFileRemoved:P[5]||(P[5]=me=>L("schema"))},null,8,["button-text","help","label","placeholder","required"]),t.createElementVNode("div",b8,[t.createVNode(Ae,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("custom_plugin_form.step2_files.plugin_modules.label")),1)]),_:1}),t.createVNode(De,{appearance:"warning",message:t.unref(s)("custom_plugin_form.step2_files.plugin_modules.alert")},null,8,["message"])])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),A.fields.pluginType==="streamed"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:2,class:"custom-plugin-form-steps",step:O(2),title:t.unref(s)("custom_plugin_form.step2_files.title")},{default:t.withCtx(()=>[t.createVNode(de,{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:C.value&&A.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:!C.value,onFileAdded:P[6]||(P[6]=me=>j("schema",me)),onFileRemoved:P[7]||(P[7]=me=>L("schema"))},null,8,["button-text","help","label","placeholder","required"]),t.createVNode(de,{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:C.value&&A.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:!C.value,onFileAdded:P[8]||(P[8]=me=>j("handler",me)),onFileRemoved:P[9]||(P[9]=me=>L("handler"))},null,8,["button-text","help","label","placeholder","required"])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),A.fields.pluginType==="cloned"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:3,class:"custom-plugin-form-steps",step:O(2),title:t.unref(s)("custom_plugin_form.step2_clone.title")},{default:t.withCtx(()=>[t.createVNode(ze,{modelValue:A.fields.sourcePlugin,"onUpdate:modelValue":P[10]||(P[10]=me=>A.fields.sourcePlugin=me),"data-testid":"custom-plugin-clone-select","enable-filtering":"",items:Y.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:me})=>[t.createElementVNode("div",w8,[t.createVNode(t.unref(qr.PluginIcon),{name:String(me.value),size:20},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(me.label),1)])]),"selected-item-template":t.withCtx(({item:me})=>[t.createElementVNode("div",k8,[t.createVNode(t.unref(qr.PluginIcon),{name:String(me.value),size:20},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(me.label),1)])]),_:1},8,["modelValue","items","label","placeholder"])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),A.fields.pluginType==="streamed"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:4,class:"custom-plugin-form-steps",description:t.unref(s)("custom_plugin_form.step3.description"),step:O(3),title:t.unref(s)("custom_plugin_form.step3.title")},{default:t.withCtx(()=>[t.createVNode(ue,{modelValue:A.fields.name,"onUpdate:modelValue":P[11]||(P[11]=me=>A.fields.name=me),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:A.readonly,required:"",type:"text"},null,8,["modelValue","help","label","placeholder","readonly"])]),_:1},8,["description","step","title"])):t.createCommentVNode("",!0),A.fields.pluginType==="cloned"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:5,class:"custom-plugin-form-steps",description:t.unref(s)("custom_plugin_form.step3.description"),step:O(3),title:t.unref(s)("custom_plugin_form.step3.title")},{default:t.withCtx(()=>[t.createVNode(ue,{modelValue:A.fields.aliasName,"onUpdate:modelValue":P[12]||(P[12]=me=>A.fields.aliasName=me),modelModifiers:{trim:!0},"data-testid":"custom-plugin-alias-name",label:t.unref(s)("custom_plugin_form.step3.alias_name.label"),placeholder:t.unref(s)("custom_plugin_form.step3.alias_name.placeholder"),readonly:A.readonly,required:"",type:"text"},null,8,["modelValue","label","placeholder","readonly"]),t.createVNode(ue,{modelValue:A.fields.priority,"onUpdate:modelValue":P[13]||(P[13]=me=>A.fields.priority=me),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:A.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(Ke.KExternalLink),{"hide-icon":"",href:t.unref(Bs).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"])])}}}),[["__scopeId","data-v-894ec1a5"]]),x8=(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==null?void 0:n[0])!=null?{default:n[0]}:{}}}),S8={class:"referable-field-item"},A8=24,Vk=Re(t.defineComponent({__name:"ReferableFieldItem",props:{field:{},isLast:{type:Boolean}},setup(e){const n=e,{formatPluginFieldLabel:r}=dt.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-A8),u=()=>{var f;(f=l.click)==null||f.call(l)};window.addEventListener("scrollend",u,{once:!0}),window.scrollTo({top:c,behavior:"smooth"})};return(s,l)=>(t.openBlock(),t.createElementBlock("span",S8,[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"]]),v8={key:0},I8=Re(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{i18n:{t:r},i18nT:o}=dt.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:u},f)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${f}`},[t.createVNode(t.unref(o),{keypath:c},{parameters:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(d,m)=>(t.openBlock(),t.createBlock(Vk,{key:`alert-field-${d}`,field:d,"is-last":m===u.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",v8,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(c,u)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${u}`},[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,(f,d)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${u}-combination-${d}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f,(m,p)=>(t.openBlock(),t.createBlock(Vk,{key:`only-one-mutually-field-${m}`,field:m,"is-last":p===f.length-1},null,8,["field","is-last"]))),128))]))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-5f9ff453"]]);function T8(e){if(e.length===0)return"";if(e.length===1){const i=Bn(e[0]);return Nt(...i.slice(0,-1))}const n=e.map(i=>Bn(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 Nt(...o)}function hm(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 O8(e,n){if(!n)return e;const r=n+fs;return e.map(o=>o.startsWith(r)?o.slice(r.length):o)}function B8(e,n){const r=hm(e),o=O8(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 P8(e){const n=[],r=new Map;for(const o of e){const i=hm(o);if(!i){n.push(o);continue}const a=T8(i);if(!a){n.push(o);continue}const s=B8(o,a);r.has(a)||r.set(a,[]),r.get(a).push(s)}return{keep:n,move:r}}function V8(e,n,r){const o=Bn(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 Rk(e){var n;if((n=e.entity_checks)!=null&&n.length){const{keep:r,move:o}=P8(e.entity_checks);e.entity_checks=r.length?r:void 0;for(const[i,a]of o)V8(e,i,a)}for(const r of e.fields){const o=Object.values(r)[0];o.type==="record"&&Rk(o)}}function R8(e){const n=JSON.parse(JSON.stringify(e)),r={fields:n.fields};return Rk(r),n.fields=r.fields,n}function $8(e,n){const r=tr[e];if(!r||!r.fieldRules)return n;const o=L8(r.fieldRules),i={...n};return i.fields=i.fields.map(a=>{if(Object.keys(a)[0]==="config"){const l=a.config.entity_checks||[],c=d=>{const p=[...hm(d)??[]].slice().sort();return`${Object.keys(d)[0]}:${p.join(",")}`},u=new Set(l.map(c)),f=o.filter(d=>{const m=c(d);return u.has(m)?!1:(u.add(m),!0)});return{config:{...a.config,entity_checks:[...l,...f]}}}return a}),i}function L8(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(u=>{n.push({mutually_exclusive:[c,u]})})})}}),n}const D8={class:"kong-ui-entities-plugin-form"},M8={key:1,class:"entity-form"},j8={class:"plugin-config-empty-state"},F8=Re(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0: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","validity-change"],setup(e,{emit:n}){var De,ze;const r=n,o=e,i=t.computed(()=>{if(o.config.app!=="konnect")return!1;const ue=o.config;return!!ue.isKonnectManagedRedisEnabled&&ue.isCloudGateway===!0}),a=t.inject(Jo.KM_2306_CONDITION_FIELD_314,!1),{axiosInstance:s}=Ee.useAxios((De=o.config)==null?void 0:De.axiosRequestConfig),{parseSchema:l}=dt.useSchemas({entityId:((ze=o.entityMap.focusedEntity)==null?void 0:ze.id)||void 0,credential:o.credential,enableRedisPartial:o.enableRedisPartial,experimentalRenders:o.config.app==="konnect"?o.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:u,dismissField:f,isObjectEmpty:d,unsetNullForeignKey:m}=dt.usePluginHelpers(),{shouldUseFreeForm:p,getFreeFormComponent:h}=dt.useFreeFormResolver(),g=t.inject(Ee.PLUGIN_FORM_LAYOUT_STATE),y=ue=>{g&&(g.value=ue)},{objectsAreEqual:b}=Ee.useHelpers(),{i18n:{t:_}}=et(),C=ue=>{let pe=ue;return o.config.app==="konnect"&&(pe=pe.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||"")),pe.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")},k=(ue,pe)=>{let me=`${o.config.apiBaseUrl}${ut.form[o.config.app].entityGetOne}`;return me=C(me),me=me.replace(/{entity}/gi,ue),me=me.replace(/{id}/gi,pe),me},E=ue=>{let pe=`${o.config.apiBaseUrl}${ut.form[o.config.app].entityGetAll}`;return pe=C(pe),pe=pe.replace(/{entity}/gi,ue),pe},w=(ue,pe,me)=>{const $e=k(ue,pe);return s.get($e,me)},x=(ue,pe)=>{const me=E(ue);return o.config.app==="konnect"?s.get(me).then($e=>{const{data:{data:Ne}}=$e;if(delete pe.size,delete pe.offset,Ne.length&&Object.keys(pe).length===1){const ke=Object.keys(pe)[0],Oe=Ne.filter(We=>We[ke]?!!We[ke].toLowerCase().includes(pe[ke].toLowerCase()):!1);$e.data.data=Oe}return $e}):s.get(me,{params:pe})},T=(ue,pe,me)=>{const $e=E(ue);if(o.config.app==="konnect"){const{size:Ne,offset:ke,...Oe}=pe;if(ue==="consumer_groups")return s.get($e,{params:{size:1e3},signal:me}).then(he=>{const{data:{data:X}}=he;if(X.length&&Object.keys(Oe).length===1){const ie=Object.keys(Oe)[0],ne=X.filter(Ce=>Ce[ie]?!!Ce[ie].toLowerCase().includes(Oe[ie].toLowerCase()):!1);he.data.data=ne}return he});const We={size:Ne,offset:ke};for(const he of Object.keys(Oe))We.filter={[he]:{contains:Oe[he]}};return s.get($e,{params:We,signal:me})}return s.get($e,{params:pe,signal:me})},M=(ue,pe=50)=>{const me=E(ue);return s.get(me,{params:{size:pe}})};t.provide(it.FORMS_API_KEY,{getOne:w,getAll:x,getAllV2:T,peek:M}),t.provide(it.FORMS_CONFIG,o.config);const v=t.ref(""),N=t.ref(),O=t.shallowRef(),B=t.ref(null),A=t.ref({}),q=t.reactive({}),z=t.reactive({}),Y=t.computed(()=>{var ue;return(ue=B.value)==null?void 0:ue.options}),K=t.computed(()=>{const ue=$8(z.name,o.rawSchema);return R8(ue)}),U=t.ref(!1),j=t.ref(),L=(ue,pe)=>{U.value=ue??"",j.value=pe},G=ue=>{var pe;(pe=j.value)==null||pe.call(j,ue),U.value=!1},F=ue=>{var me;if(!ue){N.value=void 0,O.value=void 0,v.value="",y(!1);return}const pe=((me=o.schema)==null?void 0:me._sourcePlugin)||ue;N.value=Ek(pe),O.value=p(pe,o.engine)?h(pe)??_0:void 0,v.value=it.getSharedFormName(pe),y(!!O.value)},$=ue=>{var We,he;const pe={...o.schema},me=z,$e=q,Ne=Object.keys(me),ke={};if(!d(A.value))for(let X=0;X<((he=(We=A.value)==null?void 0:We.fields)==null?void 0:he.length);X++)pe[A.value.fields[X].model]=A.value.fields[X];it.customFields.forEach(X=>{pe[X]&&(pe[X].fields.forEach(ie=>{ie.fields&&ie.fields.forEach(ne=>{pe[ne.model]=ne}),ie.model&&(pe[ie.model]=ie)}),delete pe[X])}),Ne.forEach(X=>{var ce;if(!pe[X]){X==="partials"&&(ke[X]=me[X]);return}const ie=pe[X];let ne=me[X];const Ce=$e[X],fe=Array.isArray(ne)?"array":typeof ne,Ve=ie?ie.valueType:null,qe=ie?ie.valueArrayType:null,Z=ie?ie.transform:null;if(ne==null&&Ce==null&&!ie.submitWhenNull)return;if(ie){if(Ve&&fe!==Ve)switch(Ve){case"array":fe==="string"&&ne.length&&(ne=ne.split(",").map(ye=>{if(ye=ye.trim(),qe==="string")return String(ye);if(qe==="number")return Number(ye);if(qe==="boolean"){if(typeof ye=="string")return ye.toLowerCase()==="true"||ye==="1";if(typeof ye=="number")return ye===1}return ye})),(!ne||!ne.length)&&(ne=ie.submitWhenNull?null:[]);break;case"number":ie.referenceable!==!0&&(ne=Number(ne));break;case"boolean":fe==="string"&&(ne=ne.toLowerCase()==="true"||ne==="1"),fe==="number"&&(ne=ne===1);break;case"string":ne=ne==null?"":String(ne);break}else Ve==="array"&&(!ne||!ne.length?ne=ie.submitWhenNull?null:[]:((ce=ie.inputAttributes)==null?void 0:ce.type)==="number"&&(ne=ne.map(ye=>Number(ye))));if(ie.type==="array"&&ie.nestedFields){const ye=Pe=>{Object.keys(Pe).forEach(nt=>{Pe[nt]&&typeof Pe[nt]=="object"&&!Array.isArray(Pe[nt])&&Pe[nt]!==null?ye(Pe[nt]):(Pe[nt]===void 0||Pe[nt]===null||typeof Pe[nt]=="number"&&isNaN(Pe[nt])||typeof Pe[nt]=="string"&&Pe[nt].trim().length===0)&&delete Pe[nt]})};ne&&typeof ne=="object"&&ye(ne)}ie.type==="object-advanced"&&ie.fields&&ne!==null&&(Object.entries(ne).length===0?ne=null:Object.keys(ne).forEach(ye=>{Array.isArray(ne[ye])||(ne[ye]=ne[ye].split(","))}))}let ee=c(X);if(ie.fieldNameHasDashes){const[ye,...Pe]=ee.split(".").reverse();ee=[ye.replace(/_/g,"-"),...Pe].reverse().join(".")}if(Ve==="object-expand"){let ye;[ee,ye]=ee.split(".");let Pe={};ke[ee]&&(Pe=ke[ee]),Pe[ye]=ne,ne=Pe}Ce!==void 0&&ne===""&&ne!==Ce?ke[ee]=Ve==="object"?{}:null:ie.type==="checklist"&&ne===""?ke[ee]=[]:ne!==""&&(ke[ee]=ne),ke[ee]=Z?Z(ne):ke[ee],m(ee,ke)});const Oe=u(ke);if(O.value){if(ue&&ue.length)for(const X of ue)delete Oe[X];Object.assign(Oe,re.value)}return Oe},S=(ue,pe={})=>{f(z,pe,ue,o.editing),r("model-updated",{model:z,originalModel:q,data:$()})},P=(ue,pe)=>{var Ne;const me={[pe]:ue};typeof((Ne=o.schema[pe])==null?void 0:Ne.modelTransformer)=="function"&&(me[pe]=o.schema[pe].modelTransformer(ue));const $e=Object.assign({},z,me);Object.assign(z,$e),r("model-updated",{model:z,originalModel:q,data:$()})},V=ue=>{r("validity-change",ue)},W=(ue,pe)=>{Object.keys(ue).forEach(me=>{var We,he;let $e=pe?`${pe}-${me}`:me,Ne=o.schema[$e];if(!Ne){const X=pe?`${pe}-${me.replace(/-/g,"_")}`:me.replace(/-/g,"_");(We=o.schema[X])!=null&&We.fieldNameHasDashes&&($e=X,Ne=o.schema[$e]),pe&&((he=o.schema[pe])==null?void 0:he.keyFromObject)===me&&($e=pe,Ne=o.schema[$e])}const ke=ue[me],Oe=typeof ke;if(Ne&&Ne.type==="object-advanced"&&!ke){z[$e]={},q[$e]={};return}if(Array.isArray(ke)){z[$e]=JSON.parse(JSON.stringify(ke)),q[$e]=JSON.parse(JSON.stringify(ke));return}if(Oe==="object"&&ke&&!ke.length)return W(ke,$e);if(Oe==="object"&&ke&&ke.length&&Ne.type==="input"){z[$e]=ke.join(", "),q[$e]=ke.join(", ");return}z[$e]=ke,q[$e]=ke}),r("model-updated",{model:z,originalModel:q,data:$()})},re=t.shallowRef(o.record),oe=(ue,pe)=>{re.value=ue;const me={...z};for(const $e of pe||[])delete me[$e];r("model-updated",{model:{...me,...ue},originalModel:q,data:$(pe)})},de=t.ref(!0),Ae=()=>{var ue;if(o.record&&o.schema&&(W({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)&&W({consumer_id:o.record.consumer_id||o.record.consumer}),W(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)&&W({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&&S("redis",{partials:o.record.partials}),O.value?oe(o.record):W(o.record.config,"config"))),Object.keys(o.entityMap).length&&!o.entityMap.global&&o.schema){const pe={};for(const me in o.entityMap){const $e=o.entityMap[me].id,Ne=o.entityMap[me].idField,ke=Ne==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(Ne).replace("_","-"));Object.prototype.hasOwnProperty.call(z,ke)&&(pe[ke]=$e)}W(pe)}if((ue=o.entityMap.consumer)!=null&&ue.id&&o.schema&&o.credential){const pe={};Object.prototype.hasOwnProperty.call(z,"consumer")&&(pe.consumer=o.entityMap.consumer.id),W(pe)}de.value=!1};return t.watch(de,ue=>{r("loading",ue)}),t.watch(()=>o.schema,(ue,pe)=>{var $e,Ne;if(b(ue||{},pe||{}))return;const me=l(ue,void 0,void 0,o.engine);Object.assign(z,me.model),A.value={fields:(Ne=($e=A.value)==null?void 0:$e.fields)==null?void 0:Ne.map(ke=>({...ke,disabled:ke.disabled||!1}))},Object.assign(q,JSON.parse(JSON.stringify(me.model))),F(me.model.name),Ae()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var ue,pe,me,$e;B.value=l(o.schema,void 0,void 0,o.engine),Object.assign(z,((ue=B.value)==null?void 0:ue.model)||{}),A.value=((pe=B.value)==null?void 0:pe.schema)||{},F(($e=(me=B.value)==null?void 0:me.model)==null?void 0:$e.name),Ae()}),t.onBeforeUnmount(()=>{y(!1)}),(ue,pe)=>{var $e,Ne,ke;const me=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",D8,[de.value?(t.openBlock(),t.createBlock(me,{key:0,type:"form"})):z.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",M8,[O.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(O.value),{key:0,developer:e.developer,"field-renderers":($e=N.value)==null?void 0:$e.fieldRenderers,"form-model":z,"form-schema":A.value,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,model:e.record,"on-form-change":oe,"on-validity-change":V,"plugin-name":z.name,"render-rules":(Ne=N.value)==null?void 0:Ne.renderRules,schema:K.value,onGlobalAction:pe[0]||(pe[0]=(Oe,We)=>ue.$emit("globalAction",Oe,We))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(it.AUTOFILL_SLOT_NAME),fn:t.withCtx(Oe=>[Oe.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Ja.VaultSecretPickerProvider),t.mergeProps({key:0},Oe,{onOpen:L}),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"])):v.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(it.sharedForms)[v.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":z,"form-options":Y.value,"form-schema":A.value,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,"on-model-updated":P,"on-partial-toggled":S,"show-new-partial-modal":Oe=>ue.$emit("showNewPartialModal",Oe)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(it.AUTOFILL_SLOT_NAME),fn:t.withCtx(Oe=>[Oe.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Ja.VaultSecretPickerProvider),t.mergeProps({key:0},Oe,{onOpen:L}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","is-konnect-managed-redis-enabled","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(it.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,model:z,options:Y.value,schema:A.value,onModelUpdated:P,onPartialToggled:S,onRefreshModel:$,onShowNewPartialModal:pe[1]||(pe[1]=Oe=>ue.$emit("showNewPartialModal",Oe))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",j8,t.toDisplayString(t.unref(_)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(ke=t.unref(tr)[z.name])!=null&&ke.fieldRules&&(o.config.isNewOtelSchema||z.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(I8,{rules:t.unref(tr)[z.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(it.AUTOFILL_SLOT_NAME),fn:t.withCtx(Oe=>[Oe.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Ja.VaultSecretPickerProvider),t.mergeProps({key:0},Oe,{onOpen:L}),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(Ja.VaultSecretPicker),{config:o.config,setup:U.value,onCancel:pe[2]||(pe[2]=()=>U.value=!1),onProceed:G},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-c37fd350"]]),U8={key:1},K8=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",U8,[t.renderSlot(n.$slots,"default")]))}}),q8={key:0},G8={class:"plugin-form-actions"},H8={key:0,class:"button-customize-deck-wrapper"},z8=Re(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0: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"],setup(e,{emit:n}){var nt,gt;const r=t.inject(Jo.KM_2306_CONDITION_FIELD_314,!1),o=t.inject(Jo.KM_2485_CLONED_PLUGINS,!1),i=t.ref(!1);t.provide(Ee.PLUGIN_FORM_LAYOUT_STATE,i);const a=n,s=e,l=Gr.useRouter(),{i18n:{t:c}}=dt.useI18n(),{customSchemas:u,typedefs:f}=dt.useSchemas({app:s.config.app,credential:s.credential,experimentalRenders:s.config.app==="konnect"?s.config.experimentalRenders:void 0}),{formatPluginFieldLabel:d}=dt.usePluginHelpers(),{shouldUseFreeForm:m}=dt.useFreeFormResolver(),{getMessageFromError:p}=Ee.useErrors(),{capitalize:h}=Ee.useStringHelpers(),{objectsAreEqual:g}=Ee.useHelpers(),{axiosInstance:y}=Ee.useAxios((nt=s.config)==null?void 0:nt.axiosRequestConfig),{getClonedPlugin:b}=dt.useCustomPluginApi({axiosInstance:Ee.useAxios({...((gt=s.config)==null?void 0:gt.axiosRequestConfig)??{},konnect:{bypassGlobal404Handler:!0}}).axiosInstance,apiBaseUrl:s.config.apiBaseUrl,app:s.config.app,workspace:s.config.workspace,controlPlaneId:s.config.controlPlaneId}),_=t.ref(!1),C=t.computed(()=>!!s.pluginId),k=t.computed(()=>s.pluginId?Ee.EntityBaseFormType.Edit:Ee.EntityBaseFormType.Create),E=t.ref(void 0),w=t.ref(void 0),x=t.computed(()=>!!(s.credential&&s.config.entityId)),T=t.ref(void 0),M=t.ref({}),v=t.ref(),N=t.ref(),O=t.inject(Jo.KM_2503_CUSTOM_PLUGIN_FREEFORM,!1),B=t.ref(null),A=t.computed(()=>B.value!==null),q=t.computed(()=>A.value&&B.value?B.value:s.pluginType),z=t.computed(()=>{if(s.engine)return s.engine;if(!(!O||!Ce.value))return A.value&&B.value?m(B.value)?"freeform":"vfg":"freeform"});t.provide(ys,{redisType:v,redisPath:N,isEditing:C.value});const Y=t.ref(!1),{isDeckEnabled:K,deckCustomizationOptions:U,deckCalloutPreferenceKey:j}=Ee.useBaseFormDeckOptions(()=>s.config,Ee.SupportedEntityType.Plugin),L=t.ref(!1),G=t.reactive({enabled:!0,protocols:[],tags:[]}),F=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),$=t.ref([{title:c("view_configuration.json"),hash:"#json"},{title:c("view_configuration.yaml"),hash:"#yaml"}]);s.config.app==="konnect"&&$.value.splice(1,0,{title:c("view_configuration.terraform"),hash:"#terraform"}),K.value&&$.value.push({title:c("view_configuration.deck"),hash:"#deck"});const S=t.ref($.value[0].hash),P=t.ref(""),V=t.computed(()=>{var se;if(x.value){let D=ut.form[s.config.app].credential[k.value];return D=D.replace(/{resourceEndpoint}/gi,de.value),D}let be;return s.config.entityType&&s.config.entityId?be=ut.form[s.config.app].edit.forEntity.replace(/{entityType}/gi,s.config.entityType).replace(/{entityId}/gi,s.config.entityId):be=ut.form[s.config.app].edit.all,s.config.app==="konnect"&&((se=tr[s.pluginType])!=null&&se.useUIData)?`${be}?__ui_data=true`:be}),W=()=>{_.value=!_.value},re=t.computed(()=>{var ge,Be,ve,Ze,Qe,we,_e,mt;const be=s.config.entityType==="consumers"&&s.config.entityId||((Be=(ge=T.value)==null?void 0:ge.consumer)==null?void 0:Be.id),se=s.config.entityType==="consumer_groups"&&s.config.entityId||((Ze=(ve=T.value)==null?void 0:ve.consumer_group)==null?void 0:Ze.id),D=s.config.entityType==="services"&&s.config.entityId||((we=(Qe=T.value)==null?void 0:Qe.service)==null?void 0:we.id),le=s.config.entityType==="routes"&&s.config.entityId||((mt=(_e=T.value)==null?void 0:_e.route)==null?void 0:mt.id);if(!(be||se||D||le))return{global:{entity:Q.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const ae={};return D&&(ae.service={entity:Q.PluginScope.SERVICE,entityEndpoint:"services",id:D,idField:jo.SERVICE}),le&&(ae.route={entity:Q.PluginScope.ROUTE,entityEndpoint:"routes",id:le,idField:jo.ROUTE}),be&&(ae.consumer={entity:Q.PluginScope.CONSUMER,entityEndpoint:"consumers",id:be,idField:jo.CONSUMER}),se&&(ae.consumer_group={entity:Q.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:se,idField:jo.CONSUMER_GROUP}),s.config.entityType&&(ae.focusedEntity={entity:Q.PluginScope[s.config.entityType.substring(0,s.config.entityType.length-1).toUpperCase()],entityEndpoint:s.config.entityType,id:s.config.entityId,idField:jo[s.config.entityType.substring(0,s.config.entityType.length-1).toUpperCase()]}),ae}),oe=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||k.value===Ee.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:f.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")}}:{}}),de=t.computed(()=>{var D;const be=s.developer?"developers":"consumers",se=((D=Ni[s.pluginType])==null?void 0:D.endpoint)||"/plugins";return`${be}/${s.config.entityId}${s.developer?"/credentials":""}${se}`}),Ae=be=>{const se=Array.from(new Set(be.map(D=>typeof D)));return se.length>1?"string":se[0]},De=(be,se,D,le)=>{var ve,Ze;let ae=se&&se.fields||[];const ge=u[q.value],Be=(Ze=(ve=Ni[s.pluginType])==null?void 0:ve.schema)==null?void 0:Ze.fields;return Array.isArray(ae)&&(ae=ae.reduce((Qe,we)=>{const _e=Object.keys(we)[0];return _e.match(/-/g)?Qe[_e.replace(/-/g,"_")]={...we[_e],fieldNameHasDashes:!0}:Qe[_e]=we[_e],Qe},{})),Object.keys(ae).sort().forEach(Qe=>{var kt,Bt,Wn,Tt,en,wn,er;const we=ae[Qe];we.type==="set"&&!(m(s.pluginType,z.value)&&we.elements.one_of)&&(we.type="array");const _e=be?`${be}-${Qe}`:`${Qe}`;if((kt=ge==null?void 0:ge.fieldsToDelete)!=null&&kt.includes(_e)){L_(D,_e);return}if(Object.prototype.hasOwnProperty.call(we,"overwrite")||we.hidden)return;if(we.type==="table")return De(_e,we.schema,D);if(we.fields)return le&&we.type==="record"?(D[_e]={type:"object",model:Qe,schema:{fields:Object.values(De(_e,we,{},!0))}},D):De(_e,we,D);if(D[_e]={id:_e,model:Qe},D[_e].type=we.type==="boolean"?"checkbox":"input",D[_e].required=we.required,D[_e].referenceable=we.referenceable,_e.startsWith("config-"))if(!le&&we.type==="array"&&(P.value=_e),le&&P.value&&_e.startsWith(P.value)){const ct=_e.slice(P.value.length+1);D[_e].label=ct.split("-").map(d).join(".")}else D[_e].label=d(_e);if((be==="config"||be.startsWith("config-"))&&(Bt=ae[Qe])!=null&&Bt.description&&(D[_e].help=ql.marked.parse(ae[Qe].description,{mangle:!1,headerIds:!1})),we.type==="map"){if(D[_e].type="object-advanced",D[_e].values=we.values,we.values.type==="array"){const{type:ct}=we.values.elements||{};D[_e].schema={fields:[{schema:{fields:[{...ht,model:_e,valueArrayType:ct==="integer"?"number":ct||"string",inputAttributes:{...ht.inputAttributes,type:ct==="integer"?"number":"text",inputMode:ct==="integer"?"numeric":"text"}}]}}]}}else we.values.fields&&(D[_e].schema={fields:[{type:"object",model:"object",schema:{fields:we.values.fields.map(ct=>{const zt=Object.keys(ct)[0];return{model:zt,type:"input",label:h(zt),placeholder:zt,inputType:ct[zt].type}})}}]});return D}if(we.enum&&we.type==="array"&&(D[_e].type="checklist",D[_e].values=we.enum,D[_e].multi=!0,D[_e].multiSelect=!0),we.one_of&&we.type!=="array"&&(D[_e].type="select",D[_e].values=we.one_of,D[_e].selectOptions={noneSelectedText:c("plugins.form.no_selection")}),we.elements&&we.type==="array"){const ct=we.elements;if(D[_e].referenceable=ct.referenceable,D[_e].elements=ct,["string","integer","number"].includes(ct.type)&&!ct.one_of){const{id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln}=D[_e],{inputAttributes:_o,...Ya}=JSON.parse(JSON.stringify(ht));_o.type=ct.type==="string"?"text":"number",D[_e]={id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln,inputAttributes:_o,...Ya}}else if(["string","integer","number"].includes(ct.type)&&ct.one_of){if(le){const{id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln}=D[_e];D[_e]={id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln,...x8(ct.one_of,we.default)}}}else if(ct.type==="array"){const{id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln,elements:_o}=D[_e],{inputAttributes:Ya,...Kl}=JSON.parse(JSON.stringify(ht));D[_e]={id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln,elements:_o,inputAttributes:Ya,...Kl}}}if(we.hint&&(D[_e].hint=we.hint),ge&&!ge.overwriteDefault&&Object.keys(ge).forEach(ct=>{if(ct===_e){const{help:zt,label:At,hint:Ye,values:tt,referenceable:Ct,elements:Nn}=D[_e],{help:ln,..._o}=ge[ct];D[_e]={help:zt,label:At,hint:Ye,values:tt,referenceable:Ct,elements:Nn,..._o},typeof ln=="string"&&(D[_e].help=ql.marked.parse(ln,{mangle:!1,headerIds:!1}))}}),we.type==="array"&&((Wn=we.elements)==null?void 0:Wn.type)==="record"&&Array.isArray(we.elements.fields)){let ct={};for(const At of we.elements.fields)ct={...ct,...At};const zt=(wn=(en=(Tt=D[_e])==null?void 0:Tt.items)==null?void 0:en.schema)==null?void 0:wn.fields;if(Array.isArray(zt))for(const At of D[_e].items.schema.fields){const Ye=(er=ct[At.model])==null?void 0:er.description;At.help===void 0&&typeof Ye=="string"&&(At.help=ql.marked.parse(Ye,{mangle:!1,headerIds:!1}))}if(zt||(D[_e].type="array",D[_e].newElementButtonLabelClasses="kong-form-new-element-button-label",D[_e].fieldClasses="array-card-container-wrapper",D[_e].itemContainerComponent="FieldArrayCardContainer",D[_e].items={type:"object",schema:{fields:Object.values(De(_e,we.elements,{},!0))}},D[_e].items.schema.fields.forEach(At=>{var Ye,tt;for(const Ct of we.elements.fields){const Nn=Object.keys(Ct)[0],ln=((tt=(Ye=At.id)==null?void 0:Ye.split)==null?void 0:tt.call(Ye,"-"))??[];if(ln[ln.length-1]===Nn){At.model=Nn,At.label=d(Nn);break}}}),we.elements.type==="record"&&(D[_e].nestedFields=!0)),!D[_e].nestedFields)D[_e].items.default=()=>we.elements.fields.reduce((At,Ye)=>{const tt=Object.keys(Ye)[0];return At[tt]=Ye[tt].default,At},{});else{const At=(Ye,tt)=>{if(Ye.type==="object"){Ye.model&&(tt[Ye.model]={});for(const Ct of Ye.schema.fields)At(Ct,Ye.model?tt[Ye.model]:tt)}else Ye.model&&(tt[Ye.model]=Ye.default)};D[_e].items.default=()=>{const Ye={};return At(D[_e].items,Ye),Ye}}}if(x.value&&Be){for(let ct=0;ct<Be.length;ct++)if(Be[ct][_e]){D[_e]={...D[_e],...Be[ct][_e]};break}}if(we.required&&we.type!=="boolean"&&(D[_e].required=!0,D[_e].selectOptions={hideNoneSelectedText:!0}),we.required&&we.type==="boolean"&&(D[_e].default=we.default??!1),we.default!=null&&typeof we.default!="object"&&we.default!=="function"&&(D[_e].default=we.default),D[_e].type==="input"){["string","number"].includes(typeof D[_e].default)&&s.config.app==="konnect"&&(D[_e].placeholder=`Default: ${D[_e].default===""?"<empty string>":D[_e].default}`);const{type:ct}=we.elements||{};ct&&(D[_e].valueArrayType=ct==="integer"?"number":ct),D[_e].inputType=we.type==="array"||we.type==="string"?we.encrypted?"password":"text":we.type}let mt="string";we.enum?mt=Ae(we.enum):we.type==="boolean"?mt="boolean":we.type==="number"||we.type==="integer"?(mt="number",D[_e].inputType="number"):we.type==="array"?(mt="array",D[_e].default=we.default,we.len_min>0&&(D[_e].submitWhenNull=!0)):we.type==="foreign"?mt="object":we.default&&Array.isArray(we.default)?(mt="array",D[_e].valueArrayType=Ae(we.default)):we.default&&(mt=typeof we.default),D[_e].valueType=mt,we.fieldNameHasDashes&&(D[_e].fieldNameHasDashes=!0)}),D},ze=()=>{var _e,mt,kt,Bt,Wn,Tt,en,wn,er,ct,zt,At;const be=((_e=tr[s.pluginType])==null?void 0:_e.scope.includes(Q.PluginScope.SERVICE))??!0,se=((mt=tr[s.pluginType])==null?void 0:mt.scope.includes(Q.PluginScope.ROUTE))??!0,D=((kt=tr[s.pluginType])==null?void 0:kt.scope.includes(Q.PluginScope.CONSUMER))??!0,le=s.config.disableConsumerGroupScope?!1:((Bt=tr[s.pluginType])==null?void 0:Bt.scope.includes(Q.PluginScope.CONSUMER_GROUP))??!0,ae=s.config.entityType==="consumers"&&!!s.config.entityId||!!((Tt=(Wn=T.value)==null?void 0:Wn.consumer)!=null&&Tt.id),ge=s.config.entityType==="consumer_groups"&&!!s.config.entityId||!!((wn=(en=T.value)==null?void 0:en.consumer_group)!=null&&wn.id),Be=s.config.entityType==="services"&&!!s.config.entityId||!!((ct=(er=T.value)==null?void 0:er.service)!=null&&ct.id),ve=s.config.entityType==="routes"&&!!s.config.entityId||!!((At=(zt=T.value)==null?void 0:zt.route)!=null&&At.id),Ze=[],Qe=(Ye,tt,Ct)=>Ye?c("plugins.form.disable_source_scope_change",{scope:Ct}):tt?c("plugins.form.disable_data_retrieving",{scope:Ct}):"",we=Ye=>{var tt,Ct;return((Ct=(tt=s.scopedEntitiesPermissions)==null?void 0:tt[Ye])==null?void 0:Ct.canRetrieve)===!1};if(be){const Ye=we("service"),tt="services",Ct=Be&&s.disableScopeSelection;Ze.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:tt,inputValues:{fields:["name","id"]},help:c("plugins.form.scoping.gateway_service.help"),disabled:Ct||Ye,disabledTooltip:Qe(Ct,Ye,tt)})}if(se){const Ye=we("route"),tt="routes",Ct=ve&&s.disableScopeSelection;Ze.push({id:"route-id",model:"route-id",label:c("plugins.form.scoping.route.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:tt,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:c("plugins.form.scoping.route.help"),disabled:Ct||Ye,disabledTooltip:Qe(Ct,Ye,tt)})}if(D){const Ye=we("consumer"),tt="consumers",Ct=ae&&s.disableScopeSelection;Ze.push({model:"consumer-id",label:c("plugins.form.scoping.consumer.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:tt,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:c("plugins.form.scoping.consumer.help"),disabled:Ct||Ye,disabledTooltip:Qe(Ct,Ye,tt)})}if(le){const Ye=we("consumer_group"),tt="consumer_groups",Ct=ge&&s.disableScopeSelection;Ze.push({model:"consumer_group-id",label:c("plugins.form.scoping.consumer_group.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:tt,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:c("plugins.form.scoping.consumer_group.help"),disabled:Ct||Ye,disabledTooltip:Qe(Ct,Ye,tt)})}if(Ze.length){const Ye=[...be?["service"]:[],...se?["route"]:[],...D?["consumer"]:[],...le?["consumer_group"]:[]],Ct=Ye.splice(Ye.length-2,2).map(ln=>c(ln==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ln}.plural`)).join(`${Ye.length>0?",":""} and/or `),Nn=["Specific",[...Ye.length>0?[Ye.map(ln=>c(ln==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ln}.plural`)).join(", ")]:[],Ct].join(", ")].join(" ");oe.selectionGroup.fields.push({label:c("plugins.form.scoping.label"),description:Nn,fields:[]}),oe.selectionGroup.fields[1].fields=Ze}u[q.value]&&u[q.value].overwriteDefault&&Object.hasOwnProperty.call(u[q.value],"formSchema")&&Object.assign(oe,u[q.value].formSchema)},ue=t.computed(()=>!g(F.fields,G,!0)),pe=t.computed(()=>!ce.value&&!L.value&&(k.value===Ee.EntityBaseFormType.Create||ue.value)),me=t.ref(!1),$e=t.ref(),Ne=be=>{s.credential&&be.password&&(be.password=""),F.fields.id=(be==null?void 0:be.id)||void 0,$e.value=be==null?void 0:be.ordering,Object.assign(G,F.fields),T.value=be,me.value=!0},ke=t.ref({}),Oe=be=>{var se;F.fields=be.model,F.fields.id=((se=T.value)==null?void 0:se.id)||void 0,Object.assign(G,be.originalModel),ke.value=be.data,s.isWizardStep&&a("model-updated",{model:F.fields,data:be.data,resourceEndpoint:de.value})},We=t.ref(new Map),he=t.computed(()=>[F.clientErrorMessage,F.serverErrorMessage].filter(Boolean).join("; ")),X=be=>{be.valid?We.value.delete(be.model):We.value.set(be.model,be.error),F.clientErrorMessage=[...We.value.entries()].map(([se,D])=>`${se}: ${typeof D=="string"?D:p(D)}`).join("; "),F.clientErrorMessage&&(F.serverErrorMessage="")};t.watch([re,me],(be,se)=>{const D=be[0]!==se[0],le=be[1],ae=se[1];if(!x.value&&k.value===Ee.EntityBaseFormType.Edit&&(D||le&&le!==ae)){const ge=De("config",M.value,oe);Ce.value&&(ge._isCustomPlugin=!0),A.value&&B.value&&(ge._sourcePlugin=B.value),v.value&&(ge._supported_redis_partial_type=v.value),w.value=ge}},{deep:!0});const ie=()=>{s.config.cancelRoute?l.push(s.config.cancelRoute):a("cancel")},ne=t.computed(()=>{const be=s.config.entityType&&s.config.entityId&&!s.developer,se=x.value?ut.form[s.config.app].credential[k.value]:ut.form[s.config.app][k.value][be?"forEntity":"all"];let D=`${s.config.apiBaseUrl}${se}`;return s.config.app==="konnect"&&(D=D.replace(/{controlPlaneId}/gi,s.config.controlPlaneId||"")),D=D.replace(/\/{workspace}/gi,s.config.workspace?`/${s.config.workspace}`:""),D=D.replace(/{resourceEndpoint}/gi,de.value),D=D.replace(/{id}/gi,s.pluginId??""),D=D.replace(/{entityType}/gi,s.config.entityType||""),D=D.replace(/{entityId}/gi,s.config.entityId||""),D}),Ce=t.computed(()=>!Object.keys(tr).includes(s.pluginType)),fe=t.computed(()=>{const be=ke.value;if(x.value){for(const se in Q.PluginScope){const D=Q.PluginScope[se];be[D]&&!be[D].id&&(be[D]={id:s.config.entityId})}delete be.created_at}return ke.value.partials&&N.value&&L_(be,N.value),be}),Ve=t.computed(()=>{const{__ui_data:be,...se}={...fe.value};return se}),qe=async()=>{if(!F.clientErrorMessage&&!s.isWizardStep)try{F.isReadonly=!0;let be;const se=JSON.parse(JSON.stringify(fe.value)),D=u[q.value];typeof(D==null?void 0:D.shamefullyTransformPayload)=="function"&&D.shamefullyTransformPayload({originalModel:G,model:F.fields,payload:se,schema:w.value}),k.value==="create"?be=await y.post(ne.value,se):k.value==="edit"&&(be=s.config.app==="konnect"||v.value&&se.partials?await y.put(ne.value,Object.assign({ordering:$e.value},se)):await y.patch(ne.value,se)),Object.assign(G,F.fields),a("update",be==null?void 0:be.data)}catch(be){F.serverErrorMessage=p(be),a("error",be)}finally{F.isReadonly=!1}},Z=t.computed(()=>{var le;const be=x.value?(le=Ni[s.pluginType])==null?void 0:le.schemaEndpoint:s.pluginType,se=x.value?ut.form[s.config.app].credentialSchema:ut.form[s.config.app].pluginSchema;let D=`${s.config.apiBaseUrl}${se}`;return s.config.app==="konnect"&&(D=D.replace(/{controlPlaneId}/gi,s.config.controlPlaneId||"")),D.replace(/\/{workspace}/gi,s.config.workspace?`/${s.config.workspace}`:"").replace(/{plugin}/gi,be)}),ee=t.ref(""),ce=t.ref(!1),ye=t.ref("");t.onBeforeMount(async()=>{var be,se,D,le;ce.value=!0;try{if(x.value&&s.config.app==="konnect"){const ae=(be=Ni[s.pluginType])==null?void 0:be.schemaEndpoint,ge=RN[ae];ee.value=ae,w.value=De("",ge,{}),ce.value=!1}else{const ae=o&&Ce.value,ge=s.schema?Promise.resolve(s.schema):y.get(Z.value).then(ve=>ve.data),[Be]=await Promise.all([ge,ae?Pe(s.pluginType):Promise.resolve()]);if(E.value=Be,Be)if(x.value)w.value=De("",Be,{}),ce.value=!1;else{const ve=Be.fields.find(Qe=>Qe.config);M.value=ve?ve.config:Be,Be.supported_partials&&(v.value=Object.keys(Be.supported_partials).find(Qe=>[Wl.REDIS_CE,Wl.REDIS_EE].includes(Qe)),N.value=(se=Be.supported_partials[v.value])==null?void 0:se[0]),ze();const Ze=(D=Be.fields.find(Qe=>Qe.protocols))==null?void 0:D.protocols;if(Ze){const{default:Qe=[],elements:we={}}=Ze;oe.protocols.default=Qe,oe.protocols.placeholder=s.config.app==="konnect"?c("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:Qe.join(", ")}):c("plugins.form.fields.protocols.placeholder"),(le=we.one_of)!=null&&le.length&&(oe.protocols.values=we.one_of.map(_e=>({label:_e,value:_e})))}if(me.value||k.value===Ee.EntityBaseFormType.Create){const Qe=De("config",M.value,oe);v.value&&(Qe._supported_redis_partial_type=v.value),Ce.value&&(Qe._isCustomPlugin=!0),A.value&&B.value&&(Qe._sourcePlugin=B.value),w.value=Qe}}}}catch(ae){console.error(ae),ye.value=p(ae),a("error:fetch-schema",ae)}finally{ce.value=!1}});async function Pe(be){var se;try{const D=await b(be);B.value=(D==null?void 0:D.ref)??null}catch(D){if(Xa.isAxiosError(D)&&((se=D.response)==null?void 0:se.status)===404)return;throw D}}return(be,se)=>{const D=t.resolveComponent("KSkeleton"),le=t.resolveComponent("KEmptyState"),ae=t.resolveComponent("KButton"),ge=t.resolveComponent("KTabs"),Be=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["kong-ui-entities-plugin-form-container",{"new-form-layout":i.value}])},[ce.value?(t.openBlock(),t.createBlock(D,{key:0,type:"form"})):ye.value?(t.openBlock(),t.createBlock(le,{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(Ee.EntityBaseForm),{key:2,"can-submit":pe.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(Ee.SupportedEntityType).Plugin,"error-message":he.value,"fetch-url":V.value,"form-fields":fe.value,"is-readonly":F.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ie,"onFetch:error":se[4]||(se[4]=ve=>be.$emit("error",ve)),"onFetch:success":Ne,onLoading:se[5]||(se[5]=ve=>be.$emit("loading",ve))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",q8)):(t.openBlock(),t.createBlock(K8,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",G8,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(ae,{key:0,appearance:"tertiary","data-testid":`plugin-${C.value?"edit":"create"}-form-view-configuration`,onClick:se[3]||(se[3]=ve=>W())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(ae,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${C.value?"edit":"create"}-form-cancel`,disabled:F.isReadonly,onClick:ie},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(ae,{appearance:"primary","data-testid":`plugin-${C.value?"edit":"create"}-form-submit`,disabled:!pe.value||F.isReadonly,type:"submit",onClick:qe},{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:qe},null,32),t.createVNode(F8,{config:e.config,credential:x.value,developer:e.developer,editing:k.value===t.unref(Ee.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":s.enableVaultSecretPicker,engine:z.value,"entity-map":re.value,"raw-schema":E.value,record:T.value,schema:w.value,onGlobalAction:se[0]||(se[0]=(ve,Ze)=>be.$emit("globalAction",ve,Ze)),onLoading:se[1]||(se[1]=ve=>L.value=ve),onModelUpdated:Oe,onShowNewPartialModal:se[2]||(se[2]=ve=>be.$emit("showNewPartialModal",ve)),onValidityChange:X},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(Be,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(c)("view_configuration.title"),visible:_.value,onClose:W},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(c)("view_configuration.message")),1),t.createVNode(ge,{modelValue:S.value,"onUpdate:modelValue":se[9]||(se[9]=ve=>S.value=ve),"data-testid":"form-view-configuration-slideout-tabs",tabs:$.value},{json:t.withCtx(()=>[t.createVNode(t.unref(Ee.JsonCodeBlock),{config:e.config,"entity-record":Ve.value,"fetcher-url":ne.value,"request-method":s.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(Ee.YamlCodeBlock),{"deck-callout-preference-key":t.unref(K)?t.unref(j):void 0,"entity-record":Ve.value,"onDeckCallout:clickCta":se[6]||(se[6]=ve=>S.value="#deck")},null,8,["deck-callout-preference-key","entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(Ee.TerraformCodeBlock),{"credential-type":ee.value,"entity-record":Ve.value,"entity-type":t.unref(Ee.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),deck:t.withCtx(()=>[t.unref(U)?(t.openBlock(),t.createElementBlock("div",H8,[t.createVNode(ae,{appearance:"secondary",class:"button-customize-deck",onClick:se[7]||(se[7]=ve=>Y.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(Ee.DeckCodeBlock),{app:e.config.app,"control-plane-name":e.config.app==="konnect"?e.config.controlPlaneName:void 0,"customization-options":t.unref(U),"entity-record":Ve.value,"entity-type":t.unref(Ee.SupportedEntityType).Plugin,"geo-api-server-url":e.config.app==="konnect"?e.config.geoApiServerUrl:void 0,"is-customization-modal-visible":Y.value,"kong-admin-api-url":e.config.app==="kongManager"?e.config.apiBaseUrl:void 0,workspace:e.config.workspace||void 0,onCustomizationClose:se[8]||(se[8]=ve=>Y.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-0667eeb2"]]),W8={class:"kong-ui-entities-plugins-list"},Y8={class:"button-row"},J8={class:"name-cell-wrapper"},X8={class:"info-wrapper"},Z8={key:0,class:"info-name"},Q8={key:1,class:"info-name"},eq={key:2,class:"info-type"},tq={key:1},nq=Re(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0: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}){var me,$e;const r=dt.usePluginMetaData(),o=n,i=e,{i18n:{t:a}}=dt.useI18n(),s=Gr.useRouter(),{axiosInstance:l}=Ee.useAxios((me=i.config)==null?void 0:me.axiosRequestConfig),{hasRecords:c,handleStateChange:u}=Ee.useTableState(()=>C.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),d=t.computed(()=>!!i.config.entityId),m=t.computed(()=>{var Ne;return((Ne=i.config)==null?void 0:Ne.entityType)==="consumers"}),p=t.computed(()=>{var Ne;return((Ne=i.config)==null?void 0:Ne.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||Ee.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),g=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),y={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};($e=i.config)!=null&&$e.entityId||(y.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),y.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(y.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),y.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const b=y,_=t.computed(()=>{var ke,Oe,We,he;let Ne=i.config.entityType?`${i.config.apiBaseUrl}${ut.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${ut.list[i.config.app].all}`;return i.config.app==="konnect"&&(Ne=Ne.replace(/{controlPlaneId}/gi,((ke=i.config)==null?void 0:ke.controlPlaneId)||"")),Ne.replace(/\/{workspace}/gi,(Oe=i.config)!=null&&Oe.workspace?`/${i.config.workspace}`:"").replace(/{entityType}/gi,((We=i.config)==null?void 0:We.entityType)||"").replace(/{entityId}/gi,((he=i.config)==null?void 0:he.entityId)||"")}),C=t.ref(""),k=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:y.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:{...y.enabled,label:a("search.filter.field.enabled")},name:y.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:E,fetcherState:w,fetcherCacheKey:x}=Ee.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),_),T=()=>{C.value=""},M=()=>{x.value++},v=t.ref(null),N=Ne=>{var Oe,We,he,X;const ke=[];return((Oe=Ne.route)!=null&&Oe.id||Ne.route_id)&&ke.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((We=Ne.service)!=null&&We.id||Ne.service_id)&&ke.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((he=Ne.consumer)!=null&&he.id||Ne.consumer_id)&&ke.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((X=Ne.consumer_group)!=null&&X.id||Ne.consumer_group_id)&&ke.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),ke.length?ke:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},O=async(Ne,ke)=>{var Oe;return Ne===null?!1:await((Oe=i.canRetrieveScopedEntity)==null?void 0:Oe.call(i,Ne,ke.id))},B=(Ne,ke)=>{var We,he,X,ie,ne;let Oe=null;switch(Ne){case"route":Oe=(We=ke.route)==null?void 0:We.id;break;case"service":Oe=(he=ke.service)==null?void 0:he.id;break;case"consumer":Oe=(X=ke.consumer)==null?void 0:X.id;break;case"consumer_group":Oe=(ie=ke.consumer_group)==null?void 0:ie.id;break}Oe&&((ne=i.config)!=null&&ne.getScopedEntityViewRoute)&&s.push(i.config.getScopedEntityViewRoute(Ne,Oe))},A=t.ref(!1),q=t.ref(null),z=t.computed(()=>{const Ne={action:"disable",id:"",name:""};if(q.value){const{enabled:ke,id:Oe,name:We}=q.value;Ne.action=ke?"disable":"enable",Ne.id=Oe,Ne.name=r.getDisplayName(We)||Oe}return Ne}),Y=Ne=>{A.value=!0,q.value=Ne},K=()=>{A.value=!1,q.value=null},U=async()=>{var We,he,X,ie,ne,Ce,fe,Ve;if(!await((We=i.canEdit)==null?void 0:We.call(i,q.value))||!q.value)return;let ke=`${i.config.apiBaseUrl}${(ne=ut.item[i.config.app])==null?void 0:ne[(he=i.config)!=null&&he.entityType?"forEntity":"all"].replace(/{entityType}/gi,((X=i.config)==null?void 0:X.entityType)||"").replace(/{entityId}/gi,((ie=i.config)==null?void 0:ie.entityId)||"")}`.replace(/{id}/gi,q.value.id||"");i.config.app==="konnect"&&(ke=ke.replace(/{controlPlaneId}/gi,((Ce=i.config)==null?void 0:Ce.controlPlaneId)||"")),ke=ke.replace(/\/{workspace}/gi,(fe=i.config)!=null&&fe.workspace?`/${i.config.workspace}`:"");const Oe=!q.value.enabled;try{const qe=(Ve=i.config)==null?void 0:Ve.app;let Z;C.value&&qe==="konnect"&&(Z=await l.get(ke));const{data:ee}=qe==="konnect"?await l.put(ke,{...(Z==null?void 0:Z.data)||q.value,enabled:Oe},{timeout:12e4}):await l.patch(ke,{...q.value,enabled:Oe},{timeout:12e4});o("toggle-enabled",Oe,ee),q.value.enabled=Oe}catch(qe){o("error",qe)}},j=async(Ne,ke)=>{const Oe=Ne.id;if(!await ke(Oe)){o("copy:error",{entity:Ne,field:"id",message:a("errors.copy")});return}o("copy:success",{entity:Ne,field:"id",message:a("copy.success",{val:Oe})})},L=async(Ne,ke)=>{const Oe=JSON.stringify(Ne);if(!await ke(Oe)){o("copy:error",{entity:Ne,message:a("errors.copy")});return}o("copy:success",{entity:Ne,message:a("copy.success_brief")})},G=async Ne=>{var Oe;await((Oe=i.canRetrieve)==null?void 0:Oe.call(i,Ne))&&s.push(i.config.getViewRoute(Ne))},F=Ne=>({label:a("actions.view"),to:i.config.getViewRoute(Ne)}),$=Ne=>({label:a("actions.edit"),to:i.config.getEditRoute(Ne)}),S=Ne=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(Ne)}),P=t.ref(void 0),V=t.ref(!1),W=t.ref(!1),re=t.ref(""),oe=Ee.useDeleteUrlBuilder(i.config,_.value),de=Ne=>{P.value=Ne,V.value=!0},Ae=()=>{V.value=!1},De=async()=>{var Ne,ke,Oe;if((Ne=P.value)!=null&&Ne.id){W.value=!0;try{await l.delete(oe(P.value.id)),W.value=!1,V.value=!1,x.value++,o("delete:success",P.value)}catch(We){re.value=((Oe=(ke=We.response)==null?void 0:ke.data)==null?void 0:Oe.message)||We.message||a("errors.delete"),o("error",We)}finally{W.value=!1}}},ze=()=>{s.push(i.config.createRoute)};t.watch(w,Ne=>{var ke,Oe,We;if(Ne.status===Ee.FetcherStatus.Error){v.value={title:a("errors.general")},(We=(Oe=(ke=Ne.error)==null?void 0:ke.response)==null?void 0:Oe.data)!=null&&We.message&&(v.value.message=Ne.error.response.data.message),o("error",Ne.error);return}v.value=null});const ue=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")}),pe=t.ref(!1);return t.onBeforeMount(async()=>{pe.value=await i.canCreate(),pe.value&&(ue.value.title=a("plugins.list.empty_state.title"),ue.value.ctaText=a("actions.create"))}),(Ne,ke)=>{const Oe=t.resolveComponent("KButton"),We=t.resolveComponent("KEmptyState"),he=t.resolveComponent("KBadge"),X=t.resolveComponent("KTruncate"),ie=t.resolveComponent("KInputSwitch"),ne=t.resolveComponent("KDropdownItem"),Ce=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",W8,[t.createVNode(t.unref(Ee.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":g.value,"empty-state-options":ue.value,"enable-entity-actions":"","error-message":v.value,fetcher:t.unref(E),"fetcher-cache-key":t.unref(x),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:C.value,"table-headers":t.unref(b),title:e.title,"title-tag":e.titleTag,onClearSearchInput:T,"onClick:row":ke[4]||(ke[4]=fe=>G(fe)),onSort:M,onState:t.unref(u)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(Ee.EntityFilter),{modelValue:C.value,"onUpdate:modelValue":ke[0]||(ke[0]=fe=>C.value=fe),config:k.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",Y8,[!d.value&&f.value?(t.openBlock(),t.createBlock(Oe,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:ke[1]||(ke[1]=fe=>Ne.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(Oe,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.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:fe})=>[t.createElementVNode("div",J8,[t.createVNode(t.unref(qr.PluginIcon),{class:"plugin-icon",name:fe.name,size:24},null,8,["name"]),t.createElementVNode("div",X8,[fe.instance_name?(t.openBlock(),t.createElementBlock("span",Z8,t.toDisplayString(fe.instance_name),1)):(t.openBlock(),t.createElementBlock("span",Q8,t.toDisplayString(t.unref(r).getDisplayName(fe.name)),1)),fe.instance_name?(t.openBlock(),t.createElementBlock("span",eq,t.toDisplayString(t.unref(r).getDisplayName(fe.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:fe})=>[N(fe).length>0?(t.openBlock(),t.createBlock(X,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(N(fe),Ve=>(t.openBlock(),t.createBlock(t.unref(Ee.PermissionsWrapper),{key:Ve.badgeText,"auth-function":()=>O(Ve.type,fe),"force-show":""},{default:t.withCtx(({isAllowed:qe})=>[t.createVNode(he,{class:t.normalizeClass(qe||"disabled"),onClick:t.withModifiers(Z=>qe&&Ve.type&&B(Ve.type,fe),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Ve.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",tq,"-"))]),enabled:t.withCtx(({row:fe})=>[t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(fe)&&await e.canToggle(fe)),"force-show":""},{default:t.withCtx(({isAllowed:Ve})=>{var qe,Z;return[t.createElementVNode("div",{onClick:ke[3]||(ke[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(ie,{disabled:!Ve,"disabled-tooltip-text":!Ve&&((Z=(qe=e.config).getToggleDisabledTooltip)==null?void 0:Z.call(qe,fe))||void 0,"model-value":fe.enabled,onClick:t.withModifiers(ee=>Ve&&Y(fe),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:fe})=>[t.createVNode(he,{appearance:t.unref(B_)(fe)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(B_)(fe)?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:fe})=>[t.createVNode(t.unref(Ee.TableTags),{tags:fe},null,8,["tags"])]),actions:t.withCtx(({row:fe})=>[t.createVNode(Ce,null,{default:t.withCtx(({copyToClipboard:Ve})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-id",onClick:qe=>j(fe,Ve)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(Ce,null,{default:t.withCtx(({copyToClipboard:Ve})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-json",onClick:qe=>L(fe,Ve)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(fe)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-view","has-divider":"",item:F(fe)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":()=>e.canEdit(fe)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-edit",item:$(fe)},null,8,["item"])]),_:2},1032,["auth-function"]),!m.value&&!p.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(Ee.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(fe)},{default:t.withCtx(()=>[S(fe)?(t.openBlock(),t.createBlock(ne,{key:0,"data-testid":"action-entity-config-dyn-order",item:S(fe)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":()=>e.canDelete(fe)},{default:t.withCtx(()=>[t.createVNode(ne,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:Ve=>de(fe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!C.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var fe;return[t.createVNode(We,{"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(Ie.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[pe.value?(t.openBlock(),t.createBlock(Oe,{key:0,"data-testid":"entity-create-button",onClick:ze},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(Oe,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:ke[2]||(ke[2]=Ve=>Ne.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(fe=e.config)!=null&&fe.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(Ee.EntityToggleModal),{action:z.value.action,"entity-id":z.value.id,"entity-name":z.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":U,visible:A.value,onCancel:K,onProceed:K},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(Ee.EntityDeleteModal),{"action-pending":W.value,description:t.unref(a)("delete.description"),"entity-name":P.value&&(P.value.instance_name||P.value.name||P.value.id),"entity-type":t.unref(Ee.EntityTypes).Plugin,error:re.value,title:t.unref(a)("delete.title"),visible:V.value,onCancel:Ae,onProceed:De},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-88f8302b"]]),rq={class:"plugin-select-card-wrapper"},oq=["data-testid"],iq={class:"plugin-card-header"},aq={class:"plugin-card-title"},sq={key:0,class:"plugin-card-actions"},lq=["data-testid","title"],cq={key:0,class:"plugin-card-text"},uq={key:0,class:"custom-plugin-badges"},dq=["title"],gm=Re(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{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=Gr.useRouter(),{i18n:{t:a}}=dt.useI18n(),s=t.computed(()=>o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?o.plugin.clonedFromRef:o.plugin.id),l=t.computed(()=>!y.value||g.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)),u=t.computed(()=>typeof o.config.getCustomEditRoute=="function"),f=t.computed(()=>!(o.config.app==="kongManager"&&o.plugin.customPluginType==="schema")),d=t.computed(()=>!!(y.value&&!g.value&&f.value&&o.navigateOnClick&&(o.canDeleteCustomPlugin||o.canEditCustomPlugin&&u.value))),m=()=>{i.push(o.config.getCreateRoute(o.plugin.id))},p=()=>{o.navigateOnClick?m():h()},h=()=>{r("plugin-clicked",o.plugin)},g=t.computed(()=>o.plugin.id==="custom-plugin-create"),y=t.computed(()=>o.plugin.group===Q.PluginGroup.CUSTOM_PLUGINS),b=()=>{y.value&&r("custom-plugin-delete")},_=(k,E)=>{const w=o.config;typeof w.getCustomEditRoute=="function"&&i.push(w.getCustomEditRoute(k,E))},C=()=>{if(!c.value&&y.value){const k=o.config;g.value&&k.createCustomRoute?i.push(k.createCustomRoute):y.value&&m()}};return(k,E)=>{const w=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),T=t.resolveComponent("KDropdownMenu"),M=t.resolveComponent("KBadge"),v=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",rq,[t.createVNode(v,{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:E[1]||(E[1]=N=>c.value||y.value?void 0:p())},[t.createElementVNode("div",iq,[t.createElementVNode("div",aq,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!y.value})},t.toDisplayString(e.plugin.name),3)]),d.value?(t.openBlock(),t.createElementBlock("div",sq,[t.createVNode(T,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(w,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{size:t.unref(gr)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canEditCustomPlugin&&u.value?(t.openBlock(),t.createBlock(x,{key:0,"data-testid":"edit-plugin-schema",onClick:E[0]||(E[0]=t.withModifiers(N=>_(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(x,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(b,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":y.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:C},[t.createVNode(t.unref(qr.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",cq,[l.value.length?(t.openBlock(),t.createElementBlock("div",uq,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,N=>(t.openBlock(),t.createBlock(M,{key:N,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N),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,dq)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,lq),t.createElementVNode("div",{class:"plugin-card-footer",onClick:C},t.toDisplayString(g.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,oq)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-44af053f"]]),du=Re(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var p;const r=e,o=n,{i18n:{t:i}}=dt.useI18n(),{getMessageFromError:a}=Ee.useErrors(),{axiosInstance:s}=Ee.useAxios((p=r.config)==null?void 0:p.axiosRequestConfig),l=t.computed(()=>{var h;return f.value?i("delete.plugin_schema_in_use_title"):i("delete.title",{name:((h=r.plugin)==null?void 0:h.name)||i("delete.custom_plugin")})}),c=t.ref(!1),u=t.ref(""),f=t.ref(!1),d=t.computed(()=>{const h=r.plugin.customPluginType;if(r.config.app==="konnect"){const g=h==="streaming"?ut.select[r.config.app].streamingCustomPluginItem:h==="cloned"?ut.customPlugin[r.config.app].cloned.edit:ut.select[r.config.app].schemaCustomPluginItem;return`${r.config.apiBaseUrl}${g}`.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"").replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{pluginId}/gi,r.plugin.id)}if(r.config.app==="kongManager"&&h&&h!=="schema"){const g=h==="cloned"?ut.customPlugin[r.config.app].cloned.edit:ut.customPlugin[r.config.app].streamed.edit;return`${r.config.apiBaseUrl}${g}`.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{pluginId}/gi,r.plugin.id)}return null}),m=async()=>{var h;if(c.value=!0,u.value="",!((h=r.plugin)!=null&&h.name)){c.value=!1;return}try{d.value&&await s.delete(d.value),o("proceed")}catch(g){Pk(g)?f.value=!0:u.value=a(g)}finally{c.value=!1}};return(h,g)=>{const y=t.resolveComponent("KAlert"),b=t.resolveComponent("KButton"),_=t.resolveComponent("KModal");return!f.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(Ee.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(Ee.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:l.value,visible:"",onCancel:g[0]||(g[0]=C=>h.$emit("closed")),onProceed:m},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:g[2]||(g[2]=C=>h.$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(b,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=C=>h.$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-7ba7e59a"]]),fq={class:"custom-plugins-grid"},pq={class:"empty-state-title"},mq={class:"empty-state-description"},ym=310,hq=Re(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{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}}=dt.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:s}=dt.usePluginHelpers(),l=t.ref(!0),c=E=>{o("plugin-clicked",E)},u=t.computed(()=>{const E=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(E):E}),f=t.ref(!1),d=t.ref(null),m=E=>{f.value=!0,d.value={id:E.id,name:E.name,customPluginType:E.customPluginType}},p=E=>{var w;E&&(o("revalidate"),o("delete:success",((w=d.value)==null?void 0:w.name)||"")),f.value=!1,d.value=null},h=t.ref(ym),g=t.ref(null),y=t.ref(null),b=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),_=t.ref(!1),C=()=>{h.value=Math.max(a(y.value),ym),k()},k=()=>{var E,w;(E=y.value)!=null&&E.length&&(_.value=s(g.value,(w=y.value)==null?void 0:w.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(y.value),ym),k(),window==null||window.addEventListener("resize",C)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",C)}),(E,w)=>{const x=t.resolveComponent("KEmptyState"),T=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",fq,[u.value.length?(t.openBlock(),t.createBlock(T,{key:1,modelValue:l.value,"onUpdate:modelValue":w[0]||(w[0]=M=>l.value=M),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:g,class:"plugin-card-container",style:t.normalizeStyle(b.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,(M,v)=>(t.openBlock(),t.createBlock(gm,{key:`plugin-card-${v}`,ref_for:!0,ref_key:"pluginCardRef",ref:y,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:M,onCustomPluginDelete:N=>m(M),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[_.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(x,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",pq,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",mq,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&d.value?(t.openBlock(),t.createBlock(du,{key:2,config:e.config,plugin:d.value,onClosed:p,onProceed:w[1]||(w[1]=M=>p(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-e1ca63b0"]]),_m=310,$k=Re(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{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}}=dt.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=dt.usePluginHelpers(),c=t.ref(_m),u=t.ref(null),f=t.ref(null),d=t.computed(()=>r.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),m=t.ref(!1),p=t.ref(!1),h=t.ref(null),g=C=>{p.value=!0,h.value={id:C.id,name:C.name,customPluginType:C.customPluginType}},y=C=>{var k;C&&i("delete:success",((k=h.value)==null?void 0:k.name)||""),p.value=!1,h.value=null},b=()=>{c.value=Math.max(s(f.value),_m),_()},_=()=>{var C,k;(C=f.value)!=null&&C.length&&(m.value=l(u.value,(k=f.value)==null?void 0:k.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(s(f.value),_m),_(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(C,k)=>{const E=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(E,{modelValue:r.value,"onUpdate:modelValue":k[0]||(k[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:u,class:"plugin-card-container",style:t.normalizeStyle(d.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.plugins,w=>(t.openBlock(),t.createBlock(gm,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onCustomPluginDelete:x=>g(w),onPluginClicked:x=>i("plugin-clicked",w)},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete","onPluginClicked"]))),128))],4)]),_:2},[m.value?void 0:{name:"trigger",fn:t.withCtx(()=>[k[2]||(k[2]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"]),p.value&&h.value?(t.openBlock(),t.createBlock(du,{key:0,config:e.config,plugin:h.value,onClosed:y,onProceed:k[1]||(k[1]=w=>y(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0970cad5"]]),gq={class:"plugin-select-grid"},yq={class:"empty-state-title"},_q={class:"empty-state-description"},bm=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{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}}=dt.useI18n(),a=t.ref(!1),s=t.ref(af.reduce((u,f)=>(u[f]=!1,u),{})),l=u=>{o("plugin-clicked",u)},c=t.computed(()=>{const u=JSON.parse(JSON.stringify(r.pluginList));return r.config.app==="konnect"&&delete u[Q.PluginGroup.CUSTOM_PLUGINS],u});return(u,f)=>{const d=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",gq,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(d,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",yq,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",_q,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!r.hideHighlightedPlugins&&r.highlightedPlugins.length>0?(t.openBlock(),t.createBlock($k,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=m=>a.value=m),"can-delete-custom-plugin":e.canDeleteCustomPlugin,"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":f[1]||(f[1]=m=>o("delete:success",m)),onPluginClicked:f[2]||(f[2]=m=>l(m))},null,8,["modelValue","can-delete-custom-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(af),m=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[m]?(t.openBlock(),t.createElementBlock("div",{key:m},[t.createVNode($k,{modelValue:s.value[m],"onUpdate:modelValue":p=>s.value[m]=p,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,name:m,"navigate-on-click":e.navigateOnClick,plugins:c.value[m]||[],"onDelete:success":f[3]||(f[3]=p=>o("delete:success",p)),onPluginClicked:f[4]||(f[4]=p=>l(p))},null,8,["modelValue","onUpdate:modelValue","can-delete-custom-plugin","can-edit-custom-plugin","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),bq={class:"kong-ui-entities-plugin-select-form"},wq={class:"plugins-filter-input-container"},kq={key:0},Cq={key:3,"aria-live":"polite",class:"plugins-results-container"},Eq={"data-testid":"kong-tab"},Nq={class:"tab-description"},xq={"data-testid":"custom-tab"},Sq={class:"tab-description"},Aq={key:1},vq=Re(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0: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},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},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}){var We;const r=e,o=n,i=Gr.useRoute(),a=Gr.useRouter(),{i18n:{t:s}}=dt.useI18n(),{pluginMetaData:l}=dt.usePluginMetaData(),{getMessageFromError:c}=Ee.useErrors(),{sortAlpha:u,objectsAreEqual:f}=Ee.useHelpers(),d=t.ref(""),m=t.ref(!0),p=t.ref(!1),h=t.ref(""),g=t.ref(""),y=t.ref([]),b=t.ref([]),_=t.ref([]),C=t.ref({}),k=t.ref([]),E=t.ref(null),w=t.ref(!1),{axiosInstance:x}=Ee.useAxios((We=r.config)==null?void 0:We.axiosRequestConfig),T=he=>he==="none"||he==="disabled"?new Set:new Set(Array.isArray(he)?he:[he]),M=t.computed(()=>T(r.customPluginSupport)),v=t.computed(()=>[...M.value].sort().join("|")),N=t.computed(()=>r.customPluginSupport==="disabled"),O=t.computed(()=>N.value||M.value.size>0),B=t.computed(()=>M.value.has("streaming")),A=t.computed(()=>M.value.has("cloned")),q=t.computed(()=>r.config.app==="kongManager"&&O.value&&!N.value&&me.value&&r.navigateOnClick&&!!r.config.createCustomRoute),z=he=>Xa.isAxiosError(he)&&he.code==="ERR_CANCELED",Y=he=>c(he).toLowerCase().includes("requires a license"),K=t.computed(()=>C.value?Object.entries(C.value).filter(([he])=>he!==Q.PluginGroup.CUSTOM_PLUGINS).reduce((he,[,X])=>{for(const ie of X??[])he[ie.id]=ie;return he},{}):{}),U=t.computed(()=>({id:"custom-plugin-create",name:s("plugins.select.tabs.custom.create.name"),nameKey:"plugins.select.tabs.custom.create.name",description:s("plugins.select.tabs.custom.create.description"),descriptionKey:"plugins.select.tabs.custom.create.description",available:!0,group:Q.PluginGroup.CUSTOM_PLUGINS,scope:[]})),j=t.computed(()=>{var ie;if(!C.value)return{};const he=d.value.toLowerCase(),X=JSON.parse(JSON.stringify(C.value));for(const ne in C.value){const Ce=((ie=C.value[ne])==null?void 0:ie.filter(fe=>{var Ve,qe;return fe.name.toLowerCase().includes(he)||fe.id.toLowerCase().includes(he)||fe.group.toLowerCase().includes(he)||((Ve=fe.clonedFromRef)==null?void 0:Ve.toLowerCase().includes(he))||((qe=fe.customPluginType)==null?void 0:qe.toLowerCase().includes(he))}))||[];Ce.length?X[ne]=Ce:delete X[ne]}if(q.value&&!he){const ne=(X[Q.PluginGroup.CUSTOM_PLUGINS]||[]).filter(Ce=>Ce.id!==U.value.id);X[Q.PluginGroup.CUSTOM_PLUGINS]=[U.value,...ne]}return X}),L=t.computed(()=>r.highlightedPluginIds.reduce((he,X)=>{const ie=K.value[X];return ie&&he.push(ie),he},[])),G=t.computed(()=>Object.keys(j.value).length>0),F=t.computed(()=>Object.keys(C.value).length>0&&!G.value),$=t.computed(()=>r.config.app!=="konnect"||!O.value?[]:[{hash:"#kong",title:s("plugins.select.tabs.kong.title")},{hash:"#custom",title:s("plugins.select.tabs.custom.title"),disabled:N.value}]),S=t.computed(()=>{var X;let he=$.value.length&&((i==null?void 0:i.hash)||((X=$.value[0])==null?void 0:X.hash))||"";return he==="#custom"&&N.value&&(he="#kong"),he}),P=()=>{const he=new Map(_.value.map(ne=>[ne.name,ne])),X=new Set(b.value.map(ne=>ne.name)),ie=new Set([...X,...he.keys()]);return[...new Set([...Object.keys({...r.availableOnServer?{}:l}),...y.value,...ie])].filter(ne=>!r.ignoredPlugins.includes(ne)).filter(ne=>{if(!r.config.entityType)return ne;const Ce=he.has(ne)?he.get(ne).ref:ne;return r.config.entityType==="services"&&l[Ce]&&!l[Ce].scope.includes(Q.PluginScope.SERVICE)||r.config.entityType==="routes"&&l[Ce]&&!l[Ce].scope.includes(Q.PluginScope.ROUTE)||r.config.entityType==="consumer_groups"&&l[Ce]&&!l[Ce].scope.includes(Q.PluginScope.CONSUMER_GROUP)||r.config.entityType==="consumers"&&l[Ce]&&!l[Ce].scope.includes(Q.PluginScope.CONSUMER)?!1:ne}).reduce((ne,Ce)=>{var ye;const fe=l[Ce]&&l[Ce].name||Ce,Ve=he.get(Ce),qe=X.has(Ce),Z={...l[Ce],id:Ce,name:fe,available:y.value.includes(Ce)||!!Ve||qe,disabledMessage:"",group:((ye=l[Ce])==null?void 0:ye.group)||Q.PluginGroup.CUSTOM_PLUGINS};Z.group===Q.PluginGroup.CUSTOM_PLUGINS&&(Ve?(Z.customPluginType="cloned",Z.clonedFromRef=Ve.ref):qe?Z.customPluginType="streaming":Z.customPluginType="schema"),r.disabledPlugins&&(Z.disabledMessage=r.disabledPlugins[Ce]);const ee=Z.group||s("plugins.select.misc_plugins");let ce=ne[ee];return ce||(ce=[]),ce.push(Z),ce.sort(u("name")),ne[ee]=ce,ne},{})},V=he=>{if(!q.value)return he;const ie=(he[Q.PluginGroup.CUSTOM_PLUGINS]||[]).filter(ne=>ne.id!=="custom-plugin-create");return he[Q.PluginGroup.CUSTOM_PLUGINS]=[U.value,...ie],he},W=()=>V(P()),re=t.computed(()=>{var X;let he=`${r.config.apiBaseUrl}${ut.select[r.config.app].availablePlugins}`;if(r.config.app==="konnect")he=he.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"");else if(r.config.app==="kongManager"&&((X=r.config.gatewayInfo)==null?void 0:X.edition)==="community")return`${r.config.apiBaseUrl}${ut.select[r.config.app].availablePluginsForOss}`;return he.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}),oe=t.computed(()=>{if(B.value){let he=`${r.config.apiBaseUrl}${ut.select[r.config.app].streamingCustomPlugins}`;return r.config.app==="konnect"&&(he=he.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"")),he.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}return null}),de=t.computed(()=>{if(A.value){let he=`${r.config.apiBaseUrl}${ut.select[r.config.app].clonedPlugins}`;return r.config.app==="konnect"&&(he=he.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"")),he.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}return null}),Ae=t.computed(()=>{if(r.config.entityType&&r.config.entityId){let he=`${r.config.apiBaseUrl}${ut.list[r.config.app].forEntity}`;return r.config.app==="konnect"&&(he=he.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"")),he.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{entityType}/gi,r.config.entityType||"").replace(/{entityId}/gi,r.config.entityId||"")}return""}),De=he=>{a.replace({hash:he,query:i.query})};t.watch(()=>r.disabledPlugins,(he,X)=>{!f(he,X)&&!m.value&&(C.value=W())}),t.watch(()=>r.ignoredPlugins,(he,X)=>{!f(he,X)&&!m.value&&(C.value=W())}),t.watch(m,he=>{o("loading",he)});const ze=async he=>{if(!Ae.value){k.value=[];return}try{const{data:{data:X}}=await x.get(Ae.value,{signal:he});X!=null&&X.length&&(k.value=X.reduce((ie,ne)=>(ne.name&&ie.push(ne.name),ie),[]))}catch(X){z(X)||(k.value=[])}},ue=async he=>{const X=[];oe.value&&X.push(Bk(x,oe.value,he).then(ie=>{b.value=ie}).catch(ie=>{z(ie)||g.value||(g.value=c(ie)??s("plugins.select.tabs.custom.fetch_error"))})),de.value&&X.push(Bk(x,de.value,he).then(ie=>{_.value=ie}).catch(ie=>{if(z(ie))return;const ne=Y(ie);(ne||!g.value)&&(g.value=ne?s("plugins.select.tabs.custom.license_required"):c(ie)??s("plugins.select.tabs.custom.fetch_error"))})),X.push(ze(he)),await Promise.allSettled(X)},pe=async()=>{var he,X;(he=E.value)==null||he.abort(),E.value=new AbortController,m.value=!0,p.value=!1,h.value="",g.value="",y.value=[],b.value=[],_.value=[],k.value=[];try{const{data:ie}=await x.get(re.value,{signal:E.value.signal});if(r.config.app==="konnect"){const{names:ne}=ie;y.value=ne||[]}else if(r.config.app==="kongManager"){const{plugins:{available_on_server:ne}}=ie;y.value=ne?Object.keys(ne):[]}await ue(E.value.signal),C.value=W()}catch(ie){z(ie)||(p.value=!0,h.value=c(ie))}finally{(X=E.value)!=null&&X.signal.aborted||(m.value=!1)}},me=t.ref(!1),$e=t.ref(!1),Ne=t.ref(!1),ke=he=>{b.value=b.value.filter(X=>X.name!==he),_.value=_.value.filter(X=>X.name!==he),C.value=W(),o("delete-custom:success",he)};t.onBeforeMount(async()=>{me.value=await r.canCreateCustomPlugin(),$e.value=await r.canEditCustomPlugin(),Ne.value=await r.canDeleteCustomPlugin()});const Oe=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var he,X;w.value=!0,(X=(he=Oe.value)==null?void 0:he.input)==null||X.focus(),await pe()}),t.watch(()=>{var he;return[r.config.app==="konnect"?r.config.controlPlaneId:void 0,r.config.workspace,r.config.entityType,r.config.entityId,r.config.app==="kongManager"?(he=r.config.gatewayInfo)==null?void 0:he.edition:void 0,v.value,N.value]},async()=>{w.value&&await pe()}),t.watch(q,()=>{m.value||(C.value=W())}),t.onBeforeUnmount(()=>{var he;(he=E.value)==null||he.abort()}),(he,X)=>{const ie=t.resolveComponent("KInput"),ne=t.resolveComponent("KSkeletonBox"),Ce=t.resolveComponent("KSkeleton"),fe=t.resolveComponent("KEmptyState"),Ve=t.resolveComponent("KTooltip"),qe=t.resolveComponent("KAlert"),Z=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",bq,[t.createElementVNode("div",wq,[t.createVNode(ie,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":X[0]||(X[0]=ee=>d.value=ee),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),m.value?(t.openBlock(),t.createElementBlock("section",kq,[t.createVNode(ne,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Ce,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):p.value?(t.openBlock(),t.createBlock(fe,{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})):F.value&&d.value?(t.openBlock(),t.createBlock(fe,{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:d.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",Cq,[$.value.length?(t.openBlock(),t.createBlock(Z,{key:0,modelValue:S.value,"onUpdate:modelValue":X[3]||(X[3]=ee=>S.value=ee),"data-testid":"plugins-tabs",tabs:$.value,onChange:De},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",Eq,[t.createElementVNode("p",Nq,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(bm,{"can-delete-custom-plugin":Ne.value,"can-edit-custom-plugin":$e.value,config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":L.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":j.value,"onDelete:success":ke,onPluginClicked:X[1]||(X[1]=ee=>he.$emit("plugin-clicked",ee))},null,8,["can-delete-custom-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",xq,[t.renderSlot(he.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",Sq,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),g.value?(t.openBlock(),t.createBlock(qe,{key:0,appearance:"warning",class:"custom-plugins-warning",message:g.value},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(hq,{"can-create-custom-plugin":me.value,"can-delete-custom-plugin":Ne.value,"can-edit-custom-plugin":$e.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":j.value,"onDelete:success":ke,onPluginClicked:X[2]||(X[2]=ee=>he.$emit("plugin-clicked",ee))},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[N.value?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(Ve,{"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",Aq,[g.value?(t.openBlock(),t.createBlock(qe,{key:0,appearance:"warning",class:"custom-plugins-warning",message:g.value},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(bm,{"can-delete-custom-plugin":Ne.value,"can-edit-custom-plugin":$e.value,config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":L.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":j.value,"onDelete:success":ke,onPluginClicked:X[4]||(X[4]=ee=>he.$emit("plugin-clicked",ee))},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])]))]))])}}}),[["__scopeId","data-v-dc270cfe"]]),Iq={class:"plugin-select-card-wrapper","data-testid":"plugin-catalog-card-wrapper"},Tq={class:"plugin-card-header"},Oq={class:"plugin-card-title"},Bq={key:0,class:"plugin-card-actions"},Pq=["data-testid","title"],Vq={key:0},Rq={key:0,class:"custom-plugin-badges"},$q=["title"],Lq={class:"plugin-card-footer"},Dq=Re(t.defineComponent({__name:"PluginCatalogCard",props:{config:{},plugin:{}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const r=n,o=e,i=Gr.useRouter(),{i18n:{t:a}}=dt.useI18n(),s=t.computed(()=>o.config.app==="konnect"?o.config.controlPlaneId:""),l=t.computed(()=>!m.value||d.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)),u=t.computed(()=>!!(m.value&&!d.value&&s.value)),f=t.computed(()=>{if(c.value)return{};if(m.value){const g=o.config;if(d.value&&g.createCustomRoute)return g.createCustomRoute}return o.config.getCreateRoute(o.plugin.id)}),d=t.computed(()=>o.plugin.id==="custom-plugin-create"),m=t.computed(()=>o.config.app==="konnect"&&o.plugin.group===Q.PluginGroup.CUSTOM_PLUGINS),p=()=>{o.config.app==="konnect"&&r("custom-plugin-delete")},h=(g,y)=>{const b=o.config;o.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&i.push(b.getCustomEditRoute(g,y))};return(g,y)=>{const b=t.resolveComponent("KButton"),_=t.resolveComponent("KDropdownItem"),C=t.resolveComponent("KDropdownMenu"),k=t.resolveComponent("KBadge"),E=t.resolveComponent("RouterLink"),w=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Iq,[t.createVNode(w,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createVNode(E,{class:t.normalizeClass(["plugin-select-card",{disabled:c.value}]),"data-testid":`${e.plugin.id}-card`,to:f.value},{default:t.withCtx(()=>[t.createElementVNode("div",Tq,[t.createElementVNode("div",Oq,[t.createVNode(t.unref(qr.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),u.value?(t.openBlock(),t.createElementBlock("div",Bq,[t.createVNode(C,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150",onClick:y[1]||(y[1]=t.withModifiers(()=>{},["stop","prevent"]))},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{size:t.unref(gr)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[t.createVNode(_,{"data-testid":"edit-plugin-schema",onClick:y[0]||(y[0]=t.withModifiers(x=>h(e.plugin.name,e.plugin.customPluginType),["stop","prevent"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1}),t.createVNode(_,{danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(p,["stop","prevent"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})]),_: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||l.value.length?(t.openBlock(),t.createElementBlock("div",Vq,[l.value.length?(t.openBlock(),t.createElementBlock("div",Rq,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,x=>(t.openBlock(),t.createBlock(k,{key:x,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(x),1)]),_:2},1024))),128))])):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("div",{key:1,title:e.plugin.description},t.toDisplayString(e.plugin.description),9,$q)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],8,Pq),t.createElementVNode("div",Lq,[t.createElementVNode("div",null,t.toDisplayString(d.value?t.unref(a)("actions.create_custom"):t.unref(a)("actions.configure")),1),t.renderSlot(g.$slots,"footer-extra",{},void 0,!0)])]),_:3},8,["class","data-testid","to"])]),_:3},8,["text"])])}}}),[["__scopeId","data-v-9af003d0"]]),Mq=["data-testid"],jq={class:"group-icon-wrapper"},Fq={class:"group-title-text"},Uq=["data-testid"],Kq=["data-testid"],Lk=Re(t.defineComponent({__name:"PluginCatalogGroup",props:{config:{},name:{},plugins:{},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 Ie.PopularIcon;case Q.PluginGroup.AI:return Ie.BotIcon;case Q.PluginGroup.ANALYTICS_AND_MONITORING:return Ie.AnalyticsIcon;case Q.PluginGroup.AUTHENTICATION:return Ie.LockIcon;case Q.PluginGroup.LOGGING:return Ie.ServiceDocumentIcon;case Q.PluginGroup.MONETIZATION:return Ie.MoneyIcon;case Q.PluginGroup.SECURITY:return Ie.SecurityIcon;case Q.PluginGroup.SERVERLESS:return Ie.RuntimeServerlessIcon;case Q.PluginGroup.TRAFFIC_CONTROL:return Ie.TrafficIcon;case Q.PluginGroup.TRANSFORMATIONS:return Ie.TransformationIcon;case Q.PluginGroup.DEPLOYMENT:return Ie.DeployIcon;case Q.PluginGroup.CUSTOM_PLUGINS:return Ie.CodeblockIcon;default:return null}}),i=n,{i18n:{t:a}}=dt.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 u(){s.value=!0}const f=t.ref(!1),d=t.ref(null),m=h=>{f.value=!0,d.value={id:h.id,name:h.name,customPluginType:h.customPluginType}},p=h=>{var g;h&&(i("revalidate"),i("delete:success",((g=d.value)==null?void 0:g.name)||"")),f.value=!1,d.value=null};return(h,g)=>(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",jq,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value),{color:t.unref(Ug)},null,8,["color"]))]),t.createElementVNode("span",Fq,t.toDisplayString(e.name),1)],8,Mq)):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,y=>(t.openBlock(),t.createBlock(Dq,{key:`plugin-card-${y.id}`,config:e.config,plugin:y,onCustomPluginDelete:b=>m(y),onPluginClicked:b=>i("plugin-clicked",y)},t.createSlots({_:2},[y.gatewayVersion&&t.unref(vO)(t.unref(Q.GATEWAY_VERSION_TIMESTAMP_MAP)[y.gatewayVersion])?{name:"footer-extra",fn:t.withCtx(()=>[t.createElementVNode("span",{class:"plugin-card-new-badge","data-testid":`plugin-card-${y.id}-new-badge`},t.toDisplayString(t.unref(a)("labels.new")),9,Kq)]),key:"0"}:void 0]),1032,["config","plugin","onCustomPluginDelete","onPluginClicked"]))),128)),c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"show-all-plugin-card",onClick:u},t.toDisplayString(t.unref(a)("plugins.select.show_all")),1)):t.createCommentVNode("",!0)],8,Uq),f.value&&d.value?(t.openBlock(),t.createBlock(du,{key:1,config:e.config,plugin:d.value,onClosed:p,onProceed:g[0]||(g[0]=y=>p(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-f5e0d88b"]]),qq={class:"plugin-select-grid"},Gq={class:"empty-state-title"},Hq={class:"empty-state-description"},zq={key:1},Wq=Re(t.defineComponent({__name:"PluginCatalogGrid",props:{config:{},pluginList:{}},emits:["plugin-clicked","delete:success"],setup(e,{emit:n}){const r=Yl.concat(Jl),o=n,{i18n:{t:i}}=dt.useI18n(),a=s=>{o("plugin-clicked",s)};return(s,l)=>{var u,f;const c=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",qq,[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",Gq,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Hq,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=>{var m;return t.openBlock(),t.createElementBlock(t.Fragment,null,[(m=e.pluginList)!=null&&m[d]?(t.openBlock(),t.createElementBlock("div",{key:d},[t.createVNode(Lk,{config:e.config,name:d,plugins:e.pluginList[d]||[],"onDelete:success":l[0]||(l[0]=p=>o("delete:success",p)),onPluginClicked:l[1]||(l[1]=p=>a(p))},null,8,["config","name","plugins"])])):t.createCommentVNode("",!0)],64)}),256)),(f=(u=e.pluginList)==null?void 0:u["Query Result"])!=null&&f.length?(t.openBlock(),t.createElementBlock("div",zq,[t.createVNode(Lk,{config:e.config,plugins:e.pluginList["Query Result"]||[],"show-all-card":"",onPluginClicked:l[2]||(l[2]=d=>a(d))},null,8,["config","plugins"])])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f8c34698"]]),Yq={class:"plugin-name-cell","data-testid":"plugin-catalog-list-view-name"},Jq=["title"],Xq=["title"],Zq={class:"plugin-action-cell","data-testid":"plugin-catalog-list-view-action"},Qq={key:0,class:"plugin-more-action-cell","data-testid":"plugin-catalog-list-view-more-actions"},eG=Re(t.defineComponent({__name:"PluginCatalogListView",props:{config:{},pluginList:{}},emits:["revalidate","delete:success"],setup(e,{emit:n}){const r=n,o=e,{i18n:{t:i}}=dt.useI18n(),a=t.computed(()=>y.value.some(k=>{var E;return!!((E=k.plugin)!=null&&E.customPluginType)})),s=t.computed(()=>{const k=[{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 a.value&&k.push({key:"more-actions",hideLabel:!0}),k}),l=t.computed(()=>{if(!o.pluginList)return[];const k=Object.values(o.pluginList).flat();return Array.from(new Map(k.map(w=>[w.id,w])).values()).map(w=>({id:w.id,name:w.name,description:w.description,plugin:w}))}),c=t.ref(0),u=t.ref(10),f=t.ref(1),d=t.ref(l.value),m=t.ref(!1),p=t.ref(null),h=k=>{m.value=!0,p.value={id:k.id,name:k.name,customPluginType:k.customPluginType}},g=k=>{var E;k&&(r("revalidate"),r("delete:success",((E=p.value)==null?void 0:E.name)||"")),m.value=!1,p.value=null},y=t.computed(()=>{const k=d.value.length,E=Math.max(1,Math.ceil(k/u.value)),x=(Math.min(f.value,E)-1)*u.value;return d.value.slice(x,x+u.value)});t.watch(l,()=>{d.value=[...l.value],f.value=1,c.value++});const b=({page:k})=>{f.value=k},_=({pageSize:k})=>{u.value=k},C=k=>{const{sortColumnKey:E,sortColumnOrder:w}=k;E==="name"&&(d.value=[...d.value].sort((x,T)=>{const M=(x[E]||"").toLowerCase(),v=(T[E]||"").toLowerCase();return M<v?w==="asc"?-1:1:M>v?w==="asc"?1:-1:0}))};return(k,E)=>{const w=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),T=t.resolveComponent("KDropdown"),M=t.resolveComponent("KTableView"),v=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(v,{"data-testid":"plugin-catalog-list-view-card"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(M,{key:c.value,class:"plugin-catalog-table","client-sort":"",data:y.value,"data-testid":"plugin-catalog-list-view-table",headers:s.value,"pagination-attributes":{totalCount:l.value.length,currentPage:f.value,initialPageSize:u.value,pageSizes:[10,25,50]},"resize-columns":"","row-key":"id",onPageChange:b,onPageSizeChange:_,onSort:C},{name:t.withCtx(({row:N})=>[t.createElementVNode("span",Yq,[t.createVNode(t.unref(qr.PluginIcon),{"data-testid":`plugin-catalog-list-view-${N.plugin.id}-icon`,name:N.plugin.id,size:20},null,8,["data-testid","name"]),t.createElementVNode("span",{class:"plugin-name-text","data-testid":"plugin-catalog-list-view-name-text",title:N.name},t.toDisplayString(N.name),9,Jq)])]),description:t.withCtx(({row:N})=>[t.createElementVNode("span",{class:"plugin-description-cell","data-testid":"plugin-catalog-list-view-description",title:N.description},t.toDisplayString(N.description),9,Xq)]),action:t.withCtx(({row:N})=>[t.createElementVNode("div",Zq,[t.createVNode(w,{appearance:"tertiary","data-testid":"plugin-catalog-list-view-configure-btn",size:"small",to:o.config.getCreateRoute(N.id)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.configure")),1)]),_:1},8,["to"])])]),"more-actions":t.withCtx(({row:N})=>{var O;return[(O=N.plugin)!=null&&O.customPluginType?(t.openBlock(),t.createElementBlock("div",Qq,[t.createVNode(T,{appearance:"tertiary",class:"actions-trigger","data-testid":"plugin-catalog-list-view-more-actions-button",icon:"",size:"small"},{items:t.withCtx(()=>{var B,A;return[t.createVNode(x,{"data-testid":"edit-plugin-schema",item:{label:t.unref(i)("actions.edit"),to:(A=(B=e.config).getCustomEditRoute)==null?void 0:A.call(B,N.plugin.name,N.plugin.customPluginType)}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.edit")),1)]),_:1},8,["item"]),t.createVNode(x,{danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:()=>h(N.plugin)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.delete")),1)]),_:1},8,["onClick"])]}),default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])]),_:2},1024)])):t.createCommentVNode("",!0)]}),_:1},8,["data","headers","pagination-attributes"]))]),_:1}),m.value&&p.value?(t.openBlock(),t.createBlock(du,{key:0,config:e.config,plugin:p.value,onClosed:g,onProceed:E[0]||(E[0]=N=>g(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-9d6526b5"]]),tG={class:"plugin-catalog","data-testid":"plugin-catalog"},nG={class:"plugin-filter","data-testid":"plugin-filter"},rG={class:"plugin-filter-title"},oG={class:"featured-title"},iG={class:"plugin-featured-filter"},aG=["data-testid"],sG={class:"group-title"},lG={class:"plugin-type-filter"},cG=["data-testid"],uG={class:"plugins-container"},dG={class:"plugins-filter-input-container"},fG={class:"icon-container"},pG={key:0},mG={key:3,"aria-live":"polite",class:"plugins-results-container"},hG=Re(t.defineComponent({__name:"PluginCatalog",props:{config:{},disabledPlugins:{},highlightedPluginIds:{},customPluginSupport:{},availableOnServer:{type:Boolean,default:!0}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var z;const r=n,{i18n:{t:o}}=dt.useI18n(),{pluginMetaData:i}=dt.usePluginMetaData(),{getMessageFromError:a}=Ee.useErrors(),{sortAlpha:s,objectsAreEqual:l}=Ee.useHelpers(),c=e,{axiosInstance:u}=Ee.useAxios((z=c.config)==null?void 0:z.axiosRequestConfig),f=t.useTemplateRef("filter-input"),d=t.ref(""),m=t.ref(!1),p=t.ref(!1),h=t.ref(Object.fromEntries(Yl.concat(Jl).map(Y=>[Y,!1]))),g=t.ref(!0),y=t.ref(!1),b=t.ref(""),_=t.ref([]),C=t.ref([]),k=t.ref({}),E=t.ref([]),w=t.ref(!1),x=t.computed(()=>w.value?Ie.GridIcon:Ie.ListIcon),T=t.computed(()=>{var K;let Y=`${c.config.apiBaseUrl}${ut.select[c.config.app].availablePlugins}`;if(c.config.app==="konnect")Y=Y.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"");else if(c.config.app==="kongManager"&&((K=c.config.gatewayInfo)==null?void 0:K.edition)==="community")return`${c.config.apiBaseUrl}${ut.select[c.config.app].availablePluginsForOss}`;return Y.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")}),M=t.computed(()=>c.config.app==="konnect"&&c.customPluginSupport==="streaming"?`${c.config.apiBaseUrl}${ut.select[c.config.app].streamingCustomPlugins}`.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"").replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:""):null),v=t.computed(()=>{if(c.config.entityType&&c.config.entityId){let Y=`${c.config.apiBaseUrl}${ut.list[c.config.app].forEntity}`;return c.config.app==="konnect"&&(Y=Y.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"")),Y.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"").replace(/{entityType}/gi,c.config.entityType||"").replace(/{entityId}/gi,c.config.entityId||"")}return""}),N=t.computed(()=>{var F;if(!k.value)return{};const Y=Object.entries(h.value).filter(([,$])=>$).map(([$])=>$);let K={};Y.length===0&&(K=k.value),Y.forEach($=>{k.value[$]&&(K[$]=k.value[$])});const U=d.value.toLowerCase();if(!U)return K;const j=JSON.parse(JSON.stringify(K));for(const $ in K){const S=((F=K[$])==null?void 0:F.filter(P=>[P.name.toLowerCase(),P.id.toLowerCase()].some(W=>AO(U,W).length===U.length)))||[];S.length?j[$]=S:delete j[$]}const L=Object.values(j).flat().filter($=>!!$),G=Array.from(L.reduce(($,S)=>($.has(S.id)||$.set(S.id,S),$),new Map).values());return G.length?{"Query Result":G}:{}}),O=t.computed(()=>Object.keys(N.value).length>0),B=t.computed(()=>Object.keys(k.value).length>0&&!O.value),A=()=>{Object.keys(h.value).forEach(Y=>{h.value[Y]=!1})},q=()=>{const Y=[...new Set([...Object.keys({...c.availableOnServer?{}:i}),..._.value])].filter(K=>c.config.entityType&&(c.config.entityType==="services"&&i[K]&&!i[K].scope.includes(Q.PluginScope.SERVICE)||c.config.entityType==="routes"&&i[K]&&!i[K].scope.includes(Q.PluginScope.ROUTE)||c.config.entityType==="consumer_groups"&&i[K]&&!i[K].scope.includes(Q.PluginScope.CONSUMER_GROUP)||c.config.entityType==="consumers"&&i[K]&&!i[K].scope.includes(Q.PluginScope.CONSUMER))?!1:K).reduce((K,U)=>{var $;const j=i[U]&&i[U].name||U,L={...i[U],id:U,name:j,available:_.value.includes(U),disabledMessage:"",group:(($=i[U])==null?void 0:$.group)||Q.PluginGroup.CUSTOM_PLUGINS};L.group===Q.PluginGroup.CUSTOM_PLUGINS&&(L.customPluginType=C.value.find(S=>S.name===U)?"streaming":"schema"),c.disabledPlugins&&(L.disabledMessage=c.disabledPlugins[U]);const G=L.group||o("plugins.select.misc_plugins");let F=K[G];return F||(F=[]),F.push(L),F.sort(s("name")),K[G]=F,K},{});if(c.highlightedPluginIds&&c.highlightedPluginIds.length>0){const K=new Set(Object.values(Y).flat().map(j=>j==null?void 0:j.id)),U=c.highlightedPluginIds.flatMap(j=>{var G;const L=i[j];return!L||!K.has(j)?[]:{...L,id:j,name:L.name||j,available:_.value.includes(j),disabledMessage:((G=c.disabledPlugins)==null?void 0:G[j])||"",group:L.group||Q.PluginGroup.CUSTOM_PLUGINS}}).filter(Boolean);U.length>0&&(Y[Q.PluginGroup.FEATURED]=U)}return Y};return t.watch(()=>c.disabledPlugins,(Y,K)=>{!l(Y||{},K||{})&&!g.value&&(k.value=q())}),t.watch(g,Y=>{r("loading",Y)}),t.onMounted(async()=>{var Y,K;(K=(Y=f.value)==null?void 0:Y.input)==null||K.focus();try{const{data:U}=await u.get(T.value);if(c.config.app==="konnect"){const{names:j}=U;if(_.value=j||[],M.value){const{data:L}=await u.get(M.value);C.value=L.data||[]}}else if(c.config.app==="kongManager"){const{plugins:{available_on_server:j}}=U;_.value=j?Object.keys(j):[]}}catch(U){y.value=!0,b.value=a(U)}if(v.value)try{const{data:{data:U}}=await u.get(v.value);if(U!=null&&U.length){const j=U.reduce((L,G)=>(G.name&&L.push(G.name),L),[]);E.value=E.value.concat(j)}}catch{}y.value||(k.value=q()),g.value=!1}),(Y,K)=>{const U=t.resolveComponent("KButton"),j=t.resolveComponent("KCheckbox"),L=t.resolveComponent("KBadge"),G=t.resolveComponent("KCollapse"),F=t.resolveComponent("KInput"),$=t.resolveComponent("KSkeletonBox"),S=t.resolveComponent("KSkeleton"),P=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",tG,[t.createElementVNode("div",nG,[t.createElementVNode("div",rG,[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.select.filter.title"))+" ",1),t.createVNode(U,{appearance:"tertiary",class:"clear-selection","data-testid":"clear-filter-selection",disabled:!Object.values(h.value).some(V=>V),onClick:A},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.select.filter.clear")),1)]),_:1},8,["disabled"])]),t.createVNode(G,{modelValue:m.value,"onUpdate:modelValue":K[0]||(K[0]=V=>m.value=V)},{title:t.withCtx(()=>[t.createElementVNode("div",oG,t.toDisplayString(t.unref(o)("plugins.select.filter.featured")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",iG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Yl),V=>(t.openBlock(),t.createElementBlock("div",{key:V,class:"plugin-filter-item","data-testid":`plugin-filter-item-${V}`},[t.createVNode(j,{modelValue:h.value[V],"onUpdate:modelValue":W=>h.value[V]=W,label:V},null,8,["modelValue","onUpdate:modelValue","label"]),t.createVNode(L,{appearance:"neutral"},{default:t.withCtx(()=>{var W,re;return[t.createTextVNode(t.toDisplayString(((re=(W=k.value)==null?void 0:W[V])==null?void 0:re.length)||0),1)]}),_:2},1024)],8,aG))),128))])]),_:1},8,["modelValue"]),t.createVNode(G,{modelValue:p.value,"onUpdate:modelValue":K[1]||(K[1]=V=>p.value=V)},{title:t.withCtx(()=>[t.createElementVNode("div",sG,t.toDisplayString(t.unref(o)("plugins.select.filter.type")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",lG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Jl),V=>(t.openBlock(),t.createElementBlock("div",{key:V,class:"plugin-filter-item","data-testid":`plugin-filter-item-${V}`},[t.createVNode(j,{modelValue:h.value[V],"onUpdate:modelValue":W=>h.value[V]=W,"data-testid":`plugin-filter-checkbox-${V}`,label:V},null,8,["modelValue","onUpdate:modelValue","data-testid","label"]),t.createVNode(L,{appearance:"neutral","data-testid":`plugin-filter-count-${V}`},{default:t.withCtx(()=>{var W,re;return[t.createTextVNode(t.toDisplayString(((re=(W=k.value)==null?void 0:W[V])==null?void 0:re.length)||0),1)]}),_:2},1032,["data-testid"])],8,cG))),128))])]),_:1},8,["modelValue"])]),t.createElementVNode("div",uG,[t.createElementVNode("div",dG,[t.createVNode(F,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":K[2]||(K[2]=V=>d.value=V),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",fG,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(x.value),{class:"plugins-filter-icon",color:t.unref(bN),onClick:K[3]||(K[3]=V=>w.value=!w.value)},null,8,["color"]))])]),g.value?(t.openBlock(),t.createElementBlock("section",pG,[t.createVNode($,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(S,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):y.value?(t.openBlock(),t.createBlock(P,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(b.value),1)]),_:1})):B.value&&d.value?(t.openBlock(),t.createBlock(P,{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:d.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",mG,[w.value?(t.openBlock(),t.createBlock(eG,{key:0,config:e.config,"plugin-list":N.value,"onDelete:success":K[4]||(K[4]=V=>Y.$emit("delete-custom:success",V))},null,8,["config","plugin-list"])):(t.openBlock(),t.createBlock(Wq,{key:1,config:e.config,"plugin-list":N.value,"onDelete:success":K[5]||(K[5]=V=>Y.$emit("delete-custom:success",V)),onPluginClicked:K[6]||(K[6]=V=>Y.$emit("plugin-clicked",V))},null,8,["config","plugin-list"]))]))])])}}}),[["__scopeId","data-v-350a0fcc"]]),gG={key:1,class:"datakit-config-card-canvas"},yG={class:"config-card-details-label","data-testid":"datakit-configuration-label"},_G={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},bG={class:"canvas-wrapper"},wG=Re(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{},item:{}},setup(e){const n=t.computed(()=>{var r;return gk.safeParse((r=e.pluginData)==null?void 0:r.config).success});return L0(e.pluginData),(r,o)=>{const i=t.resolveComponent("KLabel");return n.value?(t.openBlock(),t.createElementBlock("div",gG,[t.createElementVNode("div",yG,[t.createVNode(i,null,{default:t.withCtx(()=>[...o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])]),_:1})]),t.createElementVNode("div",_G,[t.createElementVNode("div",bG,[t.createVNode(sm,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])):(t.openBlock(),t.createBlock(t.unref(Ee.ConfigCardItem),{key:0,item:e.item},null,8,["item"]))}}}),[["__scopeId","data-v-9a3ef1ac"]]),kG={class:"kong-ui-entity-plugin-config-card"},CG={class:"name-cell-wrapper"},EG={class:"info-name"},NG={key:0},xG={key:0},SG={key:0},AG={key:0},vG={key:0},wm="config",IG=Re(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{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}){var k;const r=n,o=e,{i18n:{t:i}}=dt.useI18n(),a=dt.usePluginMetaData(),{setFieldType:s}=dt.usePluginHelpers(),{getPropValue:l}=Ee.useHelpers(),c=t.computed(()=>{var w;let E=(w=ut.item[o.config.app])==null?void 0:w[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 x=o.expandPartial?"&":"?";E=E.concat(`${x}__ui_data=true`)}return E}),u=t.computed(()=>{var x,T;const E={},w=((x=b.value)==null?void 0:x.fields)||[];for(let M=0;M<w.length;M++){const v=b.value.fields[M],N=(T=Object.keys(v))==null?void 0:T[0];s(E,N,v[N])}return{...E,instance_name:{section:Ee.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:Ee.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:Ee.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:Ee.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:Ee.ConfigurationSchemaSection.Basic,order:6},protocols:{type:Ee.ConfigurationSchemaType.BadgeTag,section:Ee.ConfigurationSchemaSection.Basic,order:7}}}),f=t.computed(()=>{var w,x,T;if(!((w=b.value)!=null&&w.fields))return[];const E=(x=b.value.fields)==null?void 0:x.find(M=>{var N;return((N=Object.keys(M))==null?void 0:N[0])===wm});return((T=E==null?void 0:E[wm])==null?void 0:T.fields)||[]}),d=t.computed(()=>{var w,x;const E={};if(!f.value)return E;for(let T=0;T<((w=f.value)==null?void 0:w.length);T++){const M=f.value[T],v=(x=Object.keys(M))==null?void 0:x[0],N=M[v];N.required&&(E[v]={order:1}),s(E,v,N)}return E}),m=E=>{var x;const w=(x=a.pluginMetaData[o.config.pluginType])==null?void 0:x.scope;return w?Object.fromEntries(Object.entries(E).filter(([T,M])=>M?!0:!(T==="service"&&!w.includes(Q.PluginScope.SERVICE)||T==="route"&&!w.includes(Q.PluginScope.ROUTE)||T==="consumer"&&!w.includes(Q.PluginScope.CONSUMER)||T==="consumer_group"&&!w.includes(Q.PluginScope.CONSUMER_GROUP)))):E},p=E=>wo(E,"__ui_data"),{getMessageFromError:h}=Ee.useErrors(),{axiosInstance:g}=Ee.useAxios((k=o.config)==null?void 0:k.axiosRequestConfig),y=t.computed(()=>{var w,x;let E=`${o.config.apiBaseUrl}${ut.form[o.config.app].pluginSchema}`;return o.config.app==="konnect"&&(E=E.replace(/{controlPlaneId}/gi,((w=o.config)==null?void 0:w.controlPlaneId)||"")),E.replace(/\/{workspace}/gi,(x=o.config)!=null&&x.workspace?`/${o.config.workspace}`:"").replace(/{plugin}/gi,o.config.pluginType)}),b=t.ref({});Ee.useSchemaProvider(b);const _=t.ref(!1),C=t.ref("");return t.onBeforeMount(async()=>{_.value=!0;try{const{data:E}=await g.get(y.value);b.value=E}catch(E){C.value=h(E),r("error:fetch-schema",E)}finally{_.value=!1}}),(E,w)=>{const x=t.resolveComponent("KSkeleton"),T=t.resolveComponent("KEmptyState"),M=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",kG,[_.value?(t.openBlock(),t.createBlock(x,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):C.value?(t.openBlock(),t.createBlock(T,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(C.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(Ee.EntityBaseConfigCard),{key:2,"code-block-record-formatter":p,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(Ee.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":wm,"plugin-config-schema":d.value,"record-resolver":m,"onFetch:error":w[0]||(w[0]=v=>E.$emit("fetch:error",v)),"onFetch:success":w[1]||(w[1]=v=>E.$emit("fetch:success",v)),onLoading:w[2]||(w[2]=v=>E.$emit("loading",v))},t.createSlots({name:t.withCtx(v=>[t.createElementVNode("div",CG,[t.createVNode(t.unref(qr.PluginIcon),{class:"plugin-icon",name:t.unref(l)("rowValue",v),size:24},null,8,["name"]),t.createElementVNode("span",EG,t.toDisplayString(t.unref(a).getDisplayName(t.unref(l)("rowValue",v))),1)])]),consumer:t.withCtx(v=>[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",v).id,value:t.unref(l)("rowValue",v).id,type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",v).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",v).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",NG,"–"))]),route:t.withCtx(v=>[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",v).id,value:t.unref(l)("rowValue",v).id,type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",v).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",v).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",xG,"–"))]),service:t.withCtx(v=>[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",v).id,value:t.unref(l)("rowValue",v).id,type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",v).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",v).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",SG,"–"))]),consumer_group:t.withCtx(v=>[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",v).id,value:t.unref(l)("rowValue",v).id,type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",v).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",v).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",AG,"–"))]),partials:t.withCtx(v=>{var N,O,B,A,q,z,Y,K,U;return[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:(O=(N=t.unref(l)("rowValue",v))==null?void 0:N[0])==null?void 0:O.id,value:((A=(B=t.unref(l)("rowValue",v))==null?void 0:B[0])==null?void 0:A.id)+((z=(q=t.unref(l)("rowValue",v))==null?void 0:q[0])!=null&&z.name?"/"+((K=(Y=t.unref(l)("rowValue",v))==null?void 0:Y[0])==null?void 0:K.name):""),type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var j,L;return E.$emit("navigation-click",(L=(j=t.unref(l)("rowValue",v))==null?void 0:j[0])==null?void 0:L.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"partial-copy-uuid",text:(U=t.unref(l)("rowValue",v))==null?void 0:U[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",vG,"–"))]}),_:2},[e.config.pluginType==="datakit"&&e.config.app==="konnect"?{name:"config-card-item-nodes",fn:t.withCtx(v=>[t.createVNode(wG,{item:v.row,"plugin-data":v.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-03dcf2b4"]]),{usePluginMetaData:TG,useProvideExperimentalFreeForms:OG}=dt;function BG(e,n=!1){const r=e.length;let o=0,i="",a=0,s=16,l=0,c=0,u=0,f=0,d=0;function m(C,k){let E=0,w=0;for(;E<C;){let x=e.charCodeAt(o);if(x>=48&&x<=57)w=w*16+x-48;else if(x>=65&&x<=70)w=w*16+x-65+10;else if(x>=97&&x<=102)w=w*16+x-97+10;else break;o++,E++}return E<C&&(w=-1),w}function p(C){o=C,i="",a=0,s=16,d=0}function h(){let C=o;if(e.charCodeAt(o)===48)o++;else for(o++;o<e.length&&ma(e.charCodeAt(o));)o++;if(o<e.length&&e.charCodeAt(o)===46)if(o++,o<e.length&&ma(e.charCodeAt(o)))for(o++;o<e.length&&ma(e.charCodeAt(o));)o++;else return d=3,e.substring(C,o);let k=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&&ma(e.charCodeAt(o))){for(o++;o<e.length&&ma(e.charCodeAt(o));)o++;k=o}else d=3;return e.substring(C,k)}function g(){let C="",k=o;for(;;){if(o>=r){C+=e.substring(k,o),d=2;break}const E=e.charCodeAt(o);if(E===34){C+=e.substring(k,o),o++;break}if(E===92){if(C+=e.substring(k,o),o++,o>=r){d=2;break}switch(e.charCodeAt(o++)){case 34:C+='"';break;case 92:C+="\\";break;case 47:C+="/";break;case 98:C+="\b";break;case 102:C+="\f";break;case 110:C+=`
|
|
440
|
+
`)[0],A=[{startLineNumber:N+1,startColumn:O+1,endLineNumber:N+1,endColumn:O+2,message:B,severity:Hl.MarkerSeverity.Error,source:Kp}];Hl.editor.setModelMarkers(x,Kp,A),s("error",B)}}),w.onDidPaste(T=>{const M=w.getModel();if(!M)return;const v=M.getValueInRange(T.range);for(const N of JL){const O=N.extract(v);if(O){g.value=O,y.value=N.name,h.value=!0;return}}}),E())}const h=t.shallowRef(!1),g=t.shallowRef(null),y=t.shallowRef("");function b(){h.value=!1,g.value=null,y.value=""}function _(){g.value&&(d.value=u(g.value),b())}function C(w){return o(`plugins.free-form.datakit.examples.${w}`)}function k(w){const x=w.code;try{const T=Vr.load(d.value,{schema:xo,json:!0}),M=Vr.load(x,{schema:xo,json:!0});if(typeof T=="object"&&T!==null&&fn(T.config,M))return;const v=wo({...i,config:{...M}},["__ui_data"]);d.value=u(v)}catch(T){s("error",l(T))}E()}function E(){const w=c.value,x=w==null?void 0:w.getModel();!w||!x||(w.setPosition(x.getFullModelRange().getEndPosition()),w.focus())}return n({setExampleCode:k}),(w,x)=>(t.openBlock(),t.createElementBlock("div",XL,[t.createVNode(t.unref(Ke.KAlert),{class:"examples"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Ie.SparklesIcon))]),default:t.withCtx(()=>[t.createElementVNode("div",ZL,[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.description_example"))+" ",1),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(k0),T=>(t.openBlock(),t.createBlock(t.unref(Ke.KButton),{key:T.id,appearance:"secondary",size:"small",onClick:M=>k(T)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(C(T.i18nKey)),1)]),_:2},1032,["onClick"]))),128))])]),_:1}),t.createVNode(t.unref(Gl.MonacoEditor),{ref:"editor",modelValue:d.value,"onUpdate:modelValue":x[0]||(x[0]=T=>d.value=T),appearance:"standalone",class:"editor",language:"yaml",options:m,theme:"light",onReady:p},null,8,["modelValue"]),t.createVNode(t.unref(Ke.KModal),{"action-button-text":t.unref(o)("plugins.free-form.datakit.detected_config_format_confirm"),title:t.unref(o)("plugins.free-form.datakit.detected_config_format_title"),visible:h.value,onCancel:b,onProceed:_},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.detected_config_format",{format:y.value})),1)]),_:1},8,["action-button-text","title","visible"])]))}}),[["__scopeId","data-v-20217c6a"]]),C0=["request","service_request","service_response","response","vault"],oa=C0,E0=["call","jq","exit","property","static","branch","cache","xml_to_json","json_to_xml","jwt_decode","jwt_sign","jwt_verify"],N0=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],qp=["EdDSA","ES256","ES384","ES512","HS256","HS384","HS512","PS256","PS384","PS512","RS256","RS384","RS512"],eD={},tD={height:"16",viewBox:"0 -960 960 960",width:"16",xmlns:"http://www.w3.org/2000/svg"};function nD(e,n){return t.openBlock(),t.createElementBlock("svg",tD,[...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 rD=Re(eD,[["render",nD]]),oD={},iD={height:"16",viewBox:"0 -960 960 960",width:"16",xmlns:"http://www.w3.org/2000/svg"};function aD(e,n){return t.openBlock(),t.createElementBlock("svg",iD,[...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 sD=Re(oD,[["render",aD]]),Rs=[{id:"external_interaction",colors:{foreground:_N,background:uN},nodes:[{type:"call",icon:Ie.NetworkIcon},{type:"cache",icon:Ie.CachedIcon}]},{id:"control_flow",colors:{foreground:mN,background:iN},nodes:[{type:"branch",icon:Ie.ArrowSplitIcon},{type:"exit",icon:Ie.GatewayIcon}]},{id:"data_transformation",colors:{foreground:Ug,background:aN},nodes:[{type:"jq",icon:Ie.CodeblockIcon},{type:"xml_to_json",icon:Ie.DataObjectIcon},{type:"json_to_xml",icon:Ie.CodeIcon}]},{id:"data_value",colors:{foreground:qg,background:yN},nodes:[{type:"property",icon:Ie.StackIcon},{type:"static",icon:Ie.DeployIcon}]},{id:"authentication",colors:{foreground:hN,background:gN},nodes:[{type:"jwt_sign",icon:Ie.EditSquareIcon},{type:"jwt_decode",icon:rD},{type:"jwt_verify",icon:sD}]}],lD=Rs.reduce((e,n)=>{for(const r of n.nodes)e[r.type]={icon:r.icon,colors:n.colors};return e},{}),ia={vault:{icon:Ie.KeyIcon},request:{icon:Ie.CloudIcon},service_request:{icon:Ie.CloudIcon},service_response:{icon:Ie.CloudIcon},response:{icon:Ie.CloudIcon}};function cD(e){return Rs.find(({id:n})=>n===e).colors}function Gp(e){return lD[e]??ia[e]}const{t:Hp}=nn.createI18n("en-us",cn);function aa(e){return Hp(`plugins.free-form.datakit.flow_editor.node_types.${e}.description`)}function uD(e){return Hp(`plugins.free-form.datakit.flow_editor.node_types.${e}.summary`)}function dD(e){return Hp(`plugins.free-form.datakit.flow_editor.node_panel.groups.${e}`)}const fD={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 pD(e){return{id:e.id,title:dD(e.id),colors:cD(e.id),nodeTypes:e.nodes.map(({type:n})=>n)}}function mD(e,n){return{...fD[n.type],type:n.type,icon:n.icon,group:e.id,summary:uD(n.type),description:aa(n.type)}}const x0=Rs.reduce((e,n)=>(e[n.id]=pD(n),e),{}),Gc=Rs.reduce((e,n)=>{for(const r of n.nodes)e[r.type]=mD(n,r);return e},{}),S0=Rs.map(e=>({...x0[e.id],nodes:e.nodes.map(({type:n})=>Gc[n])}));function hD(e){return x0[e]}const Hc={request:{type:"request",description:aa("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...ia.request},service_request:{type:"service_request",description:aa("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...ia.service_request},service_response:{type:"service_response",description:aa("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}},...ia.service_response},response:{type:"response",description:aa("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...ia.response},vault:{type:"vault",io:{output:{fields:[],configurable:!0}},...ia.vault,hidden:!0}},zp=Object.keys(Hc),Wp=e=>zp.includes(e),gD=e=>[...zp,...E0].includes(e),$n=e=>zp.includes(e),zc=e=>$n(e.type),Yp=e=>!!(e!=null&&e.startsWith("node:")),$s=e=>Object.prototype.hasOwnProperty.call(e,"ownerId");function to(e){return cs(e)}function Jp(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 sa(e){return`${e}:${cc()}`}function Wc(e){const[n,r]=e.split(".");return{nodeName:n,fieldName:r}}function A0(e){const[n,r]=e.split(".");return{nodeId:n,fieldId:r}}function la(e){return $n(e)?Hc[e]:Gc[e]}function v0(e){var i,a,s,l;const n=la(e),r=((a=(i=n.io)==null?void 0:i.input)==null?void 0:a.fields.map(({name:c})=>c))??[],o=((l=(s=n.io)==null?void 0:s.output)==null?void 0:l.fields.map(({name:c})=>c))??[];return{input:r,output:o}}function Ls(e){var r,o,i;return((i=(o=(r=la(e).io)==null?void 0:r.next)==null?void 0:o.branches)==null?void 0:i.map(({name:a})=>a))??[]}function I0(e){return(e??[]).map(n=>({id:sa("field"),name:n}))}function vo(e,n,r){if(r)return e.fields[n].find(o=>o.name===r)}function Io(e,n,r){if(r)return e.fields[n].find(o=>o.id===r)}function Xp(e,n){return n?e.fields.output.some(r=>r.id===n):!0}function T0(e,n){return n?e.fields.input.some(r=>r.id===n):!0}function yD(e){const n=["request","service_request","vault"].includes(e)?"request":"response",r=Hc[e];return{name:e,phase:n,position:{x:0,y:0},fields:v0(r.type),expanded:{},hidden:r.hidden}}function O0(e,n){const o=(typeof e=="string"&&gD(e)?e.toUpperCase():e).replace(/_\d+$/,"");for(let i=1;;i++){const a=`${o}_${i}`;if(!n.has(a))return a}}function Zp(e,n){return`${e}:${n}`}function _D(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 Yc(e,n){return`${e}:${n}`}function B0(e,n,r,o,i){return{id:Zp(e,n),ownerId:e,branch:n,phase:r,memberIds:[...o],position:i!=null&&i.position?{...i.position}:void 0,dimensions:i!=null&&i.dimensions?{...i.dimensions}:void 0}}function bD(e){return e.map(({source:n,target:r})=>({source:n,target:r}))}function wD(e){const n=[];for(const r of e)for(const o of r.memberIds)n.push({source:r.ownerId,target:o});return n}function P0(e,n){return[...bD(e),...wD(n)]}function Jc(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 Qp(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 em(e,n){const r=e.config;if(!r)return[];const o=r[n];return Array.isArray(o)?o.filter(i=>typeof i=="string"&&Yp(i)):[]}function kD({state:e,groupMapById:n,getNodeById:r,history:o}){const i=t.computed(()=>{const N=new Map;for(const O of e.value.groups)for(const B of O.memberIds)N.set(B,{ownerId:O.ownerId,branch:O.branch});return N}),a=t.computed(()=>{const N=new Map;for(const O of e.value.groups)for(const B of O.memberIds)N.set(B,O);return N}),s=t.computed(()=>{const N=new Map;for(const O of e.value.groups)N.has(O.ownerId)||N.set(O.ownerId,[]),N.get(O.ownerId).push(O);return N}),l=t.computed(()=>P0(e.value.edges,e.value.groups)),c=t.computed(()=>Jc(l.value));function u(N,O){return N?Ls(N.type).includes(O):!1}function f(N,O){if(O===N.id)return!1;const B=r(O);return!(!B||$n(B.type)||B.phase!==N.phase)}function d(N,O){const B=[],A=new Set;for(const q of O)A.has(q)||(A.add(q),f(N,q)&&B.push(q));return B}function m(N,O,B){const A=r(N);return u(A,O)?d(A,B):[]}function p(N,O,B){const A=Zp(N.id,O),q=n.value.get(A);B.length>0?q?(q.phase!==N.phase&&(q.phase=N.phase),Jp(q.memberIds,B)||(q.position=void 0,q.dimensions=void 0,q.memberIds=[...B])):e.value.groups.push(B0(N.id,O,N.phase,B)):q&&(e.value.groups=e.value.groups.filter(z=>z.id!==A))}function h(N,O,B,A={}){const q=r(N);if(!u(q,O))return!1;const z=d(q,B),Y=em(q,O);if(Jp(Y,z))return!1;const K=q.config??(q.config={});return z.length>0?K[O]=[...z]:(delete K[O],Object.keys(K).length===0&&delete q.config),p(q,O,z),(A.commit??!0)&&o.commit(A.tag),!0}function g(N,O={}){const B=e.value.groups.filter(A=>A.ownerId!==N);return B.length===e.value.groups.length?!1:(e.value.groups=B,(O.commit??!0)&&o.commit(O.tag),!0)}function y(N,O){const B=n.value.get(Zp(N,O));if(B)return[...B.memberIds];const A=r(N);return A?em(A,O):[]}function b(N){return i.value.get(N)}function _(N){const O=[];let B=a.value.get(N);for(;B;)O.push(B.id),B=a.value.get(B.ownerId);return O}function C(N,O){const B=_(O);if(B.length===0)return!1;const A=new Set(_(N));return A.size===0?!0:B.some(q=>!A.has(q))}function k(N,O){if(N===O)return!0;const B=new Set,A=[O];for(;A.length>0;){const q=A.pop();if(B.has(q))continue;if(B.add(q),q===N)return!0;const z=c.value.get(q);if(z)for(const Y of z)B.has(Y)||A.push(Y)}return!1}function E(N,O,B){const A=r(N);return!(!u(A,O)||!f(A,B)||k(N,B))}function w(N,O,B,A={}){const q=r(N);if(!q||!E(N,O,B))return!1;const z=em(q,O);if(z.includes(B))return!1;x(B,{commit:!1});const Y=[...z,B];return h(N,O,Y,{commit:!1})?((A.commit??!0)&&o.commit(A.tag),!0):!1}function x(N,O={}){const B=b(N);if(!B)return!1;const A=y(B.ownerId,B.branch),q=A.filter(z=>z!==N);return q.length===A.length?!1:h(B.ownerId,B.branch,q,O)}function T(N){let O=0;const B=new Set;let A=a.value.get(N);for(;A&&!B.has(A.id);)O+=1,B.add(A.id),A=a.value.get(A.ownerId);return O}function M(N){const O=n.value.get(N);return O?T(O.ownerId):0}function v(N){return N?n.value.has(N):!1}return{memberGroupMap:a,groupsByOwner:s,findMembership:b,getMembers:y,wouldCreateCycle:k,setMembers:h,prepareMembers:m,addMember:w,removeMember:x,clear:g,getNodeDepth:T,getGroupDepth:M,isGroupId:v,isEdgeEnteringGroup:C,canAddMember:E}}function CD(e,n){const{commit:r,undo:o,redo:i,canUndo:a,canRedo:s,clear:l,reset:c,undoStack:u,redoStack:f}=Lt.useManualRefHistory(e,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let d;function m(C){var k;(k=n==null?void 0:n.onHistoryChange)==null||k.call(n,C,e.value)}function p(C){if(!C){d=void 0,r(),m("commit");return}if(C!=="*"&&d!==C){d=C,r(),m("commit");return}r(),u.value.shift(),m("commit")}function h(){o(),d=void 0,m("undo")}function g(){i(),d=void 0,m("redo")}function y(){l(),d=void 0,m("clear")}function b(){c(),d=void 0,m("reset")}function _(){o(),f.value.shift(),d=void 0,m("revert")}return{canUndo:a,canRedo:s,commit:p,undo:h,redo:g,clear:y,reset:b,revert:_}}function ED(e){var n,r;return((r=(n=e.config)==null?void 0:n.resources)==null?void 0:r.vault)||{}}function ND(e){const{resources:n}=e.config||{};return n!=null&&n.vault?Object.keys(n.vault):[]}function xD(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 V0(e,n){var y,b,_,C,k,E,w;const r=((y=e.config)==null?void 0:y.nodes)??[],o=((b=e.__ui_data)==null?void 0:b.nodes)??[],i=((_=e.__ui_data)==null?void 0:_.groups)??[],a=new Map(o.map(x=>[x.name,x])),s=new Map(i.map(x=>[x.name,x])),l=[],c=[],u=new Map,f=[],d=[],m=new Map,p=x=>{const T=new Set,M=[...x];for(;M.length>0;){const v=M.shift();if(!T.has(v)&&(T.add(v),Wp(v)||(u.get(v).phase="request"),!!m.has(v)))for(const N of m.get(v))T.has(N)||M.push(N)}};let h=!1;for(const x of r){const T=a.get(x.name);!T&&!h&&(h=!0);const M=$0({type:x.type,configNode:x,uiNode:T,pluginData:e});l.push(M),u.set(M.name,M)}for(const x of l){const T=Ls(x.type);if(!T.length)continue;const M=x.config;if(M)for(const v of T){const N=M[v];if(!Array.isArray(N)){s.has(Yc(x.name,v))&&(h=!0);continue}const O=[];for(const B of N){if(typeof B!="string")continue;const A=u.get(B);A&&!$n(A.type)&&O.push(A.id)}if(O.length){M[v]=O;const B=Yc(x.name,v),A=s.get(B),q=A?{position:to(A.position)}:void 0,z=B0(x.id,v,x.phase,O,q);f.push(z),!A&&!h&&(h=!0)}else delete M[v],s.has(Yc(x.name,v))&&(h=!0)}}for(const x of oa)if(!u.has(x)){let T=a.get(x);T||(h||(h=!0),T=yD(x));const M=$0({type:x,uiNode:T,pluginData:e});l.push(M),u.set(M.name,M)}for(const x of r)vD(x,d);for(const x of d){const T=u.get(x.source),M=u.get(x.target);if(!T||!M){T||console.warn(`[initEditorState] skip: source "${x.source}" not found`),M||console.warn(`[initEditorState] skip: target "${x.target}" not found`);continue}m.has(x.source)||m.set(x.source,new Set),m.get(x.source).add(x.target),m.has(x.target)||m.set(x.target,new Set),m.get(x.target).add(x.source),c.push({id:sa("edge"),source:T.id,sourceField:(C=vo(T,"output",x.sourceField))==null?void 0:C.id,target:M.id,targetField:(k=vo(M,"input",x.targetField))==null?void 0:k.id})}p(["request","service_request"]);let g=null;return(w=(E=e.config)==null?void 0:E.resources)!=null&&w.cache&&(g={...e.config.resources.cache},e.partials&&(g.partial_id=e.partials[0].id)),{nodes:l,edges:c,groups:f,pendingLayout:h?n?"keepHistory":"clearHistory":!1,pendingFitView:!0,...g?{cacheConfig:g}:{}}}function R0(e){const{type:n,name:r,phase:o,position:i,fields:a,config:s}=e,l=v0(n),c=la(n);return{id:sa("node"),type:n,name:r??n,phase:o??"request",position:i??{x:0,y:0},expanded:{},fields:{input:I0((a==null?void 0:a.input)??l.input),output:I0((a==null?void 0:a.output)??l.output)},hidden:e.hidden||c.hidden,config:s?to(s):{}}}function SD(e){return $n(e)?e==="request"||e==="service_request"?"request":"response":"request"}function $0({type:e,configNode:n,uiNode:r,pluginData:o}){return R0({type:e,name:n==null?void 0:n.name,phase:(r==null?void 0:r.phase)??SD(e),position:r==null?void 0:r.position,fields:ID({type:e,uiNode:r,configNode:n,pluginData:o}),hidden:r==null?void 0:r.hidden,config:TD({type:e,configNode:n,pluginData:o})})}function AD(e){const{type:n,name:r,input:o,inputs:i,output:a,outputs:s,...l}=e;return to(l)}function vD(e,n){const r=e.name;if(e.input){const{nodeName:o,fieldName:i}=Wc(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}=Wc(i);a&&n.push({source:a,sourceField:s,target:r,targetField:o})}if(e.output){const{nodeName:o,fieldName:i}=Wc(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}=Wc(i);a&&n.push({source:r,sourceField:o,target:a,targetField:s})}}function ID({type:e,uiNode:n,configNode:r,pluginData:o}){var l,c,u,f;const i=la(e),a=i==null?void 0:i.io;if(!a)return;const s={};if((l=a.input)!=null&&l.configurable&&(n?s.input=((c=n.fields)==null?void 0:c.input)??[]:r!=null&&r.inputs&&(s.input=Object.keys(r.inputs))),(u=a.output)!=null&&u.configurable){if(n)s.output=((f=n.fields)==null?void 0:f.output)??[];else{const d=new Set;r!=null&&r.outputs&&Object.keys(r.outputs).forEach(m=>d.add(m)),(r==null?void 0:r.type)==="static"&&r.values&&Object.keys(r.values).forEach(m=>d.add(m)),d.size&&(s.output=Array.from(d))}e==="vault"&&(s.output=ND(o))}return Object.keys(s).length?s:void 0}function TD({type:e,configNode:n,pluginData:r}){return e==="vault"?ED(r):n?AD(n):void 0}function OD(e){const n=t.computed(()=>{const d=new Map;return e.value.nodes.forEach(m=>d.set(m.id,m)),d}),r=t.computed(()=>e.value.edges),o=t.computed(()=>e.value.groups),i=t.computed(()=>P0(r.value,o.value));function a(d){return Jc(i.value,d?{source:d.source,target:d.target}:void 0)}function s(d){const m=n.value.get(d.source),p=n.value.get(d.target);if(!m||!p)return d;const h=T0(m,d.sourceField)&&!Xp(m,d.sourceField),g=Xp(p,d.targetField);return h&&g?{source:d.target,sourceField:d.targetField,target:d.source,targetField:d.sourceField}:d}function l(d){const m=s(d),p=[],h=n.value.get(m.source),g=n.value.get(m.target);if(h||p.push("source node not found"),g||p.push("target node not found"),!h||!g)return{ok:!1,errors:p};Xp(h,m.sourceField)||p.push("source handle is not an output field"),T0(g,m.targetField)||p.push("target handle is not an input field"),g.name==="request"&&p.push('cannot target "request"'),h.name==="response"&&p.push('cannot source from "response"');const y=r.value.some(C=>C.target===m.target&&!C.targetField),b=r.value.some(C=>C.target===m.target&&!!C.targetField);(y&&m.targetField||b&&!m.targetField)&&p.push("cannot mix whole-node and field-level inputs on same target"),m.targetField&&r.value.some(C=>C.target===m.target&&C.targetField===m.targetField)&&p.push("target field already connected"),!m.targetField&&r.value.some(C=>C.target===m.target&&!C.targetField)&&p.push("target input already taken"),m.source===m.target&&p.push("self-loop not allowed");const _=a({source:m.source,target:m.target});return Qp(_)&&p.push("connection introduces a cycle"),p.length?{ok:!1,errors:p}:{ok:!0}}function c(){const d=[];for(const m of oa)[...n.value.values()].some(p=>p.name===m)||d.push(`missing implicit node "${m}"`);for(const m of r.value){const p=n.value.get(m.source);n.value.get(m.target).name==="request"&&d.push(`edge "${m.id}" targets "request"`),p.name==="response"&&d.push(`edge "${m.id}" sources from "response"`)}return Qp(a())&&d.push("graph contains cycle"),d.length?{ok:!1,errors:d}:{ok:!0}}function u(d){return l(d).ok}function f(d){return!d.source||!d.target?!1:u({source:d.source,sourceField:d.sourceHandle,target:d.target,targetField:d.targetHandle})}return{canonicalizeConnection:s,validateConnection:l,validateGraph:c,isValidConnection:u,isValidVueFlowConnection:f,buildAdjacency:Jc}}const[L0,BD]=Lt.createInjectionState(function(n,r={}){const o=t.ref(V0(n)),i=t.ref(),a=t.ref(),s=t.ref(!1),l=t.ref(!1),c=CD(o,{capacity:200,clone:to,onHistoryChange:X=>{var ie,ne;X!=="clear"&&((ne=r.onChange)==null||ne.call(r,$e(),We(),ke(),(ie=o.value.cacheConfig)==null?void 0:ie.partial_id))}}),u=t.ref(!1),f=t.ref(new Set);function d(){o.value.pendingLayout=!1,c.commit("*")}function m(X=!0){o.value.pendingFitView!==X&&(o.value.pendingFitView=X,c.commit("*"))}const p=t.computed(()=>{const X={request:0,response:0};return o.value.nodes.forEach(ie=>{$n(ie.type)||X[ie.phase]++}),X}),h=t.computed(()=>new Map(o.value.nodes.map(X=>[X.id,X]))),g=t.computed(()=>new Map(o.value.nodes.map(X=>[X.name,X]))),y=t.computed(()=>{const X=new Map,ie=new Map;for(const ne of o.value.edges)X.set(ne.id,ne),ie.has(ne.source)||ie.set(ne.source,new Set),ie.get(ne.source).add(ne.id),ie.has(ne.target)||ie.set(ne.target,new Set),ie.get(ne.target).add(ne.id);return{edgeMapById:X,edgeIdMapByNodeId:ie}}),b=t.computed(()=>y.value.edgeMapById),_=t.computed(()=>y.value.edgeIdMapByNodeId),C=t.computed(()=>new Map(o.value.groups.map(X=>[X.id,X]))),k=t.computed(()=>new Set(o.value.nodes.map(X=>X.name))),E=kD({state:o,groupMapById:C,getNodeById:N,history:c}),{canonicalizeConnection:w,validateConnection:x,validateGraph:T,isValidConnection:M,isValidVueFlowConnection:v}=OD(o);function N(X){return h.value.get(X)}function O(X){return g.value.get(X)}function B(X){return b.value.get(X)}function A(X){if(!_.value.has(X))return[];const ie=[];return _.value.get(X).forEach(ne=>{const Ce=B(ne);Ce&&ie.push(Ce)}),ie}function q(X){return A(X).filter(ie=>ie.target===X)}function z(X){return A(X).filter(ie=>ie.source===X)}const Y=t.computed(()=>i.value?N(i.value):void 0);function K(X){i.value=X}function U(X){a.value=X}function j(X){if($n(X.type))throw new Error("[createNode] implicit nodes are fixed.");return R0({type:X.type,name:X.name||($n(X.type)?void 0:O0(X.type,k.value)),phase:X.phase,position:X.position,fields:X.fields,config:X.config})}function L(X,ie=!0){const ne=j(X);if(ne)return o.value.nodes.push(ne),ie&&c.commit(),u.value=!0,ne.id}function G(X,ie,ne=!0){const Ce=N(X);if(!Ce||$n(Ce.type))return;const fe={...to(Ce),id:sa("node"),name:O0(Ce.name,k.value),position:ie??{x:Ce.position.x+20,y:Ce.position.y+20}},Ve=Ls(fe.type);if(Ve.length&&fe.config){for(const qe of Ve)delete fe.config[qe];Object.keys(fe.config).length===0&&delete fe.config}return o.value.nodes.push(fe),ne&&c.commit(),u.value=!0,fe.id}function F(X,ie=!0){if(!N(X))return;o.value.edges=o.value.edges.filter(fe=>fe.source!==X&&fe.target!==X),E.clear(X,{commit:!1}),E.removeMember(X,{commit:!1}),o.value.nodes=o.value.nodes.filter(fe=>fe.id!==X),i.value===X&&(i.value=void 0);const Ce=T();Ce.ok||console.warn("[removeNode] topology invalid:",Ce.errors.join("; ")),ie&&c.commit()}function $(X,ie,ne=!0,Ce){const fe=N(X);if(!fe)return;if(Wp(fe.name)){console.warn("[renameNode] implicit node name is reserved.");return}fe.name!==ie&&(fe.name=ie,ne&&c.commit(Ce))}function S(X,ie,ne=!0){const Ce=N(X);Ce&&(Ce.position={...ie},ne&&c.commit())}function P(X,ie,ne=!0){const Ce=C.value.get(X);if(!Ce)return;const fe=Ce.position;fe&&fe.x===ie.x&&fe.y===ie.y||(Ce.position={...ie},ne&&c.commit())}function V(X,ie,ne=!0){const Ce=C.value.get(X);if(!Ce)return!1;const fe={...ie.position},Ve={...ie.dimensions},qe=Ce.position&&Ce.position.x===fe.x&&Ce.position.y===fe.y,Z=Ce.dimensions&&Ce.dimensions.width===Ve.width&&Ce.dimensions.height===Ve.height;return qe&&Z?!1:(Ce.position=fe,Ce.dimensions=Ve,ne&&c.commit(),!0)}function W(X,ie,ne,Ce=!0,fe){const Ve=N(X);if(!Ve)return;const qe=ne??!Ve.expanded[ie];qe!==!!Ve.expanded[ie]&&(Ve.expanded[ie]=qe,Ce&&c.commit(fe??`toggle:${X}:${ie}`))}function re(X,ie,ne=!0,Ce){const fe=N(X);fe&&(fe.config=to(ie),ne&&c.commit(Ce))}function oe(X,ie,ne,Ce=!0){const fe=N(X);if(!fe)return;const Ve=fe.fields[ie];if(Ve.some(qe=>qe.name===ne)){console.warn(`[addField] field "${ne}" already exists on ${ie}.`);return}Ve.push({id:sa("field"),name:ne}),ie==="input"?fe.fields.input=Ve:fe.fields.output=Ve,Ce&&c.commit()}function de(X,ie,ne,Ce=!0){const fe=N(X);if(!fe)return;const Ve=fe.fields.input,qe=fe.fields.output,Z=Ve.find(ee=>ee.id===ie)??qe.find(ee=>ee.id===ie);Z&&(Z.name=ne,Ce&&c.commit())}function Ae(X,ie,ne=!0,Ce=!0){const fe=N(X);if(!fe)return;const Ve=fe.fields.input,qe=fe.fields.output,Z=Ve.findIndex(ye=>ye.id===ie);Z>=0&&Ve.splice(Z,1);const ee=qe.findIndex(ye=>ye.id===ie);ee>=0&&qe.splice(ee,1),fe.fields.input=Ve,fe.fields.output=qe,ne&&(o.value.edges=o.value.edges.filter(ye=>ye.sourceField!==ie&&ye.targetField!==ie));const ce=T();ce.ok||console.warn("[removeField] topology invalid:",ce.errors.join("; ")),Ce&&c.commit()}function De(X,ie=!0){const ne=w(X),Ce=x(ne);if(!Ce.ok){console.warn("[connectEdge] invalid connection:",Ce.errors.join("; "));return}const fe={id:sa("edge"),...ne};o.value.edges.push(fe);const Ve=T();if(!Ve.ok){o.value.edges.pop(),console.warn("[connectEdge] topology invalid:",Ve.errors.join("; "));return}return ie&&c.commit(),fe.id}function ze(X,ie,ne=!0){ue(X,!1),De(ie,!1),ne&&c.commit()}function ue(X,ie=!0){const ne=o.value.edges.findIndex(Ve=>Ve.id===X);if(ne<0)return;const Ce=o.value.edges[ne];o.value.edges.splice(ne,1);const fe=T();if(!fe.ok){o.value.edges.splice(ne,0,Ce),console.warn("[disconnectEdge] topology invalid:",fe.errors.join("; "));return}ie&&c.commit()}function pe(X,ie=!0){const ne=q(X);for(const Ce of ne)ue(Ce.id,!1);ie&&c.commit()}function me(X,ie=!0){const ne=z(X);for(const Ce of ne)ue(Ce.id,!1);ie&&c.commit()}function $e(){var ie,ne,Ce,fe,Ve;const X=[];for(const qe of o.value.nodes){if($n(qe.type))continue;let Z;const ee={};let ce;const ye={};for(const se of o.value.edges.filter(D=>D.target===qe.id)){const D=N(se.source);if(!D)continue;const le=(ie=Io(D,"output",se.sourceField))==null?void 0:ie.name,ae=le?`${D.name}.${le}`:D.name,ge=(ne=Io(qe,"input",se.targetField))==null?void 0:ne.name;ge?ee[ge]=ae:Z===void 0&&(Z=ae)}for(const se of o.value.edges.filter(D=>D.source===qe.id)){const D=N(se.target);if(!D)continue;const le=D.type;if(!$n(le)||!((Ce=Hc[le].io)!=null&&Ce.input))continue;const ae=(fe=Io(D,"input",se.targetField))==null?void 0:fe.name,ge=ae?`${D.name}.${ae}`:D.name,Be=(Ve=Io(qe,"output",se.sourceField))==null?void 0:Ve.name;Be?ye[Be]=ge:ce===void 0&&(ce=ge)}const Pe={...to(qe.config),name:qe.name,type:qe.type},nt=Ls(qe.type);if(nt.length)for(const se of nt){const D=Pe[se];if(!Array.isArray(D))continue;const le=[];for(const ae of D){const ge=N(ae);ge&&le.push(ge.name)}le.length?Pe[se]=Array.from(new Set(le)):delete Pe[se]}Object.keys(ee).length>0?Pe.inputs=ee:Z!==void 0&&(Pe.input=Z),Object.keys(ye).length>0?Pe.outputs=ye:ce!==void 0&&(Pe.output=ce),X.push(Pe)}return X}function Ne(){return o.value.nodes.map(X=>to({name:X.name,phase:X.phase,position:{...X.position},expanded:{...X.expanded},fields:{input:X.fields.input.map(ie=>ie.name),output:X.fields.output.map(ie=>ie.name)}}))}function ke(){const X={},ie=O("vault");if(ie){const ne=xD(ie.config);ne&&Object.keys(ne).length>0&&(X.vault=ne)}if(o.value.cacheConfig){const{strategy:ne,redis:Ce,memory:fe}=o.value.cacheConfig;X.cache={strategy:ne,redis:Ce,memory:fe}}if(Object.keys(X).length!==0)return X}function Oe(){const X=[];for(const ie of o.value.groups){const ne=N(ie.ownerId);if(!ne)continue;const Ce=ie.position;Ce&&X.push({name:Yc(ne.name,ie.branch),position:{...Ce}})}return X}function We(){return{nodes:Ne(),groups:Oe()}}function he(X,ie){ie&&c.commit(),o.value=V0(X,ie),ie||c.clear()}return{state:o,selection:i,portalSelection:a,modalOpen:s,skipValidation:u,invalidConfigNodeIds:f,propertiesPanelOpen:l,configNodeCounts:p,nodeMapById:h,nodeMapByName:g,edgeMapById:b,edgeIdMapByNodeId:_,groupMapById:C,getNodeById:N,getNodeByName:O,getEdgeById:B,getEdgesByNodeId:A,getInEdgesByNodeId:q,getOutEdgesByNodeId:z,selectedNode:Y,selectNode:K,selectPortalEdge:U,createNode:j,addNode:L,duplicateNode:G,removeNode:F,renameNode:$,moveNode:S,moveGroup:P,setGroupLayout:V,toggleExpanded:W,replaceConfig:re,branchGroups:E,addField:oe,renameField:de,removeField:Ae,connectEdge:De,replaceConnection:ze,disconnectEdge:ue,disconnectInEdges:pe,disconnectOutEdges:me,toConfigNodes:$e,toUINodes:Ne,toUIGroups:Oe,toUIData:We,load:he,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:M,isValidVueFlowConnection:v,validateGraph:()=>T(),clearPendingLayout:d,setPendingFitView:m}});function Kt(){const e=BD();if(!e)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return e}const{t:PD}=nn.createI18n("en-us",cn),Xc=Lt.createGlobalState(()=>{const e=Lt.useLocalStorage("datakit-editor-mode","flow"),n=Lt.useLocalStorage("datakit-editor-sidebar-expanded",!0),r=Lt.useLocalStorage("datakit-editor-response-panel-collapsed",!1);return{editorMode:e,sidePanelExpanded:n,responsePanelCollapsed:r}});function VD({enabled:e,confirm:n}){Gr.onBeforeRouteLeave(()=>t.toValue(e)?n?n():window.confirm(PD("plugins.free-form.datakit.flow_editor.leave_confirm")):!0);const r=o=>{t.toValue(e)&&o.preventDefault()};Lt.useEventListener("beforeunload",r)}const RD=["undo","redo","duplicate","cut","copy","paste"],D0=()=>{};function $D(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function LD(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 DD=Lt.createSharedComposable(()=>{const e=new Set;Lt.useEventListener("keydown",r=>{if($D(r.target))return;const o=LD(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(!RD.some(i=>typeof r[i]=="function"))return D0;const o={enabled:r.enabled??!0,...r};return e.add(o),()=>e.delete(o)}return{subscribe:n}});function M0(e={}){if(typeof window>"u")return D0;const n=DD().subscribe(e);return t.onScopeDispose(n),n}const j0=44,MD=220,F0=366,jD=1e3,FD=j0+parseFloat(Gg),Zc=1,UD=0,KD=1,qD=2,GD=3,ca=parseInt(kN,10),Ds="application/x-datakit+json",Qc={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"]},To={padding:80,gaps:{nodes:60,edges:80,ranks:60}},HD=1600,zD=1.2,WD=0,YD=200,U0=Symbol("confirm-modal"),ua="{key}",ri={"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.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}},eu=Object.keys(ri).filter(e=>e.includes(ua)).map(e=>e.replace(ua,""));function tm(e){if(!e||!js(e))return;const n=eu.find(r=>e.startsWith(r));if(n)return e.slice(n.length).replace(ua,"")}function Ms(e){if(!e)return null;const n=eu.find(r=>e.startsWith(r));return n||e}function js(e){return e?eu.some(n=>e.startsWith(n)):!1}function K0(e){return e?js(e)?Ms(e)+ua:e:null}function nm(e){var r;if(!e)return!1;const n=K0(e);return n?((r=ri[n])==null?void 0:r.readable)??!1:!1}function rm(e){var r;if(!e)return!1;const n=K0(e);return n?((r=ri[n])==null?void 0:r.writable)??!1:!1}function tu(e,n,r){const o=n?Io(e,r,n):void 0;return`${e.name}${o?`.${o.name}`:""}`}function Fs(e,n){const r=n(e.source),o=n(e.target);return[tu(r,e.sourceField,"output"),tu(o,e.targetField,"input")]}function om(e,n,r,o,i){const a=i(e),s=i(r);return[tu(a,n,"output"),tu(s,o,"input")]}function q0(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 u=a+l,f=s+c;if(!Number.isFinite(u)||!Number.isFinite(f))throw new RangeError("Rect boundaries must be finite numbers");a<n&&(n=a),s<r&&(r=s),u>o&&(o=u),f>i&&(i=f)}return{x:n,y:r,width:o-n,height:i-r}}var It=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),wr=It((e,n)=>{var r=Object.defineProperty,o=(B,A,q)=>A in B?r(B,A,{enumerable:!0,configurable:!0,writable:!0,value:q}):B[A]=q,i=(B,A)=>()=>(A||B((A={exports:{}}).exports,A),A.exports),a=(B,A,q)=>o(B,typeof A!="symbol"?A+"":A,q),s=i((B,A)=>{var q="\0",z="\0",Y="",K=class{constructor($){a(this,"_isDirected",!0),a(this,"_isMultigraph",!1),a(this,"_isCompound",!1),a(this,"_label"),a(this,"_defaultNodeLabelFn",()=>{}),a(this,"_defaultEdgeLabelFn",()=>{}),a(this,"_nodes",{}),a(this,"_in",{}),a(this,"_preds",{}),a(this,"_out",{}),a(this,"_sucs",{}),a(this,"_edgeObjs",{}),a(this,"_edgeLabels",{}),a(this,"_nodeCount",0),a(this,"_edgeCount",0),a(this,"_parent"),a(this,"_children"),$&&(this._isDirected=Object.hasOwn($,"directed")?$.directed:!0,this._isMultigraph=Object.hasOwn($,"multigraph")?$.multigraph:!1,this._isCompound=Object.hasOwn($,"compound")?$.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[z]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph($){return this._label=$,this}graph(){return this._label}setDefaultNodeLabel($){return this._defaultNodeLabelFn=$,typeof $!="function"&&(this._defaultNodeLabelFn=()=>$),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var $=this;return this.nodes().filter(S=>Object.keys($._in[S]).length===0)}sinks(){var $=this;return this.nodes().filter(S=>Object.keys($._out[S]).length===0)}setNodes($,S){var P=arguments,V=this;return $.forEach(function(W){P.length>1?V.setNode(W,S):V.setNode(W)}),this}setNode($,S){return Object.hasOwn(this._nodes,$)?(arguments.length>1&&(this._nodes[$]=S),this):(this._nodes[$]=arguments.length>1?S:this._defaultNodeLabelFn($),this._isCompound&&(this._parent[$]=z,this._children[$]={},this._children[z][$]=!0),this._in[$]={},this._preds[$]={},this._out[$]={},this._sucs[$]={},++this._nodeCount,this)}node($){return this._nodes[$]}hasNode($){return Object.hasOwn(this._nodes,$)}removeNode($){var S=this;if(Object.hasOwn(this._nodes,$)){var P=V=>S.removeEdge(S._edgeObjs[V]);delete this._nodes[$],this._isCompound&&(this._removeFromParentsChildList($),delete this._parent[$],this.children($).forEach(function(V){S.setParent(V)}),delete this._children[$]),Object.keys(this._in[$]).forEach(P),delete this._in[$],delete this._preds[$],Object.keys(this._out[$]).forEach(P),delete this._out[$],delete this._sucs[$],--this._nodeCount}return this}setParent($,S){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(S===void 0)S=z;else{S+="";for(var P=S;P!==void 0;P=this.parent(P))if(P===$)throw new Error("Setting "+S+" as parent of "+$+" would create a cycle");this.setNode(S)}return this.setNode($),this._removeFromParentsChildList($),this._parent[$]=S,this._children[S][$]=!0,this}_removeFromParentsChildList($){delete this._children[this._parent[$]][$]}parent($){if(this._isCompound){var S=this._parent[$];if(S!==z)return S}}children($=z){if(this._isCompound){var S=this._children[$];if(S)return Object.keys(S)}else{if($===z)return this.nodes();if(this.hasNode($))return[]}}predecessors($){var S=this._preds[$];if(S)return Object.keys(S)}successors($){var S=this._sucs[$];if(S)return Object.keys(S)}neighbors($){var S=this.predecessors($);if(S){let V=new Set(S);for(var P of this.successors($))V.add(P);return Array.from(V.values())}}isLeaf($){var S;return this.isDirected()?S=this.successors($):S=this.neighbors($),S.length===0}filterNodes($){var S=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});S.setGraph(this.graph());var P=this;Object.entries(this._nodes).forEach(function([re,oe]){$(re)&&S.setNode(re,oe)}),Object.values(this._edgeObjs).forEach(function(re){S.hasNode(re.v)&&S.hasNode(re.w)&&S.setEdge(re,P.edge(re))});var V={};function W(re){var oe=P.parent(re);return oe===void 0||S.hasNode(oe)?(V[re]=oe,oe):oe in V?V[oe]:W(oe)}return this._isCompound&&S.nodes().forEach(re=>S.setParent(re,W(re))),S}setDefaultEdgeLabel($){return this._defaultEdgeLabelFn=$,typeof $!="function"&&(this._defaultEdgeLabelFn=()=>$),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath($,S){var P=this,V=arguments;return $.reduce(function(W,re){return V.length>1?P.setEdge(W,re,S):P.setEdge(W,re),re}),this}setEdge(){var $,S,P,V,W=!1,re=arguments[0];typeof re=="object"&&re!==null&&"v"in re?($=re.v,S=re.w,P=re.name,arguments.length===2&&(V=arguments[1],W=!0)):($=re,S=arguments[1],P=arguments[3],arguments.length>2&&(V=arguments[2],W=!0)),$=""+$,S=""+S,P!==void 0&&(P=""+P);var oe=L(this._isDirected,$,S,P);if(Object.hasOwn(this._edgeLabels,oe))return W&&(this._edgeLabels[oe]=V),this;if(P!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode($),this.setNode(S),this._edgeLabels[oe]=W?V:this._defaultEdgeLabelFn($,S,P);var de=G(this._isDirected,$,S,P);return $=de.v,S=de.w,Object.freeze(de),this._edgeObjs[oe]=de,U(this._preds[S],$),U(this._sucs[$],S),this._in[S][oe]=de,this._out[$][oe]=de,this._edgeCount++,this}edge($,S,P){var V=arguments.length===1?F(this._isDirected,arguments[0]):L(this._isDirected,$,S,P);return this._edgeLabels[V]}edgeAsObj(){let $=this.edge(...arguments);return typeof $!="object"?{label:$}:$}hasEdge($,S,P){var V=arguments.length===1?F(this._isDirected,arguments[0]):L(this._isDirected,$,S,P);return Object.hasOwn(this._edgeLabels,V)}removeEdge($,S,P){var V=arguments.length===1?F(this._isDirected,arguments[0]):L(this._isDirected,$,S,P),W=this._edgeObjs[V];return W&&($=W.v,S=W.w,delete this._edgeLabels[V],delete this._edgeObjs[V],j(this._preds[S],$),j(this._sucs[$],S),delete this._in[S][V],delete this._out[$][V],this._edgeCount--),this}inEdges($,S){return this.isDirected()?this.filterEdges(this._in[$],$,S):this.nodeEdges($,S)}outEdges($,S){return this.isDirected()?this.filterEdges(this._out[$],$,S):this.nodeEdges($,S)}nodeEdges($,S){if($ in this._nodes)return this.filterEdges({...this._in[$],...this._out[$]},$,S)}filterEdges($,S,P){if($){var V=Object.values($);return P?V.filter(function(W){return W.v===S&&W.w===P||W.v===P&&W.w===S}):V}}};function U($,S){$[S]?$[S]++:$[S]=1}function j($,S){--$[S]||delete $[S]}function L($,S,P,V){var W=""+S,re=""+P;if(!$&&W>re){var oe=W;W=re,re=oe}return W+Y+re+Y+(V===void 0?q:V)}function G($,S,P,V){var W=""+S,re=""+P;if(!$&&W>re){var oe=W;W=re,re=oe}var de={v:W,w:re};return V&&(de.name=V),de}function F($,S){return L($,S.v,S.w,S.name)}A.exports=K}),l=i((B,A)=>{A.exports="3.0.2"}),c=i((B,A)=>{A.exports={Graph:s(),version:l()}}),u=i((B,A)=>{var q=s();A.exports={write:z,read:U};function z(j){var L={options:{directed:j.isDirected(),multigraph:j.isMultigraph(),compound:j.isCompound()},nodes:Y(j),edges:K(j)};return j.graph()!==void 0&&(L.value=structuredClone(j.graph())),L}function Y(j){return j.nodes().map(function(L){var G=j.node(L),F=j.parent(L),$={v:L};return G!==void 0&&($.value=G),F!==void 0&&($.parent=F),$})}function K(j){return j.edges().map(function(L){var G=j.edge(L),F={v:L.v,w:L.w};return L.name!==void 0&&(F.name=L.name),G!==void 0&&(F.value=G),F})}function U(j){var L=new q(j.options).setGraph(j.value);return j.nodes.forEach(function(G){L.setNode(G.v,G.value),G.parent&&L.setParent(G.v,G.parent)}),j.edges.forEach(function(G){L.setEdge({v:G.v,w:G.w,name:G.name},G.value)}),L}}),f=i((B,A)=>{A.exports=z;var q=()=>1;function z(K,U,j,L){return Y(K,String(U),j||q,L||function(G){return K.outEdges(G)})}function Y(K,U,j,L){var G={},F=!0,$=0,S=K.nodes(),P=function(oe){var de=j(oe);G[oe.v].distance+de<G[oe.w].distance&&(G[oe.w]={distance:G[oe.v].distance+de,predecessor:oe.v},F=!0)},V=function(){S.forEach(function(oe){L(oe).forEach(function(de){var Ae=de.v===oe?de.v:de.w,De=Ae===de.v?de.w:de.v;P({v:Ae,w:De})})})};S.forEach(function(oe){var de=oe===U?0:Number.POSITIVE_INFINITY;G[oe]={distance:de}});for(var W=S.length,re=1;re<W&&(F=!1,$++,V(),!!F);re++);if($===W-1&&(F=!1,V(),F))throw new Error("The graph contains a negative weight cycle");return G}}),d=i((B,A)=>{A.exports=q;function q(z){var Y={},K=[],U;function j(L){Object.hasOwn(Y,L)||(Y[L]=!0,U.push(L),z.successors(L).forEach(j),z.predecessors(L).forEach(j))}return z.nodes().forEach(function(L){U=[],j(L),U.length&&K.push(U)}),K}}),m=i((B,A)=>{var q=class{constructor(){a(this,"_arr",[]),a(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(z){return z.key})}has(z){return Object.hasOwn(this._keyIndices,z)}priority(z){var Y=this._keyIndices[z];if(Y!==void 0)return this._arr[Y].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(z,Y){var K=this._keyIndices;if(z=String(z),!Object.hasOwn(K,z)){var U=this._arr,j=U.length;return K[z]=j,U.push({key:z,priority:Y}),this._decrease(j),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var z=this._arr.pop();return delete this._keyIndices[z.key],this._heapify(0),z.key}decrease(z,Y){var K=this._keyIndices[z];if(Y>this._arr[K].priority)throw new Error("New priority is greater than current priority. Key: "+z+" Old: "+this._arr[K].priority+" New: "+Y);this._arr[K].priority=Y,this._decrease(K)}_heapify(z){var Y=this._arr,K=2*z,U=K+1,j=z;K<Y.length&&(j=Y[K].priority<Y[j].priority?K:j,U<Y.length&&(j=Y[U].priority<Y[j].priority?U:j),j!==z&&(this._swap(z,j),this._heapify(j)))}_decrease(z){for(var Y=this._arr,K=Y[z].priority,U;z!==0&&(U=z>>1,!(Y[U].priority<K));)this._swap(z,U),z=U}_swap(z,Y){var K=this._arr,U=this._keyIndices,j=K[z],L=K[Y];K[z]=L,K[Y]=j,U[L.key]=z,U[j.key]=Y}};A.exports=q}),p=i((B,A)=>{var q=m();A.exports=Y;var z=()=>1;function Y(U,j,L,G){var F=function($){return U.outEdges($)};return K(U,String(j),L||z,G||F)}function K(U,j,L,G){var F={},$=new q,S,P,V=function(W){var re=W.v!==S?W.v:W.w,oe=F[re],de=L(W),Ae=P.distance+de;if(de<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+W+" Weight: "+de);Ae<oe.distance&&(oe.distance=Ae,oe.predecessor=S,$.decrease(re,Ae))};for(U.nodes().forEach(function(W){var re=W===j?0:Number.POSITIVE_INFINITY;F[W]={distance:re},$.add(W,re)});$.size()>0&&(S=$.removeMin(),P=F[S],P.distance!==Number.POSITIVE_INFINITY);)G(S).forEach(V);return F}}),h=i((B,A)=>{var q=p();A.exports=z;function z(Y,K,U){return Y.nodes().reduce(function(j,L){return j[L]=q(Y,L,K,U),j},{})}}),g=i((B,A)=>{A.exports=q;function q(Y,K,U){if(Y[K].predecessor!==void 0)throw new Error("Invalid source vertex");if(Y[U].predecessor===void 0&&U!==K)throw new Error("Invalid destination vertex");return{weight:Y[U].distance,path:z(Y,K,U)}}function z(Y,K,U){for(var j=[],L=U;L!==K;)j.push(L),L=Y[L].predecessor;return j.push(K),j.reverse()}}),y=i((B,A)=>{A.exports=q;function q(z){var Y=0,K=[],U={},j=[];function L(G){var F=U[G]={onStack:!0,lowlink:Y,index:Y++};if(K.push(G),z.successors(G).forEach(function(P){Object.hasOwn(U,P)?U[P].onStack&&(F.lowlink=Math.min(F.lowlink,U[P].index)):(L(P),F.lowlink=Math.min(F.lowlink,U[P].lowlink))}),F.lowlink===F.index){var $=[],S;do S=K.pop(),U[S].onStack=!1,$.push(S);while(G!==S);j.push($)}}return z.nodes().forEach(function(G){Object.hasOwn(U,G)||L(G)}),j}}),b=i((B,A)=>{var q=y();A.exports=z;function z(Y){return q(Y).filter(function(K){return K.length>1||K.length===1&&Y.hasEdge(K[0],K[0])})}}),_=i((B,A)=>{A.exports=z;var q=()=>1;function z(K,U,j){return Y(K,U||q,j||function(L){return K.outEdges(L)})}function Y(K,U,j){var L={},G=K.nodes();return G.forEach(function(F){L[F]={},L[F][F]={distance:0},G.forEach(function($){F!==$&&(L[F][$]={distance:Number.POSITIVE_INFINITY})}),j(F).forEach(function($){var S=$.v===F?$.w:$.v,P=U($);L[F][S]={distance:P,predecessor:F}})}),G.forEach(function(F){var $=L[F];G.forEach(function(S){var P=L[S];G.forEach(function(V){var W=P[F],re=$[V],oe=P[V],de=W.distance+re.distance;de<oe.distance&&(oe.distance=de,oe.predecessor=re.predecessor)})})}),L}}),C=i((B,A)=>{function q(Y){var K={},U={},j=[];function L(G){if(Object.hasOwn(U,G))throw new z;Object.hasOwn(K,G)||(U[G]=!0,K[G]=!0,Y.predecessors(G).forEach(L),delete U[G],j.push(G))}if(Y.sinks().forEach(L),Object.keys(K).length!==Y.nodeCount())throw new z;return j}var z=class extends Error{constructor(){super(...arguments)}};A.exports=q,q.CycleException=z}),k=i((B,A)=>{var q=C();A.exports=z;function z(Y){try{q(Y)}catch(K){if(K instanceof q.CycleException)return!1;throw K}return!0}}),E=i((B,A)=>{A.exports=q;function q(Y,K,U,j,L){Array.isArray(K)||(K=[K]);var G=(Y.isDirected()?Y.successors:Y.neighbors).bind(Y),F={};return K.forEach(function($){if(!Y.hasNode($))throw new Error("Graph does not have node: "+$);L=z(Y,$,U==="post",F,G,j,L)}),L}function z(Y,K,U,j,L,G,F){return Object.hasOwn(j,K)||(j[K]=!0,U||(F=G(F,K)),L(K).forEach(function($){F=z(Y,$,U,j,L,G,F)}),U&&(F=G(F,K))),F}}),w=i((B,A)=>{var q=E();A.exports=z;function z(Y,K,U){return q(Y,K,U,function(j,L){return j.push(L),j},[])}}),x=i((B,A)=>{var q=w();A.exports=z;function z(Y,K){return q(Y,K,"post")}}),T=i((B,A)=>{var q=w();A.exports=z;function z(Y,K){return q(Y,K,"pre")}}),M=i((B,A)=>{var q=s(),z=m();A.exports=Y;function Y(K,U){var j=new q,L={},G=new z,F;function $(P){var V=P.v===F?P.w:P.v,W=G.priority(V);if(W!==void 0){var re=U(P);re<W&&(L[V]=F,G.decrease(V,re))}}if(K.nodeCount()===0)return j;K.nodes().forEach(function(P){G.add(P,Number.POSITIVE_INFINITY),j.setNode(P)}),G.decrease(K.nodes()[0],0);for(var S=!1;G.size()>0;){if(F=G.removeMin(),Object.hasOwn(L,F))j.setEdge(F,L[F]);else{if(S)throw new Error("Input graph is not connected: "+K);S=!0}K.nodeEdges(F).forEach($)}return j}}),v=i((B,A)=>{var q=p(),z=f();A.exports=Y;function Y(U,j,L,G){return K(U,j,L,G||function(F){return U.outEdges(F)})}function K(U,j,L,G){if(L===void 0)return q(U,j,L,G);for(var F=!1,$=U.nodes(),S=0;S<$.length;S++){for(var P=G($[S]),V=0;V<P.length;V++){var W=P[V],re=W.v===$[S]?W.v:W.w,oe=re===W.v?W.w:W.v;L({v:re,w:oe})<0&&(F=!0)}if(F)return z(U,j,L,G)}return q(U,j,L,G)}}),N=i((B,A)=>{A.exports={bellmanFord:f(),components:d(),dijkstra:p(),dijkstraAll:h(),extractPath:g(),findCycles:b(),floydWarshall:_(),isAcyclic:k(),postorder:x(),preorder:T(),prim:M(),shortestPaths:v(),reduce:E(),tarjan:y(),topsort:C()}}),O=c();n.exports={Graph:O.Graph,json:u(),alg:N(),version:O.version}}),JD=It((e,n)=>{var r=class{constructor(){let a={};a._next=a._prev=a,this._sentinel=a}dequeue(){let a=this._sentinel,s=a._prev;if(s!==a)return o(s),s}enqueue(a){let s=this._sentinel;a._prev&&a._next&&o(a),a._next=s._next,s._next._prev=a,s._next=a,a._prev=s}toString(){let a=[],s=this._sentinel,l=s._prev;for(;l!==s;)a.push(JSON.stringify(l,i)),l=l._prev;return"["+a.join(", ")+"]"}};function o(a){a._prev._next=a._next,a._next._prev=a._prev,delete a._next,delete a._prev}function i(a,s){if(a!=="_next"&&a!=="_prev")return s}n.exports=r}),XD=It((e,n)=>{var r=wr().Graph,o=JD();n.exports=a;var i=()=>1;function a(d,m){if(d.nodeCount()<=1)return[];let p=c(d,m||i);return s(p.graph,p.buckets,p.zeroIdx).flatMap(h=>d.outEdges(h.v,h.w))}function s(d,m,p){let h=[],g=m[m.length-1],y=m[0],b;for(;d.nodeCount();){for(;b=y.dequeue();)l(d,m,p,b);for(;b=g.dequeue();)l(d,m,p,b);if(d.nodeCount()){for(let _=m.length-2;_>0;--_)if(b=m[_].dequeue(),b){h=h.concat(l(d,m,p,b,!0));break}}}return h}function l(d,m,p,h,g){let y=g?[]:void 0;return d.inEdges(h.v).forEach(b=>{let _=d.edge(b),C=d.node(b.v);g&&y.push({v:b.v,w:b.w}),C.out-=_,u(m,p,C)}),d.outEdges(h.v).forEach(b=>{let _=d.edge(b),C=b.w,k=d.node(C);k.in-=_,u(m,p,k)}),d.removeNode(h.v),y}function c(d,m){let p=new r,h=0,g=0;d.nodes().forEach(_=>{p.setNode(_,{v:_,in:0,out:0})}),d.edges().forEach(_=>{let C=p.edge(_.v,_.w)||0,k=m(_),E=C+k;p.setEdge(_.v,_.w,E),g=Math.max(g,p.node(_.v).out+=k),h=Math.max(h,p.node(_.w).in+=k)});let y=f(g+h+3).map(()=>new o),b=h+1;return p.nodes().forEach(_=>{u(y,b,p.node(_))}),{graph:p,buckets:y,zeroIdx:b}}function u(d,m,p){p.out?p.in?d[p.out-p.in+m].enqueue(p):d[d.length-1].enqueue(p):d[0].enqueue(p)}function f(d){let m=[];for(let p=0;p<d;p++)m.push(p);return m}}),Qt=It((e,n)=>{var r=wr().Graph;n.exports={addBorderNode:m,addDummyNode:o,applyWithChunking:g,asNonCompoundGraph:a,buildLayerMatrix:u,intersectRect:c,mapValues:T,maxRank:y,normalizeRanks:f,notime:C,partition:b,pick:x,predecessorWeights:l,range:w,removeEmptyRanks:d,simplify:i,successorWeights:s,time:_,uniqueId:E,zipObject:M};function o(v,N,O,B){for(var A=B;v.hasNode(A);)A=E(B);return O.dummy=N,v.setNode(A,O),A}function i(v){let N=new r().setGraph(v.graph());return v.nodes().forEach(O=>N.setNode(O,v.node(O))),v.edges().forEach(O=>{let B=N.edge(O.v,O.w)||{weight:0,minlen:1},A=v.edge(O);N.setEdge(O.v,O.w,{weight:B.weight+A.weight,minlen:Math.max(B.minlen,A.minlen)})}),N}function a(v){let N=new r({multigraph:v.isMultigraph()}).setGraph(v.graph());return v.nodes().forEach(O=>{v.children(O).length||N.setNode(O,v.node(O))}),v.edges().forEach(O=>{N.setEdge(O,v.edge(O))}),N}function s(v){let N=v.nodes().map(O=>{let B={};return v.outEdges(O).forEach(A=>{B[A.w]=(B[A.w]||0)+v.edge(A).weight}),B});return M(v.nodes(),N)}function l(v){let N=v.nodes().map(O=>{let B={};return v.inEdges(O).forEach(A=>{B[A.v]=(B[A.v]||0)+v.edge(A).weight}),B});return M(v.nodes(),N)}function c(v,N){let O=v.x,B=v.y,A=N.x-O,q=N.y-B,z=v.width/2,Y=v.height/2;if(!A&&!q)throw new Error("Not possible to find intersection inside of the rectangle");let K,U;return Math.abs(q)*z>Math.abs(A)*Y?(q<0&&(Y=-Y),K=Y*A/q,U=Y):(A<0&&(z=-z),K=z,U=z*q/A),{x:O+K,y:B+U}}function u(v){let N=w(y(v)+1).map(()=>[]);return v.nodes().forEach(O=>{let B=v.node(O),A=B.rank;A!==void 0&&(N[A][B.order]=O)}),N}function f(v){let N=v.nodes().map(B=>{let A=v.node(B).rank;return A===void 0?Number.MAX_VALUE:A}),O=g(Math.min,N);v.nodes().forEach(B=>{let A=v.node(B);Object.hasOwn(A,"rank")&&(A.rank-=O)})}function d(v){let N=v.nodes().map(z=>v.node(z).rank).filter(z=>z!==void 0),O=g(Math.min,N),B=[];v.nodes().forEach(z=>{let Y=v.node(z).rank-O;B[Y]||(B[Y]=[]),B[Y].push(z)});let A=0,q=v.graph().nodeRankFactor;Array.from(B).forEach((z,Y)=>{z===void 0&&Y%q!==0?--A:z!==void 0&&A&&z.forEach(K=>v.node(K).rank+=A)})}function m(v,N,O,B){let A={width:0,height:0};return arguments.length>=4&&(A.rank=O,A.order=B),o(v,"border",A,N)}function p(v,N=h){let O=[];for(let B=0;B<v.length;B+=N){let A=v.slice(B,B+N);O.push(A)}return O}var h=65535;function g(v,N){if(N.length>h){let O=p(N);return v.apply(null,O.map(B=>v.apply(null,B)))}else return v.apply(null,N)}function y(v){let N=v.nodes().map(O=>{let B=v.node(O).rank;return B===void 0?Number.MIN_VALUE:B});return g(Math.max,N)}function b(v,N){let O={lhs:[],rhs:[]};return v.forEach(B=>{N(B)?O.lhs.push(B):O.rhs.push(B)}),O}function _(v,N){let O=Date.now();try{return N()}finally{console.log(v+" time: "+(Date.now()-O)+"ms")}}function C(v,N){return N()}var k=0;function E(v){var N=++k;return v+(""+N)}function w(v,N,O=1){N==null&&(N=v,v=0);let B=q=>q<N;O<0&&(B=q=>N<q);let A=[];for(let q=v;B(q);q+=O)A.push(q);return A}function x(v,N){let O={};for(let B of N)v[B]!==void 0&&(O[B]=v[B]);return O}function T(v,N){let O=N;return typeof N=="string"&&(O=B=>B[N]),Object.entries(v).reduce((B,[A,q])=>(B[A]=O(q,A),B),{})}function M(v,N){return v.reduce((O,B,A)=>(O[B]=N[A],O),{})}}),ZD=It((e,n)=>{var r=XD(),o=Qt().uniqueId;n.exports={run:i,undo:s};function i(l){(l.graph().acyclicer==="greedy"?r(l,c(l)):a(l)).forEach(u=>{let f=l.edge(u);l.removeEdge(u),f.forwardName=u.name,f.reversed=!0,l.setEdge(u.w,u.v,f,o("rev"))});function c(u){return f=>u.edge(f).weight}}function a(l){let c=[],u={},f={};function d(m){Object.hasOwn(f,m)||(f[m]=!0,u[m]=!0,l.outEdges(m).forEach(p=>{Object.hasOwn(u,p.w)?c.push(p):d(p.w)}),delete u[m])}return l.nodes().forEach(d),c}function s(l){l.edges().forEach(c=>{let u=l.edge(c);if(u.reversed){l.removeEdge(c);let f=u.forwardName;delete u.reversed,delete u.forwardName,l.setEdge(c.w,c.v,u,f)}})}}),QD=It((e,n)=>{var r=Qt();n.exports={run:o,undo:a};function o(s){s.graph().dummyChains=[],s.edges().forEach(l=>i(s,l))}function i(s,l){let c=l.v,u=s.node(c).rank,f=l.w,d=s.node(f).rank,m=l.name,p=s.edge(l),h=p.labelRank;if(d===u+1)return;s.removeEdge(l);let g,y,b;for(b=0,++u;u<d;++b,++u)p.points=[],y={width:0,height:0,edgeLabel:p,edgeObj:l,rank:u},g=r.addDummyNode(s,"edge",y,"_d"),u===h&&(y.width=p.width,y.height=p.height,y.dummy="edge-label",y.labelpos=p.labelpos),s.setEdge(c,g,{weight:p.weight},m),b===0&&s.graph().dummyChains.push(g),c=g;s.setEdge(c,f,{weight:p.weight},m)}function a(s){s.graph().dummyChains.forEach(l=>{let c=s.node(l),u=c.edgeLabel,f;for(s.setEdge(c.edgeObj,u);c.dummy;)f=s.successors(l)[0],s.removeNode(l),u.points.push({x:c.x,y:c.y}),c.dummy==="edge-label"&&(u.x=c.x,u.y=c.y,u.width=c.width,u.height=c.height),l=f,c=s.node(l)})}}),nu=It((e,n)=>{var{applyWithChunking:r}=Qt();n.exports={longestPath:o,slack:i};function o(a){var s={};function l(c){var u=a.node(c);if(Object.hasOwn(s,c))return u.rank;s[c]=!0;let f=a.outEdges(c).map(m=>m==null?Number.POSITIVE_INFINITY:l(m.w)-a.edge(m).minlen);var d=r(Math.min,f);return d===Number.POSITIVE_INFINITY&&(d=0),u.rank=d}a.sources().forEach(l)}function i(a,s){return a.node(s.w).rank-a.node(s.v).rank-a.edge(s).minlen}}),G0=It((e,n)=>{var r=wr().Graph,o=nu().slack;n.exports=i;function i(c){var u=new r({directed:!1}),f=c.nodes()[0],d=c.nodeCount();u.setNode(f,{});for(var m,p;a(u,c)<d;)m=s(u,c),p=u.hasNode(m.v)?o(c,m):-o(c,m),l(u,c,p);return u}function a(c,u){function f(d){u.nodeEdges(d).forEach(m=>{var p=m.v,h=d===p?m.w:p;!c.hasNode(h)&&!o(u,m)&&(c.setNode(h,{}),c.setEdge(d,h,{}),f(h))})}return c.nodes().forEach(f),c.nodeCount()}function s(c,u){return u.edges().reduce((f,d)=>{let m=Number.POSITIVE_INFINITY;return c.hasNode(d.v)!==c.hasNode(d.w)&&(m=o(u,d)),m<f[0]?[m,d]:f},[Number.POSITIVE_INFINITY,null])[1]}function l(c,u,f){c.nodes().forEach(d=>u.node(d).rank+=f)}}),e2=It((e,n)=>{var r=G0(),o=nu().slack,i=nu().longestPath,a=wr().alg.preorder,s=wr().alg.postorder,l=Qt().simplify;n.exports=c,c.initLowLimValues=m,c.initCutValues=u,c.calcCutValue=d,c.leaveEdge=h,c.enterEdge=g,c.exchangeEdges=y;function c(k){k=l(k),i(k);var E=r(k);m(E),u(E,k);for(var w,x;w=h(E);)x=g(E,k,w),y(E,k,w,x)}function u(k,E){var w=s(k,k.nodes());w=w.slice(0,w.length-1),w.forEach(x=>f(k,E,x))}function f(k,E,w){var x=k.node(w),T=x.parent;k.edge(w,T).cutvalue=d(k,E,w)}function d(k,E,w){var x=k.node(w),T=x.parent,M=!0,v=E.edge(w,T),N=0;return v||(M=!1,v=E.edge(T,w)),N=v.weight,E.nodeEdges(w).forEach(O=>{var B=O.v===w,A=B?O.w:O.v;if(A!==T){var q=B===M,z=E.edge(O).weight;if(N+=q?z:-z,_(k,w,A)){var Y=k.edge(w,A).cutvalue;N+=q?-Y:Y}}}),N}function m(k,E){arguments.length<2&&(E=k.nodes()[0]),p(k,{},1,E)}function p(k,E,w,x,T){var M=w,v=k.node(x);return E[x]=!0,k.neighbors(x).forEach(N=>{Object.hasOwn(E,N)||(w=p(k,E,w,N,x))}),v.low=M,v.lim=w++,T?v.parent=T:delete v.parent,w}function h(k){return k.edges().find(E=>k.edge(E).cutvalue<0)}function g(k,E,w){var x=w.v,T=w.w;E.hasEdge(x,T)||(x=w.w,T=w.v);var M=k.node(x),v=k.node(T),N=M,O=!1;M.lim>v.lim&&(N=v,O=!0);var B=E.edges().filter(A=>O===C(k,k.node(A.v),N)&&O!==C(k,k.node(A.w),N));return B.reduce((A,q)=>o(E,q)<o(E,A)?q:A)}function y(k,E,w,x){var T=w.v,M=w.w;k.removeEdge(T,M),k.setEdge(x.v,x.w,{}),m(k),u(k,E),b(k,E)}function b(k,E){var w=k.nodes().find(T=>!E.node(T).parent),x=a(k,w);x=x.slice(1),x.forEach(T=>{var M=k.node(T).parent,v=E.edge(T,M),N=!1;v||(v=E.edge(M,T),N=!0),E.node(T).rank=E.node(M).rank+(N?v.minlen:-v.minlen)})}function _(k,E,w){return k.hasEdge(E,w)}function C(k,E,w){return w.low<=E.lim&&E.lim<=w.lim}}),t2=It((e,n)=>{var r=nu(),o=r.longestPath,i=G0(),a=e2();n.exports=s;function s(f){var d=f.graph().ranker;if(d instanceof Function)return d(f);switch(f.graph().ranker){case"network-simplex":u(f);break;case"tight-tree":c(f);break;case"longest-path":l(f);break;case"none":break;default:u(f)}}var l=o;function c(f){o(f),i(f)}function u(f){a(f)}}),n2=It((e,n)=>{n.exports=r;function r(a){let s=i(a);a.graph().dummyChains.forEach(l=>{let c=a.node(l),u=c.edgeObj,f=o(a,s,u.v,u.w),d=f.path,m=f.lca,p=0,h=d[p],g=!0;for(;l!==u.w;){if(c=a.node(l),g){for(;(h=d[p])!==m&&a.node(h).maxRank<c.rank;)p++;h===m&&(g=!1)}if(!g){for(;p<d.length-1&&a.node(h=d[p+1]).minRank<=c.rank;)p++;h=d[p]}a.setParent(l,h),l=a.successors(l)[0]}})}function o(a,s,l,c){let u=[],f=[],d=Math.min(s[l].low,s[c].low),m=Math.max(s[l].lim,s[c].lim),p,h;p=l;do p=a.parent(p),u.push(p);while(p&&(s[p].low>d||m>s[p].lim));for(h=p,p=c;(p=a.parent(p))!==h;)f.push(p);return{path:u.concat(f.reverse()),lca:h}}function i(a){let s={},l=0;function c(u){let f=l;a.children(u).forEach(c),s[u]={low:f,lim:l++}}return a.children().forEach(c),s}}),r2=It((e,n)=>{var r=Qt();n.exports={run:o,cleanup:l};function o(c){let u=r.addDummyNode(c,"root",{},"_root"),f=a(c),d=Object.values(f),m=r.applyWithChunking(Math.max,d)-1,p=2*m+1;c.graph().nestingRoot=u,c.edges().forEach(g=>c.edge(g).minlen*=p);let h=s(c)+1;c.children().forEach(g=>i(c,u,p,h,m,f,g)),c.graph().nodeRankFactor=p}function i(c,u,f,d,m,p,h){let g=c.children(h);if(!g.length){h!==u&&c.setEdge(u,h,{weight:0,minlen:f});return}let y=r.addBorderNode(c,"_bt"),b=r.addBorderNode(c,"_bb"),_=c.node(h);c.setParent(y,h),_.borderTop=y,c.setParent(b,h),_.borderBottom=b,g.forEach(C=>{i(c,u,f,d,m,p,C);let k=c.node(C),E=k.borderTop?k.borderTop:C,w=k.borderBottom?k.borderBottom:C,x=k.borderTop?d:2*d,T=E!==w?1:m-p[h]+1;c.setEdge(y,E,{weight:x,minlen:T,nestingEdge:!0}),c.setEdge(w,b,{weight:x,minlen:T,nestingEdge:!0})}),c.parent(h)||c.setEdge(u,y,{weight:0,minlen:m+p[h]})}function a(c){var u={};function f(d,m){var p=c.children(d);p&&p.length&&p.forEach(h=>f(h,m+1)),u[d]=m}return c.children().forEach(d=>f(d,1)),u}function s(c){return c.edges().reduce((u,f)=>u+c.edge(f).weight,0)}function l(c){var u=c.graph();c.removeNode(u.nestingRoot),delete u.nestingRoot,c.edges().forEach(f=>{var d=c.edge(f);d.nestingEdge&&c.removeEdge(f)})}}),o2=It((e,n)=>{var r=Qt();n.exports=o;function o(a){function s(l){let c=a.children(l),u=a.node(l);if(c.length&&c.forEach(s),Object.hasOwn(u,"minRank")){u.borderLeft=[],u.borderRight=[];for(let f=u.minRank,d=u.maxRank+1;f<d;++f)i(a,"borderLeft","_bl",l,u,f),i(a,"borderRight","_br",l,u,f)}}a.children().forEach(s)}function i(a,s,l,c,u,f){let d={width:0,height:0,rank:f,borderType:s},m=u[s][f-1],p=r.addDummyNode(a,"border",d,l);u[s][f]=p,a.setParent(p,c),m&&a.setEdge(m,p,{weight:1})}}),i2=It((e,n)=>{n.exports={adjust:r,undo:o};function r(f){let d=f.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&i(f)}function o(f){let d=f.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&s(f),(d==="lr"||d==="rl")&&(c(f),i(f))}function i(f){f.nodes().forEach(d=>a(f.node(d))),f.edges().forEach(d=>a(f.edge(d)))}function a(f){let d=f.width;f.width=f.height,f.height=d}function s(f){f.nodes().forEach(d=>l(f.node(d))),f.edges().forEach(d=>{let m=f.edge(d);m.points.forEach(l),Object.hasOwn(m,"y")&&l(m)})}function l(f){f.y=-f.y}function c(f){f.nodes().forEach(d=>u(f.node(d))),f.edges().forEach(d=>{let m=f.edge(d);m.points.forEach(u),Object.hasOwn(m,"x")&&u(m)})}function u(f){let d=f.x;f.x=f.y,f.y=d}}),a2=It((e,n)=>{var r=Qt();n.exports=o;function o(i){let a={},s=i.nodes().filter(d=>!i.children(d).length),l=s.map(d=>i.node(d).rank),c=r.applyWithChunking(Math.max,l),u=r.range(c+1).map(()=>[]);function f(d){if(a[d])return;a[d]=!0;let m=i.node(d);u[m.rank].push(d),i.successors(d).forEach(f)}return s.sort((d,m)=>i.node(d).rank-i.node(m).rank).forEach(f),u}}),s2=It((e,n)=>{var r=Qt().zipObject;n.exports=o;function o(a,s){let l=0;for(let c=1;c<s.length;++c)l+=i(a,s[c-1],s[c]);return l}function i(a,s,l){let c=r(l,l.map((h,g)=>g)),u=s.flatMap(h=>a.outEdges(h).map(g=>({pos:c[g.w],weight:a.edge(g).weight})).sort((g,y)=>g.pos-y.pos)),f=1;for(;f<l.length;)f<<=1;let d=2*f-1;f-=1;let m=new Array(d).fill(0),p=0;return u.forEach(h=>{let g=h.pos+f;m[g]+=h.weight;let y=0;for(;g>0;)g%2&&(y+=m[g+1]),g=g-1>>1,m[g]+=h.weight;p+=h.weight*y}),p}}),l2=It((e,n)=>{n.exports=r;function r(o,i=[]){return i.map(a=>{let s=o.inEdges(a);if(s.length){let l=s.reduce((c,u)=>{let f=o.edge(u),d=o.node(u.v);return{sum:c.sum+f.weight*d.order,weight:c.weight+f.weight}},{sum:0,weight:0});return{v:a,barycenter:l.sum/l.weight,weight:l.weight}}else return{v:a}})}}),c2=It((e,n)=>{var r=Qt();n.exports=o;function o(s,l){let c={};s.forEach((f,d)=>{let m=c[f.v]={indegree:0,in:[],out:[],vs:[f.v],i:d};f.barycenter!==void 0&&(m.barycenter=f.barycenter,m.weight=f.weight)}),l.edges().forEach(f=>{let d=c[f.v],m=c[f.w];d!==void 0&&m!==void 0&&(m.indegree++,d.out.push(c[f.w]))});let u=Object.values(c).filter(f=>!f.indegree);return i(u)}function i(s){let l=[];function c(f){return d=>{d.merged||(d.barycenter===void 0||f.barycenter===void 0||d.barycenter>=f.barycenter)&&a(f,d)}}function u(f){return d=>{d.in.push(f),--d.indegree===0&&s.push(d)}}for(;s.length;){let f=s.pop();l.push(f),f.in.reverse().forEach(c(f)),f.out.forEach(u(f))}return l.filter(f=>!f.merged).map(f=>r.pick(f,["vs","i","barycenter","weight"]))}function a(s,l){let c=0,u=0;s.weight&&(c+=s.barycenter*s.weight,u+=s.weight),l.weight&&(c+=l.barycenter*l.weight,u+=l.weight),s.vs=l.vs.concat(s.vs),s.barycenter=c/u,s.weight=u,s.i=Math.min(l.i,s.i),l.merged=!0}}),u2=It((e,n)=>{var r=Qt();n.exports=o;function o(s,l){let c=r.partition(s,y=>Object.hasOwn(y,"barycenter")),u=c.lhs,f=c.rhs.sort((y,b)=>b.i-y.i),d=[],m=0,p=0,h=0;u.sort(a(!!l)),h=i(d,f,h),u.forEach(y=>{h+=y.vs.length,d.push(y.vs),m+=y.barycenter*y.weight,p+=y.weight,h=i(d,f,h)});let g={vs:d.flat(!0)};return p&&(g.barycenter=m/p,g.weight=p),g}function i(s,l,c){let u;for(;l.length&&(u=l[l.length-1]).i<=c;)l.pop(),s.push(u.vs),c++;return c}function a(s){return(l,c)=>l.barycenter<c.barycenter?-1:l.barycenter>c.barycenter?1:s?c.i-l.i:l.i-c.i}}),d2=It((e,n)=>{var r=l2(),o=c2(),i=u2();n.exports=a;function a(c,u,f,d){let m=c.children(u),p=c.node(u),h=p?p.borderLeft:void 0,g=p?p.borderRight:void 0,y={};h&&(m=m.filter(k=>k!==h&&k!==g));let b=r(c,m);b.forEach(k=>{if(c.children(k.v).length){let E=a(c,k.v,f,d);y[k.v]=E,Object.hasOwn(E,"barycenter")&&l(k,E)}});let _=o(b,f);s(_,y);let C=i(_,d);if(h&&(C.vs=[h,C.vs,g].flat(!0),c.predecessors(h).length)){let k=c.node(c.predecessors(h)[0]),E=c.node(c.predecessors(g)[0]);Object.hasOwn(C,"barycenter")||(C.barycenter=0,C.weight=0),C.barycenter=(C.barycenter*C.weight+k.order+E.order)/(C.weight+2),C.weight+=2}return C}function s(c,u){c.forEach(f=>{f.vs=f.vs.flatMap(d=>u[d]?u[d].vs:d)})}function l(c,u){c.barycenter!==void 0?(c.barycenter=(c.barycenter*c.weight+u.barycenter*u.weight)/(c.weight+u.weight),c.weight+=u.weight):(c.barycenter=u.barycenter,c.weight=u.weight)}}),f2=It((e,n)=>{var r=wr().Graph,o=Qt();n.exports=i;function i(s,l,c,u){u||(u=s.nodes());let f=a(s),d=new r({compound:!0}).setGraph({root:f}).setDefaultNodeLabel(m=>s.node(m));return u.forEach(m=>{let p=s.node(m),h=s.parent(m);(p.rank===l||p.minRank<=l&&l<=p.maxRank)&&(d.setNode(m),d.setParent(m,h||f),s[c](m).forEach(g=>{let y=g.v===m?g.w:g.v,b=d.edge(y,m),_=b!==void 0?b.weight:0;d.setEdge(y,m,{weight:s.edge(g).weight+_})}),Object.hasOwn(p,"minRank")&&d.setNode(m,{borderLeft:p.borderLeft[l],borderRight:p.borderRight[l]}))}),d}function a(s){for(var l;s.hasNode(l=o.uniqueId("_root")););return l}}),p2=It((e,n)=>{n.exports=r;function r(o,i,a){let s={},l;a.forEach(c=>{let u=o.parent(c),f,d;for(;u;){if(f=o.parent(u),f?(d=s[f],s[f]=u):(d=l,l=u),d&&d!==u){i.setEdge(d,u);return}u=f}})}}),m2=It((e,n)=>{var r=a2(),o=s2(),i=d2(),a=f2(),s=p2(),l=wr().Graph,c=Qt();n.exports=u;function u(p,h={}){if(typeof h.customOrder=="function"){h.customOrder(p,u);return}let g=c.maxRank(p),y=f(p,c.range(1,g+1),"inEdges"),b=f(p,c.range(g-1,-1,-1),"outEdges"),_=r(p);if(m(p,_),h.disableOptimalOrderHeuristic)return;let C=Number.POSITIVE_INFINITY,k,E=h.constraints||[];for(let w=0,x=0;x<4;++w,++x){d(w%2?y:b,w%4>=2,E),_=c.buildLayerMatrix(p);let T=o(p,_);T<C?(x=0,k=Object.assign({},_),C=T):T===C&&(k=structuredClone(_))}m(p,k)}function f(p,h,g){let y=new Map,b=(_,C)=>{y.has(_)||y.set(_,[]),y.get(_).push(C)};for(let _ of p.nodes()){let C=p.node(_);if(typeof C.rank=="number"&&b(C.rank,_),typeof C.minRank=="number"&&typeof C.maxRank=="number")for(let k=C.minRank;k<=C.maxRank;k++)k!==C.rank&&b(k,_)}return h.map(function(_){return a(p,_,g,y.get(_)||[])})}function d(p,h,g){let y=new l;p.forEach(function(b){g.forEach(k=>y.setEdge(k.left,k.right));let _=b.graph().root,C=i(b,_,y,h);C.vs.forEach((k,E)=>b.node(k).order=E),s(b,y,C.vs)})}function m(p,h){Object.values(h).forEach(g=>g.forEach((y,b)=>p.node(y).order=b))}}),h2=It((e,n)=>{var r=wr().Graph,o=Qt();n.exports={positionX:g,findType1Conflicts:i,findType2Conflicts:a,addConflict:l,hasConflict:c,verticalAlignment:u,horizontalCompaction:f,alignCoordinates:p,findSmallestWidthAlignment:m,balance:h};function i(_,C){let k={};function E(w,x){let T=0,M=0,v=w.length,N=x[x.length-1];return x.forEach((O,B)=>{let A=s(_,O),q=A?_.node(A).order:v;(A||O===N)&&(x.slice(M,B+1).forEach(z=>{_.predecessors(z).forEach(Y=>{let K=_.node(Y),U=K.order;(U<T||q<U)&&!(K.dummy&&_.node(z).dummy)&&l(k,Y,z)})}),M=B+1,T=q)}),x}return C.length&&C.reduce(E),k}function a(_,C){let k={};function E(x,T,M,v,N){let O;o.range(T,M).forEach(B=>{O=x[B],_.node(O).dummy&&_.predecessors(O).forEach(A=>{let q=_.node(A);q.dummy&&(q.order<v||q.order>N)&&l(k,A,O)})})}function w(x,T){let M=-1,v,N=0;return T.forEach((O,B)=>{if(_.node(O).dummy==="border"){let A=_.predecessors(O);A.length&&(v=_.node(A[0]).order,E(T,N,B,M,v),N=B,M=v)}E(T,N,T.length,v,x.length)}),T}return C.length&&C.reduce(w),k}function s(_,C){if(_.node(C).dummy)return _.predecessors(C).find(k=>_.node(k).dummy)}function l(_,C,k){if(C>k){let w=C;C=k,k=w}let E=_[C];E||(_[C]=E={}),E[k]=!0}function c(_,C,k){if(C>k){let E=C;C=k,k=E}return!!_[C]&&Object.hasOwn(_[C],k)}function u(_,C,k,E){let w={},x={},T={};return C.forEach(M=>{M.forEach((v,N)=>{w[v]=v,x[v]=v,T[v]=N})}),C.forEach(M=>{let v=-1;M.forEach(N=>{let O=E(N);if(O.length){O=O.sort((A,q)=>T[A]-T[q]);let B=(O.length-1)/2;for(let A=Math.floor(B),q=Math.ceil(B);A<=q;++A){let z=O[A];x[N]===N&&v<T[z]&&!c(k,N,z)&&(x[z]=N,x[N]=w[N]=w[z],v=T[z])}}})}),{root:w,align:x}}function f(_,C,k,E,w){let x={},T=d(_,C,k,w),M=w?"borderLeft":"borderRight";function v(B,A){let q=T.nodes().slice(),z={},Y=q.pop();for(;Y;){if(z[Y])B(Y);else{z[Y]=!0,q.push(Y);for(let K of A(Y))q.push(K)}Y=q.pop()}}function N(B){x[B]=T.inEdges(B).reduce((A,q)=>Math.max(A,x[q.v]+T.edge(q)),0)}function O(B){let A=T.outEdges(B).reduce((z,Y)=>Math.min(z,x[Y.w]-T.edge(Y)),Number.POSITIVE_INFINITY),q=_.node(B);A!==Number.POSITIVE_INFINITY&&q.borderType!==M&&(x[B]=Math.max(x[B],A))}return v(N,T.predecessors.bind(T)),v(O,T.successors.bind(T)),Object.keys(E).forEach(B=>x[B]=x[k[B]]),x}function d(_,C,k,E){let w=new r,x=_.graph(),T=y(x.nodesep,x.edgesep,E);return C.forEach(M=>{let v;M.forEach(N=>{let O=k[N];if(w.setNode(O),v){var B=k[v],A=w.edge(B,O);w.setEdge(B,O,Math.max(T(_,N,v),A||0))}v=N})}),w}function m(_,C){return Object.values(C).reduce((k,E)=>{let w=Number.NEGATIVE_INFINITY,x=Number.POSITIVE_INFINITY;Object.entries(E).forEach(([M,v])=>{let N=b(_,M)/2;w=Math.max(v+N,w),x=Math.min(v-N,x)});let T=w-x;return T<k[0]&&(k=[T,E]),k},[Number.POSITIVE_INFINITY,null])[1]}function p(_,C){let k=Object.values(C),E=o.applyWithChunking(Math.min,k),w=o.applyWithChunking(Math.max,k);["u","d"].forEach(x=>{["l","r"].forEach(T=>{let M=x+T,v=_[M];if(v===C)return;let N=Object.values(v),O=E-o.applyWithChunking(Math.min,N);T!=="l"&&(O=w-o.applyWithChunking(Math.max,N)),O&&(_[M]=o.mapValues(v,B=>B+O))})})}function h(_,C){return o.mapValues(_.ul,(k,E)=>{if(C)return _[C.toLowerCase()][E];{let w=Object.values(_).map(x=>x[E]).sort((x,T)=>x-T);return(w[1]+w[2])/2}})}function g(_){let C=o.buildLayerMatrix(_),k=Object.assign(i(_,C),a(_,C)),E={},w;["u","d"].forEach(T=>{w=T==="u"?C:Object.values(C).reverse(),["l","r"].forEach(M=>{M==="r"&&(w=w.map(B=>Object.values(B).reverse()));let v=(T==="u"?_.predecessors:_.successors).bind(_),N=u(_,w,k,v),O=f(_,w,N.root,N.align,M==="r");M==="r"&&(O=o.mapValues(O,B=>-B)),E[T+M]=O})});let x=m(_,E);return p(E,x),h(E,_.graph().align)}function y(_,C,k){return(E,w,x)=>{let T=E.node(w),M=E.node(x),v=0,N;if(v+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":N=-T.width/2;break;case"r":N=T.width/2;break}if(N&&(v+=k?N:-N),N=0,v+=(T.dummy?C:_)/2,v+=(M.dummy?C:_)/2,v+=M.width/2,Object.hasOwn(M,"labelpos"))switch(M.labelpos.toLowerCase()){case"l":N=M.width/2;break;case"r":N=-M.width/2;break}return N&&(v+=k?N:-N),N=0,v}}function b(_,C){return _.node(C).width}}),g2=It((e,n)=>{var r=Qt(),o=h2().positionX;n.exports=i;function i(s){s=r.asNonCompoundGraph(s),a(s),Object.entries(o(s)).forEach(([l,c])=>s.node(l).x=c)}function a(s){let l=r.buildLayerMatrix(s),c=s.graph().ranksep,u=s.graph().rankalign,f=0;l.forEach(d=>{let m=d.reduce((p,h)=>{let g=s.node(h).height;return p>g?p:g},0);d.forEach(p=>{let h=s.node(p);u==="top"?h.y=f+h.height/2:u==="bottom"?h.y=f+m-h.height/2:h.y=f+m/2}),f+=m+c})}}),y2=It((e,n)=>{var r=ZD(),o=QD(),i=t2(),a=Qt().normalizeRanks,s=n2(),l=Qt().removeEmptyRanks,c=r2(),u=o2(),f=i2(),d=m2(),m=g2(),p=Qt(),h=wr().Graph;n.exports=g;function g(S,P={}){let V=P.debugTiming?p.time:p.notime;return V("layout",()=>{let W=V(" buildLayoutGraph",()=>v(S));return V(" runLayout",()=>y(W,V,P)),V(" updateInputGraph",()=>b(S,W)),W})}function y(S,P,V){P(" makeSpaceForEdgeLabels",()=>N(S)),P(" removeSelfEdges",()=>j(S)),P(" acyclic",()=>r.run(S)),P(" nestingGraph.run",()=>c.run(S)),P(" rank",()=>i(p.asNonCompoundGraph(S))),P(" injectEdgeLabelProxies",()=>O(S)),P(" removeEmptyRanks",()=>l(S)),P(" nestingGraph.cleanup",()=>c.cleanup(S)),P(" normalizeRanks",()=>a(S)),P(" assignRankMinMax",()=>B(S)),P(" removeEdgeLabelProxies",()=>A(S)),P(" normalize.run",()=>o.run(S)),P(" parentDummyChains",()=>s(S)),P(" addBorderSegments",()=>u(S)),P(" order",()=>d(S,V)),P(" insertSelfEdges",()=>L(S)),P(" adjustCoordinateSystem",()=>f.adjust(S)),P(" position",()=>m(S)),P(" positionSelfEdges",()=>G(S)),P(" removeBorderNodes",()=>U(S)),P(" normalize.undo",()=>o.undo(S)),P(" fixupEdgeLabelCoords",()=>Y(S)),P(" undoCoordinateSystem",()=>f.undo(S)),P(" translateGraph",()=>q(S)),P(" assignNodeIntersects",()=>z(S)),P(" reversePoints",()=>K(S)),P(" acyclic.undo",()=>r.undo(S))}function b(S,P){S.nodes().forEach(V=>{let W=S.node(V),re=P.node(V);W&&(W.x=re.x,W.y=re.y,W.order=re.order,W.rank=re.rank,P.children(V).length&&(W.width=re.width,W.height=re.height))}),S.edges().forEach(V=>{let W=S.edge(V),re=P.edge(V);W.points=re.points,Object.hasOwn(re,"x")&&(W.x=re.x,W.y=re.y)}),S.graph().width=P.graph().width,S.graph().height=P.graph().height}var _=["nodesep","edgesep","ranksep","marginx","marginy"],C={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb",rankalign:"center"},k=["acyclicer","ranker","rankdir","align","rankalign"],E=["width","height","rank"],w={width:0,height:0},x=["minlen","weight","width","height","labeloffset"],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},M=["labelpos"];function v(S){let P=new h({multigraph:!0,compound:!0}),V=$(S.graph());return P.setGraph(Object.assign({},C,F(V,_),p.pick(V,k))),S.nodes().forEach(W=>{let re=$(S.node(W)),oe=F(re,E);Object.keys(w).forEach(de=>{oe[de]===void 0&&(oe[de]=w[de])}),P.setNode(W,oe),P.setParent(W,S.parent(W))}),S.edges().forEach(W=>{let re=$(S.edge(W));P.setEdge(W,Object.assign({},T,F(re,x),p.pick(re,M)))}),P}function N(S){let P=S.graph();P.ranksep/=2,S.edges().forEach(V=>{let W=S.edge(V);W.minlen*=2,W.labelpos.toLowerCase()!=="c"&&(P.rankdir==="TB"||P.rankdir==="BT"?W.width+=W.labeloffset:W.height+=W.labeloffset)})}function O(S){S.edges().forEach(P=>{let V=S.edge(P);if(V.width&&V.height){let W=S.node(P.v),re={rank:(S.node(P.w).rank-W.rank)/2+W.rank,e:P};p.addDummyNode(S,"edge-proxy",re,"_ep")}})}function B(S){let P=0;S.nodes().forEach(V=>{let W=S.node(V);W.borderTop&&(W.minRank=S.node(W.borderTop).rank,W.maxRank=S.node(W.borderBottom).rank,P=Math.max(P,W.maxRank))}),S.graph().maxRank=P}function A(S){S.nodes().forEach(P=>{let V=S.node(P);V.dummy==="edge-proxy"&&(S.edge(V.e).labelRank=V.rank,S.removeNode(P))})}function q(S){let P=Number.POSITIVE_INFINITY,V=0,W=Number.POSITIVE_INFINITY,re=0,oe=S.graph(),de=oe.marginx||0,Ae=oe.marginy||0;function De(ze){let ue=ze.x,pe=ze.y,me=ze.width,$e=ze.height;P=Math.min(P,ue-me/2),V=Math.max(V,ue+me/2),W=Math.min(W,pe-$e/2),re=Math.max(re,pe+$e/2)}S.nodes().forEach(ze=>De(S.node(ze))),S.edges().forEach(ze=>{let ue=S.edge(ze);Object.hasOwn(ue,"x")&&De(ue)}),P-=de,W-=Ae,S.nodes().forEach(ze=>{let ue=S.node(ze);ue.x-=P,ue.y-=W}),S.edges().forEach(ze=>{let ue=S.edge(ze);ue.points.forEach(pe=>{pe.x-=P,pe.y-=W}),Object.hasOwn(ue,"x")&&(ue.x-=P),Object.hasOwn(ue,"y")&&(ue.y-=W)}),oe.width=V-P+de,oe.height=re-W+Ae}function z(S){S.edges().forEach(P=>{let V=S.edge(P),W=S.node(P.v),re=S.node(P.w),oe,de;V.points?(oe=V.points[0],de=V.points[V.points.length-1]):(V.points=[],oe=re,de=W),V.points.unshift(p.intersectRect(W,oe)),V.points.push(p.intersectRect(re,de))})}function Y(S){S.edges().forEach(P=>{let V=S.edge(P);if(Object.hasOwn(V,"x"))switch((V.labelpos==="l"||V.labelpos==="r")&&(V.width-=V.labeloffset),V.labelpos){case"l":V.x-=V.width/2+V.labeloffset;break;case"r":V.x+=V.width/2+V.labeloffset;break}})}function K(S){S.edges().forEach(P=>{let V=S.edge(P);V.reversed&&V.points.reverse()})}function U(S){S.nodes().forEach(P=>{if(S.children(P).length){let V=S.node(P),W=S.node(V.borderTop),re=S.node(V.borderBottom),oe=S.node(V.borderLeft[V.borderLeft.length-1]),de=S.node(V.borderRight[V.borderRight.length-1]);V.width=Math.abs(de.x-oe.x),V.height=Math.abs(re.y-W.y),V.x=oe.x+V.width/2,V.y=W.y+V.height/2}}),S.nodes().forEach(P=>{S.node(P).dummy==="border"&&S.removeNode(P)})}function j(S){S.edges().forEach(P=>{if(P.v===P.w){var V=S.node(P.v);V.selfEdges||(V.selfEdges=[]),V.selfEdges.push({e:P,label:S.edge(P)}),S.removeEdge(P)}})}function L(S){var P=p.buildLayerMatrix(S);P.forEach(V=>{var W=0;V.forEach((re,oe)=>{var de=S.node(re);de.order=oe+W,(de.selfEdges||[]).forEach(Ae=>{p.addDummyNode(S,"selfedge",{width:Ae.label.width,height:Ae.label.height,rank:de.rank,order:oe+ ++W,e:Ae.e,label:Ae.label},"_se")}),delete de.selfEdges})})}function G(S){S.nodes().forEach(P=>{var V=S.node(P);if(V.dummy==="selfedge"){var W=S.node(V.e.v),re=W.x+W.width/2,oe=W.y,de=V.x-re,Ae=W.height/2;S.setEdge(V.e,V.label),S.removeNode(P),V.label.points=[{x:re+2*de/3,y:oe-Ae},{x:re+5*de/6,y:oe-Ae},{x:re+de,y:oe},{x:re+5*de/6,y:oe+Ae},{x:re+2*de/3,y:oe+Ae}],V.label.x=V.x,V.label.y=V.y}})}function F(S,P){return p.mapValues(p.pick(S,P),Number)}function $(S){var P={};return S&&Object.entries(S).forEach(([V,W])=>{typeof V=="string"&&(V=V.toLowerCase()),P[V]=W}),P}}),_2=It((e,n)=>{var r=Qt(),o=wr().Graph;n.exports={debugOrdering:i};function i(a){let s=r.buildLayerMatrix(a),l=new o({compound:!0,multigraph:!0}).setGraph({});return a.nodes().forEach(c=>{l.setNode(c,{label:c}),l.setParent(c,"layer"+a.node(c).rank)}),a.edges().forEach(c=>l.setEdge(c.v,c.w,{},c.name)),s.forEach((c,u)=>{let f="layer"+u;l.setNode(f,{rank:"same"}),c.reduce((d,m)=>(l.setEdge(d,m,{style:"invis"}),m))}),l}}),b2=It((e,n)=>{n.exports="2.0.4"}),w2=It((e,n)=>{n.exports={graphlib:wr(),layout:y2(),debug:_2(),util:{time:Qt().time,notime:Qt().notime},version:b2()}});const H0=w2();/*! For license information please see dagre.esm.js.LEGAL.txt */function k2(e){const{branchLayout:n,phase:r,layoutOptions:o,nodes:i,edges:a}=e,{findNode:s}=Pt.useVueFlow(),{state:l,branchGroups:c,getNodeById:u,moveNode:f,commit:d}=Kt(),{getNodeDepth:m,isGroupId:p,groupsByOwner:h}=c,{isBranchEdgeId:g,updateGroupLayout:y,translateGroupTree:b,waitForLayoutFlush:_}=n,{viewport:C,padding:k=To.padding,gaps:E=To.gaps}=o,{nodes:w=To.gaps.nodes,edges:x=To.gaps.edges,ranks:T=To.gaps.ranks}=E;async function M(O=!0){const B=new Map(i.value.map(S=>[S.id,S.data])),A=new Map,q=new Map,z=S=>{if(!S)return;let P=q.get(S);return P||(P=s(S),P&&q.set(S,P),P)},Y=new Map,K=S=>{let P=Y.get(S);return P!==void 0||(P=m(S),Y.set(S,P)),P},U=S=>{if(!$s(S.data))return S.parentNode;const P=z(S.data.ownerId);if(!P)throw new Error(`Cannot find owner node '${S.data.ownerId}' for group node '${S.id}' via findNode`);return P.parentNode};for(const S of a.value){if(g(S.id))continue;const P=S.source,V=S.target;if(p(P)||p(V))continue;const W=z(P),re=z(V);if(W){if(!re)throw new Error(`Cannot find target node '${V}' for edge '${S.id}' via findNode`)}else throw new Error(`Cannot find source node '${P}' for edge '${S.id}' via findNode`);if(U(W)===U(re))continue;let oe=W,de=re,Ae=K(oe.id),De=K(de.id);for(;Ae!==De;)if(Ae>De){const ze=U(oe);if(!ze)throw new Error(`Expected node '${oe.id}' to have parent, but it does not`);const ue=z(ze);if(!ue)throw new Error(`Cannot find parent node '${ze}' for node '${oe.id}' via findNode`);oe=ue,Ae--}else if(De>Ae){const ze=U(de);if(!ze)throw new Error(`Expected node '${de.id}' to have parent, but it does not`);const ue=z(ze);if(!ue)throw new Error(`Cannot find parent node '${ze}' for node '${de.id}' via findNode`);de=ue,De--}for(;Ae>=0;){const ze=U(oe),ue=U(de);if(ze===ue){A.has(Ae)||A.set(Ae,[]),A.get(Ae).push({v:oe.id,w:de.id});break}if(ze){if(!ue){const $e=`Expected node '${de.id}' to have parent, but it does not`;throw console.error($e,de),new Error($e)}}else{const $e=`Expected node '${oe.id}' to have parent, but it does not`;throw console.error($e,oe),new Error($e)}const pe=z(ze),me=z(ue);if(pe){if(!me)throw new Error(`Cannot find parent node '${ue}' for node '${de.id}' via findNode`)}else throw new Error(`Cannot find parent node '${ze}' for node '${oe.id}' via findNode`);oe=pe,de=me,Ae--,De--}}const j=l.value.groups.toSorted((S,P)=>K(P.ownerId)-K(S.ownerId));for(const S of j)v(S.memberIds.reduce((P,V)=>{const W=u(V);if(!W)return console.warn(`Cannot find node '${V}' of group '${S.id}' by getNodeById`),P;if(W.phase!==r)return P;if(W.type==="branch"){const re=h.value.get(W.id);re&&P.push(...re)}return B.delete(W.id),P.push(W),P},[]),{virtualEdges:A.get(K(S.ownerId)),cachedFindNode:z}),await t.nextTick(),y(S.id,!1),await _();const L=B.values().toArray();for(const S of L){if($s(S)||S.type!=="branch")continue;const P=h.value.get(S.id);P&&L.push(...P)}const{autoNodes:G,leftNode:F,rightNode:$}=N(L);v(G,{leftNode:F,rightNode:$,virtualEdges:A.get(0),cachedFindNode:z}),O&&d()}function v(O,B){var oe,de,Ae,De,ze;const{leftNode:A,rightNode:q,virtualEdges:z,cachedFindNode:Y}=B||{},K=A?(Y??s)(A.id):void 0,U=q?(Y??s)(q.id):void 0;let j;if(O.length>0){j=new H0.graphlib.Graph({multigraph:!0}),j.setGraph({rankdir:r==="request"?"LR":"RL",nodesep:w,edgesep:x,ranksep:T});const ue=new Set;for(const pe of O){const me=(Y??s)(pe.id);if(!me){console.warn(`Cannot find graph node '${pe.id}' in ${r} phase`);continue}ue.add(pe.id),$s(pe)?j.setNode(pe.id,{...pe.dimensions??me.dimensions}):j.setNode(pe.id,{...me.dimensions})}for(const pe of a.value)!ue.has(pe.source)||!ue.has(pe.target)||j.setEdge(pe.source,pe.target,{points:[]});z==null||z.forEach(pe=>j.setEdge(pe,{points:[]})),H0.layout(j)}const L=[],G=ue=>({x:ue.x-ue.width/2,y:ue.y-ue.height/2,width:ue.width,height:ue.height});if(O.length>0){if(!j)throw new Error("Expected dagreGraph to be initialized");for(const ue of O){const pe=j.node(ue.id),me=G(pe);L.push(me),$s(ue)?b(ue.id,me,me.x+ca,me.y+ca):f(ue.id,{x:me.x,y:me.y},!1)}}const F=L.length>0?q0(L):{x:0,y:0,width:0,height:0},$=F.width,S=F.height,P=F.x,V=F.x+F.width,W=Math.max(0,Math.min(t.toValue(C==null?void 0:C.width)??Number.POSITIVE_INFINITY,HD)-$-2*w-(((oe=K==null?void 0:K.dimensions)==null?void 0:oe.width)??0)-(((de=U==null?void 0:U.dimensions)==null?void 0:de.width)??0)-2*k),re=F.y+S/2;A&&f(A.id,{x:P-w-W/2-(((Ae=K==null?void 0:K.dimensions)==null?void 0:Ae.width)??0),y:re-(((De=K==null?void 0:K.dimensions)==null?void 0:De.height)??0)/2},!1),q&&f(q.id,{x:V+w+W/2,y:re-(((ze=U==null?void 0:U.dimensions)==null?void 0:ze.height)??0)/2},!1)}function N(O){let B,A;const q=[];for(const z of O){if($s(z)){q.push(z);continue}switch(z.name){case"request":{if(r!=="request")throw new Error(`Unexpected request node in ${r} phase`);if(B)throw new Error("Duplicated request node in request phase");B=z;break}case"service_request":{if(r!=="request")throw new Error(`Unexpected service_request node in ${r} phase`);if(A)throw new Error("Duplicated service_request node in request phase");A=z;break}case"service_response":{if(r!=="response")throw new Error(`Unexpected service_response node in ${r} phase`);if(A)throw new Error("Duplicated service_response node in response phase");A=z;break}case"response":{if(r!=="response")throw new Error(`Unexpected response node in ${r} phase`);if(B)throw new Error("Duplicated response node in response phase");B=z;break}default:{q.push(z);break}}}return{autoNodes:q,leftNode:B,rightNode:A}}return{autoLayout:M}}function C2({phase:e,groupMapById:n,getNodeDepth:r,canAddMember:o,draggingId:i}){const a=t.shallowRef(),s=t.shallowRef();function l(d){a.value=d,s.value=void 0}function c(){a.value&&(a.value=void 0,s.value=void 0)}function u(d){let m;const p=i==null?void 0:i.value;return n.value.forEach(h=>{if(h.phase!==e||p&&Yp(p)&&!o(h.ownerId,h.branch,p))return;const g=h.position,y=h.dimensions;if(!g||!y||!(d.x>=g.x&&d.x<=g.x+y.width&&d.y>=g.y&&d.y<=g.y+y.height))return;const _=r(h.ownerId);(!m||_>m.depth)&&(m={depth:_,id:h.id})}),m==null?void 0:m.id}function f(d){if(!a.value){s.value=void 0;return}if(!d){s.value=void 0;return}s.value=u(d)}return{activeGroupId:s,start:l,updateActiveGroup:f,end:c}}function E2({phase:e,readonly:n,flowId:r,draggingId:o}){const{findNode:i}=Pt.useVueFlow(r),a=Kt(),{state:s,groupMapById:l,getNodeById:c,moveNode:u,moveGroup:f,setGroupLayout:d,commit:m,branchGroups:p}=a,{memberGroupMap:h,groupsByOwner:g,getNodeDepth:y,getGroupDepth:b}=p,_=U=>!!U&&U.startsWith("branch:");function C(U){const j=[];for(const L of U.memberIds){const G=c(L);G&&j.push(G)}return j}const k=t.computed(()=>{const U=new Map;return h.value.forEach((j,L)=>{if(j.phase!==e||!j.position)return;const G=c(L);G&&(G.phase!==e||G.hidden||U.set(L,j))}),U}),E=t.computed(()=>{const U=new Map;return g.value.forEach((j,L)=>{const G=j.filter(F=>F.phase===e);G.length>0&&U.set(L,G)}),U}),w=t.computed(()=>{const U=[];for(const j of s.value.groups){const L=c(j.ownerId);if(!L||L.phase!==e)continue;const G=j.position,F=j.dimensions;if(!G||!F)continue;const $=C(j).filter(P=>P.phase===e&&!P.hidden),S=b(j.id);U.push({id:j.id,type:"group",position:G,width:F.width,height:F.height,data:{...j,memberIds:$.map(P=>P.id)},draggable:!n,selectable:!1,zIndex:S*Zc+UD})}return U}),x=t.computed(()=>{let U=0;for(const j of s.value.groups){if(j.phase!==e)continue;const L=b(j.id);L>U&&(U=L)}return U}),T=t.computed(()=>{const U=[];for(const j of s.value.groups){if(j.phase!==e||!j.position||!j.dimensions)continue;const L=c(j.ownerId);if(!L||L.phase!==e||L.hidden||!C(j).filter(S=>S.phase===e&&!S.hidden).length)continue;const F=Math.max(y(L.id),b(j.id))+x.value+1,$={id:`branch:${j.id}`,source:L.id,target:j.id,sourceHandle:`branch@${j.branch}`,targetHandle:"input",markerEnd:Pt.MarkerType.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:L.id,branch:j.branch,groupId:j.id},zIndex:F*Zc+qD};U.push($)}return U}),M=new Map,v=new Map;let N;function O(U,j=!0){if(U.phase!==e)return;const L=C(U).filter(P=>P.phase===e&&!P.hidden);if(!L.length)return;const G=[];for(const P of L){const V=i(P.id),W=V==null?void 0:V.dimensions,re=(W==null?void 0:W.width)??0,oe=(W==null?void 0:W.height)??0;if(re<=0||oe<=0)return;G.push({...P.position,width:re,height:oe});const de=g.value.get(P.id)??[];for(const Ae of de){if(Ae.phase!==e)continue;const De=M.get(Ae.id),ze=(De==null?void 0:De.position)??Ae.position,ue=(De==null?void 0:De.dimensions)??Ae.dimensions;!ze||!ue||G.push({x:ze.x,y:ze.y,width:ue.width,height:ue.height})}}const F=q0(G),$=F.width+ca*2,S=F.height+ca*2;return{position:{x:Math.round(F.x-ca),y:Math.round(F.y-ca)},dimensions:{width:Math.round($),height:Math.round(S)},commit:j}}function B(){if(M.size===0){N=void 0;return}const U=[];let j=!1;M.forEach((L,G)=>{const F=d(G,L,!1);U.push({id:G,changed:F,commit:L.commit}),L.commit&&F&&!j&&(j=!0)}),M.clear(),N=void 0;for(const{id:L,changed:G,commit:F}of U){if(!G)continue;const $=l.value.get(L);if(!$)continue;const S=k.value.get($.ownerId);S&&v.set(S.id,{commit:F})}if(v.size>0){const L=Array.from(v);v.clear();for(const[G,{commit:F}]of L)q(G,F)}j&&m("*")}function A(){M.size!==0&&(N||(N=t.nextTick().then(B)))}function q(U,j=!0){const L=l.value.get(U);if(!L)return;const G=O(L,j);G&&(M.set(U,G),A())}function z(U,j,L,G){const F=l.value.get(U);if(!F)return;if(!F.position){f(U,j,!1),q(U);return}if(L===0&&G===0){f(U,j,!1);return}f(U,j,!1);const $=[U],S=new Set([U]),P=new Set;for(;$.length;){const V=$.shift(),W=l.value.get(V);if(!W)continue;const re=C(W).filter(oe=>oe.phase===e&&!oe.hidden);for(const oe of re){P.has(oe.id)||(u(oe.id,{x:oe.position.x+L,y:oe.position.y+G},!1),P.add(oe.id));const de=E.value.get(oe.id)??[];for(const Ae of de){if(S.has(Ae.id))continue;const De=l.value.get(Ae.id);De!=null&&De.position&&f(Ae.id,{x:De.position.x+L,y:De.position.y+G},!1),S.add(Ae.id),$.push(Ae.id)}}}}function Y(U,j){const L=o==null?void 0:o.value;if(!L)return!1;if(L===U||j.some(G=>L===G))return!0;for(const G of j){const F=E.value.get(G)??[];if(F!=null&&F.some($=>$.id===L))return!0}return!1}const K=new Map;return t.watch(()=>s.value.groups.filter(j=>j.phase===e).map(j=>{const L=j.memberIds.map(G=>{var P,V;const F=i(G),$=Math.round(((P=F==null?void 0:F.dimensions)==null?void 0:P.width)??0),S=Math.round(((V=F==null?void 0:F.dimensions)==null?void 0:V.height)??0);return`${G}:${$}x${S}`});return{id:j.id,memberIds:j.memberIds,signature:L.join(",")}}),U=>{const j=new Set(U.map(L=>L.id));for(const L of K.keys())j.has(L)||K.delete(L);for(const L of U)Y(L.id,L.memberIds)||K.get(L.id)===L.signature||(K.set(L.id,L.signature),q(L.id))},{deep:!0,flush:"post"}),{groupsByOwner:E,memberGroupMap:k,groupNodes:w,branchEdges:T,isBranchEdgeId:_,updateGroupLayout:q,translateGroupTree:z,getNodeDepth:y,maxGroupDepth:x,waitForLayoutFlush:()=>N??Promise.resolve()}}function N2(e){t.provide(U0,e)}function z0(){return t.inject(U0,void 0)}function W0(){const e=z0();if(!e)throw new Error("Confirm modal not provided");return e}function x2(e){const{readonly:n,flowId:r}=e,o=Pt.useVueFlow(r),{onNodesChange:i,onEdgesChange:a,onPaneClick:s,findEdge:l}=o,{disconnectEdge:c,commit:u,portalSelection:f,selectPortalEdge:d}=Kt();i(m=>{m.some(p=>p.type==="select"&&"selected"in p&&p.selected)&&d(void 0)}),a(m=>{const p=m.some(g=>g.type==="select"&&"selected"in g&&g.selected),h=f.value?m.some(g=>g.type==="remove"&&g.id===f.value):!1;(p||h)&&d(void 0)}),s(()=>d(void 0)),Lt.useEventListener("keydown",m=>{if(n||m.key!=="Delete"&&m.key!=="Backspace")return;const p=f.value;!p||l(p)||(m.preventDefault(),c(p,!1),d(void 0),u())})}function Y0(e){const n=e.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}const S2={default:dN,hover:pN,selected:fN};let J0,im;function ru(e){const n=e.id===J0?"selected":e.id===im?"hover":"default",r=S2[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[A2,v2]=Lt.createInjectionState(function(e){const{phase:n,flowId:r,layoutOptions:o,readonly:i}=e,{viewport:a,padding:s=To.padding,gaps:l=To.gaps}=o,{nodes:c=To.gaps.nodes}=l,u=Pt.useVueFlow(r),f=Kt(),d=z0(),m=Jf(),{i18n:{t:p}}=et(),{findNode:h,fitView:g,deleteKeyCode:y,onNodeDrag:b,onNodeDragStop:_,onConnect:C,onNodesChange:k,onEdgesChange:E,onEdgeUpdate:w,onEdgeMouseEnter:x,onEdgeMouseLeave:T,getNodes:M,setNodes:v,setEdges:N,addSelectedNodes:O,screenToFlowCoordinate:B}=u;y.value=["Delete","Backspace"];const{state:A,commit:q,moveNode:z,selectNode:Y,removeNode:K,getNodeById:U,connectEdge:j,disconnectEdge:L,getInEdgesByNodeId:G,branchGroups:F,commit:$,reset:S,groupMapById:P}=f,{isGroupId:V,canAddMember:W}=F,re=t.shallowRef(),oe=D=>{re.value=D},de=t.readonly(re);function Ae(D,le){const ae=U(D.source),ge=U(D.target);return!!(ae&&ge&&ae.phase===le&&ge.phase===le)}const De=E2({phase:n,readonly:i,flowId:r,draggingId:de}),{memberGroupMap:ze,groupNodes:ue,branchEdges:pe,isBranchEdgeId:me,updateGroupLayout:$e,translateGroupTree:Ne,getNodeDepth:ke,maxGroupDepth:Oe}=De,{activeGroupId:We,start:he,updateActiveGroup:X,end:ie}=C2({phase:n,groupMapById:P,getNodeDepth:ke,canAddMember:W,draggingId:de}),ne=t.computed(()=>A.value.nodes.filter(D=>D.phase===n&&!D.hidden).map(D=>{const le=ze.value.get(D.id),ae=le==null?void 0:le.position,ge=le==null?void 0:le.dimensions,Be=le&&ae&&ge?{x:D.position.x-ae.x,y:D.position.y-ae.y}:D.position,ve=ke(D.id),Ze=!!(le&&ae&&ge),Qe=(Ze?ve:0)+Oe.value+1;return{id:D.id,type:"flow",position:Be,data:D,deletable:!zc(D),parentNode:Ze?le.id:void 0,zIndex:Qe*Zc+GD}})),Ce=t.computed(()=>A.value.edges.filter(D=>Ae(D,n)).filter(D=>!F.isEdgeEnteringGroup(D.source,D.target)).filter(D=>{const le=U(D.source),ae=U(D.target);return!(le!=null&&le.hidden)&&!(ae!=null&&ae.hidden)}).map(D=>{const le=U(D.source),ae=U(D.target);if(!le||!ae){const Be=[];throw le||Be.push(`source node "${D.source}"`),ae||Be.push(`target node "${D.target}"`),new Error(`Missing ${Be.join(" and ")} for edge "${D.id}" in phase "${n}"`)}const ge=Math.max(ke(D.source),ke(D.target))+Oe.value+1;return ru({id:D.id,source:D.source,target:D.target,sourceHandle:D.sourceField?`outputs@${D.sourceField}`:"output",targetHandle:D.targetField?`inputs@${D.targetField}`:"input",markerEnd:Pt.MarkerType.ArrowClosed,data:D,updatable:!i,zIndex:ge*Zc+KD})})),fe=t.computed(()=>[...pe.value,...Ce.value]),{autoLayout:Ve}=k2({phase:n,layoutOptions:o,branchLayout:De,nodes:ne,edges:fe});x2({readonly:i,flowId:r}),t.watch([ne,ue,fe],([D,le,ae])=>{v([...le,...D]),N(ae)},{immediate:!0});const qe=t.computed(()=>({padding:s/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function Z({source:D,sourceHandle:le,target:ae,targetHandle:ge}){if(!le||!ge)return;const Be=Y0(le),ve=Y0(ge);if((Be==null?void 0:Be.io)==="input"||(ve==null?void 0:ve.io)==="output"||le==="output"&&ge==="output")return;const Ze=G(ae);let Qe=!1,we=!1;const _e=[],mt=[],kt=(ve==null?void 0:ve.io)==="input"?Ze.filter(Tt=>!Tt.targetField):Ze.filter(Tt=>!!Tt.targetField);kt.length>0&&(Qe=!0,kt.forEach(Tt=>{mt.push(Fs(Tt,U)),L(Tt.id,!1)}));const Bt=(ve==null?void 0:ve.io)==="input"?ve!=null&&ve.field?Ze.filter(Tt=>Tt.targetField===ve.field):Ze.filter(Tt=>!!Tt.targetField):Ze.filter(Tt=>!Tt.targetField);if(Bt.length>0){if(Bt.some(en=>en.source===D&&en.target===ae&&en.targetField===(ve==null?void 0:ve.field)&&en.sourceField===(Be==null?void 0:Be.field)))return;we=!0,Bt.forEach(en=>{mt.push(Fs(en,U)),L(en.id,!1)})}if(!j({source:D,sourceField:Be==null?void 0:Be.field,target:ae,targetField:ve==null?void 0:ve.field},!1)){S(),m({message:p("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(_e.push(om(D,Be==null?void 0:Be.field,ae,ve==null?void 0:ve.field,U)),Qe||we){if(!d)throw S(),new Error("Expected confirm modal to be provided here when reachable");if(!await d(p(Qe?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),_e,mt)){S();return}}$()}C(Z);let ee=!1;const ce=()=>{ee&&(ee=!1,$())};k(D=>{D.filter(ge=>ge.type==="select").filter(ge=>!V(ge.id)).sort((ge,Be)=>ge.selected===Be.selected?0:ge.selected?1:-1).forEach(ge=>{Y(ge.selected?ge.id:void 0)});let ae=!1;D.forEach(ge=>{if(ge.type==="remove"){if(V(ge.id))return;ae=!0,K(ge.id,!1)}}),ae&&!ee&&(ee=!0,queueMicrotask(ce))}),b(({node:D,event:le})=>{var Ze,Qe,we;if(!D)return;if(V(D.id)){const _e=D.id;oe(_e),X(void 0);const mt=P.value.get(_e);if(!mt)return;const kt=mt.position??{...D.position},Bt=D.position.x-kt.x,Wn=D.position.y-kt.y;Ne(_e,D.position,Bt,Wn);const Tt=ze.value.get(mt.ownerId);Tt&&$e(Tt.id,!1);return}const ae=D.id;he("canvas"),oe(ae);const ge=D.parentNode;let Be={...D.position};if(ge&&V(ge)){const _e=P.value.get(ge);_e!=null&&_e.position&&(Be={x:_e.position.x+D.position.x,y:_e.position.y+D.position.y})}if(z(ae,Be,!1),!zc(U(ae))){const _e={x:Be.x,y:Be.y,width:((Ze=D.dimensions)==null?void 0:Ze.width)??0,height:((Qe=D.dimensions)==null?void 0:Qe.height)??0},mt=le&&"clientX"in le?B({x:le.clientX,y:le.clientY}):void 0,kt={x:_e.x+_e.width/2,y:_e.y+_e.height/2};X(mt??kt)}const ve=ge&&V(ge)?ge:(we=ze.value.get(ae))==null?void 0:we.id;ve&&$e(ve,!1)}),_(({node:D})=>{var ve;if(!D)return;if(oe(void 0),V(D.id)){q();return}const le=D.id,ae=D.parentNode;let ge={...D.position};if(ae&&V(ae)){const Ze=P.value.get(ae);Ze!=null&&Ze.position&&(ge={x:Ze.position.x+D.position.x,y:Ze.position.y+D.position.y})}z(le,ge,!1);const Be=ae&&V(ae)?ae:(ve=ze.value.get(le))==null?void 0:ve.id;Be&&$e(Be,!1),be(le),ie(),q()}),E(D=>{D.filter(ge=>ge.type==="select").sort((ge,Be)=>ge.selected===Be.selected?0:ge.selected?1:-1).forEach(ge=>{me(ge.id)||(J0=ge.selected?ge.id:void 0,N(Be=>Be.map(ve=>ve.id!==ge.id||!ve.markerEnd?ve:ru({...ve,zIndex:ge.selected?1:void 0}))))});let ae=!1;D.forEach(ge=>{if(ge.type==="remove"){if(me(ge.id))return;ae=!0,L(ge.id,!1)}}),ae&&!ee&&(ee=!0,queueMicrotask(ce))}),x(({edge:D})=>{me(D.id)||(im=D.id,N(le=>le.map(ae=>ae.id!==D.id?ae:ru(ae))))}),T(({edge:D})=>{me(D.id)||(im=void 0,N(le=>le.map(ae=>ae.id!==D.id?ae:ru(ae))))}),w(({edge:D,connection:le})=>{me(D.id)||(L(D.id,!1),Z(le))});function ye(D){g({...qe.value,...D})}async function Pe(D){return Y(D),new Promise(le=>setTimeout(()=>{const ae=h(D);O(ae?[ae]:[]),le()},0))}function nt(D){const le=M.value.filter(({type:kt})=>kt!=="group"),ae=le.find(({id:kt})=>kt===D);if(!ae)throw new Error(`Node ${D} not found`);const{x:ge,y:Be}=ae.data.position,{width:ve,height:Ze}=ae.dimensions,Qe=Be,we=Be+Ze,_e=le.filter(({id:kt})=>kt!==D).filter(({data:{position:{y:kt}},dimensions:{height:Bt}})=>kt<we&&kt+Bt>Qe).map(({data:{position:{x:kt}},dimensions:{width:Bt}})=>({left:kt,right:kt+Bt})).sort((kt,Bt)=>kt.left-Bt.left);let mt=ge+ve+c;for(const{left:kt,right:Bt}of _e)if(!(Bt<=mt)){if(mt+ve<=kt)return{x:mt,y:Qe};mt=Math.max(mt,Bt)+c}return{x:mt,y:Qe}}function gt(D){if(!D)return;const le=h(D);if(!le)throw new Error(`Node ${D} not found`);const{position:{x:ae},dimensions:{width:ge}}=le,Be=ae+ge,{viewport:ve,dimensions:Ze,setViewport:Qe}=u,{x:we,y:_e,zoom:mt}=ve.value,{width:kt}=Ze.value,Bt=ae*mt+we,Wn=Be*mt+we,Tt=kt-F0-c;if(Wn<=Tt)return;let en=Tt-Wn;Bt+en<0&&(en=-Bt),en!==0&&Qe({x:we+en,y:_e,zoom:mt},{duration:YD})}function be(D){if(!We.value)return!1;const{nodeId:le,branch:ae}=_D(We.value),ge=F.addMember(le,ae,D,{commit:!1});return X(void 0),ge}return{vueFlowStore:u,editorStore:f,readonly:i,nodes:ne,edges:fe,selectNode:Pe,autoLayout:Ve,placeToRight:nt,scrollRightToReveal:gt,fitViewParams:qe,fitView:ye,groupDrop:{activeGroupId:We,startPanelDrag:()=>he("panel"),endPanelDrag:ie,updateActiveGroup:X,attachNodeToActiveGroup:be}}});let da=null;function I2(){var n;if(da)return da;if(typeof navigator>"u")return da="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?da="mac":/Linux/i.test(e)&&!/Android/i.test(e)?da="linux":da="windows"}const T2={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},O2={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"},B2={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 P2(e,n={}){const r=n.platform??I2(),o=n.joiner??(r==="mac"?"":" + "),i=r==="mac"?T2:r==="linux"?B2:O2;return(Array.isArray(e)?e:e[r]).map(s=>s in i?i[s]:s).join(o)}const V2={key:0,class:"label"},R2={class:"keys"},ou=Re(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=P2(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",V2,t.toDisplayString(e.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",R2,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-7ca86b0d"]]),$2=["onClick"],L2={key:0,class:"additional-count"},X0=24,D2=16,iu=Re(t.defineComponent({__name:"NodePortal",props:{expanded:{type:Boolean,default:()=>{}},reversed:{type:Boolean},targets:{}},setup(e){const n=Number.parseFloat(wN)||0,r={target:"body"},{portalSelection:o,selectPortalEdge:i}=Kt(),a=t.ref(!1),s=t.computed(()=>{const h=o.value;return h?e.targets.some(g=>g.edgeId===h):!1}),l=t.computed(()=>e.expanded!==void 0?e.expanded||s.value:a.value||s.value),c=()=>X0*e.targets.length+n*(e.targets.length-1),u=t.computed(()=>({width:l.value?`${c()}px`:"fit-content"})),f=h=>{i(h)},d=h=>o.value===h,m=t.computed(()=>e.targets.map((h,g)=>{const y=(X0+n)*g;return{edgeId:h.edgeId,key:`${h.node.id}-${h.fieldName??"node"}-${g}`,icon:Gp(h.node.type).icon,tooltip:h.fieldName?`${h.node.name}.${h.fieldName}`:h.node.name,highlighted:d(h.edgeId),tooltipEl:null,style:g===0?{width:"fit-content",zIndex:e.targets.length}:{position:"absolute",...e.reversed?{left:`${y}px`,transform:l.value?"translateX(0)":`translateX(-${y}px)`}:{right:0,transform:l.value?`translateX(-${y}px)`:"translateX(0)"},zIndex:e.targets.length-g}}})),p=t.computed(()=>Math.max(e.targets.length-1,0));return(h,g)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-portal",{expanded:l.value,reversed:e.reversed}]),onClick:g[0]||(g[0]=t.withModifiers(()=>{},["stop"])),onDragstart:g[1]||(g[1]=t.withModifiers(()=>{},["stop"])),onMousedown:g[2]||(g[2]=t.withModifiers(()=>{},["stop"])),onMouseenter:g[3]||(g[3]=y=>a.value=!0),onMouseleave:g[4]||(g[4]=y=>a.value=!1)},[t.createElementVNode("div",{class:"target-boxes",style:t.normalizeStyle(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.value,(y,b)=>(t.openBlock(),t.createBlock(t.unref(Ke.KTooltip),{key:y.key,class:"target-box-wrapper","kpop-attributes":r,placement:"top",style:t.normalizeStyle(y.style),text:y.tooltip},{default:t.withCtx(()=>[t.createElementVNode("div",{class:t.normalizeClass(["target-box",{highlighted:y.highlighted}]),onClick:t.withModifiers(_=>f(y.edgeId),["stop"])},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(y.icon),{color:t.unref(Tr),size:D2},null,8,["color"])),b===0&&p.value>0?(t.openBlock(),t.createElementBlock("span",L2," +"+t.toDisplayString(p.value),1)):t.createCommentVNode("",!0)],10,$2)]),_:2},1032,["style","text"]))),128))],4)],34))}}),[["__scopeId","data-v-8bca2dc5"]]),au=Re(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>Pt.Position.Left},size:{default:()=>Number.parseFloat(Gg)},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(Pt.Position).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-74b600f2"]]),Z0=Re(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){t.useCssVars(r=>{var o,i;return{v3b4ea967:(o=n.value.colors)==null?void 0:o.background,v00febd7c:(i=n.value.colors)==null?void 0:i.foreground}});const n=t.computed(()=>Gp(e.type));return(r,o)=>{var a;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},[(a=n.value)!=null&&a.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"]]),M2={class:"body"},j2={class:"name"},F2={class:"handle"},U2={class:"handle-label-wrapper"},K2={class:"handle-label-wrapper"},q2={class:"handle-label text"},G2={class:"handle"},H2={class:"handle-label-wrapper"},z2={class:"handle-label-wrapper"},W2={class:"handle-label text"},Y2={key:2,class:"branch-handles"},J2={class:"handle-label-wrapper"},X2={class:"handle-label text"},Q0=Re(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=nn.createI18n("en-us",cn),r=v2(),{getInEdgesByNodeId:o,getOutEdgesByNodeId:i,getNodeById:a,toggleExpanded:s,duplicateNode:l,removeNode:c,propertiesPanelOpen:u,branchGroups:f}=Kt(),d=t.computed(()=>la(e.data.type)),m=t.computed(()=>e.data.fields.input.length>0),p=t.computed(()=>e.data.fields.output.length>0),h=t.computed(()=>m.value&&o(e.data.id).every(L=>L.targetField===void 0)),g=t.computed(()=>p.value&&i(e.data.id).every(L=>L.sourceField===void 0)),y=t.computed(()=>e.data.expanded.input??!1),b=t.computed(()=>e.data.expanded.output??!1),_=t.computed(()=>{var L,G,F;return((F=(G=(L=d.value.io)==null?void 0:L.next)==null?void 0:G.branches)==null?void 0:F.map(({name:$})=>$))??[]}),C=t.computed(()=>_.value.length>0),k=t.computed(()=>f.findMembership(e.data.id)),E=t.computed(()=>{var L,G;if(e.data.type==="property"){const F=(L=e.data.config)==null?void 0:L.property;return rm(F)}return(G=d.value.io)==null?void 0:G.input}),w=t.computed(()=>{var L,G;if(e.data.type==="property"){const F=(L=e.data.config)==null?void 0:L.property;return nm(F)}return(G=d.value.io)==null?void 0:G.output}),x=t.computed(()=>zc(e.data)),T=t.computed(()=>e.data.phase==="response"),M=t.computed(()=>e.data.phase==="request"?Pt.Position.Left:Pt.Position.Right),v=t.computed(()=>e.data.phase==="request"?Pt.Position.Right:Pt.Position.Left),N=t.computed(()=>e.data.phase==="request"?Pt.Position.Right:Pt.Position.Left),O=t.computed(()=>zc(e.data)?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),B=t.computed(()=>x.value?sN:lN);function A(L){return L==="input"?T.value:!T.value}function q(L){const G=new Map,F=L==="input"?o(e.data.id):i(e.data.id);for(const $ of F){const S=a(L==="input"?$.source:$.target);if(!S)continue;if(L==="input"){const oe=S.type==="vault",de=S.phase!==e.data.phase,Ae=f.isEdgeEnteringGroup(S.id,e.data.id);if(!(oe||de||Ae))continue}else{const oe=S.phase!==e.data.phase,de=f.isEdgeEnteringGroup(e.data.id,S.id);if(!(oe||de))continue}const P=L==="input"?$.targetField||"input":$.sourceField||"output";let V;if(L==="input"&&$.sourceField){const oe=S.fields.output.find(de=>de.id===$.sourceField);V=oe==null?void 0:oe.name}else if(L==="output"&&$.targetField){const oe=S.fields.input.find(de=>de.id===$.targetField);V=oe==null?void 0:oe.name}const W={edgeId:$.id,node:S,fieldName:V},re=G.get(P);re?re.push(W):G.set(P,[W])}return G}const z=t.computed(()=>q("input")),Y=t.computed(()=>q("output"));function K(L){!r||r.readonly||L==="input"&&!h.value||L==="output"&&!g.value||s(e.data.id,L)}async function U(){if(!r||r.readonly)return;const L=l(e.data.id,r.placeToRight(e.data.id));await r.selectNode(L),r.scrollRightToReveal(L),u.value=!0}function j(){f.removeMember(e.data.id)}return t.watch(h,L=>{L||s(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(g,L=>{L||s(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(L,G)=>{fn(L,G)||s(e.data.id,"input",L.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(L,G)=>{fn(L,G)||s(e.data.id,"output",L.length>0,!0,"*")},{deep:!0}),(L,G)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-flow-node",{reversed:T.value,implicit:x.value,readonly:e.readonly}])},[t.createElementVNode("div",M2,[x.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ke.KTooltip),{key:0,class:"badge",placement:"top",text:e.data.type},{default:t.withCtx(()=>[t.createVNode(Z0,{"icon-only":"",size:"small",type:e.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",j2,t.toDisplayString(O.value),1),e.error?(t.openBlock(),t.createBlock(t.unref(Ie.WarningIcon),{key:1,class:"error-icon",color:t.unref(Fg),size:16},null,8,["color"])):t.createCommentVNode("",!0),x.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ke.KDropdown),{key:2,class:"menu",disabled:e.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:G[1]||(G[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(Ke.KDropdownItem),{onClick:U},{default:t.withCtx(()=>[t.createVNode(ou,{keys:t.unref(Qc).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),k.value?(t.openBlock(),t.createBlock(t.unref(Ke.KDropdownItem),{key:0,onClick:j},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(Ke.KDropdownItem),{danger:"",onClick:G[0]||(G[0]=F=>t.unref(c)(e.data.id))},{default:t.withCtx(()=>[t.createVNode(ou,{keys:t.unref(Qc).delete,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:t.withCtx(()=>[t.createVNode(t.unref(Ke.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{color:t.unref(rf)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:T.value}])},[E.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":m.value}])},[t.createElementVNode("div",F2,[t.createVNode(t.unref(Pt.Handle),{id:"input",position:M.value,type:"target"},null,8,["position"]),z.value.has("input")?(t.openBlock(),t.createBlock(iu,{key:0,mode:"input",reversed:A("input"),targets:z.value.get("input")},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",U2,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:h.value}]),onClick:G[2]||(G[2]=t.withModifiers(F=>K("input"),["stop"]))},[G[4]||(G[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),m.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ie.UnfoldMoreIcon),{key:0,size:t.unref(zl)},null,8,["size"])),y.value?(t.openBlock(),t.createBlock(t.unref(Ie.UnfoldLessIcon),{key:1,color:h.value?void 0:t.unref(Kg),size:t.unref(zl)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),m.value&&y.value?(t.openBlock(),t.createBlock(au,{key:0,color:B.value,position:M.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),m.value&&y.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.input,(F,$)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${F.id}`,class:"handle indented"},[t.createVNode(t.unref(Pt.Handle),{id:`inputs@${F.id}`,position:M.value,type:"target"},null,8,["id","position"]),z.value.has(F.id)?(t.openBlock(),t.createBlock(iu,{key:0,mode:"input",reversed:A("input"),targets:z.value.get(F.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0),t.createElementVNode("div",K2,[t.createElementVNode("div",q2,t.toDisplayString(F.name),1),t.createVNode(au,{color:B.value,position:M.value,type:$<e.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),w.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":p.value}])},[t.createElementVNode("div",G2,[t.createElementVNode("div",H2,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:g.value}]),onClick:G[3]||(G[3]=t.withModifiers(F=>K("output"),["stop"]))},[G[5]||(G[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),p.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[b.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Ie.UnfoldMoreIcon),{key:0,size:t.unref(zl)},null,8,["size"])),b.value?(t.openBlock(),t.createBlock(t.unref(Ie.UnfoldLessIcon),{key:1,color:g.value?void 0:t.unref(Kg),size:t.unref(zl)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),p.value&&b.value?(t.openBlock(),t.createBlock(au,{key:0,color:B.value,position:v.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Pt.Handle),{id:"output",position:v.value,type:"source"},null,8,["position"]),Y.value.has("output")?(t.openBlock(),t.createBlock(iu,{key:0,mode:"output",reversed:A("output"),targets:Y.value.get("output")},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]),p.value&&b.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(e.data.fields.output,(F,$)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${F.id}`,class:"handle indented"},[t.createElementVNode("div",z2,[t.createElementVNode("div",W2,t.toDisplayString(F.name),1),t.createVNode(au,{color:B.value,position:v.value,type:$<e.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(Pt.Handle),{id:`outputs@${F.id}`,position:v.value,type:"source"},null,8,["id","position"]),Y.value.has(F.id)?(t.openBlock(),t.createBlock(iu,{key:0,mode:"output",reversed:A("output"),targets:Y.value.get(F.id)},null,8,["reversed","targets"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),C.value?(t.openBlock(),t.createElementBlock("div",Y2,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,F=>(t.openBlock(),t.createElementBlock("div",{key:`branch-${F}`,class:"handle"},[t.createElementVNode("div",J2,[t.createElementVNode("div",X2,t.toDisplayString(F),1)]),t.createVNode(t.unref(Pt.Handle),{id:`branch@${F}`,connectable:!1,position:N.value,type:"source"},null,8,["id","position"])]))),128))])):t.createCommentVNode("",!0)],2)],2))}}),[["__scopeId","data-v-d3b68c15"]]),Z2=Re(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?Pt.Position.Right:Pt.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(Pt.Handle),{id:"input",connectable:!1,position:o.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-4a58489a"]]),ek=Re(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:r}){const o=r,i=t.useTemplateRef("flowCanvas"),a=Lt.useElementBounding(i),{i18n:{t:s}}=et(),{vueFlowStore:l,editorStore:c,autoLayout:u,fitViewParams:f,fitView:d,selectNode:m,placeToRight:p,scrollRightToReveal:h,groupDrop:g}=A2({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:y,propertiesPanelOpen:b,invalidConfigNodeIds:_,selectedNode:C,duplicateNode:k,commit:E,selectPortalEdge:w}=c,{screenToFlowCoordinate:x,zoomIn:T,zoomOut:M,viewport:v,maxZoom:N,minZoom:O}=l,{activeGroupId:B,startPanelDrag:A,endPanelDrag:q,updateActiveGroup:z,attachNodeToActiveGroup:Y}=g;function K(S){var V;const P=(V=S.dataTransfer)==null?void 0:V.types.find(W=>W.startsWith(`${Ds}/`));if(P)return P.replace(`${Ds}/`,"")}function U(S){var P;if(e.mode==="edit"){if(((P=S==null?void 0:S.node)==null?void 0:P.type)==="group"){m(void 0),w(void 0);return}b.value=!0}}function j(S){e.mode==="edit"&&(S.preventDefault(),z(x({x:S.clientX,y:S.clientY})))}function L(S){var De;if(e.mode!=="edit")return;const P=(De=S.dataTransfer)==null?void 0:De.getData(Ds);if(!P)return;S.preventDefault();const V=JSON.parse(P);if(V.action!=="create-node")return;const W=x({x:S.clientX,y:S.clientY}),{type:re,anchor:oe}=V.data,de={type:re,phase:e.phase,position:{x:W.x-oe.offsetX,y:W.y-oe.offsetY}},Ae=y(de,!1);if(!Ae){q();return}Y(Ae),E(),m(Ae),b.value=!0,q()}async function G(){await u(),setTimeout(()=>d(),0)}const F=t.computed(()=>{if(e.mode==="preview")return[];const S=[{name:"zoom_in",icon:Ie.AddIcon,action:T,disabled:v.value.zoom>=N.value},{name:"zoom_out",icon:Ie.RemoveIcon,action:M,disabled:v.value.zoom<=O.value},{name:"fit_view",icon:Ie.FullscreenIcon,action:d}];return e.mode==="edit"&&S.push({name:"auto_layout",icon:Ie.AutoLayoutIcon,action:G}),S});e.mode==="edit"&&(Lt.useEventListener("dragstart",S=>{K(S)&&A()}),Lt.useEventListener("dragend",()=>{q()}));async function $(){const S=C.value;if(e.mode!=="edit"||!S||S.phase!==e.phase)return;const P=k(S.id,p(S.id));P&&(await m(P),b.value=!0,h(P))}return M0({enabled:t.computed(()=>!!C.value&&e.mode==="edit"&&C.value.phase===e.phase),duplicate:$}),n({autoLayout:u,fitView:d}),(S,P)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref(Pt.VueFlow),{id:e.flowId,class:t.normalizeClass(["flow",{readonly:e.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":e.mode==="edit","max-zoom":t.unref(zD),"min-zoom":t.unref(WD),"multi-selection-key-code":null,"nodes-connectable":e.mode==="edit","nodes-draggable":e.mode==="edit","pan-on-drag":e.mode==="preview"?!1:void 0,"pan-on-scroll":e.mode!=="edit"?!1:void 0,"zoom-on-double-click":e.mode!=="edit"?!1:void 0,"zoom-on-pinch":e.mode!=="edit"?!1:void 0,"zoom-on-scroll":e.mode!=="edit"?!1:void 0,onDragover:j,onDrop:L,onNodeClick:U,onNodesChange:P[0]||(P[0]=V=>o("nodes-change")),onNodesInitialized:P[1]||(P[1]=V=>o("initialized"))},{"node-flow":t.withCtx(({data:V})=>[t.createVNode(Q0,{data:V,error:t.unref(_).has(V.id),readonly:e.mode!=="edit"},null,8,["data","error","readonly"])]),"node-group":t.withCtx(({data:V})=>[t.createVNode(Z2,{active:t.unref(B)===V.id,data:V},null,8,["active","data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(tN.Background)),t.createVNode(t.unref(jg.Controls),{"fit-view-params":t.unref(f),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(F.value,V=>(t.openBlock(),t.createBlock(t.unref(Ke.KTooltip),{key:V.name,placement:"right",text:t.unref(s)(`plugins.free-form.datakit.flow_editor.actions.${V.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(jg.ControlButton),{disabled:V.disabled,onClick:t.withModifiers(V.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(V.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"])],512))}}),[["__scopeId","data-v-64a199a9"]]),Q2={class:"label-content"},eM={class:"count"},tM={class:"label-content"},nM={class:"count"},tk=.5,am=.03,rM=30,sm=Re(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const{t:n}=nn.createI18n("en-us",cn),r=t.ref(!1),o=t.ref(!1),{responsePanelCollapsed:i}=Xc(),{state:a,configNodeCounts:s,clearPendingLayout:l,setPendingFitView:c,commit:u,clear:f,portalSelection:d}=Kt(),m=t.useId(),p=`${m}-request`,h=`${m}-response`,g=Pt.useVueFlow(p),y=Pt.useVueFlow(h);function b(de,Ae){const{onPaneClick:De,onNodesChange:ze,onEdgesChange:ue,getSelectedNodes:pe,getSelectedEdges:me}=de,{removeSelectedElements:$e}=Ae;function Ne(ke){if(!ke){$e();return}ke.some(Oe=>Oe.type==="select")&&pe.value.length+me.value.length>0&&$e()}ze(Ne),ue(Ne),De(()=>Ne())}b(g,y),b(y,g),t.watch(d,de=>{de&&(g.removeSelectedElements(),y.removeSelectedElements())});const _=t.useTemplateRef("flowPanels"),C=t.useTemplateRef("requestLabel"),k=t.useTemplateRef("requestCanvasContainer"),E=t.useTemplateRef("requestFlow"),w=t.useTemplateRef("resizeHandle"),x=t.useTemplateRef("responseLabel"),T=t.useTemplateRef("responseCanvasContainer"),M=t.useTemplateRef("responseFlow"),v=Lt.useElementBounding(_),N=Lt.useElementBounding(C),O=Lt.useElementBounding(k),B=Lt.useElementBounding(w),A=Lt.useElementBounding(x),q=Lt.useElementBounding(T),z=t.computed(()=>Math.max(rM,v.height.value*am)),Y=t.computed(()=>v.height.value-N.height.value-B.height.value-A.height.value),K=t.computed(()=>{const de=Y.value;return de?Math.max(am,z.value/de):am}),U=t.ref(tk),j=t.computed(()=>`${U.value*100}%`),L=t.computed(()=>`${(1-U.value)*100}%`),G=t.computed(()=>U.value<=K.value),F=t.computed(()=>1-U.value<=K.value);function $(de,{persist:Ae=!0}={}){const De=Math.min(1,Math.max(0,de));U.value=De,Ae&&e.mode==="edit"&&(i.value=F.value)}function S(de,Ae=!0){$(de?1:tk,{persist:Ae})}function P(de=!0){$(0,{persist:de})}if(e.mode==="edit"){const de=s.value.response===0,Ae=i.value;S(de||Ae,!1)}else t.watch(()=>s.value.response,de=>{S(de===0,!1)},{immediate:!0});const V=()=>{e.resizable&&(G.value?S(!1):P())},W=()=>{e.resizable&&S(!F.value)},{isDragging:re}=Lt.useDraggable(w,{onMove(de){if(!e.resizable)return;const Ae=Math.max(0,de.y-O.top.value),De=Math.min(1,Math.max(0,Ae/Y.value));$(De,{persist:!1})},onEnd(){e.resizable&&(O.height.value<z.value?P():q.height.value<z.value?S(!0):$(U.value))}});function oe(){t.nextTick(()=>{var de,Ae;(de=E.value)==null||de.fitView(),(Ae=M.value)==null||Ae.fitView()})}return t.watch([r,o,()=>a.value.pendingLayout,()=>a.value.pendingFitView],([de,Ae,De,ze])=>{e.inactive||!de||!Ae||!De&&!ze||(De&&l(),ze&&c(!1),setTimeout(async()=>{var ue,pe;De&&(await((ue=E.value)==null?void 0:ue.autoLayout(!1)),await((pe=M.value)==null?void 0:pe.autoLayout(!1)),u("*"),De==="clearHistory"&&f()),ze&&setTimeout(()=>oe(),0)},0))}),(de,Ae)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:_,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:C,class:t.normalizeClass(["label request",{resizable:e.resizable}]),onClick:V},[e.resizable?(t.openBlock(),t.createBlock(t.unref(Ie.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:G.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",Q2,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.request"))+" ",1),t.createElementVNode("span",eM,[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:k,class:t.normalizeClass(["canvas",{dragging:t.unref(re)}]),style:t.normalizeStyle({flexBasis:j.value})},[t.createVNode(ek,{ref_key:"requestFlow",ref:E,"flow-id":p,mode:e.mode,phase:"request",onInitialized:Ae[0]||(Ae[0]=De=>r.value=!0),onNodesChange:Ae[1]||(Ae[1]=De=>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:x,class:t.normalizeClass(["label response",{dragging:t.unref(re),resizable:e.resizable}]),onClick:W},[e.resizable?(t.openBlock(),t.createBlock(t.unref(Ie.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:F.value}])},null,8,["class"])):t.createCommentVNode("",!0),t.createElementVNode("div",tM,[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.response"))+" ",1),t.createElementVNode("span",nM,[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:T,class:t.normalizeClass(["canvas response",{dragging:t.unref(re)}]),style:t.normalizeStyle({flexBasis:L.value})},[t.createVNode(ek,{ref_key:"responseFlow",ref:M,"flow-id":h,mode:e.mode,phase:"response",onInitialized:Ae[2]||(Ae[2]=De=>o.value=!0),onNodesChange:Ae[3]||(Ae[3]=De=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-8bc3e3c9"]]),oM={class:"dk-confirm-modal-body"},iM={class:"connections"},aM=Re(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:r}){const{i18n:{t:o}}=et(),i=r,a=t.ref(!1),s=t.ref(e.message),l=t.ref(e.addedConnections??[]),c=t.ref(e.removedConnections??[]);let u=null;function f(){a.value=!1,i("cancel"),u==null||u(!1)}function d(){a.value=!1,i("confirm"),u==null||u(!0)}async function m(p,h,g){return s.value=p,l.value=h??[],c.value=g??[],a.value=!0,await new Promise(y=>{u=y})}return n({open:m}),(p,h)=>{const g=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(g,{"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:f,onProceed:d},{default:t.withCtx(()=>[t.createElementVNode("div",oM,[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",iM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value??[],([y,b])=>(t.openBlock(),t.createElementBlock("div",{key:`${y}-${b}`,class:"connection"},[t.createVNode(t.unref(Ie.AddIcon),{color:t.unref(cN)},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(y)+" → "+t.toDisplayString(b),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([y,b])=>(t.openBlock(),t.createElementBlock("div",{key:`${y}-${b}`,class:"connection"},[t.createVNode(t.unref(Ie.RemoveIcon),{color:t.unref(Fg)},null,8,["color"]),t.createTextVNode(" "+t.toDisplayString(y)+" → "+t.toDisplayString(b),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-77e61dbe"]]),sM={class:"dk-editor-nav"},lM={class:"top"},cM={class:"bottom"},uM=Re(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:r}=nn.createI18n("en-us",cn),o=n,i=[{label:r("plugins.free-form.datakit.flow_editor.return_to_config"),icon:Ie.ArrowLeftIcon,onClick:()=>o("back")}],{sidePanelExpanded:a}=Xc(),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(u,f)=>(t.openBlock(),t.createElementBlock("nav",sM,[t.createElementVNode("div",lM,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:d,to:m,icon:p,onClick:h})=>t.createVNode(t.unref(Ke.KTooltip),{key:d,"kpop-attributes":{offset:"10px"},label:d,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(Ke.KButton),{key:d,appearance:"none",class:"nav-item",icon:"",to:m,onClick:h},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(p),{decorative:"",size:t.unref(Za)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",cM,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(d=>l.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(d=>l.value=!0,["self"]))},[t.createVNode(t.unref(Ke.KTooltip),{label:l.value?void 0:s.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ke.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(Ie.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Za)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(Ie.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Za)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-fde73b94"]]),dM={class:"dk-editor-main"},fM={class:"header"},pM={class:"actions"},mM={class:"settings"},hM={ref:"canvasContainer",class:"body"},gM=Re(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=nn.createI18n("en-us",cn),{modalOpen:r,undo:o,redo:i,canUndo:a,canRedo:s,load:l}=Kt();function c(m){return n(`plugins.free-form.datakit.examples.${m}`)}function u(m){const p=Vr.load(m.code,{schema:xo,json:!0});if(typeof p!="object"||p===null)return;const h=p,g={config:{...h,nodes:h.nodes??[]}};l(g,!0)}function f(){r.value=!1}M0({enabled:r,undo:o,redo:i});const d={maxWidth:"300px",zIndex:1e4};return(m,p)=>(t.openBlock(),t.createElementBlock("div",dM,[t.createElementVNode("header",fM,[t.createElementVNode("div",pM,[t.createVNode(t.unref(Ke.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(ou,{keys:t.unref(Qc).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(Ke.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(Ke.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(ou,{keys:t.unref(Qc).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(Ke.KButton),{appearance:"tertiary",disabled:!t.unref(s),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),p[0]||(p[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",mM,[t.createVNode(ir,{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:d},name:"config.debug"},null,8,["label","label-attributes"])]),p[1]||(p[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(Ke.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(k0),h=>(t.openBlock(),t.createBlock(t.unref(Ke.KDropdownItem),{key:h.id,onClick:g=>u(h)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c(h.i18nKey)),1)]),_:2},1032,["onClick"]))),128))]),_:1},8,["trigger-text"]),t.createVNode(t.unref(Ke.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(Ie.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(Ke.KButton),{onClick:f},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",hM,[t.createVNode(sm,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-1cf532ff"]]),yM=["draggable"],_M={class:"icon"},bM={class:"content"},wM={class:"title"},kM={class:"description"},CM=Re(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}=Gc[e.type],{colors:{background:a,foreground:s}}=hD(Gc[e.type].group);function l(c){r("dragstart",c,e.type)}return(c,u)=>(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",_M,[t.createVNode(t.unref(i),{size:16})]),t.createElementVNode("div",bM,[t.createElementVNode("div",wM,t.toDisplayString(e.type),1),t.createElementVNode("div",kM,t.toDisplayString(t.unref(o)),1)])],42,yM))}}),[["__scopeId","data-v-829422ff"]]),EM={class:"dk-node-panel"},NM={key:0,class:"title"},xM={class:"node-list"},SM={class:"group-title"},AM={class:"group-items"},vM={"aria-hidden":"true",class:"preview",inert:""},IM=Re(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=nn.createI18n("en-us",cn),{createNode:r}=Kt(),o=t.inject(Jo.KM_2446_DATAKIT_JWT_NODES,!1),i=t.computed(()=>o?S0:S0.filter(({id:u})=>u!=="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(u,f)=>{var v,N,O;const d=u.currentTarget,{left:m,top:p,width:h,height:g}=d.getBoundingClientRect(),y=u.clientX-m,b=u.clientY-p;s.value=r({type:f}),await t.nextTick();const _=document.querySelector(`#${a}`)||d,C=_.cloneNode(!0);C.classList.add("dk-drag-snapshot");const{offsetWidth:k,offsetHeight:E}=_;Object.assign(C.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${k}px`,height:`${E}px`}),document.body.appendChild(C);const w=y/h,x=b/g,T={ratioX:w,ratioY:x,offsetX:k*w,offsetY:E*x},M={action:"create-node",data:{type:f,anchor:T}};(v=u.dataTransfer)==null||v.setData(Ds,JSON.stringify(M)),(N=u.dataTransfer)==null||N.setData(`${Ds}/${f}`,f),(O=u.dataTransfer)==null||O.setDragImage(C,T.offsetX,T.offsetY),requestAnimationFrame(()=>{C.remove(),s.value=void 0})};return(u,f)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",EM,[e.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",NM,[t.createVNode(d,{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",xM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.value,m=>(t.openBlock(),t.createElementBlock("section",{key:m.id,class:"node-group"},[t.createElementVNode("h4",SM,t.toDisplayString(m.title),1),t.createElementVNode("div",AM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.nodes,p=>(t.openBlock(),t.createBlock(CM,{key:p.type,type:p.type,onDragstart:c},null,8,["type"]))),128))])]))),128))]),t.createElementVNode("div",vM,[t.createVNode(t.unref(Pt.VueFlow),{nodes:l.value},{"node-flow":t.withCtx(m=>[t.createVNode(Q0,{id:a,data:m.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-f2040974"]]);function TM(){const{addField:e,getNodeByName:n,removeField:r,replaceConfig:o,renameField:i,disconnectOutEdges:a,nodeMapByName:s}=Kt(),l=n("vault");if(!l)throw new Error("no vault node");const c=t.computed(()=>{var h;return((h=s.value.get("vault"))==null?void 0:h.config)||{}});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(h,g)=>{e(l.id,"output",h,!1);const y={...l.config,[h]:g};o(l.id,y)},removeVault:h=>{const g=vo(l,"output",h);if(!g)return;const y=l.fields.output.length===1;r(l.id,g.id,!0,!1);const b=wo(l.config,h);o(l.id,b,!y),y&&a(l.id)},updateVault:(h,g,y=!0)=>{const b={...l.config,[h]:g};o(l.id,b,y)},renameVault:(h,g,y=!0)=>{var k;const b=vo(l,"output",h);if(!b)return;i(l.id,b.id,g,!1);const _=((k=l.config)==null?void 0:k[h])??"",C={...wo(l.config,h),[g]:_};o(l.id,C,y)}}}const OM=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}}=dt.useI18n(),i=t.inject(it.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),u=()=>{const p=a.value.trim(),h=e.validateName(p,e.isEditing);return s.value=h||"",h===void 0},f=()=>{s.value="",u()},d=p=>{u()&&r("proceed",{secretRef:p,secretName:a.value.trim()})},m=()=>{a.value="",s.value="",r("cancel")};return t.watch(()=>e.secretName,p=>{a.value=p||"",s.value=""}),(p,h)=>{const g=t.resolveComponent("KInput"),y=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(Ja.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:m,onProceed:d},{"form-prefix":t.withCtx(()=>[t.createVNode(g,{"model-value":a.value,"onUpdate:modelValue":[h[0]||(h[0]=b=>a.value=b),f],"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(y,{key:1,"icon-variant":"error",message:t.unref(o)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),BM={class:"dk-vault-panel"},PM={class:"title"},VM={class:"vault-list"},RM={key:0,class:"vault-list-item"},$M={class:"vault-list-item-key"},LM={class:"vault-list-item-key-text"},DM=Re(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}=Wf(t.toRef(r,"name")),u=Yt(t.toRef(r,"name")),f=t.ref(null),d=t.ref(null),m=t.computed(()=>{if(!f.value)return null;const E=c(f.value),w=u.value?u.value.value[f.value]:void 0;return E===void 0||w===void 0?null:{id:f.value,key:E,value:w}}),{i18n:{t:p}}=dt.useI18n(),h=t.computed(()=>new Set(i.value.map(([,E])=>E))),g=()=>{if(!u.value)return;const w=a();d.value=w,f.value=w},y=()=>{f.value=null,d.value&&(s(d.value),d.value=null)},b=E=>{if(!m.value)throw new Error("no selected entry");const w=m.value.key,x=w!==E.secretName,T=m.value.value!==E.secretRef,M=x||T;m.value.value=E.secretRef,m.value.key=E.secretName,T&&(u.value.value[m.value.id]=E.secretRef),x&&l(m.value.id,E.secretName),d.value?o("add",E.secretName,E.secretRef):M&&o("update",E.secretName,E.secretRef,x?w:void 0),d.value=null,y()},_=E=>{f.value=E},C=E=>{const w=c(E);s(E),o("remove",w)},k=(E,w)=>{var x;if(!E)return p("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(h.value.has(E)&&!(w&&E===((x=m.value)==null?void 0:x.key)))return p("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(E,w)=>{var v,N;const x=t.resolveComponent("KButton"),T=t.resolveComponent("KDropdownItem"),M=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",BM,[t.createElementVNode("h3",PM,t.toDisplayString(t.unref(p)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(x,{appearance:"tertiary",class:"add-button",size:"small",onClick:g},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(p)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",VM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),([O,B])=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:O},[B?(t.openBlock(),t.createElementBlock("div",RM,[t.createElementVNode("div",$M,[t.createVNode(t.unref(Ie.KeyIcon),{color:t.unref(Tr),size:16},null,8,["color"]),t.createElementVNode("div",LM,t.toDisplayString(B),1)]),t.createVNode(M,null,{items:t.withCtx(()=>[t.createVNode(T,{onClick:A=>_(O)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(p)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1},8,["onClick"]),t.createVNode(T,{danger:"",onClick:A=>C(O)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(p)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1},8,["onClick"])]),default:t.withCtx(()=>[t.createVNode(x,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{color:t.unref(rf)},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(OM,{"is-editing":!!f.value&&!d.value,"secret-name":(v=m.value)==null?void 0:v.key,"secret-ref":(N=m.value)==null?void 0:N.value,"validate-name":k,onCancel:y,onProceed:b},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-c53e3d9c"]]);function MM(){const{getSchema:e}=yt();return t.computed(()=>{const n=e("config.resources");if(!n)throw new Error("Failed to get resource schema");const r=to(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 jM={key:1},FM=["innerHTML"],UM={class:"horizontal-container"},lm=Re(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}=yt(),a=Yt(t.toRef(()=>e.name)),s=Vn(a.path,o),l=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=u=>{a.value&&(a.value.value=u),r("update:modelValue",u)};return(u,f)=>{var p;const d=t.resolveComponent("KAlert"),m=t.resolveComponent("KLabel");return t.unref(a).error?(t.openBlock(),t.createBlock(d,{key:0,appearance:"danger",message:t.unref(a).error.message},null,8,["message"])):t.withDirectives((t.openBlock(),t.createElementBlock("div",jM,[t.createVNode(m,t.normalizeProps(t.guardReactiveProps(t.unref(s).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s).label)+" ",1)]),_:2},[(p=t.unref(s).labelAttributes)!=null&&p.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,FM)]),key:"0"}:void 0]),1040),t.createElementVNode("div",UM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,h=>(t.openBlock(),t.createBlock(t.unref(Ke.KRadio),{key:h.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[f[0]||(f[0]=g=>t.unref(a).value.value=g),c],"card-orientation":"horizontal",label:h.label,"selected-value":h.value},null,8,["model-value","label","selected-value"]))),128))])],512)),[[t.vShow,!t.unref(a).hide.value]])}}}),[["__scopeId","data-v-7c0483f3"]]),KM={class:"dk-cache-panel"},qM={class:"title"},GM={key:0,class:"cache-item"},HM={class:"cache-item-key"},zM={class:"cache-item-key-text"},WM={class:"dk-resource-cache-form"},YM={key:1},JM={key:2,class:"dk-cache-inline-redis"},XM=Re(t.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(e,{emit:n}){const r=n,{getDefault:o,formData:i}=yt(),a=Yt("cache");if(a.error)throw new Error("No cache schema");const s=t.ref(!1),{i18n:{t:l}}=dt.useI18n(),c=t.computed(()=>!(u.value==="redis"&&!i.cache.partial_id&&!i.cache.redis)),u=t.computed(()=>{var _;return(_=a.value.value)==null?void 0:_.strategy}),f=t.computed(()=>{var _;return(_=a.value.value)!=null&&_.redis?Vr.dump(a.value.value.redis,{indent:2,noRefs:!0}):""}),d=()=>{s.value=!0},m=()=>{s.value=!1,r("cancel")},p=()=>{r("remove")},h=()=>{d(),a.value.value||(a.value.value=o("cache"),a.value.value.strategy="memory")},g=()=>{s.value=!1,r("update",i)},y=()=>{var _,C;u.value==="memory"&&((_=i.cache)!=null&&_.partial_id)&&((C=i.cache)==null||delete C.partial_id)};async function b({codeElement:_,language:C,code:k}){_.innerHTML=await nN.codeToHtml(k,{lang:C,theme:"catppuccin-mocha",structure:"inline"})}return(_,C)=>{const k=t.resolveComponent("KButton"),E=t.resolveComponent("KDropdownItem"),w=t.resolveComponent("KDropdown"),x=t.resolveComponent("KLabel"),T=t.resolveComponent("KCodeBlock"),M=t.resolveComponent("KModal");return t.openBlock(),t.createElementBlock("div",KM,[t.createElementVNode("h3",qM,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),e.strategy?(t.openBlock(),t.createElementBlock("div",GM,[t.createElementVNode("div",HM,[t.createVNode(t.unref(Ie.DatabaseIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"]),t.createElementVNode("div",zM,t.toDisplayString(e.strategy),1)]),t.createVNode(w,null,{items:t.withCtx(()=>[t.createVNode(E,{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),t.createVNode(E,{danger:"",onClick:p},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1})]),default:t.withCtx(()=>[t.createVNode(k,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{color:t.unref(rf)},null,8,["color"])]),_:1})]),_:1})])):(t.openBlock(),t.createBlock(k,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),t.createVNode(M,{"action-button-disabled":!c.value,"action-button-text":t.unref(l)("actions.save"),"max-width":"640px",title:t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:s.value,onCancel:m,onProceed:g},{default:t.withCtx(()=>{var v,N;return[t.createElementVNode("div",WM,[t.createVNode(lm,{items:[{label:t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":y},null,8,["items"]),u.value==="memory"?(t.openBlock(),t.createBlock(lt,{key:0,name:"memory.dictionary_name"})):t.createCommentVNode("",!0),u.value==="redis"?(t.openBlock(),t.createElementBlock("div",YM,[t.createVNode(x,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),t.createVNode(t.unref(Mg.RedisConfigurationSelector),{"model-value":(v=t.unref(i).cache)==null?void 0:v.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":C[0]||(C[0]=O=>t.unref(i).cache.partial_id=O)},null,8,["model-value"])])):t.createCommentVNode("",!0),u.value==="redis"&&!((N=t.unref(i).cache)!=null&&N.partial_id)&&f.value?(t.openBlock(),t.createElementBlock("div",JM,[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),t.createVNode(T,{id:"dk-cache-redis-configuration",code:f.value,language:"yaml",theme:"dark",onCodeBlockRender:b},null,8,["code"])])):t.createCommentVNode("",!0)])]}),_:1},8,["action-button-disabled","action-button-text","title","visible"])])}}}),[["__scopeId","data-v-55cb68f3"]]),ZM={class:"dk-resources-panel"},QM=Re(t.defineComponent({__name:"ResourcesPanel",setup(e){const n=MM(),r=t.ref(0),{addVault:o,removeVault:i,updateVault:a,renameVault:s,formData:l}=TM();function c(g,y,b){b&&b!==g&&s(b,g,!1),a(g,y)}const{state:u,commit:f}=Kt(),d=t.computed(()=>({cache:u.value.cacheConfig}));function m(g){u.value.cacheConfig=g.cache,f()}function p(){u.value.cacheConfig=void 0,f()}function h(){r.value++}return(g,y)=>(t.openBlock(),t.createElementBlock("div",ZM,[t.createVNode(mn,{data:t.unref(l),schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(DM,{name:"vault",onAdd:t.unref(o),onRemove:t.unref(i),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),y[0]||(y[0]=t.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(t.openBlock(),t.createBlock(mn,{key:`${r.value}`,data:d.value,schema:t.unref(n)},{default:t.withCtx(()=>{var b;return[t.createVNode(XM,{strategy:(b=d.value.cache)==null?void 0:b.strategy,onCancel:h,onRemove:p,onUpdate:m},null,8,["strategy"])]}),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-9093c001"]]),ej={class:"header"},tj={class:"title"},nj={class:"body"},rj={class:"panel"},oj=Re(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=nn.createI18n("en-us",cn),{sidePanelExpanded:r}=Xc(),{propertiesPanelOpen:o,selectedNode:i}=Kt(),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,u)=>{const f=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(r),inited:l.value}])},[t.createElementVNode("header",ej,[t.createElementVNode("h2",tj,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",nj,[t.createElementVNode("div",rj,[t.createVNode(f,{modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=d=>a.value=d),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(IM,{key:0,class:"node-panel","hide-title":""})):t.createCommentVNode("",!0),a.value==="resources"?(t.openBlock(),t.createBlock(QM,{key:1})):t.createCommentVNode("",!0)])])],2)}}}),[["__scopeId","data-v-b596edaf"]]),ij=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,r)=>(t.openBlock(),t.createBlock(qt,{items:t.unref(Rf)([...t.unref(N0)]),name:e.name},null,8,["items","name"]))}});function aj(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 sj(e){const n=e.path[2];return n==="output"||n==="outputs"}function nk(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function rk(e,n){const r=e.input!==void 0&&e.input!==null,o=nk(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=nk(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 ok(e,n,r){if(!e.nodes)return;const o=e.nodes.map(c=>c.name),i=new Set;o.forEach((c,u)=>{i.has(c)&&r.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",u,"name"]}),i.add(c)});const a=new Set([...n,...o]),s=new Map,l=new Map;e.nodes.forEach((c,u)=>{for(const f of aj(c,u)){const d=f.value.split(".",1)[0];if(a.has(d)||r.addIssue({code:"custom",message:`Unknown node "${d}" in connection "${f.value}"`,path:f.path}),sj(f)){const m=`${f.nodeName}->${d}`;l.has(m)?r.addIssue({code:"custom",message:`Connection specified on both sides: "${f.nodeName}" outputs to "${d}" and "${d}" inputs from "${f.nodeName}". Specify it on one side only.`,path:f.path}):s.set(m,s.get(m)??f.path)}else{const m=`${d}->${f.nodeName}`;s.has(m)?r.addIssue({code:"custom",message:`Connection specified on both sides: "${d}" outputs to "${f.nodeName}" and "${f.nodeName}" inputs from "${d}". Specify it on one side only.`,path:f.path}):l.set(m,l.get(m)??f.path)}}})}const lj=H.z.enum(C0),cj=H.z.enum(oa),ik=e=>oa.includes(e),cm=H.z.enum(E0),ak=cm.options;H.z.union([cm,lj]);const uj=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,su=H.z.string().min(1).max(255).regex(uj,"Invalid node name (snake_case / kebab-case only)").refine(e=>!ik(e),"Name clashes with reserved implicit node").brand(),sk=H.z.union([cj,su]),dj=H.z.string().min(1).brand(),fj=["then","else"];H.z.enum(fj);const ft=H.z.string().min(1).max(255).refine(e=>{if(sk.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,r,o]=n;return sk.safeParse(r).success&&dj.safeParse(o).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),pj=H.z.object({body:ft,headers:ft,http_proxy:ft,https_proxy:ft,proxy_auth_password:ft,proxy_auth_username:ft,query:ft,url:ft}).partial().strict(),mj=H.z.object({headers:ft,body:ft}).partial().strict(),hj=H.z.object({data:ft,key:ft,ttl:ft}).partial().strict(),gj=H.z.object({claims:ft,key:ft}).partial().strict(),yj=H.z.object({key:ft,token:ft}).partial().strict(),lk=H.z.enum(N0),ck=H.z.enum(qp),cr=H.z.object({type:H.z.string(),name:su,input:ft,inputs:H.z.record(H.z.string().min(1).max(255),ft).nullish(),output:ft,outputs:H.z.record(H.z.string().min(1).max(255),ft).nullish()}).loose().superRefine((e,n)=>{rk(e,n)}),_j=H.z.object({type:H.z.string(),name:H.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}),ak.includes(r)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${r}", expected one of: ${ak.join(", ")}`})}),bj=cr.safeExtend({type:H.z.literal("call"),method:lk.default("GET").nullish(),ssl_server_name:H.z.string().nullish(),ssl_verify:H.z.boolean().default(!0).nullish(),timeout:H.z.number().int().min(0).max(2147483646).nullish(),url:H.z.url().nullish(),inputs:pj.nullish(),outputs:H.z.object({body:ft,headers:ft,raw_body:ft,status:ft}).partial().nullish()}).strict(),wj=cr.safeExtend({type:H.z.literal("exit"),status:H.z.number().int().min(200).max(599).default(200).nullish(),warn_headers_sent:H.z.boolean().nullish(),inputs:mj.nullish(),output:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),kj=cr.safeExtend({type:H.z.literal("jq"),jq:H.z.string().min(1).max(10240),outputs:H.z.never().nullish()}).strict(),Cj=cr.safeExtend({type:H.z.literal("xml_to_json"),recognize_type:H.z.boolean().nullish().default(!0),attributes_block_name:H.z.string().min(1).max(32).nullish(),attributes_name_prefix:H.z.string().min(1).max(32).nullish(),text_block_name:H.z.string().min(1).max(32).nullish().default("#text"),text_as_property:H.z.boolean().nullish().default(!1),xpath:H.z.string().min(1).max(256).nullish(),inputs:H.z.never().nullish(),outputs:H.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"}))}),Ej=cr.safeExtend({type:H.z.literal("json_to_xml"),attributes_block_name:H.z.string().min(1).max(32).nullish(),attributes_name_prefix:H.z.string().min(1).max(32).nullish(),root_element_name:H.z.string().min(1).max(64).nullish(),text_block_name:H.z.string().min(1).max(32).nullish().default("#text"),inputs:H.z.record(H.z.string().min(1).max(255),ft).nullish(),outputs:H.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"}))}),Nj=cr.safeExtend({type:H.z.literal("jwt_decode"),inputs:H.z.never().nullish(),outputs:H.z.object({header:ft,payload:ft,signature:ft}).partial().nullish()}).strict(),xj=cr.safeExtend({type:H.z.literal("jwt_sign"),algorithm:ck,expires_in:H.z.number().int().min(1).default(300).nullish(),inputs:gj.nullish(),kid:H.z.string().nullish(),not_before:H.z.number().int().min(0).default(0).nullish(),outputs:H.z.object({claims:ft,header:ft,token:ft}).partial().nullish(),static_claims:H.z.record(H.z.string(),H.z.string()).default({}).nullish(),typ:H.z.string().default("JWT").nullish()}).strict(),Sj=cr.safeExtend({type:H.z.literal("jwt_verify"),allowed_algorithms:H.z.array(ck).default([]).nullish(),audiences:H.z.array(H.z.string()).default([]).nullish(),inputs:yj.nullish(),issuers:H.z.array(H.z.string()).default([]).nullish(),leeway:H.z.number().int().min(0).default(0).nullish(),outputs:H.z.object({claims:ft,header:ft}).partial().nullish(),required_claims:H.z.array(H.z.string()).default([]).nullish(),validate_exp:H.z.boolean().default(!0).nullish(),validate_nbf:H.z.boolean().default(!0).nullish()}).strict(),Aj=cr.safeExtend({type:H.z.literal("property"),content_type:H.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:H.z.string().min(1).max(255),inputs:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),vj=cr.safeExtend({type:H.z.literal("static"),values:H.z.record(H.z.string(),H.z.unknown()),input:H.z.never().nullish(),inputs:H.z.never().nullish()}).strict(),Ij=cr.safeExtend({type:H.z.literal("cache"),bypass_on_error:H.z.boolean().nullish(),inputs:hj.nullish(),outputs:H.z.object({data:ft,hit:ft,miss:ft,stored:ft}).partial().nullish(),ttl:H.z.number().int().gt(0).nullish()}).strict(),Tj=cr.safeExtend({type:H.z.literal("branch"),then:H.z.array(su).min(1).max(64).nullish(),else:H.z.array(su).min(1).max(64).nullish()}).strict(),Oj=_j.pipe(H.z.discriminatedUnion("type",[bj,wj,kj,Cj,Ej,Nj,xj,Sj,Aj,vj,Ij,Tj])),Bj=H.z.record(H.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),H.z.string().min(1).max(4095)),Pj=H.z.object({dictionary_name:H.z.string().nullish().default("kong_db_cache")}),Vj=H.z.object({host:H.z.string().default("127.0.0.1"),port:H.z.number().int().min(0).max(65535).default(6379)}),Rj=H.z.object({ip:H.z.string().default("127.0.0.1"),port:H.z.number().int().min(0).max(65535).default(6379)}),$j=H.z.object({host:H.z.string().nullish().default("127.0.0.1"),port:H.z.number().int().min(0).max(65535).nullish().default(6379),connect_timeout:H.z.number().int().min(0).max(2147483646).nullish().default(2e3),send_timeout:H.z.number().int().min(0).max(2147483646).nullish().default(2e3),read_timeout:H.z.number().int().min(0).max(2147483646).nullish().default(2e3),username:H.z.string().nullish(),password:H.z.string().nullish(),sentinel_username:H.z.string().nullish(),sentinel_password:H.z.string().nullish(),database:H.z.number().int().nullish().default(0),keepalive_pool_size:H.z.number().int().min(1).max(2147483646).nullish().default(256),keepalive_backlog:H.z.number().int().min(0).max(2147483646).nullish(),sentinel_master:H.z.string().nullish(),sentinel_role:H.z.enum(["master","slave","any"]).nullish(),sentinel_nodes:H.z.array(Vj).min(1,{message:"sentinel_nodes must contain at least 1 item"}).nullish(),cluster_nodes:H.z.array(Rj).min(1,{message:"cluster_nodes must contain at least 1 item"}).nullish(),ssl:H.z.boolean().default(!1).nullish(),ssl_verify:H.z.boolean().default(!0).nullish(),server_name:H.z.string().nullish(),cluster_max_redirections:H.z.number().int().default(5).nullish(),connection_is_proxied:H.z.boolean().default(!1).nullish(),cloud_authentication:H.z.object({auth_provider:H.z.enum(["aws","azure","gcp"]).nullish(),aws_access_key_id:H.z.string().nullish(),aws_assume_role_arn:H.z.string().nullish(),aws_cache_name:H.z.string().nullish(),aws_is_serverless:H.z.boolean().default(!0).nullish(),aws_region:H.z.string().nullish(),aws_role_session_name:H.z.string().nullish(),aws_secret_access_key:H.z.string().nullish(),azure_client_id:H.z.string().nullish(),azure_client_secret:H.z.string().nullish(),azure_tenant_id:H.z.string().nullish(),gcp_service_account_json:H.z.string().nullish()}).nullish(),timeout:H.z.number().int().nullish(),sentinel_addresses:H.z.array(H.z.string()).min(1).nullish(),cluster_addresses:H.z.array(H.z.string()).min(1).nullish()}).superRefine((e,n)=>{var c;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=!!((c=e.sentinel_nodes)!=null&&c.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"]})}),Lj=H.z.object({strategy:H.z.enum(["memory","redis"]).nullish(),memory:Pj,redis:$j}),Dj=H.z.object({vault:Bj.nullish(),cache:Lj.nullish()});H.z.array(H.z.object({id:H.z.string()})),H.z.object({nodes:H.z.array(Oj).min(1,"At least one node is required").max(64),debug:H.z.boolean().default(!1).nullish(),resources:Dj.nullish()}).strict().superRefine((e,n)=>{ok(e,oa,n)});const uk=cm.options,um=H.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!ik(e),"Node name conflicts with reserved implicit node"),xt=H.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"),dk=H.z.object({body:xt.nullish(),headers:xt.nullish(),query:xt.nullish()}).partial().strict(),fk=H.z.object({headers:xt.nullish(),body:xt.nullish()}).partial().strict(),pk=H.z.object({data:xt.nullish(),key:xt.nullish(),ttl:xt.nullish()}).partial().strict(),mk=H.z.object({claims:xt.nullish(),key:xt.nullish()}).partial().strict(),hk=H.z.object({key:xt.nullish(),token:xt.nullish()}).partial().strict(),Mj={call:dk,exit:fk,cache:pk,jwt_sign:mk,jwt_verify:hk};function jj(e){const n=Mj[e];return n?Object.keys(n.shape):null}const ur=H.z.object({type:H.z.string(),name:um,input:xt.nullish(),inputs:H.z.record(H.z.string(),xt.nullish()).nullish(),output:xt.nullish(),outputs:H.z.record(H.z.string(),xt.nullish()).nullish()}).loose().superRefine((e,n)=>{rk(e,n)}),Fj=H.z.object({type:H.z.string(),name:H.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}),uk.includes(r)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${r}", expected one of: ${uk.join(", ")}`})}),Uj=ur.safeExtend({type:H.z.literal("call"),method:lk.nullish(),ssl_server_name:H.z.string().nullish(),ssl_verify:H.z.boolean().nullish(),timeout:H.z.union([H.z.number(),H.z.string()]).nullish(),url:H.z.string().nullish(),inputs:dk.nullish(),outputs:H.z.object({body:xt.nullish(),headers:xt.nullish(),status:xt.nullish()}).partial().nullish()}).strict(),Kj=ur.safeExtend({type:H.z.literal("exit"),status:H.z.union([H.z.number(),H.z.string()]).nullish(),warn_headers_sent:H.z.boolean().nullish(),inputs:fk.nullish(),output:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),qj=ur.safeExtend({type:H.z.literal("jq"),jq:H.z.string().nullish(),outputs:H.z.never().nullish()}).strict(),Gj=ur.safeExtend({type:H.z.literal("xml_to_json"),recognize_type:H.z.boolean().nullish(),attributes_block_name:H.z.string().nullish(),attributes_name_prefix:H.z.string().nullish(),text_block_name:H.z.string().nullish(),text_as_property:H.z.boolean().nullish(),xpath:H.z.string().nullish(),inputs:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),Hj=ur.safeExtend({type:H.z.literal("json_to_xml"),attributes_block_name:H.z.string().nullish(),attributes_name_prefix:H.z.string().nullish(),root_element_name:H.z.string().nullish(),text_block_name:H.z.string().nullish(),inputs:H.z.record(H.z.string(),xt.nullish()).nullish(),outputs:H.z.never().nullish()}).strict(),zj=ur.safeExtend({type:H.z.literal("property"),content_type:H.z.string().nullish(),property:H.z.string().nullish(),inputs:H.z.never().nullish(),outputs:H.z.never().nullish()}).strict(),Wj=ur.safeExtend({type:H.z.literal("static"),values:H.z.record(H.z.string(),H.z.unknown()).nullish(),input:H.z.never().nullish(),inputs:H.z.never().nullish()}).strict(),Yj=ur.safeExtend({type:H.z.literal("cache"),bypass_on_error:H.z.boolean().nullish(),inputs:pk.nullish(),outputs:H.z.object({data:xt.nullish(),hit:xt.nullish(),miss:xt.nullish(),stored:xt.nullish()}).partial().nullish(),ttl:H.z.union([H.z.number(),H.z.string()]).nullish()}).strict(),Jj=ur.safeExtend({type:H.z.literal("jwt_decode"),inputs:H.z.never().nullish(),outputs:H.z.object({header:xt.nullish(),payload:xt.nullish(),signature:xt.nullish()}).partial().nullish()}).strict(),Xj=ur.safeExtend({type:H.z.literal("jwt_sign"),algorithm:H.z.enum(qp).nullish(),expires_in:H.z.union([H.z.number(),H.z.string()]).nullish(),inputs:mk.nullish(),kid:H.z.string().nullish(),not_before:H.z.union([H.z.number(),H.z.string()]).nullish(),outputs:H.z.object({claims:xt.nullish(),header:xt.nullish(),token:xt.nullish()}).partial().nullish(),static_claims:H.z.record(H.z.string(),H.z.string()).nullish(),typ:H.z.string().nullish()}).strict(),Zj=ur.safeExtend({type:H.z.literal("jwt_verify"),allowed_algorithms:H.z.array(H.z.enum(qp)).nullish(),audiences:H.z.array(H.z.string()).nullish(),inputs:hk.nullish(),issuers:H.z.array(H.z.string()).nullish(),leeway:H.z.union([H.z.number(),H.z.string()]).nullish(),outputs:H.z.object({claims:xt.nullish(),header:xt.nullish()}).partial().nullish(),required_claims:H.z.array(H.z.string()).nullish(),validate_exp:H.z.boolean().nullish(),validate_nbf:H.z.boolean().nullish()}).strict(),Qj=ur.safeExtend({type:H.z.literal("branch"),then:H.z.array(um).nullish(),else:H.z.array(um).nullish()}).strict(),eF=Fj.pipe(H.z.discriminatedUnion("type",[Uj,Kj,qj,Gj,Hj,Jj,Xj,Zj,zj,Wj,Yj,Qj])),tF=H.z.record(H.z.string(),H.z.string()),nF=H.z.object({dictionary_name:H.z.string().nullish()}),rF=H.z.object(),oF=H.z.object({strategy:H.z.enum(["memory","redis"]).nullish(),memory:nF.nullish(),redis:rF.nullish()}),iF=H.z.object({vault:tF.nullish(),cache:oF.nullish()}),gk=H.z.object({nodes:H.z.array(eF).nullish(),debug:H.z.boolean().nullish(),resources:iF.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||ok(e,oa,n)}).nullish(),yk=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{},nodeType:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=yt(),{i18n:r}=et(),o=t.computed(()=>{const i=n("inputs");if(!i)return[];const a=i.fields.map(l=>Object.keys(l)[0]);if($n(e.nodeType))return a;const s=jj(e.nodeType);return s===null?a:s.length===0?[]:dO(a,s)});return(i,a)=>(t.openBlock(),t.createBlock(Jt,{"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(qt,{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"]))}}),aF=["data-testid"],sF={class:"dk-inputs-map-field-entry-body"},lF={class:"dk-inputs-map-field-entry-content"},cF=Re(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:u}=Wf(t.toRef(r,"name")),{value:f}=Yt(t.toRef(r,"name")),{i18n:{t:d}}=et(),m=t.useTemplateRef("root"),p=t.ref(null),h=t.ref({}),g=t.ref({});let y;const b=t.computed(()=>{var N;return(N=r.keyOrder)!=null&&N.length?[...i.value].sort((O,B)=>{const A=r.keyOrder.indexOf(O[1]),q=r.keyOrder.indexOf(B[1]);return(A===-1?1/0:A)-(q===-1?1/0:q)}):i.value});async function _(N,O="key"){var B;m.value&&(await t.nextTick(),(B=m.value.querySelector(`[data-${O}-input="${N}"]`))==null||B.focus())}function C(){const N=a();if(!N)return;g.value[N]="";const O=b.value.findIndex(([,B])=>!B);_(O===-1?b.value.length-1:O),p.value=N}function k(N,O){s(N),delete g.value[N],delete h.value[N],N===p.value&&(p.value=null),O.trim()!==""&&o("remove:field",O)}function E(N){y=g.value[N]??c(N)??""}function w(N,O){const B=O.trim();g.value[N]=B,T(N,B)}function x(N){var B;const O=g.value[N]??c(N)??"";if(T(N,O)){g.value[N]=y,l(N,y),delete h.value[N];return}if(N===p.value){if(O.trim()==="")return;l(N,O),o("add:field",O,((B=f==null?void 0:f.value)==null?void 0:B[N])??null),p.value=null}else l(N,O),o("rename:field",y,O);delete h.value[N],y=O}function T(N,O){delete h.value[N];const B=r.fieldNameValidator("input",y,O);if(B)return h.value[N]=B,B}function M(N){T(N,g.value[N]??c(N)??"")}function v(N,O){if(f!=null&&f.value&&(f.value[N]=O),N===p.value)return;const B=c(N);B&&o("change:inputs",B,O)}return t.watch(i,N=>{const O=new Set(N.map(([B])=>B));Object.keys(g.value).forEach(B=>{O.has(B)?g.value[B]=g.value[B]??c(B)??"":(delete g.value[B],delete h.value[B])}),N.forEach(([B,A])=>{g.value[B]=g.value[B]??A}),p.value&&!O.has(p.value)&&(p.value=null)},{immediate:!0}),t.watch(()=>r.keyOrder,()=>{if(!p.value)return;const N=b.value.findIndex(([O])=>O===p.value);N!==-1&&_(N)}),(N,O)=>{const B=t.resolveComponent("KAlert"),A=t.resolveComponent("KLabel"),q=t.resolveComponent("KInput"),z=t.resolveComponent("KSelect"),Y=t.resolveComponent("KButton");return t.unref(u).error?(t.openBlock(),t.createBlock(B,{key:0,appearance:"danger",message:t.unref(u).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,([K,U],j)=>{var L;return t.openBlock(),t.createElementBlock("div",{key:K,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(u).path.value}.${j}`},[t.createVNode(A,{for:`ff-kv-entry-key-${t.unref(u).path.value}.${j}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:1},8,["for"]),t.createElementVNode("div",sF,[t.createElementVNode("div",lF,[t.createVNode(q,{id:`ff-kv-entry-key-${t.unref(u).path.value}.${j}`,class:"ff-kv-field-entry-key","data-key-input":j,"data-testid":`ff-key-${t.unref(u).path.value}.${j}`,error:!!h.value[K],"error-message":h.value[K],"model-value":g.value[K]??U,placeholder:t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:G=>M(K),onChange:G=>x(K),onFocus:G=>E(K),"onUpdate:modelValue":G=>w(K,G)},null,8,["id","data-key-input","data-testid","error","error-message","model-value","placeholder","onBlur","onChange","onFocus","onUpdate:modelValue"]),t.createVNode(z,{class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(u).path.value}.${j}`,"enable-filtering":"",items:e.items,label:t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),"model-value":(L=t.unref(f))==null?void 0:L[K],placeholder:t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:G=>v(K,(G==null?void 0:G.value)??null)},t.createSlots({_:2},[N.$slots["item-label"]?{name:"item-template",fn:t.withCtx(({item:G})=>[t.renderSlot(N.$slots,"item-label",t.mergeProps({ref_for:!0},G),void 0,!0)]),key:"0"}:void 0]),1032,["data-testid","items","label","model-value","placeholder","onChange"])]),t.createVNode(Y,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(u).path.value}.${j}`,icon:"",onClick:G=>k(K,U)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.CloseIcon))]),_:1},8,["data-testid","onClick"])])],8,aF)}),128)),t.createVNode(Y,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(u).path.value}`,disabled:!!p.value,onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(d)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-43dcb370"]]),uF={class:"dk-source-item"},lu=Re(t.defineComponent({__name:"SourceItem",props:{item:{}},setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock("span",uF,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Gp)(e.item.type).icon),{color:t.unref(Tr),size:t.unref(Za)},null,8,["color","size"])),t.createTextVNode(" "+t.toDisplayString(e.item.label),1)]))}}),[["__scopeId","data-v-82f17c56"]]),dF={key:1,class:"dk-inputs-field-or"},Jn=Re(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}=yt(),{i18n:{t:i}}=et(),a=t.computed(()=>o("inputs")),s=t.computed(()=>a.value?a.value.type==="record"?yk:cF:null);function l(m){r("change:input",m?m.value:null)}function c(m,p){r("add:field",m,p)}function u(m,p){r("change:inputs",m,p)}function f(m){r("remove:field",m)}function d(m,p){r("rename:field",m,p)}return(m,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(Ke.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(qt,{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(m.$slots,"item-label",t.normalizeProps(t.guardReactiveProps(h)),()=>[t.createVNode(lu,{item:h},null,8,["item"])],!0)]),_:3},8,["items","label","placeholder"])):t.createCommentVNode("",!0),s.value?(t.openBlock(),t.createElementBlock("div",dF,[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(Ke.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===yk?{nodeType:e.nodeType}:{fieldNameValidator:e.fieldNameValidator},{"onAdd:field":c,"onChange:inputs":u,"onRemove:field":f,"onRename:field":d}),{"item-label":t.withCtx(h=>[t.createVNode(lu,{item:h},null,8,["item"])]),_:1},16,["items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-4f1ce4e7"]]),fF={},pF={class:"dk-node-form-divider"};function mF(e,n){return t.openBlock(),t.createElementBlock("hr",pF)}const kr=Re(fF,[["render",mF],["__scopeId","data-v-35ed58be"]]),hF={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"},gF={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 yF(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function Ln(...e){return function(r){for(const o of e){const i=o(r);if(i)return i}}}function oi(e){const{i18n:{t:n}}=et(),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 _k(e,n){const{i18n:{t:r}}=et();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 no(e=0,n=1/0,r){const{i18n:{t:o}}=et();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 bk(e){const{i18n:{t:n}}=et();return function(o){if(!yF(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 fa(e,n){const{i18n:{t:r}}=et();return function(i){if(i==null)return;const a=bk(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 pa(e=-1/0,n=1/0,r){const{i18n:{t:o}}=et();return function(a){if(a==null)return;const s=bk(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 _F(e,n){const{state:r}=Kt(),{i18n:{t:o}}=et();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 bF(e,n,r){const{i18n:{t:o}}=et();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 wF(){const{i18n:{t:e}}=et();return function(r){if(Wp(r))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:r})}}function wk(e){const{i18n:{t:n}}=et(),r={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return Ln(oi(r),_k("identifier",r),wF(),_F(e,r))}function kF(e){const{i18n:{t:n}}=et(),{getNodeById:r}=Kt();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 Ln(oi(l),bF(i,r(e),s))(a)}}function CF(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=d=>{const m=typeof d=="function"?d():d,p=l(m);return n.value[s]=p,p},u=()=>{n.value[s]=void 0},f=d=>(u(),c(d));o[s]={handleChange:f,handleBlur:f,validate:f,isValid:t.computed(()=>n.value[s]===void 0),error:t.computed(()=>n.value[s])}});function i(){n.value={}}function a(s){var l;for(const c of Object.keys(e)){const u=s[c],f=typeof u=="function"?u():u;(l=o[c])==null||l.validate(f)}return n.value}return{isValid:r,errorMap:n,fields:o,clearErrors:i,validate:a}}function ro(e){const{validationConfig:n,getValidationData:r,toggleNodeValid:o}=e,{skipValidation:i}=Kt(),a=t.computed(()=>typeof n=="function"?n():n),s=t.computed(()=>CF(a.value)),l=t.computed(()=>s.value.fields),c=t.computed(()=>s.value.isValid.value);function u(){const d=r(),m=s.value.validate(d),p={};for(const h in a.value)p[h]=m[h];return p}function f(d,m){const p=()=>{const g=r(),y=l.value[d];y&&y.handleBlur(g[d])},h=()=>{m==null||m();const g=r(),y=l.value[d];y&&y.handleChange(g[d])};return t.computed(()=>{const g=l.value[d];return{validate:p,update:h,error:g?!g.isValid.value:!1,errorMessage:g?g.error.value??"":""}})}return t.onMounted(()=>{i.value?i.value=!1:u()}),t.onBeforeUnmount(async()=>{try{const d=u(),m=Object.values(d).filter(Boolean).length>0;o(!m)}catch{}}),t.watch(()=>c.value,o,{immediate:!0}),{fields:l.value,isValid:c,validateAll:u,createFieldHandler:f}}function Dn(e,n){const{state:r,renameNode:o,getNodeById:i,addField:a,renameField:s,removeField:l,replaceConfig:c,disconnectEdge:u,connectEdge:f,invalidConfigNodeIds:d,commit:m,revert:p}=Kt(),{i18n:{t:h}}=et(),g=W0(),y=t.computed(()=>{const K=i(e);if(!K)throw new Error("Node not existed");return K}),b=t.computed(()=>{const U=r.value.edges.filter(j=>j.target===e).reduce((j,L)=>{var P,V;const G=i(L.source),F=(P=Io(G,"output",L.sourceField))==null?void 0:P.id,$=(V=Io(y.value,"input",L.targetField))==null?void 0:V.name,S=G.id+(F?`.${F}`:"");return $?j.inputs={...j.inputs,[$]:S}:j.input=S,j},{});return y.value.fields.input.forEach(j=>{U.inputs||(U.inputs={}),U.inputs[j.name]||(U.inputs[j.name]=null)}),{...y.value.config,...U,name:y.value.name}}),_=K=>{o(e,K??"",!0,`${e}:rename`)},C=(K,U=!0)=>{if(!n)throw new Error("getFormValue is not defined");const j=wo(n(),["name","input","inputs"]),L=K?`update:${e}:${K}`:void 0;c(e,j,U,L)},k=(K,U)=>{const j=vo(y.value,K,U);if(!j)throw new Error(`Field with name "${U}" not found in node "${y.value.name}"`);return j},E=(K,U,j)=>{const L=!!j;a(e,K,U,!L),L&&v(U,j)},w=(K,U,j)=>{const L=k(K,U).id;s(e,L,j)},x=(K,U)=>{const j=k(K,U).id;l(e,j)},T=t.computed(()=>r.value.edges.filter(K=>K.target===e&&!K.targetField)[0]),M=t.computed(()=>r.value.edges.filter(K=>K.target===e&&K.targetField)),v=async(K,U)=>{const j=U==null,L=k("input",K).id;if(j){const oe=M.value.find(de=>de.targetField===L);oe&&u(oe.id);return}const{nodeId:G,fieldId:F}=A0(U),$=k("input",K).id,S=[];T.value&&(S.push(Fs(T.value,i)),u(T.value.id,!1));const P=M.value.find(oe=>oe.targetField===L);P&&(S.push(Fs(P,i)),u(P.id,!1)),f({source:G,sourceField:F,target:e,targetField:$},!1);const V=om(G,F,e,$,i),W=S[0]&&V?S[0][1]===V[1]:!1;if(m(),W||S.length===0)return;await g(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[V],S)||p()},N=async K=>{if(K==null){T.value&&u(T.value.id);return}const j=[];for(const S of M.value)j.push(Fs(S,i)),u(S.id,!1);T.value&&u(T.value.id,!1);const{nodeId:L,fieldId:G}=A0(K);f({source:L,sourceField:G,target:e,targetField:void 0},!1);const F=om(L,G,e,void 0,i);if(m(),j.length===0)return;await g(h("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[F],j)||p()},O=K=>{const U=[...r.value.edges,{source:K,target:e}];return Qp(Jc(U))},B=t.computed(()=>{var U,j;const K=[];for(const L of r.value.nodes)if((U=la(L.type).io)!=null&&U.output&&L.fields.output&&L.id!==e&&!(L.type==="property"&&!nm((j=L.config)==null?void 0:j.property))&&!O(L.id)&&!(y.value.phase==="request"&&L.phase==="response")&&!(L.type==="vault"&&L.fields.output.length===0)){K.push({value:L.id,label:L.name,type:L.type});for(const F of L.fields.output)K.push({value:`${L.id}.${F.id}`,label:`${L.name}.${F.name}`,type:L.type})}return K}),A=t.computed(()=>y.value.fields.input.map(K=>K.name)||[]);function q(K){d.value.delete(e),K||d.value.add(e)}const z=kF(e);function Y(K,U,j){const L=i(e);if(!L)throw new Error("Node not found when validating field name");const G=vo(L,K,U);return z(K,j,G==null?void 0:G.id)}return{formData:b,inputOptions:B,inputEdge:T,inputsEdges:M,inputsFieldNames:A,currentNode:y,setName:_,setConfig:C,addField:E,renameFieldByName:w,removeFieldByName:x,setInputs:v,setInput:N,nameValidator:wk(e),fieldNameValidator:Y,toggleNodeValid:q}}function Mn(e){const{getSchema:n}=yt();return t.computed(()=>{if($n(e))switch(e){case"response":return gF;case"service_request":return hF}try{const o=n().fields.find(u=>lc(u,"config"));if(!o)throw new Error("Config field not found in schema.");const a=o.config.fields.find(u=>lc(u,"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 dr=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const r=e,o=n,{i18n:{t:i}}=et(),a=t.ref(r.name),s=t.computed(()=>{const f=r.validate(a.value.trim());return f===void 0?"":f});let l=a.value.trim();function c(){if(s.value){a.value=l;return}o("update",a.value.trim())}function u(){l=a.value.trim()}return t.watch(()=>r.name,f=>{f!==a.value&&(a.value=f)}),(f,d)=>{const m=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(m,{"model-value":a.value,"onUpdate:modelValue":d[0]||(d[0]=p=>a.value=p),"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:u},null,8,["model-value","error","error-message","label"])}}}),EF=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=et(),r=t.useTemplateRef("form"),o=Mn("call"),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>r.value.getValue()),{createFieldHandler:h}=ro({validationConfig:{url:Ln(oi({fieldName:"URL"}),_k("url",{fieldName:"URL"})),timeout:Ln(fa("integer"),pa(0,2147483646))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:m}),g=h("url",()=>s("url")),y=h("timeout",()=>s("timeout"));return(b,_)=>{const C=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(C,{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(_t,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"url",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ij,{name:"method",onUpdate:_[0]||(_[0]=k=>t.unref(s)())}),t.createVNode(rn,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"timeout",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(_t,{name:"ssl_server_name","onUpdate:modelValue":_[1]||(_[1]=k=>t.unref(s)("ssl_server_name"))}),t.createVNode(ir,{name:"ssl_verify","onUpdate:modelValue":_[2]||(_[2]=k=>t.unref(s)("ssl_verify"))}),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"call","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),NF=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("service_request"),{formData:o,inputOptions:i,setInputs:a,setInput:s,inputsFieldNames:l,fieldNameValidator:c}=Dn(e.nodeId,()=>n.value.getValue());return(u,f)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Jn,{"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"]))}}),xF=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("response"),{formData:o,inputOptions:i,setInputs:a,setInput:s,inputsFieldNames:l,fieldNameValidator:c}=Dn(e.nodeId,()=>n.value.getValue());return(u,f)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(Jn,{"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"]))}}),SF=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:r}=et(),o=t.useTemplateRef("form"),i=Mn("jq"),{formData:a,setName:s,setConfig:l,inputOptions:c,setInputs:u,setInput:f,addField:d,removeFieldByName:m,renameFieldByName:p,inputsFieldNames:h,nameValidator:g,toggleNodeValid:y,fieldNameValidator:b}=Dn(e.nodeId,()=>o.value.getValue());function _(T,M){d("input",T,M)}function C(T){m("input",T)}function k(T,M){p("input",T,M)}const E=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:w}=ro({validationConfig:{jq:Ln(oi({fieldName:E}),no(1,10240,{fieldName:E}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:y}),x=w("jq",()=>l("jq"));return(T,M)=>{const v=t.resolveComponent("KLabel"),N=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(a).name,validate:t.unref(g),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(v,{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(_t,{autosize:"",error:t.unref(x).error,"error-message":t.unref(x).errorMessage,label:t.unref(E),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(x).validate,"onUpdate:modelValue":t.unref(x).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(N,{"hide-icon":"",href:t.unref(Bs).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(Bs).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(b),"field-names":t.unref(h),items:t.unref(c),"node-type":"jq","onAdd:field":_,"onChange:input":t.unref(f),"onChange:inputs":t.unref(u),"onRemove:field":C,"onRename:field":k},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),AF=Re(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}=Yt("values"),{i18n:l}=et(),c=t.useTemplateRef("root"),u=t.ref([]),f=t.ref(null);let d="",m=a==null?void 0:a.value;function p(){return cc("ff-kv-field-")}function h(v,N,O){const B=O.indexOf(v),A=O.indexOf(N);return B===-1&&A===-1?0:B===-1?1:A===-1?-1:B-A}function g(v,N){if(!v)return[];const O=Object.entries(v).map(([B,A])=>({id:p(),key:B,value:A}));return N!=null&&N.length&&O.sort((B,A)=>h(B.key,A.key,N)),O}function y(){const v={id:p(),key:"",value:""};return u.value.push(v),v}function b(v){const N=u.value.findIndex(O=>O.id===v);N!==-1&&u.value.splice(N,1)}u.value=g(a==null?void 0:a.value,r.keyOrder);async function _(v,N="key"){var O;c.value&&(await t.nextTick(),(O=c.value.querySelector(`[data-${N}-input="${v}"]`))==null||O.focus())}function C(){const v=y(),N=u.value.findIndex(({key:O})=>!O);_(N===-1?u.value.length-1:N),f.value=v}function k(v){var N;v.id===((N=f.value)==null?void 0:N.id)&&(f.value=null),b(v.id),v.key.trim()!==""&&o("remove:field",v.key)}function E(v){d=v.key}function w(v){var N;if(T(v)){v.key=d,delete i.value[v.id];return}if(v.id===((N=f.value)==null?void 0:N.id)){if(v.key.trim()==="")return;f.value=null,o("add:field",v.key,v.value)}else o("rename:field",d,v.key);d=v.key}function x(v,N){var B;if(N.id===((B=f.value)==null?void 0:B.id))return;const O=v.target.value.trim();o("change:value",N.key,O)}function T(v){delete i.value[v.id];const N=r.fieldNameValidator("output",d,v.key);if(N)return i.value[v.id]=N,N}function M(v){T(v)}return t.watch(()=>a==null?void 0:a.value,v=>{var z;if(fn(v,m))return;m=v;const N=f.value,O=new Map(u.value.filter(Y=>Y.key).map(Y=>[Y.key,Y])),B=[],A=v??{};((z=r.keyOrder)!=null&&z.length?Object.keys(A).sort((Y,K)=>h(Y,K,r.keyOrder)):Object.keys(A)).forEach(Y=>{const K=O.get(Y);if(K){K.value=A[Y],B.push(K);return}B.push({id:p(),key:Y,value:A[Y]})}),N&&!B.some(Y=>Y.id===N.id)&&B.push(N),u.value=B},{deep:!0}),(v,N)=>{const O=t.resolveComponent("KAlert"),B=t.resolveComponent("KLabel"),A=t.resolveComponent("KButton"),q=t.resolveComponent("KInput"),z=t.resolveComponent("KCard");return s.error?(t.openBlock(),t.createBlock(O,{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(B,{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(u.value,(Y,K)=>(t.openBlock(),t.createBlock(z,{key:Y.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${s.path.value}.${K}`},{actions:t.withCtx(()=>[t.createVNode(A,{appearance:"none","data-testid":`ff-kv-remove-btn-${s.path.value}.${K}`,icon:"",onClick:U=>k(Y)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.CloseIcon))]),_:1},8,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(q,{id:`ff-kv-entry-key-${s.path.value}.${K}`,modelValue:Y.key,"onUpdate:modelValue":[U=>Y.key=U,U=>T(Y)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":K,"data-testid":`ff-key-${s.path.value}.${K}`,error:!!i.value[Y.id],"error-message":i.value[Y.id],label:t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:U=>M(Y),onChange:U=>w(Y),onFocus:U=>E(Y)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(q,{modelValue:Y.value,"onUpdate:modelValue":U=>Y.value=U,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${s.path.value}.${K}`,label:t.unref(l).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:U=>x(U,Y)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode(A,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${s.path.value}`,disabled:!!f.value,onClick:C},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.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 vF(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 cu(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 IF(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 TF=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:r,addField:o,renameField:i,removeField:a,replaceConfig:s,getNodeById:l}=Kt(),{fieldNameValidator:c}=Dn(e.nodeId),u=Mn("static"),f=wk(e.nodeId),d=t.computed(()=>l(e.nodeId)),m=t.computed(()=>{var C;return((C=d.value)==null?void 0:C.fields.output.map(k=>k.name))||[]});function p(C){if(!d.value)throw new Error("No current node");n(d.value.id,C??"")}const h=t.computed(()=>{var M;if(!d.value)return{};const C=((M=d.value.config)==null?void 0:M.values)??{},k={},E=r(d.value.id).map(v=>v.sourceField).filter(Boolean).map(v=>Io(d.value,"output",v)).map(v=>v==null?void 0:v.name).filter(Boolean),w=d.value.fields.output.map(v=>v.name),x=Object.keys(C);return new Set([...x,...E,...w]).forEach(v=>{if(v in C){k[v]=C[v];return}k[v]=""}),{name:d.value.name,values:vF(k)}});function g(C,k){if(!d.value)throw new Error("No selected node");const E=k!==void 0;if(o(e.nodeId,"output",C,!E),E){const w={values:cu({...h.value.values,[C]:k})};s(e.nodeId,w)}}function y(C,k){if(!d.value)throw new Error("No selected node");const E=vo(d.value,"output",C);if(!E)throw new Error("No field found to rename");const w={values:cu(IF(h.value.values??{},C,k))};s(e.nodeId,w,!1),i(e.nodeId,E.id,k)}function b(C){var w;if(!d.value)throw new Error("No selected node");const k=vo(d.value,"output",C);if(!k)throw new Error("No field found to delete");a((w=d.value)==null?void 0:w.id,k.id,!0,!1);const E={values:cu({...h.value.values})};delete E.values[C],s(e.nodeId,E)}function _(C,k){if(!d.value)throw new Error("No selected node");const E={...h.value.values};E[C]=k;const w={values:cu(E)};s(e.nodeId,w)}return(C,k)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:h.value,schema:t.unref(u)},{default:t.withCtx(()=>{var E;return[t.createVNode(dr,{name:((E=d.value)==null?void 0:E.name)??"",validate:t.unref(f),onUpdate:p},null,8,["name","validate"]),t.createVNode(AF,{"field-name-validator":t.unref(c),"key-order":m.value,"onAdd:field":g,"onChange:value":_,"onRemove:field":b,"onRename:field":y},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),OF={class:"dk-kong-property-item"},BF={class:"property-type"},PF={class:"property-badges"},VF=Re(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:r}}=et(),o=e,i=n,{formData:a}=yt(),s=t.ref(Ms(a.property)),l=t.computed(()=>js(a.property)),c=t.ref(tm(a.property)),u=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(ri).map(([p])=>{var y;const h=js(p)?(y=a.property)==null?void 0:y.startsWith(p.replace(ua,"")):a.property===p;return{label:h&&c.value?p.replace(ua,c.value):p,value:p,selected:h}}));function d(p){const h=eu.find(g=>{var y;return(y=a.property)==null?void 0:y.startsWith(g)});h&&(a.property=h+p,o.validators.key.handleChange(a.property),i("update:property-key",a.property))}function m(p){s.value!==Ms(p==null?void 0:p.value)&&(a.property=(p==null?void 0:p.value)||null,s.value=Ms(a.property),o.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,p=>{c.value=tm(p),s.value=Ms(p)}),(p,h)=>{const g=t.resolveComponent("KBadge"),y=t.resolveComponent("KSelect"),b=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(y,{key:u.value,"enable-filtering":"",error:!e.validators.property.isValid.value,help:e.validators.property.error.value,items:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:h[0]||(h[0]=_=>e.validators.property.handleBlur(()=>t.unref(a).property)),onChange:m},{"item-template":t.withCtx(({item:_})=>[t.createElementVNode("div",OF,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(_.label),1),t.createElementVNode("div",BF,t.toDisplayString(t.unref(ri)[_.value].dataType),1)]),t.createElementVNode("div",PF,[t.unref(ri)[_.value].readable?(t.openBlock(),t.createBlock(g,{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(ri)[_.value].writable?(t.openBlock(),t.createBlock(g,{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"])),l.value?(t.openBlock(),t.createBlock(b,{key:0,"model-value":c.value,"onUpdate:modelValue":[h[1]||(h[1]=_=>c.value=_),d],error:!e.validators.key.isValid.value,"error-message":e.validators.key.error.value,label:"key",required:"",onBlur:h[2]||(h[2]=_=>e.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-3e7fee25"]]),RF=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:r,disconnectInEdges:o,disconnectOutEdges:i}=Kt(),a=Mn("property"),{formData:s,setName:l,setConfig:c,inputOptions:u,setInputs:f,setInput:d,inputsFieldNames:m,nameValidator:p,toggleNodeValid:h,fieldNameValidator:g}=Dn(e.nodeId,()=>n.value.getValue()),y=t.computed(()=>rm(s.value.property));function b(C){var E;const k=(E=r.value)==null?void 0:E.id;if(!k)throw new Error("Expected selectedNode to be defined");nm(C)||i(k,!1),rm(C)||o(k,!1),c()}const{fields:_}=ro({validationConfig:()=>({property:oi({fieldName:"Property"}),key:js(s.value.property)?oi({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:s.value.property,key:tm(s.value.property)}),toggleNodeValid:h});return(C,k)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(s),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(s).name,validate:t.unref(p),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(qt,{name:"content_type",onUpdate:k[0]||(k[0]=E=>t.unref(c)())}),t.createVNode(VF,{validators:t.unref(_),"onUpdate:modelValue":b,"onUpdate:propertyKey":k[1]||(k[1]=E=>t.unref(c)("property-key"))},null,8,["validators"]),y.value?(t.openBlock(),t.createBlock(kr,{key:0})):t.createCommentVNode("",!0),y.value?(t.openBlock(),t.createBlock(Jn,{key:1,"field-name-validator":t.unref(g),"field-names":t.unref(m),items:t.unref(u),"node-type":"property","onChange:input":t.unref(d),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):t.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),$F=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("exit"),{formData:o,setName:i,setConfig:a,inputOptions:s,setInputs:l,setInput:c,inputsFieldNames:u,nameValidator:f,toggleNodeValid:d,fieldNameValidator:m}=Dn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:p}=ro({validationConfig:{status:Ln(fa("integer",{fieldName:"Status"}),pa(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:o.value.status}),toggleNodeValid:d}),h=p("status",()=>a("status"));return(g,y)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(o).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(rn,{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(ir,{name:"warn_headers_sent","onUpdate:modelValue":y[0]||(y[0]=b=>t.unref(a)())}),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(m),"field-names":t.unref(u),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 LF(e){const n=Dn(e),{state:r,getNodeById:o,branchGroups:i,commit:a}=Kt(),{i18n:{t:s}}=et(),l=W0(),c=Jf(),u=t.computed(()=>{var C;const b={...n.formData.value},_=Ls(((C=n.currentNode.value)==null?void 0:C.type)||"branch");for(const k of _)(!(k in b)||b[k]==null)&&(b[k]=[]);return b});function f(b,_,C){const k=o(b),E=o(C),w=k?`${k.name}.${_}`:`${b}.${_}`,x=E?E.name:C;return[w,x]}function d(b){return(b==null?[]:Array.isArray(b)?b:[b]).filter(_=>Yp(_))}function m(b,_){return i.wouldCreateCycle(b,_)?(c({message:s("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function p(b,_,C){const k=[],E=[],w=[];for(const x of C){const T=i.findMembership(x);if(!T||T.ownerId===b&&T.branch===_)continue;const M=i.getMembers(T.ownerId,T.branch).filter(v=>v!==x);w.push({ownerId:T.ownerId,branch:T.branch,members:M}),k.push(f(b,_,x)),E.push(f(T.ownerId,T.branch,x))}return{conflictUpdates:w,addedAssignments:k,removedAssignments:E}}function h(b,_,C,k){let E=!1;for(const w of k)E=i.setMembers(w.ownerId,w.branch,w.members,{commit:!1})||E;return E=i.setMembers(b,_,C,{commit:!1})||E,E}async function g(b,_){const C=n.currentNode.value,k=d(_),E=i.prepareMembers(C.id,b,k),w=i.getMembers(C.id,b);if(Jp(w,E))return!0;const x=E.filter(O=>!w.includes(O));for(const O of x)if(m(C.id,O))return!1;const{conflictUpdates:T,addedAssignments:M,removedAssignments:v}=p(C.id,b,x);return T.length>0&&!await l(s("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),M,v)?!1:(h(C.id,b,E,T)&&a(),!0)}const y=t.computed(()=>{const b=n.currentNode.value;return!b||!i?[]:r.value.nodes.filter(_=>_.id!==e&&!$n(_.type)&&_.phase===b.phase&&!i.wouldCreateCycle(b.id,_.id)).map(_=>({value:_.id,label:_.name,type:_.type}))});return{...n,formData:u,branchOptions:y,updateBranchMembers:g}}const DF=t.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=et(),r=Mn("branch"),o=t.ref(0),{formData:i,setName:a,inputOptions:s,branchOptions:l,nameValidator:c,setInput:u,setInputs:f,inputsFieldNames:d,fieldNameValidator:m,updateBranchMembers:p}=LF(e.nodeId);async function h(g,y){await p(g,y)||(o.value+=1)}return(g,y)=>(t.openBlock(),t.createBlock(mn,{key:o.value,data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(c),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(qt,{"enable-filtering":"",items:t.unref(l),multiple:"",name:"then",onUpdate:y[0]||(y[0]=b=>h("then",b))},{"item-label":t.withCtx(b=>[t.createVNode(lu,{item:b},null,8,["item"])]),_:1},8,["items"]),t.createVNode(qt,{"enable-filtering":"",items:t.unref(l),multiple:"",name:"else",onUpdate:y[1]||(y[1]=b=>h("else",b))},{"item-label":t.withCtx(b=>[t.createVNode(lu,{item:b},null,8,["item"])]),_:1},8,["items"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(m),"field-names":t.unref(d),items:t.unref(s),"node-type":"branch","onChange:input":t.unref(u),"onChange:inputs":t.unref(f)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),MF=t.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("cache"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:h}=ro({validationConfig:()=>({ttl:Ln(fa("integer",{fieldName:"TTL"}),pa(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:i.value.ttl}),toggleNodeValid:m}),g=h("ttl",()=>s("ttl"));return(y,b)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(ir,{name:"bypass_on_error","onUpdate:modelValue":b[0]||(b[0]=_=>t.unref(s)("bypass_on_error"))}),t.createVNode(rn,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"ttl",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"cache","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),jF=t.defineComponent({__name:"NodeFormXmlToJson",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("xml_to_json"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>n.value.getValue()),h=o("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),g=()=>!!(i.value.attributes_block_name||i.value.attributes_name_prefix),{createFieldHandler:y}=ro({validationConfig:()=>({attributes_block_name:Ln(()=>g()?void 0:h,T=>{if(T)return no(1,32,{fieldName:"Attributes block name"})(T)}),attributes_name_prefix:Ln(()=>g()?void 0:h,T=>{if(T)return no(1,32,{fieldName:"Attributes name prefix"})(T)}),text_block_name:no(1,32,{fieldName:"Text block name"}),xpath:no(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:m}),b=y("attributes_block_name",()=>s("attributes_block_name")),_=y("attributes_name_prefix",()=>s("attributes_name_prefix")),C=y("text_block_name",()=>s("text_block_name")),k=y("xpath",()=>s("xpath")),E=()=>{b.value.validate(),_.value.validate()},w=()=>{b.value.update(),_.value.validate()},x=()=>{_.value.update(),b.value.validate()};return(T,M)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(ir,{name:"recognize_type","onUpdate:modelValue":M[0]||(M[0]=v=>t.unref(s)("recognize_type"))}),t.createVNode(_t,{error:t.unref(b).error,"error-message":t.unref(b).errorMessage,name:"attributes_block_name",onBlur:E,"onUpdate:modelValue":w},null,8,["error","error-message"]),t.createVNode(_t,{error:t.unref(_).error,"error-message":t.unref(_).errorMessage,name:"attributes_name_prefix",onBlur:E,"onUpdate:modelValue":x},null,8,["error","error-message"]),t.createVNode(_t,{error:t.unref(C).error,"error-message":t.unref(C).errorMessage,name:"text_block_name",onBlur:t.unref(C).validate,"onUpdate:modelValue":t.unref(C).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ir,{name:"text_as_property","onUpdate:modelValue":M[1]||(M[1]=v=>t.unref(s)("text_as_property"))}),t.createVNode(_t,{error:t.unref(k).error,"error-message":t.unref(k).errorMessage,name:"xpath",onBlur:t.unref(k).validate,"onUpdate:modelValue":t.unref(k).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"xml_to_json","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),FF=t.defineComponent({__name:"NodeFormJsonToXml",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("json_to_xml"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,addField:f,removeFieldByName:d,renameFieldByName:m,inputsFieldNames:p,nameValidator:h,toggleNodeValid:g,fieldNameValidator:y}=Dn(e.nodeId,()=>n.value.getValue()),b=o("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),_=()=>!!(i.value.attributes_block_name||i.value.attributes_name_prefix),{createFieldHandler:C}=ro({validationConfig:{attributes_block_name:Ln(()=>_()?void 0:b,no(1,32,{fieldName:"Attributes block name"})),attributes_name_prefix:Ln(()=>_()?void 0:b,no(1,32,{fieldName:"Attributes name prefix"})),root_element_name:no(1,64,{fieldName:"Root element name"}),text_block_name:no(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:g}),k=C("attributes_block_name",()=>s("attributes_block_name")),E=C("attributes_name_prefix",()=>s("attributes_name_prefix")),w=C("root_element_name",()=>s("root_element_name")),x=C("text_block_name",()=>s("text_block_name"));function T(){k.value.validate(),E.value.validate()}function M(){k.value.update(),E.value.validate()}function v(){E.value.update(),k.value.validate()}function N(A,q){f("input",A,q)}function O(A){d("input",A)}function B(A,q){m("input",A,q)}return(A,q)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(h),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(_t,{error:t.unref(k).error,"error-message":t.unref(k).errorMessage,name:"attributes_block_name",onBlur:T,"onUpdate:modelValue":M},null,8,["error","error-message"]),t.createVNode(_t,{error:t.unref(E).error,"error-message":t.unref(E).errorMessage,name:"attributes_name_prefix",onBlur:T,"onUpdate:modelValue":v},null,8,["error","error-message"]),t.createVNode(_t,{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(_t,{error:t.unref(x).error,"error-message":t.unref(x).errorMessage,name:"text_block_name",onBlur:t.unref(x).validate,"onUpdate:modelValue":t.unref(x).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(y),"field-names":t.unref(p),items:t.unref(l),"node-type":"json_to_xml","onAdd:field":N,"onChange:input":t.unref(u),"onChange:inputs":t.unref(c),"onRemove:field":O,"onRename:field":B},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),UF=t.defineComponent({__name:"NodeFormJwtDecode",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("jwt_decode"),{formData:o,setName:i,inputOptions:a,setInputs:s,setInput:l,inputsFieldNames:c,nameValidator:u,fieldNameValidator:f}=Dn(e.nodeId,()=>n.value.getValue());return(d,m)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(o),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(o).name,validate:t.unref(u),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(f),"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"]))}}),KF=t.defineComponent({__name:"NodeFormJwtSign",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("jwt_sign"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>{const _={...n.value.getValue()};return(!_.static_claims||Object.keys(_.static_claims).length===0)&&delete _.static_claims,_}),{createFieldHandler:h}=ro({validationConfig:{algorithm:oi({fieldName:"Algorithm"}),expires_in:Ln(fa("integer",{fieldName:"Expires in"}),pa(1,1/0,{fieldName:"Expires in"})),not_before:Ln(fa("integer",{fieldName:"Not before"}),pa(0,1/0,{fieldName:"Not before"}))},getValidationData:()=>({algorithm:i.value.algorithm,expires_in:i.value.expires_in,not_before:i.value.not_before}),toggleNodeValid:m}),g=h("algorithm",()=>s("algorithm")),y=h("expires_in",()=>s("expires_in")),b=h("not_before",()=>s("not_before"));return(_,C)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(qt,{"enable-filtering":"",name:"algorithm",onUpdate:t.unref(g).update},null,8,["onUpdate"]),t.createVNode(rn,{error:t.unref(y).error,"error-message":t.unref(y).errorMessage,name:"expires_in",onBlur:t.unref(y).validate,"onUpdate:modelValue":t.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(rn,{error:t.unref(b).error,"error-message":t.unref(b).errorMessage,name:"not_before",onBlur:t.unref(b).validate,"onUpdate:modelValue":t.unref(b).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(_t,{name:"kid","onUpdate:modelValue":C[0]||(C[0]=k=>t.unref(s)("kid"))}),t.createVNode(_t,{name:"typ","onUpdate:modelValue":C[1]||(C[1]=k=>t.unref(s)("typ"))}),t.createVNode(Co,{label:t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.jwt.static_claims.label"),name:"static_claims",onLegacyValueChange:C[2]||(C[2]=k=>t.unref(s)("static_claims"))},null,8,["label"]),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"jwt_sign","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),qF=t.defineComponent({__name:"NodeFormJwtVerify",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),r=Mn("jwt_verify"),{i18n:{t:o}}=et(),{formData:i,setName:a,setConfig:s,inputOptions:l,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:m,fieldNameValidator:p}=Dn(e.nodeId,()=>n.value.getValue()),{createFieldHandler:h}=ro({validationConfig:{leeway:Ln(fa("integer",{fieldName:"Leeway"}),pa(0,1/0,{fieldName:"Leeway"}))},getValidationData:()=>({leeway:i.value.leeway}),toggleNodeValid:m}),g=h("leeway",()=>s("leeway"));return(y,b)=>(t.openBlock(),t.createBlock(mn,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(dr,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Ke.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(qt,{"enable-filtering":"",multiple:"",name:"allowed_algorithms",onUpdate:b[0]||(b[0]=_=>t.unref(s)("allowed_algorithms"))}),t.createVNode(Yr,{name:"issuers",onAdd:b[2]||(b[2]=_=>t.unref(s)("issuers")),onRemove:b[3]||(b[3]=_=>t.unref(s)("issuers"))},{item:t.withCtx(({fieldName:_,autofocus:C})=>[t.createVNode(_t,{autofocus:C,name:_,"onUpdate:modelValue":b[1]||(b[1]=k=>t.unref(s)("issuers"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(Yr,{name:"audiences",onAdd:b[5]||(b[5]=_=>t.unref(s)("audiences")),onRemove:b[6]||(b[6]=_=>t.unref(s)("audiences"))},{item:t.withCtx(({fieldName:_,autofocus:C})=>[t.createVNode(_t,{autofocus:C,name:_,"onUpdate:modelValue":b[4]||(b[4]=k=>t.unref(s)("audiences"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(Yr,{name:"required_claims",onAdd:b[8]||(b[8]=_=>t.unref(s)("required_claims")),onRemove:b[9]||(b[9]=_=>t.unref(s)("required_claims"))},{item:t.withCtx(({fieldName:_,autofocus:C})=>[t.createVNode(_t,{autofocus:C,name:_,"onUpdate:modelValue":b[7]||(b[7]=k=>t.unref(s)("required_claims"))},null,8,["autofocus","name"])]),_:1}),t.createVNode(rn,{error:t.unref(g).error,"error-message":t.unref(g).errorMessage,name:"leeway",onBlur:t.unref(g).validate,"onUpdate:modelValue":t.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ir,{name:"validate_exp","onUpdate:modelValue":b[10]||(b[10]=_=>t.unref(s)("validate_exp"))}),t.createVNode(ir,{name:"validate_nbf","onUpdate:modelValue":b[11]||(b[11]=_=>t.unref(s)("validate_nbf"))}),t.createVNode(kr),t.createVNode(Jn,{"field-name-validator":t.unref(p),"field-names":t.unref(f),items:t.unref(l),"node-type":"jwt_verify","onChange:input":t.unref(u),"onChange:inputs":t.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),GF=["innerHTML"],HF={key:1,class:"branch-note"},zF={class:"branch-label"},WF={class:"branch-text"},YF=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${F0}px`},offsetTop:{default:`${FD}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{t:n}=nn.createI18n("en-us",cn),{getNodeById:r,branchGroups:o}=Kt(),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 u=r(a.value.ownerId);return u?`${u.name}.${a.value.branch}`:""});function l(){e.nodeId&&o.removeMember(e.nodeId)}const c=t.computed(()=>{var u;switch((u=i.value)==null?void 0:u.type){case"call":return EF;case"service_request":return NF;case"response":return xF;case"jq":return SF;case"static":return TF;case"property":return RF;case"exit":return $F;case"branch":return DF;case"cache":return MF;case"xml_to_json":return jF;case"json_to_xml":return FF;case"jwt_decode":return UF;case"jwt_sign":return KF;case"jwt_verify":return qF;default:return null}});return(u,f)=>(t.openBlock(),t.createBlock(t.unref(Ke.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(jD),onClose:f[0]||(f[0]=d=>u.$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(aa)(i.value.type)},null,8,GF)):t.createCommentVNode("",!0),a.value?(t.openBlock(),t.createElementBlock("div",HF,[t.createElementVNode("span",zF,[t.createVNode(t.unref(Ie.ArrowSplitIcon),{color:t.unref(Tr),size:t.unref(Za)},null,8,["color","size"]),t.createElementVNode("span",WF,t.toDisplayString(s.value),1)]),t.createVNode(t.unref(Ke.KTooltip),{placement:"top",text:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")},{default:t.withCtx(()=>[t.createVNode(t.unref(Ke.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(Ie.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(Z0,{type:i.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),JF=Re(YF,[["__scopeId","data-v-251e5b7d"]]),XF={class:"dk-editor-content"},ZF={class:"main"},QF=Re(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:r}=Kt();function o(){n.value=!1}t.watch(r,a=>{a||o()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,s)=>{var l;return t.openBlock(),t.createElementBlock("div",XF,[t.createVNode(t.unref(oj)),t.createElementVNode("div",ZF,[t.createVNode(gM)]),t.createVNode(JF,{"node-id":(l=t.unref(r))==null?void 0:l.id,visible:t.unref(n),onClose:o},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-66331c5c"]]),eU={key:0,class:"dk-editor-modal"},tU=Re(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(l=>({v0a30a280:`${t.unref(MD)}px`,aee7cc1c:`${t.unref(j0)}px`}));const n=t.useModel(e,"open"),r=t.ref(!1),o=t.useTemplateRef("confirm-modal"),{clear:i}=Kt();N2(async(...l)=>{r.value=!0;const c=await o.value.open(...l);return r.value=!1,c});const a=Lt.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",eU,[t.createVNode(uM,{class:"nav",onBack:s}),t.createVNode(QF,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(aM,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-82b03578"]]),nU={class:"dk-flow-editor"},rU={class:"flow-panels-container"},oU={class:"overlay"},iU=Re(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:r}=nn.createI18n("en-us",cn),{formData:o,setValue:i,getValue:a}=yt(),s=n;function l(f,d,m,p){const h={...o.config,nodes:f};m!==void 0&&(h.resources=m);const g={...o.__ui_data,...d},y={...o,config:h,__ui_data:g};p!=null?y.partials=[{id:p}]:y.partials&&(y.partials=null),i(y),s("change",h,g)}const{modalOpen:c,setPendingFitView:u}=L0(a(),{onChange:l,isEditing:e.isEditing});return t.watch(c,()=>{u(!0)},{flush:"post"}),VD({enabled:c}),(f,d)=>{const m=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",nU,[t.createElementVNode("div",rU,[t.createVNode(sm,{inactive:t.unref(c),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",oU,[t.createVNode(m,{appearance:"secondary",class:"button-open-editor",onClick:d[0]||(d[0]=p=>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(Ie.ExpandIcon))]),_:1})])]),t.createVNode(tU,{open:t.unref(c),"onUpdate:open":d[1]||(d[1]=p=>t.isRef(c)?c.value=p:null)},null,8,["open"])])}}}),[["__scopeId","data-v-575018ff"]]),aU=["innerHTML"],sU={class:"dk-option-label"},lU=["innerHTML"],cU=pt({component:Re(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const{t:n}=nn.createI18n("en-us",cn),r=e,o=t.inject(it.FORMS_CONFIG),i=t.ref(!1);t.onMounted(()=>{i.value=!!document.querySelector("#plugin-form-page-actions")});const{editorMode:a}=Xc(),s=t.computed(()=>o.app!=="konnect"||u.value===!1?"code":a.value),l=t.computed(()=>o.app==="kongManager"?"code":s.value==="flow"?"form":"code"),c={flow:Ie.DesignIcon,code:Ie.CodeblockIcon},u=t.ref(!0),f=t.ref(""),d=t.computed(()=>{const k=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return k[0].disabled=!u.value,k}),m=t.computed(()=>{switch(s.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}}),p=t.computed(()=>u.value?"":n("plugins.free-form.datakit.flow_editor.disabled_tooltip",{reason:f.value,code:k=>`<code>${oO(k)}</code>`}));t.watch(s,()=>{var k;(k=r.onValidityChange)==null||k.call(r,{model:"config",valid:!0})});function h(){var k;(k=r.onValidityChange)==null||k.call(r,{model:"config",valid:!0})}function g(){h()}function y(k){return k.map(E=>typeof E=="number"?`[${E}]`:k.length&&typeof E=="string"&&E.includes(".")?`["${E}"]`:`.${E}`).join("").replace(/^\./,"")}function b(k){return k.issues.map(E=>`${y(E.path)} - ${E.message}`).join("; ")}function _(k){if(h(),o.app!=="konnect")return;const E=k==null?void 0:k.config,{success:w,error:x}=gk.safeParse(E);f.value=w||!x?"":b(x),u.value=w}function C(k){var E;f.value=k,u.value=!1,(E=r.onValidityChange)==null||E.call(r,{model:"config",valid:!1,error:k})}return(k,E)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.unref(o).app==="konnect"?(t.openBlock(),t.createBlock(t.Teleport,{key:0,disabled:!i.value,to:"#plugin-form-page-actions"},[t.createVNode(t.unref(Ke.KSegmentedControl),{"data-testid":"datakit-editor-mode-switcher","model-value":s.value,options:d.value,"onUpdate:modelValue":E[0]||(E[0]=w=>a.value=w)},{"option-label":t.withCtx(({option:w})=>[t.createVNode(t.unref(Ke.KTooltip),{disabled:u.value||w.value!=="flow"},{content:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:p.value},null,8,aU)]),default:t.withCtx(()=>[t.createElementVNode("div",sU,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(c[w.value]))),t.createTextVNode(" "+t.toDisplayString(w.label),1)])]),_:2},1032,["disabled"])]),_:1},8,["model-value","options"])],8,["disabled"])):t.createCommentVNode("",!0),t.createVNode(eo,t.mergeProps(r,{class:"dk-form","editor-mode":l.value,"hide-editor-mode-switcher":""}),{"code-editor":t.withCtx(()=>[t.createVNode(QL,{class:"code-editor",editing:r.isEditing,onChange:_,onError:C},null,8,["editing"])]),"plugin-config-title":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.mode")),1)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:m.value},null,8,lU)]),default:t.withCtx(()=>[s.value==="flow"?(t.openBlock(),t.createBlock(iU,{key:0,"is-editing":r.isEditing,onChange:g},null,8,["is-editing"])):t.createCommentVNode("",!0)]),_:1},16,["editor-mode"])],64))}}),[["__scopeId","data-v-40297492"]])}),uU=pt({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e==="config.functions.*",component:_t,propsOverrides:e=>({...e,multiline:!0,rows:3})}]}),dU=pt({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:Co,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),fU=pt({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:qt,propsOverrides:{multiple:!0}}]}),pU=pt({experimental:!0,fieldRenderers:[{match:"config.custom_fields_by_lua",component:Co,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),mU=pt({experimental:!0}),hU=pt(),gU=pt({experimental:!0}),yU={"data-testid":"ff-identity-realms-field"},_U=["innerHTML"],bU=pt({experimental:!0,component:w0,fieldRenderers:[{match:({path:e})=>e==="config.identity_realms",component:t.defineComponent({__name:"IdentityRealmsField",props:{name:{},label:{},labelAttributes:{},required:{type:Boolean},placeholder:{},resetLabelPath:{}},setup(e){const n=e,{error:r,value:o,path:i}=Yt(t.toRef(n,"name"));if(r)throw r;const a=Vn(i,n),s=t.inject(b0,void 0);return(l,c)=>{var f;const u=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",yU,[t.createVNode(u,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},[(f=t.unref(a).labelAttributes)!=null&&f.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(l.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,_U)])]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(Yg,{modelValue:t.unref(o),"onUpdate:modelValue":c[0]||(c[0]=d=>t.isRef(o)?o.value=d:null),realms:t.unref(s)},null,8,["modelValue","realms"])])}}})}]}),wU={class:"ff-collapsible-section"},kU={class:"ff-collapsible-section-header"},CU={class:"ff-collapsible-section-header-toggle"},EU={key:0,class:"ff-collapsible-section-content"},NU={key:0,class:"ff-collapsible-section-indent-guide"},dm=Re(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",wU,[t.createElementVNode("header",kU,[t.createElementVNode("div",CU,[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(Ie.ChevronRightIcon),{class:t.normalizeClass(["ff-collapsible-section-toggle-btn-trigger-icon",{"collapse-expanded":n.value}]),decorative:"",size:t.unref(gr)},null,8,["class","size"])]),t.createVNode(t.unref(Ke.KLabel),{class:"ff-collapsible-section-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.label),1)]),_:1})])]),t.createVNode(hc,null,{default:t.withCtx(()=>[n.value?(t.openBlock(),t.createElementBlock("div",EU,[t.renderSlot(r.$slots,"default",{},void 0,!0)])):t.createCommentVNode("",!0)]),_:3}),n.value?(t.openBlock(),t.createElementBlock("div",NU)):t.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-3e113fe8"]]),xU={class:"ff-mb-subject"},SU={class:"ff-mb-attributes"},AU={class:"ff-metering-billing-inline-row"},vU={class:"ff-mb-queue"},IU=pt({experimental:!0,component:Re(t.defineComponent({__name:"MeteringAndBillingForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const n=e,r=t.useSlots();t.provide(it.AUTOFILL_SLOT,r==null?void 0:r[it.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=et(),i=t.inject(it.FORMS_CONFIG),a=t.computed(()=>{const d=i==null?void 0:i.geoApiServerUrl,m=d?new URL(d).hostname.split(".")[0]:null;return m?`https://${m}.api.konghq.com/v3/openmeter/events`:"https://{{region}}.api.konghq.com/v3/openmeter/events"});function s(){const d={},m=["service-id","route-id","consumer-id","consumer_group-id"];for(const p of m)if(n.formModel[p]){const h=p.split("-")[0];h&&(d[h]={id:n.formModel[p]})}return d}const l={hasValue:d=>!!d&&Object.keys(d).length>0,prepareFormData:d=>{var p;if(n.isEditing)return d;const m={...d,...s()};return(i==null?void 0:i.app)==="konnect"&&!((p=m==null?void 0:m.config)!=null&&p.ingest_endpoint)?{...m,config:{...m==null?void 0:m.config,ingest_endpoint:a.value}}:m}},c=t.ref(!0),u=t.ref(!0),f=t.ref(!0);return(d,m)=>(t.openBlock(),t.createBlock(eo,t.mergeProps(n,{"form-config":l,"plugin-config-description":t.unref(o)("plugins.free-form.metering-and-billing.sections.plugin_config.description")}),{"field-renderers":t.withCtx(()=>[t.createVNode(Xt,{match:({path:p})=>p==="config.meter_api_requests"},{default:t.withCtx(p=>[t.createVNode(ir,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(Xt,{match:({path:p})=>p==="config.meter_ai_token_usage"},{default:t.withCtx(p=>[t.createVNode(ir,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(Xt,{match:({path:p})=>p==="config.ssl_verify"},{default:t.withCtx(p=>[t.createVNode(ir,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(Xt,{match:({path:p})=>p==="config.subject.look_up_value_in"},{default:t.withCtx(p=>[t.createVNode(qt,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(Xt,{match:({path:p})=>p==="config.subject.field"},{default:t.withCtx(p=>[t.createVNode(_t,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(Xt,{match:({path:p})=>p==="config.timeout"},{default:t.withCtx(p=>[t.createVNode(rn,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.timeout.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(Xt,{match:({path:p})=>p==="config.keepalive"},{default:t.withCtx(p=>[t.createVNode(rn,t.mergeProps(p,{label:t.unref(o)("plugins.free-form.metering-and-billing.fields.keepalive.label")}),null,16,["label"])]),_:1},8,["match"]),t.createVNode(Xt,{match:({path:p})=>p==="config.queue.max_coalescing_delay"},{default:t.withCtx(p=>[t.createVNode(rn,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(Xt,{match:({path:p})=>p==="config.queue.initial_retry_delay"},{default:t.withCtx(p=>[t.createVNode(rn,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(Xt,{match:({path:p})=>p==="config.queue.max_retry_delay"},{default:t.withCtx(p=>[t.createVNode(rn,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(Xt,{match:({path:p})=>p==="config.queue.max_retry_time"},{default:t.withCtx(p=>[t.createVNode(rn,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(Xt,{match:({path:p})=>p.startsWith("config.attributes.")&&p.endsWith(".look_up_value_in")},{default:t.withCtx(p=>[t.createVNode(_t,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(Xt,{match:({path:p})=>p.startsWith("config.attributes.")&&p.endsWith(".event_property_name")},{default:t.withCtx(p=>[t.createVNode(_t,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(dm,{expanded:c.value,"onUpdate:expanded":m[0]||(m[0]=p=>c.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.sections.metering.title")},{default:t.withCtx(()=>[t.createVNode(lt,{name:"config.meter_api_requests"}),t.createVNode(lt,{name:"config.meter_ai_token_usage"})]),_:1},8,["expanded","label"]),t.createElementVNode("div",xU,[t.createVNode(Jt,{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(dm,{expanded:u.value,"onUpdate:expanded":m[1]||(m[1]=p=>u.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.fields.attributes.title")},{default:t.withCtx(()=>[t.createElementVNode("div",SU,[t.createVNode(Yr,{"hide-label":"",name:"config.attributes"})])]),_:1},8,["expanded","label"]),t.createVNode(dm,{expanded:f.value,"onUpdate:expanded":m[2]||(m[2]=p=>f.value=p),label:t.unref(o)("plugins.free-form.metering-and-billing.sections.ingestion.title")},{default:t.withCtx(()=>[t.createVNode(_t,{help:t.unref(o)("plugins.free-form.metering-and-billing.fields.ingest_endpoint.help"),name:"config.ingest_endpoint"},null,8,["help"]),t.createVNode(lt,{name:"config.api_token"}),t.createVNode(lt,{name:"config.ssl_verify"}),t.createElementVNode("div",AU,[t.createVNode(lt,{name:"config.timeout"}),t.createVNode(lt,{name:"config.keepalive"})])]),_:1},8,["expanded","label"]),t.createVNode(Ps,{class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:t.withCtx(()=>[t.createElementVNode("div",vU,[t.createVNode(t.unref(Ke.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(Jt,{"as-child":"",name:"config.queue","reset-label-path":"reset"})])]),_:1})]),_:1},16,["plugin-config-description"]))}}),[["__scopeId","data-v-17906568"]])}),TU=pt({experimental:!0,fieldRenderers:[{match:"config.consumer_by",component:qt,propsOverrides:{multiple:!0}}]}),OU=pt({experimental:!0}),BU=pt({experimental:!0,fieldRenderers:[{match:"config.access_logs.custom_attributes_by_lua",component:Co,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),PU=pt({experimental:!0}),VU=pt({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:qt,propsOverrides:{multiple:!0}}]}),RU=pt({experimental:!0,fieldRenderers:[{match:({path:e})=>e==="config.methods"||e==="config.request_method",component:qt,propsOverrides:{multiple:!0}}]}),$U={class:"rla-form-request-limits-subtitle"},LU={class:"rla-form-request-limits-content"},DU={class:"rla-form-window-type"},MU={class:"rla-form-request-limits-items"},jU={class:"rla-form-request-limits-row"},FU=["id"],UU={class:"rla-form-request-limits-actions"},KU={key:0,class:"rla-form-request-limits-examples"},qU={class:"rla-form-request-limits-examples-badges"},fm="config.window_type",GU=Re(t.defineComponent({__name:"RequestLimitsForm",setup(e){var y;const{i18n:{t:n}}=et(),{formData:r,getSelectItems:o,getSchema:i}=yt(),a=t.computed(()=>{var _,C;const b=(C=(_=r.config)==null?void 0:_.limit)==null?void 0:C.map((k,E)=>{var w,x;return{limit:k,windowSize:(x=(w=r.config)==null?void 0:w.window_size)==null?void 0:x[E]}});return!Array.isArray(b)||b.length===0?[{limit:null,windowSize:null}]:b}),{getKey:s}=zf("request-limits",a),l=b=>{var _,C;m.value=void 0,r.config&&((_=r.config.limit)!=null&&_.length||(r.config.limit=[null]),(C=r.config.window_size)!=null&&C.length||(r.config.window_size=[null]),r.config.limit.splice(b+1,0,null),r.config.window_size.splice(b+1,0,null))},c=b=>{r.config&&(r.config.limit.splice(b,1),r.config.window_size.splice(b,1))},u=(y=i(fm))==null?void 0:y.default,f=t.computed(()=>ss(r,fm)),d=t.computed(()=>o(fm).sort((b,_)=>b.value===u?-1:_.value===u?1:0)),m=t.ref(),p={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}}]},h=t.computed(()=>Object.prototype.hasOwnProperty.call(p,f.value)?p[f.value]:[]),g=(b,_)=>{if(_===m.value){t.nextTick(()=>{m.value=void 0}),r.config.limit=[],r.config.window_size=[];return}t.nextTick(()=>{m.value=_}),r.config.limit=[b.config.limit],r.config.window_size=[b.config.window_size]};return(b,_)=>{const C=t.resolveComponent("KLabel"),k=t.resolveComponent("KButton"),E=t.resolveComponent("KBadge"),w=t.resolveComponent("KTooltip"),x=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(x,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(C,{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",$U,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",LU,[t.createElementVNode("div",DU,[t.createVNode(lm,{items:d.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":_[0]||(_[0]=T=>m.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",MU,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(T,M)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(s)(T,M)},[t.createVNode(C,{for:`rla-form-request-limits-item-${M}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:M+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",jU,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${M}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(rn,{name:`$.config.limit.${M}`,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(rn,{name:`$.config.window_size.${M}`,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,FU),t.createElementVNode("div",UU,[t.createVNode(k,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(k,{appearance:"tertiary",onClick:()=>l(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),h.value.length>0?(t.openBlock(),t.createElementBlock("div",KU,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",qU,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(T,M)=>(t.openBlock(),t.createBlock(w,{key:`use-case-${M}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(T.description),1),_[1]||(_[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(T.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(T.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(E,{appearance:m.value===`${f.value}-${M}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>g(T,`${f.value}-${M}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-1fac872b"]]),HU={id:"rla-form-error-legend",class:"rla-form-error-inputs"},zU=Re(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{i18n:{t:n}}=et();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",HU,[t.createVNode(rn,{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(_t,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-7b36f1f7"]]),WU=t.defineComponent({__name:"RedisField",setup(e){const{formData:n}=yt(),r=t.inject(it.FORMS_CONFIG),o=t.inject(ys),i=(o==null?void 0:o.isEditing)||!1,a=t.computed(()=>{if((r==null?void 0: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(hc,null,{default:t.withCtx(()=>{var c;return[((c=t.unref(n).config)==null?void 0:c.strategy)==="redis"?(t.openBlock(),t.createBlock(Xf,{key:0,"is-konnect-managed-redis-enabled":a.value},null,8,["is-konnect-managed-redis-enabled"])):t.createCommentVNode("",!0)]}),_:1}))}}),YU=t.defineComponent({__name:"ConfigForm",setup(e){const{getSchema:n}=yt();return(r,o)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Jt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(lt,{name:"identifier"}),t.createVNode(GU),t.createVNode(zU)]),_:1}),t.createVNode(Ps,{"hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(qt,{multiple:!0,name:"config.compound_identifier"}),t.unref(n)("config.counter_key")?(t.openBlock(),t.createBlock(lt,{key:0,name:"config.counter_key"})):t.createCommentVNode("",!0),t.createVNode(lt,{name:"config.sync_rate"}),t.createVNode(lt,{name:"config.namespace"}),t.createVNode(lt,{name:"config.strategy"}),t.createVNode(WU),t.createVNode(lt,{name:"config.dictionary_name"}),t.createVNode(lt,{name:"config.lock_dictionary_name"}),t.createVNode(lt,{name:"config.hide_client_headers"}),t.createVNode(lt,{name:"config.retry_after_jitter_max"}),t.createVNode(lt,{name:"config.header_name"}),t.createVNode(lt,{name:"config.path"}),t.createVNode(lt,{name:"config.throttling"}),t.createVNode(lt,{name:"config.enforce_consumer_groups"}),t.createVNode(lt,{name:"config.consumer_groups"}),t.createVNode(lt,{name:"config.disable_penalty"})]),_:1})],64))}}),JU=pt({experimental:!0,component:t.defineComponent({__name:"RateLimitingAdvancedForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const n=e,r=t.useSlots();t.provide(it.AUTOFILL_SLOT,r==null?void 0:r[it.AUTOFILL_SLOT_NAME]);function o(i,a){var s;((s=i.config)==null?void 0:s.namespace)===null&&delete i.config.namespace,n.onFormChange(i,a)}return(i,a)=>(t.openBlock(),t.createBlock(eo,t.mergeProps(n,{"on-form-change":o}),{default:t.withCtx(()=>[t.createVNode(YU)]),_:1},16))}})}),XU=pt({experimental:!0,renderRules:{bundles:[["config.policy","config.redis"]],dependencies:{"config.redis":["config.policy","redis"]}}}),ZU="__request_callout_";function kk(){return cc(ZU)}const Us="_callout_id",QU=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:r}=yt(),o=t.computed(()=>{const{callouts:s}=r.config;return s==null?[]:s.filter(({name:l})=>{var c;return l&&l!==((c=s[n.index])==null?void 0:c.name)})}),i=t.computed(()=>o.value.map(({[Us]: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(Jt,{name:e.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(qt,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(Jt,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(u=>[t.createVNode(qt,t.mergeProps(u,{items:t.unref(Rf)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:1},16)]),_:1},8,["name"]))}}),eK=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=yt();function r(){const o=n.config.callouts[n.config.callouts.length-1];o&&(o[Us]=kk())}return(o,i)=>(t.openBlock(),t.createBlock(Yr,{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(QU,{"field-name":s,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),tK=t.defineComponent({__name:"ConfigForm",setup(e){return(n,r)=>(t.openBlock(),t.createBlock(Jt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(eK),t.createVNode(Jt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(Jt,{appearance:"card",name:"cache"},{redis:t.withCtx(o=>[t.createVNode(Jt,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}))}}),nK=pt({component:Re(t.defineComponent({__name:"RequestCalloutForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const n=e,r=t.useSlots();t.provide(it.AUTOFILL_SLOT,r==null?void 0:r[it.AUTOFILL_SLOT_NAME]);const{i18n:{t:o}}=et();function i(u,f=!1){return u.reduce((d,{[Us]:m,name:p})=>(f?d[p]=m:d[m]=p,d),{})}function a(){const u={},f=["service-id","route-id","consumer-id","consumer_group-id"];for(const d of f)if(n.formModel[d]){const m=d.split("-")[0];m&&(u[m]={id:n.formModel[d]})}return u}function s(u){var d;const f=cs(u);if((d=f.config)!=null&&d.callouts){const{callouts:m}=f.config;m.forEach(h=>{h.request.body.custom=h.request.body.custom??{},h[Us]=kk()});const p=i(m,!0);m.forEach(h=>{h.depends_on=h.depends_on.map(g=>p[g])})}return n.isEditing?f:{...f,...a()}}const l={hasValue:u=>!!u&&Object.keys(u).length>0,prepareFormData:s};function c(u,f){var p;if(!u)return;const d=cs(u);if(!((p=d.config)!=null&&p.callouts)){n.onFormChange(d,f);return}const m=i(d.config.callouts);d.config.callouts=d.config.callouts.map(h=>{const{[Us]:g,depends_on:y,...b}=h;return{depends_on:y.map(_=>m[_]).filter(_=>_!=null),...b}}),n.onFormChange(d,f)}return(u,f)=>(t.openBlock(),t.createBlock(eo,t.mergeProps(n,{"form-config":l,"on-form-change":c}),{"field-renderers":t.withCtx(()=>[t.createVNode(Xt,{match:({path:d})=>d.endsWith("by_lua")},{default:t.withCtx(d=>[t.createVNode(_t,t.mergeProps(d,{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(Xt,{match:({path:d})=>["cluster_nodes","sentinel_nodes"].some(m=>d.endsWith(m))},{default:t.withCtx(d=>[t.createVNode(Yr,t.mergeProps(d,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(tK)]),_:1},16))}}),[["__scopeId","data-v-fbcdb0a1"]])}),rK=pt({experimental:!0}),oK=pt({experimental:!0}),iK=pt({experimental:!0,fieldRenderers:[{match:({path:e,genericPath:n})=>e==="config.replace.body"||n==="config.transform.functions.*"||n.endsWith(".json.*"),component:_t,propsOverrides:{multiline:!0,rows:3}}]}),aK=pt({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e.endsWith(".json.*"),component:_t,propsOverrides:{multiline:!0,rows:3}}]}),sK=pt({experimental:!0}),lK={class:"sp-form-request-limits-subtitle"},cK={class:"sp-form-request-limits-content"},uK={class:"sp-form-window-type"},dK={class:"sp-form-request-limits-items"},fK={class:"sp-form-request-limits-row"},pK=["id"],mK={class:"sp-form-request-limits-actions"},hK={key:0,class:"sp-form-request-limits-examples"},gK={class:"sp-form-request-limits-examples-badges"},pm="config.window_type",yK=Re(t.defineComponent({__name:"RequestLimitsForm",setup(e){var y;const{t:n}=nn.createI18n("en-us",cn),{formData:r,getSelectItems:o,getSchema:i}=yt(),a=t.computed(()=>{var _,C;const b=(C=(_=r.config)==null?void 0:_.limit)==null?void 0:C.map((k,E)=>{var w,x;return{limit:k,windowSize:(x=(w=r.config)==null?void 0:w.window_size)==null?void 0:x[E]}});return!Array.isArray(b)||b.length===0?[{limit:null,windowSize:null}]:b}),{getKey:s}=zf("request-limits",a),l=b=>{var _,C;m.value=void 0,r.config&&((_=r.config.limit)!=null&&_.length||(r.config.limit=[null]),(C=r.config.window_size)!=null&&C.length||(r.config.window_size=[null]),r.config.limit.splice(b+1,0,null),r.config.window_size.splice(b+1,0,null))},c=b=>{r.config&&(r.config.limit.splice(b,1),r.config.window_size.splice(b,1))},u=(y=i(pm))==null?void 0:y.default,f=t.computed(()=>ss(r,pm)),d=t.computed(()=>o(pm).sort((b,_)=>b.value===u?-1:_.value===u?1:0)),m=t.ref(),p={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}}]},h=t.computed(()=>Object.prototype.hasOwnProperty.call(p,f.value)?p[f.value]:[]),g=(b,_)=>{if(_===m.value){t.nextTick(()=>{m.value=void 0}),r.config.limit=[],r.config.window_size=[];return}t.nextTick(()=>{m.value=_}),r.config.limit=[b.config.limit],r.config.window_size=[b.config.window_size]};return(b,_)=>{const C=t.resolveComponent("KLabel"),k=t.resolveComponent("KButton"),E=t.resolveComponent("KBadge"),w=t.resolveComponent("KTooltip"),x=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(x,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(C,{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",lK,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",cK,[t.createElementVNode("div",uK,[t.createVNode(lm,{items:d.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":_[0]||(_[0]=T=>m.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",dK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(T,M)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(s)(T,M)},[t.createVNode(C,{for:`sp-form-request-limits-item-${M}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:M+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",fK,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${M}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(rn,{name:`$.config.limit.${M}`,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(rn,{name:`$.config.window_size.${M}`,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,pK),t.createElementVNode("div",mK,[t.createVNode(k,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(k,{appearance:"tertiary",onClick:()=>l(M)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),h.value.length>0?(t.openBlock(),t.createElementBlock("div",hK,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",gK,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,(T,M)=>(t.openBlock(),t.createBlock(w,{key:`use-case-${M}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(T.description),1),_[1]||(_[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(T.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(T.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(E,{appearance:m.value===`${f.value}-${M}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>g(T,`${f.value}-${M}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-e12d9c9f"]]),_K={id:"sp-form-error-legend",class:"sp-form-error-inputs"},bK=Re(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=nn.createI18n("en-us",cn);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",_K,[t.createVNode(rn,{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(_t,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-0796e152"]]),wK=t.defineComponent({__name:"RedisField",setup(e){const{formData:n}=yt(),r=t.inject(it.FORMS_CONFIG),o=t.inject(ys),i=(o==null?void 0:o.isEditing)||!1,a=t.computed(()=>{if((r==null?void 0: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(hc,null,{default:t.withCtx(()=>{var c;return[((c=t.unref(n).config)==null?void 0:c.strategy)==="redis"?(t.openBlock(),t.createBlock(Xf,{key:0,"is-konnect-managed-redis-enabled":a.value},null,8,["is-konnect-managed-redis-enabled"])):t.createCommentVNode("",!0)]}),_:1}))}}),kK=t.defineComponent({__name:"ConfigForm",setup(e){return(n,r)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(Jt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(yK),t.createVNode(bK)]),_:1}),t.createVNode(Ps,{"hide-general-fields":""},{default:t.withCtx(()=>[t.createVNode(lt,{name:"config.dictionary_name"}),t.createVNode(lt,{name:"config.lock_dictionary_name"}),t.createVNode(lt,{name:"config.strategy"}),t.createVNode(wK),t.createVNode(lt,{name:"config.namespace"}),t.createVNode(lt,{name:"config.hide_client_headers"}),t.createVNode(lt,{name:"config.disable_penalty"}),t.createVNode(lt,{name:"config.retry_after_jitter_max"}),t.createVNode(lt,{name:"config.sync_rate"})]),_:1})],64))}}),CK=pt({experimental:!0,component:t.defineComponent({__name:"ServiceProtectionForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},isEditing:{type:Boolean},onFormChange:{type:Function},onValidityChange:{type:Function},hideEditorModeSwitcher:{type:Boolean},formConfig:{},renderRules:{},fieldRenderers:{},pluginName:{},isKonnectManagedRedisEnabled:{type:Boolean},developer:{type:Boolean}},setup(e){const n=e,r=t.useSlots();t.provide(it.AUTOFILL_SLOT,r==null?void 0:r[it.AUTOFILL_SLOT_NAME]);function o(i,a){var s;((s=i.config)==null?void 0:s.namespace)===null&&delete i.config.namespace,n.onFormChange(i,a)}return(i,a)=>(t.openBlock(),t.createBlock(eo,t.mergeProps(n,{"on-form-change":o}),{default:t.withCtx(()=>[t.createVNode(kK)]),_:1},16))}})}),EK=pt({experimental:!0}),NK=pt({experimental:!0,fieldRenderers:[{match:({genericPath:e})=>e==="config.flow.functions.*",component:_t,propsOverrides:{multiline:!0,rows:3}}]}),xK=pt({experimental:!0,fieldRenderers:[{match:"config.message.custom_fields_by_lua",component:Co,propsOverrides:{appearance:{string:{multiline:!0}}}}]}),SK=pt({experimental:!0,fieldRenderers:[{match:"config.message.functions.*",component:_t,propsOverrides:{multiline:!0,rows:3}}]}),AK=pt({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:_t,propsOverrides:{multiline:!0,rows:4}}]}),vK=Object.assign({"../plugins/acl/index.ts":LL,"../plugins/ai-custom-guardrail.ts":DL,"../plugins/ai-mcp-proxy/index.ts":ML,"../plugins/aws-lambda.ts":jL,"../plugins/basic-auth/index.ts":zL,"../plugins/correlation-id.ts":WL,"../plugins/cors.ts":YL,"../plugins/datakit/index.ts":cU,"../plugins/exit-transformer.ts":uU,"../plugins/file-log.ts":dU,"../plugins/header-cert-auth.ts":fU,"../plugins/http-log.ts":pU,"../plugins/jwe-decrypt.ts":mU,"../plugins/jwt-signer.ts":hU,"../plugins/jwt.ts":gU,"../plugins/key-auth/index.ts":bU,"../plugins/metering-and-billing/index.ts":IU,"../plugins/mtls-auth.ts":TU,"../plugins/oauth2.ts":OU,"../plugins/opentelemetry.ts":BU,"../plugins/prometheus.ts":PU,"../plugins/proxy-cache-advanced.ts":VU,"../plugins/proxy-cache.ts":RU,"../plugins/rate-limiting-advanced/index.ts":JU,"../plugins/rate-limiting.ts":XU,"../plugins/request-callout/index.ts":nK,"../plugins/request-transformer-advanced.ts":rK,"../plugins/request-transformer.ts":oK,"../plugins/response-transformer-advanced.ts":iK,"../plugins/response-transformer.ts":aK,"../plugins/route-transformer-advanced.ts":sK,"../plugins/service-protection/index.ts":CK,"../plugins/session.ts":EK,"../plugins/solace-consume.ts":NK,"../plugins/solace-log.ts":xK,"../plugins/solace-upstream.ts":SK,"../plugins/upstream-oauth.ts":AK});function IK(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 TK(e){const n={},r=new Map;for(const[o,i]of Object.entries(e)){const a=IK(o);if(r.has(a))throw new Error(`Duplicate plugin config for "${a}": ${r.get(a)} and ${o}`);r.set(a,o),n[a]={...i,component:i.component,experimental:i.experimental??!1,fieldRenderers:i.fieldRenderers??[]}}return n}const Ck=TK(vK);function Ek(e){return Ck[e]}function Nk(e,n){const r=Ek(e);if(r&&!(r.experimental&&!n.includes(e)))return r.component}function xk(e,n,r){return r==="freeform"?!0:r==="vfg"?!1:!!Nk(e,n)}function OK(){return Object.entries(Ck).filter(([,e])=>e.experimental).map(([e])=>e).sort((e,n)=>e.localeCompare(n))}function mm(){return t.inject(Vf,[])}function BK(e){const n=new Set(OK()),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 PK(e){t.provide(Vf,BK(e))}function VK(){const e=mm();return{shouldUseFreeForm:(n,r)=>xk(n,e,r),getFreeFormComponent:n=>Nk(n,e)}}function Sk(e){var o,i;if(!e)return;if(!e.token_exchange)return e;if((Array.isArray((o=e.token_exchange.request)==null?void 0:o.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((i=e.token_exchange.request)==null?void 0:i.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(a=>fn(e.token_exchange,a)))return e.token_exchange=null,e;const r=e.token_exchange.subject_token_issuers;return r&&r.forEach(a=>{fn(a.conditions,{})&&(a.conditions=null),a.conditions&&Object.values(a.conditions).every(s=>Array.isArray(s)&&s.length===0)&&(a.conditions=null)}),e}const Ak=e=>{const n=e==null?void 0: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}fn(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)},RK={shamefullyTransformPayload(e){return Sk(e.payload.config),Ak(e.payload.config),e}},$K={shamefullyTransformPayload(e){var n,r,o,i,a;if(!((r=(n=e.payload.config)==null?void 0:n.access_logs)!=null&&r.custom_attributes_by_lua))return e;if(fn((i=(o=e.payload.config)==null?void 0:o.access_logs)==null?void 0:i.custom_attributes_by_lua,{})){const s=(a=e.payload.config)==null?void 0:a.access_logs;s&&(s.custom_attributes_by_lua=null)}return e}},LK={shamefullyTransformPayload(e){var r,o;const n=(o=(r=e.payload.config)==null?void 0:r.v2_strategies)==null?void 0:o.openid_connect;return Array.isArray(n)&&n.forEach(i=>{Sk(i.config),Ak(i.config)}),e}},DK={shamefullyTransformPayload(e){var r;return!e.payload.config||!((r=e.payload.config)!=null&&r.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(o=>{var i;return fn((i=e.payload.config)==null?void 0:i.token_exchange,o)})&&(e.payload.config.token_exchange=null),e}},MK=(e,n)=>{const r=e.model.startsWith("config-"),o=n.model.startsWith("config-");return r&&!o?1:!r&&o?-1:0},vk=(e,n)=>(e.order??0)-(n.order??0),Ik=(e,n)=>MK(e,n)||vk(e,n)||e.model.localeCompare(n.model),jK=e=>{const{capitalize:n}=Ee.useStringHelpers(),{convertToDotNotation:r}=Hg(),{i18n:{t:o}}=et(),i=mm(),a={"application-registration":{overwriteDefault:!0,formSchema:{...FN}},datadog:{...UN},"exit-transformer":{...KN},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...nx},"statsd-advanced":{...rx},"route-by-header":{...ZN},"ai-prompt-decorator":{...$N},"ai-prompt-template":{...LN},"ai-proxy-advanced":{...DN},"ai-rag-injector":{...MN},"ai-llm-as-judge":{...jN},"vault-auth":{...ix},"oas-validation":{...zN},mocking:{...HN},"rate-limiting":{...Zl},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Zl["config-consumer_groups"]}:{...Zl},"graphql-rate-limiting-advanced":{...qN},"injection-protection":{...GN},"response-ratelimiting":{...Zl},"pre-function":{...ny},"post-function":{...ny},"request-transformer-advanced":{...JN},"response-transformer":{...ry},"response-transformer-advanced":{...XN},zipkin:{...VO},"upstream-oauth":{...ox},saml:{...QN},"kafka-upstream":{...IO},"solace-consume":{...ex},"solace-upstream":{...tx},"key-auth":AN(e),"key-auth-enc":PN(e),confluent:{...TO},"confluent-consume":{...OO},"kafka-consume":{...BO},"kafka-log":{...PO},"openid-connect":{...RK},opentelemetry:{...$K},"konnect-application-auth":{...LK},"ai-mcp-oauth2":{...DK}},s=()=>["created_at","updated_at","id","_isCustomPlugin","_sourcePlugin","_supported_redis_partial_type","_redis_partial_path"],l=(w,x,T,M)=>{let v={};(x||w)&&(v=x||(w.fields?w.fields:w));const N=s().concat(w.blacklist?w.blacklist:[]),O=Object.keys(v).filter(L=>!N.includes(L)),B=O.indexOf("comparator");B>-1&&O.splice(B,1);let A={fields:[]};const q={};O.forEach(L=>{u(v[L],L,v,q,A,T)});const z=q.name,Y=w._sourcePlugin||z,K=tr[Y],U=[],j=L=>{const G=["cluster-cache"];for(const F of G)if(L.model.includes(F))return!1;return new RegExp("(?<=-redis-).*").test(L.model)};if(A._supported_redis_partial_type=w._supported_redis_partial_type,A._redis_partial_path=w._redis_partial_path,it.getSharedFormName(Y)||xk(Y,i,M)||K!=null&&K.useLegacyForm||e!=null&&e.credential){if(K!=null&&K.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&w._supported_redis_partial_type){for(const L of A.fields)if(j(L)){U.push(L);continue}A.fields=A.fields.filter(L=>!j(L)),U.length&&A.fields.push({id:"_redis",fields:U,model:"__redis_partial",pluginType:w._isCustomPlugin?"custom":"bundled",redisType:w._supported_redis_partial_type,redisPath:w._redis_partial_path})}A.fields.sort((L,G)=>(L.order=L.order||0,G.order=G.order||0,L.order-G.order))}else{const L=[],G=[],F=[],$=[],S={};if(K!=null&&K.fieldRules){const W=[...K.fieldRules.atLeastOneOf??[],...K.fieldRules.onlyOneOf??[],...K.fieldRules.mutuallyRequired??[]];if(K.fieldRules.onlyOneOfMutuallyRequired)for(const re of K.fieldRules.onlyOneOfMutuallyRequired)W.push(...re);for(const re of W)for(const oe of re)S[oe.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const W of A.fields){if(e!=null&&e.enableRedisPartial&&w._supported_redis_partial_type&&j(W)){$.push(W);continue}if(W.pinned){L.push(W);continue}if(W.required||S[W.model]!==void 0){S[W.model]===!1&&(S[W.model]=!0),G.push(W);continue}F.push(W)}$.length&&F.push({id:"_redis",fields:$,model:"__redis_partial",pluginType:w._isCustomPlugin?"custom":"bundled",redisType:w._supported_redis_partial_type,redisPath:w._redis_partial_path,order:-1});const P=Object.entries(S).filter(([,W])=>!W).map(([W])=>W.replace(/-/g,".").replace(/_/g,"-"));P.length>0&&console.warn(`Unknown checked fields for plugin ${z}: ${P.join(", ")}`);const V=[];L.length>0&&V.push({fields:L.sort(vk)}),(G.length>0||F.length>0)&&V.push({fields:G.sort(Ik),collapsible:{title:o("plugins.form.grouping.plugin_configuration.title"),description:o("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:F.sort(Ik),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"}}),A={groups:V}}return{schema:A,model:q,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=w=>Array.isArray(w.default)||w.default!=null&&typeof w.default!="object"&&w.default!=="function",u=(w,x,T,M,v,N)=>{const O=c(w);return M[x]=O?w.default:null,w.id=x,w.model=x,w.fields&&w.type==="record"?d(w,x,T,M,v,N):(T[x]=w,k(w,M),N&&N[x]&&f(T[x],N[x]),v.fields.push(w)),T},f=(w,x)=>(x&&(Object.assign(w,x),x.label&&(w.label=x.label)),w),d=(w,x,T,M,v,N)=>{w.fields.forEach(O=>{Object.keys(O).forEach(B=>{const A=O[B];T=u(A,x+"-"+B,T,M,v,N)})})},m=(w,x)=>{w.type="input",w.inputType="hidden",w.styleClasses="kong-form-hidden-field-wrapper";const T=e==null?void 0:e.entityId;x[w.model]=T?{id:T}:null},p=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")},g=w=>{w.type="checkbox",w.default=!0,w.required=!1},y=w=>{if(w.type="object-advanced",w.values.type==="array"){const{type:x}=w.values.elements||{};w.schema={fields:[{schema:{fields:[{...ht,model:w.model,valueArrayType:x==="integer"?"number":x||"string",inputAttributes:{...ht.inputAttributes,type:x==="integer"?"number":"text",inputMode:x==="integer"?"numeric":"text"}}]}}]}}else w.values.fields&&(w.schema={fields:[{type:"object",model:"object",schema:{fields:w.values.fields.map(x=>{const T=Object.keys(x)[0];return{model:T,type:"input",label:n(T),placeholder:T,inputType:x[T].type}})}}]})},b=w=>w.fields.reduce((x,T)=>(T.fields&&T.fields.forEach(M=>{x[M.model]=M}),T.model&&(x[T.model]=T),x),{}),_=(w,x)=>{if(!it.customFields.includes(w.model))return;const T=b(w);it.customFields.forEach(M=>{Object.keys(T).forEach(v=>{const N=c(T[v]);x[v]=N?T[v].default:null}),delete x[M]})},C=(w,x)=>w.inputType==="hidden"?"":r(w.label||x.replace(/_/g," ")),k=(w,x)=>{switch(_(w,x),w.type){case"foreign":m(w,x);break;case"number":p(w),w.attributes={step:"any"};break;case"integer":p(w);break;case"string":h(w);break;case"boolean":g(w);break;case"map":y(w);break}w.inputType==="foreign"&&m(w,x),w.label=C(w,w.model)};function E(w,x){if(x==null||x.type&&x.type!=="record"||typeof w!="object"||w==null)return w;const T={};for(const M of x.fields){const v=Object.keys(M)[0],N=M[v];N.type==="record"?T[v]=E(w[v],N):N.type==="array"&&Array.isArray(w[v])&&N.elements.type==="record"?T[v]=w[v].map(O=>E(O,N.elements)):T[v]=w[v]}return T}return{buildFormSchema:u,parseSchema:l,customSchemas:a,typedefs:Ei,pruneRecord:E}},uu=Symbol("customPluginType"),FK=1e3,UK=20,Tk=5e3,Ok=(e,n=FK)=>{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}`},Bk=async(e,n,r)=>{const o=[];let i=Ok(n),a=null,s=0;for(;i&&s<UK&&o.length<Tk&&i!==a;){a=i;const c=(await e.get(i,{signal:r})).data;Array.isArray(c==null?void 0:c.data)&&o.push(...c.data),i=c!=null&&c.next?Ok(c.next):null,s+=1}return o.slice(0,Tk)};function KK(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=(y,b)=>{let _=`${r}${y}`;return e.app==="konnect"&&(_=_.replace(/{controlPlaneId}/gi,e.controlPlaneId)),_=_.replace(/{pluginId}/gi,b??"").replace(/\/{workspace}/gi,e.workspace?`/${e.workspace}`:""),_},a=async y=>{o();const b=i(ut.customPlugin.konnect.installed.edit,y),{data:_}=await n.get(b);return _},s=async y=>{o();const b=i(ut.customPlugin.konnect.installed.create),{data:_}=await n.post(b,y);return _},l=async(y,b)=>{o();const _=i(ut.customPlugin.konnect.installed.edit,y),{data:C}=await n.put(_,b);return C},c=async y=>{const b=i(ut.customPlugin[e.app].streamed.edit,y),{data:_}=await n.get(b);return _},u=async y=>{const b=i(ut.customPlugin[e.app].streamed.create),{data:_}=await n.post(b,y);return _},f=async(y,b)=>{const _=i(ut.customPlugin[e.app].streamed.edit,y),C=e.app==="konnect"?"put":"patch",{data:k}=await n[C](_,b);return k},d=async y=>{const{aliasName:b,priority:_,sourcePlugin:C}=y,k=i(ut.customPlugin[e.app].cloned.create),{data:E}=await n.post(k,{name:b,ref:C,priority:_});return E},m=async(y,b)=>{const{aliasName:_,priority:C,sourcePlugin:k}=b,E=i(ut.customPlugin[e.app].cloned.edit,y),{data:w}=await n.patch(E,{ref:k,priority:C,name:_});return w},p=async y=>{const b=i(ut.customPlugin[e.app].cloned.edit,y),{data:_}=await n.get(b);return _};return{getInstalledPlugin:a,createInstalledPlugin:s,updateInstalledPlugin:l,getStreamedPlugin:c,createStreamedPlugin:u,updateStreamedPlugin:f,getPluginByUnknownType:async y=>{var b,_,C;if(e.app==="konnect")try{const k=await a(y);return Object.assign(k,{[uu]:"installed"})}catch(k){if(Xa.isAxiosError(k)&&((b=k.response)==null?void 0:b.status)!==404)throw k}try{const k=await c(y);return Object.assign(k,{[uu]:"streamed"})}catch(k){if(Xa.isAxiosError(k)&&((_=k.response)==null?void 0:_.status)!==404)throw k}try{const k=await p(y);return Object.assign(k,{[uu]:"cloned"})}catch(k){if(Xa.isAxiosError(k)&&((C=k.response)==null?void 0:C.status)!==404)throw k}return null},getPluginType:y=>y[uu],getClonedPlugin:p,createClonedPlugin:d,updateClonedPlugin:m}}const dt={useI18n:et,usePluginMetaData:ey,usePluginHelpers:Hg,useSchemas:jK,useExperimentalFreeForms:mm,useProvideExperimentalFreeForms:PK,useFreeFormResolver:VK,useCustomPluginApi:KK},Pk=e=>{var r,o,i,a;const n=e==null?void 0:e.response;return(n==null?void 0:n.status)===400&&(((o=(r=n.data)==null?void 0:r.message)==null?void 0:o.includes("plugin schema is currently in use"))||((i=n.data)==null?void 0:i.code)===19||((a=n.data)==null?void 0:a.name)==="referenced by others")},qK={class:"kong-ui-entities-custom-plugin-form"},GK={class:"plugin-type-radios"},HK={class:"compare-table-wrapper"},zK={class:"compare-table"},WK={key:0,scope:"col"},YK={key:1,scope:"col"},JK={key:2,scope:"col"},XK={scope:"row"},ZK={key:0},QK={key:1},e8={key:2},t8={scope:"row"},n8={key:0},r8={class:"compare-list"},o8={key:1},i8={class:"compare-list"},a8={key:2},s8={scope:"row"},l8={key:0},c8={key:1},u8={key:2},d8={scope:"row"},f8={key:0},p8={key:1},m8={key:2},h8={scope:"row"},g8={key:0},y8={key:1},_8={key:2},b8={class:"plugin-modules-section"},w8={class:"plugin-select-item"},k8={class:"plugin-select-item"},C8={key:1},E8=1*1024*1024,N8=Re(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}){var $;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}=dt.useI18n(),c=Gr.useRouter(),{getMessageFromError:u}=Ee.useErrors(),{axiosInstance:f}=Ee.useAxios(($=i.config)==null?void 0:$.axiosRequestConfig),{createInstalledPlugin:d,updateInstalledPlugin:m,createStreamedPlugin:p,updateStreamedPlugin:h,getPluginType:g,getPluginByUnknownType:y,createClonedPlugin:b,updateClonedPlugin:_}=dt.useCustomPluginApi({axiosInstance:f,apiBaseUrl:i.config.apiBaseUrl,controlPlaneId:i.config.controlPlaneId,app:i.config.app,workspace:i.config.workspace});t.provide(Ee.PLUGIN_FORM_LAYOUT_STATE,t.ref(!0));const C=t.computed(()=>!!i.pluginName),k=t.ref(!1),E=t.ref(""),w=t.computed(()=>new Set(i.unsupportedTypes)),x=t.computed(()=>o.filter(S=>!w.value.has(S))),T=t.computed(()=>!C.value&&x.value.length===0),M=t.computed(()=>!C.value&&x.value.length>1),v=()=>x.value[0]??null,N=S=>x.value.includes(S),O=S=>{if(C.value||!M.value){const P=S-1;return(A.fields.pluginType==="installed"?1:2)>1?P:void 0}return S},B=t.ref(!0),A=t.reactive({fields:{pluginType:v(),schemaContent:"",handlerContent:"",name:"",sourcePlugin:"",aliasName:"",priority:""},readonly:!1,errorMessage:""});let q="";t.watch(x,S=>{C.value||(!A.fields.pluginType||!S.includes(A.fields.pluginType))&&(A.fields.pluginType=S[0]??null)},{immediate:!0}),t.watch(()=>A.fields.pluginType,()=>{C.value||(A.fields.schemaContent="",A.fields.handlerContent="",A.fields.name="",A.fields.sourcePlugin="",A.fields.aliasName="",A.fields.priority="")});const{getDisplayName:z}=ey(),Y=t.computed(()=>{var W;const S=((W=i.config)==null?void 0:W.clonablePlugins)??r;if(S.length===0)return[];const P={};S.forEach(re=>{const oe=tr[re],de=oe==null?void 0:oe.group;de?(P[de]||(P[de]=[]),P[de].push({label:z(re),value:re})):console.warn(`Plugin ${re} is missing metadata group and will be shown without grouping.`)});const V=[];return Object.keys(P).sort().forEach(re=>{V.push({label:re,items:P[re]})}),V}),K=t.computed(()=>{if(T.value||!A.fields.pluginType)return!1;switch(A.fields.pluginType){case"installed":return A.fields.schemaContent.length>0;case"streamed":return A.fields.schemaContent.length>0&&A.fields.handlerContent.length>0&&A.fields.name.trim().length>0;case"cloned":return!!A.fields.sourcePlugin&&A.fields.aliasName.trim().length>0;default:return!1}}),U=S=>new Promise((P,V)=>{const W=new FileReader;W.onload=re=>{var de;const oe=(de=re.target)==null?void 0:de.result;typeof oe=="string"?P(oe):V(new Error("Failed to read file as text"))},W.onerror=V,W.readAsText(S)}),j=async(S,P)=>{const V=P[0];if(V){if(V.size>E8){A.errorMessage=s("custom_plugin_form.errors.file_too_large");return}try{const W=await U(V);S==="schema"?A.fields.schemaContent=W:A.fields.handlerContent=W}catch{A.errorMessage=s("custom_plugin_form.errors.file_read_error"),S==="schema"?A.fields.schemaContent="":A.fields.handlerContent=""}}},L=S=>{S==="schema"?A.fields.schemaContent="":A.fields.handlerContent=""},G=()=>{c.push(i.config.cancelRoute)};t.onMounted(async()=>{if(i.pluginName){k.value=!0,a("loading",!0);try{const S=await y(i.pluginName);if(!S){E.value=s("custom_plugin_form.errors.plugin_not_found"),a("error",new Error(E.value));return}const P=g(S);if(A.fields.pluginType=P,P==="installed")A.fields.schemaContent=S.item.lua_schema;else if(P==="streamed"){const{name:V,schema:W,handler:re}=S;A.fields.name=V,A.fields.schemaContent=W,A.fields.handlerContent=re}else if(P==="cloned"){const{ref:V,name:W,priority:re}=S;A.fields.aliasName=W,A.fields.sourcePlugin=V,A.fields.priority=re!==null?String(re):"",q=W}else E.value=s("custom_plugin_form.errors.unsupported_plugin_type",{type:P}),a("error",new Error(E.value))}catch(S){E.value=u(S),a("error",S)}finally{k.value=!1,a("loading",!1)}}});const F=async()=>{A.errorMessage="",A.readonly=!0;try{const S=A.fields.pluginType;if(!S)return;if(S==="installed"){const P={lua_schema:A.fields.schemaContent},V=C.value?await m(i.pluginName,P):await d(P);a("update",V)}else if(S==="streamed"){const P={name:A.fields.name,schema:A.fields.schemaContent,handler:A.fields.handlerContent},V=C.value?await h(i.pluginName,P):await p(P);a("update",V)}else{const P=C.value?await _(q,{aliasName:A.fields.aliasName,sourcePlugin:A.fields.sourcePlugin,priority:A.fields.priority?parseInt(A.fields.priority,10):void 0}):await b({aliasName:A.fields.aliasName,sourcePlugin:A.fields.sourcePlugin,priority:A.fields.priority?parseInt(A.fields.priority,10):void 0});a("update",{pluginType:"cloned",sourcePlugin:P.ref,aliasName:P.name,priority:P.priority??void 0})}c.push(i.config.successRoute)}catch(S){A.errorMessage=Pk(S)?s("delete.plugin_schema_in_use_message"):u(S),a("error",S)}finally{A.readonly=!1}};return(S,P)=>{const V=t.resolveComponent("KSkeleton"),W=t.resolveComponent("KEmptyState"),re=t.resolveComponent("KRadio"),oe=t.resolveComponent("KCollapse"),de=t.resolveComponent("KFileUpload"),Ae=t.resolveComponent("KLabel"),De=t.resolveComponent("KAlert"),ze=t.resolveComponent("KSelect"),ue=t.resolveComponent("KInput"),pe=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",qK,[t.createVNode(t.unref(Ee.EntityBaseForm),{"can-submit":K.value,config:e.config,"entity-type":t.unref(Ee.SupportedEntityType).Plugin,"error-message":A.errorMessage,"form-fields":A.fields,"is-readonly":A.readonly,onCancel:G,onSubmit:F},{"form-actions":t.withCtx(()=>[k.value||E.value||T.value?(t.openBlock(),t.createElementBlock("span",C8)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(pe,{appearance:"primary","data-testid":"custom-plugin-form-submit",disabled:!K.value||A.readonly,type:"submit"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.save")),1)]),_:1},8,["disabled"]),t.createVNode(pe,{appearance:"secondary","data-testid":"custom-plugin-form-cancel",disabled:A.readonly,onClick:G},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("actions.cancel")),1)]),_:1},8,["disabled"])],64))]),default:t.withCtx(()=>[k.value?(t.openBlock(),t.createBlock(V,{key:0,type:"form"})):E.value?(t.openBlock(),t.createBlock(W,{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(E.value),1)]),_:1})):T.value?(t.openBlock(),t.createBlock(W,{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},[M.value?(t.openBlock(),t.createBlock(t.unref(Ee.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",GK,[N("installed")?(t.openBlock(),t.createBlock(re,{key:0,modelValue:A.fields.pluginType,"onUpdate:modelValue":P[0]||(P[0]=me=>A.fields.pluginType=me),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),N("streamed")?(t.openBlock(),t.createBlock(re,{key:1,modelValue:A.fields.pluginType,"onUpdate:modelValue":P[1]||(P[1]=me=>A.fields.pluginType=me),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),N("cloned")?(t.openBlock(),t.createBlock(re,{key:2,modelValue:A.fields.pluginType,"onUpdate:modelValue":P[2]||(P[2]=me=>A.fields.pluginType=me),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(oe,{modelValue:B.value,"onUpdate:modelValue":P[3]||(P[3]=me=>B.value=me),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",HK,[t.createElementVNode("table",zK,[t.createElementVNode("thead",null,[t.createElementVNode("tr",null,[P[14]||(P[14]=t.createElementVNode("th",{scope:"col"},null,-1)),N("installed")?(t.openBlock(),t.createElementBlock("th",WK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.installed")),1)):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("th",YK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.columns.streamed")),1)):t.createCommentVNode("",!0),N("cloned")?(t.openBlock(),t.createElementBlock("th",JK,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",XK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",ZK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.installed")),1)):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("td",QK,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.main_use_case.streamed")),1)):t.createCommentVNode("",!0),N("cloned")?(t.openBlock(),t.createElementBlock("td",e8,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",t8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.file_supplied.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",n8,[t.createElementVNode("ul",r8,[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),N("streamed")?(t.openBlock(),t.createElementBlock("td",o8,[t.createElementVNode("ul",i8,[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),N("cloned")?(t.openBlock(),t.createElementBlock("td",a8,[t.createVNode(t.unref(Ie.ClearIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0)]),t.createElementVNode("tr",null,[t.createElementVNode("th",s8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",l8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.installed")),1)):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("td",c8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.how_installed.streamed")),1)):t.createCommentVNode("",!0),N("cloned")?(t.openBlock(),t.createElementBlock("td",u8,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",d8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.sandboxing.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",f8,[t.createVNode(t.unref(Ie.ClearIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("td",p8,[t.createVNode(t.unref(l),{keypath:"custom_plugin_form.step1.compare_table.rows.sandboxing.streamed"},{link:t.withCtx(()=>[t.createVNode(t.unref(Ke.KExternalLink),{"hide-icon":"",href:t.unref(Bs).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),N("cloned")?(t.openBlock(),t.createElementBlock("td",m8,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",h8,t.toDisplayString(t.unref(s)("custom_plugin_form.step1.compare_table.rows.data_plane_reload.header")),1),N("installed")?(t.openBlock(),t.createElementBlock("td",g8,[t.createVNode(t.unref(Ie.CheckCircleIcon),{color:t.unref(qg),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0),N("streamed")?(t.openBlock(),t.createElementBlock("td",y8,[t.createVNode(t.unref(Ie.ClearIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0),N("cloned")?(t.openBlock(),t.createElementBlock("td",_8,[t.createVNode(t.unref(Ie.ClearIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])])):t.createCommentVNode("",!0)])])])])]),_:1},8,["modelValue","trigger-label"])]),_:1},8,["title"])):t.createCommentVNode("",!0),A.fields.pluginType==="installed"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:1,class:"custom-plugin-form-steps",step:O(2),title:t.unref(s)("custom_plugin_form.step2_files.title")},{default:t.withCtx(()=>[t.createVNode(de,{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:C.value&&A.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:!C.value,onFileAdded:P[4]||(P[4]=me=>j("schema",me)),onFileRemoved:P[5]||(P[5]=me=>L("schema"))},null,8,["button-text","help","label","placeholder","required"]),t.createElementVNode("div",b8,[t.createVNode(Ae,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("custom_plugin_form.step2_files.plugin_modules.label")),1)]),_:1}),t.createVNode(De,{appearance:"warning",message:t.unref(s)("custom_plugin_form.step2_files.plugin_modules.alert")},null,8,["message"])])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),A.fields.pluginType==="streamed"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:2,class:"custom-plugin-form-steps",step:O(2),title:t.unref(s)("custom_plugin_form.step2_files.title")},{default:t.withCtx(()=>[t.createVNode(de,{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:C.value&&A.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:!C.value,onFileAdded:P[6]||(P[6]=me=>j("schema",me)),onFileRemoved:P[7]||(P[7]=me=>L("schema"))},null,8,["button-text","help","label","placeholder","required"]),t.createVNode(de,{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:C.value&&A.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:!C.value,onFileAdded:P[8]||(P[8]=me=>j("handler",me)),onFileRemoved:P[9]||(P[9]=me=>L("handler"))},null,8,["button-text","help","label","placeholder","required"])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),A.fields.pluginType==="cloned"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:3,class:"custom-plugin-form-steps",step:O(2),title:t.unref(s)("custom_plugin_form.step2_clone.title")},{default:t.withCtx(()=>[t.createVNode(ze,{modelValue:A.fields.sourcePlugin,"onUpdate:modelValue":P[10]||(P[10]=me=>A.fields.sourcePlugin=me),"data-testid":"custom-plugin-clone-select","enable-filtering":"",items:Y.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:me})=>[t.createElementVNode("div",w8,[t.createVNode(t.unref(qr.PluginIcon),{name:String(me.value),size:20},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(me.label),1)])]),"selected-item-template":t.withCtx(({item:me})=>[t.createElementVNode("div",k8,[t.createVNode(t.unref(qr.PluginIcon),{name:String(me.value),size:20},null,8,["name"]),t.createElementVNode("span",null,t.toDisplayString(me.label),1)])]),_:1},8,["modelValue","items","label","placeholder"])]),_:1},8,["step","title"])):t.createCommentVNode("",!0),A.fields.pluginType==="streamed"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:4,class:"custom-plugin-form-steps",description:t.unref(s)("custom_plugin_form.step3.description"),step:O(3),title:t.unref(s)("custom_plugin_form.step3.title")},{default:t.withCtx(()=>[t.createVNode(ue,{modelValue:A.fields.name,"onUpdate:modelValue":P[11]||(P[11]=me=>A.fields.name=me),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:A.readonly,required:"",type:"text"},null,8,["modelValue","help","label","placeholder","readonly"])]),_:1},8,["description","step","title"])):t.createCommentVNode("",!0),A.fields.pluginType==="cloned"?(t.openBlock(),t.createBlock(t.unref(Ee.EntityFormBlock),{key:5,class:"custom-plugin-form-steps",description:t.unref(s)("custom_plugin_form.step3.description"),step:O(3),title:t.unref(s)("custom_plugin_form.step3.title")},{default:t.withCtx(()=>[t.createVNode(ue,{modelValue:A.fields.aliasName,"onUpdate:modelValue":P[12]||(P[12]=me=>A.fields.aliasName=me),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:A.readonly,required:"",type:"text"},null,8,["modelValue","help","label","placeholder","readonly"]),t.createVNode(ue,{modelValue:A.fields.priority,"onUpdate:modelValue":P[13]||(P[13]=me=>A.fields.priority=me),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:A.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(Ke.KExternalLink),{"hide-icon":"",href:t.unref(Bs).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"])])}}}),[["__scopeId","data-v-48e22e8f"]]),x8=(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==null?void 0:n[0])!=null?{default:n[0]}:{}}}),S8={class:"referable-field-item"},A8=24,Vk=Re(t.defineComponent({__name:"ReferableFieldItem",props:{field:{},isLast:{type:Boolean}},setup(e){const n=e,{formatPluginFieldLabel:r}=dt.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-A8),u=()=>{var f;(f=l.click)==null||f.call(l)};window.addEventListener("scrollend",u,{once:!0}),window.scrollTo({top:c,behavior:"smooth"})};return(s,l)=>(t.openBlock(),t.createElementBlock("span",S8,[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"]]),v8={key:0},I8=Re(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{i18n:{t:r},i18nT:o}=dt.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:u},f)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${f}`},[t.createVNode(t.unref(o),{keypath:c},{parameters:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(d,m)=>(t.openBlock(),t.createBlock(Vk,{key:`alert-field-${d}`,field:d,"is-last":m===u.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",v8,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(c,u)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${u}`},[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,(f,d)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${u}-combination-${d}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f,(m,p)=>(t.openBlock(),t.createBlock(Vk,{key:`only-one-mutually-field-${m}`,field:m,"is-last":p===f.length-1},null,8,["field","is-last"]))),128))]))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-5f9ff453"]]);function T8(e){if(e.length===0)return"";if(e.length===1){const i=Bn(e[0]);return Nt(...i.slice(0,-1))}const n=e.map(i=>Bn(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 Nt(...o)}function hm(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 O8(e,n){if(!n)return e;const r=n+fs;return e.map(o=>o.startsWith(r)?o.slice(r.length):o)}function B8(e,n){const r=hm(e),o=O8(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 P8(e){const n=[],r=new Map;for(const o of e){const i=hm(o);if(!i){n.push(o);continue}const a=T8(i);if(!a){n.push(o);continue}const s=B8(o,a);r.has(a)||r.set(a,[]),r.get(a).push(s)}return{keep:n,move:r}}function V8(e,n,r){const o=Bn(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 Rk(e){var n;if((n=e.entity_checks)!=null&&n.length){const{keep:r,move:o}=P8(e.entity_checks);e.entity_checks=r.length?r:void 0;for(const[i,a]of o)V8(e,i,a)}for(const r of e.fields){const o=Object.values(r)[0];o.type==="record"&&Rk(o)}}function R8(e){const n=JSON.parse(JSON.stringify(e)),r={fields:n.fields};return Rk(r),n.fields=r.fields,n}function $8(e,n){const r=tr[e];if(!r||!r.fieldRules)return n;const o=L8(r.fieldRules),i={...n};return i.fields=i.fields.map(a=>{if(Object.keys(a)[0]==="config"){const l=a.config.entity_checks||[],c=d=>{const p=[...hm(d)??[]].slice().sort();return`${Object.keys(d)[0]}:${p.join(",")}`},u=new Set(l.map(c)),f=o.filter(d=>{const m=c(d);return u.has(m)?!1:(u.add(m),!0)});return{config:{...a.config,entity_checks:[...l,...f]}}}return a}),i}function L8(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(u=>{n.push({mutually_exclusive:[c,u]})})})}}),n}const D8={class:"kong-ui-entities-plugin-form"},M8={key:1,class:"entity-form"},j8={class:"plugin-config-empty-state"},F8=Re(t.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0: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","validity-change"],setup(e,{emit:n}){var De,ze;const r=n,o=e,i=t.computed(()=>{if(o.config.app!=="konnect")return!1;const ue=o.config;return!!ue.isKonnectManagedRedisEnabled&&ue.isCloudGateway===!0}),a=t.inject(Jo.KM_2306_CONDITION_FIELD_314,!1),{axiosInstance:s}=Ee.useAxios((De=o.config)==null?void 0:De.axiosRequestConfig),{parseSchema:l}=dt.useSchemas({entityId:((ze=o.entityMap.focusedEntity)==null?void 0:ze.id)||void 0,credential:o.credential,enableRedisPartial:o.enableRedisPartial,experimentalRenders:o.config.app==="konnect"?o.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:u,dismissField:f,isObjectEmpty:d,unsetNullForeignKey:m}=dt.usePluginHelpers(),{shouldUseFreeForm:p,getFreeFormComponent:h}=dt.useFreeFormResolver(),g=t.inject(Ee.PLUGIN_FORM_LAYOUT_STATE),y=ue=>{g&&(g.value=ue)},{objectsAreEqual:b}=Ee.useHelpers(),{i18n:{t:_}}=et(),C=ue=>{let pe=ue;return o.config.app==="konnect"&&(pe=pe.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||"")),pe.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")},k=(ue,pe)=>{let me=`${o.config.apiBaseUrl}${ut.form[o.config.app].entityGetOne}`;return me=C(me),me=me.replace(/{entity}/gi,ue),me=me.replace(/{id}/gi,pe),me},E=ue=>{let pe=`${o.config.apiBaseUrl}${ut.form[o.config.app].entityGetAll}`;return pe=C(pe),pe=pe.replace(/{entity}/gi,ue),pe},w=(ue,pe,me)=>{const $e=k(ue,pe);return s.get($e,me)},x=(ue,pe)=>{const me=E(ue);return o.config.app==="konnect"?s.get(me).then($e=>{const{data:{data:Ne}}=$e;if(delete pe.size,delete pe.offset,Ne.length&&Object.keys(pe).length===1){const ke=Object.keys(pe)[0],Oe=Ne.filter(We=>We[ke]?!!We[ke].toLowerCase().includes(pe[ke].toLowerCase()):!1);$e.data.data=Oe}return $e}):s.get(me,{params:pe})},T=(ue,pe,me)=>{const $e=E(ue);if(o.config.app==="konnect"){const{size:Ne,offset:ke,...Oe}=pe;if(ue==="consumer_groups")return s.get($e,{params:{size:1e3},signal:me}).then(he=>{const{data:{data:X}}=he;if(X.length&&Object.keys(Oe).length===1){const ie=Object.keys(Oe)[0],ne=X.filter(Ce=>Ce[ie]?!!Ce[ie].toLowerCase().includes(Oe[ie].toLowerCase()):!1);he.data.data=ne}return he});const We={size:Ne,offset:ke};for(const he of Object.keys(Oe))We.filter={[he]:{contains:Oe[he]}};return s.get($e,{params:We,signal:me})}return s.get($e,{params:pe,signal:me})},M=(ue,pe=50)=>{const me=E(ue);return s.get(me,{params:{size:pe}})};t.provide(it.FORMS_API_KEY,{getOne:w,getAll:x,getAllV2:T,peek:M}),t.provide(it.FORMS_CONFIG,o.config);const v=t.ref(""),N=t.ref(),O=t.shallowRef(),B=t.ref(null),A=t.ref({}),q=t.reactive({}),z=t.reactive({}),Y=t.computed(()=>{var ue;return(ue=B.value)==null?void 0:ue.options}),K=t.computed(()=>{const ue=$8(z.name,o.rawSchema);return R8(ue)}),U=t.ref(!1),j=t.ref(),L=(ue,pe)=>{U.value=ue??"",j.value=pe},G=ue=>{var pe;(pe=j.value)==null||pe.call(j,ue),U.value=!1},F=ue=>{var me;if(!ue){N.value=void 0,O.value=void 0,v.value="",y(!1);return}const pe=((me=o.schema)==null?void 0:me._sourcePlugin)||ue;N.value=Ek(pe),O.value=p(pe,o.engine)?h(pe)??_0:void 0,v.value=it.getSharedFormName(pe),y(!!O.value)},$=ue=>{var We,he;const pe={...o.schema},me=z,$e=q,Ne=Object.keys(me),ke={};if(!d(A.value))for(let X=0;X<((he=(We=A.value)==null?void 0:We.fields)==null?void 0:he.length);X++)pe[A.value.fields[X].model]=A.value.fields[X];it.customFields.forEach(X=>{pe[X]&&(pe[X].fields.forEach(ie=>{ie.fields&&ie.fields.forEach(ne=>{pe[ne.model]=ne}),ie.model&&(pe[ie.model]=ie)}),delete pe[X])}),Ne.forEach(X=>{var ce;if(!pe[X]){X==="partials"&&(ke[X]=me[X]);return}const ie=pe[X];let ne=me[X];const Ce=$e[X],fe=Array.isArray(ne)?"array":typeof ne,Ve=ie?ie.valueType:null,qe=ie?ie.valueArrayType:null,Z=ie?ie.transform:null;if(ne==null&&Ce==null&&!ie.submitWhenNull)return;if(ie){if(Ve&&fe!==Ve)switch(Ve){case"array":fe==="string"&&ne.length&&(ne=ne.split(",").map(ye=>{if(ye=ye.trim(),qe==="string")return String(ye);if(qe==="number")return Number(ye);if(qe==="boolean"){if(typeof ye=="string")return ye.toLowerCase()==="true"||ye==="1";if(typeof ye=="number")return ye===1}return ye})),(!ne||!ne.length)&&(ne=ie.submitWhenNull?null:[]);break;case"number":ie.referenceable!==!0&&(ne=Number(ne));break;case"boolean":fe==="string"&&(ne=ne.toLowerCase()==="true"||ne==="1"),fe==="number"&&(ne=ne===1);break;case"string":ne=ne==null?"":String(ne);break}else Ve==="array"&&(!ne||!ne.length?ne=ie.submitWhenNull?null:[]:((ce=ie.inputAttributes)==null?void 0:ce.type)==="number"&&(ne=ne.map(ye=>Number(ye))));if(ie.type==="array"&&ie.nestedFields){const ye=Pe=>{Object.keys(Pe).forEach(nt=>{Pe[nt]&&typeof Pe[nt]=="object"&&!Array.isArray(Pe[nt])&&Pe[nt]!==null?ye(Pe[nt]):(Pe[nt]===void 0||Pe[nt]===null||typeof Pe[nt]=="number"&&isNaN(Pe[nt])||typeof Pe[nt]=="string"&&Pe[nt].trim().length===0)&&delete Pe[nt]})};ne&&typeof ne=="object"&&ye(ne)}ie.type==="object-advanced"&&ie.fields&&ne!==null&&(Object.entries(ne).length===0?ne=null:Object.keys(ne).forEach(ye=>{Array.isArray(ne[ye])||(ne[ye]=ne[ye].split(","))}))}let ee=c(X);if(ie.fieldNameHasDashes){const[ye,...Pe]=ee.split(".").reverse();ee=[ye.replace(/_/g,"-"),...Pe].reverse().join(".")}if(Ve==="object-expand"){let ye;[ee,ye]=ee.split(".");let Pe={};ke[ee]&&(Pe=ke[ee]),Pe[ye]=ne,ne=Pe}Ce!==void 0&&ne===""&&ne!==Ce?ke[ee]=Ve==="object"?{}:null:ie.type==="checklist"&&ne===""?ke[ee]=[]:ne!==""&&(ke[ee]=ne),ke[ee]=Z?Z(ne):ke[ee],m(ee,ke)});const Oe=u(ke);if(O.value){if(ue&&ue.length)for(const X of ue)delete Oe[X];Object.assign(Oe,re.value)}return Oe},S=(ue,pe={})=>{f(z,pe,ue,o.editing),r("model-updated",{model:z,originalModel:q,data:$()})},P=(ue,pe)=>{var Ne;const me={[pe]:ue};typeof((Ne=o.schema[pe])==null?void 0:Ne.modelTransformer)=="function"&&(me[pe]=o.schema[pe].modelTransformer(ue));const $e=Object.assign({},z,me);Object.assign(z,$e),r("model-updated",{model:z,originalModel:q,data:$()})},V=ue=>{r("validity-change",ue)},W=(ue,pe)=>{Object.keys(ue).forEach(me=>{var We,he;let $e=pe?`${pe}-${me}`:me,Ne=o.schema[$e];if(!Ne){const X=pe?`${pe}-${me.replace(/-/g,"_")}`:me.replace(/-/g,"_");(We=o.schema[X])!=null&&We.fieldNameHasDashes&&($e=X,Ne=o.schema[$e]),pe&&((he=o.schema[pe])==null?void 0:he.keyFromObject)===me&&($e=pe,Ne=o.schema[$e])}const ke=ue[me],Oe=typeof ke;if(Ne&&Ne.type==="object-advanced"&&!ke){z[$e]={},q[$e]={};return}if(Array.isArray(ke)){z[$e]=JSON.parse(JSON.stringify(ke)),q[$e]=JSON.parse(JSON.stringify(ke));return}if(Oe==="object"&&ke&&!ke.length)return W(ke,$e);if(Oe==="object"&&ke&&ke.length&&Ne.type==="input"){z[$e]=ke.join(", "),q[$e]=ke.join(", ");return}z[$e]=ke,q[$e]=ke}),r("model-updated",{model:z,originalModel:q,data:$()})},re=t.shallowRef(o.record),oe=(ue,pe)=>{re.value=ue;const me={...z};for(const $e of pe||[])delete me[$e];r("model-updated",{model:{...me,...ue},originalModel:q,data:$(pe)})},de=t.ref(!0),Ae=()=>{var ue;if(o.record&&o.schema&&(W({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)&&W({consumer_id:o.record.consumer_id||o.record.consumer}),W(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)&&W({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&&S("redis",{partials:o.record.partials}),O.value?oe(o.record):W(o.record.config,"config"))),Object.keys(o.entityMap).length&&!o.entityMap.global&&o.schema){const pe={};for(const me in o.entityMap){const $e=o.entityMap[me].id,Ne=o.entityMap[me].idField,ke=Ne==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(Ne).replace("_","-"));Object.prototype.hasOwnProperty.call(z,ke)&&(pe[ke]=$e)}W(pe)}if((ue=o.entityMap.consumer)!=null&&ue.id&&o.schema&&o.credential){const pe={};Object.prototype.hasOwnProperty.call(z,"consumer")&&(pe.consumer=o.entityMap.consumer.id),W(pe)}de.value=!1};return t.watch(de,ue=>{r("loading",ue)}),t.watch(()=>o.schema,(ue,pe)=>{var $e,Ne;if(b(ue||{},pe||{}))return;const me=l(ue,void 0,void 0,o.engine);Object.assign(z,me.model),A.value={fields:(Ne=($e=A.value)==null?void 0:$e.fields)==null?void 0:Ne.map(ke=>({...ke,disabled:ke.disabled||!1}))},Object.assign(q,JSON.parse(JSON.stringify(me.model))),F(me.model.name),Ae()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var ue,pe,me,$e;B.value=l(o.schema,void 0,void 0,o.engine),Object.assign(z,((ue=B.value)==null?void 0:ue.model)||{}),A.value=((pe=B.value)==null?void 0:pe.schema)||{},F(($e=(me=B.value)==null?void 0:me.model)==null?void 0:$e.name),Ae()}),t.onBeforeUnmount(()=>{y(!1)}),(ue,pe)=>{var $e,Ne,ke;const me=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",D8,[de.value?(t.openBlock(),t.createBlock(me,{key:0,type:"form"})):z.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",M8,[O.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(O.value),{key:0,developer:e.developer,"field-renderers":($e=N.value)==null?void 0:$e.fieldRenderers,"form-model":z,"form-schema":A.value,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,model:e.record,"on-form-change":oe,"on-validity-change":V,"plugin-name":z.name,"render-rules":(Ne=N.value)==null?void 0:Ne.renderRules,schema:K.value,onGlobalAction:pe[0]||(pe[0]=(Oe,We)=>ue.$emit("globalAction",Oe,We))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(it.AUTOFILL_SLOT_NAME),fn:t.withCtx(Oe=>[Oe.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Ja.VaultSecretPickerProvider),t.mergeProps({key:0},Oe,{onOpen:L}),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"])):v.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(it.sharedForms)[v.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":z,"form-options":Y.value,"form-schema":A.value,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,"on-model-updated":P,"on-partial-toggled":S,"show-new-partial-modal":Oe=>ue.$emit("showNewPartialModal",Oe)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(it.AUTOFILL_SLOT_NAME),fn:t.withCtx(Oe=>[Oe.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Ja.VaultSecretPickerProvider),t.mergeProps({key:0},Oe,{onOpen:L}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","is-konnect-managed-redis-enabled","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(it.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,"is-konnect-managed-redis-enabled":i.value,model:z,options:Y.value,schema:A.value,onModelUpdated:P,onPartialToggled:S,onRefreshModel:$,onShowNewPartialModal:pe[1]||(pe[1]=Oe=>ue.$emit("showNewPartialModal",Oe))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",j8,t.toDisplayString(t.unref(_)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(ke=t.unref(tr)[z.name])!=null&&ke.fieldRules&&(o.config.isNewOtelSchema||z.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(I8,{rules:t.unref(tr)[z.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(it.AUTOFILL_SLOT_NAME),fn:t.withCtx(Oe=>[Oe.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Ja.VaultSecretPickerProvider),t.mergeProps({key:0},Oe,{onOpen:L}),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(Ja.VaultSecretPicker),{config:o.config,setup:U.value,onCancel:pe[2]||(pe[2]=()=>U.value=!1),onProceed:G},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-c37fd350"]]),U8={key:1},K8=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",U8,[t.renderSlot(n.$slots,"default")]))}}),q8={key:0},G8={class:"plugin-form-actions"},H8={key:0,class:"button-customize-deck-wrapper"},z8=Re(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0: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"],setup(e,{emit:n}){var nt,gt;const r=t.inject(Jo.KM_2306_CONDITION_FIELD_314,!1),o=t.inject(Jo.KM_2485_CLONED_PLUGINS,!1),i=t.ref(!1);t.provide(Ee.PLUGIN_FORM_LAYOUT_STATE,i);const a=n,s=e,l=Gr.useRouter(),{i18n:{t:c}}=dt.useI18n(),{customSchemas:u,typedefs:f}=dt.useSchemas({app:s.config.app,credential:s.credential,experimentalRenders:s.config.app==="konnect"?s.config.experimentalRenders:void 0}),{formatPluginFieldLabel:d}=dt.usePluginHelpers(),{shouldUseFreeForm:m}=dt.useFreeFormResolver(),{getMessageFromError:p}=Ee.useErrors(),{capitalize:h}=Ee.useStringHelpers(),{objectsAreEqual:g}=Ee.useHelpers(),{axiosInstance:y}=Ee.useAxios((nt=s.config)==null?void 0:nt.axiosRequestConfig),{getClonedPlugin:b}=dt.useCustomPluginApi({axiosInstance:Ee.useAxios({...((gt=s.config)==null?void 0:gt.axiosRequestConfig)??{},konnect:{bypassGlobal404Handler:!0}}).axiosInstance,apiBaseUrl:s.config.apiBaseUrl,app:s.config.app,workspace:s.config.workspace,controlPlaneId:s.config.controlPlaneId}),_=t.ref(!1),C=t.computed(()=>!!s.pluginId),k=t.computed(()=>s.pluginId?Ee.EntityBaseFormType.Edit:Ee.EntityBaseFormType.Create),E=t.ref(void 0),w=t.ref(void 0),x=t.computed(()=>!!(s.credential&&s.config.entityId)),T=t.ref(void 0),M=t.ref({}),v=t.ref(),N=t.ref(),O=t.inject(Jo.KM_2503_CUSTOM_PLUGIN_FREEFORM,!1),B=t.ref(null),A=t.computed(()=>B.value!==null),q=t.computed(()=>A.value&&B.value?B.value:s.pluginType),z=t.computed(()=>{if(s.engine)return s.engine;if(!(!O||!Ce.value))return A.value&&B.value?m(B.value)?"freeform":"vfg":"freeform"});t.provide(ys,{redisType:v,redisPath:N,isEditing:C.value});const Y=t.ref(!1),{isDeckEnabled:K,deckCustomizationOptions:U,deckCalloutPreferenceKey:j}=Ee.useBaseFormDeckOptions(()=>s.config,Ee.SupportedEntityType.Plugin),L=t.ref(!1),G=t.reactive({enabled:!0,protocols:[],tags:[]}),F=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),$=t.ref([{title:c("view_configuration.json"),hash:"#json"},{title:c("view_configuration.yaml"),hash:"#yaml"}]);s.config.app==="konnect"&&$.value.splice(1,0,{title:c("view_configuration.terraform"),hash:"#terraform"}),K.value&&$.value.push({title:c("view_configuration.deck"),hash:"#deck"});const S=t.ref($.value[0].hash),P=t.ref(""),V=t.computed(()=>{var se;if(x.value){let D=ut.form[s.config.app].credential[k.value];return D=D.replace(/{resourceEndpoint}/gi,de.value),D}let be;return s.config.entityType&&s.config.entityId?be=ut.form[s.config.app].edit.forEntity.replace(/{entityType}/gi,s.config.entityType).replace(/{entityId}/gi,s.config.entityId):be=ut.form[s.config.app].edit.all,s.config.app==="konnect"&&((se=tr[s.pluginType])!=null&&se.useUIData)?`${be}?__ui_data=true`:be}),W=()=>{_.value=!_.value},re=t.computed(()=>{var ge,Be,ve,Ze,Qe,we,_e,mt;const be=s.config.entityType==="consumers"&&s.config.entityId||((Be=(ge=T.value)==null?void 0:ge.consumer)==null?void 0:Be.id),se=s.config.entityType==="consumer_groups"&&s.config.entityId||((Ze=(ve=T.value)==null?void 0:ve.consumer_group)==null?void 0:Ze.id),D=s.config.entityType==="services"&&s.config.entityId||((we=(Qe=T.value)==null?void 0:Qe.service)==null?void 0:we.id),le=s.config.entityType==="routes"&&s.config.entityId||((mt=(_e=T.value)==null?void 0:_e.route)==null?void 0:mt.id);if(!(be||se||D||le))return{global:{entity:Q.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const ae={};return D&&(ae.service={entity:Q.PluginScope.SERVICE,entityEndpoint:"services",id:D,idField:jo.SERVICE}),le&&(ae.route={entity:Q.PluginScope.ROUTE,entityEndpoint:"routes",id:le,idField:jo.ROUTE}),be&&(ae.consumer={entity:Q.PluginScope.CONSUMER,entityEndpoint:"consumers",id:be,idField:jo.CONSUMER}),se&&(ae.consumer_group={entity:Q.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:se,idField:jo.CONSUMER_GROUP}),s.config.entityType&&(ae.focusedEntity={entity:Q.PluginScope[s.config.entityType.substring(0,s.config.entityType.length-1).toUpperCase()],entityEndpoint:s.config.entityType,id:s.config.entityId,idField:jo[s.config.entityType.substring(0,s.config.entityType.length-1).toUpperCase()]}),ae}),oe=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||k.value===Ee.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:f.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")}}:{}}),de=t.computed(()=>{var D;const be=s.developer?"developers":"consumers",se=((D=Ni[s.pluginType])==null?void 0:D.endpoint)||"/plugins";return`${be}/${s.config.entityId}${s.developer?"/credentials":""}${se}`}),Ae=be=>{const se=Array.from(new Set(be.map(D=>typeof D)));return se.length>1?"string":se[0]},De=(be,se,D,le)=>{var ve,Ze;let ae=se&&se.fields||[];const ge=u[q.value],Be=(Ze=(ve=Ni[s.pluginType])==null?void 0:ve.schema)==null?void 0:Ze.fields;return Array.isArray(ae)&&(ae=ae.reduce((Qe,we)=>{const _e=Object.keys(we)[0];return _e.match(/-/g)?Qe[_e.replace(/-/g,"_")]={...we[_e],fieldNameHasDashes:!0}:Qe[_e]=we[_e],Qe},{})),Object.keys(ae).sort().forEach(Qe=>{var kt,Bt,Wn,Tt,en,wn,er;const we=ae[Qe];we.type==="set"&&!(m(s.pluginType,z.value)&&we.elements.one_of)&&(we.type="array");const _e=be?`${be}-${Qe}`:`${Qe}`;if((kt=ge==null?void 0:ge.fieldsToDelete)!=null&&kt.includes(_e)){L_(D,_e);return}if(Object.prototype.hasOwnProperty.call(we,"overwrite")||we.hidden)return;if(we.type==="table")return De(_e,we.schema,D);if(we.fields)return le&&we.type==="record"?(D[_e]={type:"object",model:Qe,schema:{fields:Object.values(De(_e,we,{},!0))}},D):De(_e,we,D);if(D[_e]={id:_e,model:Qe},D[_e].type=we.type==="boolean"?"checkbox":"input",D[_e].required=we.required,D[_e].referenceable=we.referenceable,_e.startsWith("config-"))if(!le&&we.type==="array"&&(P.value=_e),le&&P.value&&_e.startsWith(P.value)){const ct=_e.slice(P.value.length+1);D[_e].label=ct.split("-").map(d).join(".")}else D[_e].label=d(_e);if((be==="config"||be.startsWith("config-"))&&(Bt=ae[Qe])!=null&&Bt.description&&(D[_e].help=ql.marked.parse(ae[Qe].description,{mangle:!1,headerIds:!1})),we.type==="map"){if(D[_e].type="object-advanced",D[_e].values=we.values,we.values.type==="array"){const{type:ct}=we.values.elements||{};D[_e].schema={fields:[{schema:{fields:[{...ht,model:_e,valueArrayType:ct==="integer"?"number":ct||"string",inputAttributes:{...ht.inputAttributes,type:ct==="integer"?"number":"text",inputMode:ct==="integer"?"numeric":"text"}}]}}]}}else we.values.fields&&(D[_e].schema={fields:[{type:"object",model:"object",schema:{fields:we.values.fields.map(ct=>{const zt=Object.keys(ct)[0];return{model:zt,type:"input",label:h(zt),placeholder:zt,inputType:ct[zt].type}})}}]});return D}if(we.enum&&we.type==="array"&&(D[_e].type="checklist",D[_e].values=we.enum,D[_e].multi=!0,D[_e].multiSelect=!0),we.one_of&&we.type!=="array"&&(D[_e].type="select",D[_e].values=we.one_of,D[_e].selectOptions={noneSelectedText:c("plugins.form.no_selection")}),we.elements&&we.type==="array"){const ct=we.elements;if(D[_e].referenceable=ct.referenceable,D[_e].elements=ct,["string","integer","number"].includes(ct.type)&&!ct.one_of){const{id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln}=D[_e],{inputAttributes:_o,...Ya}=JSON.parse(JSON.stringify(ht));_o.type=ct.type==="string"?"text":"number",D[_e]={id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln,inputAttributes:_o,...Ya}}else if(["string","integer","number"].includes(ct.type)&&ct.one_of){if(le){const{id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln}=D[_e];D[_e]={id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln,...x8(ct.one_of,we.default)}}}else if(ct.type==="array"){const{id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln,elements:_o}=D[_e],{inputAttributes:Ya,...Kl}=JSON.parse(JSON.stringify(ht));D[_e]={id:zt,help:At,label:Ye,hint:tt,values:Ct,referenceable:Nn,model:ln,elements:_o,inputAttributes:Ya,...Kl}}}if(we.hint&&(D[_e].hint=we.hint),ge&&!ge.overwriteDefault&&Object.keys(ge).forEach(ct=>{if(ct===_e){const{help:zt,label:At,hint:Ye,values:tt,referenceable:Ct,elements:Nn}=D[_e],{help:ln,..._o}=ge[ct];D[_e]={help:zt,label:At,hint:Ye,values:tt,referenceable:Ct,elements:Nn,..._o},typeof ln=="string"&&(D[_e].help=ql.marked.parse(ln,{mangle:!1,headerIds:!1}))}}),we.type==="array"&&((Wn=we.elements)==null?void 0:Wn.type)==="record"&&Array.isArray(we.elements.fields)){let ct={};for(const At of we.elements.fields)ct={...ct,...At};const zt=(wn=(en=(Tt=D[_e])==null?void 0:Tt.items)==null?void 0:en.schema)==null?void 0:wn.fields;if(Array.isArray(zt))for(const At of D[_e].items.schema.fields){const Ye=(er=ct[At.model])==null?void 0:er.description;At.help===void 0&&typeof Ye=="string"&&(At.help=ql.marked.parse(Ye,{mangle:!1,headerIds:!1}))}if(zt||(D[_e].type="array",D[_e].newElementButtonLabelClasses="kong-form-new-element-button-label",D[_e].fieldClasses="array-card-container-wrapper",D[_e].itemContainerComponent="FieldArrayCardContainer",D[_e].items={type:"object",schema:{fields:Object.values(De(_e,we.elements,{},!0))}},D[_e].items.schema.fields.forEach(At=>{var Ye,tt;for(const Ct of we.elements.fields){const Nn=Object.keys(Ct)[0],ln=((tt=(Ye=At.id)==null?void 0:Ye.split)==null?void 0:tt.call(Ye,"-"))??[];if(ln[ln.length-1]===Nn){At.model=Nn,At.label=d(Nn);break}}}),we.elements.type==="record"&&(D[_e].nestedFields=!0)),!D[_e].nestedFields)D[_e].items.default=()=>we.elements.fields.reduce((At,Ye)=>{const tt=Object.keys(Ye)[0];return At[tt]=Ye[tt].default,At},{});else{const At=(Ye,tt)=>{if(Ye.type==="object"){Ye.model&&(tt[Ye.model]={});for(const Ct of Ye.schema.fields)At(Ct,Ye.model?tt[Ye.model]:tt)}else Ye.model&&(tt[Ye.model]=Ye.default)};D[_e].items.default=()=>{const Ye={};return At(D[_e].items,Ye),Ye}}}if(x.value&&Be){for(let ct=0;ct<Be.length;ct++)if(Be[ct][_e]){D[_e]={...D[_e],...Be[ct][_e]};break}}if(we.required&&we.type!=="boolean"&&(D[_e].required=!0,D[_e].selectOptions={hideNoneSelectedText:!0}),we.required&&we.type==="boolean"&&(D[_e].default=we.default??!1),we.default!=null&&typeof we.default!="object"&&we.default!=="function"&&(D[_e].default=we.default),D[_e].type==="input"){["string","number"].includes(typeof D[_e].default)&&s.config.app==="konnect"&&(D[_e].placeholder=`Default: ${D[_e].default===""?"<empty string>":D[_e].default}`);const{type:ct}=we.elements||{};ct&&(D[_e].valueArrayType=ct==="integer"?"number":ct),D[_e].inputType=we.type==="array"||we.type==="string"?we.encrypted?"password":"text":we.type}let mt="string";we.enum?mt=Ae(we.enum):we.type==="boolean"?mt="boolean":we.type==="number"||we.type==="integer"?(mt="number",D[_e].inputType="number"):we.type==="array"?(mt="array",D[_e].default=we.default,we.len_min>0&&(D[_e].submitWhenNull=!0)):we.type==="foreign"?mt="object":we.default&&Array.isArray(we.default)?(mt="array",D[_e].valueArrayType=Ae(we.default)):we.default&&(mt=typeof we.default),D[_e].valueType=mt,we.fieldNameHasDashes&&(D[_e].fieldNameHasDashes=!0)}),D},ze=()=>{var _e,mt,kt,Bt,Wn,Tt,en,wn,er,ct,zt,At;const be=((_e=tr[s.pluginType])==null?void 0:_e.scope.includes(Q.PluginScope.SERVICE))??!0,se=((mt=tr[s.pluginType])==null?void 0:mt.scope.includes(Q.PluginScope.ROUTE))??!0,D=((kt=tr[s.pluginType])==null?void 0:kt.scope.includes(Q.PluginScope.CONSUMER))??!0,le=s.config.disableConsumerGroupScope?!1:((Bt=tr[s.pluginType])==null?void 0:Bt.scope.includes(Q.PluginScope.CONSUMER_GROUP))??!0,ae=s.config.entityType==="consumers"&&!!s.config.entityId||!!((Tt=(Wn=T.value)==null?void 0:Wn.consumer)!=null&&Tt.id),ge=s.config.entityType==="consumer_groups"&&!!s.config.entityId||!!((wn=(en=T.value)==null?void 0:en.consumer_group)!=null&&wn.id),Be=s.config.entityType==="services"&&!!s.config.entityId||!!((ct=(er=T.value)==null?void 0:er.service)!=null&&ct.id),ve=s.config.entityType==="routes"&&!!s.config.entityId||!!((At=(zt=T.value)==null?void 0:zt.route)!=null&&At.id),Ze=[],Qe=(Ye,tt,Ct)=>Ye?c("plugins.form.disable_source_scope_change",{scope:Ct}):tt?c("plugins.form.disable_data_retrieving",{scope:Ct}):"",we=Ye=>{var tt,Ct;return((Ct=(tt=s.scopedEntitiesPermissions)==null?void 0:tt[Ye])==null?void 0:Ct.canRetrieve)===!1};if(be){const Ye=we("service"),tt="services",Ct=Be&&s.disableScopeSelection;Ze.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:tt,inputValues:{fields:["name","id"]},help:c("plugins.form.scoping.gateway_service.help"),disabled:Ct||Ye,disabledTooltip:Qe(Ct,Ye,tt)})}if(se){const Ye=we("route"),tt="routes",Ct=ve&&s.disableScopeSelection;Ze.push({id:"route-id",model:"route-id",label:c("plugins.form.scoping.route.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:tt,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:c("plugins.form.scoping.route.help"),disabled:Ct||Ye,disabledTooltip:Qe(Ct,Ye,tt)})}if(D){const Ye=we("consumer"),tt="consumers",Ct=ae&&s.disableScopeSelection;Ze.push({model:"consumer-id",label:c("plugins.form.scoping.consumer.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:tt,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:c("plugins.form.scoping.consumer.help"),disabled:Ct||Ye,disabledTooltip:Qe(Ct,Ye,tt)})}if(le){const Ye=we("consumer_group"),tt="consumer_groups",Ct=ge&&s.disableScopeSelection;Ze.push({model:"consumer_group-id",label:c("plugins.form.scoping.consumer_group.label"),placeholder:c("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:tt,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:c("plugins.form.scoping.consumer_group.help"),disabled:Ct||Ye,disabledTooltip:Qe(Ct,Ye,tt)})}if(Ze.length){const Ye=[...be?["service"]:[],...se?["route"]:[],...D?["consumer"]:[],...le?["consumer_group"]:[]],Ct=Ye.splice(Ye.length-2,2).map(ln=>c(ln==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ln}.plural`)).join(`${Ye.length>0?",":""} and/or `),Nn=["Specific",[...Ye.length>0?[Ye.map(ln=>c(ln==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ln}.plural`)).join(", ")]:[],Ct].join(", ")].join(" ");oe.selectionGroup.fields.push({label:c("plugins.form.scoping.label"),description:Nn,fields:[]}),oe.selectionGroup.fields[1].fields=Ze}u[q.value]&&u[q.value].overwriteDefault&&Object.hasOwnProperty.call(u[q.value],"formSchema")&&Object.assign(oe,u[q.value].formSchema)},ue=t.computed(()=>!g(F.fields,G,!0)),pe=t.computed(()=>!ce.value&&!L.value&&(k.value===Ee.EntityBaseFormType.Create||ue.value)),me=t.ref(!1),$e=t.ref(),Ne=be=>{s.credential&&be.password&&(be.password=""),F.fields.id=(be==null?void 0:be.id)||void 0,$e.value=be==null?void 0:be.ordering,Object.assign(G,F.fields),T.value=be,me.value=!0},ke=t.ref({}),Oe=be=>{var se;F.fields=be.model,F.fields.id=((se=T.value)==null?void 0:se.id)||void 0,Object.assign(G,be.originalModel),ke.value=be.data,s.isWizardStep&&a("model-updated",{model:F.fields,data:be.data,resourceEndpoint:de.value})},We=t.ref(new Map),he=t.computed(()=>[F.clientErrorMessage,F.serverErrorMessage].filter(Boolean).join("; ")),X=be=>{be.valid?We.value.delete(be.model):We.value.set(be.model,be.error),F.clientErrorMessage=[...We.value.entries()].map(([se,D])=>`${se}: ${typeof D=="string"?D:p(D)}`).join("; "),F.clientErrorMessage&&(F.serverErrorMessage="")};t.watch([re,me],(be,se)=>{const D=be[0]!==se[0],le=be[1],ae=se[1];if(!x.value&&k.value===Ee.EntityBaseFormType.Edit&&(D||le&&le!==ae)){const ge=De("config",M.value,oe);Ce.value&&(ge._isCustomPlugin=!0),A.value&&B.value&&(ge._sourcePlugin=B.value),v.value&&(ge._supported_redis_partial_type=v.value),w.value=ge}},{deep:!0});const ie=()=>{s.config.cancelRoute?l.push(s.config.cancelRoute):a("cancel")},ne=t.computed(()=>{const be=s.config.entityType&&s.config.entityId&&!s.developer,se=x.value?ut.form[s.config.app].credential[k.value]:ut.form[s.config.app][k.value][be?"forEntity":"all"];let D=`${s.config.apiBaseUrl}${se}`;return s.config.app==="konnect"&&(D=D.replace(/{controlPlaneId}/gi,s.config.controlPlaneId||"")),D=D.replace(/\/{workspace}/gi,s.config.workspace?`/${s.config.workspace}`:""),D=D.replace(/{resourceEndpoint}/gi,de.value),D=D.replace(/{id}/gi,s.pluginId??""),D=D.replace(/{entityType}/gi,s.config.entityType||""),D=D.replace(/{entityId}/gi,s.config.entityId||""),D}),Ce=t.computed(()=>!Object.keys(tr).includes(s.pluginType)),fe=t.computed(()=>{const be=ke.value;if(x.value){for(const se in Q.PluginScope){const D=Q.PluginScope[se];be[D]&&!be[D].id&&(be[D]={id:s.config.entityId})}delete be.created_at}return ke.value.partials&&N.value&&L_(be,N.value),be}),Ve=t.computed(()=>{const{__ui_data:be,...se}={...fe.value};return se}),qe=async()=>{if(!F.clientErrorMessage&&!s.isWizardStep)try{F.isReadonly=!0;let be;const se=JSON.parse(JSON.stringify(fe.value)),D=u[q.value];typeof(D==null?void 0:D.shamefullyTransformPayload)=="function"&&D.shamefullyTransformPayload({originalModel:G,model:F.fields,payload:se,schema:w.value}),k.value==="create"?be=await y.post(ne.value,se):k.value==="edit"&&(be=s.config.app==="konnect"||v.value&&se.partials?await y.put(ne.value,Object.assign({ordering:$e.value},se)):await y.patch(ne.value,se)),Object.assign(G,F.fields),a("update",be==null?void 0:be.data)}catch(be){F.serverErrorMessage=p(be),a("error",be)}finally{F.isReadonly=!1}},Z=t.computed(()=>{var le;const be=x.value?(le=Ni[s.pluginType])==null?void 0:le.schemaEndpoint:s.pluginType,se=x.value?ut.form[s.config.app].credentialSchema:ut.form[s.config.app].pluginSchema;let D=`${s.config.apiBaseUrl}${se}`;return s.config.app==="konnect"&&(D=D.replace(/{controlPlaneId}/gi,s.config.controlPlaneId||"")),D.replace(/\/{workspace}/gi,s.config.workspace?`/${s.config.workspace}`:"").replace(/{plugin}/gi,be)}),ee=t.ref(""),ce=t.ref(!1),ye=t.ref("");t.onBeforeMount(async()=>{var be,se,D,le;ce.value=!0;try{if(x.value&&s.config.app==="konnect"){const ae=(be=Ni[s.pluginType])==null?void 0:be.schemaEndpoint,ge=RN[ae];ee.value=ae,w.value=De("",ge,{}),ce.value=!1}else{const ae=o&&Ce.value,ge=s.schema?Promise.resolve(s.schema):y.get(Z.value).then(ve=>ve.data),[Be]=await Promise.all([ge,ae?Pe(s.pluginType):Promise.resolve()]);if(E.value=Be,Be)if(x.value)w.value=De("",Be,{}),ce.value=!1;else{const ve=Be.fields.find(Qe=>Qe.config);M.value=ve?ve.config:Be,Be.supported_partials&&(v.value=Object.keys(Be.supported_partials).find(Qe=>[Wl.REDIS_CE,Wl.REDIS_EE].includes(Qe)),N.value=(se=Be.supported_partials[v.value])==null?void 0:se[0]),ze();const Ze=(D=Be.fields.find(Qe=>Qe.protocols))==null?void 0:D.protocols;if(Ze){const{default:Qe=[],elements:we={}}=Ze;oe.protocols.default=Qe,oe.protocols.placeholder=s.config.app==="konnect"?c("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:Qe.join(", ")}):c("plugins.form.fields.protocols.placeholder"),(le=we.one_of)!=null&&le.length&&(oe.protocols.values=we.one_of.map(_e=>({label:_e,value:_e})))}if(me.value||k.value===Ee.EntityBaseFormType.Create){const Qe=De("config",M.value,oe);v.value&&(Qe._supported_redis_partial_type=v.value),Ce.value&&(Qe._isCustomPlugin=!0),A.value&&B.value&&(Qe._sourcePlugin=B.value),w.value=Qe}}}}catch(ae){console.error(ae),ye.value=p(ae),a("error:fetch-schema",ae)}finally{ce.value=!1}});async function Pe(be){var se;try{const D=await b(be);B.value=(D==null?void 0:D.ref)??null}catch(D){if(Xa.isAxiosError(D)&&((se=D.response)==null?void 0:se.status)===404)return;throw D}}return(be,se)=>{const D=t.resolveComponent("KSkeleton"),le=t.resolveComponent("KEmptyState"),ae=t.resolveComponent("KButton"),ge=t.resolveComponent("KTabs"),Be=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["kong-ui-entities-plugin-form-container",{"new-form-layout":i.value}])},[ce.value?(t.openBlock(),t.createBlock(D,{key:0,type:"form"})):ye.value?(t.openBlock(),t.createBlock(le,{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(Ee.EntityBaseForm),{key:2,"can-submit":pe.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(Ee.SupportedEntityType).Plugin,"error-message":he.value,"fetch-url":V.value,"form-fields":fe.value,"is-readonly":F.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ie,"onFetch:error":se[4]||(se[4]=ve=>be.$emit("error",ve)),"onFetch:success":Ne,onLoading:se[5]||(se[5]=ve=>be.$emit("loading",ve))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",q8)):(t.openBlock(),t.createBlock(K8,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",G8,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(ae,{key:0,appearance:"tertiary","data-testid":`plugin-${C.value?"edit":"create"}-form-view-configuration`,onClick:se[3]||(se[3]=ve=>W())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(ae,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${C.value?"edit":"create"}-form-cancel`,disabled:F.isReadonly,onClick:ie},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(ae,{appearance:"primary","data-testid":`plugin-${C.value?"edit":"create"}-form-submit`,disabled:!pe.value||F.isReadonly,type:"submit",onClick:qe},{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:qe},null,32),t.createVNode(F8,{config:e.config,credential:x.value,developer:e.developer,editing:k.value===t.unref(Ee.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":s.enableVaultSecretPicker,engine:z.value,"entity-map":re.value,"raw-schema":E.value,record:T.value,schema:w.value,onGlobalAction:se[0]||(se[0]=(ve,Ze)=>be.$emit("globalAction",ve,Ze)),onLoading:se[1]||(se[1]=ve=>L.value=ve),onModelUpdated:Oe,onShowNewPartialModal:se[2]||(se[2]=ve=>be.$emit("showNewPartialModal",ve)),onValidityChange:X},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(Be,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(c)("view_configuration.title"),visible:_.value,onClose:W},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(c)("view_configuration.message")),1),t.createVNode(ge,{modelValue:S.value,"onUpdate:modelValue":se[9]||(se[9]=ve=>S.value=ve),"data-testid":"form-view-configuration-slideout-tabs",tabs:$.value},{json:t.withCtx(()=>[t.createVNode(t.unref(Ee.JsonCodeBlock),{config:e.config,"entity-record":Ve.value,"fetcher-url":ne.value,"request-method":s.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(Ee.YamlCodeBlock),{"deck-callout-preference-key":t.unref(K)?t.unref(j):void 0,"entity-record":Ve.value,"onDeckCallout:clickCta":se[6]||(se[6]=ve=>S.value="#deck")},null,8,["deck-callout-preference-key","entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(Ee.TerraformCodeBlock),{"credential-type":ee.value,"entity-record":Ve.value,"entity-type":t.unref(Ee.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),deck:t.withCtx(()=>[t.unref(U)?(t.openBlock(),t.createElementBlock("div",H8,[t.createVNode(ae,{appearance:"secondary",class:"button-customize-deck",onClick:se[7]||(se[7]=ve=>Y.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(Ee.DeckCodeBlock),{app:e.config.app,"control-plane-name":e.config.app==="konnect"?e.config.controlPlaneName:void 0,"customization-options":t.unref(U),"entity-record":Ve.value,"entity-type":t.unref(Ee.SupportedEntityType).Plugin,"geo-api-server-url":e.config.app==="konnect"?e.config.geoApiServerUrl:void 0,"is-customization-modal-visible":Y.value,"kong-admin-api-url":e.config.app==="kongManager"?e.config.apiBaseUrl:void 0,workspace:e.config.workspace||void 0,onCustomizationClose:se[8]||(se[8]=ve=>Y.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-0667eeb2"]]),W8={class:"kong-ui-entities-plugins-list"},Y8={class:"button-row"},J8={class:"name-cell-wrapper"},X8={class:"info-wrapper"},Z8={key:0,class:"info-name"},Q8={key:1,class:"info-name"},eq={key:2,class:"info-type"},tq={key:1},nq=Re(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0: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}){var me,$e;const r=dt.usePluginMetaData(),o=n,i=e,{i18n:{t:a}}=dt.useI18n(),s=Gr.useRouter(),{axiosInstance:l}=Ee.useAxios((me=i.config)==null?void 0:me.axiosRequestConfig),{hasRecords:c,handleStateChange:u}=Ee.useTableState(()=>C.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),d=t.computed(()=>!!i.config.entityId),m=t.computed(()=>{var Ne;return((Ne=i.config)==null?void 0:Ne.entityType)==="consumers"}),p=t.computed(()=>{var Ne;return((Ne=i.config)==null?void 0:Ne.entityType)==="consumer_groups"}),h=i.config.app==="konnect"||Ee.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),g=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),y={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};($e=i.config)!=null&&$e.entityId||(y.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),y.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(y.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),y.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const b=y,_=t.computed(()=>{var ke,Oe,We,he;let Ne=i.config.entityType?`${i.config.apiBaseUrl}${ut.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${ut.list[i.config.app].all}`;return i.config.app==="konnect"&&(Ne=Ne.replace(/{controlPlaneId}/gi,((ke=i.config)==null?void 0:ke.controlPlaneId)||"")),Ne.replace(/\/{workspace}/gi,(Oe=i.config)!=null&&Oe.workspace?`/${i.config.workspace}`:"").replace(/{entityType}/gi,((We=i.config)==null?void 0:We.entityType)||"").replace(/{entityId}/gi,((he=i.config)==null?void 0:he.entityId)||"")}),C=t.ref(""),k=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:y.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:{...y.enabled,label:a("search.filter.field.enabled")},name:y.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:E,fetcherState:w,fetcherCacheKey:x}=Ee.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),_),T=()=>{C.value=""},M=()=>{x.value++},v=t.ref(null),N=Ne=>{var Oe,We,he,X;const ke=[];return((Oe=Ne.route)!=null&&Oe.id||Ne.route_id)&&ke.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((We=Ne.service)!=null&&We.id||Ne.service_id)&&ke.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((he=Ne.consumer)!=null&&he.id||Ne.consumer_id)&&ke.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((X=Ne.consumer_group)!=null&&X.id||Ne.consumer_group_id)&&ke.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),ke.length?ke:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},O=async(Ne,ke)=>{var Oe;return Ne===null?!1:await((Oe=i.canRetrieveScopedEntity)==null?void 0:Oe.call(i,Ne,ke.id))},B=(Ne,ke)=>{var We,he,X,ie,ne;let Oe=null;switch(Ne){case"route":Oe=(We=ke.route)==null?void 0:We.id;break;case"service":Oe=(he=ke.service)==null?void 0:he.id;break;case"consumer":Oe=(X=ke.consumer)==null?void 0:X.id;break;case"consumer_group":Oe=(ie=ke.consumer_group)==null?void 0:ie.id;break}Oe&&((ne=i.config)!=null&&ne.getScopedEntityViewRoute)&&s.push(i.config.getScopedEntityViewRoute(Ne,Oe))},A=t.ref(!1),q=t.ref(null),z=t.computed(()=>{const Ne={action:"disable",id:"",name:""};if(q.value){const{enabled:ke,id:Oe,name:We}=q.value;Ne.action=ke?"disable":"enable",Ne.id=Oe,Ne.name=r.getDisplayName(We)||Oe}return Ne}),Y=Ne=>{A.value=!0,q.value=Ne},K=()=>{A.value=!1,q.value=null},U=async()=>{var We,he,X,ie,ne,Ce,fe,Ve;if(!await((We=i.canEdit)==null?void 0:We.call(i,q.value))||!q.value)return;let ke=`${i.config.apiBaseUrl}${(ne=ut.item[i.config.app])==null?void 0:ne[(he=i.config)!=null&&he.entityType?"forEntity":"all"].replace(/{entityType}/gi,((X=i.config)==null?void 0:X.entityType)||"").replace(/{entityId}/gi,((ie=i.config)==null?void 0:ie.entityId)||"")}`.replace(/{id}/gi,q.value.id||"");i.config.app==="konnect"&&(ke=ke.replace(/{controlPlaneId}/gi,((Ce=i.config)==null?void 0:Ce.controlPlaneId)||"")),ke=ke.replace(/\/{workspace}/gi,(fe=i.config)!=null&&fe.workspace?`/${i.config.workspace}`:"");const Oe=!q.value.enabled;try{const qe=(Ve=i.config)==null?void 0:Ve.app;let Z;C.value&&qe==="konnect"&&(Z=await l.get(ke));const{data:ee}=qe==="konnect"?await l.put(ke,{...(Z==null?void 0:Z.data)||q.value,enabled:Oe},{timeout:12e4}):await l.patch(ke,{...q.value,enabled:Oe},{timeout:12e4});o("toggle-enabled",Oe,ee),q.value.enabled=Oe}catch(qe){o("error",qe)}},j=async(Ne,ke)=>{const Oe=Ne.id;if(!await ke(Oe)){o("copy:error",{entity:Ne,field:"id",message:a("errors.copy")});return}o("copy:success",{entity:Ne,field:"id",message:a("copy.success",{val:Oe})})},L=async(Ne,ke)=>{const Oe=JSON.stringify(Ne);if(!await ke(Oe)){o("copy:error",{entity:Ne,message:a("errors.copy")});return}o("copy:success",{entity:Ne,message:a("copy.success_brief")})},G=async Ne=>{var Oe;await((Oe=i.canRetrieve)==null?void 0:Oe.call(i,Ne))&&s.push(i.config.getViewRoute(Ne))},F=Ne=>({label:a("actions.view"),to:i.config.getViewRoute(Ne)}),$=Ne=>({label:a("actions.edit"),to:i.config.getEditRoute(Ne)}),S=Ne=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(Ne)}),P=t.ref(void 0),V=t.ref(!1),W=t.ref(!1),re=t.ref(""),oe=Ee.useDeleteUrlBuilder(i.config,_.value),de=Ne=>{P.value=Ne,V.value=!0},Ae=()=>{V.value=!1},De=async()=>{var Ne,ke,Oe;if((Ne=P.value)!=null&&Ne.id){W.value=!0;try{await l.delete(oe(P.value.id)),W.value=!1,V.value=!1,x.value++,o("delete:success",P.value)}catch(We){re.value=((Oe=(ke=We.response)==null?void 0:ke.data)==null?void 0:Oe.message)||We.message||a("errors.delete"),o("error",We)}finally{W.value=!1}}},ze=()=>{s.push(i.config.createRoute)};t.watch(w,Ne=>{var ke,Oe,We;if(Ne.status===Ee.FetcherStatus.Error){v.value={title:a("errors.general")},(We=(Oe=(ke=Ne.error)==null?void 0:ke.response)==null?void 0:Oe.data)!=null&&We.message&&(v.value.message=Ne.error.response.data.message),o("error",Ne.error);return}v.value=null});const ue=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")}),pe=t.ref(!1);return t.onBeforeMount(async()=>{pe.value=await i.canCreate(),pe.value&&(ue.value.title=a("plugins.list.empty_state.title"),ue.value.ctaText=a("actions.create"))}),(Ne,ke)=>{const Oe=t.resolveComponent("KButton"),We=t.resolveComponent("KEmptyState"),he=t.resolveComponent("KBadge"),X=t.resolveComponent("KTruncate"),ie=t.resolveComponent("KInputSwitch"),ne=t.resolveComponent("KDropdownItem"),Ce=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",W8,[t.createVNode(t.unref(Ee.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":g.value,"empty-state-options":ue.value,"enable-entity-actions":"","error-message":v.value,fetcher:t.unref(E),"fetcher-cache-key":t.unref(x),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:C.value,"table-headers":t.unref(b),title:e.title,"title-tag":e.titleTag,onClearSearchInput:T,"onClick:row":ke[4]||(ke[4]=fe=>G(fe)),onSort:M,onState:t.unref(u)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(Ee.EntityFilter),{modelValue:C.value,"onUpdate:modelValue":ke[0]||(ke[0]=fe=>C.value=fe),config:k.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",Y8,[!d.value&&f.value?(t.openBlock(),t.createBlock(Oe,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:ke[1]||(ke[1]=fe=>Ne.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(Oe,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.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:fe})=>[t.createElementVNode("div",J8,[t.createVNode(t.unref(qr.PluginIcon),{class:"plugin-icon",name:fe.name,size:24},null,8,["name"]),t.createElementVNode("div",X8,[fe.instance_name?(t.openBlock(),t.createElementBlock("span",Z8,t.toDisplayString(fe.instance_name),1)):(t.openBlock(),t.createElementBlock("span",Q8,t.toDisplayString(t.unref(r).getDisplayName(fe.name)),1)),fe.instance_name?(t.openBlock(),t.createElementBlock("span",eq,t.toDisplayString(t.unref(r).getDisplayName(fe.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:fe})=>[N(fe).length>0?(t.openBlock(),t.createBlock(X,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(N(fe),Ve=>(t.openBlock(),t.createBlock(t.unref(Ee.PermissionsWrapper),{key:Ve.badgeText,"auth-function":()=>O(Ve.type,fe),"force-show":""},{default:t.withCtx(({isAllowed:qe})=>[t.createVNode(he,{class:t.normalizeClass(qe||"disabled"),onClick:t.withModifiers(Z=>qe&&Ve.type&&B(Ve.type,fe),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Ve.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",tq,"-"))]),enabled:t.withCtx(({row:fe})=>[t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(fe)&&await e.canToggle(fe)),"force-show":""},{default:t.withCtx(({isAllowed:Ve})=>{var qe,Z;return[t.createElementVNode("div",{onClick:ke[3]||(ke[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(ie,{disabled:!Ve,"disabled-tooltip-text":!Ve&&((Z=(qe=e.config).getToggleDisabledTooltip)==null?void 0:Z.call(qe,fe))||void 0,"model-value":fe.enabled,onClick:t.withModifiers(ee=>Ve&&Y(fe),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:fe})=>[t.createVNode(he,{appearance:t.unref(B_)(fe)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(B_)(fe)?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:fe})=>[t.createVNode(t.unref(Ee.TableTags),{tags:fe},null,8,["tags"])]),actions:t.withCtx(({row:fe})=>[t.createVNode(Ce,null,{default:t.withCtx(({copyToClipboard:Ve})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-id",onClick:qe=>j(fe,Ve)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(Ce,null,{default:t.withCtx(({copyToClipboard:Ve})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-json",onClick:qe=>L(fe,Ve)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(fe)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-view","has-divider":"",item:F(fe)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":()=>e.canEdit(fe)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-edit",item:$(fe)},null,8,["item"])]),_:2},1032,["auth-function"]),!m.value&&!p.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(Ee.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(fe)},{default:t.withCtx(()=>[S(fe)?(t.openBlock(),t.createBlock(ne,{key:0,"data-testid":"action-entity-config-dyn-order",item:S(fe)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(Ee.PermissionsWrapper),{"auth-function":()=>e.canDelete(fe)},{default:t.withCtx(()=>[t.createVNode(ne,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:Ve=>de(fe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!C.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var fe;return[t.createVNode(We,{"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(Ie.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[pe.value?(t.openBlock(),t.createBlock(Oe,{key:0,"data-testid":"entity-create-button",onClick:ze},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(Oe,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:ke[2]||(ke[2]=Ve=>Ne.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(fe=e.config)!=null&&fe.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(Ee.EntityToggleModal),{action:z.value.action,"entity-id":z.value.id,"entity-name":z.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":U,visible:A.value,onCancel:K,onProceed:K},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(Ee.EntityDeleteModal),{"action-pending":W.value,description:t.unref(a)("delete.description"),"entity-name":P.value&&(P.value.instance_name||P.value.name||P.value.id),"entity-type":t.unref(Ee.EntityTypes).Plugin,error:re.value,title:t.unref(a)("delete.title"),visible:V.value,onCancel:Ae,onProceed:De},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-88f8302b"]]),rq={class:"plugin-select-card-wrapper"},oq=["data-testid"],iq={class:"plugin-card-header"},aq={class:"plugin-card-title"},sq={key:0,class:"plugin-card-actions"},lq=["data-testid","title"],cq={key:0,class:"plugin-card-text"},uq={key:0,class:"custom-plugin-badges"},dq=["title"],gm=Re(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{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=Gr.useRouter(),{i18n:{t:a}}=dt.useI18n(),s=t.computed(()=>o.plugin.customPluginType==="cloned"&&o.plugin.clonedFromRef?o.plugin.clonedFromRef:o.plugin.id),l=t.computed(()=>!y.value||g.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)),u=t.computed(()=>typeof o.config.getCustomEditRoute=="function"),f=t.computed(()=>!(o.config.app==="kongManager"&&o.plugin.customPluginType==="schema")),d=t.computed(()=>!!(y.value&&!g.value&&f.value&&o.navigateOnClick&&(o.canDeleteCustomPlugin||o.canEditCustomPlugin&&u.value))),m=()=>{i.push(o.config.getCreateRoute(o.plugin.id))},p=()=>{o.navigateOnClick?m():h()},h=()=>{r("plugin-clicked",o.plugin)},g=t.computed(()=>o.plugin.id==="custom-plugin-create"),y=t.computed(()=>o.plugin.group===Q.PluginGroup.CUSTOM_PLUGINS),b=()=>{y.value&&r("custom-plugin-delete")},_=(k,E)=>{const w=o.config;typeof w.getCustomEditRoute=="function"&&i.push(w.getCustomEditRoute(k,E))},C=()=>{if(!c.value&&y.value){const k=o.config;g.value&&k.createCustomRoute?i.push(k.createCustomRoute):y.value&&m()}};return(k,E)=>{const w=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),T=t.resolveComponent("KDropdownMenu"),M=t.resolveComponent("KBadge"),v=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",rq,[t.createVNode(v,{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:E[1]||(E[1]=N=>c.value||y.value?void 0:p())},[t.createElementVNode("div",iq,[t.createElementVNode("div",aq,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!y.value})},t.toDisplayString(e.plugin.name),3)]),d.value?(t.openBlock(),t.createElementBlock("div",sq,[t.createVNode(T,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(w,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{size:t.unref(gr)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canEditCustomPlugin&&u.value?(t.openBlock(),t.createBlock(x,{key:0,"data-testid":"edit-plugin-schema",onClick:E[0]||(E[0]=t.withModifiers(N=>_(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(x,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(b,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":y.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:C},[t.createVNode(t.unref(qr.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",cq,[l.value.length?(t.openBlock(),t.createElementBlock("div",uq,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,N=>(t.openBlock(),t.createBlock(M,{key:N,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N),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,dq)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,lq),t.createElementVNode("div",{class:"plugin-card-footer",onClick:C},t.toDisplayString(g.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,oq)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-44af053f"]]),du=Re(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var p;const r=e,o=n,{i18n:{t:i}}=dt.useI18n(),{getMessageFromError:a}=Ee.useErrors(),{axiosInstance:s}=Ee.useAxios((p=r.config)==null?void 0:p.axiosRequestConfig),l=t.computed(()=>{var h;return f.value?i("delete.plugin_schema_in_use_title"):i("delete.title",{name:((h=r.plugin)==null?void 0:h.name)||i("delete.custom_plugin")})}),c=t.ref(!1),u=t.ref(""),f=t.ref(!1),d=t.computed(()=>{const h=r.plugin.customPluginType;if(r.config.app==="konnect"){const g=h==="streaming"?ut.select[r.config.app].streamingCustomPluginItem:h==="cloned"?ut.customPlugin[r.config.app].cloned.edit:ut.select[r.config.app].schemaCustomPluginItem;return`${r.config.apiBaseUrl}${g}`.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"").replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{pluginId}/gi,r.plugin.id)}if(r.config.app==="kongManager"&&h&&h!=="schema"){const g=h==="cloned"?ut.customPlugin[r.config.app].cloned.edit:ut.customPlugin[r.config.app].streamed.edit;return`${r.config.apiBaseUrl}${g}`.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{pluginId}/gi,r.plugin.id)}return null}),m=async()=>{var h;if(c.value=!0,u.value="",!((h=r.plugin)!=null&&h.name)){c.value=!1;return}try{d.value&&await s.delete(d.value),o("proceed")}catch(g){Pk(g)?f.value=!0:u.value=a(g)}finally{c.value=!1}};return(h,g)=>{const y=t.resolveComponent("KAlert"),b=t.resolveComponent("KButton"),_=t.resolveComponent("KModal");return!f.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(Ee.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(Ee.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:l.value,visible:"",onCancel:g[0]||(g[0]=C=>h.$emit("closed")),onProceed:m},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:g[2]||(g[2]=C=>h.$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(b,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=C=>h.$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-7ba7e59a"]]),fq={class:"custom-plugins-grid"},pq={class:"empty-state-title"},mq={class:"empty-state-description"},ym=310,hq=Re(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{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}}=dt.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:s}=dt.usePluginHelpers(),l=t.ref(!0),c=E=>{o("plugin-clicked",E)},u=t.computed(()=>{const E=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(E):E}),f=t.ref(!1),d=t.ref(null),m=E=>{f.value=!0,d.value={id:E.id,name:E.name,customPluginType:E.customPluginType}},p=E=>{var w;E&&(o("revalidate"),o("delete:success",((w=d.value)==null?void 0:w.name)||"")),f.value=!1,d.value=null},h=t.ref(ym),g=t.ref(null),y=t.ref(null),b=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${h.value}px`}:{}),_=t.ref(!1),C=()=>{h.value=Math.max(a(y.value),ym),k()},k=()=>{var E,w;(E=y.value)!=null&&E.length&&(_.value=s(g.value,(w=y.value)==null?void 0:w.length))};return t.onMounted(async()=>{await t.nextTick(),h.value=Math.max(a(y.value),ym),k(),window==null||window.addEventListener("resize",C)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",C)}),(E,w)=>{const x=t.resolveComponent("KEmptyState"),T=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",fq,[u.value.length?(t.openBlock(),t.createBlock(T,{key:1,modelValue:l.value,"onUpdate:modelValue":w[0]||(w[0]=M=>l.value=M),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:g,class:"plugin-card-container",style:t.normalizeStyle(b.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,(M,v)=>(t.openBlock(),t.createBlock(gm,{key:`plugin-card-${v}`,ref_for:!0,ref_key:"pluginCardRef",ref:y,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:M,onCustomPluginDelete:N=>m(M),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[_.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(x,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",pq,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",mq,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&d.value?(t.openBlock(),t.createBlock(du,{key:2,config:e.config,plugin:d.value,onClosed:p,onProceed:w[1]||(w[1]=M=>p(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-e1ca63b0"]]),_m=310,$k=Re(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{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}}=dt.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=dt.usePluginHelpers(),c=t.ref(_m),u=t.ref(null),f=t.ref(null),d=t.computed(()=>r.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),m=t.ref(!1),p=t.ref(!1),h=t.ref(null),g=C=>{p.value=!0,h.value={id:C.id,name:C.name,customPluginType:C.customPluginType}},y=C=>{var k;C&&i("delete:success",((k=h.value)==null?void 0:k.name)||""),p.value=!1,h.value=null},b=()=>{c.value=Math.max(s(f.value),_m),_()},_=()=>{var C,k;(C=f.value)!=null&&C.length&&(m.value=l(u.value,(k=f.value)==null?void 0:k.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(s(f.value),_m),_(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(C,k)=>{const E=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(E,{modelValue:r.value,"onUpdate:modelValue":k[0]||(k[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:u,class:"plugin-card-container",style:t.normalizeStyle(d.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.plugins,w=>(t.openBlock(),t.createBlock(gm,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onCustomPluginDelete:x=>g(w),onPluginClicked:x=>i("plugin-clicked",w)},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete","onPluginClicked"]))),128))],4)]),_:2},[m.value?void 0:{name:"trigger",fn:t.withCtx(()=>[k[2]||(k[2]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"]),p.value&&h.value?(t.openBlock(),t.createBlock(du,{key:0,config:e.config,plugin:h.value,onClosed:y,onProceed:k[1]||(k[1]=w=>y(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0970cad5"]]),gq={class:"plugin-select-grid"},yq={class:"empty-state-title"},_q={class:"empty-state-description"},bm=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{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}}=dt.useI18n(),a=t.ref(!1),s=t.ref(af.reduce((u,f)=>(u[f]=!1,u),{})),l=u=>{o("plugin-clicked",u)},c=t.computed(()=>{const u=JSON.parse(JSON.stringify(r.pluginList));return r.config.app==="konnect"&&delete u[Q.PluginGroup.CUSTOM_PLUGINS],u});return(u,f)=>{const d=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",gq,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(d,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",yq,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",_q,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!r.hideHighlightedPlugins&&r.highlightedPlugins.length>0?(t.openBlock(),t.createBlock($k,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=m=>a.value=m),"can-delete-custom-plugin":e.canDeleteCustomPlugin,"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":f[1]||(f[1]=m=>o("delete:success",m)),onPluginClicked:f[2]||(f[2]=m=>l(m))},null,8,["modelValue","can-delete-custom-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(af),m=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[m]?(t.openBlock(),t.createElementBlock("div",{key:m},[t.createVNode($k,{modelValue:s.value[m],"onUpdate:modelValue":p=>s.value[m]=p,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,name:m,"navigate-on-click":e.navigateOnClick,plugins:c.value[m]||[],"onDelete:success":f[3]||(f[3]=p=>o("delete:success",p)),onPluginClicked:f[4]||(f[4]=p=>l(p))},null,8,["modelValue","onUpdate:modelValue","can-delete-custom-plugin","can-edit-custom-plugin","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),bq={class:"kong-ui-entities-plugin-select-form"},wq={class:"plugins-filter-input-container"},kq={key:0},Cq={key:3,"aria-live":"polite",class:"plugins-results-container"},Eq={"data-testid":"kong-tab"},Nq={class:"tab-description"},xq={"data-testid":"custom-tab"},Sq={class:"tab-description"},Aq={key:1},vq=Re(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0: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},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},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}){var We;const r=e,o=n,i=Gr.useRoute(),a=Gr.useRouter(),{i18n:{t:s}}=dt.useI18n(),{pluginMetaData:l}=dt.usePluginMetaData(),{getMessageFromError:c}=Ee.useErrors(),{sortAlpha:u,objectsAreEqual:f}=Ee.useHelpers(),d=t.ref(""),m=t.ref(!0),p=t.ref(!1),h=t.ref(""),g=t.ref(""),y=t.ref([]),b=t.ref([]),_=t.ref([]),C=t.ref({}),k=t.ref([]),E=t.ref(null),w=t.ref(!1),{axiosInstance:x}=Ee.useAxios((We=r.config)==null?void 0:We.axiosRequestConfig),T=he=>he==="none"||he==="disabled"?new Set:new Set(Array.isArray(he)?he:[he]),M=t.computed(()=>T(r.customPluginSupport)),v=t.computed(()=>[...M.value].sort().join("|")),N=t.computed(()=>r.customPluginSupport==="disabled"),O=t.computed(()=>N.value||M.value.size>0),B=t.computed(()=>M.value.has("streaming")),A=t.computed(()=>M.value.has("cloned")),q=t.computed(()=>r.config.app==="kongManager"&&O.value&&!N.value&&me.value&&r.navigateOnClick&&!!r.config.createCustomRoute),z=he=>Xa.isAxiosError(he)&&he.code==="ERR_CANCELED",Y=he=>c(he).toLowerCase().includes("requires a license"),K=t.computed(()=>C.value?Object.entries(C.value).filter(([he])=>he!==Q.PluginGroup.CUSTOM_PLUGINS).reduce((he,[,X])=>{for(const ie of X??[])he[ie.id]=ie;return he},{}):{}),U=t.computed(()=>({id:"custom-plugin-create",name:s("plugins.select.tabs.custom.create.name"),nameKey:"plugins.select.tabs.custom.create.name",description:s("plugins.select.tabs.custom.create.description"),descriptionKey:"plugins.select.tabs.custom.create.description",available:!0,group:Q.PluginGroup.CUSTOM_PLUGINS,scope:[]})),j=t.computed(()=>{var ie;if(!C.value)return{};const he=d.value.toLowerCase(),X=JSON.parse(JSON.stringify(C.value));for(const ne in C.value){const Ce=((ie=C.value[ne])==null?void 0:ie.filter(fe=>{var Ve,qe;return fe.name.toLowerCase().includes(he)||fe.id.toLowerCase().includes(he)||fe.group.toLowerCase().includes(he)||((Ve=fe.clonedFromRef)==null?void 0:Ve.toLowerCase().includes(he))||((qe=fe.customPluginType)==null?void 0:qe.toLowerCase().includes(he))}))||[];Ce.length?X[ne]=Ce:delete X[ne]}if(q.value&&!he){const ne=(X[Q.PluginGroup.CUSTOM_PLUGINS]||[]).filter(Ce=>Ce.id!==U.value.id);X[Q.PluginGroup.CUSTOM_PLUGINS]=[U.value,...ne]}return X}),L=t.computed(()=>r.highlightedPluginIds.reduce((he,X)=>{const ie=K.value[X];return ie&&he.push(ie),he},[])),G=t.computed(()=>Object.keys(j.value).length>0),F=t.computed(()=>Object.keys(C.value).length>0&&!G.value),$=t.computed(()=>r.config.app!=="konnect"||!O.value?[]:[{hash:"#kong",title:s("plugins.select.tabs.kong.title")},{hash:"#custom",title:s("plugins.select.tabs.custom.title"),disabled:N.value}]),S=t.computed(()=>{var X;let he=$.value.length&&((i==null?void 0:i.hash)||((X=$.value[0])==null?void 0:X.hash))||"";return he==="#custom"&&N.value&&(he="#kong"),he}),P=()=>{const he=new Map(_.value.map(ne=>[ne.name,ne])),X=new Set(b.value.map(ne=>ne.name)),ie=new Set([...X,...he.keys()]);return[...new Set([...Object.keys({...r.availableOnServer?{}:l}),...y.value,...ie])].filter(ne=>!r.ignoredPlugins.includes(ne)).filter(ne=>{if(!r.config.entityType)return ne;const Ce=he.has(ne)?he.get(ne).ref:ne;return r.config.entityType==="services"&&l[Ce]&&!l[Ce].scope.includes(Q.PluginScope.SERVICE)||r.config.entityType==="routes"&&l[Ce]&&!l[Ce].scope.includes(Q.PluginScope.ROUTE)||r.config.entityType==="consumer_groups"&&l[Ce]&&!l[Ce].scope.includes(Q.PluginScope.CONSUMER_GROUP)||r.config.entityType==="consumers"&&l[Ce]&&!l[Ce].scope.includes(Q.PluginScope.CONSUMER)?!1:ne}).reduce((ne,Ce)=>{var ye;const fe=l[Ce]&&l[Ce].name||Ce,Ve=he.get(Ce),qe=X.has(Ce),Z={...l[Ce],id:Ce,name:fe,available:y.value.includes(Ce)||!!Ve||qe,disabledMessage:"",group:((ye=l[Ce])==null?void 0:ye.group)||Q.PluginGroup.CUSTOM_PLUGINS};Z.group===Q.PluginGroup.CUSTOM_PLUGINS&&(Ve?(Z.customPluginType="cloned",Z.clonedFromRef=Ve.ref):qe?Z.customPluginType="streaming":Z.customPluginType="schema"),r.disabledPlugins&&(Z.disabledMessage=r.disabledPlugins[Ce]);const ee=Z.group||s("plugins.select.misc_plugins");let ce=ne[ee];return ce||(ce=[]),ce.push(Z),ce.sort(u("name")),ne[ee]=ce,ne},{})},V=he=>{if(!q.value)return he;const ie=(he[Q.PluginGroup.CUSTOM_PLUGINS]||[]).filter(ne=>ne.id!=="custom-plugin-create");return he[Q.PluginGroup.CUSTOM_PLUGINS]=[U.value,...ie],he},W=()=>V(P()),re=t.computed(()=>{var X;let he=`${r.config.apiBaseUrl}${ut.select[r.config.app].availablePlugins}`;if(r.config.app==="konnect")he=he.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"");else if(r.config.app==="kongManager"&&((X=r.config.gatewayInfo)==null?void 0:X.edition)==="community")return`${r.config.apiBaseUrl}${ut.select[r.config.app].availablePluginsForOss}`;return he.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}),oe=t.computed(()=>{if(B.value){let he=`${r.config.apiBaseUrl}${ut.select[r.config.app].streamingCustomPlugins}`;return r.config.app==="konnect"&&(he=he.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"")),he.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}return null}),de=t.computed(()=>{if(A.value){let he=`${r.config.apiBaseUrl}${ut.select[r.config.app].clonedPlugins}`;return r.config.app==="konnect"&&(he=he.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"")),he.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")}return null}),Ae=t.computed(()=>{if(r.config.entityType&&r.config.entityId){let he=`${r.config.apiBaseUrl}${ut.list[r.config.app].forEntity}`;return r.config.app==="konnect"&&(he=he.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||"")),he.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"").replace(/{entityType}/gi,r.config.entityType||"").replace(/{entityId}/gi,r.config.entityId||"")}return""}),De=he=>{a.replace({hash:he,query:i.query})};t.watch(()=>r.disabledPlugins,(he,X)=>{!f(he,X)&&!m.value&&(C.value=W())}),t.watch(()=>r.ignoredPlugins,(he,X)=>{!f(he,X)&&!m.value&&(C.value=W())}),t.watch(m,he=>{o("loading",he)});const ze=async he=>{if(!Ae.value){k.value=[];return}try{const{data:{data:X}}=await x.get(Ae.value,{signal:he});X!=null&&X.length&&(k.value=X.reduce((ie,ne)=>(ne.name&&ie.push(ne.name),ie),[]))}catch(X){z(X)||(k.value=[])}},ue=async he=>{const X=[];oe.value&&X.push(Bk(x,oe.value,he).then(ie=>{b.value=ie}).catch(ie=>{z(ie)||g.value||(g.value=c(ie)??s("plugins.select.tabs.custom.fetch_error"))})),de.value&&X.push(Bk(x,de.value,he).then(ie=>{_.value=ie}).catch(ie=>{if(z(ie))return;const ne=Y(ie);(ne||!g.value)&&(g.value=ne?s("plugins.select.tabs.custom.license_required"):c(ie)??s("plugins.select.tabs.custom.fetch_error"))})),X.push(ze(he)),await Promise.allSettled(X)},pe=async()=>{var he,X;(he=E.value)==null||he.abort(),E.value=new AbortController,m.value=!0,p.value=!1,h.value="",g.value="",y.value=[],b.value=[],_.value=[],k.value=[];try{const{data:ie}=await x.get(re.value,{signal:E.value.signal});if(r.config.app==="konnect"){const{names:ne}=ie;y.value=ne||[]}else if(r.config.app==="kongManager"){const{plugins:{available_on_server:ne}}=ie;y.value=ne?Object.keys(ne):[]}await ue(E.value.signal),C.value=W()}catch(ie){z(ie)||(p.value=!0,h.value=c(ie))}finally{(X=E.value)!=null&&X.signal.aborted||(m.value=!1)}},me=t.ref(!1),$e=t.ref(!1),Ne=t.ref(!1),ke=he=>{b.value=b.value.filter(X=>X.name!==he),_.value=_.value.filter(X=>X.name!==he),C.value=W(),o("delete-custom:success",he)};t.onBeforeMount(async()=>{me.value=await r.canCreateCustomPlugin(),$e.value=await r.canEditCustomPlugin(),Ne.value=await r.canDeleteCustomPlugin()});const Oe=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var he,X;w.value=!0,(X=(he=Oe.value)==null?void 0:he.input)==null||X.focus(),await pe()}),t.watch(()=>{var he;return[r.config.app==="konnect"?r.config.controlPlaneId:void 0,r.config.workspace,r.config.entityType,r.config.entityId,r.config.app==="kongManager"?(he=r.config.gatewayInfo)==null?void 0:he.edition:void 0,v.value,N.value]},async()=>{w.value&&await pe()}),t.watch(q,()=>{m.value||(C.value=W())}),t.onBeforeUnmount(()=>{var he;(he=E.value)==null||he.abort()}),(he,X)=>{const ie=t.resolveComponent("KInput"),ne=t.resolveComponent("KSkeletonBox"),Ce=t.resolveComponent("KSkeleton"),fe=t.resolveComponent("KEmptyState"),Ve=t.resolveComponent("KTooltip"),qe=t.resolveComponent("KAlert"),Z=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",bq,[t.createElementVNode("div",wq,[t.createVNode(ie,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":X[0]||(X[0]=ee=>d.value=ee),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),m.value?(t.openBlock(),t.createElementBlock("section",kq,[t.createVNode(ne,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Ce,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):p.value?(t.openBlock(),t.createBlock(fe,{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})):F.value&&d.value?(t.openBlock(),t.createBlock(fe,{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:d.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",Cq,[$.value.length?(t.openBlock(),t.createBlock(Z,{key:0,modelValue:S.value,"onUpdate:modelValue":X[3]||(X[3]=ee=>S.value=ee),"data-testid":"plugins-tabs",tabs:$.value,onChange:De},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",Eq,[t.createElementVNode("p",Nq,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(bm,{"can-delete-custom-plugin":Ne.value,"can-edit-custom-plugin":$e.value,config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":L.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":j.value,"onDelete:success":ke,onPluginClicked:X[1]||(X[1]=ee=>he.$emit("plugin-clicked",ee))},null,8,["can-delete-custom-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",xq,[t.renderSlot(he.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",Sq,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),g.value?(t.openBlock(),t.createBlock(qe,{key:0,appearance:"warning",class:"custom-plugins-warning",message:g.value},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(hq,{"can-create-custom-plugin":me.value,"can-delete-custom-plugin":Ne.value,"can-edit-custom-plugin":$e.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":j.value,"onDelete:success":ke,onPluginClicked:X[2]||(X[2]=ee=>he.$emit("plugin-clicked",ee))},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[N.value?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(Ve,{"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",Aq,[g.value?(t.openBlock(),t.createBlock(qe,{key:0,appearance:"warning",class:"custom-plugins-warning",message:g.value},null,8,["message"])):t.createCommentVNode("",!0),t.createVNode(bm,{"can-delete-custom-plugin":Ne.value,"can-edit-custom-plugin":$e.value,config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":L.value,"highlighted-plugins-title":r.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":j.value,"onDelete:success":ke,onPluginClicked:X[4]||(X[4]=ee=>he.$emit("plugin-clicked",ee))},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])]))]))])}}}),[["__scopeId","data-v-dc270cfe"]]),Iq={class:"plugin-select-card-wrapper","data-testid":"plugin-catalog-card-wrapper"},Tq={class:"plugin-card-header"},Oq={class:"plugin-card-title"},Bq={key:0,class:"plugin-card-actions"},Pq=["data-testid","title"],Vq={key:0},Rq={key:0,class:"custom-plugin-badges"},$q=["title"],Lq={class:"plugin-card-footer"},Dq=Re(t.defineComponent({__name:"PluginCatalogCard",props:{config:{},plugin:{}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const r=n,o=e,i=Gr.useRouter(),{i18n:{t:a}}=dt.useI18n(),s=t.computed(()=>o.config.app==="konnect"?o.config.controlPlaneId:""),l=t.computed(()=>!m.value||d.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)),u=t.computed(()=>!!(m.value&&!d.value&&s.value)),f=t.computed(()=>{if(c.value)return{};if(m.value){const g=o.config;if(d.value&&g.createCustomRoute)return g.createCustomRoute}return o.config.getCreateRoute(o.plugin.id)}),d=t.computed(()=>o.plugin.id==="custom-plugin-create"),m=t.computed(()=>o.config.app==="konnect"&&o.plugin.group===Q.PluginGroup.CUSTOM_PLUGINS),p=()=>{o.config.app==="konnect"&&r("custom-plugin-delete")},h=(g,y)=>{const b=o.config;o.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&i.push(b.getCustomEditRoute(g,y))};return(g,y)=>{const b=t.resolveComponent("KButton"),_=t.resolveComponent("KDropdownItem"),C=t.resolveComponent("KDropdownMenu"),k=t.resolveComponent("KBadge"),E=t.resolveComponent("RouterLink"),w=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Iq,[t.createVNode(w,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createVNode(E,{class:t.normalizeClass(["plugin-select-card",{disabled:c.value}]),"data-testid":`${e.plugin.id}-card`,to:f.value},{default:t.withCtx(()=>[t.createElementVNode("div",Tq,[t.createElementVNode("div",Oq,[t.createVNode(t.unref(qr.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),u.value?(t.openBlock(),t.createElementBlock("div",Bq,[t.createVNode(C,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150",onClick:y[1]||(y[1]=t.withModifiers(()=>{},["stop","prevent"]))},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{size:t.unref(gr)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[t.createVNode(_,{"data-testid":"edit-plugin-schema",onClick:y[0]||(y[0]=t.withModifiers(x=>h(e.plugin.name,e.plugin.customPluginType),["stop","prevent"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.edit")),1)]),_:1}),t.createVNode(_,{danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(p,["stop","prevent"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:1})]),_: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||l.value.length?(t.openBlock(),t.createElementBlock("div",Vq,[l.value.length?(t.openBlock(),t.createElementBlock("div",Rq,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,x=>(t.openBlock(),t.createBlock(k,{key:x,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(x),1)]),_:2},1024))),128))])):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("div",{key:1,title:e.plugin.description},t.toDisplayString(e.plugin.description),9,$q)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],8,Pq),t.createElementVNode("div",Lq,[t.createElementVNode("div",null,t.toDisplayString(d.value?t.unref(a)("actions.create_custom"):t.unref(a)("actions.configure")),1),t.renderSlot(g.$slots,"footer-extra",{},void 0,!0)])]),_:3},8,["class","data-testid","to"])]),_:3},8,["text"])])}}}),[["__scopeId","data-v-9af003d0"]]),Mq=["data-testid"],jq={class:"group-icon-wrapper"},Fq={class:"group-title-text"},Uq=["data-testid"],Kq=["data-testid"],Lk=Re(t.defineComponent({__name:"PluginCatalogGroup",props:{config:{},name:{},plugins:{},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 Ie.PopularIcon;case Q.PluginGroup.AI:return Ie.BotIcon;case Q.PluginGroup.ANALYTICS_AND_MONITORING:return Ie.AnalyticsIcon;case Q.PluginGroup.AUTHENTICATION:return Ie.LockIcon;case Q.PluginGroup.LOGGING:return Ie.ServiceDocumentIcon;case Q.PluginGroup.MONETIZATION:return Ie.MoneyIcon;case Q.PluginGroup.SECURITY:return Ie.SecurityIcon;case Q.PluginGroup.SERVERLESS:return Ie.RuntimeServerlessIcon;case Q.PluginGroup.TRAFFIC_CONTROL:return Ie.TrafficIcon;case Q.PluginGroup.TRANSFORMATIONS:return Ie.TransformationIcon;case Q.PluginGroup.DEPLOYMENT:return Ie.DeployIcon;case Q.PluginGroup.CUSTOM_PLUGINS:return Ie.CodeblockIcon;default:return null}}),i=n,{i18n:{t:a}}=dt.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 u(){s.value=!0}const f=t.ref(!1),d=t.ref(null),m=h=>{f.value=!0,d.value={id:h.id,name:h.name,customPluginType:h.customPluginType}},p=h=>{var g;h&&(i("revalidate"),i("delete:success",((g=d.value)==null?void 0:g.name)||"")),f.value=!1,d.value=null};return(h,g)=>(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",jq,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.value),{color:t.unref(Ug)},null,8,["color"]))]),t.createElementVNode("span",Fq,t.toDisplayString(e.name),1)],8,Mq)):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,y=>(t.openBlock(),t.createBlock(Dq,{key:`plugin-card-${y.id}`,config:e.config,plugin:y,onCustomPluginDelete:b=>m(y),onPluginClicked:b=>i("plugin-clicked",y)},t.createSlots({_:2},[y.gatewayVersion&&t.unref(vO)(t.unref(Q.GATEWAY_VERSION_TIMESTAMP_MAP)[y.gatewayVersion])?{name:"footer-extra",fn:t.withCtx(()=>[t.createElementVNode("span",{class:"plugin-card-new-badge","data-testid":`plugin-card-${y.id}-new-badge`},t.toDisplayString(t.unref(a)("labels.new")),9,Kq)]),key:"0"}:void 0]),1032,["config","plugin","onCustomPluginDelete","onPluginClicked"]))),128)),c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"show-all-plugin-card",onClick:u},t.toDisplayString(t.unref(a)("plugins.select.show_all")),1)):t.createCommentVNode("",!0)],8,Uq),f.value&&d.value?(t.openBlock(),t.createBlock(du,{key:1,config:e.config,plugin:d.value,onClosed:p,onProceed:g[0]||(g[0]=y=>p(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-f5e0d88b"]]),qq={class:"plugin-select-grid"},Gq={class:"empty-state-title"},Hq={class:"empty-state-description"},zq={key:1},Wq=Re(t.defineComponent({__name:"PluginCatalogGrid",props:{config:{},pluginList:{}},emits:["plugin-clicked","delete:success"],setup(e,{emit:n}){const r=Yl.concat(Jl),o=n,{i18n:{t:i}}=dt.useI18n(),a=s=>{o("plugin-clicked",s)};return(s,l)=>{var u,f;const c=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",qq,[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",Gq,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Hq,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=>{var m;return t.openBlock(),t.createElementBlock(t.Fragment,null,[(m=e.pluginList)!=null&&m[d]?(t.openBlock(),t.createElementBlock("div",{key:d},[t.createVNode(Lk,{config:e.config,name:d,plugins:e.pluginList[d]||[],"onDelete:success":l[0]||(l[0]=p=>o("delete:success",p)),onPluginClicked:l[1]||(l[1]=p=>a(p))},null,8,["config","name","plugins"])])):t.createCommentVNode("",!0)],64)}),256)),(f=(u=e.pluginList)==null?void 0:u["Query Result"])!=null&&f.length?(t.openBlock(),t.createElementBlock("div",zq,[t.createVNode(Lk,{config:e.config,plugins:e.pluginList["Query Result"]||[],"show-all-card":"",onPluginClicked:l[2]||(l[2]=d=>a(d))},null,8,["config","plugins"])])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f8c34698"]]),Yq={class:"plugin-name-cell","data-testid":"plugin-catalog-list-view-name"},Jq=["title"],Xq=["title"],Zq={class:"plugin-action-cell","data-testid":"plugin-catalog-list-view-action"},Qq={key:0,class:"plugin-more-action-cell","data-testid":"plugin-catalog-list-view-more-actions"},eG=Re(t.defineComponent({__name:"PluginCatalogListView",props:{config:{},pluginList:{}},emits:["revalidate","delete:success"],setup(e,{emit:n}){const r=n,o=e,{i18n:{t:i}}=dt.useI18n(),a=t.computed(()=>y.value.some(k=>{var E;return!!((E=k.plugin)!=null&&E.customPluginType)})),s=t.computed(()=>{const k=[{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 a.value&&k.push({key:"more-actions",hideLabel:!0}),k}),l=t.computed(()=>{if(!o.pluginList)return[];const k=Object.values(o.pluginList).flat();return Array.from(new Map(k.map(w=>[w.id,w])).values()).map(w=>({id:w.id,name:w.name,description:w.description,plugin:w}))}),c=t.ref(0),u=t.ref(10),f=t.ref(1),d=t.ref(l.value),m=t.ref(!1),p=t.ref(null),h=k=>{m.value=!0,p.value={id:k.id,name:k.name,customPluginType:k.customPluginType}},g=k=>{var E;k&&(r("revalidate"),r("delete:success",((E=p.value)==null?void 0:E.name)||"")),m.value=!1,p.value=null},y=t.computed(()=>{const k=d.value.length,E=Math.max(1,Math.ceil(k/u.value)),x=(Math.min(f.value,E)-1)*u.value;return d.value.slice(x,x+u.value)});t.watch(l,()=>{d.value=[...l.value],f.value=1,c.value++});const b=({page:k})=>{f.value=k},_=({pageSize:k})=>{u.value=k},C=k=>{const{sortColumnKey:E,sortColumnOrder:w}=k;E==="name"&&(d.value=[...d.value].sort((x,T)=>{const M=(x[E]||"").toLowerCase(),v=(T[E]||"").toLowerCase();return M<v?w==="asc"?-1:1:M>v?w==="asc"?1:-1:0}))};return(k,E)=>{const w=t.resolveComponent("KButton"),x=t.resolveComponent("KDropdownItem"),T=t.resolveComponent("KDropdown"),M=t.resolveComponent("KTableView"),v=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(v,{"data-testid":"plugin-catalog-list-view-card"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(M,{key:c.value,class:"plugin-catalog-table","client-sort":"",data:y.value,"data-testid":"plugin-catalog-list-view-table",headers:s.value,"pagination-attributes":{totalCount:l.value.length,currentPage:f.value,initialPageSize:u.value,pageSizes:[10,25,50]},"resize-columns":"","row-key":"id",onPageChange:b,onPageSizeChange:_,onSort:C},{name:t.withCtx(({row:N})=>[t.createElementVNode("span",Yq,[t.createVNode(t.unref(qr.PluginIcon),{"data-testid":`plugin-catalog-list-view-${N.plugin.id}-icon`,name:N.plugin.id,size:20},null,8,["data-testid","name"]),t.createElementVNode("span",{class:"plugin-name-text","data-testid":"plugin-catalog-list-view-name-text",title:N.name},t.toDisplayString(N.name),9,Jq)])]),description:t.withCtx(({row:N})=>[t.createElementVNode("span",{class:"plugin-description-cell","data-testid":"plugin-catalog-list-view-description",title:N.description},t.toDisplayString(N.description),9,Xq)]),action:t.withCtx(({row:N})=>[t.createElementVNode("div",Zq,[t.createVNode(w,{appearance:"tertiary","data-testid":"plugin-catalog-list-view-configure-btn",size:"small",to:o.config.getCreateRoute(N.id)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.configure")),1)]),_:1},8,["to"])])]),"more-actions":t.withCtx(({row:N})=>{var O;return[(O=N.plugin)!=null&&O.customPluginType?(t.openBlock(),t.createElementBlock("div",Qq,[t.createVNode(T,{appearance:"tertiary",class:"actions-trigger","data-testid":"plugin-catalog-list-view-more-actions-button",icon:"",size:"small"},{items:t.withCtx(()=>{var B,A;return[t.createVNode(x,{"data-testid":"edit-plugin-schema",item:{label:t.unref(i)("actions.edit"),to:(A=(B=e.config).getCustomEditRoute)==null?void 0:A.call(B,N.plugin.name,N.plugin.customPluginType)}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.edit")),1)]),_:1},8,["item"]),t.createVNode(x,{danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:()=>h(N.plugin)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(i)("actions.delete")),1)]),_:1},8,["onClick"])]}),default:t.withCtx(()=>[t.createVNode(t.unref(Ie.MoreIcon),{color:t.unref(Tr),size:t.unref(gr)},null,8,["color","size"])]),_:2},1024)])):t.createCommentVNode("",!0)]}),_:1},8,["data","headers","pagination-attributes"]))]),_:1}),m.value&&p.value?(t.openBlock(),t.createBlock(du,{key:0,config:e.config,plugin:p.value,onClosed:g,onProceed:E[0]||(E[0]=N=>g(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-9d6526b5"]]),tG={class:"plugin-catalog","data-testid":"plugin-catalog"},nG={class:"plugin-filter","data-testid":"plugin-filter"},rG={class:"plugin-filter-title"},oG={class:"featured-title"},iG={class:"plugin-featured-filter"},aG=["data-testid"],sG={class:"group-title"},lG={class:"plugin-type-filter"},cG=["data-testid"],uG={class:"plugins-container"},dG={class:"plugins-filter-input-container"},fG={class:"icon-container"},pG={key:0},mG={key:3,"aria-live":"polite",class:"plugins-results-container"},hG=Re(t.defineComponent({__name:"PluginCatalog",props:{config:{},disabledPlugins:{},highlightedPluginIds:{},customPluginSupport:{},availableOnServer:{type:Boolean,default:!0}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var z;const r=n,{i18n:{t:o}}=dt.useI18n(),{pluginMetaData:i}=dt.usePluginMetaData(),{getMessageFromError:a}=Ee.useErrors(),{sortAlpha:s,objectsAreEqual:l}=Ee.useHelpers(),c=e,{axiosInstance:u}=Ee.useAxios((z=c.config)==null?void 0:z.axiosRequestConfig),f=t.useTemplateRef("filter-input"),d=t.ref(""),m=t.ref(!1),p=t.ref(!1),h=t.ref(Object.fromEntries(Yl.concat(Jl).map(Y=>[Y,!1]))),g=t.ref(!0),y=t.ref(!1),b=t.ref(""),_=t.ref([]),C=t.ref([]),k=t.ref({}),E=t.ref([]),w=t.ref(!1),x=t.computed(()=>w.value?Ie.GridIcon:Ie.ListIcon),T=t.computed(()=>{var K;let Y=`${c.config.apiBaseUrl}${ut.select[c.config.app].availablePlugins}`;if(c.config.app==="konnect")Y=Y.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"");else if(c.config.app==="kongManager"&&((K=c.config.gatewayInfo)==null?void 0:K.edition)==="community")return`${c.config.apiBaseUrl}${ut.select[c.config.app].availablePluginsForOss}`;return Y.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")}),M=t.computed(()=>c.config.app==="konnect"&&c.customPluginSupport==="streaming"?`${c.config.apiBaseUrl}${ut.select[c.config.app].streamingCustomPlugins}`.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"").replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:""):null),v=t.computed(()=>{if(c.config.entityType&&c.config.entityId){let Y=`${c.config.apiBaseUrl}${ut.list[c.config.app].forEntity}`;return c.config.app==="konnect"&&(Y=Y.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||"")),Y.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"").replace(/{entityType}/gi,c.config.entityType||"").replace(/{entityId}/gi,c.config.entityId||"")}return""}),N=t.computed(()=>{var F;if(!k.value)return{};const Y=Object.entries(h.value).filter(([,$])=>$).map(([$])=>$);let K={};Y.length===0&&(K=k.value),Y.forEach($=>{k.value[$]&&(K[$]=k.value[$])});const U=d.value.toLowerCase();if(!U)return K;const j=JSON.parse(JSON.stringify(K));for(const $ in K){const S=((F=K[$])==null?void 0:F.filter(P=>[P.name.toLowerCase(),P.id.toLowerCase()].some(W=>AO(U,W).length===U.length)))||[];S.length?j[$]=S:delete j[$]}const L=Object.values(j).flat().filter($=>!!$),G=Array.from(L.reduce(($,S)=>($.has(S.id)||$.set(S.id,S),$),new Map).values());return G.length?{"Query Result":G}:{}}),O=t.computed(()=>Object.keys(N.value).length>0),B=t.computed(()=>Object.keys(k.value).length>0&&!O.value),A=()=>{Object.keys(h.value).forEach(Y=>{h.value[Y]=!1})},q=()=>{const Y=[...new Set([...Object.keys({...c.availableOnServer?{}:i}),..._.value])].filter(K=>c.config.entityType&&(c.config.entityType==="services"&&i[K]&&!i[K].scope.includes(Q.PluginScope.SERVICE)||c.config.entityType==="routes"&&i[K]&&!i[K].scope.includes(Q.PluginScope.ROUTE)||c.config.entityType==="consumer_groups"&&i[K]&&!i[K].scope.includes(Q.PluginScope.CONSUMER_GROUP)||c.config.entityType==="consumers"&&i[K]&&!i[K].scope.includes(Q.PluginScope.CONSUMER))?!1:K).reduce((K,U)=>{var $;const j=i[U]&&i[U].name||U,L={...i[U],id:U,name:j,available:_.value.includes(U),disabledMessage:"",group:(($=i[U])==null?void 0:$.group)||Q.PluginGroup.CUSTOM_PLUGINS};L.group===Q.PluginGroup.CUSTOM_PLUGINS&&(L.customPluginType=C.value.find(S=>S.name===U)?"streaming":"schema"),c.disabledPlugins&&(L.disabledMessage=c.disabledPlugins[U]);const G=L.group||o("plugins.select.misc_plugins");let F=K[G];return F||(F=[]),F.push(L),F.sort(s("name")),K[G]=F,K},{});if(c.highlightedPluginIds&&c.highlightedPluginIds.length>0){const K=new Set(Object.values(Y).flat().map(j=>j==null?void 0:j.id)),U=c.highlightedPluginIds.flatMap(j=>{var G;const L=i[j];return!L||!K.has(j)?[]:{...L,id:j,name:L.name||j,available:_.value.includes(j),disabledMessage:((G=c.disabledPlugins)==null?void 0:G[j])||"",group:L.group||Q.PluginGroup.CUSTOM_PLUGINS}}).filter(Boolean);U.length>0&&(Y[Q.PluginGroup.FEATURED]=U)}return Y};return t.watch(()=>c.disabledPlugins,(Y,K)=>{!l(Y||{},K||{})&&!g.value&&(k.value=q())}),t.watch(g,Y=>{r("loading",Y)}),t.onMounted(async()=>{var Y,K;(K=(Y=f.value)==null?void 0:Y.input)==null||K.focus();try{const{data:U}=await u.get(T.value);if(c.config.app==="konnect"){const{names:j}=U;if(_.value=j||[],M.value){const{data:L}=await u.get(M.value);C.value=L.data||[]}}else if(c.config.app==="kongManager"){const{plugins:{available_on_server:j}}=U;_.value=j?Object.keys(j):[]}}catch(U){y.value=!0,b.value=a(U)}if(v.value)try{const{data:{data:U}}=await u.get(v.value);if(U!=null&&U.length){const j=U.reduce((L,G)=>(G.name&&L.push(G.name),L),[]);E.value=E.value.concat(j)}}catch{}y.value||(k.value=q()),g.value=!1}),(Y,K)=>{const U=t.resolveComponent("KButton"),j=t.resolveComponent("KCheckbox"),L=t.resolveComponent("KBadge"),G=t.resolveComponent("KCollapse"),F=t.resolveComponent("KInput"),$=t.resolveComponent("KSkeletonBox"),S=t.resolveComponent("KSkeleton"),P=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",tG,[t.createElementVNode("div",nG,[t.createElementVNode("div",rG,[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.select.filter.title"))+" ",1),t.createVNode(U,{appearance:"tertiary",class:"clear-selection","data-testid":"clear-filter-selection",disabled:!Object.values(h.value).some(V=>V),onClick:A},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.select.filter.clear")),1)]),_:1},8,["disabled"])]),t.createVNode(G,{modelValue:m.value,"onUpdate:modelValue":K[0]||(K[0]=V=>m.value=V)},{title:t.withCtx(()=>[t.createElementVNode("div",oG,t.toDisplayString(t.unref(o)("plugins.select.filter.featured")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",iG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Yl),V=>(t.openBlock(),t.createElementBlock("div",{key:V,class:"plugin-filter-item","data-testid":`plugin-filter-item-${V}`},[t.createVNode(j,{modelValue:h.value[V],"onUpdate:modelValue":W=>h.value[V]=W,label:V},null,8,["modelValue","onUpdate:modelValue","label"]),t.createVNode(L,{appearance:"neutral"},{default:t.withCtx(()=>{var W,re;return[t.createTextVNode(t.toDisplayString(((re=(W=k.value)==null?void 0:W[V])==null?void 0:re.length)||0),1)]}),_:2},1024)],8,aG))),128))])]),_:1},8,["modelValue"]),t.createVNode(G,{modelValue:p.value,"onUpdate:modelValue":K[1]||(K[1]=V=>p.value=V)},{title:t.withCtx(()=>[t.createElementVNode("div",sG,t.toDisplayString(t.unref(o)("plugins.select.filter.type")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",lG,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Jl),V=>(t.openBlock(),t.createElementBlock("div",{key:V,class:"plugin-filter-item","data-testid":`plugin-filter-item-${V}`},[t.createVNode(j,{modelValue:h.value[V],"onUpdate:modelValue":W=>h.value[V]=W,"data-testid":`plugin-filter-checkbox-${V}`,label:V},null,8,["modelValue","onUpdate:modelValue","data-testid","label"]),t.createVNode(L,{appearance:"neutral","data-testid":`plugin-filter-count-${V}`},{default:t.withCtx(()=>{var W,re;return[t.createTextVNode(t.toDisplayString(((re=(W=k.value)==null?void 0:W[V])==null?void 0:re.length)||0),1)]}),_:2},1032,["data-testid"])],8,cG))),128))])]),_:1},8,["modelValue"])]),t.createElementVNode("div",uG,[t.createElementVNode("div",dG,[t.createVNode(F,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":K[2]||(K[2]=V=>d.value=V),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",fG,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(x.value),{class:"plugins-filter-icon",color:t.unref(bN),onClick:K[3]||(K[3]=V=>w.value=!w.value)},null,8,["color"]))])]),g.value?(t.openBlock(),t.createElementBlock("section",pG,[t.createVNode($,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(S,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):y.value?(t.openBlock(),t.createBlock(P,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(b.value),1)]),_:1})):B.value&&d.value?(t.openBlock(),t.createBlock(P,{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:d.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",mG,[w.value?(t.openBlock(),t.createBlock(eG,{key:0,config:e.config,"plugin-list":N.value,"onDelete:success":K[4]||(K[4]=V=>Y.$emit("delete-custom:success",V))},null,8,["config","plugin-list"])):(t.openBlock(),t.createBlock(Wq,{key:1,config:e.config,"plugin-list":N.value,"onDelete:success":K[5]||(K[5]=V=>Y.$emit("delete-custom:success",V)),onPluginClicked:K[6]||(K[6]=V=>Y.$emit("plugin-clicked",V))},null,8,["config","plugin-list"]))]))])])}}}),[["__scopeId","data-v-350a0fcc"]]),gG={key:1,class:"datakit-config-card-canvas"},yG={class:"config-card-details-label","data-testid":"datakit-configuration-label"},_G={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},bG={class:"canvas-wrapper"},wG=Re(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{},item:{}},setup(e){const n=t.computed(()=>{var r;return gk.safeParse((r=e.pluginData)==null?void 0:r.config).success});return L0(e.pluginData),(r,o)=>{const i=t.resolveComponent("KLabel");return n.value?(t.openBlock(),t.createElementBlock("div",gG,[t.createElementVNode("div",yG,[t.createVNode(i,null,{default:t.withCtx(()=>[...o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])]),_:1})]),t.createElementVNode("div",_G,[t.createElementVNode("div",bG,[t.createVNode(sm,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])):(t.openBlock(),t.createBlock(t.unref(Ee.ConfigCardItem),{key:0,item:e.item},null,8,["item"]))}}}),[["__scopeId","data-v-9a3ef1ac"]]),kG={class:"kong-ui-entity-plugin-config-card"},CG={class:"name-cell-wrapper"},EG={class:"info-name"},NG={key:0},xG={key:0},SG={key:0},AG={key:0},vG={key:0},wm="config",IG=Re(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{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}){var k;const r=n,o=e,{i18n:{t:i}}=dt.useI18n(),a=dt.usePluginMetaData(),{setFieldType:s}=dt.usePluginHelpers(),{getPropValue:l}=Ee.useHelpers(),c=t.computed(()=>{var w;let E=(w=ut.item[o.config.app])==null?void 0:w[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 x=o.expandPartial?"&":"?";E=E.concat(`${x}__ui_data=true`)}return E}),u=t.computed(()=>{var x,T;const E={},w=((x=b.value)==null?void 0:x.fields)||[];for(let M=0;M<w.length;M++){const v=b.value.fields[M],N=(T=Object.keys(v))==null?void 0:T[0];s(E,N,v[N])}return{...E,instance_name:{section:Ee.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:Ee.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:Ee.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:Ee.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:Ee.ConfigurationSchemaSection.Basic,order:6},protocols:{type:Ee.ConfigurationSchemaType.BadgeTag,section:Ee.ConfigurationSchemaSection.Basic,order:7}}}),f=t.computed(()=>{var w,x,T;if(!((w=b.value)!=null&&w.fields))return[];const E=(x=b.value.fields)==null?void 0:x.find(M=>{var N;return((N=Object.keys(M))==null?void 0:N[0])===wm});return((T=E==null?void 0:E[wm])==null?void 0:T.fields)||[]}),d=t.computed(()=>{var w,x;const E={};if(!f.value)return E;for(let T=0;T<((w=f.value)==null?void 0:w.length);T++){const M=f.value[T],v=(x=Object.keys(M))==null?void 0:x[0],N=M[v];N.required&&(E[v]={order:1}),s(E,v,N)}return E}),m=E=>{var x;const w=(x=a.pluginMetaData[o.config.pluginType])==null?void 0:x.scope;return w?Object.fromEntries(Object.entries(E).filter(([T,M])=>M?!0:!(T==="service"&&!w.includes(Q.PluginScope.SERVICE)||T==="route"&&!w.includes(Q.PluginScope.ROUTE)||T==="consumer"&&!w.includes(Q.PluginScope.CONSUMER)||T==="consumer_group"&&!w.includes(Q.PluginScope.CONSUMER_GROUP)))):E},p=E=>wo(E,"__ui_data"),{getMessageFromError:h}=Ee.useErrors(),{axiosInstance:g}=Ee.useAxios((k=o.config)==null?void 0:k.axiosRequestConfig),y=t.computed(()=>{var w,x;let E=`${o.config.apiBaseUrl}${ut.form[o.config.app].pluginSchema}`;return o.config.app==="konnect"&&(E=E.replace(/{controlPlaneId}/gi,((w=o.config)==null?void 0:w.controlPlaneId)||"")),E.replace(/\/{workspace}/gi,(x=o.config)!=null&&x.workspace?`/${o.config.workspace}`:"").replace(/{plugin}/gi,o.config.pluginType)}),b=t.ref({});Ee.useSchemaProvider(b);const _=t.ref(!1),C=t.ref("");return t.onBeforeMount(async()=>{_.value=!0;try{const{data:E}=await g.get(y.value);b.value=E}catch(E){C.value=h(E),r("error:fetch-schema",E)}finally{_.value=!1}}),(E,w)=>{const x=t.resolveComponent("KSkeleton"),T=t.resolveComponent("KEmptyState"),M=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",kG,[_.value?(t.openBlock(),t.createBlock(x,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):C.value?(t.openBlock(),t.createBlock(T,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(C.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(Ee.EntityBaseConfigCard),{key:2,"code-block-record-formatter":p,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":u.value,"entity-type":t.unref(Ee.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":wm,"plugin-config-schema":d.value,"record-resolver":m,"onFetch:error":w[0]||(w[0]=v=>E.$emit("fetch:error",v)),"onFetch:success":w[1]||(w[1]=v=>E.$emit("fetch:success",v)),onLoading:w[2]||(w[2]=v=>E.$emit("loading",v))},t.createSlots({name:t.withCtx(v=>[t.createElementVNode("div",CG,[t.createVNode(t.unref(qr.PluginIcon),{class:"plugin-icon",name:t.unref(l)("rowValue",v),size:24},null,8,["name"]),t.createElementVNode("span",EG,t.toDisplayString(t.unref(a).getDisplayName(t.unref(l)("rowValue",v))),1)])]),consumer:t.withCtx(v=>[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",v).id,value:t.unref(l)("rowValue",v).id,type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",v).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",v).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",NG,"–"))]),route:t.withCtx(v=>[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",v).id,value:t.unref(l)("rowValue",v).id,type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",v).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",v).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",xG,"–"))]),service:t.withCtx(v=>[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",v).id,value:t.unref(l)("rowValue",v).id,type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",v).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",v).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",SG,"–"))]),consumer_group:t.withCtx(v=>[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",v).id,value:t.unref(l)("rowValue",v).id,type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",v).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",v).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",AG,"–"))]),partials:t.withCtx(v=>{var N,O,B,A,q,z,Y,K,U;return[t.unref(l)("rowValue",v)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(Ee.InternalLinkItem),{key:1,item:{key:(O=(N=t.unref(l)("rowValue",v))==null?void 0:N[0])==null?void 0:O.id,value:((A=(B=t.unref(l)("rowValue",v))==null?void 0:B[0])==null?void 0:A.id)+((z=(q=t.unref(l)("rowValue",v))==null?void 0:q[0])!=null&&z.name?"/"+((K=(Y=t.unref(l)("rowValue",v))==null?void 0:Y[0])==null?void 0:K.name):""),type:t.unref(Ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var j,L;return E.$emit("navigation-click",(L=(j=t.unref(l)("rowValue",v))==null?void 0:j[0])==null?void 0:L.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(M,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(l)("row",v).label}),"data-testid":"partial-copy-uuid",text:(U=t.unref(l)("rowValue",v))==null?void 0:U[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",vG,"–"))]}),_:2},[e.config.pluginType==="datakit"&&e.config.app==="konnect"?{name:"config-card-item-nodes",fn:t.withCtx(v=>[t.createVNode(wG,{item:v.row,"plugin-data":v.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-03dcf2b4"]]),{usePluginMetaData:TG,useProvideExperimentalFreeForms:OG}=dt;function BG(e,n=!1){const r=e.length;let o=0,i="",a=0,s=16,l=0,c=0,u=0,f=0,d=0;function m(C,k){let E=0,w=0;for(;E<C;){let x=e.charCodeAt(o);if(x>=48&&x<=57)w=w*16+x-48;else if(x>=65&&x<=70)w=w*16+x-65+10;else if(x>=97&&x<=102)w=w*16+x-97+10;else break;o++,E++}return E<C&&(w=-1),w}function p(C){o=C,i="",a=0,s=16,d=0}function h(){let C=o;if(e.charCodeAt(o)===48)o++;else for(o++;o<e.length&&ma(e.charCodeAt(o));)o++;if(o<e.length&&e.charCodeAt(o)===46)if(o++,o<e.length&&ma(e.charCodeAt(o)))for(o++;o<e.length&&ma(e.charCodeAt(o));)o++;else return d=3,e.substring(C,o);let k=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&&ma(e.charCodeAt(o))){for(o++;o<e.length&&ma(e.charCodeAt(o));)o++;k=o}else d=3;return e.substring(C,k)}function g(){let C="",k=o;for(;;){if(o>=r){C+=e.substring(k,o),d=2;break}const E=e.charCodeAt(o);if(E===34){C+=e.substring(k,o),o++;break}if(E===92){if(C+=e.substring(k,o),o++,o>=r){d=2;break}switch(e.charCodeAt(o++)){case 34:C+='"';break;case 92:C+="\\";break;case 47:C+="/";break;case 98:C+="\b";break;case 102:C+="\f";break;case 110:C+=`
|
|
441
441
|
`;break;case 114:C+="\r";break;case 116:C+=" ";break;case 117:const w=m(4);w>=0?C+=String.fromCharCode(w):d=4;break;default:d=5}k=o;continue}if(E>=0&&E<=31)if(Ks(E)){C+=e.substring(k,o),d=2;break}else d=6;o++}return C}function y(){if(i="",d=0,a=o,c=l,f=u,o>=r)return a=r,s=17;let C=e.charCodeAt(o);if(km(C)){do o++,i+=String.fromCharCode(C),C=e.charCodeAt(o);while(km(C));return s=15}if(Ks(C))return o++,i+=String.fromCharCode(C),C===13&&e.charCodeAt(o)===10&&(o++,i+=`
|
|
442
442
|
`),l++,u=o,s=14;switch(C){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=g(),s=10;case 47:const k=o-1;if(e.charCodeAt(o+1)===47){for(o+=2;o<r&&!Ks(e.charCodeAt(o));)o++;return i=e.substring(k,o),s=12}if(e.charCodeAt(o+1)===42){o+=2;const E=r-1;let w=!1;for(;o<E;){const x=e.charCodeAt(o);if(x===42&&e.charCodeAt(o+1)===47){o+=2,w=!0;break}o++,Ks(x)&&(x===13&&e.charCodeAt(o)===10&&o++,l++,u=o)}return w||(o++,d=1),i=e.substring(k,o),s=13}return i+=String.fromCharCode(C),o++,s=16;case 45:if(i+=String.fromCharCode(C),o++,o===r||!ma(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(C);)o++,C=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(C),o++,s=16}}function b(C){if(km(C)||Ks(C))return!1;switch(C){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function _(){let C;do C=y();while(C>=12&&C<=15);return C}return{setPosition:p,getPosition:()=>o,scan:n?_:y,getToken:()=>s,getTokenValue:()=>i,getTokenOffset:()=>a,getTokenLength:()=>o-a,getTokenStartLine:()=>c,getTokenStartCharacter:()=>a-f,getTokenError:()=>d}}function km(e){return e===32||e===9}function Ks(e){return e===10||e===13}function ma(e){return e>=48&&e<=57}var Dk;(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"})(Dk||(Dk={})),new Array(20).fill(0).map((e,n)=>" ".repeat(n));const ha=200;new Array(ha).fill(0).map((e,n)=>`
|
|
443
443
|
`+" ".repeat(n)),new Array(ha).fill(0).map((e,n)=>"\r"+" ".repeat(n)),new Array(ha).fill(0).map((e,n)=>`\r
|