@kong-ui-public/entities-plugins 9.108.0 → 9.108.1
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,7 +1,7 @@
|
|
|
1
1
|
(function(Pe,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("marked"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong-ui-public/entities-plugins-metadata"),require("@kong-ui-public/forms"),require("@kong-ui-public/entities-vaults"),require("@kong-ui-public/entities-vaults/dist/style.css"),require("@kong/icons"),require("@kong/kongponents"),require("@kong-ui-public/entities-redis-configurations"),require("@kong-ui-public/entities-redis-configurations/dist/style.css"),require("monaco-editor"),require("@vueuse/core"),require("@shikijs/core"),require("@shikijs/engine-javascript"),require("zod"),require("@kong-ui-public/entities-plugins-icon")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","marked","vue-router","@kong-ui-public/i18n","@kong-ui-public/entities-plugins-metadata","@kong-ui-public/forms","@kong-ui-public/entities-vaults","@kong-ui-public/entities-vaults/dist/style.css","@kong/icons","@kong/kongponents","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","monaco-editor","@vueuse/core","@shikijs/core","@shikijs/engine-javascript","zod","@kong-ui-public/entities-plugins-icon"],t):(Pe=typeof globalThis<"u"?globalThis:Pe||self,t(Pe["kong-ui-public-entities-plugins"]={},Pe.Vue,Pe["kong-ui-public-entities-shared"],Pe.marked,Pe.VueRouter,Pe["kong-ui-public-i18n"],Pe.entitiesPluginsMetadata,Pe.forms,Pe.entitiesVaults,null,Pe.KongIcons,Pe.Kongponents,Pe.entitiesRedisConfigurations,null,Pe.monaco,Pe.core$1,Pe.core$2,Pe.engineJavascript,Pe.zod,Pe.entitiesPluginsIcon))})(this,function(Pe,t,me,wr,xo,Xe,H,Ue,vo,E2,ve,Re,Yn,N2,ag,Ye,Ss,lg,W,Ao){"use strict";var k2=Object.defineProperty;var C2=(Pe,t,me)=>t in Pe?k2(Pe,t,{enumerable:!0,configurable:!0,writable:!0,value:me}):Pe[t]=me;var nt=(Pe,t,me)=>C2(Pe,typeof t!="symbol"?t+"":t,me);function sg(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>e[o]})}}return n.default=e,Object.freeze(n)}const kr=sg(ag),ot={actions:{cancel:"Cancel",view_configuration:"View Configuration",create:"New plugin",create_custom:"Create",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",delete:"Delete",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}"},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"},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:"The custom plugin schema {name} is being used in this control plane, please delete any existing instances before you delete 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"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},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."}},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",unavailable_tooltip:"This plugin is not available",already_exists:"This plugin is already applied to this resource",misc_plugins:"Other Plugins",view_more:"View more",view_less:"View less",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.",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:{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"},instance_name:{label:"Instance Name",help:"A custom name for this plugin instance to help identifying from the list view."},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:{help:"An optional set of strings for grouping and filtering, separated by commas.",placeholder:"Enter list of tags"}},scoping:{label:"Scoped",placeholder:"Search by name or UUID",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:"View advanced parameters",hide:"Hide advanced parameters"}},field_rules:{at_least_one_of:"At least one of these parameters is required: {parameters}",only_one_of:"Exactly one of these parameters is required: {parameters}",mutually_required:"All of these parameters are required: {parameters}",only_one_of_mutually_required:"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},sections:{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."}}},"free-form":{"ai-mcp-proxy":{tool_item_label:"Tool #{index}"},"request-callout":{entity_name:"Request callout",by_lua_placeholder:"Enter Lua script here..."},redis_partial:{redis_partial_modal_title:"New shared configuration",partial_created_success_message:"Successfully created a new Redis configuration."},datakit:{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:"Configure this plugin by using the flow editor.",description_example:"Start with a use case:",examples:{authenticate:"Authenticate Kong to a third-party service",combine:"Combine multiple API responses",manipulate:"Manipulate request headers"},flow_editor:{mode:"Flow editor",name:"Datakit flow editor",cta:"Go to flow editor",disabled_tooltip:"The flow editor is unavailable. To switch, fix configuration errors or remove unsupported nodes.",expand_panel:"Expand panel",collapse_panel:"Collapse panel",return_to_config:"Return to plugin configuration",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."},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",delete:"Delete",view_docs:"View docs",done:"Done"},node_types:{call:{name:"call",summary:"Call a third-party API",description:"Send an HTTP request and retrieve the response."},jq:{name:"jq",summary:"Transform data and cast variables with jq",description:'The jq 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:{name:"exit",summary:"Return a response directly to the client",description:"Trigger an early exit that produces a direct response, rather than forwarding a proxied response."},property:{name:"property",summary:"Get and set gateway configuration data",description:"Get and set gateway host and request properties."},static:{name:"static",summary:"Define static values to use for call nodes",description:"Emits static values to be used as inputs for other nodes. The static node can help you with hardcoding some known value for an input."},branch:{name:"branch",summary:"Conditional execution",description:"Execute different nodes based on matching input conditions, such as a cache hit or miss."},cache:{name:"cache",summary:"Fetch cached data",description:"Fetch data from the cache."},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"},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 {min} and {max} characters",reserved_node_name:'"{nodeName}" is a reserved node name'}},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"},phase_mask_help:"You can't add call nodes in the response phase."},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",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.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",open_source:"open source",enterprise:"enterprise",empty_state:"No shared configurations",badge:"Recommended",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."},type_label:{host_port:"Host/Port",sentinel:"Sentinel",cluster:"Cluster"}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},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)"}},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
3
|
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function Le(){const e=Xe.createI18n("en-us",ot);return{i18n:e,i18nT:Xe.i18nTComponent(e)}}function xs(){const{capitalize:e}=me.useStringHelpers(),n=["methods","logout_methods"];return{setFieldType:(d,p,m)=>{var y,_,g;if(!(!d||!p||!m))switch(m.type){case"boolean":d[p]={type:me.ConfigurationSchemaType.BadgeStatus,...d[p]};break;case"string":m.encrypted?d[p]={type:me.ConfigurationSchemaType.Redacted,...d[p]}:d[p]={type:me.ConfigurationSchemaType.Text,...d[p]};break;case"set":((y=m.elements)==null?void 0:y.type)==="string"&&(d[p]={type:me.ConfigurationSchemaType.BadgeTag,...d[p]});break;case"array":n.includes(p)?d[p]={type:me.ConfigurationSchemaType.BadgeMethod,...d[p]}:((_=m.elements)==null?void 0:_.type)==="string"?m.encrypted?d[p]={type:me.ConfigurationSchemaType.RedactedArray,...d[p]}:d[p]={type:me.ConfigurationSchemaType.BadgeTag,...d[p]}:((g=m.elements)==null?void 0:g.type)==="record"&&(d[p]={type:me.ConfigurationSchemaType.Json,...d[p]});break;case"record":d[p]={type:me.ConfigurationSchemaType.Json,...d[p]};break;default:d[p]={type:me.ConfigurationSchemaType.Text,...d[p]};break}},convertToDotNotation:d=>d.replace(/-/g,"."),unFlattenObject:d=>{const p={};for(const m in d){const y=m.split(".");y.reduce((_,g,h)=>_[g]||(_[g]=isNaN(y[h+1])?y.length-1===h?d[m]:{}:[]),p)}return p},dismissField:(d,p,m="redis",y=!1)=>{const _=new RegExp("(?<=-redis-).*");if(typeof d!="object"||d===null)return d;m==="redis"?Object.keys(d).forEach(g=>{g.match(_)&&delete d[g]}):y?d[m]=null:delete d[m],Object.assign(d,p)},isObjectEmpty:d=>Object.keys(d).length===0,unsetNullForeignKey:(d,p)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(d)>-1&&p[d]===null&&(delete p[d],p[d.replace(".id","")]=null)},formatPluginFieldLabel:d=>e(d.replace(/_/g," ")),getTallestPluginCardHeight:d=>{let p=0;if(d.length)for(let m=0;m<d.length;m++){const y=d[m].$el;p=y.offsetHeight>p?y.offsetHeight:p}return p},getToggleVisibility:(d,p)=>{var m,y;if(d&&p){const _=(y=(m=window==null?void 0:window.getComputedStyle(d))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:y.split(" ").length;return p>_}return!0}}}var Cr=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Cr||{});const vs=[H.PluginGroup.AUTHENTICATION,H.PluginGroup.AI,H.PluginGroup.SECURITY,H.PluginGroup.TRAFFIC_CONTROL,H.PluginGroup.SERVERLESS,H.PluginGroup.ANALYTICS_AND_MONITORING,H.PluginGroup.TRANSFORMATIONS,H.PluginGroup.LOGGING,H.PluginGroup.DEPLOYMENT,H.PluginGroup.WEBSOCKET,H.PluginGroup.CUSTOM_PLUGINS],As={[H.PluginGroup.AUTHENTICATION]:!1,[H.PluginGroup.AI]:!1,[H.PluginGroup.SECURITY]:!1,[H.PluginGroup.TRAFFIC_CONTROL]:!1,[H.PluginGroup.SERVERLESS]:!1,[H.PluginGroup.ANALYTICS_AND_MONITORING]:!1,[H.PluginGroup.TRANSFORMATIONS]:!1,[H.PluginGroup.LOGGING]:!1,[H.PluginGroup.DEPLOYMENT]:!1,[H.PluginGroup.CUSTOM_PLUGINS]:!1};var wn=(e=>(e.SERVICE="service_id",e.ROUTE="route_id",e.CONSUMER="consumer_id",e.CONSUMER_GROUP="consumer_group_id",e))(wn||{});const kn=e=>{const n=Object.fromEntries(e.fields.map(o=>Object.entries(o)[0]));return"id"in n||(n.id={}),n},Cn={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"},Wn={getColumnFields:kn,tags:Cn,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}}}},Is={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:Cn}]},cg={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"}}]},Ts={fields:[{username:{}},{password:{inputType:"password"}},{tags:Cn}]},dg={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"}}]},ug={class:"field-wrapper"},fg=t.defineComponent({__name:"KeyAuthIdentityRealms",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,i=o,{clearValidationErrors:a,value:l}=Ue.composables.useAbstractFields({model:t.toRef(()=>r.model),schema:r.schema,formOptions:r.formOptions,emitModelUpdated:w=>{i("modelUpdated",w.value,w.model)}}),{i18n:s}=Ge.useI18n(),{t:c}=s,u={value:"current-cp",label:c("custom_field.key_auth_identity_realms.cp_label"),group:c("custom_field.key_auth_identity_realms.cp_group_label")},f=t.inject(Ue.FORMS_CONFIG),{axiosInstance:d}=me.useAxios(f==null?void 0:f.axiosRequestConfig),p=()=>{if((f==null?void 0:f.app)==="konnect"){const w=/\b(us|eu|au|me|in)\b/.exec((f==null?void 0:f.apiBaseUrl)||"");if(w)return{region:w[1]}}return{}},m=t.ref(!0),y=t.ref([u]),_=async()=>{if((f==null?void 0:f.app)==="konnect")try{m.value=!0;let w=`${f==null?void 0:f.apiBaseUrl}/v1/realms`;const b=[];do{const N=await d.get(w);N&&N.data&&N.data.data&&b.push(...N.data.data.map(C=>({value:C.id,label:C.name,group:c("custom_field.key_auth_identity_realms.realm_group_label")}))),w=N.data.meta.next?`${f==null?void 0:f.apiBaseUrl}${N.data.meta.next}`:null}while(w);y.value=[u,...b]}catch(w){console.error("Failed to fetch Konnect realms",w)}finally{m.value=!1}},g=t.computed(()=>l.value.map(w=>w.id||"current-cp")),h=w=>{const b=w.includes("current-cp")?[{scope:"cp",id:null}]:[],N=l.value.filter(({scope:$})=>$!=="cp").map(({id:$})=>$),C=w.filter($=>$!=="current-cp"),v=(N.length!==C.length||N.some($=>!C.includes($))?C.filter($=>!N.includes($)):C).map($=>({...p(),scope:"realm",id:$}));l.value=[...b,...v]};return t.watch(l,()=>{l.value||(l.value=[{scope:"cp",id:null}])}),t.onMounted(()=>{_()}),n({clearValidationErrors:a}),(w,b)=>{const N=t.resolveComponent("KMultiselect");return t.openBlock(),t.createElementBlock("div",ug,[t.createVNode(N,{items:y.value,loading:m.value,"model-value":g.value,"onUpdate:modelValue":h},null,8,["items","loading","model-value"])])}}}),Ie=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},pg=Ie(fg,[["__scopeId","data-v-29b128ff"]]),Ps={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
4
|
-
client. If missing, it will be generated for you
|
|
4
|
+
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Cn},{ttl:{help:"Time-to-live value for data"}}]},mg=e=>{var n;return(e==null?void 0:e.app)==="kongManager"?{fieldsToDelete:["config-identity_realms"],shamefullyTransformPayload:({payload:o})=>{(e!=null&&e.credential&&typeof o.ttl!="number"||Number.isNaN(o.ttl))&&(o.ttl=0)}}:{"config-identity_realms":{component:((n=e==null?void 0:e.experimentalRenders)==null?void 0:n.keyAuthIdentityRealms)??!1?t.markRaw(pg):null}}},gg={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 value for data",type:"number"}}]},Os={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:Cn}]},hg={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"}}]},yg={fields:[{key:{submitWhenNull:!1,hint:`A unique string identifying the credential. If left out, it will
|
|
7
7
|
be auto-generated.`}},{algorithm:{order:1,hint:"The algorithm used to verify the token’s signature."}},{rsa_public_key:{order:2,type:"textArea",label:"RSA public-key",hint:`If algorithm is RSA or ECDSA, the public key (in PEM format) to
|
|
@@ -10,7 +10,7 @@ will extend the wait time by about 12 minutes, continuously adjusting as new req
|
|
|
10
10
|
will be generated for you.`,inputType:"text",encrypted:!0}},{client_secret:{submitWhenNull:!1,hint:`You can optionally set your own unique client_secret. If missing,
|
|
11
11
|
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:Wn.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
|
|
12
12
|
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:Wn.tags}]},bg={fields:[{id:{uuid:!0,auto:!0,type:"string",description:"A string representing a UUID (universally unique identifier)."}},{created_at:{description:"An integer representing an automatic Unix timestamp in seconds.",timestamp:!0,auto:!0,type:"integer"}},{consumer:{on_delete:"cascade",type:"foreign",reference:"consumers",required:!0}},{name:{required:!0,type:"string"}},{client_id:{required:!1,hint:"You can optionally set your own unique client_id. If missing, it will be generated for you.",unique:!0,auto:!0,type:"string"}},{client_secret:{required:!1,hint:"You can optionally set your own unique client_secret. If missing, it will be generated for you.",auto:!0,type:"string",encrypted:!0}},{hash_secret:{required:!0,type:"boolean",default:!1}},{redirect_uris:{required:!1,hint:"One or more URLs in your app where users will be sent after authorization (RFC 6742 Section 3.1.2)",type:"array",elements:{type:"string"}}},{tags:{elements:{required:!0,type:"string",description:"A string representing a tag."},type:"set",description:"A set of strings representing tags."}},{client_type:{required:!0,default:"confidential",type:"string",one_of:["confidential","public"]}}]},Bs={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
13
|
-
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Cn},{ttl:{help:"Time-to-live value for data"}}]},wg=e=>(e==null?void 0:e.app)==="kongManager"?{shamefullyTransformPayload:({payload:n})=>{(e!=null&&e.credential&&typeof n.ttl!="number"||Number.isNaN(n.ttl))&&(n.ttl=0)}}:{},kg={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}},{ttl:{between:[0,1e8],description:"Time-to-live value for data",type:"number"}}]},Lt={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",nameKey:"plugins.meta.basic-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",nameKey:"plugins.meta.hmac-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",nameKey:"plugins.meta.jwt-signer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",nameKey:"plugins.meta.jwt.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",nameKey:"plugins.meta.key-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",nameKey:"plugins.meta.key-auth-enc.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",nameKey:"plugins.meta.ldap-auth-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",nameKey:"plugins.meta.ldap-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",nameKey:"plugins.meta.oauth2-introspection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",nameKey:"plugins.meta.oauth2.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",nameKey:"plugins.meta.openid-connect.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",nameKey:"plugins.meta.mtls-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",nameKey:"plugins.meta.vault-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",nameKey:"plugins.meta.bot-detection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",nameKey:"plugins.meta.cors.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",nameKey:"plugins.meta.opa.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.acl},canary:{descriptionKey:"plugins.meta.canary.description",nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",nameKey:"plugins.meta.proxy-cache.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",nameKey:"plugins.meta.proxy-cache-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",nameKey:"plugins.meta.rate-limiting-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",nameKey:"plugins.meta.request-size-limiting.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",nameKey:"plugins.meta.request-termination.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",nameKey:"plugins.meta.response-ratelimiting.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",nameKey:"plugins.meta.route-by-header.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",nameKey:"plugins.meta.aws-lambda.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",nameKey:"plugins.meta.azure-functions.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",nameKey:"plugins.meta.openwhisk.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",nameKey:"plugins.meta.pre-function.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",nameKey:"plugins.meta.post-function.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",nameKey:"plugins.meta.datadog.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",nameKey:"plugins.meta.prometheus.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",nameKey:"plugins.meta.zipkin.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",nameKey:"plugins.meta.collector.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",nameKey:"plugins.meta.response-transformer-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",nameKey:"plugins.meta.correlation-id.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",nameKey:"plugins.meta.request-transformer-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",nameKey:"plugins.meta.request-transformer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",nameKey:"plugins.meta.response-transformer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",nameKey:"plugins.meta.kafka-upstream.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",nameKey:"plugins.meta.degraphql.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",nameKey:"plugins.meta.exit-transformer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",nameKey:"plugins.meta.file-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",nameKey:"plugins.meta.http-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",nameKey:"plugins.meta.loggly.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",nameKey:"plugins.meta.statsd-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",nameKey:"plugins.meta.statsd.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",nameKey:"plugins.meta.syslog.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",nameKey:"plugins.meta.tcp-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",nameKey:"plugins.meta.udp-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",nameKey:"plugins.meta.kafka-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",nameKey:"plugins.meta.session.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",nameKey:"plugins.meta.upstream-tls.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",nameKey:"plugins.meta.application-registration.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",nameKey:"plugins.meta.konnect-application-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",nameKey:"plugins.meta.acme.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",nameKey:"plugins.meta.grpc-gateway.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",nameKey:"plugins.meta.grpc-web.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",nameKey:"plugins.meta.upstream-timeout.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",nameKey:"plugins.meta.websocket-validator.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",nameKey:"plugins.meta.tls-metadata-headers.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",nameKey:"plugins.meta.tls-handshake-modifier.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",nameKey:"plugins.meta.oas-validation.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",nameKey:"plugins.meta.jwe-decrypt.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",nameKey:"plugins.meta.xml-threat-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",nameKey:"plugins.meta.saml.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",nameKey:"plugins.meta.app-dynamics.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",nameKey:"plugins.meta.json-threat-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",nameKey:"plugins.meta.standard-webhooks.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",nameKey:"plugins.meta.header-cert-auth.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",nameKey:"plugins.meta.upstream-oauth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",nameKey:"plugins.meta.confluent.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",nameKey:"plugins.meta.service-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",nameKey:"plugins.meta.injection-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",nameKey:"plugins.meta.redirect.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",nameKey:"plugins.meta.kafka-consume.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",nameKey:"plugins.meta.confluent-consume.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",nameKey:"plugins.meta.request-callout.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-sanitizer"]},"ai-rag-injector":{descriptionKey:"plugins.meta.ai-rag-injector.description",nameKey:"plugins.meta.ai-rag-injector.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",nameKey:"plugins.meta.datakit.name",useUIData:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP.datakit},"ai-prompt-compressor":{descriptionKey:"plugins.meta.ai-prompt-compressor.description",nameKey:"plugins.meta.ai-prompt-compressor.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",nameKey:"plugins.meta.solace-upstream.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["solace-upstream"]},"ai-aws-guardrails":{descriptionKey:"plugins.meta.ai-aws-guardrails.description",nameKey:"plugins.meta.ai-aws-guardrails.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]},ace:{descriptionKey:"plugins.meta.ace.description",nameKey:"plugins.meta.ace.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.ace},"solace-consume":{descriptionKey:"plugins.meta.solace-consume.description",nameKey:"plugins.meta.solace-consume.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["solace-consume"]},"solace-log":{descriptionKey:"plugins.meta.solace-log.description",nameKey:"plugins.meta.solace-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["solace-log"]},"ai-llm-as-judge":{descriptionKey:"plugins.meta.ai-llm-as-judge.description",nameKey:"plugins.meta.ai-llm-as-judge.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-llm-as-judge"]},"ai-mcp-proxy":{descriptionKey:"plugins.meta.ai-mcp-proxy.description",nameKey:"plugins.meta.ai-mcp-proxy.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-proxy"]},"ai-gcp-model-armor":{descriptionKey:"plugins.meta.ai-gcp-model-armor.description",nameKey:"plugins.meta.ai-gcp-model-armor.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-gcp-model-armor"]},"ai-mcp-oauth2":{descriptionKey:"plugins.meta.ai-mcp-oauth2.description",nameKey:"plugins.meta.ai-mcp-oauth2.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-oauth2"]},"ai-semantic-response-guard":{descriptionKey:"plugins.meta.ai-semantic-response-guard.description",nameKey:"plugins.meta.ai-semantic-response-guard.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-response-guard"]}},Xn={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:Is,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:kn(Is),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Ts,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:kn(Ts)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Ps,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:kn(Ps)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Bs,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:kn(Bs)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:$s,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:kn($s)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Os,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:kn(Os)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:yg,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Cg={acls:cg,basicauth_credentials:dg,keyauth_credentials:gg,keyauth_enc_credentials:kg,oauth2_credentials:bg,hmacauth_credentials:hg,jwt_secrets:_g},Eg=()=>{const{i18n:{t:e}}=Le(),n={},o={};for(const[i,a]of Object.entries(Lt))n[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries(Xn))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:Xn,getDisplayName:i=>{var a;return((a=n[i])==null?void 0:a.name)||i}}},Io={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Ng={"config-prompts-prepend":{...Io,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Io,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},Sg={"config-templates":{...Io,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},xg={shamefullyTransformPayload:({originalModel:e,model:n,payload:o,schema:r})=>{const i=l=>{var s;return(s=r[l])!=null&&s.required&&n[l]?!0:e[l]===n[l]?!1:e[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},a=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));a("config-embeddings")||(o.config.embeddings=null),a("config-vectordb")||(o.config.vectordb=null)}},vg={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},Ag={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:Wn.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",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"}],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.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Fe={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},Er={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Ig={"config-metrics":{...Er,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Tg={"config-functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},Pg={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Og={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},$g={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Bg={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Vg={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Vs=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Wn.fields.arrayItems({newElementButtonLabel:"Add"})}),Vg),Nr={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},Rg={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},Dg=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:Wn.fields.arrayItems({newElementButtonLabel:"Add"})}),Rg),Rs={"config-add-json":{...Fe,label:"Config.Add.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Fe,label:"Config.Append.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Fe,label:"Config.Remove.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Fe,label:"Config.Rename.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Fe,label:"Config.Replace.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},Mg={...Rs,"config-allow-json":{...Fe,label:"Config.Allow.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Fe,label:"Config.Transform.Functions",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Fe,label:"Config.Transform.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},Lg={"config-rules":{...Io,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},Fg={"config-session_redis_cluster_nodes":{...Io,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},Ug={"config-flow-functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},Kg={"config-message-functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},jg={"config-metrics":{...Er,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},Gg={"config-metrics":{...Er,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},qg={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},zg={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}};var Ds=typeof global=="object"&&global&&global.Object===Object&&global,Hg=typeof self=="object"&&self&&self.Object===Object&&self,Ft=Ds||Hg||Function("return this")(),xt=Ft.Symbol,Ms=Object.prototype,Yg=Ms.hasOwnProperty,Wg=Ms.toString,To=xt?xt.toStringTag:void 0;function Xg(e){var n=Yg.call(e,To),o=e[To];try{e[To]=void 0;var r=!0}catch{}var i=Wg.call(e);return r&&(n?e[To]=o:delete e[To]),i}var Zg=Object.prototype,Jg=Zg.toString;function Qg(e){return Jg.call(e)}var eh="[object Null]",th="[object Undefined]",Ls=xt?xt.toStringTag:void 0;function En(e){return e==null?e===void 0?th:eh:Ls&&Ls in Object(e)?Xg(e):Qg(e)}function Wt(e){return e!=null&&typeof e=="object"}var nh="[object Symbol]";function Ji(e){return typeof e=="symbol"||Wt(e)&&En(e)==nh}function Fs(e,n){for(var o=-1,r=e==null?0:e.length,i=Array(r);++o<r;)i[o]=n(e[o],o,e);return i}var Ot=Array.isArray,Us=xt?xt.prototype:void 0,Ks=Us?Us.toString:void 0;function js(e){if(typeof e=="string")return e;if(Ot(e))return Fs(e,js)+"";if(Ji(e))return Ks?Ks.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Nn(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function oh(e){return e}var rh="[object AsyncFunction]",ih="[object Function]",ah="[object GeneratorFunction]",lh="[object Proxy]";function Sr(e){if(!Nn(e))return!1;var n=En(e);return n==ih||n==ah||n==rh||n==lh}var Qi=Ft["__core-js_shared__"],Gs=function(){var e=/[^.]+$/.exec(Qi&&Qi.keys&&Qi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function sh(e){return!!Gs&&Gs in e}var ch=Function.prototype,dh=ch.toString;function Sn(e){if(e!=null){try{return dh.call(e)}catch{}try{return e+""}catch{}}return""}var uh=/[\\^$.*+?()[\]{}|]/g,fh=/^\[object .+?Constructor\]$/,ph=Function.prototype,mh=Object.prototype,gh=ph.toString,hh=mh.hasOwnProperty,yh=RegExp("^"+gh.call(hh).replace(uh,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _h(e){if(!Nn(e)||sh(e))return!1;var n=Sr(e)?yh:fh;return n.test(Sn(e))}function bh(e,n){return e==null?void 0:e[n]}function xn(e,n){var o=bh(e,n);return _h(o)?o:void 0}var ea=xn(Ft,"WeakMap"),qs=Object.create,wh=function(){function e(){}return function(n){if(!Nn(n))return{};if(qs)return qs(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function kh(e,n,o){switch(o.length){case 0:return e.call(n);case 1:return e.call(n,o[0]);case 2:return e.call(n,o[0],o[1]);case 3:return e.call(n,o[0],o[1],o[2])}return e.apply(n,o)}function Ch(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}var Eh=800,Nh=16,Sh=Date.now;function xh(e){var n=0,o=0;return function(){var r=Sh(),i=Nh-(r-o);if(o=r,i>0){if(++n>=Eh)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function vh(e){return function(){return e}}var xr=function(){try{var e=xn(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Ah=xr?function(e,n){return xr(e,"toString",{configurable:!0,enumerable:!1,value:vh(n),writable:!0})}:oh,Ih=xh(Ah);function Th(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}var Ph=9007199254740991,Oh=/^(?:0|[1-9]\d*)$/;function ta(e,n){var o=typeof e;return n=n??Ph,!!n&&(o=="number"||o!="symbol"&&Oh.test(e))&&e>-1&&e%1==0&&e<n}function zs(e,n,o){n=="__proto__"&&xr?xr(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}function na(e,n){return e===n||e!==e&&n!==n}var $h=Object.prototype,Bh=$h.hasOwnProperty;function oa(e,n,o){var r=e[n];(!(Bh.call(e,n)&&na(r,o))||o===void 0&&!(n in e))&&zs(e,n,o)}function Po(e,n,o,r){var i=!o;o||(o={});for(var a=-1,l=n.length;++a<l;){var s=n[a],c=void 0;c===void 0&&(c=e[s]),i?zs(o,s,c):oa(o,s,c)}return o}var Hs=Math.max;function Vh(e,n,o){return n=Hs(n===void 0?e.length-1:n,0),function(){for(var r=arguments,i=-1,a=Hs(r.length-n,0),l=Array(a);++i<a;)l[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=o(l),kh(e,this,s)}}var Rh=9007199254740991;function ra(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Rh}function ia(e){return e!=null&&ra(e.length)&&!Sr(e)}var Dh=Object.prototype;function vr(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||Dh;return e===o}function Mh(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var Lh="[object Arguments]";function Ys(e){return Wt(e)&&En(e)==Lh}var Ws=Object.prototype,Fh=Ws.hasOwnProperty,Uh=Ws.propertyIsEnumerable,Ar=Ys(function(){return arguments}())?Ys:function(e){return Wt(e)&&Fh.call(e,"callee")&&!Uh.call(e,"callee")};function Kh(){return!1}var Xs=typeof Pe=="object"&&Pe&&!Pe.nodeType&&Pe,Zs=Xs&&typeof module=="object"&&module&&!module.nodeType&&module,jh=Zs&&Zs.exports===Xs,Js=jh?Ft.Buffer:void 0,Gh=Js?Js.isBuffer:void 0,Oo=Gh||Kh,qh="[object Arguments]",zh="[object Array]",Hh="[object Boolean]",Yh="[object Date]",Wh="[object Error]",Xh="[object Function]",Zh="[object Map]",Jh="[object Number]",Qh="[object Object]",ey="[object RegExp]",ty="[object Set]",ny="[object String]",oy="[object WeakMap]",ry="[object ArrayBuffer]",iy="[object DataView]",ay="[object Float32Array]",ly="[object Float64Array]",sy="[object Int8Array]",cy="[object Int16Array]",dy="[object Int32Array]",uy="[object Uint8Array]",fy="[object Uint8ClampedArray]",py="[object Uint16Array]",my="[object Uint32Array]",ze={};ze[ay]=ze[ly]=ze[sy]=ze[cy]=ze[dy]=ze[uy]=ze[fy]=ze[py]=ze[my]=!0,ze[qh]=ze[zh]=ze[ry]=ze[Hh]=ze[iy]=ze[Yh]=ze[Wh]=ze[Xh]=ze[Zh]=ze[Jh]=ze[Qh]=ze[ey]=ze[ty]=ze[ny]=ze[oy]=!1;function gy(e){return Wt(e)&&ra(e.length)&&!!ze[En(e)]}function aa(e){return function(n){return e(n)}}var Qs=typeof Pe=="object"&&Pe&&!Pe.nodeType&&Pe,$o=Qs&&typeof module=="object"&&module&&!module.nodeType&&module,hy=$o&&$o.exports===Qs,la=hy&&Ds.process,Zn=function(){try{var e=$o&&$o.require&&$o.require("util").types;return e||la&&la.binding&&la.binding("util")}catch{}}(),ec=Zn&&Zn.isTypedArray,sa=ec?aa(ec):gy,yy=Object.prototype,_y=yy.hasOwnProperty;function tc(e,n){var o=Ot(e),r=!o&&Ar(e),i=!o&&!r&&Oo(e),a=!o&&!r&&!i&&sa(e),l=o||r||i||a,s=l?Mh(e.length,String):[],c=s.length;for(var u in e)(n||_y.call(e,u))&&!(l&&(u=="length"||i&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||ta(u,c)))&&s.push(u);return s}function nc(e,n){return function(o){return e(n(o))}}var by=nc(Object.keys,Object),wy=Object.prototype,ky=wy.hasOwnProperty;function oc(e){if(!vr(e))return by(e);var n=[];for(var o in Object(e))ky.call(e,o)&&o!="constructor"&&n.push(o);return n}function ca(e){return ia(e)?tc(e):oc(e)}function Cy(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Ey=Object.prototype,Ny=Ey.hasOwnProperty;function Sy(e){if(!Nn(e))return Cy(e);var n=vr(e),o=[];for(var r in e)r=="constructor"&&(n||!Ny.call(e,r))||o.push(r);return o}function da(e){return ia(e)?tc(e,!0):Sy(e)}var xy=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,vy=/^\w*$/;function Ay(e,n){if(Ot(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Ji(e)?!0:vy.test(e)||!xy.test(e)||n!=null&&e in Object(n)}var Bo=xn(Object,"create");function Iy(){this.__data__=Bo?Bo(null):{},this.size=0}function Ty(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Py="__lodash_hash_undefined__",Oy=Object.prototype,$y=Oy.hasOwnProperty;function By(e){var n=this.__data__;if(Bo){var o=n[e];return o===Py?void 0:o}return $y.call(n,e)?n[e]:void 0}var Vy=Object.prototype,Ry=Vy.hasOwnProperty;function Dy(e){var n=this.__data__;return Bo?n[e]!==void 0:Ry.call(n,e)}var My="__lodash_hash_undefined__";function Ly(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=Bo&&n===void 0?My:n,this}function vn(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}vn.prototype.clear=Iy,vn.prototype.delete=Ty,vn.prototype.get=By,vn.prototype.has=Dy,vn.prototype.set=Ly;function Fy(){this.__data__=[],this.size=0}function Ir(e,n){for(var o=e.length;o--;)if(na(e[o][0],n))return o;return-1}var Uy=Array.prototype,Ky=Uy.splice;function jy(e){var n=this.__data__,o=Ir(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():Ky.call(n,o,1),--this.size,!0}function Gy(e){var n=this.__data__,o=Ir(n,e);return o<0?void 0:n[o][1]}function qy(e){return Ir(this.__data__,e)>-1}function zy(e,n){var o=this.__data__,r=Ir(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,this}function Xt(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Xt.prototype.clear=Fy,Xt.prototype.delete=jy,Xt.prototype.get=Gy,Xt.prototype.has=qy,Xt.prototype.set=zy;var Vo=xn(Ft,"Map");function Hy(){this.size=0,this.__data__={hash:new vn,map:new(Vo||Xt),string:new vn}}function Yy(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Tr(e,n){var o=e.__data__;return Yy(n)?o[typeof n=="string"?"string":"hash"]:o.map}function Wy(e){var n=Tr(this,e).delete(e);return this.size-=n?1:0,n}function Xy(e){return Tr(this,e).get(e)}function Zy(e){return Tr(this,e).has(e)}function Jy(e,n){var o=Tr(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function Zt(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Zt.prototype.clear=Hy,Zt.prototype.delete=Wy,Zt.prototype.get=Xy,Zt.prototype.has=Zy,Zt.prototype.set=Jy;var Qy="Expected a function";function ua(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Qy);var o=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=o.cache;if(a.has(i))return a.get(i);var l=e.apply(this,r);return o.cache=a.set(i,l)||a,l};return o.cache=new(ua.Cache||Zt),o}ua.Cache=Zt;var e_=500;function t_(e){var n=ua(e,function(r){return o.size===e_&&o.clear(),r}),o=n.cache;return n}var n_=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o_=/\\(\\)?/g,r_=t_(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(n_,function(o,r,i,a){n.push(i?a.replace(o_,"$1"):r||o)}),n});function fa(e){return e==null?"":js(e)}function Jn(e,n){return Ot(e)?e:Ay(e,n)?[e]:r_(fa(e))}function Pr(e){if(typeof e=="string"||Ji(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function pa(e,n){n=Jn(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[Pr(n[o++])];return o&&o==r?e:void 0}function rc(e,n,o){var r=e==null?void 0:pa(e,n);return r===void 0?o:r}function ma(e,n){for(var o=-1,r=n.length,i=e.length;++o<r;)e[i+o]=n[o];return e}var ic=xt?xt.isConcatSpreadable:void 0;function i_(e){return Ot(e)||Ar(e)||!!(ic&&e&&e[ic])}function a_(e,n,o,r,i){var a=-1,l=e.length;for(o||(o=i_),i||(i=[]);++a<l;){var s=e[a];o(s)?ma(i,s):i[i.length]=s}return i}function l_(e){var n=e==null?0:e.length;return n?a_(e):[]}function ac(e){return Ih(Vh(e,void 0,l_),e+"")}var ga=nc(Object.getPrototypeOf,Object),s_="[object Object]",c_=Function.prototype,d_=Object.prototype,lc=c_.toString,u_=d_.hasOwnProperty,f_=lc.call(Object);function p_(e){if(!Wt(e)||En(e)!=s_)return!1;var n=ga(e);if(n===null)return!0;var o=u_.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&lc.call(o)==f_}function sc(e,n,o){var r=-1,i=e.length;n<0&&(n=-n>i?0:i+n),o=o>i?i:o,o<0&&(o+=i),i=n>o?0:o-n>>>0,n>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+n];return a}function m_(e,n,o){var r=e.length;return o=o===void 0?r:o,!n&&o>=r?e:sc(e,n,o)}var g_="\\ud800-\\udfff",h_="\\u0300-\\u036f",y_="\\ufe20-\\ufe2f",__="\\u20d0-\\u20ff",b_=h_+y_+__,w_="\\ufe0e\\ufe0f",k_="\\u200d",C_=RegExp("["+k_+g_+b_+w_+"]");function cc(e){return C_.test(e)}function E_(e){return e.split("")}var dc="\\ud800-\\udfff",N_="\\u0300-\\u036f",S_="\\ufe20-\\ufe2f",x_="\\u20d0-\\u20ff",v_=N_+S_+x_,A_="\\ufe0e\\ufe0f",I_="["+dc+"]",ha="["+v_+"]",ya="\\ud83c[\\udffb-\\udfff]",T_="(?:"+ha+"|"+ya+")",uc="[^"+dc+"]",fc="(?:\\ud83c[\\udde6-\\uddff]){2}",pc="[\\ud800-\\udbff][\\udc00-\\udfff]",P_="\\u200d",mc=T_+"?",gc="["+A_+"]?",O_="(?:"+P_+"(?:"+[uc,fc,pc].join("|")+")"+gc+mc+")*",$_=gc+mc+O_,B_="(?:"+[uc+ha+"?",ha,fc,pc,I_].join("|")+")",V_=RegExp(ya+"(?="+ya+")|"+B_+$_,"g");function R_(e){return e.match(V_)||[]}function D_(e){return cc(e)?R_(e):E_(e)}function M_(e){return function(n){n=fa(n);var o=cc(n)?D_(n):void 0,r=o?o[0]:n.charAt(0),i=o?m_(o,1).join(""):n.slice(1);return r[e]()+i}}var L_=M_("toUpperCase");function F_(){this.__data__=new Xt,this.size=0}function U_(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function K_(e){return this.__data__.get(e)}function j_(e){return this.__data__.has(e)}var G_=200;function q_(e,n){var o=this.__data__;if(o instanceof Xt){var r=o.__data__;if(!Vo||r.length<G_-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new Zt(r)}return o.set(e,n),this.size=o.size,this}function Jt(e){var n=this.__data__=new Xt(e);this.size=n.size}Jt.prototype.clear=F_,Jt.prototype.delete=U_,Jt.prototype.get=K_,Jt.prototype.has=j_,Jt.prototype.set=q_;function z_(e,n){return e&&Po(n,ca(n),e)}function H_(e,n){return e&&Po(n,da(n),e)}var hc=typeof Pe=="object"&&Pe&&!Pe.nodeType&&Pe,yc=hc&&typeof module=="object"&&module&&!module.nodeType&&module,Y_=yc&&yc.exports===hc,_c=Y_?Ft.Buffer:void 0,bc=_c?_c.allocUnsafe:void 0;function W_(e,n){if(n)return e.slice();var o=e.length,r=bc?bc(o):new e.constructor(o);return e.copy(r),r}function X_(e,n){for(var o=-1,r=e==null?0:e.length,i=0,a=[];++o<r;){var l=e[o];n(l,o,e)&&(a[i++]=l)}return a}function wc(){return[]}var Z_=Object.prototype,J_=Z_.propertyIsEnumerable,kc=Object.getOwnPropertySymbols,_a=kc?function(e){return e==null?[]:(e=Object(e),X_(kc(e),function(n){return J_.call(e,n)}))}:wc;function Q_(e,n){return Po(e,_a(e),n)}var eb=Object.getOwnPropertySymbols,Cc=eb?function(e){for(var n=[];e;)ma(n,_a(e)),e=ga(e);return n}:wc;function tb(e,n){return Po(e,Cc(e),n)}function Ec(e,n,o){var r=n(e);return Ot(e)?r:ma(r,o(e))}function ba(e){return Ec(e,ca,_a)}function Nc(e){return Ec(e,da,Cc)}var wa=xn(Ft,"DataView"),ka=xn(Ft,"Promise"),Ca=xn(Ft,"Set"),Sc="[object Map]",nb="[object Object]",xc="[object Promise]",vc="[object Set]",Ac="[object WeakMap]",Ic="[object DataView]",ob=Sn(wa),rb=Sn(Vo),ib=Sn(ka),ab=Sn(Ca),lb=Sn(ea),vt=En;(wa&&vt(new wa(new ArrayBuffer(1)))!=Ic||Vo&&vt(new Vo)!=Sc||ka&&vt(ka.resolve())!=xc||Ca&&vt(new Ca)!=vc||ea&&vt(new ea)!=Ac)&&(vt=function(e){var n=En(e),o=n==nb?e.constructor:void 0,r=o?Sn(o):"";if(r)switch(r){case ob:return Ic;case rb:return Sc;case ib:return xc;case ab:return vc;case lb:return Ac}return n});var sb=Object.prototype,cb=sb.hasOwnProperty;function db(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&cb.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var Or=Ft.Uint8Array;function Ea(e){var n=new e.constructor(e.byteLength);return new Or(n).set(new Or(e)),n}function ub(e,n){var o=n?Ea(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var fb=/\w*$/;function pb(e){var n=new e.constructor(e.source,fb.exec(e));return n.lastIndex=e.lastIndex,n}var Tc=xt?xt.prototype:void 0,Pc=Tc?Tc.valueOf:void 0;function mb(e){return Pc?Object(Pc.call(e)):{}}function gb(e,n){var o=n?Ea(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var hb="[object Boolean]",yb="[object Date]",_b="[object Map]",bb="[object Number]",wb="[object RegExp]",kb="[object Set]",Cb="[object String]",Eb="[object Symbol]",Nb="[object ArrayBuffer]",Sb="[object DataView]",xb="[object Float32Array]",vb="[object Float64Array]",Ab="[object Int8Array]",Ib="[object Int16Array]",Tb="[object Int32Array]",Pb="[object Uint8Array]",Ob="[object Uint8ClampedArray]",$b="[object Uint16Array]",Bb="[object Uint32Array]";function Vb(e,n,o){var r=e.constructor;switch(n){case Nb:return Ea(e);case hb:case yb:return new r(+e);case Sb:return ub(e,o);case xb:case vb:case Ab:case Ib:case Tb:case Pb:case Ob:case $b:case Bb:return gb(e,o);case _b:return new r;case bb:case Cb:return new r(e);case wb:return pb(e);case kb:return new r;case Eb:return mb(e)}}function Rb(e){return typeof e.constructor=="function"&&!vr(e)?wh(ga(e)):{}}var Db="[object Map]";function Mb(e){return Wt(e)&&vt(e)==Db}var Oc=Zn&&Zn.isMap,Lb=Oc?aa(Oc):Mb,Fb="[object Set]";function Ub(e){return Wt(e)&&vt(e)==Fb}var $c=Zn&&Zn.isSet,Kb=$c?aa($c):Ub,jb=1,Gb=2,qb=4,Bc="[object Arguments]",zb="[object Array]",Hb="[object Boolean]",Yb="[object Date]",Wb="[object Error]",Vc="[object Function]",Xb="[object GeneratorFunction]",Zb="[object Map]",Jb="[object Number]",Rc="[object Object]",Qb="[object RegExp]",e0="[object Set]",t0="[object String]",n0="[object Symbol]",o0="[object WeakMap]",r0="[object ArrayBuffer]",i0="[object DataView]",a0="[object Float32Array]",l0="[object Float64Array]",s0="[object Int8Array]",c0="[object Int16Array]",d0="[object Int32Array]",u0="[object Uint8Array]",f0="[object Uint8ClampedArray]",p0="[object Uint16Array]",m0="[object Uint32Array]",qe={};qe[Bc]=qe[zb]=qe[r0]=qe[i0]=qe[Hb]=qe[Yb]=qe[a0]=qe[l0]=qe[s0]=qe[c0]=qe[d0]=qe[Zb]=qe[Jb]=qe[Rc]=qe[Qb]=qe[e0]=qe[t0]=qe[n0]=qe[u0]=qe[f0]=qe[p0]=qe[m0]=!0,qe[Wb]=qe[Vc]=qe[o0]=!1;function Ro(e,n,o,r,i,a){var l,s=n&jb,c=n&Gb,u=n&qb;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!Nn(e))return e;var f=Ot(e);if(f){if(l=db(e),!s)return Ch(e,l)}else{var d=vt(e),p=d==Vc||d==Xb;if(Oo(e))return W_(e,s);if(d==Rc||d==Bc||p&&!i){if(l=c||p?{}:Rb(e),!s)return c?tb(e,H_(l,e)):Q_(e,z_(l,e))}else{if(!qe[d])return i?e:{};l=Vb(e,d,s)}}a||(a=new Jt);var m=a.get(e);if(m)return m;a.set(e,l),Kb(e)?e.forEach(function(g){l.add(Ro(g,n,o,g,e,a))}):Lb(e)&&e.forEach(function(g,h){l.set(h,Ro(g,n,o,h,e,a))});var y=u?c?Nc:ba:c?da:ca,_=f?void 0:y(e);return Th(_||e,function(g,h){_&&(h=g,g=e[h]),oa(l,h,Ro(g,n,o,h,e,a))}),l}var g0=1,h0=4;function Qn(e){return Ro(e,g0|h0)}var y0="__lodash_hash_undefined__";function _0(e){return this.__data__.set(e,y0),this}function b0(e){return this.__data__.has(e)}function $r(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new Zt;++n<o;)this.add(e[n])}$r.prototype.add=$r.prototype.push=_0,$r.prototype.has=b0;function w0(e,n){for(var o=-1,r=e==null?0:e.length;++o<r;)if(n(e[o],o,e))return!0;return!1}function k0(e,n){return e.has(n)}var C0=1,E0=2;function Dc(e,n,o,r,i,a){var l=o&C0,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var u=a.get(e),f=a.get(n);if(u&&f)return u==n&&f==e;var d=-1,p=!0,m=o&E0?new $r:void 0;for(a.set(e,n),a.set(n,e);++d<s;){var y=e[d],_=n[d];if(r)var g=l?r(_,y,d,n,e,a):r(y,_,d,e,n,a);if(g!==void 0){if(g)continue;p=!1;break}if(m){if(!w0(n,function(h,w){if(!k0(m,w)&&(y===h||i(y,h,o,r,a)))return m.push(w)})){p=!1;break}}else if(!(y===_||i(y,_,o,r,a))){p=!1;break}}return a.delete(e),a.delete(n),p}function N0(e){var n=-1,o=Array(e.size);return e.forEach(function(r,i){o[++n]=[i,r]}),o}function S0(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var x0=1,v0=2,A0="[object Boolean]",I0="[object Date]",T0="[object Error]",P0="[object Map]",O0="[object Number]",$0="[object RegExp]",B0="[object Set]",V0="[object String]",R0="[object Symbol]",D0="[object ArrayBuffer]",M0="[object DataView]",Mc=xt?xt.prototype:void 0,Na=Mc?Mc.valueOf:void 0;function L0(e,n,o,r,i,a,l){switch(o){case M0:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case D0:return!(e.byteLength!=n.byteLength||!a(new Or(e),new Or(n)));case A0:case I0:case O0:return na(+e,+n);case T0:return e.name==n.name&&e.message==n.message;case $0:case V0:return e==n+"";case P0:var s=N0;case B0:var c=r&x0;if(s||(s=S0),e.size!=n.size&&!c)return!1;var u=l.get(e);if(u)return u==n;r|=v0,l.set(e,n);var f=Dc(s(e),s(n),r,i,a,l);return l.delete(e),f;case R0:if(Na)return Na.call(e)==Na.call(n)}return!1}var F0=1,U0=Object.prototype,K0=U0.hasOwnProperty;function j0(e,n,o,r,i,a){var l=o&F0,s=ba(e),c=s.length,u=ba(n),f=u.length;if(c!=f&&!l)return!1;for(var d=c;d--;){var p=s[d];if(!(l?p in n:K0.call(n,p)))return!1}var m=a.get(e),y=a.get(n);if(m&&y)return m==n&&y==e;var _=!0;a.set(e,n),a.set(n,e);for(var g=l;++d<c;){p=s[d];var h=e[p],w=n[p];if(r)var b=l?r(w,h,p,n,e,a):r(h,w,p,e,n,a);if(!(b===void 0?h===w||i(h,w,o,r,a):b)){_=!1;break}g||(g=p=="constructor")}if(_&&!g){var N=e.constructor,C=n.constructor;N!=C&&"constructor"in e&&"constructor"in n&&!(typeof N=="function"&&N instanceof N&&typeof C=="function"&&C instanceof C)&&(_=!1)}return a.delete(e),a.delete(n),_}var G0=1,Lc="[object Arguments]",Fc="[object Array]",Br="[object Object]",q0=Object.prototype,Uc=q0.hasOwnProperty;function z0(e,n,o,r,i,a){var l=Ot(e),s=Ot(n),c=l?Fc:vt(e),u=s?Fc:vt(n);c=c==Lc?Br:c,u=u==Lc?Br:u;var f=c==Br,d=u==Br,p=c==u;if(p&&Oo(e)){if(!Oo(n))return!1;l=!0,f=!1}if(p&&!f)return a||(a=new Jt),l||sa(e)?Dc(e,n,o,r,i,a):L0(e,n,c,o,r,i,a);if(!(o&G0)){var m=f&&Uc.call(e,"__wrapped__"),y=d&&Uc.call(n,"__wrapped__");if(m||y){var _=m?e.value():e,g=y?n.value():n;return a||(a=new Jt),i(_,g,o,r,a)}}return p?(a||(a=new Jt),j0(e,n,o,r,i,a)):!1}function Kc(e,n,o,r,i){return e===n?!0:e==null||n==null||!Wt(e)&&!Wt(n)?e!==e&&n!==n:z0(e,n,o,r,Kc,i)}function H0(e,n){return e!=null&&n in Object(e)}function Y0(e,n,o){n=Jn(n,e);for(var r=-1,i=n.length,a=!1;++r<i;){var l=Pr(n[r]);if(!(a=e!=null&&o(e,l)))break;e=e[l]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&ra(i)&&ta(l,i)&&(Ot(e)||Ar(e)))}function W0(e,n){return e!=null&&Y0(e,n,H0)}function X0(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function Z0(e,n){return n.length<2?e:pa(e,sc(n,0,-1))}var J0="[object Map]",Q0="[object Set]",ew=Object.prototype,tw=ew.hasOwnProperty;function jc(e){if(e==null)return!0;if(ia(e)&&(Ot(e)||typeof e=="string"||typeof e.splice=="function"||Oo(e)||sa(e)||Ar(e)))return!e.length;var n=vt(e);if(n==J0||n==Q0)return!e.size;if(vr(e))return!oc(e).length;for(var o in e)if(tw.call(e,o))return!1;return!0}function Do(e,n){return Kc(e,n)}function Gc(e,n){return n=Jn(n,e),e=Z0(e,n),e==null||delete e[Pr(X0(n))]}function nw(e){return p_(e)?void 0:e}var ow=1,rw=2,iw=4,Mo=ac(function(e,n){var o={};if(e==null)return o;var r=!1;n=Fs(n,function(a){return a=Jn(a,e),r||(r=a.length>1),a}),Po(e,Nc(e),o),r&&(o=Ro(o,ow|rw|iw,nw));for(var i=n.length;i--;)Gc(o,n[i]);return o});function qc(e,n,o,r){if(!Nn(e))return e;n=Jn(n,e);for(var i=-1,a=n.length,l=a-1,s=e;s!=null&&++i<a;){var c=Pr(n[i]),u=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var f=s[c];u=void 0,u===void 0&&(u=Nn(f)?f:ta(n[i+1])?[]:{})}oa(s,c,u),s=s[c]}return e}function aw(e,n,o){for(var r=-1,i=n.length,a={};++r<i;){var l=n[r],s=pa(e,l);o(s,l)&&qc(a,Jn(l,e),s)}return a}function lw(e,n){return aw(e,n,function(o,r){return W0(e,r)})}var Sa=ac(function(e,n){return e==null?{}:lw(e,n)});function sw(e,n,o){return e==null?e:qc(e,n,o)}var cw=0;function Vr(e){var n=++cw;return fa(e)+n}function zc(e,n){return e==null?!0:Gc(e,n)}const dw=[{authentication:{mode:"none"},ssl_verify:!0},{authentication:{basic:{}}},{authentication:{basic:{},oauth2:{token_headers:{},token_post_args:{}},oauth2_client:{}}}],An=e=>{var n,o,r,i,a,l;((o=(n=e.confluent)==null?void 0:n.authentication)==null?void 0:o.mode)==="none"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client,delete e.confluent.authentication.basic),((i=(r=e.confluent)==null?void 0:r.authentication)==null?void 0:i.mode)==="basic"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client),((l=(a=e.confluent)==null?void 0:a.authentication)==null?void 0:l.mode)==="oauth2"&&delete e.confluent.authentication.basic,dw.some(s=>Do(e.confluent,s))&&(e.confluent=null)},uw={"config-message_by_lua_functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;An((n=e.config)==null?void 0:n.schema_registry)}},fw={"config-message_by_lua_functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;An((n=e.config)==null?void 0:n.schema_registry)}},pw={"config-message_by_lua_functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;An((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{An(i==null?void 0:i.schema_registry)})}},mw={"config-message_by_lua_functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;An((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{An(i==null?void 0:i.schema_registry)})}},gw={shamefullyTransformPayload:({payload:e})=>{var n;An((n=e.config)==null?void 0:n.schema_registry)}},hw={"config-static_tags":{...Er,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},yw={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm"};function xa(e,n){const o=yw[e];if(typeof o=="string")return o;if(n.includes(e))return o.component}const va=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),eo={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR"),DATAKIT_M2:Symbol("DATAKIT_M2")},Hc=Symbol("TOASTER_PROVIDER");function Yc(){return t.inject(va,[])}function _w(e){t.provide(va,e)}const bw=(e,n)=>{const o=e.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},Wc=(e,n)=>(e.order??0)-(n.order??0),Xc=(e,n)=>bw(e,n)||Wc(e,n)||e.model.localeCompare(n.model),Ge={useI18n:Le,usePluginMetaData:Eg,usePluginHelpers:xs,useSchemas:e=>{const{capitalize:n}=me.useStringHelpers(),{convertToDotNotation:o}=xs(),{i18n:{t:r}}=Le(),i=Yc(),a={"application-registration":{overwriteDefault:!0,formSchema:{...Ag}},datadog:{...Ig},"exit-transformer":{...Tg},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...jg},"statsd-advanced":{...Gg},"route-by-header":{...Lg},"ai-prompt-decorator":{...Ng},"ai-prompt-template":{...Sg},"ai-proxy-advanced":{...xg},"ai-llm-as-judge":{...vg},"vault-auth":{...zg},"oas-validation":{...Bg},mocking:{...$g},"rate-limiting":{...Nr},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Nr["config-consumer_groups"]}:{...Nr},"graphql-rate-limiting-advanced":{...Pg},"injection-protection":{...Og},"response-ratelimiting":{...Nr},"pre-function":{...Vs},"post-function":{...Vs},"request-transformer-advanced":{...Dg},"response-transformer":{...Rs},"response-transformer-advanced":{...Mg},zipkin:{...hw},"upstream-oauth":{...qg},saml:{...Fg},"kafka-upstream":{...uw},"solace-consume":{...Ug},"solace-upstream":{...Kg},"key-auth":mg(e),"key-auth-enc":wg(e),confluent:{...fw},"confluent-consume":{...pw},"kafka-consume":{...mw},"kafka-log":{...gw}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(k,E,v,$)=>{let K={};(E||k)&&(K=E||(k.fields?k.fields:k));const j=l().concat(k.blacklist?k.blacklist:[]),S=Object.keys(K).filter(A=>!j.includes(A)),Q=S.indexOf("comparator");Q>-1&&S.splice(Q,1);let I={fields:[]};const G={};S.forEach(A=>{u(K[A],A,K,G,I,v)});const U=G.name,ee=Lt[U],M=[],O=A=>{const P=["cluster-cache"];for(const T of P)if(A.model.includes(T))return!1;return new RegExp("(?<=-redis-).*").test(A.model)};if(I._supported_redis_partial_type=k._supported_redis_partial_type,I._redis_partial_path=k._redis_partial_path,Ue.getSharedFormName(U)||xa(U,i)||ee!=null&&ee.useLegacyForm||e!=null&&e.credential||$==="freeform"){if(ee!=null&&ee.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&k._supported_redis_partial_type){for(const A of I.fields)if(O(A)){M.push(A);continue}I.fields=I.fields.filter(A=>!O(A)),M.length&&I.fields.push({id:"_redis",fields:M,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path})}I.fields.sort((A,P)=>(A.order=A.order||0,P.order=P.order||0,A.order-P.order))}else{const A=[],P=[],T=[],Y=[],z={};if(ee!=null&&ee.fieldRules){const se=[...ee.fieldRules.atLeastOneOf??[],...ee.fieldRules.onlyOneOf??[],...ee.fieldRules.mutuallyRequired??[]];if(ee.fieldRules.onlyOneOfMutuallyRequired)for(const he of ee.fieldRules.onlyOneOfMutuallyRequired)se.push(...he);for(const he of se)for(const Z of he)z[Z.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const se of I.fields){if(e!=null&&e.enableRedisPartial&&k._supported_redis_partial_type&&O(se)){Y.push(se);continue}if(se.pinned){A.push(se);continue}if(se.required||z[se.model]!==void 0){z[se.model]===!1&&(z[se.model]=!0),P.push(se);continue}T.push(se)}Y.length&&T.push({id:"_redis",fields:Y,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path,order:-1});const ne=Object.entries(z).filter(([,se])=>!se).map(([se])=>se.replace(/-/g,".").replace(/_/g,"-"));ne.length>0&&console.warn(`Unknown checked fields for plugin ${U}: ${ne.join(", ")}`);const oe=[];A.length>0&&oe.push({fields:A.sort(Wc)}),(P.length>0||T.length>0)&&oe.push({fields:P.sort(Xc),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:T.sort(Xc),triggerLabel:{expand:r("plugins.form.grouping.advanced_parameters.view"),collapse:r("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),I={groups:oe}}return{schema:I,model:G,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=k=>Array.isArray(k.default)||k.default!=null&&typeof k.default!="object"&&k.default!=="function",u=(k,E,v,$,K,j)=>{const S=c(k);return $[E]=S?k.default:null,k.id=E,k.model=E,k.fields&&k.type==="record"?d(k,E,v,$,K,j):(v[E]=k,N(k,$),j&&j[E]&&f(v[E],j[E]),K.fields.push(k)),v},f=(k,E)=>(E&&(Object.assign(k,E),E.label&&(k.label=E.label)),k),d=(k,E,v,$,K,j)=>{k.fields.forEach(S=>{Object.keys(S).forEach(Q=>{const I=S[Q];v=u(I,E+"-"+Q,v,$,K,j)})})},p=(k,E)=>{k.type="input",k.inputType="hidden",k.styleClasses="kong-form-hidden-field-wrapper";const v=e==null?void 0:e.entityId;E[k.model]=v?{id:v}:null},m=k=>{k.type="input",k.inputType="number",k.between&&k.between.length===2&&(k.min=k.between[0],k.max=k.between[1])},y=k=>{Object.prototype.hasOwnProperty.call(k,"one_of")?(k.type="select",k.values=k.one_of,k.selectOptions={hideNoneSelectedText:!0}):(k.type="input",k.inputType="text")},_=k=>{k.type="checkbox",k.default=!0,k.required=!1},g=k=>{if(k.type="object-advanced",k.values.type==="array"){const{type:E}=k.values.elements||{};k.schema={fields:[{schema:{fields:[{...Fe,model:k.model,valueArrayType:E==="integer"?"number":E||"string",inputAttributes:{...Fe.inputAttributes,type:E==="integer"?"number":"text",inputMode:E==="integer"?"numeric":"text"}}]}}]}}else k.values.fields&&(k.schema={fields:[{type:"object",model:"object",schema:{fields:k.values.fields.map(E=>{const v=Object.keys(E)[0];return{model:v,type:"input",label:n(v),placeholder:v,inputType:E[v].type}})}}]})},h=k=>k.fields.reduce((E,v)=>(v.fields&&v.fields.forEach($=>{E[$.model]=$}),v.model&&(E[v.model]=v),E),{}),w=(k,E)=>{if(!Ue.customFields.includes(k.model))return;const v=h(k);Ue.customFields.forEach($=>{Object.keys(v).forEach(K=>{const j=c(v[K]);E[K]=j?v[K].default:null}),delete E[$]})},b=(k,E)=>k.inputType==="hidden"?"":o(n(k.label||E.replace(/_/g," "))),N=(k,E)=>{switch(w(k,E),k.type){case"foreign":p(k,E);break;case"number":m(k),k.attributes={step:"any"};break;case"integer":m(k);break;case"string":y(k);break;case"boolean":_(k);break;case"map":g(k);break}k.inputType==="foreign"&&p(k,E),k.label=b(k,k.model)};function C(k,E){if(E==null||E.type&&E.type!=="record"||typeof k!="object"||k==null)return k;const v={};for(const $ of E.fields){const K=Object.keys($)[0],j=$[K];j.type==="record"?v[K]=C(k[K],j):j.type==="array"&&Array.isArray(k[K])&&j.elements.type==="record"?v[K]=k[K].map(S=>C(S,j.elements)):v[K]=k[K]}return v}return{buildFormSchema:u,parseSchema:s,customSchemas:a,typedefs:Wn,pruneRecord:C}},useExperimentalFreeForms:Yc,useProvideExperimentalFreeForms:_w},st="/v2/control-planes/{controlPlaneId}/core-entities",ht="/{workspace}",We={list:{konnect:{all:`${st}/plugins`,forEntity:`${st}/{entityType}/{entityId}/plugins`},kongManager:{all:`${ht}/plugins`,forEntity:`${ht}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${st}/v1/available-plugins`,streamingCustomPlugins:`${st}/custom-plugins`,schemaCustomPluginItem:`${st}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${st}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${ht}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${st}/plugins`,forEntity:`${st}/{entityType}/{entityId}/plugins`},edit:{all:`${st}/plugins/{id}`,forEntity:`${st}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${st}/{resourceEndpoint}`,edit:`${st}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",entityGetOne:`${st}/{entity}/{id}`,entityGetAll:`${st}/{entity}`,entityPeek:`${st}/{entity}?size={amount}`},kongManager:{create:{all:`${ht}/plugins`,forEntity:`${ht}/{entityType}/{entityId}/plugins`},edit:{all:`${ht}/plugins/{id}`,forEntity:`${ht}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${ht}/schemas/plugins/{plugin}`,credential:{create:`${ht}/{resourceEndpoint}`,edit:`${ht}/{resourceEndpoint}/{id}`},credentialSchema:`${ht}/schemas/{plugin}`,entityGetOne:`${ht}/{entity}/{id}`,entityGetAll:`${ht}/{entity}`}},item:{konnect:{all:`${st}/plugins/{id}`,forEntity:`${st}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${ht}/plugins/{id}`,forEntity:`${ht}/{entityType}/{entityId}/plugins/{id}`}}},ww={key:0},kw=Ie(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:o}=Ge.usePluginHelpers(),{i18n:{t:r}}=Ge.useI18n(),i=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(u=>o(u)).join(".")).join(", "),a=(s,c)=>r(s,{parameters:i(c)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(a("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(a("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(a("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const u=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(u,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(f,d)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${d}`},t.toDisplayString(f),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",ww,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(f,d)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${d}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f,(p,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${d}-combination-${m}`},t.toDisplayString(i(p)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]),{t:to}=Xe.createI18n("en-us",ot);function Aa(e){return e.map(n=>({value:n,label:`${n}`}))}const Ia="*",Zc="$",Jc=".";function $t(...e){return e.join(Jc)}function Ta(...e){return $t(Zc,...e)}function Qc(e){return e.startsWith($t(Zc,""))}function no(e){return e.split(Jc).filter(n=>n!=="")}function Lo(e){const n=no(e);return n[n.length-1]}const Cw=e=>{var n,o;return e.type==="redis-ce"?to("redis.shared_configuration.type_label.host_port"):(n=e.config.sentinel_nodes)!=null&&n.length?to("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?to("redis.shared_configuration.type_label.cluster"):to("redis.shared_configuration.type_label.host_port")},Ew={"redis-ce":to("redis.shared_configuration.open_source"),"redis-ee":to("redis.shared_configuration.enterprise")},Nw=e=>Ew[e]??"";function Sw(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(a=>{const l=a.model.match(o);return l&&!Object.keys(e).includes(l[0])}).map(a=>{const l=a.label.match(r);return{label:l?l[0]:a.label,key:a.model,value:"N/A",type:"text"}})}function xw(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const ed=Symbol("free-form-data"),td=Symbol("free-form-schema"),nd=Symbol("free-form-field-path"),Pa=Symbol("free-form-field-renderer-slots"),Rr=Symbol("free-form-field-renderer-matchers-map"),od=Symbol("free-form-config"),rd=Symbol("free-form-field-reset-label-path-setting"),oo="free-form-field-renderers-slot",vw={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function Aw(e,n=""){const o={},r=e;return Array.isArray(r.fields)?Object.assign(o,Oa(r,n)):e.type==="array"&&e.elements&&Object.assign(o,$a(e,n)),o}function Oa(e,n=""){const o={};if(Array.isArray(e.fields))for(const r of e.fields){const i=Object.keys(r)[0],a=r[i],l=n?$t(n,i):i;if(o[l]=a,a.type==="record"&&Array.isArray(a.fields)){const s=Oa(a,l);Object.assign(o,s)}else if(a.type==="array"&&a.elements){const s=$a(a,l);Object.assign(o,s)}}return o}function $a(e,n=""){const o={};if(e.elements){const r=e.elements,i=$t(n,Ia);if(o[i]=r,r.type==="record"&&Array.isArray(r.fields)){const a=Oa(r,i);Object.assign(o,a)}else if(r.type==="array"&&r.elements){const a=$a(r,i);Object.assign(o,a)}}return o}function Ba(e){const n=no(e).map(o=>/^\d+$/.test(o)?Ia:o);return $t(...n)}function Iw(e){const n=t.toValue(e),o=t.computed(()=>n?Aw(n):{});function r(f){var d;return f==null?n:(d=o.value)==null?void 0:d[Ba(f)]}function i(f,d=!1){const p=r(f);return p?p.default!==void 0?p.default:d||p.required?p.type==="record"?a(p,f):p.type==="array"?[]:null:null:null}function a(f,d){const p={};if(Array.isArray(f.fields))for(const m of f.fields){const y=Object.keys(m)[0],_=d?`${d}.${y}`:y,g=i(_,!1);g!==void 0&&(p[y]=g)}return p}function l(f){return f?i(f,!0):a(r(),"")}function s(f){const d=r(f),p=d!=null&&d.description?wr.marked.parse(d.description,{async:!1}):void 0;return{...vw,"data-testid":`ff-label-${f}`,info:p}}function c(f){var p;const d=r(f);return Aa((d==null?void 0:d.one_of)||((p=d.elements)==null?void 0:p.one_of)||[])}function u(f){const d=r(f),p=d==null?void 0:d.default;let m=null;if((d==null?void 0:d.type)==="foreign"&&(p!=null&&p.id))m=p.id;else{if(p==null||typeof p=="object"||p==="")return null;if(Array.isArray(p)){if(p.length===0)return null;m=p.join(", ")}else m=p.toString()}return`Default: ${m}`}return{getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:u}}function He(){const e=t.inject(ed),n=t.inject(td),o=t.inject(od,{});if(!e)throw new Error("useFormShared() called without form data provider.");if(!n)throw new Error("useFormShared() called without schema provider.");return{formData:e,formConfig:o,...n}}const id=e=>{const n=t.inject(nd,t.computed(()=>"")),o=t.computed(()=>{const r=t.toValue(e);let i=r;return!Qc(r)&&n.value&&(i=$t(n.value,r)),Qc(r)&&(i=i.slice(Ta("").length)),i});return t.provide(nd,o),o},Tw=e=>{const{getSchema:n}=He(),{default:o,...r}=t.useSlots(),i=t.inject(Pa),a=t.inject(Rr),l=t.computed(()=>{const c=t.toValue(i),u=Object.keys(r).filter(f=>f!==oo&&f!=="item").reduce((f,d)=>{const p=Ba($t(t.toValue(e),d));return{...f,[p]:r[d]}},{});return c?{...c,...u}:u});t.provide(Pa,l);const s=t.toValue(e);return t.computed(()=>{if(o)return;const c=l.value[Ba(t.toValue(e))];if(c)return c;for(const[u,f]of a)if(u({path:s,schema:n(s)}))return f})},Pw={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function Ow(e){return Pw[e.toLocaleLowerCase()]??e}function $w(e,n){const o=t.inject(rd,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=t.toValue(o),a=t.ref(r?$t(r,e):e),l=t.ref({parentPath:a.value,isolate:i});return t.watch([t.toRef(n),t.toRef(o)],([s,c])=>{var p;const{parentPath:u,isolate:f}=c,d=u?$t(u,e):e;if(s){const m={isolate:()=>{a.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{a.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{a.value=d,l.value.isolate=!1,l.value.parentPath=d}};(p=m[s])==null||p.call(m)}else f&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(rd,l),a}function Bw(e){return no(e).map(o=>o.split("_").map(Ow).join(" ")).map(L_).join(" › ")}function Vw(e,n){const o=t.toValue(e),r=Lo(o),{formConfig:i}=He(),a=$w(r,n),{getSchema:l}=He(),s=ad(e);return t.computed(()=>{var p;const c=a.value??r,u=(p=s.value.parent)!=null&&p.path?l(s.value.parent.path):null,d=(u==null?void 0:u.type)==="array"?"":Bw(c);return i.transformLabel?i.transformLabel(d,o):d})}function Bt(e,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=He(),a=t.toValue(e),l=t.toValue(n),s=Vw(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(a)??void 0,labelAttributes:l.labelAttributes??o(a),label:l.label??s.value,required:l.required??((c=i(a))==null?void 0:c.required)}})}function Rw(e){var r;const n=no(e);let o={parent:null};for(n.pop();n.length;){const i=n.shift();o.path=(r=o.parent)!=null&&r.path?$t(o.parent.path,i):i,o={parent:o}}return o}function ad(e){return t.computed(()=>Rw(t.toValue(e)))}function ld(e){const{formData:n}=He(),o=id(e);return{value:t.computed({get:()=>rc(n,no(o.value)),set:i=>sw(n,no(o.value),i)})}}function bt(e){const{getSchema:n}=He(),o=id(e),r=Tw(o),{value:i}=ld(e),a=t.computed(()=>n(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:ad(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function Fo(e){const{getSchema:n}=He(),o=t.useAttrs();return t.computed(()=>{var i;if(o["data-autofocus"]!==void 0)return!0;if(!e)return!1;const r=t.toValue(e).parent;return r!=null&&r.path?((i=n(r.path))==null?void 0:i.type)==="array":!1})}function sd(e,n){const o=new WeakMap,r=new Map;function i(){return Vr(`${e}-`)}function a(l,s){if(l==null||typeof l!="object")return`${e}-${s}`;if(o.has(l))return o.get(l);const c=r.has(s)?r.get(s):i();return r.set(s,c),o.set(l,c),c}return t.watch(n,l=>{const s=t.toValue(l),c=new Set;s.forEach((u,f)=>{c.add(f)}),Array.from(r.keys()).forEach(u=>{c.has(u)||r.delete(u)})},{immediate:!0,deep:!0}),{getKey:a}}const Dw="__request_callout_";function cd(){return Vr(Dw)}const In=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=e,r=t.useAttrs(),i=n,a=t.computed(()=>o.multiline?Re.KTextArea:Re.KInput),l=t.computed(()=>r.characterLimit??(o.multiline?!1:void 0)),s=t.ref(o.modelValue);t.watch(()=>o.modelValue,d=>{s.value=d});const{formConfig:c}=He(),u=d=>{d!==s.value&&(s.value=d,c.updateOnChange||i("update:modelValue",d))},f=()=>{c.updateOnChange&&i("update:modelValue",s.value)};return(d,p)=>(t.openBlock(),t.createBlock(t.unref(a),t.mergeProps(d.$attrs,{"character-limit":l.value,"model-value":d.modelValue,resizable:d.multiline?!0:void 0,onChange:f,"onUpdate:modelValue":u}),t.createSlots({_:2},[t.renderList(t.useSlots(),(m,y)=>({name:y,fn:t.withCtx(_=>[t.renderSlot(d.$slots,y,t.normalizeProps(t.guardReactiveProps(_)))])}))]),1040,["character-limit","model-value","resizable"]))}}),Mw=["innerHTML"],ro=Ie(t.defineComponent({inheritAttrs:!1,__name:"StringField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:r}=Le(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:l,...s}=bt(t.toRef(()=>e.name)),c=Bt(s.path,t.toRef({...i,...o})),u=l==null?void 0:l.value;function f(h){u!==void 0&&h===""&&h!==u?(l.value=null,a("update:modelValue",null)):(l.value=h.trim(),a("update:modelValue",h.trim()))}const d=t.computed(()=>{var h;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((h=s.schema)==null?void 0:h.value).encrypted}),p=t.inject(Ue.AUTOFILL_SLOT,void 0),m=t.computed(()=>{var h;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((h=s.schema.value)!=null&&h.referenceable)}),y=t.computed(()=>({referenceable:m.value})),_=Fo(s.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Lo(e.name)==="name");return(h,w)=>{var N;const b=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(b,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",t.normalizeProps(t.mergeProps({key:1},h.$attrs)),[t.createVNode(In,t.mergeProps({...t.unref(c),showPasswordMaskToggle:d.value,type:d.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":g.value,"data-autofocus":t.unref(_),"data-testid":`ff-${s.path.value}`,error:h.error,"error-message":h.errorMessage,help:h.multiline&&h.error?h.errorMessage:h.help,"model-value":t.unref(l)??"",multiline:h.multiline,"onUpdate:modelValue":f}),t.createSlots({_:2},[(N=t.unref(c).labelAttributes)!=null&&N.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,Mw)],!0)]),key:"0"}:void 0,h.multiline&&h.error?void 0:{name:"help",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"help",{},void 0,!0)]),key:"1"}]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline"]),t.unref(p)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(p)),{key:0,schema:y.value,update:f,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(b,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:t.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],16))}}}),[["__scopeId","data-v-8b9ee4c2"]]),Lw=["innerHTML"],Dr=Ie(t.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=bt(t.toRef(()=>e.name)),a=n,l=c=>{r.value=c,a("update:modelValue",c)},s=Bt(i.path,o);return(c,u)=>{var d;const f=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(f,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(Re.KCheckbox),t.mergeProps({key:1},t.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":t.unref(r)??!1,"onUpdate:modelValue":l}),t.createSlots({_:2},[(d=t.unref(s).labelAttributes)!=null&&d.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,Lw)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),dd=Ie(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(n.map(p=>[p,""])),r=Object.fromEntries(n.map(p=>[p,"0"]));function i(p){const m=getComputedStyle(p);return Object.fromEntries(n.map(y=>[y,m.getPropertyValue(y)]))}function a(p){["overflow","transition",...n].forEach(m=>p.style.removeProperty(m))}function l(p){Object.assign(p.style,{overflow:"hidden",transition:"none"})}function s(p){const m=p;Object.assign(m.style,o);const y=i(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...y,transition:""})})}function c(p){a(p)}function u(p){const m=p;Object.assign(m.style,{...i(m),overflow:"hidden"})}function f(p){Object.assign(p.style,r)}function d(p){a(p)}return(p,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:d,onBeforeEnter:l,onBeforeLeave:u,onEnter:s,onLeave:f},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),Fw=["data-testid"],Uw=["data-testid"],Kw=["data-testid"],jw=["innerHTML"],Gw={class:"ff-object-field-actions"},qw=["data-testid"],wt=Ie(t.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:t.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultExpanded:{type:Boolean,default:!0},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{},fieldsOrder:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){const n=t.createPropsRestProxy(e,["defaultExpanded","defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,...r}=bt(t.toRef(n,"name")),{getSchema:i,getDefault:a}=He(),l=t.useModel(e,"added"),s=t.useModel(e,"expanded"),c=t.computed(()=>p.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),u=t.computed(()=>{var g,h;if((g=r.ancestors)!=null&&g.value){const w=r.ancestors.value.parent;if(w!=null&&w.path)return((h=i(w.path))==null?void 0:h.type)==="array"}return!1}),f=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:u.value?"reset":"inherit"),d=Bt(r.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:f.value}))),p=t.computed(()=>d.value.required?!0:l.value??e.defaultAdded),m=t.computed(()=>e.asChild!==void 0?e.asChild:u.value),y=t.computed(()=>{let g=r.schema.value.fields;return e.omit&&(g=g.filter(h=>!e.omit.includes(Object.keys(h)[0]))),e.fieldsOrder?g.sort((h,w)=>{const b=Object.keys(h)[0],N=Object.keys(w)[0],C=e.fieldsOrder.indexOf(b),k=e.fieldsOrder.indexOf(N);return C===-1&&k===-1?0:C===-1?1:k===-1?-1:C-k}):g});function _(){l.value=!l.value,l.value?o.value=a(r.path.value):o.value=null}return t.watch(p,g=>{e.collapsible&&(s.value=g)}),t.onBeforeMount(()=>{l.value=!!(o!=null&&o.value)}),(g,h)=>{var b;const w=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.$slots[t.unref(oo)]))),r.error?(t.openBlock(),t.createBlock(w,{key:0,appearance:"danger",message:r.error.message},null,8,["message"])):m.value?(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},g.$attrs,{"data-testid":`ff-object-${r.path.value}`}),[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,N=>(t.openBlock(),t.createBlock(ft,{key:Object.keys(N)[0],name:Object.keys(N)[0]},null,8,["name"]))),128))],!0)],16,Fw)):(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!c.value}],"data-testid":`ff-object-${r.path.value}`},g.$attrs),[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${r.path.value}`},[t.createVNode(t.unref(Re.KLabel),t.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${r.path.value}`},{...t.unref(d),required:!1},{"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(b=t.unref(d).labelAttributes)!=null&&b.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,jw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",Gw,[g.collapsible&&p.value?(t.openBlock(),t.createBlock(t.unref(Re.KButton),{key:0,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${c.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${r.path.value}`,icon:"",onClick:h[0]||(h[0]=N=>s.value=!c.value)},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(ve.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(d).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Re.KButton),{key:1,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${p.value?"remove":"add"}`),"data-testid":`ff-object-${p.value?"remove":"add"}-btn-${r.path.value}`,icon:"",onClick:_},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(ve.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(ve.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,Kw),t.createVNode(dd,null,{default:t.withCtx(()=>[c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${r.path.value}`},[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,N=>(t.openBlock(),t.createBlock(ft,{key:Object.keys(N)[0],name:Object.keys(N)[0]},null,8,["name"]))),128))],!0)],8,qw)):t.createCommentVNode("",!0)]),_:3})],16,Uw))],64)}}}),[["__scopeId","data-v-6f044592"]]),zw=["innerHTML"],Tn=Ie(t.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=bt(t.toRef(()=>e.name)),a=Bt(i.path,o),l=t.computed(()=>{var _;const p=(_=i.schema)==null?void 0:_.value;if(typeof p.gt=="number")return{min:p.gt};const[m,y]=p.between??[];return{min:o.min??m,max:o.max??y}}),s=n,c=r.value,u=t.computed(()=>(r==null?void 0:r.value)!=null&&Number.isFinite(r.value)?`${r.value}`:"");function f(p){c!==void 0&&p===""&&Number(p)!==c?(r.value=null,s("update:modelValue",null)):(r.value=p===""?null:Number(p),s("update:modelValue",p===""?null:Number(p)))}const d=Fo(i.ancestors);return(p,m)=>{var _;const y=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(y,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(In,t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(d),"data-testid":`ff-${i.path.value}`,"model-value":u.value,type:"number","onUpdate:modelValue":f}),t.createSlots({_:2},[(_=t.unref(a).labelAttributes)!=null&&_.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,zw)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-00c065d4"]]),Hw=["innerHTML"],At=Ie(t.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean}},emits:["update"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:i}=He(),{value:a,...l}=bt(t.toRef(()=>e.name)),s=Bt(l.path,r),c=t.computed(()=>e.items?e.items:l.path?i(l.path.value):[]),u=t.computed(()=>{var d;return e.multiple!==void 0?e.multiple:((d=l.schema.value)==null?void 0:d.type)==="set"}),f=t.computed(()=>u.value?Re.KMultiselect:Re.KSelect);return(d,p)=>{var y;const m=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(m,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(f),t.mergeProps({key:1},{...r,...t.unref(s)},{modelValue:t.unref(a),"onUpdate:modelValue":[p[0]||(p[0]=_=>t.isRef(a)?a.value=_:null),p[1]||(p[1]=_=>o("update",_))],class:"ff-enum-field",clearable:!t.unref(s).required,"data-testid":`ff-${l.path.value}`,items:c.value,"kpop-attributes":{"data-testid":`${l.path.value}-items`}}),t.createSlots({_:2},[(y=t.unref(s).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(d.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,Hw)],!0)]),key:"0"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-bfca8687"]]);function Mr(e,n,o=!0){const{value:r,...i}=bt(t.toRef(e,"name")),a=Bt(i.path,t.toRef({...e,...t.useAttrs()})),l=t.ref(u(e.initialValue??t.toValue(r)??{},e.keyOrder));function s(){return Vr("ff-kv-field-")}function c(g,h,w){const b=w.indexOf(g),N=w.indexOf(h);return b===-1&&N===-1?0:b===-1?1:N===-1?-1:b-N}function u(g,h){const w=Object.entries(g).map(([b,N])=>({id:s(),key:b,value:N}));return h&&w.sort((b,N)=>c(b.key,N.key,h)),w}function f(){const g={id:s(),key:e.defaultKey||"",value:e.defaultValue||""};return l.value.push(g),g}function d(g){const h=l.value.findIndex(w=>w.id===g);h!==-1&&l.value.splice(h,1)}function p(){l.value=u(e.initialValue||{},e.keyOrder)}function m(g){l.value=u(g,e.keyOrder)}let y=null;t.watch(l,g=>{if(!o)return;const h=g.length?Object.fromEntries(g.map(({key:w,value:b})=>[w,b]).filter(([w])=>w)):null;r.value=h,y=h,n("change",h)},{deep:!0,immediate:!0}),t.watch(()=>r==null?void 0:r.value,g=>{Do(g,y)||_(g)},{deep:!0});function _(g){if(!g){l.value=[];return}const h=new Map;l.value.forEach(C=>{C.key&&h.set(C.key,C)});const w=[],b=Object.keys(g);(e.keyOrder?[...b].sort((C,k)=>c(C,k,e.keyOrder)):b).forEach(C=>{const k=g[C];if(h.has(C)){const E=h.get(C);E.value=k,w.push(E)}else w.push({id:s(),key:C,value:k})}),l.value=w}return{entries:l,addEntry:f,removeEntry:d,reset:p,setValue:m,labelAttrs:a,field:i}}const Yw=["data-testid"],Ww=["data-testid"],Xw=["innerHTML"],Zw=["data-testid"],Jw=Ie(t.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}},keyOrder:{}},emits:["change"],setup(e,{expose:n,emit:o}){const r=t.createPropsRestProxy(e,["showVaultSecretPicker"]),{i18n:i}=Le(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:u,setValue:f,labelAttrs:d,field:p}=Mr(r,a),m=t.useTemplateRef("root");async function y(C,k="key"){var E;m.value&&(await t.nextTick(),(E=m.value.querySelector(`[data-${k}-input="${C}"]`))==null||E.focus())}function _(){s();const C=l.value.findIndex(({key:k})=>!k);y(C===-1?l.value.length-1:C)}function g(C){C===l.value.length-1&&s(),y(C+1)}const h=t.inject(Ue.AUTOFILL_SLOT,void 0),w=t.computed(()=>{var C,k;return e.showVaultSecretPicker??!!((k=(C=p.schema.value)==null?void 0:C.values)!=null&&k.referenceable)}),b=t.computed(()=>({referenceable:w.value}));function N(C,k){l.value[C].value=k}return n({reset:u,setValue:f}),(C,k)=>{var K;const E=t.resolveComponent("KAlert"),v=t.resolveComponent("KLabel"),$=t.resolveComponent("KButton");return t.unref(p).error?(t.openBlock(),t.createBlock(E,{key:0,appearance:"danger",message:t.unref(p).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"ff-kv-field","data-testid":`ff-kv-${t.unref(p).path.value}`},[t.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${t.unref(p).path.value}`},[t.createVNode(v,t.mergeProps({class:"ff-kv-field-label"},t.unref(d),{"data-testid":`ff-label-${t.unref(p).path.value}`,"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(K=t.unref(d).labelAttributes)!=null&&K.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,Xw)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode($,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(p).path.value}`,icon:"",onClick:_},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon))]),_:1},8,["data-testid"])],8,Ww),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l),(j,S)=>(t.openBlock(),t.createElementBlock("div",{key:j.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${t.unref(p).path.value}.${S}`},[t.createVNode(In,{modelValue:j.key,"onUpdate:modelValue":Q=>j.key=Q,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":S,"data-testid":`ff-key-${t.unref(p).path.value}.${S}`,placeholder:C.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(Q=>y(S,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(In,{modelValue:j.value,"onUpdate:modelValue":Q=>j.value=Q,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(p).path.value}.${S}`,"data-value-input":S,placeholder:C.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(Q=>g(S),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(h)&&w.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(h)),{key:0,schema:b.value,update:Q=>N(S,Q),value:j.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),w.value&&!t.unref(h)?(t.openBlock(),t.createBlock(E,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${t.unref(p).path.value}`,message:t.unref(i).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),t.createVNode($,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${t.unref(p).path.value}.${S}`,icon:"",onClick:Q=>t.unref(c)(j.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,Zw))),128))],8,Yw))}}}),[["__scopeId","data-v-92e0893d"]]),Qw=["data-testid"],ek=["innerHTML"],Va=Ie(t.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{name:{},labelAttributes:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=bt(t.toRef(()=>e.name)),s=Bt(l.path,t.toRef({...r,...o})),c=t.computed(()=>{var _,g;return((g=(_=l.schema)==null?void 0:_.value)==null?void 0:g.len_min)&&l.schema.value.len_min>0}),u=t.ref("");function f(_){return _.map(g=>g.trim()).filter(Boolean).join(", ")}function d(_){return _.trim().split(",").map(g=>g.trim()).filter(Boolean)}function p(_){u.value=_;const g=d(_),h=!g.length&&c.value?null:g;a.value=h,i("update:modelValue",h)}const m=Fo(l.ancestors),y=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Lo(e.name)==="name");return t.watch(a,_=>{const g=_?f(_):"";f(d(u.value))!==g&&(u.value=g)},{immediate:!0}),(_,g)=>{var w;const h=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[t.createVNode(In,t.mergeProps(t.unref(s),{class:"ff-tag-field","data-1p-ignore":y.value,"data-autofocus":t.unref(m),"data-testid":`ff-${l.path.value}`,"model-value":u.value??"","onUpdate:modelValue":p}),t.createSlots({_:2},[(w=t.unref(s).labelAttributes)!=null&&w.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,ek)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,Qw))}}}),[["__scopeId","data-v-a27f4ff1"]]),tk=["data-testid"],nk=["innerHTML"],ok=Ie(t.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{name:{},labelAttributes:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=bt(t.toRef(()=>e.name)),s=Bt(l.path,t.toRef({...r,...o})),c=t.ref("");function u(p){c.value=p;let m=p||null;try{const y=JSON.parse(p);y&&typeof y=="object"&&(m=y)}catch{}a.value=m,i("update:modelValue",m)}const f=Fo(l.ancestors),d=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Lo(e.name)==="name");return t.watch(a,p=>{if(p&&typeof p=="object"){try{const m=JSON.parse(c.value);Do(m,p)||(c.value=JSON.stringify(p,null,2))}catch{c.value=JSON.stringify(p,null,2)}return}c.value=p||""},{immediate:!0}),(p,m)=>{var _;const y=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(y,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-json-${l.path.value}`},[t.createVNode(In,t.mergeProps(t.unref(s),{class:"ff-json-field","data-1p-ignore":d.value,"data-autofocus":t.unref(f),"data-testid":`ff-${l.path.value}`,"model-value":c.value??"",multiline:"","onUpdate:modelValue":u}),t.createSlots({_:2},[(_=t.unref(s).labelAttributes)!=null&&_.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,nk)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,tk))}}}),[["__scopeId","data-v-5749f722"]]),rk=["innerHTML"],ik=Ie(t.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{name:{},labelAttributes:{},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:{t:r}}=Le(),i=t.createPropsRestProxy(e,["showPasswordMaskToggle","name"]),a=n,{value:l,...s}=bt(t.toRef(()=>e.name));if(s.error)throw new Error(s.error.message);const c=Bt(s.path,t.toRef({...i,...o})),u=l.value?l.value.id:null,f=t.computed(()=>{var _;return c.value.placeholder?c.value.placeholder:r("plugins.free-form.foreign_placeholder",{entity:((_=s.schema.value)==null?void 0:_.reference)??"entity"})}),d=t.ref(u??"");function p(_){u!==void 0&&_===""&&_!==u?(l.value=null,a("update:modelValue",null)):(l.value={id:_.trim()},a("update:modelValue",l.value))}const m=Fo(s.ancestors),y=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Lo(e.name)==="name");return(_,g)=>{var h;return t.openBlock(),t.createBlock(In,t.mergeProps(t.unref(c),{class:"ff-foreign-field","data-1p-ignore":y.value,"data-autofocus":t.unref(m),"data-testid":`ff-${s.path.value}`,error:_.error,"error-message":_.errorMessage,help:_.help,"model-value":d.value,placeholder:f.value,"onUpdate:modelValue":p}),t.createSlots({_:2},[(h=t.unref(c).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,rk)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])}}}),[["__scopeId","data-v-b54c028e"]]),ft=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const n=e,o=bt(t.toRef(n,"name")),r=t.computed(()=>{var i,a;switch((a=(i=o.schema)==null?void 0:i.value)==null?void 0:a.type){case"string":return"one_of"in o.schema.value?At:ro;case"boolean":return"one_of"in o.schema.value?At:Dr;case"number":case"integer":return"one_of"in o.schema.value?At:Tn;case"array":return Lr;case"set":return xw(o.schema)?Va:At;case"record":return wt;case"map":return Jw;case"json":return ok;case"foreign":return ik;default:return}});return(i,a)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref(oo)]))),t.unref(o).error?(t.openBlock(),t.createBlock(l,{key:0,appearance:"danger",message:t.unref(o).error.message},null,8,["message"])):t.unref(o).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(o).renderer.value),{key:1,name:Ta(t.unref(o).path.value),onGlobalAction:a[0]||(a[0]=(s,c)=>i.$emit("globalAction",s,c))},null,40,["name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,name:Ta(t.unref(o).path.value)},null,8,["name"])):(t.openBlock(),t.createBlock(l,{key:1,appearance:"warning",message:`${t.unref(o).path.value} ${t.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}}),ak=["data-testid"],lk=["data-testid"],sk=["innerHTML"],ck=["data-testid"],dk={class:"ff-array-field-item-content"},uk=["data-index","data-testid"],Lr=Ie(t.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(e,{emit:n}){var k;t.useCssVars(E=>({"3e1c9ee2":C.value}));const o=e,r=n,{i18n:{t:i}}=Le(),{getDefault:a,getSchema:l}=He(),{value:s,...c}=bt(t.toRef(o,"name")),u=Bt(c.path,t.toRef({...o,...t.useAttrs()})),f=t.computed(()=>{if(!c.path)throw new Error("Field path is required for sub-schema retrieval");const E=l(c.path.value);if(!E)throw new Error(`Schema not found for path: ${c.path.value}`);return E.elements}),d=t.computed(()=>o.items??t.toValue(s)??[]),{getKey:p}=sd("ff-array-field",d),m=t.computed(()=>o.appearance==="card"?Re.KCard:"div");function y(E,v){return typeof o.itemLabel=="function"?o.itemLabel(E,v):o.itemLabel||u.value.label||`Item #${v}`}const _=t.computed(()=>d.value.map((E,v)=>({hash:`#${p(E,v)}`,title:""}))),g=t.ref((k=_.value[0])==null?void 0:k.hash),h=async()=>{var v;const E=a($t(c.path.value,Ia));Array.isArray(s.value)||(s.value=[]),s.value.push(E),r("add"),o.appearance==="tabs"&&(await t.nextTick(),g.value=(v=_.value[_.value.length-1])==null?void 0:v.hash),await t.nextTick(),N(d.value.length+1)},w=async E=>{var v;Array.isArray(s.value)&&s.value.splice(E,1),r("remove",E),o.appearance==="tabs"&&(g.value=(v=_.value[Math.max(0,E-1)])==null?void 0:v.hash)},b=t.useTemplateRef("root");function N(E){var $;if(!b.value)return;const v=Math.max(0,Math.min(E,d.value.length-1));($=b.value.querySelector(`[data-index="${v}"] [data-autofocus]`))==null||$.focus()}const C=t.computed(()=>{const{appearance:E,stickyTabs:v}=o;return E!=="tabs"||v==null||v===!1?null:typeof v=="number"?`${o.stickyTabs}px`:typeof v=="string"?v:"0"});return(E,v)=>{var Q;const $=t.resolveComponent("KAlert"),K=t.resolveComponent("KLabel"),j=t.resolveComponent("KButton"),S=t.resolveComponent("KTabs");return c.error?(t.openBlock(),t.createBlock($,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:b,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${E.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":E.stickyTabs}]),"data-testid":`ff-array-${c.path.value}`},[t.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${c.path.value}`},[t.createVNode(K,t.mergeProps({class:"ff-array-field-label"},t.unref(u),{"data-testid":`ff-label-${c.path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(Q=t.unref(u).labelAttributes)!=null&&Q.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(E.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,sk)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(j,{appearance:"tertiary","aria-label":t.unref(i)("actions.add_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),"data-testid":`ff-add-item-btn-${c.path.value}`,icon:"",onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,lk),d.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[E.appearance!=="tabs"?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-array-field-container","data-testid":`ff-array-basic-container-${c.path.value}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(I,G)=>(t.openBlock(),t.createBlock(t.unref(m),{key:t.unref(p)(I,G),class:"ff-array-field-item","data-index":G,"data-testid":`ff-array-item-${c.path.value}.${G}`},{default:t.withCtx(()=>[t.createElementVNode("div",dk,[E.$slots.item?t.renderSlot(E.$slots,"item",{key:0,fieldName:String(G),index:G},void 0,!0):t.createCommentVNode("",!0),f.value.type==="array"&&f.value.elements.type==="string"?(t.openBlock(),t.createBlock(Va,{key:1,help:t.unref(i)("plugins.free-form.tag_helper"),name:String(G)},null,8,["help","name"])):(t.openBlock(),t.createBlock(ft,{key:2,name:String(G)},null,8,["name"]))]),t.createVNode(j,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${G}`,icon:"",onClick:U=>w(G)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,ck)):(t.openBlock(),t.createBlock(t.unref(Re.KCard),{key:1,"data-testid":`ff-array-tab-container-${c.path.value}`},{default:t.withCtx(()=>[t.createVNode(S,{modelValue:g.value,"onUpdate:modelValue":v[0]||(v[0]=I=>g.value=I),"data-testid":`ff-array-tabs-${c.path.value}`,tabs:_.value},t.createSlots({_:2},[t.renderList(d.value,(I,G)=>({name:t.unref(p)(I,G),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":G,"data-testid":`ff-array-item-${c.path.value}.${G}`},[E.$slots.item?t.renderSlot(E.$slots,"item",{key:0,fieldName:String(G),index:G},void 0,!0):(t.openBlock(),t.createBlock(ft,{key:1,name:String(G)},null,8,["name"]))],8,uk)])})),t.renderList(d.value,(I,G)=>({name:`${t.unref(p)(I,G)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(y(I,G))+" ",1),t.createVNode(j,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${G}`,icon:"",onClick:t.withModifiers(U=>w(G),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,ak))}}}),[["__scopeId","data-v-3edd064c"]]),Uo=Symbol(),fk=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:o}=He(),r=t.computed(()=>{const{callouts:l}=o.config;return l==null?[]:l.filter(({name:s})=>{var c;return s&&s!==((c=l[n.index])==null?void 0:c.name)})}),i=t.computed(()=>r.value.map(({[Uo]:l,name:s})=>({value:l,label:s}))),a=t.computed(()=>o.config.callouts[n.index]);return t.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(t.openBlock(),t.createBlock(wt,{name:l.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(At,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(wt,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(u=>[t.createVNode(At,t.mergeProps(u,{items:t.unref(Aa)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),pk=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=He();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[Uo]=cd())}return(r,i)=>(t.openBlock(),t.createBlock(Lr,{appearance:"tabs","item-label":a=>a.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:o},{item:t.withCtx(({index:a,fieldName:l})=>[t.createVNode(fk,{"field-name":l,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),ud=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:o}=t.useSlots(),r=t.inject(Rr);if(!r)throw new Error(Rr.toString()+"not provided");return o&&r.set(n.match,o),(i,a)=>null}}),pt=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change","globalAction"],setup(e,{expose:n,emit:o}){const r=o,i=t.useSlots(),a=Iw(e.schema);t.provide(td,a);const l=m=>{var y;return Sr((y=e.config)==null?void 0:y.hasValue)?e.config.hasValue(m):!!m},s=t.computed(()=>{let m=a.getSchema().fields;return e.fieldsOrder?m.sort((y,_)=>{const g=Object.keys(y)[0],h=Object.keys(_)[0],w=e.fieldsOrder.indexOf(g),b=e.fieldsOrder.indexOf(h);return w===-1&&b===-1?0:w===-1?1:b===-1?-1:w-b}):m});let c=!1;const u=t.reactive({});t.provide(ed,u),t.provide(Pa,Mo(i,"default",oo));const f=new Map;t.provide(Rr,f),t.provide(od,e.config??{}),t.watch(u,m=>{c&&r("change",t.toValue(m))},{deep:!0,immediate:!0});function d(m){Object.keys(u).forEach(y=>{delete u[y]}),Object.assign(u,m)}function p(m){var _;let y;!m||!l(t.toValue(m))?y=a.getDefault():y=Qn(t.toValue(m)),Sr((_=e.config)==null?void 0:_.prepareFormData)?d(e.config.prepareFormData(y)):d(y),c=!0}return t.onBeforeMount(()=>{p(e.data)}),t.watch(()=>e.data,m=>{p(m)},{deep:!0}),n({getInnerData:()=>t.toRaw(u)}),(m,y)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)[t.unref(oo)]))),t.renderSlot(m.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,_=>(t.openBlock(),t.createBlock(ft,{key:Object.keys(_)[0],name:Object.keys(_)[0],onGlobalAction:y[0]||(y[0]=(g,h)=>r("globalAction",g,h))},null,8,["name"]))),128))])]),_:3}))}}),mk={class:"ff-advanced-fields"},Fr=Ie(t.defineComponent({__name:"AdvancedFields",setup(e){const{t:n}=Xe.createI18n("en-us",ot),{getSchema:o}=He(),r=t.ref(!0);return(i,a)=>(t.openBlock(),t.createBlock(t.unref(Re.KCollapse),{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=l=>r.value=l),"data-testid":"view-advanced","trigger-label":r.value?t.unref(n)("plugins.form.grouping.advanced_parameters.view"):t.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createElementVNode("div",mk,[t.unref(o)("instance_name")?(t.openBlock(),t.createBlock(ft,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(o)("protocols")?(t.openBlock(),t.createBlock(ft,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(o)("tags")?(t.openBlock(),t.createBlock(Va,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:t.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0),t.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-54f66af5"]]),gk=Ie(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,r={prepareFormData:l,hasValue:s},{i18n:{t:i}}=Le();function a(u,f=!1){return u.reduce((d,{[Uo]:p,name:m})=>(f?d[m]=p:d[p]=m,d),{})}function l(u){var m;const f=Qn(u);if(!((m=f.config)!=null&&m.callouts))return f;const{callouts:d}=f.config;d.forEach(y=>{y.request.body.custom=y.request.body.custom??{},y[Uo]=cd()});const p=a(d,!0);return d.forEach(y=>{y.depends_on=y.depends_on.map(_=>p[_])}),f}function s(u){return!!(u!=null&&u.config)}function c(u){var p;if(!u)return;const f=Qn(u);if(!((p=f.config)!=null&&p.callouts))throw new Error("data is not correct");const d=a(f.config.callouts);f.config.callouts=f.config.callouts.map(m=>{const{[Uo]:y,depends_on:_,...g}=m;return{depends_on:_.map(h=>d[h]).filter(h=>h!=null),...g}}),o("change",f)}return(u,f)=>(t.openBlock(),t.createBlock(pt,{class:"rc-config-form",config:r,data:u.data,schema:u.schema,tag:"div",onChange:c},{[t.unref(oo)]:t.withCtx(()=>[t.createVNode(ud,{match:({path:d})=>d.endsWith("by_lua")},{default:t.withCtx(d=>[t.createVNode(ro,t.mergeProps(d,{autosize:"",class:"rc-code",multiline:"",placeholder:t.unref(i)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(ud,{match:({path:d})=>["cluster_nodes","sentinel_nodes"].some(p=>d.endsWith(p))},{default:t.withCtx(d=>[t.createVNode(Lr,t.mergeProps(d,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(pk),t.createVNode(wt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(wt,{appearance:"card",name:"cache"},{redis:t.withCtx(d=>[t.createVNode(wt,t.mergeProps(d,{"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}),t.createVNode(Fr)]),_:2},1032,["data","schema"]))}}),[["__scopeId","data-v-19d40902"]]),hk={class:"ff-form-pinned-fields"},yk={class:"ff-form-config-form"},Ra=Ie(t.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),o=e;t.useSlots();function r(f){return t.computed(()=>({fields:t.toValue(f).map(d=>{var p;return(p=o.formSchema)==null?void 0:p.fields.find(m=>m.model===d)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const f=o.schema;f.fields=f.fields.filter(p=>l.includes(Object.keys(p)[0])),f.fields.unshift({instance_name:{type:"string",description:n("plugins.form.fields.instance_name.help")}},{tags:{type:"set",default:[],description:n("plugins.form.fields.tags.help"),elements:{type:"string"}}});const d=f.fields.find(p=>Object.keys(p)[0]==="protocols");return d&&(d.protocols.help=d.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:d.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),d.protocols.description=n("plugins.form.fields.protocols.help")),f}),c=t.ref(!1),u=t.computed(()=>{const f=["config","instance_name","partials","protocols","tags","__ui_data"];return Sa(o.model,f)});return(f,d)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",hk,[t.createVNode(t.unref(Ue.VueFormGenerator),{model:f.formModel,options:f.formOptions,schema:t.unref(a),onModelUpdated:f.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(Re.KCollapse),{modelValue:c.value,"onUpdate:modelValue":d[1]||(d[1]=p=>c.value=p),class:"ff-form-config-fields"},{title:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.description")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",yk,[t.renderSlot(f.$slots,"default",{class:"ff-form",data:u.value,schema:s.value,onChange:d[0]||(d[0]=(...p)=>f.onFormChange&&f.onFormChange(...p))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-88b54620"]]),_k=t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Ue.AUTOFILL_SLOT,o==null?void 0:o[Ue.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Ra,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(gk,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),bk={key:1},wk=["innerHTML"],kk={class:"horizontal-container"},fd=Ie(t.defineComponent({__name:"RadioField",props:{name:{},labelAttributes:{},multiple:{type:Boolean},items:{},label:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=He(),a=bt(t.toRef(()=>e.name)),l=Bt(a.path,r),s=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=u=>{a.value&&(a.value.value=u),o("update:modelValue",u)};return(u,f)=>{var m;const d=t.resolveComponent("KAlert"),p=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.openBlock(),t.createElementBlock("div",bk,[t.createVNode(p,t.normalizeProps(t.guardReactiveProps(t.unref(l).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).label)+" ",1)]),_:2},[(m=t.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(l).labelAttributes.info},null,8,wk)]),key:"0"}:void 0]),1040),t.createElementVNode("div",kk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,y=>(t.openBlock(),t.createBlock(t.unref(Re.KRadio),{key:y.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[f[0]||(f[0]=_=>t.unref(a).value.value=_),c],"card-orientation":"horizontal",label:y.label,"selected-value":y.value},null,8,["model-value","label","selected-value"]))),128))])]))}}}),[["__scopeId","data-v-b5a23a0b"]]),Ck={class:"sp-form-request-limits-subtitle"},Ek={class:"sp-form-request-limits-content"},Nk={class:"sp-form-window-type"},Sk={class:"sp-form-request-limits-items"},xk={class:"sp-form-request-limits-row"},vk=["id"],Ak={class:"sp-form-request-limits-actions"},Ik={key:0,class:"sp-form-request-limits-examples"},Tk={class:"sp-form-request-limits-examples-badges"},Da="config.window_type",Pk=Ie(t.defineComponent({__name:"RequestLimitsForm",setup(e){var g;const{t:n}=Xe.createI18n("en-us",ot),{formData:o,getSelectItems:r,getSchema:i}=He(),a=t.computed(()=>{var w,b;const h=(b=(w=o.config)==null?void 0:w.limit)==null?void 0:b.map((N,C)=>{var k,E;return{limit:N,windowSize:(E=(k=o.config)==null?void 0:k.window_size)==null?void 0:E[C]}});return!Array.isArray(h)||h.length===0?[{limit:null,windowSize:null}]:h}),{getKey:l}=sd("request-limits",a),s=h=>{var w,b;p.value=void 0,o.config&&((w=o.config.limit)!=null&&w.length||(o.config.limit=[null]),(b=o.config.window_size)!=null&&b.length||(o.config.window_size=[null]),o.config.limit.splice(h+1,0,null),o.config.window_size.splice(h+1,0,null))},c=h=>{o.config&&(o.config.limit.splice(h,1),o.config.window_size.splice(h,1))},u=(g=i(Da))==null?void 0:g.default,f=t.computed(()=>rc(o,Da)),d=t.computed(()=>r(Da).sort((h,w)=>h.value===u?-1:w.value===u?1:0)),p=t.ref(),m={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},y=t.computed(()=>Object.prototype.hasOwnProperty.call(m,f.value)?m[f.value]:[]),_=(h,w)=>{if(w===p.value){t.nextTick(()=>{p.value=void 0}),o.config.limit=[],o.config.window_size=[];return}t.nextTick(()=>{p.value=w}),o.config.limit=[h.config.limit],o.config.window_size=[h.config.window_size]};return(h,w)=>{const b=t.resolveComponent("KLabel"),N=t.resolveComponent("KButton"),C=t.resolveComponent("KBadge"),k=t.resolveComponent("KTooltip"),E=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(E,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",Ck,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Ek,[t.createElementVNode("div",Nk,[t.createVNode(fd,{items:d.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":w[0]||(w[0]=v=>p.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",Sk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(v,$)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(v,$)},[t.createVNode(b,{for:`sp-form-request-limits-item-${$}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:$+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",xk,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${$}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Tn,{name:`$.config.limit.${$}`,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(Tn,{name:`$.config.window_size.${$}`,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,vk),t.createElementVNode("div",Ak,[t.createVNode(N,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c($)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(N,{appearance:"tertiary",onClick:()=>s($)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),y.value.length>0?(t.openBlock(),t.createElementBlock("div",Ik,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",Tk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(v,$)=>(t.openBlock(),t.createBlock(k,{key:`use-case-${$}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(v.description),1),w[1]||(w[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(v.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(v.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(C,{appearance:p.value===`${f.value}-${$}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>_(v,`${f.value}-${$}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(v.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),Ok={id:"sp-form-error-legend",class:"sp-form-error-inputs"},$k=Ie(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=Xe.createI18n("en-us",ot);return(o,r)=>{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",Ok,[t.createVNode(Tn,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(ro,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),Bk={class:"partial-config-card"},Vk={class:"config-card-row-label"},Rk={class:"label-text"},Dk=["data-testid"],Mk=["data-testid"],Lk={key:1},Fk=["data-testid"],Uk=["data-testid"],Kk=Ie(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:o}=Xe.createI18n("en-us",ot),r={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},i=e,a=d=>d!=null,l=(d,p)=>a(p)&&["password","sentinel_password"].includes(d)?"password":"text",{convertKeyToTitle:s}=me.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([d,p])=>{var m,y,_,g;return{key:d,label:((m=r[d])==null?void 0:m.label)??s(d),value:(y=r[d])!=null&&y.formatter?r[d].formatter(p):p,type:((_=r[d])==null?void 0:_.type)??l(d,p),order:((g=r[d])==null?void 0:g.order)??100}}).sort((d,p)=>d.order-p.order).filter(d=>d.type!=="hidden")),u=Sw(i.configFields,i.pluginRedisFields||[]),f=t.computed(()=>c.value.concat(u));return(d,p)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",Bk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,({key:y,label:_,value:g,type:h})=>(t.openBlock(),t.createElementBlock("div",{key:y,class:"partial-config-card-row"},[t.createElementVNode("div",Vk,[t.createElementVNode("div",Rk,t.toDisplayString(_),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${y}-property-value`},[a(g)?(t.openBlock(),t.createElementBlock("div",Lk,[h==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${y}-copy-password`},[t.createVNode(m,{format:"redacted",text:String(g)},null,8,["text"])],8,Fk)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${y}-plain-text`},t.toDisplayString(g),9,Uk))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${y}-no-value`}," – ",8,Mk))],8,Dk)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),jk=Ie(t.defineComponent({__name:"NewRedisPartialModal",props:{visible:{type:Boolean,default:!1},partialType:{type:String,default:""}},emits:["partialUpdated","partialUpdateFailed","modalClose"],setup(e,{emit:n}){const o=e,{t:r}=Xe.createI18n("en-us",ot),i=t.inject(Ue.FORMS_CONFIG),a=n,{getMessageFromError:l}=me.useErrors(),s=t.computed(()=>{switch(o.partialType){case Yn.PartialType.REDIS_CE:return Yn.PartialType.REDIS_EE;case Yn.PartialType.REDIS_EE:return Yn.PartialType.REDIS_CE;default:return}}),c=t.ref(!1),u=t.ref(),f=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},d=()=>{a("partialUpdated",{message:r("plugins.free-form.redis_partial.partial_created_success_message"),appearance:"success"}),p()},p=()=>{u.value=void 0,a("modalClose"),t.nextTick(()=>{c.value=!1})};return t.watch(()=>o.visible,m=>{m&&(c.value=!0,t.nextTick(()=>{u.value="#km-modal-footer"}))}),(m,y)=>{const _=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(_,{class:"plugin-redis-partial-form","data-testid":"redis-partial-form-modal","full-screen":"",title:t.unref(r)("plugins.free-form.redis_partial.redis_partial_modal_title"),visible:c.value,onCancel:p},{footer:t.withCtx(()=>y[0]||(y[0]=[t.createElementVNode("div",{id:"km-modal-footer"},null,-1)])),default:t.withCtx(()=>[t.createVNode(t.unref(Yn.RedisConfigurationForm),{"action-teleport-target":u.value,config:t.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:p,onError:f,onUpdate:d},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),Gk="#ecfcff",qk="#f1f0ff",zk="#52596e",Hk="#e0e4ea",Yk="#007d60",Wk="#fffce0",Xk="#6c7489",Zk="#0044f4",Jk="#5f9aff",Ma="#000933",La="#d60027",Qk="#ffe5e5",eC="#00abd2",tC="#d60067",nC="#6f28ff",pd="#afb7c5",Fa="#6c7489",oC="#0044f4",rC="#eefaff",iC="#007d60",aC="#ecfffb",lC="#995c00",Ko="12px",md="16px",Ua="20px",gd="8px",sC="32px",hd=Symbol("redis-partial-info"),yd={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},_d=["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"],cC={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},dC={key:0,class:"shared-redis-config"},uC={class:"shared-redis-config-title"},fC={class:"redis-config-select","data-testid":"redis-config-select"},pC={class:"selected-redis-config"},mC=["data-testid"],gC={class:"select-item-name","data-testid":"selected-redis-config"},hC={class:"empty-redis-config","data-testid":"empty-redis-config"},yC={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},_C="1000",bC=Ie(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:n}){var ee;const o=n,{t:r}=Xe.createI18n("en-us",ot),i=e,a=t.inject(hd),l=(a==null?void 0:a.isEditing)||!1,s=t.computed(()=>{var M;return i.redisPath?i.redisPath:(M=a==null?void 0:a.redisPath)!=null&&M.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((ee=a==null?void 0:a.redisType)==null?void 0:ee.value)||"all",u=t.computed(()=>{var M;return!!((M=a==null?void 0:a.redisType)!=null&&M.value)}),f=t.ref(!1),d=t.ref(null),p=t.ref(!l),{getMessageFromError:m}=me.useErrors(),y=t.ref(i.defaultRedisConfigItem),_=t.ref({}),g=t.ref(),{value:h}=ld("$.partials"),{value:w}=bt(s),b=t.inject(Ue.FORMS_CONFIG),{debouncedQueryChange:N,loading:C,error:k,loadItems:E,results:v}=me.useDebouncedFilter(b,yd[b.app].getAll,_C,{fetchedItemsKey:"data",searchKeys:["id","name"]}),$=t.computed(()=>k.value?m(k.value):""),K=M=>{let O=`${b.apiBaseUrl}${yd[b.app].getOne}`;return b.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,(b==null?void 0:b.controlPlaneId)||""):b.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,b!=null&&b.workspace?`/${b.workspace}`:"")),O=O.replace(/{id}/gi,String(M)),O},j=t.computed(()=>{const M=(v.value||[]).map(O=>({label:O.id,name:O.name,value:O.id,type:O.type,tag:Cw(O)})).filter(O=>O.type==="redis-ce"||O.type==="redis-ee");return c!=="all"?M.filter(O=>O.type===c):M}),{axiosInstance:S}=me.useAxios(b==null?void 0:b.axiosRequestConfig),Q=()=>{p.value?(g.value&&(h.value=g.value,y.value=g.value[0].id,w.value=void 0),w!=null&&w.value&&(_.value=w.value)):(Object.keys(_.value).length&&(w.value=_.value),h!=null&&h.value&&(g.value=h.value),h.value=l?null:void 0)},I=M=>{E(),o("globalAction","notify",M)},G=M=>{o("globalAction","notify",M)},U=async M=>{if(M){y.value=M,h.value=[{id:M}],g.value=[{id:M}],w.value=void 0;try{const O=await S.get(K(M));if(O.data.config){const A=Object.assign(O.data,O.data.config);delete A.config,d.value=A}}catch(O){console.error(O)}}};return t.watch(()=>p.value,()=>{Q()}),t.onBeforeMount(()=>{var M;if(E(),i.defaultRedisConfigItem||h!=null&&h.value){const O=i.defaultRedisConfigItem||((M=h==null?void 0:h.value)==null?void 0:M[0].id);U(O),p.value=!0}else w!=null&&w.value&&(_.value=w.value)}),(M,O)=>{const A=t.resolveComponent("KBadge"),P=t.resolveComponent("KRadio"),T=t.resolveComponent("KSelect"),Y=t.resolveComponent("KCard");return u.value?(t.openBlock(),t.createBlock(Y,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(r)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",cC,[t.createVNode(P,{modelValue:p.value,"onUpdate:modelValue":O[0]||(O[0]=z=>p.value=z),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:t.unref(r)("redis.shared_configuration.description"),label:t.unref(r)("redis.shared_configuration.label"),"selected-value":!0},{default:t.withCtx(()=>[t.createVNode(A,{appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("redis.shared_configuration.badge")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.createVNode(P,{modelValue:p.value,"onUpdate:modelValue":O[1]||(O[1]=z=>p.value=z),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:t.unref(r)("redis.dedicated_configuration.description"),label:t.unref(r)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),p.value?(t.openBlock(),t.createElementBlock("div",dC,[t.createElementVNode("div",uC,t.toDisplayString(t.unref(r)("redis.shared_configuration.title")),1),t.createElementVNode("div",fC,[t.createVNode(T,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:j.value,loading:t.unref(C),"model-value":y.value,placeholder:t.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:O[3]||(O[3]=z=>U(z==null?void 0:z.value)),onQueryChange:t.unref(N)},{"selected-item-template":t.withCtx(({item:z})=>[t.createElementVNode("div",pC,t.toDisplayString(z.name),1)]),"item-template":t.withCtx(({item:z})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${z.name}`},[t.createElementVNode("span",gC,t.toDisplayString(z.name),1),t.createVNode(A,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(z.tag),1)]),_:2},1024)],8,mC)]),empty:t.withCtx(()=>[t.createElementVNode("div",hC,t.toDisplayString(t.unref(r)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:O[2]||(O[2]=()=>f.value=!0)},[t.createVNode(t.unref(ve.AddIcon),{size:t.unref(Ko)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(r)("redis.shared_configuration.create_new_configuration",{type:t.unref(Nw)(t.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),d.value?(t.openBlock(),t.createBlock(Kk,{key:0,"config-fields":d.value},null,8,["config-fields"])):t.createCommentVNode("",!0),$.value?(t.openBlock(),t.createElementBlock("p",yC,t.toDisplayString($.value||t.unref(r)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(wt,t.mergeProps({key:1},i,{"as-child":"","fields-order":t.unref(_d),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),t.createVNode(jk,{"partial-type":t.unref(c),visible:f.value,onModalClose:O[4]||(O[4]=z=>f.value=!1),onPartialUpdateFailed:G,onPartialUpdated:I},null,8,["partial-type","visible"])]),_:1},8,["title"])):(t.openBlock(),t.createBlock(wt,t.mergeProps({key:1},i,{"fields-order":t.unref(_d),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-2148fcde"]]),wC=t.defineComponent({__name:"RedisField",emits:["globalAction"],setup(e){const{formData:n}=He();return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=void 0)}),(o,r)=>(t.openBlock(),t.createBlock(dd,null,{default:t.withCtx(()=>{var i;return[((i=t.unref(n).config)==null?void 0:i.strategy)==="redis"?(t.openBlock(),t.createBlock(bC,{key:0,onGlobalAction:r[0]||(r[0]=(...a)=>o.$emit("globalAction",...a))})):t.createCommentVNode("",!0)]}),_:1}))}}),kC=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change","globalAction"],setup(e,{emit:n}){const o=n,r={hasValue:a=>!!(a!=null&&a.config)};function i(a){var l;((l=a.config)==null?void 0:l.namespace)===null&&delete a.config.namespace,o("change",a)}return(a,l)=>(t.openBlock(),t.createBlock(pt,{config:r,data:a.data,schema:a.schema,tag:"div",onChange:i},{default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Pk),t.createVNode($k)]),_:1}),t.createVNode(Fr,null,{default:t.withCtx(()=>[t.createVNode(ft,{name:"config.dictionary_name"}),t.createVNode(ft,{name:"config.lock_dictionary_name"}),t.createVNode(ft,{name:"config.strategy"}),t.createVNode(wC,{onGlobalAction:l[0]||(l[0]=(...s)=>a.$emit("globalAction",...s))}),t.createVNode(ft,{name:"config.namespace"}),t.createVNode(ft,{name:"config.hide_client_headers"}),t.createVNode(ft,{name:"config.disable_penalty"}),t.createVNode(ft,{name:"config.retry_after_jitter_max"}),t.createVNode(ft,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),CC=t.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},emits:["globalAction"],setup(e){const n=e,o=t.useSlots();return t.provide(Ue.AUTOFILL_SLOT,o==null?void 0:o[Ue.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Ra,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(kC,t.mergeProps(a,{onGlobalAction:i[0]||(i[0]=(...l)=>r.$emit("globalAction",...l))}),null,16)]),_:1},16))}}),EC={class:"ff-standard-layout"},NC={class:"enabled"},SC={class:"scope"},xC={key:0,class:"scope-detail"},bd=Ie(t.defineComponent({__name:"StandardLayout",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),o=e,r=t.useSlots(),i=t.computed(()=>{var g;return{fields:(g=o.formSchema)==null?void 0:g.fields.filter(h=>h.model==="enabled")}}),a=t.computed(()=>{var g;return(g=o.formSchema)==null?void 0:g.fields.find(h=>h.model==="selectionGroup")}),l=t.computed(()=>(a.value.fields||[]).map(({label:g,description:h})=>({label:g,description:h}))),s=t.computed(()=>a.value.fields[1]),c=t.computed(()=>{var h;const g=["instance_name","protocols","tags"];return{fields:(h=o.formSchema)==null?void 0:h.fields.filter(w=>g.includes(w.model))}}),u=["config"],f=t.computed(()=>{const g=o.schema;return g.fields=g.fields.filter(h=>u.includes(Object.keys(h)[0])),g}),d=t.computed(()=>{const g=["config","partials","__ui_data"];return Sa(o.model,g)}),p=Sa(o.formModel,["service-id","route-id","consumer-id","consumer_group-id"]),m=t.ref(Object.values(p).some(g=>!!g)),y=t.ref(!0);function _(g,h){p[h]=g,o.onModelUpdated(g,h)}return t.watch(m,g=>{g?Object.keys(p).forEach(h=>{o.onModelUpdated(p[h],h)}):Object.keys(p).forEach(h=>{o.onModelUpdated("",h)})}),(g,h)=>{const w=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",EC,[t.createVNode(t.unref(me.EntityFormBlock),{description:g.generalInfoDescription??t.unref(n)("plugins.form.sections.general_info.description"),step:1,title:g.generalInfoTitle??t.unref(n)("plugins.form.sections.general_info.title")},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",NC,[t.createVNode(t.unref(Ue.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createElementVNode("div",SC,[t.createVNode(t.unref(Re.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":h[0]||(h[0]=b=>m.value=b),card:"","card-orientation":"horizontal"},l.value[0],{"selected-value":!1}),null,16,["modelValue"]),t.createVNode(t.unref(Re.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":h[1]||(h[1]=b=>m.value=b),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),m.value?(t.openBlock(),t.createElementBlock("div",xC,[t.createVNode(t.unref(Ue.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:_},null,8,["model","options","schema"])])):t.createCommentVNode("",!0),t.createVNode(w,{modelValue:y.value,"onUpdate:modelValue":h[2]||(h[2]=b=>y.value=b),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:c.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),_:1},8,["modelValue"])]),_:2},[r["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,r["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,r["general-info-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),t.createVNode(t.unref(me.EntityFormBlock),{description:g.pluginConfigDescription??t.unref(n)("plugins.form.sections.plugin_config.description"),step:2,title:g.pluginConfigTitle??t.unref(n)("plugins.form.sections.plugin_config.title")},t.createSlots({default:t.withCtx(()=>[t.renderSlot(g.$slots,"default",{data:d.value,schema:f.value,onChange:h[3]||(h[3]=(...b)=>g.onFormChange&&g.onFormChange(...b))},void 0,!0)]),_:2},[r["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,r["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,r["plugin-config-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])])}}}),[["__scopeId","data-v-8d0a8a0c"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function wd(e){return typeof e>"u"||e===null}function vC(e){return typeof e=="object"&&e!==null}function AC(e){return Array.isArray(e)?e:wd(e)?[]:[e]}function IC(e,n){var o,r,i,a;if(n)for(a=Object.keys(n),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=n[i];return e}function TC(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function PC(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var OC=wd,$C=vC,BC=AC,VC=TC,RC=PC,DC=IC,rt={isNothing:OC,isObject:$C,toArray:BC,repeat:VC,isNegativeZero:RC,extend:DC};function kd(e,n){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=`
|
|
13
|
+
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Cn},{ttl:{help:"Time-to-live value for data"}}]},wg=e=>(e==null?void 0:e.app)==="kongManager"?{shamefullyTransformPayload:({payload:n})=>{(e!=null&&e.credential&&typeof n.ttl!="number"||Number.isNaN(n.ttl))&&(n.ttl=0)}}:{},kg={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}},{ttl:{between:[0,1e8],description:"Time-to-live value for data",type:"number"}}]},Lt={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",nameKey:"plugins.meta.basic-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",nameKey:"plugins.meta.hmac-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",nameKey:"plugins.meta.jwt-signer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",nameKey:"plugins.meta.jwt.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",nameKey:"plugins.meta.key-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",nameKey:"plugins.meta.key-auth-enc.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",nameKey:"plugins.meta.ldap-auth-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",nameKey:"plugins.meta.ldap-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",nameKey:"plugins.meta.oauth2-introspection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",nameKey:"plugins.meta.oauth2.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",nameKey:"plugins.meta.openid-connect.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",nameKey:"plugins.meta.mtls-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",nameKey:"plugins.meta.vault-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",nameKey:"plugins.meta.bot-detection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",nameKey:"plugins.meta.cors.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",nameKey:"plugins.meta.opa.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.acl},canary:{descriptionKey:"plugins.meta.canary.description",nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",nameKey:"plugins.meta.proxy-cache.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",nameKey:"plugins.meta.proxy-cache-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",nameKey:"plugins.meta.rate-limiting-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",nameKey:"plugins.meta.request-size-limiting.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",nameKey:"plugins.meta.request-termination.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",nameKey:"plugins.meta.response-ratelimiting.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",nameKey:"plugins.meta.route-by-header.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",nameKey:"plugins.meta.aws-lambda.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",nameKey:"plugins.meta.azure-functions.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",nameKey:"plugins.meta.openwhisk.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",nameKey:"plugins.meta.pre-function.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",nameKey:"plugins.meta.post-function.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",nameKey:"plugins.meta.datadog.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",nameKey:"plugins.meta.prometheus.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",nameKey:"plugins.meta.zipkin.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",nameKey:"plugins.meta.collector.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",nameKey:"plugins.meta.response-transformer-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",nameKey:"plugins.meta.correlation-id.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",nameKey:"plugins.meta.request-transformer-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",nameKey:"plugins.meta.request-transformer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",nameKey:"plugins.meta.response-transformer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",nameKey:"plugins.meta.kafka-upstream.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",nameKey:"plugins.meta.degraphql.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",nameKey:"plugins.meta.exit-transformer.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",nameKey:"plugins.meta.file-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",nameKey:"plugins.meta.http-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",nameKey:"plugins.meta.loggly.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",nameKey:"plugins.meta.statsd-advanced.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",nameKey:"plugins.meta.statsd.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",nameKey:"plugins.meta.syslog.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",nameKey:"plugins.meta.tcp-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",nameKey:"plugins.meta.udp-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",nameKey:"plugins.meta.kafka-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",nameKey:"plugins.meta.session.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",nameKey:"plugins.meta.upstream-tls.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",nameKey:"plugins.meta.application-registration.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",nameKey:"plugins.meta.konnect-application-auth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",nameKey:"plugins.meta.acme.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",nameKey:"plugins.meta.grpc-gateway.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",nameKey:"plugins.meta.grpc-web.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",nameKey:"plugins.meta.upstream-timeout.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",nameKey:"plugins.meta.websocket-validator.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",nameKey:"plugins.meta.tls-metadata-headers.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",nameKey:"plugins.meta.tls-handshake-modifier.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",nameKey:"plugins.meta.oas-validation.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",nameKey:"plugins.meta.jwe-decrypt.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",nameKey:"plugins.meta.xml-threat-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",nameKey:"plugins.meta.saml.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",nameKey:"plugins.meta.app-dynamics.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",nameKey:"plugins.meta.json-threat-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",nameKey:"plugins.meta.standard-webhooks.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",nameKey:"plugins.meta.header-cert-auth.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...H.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",nameKey:"plugins.meta.upstream-oauth.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",nameKey:"plugins.meta.confluent.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",nameKey:"plugins.meta.service-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",nameKey:"plugins.meta.injection-protection.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",nameKey:"plugins.meta.redirect.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",nameKey:"plugins.meta.kafka-consume.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",nameKey:"plugins.meta.confluent-consume.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",nameKey:"plugins.meta.request-callout.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-sanitizer"]},"ai-rag-injector":{descriptionKey:"plugins.meta.ai-rag-injector.description",nameKey:"plugins.meta.ai-rag-injector.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",nameKey:"plugins.meta.datakit.name",useUIData:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP.datakit},"ai-prompt-compressor":{descriptionKey:"plugins.meta.ai-prompt-compressor.description",nameKey:"plugins.meta.ai-prompt-compressor.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",nameKey:"plugins.meta.solace-upstream.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["solace-upstream"]},"ai-aws-guardrails":{descriptionKey:"plugins.meta.ai-aws-guardrails.description",nameKey:"plugins.meta.ai-aws-guardrails.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]},ace:{descriptionKey:"plugins.meta.ace.description",nameKey:"plugins.meta.ace.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP.ace},"solace-consume":{descriptionKey:"plugins.meta.solace-consume.description",nameKey:"plugins.meta.solace-consume.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["solace-consume"]},"solace-log":{descriptionKey:"plugins.meta.solace-log.description",nameKey:"plugins.meta.solace-log.name",...H.PLUGIN_GROUP_AND_SCOPE_MAP["solace-log"]},"ai-llm-as-judge":{descriptionKey:"plugins.meta.ai-llm-as-judge.description",nameKey:"plugins.meta.ai-llm-as-judge.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-llm-as-judge"]},"ai-mcp-proxy":{descriptionKey:"plugins.meta.ai-mcp-proxy.description",nameKey:"plugins.meta.ai-mcp-proxy.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-proxy"]},"ai-gcp-model-armor":{descriptionKey:"plugins.meta.ai-gcp-model-armor.description",nameKey:"plugins.meta.ai-gcp-model-armor.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-gcp-model-armor"]},"ai-mcp-oauth2":{descriptionKey:"plugins.meta.ai-mcp-oauth2.description",nameKey:"plugins.meta.ai-mcp-oauth2.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-mcp-oauth2"]},"ai-semantic-response-guard":{descriptionKey:"plugins.meta.ai-semantic-response-guard.description",nameKey:"plugins.meta.ai-semantic-response-guard.name",useLegacyForm:!0,...H.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-response-guard"]}},Xn={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:Is,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:kn(Is),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Ts,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:kn(Ts)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Ps,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:kn(Ps)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Bs,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:kn(Bs)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:$s,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:kn($s)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Os,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:kn(Os)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:yg,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Cg={acls:cg,basicauth_credentials:dg,keyauth_credentials:gg,keyauth_enc_credentials:kg,oauth2_credentials:bg,hmacauth_credentials:hg,jwt_secrets:_g},Eg=()=>{const{i18n:{t:e}}=Le(),n={},o={};for(const[i,a]of Object.entries(Lt))n[i]={...a,name:e(a.nameKey),description:e(a.descriptionKey)};for(const[i,a]of Object.entries(Xn))o[i]={...a,name:e(a.nameKey),title:e(a.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:Xn,getDisplayName:i=>{var a;return((a=n[i])==null?void 0:a.name)||i}}},Io={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Ng={"config-prompts-prepend":{...Io,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Io,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},Sg={"config-templates":{...Io,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},xg={shamefullyTransformPayload:({originalModel:e,model:n,payload:o,schema:r})=>{const i=l=>{var s;return(s=r[l])!=null&&s.required&&n[l]?!0:e[l]===n[l]?!1:e[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},a=l=>Object.keys(e).some(s=>s.startsWith(l)&&i(s));a("config-embeddings")||(o.config.embeddings=null),a("config-vectordb")||(o.config.vectordb=null)}},vg={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},Ag={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:Wn.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",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"}],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.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Fe={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},Er={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Ig={"config-metrics":{...Er,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Tg={"config-functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},Pg={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Og={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},$g={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Bg={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Vg={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Vs=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Wn.fields.arrayItems({newElementButtonLabel:"Add"})}),Vg),Nr={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},Rg={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},Dg=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:Wn.fields.arrayItems({newElementButtonLabel:"Add"})}),Rg),Rs={"config-add-json":{...Fe,label:"Config.Add.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Fe,label:"Config.Append.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Fe,label:"Config.Remove.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Fe,label:"Config.Rename.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Fe,label:"Config.Replace.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},Mg={...Rs,"config-allow-json":{...Fe,label:"Config.Allow.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Fe,label:"Config.Transform.Functions",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Fe,label:"Config.Transform.Json",inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},Lg={"config-rules":{...Io,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},Fg={"config-session_redis_cluster_nodes":{...Io,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},Ug={"config-flow-functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},Kg={"config-message-functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}}},jg={"config-metrics":{...Er,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},Gg={"config-metrics":{...Er,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},qg={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},zg={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}};var Ds=typeof global=="object"&&global&&global.Object===Object&&global,Hg=typeof self=="object"&&self&&self.Object===Object&&self,Ft=Ds||Hg||Function("return this")(),xt=Ft.Symbol,Ms=Object.prototype,Yg=Ms.hasOwnProperty,Wg=Ms.toString,To=xt?xt.toStringTag:void 0;function Xg(e){var n=Yg.call(e,To),o=e[To];try{e[To]=void 0;var r=!0}catch{}var i=Wg.call(e);return r&&(n?e[To]=o:delete e[To]),i}var Zg=Object.prototype,Jg=Zg.toString;function Qg(e){return Jg.call(e)}var eh="[object Null]",th="[object Undefined]",Ls=xt?xt.toStringTag:void 0;function En(e){return e==null?e===void 0?th:eh:Ls&&Ls in Object(e)?Xg(e):Qg(e)}function Wt(e){return e!=null&&typeof e=="object"}var nh="[object Symbol]";function Ji(e){return typeof e=="symbol"||Wt(e)&&En(e)==nh}function Fs(e,n){for(var o=-1,r=e==null?0:e.length,i=Array(r);++o<r;)i[o]=n(e[o],o,e);return i}var Ot=Array.isArray,Us=xt?xt.prototype:void 0,Ks=Us?Us.toString:void 0;function js(e){if(typeof e=="string")return e;if(Ot(e))return Fs(e,js)+"";if(Ji(e))return Ks?Ks.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Nn(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}function oh(e){return e}var rh="[object AsyncFunction]",ih="[object Function]",ah="[object GeneratorFunction]",lh="[object Proxy]";function Sr(e){if(!Nn(e))return!1;var n=En(e);return n==ih||n==ah||n==rh||n==lh}var Qi=Ft["__core-js_shared__"],Gs=function(){var e=/[^.]+$/.exec(Qi&&Qi.keys&&Qi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function sh(e){return!!Gs&&Gs in e}var ch=Function.prototype,dh=ch.toString;function Sn(e){if(e!=null){try{return dh.call(e)}catch{}try{return e+""}catch{}}return""}var uh=/[\\^$.*+?()[\]{}|]/g,fh=/^\[object .+?Constructor\]$/,ph=Function.prototype,mh=Object.prototype,gh=ph.toString,hh=mh.hasOwnProperty,yh=RegExp("^"+gh.call(hh).replace(uh,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function _h(e){if(!Nn(e)||sh(e))return!1;var n=Sr(e)?yh:fh;return n.test(Sn(e))}function bh(e,n){return e==null?void 0:e[n]}function xn(e,n){var o=bh(e,n);return _h(o)?o:void 0}var ea=xn(Ft,"WeakMap"),qs=Object.create,wh=function(){function e(){}return function(n){if(!Nn(n))return{};if(qs)return qs(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function kh(e,n,o){switch(o.length){case 0:return e.call(n);case 1:return e.call(n,o[0]);case 2:return e.call(n,o[0],o[1]);case 3:return e.call(n,o[0],o[1],o[2])}return e.apply(n,o)}function Ch(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}var Eh=800,Nh=16,Sh=Date.now;function xh(e){var n=0,o=0;return function(){var r=Sh(),i=Nh-(r-o);if(o=r,i>0){if(++n>=Eh)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}function vh(e){return function(){return e}}var xr=function(){try{var e=xn(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Ah=xr?function(e,n){return xr(e,"toString",{configurable:!0,enumerable:!1,value:vh(n),writable:!0})}:oh,Ih=xh(Ah);function Th(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}var Ph=9007199254740991,Oh=/^(?:0|[1-9]\d*)$/;function ta(e,n){var o=typeof e;return n=n??Ph,!!n&&(o=="number"||o!="symbol"&&Oh.test(e))&&e>-1&&e%1==0&&e<n}function zs(e,n,o){n=="__proto__"&&xr?xr(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}function na(e,n){return e===n||e!==e&&n!==n}var $h=Object.prototype,Bh=$h.hasOwnProperty;function oa(e,n,o){var r=e[n];(!(Bh.call(e,n)&&na(r,o))||o===void 0&&!(n in e))&&zs(e,n,o)}function Po(e,n,o,r){var i=!o;o||(o={});for(var a=-1,l=n.length;++a<l;){var s=n[a],c=void 0;c===void 0&&(c=e[s]),i?zs(o,s,c):oa(o,s,c)}return o}var Hs=Math.max;function Vh(e,n,o){return n=Hs(n===void 0?e.length-1:n,0),function(){for(var r=arguments,i=-1,a=Hs(r.length-n,0),l=Array(a);++i<a;)l[i]=r[n+i];i=-1;for(var s=Array(n+1);++i<n;)s[i]=r[i];return s[n]=o(l),kh(e,this,s)}}var Rh=9007199254740991;function ra(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Rh}function ia(e){return e!=null&&ra(e.length)&&!Sr(e)}var Dh=Object.prototype;function vr(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||Dh;return e===o}function Mh(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var Lh="[object Arguments]";function Ys(e){return Wt(e)&&En(e)==Lh}var Ws=Object.prototype,Fh=Ws.hasOwnProperty,Uh=Ws.propertyIsEnumerable,Ar=Ys(function(){return arguments}())?Ys:function(e){return Wt(e)&&Fh.call(e,"callee")&&!Uh.call(e,"callee")};function Kh(){return!1}var Xs=typeof Pe=="object"&&Pe&&!Pe.nodeType&&Pe,Zs=Xs&&typeof module=="object"&&module&&!module.nodeType&&module,jh=Zs&&Zs.exports===Xs,Js=jh?Ft.Buffer:void 0,Gh=Js?Js.isBuffer:void 0,Oo=Gh||Kh,qh="[object Arguments]",zh="[object Array]",Hh="[object Boolean]",Yh="[object Date]",Wh="[object Error]",Xh="[object Function]",Zh="[object Map]",Jh="[object Number]",Qh="[object Object]",ey="[object RegExp]",ty="[object Set]",ny="[object String]",oy="[object WeakMap]",ry="[object ArrayBuffer]",iy="[object DataView]",ay="[object Float32Array]",ly="[object Float64Array]",sy="[object Int8Array]",cy="[object Int16Array]",dy="[object Int32Array]",uy="[object Uint8Array]",fy="[object Uint8ClampedArray]",py="[object Uint16Array]",my="[object Uint32Array]",ze={};ze[ay]=ze[ly]=ze[sy]=ze[cy]=ze[dy]=ze[uy]=ze[fy]=ze[py]=ze[my]=!0,ze[qh]=ze[zh]=ze[ry]=ze[Hh]=ze[iy]=ze[Yh]=ze[Wh]=ze[Xh]=ze[Zh]=ze[Jh]=ze[Qh]=ze[ey]=ze[ty]=ze[ny]=ze[oy]=!1;function gy(e){return Wt(e)&&ra(e.length)&&!!ze[En(e)]}function aa(e){return function(n){return e(n)}}var Qs=typeof Pe=="object"&&Pe&&!Pe.nodeType&&Pe,$o=Qs&&typeof module=="object"&&module&&!module.nodeType&&module,hy=$o&&$o.exports===Qs,la=hy&&Ds.process,Zn=function(){try{var e=$o&&$o.require&&$o.require("util").types;return e||la&&la.binding&&la.binding("util")}catch{}}(),ec=Zn&&Zn.isTypedArray,sa=ec?aa(ec):gy,yy=Object.prototype,_y=yy.hasOwnProperty;function tc(e,n){var o=Ot(e),r=!o&&Ar(e),i=!o&&!r&&Oo(e),a=!o&&!r&&!i&&sa(e),l=o||r||i||a,s=l?Mh(e.length,String):[],c=s.length;for(var u in e)(n||_y.call(e,u))&&!(l&&(u=="length"||i&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||ta(u,c)))&&s.push(u);return s}function nc(e,n){return function(o){return e(n(o))}}var by=nc(Object.keys,Object),wy=Object.prototype,ky=wy.hasOwnProperty;function oc(e){if(!vr(e))return by(e);var n=[];for(var o in Object(e))ky.call(e,o)&&o!="constructor"&&n.push(o);return n}function ca(e){return ia(e)?tc(e):oc(e)}function Cy(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Ey=Object.prototype,Ny=Ey.hasOwnProperty;function Sy(e){if(!Nn(e))return Cy(e);var n=vr(e),o=[];for(var r in e)r=="constructor"&&(n||!Ny.call(e,r))||o.push(r);return o}function da(e){return ia(e)?tc(e,!0):Sy(e)}var xy=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,vy=/^\w*$/;function Ay(e,n){if(Ot(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Ji(e)?!0:vy.test(e)||!xy.test(e)||n!=null&&e in Object(n)}var Bo=xn(Object,"create");function Iy(){this.__data__=Bo?Bo(null):{},this.size=0}function Ty(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Py="__lodash_hash_undefined__",Oy=Object.prototype,$y=Oy.hasOwnProperty;function By(e){var n=this.__data__;if(Bo){var o=n[e];return o===Py?void 0:o}return $y.call(n,e)?n[e]:void 0}var Vy=Object.prototype,Ry=Vy.hasOwnProperty;function Dy(e){var n=this.__data__;return Bo?n[e]!==void 0:Ry.call(n,e)}var My="__lodash_hash_undefined__";function Ly(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=Bo&&n===void 0?My:n,this}function vn(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}vn.prototype.clear=Iy,vn.prototype.delete=Ty,vn.prototype.get=By,vn.prototype.has=Dy,vn.prototype.set=Ly;function Fy(){this.__data__=[],this.size=0}function Ir(e,n){for(var o=e.length;o--;)if(na(e[o][0],n))return o;return-1}var Uy=Array.prototype,Ky=Uy.splice;function jy(e){var n=this.__data__,o=Ir(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():Ky.call(n,o,1),--this.size,!0}function Gy(e){var n=this.__data__,o=Ir(n,e);return o<0?void 0:n[o][1]}function qy(e){return Ir(this.__data__,e)>-1}function zy(e,n){var o=this.__data__,r=Ir(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,this}function Xt(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Xt.prototype.clear=Fy,Xt.prototype.delete=jy,Xt.prototype.get=Gy,Xt.prototype.has=qy,Xt.prototype.set=zy;var Vo=xn(Ft,"Map");function Hy(){this.size=0,this.__data__={hash:new vn,map:new(Vo||Xt),string:new vn}}function Yy(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Tr(e,n){var o=e.__data__;return Yy(n)?o[typeof n=="string"?"string":"hash"]:o.map}function Wy(e){var n=Tr(this,e).delete(e);return this.size-=n?1:0,n}function Xy(e){return Tr(this,e).get(e)}function Zy(e){return Tr(this,e).has(e)}function Jy(e,n){var o=Tr(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function Zt(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Zt.prototype.clear=Hy,Zt.prototype.delete=Wy,Zt.prototype.get=Xy,Zt.prototype.has=Zy,Zt.prototype.set=Jy;var Qy="Expected a function";function ua(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Qy);var o=function(){var r=arguments,i=n?n.apply(this,r):r[0],a=o.cache;if(a.has(i))return a.get(i);var l=e.apply(this,r);return o.cache=a.set(i,l)||a,l};return o.cache=new(ua.Cache||Zt),o}ua.Cache=Zt;var e_=500;function t_(e){var n=ua(e,function(r){return o.size===e_&&o.clear(),r}),o=n.cache;return n}var n_=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,o_=/\\(\\)?/g,r_=t_(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(n_,function(o,r,i,a){n.push(i?a.replace(o_,"$1"):r||o)}),n});function fa(e){return e==null?"":js(e)}function Jn(e,n){return Ot(e)?e:Ay(e,n)?[e]:r_(fa(e))}function Pr(e){if(typeof e=="string"||Ji(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function pa(e,n){n=Jn(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[Pr(n[o++])];return o&&o==r?e:void 0}function rc(e,n,o){var r=e==null?void 0:pa(e,n);return r===void 0?o:r}function ma(e,n){for(var o=-1,r=n.length,i=e.length;++o<r;)e[i+o]=n[o];return e}var ic=xt?xt.isConcatSpreadable:void 0;function i_(e){return Ot(e)||Ar(e)||!!(ic&&e&&e[ic])}function a_(e,n,o,r,i){var a=-1,l=e.length;for(o||(o=i_),i||(i=[]);++a<l;){var s=e[a];o(s)?ma(i,s):i[i.length]=s}return i}function l_(e){var n=e==null?0:e.length;return n?a_(e):[]}function ac(e){return Ih(Vh(e,void 0,l_),e+"")}var ga=nc(Object.getPrototypeOf,Object),s_="[object Object]",c_=Function.prototype,d_=Object.prototype,lc=c_.toString,u_=d_.hasOwnProperty,f_=lc.call(Object);function p_(e){if(!Wt(e)||En(e)!=s_)return!1;var n=ga(e);if(n===null)return!0;var o=u_.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&lc.call(o)==f_}function sc(e,n,o){var r=-1,i=e.length;n<0&&(n=-n>i?0:i+n),o=o>i?i:o,o<0&&(o+=i),i=n>o?0:o-n>>>0,n>>>=0;for(var a=Array(i);++r<i;)a[r]=e[r+n];return a}function m_(e,n,o){var r=e.length;return o=o===void 0?r:o,!n&&o>=r?e:sc(e,n,o)}var g_="\\ud800-\\udfff",h_="\\u0300-\\u036f",y_="\\ufe20-\\ufe2f",__="\\u20d0-\\u20ff",b_=h_+y_+__,w_="\\ufe0e\\ufe0f",k_="\\u200d",C_=RegExp("["+k_+g_+b_+w_+"]");function cc(e){return C_.test(e)}function E_(e){return e.split("")}var dc="\\ud800-\\udfff",N_="\\u0300-\\u036f",S_="\\ufe20-\\ufe2f",x_="\\u20d0-\\u20ff",v_=N_+S_+x_,A_="\\ufe0e\\ufe0f",I_="["+dc+"]",ha="["+v_+"]",ya="\\ud83c[\\udffb-\\udfff]",T_="(?:"+ha+"|"+ya+")",uc="[^"+dc+"]",fc="(?:\\ud83c[\\udde6-\\uddff]){2}",pc="[\\ud800-\\udbff][\\udc00-\\udfff]",P_="\\u200d",mc=T_+"?",gc="["+A_+"]?",O_="(?:"+P_+"(?:"+[uc,fc,pc].join("|")+")"+gc+mc+")*",$_=gc+mc+O_,B_="(?:"+[uc+ha+"?",ha,fc,pc,I_].join("|")+")",V_=RegExp(ya+"(?="+ya+")|"+B_+$_,"g");function R_(e){return e.match(V_)||[]}function D_(e){return cc(e)?R_(e):E_(e)}function M_(e){return function(n){n=fa(n);var o=cc(n)?D_(n):void 0,r=o?o[0]:n.charAt(0),i=o?m_(o,1).join(""):n.slice(1);return r[e]()+i}}var L_=M_("toUpperCase");function F_(){this.__data__=new Xt,this.size=0}function U_(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function K_(e){return this.__data__.get(e)}function j_(e){return this.__data__.has(e)}var G_=200;function q_(e,n){var o=this.__data__;if(o instanceof Xt){var r=o.__data__;if(!Vo||r.length<G_-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new Zt(r)}return o.set(e,n),this.size=o.size,this}function Jt(e){var n=this.__data__=new Xt(e);this.size=n.size}Jt.prototype.clear=F_,Jt.prototype.delete=U_,Jt.prototype.get=K_,Jt.prototype.has=j_,Jt.prototype.set=q_;function z_(e,n){return e&&Po(n,ca(n),e)}function H_(e,n){return e&&Po(n,da(n),e)}var hc=typeof Pe=="object"&&Pe&&!Pe.nodeType&&Pe,yc=hc&&typeof module=="object"&&module&&!module.nodeType&&module,Y_=yc&&yc.exports===hc,_c=Y_?Ft.Buffer:void 0,bc=_c?_c.allocUnsafe:void 0;function W_(e,n){if(n)return e.slice();var o=e.length,r=bc?bc(o):new e.constructor(o);return e.copy(r),r}function X_(e,n){for(var o=-1,r=e==null?0:e.length,i=0,a=[];++o<r;){var l=e[o];n(l,o,e)&&(a[i++]=l)}return a}function wc(){return[]}var Z_=Object.prototype,J_=Z_.propertyIsEnumerable,kc=Object.getOwnPropertySymbols,_a=kc?function(e){return e==null?[]:(e=Object(e),X_(kc(e),function(n){return J_.call(e,n)}))}:wc;function Q_(e,n){return Po(e,_a(e),n)}var eb=Object.getOwnPropertySymbols,Cc=eb?function(e){for(var n=[];e;)ma(n,_a(e)),e=ga(e);return n}:wc;function tb(e,n){return Po(e,Cc(e),n)}function Ec(e,n,o){var r=n(e);return Ot(e)?r:ma(r,o(e))}function ba(e){return Ec(e,ca,_a)}function Nc(e){return Ec(e,da,Cc)}var wa=xn(Ft,"DataView"),ka=xn(Ft,"Promise"),Ca=xn(Ft,"Set"),Sc="[object Map]",nb="[object Object]",xc="[object Promise]",vc="[object Set]",Ac="[object WeakMap]",Ic="[object DataView]",ob=Sn(wa),rb=Sn(Vo),ib=Sn(ka),ab=Sn(Ca),lb=Sn(ea),vt=En;(wa&&vt(new wa(new ArrayBuffer(1)))!=Ic||Vo&&vt(new Vo)!=Sc||ka&&vt(ka.resolve())!=xc||Ca&&vt(new Ca)!=vc||ea&&vt(new ea)!=Ac)&&(vt=function(e){var n=En(e),o=n==nb?e.constructor:void 0,r=o?Sn(o):"";if(r)switch(r){case ob:return Ic;case rb:return Sc;case ib:return xc;case ab:return vc;case lb:return Ac}return n});var sb=Object.prototype,cb=sb.hasOwnProperty;function db(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&cb.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var Or=Ft.Uint8Array;function Ea(e){var n=new e.constructor(e.byteLength);return new Or(n).set(new Or(e)),n}function ub(e,n){var o=n?Ea(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var fb=/\w*$/;function pb(e){var n=new e.constructor(e.source,fb.exec(e));return n.lastIndex=e.lastIndex,n}var Tc=xt?xt.prototype:void 0,Pc=Tc?Tc.valueOf:void 0;function mb(e){return Pc?Object(Pc.call(e)):{}}function gb(e,n){var o=n?Ea(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var hb="[object Boolean]",yb="[object Date]",_b="[object Map]",bb="[object Number]",wb="[object RegExp]",kb="[object Set]",Cb="[object String]",Eb="[object Symbol]",Nb="[object ArrayBuffer]",Sb="[object DataView]",xb="[object Float32Array]",vb="[object Float64Array]",Ab="[object Int8Array]",Ib="[object Int16Array]",Tb="[object Int32Array]",Pb="[object Uint8Array]",Ob="[object Uint8ClampedArray]",$b="[object Uint16Array]",Bb="[object Uint32Array]";function Vb(e,n,o){var r=e.constructor;switch(n){case Nb:return Ea(e);case hb:case yb:return new r(+e);case Sb:return ub(e,o);case xb:case vb:case Ab:case Ib:case Tb:case Pb:case Ob:case $b:case Bb:return gb(e,o);case _b:return new r;case bb:case Cb:return new r(e);case wb:return pb(e);case kb:return new r;case Eb:return mb(e)}}function Rb(e){return typeof e.constructor=="function"&&!vr(e)?wh(ga(e)):{}}var Db="[object Map]";function Mb(e){return Wt(e)&&vt(e)==Db}var Oc=Zn&&Zn.isMap,Lb=Oc?aa(Oc):Mb,Fb="[object Set]";function Ub(e){return Wt(e)&&vt(e)==Fb}var $c=Zn&&Zn.isSet,Kb=$c?aa($c):Ub,jb=1,Gb=2,qb=4,Bc="[object Arguments]",zb="[object Array]",Hb="[object Boolean]",Yb="[object Date]",Wb="[object Error]",Vc="[object Function]",Xb="[object GeneratorFunction]",Zb="[object Map]",Jb="[object Number]",Rc="[object Object]",Qb="[object RegExp]",ew="[object Set]",tw="[object String]",nw="[object Symbol]",ow="[object WeakMap]",rw="[object ArrayBuffer]",iw="[object DataView]",aw="[object Float32Array]",lw="[object Float64Array]",sw="[object Int8Array]",cw="[object Int16Array]",dw="[object Int32Array]",uw="[object Uint8Array]",fw="[object Uint8ClampedArray]",pw="[object Uint16Array]",mw="[object Uint32Array]",qe={};qe[Bc]=qe[zb]=qe[rw]=qe[iw]=qe[Hb]=qe[Yb]=qe[aw]=qe[lw]=qe[sw]=qe[cw]=qe[dw]=qe[Zb]=qe[Jb]=qe[Rc]=qe[Qb]=qe[ew]=qe[tw]=qe[nw]=qe[uw]=qe[fw]=qe[pw]=qe[mw]=!0,qe[Wb]=qe[Vc]=qe[ow]=!1;function Ro(e,n,o,r,i,a){var l,s=n&jb,c=n&Gb,u=n&qb;if(o&&(l=i?o(e,r,i,a):o(e)),l!==void 0)return l;if(!Nn(e))return e;var f=Ot(e);if(f){if(l=db(e),!s)return Ch(e,l)}else{var d=vt(e),p=d==Vc||d==Xb;if(Oo(e))return W_(e,s);if(d==Rc||d==Bc||p&&!i){if(l=c||p?{}:Rb(e),!s)return c?tb(e,H_(l,e)):Q_(e,z_(l,e))}else{if(!qe[d])return i?e:{};l=Vb(e,d,s)}}a||(a=new Jt);var m=a.get(e);if(m)return m;a.set(e,l),Kb(e)?e.forEach(function(g){l.add(Ro(g,n,o,g,e,a))}):Lb(e)&&e.forEach(function(g,h){l.set(h,Ro(g,n,o,h,e,a))});var y=u?c?Nc:ba:c?da:ca,_=f?void 0:y(e);return Th(_||e,function(g,h){_&&(h=g,g=e[h]),oa(l,h,Ro(g,n,o,h,e,a))}),l}var gw=1,hw=4;function Qn(e){return Ro(e,gw|hw)}var yw="__lodash_hash_undefined__";function _w(e){return this.__data__.set(e,yw),this}function bw(e){return this.__data__.has(e)}function $r(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new Zt;++n<o;)this.add(e[n])}$r.prototype.add=$r.prototype.push=_w,$r.prototype.has=bw;function ww(e,n){for(var o=-1,r=e==null?0:e.length;++o<r;)if(n(e[o],o,e))return!0;return!1}function kw(e,n){return e.has(n)}var Cw=1,Ew=2;function Dc(e,n,o,r,i,a){var l=o&Cw,s=e.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var u=a.get(e),f=a.get(n);if(u&&f)return u==n&&f==e;var d=-1,p=!0,m=o&Ew?new $r:void 0;for(a.set(e,n),a.set(n,e);++d<s;){var y=e[d],_=n[d];if(r)var g=l?r(_,y,d,n,e,a):r(y,_,d,e,n,a);if(g!==void 0){if(g)continue;p=!1;break}if(m){if(!ww(n,function(h,w){if(!kw(m,w)&&(y===h||i(y,h,o,r,a)))return m.push(w)})){p=!1;break}}else if(!(y===_||i(y,_,o,r,a))){p=!1;break}}return a.delete(e),a.delete(n),p}function Nw(e){var n=-1,o=Array(e.size);return e.forEach(function(r,i){o[++n]=[i,r]}),o}function Sw(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var xw=1,vw=2,Aw="[object Boolean]",Iw="[object Date]",Tw="[object Error]",Pw="[object Map]",Ow="[object Number]",$w="[object RegExp]",Bw="[object Set]",Vw="[object String]",Rw="[object Symbol]",Dw="[object ArrayBuffer]",Mw="[object DataView]",Mc=xt?xt.prototype:void 0,Na=Mc?Mc.valueOf:void 0;function Lw(e,n,o,r,i,a,l){switch(o){case Mw:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case Dw:return!(e.byteLength!=n.byteLength||!a(new Or(e),new Or(n)));case Aw:case Iw:case Ow:return na(+e,+n);case Tw:return e.name==n.name&&e.message==n.message;case $w:case Vw:return e==n+"";case Pw:var s=Nw;case Bw:var c=r&xw;if(s||(s=Sw),e.size!=n.size&&!c)return!1;var u=l.get(e);if(u)return u==n;r|=vw,l.set(e,n);var f=Dc(s(e),s(n),r,i,a,l);return l.delete(e),f;case Rw:if(Na)return Na.call(e)==Na.call(n)}return!1}var Fw=1,Uw=Object.prototype,Kw=Uw.hasOwnProperty;function jw(e,n,o,r,i,a){var l=o&Fw,s=ba(e),c=s.length,u=ba(n),f=u.length;if(c!=f&&!l)return!1;for(var d=c;d--;){var p=s[d];if(!(l?p in n:Kw.call(n,p)))return!1}var m=a.get(e),y=a.get(n);if(m&&y)return m==n&&y==e;var _=!0;a.set(e,n),a.set(n,e);for(var g=l;++d<c;){p=s[d];var h=e[p],w=n[p];if(r)var b=l?r(w,h,p,n,e,a):r(h,w,p,e,n,a);if(!(b===void 0?h===w||i(h,w,o,r,a):b)){_=!1;break}g||(g=p=="constructor")}if(_&&!g){var N=e.constructor,C=n.constructor;N!=C&&"constructor"in e&&"constructor"in n&&!(typeof N=="function"&&N instanceof N&&typeof C=="function"&&C instanceof C)&&(_=!1)}return a.delete(e),a.delete(n),_}var Gw=1,Lc="[object Arguments]",Fc="[object Array]",Br="[object Object]",qw=Object.prototype,Uc=qw.hasOwnProperty;function zw(e,n,o,r,i,a){var l=Ot(e),s=Ot(n),c=l?Fc:vt(e),u=s?Fc:vt(n);c=c==Lc?Br:c,u=u==Lc?Br:u;var f=c==Br,d=u==Br,p=c==u;if(p&&Oo(e)){if(!Oo(n))return!1;l=!0,f=!1}if(p&&!f)return a||(a=new Jt),l||sa(e)?Dc(e,n,o,r,i,a):Lw(e,n,c,o,r,i,a);if(!(o&Gw)){var m=f&&Uc.call(e,"__wrapped__"),y=d&&Uc.call(n,"__wrapped__");if(m||y){var _=m?e.value():e,g=y?n.value():n;return a||(a=new Jt),i(_,g,o,r,a)}}return p?(a||(a=new Jt),jw(e,n,o,r,i,a)):!1}function Kc(e,n,o,r,i){return e===n?!0:e==null||n==null||!Wt(e)&&!Wt(n)?e!==e&&n!==n:zw(e,n,o,r,Kc,i)}function Hw(e,n){return e!=null&&n in Object(e)}function Yw(e,n,o){n=Jn(n,e);for(var r=-1,i=n.length,a=!1;++r<i;){var l=Pr(n[r]);if(!(a=e!=null&&o(e,l)))break;e=e[l]}return a||++r!=i?a:(i=e==null?0:e.length,!!i&&ra(i)&&ta(l,i)&&(Ot(e)||Ar(e)))}function Ww(e,n){return e!=null&&Yw(e,n,Hw)}function Xw(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}function Zw(e,n){return n.length<2?e:pa(e,sc(n,0,-1))}var Jw="[object Map]",Qw="[object Set]",e0=Object.prototype,t0=e0.hasOwnProperty;function jc(e){if(e==null)return!0;if(ia(e)&&(Ot(e)||typeof e=="string"||typeof e.splice=="function"||Oo(e)||sa(e)||Ar(e)))return!e.length;var n=vt(e);if(n==Jw||n==Qw)return!e.size;if(vr(e))return!oc(e).length;for(var o in e)if(t0.call(e,o))return!1;return!0}function Do(e,n){return Kc(e,n)}function Gc(e,n){return n=Jn(n,e),e=Zw(e,n),e==null||delete e[Pr(Xw(n))]}function n0(e){return p_(e)?void 0:e}var o0=1,r0=2,i0=4,Mo=ac(function(e,n){var o={};if(e==null)return o;var r=!1;n=Fs(n,function(a){return a=Jn(a,e),r||(r=a.length>1),a}),Po(e,Nc(e),o),r&&(o=Ro(o,o0|r0|i0,n0));for(var i=n.length;i--;)Gc(o,n[i]);return o});function qc(e,n,o,r){if(!Nn(e))return e;n=Jn(n,e);for(var i=-1,a=n.length,l=a-1,s=e;s!=null&&++i<a;){var c=Pr(n[i]),u=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(i!=l){var f=s[c];u=void 0,u===void 0&&(u=Nn(f)?f:ta(n[i+1])?[]:{})}oa(s,c,u),s=s[c]}return e}function a0(e,n,o){for(var r=-1,i=n.length,a={};++r<i;){var l=n[r],s=pa(e,l);o(s,l)&&qc(a,Jn(l,e),s)}return a}function l0(e,n){return a0(e,n,function(o,r){return Ww(e,r)})}var Sa=ac(function(e,n){return e==null?{}:l0(e,n)});function s0(e,n,o){return e==null?e:qc(e,n,o)}var c0=0;function Vr(e){var n=++c0;return fa(e)+n}function zc(e,n){return e==null?!0:Gc(e,n)}const d0=[{authentication:{mode:"none"},ssl_verify:!0},{authentication:{basic:{}}},{authentication:{basic:{},oauth2:{token_headers:{},token_post_args:{}},oauth2_client:{}}}],An=e=>{var n,o,r,i,a,l;((o=(n=e.confluent)==null?void 0:n.authentication)==null?void 0:o.mode)==="none"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client,delete e.confluent.authentication.basic),((i=(r=e.confluent)==null?void 0:r.authentication)==null?void 0:i.mode)==="basic"&&(delete e.confluent.authentication.oauth2,delete e.confluent.authentication.oauth2_client),((l=(a=e.confluent)==null?void 0:a.authentication)==null?void 0:l.mode)==="oauth2"&&delete e.confluent.authentication.basic,d0.some(s=>Do(e.confluent,s))&&(e.confluent=null)},u0={"config-message_by_lua_functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;An((n=e.config)==null?void 0:n.schema_registry)}},f0={"config-message_by_lua_functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n;An((n=e.config)==null?void 0:n.schema_registry)}},p0={"config-message_by_lua_functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;An((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{An(i==null?void 0:i.schema_registry)})}},m0={"config-message_by_lua_functions":{...Fe,inputAttributes:{...Fe.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:e})=>{var n,o,r;An((n=e.config)==null?void 0:n.schema_registry),(r=(o=e.config)==null?void 0:o.topics)==null||r.forEach(i=>{An(i==null?void 0:i.schema_registry)})}},g0={shamefullyTransformPayload:({payload:e})=>{var n;An((n=e.config)==null?void 0:n.schema_registry)}},h0={"config-static_tags":{...Er,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},y0={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm"};function xa(e,n){const o=y0[e];if(typeof o=="string")return o;if(n.includes(e))return o.component}const va=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),eo={DATAKIT_ENABLE_FLOW_EDITOR:Symbol("DATAKIT_ENABLE_FLOW_EDITOR"),DATAKIT_M2:Symbol("DATAKIT_M2")},Hc=Symbol("TOASTER_PROVIDER");function Yc(){return t.inject(va,[])}function _0(e){t.provide(va,e)}const b0=(e,n)=>{const o=e.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},Wc=(e,n)=>(e.order??0)-(n.order??0),Xc=(e,n)=>b0(e,n)||Wc(e,n)||e.model.localeCompare(n.model),Ge={useI18n:Le,usePluginMetaData:Eg,usePluginHelpers:xs,useSchemas:e=>{const{capitalize:n}=me.useStringHelpers(),{convertToDotNotation:o}=xs(),{i18n:{t:r}}=Le(),i=Yc(),a={"application-registration":{overwriteDefault:!0,formSchema:{...Ag}},datadog:{...Ig},"exit-transformer":{...Tg},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...jg},"statsd-advanced":{...Gg},"route-by-header":{...Lg},"ai-prompt-decorator":{...Ng},"ai-prompt-template":{...Sg},"ai-proxy-advanced":{...xg},"ai-llm-as-judge":{...vg},"vault-auth":{...zg},"oas-validation":{...Bg},mocking:{...$g},"rate-limiting":{...Nr},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Nr["config-consumer_groups"]}:{...Nr},"graphql-rate-limiting-advanced":{...Pg},"injection-protection":{...Og},"response-ratelimiting":{...Nr},"pre-function":{...Vs},"post-function":{...Vs},"request-transformer-advanced":{...Dg},"response-transformer":{...Rs},"response-transformer-advanced":{...Mg},zipkin:{...h0},"upstream-oauth":{...qg},saml:{...Fg},"kafka-upstream":{...u0},"solace-consume":{...Ug},"solace-upstream":{...Kg},"key-auth":mg(e),"key-auth-enc":wg(e),confluent:{...f0},"confluent-consume":{...p0},"kafka-consume":{...m0},"kafka-log":{...g0}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(k,E,v,$)=>{let K={};(E||k)&&(K=E||(k.fields?k.fields:k));const j=l().concat(k.blacklist?k.blacklist:[]),S=Object.keys(K).filter(A=>!j.includes(A)),Q=S.indexOf("comparator");Q>-1&&S.splice(Q,1);let I={fields:[]};const G={};S.forEach(A=>{u(K[A],A,K,G,I,v)});const U=G.name,ee=Lt[U],M=[],O=A=>{const P=["cluster-cache"];for(const T of P)if(A.model.includes(T))return!1;return new RegExp("(?<=-redis-).*").test(A.model)};if(I._supported_redis_partial_type=k._supported_redis_partial_type,I._redis_partial_path=k._redis_partial_path,Ue.getSharedFormName(U)||xa(U,i)||ee!=null&&ee.useLegacyForm||e!=null&&e.credential||$==="freeform"){if(ee!=null&&ee.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&k._supported_redis_partial_type){for(const A of I.fields)if(O(A)){M.push(A);continue}I.fields=I.fields.filter(A=>!O(A)),M.length&&I.fields.push({id:"_redis",fields:M,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path})}I.fields.sort((A,P)=>(A.order=A.order||0,P.order=P.order||0,A.order-P.order))}else{const A=[],P=[],T=[],Y=[],z={};if(ee!=null&&ee.fieldRules){const se=[...ee.fieldRules.atLeastOneOf??[],...ee.fieldRules.onlyOneOf??[],...ee.fieldRules.mutuallyRequired??[]];if(ee.fieldRules.onlyOneOfMutuallyRequired)for(const he of ee.fieldRules.onlyOneOfMutuallyRequired)se.push(...he);for(const he of se)for(const Z of he)z[Z.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const se of I.fields){if(e!=null&&e.enableRedisPartial&&k._supported_redis_partial_type&&O(se)){Y.push(se);continue}if(se.pinned){A.push(se);continue}if(se.required||z[se.model]!==void 0){z[se.model]===!1&&(z[se.model]=!0),P.push(se);continue}T.push(se)}Y.length&&T.push({id:"_redis",fields:Y,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path,order:-1});const ne=Object.entries(z).filter(([,se])=>!se).map(([se])=>se.replace(/-/g,".").replace(/_/g,"-"));ne.length>0&&console.warn(`Unknown checked fields for plugin ${U}: ${ne.join(", ")}`);const oe=[];A.length>0&&oe.push({fields:A.sort(Wc)}),(P.length>0||T.length>0)&&oe.push({fields:P.sort(Xc),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:T.sort(Xc),triggerLabel:{expand:r("plugins.form.grouping.advanced_parameters.view"),collapse:r("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),I={groups:oe}}return{schema:I,model:G,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=k=>Array.isArray(k.default)||k.default!=null&&typeof k.default!="object"&&k.default!=="function",u=(k,E,v,$,K,j)=>{const S=c(k);return $[E]=S?k.default:null,k.id=E,k.model=E,k.fields&&k.type==="record"?d(k,E,v,$,K,j):(v[E]=k,N(k,$),j&&j[E]&&f(v[E],j[E]),K.fields.push(k)),v},f=(k,E)=>(E&&(Object.assign(k,E),E.label&&(k.label=E.label)),k),d=(k,E,v,$,K,j)=>{k.fields.forEach(S=>{Object.keys(S).forEach(Q=>{const I=S[Q];v=u(I,E+"-"+Q,v,$,K,j)})})},p=(k,E)=>{k.type="input",k.inputType="hidden",k.styleClasses="kong-form-hidden-field-wrapper";const v=e==null?void 0:e.entityId;E[k.model]=v?{id:v}:null},m=k=>{k.type="input",k.inputType="number",k.between&&k.between.length===2&&(k.min=k.between[0],k.max=k.between[1])},y=k=>{Object.prototype.hasOwnProperty.call(k,"one_of")?(k.type="select",k.values=k.one_of,k.selectOptions={hideNoneSelectedText:!0}):(k.type="input",k.inputType="text")},_=k=>{k.type="checkbox",k.default=!0,k.required=!1},g=k=>{if(k.type="object-advanced",k.values.type==="array"){const{type:E}=k.values.elements||{};k.schema={fields:[{schema:{fields:[{...Fe,model:k.model,valueArrayType:E==="integer"?"number":E||"string",inputAttributes:{...Fe.inputAttributes,type:E==="integer"?"number":"text",inputMode:E==="integer"?"numeric":"text"}}]}}]}}else k.values.fields&&(k.schema={fields:[{type:"object",model:"object",schema:{fields:k.values.fields.map(E=>{const v=Object.keys(E)[0];return{model:v,type:"input",label:n(v),placeholder:v,inputType:E[v].type}})}}]})},h=k=>k.fields.reduce((E,v)=>(v.fields&&v.fields.forEach($=>{E[$.model]=$}),v.model&&(E[v.model]=v),E),{}),w=(k,E)=>{if(!Ue.customFields.includes(k.model))return;const v=h(k);Ue.customFields.forEach($=>{Object.keys(v).forEach(K=>{const j=c(v[K]);E[K]=j?v[K].default:null}),delete E[$]})},b=(k,E)=>k.inputType==="hidden"?"":o(n(k.label||E.replace(/_/g," "))),N=(k,E)=>{switch(w(k,E),k.type){case"foreign":p(k,E);break;case"number":m(k),k.attributes={step:"any"};break;case"integer":m(k);break;case"string":y(k);break;case"boolean":_(k);break;case"map":g(k);break}k.inputType==="foreign"&&p(k,E),k.label=b(k,k.model)};function C(k,E){if(E==null||E.type&&E.type!=="record"||typeof k!="object"||k==null)return k;const v={};for(const $ of E.fields){const K=Object.keys($)[0],j=$[K];j.type==="record"?v[K]=C(k[K],j):j.type==="array"&&Array.isArray(k[K])&&j.elements.type==="record"?v[K]=k[K].map(S=>C(S,j.elements)):v[K]=k[K]}return v}return{buildFormSchema:u,parseSchema:s,customSchemas:a,typedefs:Wn,pruneRecord:C}},useExperimentalFreeForms:Yc,useProvideExperimentalFreeForms:_0},st="/v2/control-planes/{controlPlaneId}/core-entities",ht="/{workspace}",We={list:{konnect:{all:`${st}/plugins`,forEntity:`${st}/{entityType}/{entityId}/plugins`},kongManager:{all:`${ht}/plugins`,forEntity:`${ht}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${st}/v1/available-plugins`,streamingCustomPlugins:`${st}/custom-plugins`,schemaCustomPluginItem:`${st}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${st}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${ht}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${st}/plugins`,forEntity:`${st}/{entityType}/{entityId}/plugins`},edit:{all:`${st}/plugins/{id}`,forEntity:`${st}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${st}/{resourceEndpoint}`,edit:`${st}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",entityGetOne:`${st}/{entity}/{id}`,entityGetAll:`${st}/{entity}`,entityPeek:`${st}/{entity}?size={amount}`},kongManager:{create:{all:`${ht}/plugins`,forEntity:`${ht}/{entityType}/{entityId}/plugins`},edit:{all:`${ht}/plugins/{id}`,forEntity:`${ht}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${ht}/schemas/plugins/{plugin}`,credential:{create:`${ht}/{resourceEndpoint}`,edit:`${ht}/{resourceEndpoint}/{id}`},credentialSchema:`${ht}/schemas/{plugin}`,entityGetOne:`${ht}/{entity}/{id}`,entityGetAll:`${ht}/{entity}`}},item:{konnect:{all:`${st}/plugins/{id}`,forEntity:`${st}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${ht}/plugins/{id}`,forEntity:`${ht}/{entityType}/{entityId}/plugins/{id}`}}},w0={key:0},k0=Ie(t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:o}=Ge.usePluginHelpers(),{i18n:{t:r}}=Ge.useI18n(),i=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(u=>o(u)).join(".")).join(", "),a=(s,c)=>r(s,{parameters:i(c)}),l=t.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(a("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(a("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(a("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const u=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(u,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,(f,d)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${d}`},t.toDisplayString(f),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",w0,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(f,d)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${d}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f,(p,m)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${d}-combination-${m}`},t.toDisplayString(i(p)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]),{t:to}=Xe.createI18n("en-us",ot);function Aa(e){return e.map(n=>({value:n,label:`${n}`}))}const Ia="*",Zc="$",Jc=".";function $t(...e){return e.join(Jc)}function Ta(...e){return $t(Zc,...e)}function Qc(e){return e.startsWith($t(Zc,""))}function no(e){return e.split(Jc).filter(n=>n!=="")}function Lo(e){const n=no(e);return n[n.length-1]}const C0=e=>{var n,o;return e.type==="redis-ce"?to("redis.shared_configuration.type_label.host_port"):(n=e.config.sentinel_nodes)!=null&&n.length?to("redis.shared_configuration.type_label.sentinel"):(o=e.config.cluster_nodes)!=null&&o.length?to("redis.shared_configuration.type_label.cluster"):to("redis.shared_configuration.type_label.host_port")},E0={"redis-ce":to("redis.shared_configuration.open_source"),"redis-ee":to("redis.shared_configuration.enterprise")},N0=e=>E0[e]??"";function S0(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(a=>{const l=a.model.match(o);return l&&!Object.keys(e).includes(l[0])}).map(a=>{const l=a.label.match(r);return{label:l?l[0]:a.label,key:a.model,value:"N/A",type:"text"}})}function x0(e){const n=t.toValue(e);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}const ed=Symbol("free-form-data"),td=Symbol("free-form-schema"),nd=Symbol("free-form-field-path"),Pa=Symbol("free-form-field-renderer-slots"),Rr=Symbol("free-form-field-renderer-matchers-map"),od=Symbol("free-form-config"),rd=Symbol("free-form-field-reset-label-path-setting"),oo="free-form-field-renderers-slot",v0={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function A0(e,n=""){const o={},r=e;return Array.isArray(r.fields)?Object.assign(o,Oa(r,n)):e.type==="array"&&e.elements&&Object.assign(o,$a(e,n)),o}function Oa(e,n=""){const o={};if(Array.isArray(e.fields))for(const r of e.fields){const i=Object.keys(r)[0],a=r[i],l=n?$t(n,i):i;if(o[l]=a,a.type==="record"&&Array.isArray(a.fields)){const s=Oa(a,l);Object.assign(o,s)}else if(a.type==="array"&&a.elements){const s=$a(a,l);Object.assign(o,s)}}return o}function $a(e,n=""){const o={};if(e.elements){const r=e.elements,i=$t(n,Ia);if(o[i]=r,r.type==="record"&&Array.isArray(r.fields)){const a=Oa(r,i);Object.assign(o,a)}else if(r.type==="array"&&r.elements){const a=$a(r,i);Object.assign(o,a)}}return o}function Ba(e){const n=no(e).map(o=>/^\d+$/.test(o)?Ia:o);return $t(...n)}function I0(e){const n=t.toValue(e),o=t.computed(()=>n?A0(n):{});function r(f){var d;return f==null?n:(d=o.value)==null?void 0:d[Ba(f)]}function i(f,d=!1){const p=r(f);return p?p.default!==void 0?p.default:d||p.required?p.type==="record"?a(p,f):p.type==="array"?[]:null:null:null}function a(f,d){const p={};if(Array.isArray(f.fields))for(const m of f.fields){const y=Object.keys(m)[0],_=d?`${d}.${y}`:y,g=i(_,!1);g!==void 0&&(p[y]=g)}return p}function l(f){return f?i(f,!0):a(r(),"")}function s(f){const d=r(f),p=d!=null&&d.description?wr.marked.parse(d.description,{async:!1}):void 0;return{...v0,"data-testid":`ff-label-${f}`,info:p}}function c(f){var p;const d=r(f);return Aa((d==null?void 0:d.one_of)||((p=d.elements)==null?void 0:p.one_of)||[])}function u(f){const d=r(f),p=d==null?void 0:d.default;let m=null;if((d==null?void 0:d.type)==="foreign"&&(p!=null&&p.id))m=p.id;else{if(p==null||typeof p=="object"||p==="")return null;if(Array.isArray(p)){if(p.length===0)return null;m=p.join(", ")}else m=p.toString()}return`Default: ${m}`}return{getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:u}}function He(){const e=t.inject(ed),n=t.inject(td),o=t.inject(od,{});if(!e)throw new Error("useFormShared() called without form data provider.");if(!n)throw new Error("useFormShared() called without schema provider.");return{formData:e,formConfig:o,...n}}const id=e=>{const n=t.inject(nd,t.computed(()=>"")),o=t.computed(()=>{const r=t.toValue(e);let i=r;return!Qc(r)&&n.value&&(i=$t(n.value,r)),Qc(r)&&(i=i.slice(Ta("").length)),i});return t.provide(nd,o),o},T0=e=>{const{getSchema:n}=He(),{default:o,...r}=t.useSlots(),i=t.inject(Pa),a=t.inject(Rr),l=t.computed(()=>{const c=t.toValue(i),u=Object.keys(r).filter(f=>f!==oo&&f!=="item").reduce((f,d)=>{const p=Ba($t(t.toValue(e),d));return{...f,[p]:r[d]}},{});return c?{...c,...u}:u});t.provide(Pa,l);const s=t.toValue(e);return t.computed(()=>{if(o)return;const c=l.value[Ba(t.toValue(e))];if(c)return c;for(const[u,f]of a)if(u({path:s,schema:n(s)}))return f})},P0={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP"};function O0(e){return P0[e.toLocaleLowerCase()]??e}function $0(e,n){const o=t.inject(rd,{parentPath:null,isolate:!1}),{parentPath:r,isolate:i}=t.toValue(o),a=t.ref(r?$t(r,e):e),l=t.ref({parentPath:a.value,isolate:i});return t.watch([t.toRef(n),t.toRef(o)],([s,c])=>{var p;const{parentPath:u,isolate:f}=c,d=u?$t(u,e):e;if(s){const m={isolate:()=>{a.value=e,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{a.value=e,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{a.value=d,l.value.isolate=!1,l.value.parentPath=d}};(p=m[s])==null||p.call(m)}else f&&(a.value=e,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),t.provide(rd,l),a}function B0(e){return no(e).map(o=>o.split("_").map(O0).join(" ")).map(L_).join(" › ")}function V0(e,n){const o=t.toValue(e),r=Lo(o),{formConfig:i}=He(),a=$0(r,n),{getSchema:l}=He(),s=ad(e);return t.computed(()=>{var p;const c=a.value??r,u=(p=s.value.parent)!=null&&p.path?l(s.value.parent.path):null,d=(u==null?void 0:u.type)==="array"?"":B0(c);return i.transformLabel?i.transformLabel(d,o):d})}function Bt(e,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:i}=He(),a=t.toValue(e),l=t.toValue(n),s=V0(e,t.toRef(()=>t.toValue(n).resetLabelPath));return t.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(a)??void 0,labelAttributes:l.labelAttributes??o(a),label:l.label??s.value,required:l.required??((c=i(a))==null?void 0:c.required)}})}function R0(e){var r;const n=no(e);let o={parent:null};for(n.pop();n.length;){const i=n.shift();o.path=(r=o.parent)!=null&&r.path?$t(o.parent.path,i):i,o={parent:o}}return o}function ad(e){return t.computed(()=>R0(t.toValue(e)))}function ld(e){const{formData:n}=He(),o=id(e);return{value:t.computed({get:()=>rc(n,no(o.value)),set:i=>s0(n,no(o.value),i)})}}function bt(e){const{getSchema:n}=He(),o=id(e),r=T0(o),{value:i}=ld(e),a=t.computed(()=>n(o.value));return a.value?{schema:a,path:o,renderer:r,value:i,ancestors:ad(o),error:null}:{error:new Error(`path '${o.value}' is not found in schema.`)}}function Fo(e){const{getSchema:n}=He(),o=t.useAttrs();return t.computed(()=>{var i;if(o["data-autofocus"]!==void 0)return!0;if(!e)return!1;const r=t.toValue(e).parent;return r!=null&&r.path?((i=n(r.path))==null?void 0:i.type)==="array":!1})}function sd(e,n){const o=new WeakMap,r=new Map;function i(){return Vr(`${e}-`)}function a(l,s){if(l==null||typeof l!="object")return`${e}-${s}`;if(o.has(l))return o.get(l);const c=r.has(s)?r.get(s):i();return r.set(s,c),o.set(l,c),c}return t.watch(n,l=>{const s=t.toValue(l),c=new Set;s.forEach((u,f)=>{c.add(f)}),Array.from(r.keys()).forEach(u=>{c.has(u)||r.delete(u)})},{immediate:!0,deep:!0}),{getKey:a}}const D0="__request_callout_";function cd(){return Vr(D0)}const In=t.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=e,r=t.useAttrs(),i=n,a=t.computed(()=>o.multiline?Re.KTextArea:Re.KInput),l=t.computed(()=>r.characterLimit??(o.multiline?!1:void 0)),s=t.ref(o.modelValue);t.watch(()=>o.modelValue,d=>{s.value=d});const{formConfig:c}=He(),u=d=>{d!==s.value&&(s.value=d,c.updateOnChange||i("update:modelValue",d))},f=()=>{c.updateOnChange&&i("update:modelValue",s.value)};return(d,p)=>(t.openBlock(),t.createBlock(t.unref(a),t.mergeProps(d.$attrs,{"character-limit":l.value,"model-value":d.modelValue,resizable:d.multiline?!0:void 0,onChange:f,"onUpdate:modelValue":u}),t.createSlots({_:2},[t.renderList(t.useSlots(),(m,y)=>({name:y,fn:t.withCtx(_=>[t.renderSlot(d.$slots,y,t.normalizeProps(t.guardReactiveProps(_)))])}))]),1040,["character-limit","model-value","resizable"]))}}),M0=["innerHTML"],ro=Ie(t.defineComponent({inheritAttrs:!1,__name:"StringField",props:{name:{},labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:r}=Le(),i=t.createPropsRestProxy(e,["showVaultSecretPicker","showPasswordMaskToggle","name"]),a=n,{value:l,...s}=bt(t.toRef(()=>e.name)),c=Bt(s.path,t.toRef({...i,...o})),u=l==null?void 0:l.value;function f(h){u!==void 0&&h===""&&h!==u?(l.value=null,a("update:modelValue",null)):(l.value=h.trim(),a("update:modelValue",h.trim()))}const d=t.computed(()=>{var h;return e.showPasswordMaskToggle!==void 0?e.showPasswordMaskToggle:i.type==="password"?!0:!!((h=s.schema)==null?void 0:h.value).encrypted}),p=t.inject(Ue.AUTOFILL_SLOT,void 0),m=t.computed(()=>{var h;return e.showVaultSecretPicker!==void 0?e.showVaultSecretPicker:!!((h=s.schema.value)!=null&&h.referenceable)}),y=t.computed(()=>({referenceable:m.value})),_=Fo(s.ancestors),g=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Lo(e.name)==="name");return(h,w)=>{var N;const b=t.resolveComponent("KAlert");return s.error?(t.openBlock(),t.createBlock(b,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",t.normalizeProps(t.mergeProps({key:1},h.$attrs)),[t.createVNode(In,t.mergeProps({...t.unref(c),showPasswordMaskToggle:d.value,type:d.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":g.value,"data-autofocus":t.unref(_),"data-testid":`ff-${s.path.value}`,error:h.error,"error-message":h.errorMessage,help:h.multiline&&h.error?h.errorMessage:h.help,"model-value":t.unref(l)??"",multiline:h.multiline,"onUpdate:modelValue":f}),t.createSlots({_:2},[(N=t.unref(c).labelAttributes)!=null&&N.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,M0)],!0)]),key:"0"}:void 0,h.multiline&&h.error?void 0:{name:"help",fn:t.withCtx(()=>[t.renderSlot(h.$slots,"help",{},void 0,!0)]),key:"1"}]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline"]),t.unref(p)&&m.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(p)),{key:0,schema:y.value,update:f,value:t.unref(l)??""},null,8,["schema","value"])):t.createCommentVNode("",!0),m.value&&!t.unref(p)?(t.openBlock(),t.createBlock(b,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${s.path.value}`,message:t.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)],16))}}}),[["__scopeId","data-v-8b9ee4c2"]]),L0=["innerHTML"],Dr=Ie(t.defineComponent({__name:"BooleanField",props:{name:{},labelAttributes:{},modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=bt(t.toRef(()=>e.name)),a=n,l=c=>{r.value=c,a("update:modelValue",c)},s=Bt(i.path,o);return(c,u)=>{var d;const f=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(f,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(Re.KCheckbox),t.mergeProps({key:1},t.unref(s),{class:"ff-boolean-field","data-testid":`ff-${i.path.value}`,"model-value":t.unref(r)??!1,"onUpdate:modelValue":l}),t.createSlots({_:2},[(d=t.unref(s).labelAttributes)!=null&&d.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(c.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,L0)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"]))}}}),[["__scopeId","data-v-8a828fad"]]),dd=Ie(t.defineComponent({__name:"SlideTransition",setup(e){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(n.map(p=>[p,""])),r=Object.fromEntries(n.map(p=>[p,"0"]));function i(p){const m=getComputedStyle(p);return Object.fromEntries(n.map(y=>[y,m.getPropertyValue(y)]))}function a(p){["overflow","transition",...n].forEach(m=>p.style.removeProperty(m))}function l(p){Object.assign(p.style,{overflow:"hidden",transition:"none"})}function s(p){const m=p;Object.assign(m.style,o);const y=i(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...y,transition:""})})}function c(p){a(p)}function u(p){const m=p;Object.assign(m.style,{...i(m),overflow:"hidden"})}function f(p){Object.assign(p.style,r)}function d(p){a(p)}return(p,m)=>(t.openBlock(),t.createBlock(t.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:d,onBeforeEnter:l,onBeforeLeave:u,onEnter:s,onLeave:f},{default:t.withCtx(()=>[t.renderSlot(p.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),F0=["data-testid"],U0=["data-testid"],K0=["data-testid"],j0=["innerHTML"],G0={class:"ff-object-field-actions"},q0=["data-testid"],wt=Ie(t.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:t.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultExpanded:{type:Boolean,default:!0},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{},fieldsOrder:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(e){const n=t.createPropsRestProxy(e,["defaultExpanded","defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:o,...r}=bt(t.toRef(n,"name")),{getSchema:i,getDefault:a}=He(),l=t.useModel(e,"added"),s=t.useModel(e,"expanded"),c=t.computed(()=>p.value&&(e.collapsible?s.value??e.defaultExpanded:!1)),u=t.computed(()=>{var g,h;if((g=r.ancestors)!=null&&g.value){const w=r.ancestors.value.parent;if(w!=null&&w.path)return((h=i(w.path))==null?void 0:h.type)==="array"}return!1}),f=t.computed(()=>e.resetLabelPath!==void 0?e.resetLabelPath:u.value?"reset":"inherit"),d=Bt(r.path,t.toRef(()=>({required:e.required,...n,resetLabelPath:f.value}))),p=t.computed(()=>d.value.required?!0:l.value??e.defaultAdded),m=t.computed(()=>e.asChild!==void 0?e.asChild:u.value),y=t.computed(()=>{let g=r.schema.value.fields;return e.omit&&(g=g.filter(h=>!e.omit.includes(Object.keys(h)[0]))),e.fieldsOrder?g.sort((h,w)=>{const b=Object.keys(h)[0],N=Object.keys(w)[0],C=e.fieldsOrder.indexOf(b),k=e.fieldsOrder.indexOf(N);return C===-1&&k===-1?0:C===-1?1:k===-1?-1:C-k}):g});function _(){l.value=!l.value,l.value?o.value=a(r.path.value):o.value=null}return t.watch(p,g=>{e.collapsible&&(s.value=g)}),t.onBeforeMount(()=>{l.value=!!(o!=null&&o.value)}),(g,h)=>{var b;const w=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(g.$slots[t.unref(oo)]))),r.error?(t.openBlock(),t.createBlock(w,{key:0,appearance:"danger",message:r.error.message},null,8,["message"])):m.value?(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},g.$attrs,{"data-testid":`ff-object-${r.path.value}`}),[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,N=>(t.openBlock(),t.createBlock(ft,{key:Object.keys(N)[0],name:Object.keys(N)[0]},null,8,["name"]))),128))],!0)],16,F0)):(t.openBlock(),t.createElementBlock("div",t.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!c.value}],"data-testid":`ff-object-${r.path.value}`},g.$attrs),[t.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${r.path.value}`},[t.createVNode(t.unref(Re.KLabel),t.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${r.path.value}`},{...t.unref(d),required:!1},{"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(b=t.unref(d).labelAttributes)!=null&&b.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,j0)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createElementVNode("div",G0,[g.collapsible&&p.value?(t.openBlock(),t.createBlock(t.unref(Re.KButton),{key:0,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${c.value?"collapse":"expand"}`),"data-testid":`ff-object-toggle-btn-${r.path.value}`,icon:"",onClick:h[0]||(h[0]=N=>s.value=!c.value)},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(ve.ChevronDownIcon),{key:0,class:"ff-object-field-button-icon"})):t.createCommentVNode("",!0)]),_:1},8,["class","data-testid"])):t.createCommentVNode("",!0),t.unref(d).required?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Re.KButton),{key:1,appearance:"tertiary",class:t.normalizeClass(`ff-object-field-button-${p.value?"remove":"add"}`),"data-testid":`ff-object-${p.value?"remove":"add"}-btn-${r.path.value}`,icon:"",onClick:_},{default:t.withCtx(()=>[p.value?(t.openBlock(),t.createBlock(t.unref(ve.TrashIcon),{key:0})):(t.openBlock(),t.createBlock(t.unref(ve.AddIcon),{key:1}))]),_:1},8,["class","data-testid"]))])],8,K0),t.createVNode(dd,null,{default:t.withCtx(()=>[c.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${r.path.value}`},[t.renderSlot(g.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,N=>(t.openBlock(),t.createBlock(ft,{key:Object.keys(N)[0],name:Object.keys(N)[0]},null,8,["name"]))),128))],!0)],8,q0)):t.createCommentVNode("",!0)]),_:3})],16,U0))],64)}}}),[["__scopeId","data-v-6f044592"]]),z0=["innerHTML"],Tn=Ie(t.defineComponent({__name:"NumberField",props:{name:{},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.createPropsRestProxy(e,["name"]),{value:r,...i}=bt(t.toRef(()=>e.name)),a=Bt(i.path,o),l=t.computed(()=>{var _;const p=(_=i.schema)==null?void 0:_.value;if(typeof p.gt=="number")return{min:p.gt};const[m,y]=p.between??[];return{min:o.min??m,max:o.max??y}}),s=n,c=r.value,u=t.computed(()=>(r==null?void 0:r.value)!=null&&Number.isFinite(r.value)?`${r.value}`:"");function f(p){c!==void 0&&p===""&&Number(p)!==c?(r.value=null,s("update:modelValue",null)):(r.value=p===""?null:Number(p),s("update:modelValue",p===""?null:Number(p)))}const d=Fo(i.ancestors);return(p,m)=>{var _;const y=t.resolveComponent("KAlert");return i.error?(t.openBlock(),t.createBlock(y,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(In,t.mergeProps({key:1,class:"ff-number-field"},{...t.unref(a),min:l.value.min,max:l.value.max},{"data-autofocus":t.unref(d),"data-testid":`ff-${i.path.value}`,"model-value":u.value,type:"number","onUpdate:modelValue":f}),t.createSlots({_:2},[(_=t.unref(a).labelAttributes)!=null&&_.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(a).labelAttributes.info},null,8,z0)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value"]))}}}),[["__scopeId","data-v-00c065d4"]]),H0=["innerHTML"],At=Ie(t.defineComponent({__name:"EnumField",props:{name:{},labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean}},emits:["update"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items","multiple"]),{getSelectItems:i}=He(),{value:a,...l}=bt(t.toRef(()=>e.name)),s=Bt(l.path,r),c=t.computed(()=>e.items?e.items:l.path?i(l.path.value):[]),u=t.computed(()=>{var d;return e.multiple!==void 0?e.multiple:((d=l.schema.value)==null?void 0:d.type)==="set"}),f=t.computed(()=>u.value?Re.KMultiselect:Re.KSelect);return(d,p)=>{var y;const m=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(m,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createBlock(t.unref(f),t.mergeProps({key:1},{...r,...t.unref(s)},{modelValue:t.unref(a),"onUpdate:modelValue":[p[0]||(p[0]=_=>t.isRef(a)?a.value=_:null),p[1]||(p[1]=_=>o("update",_))],class:"ff-enum-field",clearable:!t.unref(s).required,"data-testid":`ff-${l.path.value}`,items:c.value,"kpop-attributes":{"data-testid":`${l.path.value}-items`}}),t.createSlots({_:2},[(y=t.unref(s).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(d.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,H0)],!0)]),key:"0"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"]))}}}),[["__scopeId","data-v-bfca8687"]]);function Mr(e,n,o=!0){const{value:r,...i}=bt(t.toRef(e,"name")),a=Bt(i.path,t.toRef({...e,...t.useAttrs()})),l=t.ref(u(e.initialValue??t.toValue(r)??{},e.keyOrder));function s(){return Vr("ff-kv-field-")}function c(g,h,w){const b=w.indexOf(g),N=w.indexOf(h);return b===-1&&N===-1?0:b===-1?1:N===-1?-1:b-N}function u(g,h){const w=Object.entries(g).map(([b,N])=>({id:s(),key:b,value:N}));return h&&w.sort((b,N)=>c(b.key,N.key,h)),w}function f(){const g={id:s(),key:e.defaultKey||"",value:e.defaultValue||""};return l.value.push(g),g}function d(g){const h=l.value.findIndex(w=>w.id===g);h!==-1&&l.value.splice(h,1)}function p(){l.value=u(e.initialValue||{},e.keyOrder)}function m(g){l.value=u(g,e.keyOrder)}let y=null;t.watch(l,g=>{if(!o)return;const h=g.length?Object.fromEntries(g.map(({key:w,value:b})=>[w,b]).filter(([w])=>w)):null;r.value=h,y=h,n("change",h)},{deep:!0,immediate:!0}),t.watch(()=>r==null?void 0:r.value,g=>{Do(g,y)||_(g)},{deep:!0});function _(g){if(!g){l.value=[];return}const h=new Map;l.value.forEach(C=>{C.key&&h.set(C.key,C)});const w=[],b=Object.keys(g);(e.keyOrder?[...b].sort((C,k)=>c(C,k,e.keyOrder)):b).forEach(C=>{const k=g[C];if(h.has(C)){const E=h.get(C);E.value=k,w.push(E)}else w.push({id:s(),key:C,value:k})}),l.value=w}return{entries:l,addEntry:f,removeEntry:d,reset:p,setValue:m,labelAttrs:a,field:i}}const Y0=["data-testid"],W0=["data-testid"],X0=["innerHTML"],Z0=["data-testid"],J0=Ie(t.defineComponent({__name:"KeyValueField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}},keyOrder:{}},emits:["change"],setup(e,{expose:n,emit:o}){const r=t.createPropsRestProxy(e,["showVaultSecretPicker"]),{i18n:i}=Le(),a=o,{entries:l,addEntry:s,removeEntry:c,reset:u,setValue:f,labelAttrs:d,field:p}=Mr(r,a),m=t.useTemplateRef("root");async function y(C,k="key"){var E;m.value&&(await t.nextTick(),(E=m.value.querySelector(`[data-${k}-input="${C}"]`))==null||E.focus())}function _(){s();const C=l.value.findIndex(({key:k})=>!k);y(C===-1?l.value.length-1:C)}function g(C){C===l.value.length-1&&s(),y(C+1)}const h=t.inject(Ue.AUTOFILL_SLOT,void 0),w=t.computed(()=>{var C,k;return e.showVaultSecretPicker??!!((k=(C=p.schema.value)==null?void 0:C.values)!=null&&k.referenceable)}),b=t.computed(()=>({referenceable:w.value}));function N(C,k){l.value[C].value=k}return n({reset:u,setValue:f}),(C,k)=>{var K;const E=t.resolveComponent("KAlert"),v=t.resolveComponent("KLabel"),$=t.resolveComponent("KButton");return t.unref(p).error?(t.openBlock(),t.createBlock(E,{key:0,appearance:"danger",message:t.unref(p).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:m,class:"ff-kv-field","data-testid":`ff-kv-${t.unref(p).path.value}`},[t.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${t.unref(p).path.value}`},[t.createVNode(v,t.mergeProps({class:"ff-kv-field-label"},t.unref(d),{"data-testid":`ff-label-${t.unref(p).path.value}`,"tooltip-attributes":t.unref(d).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(d).label)+" ",1)]),_:2},[(K=t.unref(d).labelAttributes)!=null&&K.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(C.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(d).labelAttributes.info},null,8,X0)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode($,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(p).path.value}`,icon:"",onClick:_},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon))]),_:1},8,["data-testid"])],8,W0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(l),(j,S)=>(t.openBlock(),t.createElementBlock("div",{key:j.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${t.unref(p).path.value}.${S}`},[t.createVNode(In,{modelValue:j.key,"onUpdate:modelValue":Q=>j.key=Q,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":S,"data-testid":`ff-key-${t.unref(p).path.value}.${S}`,placeholder:C.keyPlaceholder||"Key",onKeydown:t.withKeys(t.withModifiers(Q=>y(S,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),t.createVNode(In,{modelValue:j.value,"onUpdate:modelValue":Q=>j.value=Q,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(p).path.value}.${S}`,"data-value-input":S,placeholder:C.valuePlaceholder||"Value",onKeydown:t.withKeys(t.withModifiers(Q=>g(S),["prevent"]),["enter"])},{after:t.withCtx(()=>[t.unref(h)&&w.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(h)),{key:0,schema:b.value,update:Q=>N(S,Q),value:j.value},null,8,["schema","update","value"])):t.createCommentVNode("",!0),w.value&&!t.unref(h)?(t.openBlock(),t.createBlock(E,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${t.unref(p).path.value}`,message:t.unref(i).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):t.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),t.createVNode($,{appearance:"tertiary","data-testid":`ff-kv-remove-btn-${t.unref(p).path.value}.${S}`,icon:"",onClick:Q=>t.unref(c)(j.id)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.TrashIcon))]),_:2},1032,["data-testid","onClick"])],8,Z0))),128))],8,Y0))}}}),[["__scopeId","data-v-92e0893d"]]),Q0=["data-testid"],ek=["innerHTML"],Va=Ie(t.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{name:{},labelAttributes:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=bt(t.toRef(()=>e.name)),s=Bt(l.path,t.toRef({...r,...o})),c=t.computed(()=>{var _,g;return((g=(_=l.schema)==null?void 0:_.value)==null?void 0:g.len_min)&&l.schema.value.len_min>0}),u=t.ref("");function f(_){return _.map(g=>g.trim()).filter(Boolean).join(", ")}function d(_){return _.trim().split(",").map(g=>g.trim()).filter(Boolean)}function p(_){u.value=_;const g=d(_),h=!g.length&&c.value?null:g;a.value=h,i("update:modelValue",h)}const m=Fo(l.ancestors),y=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Lo(e.name)==="name");return t.watch(a,_=>{const g=_?f(_):"";f(d(u.value))!==g&&(u.value=g)},{immediate:!0}),(_,g)=>{var w;const h=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(h,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-tag-${l.path.value}`},[t.createVNode(In,t.mergeProps(t.unref(s),{class:"ff-tag-field","data-1p-ignore":y.value,"data-autofocus":t.unref(m),"data-testid":`ff-${l.path.value}`,"model-value":u.value??"","onUpdate:modelValue":p}),t.createSlots({_:2},[(w=t.unref(s).labelAttributes)!=null&&w.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,ek)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,Q0))}}}),[["__scopeId","data-v-a27f4ff1"]]),tk=["data-testid"],nk=["innerHTML"],ok=Ie(t.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{name:{},labelAttributes:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),r=t.createPropsRestProxy(e,["name"]),i=n,{value:a,...l}=bt(t.toRef(()=>e.name)),s=Bt(l.path,t.toRef({...r,...o})),c=t.ref("");function u(p){c.value=p;let m=p||null;try{const y=JSON.parse(p);y&&typeof y=="object"&&(m=y)}catch{}a.value=m,i("update:modelValue",m)}const f=Fo(l.ancestors),d=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Lo(e.name)==="name");return t.watch(a,p=>{if(p&&typeof p=="object"){try{const m=JSON.parse(c.value);Do(m,p)||(c.value=JSON.stringify(p,null,2))}catch{c.value=JSON.stringify(p,null,2)}return}c.value=p||""},{immediate:!0}),(p,m)=>{var _;const y=t.resolveComponent("KAlert");return l.error?(t.openBlock(),t.createBlock(y,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`ff-json-${l.path.value}`},[t.createVNode(In,t.mergeProps(t.unref(s),{class:"ff-json-field","data-1p-ignore":d.value,"data-autofocus":t.unref(f),"data-testid":`ff-${l.path.value}`,"model-value":c.value??"",multiline:"","onUpdate:modelValue":u}),t.createSlots({_:2},[(_=t.unref(s).labelAttributes)!=null&&_.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(p.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(s).labelAttributes.info},null,8,nk)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,tk))}}}),[["__scopeId","data-v-5749f722"]]),rk=["innerHTML"],ik=Ie(t.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{name:{},labelAttributes:{},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:n}){const o=t.useAttrs(),{i18n:{t:r}}=Le(),i=t.createPropsRestProxy(e,["showPasswordMaskToggle","name"]),a=n,{value:l,...s}=bt(t.toRef(()=>e.name));if(s.error)throw new Error(s.error.message);const c=Bt(s.path,t.toRef({...i,...o})),u=l.value?l.value.id:null,f=t.computed(()=>{var _;return c.value.placeholder?c.value.placeholder:r("plugins.free-form.foreign_placeholder",{entity:((_=s.schema.value)==null?void 0:_.reference)??"entity"})}),d=t.ref(u??"");function p(_){u!==void 0&&_===""&&_!==u?(l.value=null,a("update:modelValue",null)):(l.value={id:_.trim()},a("update:modelValue",l.value))}const m=Fo(s.ancestors),y=t.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Lo(e.name)==="name");return(_,g)=>{var h;return t.openBlock(),t.createBlock(In,t.mergeProps(t.unref(c),{class:"ff-foreign-field","data-1p-ignore":y.value,"data-autofocus":t.unref(m),"data-testid":`ff-${s.path.value}`,error:_.error,"error-message":_.errorMessage,help:_.help,"model-value":d.value,placeholder:f.value,"onUpdate:modelValue":p}),t.createSlots({_:2},[(h=t.unref(c).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:t.withCtx(()=>[t.renderSlot(_.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(c).labelAttributes.info},null,8,rk)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])}}}),[["__scopeId","data-v-b54c028e"]]),ft=t.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(e){const n=e,o=bt(t.toRef(n,"name")),r=t.computed(()=>{var i,a;switch((a=(i=o.schema)==null?void 0:i.value)==null?void 0:a.type){case"string":return"one_of"in o.schema.value?At:ro;case"boolean":return"one_of"in o.schema.value?At:Dr;case"number":case"integer":return"one_of"in o.schema.value?At:Tn;case"array":return Lr;case"set":return x0(o.schema)?Va:At;case"record":return wt;case"map":return J0;case"json":return ok;case"foreign":return ik;default:return}});return(i,a)=>{const l=t.resolveComponent("KAlert");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.$slots[t.unref(oo)]))),t.unref(o).error?(t.openBlock(),t.createBlock(l,{key:0,appearance:"danger",message:t.unref(o).error.message},null,8,["message"])):t.unref(o).renderer.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(o).renderer.value),{key:1,name:Ta(t.unref(o).path.value),onGlobalAction:a[0]||(a[0]=(s,c)=>i.$emit("globalAction",s,c))},null,40,["name"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,name:Ta(t.unref(o).path.value)},null,8,["name"])):(t.openBlock(),t.createBlock(l,{key:1,appearance:"warning",message:`${t.unref(o).path.value} ${t.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),t.renderSlot(i.$slots,"default")],64))],64)}}}),ak=["data-testid"],lk=["data-testid"],sk=["innerHTML"],ck=["data-testid"],dk={class:"ff-array-field-item-content"},uk=["data-index","data-testid"],Lr=Ie(t.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(e,{emit:n}){var k;t.useCssVars(E=>({"3e1c9ee2":C.value}));const o=e,r=n,{i18n:{t:i}}=Le(),{getDefault:a,getSchema:l}=He(),{value:s,...c}=bt(t.toRef(o,"name")),u=Bt(c.path,t.toRef({...o,...t.useAttrs()})),f=t.computed(()=>{if(!c.path)throw new Error("Field path is required for sub-schema retrieval");const E=l(c.path.value);if(!E)throw new Error(`Schema not found for path: ${c.path.value}`);return E.elements}),d=t.computed(()=>o.items??t.toValue(s)??[]),{getKey:p}=sd("ff-array-field",d),m=t.computed(()=>o.appearance==="card"?Re.KCard:"div");function y(E,v){return typeof o.itemLabel=="function"?o.itemLabel(E,v):o.itemLabel||u.value.label||`Item #${v}`}const _=t.computed(()=>d.value.map((E,v)=>({hash:`#${p(E,v)}`,title:""}))),g=t.ref((k=_.value[0])==null?void 0:k.hash),h=async()=>{var v;const E=a($t(c.path.value,Ia));Array.isArray(s.value)||(s.value=[]),s.value.push(E),r("add"),o.appearance==="tabs"&&(await t.nextTick(),g.value=(v=_.value[_.value.length-1])==null?void 0:v.hash),await t.nextTick(),N(d.value.length+1)},w=async E=>{var v;Array.isArray(s.value)&&s.value.splice(E,1),r("remove",E),o.appearance==="tabs"&&(g.value=(v=_.value[Math.max(0,E-1)])==null?void 0:v.hash)},b=t.useTemplateRef("root");function N(E){var $;if(!b.value)return;const v=Math.max(0,Math.min(E,d.value.length-1));($=b.value.querySelector(`[data-index="${v}"] [data-autofocus]`))==null||$.focus()}const C=t.computed(()=>{const{appearance:E,stickyTabs:v}=o;return E!=="tabs"||v==null||v===!1?null:typeof v=="number"?`${o.stickyTabs}px`:typeof v=="string"?v:"0"});return(E,v)=>{var Q;const $=t.resolveComponent("KAlert"),K=t.resolveComponent("KLabel"),j=t.resolveComponent("KButton"),S=t.resolveComponent("KTabs");return c.error?(t.openBlock(),t.createBlock($,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:b,class:t.normalizeClass(["ff-array-field",{[`ff-array-field-${E.appearance??"default"}`]:!0,"ff-array-field-sticky-tabs":E.stickyTabs}]),"data-testid":`ff-array-${c.path.value}`},[t.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${c.path.value}`},[t.createVNode(K,t.mergeProps({class:"ff-array-field-label"},t.unref(u),{"data-testid":`ff-label-${c.path.value}`,"tooltip-attributes":t.unref(u).labelAttributes.tooltipAttributes}),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).label)+" ",1)]),_:2},[(Q=t.unref(u).labelAttributes)!=null&&Q.info?{name:"tooltip",fn:t.withCtx(()=>[t.renderSlot(E.$slots,"tooltip",{},()=>[t.createElementVNode("div",{innerHTML:t.unref(u).labelAttributes.info},null,8,sk)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.createVNode(j,{appearance:"tertiary","aria-label":t.unref(i)("actions.add_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),"data-testid":`ff-add-item-btn-${c.path.value}`,icon:"",onClick:h},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon))]),_:1},8,["aria-label","data-testid"])],8,lk),d.value.length?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[E.appearance!=="tabs"?(t.openBlock(),t.createElementBlock("div",{key:0,class:"ff-array-field-container","data-testid":`ff-array-basic-container-${c.path.value}`},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,(I,G)=>(t.openBlock(),t.createBlock(t.unref(m),{key:t.unref(p)(I,G),class:"ff-array-field-item","data-index":G,"data-testid":`ff-array-item-${c.path.value}.${G}`},{default:t.withCtx(()=>[t.createElementVNode("div",dk,[E.$slots.item?t.renderSlot(E.$slots,"item",{key:0,fieldName:String(G),index:G},void 0,!0):t.createCommentVNode("",!0),f.value.type==="array"&&f.value.elements.type==="string"?(t.openBlock(),t.createBlock(Va,{key:1,help:t.unref(i)("plugins.free-form.tag_helper"),name:String(G)},null,8,["help","name"])):(t.openBlock(),t.createBlock(ft,{key:2,name:String(G)},null,8,["name"]))]),t.createVNode(j,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${G}`,icon:"",onClick:U=>w(G)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])]),_:2},1032,["data-index","data-testid"]))),128))],8,ck)):(t.openBlock(),t.createBlock(t.unref(Re.KCard),{key:1,"data-testid":`ff-array-tab-container-${c.path.value}`},{default:t.withCtx(()=>[t.createVNode(S,{modelValue:g.value,"onUpdate:modelValue":v[0]||(v[0]=I=>g.value=I),"data-testid":`ff-array-tabs-${c.path.value}`,tabs:_.value},t.createSlots({_:2},[t.renderList(d.value,(I,G)=>({name:t.unref(p)(I,G),fn:t.withCtx(()=>[t.createElementVNode("div",{class:"ff-array-field-item","data-index":G,"data-testid":`ff-array-item-${c.path.value}.${G}`},[E.$slots.item?t.renderSlot(E.$slots,"item",{key:0,fieldName:String(G),index:G},void 0,!0):(t.openBlock(),t.createBlock(ft,{key:1,name:String(G)},null,8,["name"]))],8,uk)])})),t.renderList(d.value,(I,G)=>({name:`${t.unref(p)(I,G)}-anchor`,fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(y(I,G))+" ",1),t.createVNode(j,{appearance:"tertiary","aria-label":t.unref(i)("actions.remove_entity",{entity:t.unref(i)("plugins.free-form.request-callout.entity_name")}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${c.path.value}.${G}`,icon:"",onClick:t.withModifiers(U=>w(G),["stop"])},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.TrashIcon))]),_:2},1032,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"]))],64)):t.createCommentVNode("",!0)],10,ak))}}}),[["__scopeId","data-v-3edd064c"]]),Uo=Symbol(),fk=t.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(e){const n=e,{formData:o}=He(),r=t.computed(()=>{const{callouts:l}=o.config;return l==null?[]:l.filter(({name:s})=>{var c;return s&&s!==((c=l[n.index])==null?void 0:c.name)})}),i=t.computed(()=>r.value.map(({[Uo]:l,name:s})=>({value:l,label:s}))),a=t.computed(()=>o.config.callouts[n.index]);return t.watch(i,()=>{a.value.depends_on=a.value.depends_on.filter(l=>i.value.some(s=>s.value===l))}),(l,s)=>(t.openBlock(),t.createBlock(wt,{name:l.fieldName},{depends_on:t.withCtx(c=>[t.createVNode(At,t.mergeProps(c,{items:i.value,multiple:"",required:!1}),null,16,["items"])]),request:t.withCtx(c=>[t.createVNode(wt,t.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:t.withCtx(u=>[t.createVNode(At,t.mergeProps(u,{items:t.unref(Aa)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:2},1040)]),_:1},8,["name"]))}}),pk=t.defineComponent({__name:"CalloutsForm",setup(e){const{formData:n}=He();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[Uo]=cd())}return(r,i)=>(t.openBlock(),t.createBlock(Lr,{appearance:"tabs","item-label":a=>a.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:o},{item:t.withCtx(({index:a,fieldName:l})=>[t.createVNode(fk,{"field-name":l,index:a},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),ud=t.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(e){const n=e,{default:o}=t.useSlots(),r=t.inject(Rr);if(!r)throw new Error(Rr.toString()+"not provided");return o&&r.set(n.match,o),(i,a)=>null}}),pt=t.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{}},emits:["change","globalAction"],setup(e,{expose:n,emit:o}){const r=o,i=t.useSlots(),a=I0(e.schema);t.provide(td,a);const l=m=>{var y;return Sr((y=e.config)==null?void 0:y.hasValue)?e.config.hasValue(m):!!m},s=t.computed(()=>{let m=a.getSchema().fields;return e.fieldsOrder?m.sort((y,_)=>{const g=Object.keys(y)[0],h=Object.keys(_)[0],w=e.fieldsOrder.indexOf(g),b=e.fieldsOrder.indexOf(h);return w===-1&&b===-1?0:w===-1?1:b===-1?-1:w-b}):m});let c=!1;const u=t.reactive({});t.provide(ed,u),t.provide(Pa,Mo(i,"default",oo));const f=new Map;t.provide(Rr,f),t.provide(od,e.config??{}),t.watch(u,m=>{c&&r("change",t.toValue(m))},{deep:!0,immediate:!0});function d(m){Object.keys(u).forEach(y=>{delete u[y]}),Object.assign(u,m)}function p(m){var _;let y;!m||!l(t.toValue(m))?y=a.getDefault():y=Qn(t.toValue(m)),Sr((_=e.config)==null?void 0:_.prepareFormData)?d(e.config.prepareFormData(y)):d(y),c=!0}return t.onBeforeMount(()=>{p(e.data)}),t.watch(()=>e.data,m=>{p(m)},{deep:!0}),n({getInnerData:()=>t.toRaw(u)}),(m,y)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m.tag),null,{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i)[t.unref(oo)]))),t.renderSlot(m.$slots,"default",{},()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,_=>(t.openBlock(),t.createBlock(ft,{key:Object.keys(_)[0],name:Object.keys(_)[0],onGlobalAction:y[0]||(y[0]=(g,h)=>r("globalAction",g,h))},null,8,["name"]))),128))])]),_:3}))}}),mk={class:"ff-advanced-fields"},Fr=Ie(t.defineComponent({__name:"AdvancedFields",setup(e){const{t:n}=Xe.createI18n("en-us",ot),{getSchema:o}=He(),r=t.ref(!0);return(i,a)=>(t.openBlock(),t.createBlock(t.unref(Re.KCollapse),{modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=l=>r.value=l),"data-testid":"view-advanced","trigger-label":r.value?t.unref(n)("plugins.form.grouping.advanced_parameters.view"):t.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:t.withCtx(()=>[t.createElementVNode("div",mk,[t.unref(o)("instance_name")?(t.openBlock(),t.createBlock(ft,{key:0,name:"instance_name"})):t.createCommentVNode("",!0),t.unref(o)("protocols")?(t.openBlock(),t.createBlock(ft,{key:1,name:"protocols"})):t.createCommentVNode("",!0),t.unref(o)("tags")?(t.openBlock(),t.createBlock(Va,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:t.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):t.createCommentVNode("",!0),t.renderSlot(i.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-54f66af5"]]),gk=Ie(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,r={prepareFormData:l,hasValue:s},{i18n:{t:i}}=Le();function a(u,f=!1){return u.reduce((d,{[Uo]:p,name:m})=>(f?d[m]=p:d[p]=m,d),{})}function l(u){var m;const f=Qn(u);if(!((m=f.config)!=null&&m.callouts))return f;const{callouts:d}=f.config;d.forEach(y=>{y.request.body.custom=y.request.body.custom??{},y[Uo]=cd()});const p=a(d,!0);return d.forEach(y=>{y.depends_on=y.depends_on.map(_=>p[_])}),f}function s(u){return!!(u!=null&&u.config)}function c(u){var p;if(!u)return;const f=Qn(u);if(!((p=f.config)!=null&&p.callouts))throw new Error("data is not correct");const d=a(f.config.callouts);f.config.callouts=f.config.callouts.map(m=>{const{[Uo]:y,depends_on:_,...g}=m;return{depends_on:_.map(h=>d[h]).filter(h=>h!=null),...g}}),o("change",f)}return(u,f)=>(t.openBlock(),t.createBlock(pt,{class:"rc-config-form",config:r,data:u.data,schema:u.schema,tag:"div",onChange:c},{[t.unref(oo)]:t.withCtx(()=>[t.createVNode(ud,{match:({path:d})=>d.endsWith("by_lua")},{default:t.withCtx(d=>[t.createVNode(ro,t.mergeProps(d,{autosize:"",class:"rc-code",multiline:"",placeholder:t.unref(i)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),t.createVNode(ud,{match:({path:d})=>["cluster_nodes","sentinel_nodes"].some(p=>d.endsWith(p))},{default:t.withCtx(d=>[t.createVNode(Lr,t.mergeProps(d,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(pk),t.createVNode(wt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),t.createVNode(wt,{appearance:"card",name:"cache"},{redis:t.withCtx(d=>[t.createVNode(wt,t.mergeProps(d,{"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}),t.createVNode(Fr)]),_:2},1032,["data","schema"]))}}),[["__scopeId","data-v-19d40902"]]),hk={class:"ff-form-pinned-fields"},yk={class:"ff-form-config-form"},Ra=Ie(t.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),o=e;t.useSlots();function r(f){return t.computed(()=>({fields:t.toValue(f).map(d=>{var p;return(p=o.formSchema)==null?void 0:p.fields.find(m=>m.model===d)}).filter(Boolean)}))}const a=r(["enabled","selectionGroup"]),l=["config","protocols"],s=t.computed(()=>{const f=o.schema;f.fields=f.fields.filter(p=>l.includes(Object.keys(p)[0])),f.fields.unshift({instance_name:{type:"string",description:n("plugins.form.fields.instance_name.help")}},{tags:{type:"set",default:[],description:n("plugins.form.fields.tags.help"),elements:{type:"string"}}});const d=f.fields.find(p=>Object.keys(p)[0]==="protocols");return d&&(d.protocols.help=d.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:d.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),d.protocols.description=n("plugins.form.fields.protocols.help")),f}),c=t.ref(!1),u=t.computed(()=>{const f=["config","instance_name","partials","protocols","tags","__ui_data"];return Sa(o.model,f)});return(f,d)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",hk,[t.createVNode(t.unref(Ue.VueFormGenerator),{model:f.formModel,options:f.formOptions,schema:t.unref(a),onModelUpdated:f.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createVNode(t.unref(Re.KCollapse),{modelValue:c.value,"onUpdate:modelValue":d[1]||(d[1]=p=>c.value=p),class:"ff-form-config-fields"},{title:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.form.grouping.plugin_configuration.description")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",yk,[t.renderSlot(f.$slots,"default",{class:"ff-form",data:u.value,schema:s.value,onChange:d[0]||(d[0]=(...p)=>f.onFormChange&&f.onFormChange(...p))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-88b54620"]]),_k=t.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Ue.AUTOFILL_SLOT,o==null?void 0:o[Ue.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Ra,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(gk,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),bk={key:1},wk=["innerHTML"],kk={class:"horizontal-container"},fd=Ie(t.defineComponent({__name:"RadioField",props:{name:{},labelAttributes:{},multiple:{type:Boolean},items:{},label:{}},emits:["update:modelValue"],setup(e,{emit:n}){const o=n,r=t.createPropsRestProxy(e,["name","items"]),{getSelectItems:i}=He(),a=bt(t.toRef(()=>e.name)),l=Bt(a.path,r),s=t.computed(()=>e.items?e.items:a.path?i(a.path.value):[]),c=u=>{a.value&&(a.value.value=u),o("update:modelValue",u)};return(u,f)=>{var m;const d=t.resolveComponent("KAlert"),p=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.openBlock(),t.createElementBlock("div",bk,[t.createVNode(p,t.normalizeProps(t.guardReactiveProps(t.unref(l).labelAttributes)),t.createSlots({default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(l).label)+" ",1)]),_:2},[(m=t.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(l).labelAttributes.info},null,8,wk)]),key:"0"}:void 0]),1040),t.createElementVNode("div",kk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,y=>(t.openBlock(),t.createBlock(t.unref(Re.KRadio),{key:y.value,"model-value":t.unref(a).value.value,"onUpdate:modelValue":[f[0]||(f[0]=_=>t.unref(a).value.value=_),c],"card-orientation":"horizontal",label:y.label,"selected-value":y.value},null,8,["model-value","label","selected-value"]))),128))])]))}}}),[["__scopeId","data-v-b5a23a0b"]]),Ck={class:"sp-form-request-limits-subtitle"},Ek={class:"sp-form-request-limits-content"},Nk={class:"sp-form-window-type"},Sk={class:"sp-form-request-limits-items"},xk={class:"sp-form-request-limits-row"},vk=["id"],Ak={class:"sp-form-request-limits-actions"},Ik={key:0,class:"sp-form-request-limits-examples"},Tk={class:"sp-form-request-limits-examples-badges"},Da="config.window_type",Pk=Ie(t.defineComponent({__name:"RequestLimitsForm",setup(e){var g;const{t:n}=Xe.createI18n("en-us",ot),{formData:o,getSelectItems:r,getSchema:i}=He(),a=t.computed(()=>{var w,b;const h=(b=(w=o.config)==null?void 0:w.limit)==null?void 0:b.map((N,C)=>{var k,E;return{limit:N,windowSize:(E=(k=o.config)==null?void 0:k.window_size)==null?void 0:E[C]}});return!Array.isArray(h)||h.length===0?[{limit:null,windowSize:null}]:h}),{getKey:l}=sd("request-limits",a),s=h=>{var w,b;p.value=void 0,o.config&&((w=o.config.limit)!=null&&w.length||(o.config.limit=[null]),(b=o.config.window_size)!=null&&b.length||(o.config.window_size=[null]),o.config.limit.splice(h+1,0,null),o.config.window_size.splice(h+1,0,null))},c=h=>{o.config&&(o.config.limit.splice(h,1),o.config.window_size.splice(h,1))},u=(g=i(Da))==null?void 0:g.default,f=t.computed(()=>rc(o,Da)),d=t.computed(()=>r(Da).sort((h,w)=>h.value===u?-1:w.value===u?1:0)),p=t.ref(),m={fixed:[{label:n("sp.use_cases.fixed.hourly_500.label"),description:n("sp.use_cases.fixed.hourly_500.description"),config:{limit:500,window_size:3600}},{label:n("sp.use_cases.fixed.half_hourly_200.label"),description:n("sp.use_cases.fixed.half_hourly_200.description"),config:{limit:200,window_size:1800}},{label:n("sp.use_cases.fixed.daily_500.label"),description:n("sp.use_cases.fixed.daily_500.description"),config:{limit:500,window_size:86400}}],sliding:[{label:n("sp.use_cases.sliding.hourly_100.label"),description:n("sp.use_cases.sliding.hourly_100.description"),config:{limit:100,window_size:3600}},{label:n("sp.use_cases.sliding.half_hourly_300.label"),description:n("sp.use_cases.sliding.half_hourly_300.description"),config:{limit:300,window_size:1800}},{label:n("sp.use_cases.sliding.hourly_500.label"),description:n("sp.use_cases.sliding.hourly_500.description"),config:{limit:500,window_size:3600}}]},y=t.computed(()=>Object.prototype.hasOwnProperty.call(m,f.value)?m[f.value]:[]),_=(h,w)=>{if(w===p.value){t.nextTick(()=>{p.value=void 0}),o.config.limit=[],o.config.window_size=[];return}t.nextTick(()=>{p.value=w}),o.config.limit=[h.config.limit],o.config.window_size=[h.config.window_size]};return(h,w)=>{const b=t.resolveComponent("KLabel"),N=t.resolveComponent("KButton"),C=t.resolveComponent("KBadge"),k=t.resolveComponent("KTooltip"),E=t.resolveComponent("KCard");return t.openBlock(),t.createBlock(E,{class:"sp-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(b,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.title")),1)]),_:1}),t.createElementVNode("div",Ck,t.toDisplayString(t.unref(n)("sp.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Ek,[t.createElementVNode("div",Nk,[t.createVNode(fd,{items:d.value,label:t.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":w[0]||(w[0]=v=>p.value=void 0)},null,8,["items","label"])]),t.createElementVNode("div",Sk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,(v,$)=>(t.openBlock(),t.createElementBlock("div",{key:t.unref(l)(v,$)},[t.createVNode(b,{for:`sp-form-request-limits-item-${$}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("sp.request_limits.label_index",{index:$+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",xk,[t.createElementVNode("legend",{id:`sp-form-request-limits-item-${$}-legend`,class:"sp-form-request-limits-inputs"},[t.createVNode(Tn,{name:`$.config.limit.${$}`,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(Tn,{name:`$.config.window_size.${$}`,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,vk),t.createElementVNode("div",Ak,[t.createVNode(N,{appearance:"tertiary",disabled:a.value.length<=1,onClick:()=>c($)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(N,{appearance:"tertiary",onClick:()=>s($)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),y.value.length>0?(t.openBlock(),t.createElementBlock("div",Ik,[t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.start_with_a_use_case")),1),t.createElementVNode("div",Tk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(v,$)=>(t.openBlock(),t.createBlock(k,{key:`use-case-${$}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(v.description),1),w[1]||(w[1]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.label"))+": "+t.toDisplayString(v.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(n)("sp.request_limits.time_interval"))+": "+t.toDisplayString(v.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(C,{appearance:p.value===`${f.value}-${$}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>_(v,`${f.value}-${$}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(v.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),Ok={id:"sp-form-error-legend",class:"sp-form-error-inputs"},$k=Ie(t.defineComponent({__name:"ErrorMessageForm",setup(e){const{t:n}=Xe.createI18n("en-us",ot);return(o,r)=>{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",Ok,[t.createVNode(Tn,{class:"input-error-code",label:"",name:"error_code",placeholder:t.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=t.createElementVNode("div",null,":",-1)),t.createVNode(ro,{class:"input-error-message",label:"",name:"error_message",placeholder:t.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),Bk={class:"partial-config-card"},Vk={class:"config-card-row-label"},Rk={class:"label-text"},Dk=["data-testid"],Mk=["data-testid"],Lk={key:1},Fk=["data-testid"],Uk=["data-testid"],Kk=Ie(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(e){const{t:n,formatUnixTimeStamp:o}=Xe.createI18n("en-us",ot),r={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},i=e,a=d=>d!=null,l=(d,p)=>a(p)&&["password","sentinel_password"].includes(d)?"password":"text",{convertKeyToTitle:s}=me.useStringHelpers(),c=t.computed(()=>Object.entries(i.configFields).map(([d,p])=>{var m,y,_,g;return{key:d,label:((m=r[d])==null?void 0:m.label)??s(d),value:(y=r[d])!=null&&y.formatter?r[d].formatter(p):p,type:((_=r[d])==null?void 0:_.type)??l(d,p),order:((g=r[d])==null?void 0:g.order)??100}}).sort((d,p)=>d.order-p.order).filter(d=>d.type!=="hidden")),u=S0(i.configFields,i.pluginRedisFields||[]),f=t.computed(()=>c.value.concat(u));return(d,p)=>{const m=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",Bk,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,({key:y,label:_,value:g,type:h})=>(t.openBlock(),t.createElementBlock("div",{key:y,class:"partial-config-card-row"},[t.createElementVNode("div",Vk,[t.createElementVNode("div",Rk,t.toDisplayString(_),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${y}-property-value`},[a(g)?(t.openBlock(),t.createElementBlock("div",Lk,[h==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${y}-copy-password`},[t.createVNode(m,{format:"redacted",text:String(g)},null,8,["text"])],8,Fk)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${y}-plain-text`},t.toDisplayString(g),9,Uk))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${y}-no-value`}," – ",8,Mk))],8,Dk)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),jk=Ie(t.defineComponent({__name:"NewRedisPartialModal",props:{visible:{type:Boolean,default:!1},partialType:{type:String,default:""}},emits:["partialUpdated","partialUpdateFailed","modalClose"],setup(e,{emit:n}){const o=e,{t:r}=Xe.createI18n("en-us",ot),i=t.inject(Ue.FORMS_CONFIG),a=n,{getMessageFromError:l}=me.useErrors(),s=t.computed(()=>{switch(o.partialType){case Yn.PartialType.REDIS_CE:return Yn.PartialType.REDIS_EE;case Yn.PartialType.REDIS_EE:return Yn.PartialType.REDIS_CE;default:return}}),c=t.ref(!1),u=t.ref(),f=m=>{a("partialUpdateFailed",{message:l(m),appearance:"danger"})},d=()=>{a("partialUpdated",{message:r("plugins.free-form.redis_partial.partial_created_success_message"),appearance:"success"}),p()},p=()=>{u.value=void 0,a("modalClose"),t.nextTick(()=>{c.value=!1})};return t.watch(()=>o.visible,m=>{m&&(c.value=!0,t.nextTick(()=>{u.value="#km-modal-footer"}))}),(m,y)=>{const _=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(_,{class:"plugin-redis-partial-form","data-testid":"redis-partial-form-modal","full-screen":"",title:t.unref(r)("plugins.free-form.redis_partial.redis_partial_modal_title"),visible:c.value,onCancel:p},{footer:t.withCtx(()=>y[0]||(y[0]=[t.createElementVNode("div",{id:"km-modal-footer"},null,-1)])),default:t.withCtx(()=>[t.createVNode(t.unref(Yn.RedisConfigurationForm),{"action-teleport-target":u.value,config:t.unref(i),"disabled-partial-type":s.value,"slidout-top-offset":0,onCancel:p,onError:f,onUpdate:d},null,8,["action-teleport-target","config","disabled-partial-type"])]),_:1},8,["title","visible"])}}}),[["__scopeId","data-v-ac12474e"]]),Gk="#ecfcff",qk="#f1f0ff",zk="#52596e",Hk="#e0e4ea",Yk="#007d60",Wk="#fffce0",Xk="#6c7489",Zk="#0044f4",Jk="#5f9aff",Ma="#000933",La="#d60027",Qk="#ffe5e5",eC="#00abd2",tC="#d60067",nC="#6f28ff",pd="#afb7c5",Fa="#6c7489",oC="#0044f4",rC="#eefaff",iC="#007d60",aC="#ecfffb",lC="#995c00",Ko="12px",md="16px",Ua="20px",gd="8px",sC="32px",hd=Symbol("redis-partial-info"),yd={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},_d=["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"],cC={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},dC={key:0,class:"shared-redis-config"},uC={class:"shared-redis-config-title"},fC={class:"redis-config-select","data-testid":"redis-config-select"},pC={class:"selected-redis-config"},mC=["data-testid"],gC={class:"select-item-name","data-testid":"selected-redis-config"},hC={class:"empty-redis-config","data-testid":"empty-redis-config"},yC={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},_C="1000",bC=Ie(t.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},emits:["showNewPartialModal","globalAction"],setup(e,{emit:n}){var ee;const o=n,{t:r}=Xe.createI18n("en-us",ot),i=e,a=t.inject(hd),l=(a==null?void 0:a.isEditing)||!1,s=t.computed(()=>{var M;return i.redisPath?i.redisPath:(M=a==null?void 0:a.redisPath)!=null&&M.value?"$."+a.redisPath.value:"$.config.redis"}),c=i.redisType||((ee=a==null?void 0:a.redisType)==null?void 0:ee.value)||"all",u=t.computed(()=>{var M;return!!((M=a==null?void 0:a.redisType)!=null&&M.value)}),f=t.ref(!1),d=t.ref(null),p=t.ref(!l),{getMessageFromError:m}=me.useErrors(),y=t.ref(i.defaultRedisConfigItem),_=t.ref({}),g=t.ref(),{value:h}=ld("$.partials"),{value:w}=bt(s),b=t.inject(Ue.FORMS_CONFIG),{debouncedQueryChange:N,loading:C,error:k,loadItems:E,results:v}=me.useDebouncedFilter(b,yd[b.app].getAll,_C,{fetchedItemsKey:"data",searchKeys:["id","name"]}),$=t.computed(()=>k.value?m(k.value):""),K=M=>{let O=`${b.apiBaseUrl}${yd[b.app].getOne}`;return b.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,(b==null?void 0:b.controlPlaneId)||""):b.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,b!=null&&b.workspace?`/${b.workspace}`:"")),O=O.replace(/{id}/gi,String(M)),O},j=t.computed(()=>{const M=(v.value||[]).map(O=>({label:O.id,name:O.name,value:O.id,type:O.type,tag:C0(O)})).filter(O=>O.type==="redis-ce"||O.type==="redis-ee");return c!=="all"?M.filter(O=>O.type===c):M}),{axiosInstance:S}=me.useAxios(b==null?void 0:b.axiosRequestConfig),Q=()=>{p.value?(g.value&&(h.value=g.value,y.value=g.value[0].id,w.value=void 0),w!=null&&w.value&&(_.value=w.value)):(Object.keys(_.value).length&&(w.value=_.value),h!=null&&h.value&&(g.value=h.value),h.value=l?null:void 0)},I=M=>{E(),o("globalAction","notify",M)},G=M=>{o("globalAction","notify",M)},U=async M=>{if(M){y.value=M,h.value=[{id:M}],g.value=[{id:M}],w.value=void 0;try{const O=await S.get(K(M));if(O.data.config){const A=Object.assign(O.data,O.data.config);delete A.config,d.value=A}}catch(O){console.error(O)}}};return t.watch(()=>p.value,()=>{Q()}),t.onBeforeMount(()=>{var M;if(E(),i.defaultRedisConfigItem||h!=null&&h.value){const O=i.defaultRedisConfigItem||((M=h==null?void 0:h.value)==null?void 0:M[0].id);U(O),p.value=!0}else w!=null&&w.value&&(_.value=w.value)}),(M,O)=>{const A=t.resolveComponent("KBadge"),P=t.resolveComponent("KRadio"),T=t.resolveComponent("KSelect"),Y=t.resolveComponent("KCard");return u.value?(t.openBlock(),t.createBlock(Y,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(r)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",cC,[t.createVNode(P,{modelValue:p.value,"onUpdate:modelValue":O[0]||(O[0]=z=>p.value=z),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:t.unref(r)("redis.shared_configuration.description"),label:t.unref(r)("redis.shared_configuration.label"),"selected-value":!0},{default:t.withCtx(()=>[t.createVNode(A,{appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("redis.shared_configuration.badge")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.createVNode(P,{modelValue:p.value,"onUpdate:modelValue":O[1]||(O[1]=z=>p.value=z),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:t.unref(r)("redis.dedicated_configuration.description"),label:t.unref(r)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),p.value?(t.openBlock(),t.createElementBlock("div",dC,[t.createElementVNode("div",uC,t.toDisplayString(t.unref(r)("redis.shared_configuration.title")),1),t.createElementVNode("div",fC,[t.createVNode(T,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:j.value,loading:t.unref(C),"model-value":y.value,placeholder:t.unref(r)("redis.shared_configuration.selector.placeholder"),onChange:O[3]||(O[3]=z=>U(z==null?void 0:z.value)),onQueryChange:t.unref(N)},{"selected-item-template":t.withCtx(({item:z})=>[t.createElementVNode("div",pC,t.toDisplayString(z.name),1)]),"item-template":t.withCtx(({item:z})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${z.name}`},[t.createElementVNode("span",gC,t.toDisplayString(z.name),1),t.createVNode(A,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(z.tag),1)]),_:2},1024)],8,mC)]),empty:t.withCtx(()=>[t.createElementVNode("div",hC,t.toDisplayString(t.unref(r)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:O[2]||(O[2]=()=>f.value=!0)},[t.createVNode(t.unref(ve.AddIcon),{size:t.unref(Ko)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(r)("redis.shared_configuration.create_new_configuration",{type:t.unref(N0)(t.unref(c))})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),d.value?(t.openBlock(),t.createBlock(Kk,{key:0,"config-fields":d.value},null,8,["config-fields"])):t.createCommentVNode("",!0),$.value?(t.openBlock(),t.createElementBlock("p",yC,t.toDisplayString($.value||t.unref(r)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createBlock(wt,t.mergeProps({key:1},i,{"as-child":"","fields-order":t.unref(_d),name:s.value,"reset-label-path":"reset"}),null,16,["fields-order","name"])),t.createVNode(jk,{"partial-type":t.unref(c),visible:f.value,onModalClose:O[4]||(O[4]=z=>f.value=!1),onPartialUpdateFailed:G,onPartialUpdated:I},null,8,["partial-type","visible"])]),_:1},8,["title"])):(t.openBlock(),t.createBlock(wt,t.mergeProps({key:1},i,{"fields-order":t.unref(_d),"hide-required-asterisk":"",name:s.value}),null,16,["fields-order","name"]))}}}),[["__scopeId","data-v-2148fcde"]]),wC=t.defineComponent({__name:"RedisField",emits:["globalAction"],setup(e){const{formData:n}=He();return t.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=void 0)}),(o,r)=>(t.openBlock(),t.createBlock(dd,null,{default:t.withCtx(()=>{var i;return[((i=t.unref(n).config)==null?void 0:i.strategy)==="redis"?(t.openBlock(),t.createBlock(bC,{key:0,onGlobalAction:r[0]||(r[0]=(...a)=>o.$emit("globalAction",...a))})):t.createCommentVNode("",!0)]}),_:1}))}}),kC=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change","globalAction"],setup(e,{emit:n}){const o=n,r={hasValue:a=>!!(a!=null&&a.config)};function i(a){var l;((l=a.config)==null?void 0:l.namespace)===null&&delete a.config.namespace,o("change",a)}return(a,l)=>(t.openBlock(),t.createBlock(pt,{config:r,data:a.data,schema:a.schema,tag:"div",onChange:i},{default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:t.withCtx(()=>[t.createVNode(Pk),t.createVNode($k)]),_:1}),t.createVNode(Fr,null,{default:t.withCtx(()=>[t.createVNode(ft,{name:"config.dictionary_name"}),t.createVNode(ft,{name:"config.lock_dictionary_name"}),t.createVNode(ft,{name:"config.strategy"}),t.createVNode(wC,{onGlobalAction:l[0]||(l[0]=(...s)=>a.$emit("globalAction",...s))}),t.createVNode(ft,{name:"config.namespace"}),t.createVNode(ft,{name:"config.hide_client_headers"}),t.createVNode(ft,{name:"config.disable_penalty"}),t.createVNode(ft,{name:"config.retry_after_jitter_max"}),t.createVNode(ft,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","schema"]))}}),CC=t.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},emits:["globalAction"],setup(e){const n=e,o=t.useSlots();return t.provide(Ue.AUTOFILL_SLOT,o==null?void 0:o[Ue.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Ra,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(kC,t.mergeProps(a,{onGlobalAction:i[0]||(i[0]=(...l)=>r.$emit("globalAction",...l))}),null,16)]),_:1},16))}}),EC={class:"ff-standard-layout"},NC={class:"enabled"},SC={class:"scope"},xC={key:0,class:"scope-detail"},bd=Ie(t.defineComponent({__name:"StandardLayout",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),o=e,r=t.useSlots(),i=t.computed(()=>{var g;return{fields:(g=o.formSchema)==null?void 0:g.fields.filter(h=>h.model==="enabled")}}),a=t.computed(()=>{var g;return(g=o.formSchema)==null?void 0:g.fields.find(h=>h.model==="selectionGroup")}),l=t.computed(()=>(a.value.fields||[]).map(({label:g,description:h})=>({label:g,description:h}))),s=t.computed(()=>a.value.fields[1]),c=t.computed(()=>{var h;const g=["instance_name","protocols","tags"];return{fields:(h=o.formSchema)==null?void 0:h.fields.filter(w=>g.includes(w.model))}}),u=["config"],f=t.computed(()=>{const g=o.schema;return g.fields=g.fields.filter(h=>u.includes(Object.keys(h)[0])),g}),d=t.computed(()=>{const g=["config","partials","__ui_data"];return Sa(o.model,g)}),p=Sa(o.formModel,["service-id","route-id","consumer-id","consumer_group-id"]),m=t.ref(Object.values(p).some(g=>!!g)),y=t.ref(!0);function _(g,h){p[h]=g,o.onModelUpdated(g,h)}return t.watch(m,g=>{g?Object.keys(p).forEach(h=>{o.onModelUpdated(p[h],h)}):Object.keys(p).forEach(h=>{o.onModelUpdated("",h)})}),(g,h)=>{const w=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",EC,[t.createVNode(t.unref(me.EntityFormBlock),{description:g.generalInfoDescription??t.unref(n)("plugins.form.sections.general_info.description"),step:1,title:g.generalInfoTitle??t.unref(n)("plugins.form.sections.general_info.title")},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",NC,[t.createVNode(t.unref(Ue.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:i.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),t.createElementVNode("div",SC,[t.createVNode(t.unref(Re.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":h[0]||(h[0]=b=>m.value=b),card:"","card-orientation":"horizontal"},l.value[0],{"selected-value":!1}),null,16,["modelValue"]),t.createVNode(t.unref(Re.KRadio),t.mergeProps({modelValue:m.value,"onUpdate:modelValue":h[1]||(h[1]=b=>m.value=b),card:"","card-orientation":"horizontal"},l.value[1],{"selected-value":!0}),null,16,["modelValue"])]),m.value?(t.openBlock(),t.createElementBlock("div",xC,[t.createVNode(t.unref(Ue.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:s.value,onModelUpdated:_},null,8,["model","options","schema"])])):t.createCommentVNode("",!0),t.createVNode(w,{modelValue:y.value,"onUpdate:modelValue":h[2]||(h[2]=b=>y.value=b),"trigger-label":"Show more"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.VueFormGenerator),{model:g.formModel,options:g.formOptions,schema:c.value,onModelUpdated:g.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),_:1},8,["modelValue"])]),_:2},[r["general-info-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,r["general-info-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,r["general-info-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),t.createVNode(t.unref(me.EntityFormBlock),{description:g.pluginConfigDescription??t.unref(n)("plugins.form.sections.plugin_config.description"),step:2,title:g.pluginConfigTitle??t.unref(n)("plugins.form.sections.plugin_config.title")},t.createSlots({default:t.withCtx(()=>[t.renderSlot(g.$slots,"default",{data:d.value,schema:f.value,onChange:h[3]||(h[3]=(...b)=>g.onFormChange&&g.onFormChange(...b))},void 0,!0)]),_:2},[r["plugin-config-title"]?{name:"title",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,r["plugin-config-description"]?{name:"description",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,r["plugin-config-extra"]?{name:"extra",fn:t.withCtx(()=>[t.renderSlot(g.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"])])}}}),[["__scopeId","data-v-8d0a8a0c"]]);/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function wd(e){return typeof e>"u"||e===null}function vC(e){return typeof e=="object"&&e!==null}function AC(e){return Array.isArray(e)?e:wd(e)?[]:[e]}function IC(e,n){var o,r,i,a;if(n)for(a=Object.keys(n),o=0,r=a.length;o<r;o+=1)i=a[o],e[i]=n[i];return e}function TC(e,n){var o="",r;for(r=0;r<n;r+=1)o+=e;return o}function PC(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var OC=wd,$C=vC,BC=AC,VC=TC,RC=PC,DC=IC,rt={isNothing:OC,isObject:$C,toArray:BC,repeat:VC,isNegativeZero:RC,extend:DC};function kd(e,n){var o="",r=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(o+='in "'+e.mark.name+'" '),o+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!n&&e.mark.snippet&&(o+=`
|
|
14
14
|
|
|
15
15
|
`+e.mark.snippet),r+" "+o):r}function jo(e,n){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=n,this.message=kd(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}jo.prototype=Object.create(Error.prototype),jo.prototype.constructor=jo,jo.prototype.toString=function(n){return this.name+": "+kd(this,n)};var yt=jo;function Ka(e,n,o,r,i){var a="",l="",s=Math.floor(i/2)-1;return r-n>s&&(a=" ... ",n=r-s+a.length),o-r>s&&(l=" ...",o=r+s-l.length),{str:a+e.slice(n,o).replace(/\t/g,"→")+l,pos:r-n+a.length}}function ja(e,n){return rt.repeat(" ",n-e.length)+e}function MC(e,n){if(n=Object.create(n||null),!e.buffer)return null;n.maxLength||(n.maxLength=79),typeof n.indent!="number"&&(n.indent=1),typeof n.linesBefore!="number"&&(n.linesBefore=3),typeof n.linesAfter!="number"&&(n.linesAfter=2);for(var o=/\r?\n|\r|\0/g,r=[0],i=[],a,l=-1;a=o.exec(e.buffer);)i.push(a.index),r.push(a.index+a[0].length),e.position<=a.index&&l<0&&(l=r.length-2);l<0&&(l=r.length-1);var s="",c,u,f=Math.min(e.line+n.linesAfter,i.length).toString().length,d=n.maxLength-(n.indent+f+3);for(c=1;c<=n.linesBefore&&!(l-c<0);c++)u=Ka(e.buffer,r[l-c],i[l-c],e.position-(r[l]-r[l-c]),d),s=rt.repeat(" ",n.indent)+ja((e.line-c+1).toString(),f)+" | "+u.str+`
|
|
16
16
|
`+s;for(u=Ka(e.buffer,r[l],i[l],e.position,d),s+=rt.repeat(" ",n.indent)+ja((e.line+1).toString(),f)+" | "+u.str+`
|
|
@@ -141,4 +141,4 @@ Edge: ${e}
|
|
|
141
141
|
Source: ${n}
|
|
142
142
|
Target: ${o}`,EDGE_ORPHANED:e=>`Edge was orphaned (suddenly missing source or target) and has been removed
|
|
143
143
|
Edge: ${e}`,EDGE_NOT_FOUND:e=>`Edge not found
|
|
144
|
-
Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class at extends Error{constructor(n,...o){var r;super((r=lp[n])==null?void 0:r.call(lp,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function Kl(e){return"clientX"in e}function $A(e){return"sourceEvent"in e}function zt(e,n){const o=Kl(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const Ai=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function BA(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function Ii(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const VA=()=>!0;function jl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function RA(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())Si(i,Ni(a))>0&&r.push(a);return r}const DA=250;function MA(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=RA(e,o,n+DA);for(const u of c){const f=[...((i=u.handleBounds)==null?void 0:i.source)??[],...((a=u.handleBounds)==null?void 0:a.target)??[]];for(const d of f){if(r.nodeId===d.nodeId&&r.type===d.type&&r.id===d.id)continue;const{x:p,y:m}=Co(u,d,d.position,!0),y=Math.sqrt((p-e.x)**2+(m-e.y)**2);y>n||(y<s?(l=[{...d,x:p,y:m}],s=y):y===s&&l.push({...d,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const u=r.type==="source"?"target":"source";return l.find(f=>f.type===u)??l[0]}return l[0]}function sp(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:u=VA},f,d,p){const m=a==="target",y=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:_,y:g}=zt(e),h=l.elementFromPoint(_,g),w=h!=null&&h.classList.contains(`${s}-flow__handle`)?h:y,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const N=cp(void 0,w),C=w.getAttribute("data-nodeid"),k=w.getAttribute("data-handleid"),E=w.classList.contains("connectable"),v=w.classList.contains("connectableend");if(!C||!N)return b;const $={source:m?C:r,sourceHandle:m?k:i,target:m?r:C,targetHandle:m?i:k};b.connection=$;const j=E&&v&&(o===mn.Strict?m&&N==="source"||!m&&N==="target":C!==r||k!==i);b.isValid=j&&u($,{nodes:d,edges:f,sourceNode:p(r),targetNode:p(C)}),b.toHandle=n}return b}function cp(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function LA(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function FA(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function UA(e,n,o,r,i,a=!1){var l,s,c;const u=r.get(e);if(!u)return null;const f=i===mn.Strict?(l=u.handleBounds)==null?void 0:l[n]:[...((s=u.handleBounds)==null?void 0:s.source)??[],...((c=u.handleBounds)==null?void 0:c.target)??[]],d=(o?f==null?void 0:f.find(p=>p.id===o):f==null?void 0:f[0])??null;return d&&a?{...d,...Co(u,d,d.position,!0)}:d}const Gl={[Ce.Left]:Ce.Right,[Ce.Right]:Ce.Left,[Ce.Top]:Ce.Bottom,[Ce.Bottom]:Ce.Top},KA=["production","prod"];function Ti(e,...n){dp()&&console.warn(`[Vue Flow]: ${e}`,...n)}function dp(){return!KA.includes(process.env.NODE_ENV||"")}function up(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...xi(l)}}):null}function ql(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function Qe(e){return typeof t.unref(e)<"u"}function jA(e,n,o,r){if(!e||!e.source||!e.target)return o(new at(Je.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return gn(e)?i=e:i={...e,id:qf(e)},i=jf(i,void 0,r),EA(i,n)?!1:i}function GA(e,n,o,r,i){if(!n.source||!n.target)return i(new at(Je.EDGE_INVALID,e.id)),!1;if(!o)return i(new at(Je.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?qf(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function fp(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!Ln(l)){o(new at(Je.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=wA(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new at(Je.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function pp(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const u=r.get(l)||new Map;r.set(l,u.set(o,n))}}function zl(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},u=`${i}-${l}--${a}-${s}`,f=`${a}-${s}--${i}-${l}`;pp("source",c,f,e,i,l),pp("target",c,u,e,a,s)}}function mp(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function Hl(e,n,o,r,i,a,l,s){const c=[];for(const u of e){const f=gn(u)?u:jA(u,s,i,a);if(!f)continue;const d=o(f.source),p=o(f.target);if(!d||!p){i(new at(Je.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!d){i(new at(Je.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new at(Je.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:d,targetNode:p})){i(new at(Je.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({...jf(f,m,a),sourceNode:d,targetNode:p})}return c}const gp=Symbol("vueFlow"),hp=Symbol("nodeId"),yp=Symbol("nodeRef"),qA=Symbol("edgeId"),zA=Symbol("edgeRef"),Pi=Symbol("slots");function _p(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:u,autoPanSpeed:f,nodesDraggable:d,panBy:p,findNode:m,multiSelectionActive:y,nodesSelectionActive:_,selectNodesOnDrag:g,removeSelectedElements:h,addSelectedNodes:w,updateNodePositions:b,emits:N}=je(),{onStart:C,onDrag:k,onStop:E,onClick:v,el:$,disabled:K,id:j,selectable:S,dragHandle:Q}=e,I=t.shallowRef(!1);let G=[],U,ee=null,M={x:void 0,y:void 0},O={x:0,y:0},A=null,P=!1,T=0,Y=!1;const z=WA(),ne=({x:ie,y:ue})=>{M={x:ie,y:ue};let de=!1;if(G=G.map(V=>{const D={x:ie-V.distance.x,y:ue-V.distance.y},{computedPosition:F}=Ul(V,o.value?Ii(D,r.value):D,N.error,l.value,V.parentNode?m(V.parentNode):void 0);return de=de||V.position.x!==F.x||V.position.y!==F.y,V.position=F,V}),!!de&&(b(G,!0,!0),I.value=!0,A)){const[V,D]=Fl({id:j,dragItems:G,findNode:m});k({event:A,node:V,nodes:D})}},oe=()=>{if(!ee)return;const[ie,ue]=Qf(O,ee,f.value);if(ie!==0||ue!==0){const de={x:(M.x??0)-ie/c.value.zoom,y:(M.y??0)-ue/c.value.zoom};p({x:ie,y:ue})&&ne(de)}T=requestAnimationFrame(oe)},se=(ie,ue)=>{P=!0;const de=m(j);!g.value&&!y.value&&de&&(de.selected||h()),de&&t.toValue(S)&&g.value&&ql(de,y.value,w,h,_,!1,ue);const V=z(ie.sourceEvent);if(M=V,G=vA(a.value,d.value,V,m,j),G.length){const[D,F]=Fl({id:j,dragItems:G,findNode:m});C({event:ie.sourceEvent,node:D,nodes:F})}},he=(ie,ue)=>{var de;ie.sourceEvent.type==="touchmove"&&ie.sourceEvent.touches.length>1||(s.value===0&&se(ie,ue),M=z(ie.sourceEvent),ee=((de=n.value)==null?void 0:de.getBoundingClientRect())||null,O=zt(ie.sourceEvent,ee))},Z=(ie,ue)=>{const de=z(ie.sourceEvent);if(!Y&&P&&u.value&&(Y=!0,oe()),!P){const V=de.xSnapped-(M.x??0),D=de.ySnapped-(M.y??0);Math.sqrt(V*V+D*D)>s.value&&se(ie,ue)}(M.x!==de.xSnapped||M.y!==de.ySnapped)&&G.length&&P&&(A=ie.sourceEvent,O=zt(ie.sourceEvent,ee),ne(de))},ae=ie=>{let ue=!1;if(!P&&!I.value&&!y.value){const de=ie.sourceEvent,V=z(de),D=V.xSnapped-(M.x??0),F=V.ySnapped-(M.y??0),R=Math.sqrt(D*D+F*F);R!==0&&R<=s.value&&(v==null||v(de),ue=!0)}if(G.length&&!ue){b(G,!1,!1);const[de,V]=Fl({id:j,dragItems:G,findNode:m});E({event:ie.sourceEvent,node:de,nodes:V})}G=[],I.value=!1,Y=!1,P=!1,M={x:void 0,y:void 0},cancelAnimationFrame(T)};return t.watch([()=>t.toValue(K),$],([ie,ue],de,V)=>{if(ue){const D=Vt(ue);ie||(U=bx().on("start",F=>he(F,ue)).on("drag",F=>Z(F,ue)).on("end",F=>ae(F)).filter(F=>{const R=F.target,X=t.toValue(Q);return!F.button&&(!i.value||!rp(R,`.${i.value}`,ue)&&(!X||rp(R,X,ue)))}),D.call(U)),V(()=>{D.on(".drag",null),U&&(U.on("start",null),U.on("drag",null),U.on("end",null))})}}),I}function HA(){return{doubleClick:ke(),click:ke(),mouseEnter:ke(),mouseMove:ke(),mouseLeave:ke(),contextMenu:ke(),updateStart:ke(),update:ke(),updateEnd:ke()}}function YA(e,n){const o=HA();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function WA(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=je();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=$A(i)?i.sourceEvent:i,{x:c,y:u}=zt(s,l),f=ur({x:c,y:u},e.value),{x:d,y:p}=o.value?Ii(f,n.value):f;return{xSnapped:d,ySnapped:p,...f}}}function Oi(){return!0}function bp({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:u,connectionRadius:f,connectOnClick:d,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:y,autoPanSpeed:_,findNode:g,panBy:h,startConnection:w,updateConnection:b,endConnection:N,emits:C,viewport:k,edges:E,nodes:v,isValidConnection:$,nodeLookup:K}=je();let j=null,S=!1,Q=null;function I(U){var ee;const M=t.toValue(o)==="target",O=Kl(U),A=Kf(U.target);if(O&&U.button===0||!O){let P=function(L){V=zt(L,ie),ne=MA(ur(V,k.value,!1,[1,1]),f.value,K.value,R),D||(F(),D=!0);const B=sp(L,{handle:ne,connectionMode:u.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:M?"target":"source",isValidConnection:z,doc:A,lib:"vue",flowId:s,nodeLookup:K.value},E.value,v.value,g);Q=B.handleDomNode,j=B.connection,S=FA(!!ne,B.isValid);const te={...x,isValid:S,to:B.toHandle&&S?Ml({x:B.toHandle.x,y:B.toHandle.y},k.value):V,toHandle:B.toHandle,toPosition:S&&B.toHandle?B.toHandle.position:Gl[R.position],toNode:B.toHandle?K.value.get(B.toHandle.nodeId):null};if(!(S&&ne&&(x!=null&&x.toHandle)&&te.toHandle&&x.toHandle.type===te.toHandle.type&&x.toHandle.nodeId===te.toHandle.nodeId&&x.toHandle.id===te.toHandle.id&&x.to.x===te.to.x&&x.to.y===te.to.y)){if(b(ne&&S?Ml({x:ne.x,y:ne.y},k.value):V,B.toHandle,LA(!!ne,S)),x=te,!ne&&!S&&!Q)return jl(de);j&&j.source!==j.target&&Q&&(jl(de),de=Q,Q.classList.add("connecting","vue-flow__handle-connecting"),Q.classList.toggle("valid",!!S),Q.classList.toggle("vue-flow__handle-valid",!!S))}},T=function(L){(ne||Q)&&j&&S&&(a?a(L,j):C.connect(j)),C.connectEnd(L),i&&(l==null||l(L)),jl(de),cancelAnimationFrame(oe),N(L),D=!1,S=!1,j=null,Q=null,A.removeEventListener("mousemove",P),A.removeEventListener("mouseup",T),A.removeEventListener("touchmove",P),A.removeEventListener("touchend",T)};const Y=g(t.toValue(n));let z=t.toValue(r)||$.value||Oi;!z&&Y&&(z=(M?Y.isValidSourcePos:Y.isValidTargetPos)||Oi);let ne,oe=0;const{x:se,y:he}=zt(U),Z=A==null?void 0:A.elementFromPoint(se,he),ae=cp(t.toValue(i),Z),ie=(ee=c.value)==null?void 0:ee.getBoundingClientRect();if(!ie||!ae)return;const ue=UA(t.toValue(n),ae,t.toValue(e),K.value,u.value);if(!ue)return;let de,V=zt(U,ie),D=!1;const F=()=>{if(!y.value)return;const[L,B]=Qf(V,ie,_.value);h({x:L,y:B}),oe=requestAnimationFrame(F)},R={...ue,nodeId:t.toValue(n),type:ae,position:ue.position},X=K.value.get(t.toValue(n)),re={inProgress:!0,isValid:null,from:Co(X,R,Ce.Left,!0),fromHandle:R,fromPosition:R.position,fromNode:X,to:V,toHandle:null,toPosition:Gl[R.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:ae,position:(Z==null?void 0:Z.getAttribute("data-handlepos"))||Ce.Top,...V},{x:se-ie.left,y:he-ie.top}),C.connectStart({event:U,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ae});let x=re;A.addEventListener("mousemove",P),A.addEventListener("mouseup",T),A.addEventListener("touchmove",P),A.addEventListener("touchend",T)}}function G(U){var ee,M;if(!d.value)return;const O=t.toValue(o)==="target";if(!p.value){C.clickConnectStart({event:U,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:Ce.Top,...zt(U)},void 0,!0);return}let A=t.toValue(r)||$.value||Oi;const P=g(t.toValue(n));if(!A&&P&&(A=(O?P.isValidSourcePos:P.isValidTargetPos)||Oi),P&&(typeof P.connectable>"u"?m.value:P.connectable)===!1)return;const T=Kf(U.target),Y=sp(U,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:Ce.Top,...zt(U)},connectionMode:u.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:A,doc:T,lib:"vue",flowId:s,nodeLookup:K.value},E.value,v.value,g),z=((ee=Y.connection)==null?void 0:ee.source)===((M=Y.connection)==null?void 0:M.target);Y.isValid&&Y.connection&&!z&&C.connect(Y.connection),C.clickConnectEnd(U),N(U,!0)}return{handlePointerDown:I,handleClick:G}}function XA(){return t.inject(hp,"")}function wp(e){const n=e??XA()??"",o=t.inject(yp,t.ref(null)),{findNode:r,edges:i,emits:a}=je(),l=r(n);return l||a.error(new at(Je.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>Wf([l],i.value))}}function ZA(){return{doubleClick:ke(),click:ke(),mouseEnter:ke(),mouseMove:ke(),mouseLeave:ke(),contextMenu:ke(),dragStart:ke(),drag:ke(),dragStop:ke()}}function JA(e,n){const o=ZA();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function kp(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=je();return(c,u=!1)=>{const f=a.value?i.value[0]:5,d=a.value?i.value[1]:5,p=u?4:1,m=c.x*f*p,y=c.y*d*p,_=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const h={x:g.computedPosition.x+m,y:g.computedPosition.y+y},{computedPosition:w}=Ul(g,h,s.error,n.value,g.parentNode?r(g.parentNode):void 0);_.push({id:g.id,position:w,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(_,!0,!1)}}const Yl=.1,QA=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function _n(){return Ti("Viewport not initialized yet."),Promise.resolve(!1)}const eI={zoomIn:_n,zoomOut:_n,zoomTo:_n,fitView:_n,setCenter:_n,fitBounds:_n,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:_n,setTransform:_n,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function tI(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?tr:mi).scaleBy(Wl(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:u,y:f}=Uf({x:-r,y:-i},e.translateExtent),d=wo.translate(-u,-f).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?tr:mi).transform(Wl(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),d):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?tr:mi).scaleTo(Wl(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Yl,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!p.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&s.push(p);if(!s.length)return Promise.resolve(!1);const c=Hf(s),{x:u,y:f,zoom:d}=Xf(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Yl,i.offset);return o(u,f,d,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,u=e.dimensions.height/2-a*s;return o(c,u,s,l)},fitBounds:(i,a={padding:Yl})=>{const{x:l,y:s,zoom:c}=Xf(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>ur(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return ur(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return Ml(s,e.viewport)}return{x:0,y:0}}}:eI)}function Wl(e,n=0,o=QA,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function nI(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let _,g,h=!!(o.nodes.value.length||o.edges.value.length);_=go([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setElements(w),!g&&!h&&w.length?h=!0:g==null||g.resume())}),g=go([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var N;(N=e.modelValue)!=null&&N.value&&Array.isArray(e.modelValue.value)&&(_==null||_.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{_==null||_.resume()}))},{immediate:h}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let _,g,h=!!o.nodes.value.length;_=go([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setNodes(w),!g&&!h&&w.length?h=!0:g==null||g.resume())}),g=go([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(_==null||_.pause(),e.nodes.value=[...w],t.nextTick(()=>{_==null||_.resume()}))},{immediate:h}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let _,g,h=!!o.edges.value.length;_=go([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setEdges(w),!g&&!h&&w.length?h=!0:g==null||g.resume())}),g=go([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(_==null||_.pause(),e.edges.value=[...w],t.nextTick(()=>{_==null||_.resume()}))},{immediate:h}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&Qe(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&Qe(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&Qe(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&Qe(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{Qe(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const _=async g=>{let h=g;typeof n.autoConnect=="function"&&(h=await n.autoConnect(g)),h!==!1&&o.addEdges([h])};t.watch(()=>n.autoConnect,()=>{Qe(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,h,w)=>{g?o.onConnect(_):o.hooks.value.connect.off(_),w(()=>{o.hooks.value.connect.off(_)})},{immediate:!0})})},m=()=>{const _=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const h=g;if(!_.includes(h)){const w=t.toRef(()=>n[h]),b=o[h];t.isRef(b)&&r.run(()=>{t.watch(w,N=>{Qe(N)&&(b.value=N)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),u(),f(),d(),p(),m()})()}),()=>r.stop()}function oI(){return{edgesChange:ke(),nodesChange:ke(),nodeDoubleClick:ke(),nodeClick:ke(),nodeMouseEnter:ke(),nodeMouseMove:ke(),nodeMouseLeave:ke(),nodeContextMenu:ke(),nodeDragStart:ke(),nodeDrag:ke(),nodeDragStop:ke(),nodesInitialized:ke(),miniMapNodeClick:ke(),miniMapNodeDoubleClick:ke(),miniMapNodeMouseEnter:ke(),miniMapNodeMouseMove:ke(),miniMapNodeMouseLeave:ke(),connect:ke(),connectStart:ke(),connectEnd:ke(),clickConnectStart:ke(),clickConnectEnd:ke(),paneReady:ke(),init:ke(),move:ke(),moveStart:ke(),moveEnd:ke(),selectionDragStart:ke(),selectionDrag:ke(),selectionDragStop:ke(),selectionContextMenu:ke(),selectionStart:ke(),selectionEnd:ke(),viewportChangeStart:ke(),viewportChange:ke(),viewportChangeEnd:ke(),paneScroll:ke(),paneClick:ke(),paneContextMenu:ke(),paneMouseEnter:ke(),paneMouseMove:ke(),paneMouseLeave:ke(),edgeContextMenu:ke(),edgeMouseEnter:ke(),edgeMouseMove:ke(),edgeMouseLeave:ke(),edgeDoubleClick:ke(),edgeClick:ke(),edgeUpdateStart:ke(),edgeUpdate:ke(),edgeUpdateEnd:ke(),updateNodeInternals:ke(),error:ke(e=>Ti(e.message))}}function rI(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),ni(()=>{r.off(i)})}})}function Cp(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:Rl.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:sr.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:Dn.Bezier,style:{}},connectionMode:mn.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:Ai()?"Meta":"Control",zoomActivationKeyCode:Ai()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:oI(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const iI=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function aI(e,n,o){const r=tI(e),i=V=>{const D=V??[];e.hooks.updateNodeInternals.trigger(D)},a=V=>CA(V,e.nodes,e.edges),l=V=>kA(V,e.nodes,e.edges),s=V=>Wf(V,e.edges),c=({id:V,type:D,nodeId:F})=>{var R;return Array.from(((R=e.connectionLookup.get(`${F}-${D}-${V??null}`))==null?void 0:R.values())??[])},u=V=>{if(V)return n.value.get(V)},f=V=>{if(V)return o.value.get(V)},d=(V,D,F)=>{var R,X;const q=[];for(const re of V){const x={id:re.id,type:"position",dragging:F,from:re.from};if(D&&(x.position=re.position,re.parentNode)){const L=u(re.parentNode);x.position={x:x.position.x-(((R=L==null?void 0:L.computedPosition)==null?void 0:R.x)??0),y:x.position.y-(((X=L==null?void 0:L.computedPosition)==null?void 0:X.y)??0)}}q.push(x)}q!=null&&q.length&&e.hooks.nodesChange.trigger(q)},p=V=>{if(!e.vueFlowRef)return;const D=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!D)return;const F=window.getComputedStyle(D),{m22:R}=new window.DOMMatrixReadOnly(F.transform),X=[];for(const q of V){const re=q,x=u(re.id);if(x){const L=xi(re.nodeElement);if(!!(L.width&&L.height&&(x.dimensions.width!==L.width||x.dimensions.height!==L.height||re.forceUpdate))){const te=re.nodeElement.getBoundingClientRect();x.dimensions=L,x.handleBounds.source=up("source",re.nodeElement,te,R,x.id),x.handleBounds.target=up("target",re.nodeElement,te,R,x.id),X.push({id:x.id,type:"dimensions",dimensions:L})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),X.length&&e.hooks.nodesChange.trigger(X)},m=(V,D)=>{const F=new Set,R=new Set;for(const re of V)Ln(re)?F.add(re.id):gn(re)&&R.add(re.id);const X=yn(n.value,F,!0),q=yn(o.value,R);if(e.multiSelectionActive){for(const re of F)X.push(hn(re,D));for(const re of R)q.push(hn(re,D))}X.length&&e.hooks.nodesChange.trigger(X),q.length&&e.hooks.edgesChange.trigger(q)},y=V=>{if(e.multiSelectionActive){const D=V.map(F=>hn(F.id,!0));e.hooks.nodesChange.trigger(D);return}e.hooks.nodesChange.trigger(yn(n.value,new Set(V.map(D=>D.id)),!0)),e.hooks.edgesChange.trigger(yn(o.value))},_=V=>{if(e.multiSelectionActive){const D=V.map(F=>hn(F.id,!0));e.hooks.edgesChange.trigger(D);return}e.hooks.edgesChange.trigger(yn(o.value,new Set(V.map(D=>D.id)))),e.hooks.nodesChange.trigger(yn(n.value,new Set,!0))},g=V=>{m(V,!0)},h=V=>{const F=(V||e.nodes).map(R=>(R.selected=!1,hn(R.id,!1)));e.hooks.nodesChange.trigger(F)},w=V=>{const F=(V||e.edges).map(R=>(R.selected=!1,hn(R.id,!1)));e.hooks.edgesChange.trigger(F)},b=V=>{if(!V||!V.length)return m([],!1);const D=V.reduce((F,R)=>{const X=hn(R.id,!1);return Ln(R)?F.nodes.push(X):F.edges.push(X),F},{nodes:[],edges:[]});D.nodes.length&&e.hooks.nodesChange.trigger(D.nodes),D.edges.length&&e.hooks.edgesChange.trigger(D.edges)},N=V=>{var D;(D=e.d3Zoom)==null||D.scaleExtent([V,e.maxZoom]),e.minZoom=V},C=V=>{var D;(D=e.d3Zoom)==null||D.scaleExtent([e.minZoom,V]),e.maxZoom=V},k=V=>{var D;(D=e.d3Zoom)==null||D.translateExtent(V),e.translateExtent=V},E=V=>{e.nodeExtent=V,i()},v=V=>{var D;(D=e.d3Zoom)==null||D.clickDistance(V)},$=V=>{e.nodesDraggable=V,e.nodesConnectable=V,e.elementsSelectable=V},K=V=>{const D=V instanceof Function?V(e.nodes):V;!e.initialized&&!D.length||(e.nodes=fp(D,u,e.hooks.error.trigger))},j=V=>{const D=V instanceof Function?V(e.edges):V;if(!e.initialized&&!D.length)return;const F=Hl(D,e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);zl(e.connectionLookup,o.value,F),e.edges=F},S=V=>{const D=V instanceof Function?V([...e.nodes,...e.edges]):V;!e.initialized&&!D.length||(K(D.filter(Ln)),j(D.filter(gn)))},Q=V=>{let D=V instanceof Function?V(e.nodes):V;D=Array.isArray(D)?D:[D];const F=fp(D,u,e.hooks.error.trigger),R=[];for(const X of F)R.push(tp(X));R.length&&e.hooks.nodesChange.trigger(R)},I=V=>{let D=V instanceof Function?V(e.edges):V;D=Array.isArray(D)?D:[D];const F=Hl(D,e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),R=[];for(const X of F)R.push(tp(X));R.length&&e.hooks.edgesChange.trigger(R)},G=(V,D=!0,F=!1)=>{const R=V instanceof Function?V(e.nodes):V,X=Array.isArray(R)?R:[R],q=[],re=[];function x(B){const te=s(B);for(const J of te)(!Qe(J.deletable)||J.deletable)&&re.push(op(J.id,J.source,J.target,J.sourceHandle,J.targetHandle))}function L(B){const te=[];for(const J of e.nodes)J.parentNode===B&&te.push(J);if(te.length){for(const J of te)q.push(np(J.id));D&&x(te);for(const J of te)L(J.id)}}for(const B of X){const te=typeof B=="string"?u(B):B;te&&(Qe(te.deletable)&&!te.deletable||(q.push(np(te.id)),D&&x([te]),F&&L(te.id)))}re.length&&e.hooks.edgesChange.trigger(re),q.length&&e.hooks.nodesChange.trigger(q)},U=V=>{const D=V instanceof Function?V(e.edges):V,F=Array.isArray(D)?D:[D],R=[];for(const X of F){const q=typeof X=="string"?f(X):X;q&&(Qe(q.deletable)&&!q.deletable||R.push(op(typeof X=="string"?X:X.id,q.source,q.target,q.sourceHandle,q.targetHandle)))}e.hooks.edgesChange.trigger(R)},ee=(V,D,F=!0)=>{const R=f(V.id);if(!R)return!1;const X=e.edges.indexOf(R),q=GA(V,D,R,F,e.hooks.error.trigger);if(q){const[re]=Hl([q],e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((x,L)=>L===X?re:x),zl(e.connectionLookup,o.value,[re]),re}return!1},M=(V,D,F={replace:!1})=>{const R=f(V);if(!R)return;const X=typeof D=="function"?D(R):D;R.data=F.replace?X:{...R.data,...X}},O=V=>ep(V,e.nodes),A=V=>{const D=ep(V,e.edges);return zl(e.connectionLookup,o.value,D),D},P=(V,D,F={replace:!1})=>{const R=u(V);if(!R)return;const X=typeof D=="function"?D(R):D;F.replace?e.nodes.splice(e.nodes.indexOf(R),1,X):Object.assign(R,X)},T=(V,D,F={replace:!1})=>{const R=u(V);if(!R)return;const X=typeof D=="function"?D(R):D;R.data=F.replace?X:{...R.data,...X}},Y=(V,D,F=!1)=>{F?e.connectionClickStartHandle=V:e.connectionStartHandle=V,e.connectionEndHandle=null,e.connectionStatus=null,D&&(e.connectionPosition=D)},z=(V,D=null,F=null)=>{e.connectionStartHandle&&(e.connectionPosition=V,e.connectionEndHandle=D,e.connectionStatus=F)},ne=(V,D)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,D?e.connectionClickStartHandle=null:e.connectionStartHandle=null},oe=V=>{const D=bA(V),F=D?null:dr(V)?V:u(V.id);return!D&&!F?[null,null,D]:[D?V:Ni(F),F,D]},se=(V,D=!0,F=e.nodes)=>{const[R,X,q]=oe(V);if(!R)return[];const re=[];for(const x of F||e.nodes){if(!q&&(x.id===X.id||!x.computedPosition))continue;const L=Ni(x),B=Si(L,R);(D&&B>0||B>=Number(R.width)*Number(R.height))&&re.push(x)}return re},he=(V,D,F=!0)=>{const[R]=oe(V);if(!R)return!1;const X=Si(R,D);return F&&X>0||X>=Number(R.width)*Number(R.height)},Z=V=>{const{viewport:D,dimensions:F,d3Zoom:R,d3Selection:X,translateExtent:q}=e;if(!R||!X||!V.x&&!V.y)return!1;const re=wo.translate(D.x+V.x,D.y+V.y).scale(D.zoom),x=[[0,0],[F.width,F.height]],L=R.constrain()(re,x,q),B=e.viewport.x!==L.x||e.viewport.y!==L.y||e.viewport.zoom!==L.k;return R.transform(X,L),B},ae=V=>{const D=V instanceof Function?V(e):V,F=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Qe(D.defaultEdgeOptions)&&(e.defaultEdgeOptions=D.defaultEdgeOptions);const R=D.modelValue||D.nodes||D.edges?[]:void 0;R&&(D.modelValue&&R.push(...D.modelValue),D.nodes&&R.push(...D.nodes),D.edges&&R.push(...D.edges),S(R));const X=()=>{Qe(D.maxZoom)&&C(D.maxZoom),Qe(D.minZoom)&&N(D.minZoom),Qe(D.translateExtent)&&k(D.translateExtent)};for(const q of Object.keys(D)){const re=q,x=D[re];![...iI,...F].includes(re)&&Qe(x)&&(e[re]=x)}gl(()=>e.d3Zoom).not.toBeNull().then(X),e.initialized||(e.initialized=!0)};return{updateNodePositions:d,updateNodeDimensions:p,setElements:S,setNodes:K,setEdges:j,addNodes:Q,addEdges:I,removeNodes:G,removeEdges:U,findNode:u,findEdge:f,updateEdge:ee,updateEdgeData:M,updateNode:P,updateNodeData:T,applyEdgeChanges:A,applyNodeChanges:O,addSelectedElements:g,addSelectedNodes:y,addSelectedEdges:_,setMinZoom:N,setMaxZoom:C,setTranslateExtent:k,setNodeExtent:E,setPaneClickDistance:v,removeSelectedElements:b,removeSelectedNodes:h,removeSelectedEdges:w,startConnection:Y,updateConnection:z,endConnection:ne,setInteractive:$,setState:ae,getIntersectingNodes:se,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:he,panBy:Z,fitView:V=>r.value.fitView(V),zoomIn:V=>r.value.zoomIn(V),zoomOut:V=>r.value.zoomOut(V),zoomTo:(V,D)=>r.value.zoomTo(V,D),setViewport:(V,D)=>r.value.setViewport(V,D),setTransform:(V,D)=>r.value.setTransform(V,D),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(V,D,F)=>r.value.setCenter(V,D,F),fitBounds:(V,D)=>r.value.fitBounds(V,D),project:V=>r.value.project(V),screenToFlowCoordinate:V=>r.value.screenToFlowCoordinate(V),flowToScreenCoordinate:V=>r.value.flowToScreenCoordinate(V),toObject:()=>{const V=[],D=[];for(const F of e.nodes){const{computedPosition:R,handleBounds:X,selected:q,dimensions:re,isParent:x,resizing:L,dragging:B,events:te,...J}=F;V.push(J)}for(const F of e.edges){const{selected:R,sourceNode:X,targetNode:q,events:re,...x}=F;D.push(x)}return JSON.parse(JSON.stringify({nodes:V,edges:D,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:V=>new Promise(D=>{const{nodes:F,edges:R,position:X,zoom:q,viewport:re}=V;if(F&&K(F),R&&j(R),re!=null&&re.x&&(re!=null&&re.y)||X){const x=(re==null?void 0:re.x)||X[0],L=(re==null?void 0:re.y)||X[1],B=(re==null?void 0:re.zoom)||q||e.viewport.zoom;return gl(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x,y:L,zoom:B}).then(()=>{D(!0)})})}else D(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const V=Cp();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const D=wo.translate(V.defaultViewport.x??0,V.defaultViewport.y??0).scale(Mn(V.defaultViewport.zoom??1,V.minZoom,V.maxZoom)),F=e.viewportRef.getBoundingClientRect(),R=[[0,0],[F.width,F.height]],X=e.d3Zoom.constrain()(D,R,V.translateExtent);e.d3Zoom.transform(e.d3Selection,X)}ae(V)},$destroy:()=>{}}}const lI=["data-id","data-handleid","data-nodeid","data-handlepos"],sI={name:"Handle",compatConfig:{MODE:3}},Ht=t.defineComponent({...sI,props:{id:{default:null},type:{},position:{default:()=>Ce.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:u,nodesConnectable:f,noDragClassName:d,noPanClassName:p}=je(),{id:m,node:y,nodeEl:_,connectedEdges:g}=wp(),h=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),N=t.toRef(()=>{var j,S,Q,I,G,U;return((j=l.value)==null?void 0:j.nodeId)===m&&((S=l.value)==null?void 0:S.id)===e.id&&((Q=l.value)==null?void 0:Q.type)===r.value||((I=c.value)==null?void 0:I.nodeId)===m&&((G=c.value)==null?void 0:G.id)===e.id&&((U=c.value)==null?void 0:U.type)===r.value}),C=t.toRef(()=>{var j,S,Q;return((j=s.value)==null?void 0:j.nodeId)===m&&((S=s.value)==null?void 0:S.id)===e.id&&((Q=s.value)==null?void 0:Q.type)===r.value}),{handlePointerDown:k,handleClick:E}=bp({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),v=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(j=>{const S=j[`${r.value}Handle`];return j[r.value]!==m?!1:S?S===e.id:!0}):typeof e.connectable=="number"?g.value.filter(j=>{const S=j[`${r.value}Handle`];return j[r.value]!==m?!1:S?S===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(y,g.value):Qe(e.connectable)?e.connectable:f.value);t.onMounted(()=>{var j;if(!y.dimensions.width||!y.dimensions.height)return;const S=(j=y.handleBounds[r.value])==null?void 0:j.find(O=>O.id===e.id);if(!u.value||S)return;const Q=u.value.querySelector(".vue-flow__transformationpane");if(!_.value||!h.value||!Q||!e.id)return;const I=_.value.getBoundingClientRect(),G=h.value.getBoundingClientRect(),U=window.getComputedStyle(Q),{m22:ee}=new window.DOMMatrixReadOnly(U.transform),M={id:e.id,position:e.position,x:(G.left-I.left)/ee,y:(G.top-I.top)/ee,type:r.value,nodeId:m,...xi(h.value)};y.handleBounds[r.value]=[...y.handleBounds[r.value]??[],M]});function $(j){const S=Kl(j);v.value&&w.value&&(S&&j.button===0||!S)&&k(j)}function K(j){!m||!s.value&&!w.value||v.value&&E(j)}return n({handleClick:E,handlePointerDown:k,onClick:K,onPointerDown:$}),(j,S)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:h,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":j.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${j.position}`,`vue-flow__handle-${e.id}`,t.unref(d),t.unref(p),r.value,{connectable:v.value,connecting:C.value,connectablestart:w.value,connectableend:b.value,connectionindicator:v.value&&(w.value&&!N.value||b.value&&N.value)}]]),onMousedown:$,onTouchstartPassive:$,onClick:K},[t.renderSlot(j.$slots,"default",{id:j.id})],42,lI))}}),$i=function({sourcePosition:e=Ce.Bottom,targetPosition:n=Ce.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(Ht,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(Ht,{type:"source",position:e,connectable:r,isValidConnection:a})]};$i.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],$i.inheritAttrs=!1,$i.compatConfig={MODE:3};const cI=$i,Bi=function({targetPosition:e=Ce.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(Ht,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};Bi.props=["targetPosition","label","isValidTargetPos","connectable","data"],Bi.inheritAttrs=!1,Bi.compatConfig={MODE:3};const dI=Bi,Vi=function({sourcePosition:e=Ce.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(Ht,{type:"source",position:e,connectable:o,isValidConnection:r})]};Vi.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Vi.inheritAttrs=!1,Vi.compatConfig={MODE:3};const uI=Vi,fI=["transform"],pI=["width","height","x","y","rx","ry"],mI=["y"],gI={name:"EdgeText",compatConfig:{MODE:3}},hI=t.defineComponent({...gI,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,pI)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,mI)],8,fI))}}),yI=["id","d","marker-end","marker-start"],_I=["d","stroke-width"],bI={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Ri=t.defineComponent({...bI,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,yI),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,_I)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(hI,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function Ep({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function Np({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,u=n*.125+a*.375+s*.375+r*.125,f=Math.abs(c-e),d=Math.abs(u-n);return[c,u,f,d]}function Di(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Sp({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case Ce.Left:l=n-Di(n-r,a),s=o;break;case Ce.Right:l=n+Di(r-n,a),s=o;break;case Ce.Top:l=n,s=o-Di(o-i,a);break;case Ce.Bottom:l=n,s=o+Di(i-o,a);break}return[l,s]}function xp(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ce.Bottom,targetX:i,targetY:a,targetPosition:l=Ce.Top,curvature:s=.25}=e,[c,u]=Sp({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,d]=Sp({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,y,_]=Np({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:u,targetControlX:f,targetControlY:d});return[`M${n},${o} C${c},${u} ${f},${d} ${i},${a}`,p,m,y,_]}function vp({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case Ce.Left:case Ce.Right:a=.5*(n+r),l=o;break;case Ce.Top:case Ce.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function Ap(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ce.Bottom,targetX:i,targetY:a,targetPosition:l=Ce.Top}=e,[s,c]=vp({pos:r,x1:n,y1:o,x2:i,y2:a}),[u,f]=vp({pos:l,x1:i,y1:a,x2:n,y2:o}),[d,p,m,y]=Np({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:u,targetControlY:f});return[`M${n},${o} C${s},${c} ${u},${f} ${i},${a}`,d,p,m,y]}const Ip={[Ce.Left]:{x:-1,y:0},[Ce.Right]:{x:1,y:0},[Ce.Top]:{x:0,y:-1},[Ce.Bottom]:{x:0,y:1}};function wI({source:e,sourcePosition:n=Ce.Bottom,target:o}){return n===Ce.Left||n===Ce.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function Tp(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function kI({source:e,sourcePosition:n=Ce.Bottom,target:o,targetPosition:r=Ce.Top,center:i,offset:a}){const l=Ip[n],s=Ip[r],c={x:e.x+l.x*a,y:e.y+l.y*a},u={x:o.x+s.x*a,y:o.y+s.y*a},f=wI({source:c,sourcePosition:n,target:u}),d=f.x!==0?"x":"y",p=f[d];let m,y,_;const g={x:0,y:0},h={x:0,y:0},[w,b,N,C]=Ep({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[d]*s[d]===-1){y=i.x??w,_=i.y??b;const E=[{x:y,y:c.y},{x:y,y:u.y}],v=[{x:c.x,y:_},{x:u.x,y:_}];l[d]===p?m=d==="x"?E:v:m=d==="x"?v:E}else{const E=[{x:c.x,y:u.y}],v=[{x:u.x,y:c.y}];if(d==="x"?m=l.x===p?v:E:m=l.y===p?E:v,n===r){const Q=Math.abs(e[d]-o[d]);if(Q<=a){const I=Math.min(a-1,a-Q);l[d]===p?g[d]=(c[d]>e[d]?-1:1)*I:h[d]=(u[d]>o[d]?-1:1)*I}}if(n!==r){const Q=d==="x"?"y":"x",I=l[d]===s[Q],G=c[Q]>u[Q],U=c[Q]<u[Q];(l[d]===1&&(!I&&G||I&&U)||l[d]!==1&&(!I&&U||I&&G))&&(m=d==="x"?E:v)}const $={x:c.x+g.x,y:c.y+g.y},K={x:u.x+h.x,y:u.y+h.y},j=Math.max(Math.abs($.x-m[0].x),Math.abs(K.x-m[0].x)),S=Math.max(Math.abs($.y-m[0].y),Math.abs(K.y-m[0].y));j>=S?(y=($.x+K.x)/2,_=m[0].y):(y=m[0].x,_=($.y+K.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:u.x+h.x,y:u.y+h.y},o],y,_,N,C]}function CI(e,n,o,r){const i=Math.min(Tp(e,n)/2,Tp(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const u=e.x<o.x?-1:1,f=e.y<o.y?1:-1;return`L ${a+i*u},${l}Q ${a},${l} ${a},${l+i*f}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function Xl(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ce.Bottom,targetX:i,targetY:a,targetPosition:l=Ce.Top,borderRadius:s=5,centerX:c,centerY:u,offset:f=20}=e,[d,p,m,y,_]=kI({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:u},offset:f});return[d.reduce((h,w,b)=>{let N;return b>0&&b<d.length-1?N=CI(d[b-1],w,d[b+1],s):N=`${b===0?"M":"L"}${w.x} ${w.y}`,h+=N,h},""),p,m,y,_]}function EI(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Ep({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const NI=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=EI(e);return t.h(Ri,{path:o,labelX:r,labelY:i,...n,...e})}}}),Pp=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Xl({...e,sourcePosition:e.sourcePosition??Ce.Bottom,targetPosition:e.targetPosition??Ce.Top});return t.h(Ri,{path:o,labelX:r,labelY:i,...n,...e})}}}),SI=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(Pp,{...e,...n,borderRadius:0})}}),xI=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=xp({...e,sourcePosition:e.sourcePosition??Ce.Bottom,targetPosition:e.targetPosition??Ce.Top});return t.h(Ri,{path:o,labelX:r,labelY:i,...n,...e})}}}),vI=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Ap({...e,sourcePosition:e.sourcePosition??Ce.Bottom,targetPosition:e.targetPosition??Ce.Top});return t.h(Ri,{path:o,labelX:r,labelY:i,...n,...e})}}}),AI={input:uI,default:cI,output:dI},II={default:xI,straight:NI,step:SI,smoothstep:Pp,simplebezier:vI};function TI(e,n,o){const r=t.computed(()=>_=>n.value.get(_)),i=t.computed(()=>_=>o.value.get(_)),a=t.computed(()=>{const _={...II,...e.edgeTypes},g=Object.keys(_);for(const h of e.edges)h.type&&!g.includes(h.type)&&(_[h.type]=h.type);return _}),l=t.computed(()=>{const _={...AI,...e.nodeTypes},g=Object.keys(_);for(const h of e.nodes)h.type&&!g.includes(h.type)&&(_[h.type]=h.type);return _}),s=t.computed(()=>e.onlyRenderVisibleElements?Yf(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const _=[];for(const g of e.edges){const h=n.value.get(g.source),w=n.value.get(g.target);PA({sourcePos:h.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:h.dimensions.width,sourceHeight:h.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&_.push(g)}return _}return e.edges}),u=t.computed(()=>[...s.value,...c.value]),f=t.computed(()=>{const _=[];for(const g of e.nodes)g.selected&&_.push(g);return _}),d=t.computed(()=>{const _=[];for(const g of e.edges)g.selected&&_.push(g);return _}),p=t.computed(()=>[...f.value,...d.value]),m=t.computed(()=>{const _=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&_.push(g);return _}),y=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:u,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:f,getSelectedEdges:d,getNodesInitialized:m,areNodesInitialized:y}}class Fn{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??Fn.instance;return Fn.instance=r??new Fn,o&&(o.config.globalProperties.$vueFlowStorage=Fn.instance),Fn.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=Cp(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const y=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[y]=m.on}const l={};for(const[p,m]of Object.entries(i.hooks))l[p]=m.trigger;const s=t.computed(()=>{const p=new Map;for(const m of i.nodes)p.set(m.id,m);return p}),c=t.computed(()=>{const p=new Map;for(const m of i.edges)p.set(m.id,m);return p}),u=TI(i,s,c),f=aI(i,s,c);f.setState({...i,...o});const d={...a,...u,...f,...A1(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,d),d}getId(){return`vue-flow-${this.currentId++}`}}function je(e){const n=Fn.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(gp,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),u=n.create(c,i);s=u,(o??t.effectScope(!0)).run(()=>{t.watch(u.applyDefault,(d,p,m)=>{const y=g=>{u.applyNodeChanges(g)},_=g=>{u.applyEdgeChanges(g)};d?(u.onNodesChange(y),u.onEdgesChange(_)):(u.hooks.value.nodesChange.off(y),u.hooks.value.edgesChange.off(_)),m(()=>{u.hooks.value.nodesChange.off(y),u.hooks.value.edgesChange.off(_)})},{immediate:!0}),ni(()=>{if(s){const d=n.get(s.id);d?d.$destroy():Ti(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(gp,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new at(Je.USEVUEFLOW_OPTIONS))}return s}function PI(e){const{emits:n,dimensions:o}=je();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=xi(i);(l.width===0||l.height===0)&&n.error(new at(Je.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const OI={name:"UserSelection",compatConfig:{MODE:3}},$I=t.defineComponent({...OI,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),BI=["tabIndex"],VI={name:"NodesSelection",compatConfig:{MODE:3}},RI=t.defineComponent({...VI,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=je(),s=kp(),c=t.ref(null),u=_p({el:c,onStart(y){n.selectionDragStart(y)},onDrag(y){n.selectionDrag(y)},onStop(y){n.selectionDragStop(y)}});t.onMounted(()=>{var y;a.value||(y=c.value)==null||y.focus({preventScroll:!0})});const f=t.computed(()=>Hf(r.value)),d=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(y){n.selectionContextMenu({event:y,nodes:r.value})}function m(y){a||ko[y.key]&&(y.preventDefault(),s({x:ko[y.key].x,y:ko[y.key].y},y.shiftKey))}return(y,_)=>!t.unref(l)&&f.value.width&&f.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(u)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(d.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,BI)],6)):t.createCommentVNode("",!0)}});function DI(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const MI={name:"Pane",compatConfig:{MODE:3}},LI=t.defineComponent({...MI,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:u,getSelectedEdges:f,getSelectedNodes:d,removeNodes:p,removeEdges:m,selectionMode:y,deleteKeyCode:_,multiSelectionKeyCode:g,multiSelectionActive:h,edgeLookup:w,nodeLookup:b,connectionLookup:N,defaultEdgeOptions:C,connectionStartHandle:k}=je(),E=t.ref(null),v=t.ref(new Set),$=t.ref(new Set),K=t.ref(),j=t.toRef(()=>c.value&&(e.isSelecting||a.value)),S=t.toRef(()=>k.value!==null);let Q=!1,I=!1;const G=cr(_,{actInsideInputWithModifier:!1}),U=cr(g);t.watch(G,z=>{z&&(p(d.value),m(f.value),u.value=!1)}),t.watch(U,z=>{h.value=z});function ee(z,ne){return oe=>{oe.target===ne&&(z==null||z(oe))}}function M(z){if(Q||S.value){Q=!1;return}i.paneClick(z),l(),u.value=!1}function O(z){z.preventDefault(),z.stopPropagation(),i.paneContextMenu(z)}function A(z){i.paneScroll(z)}function P(z){var ne,oe,se;if(K.value=(ne=n.value)==null?void 0:ne.getBoundingClientRect(),!c.value||!e.isSelecting||z.button!==0||z.target!==E.value||!K.value)return;(se=(oe=z.target)==null?void 0:oe.setPointerCapture)==null||se.call(oe,z.pointerId);const{x:he,y:Z}=DI(z,K.value);I=!0,Q=!1,l(),s.value={width:0,height:0,startX:he,startY:Z,x:he,y:Z},i.selectionStart(z)}function T(z){var ne;if(!K.value||!s.value)return;Q=!0;const{x:oe,y:se}=zt(z,K.value),{startX:he=0,startY:Z=0}=s.value,ae={startX:he,startY:Z,x:oe<he?oe:he,y:se<Z?se:Z,width:Math.abs(oe-he),height:Math.abs(se-Z)},ie=v.value,ue=$.value;v.value=new Set(Yf(o.value,ae,r.value,y.value===Rl.Partial,!0).map(V=>V.id)),$.value=new Set;const de=((ne=C.value)==null?void 0:ne.selectable)??!0;for(const V of v.value){const D=N.value.get(V);if(D)for(const{edgeId:F}of D.values()){const R=w.value.get(F);R&&(R.selectable??de)&&$.value.add(F)}}if(!mp(ie,v.value)){const V=yn(b.value,v.value,!0);i.nodesChange(V)}if(!mp(ue,$.value)){const V=yn(w.value,$.value);i.edgesChange(V)}s.value=ae,a.value=!0,u.value=!1}function Y(z){var ne;z.button!==0||!I||((ne=z.target)==null||ne.releasePointerCapture(z.pointerId),!a.value&&s.value&&z.target===E.value&&M(z),a.value=!1,s.value=null,u.value=v.value.size>0,i.selectionEnd(z),e.selectionKeyPressed&&(Q=!1),I=!1)}return(z,ne)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:E,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:z.isSelecting}]),onClick:ne[0]||(ne[0]=oe=>j.value?void 0:ee(M,E.value)(oe)),onContextmenu:ne[1]||(ne[1]=oe=>ee(O,E.value)(oe)),onWheelPassive:ne[2]||(ne[2]=oe=>ee(A,E.value)(oe)),onPointerenter:ne[3]||(ne[3]=oe=>j.value?void 0:t.unref(i).paneMouseEnter(oe)),onPointerdown:ne[4]||(ne[4]=oe=>j.value?P(oe):t.unref(i).paneMouseMove(oe)),onPointermove:ne[5]||(ne[5]=oe=>j.value?T(oe):t.unref(i).paneMouseMove(oe)),onPointerup:ne[6]||(ne[6]=oe=>j.value?Y(oe):void 0),onPointerleave:ne[7]||(ne[7]=oe=>t.unref(i).paneMouseLeave(oe))},[t.renderSlot(z.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock($I,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(u)&&t.unref(d).length?(t.openBlock(),t.createBlock(RI,{key:1})):t.createCommentVNode("",!0)],34))}}),FI={name:"Transform",compatConfig:{MODE:3}},UI=t.defineComponent({...FI,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=je(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),KI={name:"Viewport",compatConfig:{MODE:3}},jI=t.defineComponent({...KI,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:u,panOnScrollSpeed:f,panOnDrag:d,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:y,preventScrolling:_,noWheelClassName:g,noPanClassName:h,emits:w,connectionStartHandle:b,userSelectionActive:N,paneDragging:C,d3Zoom:k,d3Selection:E,d3ZoomHandler:v,viewport:$,viewportRef:K,paneClickDistance:j}=je();PI(K);const S=t.shallowRef(!1),Q=t.shallowRef(!1);let I=null,G=!1,U=0,ee={x:0,y:0,zoom:0};const M=cr(s),O=cr(l),A=cr(a),P=t.toRef(()=>(!O.value||O.value&&l.value===!0)&&(M.value||d.value)),T=t.toRef(()=>M.value||c.value),Y=t.toRef(()=>O.value||l.value===!0&&P.value!==!0);t.onMounted(()=>{if(!K.value){Ti("Viewport element is missing");return}const Z=K.value,ae=Z.getBoundingClientRect(),ie=fA().clickDistance(j.value).scaleExtent([n.value,o.value]).translateExtent(i.value),ue=Vt(Z).call(ie),de=ue.on("wheel.zoom"),V=wo.translate(r.value.x??0,r.value.y??0).scale(Mn(r.value.zoom??1,n.value,o.value)),D=[[0,0],[ae.width,ae.height]],F=ie.constrain()(V,D,i.value);ie.transform(ue,F),ie.wheelDelta(ne),k.value=ie,E.value=ue,v.value=de,$.value={x:F.x,y:F.y,zoom:F.k},ie.on("start",R=>{var X;if(!R.sourceEvent)return null;U=R.sourceEvent.button,S.value=!0;const q=se(R.transform);((X=R.sourceEvent)==null?void 0:X.type)==="mousedown"&&(C.value=!0),ee=q,w.viewportChangeStart(q),w.moveStart({event:R,flowTransform:q})}),ie.on("end",R=>{if(!R.sourceEvent)return null;if(S.value=!1,C.value=!1,z(P.value,U??0)&&!G&&w.paneContextMenu(R.sourceEvent),G=!1,oe(ee,R.transform)){const X=se(R.transform);ee=X,w.viewportChangeEnd(X),w.moveEnd({event:R,flowTransform:X})}}),ie.filter(R=>{var X;const q=A.value||y.value,re=m.value&&R.ctrlKey,x=R.button;if(x===1&&R.type==="mousedown"&&(he(R,"vue-flow__node")||he(R,"vue-flow__edge")))return!0;if(!P.value&&!q&&!T.value&&!p.value&&!m.value||N.value||!p.value&&R.type==="dblclick"||he(R,g.value)&&R.type==="wheel"||he(R,h.value)&&(R.type!=="wheel"||T.value&&R.type==="wheel"&&!A.value)||!m.value&&R.ctrlKey&&R.type==="wheel"||!q&&!T.value&&!re&&R.type==="wheel")return!1;if(!m&&R.type==="touchstart"&&((X=R.touches)==null?void 0:X.length)>1)return R.preventDefault(),!1;if(!P.value&&(R.type==="mousedown"||R.type==="touchstart")||l.value===!0&&Array.isArray(d.value)&&d.value.includes(0)&&x===0||Array.isArray(d.value)&&!d.value.includes(x)&&(R.type==="mousedown"||R.type==="touchstart"))return!1;const L=Array.isArray(d.value)&&d.value.includes(x)||l.value===!0&&Array.isArray(d.value)&&!d.value.includes(0)||!x||x<=1;return(!R.ctrlKey||M.value||R.type==="wheel")&&L}),t.watch([N,P],()=>{N.value&&!S.value?ie.on("zoom",null):N.value||ie.on("zoom",R=>{$.value={x:R.transform.x,y:R.transform.y,zoom:R.transform.k};const X=se(R.transform);G=z(P.value,U??0),w.viewportChange(X),w.move({event:R,flowTransform:X})})},{immediate:!0}),t.watch([N,T,u,A,m,_,g],()=>{T.value&&!A.value&&!N.value?ue.on("wheel.zoom",R=>{if(he(R,g.value))return!1;const X=A.value||y.value,q=m.value&&R.ctrlKey;if(!(!_.value||T.value||X||q))return!1;R.preventDefault(),R.stopImmediatePropagation();const x=ue.property("__zoom").k||1,L=Ai();if(!M.value&&R.ctrlKey&&m.value&&L){const be=Kt(R),le=ne(R),xe=x*2**le;ie.scaleTo(ue,xe,be,R);return}const B=R.deltaMode===1?20:1;let te=u.value===sr.Vertical?0:R.deltaX*B,J=u.value===sr.Horizontal?0:R.deltaY*B;!L&&R.shiftKey&&u.value!==sr.Vertical&&!te&&J&&(te=J,J=0),ie.translateBy(ue,-(te/x)*f.value,-(J/x)*f.value);const _e=se(ue.property("__zoom"));I&&clearTimeout(I),Q.value?(w.move({event:R,flowTransform:_e}),w.viewportChange(_e),I=setTimeout(()=>{w.moveEnd({event:R,flowTransform:_e}),w.viewportChangeEnd(_e),Q.value=!1},150)):(Q.value=!0,w.moveStart({event:R,flowTransform:_e}),w.viewportChangeStart(_e))},{passive:!1}):typeof de<"u"&&ue.on("wheel.zoom",function(R,X){const q=!_.value&&R.type==="wheel"&&!R.ctrlKey,re=A.value||y.value,x=m.value&&R.ctrlKey;if(!re&&!c.value&&!x&&R.type==="wheel"||q||he(R,g.value))return null;R.preventDefault(),de.call(this,R,X)},{passive:!1})},{immediate:!0})});function z(Z,ae){return ae===2&&Array.isArray(Z)&&Z.includes(2)}function ne(Z){const ae=Z.ctrlKey&&Ai()?10:1;return-Z.deltaY*(Z.deltaMode===1?.05:Z.deltaMode?1:.002)*ae}function oe(Z,ae){return Z.x!==ae.x&&!Number.isNaN(ae.x)||Z.y!==ae.y&&!Number.isNaN(ae.y)||Z.zoom!==ae.k&&!Number.isNaN(ae.k)}function se(Z){return{x:Z.x,y:Z.y,zoom:Z.k}}function he(Z,ae){return Z.target.closest(`.${ae}`)}return(Z,ae)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:K,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(LI,{"is-selecting":Y.value,"selection-key-pressed":t.unref(O),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(C),draggable:t.unref(d)===!0||Array.isArray(t.unref(d))&&t.unref(d).includes(0)})},{default:t.withCtx(()=>[t.createVNode(UI,null,{default:t.withCtx(()=>[t.renderSlot(Z.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),GI=["id"],qI=["id"],zI=["id"],HI={name:"A11yDescriptions",compatConfig:{MODE:3}},YI=t.defineComponent({...HI,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=je();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(Mf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,GI),t.createElementVNode("div",{id:`${t.unref(Lf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,qI),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(_A)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,zI))],64))}});function WI(){const e=je();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function XI(e,n,o){return o===Ce.Left?e-n:o===Ce.Right?e+n:e}function ZI(e,n,o){return o===Ce.Top?e-n:o===Ce.Bottom?e+n:e}const Zl=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=Ce.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:XI(n,e,r),cy:ZI(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};Zl.props=["radius","centerX","centerY","position","type"],Zl.compatConfig={MODE:3};const Op=Zl,JI=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:u,findEdge:f,findNode:d,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:y,elementsSelectable:_,edgesUpdatable:g,edgesFocusable:h,hooks:w}=je(),b=t.computed(()=>f(e.id)),{emit:N,on:C}=YA(b.value,a),k=t.inject(Pi),E=t.getCurrentInstance(),v=t.ref(!1),$=t.ref(!1),K=t.ref(""),j=t.ref(null),S=t.ref("source"),Q=t.ref(null),I=t.toRef(()=>typeof b.value.selectable>"u"?_.value:b.value.selectable),G=t.toRef(()=>typeof b.value.updatable>"u"?g.value:b.value.updatable),U=t.toRef(()=>typeof b.value.focusable>"u"?h.value:b.value.focusable);t.provide(qA,e.id),t.provide(zA,Q);const ee=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),M=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),O=t.computed(()=>{const D=b.value.type||"default",F=k==null?void 0:k[`edge-${D}`];if(F)return F;let R=b.value.template??c.value[D];if(typeof R=="string"&&E){const X=Object.keys(E.appContext.components);X&&X.includes(D)&&(R=t.resolveComponent(D,!1))}return R&&typeof R!="string"?R:(a.error(new at(Je.EDGE_TYPE_MISSING,R)),!1)}),{handlePointerDown:A}=bp({nodeId:K,handleId:j,type:S,isValidConnection:p,edgeUpdaterType:S,onEdgeUpdate:Y,onEdgeUpdateEnd:z});return()=>{const D=d(b.value.source),F=d(b.value.target),R="pathOptions"in b.value?b.value.pathOptions:{};if(!D&&!F)return a.error(new at(Je.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!D)return a.error(new at(Je.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!F)return a.error(new at(Je.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||D.hidden||F.hidden)return null;let X;r.value===mn.Strict?X=D.handleBounds.source:X=[...D.handleBounds.source||[],...D.handleBounds.target||[]];const q=ap(X,b.value.sourceHandle);let re;r.value===mn.Strict?re=F.handleBounds.target:re=[...F.handleBounds.target||[],...F.handleBounds.source||[]];const x=ap(re,b.value.targetHandle),L=(q==null?void 0:q.position)||Ce.Bottom,B=(x==null?void 0:x.position)||Ce.Top,{x:te,y:J}=Co(D,q,L),{x:_e,y:be}=Co(F,x,B);return b.value.sourceX=te,b.value.sourceY=J,b.value.targetX=_e,b.value.targetY=be,t.h("g",{ref:Q,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${O.value===!1?"default":b.value.type||"default"}`,s.value,ee.value,{updating:v.value,selected:b.value.selected,animated:b.value.animated,inactive:!I.value&&!w.value.edgeClick.hasListeners()}],tabIndex:U.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":U.value?`${Lf}-${n}`:void 0,"aria-roledescription":"edge",role:U.value?"group":"img",...b.value.domAttributes,onClick:oe,onContextmenu:se,onDblclick:he,onMouseenter:Z,onMousemove:ae,onMouseleave:ie,onKeyDown:U.value?V:void 0},[$.value?null:t.h(O.value===!1?c.value.default:O.value,{id:e.id,sourceNode:D,targetNode:F,source:b.value.source,target:b.value.target,type:b.value.type,updatable:G.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...C},style:M.value,markerStart:`url('#${fr(b.value.markerStart,n)}')`,markerEnd:`url('#${fr(b.value.markerEnd,n)}')`,sourcePosition:L,targetPosition:B,sourceX:te,sourceY:J,targetX:_e,targetY:be,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...R}),[G.value==="source"||G.value===!0?[t.h("g",{onMousedown:ue,onMouseenter:P,onMouseout:T},t.h(Op,{position:L,centerX:te,centerY:J,radius:i.value,type:"source","data-type":"source"}))]:null,G.value==="target"||G.value===!0?[t.h("g",{onMousedown:de,onMouseenter:P,onMouseout:T},t.h(Op,{position:B,centerX:_e,centerY:be,radius:i.value,type:"target","data-type":"target"}))]:null]])};function P(){v.value=!0}function T(){v.value=!1}function Y(D,F){N.update({event:D,edge:b.value,connection:F})}function z(D){N.updateEnd({event:D,edge:b.value}),$.value=!1}function ne(D,F){D.button===0&&($.value=!0,K.value=F?b.value.target:b.value.source,j.value=(F?b.value.targetHandle:b.value.sourceHandle)??null,S.value=F?"target":"source",N.updateStart({event:D,edge:b.value}),A(D))}function oe(D){var F;const R={event:D,edge:b.value};I.value&&(l.value=!1,b.value.selected&&m.value?(u([b.value]),(F=Q.value)==null||F.blur()):o([b.value])),N.click(R)}function se(D){N.contextMenu({event:D,edge:b.value})}function he(D){N.doubleClick({event:D,edge:b.value})}function Z(D){N.mouseEnter({event:D,edge:b.value})}function ae(D){N.mouseMove({event:D,edge:b.value})}function ie(D){N.mouseLeave({event:D,edge:b.value})}function ue(D){ne(D,!0)}function de(D){ne(D,!1)}function V(D){var F;!y.value&&Ff.includes(D.key)&&I.value&&(D.key==="Escape"?((F=Q.value)==null||F.blur(),u([f(e.id)])):o([f(e.id)]))}}}),QI=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:u,viewport:f,findNode:d}=je(),p=(e=t.inject(Pi))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return d((w=r.value)==null?void 0:w.nodeId)}),y=t.computed(()=>{var w;return d((w=i.value)==null?void 0:w.nodeId)??null}),_=t.computed(()=>({x:(a.value.x-f.value.x)/f.value.zoom,y:(a.value.y-f.value.y)/f.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${fr(c.value.markerStart,n)})`:""),h=t.computed(()=>c.value.markerEnd?`url(#${fr(c.value.markerEnd,n)})`:"");return()=>{var w,b,N;if(!m.value||!r.value)return null;const C=r.value.id,k=r.value.type,E=m.value.handleBounds;let v=(E==null?void 0:E[k])??[];if(o.value===mn.Loose){const M=(E==null?void 0:E[k==="source"?"target":"source"])??[];v=[...v,...M]}if(!v)return null;const $=(C?v.find(M=>M.id===C):v[0])??null,K=($==null?void 0:$.position)??Ce.Top,{x:j,y:S}=Co(m.value,$,K);let Q=null;y.value&&(o.value===mn.Strict?Q=((w=y.value.handleBounds[k==="source"?"target":"source"])==null?void 0:w.find(M=>{var O;return M.id===((O=i.value)==null?void 0:O.id)}))||null:Q=((b=[...y.value.handleBounds.source??[],...y.value.handleBounds.target??[]])==null?void 0:b.find(M=>{var O;return M.id===((O=i.value)==null?void 0:O.id)}))||null);const I=((N=i.value)==null?void 0:N.position)??(K?Gl[K]:null);if(!K||!I)return null;const G=l.value??c.value.type??Dn.Bezier;let U="";const ee={sourceX:j,sourceY:S,sourcePosition:K,targetX:_.value.x,targetY:_.value.y,targetPosition:I};return G===Dn.Bezier?[U]=xp(ee):G===Dn.Step?[U]=Xl({...ee,borderRadius:0}):G===Dn.SmoothStep?[U]=Xl(ee):G===Dn.SimpleBezier?[U]=Ap(ee):U=`M${j},${S} ${_.value.x},${_.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},p?t.h(p,{sourceX:j,sourceY:S,sourcePosition:K,targetX:_.value.x,targetY:_.value.y,targetPosition:I,sourceNode:m.value,sourceHandle:$,targetNode:y.value,targetHandle:Q,markerEnd:h.value,markerStart:g.value,connectionStatus:u.value}):t.h("path",{d:U,class:[c.value.class,u,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":h.value,"marker-start":g.value})))}}}),eT=["id","markerWidth","markerHeight","markerUnits","orient"],tT={name:"MarkerType",compatConfig:{MODE:3}},nT=t.defineComponent({...tT,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(lr).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(lr).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,eT))}}),oT={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},rT={name:"MarkerDefinitions",compatConfig:{MODE:3}},iT=t.defineComponent({...rT,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=je(),a=t.computed(()=>{const l=new Set,s=[],c=u=>{if(u){const f=fr(u,n);l.has(f)||(typeof u=="object"?s.push({...u,id:f,color:u.color||i.value}):s.push({id:f,color:i.value,type:u}),l.add(f))}};for(const u of[r.value.markerEnd,r.value.markerStart])c(u);for(const u of o.value)for(const f of[u.markerStart,u.markerEnd])c(f);return s.sort((u,f)=>u.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",oT,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(nT,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),aT={name:"Edges",compatConfig:{MODE:3}},lT=t.defineComponent({...aT,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=je();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(iT),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(OA)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(JI),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(QI))],64))}}),sT=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:u,onUpdateNodeInternals:f,getNodeTypes:d,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:y,ariaLiveMessage:_,snapToGrid:g,snapGrid:h,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:N,nodesConnectable:C,nodesFocusable:k,hooks:E}=je(),v=t.ref(null);t.provide(yp,v),t.provide(hp,e.id);const $=t.inject(Pi),K=t.getCurrentInstance(),j=kp(),{node:S,parentNode:Q}=wp(e.id),{emit:I,on:G}=JA(S,l),U=t.toRef(()=>typeof S.draggable>"u"?b.value:S.draggable),ee=t.toRef(()=>typeof S.selectable>"u"?N.value:S.selectable),M=t.toRef(()=>typeof S.connectable>"u"?C.value:S.connectable),O=t.toRef(()=>typeof S.focusable>"u"?k.value:S.focusable),A=t.computed(()=>ee.value||U.value||E.value.nodeClick.hasListeners()||E.value.nodeDoubleClick.hasListeners()||E.value.nodeMouseEnter.hasListeners()||E.value.nodeMouseMove.hasListeners()||E.value.nodeMouseLeave.hasListeners()),P=t.toRef(()=>!!S.dimensions.width&&!!S.dimensions.height),T=t.computed(()=>{const F=S.type||"default",R=$==null?void 0:$[`node-${F}`];if(R)return R;let X=S.template||d.value[F];if(typeof X=="string"&&K){const q=Object.keys(K.appContext.components);q&&q.includes(F)&&(X=t.resolveComponent(F,!1))}return X&&typeof X!="string"?X:(l.error(new at(Je.NODE_TYPE_MISSING,X)),!1)}),Y=_p({id:e.id,el:v,disabled:()=>!U.value,selectable:ee,dragHandle:()=>S.dragHandle,onStart(F){I.dragStart(F)},onDrag(F){I.drag(F)},onStop(F){I.dragStop(F)},onClick(F){V(F)}}),z=t.computed(()=>S.class instanceof Function?S.class(S):S.class),ne=t.computed(()=>{const F=(S.style instanceof Function?S.style(S):S.style)||{},R=S.width instanceof Function?S.width(S):S.width,X=S.height instanceof Function?S.height(S):S.height;return!F.width&&R&&(F.width=typeof R=="string"?R:`${R}px`),!F.height&&X&&(F.height=typeof X=="string"?X:`${X}px`),F}),oe=t.toRef(()=>Number(S.zIndex??ne.value.zIndex??0));return f(F=>{(F.includes(e.id)||!F.length)&&he()}),t.onMounted(()=>{t.watch(()=>S.hidden,(F=!1,R,X)=>{!F&&v.value&&(e.resizeObserver.observe(v.value),X(()=>{v.value&&e.resizeObserver.unobserve(v.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>S.type,()=>S.sourcePosition,()=>S.targetPosition],()=>{t.nextTick(()=>{u([{id:e.id,nodeElement:v.value,forceUpdate:!0}])})}),t.watch([()=>S.position.x,()=>S.position.y,()=>{var F;return(F=Q.value)==null?void 0:F.computedPosition.x},()=>{var F;return(F=Q.value)==null?void 0:F.computedPosition.y},()=>{var F;return(F=Q.value)==null?void 0:F.computedPosition.z},oe,()=>S.selected,()=>S.dimensions.height,()=>S.dimensions.width,()=>{var F;return(F=Q.value)==null?void 0:F.dimensions.height},()=>{var F;return(F=Q.value)==null?void 0:F.dimensions.width}],([F,R,X,q,re,x])=>{const L={x:F,y:R,z:x+(m.value&&S.selected?1e3:0)};typeof X<"u"&&typeof q<"u"?S.computedPosition=xA({x:X,y:q,z:re},L):S.computedPosition=L},{flush:"post",immediate:!0}),t.watch([()=>S.extent,p],([F,R],[X,q])=>{(F!==X||R!==q)&&se()}),S.extent==="parent"||typeof S.extent=="object"&&"range"in S.extent&&S.extent.range==="parent"?gl(()=>P).toBe(!0).then(se):se(),()=>S.hidden?null:t.h("div",{ref:v,"data-id":S.id,class:["vue-flow__node",`vue-flow__node-${T.value===!1?"default":S.type||"default"}`,{[o.value]:U.value,dragging:Y==null?void 0:Y.value,draggable:U.value,selected:S.selected,selectable:ee.value,parent:S.isParent},z.value],style:{visibility:P.value?"visible":"hidden",zIndex:S.computedPosition.z??oe.value,transform:`translate(${S.computedPosition.x}px,${S.computedPosition.y}px)`,pointerEvents:A.value?"all":"none",...ne.value},tabIndex:O.value?0:void 0,role:O.value?"group":void 0,"aria-describedby":y.value?void 0:`${Mf}-${n}`,"aria-label":S.ariaLabel,"aria-roledescription":"node",...S.domAttributes,onMouseenter:Z,onMousemove:ae,onMouseleave:ie,onContextmenu:ue,onClick:V,onDblclick:de,onKeydown:D},[t.h(T.value===!1?d.value.default:T.value,{id:S.id,type:S.type,data:S.data,events:{...S.events,...G},selected:S.selected,resizing:S.resizing,dragging:Y.value,connectable:M.value,position:S.computedPosition,dimensions:S.dimensions,isValidTargetPos:S.isValidTargetPos,isValidSourcePos:S.isValidSourcePos,parent:S.parentNode,parentNodeId:S.parentNode,zIndex:S.computedPosition.z??oe.value,targetPosition:S.targetPosition,sourcePosition:S.sourcePosition,label:S.label,dragHandle:S.dragHandle,onUpdateNodeInternals:he})]);function se(){const F=S.computedPosition,{computedPosition:R,position:X}=Ul(S,g.value?Ii(F,h.value):F,l.error,p.value,Q.value);(S.computedPosition.x!==R.x||S.computedPosition.y!==R.y)&&(S.computedPosition={...S.computedPosition,...R}),(S.position.x!==X.x||S.position.y!==X.y)&&(S.position=X)}function he(){v.value&&u([{id:e.id,nodeElement:v.value,forceUpdate:!0}])}function Z(F){Y!=null&&Y.value||I.mouseEnter({event:F,node:S})}function ae(F){Y!=null&&Y.value||I.mouseMove({event:F,node:S})}function ie(F){Y!=null&&Y.value||I.mouseLeave({event:F,node:S})}function ue(F){return I.contextMenu({event:F,node:S})}function de(F){return I.doubleClick({event:F,node:S})}function V(F){ee.value&&(!r.value||!U.value||w.value>0)&&ql(S,a.value,c,s,i,!1,v.value),I.click({event:F,node:S})}function D(F){if(!(Dl(F)||y.value))if(Ff.includes(F.key)&&ee.value){const R=F.key==="Escape";ql(S,a.value,c,s,i,R,v.value)}else U.value&&S.selected&&ko[F.key]&&(F.preventDefault(),_.value=`Moved selected node ${F.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~S.position.x}, y: ${~~S.position.y}`,j({x:ko[F.key].x,y:ko[F.key].y},F.shiftKey))}}});function cT(e={includeHiddenNodes:!1}){const{nodes:n}=je();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const dT={class:"vue-flow__nodes vue-flow__container"},uT={name:"Nodes",compatConfig:{MODE:3}},fT=t.defineComponent({...uT,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=je(),i=cT(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",dT,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,u,f,d)=>{const p=[c.id];if(d&&d.key===c.id&&t.isMemoSame(d,p))return d;const m=(t.openBlock(),t.createBlock(t.unref(sT),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=p,m},s,0),128)):t.createCommentVNode("",!0)]))}});function pT(){const{emits:e}=je();t.onMounted(()=>{if(dp()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new at(Je.MISSING_STYLES))}})}const mT=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),gT={name:"VueFlow",compatConfig:{MODE:3}},$p=t.defineComponent({...gT,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=hl(r,"modelValue",o),l=hl(r,"nodes",o),s=hl(r,"edges",o),c=je(r),u=nI({modelValue:a,nodes:l,edges:s},r,c);return rI(o,c.hooks),WI(),pT(),t.provide(Pi,i),t.onUnmounted(()=>{u()}),n(c),(f,d)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(jI,null,{default:t.withCtx(()=>[t.createVNode(lT),mT,t.createVNode(fT),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(YI)],512))}}),hT={name:"Panel",compatConfig:{MODE:3}},yT=t.defineComponent({...hT,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=je(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var an=(e=>(e.Lines="lines",e.Dots="dots",e))(an||{});const Bp=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},Vp=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};an.Lines+"",an.Dots+"";const _T={[an.Dots]:"#81818a",[an.Lines]:"#eee"},bT=["id","x","y","width","height","patternTransform"],wT={key:2,height:"100",width:"100"},kT=["fill"],CT=["x","y","fill"],ET={name:"Background",compatConfig:{MODE:3}},NT=t.defineComponent({...ET,props:{id:{},variant:{default:()=>an.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=je(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],u=[s*l||1,c*l||1],f=e.size*l,[d,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[d*l||1+u[0]/2,p*l||1+u[1]/2];return{scaledGap:u,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||_T[e.variant||an.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(an).Lines?(t.openBlock(),t.createBlock(t.unref(Bp),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(an).Dots?(t.openBlock(),t.createBlock(t.unref(Vp),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",wT,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,kT)])):t.createCommentVNode("",!0)])],8,bT)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,CT),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),ST={name:"ControlButton",compatConfig:{MODE:3}},xT=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},vT={class:"vue-flow__controls-button"};function AT(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",vT,[t.renderSlot(e.$slots,"default")])}const pr=xT(ST,[["render",AT]]),IT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},TT=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function PT(e,n){return t.openBlock(),t.createElementBlock("svg",IT,TT)}const OT={render:PT},$T={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},BT=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function VT(e,n){return t.openBlock(),t.createElementBlock("svg",$T,BT)}const RT={render:VT},DT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},MT=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function LT(e,n){return t.openBlock(),t.createElementBlock("svg",DT,MT)}const FT={render:LT},UT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},KT=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function jT(e,n){return t.openBlock(),t.createElementBlock("svg",UT,KT)}const GT={render:jT},qT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},zT=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function HT(e,n){return t.openBlock(),t.createElementBlock("svg",qT,zT)}const YT={render:HT},WT={name:"Controls",compatConfig:{MODE:3}},XT=t.defineComponent({...WT,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>Rf.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:u,minZoom:f,maxZoom:d}=je(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>u.value.zoom<=f.value),y=t.toRef(()=>u.value.zoom>=d.value);function _(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function h(){c(e.fitViewParams),n("fitView")}function w(){a(!p.value),n("interactionChange",!p.value)}return(b,N)=>(t.openBlock(),t.createBlock(t.unref(yT),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(pr,{class:"vue-flow__controls-zoomin",disabled:y.value,onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(OT))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(pr,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(RT))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(pr,{class:"vue-flow__controls-fitview",onClick:h},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(FT))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(pr,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[p.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(YT))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(GT))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),ZT=["undo","redo","duplicate","cut","copy","paste"],Rp=()=>{};function JT(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function QT(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 eP=Ye.createSharedComposable(()=>{const e=new Set;Ye.useEventListener("keydown",o=>{if(JT(o.target))return;const r=QT(o);if(r)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[r];if(a){if(o.defaultPrevented){t.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),a();return}}},{passive:!1});function n(o){if(!ZT.some(i=>typeof o[i]=="function"))return Rp;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function Dp(e={}){if(typeof window>"u")return Rp;const n=eP().subscribe(e);return t.onScopeDispose(n),n}const mr={padding:80,gaps:{nodes:40,edges:80,ranks:40}},tP=1600,nP=1.2,oP=0,rP=200,Mp=Symbol("confirm-modal"),Eo="{key}",Un={"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}},Mi=Object.keys(Un).filter(e=>e.includes(Eo)).map(e=>e.replace(Eo,""));function Jl(e){if(!e||!hr(e))return;const n=Mi.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(Eo,"")}function gr(e){if(!e)return null;const n=Mi.find(o=>e.startsWith(o));return n||e}function hr(e){return e?Mi.some(n=>e.startsWith(n)):!1}function Lp(e){return e?hr(e)?gr(e)+Eo:e:null}function Ql(e){var o;if(!e)return!1;const n=Lp(e);return n?((o=Un[n])==null?void 0:o.readable)??!1:!1}function es(e){var o;if(!e)return!1;const n=Lp(e);return n?((o=Un[n])==null?void 0:o.writable)??!1:!1}function iP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var aP="\0",Kn="\0",Fp="";let lP=class{constructor(n){nt(this,"_isDirected",!0);nt(this,"_isMultigraph",!1);nt(this,"_isCompound",!1);nt(this,"_label");nt(this,"_defaultNodeLabelFn",()=>{});nt(this,"_defaultEdgeLabelFn",()=>{});nt(this,"_nodes",{});nt(this,"_in",{});nt(this,"_preds",{});nt(this,"_out",{});nt(this,"_sucs",{});nt(this,"_edgeObjs",{});nt(this,"_edgeLabels",{});nt(this,"_nodeCount",0);nt(this,"_edgeCount",0);nt(this,"_parent");nt(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[Kn]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=Kn,this._children[n]={},this._children[Kn][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=Kn;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==Kn)return o}}children(n=Kn){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===Kn)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=yr(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=sP(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,Up(this._preds[o],n),Up(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?ts(this._isDirected,arguments[0]):yr(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?ts(this._isDirected,arguments[0]):yr(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?ts(this._isDirected,arguments[0]):yr(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Kp(this._preds[o],n),Kp(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function Up(e,n){e[n]?e[n]++:e[n]=1}function Kp(e,n){--e[n]||delete e[n]}function yr(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+Fp+a+Fp+(r===void 0?aP:r)}function sP(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function ts(e,n){return yr(e,n.v,n.w,n.name)}var ns=lP,cP="2.2.4",dP={Graph:ns,version:cP},uP=ns,fP={write:pP,read:hP};function pP(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:mP(e),edges:gP(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function mP(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function gP(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function hP(e){var n=new uP(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var yP=_P;function _P(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var jp=class{constructor(){nt(this,"_arr",[]);nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},bP=jp,Gp=kP,wP=()=>1;function kP(e,n,o,r){return CP(e,String(n),o||wP,r||function(i){return e.outEdges(i)})}function CP(e,n,o,r){var i={},a=new bP,l,s,c=function(u){var f=u.v!==l?u.v:u.w,d=i[f],p=o(u),m=s.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+p);m<d.distance&&(d.distance=m,d.predecessor=l,a.decrease(f,m))};for(e.nodes().forEach(function(u){var f=u===n?0:Number.POSITIVE_INFINITY;i[u]={distance:f},a.add(u,f)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var EP=Gp,NP=SP;function SP(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=EP(e,i,n,o),r},{})}var qp=xP;function xP(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(f){Object.hasOwn(r,f)?r[f].onStack&&(s.lowlink=Math.min(s.lowlink,r[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,r[f].lowlink))}),s.lowlink===s.index){var c=[],u;do u=o.pop(),r[u].onStack=!1,c.push(u);while(l!==u);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var vP=qp,AP=IP;function IP(e){return vP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var TP=OP,PP=()=>1;function OP(e,n,o){return $P(e,n||PP,o||function(r){return e.outEdges(r)})}function $P(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(u){var f=c[a],d=l[u],p=c[u],m=f.distance+d.distance;m<p.distance&&(p.distance=m,p.predecessor=d.predecessor)})})}),r}function zp(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new os;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new os;return r}class os extends Error{constructor(){super(...arguments)}}var Hp=zp;zp.CycleException=os;var Yp=Hp,BP=VP;function VP(e){try{Yp(e)}catch(n){if(n instanceof Yp.CycleException)return!1;throw n}return!0}var Wp=RP;function RP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?DP:MP,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function DP(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),Xp(n(a[0]),l=>i.push([l,!1])))}}function MP(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),Xp(n(a),l=>i.push(l)))}}function Xp(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var LP=Wp,FP=UP;function UP(e,n){return LP(e,n,"post")}var KP=Wp,jP=GP;function GP(e,n){return KP(e,n,"pre")}var qP=ns,zP=jp,HP=YP;function YP(e,n){var o=new qP,r={},i=new zP,a;function l(c){var u=c.v===a?c.w:c.v,f=i.priority(u);if(f!==void 0){var d=n(c);d<f&&(r[u]=a,i.decrease(u,d))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var WP={components:yP,dijkstra:Gp,dijkstraAll:NP,findCycles:AP,floydWarshall:TP,isAcyclic:BP,postorder:FP,preorder:jP,prim:HP,tarjan:qp,topsort:Hp},Zp=dP,Mt={Graph:Zp.Graph,json:fP,alg:WP,version:Zp.version};let XP=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return Jp(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&Jp(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,ZP)),r=r._prev;return"["+n.join(", ")+"]"}};function Jp(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function ZP(e,n){if(e!=="_next"&&e!=="_prev")return n}var JP=XP;let QP=Mt.Graph,eO=JP;var tO=oO;let nO=()=>1;function oO(e,n){if(e.nodeCount()<=1)return[];let o=iO(e,n||nO);return rO(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function rO(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)rs(e,n,o,l);for(;l=i.dequeue();)rs(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(rs(e,n,o,l,!0));break}}}return r}function rs(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,is(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,u=e.node(c);u.in-=s,is(n,o,u)}),e.removeNode(r.v),a}function iO(e,n){let o=new QP,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,u=n(s),f=c+u;o.setEdge(s.v,s.w,f),i=Math.max(i,o.node(s.v).out+=u),r=Math.max(r,o.node(s.w).in+=u)});let a=aO(i+r+3).map(()=>new eO),l=r+1;return o.nodes().forEach(s=>{is(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function is(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function aO(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let Qp=Mt.Graph;var et={addBorderNode:gO,addDummyNode:em,applyWithChunking:Li,asNonCompoundGraph:sO,buildLayerMatrix:fO,intersectRect:uO,mapValues:CO,maxRank:nm,normalizeRanks:pO,notime:bO,partition:yO,pick:kO,predecessorWeights:dO,range:rm,removeEmptyRanks:mO,simplify:lO,successorWeights:cO,time:_O,uniqueId:om,zipObject:as};function em(e,n,o,r){for(var i=r;e.hasNode(i);)i=om(r);return o.dummy=n,e.setNode(i,o),i}function lO(e){let n=new Qp().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function sO(e){let n=new Qp({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function cO(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return as(e.nodes(),n)}function dO(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return as(e.nodes(),n)}function uO(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,u;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,u=s):(i<0&&(l=-l),c=l,u=l*a/i),{x:o+c,y:r+u}}function fO(e){let n=rm(nm(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function pO(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=Li(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function mO(e){let n=e.nodes().map(l=>e.node(l).rank),o=Li(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function gO(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),em(e,"border",i,n)}function hO(e,n=tm){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const tm=65535;function Li(e,n){if(n.length>tm){const o=hO(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function nm(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return Li(Math.max,o)}function yO(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function _O(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function bO(e,n){return n()}let wO=0;function om(e){var n=++wO;return e+(""+n)}function rm(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function kO(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function CO(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function as(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let EO=tO,NO=et.uniqueId;var SO={run:xO,undo:AO};function xO(e){(e.graph().acyclicer==="greedy"?EO(e,o(e)):vO(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,NO("rev"))});function o(r){return i=>r.edge(i).weight}}function vO(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function AO(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let IO=et;var TO={run:PO,undo:$O};function PO(e){e.graph().dummyChains=[],e.edges().forEach(n=>OO(e,n))}function OO(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let u,f,d;for(d=0,++r;r<a;++d,++r)s.points=[],f={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},u=IO.addDummyNode(e,"edge",f,"_d"),r===c&&(f.width=s.width,f.height=s.height,f.dummy="edge-label",f.labelpos=s.labelpos),e.setEdge(o,u,{weight:s.weight},l),d===0&&e.graph().dummyChains.push(u),o=u;e.setEdge(o,i,{weight:s.weight},l)}function $O(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:BO}=et;var Fi={longestPath:VO,slack:RO};function VO(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=BO(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function RO(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var DO=Mt.Graph,Ui=Fi.slack,im=MO;function MO(e){var n=new DO({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;LO(n,e)<r;)i=FO(n,e),a=n.hasNode(i.v)?Ui(e,i):-Ui(e,i),UO(n,e,a);return n}function LO(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!Ui(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function FO(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=Ui(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function UO(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var KO=im,am=Fi.slack,jO=Fi.longestPath,GO=Mt.alg.preorder,qO=Mt.alg.postorder,zO=et.simplify,HO=jn;jn.initLowLimValues=ss,jn.initCutValues=ls,jn.calcCutValue=lm,jn.leaveEdge=cm,jn.enterEdge=dm,jn.exchangeEdges=um;function jn(e){e=zO(e),jO(e);var n=KO(e);ss(n),ls(n,e);for(var o,r;o=cm(n);)r=dm(n,e,o),um(n,e,o,r)}function ls(e,n){var o=qO(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>YO(e,n,r))}function YO(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=lm(e,n,o)}function lm(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var u=c.v===o,f=u?c.w:c.v;if(f!==i){var d=u===a,p=n.edge(c).weight;if(s+=d?p:-p,XO(e,o,f)){var m=e.edge(o,f).cutvalue;s+=d?-m:m}}}),s}function ss(e,n){arguments.length<2&&(n=e.nodes()[0]),sm(e,{},1,n)}function sm(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=sm(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function cm(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function dm(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var u=n.edges().filter(f=>c===fm(e,e.node(f.v),s)&&c!==fm(e,e.node(f.w),s));return u.reduce((f,d)=>am(n,d)<am(n,f)?d:f)}function um(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),ss(e),ls(e,n),WO(e,n)}function WO(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=GO(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function XO(e,n,o){return e.hasEdge(n,o)}function fm(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var ZO=Fi,pm=ZO.longestPath,JO=im,QO=HO,e$=t$;function t$(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":mm(e);break;case"tight-tree":o$(e);break;case"longest-path":n$(e);break;case"none":break;default:mm(e)}}var n$=pm;function o$(e){pm(e),JO(e)}function mm(e){QO(e)}var r$=i$;function i$(e){let n=l$(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=a$(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,u=l[c],f=!0;for(;o!==i.w;){if(r=e.node(o),f){for(;(u=l[c])!==s&&e.node(u).maxRank<r.rank;)c++;u===s&&(f=!1)}if(!f){for(;c<l.length-1&&e.node(u=l[c+1]).minRank<=r.rank;)c++;u=l[c]}e.setParent(o,u),o=e.successors(o)[0]}})}function a$(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,u;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(u=c,c=r;(c=e.parent(c))!==u;)a.push(c);return{path:i.concat(a.reverse()),lca:u}}function l$(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let Ki=et;var s$={run:c$,cleanup:f$};function c$(e){let n=Ki.addDummyNode(e,"root",{},"_root"),o=d$(e),r=Object.values(o),i=Ki.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=u$(e)+1;e.children().forEach(s=>gm(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function gm(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=Ki.addBorderNode(e,"_bt"),u=Ki.addBorderNode(e,"_bb"),f=e.node(l);e.setParent(c,l),f.borderTop=c,e.setParent(u,l),f.borderBottom=u,s.forEach(d=>{gm(e,n,o,r,i,a,d);let p=e.node(d),m=p.borderTop?p.borderTop:d,y=p.borderBottom?p.borderBottom:d,_=p.borderTop?r:2*r,g=m!==y?1:i-a[l]+1;e.setEdge(c,m,{weight:_,minlen:g,nestingEdge:!0}),e.setEdge(y,u,{weight:_,minlen:g,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function d$(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function u$(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function f$(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let p$=et;var m$=g$;function g$(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)hm(e,"borderLeft","_bl",o,i,a),hm(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function hm(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=p$.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var h$={adjust:y$,undo:_$};function y$(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&ym(e)}function _$(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&b$(e),(n==="lr"||n==="rl")&&(w$(e),ym(e))}function ym(e){e.nodes().forEach(n=>_m(e.node(n))),e.edges().forEach(n=>_m(e.edge(n)))}function _m(e){let n=e.width;e.width=e.height,e.height=n}function b$(e){e.nodes().forEach(n=>cs(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(cs),Object.hasOwn(o,"y")&&cs(o)})}function cs(e){e.y=-e.y}function w$(e){e.nodes().forEach(n=>ds(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(ds),Object.hasOwn(o,"x")&&ds(o)})}function ds(e){let n=e.x;e.x=e.y,e.y=n}let bm=et;var k$=C$;function C$(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=bm.applyWithChunking(Math.max,r),a=bm.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let u=e.node(c);a[u.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,u)=>e.node(c).rank-e.node(u).rank).forEach(l),a}let E$=et.zipObject;var N$=S$;function S$(e,n){let o=0;for(let r=1;r<n.length;++r)o+=x$(e,n[r-1],n[r]);return o}function x$(e,n,o){let r=E$(o,o.map((u,f)=>f)),i=n.flatMap(u=>e.outEdges(u).map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,d)=>f.pos-d.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(u=>{let f=u.pos+a;s[f]+=u.weight;let d=0;for(;f>0;)f%2&&(d+=s[f+1]),f=f-1>>1,s[f]+=u.weight;c+=u.weight*d}),c}var v$=A$;function A$(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let I$=et;var T$=P$;function P$(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return O$(r)}function O$(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&$$(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>I$.pick(i,["vs","i","barycenter","weight"]))}function $$(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let B$=et;var V$=R$;function R$(e,n){let o=B$.partition(e,f=>Object.hasOwn(f,"barycenter")),r=o.lhs,i=o.rhs.sort((f,d)=>d.i-f.i),a=[],l=0,s=0,c=0;r.sort(D$(!!n)),c=wm(a,i,c),r.forEach(f=>{c+=f.vs.length,a.push(f.vs),l+=f.barycenter*f.weight,s+=f.weight,c=wm(a,i,c)});let u={vs:a.flat(!0)};return s&&(u.barycenter=l/s,u.weight=s),u}function wm(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function D$(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let M$=v$,L$=T$,F$=V$;var U$=km;function km(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(p=>p!==l&&p!==s));let u=M$(e,i);u.forEach(p=>{if(e.children(p.v).length){let m=km(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&j$(p,m)}});let f=L$(u,o);K$(f,c);let d=F$(f,r);if(l&&(d.vs=[l,d.vs,s].flat(!0),e.predecessors(l).length)){let p=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function K$(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function j$(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let G$=Mt.Graph,q$=et;var z$=H$;function H$(e,n,o){let r=Y$(e),i=new G$({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let u=c.v===a?c.w:c.v,f=i.edge(u,a),d=f!==void 0?f.weight:0;i.setEdge(u,a,{weight:e.edge(c).weight+d})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function Y$(e){for(var n;e.hasNode(n=q$.uniqueId("_root")););return n}var W$=X$;function X$(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let Z$=k$,J$=N$,Q$=U$,eB=z$,tB=W$,nB=Mt.Graph,ji=et;var oB=Cm;function Cm(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,Cm);return}let o=ji.maxRank(e),r=Em(e,ji.range(1,o+1),"inEdges"),i=Em(e,ji.range(o-1,-1,-1),"outEdges"),a=Z$(e);if(Nm(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,u=0;u<4;++c,++u){rB(c%2?r:i,c%4>=2),a=ji.buildLayerMatrix(e);let f=J$(e,a);f<l&&(u=0,s=Object.assign({},a),l=f)}Nm(e,s)}function Em(e,n,o){return n.map(function(r){return eB(e,r,o)})}function rB(e,n){let o=new nB;e.forEach(function(r){let i=r.graph().root,a=Q$(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),tB(r,o,a.vs)})}function Nm(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let iB=Mt.Graph,ln=et;var aB={positionX:yB};function lB(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,u=a[a.length-1];return a.forEach((f,d)=>{let p=cB(e,f),m=p?e.node(p).order:c;(p||f===u)&&(a.slice(s,d+1).forEach(y=>{e.predecessors(y).forEach(_=>{let g=e.node(_),h=g.order;(h<l||m<h)&&!(g.dummy&&e.node(y).dummy)&&Sm(o,_,y)})}),s=d+1,l=m)}),a}return n.length&&n.reduce(r),o}function sB(e,n){let o={};function r(a,l,s,c,u){let f;ln.range(l,s).forEach(d=>{f=a[d],e.node(f).dummy&&e.predecessors(f).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>u)&&Sm(o,p,f)})})}function i(a,l){let s=-1,c,u=0;return l.forEach((f,d)=>{if(e.node(f).dummy==="border"){let p=e.predecessors(f);p.length&&(c=e.node(p[0]).order,r(l,u,d,s,c),u=d,s=c)}r(l,u,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function cB(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function Sm(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function dB(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function uB(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,u)=>{i[c]=c,a[c]=c,l[c]=u})}),n.forEach(s=>{let c=-1;s.forEach(u=>{let f=r(u);if(f.length){f=f.sort((p,m)=>l[p]-l[m]);let d=(f.length-1)/2;for(let p=Math.floor(d),m=Math.ceil(d);p<=m;++p){let y=f[p];a[u]===u&&c<l[y]&&!dB(o,u,y)&&(a[y]=u,a[u]=i[u]=i[y],c=l[y])}}})}),{root:i,align:a}}function fB(e,n,o,r,i){let a={},l=pB(e,n,o,i),s=i?"borderLeft":"borderRight";function c(d,p){let m=l.nodes(),y=m.pop(),_={};for(;y;)_[y]?d(y):(_[y]=!0,m.push(y),m=m.concat(p(y))),y=m.pop()}function u(d){a[d]=l.inEdges(d).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function f(d){let p=l.outEdges(d).reduce((y,_)=>Math.min(y,a[_.w]-l.edge(_)),Number.POSITIVE_INFINITY),m=e.node(d);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[d]=Math.max(a[d],p))}return c(u,l.predecessors.bind(l)),c(f,l.successors.bind(l)),Object.keys(r).forEach(d=>a[d]=a[o[d]]),a}function pB(e,n,o,r){let i=new iB,a=e.graph(),l=_B(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(u=>{let f=o[u];if(i.setNode(f),c){var d=o[c],p=i.edge(d,f);i.setEdge(d,f,Math.max(l(e,u,c),p||0))}c=u})}),i}function mB(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let u=bB(e,s)/2;i=Math.max(c+u,i),a=Math.min(c-u,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function gB(e,n){let o=Object.values(n),r=ln.applyWithChunking(Math.min,o),i=ln.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let u=Object.values(c),f=r-ln.applyWithChunking(Math.min,u);l!=="l"&&(f=i-ln.applyWithChunking(Math.max,u)),f&&(e[s]=ln.mapValues(c,d=>d+f))})})}function hB(e,n){return ln.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function yB(e){let n=ln.buildLayerMatrix(e),o=Object.assign(lB(e,n),sB(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(d=>Object.values(d).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),u=uB(e,i,o,c),f=fB(e,i,u.root,u.align,s==="r");s==="r"&&(f=ln.mapValues(f,d=>-d)),r[l+s]=f})});let a=mB(e,r);return gB(r,a),hB(r,e.graph().align)}function _B(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,u;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":u=-l.width/2;break;case"r":u=l.width/2;break}if(u&&(c+=o?u:-u),u=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=s.width/2;break;case"r":u=-s.width/2;break}return u&&(c+=o?u:-u),u=0,c}}function bB(e,n){return e.node(n).width}let xm=et,wB=aB.positionX;var kB=CB;function CB(e){e=xm.asNonCompoundGraph(e),EB(e),Object.entries(wB(e)).forEach(([n,o])=>e.node(n).x=o)}function EB(e){let n=xm.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let vm=SO,Am=TO,NB=e$,SB=et.normalizeRanks,xB=r$,vB=et.removeEmptyRanks,Im=s$,AB=m$,Tm=h$,IB=oB,TB=kB,Pt=et,PB=Mt.Graph;var OB=$B;function $B(e,n){let o=n&&n.debugTiming?Pt.time:Pt.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>jB(e));o(" runLayout",()=>BB(r,o,n)),o(" updateInputGraph",()=>VB(e,r))})}function BB(e,n,o){n(" makeSpaceForEdgeLabels",()=>GB(e)),n(" removeSelfEdges",()=>QB(e)),n(" acyclic",()=>vm.run(e)),n(" nestingGraph.run",()=>Im.run(e)),n(" rank",()=>NB(Pt.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>qB(e)),n(" removeEmptyRanks",()=>vB(e)),n(" nestingGraph.cleanup",()=>Im.cleanup(e)),n(" normalizeRanks",()=>SB(e)),n(" assignRankMinMax",()=>zB(e)),n(" removeEdgeLabelProxies",()=>HB(e)),n(" normalize.run",()=>Am.run(e)),n(" parentDummyChains",()=>xB(e)),n(" addBorderSegments",()=>AB(e)),n(" order",()=>IB(e,o)),n(" insertSelfEdges",()=>eV(e)),n(" adjustCoordinateSystem",()=>Tm.adjust(e)),n(" position",()=>TB(e)),n(" positionSelfEdges",()=>tV(e)),n(" removeBorderNodes",()=>JB(e)),n(" normalize.undo",()=>Am.undo(e)),n(" fixupEdgeLabelCoords",()=>XB(e)),n(" undoCoordinateSystem",()=>Tm.undo(e)),n(" translateGraph",()=>YB(e)),n(" assignNodeIntersects",()=>WB(e)),n(" reversePoints",()=>ZB(e)),n(" acyclic.undo",()=>vm.undo(e))}function VB(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let RB=["nodesep","edgesep","ranksep","marginx","marginy"],DB={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},MB=["acyclicer","ranker","rankdir","align"],LB=["width","height","rank"],Pm={width:0,height:0},FB=["minlen","weight","width","height","labeloffset"],UB={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},KB=["labelpos"];function jB(e){let n=new PB({multigraph:!0,compound:!0}),o=fs(e.graph());return n.setGraph(Object.assign({},DB,us(o,RB),Pt.pick(o,MB))),e.nodes().forEach(r=>{let i=fs(e.node(r));const a=us(i,LB);Object.keys(Pm).forEach(l=>{a[l]===void 0&&(a[l]=Pm[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=fs(e.edge(r));n.setEdge(r,Object.assign({},UB,us(i,FB),Pt.pick(i,KB)))}),n}function GB(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function qB(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};Pt.addDummyNode(e,"edge-proxy",a,"_ep")}})}function zB(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function HB(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function YB(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(u){let f=u.x,d=u.y,p=u.width,m=u.height;n=Math.min(n,f-p/2),o=Math.max(o,f+p/2),r=Math.min(r,d-m/2),i=Math.max(i,d+m/2)}e.nodes().forEach(u=>c(e.node(u))),e.edges().forEach(u=>{let f=e.edge(u);Object.hasOwn(f,"x")&&c(f)}),n-=l,r-=s,e.nodes().forEach(u=>{let f=e.node(u);f.x-=n,f.y-=r}),e.edges().forEach(u=>{let f=e.edge(u);f.points.forEach(d=>{d.x-=n,d.y-=r}),Object.hasOwn(f,"x")&&(f.x-=n),Object.hasOwn(f,"y")&&(f.y-=r)}),a.width=o-n+l,a.height=i-r+s}function WB(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(Pt.intersectRect(r,a)),o.points.push(Pt.intersectRect(i,l))})}function XB(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function ZB(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function JB(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function QB(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function eV(e){var n=Pt.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{Pt.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function tV(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function us(e,n){return Pt.mapValues(Pt.pick(e,n),Number)}function fs(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let nV=et,oV=Mt.Graph;var rV={debugOrdering:iV};function iV(e){let n=nV.buildLayerMatrix(e),o=new oV({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var aV="1.1.5",lV={graphlib:Mt,layout:OB,debug:rV,util:{time:et.time,notime:et.notime},version:aV};const Om=iP(lV);function $m(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(Hc,e);return o=>n(o)}function Gi(e,n,o){const r=n?pn(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function _r(e,n){const o=n(e.source),r=n(e.target);return[Gi(o,e.sourceField,"output"),Gi(r,e.targetField,"input")]}function ps(e,n,o,r,i){const a=i(e),l=i(o);return[Gi(a,n,"output"),Gi(l,r,"input")]}function sV({phase:e,readonly:n,flowId:o}){const{findNode:r}=je(o),i=it(),{state:a,getNodeById:l,moveNode:s,moveGroup:c,setGroupLayout:u,commit:f}=i,d=t.ref(),p=t.computed(()=>new Map(a.value.groups.map(M=>[M.id,M]))),m=t.computed(()=>new Set(a.value.groups.map(M=>M.id))),y=M=>!!M&&m.value.has(M),_=M=>!!M&&M.startsWith("branch:");function g(M){const O=[];for(const A of M.memberIds){const P=l(A);P&&O.push(P)}return O}const h=t.computed(()=>{const M=new Map;for(const O of a.value.groups){if(O.phase!==e||!O.position)continue;const A=g(O).filter(P=>P.phase===e&&!P.hidden);if(A.length)for(const P of A)M.set(P.id,O)}return M}),w=t.computed(()=>{const M=new Map;for(const O of a.value.groups)M.has(O.ownerId)||M.set(O.ownerId,[]),M.get(O.ownerId).push(O);return M});function b(M){let O=0;const A=new Set;let P=h.value.get(M);for(;P&&!A.has(P.id);)O+=1,A.add(P.id),P=h.value.get(P.ownerId);return O}function N(M){return b(M.ownerId)}const C=t.computed(()=>{const M=[];for(const O of a.value.groups){const A=l(O.ownerId);if(!A||A.phase!==e)continue;const P=O.position,T=O.dimensions;if(!P||!T)continue;const Y=g(O).filter(ne=>ne.phase===e&&!ne.hidden),z=N(O);M.push({id:O.id,type:"group",position:P,width:T.width,height:T.height,data:{...O,memberIds:Y.map(ne=>ne.id)},draggable:!n,selectable:!1,zIndex:z*Xr+QN})}return M}),k=t.computed(()=>{let M=0;for(const O of a.value.groups){if(O.phase!==e)continue;const A=N(O);A>M&&(M=A)}return M}),E=t.computed(()=>{const M=[];for(const O of a.value.groups){if(O.phase!==e||!O.position||!O.dimensions)continue;const A=l(O.ownerId);if(!A||A.phase!==e||A.hidden||!g(O).filter(z=>z.phase===e&&!z.hidden).length)continue;const T=Math.max(b(A.id),N(O))+k.value+1,Y={id:`branch:${O.id}`,source:A.id,target:O.id,sourceHandle:`branch@${O.branch}`,targetHandle:"input",markerEnd:lr.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:A.id,branch:O.branch,groupId:O.id},zIndex:T*Xr+t1};M.push(Y)}return M}),v=new Map,$=new Map;let K;function j(M,O=!0){if(M.phase!==e)return;const A=g(M).filter(se=>se.phase===e&&!se.hidden);if(!A.length)return;let P=Number.POSITIVE_INFINITY,T=Number.POSITIVE_INFINITY,Y=Number.NEGATIVE_INFINITY,z=Number.NEGATIVE_INFINITY;for(const se of A){const he=r(se.id),Z=he==null?void 0:he.dimensions,ae=(Z==null?void 0:Z.width)??0,ie=(Z==null?void 0:Z.height)??0;if(ae<=0||ie<=0)return;const ue=he==null?void 0:he.computedPosition,de=(ue==null?void 0:ue.x)??se.position.x,V=(ue==null?void 0:ue.y)??se.position.y;P=Math.min(P,de),T=Math.min(T,V),Y=Math.max(Y,de+ae),z=Math.max(z,V+ie);const D=w.value.get(se.id)??[];for(const F of D){if(F.phase!==e)continue;const R=v.get(F.id),X=(R==null?void 0:R.position)??F.position,q=(R==null?void 0:R.dimensions)??F.dimensions;!X||!q||(P=Math.min(P,X.x),T=Math.min(T,X.y),Y=Math.max(Y,X.x+q.width),z=Math.max(z,X.y+q.height))}}if(!Number.isFinite(P)||!Number.isFinite(T)||!Number.isFinite(Y)||!Number.isFinite(z))return;const ne=Y-P+fo*2,oe=z-T+fo*2;return{position:{x:Math.round(P-fo),y:Math.round(T-fo)},dimensions:{width:Math.round(ne),height:Math.round(oe)},commit:O}}function S(){if(v.size===0){K=void 0;return}const M=[];let O=!1;v.forEach((A,P)=>{const T=u(P,A,!1);M.push({id:P,changed:T,commit:A.commit}),A.commit&&T&&!O&&(O=!0)}),v.clear(),K=void 0;for(const{id:A,changed:P,commit:T}of M){if(!P)continue;const Y=p.value.get(A);if(!Y)continue;const z=h.value.get(Y.ownerId);z&&$.set(z.id,{commit:T})}if($.size>0){const A=Array.from($);$.clear();for(const[P,{commit:T}]of A)I(P,T)}O&&f("*")}function Q(){v.size!==0&&(K||(K=t.nextTick().then(S)))}function I(M,O=!0){const A=p.value.get(M);if(!A)return;const P=j(A,O);P&&(v.set(M,P),Q())}function G(M,O,A,P){const T=p.value.get(M);if(!T)return;if(!T.position){c(M,O,!1),I(M);return}if(A===0&&P===0){c(M,O,!1);return}c(M,O,!1);const Y=[M],z=new Set([M]),ne=new Set;for(;Y.length;){const oe=Y.shift(),se=p.value.get(oe);if(!se)continue;const he=g(se).filter(Z=>Z.phase===e&&!Z.hidden);for(const Z of he){ne.has(Z.id)||(s(Z.id,{x:Z.position.x+A,y:Z.position.y+P},!1),ne.add(Z.id));const ae=w.value.get(Z.id)??[];for(const ie of ae){if(z.has(ie.id))continue;const ue=p.value.get(ie.id);ue!=null&&ue.position&&c(ie.id,{x:ue.position.x+A,y:ue.position.y+P},!1),z.add(ie.id),Y.push(ie.id)}}}}function U(M,O){const A=d.value;if(!A)return!1;if(A===M||O.some(P=>A===P))return!0;for(const P of O){const T=w.value.get(P);if(T!=null&&T.some(Y=>Y.id===A))return!0}return!1}const ee=new Map;return t.watch(()=>a.value.groups.filter(O=>O.phase===e).map(O=>{const A=O.memberIds.map(P=>{var ne,oe;const T=r(P),Y=Math.round(((ne=T==null?void 0:T.dimensions)==null?void 0:ne.width)??0),z=Math.round(((oe=T==null?void 0:T.dimensions)==null?void 0:oe.height)??0);return`${P}:${Y}x${z}`});return{id:O.id,memberIds:O.memberIds,signature:A.join(",")}}),M=>{for(const O of M){if(U(O.id,O.memberIds))continue;ee.get(O.id)!==O.signature&&(ee.set(O.id,O.signature),I(O.id))}},{deep:!0,flush:"post"}),{groupMapById:p,groupsByOwner:w,memberGroupMap:h,groupNodes:C,branchEdges:E,isGroupId:y,isBranchEdgeId:_,updateGroupLayout:I,translateGroupTree:G,setDraggingNode:M=>{d.value=M},getNodeDepth:b,maxGroupDepth:k}}function cV(e){t.provide(Mp,e)}function Bm(){return t.inject(Mp,void 0)}function Vm(){const e=Bm();if(!e)throw new Error("Confirm modal not provided");return e}function Rm(e){const n=e.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}function dV(){const e={x1:Number.POSITIVE_INFINITY,y1:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};return[r=>{e.x1=Math.min(e.x1,r.x),e.y1=Math.min(e.y1,r.y),e.x2=Math.max(e.x2,r.x+r.width),e.y2=Math.max(e.y2,r.y+r.height)},()=>{const r={...e};return r.x1>r.x2&&(r.x1=r.x2=0),r.y1>r.y2&&(r.y1=r.y2=0),r}]}const uV={default:Xk,hover:Jk,selected:Zk};let Dm,ms;function qi(e){const n=e.id===Dm?"selected":e.id===ms?"hover":"default",o=uV[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o},a=e.zIndex??0,l=n==="selected"?a+2:n==="hover"?a+1:a;return{...e,style:{...e.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:l}}const[fV,pV]=Ye.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=mr.padding,gaps:s=mr.gaps}=r,{nodes:c=mr.gaps.nodes,edges:u=mr.gaps.edges,ranks:f=mr.gaps.ranks}=s,d=je(o),p=it(),m=Bm(),y=$m(),{i18n:{t:_}}=Le(),{findNode:g,fitView:h,deleteKeyCode:w,onNodeDrag:b,onNodeDragStop:N,onConnect:C,onNodesChange:k,onEdgesChange:E,onEdgeUpdate:v,onEdgeMouseEnter:$,onEdgeMouseLeave:K,getNodes:j,setNodes:S,setEdges:Q,addSelectedNodes:I}=d;w.value=["Delete","Backspace"];const{state:G,commit:U,moveNode:ee,selectNode:M,removeNode:O,getNodeById:A,connectEdge:P,disconnectEdge:T,getInEdgesByNodeId:Y,commit:z,reset:ne}=p;function oe(ce,Ee){const ye=A(ce.source),ge=A(ce.target);return!!(ye&&ge&&ye.phase===Ee&&ge.phase===Ee)}const se=sV({phase:n,readonly:i,flowId:o}),{groupMapById:he,groupsByOwner:Z,memberGroupMap:ae,groupNodes:ie,branchEdges:ue,isGroupId:de,isBranchEdgeId:V,updateGroupLayout:D,translateGroupTree:F,setDraggingNode:R,getNodeDepth:X,maxGroupDepth:q}=se,re=t.computed(()=>G.value.nodes.filter(ce=>ce.phase===n&&!ce.hidden).map(ce=>{const Ee=ae.value.get(ce.id),ye=Ee==null?void 0:Ee.position,ge=Ee==null?void 0:Ee.dimensions,Se=Ee&&ye&&ge?{x:ce.position.x-ye.x,y:ce.position.y-ye.y}:ce.position,Ae=X(ce.id),$e=!!(Ee&&ye&&ge),Ne=($e?Ae:0)+q.value+1;return{id:ce.id,type:"flow",position:Se,data:ce,deletable:!vu(ce),parentNode:$e?Ee.id:void 0,zIndex:Ne*Xr+n1}})),x=t.computed(()=>G.value.edges.filter(ce=>oe(ce,n)).filter(ce=>{const Ee=A(ce.source),ye=A(ce.target);return!(Ee!=null&&Ee.hidden)&&!(ye!=null&&ye.hidden)}).map(ce=>{const Ee=A(ce.source),ye=A(ce.target);if(Ee){if(!ye)throw new Error(`Missing target node "${ce.target}" for edge "${ce.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${ce.source}" for edge "${ce.id}" in phase "${n}"`);const ge=Math.max(X(ce.source),X(ce.target))+q.value+1;return qi({id:ce.id,source:ce.source,target:ce.target,sourceHandle:ce.sourceField?`outputs@${ce.sourceField}`:"output",targetHandle:ce.targetField?`inputs@${ce.targetField}`:"input",markerEnd:lr.ArrowClosed,data:ce,updatable:!i,zIndex:ge*Xr+e1})})),L=t.computed(()=>[...ue.value,...x.value]);t.watch([re,ie,L],([ce,Ee,ye])=>{S([...Ee,...ce]),Q(ye)},{immediate:!0});const B=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function te({source:ce,sourceHandle:Ee,target:ye,targetHandle:ge}){if(!Ee||!ge)return;const Se=Rm(Ee),Ae=Rm(ge);if((Se==null?void 0:Se.io)==="input"||(Ae==null?void 0:Ae.io)==="output"||Ee==="output"&&ge==="output")return;const $e=Y(ye);let Ne=!1,Me=!1;const De=[],we=[],Te=(Ae==null?void 0:Ae.io)==="input"?$e.filter(Ke=>!Ke.targetField):$e.filter(Ke=>!!Ke.targetField);Te.length>0&&(Ne=!0,Te.forEach(Ke=>{we.push(_r(Ke,A)),T(Ke.id,!1)}));const Be=(Ae==null?void 0:Ae.io)==="input"?$e.filter(Ke=>Ke.targetField===Ae.field):$e.filter(Ke=>!Ke.targetField);if(Be.length>0){if(Be.some(tt=>tt.source===ce&&tt.target===ye&&tt.targetField===(Ae==null?void 0:Ae.field)&&tt.sourceField===(Se==null?void 0:Se.field)))return;Me=!0,Be.forEach(tt=>{we.push(_r(tt,A)),T(tt.id,!1)})}if(!P({source:ce,sourceField:Se==null?void 0:Se.field,target:ye,targetField:Ae==null?void 0:Ae.field},!1)){ne(),y({message:_("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(De.push(ps(ce,Se==null?void 0:Se.field,ye,Ae==null?void 0:Ae.field,A)),Ne||Me){if(!m)throw ne(),new Error("Expected confirm modal to be provided here when reachable");if(!await m(_(Ne?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),De,we)){ne();return}}z()}C(te);let J=!1;const _e=()=>{J&&(J=!1,z())};k(ce=>{ce.filter(ge=>ge.type==="select").filter(ge=>!de(ge.id)).sort((ge,Se)=>ge.selected===Se.selected?0:ge.selected?1:-1).forEach(ge=>{M(ge.selected?ge.id:void 0)});let ye=!1;ce.forEach(ge=>{if(ge.type==="remove"){if(de(ge.id))return;ye=!0,O(ge.id,!1)}}),ye&&!J&&(J=!0,queueMicrotask(_e))}),b(({node:ce})=>{var Ae;if(!ce)return;if(de(ce.id)){const $e=ce.id;R($e);const Ne=he.value.get($e);if(!Ne)return;const Me=Ne.position??{...ce.position},De=ce.position.x-Me.x,we=ce.position.y-Me.y;F($e,ce.position,De,we);const Te=ae.value.get(Ne.ownerId);Te&&D(Te.id);return}const Ee=ce.id;R(Ee);const ye=ce.parentNode;let ge={...ce.position};if(ye&&de(ye)){const $e=he.value.get(ye);$e!=null&&$e.position&&(ge={x:$e.position.x+ce.position.x,y:$e.position.y+ce.position.y})}ee(Ee,ge,!1);const Se=ye&&de(ye)?ye:(Ae=ae.value.get(Ee))==null?void 0:Ae.id;Se&&D(Se)}),N(({node:ce})=>{var Ae;if(!ce)return;if(de(ce.id)){const $e=ce.id;R(void 0),U(`drag-group:${$e}`);return}const Ee=ce.id;R(void 0);const ye=ce.parentNode;let ge={...ce.position};if(ye&&de(ye)){const $e=he.value.get(ye);$e!=null&&$e.position&&(ge={x:$e.position.x+ce.position.x,y:$e.position.y+ce.position.y})}ee(Ee,ge,!1);const Se=ye&&de(ye)?ye:(Ae=ae.value.get(Ee))==null?void 0:Ae.id;Se&&D(Se),U(`drag-node:${Ee}`)}),E(ce=>{ce.filter(ge=>ge.type==="select").sort((ge,Se)=>ge.selected===Se.selected?0:ge.selected?1:-1).forEach(ge=>{V(ge.id)||(Dm=ge.selected?ge.id:void 0,Q(Se=>Se.map(Ae=>Ae.id!==ge.id||!Ae.markerEnd?Ae:qi({...Ae,zIndex:ge.selected?1:void 0}))))});let ye=!1;ce.forEach(ge=>{if(ge.type==="remove"){if(V(ge.id))return;ye=!0,T(ge.id,!1)}}),ye&&!J&&(J=!0,queueMicrotask(_e))}),$(({edge:ce})=>{V(ce.id)||(ms=ce.id,Q(Ee=>Ee.map(ye=>ye.id!==ce.id?ye:qi(ye))))}),K(({edge:ce})=>{V(ce.id)||(ms=void 0,Q(Ee=>Ee.map(ye=>ye.id!==ce.id?ye:qi(ye))))}),v(({edge:ce,connection:Ee})=>{V(ce.id)||(T(ce.id,!1),te(Ee))});function be(ce,Ee,ye){var Ke,tt,Zi,rg,ig;const ge=Ee?g(Ee.id):void 0,Se=ye?g(ye.id):void 0;let Ae;if(ce.length>0){Ae=new Om.graphlib.Graph({multigraph:!0}),Ae.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:u,ranksep:f});const _t=new Set;for(const Nt of ce){const Yt=g(Nt.id);if(!Yt){console.warn(`Cannot find graph node '${Nt.id}' in ${n} phase`);continue}_t.add(Nt.id),Jr(Nt)?Ae.setNode(Nt.id,Nt.dimensions??Yt.dimensions):Ae.setNode(Nt.id,Yt.dimensions)}for(const Nt of L.value)!_t.has(Nt.source)||!_t.has(Nt.target)||Ae.setEdge(Nt.source,Nt.target,{points:[]});Om.layout(Ae)}const[$e,Ne]=dV(),Me=_t=>({x:_t.x-_t.width/2,y:_t.y-_t.height/2,width:_t.width,height:_t.height});if(ce.length>0){if(!Ae)throw new Error("Expected dagreGraph to be initialized");for(const _t of ce){const Nt=Ae.node(_t.id),Yt=Me(Nt);$e(Yt),Jr(_t)?F(_t.id,Yt,Yt.x+fo,Yt.y+fo):ee(_t.id,{x:Yt.x,y:Yt.y},!1)}}const De=Ne(),we=De.x2-De.x1,Te=De.y2-De.y1,Be=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,tP)-we-2*c-(((Ke=ge==null?void 0:ge.dimensions)==null?void 0:Ke.width)??0)-(((tt=Se==null?void 0:Se.dimensions)==null?void 0:tt.width)??0)-2*l),gt=De.y1+Te/2;Ee&&ee(Ee.id,{x:De.x1-c-Be/2-(((Zi=ge==null?void 0:ge.dimensions)==null?void 0:Zi.width)??0),y:gt-(((rg=ge==null?void 0:ge.dimensions)==null?void 0:rg.height)??0)/2},!1),ye&&ee(ye.id,{x:De.x2+c+Be/2,y:gt-(((ig=Se==null?void 0:Se.dimensions)==null?void 0:ig.height)??0)/2},!1)}function le(ce){let Ee,ye;const ge=[];for(const Se of ce){if(Jr(Se)){ge.push(Se);continue}switch(Se.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(Ee)throw new Error("Duplicated request node in request phase");Ee=Se;break}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(ye)throw new Error("Duplicated service_request node in request phase");ye=Se;break}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(ye)throw new Error("Duplicated service_response node in response phase");ye=Se;break}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(Ee)throw new Error("Duplicated response node in response phase");Ee=Se;break}default:{ge.push(Se);break}}}return{autoNodes:ge,leftNode:Ee,rightNode:ye}}async function xe(ce=!0){const Ee=new Map(re.value.map(Ne=>[Ne.id,Ne.data])),ye=G.value.groups.toSorted((Ne,Me)=>X(Me.ownerId)-X(Ne.ownerId));for(const Ne of ye)be(Ne.memberIds.reduce((Me,De)=>{const we=A(De);if(!we)return console.warn(`Cannot find node '${De}' of group '${Ne.id}' by getNodeById`),Me;if(we.phase!==n)return Me;if(we.type==="branch"){const Te=Z.value.get(we.id);Te&&Me.push(...Te)}return Ee.delete(we.id),Me.push(we),Me},[])),await t.nextTick(),D(Ne.id,!1),await t.nextTick();const ge=Ee.values().toArray();for(const Ne of ge){if(Jr(Ne)||Ne.type!=="branch")continue;const Me=Z.value.get(Ne.id);Me&&ge.push(...Me)}const{autoNodes:Se,leftNode:Ae,rightNode:$e}=le(ge);be(Se,Ae,$e),ce&&U(`autolayout-${o}`)}function Ve(ce){h({...B.value,...ce})}async function pe(ce){return M(ce),new Promise(Ee=>setTimeout(()=>{const ye=g(ce);I(ye?[ye]:[]),Ee()},0))}function fe(ce){const Ee=j.value.filter(({type:Te})=>Te!=="group"),ye=Ee.find(({id:Te})=>Te===ce);if(!ye)throw new Error(`Node ${ce} not found`);const{position:{x:ge,y:Se},dimensions:{width:Ae,height:$e}}=ye,Ne=Se,Me=Se+$e,De=Ee.filter(({id:Te})=>Te!==ce).filter(({position:{y:Te},dimensions:{height:Be}})=>Te<Me&&Te+Be>Ne).map(({position:{x:Te},dimensions:{width:Be}})=>({left:Te,right:Te+Be})).sort((Te,Be)=>Te.left-Be.left);let we=ge+Ae+c;for(const{left:Te,right:Be}of De)if(!(Be<=we)){if(we+Ae<=Te)return{x:we,y:Ne};we=Math.max(we,Be)+c}return{x:we,y:Ne}}function lt(ce){if(!ce)return;const Ee=g(ce);if(!Ee)throw new Error(`Node ${ce} not found`);const{position:{x:ye},dimensions:{width:ge}}=Ee,Se=ye+ge,{viewport:Ae,dimensions:$e,setViewport:Ne}=d,{x:Me,y:De,zoom:we}=Ae.value,{width:Te}=$e.value,Be=ye*we+Me,gt=Se*we+Me,Ke=Te-Eu-c;if(gt<=Ke)return;let tt=Ke-gt;Be+tt<0&&(tt=-Be),tt!==0&&Ne({x:Me+tt,y:De,zoom:we},{duration:rP})}return{vueFlowStore:d,editorStore:p,readonly:i,nodes:re,edges:L,selectNode:pe,autoLayout:xe,placeToRight:fe,scrollRightToReveal:lt,fitViewParams:B,fitView:Ve}}),zi=Ie(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>Ce.Left},size:{default:()=>Number.parseFloat(gd)},type:{}},setup(e){t.useCssVars(o=>({"753622c4":o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[o.type,o.position===t.unref(Ce).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),Mm=Ie(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){t.useCssVars(r=>{var i,a;return{b58c4842:(i=n.value.colors)==null?void 0:i.background,"6ae9eff4":(a=n.value.colors)==null?void 0:a.foreground}});const n=t.computed(()=>Ct[e.type]),o=t.computed(()=>o1(e.type));return(r,i)=>{var l;const a=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(a,{appearance:"neutral",class:t.normalizeClass(["dk-node-badge",{"icon-only":r.iconOnly,"has-colors":!!n.value.colors}]),size:r.size},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:2},[(l=n.value)!=null&&l.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-05435e4f"]]);let No=null;function mV(){var n;if(No)return No;if(typeof navigator>"u")return No="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?No="mac":/Linux/i.test(e)&&!/Android/i.test(e)?No="linux":No="windows"}const gV={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},hV={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"},yV={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 _V(e,n={}){const o=n.platform??mV(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?gV:o==="linux"?yV:hV;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const bV={key:0,class:"label"},wV={class:"keys"},Hi=Ie(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=_V(e.keys);return(o,r)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:o.reverse}])},[o.label?(t.openBlock(),t.createElementBlock("span",bV,t.toDisplayString(o.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",wV,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),kV={class:"indicator-box"},CV={key:1,class:"additional-count"},Yi=Ie(t.defineComponent({__name:"ValueIndicator",props:{edgeId:{},sourceNode:{},sourceFieldName:{},targetNodes:{},targetFieldNames:{},mode:{},reversed:{type:Boolean,default:!1}},setup(e){const n=t.createPropsRestProxy(e,["reversed"]),o=t.computed(()=>n.mode==="input"&&n.sourceNode?n.sourceFieldName?`${n.sourceNode.name}.${n.sourceFieldName}`:n.sourceNode.name:n.mode==="output"&&n.targetNodes?n.targetNodes.map((s,c)=>{var f;const u=(f=n.targetFieldNames)==null?void 0:f[c];return u?`${s.name}.${u}`:s.name}).join(", "):""),r=t.computed(()=>{var s;let l;if(n.mode==="input"&&n.sourceNode?l=n.sourceNode:n.mode==="output"&&n.targetNodes&&n.targetNodes.length>0&&(l=n.targetNodes[0]),!!l)return(s=Ct[l.type])==null?void 0:s.icon}),i=t.computed(()=>n.mode==="output"&&n.targetNodes&&n.targetNodes.length>1?n.targetNodes.length-1:0),a=t.computed(()=>n.mode==="input"?e.reversed:!e.reversed);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["value-indicator",{reversed:a.value}])},[t.createVNode(t.unref(Re.KTooltip),{placement:"top",text:o.value},{default:t.withCtx(()=>[t.createElementVNode("div",kV,[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,color:t.unref(Fa),size:16},null,8,["color"])):t.createCommentVNode("",!0),i.value>0?(t.openBlock(),t.createElementBlock("span",CV," +"+t.toDisplayString(i.value),1)):t.createCommentVNode("",!0)])]),_:1},8,["text"])],2))}}),[["__scopeId","data-v-d8506ba3"]]),EV={class:"body"},NV={class:"name"},SV={class:"handle"},xV={class:"handle-label-wrapper"},vV={class:"handle-label-wrapper"},AV={class:"handle-label text"},IV={class:"handle"},TV={class:"handle-label-wrapper"},PV={class:"handle-label-wrapper"},OV={class:"handle-label text"},$V={key:2,class:"branch-handles"},BV={class:"handle-label-wrapper"},VV={class:"handle-label text"},Lm=Ie(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),o=pV(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,getNodeById:a,toggleExpanded:l,duplicateNode:s,removeNode:c,propertiesPanelOpen:u}=it(),f=t.computed(()=>mo(e.data.type)),d=t.computed(()=>e.data.fields.input.length>0),p=t.computed(()=>e.data.fields.output.length>0),m=t.computed(()=>d.value&&r(e.data.id).every(A=>A.targetField===void 0)),y=t.computed(()=>p.value&&i(e.data.id).every(A=>A.sourceField===void 0)),_=t.computed(()=>e.data.expanded.input??!1),g=t.computed(()=>e.data.expanded.output??!1),h=t.computed(()=>{var A,P,T;return((T=(P=(A=f.value.io)==null?void 0:A.next)==null?void 0:P.branches)==null?void 0:T.map(({name:Y})=>Y))??[]}),w=t.computed(()=>h.value.length>0),b=t.computed(()=>{var A,P;if(e.data.type==="property"){const T=(A=e.data.config)==null?void 0:A.property;return es(T)}return(P=f.value.io)==null?void 0:P.input}),N=t.computed(()=>{var A,P;if(e.data.type==="property"){const T=(A=e.data.config)==null?void 0:A.property;return Ql(T)}return(P=f.value.io)==null?void 0:P.output}),C=t.computed(()=>vu(e.data)),k=t.computed(()=>e.data.phase==="response"),E=t.computed(()=>e.data.phase==="request"?Ce.Left:Ce.Right),v=t.computed(()=>e.data.phase==="request"?Ce.Right:Ce.Left),$=t.computed(()=>e.data.phase==="request"?Ce.Right:Ce.Left),K=t.computed(()=>C.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),j=t.computed(()=>C.value?zk:Hk),S=t.computed(()=>{const A=new Map,P=r(e.data.id);for(const T of P){const Y=a(T.source);if(!Y)continue;const z=Y.type==="vault",ne=Y.phase!==e.data.phase;if(!z&&!ne)continue;let oe;if(T.sourceField){const se=Y.fields.output.find(he=>he.id===T.sourceField);oe=se==null?void 0:se.name}if(T.targetField){const se=e.data.fields.input.find(he=>he.id===T.targetField);if(!se)continue;A.set(T.targetField,{fieldId:T.targetField,edgeId:T.id,field:se,sourceNode:Y,sourceFieldName:oe})}else A.set("input",{fieldId:"input",edgeId:T.id,field:null,sourceNode:Y,sourceFieldName:oe})}return A}),Q=t.computed(()=>{const A=new Map,P=i(e.data.id);for(const T of P){const Y=a(T.target);if(!Y||!(Y.phase!==e.data.phase))continue;let ne;if(T.targetField){const he=Y.fields.input.find(Z=>Z.id===T.targetField);ne=he==null?void 0:he.name}const oe=T.sourceField||"output";if(!A.has(oe)){const he=T.sourceField&&e.data.fields.output.find(Z=>Z.id===T.sourceField)||null;A.set(oe,{fieldId:oe,edgeIds:[],field:he,targetNodes:[],targetFieldNames:[]})}const se=A.get(oe);se.edgeIds.push(T.id),se.targetNodes.push(Y),se.targetFieldNames.push(ne)}return A});function I(A){return S.value.get(A)}function G(A){return Q.value.get(A)}function U(A){!o||o.readonly||A==="input"&&!m.value||A==="output"&&!y.value||l(e.data.id,A)}async function ee(){if(!o||o.readonly)return;const A=s(e.data.id,o.placeToRight(e.data.id));await o.selectNode(A),o.scrollRightToReveal(A),u.value=!0}t.watch(m,A=>{A||l(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(y,A=>{A||l(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(A,P)=>{Do(A,P)||l(e.data.id,"input",A.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(A,P)=>{Do(A,P)||l(e.data.id,"output",A.length>0,!0,"*")},{deep:!0});const M=t.useTemplateRef("menu");function O(){var A;(A=M.value)==null||A.closeDropdown()}return(A,P)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-flow-node",{reversed:k.value,implicit:C.value,readonly:A.readonly}]),onMousedown:O},[t.createElementVNode("div",EV,[C.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Re.KTooltip),{key:0,class:"badge",placement:"top",text:A.data.type},{default:t.withCtx(()=>[t.createVNode(Mm,{"icon-only":"",size:"small",type:A.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",NV,t.toDisplayString(K.value),1),A.error?(t.openBlock(),t.createBlock(t.unref(ve.WarningIcon),{key:1,class:"error-icon",color:t.unref(La),size:16},null,8,["color"])):t.createCommentVNode("",!0),C.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Re.KDropdown),{key:2,ref:"menu",class:"menu",disabled:A.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:P[1]||(P[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(Re.KDropdownItem),{onClick:ee},{default:t.withCtx(()=>[t.createVNode(Hi,{keys:t.unref(Wr).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),t.createVNode(t.unref(Re.KDropdownItem),{danger:"",onClick:P[0]||(P[0]=T=>t.unref(c)(A.data.id))},{default:t.withCtx(()=>[t.createVNode(Hi,{keys:t.unref(Wr).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(Re.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.MoreIcon),{color:t.unref(Ma)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:k.value}])},[b.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":d.value}])},[t.createElementVNode("div",SV,[t.createVNode(t.unref(Ht),{id:"input",position:E.value,type:"target"},null,8,["position"]),I("input")?(t.openBlock(),t.createBlock(Yi,{key:0,"edge-id":I("input").edgeId,mode:"input",reversed:k.value,"source-field-name":I("input").sourceFieldName,"source-node":I("input").sourceNode},null,8,["edge-id","reversed","source-field-name","source-node"])):t.createCommentVNode("",!0),t.createElementVNode("div",xV,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:m.value}]),onClick:P[2]||(P[2]=t.withModifiers(T=>U("input"),["stop"]))},[P[4]||(P[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),d.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[_.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(ve.UnfoldMoreIcon),{key:0,size:t.unref(Ko)},null,8,["size"])),_.value?(t.openBlock(),t.createBlock(t.unref(ve.UnfoldLessIcon),{key:1,color:m.value?void 0:t.unref(pd),size:t.unref(Ko)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),d.value&&_.value?(t.openBlock(),t.createBlock(zi,{key:0,color:j.value,position:E.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),d.value&&_.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(A.data.fields.input,(T,Y)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${T.id}`,class:"handle indented"},[t.createVNode(t.unref(Ht),{id:`inputs@${T.id}`,position:E.value,type:"target"},null,8,["id","position"]),I(T.id)?(t.openBlock(),t.createBlock(Yi,{key:0,"edge-id":I(T.id).edgeId,mode:"input",reversed:k.value,"source-field-name":I(T.id).sourceFieldName,"source-node":I(T.id).sourceNode},null,8,["edge-id","reversed","source-field-name","source-node"])):t.createCommentVNode("",!0),t.createElementVNode("div",vV,[t.createElementVNode("div",AV,t.toDisplayString(T.name),1),t.createVNode(zi,{color:j.value,position:E.value,type:Y<A.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),N.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":p.value}])},[t.createElementVNode("div",IV,[t.createElementVNode("div",TV,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:y.value}]),onClick:P[3]||(P[3]=t.withModifiers(T=>U("output"),["stop"]))},[P[5]||(P[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),p.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[g.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(ve.UnfoldMoreIcon),{key:0,size:t.unref(Ko)},null,8,["size"])),g.value?(t.openBlock(),t.createBlock(t.unref(ve.UnfoldLessIcon),{key:1,color:y.value?void 0:t.unref(pd),size:t.unref(Ko)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),p.value&&g.value?(t.openBlock(),t.createBlock(zi,{key:0,color:j.value,position:v.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Ht),{id:"output",position:v.value,type:"source"},null,8,["position"]),G("output")?(t.openBlock(),t.createBlock(Yi,{key:0,mode:"output",reversed:k.value,"target-field-names":G("output").targetFieldNames,"target-nodes":G("output").targetNodes},null,8,["reversed","target-field-names","target-nodes"])):t.createCommentVNode("",!0)]),p.value&&g.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(A.data.fields.output,(T,Y)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${T.id}`,class:"handle indented"},[t.createElementVNode("div",PV,[t.createElementVNode("div",OV,t.toDisplayString(T.name),1),t.createVNode(zi,{color:j.value,position:v.value,type:Y<A.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(Ht),{id:`outputs@${T.id}`,position:v.value,type:"source"},null,8,["id","position"]),G(T.id)?(t.openBlock(),t.createBlock(Yi,{key:0,mode:"output",reversed:k.value,"target-field-names":G(T.id).targetFieldNames,"target-nodes":G(T.id).targetNodes},null,8,["reversed","target-field-names","target-nodes"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),w.value?(t.openBlock(),t.createElementBlock("div",$V,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,T=>(t.openBlock(),t.createElementBlock("div",{key:`branch-${T}`,class:"handle"},[t.createElementVNode("div",BV,[t.createElementVNode("div",VV,t.toDisplayString(T),1)]),t.createVNode(t.unref(Ht),{id:`branch@${T}`,connectable:!1,position:$.value,type:"source"},null,8,["id","position"])]))),128))])):t.createCommentVNode("",!0)],2)],34))}}),[["__scopeId","data-v-2bf41241"]]),RV=Ie(t.defineComponent({__name:"GroupNode",props:{data:{}},setup(e){const n=e,o=t.computed(()=>n.data.phase==="response"),r=t.computed(()=>o.value?Ce.Right:Ce.Left);return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-branch-group-node",{reversed:o.value}])},[t.createVNode(t.unref(Ht),{id:"input",connectable:!1,position:r.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-35113c02"]]),DV={key:0,class:"dk-flow-mask"},Fm=Ie(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Ye.useElementBounding(i),{i18n:{t:l}}=Le(),{vueFlowStore:s,editorStore:c,autoLayout:u,fitViewParams:f,fitView:d,selectNode:p,placeToRight:m,scrollRightToReveal:y}=fV({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:_,propertiesPanelOpen:g,invalidConfigNodeIds:h,selectedNode:w,duplicateNode:b}=c,{project:N,vueFlowRef:C,zoomIn:k,zoomOut:E,viewport:v,maxZoom:$,minZoom:K}=s,j=t.ref(!1);function S(M){var O;if(e.mode==="edit"){if(((O=M==null?void 0:M.node)==null?void 0:O.type)==="group"){p(void 0);return}g.value=!0}}function Q(M){e.mode!=="edit"||j.value||M.preventDefault()}function I(M){var he,Z;if(e.mode!=="edit"||j.value)return;const O=(he=M.dataTransfer)==null?void 0:he.getData(Yo);if(!O)return;M.preventDefault();const A=JSON.parse(O);if(A.action!=="create-node")return;const{top:P=0,left:T=0}=((Z=C.value)==null?void 0:Z.getBoundingClientRect())||{},Y=N({x:M.clientX-T,y:M.clientY-P}),{type:z,anchor:ne}=A.data,oe={type:z,phase:e.phase,position:{x:Y.x-ne.offsetX,y:Y.y-ne.offsetY}},se=_(oe);se&&(p(se),g.value=!0)}async function G(){await u(),setTimeout(()=>d(),0)}const U=t.computed(()=>{if(e.mode==="preview")return[];const M=[{name:"zoom_in",icon:ve.AddIcon,action:k,disabled:v.value.zoom>=$.value},{name:"zoom_out",icon:ve.RemoveIcon,action:E,disabled:v.value.zoom<=K.value},{name:"fit_view",icon:ve.FullscreenIcon,action:d}];return e.mode==="edit"&&M.push({name:"auto_layout",icon:ve.AutoLayoutIcon,action:G}),M});if(e.phase==="response"&&e.mode==="edit"){Ye.useEventListener("dragstart",O=>{var T;const A=(T=O.dataTransfer)==null?void 0:T.types.find(Y=>Y.startsWith(`${Yo}/`));if(!A)return;A.replace(`${Yo}/`,"")==="call"&&(j.value=!0)});const{start:M}=Ye.useTimeoutFn(()=>{j.value=!1},80);Ye.useEventListener("dragover",()=>{M()}),Ye.useEventListener("dragend",()=>{j.value=!1})}async function ee(){const M=w.value;if(e.mode!=="edit"||!M||M.phase!==e.phase)return;const O=b(M.id,m(M.id));O&&(await p(O),g.value=!0,y(O))}return Dp({enabled:t.computed(()=>!!w.value&&e.mode==="edit"&&w.value.phase===e.phase),duplicate:ee}),n({autoLayout:u,fitView:d}),(M,O)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref($p),{id:M.flowId,class:t.normalizeClass(["flow",{readonly:M.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":M.mode==="edit","max-zoom":t.unref(nP),"min-zoom":t.unref(oP),"multi-selection-key-code":null,"nodes-connectable":M.mode==="edit","nodes-draggable":M.mode==="edit","pan-on-drag":M.mode==="preview"?!1:void 0,"pan-on-scroll":M.mode!=="edit"?!1:void 0,"zoom-on-double-click":M.mode!=="edit"?!1:void 0,"zoom-on-pinch":M.mode!=="edit"?!1:void 0,"zoom-on-scroll":M.mode!=="edit"?!1:void 0,onDragover:Q,onDrop:I,onNodeClick:S,onNodesChange:O[0]||(O[0]=A=>r("nodes-change")),onNodesInitialized:O[1]||(O[1]=A=>r("initialized"))},{"node-flow":t.withCtx(({data:A})=>[t.createVNode(Lm,{data:A,error:t.unref(h).has(A.id),readonly:M.mode!=="edit"},null,8,["data","error","readonly"])]),"node-group":t.withCtx(({data:A})=>[t.createVNode(RV,{data:A},null,8,["data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(NT)),t.createVNode(t.unref(XT),{"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(U.value,A=>(t.openBlock(),t.createBlock(t.unref(Re.KTooltip),{key:A.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${A.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(pr),{disabled:A.disabled,onClick:t.withModifiers(A.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(A.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"]),j.value?(t.openBlock(),t.createElementBlock("div",DV,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-73a8d192"]]),gs=Ie(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const n=t.ref(!1),o=t.ref(!1),{state:r,clearPendingLayout:i,setPendingFitView:a,commit:l,clear:s}=it(),c=t.useId(),u=`${c}-request`,f=`${c}-response`,d=je(u),p=je(f);function m(T,Y){const{onPaneClick:z,onNodesChange:ne,onEdgesChange:oe,getSelectedNodes:se,getSelectedEdges:he}=T,{removeSelectedElements:Z}=Y;function ae(ie){if(!ie){Z();return}ie.some(ue=>ue.type==="select")&&se.value.length+he.value.length>0&&Z()}ne(ae),oe(ae),z(()=>ae())}m(d,p),m(p,d);const y=t.useTemplateRef("flowPanels"),_=t.useTemplateRef("requestLabel"),g=t.useTemplateRef("requestCanvasContainer"),h=t.useTemplateRef("requestFlow"),w=t.useTemplateRef("resizeHandle"),b=t.useTemplateRef("responseLabel"),N=t.useTemplateRef("responseCanvasContainer"),C=t.useTemplateRef("responseFlow"),k=Ye.useElementBounding(y),E=Ye.useElementBounding(_),v=Ye.useElementBounding(g),$=Ye.useElementBounding(w),K=Ye.useElementBounding(b),j=Ye.useElementBounding(N),S=t.computed(()=>Math.max(30,k.height.value*.03)),Q=t.computed(()=>v.height.value<S.value),I=t.computed(()=>j.height.value<S.value),G=t.ref("50%"),U=t.ref("50%"),ee=()=>{e.resizable&&(Q.value?(G.value="50%",U.value="50%"):(G.value="0",U.value="100%"))},M=()=>{e.resizable&&(I.value?(G.value="50%",U.value="50%"):(G.value="100%",U.value="0"))},O=t.computed(()=>k.height.value-E.height.value-$.height.value-K.height.value),{isDragging:A}=Ye.useDraggable(w,{onMove(T){if(!e.resizable)return;const Y=Math.max(0,T.y-v.top.value),z=Math.min(1,Math.max(0,Y/O.value));G.value=`${z*100}%`,U.value=`${(1-z)*100}%`},onEnd(){e.resizable&&(v.height.value<S.value?(G.value="0",U.value="100%"):j.height.value<S.value&&(G.value="100%",U.value="0"))}});function P(){t.nextTick(()=>{var T,Y;(T=h.value)==null||T.fitView(),(Y=C.value)==null||Y.fitView()})}return t.watch([n,o,()=>r.value.pendingLayout,()=>r.value.pendingFitView],([T,Y,z,ne])=>{e.inactive||!T||!Y||!z&&!ne||(z&&i(),ne&&a(!1),setTimeout(async()=>{var oe,se;z&&(await((oe=h.value)==null?void 0:oe.autoLayout(!1)),await((se=C.value)==null?void 0:se.autoLayout(!1)),l("*"),z==="clearHistory"&&s()),ne&&setTimeout(()=>P(),0)},0))}),(T,Y)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:y,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:_,class:t.normalizeClass(["label request",{resizable:T.resizable}]),onClick:ee},[T.resizable?(t.openBlock(),t.createBlock(t.unref(ve.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:Q.value}])},null,8,["class"])):t.createCommentVNode("",!0),Y[4]||(Y[4]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:g,class:t.normalizeClass(["canvas",{dragging:t.unref(A)}]),style:t.normalizeStyle({flexBasis:G.value})},[t.createVNode(Fm,{ref_key:"requestFlow",ref:h,"flow-id":u,mode:T.mode,phase:"request",onInitialized:Y[0]||(Y[0]=z=>n.value=!0),onNodesChange:Y[1]||(Y[1]=z=>n.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:w,class:t.normalizeClass(["resize-handle",{resizable:T.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:b,class:t.normalizeClass(["label response",{dragging:t.unref(A),resizable:T.resizable}]),onClick:M},[T.resizable?(t.openBlock(),t.createBlock(t.unref(ve.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:I.value}])},null,8,["class"])):t.createCommentVNode("",!0),Y[5]||(Y[5]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:N,class:t.normalizeClass(["canvas response",{dragging:t.unref(A)}]),style:t.normalizeStyle({flexBasis:U.value})},[t.createVNode(Fm,{ref_key:"responseFlow",ref:C,"flow-id":f,mode:T.mode,phase:"response",onInitialized:Y[2]||(Y[2]=z=>o.value=!0),onNodesChange:Y[3]||(Y[3]=z=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-f6dd01e7"]]),MV={class:"dk-confirm-modal-body"},LV={class:"dk-confirm-modal-connections"},FV=Ie(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=Le(),i=o,a=t.ref(!1),l=t.ref(e.message),s=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 p(m,y,_){return l.value=m,s.value=y??[],c.value=_??[],a.value=!0,await new Promise(g=>{u=g})}return n({open:p}),(m,y)=>{const _=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(_,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:m.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:f,onProceed:d},{default:t.withCtx(()=>[t.createElementVNode("div",MV,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",LV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,h])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${h}`},[t.createVNode(t.unref(ve.AddIcon),{color:t.unref(Yk)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),y[0]||(y[0]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(h),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,h])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${h}`},[t.createVNode(t.unref(ve.RemoveIcon),{color:t.unref(La)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),y[1]||(y[1]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(h),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-9874f282"]]),UV={class:"dk-editor-nav"},KV={class:"top"},jV={class:"bottom"},GV=Ie(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=Xe.createI18n("en-us",ot),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:ve.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=pl(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(u,f)=>(t.openBlock(),t.createElementBlock("nav",UV,[t.createElementVNode("div",KV,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:d,to:p,icon:m,onClick:y})=>t.createVNode(t.unref(Re.KTooltip),{key:d,"kpop-attributes":{offset:"10px"},label:d,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(Re.KButton),{key:d,appearance:"none",class:"nav-item",icon:"",to:p,onClick:y},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(Ua)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",jV,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(d=>s.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(d=>s.value=!0,["self"]))},[t.createVNode(t.unref(Re.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(Re.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(ve.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Ua)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(ve.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Ua)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),qV={class:"dk-editor-main"},zV={class:"header"},HV={class:"actions"},YV={class:"settings"},WV={ref:"canvasContainer",class:"body"},XV=Ie(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Xe.createI18n("en-us",ot),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l,load:s}=it();function c(d){const p=Yr.load(d,{schema:Hr,json:!0});if(typeof p!="object"||p===null)return;const m=p,y={config:{...m,nodes:m.nodes??[]}};s(y,!0)}function u(){o.value=!1}Dp({enabled:o,undo:r,redo:i});const f={maxWidth:"300px",zIndex:1e4};return(d,p)=>(t.openBlock(),t.createElementBlock("div",qV,[t.createElementVNode("header",zV,[t.createElementVNode("div",HV,[t.createVNode(t.unref(Re.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Hi,{keys:t.unref(Wr).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(Re.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(Re.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Hi,{keys:t.unref(Wr).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(Re.KButton),{appearance:"tertiary",disabled:!t.unref(l),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),p[0]||(p[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",YV,[t.createVNode(Dr,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:f},name:"config.debug"},null,8,["label","label-attributes"])]),p[1]||(p[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(Re.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples")},{items:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(nl,(m,y)=>t.createVNode(t.unref(Re.KDropdownItem),{key:y,onClick:_=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${y}`)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["trigger-text"]),t.createVNode(t.unref(Re.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(ve.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(Re.KButton),{onClick:u},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",WV,[t.createVNode(gs,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-32006420"]]),ZV=["draggable"],JV={class:"icon"},QV={class:"content"},eR={class:"title"},tR={class:"description"},nR=Ie(t.defineComponent({__name:"NodePanelItem",props:{type:{},unsupported:{type:Boolean}},emits:["dragstart"],setup(e,{emit:n}){t.useCssVars(c=>({f628e926:t.unref(a),"4a9b9f82":t.unref(l)}));const o=n,{summary:r,icon:i,colors:{background:a,foreground:l}={}}=il[e.type];function s(c){o("dragstart",c,e.type)}return(c,u)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${c.type}`]:!0,unsupported:c.unsupported}]),draggable:!c.unsupported,onDragstart:s},[t.createElementVNode("div",JV,[t.createVNode(t.unref(i),{size:16})]),t.createElementVNode("div",QV,[t.createElementVNode("div",eR,t.toDisplayString(c.type),1),t.createElementVNode("div",tR,t.toDisplayString(t.unref(r)),1)])],42,ZV))}}),[["__scopeId","data-v-38d156c9"]]),oR={class:"dk-node-panel"},rR={key:0,class:"title"},iR={class:"node-list"},aR={"aria-hidden":"true",class:"preview",inert:""},Um=Ie(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),{createNode:o}=it(),r=t.inject(eo.DATAKIT_M2,!1),i=["branch","cache"],a=`dk-drag-preview-${t.useId()}`,l=t.shallowRef(),s=t.computed(()=>l.value?[{id:"preview",type:"flow",data:l.value,position:{x:0,y:0}}]:[]),c=async(u,f)=>{var K,j,S;const d=u.currentTarget,{left:p,top:m,width:y,height:_}=d.getBoundingClientRect(),g=u.clientX-p,h=u.clientY-m;l.value=o({type:f}),await t.nextTick();const w=document.querySelector(`#${a}`)||d,b=w.cloneNode(!0);b.classList.add("dk-drag-snapshot");const{offsetWidth:N,offsetHeight:C}=w;Object.assign(b.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${N}px`,height:`${C}px`}),document.body.appendChild(b);const k=g/y,E=h/_,v={ratioX:k,ratioY:E,offsetX:N*k,offsetY:C*E},$={action:"create-node",data:{type:f,anchor:v}};(K=u.dataTransfer)==null||K.setData(Yo,JSON.stringify($)),(j=u.dataTransfer)==null||j.setData(`${Yo}/${f}`,f),(S=u.dataTransfer)==null||S.setDragImage(b,v.offsetX,v.offsetY),requestAnimationFrame(()=>{b.remove(),l.value=void 0})};return(u,f)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",oR,[u.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",rR,[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",iR,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(il)),p=>(t.openBlock(),t.createBlock(nR,{key:p,type:p,unsupported:!t.unref(r)&&i.includes(p),onDragstart:c},null,8,["type","unsupported"]))),128))]),t.createElementVNode("div",aR,[t.createVNode(t.unref($p),{nodes:s.value},{"node-flow":t.withCtx(p=>[t.createVNode(Lm,{id:a,data:p.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-cfbff8f1"]]);function lR(){const{addField:e,getNodeByName:n,removeField:o,replaceConfig:r,renameField:i,disconnectOutEdges:a,nodeMapByName:l}=it(),s=n("vault");if(!s)throw new Error("no vault node");const c=t.computed(()=>{var y;return((y=l.value.get("vault"))==null?void 0:y.config)||{}});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(y,_)=>{e(s.id,"output",y,!1);const g={...s.config,[y]:_};r(s.id,g)},removeVault:y=>{const _=fn(s,"output",y);if(!_)return;const g=s.fields.output.length===1;o(s.id,_.id,!0,!1);const h=Mo(s.config,y);r(s.id,h,!g),g&&a(s.id)},updateVault:(y,_,g=!0)=>{const h={...s.config,[y]:_};r(s.id,h,g)},renameVault:(y,_,g=!0)=>{var N;const h=fn(s,"output",y);if(!h)return;i(s.id,h.id,_,!1);const w=((N=s.config)==null?void 0:N[y])??"",b={...Mo(s.config,y),[_]:w};r(s.id,b,g)}}}const sR=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 o=n,{i18n:{t:r}}=Ge.useI18n(),i=t.inject(Ue.FORMS_CONFIG),a=t.ref(e.secretName||""),l=t.ref(""),s=t.computed(()=>a.value.trim()?e.validateName(a.value.trim(),e.isEditing)===void 0:!1),c=t.computed(()=>!s.value),u=()=>{const m=a.value.trim(),y=e.validateName(m,e.isEditing);return l.value=y||"",y===void 0},f=()=>{l.value="",u()},d=m=>{u()&&o("proceed",{secretRef:m,secretName:a.value.trim()})},p=()=>{a.value="",l.value="",o("cancel")};return t.watch(()=>e.secretName,m=>{a.value=m||"",l.value=""}),(m,y)=>{const _=t.resolveComponent("KInput"),g=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(vo.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:t.unref(i),"proceed-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:m.secretRef,title:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:p,onProceed:d},{"form-prefix":t.withCtx(()=>[t.createVNode(_,{"model-value":a.value,"onUpdate:modelValue":[y[0]||(y[0]=h=>a.value=h),f],"data-testid":"vault-secret-picker-secret-name-input",error:!!l.value,"error-message":l.value,label:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.placeholder"),required:""},null,8,["model-value","error","error-message","label","label-attributes","placeholder"])]),_:1},8,["additional-disabled","config","proceed-button-text","setup","title"])):(t.openBlock(),t.createBlock(g,{key:1,"icon-variant":"error",message:t.unref(r)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),cR={class:"dk-vault-panel"},dR={class:"title"},uR={class:"vault-list"},fR={key:0,class:"vault-list-item"},pR={class:"vault-list-item-key"},mR={class:"vault-list-item-key-text"},gR=Ie(t.defineComponent({__name:"VaultField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["update","add","remove","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l}=Mr(o,r),s=t.ref(null),c=t.ref(null),{i18n:{t:u}}=Ge.useI18n(),f=t.computed(()=>new Set(i.value.map(h=>h.key))),d=()=>{const h=a();c.value=h,s.value=h},p=()=>{s.value=null,c.value&&(l(c.value.id),c.value=null)},m=h=>{if(!s.value)throw new Error("no selected entry");const w=s.value.key,b=w!==h.secretName,N=s.value.value!==h.secretRef,C=b||N;s.value.value=h.secretRef,s.value.key=h.secretName,c.value?r("add",h.secretName,h.secretRef):C&&r("update",h.secretName,h.secretRef,b?w:void 0),c.value=null,p()},y=h=>{s.value=h},_=h=>{l(h.id),r("remove",h.key)},g=(h,w)=>{var b;if(!h)return u("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(f.value.has(h)&&!(w&&h===((b=s.value)==null?void 0:b.key)))return u("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(h,w)=>{var k,E;const b=t.resolveComponent("KButton"),N=t.resolveComponent("KDropdownItem"),C=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",cR,[t.createElementVNode("h3",dR,t.toDisplayString(t.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(b,{appearance:"tertiary",class:"add-button",size:"small",onClick:d},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",uR,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),v=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:v.id},[v.key?(t.openBlock(),t.createElementBlock("div",fR,[t.createElementVNode("div",pR,[t.createVNode(t.unref(ve.KeyIcon),{color:t.unref(Fa),size:16},null,8,["color"]),t.createElementVNode("div",mR,t.toDisplayString(v.key),1)]),t.createVNode(C,null,{items:t.withCtx(()=>[t.createVNode(N,{onClick:$=>y(v)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:2},1032,["onClick"]),t.createVNode(N,{danger:"",onClick:$=>_(v)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:2},1032,["onClick"])]),default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.MoreIcon),{color:t.unref(Ma)},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(sR,{"is-editing":!!s.value&&!c.value,"secret-name":(k=s.value)==null?void 0:k.key,"secret-ref":(E=s.value)==null?void 0:E.value,"validate-name":g,onCancel:p,onProceed:m},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-c9f18d61"]]);function hR(){const{getSchema:e}=He();return t.computed(()=>{const n=e("config.resources");if(!n)throw new Error("Failed to get resource schema");const o=en(n);return o.fields.forEach(r=>{const i=Object.keys(r)[0];if(i==="cache"){const a=r[i];r[i]={...a,fields:[...a.fields,{partial_id:{type:"string"}}]}}}),o})}const yR={class:"dk-cache-panel"},_R={class:"title"},bR={key:0,class:"cache-item"},wR={class:"cache-item-key"},kR={class:"cache-item-key-text"},CR={class:"dk-resource-cache-form"},ER={key:1},NR={key:2,class:"dk-cache-inline-redis"},SR=Ie(t.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(e,{emit:n}){const o=n,{getDefault:r,formData:i}=He(),a=bt("cache");if(a.error)throw new Error("No cache schema");const l=t.ref(!1),{i18n:{t:s}}=Ge.useI18n(),c=t.computed(()=>!(u.value==="redis"&&!i.cache.partial_id&&!i.cache.redis)),u=t.computed(()=>{var N;return(N=a.value.value)==null?void 0:N.strategy}),f=t.computed(()=>{var N;return(N=a.value.value)!=null&&N.redis?Yr.dump(a.value.value.redis,{indent:2,noRefs:!0}):""}),d=()=>{l.value=!0},p=()=>{l.value=!1,o("cancel")},m=()=>{o("remove")},y=()=>{d(),a.value.value||(a.value.value=r("cache"),a.value.value.strategy="memory")},_=()=>{l.value=!1,o("update",i)},g=Ss.createdBundledHighlighter({langs:{yaml:()=>import("@shikijs/langs/yaml")},themes:{"github-dark":()=>import("@shikijs/themes/github-dark")},engine:()=>lg.createJavaScriptRegexEngine()}),{codeToHtml:h}=Ss.createSingletonShorthands(g),w=()=>{var N,C;u.value==="memory"&&((N=i.cache)!=null&&N.partial_id)&&((C=i.cache)==null||delete C.partial_id)};async function b({codeElement:N,language:C,code:k}){N.innerHTML=await h(k,{lang:C,theme:"github-dark",structure:"inline"})}return(N,C)=>{const k=t.resolveComponent("KButton"),E=t.resolveComponent("KDropdownItem"),v=t.resolveComponent("KDropdown"),$=t.resolveComponent("KLabel"),K=t.resolveComponent("KCodeBlock"),j=t.resolveComponent("KModal");return t.openBlock(),t.createElementBlock("div",yR,[t.createElementVNode("h3",_R,t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),N.strategy?(t.openBlock(),t.createElementBlock("div",bR,[t.createElementVNode("div",wR,[t.createVNode(t.unref(ve.DeployIcon),{color:t.unref(Fa),size:t.unref(md)},null,8,["color","size"]),t.createElementVNode("div",kR,t.toDisplayString(N.strategy),1)]),t.createVNode(v,null,{items:t.withCtx(()=>[t.createVNode(E,{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),t.createVNode(E,{danger:"",onClick:m},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("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(ve.MoreIcon),{color:t.unref(Ma)},null,8,["color"])]),_:1})]),_:1})])):(t.openBlock(),t.createBlock(k,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),t.createVNode(j,{"action-button-disabled":!c.value,"action-button-text":t.unref(s)("actions.save"),"max-width":"640px",title:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:l.value,onCancel:p,onProceed:_},{default:t.withCtx(()=>{var S,Q;return[t.createElementVNode("div",CR,[t.createVNode(fd,{items:[{label:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":w},null,8,["items"]),u.value==="memory"?(t.openBlock(),t.createBlock(ft,{key:0,name:"memory.dictionary_name"})):t.createCommentVNode("",!0),u.value==="redis"?(t.openBlock(),t.createElementBlock("div",ER,[t.createVNode($,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),t.createVNode(t.unref(Yn.RedisConfigurationSelector),{"model-value":(S=t.unref(i).cache)==null?void 0:S.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":C[0]||(C[0]=I=>t.unref(i).cache.partial_id=I)},null,8,["model-value"])])):t.createCommentVNode("",!0),u.value==="redis"&&!((Q=t.unref(i).cache)!=null&&Q.partial_id)&&f.value?(t.openBlock(),t.createElementBlock("div",NR,[t.createElementVNode("div",null,t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),t.createVNode(K,{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-ad53942e"]]),xR={class:"dk-resources-panel"},vR=Ie(t.defineComponent({__name:"ResourcesPanel",setup(e){const n=hR(),o=t.ref(0),{addVault:r,removeVault:i,updateVault:a,renameVault:l,formData:s}=lR();function c(_,g,h){h&&h!==_&&l(h,_,!1),a(_,g)}const{state:u,commit:f}=it(),d=t.computed(()=>({cache:u.value.cacheConfig}));function p(_){u.value.cacheConfig=_.cache,f()}function m(){u.value.cacheConfig=void 0,f()}function y(){o.value++}return(_,g)=>(t.openBlock(),t.createElementBlock("div",xR,[t.createVNode(pt,{data:t.unref(s),schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(gR,{name:"vault",onAdd:t.unref(r),onRemove:t.unref(i),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),g[0]||(g[0]=t.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(t.openBlock(),t.createBlock(pt,{key:`${o.value}`,data:d.value,schema:t.unref(n)},{default:t.withCtx(()=>{var h;return[t.createVNode(SR,{strategy:(h=d.value.cache)==null?void 0:h.strategy,onCancel:y,onRemove:m,onUpdate:p},null,8,["strategy"])]}),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-3a9010b8"]]),AR={class:"header"},IR={class:"title"},TR={class:"body"},PR={class:"panel"},OR=Ie(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=Xe.createI18n("en-us",ot),{sidePanelExpanded:o}=pl(),{propertiesPanelOpen:r,selectedNode:i}=it(),a=t.inject(eo.DATAKIT_M2,!1),l=t.ref("nodes");function s(){r.value=!1}t.watch(i,u=>{u||s()});const c=t.ref(!1);return t.onMounted(()=>{c.value=!0}),(u,f)=>{const d=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:c.value}])},[t.createElementVNode("header",AR,[t.createElementVNode("h2",IR,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",TR,[t.createElementVNode("div",PR,[t.unref(a)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(d,{modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=p=>l.value=p),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"]),l.value==="nodes"?(t.openBlock(),t.createBlock(Um,{key:0,"hide-title":""})):t.createCommentVNode("",!0),l.value==="resources"?(t.openBlock(),t.createBlock(vR,{key:1})):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createBlock(Um,{key:1}))])])],2)}}}),[["__scopeId","data-v-ae943268"]]),$R=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(At,{items:t.unref(Aa)([...t.unref(xu)]),name:n.name},null,8,["items","name"]))}}),BR=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=He(),{i18n:o}=Le(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(wt,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(At,{key:l,clearable:"","enable-filtering":"",items:i.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),VR=["data-testid"],RR={class:"dk-inputs-map-field-entry-body"},DR={class:"dk-inputs-map-field-entry-content"},MR=Ie(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=Mr(o,r),{i18n:{t:c}}=Le(),u=t.useTemplateRef("root"),f=t.ref(null),d=t.ref({});let p;async function m(C,k="key"){var E;u.value&&(await t.nextTick(),(E=u.value.querySelector(`[data-${k}-input="${C}"]`))==null||E.focus())}function y(){const{id:C}=a(),k=i.value.findIndex(({key:E})=>!E);m(k===-1?i.value.length-1:k),f.value=C}function _(C){l(C.id),C.id===f.value&&(f.value=null),C.key.trim()!==""&&r("remove:field",C.key)}function g(C){p=C.key}function h(C){if(w(C)){C.key=p,delete d.value[C.id];return}if(C.id===f.value){if(C.key.trim()==="")return;r("add:field",C.key,C.value),f.value=null}else r("rename:field",p,C.key);p=C.key}function w(C){delete d.value[C.id];const k=o.fieldNameValidator("input",p,C.key);if(k)return d.value[C.id]=k,k}function b(C){w(C)}function N(C,k){C.id!==f.value&&r("change:inputs",C.key,k)}return t.watch(()=>i.value,C=>{f.value&&(C.find(({id:k})=>k===f.value)||(f.value=null))}),(C,k)=>{const E=t.resolveComponent("KAlert"),v=t.resolveComponent("KLabel"),$=t.resolveComponent("KInput"),K=t.resolveComponent("KSelect"),j=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(E,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:u,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(S,Q)=>(t.openBlock(),t.createElementBlock("div",{key:S.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(s).path.value}.${Q}`},[t.createVNode(v,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${Q}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),t.createElementVNode("div",RR,[t.createElementVNode("div",DR,[t.createVNode($,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${Q}`,modelValue:S.key,"onUpdate:modelValue":[I=>S.key=I,I=>w(S)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":Q,"data-testid":`ff-key-${t.unref(s).path.value}.${Q}`,error:!!d.value[S.id],"error-message":d.value[S.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:I=>b(S),onChange:I=>h(S),onFocus:I=>g(S)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(K,{modelValue:S.value,"onUpdate:modelValue":I=>S.value=I,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${Q}`,"enable-filtering":"",items:C.items,label:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:I=>N(S,(I==null?void 0:I.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),t.createVNode(j,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${Q}`,icon:"",onClick:I=>_(S)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,VR))),128)),t.createVNode(j,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!f.value,onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-b2f89c26"]]),LR={key:1,class:"dk-inputs-field-or"},bn=Ie(t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=He(),{i18n:{t:i}}=Le(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?BR:MR:null);function s(p){o("change:input",p?p.value:null)}function c(p,m){o("add:field",p,m)}function u(p,m){o("change:inputs",p,m)}function f(p){o("remove:field",p)}function d(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(Re.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(r)("input")?(t.openBlock(),t.createBlock(At,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:p.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:s},null,8,["items","label","placeholder"])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createElementBlock("div",LR,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(Re.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),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:3,"field-name-validator":p.fieldNameValidator,items:p.items,"key-order":p.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":u,"onRemove:field":f,"onRename:field":d},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-58657120"]]),FR={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"},UR={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 KR(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function Gn(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function So(e){const{i18n:{t:n}}=Le(),o=()=>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 o()}}function Km(e,n){const{i18n:{t:o}}=Le();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("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:o("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 jR(e=0,n=1/0,o){const{i18n:{t:r}}=Le();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function jm(e){const{i18n:{t:n}}=Le();return function(r){if(!KR(r))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 hs(e,n){const{i18n:{t:o}}=Le();return function(i){if(i==null)return;const a=jm(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function ys(e=-1/0,n=1/0,o){const{i18n:{t:r}}=Le();return function(a){if(a==null)return;const l=jm(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function GR(e,n){const{state:o}=it(),{i18n:{t:r}}=Le();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function qR(e,n,o){const{i18n:{t:r}}=Le();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(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 r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function zR(){const{i18n:{t:e}}=Le();return function(o){if(ll(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function Gm(e){const{i18n:{t:n}}=Le(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return Gn(So(o),Km("identifier",o),zR(),GR(e,o))}function HR(e){const{i18n:{t:n}}=Le(),{getNodeById:o}=it();return function(i,a,l){const s={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 Gn(So(s),qR(i,o(e),l))(a)}}function YR(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=d=>{const p=typeof d=="function"?d():d,m=s(p);return n.value[l]=m,m},u=()=>{n.value[l]=void 0},f=d=>(u(),c(d));r[l]={handleChange:f,handleBlur:f,validate:f,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const u=l[c],f=typeof u=="function"?u():u;(s=r[c])==null||s.validate(f)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function br(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=it(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>YR(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function u(){const d=o(),p=l.value.validate(d),m={};for(const y in a.value)m[y]=p[y];return m}function f(d,p){return{onBlur:()=>{const m=o(),y=s.value[d];y&&y.handleBlur(m[d])},onUpdate:()=>{const m=o(),y=s.value[d];y&&y.handleChange(m[d]),p==null||p()},error:t.computed(()=>{const m=s.value[d];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[d];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:u()}),t.onBeforeUnmount(async()=>{try{const d=u(),p=Object.values(d).filter(Boolean).length>0;r(!p)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:u,createFieldHandler:f}}function sn(e,n){const o=t.inject(eo.DATAKIT_M2,!1),{state:r,renameNode:i,getNodeById:a,addField:l,renameField:s,removeField:c,replaceConfig:u,disconnectEdge:f,connectEdge:d,invalidConfigNodeIds:p,commit:m,revert:y}=it(),{i18n:{t:_}}=Le(),g=Vm(),h=t.computed(()=>{const O=a(e);if(!O)throw new Error("Node not existed");return O}),w=t.computed(()=>{const A=r.value.edges.filter(P=>P.target===e).reduce((P,T)=>{var se,he;const Y=a(T.source),z=(se=pn(Y,"output",T.sourceField))==null?void 0:se.id,ne=(he=pn(h.value,"input",T.targetField))==null?void 0:he.name,oe=Y.id+(z?`.${z}`:"");return ne?P.inputs={...P.inputs,[ne]:oe}:P.input=oe,P},{});return h.value.fields.input.forEach(P=>{A.inputs||(A.inputs={}),A.inputs[P.name]||(A.inputs[P.name]=null)}),{...h.value.config,...A,name:h.value.name}}),b=O=>{i(e,O??"",!0,`${e}:rename`)},N=(O,A=!0)=>{if(!n)throw new Error("getFormInnerData is not defined");const P=Mo(n(),["name","input","inputs"]),T=O?`update:${e}:${O}`:void 0;u(e,P,A,T)},C=(O,A)=>{const P=fn(h.value,O,A);if(!P)throw new Error(`Field with name "${A}" not found in node "${h.value.name}"`);return P},k=(O,A,P)=>{const T=!!P;l(e,O,A,!T),T&&j(A,P)},E=(O,A,P)=>{const T=C(O,A).id;s(e,T,P)},v=(O,A)=>{const P=C(O,A).id;c(e,P)},$=t.computed(()=>r.value.edges.filter(O=>O.target===e&&!O.targetField)[0]),K=t.computed(()=>r.value.edges.filter(O=>O.target===e&&O.targetField)),j=async(O,A)=>{const P=A==null,T=C("input",O).id;if(P){const ie=K.value.find(ue=>ue.targetField===T);ie&&f(ie.id);return}const{nodeId:Y,fieldId:z}=Iu(A),ne=C("input",O).id,oe=[];$.value&&(oe.push(_r($.value,a)),f($.value.id,!1));const se=K.value.find(ie=>ie.targetField===T);se&&(oe.push(_r(se,a)),f(se.id,!1)),d({source:Y,sourceField:z,target:e,targetField:ne},!1);const he=ps(Y,z,e,ne,a),Z=oe[0]&&he?oe[0][1]===he[1]:!1;if(m(),Z||oe.length===0)return;await g(_("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[he],oe)||y()},S=async O=>{if(O==null){$.value&&f($.value.id);return}const P=[];for(const oe of K.value)P.push(_r(oe,a)),f(oe.id,!1);$.value&&f($.value.id,!1);const{nodeId:T,fieldId:Y}=Iu(O);d({source:T,sourceField:Y,target:e,targetField:void 0},!1);const z=ps(T,Y,e,void 0,a);if(m(),P.length===0)return;await g(_("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[z],P)||y()},Q=O=>{const A=[...r.value.edges,{source:O,target:e}];return ul(ti(A))},I=t.computed(()=>{var A,P;const O=[];for(const T of r.value.nodes)if(!(!o&&T.type==="vault"||!((A=mo(T.type).io)!=null&&A.output))&&T.fields.output&&T.id!==e&&!(T.type==="property"&&!Ql((P=T.config)==null?void 0:P.property))&&!Q(T.id)&&!(h.value.phase==="request"&&T.phase==="response")&&!(T.type==="vault"&&T.fields.output.length===0)){O.push({value:T.id,label:T.name});for(const z of T.fields.output)O.push({value:`${T.id}.${z.id}`,label:`${T.name}.${z.name}`})}return O}),G=t.computed(()=>h.value.fields.input.map(O=>O.name)||[]);function U(O){p.value.delete(e),O||p.value.add(e)}const ee=HR(e);function M(O,A,P){const T=a(e);if(!T)throw new Error("Node not found when validating field name");const Y=fn(T,O,A);return ee(O,P,Y==null?void 0:Y.id)}return{formData:w,inputOptions:I,inputEdge:$,inputsEdges:K,inputsFieldNames:G,currentNode:h,setName:b,setConfig:N,addField:k,renameFieldByName:E,removeFieldByName:v,setInputs:j,setInput:S,nameValidator:Gm(e),fieldNameValidator:M,toggleNodeValid:U}}function cn(e){const{getSchema:n}=He();return t.computed(()=>{if(Tt(e))switch(e){case"response":return UR;case"service_request":return FR}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const qn=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Le(),a=t.ref(o.name),l=t.computed(()=>{const f=o.validate(a.value.trim());return f===void 0?"":f});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function u(){s=a.value.trim()}return t.watch(()=>o.name,f=>{f!==a.value&&(a.value=f)}),(f,d)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":d[0]||(d[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.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"])}}}),WR=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Le(),o=t.useTemplateRef("form"),r=cn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:p,fieldNameValidator:m}=sn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:y}=br({validationConfig:{url:Gn(So({fieldName:"URL"}),Km("url",{fieldName:"URL"})),timeout:Gn(hs("integer"),ys(0,2147483646))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:p}),_=y("url",()=>l("url")),g=y("timeout",()=>l("timeout"));return(h,w)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(ro,{error:t.unref(_).error.value,"error-message":t.unref(_).errorMessage.value,name:"url",onBlur:t.unref(_).onBlur,"onUpdate:modelValue":t.unref(_).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode($R,{name:"method",onUpdate:w[0]||(w[0]=N=>t.unref(l)())}),t.createVNode(Tn,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,name:"timeout",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ro,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=N=>t.unref(l)("ssl_server_name"))}),t.createVNode(bn,{"field-name-validator":t.unref(m),"field-names":t.unref(f),items:t.unref(s),"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"])}}}),XR=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=cn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=sn(e.nodeId,()=>n.value.getInnerData());return(u,f)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(bn,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),ZR=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=cn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=sn(e.nodeId,()=>n.value.getInnerData());return(u,f)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(bn,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),qm={jqlang:"https://jqlang.org/manual/"},JR=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:o}=Le(),r=t.useTemplateRef("form"),i=cn("jq"),{formData:a,setName:l,setConfig:s,inputOptions:c,setInputs:u,setInput:f,addField:d,removeFieldByName:p,renameFieldByName:m,inputsFieldNames:y,nameValidator:_,toggleNodeValid:g,fieldNameValidator:h}=sn(e.nodeId,()=>r.value.getInnerData());function w(v,$){d("input",v,$)}function b(v){p("input",v)}function N(v,$){m("input",v,$)}const C=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:k}=br({validationConfig:{jq:Gn(So({fieldName:C}),jR(1,10240,{fieldName:C}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:g}),E=k("jq",()=>s("jq"));return(v,$)=>{const K=t.resolveComponent("KLabel"),j=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(a).name,validate:t.unref(_),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(K,{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(ro,{autosize:"",error:t.unref(E).error.value,"error-message":t.unref(E).errorMessage.value,label:t.unref(C),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(E).onBlur,"onUpdate:modelValue":t.unref(E).onUpdate},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(j,{"hide-icon":"",href:t.unref(qm).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(qm).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(bn,{"field-name-validator":t.unref(h),"field-names":t.unref(y),items:t.unref(c),"onAdd:field":w,"onChange:input":t.unref(f),"onChange:inputs":t.unref(u),"onRemove:field":b,"onRename:field":N},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),QR=Ie(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=Mr(o,r,!1),{i18n:u}=Le(),f=t.useTemplateRef("root"),d=t.ref(null);let p;async function m(C,k="key"){var E;f.value&&(await t.nextTick(),(E=f.value.querySelector(`[data-${k}-input="${C}"]`))==null||E.focus())}function y(){const C=l(),k=a.value.findIndex(({key:E})=>!E);m(k===-1?a.value.length-1:k),d.value=C}function _(C){var k;C.id===((k=d.value)==null?void 0:k.id)&&(d.value=null),s(C.id),C.key.trim()!==""&&r("remove:field",C.key)}function g(C){p=C.key}function h(C){var k;if(b(C)){C.key=p,delete i.value[C.id];return}if(C.id===((k=d.value)==null?void 0:k.id)){if(C.key.trim()==="")return;d.value=null,r("add:field",C.key,C.value)}else r("rename:field",p,C.key);p=C.key}function w(C,k){var v;if(k.id===((v=d.value)==null?void 0:v.id))return;const E=C.target.value.trim();r("change:value",k.key,E)}function b(C){delete i.value[C.id];const k=o.fieldNameValidator("output",p,C.key);if(k)return i.value[C.id]=k,k}function N(C){b(C)}return t.watchEffect(()=>{d.value&&!a.value.some(C=>C.id===d.value.id)&&a.value.push(d.value)}),(C,k)=>{const E=t.resolveComponent("KAlert"),v=t.resolveComponent("KLabel"),$=t.resolveComponent("KButton"),K=t.resolveComponent("KInput"),j=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(E,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:f,class:"dk-output-value-field"},[t.createVNode(v,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(S,Q)=>(t.openBlock(),t.createBlock(j,{key:S.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${Q}`},{actions:t.withCtx(()=>[t.createVNode($,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${Q}`,icon:"",onClick:I=>_(S)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(K,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${Q}`,modelValue:S.key,"onUpdate:modelValue":[I=>S.key=I,I=>b(S)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":Q,"data-testid":`ff-key-${t.unref(c).path.value}.${Q}`,error:!!i.value[S.id],"error-message":i.value[S.id],label:t.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:I=>N(S),onChange:I=>h(S),onFocus:I=>g(S)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(K,{modelValue:S.value,"onUpdate:modelValue":I=>S.value=I,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${Q}`,label:t.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:I=>w(I,S)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode($,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!d.value,onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-5e17f8cb"]]);function eD(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function Wi(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function tD(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const nD=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=it(),{fieldNameValidator:c}=sn(e.nodeId),u=cn("static"),f=Gm(e.nodeId),d=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var b;return((b=d.value)==null?void 0:b.fields.output.map(N=>N.name))||[]});function m(b){if(!d.value)throw new Error("No current node");n(d.value.id,b??"")}const y=t.computed(()=>{var $;if(!d.value)return{};const b=(($=d.value.config)==null?void 0:$.values)??{},N={},C=o(d.value.id).map(K=>K.sourceField).filter(Boolean).map(K=>pn(d.value,"output",K)).map(K=>K==null?void 0:K.name).filter(Boolean),k=d.value.fields.output.map(K=>K.name),E=Object.keys(b);return new Set([...E,...C,...k]).forEach(K=>{if(K in b){N[K]=b[K];return}N[K]=""}),{name:d.value.name,values:eD(N)}});function _(b,N){if(!d.value)throw new Error("No selected node");const C=N!==void 0;if(r(e.nodeId,"output",b,!C),C){const k={values:Wi({...y.value.values,[b]:N})};l(e.nodeId,k)}}function g(b,N){if(!d.value)throw new Error("No selected node");const C=fn(d.value,"output",b);if(!C)throw new Error("No field found to rename");const k={values:Wi(tD(y.value.values??{},b,N))};l(e.nodeId,k,!1),i(e.nodeId,C.id,N)}function h(b){var k;if(!d.value)throw new Error("No selected node");const N=fn(d.value,"output",b);if(!N)throw new Error("No field found to delete");a((k=d.value)==null?void 0:k.id,N.id,!0,!1);const C={values:Wi({...y.value.values})};delete C.values[b],l(e.nodeId,C)}function w(b,N){if(!d.value)throw new Error("No selected node");const C={...y.value.values};C[b]=N;const k={values:Wi(C)};l(e.nodeId,k)}return(b,N)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:y.value,schema:t.unref(u)},{default:t.withCtx(()=>{var C;return[t.createVNode(qn,{name:((C=d.value)==null?void 0:C.name)??"",validate:t.unref(f),onUpdate:m},null,8,["name","validate"]),t.createVNode(QR,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":_,"onChange:value":w,"onRemove:field":h,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),oD={class:"dk-kong-property-item"},rD={class:"property-type"},iD={class:"property-badges"},aD=Ie(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=Le(),r=e,i=n,{formData:a}=He(),l=t.ref(gr(a.property)),s=t.computed(()=>hr(a.property)),c=t.ref(Jl(a.property)),u=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(Un).map(([m])=>{var g;const y=hr(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(Eo,"")):a.property===m;return{label:y&&c.value?m.replace(Eo,c.value):m,value:m,selected:y}}));function d(m){const y=Mi.find(_=>{var g;return(g=a.property)==null?void 0:g.startsWith(_)});y&&(a.property=y+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function p(m){l.value!==gr(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=gr(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=Jl(m),l.value=gr(m)}),(m,y)=>{const _=t.resolveComponent("KBadge"),g=t.resolveComponent("KSelect"),h=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(g,{key:u.value,"enable-filtering":"",error:!m.validators.property.isValid.value,help:m.validators.property.error.value,items:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:y[0]||(y[0]=w=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",oD,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",rD,t.toDisplayString(t.unref(Un)[w.value].dataType),1)]),t.createElementVNode("div",iD,[t.unref(Un)[w.value].readable?(t.openBlock(),t.createBlock(_,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(Un)[w.value].writable?(t.openBlock(),t.createBlock(_,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(h,{key:0,"model-value":c.value,"onUpdate:modelValue":[y[1]||(y[1]=w=>c.value=w),d],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:y[2]||(y[2]=w=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),lD=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=it(),a=cn("property"),{formData:l,setName:s,setConfig:c,inputOptions:u,setInputs:f,setInput:d,inputsFieldNames:p,nameValidator:m,toggleNodeValid:y,fieldNameValidator:_}=sn(e.nodeId,()=>n.value.getInnerData()),g=t.computed(()=>es(l.value.property));function h(b){var C;const N=(C=o.value)==null?void 0:C.id;if(!N)throw new Error("Expected selectedNode to be defined");Ql(b)||i(N,!1),es(b)||r(N,!1),c()}const{fields:w}=br({validationConfig:()=>({property:So({fieldName:"Property"}),key:hr(l.value.property)?So({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Jl(l.value.property)}),toggleNodeValid:y});return(b,N)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(At,{name:"content_type",onUpdate:N[0]||(N[0]=C=>t.unref(c)())}),t.createVNode(aD,{validators:t.unref(w),"onUpdate:modelValue":h,"onUpdate:propertyKey":N[1]||(N[1]=C=>t.unref(c)("property-key"))},null,8,["validators"]),g.value?(t.openBlock(),t.createBlock(bn,{key:0,"field-name-validator":t.unref(_),"field-names":t.unref(p),items:t.unref(u),"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"]))}}),sD=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=cn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:u,nameValidator:f,toggleNodeValid:d,fieldNameValidator:p}=sn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=br({validationConfig:{status:Gn(hs("integer",{fieldName:"Status"}),ys(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:d}),y=m("status",()=>a("status"));return(_,g)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(r).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Tn,{error:t.unref(y).error.value,"error-message":t.unref(y).errorMessage.value,name:"status",onBlur:t.unref(y).onBlur,"onUpdate:modelValue":t.unref(y).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Dr,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=h=>t.unref(a)())}),t.createVNode(bn,{"field-name-validator":t.unref(p),"field-names":t.unref(u),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}});function cD(e){const n=sn(e),{state:o,getNodeById:r,branchGroups:i,commit:a}=it(),{i18n:{t:l}}=Le(),s=Vm(),c=$m(),u=t.computed(()=>{var b;const h={...n.formData.value},w=Wo(((b=n.currentNode.value)==null?void 0:b.type)||"branch");for(const N of w)(!(N in h)||h[N]==null)&&(h[N]=[]);return h});function f(h,w,b){const N=r(h),C=r(b),k=N?`${N.name}.${w}`:`${h}.${w}`,E=C?C.name:b;return[k,E]}function d(h){return(h==null?[]:Array.isArray(h)?h:[h]).filter(w=>Au(w))}function p(h,w){return i.wouldCreateCycle(h,w)?(c({message:l("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function m(h,w,b){const N=[],C=[],k=[];for(const E of b){const v=i.findMembership(E);if(!v||v.ownerId===h&&v.branch===w)continue;const $=i.getMembers(v.ownerId,v.branch).filter(K=>K!==E);k.push({ownerId:v.ownerId,branch:v.branch,members:$}),N.push(f(h,w,E)),C.push(f(v.ownerId,v.branch,E))}return{conflictUpdates:k,addedAssignments:N,removedAssignments:C}}function y(h,w,b,N){let C=!1;for(const k of N)C=i.setMembers(k.ownerId,k.branch,k.members,{commit:!1})||C;return C=i.setMembers(h,w,b,{commit:!1})||C,C}async function _(h,w){const b=n.currentNode.value,N=d(w),C=i.prepareMembers(b.id,h,N),k=i.getMembers(b.id,h);if(sl(k,C))return!0;const E=C.filter(S=>!k.includes(S));for(const S of E)if(p(b.id,S))return!1;const{conflictUpdates:v,addedAssignments:$,removedAssignments:K}=m(b.id,h,E);return v.length>0&&!await s(l("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),$,K)?!1:(y(b.id,h,C,v)&&a(),!0)}const g=t.computed(()=>{const h=n.currentNode.value;return!h||!i?[]:o.value.nodes.filter(w=>w.id!==e&&!Tt(w.type)&&w.phase===h.phase&&!i.wouldCreateCycle(h.id,w.id)).map(w=>({value:w.id,label:w.name}))});return{...n,formData:u,branchOptions:g,updateBranchMembers:_}}const dD=t.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Le(),o=cn("branch"),r=t.ref(0),{formData:i,setName:a,inputOptions:l,branchOptions:s,nameValidator:c,setInput:u,setInputs:f,inputsFieldNames:d,fieldNameValidator:p,updateBranchMembers:m}=cD(e.nodeId);async function y(_,g){await m(_,g)||(r.value+=1)}return(_,g)=>(t.openBlock(),t.createBlock(pt,{key:r.value,data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(i).name,validate:t.unref(c),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Re.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(At,{"enable-filtering":"",items:t.unref(s),multiple:"",name:"then",onUpdate:g[0]||(g[0]=h=>y("then",h))},null,8,["items"]),t.createVNode(At,{"enable-filtering":"",items:t.unref(s),multiple:"",name:"else",onUpdate:g[1]||(g[1]=h=>y("else",h))},null,8,["items"]),t.createVNode(bn,{"field-name-validator":t.unref(p),"field-names":t.unref(d),items:t.unref(l),"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"]))}}),uD=t.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=cn("cache"),{i18n:{t:r}}=Le(),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:p,fieldNameValidator:m}=sn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:y}=br({validationConfig:()=>({ttl:Gn(hs("integer",{fieldName:"TTL"}),ys(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:i.value.ttl}),toggleNodeValid:p}),_=y("ttl",()=>l("ttl"));return(g,h)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Re.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Dr,{name:"bypass_on_error","onUpdate:modelValue":h[0]||(h[0]=w=>t.unref(l)("bypass_on_error"))}),t.createVNode(Tn,{error:t.unref(_).error.value,"error-message":t.unref(_).errorMessage.value,name:"ttl",onBlur:t.unref(_).onBlur,"onUpdate:modelValue":t.unref(_).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(bn,{"field-name-validator":t.unref(m),"field-names":t.unref(f),items:t.unref(s),"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"]))}}),fD=["innerHTML"],pD=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${Eu}px`},offsetTop:{default:`${JN}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=it(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return WR;case"service_request":return XR;case"response":return ZR;case"jq":return JR;case"static":return nD;case"property":return lD;case"exit":return sD;case"branch":return dD;case"cache":return uD;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref(Re.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":i.maxWidth,"offset-top":i.offsetTop,visible:i.visible,"z-index":t.unref(ZN),onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(It)(o.value.type)},null,8,fD)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:i.nodeId,class:"dk-node-properties-panel-form","node-id":i.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(Mm,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),mD=Ie(pD,[["__scopeId","data-v-ecb765d9"]]),gD={class:"dk-editor-content"},hD={class:"main"},yD=Ie(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:o}=it();function r(){n.value=!1}t.watch(o,a=>{a||r()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,l)=>{var s;return t.openBlock(),t.createElementBlock("div",gD,[t.createVNode(t.unref(OR)),t.createElementVNode("div",hD,[t.createVNode(XV)]),t.createVNode(mD,{"node-id":(s=t.unref(o))==null?void 0:s.id,visible:t.unref(n),onClose:r},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-8f04afa6"]]),_D={key:0,class:"dk-editor-modal"},bD=Ie(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(s=>({"5fe3dd96":`${t.unref(XN)}px`,"480b2f5d":`${t.unref(Cu)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal"),{clear:i}=it();cV(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const a=Ye.useScrollLock(document);t.watch(n,s=>{a.value=!!s,s||i()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(t.openBlock(),t.createElementBlock("div",_D,[t.createVNode(GV,{class:"nav",onBack:l}),t.createVNode(yD,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(FV,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-917708bb"]]),wD={class:"dk-flow-editor"},kD={class:"flow-panels-container"},CD={class:"overlay"},ED=Ie(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:o}=Xe.createI18n("en-us",ot),{formData:r}=He(),i=n;function a(c,u,f,d){const p={...r.config,nodes:c};f!==void 0&&(p.resources=f);const m={...r.__ui_data,...u};r.config=p,r.__ui_data=m,d!=null?r.partials=[{id:d}]:r.partials&&(r.partials=null),i("change",p,m)}const{modalOpen:l,setPendingFitView:s}=Lu(r,{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{s(!0)},{flush:"post"}),(c,u)=>{const f=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",wD,[t.createElementVNode("div",kD,[t.createVNode(gs,{inactive:t.unref(l),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",CD,[t.createVNode(f,{appearance:"secondary",class:"button-open-editor",onClick:u[0]||(u[0]=d=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(ve.ExpandIcon))]),_:1})])]),t.createVNode(bD,{open:t.unref(l),"onUpdate:open":u[1]||(u[1]=d=>t.isRef(l)?l.value=d:null)},null,8,["open"])])}}}),[["__scopeId","data-v-5f140817"]]);function ND(e,n){const o=[],r=(i,a)=>{typeof a=="string"&&o.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&r(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&r(["inputs",i],a);if("output"in e&&e.output!=null&&r(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&r(["outputs",i],a);return o}function SD(e){const n=e.path[2];return n==="output"||n==="outputs"}function zm(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function Hm(e,n){const o=e.input!==void 0&&e.input!==null,r=zm(e.inputs);o&&r&&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=zm(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 Ym(e,n,o){if(!e.nodes)return;const r=e.nodes.map(c=>c.name),i=new Set;r.forEach((c,u)=>{i.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",u,"name"]}),i.add(c)});const a=new Set([...n,...r]),l=new Map,s=new Map;e.nodes.forEach((c,u)=>{for(const f of ND(c,u)){const d=f.value.split(".",1)[0];if(a.has(d)||o.addIssue({code:"custom",message:`Unknown node "${d}" in connection "${f.value}"`,path:f.path}),SD(f)){const p=`${f.nodeName}->${d}`;s.has(p)?o.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}):l.set(p,l.get(p)??f.path)}else{const p=`${d}->${f.nodeName}`;l.has(p)?o.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}):s.set(p,s.get(p)??f.path)}}})}const xD=W.z.enum(Nu),vD=W.z.enum(uo),Wm=e=>uo.includes(e),_s=W.z.enum(Su),Xm=_s.options;W.z.union([_s,xD]);const AD=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,Zm=W.z.string().min(1).max(255).regex(AD,"Invalid node name (snake_case / kebab-case only)").refine(e=>!Wm(e),"Name clashes with reserved implicit node").brand(),Xi=W.z.union([vD,Zm]),ID=W.z.string().min(1).brand(),TD=["then","else"];W.z.enum(TD);const dt=W.z.string().refine(e=>{if(Xi.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return Xi.safeParse(o).success&&ID.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),Jm=W.z.enum(xu),zn=W.z.object({type:W.z.string(),name:Zm,input:dt,inputs:W.z.record(W.z.string(),dt).nullish(),output:dt,outputs:W.z.record(W.z.string(),dt).nullish()}).loose().superRefine((e,n)=>{Hm(e,n)}),PD=W.z.object({type:W.z.string(),name:W.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),Xm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Xm.join(", ")}`})}),OD=zn.safeExtend({type:W.z.literal("call"),method:Jm.nullish(),ssl_server_name:W.z.string().min(1).nullish(),timeout:W.z.number().int().min(0).max(2147483646).nullish(),url:W.z.url(),inputs:W.z.object({body:dt,headers:dt,query:dt}).partial().nullish(),outputs:W.z.object({body:dt,headers:dt,status:dt}).partial().nullish()}).strict(),$D=zn.safeExtend({type:W.z.literal("exit"),status:W.z.number().int().min(200).max(599).nullish(),warn_headers_sent:W.z.boolean().nullish(),output:W.z.never().optional(),outputs:W.z.never().optional()}).strict(),BD=zn.safeExtend({type:W.z.literal("jq"),jq:W.z.string().min(1).max(10240),outputs:W.z.never().optional()}).strict(),VD=zn.safeExtend({type:W.z.literal("property"),content_type:W.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:W.z.string().min(1),inputs:W.z.never().optional(),outputs:W.z.never().optional()}).strict(),RD=zn.safeExtend({type:W.z.literal("static"),values:W.z.record(W.z.string(),W.z.unknown()),input:W.z.never().optional(),inputs:W.z.never().optional()}).strict(),DD=zn.safeExtend({type:W.z.literal("cache"),bypass_on_error:W.z.boolean().nullish(),inputs:W.z.object({data:dt,key:dt,ttl:dt}).partial().nullish(),outputs:W.z.object({data:dt,hit:dt,miss:dt,stored:dt}).partial().nullish(),ttl:W.z.number().int().gt(0).nullish()}).strict(),MD=zn.safeExtend({type:W.z.literal("branch"),then:W.z.array(Xi).nullish(),else:W.z.array(Xi).nullish()}).strict(),LD=PD.pipe(W.z.discriminatedUnion("type",[OD,$D,BD,VD,RD,DD,MD])),FD=W.z.record(W.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),W.z.string().min(1).max(4095)),UD=W.z.object({dictionary_name:W.z.string().default("kong_db_cache")}),KD=W.z.object({host:W.z.string().default("127.0.0.1"),port:W.z.number().int().min(0).max(65535).default(6379)}),jD=W.z.object({ip:W.z.string().default("127.0.0.1"),port:W.z.number().int().min(0).max(65535).default(6379)}),GD=W.z.object({host:W.z.string().optional().default("127.0.0.1"),port:W.z.number().int().min(0).max(65535).optional().default(6379),connect_timeout:W.z.number().int().min(0).max(2147483646).default(2e3),send_timeout:W.z.number().int().min(0).max(2147483646).default(2e3),read_timeout:W.z.number().int().min(0).max(2147483646).default(2e3),username:W.z.string().optional(),password:W.z.string().optional(),sentinel_username:W.z.string().optional(),sentinel_password:W.z.string().optional(),database:W.z.number().int().optional().default(0),keepalive_pool_size:W.z.number().int().min(1).max(2147483646).default(256),keepalive_backlog:W.z.number().int().min(0).max(2147483646).optional(),sentinel_master:W.z.string().optional(),sentinel_role:W.z.enum(["master","slave","any"]).optional(),sentinel_nodes:W.z.array(KD).min(1,{message:"sentinel_nodes must contain at least 1 item"}).optional(),cluster_nodes:W.z.array(jD).min(1,{message:"cluster_nodes must contain at least 1 item"}).optional(),ssl:W.z.boolean().default(!1).optional(),ssl_verify:W.z.boolean().default(!1).optional(),server_name:W.z.string().optional(),cluster_max_redirections:W.z.number().int().default(5).optional(),connection_is_proxied:W.z.boolean().default(!1).optional(),timeout:W.z.number().int().optional(),sentinel_addresses:W.z.array(W.z.string()).min(1).optional(),cluster_addresses:W.z.array(W.z.string()).min(1).optional()}).superRefine((e,n)=>{var c;const o=e.host!==void 0&&e.host!==null,r=e.port!==void 0&&e.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,l=!!((c=e.sentinel_nodes)!=null&&c.length),s=[i,a,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!o&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),qD=W.z.object({strategy:W.z.enum(["memory","redis"]).optional(),memory:UD,redis:GD}),zD=W.z.object({vault:FD.nullish(),cache:qD.nullish()});W.z.array(W.z.object({id:W.z.string()})),W.z.object({nodes:W.z.array(LD).min(1,"At least one node is required"),debug:W.z.boolean().nullish(),resources:zD.nullish()}).strict().superRefine((e,n)=>{Ym(e,uo,n)});const Qm=_s.options,bs=W.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!Wm(e),"Node name conflicts with reserved implicit node"),ut=W.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const o=e.slice(0,n),r=e.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),Hn=W.z.object({type:W.z.string(),name:bs,input:ut.nullish(),inputs:W.z.record(W.z.string(),ut.nullish()).nullish(),output:ut.nullish(),outputs:W.z.record(W.z.string(),ut.nullish()).nullish()}).loose().superRefine((e,n)=>{Hm(e,n)}),HD=W.z.object({type:W.z.string(),name:W.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),Qm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Qm.join(", ")}`})}),YD=Hn.safeExtend({type:W.z.literal("call"),method:Jm.nullish(),ssl_server_name:W.z.string().nullish(),timeout:W.z.union([W.z.number(),W.z.string()]).nullish(),url:W.z.string().nullish(),inputs:W.z.object({body:ut.nullish(),headers:ut.nullish(),query:ut.nullish()}).partial().nullish(),outputs:W.z.object({body:ut.nullish(),headers:ut.nullish(),status:ut.nullish()}).partial().nullish()}).strict(),WD=Hn.safeExtend({type:W.z.literal("exit"),status:W.z.union([W.z.number(),W.z.string()]).nullish(),warn_headers_sent:W.z.boolean().nullish(),output:W.z.never().optional(),outputs:W.z.never().optional()}).strict(),XD=Hn.safeExtend({type:W.z.literal("jq"),jq:W.z.string().nullish(),outputs:W.z.never().optional()}).strict(),ZD=Hn.safeExtend({type:W.z.literal("property"),content_type:W.z.string().nullish(),property:W.z.string().nullish(),inputs:W.z.never().optional(),outputs:W.z.never().optional()}).strict(),JD=Hn.safeExtend({type:W.z.literal("static"),values:W.z.record(W.z.string(),W.z.unknown()).nullish(),input:W.z.never().optional(),inputs:W.z.never().optional()}).strict(),QD=Hn.safeExtend({type:W.z.literal("cache"),bypass_on_error:W.z.boolean().nullish(),inputs:W.z.object({data:ut.nullish(),key:ut.nullish(),ttl:ut.nullish()}).partial().nullish(),outputs:W.z.object({data:ut.nullish(),hit:ut.nullish(),miss:ut.nullish(),stored:ut.nullish()}).partial().nullish(),ttl:W.z.union([W.z.number(),W.z.string()]).nullish()}).strict(),eM=Hn.safeExtend({type:W.z.literal("branch"),then:W.z.array(bs).nullish(),else:W.z.array(bs).nullish()}).strict(),tM=HD.pipe(W.z.discriminatedUnion("type",[YD,WD,XD,ZD,JD,QD,eM])),nM=W.z.record(W.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),W.z.string().min(1).max(4095)),oM=W.z.object({dictionary_name:W.z.string().default("kong_db_cache")}),rM=W.z.object(),iM=W.z.object({strategy:W.z.enum(["memory","redis"]).optional(),memory:oM.optional(),redis:rM.optional()}),aM=W.z.object({vault:nM.nullish(),cache:iM.nullish()}),lM=W.z.object({nodes:W.z.array(tM).nullish(),debug:W.z.boolean().nullish(),resources:aM.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||Ym(e,uo,n)}).nullish(),sM={class:"option-label"},cM=["innerHTML"],dM=Ie(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),o=e,r=t.inject(eo.DATAKIT_ENABLE_FLOW_EDITOR,!1),i=t.inject(eo.DATAKIT_M2,!1),{editorMode:a}=pl(),l=t.computed(()=>r&&c.value?a.value:"code"),s={flow:ve.DesignIcon,code:ve.CodeblockIcon},c=t.ref(!0),u=t.computed(()=>{const _=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return _[0].disabled=!c.value,_}),f=t.computed(()=>{switch(l.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}});t.watch(l,()=>{var _;(_=o.onValidityChange)==null||_.call(o,{model:"config",valid:!0})});function d(){var _;(_=o.onValidityChange)==null||_.call(o,{model:"config",valid:!0})}function p(){d()}function m(_){var w;d();const{success:g}=lM.safeParse(_);let h=g;if(!i&&h){const b=_;(w=b==null?void 0:b.resources)!=null&&w.vault&&(h=!1)}c.value=h}function y(_){var g;c.value=!1,(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!1,error:_})}return(_,g)=>{const h=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(bd,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(w=>[t.createVNode(pt,t.mergeProps(w,{tag:"div"}),{default:t.withCtx(()=>[l.value==="flow"?(t.openBlock(),t.createBlock(ED,{key:0,"is-editing":o.isEditing,onChange:p},null,8,["is-editing"])):l.value==="code"?(t.openBlock(),t.createBlock(WN,{key:1,class:"code-editor",editing:o.isEditing,onChange:m,onError:y},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},1040)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:f.value},null,8,cM)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(Re.KSegmentedControl),{"model-value":l.value,options:u.value,"onUpdate:modelValue":g[0]||(g[0]=w=>a.value=w)},{"option-label":t.withCtx(({option:w})=>[t.createVNode(h,{disabled:c.value||w.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",sM,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(s[w.value]))),t.createTextVNode(" "+t.toDisplayString(w.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-6b230b53"]]),eg=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},tg=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},uM=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=Ge.useI18n(),l={prepareFormData:c=>{var f,d;const u=Qn(c);return(d=(f=u.config)==null?void 0:f.tools)!=null&&d.length&&u.config.tools.forEach(p=>{tg(p.headers),tg(p.query)}),u},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var f,d;const u=Qn(c);(d=(f=u.config)==null?void 0:f.tools)!=null&&d.length&&u.config.tools.forEach(p=>{eg(p.headers),eg(p.query)}),o("change",u)};return(c,u)=>(t.openBlock(),t.createBlock(pt,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:f})=>[t.createVNode(Lr,{appearance:"tabs","item-label":(d,p)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:p+1}),name:f,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(Fr)]),_:1},8,["data","schema"]))}}),fM=t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Ue.AUTOFILL_SLOT,o==null?void 0:o[Ue.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Ra,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(uM,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),pM=Ie(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(e,{emit:n}){const o=n,r=t.computed(()=>{const l=e.schema.fields.find(u=>Object.keys(u)[0]==="config").config.fields,s=[],c=[];for(const u of l){const f=Object.keys(u)[0];u[f].required?s.push(f):c.push(f)}return{required:s,nonRequired:c}}),i={hasValue:l=>!!(l!=null&&l.config)};function a(l){o("change",l)}return(l,s)=>(t.openBlock(),t.createBlock(pt,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(Fr,{class:"ff-advanced-fields"},{default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),[["__scopeId","data-v-3e5ed51d"]]),ng=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:fM,CommonForm:t.defineComponent({__name:"CommonForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Ue.AUTOFILL_SLOT,o==null?void 0:o[Ue.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(bd,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(pM,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),DatakitForm:dM,RequestCalloutForm:_k,ServiceProtectionForm:CC},Symbol.toStringTag,{value:"Module"})),mM={class:"kong-ui-entities-plugin-form"},gM={key:1,class:"entity-form"},hM={class:"plugin-config-empty-state"},yM=Ie(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}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var se,he;const o=Object.keys(Ue.sharedForms),r=Object.keys(ng);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=me.useAxios((se=a.config)==null?void 0:se.axiosRequestConfig),{parseSchema:s}=Ge.useSchemas({entityId:((he=a.entityMap.focusedEntity)==null?void 0:he.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:u,dismissField:f,isObjectEmpty:d,unsetNullForeignKey:p}=Ge.usePluginHelpers(),m=Ge.useExperimentalFreeForms(),{objectsAreEqual:y}=me.useHelpers(),{i18n:{t:_}}=Le(),g=Z=>a.config.app==="konnect"?Z.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?Z.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):Z,h=(Z,ae)=>{let ie=`${a.config.apiBaseUrl}${We.form[a.config.app].entityGetOne}`;return ie=g(ie),ie=ie.replace(/{entity}/gi,Z),ie=ie.replace(/{id}/gi,ae),ie},w=Z=>{let ae=`${a.config.apiBaseUrl}${We.form[a.config.app].entityGetAll}`;return ae=g(ae),ae=ae.replace(/{entity}/gi,Z),ae},b=(Z,ae)=>{const ie=h(Z,ae);return l.get(ie)},N=(Z,ae)=>{const ie=w(Z);return a.config.app==="konnect"?l.get(ie).then(ue=>{const{data:{data:de}}=ue;if(delete ae.size,delete ae.offset,de.length&&Object.keys(ae).length===1){const V=Object.keys(ae)[0],D=de.filter(F=>F[V]?!!F[V].toLowerCase().includes(ae[V].toLowerCase()):!1);ue.data.data=D}return ue}):l.get(ie,{params:ae})},C=(Z,ae,ie)=>{const ue=w(Z);if(a.config.app==="konnect"){const{size:de,offset:V,...D}=ae;if(Z==="consumer_groups")return l.get(ue,{params:{size:1e3},signal:ie}).then(R=>{const{data:{data:X}}=R;if(X.length&&Object.keys(D).length===1){const q=Object.keys(D)[0],re=X.filter(x=>x[q]?!!x[q].toLowerCase().includes(D[q].toLowerCase()):!1);R.data.data=re}return R});const F={size:de,offset:V};for(const R of Object.keys(D))F.filter={[R]:{contains:D[R]}};return l.get(ue,{params:F,signal:ie})}return l.get(ue,{params:ae,signal:ie})},k=(Z,ae=50)=>{const ie=w(Z);return l.get(ie,{params:{size:ae}})};t.provide(Ue.FORMS_API_KEY,{getOne:b,getAll:N,getAllV2:C,peek:k}),t.provide(Ue.FORMS_CONFIG,a.config);const E=t.ref(""),v=t.ref(""),$=t.ref(null),K=t.ref({}),j=t.reactive({}),S=t.reactive({}),Q=t.computed(()=>{var Z;return(Z=$.value)==null?void 0:Z.options}),I=t.ref(!1),G=t.ref(),U=(Z,ae)=>{I.value=Z??"",G.value=ae},ee=Z=>{var ae;(ae=G.value)==null||ae.call(G,Z),I.value=!1},M=()=>{var D,F;const Z={...a.schema},ae=S,ie=j,ue=Object.keys(ae),de={};if(!d(K.value))for(let R=0;R<((F=(D=K.value)==null?void 0:D.fields)==null?void 0:F.length);R++)Z[K.value.fields[R].model]=K.value.fields[R];Ue.customFields.forEach(R=>{Z[R]&&(Z[R].fields.forEach(X=>{X.fields&&X.fields.forEach(q=>{Z[q.model]=q}),X.model&&(Z[X.model]=X)}),delete Z[R])}),ue.forEach(R=>{var _e;if(!Z[R]){R==="partials"&&(de[R]=ae[R]);return}const X=Z[R];let q=ae[R];const re=ie[R],x=Array.isArray(q)?"array":typeof q,L=X?X.valueType:null,B=X?X.valueArrayType:null,te=X?X.transform:null;if(q==null&&re==null&&!X.submitWhenNull)return;if(X){if(L&&x!==L)switch(L){case"array":x==="string"&&q.length&&(q=q.split(",").map(be=>{if(be=be.trim(),B==="string")return String(be);if(B==="number")return Number(be);if(B==="boolean"){if(typeof be=="string")return be.toLowerCase()==="true"||be==="1";if(typeof be=="number")return be===1}return be})),(!q||!q.length)&&(q=X.submitWhenNull?null:[]);break;case"number":q=Number(q);break;case"boolean":x==="string"&&(q=q.toLowerCase()==="true"||q==="1"),x==="number"&&(q=q===1);break;case"string":q=q==null?"":String(q);break}else L==="array"&&(!q||!q.length?q=X.submitWhenNull?null:[]:((_e=X.inputAttributes)==null?void 0:_e.type)==="number"&&(q=q.map(be=>Number(be))));if(X.type==="array"&&X.nestedFields){const be=le=>{Object.keys(le).forEach(xe=>{le[xe]&&typeof le[xe]=="object"&&!Array.isArray(le[xe])&&le[xe]!==null?be(le[xe]):(le[xe]===void 0||le[xe]===null||typeof le[xe]=="number"&&isNaN(le[xe])||typeof le[xe]=="string"&&le[xe].trim().length===0)&&delete le[xe]})};q&&typeof q=="object"&&be(q)}X.type==="object-advanced"&&X.fields&&q!==null&&(Object.entries(q).length===0?q=null:Object.keys(q).forEach(be=>{Array.isArray(q[be])||(q[be]=q[be].split(","))}))}let J=c(R);if(X.fieldNameHasDashes){const[be,...le]=J.split(".").reverse();J=[be.replace(/_/g,"-"),...le].reverse().join(".")}if(L==="object-expand"){let be;[J,be]=J.split(".");let le={};de[J]&&(le=de[J]),le[be]=q,q=le}re!==void 0&&q===""&&q!==re?de[J]=L==="object"?{}:null:X.type==="checklist"&&q===""?de[J]=[]:q!==""&&(de[J]=q),de[J]=te?te(q):de[J],p(J,de)});const V=u(de);return v.value&&Object.assign(V,Y.value),V},O=(Z,ae={})=>{f(S,ae,Z,a.editing),i("model-updated",{model:S,originalModel:j,data:M()})},A=(Z,ae)=>{var de;const ie={[ae]:Z};typeof((de=a.schema[ae])==null?void 0:de.modelTransformer)=="function"&&(ie[ae]=a.schema[ae].modelTransformer(Z));const ue=Object.assign({},S,ie);Object.assign(S,ue),i("model-updated",{model:S,originalModel:j,data:M()})},P=Z=>{i("validity-change",Z)},T=(Z,ae)=>{Object.keys(Z).forEach(ie=>{var F,R;let ue=ae?`${ae}-${ie}`:ie,de=a.schema[ue];if(!de){const X=ae?`${ae}-${ie.replace(/-/g,"_")}`:ie.replace(/-/g,"_");(F=a.schema[X])!=null&&F.fieldNameHasDashes&&(ue=X,de=a.schema[ue]),ae&&((R=a.schema[ae])==null?void 0:R.keyFromObject)===ie&&(ue=ae,de=a.schema[ue])}const V=Z[ie],D=typeof V;if(de&&de.type==="object-advanced"&&!V){S[ue]={},j[ue]={};return}if(Array.isArray(V)){S[ue]=JSON.parse(JSON.stringify(V)),j[ue]=JSON.parse(JSON.stringify(V));return}if(D==="object"&&V&&!V.length)return T(V,ue);if(D==="object"&&V&&V.length&&de.type==="input"){S[ue]=V.join(", "),j[ue]=V.join(", ");return}S[ue]=V,j[ue]=V}),i("model-updated",{model:S,originalModel:j,data:M()})},Y=t.shallowRef(a.record),z=Z=>{Y.value=Z,i("model-updated",{model:{...S,...Z},originalModel:j,data:M()})},ne=t.ref(!0),oe=()=>{var Z;if(a.record&&a.schema&&(T({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&T({consumer_id:a.record.consumer_id||a.record.consumer}),T(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&T({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&O("redis",{partials:a.record.partials}),v.value?z(a.record):T(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const ae={};for(const ie in a.entityMap){const ue=a.entityMap[ie].id,de=a.entityMap[ie].idField,V=de==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(de).replace("_","-"));Object.prototype.hasOwnProperty.call(S,V)&&(ae[V]=ue)}T(ae)}if((Z=a.entityMap.consumer)!=null&&Z.id&&a.schema&&a.credential){const ae={};Object.prototype.hasOwnProperty.call(S,"consumer")&&(ae.consumer=a.entityMap.consumer.id),T(ae)}ne.value=!1};return t.watch(ne,Z=>{i("loading",Z)}),t.watch(()=>a.schema,(Z,ae)=>{var ue,de;if(y(Z||{},ae||{}))return;const ie=s(Z,void 0,void 0,a.engine);Object.assign(S,ie.model),K.value={fields:(de=(ue=K.value)==null?void 0:ue.fields)==null?void 0:de.map(V=>({...V,disabled:V.disabled||!1}))},Object.assign(j,JSON.parse(JSON.stringify(ie.model))),v.value=a.engine?a.engine==="vfg"?void 0:xa(ie.model.name,m)||"CommonForm":xa(ie.model.name,m),E.value=Ue.getSharedFormName(ie.model.name),oe()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var Z,ae;$.value=s(a.schema,void 0,void 0,a.engine),Object.assign(S,((Z=$.value)==null?void 0:Z.model)||{}),K.value=((ae=$.value)==null?void 0:ae.schema)||{},oe()}),(Z,ae)=>{var ue;const ie=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",mM,[ne.value?(t.openBlock(),t.createBlock(ie,{key:0,type:"form"})):S.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",gM,[v.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(ng[v.value]),{key:0,"form-model":S,"form-options":Q.value,"form-schema":K.value,"is-editing":e.editing,model:e.record,"on-form-change":z,"on-model-updated":A,"on-validity-change":P,schema:e.rawSchema,onGlobalAction:ae[0]||(ae[0]=(de,V)=>Z.$emit("globalAction",de,V))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Ue.AUTOFILL_SLOT_NAME),fn:t.withCtx(de=>[de.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(vo.VaultSecretPickerProvider),t.mergeProps({key:0},de,{onOpen:U}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):E.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Ue.sharedForms)[E.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":S,"form-options":Q.value,"form-schema":K.value,"is-editing":e.editing,"on-model-updated":A,"on-partial-toggled":O,"show-new-partial-modal":de=>Z.$emit("showNewPartialModal",de)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Ue.AUTOFILL_SLOT_NAME),fn:t.withCtx(de=>[de.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(vo.VaultSecretPickerProvider),t.mergeProps({key:0},de,{onOpen:U}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Ue.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:S,options:Q.value,schema:K.value,onModelUpdated:A,onPartialToggled:O,onRefreshModel:M,onShowNewPartialModal:ae[1]||(ae[1]=de=>Z.$emit("showNewPartialModal",de))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",hM,t.toDisplayString(t.unref(_)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(ue=t.unref(Lt)[S.name])!=null&&ue.fieldRules&&(a.config.isNewOtelSchema||S.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(kw,{rules:t.unref(Lt)[S.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Ue.AUTOFILL_SLOT_NAME),fn:t.withCtx(de=>[de.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(vo.VaultSecretPickerProvider),t.mergeProps({key:0},de,{onOpen:U}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(vo.VaultSecretPicker),{config:a.config,setup:I.value,onCancel:ae[2]||(ae[2]=()=>I.value=!1),onProceed:ee},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-3a5319dd"]]),_M={key:1},bM=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>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",_M,[t.renderSlot(n.$slots,"default")]))}}),wM={class:"kong-ui-entities-plugin-form-container"},kM={key:0},CM={class:"plugin-form-actions"},EM=Ie(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:""},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}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var re;const o=n,r=e,i=xo.useRouter(),{i18n:{t:a}}=Ge.useI18n(),{customSchemas:l,typedefs:s}=Ge.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=Ge.usePluginHelpers(),{getMessageFromError:u}=me.useErrors(),{capitalize:f}=me.useStringHelpers(),{objectsAreEqual:d}=me.useHelpers(),{axiosInstance:p}=me.useAxios((re=r.config)==null?void 0:re.axiosRequestConfig),m=t.ref(!1),y=t.computed(()=>!!r.pluginId),_=t.computed(()=>r.pluginId?me.EntityBaseFormType.Edit:me.EntityBaseFormType.Create),g=t.ref(void 0),h=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),N=t.ref({}),C=t.ref(),k=t.ref();t.provide(hd,{redisType:C,redisPath:k,isEditing:y.value});const E=t.ref(!1),v=t.reactive({enabled:!0,protocols:[],tags:[]}),$=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),K=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&K.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const j=t.ref(""),S=t.computed(()=>{var L;if(w.value){let B=We.form[r.config.app].credential[_.value];return B=B.replace(/{resourceEndpoint}/gi,U.value),B}let x;return r.config.entityType&&r.config.entityId?x=We.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):x=We.form[r.config.app].edit.all,r.config.app==="konnect"&&((L=Lt[r.pluginType])!=null&&L.useUIData)?`${x}?__ui_data=true`:x}),Q=()=>{m.value=!m.value},I=t.computed(()=>{var _e,be,le,xe,Ve,pe,fe,lt;const x=r.config.entityType==="consumers"&&r.config.entityId||((be=(_e=b.value)==null?void 0:_e.consumer)==null?void 0:be.id),L=r.config.entityType==="consumer_groups"&&r.config.entityId||((xe=(le=b.value)==null?void 0:le.consumer_group)==null?void 0:xe.id),B=r.config.entityType==="services"&&r.config.entityId||((pe=(Ve=b.value)==null?void 0:Ve.service)==null?void 0:pe.id),te=r.config.entityType==="routes"&&r.config.entityId||((lt=(fe=b.value)==null?void 0:fe.route)==null?void 0:lt.id);if(!(x||L||B||te))return{global:{entity:H.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const J={};return B&&(J.service={entity:H.PluginScope.SERVICE,entityEndpoint:"services",id:B,idField:wn.SERVICE}),te&&(J.route={entity:H.PluginScope.ROUTE,entityEndpoint:"routes",id:te,idField:wn.ROUTE}),x&&(J.consumer={entity:H.PluginScope.CONSUMER,entityEndpoint:"consumers",id:x,idField:wn.CONSUMER}),L&&(J.consumer_group={entity:H.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:L,idField:wn.CONSUMER_GROUP}),r.config.entityType&&(J.focusedEntity={entity:H.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:wn[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),J}),G=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||_.value===me.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("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:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),U=t.computed(()=>{var B;const x=r.developer?"developers":"consumers",L=((B=Xn[r.pluginType])==null?void 0:B.endpoint)||"/plugins";return`${x}/${r.config.entityId}${r.developer?"/credentials":""}${L}`}),ee=x=>{const L=Array.from(new Set(x.map(B=>typeof B)));return L.length>1?"string":L[0]},M=(x,L,B,te)=>{var le,xe;let J=L&&L.fields||[];const _e=l[r.pluginType],be=(xe=(le=Xn[r.pluginType])==null?void 0:le.schema)==null?void 0:xe.fields;return Array.isArray(J)&&(J=J.reduce((Ve,pe)=>{const fe=Object.keys(pe)[0];return fe.match(/-/g)?Ve[fe.replace(/-/g,"_")]={...pe[fe],fieldNameHasDashes:!0}:Ve[fe]=pe[fe],Ve},{})),Object.keys(J).sort().forEach(Ve=>{var ce,Ee,ye,ge,Se,Ae,$e;const pe=J[Ve];pe.type==="set"&&(pe.type="array");const fe=x?`${x}-${Ve}`:`${Ve}`;if((ce=_e==null?void 0:_e.fieldsToDelete)!=null&&ce.includes(fe)){zc(B,fe);return}if(Object.prototype.hasOwnProperty.call(pe,"overwrite")||pe.hidden)return;if(pe.type==="table")return M(fe,pe.schema,B);if(pe.fields)return te&&pe.type==="record"?(B[fe]={type:"object",model:Ve,schema:{fields:Object.values(M(fe,pe,{},!0))}},B):M(fe,pe,B);if(B[fe]={id:fe,model:Ve},B[fe].type=pe.type==="boolean"?"checkbox":"input",B[fe].required=pe.required,B[fe].referenceable=pe.referenceable,fe.startsWith("config-"))if(!te&&pe.type==="array"&&(j.value=fe),te&&j.value&&fe.startsWith(j.value)){const Ne=fe.slice(j.value.length+1);B[fe].label=Ne.split("-").map(c).join(".")}else B[fe].label=c(fe);if((x==="config"||x.startsWith("config-"))&&(Ee=J[Ve])!=null&&Ee.description&&(B[fe].help=wr.marked.parse(J[Ve].description,{mangle:!1,headerIds:!1})),pe.type==="map"){if(B[fe].type="object-advanced",B[fe].values=pe.values,pe.values.type==="array"){const{type:Ne}=pe.values.elements||{};B[fe].schema={fields:[{schema:{fields:[{...Fe,model:fe,valueArrayType:Ne==="integer"?"number":Ne||"string",inputAttributes:{...Fe.inputAttributes,type:Ne==="integer"?"number":"text",inputMode:Ne==="integer"?"numeric":"text"}}]}}]}}else pe.values.fields&&(B[fe].schema={fields:[{type:"object",model:"object",schema:{fields:pe.values.fields.map(Ne=>{const Me=Object.keys(Ne)[0];return{model:Me,type:"input",label:f(Me),placeholder:Me,inputType:Ne[Me].type}})}}]});return B}if(pe.enum&&pe.type==="array"&&(B[fe].type="checklist",B[fe].values=pe.enum,B[fe].multi=!0,B[fe].multiSelect=!0),pe.one_of&&pe.type!=="array"&&(B[fe].type="select",B[fe].values=pe.one_of,B[fe].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),pe.elements&&pe.type==="array"){const Ne=pe.elements;if(B[fe].referenceable=Ne.referenceable,B[fe].elements=Ne,["string","integer","number"].includes(Ne.type)&&!Ne.one_of){const{id:Me,help:De,label:we,hint:Te,values:Be,referenceable:gt,model:Ke}=B[fe],{inputAttributes:tt,...Zi}=JSON.parse(JSON.stringify(Fe));tt.type=Ne.type==="string"?"text":"number",B[fe]={id:Me,help:De,label:we,hint:Te,values:Be,referenceable:gt,model:Ke,inputAttributes:tt,...Zi}}}if(pe.hint&&(B[fe].hint=pe.hint),_e&&!_e.overwriteDefault&&Object.keys(_e).forEach(Ne=>{if(Ne===fe){const{help:Me,label:De,hint:we,values:Te,referenceable:Be,elements:gt}=B[fe],{help:Ke,...tt}=_e[Ne];B[fe]={help:Me,label:De,hint:we,values:Te,referenceable:Be,elements:gt,...tt},typeof Ke=="string"&&(B[fe].help=wr.marked.parse(Ke,{mangle:!1,headerIds:!1}))}}),pe.type==="array"&&((ye=pe.elements)==null?void 0:ye.type)==="record"&&Array.isArray(pe.elements.fields)){let Ne={};for(const De of pe.elements.fields)Ne={...Ne,...De};const Me=(Ae=(Se=(ge=B[fe])==null?void 0:ge.items)==null?void 0:Se.schema)==null?void 0:Ae.fields;if(Array.isArray(Me))for(const De of B[fe].items.schema.fields){const we=($e=Ne[De.model])==null?void 0:$e.description;De.help===void 0&&typeof we=="string"&&(De.help=wr.marked.parse(we,{mangle:!1,headerIds:!1}))}if(Me||(B[fe].type="array",B[fe].newElementButtonLabelClasses="kong-form-new-element-button-label",B[fe].fieldClasses="array-card-container-wrapper",B[fe].itemContainerComponent="FieldArrayCardContainer",B[fe].items={type:"object",schema:{fields:Object.values(M(fe,pe.elements,{},!0))}},B[fe].items.schema.fields.forEach(De=>{var we,Te;for(const Be of pe.elements.fields){const gt=Object.keys(Be)[0],Ke=((Te=(we=De.id)==null?void 0:we.split)==null?void 0:Te.call(we,"-"))??[];if(Ke[Ke.length-1]===gt){De.model=gt,De.label=c(gt);break}}}),pe.elements.type==="record"&&(B[fe].nestedFields=!0)),!B[fe].nestedFields)B[fe].items.default=()=>pe.elements.fields.reduce((De,we)=>{const Te=Object.keys(we)[0];return De[Te]=we[Te].default,De},{});else{const De=(we,Te)=>{if(we.type==="object"){we.model&&(Te[we.model]={});for(const Be of we.schema.fields)De(Be,we.model?Te[we.model]:Te)}else we.model&&(Te[we.model]=we.default)};B[fe].items.default=()=>{const we={};return De(B[fe].items,we),we}}}if(w.value&&be){for(let Ne=0;Ne<be.length;Ne++)if(be[Ne][fe]){B[fe]={...B[fe],...be[Ne][fe]};break}}if(pe.required&&pe.type!=="boolean"&&(B[fe].required=!0,B[fe].selectOptions={hideNoneSelectedText:!0}),pe.required&&pe.type==="boolean"&&(B[fe].default=pe.default??!1),pe.default!=null&&typeof pe.default!="object"&&pe.default!=="function"&&(B[fe].default=pe.default),B[fe].type==="input"){["string","number"].includes(typeof B[fe].default)&&r.config.app==="konnect"&&(B[fe].placeholder=`Default: ${B[fe].default===""?"<empty string>":B[fe].default}`);const{type:Ne}=pe.elements||{};Ne&&(B[fe].valueArrayType=Ne==="integer"?"number":Ne),B[fe].inputType=pe.type==="array"||pe.type==="string"?pe.encrypted?"password":"text":pe.type}let lt="string";pe.enum?lt=ee(pe.enum):pe.type==="boolean"?lt="boolean":pe.type==="number"||pe.type==="integer"?(lt="number",B[fe].inputType="number"):pe.type==="array"?(lt="array",B[fe].default=pe.default,pe.len_min>0&&(B[fe].submitWhenNull=!0)):pe.type==="foreign"?lt="object":pe.default&&Array.isArray(pe.default)?(lt="array",B[fe].valueArrayType=ee(pe.default)):pe.default&&(lt=typeof pe.default),B[fe].valueType=lt,pe.fieldNameHasDashes&&(B[fe].fieldNameHasDashes=!0)}),B},O=()=>{var fe,lt,ce,Ee,ye,ge,Se,Ae,$e,Ne,Me,De;const x=((fe=Lt[r.pluginType])==null?void 0:fe.scope.includes(H.PluginScope.SERVICE))??!0,L=((lt=Lt[r.pluginType])==null?void 0:lt.scope.includes(H.PluginScope.ROUTE))??!0,B=((ce=Lt[r.pluginType])==null?void 0:ce.scope.includes(H.PluginScope.CONSUMER))??!0,te=r.config.disableConsumerGroupScope?!1:((Ee=Lt[r.pluginType])==null?void 0:Ee.scope.includes(H.PluginScope.CONSUMER_GROUP))??!0,J=r.config.entityType==="consumers"&&!!r.config.entityId||!!((ge=(ye=b.value)==null?void 0:ye.consumer)!=null&&ge.id),_e=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((Ae=(Se=b.value)==null?void 0:Se.consumer_group)!=null&&Ae.id),be=r.config.entityType==="services"&&!!r.config.entityId||!!((Ne=($e=b.value)==null?void 0:$e.service)!=null&&Ne.id),le=r.config.entityType==="routes"&&!!r.config.entityId||!!((De=(Me=b.value)==null?void 0:Me.route)!=null&&De.id),xe=[],Ve=(we,Te,Be)=>we?a("plugins.form.disable_source_scope_change",{scope:Be}):Te?a("plugins.form.disable_data_retrieving",{scope:Be}):"",pe=we=>{var Te,Be;return((Be=(Te=r.scopedEntitiesPermissions)==null?void 0:Te[we])==null?void 0:Be.canRetrieve)===!1};if(x){const we=pe("service"),Te="services",Be=be&&r.disableScopeSelection;xe.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:Te,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Be||we,disabledTooltip:Ve(Be,we,Te)})}if(L){const we=pe("route"),Te="routes",Be=le&&r.disableScopeSelection;xe.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Be||we,disabledTooltip:Ve(Be,we,Te)})}if(B){const we=pe("consumer"),Te="consumers",Be=J&&r.disableScopeSelection;xe.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Be||we,disabledTooltip:Ve(Be,we,Te)})}if(te){const we=pe("consumer_group"),Te="consumer_groups",Be=_e&&r.disableScopeSelection;xe.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Be||we,disabledTooltip:Ve(Be,we,Te)})}if(xe.length){const we=[...x?["service"]:[],...L?["route"]:[],...B?["consumer"]:[],...te?["consumer_group"]:[]],Be=we.splice(we.length-2,2).map(Ke=>a(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(`${we.length>0?",":""} and/or `),gt=["Specific",[...we.length>0?[we.map(Ke=>a(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(", ")]:[],Be].join(", ")].join(" ");G.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:gt,fields:[]}),G.selectionGroup.fields[1].fields=xe}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(G,l[r.pluginType].formSchema)},A=t.computed(()=>!d($.fields,v,!0)),P=t.computed(()=>!X.value&&!E.value&&(_.value===me.EntityBaseFormType.Create||A.value)),T=t.ref(!1),Y=t.ref(),z=x=>{r.credential&&x.password&&(x.password=""),$.fields.id=(x==null?void 0:x.id)||void 0,Y.value=x==null?void 0:x.ordering,Object.assign(v,$.fields),b.value=x,T.value=!0},ne=t.ref({}),oe=x=>{var L;$.fields=x.model,$.fields.id=((L=b.value)==null?void 0:L.id)||void 0,Object.assign(v,x.originalModel),ne.value=x.data,r.isWizardStep&&o("model-updated",{model:$.fields,data:x.data,resourceEndpoint:U.value})},se=t.ref(new Map),he=t.computed(()=>[$.clientErrorMessage,$.serverErrorMessage].filter(Boolean).join("; ")),Z=x=>{x.valid?se.value.delete(x.model):se.value.set(x.model,x.error),$.clientErrorMessage=[...se.value.entries()].map(([L,B])=>`${L}: ${typeof B=="string"?B:u(B)}`).join("; "),$.clientErrorMessage&&($.serverErrorMessage="")};t.watch([I,T],(x,L)=>{const B=x[0]!==L[0],te=x[1],J=L[1];if(!w.value&&_.value===me.EntityBaseFormType.Edit&&(B||te&&te!==J)){const _e=M("config",N.value,G);ue.value&&(_e._isCustomPlugin=!0),C.value&&(_e._supported_redis_partial_type=C.value),h.value=_e}},{deep:!0});const ae=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},ie=t.computed(()=>{const x=r.config.entityType&&r.config.entityId&&!r.developer,L=w.value?We.form[r.config.app].credential[_.value]:We.form[r.config.app][_.value][x?"forEntity":"all"];let B=`${r.config.apiBaseUrl}${L}`;return r.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),B=B.replace(/{resourceEndpoint}/gi,U.value),B=B.replace(/{id}/gi,r.pluginId),B=B.replace(/{entityType}/gi,r.config.entityType||""),B=B.replace(/{entityId}/gi,r.config.entityId||""),B}),ue=t.computed(()=>!Object.keys(Lt).includes(r.pluginType)),de=t.computed(()=>{const x=ne.value;if(w.value){for(const L in H.PluginScope){const B=H.PluginScope[L];x[B]&&!x[B].id&&(x[B]={id:r.config.entityId})}delete x.created_at}return ne.value.partials&&k.value&&zc(x,k.value),x}),V=t.computed(()=>{const{__ui_data:x,...L}={...de.value};return L}),D=async()=>{if(!$.clientErrorMessage&&!r.isWizardStep)try{$.isReadonly=!0;let x;const L=JSON.parse(JSON.stringify(de.value)),B=l[r.pluginType];typeof(B==null?void 0:B.shamefullyTransformPayload)=="function"&&B.shamefullyTransformPayload({originalModel:v,model:$.fields,payload:L,schema:h.value}),_.value==="create"?x=await p.post(ie.value,L):_.value==="edit"&&(x=r.config.app==="konnect"||C.value&&L.partials?await p.put(ie.value,Object.assign({ordering:Y.value},L)):await p.patch(ie.value,L)),Object.assign(v,$.fields),o("update",x==null?void 0:x.data)}catch(x){$.serverErrorMessage=u(x),o("error",x)}finally{$.isReadonly=!1}},F=t.computed(()=>{var te;const x=w.value?(te=Xn[r.pluginType])==null?void 0:te.schemaEndpoint:r.pluginType,L=w.value?We.form[r.config.app].credentialSchema:We.form[r.config.app].pluginSchema;let B=`${r.config.apiBaseUrl}${L}`;return r.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),B=B.replace(/{plugin}/gi,x),B}),R=t.ref(""),X=t.ref(!1),q=t.ref("");return t.onBeforeMount(async()=>{var x,L,B,te;X.value=!0;try{if(w.value&&r.config.app==="konnect"){const J=(x=Xn[r.pluginType])==null?void 0:x.schemaEndpoint,_e=Cg[J];R.value=J,h.value=M("",_e,{}),X.value=!1}else{const J=r.schema??(await p.get(F.value)).data;if(g.value=J,J)if(w.value)h.value=M("",J,{}),X.value=!1;else{const _e=J.fields.find(le=>le.config);N.value=_e?_e.config:J,J.supported_partials&&(C.value=Object.keys(J.supported_partials).find(le=>[Cr.REDIS_CE,Cr.REDIS_EE].includes(le)),k.value=(L=J.supported_partials[C.value])==null?void 0:L[0]),O();const be=(B=J.fields.find(le=>le.protocols))==null?void 0:B.protocols;if(be){const{default:le=[],elements:xe={}}=be;G.protocols.default=le,G.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:le.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(te=xe.one_of)!=null&&te.length&&(G.protocols.values=xe.one_of.map(Ve=>({label:Ve,value:Ve})))}if(T.value||_.value===me.EntityBaseFormType.Create){const le=M("config",N.value,G);C.value&&(le._supported_redis_partial_type=C.value),ue.value&&(le._isCustomPlugin=!0),h.value=le}}}}catch(J){console.error(J),q.value=u(J),o("error:fetch-schema",J)}finally{X.value=!1}}),(x,L)=>{const B=t.resolveComponent("KSkeleton"),te=t.resolveComponent("KEmptyState"),J=t.resolveComponent("KButton"),_e=t.resolveComponent("KTabs"),be=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",wM,[X.value?(t.openBlock(),t.createBlock(B,{key:0,type:"form"})):q.value?(t.openBlock(),t.createBlock(te,{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(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(me.EntityBaseForm),{key:2,"can-submit":P.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(me.SupportedEntityType).Plugin,"error-message":he.value,"fetch-url":S.value,"form-fields":de.value,"is-readonly":$.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ae,"onFetch:error":L[4]||(L[4]=le=>x.$emit("error",le)),"onFetch:success":z,onLoading:L[5]||(L[5]=le=>x.$emit("loading",le))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",kM)):(t.openBlock(),t.createBlock(bM,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",CM,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(J,{key:0,appearance:"tertiary","data-testid":`plugin-${y.value?"edit":"create"}-form-view-configuration`,onClick:L[3]||(L[3]=le=>Q())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(J,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${y.value?"edit":"create"}-form-cancel`,disabled:$.isReadonly,onClick:ae},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(J,{appearance:"primary","data-testid":`plugin-${y.value?"edit":"create"}-form-submit`,disabled:!P.value||$.isReadonly,type:"submit",onClick:D},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:D},null,32),t.createVNode(yM,{config:e.config,credential:w.value,editing:_.value===t.unref(me.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":I.value,"raw-schema":g.value,record:b.value,schema:h.value,onGlobalAction:L[0]||(L[0]=(le,xe)=>x.$emit("globalAction",le,xe)),onLoading:L[1]||(L[1]=le=>E.value=le),onModelUpdated:oe,onShowNewPartialModal:L[2]||(L[2]=le=>x.$emit("showNewPartialModal",le)),onValidityChange:Z},null,8,["config","credential","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(a)("view_configuration.title"),visible:m.value,onClose:Q},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(_e,{"data-testid":"form-view-configuration-slideout-tabs",tabs:K.value},{json:t.withCtx(()=>[t.createVNode(t.unref(me.JsonCodeBlock),{config:e.config,"entity-record":V.value,"fetcher-url":ie.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(me.YamlCodeBlock),{"entity-record":V.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(me.TerraformCodeBlock),{"credential-type":R.value,"entity-record":V.value,"entity-type":t.unref(me.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-b9713619"]]),NM={class:"kong-ui-entities-plugins-list"},SM={class:"button-row"},xM={class:"name-cell-wrapper"},vM={class:"info-wrapper"},AM={key:0,class:"info-name"},IM={key:1,class:"info-name"},TM={key:2,class:"info-type"},PM={key:1},OM=Ie(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 R,X;const o=Ge.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=Ge.useI18n(),l=xo.useRouter(),{axiosInstance:s}=me.useAxios((R=i.config)==null?void 0:R.axiosRequestConfig),{hasRecords:c,handleStateChange:u}=me.useTableState(()=>b.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),d=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var q;return((q=i.config)==null?void 0:q.entityType)==="consumers"}),m=t.computed(()=>{var q;return((q=i.config)==null?void 0:q.entityType)==="consumer_groups"}),y=i.config.app==="konnect"||me.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),_=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),g={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(X=i.config)!=null&&X.entityId||(g.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},y&&(g.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const h=g,w=t.computed(()=>{var re,x,L,B;let q=i.config.entityType?`${i.config.apiBaseUrl}${We.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${We.list[i.config.app].all}`;return i.config.app==="konnect"?q=q.replace(/{controlPlaneId}/gi,((re=i.config)==null?void 0:re.controlPlaneId)||""):i.config.app==="kongManager"&&(q=q.replace(/\/{workspace}/gi,(x=i.config)!=null&&x.workspace?`/${i.config.workspace}`:"")),q.replace(/{entityType}/gi,((L=i.config)==null?void 0:L.entityType)||"").replace(/{entityId}/gi,((B=i.config)==null?void 0:B.entityId)||"")}),b=t.ref(""),N=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:g.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:{...g.enabled,label:a("search.filter.field.enabled")},name:g.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:C,fetcherState:k,fetcherCacheKey:E}=me.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),v=()=>{b.value=""},$=()=>{E.value++},K=t.ref(null),j=q=>{var x,L,B,te;const re=[];return((x=q.route)!=null&&x.id||q.route_id)&&re.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((L=q.service)!=null&&L.id||q.service_id)&&re.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((B=q.consumer)!=null&&B.id||q.consumer_id)&&re.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((te=q.consumer_group)!=null&&te.id||q.consumer_group_id)&&re.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),re.length?re:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},S=async(q,re)=>{var x;return q===null?!1:await((x=i.canRetrieveScopedEntity)==null?void 0:x.call(i,q,re.id))},Q=(q,re)=>{var L,B,te,J,_e;let x=null;switch(q){case"route":x=(L=re.route)==null?void 0:L.id;break;case"service":x=(B=re.service)==null?void 0:B.id;break;case"consumer":x=(te=re.consumer)==null?void 0:te.id;break;case"consumer_group":x=(J=re.consumer_group)==null?void 0:J.id;break}x&&((_e=i.config)!=null&&_e.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(q,x))},I=t.ref(!1),G=t.ref(null),U=t.computed(()=>{const q={action:"disable",id:"",name:""};if(G.value){const{enabled:re,id:x,name:L}=G.value;q.action=re?"disable":"enable",q.id=x,q.name=o.getDisplayName(L)||x}return q}),ee=q=>{I.value=!0,G.value=q},M=()=>{I.value=!1,G.value=null},O=async()=>{var L,B,te,J,_e,be,le,xe;if(!await((L=i.canEdit)==null?void 0:L.call(i,G.value))||!G.value)return;let re=`${i.config.apiBaseUrl}${(_e=We.item[i.config.app])==null?void 0:_e[(B=i.config)!=null&&B.entityType?"forEntity":"all"].replace(/{entityType}/gi,((te=i.config)==null?void 0:te.entityType)||"").replace(/{entityId}/gi,((J=i.config)==null?void 0:J.entityId)||"")}`.replace(/{id}/gi,G.value.id||"");i.config.app==="konnect"?re=re.replace(/{controlPlaneId}/gi,((be=i.config)==null?void 0:be.controlPlaneId)||""):i.config.app==="kongManager"&&(re=re.replace(/\/{workspace}/gi,(le=i.config)!=null&&le.workspace?`/${i.config.workspace}`:""));const x=!G.value.enabled;try{const{data:Ve}=((xe=i.config)==null?void 0:xe.app)==="konnect"?await s.put(re,{...G.value,enabled:x},{timeout:12e4}):await s.patch(re,{...G.value,enabled:x},{timeout:12e4});r("toggle-enabled",x,Ve),G.value.enabled=x}catch(Ve){r("error",Ve)}},A=async(q,re)=>{const x=q.id;if(!await re(x)){r("copy:error",{entity:q,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:q,field:"id",message:a("copy.success",{val:x})})},P=async(q,re)=>{const x=JSON.stringify(q);if(!await re(x)){r("copy:error",{entity:q,message:a("errors.copy")});return}r("copy:success",{entity:q,message:a("copy.success_brief")})},T=async q=>{var x;await((x=i.canRetrieve)==null?void 0:x.call(i,q))&&l.push(i.config.getViewRoute(q))},Y=q=>({label:a("actions.view"),to:i.config.getViewRoute(q)}),z=q=>({label:a("actions.edit"),to:i.config.getEditRoute(q)}),ne=q=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(q)}),oe=t.ref(void 0),se=t.ref(!1),he=t.ref(!1),Z=t.ref(""),ae=me.useDeleteUrlBuilder(i.config,w.value),ie=q=>{oe.value=q,se.value=!0},ue=()=>{se.value=!1},de=async()=>{var q,re,x;if((q=oe.value)!=null&&q.id){he.value=!0;try{await s.delete(ae(oe.value.id)),he.value=!1,se.value=!1,E.value++,r("delete:success",oe.value)}catch(L){Z.value=((x=(re=L.response)==null?void 0:re.data)==null?void 0:x.message)||L.message||a("errors.delete"),r("error",L)}finally{he.value=!1}}},V=()=>{l.push(i.config.createRoute)};t.watch(k,q=>{var re,x,L;if(q.status===me.FetcherStatus.Error){K.value={title:a("errors.general")},(L=(x=(re=q.error)==null?void 0:re.response)==null?void 0:x.data)!=null&&L.message&&(K.value.message=q.error.response.data.message),r("error",q.error);return}K.value=null});const D=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")}),F=t.ref(!1);return t.onBeforeMount(async()=>{F.value=await i.canCreate(),F.value&&(D.value.title=a("plugins.list.empty_state.title"),D.value.ctaText=a("actions.create"))}),(q,re)=>{const x=t.resolveComponent("KButton"),L=t.resolveComponent("KEmptyState"),B=t.resolveComponent("KBadge"),te=t.resolveComponent("KTruncate"),J=t.resolveComponent("KInputSwitch"),_e=t.resolveComponent("KDropdownItem"),be=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",NM,[t.createVNode(t.unref(me.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":_.value,"empty-state-options":D.value,"enable-entity-actions":"","error-message":K.value,fetcher:t.unref(C),"fetcher-cache-key":t.unref(E),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(h),title:e.title,"title-tag":e.titleTag,onClearSearchInput:v,"onClick:row":re[4]||(re[4]=le=>T(le)),onSort:$,onState:t.unref(u)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(me.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":re[0]||(re[0]=le=>b.value=le),config:N.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",SM,[!d.value&&f.value?(t.openBlock(),t.createBlock(x,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:re[1]||(re[1]=le=>q.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(x,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.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:le})=>[t.createElementVNode("div",xM,[t.createVNode(t.unref(Ao.PluginIcon),{class:"plugin-icon",name:le.name,size:24},null,8,["name"]),t.createElementVNode("div",vM,[le.instance_name?(t.openBlock(),t.createElementBlock("span",AM,t.toDisplayString(le.instance_name),1)):(t.openBlock(),t.createElementBlock("span",IM,t.toDisplayString(t.unref(o).getDisplayName(le.name)),1)),le.instance_name?(t.openBlock(),t.createElementBlock("span",TM,t.toDisplayString(t.unref(o).getDisplayName(le.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:le})=>[j(le).length>0?(t.openBlock(),t.createBlock(te,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(j(le),xe=>(t.openBlock(),t.createBlock(t.unref(me.PermissionsWrapper),{key:xe.badgeText,"auth-function":()=>S(xe.type,le),"force-show":""},{default:t.withCtx(({isAllowed:Ve})=>[t.createVNode(B,{class:t.normalizeClass(Ve||"disabled"),onClick:t.withModifiers(pe=>Ve&&xe.type&&Q(xe.type,le),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(xe.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",PM,"-"))]),enabled:t.withCtx(({row:le})=>[t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(le)&&await e.canToggle(le)),"force-show":""},{default:t.withCtx(({isAllowed:xe})=>{var Ve,pe;return[t.createElementVNode("div",{onClick:re[3]||(re[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(J,{disabled:!xe,"disabled-tooltip-text":!xe&&((pe=(Ve=e.config).getToggleDisabledTooltip)==null?void 0:pe.call(Ve,le))||void 0,"model-value":le.enabled,onClick:t.withModifiers(fe=>xe&&ee(le),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:le})=>[t.createVNode(B,{appearance:t.unref(jc)(le)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(jc)(le)?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:le})=>[t.createVNode(t.unref(me.TableTags),{tags:le},null,8,["tags"])]),actions:t.withCtx(({row:le})=>[t.createVNode(be,null,{default:t.withCtx(({copyToClipboard:xe})=>[t.createVNode(_e,{"data-testid":"action-entity-copy-id",onClick:Ve=>A(le,xe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(be,null,{default:t.withCtx(({copyToClipboard:xe})=>[t.createVNode(_e,{"data-testid":"action-entity-copy-json",onClick:Ve=>P(le,xe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(le)},{default:t.withCtx(()=>[t.createVNode(_e,{"data-testid":"action-entity-view","has-divider":"",item:Y(le)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":()=>e.canEdit(le)},{default:t.withCtx(()=>[t.createVNode(_e,{"data-testid":"action-entity-edit",item:z(le)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(y)?(t.openBlock(),t.createBlock(t.unref(me.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(le)},{default:t.withCtx(()=>[ne(le)?(t.openBlock(),t.createBlock(_e,{key:0,"data-testid":"action-entity-config-dyn-order",item:ne(le)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":()=>e.canDelete(le)},{default:t.withCtx(()=>[t.createVNode(_e,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:xe=>ie(le)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var le;return[t.createVNode(L,{"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(ve.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[F.value?(t.openBlock(),t.createBlock(x,{key:0,"data-testid":"entity-create-button",onClick:V},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(x,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:re[2]||(re[2]=xe=>q.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(le=e.config)!=null&&le.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(me.EntityToggleModal),{action:U.value.action,"entity-id":U.value.id,"entity-name":U.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":O,visible:I.value,onCancel:M,onProceed:M},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(me.EntityDeleteModal),{"action-pending":he.value,description:t.unref(a)("delete.description"),"entity-name":oe.value&&(oe.value.instance_name||oe.value.name||oe.value.id),"entity-type":t.unref(me.EntityTypes).Plugin,error:Z.value,title:t.unref(a)("delete.title"),visible:se.value,onCancel:ue,onProceed:de},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-582a936c"]]),$M={class:"plugin-select-card-wrapper"},BM=["data-testid"],VM={class:"plugin-card-header"},RM={class:"plugin-card-title"},DM={key:0,class:"plugin-card-actions"},MM=["data-testid","title"],LM={key:0,class:"plugin-card-text"},FM={key:0},UM=["title"],ws=Ie(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 o=n,r=e,i=xo.useRouter(),{i18n:{t:a}}=Ge.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!p.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),u=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},f=()=>{r.navigateOnClick?u():d()},d=()=>{o("plugin-clicked",r.plugin)},p=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===H.PluginGroup.CUSTOM_PLUGINS),y=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},_=(h,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(h,w))},g=()=>{if(!s.value&&r.config.app==="konnect"){const h=r.config;p.value&&h.createCustomRoute?i.push(h.createCustomRoute):m.value&&u()}};return(h,w)=>{const b=t.resolveComponent("KButton"),N=t.resolveComponent("KDropdownItem"),C=t.resolveComponent("KDropdownMenu"),k=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",$M,[t.createVNode(k,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=E=>s.value||m.value?void 0:f())},[t.createElementVNode("div",VM,[t.createElementVNode("div",RM,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",DM,[t.createVNode(C,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{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(ve.MoreIcon),{size:t.unref(md)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(N,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(E=>_(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(N,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(y,["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":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(Ao.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!p.value?(t.openBlock(),t.createElementBlock("div",LM,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",FM,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):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,UM)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,MM),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(p.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,BM)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),KM=Ie(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 y;const o=e,r=n,{i18nT:i,i18n:{t:a}}=Ge.useI18n(),{getMessageFromError:l}=me.useErrors(),{axiosInstance:s}=me.useAxios((y=o.config)==null?void 0:y.axiosRequestConfig),c=t.computed(()=>{var _;return d.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((_=o.plugin)==null?void 0:_.name)||a("delete.custom_plugin")})}),u=t.ref(!1),f=t.ref(""),d=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const _=o.plugin.customPluginType==="streaming"?We.select[o.config.app].streamingCustomPluginItem:We.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${_}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var _,g,h,w;if(u.value=!0,f.value="",!(!((_=o.plugin)!=null&&_.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),r("proceed")}catch(b){const{response:N}=b;(N==null?void 0:N.status)===400&&((w=(h=N.data)==null?void 0:h.message)!=null&&w.includes("plugin schema is currently in use"))?d.value=!0:f.value=l(b)}finally{u.value=!1}};return(_,g)=>{const h=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!d.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(me.EntityDeleteModal),{key:0,"action-pending":u.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(me.EntityTypes).Plugin,error:f.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=b=>_.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":u.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=b=>_.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(h,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=b=>_.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),jM={class:"custom-plugins-grid"},GM={class:"empty-state-title"},qM={class:"empty-state-description"},ks=310,zM=Ie(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 o=e,r=n,{i18n:{t:i}}=Ge.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=Ge.usePluginHelpers(),s=t.ref(!0),c=C=>{r("plugin-clicked",C)},u=t.computed(()=>{if(o.config.app==="kongManager")return[];const C=JSON.parse(JSON.stringify(o.pluginList))[H.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:H.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(C):C}),f=t.ref(!1),d=t.ref(null),p=C=>{f.value=!0,d.value={id:C.id,name:C.name,customPluginType:C.customPluginType}},m=C=>{var k;C&&(r("revalidate"),r("delete:success",((k=d.value)==null?void 0:k.name)||"")),f.value=!1,d.value=null},y=t.ref(ks),_=t.ref(null),g=t.ref(null),h=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${y.value}px`}:{}),w=t.ref(!1),b=()=>{y.value=Math.max(a(g.value),ks),N()},N=()=>{var C,k;(C=g.value)!=null&&C.length&&(w.value=l(_.value,(k=g.value)==null?void 0:k.length))};return t.onMounted(async()=>{await t.nextTick(),y.value=Math.max(a(g.value),ks),N(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(C,k)=>{const E=t.resolveComponent("KEmptyState"),v=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",jM,[u.value.length?(t.openBlock(),t.createBlock(v,{key:1,modelValue:s.value,"onUpdate:modelValue":k[0]||(k[0]=$=>s.value=$),class:"custom-plugins-collapse","data-testid":`${t.unref(H.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(H.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.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:_,class:"plugin-card-container",style:t.normalizeStyle(h.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,($,K)=>(t.openBlock(),t.createBlock(ws,{key:`plugin-card-${K}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:$,onCustomPluginDelete:j=>p($),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[k[2]||(k[2]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(E,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",GM,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",qM,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&d.value?(t.openBlock(),t.createBlock(KM,{key:2,config:e.config,plugin:d.value,onClosed:m,onProceed:k[1]||(k[1]=$=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Cs=310,og=Ie(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}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=Ge.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Ge.usePluginHelpers(),c=t.ref(Cs),u=t.ref(null),f=t.ref(null),d=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(f.value),Cs),y()},y=()=>{var _,g;(_=f.value)!=null&&_.length&&(p.value=s(u.value,(g=f.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(f.value),Cs),y(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(_,g)=>{const h=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(h,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.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(r.plugins,w=>(t.openBlock(),t.createBlock(ws,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[g[1]||(g[1]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),HM={class:"plugin-select-grid"},YM={class:"empty-state-title"},WM={class:"empty-state-description"},Es=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},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ge.useI18n(),a=t.ref(!1),l=t.ref(As),s=u=>{r("plugin-clicked",u)},c=t.computed(()=>{const u=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete u[H.PluginGroup.CUSTOM_PLUGINS],u});return(u,f)=>{const d=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",HM,[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",YM,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",WM,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(og,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=p=>a.value=p),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:f[1]||(f[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(vs),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(og,{modelValue:l.value[p],"onUpdate:modelValue":m=>l.value[p]=m,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],onPluginClicked:f[2]||(f[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),XM={class:"kong-ui-entities-plugin-select-form"},ZM={class:"plugins-filter-input-container"},JM={key:0},QM={key:3,"aria-live":"polite",class:"plugins-results-container"},e2={"data-testid":"kong-tab"},t2={class:"tab-description"},n2={"data-testid":"custom-tab"},o2={class:"tab-description"},r2=Ie(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,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 A;const o=e,r=n,i=xo.useRoute(),a=xo.useRouter(),{i18n:{t:l}}=Ge.useI18n(),{pluginMetaData:s}=Ge.usePluginMetaData(),{getMessageFromError:c}=me.useErrors(),{sortAlpha:u,objectsAreEqual:f}=me.useHelpers(),d=t.ref(""),p=t.ref(!0),m=t.ref(!1),y=t.ref(""),_=t.ref([]),g=t.ref([]),h=t.ref({}),w=t.ref([]),{axiosInstance:b}=me.useAxios((A=o.config)==null?void 0:A.axiosRequestConfig),N=t.computed(()=>h.value?Object.entries(h.value).filter(([P])=>P!==H.PluginGroup.CUSTOM_PLUGINS).reduce((P,[,T])=>{for(const Y of T)P[Y.id]=Y;return P},{}):{}),C=t.computed(()=>{var Y;if(!h.value)return{};const P=d.value.toLowerCase(),T=JSON.parse(JSON.stringify(h.value));for(const z in h.value){const ne=((Y=h.value[z])==null?void 0:Y.filter(oe=>oe.name.toLowerCase().includes(P)||oe.id.toLowerCase().includes(P)||oe.group.toLowerCase().includes(P)))||[];ne.length?T[z]=ne:delete T[z]}return T}),k=t.computed(()=>o.highlightedPluginIds.reduce((P,T)=>{const Y=N.value[T];return Y&&P.push(Y),P},[])),E=t.computed(()=>Object.keys(C.value).length>0),v=t.computed(()=>Object.keys(h.value).length>0&&!E.value),$=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),K=t.computed(()=>{var T;let P=$.value.length&&((i==null?void 0:i.hash)||((T=$.value[0])==null?void 0:T.hash))||"";return P==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(P="#kong"),P}),j=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),..._.value])].filter(P=>!o.ignoredPlugins.includes(P)).filter(P=>o.config.entityType&&(o.config.entityType==="services"&&s[P]&&!s[P].scope.includes(H.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[P]&&!s[P].scope.includes(H.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[P]&&!s[P].scope.includes(H.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[P]&&!s[P].scope.includes(H.PluginScope.CONSUMER))?!1:P).reduce((P,T)=>{var se;const Y=s[T]&&s[T].name||T,z={...s[T],id:T,name:Y,available:_.value.includes(T),disabledMessage:"",group:((se=s[T])==null?void 0:se.group)||H.PluginGroup.CUSTOM_PLUGINS};z.group===H.PluginGroup.CUSTOM_PLUGINS&&(z.customPluginType=g.value.find(he=>he.name===T)?"streaming":"schema"),o.disabledPlugins&&(z.disabledMessage=o.disabledPlugins[T]);const ne=z.group||l("plugins.select.misc_plugins");let oe=P[ne];return oe||(oe=[]),oe.push(z),oe.sort(u("name")),P[ne]=oe,P},{}),S=t.computed(()=>{var T;let P=`${o.config.apiBaseUrl}${We.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(P=((T=o.config.gatewayInfo)==null?void 0:T.edition)==="community"?`${o.config.apiBaseUrl}${We.select[o.config.app].availablePluginsForOss}`:P.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),P}),Q=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let P=`${o.config.apiBaseUrl}${We.select[o.config.app].streamingCustomPlugins}`;return P=P.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),P}return null}),I=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let P=`${o.config.apiBaseUrl}${We.list[o.config.app].forEntity}`;return o.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),P.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),G=P=>{a.replace({hash:P,query:i.query})};t.watch(()=>o.disabledPlugins,(P,T)=>{!f(P,T)&&!p.value&&(h.value=j())}),t.watch(()=>o.ignoredPlugins,(P,T)=>{!f(P,T)&&!p.value&&(h.value=j())}),t.watch(p,P=>{r("loading",P)});const U=t.ref(!1),ee=t.ref(!1),M=t.ref(!1);t.onBeforeMount(async()=>{U.value=await o.canCreateCustomPlugin(),ee.value=await o.canEditCustomPlugin(),M.value=await o.canDeleteCustomPlugin()});const O=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var P,T;(T=(P=O.value)==null?void 0:P.input)==null||T.focus();try{const{data:Y}=await b.get(S.value);if(o.config.app==="konnect"){const{names:z}=Y;if(_.value=z||[],Q.value){const{data:ne}=await b.get(Q.value);g.value=ne.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:z}}=Y;_.value=z?Object.keys(z):[]}}catch(Y){m.value=!0,y.value=c(Y)}if(I.value)try{const{data:{data:Y}}=await b.get(I.value);if(Y!=null&&Y.length){const z=Y.reduce((ne,oe)=>(oe.name&&ne.push(oe.name),ne),[]);w.value=w.value.concat(z)}}catch{}m.value||(h.value=j()),p.value=!1}),(P,T)=>{const Y=t.resolveComponent("KInput"),z=t.resolveComponent("KSkeletonBox"),ne=t.resolveComponent("KSkeleton"),oe=t.resolveComponent("KEmptyState"),se=t.resolveComponent("KTooltip"),he=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",XM,[t.createElementVNode("div",ZM,[t.createVNode(Y,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":T[0]||(T[0]=Z=>d.value=Z),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",JM,[t.createVNode(z,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(ne,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(oe,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(y.value),1)]),_:1})):v.value&&d.value?(t.openBlock(),t.createBlock(oe,{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(l)("search.no_results",{filter:d.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",QM,[$.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(he,{key:0,modelValue:K.value,"onUpdate:modelValue":T[5]||(T[5]=Z=>K.value=Z),"data-testid":"plugins-tabs",tabs:$.value,onChange:G},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",e2,[t.createElementVNode("p",t2,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Es,{config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":C.value,onPluginClicked:T[1]||(T[1]=Z=>P.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",n2,[t.renderSlot(P.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",o2,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(zM,{"can-create-custom-plugin":U.value,"can-delete-custom-plugin":M.value,"can-edit-custom-plugin":ee.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":C.value,"onDelete:success":T[2]||(T[2]=Z=>P.$emit("delete-custom:success",Z)),onPluginClicked:T[3]||(T[3]=Z=>P.$emit("plugin-clicked",Z)),onRevalidate:T[4]||(T[4]=()=>h.value=j())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(se,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Es,{key:1,config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":C.value,onPluginClicked:T[6]||(T[6]=Z=>P.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-7b1adaaa"]]),i2={class:"datakit-config-card-canvas"},a2={class:"config-card-details-label","data-testid":"datakit-configuration-label"},l2={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},s2={class:"canvas-wrapper"},c2=Ie(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{}},setup(e){return Lu(e.pluginData),(n,o)=>{const r=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",i2,[t.createElementVNode("div",a2,[t.createVNode(r,null,{default:t.withCtx(()=>o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])),_:1,__:[0]})]),t.createElementVNode("div",l2,[t.createElementVNode("div",s2,[t.createVNode(gs,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])}}}),[["__scopeId","data-v-591ec060"]]),d2={class:"kong-ui-entity-plugin-config-card"},u2={class:"name-cell-wrapper"},f2={class:"info-name"},p2={key:0},m2={key:0},g2={key:0},h2={key:0},y2={key:0},Ns="config",_2=Ie(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:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var k;const o=n,r=e,{i18n:{t:i}}=Ge.useI18n(),a=Ge.usePluginMetaData(),{setFieldType:l}=Ge.usePluginHelpers(),{getPropValue:s}=me.useHelpers(),c=t.computed(()=>r.config.app==="konnect"),u=t.computed(()=>c.value&&r.config.pluginType==="datakit"),f=t.computed(()=>{var v;let E=(v=We.item[r.config.app])==null?void 0:v[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(c.value){const $=r.expandPartial?"&":"?";E=E.concat(`${$}__ui_data=true`)}return E}),d=t.computed(()=>{var $,K;const E={},v=(($=b.value)==null?void 0:$.fields)||[];for(let j=0;j<v.length;j++){const S=b.value.fields[j],Q=(K=Object.keys(S))==null?void 0:K[0];l(E,Q,S[Q])}return{...E,instance_name:{section:me.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:me.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:me.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:me.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:me.ConfigurationSchemaSection.Basic,order:6},protocols:{type:me.ConfigurationSchemaType.BadgeTag,section:me.ConfigurationSchemaSection.Basic,order:7}}}),p=t.computed(()=>{var v,$,K;if(!((v=b.value)!=null&&v.fields))return[];const E=($=b.value.fields)==null?void 0:$.find(j=>{var Q;return((Q=Object.keys(j))==null?void 0:Q[0])===Ns});return((K=E==null?void 0:E[Ns])==null?void 0:K.fields)||[]}),m=t.computed(()=>{var v,$;const E={};if(!p.value)return E;for(let K=0;K<((v=p.value)==null?void 0:v.length);K++){const j=p.value[K],S=($=Object.keys(j))==null?void 0:$[0],Q=j[S];Q.required&&(E[S]={order:1}),l(E,S,Q)}return E}),y=E=>{var $;const v=($=a.pluginMetaData[r.config.pluginType])==null?void 0:$.scope;return v?Object.fromEntries(Object.entries(E).filter(([K,j])=>j?!0:!(K==="service"&&!v.includes(H.PluginScope.SERVICE)||K==="route"&&!v.includes(H.PluginScope.ROUTE)||K==="consumer"&&!v.includes(H.PluginScope.CONSUMER)||K==="consumer_group"&&!v.includes(H.PluginScope.CONSUMER_GROUP)))):E},_=E=>Mo(E,"__ui_data"),{getMessageFromError:g}=me.useErrors(),{axiosInstance:h}=me.useAxios((k=r.config)==null?void 0:k.axiosRequestConfig),w=t.computed(()=>{var v,$;let E=`${r.config.apiBaseUrl}${We.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?E=E.replace(/{controlPlaneId}/gi,((v=r.config)==null?void 0:v.controlPlaneId)||""):r.config.app==="kongManager"&&(E=E.replace(/\/{workspace}/gi,($=r.config)!=null&&$.workspace?`/${r.config.workspace}`:"")),E=E.replace(/{plugin}/gi,r.config.pluginType),E}),b=t.ref({});me.useSchemaProvider(b);const N=t.ref(!1),C=t.ref("");return t.onBeforeMount(async()=>{N.value=!0;try{const{data:E}=await h.get(w.value);b.value=E}catch(E){C.value=g(E),o("error:fetch-schema",E)}finally{N.value=!1}}),(E,v)=>{const $=t.resolveComponent("KSkeleton"),K=t.resolveComponent("KEmptyState"),j=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",d2,[N.value?(t.openBlock(),t.createBlock($,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):C.value?(t.openBlock(),t.createBlock(K,{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(me.EntityBaseConfigCard),{key:2,"code-block-record-formatter":_,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"entity-type":t.unref(me.SupportedEntityType).Plugin,"fetch-url":f.value,"hide-title":e.hideTitle,"plugin-config-key":Ns,"plugin-config-schema":m.value,"record-resolver":y,"onFetch:error":v[0]||(v[0]=S=>E.$emit("fetch:error",S)),"onFetch:success":v[1]||(v[1]=S=>E.$emit("fetch:success",S)),onLoading:v[2]||(v[2]=S=>E.$emit("loading",S))},t.createSlots({name:t.withCtx(S=>[t.createElementVNode("div",u2,[t.createVNode(t.unref(Ao.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",S),size:24},null,8,["name"]),t.createElementVNode("span",f2,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",S))),1)])]),consumer:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(s)("rowValue",S).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",p2,"–"))]),route:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(s)("rowValue",S).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",m2,"–"))]),service:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(s)("rowValue",S).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",g2,"–"))]),consumer_group:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(s)("rowValue",S).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",h2,"–"))]),partials:t.withCtx(S=>{var Q,I,G,U,ee,M,O,A,P;return[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:(I=(Q=t.unref(s)("rowValue",S))==null?void 0:Q[0])==null?void 0:I.id,value:((U=(G=t.unref(s)("rowValue",S))==null?void 0:G[0])==null?void 0:U.id)+((M=(ee=t.unref(s)("rowValue",S))==null?void 0:ee[0])!=null&&M.name?"/"+((A=(O=t.unref(s)("rowValue",S))==null?void 0:O[0])==null?void 0:A.name):""),type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var T,Y;return E.$emit("navigation-click",(Y=(T=t.unref(s)("rowValue",S))==null?void 0:T[0])==null?void 0:Y.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"partial-copy-uuid",text:(P=t.unref(s)("rowValue",S))==null?void 0:P[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",y2,"–"))]}),_:2},[u.value?{name:"config-card-item-nodes",fn:t.withCtx(S=>[t.createVNode(c2,{"plugin-data":S.record},null,8,["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-a5302acb"]]),{usePluginMetaData:b2,useProvideExperimentalFreeForms:w2}=Ge;Object.defineProperty(Pe,"PluginGroup",{enumerable:!0,get:()=>H.PluginGroup}),Object.defineProperty(Pe,"PluginScope",{enumerable:!0,get:()=>H.PluginScope}),Object.defineProperty(Pe,"PluginIcon",{enumerable:!0,get:()=>Ao.PluginIcon}),Object.defineProperty(Pe,"getPluginIconURL",{enumerable:!0,get:()=>Ao.getPluginIconURL}),Pe.EXPERIMENTAL_FREE_FORM_PROVIDER=va,Pe.EntityTypeIdField=wn,Pe.FEATURE_FLAGS=eo,Pe.PLUGIN_GROUPS_COLLAPSE_STATUS=As,Pe.PluginConfigCard=_2,Pe.PluginForm=EM,Pe.PluginGroupArray=vs,Pe.PluginList=OM,Pe.PluginPartialType=Cr,Pe.PluginSelect=r2,Pe.PluginSelectCard=ws,Pe.PluginSelectGrid=Es,Pe.TOASTER_PROVIDER=Hc,Pe.pluginEndpoints=We,Pe.usePluginMetaData=b2,Pe.useProvideExperimentalFreeForms=w2,Object.defineProperty(Pe,Symbol.toStringTag,{value:"Module"})});
|
|
144
|
+
Edge: ${e}`,USEVUEFLOW_OPTIONS:()=>"The options parameter is deprecated and will be removed in the next major version. Please use the id parameter instead"};class at extends Error{constructor(n,...o){var r;super((r=lp[n])==null?void 0:r.call(lp,...o)),this.name="VueFlowError",this.code=n,this.args=o}}function Kl(e){return"clientX"in e}function $A(e){return"sourceEvent"in e}function zt(e,n){const o=Kl(e);let r,i;return o?(r=e.clientX,i=e.clientY):"touches"in e&&e.touches.length>0?(r=e.touches[0].clientX,i=e.touches[0].clientY):"changedTouches"in e&&e.changedTouches.length>0?(r=e.changedTouches[0].clientX,i=e.changedTouches[0].clientY):(r=0,i=0),{x:r-((n==null?void 0:n.left)??0),y:i-((n==null?void 0:n.top)??0)}}const Ai=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function BA(e){var n,o;return{width:((n=e.dimensions)==null?void 0:n.width)??e.width??0,height:((o=e.dimensions)==null?void 0:o.height)??e.height??0}}function Ii(e,n=[1,1]){return{x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}}const VA=()=>!0;function jl(e){e==null||e.classList.remove("valid","connecting","vue-flow__handle-valid","vue-flow__handle-connecting")}function RA(e,n,o){const r=[],i={x:e.x-o,y:e.y-o,width:o*2,height:o*2};for(const a of n.values())Si(i,Ni(a))>0&&r.push(a);return r}const DA=250;function MA(e,n,o,r){var i,a;let l=[],s=Number.POSITIVE_INFINITY;const c=RA(e,o,n+DA);for(const u of c){const f=[...((i=u.handleBounds)==null?void 0:i.source)??[],...((a=u.handleBounds)==null?void 0:a.target)??[]];for(const d of f){if(r.nodeId===d.nodeId&&r.type===d.type&&r.id===d.id)continue;const{x:p,y:m}=Co(u,d,d.position,!0),y=Math.sqrt((p-e.x)**2+(m-e.y)**2);y>n||(y<s?(l=[{...d,x:p,y:m}],s=y):y===s&&l.push({...d,x:p,y:m}))}}if(!l.length)return null;if(l.length>1){const u=r.type==="source"?"target":"source";return l.find(f=>f.type===u)??l[0]}return l[0]}function sp(e,{handle:n,connectionMode:o,fromNodeId:r,fromHandleId:i,fromType:a,doc:l,lib:s,flowId:c,isValidConnection:u=VA},f,d,p){const m=a==="target",y=n?l.querySelector(`.${s}-flow__handle[data-id="${c}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:_,y:g}=zt(e),h=l.elementFromPoint(_,g),w=h!=null&&h.classList.contains(`${s}-flow__handle`)?h:y,b={handleDomNode:w,isValid:!1,connection:null,toHandle:null};if(w){const N=cp(void 0,w),C=w.getAttribute("data-nodeid"),k=w.getAttribute("data-handleid"),E=w.classList.contains("connectable"),v=w.classList.contains("connectableend");if(!C||!N)return b;const $={source:m?C:r,sourceHandle:m?k:i,target:m?r:C,targetHandle:m?i:k};b.connection=$;const j=E&&v&&(o===mn.Strict?m&&N==="source"||!m&&N==="target":C!==r||k!==i);b.isValid=j&&u($,{nodes:d,edges:f,sourceNode:p(r),targetNode:p(C)}),b.toHandle=n}return b}function cp(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function LA(e,n){let o=null;return n?o="valid":e&&!n&&(o="invalid"),o}function FA(e,n){let o=null;return n?o=!0:e&&!n&&(o=!1),o}function UA(e,n,o,r,i,a=!1){var l,s,c;const u=r.get(e);if(!u)return null;const f=i===mn.Strict?(l=u.handleBounds)==null?void 0:l[n]:[...((s=u.handleBounds)==null?void 0:s.source)??[],...((c=u.handleBounds)==null?void 0:c.target)??[]],d=(o?f==null?void 0:f.find(p=>p.id===o):f==null?void 0:f[0])??null;return d&&a?{...d,...Co(u,d,d.position,!0)}:d}const Gl={[Ce.Left]:Ce.Right,[Ce.Right]:Ce.Left,[Ce.Top]:Ce.Bottom,[Ce.Bottom]:Ce.Top},KA=["production","prod"];function Ti(e,...n){dp()&&console.warn(`[Vue Flow]: ${e}`,...n)}function dp(){return!KA.includes(process.env.NODE_ENV||"")}function up(e,n,o,r,i){const a=n.querySelectorAll(`.vue-flow__handle.${e}`);return a!=null&&a.length?Array.from(a).map(l=>{const s=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:i,position:l.getAttribute("data-handlepos"),x:(s.left-o.left)/r,y:(s.top-o.top)/r,...xi(l)}}):null}function ql(e,n,o,r,i,a=!1,l){i.value=!1,e.selected?(a||e.selected&&n)&&(r([e]),t.nextTick(()=>{l.blur()})):o([e])}function Qe(e){return typeof t.unref(e)<"u"}function jA(e,n,o,r){if(!e||!e.source||!e.target)return o(new at(Je.EDGE_INVALID,(e==null?void 0:e.id)??"[ID UNKNOWN]")),!1;let i;return gn(e)?i=e:i={...e,id:qf(e)},i=jf(i,void 0,r),EA(i,n)?!1:i}function GA(e,n,o,r,i){if(!n.source||!n.target)return i(new at(Je.EDGE_INVALID,e.id)),!1;if(!o)return i(new at(Je.EDGE_NOT_FOUND,e.id)),!1;const{id:a,...l}=e;return{...l,id:r?qf(n):a,source:n.source,target:n.target,sourceHandle:n.sourceHandle,targetHandle:n.targetHandle}}function fp(e,n,o){const r={},i=[];for(let a=0;a<e.length;++a){const l=e[a];if(!Ln(l)){o(new at(Je.NODE_INVALID,l==null?void 0:l.id)||`[ID UNKNOWN|INDEX ${a}]`);continue}const s=wA(l,n(l.id),l.parentNode);l.parentNode&&(r[l.parentNode]=!0),i[a]=s}for(const a of i){const l=n(a.parentNode)||i.find(s=>s.id===a.parentNode);a.parentNode&&!l&&o(new at(Je.NODE_MISSING_PARENT,a.id,a.parentNode)),(a.parentNode||r[a.id])&&(r[a.id]&&(a.isParent=!0),l&&(l.isParent=!0))}return i}function pp(e,n,o,r,i,a){let l=i;const s=r.get(l)||new Map;r.set(l,s.set(o,n)),l=`${i}-${e}`;const c=r.get(l)||new Map;if(r.set(l,c.set(o,n)),a){l=`${i}-${e}-${a}`;const u=r.get(l)||new Map;r.set(l,u.set(o,n))}}function zl(e,n,o){e.clear();for(const r of o){const{source:i,target:a,sourceHandle:l=null,targetHandle:s=null}=r,c={edgeId:r.id,source:i,target:a,sourceHandle:l,targetHandle:s},u=`${i}-${l}--${a}-${s}`,f=`${a}-${s}--${i}-${l}`;pp("source",c,f,e,i,l),pp("target",c,u,e,a,s)}}function mp(e,n){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}function Hl(e,n,o,r,i,a,l,s){const c=[];for(const u of e){const f=gn(u)?u:jA(u,s,i,a);if(!f)continue;const d=o(f.source),p=o(f.target);if(!d||!p){i(new at(Je.EDGE_SOURCE_TARGET_MISSING,f.id,f.source,f.target));continue}if(!d){i(new at(Je.EDGE_SOURCE_MISSING,f.id,f.source));continue}if(!p){i(new at(Je.EDGE_TARGET_MISSING,f.id,f.target));continue}if(n&&!n(f,{edges:s,nodes:l,sourceNode:d,targetNode:p})){i(new at(Je.EDGE_INVALID,f.id));continue}const m=r(f.id);c.push({...jf(f,m,a),sourceNode:d,targetNode:p})}return c}const gp=Symbol("vueFlow"),hp=Symbol("nodeId"),yp=Symbol("nodeRef"),qA=Symbol("edgeId"),zA=Symbol("edgeRef"),Pi=Symbol("slots");function _p(e){const{vueFlowRef:n,snapToGrid:o,snapGrid:r,noDragClassName:i,nodes:a,nodeExtent:l,nodeDragThreshold:s,viewport:c,autoPanOnNodeDrag:u,autoPanSpeed:f,nodesDraggable:d,panBy:p,findNode:m,multiSelectionActive:y,nodesSelectionActive:_,selectNodesOnDrag:g,removeSelectedElements:h,addSelectedNodes:w,updateNodePositions:b,emits:N}=je(),{onStart:C,onDrag:k,onStop:E,onClick:v,el:$,disabled:K,id:j,selectable:S,dragHandle:Q}=e,I=t.shallowRef(!1);let G=[],U,ee=null,M={x:void 0,y:void 0},O={x:0,y:0},A=null,P=!1,T=0,Y=!1;const z=WA(),ne=({x:ie,y:ue})=>{M={x:ie,y:ue};let de=!1;if(G=G.map(V=>{const D={x:ie-V.distance.x,y:ue-V.distance.y},{computedPosition:F}=Ul(V,o.value?Ii(D,r.value):D,N.error,l.value,V.parentNode?m(V.parentNode):void 0);return de=de||V.position.x!==F.x||V.position.y!==F.y,V.position=F,V}),!!de&&(b(G,!0,!0),I.value=!0,A)){const[V,D]=Fl({id:j,dragItems:G,findNode:m});k({event:A,node:V,nodes:D})}},oe=()=>{if(!ee)return;const[ie,ue]=Qf(O,ee,f.value);if(ie!==0||ue!==0){const de={x:(M.x??0)-ie/c.value.zoom,y:(M.y??0)-ue/c.value.zoom};p({x:ie,y:ue})&&ne(de)}T=requestAnimationFrame(oe)},se=(ie,ue)=>{P=!0;const de=m(j);!g.value&&!y.value&&de&&(de.selected||h()),de&&t.toValue(S)&&g.value&&ql(de,y.value,w,h,_,!1,ue);const V=z(ie.sourceEvent);if(M=V,G=vA(a.value,d.value,V,m,j),G.length){const[D,F]=Fl({id:j,dragItems:G,findNode:m});C({event:ie.sourceEvent,node:D,nodes:F})}},he=(ie,ue)=>{var de;ie.sourceEvent.type==="touchmove"&&ie.sourceEvent.touches.length>1||(s.value===0&&se(ie,ue),M=z(ie.sourceEvent),ee=((de=n.value)==null?void 0:de.getBoundingClientRect())||null,O=zt(ie.sourceEvent,ee))},Z=(ie,ue)=>{const de=z(ie.sourceEvent);if(!Y&&P&&u.value&&(Y=!0,oe()),!P){const V=de.xSnapped-(M.x??0),D=de.ySnapped-(M.y??0);Math.sqrt(V*V+D*D)>s.value&&se(ie,ue)}(M.x!==de.xSnapped||M.y!==de.ySnapped)&&G.length&&P&&(A=ie.sourceEvent,O=zt(ie.sourceEvent,ee),ne(de))},ae=ie=>{let ue=!1;if(!P&&!I.value&&!y.value){const de=ie.sourceEvent,V=z(de),D=V.xSnapped-(M.x??0),F=V.ySnapped-(M.y??0),R=Math.sqrt(D*D+F*F);R!==0&&R<=s.value&&(v==null||v(de),ue=!0)}if(G.length&&!ue){b(G,!1,!1);const[de,V]=Fl({id:j,dragItems:G,findNode:m});E({event:ie.sourceEvent,node:de,nodes:V})}G=[],I.value=!1,Y=!1,P=!1,M={x:void 0,y:void 0},cancelAnimationFrame(T)};return t.watch([()=>t.toValue(K),$],([ie,ue],de,V)=>{if(ue){const D=Vt(ue);ie||(U=bx().on("start",F=>he(F,ue)).on("drag",F=>Z(F,ue)).on("end",F=>ae(F)).filter(F=>{const R=F.target,X=t.toValue(Q);return!F.button&&(!i.value||!rp(R,`.${i.value}`,ue)&&(!X||rp(R,X,ue)))}),D.call(U)),V(()=>{D.on(".drag",null),U&&(U.on("start",null),U.on("drag",null),U.on("end",null))})}}),I}function HA(){return{doubleClick:ke(),click:ke(),mouseEnter:ke(),mouseMove:ke(),mouseLeave:ke(),contextMenu:ke(),updateStart:ke(),update:ke(),updateEnd:ke()}}function YA(e,n){const o=HA();return o.doubleClick.on(r=>{var i,a;n.edgeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.edgeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.edgeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.edgeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.edgeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.edgeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.updateStart.on(r=>{var i,a;n.edgeUpdateStart(r),(a=(i=e.events)==null?void 0:i.updateStart)==null||a.call(i,r)}),o.update.on(r=>{var i,a;n.edgeUpdate(r),(a=(i=e.events)==null?void 0:i.update)==null||a.call(i,r)}),o.updateEnd.on(r=>{var i,a;n.edgeUpdateEnd(r),(a=(i=e.events)==null?void 0:i.updateEnd)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function WA(){const{viewport:e,snapGrid:n,snapToGrid:o,vueFlowRef:r}=je();return i=>{var a;const l=((a=r.value)==null?void 0:a.getBoundingClientRect())??{left:0,top:0},s=$A(i)?i.sourceEvent:i,{x:c,y:u}=zt(s,l),f=ur({x:c,y:u},e.value),{x:d,y:p}=o.value?Ii(f,n.value):f;return{xSnapped:d,ySnapped:p,...f}}}function Oi(){return!0}function bp({handleId:e,nodeId:n,type:o,isValidConnection:r,edgeUpdaterType:i,onEdgeUpdate:a,onEdgeUpdateEnd:l}){const{id:s,vueFlowRef:c,connectionMode:u,connectionRadius:f,connectOnClick:d,connectionClickStartHandle:p,nodesConnectable:m,autoPanOnConnect:y,autoPanSpeed:_,findNode:g,panBy:h,startConnection:w,updateConnection:b,endConnection:N,emits:C,viewport:k,edges:E,nodes:v,isValidConnection:$,nodeLookup:K}=je();let j=null,S=!1,Q=null;function I(U){var ee;const M=t.toValue(o)==="target",O=Kl(U),A=Kf(U.target);if(O&&U.button===0||!O){let P=function(L){V=zt(L,ie),ne=MA(ur(V,k.value,!1,[1,1]),f.value,K.value,R),D||(F(),D=!0);const B=sp(L,{handle:ne,connectionMode:u.value,fromNodeId:t.toValue(n),fromHandleId:t.toValue(e),fromType:M?"target":"source",isValidConnection:z,doc:A,lib:"vue",flowId:s,nodeLookup:K.value},E.value,v.value,g);Q=B.handleDomNode,j=B.connection,S=FA(!!ne,B.isValid);const te={...x,isValid:S,to:B.toHandle&&S?Ml({x:B.toHandle.x,y:B.toHandle.y},k.value):V,toHandle:B.toHandle,toPosition:S&&B.toHandle?B.toHandle.position:Gl[R.position],toNode:B.toHandle?K.value.get(B.toHandle.nodeId):null};if(!(S&&ne&&(x!=null&&x.toHandle)&&te.toHandle&&x.toHandle.type===te.toHandle.type&&x.toHandle.nodeId===te.toHandle.nodeId&&x.toHandle.id===te.toHandle.id&&x.to.x===te.to.x&&x.to.y===te.to.y)){if(b(ne&&S?Ml({x:ne.x,y:ne.y},k.value):V,B.toHandle,LA(!!ne,S)),x=te,!ne&&!S&&!Q)return jl(de);j&&j.source!==j.target&&Q&&(jl(de),de=Q,Q.classList.add("connecting","vue-flow__handle-connecting"),Q.classList.toggle("valid",!!S),Q.classList.toggle("vue-flow__handle-valid",!!S))}},T=function(L){(ne||Q)&&j&&S&&(a?a(L,j):C.connect(j)),C.connectEnd(L),i&&(l==null||l(L)),jl(de),cancelAnimationFrame(oe),N(L),D=!1,S=!1,j=null,Q=null,A.removeEventListener("mousemove",P),A.removeEventListener("mouseup",T),A.removeEventListener("touchmove",P),A.removeEventListener("touchend",T)};const Y=g(t.toValue(n));let z=t.toValue(r)||$.value||Oi;!z&&Y&&(z=(M?Y.isValidSourcePos:Y.isValidTargetPos)||Oi);let ne,oe=0;const{x:se,y:he}=zt(U),Z=A==null?void 0:A.elementFromPoint(se,he),ae=cp(t.toValue(i),Z),ie=(ee=c.value)==null?void 0:ee.getBoundingClientRect();if(!ie||!ae)return;const ue=UA(t.toValue(n),ae,t.toValue(e),K.value,u.value);if(!ue)return;let de,V=zt(U,ie),D=!1;const F=()=>{if(!y.value)return;const[L,B]=Qf(V,ie,_.value);h({x:L,y:B}),oe=requestAnimationFrame(F)},R={...ue,nodeId:t.toValue(n),type:ae,position:ue.position},X=K.value.get(t.toValue(n)),re={inProgress:!0,isValid:null,from:Co(X,R,Ce.Left,!0),fromHandle:R,fromPosition:R.position,fromNode:X,to:V,toHandle:null,toPosition:Gl[R.position],toNode:null};w({nodeId:t.toValue(n),id:t.toValue(e),type:ae,position:(Z==null?void 0:Z.getAttribute("data-handlepos"))||Ce.Top,...V},{x:se-ie.left,y:he-ie.top}),C.connectStart({event:U,nodeId:t.toValue(n),handleId:t.toValue(e),handleType:ae});let x=re;A.addEventListener("mousemove",P),A.addEventListener("mouseup",T),A.addEventListener("touchmove",P),A.addEventListener("touchend",T)}}function G(U){var ee,M;if(!d.value)return;const O=t.toValue(o)==="target";if(!p.value){C.clickConnectStart({event:U,nodeId:t.toValue(n),handleId:t.toValue(e)}),w({nodeId:t.toValue(n),type:t.toValue(o),id:t.toValue(e),position:Ce.Top,...zt(U)},void 0,!0);return}let A=t.toValue(r)||$.value||Oi;const P=g(t.toValue(n));if(!A&&P&&(A=(O?P.isValidSourcePos:P.isValidTargetPos)||Oi),P&&(typeof P.connectable>"u"?m.value:P.connectable)===!1)return;const T=Kf(U.target),Y=sp(U,{handle:{nodeId:t.toValue(n),id:t.toValue(e),type:t.toValue(o),position:Ce.Top,...zt(U)},connectionMode:u.value,fromNodeId:p.value.nodeId,fromHandleId:p.value.id??null,fromType:p.value.type,isValidConnection:A,doc:T,lib:"vue",flowId:s,nodeLookup:K.value},E.value,v.value,g),z=((ee=Y.connection)==null?void 0:ee.source)===((M=Y.connection)==null?void 0:M.target);Y.isValid&&Y.connection&&!z&&C.connect(Y.connection),C.clickConnectEnd(U),N(U,!0)}return{handlePointerDown:I,handleClick:G}}function XA(){return t.inject(hp,"")}function wp(e){const n=e??XA()??"",o=t.inject(yp,t.ref(null)),{findNode:r,edges:i,emits:a}=je(),l=r(n);return l||a.error(new at(Je.NODE_NOT_FOUND,n)),{id:n,nodeEl:o,node:l,parentNode:t.computed(()=>r(l.parentNode)),connectedEdges:t.computed(()=>Wf([l],i.value))}}function ZA(){return{doubleClick:ke(),click:ke(),mouseEnter:ke(),mouseMove:ke(),mouseLeave:ke(),contextMenu:ke(),dragStart:ke(),drag:ke(),dragStop:ke()}}function JA(e,n){const o=ZA();return o.doubleClick.on(r=>{var i,a;n.nodeDoubleClick(r),(a=(i=e.events)==null?void 0:i.doubleClick)==null||a.call(i,r)}),o.click.on(r=>{var i,a;n.nodeClick(r),(a=(i=e.events)==null?void 0:i.click)==null||a.call(i,r)}),o.mouseEnter.on(r=>{var i,a;n.nodeMouseEnter(r),(a=(i=e.events)==null?void 0:i.mouseEnter)==null||a.call(i,r)}),o.mouseMove.on(r=>{var i,a;n.nodeMouseMove(r),(a=(i=e.events)==null?void 0:i.mouseMove)==null||a.call(i,r)}),o.mouseLeave.on(r=>{var i,a;n.nodeMouseLeave(r),(a=(i=e.events)==null?void 0:i.mouseLeave)==null||a.call(i,r)}),o.contextMenu.on(r=>{var i,a;n.nodeContextMenu(r),(a=(i=e.events)==null?void 0:i.contextMenu)==null||a.call(i,r)}),o.dragStart.on(r=>{var i,a;n.nodeDragStart(r),(a=(i=e.events)==null?void 0:i.dragStart)==null||a.call(i,r)}),o.drag.on(r=>{var i,a;n.nodeDrag(r),(a=(i=e.events)==null?void 0:i.drag)==null||a.call(i,r)}),o.dragStop.on(r=>{var i,a;n.nodeDragStop(r),(a=(i=e.events)==null?void 0:i.dragStop)==null||a.call(i,r)}),Object.entries(o).reduce((r,[i,a])=>(r.emit[i]=a.trigger,r.on[i]=a.on,r),{emit:{},on:{}})}function kp(){const{getSelectedNodes:e,nodeExtent:n,updateNodePositions:o,findNode:r,snapGrid:i,snapToGrid:a,nodesDraggable:l,emits:s}=je();return(c,u=!1)=>{const f=a.value?i.value[0]:5,d=a.value?i.value[1]:5,p=u?4:1,m=c.x*f*p,y=c.y*d*p,_=[];for(const g of e.value)if(g.draggable||l&&typeof g.draggable>"u"){const h={x:g.computedPosition.x+m,y:g.computedPosition.y+y},{computedPosition:w}=Ul(g,h,s.error,n.value,g.parentNode?r(g.parentNode):void 0);_.push({id:g.id,position:w,from:g.position,distance:{x:c.x,y:c.y},dimensions:g.dimensions})}o(_,!0,!1)}}const Yl=.1,QA=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2;function _n(){return Ti("Viewport not initialized yet."),Promise.resolve(!1)}const eI={zoomIn:_n,zoomOut:_n,zoomTo:_n,fitView:_n,setCenter:_n,fitBounds:_n,project:e=>e,screenToFlowCoordinate:e=>e,flowToScreenCoordinate:e=>e,setViewport:_n,setTransform:_n,getViewport:()=>({x:0,y:0,zoom:1}),getTransform:()=>({x:0,y:0,zoom:1}),viewportInitialized:!1};function tI(e){function n(r,i){return new Promise(a=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((i==null?void 0:i.interpolate)==="linear"?tr:mi).scaleBy(Wl(e.d3Selection,i==null?void 0:i.duration,i==null?void 0:i.ease,()=>{a(!0)}),r):a(!1)})}function o(r,i,a,l){return new Promise(s=>{var c;const{x:u,y:f}=Uf({x:-r,y:-i},e.translateExtent),d=wo.translate(-u,-f).scale(a);e.d3Selection&&e.d3Zoom?(c=e.d3Zoom)==null||c.interpolate((l==null?void 0:l.interpolate)==="linear"?tr:mi).transform(Wl(e.d3Selection,l==null?void 0:l.duration,l==null?void 0:l.ease,()=>{s(!0)}),d):s(!1)})}return t.computed(()=>e.d3Zoom&&e.d3Selection&&e.dimensions.width&&e.dimensions.height?{viewportInitialized:!0,zoomIn:i=>n(1.2,i),zoomOut:i=>n(1/1.2,i),zoomTo:(i,a)=>new Promise(l=>{e.d3Selection&&e.d3Zoom?e.d3Zoom.interpolate((a==null?void 0:a.interpolate)==="linear"?tr:mi).scaleTo(Wl(e.d3Selection,a==null?void 0:a.duration,a==null?void 0:a.ease,()=>{l(!0)}),i):l(!1)}),setViewport:(i,a)=>o(i.x,i.y,i.zoom,a),setTransform:(i,a)=>o(i.x,i.y,i.zoom,a),getViewport:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),getTransform:()=>({x:e.viewport.x,y:e.viewport.y,zoom:e.viewport.zoom}),fitView:(i={padding:Yl,includeHiddenNodes:!1,duration:0})=>{var a,l;const s=[];for(const p of e.nodes)p.dimensions.width&&p.dimensions.height&&((i==null?void 0:i.includeHiddenNodes)||!p.hidden)&&(!((a=i.nodes)!=null&&a.length)||(l=i.nodes)!=null&&l.length&&i.nodes.includes(p.id))&&s.push(p);if(!s.length)return Promise.resolve(!1);const c=Hf(s),{x:u,y:f,zoom:d}=Xf(c,e.dimensions.width,e.dimensions.height,i.minZoom??e.minZoom,i.maxZoom??e.maxZoom,i.padding??Yl,i.offset);return o(u,f,d,i)},setCenter:(i,a,l)=>{const s=typeof(l==null?void 0:l.zoom)<"u"?l.zoom:e.maxZoom,c=e.dimensions.width/2-i*s,u=e.dimensions.height/2-a*s;return o(c,u,s,l)},fitBounds:(i,a={padding:Yl})=>{const{x:l,y:s,zoom:c}=Xf(i,e.dimensions.width,e.dimensions.height,e.minZoom,e.maxZoom,a.padding);return o(l,s,c,a)},project:i=>ur(i,e.viewport,e.snapToGrid,e.snapGrid),screenToFlowCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x-a,y:i.y-l};return ur(s,e.viewport,e.snapToGrid,e.snapGrid)}return{x:0,y:0}},flowToScreenCoordinate:i=>{if(e.vueFlowRef){const{x:a,y:l}=e.vueFlowRef.getBoundingClientRect(),s={x:i.x+a,y:i.y+l};return Ml(s,e.viewport)}return{x:0,y:0}}}:eI)}function Wl(e,n=0,o=QA,r=()=>{}){const i=typeof n=="number"&&n>0;return i||r(),i?e.transition().duration(n).ease(o).on("end",r):e}function nI(e,n,o){const r=t.effectScope(!0);return r.run(()=>{const i=()=>{r.run(()=>{let _,g,h=!!(o.nodes.value.length||o.edges.value.length);_=go([e.modelValue,()=>{var w,b;return(b=(w=e.modelValue)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setElements(w),!g&&!h&&w.length?h=!0:g==null||g.resume())}),g=go([o.nodes,o.edges,()=>o.edges.value.length,()=>o.nodes.value.length],([w,b])=>{var N;(N=e.modelValue)!=null&&N.value&&Array.isArray(e.modelValue.value)&&(_==null||_.pause(),e.modelValue.value=[...w,...b],t.nextTick(()=>{_==null||_.resume()}))},{immediate:h}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},a=()=>{r.run(()=>{let _,g,h=!!o.nodes.value.length;_=go([e.nodes,()=>{var w,b;return(b=(w=e.nodes)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setNodes(w),!g&&!h&&w.length?h=!0:g==null||g.resume())}),g=go([o.nodes,()=>o.nodes.value.length],([w])=>{var b;(b=e.nodes)!=null&&b.value&&Array.isArray(e.nodes.value)&&(_==null||_.pause(),e.nodes.value=[...w],t.nextTick(()=>{_==null||_.resume()}))},{immediate:h}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},l=()=>{r.run(()=>{let _,g,h=!!o.edges.value.length;_=go([e.edges,()=>{var w,b;return(b=(w=e.edges)==null?void 0:w.value)==null?void 0:b.length}],([w])=>{w&&Array.isArray(w)&&(g==null||g.pause(),o.setEdges(w),!g&&!h&&w.length?h=!0:g==null||g.resume())}),g=go([o.edges,()=>o.edges.value.length],([w])=>{var b;(b=e.edges)!=null&&b.value&&Array.isArray(e.edges.value)&&(_==null||_.pause(),e.edges.value=[...w],t.nextTick(()=>{_==null||_.resume()}))},{immediate:h}),t.onScopeDispose(()=>{_==null||_.stop(),g==null||g.stop()})})},s=()=>{r.run(()=>{t.watch(()=>n.maxZoom,()=>{n.maxZoom&&Qe(n.maxZoom)&&o.setMaxZoom(n.maxZoom)},{immediate:!0})})},c=()=>{r.run(()=>{t.watch(()=>n.minZoom,()=>{n.minZoom&&Qe(n.minZoom)&&o.setMinZoom(n.minZoom)},{immediate:!0})})},u=()=>{r.run(()=>{t.watch(()=>n.translateExtent,()=>{n.translateExtent&&Qe(n.translateExtent)&&o.setTranslateExtent(n.translateExtent)},{immediate:!0})})},f=()=>{r.run(()=>{t.watch(()=>n.nodeExtent,()=>{n.nodeExtent&&Qe(n.nodeExtent)&&o.setNodeExtent(n.nodeExtent)},{immediate:!0})})},d=()=>{r.run(()=>{t.watch(()=>n.applyDefault,()=>{Qe(n.applyDefault)&&(o.applyDefault.value=n.applyDefault)},{immediate:!0})})},p=()=>{r.run(()=>{const _=async g=>{let h=g;typeof n.autoConnect=="function"&&(h=await n.autoConnect(g)),h!==!1&&o.addEdges([h])};t.watch(()=>n.autoConnect,()=>{Qe(n.autoConnect)&&(o.autoConnect.value=n.autoConnect)},{immediate:!0}),t.watch(o.autoConnect,(g,h,w)=>{g?o.onConnect(_):o.hooks.value.connect.off(_),w(()=>{o.hooks.value.connect.off(_)})},{immediate:!0})})},m=()=>{const _=["id","modelValue","translateExtent","nodeExtent","edges","nodes","maxZoom","minZoom","applyDefault","autoConnect"];for(const g of Object.keys(n)){const h=g;if(!_.includes(h)){const w=t.toRef(()=>n[h]),b=o[h];t.isRef(b)&&r.run(()=>{t.watch(w,N=>{Qe(N)&&(b.value=N)},{immediate:!0})})}}};(()=>{i(),a(),l(),c(),s(),u(),f(),d(),p(),m()})()}),()=>r.stop()}function oI(){return{edgesChange:ke(),nodesChange:ke(),nodeDoubleClick:ke(),nodeClick:ke(),nodeMouseEnter:ke(),nodeMouseMove:ke(),nodeMouseLeave:ke(),nodeContextMenu:ke(),nodeDragStart:ke(),nodeDrag:ke(),nodeDragStop:ke(),nodesInitialized:ke(),miniMapNodeClick:ke(),miniMapNodeDoubleClick:ke(),miniMapNodeMouseEnter:ke(),miniMapNodeMouseMove:ke(),miniMapNodeMouseLeave:ke(),connect:ke(),connectStart:ke(),connectEnd:ke(),clickConnectStart:ke(),clickConnectEnd:ke(),paneReady:ke(),init:ke(),move:ke(),moveStart:ke(),moveEnd:ke(),selectionDragStart:ke(),selectionDrag:ke(),selectionDragStop:ke(),selectionContextMenu:ke(),selectionStart:ke(),selectionEnd:ke(),viewportChangeStart:ke(),viewportChange:ke(),viewportChangeEnd:ke(),paneScroll:ke(),paneClick:ke(),paneContextMenu:ke(),paneMouseEnter:ke(),paneMouseMove:ke(),paneMouseLeave:ke(),edgeContextMenu:ke(),edgeMouseEnter:ke(),edgeMouseMove:ke(),edgeMouseLeave:ke(),edgeDoubleClick:ke(),edgeClick:ke(),edgeUpdateStart:ke(),edgeUpdate:ke(),edgeUpdateEnd:ke(),updateNodeInternals:ke(),error:ke(e=>Ti(e.message))}}function rI(e,n){t.onBeforeMount(()=>{for(const[o,r]of Object.entries(n.value)){const i=a=>{e(o,a)};r.fns.add(i),ni(()=>{r.off(i)})}})}function Cp(){return{vueFlowRef:null,viewportRef:null,nodes:[],edges:[],connectionLookup:new Map,nodeTypes:{},edgeTypes:{},initialized:!1,dimensions:{width:0,height:0},viewport:{x:0,y:0,zoom:1},d3Zoom:null,d3Selection:null,d3ZoomHandler:null,minZoom:.5,maxZoom:2,translateExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],nodeExtent:[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],selectionMode:Rl.Full,paneDragging:!1,preventScrolling:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!0,panOnScroll:!1,panOnScrollSpeed:.5,panOnScrollMode:sr.Free,paneClickDistance:0,panOnDrag:!0,edgeUpdaterRadius:10,onlyRenderVisibleElements:!1,defaultViewport:{x:0,y:0,zoom:1},nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,defaultMarkerColor:"#b1b1b7",connectionLineStyle:{},connectionLineType:null,connectionLineOptions:{type:Dn.Bezier,style:{}},connectionMode:mn.Loose,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectionPosition:{x:Number.NaN,y:Number.NaN},connectionRadius:20,connectOnClick:!0,connectionStatus:null,isValidConnection:null,snapGrid:[15,15],snapToGrid:!1,edgesUpdatable:!1,edgesFocusable:!0,nodesFocusable:!0,nodesConnectable:!0,nodesDraggable:!0,nodeDragThreshold:1,elementsSelectable:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,selectionKeyCode:"Shift",multiSelectionKeyCode:Ai()?"Meta":"Control",zoomActivationKeyCode:Ai()?"Meta":"Control",deleteKeyCode:"Backspace",panActivationKeyCode:"Space",hooks:oI(),applyDefault:!0,autoConnect:!1,fitViewOnInit:!1,fitViewOnInitDone:!1,noDragClassName:"nodrag",noWheelClassName:"nowheel",noPanClassName:"nopan",defaultEdgeOptions:void 0,elevateEdgesOnSelect:!1,elevateNodesOnSelect:!0,autoPanOnNodeDrag:!0,autoPanOnConnect:!0,autoPanSpeed:15,disableKeyboardA11y:!1,ariaLiveMessage:""}}const iI=["id","vueFlowRef","viewportRef","initialized","modelValue","nodes","edges","maxZoom","minZoom","translateExtent","hooks","defaultEdgeOptions"];function aI(e,n,o){const r=tI(e),i=V=>{const D=V??[];e.hooks.updateNodeInternals.trigger(D)},a=V=>CA(V,e.nodes,e.edges),l=V=>kA(V,e.nodes,e.edges),s=V=>Wf(V,e.edges),c=({id:V,type:D,nodeId:F})=>{var R;return Array.from(((R=e.connectionLookup.get(`${F}-${D}-${V??null}`))==null?void 0:R.values())??[])},u=V=>{if(V)return n.value.get(V)},f=V=>{if(V)return o.value.get(V)},d=(V,D,F)=>{var R,X;const q=[];for(const re of V){const x={id:re.id,type:"position",dragging:F,from:re.from};if(D&&(x.position=re.position,re.parentNode)){const L=u(re.parentNode);x.position={x:x.position.x-(((R=L==null?void 0:L.computedPosition)==null?void 0:R.x)??0),y:x.position.y-(((X=L==null?void 0:L.computedPosition)==null?void 0:X.y)??0)}}q.push(x)}q!=null&&q.length&&e.hooks.nodesChange.trigger(q)},p=V=>{if(!e.vueFlowRef)return;const D=e.vueFlowRef.querySelector(".vue-flow__transformationpane");if(!D)return;const F=window.getComputedStyle(D),{m22:R}=new window.DOMMatrixReadOnly(F.transform),X=[];for(const q of V){const re=q,x=u(re.id);if(x){const L=xi(re.nodeElement);if(!!(L.width&&L.height&&(x.dimensions.width!==L.width||x.dimensions.height!==L.height||re.forceUpdate))){const te=re.nodeElement.getBoundingClientRect();x.dimensions=L,x.handleBounds.source=up("source",re.nodeElement,te,R,x.id),x.handleBounds.target=up("target",re.nodeElement,te,R,x.id),X.push({id:x.id,type:"dimensions",dimensions:L})}}}!e.fitViewOnInitDone&&e.fitViewOnInit&&r.value.fitView().then(()=>{e.fitViewOnInitDone=!0}),X.length&&e.hooks.nodesChange.trigger(X)},m=(V,D)=>{const F=new Set,R=new Set;for(const re of V)Ln(re)?F.add(re.id):gn(re)&&R.add(re.id);const X=yn(n.value,F,!0),q=yn(o.value,R);if(e.multiSelectionActive){for(const re of F)X.push(hn(re,D));for(const re of R)q.push(hn(re,D))}X.length&&e.hooks.nodesChange.trigger(X),q.length&&e.hooks.edgesChange.trigger(q)},y=V=>{if(e.multiSelectionActive){const D=V.map(F=>hn(F.id,!0));e.hooks.nodesChange.trigger(D);return}e.hooks.nodesChange.trigger(yn(n.value,new Set(V.map(D=>D.id)),!0)),e.hooks.edgesChange.trigger(yn(o.value))},_=V=>{if(e.multiSelectionActive){const D=V.map(F=>hn(F.id,!0));e.hooks.edgesChange.trigger(D);return}e.hooks.edgesChange.trigger(yn(o.value,new Set(V.map(D=>D.id)))),e.hooks.nodesChange.trigger(yn(n.value,new Set,!0))},g=V=>{m(V,!0)},h=V=>{const F=(V||e.nodes).map(R=>(R.selected=!1,hn(R.id,!1)));e.hooks.nodesChange.trigger(F)},w=V=>{const F=(V||e.edges).map(R=>(R.selected=!1,hn(R.id,!1)));e.hooks.edgesChange.trigger(F)},b=V=>{if(!V||!V.length)return m([],!1);const D=V.reduce((F,R)=>{const X=hn(R.id,!1);return Ln(R)?F.nodes.push(X):F.edges.push(X),F},{nodes:[],edges:[]});D.nodes.length&&e.hooks.nodesChange.trigger(D.nodes),D.edges.length&&e.hooks.edgesChange.trigger(D.edges)},N=V=>{var D;(D=e.d3Zoom)==null||D.scaleExtent([V,e.maxZoom]),e.minZoom=V},C=V=>{var D;(D=e.d3Zoom)==null||D.scaleExtent([e.minZoom,V]),e.maxZoom=V},k=V=>{var D;(D=e.d3Zoom)==null||D.translateExtent(V),e.translateExtent=V},E=V=>{e.nodeExtent=V,i()},v=V=>{var D;(D=e.d3Zoom)==null||D.clickDistance(V)},$=V=>{e.nodesDraggable=V,e.nodesConnectable=V,e.elementsSelectable=V},K=V=>{const D=V instanceof Function?V(e.nodes):V;!e.initialized&&!D.length||(e.nodes=fp(D,u,e.hooks.error.trigger))},j=V=>{const D=V instanceof Function?V(e.edges):V;if(!e.initialized&&!D.length)return;const F=Hl(D,e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);zl(e.connectionLookup,o.value,F),e.edges=F},S=V=>{const D=V instanceof Function?V([...e.nodes,...e.edges]):V;!e.initialized&&!D.length||(K(D.filter(Ln)),j(D.filter(gn)))},Q=V=>{let D=V instanceof Function?V(e.nodes):V;D=Array.isArray(D)?D:[D];const F=fp(D,u,e.hooks.error.trigger),R=[];for(const X of F)R.push(tp(X));R.length&&e.hooks.nodesChange.trigger(R)},I=V=>{let D=V instanceof Function?V(e.edges):V;D=Array.isArray(D)?D:[D];const F=Hl(D,e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges),R=[];for(const X of F)R.push(tp(X));R.length&&e.hooks.edgesChange.trigger(R)},G=(V,D=!0,F=!1)=>{const R=V instanceof Function?V(e.nodes):V,X=Array.isArray(R)?R:[R],q=[],re=[];function x(B){const te=s(B);for(const J of te)(!Qe(J.deletable)||J.deletable)&&re.push(op(J.id,J.source,J.target,J.sourceHandle,J.targetHandle))}function L(B){const te=[];for(const J of e.nodes)J.parentNode===B&&te.push(J);if(te.length){for(const J of te)q.push(np(J.id));D&&x(te);for(const J of te)L(J.id)}}for(const B of X){const te=typeof B=="string"?u(B):B;te&&(Qe(te.deletable)&&!te.deletable||(q.push(np(te.id)),D&&x([te]),F&&L(te.id)))}re.length&&e.hooks.edgesChange.trigger(re),q.length&&e.hooks.nodesChange.trigger(q)},U=V=>{const D=V instanceof Function?V(e.edges):V,F=Array.isArray(D)?D:[D],R=[];for(const X of F){const q=typeof X=="string"?f(X):X;q&&(Qe(q.deletable)&&!q.deletable||R.push(op(typeof X=="string"?X:X.id,q.source,q.target,q.sourceHandle,q.targetHandle)))}e.hooks.edgesChange.trigger(R)},ee=(V,D,F=!0)=>{const R=f(V.id);if(!R)return!1;const X=e.edges.indexOf(R),q=GA(V,D,R,F,e.hooks.error.trigger);if(q){const[re]=Hl([q],e.isValidConnection,u,f,e.hooks.error.trigger,e.defaultEdgeOptions,e.nodes,e.edges);return e.edges=e.edges.map((x,L)=>L===X?re:x),zl(e.connectionLookup,o.value,[re]),re}return!1},M=(V,D,F={replace:!1})=>{const R=f(V);if(!R)return;const X=typeof D=="function"?D(R):D;R.data=F.replace?X:{...R.data,...X}},O=V=>ep(V,e.nodes),A=V=>{const D=ep(V,e.edges);return zl(e.connectionLookup,o.value,D),D},P=(V,D,F={replace:!1})=>{const R=u(V);if(!R)return;const X=typeof D=="function"?D(R):D;F.replace?e.nodes.splice(e.nodes.indexOf(R),1,X):Object.assign(R,X)},T=(V,D,F={replace:!1})=>{const R=u(V);if(!R)return;const X=typeof D=="function"?D(R):D;R.data=F.replace?X:{...R.data,...X}},Y=(V,D,F=!1)=>{F?e.connectionClickStartHandle=V:e.connectionStartHandle=V,e.connectionEndHandle=null,e.connectionStatus=null,D&&(e.connectionPosition=D)},z=(V,D=null,F=null)=>{e.connectionStartHandle&&(e.connectionPosition=V,e.connectionEndHandle=D,e.connectionStatus=F)},ne=(V,D)=>{e.connectionPosition={x:Number.NaN,y:Number.NaN},e.connectionEndHandle=null,e.connectionStatus=null,D?e.connectionClickStartHandle=null:e.connectionStartHandle=null},oe=V=>{const D=bA(V),F=D?null:dr(V)?V:u(V.id);return!D&&!F?[null,null,D]:[D?V:Ni(F),F,D]},se=(V,D=!0,F=e.nodes)=>{const[R,X,q]=oe(V);if(!R)return[];const re=[];for(const x of F||e.nodes){if(!q&&(x.id===X.id||!x.computedPosition))continue;const L=Ni(x),B=Si(L,R);(D&&B>0||B>=Number(R.width)*Number(R.height))&&re.push(x)}return re},he=(V,D,F=!0)=>{const[R]=oe(V);if(!R)return!1;const X=Si(R,D);return F&&X>0||X>=Number(R.width)*Number(R.height)},Z=V=>{const{viewport:D,dimensions:F,d3Zoom:R,d3Selection:X,translateExtent:q}=e;if(!R||!X||!V.x&&!V.y)return!1;const re=wo.translate(D.x+V.x,D.y+V.y).scale(D.zoom),x=[[0,0],[F.width,F.height]],L=R.constrain()(re,x,q),B=e.viewport.x!==L.x||e.viewport.y!==L.y||e.viewport.zoom!==L.k;return R.transform(X,L),B},ae=V=>{const D=V instanceof Function?V(e):V,F=["d3Zoom","d3Selection","d3ZoomHandler","viewportRef","vueFlowRef","dimensions","hooks"];Qe(D.defaultEdgeOptions)&&(e.defaultEdgeOptions=D.defaultEdgeOptions);const R=D.modelValue||D.nodes||D.edges?[]:void 0;R&&(D.modelValue&&R.push(...D.modelValue),D.nodes&&R.push(...D.nodes),D.edges&&R.push(...D.edges),S(R));const X=()=>{Qe(D.maxZoom)&&C(D.maxZoom),Qe(D.minZoom)&&N(D.minZoom),Qe(D.translateExtent)&&k(D.translateExtent)};for(const q of Object.keys(D)){const re=q,x=D[re];![...iI,...F].includes(re)&&Qe(x)&&(e[re]=x)}gl(()=>e.d3Zoom).not.toBeNull().then(X),e.initialized||(e.initialized=!0)};return{updateNodePositions:d,updateNodeDimensions:p,setElements:S,setNodes:K,setEdges:j,addNodes:Q,addEdges:I,removeNodes:G,removeEdges:U,findNode:u,findEdge:f,updateEdge:ee,updateEdgeData:M,updateNode:P,updateNodeData:T,applyEdgeChanges:A,applyNodeChanges:O,addSelectedElements:g,addSelectedNodes:y,addSelectedEdges:_,setMinZoom:N,setMaxZoom:C,setTranslateExtent:k,setNodeExtent:E,setPaneClickDistance:v,removeSelectedElements:b,removeSelectedNodes:h,removeSelectedEdges:w,startConnection:Y,updateConnection:z,endConnection:ne,setInteractive:$,setState:ae,getIntersectingNodes:se,getIncomers:a,getOutgoers:l,getConnectedEdges:s,getHandleConnections:c,isNodeIntersecting:he,panBy:Z,fitView:V=>r.value.fitView(V),zoomIn:V=>r.value.zoomIn(V),zoomOut:V=>r.value.zoomOut(V),zoomTo:(V,D)=>r.value.zoomTo(V,D),setViewport:(V,D)=>r.value.setViewport(V,D),setTransform:(V,D)=>r.value.setTransform(V,D),getViewport:()=>r.value.getViewport(),getTransform:()=>r.value.getTransform(),setCenter:(V,D,F)=>r.value.setCenter(V,D,F),fitBounds:(V,D)=>r.value.fitBounds(V,D),project:V=>r.value.project(V),screenToFlowCoordinate:V=>r.value.screenToFlowCoordinate(V),flowToScreenCoordinate:V=>r.value.flowToScreenCoordinate(V),toObject:()=>{const V=[],D=[];for(const F of e.nodes){const{computedPosition:R,handleBounds:X,selected:q,dimensions:re,isParent:x,resizing:L,dragging:B,events:te,...J}=F;V.push(J)}for(const F of e.edges){const{selected:R,sourceNode:X,targetNode:q,events:re,...x}=F;D.push(x)}return JSON.parse(JSON.stringify({nodes:V,edges:D,position:[e.viewport.x,e.viewport.y],zoom:e.viewport.zoom,viewport:e.viewport}))},fromObject:V=>new Promise(D=>{const{nodes:F,edges:R,position:X,zoom:q,viewport:re}=V;if(F&&K(F),R&&j(R),re!=null&&re.x&&(re!=null&&re.y)||X){const x=(re==null?void 0:re.x)||X[0],L=(re==null?void 0:re.y)||X[1],B=(re==null?void 0:re.zoom)||q||e.viewport.zoom;return gl(()=>r.value.viewportInitialized).toBe(!0).then(()=>{r.value.setViewport({x,y:L,zoom:B}).then(()=>{D(!0)})})}else D(!0)}),updateNodeInternals:i,viewportHelper:r,$reset:()=>{const V=Cp();if(e.edges=[],e.nodes=[],e.d3Zoom&&e.d3Selection){const D=wo.translate(V.defaultViewport.x??0,V.defaultViewport.y??0).scale(Mn(V.defaultViewport.zoom??1,V.minZoom,V.maxZoom)),F=e.viewportRef.getBoundingClientRect(),R=[[0,0],[F.width,F.height]],X=e.d3Zoom.constrain()(D,R,V.translateExtent);e.d3Zoom.transform(e.d3Selection,X)}ae(V)},$destroy:()=>{}}}const lI=["data-id","data-handleid","data-nodeid","data-handlepos"],sI={name:"Handle",compatConfig:{MODE:3}},Ht=t.defineComponent({...sI,props:{id:{default:null},type:{},position:{default:()=>Ce.Top},isValidConnection:{type:Function},connectable:{type:[Boolean,Number,String,Function],default:void 0},connectableStart:{type:Boolean,default:!0},connectableEnd:{type:Boolean,default:!0}},setup(e,{expose:n}){const o=t.createPropsRestProxy(e,["position","connectable","connectableStart","connectableEnd","id"]),r=t.toRef(()=>o.type??"source"),i=t.toRef(()=>o.isValidConnection??null),{id:a,connectionStartHandle:l,connectionClickStartHandle:s,connectionEndHandle:c,vueFlowRef:u,nodesConnectable:f,noDragClassName:d,noPanClassName:p}=je(),{id:m,node:y,nodeEl:_,connectedEdges:g}=wp(),h=t.ref(),w=t.toRef(()=>typeof e.connectableStart<"u"?e.connectableStart:!0),b=t.toRef(()=>typeof e.connectableEnd<"u"?e.connectableEnd:!0),N=t.toRef(()=>{var j,S,Q,I,G,U;return((j=l.value)==null?void 0:j.nodeId)===m&&((S=l.value)==null?void 0:S.id)===e.id&&((Q=l.value)==null?void 0:Q.type)===r.value||((I=c.value)==null?void 0:I.nodeId)===m&&((G=c.value)==null?void 0:G.id)===e.id&&((U=c.value)==null?void 0:U.type)===r.value}),C=t.toRef(()=>{var j,S,Q;return((j=s.value)==null?void 0:j.nodeId)===m&&((S=s.value)==null?void 0:S.id)===e.id&&((Q=s.value)==null?void 0:Q.type)===r.value}),{handlePointerDown:k,handleClick:E}=bp({nodeId:m,handleId:e.id,isValidConnection:i,type:r}),v=t.computed(()=>typeof e.connectable=="string"&&e.connectable==="single"?!g.value.some(j=>{const S=j[`${r.value}Handle`];return j[r.value]!==m?!1:S?S===e.id:!0}):typeof e.connectable=="number"?g.value.filter(j=>{const S=j[`${r.value}Handle`];return j[r.value]!==m?!1:S?S===e.id:!0}).length<e.connectable:typeof e.connectable=="function"?e.connectable(y,g.value):Qe(e.connectable)?e.connectable:f.value);t.onMounted(()=>{var j;if(!y.dimensions.width||!y.dimensions.height)return;const S=(j=y.handleBounds[r.value])==null?void 0:j.find(O=>O.id===e.id);if(!u.value||S)return;const Q=u.value.querySelector(".vue-flow__transformationpane");if(!_.value||!h.value||!Q||!e.id)return;const I=_.value.getBoundingClientRect(),G=h.value.getBoundingClientRect(),U=window.getComputedStyle(Q),{m22:ee}=new window.DOMMatrixReadOnly(U.transform),M={id:e.id,position:e.position,x:(G.left-I.left)/ee,y:(G.top-I.top)/ee,type:r.value,nodeId:m,...xi(h.value)};y.handleBounds[r.value]=[...y.handleBounds[r.value]??[],M]});function $(j){const S=Kl(j);v.value&&w.value&&(S&&j.button===0||!S)&&k(j)}function K(j){!m||!s.value&&!w.value||v.value&&E(j)}return n({handleClick:E,handlePointerDown:k,onClick:K,onPointerDown:$}),(j,S)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"handle",ref:h,"data-id":`${t.unref(a)}-${t.unref(m)}-${e.id}-${r.value}`,"data-handleid":e.id,"data-nodeid":t.unref(m),"data-handlepos":j.position,class:t.normalizeClass(["vue-flow__handle",[`vue-flow__handle-${j.position}`,`vue-flow__handle-${e.id}`,t.unref(d),t.unref(p),r.value,{connectable:v.value,connecting:C.value,connectablestart:w.value,connectableend:b.value,connectionindicator:v.value&&(w.value&&!N.value||b.value&&N.value)}]]),onMousedown:$,onTouchstartPassive:$,onClick:K},[t.renderSlot(j.$slots,"default",{id:j.id})],42,lI))}}),$i=function({sourcePosition:e=Ce.Bottom,targetPosition:n=Ce.Top,label:o,connectable:r=!0,isValidTargetPos:i,isValidSourcePos:a,data:l}){const s=l.label??o;return[t.h(Ht,{type:"target",position:n,connectable:r,isValidConnection:i}),typeof s!="string"&&s?t.h(s):t.h(t.Fragment,[s]),t.h(Ht,{type:"source",position:e,connectable:r,isValidConnection:a})]};$i.props=["sourcePosition","targetPosition","label","isValidTargetPos","isValidSourcePos","connectable","data"],$i.inheritAttrs=!1,$i.compatConfig={MODE:3};const cI=$i,Bi=function({targetPosition:e=Ce.Top,label:n,connectable:o=!0,isValidTargetPos:r,data:i}){const a=i.label??n;return[t.h(Ht,{type:"target",position:e,connectable:o,isValidConnection:r}),typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a])]};Bi.props=["targetPosition","label","isValidTargetPos","connectable","data"],Bi.inheritAttrs=!1,Bi.compatConfig={MODE:3};const dI=Bi,Vi=function({sourcePosition:e=Ce.Bottom,label:n,connectable:o=!0,isValidSourcePos:r,data:i}){const a=i.label??n;return[typeof a!="string"&&a?t.h(a):t.h(t.Fragment,[a]),t.h(Ht,{type:"source",position:e,connectable:o,isValidConnection:r})]};Vi.props=["sourcePosition","label","isValidSourcePos","connectable","data"],Vi.inheritAttrs=!1,Vi.compatConfig={MODE:3};const uI=Vi,fI=["transform"],pI=["width","height","x","y","rx","ry"],mI=["y"],gI={name:"EdgeText",compatConfig:{MODE:3}},hI=t.defineComponent({...gI,props:{x:{},y:{},label:{},labelStyle:{default:()=>({})},labelShowBg:{type:Boolean,default:!0},labelBgStyle:{default:()=>({})},labelBgPadding:{default:()=>[2,4]},labelBgBorderRadius:{default:2}},setup(e){const n=t.ref({x:0,y:0,width:0,height:0}),o=t.ref(null),r=t.computed(()=>`translate(${e.x-n.value.width/2} ${e.y-n.value.height/2})`);t.onMounted(i),t.watch([()=>e.x,()=>e.y,o,()=>e.label],i);function i(){if(!o.value)return;const a=o.value.getBBox();(a.width!==n.value.width||a.height!==n.value.height)&&(n.value=a)}return(a,l)=>(t.openBlock(),t.createElementBlock("g",{transform:r.value,class:"vue-flow__edge-textwrapper"},[a.labelShowBg?(t.openBlock(),t.createElementBlock("rect",{key:0,class:"vue-flow__edge-textbg",width:`${n.value.width+2*a.labelBgPadding[0]}px`,height:`${n.value.height+2*a.labelBgPadding[1]}px`,x:-a.labelBgPadding[0],y:-a.labelBgPadding[1],style:t.normalizeStyle(a.labelBgStyle),rx:a.labelBgBorderRadius,ry:a.labelBgBorderRadius},null,12,pI)):t.createCommentVNode("",!0),t.createElementVNode("text",t.mergeProps(a.$attrs,{ref_key:"el",ref:o,class:"vue-flow__edge-text",y:n.value.height/2,dy:"0.3em",style:a.labelStyle}),[t.renderSlot(a.$slots,"default",{},()=>[typeof a.label!="string"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(a.label),{key:0})):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[t.createTextVNode(t.toDisplayString(a.label),1)],64))])],16,mI)],8,fI))}}),yI=["id","d","marker-end","marker-start"],_I=["d","stroke-width"],bI={name:"BaseEdge",inheritAttrs:!1,compatConfig:{MODE:3}},Ri=t.defineComponent({...bI,props:{id:{},labelX:{},labelY:{},path:{},label:{},markerStart:{},markerEnd:{},interactionWidth:{default:20},labelStyle:{},labelShowBg:{type:Boolean},labelBgStyle:{},labelBgPadding:{},labelBgBorderRadius:{}},setup(e,{expose:n}){const o=t.ref(null),r=t.ref(null),i=t.ref(null),a=t.useAttrs();return n({pathEl:o,interactionEl:r,labelEl:i}),(l,s)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("path",t.mergeProps(t.unref(a),{id:l.id,ref_key:"pathEl",ref:o,d:l.path,class:"vue-flow__edge-path","marker-end":l.markerEnd,"marker-start":l.markerStart}),null,16,yI),l.interactionWidth?(t.openBlock(),t.createElementBlock("path",{key:0,ref_key:"interactionEl",ref:r,fill:"none",d:l.path,"stroke-width":l.interactionWidth,"stroke-opacity":0,class:"vue-flow__edge-interaction"},null,8,_I)):t.createCommentVNode("",!0),l.label&&l.labelX&&l.labelY?(t.openBlock(),t.createBlock(hI,{key:1,ref_key:"labelEl",ref:i,x:l.labelX,y:l.labelY,label:l.label,"label-show-bg":l.labelShowBg,"label-bg-style":l.labelBgStyle,"label-bg-padding":l.labelBgPadding,"label-bg-border-radius":l.labelBgBorderRadius,"label-style":l.labelStyle},null,8,["x","y","label","label-show-bg","label-bg-style","label-bg-padding","label-bg-border-radius","label-style"])):t.createCommentVNode("",!0)],64))}});function Ep({sourceX:e,sourceY:n,targetX:o,targetY:r}){const i=Math.abs(o-e)/2,a=o<e?o+i:o-i,l=Math.abs(r-n)/2,s=r<n?r+l:r-l;return[a,s,i,l]}function Np({sourceX:e,sourceY:n,targetX:o,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:l,targetControlY:s}){const c=e*.125+i*.375+l*.375+o*.125,u=n*.125+a*.375+s*.375+r*.125,f=Math.abs(c-e),d=Math.abs(u-n);return[c,u,f,d]}function Di(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Sp({pos:e,x1:n,y1:o,x2:r,y2:i,c:a}){let l,s;switch(e){case Ce.Left:l=n-Di(n-r,a),s=o;break;case Ce.Right:l=n+Di(r-n,a),s=o;break;case Ce.Top:l=n,s=o-Di(o-i,a);break;case Ce.Bottom:l=n,s=o+Di(i-o,a);break}return[l,s]}function xp(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ce.Bottom,targetX:i,targetY:a,targetPosition:l=Ce.Top,curvature:s=.25}=e,[c,u]=Sp({pos:r,x1:n,y1:o,x2:i,y2:a,c:s}),[f,d]=Sp({pos:l,x1:i,y1:a,x2:n,y2:o,c:s}),[p,m,y,_]=Np({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:c,sourceControlY:u,targetControlX:f,targetControlY:d});return[`M${n},${o} C${c},${u} ${f},${d} ${i},${a}`,p,m,y,_]}function vp({pos:e,x1:n,y1:o,x2:r,y2:i}){let a,l;switch(e){case Ce.Left:case Ce.Right:a=.5*(n+r),l=o;break;case Ce.Top:case Ce.Bottom:a=n,l=.5*(o+i);break}return[a,l]}function Ap(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ce.Bottom,targetX:i,targetY:a,targetPosition:l=Ce.Top}=e,[s,c]=vp({pos:r,x1:n,y1:o,x2:i,y2:a}),[u,f]=vp({pos:l,x1:i,y1:a,x2:n,y2:o}),[d,p,m,y]=Np({sourceX:n,sourceY:o,targetX:i,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:u,targetControlY:f});return[`M${n},${o} C${s},${c} ${u},${f} ${i},${a}`,d,p,m,y]}const Ip={[Ce.Left]:{x:-1,y:0},[Ce.Right]:{x:1,y:0},[Ce.Top]:{x:0,y:-1},[Ce.Bottom]:{x:0,y:1}};function wI({source:e,sourcePosition:n=Ce.Bottom,target:o}){return n===Ce.Left||n===Ce.Right?e.x<o.x?{x:1,y:0}:{x:-1,y:0}:e.y<o.y?{x:0,y:1}:{x:0,y:-1}}function Tp(e,n){return Math.sqrt((n.x-e.x)**2+(n.y-e.y)**2)}function kI({source:e,sourcePosition:n=Ce.Bottom,target:o,targetPosition:r=Ce.Top,center:i,offset:a}){const l=Ip[n],s=Ip[r],c={x:e.x+l.x*a,y:e.y+l.y*a},u={x:o.x+s.x*a,y:o.y+s.y*a},f=wI({source:c,sourcePosition:n,target:u}),d=f.x!==0?"x":"y",p=f[d];let m,y,_;const g={x:0,y:0},h={x:0,y:0},[w,b,N,C]=Ep({sourceX:e.x,sourceY:e.y,targetX:o.x,targetY:o.y});if(l[d]*s[d]===-1){y=i.x??w,_=i.y??b;const E=[{x:y,y:c.y},{x:y,y:u.y}],v=[{x:c.x,y:_},{x:u.x,y:_}];l[d]===p?m=d==="x"?E:v:m=d==="x"?v:E}else{const E=[{x:c.x,y:u.y}],v=[{x:u.x,y:c.y}];if(d==="x"?m=l.x===p?v:E:m=l.y===p?E:v,n===r){const Q=Math.abs(e[d]-o[d]);if(Q<=a){const I=Math.min(a-1,a-Q);l[d]===p?g[d]=(c[d]>e[d]?-1:1)*I:h[d]=(u[d]>o[d]?-1:1)*I}}if(n!==r){const Q=d==="x"?"y":"x",I=l[d]===s[Q],G=c[Q]>u[Q],U=c[Q]<u[Q];(l[d]===1&&(!I&&G||I&&U)||l[d]!==1&&(!I&&U||I&&G))&&(m=d==="x"?E:v)}const $={x:c.x+g.x,y:c.y+g.y},K={x:u.x+h.x,y:u.y+h.y},j=Math.max(Math.abs($.x-m[0].x),Math.abs(K.x-m[0].x)),S=Math.max(Math.abs($.y-m[0].y),Math.abs(K.y-m[0].y));j>=S?(y=($.x+K.x)/2,_=m[0].y):(y=m[0].x,_=($.y+K.y)/2)}return[[e,{x:c.x+g.x,y:c.y+g.y},...m,{x:u.x+h.x,y:u.y+h.y},o],y,_,N,C]}function CI(e,n,o,r){const i=Math.min(Tp(e,n)/2,Tp(n,o)/2,r),{x:a,y:l}=n;if(e.x===a&&a===o.x||e.y===l&&l===o.y)return`L${a} ${l}`;if(e.y===l){const u=e.x<o.x?-1:1,f=e.y<o.y?1:-1;return`L ${a+i*u},${l}Q ${a},${l} ${a},${l+i*f}`}const s=e.x<o.x?1:-1,c=e.y<o.y?-1:1;return`L ${a},${l+i*c}Q ${a},${l} ${a+i*s},${l}`}function Xl(e){const{sourceX:n,sourceY:o,sourcePosition:r=Ce.Bottom,targetX:i,targetY:a,targetPosition:l=Ce.Top,borderRadius:s=5,centerX:c,centerY:u,offset:f=20}=e,[d,p,m,y,_]=kI({source:{x:n,y:o},sourcePosition:r,target:{x:i,y:a},targetPosition:l,center:{x:c,y:u},offset:f});return[d.reduce((h,w,b)=>{let N;return b>0&&b<d.length-1?N=CI(d[b-1],w,d[b+1],s):N=`${b===0?"M":"L"}${w.x} ${w.y}`,h+=N,h},""),p,m,y,_]}function EI(e){const{sourceX:n,sourceY:o,targetX:r,targetY:i}=e,[a,l,s,c]=Ep({sourceX:n,sourceY:o,targetX:r,targetY:i});return[`M ${n},${o}L ${r},${i}`,a,l,s,c]}const NI=t.defineComponent({name:"StraightEdge",props:["label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=EI(e);return t.h(Ri,{path:o,labelX:r,labelY:i,...n,...e})}}}),Pp=t.defineComponent({name:"SmoothStepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","borderRadius","markerEnd","markerStart","interactionWidth","offset"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Xl({...e,sourcePosition:e.sourcePosition??Ce.Bottom,targetPosition:e.targetPosition??Ce.Top});return t.h(Ri,{path:o,labelX:r,labelY:i,...n,...e})}}}),SI=t.defineComponent({name:"StepEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],setup(e,{attrs:n}){return()=>t.h(Pp,{...e,...n,borderRadius:0})}}),xI=t.defineComponent({name:"BezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","curvature","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=xp({...e,sourcePosition:e.sourcePosition??Ce.Bottom,targetPosition:e.targetPosition??Ce.Top});return t.h(Ri,{path:o,labelX:r,labelY:i,...n,...e})}}}),vI=t.defineComponent({name:"SimpleBezierEdge",props:["sourcePosition","targetPosition","label","labelStyle","labelShowBg","labelBgStyle","labelBgPadding","labelBgBorderRadius","sourceY","sourceX","targetX","targetY","markerEnd","markerStart","interactionWidth"],compatConfig:{MODE:3},setup(e,{attrs:n}){return()=>{const[o,r,i]=Ap({...e,sourcePosition:e.sourcePosition??Ce.Bottom,targetPosition:e.targetPosition??Ce.Top});return t.h(Ri,{path:o,labelX:r,labelY:i,...n,...e})}}}),AI={input:uI,default:cI,output:dI},II={default:xI,straight:NI,step:SI,smoothstep:Pp,simplebezier:vI};function TI(e,n,o){const r=t.computed(()=>_=>n.value.get(_)),i=t.computed(()=>_=>o.value.get(_)),a=t.computed(()=>{const _={...II,...e.edgeTypes},g=Object.keys(_);for(const h of e.edges)h.type&&!g.includes(h.type)&&(_[h.type]=h.type);return _}),l=t.computed(()=>{const _={...AI,...e.nodeTypes},g=Object.keys(_);for(const h of e.nodes)h.type&&!g.includes(h.type)&&(_[h.type]=h.type);return _}),s=t.computed(()=>e.onlyRenderVisibleElements?Yf(e.nodes,{x:0,y:0,width:e.dimensions.width,height:e.dimensions.height},e.viewport,!0):e.nodes),c=t.computed(()=>{if(e.onlyRenderVisibleElements){const _=[];for(const g of e.edges){const h=n.value.get(g.source),w=n.value.get(g.target);PA({sourcePos:h.computedPosition||{x:0,y:0},targetPos:w.computedPosition||{x:0,y:0},sourceWidth:h.dimensions.width,sourceHeight:h.dimensions.height,targetWidth:w.dimensions.width,targetHeight:w.dimensions.height,width:e.dimensions.width,height:e.dimensions.height,viewport:e.viewport})&&_.push(g)}return _}return e.edges}),u=t.computed(()=>[...s.value,...c.value]),f=t.computed(()=>{const _=[];for(const g of e.nodes)g.selected&&_.push(g);return _}),d=t.computed(()=>{const _=[];for(const g of e.edges)g.selected&&_.push(g);return _}),p=t.computed(()=>[...f.value,...d.value]),m=t.computed(()=>{const _=[];for(const g of e.nodes)g.dimensions.width&&g.dimensions.height&&g.handleBounds!==void 0&&_.push(g);return _}),y=t.computed(()=>s.value.length>0&&m.value.length===s.value.length);return{getNode:r,getEdge:i,getElements:u,getEdgeTypes:a,getNodeTypes:l,getEdges:c,getNodes:s,getSelectedElements:p,getSelectedNodes:f,getSelectedEdges:d,getNodesInitialized:m,areNodesInitialized:y}}class Fn{constructor(){this.currentId=0,this.flows=new Map}static getInstance(){var n;const o=(n=t.getCurrentInstance())==null?void 0:n.appContext.app,r=(o==null?void 0:o.config.globalProperties.$vueFlowStorage)??Fn.instance;return Fn.instance=r??new Fn,o&&(o.config.globalProperties.$vueFlowStorage=Fn.instance),Fn.instance}set(n,o){return this.flows.set(n,o)}get(n){return this.flows.get(n)}remove(n){return this.flows.delete(n)}create(n,o){const r=Cp(),i=t.reactive(r),a={};for(const[p,m]of Object.entries(i.hooks)){const y=`on${p.charAt(0).toUpperCase()+p.slice(1)}`;a[y]=m.on}const l={};for(const[p,m]of Object.entries(i.hooks))l[p]=m.trigger;const s=t.computed(()=>{const p=new Map;for(const m of i.nodes)p.set(m.id,m);return p}),c=t.computed(()=>{const p=new Map;for(const m of i.edges)p.set(m.id,m);return p}),u=TI(i,s,c),f=aI(i,s,c);f.setState({...i,...o});const d={...a,...u,...f,...A1(i),nodeLookup:s,edgeLookup:c,emits:l,id:n,vueFlowVersion:"1.45.0",$destroy:()=>{this.remove(n)}};return this.set(n,d),d}getId(){return`vue-flow-${this.currentId++}`}}function je(e){const n=Fn.getInstance(),o=t.getCurrentScope(),r=typeof e=="object",i=r?e:{id:e},a=i.id,l=a??(o==null?void 0:o.vueFlowId);let s;if(o){const c=t.inject(gp,null);typeof c<"u"&&c!==null&&(!l||c.id===l)&&(s=c)}if(s||l&&(s=n.get(l)),!s||l&&s.id!==l){const c=a??n.getId(),u=n.create(c,i);s=u,(o??t.effectScope(!0)).run(()=>{t.watch(u.applyDefault,(d,p,m)=>{const y=g=>{u.applyNodeChanges(g)},_=g=>{u.applyEdgeChanges(g)};d?(u.onNodesChange(y),u.onEdgesChange(_)):(u.hooks.value.nodesChange.off(y),u.hooks.value.edgesChange.off(_)),m(()=>{u.hooks.value.nodesChange.off(y),u.hooks.value.edgesChange.off(_)})},{immediate:!0}),ni(()=>{if(s){const d=n.get(s.id);d?d.$destroy():Ti(`No store instance found for id ${s.id} in storage.`)}})})}else r&&s.setState(i);if(o&&(t.provide(gp,s),o.vueFlowId=s.id),r){const c=t.getCurrentInstance();(c==null?void 0:c.type.name)!=="VueFlow"&&s.emits.error(new at(Je.USEVUEFLOW_OPTIONS))}return s}function PI(e){const{emits:n,dimensions:o}=je();let r;t.onMounted(()=>{const i=e.value,a=()=>{if(!i)return;const l=xi(i);(l.width===0||l.height===0)&&n.error(new at(Je.MISSING_VIEWPORT_DIMENSIONS)),o.value={width:l.width||500,height:l.height||500}};a(),window.addEventListener("resize",a),i&&(r=new ResizeObserver(()=>a()),r.observe(i)),t.onBeforeUnmount(()=>{window.removeEventListener("resize",a),r&&i&&r.unobserve(i)})})}const OI={name:"UserSelection",compatConfig:{MODE:3}},$I=t.defineComponent({...OI,props:{userSelectionRect:{}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__selection vue-flow__container",style:t.normalizeStyle({width:`${n.userSelectionRect.width}px`,height:`${n.userSelectionRect.height}px`,transform:`translate(${n.userSelectionRect.x}px, ${n.userSelectionRect.y}px)`})},null,4))}}),BI=["tabIndex"],VI={name:"NodesSelection",compatConfig:{MODE:3}},RI=t.defineComponent({...VI,setup(e){const{emits:n,viewport:o,getSelectedNodes:r,noPanClassName:i,disableKeyboardA11y:a,userSelectionActive:l}=je(),s=kp(),c=t.ref(null),u=_p({el:c,onStart(y){n.selectionDragStart(y)},onDrag(y){n.selectionDrag(y)},onStop(y){n.selectionDragStop(y)}});t.onMounted(()=>{var y;a.value||(y=c.value)==null||y.focus({preventScroll:!0})});const f=t.computed(()=>Hf(r.value)),d=t.computed(()=>({width:`${f.value.width}px`,height:`${f.value.height}px`,top:`${f.value.y}px`,left:`${f.value.x}px`}));function p(y){n.selectionContextMenu({event:y,nodes:r.value})}function m(y){a||ko[y.key]&&(y.preventDefault(),s({x:ko[y.key].x,y:ko[y.key].y},y.shiftKey))}return(y,_)=>!t.unref(l)&&f.value.width&&f.value.height?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["vue-flow__nodesselection vue-flow__container",t.unref(i)]),style:t.normalizeStyle({transform:`translate(${t.unref(o).x}px,${t.unref(o).y}px) scale(${t.unref(o).zoom})`})},[t.createElementVNode("div",{ref_key:"el",ref:c,class:t.normalizeClass([{dragging:t.unref(u)},"vue-flow__nodesselection-rect"]),style:t.normalizeStyle(d.value),tabIndex:t.unref(a)?void 0:-1,onContextmenu:p,onKeydown:m},null,46,BI)],6)):t.createCommentVNode("",!0)}});function DI(e,n){return{x:e.clientX-n.left,y:e.clientY-n.top}}const MI={name:"Pane",compatConfig:{MODE:3}},LI=t.defineComponent({...MI,props:{isSelecting:{type:Boolean},selectionKeyPressed:{type:Boolean}},setup(e){const{vueFlowRef:n,nodes:o,viewport:r,emits:i,userSelectionActive:a,removeSelectedElements:l,userSelectionRect:s,elementsSelectable:c,nodesSelectionActive:u,getSelectedEdges:f,getSelectedNodes:d,removeNodes:p,removeEdges:m,selectionMode:y,deleteKeyCode:_,multiSelectionKeyCode:g,multiSelectionActive:h,edgeLookup:w,nodeLookup:b,connectionLookup:N,defaultEdgeOptions:C,connectionStartHandle:k}=je(),E=t.ref(null),v=t.ref(new Set),$=t.ref(new Set),K=t.ref(),j=t.toRef(()=>c.value&&(e.isSelecting||a.value)),S=t.toRef(()=>k.value!==null);let Q=!1,I=!1;const G=cr(_,{actInsideInputWithModifier:!1}),U=cr(g);t.watch(G,z=>{z&&(p(d.value),m(f.value),u.value=!1)}),t.watch(U,z=>{h.value=z});function ee(z,ne){return oe=>{oe.target===ne&&(z==null||z(oe))}}function M(z){if(Q||S.value){Q=!1;return}i.paneClick(z),l(),u.value=!1}function O(z){z.preventDefault(),z.stopPropagation(),i.paneContextMenu(z)}function A(z){i.paneScroll(z)}function P(z){var ne,oe,se;if(K.value=(ne=n.value)==null?void 0:ne.getBoundingClientRect(),!c.value||!e.isSelecting||z.button!==0||z.target!==E.value||!K.value)return;(se=(oe=z.target)==null?void 0:oe.setPointerCapture)==null||se.call(oe,z.pointerId);const{x:he,y:Z}=DI(z,K.value);I=!0,Q=!1,l(),s.value={width:0,height:0,startX:he,startY:Z,x:he,y:Z},i.selectionStart(z)}function T(z){var ne;if(!K.value||!s.value)return;Q=!0;const{x:oe,y:se}=zt(z,K.value),{startX:he=0,startY:Z=0}=s.value,ae={startX:he,startY:Z,x:oe<he?oe:he,y:se<Z?se:Z,width:Math.abs(oe-he),height:Math.abs(se-Z)},ie=v.value,ue=$.value;v.value=new Set(Yf(o.value,ae,r.value,y.value===Rl.Partial,!0).map(V=>V.id)),$.value=new Set;const de=((ne=C.value)==null?void 0:ne.selectable)??!0;for(const V of v.value){const D=N.value.get(V);if(D)for(const{edgeId:F}of D.values()){const R=w.value.get(F);R&&(R.selectable??de)&&$.value.add(F)}}if(!mp(ie,v.value)){const V=yn(b.value,v.value,!0);i.nodesChange(V)}if(!mp(ue,$.value)){const V=yn(w.value,$.value);i.edgesChange(V)}s.value=ae,a.value=!0,u.value=!1}function Y(z){var ne;z.button!==0||!I||((ne=z.target)==null||ne.releasePointerCapture(z.pointerId),!a.value&&s.value&&z.target===E.value&&M(z),a.value=!1,s.value=null,u.value=v.value.size>0,i.selectionEnd(z),e.selectionKeyPressed&&(Q=!1),I=!1)}return(z,ne)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"container",ref:E,class:t.normalizeClass(["vue-flow__pane vue-flow__container",{selection:z.isSelecting}]),onClick:ne[0]||(ne[0]=oe=>j.value?void 0:ee(M,E.value)(oe)),onContextmenu:ne[1]||(ne[1]=oe=>ee(O,E.value)(oe)),onWheelPassive:ne[2]||(ne[2]=oe=>ee(A,E.value)(oe)),onPointerenter:ne[3]||(ne[3]=oe=>j.value?void 0:t.unref(i).paneMouseEnter(oe)),onPointerdown:ne[4]||(ne[4]=oe=>j.value?P(oe):t.unref(i).paneMouseMove(oe)),onPointermove:ne[5]||(ne[5]=oe=>j.value?T(oe):t.unref(i).paneMouseMove(oe)),onPointerup:ne[6]||(ne[6]=oe=>j.value?Y(oe):void 0),onPointerleave:ne[7]||(ne[7]=oe=>t.unref(i).paneMouseLeave(oe))},[t.renderSlot(z.$slots,"default"),t.unref(a)&&t.unref(s)?(t.openBlock(),t.createBlock($I,{key:0,"user-selection-rect":t.unref(s)},null,8,["user-selection-rect"])):t.createCommentVNode("",!0),t.unref(u)&&t.unref(d).length?(t.openBlock(),t.createBlock(RI,{key:1})):t.createCommentVNode("",!0)],34))}}),FI={name:"Transform",compatConfig:{MODE:3}},UI=t.defineComponent({...FI,setup(e){const{viewport:n,fitViewOnInit:o,fitViewOnInitDone:r}=je(),i=t.computed(()=>o.value?!r.value:!1),a=t.computed(()=>`translate(${n.value.x}px,${n.value.y}px) scale(${n.value.zoom})`);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:"vue-flow__transformationpane vue-flow__container",style:t.normalizeStyle({transform:a.value,opacity:i.value?0:void 0})},[t.renderSlot(l.$slots,"default")],4))}}),KI={name:"Viewport",compatConfig:{MODE:3}},jI=t.defineComponent({...KI,setup(e){const{minZoom:n,maxZoom:o,defaultViewport:r,translateExtent:i,zoomActivationKeyCode:a,selectionKeyCode:l,panActivationKeyCode:s,panOnScroll:c,panOnScrollMode:u,panOnScrollSpeed:f,panOnDrag:d,zoomOnDoubleClick:p,zoomOnPinch:m,zoomOnScroll:y,preventScrolling:_,noWheelClassName:g,noPanClassName:h,emits:w,connectionStartHandle:b,userSelectionActive:N,paneDragging:C,d3Zoom:k,d3Selection:E,d3ZoomHandler:v,viewport:$,viewportRef:K,paneClickDistance:j}=je();PI(K);const S=t.shallowRef(!1),Q=t.shallowRef(!1);let I=null,G=!1,U=0,ee={x:0,y:0,zoom:0};const M=cr(s),O=cr(l),A=cr(a),P=t.toRef(()=>(!O.value||O.value&&l.value===!0)&&(M.value||d.value)),T=t.toRef(()=>M.value||c.value),Y=t.toRef(()=>O.value||l.value===!0&&P.value!==!0);t.onMounted(()=>{if(!K.value){Ti("Viewport element is missing");return}const Z=K.value,ae=Z.getBoundingClientRect(),ie=fA().clickDistance(j.value).scaleExtent([n.value,o.value]).translateExtent(i.value),ue=Vt(Z).call(ie),de=ue.on("wheel.zoom"),V=wo.translate(r.value.x??0,r.value.y??0).scale(Mn(r.value.zoom??1,n.value,o.value)),D=[[0,0],[ae.width,ae.height]],F=ie.constrain()(V,D,i.value);ie.transform(ue,F),ie.wheelDelta(ne),k.value=ie,E.value=ue,v.value=de,$.value={x:F.x,y:F.y,zoom:F.k},ie.on("start",R=>{var X;if(!R.sourceEvent)return null;U=R.sourceEvent.button,S.value=!0;const q=se(R.transform);((X=R.sourceEvent)==null?void 0:X.type)==="mousedown"&&(C.value=!0),ee=q,w.viewportChangeStart(q),w.moveStart({event:R,flowTransform:q})}),ie.on("end",R=>{if(!R.sourceEvent)return null;if(S.value=!1,C.value=!1,z(P.value,U??0)&&!G&&w.paneContextMenu(R.sourceEvent),G=!1,oe(ee,R.transform)){const X=se(R.transform);ee=X,w.viewportChangeEnd(X),w.moveEnd({event:R,flowTransform:X})}}),ie.filter(R=>{var X;const q=A.value||y.value,re=m.value&&R.ctrlKey,x=R.button;if(x===1&&R.type==="mousedown"&&(he(R,"vue-flow__node")||he(R,"vue-flow__edge")))return!0;if(!P.value&&!q&&!T.value&&!p.value&&!m.value||N.value||!p.value&&R.type==="dblclick"||he(R,g.value)&&R.type==="wheel"||he(R,h.value)&&(R.type!=="wheel"||T.value&&R.type==="wheel"&&!A.value)||!m.value&&R.ctrlKey&&R.type==="wheel"||!q&&!T.value&&!re&&R.type==="wheel")return!1;if(!m&&R.type==="touchstart"&&((X=R.touches)==null?void 0:X.length)>1)return R.preventDefault(),!1;if(!P.value&&(R.type==="mousedown"||R.type==="touchstart")||l.value===!0&&Array.isArray(d.value)&&d.value.includes(0)&&x===0||Array.isArray(d.value)&&!d.value.includes(x)&&(R.type==="mousedown"||R.type==="touchstart"))return!1;const L=Array.isArray(d.value)&&d.value.includes(x)||l.value===!0&&Array.isArray(d.value)&&!d.value.includes(0)||!x||x<=1;return(!R.ctrlKey||M.value||R.type==="wheel")&&L}),t.watch([N,P],()=>{N.value&&!S.value?ie.on("zoom",null):N.value||ie.on("zoom",R=>{$.value={x:R.transform.x,y:R.transform.y,zoom:R.transform.k};const X=se(R.transform);G=z(P.value,U??0),w.viewportChange(X),w.move({event:R,flowTransform:X})})},{immediate:!0}),t.watch([N,T,u,A,m,_,g],()=>{T.value&&!A.value&&!N.value?ue.on("wheel.zoom",R=>{if(he(R,g.value))return!1;const X=A.value||y.value,q=m.value&&R.ctrlKey;if(!(!_.value||T.value||X||q))return!1;R.preventDefault(),R.stopImmediatePropagation();const x=ue.property("__zoom").k||1,L=Ai();if(!M.value&&R.ctrlKey&&m.value&&L){const be=Kt(R),le=ne(R),xe=x*2**le;ie.scaleTo(ue,xe,be,R);return}const B=R.deltaMode===1?20:1;let te=u.value===sr.Vertical?0:R.deltaX*B,J=u.value===sr.Horizontal?0:R.deltaY*B;!L&&R.shiftKey&&u.value!==sr.Vertical&&!te&&J&&(te=J,J=0),ie.translateBy(ue,-(te/x)*f.value,-(J/x)*f.value);const _e=se(ue.property("__zoom"));I&&clearTimeout(I),Q.value?(w.move({event:R,flowTransform:_e}),w.viewportChange(_e),I=setTimeout(()=>{w.moveEnd({event:R,flowTransform:_e}),w.viewportChangeEnd(_e),Q.value=!1},150)):(Q.value=!0,w.moveStart({event:R,flowTransform:_e}),w.viewportChangeStart(_e))},{passive:!1}):typeof de<"u"&&ue.on("wheel.zoom",function(R,X){const q=!_.value&&R.type==="wheel"&&!R.ctrlKey,re=A.value||y.value,x=m.value&&R.ctrlKey;if(!re&&!c.value&&!x&&R.type==="wheel"||q||he(R,g.value))return null;R.preventDefault(),de.call(this,R,X)},{passive:!1})},{immediate:!0})});function z(Z,ae){return ae===2&&Array.isArray(Z)&&Z.includes(2)}function ne(Z){const ae=Z.ctrlKey&&Ai()?10:1;return-Z.deltaY*(Z.deltaMode===1?.05:Z.deltaMode?1:.002)*ae}function oe(Z,ae){return Z.x!==ae.x&&!Number.isNaN(ae.x)||Z.y!==ae.y&&!Number.isNaN(ae.y)||Z.zoom!==ae.k&&!Number.isNaN(ae.k)}function se(Z){return{x:Z.x,y:Z.y,zoom:Z.k}}function he(Z,ae){return Z.target.closest(`.${ae}`)}return(Z,ae)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"viewportRef",ref:K,class:"vue-flow__viewport vue-flow__container"},[t.createVNode(LI,{"is-selecting":Y.value,"selection-key-pressed":t.unref(O),class:t.normalizeClass({connecting:!!t.unref(b),dragging:t.unref(C),draggable:t.unref(d)===!0||Array.isArray(t.unref(d))&&t.unref(d).includes(0)})},{default:t.withCtx(()=>[t.createVNode(UI,null,{default:t.withCtx(()=>[t.renderSlot(Z.$slots,"default")]),_:3})]),_:3},8,["is-selecting","selection-key-pressed","class"])],512))}}),GI=["id"],qI=["id"],zI=["id"],HI={name:"A11yDescriptions",compatConfig:{MODE:3}},YI=t.defineComponent({...HI,setup(e){const{id:n,disableKeyboardA11y:o,ariaLiveMessage:r}=je();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",{id:`${t.unref(Mf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select a node. "+t.toDisplayString(t.unref(o)?"":"You can then use the arrow keys to move the node around.")+" You can then use the arrow keys to move the node around, press delete to remove it and press escape to cancel. ",9,GI),t.createElementVNode("div",{id:`${t.unref(Lf)}-${t.unref(n)}`,style:{display:"none"}}," Press enter or space to select an edge. You can then press delete to remove it or press escape to cancel. ",8,qI),t.unref(o)?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:0,id:`${t.unref(_A)}-${t.unref(n)}`,"aria-live":"assertive","aria-atomic":"true",style:{position:"absolute",width:"1px",height:"1px",margin:"-1px",border:"0",padding:"0",overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)","clip-path":"inset(100%)"}},t.toDisplayString(t.unref(r)),9,zI))],64))}});function WI(){const e=je();t.watch(()=>e.viewportHelper.value.viewportInitialized,n=>{n&&setTimeout(()=>{e.emits.init(e),e.emits.paneReady(e)},1)})}function XI(e,n,o){return o===Ce.Left?e-n:o===Ce.Right?e+n:e}function ZI(e,n,o){return o===Ce.Top?e-n:o===Ce.Bottom?e+n:e}const Zl=function({radius:e=10,centerX:n=0,centerY:o=0,position:r=Ce.Top,type:i}){return t.h("circle",{class:`vue-flow__edgeupdater vue-flow__edgeupdater-${i}`,cx:XI(n,e,r),cy:ZI(o,e,r),r:e,stroke:"transparent",fill:"transparent"})};Zl.props=["radius","centerX","centerY","position","type"],Zl.compatConfig={MODE:3};const Op=Zl,JI=t.defineComponent({name:"Edge",compatConfig:{MODE:3},props:["id"],setup(e){const{id:n,addSelectedEdges:o,connectionMode:r,edgeUpdaterRadius:i,emits:a,nodesSelectionActive:l,noPanClassName:s,getEdgeTypes:c,removeSelectedEdges:u,findEdge:f,findNode:d,isValidConnection:p,multiSelectionActive:m,disableKeyboardA11y:y,elementsSelectable:_,edgesUpdatable:g,edgesFocusable:h,hooks:w}=je(),b=t.computed(()=>f(e.id)),{emit:N,on:C}=YA(b.value,a),k=t.inject(Pi),E=t.getCurrentInstance(),v=t.ref(!1),$=t.ref(!1),K=t.ref(""),j=t.ref(null),S=t.ref("source"),Q=t.ref(null),I=t.toRef(()=>typeof b.value.selectable>"u"?_.value:b.value.selectable),G=t.toRef(()=>typeof b.value.updatable>"u"?g.value:b.value.updatable),U=t.toRef(()=>typeof b.value.focusable>"u"?h.value:b.value.focusable);t.provide(qA,e.id),t.provide(zA,Q);const ee=t.computed(()=>b.value.class instanceof Function?b.value.class(b.value):b.value.class),M=t.computed(()=>b.value.style instanceof Function?b.value.style(b.value):b.value.style),O=t.computed(()=>{const D=b.value.type||"default",F=k==null?void 0:k[`edge-${D}`];if(F)return F;let R=b.value.template??c.value[D];if(typeof R=="string"&&E){const X=Object.keys(E.appContext.components);X&&X.includes(D)&&(R=t.resolveComponent(D,!1))}return R&&typeof R!="string"?R:(a.error(new at(Je.EDGE_TYPE_MISSING,R)),!1)}),{handlePointerDown:A}=bp({nodeId:K,handleId:j,type:S,isValidConnection:p,edgeUpdaterType:S,onEdgeUpdate:Y,onEdgeUpdateEnd:z});return()=>{const D=d(b.value.source),F=d(b.value.target),R="pathOptions"in b.value?b.value.pathOptions:{};if(!D&&!F)return a.error(new at(Je.EDGE_SOURCE_TARGET_MISSING,b.value.id,b.value.source,b.value.target)),null;if(!D)return a.error(new at(Je.EDGE_SOURCE_MISSING,b.value.id,b.value.source)),null;if(!F)return a.error(new at(Je.EDGE_TARGET_MISSING,b.value.id,b.value.target)),null;if(!b.value||b.value.hidden||D.hidden||F.hidden)return null;let X;r.value===mn.Strict?X=D.handleBounds.source:X=[...D.handleBounds.source||[],...D.handleBounds.target||[]];const q=ap(X,b.value.sourceHandle);let re;r.value===mn.Strict?re=F.handleBounds.target:re=[...F.handleBounds.target||[],...F.handleBounds.source||[]];const x=ap(re,b.value.targetHandle),L=(q==null?void 0:q.position)||Ce.Bottom,B=(x==null?void 0:x.position)||Ce.Top,{x:te,y:J}=Co(D,q,L),{x:_e,y:be}=Co(F,x,B);return b.value.sourceX=te,b.value.sourceY=J,b.value.targetX=_e,b.value.targetY=be,t.h("g",{ref:Q,key:e.id,"data-id":e.id,class:["vue-flow__edge",`vue-flow__edge-${O.value===!1?"default":b.value.type||"default"}`,s.value,ee.value,{updating:v.value,selected:b.value.selected,animated:b.value.animated,inactive:!I.value&&!w.value.edgeClick.hasListeners()}],tabIndex:U.value?0:void 0,"aria-label":b.value.ariaLabel===null?void 0:b.value.ariaLabel??`Edge from ${b.value.source} to ${b.value.target}`,"aria-describedby":U.value?`${Lf}-${n}`:void 0,"aria-roledescription":"edge",role:U.value?"group":"img",...b.value.domAttributes,onClick:oe,onContextmenu:se,onDblclick:he,onMouseenter:Z,onMousemove:ae,onMouseleave:ie,onKeyDown:U.value?V:void 0},[$.value?null:t.h(O.value===!1?c.value.default:O.value,{id:e.id,sourceNode:D,targetNode:F,source:b.value.source,target:b.value.target,type:b.value.type,updatable:G.value,selected:b.value.selected,animated:b.value.animated,label:b.value.label,labelStyle:b.value.labelStyle,labelShowBg:b.value.labelShowBg,labelBgStyle:b.value.labelBgStyle,labelBgPadding:b.value.labelBgPadding,labelBgBorderRadius:b.value.labelBgBorderRadius,data:b.value.data,events:{...b.value.events,...C},style:M.value,markerStart:`url('#${fr(b.value.markerStart,n)}')`,markerEnd:`url('#${fr(b.value.markerEnd,n)}')`,sourcePosition:L,targetPosition:B,sourceX:te,sourceY:J,targetX:_e,targetY:be,sourceHandleId:b.value.sourceHandle,targetHandleId:b.value.targetHandle,interactionWidth:b.value.interactionWidth,...R}),[G.value==="source"||G.value===!0?[t.h("g",{onMousedown:ue,onMouseenter:P,onMouseout:T},t.h(Op,{position:L,centerX:te,centerY:J,radius:i.value,type:"source","data-type":"source"}))]:null,G.value==="target"||G.value===!0?[t.h("g",{onMousedown:de,onMouseenter:P,onMouseout:T},t.h(Op,{position:B,centerX:_e,centerY:be,radius:i.value,type:"target","data-type":"target"}))]:null]])};function P(){v.value=!0}function T(){v.value=!1}function Y(D,F){N.update({event:D,edge:b.value,connection:F})}function z(D){N.updateEnd({event:D,edge:b.value}),$.value=!1}function ne(D,F){D.button===0&&($.value=!0,K.value=F?b.value.target:b.value.source,j.value=(F?b.value.targetHandle:b.value.sourceHandle)??null,S.value=F?"target":"source",N.updateStart({event:D,edge:b.value}),A(D))}function oe(D){var F;const R={event:D,edge:b.value};I.value&&(l.value=!1,b.value.selected&&m.value?(u([b.value]),(F=Q.value)==null||F.blur()):o([b.value])),N.click(R)}function se(D){N.contextMenu({event:D,edge:b.value})}function he(D){N.doubleClick({event:D,edge:b.value})}function Z(D){N.mouseEnter({event:D,edge:b.value})}function ae(D){N.mouseMove({event:D,edge:b.value})}function ie(D){N.mouseLeave({event:D,edge:b.value})}function ue(D){ne(D,!0)}function de(D){ne(D,!1)}function V(D){var F;!y.value&&Ff.includes(D.key)&&I.value&&(D.key==="Escape"?((F=Q.value)==null||F.blur(),u([f(e.id)])):o([f(e.id)]))}}}),QI=t.defineComponent({name:"ConnectionLine",compatConfig:{MODE:3},setup(){var e;const{id:n,connectionMode:o,connectionStartHandle:r,connectionEndHandle:i,connectionPosition:a,connectionLineType:l,connectionLineStyle:s,connectionLineOptions:c,connectionStatus:u,viewport:f,findNode:d}=je(),p=(e=t.inject(Pi))==null?void 0:e["connection-line"],m=t.computed(()=>{var w;return d((w=r.value)==null?void 0:w.nodeId)}),y=t.computed(()=>{var w;return d((w=i.value)==null?void 0:w.nodeId)??null}),_=t.computed(()=>({x:(a.value.x-f.value.x)/f.value.zoom,y:(a.value.y-f.value.y)/f.value.zoom})),g=t.computed(()=>c.value.markerStart?`url(#${fr(c.value.markerStart,n)})`:""),h=t.computed(()=>c.value.markerEnd?`url(#${fr(c.value.markerEnd,n)})`:"");return()=>{var w,b,N;if(!m.value||!r.value)return null;const C=r.value.id,k=r.value.type,E=m.value.handleBounds;let v=(E==null?void 0:E[k])??[];if(o.value===mn.Loose){const M=(E==null?void 0:E[k==="source"?"target":"source"])??[];v=[...v,...M]}if(!v)return null;const $=(C?v.find(M=>M.id===C):v[0])??null,K=($==null?void 0:$.position)??Ce.Top,{x:j,y:S}=Co(m.value,$,K);let Q=null;y.value&&(o.value===mn.Strict?Q=((w=y.value.handleBounds[k==="source"?"target":"source"])==null?void 0:w.find(M=>{var O;return M.id===((O=i.value)==null?void 0:O.id)}))||null:Q=((b=[...y.value.handleBounds.source??[],...y.value.handleBounds.target??[]])==null?void 0:b.find(M=>{var O;return M.id===((O=i.value)==null?void 0:O.id)}))||null);const I=((N=i.value)==null?void 0:N.position)??(K?Gl[K]:null);if(!K||!I)return null;const G=l.value??c.value.type??Dn.Bezier;let U="";const ee={sourceX:j,sourceY:S,sourcePosition:K,targetX:_.value.x,targetY:_.value.y,targetPosition:I};return G===Dn.Bezier?[U]=xp(ee):G===Dn.Step?[U]=Xl({...ee,borderRadius:0}):G===Dn.SmoothStep?[U]=Xl(ee):G===Dn.SimpleBezier?[U]=Ap(ee):U=`M${j},${S} ${_.value.x},${_.value.y}`,t.h("svg",{class:"vue-flow__edges vue-flow__connectionline vue-flow__container"},t.h("g",{class:"vue-flow__connection"},p?t.h(p,{sourceX:j,sourceY:S,sourcePosition:K,targetX:_.value.x,targetY:_.value.y,targetPosition:I,sourceNode:m.value,sourceHandle:$,targetNode:y.value,targetHandle:Q,markerEnd:h.value,markerStart:g.value,connectionStatus:u.value}):t.h("path",{d:U,class:[c.value.class,u,"vue-flow__connection-path"],style:{...s.value,...c.value.style},"marker-end":h.value,"marker-start":g.value})))}}}),eT=["id","markerWidth","markerHeight","markerUnits","orient"],tT={name:"MarkerType",compatConfig:{MODE:3}},nT=t.defineComponent({...tT,props:{id:{},type:{},color:{default:"none"},width:{default:12.5},height:{default:12.5},markerUnits:{default:"strokeWidth"},orient:{default:"auto-start-reverse"},strokeWidth:{default:1}},setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("marker",{id:n.id,class:"vue-flow__arrowhead",viewBox:"-10 -10 20 20",refX:"0",refY:"0",markerWidth:`${n.width}`,markerHeight:`${n.height}`,markerUnits:n.markerUnits,orient:n.orient},[n.type===t.unref(lr).ArrowClosed?(t.openBlock(),t.createElementBlock("polyline",{key:0,style:t.normalizeStyle({stroke:n.color,fill:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",points:"-5,-4 0,0 -5,4 -5,-4"},null,4)):t.createCommentVNode("",!0),n.type===t.unref(lr).Arrow?(t.openBlock(),t.createElementBlock("polyline",{key:1,style:t.normalizeStyle({stroke:n.color,strokeWidth:n.strokeWidth}),"stroke-linecap":"round","stroke-linejoin":"round",fill:"none",points:"-5,-4 0,0 -5,4"},null,4)):t.createCommentVNode("",!0)],8,eT))}}),oT={class:"vue-flow__marker vue-flow__container","aria-hidden":"true"},rT={name:"MarkerDefinitions",compatConfig:{MODE:3}},iT=t.defineComponent({...rT,setup(e){const{id:n,edges:o,connectionLineOptions:r,defaultMarkerColor:i}=je(),a=t.computed(()=>{const l=new Set,s=[],c=u=>{if(u){const f=fr(u,n);l.has(f)||(typeof u=="object"?s.push({...u,id:f,color:u.color||i.value}):s.push({id:f,color:i.value,type:u}),l.add(f))}};for(const u of[r.value.markerEnd,r.value.markerStart])c(u);for(const u of o.value)for(const f of[u.markerStart,u.markerEnd])c(f);return s.sort((u,f)=>u.id.localeCompare(f.id))});return(l,s)=>(t.openBlock(),t.createElementBlock("svg",oT,[t.createElementVNode("defs",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(nT,{id:c.id,key:c.id,type:c.type,color:c.color,width:c.width,height:c.height,markerUnits:c.markerUnits,"stroke-width":c.strokeWidth,orient:c.orient},null,8,["id","type","color","width","height","markerUnits","stroke-width","orient"]))),128))])]))}}),aT={name:"Edges",compatConfig:{MODE:3}},lT=t.defineComponent({...aT,setup(e){const{findNode:n,getEdges:o,elevateEdgesOnSelect:r}=je();return(i,a)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(iT),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(o),l=>(t.openBlock(),t.createElementBlock("svg",{key:l.id,class:"vue-flow__edges vue-flow__container",style:t.normalizeStyle({zIndex:t.unref(OA)(l,t.unref(n),t.unref(r))})},[t.createVNode(t.unref(JI),{id:l.id},null,8,["id"])],4))),128)),t.createVNode(t.unref(QI))],64))}}),sT=t.defineComponent({name:"Node",compatConfig:{MODE:3},props:["id","resizeObserver"],setup(e){const{id:n,noPanClassName:o,selectNodesOnDrag:r,nodesSelectionActive:i,multiSelectionActive:a,emits:l,removeSelectedNodes:s,addSelectedNodes:c,updateNodeDimensions:u,onUpdateNodeInternals:f,getNodeTypes:d,nodeExtent:p,elevateNodesOnSelect:m,disableKeyboardA11y:y,ariaLiveMessage:_,snapToGrid:g,snapGrid:h,nodeDragThreshold:w,nodesDraggable:b,elementsSelectable:N,nodesConnectable:C,nodesFocusable:k,hooks:E}=je(),v=t.ref(null);t.provide(yp,v),t.provide(hp,e.id);const $=t.inject(Pi),K=t.getCurrentInstance(),j=kp(),{node:S,parentNode:Q}=wp(e.id),{emit:I,on:G}=JA(S,l),U=t.toRef(()=>typeof S.draggable>"u"?b.value:S.draggable),ee=t.toRef(()=>typeof S.selectable>"u"?N.value:S.selectable),M=t.toRef(()=>typeof S.connectable>"u"?C.value:S.connectable),O=t.toRef(()=>typeof S.focusable>"u"?k.value:S.focusable),A=t.computed(()=>ee.value||U.value||E.value.nodeClick.hasListeners()||E.value.nodeDoubleClick.hasListeners()||E.value.nodeMouseEnter.hasListeners()||E.value.nodeMouseMove.hasListeners()||E.value.nodeMouseLeave.hasListeners()),P=t.toRef(()=>!!S.dimensions.width&&!!S.dimensions.height),T=t.computed(()=>{const F=S.type||"default",R=$==null?void 0:$[`node-${F}`];if(R)return R;let X=S.template||d.value[F];if(typeof X=="string"&&K){const q=Object.keys(K.appContext.components);q&&q.includes(F)&&(X=t.resolveComponent(F,!1))}return X&&typeof X!="string"?X:(l.error(new at(Je.NODE_TYPE_MISSING,X)),!1)}),Y=_p({id:e.id,el:v,disabled:()=>!U.value,selectable:ee,dragHandle:()=>S.dragHandle,onStart(F){I.dragStart(F)},onDrag(F){I.drag(F)},onStop(F){I.dragStop(F)},onClick(F){V(F)}}),z=t.computed(()=>S.class instanceof Function?S.class(S):S.class),ne=t.computed(()=>{const F=(S.style instanceof Function?S.style(S):S.style)||{},R=S.width instanceof Function?S.width(S):S.width,X=S.height instanceof Function?S.height(S):S.height;return!F.width&&R&&(F.width=typeof R=="string"?R:`${R}px`),!F.height&&X&&(F.height=typeof X=="string"?X:`${X}px`),F}),oe=t.toRef(()=>Number(S.zIndex??ne.value.zIndex??0));return f(F=>{(F.includes(e.id)||!F.length)&&he()}),t.onMounted(()=>{t.watch(()=>S.hidden,(F=!1,R,X)=>{!F&&v.value&&(e.resizeObserver.observe(v.value),X(()=>{v.value&&e.resizeObserver.unobserve(v.value)}))},{immediate:!0,flush:"post"})}),t.watch([()=>S.type,()=>S.sourcePosition,()=>S.targetPosition],()=>{t.nextTick(()=>{u([{id:e.id,nodeElement:v.value,forceUpdate:!0}])})}),t.watch([()=>S.position.x,()=>S.position.y,()=>{var F;return(F=Q.value)==null?void 0:F.computedPosition.x},()=>{var F;return(F=Q.value)==null?void 0:F.computedPosition.y},()=>{var F;return(F=Q.value)==null?void 0:F.computedPosition.z},oe,()=>S.selected,()=>S.dimensions.height,()=>S.dimensions.width,()=>{var F;return(F=Q.value)==null?void 0:F.dimensions.height},()=>{var F;return(F=Q.value)==null?void 0:F.dimensions.width}],([F,R,X,q,re,x])=>{const L={x:F,y:R,z:x+(m.value&&S.selected?1e3:0)};typeof X<"u"&&typeof q<"u"?S.computedPosition=xA({x:X,y:q,z:re},L):S.computedPosition=L},{flush:"post",immediate:!0}),t.watch([()=>S.extent,p],([F,R],[X,q])=>{(F!==X||R!==q)&&se()}),S.extent==="parent"||typeof S.extent=="object"&&"range"in S.extent&&S.extent.range==="parent"?gl(()=>P).toBe(!0).then(se):se(),()=>S.hidden?null:t.h("div",{ref:v,"data-id":S.id,class:["vue-flow__node",`vue-flow__node-${T.value===!1?"default":S.type||"default"}`,{[o.value]:U.value,dragging:Y==null?void 0:Y.value,draggable:U.value,selected:S.selected,selectable:ee.value,parent:S.isParent},z.value],style:{visibility:P.value?"visible":"hidden",zIndex:S.computedPosition.z??oe.value,transform:`translate(${S.computedPosition.x}px,${S.computedPosition.y}px)`,pointerEvents:A.value?"all":"none",...ne.value},tabIndex:O.value?0:void 0,role:O.value?"group":void 0,"aria-describedby":y.value?void 0:`${Mf}-${n}`,"aria-label":S.ariaLabel,"aria-roledescription":"node",...S.domAttributes,onMouseenter:Z,onMousemove:ae,onMouseleave:ie,onContextmenu:ue,onClick:V,onDblclick:de,onKeydown:D},[t.h(T.value===!1?d.value.default:T.value,{id:S.id,type:S.type,data:S.data,events:{...S.events,...G},selected:S.selected,resizing:S.resizing,dragging:Y.value,connectable:M.value,position:S.computedPosition,dimensions:S.dimensions,isValidTargetPos:S.isValidTargetPos,isValidSourcePos:S.isValidSourcePos,parent:S.parentNode,parentNodeId:S.parentNode,zIndex:S.computedPosition.z??oe.value,targetPosition:S.targetPosition,sourcePosition:S.sourcePosition,label:S.label,dragHandle:S.dragHandle,onUpdateNodeInternals:he})]);function se(){const F=S.computedPosition,{computedPosition:R,position:X}=Ul(S,g.value?Ii(F,h.value):F,l.error,p.value,Q.value);(S.computedPosition.x!==R.x||S.computedPosition.y!==R.y)&&(S.computedPosition={...S.computedPosition,...R}),(S.position.x!==X.x||S.position.y!==X.y)&&(S.position=X)}function he(){v.value&&u([{id:e.id,nodeElement:v.value,forceUpdate:!0}])}function Z(F){Y!=null&&Y.value||I.mouseEnter({event:F,node:S})}function ae(F){Y!=null&&Y.value||I.mouseMove({event:F,node:S})}function ie(F){Y!=null&&Y.value||I.mouseLeave({event:F,node:S})}function ue(F){return I.contextMenu({event:F,node:S})}function de(F){return I.doubleClick({event:F,node:S})}function V(F){ee.value&&(!r.value||!U.value||w.value>0)&&ql(S,a.value,c,s,i,!1,v.value),I.click({event:F,node:S})}function D(F){if(!(Dl(F)||y.value))if(Ff.includes(F.key)&&ee.value){const R=F.key==="Escape";ql(S,a.value,c,s,i,R,v.value)}else U.value&&S.selected&&ko[F.key]&&(F.preventDefault(),_.value=`Moved selected node ${F.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~S.position.x}, y: ${~~S.position.y}`,j({x:ko[F.key].x,y:ko[F.key].y},F.shiftKey))}}});function cT(e={includeHiddenNodes:!1}){const{nodes:n}=je();return t.computed(()=>{if(n.value.length===0)return!1;for(const o of n.value)if((e.includeHiddenNodes||!o.hidden)&&((o==null?void 0:o.handleBounds)===void 0||o.dimensions.width===0||o.dimensions.height===0))return!1;return!0})}const dT={class:"vue-flow__nodes vue-flow__container"},uT={name:"Nodes",compatConfig:{MODE:3}},fT=t.defineComponent({...uT,setup(e){const{getNodes:n,updateNodeDimensions:o,emits:r}=je(),i=cT(),a=t.ref();return t.watch(i,l=>{l&&t.nextTick(()=>{r.nodesInitialized(n.value)})},{immediate:!0}),t.onMounted(()=>{a.value=new ResizeObserver(l=>{const s=l.map(c=>({id:c.target.getAttribute("data-id"),nodeElement:c.target,forceUpdate:!0}));t.nextTick(()=>o(s))})}),t.onBeforeUnmount(()=>{var l;return(l=a.value)==null?void 0:l.disconnect()}),(l,s)=>(t.openBlock(),t.createElementBlock("div",dT,[a.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(t.unref(n),(c,u,f,d)=>{const p=[c.id];if(d&&d.key===c.id&&t.isMemoSame(d,p))return d;const m=(t.openBlock(),t.createBlock(t.unref(sT),{id:c.id,key:c.id,"resize-observer":a.value},null,8,["id","resize-observer"]));return m.memo=p,m},s,0),128)):t.createCommentVNode("",!0)]))}});function pT(){const{emits:e}=je();t.onMounted(()=>{if(dp()){const n=document.querySelector(".vue-flow__pane");n&&window.getComputedStyle(n).zIndex!=="1"&&e.error(new at(Je.MISSING_STYLES))}})}const mT=t.createElementVNode("div",{class:"vue-flow__edge-labels"},null,-1),gT={name:"VueFlow",compatConfig:{MODE:3}},$p=t.defineComponent({...gT,props:{id:{},modelValue:{},nodes:{},edges:{},edgeTypes:{},nodeTypes:{},connectionMode:{},connectionLineType:{},connectionLineStyle:{default:void 0},connectionLineOptions:{default:void 0},connectionRadius:{},isValidConnection:{type:[Function,null],default:void 0},deleteKeyCode:{default:void 0},selectionKeyCode:{type:[Boolean,null],default:void 0},multiSelectionKeyCode:{default:void 0},zoomActivationKeyCode:{default:void 0},panActivationKeyCode:{default:void 0},snapToGrid:{type:Boolean,default:void 0},snapGrid:{},onlyRenderVisibleElements:{type:Boolean,default:void 0},edgesUpdatable:{type:[Boolean,String],default:void 0},nodesDraggable:{type:Boolean,default:void 0},nodesConnectable:{type:Boolean,default:void 0},nodeDragThreshold:{},elementsSelectable:{type:Boolean,default:void 0},selectNodesOnDrag:{type:Boolean,default:void 0},panOnDrag:{type:[Boolean,Array],default:void 0},minZoom:{},maxZoom:{},defaultViewport:{},translateExtent:{},nodeExtent:{},defaultMarkerColor:{},zoomOnScroll:{type:Boolean,default:void 0},zoomOnPinch:{type:Boolean,default:void 0},panOnScroll:{type:Boolean,default:void 0},panOnScrollSpeed:{},panOnScrollMode:{},paneClickDistance:{},zoomOnDoubleClick:{type:Boolean,default:void 0},preventScrolling:{type:Boolean,default:void 0},selectionMode:{},edgeUpdaterRadius:{},fitViewOnInit:{type:Boolean,default:void 0},connectOnClick:{type:Boolean,default:void 0},applyDefault:{type:Boolean,default:void 0},autoConnect:{type:[Boolean,Function],default:void 0},noDragClassName:{},noWheelClassName:{},noPanClassName:{},defaultEdgeOptions:{},elevateEdgesOnSelect:{type:Boolean,default:void 0},elevateNodesOnSelect:{type:Boolean,default:void 0},disableKeyboardA11y:{type:Boolean,default:void 0},edgesFocusable:{type:Boolean,default:void 0},nodesFocusable:{type:Boolean,default:void 0},autoPanOnConnect:{type:Boolean,default:void 0},autoPanOnNodeDrag:{type:Boolean,default:void 0},autoPanSpeed:{}},emits:["nodesChange","edgesChange","nodesInitialized","paneReady","init","updateNodeInternals","error","connect","connectStart","connectEnd","clickConnectStart","clickConnectEnd","moveStart","move","moveEnd","selectionDragStart","selectionDrag","selectionDragStop","selectionContextMenu","selectionStart","selectionEnd","viewportChangeStart","viewportChange","viewportChangeEnd","paneScroll","paneClick","paneContextMenu","paneMouseEnter","paneMouseMove","paneMouseLeave","edgeUpdate","edgeContextMenu","edgeMouseEnter","edgeMouseMove","edgeMouseLeave","edgeDoubleClick","edgeClick","edgeUpdateStart","edgeUpdateEnd","nodeContextMenu","nodeMouseEnter","nodeMouseMove","nodeMouseLeave","nodeDoubleClick","nodeClick","nodeDragStart","nodeDrag","nodeDragStop","miniMapNodeClick","miniMapNodeDoubleClick","miniMapNodeMouseEnter","miniMapNodeMouseMove","miniMapNodeMouseLeave","update:modelValue","update:nodes","update:edges"],setup(e,{expose:n,emit:o}){const r=e,i=t.useSlots(),a=hl(r,"modelValue",o),l=hl(r,"nodes",o),s=hl(r,"edges",o),c=je(r),u=nI({modelValue:a,nodes:l,edges:s},r,c);return rI(o,c.hooks),WI(),pT(),t.provide(Pi,i),t.onUnmounted(()=>{u()}),n(c),(f,d)=>(t.openBlock(),t.createElementBlock("div",{ref:t.unref(c).vueFlowRef,class:"vue-flow"},[t.createVNode(jI,null,{default:t.withCtx(()=>[t.createVNode(lT),mT,t.createVNode(fT),t.renderSlot(f.$slots,"zoom-pane")]),_:3}),t.renderSlot(f.$slots,"default"),t.createVNode(YI)],512))}}),hT={name:"Panel",compatConfig:{MODE:3}},yT=t.defineComponent({...hT,props:{position:{}},setup(e){const n=e,{userSelectionActive:o}=je(),r=t.computed(()=>`${n.position}`.split("-"));return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["vue-flow__panel",r.value]),style:t.normalizeStyle({pointerEvents:t.unref(o)?"none":"all"})},[t.renderSlot(i.$slots,"default")],6))}});var an=(e=>(e.Lines="lines",e.Dots="dots",e))(an||{});const Bp=function({dimensions:e,size:n,color:o}){return t.h("path",{stroke:o,"stroke-width":n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`})},Vp=function({radius:e,color:n}){return t.h("circle",{cx:e,cy:e,r:e,fill:n})};an.Lines+"",an.Dots+"";const _T={[an.Dots]:"#81818a",[an.Lines]:"#eee"},bT=["id","x","y","width","height","patternTransform"],wT={key:2,height:"100",width:"100"},kT=["fill"],CT=["x","y","fill"],ET={name:"Background",compatConfig:{MODE:3}},NT=t.defineComponent({...ET,props:{id:{},variant:{default:()=>an.Dots},gap:{default:20},size:{default:1},lineWidth:{default:1},patternColor:{},color:{},bgColor:{},height:{default:100},width:{default:100},x:{default:0},y:{default:0},offset:{default:0}},setup(e){const{id:n,viewport:o}=je(),r=t.computed(()=>{const l=o.value.zoom,[s,c]=Array.isArray(e.gap)?e.gap:[e.gap,e.gap],u=[s*l||1,c*l||1],f=e.size*l,[d,p]=Array.isArray(e.offset)?e.offset:[e.offset,e.offset],m=[d*l||1+u[0]/2,p*l||1+u[1]/2];return{scaledGap:u,offset:m,size:f}}),i=t.toRef(()=>`pattern-${n}${e.id?`-${e.id}`:""}`),a=t.toRef(()=>e.color||e.patternColor||_T[e.variant||an.Dots]);return(l,s)=>(t.openBlock(),t.createElementBlock("svg",{class:"vue-flow__background vue-flow__container",style:t.normalizeStyle({height:`${l.height>100?100:l.height}%`,width:`${l.width>100?100:l.width}%`})},[t.renderSlot(l.$slots,"pattern-container",{id:i.value},()=>[t.createElementVNode("pattern",{id:i.value,x:t.unref(o).x%r.value.scaledGap[0],y:t.unref(o).y%r.value.scaledGap[1],width:r.value.scaledGap[0],height:r.value.scaledGap[1],patternTransform:`translate(-${r.value.offset[0]},-${r.value.offset[1]})`,patternUnits:"userSpaceOnUse"},[t.renderSlot(l.$slots,"pattern",{},()=>[l.variant===t.unref(an).Lines?(t.openBlock(),t.createBlock(t.unref(Bp),{key:0,size:l.lineWidth,color:a.value,dimensions:r.value.scaledGap},null,8,["size","color","dimensions"])):l.variant===t.unref(an).Dots?(t.openBlock(),t.createBlock(t.unref(Vp),{key:1,color:a.value,radius:r.value.size/2},null,8,["color","radius"])):t.createCommentVNode("",!0),l.bgColor?(t.openBlock(),t.createElementBlock("svg",wT,[t.createElementVNode("rect",{width:"100%",height:"100%",fill:l.bgColor},null,8,kT)])):t.createCommentVNode("",!0)])],8,bT)]),t.createElementVNode("rect",{x:l.x,y:l.y,width:"100%",height:"100%",fill:`url(#${i.value})`},null,8,CT),t.renderSlot(l.$slots,"default",{id:i.value})],4))}}),ST={name:"ControlButton",compatConfig:{MODE:3}},xT=(e,n)=>{const o=e.__vccOpts||e;for(const[r,i]of n)o[r]=i;return o},vT={class:"vue-flow__controls-button"};function AT(e,n,o,r,i,a){return t.openBlock(),t.createElementBlock("button",vT,[t.renderSlot(e.$slots,"default")])}const pr=xT(ST,[["render",AT]]),IT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},TT=[t.createElementVNode("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"},null,-1)];function PT(e,n){return t.openBlock(),t.createElementBlock("svg",IT,TT)}const OT={render:PT},$T={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},BT=[t.createElementVNode("path",{d:"M0 0h32v4.2H0z"},null,-1)];function VT(e,n){return t.openBlock(),t.createElementBlock("svg",$T,BT)}const RT={render:VT},DT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},MT=[t.createElementVNode("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0 0 27.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94a.919.919 0 0 1-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"},null,-1)];function LT(e,n){return t.openBlock(),t.createElementBlock("svg",DT,MT)}const FT={render:LT},UT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},KT=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"},null,-1)];function jT(e,n){return t.openBlock(),t.createElementBlock("svg",UT,KT)}const GT={render:jT},qT={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},zT=[t.createElementVNode("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 0 0 0 13.714v15.238A3.056 3.056 0 0 0 3.048 32h18.285a3.056 3.056 0 0 0 3.048-3.048V13.714a3.056 3.056 0 0 0-3.048-3.047zM12.19 24.533a3.056 3.056 0 0 1-3.047-3.047 3.056 3.056 0 0 1 3.047-3.048 3.056 3.056 0 0 1 3.048 3.048 3.056 3.056 0 0 1-3.048 3.047z"},null,-1)];function HT(e,n){return t.openBlock(),t.createElementBlock("svg",qT,zT)}const YT={render:HT},WT={name:"Controls",compatConfig:{MODE:3}},XT=t.defineComponent({...WT,props:{showZoom:{type:Boolean,default:!0},showFitView:{type:Boolean,default:!0},showInteractive:{type:Boolean,default:!0},fitViewParams:{},position:{default:()=>Rf.BottomLeft}},emits:["zoomIn","zoomOut","fitView","interactionChange"],setup(e,{emit:n}){const{nodesDraggable:o,nodesConnectable:r,elementsSelectable:i,setInteractive:a,zoomIn:l,zoomOut:s,fitView:c,viewport:u,minZoom:f,maxZoom:d}=je(),p=t.toRef(()=>o.value||r.value||i.value),m=t.toRef(()=>u.value.zoom<=f.value),y=t.toRef(()=>u.value.zoom>=d.value);function _(){l(),n("zoomIn")}function g(){s(),n("zoomOut")}function h(){c(e.fitViewParams),n("fitView")}function w(){a(!p.value),n("interactionChange",!p.value)}return(b,N)=>(t.openBlock(),t.createBlock(t.unref(yT),{class:"vue-flow__controls",position:b.position},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"top"),b.showZoom?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(b.$slots,"control-zoom-in",{},()=>[t.createVNode(pr,{class:"vue-flow__controls-zoomin",disabled:y.value,onClick:_},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-in",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(OT))))])]),_:3},8,["disabled"])]),t.renderSlot(b.$slots,"control-zoom-out",{},()=>[t.createVNode(pr,{class:"vue-flow__controls-zoomout",disabled:m.value,onClick:g},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-zoom-out",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(RT))))])]),_:3},8,["disabled"])])],64)):t.createCommentVNode("",!0),b.showFitView?t.renderSlot(b.$slots,"control-fit-view",{key:1},()=>[t.createVNode(pr,{class:"vue-flow__controls-fitview",onClick:h},{default:t.withCtx(()=>[t.renderSlot(b.$slots,"icon-fit-view",{},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(FT))))])]),_:3})]):t.createCommentVNode("",!0),b.showInteractive?t.renderSlot(b.$slots,"control-interactive",{key:2},()=>[b.showInteractive?(t.openBlock(),t.createBlock(pr,{key:0,class:"vue-flow__controls-interactive",onClick:w},{default:t.withCtx(()=>[p.value?t.renderSlot(b.$slots,"icon-unlock",{key:0},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(YT))))]):t.createCommentVNode("",!0),p.value?t.createCommentVNode("",!0):t.renderSlot(b.$slots,"icon-lock",{key:1},()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(GT))))])]),_:3})):t.createCommentVNode("",!0)]):t.createCommentVNode("",!0),t.renderSlot(b.$slots,"default")]),_:3},8,["position"]))}}),ZT=["undo","redo","duplicate","cut","copy","paste"],Rp=()=>{};function JT(e){const n=e;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function QT(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 eP=Ye.createSharedComposable(()=>{const e=new Set;Ye.useEventListener("keydown",o=>{if(JT(o.target))return;const r=QT(o);if(r)for(const i of e){if(!t.toValue(i.enabled))continue;const a=i[r];if(a){if(o.defaultPrevented){t.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),a();return}}},{passive:!1});function n(o){if(!ZT.some(i=>typeof o[i]=="function"))return Rp;const r={enabled:o.enabled??!0,...o};return e.add(r),()=>e.delete(r)}return{subscribe:n}});function Dp(e={}){if(typeof window>"u")return Rp;const n=eP().subscribe(e);return t.onScopeDispose(n),n}const mr={padding:80,gaps:{nodes:40,edges:80,ranks:40}},tP=1600,nP=1.2,oP=0,rP=200,Mp=Symbol("confirm-modal"),Eo="{key}",Un={"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}},Mi=Object.keys(Un).filter(e=>e.includes(Eo)).map(e=>e.replace(Eo,""));function Jl(e){if(!e||!hr(e))return;const n=Mi.find(o=>e.startsWith(o));if(n)return e.slice(n.length).replace(Eo,"")}function gr(e){if(!e)return null;const n=Mi.find(o=>e.startsWith(o));return n||e}function hr(e){return e?Mi.some(n=>e.startsWith(n)):!1}function Lp(e){return e?hr(e)?gr(e)+Eo:e:null}function Ql(e){var o;if(!e)return!1;const n=Lp(e);return n?((o=Un[n])==null?void 0:o.readable)??!1:!1}function es(e){var o;if(!e)return!1;const n=Lp(e);return n?((o=Un[n])==null?void 0:o.writable)??!1:!1}function iP(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var aP="\0",Kn="\0",Fp="";let lP=class{constructor(n){nt(this,"_isDirected",!0);nt(this,"_isMultigraph",!1);nt(this,"_isCompound",!1);nt(this,"_label");nt(this,"_defaultNodeLabelFn",()=>{});nt(this,"_defaultEdgeLabelFn",()=>{});nt(this,"_nodes",{});nt(this,"_in",{});nt(this,"_preds",{});nt(this,"_out",{});nt(this,"_sucs",{});nt(this,"_edgeObjs",{});nt(this,"_edgeLabels",{});nt(this,"_nodeCount",0);nt(this,"_edgeCount",0);nt(this,"_parent");nt(this,"_children");n&&(this._isDirected=Object.hasOwn(n,"directed")?n.directed:!0,this._isMultigraph=Object.hasOwn(n,"multigraph")?n.multigraph:!1,this._isCompound=Object.hasOwn(n,"compound")?n.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[Kn]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(n){return this._label=n,this}graph(){return this._label}setDefaultNodeLabel(n){return this._defaultNodeLabelFn=n,typeof n!="function"&&(this._defaultNodeLabelFn=()=>n),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var n=this;return this.nodes().filter(o=>Object.keys(n._in[o]).length===0)}sinks(){var n=this;return this.nodes().filter(o=>Object.keys(n._out[o]).length===0)}setNodes(n,o){var r=arguments,i=this;return n.forEach(function(a){r.length>1?i.setNode(a,o):i.setNode(a)}),this}setNode(n,o){return Object.hasOwn(this._nodes,n)?(arguments.length>1&&(this._nodes[n]=o),this):(this._nodes[n]=arguments.length>1?o:this._defaultNodeLabelFn(n),this._isCompound&&(this._parent[n]=Kn,this._children[n]={},this._children[Kn][n]=!0),this._in[n]={},this._preds[n]={},this._out[n]={},this._sucs[n]={},++this._nodeCount,this)}node(n){return this._nodes[n]}hasNode(n){return Object.hasOwn(this._nodes,n)}removeNode(n){var o=this;if(Object.hasOwn(this._nodes,n)){var r=i=>o.removeEdge(o._edgeObjs[i]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(i){o.setParent(i)}),delete this._children[n]),Object.keys(this._in[n]).forEach(r),delete this._in[n],delete this._preds[n],Object.keys(this._out[n]).forEach(r),delete this._out[n],delete this._sucs[n],--this._nodeCount}return this}setParent(n,o){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(o===void 0)o=Kn;else{o+="";for(var r=o;r!==void 0;r=this.parent(r))if(r===n)throw new Error("Setting "+o+" as parent of "+n+" would create a cycle");this.setNode(o)}return this.setNode(n),this._removeFromParentsChildList(n),this._parent[n]=o,this._children[o][n]=!0,this}_removeFromParentsChildList(n){delete this._children[this._parent[n]][n]}parent(n){if(this._isCompound){var o=this._parent[n];if(o!==Kn)return o}}children(n=Kn){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===Kn)return this.nodes();if(this.hasNode(n))return[]}}predecessors(n){var o=this._preds[n];if(o)return Object.keys(o)}successors(n){var o=this._sucs[n];if(o)return Object.keys(o)}neighbors(n){var o=this.predecessors(n);if(o){const i=new Set(o);for(var r of this.successors(n))i.add(r);return Array.from(i.values())}}isLeaf(n){var o;return this.isDirected()?o=this.successors(n):o=this.neighbors(n),o.length===0}filterNodes(n){var o=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});o.setGraph(this.graph());var r=this;Object.entries(this._nodes).forEach(function([l,s]){n(l)&&o.setNode(l,s)}),Object.values(this._edgeObjs).forEach(function(l){o.hasNode(l.v)&&o.hasNode(l.w)&&o.setEdge(l,r.edge(l))});var i={};function a(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(i[l]=s,s):s in i?i[s]:a(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,a(l))),o}setDefaultEdgeLabel(n){return this._defaultEdgeLabelFn=n,typeof n!="function"&&(this._defaultEdgeLabelFn=()=>n),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(n,o){var r=this,i=arguments;return n.reduce(function(a,l){return i.length>1?r.setEdge(a,l,o):r.setEdge(a,l),l}),this}setEdge(){var n,o,r,i,a=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(i=arguments[1],a=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=yr(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return a&&(this._edgeLabels[s]=i),this;if(r!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(n),this.setNode(o),this._edgeLabels[s]=a?i:this._defaultEdgeLabelFn(n,o,r);var c=sP(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,Up(this._preds[o],n),Up(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var i=arguments.length===1?ts(this._isDirected,arguments[0]):yr(this._isDirected,n,o,r);return this._edgeLabels[i]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var i=arguments.length===1?ts(this._isDirected,arguments[0]):yr(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,i)}removeEdge(n,o,r){var i=arguments.length===1?ts(this._isDirected,arguments[0]):yr(this._isDirected,n,o,r),a=this._edgeObjs[i];return a&&(n=a.v,o=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],Kp(this._preds[o],n),Kp(this._sucs[n],o),delete this._in[o][i],delete this._out[n][i],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.v===o):i}}outEdges(n,o){var r=this._out[n];if(r){var i=Object.values(r);return o?i.filter(a=>a.w===o):i}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function Up(e,n){e[n]?e[n]++:e[n]=1}function Kp(e,n){--e[n]||delete e[n]}function yr(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}return i+Fp+a+Fp+(r===void 0?aP:r)}function sP(e,n,o,r){var i=""+n,a=""+o;if(!e&&i>a){var l=i;i=a,a=l}var s={v:i,w:a};return r&&(s.name=r),s}function ts(e,n){return yr(e,n.v,n.w,n.name)}var ns=lP,cP="2.2.4",dP={Graph:ns,version:cP},uP=ns,fP={write:pP,read:hP};function pP(e){var n={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:mP(e),edges:gP(e)};return e.graph()!==void 0&&(n.value=structuredClone(e.graph())),n}function mP(e){return e.nodes().map(function(n){var o=e.node(n),r=e.parent(n),i={v:n};return o!==void 0&&(i.value=o),r!==void 0&&(i.parent=r),i})}function gP(e){return e.edges().map(function(n){var o=e.edge(n),r={v:n.v,w:n.w};return n.name!==void 0&&(r.name=n.name),o!==void 0&&(r.value=o),r})}function hP(e){var n=new uP(e.options).setGraph(e.value);return e.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),e.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var yP=_P;function _P(e){var n={},o=[],r;function i(a){Object.hasOwn(n,a)||(n[a]=!0,r.push(a),e.successors(a).forEach(i),e.predecessors(a).forEach(i))}return e.nodes().forEach(function(a){r=[],i(a),r.length&&o.push(r)}),o}var jp=class{constructor(){nt(this,"_arr",[]);nt(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var o=this._keyIndices[n];if(o!==void 0)return this._arr[o].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,o){var r=this._keyIndices;if(n=String(n),!Object.hasOwn(r,n)){var i=this._arr,a=i.length;return r[n]=a,i.push({key:n,priority:o}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,o){var r=this._keyIndices[n];if(o>this._arr[r].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[r].priority+" New: "+o);this._arr[r].priority=o,this._decrease(r)}_heapify(n){var o=this._arr,r=2*n,i=r+1,a=n;r<o.length&&(a=o[r].priority<o[a].priority?r:a,i<o.length&&(a=o[i].priority<o[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var o=this._arr,r=o[n].priority,i;n!==0&&(i=n>>1,!(o[i].priority<r));)this._swap(n,i),n=i}_swap(n,o){var r=this._arr,i=this._keyIndices,a=r[n],l=r[o];r[n]=l,r[o]=a,i[l.key]=n,i[a.key]=o}},bP=jp,Gp=kP,wP=()=>1;function kP(e,n,o,r){return CP(e,String(n),o||wP,r||function(i){return e.outEdges(i)})}function CP(e,n,o,r){var i={},a=new bP,l,s,c=function(u){var f=u.v!==l?u.v:u.w,d=i[f],p=o(u),m=s.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+p);m<d.distance&&(d.distance=m,d.predecessor=l,a.decrease(f,m))};for(e.nodes().forEach(function(u){var f=u===n?0:Number.POSITIVE_INFINITY;i[u]={distance:f},a.add(u,f)});a.size()>0&&(l=a.removeMin(),s=i[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return i}var EP=Gp,NP=SP;function SP(e,n,o){return e.nodes().reduce(function(r,i){return r[i]=EP(e,i,n,o),r},{})}var qp=xP;function xP(e){var n=0,o=[],r={},i=[];function a(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),e.successors(l).forEach(function(f){Object.hasOwn(r,f)?r[f].onStack&&(s.lowlink=Math.min(s.lowlink,r[f].index)):(a(f),s.lowlink=Math.min(s.lowlink,r[f].lowlink))}),s.lowlink===s.index){var c=[],u;do u=o.pop(),r[u].onStack=!1,c.push(u);while(l!==u);i.push(c)}}return e.nodes().forEach(function(l){Object.hasOwn(r,l)||a(l)}),i}var vP=qp,AP=IP;function IP(e){return vP(e).filter(function(n){return n.length>1||n.length===1&&e.hasEdge(n[0],n[0])})}var TP=OP,PP=()=>1;function OP(e,n,o){return $P(e,n||PP,o||function(r){return e.outEdges(r)})}function $P(e,n,o){var r={},i=e.nodes();return i.forEach(function(a){r[a]={},r[a][a]={distance:0},i.forEach(function(l){a!==l&&(r[a][l]={distance:Number.POSITIVE_INFINITY})}),o(a).forEach(function(l){var s=l.v===a?l.w:l.v,c=n(l);r[a][s]={distance:c,predecessor:a}})}),i.forEach(function(a){var l=r[a];i.forEach(function(s){var c=r[s];i.forEach(function(u){var f=c[a],d=l[u],p=c[u],m=f.distance+d.distance;m<p.distance&&(p.distance=m,p.predecessor=d.predecessor)})})}),r}function zp(e){var n={},o={},r=[];function i(a){if(Object.hasOwn(o,a))throw new os;Object.hasOwn(n,a)||(o[a]=!0,n[a]=!0,e.predecessors(a).forEach(i),delete o[a],r.push(a))}if(e.sinks().forEach(i),Object.keys(n).length!==e.nodeCount())throw new os;return r}class os extends Error{constructor(){super(...arguments)}}var Hp=zp;zp.CycleException=os;var Yp=Hp,BP=VP;function VP(e){try{Yp(e)}catch(n){if(n instanceof Yp.CycleException)return!1;throw n}return!0}var Wp=RP;function RP(e,n,o){Array.isArray(n)||(n=[n]);var r=e.isDirected()?s=>e.successors(s):s=>e.neighbors(s),i=o==="post"?DP:MP,a=[],l={};return n.forEach(s=>{if(!e.hasNode(s))throw new Error("Graph does not have node: "+s);i(s,r,l,a)}),a}function DP(e,n,o,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(o,a[0])||(o[a[0]]=!0,i.push([a[0],!0]),Xp(n(a[0]),l=>i.push([l,!1])))}}function MP(e,n,o,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(o,a)||(o[a]=!0,r.push(a),Xp(n(a),l=>i.push(l)))}}function Xp(e,n){for(var o=e.length;o--;)n(e[o],o,e);return e}var LP=Wp,FP=UP;function UP(e,n){return LP(e,n,"post")}var KP=Wp,jP=GP;function GP(e,n){return KP(e,n,"pre")}var qP=ns,zP=jp,HP=YP;function YP(e,n){var o=new qP,r={},i=new zP,a;function l(c){var u=c.v===a?c.w:c.v,f=i.priority(u);if(f!==void 0){var d=n(c);d<f&&(r[u]=a,i.decrease(u,d))}}if(e.nodeCount()===0)return o;e.nodes().forEach(function(c){i.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),i.decrease(e.nodes()[0],0);for(var s=!1;i.size()>0;){if(a=i.removeMin(),Object.hasOwn(r,a))o.setEdge(a,r[a]);else{if(s)throw new Error("Input graph is not connected: "+e);s=!0}e.nodeEdges(a).forEach(l)}return o}var WP={components:yP,dijkstra:Gp,dijkstraAll:NP,findCycles:AP,floydWarshall:TP,isAcyclic:BP,postorder:FP,preorder:jP,prim:HP,tarjan:qp,topsort:Hp},Zp=dP,Mt={Graph:Zp.Graph,json:fP,alg:WP,version:Zp.version};let XP=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return Jp(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&Jp(n),n._next=o._next,o._next._prev=n,o._next=n,n._prev=o}toString(){let n=[],o=this._sentinel,r=o._prev;for(;r!==o;)n.push(JSON.stringify(r,ZP)),r=r._prev;return"["+n.join(", ")+"]"}};function Jp(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function ZP(e,n){if(e!=="_next"&&e!=="_prev")return n}var JP=XP;let QP=Mt.Graph,eO=JP;var tO=oO;let nO=()=>1;function oO(e,n){if(e.nodeCount()<=1)return[];let o=iO(e,n||nO);return rO(o.graph,o.buckets,o.zeroIdx).flatMap(i=>e.outEdges(i.v,i.w))}function rO(e,n,o){let r=[],i=n[n.length-1],a=n[0],l;for(;e.nodeCount();){for(;l=a.dequeue();)rs(e,n,o,l);for(;l=i.dequeue();)rs(e,n,o,l);if(e.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(rs(e,n,o,l,!0));break}}}return r}function rs(e,n,o,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(l=>{let s=e.edge(l),c=e.node(l.v);i&&a.push({v:l.v,w:l.w}),c.out-=s,is(n,o,c)}),e.outEdges(r.v).forEach(l=>{let s=e.edge(l),c=l.w,u=e.node(c);u.in-=s,is(n,o,u)}),e.removeNode(r.v),a}function iO(e,n){let o=new QP,r=0,i=0;e.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),e.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,u=n(s),f=c+u;o.setEdge(s.v,s.w,f),i=Math.max(i,o.node(s.v).out+=u),r=Math.max(r,o.node(s.w).in+=u)});let a=aO(i+r+3).map(()=>new eO),l=r+1;return o.nodes().forEach(s=>{is(a,l,o.node(s))}),{graph:o,buckets:a,zeroIdx:l}}function is(e,n,o){o.out?o.in?e[o.out-o.in+n].enqueue(o):e[e.length-1].enqueue(o):e[0].enqueue(o)}function aO(e){const n=[];for(let o=0;o<e;o++)n.push(o);return n}let Qp=Mt.Graph;var et={addBorderNode:gO,addDummyNode:em,applyWithChunking:Li,asNonCompoundGraph:sO,buildLayerMatrix:fO,intersectRect:uO,mapValues:CO,maxRank:nm,normalizeRanks:pO,notime:bO,partition:yO,pick:kO,predecessorWeights:dO,range:rm,removeEmptyRanks:mO,simplify:lO,successorWeights:cO,time:_O,uniqueId:om,zipObject:as};function em(e,n,o,r){for(var i=r;e.hasNode(i);)i=om(r);return o.dummy=n,e.setNode(i,o),i}function lO(e){let n=new Qp().setGraph(e.graph());return e.nodes().forEach(o=>n.setNode(o,e.node(o))),e.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},i=e.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),n}function sO(e){let n=new Qp({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(o=>{e.children(o).length||n.setNode(o,e.node(o))}),e.edges().forEach(o=>{n.setEdge(o,e.edge(o))}),n}function cO(e){let n=e.nodes().map(o=>{let r={};return e.outEdges(o).forEach(i=>{r[i.w]=(r[i.w]||0)+e.edge(i).weight}),r});return as(e.nodes(),n)}function dO(e){let n=e.nodes().map(o=>{let r={};return e.inEdges(o).forEach(i=>{r[i.v]=(r[i.v]||0)+e.edge(i).weight}),r});return as(e.nodes(),n)}function uO(e,n){let o=e.x,r=e.y,i=n.x-o,a=n.y-r,l=e.width/2,s=e.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");let c,u;return Math.abs(a)*l>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,u=s):(i<0&&(l=-l),c=l,u=l*a/i),{x:o+c,y:r+u}}function fO(e){let n=rm(nm(e)+1).map(()=>[]);return e.nodes().forEach(o=>{let r=e.node(o),i=r.rank;i!==void 0&&(n[i][r.order]=o)}),n}function pO(e){let n=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MAX_VALUE:i}),o=Li(Math.min,n);e.nodes().forEach(r=>{let i=e.node(r);Object.hasOwn(i,"rank")&&(i.rank-=o)})}function mO(e){let n=e.nodes().map(l=>e.node(l).rank),o=Li(Math.min,n),r=[];e.nodes().forEach(l=>{let s=e.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%a!==0?--i:l!==void 0&&i&&l.forEach(c=>e.node(c).rank+=i)})}function gO(e,n,o,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=o,i.order=r),em(e,"border",i,n)}function hO(e,n=tm){const o=[];for(let r=0;r<e.length;r+=n){const i=e.slice(r,r+n);o.push(i)}return o}const tm=65535;function Li(e,n){if(n.length>tm){const o=hO(n);return e.apply(null,o.map(r=>e.apply(null,r)))}else return e.apply(null,n)}function nm(e){const o=e.nodes().map(r=>{let i=e.node(r).rank;return i===void 0?Number.MIN_VALUE:i});return Li(Math.max,o)}function yO(e,n){let o={lhs:[],rhs:[]};return e.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function _O(e,n){let o=Date.now();try{return n()}finally{console.log(e+" time: "+(Date.now()-o)+"ms")}}function bO(e,n){return n()}let wO=0;function om(e){var n=++wO;return e+(""+n)}function rm(e,n,o=1){n==null&&(n=e,e=0);let r=a=>a<n;o<0&&(r=a=>n<a);const i=[];for(let a=e;r(a);a+=o)i.push(a);return i}function kO(e,n){const o={};for(const r of n)e[r]!==void 0&&(o[r]=e[r]);return o}function CO(e,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(e).reduce((r,[i,a])=>(r[i]=o(a,i),r),{})}function as(e,n){return e.reduce((o,r,i)=>(o[r]=n[i],o),{})}let EO=tO,NO=et.uniqueId;var SO={run:xO,undo:AO};function xO(e){(e.graph().acyclicer==="greedy"?EO(e,o(e)):vO(e)).forEach(r=>{let i=e.edge(r);e.removeEdge(r),i.forwardName=r.name,i.reversed=!0,e.setEdge(r.w,r.v,i,NO("rev"))});function o(r){return i=>r.edge(i).weight}}function vO(e){let n=[],o={},r={};function i(a){Object.hasOwn(r,a)||(r[a]=!0,o[a]=!0,e.outEdges(a).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):i(l.w)}),delete o[a])}return e.nodes().forEach(i),n}function AO(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.reversed){e.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,e.setEdge(n.w,n.v,o,r)}})}let IO=et;var TO={run:PO,undo:$O};function PO(e){e.graph().dummyChains=[],e.edges().forEach(n=>OO(e,n))}function OO(e,n){let o=n.v,r=e.node(o).rank,i=n.w,a=e.node(i).rank,l=n.name,s=e.edge(n),c=s.labelRank;if(a===r+1)return;e.removeEdge(n);let u,f,d;for(d=0,++r;r<a;++d,++r)s.points=[],f={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},u=IO.addDummyNode(e,"edge",f,"_d"),r===c&&(f.width=s.width,f.height=s.height,f.dummy="edge-label",f.labelpos=s.labelpos),e.setEdge(o,u,{weight:s.weight},l),d===0&&e.graph().dummyChains.push(u),o=u;e.setEdge(o,i,{weight:s.weight},l)}function $O(e){e.graph().dummyChains.forEach(n=>{let o=e.node(n),r=o.edgeLabel,i;for(e.setEdge(o.edgeObj,r);o.dummy;)i=e.successors(n)[0],e.removeNode(n),r.points.push({x:o.x,y:o.y}),o.dummy==="edge-label"&&(r.x=o.x,r.y=o.y,r.width=o.width,r.height=o.height),n=i,o=e.node(n)})}const{applyWithChunking:BO}=et;var Fi={longestPath:VO,slack:RO};function VO(e){var n={};function o(r){var i=e.node(r);if(Object.hasOwn(n,r))return i.rank;n[r]=!0;let a=e.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-e.edge(s).minlen);var l=BO(Math.min,a);return l===Number.POSITIVE_INFINITY&&(l=0),i.rank=l}e.sources().forEach(o)}function RO(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}var DO=Mt.Graph,Ui=Fi.slack,im=MO;function MO(e){var n=new DO({directed:!1}),o=e.nodes()[0],r=e.nodeCount();n.setNode(o,{});for(var i,a;LO(n,e)<r;)i=FO(n,e),a=n.hasNode(i.v)?Ui(e,i):-Ui(e,i),UO(n,e,a);return n}function LO(e,n){function o(r){n.nodeEdges(r).forEach(i=>{var a=i.v,l=r===a?i.w:a;!e.hasNode(l)&&!Ui(n,i)&&(e.setNode(l,{}),e.setEdge(r,l,{}),o(l))})}return e.nodes().forEach(o),e.nodeCount()}function FO(e,n){return n.edges().reduce((r,i)=>{let a=Number.POSITIVE_INFINITY;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=Ui(n,i)),a<r[0]?[a,i]:r},[Number.POSITIVE_INFINITY,null])[1]}function UO(e,n,o){e.nodes().forEach(r=>n.node(r).rank+=o)}var KO=im,am=Fi.slack,jO=Fi.longestPath,GO=Mt.alg.preorder,qO=Mt.alg.postorder,zO=et.simplify,HO=jn;jn.initLowLimValues=ss,jn.initCutValues=ls,jn.calcCutValue=lm,jn.leaveEdge=cm,jn.enterEdge=dm,jn.exchangeEdges=um;function jn(e){e=zO(e),jO(e);var n=KO(e);ss(n),ls(n,e);for(var o,r;o=cm(n);)r=dm(n,e,o),um(n,e,o,r)}function ls(e,n){var o=qO(e,e.nodes());o=o.slice(0,o.length-1),o.forEach(r=>YO(e,n,r))}function YO(e,n,o){var r=e.node(o),i=r.parent;e.edge(o,i).cutvalue=lm(e,n,o)}function lm(e,n,o){var r=e.node(o),i=r.parent,a=!0,l=n.edge(o,i),s=0;return l||(a=!1,l=n.edge(i,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var u=c.v===o,f=u?c.w:c.v;if(f!==i){var d=u===a,p=n.edge(c).weight;if(s+=d?p:-p,XO(e,o,f)){var m=e.edge(o,f).cutvalue;s+=d?-m:m}}}),s}function ss(e,n){arguments.length<2&&(n=e.nodes()[0]),sm(e,{},1,n)}function sm(e,n,o,r,i){var a=o,l=e.node(r);return n[r]=!0,e.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=sm(e,n,o,s,r))}),l.low=a,l.lim=o++,i?l.parent=i:delete l.parent,o}function cm(e){return e.edges().find(n=>e.edge(n).cutvalue<0)}function dm(e,n,o){var r=o.v,i=o.w;n.hasEdge(r,i)||(r=o.w,i=o.v);var a=e.node(r),l=e.node(i),s=a,c=!1;a.lim>l.lim&&(s=l,c=!0);var u=n.edges().filter(f=>c===fm(e,e.node(f.v),s)&&c!==fm(e,e.node(f.w),s));return u.reduce((f,d)=>am(n,d)<am(n,f)?d:f)}function um(e,n,o,r){var i=o.v,a=o.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),ss(e),ls(e,n),WO(e,n)}function WO(e,n){var o=e.nodes().find(i=>!n.node(i).parent),r=GO(e,o);r=r.slice(1),r.forEach(i=>{var a=e.node(i).parent,l=n.edge(i,a),s=!1;l||(l=n.edge(a,i),s=!0),n.node(i).rank=n.node(a).rank+(s?l.minlen:-l.minlen)})}function XO(e,n,o){return e.hasEdge(n,o)}function fm(e,n,o){return o.low<=n.lim&&n.lim<=o.lim}var ZO=Fi,pm=ZO.longestPath,JO=im,QO=HO,e$=t$;function t$(e){var n=e.graph().ranker;if(n instanceof Function)return n(e);switch(e.graph().ranker){case"network-simplex":mm(e);break;case"tight-tree":o$(e);break;case"longest-path":n$(e);break;case"none":break;default:mm(e)}}var n$=pm;function o$(e){pm(e),JO(e)}function mm(e){QO(e)}var r$=i$;function i$(e){let n=l$(e);e.graph().dummyChains.forEach(o=>{let r=e.node(o),i=r.edgeObj,a=a$(e,n,i.v,i.w),l=a.path,s=a.lca,c=0,u=l[c],f=!0;for(;o!==i.w;){if(r=e.node(o),f){for(;(u=l[c])!==s&&e.node(u).maxRank<r.rank;)c++;u===s&&(f=!1)}if(!f){for(;c<l.length-1&&e.node(u=l[c+1]).minRank<=r.rank;)c++;u=l[c]}e.setParent(o,u),o=e.successors(o)[0]}})}function a$(e,n,o,r){let i=[],a=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,u;c=o;do c=e.parent(c),i.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(u=c,c=r;(c=e.parent(c))!==u;)a.push(c);return{path:i.concat(a.reverse()),lca:u}}function l$(e){let n={},o=0;function r(i){let a=o;e.children(i).forEach(r),n[i]={low:a,lim:o++}}return e.children().forEach(r),n}let Ki=et;var s$={run:c$,cleanup:f$};function c$(e){let n=Ki.addDummyNode(e,"root",{},"_root"),o=d$(e),r=Object.values(o),i=Ki.applyWithChunking(Math.max,r)-1,a=2*i+1;e.graph().nestingRoot=n,e.edges().forEach(s=>e.edge(s).minlen*=a);let l=u$(e)+1;e.children().forEach(s=>gm(e,n,a,l,i,o,s)),e.graph().nodeRankFactor=a}function gm(e,n,o,r,i,a,l){let s=e.children(l);if(!s.length){l!==n&&e.setEdge(n,l,{weight:0,minlen:o});return}let c=Ki.addBorderNode(e,"_bt"),u=Ki.addBorderNode(e,"_bb"),f=e.node(l);e.setParent(c,l),f.borderTop=c,e.setParent(u,l),f.borderBottom=u,s.forEach(d=>{gm(e,n,o,r,i,a,d);let p=e.node(d),m=p.borderTop?p.borderTop:d,y=p.borderBottom?p.borderBottom:d,_=p.borderTop?r:2*r,g=m!==y?1:i-a[l]+1;e.setEdge(c,m,{weight:_,minlen:g,nestingEdge:!0}),e.setEdge(y,u,{weight:_,minlen:g,nestingEdge:!0})}),e.parent(l)||e.setEdge(n,c,{weight:0,minlen:i+a[l]})}function d$(e){var n={};function o(r,i){var a=e.children(r);a&&a.length&&a.forEach(l=>o(l,i+1)),n[r]=i}return e.children().forEach(r=>o(r,1)),n}function u$(e){return e.edges().reduce((n,o)=>n+e.edge(o).weight,0)}function f$(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,e.edges().forEach(o=>{var r=e.edge(o);r.nestingEdge&&e.removeEdge(o)})}let p$=et;var m$=g$;function g$(e){function n(o){let r=e.children(o),i=e.node(o);if(r.length&&r.forEach(n),Object.hasOwn(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(let a=i.minRank,l=i.maxRank+1;a<l;++a)hm(e,"borderLeft","_bl",o,i,a),hm(e,"borderRight","_br",o,i,a)}}e.children().forEach(n)}function hm(e,n,o,r,i,a){let l={width:0,height:0,rank:a,borderType:n},s=i[n][a-1],c=p$.addDummyNode(e,"border",l,o);i[n][a]=c,e.setParent(c,r),s&&e.setEdge(s,c,{weight:1})}var h$={adjust:y$,undo:_$};function y$(e){let n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&ym(e)}function _$(e){let n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&b$(e),(n==="lr"||n==="rl")&&(w$(e),ym(e))}function ym(e){e.nodes().forEach(n=>_m(e.node(n))),e.edges().forEach(n=>_m(e.edge(n)))}function _m(e){let n=e.width;e.width=e.height,e.height=n}function b$(e){e.nodes().forEach(n=>cs(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(cs),Object.hasOwn(o,"y")&&cs(o)})}function cs(e){e.y=-e.y}function w$(e){e.nodes().forEach(n=>ds(e.node(n))),e.edges().forEach(n=>{let o=e.edge(n);o.points.forEach(ds),Object.hasOwn(o,"x")&&ds(o)})}function ds(e){let n=e.x;e.x=e.y,e.y=n}let bm=et;var k$=C$;function C$(e){let n={},o=e.nodes().filter(c=>!e.children(c).length),r=o.map(c=>e.node(c).rank),i=bm.applyWithChunking(Math.max,r),a=bm.range(i+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let u=e.node(c);a[u.rank].push(c),e.successors(c).forEach(l)}return o.sort((c,u)=>e.node(c).rank-e.node(u).rank).forEach(l),a}let E$=et.zipObject;var N$=S$;function S$(e,n){let o=0;for(let r=1;r<n.length;++r)o+=x$(e,n[r-1],n[r]);return o}function x$(e,n,o){let r=E$(o,o.map((u,f)=>f)),i=n.flatMap(u=>e.outEdges(u).map(f=>({pos:r[f.w],weight:e.edge(f).weight})).sort((f,d)=>f.pos-d.pos)),a=1;for(;a<o.length;)a<<=1;let l=2*a-1;a-=1;let s=new Array(l).fill(0),c=0;return i.forEach(u=>{let f=u.pos+a;s[f]+=u.weight;let d=0;for(;f>0;)f%2&&(d+=s[f+1]),f=f-1>>1,s[f]+=u.weight;c+=u.weight*d}),c}var v$=A$;function A$(e,n=[]){return n.map(o=>{let r=e.inEdges(o);if(r.length){let i=r.reduce((a,l)=>{let s=e.edge(l),c=e.node(l.v);return{sum:a.sum+s.weight*c.order,weight:a.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:o}})}let I$=et;var T$=P$;function P$(e,n){let o={};e.forEach((i,a)=>{let l=o[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};i.barycenter!==void 0&&(l.barycenter=i.barycenter,l.weight=i.weight)}),n.edges().forEach(i=>{let a=o[i.v],l=o[i.w];a!==void 0&&l!==void 0&&(l.indegree++,a.out.push(o[i.w]))});let r=Object.values(o).filter(i=>!i.indegree);return O$(r)}function O$(e){let n=[];function o(i){return a=>{a.merged||(a.barycenter===void 0||i.barycenter===void 0||a.barycenter>=i.barycenter)&&$$(i,a)}}function r(i){return a=>{a.in.push(i),--a.indegree===0&&e.push(a)}}for(;e.length;){let i=e.pop();n.push(i),i.in.reverse().forEach(o(i)),i.out.forEach(r(i))}return n.filter(i=>!i.merged).map(i=>I$.pick(i,["vs","i","barycenter","weight"]))}function $$(e,n){let o=0,r=0;e.weight&&(o+=e.barycenter*e.weight,r+=e.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=o/r,e.weight=r,e.i=Math.min(n.i,e.i),n.merged=!0}let B$=et;var V$=R$;function R$(e,n){let o=B$.partition(e,f=>Object.hasOwn(f,"barycenter")),r=o.lhs,i=o.rhs.sort((f,d)=>d.i-f.i),a=[],l=0,s=0,c=0;r.sort(D$(!!n)),c=wm(a,i,c),r.forEach(f=>{c+=f.vs.length,a.push(f.vs),l+=f.barycenter*f.weight,s+=f.weight,c=wm(a,i,c)});let u={vs:a.flat(!0)};return s&&(u.barycenter=l/s,u.weight=s),u}function wm(e,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),e.push(r.vs),o++;return o}function D$(e){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:e?o.i-n.i:n.i-o.i}let M$=v$,L$=T$,F$=V$;var U$=km;function km(e,n,o,r){let i=e.children(n),a=e.node(n),l=a?a.borderLeft:void 0,s=a?a.borderRight:void 0,c={};l&&(i=i.filter(p=>p!==l&&p!==s));let u=M$(e,i);u.forEach(p=>{if(e.children(p.v).length){let m=km(e,p.v,o,r);c[p.v]=m,Object.hasOwn(m,"barycenter")&&j$(p,m)}});let f=L$(u,o);K$(f,c);let d=F$(f,r);if(l&&(d.vs=[l,d.vs,s].flat(!0),e.predecessors(l).length)){let p=e.node(e.predecessors(l)[0]),m=e.node(e.predecessors(s)[0]);Object.hasOwn(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+p.order+m.order)/(d.weight+2),d.weight+=2}return d}function K$(e,n){e.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function j$(e,n){e.barycenter!==void 0?(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight):(e.barycenter=n.barycenter,e.weight=n.weight)}let G$=Mt.Graph,q$=et;var z$=H$;function H$(e,n,o){let r=Y$(e),i=new G$({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(a=>e.node(a));return e.nodes().forEach(a=>{let l=e.node(a),s=e.parent(a);(l.rank===n||l.minRank<=n&&n<=l.maxRank)&&(i.setNode(a),i.setParent(a,s||r),e[o](a).forEach(c=>{let u=c.v===a?c.w:c.v,f=i.edge(u,a),d=f!==void 0?f.weight:0;i.setEdge(u,a,{weight:e.edge(c).weight+d})}),Object.hasOwn(l,"minRank")&&i.setNode(a,{borderLeft:l.borderLeft[n],borderRight:l.borderRight[n]}))}),i}function Y$(e){for(var n;e.hasNode(n=q$.uniqueId("_root")););return n}var W$=X$;function X$(e,n,o){let r={},i;o.forEach(a=>{let l=e.parent(a),s,c;for(;l;){if(s=e.parent(l),s?(c=r[s],r[s]=l):(c=i,i=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let Z$=k$,J$=N$,Q$=U$,eB=z$,tB=W$,nB=Mt.Graph,ji=et;var oB=Cm;function Cm(e,n){if(n&&typeof n.customOrder=="function"){n.customOrder(e,Cm);return}let o=ji.maxRank(e),r=Em(e,ji.range(1,o+1),"inEdges"),i=Em(e,ji.range(o-1,-1,-1),"outEdges"),a=Z$(e);if(Nm(e,a),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,u=0;u<4;++c,++u){rB(c%2?r:i,c%4>=2),a=ji.buildLayerMatrix(e);let f=J$(e,a);f<l&&(u=0,s=Object.assign({},a),l=f)}Nm(e,s)}function Em(e,n,o){return n.map(function(r){return eB(e,r,o)})}function rB(e,n){let o=new nB;e.forEach(function(r){let i=r.graph().root,a=Q$(r,i,o,n);a.vs.forEach((l,s)=>r.node(l).order=s),tB(r,o,a.vs)})}function Nm(e,n){Object.values(n).forEach(o=>o.forEach((r,i)=>e.node(r).order=i))}let iB=Mt.Graph,ln=et;var aB={positionX:yB};function lB(e,n){let o={};function r(i,a){let l=0,s=0,c=i.length,u=a[a.length-1];return a.forEach((f,d)=>{let p=cB(e,f),m=p?e.node(p).order:c;(p||f===u)&&(a.slice(s,d+1).forEach(y=>{e.predecessors(y).forEach(_=>{let g=e.node(_),h=g.order;(h<l||m<h)&&!(g.dummy&&e.node(y).dummy)&&Sm(o,_,y)})}),s=d+1,l=m)}),a}return n.length&&n.reduce(r),o}function sB(e,n){let o={};function r(a,l,s,c,u){let f;ln.range(l,s).forEach(d=>{f=a[d],e.node(f).dummy&&e.predecessors(f).forEach(p=>{let m=e.node(p);m.dummy&&(m.order<c||m.order>u)&&Sm(o,p,f)})})}function i(a,l){let s=-1,c,u=0;return l.forEach((f,d)=>{if(e.node(f).dummy==="border"){let p=e.predecessors(f);p.length&&(c=e.node(p[0]).order,r(l,u,d,s,c),u=d,s=c)}r(l,u,l.length,c,a.length)}),l}return n.length&&n.reduce(i),o}function cB(e,n){if(e.node(n).dummy)return e.predecessors(n).find(o=>e.node(o).dummy)}function Sm(e,n,o){if(n>o){let i=n;n=o,o=i}let r=e[n];r||(e[n]=r={}),r[o]=!0}function dB(e,n,o){if(n>o){let r=n;n=o,o=r}return!!e[n]&&Object.hasOwn(e[n],o)}function uB(e,n,o,r){let i={},a={},l={};return n.forEach(s=>{s.forEach((c,u)=>{i[c]=c,a[c]=c,l[c]=u})}),n.forEach(s=>{let c=-1;s.forEach(u=>{let f=r(u);if(f.length){f=f.sort((p,m)=>l[p]-l[m]);let d=(f.length-1)/2;for(let p=Math.floor(d),m=Math.ceil(d);p<=m;++p){let y=f[p];a[u]===u&&c<l[y]&&!dB(o,u,y)&&(a[y]=u,a[u]=i[u]=i[y],c=l[y])}}})}),{root:i,align:a}}function fB(e,n,o,r,i){let a={},l=pB(e,n,o,i),s=i?"borderLeft":"borderRight";function c(d,p){let m=l.nodes(),y=m.pop(),_={};for(;y;)_[y]?d(y):(_[y]=!0,m.push(y),m=m.concat(p(y))),y=m.pop()}function u(d){a[d]=l.inEdges(d).reduce((p,m)=>Math.max(p,a[m.v]+l.edge(m)),0)}function f(d){let p=l.outEdges(d).reduce((y,_)=>Math.min(y,a[_.w]-l.edge(_)),Number.POSITIVE_INFINITY),m=e.node(d);p!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(a[d]=Math.max(a[d],p))}return c(u,l.predecessors.bind(l)),c(f,l.successors.bind(l)),Object.keys(r).forEach(d=>a[d]=a[o[d]]),a}function pB(e,n,o,r){let i=new iB,a=e.graph(),l=_B(a.nodesep,a.edgesep,r);return n.forEach(s=>{let c;s.forEach(u=>{let f=o[u];if(i.setNode(f),c){var d=o[c],p=i.edge(d,f);i.setEdge(d,f,Math.max(l(e,u,c),p||0))}c=u})}),i}function mB(e,n){return Object.values(n).reduce((o,r)=>{let i=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let u=bB(e,s)/2;i=Math.max(c+u,i),a=Math.min(c-u,a)});const l=i-a;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function gB(e,n){let o=Object.values(n),r=ln.applyWithChunking(Math.min,o),i=ln.applyWithChunking(Math.max,o);["u","d"].forEach(a=>{["l","r"].forEach(l=>{let s=a+l,c=e[s];if(c===n)return;let u=Object.values(c),f=r-ln.applyWithChunking(Math.min,u);l!=="l"&&(f=i-ln.applyWithChunking(Math.max,u)),f&&(e[s]=ln.mapValues(c,d=>d+f))})})}function hB(e,n){return ln.mapValues(e.ul,(o,r)=>{if(n)return e[n.toLowerCase()][r];{let i=Object.values(e).map(a=>a[r]).sort((a,l)=>a-l);return(i[1]+i[2])/2}})}function yB(e){let n=ln.buildLayerMatrix(e),o=Object.assign(lB(e,n),sB(e,n)),r={},i;["u","d"].forEach(l=>{i=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(i=i.map(d=>Object.values(d).reverse()));let c=(l==="u"?e.predecessors:e.successors).bind(e),u=uB(e,i,o,c),f=fB(e,i,u.root,u.align,s==="r");s==="r"&&(f=ln.mapValues(f,d=>-d)),r[l+s]=f})});let a=mB(e,r);return gB(r,a),hB(r,e.graph().align)}function _B(e,n,o){return(r,i,a)=>{let l=r.node(i),s=r.node(a),c=0,u;if(c+=l.width/2,Object.hasOwn(l,"labelpos"))switch(l.labelpos.toLowerCase()){case"l":u=-l.width/2;break;case"r":u=l.width/2;break}if(u&&(c+=o?u:-u),u=0,c+=(l.dummy?n:e)/2,c+=(s.dummy?n:e)/2,c+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=s.width/2;break;case"r":u=-s.width/2;break}return u&&(c+=o?u:-u),u=0,c}}function bB(e,n){return e.node(n).width}let xm=et,wB=aB.positionX;var kB=CB;function CB(e){e=xm.asNonCompoundGraph(e),EB(e),Object.entries(wB(e)).forEach(([n,o])=>e.node(n).x=o)}function EB(e){let n=xm.buildLayerMatrix(e),o=e.graph().ranksep,r=0;n.forEach(i=>{const a=i.reduce((l,s)=>{const c=e.node(s).height;return l>c?l:c},0);i.forEach(l=>e.node(l).y=r+a/2),r+=a+o})}let vm=SO,Am=TO,NB=e$,SB=et.normalizeRanks,xB=r$,vB=et.removeEmptyRanks,Im=s$,AB=m$,Tm=h$,IB=oB,TB=kB,Pt=et,PB=Mt.Graph;var OB=$B;function $B(e,n){let o=n&&n.debugTiming?Pt.time:Pt.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>jB(e));o(" runLayout",()=>BB(r,o,n)),o(" updateInputGraph",()=>VB(e,r))})}function BB(e,n,o){n(" makeSpaceForEdgeLabels",()=>GB(e)),n(" removeSelfEdges",()=>QB(e)),n(" acyclic",()=>vm.run(e)),n(" nestingGraph.run",()=>Im.run(e)),n(" rank",()=>NB(Pt.asNonCompoundGraph(e))),n(" injectEdgeLabelProxies",()=>qB(e)),n(" removeEmptyRanks",()=>vB(e)),n(" nestingGraph.cleanup",()=>Im.cleanup(e)),n(" normalizeRanks",()=>SB(e)),n(" assignRankMinMax",()=>zB(e)),n(" removeEdgeLabelProxies",()=>HB(e)),n(" normalize.run",()=>Am.run(e)),n(" parentDummyChains",()=>xB(e)),n(" addBorderSegments",()=>AB(e)),n(" order",()=>IB(e,o)),n(" insertSelfEdges",()=>eV(e)),n(" adjustCoordinateSystem",()=>Tm.adjust(e)),n(" position",()=>TB(e)),n(" positionSelfEdges",()=>tV(e)),n(" removeBorderNodes",()=>JB(e)),n(" normalize.undo",()=>Am.undo(e)),n(" fixupEdgeLabelCoords",()=>XB(e)),n(" undoCoordinateSystem",()=>Tm.undo(e)),n(" translateGraph",()=>YB(e)),n(" assignNodeIntersects",()=>WB(e)),n(" reversePoints",()=>ZB(e)),n(" acyclic.undo",()=>vm.undo(e))}function VB(e,n){e.nodes().forEach(o=>{let r=e.node(o),i=n.node(o);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,n.children(o).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(o=>{let r=e.edge(o),i=n.edge(o);r.points=i.points,Object.hasOwn(i,"x")&&(r.x=i.x,r.y=i.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}let RB=["nodesep","edgesep","ranksep","marginx","marginy"],DB={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},MB=["acyclicer","ranker","rankdir","align"],LB=["width","height","rank"],Pm={width:0,height:0},FB=["minlen","weight","width","height","labeloffset"],UB={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},KB=["labelpos"];function jB(e){let n=new PB({multigraph:!0,compound:!0}),o=fs(e.graph());return n.setGraph(Object.assign({},DB,us(o,RB),Pt.pick(o,MB))),e.nodes().forEach(r=>{let i=fs(e.node(r));const a=us(i,LB);Object.keys(Pm).forEach(l=>{a[l]===void 0&&(a[l]=Pm[l])}),n.setNode(r,a),n.setParent(r,e.parent(r))}),e.edges().forEach(r=>{let i=fs(e.edge(r));n.setEdge(r,Object.assign({},UB,us(i,FB),Pt.pick(i,KB)))}),n}function GB(e){let n=e.graph();n.ranksep/=2,e.edges().forEach(o=>{let r=e.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function qB(e){e.edges().forEach(n=>{let o=e.edge(n);if(o.width&&o.height){let r=e.node(n.v),a={rank:(e.node(n.w).rank-r.rank)/2+r.rank,e:n};Pt.addDummyNode(e,"edge-proxy",a,"_ep")}})}function zB(e){let n=0;e.nodes().forEach(o=>{let r=e.node(o);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),e.graph().maxRank=n}function HB(e){e.nodes().forEach(n=>{let o=e.node(n);o.dummy==="edge-proxy"&&(e.edge(o.e).labelRank=o.rank,e.removeNode(n))})}function YB(e){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,i=0,a=e.graph(),l=a.marginx||0,s=a.marginy||0;function c(u){let f=u.x,d=u.y,p=u.width,m=u.height;n=Math.min(n,f-p/2),o=Math.max(o,f+p/2),r=Math.min(r,d-m/2),i=Math.max(i,d+m/2)}e.nodes().forEach(u=>c(e.node(u))),e.edges().forEach(u=>{let f=e.edge(u);Object.hasOwn(f,"x")&&c(f)}),n-=l,r-=s,e.nodes().forEach(u=>{let f=e.node(u);f.x-=n,f.y-=r}),e.edges().forEach(u=>{let f=e.edge(u);f.points.forEach(d=>{d.x-=n,d.y-=r}),Object.hasOwn(f,"x")&&(f.x-=n),Object.hasOwn(f,"y")&&(f.y-=r)}),a.width=o-n+l,a.height=i-r+s}function WB(e){e.edges().forEach(n=>{let o=e.edge(n),r=e.node(n.v),i=e.node(n.w),a,l;o.points?(a=o.points[0],l=o.points[o.points.length-1]):(o.points=[],a=i,l=r),o.points.unshift(Pt.intersectRect(r,a)),o.points.push(Pt.intersectRect(i,l))})}function XB(e){e.edges().forEach(n=>{let o=e.edge(n);if(Object.hasOwn(o,"x"))switch((o.labelpos==="l"||o.labelpos==="r")&&(o.width-=o.labeloffset),o.labelpos){case"l":o.x-=o.width/2+o.labeloffset;break;case"r":o.x+=o.width/2+o.labeloffset;break}})}function ZB(e){e.edges().forEach(n=>{let o=e.edge(n);o.reversed&&o.points.reverse()})}function JB(e){e.nodes().forEach(n=>{if(e.children(n).length){let o=e.node(n),r=e.node(o.borderTop),i=e.node(o.borderBottom),a=e.node(o.borderLeft[o.borderLeft.length-1]),l=e.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-a.x),o.height=Math.abs(i.y-r.y),o.x=a.x+o.width/2,o.y=r.y+o.height/2}}),e.nodes().forEach(n=>{e.node(n).dummy==="border"&&e.removeNode(n)})}function QB(e){e.edges().forEach(n=>{if(n.v===n.w){var o=e.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function eV(e){var n=Pt.buildLayerMatrix(e);n.forEach(o=>{var r=0;o.forEach((i,a)=>{var l=e.node(i);l.order=a+r,(l.selfEdges||[]).forEach(s=>{Pt.addDummyNode(e,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:a+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function tV(e){e.nodes().forEach(n=>{var o=e.node(n);if(o.dummy==="selfedge"){var r=e.node(o.e.v),i=r.x+r.width/2,a=r.y,l=o.x-i,s=r.height/2;e.setEdge(o.e,o.label),e.removeNode(n),o.label.points=[{x:i+2*l/3,y:a-s},{x:i+5*l/6,y:a-s},{x:i+l,y:a},{x:i+5*l/6,y:a+s},{x:i+2*l/3,y:a+s}],o.label.x=o.x,o.label.y=o.y}})}function us(e,n){return Pt.mapValues(Pt.pick(e,n),Number)}function fs(e){var n={};return e&&Object.entries(e).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let nV=et,oV=Mt.Graph;var rV={debugOrdering:iV};function iV(e){let n=nV.buildLayerMatrix(e),o=new oV({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+e.node(r).rank)}),e.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,i)=>{let a="layer"+i;o.setNode(a,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var aV="1.1.5",lV={graphlib:Mt,layout:OB,debug:rV,util:{time:et.time,notime:et.notime},version:aV};const Om=iP(lV);function $m(){const e=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=t.inject(Hc,e);return o=>n(o)}function Gi(e,n,o){const r=n?pn(e,o,n):void 0;return`${e.name}${r?`.${r.name}`:""}`}function _r(e,n){const o=n(e.source),r=n(e.target);return[Gi(o,e.sourceField,"output"),Gi(r,e.targetField,"input")]}function ps(e,n,o,r,i){const a=i(e),l=i(o);return[Gi(a,n,"output"),Gi(l,r,"input")]}function sV({phase:e,readonly:n,flowId:o}){const{findNode:r}=je(o),i=it(),{state:a,getNodeById:l,moveNode:s,moveGroup:c,setGroupLayout:u,commit:f}=i,d=t.ref(),p=t.computed(()=>new Map(a.value.groups.map(M=>[M.id,M]))),m=t.computed(()=>new Set(a.value.groups.map(M=>M.id))),y=M=>!!M&&m.value.has(M),_=M=>!!M&&M.startsWith("branch:");function g(M){const O=[];for(const A of M.memberIds){const P=l(A);P&&O.push(P)}return O}const h=t.computed(()=>{const M=new Map;for(const O of a.value.groups){if(O.phase!==e||!O.position)continue;const A=g(O).filter(P=>P.phase===e&&!P.hidden);if(A.length)for(const P of A)M.set(P.id,O)}return M}),w=t.computed(()=>{const M=new Map;for(const O of a.value.groups)M.has(O.ownerId)||M.set(O.ownerId,[]),M.get(O.ownerId).push(O);return M});function b(M){let O=0;const A=new Set;let P=h.value.get(M);for(;P&&!A.has(P.id);)O+=1,A.add(P.id),P=h.value.get(P.ownerId);return O}function N(M){return b(M.ownerId)}const C=t.computed(()=>{const M=[];for(const O of a.value.groups){const A=l(O.ownerId);if(!A||A.phase!==e)continue;const P=O.position,T=O.dimensions;if(!P||!T)continue;const Y=g(O).filter(ne=>ne.phase===e&&!ne.hidden),z=N(O);M.push({id:O.id,type:"group",position:P,width:T.width,height:T.height,data:{...O,memberIds:Y.map(ne=>ne.id)},draggable:!n,selectable:!1,zIndex:z*Xr+QN})}return M}),k=t.computed(()=>{let M=0;for(const O of a.value.groups){if(O.phase!==e)continue;const A=N(O);A>M&&(M=A)}return M}),E=t.computed(()=>{const M=[];for(const O of a.value.groups){if(O.phase!==e||!O.position||!O.dimensions)continue;const A=l(O.ownerId);if(!A||A.phase!==e||A.hidden||!g(O).filter(z=>z.phase===e&&!z.hidden).length)continue;const T=Math.max(b(A.id),N(O))+k.value+1,Y={id:`branch:${O.id}`,source:A.id,target:O.id,sourceHandle:`branch@${O.branch}`,targetHandle:"input",markerEnd:lr.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:A.id,branch:O.branch,groupId:O.id},zIndex:T*Xr+t1};M.push(Y)}return M}),v=new Map,$=new Map;let K;function j(M,O=!0){if(M.phase!==e)return;const A=g(M).filter(se=>se.phase===e&&!se.hidden);if(!A.length)return;let P=Number.POSITIVE_INFINITY,T=Number.POSITIVE_INFINITY,Y=Number.NEGATIVE_INFINITY,z=Number.NEGATIVE_INFINITY;for(const se of A){const he=r(se.id),Z=he==null?void 0:he.dimensions,ae=(Z==null?void 0:Z.width)??0,ie=(Z==null?void 0:Z.height)??0;if(ae<=0||ie<=0)return;const ue=he==null?void 0:he.computedPosition,de=(ue==null?void 0:ue.x)??se.position.x,V=(ue==null?void 0:ue.y)??se.position.y;P=Math.min(P,de),T=Math.min(T,V),Y=Math.max(Y,de+ae),z=Math.max(z,V+ie);const D=w.value.get(se.id)??[];for(const F of D){if(F.phase!==e)continue;const R=v.get(F.id),X=(R==null?void 0:R.position)??F.position,q=(R==null?void 0:R.dimensions)??F.dimensions;!X||!q||(P=Math.min(P,X.x),T=Math.min(T,X.y),Y=Math.max(Y,X.x+q.width),z=Math.max(z,X.y+q.height))}}if(!Number.isFinite(P)||!Number.isFinite(T)||!Number.isFinite(Y)||!Number.isFinite(z))return;const ne=Y-P+fo*2,oe=z-T+fo*2;return{position:{x:Math.round(P-fo),y:Math.round(T-fo)},dimensions:{width:Math.round(ne),height:Math.round(oe)},commit:O}}function S(){if(v.size===0){K=void 0;return}const M=[];let O=!1;v.forEach((A,P)=>{const T=u(P,A,!1);M.push({id:P,changed:T,commit:A.commit}),A.commit&&T&&!O&&(O=!0)}),v.clear(),K=void 0;for(const{id:A,changed:P,commit:T}of M){if(!P)continue;const Y=p.value.get(A);if(!Y)continue;const z=h.value.get(Y.ownerId);z&&$.set(z.id,{commit:T})}if($.size>0){const A=Array.from($);$.clear();for(const[P,{commit:T}]of A)I(P,T)}O&&f("*")}function Q(){v.size!==0&&(K||(K=t.nextTick().then(S)))}function I(M,O=!0){const A=p.value.get(M);if(!A)return;const P=j(A,O);P&&(v.set(M,P),Q())}function G(M,O,A,P){const T=p.value.get(M);if(!T)return;if(!T.position){c(M,O,!1),I(M);return}if(A===0&&P===0){c(M,O,!1);return}c(M,O,!1);const Y=[M],z=new Set([M]),ne=new Set;for(;Y.length;){const oe=Y.shift(),se=p.value.get(oe);if(!se)continue;const he=g(se).filter(Z=>Z.phase===e&&!Z.hidden);for(const Z of he){ne.has(Z.id)||(s(Z.id,{x:Z.position.x+A,y:Z.position.y+P},!1),ne.add(Z.id));const ae=w.value.get(Z.id)??[];for(const ie of ae){if(z.has(ie.id))continue;const ue=p.value.get(ie.id);ue!=null&&ue.position&&c(ie.id,{x:ue.position.x+A,y:ue.position.y+P},!1),z.add(ie.id),Y.push(ie.id)}}}}function U(M,O){const A=d.value;if(!A)return!1;if(A===M||O.some(P=>A===P))return!0;for(const P of O){const T=w.value.get(P);if(T!=null&&T.some(Y=>Y.id===A))return!0}return!1}const ee=new Map;return t.watch(()=>a.value.groups.filter(O=>O.phase===e).map(O=>{const A=O.memberIds.map(P=>{var ne,oe;const T=r(P),Y=Math.round(((ne=T==null?void 0:T.dimensions)==null?void 0:ne.width)??0),z=Math.round(((oe=T==null?void 0:T.dimensions)==null?void 0:oe.height)??0);return`${P}:${Y}x${z}`});return{id:O.id,memberIds:O.memberIds,signature:A.join(",")}}),M=>{for(const O of M){if(U(O.id,O.memberIds))continue;ee.get(O.id)!==O.signature&&(ee.set(O.id,O.signature),I(O.id))}},{deep:!0,flush:"post"}),{groupMapById:p,groupsByOwner:w,memberGroupMap:h,groupNodes:C,branchEdges:E,isGroupId:y,isBranchEdgeId:_,updateGroupLayout:I,translateGroupTree:G,setDraggingNode:M=>{d.value=M},getNodeDepth:b,maxGroupDepth:k}}function cV(e){t.provide(Mp,e)}function Bm(){return t.inject(Mp,void 0)}function Vm(){const e=Bm();if(!e)throw new Error("Confirm modal not provided");return e}function Rm(e){const n=e.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}function dV(){const e={x1:Number.POSITIVE_INFINITY,y1:Number.POSITIVE_INFINITY,x2:Number.NEGATIVE_INFINITY,y2:Number.NEGATIVE_INFINITY};return[r=>{e.x1=Math.min(e.x1,r.x),e.y1=Math.min(e.y1,r.y),e.x2=Math.max(e.x2,r.x+r.width),e.y2=Math.max(e.y2,r.y+r.height)},()=>{const r={...e};return r.x1>r.x2&&(r.x1=r.x2=0),r.y1>r.y2&&(r.y1=r.y2=0),r}]}const uV={default:Xk,hover:Jk,selected:Zk};let Dm,ms;function qi(e){const n=e.id===Dm?"selected":e.id===ms?"hover":"default",o=uV[n],{markerEnd:r}=e,i=typeof r=="object"?{...r,color:o}:{type:r,color:o},a=e.zIndex??0,l=n==="selected"?a+2:n==="hover"?a+1:a;return{...e,style:{...e.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:i,zIndex:l}}const[fV,pV]=Ye.createInjectionState(function(e){const{phase:n,flowId:o,layoutOptions:r,readonly:i}=e,{viewport:a,padding:l=mr.padding,gaps:s=mr.gaps}=r,{nodes:c=mr.gaps.nodes,edges:u=mr.gaps.edges,ranks:f=mr.gaps.ranks}=s,d=je(o),p=it(),m=Bm(),y=$m(),{i18n:{t:_}}=Le(),{findNode:g,fitView:h,deleteKeyCode:w,onNodeDrag:b,onNodeDragStop:N,onConnect:C,onNodesChange:k,onEdgesChange:E,onEdgeUpdate:v,onEdgeMouseEnter:$,onEdgeMouseLeave:K,getNodes:j,setNodes:S,setEdges:Q,addSelectedNodes:I}=d;w.value=["Delete","Backspace"];const{state:G,commit:U,moveNode:ee,selectNode:M,removeNode:O,getNodeById:A,connectEdge:P,disconnectEdge:T,getInEdgesByNodeId:Y,commit:z,reset:ne}=p;function oe(ce,Ee){const ye=A(ce.source),ge=A(ce.target);return!!(ye&&ge&&ye.phase===Ee&&ge.phase===Ee)}const se=sV({phase:n,readonly:i,flowId:o}),{groupMapById:he,groupsByOwner:Z,memberGroupMap:ae,groupNodes:ie,branchEdges:ue,isGroupId:de,isBranchEdgeId:V,updateGroupLayout:D,translateGroupTree:F,setDraggingNode:R,getNodeDepth:X,maxGroupDepth:q}=se,re=t.computed(()=>G.value.nodes.filter(ce=>ce.phase===n&&!ce.hidden).map(ce=>{const Ee=ae.value.get(ce.id),ye=Ee==null?void 0:Ee.position,ge=Ee==null?void 0:Ee.dimensions,Se=Ee&&ye&&ge?{x:ce.position.x-ye.x,y:ce.position.y-ye.y}:ce.position,Ae=X(ce.id),$e=!!(Ee&&ye&&ge),Ne=($e?Ae:0)+q.value+1;return{id:ce.id,type:"flow",position:Se,data:ce,deletable:!vu(ce),parentNode:$e?Ee.id:void 0,zIndex:Ne*Xr+n1}})),x=t.computed(()=>G.value.edges.filter(ce=>oe(ce,n)).filter(ce=>{const Ee=A(ce.source),ye=A(ce.target);return!(Ee!=null&&Ee.hidden)&&!(ye!=null&&ye.hidden)}).map(ce=>{const Ee=A(ce.source),ye=A(ce.target);if(Ee){if(!ye)throw new Error(`Missing target node "${ce.target}" for edge "${ce.id}" in phase "${n}"`)}else throw new Error(`Missing source node "${ce.source}" for edge "${ce.id}" in phase "${n}"`);const ge=Math.max(X(ce.source),X(ce.target))+q.value+1;return qi({id:ce.id,source:ce.source,target:ce.target,sourceHandle:ce.sourceField?`outputs@${ce.sourceField}`:"output",targetHandle:ce.targetField?`inputs@${ce.targetField}`:"input",markerEnd:lr.ArrowClosed,data:ce,updatable:!i,zIndex:ge*Xr+e1})})),L=t.computed(()=>[...ue.value,...x.value]);t.watch([re,ie,L],([ce,Ee,ye])=>{S([...Ee,...ce]),Q(ye)},{immediate:!0});const B=t.computed(()=>({padding:l/Math.max(t.toValue(a==null?void 0:a.width)??0,t.toValue(a==null?void 0:a.height)??0)}));async function te({source:ce,sourceHandle:Ee,target:ye,targetHandle:ge}){if(!Ee||!ge)return;const Se=Rm(Ee),Ae=Rm(ge);if((Se==null?void 0:Se.io)==="input"||(Ae==null?void 0:Ae.io)==="output"||Ee==="output"&&ge==="output")return;const $e=Y(ye);let Ne=!1,Me=!1;const De=[],we=[],Te=(Ae==null?void 0:Ae.io)==="input"?$e.filter(Ke=>!Ke.targetField):$e.filter(Ke=>!!Ke.targetField);Te.length>0&&(Ne=!0,Te.forEach(Ke=>{we.push(_r(Ke,A)),T(Ke.id,!1)}));const Be=(Ae==null?void 0:Ae.io)==="input"?$e.filter(Ke=>Ke.targetField===Ae.field):$e.filter(Ke=>!Ke.targetField);if(Be.length>0){if(Be.some(tt=>tt.source===ce&&tt.target===ye&&tt.targetField===(Ae==null?void 0:Ae.field)&&tt.sourceField===(Se==null?void 0:Se.field)))return;Me=!0,Be.forEach(tt=>{we.push(_r(tt,A)),T(tt.id,!1)})}if(!P({source:ce,sourceField:Se==null?void 0:Se.field,target:ye,targetField:Ae==null?void 0:Ae.field},!1)){ne(),y({message:_("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(De.push(ps(ce,Se==null?void 0:Se.field,ye,Ae==null?void 0:Ae.field,A)),Ne||Me){if(!m)throw ne(),new Error("Expected confirm modal to be provided here when reachable");if(!await m(_(Ne?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),De,we)){ne();return}}z()}C(te);let J=!1;const _e=()=>{J&&(J=!1,z())};k(ce=>{ce.filter(ge=>ge.type==="select").filter(ge=>!de(ge.id)).sort((ge,Se)=>ge.selected===Se.selected?0:ge.selected?1:-1).forEach(ge=>{M(ge.selected?ge.id:void 0)});let ye=!1;ce.forEach(ge=>{if(ge.type==="remove"){if(de(ge.id))return;ye=!0,O(ge.id,!1)}}),ye&&!J&&(J=!0,queueMicrotask(_e))}),b(({node:ce})=>{var Ae;if(!ce)return;if(de(ce.id)){const $e=ce.id;R($e);const Ne=he.value.get($e);if(!Ne)return;const Me=Ne.position??{...ce.position},De=ce.position.x-Me.x,we=ce.position.y-Me.y;F($e,ce.position,De,we);const Te=ae.value.get(Ne.ownerId);Te&&D(Te.id);return}const Ee=ce.id;R(Ee);const ye=ce.parentNode;let ge={...ce.position};if(ye&&de(ye)){const $e=he.value.get(ye);$e!=null&&$e.position&&(ge={x:$e.position.x+ce.position.x,y:$e.position.y+ce.position.y})}ee(Ee,ge,!1);const Se=ye&&de(ye)?ye:(Ae=ae.value.get(Ee))==null?void 0:Ae.id;Se&&D(Se)}),N(({node:ce})=>{var Ae;if(!ce)return;if(de(ce.id)){const $e=ce.id;R(void 0),U(`drag-group:${$e}`);return}const Ee=ce.id;R(void 0);const ye=ce.parentNode;let ge={...ce.position};if(ye&&de(ye)){const $e=he.value.get(ye);$e!=null&&$e.position&&(ge={x:$e.position.x+ce.position.x,y:$e.position.y+ce.position.y})}ee(Ee,ge,!1);const Se=ye&&de(ye)?ye:(Ae=ae.value.get(Ee))==null?void 0:Ae.id;Se&&D(Se),U(`drag-node:${Ee}`)}),E(ce=>{ce.filter(ge=>ge.type==="select").sort((ge,Se)=>ge.selected===Se.selected?0:ge.selected?1:-1).forEach(ge=>{V(ge.id)||(Dm=ge.selected?ge.id:void 0,Q(Se=>Se.map(Ae=>Ae.id!==ge.id||!Ae.markerEnd?Ae:qi({...Ae,zIndex:ge.selected?1:void 0}))))});let ye=!1;ce.forEach(ge=>{if(ge.type==="remove"){if(V(ge.id))return;ye=!0,T(ge.id,!1)}}),ye&&!J&&(J=!0,queueMicrotask(_e))}),$(({edge:ce})=>{V(ce.id)||(ms=ce.id,Q(Ee=>Ee.map(ye=>ye.id!==ce.id?ye:qi(ye))))}),K(({edge:ce})=>{V(ce.id)||(ms=void 0,Q(Ee=>Ee.map(ye=>ye.id!==ce.id?ye:qi(ye))))}),v(({edge:ce,connection:Ee})=>{V(ce.id)||(T(ce.id,!1),te(Ee))});function be(ce,Ee,ye){var Ke,tt,Zi,rg,ig;const ge=Ee?g(Ee.id):void 0,Se=ye?g(ye.id):void 0;let Ae;if(ce.length>0){Ae=new Om.graphlib.Graph({multigraph:!0}),Ae.setGraph({rankdir:n==="request"?"LR":"RL",nodesep:c,edgesep:u,ranksep:f});const _t=new Set;for(const Nt of ce){const Yt=g(Nt.id);if(!Yt){console.warn(`Cannot find graph node '${Nt.id}' in ${n} phase`);continue}_t.add(Nt.id),Jr(Nt)?Ae.setNode(Nt.id,Nt.dimensions??Yt.dimensions):Ae.setNode(Nt.id,Yt.dimensions)}for(const Nt of L.value)!_t.has(Nt.source)||!_t.has(Nt.target)||Ae.setEdge(Nt.source,Nt.target,{points:[]});Om.layout(Ae)}const[$e,Ne]=dV(),Me=_t=>({x:_t.x-_t.width/2,y:_t.y-_t.height/2,width:_t.width,height:_t.height});if(ce.length>0){if(!Ae)throw new Error("Expected dagreGraph to be initialized");for(const _t of ce){const Nt=Ae.node(_t.id),Yt=Me(Nt);$e(Yt),Jr(_t)?F(_t.id,Yt,Yt.x+fo,Yt.y+fo):ee(_t.id,{x:Yt.x,y:Yt.y},!1)}}const De=Ne(),we=De.x2-De.x1,Te=De.y2-De.y1,Be=Math.max(0,Math.min(t.toValue(a==null?void 0:a.width)??Number.POSITIVE_INFINITY,tP)-we-2*c-(((Ke=ge==null?void 0:ge.dimensions)==null?void 0:Ke.width)??0)-(((tt=Se==null?void 0:Se.dimensions)==null?void 0:tt.width)??0)-2*l),gt=De.y1+Te/2;Ee&&ee(Ee.id,{x:De.x1-c-Be/2-(((Zi=ge==null?void 0:ge.dimensions)==null?void 0:Zi.width)??0),y:gt-(((rg=ge==null?void 0:ge.dimensions)==null?void 0:rg.height)??0)/2},!1),ye&&ee(ye.id,{x:De.x2+c+Be/2,y:gt-(((ig=Se==null?void 0:Se.dimensions)==null?void 0:ig.height)??0)/2},!1)}function le(ce){let Ee,ye;const ge=[];for(const Se of ce){if(Jr(Se)){ge.push(Se);continue}switch(Se.name){case"request":{if(n!=="request")throw new Error(`Unexpected request node in ${n} phase`);if(Ee)throw new Error("Duplicated request node in request phase");Ee=Se;break}case"service_request":{if(n!=="request")throw new Error(`Unexpected service_request node in ${n} phase`);if(ye)throw new Error("Duplicated service_request node in request phase");ye=Se;break}case"service_response":{if(n!=="response")throw new Error(`Unexpected service_response node in ${n} phase`);if(ye)throw new Error("Duplicated service_response node in response phase");ye=Se;break}case"response":{if(n!=="response")throw new Error(`Unexpected response node in ${n} phase`);if(Ee)throw new Error("Duplicated response node in response phase");Ee=Se;break}default:{ge.push(Se);break}}}return{autoNodes:ge,leftNode:Ee,rightNode:ye}}async function xe(ce=!0){const Ee=new Map(re.value.map(Ne=>[Ne.id,Ne.data])),ye=G.value.groups.toSorted((Ne,Me)=>X(Me.ownerId)-X(Ne.ownerId));for(const Ne of ye)be(Ne.memberIds.reduce((Me,De)=>{const we=A(De);if(!we)return console.warn(`Cannot find node '${De}' of group '${Ne.id}' by getNodeById`),Me;if(we.phase!==n)return Me;if(we.type==="branch"){const Te=Z.value.get(we.id);Te&&Me.push(...Te)}return Ee.delete(we.id),Me.push(we),Me},[])),await t.nextTick(),D(Ne.id,!1),await t.nextTick();const ge=Ee.values().toArray();for(const Ne of ge){if(Jr(Ne)||Ne.type!=="branch")continue;const Me=Z.value.get(Ne.id);Me&&ge.push(...Me)}const{autoNodes:Se,leftNode:Ae,rightNode:$e}=le(ge);be(Se,Ae,$e),ce&&U(`autolayout-${o}`)}function Ve(ce){h({...B.value,...ce})}async function pe(ce){return M(ce),new Promise(Ee=>setTimeout(()=>{const ye=g(ce);I(ye?[ye]:[]),Ee()},0))}function fe(ce){const Ee=j.value.filter(({type:Te})=>Te!=="group"),ye=Ee.find(({id:Te})=>Te===ce);if(!ye)throw new Error(`Node ${ce} not found`);const{position:{x:ge,y:Se},dimensions:{width:Ae,height:$e}}=ye,Ne=Se,Me=Se+$e,De=Ee.filter(({id:Te})=>Te!==ce).filter(({position:{y:Te},dimensions:{height:Be}})=>Te<Me&&Te+Be>Ne).map(({position:{x:Te},dimensions:{width:Be}})=>({left:Te,right:Te+Be})).sort((Te,Be)=>Te.left-Be.left);let we=ge+Ae+c;for(const{left:Te,right:Be}of De)if(!(Be<=we)){if(we+Ae<=Te)return{x:we,y:Ne};we=Math.max(we,Be)+c}return{x:we,y:Ne}}function lt(ce){if(!ce)return;const Ee=g(ce);if(!Ee)throw new Error(`Node ${ce} not found`);const{position:{x:ye},dimensions:{width:ge}}=Ee,Se=ye+ge,{viewport:Ae,dimensions:$e,setViewport:Ne}=d,{x:Me,y:De,zoom:we}=Ae.value,{width:Te}=$e.value,Be=ye*we+Me,gt=Se*we+Me,Ke=Te-Eu-c;if(gt<=Ke)return;let tt=Ke-gt;Be+tt<0&&(tt=-Be),tt!==0&&Ne({x:Me+tt,y:De,zoom:we},{duration:rP})}return{vueFlowStore:d,editorStore:p,readonly:i,nodes:re,edges:L,selectNode:pe,autoLayout:xe,placeToRight:fe,scrollRightToReveal:lt,fitViewParams:B,fitView:Ve}}),zi=Ie(t.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>Ce.Left},size:{default:()=>Number.parseFloat(gd)},type:{}},setup(e){t.useCssVars(o=>({"753622c4":o.color}));const n=t.computed(()=>({width:`${e.size}px`,minWidth:`${e.size}px`}));return(o,r)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["handle-twig",[o.type,o.position===t.unref(Ce).Left?"left":"right"]]),style:t.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),Mm=Ie(t.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(e){t.useCssVars(r=>{var i,a;return{b58c4842:(i=n.value.colors)==null?void 0:i.background,"6ae9eff4":(a=n.value.colors)==null?void 0:a.foreground}});const n=t.computed(()=>Ct[e.type]),o=t.computed(()=>o1(e.type));return(r,i)=>{var l;const a=t.resolveComponent("KBadge");return t.openBlock(),t.createBlock(a,{appearance:"neutral",class:t.normalizeClass(["dk-node-badge",{"icon-only":r.iconOnly,"has-colors":!!n.value.colors}]),size:r.size},t.createSlots({default:t.withCtx(()=>[t.createTextVNode(" "+t.toDisplayString(o.value),1)]),_:2},[(l=n.value)!=null&&l.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-05435e4f"]]);let No=null;function mV(){var n;if(No)return No;if(typeof navigator>"u")return No="windows";const e=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(e)?No="mac":/Linux/i.test(e)&&!/Android/i.test(e)?No="linux":No="windows"}const gV={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},hV={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"},yV={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 _V(e,n={}){const o=n.platform??mV(),r=n.joiner??(o==="mac"?"":" + "),i=o==="mac"?gV:o==="linux"?yV:hV;return(Array.isArray(e)?e:e[o]).map(l=>l in i?i[l]:l).join(r)}const bV={key:0,class:"label"},wV={class:"keys"},Hi=Ie(t.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(e){const n=_V(e.keys);return(o,r)=>(t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["dk-hotkey-label",{reverse:o.reverse}])},[o.label?(t.openBlock(),t.createElementBlock("span",bV,t.toDisplayString(o.label),1)):t.createCommentVNode("",!0),t.createElementVNode("kbd",wV,t.toDisplayString(t.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),kV={class:"indicator-box"},CV={key:1,class:"additional-count"},Yi=Ie(t.defineComponent({__name:"ValueIndicator",props:{edgeId:{},sourceNode:{},sourceFieldName:{},targetNodes:{},targetFieldNames:{},mode:{},reversed:{type:Boolean,default:!1}},setup(e){const n=t.createPropsRestProxy(e,["reversed"]),o=t.computed(()=>n.mode==="input"&&n.sourceNode?n.sourceFieldName?`${n.sourceNode.name}.${n.sourceFieldName}`:n.sourceNode.name:n.mode==="output"&&n.targetNodes?n.targetNodes.map((s,c)=>{var f;const u=(f=n.targetFieldNames)==null?void 0:f[c];return u?`${s.name}.${u}`:s.name}).join(", "):""),r=t.computed(()=>{var s;let l;if(n.mode==="input"&&n.sourceNode?l=n.sourceNode:n.mode==="output"&&n.targetNodes&&n.targetNodes.length>0&&(l=n.targetNodes[0]),!!l)return(s=Ct[l.type])==null?void 0:s.icon}),i=t.computed(()=>n.mode==="output"&&n.targetNodes&&n.targetNodes.length>1?n.targetNodes.length-1:0),a=t.computed(()=>n.mode==="input"?e.reversed:!e.reversed);return(l,s)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["value-indicator",{reversed:a.value}])},[t.createVNode(t.unref(Re.KTooltip),{placement:"top",text:o.value},{default:t.withCtx(()=>[t.createElementVNode("div",kV,[r.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.value),{key:0,color:t.unref(Fa),size:16},null,8,["color"])):t.createCommentVNode("",!0),i.value>0?(t.openBlock(),t.createElementBlock("span",CV," +"+t.toDisplayString(i.value),1)):t.createCommentVNode("",!0)])]),_:1},8,["text"])],2))}}),[["__scopeId","data-v-d8506ba3"]]),EV={class:"body"},NV={class:"name"},SV={class:"handle"},xV={class:"handle-label-wrapper"},vV={class:"handle-label-wrapper"},AV={class:"handle-label text"},IV={class:"handle"},TV={class:"handle-label-wrapper"},PV={class:"handle-label-wrapper"},OV={class:"handle-label text"},$V={key:2,class:"branch-handles"},BV={class:"handle-label-wrapper"},VV={class:"handle-label text"},Lm=Ie(t.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),o=pV(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:i,getNodeById:a,toggleExpanded:l,duplicateNode:s,removeNode:c,propertiesPanelOpen:u}=it(),f=t.computed(()=>mo(e.data.type)),d=t.computed(()=>e.data.fields.input.length>0),p=t.computed(()=>e.data.fields.output.length>0),m=t.computed(()=>d.value&&r(e.data.id).every(A=>A.targetField===void 0)),y=t.computed(()=>p.value&&i(e.data.id).every(A=>A.sourceField===void 0)),_=t.computed(()=>e.data.expanded.input??!1),g=t.computed(()=>e.data.expanded.output??!1),h=t.computed(()=>{var A,P,T;return((T=(P=(A=f.value.io)==null?void 0:A.next)==null?void 0:P.branches)==null?void 0:T.map(({name:Y})=>Y))??[]}),w=t.computed(()=>h.value.length>0),b=t.computed(()=>{var A,P;if(e.data.type==="property"){const T=(A=e.data.config)==null?void 0:A.property;return es(T)}return(P=f.value.io)==null?void 0:P.input}),N=t.computed(()=>{var A,P;if(e.data.type==="property"){const T=(A=e.data.config)==null?void 0:A.property;return Ql(T)}return(P=f.value.io)==null?void 0:P.output}),C=t.computed(()=>vu(e.data)),k=t.computed(()=>e.data.phase==="response"),E=t.computed(()=>e.data.phase==="request"?Ce.Left:Ce.Right),v=t.computed(()=>e.data.phase==="request"?Ce.Right:Ce.Left),$=t.computed(()=>e.data.phase==="request"?Ce.Right:Ce.Left),K=t.computed(()=>C.value?n(`plugins.free-form.datakit.flow_editor.node_types.${e.data.type}.name`):e.data.name),j=t.computed(()=>C.value?zk:Hk),S=t.computed(()=>{const A=new Map,P=r(e.data.id);for(const T of P){const Y=a(T.source);if(!Y)continue;const z=Y.type==="vault",ne=Y.phase!==e.data.phase;if(!z&&!ne)continue;let oe;if(T.sourceField){const se=Y.fields.output.find(he=>he.id===T.sourceField);oe=se==null?void 0:se.name}if(T.targetField){const se=e.data.fields.input.find(he=>he.id===T.targetField);if(!se)continue;A.set(T.targetField,{fieldId:T.targetField,edgeId:T.id,field:se,sourceNode:Y,sourceFieldName:oe})}else A.set("input",{fieldId:"input",edgeId:T.id,field:null,sourceNode:Y,sourceFieldName:oe})}return A}),Q=t.computed(()=>{const A=new Map,P=i(e.data.id);for(const T of P){const Y=a(T.target);if(!Y||!(Y.phase!==e.data.phase))continue;let ne;if(T.targetField){const he=Y.fields.input.find(Z=>Z.id===T.targetField);ne=he==null?void 0:he.name}const oe=T.sourceField||"output";if(!A.has(oe)){const he=T.sourceField&&e.data.fields.output.find(Z=>Z.id===T.sourceField)||null;A.set(oe,{fieldId:oe,edgeIds:[],field:he,targetNodes:[],targetFieldNames:[]})}const se=A.get(oe);se.edgeIds.push(T.id),se.targetNodes.push(Y),se.targetFieldNames.push(ne)}return A});function I(A){return S.value.get(A)}function G(A){return Q.value.get(A)}function U(A){!o||o.readonly||A==="input"&&!m.value||A==="output"&&!y.value||l(e.data.id,A)}async function ee(){if(!o||o.readonly)return;const A=s(e.data.id,o.placeToRight(e.data.id));await o.selectNode(A),o.scrollRightToReveal(A),u.value=!0}t.watch(m,A=>{A||l(e.data.id,"input",!0,!0,"*")},{immediate:!0}),t.watch(y,A=>{A||l(e.data.id,"output",!0,!0,"*")},{immediate:!0}),t.watch(()=>e.data.fields.input,(A,P)=>{Do(A,P)||l(e.data.id,"input",A.length>0,!0,"*")},{deep:!0}),t.watch(()=>e.data.fields.output,(A,P)=>{Do(A,P)||l(e.data.id,"output",A.length>0,!0,"*")},{deep:!0});const M=t.useTemplateRef("menu");function O(){var A;(A=M.value)==null||A.closeDropdown()}return(A,P)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-flow-node",{reversed:k.value,implicit:C.value,readonly:A.readonly}]),onMousedown:O},[t.createElementVNode("div",EV,[C.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Re.KTooltip),{key:0,class:"badge",placement:"top",text:A.data.type},{default:t.withCtx(()=>[t.createVNode(Mm,{"icon-only":"",size:"small",type:A.data.type},null,8,["type"])]),_:1},8,["text"])),t.createElementVNode("div",NV,t.toDisplayString(K.value),1),A.error?(t.openBlock(),t.createBlock(t.unref(ve.WarningIcon),{key:1,class:"error-icon",color:t.unref(La),size:16},null,8,["color"])):t.createCommentVNode("",!0),C.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(Re.KDropdown),{key:2,ref:"menu",class:"menu",disabled:A.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:P[1]||(P[1]=t.withModifiers(()=>{},["stop"]))},{items:t.withCtx(()=>[t.createVNode(t.unref(Re.KDropdownItem),{onClick:ee},{default:t.withCtx(()=>[t.createVNode(Hi,{keys:t.unref(Wr).duplicate,label:t.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),t.createVNode(t.unref(Re.KDropdownItem),{danger:"",onClick:P[0]||(P[0]=T=>t.unref(c)(A.data.id))},{default:t.withCtx(()=>[t.createVNode(Hi,{keys:t.unref(Wr).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(Re.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.MoreIcon),{color:t.unref(Ma)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),t.createElementVNode("div",{class:t.normalizeClass(["handles",{reversed:k.value}])},[b.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:t.normalizeClass(["input-handles",{"has-fields":d.value}])},[t.createElementVNode("div",SV,[t.createVNode(t.unref(Ht),{id:"input",position:E.value,type:"target"},null,8,["position"]),I("input")?(t.openBlock(),t.createBlock(Yi,{key:0,"edge-id":I("input").edgeId,mode:"input",reversed:k.value,"source-field-name":I("input").sourceFieldName,"source-node":I("input").sourceNode},null,8,["edge-id","reversed","source-field-name","source-node"])):t.createCommentVNode("",!0),t.createElementVNode("div",xV,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:m.value}]),onClick:P[2]||(P[2]=t.withModifiers(T=>U("input"),["stop"]))},[P[4]||(P[4]=t.createElementVNode("div",{class:"text"}," inputs ",-1)),d.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[_.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(ve.UnfoldMoreIcon),{key:0,size:t.unref(Ko)},null,8,["size"])),_.value?(t.openBlock(),t.createBlock(t.unref(ve.UnfoldLessIcon),{key:1,color:m.value?void 0:t.unref(pd),size:t.unref(Ko)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),d.value&&_.value?(t.openBlock(),t.createBlock(zi,{key:0,color:j.value,position:E.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)])]),d.value&&_.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(A.data.fields.input,(T,Y)=>(t.openBlock(),t.createElementBlock("div",{key:`inputs-${T.id}`,class:"handle indented"},[t.createVNode(t.unref(Ht),{id:`inputs@${T.id}`,position:E.value,type:"target"},null,8,["id","position"]),I(T.id)?(t.openBlock(),t.createBlock(Yi,{key:0,"edge-id":I(T.id).edgeId,mode:"input",reversed:k.value,"source-field-name":I(T.id).sourceFieldName,"source-node":I(T.id).sourceNode},null,8,["edge-id","reversed","source-field-name","source-node"])):t.createCommentVNode("",!0),t.createElementVNode("div",vV,[t.createElementVNode("div",AV,t.toDisplayString(T.name),1),t.createVNode(zi,{color:j.value,position:E.value,type:Y<A.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),N.value?(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["output-handles",{"has-fields":p.value}])},[t.createElementVNode("div",IV,[t.createElementVNode("div",TV,[t.createElementVNode("div",{class:t.normalizeClass(["handle-label trigger",{collapsible:y.value}]),onClick:P[3]||(P[3]=t.withModifiers(T=>U("output"),["stop"]))},[P[5]||(P[5]=t.createElementVNode("div",{class:"text"}," outputs ",-1)),p.value?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[g.value?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.unref(ve.UnfoldMoreIcon),{key:0,size:t.unref(Ko)},null,8,["size"])),g.value?(t.openBlock(),t.createBlock(t.unref(ve.UnfoldLessIcon),{key:1,color:y.value?void 0:t.unref(pd),size:t.unref(Ko)},null,8,["color","size"])):t.createCommentVNode("",!0)],64)):t.createCommentVNode("",!0)],2),p.value&&g.value?(t.openBlock(),t.createBlock(zi,{key:0,color:j.value,position:v.value,type:"bar"},null,8,["color","position"])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(Ht),{id:"output",position:v.value,type:"source"},null,8,["position"]),G("output")?(t.openBlock(),t.createBlock(Yi,{key:0,mode:"output",reversed:k.value,"target-field-names":G("output").targetFieldNames,"target-nodes":G("output").targetNodes},null,8,["reversed","target-field-names","target-nodes"])):t.createCommentVNode("",!0)]),p.value&&g.value?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(A.data.fields.output,(T,Y)=>(t.openBlock(),t.createElementBlock("div",{key:`outputs-${T.id}`,class:"handle indented"},[t.createElementVNode("div",PV,[t.createElementVNode("div",OV,t.toDisplayString(T.name),1),t.createVNode(zi,{color:j.value,position:v.value,type:Y<A.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),t.createVNode(t.unref(Ht),{id:`outputs@${T.id}`,position:v.value,type:"source"},null,8,["id","position"]),G(T.id)?(t.openBlock(),t.createBlock(Yi,{key:0,mode:"output",reversed:k.value,"target-field-names":G(T.id).targetFieldNames,"target-nodes":G(T.id).targetNodes},null,8,["reversed","target-field-names","target-nodes"])):t.createCommentVNode("",!0)]))),128)):t.createCommentVNode("",!0)],2)):t.createCommentVNode("",!0),w.value?(t.openBlock(),t.createElementBlock("div",$V,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,T=>(t.openBlock(),t.createElementBlock("div",{key:`branch-${T}`,class:"handle"},[t.createElementVNode("div",BV,[t.createElementVNode("div",VV,t.toDisplayString(T),1)]),t.createVNode(t.unref(Ht),{id:`branch@${T}`,connectable:!1,position:$.value,type:"source"},null,8,["id","position"])]))),128))])):t.createCommentVNode("",!0)],2)],34))}}),[["__scopeId","data-v-2bf41241"]]),RV=Ie(t.defineComponent({__name:"GroupNode",props:{data:{}},setup(e){const n=e,o=t.computed(()=>n.data.phase==="response"),r=t.computed(()=>o.value?Ce.Right:Ce.Left);return(i,a)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-branch-group-node",{reversed:o.value}])},[t.createVNode(t.unref(Ht),{id:"input",connectable:!1,position:r.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-35113c02"]]),DV={key:0,class:"dk-flow-mask"},Fm=Ie(t.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(e,{expose:n,emit:o}){const r=o,i=t.useTemplateRef("flowCanvas"),a=Ye.useElementBounding(i),{i18n:{t:l}}=Le(),{vueFlowStore:s,editorStore:c,autoLayout:u,fitViewParams:f,fitView:d,selectNode:p,placeToRight:m,scrollRightToReveal:y}=fV({phase:e.phase,flowId:e.flowId,layoutOptions:{viewport:{width:a.width,height:a.height}},readonly:e.mode!=="edit"}),{addNode:_,propertiesPanelOpen:g,invalidConfigNodeIds:h,selectedNode:w,duplicateNode:b}=c,{project:N,vueFlowRef:C,zoomIn:k,zoomOut:E,viewport:v,maxZoom:$,minZoom:K}=s,j=t.ref(!1);function S(M){var O;if(e.mode==="edit"){if(((O=M==null?void 0:M.node)==null?void 0:O.type)==="group"){p(void 0);return}g.value=!0}}function Q(M){e.mode!=="edit"||j.value||M.preventDefault()}function I(M){var he,Z;if(e.mode!=="edit"||j.value)return;const O=(he=M.dataTransfer)==null?void 0:he.getData(Yo);if(!O)return;M.preventDefault();const A=JSON.parse(O);if(A.action!=="create-node")return;const{top:P=0,left:T=0}=((Z=C.value)==null?void 0:Z.getBoundingClientRect())||{},Y=N({x:M.clientX-T,y:M.clientY-P}),{type:z,anchor:ne}=A.data,oe={type:z,phase:e.phase,position:{x:Y.x-ne.offsetX,y:Y.y-ne.offsetY}},se=_(oe);se&&(p(se),g.value=!0)}async function G(){await u(),setTimeout(()=>d(),0)}const U=t.computed(()=>{if(e.mode==="preview")return[];const M=[{name:"zoom_in",icon:ve.AddIcon,action:k,disabled:v.value.zoom>=$.value},{name:"zoom_out",icon:ve.RemoveIcon,action:E,disabled:v.value.zoom<=K.value},{name:"fit_view",icon:ve.FullscreenIcon,action:d}];return e.mode==="edit"&&M.push({name:"auto_layout",icon:ve.AutoLayoutIcon,action:G}),M});if(e.phase==="response"&&e.mode==="edit"){Ye.useEventListener("dragstart",O=>{var T;const A=(T=O.dataTransfer)==null?void 0:T.types.find(Y=>Y.startsWith(`${Yo}/`));if(!A)return;A.replace(`${Yo}/`,"")==="call"&&(j.value=!0)});const{start:M}=Ye.useTimeoutFn(()=>{j.value=!1},80);Ye.useEventListener("dragover",()=>{M()}),Ye.useEventListener("dragend",()=>{j.value=!1})}async function ee(){const M=w.value;if(e.mode!=="edit"||!M||M.phase!==e.phase)return;const O=b(M.id,m(M.id));O&&(await p(O),g.value=!0,y(O))}return Dp({enabled:t.computed(()=>!!w.value&&e.mode==="edit"&&w.value.phase===e.phase),duplicate:ee}),n({autoLayout:u,fitView:d}),(M,O)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowCanvas",ref:i,class:"dk-flow-canvas"},[t.createVNode(t.unref($p),{id:M.flowId,class:t.normalizeClass(["flow",{readonly:M.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":M.mode==="edit","max-zoom":t.unref(nP),"min-zoom":t.unref(oP),"multi-selection-key-code":null,"nodes-connectable":M.mode==="edit","nodes-draggable":M.mode==="edit","pan-on-drag":M.mode==="preview"?!1:void 0,"pan-on-scroll":M.mode!=="edit"?!1:void 0,"zoom-on-double-click":M.mode!=="edit"?!1:void 0,"zoom-on-pinch":M.mode!=="edit"?!1:void 0,"zoom-on-scroll":M.mode!=="edit"?!1:void 0,onDragover:Q,onDrop:I,onNodeClick:S,onNodesChange:O[0]||(O[0]=A=>r("nodes-change")),onNodesInitialized:O[1]||(O[1]=A=>r("initialized"))},{"node-flow":t.withCtx(({data:A})=>[t.createVNode(Lm,{data:A,error:t.unref(h).has(A.id),readonly:M.mode!=="edit"},null,8,["data","error","readonly"])]),"node-group":t.withCtx(({data:A})=>[t.createVNode(RV,{data:A},null,8,["data"])]),default:t.withCtx(()=>[t.createVNode(t.unref(NT)),t.createVNode(t.unref(XT),{"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(U.value,A=>(t.openBlock(),t.createBlock(t.unref(Re.KTooltip),{key:A.name,placement:"right",text:t.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${A.name}`)},{default:t.withCtx(()=>[t.createVNode(t.unref(pr),{disabled:A.disabled,onClick:t.withModifiers(A.action,["stop"])},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(A.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"]),j.value?(t.openBlock(),t.createElementBlock("div",DV,t.toDisplayString(t.unref(l)("plugins.free-form.datakit.flow_editor.phase_mask_help")),1)):t.createCommentVNode("",!0)],512))}}),[["__scopeId","data-v-73a8d192"]]),gs=Ie(t.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(e){const n=t.ref(!1),o=t.ref(!1),{state:r,clearPendingLayout:i,setPendingFitView:a,commit:l,clear:s}=it(),c=t.useId(),u=`${c}-request`,f=`${c}-response`,d=je(u),p=je(f);function m(T,Y){const{onPaneClick:z,onNodesChange:ne,onEdgesChange:oe,getSelectedNodes:se,getSelectedEdges:he}=T,{removeSelectedElements:Z}=Y;function ae(ie){if(!ie){Z();return}ie.some(ue=>ue.type==="select")&&se.value.length+he.value.length>0&&Z()}ne(ae),oe(ae),z(()=>ae())}m(d,p),m(p,d);const y=t.useTemplateRef("flowPanels"),_=t.useTemplateRef("requestLabel"),g=t.useTemplateRef("requestCanvasContainer"),h=t.useTemplateRef("requestFlow"),w=t.useTemplateRef("resizeHandle"),b=t.useTemplateRef("responseLabel"),N=t.useTemplateRef("responseCanvasContainer"),C=t.useTemplateRef("responseFlow"),k=Ye.useElementBounding(y),E=Ye.useElementBounding(_),v=Ye.useElementBounding(g),$=Ye.useElementBounding(w),K=Ye.useElementBounding(b),j=Ye.useElementBounding(N),S=t.computed(()=>Math.max(30,k.height.value*.03)),Q=t.computed(()=>v.height.value<S.value),I=t.computed(()=>j.height.value<S.value),G=t.ref("50%"),U=t.ref("50%"),ee=()=>{e.resizable&&(Q.value?(G.value="50%",U.value="50%"):(G.value="0",U.value="100%"))},M=()=>{e.resizable&&(I.value?(G.value="50%",U.value="50%"):(G.value="100%",U.value="0"))},O=t.computed(()=>k.height.value-E.height.value-$.height.value-K.height.value),{isDragging:A}=Ye.useDraggable(w,{onMove(T){if(!e.resizable)return;const Y=Math.max(0,T.y-v.top.value),z=Math.min(1,Math.max(0,Y/O.value));G.value=`${z*100}%`,U.value=`${(1-z)*100}%`},onEnd(){e.resizable&&(v.height.value<S.value?(G.value="0",U.value="100%"):j.height.value<S.value&&(G.value="100%",U.value="0"))}});function P(){t.nextTick(()=>{var T,Y;(T=h.value)==null||T.fitView(),(Y=C.value)==null||Y.fitView()})}return t.watch([n,o,()=>r.value.pendingLayout,()=>r.value.pendingFitView],([T,Y,z,ne])=>{e.inactive||!T||!Y||!z&&!ne||(z&&i(),ne&&a(!1),setTimeout(async()=>{var oe,se;z&&(await((oe=h.value)==null?void 0:oe.autoLayout(!1)),await((se=C.value)==null?void 0:se.autoLayout(!1)),l("*"),z==="clearHistory"&&s()),ne&&setTimeout(()=>P(),0)},0))}),(T,Y)=>(t.openBlock(),t.createElementBlock("div",{ref_key:"flowPanels",ref:y,class:"flow-panels"},[t.createElementVNode("div",{ref_key:"requestLabel",ref:_,class:t.normalizeClass(["label request",{resizable:T.resizable}]),onClick:ee},[T.resizable?(t.openBlock(),t.createBlock(t.unref(ve.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:Q.value}])},null,8,["class"])):t.createCommentVNode("",!0),Y[4]||(Y[4]=t.createElementVNode("div",{class:"label-content"}," Request ",-1))],2),t.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:g,class:t.normalizeClass(["canvas",{dragging:t.unref(A)}]),style:t.normalizeStyle({flexBasis:G.value})},[t.createVNode(Fm,{ref_key:"requestFlow",ref:h,"flow-id":u,mode:T.mode,phase:"request",onInitialized:Y[0]||(Y[0]=z=>n.value=!0),onNodesChange:Y[1]||(Y[1]=z=>n.value=!1)},null,8,["mode"])],6),t.createElementVNode("div",{ref_key:"resizeHandle",ref:w,class:t.normalizeClass(["resize-handle",{resizable:T.resizable}])},null,2),t.createElementVNode("div",{ref_key:"responseLabel",ref:b,class:t.normalizeClass(["label response",{dragging:t.unref(A),resizable:T.resizable}]),onClick:M},[T.resizable?(t.openBlock(),t.createBlock(t.unref(ve.ChevronDownIcon),{key:0,class:t.normalizeClass(["icon",{collapsed:I.value}])},null,8,["class"])):t.createCommentVNode("",!0),Y[5]||(Y[5]=t.createElementVNode("div",{class:"label-content"}," Response ",-1))],2),t.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:N,class:t.normalizeClass(["canvas response",{dragging:t.unref(A)}]),style:t.normalizeStyle({flexBasis:U.value})},[t.createVNode(Fm,{ref_key:"responseFlow",ref:C,"flow-id":f,mode:T.mode,phase:"response",onInitialized:Y[2]||(Y[2]=z=>o.value=!0),onNodesChange:Y[3]||(Y[3]=z=>o.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-f6dd01e7"]]),MV={class:"dk-confirm-modal-body"},LV={class:"dk-confirm-modal-connections"},FV=Ie(t.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(e,{expose:n,emit:o}){const{i18n:{t:r}}=Le(),i=o,a=t.ref(!1),l=t.ref(e.message),s=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 p(m,y,_){return l.value=m,s.value=y??[],c.value=_??[],a.value=!0,await new Promise(g=>{u=g})}return n({open:p}),(m,y)=>{const _=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(_,{"action-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:m.title??t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:a.value,"z-index":9999,onCancel:f,onProceed:d},{default:t.withCtx(()=>[t.createElementVNode("div",MV,[t.createElementVNode("p",null,t.toDisplayString(l.value),1),t.createElementVNode("p",null,t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),t.createElementVNode("div",LV,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value??[],([g,h])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${h}`},[t.createVNode(t.unref(ve.AddIcon),{color:t.unref(Yk)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),y[0]||(y[0]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(h),1)]))),128)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value??[],([g,h])=>(t.openBlock(),t.createElementBlock("div",{key:`${g}-${h}`},[t.createVNode(t.unref(ve.RemoveIcon),{color:t.unref(La)},null,8,["color"]),t.createElementVNode("span",null,t.toDisplayString(g),1),y[1]||(y[1]=t.createTextVNode(" → ",-1)),t.createElementVNode("span",null,t.toDisplayString(h),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-9874f282"]]),UV={class:"dk-editor-nav"},KV={class:"top"},jV={class:"bottom"},GV=Ie(t.defineComponent({__name:"EditorNav",emits:["back"],setup(e,{emit:n}){const{t:o}=Xe.createI18n("en-us",ot),r=n,i=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:ve.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:a}=pl(),l=t.computed(()=>a.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=t.ref(!1);function c(){a.value=!a.value}return(u,f)=>(t.openBlock(),t.createElementBlock("nav",UV,[t.createElementVNode("div",KV,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(i,({label:d,to:p,icon:m,onClick:y})=>t.createVNode(t.unref(Re.KTooltip),{key:d,"kpop-attributes":{offset:"10px"},label:d,placement:"right"},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.unref(Re.KButton),{key:d,appearance:"none",class:"nav-item",icon:"",to:p,onClick:y},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(m),{decorative:"",size:t.unref(Ua)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),t.createElementVNode("div",jV,[t.createElementVNode("div",{class:t.normalizeClass(["side-panel-toggle",{expanded:t.unref(a)}]),onTransitionend:f[0]||(f[0]=t.withModifiers(d=>s.value=!1,["self"])),onTransitionstart:f[1]||(f[1]=t.withModifiers(d=>s.value=!0,["self"]))},[t.createVNode(t.unref(Re.KTooltip),{label:s.value?void 0:l.value,placement:t.unref(a)?"left":"right"},{default:t.withCtx(()=>[t.createVNode(t.unref(Re.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(ve.ChevronDoubleLeftIcon),{key:0,decorative:"",size:t.unref(Ua)},null,8,["size"])):(t.openBlock(),t.createBlock(t.unref(ve.ChevronDoubleRightIcon),{key:1,decorative:"",size:t.unref(Ua)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),qV={class:"dk-editor-main"},zV={class:"header"},HV={class:"actions"},YV={class:"settings"},WV={ref:"canvasContainer",class:"body"},XV=Ie(t.defineComponent({__name:"EditorMain",setup(e){const{t:n}=Xe.createI18n("en-us",ot),{modalOpen:o,undo:r,redo:i,canUndo:a,canRedo:l,load:s}=it();function c(d){const p=Yr.load(d,{schema:Hr,json:!0});if(typeof p!="object"||p===null)return;const m=p,y={config:{...m,nodes:m.nodes??[]}};s(y,!0)}function u(){o.value=!1}Dp({enabled:o,undo:r,redo:i});const f={maxWidth:"300px",zIndex:1e4};return(d,p)=>(t.openBlock(),t.createElementBlock("div",qV,[t.createElementVNode("header",zV,[t.createElementVNode("div",HV,[t.createVNode(t.unref(Re.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Hi,{keys:t.unref(Wr).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(Re.KButton),{appearance:"tertiary",disabled:!t.unref(a),icon:"",onClick:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),t.createVNode(t.unref(Re.KTooltip),{"z-index":1e4},{content:t.withCtx(()=>[t.createVNode(Hi,{keys:t.unref(Wr).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(Re.KButton),{appearance:"tertiary",disabled:!t.unref(l),icon:"",onClick:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),p[0]||(p[0]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createElementVNode("div",YV,[t.createVNode(Dr,{label:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:t.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:f},name:"config.debug"},null,8,["label","label-attributes"])]),p[1]||(p[1]=t.createElementVNode("div",{class:"divider"},null,-1)),t.createVNode(t.unref(Re.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":t.unref(n)("plugins.free-form.datakit.flow_editor.examples")},{items:t.withCtx(()=>[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(nl,(m,y)=>t.createVNode(t.unref(Re.KDropdownItem),{key:y,onClick:_=>c(m)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)(`plugins.free-form.datakit.examples.${y}`)),1)]),_:2},1032,["onClick"])),64))]),_:1},8,["trigger-text"]),t.createVNode(t.unref(Re.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(ve.ExternalLinkIcon))]),_:1}),t.createVNode(t.unref(Re.KButton),{onClick:u},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),t.createElementVNode("div",WV,[t.createVNode(gs,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-32006420"]]),ZV=["draggable"],JV={class:"icon"},QV={class:"content"},eR={class:"title"},tR={class:"description"},nR=Ie(t.defineComponent({__name:"NodePanelItem",props:{type:{},unsupported:{type:Boolean}},emits:["dragstart"],setup(e,{emit:n}){t.useCssVars(c=>({f628e926:t.unref(a),"4a9b9f82":t.unref(l)}));const o=n,{summary:r,icon:i,colors:{background:a,foreground:l}={}}=il[e.type];function s(c){o("dragstart",c,e.type)}return(c,u)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["dk-node-panel-item",{[`node-type-${c.type}`]:!0,unsupported:c.unsupported}]),draggable:!c.unsupported,onDragstart:s},[t.createElementVNode("div",JV,[t.createVNode(t.unref(i),{size:16})]),t.createElementVNode("div",QV,[t.createElementVNode("div",eR,t.toDisplayString(c.type),1),t.createElementVNode("div",tR,t.toDisplayString(t.unref(r)),1)])],42,ZV))}}),[["__scopeId","data-v-38d156c9"]]),oR={class:"dk-node-panel"},rR={key:0,class:"title"},iR={class:"node-list"},aR={"aria-hidden":"true",class:"preview",inert:""},Um=Ie(t.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),{createNode:o}=it(),r=t.inject(eo.DATAKIT_M2,!1),i=["branch","cache"],a=`dk-drag-preview-${t.useId()}`,l=t.shallowRef(),s=t.computed(()=>l.value?[{id:"preview",type:"flow",data:l.value,position:{x:0,y:0}}]:[]),c=async(u,f)=>{var K,j,S;const d=u.currentTarget,{left:p,top:m,width:y,height:_}=d.getBoundingClientRect(),g=u.clientX-p,h=u.clientY-m;l.value=o({type:f}),await t.nextTick();const w=document.querySelector(`#${a}`)||d,b=w.cloneNode(!0);b.classList.add("dk-drag-snapshot");const{offsetWidth:N,offsetHeight:C}=w;Object.assign(b.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${N}px`,height:`${C}px`}),document.body.appendChild(b);const k=g/y,E=h/_,v={ratioX:k,ratioY:E,offsetX:N*k,offsetY:C*E},$={action:"create-node",data:{type:f,anchor:v}};(K=u.dataTransfer)==null||K.setData(Yo,JSON.stringify($)),(j=u.dataTransfer)==null||j.setData(`${Yo}/${f}`,f),(S=u.dataTransfer)==null||S.setDragImage(b,v.offsetX,v.offsetY),requestAnimationFrame(()=>{b.remove(),l.value=void 0})};return(u,f)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",oR,[u.hideTitle?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("h3",rR,[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",iR,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(Object.keys(t.unref(il)),p=>(t.openBlock(),t.createBlock(nR,{key:p,type:p,unsupported:!t.unref(r)&&i.includes(p),onDragstart:c},null,8,["type","unsupported"]))),128))]),t.createElementVNode("div",aR,[t.createVNode(t.unref($p),{nodes:s.value},{"node-flow":t.withCtx(p=>[t.createVNode(Lm,{id:a,data:p.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-cfbff8f1"]]);function lR(){const{addField:e,getNodeByName:n,removeField:o,replaceConfig:r,renameField:i,disconnectOutEdges:a,nodeMapByName:l}=it(),s=n("vault");if(!s)throw new Error("no vault node");const c=t.computed(()=>{var y;return((y=l.value.get("vault"))==null?void 0:y.config)||{}});return{formData:t.computed(()=>({vault:{...c.value}})),addVault:(y,_)=>{e(s.id,"output",y,!1);const g={...s.config,[y]:_};r(s.id,g)},removeVault:y=>{const _=fn(s,"output",y);if(!_)return;const g=s.fields.output.length===1;o(s.id,_.id,!0,!1);const h=Mo(s.config,y);r(s.id,h,!g),g&&a(s.id)},updateVault:(y,_,g=!0)=>{const h={...s.config,[y]:_};r(s.id,h,g)},renameVault:(y,_,g=!0)=>{var N;const h=fn(s,"output",y);if(!h)return;i(s.id,h.id,_,!1);const w=((N=s.config)==null?void 0:N[y])??"",b={...Mo(s.config,y),[_]:w};r(s.id,b,g)}}}const sR=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 o=n,{i18n:{t:r}}=Ge.useI18n(),i=t.inject(Ue.FORMS_CONFIG),a=t.ref(e.secretName||""),l=t.ref(""),s=t.computed(()=>a.value.trim()?e.validateName(a.value.trim(),e.isEditing)===void 0:!1),c=t.computed(()=>!s.value),u=()=>{const m=a.value.trim(),y=e.validateName(m,e.isEditing);return l.value=y||"",y===void 0},f=()=>{l.value="",u()},d=m=>{u()&&o("proceed",{secretRef:m,secretName:a.value.trim()})},p=()=>{a.value="",l.value="",o("cancel")};return t.watch(()=>e.secretName,m=>{a.value=m||"",l.value=""}),(m,y)=>{const _=t.resolveComponent("KInput"),g=t.resolveComponent("KEmptyState");return t.unref(i)?(t.openBlock(),t.createBlock(t.unref(vo.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:t.unref(i),"proceed-button-text":t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:m.secretRef,title:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:p,onProceed:d},{"form-prefix":t.withCtx(()=>[t.createVNode(_,{"model-value":a.value,"onUpdate:modelValue":[y[0]||(y[0]=h=>a.value=h),f],"data-testid":"vault-secret-picker-secret-name-input",error:!!l.value,"error-message":l.value,label:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:t.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.placeholder"),required:""},null,8,["model-value","error","error-message","label","label-attributes","placeholder"])]),_:1},8,["additional-disabled","config","proceed-button-text","setup","title"])):(t.openBlock(),t.createBlock(g,{key:1,"icon-variant":"error",message:t.unref(r)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),cR={class:"dk-vault-panel"},dR={class:"title"},uR={class:"vault-list"},fR={key:0,class:"vault-list-item"},pR={class:"vault-list-item-key"},mR={class:"vault-list-item-key-text"},gR=Ie(t.defineComponent({__name:"VaultField",props:{name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["update","add","remove","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l}=Mr(o,r),s=t.ref(null),c=t.ref(null),{i18n:{t:u}}=Ge.useI18n(),f=t.computed(()=>new Set(i.value.map(h=>h.key))),d=()=>{const h=a();c.value=h,s.value=h},p=()=>{s.value=null,c.value&&(l(c.value.id),c.value=null)},m=h=>{if(!s.value)throw new Error("no selected entry");const w=s.value.key,b=w!==h.secretName,N=s.value.value!==h.secretRef,C=b||N;s.value.value=h.secretRef,s.value.key=h.secretName,c.value?r("add",h.secretName,h.secretRef):C&&r("update",h.secretName,h.secretRef,b?w:void 0),c.value=null,p()},y=h=>{s.value=h},_=h=>{l(h.id),r("remove",h.key)},g=(h,w)=>{var b;if(!h)return u("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(f.value.has(h)&&!(w&&h===((b=s.value)==null?void 0:b.key)))return u("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(h,w)=>{var k,E;const b=t.resolveComponent("KButton"),N=t.resolveComponent("KDropdownItem"),C=t.resolveComponent("KDropdown");return t.openBlock(),t.createElementBlock("div",cR,[t.createElementVNode("h3",dR,t.toDisplayString(t.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),t.createVNode(b,{appearance:"tertiary",class:"add-button",size:"small",onClick:d},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),t.createElementVNode("div",uR,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),v=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:v.id},[v.key?(t.openBlock(),t.createElementBlock("div",fR,[t.createElementVNode("div",pR,[t.createVNode(t.unref(ve.KeyIcon),{color:t.unref(Fa),size:16},null,8,["color"]),t.createElementVNode("div",mR,t.toDisplayString(v.key),1)]),t.createVNode(C,null,{items:t.withCtx(()=>[t.createVNode(N,{onClick:$=>y(v)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:2},1032,["onClick"]),t.createVNode(N,{danger:"",onClick:$=>_(v)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:2},1032,["onClick"])]),default:t.withCtx(()=>[t.createVNode(b,{appearance:"tertiary",icon:""},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.MoreIcon),{color:t.unref(Ma)},null,8,["color"])]),_:1})]),_:2},1024)])):t.createCommentVNode("",!0)],64))),128))]),t.createVNode(sR,{"is-editing":!!s.value&&!c.value,"secret-name":(k=s.value)==null?void 0:k.key,"secret-ref":(E=s.value)==null?void 0:E.value,"validate-name":g,onCancel:p,onProceed:m},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-c9f18d61"]]);function hR(){const{getSchema:e}=He();return t.computed(()=>{const n=e("config.resources");if(!n)throw new Error("Failed to get resource schema");const o=en(n);return o.fields.forEach(r=>{const i=Object.keys(r)[0];if(i==="cache"){const a=r[i];r[i]={...a,fields:[...a.fields,{partial_id:{type:"string"}}]}}}),o})}const yR={class:"dk-cache-panel"},_R={class:"title"},bR={key:0,class:"cache-item"},wR={class:"cache-item-key"},kR={class:"cache-item-key-text"},CR={class:"dk-resource-cache-form"},ER={key:1},NR={key:2,class:"dk-cache-inline-redis"},SR=Ie(t.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(e,{emit:n}){const o=n,{getDefault:r,formData:i}=He(),a=bt("cache");if(a.error)throw new Error("No cache schema");const l=t.ref(!1),{i18n:{t:s}}=Ge.useI18n(),c=t.computed(()=>!(u.value==="redis"&&!i.cache.partial_id&&!i.cache.redis)),u=t.computed(()=>{var N;return(N=a.value.value)==null?void 0:N.strategy}),f=t.computed(()=>{var N;return(N=a.value.value)!=null&&N.redis?Yr.dump(a.value.value.redis,{indent:2,noRefs:!0}):""}),d=()=>{l.value=!0},p=()=>{l.value=!1,o("cancel")},m=()=>{o("remove")},y=()=>{d(),a.value.value||(a.value.value=r("cache"),a.value.value.strategy="memory")},_=()=>{l.value=!1,o("update",i)},g=Ss.createdBundledHighlighter({langs:{yaml:()=>import("@shikijs/langs/yaml")},themes:{"github-dark":()=>import("@shikijs/themes/github-dark")},engine:()=>lg.createJavaScriptRegexEngine()}),{codeToHtml:h}=Ss.createSingletonShorthands(g),w=()=>{var N,C;u.value==="memory"&&((N=i.cache)!=null&&N.partial_id)&&((C=i.cache)==null||delete C.partial_id)};async function b({codeElement:N,language:C,code:k}){N.innerHTML=await h(k,{lang:C,theme:"github-dark",structure:"inline"})}return(N,C)=>{const k=t.resolveComponent("KButton"),E=t.resolveComponent("KDropdownItem"),v=t.resolveComponent("KDropdown"),$=t.resolveComponent("KLabel"),K=t.resolveComponent("KCodeBlock"),j=t.resolveComponent("KModal");return t.openBlock(),t.createElementBlock("div",yR,[t.createElementVNode("h3",_R,t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),N.strategy?(t.openBlock(),t.createElementBlock("div",bR,[t.createElementVNode("div",wR,[t.createVNode(t.unref(ve.DeployIcon),{color:t.unref(Fa),size:t.unref(md)},null,8,["color","size"]),t.createElementVNode("div",kR,t.toDisplayString(N.strategy),1)]),t.createVNode(v,null,{items:t.withCtx(()=>[t.createVNode(E,{onClick:d},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),t.createVNode(E,{danger:"",onClick:m},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("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(ve.MoreIcon),{color:t.unref(Ma)},null,8,["color"])]),_:1})]),_:1})])):(t.openBlock(),t.createBlock(k,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),t.createVNode(j,{"action-button-disabled":!c.value,"action-button-text":t.unref(s)("actions.save"),"max-width":"640px",title:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:l.value,onCancel:p,onProceed:_},{default:t.withCtx(()=>{var S,Q;return[t.createElementVNode("div",CR,[t.createVNode(fd,{items:[{label:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":w},null,8,["items"]),u.value==="memory"?(t.openBlock(),t.createBlock(ft,{key:0,name:"memory.dictionary_name"})):t.createCommentVNode("",!0),u.value==="redis"?(t.openBlock(),t.createElementBlock("div",ER,[t.createVNode($,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),t.createVNode(t.unref(Yn.RedisConfigurationSelector),{"model-value":(S=t.unref(i).cache)==null?void 0:S.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":C[0]||(C[0]=I=>t.unref(i).cache.partial_id=I)},null,8,["model-value"])])):t.createCommentVNode("",!0),u.value==="redis"&&!((Q=t.unref(i).cache)!=null&&Q.partial_id)&&f.value?(t.openBlock(),t.createElementBlock("div",NR,[t.createElementVNode("div",null,t.toDisplayString(t.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),t.createVNode(K,{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-ad53942e"]]),xR={class:"dk-resources-panel"},vR=Ie(t.defineComponent({__name:"ResourcesPanel",setup(e){const n=hR(),o=t.ref(0),{addVault:r,removeVault:i,updateVault:a,renameVault:l,formData:s}=lR();function c(_,g,h){h&&h!==_&&l(h,_,!1),a(_,g)}const{state:u,commit:f}=it(),d=t.computed(()=>({cache:u.value.cacheConfig}));function p(_){u.value.cacheConfig=_.cache,f()}function m(){u.value.cacheConfig=void 0,f()}function y(){o.value++}return(_,g)=>(t.openBlock(),t.createElementBlock("div",xR,[t.createVNode(pt,{data:t.unref(s),schema:t.unref(n)},{default:t.withCtx(()=>[t.createVNode(gR,{name:"vault",onAdd:t.unref(r),onRemove:t.unref(i),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),g[0]||(g[0]=t.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(t.openBlock(),t.createBlock(pt,{key:`${o.value}`,data:d.value,schema:t.unref(n)},{default:t.withCtx(()=>{var h;return[t.createVNode(SR,{strategy:(h=d.value.cache)==null?void 0:h.strategy,onCancel:y,onRemove:m,onUpdate:p},null,8,["strategy"])]}),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-3a9010b8"]]),AR={class:"header"},IR={class:"title"},TR={class:"body"},PR={class:"panel"},OR=Ie(t.defineComponent({__name:"SidePanel",setup(e){const{t:n}=Xe.createI18n("en-us",ot),{sidePanelExpanded:o}=pl(),{propertiesPanelOpen:r,selectedNode:i}=it(),a=t.inject(eo.DATAKIT_M2,!1),l=t.ref("nodes");function s(){r.value=!1}t.watch(i,u=>{u||s()});const c=t.ref(!1);return t.onMounted(()=>{c.value=!0}),(u,f)=>{const d=t.resolveComponent("KSegmentedControl");return t.openBlock(),t.createElementBlock("aside",{class:t.normalizeClass(["side-panel",{expanded:t.unref(o),inited:c.value}])},[t.createElementVNode("header",AR,[t.createElementVNode("h2",IR,t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),t.createElementVNode("div",TR,[t.createElementVNode("div",PR,[t.unref(a)?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(d,{modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=p=>l.value=p),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"]),l.value==="nodes"?(t.openBlock(),t.createBlock(Um,{key:0,"hide-title":""})):t.createCommentVNode("",!0),l.value==="resources"?(t.openBlock(),t.createBlock(vR,{key:1})):t.createCommentVNode("",!0)],64)):(t.openBlock(),t.createBlock(Um,{key:1}))])])],2)}}}),[["__scopeId","data-v-ae943268"]]),$R=t.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(e){return(n,o)=>(t.openBlock(),t.createBlock(At,{items:t.unref(Aa)([...t.unref(xu)]),name:n.name},null,8,["items","name"]))}}),BR=t.defineComponent({__name:"InputsRecordField",props:{name:{},items:{}},emits:["change:inputs"],setup(e){const{getSchema:n}=He(),{i18n:o}=Le(),r=t.computed(()=>{const i=n("inputs");return i?i.fields.map(a=>Object.keys(a)[0]):[]});return(i,a)=>(t.openBlock(),t.createBlock(wt,{"as-child":"",name:i.name,"reset-label-path":"isolate"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.value,l=>(t.openBlock(),t.createBlock(At,{key:l,clearable:"","enable-filtering":"",items:i.items,name:l,placeholder:t.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>i.$emit("change:inputs",l,s?s.value:null)},null,8,["items","name","placeholder","onChange"]))),128))]),_:1},8,["name"]))}}),VR=["data-testid"],RR={class:"dk-inputs-map-field-entry-body"},DR={class:"dk-inputs-map-field-entry-content"},MR=Ie(t.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(e,{emit:n}){const o=e,r=n,{entries:i,addEntry:a,removeEntry:l,field:s}=Mr(o,r),{i18n:{t:c}}=Le(),u=t.useTemplateRef("root"),f=t.ref(null),d=t.ref({});let p;async function m(C,k="key"){var E;u.value&&(await t.nextTick(),(E=u.value.querySelector(`[data-${k}-input="${C}"]`))==null||E.focus())}function y(){const{id:C}=a(),k=i.value.findIndex(({key:E})=>!E);m(k===-1?i.value.length-1:k),f.value=C}function _(C){l(C.id),C.id===f.value&&(f.value=null),C.key.trim()!==""&&r("remove:field",C.key)}function g(C){p=C.key}function h(C){if(w(C)){C.key=p,delete d.value[C.id];return}if(C.id===f.value){if(C.key.trim()==="")return;r("add:field",C.key,C.value),f.value=null}else r("rename:field",p,C.key);p=C.key}function w(C){delete d.value[C.id];const k=o.fieldNameValidator("input",p,C.key);if(k)return d.value[C.id]=k,k}function b(C){w(C)}function N(C,k){C.id!==f.value&&r("change:inputs",C.key,k)}return t.watch(()=>i.value,C=>{f.value&&(C.find(({id:k})=>k===f.value)||(f.value=null))}),(C,k)=>{const E=t.resolveComponent("KAlert"),v=t.resolveComponent("KLabel"),$=t.resolveComponent("KInput"),K=t.resolveComponent("KSelect"),j=t.resolveComponent("KButton");return t.unref(s).error?(t.openBlock(),t.createBlock(E,{key:0,appearance:"danger",message:t.unref(s).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:u,class:"dk-inputs-map-field"},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(i),(S,Q)=>(t.openBlock(),t.createElementBlock("div",{key:S.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${t.unref(s).path.value}.${Q}`},[t.createVNode(v,{for:`ff-kv-entry-key-${t.unref(s).path.value}.${Q}`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:2},1032,["for"]),t.createElementVNode("div",RR,[t.createElementVNode("div",DR,[t.createVNode($,{id:`ff-kv-entry-key-${t.unref(s).path.value}.${Q}`,modelValue:S.key,"onUpdate:modelValue":[I=>S.key=I,I=>w(S)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":Q,"data-testid":`ff-key-${t.unref(s).path.value}.${Q}`,error:!!d.value[S.id],"error-message":d.value[S.id],placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:I=>b(S),onChange:I=>h(S),onFocus:I=>g(S)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),t.createVNode(K,{modelValue:S.value,"onUpdate:modelValue":I=>S.value=I,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${t.unref(s).path.value}.${Q}`,"enable-filtering":"",items:C.items,label:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:I=>N(S,(I==null?void 0:I.value)??null)},null,8,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),t.createVNode(j,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${t.unref(s).path.value}.${Q}`,icon:"",onClick:I=>_(S)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.CloseIcon))]),_:2},1032,["data-testid","onClick"])])],8,VR))),128)),t.createVNode(j,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(s).path.value}`,disabled:!!f.value,onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-b2f89c26"]]),LR={key:1,class:"dk-inputs-field-or"},bn=Ie(t.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(e,{emit:n}){const o=n,{getSchema:r}=He(),{i18n:{t:i}}=Le(),a=t.computed(()=>r("inputs")),l=t.computed(()=>a.value?a.value.type==="record"?BR:MR:null);function s(p){o("change:input",p?p.value:null)}function c(p,m){o("add:field",p,m)}function u(p,m){o("change:inputs",p,m)}function f(p){o("remove:field",p)}function d(p,m){o("rename:field",p,m)}return(p,m)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createVNode(t.unref(Re.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(r)("input")?(t.openBlock(),t.createBlock(At,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:p.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:s},null,8,["items","label","placeholder"])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createElementBlock("div",LR,[t.createElementVNode("span",null,t.toDisplayString(t.unref(i)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)])):t.createCommentVNode("",!0),l.value?(t.openBlock(),t.createBlock(t.unref(Re.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),l.value?(t.openBlock(),t.createBlock(t.unref(l),{key:3,"field-name-validator":p.fieldNameValidator,items:p.items,"key-order":p.fieldNames,name:"inputs","onAdd:field":c,"onChange:inputs":u,"onRemove:field":f,"onRename:field":d},null,8,["field-name-validator","items","key-order"])):t.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-58657120"]]),FR={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"},UR={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 KR(e){const n=Number(e);return!isNaN(n)&&isFinite(n)}function Gn(...e){return function(o){for(const r of e){const i=r(o);if(i)return i}}}function So(e){const{i18n:{t:n}}=Le(),o=()=>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 o()}}function Km(e,n){const{i18n:{t:o}}=Le();return function(i){if(i!=null)switch(e){case"identifier":{const a=()=>n?typeof n=="string"?n:o("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:o("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 jR(e=0,n=1/0,o){const{i18n:{t:r}}=Le();return function(a){if(a!=null&&typeof a=="string"&&(a.length<e||a.length>n))return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.string_len_range",{fieldName:o.fieldName,minLength:e,maxLength:n}):`Value must be between ${e} and ${n} characters`}}function jm(e){const{i18n:{t:n}}=Le();return function(r){if(!KR(r))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 hs(e,n){const{i18n:{t:o}}=Le();return function(i){if(i==null)return;const a=jm(n)(i);if(a)return a;const l=Number(i);switch(e){case"float":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_float",n):"Invalid float format";return Number.isFinite(l)?void 0:s()}case"integer":{const s=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.not_integer",n):"Invalid integer format";return Number.isInteger(l)?void 0:s()}default:return}}}function ys(e=-1/0,n=1/0,o){const{i18n:{t:r}}=Le();return function(a){if(a==null)return;const l=jm(o)(a);if(l)return l;const s=Number(a);if(s<e||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:e,max:n}):`Value must be between ${e} and ${n}`}}function GR(e,n){const{state:o}=it(),{i18n:{t:r}}=Le();return function(a){if(o.value.nodes.some(l=>l.name===a&&l.id!==e))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function qR(e,n,o){const{i18n:{t:r}}=Le();return function(a){if(!n)return;if(o?n.fields[e].some(s=>s.name===a&&s.id!==o):n.fields[e].some(s=>s.name===a)){const s=r(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 r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",{fieldName:s})}}}function zR(){const{i18n:{t:e}}=Le();return function(o){if(ll(o))return e("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function Gm(e){const{i18n:{t:n}}=Le(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return Gn(So(o),Km("identifier",o),zR(),GR(e,o))}function HR(e){const{i18n:{t:n}}=Le(),{getNodeById:o}=it();return function(i,a,l){const s={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 Gn(So(s),qR(i,o(e),l))(a)}}function YR(e){const n=t.ref({}),o=t.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(e).forEach(l=>{const s=e[l],c=d=>{const p=typeof d=="function"?d():d,m=s(p);return n.value[l]=m,m},u=()=>{n.value[l]=void 0},f=d=>(u(),c(d));r[l]={handleChange:f,handleBlur:f,validate:f,isValid:t.computed(()=>n.value[l]===void 0),error:t.computed(()=>n.value[l])}});function i(){n.value={}}function a(l){var s;for(const c of Object.keys(e)){const u=l[c],f=typeof u=="function"?u():u;(s=r[c])==null||s.validate(f)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:i,validate:a}}function br(e){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=e,{skipValidation:i}=it(),a=t.computed(()=>typeof n=="function"?n():n),l=t.computed(()=>YR(a.value)),s=t.computed(()=>l.value.fields),c=t.computed(()=>l.value.isValid.value);function u(){const d=o(),p=l.value.validate(d),m={};for(const y in a.value)m[y]=p[y];return m}function f(d,p){return{onBlur:()=>{const m=o(),y=s.value[d];y&&y.handleBlur(m[d])},onUpdate:()=>{const m=o(),y=s.value[d];y&&y.handleChange(m[d]),p==null||p()},error:t.computed(()=>{const m=s.value[d];return m?!m.isValid.value:!1}),errorMessage:t.computed(()=>{const m=s.value[d];return m?m.error.value??"":""})}}return t.onMounted(()=>{i.value?i.value=!1:u()}),t.onBeforeUnmount(async()=>{try{const d=u(),p=Object.values(d).filter(Boolean).length>0;r(!p)}catch{}}),t.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:u,createFieldHandler:f}}function sn(e,n){const o=t.inject(eo.DATAKIT_M2,!1),{state:r,renameNode:i,getNodeById:a,addField:l,renameField:s,removeField:c,replaceConfig:u,disconnectEdge:f,connectEdge:d,invalidConfigNodeIds:p,commit:m,revert:y}=it(),{i18n:{t:_}}=Le(),g=Vm(),h=t.computed(()=>{const O=a(e);if(!O)throw new Error("Node not existed");return O}),w=t.computed(()=>{const A=r.value.edges.filter(P=>P.target===e).reduce((P,T)=>{var se,he;const Y=a(T.source),z=(se=pn(Y,"output",T.sourceField))==null?void 0:se.id,ne=(he=pn(h.value,"input",T.targetField))==null?void 0:he.name,oe=Y.id+(z?`.${z}`:"");return ne?P.inputs={...P.inputs,[ne]:oe}:P.input=oe,P},{});return h.value.fields.input.forEach(P=>{A.inputs||(A.inputs={}),A.inputs[P.name]||(A.inputs[P.name]=null)}),{...h.value.config,...A,name:h.value.name}}),b=O=>{i(e,O??"",!0,`${e}:rename`)},N=(O,A=!0)=>{if(!n)throw new Error("getFormInnerData is not defined");const P=Mo(n(),["name","input","inputs"]),T=O?`update:${e}:${O}`:void 0;u(e,P,A,T)},C=(O,A)=>{const P=fn(h.value,O,A);if(!P)throw new Error(`Field with name "${A}" not found in node "${h.value.name}"`);return P},k=(O,A,P)=>{const T=!!P;l(e,O,A,!T),T&&j(A,P)},E=(O,A,P)=>{const T=C(O,A).id;s(e,T,P)},v=(O,A)=>{const P=C(O,A).id;c(e,P)},$=t.computed(()=>r.value.edges.filter(O=>O.target===e&&!O.targetField)[0]),K=t.computed(()=>r.value.edges.filter(O=>O.target===e&&O.targetField)),j=async(O,A)=>{const P=A==null,T=C("input",O).id;if(P){const ie=K.value.find(ue=>ue.targetField===T);ie&&f(ie.id);return}const{nodeId:Y,fieldId:z}=Iu(A),ne=C("input",O).id,oe=[];$.value&&(oe.push(_r($.value,a)),f($.value.id,!1));const se=K.value.find(ie=>ie.targetField===T);se&&(oe.push(_r(se,a)),f(se.id,!1)),d({source:Y,sourceField:z,target:e,targetField:ne},!1);const he=ps(Y,z,e,ne,a),Z=oe[0]&&he?oe[0][1]===he[1]:!1;if(m(),Z||oe.length===0)return;await g(_("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[he],oe)||y()},S=async O=>{if(O==null){$.value&&f($.value.id);return}const P=[];for(const oe of K.value)P.push(_r(oe,a)),f(oe.id,!1);$.value&&f($.value.id,!1);const{nodeId:T,fieldId:Y}=Iu(O);d({source:T,sourceField:Y,target:e,targetField:void 0},!1);const z=ps(T,Y,e,void 0,a);if(m(),P.length===0)return;await g(_("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[z],P)||y()},Q=O=>{const A=[...r.value.edges,{source:O,target:e}];return ul(ti(A))},I=t.computed(()=>{var A,P;const O=[];for(const T of r.value.nodes)if(!(!o&&T.type==="vault"||!((A=mo(T.type).io)!=null&&A.output))&&T.fields.output&&T.id!==e&&!(T.type==="property"&&!Ql((P=T.config)==null?void 0:P.property))&&!Q(T.id)&&!(h.value.phase==="request"&&T.phase==="response")&&!(T.type==="vault"&&T.fields.output.length===0)){O.push({value:T.id,label:T.name});for(const z of T.fields.output)O.push({value:`${T.id}.${z.id}`,label:`${T.name}.${z.name}`})}return O}),G=t.computed(()=>h.value.fields.input.map(O=>O.name)||[]);function U(O){p.value.delete(e),O||p.value.add(e)}const ee=HR(e);function M(O,A,P){const T=a(e);if(!T)throw new Error("Node not found when validating field name");const Y=fn(T,O,A);return ee(O,P,Y==null?void 0:Y.id)}return{formData:w,inputOptions:I,inputEdge:$,inputsEdges:K,inputsFieldNames:G,currentNode:h,setName:b,setConfig:N,addField:k,renameFieldByName:E,removeFieldByName:v,setInputs:j,setInput:S,nameValidator:Gm(e),fieldNameValidator:M,toggleNodeValid:U}}function cn(e){const{getSchema:n}=He();return t.computed(()=>{if(Tt(e))switch(e){case"response":return UR;case"service_request":return FR}try{const l=n().fields[0].config.fields[0].nodes.elements.subschema_definitions[e];if(!l)throw new Error(`Subschema "${e}" not found in the schema.`);return l}catch(o){throw new Error(`Failed to get subschema "${e}": ${o.message}`)}})}const qn=t.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Le(),a=t.ref(o.name),l=t.computed(()=>{const f=o.validate(a.value.trim());return f===void 0?"":f});let s=a.value.trim();function c(){if(l.value){a.value=s;return}r("update",a.value.trim())}function u(){s=a.value.trim()}return t.watch(()=>o.name,f=>{f!==a.value&&(a.value=f)}),(f,d)=>{const p=t.resolveComponent("KInput");return t.openBlock(),t.createBlock(p,{"model-value":a.value,"onUpdate:modelValue":d[0]||(d[0]=m=>a.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.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"])}}}),WR=t.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Le(),o=t.useTemplateRef("form"),r=cn("call"),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:p,fieldNameValidator:m}=sn(e.nodeId,()=>o.value.getInnerData()),{createFieldHandler:y}=br({validationConfig:{url:Gn(So({fieldName:"URL"}),Km("url",{fieldName:"URL"})),timeout:Gn(hs("integer"),ys(0,2147483646))},getValidationData:()=>({url:i.value.url,timeout:i.value.timeout}),toggleNodeValid:p}),_=y("url",()=>l("url")),g=y("timeout",()=>l("timeout"));return(h,w)=>{const b=t.resolveComponent("KLabel");return t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(i),schema:t.unref(r)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(b,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(ro,{error:t.unref(_).error.value,"error-message":t.unref(_).errorMessage.value,name:"url",onBlur:t.unref(_).onBlur,"onUpdate:modelValue":t.unref(_).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode($R,{name:"method",onUpdate:w[0]||(w[0]=N=>t.unref(l)())}),t.createVNode(Tn,{error:t.unref(g).error.value,"error-message":t.unref(g).errorMessage.value,name:"timeout",onBlur:t.unref(g).onBlur,"onUpdate:modelValue":t.unref(g).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(ro,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=N=>t.unref(l)("ssl_server_name"))}),t.createVNode(bn,{"field-name-validator":t.unref(m),"field-names":t.unref(f),items:t.unref(s),"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"])}}}),XR=t.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=cn("service_request"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=sn(e.nodeId,()=>n.value.getInnerData());return(u,f)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(bn,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),ZR=t.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=cn("response"),{formData:r,inputOptions:i,setInputs:a,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=sn(e.nodeId,()=>n.value.getInnerData());return(u,f)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(bn,{"field-name-validator":t.unref(c),"field-names":t.unref(s),items:t.unref(i),"onChange:input":t.unref(l),"onChange:inputs":t.unref(a)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),qm={jqlang:"https://jqlang.org/manual/"},JR=t.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(e){const{i18n:{t:n},i18nT:o}=Le(),r=t.useTemplateRef("form"),i=cn("jq"),{formData:a,setName:l,setConfig:s,inputOptions:c,setInputs:u,setInput:f,addField:d,removeFieldByName:p,renameFieldByName:m,inputsFieldNames:y,nameValidator:_,toggleNodeValid:g,fieldNameValidator:h}=sn(e.nodeId,()=>r.value.getInnerData());function w(v,$){d("input",v,$)}function b(v){p("input",v)}function N(v,$){m("input",v,$)}const C=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:k}=br({validationConfig:{jq:Gn(So({fieldName:C}),jR(1,10240,{fieldName:C}))},getValidationData:()=>({jq:a.value.jq}),toggleNodeValid:g}),E=k("jq",()=>s("jq"));return(v,$)=>{const K=t.resolveComponent("KLabel"),j=t.resolveComponent("KExternalLink");return t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(a),schema:t.unref(i)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(a).name,validate:t.unref(_),onUpdate:t.unref(l)},null,8,["name","validate","onUpdate"]),t.createVNode(K,{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(ro,{autosize:"",error:t.unref(E).error.value,"error-message":t.unref(E).errorMessage.value,label:t.unref(C),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:t.unref(E).onBlur,"onUpdate:modelValue":t.unref(E).onUpdate},{help:t.withCtx(()=>[t.createVNode(t.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:t.withCtx(()=>[t.createVNode(j,{"hide-icon":"",href:t.unref(qm).jqlang},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(qm).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),t.createVNode(bn,{"field-name-validator":t.unref(h),"field-names":t.unref(y),items:t.unref(c),"onAdd:field":w,"onChange:input":t.unref(f),"onChange:inputs":t.unref(u),"onRemove:field":b,"onRename:field":N},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),QR=Ie(t.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},name:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(e,{emit:n}){const o=e,r=n,i=t.ref({}),{entries:a,addEntry:l,removeEntry:s,field:c}=Mr(o,r,!1),{i18n:u}=Le(),f=t.useTemplateRef("root"),d=t.ref(null);let p;async function m(C,k="key"){var E;f.value&&(await t.nextTick(),(E=f.value.querySelector(`[data-${k}-input="${C}"]`))==null||E.focus())}function y(){const C=l(),k=a.value.findIndex(({key:E})=>!E);m(k===-1?a.value.length-1:k),d.value=C}function _(C){var k;C.id===((k=d.value)==null?void 0:k.id)&&(d.value=null),s(C.id),C.key.trim()!==""&&r("remove:field",C.key)}function g(C){p=C.key}function h(C){var k;if(b(C)){C.key=p,delete i.value[C.id];return}if(C.id===((k=d.value)==null?void 0:k.id)){if(C.key.trim()==="")return;d.value=null,r("add:field",C.key,C.value)}else r("rename:field",p,C.key);p=C.key}function w(C,k){var v;if(k.id===((v=d.value)==null?void 0:v.id))return;const E=C.target.value.trim();r("change:value",k.key,E)}function b(C){delete i.value[C.id];const k=o.fieldNameValidator("output",p,C.key);if(k)return i.value[C.id]=k,k}function N(C){b(C)}return t.watchEffect(()=>{d.value&&!a.value.some(C=>C.id===d.value.id)&&a.value.push(d.value)}),(C,k)=>{const E=t.resolveComponent("KAlert"),v=t.resolveComponent("KLabel"),$=t.resolveComponent("KButton"),K=t.resolveComponent("KInput"),j=t.resolveComponent("KCard");return t.unref(c).error?(t.openBlock(),t.createBlock(E,{key:0,appearance:"danger",message:t.unref(c).error.message},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",{key:1,ref_key:"root",ref:f,class:"dk-output-value-field"},[t.createVNode(v,{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(a),(S,Q)=>(t.openBlock(),t.createBlock(j,{key:S.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${t.unref(c).path.value}.${Q}`},{actions:t.withCtx(()=>[t.createVNode($,{appearance:"none","data-testid":`ff-kv-remove-btn-${t.unref(c).path.value}.${Q}`,icon:"",onClick:I=>_(S)},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.CloseIcon))]),_:2},1032,["data-testid","onClick"])]),default:t.withCtx(()=>[t.createVNode(K,{id:`ff-kv-entry-key-${t.unref(c).path.value}.${Q}`,modelValue:S.key,"onUpdate:modelValue":[I=>S.key=I,I=>b(S)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":Q,"data-testid":`ff-key-${t.unref(c).path.value}.${Q}`,error:!!i.value[S.id],"error-message":i.value[S.id],label:t.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:I=>N(S),onChange:I=>h(S),onFocus:I=>g(S)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),t.createVNode(K,{modelValue:S.value,"onUpdate:modelValue":I=>S.value=I,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${t.unref(c).path.value}.${Q}`,label:t.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:I=>w(I,S)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),t.createVNode($,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${t.unref(c).path.value}`,disabled:!!d.value,onClick:y},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-5e17f8cb"]]);function eD(e){const n={};for(const[o,r]of Object.entries(e))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function Wi(e){const n={};for(const[o,r]of Object.entries(e))if(r!=null){n[o]=r;try{r==="null"?n[o]=null:(r==="true"||r==="false"||/^-?\d+(\.\d+)?$/.test(r)||r.startsWith("{")&&r.endsWith("}")||r.startsWith("[")&&r.endsWith("]"))&&(n[o]=JSON.parse(r))}catch{}}return n}function tD(e,n,o){const r={};for(const i of Object.keys(e))i===n?r[o]=e[n]:r[i]=e[i];return r}const nD=t.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(e){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:i,removeField:a,replaceConfig:l,getNodeById:s}=it(),{fieldNameValidator:c}=sn(e.nodeId),u=cn("static"),f=Gm(e.nodeId),d=t.computed(()=>s(e.nodeId)),p=t.computed(()=>{var b;return((b=d.value)==null?void 0:b.fields.output.map(N=>N.name))||[]});function m(b){if(!d.value)throw new Error("No current node");n(d.value.id,b??"")}const y=t.computed(()=>{var $;if(!d.value)return{};const b=(($=d.value.config)==null?void 0:$.values)??{},N={},C=o(d.value.id).map(K=>K.sourceField).filter(Boolean).map(K=>pn(d.value,"output",K)).map(K=>K==null?void 0:K.name).filter(Boolean),k=d.value.fields.output.map(K=>K.name),E=Object.keys(b);return new Set([...E,...C,...k]).forEach(K=>{if(K in b){N[K]=b[K];return}N[K]=""}),{name:d.value.name,values:eD(N)}});function _(b,N){if(!d.value)throw new Error("No selected node");const C=N!==void 0;if(r(e.nodeId,"output",b,!C),C){const k={values:Wi({...y.value.values,[b]:N})};l(e.nodeId,k)}}function g(b,N){if(!d.value)throw new Error("No selected node");const C=fn(d.value,"output",b);if(!C)throw new Error("No field found to rename");const k={values:Wi(tD(y.value.values??{},b,N))};l(e.nodeId,k,!1),i(e.nodeId,C.id,N)}function h(b){var k;if(!d.value)throw new Error("No selected node");const N=fn(d.value,"output",b);if(!N)throw new Error("No field found to delete");a((k=d.value)==null?void 0:k.id,N.id,!0,!1);const C={values:Wi({...y.value.values})};delete C.values[b],l(e.nodeId,C)}function w(b,N){if(!d.value)throw new Error("No selected node");const C={...y.value.values};C[b]=N;const k={values:Wi(C)};l(e.nodeId,k)}return(b,N)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:y.value,schema:t.unref(u)},{default:t.withCtx(()=>{var C;return[t.createVNode(qn,{name:((C=d.value)==null?void 0:C.name)??"",validate:t.unref(f),onUpdate:m},null,8,["name","validate"]),t.createVNode(QR,{"field-name-validator":t.unref(c),"key-order":p.value,name:"values","onAdd:field":_,"onChange:value":w,"onRemove:field":h,"onRename:field":g},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),oD={class:"dk-kong-property-item"},rD={class:"property-type"},iD={class:"property-badges"},aD=Ie(t.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(e,{emit:n}){const{i18n:{t:o}}=Le(),r=e,i=n,{formData:a}=He(),l=t.ref(gr(a.property)),s=t.computed(()=>hr(a.property)),c=t.ref(Jl(a.property)),u=t.computed(()=>a.property??""),f=t.computed(()=>Object.entries(Un).map(([m])=>{var g;const y=hr(m)?(g=a.property)==null?void 0:g.startsWith(m.replace(Eo,"")):a.property===m;return{label:y&&c.value?m.replace(Eo,c.value):m,value:m,selected:y}}));function d(m){const y=Mi.find(_=>{var g;return(g=a.property)==null?void 0:g.startsWith(_)});y&&(a.property=y+m,r.validators.key.handleChange(a.property),i("update:property-key",a.property))}function p(m){l.value!==gr(m==null?void 0:m.value)&&(a.property=(m==null?void 0:m.value)||null,l.value=gr(a.property),r.validators.property.handleBlur(()=>a.property),i("update:model-value",a.property))}return t.watch(()=>a.property,m=>{c.value=Jl(m),l.value=gr(m)}),(m,y)=>{const _=t.resolveComponent("KBadge"),g=t.resolveComponent("KSelect"),h=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock(t.Fragment,null,[(t.openBlock(),t.createBlock(g,{key:u.value,"enable-filtering":"",error:!m.validators.property.isValid.value,help:m.validators.property.error.value,items:f.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:y[0]||(y[0]=w=>m.validators.property.handleBlur(()=>t.unref(a).property)),onChange:p},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",oD,[t.createElementVNode("div",null,[t.createElementVNode("div",null,t.toDisplayString(w.label),1),t.createElementVNode("div",rD,t.toDisplayString(t.unref(Un)[w.value].dataType),1)]),t.createElementVNode("div",iD,[t.unref(Un)[w.value].readable?(t.openBlock(),t.createBlock(_,{key:0,appearance:"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):t.createCommentVNode("",!0),t.unref(Un)[w.value].writable?(t.openBlock(),t.createBlock(_,{key:1,appearance:"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):t.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(t.openBlock(),t.createBlock(h,{key:0,"model-value":c.value,"onUpdate:modelValue":[y[1]||(y[1]=w=>c.value=w),d],error:!m.validators.key.isValid.value,"error-message":m.validators.key.error.value,label:"key",required:"",onBlur:y[2]||(y[2]=w=>m.validators.key.handleBlur(()=>t.unref(a).property))},null,8,["model-value","error","error-message"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),lD=t.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:i}=it(),a=cn("property"),{formData:l,setName:s,setConfig:c,inputOptions:u,setInputs:f,setInput:d,inputsFieldNames:p,nameValidator:m,toggleNodeValid:y,fieldNameValidator:_}=sn(e.nodeId,()=>n.value.getInnerData()),g=t.computed(()=>es(l.value.property));function h(b){var C;const N=(C=o.value)==null?void 0:C.id;if(!N)throw new Error("Expected selectedNode to be defined");Ql(b)||i(N,!1),es(b)||r(N,!1),c()}const{fields:w}=br({validationConfig:()=>({property:So({fieldName:"Property"}),key:hr(l.value.property)?So({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Jl(l.value.property)}),toggleNodeValid:y});return(b,N)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(l),schema:t.unref(a)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(l).name,validate:t.unref(m),onUpdate:t.unref(s)},null,8,["name","validate","onUpdate"]),t.createVNode(At,{name:"content_type",onUpdate:N[0]||(N[0]=C=>t.unref(c)())}),t.createVNode(aD,{validators:t.unref(w),"onUpdate:modelValue":h,"onUpdate:propertyKey":N[1]||(N[1]=C=>t.unref(c)("property-key"))},null,8,["validators"]),g.value?(t.openBlock(),t.createBlock(bn,{key:0,"field-name-validator":t.unref(_),"field-names":t.unref(p),items:t.unref(u),"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"]))}}),sD=t.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=cn("exit"),{formData:r,setName:i,setConfig:a,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:u,nameValidator:f,toggleNodeValid:d,fieldNameValidator:p}=sn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:m}=br({validationConfig:{status:Gn(hs("integer",{fieldName:"Status"}),ys(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:d}),y=m("status",()=>a("status"));return(_,g)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(r),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(r).name,validate:t.unref(f),onUpdate:t.unref(i)},null,8,["name","validate","onUpdate"]),t.createVNode(Tn,{error:t.unref(y).error.value,"error-message":t.unref(y).errorMessage.value,name:"status",onBlur:t.unref(y).onBlur,"onUpdate:modelValue":t.unref(y).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(Dr,{name:"warn_headers_sent","onUpdate:modelValue":g[0]||(g[0]=h=>t.unref(a)())}),t.createVNode(bn,{"field-name-validator":t.unref(p),"field-names":t.unref(u),items:t.unref(l),"onChange:input":t.unref(c),"onChange:inputs":t.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}});function cD(e){const n=sn(e),{state:o,getNodeById:r,branchGroups:i,commit:a}=it(),{i18n:{t:l}}=Le(),s=Vm(),c=$m(),u=t.computed(()=>{var b;const h={...n.formData.value},w=Wo(((b=n.currentNode.value)==null?void 0:b.type)||"branch");for(const N of w)(!(N in h)||h[N]==null)&&(h[N]=[]);return h});function f(h,w,b){const N=r(h),C=r(b),k=N?`${N.name}.${w}`:`${h}.${w}`,E=C?C.name:b;return[k,E]}function d(h){return(h==null?[]:Array.isArray(h)?h:[h]).filter(w=>Au(w))}function p(h,w){return i.wouldCreateCycle(h,w)?(c({message:l("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function m(h,w,b){const N=[],C=[],k=[];for(const E of b){const v=i.findMembership(E);if(!v||v.ownerId===h&&v.branch===w)continue;const $=i.getMembers(v.ownerId,v.branch).filter(K=>K!==E);k.push({ownerId:v.ownerId,branch:v.branch,members:$}),N.push(f(h,w,E)),C.push(f(v.ownerId,v.branch,E))}return{conflictUpdates:k,addedAssignments:N,removedAssignments:C}}function y(h,w,b,N){let C=!1;for(const k of N)C=i.setMembers(k.ownerId,k.branch,k.members,{commit:!1})||C;return C=i.setMembers(h,w,b,{commit:!1})||C,C}async function _(h,w){const b=n.currentNode.value,N=d(w),C=i.prepareMembers(b.id,h,N),k=i.getMembers(b.id,h);if(sl(k,C))return!0;const E=C.filter(S=>!k.includes(S));for(const S of E)if(p(b.id,S))return!1;const{conflictUpdates:v,addedAssignments:$,removedAssignments:K}=m(b.id,h,E);return v.length>0&&!await s(l("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),$,K)?!1:(y(b.id,h,C,v)&&a(),!0)}const g=t.computed(()=>{const h=n.currentNode.value;return!h||!i?[]:o.value.nodes.filter(w=>w.id!==e&&!Tt(w.type)&&w.phase===h.phase&&!i.wouldCreateCycle(h.id,w.id)).map(w=>({value:w.id,label:w.name}))});return{...n,formData:u,branchOptions:g,updateBranchMembers:_}}const dD=t.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(e){const{i18n:{t:n}}=Le(),o=cn("branch"),r=t.ref(0),{formData:i,setName:a,inputOptions:l,branchOptions:s,nameValidator:c,setInput:u,setInputs:f,inputsFieldNames:d,fieldNameValidator:p,updateBranchMembers:m}=cD(e.nodeId);async function y(_,g){await m(_,g)||(r.value+=1)}return(_,g)=>(t.openBlock(),t.createBlock(pt,{key:r.value,data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(i).name,validate:t.unref(c),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Re.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(At,{"enable-filtering":"",items:t.unref(s),multiple:"",name:"then",onUpdate:g[0]||(g[0]=h=>y("then",h))},null,8,["items"]),t.createVNode(At,{"enable-filtering":"",items:t.unref(s),multiple:"",name:"else",onUpdate:g[1]||(g[1]=h=>y("else",h))},null,8,["items"]),t.createVNode(bn,{"field-name-validator":t.unref(p),"field-names":t.unref(d),items:t.unref(l),"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"]))}}),uD=t.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(e){const n=t.useTemplateRef("form"),o=cn("cache"),{i18n:{t:r}}=Le(),{formData:i,setName:a,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:f,nameValidator:d,toggleNodeValid:p,fieldNameValidator:m}=sn(e.nodeId,()=>n.value.getInnerData()),{createFieldHandler:y}=br({validationConfig:()=>({ttl:Gn(hs("integer",{fieldName:"TTL"}),ys(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:i.value.ttl}),toggleNodeValid:p}),_=y("ttl",()=>l("ttl"));return(g,h)=>(t.openBlock(),t.createBlock(pt,{ref:"form",data:t.unref(i),schema:t.unref(o)},{default:t.withCtx(()=>[t.createVNode(qn,{name:t.unref(i).name,validate:t.unref(d),onUpdate:t.unref(a)},null,8,["name","validate","onUpdate"]),t.createVNode(t.unref(Re.KLabel),{class:"dk-node-configuration-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),t.createVNode(Dr,{name:"bypass_on_error","onUpdate:modelValue":h[0]||(h[0]=w=>t.unref(l)("bypass_on_error"))}),t.createVNode(Tn,{error:t.unref(_).error.value,"error-message":t.unref(_).errorMessage.value,name:"ttl",onBlur:t.unref(_).onBlur,"onUpdate:modelValue":t.unref(_).onUpdate},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),t.createVNode(bn,{"field-name-validator":t.unref(m),"field-names":t.unref(f),items:t.unref(s),"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"]))}}),fD=["innerHTML"],pD=t.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${Eu}px`},offsetTop:{default:`${JN}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(e){const{getNodeById:n}=it(),o=t.computed(()=>e.nodeId&&n(e.nodeId)),r=t.computed(()=>{var i;switch((i=o.value)==null?void 0:i.type){case"call":return WR;case"service_request":return XR;case"response":return ZR;case"jq":return JR;case"static":return nD;case"property":return lD;case"exit":return sD;case"branch":return dD;case"cache":return uD;default:return null}});return(i,a)=>(t.openBlock(),t.createBlock(t.unref(Re.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":i.maxWidth,"offset-top":i.offsetTop,visible:i.visible,"z-index":t.unref(ZN),onClose:a[0]||(a[0]=l=>i.$emit("close"))},t.createSlots({default:t.withCtx(()=>[o.value?(t.openBlock(),t.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:t.unref(It)(o.value.type)},null,8,fD)):t.createCommentVNode("",!0),r.value?(t.openBlock(),t.createBlock(t.unref(r),{key:i.nodeId,class:"dk-node-properties-panel-form","node-id":i.nodeId},null,8,["node-id"])):t.createCommentVNode("",!0)]),_:2},[o.value?{name:"title",fn:t.withCtx(()=>[t.createVNode(Mm,{type:o.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),mD=Ie(pD,[["__scopeId","data-v-ecb765d9"]]),gD={class:"dk-editor-content"},hD={class:"main"},yD=Ie(t.defineComponent({__name:"EditorContent",setup(e){const{propertiesPanelOpen:n,selectedNode:o}=it();function r(){n.value=!1}t.watch(o,a=>{a||r()});const i=t.ref(!1);return t.onMounted(()=>{i.value=!0}),(a,l)=>{var s;return t.openBlock(),t.createElementBlock("div",gD,[t.createVNode(t.unref(OR)),t.createElementVNode("div",hD,[t.createVNode(XV)]),t.createVNode(mD,{"node-id":(s=t.unref(o))==null?void 0:s.id,visible:t.unref(n),onClose:r},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-8f04afa6"]]),_D={key:0,class:"dk-editor-modal"},bD=Ie(t.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(e){t.useCssVars(s=>({"5fe3dd96":`${t.unref(XN)}px`,"480b2f5d":`${t.unref(Cu)}px`}));const n=t.useModel(e,"open"),o=t.ref(!1),r=t.useTemplateRef("confirm-modal"),{clear:i}=it();cV(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const a=Ye.useScrollLock(document);t.watch(n,s=>{a.value=!!s,s||i()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(t.openBlock(),t.createElementBlock("div",_D,[t.createVNode(GV,{class:"nav",onBack:l}),t.createVNode(yD,{ref:"content",class:"content",tabindex:"0"},null,512),t.createVNode(FV,{ref:"confirm-modal"},null,512)])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-917708bb"]]),wD={class:"dk-flow-editor"},kD={class:"flow-panels-container"},CD={class:"overlay"},ED=Ie(t.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(e,{emit:n}){const{t:o}=Xe.createI18n("en-us",ot),{formData:r}=He(),i=n;function a(c,u,f,d){const p={...r.config,nodes:c};f!==void 0&&(p.resources=f);const m={...r.__ui_data,...u};r.config=p,r.__ui_data=m,d!=null?r.partials=[{id:d}]:r.partials&&(r.partials=null),i("change",p,m)}const{modalOpen:l,setPendingFitView:s}=Lu(r,{onChange:a,isEditing:e.isEditing});return t.watch(l,()=>{s(!0)},{flush:"post"}),(c,u)=>{const f=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",wD,[t.createElementVNode("div",kD,[t.createVNode(gs,{inactive:t.unref(l),mode:"preview"},null,8,["inactive"]),t.createElementVNode("div",CD,[t.createVNode(f,{appearance:"secondary",class:"button-open-editor",onClick:u[0]||(u[0]=d=>l.value=!0)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),t.createVNode(t.unref(ve.ExpandIcon))]),_:1})])]),t.createVNode(bD,{open:t.unref(l),"onUpdate:open":u[1]||(u[1]=d=>t.isRef(l)?l.value=d:null)},null,8,["open"])])}}}),[["__scopeId","data-v-5f140817"]]);function ND(e,n){const o=[],r=(i,a)=>{typeof a=="string"&&o.push({nodeName:e.name,path:["nodes",n,...i],value:a})};if("input"in e&&e.input!=null&&r(["input"],e.input),"inputs"in e&&e.inputs&&typeof e.inputs=="object")for(const[i,a]of Object.entries(e.inputs))a!=null&&r(["inputs",i],a);if("output"in e&&e.output!=null&&r(["output"],e.output),"outputs"in e&&e.outputs&&typeof e.outputs=="object")for(const[i,a]of Object.entries(e.outputs))a!=null&&r(["outputs",i],a);return o}function SD(e){const n=e.path[2];return n==="output"||n==="outputs"}function zm(e){if(!e)return!1;for(const n of Object.values(e))if(n!=null)return!0;return!1}function Hm(e,n){const o=e.input!==void 0&&e.input!==null,r=zm(e.inputs);o&&r&&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=zm(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 Ym(e,n,o){if(!e.nodes)return;const r=e.nodes.map(c=>c.name),i=new Set;r.forEach((c,u)=>{i.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",u,"name"]}),i.add(c)});const a=new Set([...n,...r]),l=new Map,s=new Map;e.nodes.forEach((c,u)=>{for(const f of ND(c,u)){const d=f.value.split(".",1)[0];if(a.has(d)||o.addIssue({code:"custom",message:`Unknown node "${d}" in connection "${f.value}"`,path:f.path}),SD(f)){const p=`${f.nodeName}->${d}`;s.has(p)?o.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}):l.set(p,l.get(p)??f.path)}else{const p=`${d}->${f.nodeName}`;l.has(p)?o.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}):s.set(p,s.get(p)??f.path)}}})}const xD=W.z.enum(Nu),vD=W.z.enum(uo),Wm=e=>uo.includes(e),_s=W.z.enum(Su),Xm=_s.options;W.z.union([_s,xD]);const AD=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,Zm=W.z.string().min(1).max(255).regex(AD,"Invalid node name (snake_case / kebab-case only)").refine(e=>!Wm(e),"Name clashes with reserved implicit node").brand(),Xi=W.z.union([vD,Zm]),ID=W.z.string().min(1).brand(),TD=["then","else"];W.z.enum(TD);const dt=W.z.string().refine(e=>{if(Xi.safeParse(e).success)return!0;const n=e.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return Xi.safeParse(o).success&&ID.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),Jm=W.z.enum(xu),zn=W.z.object({type:W.z.string(),name:Zm,input:dt,inputs:W.z.record(W.z.string(),dt).nullish(),output:dt,outputs:W.z.record(W.z.string(),dt).nullish()}).loose().superRefine((e,n)=>{Hm(e,n)}),PD=W.z.object({type:W.z.string(),name:W.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),Xm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Xm.join(", ")}`})}),OD=zn.safeExtend({type:W.z.literal("call"),method:Jm.nullish(),ssl_server_name:W.z.string().min(1).nullish(),timeout:W.z.number().int().min(0).max(2147483646).nullish(),url:W.z.url(),inputs:W.z.object({body:dt,headers:dt,query:dt}).partial().nullish(),outputs:W.z.object({body:dt,headers:dt,status:dt}).partial().nullish()}).strict(),$D=zn.safeExtend({type:W.z.literal("exit"),status:W.z.number().int().min(200).max(599).nullish(),warn_headers_sent:W.z.boolean().nullish(),output:W.z.never().optional(),outputs:W.z.never().optional()}).strict(),BD=zn.safeExtend({type:W.z.literal("jq"),jq:W.z.string().min(1).max(10240),outputs:W.z.never().optional()}).strict(),VD=zn.safeExtend({type:W.z.literal("property"),content_type:W.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:W.z.string().min(1),inputs:W.z.never().optional(),outputs:W.z.never().optional()}).strict(),RD=zn.safeExtend({type:W.z.literal("static"),values:W.z.record(W.z.string(),W.z.unknown()),input:W.z.never().optional(),inputs:W.z.never().optional()}).strict(),DD=zn.safeExtend({type:W.z.literal("cache"),bypass_on_error:W.z.boolean().nullish(),inputs:W.z.object({data:dt,key:dt,ttl:dt}).partial().nullish(),outputs:W.z.object({data:dt,hit:dt,miss:dt,stored:dt}).partial().nullish(),ttl:W.z.number().int().gt(0).nullish()}).strict(),MD=zn.safeExtend({type:W.z.literal("branch"),then:W.z.array(Xi).nullish(),else:W.z.array(Xi).nullish()}).strict(),LD=PD.pipe(W.z.discriminatedUnion("type",[OD,$D,BD,VD,RD,DD,MD])),FD=W.z.record(W.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),W.z.string().min(1).max(4095)),UD=W.z.object({dictionary_name:W.z.string().default("kong_db_cache")}),KD=W.z.object({host:W.z.string().default("127.0.0.1"),port:W.z.number().int().min(0).max(65535).default(6379)}),jD=W.z.object({ip:W.z.string().default("127.0.0.1"),port:W.z.number().int().min(0).max(65535).default(6379)}),GD=W.z.object({host:W.z.string().optional().default("127.0.0.1"),port:W.z.number().int().min(0).max(65535).optional().default(6379),connect_timeout:W.z.number().int().min(0).max(2147483646).default(2e3),send_timeout:W.z.number().int().min(0).max(2147483646).default(2e3),read_timeout:W.z.number().int().min(0).max(2147483646).default(2e3),username:W.z.string().optional(),password:W.z.string().optional(),sentinel_username:W.z.string().optional(),sentinel_password:W.z.string().optional(),database:W.z.number().int().optional().default(0),keepalive_pool_size:W.z.number().int().min(1).max(2147483646).default(256),keepalive_backlog:W.z.number().int().min(0).max(2147483646).optional(),sentinel_master:W.z.string().optional(),sentinel_role:W.z.enum(["master","slave","any"]).optional(),sentinel_nodes:W.z.array(KD).min(1,{message:"sentinel_nodes must contain at least 1 item"}).optional(),cluster_nodes:W.z.array(jD).min(1,{message:"cluster_nodes must contain at least 1 item"}).optional(),ssl:W.z.boolean().default(!1).optional(),ssl_verify:W.z.boolean().default(!1).optional(),server_name:W.z.string().optional(),cluster_max_redirections:W.z.number().int().default(5).optional(),connection_is_proxied:W.z.boolean().default(!1).optional(),timeout:W.z.number().int().optional(),sentinel_addresses:W.z.array(W.z.string()).min(1).optional(),cluster_addresses:W.z.array(W.z.string()).min(1).optional()}).superRefine((e,n)=>{var c;const o=e.host!==void 0&&e.host!==null,r=e.port!==void 0&&e.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const i=!!e.sentinel_master,a=!!e.sentinel_role,l=!!((c=e.sentinel_nodes)!=null&&c.length),s=[i,a,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),e.connection_is_proxied===!0&&!o&&n.addIssue({code:"custom",message:"host is required when connection_is_proxied is true (host/port should point to the proxy)",path:["host"]})}),qD=W.z.object({strategy:W.z.enum(["memory","redis"]).optional(),memory:UD,redis:GD}),zD=W.z.object({vault:FD.nullish(),cache:qD.nullish()});W.z.array(W.z.object({id:W.z.string()})),W.z.object({nodes:W.z.array(LD).min(1,"At least one node is required"),debug:W.z.boolean().nullish(),resources:zD.nullish()}).strict().superRefine((e,n)=>{Ym(e,uo,n)});const Qm=_s.options,bs=W.z.string().min(1).refine(e=>!e.includes("."),"Invalid node name").refine(e=>!Wm(e),"Node name conflicts with reserved implicit node"),ut=W.z.string().refine(e=>{if(!e||/\s/.test(e))return!1;const n=e.indexOf(".");if(n===-1)return!0;const o=e.slice(0,n),r=e.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),Hn=W.z.object({type:W.z.string(),name:bs,input:ut.nullish(),inputs:W.z.record(W.z.string(),ut.nullish()).nullish(),output:ut.nullish(),outputs:W.z.record(W.z.string(),ut.nullish()).nullish()}).loose().superRefine((e,n)=>{Hm(e,n)}),HD=W.z.object({type:W.z.string(),name:W.z.string()}).loose().superRefine((e,n)=>{const o=e.type,r=e.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),Qm.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${Qm.join(", ")}`})}),YD=Hn.safeExtend({type:W.z.literal("call"),method:Jm.nullish(),ssl_server_name:W.z.string().nullish(),timeout:W.z.union([W.z.number(),W.z.string()]).nullish(),url:W.z.string().nullish(),inputs:W.z.object({body:ut.nullish(),headers:ut.nullish(),query:ut.nullish()}).partial().nullish(),outputs:W.z.object({body:ut.nullish(),headers:ut.nullish(),status:ut.nullish()}).partial().nullish()}).strict(),WD=Hn.safeExtend({type:W.z.literal("exit"),status:W.z.union([W.z.number(),W.z.string()]).nullish(),warn_headers_sent:W.z.boolean().nullish(),output:W.z.never().optional(),outputs:W.z.never().optional()}).strict(),XD=Hn.safeExtend({type:W.z.literal("jq"),jq:W.z.string().nullish(),outputs:W.z.never().optional()}).strict(),ZD=Hn.safeExtend({type:W.z.literal("property"),content_type:W.z.string().nullish(),property:W.z.string().nullish(),inputs:W.z.never().optional(),outputs:W.z.never().optional()}).strict(),JD=Hn.safeExtend({type:W.z.literal("static"),values:W.z.record(W.z.string(),W.z.unknown()).nullish(),input:W.z.never().optional(),inputs:W.z.never().optional()}).strict(),QD=Hn.safeExtend({type:W.z.literal("cache"),bypass_on_error:W.z.boolean().nullish(),inputs:W.z.object({data:ut.nullish(),key:ut.nullish(),ttl:ut.nullish()}).partial().nullish(),outputs:W.z.object({data:ut.nullish(),hit:ut.nullish(),miss:ut.nullish(),stored:ut.nullish()}).partial().nullish(),ttl:W.z.union([W.z.number(),W.z.string()]).nullish()}).strict(),eM=Hn.safeExtend({type:W.z.literal("branch"),then:W.z.array(bs).nullish(),else:W.z.array(bs).nullish()}).strict(),tM=HD.pipe(W.z.discriminatedUnion("type",[YD,WD,XD,ZD,JD,QD,eM])),nM=W.z.record(W.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),W.z.string().min(1).max(4095)),oM=W.z.object({dictionary_name:W.z.string().default("kong_db_cache")}),rM=W.z.object(),iM=W.z.object({strategy:W.z.enum(["memory","redis"]).optional(),memory:oM.optional(),redis:rM.optional()}),aM=W.z.object({vault:nM.nullish(),cache:iM.nullish()}),lM=W.z.object({nodes:W.z.array(tM).nullish(),debug:W.z.boolean().nullish(),resources:aM.nullish()}).strict().superRefine((e,n)=>{!e||!Array.isArray(e.nodes)||Ym(e,uo,n)}).nullish(),sM={class:"option-label"},cM=["innerHTML"],dM=Ie(t.defineComponent({__name:"DatakitForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const{t:n}=Xe.createI18n("en-us",ot),o=e,r=t.inject(eo.DATAKIT_ENABLE_FLOW_EDITOR,!1),i=t.inject(eo.DATAKIT_M2,!1),{editorMode:a}=pl(),l=t.computed(()=>r&&c.value?a.value:"code"),s={flow:ve.DesignIcon,code:ve.CodeblockIcon},c=t.ref(!0),u=t.computed(()=>{const _=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return _[0].disabled=!c.value,_}),f=t.computed(()=>{switch(l.value){case"code":return n("plugins.free-form.datakit.description_code");case"flow":return n("plugins.free-form.datakit.description_flow");default:return""}});t.watch(l,()=>{var _;(_=o.onValidityChange)==null||_.call(o,{model:"config",valid:!0})});function d(){var _;(_=o.onValidityChange)==null||_.call(o,{model:"config",valid:!0})}function p(){d()}function m(_){var w;d();const{success:g}=lM.safeParse(_);let h=g;if(!i&&h){const b=_;(w=b==null?void 0:b.resources)!=null&&w.vault&&(h=!1)}c.value=h}function y(_){var g;c.value=!1,(g=o.onValidityChange)==null||g.call(o,{model:"config",valid:!1,error:_})}return(_,g)=>{const h=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(bd,t.mergeProps(o,{class:"dk-form"}),t.createSlots({default:t.withCtx(w=>[t.createVNode(pt,t.mergeProps(w,{tag:"div"}),{default:t.withCtx(()=>[l.value==="flow"?(t.openBlock(),t.createBlock(ED,{key:0,"is-editing":o.isEditing,onChange:p},null,8,["is-editing"])):l.value==="code"?(t.openBlock(),t.createBlock(WN,{key:1,class:"code-editor",editing:o.isEditing,onChange:m,onError:y},null,8,["editing"])):t.createCommentVNode("",!0)]),_:2},1040)]),"plugin-config-description":t.withCtx(()=>[t.createElementVNode("span",{innerHTML:f.value},null,8,cM)]),_:2},[t.unref(r)?{name:"plugin-config-extra",fn:t.withCtx(()=>[t.createVNode(t.unref(Re.KSegmentedControl),{"model-value":l.value,options:u.value,"onUpdate:modelValue":g[0]||(g[0]=w=>a.value=w)},{"option-label":t.withCtx(({option:w})=>[t.createVNode(h,{disabled:c.value||w.value!=="flow",text:t.unref(n)("plugins.free-form.datakit.flow_editor.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",sM,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(s[w.value]))),t.createTextVNode(" "+t.toDisplayString(w.label),1)])]),_:2},1032,["disabled","text"])]),_:1},8,["model-value","options"])]),key:"0"}:void 0]),1040)}}}),[["__scopeId","data-v-6b230b53"]]),eg=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))typeof o=="string"&&(e[n]=o.split(/\s*,\s*/).filter(Boolean))},tg=e=>{if(!(!e||typeof e!="object"))for(const[n,o]of Object.entries(e))Array.isArray(o)&&(e[n]=o.join(", "))},uM=t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(e,{emit:n}){const o=n,{i18n:{t:r}}=Ge.useI18n(),l={prepareFormData:c=>{var f,d;const u=Qn(c);return(d=(f=u.config)==null?void 0:f.tools)!=null&&d.length&&u.config.tools.forEach(p=>{tg(p.headers),tg(p.query)}),u},hasValue:c=>!!(c!=null&&c.config)},s=c=>{var f,d;const u=Qn(c);(d=(f=u.config)==null?void 0:f.tools)!=null&&d.length&&u.config.tools.forEach(p=>{eg(p.headers),eg(p.query)}),o("change",u)};return(c,u)=>(t.openBlock(),t.createBlock(pt,{config:l,data:c.data,schema:c.schema,tag:"div",onChange:s},{default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config","reset-label-path":"reset"},{tools:t.withCtx(({name:f})=>[t.createVNode(Lr,{appearance:"tabs","item-label":(d,p)=>t.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:p+1}),name:f,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),t.createVNode(Fr)]),_:1},8,["data","schema"]))}}),fM=t.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Ue.AUTOFILL_SLOT,o==null?void 0:o[Ue.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(Ra,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(uM,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),pM=Ie(t.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(e,{emit:n}){const o=n,r=t.computed(()=>{const l=e.schema.fields.find(u=>Object.keys(u)[0]==="config").config.fields,s=[],c=[];for(const u of l){const f=Object.keys(u)[0];u[f].required?s.push(f):c.push(f)}return{required:s,nonRequired:c}}),i={hasValue:l=>!!(l!=null&&l.config)};function a(l){o("change",l)}return(l,s)=>(t.openBlock(),t.createBlock(pt,{config:i,data:l.data,schema:l.schema,tag:"div",onChange:a},{default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config",omit:r.value.nonRequired,"reset-label-path":"reset"},null,8,["omit"]),t.createVNode(Fr,{class:"ff-advanced-fields"},{default:t.withCtx(()=>[t.createVNode(wt,{"as-child":"",name:"config",omit:r.value.required,"reset-label-path":"reset"},null,8,["omit"])]),_:1})]),_:1},8,["data","schema"]))}}),[["__scopeId","data-v-3e5ed51d"]]),ng=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:fM,CommonForm:t.defineComponent({__name:"CommonForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function}},setup(e){const n=e,o=t.useSlots();return t.provide(Ue.AUTOFILL_SLOT,o==null?void 0:o[Ue.AUTOFILL_SLOT_NAME]),(r,i)=>(t.openBlock(),t.createBlock(bd,t.normalizeProps(t.guardReactiveProps(n)),{default:t.withCtx(a=>[t.createVNode(pM,t.normalizeProps(t.guardReactiveProps(a)),null,16)]),_:1},16))}}),DatakitForm:dM,RequestCalloutForm:_k,ServiceProtectionForm:CC},Symbol.toStringTag,{value:"Module"})),mM={class:"kong-ui-entities-plugin-form"},gM={key:1,class:"entity-form"},hM={class:"plugin-config-empty-state"},yM=Ie(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}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(e,{emit:n}){var se,he;const o=Object.keys(Ue.sharedForms),r=Object.keys(ng);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const i=n,a=e,{axiosInstance:l}=me.useAxios((se=a.config)==null?void 0:se.axiosRequestConfig),{parseSchema:s}=Ge.useSchemas({entityId:((he=a.entityMap.focusedEntity)==null?void 0:he.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:u,dismissField:f,isObjectEmpty:d,unsetNullForeignKey:p}=Ge.usePluginHelpers(),m=Ge.useExperimentalFreeForms(),{objectsAreEqual:y}=me.useHelpers(),{i18n:{t:_}}=Le(),g=Z=>a.config.app==="konnect"?Z.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"?Z.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:""):Z,h=(Z,ae)=>{let ie=`${a.config.apiBaseUrl}${We.form[a.config.app].entityGetOne}`;return ie=g(ie),ie=ie.replace(/{entity}/gi,Z),ie=ie.replace(/{id}/gi,ae),ie},w=Z=>{let ae=`${a.config.apiBaseUrl}${We.form[a.config.app].entityGetAll}`;return ae=g(ae),ae=ae.replace(/{entity}/gi,Z),ae},b=(Z,ae)=>{const ie=h(Z,ae);return l.get(ie)},N=(Z,ae)=>{const ie=w(Z);return a.config.app==="konnect"?l.get(ie).then(ue=>{const{data:{data:de}}=ue;if(delete ae.size,delete ae.offset,de.length&&Object.keys(ae).length===1){const V=Object.keys(ae)[0],D=de.filter(F=>F[V]?!!F[V].toLowerCase().includes(ae[V].toLowerCase()):!1);ue.data.data=D}return ue}):l.get(ie,{params:ae})},C=(Z,ae,ie)=>{const ue=w(Z);if(a.config.app==="konnect"){const{size:de,offset:V,...D}=ae;if(Z==="consumer_groups")return l.get(ue,{params:{size:1e3},signal:ie}).then(R=>{const{data:{data:X}}=R;if(X.length&&Object.keys(D).length===1){const q=Object.keys(D)[0],re=X.filter(x=>x[q]?!!x[q].toLowerCase().includes(D[q].toLowerCase()):!1);R.data.data=re}return R});const F={size:de,offset:V};for(const R of Object.keys(D))F.filter={[R]:{contains:D[R]}};return l.get(ue,{params:F,signal:ie})}return l.get(ue,{params:ae,signal:ie})},k=(Z,ae=50)=>{const ie=w(Z);return l.get(ie,{params:{size:ae}})};t.provide(Ue.FORMS_API_KEY,{getOne:b,getAll:N,getAllV2:C,peek:k}),t.provide(Ue.FORMS_CONFIG,a.config);const E=t.ref(""),v=t.ref(""),$=t.ref(null),K=t.ref({}),j=t.reactive({}),S=t.reactive({}),Q=t.computed(()=>{var Z;return(Z=$.value)==null?void 0:Z.options}),I=t.ref(!1),G=t.ref(),U=(Z,ae)=>{I.value=Z??"",G.value=ae},ee=Z=>{var ae;(ae=G.value)==null||ae.call(G,Z),I.value=!1},M=()=>{var D,F;const Z={...a.schema},ae=S,ie=j,ue=Object.keys(ae),de={};if(!d(K.value))for(let R=0;R<((F=(D=K.value)==null?void 0:D.fields)==null?void 0:F.length);R++)Z[K.value.fields[R].model]=K.value.fields[R];Ue.customFields.forEach(R=>{Z[R]&&(Z[R].fields.forEach(X=>{X.fields&&X.fields.forEach(q=>{Z[q.model]=q}),X.model&&(Z[X.model]=X)}),delete Z[R])}),ue.forEach(R=>{var _e;if(!Z[R]){R==="partials"&&(de[R]=ae[R]);return}const X=Z[R];let q=ae[R];const re=ie[R],x=Array.isArray(q)?"array":typeof q,L=X?X.valueType:null,B=X?X.valueArrayType:null,te=X?X.transform:null;if(q==null&&re==null&&!X.submitWhenNull)return;if(X){if(L&&x!==L)switch(L){case"array":x==="string"&&q.length&&(q=q.split(",").map(be=>{if(be=be.trim(),B==="string")return String(be);if(B==="number")return Number(be);if(B==="boolean"){if(typeof be=="string")return be.toLowerCase()==="true"||be==="1";if(typeof be=="number")return be===1}return be})),(!q||!q.length)&&(q=X.submitWhenNull?null:[]);break;case"number":q=Number(q);break;case"boolean":x==="string"&&(q=q.toLowerCase()==="true"||q==="1"),x==="number"&&(q=q===1);break;case"string":q=q==null?"":String(q);break}else L==="array"&&(!q||!q.length?q=X.submitWhenNull?null:[]:((_e=X.inputAttributes)==null?void 0:_e.type)==="number"&&(q=q.map(be=>Number(be))));if(X.type==="array"&&X.nestedFields){const be=le=>{Object.keys(le).forEach(xe=>{le[xe]&&typeof le[xe]=="object"&&!Array.isArray(le[xe])&&le[xe]!==null?be(le[xe]):(le[xe]===void 0||le[xe]===null||typeof le[xe]=="number"&&isNaN(le[xe])||typeof le[xe]=="string"&&le[xe].trim().length===0)&&delete le[xe]})};q&&typeof q=="object"&&be(q)}X.type==="object-advanced"&&X.fields&&q!==null&&(Object.entries(q).length===0?q=null:Object.keys(q).forEach(be=>{Array.isArray(q[be])||(q[be]=q[be].split(","))}))}let J=c(R);if(X.fieldNameHasDashes){const[be,...le]=J.split(".").reverse();J=[be.replace(/_/g,"-"),...le].reverse().join(".")}if(L==="object-expand"){let be;[J,be]=J.split(".");let le={};de[J]&&(le=de[J]),le[be]=q,q=le}re!==void 0&&q===""&&q!==re?de[J]=L==="object"?{}:null:X.type==="checklist"&&q===""?de[J]=[]:q!==""&&(de[J]=q),de[J]=te?te(q):de[J],p(J,de)});const V=u(de);return v.value&&Object.assign(V,Y.value),V},O=(Z,ae={})=>{f(S,ae,Z,a.editing),i("model-updated",{model:S,originalModel:j,data:M()})},A=(Z,ae)=>{var de;const ie={[ae]:Z};typeof((de=a.schema[ae])==null?void 0:de.modelTransformer)=="function"&&(ie[ae]=a.schema[ae].modelTransformer(Z));const ue=Object.assign({},S,ie);Object.assign(S,ue),i("model-updated",{model:S,originalModel:j,data:M()})},P=Z=>{i("validity-change",Z)},T=(Z,ae)=>{Object.keys(Z).forEach(ie=>{var F,R;let ue=ae?`${ae}-${ie}`:ie,de=a.schema[ue];if(!de){const X=ae?`${ae}-${ie.replace(/-/g,"_")}`:ie.replace(/-/g,"_");(F=a.schema[X])!=null&&F.fieldNameHasDashes&&(ue=X,de=a.schema[ue]),ae&&((R=a.schema[ae])==null?void 0:R.keyFromObject)===ie&&(ue=ae,de=a.schema[ue])}const V=Z[ie],D=typeof V;if(de&&de.type==="object-advanced"&&!V){S[ue]={},j[ue]={};return}if(Array.isArray(V)){S[ue]=JSON.parse(JSON.stringify(V)),j[ue]=JSON.parse(JSON.stringify(V));return}if(D==="object"&&V&&!V.length)return T(V,ue);if(D==="object"&&V&&V.length&&de.type==="input"){S[ue]=V.join(", "),j[ue]=V.join(", ");return}S[ue]=V,j[ue]=V}),i("model-updated",{model:S,originalModel:j,data:M()})},Y=t.shallowRef(a.record),z=Z=>{Y.value=Z,i("model-updated",{model:{...S,...Z},originalModel:j,data:M()})},ne=t.ref(!0),oe=()=>{var Z;if(a.record&&a.schema&&(T({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&T({consumer_id:a.record.consumer_id||a.record.consumer}),T(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&T({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),a.record.partials&&O("redis",{partials:a.record.partials}),v.value?z(a.record):T(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const ae={};for(const ie in a.entityMap){const ue=a.entityMap[ie].id,de=a.entityMap[ie].idField,V=de==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(de).replace("_","-"));Object.prototype.hasOwnProperty.call(S,V)&&(ae[V]=ue)}T(ae)}if((Z=a.entityMap.consumer)!=null&&Z.id&&a.schema&&a.credential){const ae={};Object.prototype.hasOwnProperty.call(S,"consumer")&&(ae.consumer=a.entityMap.consumer.id),T(ae)}ne.value=!1};return t.watch(ne,Z=>{i("loading",Z)}),t.watch(()=>a.schema,(Z,ae)=>{var ue,de;if(y(Z||{},ae||{}))return;const ie=s(Z,void 0,void 0,a.engine);Object.assign(S,ie.model),K.value={fields:(de=(ue=K.value)==null?void 0:ue.fields)==null?void 0:de.map(V=>({...V,disabled:V.disabled||!1}))},Object.assign(j,JSON.parse(JSON.stringify(ie.model))),v.value=a.engine?a.engine==="vfg"?void 0:xa(ie.model.name,m)||"CommonForm":xa(ie.model.name,m),E.value=Ue.getSharedFormName(ie.model.name),oe()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var Z,ae;$.value=s(a.schema,void 0,void 0,a.engine),Object.assign(S,((Z=$.value)==null?void 0:Z.model)||{}),K.value=((ae=$.value)==null?void 0:ae.schema)||{},oe()}),(Z,ae)=>{var ue;const ie=t.resolveComponent("KSkeleton");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",mM,[ne.value?(t.openBlock(),t.createBlock(ie,{key:0,type:"form"})):S.id&&e.editing||!e.editing?(t.openBlock(),t.createElementBlock("div",gM,[v.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(ng[v.value]),{key:0,"form-model":S,"form-options":Q.value,"form-schema":K.value,"is-editing":e.editing,model:e.record,"on-form-change":z,"on-model-updated":A,"on-validity-change":P,schema:e.rawSchema,onGlobalAction:ae[0]||(ae[0]=(de,V)=>Z.$emit("globalAction",de,V))},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Ue.AUTOFILL_SLOT_NAME),fn:t.withCtx(de=>[de.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(vo.VaultSecretPickerProvider),t.mergeProps({key:0},de,{onOpen:U}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","schema"])):E.value?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(Ue.sharedForms)[E.value]),{key:1,"enable-redis-partial":e.enableRedisPartial,"form-model":S,"form-options":Q.value,"form-schema":K.value,"is-editing":e.editing,"on-model-updated":A,"on-partial-toggled":O,"show-new-partial-modal":de=>Z.$emit("showNewPartialModal",de)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(Ue.AUTOFILL_SLOT_NAME),fn:t.withCtx(de=>[de.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(vo.VaultSecretPickerProvider),t.mergeProps({key:0},de,{onOpen:U}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(t.openBlock(),t.createBlock(t.unref(Ue.VueFormGenerator),{key:2,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:S,options:Q.value,schema:K.value,onModelUpdated:A,onPartialToggled:O,onRefreshModel:M,onShowNewPartialModal:ae[1]||(ae[1]=de=>Z.$emit("showNewPartialModal",de))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",hM,t.toDisplayString(t.unref(_)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(ue=t.unref(Lt)[S.name])!=null&&ue.fieldRules&&(a.config.isNewOtelSchema||S.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(k0,{rules:t.unref(Lt)[S.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(Ue.AUTOFILL_SLOT_NAME),fn:t.withCtx(de=>[de.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(vo.VaultSecretPickerProvider),t.mergeProps({key:0},de,{onOpen:U}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):t.createCommentVNode("",!0)]),t.createVNode(t.unref(vo.VaultSecretPicker),{config:a.config,setup:I.value,onCancel:ae[2]||(ae[2]=()=>I.value=!1),onProceed:ee},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-3a5319dd"]]),_M={key:1},bM=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,o)=>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",_M,[t.renderSlot(n.$slots,"default")]))}}),wM={class:"kong-ui-entities-plugin-form-container"},kM={key:0},CM={class:"plugin-form-actions"},EM=Ie(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:""},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}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(e,{emit:n}){var re;const o=n,r=e,i=xo.useRouter(),{i18n:{t:a}}=Ge.useI18n(),{customSchemas:l,typedefs:s}=Ge.useSchemas({app:r.config.app,credential:r.credential,experimentalRenders:r.config.app==="konnect"?r.config.experimentalRenders:void 0}),{formatPluginFieldLabel:c}=Ge.usePluginHelpers(),{getMessageFromError:u}=me.useErrors(),{capitalize:f}=me.useStringHelpers(),{objectsAreEqual:d}=me.useHelpers(),{axiosInstance:p}=me.useAxios((re=r.config)==null?void 0:re.axiosRequestConfig),m=t.ref(!1),y=t.computed(()=>!!r.pluginId),_=t.computed(()=>r.pluginId?me.EntityBaseFormType.Edit:me.EntityBaseFormType.Create),g=t.ref(void 0),h=t.ref(void 0),w=t.computed(()=>!!(r.credential&&r.config.entityId)),b=t.ref(void 0),N=t.ref({}),C=t.ref(),k=t.ref();t.provide(hd,{redisType:C,redisPath:k,isEditing:y.value});const E=t.ref(!1),v=t.reactive({enabled:!0,protocols:[],tags:[]}),$=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),K=t.ref([{title:a("view_configuration.json"),hash:"#json"},{title:a("view_configuration.yaml"),hash:"#yaml"}]);r.config.app==="konnect"&&K.value.splice(1,0,{title:a("view_configuration.terraform"),hash:"#terraform"});const j=t.ref(""),S=t.computed(()=>{var L;if(w.value){let B=We.form[r.config.app].credential[_.value];return B=B.replace(/{resourceEndpoint}/gi,U.value),B}let x;return r.config.entityType&&r.config.entityId?x=We.form[r.config.app].edit.forEntity.replace(/{entityType}/gi,r.config.entityType).replace(/{entityId}/gi,r.config.entityId):x=We.form[r.config.app].edit.all,r.config.app==="konnect"&&((L=Lt[r.pluginType])!=null&&L.useUIData)?`${x}?__ui_data=true`:x}),Q=()=>{m.value=!m.value},I=t.computed(()=>{var _e,be,le,xe,Ve,pe,fe,lt;const x=r.config.entityType==="consumers"&&r.config.entityId||((be=(_e=b.value)==null?void 0:_e.consumer)==null?void 0:be.id),L=r.config.entityType==="consumer_groups"&&r.config.entityId||((xe=(le=b.value)==null?void 0:le.consumer_group)==null?void 0:xe.id),B=r.config.entityType==="services"&&r.config.entityId||((pe=(Ve=b.value)==null?void 0:Ve.service)==null?void 0:pe.id),te=r.config.entityType==="routes"&&r.config.entityId||((lt=(fe=b.value)==null?void 0:fe.route)==null?void 0:lt.id);if(!(x||L||B||te))return{global:{entity:H.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const J={};return B&&(J.service={entity:H.PluginScope.SERVICE,entityEndpoint:"services",id:B,idField:wn.SERVICE}),te&&(J.route={entity:H.PluginScope.ROUTE,entityEndpoint:"routes",id:te,idField:wn.ROUTE}),x&&(J.consumer={entity:H.PluginScope.CONSUMER,entityEndpoint:"consumers",id:x,idField:wn.CONSUMER}),L&&(J.consumer_group={entity:H.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:L,idField:wn.CONSUMER_GROUP}),r.config.entityType&&(J.focusedEntity={entity:H.PluginScope[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()],entityEndpoint:r.config.entityType,id:r.config.entityId,idField:wn[r.config.entityType.substring(0,r.config.entityType.length-1).toUpperCase()]}),J}),G=t.reactive({name:{default:r.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:a("plugins.form.fields.enabled.label"),textOn:a("plugins.form.fields.enabled.on_text"),textOff:a("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:r.hideScopeSelection&&(r.hideScopeSelection||_.value===me.EntityBaseFormType.Create&&r.config.entityId)?"foreign":"selectionGroup",disabled:r.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:a("plugins.form.scoping.global.label"),description:a("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:a("plugins.form.fields.protocols.help"),label:a("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:a("plugins.form.fields.instance_name.label"),inputType:"text",help:a("plugins.form.fields.instance_name.help")},tags:s.tags}),U=t.computed(()=>{var B;const x=r.developer?"developers":"consumers",L=((B=Xn[r.pluginType])==null?void 0:B.endpoint)||"/plugins";return`${x}/${r.config.entityId}${r.developer?"/credentials":""}${L}`}),ee=x=>{const L=Array.from(new Set(x.map(B=>typeof B)));return L.length>1?"string":L[0]},M=(x,L,B,te)=>{var le,xe;let J=L&&L.fields||[];const _e=l[r.pluginType],be=(xe=(le=Xn[r.pluginType])==null?void 0:le.schema)==null?void 0:xe.fields;return Array.isArray(J)&&(J=J.reduce((Ve,pe)=>{const fe=Object.keys(pe)[0];return fe.match(/-/g)?Ve[fe.replace(/-/g,"_")]={...pe[fe],fieldNameHasDashes:!0}:Ve[fe]=pe[fe],Ve},{})),Object.keys(J).sort().forEach(Ve=>{var ce,Ee,ye,ge,Se,Ae,$e;const pe=J[Ve];pe.type==="set"&&(pe.type="array");const fe=x?`${x}-${Ve}`:`${Ve}`;if((ce=_e==null?void 0:_e.fieldsToDelete)!=null&&ce.includes(fe)){zc(B,fe);return}if(Object.prototype.hasOwnProperty.call(pe,"overwrite")||pe.hidden)return;if(pe.type==="table")return M(fe,pe.schema,B);if(pe.fields)return te&&pe.type==="record"?(B[fe]={type:"object",model:Ve,schema:{fields:Object.values(M(fe,pe,{},!0))}},B):M(fe,pe,B);if(B[fe]={id:fe,model:Ve},B[fe].type=pe.type==="boolean"?"checkbox":"input",B[fe].required=pe.required,B[fe].referenceable=pe.referenceable,fe.startsWith("config-"))if(!te&&pe.type==="array"&&(j.value=fe),te&&j.value&&fe.startsWith(j.value)){const Ne=fe.slice(j.value.length+1);B[fe].label=Ne.split("-").map(c).join(".")}else B[fe].label=c(fe);if((x==="config"||x.startsWith("config-"))&&(Ee=J[Ve])!=null&&Ee.description&&(B[fe].help=wr.marked.parse(J[Ve].description,{mangle:!1,headerIds:!1})),pe.type==="map"){if(B[fe].type="object-advanced",B[fe].values=pe.values,pe.values.type==="array"){const{type:Ne}=pe.values.elements||{};B[fe].schema={fields:[{schema:{fields:[{...Fe,model:fe,valueArrayType:Ne==="integer"?"number":Ne||"string",inputAttributes:{...Fe.inputAttributes,type:Ne==="integer"?"number":"text",inputMode:Ne==="integer"?"numeric":"text"}}]}}]}}else pe.values.fields&&(B[fe].schema={fields:[{type:"object",model:"object",schema:{fields:pe.values.fields.map(Ne=>{const Me=Object.keys(Ne)[0];return{model:Me,type:"input",label:f(Me),placeholder:Me,inputType:Ne[Me].type}})}}]});return B}if(pe.enum&&pe.type==="array"&&(B[fe].type="checklist",B[fe].values=pe.enum,B[fe].multi=!0,B[fe].multiSelect=!0),pe.one_of&&pe.type!=="array"&&(B[fe].type="select",B[fe].values=pe.one_of,B[fe].selectOptions={noneSelectedText:a("plugins.form.no_selection")}),pe.elements&&pe.type==="array"){const Ne=pe.elements;if(B[fe].referenceable=Ne.referenceable,B[fe].elements=Ne,["string","integer","number"].includes(Ne.type)&&!Ne.one_of){const{id:Me,help:De,label:we,hint:Te,values:Be,referenceable:gt,model:Ke}=B[fe],{inputAttributes:tt,...Zi}=JSON.parse(JSON.stringify(Fe));tt.type=Ne.type==="string"?"text":"number",B[fe]={id:Me,help:De,label:we,hint:Te,values:Be,referenceable:gt,model:Ke,inputAttributes:tt,...Zi}}}if(pe.hint&&(B[fe].hint=pe.hint),_e&&!_e.overwriteDefault&&Object.keys(_e).forEach(Ne=>{if(Ne===fe){const{help:Me,label:De,hint:we,values:Te,referenceable:Be,elements:gt}=B[fe],{help:Ke,...tt}=_e[Ne];B[fe]={help:Me,label:De,hint:we,values:Te,referenceable:Be,elements:gt,...tt},typeof Ke=="string"&&(B[fe].help=wr.marked.parse(Ke,{mangle:!1,headerIds:!1}))}}),pe.type==="array"&&((ye=pe.elements)==null?void 0:ye.type)==="record"&&Array.isArray(pe.elements.fields)){let Ne={};for(const De of pe.elements.fields)Ne={...Ne,...De};const Me=(Ae=(Se=(ge=B[fe])==null?void 0:ge.items)==null?void 0:Se.schema)==null?void 0:Ae.fields;if(Array.isArray(Me))for(const De of B[fe].items.schema.fields){const we=($e=Ne[De.model])==null?void 0:$e.description;De.help===void 0&&typeof we=="string"&&(De.help=wr.marked.parse(we,{mangle:!1,headerIds:!1}))}if(Me||(B[fe].type="array",B[fe].newElementButtonLabelClasses="kong-form-new-element-button-label",B[fe].fieldClasses="array-card-container-wrapper",B[fe].itemContainerComponent="FieldArrayCardContainer",B[fe].items={type:"object",schema:{fields:Object.values(M(fe,pe.elements,{},!0))}},B[fe].items.schema.fields.forEach(De=>{var we,Te;for(const Be of pe.elements.fields){const gt=Object.keys(Be)[0],Ke=((Te=(we=De.id)==null?void 0:we.split)==null?void 0:Te.call(we,"-"))??[];if(Ke[Ke.length-1]===gt){De.model=gt,De.label=c(gt);break}}}),pe.elements.type==="record"&&(B[fe].nestedFields=!0)),!B[fe].nestedFields)B[fe].items.default=()=>pe.elements.fields.reduce((De,we)=>{const Te=Object.keys(we)[0];return De[Te]=we[Te].default,De},{});else{const De=(we,Te)=>{if(we.type==="object"){we.model&&(Te[we.model]={});for(const Be of we.schema.fields)De(Be,we.model?Te[we.model]:Te)}else we.model&&(Te[we.model]=we.default)};B[fe].items.default=()=>{const we={};return De(B[fe].items,we),we}}}if(w.value&&be){for(let Ne=0;Ne<be.length;Ne++)if(be[Ne][fe]){B[fe]={...B[fe],...be[Ne][fe]};break}}if(pe.required&&pe.type!=="boolean"&&(B[fe].required=!0,B[fe].selectOptions={hideNoneSelectedText:!0}),pe.required&&pe.type==="boolean"&&(B[fe].default=pe.default??!1),pe.default!=null&&typeof pe.default!="object"&&pe.default!=="function"&&(B[fe].default=pe.default),B[fe].type==="input"){["string","number"].includes(typeof B[fe].default)&&r.config.app==="konnect"&&(B[fe].placeholder=`Default: ${B[fe].default===""?"<empty string>":B[fe].default}`);const{type:Ne}=pe.elements||{};Ne&&(B[fe].valueArrayType=Ne==="integer"?"number":Ne),B[fe].inputType=pe.type==="array"||pe.type==="string"?pe.encrypted?"password":"text":pe.type}let lt="string";pe.enum?lt=ee(pe.enum):pe.type==="boolean"?lt="boolean":pe.type==="number"||pe.type==="integer"?(lt="number",B[fe].inputType="number"):pe.type==="array"?(lt="array",B[fe].default=pe.default,pe.len_min>0&&(B[fe].submitWhenNull=!0)):pe.type==="foreign"?lt="object":pe.default&&Array.isArray(pe.default)?(lt="array",B[fe].valueArrayType=ee(pe.default)):pe.default&&(lt=typeof pe.default),B[fe].valueType=lt,pe.fieldNameHasDashes&&(B[fe].fieldNameHasDashes=!0)}),B},O=()=>{var fe,lt,ce,Ee,ye,ge,Se,Ae,$e,Ne,Me,De;const x=((fe=Lt[r.pluginType])==null?void 0:fe.scope.includes(H.PluginScope.SERVICE))??!0,L=((lt=Lt[r.pluginType])==null?void 0:lt.scope.includes(H.PluginScope.ROUTE))??!0,B=((ce=Lt[r.pluginType])==null?void 0:ce.scope.includes(H.PluginScope.CONSUMER))??!0,te=r.config.disableConsumerGroupScope?!1:((Ee=Lt[r.pluginType])==null?void 0:Ee.scope.includes(H.PluginScope.CONSUMER_GROUP))??!0,J=r.config.entityType==="consumers"&&!!r.config.entityId||!!((ge=(ye=b.value)==null?void 0:ye.consumer)!=null&&ge.id),_e=r.config.entityType==="consumer_groups"&&!!r.config.entityId||!!((Ae=(Se=b.value)==null?void 0:Se.consumer_group)!=null&&Ae.id),be=r.config.entityType==="services"&&!!r.config.entityId||!!((Ne=($e=b.value)==null?void 0:$e.service)!=null&&Ne.id),le=r.config.entityType==="routes"&&!!r.config.entityId||!!((De=(Me=b.value)==null?void 0:Me.route)!=null&&De.id),xe=[],Ve=(we,Te,Be)=>we?a("plugins.form.disable_source_scope_change",{scope:Be}):Te?a("plugins.form.disable_data_retrieving",{scope:Be}):"",pe=we=>{var Te,Be;return((Be=(Te=r.scopedEntitiesPermissions)==null?void 0:Te[we])==null?void 0:Be.canRetrieve)===!1};if(x){const we=pe("service"),Te="services",Be=be&&r.disableScopeSelection;xe.push({id:"service-id",model:"service-id",label:a("plugins.form.scoping.gateway_service.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:Te,inputValues:{fields:["name","id"]},help:a("plugins.form.scoping.gateway_service.help"),disabled:Be||we,disabledTooltip:Ve(Be,we,Te)})}if(L){const we=pe("route"),Te="routes",Be=le&&r.disableScopeSelection;xe.push({id:"route-id",model:"route-id",label:a("plugins.form.scoping.route.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:a("plugins.form.scoping.route.help"),disabled:Be||we,disabledTooltip:Ve(Be,we,Te)})}if(B){const we=pe("consumer"),Te="consumers",Be=J&&r.disableScopeSelection;xe.push({model:"consumer-id",label:a("plugins.form.scoping.consumer.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:a("plugins.form.scoping.consumer.help"),disabled:Be||we,disabledTooltip:Ve(Be,we,Te)})}if(te){const we=pe("consumer_group"),Te="consumer_groups",Be=_e&&r.disableScopeSelection;xe.push({model:"consumer_group-id",label:a("plugins.form.scoping.consumer_group.label"),placeholder:a("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:a("plugins.form.scoping.consumer_group.help"),disabled:Be||we,disabledTooltip:Ve(Be,we,Te)})}if(xe.length){const we=[...x?["service"]:[],...L?["route"]:[],...B?["consumer"]:[],...te?["consumer_group"]:[]],Be=we.splice(we.length-2,2).map(Ke=>a(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(`${we.length>0?",":""} and/or `),gt=["Specific",[...we.length>0?[we.map(Ke=>a(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(", ")]:[],Be].join(", ")].join(" ");G.selectionGroup.fields.push({label:a("plugins.form.scoping.label"),description:gt,fields:[]}),G.selectionGroup.fields[1].fields=xe}l[r.pluginType]&&l[r.pluginType].overwriteDefault&&Object.hasOwnProperty.call(l[r.pluginType],"formSchema")&&Object.assign(G,l[r.pluginType].formSchema)},A=t.computed(()=>!d($.fields,v,!0)),P=t.computed(()=>!X.value&&!E.value&&(_.value===me.EntityBaseFormType.Create||A.value)),T=t.ref(!1),Y=t.ref(),z=x=>{r.credential&&x.password&&(x.password=""),$.fields.id=(x==null?void 0:x.id)||void 0,Y.value=x==null?void 0:x.ordering,Object.assign(v,$.fields),b.value=x,T.value=!0},ne=t.ref({}),oe=x=>{var L;$.fields=x.model,$.fields.id=((L=b.value)==null?void 0:L.id)||void 0,Object.assign(v,x.originalModel),ne.value=x.data,r.isWizardStep&&o("model-updated",{model:$.fields,data:x.data,resourceEndpoint:U.value})},se=t.ref(new Map),he=t.computed(()=>[$.clientErrorMessage,$.serverErrorMessage].filter(Boolean).join("; ")),Z=x=>{x.valid?se.value.delete(x.model):se.value.set(x.model,x.error),$.clientErrorMessage=[...se.value.entries()].map(([L,B])=>`${L}: ${typeof B=="string"?B:u(B)}`).join("; "),$.clientErrorMessage&&($.serverErrorMessage="")};t.watch([I,T],(x,L)=>{const B=x[0]!==L[0],te=x[1],J=L[1];if(!w.value&&_.value===me.EntityBaseFormType.Edit&&(B||te&&te!==J)){const _e=M("config",N.value,G);ue.value&&(_e._isCustomPlugin=!0),C.value&&(_e._supported_redis_partial_type=C.value),h.value=_e}},{deep:!0});const ae=()=>{r.config.cancelRoute?i.push(r.config.cancelRoute):o("cancel")},ie=t.computed(()=>{const x=r.config.entityType&&r.config.entityId&&!r.developer,L=w.value?We.form[r.config.app].credential[_.value]:We.form[r.config.app][_.value][x?"forEntity":"all"];let B=`${r.config.apiBaseUrl}${L}`;return r.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),B=B.replace(/{resourceEndpoint}/gi,U.value),B=B.replace(/{id}/gi,r.pluginId),B=B.replace(/{entityType}/gi,r.config.entityType||""),B=B.replace(/{entityId}/gi,r.config.entityId||""),B}),ue=t.computed(()=>!Object.keys(Lt).includes(r.pluginType)),de=t.computed(()=>{const x=ne.value;if(w.value){for(const L in H.PluginScope){const B=H.PluginScope[L];x[B]&&!x[B].id&&(x[B]={id:r.config.entityId})}delete x.created_at}return ne.value.partials&&k.value&&zc(x,k.value),x}),V=t.computed(()=>{const{__ui_data:x,...L}={...de.value};return L}),D=async()=>{if(!$.clientErrorMessage&&!r.isWizardStep)try{$.isReadonly=!0;let x;const L=JSON.parse(JSON.stringify(de.value)),B=l[r.pluginType];typeof(B==null?void 0:B.shamefullyTransformPayload)=="function"&&B.shamefullyTransformPayload({originalModel:v,model:$.fields,payload:L,schema:h.value}),_.value==="create"?x=await p.post(ie.value,L):_.value==="edit"&&(x=r.config.app==="konnect"||C.value&&L.partials?await p.put(ie.value,Object.assign({ordering:Y.value},L)):await p.patch(ie.value,L)),Object.assign(v,$.fields),o("update",x==null?void 0:x.data)}catch(x){$.serverErrorMessage=u(x),o("error",x)}finally{$.isReadonly=!1}},F=t.computed(()=>{var te;const x=w.value?(te=Xn[r.pluginType])==null?void 0:te.schemaEndpoint:r.pluginType,L=w.value?We.form[r.config.app].credentialSchema:We.form[r.config.app].pluginSchema;let B=`${r.config.apiBaseUrl}${L}`;return r.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,r.config.controlPlaneId||""):r.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,r.config.workspace?`/${r.config.workspace}`:"")),B=B.replace(/{plugin}/gi,x),B}),R=t.ref(""),X=t.ref(!1),q=t.ref("");return t.onBeforeMount(async()=>{var x,L,B,te;X.value=!0;try{if(w.value&&r.config.app==="konnect"){const J=(x=Xn[r.pluginType])==null?void 0:x.schemaEndpoint,_e=Cg[J];R.value=J,h.value=M("",_e,{}),X.value=!1}else{const J=r.schema??(await p.get(F.value)).data;if(g.value=J,J)if(w.value)h.value=M("",J,{}),X.value=!1;else{const _e=J.fields.find(le=>le.config);N.value=_e?_e.config:J,J.supported_partials&&(C.value=Object.keys(J.supported_partials).find(le=>[Cr.REDIS_CE,Cr.REDIS_EE].includes(le)),k.value=(L=J.supported_partials[C.value])==null?void 0:L[0]),O();const be=(B=J.fields.find(le=>le.protocols))==null?void 0:B.protocols;if(be){const{default:le=[],elements:xe={}}=be;G.protocols.default=le,G.protocols.placeholder=r.config.app==="konnect"?a("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:le.join(", ")}):a("plugins.form.fields.protocols.placeholder"),(te=xe.one_of)!=null&&te.length&&(G.protocols.values=xe.one_of.map(Ve=>({label:Ve,value:Ve})))}if(T.value||_.value===me.EntityBaseFormType.Create){const le=M("config",N.value,G);C.value&&(le._supported_redis_partial_type=C.value),ue.value&&(le._isCustomPlugin=!0),h.value=le}}}}catch(J){console.error(J),q.value=u(J),o("error:fetch-schema",J)}finally{X.value=!1}}),(x,L)=>{const B=t.resolveComponent("KSkeleton"),te=t.resolveComponent("KEmptyState"),J=t.resolveComponent("KButton"),_e=t.resolveComponent("KTabs"),be=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",wM,[X.value?(t.openBlock(),t.createBlock(B,{key:0,type:"form"})):q.value?(t.openBlock(),t.createBlock(te,{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(a)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(me.EntityBaseForm),{key:2,"can-submit":P.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(me.SupportedEntityType).Plugin,"error-message":he.value,"fetch-url":S.value,"form-fields":de.value,"is-readonly":$.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ae,"onFetch:error":L[4]||(L[4]=le=>x.$emit("error",le)),"onFetch:success":z,onLoading:L[5]||(L[5]=le=>x.$emit("loading",le))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",kM)):(t.openBlock(),t.createBlock(bM,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",CM,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(J,{key:0,appearance:"tertiary","data-testid":`plugin-${y.value?"edit":"create"}-form-view-configuration`,onClick:L[3]||(L[3]=le=>Q())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(J,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${y.value?"edit":"create"}-form-cancel`,disabled:$.isReadonly,onClick:ae},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(J,{appearance:"primary","data-testid":`plugin-${y.value?"edit":"create"}-form-submit`,disabled:!P.value||$.isReadonly,type:"submit",onClick:D},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:D},null,32),t.createVNode(yM,{config:e.config,credential:w.value,editing:_.value===t.unref(me.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":r.enableVaultSecretPicker,engine:e.engine,"entity-map":I.value,"raw-schema":g.value,record:b.value,schema:h.value,onGlobalAction:L[0]||(L[0]=(le,xe)=>x.$emit("globalAction",le,xe)),onLoading:L[1]||(L[1]=le=>E.value=le),onModelUpdated:oe,onShowNewPartialModal:L[2]||(L[2]=le=>x.$emit("showNewPartialModal",le)),onValidityChange:Z},null,8,["config","credential","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(a)("view_configuration.title"),visible:m.value,onClose:Q},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("view_configuration.message")),1),t.createVNode(_e,{"data-testid":"form-view-configuration-slideout-tabs",tabs:K.value},{json:t.withCtx(()=>[t.createVNode(t.unref(me.JsonCodeBlock),{config:e.config,"entity-record":V.value,"fetcher-url":ie.value,"request-method":r.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(me.YamlCodeBlock),{"entity-record":V.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(me.TerraformCodeBlock),{"credential-type":R.value,"entity-record":V.value,"entity-type":t.unref(me.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-b9713619"]]),NM={class:"kong-ui-entities-plugins-list"},SM={class:"button-row"},xM={class:"name-cell-wrapper"},vM={class:"info-wrapper"},AM={key:0,class:"info-name"},IM={key:1,class:"info-name"},TM={key:2,class:"info-type"},PM={key:1},OM=Ie(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 R,X;const o=Ge.usePluginMetaData(),r=n,i=e,{i18n:{t:a}}=Ge.useI18n(),l=xo.useRouter(),{axiosInstance:s}=me.useAxios((R=i.config)==null?void 0:R.axiosRequestConfig),{hasRecords:c,handleStateChange:u}=me.useTableState(()=>b.value),f=t.computed(()=>c.value&&i.config.app==="konnect"),d=t.computed(()=>!!i.config.entityId),p=t.computed(()=>{var q;return((q=i.config)==null?void 0:q.entityType)==="consumers"}),m=t.computed(()=>{var q;return((q=i.config)==null?void 0:q.entityType)==="consumer_groups"}),y=i.config.app==="konnect"||me.useGatewayFeatureSupported({gatewayInfo:i.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),_=t.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),g={name:{label:a("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(X=i.config)!=null&&X.entityId||(g.appliedTo={label:a("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:a("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},y&&(g.ordering={label:a("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:a("plugins.list.table_headers.tags"),sortable:!1};const h=g,w=t.computed(()=>{var re,x,L,B;let q=i.config.entityType?`${i.config.apiBaseUrl}${We.list[i.config.app].forEntity}`:`${i.config.apiBaseUrl}${We.list[i.config.app].all}`;return i.config.app==="konnect"?q=q.replace(/{controlPlaneId}/gi,((re=i.config)==null?void 0:re.controlPlaneId)||""):i.config.app==="kongManager"&&(q=q.replace(/\/{workspace}/gi,(x=i.config)!=null&&x.workspace?`/${i.config.workspace}`:"")),q.replace(/{entityType}/gi,((L=i.config)==null?void 0:L.entityType)||"").replace(/{entityId}/gi,((B=i.config)==null?void 0:B.entityId)||"")}),b=t.ref(""),N=t.computed(()=>i.config.app==="konnect"||i.config.isExactMatch?{isExactMatch:!0,fields:{name:g.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:{...g.enabled,label:a("search.filter.field.enabled")},name:g.name,instance_name:{label:a("plugins.list.table_headers.instance_name"),searchable:!0}},schema:i.config.filterSchema}),{fetcher:C,fetcherState:k,fetcherCacheKey:E}=me.useFetcher(t.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),w),v=()=>{b.value=""},$=()=>{E.value++},K=t.ref(null),j=q=>{var x,L,B,te;const re=[];return((x=q.route)!=null&&x.id||q.route_id)&&re.push({type:"route",badgeText:a("plugins.list.table_headers.applied_to_badges.route")}),((L=q.service)!=null&&L.id||q.service_id)&&re.push({type:"service",badgeText:a("plugins.list.table_headers.applied_to_badges.service")}),((B=q.consumer)!=null&&B.id||q.consumer_id)&&re.push({type:"consumer",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer")}),((te=q.consumer_group)!=null&&te.id||q.consumer_group_id)&&re.push({type:"consumer_group",badgeText:a("plugins.list.table_headers.applied_to_badges.consumer_group")}),re.length?re:[{type:null,badgeText:a("plugins.list.table_headers.applied_to_badges.global")}]},S=async(q,re)=>{var x;return q===null?!1:await((x=i.canRetrieveScopedEntity)==null?void 0:x.call(i,q,re.id))},Q=(q,re)=>{var L,B,te,J,_e;let x=null;switch(q){case"route":x=(L=re.route)==null?void 0:L.id;break;case"service":x=(B=re.service)==null?void 0:B.id;break;case"consumer":x=(te=re.consumer)==null?void 0:te.id;break;case"consumer_group":x=(J=re.consumer_group)==null?void 0:J.id;break}x&&((_e=i.config)!=null&&_e.getScopedEntityViewRoute)&&l.push(i.config.getScopedEntityViewRoute(q,x))},I=t.ref(!1),G=t.ref(null),U=t.computed(()=>{const q={action:"disable",id:"",name:""};if(G.value){const{enabled:re,id:x,name:L}=G.value;q.action=re?"disable":"enable",q.id=x,q.name=o.getDisplayName(L)||x}return q}),ee=q=>{I.value=!0,G.value=q},M=()=>{I.value=!1,G.value=null},O=async()=>{var L,B,te,J,_e,be,le,xe;if(!await((L=i.canEdit)==null?void 0:L.call(i,G.value))||!G.value)return;let re=`${i.config.apiBaseUrl}${(_e=We.item[i.config.app])==null?void 0:_e[(B=i.config)!=null&&B.entityType?"forEntity":"all"].replace(/{entityType}/gi,((te=i.config)==null?void 0:te.entityType)||"").replace(/{entityId}/gi,((J=i.config)==null?void 0:J.entityId)||"")}`.replace(/{id}/gi,G.value.id||"");i.config.app==="konnect"?re=re.replace(/{controlPlaneId}/gi,((be=i.config)==null?void 0:be.controlPlaneId)||""):i.config.app==="kongManager"&&(re=re.replace(/\/{workspace}/gi,(le=i.config)!=null&&le.workspace?`/${i.config.workspace}`:""));const x=!G.value.enabled;try{const{data:Ve}=((xe=i.config)==null?void 0:xe.app)==="konnect"?await s.put(re,{...G.value,enabled:x},{timeout:12e4}):await s.patch(re,{...G.value,enabled:x},{timeout:12e4});r("toggle-enabled",x,Ve),G.value.enabled=x}catch(Ve){r("error",Ve)}},A=async(q,re)=>{const x=q.id;if(!await re(x)){r("copy:error",{entity:q,field:"id",message:a("errors.copy")});return}r("copy:success",{entity:q,field:"id",message:a("copy.success",{val:x})})},P=async(q,re)=>{const x=JSON.stringify(q);if(!await re(x)){r("copy:error",{entity:q,message:a("errors.copy")});return}r("copy:success",{entity:q,message:a("copy.success_brief")})},T=async q=>{var x;await((x=i.canRetrieve)==null?void 0:x.call(i,q))&&l.push(i.config.getViewRoute(q))},Y=q=>({label:a("actions.view"),to:i.config.getViewRoute(q)}),z=q=>({label:a("actions.edit"),to:i.config.getEditRoute(q)}),ne=q=>({label:a("actions.configure_dynamic_ordering"),to:i.config.getConfigureDynamicOrderingRoute(q)}),oe=t.ref(void 0),se=t.ref(!1),he=t.ref(!1),Z=t.ref(""),ae=me.useDeleteUrlBuilder(i.config,w.value),ie=q=>{oe.value=q,se.value=!0},ue=()=>{se.value=!1},de=async()=>{var q,re,x;if((q=oe.value)!=null&&q.id){he.value=!0;try{await s.delete(ae(oe.value.id)),he.value=!1,se.value=!1,E.value++,r("delete:success",oe.value)}catch(L){Z.value=((x=(re=L.response)==null?void 0:re.data)==null?void 0:x.message)||L.message||a("errors.delete"),r("error",L)}finally{he.value=!1}}},V=()=>{l.push(i.config.createRoute)};t.watch(k,q=>{var re,x,L;if(q.status===me.FetcherStatus.Error){K.value={title:a("errors.general")},(L=(x=(re=q.error)==null?void 0:re.response)==null?void 0:x.data)!=null&&L.message&&(K.value.message=q.error.response.data.message),r("error",q.error);return}K.value=null});const D=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")}),F=t.ref(!1);return t.onBeforeMount(async()=>{F.value=await i.canCreate(),F.value&&(D.value.title=a("plugins.list.empty_state.title"),D.value.ctaText=a("actions.create"))}),(q,re)=>{const x=t.resolveComponent("KButton"),L=t.resolveComponent("KEmptyState"),B=t.resolveComponent("KBadge"),te=t.resolveComponent("KTruncate"),J=t.resolveComponent("KInputSwitch"),_e=t.resolveComponent("KDropdownItem"),be=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",NM,[t.createVNode(t.unref(me.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":_.value,"empty-state-options":D.value,"enable-entity-actions":"","error-message":K.value,fetcher:t.unref(C),"fetcher-cache-key":t.unref(E),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:b.value,"table-headers":t.unref(h),title:e.title,"title-tag":e.titleTag,onClearSearchInput:v,"onClick:row":re[4]||(re[4]=le=>T(le)),onSort:$,onState:t.unref(u)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(me.EntityFilter),{modelValue:b.value,"onUpdate:modelValue":re[0]||(re[0]=le=>b.value=le),config:N.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",SM,[!d.value&&f.value?(t.openBlock(),t.createBlock(x,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:re[1]||(re[1]=le=>q.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(x,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.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:le})=>[t.createElementVNode("div",xM,[t.createVNode(t.unref(Ao.PluginIcon),{class:"plugin-icon",name:le.name,size:24},null,8,["name"]),t.createElementVNode("div",vM,[le.instance_name?(t.openBlock(),t.createElementBlock("span",AM,t.toDisplayString(le.instance_name),1)):(t.openBlock(),t.createElementBlock("span",IM,t.toDisplayString(t.unref(o).getDisplayName(le.name)),1)),le.instance_name?(t.openBlock(),t.createElementBlock("span",TM,t.toDisplayString(t.unref(o).getDisplayName(le.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:le})=>[j(le).length>0?(t.openBlock(),t.createBlock(te,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(j(le),xe=>(t.openBlock(),t.createBlock(t.unref(me.PermissionsWrapper),{key:xe.badgeText,"auth-function":()=>S(xe.type,le),"force-show":""},{default:t.withCtx(({isAllowed:Ve})=>[t.createVNode(B,{class:t.normalizeClass(Ve||"disabled"),onClick:t.withModifiers(pe=>Ve&&xe.type&&Q(xe.type,le),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(xe.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",PM,"-"))]),enabled:t.withCtx(({row:le})=>[t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(le)&&await e.canToggle(le)),"force-show":""},{default:t.withCtx(({isAllowed:xe})=>{var Ve,pe;return[t.createElementVNode("div",{onClick:re[3]||(re[3]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(J,{disabled:!xe,"disabled-tooltip-text":!xe&&((pe=(Ve=e.config).getToggleDisabledTooltip)==null?void 0:pe.call(Ve,le))||void 0,"model-value":le.enabled,onClick:t.withModifiers(fe=>xe&&ee(le),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:le})=>[t.createVNode(B,{appearance:t.unref(jc)(le)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(jc)(le)?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:le})=>[t.createVNode(t.unref(me.TableTags),{tags:le},null,8,["tags"])]),actions:t.withCtx(({row:le})=>[t.createVNode(be,null,{default:t.withCtx(({copyToClipboard:xe})=>[t.createVNode(_e,{"data-testid":"action-entity-copy-id",onClick:Ve=>A(le,xe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(be,null,{default:t.withCtx(({copyToClipboard:xe})=>[t.createVNode(_e,{"data-testid":"action-entity-copy-json",onClick:Ve=>P(le,xe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(le)},{default:t.withCtx(()=>[t.createVNode(_e,{"data-testid":"action-entity-view","has-divider":"",item:Y(le)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":()=>e.canEdit(le)},{default:t.withCtx(()=>[t.createVNode(_e,{"data-testid":"action-entity-edit",item:z(le)},null,8,["item"])]),_:2},1032,["auth-function"]),!p.value&&!m.value&&t.unref(y)?(t.openBlock(),t.createBlock(t.unref(me.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(le)},{default:t.withCtx(()=>[ne(le)?(t.openBlock(),t.createBlock(_e,{key:0,"data-testid":"action-entity-config-dyn-order",item:ne(le)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(me.PermissionsWrapper),{"auth-function":()=>e.canDelete(le)},{default:t.withCtx(()=>[t.createVNode(_e,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:xe=>ie(le)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!b.value&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>{var le;return[t.createVNode(L,{"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(ve.PlugIcon),{decorative:""})]),action:t.withCtx(()=>[F.value?(t.openBlock(),t.createBlock(x,{key:0,"data-testid":"entity-create-button",onClick:V},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.AddIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):t.createCommentVNode("",!0),t.createVNode(x,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:re[2]||(re[2]=xe=>q.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ve.BookIcon),{decorative:""}),t.createTextVNode(" "+t.toDisplayString(t.unref(a)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(le=e.config)!=null&&le.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(me.EntityToggleModal),{action:U.value.action,"entity-id":U.value.id,"entity-name":U.value.name,"entity-type":t.unref(a)("glossary.plugin"),"on-confirm":O,visible:I.value,onCancel:M,onProceed:M},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(me.EntityDeleteModal),{"action-pending":he.value,description:t.unref(a)("delete.description"),"entity-name":oe.value&&(oe.value.instance_name||oe.value.name||oe.value.id),"entity-type":t.unref(me.EntityTypes).Plugin,error:Z.value,title:t.unref(a)("delete.title"),visible:se.value,onCancel:ue,onProceed:de},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-582a936c"]]),$M={class:"plugin-select-card-wrapper"},BM=["data-testid"],VM={class:"plugin-card-header"},RM={class:"plugin-card-title"},DM={key:0,class:"plugin-card-actions"},MM=["data-testid","title"],LM={key:0,class:"plugin-card-text"},FM={key:0},UM=["title"],ws=Ie(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 o=n,r=e,i=xo.useRouter(),{i18n:{t:a}}=Ge.useI18n(),l=t.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=t.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=t.computed(()=>!!(m.value&&!p.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),u=()=>{i.push(r.config.getCreateRoute(r.plugin.id))},f=()=>{r.navigateOnClick?u():d()},d=()=>{o("plugin-clicked",r.plugin)},p=t.computed(()=>r.plugin.id==="custom-plugin-create"),m=t.computed(()=>r.config.app==="konnect"&&r.plugin.group===H.PluginGroup.CUSTOM_PLUGINS),y=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},_=(h,w)=>{const b=r.config;r.config.app==="konnect"&&typeof b.getCustomEditRoute=="function"&&b.getCustomEditRoute&&i.push(b.getCustomEditRoute(h,w))},g=()=>{if(!s.value&&r.config.app==="konnect"){const h=r.config;p.value&&h.createCustomRoute?i.push(h.createCustomRoute):m.value&&u()}};return(h,w)=>{const b=t.resolveComponent("KButton"),N=t.resolveComponent("KDropdownItem"),C=t.resolveComponent("KDropdownMenu"),k=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",$M,[t.createVNode(k,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=E=>s.value||m.value?void 0:f())},[t.createElementVNode("div",VM,[t.createElementVNode("div",RM,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!m.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",DM,[t.createVNode(C,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{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(ve.MoreIcon),{size:t.unref(md)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(N,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=t.withModifiers(E=>_(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(N,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(y,["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":m.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(a)("plugins.select.unavailable_tooltip"),onClick:g},[t.createVNode(t.unref(Ao.PluginIcon),{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||m.value&&!p.value?(t.openBlock(),t.createElementBlock("div",LM,[m.value&&!p.value?(t.openBlock(),t.createElementBlock("p",FM,t.toDisplayString(t.unref(a)("plugins.select.custom_badge_text")),1)):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,UM)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,MM),t.createElementVNode("div",{class:"plugin-card-footer",onClick:g},t.toDisplayString(p.value?t.unref(a)("actions.create_custom"):e.plugin.exists?t.unref(a)("actions.enabled"):t.unref(a)("actions.enable")),1)],10,BM)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),KM=Ie(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 y;const o=e,r=n,{i18nT:i,i18n:{t:a}}=Ge.useI18n(),{getMessageFromError:l}=me.useErrors(),{axiosInstance:s}=me.useAxios((y=o.config)==null?void 0:y.axiosRequestConfig),c=t.computed(()=>{var _;return d.value?a("delete.plugin_schema_in_use_title"):a("delete.title",{name:((_=o.plugin)==null?void 0:_.name)||a("delete.custom_plugin")})}),u=t.ref(!1),f=t.ref(""),d=t.ref(!1),p=t.computed(()=>{if(o.config.app==="konnect"){const _=o.plugin.customPluginType==="streaming"?We.select[o.config.app].streamingCustomPluginItem:We.select[o.config.app].schemaCustomPluginItem;let g=`${o.config.apiBaseUrl}${_}`;return g=g.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),g=g.replace(/{pluginId}/gi,o.plugin.id),g}return null}),m=async()=>{var _,g,h,w;if(u.value=!0,f.value="",!(!((_=o.plugin)!=null&&_.name)||((g=o.config)==null?void 0:g.app)!=="konnect"))try{p.value&&await s.delete(p.value),r("proceed")}catch(b){const{response:N}=b;(N==null?void 0:N.status)===400&&((w=(h=N.data)==null?void 0:h.message)!=null&&w.includes("plugin schema is currently in use"))?d.value=!0:f.value=l(b)}finally{u.value=!1}};return(_,g)=>{const h=t.resolveComponent("KButton"),w=t.resolveComponent("KModal");return!d.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(me.EntityDeleteModal),{key:0,"action-pending":u.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(a)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(me.EntityTypes).Plugin,error:f.value,"need-confirm":"",title:c.value,visible:"",onCancel:g[0]||(g[0]=b=>_.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(w,{key:1,"action-button-disabled":u.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:g[2]||(g[2]=b=>_.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(i),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(h,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:g[1]||(g[1]=b=>_.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),jM={class:"custom-plugins-grid"},GM={class:"empty-state-title"},qM={class:"empty-state-description"},ks=310,zM=Ie(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 o=e,r=n,{i18n:{t:i}}=Ge.useI18n(),{getTallestPluginCardHeight:a,getToggleVisibility:l}=Ge.usePluginHelpers(),s=t.ref(!0),c=C=>{r("plugin-clicked",C)},u=t.computed(()=>{if(o.config.app==="kongManager")return[];const C=JSON.parse(JSON.stringify(o.pluginList))[H.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:i("plugins.select.tabs.custom.create.name"),available:!0,group:H.PluginGroup.CUSTOM_PLUGINS,description:i("plugins.select.tabs.custom.create.description")}].concat(C):C}),f=t.ref(!1),d=t.ref(null),p=C=>{f.value=!0,d.value={id:C.id,name:C.name,customPluginType:C.customPluginType}},m=C=>{var k;C&&(r("revalidate"),r("delete:success",((k=d.value)==null?void 0:k.name)||"")),f.value=!1,d.value=null},y=t.ref(ks),_=t.ref(null),g=t.ref(null),h=t.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${y.value}px`}:{}),w=t.ref(!1),b=()=>{y.value=Math.max(a(g.value),ks),N()},N=()=>{var C,k;(C=g.value)!=null&&C.length&&(w.value=l(_.value,(k=g.value)==null?void 0:k.length))};return t.onMounted(async()=>{await t.nextTick(),y.value=Math.max(a(g.value),ks),N(),window==null||window.addEventListener("resize",b)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",b)}),(C,k)=>{const E=t.resolveComponent("KEmptyState"),v=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",jM,[u.value.length?(t.openBlock(),t.createBlock(v,{key:1,modelValue:s.value,"onUpdate:modelValue":k[0]||(k[0]=$=>s.value=$),class:"custom-plugins-collapse","data-testid":`${t.unref(H.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:t.unref(H.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.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:_,class:"plugin-card-container",style:t.normalizeStyle(h.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,($,K)=>(t.openBlock(),t.createBlock(ws,{key:`plugin-card-${K}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:$,onCustomPluginDelete:j=>p($),onPluginClicked:c},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[w.value?void 0:{name:"trigger",fn:t.withCtx(()=>[k[2]||(k[2]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(E,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",GM,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",qM,t.toDisplayString(t.unref(i)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),f.value&&d.value?(t.openBlock(),t.createBlock(KM,{key:2,config:e.config,plugin:d.value,onClosed:m,onProceed:k[1]||(k[1]=$=>m(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Cs=310,og=Ie(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}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const o=t.useModel(e,"modelValue"),r=e,i=n,{i18n:{t:a}}=Ge.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Ge.usePluginHelpers(),c=t.ref(Cs),u=t.ref(null),f=t.ref(null),d=t.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),p=t.ref(!1),m=()=>{c.value=Math.max(l(f.value),Cs),y()},y=()=>{var _,g;(_=f.value)!=null&&_.length&&(p.value=s(u.value,(g=f.value)==null?void 0:g.length))};return t.onMounted(async()=>{await t.nextTick(),c.value=Math.max(l(f.value),Cs),y(),window==null||window.addEventListener("resize",m)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(_,g)=>{const h=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(h,{modelValue:o.value,"onUpdate:modelValue":g[0]||(g[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.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(r.plugins,w=>(t.openBlock(),t.createBlock(ws,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:f,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:w,onPluginClicked:b=>i("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[p.value?void 0:{name:"trigger",fn:t.withCtx(()=>[g[1]||(g[1]=t.createTextVNode(" ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),HM={class:"plugin-select-grid"},YM={class:"empty-state-title"},WM={class:"empty-state-description"},Es=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},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const o=e,r=n,{i18n:{t:i}}=Ge.useI18n(),a=t.ref(!1),l=t.ref(As),s=u=>{r("plugin-clicked",u)},c=t.computed(()=>{const u=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete u[H.PluginGroup.CUSTOM_PLUGINS],u});return(u,f)=>{const d=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",HM,[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",YM,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",WM,t.toDisplayString(t.unref(i)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(og,{key:1,modelValue:a.value,"onUpdate:modelValue":f[0]||(f[0]=p=>a.value=p),config:e.config,name:o.highlightedPluginsTitle||t.unref(i)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:f[1]||(f[1]=p=>s(p))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(vs),p=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[p]?(t.openBlock(),t.createElementBlock("div",{key:p},[t.createVNode(og,{modelValue:l.value[p],"onUpdate:modelValue":m=>l.value[p]=m,config:e.config,name:p,"navigate-on-click":e.navigateOnClick,plugins:c.value[p]||[],onPluginClicked:f[2]||(f[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),XM={class:"kong-ui-entities-plugin-select-form"},ZM={class:"plugins-filter-input-container"},JM={key:0},QM={key:3,"aria-live":"polite",class:"plugins-results-container"},e2={"data-testid":"kong-tab"},t2={class:"tab-description"},n2={"data-testid":"custom-tab"},o2={class:"tab-description"},r2=Ie(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,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 A;const o=e,r=n,i=xo.useRoute(),a=xo.useRouter(),{i18n:{t:l}}=Ge.useI18n(),{pluginMetaData:s}=Ge.usePluginMetaData(),{getMessageFromError:c}=me.useErrors(),{sortAlpha:u,objectsAreEqual:f}=me.useHelpers(),d=t.ref(""),p=t.ref(!0),m=t.ref(!1),y=t.ref(""),_=t.ref([]),g=t.ref([]),h=t.ref({}),w=t.ref([]),{axiosInstance:b}=me.useAxios((A=o.config)==null?void 0:A.axiosRequestConfig),N=t.computed(()=>h.value?Object.entries(h.value).filter(([P])=>P!==H.PluginGroup.CUSTOM_PLUGINS).reduce((P,[,T])=>{for(const Y of T)P[Y.id]=Y;return P},{}):{}),C=t.computed(()=>{var Y;if(!h.value)return{};const P=d.value.toLowerCase(),T=JSON.parse(JSON.stringify(h.value));for(const z in h.value){const ne=((Y=h.value[z])==null?void 0:Y.filter(oe=>oe.name.toLowerCase().includes(P)||oe.id.toLowerCase().includes(P)||oe.group.toLowerCase().includes(P)))||[];ne.length?T[z]=ne:delete T[z]}return T}),k=t.computed(()=>o.highlightedPluginIds.reduce((P,T)=>{const Y=N.value[T];return Y&&P.push(Y),P},[])),E=t.computed(()=>Object.keys(C.value).length>0),v=t.computed(()=>Object.keys(h.value).length>0&&!E.value),$=t.computed(()=>o.config.app==="konnect"?[{hash:"#kong",title:l("plugins.select.tabs.kong.title")},{hash:"#custom",title:l("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(o.customPluginSupport)}]:[]),K=t.computed(()=>{var T;let P=$.value.length&&((i==null?void 0:i.hash)||((T=$.value[0])==null?void 0:T.hash))||"";return P==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(P="#kong"),P}),j=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),..._.value])].filter(P=>!o.ignoredPlugins.includes(P)).filter(P=>o.config.entityType&&(o.config.entityType==="services"&&s[P]&&!s[P].scope.includes(H.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[P]&&!s[P].scope.includes(H.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[P]&&!s[P].scope.includes(H.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[P]&&!s[P].scope.includes(H.PluginScope.CONSUMER))?!1:P).reduce((P,T)=>{var se;const Y=s[T]&&s[T].name||T,z={...s[T],id:T,name:Y,available:_.value.includes(T),disabledMessage:"",group:((se=s[T])==null?void 0:se.group)||H.PluginGroup.CUSTOM_PLUGINS};z.group===H.PluginGroup.CUSTOM_PLUGINS&&(z.customPluginType=g.value.find(he=>he.name===T)?"streaming":"schema"),o.disabledPlugins&&(z.disabledMessage=o.disabledPlugins[T]);const ne=z.group||l("plugins.select.misc_plugins");let oe=P[ne];return oe||(oe=[]),oe.push(z),oe.sort(u("name")),P[ne]=oe,P},{}),S=t.computed(()=>{var T;let P=`${o.config.apiBaseUrl}${We.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(P=((T=o.config.gatewayInfo)==null?void 0:T.edition)==="community"?`${o.config.apiBaseUrl}${We.select[o.config.app].availablePluginsForOss}`:P.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),P}),Q=t.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let P=`${o.config.apiBaseUrl}${We.select[o.config.app].streamingCustomPlugins}`;return P=P.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),P}return null}),I=t.computed(()=>{if(o.config.entityType&&o.config.entityId){let P=`${o.config.apiBaseUrl}${We.list[o.config.app].forEntity}`;return o.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),P.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),G=P=>{a.replace({hash:P,query:i.query})};t.watch(()=>o.disabledPlugins,(P,T)=>{!f(P,T)&&!p.value&&(h.value=j())}),t.watch(()=>o.ignoredPlugins,(P,T)=>{!f(P,T)&&!p.value&&(h.value=j())}),t.watch(p,P=>{r("loading",P)});const U=t.ref(!1),ee=t.ref(!1),M=t.ref(!1);t.onBeforeMount(async()=>{U.value=await o.canCreateCustomPlugin(),ee.value=await o.canEditCustomPlugin(),M.value=await o.canDeleteCustomPlugin()});const O=t.useTemplateRef("filter-input");return t.onMounted(async()=>{var P,T;(T=(P=O.value)==null?void 0:P.input)==null||T.focus();try{const{data:Y}=await b.get(S.value);if(o.config.app==="konnect"){const{names:z}=Y;if(_.value=z||[],Q.value){const{data:ne}=await b.get(Q.value);g.value=ne.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:z}}=Y;_.value=z?Object.keys(z):[]}}catch(Y){m.value=!0,y.value=c(Y)}if(I.value)try{const{data:{data:Y}}=await b.get(I.value);if(Y!=null&&Y.length){const z=Y.reduce((ne,oe)=>(oe.name&&ne.push(oe.name),ne),[]);w.value=w.value.concat(z)}}catch{}m.value||(h.value=j()),p.value=!1}),(P,T)=>{const Y=t.resolveComponent("KInput"),z=t.resolveComponent("KSkeletonBox"),ne=t.resolveComponent("KSkeleton"),oe=t.resolveComponent("KEmptyState"),se=t.resolveComponent("KTooltip"),he=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",XM,[t.createElementVNode("div",ZM,[t.createVNode(Y,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":T[0]||(T[0]=Z=>d.value=Z),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),p.value?(t.openBlock(),t.createElementBlock("section",JM,[t.createVNode(z,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(ne,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(t.openBlock(),t.createBlock(oe,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(y.value),1)]),_:1})):v.value&&d.value?(t.openBlock(),t.createBlock(oe,{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(l)("search.no_results",{filter:d.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",QM,[$.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(he,{key:0,modelValue:K.value,"onUpdate:modelValue":T[5]||(T[5]=Z=>K.value=Z),"data-testid":"plugins-tabs",tabs:$.value,onChange:G},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",e2,[t.createElementVNode("p",t2,t.toDisplayString(t.unref(l)("plugins.select.tabs.kong.description")),1),t.createVNode(Es,{config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":C.value,onPluginClicked:T[1]||(T[1]=Z=>P.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",n2,[t.renderSlot(P.$slots,"before-custom-tab-content",{},void 0,!0),t.createElementVNode("p",o2,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.description")),1),t.createVNode(zM,{"can-create-custom-plugin":U.value,"can-delete-custom-plugin":M.value,"can-edit-custom-plugin":ee.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":C.value,"onDelete:success":T[2]||(T[2]=Z=>P.$emit("delete-custom:success",Z)),onPluginClicked:T[3]||(T[3]=Z=>P.$emit("plugin-clicked",Z)),onRevalidate:T[4]||(T[4]=()=>h.value=j())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(se,{"max-width":"300",text:t.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Es,{key:1,config:e.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":C.value,onPluginClicked:T[6]||(T[6]=Z=>P.$emit("plugin-clicked",Z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-7b1adaaa"]]),i2={class:"datakit-config-card-canvas"},a2={class:"config-card-details-label","data-testid":"datakit-configuration-label"},l2={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},s2={class:"canvas-wrapper"},c2=Ie(t.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{}},setup(e){return Lu(e.pluginData),(n,o)=>{const r=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",i2,[t.createElementVNode("div",a2,[t.createVNode(r,null,{default:t.withCtx(()=>o[0]||(o[0]=[t.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])),_:1,__:[0]})]),t.createElementVNode("div",l2,[t.createElementVNode("div",s2,[t.createVNode(gs,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])}}}),[["__scopeId","data-v-591ec060"]]),d2={class:"kong-ui-entity-plugin-config-card"},u2={class:"name-cell-wrapper"},f2={class:"info-name"},p2={key:0},m2={key:0},g2={key:0},h2={key:0},y2={key:0},Ns="config",_2=Ie(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:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var k;const o=n,r=e,{i18n:{t:i}}=Ge.useI18n(),a=Ge.usePluginMetaData(),{setFieldType:l}=Ge.usePluginHelpers(),{getPropValue:s}=me.useHelpers(),c=t.computed(()=>r.config.app==="konnect"),u=t.computed(()=>c.value&&r.config.pluginType==="datakit"),f=t.computed(()=>{var v;let E=(v=We.item[r.config.app])==null?void 0:v[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(c.value){const $=r.expandPartial?"&":"?";E=E.concat(`${$}__ui_data=true`)}return E}),d=t.computed(()=>{var $,K;const E={},v=(($=b.value)==null?void 0:$.fields)||[];for(let j=0;j<v.length;j++){const S=b.value.fields[j],Q=(K=Object.keys(S))==null?void 0:K[0];l(E,Q,S[Q])}return{...E,instance_name:{section:me.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:i("plugins.fields.consumer"),section:me.ConfigurationSchemaSection.Basic,order:6},route:{label:i("plugins.fields.route"),section:me.ConfigurationSchemaSection.Basic,order:6},service:{label:i("plugins.fields.service"),section:me.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:i("plugins.fields.consumer_group"),section:me.ConfigurationSchemaSection.Basic,order:6},protocols:{type:me.ConfigurationSchemaType.BadgeTag,section:me.ConfigurationSchemaSection.Basic,order:7}}}),p=t.computed(()=>{var v,$,K;if(!((v=b.value)!=null&&v.fields))return[];const E=($=b.value.fields)==null?void 0:$.find(j=>{var Q;return((Q=Object.keys(j))==null?void 0:Q[0])===Ns});return((K=E==null?void 0:E[Ns])==null?void 0:K.fields)||[]}),m=t.computed(()=>{var v,$;const E={};if(!p.value)return E;for(let K=0;K<((v=p.value)==null?void 0:v.length);K++){const j=p.value[K],S=($=Object.keys(j))==null?void 0:$[0],Q=j[S];Q.required&&(E[S]={order:1}),l(E,S,Q)}return E}),y=E=>{var $;const v=($=a.pluginMetaData[r.config.pluginType])==null?void 0:$.scope;return v?Object.fromEntries(Object.entries(E).filter(([K,j])=>j?!0:!(K==="service"&&!v.includes(H.PluginScope.SERVICE)||K==="route"&&!v.includes(H.PluginScope.ROUTE)||K==="consumer"&&!v.includes(H.PluginScope.CONSUMER)||K==="consumer_group"&&!v.includes(H.PluginScope.CONSUMER_GROUP)))):E},_=E=>Mo(E,"__ui_data"),{getMessageFromError:g}=me.useErrors(),{axiosInstance:h}=me.useAxios((k=r.config)==null?void 0:k.axiosRequestConfig),w=t.computed(()=>{var v,$;let E=`${r.config.apiBaseUrl}${We.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?E=E.replace(/{controlPlaneId}/gi,((v=r.config)==null?void 0:v.controlPlaneId)||""):r.config.app==="kongManager"&&(E=E.replace(/\/{workspace}/gi,($=r.config)!=null&&$.workspace?`/${r.config.workspace}`:"")),E=E.replace(/{plugin}/gi,r.config.pluginType),E}),b=t.ref({});me.useSchemaProvider(b);const N=t.ref(!1),C=t.ref("");return t.onBeforeMount(async()=>{N.value=!0;try{const{data:E}=await h.get(w.value);b.value=E}catch(E){C.value=g(E),o("error:fetch-schema",E)}finally{N.value=!1}}),(E,v)=>{const $=t.resolveComponent("KSkeleton"),K=t.resolveComponent("KEmptyState"),j=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",d2,[N.value?(t.openBlock(),t.createBlock($,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):C.value?(t.openBlock(),t.createBlock(K,{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(me.EntityBaseConfigCard),{key:2,"code-block-record-formatter":_,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"entity-type":t.unref(me.SupportedEntityType).Plugin,"fetch-url":f.value,"hide-title":e.hideTitle,"plugin-config-key":Ns,"plugin-config-schema":m.value,"record-resolver":y,"onFetch:error":v[0]||(v[0]=S=>E.$emit("fetch:error",S)),"onFetch:success":v[1]||(v[1]=S=>E.$emit("fetch:success",S)),onLoading:v[2]||(v[2]=S=>E.$emit("loading",S))},t.createSlots({name:t.withCtx(S=>[t.createElementVNode("div",u2,[t.createVNode(t.unref(Ao.PluginIcon),{class:"plugin-icon",name:t.unref(s)("rowValue",S),size:24},null,8,["name"]),t.createElementVNode("span",f2,t.toDisplayString(t.unref(a).getDisplayName(t.unref(s)("rowValue",S))),1)])]),consumer:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(s)("rowValue",S).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"consumer-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",p2,"–"))]),route:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(s)("rowValue",S).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"route-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",m2,"–"))]),service:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(s)("rowValue",S).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"service-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",g2,"–"))]),consumer_group:t.withCtx(S=>[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:t.unref(s)("rowValue",S).id,value:t.unref(s)("rowValue",S).id,type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(s)("rowValue",S).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(s)("rowValue",S).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",h2,"–"))]),partials:t.withCtx(S=>{var Q,I,G,U,ee,M,O,A,P;return[t.unref(s)("rowValue",S)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(me.InternalLinkItem),{key:1,item:{key:(I=(Q=t.unref(s)("rowValue",S))==null?void 0:Q[0])==null?void 0:I.id,value:((U=(G=t.unref(s)("rowValue",S))==null?void 0:G[0])==null?void 0:U.id)+((M=(ee=t.unref(s)("rowValue",S))==null?void 0:ee[0])!=null&&M.name?"/"+((A=(O=t.unref(s)("rowValue",S))==null?void 0:O[0])==null?void 0:A.name):""),type:t.unref(me.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var T,Y;return E.$emit("navigation-click",(Y=(T=t.unref(s)("rowValue",S))==null?void 0:T[0])==null?void 0:Y.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(j,{key:2,"copy-tooltip":t.unref(i)("copy.tooltip",{label:t.unref(s)("row",S).label}),"data-testid":"partial-copy-uuid",text:(P=t.unref(s)("rowValue",S))==null?void 0:P[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",y2,"–"))]}),_:2},[u.value?{name:"config-card-item-nodes",fn:t.withCtx(S=>[t.createVNode(c2,{"plugin-data":S.record},null,8,["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-a5302acb"]]),{usePluginMetaData:b2,useProvideExperimentalFreeForms:w2}=Ge;Object.defineProperty(Pe,"PluginGroup",{enumerable:!0,get:()=>H.PluginGroup}),Object.defineProperty(Pe,"PluginScope",{enumerable:!0,get:()=>H.PluginScope}),Object.defineProperty(Pe,"PluginIcon",{enumerable:!0,get:()=>Ao.PluginIcon}),Object.defineProperty(Pe,"getPluginIconURL",{enumerable:!0,get:()=>Ao.getPluginIconURL}),Pe.EXPERIMENTAL_FREE_FORM_PROVIDER=va,Pe.EntityTypeIdField=wn,Pe.FEATURE_FLAGS=eo,Pe.PLUGIN_GROUPS_COLLAPSE_STATUS=As,Pe.PluginConfigCard=_2,Pe.PluginForm=EM,Pe.PluginGroupArray=vs,Pe.PluginList=OM,Pe.PluginPartialType=Cr,Pe.PluginSelect=r2,Pe.PluginSelectCard=ws,Pe.PluginSelectGrid=Es,Pe.TOASTER_PROVIDER=Hc,Pe.pluginEndpoints=We,Pe.usePluginMetaData=b2,Pe.useProvideExperimentalFreeForms=w2,Object.defineProperty(Pe,Symbol.toStringTag,{value:"Module"})});
|