@kong-ui-public/entities-plugins 9.161.2 → 9.162.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,39 +1,39 @@
1
- (function(we,e){typeof exports=="object"&&typeof module<"u"?e(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("@vueuse/core"),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("@kong-ui-public/monaco-editor"),require("@kong-ui-public/monaco-editor/dist/runtime/style.css"),require("@vue-flow/core"),require("@vue-flow/background"),require("@vue-flow/controls"),require("@vue-flow/controls/dist/style.css"),require("@vue-flow/core/dist/style.css"),require("@vue-flow/core/dist/theme-default.css"),require("shiki"),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","@vueuse/core","@kong/icons","@kong/kongponents","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","monaco-editor","@kong-ui-public/monaco-editor","@kong-ui-public/monaco-editor/dist/runtime/style.css","@vue-flow/core","@vue-flow/background","@vue-flow/controls","@vue-flow/controls/dist/style.css","@vue-flow/core/dist/style.css","@vue-flow/core/dist/theme-default.css","shiki","zod","@kong-ui-public/entities-plugins-icon"],e):(we=typeof globalThis<"u"?globalThis:we||self,e(we["kong-ui-public-entities-plugins"]={},we.Vue,we["kong-ui-public-entities-shared"],we.marked,we.VueRouter,we["kong-ui-public-i18n"],we.entitiesPluginsMetadata,we.forms,we.entitiesVaults,null,we.core$1,we.KongIcons,we.Kongponents,we.entitiesRedisConfigurations,null,we.monaco,we.monacoEditor,null,we.core$2,we.background,we.controls,null,null,null,we.shiki,we.zod,we.entitiesPluginsIcon))})(this,(function(we,e,oe,Po,cn,Ze,R,Le,Xn,WT,Ye,fe,Oe,Ni,YT,bu,xi,JT,Ke,ku,Ai,XT,ZT,QT,wu,O,dn){"use strict";var zT=Object.defineProperty;var HT=(we,e,oe)=>e in we?zT(we,e,{enumerable:!0,configurable:!0,writable:!0,value:oe}):we[e]=oe;var at=(we,e,oe)=>HT(we,typeof e!="symbol"?e+"":e,oe);function Cu(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const Io=Cu(bu),et={actions:{cancel:"Cancel",view_configuration:"View Configuration",create:"New plugin",create_custom:"Create",configure:"Configure",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",delete:"Delete",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",deck:"decK"},delete:{title:"Delete a Plugin",custom_title:"Delete {name}",custom_plugin:"Custom Plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to Delete Custom Plugin",plugin_schema_in_use_message:"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",search_plugins:"Search plugins"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},labels:{new:"New"},plugins:{title:"Plugins",list:{toolbar_actions:{new_plugin:"New plugin"},table_headers:{applied_to:"Applied To",applied_to_badges:{consumer:"Consumer",global:"Global",route:"Route",service:"Service",consumer_group:"Consumer Group"},id:"ID",name:"Name",instance_name:"Instance Name",ordering:"Ordering",ordering_badge:{dynamic:"Dynamic",static:"Static"},enabled:"Enabled",tags:"Tags"},empty_state:{title:"Configure a New Plugin",description:"Plugins are used to extend Kong functionality."},empty_state_v2:{title:"Configure your first plugin",description:"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.",create_cta:"New plugin",group:"Plugins created in gateways within this group will automatically appear here.",learn_more:"Learn more"}},meta:{"basic-auth":{name:"Basic Authentication",credential_name:"Basic Auth Credential",description:"Add Basic Authentication to your Services"},"hmac-auth":{name:"HMAC Authentication",credential_name:"HMAC Credential",description:"Add HMAC Authentication to your Services"},"jwt-signer":{name:"JWT Signer",description:"Verify and (re-)sign one or two tokens in a request"},jwt:{name:"JWT",credential_name:"JWT Credential",description:"Verify and authenticate JSON Web Tokens"},"key-auth":{name:"Key Authentication",credential_name:"Key Auth Credential",description:"Add key authentication to your Services"},"key-auth-enc":{name:"Key Authentication Encrypted",credential_name:"Key Auth Encrypted",description:"Add key authentication to your Services with an encrypted token"},"ldap-auth-advanced":{name:"LDAP Authentication Advanced",description:"Integrate Kong with a LDAP server"},"ldap-auth":{name:"LDAP Authentication",description:"Integrate Kong with a LDAP server"},"oauth2-introspection":{name:"OAuth 2.0 Introspection",description:"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},oauth2:{name:"OAuth 2.0 Authentication",credential_name:"OAuth 2.0 Application",description:"Add OAuth 2.0 authentication to your Services"},"openid-connect":{name:"OpenID Connect",description:"Integrate Kong with a third-party OpenID Connect 1.0 Provider"},"mtls-auth":{name:"Mutual TLS Authentication",description:"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{name:"Vault Authentication",description:"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{name:"Bot Detection",description:"Detect and clock bots or custom clients"},cors:{name:"CORS",description:"Allow developers to make requests from the browser"},"ip-restriction":{name:"IP Restriction",description:"Whitelist or blacklist IPs that can make requests"},opa:{name:"OPA",description:"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{name:"Kubernetes Sidecar Injector",description:"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{name:"Request Validator",description:"Validate requests before they reach their upstream Service."},acl:{name:"ACL",credential_name:"Access Control Group",description:"Control which consumers can access Services"},canary:{name:"Canary Release",description:"Methodically roll out software changes to a subset of users"},"forward-proxy":{name:"Forward Proxy",description:"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{name:"Proxy Caching",description:"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{name:"Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{name:"GraphQL Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{name:"Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{name:"Rate Limiting",description:"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{name:"GraphQL Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},mocking:{name:"Mocking",description:"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{name:"Request Size Limiting",description:"Block requests with bodies greater than a specific size"},"request-termination":{name:"Request Termination",description:"Terminate all requests with a specific response"},"response-ratelimiting":{name:"Response Rate Limiting",description:"Rate-Limiting based on a custom response header value"},"route-by-header":{name:"Route by Header",description:"Route requests based on request headers"},"ai-proxy":{name:"AI Proxy",description:"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{name:"AI Prompt Decorator",description:"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{name:"AI Prompt Template",description:"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{name:"AI Prompt Guard",description:"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{name:"AI Request Transformer",description:"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{name:"AI Response Transformer",description:"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{name:"AI Rate Limiting Advanced",description:"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{name:"AI Azure Content Safety",description:"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{name:"AWS Lambda",description:"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{name:"Azure Functions",description:"Invoke Azure functions"},openwhisk:{name:"OpenWhisk",description:"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{name:"Kong Functions (Pre-Plugins)",description:"Add and manage custom lua functions to run before other plugins"},"post-function":{name:"Kong Functions (Post-Plugins)",description:"Add and manage custom lua functions to run after other plugins"},datadog:{name:"Datadog",description:"Visualize metrics on Datadog"},prometheus:{name:"Prometheus",description:"Export performance metrics to Prometheus"},zipkin:{name:"Zipkin",description:"Propagate zipkin spans and report spans to a zipkin server"},collector:{name:"Collector",description:"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{name:"Response Transformer Advanced",description:"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{name:"Correlation ID",description:"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{name:"Request Transformer Advanced",description:"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{name:"Request Transformer",description:"Modify the request before hitting the upstream server"},"response-transformer":{name:"Response Transformer",description:"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{name:"Route Transformer Advanced",description:"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{name:"Kafka Upstream",description:"Transform requests into Kafka messages in a topic"},degraphql:{name:"DeGraphQL",description:"Transform a GraphQL upstream into a REST API"},"exit-transformer":{name:"Exit Transformer",description:"Customize Kong exit responses sent downstream"},jq:{name:"jq",description:"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{name:"File Log",description:"Append request and response data to a log file on disk"},"http-log":{name:"HTTP Log",description:"Send request and response logs to an HTTP server"},loggly:{name:"Loggly",description:"Send request and response logs to Loggly"},"statsd-advanced":{name:"StatsD Advanced",description:"Send traffic and Kong performance metrics to StatsD"},statsd:{name:"StatsD",description:"Send request and response logs to StatsD"},syslog:{name:"Syslog",description:"Send request and response logs to Syslog"},"tcp-log":{name:"TCP Log",description:"Send request and response logs to a TCP server"},"udp-log":{name:"UDP Log",description:"Send request and response logs to a UDP server"},"kafka-log":{name:"Kafka Log",description:"Publish request and response logs to a Kafka topic"},session:{name:"Session",description:"Sessions for Kong authentication"},"upstream-tls":{name:"Upstream TLS",description:"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{name:"Portal Application Registration",description:"Allow portal developers to register applications against services"},"konnect-application-auth":{name:"Konnect Application Auth",description:"Allow Konnect portal developers to register applications against services"},acme:{name:"ACME",description:"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{name:"gRPC Gateway",description:"Access gRPC services through HTTP REST"},"grpc-web":{name:"gRPC Web",description:"Allow browser clients to call gRPC services"},"upstream-timeout":{name:"Upstream Timeout",description:"Configure read, send and connect timeouts to an upstream"},opentelemetry:{name:"OpenTelemetry",description:"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{name:"WebSocket Validator",description:"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{name:"WebSocket Size Limit",description:"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{name:"TLS Metadata Headers",description:"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{name:"TLS Handshake Modifier",description:"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{name:"OAS Validation",description:"Validate HTTP requests and responses based on an API Specification."},"jwe-decrypt":{name:"Kong JWE Decrypt",description:"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{name:"XML Threat Protection",description:"Reduce the risk of XML attacks by checking the structure of XML payloads."},saml:{name:"SAML",description:"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{name:"AppDynamics",description:"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{name:"JSON Threat Protection",description:"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{name:"Standard Webhooks",description:"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{name:"AI Proxy Advanced",description:"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{name:"AI Semantic Cache",description:"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{name:"AI Semantic Prompt Guard",description:"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{name:"Header Certificate Authentication",description:"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{name:"Upstream OAuth",description:"Configure Kong to obtain a OAuth2 token to consume an upstream API"},confluent:{name:"Confluent",description:"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{name:"Service Protection",description:"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{name:"Injection Protection",description:"Protect against injection attacks by rejecting requests that match common injections patterns."},redirect:{name:"Redirect",description:"Redirect incoming requests to a new URL"},"kafka-consume":{name:"Kafka Consume",description:"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{name:"Confluent Consume",description:"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{name:"Request Callout",description:"Callout to third party APIs as part of request processing."},"ai-sanitizer":{name:"AI Sanitizer",description:"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{name:"AI RAG Injector",description:"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},datakit:{name:"Datakit",description:"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{name:"AI Prompt Compressor",description:"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{name:"Solace Upstream",description:"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{name:"AI AWS GuardRails",description:"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."},ace:{name:"Konnect Access Control Enforcement",description:"Enable Developer Self-Service for Konnect Dev Portals."},"solace-consume":{name:"Solace Consume",description:"Consume messages from Solace and make them available through HTTP endpoints."},"solace-log":{name:"Solace Log",description:"Publish request and response logs to a Solace topic."},"ai-llm-as-judge":{name:"AI LLM Judge",description:"Evaluate LLM responses with an external LLM service and use accuracy scores to drive dynamic load balancing for `llm/v1/chat` requests."},"ai-mcp-proxy":{name:"AI MCP Proxy",description:"Convert APIs into MCP tools, proxy MCP servers, expose multiple MCP tools, and observe MCP traffic in real time."},"ai-gcp-model-armor":{name:"AI GCP Model Armor",description:"Audit and validate AI Proxy messages with Google Cloud Model Armor before forwarding them to an upstream LLM."},"ai-mcp-oauth2":{name:"AI MCP OAuth2",description:"Secure MCP server access with OAuth2 authentication."},"ai-semantic-response-guard":{name:"AI Semantic Response Guard",description:"Permit or block prompts based on semantic similarity to known LLM responses, preventing misuse of `llm/v1/chat` or `llm/v1/completions` requests."},"ai-lakera-guard":{name:"AI Lakera Guard",description:"Audit and enforce safety policies on LLM requests and responses using the AI AWS Lakera plugin before they reach upstream LLMs."},"ai-a2a-proxy":{name:"AI A2A Proxy",description:"Securely proxy A2A Agents, with real-time RPC tracing and monitoring."},"ai-custom-guardrail":{name:"AI Custom Guardrail",description:"Integrate with any 3rd-party Guardrail service, with customizable enforcement modes — choose whether violations block, log, or allow traffic to proceed."},"metering-billing":{name:"Metering & Billing",description:"Meter API requests and AI token usage for usage-based billing. Supports flexible customer identification, custom pricing dimensions, and fine-grained traffic filtering. Integrates natively with Konnect Metering & Billing."}},fields:{service:"Service ID",route:"Route ID",consumer:"Consumer ID",consumer_group:"Consumer Group ID"},select:{custom_badge_text:"This plugin is data plane node specific",unavailable_tooltip:"This plugin is not available",already_exists:"This plugin is already applied to this resource",misc_plugins:"Other Plugins",show_all:"Show all",view_more:"View more",view_less:"View less",filter:{title:"Filter Plugins",featured:"Featured",type:"Type"},list:{table_headers:{name:"Plugin",description:"Description"}},tabs:{kong:{title:"Kong Plugins",description:"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.",empty_title:"No Plugins",empty_description:"No plugins are available."},custom:{title:"Custom Plugins",description:"Custom plugins will be available in this control plane only.",disabled_tooltip:"Custom Plugins are not available with this Gateway. Create a Hybrid or Dedicated Cloud Gateway to leverage Custom Plugins.",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"},plugin_status:{label:"Plugin status",text_on:"Enabled",text_off:"Disabled"},instance_name:{label:"Name",placeholder:"Enter a unique name",help:"A custom name for this plugin instance to help with identifying from the list view."},protocols:{label:"Protocols",placeholder:"Select valid protocols for the plugin",placeholderWithDefaultValues:"Select valid protocols for the plugin. Default protocols: {protocols}",help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},tags:{label:"Tags",help:"An optional set of strings for grouping and filtering, separated by commas.",placeholder:"Tag1, Tag2, Tag3"}},scoping:{label:"Scoped",placeholder:"Search by name or UUID",disable_global_radio:"The plugin is set to 'Scoped' by default. To apply a plugin globally, please navigate to the global plugin list page.",global:{label:"Global",help:"All services, routes, and consumers"},gateway_service:{label:"Select a gateway service",help:"The Gateway Service to which this plugin configuration will apply",placeholder:"Select a Gateway Service",plural:"Gateway Services"},route:{label:"Select a route",help:"The Route that this Plugin configuration will target",placeholder:"Select a Route",plural:"Routes"},consumer:{label:"Select a consumer",help:"The Consumer that this plugin configuration will target",placeholder:"Select a Consumer",plural:"Consumers"},consumer_group:{label:"Select a consumer group",help:"The Consumer Group that this plugin configuration will target",placeholder:"Select a Consumer Group",plural:"Consumer Groups"}},grouping:{plugin_configuration:{title:"Plugin Configuration",description:"Configuration parameters for this plugin. View advanced parameters for extended configuration.",empty:"This plugin does not have required parameters."},advanced_parameters:{view:"Show additional settings",hide:"Hide additional settings"}},field_rules:{at_least_one_of:"At least one of the following values is required: {parameters}.",only_one_of:"Exactly one of these parameters is required: {parameters}",mutually_required:"These values must be used together: {parameters}.",mutually_exclusive:"Only one of these values can be used: {parameters}.",only_one_of_mutually_required:"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},sections:{plugin_scope:{title:"Plugin scope",description:"Choose whether this plugin applies to all traffic (global) or is scoped to a specific service, route, or consumer."},general_info:{title:"General information",description:"Add details to help identify and manage your plugin."},plugin_config:{title:"Plugin configuration",description:"Set the plugin's behavior by defining its configuration settings."},plugin_general_info:{description:"Add a name or tags to help you identify and manage this plugin later."},code_mode:{title:"Code editor",description:"Configure this plugin by using YAML configuration."}}},"free-form":{editor_mode:{visual:"Visual editor",code:"Code editor"},"ai-mcp-proxy":{default_acl_item_label:"Default ACL #{index}",tool_item_label:"Tool #{index}"},"request-callout":{entity_name:"Request callout",by_lua_placeholder:"Enter Lua script here..."},datakit:{plugin_config:{title:"Flow editor"},description_code:"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.",description_flow:"Build flows visually with a drag-and-drop editor for Datakit. Visualize node connections, inputs, and outputs as you design.",description_example:"Start with a use case:",detected_config_format:"Detected {format} configuration. Do you want to convert it to Datakit configuration?",detected_config_format_title:"Convert configuration",detected_config_format_confirm:"Convert",examples:{authenticate:"Authenticate Kong to a third-party service",vault:"Authenticate to a third-party service using vault secrets",combine:"Combine multiple API responses",cache:"Conditionally fetch or store cache data",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 due to critical configuration errors or features not supported in the flow editor:<br/><code>{reason}</code>",expand_panel:"Expand panel",collapse_panel:"Collapse panel",return_to_config:"Return to plugin configuration",canvas_panel:{request:"Request",response:"Response",node_count_plural:"{count} nodes",node_count_singular:"1 node"},panel_segments:{nodes:"Nodes",resources:{title:"Resources",vault:{title:"Vault secrets",add_button:"Add vault resource",name_exists_error:"Vault name already exists",name_required_error:"Vault name is required",edit:"Edit",delete:"Delete"},cache:{title:"Cache configuration",add_button:"Add cache configuration",strategy_options:{memory:"Memory",redis:"Redis"},select_redis_configuration:"Select a shared Redis configuration",inline_config:"Inline config",inline_config_preview:"You are using a dedicated Redis configuration, This is a preview of your current setup, please edit it in code editor"}}},vault_secret_picker:{title:"Add secret to Datakit",proceed_button_text:"Add secret",secret_name:{label:"Secret name",placeholder:"Enter a name",help:"A unique identifier for this secret in your Datakit configuration"}},node_panel:{title:"Node types",description:"Drag a node onto the canvas to add it to your data flow."},examples:"Examples",debug:{label:"Debug",description:'Enables detailed error messages in client responses, making debugging easier. <a href="https://developer.konghq.com/plugins/datakit/#debugging" target="_blank">See the docs</a> for details.'},actions:{zoom_in:"Zoom in",zoom_out:"Zoom out",fit_view:"Zoom to fit",auto_layout:"Auto layout",undo:"Undo",redo:"Redo",duplicate:"Duplicate",remove_from_branch:"Remove from branch",delete:"Delete",view_docs:"View docs",done:"Done"},node_types:{call:{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 <code>jq</code> node executes a jq script for processing JSON. See the official <a href="https://jqlang.org" target="_blank">jq docs</a> for more details.'},exit:{name:"exit",summary:"Return 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 Kong Gateway-specific data",description:"Get and set Kong Gateway host and request properties."},static:{name:"static",summary:"Configure static input values ahead of time",description:"Emits static values to be used as inputs for other nodes. The <code>static</code> node can help you with hardcoding some known value for an input."},branch:{name:"branch",summary:"Execute nodes based on matching input conditions",description:"Execute different nodes based on matching input conditions, such as a cache hit or miss."},cache:{name:"cache",summary:"Store and fetch cached data",description:"Store data into cache and fetch cached data from cache."},xml_to_json:{name:"xml_to_json",summary:"Transform XML to JSON",description:"Transform XML to JSON."},json_to_xml:{name:"json_to_xml",summary:"Transform JSON to XML",description:"Transform JSON to XML."},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 {minLength} and {maxLength} characters",reserved_node_name:'"{nodeName}" is a reserved node name',attributes_required:"Provide at least one of attributes_block_name or attributes_name_prefix"}},error:{invalid_connection:"Invalid connection",branch_cycle:"Cannot create a circular branch relationship"},confirm:{title:"Connection conflict",message:{confirm:"Are you sure you want to make this change?",switch:"You can connect an output source to either all inputs of a node or to individual inputs.",override:"Each input can connect to only one output, but one output can connect to many inputs.",branch_replace:"This node already belongs to another branch. Move it to the new branch?"},proceed:"Yes, update"},leave_confirm:"Leave current page? Changes you made may not be saved."},code_editor:{mode:"Code editor"}},vault_picker:{component_error:"The vault secret picker is not available"},tag_helper:"Use comma to separate values. eg: value1, value2",foreign_placeholder:"Enter a UUID of {entity}"}},redis:{title:"Redis Configuration",shared_configuration:{label:"Shared configuration",description:"Select an existing shared Redis configuration or create a new one. Changes to this configuration automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed."},dedicated_configuration:{label:"Dedicated configuration",description:"Create a Redis configuration that is used only by this plugin. Changes won’t affect other plugins."},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current Control Plane",cp_group_label:"Control Plane",realm_group_label:"Realms (Can only select one)"}},sp:{window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window&#39;s counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error message",code_placeholder:"Code message",message_placeholder:"Error message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
1
+ (function(ke,e){typeof exports=="object"&&typeof module<"u"?e(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("@vueuse/core"),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("@kong-ui-public/monaco-editor"),require("@kong-ui-public/monaco-editor/dist/runtime/style.css"),require("@vue-flow/core"),require("@vue-flow/background"),require("@vue-flow/controls"),require("@vue-flow/controls/dist/style.css"),require("@vue-flow/core/dist/style.css"),require("@vue-flow/core/dist/theme-default.css"),require("shiki"),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","@vueuse/core","@kong/icons","@kong/kongponents","@kong-ui-public/entities-redis-configurations","@kong-ui-public/entities-redis-configurations/dist/style.css","monaco-editor","@kong-ui-public/monaco-editor","@kong-ui-public/monaco-editor/dist/runtime/style.css","@vue-flow/core","@vue-flow/background","@vue-flow/controls","@vue-flow/controls/dist/style.css","@vue-flow/core/dist/style.css","@vue-flow/core/dist/theme-default.css","shiki","zod","@kong-ui-public/entities-plugins-icon"],e):(ke=typeof globalThis<"u"?globalThis:ke||self,e(ke["kong-ui-public-entities-plugins"]={},ke.Vue,ke["kong-ui-public-entities-shared"],ke.marked,ke.VueRouter,ke["kong-ui-public-i18n"],ke.entitiesPluginsMetadata,ke.forms,ke.entitiesVaults,null,ke.core$1,ke.KongIcons,ke.Kongponents,ke.entitiesRedisConfigurations,null,ke.monaco,ke.monacoEditor,null,ke.core$2,ke.background,ke.controls,null,null,null,ke.shiki,ke.zod,ke.entitiesPluginsIcon))})(this,(function(ke,e,ee,Io,dn,et,F,je,Xn,WT,Ye,ue,Ve,xi,YT,bu,Ai,JT,qe,ku,Si,XT,ZT,QT,wu,B,un){"use strict";var zT=Object.defineProperty;var HT=(ke,e,ee)=>e in ke?zT(ke,e,{enumerable:!0,configurable:!0,writable:!0,value:ee}):ke[e]=ee;var at=(ke,e,ee)=>HT(ke,typeof e!="symbol"?e+"":e,ee);function Cu(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const r=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(n,o,r.get?r:{enumerable:!0,get:()=>t[o]})}}return n.default=t,Object.freeze(n)}const To=Cu(bu),tt={actions:{cancel:"Cancel",view_configuration:"View Configuration",create:"New plugin",create_custom:"Create",configure:"Configure",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",enable:"Enable",enabled:"Enabled",delete:"Delete",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",deck:"decK"},delete:{title:"Delete a Plugin",custom_title:"Delete {name}",custom_plugin:"Custom Plugin",description:"This action cannot be reversed.",description_custom:"Please ensure this plugin is not in use. This action cannot be reversed.",plugin_schema_in_use_title:"Unable to Delete Custom Plugin",plugin_schema_in_use_message:"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",search_plugins:"Search plugins"},filter:{field:{enabled:"Enabled"}},no_results:'No results found for "{filter}"'},labels:{new:"New"},plugins:{title:"Plugins",list:{toolbar_actions:{new_plugin:"New plugin"},table_headers:{applied_to:"Applied To",applied_to_badges:{consumer:"Consumer",global:"Global",route:"Route",service:"Service",consumer_group:"Consumer Group"},id:"ID",name:"Name",instance_name:"Instance Name",ordering:"Ordering",ordering_badge:{dynamic:"Dynamic",static:"Static"},enabled:"Enabled",tags:"Tags"},empty_state:{title:"Configure a New Plugin",description:"Plugins are used to extend Kong functionality."},empty_state_v2:{title:"Configure your first plugin",description:"Plugins extend gateways functionalities, offering features like authentication, rate limiting, and request transformations to enhance security and performance.",create_cta:"New plugin",group:"Plugins created in gateways within this group will automatically appear here.",learn_more:"Learn more"}},meta:{"basic-auth":{name:"Basic Authentication",credential_name:"Basic Auth Credential",description:"Add Basic Authentication to your Services"},"hmac-auth":{name:"HMAC Authentication",credential_name:"HMAC Credential",description:"Add HMAC Authentication to your Services"},"jwt-signer":{name:"JWT Signer",description:"Verify and (re-)sign one or two tokens in a request"},jwt:{name:"JWT",credential_name:"JWT Credential",description:"Verify and authenticate JSON Web Tokens"},"key-auth":{name:"Key Authentication",credential_name:"Key Auth Credential",description:"Add key authentication to your Services"},"key-auth-enc":{name:"Key Authentication Encrypted",credential_name:"Key Auth Encrypted",description:"Add key authentication to your Services with an encrypted token"},"ldap-auth-advanced":{name:"LDAP Authentication Advanced",description:"Integrate Kong with a LDAP server"},"ldap-auth":{name:"LDAP Authentication",description:"Integrate Kong with a LDAP server"},"oauth2-introspection":{name:"OAuth 2.0 Introspection",description:"Integrate Kong with a third-party OAuth 2.0 Authorization Server"},oauth2:{name:"OAuth 2.0 Authentication",credential_name:"OAuth 2.0 Application",description:"Add OAuth 2.0 authentication to your Services"},"openid-connect":{name:"OpenID Connect",description:"Integrate Kong with a third-party OpenID Connect 1.0 Provider"},"mtls-auth":{name:"Mutual TLS Authentication",description:"Secure routes and services with client certificate and mutual TLS authentication"},"vault-auth":{name:"Vault Authentication",description:"Secure routes and services with an access token and secret token, stored securely via Vault"},"bot-detection":{name:"Bot Detection",description:"Detect and clock bots or custom clients"},cors:{name:"CORS",description:"Allow developers to make requests from the browser"},"ip-restriction":{name:"IP Restriction",description:"Whitelist or blacklist IPs that can make requests"},opa:{name:"OPA",description:"Authorize requests against Open Policy Agent"},"kubernetes-sidecar-injector":{name:"Kubernetes Sidecar Injector",description:"This plugin will inject Kong dataplane nodes and form a service mesh on top of Kubernetes"},"request-validator":{name:"Request Validator",description:"Validate requests before they reach their upstream Service."},acl:{name:"ACL",credential_name:"Access Control Group",description:"Control which consumers can access Services"},canary:{name:"Canary Release",description:"Methodically roll out software changes to a subset of users"},"forward-proxy":{name:"Forward Proxy",description:"Allow Kong to connect to intermediary transparent HTTP proxies"},"proxy-cache":{name:"Proxy Caching",description:"Cache and serve commonly requested responses in Kong"},"proxy-cache-advanced":{name:"Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"graphql-proxy-cache-advanced":{name:"GraphQL Proxy Caching Advanced",description:"Cache and serve commonly requested responses in Kong"},"rate-limiting-advanced":{name:"Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},"rate-limiting":{name:"Rate Limiting",description:"Rate-limit how many HTTP requests a developer can make"},"graphql-rate-limiting-advanced":{name:"GraphQL Rate Limiting Advanced",description:"Rate-limit how many HTTP requests a developer can make"},mocking:{name:"Mocking",description:"Provide mock endpoints to test your APIs in development against your services"},"request-size-limiting":{name:"Request Size Limiting",description:"Block requests with bodies greater than a specific size"},"request-termination":{name:"Request Termination",description:"Terminate all requests with a specific response"},"response-ratelimiting":{name:"Response Rate Limiting",description:"Rate-Limiting based on a custom response header value"},"route-by-header":{name:"Route by Header",description:"Route requests based on request headers"},"ai-proxy":{name:"AI Proxy",description:"Directly call a configured LLM, with mediated security and tuning parameters, and using standardised Kong request and response formats."},"ai-prompt-decorator":{name:"AI Prompt Decorator",description:"Prepend and append chat prompts to AI Proxy plugin LLM requests."},"ai-prompt-template":{name:"AI Prompt Template",description:"Define a set of templates, containing string variable placeholders, that can be consumed by users when used with the AI Proxy plugin."},"ai-prompt-guard":{name:"AI Prompt Guard",description:"Define a set of valid, and a set of invalid, regular expression patterns when calling LLM models with the AI Proxy plugin."},"ai-request-transformer":{name:"AI Request Transformer",description:"Use an LLM to transform API request from a user, before sending to the upstream service."},"ai-response-transformer":{name:"AI Response Transformer",description:"Use an LLM to transform API responses from the upstream service, before returning to the user."},"ai-rate-limiting-advanced":{name:"AI Rate Limiting Advanced",description:"Provides rate limiting for the providers used by any AI plugins."},"ai-azure-content-safety":{name:"AI Azure Content Safety",description:"Allows checking and auditing of AI-Proxy plugin messages, using Azure Cognitive Services, before proxying to upstream large-language model."},"aws-lambda":{name:"AWS Lambda",description:"Invoke and manage AWS Lambda functions from Kong"},"azure-functions":{name:"Azure Functions",description:"Invoke Azure functions"},openwhisk:{name:"OpenWhisk",description:"Invoke and manage OpenWhisk actions from Kong"},"pre-function":{name:"Kong Functions (Pre-Plugins)",description:"Add and manage custom lua functions to run before other plugins"},"post-function":{name:"Kong Functions (Post-Plugins)",description:"Add and manage custom lua functions to run after other plugins"},datadog:{name:"Datadog",description:"Visualize metrics on Datadog"},prometheus:{name:"Prometheus",description:"Export performance metrics to Prometheus"},zipkin:{name:"Zipkin",description:"Propagate zipkin spans and report spans to a zipkin server"},collector:{name:"Collector",description:"Automate spec-driven development & anomaly detection (Early Access)"},"response-transformer-advanced":{name:"Response Transformer Advanced",description:"Transform the response sent by the upstream server on the fly on Kong, before returning the response to the client."},"correlation-id":{name:"Correlation ID",description:"Correlate requests and responses using a unique ID"},"request-transformer-advanced":{name:"Request Transformer Advanced",description:"Use powerful regular expressions, variables and templates to transform API requests"},"request-transformer":{name:"Request Transformer",description:"Modify the request before hitting the upstream server"},"response-transformer":{name:"Response Transformer",description:"Modify the upstream response before returning it to the client"},"route-transformer-advanced":{name:"Route Transformer Advanced",description:"Transforms the routing on the fly in Kong, changing the upstream server/port/path to hit"},"kafka-upstream":{name:"Kafka Upstream",description:"Transform requests into Kafka messages in a topic"},degraphql:{name:"DeGraphQL",description:"Transform a GraphQL upstream into a REST API"},"exit-transformer":{name:"Exit Transformer",description:"Customize Kong exit responses sent downstream"},jq:{name:"jq",description:"Transform JSON objects included in API requests or responses using jq programs"},"file-log":{name:"File Log",description:"Append request and response data to a log file on disk"},"http-log":{name:"HTTP Log",description:"Send request and response logs to an HTTP server"},loggly:{name:"Loggly",description:"Send request and response logs to Loggly"},"statsd-advanced":{name:"StatsD Advanced",description:"Send traffic and Kong performance metrics to StatsD"},statsd:{name:"StatsD",description:"Send request and response logs to StatsD"},syslog:{name:"Syslog",description:"Send request and response logs to Syslog"},"tcp-log":{name:"TCP Log",description:"Send request and response logs to a TCP server"},"udp-log":{name:"UDP Log",description:"Send request and response logs to a UDP server"},"kafka-log":{name:"Kafka Log",description:"Publish request and response logs to a Kafka topic"},session:{name:"Session",description:"Sessions for Kong authentication"},"upstream-tls":{name:"Upstream TLS",description:"Enable TLS on upstream traffic by providing Kong with a list of trusted certificates."},"application-registration":{name:"Portal Application Registration",description:"Allow portal developers to register applications against services"},"konnect-application-auth":{name:"Konnect Application Auth",description:"Allow Konnect portal developers to register applications against services"},acme:{name:"ACME",description:"Let's Encrypt and ACMEv2 integration with Kong"},"grpc-gateway":{name:"gRPC Gateway",description:"Access gRPC services through HTTP REST"},"grpc-web":{name:"gRPC Web",description:"Allow browser clients to call gRPC services"},"upstream-timeout":{name:"Upstream Timeout",description:"Configure read, send and connect timeouts to an upstream"},opentelemetry:{name:"OpenTelemetry",description:"Propagate distributed tracing spans and report low-level spans to a OTLP-compatible server"},"websocket-validator":{name:"WebSocket Validator",description:"Validate individual WebSocket messages against to a user-specified schema before proxying them"},"websocket-size-limit":{name:"WebSocket Size Limit",description:"Allows operators to specify a maximum size for incoming WebSocket messages"},"tls-metadata-headers":{name:"TLS Metadata Headers",description:"Detects client certificates in requests, retrieves the TLS metadata, and proxies this metadata via HTTP headers"},"tls-handshake-modifier":{name:"TLS Handshake Modifier",description:"Requests the client certificate and if it exists, makes it available to other plugins acting on the request"},"oas-validation":{name:"OAS Validation",description:"Validate HTTP requests and responses based on an API Specification."},"jwe-decrypt":{name:"Kong JWE Decrypt",description:"The Kong JWE Decrypt plugin makes it possible to decrypt an inbound token(JWE) in a request."},"xml-threat-protection":{name:"XML Threat Protection",description:"Reduce the risk of XML attacks by checking the structure of XML payloads."},saml:{name:"SAML",description:"Security Assertion Markup Language (SAML) is an open standard for exchanging authentication and authorization data between an identity provider and a service provider."},"app-dynamics":{name:"AppDynamics",description:"This plugin integrates Kong with the AppDynamics APM platform so that proxy requests handled by Kong can be identified and analyzed in AppDynamics."},"json-threat-protection":{name:"JSON Threat Protection",description:"Apply size checks on JSON payload and minimize risk of content-level attacks"},"standard-webhooks":{name:"Standard Webhooks",description:"Validate incoming webhooks adhere to the Standard Webhooks specification, to which Kong is a contributor"},"ai-proxy-advanced":{name:"AI Proxy Advanced",description:"Route across different LLMs and models using advanced load balancing algorithms, including semantic routing."},"ai-semantic-cache":{name:"AI Semantic Cache",description:"Semantically cache AI requests to any LLM to reduce latency, improve end-user experiences and optimize GenAI costs."},"ai-semantic-prompt-guard":{name:"AI Semantic Prompt Guard",description:"Semantically and intelligently create allow and deny lists of topics that can be requested across every LLM."},"header-cert-auth":{name:"Header Certificate Authentication",description:"Authenticate clients with MTLS certificate passed in header by a WAF or load balancer"},"upstream-oauth":{name:"Upstream OAuth",description:"Configure Kong to obtain a OAuth2 token to consume an upstream API"},confluent:{name:"Confluent",description:"Streamlines integration with Confluent Cloud and transforms requests into messages published to a Confluent topic."},"service-protection":{name:"Service Protection",description:"Prevent abuse and protect services with absolute limits on the number of requests reaching the service."},"injection-protection":{name:"Injection Protection",description:"Protect against injection attacks by rejecting requests that match common injections patterns."},redirect:{name:"Redirect",description:"Redirect incoming requests to a new URL"},"kafka-consume":{name:"Kafka Consume",description:"Consume messages from Kafka topics over HTTP protocols."},"confluent-consume":{name:"Confluent Consume",description:"Consume messages from Confluent Kafka topics over HTTP protocols"},"request-callout":{name:"Request Callout",description:"Callout to third party APIs as part of request processing."},"ai-sanitizer":{name:"AI Sanitizer",description:"Sanitize personal or sensitive information from prompts before sending to LLM."},"ai-rag-injector":{name:"AI RAG Injector",description:"Attach contextual knowledge from vector databases with flexible template to LLM prompts."},datakit:{name:"Datakit",description:"Datakit is a workflow engine for working with external APIs."},"ai-prompt-compressor":{name:"AI Prompt Compressor",description:"The AI Prompt Compressor reduces costs associated with LLMs by compressing prompts."},"solace-upstream":{name:"Solace Upstream",description:"Transform requests into Solace messages in a Solace queue or topic."},"ai-aws-guardrails":{name:"AI AWS GuardRails",description:"The AI AWS GuardRails enables enforcement of introspection with the AWS GuardRails service for all requests processed by the AI Proxy plugin."},ace:{name:"Konnect Access Control Enforcement",description:"Enable Developer Self-Service for Konnect Dev Portals."},"solace-consume":{name:"Solace Consume",description:"Consume messages from Solace and make them available through HTTP endpoints."},"solace-log":{name:"Solace Log",description:"Publish request and response logs to a Solace topic."},"ai-llm-as-judge":{name:"AI LLM Judge",description:"Evaluate LLM responses with an external LLM service and use accuracy scores to drive dynamic load balancing for `llm/v1/chat` requests."},"ai-mcp-proxy":{name:"AI MCP Proxy",description:"Convert APIs into MCP tools, proxy MCP servers, expose multiple MCP tools, and observe MCP traffic in real time."},"ai-gcp-model-armor":{name:"AI GCP Model Armor",description:"Audit and validate AI Proxy messages with Google Cloud Model Armor before forwarding them to an upstream LLM."},"ai-mcp-oauth2":{name:"AI MCP OAuth2",description:"Secure MCP server access with OAuth2 authentication."},"ai-semantic-response-guard":{name:"AI Semantic Response Guard",description:"Permit or block prompts based on semantic similarity to known LLM responses, preventing misuse of `llm/v1/chat` or `llm/v1/completions` requests."},"ai-lakera-guard":{name:"AI Lakera Guard",description:"Audit and enforce safety policies on LLM requests and responses using the AI AWS Lakera plugin before they reach upstream LLMs."},"ai-a2a-proxy":{name:"AI A2A Proxy",description:"Securely proxy A2A Agents, with real-time RPC tracing and monitoring."},"ai-custom-guardrail":{name:"AI Custom Guardrail",description:"Integrate with any 3rd-party Guardrail service, with customizable enforcement modes — choose whether violations block, log, or allow traffic to proceed."},"metering-billing":{name:"Metering & Billing",description:"Meter API requests and AI token usage for usage-based billing. Supports flexible customer identification, custom pricing dimensions, and fine-grained traffic filtering. Integrates natively with Konnect Metering & Billing."}},fields:{service:"Service ID",route:"Route ID",consumer:"Consumer ID",consumer_group:"Consumer Group ID"},select:{custom_badge_text:"This plugin is data plane node specific",unavailable_tooltip:"This plugin is not available",already_exists:"This plugin is already applied to this resource",misc_plugins:"Other Plugins",show_all:"Show all",view_more:"View more",view_less:"View less",filter:{title:"Filter Plugins",featured:"Featured",type:"Type"},list:{table_headers:{name:"Plugin",description:"Description"}},tabs:{kong:{title:"Kong Plugins",description:"Kong plugins are bundled by default with Kong Gateway and are available across all control planes.",empty_title:"No Plugins",empty_description:"No plugins are available."},custom:{title:"Custom Plugins",description:"Custom plugins will be available in this control plane only.",disabled_tooltip:"Custom Plugins are not available with this Gateway. Create a Hybrid or Dedicated Cloud Gateway to leverage Custom Plugins.",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"},plugin_status:{label:"Plugin status",text_on:"Enabled",text_off:"Disabled"},instance_name:{label:"Name",placeholder:"Enter a unique name",help:"A custom name for this plugin instance to help with identifying from the list view."},condition:{label:"Condition",placeholder:"Enter a condition expression",help:"An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped."},protocols:{label:"Protocols",placeholder:"Select valid protocols for the plugin",placeholderWithDefaultValues:"Select valid protocols for the plugin. Default protocols: {protocols}",help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type."},tags:{label:"Tags",help:"An optional set of strings for grouping and filtering, separated by commas.",placeholder:"Tag1, Tag2, Tag3"}},scoping:{label:"Scoped",placeholder:"Search by name or UUID",disable_global_radio:"The plugin is set to 'Scoped' by default. To apply a plugin globally, please navigate to the global plugin list page.",global:{label:"Global",help:"All services, routes, and consumers"},gateway_service:{label:"Select a gateway service",help:"The Gateway Service to which this plugin configuration will apply",placeholder:"Select a Gateway Service",plural:"Gateway Services"},route:{label:"Select a route",help:"The Route that this Plugin configuration will target",placeholder:"Select a Route",plural:"Routes"},consumer:{label:"Select a consumer",help:"The Consumer that this plugin configuration will target",placeholder:"Select a Consumer",plural:"Consumers"},consumer_group:{label:"Select a consumer group",help:"The Consumer Group that this plugin configuration will target",placeholder:"Select a Consumer Group",plural:"Consumer Groups"}},grouping:{plugin_configuration:{title:"Plugin Configuration",description:"Configuration parameters for this plugin. View advanced parameters for extended configuration.",empty:"This plugin does not have required parameters."},advanced_parameters:{view:"Show additional settings",hide:"Hide additional settings"}},field_rules:{at_least_one_of:"At least one of the following values is required: {parameters}.",only_one_of:"Exactly one of these parameters is required: {parameters}",mutually_required:"These values must be used together: {parameters}.",mutually_exclusive:"Only one of these values can be used: {parameters}.",only_one_of_mutually_required:"Exactly one of the following parameter combinations is required (all parameters within a chosen combination are required):"},sections:{plugin_scope:{title:"Plugin scope",description:"Choose whether this plugin applies to all traffic (global) or is scoped to a specific service, route, or consumer."},general_info:{title:"General information",description:"Add details to help identify and manage your plugin."},plugin_config:{title:"Plugin configuration",description:"Set the plugin's behavior by defining its configuration settings."},plugin_general_info:{description:"Add a name or tags to help you identify and manage this plugin later."},code_mode:{title:"Code editor",description:"Configure this plugin by using YAML configuration."}}},"free-form":{editor_mode:{visual:"Visual editor",code:"Code editor"},"ai-mcp-proxy":{default_acl_item_label:"Default ACL #{index}",tool_item_label:"Tool #{index}"},"request-callout":{entity_name:"Request callout",by_lua_placeholder:"Enter Lua script here..."},datakit:{plugin_config:{title:"Flow editor"},description_code:"Configure this plugin by using YAML configuration. If you are copy/pasting in examples from the documentation - paste from below the <code>config</code> block.",description_flow:"Build flows visually with a drag-and-drop editor for Datakit. Visualize node connections, inputs, and outputs as you design.",description_example:"Start with a use case:",detected_config_format:"Detected {format} configuration. Do you want to convert it to Datakit configuration?",detected_config_format_title:"Convert configuration",detected_config_format_confirm:"Convert",examples:{authenticate:"Authenticate Kong to a third-party service",vault:"Authenticate to a third-party service using vault secrets",combine:"Combine multiple API responses",cache:"Conditionally fetch or store cache data",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 due to critical configuration errors or features not supported in the flow editor:<br/><code>{reason}</code>",expand_panel:"Expand panel",collapse_panel:"Collapse panel",return_to_config:"Return to plugin configuration",canvas_panel:{request:"Request",response:"Response",node_count_plural:"{count} nodes",node_count_singular:"1 node"},panel_segments:{nodes:"Nodes",resources:{title:"Resources",vault:{title:"Vault secrets",add_button:"Add vault resource",name_exists_error:"Vault name already exists",name_required_error:"Vault name is required",edit:"Edit",delete:"Delete"},cache:{title:"Cache configuration",add_button:"Add cache configuration",strategy_options:{memory:"Memory",redis:"Redis"},select_redis_configuration:"Select a shared Redis configuration",inline_config:"Inline config",inline_config_preview:"You are using a dedicated Redis configuration, This is a preview of your current setup, please edit it in code editor"}}},vault_secret_picker:{title:"Add secret to Datakit",proceed_button_text:"Add secret",secret_name:{label:"Secret name",placeholder:"Enter a name",help:"A unique identifier for this secret in your Datakit configuration"}},node_panel:{title:"Node types",description:"Drag a node onto the canvas to add it to your data flow."},examples:"Examples",debug:{label:"Debug",description:'Enables detailed error messages in client responses, making debugging easier. <a href="https://developer.konghq.com/plugins/datakit/#debugging" target="_blank">See the docs</a> for details.'},actions:{zoom_in:"Zoom in",zoom_out:"Zoom out",fit_view:"Zoom to fit",auto_layout:"Auto layout",undo:"Undo",redo:"Redo",duplicate:"Duplicate",remove_from_branch:"Remove from branch",delete:"Delete",view_docs:"View docs",done:"Done"},node_types:{call:{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 <code>jq</code> node executes a jq script for processing JSON. See the official <a href="https://jqlang.org" target="_blank">jq docs</a> for more details.'},exit:{name:"exit",summary:"Return 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 Kong Gateway-specific data",description:"Get and set Kong Gateway host and request properties."},static:{name:"static",summary:"Configure static input values ahead of time",description:"Emits static values to be used as inputs for other nodes. The <code>static</code> node can help you with hardcoding some known value for an input."},branch:{name:"branch",summary:"Execute nodes based on matching input conditions",description:"Execute different nodes based on matching input conditions, such as a cache hit or miss."},cache:{name:"cache",summary:"Store and fetch cached data",description:"Store data into cache and fetch cached data from cache."},xml_to_json:{name:"xml_to_json",summary:"Transform XML to JSON",description:"Transform XML to JSON."},json_to_xml:{name:"json_to_xml",summary:"Transform JSON to XML",description:"Transform JSON to XML."},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 {minLength} and {maxLength} characters",reserved_node_name:'"{nodeName}" is a reserved node name',attributes_required:"Provide at least one of attributes_block_name or attributes_name_prefix"}},error:{invalid_connection:"Invalid connection",branch_cycle:"Cannot create a circular branch relationship"},confirm:{title:"Connection conflict",message:{confirm:"Are you sure you want to make this change?",switch:"You can connect an output source to either all inputs of a node or to individual inputs.",override:"Each input can connect to only one output, but one output can connect to many inputs.",branch_replace:"This node already belongs to another branch. Move it to the new branch?"},proceed:"Yes, update"},leave_confirm:"Leave current page? Changes you made may not be saved."},code_editor:{mode:"Code editor"}},vault_picker:{component_error:"The vault secret picker is not available"},tag_helper:"Use comma to separate values. eg: value1, value2",foreign_placeholder:"Enter a UUID of {entity}"}},redis:{title:"Redis Configuration",shared_configuration:{label:"Shared configuration",description:"Select an existing shared Redis configuration or create a new one. Changes to this configuration automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed."},dedicated_configuration:{label:"Dedicated configuration",description:"Create a Redis configuration that is used only by this plugin. Changes won’t affect other plugins."},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}}},glossary:{plugin:"plugin"},custom_field:{key_auth_identity_realms:{cp_label:"Current Control Plane",cp_group_label:"Control Plane",realm_group_label:"Realms (Can only select one)"}},sp:{window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window&#39;s counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},error_message:{label:"Error message",code_placeholder:"Code message",message_placeholder:"Error message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},start_with_a_use_case:"Start with a use case:",use_cases:{fixed:{hourly_500:{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit."},half_hourly_200:{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits."},daily_500:{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences."}},sliding:{hourly_100:{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset."},half_hourly_300:{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made."},hourly_500:{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
2
2
  If the limit is exceeded and the user receives a 429 error, each additional request within the sliding window (hour)
3
- will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function $e(){const t=Ze.createI18n("en-us",et);return{i18n:t,i18nT:Ze.i18nTComponent(t)}}function Si(){const{capitalize:t}=oe.useStringHelpers(),n=["methods","logout_methods"];return{setFieldType:(d,f,m)=>{var g,_,y;if(!(!d||!f||!m))switch(m.type){case"boolean":d[f]={type:oe.ConfigurationSchemaType.BadgeStatus,...d[f]};break;case"string":m.encrypted?d[f]={type:oe.ConfigurationSchemaType.Redacted,...d[f]}:d[f]={type:oe.ConfigurationSchemaType.Text,...d[f]};break;case"set":((g=m.elements)==null?void 0:g.type)==="string"&&(d[f]={type:oe.ConfigurationSchemaType.BadgeTag,...d[f]});break;case"array":n.includes(f)?d[f]={type:oe.ConfigurationSchemaType.BadgeMethod,...d[f]}:((_=m.elements)==null?void 0:_.type)==="string"?m.encrypted?d[f]={type:oe.ConfigurationSchemaType.RedactedArray,...d[f]}:d[f]={type:oe.ConfigurationSchemaType.BadgeTag,...d[f]}:((y=m.elements)==null?void 0:y.type)==="record"&&(d[f]={type:oe.ConfigurationSchemaType.Json,...d[f]});break;case"record":d[f]={type:oe.ConfigurationSchemaType.Json,...d[f]};break;default:d[f]={type:oe.ConfigurationSchemaType.Text,...d[f]};break}},convertToDotNotation:d=>d.replace(/-/g,"."),unFlattenObject:d=>{const f={};for(const m in d){const g=m.split(".");g.reduce((_,y,h)=>_[y]||(_[y]=isNaN(g[h+1])?g.length-1===h?d[m]:{}:[]),f)}return f},dismissField:(d,f,m="redis",g=!1)=>{const _=new RegExp("(?<=-redis-).*");if(typeof d!="object"||d===null)return d;m==="redis"?Object.keys(d).forEach(y=>{y.match(_)&&delete d[y]}):g?d[m]=null:delete d[m],Object.assign(d,f)},isObjectEmpty:d=>Object.keys(d).length===0,unsetNullForeignKey:(d,f)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(d)>-1&&f[d]===null&&(delete f[d],f[d.replace(".id","")]=null)},formatPluginFieldLabel:d=>t(d.replace(/_/g," ")),getTallestPluginCardHeight:d=>{let f=0;if(d.length)for(let m=0;m<d.length;m++){const g=d[m].$el;f=g.offsetHeight>f?g.offsetHeight:f}return f},getToggleVisibility:(d,f)=>{var m,g;if(d&&f){const _=(g=(m=window==null?void 0:window.getComputedStyle(d))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:g.split(" ").length;return f>_}return!0}}}var To=(t=>(t.REDIS_CE="redis-ce",t.REDIS_EE="redis-ee",t))(To||{});const Oo=["Featured"],Pi=[R.PluginGroup.AUTHENTICATION,R.PluginGroup.AI,R.PluginGroup.SECURITY,R.PluginGroup.TRAFFIC_CONTROL,R.PluginGroup.SERVERLESS,R.PluginGroup.ANALYTICS_AND_MONITORING,R.PluginGroup.TRANSFORMATIONS,R.PluginGroup.LOGGING,R.PluginGroup.DEPLOYMENT,R.PluginGroup.WEBSOCKET,R.PluginGroup.CUSTOM_PLUGINS],Vo=[R.PluginGroup.AI,R.PluginGroup.ANALYTICS_AND_MONITORING,R.PluginGroup.AUTHENTICATION,R.PluginGroup.LOGGING,R.PluginGroup.SECURITY,R.PluginGroup.SERVERLESS,R.PluginGroup.TRAFFIC_CONTROL,R.PluginGroup.TRANSFORMATIONS,R.PluginGroup.CUSTOM_PLUGINS],Vr={[R.PluginGroup.AUTHENTICATION]:!1,[R.PluginGroup.AI]:!1,[R.PluginGroup.SECURITY]:!1,[R.PluginGroup.TRAFFIC_CONTROL]:!1,[R.PluginGroup.SERVERLESS]:!1,[R.PluginGroup.ANALYTICS_AND_MONITORING]:!1,[R.PluginGroup.TRANSFORMATIONS]:!1,[R.PluginGroup.LOGGING]:!1,[R.PluginGroup.DEPLOYMENT]:!1,[R.PluginGroup.CUSTOM_PLUGINS]:!1};var un=(t=>(t.SERVICE="service_id",t.ROUTE="route_id",t.CONSUMER="consumer_id",t.CONSUMER_GROUP="consumer_group_id",t))(un||{});const fn=t=>{const n=Object.fromEntries(t.fields.map(o=>Object.entries(o)[0]));return"id"in n||(n.id={}),n},pn={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"},Bn={getColumnFields:fn,tags:pn,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(t){const n=t.inputAttributes||{};return delete t.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",...t}}}},Ii={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:pn}]},Eu={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"}}]},Ti={fields:[{username:{}},{password:{inputType:"password"}},{tags:pn}]},Nu={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"}}]},Oi=e.defineComponent({name:"KeyAuthIdentityRealmsBase",__name:"Base",props:{modelValue:{default:[{scope:"cp",id:null,region:null}]},modelModifiers:{}},emits:["update:modelValue"],setup(t){const n=e.useModel(t,"modelValue"),{i18n:o}=Fe.useI18n(),{t:r}=o,a={value:"current-cp",label:r("custom_field.key_auth_identity_realms.cp_label"),group:r("custom_field.key_auth_identity_realms.cp_group_label")},i=e.inject(Le.FORMS_CONFIG),{axiosInstance:l}=oe.useAxios(i==null?void 0:i.axiosRequestConfig),s=()=>{if((i==null?void 0:i.app)==="konnect"){const m=/\b(us|eu|au|me|in)\b/.exec((i==null?void 0:i.apiBaseUrl)||"");if(m)return{region:m[1]}}return{}},c=e.ref(!0),u=e.ref([a]),p=async()=>{if((i==null?void 0:i.app)==="konnect")try{c.value=!0;let m=`${i==null?void 0:i.apiBaseUrl}/v1/realms`;const g=[];do{const _=await l.get(m);_&&_.data&&_.data.data&&g.push(..._.data.data.map(y=>({value:y.id,label:y.name,group:r("custom_field.key_auth_identity_realms.realm_group_label")}))),m=_.data.meta.next?`${i==null?void 0:i.apiBaseUrl}${_.data.meta.next}`:null}while(m);u.value=[a,...g]}catch(m){console.error("Failed to fetch Konnect realms",m)}finally{c.value=!1}},d=e.computed(()=>n.value.map(m=>m.id||"current-cp")),f=m=>{const g=m.includes("current-cp")?[{scope:"cp",id:null,region:null}]:[],_=n.value.filter(({scope:C})=>C!=="cp").map(({id:C})=>C),y=m.filter(C=>C!=="current-cp"),E=(_.length!==y.length||_.some(C=>!y.includes(C))?y.filter(C=>!_.includes(C)):y).map(C=>({...s(),scope:"realm",id:C}));n.value=[...g,...E]};return e.onMounted(()=>{p()}),(m,g)=>{const _=e.resolveComponent("KMultiselect");return e.openBlock(),e.createBlock(_,{items:u.value,loading:c.value,"model-value":d.value,"onUpdate:modelValue":f},null,8,["items","loading","model-value"])}}}),xu={class:"field-wrapper"},Au=e.defineComponent({__name:"VfgAdapter",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(t,{expose:n,emit:o}){const r=t,a=o,{clearValidationErrors:i,value:l}=Le.composables.useAbstractFields({model:e.toRef(()=>r.model),schema:r.schema,formOptions:r.formOptions,emitModelUpdated:s=>{a("modelUpdated",s.value,s.model)}});return n({clearValidationErrors:i}),(s,c)=>(e.openBlock(),e.createElementBlock("div",xu,[e.createVNode(Oi,{modelValue:e.unref(l),"onUpdate:modelValue":c[0]||(c[0]=u=>e.isRef(l)?l.value=u:null)},null,8,["modelValue"])]))}}),be=(t,n)=>{const o=t.__vccOpts||t;for(const[r,a]of n)o[r]=a;return o},Su=be(Au,[["__scopeId","data-v-269e85ed"]]),Vi={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.`,inputType:"password",encrypted:!0}},{tags:pn},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},Pu=t=>{var n;return(t==null?void 0:t.app)==="kongManager"?{fieldsToDelete:["config-identity_realms"],shamefullyTransformPayload:({payload:o})=>{(t!=null&&t.credential&&typeof o.ttl!="number"||Number.isNaN(o.ttl))&&(o.ttl=0)}}:{"config-identity_realms":{component:((n=t==null?void 0:t.experimentalRenders)==null?void 0:n.keyAuthIdentityRealms)??!1?e.markRaw(Su):null}}},Iu={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{key:{auto:!0,hint:"If left empty, a key will be generated after saving this form.",required:!1,type:"string",encrypted:!0,unique:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}},{ttl:{between:[0,1e8],description:"Time-to-live (in seconds) value for data",type:"number"}}]},Bi={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
3
+ will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`}}}}};function Le(){const t=et.createI18n("en-us",tt);return{i18n:t,i18nT:et.i18nTComponent(t)}}function Pi(){const{capitalize:t}=ee.useStringHelpers(),n=["methods","logout_methods"];return{setFieldType:(d,f,m)=>{var g,_,h;if(!(!d||!f||!m))switch(m.type){case"boolean":d[f]={type:ee.ConfigurationSchemaType.BadgeStatus,...d[f]};break;case"string":m.encrypted?d[f]={type:ee.ConfigurationSchemaType.Redacted,...d[f]}:d[f]={type:ee.ConfigurationSchemaType.Text,...d[f]};break;case"set":((g=m.elements)==null?void 0:g.type)==="string"&&(d[f]={type:ee.ConfigurationSchemaType.BadgeTag,...d[f]});break;case"array":n.includes(f)?d[f]={type:ee.ConfigurationSchemaType.BadgeMethod,...d[f]}:((_=m.elements)==null?void 0:_.type)==="string"?m.encrypted?d[f]={type:ee.ConfigurationSchemaType.RedactedArray,...d[f]}:d[f]={type:ee.ConfigurationSchemaType.BadgeTag,...d[f]}:((h=m.elements)==null?void 0:h.type)==="record"&&(d[f]={type:ee.ConfigurationSchemaType.Json,...d[f]});break;case"record":d[f]={type:ee.ConfigurationSchemaType.Json,...d[f]};break;default:d[f]={type:ee.ConfigurationSchemaType.Text,...d[f]};break}},convertToDotNotation:d=>d.replace(/-/g,"."),unFlattenObject:d=>{const f={};for(const m in d){const g=m.split(".");g.reduce((_,h,y)=>_[h]||(_[h]=isNaN(g[y+1])?g.length-1===y?d[m]:{}:[]),f)}return f},dismissField:(d,f,m="redis",g=!1)=>{const _=new RegExp("(?<=-redis-).*");if(typeof d!="object"||d===null)return d;m==="redis"?Object.keys(d).forEach(h=>{h.match(_)&&delete d[h]}):g?d[m]=null:delete d[m],Object.assign(d,f)},isObjectEmpty:d=>Object.keys(d).length===0,unsetNullForeignKey:(d,f)=>{["service.id","route.id","consumer.id","consumer_group.id"].indexOf(d)>-1&&f[d]===null&&(delete f[d],f[d.replace(".id","")]=null)},formatPluginFieldLabel:d=>t(d.replace(/_/g," ")),getTallestPluginCardHeight:d=>{let f=0;if(d.length)for(let m=0;m<d.length;m++){const g=d[m].$el;f=g.offsetHeight>f?g.offsetHeight:f}return f},getToggleVisibility:(d,f)=>{var m,g;if(d&&f){const _=(g=(m=window==null?void 0:window.getComputedStyle(d))==null?void 0:m.getPropertyValue("grid-template-columns"))==null?void 0:g.split(" ").length;return f>_}return!0}}}var Oo=(t=>(t.REDIS_CE="redis-ce",t.REDIS_EE="redis-ee",t))(Oo||{});const Vo=["Featured"],Ii=[F.PluginGroup.AUTHENTICATION,F.PluginGroup.AI,F.PluginGroup.SECURITY,F.PluginGroup.TRAFFIC_CONTROL,F.PluginGroup.SERVERLESS,F.PluginGroup.ANALYTICS_AND_MONITORING,F.PluginGroup.TRANSFORMATIONS,F.PluginGroup.LOGGING,F.PluginGroup.DEPLOYMENT,F.PluginGroup.WEBSOCKET,F.PluginGroup.CUSTOM_PLUGINS],Bo=[F.PluginGroup.AI,F.PluginGroup.ANALYTICS_AND_MONITORING,F.PluginGroup.AUTHENTICATION,F.PluginGroup.LOGGING,F.PluginGroup.SECURITY,F.PluginGroup.SERVERLESS,F.PluginGroup.TRAFFIC_CONTROL,F.PluginGroup.TRANSFORMATIONS,F.PluginGroup.CUSTOM_PLUGINS],Br={[F.PluginGroup.AUTHENTICATION]:!1,[F.PluginGroup.AI]:!1,[F.PluginGroup.SECURITY]:!1,[F.PluginGroup.TRAFFIC_CONTROL]:!1,[F.PluginGroup.SERVERLESS]:!1,[F.PluginGroup.ANALYTICS_AND_MONITORING]:!1,[F.PluginGroup.TRANSFORMATIONS]:!1,[F.PluginGroup.LOGGING]:!1,[F.PluginGroup.DEPLOYMENT]:!1,[F.PluginGroup.CUSTOM_PLUGINS]:!1};var fn=(t=>(t.SERVICE="service_id",t.ROUTE="route_id",t.CONSUMER="consumer_id",t.CONSUMER_GROUP="consumer_group_id",t))(fn||{});const pn=t=>{const n=Object.fromEntries(t.fields.map(o=>Object.entries(o)[0]));return"id"in n||(n.id={}),n},mn={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"},Bn={getColumnFields:pn,tags:mn,id:{label:"ID"},enabled:{label:"Enabled",indexed:!0,type:"boolean"},created_at:{label:"Created"},updated_at:{label:"Last updated"},fields:{arrayItems(t){const n=t.inputAttributes||{};return delete t.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",...t}}}},Ti={fields:[{group:{hint:"The arbitrary group name to associate to the consumer."}},{tags:mn}]},Eu={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"}}]},Oi={fields:[{username:{}},{password:{inputType:"password"}},{tags:mn}]},Nu={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"}}]},Vi=e.defineComponent({name:"KeyAuthIdentityRealmsBase",__name:"Base",props:{modelValue:{default:[{scope:"cp",id:null,region:null}]},modelModifiers:{}},emits:["update:modelValue"],setup(t){const n=e.useModel(t,"modelValue"),{i18n:o}=Me.useI18n(),{t:r}=o,a={value:"current-cp",label:r("custom_field.key_auth_identity_realms.cp_label"),group:r("custom_field.key_auth_identity_realms.cp_group_label")},i=e.inject(je.FORMS_CONFIG),{axiosInstance:l}=ee.useAxios(i==null?void 0:i.axiosRequestConfig),s=()=>{if((i==null?void 0:i.app)==="konnect"){const m=/\b(us|eu|au|me|in)\b/.exec((i==null?void 0:i.apiBaseUrl)||"");if(m)return{region:m[1]}}return{}},c=e.ref(!0),u=e.ref([a]),p=async()=>{if((i==null?void 0:i.app)==="konnect")try{c.value=!0;let m=`${i==null?void 0:i.apiBaseUrl}/v1/realms`;const g=[];do{const _=await l.get(m);_&&_.data&&_.data.data&&g.push(..._.data.data.map(h=>({value:h.id,label:h.name,group:r("custom_field.key_auth_identity_realms.realm_group_label")}))),m=_.data.meta.next?`${i==null?void 0:i.apiBaseUrl}${_.data.meta.next}`:null}while(m);u.value=[a,...g]}catch(m){console.error("Failed to fetch Konnect realms",m)}finally{c.value=!1}},d=e.computed(()=>n.value.map(m=>m.id||"current-cp")),f=m=>{const g=m.includes("current-cp")?[{scope:"cp",id:null,region:null}]:[],_=n.value.filter(({scope:C})=>C!=="cp").map(({id:C})=>C),h=m.filter(C=>C!=="current-cp"),E=(_.length!==h.length||_.some(C=>!h.includes(C))?h.filter(C=>!_.includes(C)):h).map(C=>({...s(),scope:"realm",id:C}));n.value=[...g,...E]};return e.onMounted(()=>{p()}),(m,g)=>{const _=e.resolveComponent("KMultiselect");return e.openBlock(),e.createBlock(_,{items:u.value,loading:c.value,"model-value":d.value,"onUpdate:modelValue":f},null,8,["items","loading","model-value"])}}}),xu={class:"field-wrapper"},Au=e.defineComponent({__name:"VfgAdapter",props:{disabled:{type:Boolean},formOptions:{},model:{},schema:{},vfg:{},errors:{},hint:{}},emits:["modelUpdated"],setup(t,{expose:n,emit:o}){const r=t,a=o,{clearValidationErrors:i,value:l}=je.composables.useAbstractFields({model:e.toRef(()=>r.model),schema:r.schema,formOptions:r.formOptions,emitModelUpdated:s=>{a("modelUpdated",s.value,s.model)}});return n({clearValidationErrors:i}),(s,c)=>(e.openBlock(),e.createElementBlock("div",xu,[e.createVNode(Vi,{modelValue:e.unref(l),"onUpdate:modelValue":c[0]||(c[0]=u=>e.isRef(l)?l.value=u:null)},null,8,["modelValue"])]))}}),ye=(t,n)=>{const o=t.__vccOpts||t;for(const[r,a]of n)o[r]=a;return o},Su=ye(Au,[["__scopeId","data-v-269e85ed"]]),Bi={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.`,inputType:"password",encrypted:!0}},{tags:mn},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},Pu=t=>{var n;return(t==null?void 0:t.app)==="kongManager"?{fieldsToDelete:["config-identity_realms"],shamefullyTransformPayload:({payload:o})=>{(t!=null&&t.credential&&typeof o.ttl!="number"||Number.isNaN(o.ttl))&&(o.ttl=0)}}:{"config-identity_realms":{component:((n=t==null?void 0:t.experimentalRenders)==null?void 0:n.keyAuthIdentityRealms)??!1?e.markRaw(Su):null}}},Iu={fields:[{id:{uuid:!0,type:"string",auto:!0}},{created_at:{auto:!0,timestamp:!0,type:"integer"}},{consumer:{reference:"consumers",type:"foreign",on_delete:"cascade",required:!0}},{key:{auto:!0,hint:"If left empty, a key will be generated after saving this form.",required:!1,type:"string",encrypted:!0,unique:!0}},{tags:{elements:{type:"string",required:!0},type:"set"}},{ttl:{between:[0,1e8],description:"Time-to-live (in seconds) value for data",type:"number"}}]},$i={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
- send it as part of the response body.`}},{tags:pn}]},Tu={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"}}]},Ou={fields:[{key:{submitWhenNull:!1,hint:`A unique string identifying the credential. If left out, it will
6
+ send it as part of the response body.`}},{tags:mn}]},Tu={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"}}]},Ou={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
8
8
  use to verify the token’s signature.`,rows:10,visible:t=>t&&t.algorithm&&/^((RS|PS|ES)(256|384|512)|EdDSA)$/.test(t.algorithm)}},{secret:{inputType:"text",hint:`If algorithm is HMAC, the secret used to sign JWTs for
9
- this credential. If left out, will be auto-generated.`}},{tags:pn}]},Vu={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:"A unique string identifying the credential. If left out, it will be auto-generated.",required:!1,type:"string",encrypted:!0,unique:!0}},{secret:{auto:!0,hint:"If algorithm is HS256 or ES256, the secret used to sign JWTs for this credential. If left out, will be auto-generated.",type:"string",encrypted:!0}},{rsa_public_key:{type:"string"}},{algorithm:{default:"HS256",type:"string",one_of:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512","EdDSA"]}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},$i={fields:[{name:{}},{client_id:{submitWhenNull:!1,hint:`You can optionally set your own unique client_id. If missing, it
9
+ this credential. If left out, will be auto-generated.`}},{tags:mn}]},Vu={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:"A unique string identifying the credential. If left out, it will be auto-generated.",required:!1,type:"string",encrypted:!0,unique:!0}},{secret:{auto:!0,hint:"If algorithm is HS256 or ES256, the secret used to sign JWTs for this credential. If left out, will be auto-generated.",type:"string",encrypted:!0}},{rsa_public_key:{type:"string"}},{algorithm:{default:"HS256",type:"string",one_of:["HS256","HS384","HS512","RS256","RS384","RS512","ES256","ES384","ES512","PS256","PS384","PS512","EdDSA"]}},{tags:{elements:{type:"string",required:!0},type:"set"}}]},Ri={fields:[{name:{}},{client_id:{submitWhenNull:!1,hint:`You can optionally set your own unique client_id. If missing, it
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:Bn.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
12
- authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:Bn.tags}]},Bu={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"]}}]},Ri={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:pn},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},$u=t=>(t==null?void 0:t.app)==="kongManager"?{shamefullyTransformPayload:({payload:n})=>{(t!=null&&t.credential&&typeof n.ttl!="number"||Number.isNaN(n.ttl))&&(n.ttl=0)}}:{},Ru={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 (in seconds) value for data",type:"number"}}]},Et={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",nameKey:"plugins.meta.basic-auth.name",freeformRenderRules:{dependencies:{"config.brute_force_protection.redis":["config.brute_force_protection.strategy","redis"]}},...R.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",nameKey:"plugins.meta.hmac-auth.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",nameKey:"plugins.meta.jwt-signer.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",nameKey:"plugins.meta.jwt.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",nameKey:"plugins.meta.key-auth.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",nameKey:"plugins.meta.key-auth-enc.name",...R.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",...R.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",nameKey:"plugins.meta.ldap-auth.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",nameKey:"plugins.meta.oauth2-introspection.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",nameKey:"plugins.meta.oauth2.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",nameKey:"plugins.meta.openid-connect.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",nameKey:"plugins.meta.mtls-auth.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",nameKey:"plugins.meta.vault-auth.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",nameKey:"plugins.meta.bot-detection.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",nameKey:"plugins.meta.cors.name",...R.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"]]},...R.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",nameKey:"plugins.meta.opa.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...R.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"]]},...R.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...R.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"]]},...R.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"]]]},...R.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",nameKey:"plugins.meta.proxy-cache.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",nameKey:"plugins.meta.proxy-cache-advanced.name",...R.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",...R.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",...R.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"]]},freeformRenderRules:{bundles:[["config.policy","config.redis"]],dependencies:{"config.redis":["config.policy","redis"]}},...R.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",...R.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"]]},...R.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",nameKey:"plugins.meta.request-size-limiting.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",nameKey:"plugins.meta.request-termination.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",nameKey:"plugins.meta.response-ratelimiting.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",nameKey:"plugins.meta.route-by-header.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...R.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,...R.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,...R.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,...R.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,...R.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,...R.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,...R.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,...R.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",nameKey:"plugins.meta.aws-lambda.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",nameKey:"plugins.meta.azure-functions.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",nameKey:"plugins.meta.openwhisk.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",nameKey:"plugins.meta.pre-function.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",nameKey:"plugins.meta.post-function.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",nameKey:"plugins.meta.datadog.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",nameKey:"plugins.meta.prometheus.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",nameKey:"plugins.meta.zipkin.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",nameKey:"plugins.meta.collector.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",nameKey:"plugins.meta.response-transformer-advanced.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",nameKey:"plugins.meta.correlation-id.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",nameKey:"plugins.meta.request-transformer-advanced.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",nameKey:"plugins.meta.request-transformer.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",nameKey:"plugins.meta.response-transformer.name",...R.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"]]},...R.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",nameKey:"plugins.meta.kafka-upstream.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",nameKey:"plugins.meta.degraphql.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",nameKey:"plugins.meta.exit-transformer.name",...R.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"]]},...R.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",nameKey:"plugins.meta.file-log.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",nameKey:"plugins.meta.http-log.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",nameKey:"plugins.meta.loggly.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",nameKey:"plugins.meta.statsd-advanced.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",nameKey:"plugins.meta.statsd.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",nameKey:"plugins.meta.syslog.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",nameKey:"plugins.meta.tcp-log.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",nameKey:"plugins.meta.udp-log.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",nameKey:"plugins.meta.kafka-log.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",nameKey:"plugins.meta.session.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",nameKey:"plugins.meta.upstream-tls.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",nameKey:"plugins.meta.application-registration.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",nameKey:"plugins.meta.konnect-application-auth.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",nameKey:"plugins.meta.acme.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",nameKey:"plugins.meta.grpc-gateway.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",nameKey:"plugins.meta.grpc-web.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",nameKey:"plugins.meta.upstream-timeout.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.access_logs_endpoint","config.traces_endpoint","config.logs_endpoint"]]},...R.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",nameKey:"plugins.meta.websocket-validator.name",...R.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"]]},...R.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",...R.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",...R.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",nameKey:"plugins.meta.oas-validation.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",nameKey:"plugins.meta.jwe-decrypt.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",nameKey:"plugins.meta.xml-threat-protection.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",nameKey:"plugins.meta.saml.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",nameKey:"plugins.meta.app-dynamics.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",nameKey:"plugins.meta.json-threat-protection.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",nameKey:"plugins.meta.standard-webhooks.name",...R.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,...R.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,...R.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,...R.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"]]]},...R.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",nameKey:"plugins.meta.upstream-oauth.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"],freeformRenderRules:{bundles:[["config.cache.strategy","config.cache.redis"]],dependencies:{"config.cache.redis":["config.cache.strategy","redis"]}}},confluent:{descriptionKey:"plugins.meta.confluent.description",nameKey:"plugins.meta.confluent.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",nameKey:"plugins.meta.service-protection.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",nameKey:"plugins.meta.injection-protection.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",nameKey:"plugins.meta.redirect.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",nameKey:"plugins.meta.kafka-consume.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",nameKey:"plugins.meta.confluent-consume.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",nameKey:"plugins.meta.request-callout.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...R.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,...R.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",nameKey:"plugins.meta.datakit.name",useUIData:!0,...R.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,...R.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",nameKey:"plugins.meta.solace-upstream.name",...R.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,...R.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]},ace:{descriptionKey:"plugins.meta.ace.description",nameKey:"plugins.meta.ace.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP.ace},"solace-consume":{descriptionKey:"plugins.meta.solace-consume.description",nameKey:"plugins.meta.solace-consume.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["solace-consume"]},"solace-log":{descriptionKey:"plugins.meta.solace-log.description",nameKey:"plugins.meta.solace-log.name",...R.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,...R.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,...R.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,...R.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,...R.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,...R.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-response-guard"]},"ai-lakera-guard":{descriptionKey:"plugins.meta.ai-lakera-guard.description",nameKey:"plugins.meta.ai-lakera-guard.name",useLegacyForm:!0,...R.PLUGIN_GROUP_AND_SCOPE_MAP["ai-lakera-guard"]},"ai-a2a-proxy":{descriptionKey:"plugins.meta.ai-a2a-proxy.description",nameKey:"plugins.meta.ai-a2a-proxy.name",useLegacyForm:!0,...R.PLUGIN_GROUP_AND_SCOPE_MAP["ai-a2a-proxy"]},"ai-custom-guardrail":{descriptionKey:"plugins.meta.ai-custom-guardrail.description",nameKey:"plugins.meta.ai-custom-guardrail.name",useLegacyForm:!0,...R.PLUGIN_GROUP_AND_SCOPE_MAP["ai-custom-guardrail"]},"metering-billing":{descriptionKey:"plugins.meta.metering-billing.description",nameKey:"plugins.meta.metering-billing.name",...R.PLUGIN_GROUP_AND_SCOPE_MAP["metering-billing"]}},$n={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:Ii,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:fn(Ii),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Ti,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:fn(Ti)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Vi,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:fn(Vi)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Ri,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:fn(Ri)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:$i,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:fn($i)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Bi,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:fn(Bi)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Ou,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Fu={acls:Eu,basicauth_credentials:Nu,keyauth_credentials:Iu,keyauth_enc_credentials:Ru,oauth2_credentials:Bu,hmacauth_credentials:Tu,jwt_secrets:Vu},Lu=()=>{const{i18n:{t}}=$e(),n={},o={};for(const[a,i]of Object.entries(Et))n[a]={...i,name:t(i.nameKey),description:t(i.descriptionKey)};for(const[a,i]of Object.entries($n))o[a]={...i,name:t(i.nameKey),title:t(i.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:$n,getDisplayName:a=>{var i;return((i=n[a])==null?void 0:i.name)||a}}},Zn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Du={"config-prompts-prepend":{...Zn,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":{...Zn,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"}]}}}},Mu={"config-templates":{...Zn,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"}]}}}},vu={shamefullyTransformPayload:({originalModel:t,model:n,payload:o,schema:r})=>{const a=l=>{var s;return(s=r[l])!=null&&s.required&&n[l]?!0:t[l]===n[l]?!1:t[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},i=l=>Object.keys(t).some(s=>s.startsWith(l)&&a(s));i("config-embeddings")||(o.config.embeddings=null),i("config-vectordb")||(o.config.vectordb=null)}},Fi=t=>t.split(",").map(n=>n.trim()).filter(Boolean),ju={shamefullyTransformPayload:({payload:t})=>{var n;(n=t==null?void 0:t.config)!=null&&n.collection_acl_config&&Object.values(t.config.collection_acl_config).forEach(o=>{typeof(o==null?void 0:o.allow)=="string"&&(o.allow=Fi(o.allow)),typeof(o==null?void 0:o.deny)=="string"&&(o.deny=Fi(o.deny))})}},Uu={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},Ku={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:Bn.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"}},De={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"},Bo={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},qu={"config-metrics":{...Bo,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"}]}}}},Gu={"config-functions":{...De,inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}}},zu={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Hu={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Wu={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Yu={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Ju={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Li=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((t,n)=>({...t,[n]:Bn.fields.arrayItems({newElementButtonLabel:"Add"})}),Ju),$o={"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"}},Xu={"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":{}},Zu=["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((t,n)=>({...t,[n]:Bn.fields.arrayItems({newElementButtonLabel:"Add"})}),Xu),Di={"config-add-json":{...De,label:"Config.Add.Json",inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...De,label:"Config.Append.Json",inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...De,label:"Config.Remove.Json",inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...De,label:"Config.Rename.Json",inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...De,label:"Config.Replace.Json",inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}}},Qu={...Di,"config-allow-json":{...De,label:"Config.Allow.Json",inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...De,label:"Config.Transform.Functions",inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...De,label:"Config.Transform.Json",inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}}},ef={"config-rules":{...Zn,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"}]}}}},tf={"config-session_redis_cluster_nodes":{...Zn,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"}]}}}},nf={"config-flow-functions":{...De,inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}}},of={"config-message-functions":{...De,inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}}},rf={"config-metrics":{...Bo,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"]}]}}}},af={"config-metrics":{...Bo,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"]}]}}}},lf={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},sf={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:t=>({id:t}),keyFromObject:"id"}};var Mi=typeof global=="object"&&global&&global.Object===Object&&global,cf=typeof self=="object"&&self&&self.Object===Object&&self,Rt=Mi||cf||Function("return this")(),Nt=Rt.Symbol,vi=Object.prototype,df=vi.hasOwnProperty,uf=vi.toString,Qn=Nt?Nt.toStringTag:void 0;function ff(t){var n=df.call(t,Qn),o=t[Qn];try{t[Qn]=void 0;var r=!0}catch{}var a=uf.call(t);return r&&(n?t[Qn]=o:delete t[Qn]),a}var pf=Object.prototype,mf=pf.toString;function gf(t){return mf.call(t)}var hf="[object Null]",yf="[object Undefined]",ji=Nt?Nt.toStringTag:void 0;function mn(t){return t==null?t===void 0?yf:hf:ji&&ji in Object(t)?ff(t):gf(t)}function Ft(t){return t!=null&&typeof t=="object"}var _f="[object Symbol]";function Br(t){return typeof t=="symbol"||Ft(t)&&mn(t)==_f}function $r(t,n){for(var o=-1,r=t==null?0:t.length,a=Array(r);++o<r;)a[o]=n(t[o],o,t);return a}var Tt=Array.isArray,Ui=Nt?Nt.prototype:void 0,Ki=Ui?Ui.toString:void 0;function qi(t){if(typeof t=="string")return t;if(Tt(t))return $r(t,qi)+"";if(Br(t))return Ki?Ki.call(t):"";var n=t+"";return n=="0"&&1/t==-1/0?"-0":n}function gn(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function Gi(t){return t}var bf="[object AsyncFunction]",kf="[object Function]",wf="[object GeneratorFunction]",Cf="[object Proxy]";function Ro(t){if(!gn(t))return!1;var n=mn(t);return n==kf||n==wf||n==bf||n==Cf}var Rr=Rt["__core-js_shared__"],zi=(function(){var t=/[^.]+$/.exec(Rr&&Rr.keys&&Rr.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Ef(t){return!!zi&&zi in t}var Nf=Function.prototype,xf=Nf.toString;function hn(t){if(t!=null){try{return xf.call(t)}catch{}try{return t+""}catch{}}return""}var Af=/[\\^$.*+?()[\]{}|]/g,Sf=/^\[object .+?Constructor\]$/,Pf=Function.prototype,If=Object.prototype,Tf=Pf.toString,Of=If.hasOwnProperty,Vf=RegExp("^"+Tf.call(Of).replace(Af,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Bf(t){if(!gn(t)||Ef(t))return!1;var n=Ro(t)?Vf:Sf;return n.test(hn(t))}function $f(t,n){return t==null?void 0:t[n]}function yn(t,n){var o=$f(t,n);return Bf(o)?o:void 0}var Fr=yn(Rt,"WeakMap"),Hi=Object.create,Rf=(function(){function t(){}return function(n){if(!gn(n))return{};if(Hi)return Hi(n);t.prototype=n;var o=new t;return t.prototype=void 0,o}})();function Ff(t,n,o){switch(o.length){case 0:return t.call(n);case 1:return t.call(n,o[0]);case 2:return t.call(n,o[0],o[1]);case 3:return t.call(n,o[0],o[1],o[2])}return t.apply(n,o)}function Lf(t,n){var o=-1,r=t.length;for(n||(n=Array(r));++o<r;)n[o]=t[o];return n}var Df=800,Mf=16,vf=Date.now;function jf(t){var n=0,o=0;return function(){var r=vf(),a=Mf-(r-o);if(o=r,a>0){if(++n>=Df)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}function Uf(t){return function(){return t}}var Fo=(function(){try{var t=yn(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Kf=Fo?function(t,n){return Fo(t,"toString",{configurable:!0,enumerable:!1,value:Uf(n),writable:!0})}:Gi,Wi=jf(Kf);function qf(t,n){for(var o=-1,r=t==null?0:t.length;++o<r&&n(t[o],o,t)!==!1;);return t}function Gf(t,n,o,r){for(var a=t.length,i=o+-1;++i<a;)if(n(t[i],i,t))return i;return-1}function zf(t){return t!==t}function Hf(t,n,o){for(var r=o-1,a=t.length;++r<a;)if(t[r]===n)return r;return-1}function Wf(t,n,o){return n===n?Hf(t,n,o):Gf(t,zf,o)}function Yf(t,n){var o=t==null?0:t.length;return!!o&&Wf(t,n,0)>-1}var Jf=9007199254740991,Xf=/^(?:0|[1-9]\d*)$/;function Lr(t,n){var o=typeof t;return n=n??Jf,!!n&&(o=="number"||o!="symbol"&&Xf.test(t))&&t>-1&&t%1==0&&t<n}function Yi(t,n,o){n=="__proto__"&&Fo?Fo(t,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):t[n]=o}function Dr(t,n){return t===n||t!==t&&n!==n}var Zf=Object.prototype,Qf=Zf.hasOwnProperty;function Mr(t,n,o){var r=t[n];(!(Qf.call(t,n)&&Dr(r,o))||o===void 0&&!(n in t))&&Yi(t,n,o)}function eo(t,n,o,r){var a=!o;o||(o={});for(var i=-1,l=n.length;++i<l;){var s=n[i],c=void 0;c===void 0&&(c=t[s]),a?Yi(o,s,c):Mr(o,s,c)}return o}var Ji=Math.max;function Xi(t,n,o){return n=Ji(n===void 0?t.length-1:n,0),function(){for(var r=arguments,a=-1,i=Ji(r.length-n,0),l=Array(i);++a<i;)l[a]=r[n+a];a=-1;for(var s=Array(n+1);++a<n;)s[a]=r[a];return s[n]=o(l),Ff(t,this,s)}}function ep(t,n){return Wi(Xi(t,n,Gi),t+"")}var tp=9007199254740991;function vr(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=tp}function Lo(t){return t!=null&&vr(t.length)&&!Ro(t)}var np=Object.prototype;function Do(t){var n=t&&t.constructor,o=typeof n=="function"&&n.prototype||np;return t===o}function op(t,n){for(var o=-1,r=Array(t);++o<t;)r[o]=n(o);return r}var rp="[object Arguments]";function Zi(t){return Ft(t)&&mn(t)==rp}var Qi=Object.prototype,ap=Qi.hasOwnProperty,ip=Qi.propertyIsEnumerable,Mo=Zi((function(){return arguments})())?Zi:function(t){return Ft(t)&&ap.call(t,"callee")&&!ip.call(t,"callee")};function lp(){return!1}var el=typeof we=="object"&&we&&!we.nodeType&&we,tl=el&&typeof module=="object"&&module&&!module.nodeType&&module,sp=tl&&tl.exports===el,nl=sp?Rt.Buffer:void 0,cp=nl?nl.isBuffer:void 0,to=cp||lp,dp="[object Arguments]",up="[object Array]",fp="[object Boolean]",pp="[object Date]",mp="[object Error]",gp="[object Function]",hp="[object Map]",yp="[object Number]",_p="[object Object]",bp="[object RegExp]",kp="[object Set]",wp="[object String]",Cp="[object WeakMap]",Ep="[object ArrayBuffer]",Np="[object DataView]",xp="[object Float32Array]",Ap="[object Float64Array]",Sp="[object Int8Array]",Pp="[object Int16Array]",Ip="[object Int32Array]",Tp="[object Uint8Array]",Op="[object Uint8ClampedArray]",Vp="[object Uint16Array]",Bp="[object Uint32Array]",ze={};ze[xp]=ze[Ap]=ze[Sp]=ze[Pp]=ze[Ip]=ze[Tp]=ze[Op]=ze[Vp]=ze[Bp]=!0,ze[dp]=ze[up]=ze[Ep]=ze[fp]=ze[Np]=ze[pp]=ze[mp]=ze[gp]=ze[hp]=ze[yp]=ze[_p]=ze[bp]=ze[kp]=ze[wp]=ze[Cp]=!1;function $p(t){return Ft(t)&&vr(t.length)&&!!ze[mn(t)]}function jr(t){return function(n){return t(n)}}var ol=typeof we=="object"&&we&&!we.nodeType&&we,no=ol&&typeof module=="object"&&module&&!module.nodeType&&module,Rp=no&&no.exports===ol,Ur=Rp&&Mi.process,Rn=(function(){try{var t=no&&no.require&&no.require("util").types;return t||Ur&&Ur.binding&&Ur.binding("util")}catch{}})(),rl=Rn&&Rn.isTypedArray,Kr=rl?jr(rl):$p,Fp=Object.prototype,Lp=Fp.hasOwnProperty;function al(t,n){var o=Tt(t),r=!o&&Mo(t),a=!o&&!r&&to(t),i=!o&&!r&&!a&&Kr(t),l=o||r||a||i,s=l?op(t.length,String):[],c=s.length;for(var u in t)(n||Lp.call(t,u))&&!(l&&(u=="length"||a&&(u=="offset"||u=="parent")||i&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Lr(u,c)))&&s.push(u);return s}function il(t,n){return function(o){return t(n(o))}}var Dp=il(Object.keys,Object),Mp=Object.prototype,vp=Mp.hasOwnProperty;function ll(t){if(!Do(t))return Dp(t);var n=[];for(var o in Object(t))vp.call(t,o)&&o!="constructor"&&n.push(o);return n}function qr(t){return Lo(t)?al(t):ll(t)}function jp(t){var n=[];if(t!=null)for(var o in Object(t))n.push(o);return n}var Up=Object.prototype,Kp=Up.hasOwnProperty;function qp(t){if(!gn(t))return jp(t);var n=Do(t),o=[];for(var r in t)r=="constructor"&&(n||!Kp.call(t,r))||o.push(r);return o}function Gr(t){return Lo(t)?al(t,!0):qp(t)}var Gp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,zp=/^\w*$/;function Hp(t,n){if(Tt(t))return!1;var o=typeof t;return o=="number"||o=="symbol"||o=="boolean"||t==null||Br(t)?!0:zp.test(t)||!Gp.test(t)||n!=null&&t in Object(n)}var oo=yn(Object,"create");function Wp(){this.__data__=oo?oo(null):{},this.size=0}function Yp(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}var Jp="__lodash_hash_undefined__",Xp=Object.prototype,Zp=Xp.hasOwnProperty;function Qp(t){var n=this.__data__;if(oo){var o=n[t];return o===Jp?void 0:o}return Zp.call(n,t)?n[t]:void 0}var em=Object.prototype,tm=em.hasOwnProperty;function nm(t){var n=this.__data__;return oo?n[t]!==void 0:tm.call(n,t)}var om="__lodash_hash_undefined__";function rm(t,n){var o=this.__data__;return this.size+=this.has(t)?0:1,o[t]=oo&&n===void 0?om:n,this}function _n(t){var n=-1,o=t==null?0:t.length;for(this.clear();++n<o;){var r=t[n];this.set(r[0],r[1])}}_n.prototype.clear=Wp,_n.prototype.delete=Yp,_n.prototype.get=Qp,_n.prototype.has=nm,_n.prototype.set=rm;function am(){this.__data__=[],this.size=0}function vo(t,n){for(var o=t.length;o--;)if(Dr(t[o][0],n))return o;return-1}var im=Array.prototype,lm=im.splice;function sm(t){var n=this.__data__,o=vo(n,t);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():lm.call(n,o,1),--this.size,!0}function cm(t){var n=this.__data__,o=vo(n,t);return o<0?void 0:n[o][1]}function dm(t){return vo(this.__data__,t)>-1}function um(t,n){var o=this.__data__,r=vo(o,t);return r<0?(++this.size,o.push([t,n])):o[r][1]=n,this}function jt(t){var n=-1,o=t==null?0:t.length;for(this.clear();++n<o;){var r=t[n];this.set(r[0],r[1])}}jt.prototype.clear=am,jt.prototype.delete=sm,jt.prototype.get=cm,jt.prototype.has=dm,jt.prototype.set=um;var ro=yn(Rt,"Map");function fm(){this.size=0,this.__data__={hash:new _n,map:new(ro||jt),string:new _n}}function pm(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function jo(t,n){var o=t.__data__;return pm(n)?o[typeof n=="string"?"string":"hash"]:o.map}function mm(t){var n=jo(this,t).delete(t);return this.size-=n?1:0,n}function gm(t){return jo(this,t).get(t)}function hm(t){return jo(this,t).has(t)}function ym(t,n){var o=jo(this,t),r=o.size;return o.set(t,n),this.size+=o.size==r?0:1,this}function Ut(t){var n=-1,o=t==null?0:t.length;for(this.clear();++n<o;){var r=t[n];this.set(r[0],r[1])}}Ut.prototype.clear=fm,Ut.prototype.delete=mm,Ut.prototype.get=gm,Ut.prototype.has=hm,Ut.prototype.set=ym;var _m="Expected a function";function zr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new TypeError(_m);var o=function(){var r=arguments,a=n?n.apply(this,r):r[0],i=o.cache;if(i.has(a))return i.get(a);var l=t.apply(this,r);return o.cache=i.set(a,l)||i,l};return o.cache=new(zr.Cache||Ut),o}zr.Cache=Ut;var bm=500;function km(t){var n=zr(t,function(r){return o.size===bm&&o.clear(),r}),o=n.cache;return n}var wm=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Cm=/\\(\\)?/g,Em=km(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(wm,function(o,r,a,i){n.push(a?i.replace(Cm,"$1"):r||o)}),n});function Uo(t){return t==null?"":qi(t)}function Fn(t,n){return Tt(t)?t:Hp(t,n)?[t]:Em(Uo(t))}function Ko(t){if(typeof t=="string"||Br(t))return t;var n=t+"";return n=="0"&&1/t==-1/0?"-0":n}function Hr(t,n){n=Fn(n,t);for(var o=0,r=n.length;t!=null&&o<r;)t=t[Ko(n[o++])];return o&&o==r?t:void 0}function qo(t,n,o){var r=t==null?void 0:Hr(t,n);return r===void 0?o:r}function Wr(t,n){for(var o=-1,r=n.length,a=t.length;++o<r;)t[a+o]=n[o];return t}var sl=Nt?Nt.isConcatSpreadable:void 0;function Nm(t){return Tt(t)||Mo(t)||!!(sl&&t&&t[sl])}function xm(t,n,o,r,a){var i=-1,l=t.length;for(o||(o=Nm),a||(a=[]);++i<l;){var s=t[i];o(s)?Wr(a,s):a[a.length]=s}return a}function Am(t){var n=t==null?0:t.length;return n?xm(t):[]}function cl(t){return Wi(Xi(t,void 0,Am),t+"")}var Yr=il(Object.getPrototypeOf,Object),Sm="[object Object]",Pm=Function.prototype,Im=Object.prototype,dl=Pm.toString,Tm=Im.hasOwnProperty,Om=dl.call(Object);function Vm(t){if(!Ft(t)||mn(t)!=Sm)return!1;var n=Yr(t);if(n===null)return!0;var o=Tm.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&dl.call(o)==Om}function ul(t,n,o){var r=-1,a=t.length;n<0&&(n=-n>a?0:a+n),o=o>a?a:o,o<0&&(o+=a),a=n>o?0:o-n>>>0,n>>>=0;for(var i=Array(a);++r<a;)i[r]=t[r+n];return i}function Bm(t,n,o){var r=t.length;return o=o===void 0?r:o,!n&&o>=r?t:ul(t,n,o)}var $m="\\ud800-\\udfff",Rm="\\u0300-\\u036f",Fm="\\ufe20-\\ufe2f",Lm="\\u20d0-\\u20ff",Dm=Rm+Fm+Lm,Mm="\\ufe0e\\ufe0f",vm="\\u200d",jm=RegExp("["+vm+$m+Dm+Mm+"]");function fl(t){return jm.test(t)}function Um(t){return t.split("")}var pl="\\ud800-\\udfff",Km="\\u0300-\\u036f",qm="\\ufe20-\\ufe2f",Gm="\\u20d0-\\u20ff",zm=Km+qm+Gm,Hm="\\ufe0e\\ufe0f",Wm="["+pl+"]",Jr="["+zm+"]",Xr="\\ud83c[\\udffb-\\udfff]",Ym="(?:"+Jr+"|"+Xr+")",ml="[^"+pl+"]",gl="(?:\\ud83c[\\udde6-\\uddff]){2}",hl="[\\ud800-\\udbff][\\udc00-\\udfff]",Jm="\\u200d",yl=Ym+"?",_l="["+Hm+"]?",Xm="(?:"+Jm+"(?:"+[ml,gl,hl].join("|")+")"+_l+yl+")*",Zm=_l+yl+Xm,Qm="(?:"+[ml+Jr+"?",Jr,gl,hl,Wm].join("|")+")",eg=RegExp(Xr+"(?="+Xr+")|"+Qm+Zm,"g");function tg(t){return t.match(eg)||[]}function ng(t){return fl(t)?tg(t):Um(t)}function og(t){return function(n){n=Uo(n);var o=fl(n)?ng(n):void 0,r=o?o[0]:n.charAt(0),a=o?Bm(o,1).join(""):n.slice(1);return r[t]()+a}}var rg=og("toUpperCase");function ag(t){return function(n){return t==null?void 0:t[n]}}function ig(){this.__data__=new jt,this.size=0}function lg(t){var n=this.__data__,o=n.delete(t);return this.size=n.size,o}function sg(t){return this.__data__.get(t)}function cg(t){return this.__data__.has(t)}var dg=200;function ug(t,n){var o=this.__data__;if(o instanceof jt){var r=o.__data__;if(!ro||r.length<dg-1)return r.push([t,n]),this.size=++o.size,this;o=this.__data__=new Ut(r)}return o.set(t,n),this.size=o.size,this}function Kt(t){var n=this.__data__=new jt(t);this.size=n.size}Kt.prototype.clear=ig,Kt.prototype.delete=lg,Kt.prototype.get=sg,Kt.prototype.has=cg,Kt.prototype.set=ug;function fg(t,n){return t&&eo(n,qr(n),t)}function pg(t,n){return t&&eo(n,Gr(n),t)}var bl=typeof we=="object"&&we&&!we.nodeType&&we,kl=bl&&typeof module=="object"&&module&&!module.nodeType&&module,mg=kl&&kl.exports===bl,wl=mg?Rt.Buffer:void 0,Cl=wl?wl.allocUnsafe:void 0;function gg(t,n){if(n)return t.slice();var o=t.length,r=Cl?Cl(o):new t.constructor(o);return t.copy(r),r}function hg(t,n){for(var o=-1,r=t==null?0:t.length,a=0,i=[];++o<r;){var l=t[o];n(l,o,t)&&(i[a++]=l)}return i}function El(){return[]}var yg=Object.prototype,_g=yg.propertyIsEnumerable,Nl=Object.getOwnPropertySymbols,Zr=Nl?function(t){return t==null?[]:(t=Object(t),hg(Nl(t),function(n){return _g.call(t,n)}))}:El;function bg(t,n){return eo(t,Zr(t),n)}var kg=Object.getOwnPropertySymbols,xl=kg?function(t){for(var n=[];t;)Wr(n,Zr(t)),t=Yr(t);return n}:El;function wg(t,n){return eo(t,xl(t),n)}function Al(t,n,o){var r=n(t);return Tt(t)?r:Wr(r,o(t))}function Qr(t){return Al(t,qr,Zr)}function Sl(t){return Al(t,Gr,xl)}var ea=yn(Rt,"DataView"),ta=yn(Rt,"Promise"),na=yn(Rt,"Set"),Pl="[object Map]",Cg="[object Object]",Il="[object Promise]",Tl="[object Set]",Ol="[object WeakMap]",Vl="[object DataView]",Eg=hn(ea),Ng=hn(ro),xg=hn(ta),Ag=hn(na),Sg=hn(Fr),xt=mn;(ea&&xt(new ea(new ArrayBuffer(1)))!=Vl||ro&&xt(new ro)!=Pl||ta&&xt(ta.resolve())!=Il||na&&xt(new na)!=Tl||Fr&&xt(new Fr)!=Ol)&&(xt=function(t){var n=mn(t),o=n==Cg?t.constructor:void 0,r=o?hn(o):"";if(r)switch(r){case Eg:return Vl;case Ng:return Pl;case xg:return Il;case Ag:return Tl;case Sg:return Ol}return n});var Pg=Object.prototype,Ig=Pg.hasOwnProperty;function Tg(t){var n=t.length,o=new t.constructor(n);return n&&typeof t[0]=="string"&&Ig.call(t,"index")&&(o.index=t.index,o.input=t.input),o}var Go=Rt.Uint8Array;function oa(t){var n=new t.constructor(t.byteLength);return new Go(n).set(new Go(t)),n}function Og(t,n){var o=n?oa(t.buffer):t.buffer;return new t.constructor(o,t.byteOffset,t.byteLength)}var Vg=/\w*$/;function Bg(t){var n=new t.constructor(t.source,Vg.exec(t));return n.lastIndex=t.lastIndex,n}var Bl=Nt?Nt.prototype:void 0,$l=Bl?Bl.valueOf:void 0;function $g(t){return $l?Object($l.call(t)):{}}function Rg(t,n){var o=n?oa(t.buffer):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var Fg="[object Boolean]",Lg="[object Date]",Dg="[object Map]",Mg="[object Number]",vg="[object RegExp]",jg="[object Set]",Ug="[object String]",Kg="[object Symbol]",qg="[object ArrayBuffer]",Gg="[object DataView]",zg="[object Float32Array]",Hg="[object Float64Array]",Wg="[object Int8Array]",Yg="[object Int16Array]",Jg="[object Int32Array]",Xg="[object Uint8Array]",Zg="[object Uint8ClampedArray]",Qg="[object Uint16Array]",eh="[object Uint32Array]";function th(t,n,o){var r=t.constructor;switch(n){case qg:return oa(t);case Fg:case Lg:return new r(+t);case Gg:return Og(t,o);case zg:case Hg:case Wg:case Yg:case Jg:case Xg:case Zg:case Qg:case eh:return Rg(t,o);case Dg:return new r;case Mg:case Ug:return new r(t);case vg:return Bg(t);case jg:return new r;case Kg:return $g(t)}}function nh(t){return typeof t.constructor=="function"&&!Do(t)?Rf(Yr(t)):{}}var oh="[object Map]";function rh(t){return Ft(t)&&xt(t)==oh}var Rl=Rn&&Rn.isMap,ah=Rl?jr(Rl):rh,ih="[object Set]";function lh(t){return Ft(t)&&xt(t)==ih}var Fl=Rn&&Rn.isSet,sh=Fl?jr(Fl):lh,ch=1,dh=2,uh=4,Ll="[object Arguments]",fh="[object Array]",ph="[object Boolean]",mh="[object Date]",gh="[object Error]",Dl="[object Function]",hh="[object GeneratorFunction]",yh="[object Map]",_h="[object Number]",Ml="[object Object]",bh="[object RegExp]",kh="[object Set]",wh="[object String]",Ch="[object Symbol]",Eh="[object WeakMap]",Nh="[object ArrayBuffer]",xh="[object DataView]",Ah="[object Float32Array]",Sh="[object Float64Array]",Ph="[object Int8Array]",Ih="[object Int16Array]",Th="[object Int32Array]",Oh="[object Uint8Array]",Vh="[object Uint8ClampedArray]",Bh="[object Uint16Array]",$h="[object Uint32Array]",qe={};qe[Ll]=qe[fh]=qe[Nh]=qe[xh]=qe[ph]=qe[mh]=qe[Ah]=qe[Sh]=qe[Ph]=qe[Ih]=qe[Th]=qe[yh]=qe[_h]=qe[Ml]=qe[bh]=qe[kh]=qe[wh]=qe[Ch]=qe[Oh]=qe[Vh]=qe[Bh]=qe[$h]=!0,qe[gh]=qe[Dl]=qe[Eh]=!1;function ao(t,n,o,r,a,i){var l,s=n&ch,c=n&dh,u=n&uh;if(o&&(l=a?o(t,r,a,i):o(t)),l!==void 0)return l;if(!gn(t))return t;var p=Tt(t);if(p){if(l=Tg(t),!s)return Lf(t,l)}else{var d=xt(t),f=d==Dl||d==hh;if(to(t))return gg(t,s);if(d==Ml||d==Ll||f&&!a){if(l=c||f?{}:nh(t),!s)return c?wg(t,pg(l,t)):bg(t,fg(l,t))}else{if(!qe[d])return a?t:{};l=th(t,d,s)}}i||(i=new Kt);var m=i.get(t);if(m)return m;i.set(t,l),sh(t)?t.forEach(function(y){l.add(ao(y,n,o,y,t,i))}):ah(t)&&t.forEach(function(y,h){l.set(h,ao(y,n,o,h,t,i))});var g=u?c?Sl:Qr:c?Gr:qr,_=p?void 0:g(t);return qf(_||t,function(y,h){_&&(h=y,y=t[h]),Mr(l,h,ao(y,n,o,h,t,i))}),l}var Rh=1,Fh=4;function bn(t){return ao(t,Rh|Fh)}var Lh="__lodash_hash_undefined__";function Dh(t){return this.__data__.set(t,Lh),this}function Mh(t){return this.__data__.has(t)}function io(t){var n=-1,o=t==null?0:t.length;for(this.__data__=new Ut;++n<o;)this.add(t[n])}io.prototype.add=io.prototype.push=Dh,io.prototype.has=Mh;function vh(t,n){for(var o=-1,r=t==null?0:t.length;++o<r;)if(n(t[o],o,t))return!0;return!1}function ra(t,n){return t.has(n)}var jh=1,Uh=2;function vl(t,n,o,r,a,i){var l=o&jh,s=t.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var u=i.get(t),p=i.get(n);if(u&&p)return u==n&&p==t;var d=-1,f=!0,m=o&Uh?new io:void 0;for(i.set(t,n),i.set(n,t);++d<s;){var g=t[d],_=n[d];if(r)var y=l?r(_,g,d,n,t,i):r(g,_,d,t,n,i);if(y!==void 0){if(y)continue;f=!1;break}if(m){if(!vh(n,function(h,w){if(!ra(m,w)&&(g===h||a(g,h,o,r,i)))return m.push(w)})){f=!1;break}}else if(!(g===_||a(g,_,o,r,i))){f=!1;break}}return i.delete(t),i.delete(n),f}function Kh(t){var n=-1,o=Array(t.size);return t.forEach(function(r,a){o[++n]=[a,r]}),o}function qh(t){var n=-1,o=Array(t.size);return t.forEach(function(r){o[++n]=r}),o}var Gh=1,zh=2,Hh="[object Boolean]",Wh="[object Date]",Yh="[object Error]",Jh="[object Map]",Xh="[object Number]",Zh="[object RegExp]",Qh="[object Set]",ey="[object String]",ty="[object Symbol]",ny="[object ArrayBuffer]",oy="[object DataView]",jl=Nt?Nt.prototype:void 0,aa=jl?jl.valueOf:void 0;function ry(t,n,o,r,a,i,l){switch(o){case oy:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case ny:return!(t.byteLength!=n.byteLength||!i(new Go(t),new Go(n)));case Hh:case Wh:case Xh:return Dr(+t,+n);case Yh:return t.name==n.name&&t.message==n.message;case Zh:case ey:return t==n+"";case Jh:var s=Kh;case Qh:var c=r&Gh;if(s||(s=qh),t.size!=n.size&&!c)return!1;var u=l.get(t);if(u)return u==n;r|=zh,l.set(t,n);var p=vl(s(t),s(n),r,a,i,l);return l.delete(t),p;case ty:if(aa)return aa.call(t)==aa.call(n)}return!1}var ay=1,iy=Object.prototype,ly=iy.hasOwnProperty;function sy(t,n,o,r,a,i){var l=o&ay,s=Qr(t),c=s.length,u=Qr(n),p=u.length;if(c!=p&&!l)return!1;for(var d=c;d--;){var f=s[d];if(!(l?f in n:ly.call(n,f)))return!1}var m=i.get(t),g=i.get(n);if(m&&g)return m==n&&g==t;var _=!0;i.set(t,n),i.set(n,t);for(var y=l;++d<c;){f=s[d];var h=t[f],w=n[f];if(r)var E=l?r(w,h,f,n,t,i):r(h,w,f,t,n,i);if(!(E===void 0?h===w||a(h,w,o,r,i):E)){_=!1;break}y||(y=f=="constructor")}if(_&&!y){var C=t.constructor,b=n.constructor;C!=b&&"constructor"in t&&"constructor"in n&&!(typeof C=="function"&&C instanceof C&&typeof b=="function"&&b instanceof b)&&(_=!1)}return i.delete(t),i.delete(n),_}var cy=1,Ul="[object Arguments]",Kl="[object Array]",zo="[object Object]",dy=Object.prototype,ql=dy.hasOwnProperty;function uy(t,n,o,r,a,i){var l=Tt(t),s=Tt(n),c=l?Kl:xt(t),u=s?Kl:xt(n);c=c==Ul?zo:c,u=u==Ul?zo:u;var p=c==zo,d=u==zo,f=c==u;if(f&&to(t)){if(!to(n))return!1;l=!0,p=!1}if(f&&!p)return i||(i=new Kt),l||Kr(t)?vl(t,n,o,r,a,i):ry(t,n,c,o,r,a,i);if(!(o&cy)){var m=p&&ql.call(t,"__wrapped__"),g=d&&ql.call(n,"__wrapped__");if(m||g){var _=m?t.value():t,y=g?n.value():n;return i||(i=new Kt),a(_,y,o,r,i)}}return f?(i||(i=new Kt),sy(t,n,o,r,a,i)):!1}function Gl(t,n,o,r,a){return t===n?!0:t==null||n==null||!Ft(t)&&!Ft(n)?t!==t&&n!==n:uy(t,n,o,r,Gl,a)}function fy(t,n){return t!=null&&n in Object(t)}function zl(t,n,o){n=Fn(n,t);for(var r=-1,a=n.length,i=!1;++r<a;){var l=Ko(n[r]);if(!(i=t!=null&&o(t,l)))break;t=t[l]}return i||++r!=a?i:(a=t==null?0:t.length,!!a&&vr(a)&&Lr(l,a)&&(Tt(t)||Mo(t)))}function py(t,n){return t!=null&&zl(t,n,fy)}function my(t){return Ft(t)&&Lo(t)}function gy(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}var hy={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},yy=ag(hy),Hl=/[&<>"']/g,_y=RegExp(Hl.source);function by(t){return t=Uo(t),t&&_y.test(t)?t.replace(Hl,yy):t}var ky=Object.prototype,wy=ky.hasOwnProperty;function Cy(t,n){return t!=null&&wy.call(t,n)}function Ho(t,n){return t!=null&&zl(t,n,Cy)}var Ey=Math.min;function Ny(t,n,o){for(var r=Yf,a=t[0].length,i=t.length,l=i,s=Array(i),c=1/0,u=[];l--;){var p=t[l];c=Ey(p.length,c),s[l]=a>=120&&p.length>=120?new io(l&&p):void 0}p=t[0];var d=-1,f=s[0];e:for(;++d<a&&u.length<c;){var m=p[d],g=m;if(m=m!==0?m:0,!(f?ra(f,g):r(u,g))){for(l=i;--l;){var _=s[l];if(!(_?ra(_,g):r(t[l],g)))continue e}f&&f.push(g),u.push(m)}}return u}function xy(t){return my(t)?t:[]}var Ay=ep(function(t){var n=$r(t,xy);return n.length&&n[0]===t[0]?Ny(n):[]});function Sy(t,n){return n.length<2?t:Hr(t,ul(n,0,-1))}var Py="[object Map]",Iy="[object Set]",Ty=Object.prototype,Oy=Ty.hasOwnProperty;function Wl(t){if(t==null)return!0;if(Lo(t)&&(Tt(t)||typeof t=="string"||typeof t.splice=="function"||to(t)||Kr(t)||Mo(t)))return!t.length;var n=xt(t);if(n==Py||n==Iy)return!t.size;if(Do(t))return!ll(t).length;for(var o in t)if(Oy.call(t,o))return!1;return!0}function Qt(t,n){return Gl(t,n)}var Vy=Object.prototype,By=Vy.hasOwnProperty;function Yl(t,n){n=Fn(n,t);var o=-1,r=n.length;if(!r)return!0;for(var a=t==null||typeof t!="object"&&typeof t!="function";++o<r;){var i=n[o];if(typeof i=="string"){if(i==="__proto__"&&!By.call(t,"__proto__"))return!1;if(i==="constructor"&&o+1<r&&typeof n[o+1]=="string"&&n[o+1]==="prototype"){if(a&&o===0)continue;return!1}}}var l=Sy(t,n);return l==null||delete l[Ko(gy(n))]}function $y(t){return Vm(t)?void 0:t}var Ry=1,Fy=2,Ly=4,en=cl(function(t,n){var o={};if(t==null)return o;var r=!1;n=$r(n,function(i){return i=Fn(i,t),r||(r=i.length>1),i}),eo(t,Sl(t),o),r&&(o=ao(o,Ry|Fy|Ly,$y));for(var a=n.length;a--;)Yl(o,n[a]);return o});function Jl(t,n,o,r){if(!gn(t))return t;n=Fn(n,t);for(var a=-1,i=n.length,l=i-1,s=t;s!=null&&++a<i;){var c=Ko(n[a]),u=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return t;if(a!=l){var p=s[c];u=void 0,u===void 0&&(u=gn(p)?p:Lr(n[a+1])?[]:{})}Mr(s,c,u),s=s[c]}return t}function Dy(t,n,o){for(var r=-1,a=n.length,i={};++r<a;){var l=n[r],s=Hr(t,l);o(s,l)&&Jl(i,Fn(l,t),s)}return i}function My(t,n){return Dy(t,n,function(o,r){return py(t,r)})}var ia=cl(function(t,n){return t==null?{}:My(t,n)});function Xl(t,n,o){return t==null?t:Jl(t,n,o)}var vy=0;function Wo(t){var n=++vy;return Uo(t)+n}function Zl(t,n){return t==null?!0:Yl(t,n)}const jy=[{authentication:{mode:"none"},ssl_verify:!0},{authentication:{basic:{}}},{authentication:{basic:{},oauth2:{token_headers:{},token_post_args:{}},oauth2_client:{}}}],kn=t=>{var n,o,r,a,i,l;((o=(n=t.confluent)==null?void 0:n.authentication)==null?void 0:o.mode)==="none"&&(delete t.confluent.authentication.oauth2,delete t.confluent.authentication.oauth2_client,delete t.confluent.authentication.basic),((a=(r=t.confluent)==null?void 0:r.authentication)==null?void 0:a.mode)==="basic"&&(delete t.confluent.authentication.oauth2,delete t.confluent.authentication.oauth2_client),((l=(i=t.confluent)==null?void 0:i.authentication)==null?void 0:l.mode)==="oauth2"&&delete t.confluent.authentication.basic,jy.some(s=>Qt(t.confluent,s))&&(t.confluent=null)};function Uy(t,n){const o=t.split(""),r=n.split(""),a=o.length,i=r.length,l=Array.from({length:a+1},()=>Array(i+1).fill(0));for(let p=1;p<=a;p++)for(let d=1;d<=i;d++)o[p-1]===r[d-1]?l[p][d]=l[p-1][d-1]+1:l[p][d]=Math.max(l[p-1][d],l[p][d-1]);let s="",c=a,u=i;for(;c>0&&u>0;)o[c-1]===r[u-1]?(s=o[c-1]+s,c--,u--):l[c-1][u]>l[c][u-1]?c--:u--;return s}function Ky(t){const n=Date.now(),o=2688*60*60*1e3;return Math.abs(n-t)<=o}const qy={"config-message_by_lua_functions":{...De,inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:t})=>{var n;kn((n=t.config)==null?void 0:n.schema_registry)}},Gy={"config-message_by_lua_functions":{...De,inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:t})=>{var n;kn((n=t.config)==null?void 0:n.schema_registry)}},zy={"config-message_by_lua_functions":{...De,inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:t})=>{var n,o,r;kn((n=t.config)==null?void 0:n.schema_registry),(r=(o=t.config)==null?void 0:o.topics)==null||r.forEach(a=>{kn(a==null?void 0:a.schema_registry)})}},Hy={"config-message_by_lua_functions":{...De,inputAttributes:{...De.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:t})=>{var n,o,r;kn((n=t.config)==null?void 0:n.schema_registry),(r=(o=t.config)==null?void 0:o.topics)==null||r.forEach(a=>{kn(a==null?void 0:a.schema_registry)})}},Wy={shamefullyTransformPayload:({payload:t})=>{var n;kn((n=t.config)==null?void 0:n.schema_registry)}},Yy={"config-static_tags":{...Bo,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"}]}}}},Jy={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm","upstream-oauth":{experimental:!0,component:"UpstreamOauthForm"},"key-auth":{experimental:!0,component:"KeyAuthForm"},"rate-limiting":{experimental:!0,component:"CommonForm"},jwt:{experimental:!0,component:"CommonForm"},"route-transformer-advanced":{experimental:!0,component:"CommonForm"},"request-transformer":{experimental:!0,component:"CommonForm"},"basic-auth":{experimental:!0,component:"CommonForm"}};function la(t,n){const o=Jy[t];if(typeof o=="string")return o;if(n.includes(t))return o.component}function Xy(t,n,o){return o?o==="freeform":!!la(t,n)}const sa=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),Ql={KM_2262_CODE_MODE:"KM-2262-code-mode"},es=Symbol("TOASTER_PROVIDER"),Ln="__FREEFORM_SCHEMA_MAP__";function ca(){return e.inject(sa,[])}function Zy(t){e.provide(sa,t)}function Qy(){const t=ca();return{shouldUseFreeForm:(n,o)=>Xy(n,t,o),getFreeFormName:n=>la(n,t)||"CommonForm"}}const e_={shamefullyTransformPayload(t){var o;if(!((o=t.payload.config)!=null&&o.token_exchange))return t;const n=t.payload.config.token_exchange.subject_token_issuers;return n&&n.forEach(r=>{Qt(r.conditions,{})&&delete r.conditions,r.conditions&&Object.values(r.conditions).every(a=>Array.isArray(a)&&a.length===0)&&delete r.conditions}),t}},t_=(t,n)=>{const o=t.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},ts=(t,n)=>(t.order??0)-(n.order??0),ns=(t,n)=>t_(t,n)||ts(t,n)||t.model.localeCompare(n.model),Fe={useI18n:$e,usePluginMetaData:Lu,usePluginHelpers:Si,useSchemas:t=>{const{capitalize:n}=oe.useStringHelpers(),{convertToDotNotation:o}=Si(),{i18n:{t:r}}=$e(),a=ca(),i={"application-registration":{overwriteDefault:!0,formSchema:{...Ku}},datadog:{...qu},"exit-transformer":{...Gu},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...rf},"statsd-advanced":{...af},"route-by-header":{...ef},"ai-prompt-decorator":{...Du},"ai-prompt-template":{...Mu},"ai-proxy-advanced":{...vu},"ai-rag-injector":{...ju},"ai-llm-as-judge":{...Uu},"vault-auth":{...sf},"oas-validation":{...Yu},mocking:{...Wu},"rate-limiting":{...$o},"rate-limiting-advanced":(t==null?void 0:t.app)==="kongManager"?{"config-consumer_groups":$o["config-consumer_groups"]}:{...$o},"graphql-rate-limiting-advanced":{...zu},"injection-protection":{...Hu},"response-ratelimiting":{...$o},"pre-function":{...Li},"post-function":{...Li},"request-transformer-advanced":{...Zu},"response-transformer":{...Di},"response-transformer-advanced":{...Qu},zipkin:{...Yy},"upstream-oauth":{...lf},saml:{...tf},"kafka-upstream":{...qy},"solace-consume":{...nf},"solace-upstream":{...of},"key-auth":Pu(t),"key-auth-enc":$u(t),confluent:{...Gy},"confluent-consume":{...zy},"kafka-consume":{...Hy},"kafka-log":{...Wy},"openid-connect":{...e_}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(k,N,I,$)=>{let P={};(N||k)&&(P=N||(k.fields?k.fields:k));const x=l().concat(k.blacklist?k.blacklist:[]),V=Object.keys(P).filter(L=>!x.includes(L)),S=V.indexOf("comparator");S>-1&&V.splice(S,1);let B={fields:[]};const U={};V.forEach(L=>{u(P[L],L,P,U,B,I)});const j=U.name,z=Et[j],K=[],M=L=>{const A=["cluster-cache"];for(const D of A)if(L.model.includes(D))return!1;return new RegExp("(?<=-redis-).*").test(L.model)};if(B._supported_redis_partial_type=k._supported_redis_partial_type,B._redis_partial_path=k._redis_partial_path,Le.getSharedFormName(j)||la(j,a)||z!=null&&z.useLegacyForm||t!=null&&t.credential||$==="freeform"){if(z!=null&&z.useLegacyForm&&(t!=null&&t.enableRedisPartial)&&k._supported_redis_partial_type){for(const L of B.fields)if(M(L)){K.push(L);continue}B.fields=B.fields.filter(L=>!M(L)),K.length&&B.fields.push({id:"_redis",fields:K,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path})}B.fields.sort((L,A)=>(L.order=L.order||0,A.order=A.order||0,L.order-A.order))}else{const L=[],A=[],D=[],q=[],Z={};if(z!=null&&z.fieldRules){const ee=[...z.fieldRules.atLeastOneOf??[],...z.fieldRules.onlyOneOf??[],...z.fieldRules.mutuallyRequired??[]];if(z.fieldRules.onlyOneOfMutuallyRequired)for(const Ae of z.fieldRules.onlyOneOfMutuallyRequired)ee.push(...Ae);for(const Ae of ee)for(const Ie of Ae)Z[Ie.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const ee of B.fields){if(t!=null&&t.enableRedisPartial&&k._supported_redis_partial_type&&M(ee)){q.push(ee);continue}if(ee.pinned){L.push(ee);continue}if(ee.required||Z[ee.model]!==void 0){Z[ee.model]===!1&&(Z[ee.model]=!0),A.push(ee);continue}D.push(ee)}q.length&&D.push({id:"_redis",fields:q,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path,order:-1});const v=Object.entries(Z).filter(([,ee])=>!ee).map(([ee])=>ee.replace(/-/g,".").replace(/_/g,"-"));v.length>0&&console.warn(`Unknown checked fields for plugin ${j}: ${v.join(", ")}`);const H=[];L.length>0&&H.push({fields:L.sort(ts)}),(A.length>0||D.length>0)&&H.push({fields:A.sort(ns),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:D.sort(ns),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"}}),B={groups:H}}return{schema:B,model:U,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=k=>Array.isArray(k.default)||k.default!=null&&typeof k.default!="object"&&k.default!=="function",u=(k,N,I,$,P,x)=>{const V=c(k);return $[N]=V?k.default:null,k.id=N,k.model=N,k.fields&&k.type==="record"?d(k,N,I,$,P,x):(I[N]=k,C(k,$),x&&x[N]&&p(I[N],x[N]),P.fields.push(k)),I},p=(k,N)=>(N&&(Object.assign(k,N),N.label&&(k.label=N.label)),k),d=(k,N,I,$,P,x)=>{k.fields.forEach(V=>{Object.keys(V).forEach(S=>{const B=V[S];I=u(B,N+"-"+S,I,$,P,x)})})},f=(k,N)=>{k.type="input",k.inputType="hidden",k.styleClasses="kong-form-hidden-field-wrapper";const I=t==null?void 0:t.entityId;N[k.model]=I?{id:I}: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])},g=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},y=k=>{if(k.type="object-advanced",k.values.type==="array"){const{type:N}=k.values.elements||{};k.schema={fields:[{schema:{fields:[{...De,model:k.model,valueArrayType:N==="integer"?"number":N||"string",inputAttributes:{...De.inputAttributes,type:N==="integer"?"number":"text",inputMode:N==="integer"?"numeric":"text"}}]}}]}}else k.values.fields&&(k.schema={fields:[{type:"object",model:"object",schema:{fields:k.values.fields.map(N=>{const I=Object.keys(N)[0];return{model:I,type:"input",label:n(I),placeholder:I,inputType:N[I].type}})}}]})},h=k=>k.fields.reduce((N,I)=>(I.fields&&I.fields.forEach($=>{N[$.model]=$}),I.model&&(N[I.model]=I),N),{}),w=(k,N)=>{if(!Le.customFields.includes(k.model))return;const I=h(k);Le.customFields.forEach($=>{Object.keys(I).forEach(P=>{const x=c(I[P]);N[P]=x?I[P].default:null}),delete N[$]})},E=(k,N)=>k.inputType==="hidden"?"":o(n(k.label||N.replace(/_/g," "))),C=(k,N)=>{switch(w(k,N),k.type){case"foreign":f(k,N);break;case"number":m(k),k.attributes={step:"any"};break;case"integer":m(k);break;case"string":g(k);break;case"boolean":_(k);break;case"map":y(k);break}k.inputType==="foreign"&&f(k,N),k.label=E(k,k.model)};function b(k,N){if(N==null||N.type&&N.type!=="record"||typeof k!="object"||k==null)return k;const I={};for(const $ of N.fields){const P=Object.keys($)[0],x=$[P];x.type==="record"?I[P]=b(k[P],x):x.type==="array"&&Array.isArray(k[P])&&x.elements.type==="record"?I[P]=k[P].map(V=>b(V,x.elements)):I[P]=k[P]}return I}return{buildFormSchema:u,parseSchema:s,customSchemas:i,typedefs:Bn,pruneRecord:b}},useExperimentalFreeForms:ca,useProvideExperimentalFreeForms:Zy,useFreeFormResolver:Qy},n_=(t,n)=>({type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label",items:{type:"select",values:t,selectOptions:{hideNoneSelectedText:!0},...(n==null?void 0:n[0])!=null?{default:n[0]}:{}}}),st="/v2/control-planes/{controlPlaneId}/core-entities",gt="/{workspace}",He={list:{konnect:{all:`${st}/plugins`,forEntity:`${st}/{entityType}/{entityId}/plugins`},kongManager:{all:`${gt}/plugins`,forEntity:`${gt}/{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:`${gt}/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:`${gt}/plugins`,forEntity:`${gt}/{entityType}/{entityId}/plugins`},edit:{all:`${gt}/plugins/{id}`,forEntity:`${gt}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${gt}/schemas/plugins/{plugin}`,credential:{create:`${gt}/{resourceEndpoint}`,edit:`${gt}/{resourceEndpoint}/{id}`},credentialSchema:`${gt}/schemas/{plugin}`,entityGetOne:`${gt}/{entity}/{id}`,entityGetAll:`${gt}/{entity}`}},item:{konnect:{all:`${st}/plugins/{id}`,forEntity:`${st}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${gt}/plugins/{id}`,forEntity:`${gt}/{entityType}/{entityId}/plugins/{id}`}}},o_={key:0},r_=be(e.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(t){const n=t,{formatPluginFieldLabel:o}=Fe.usePluginHelpers(),{i18n:{t:r}}=Fe.useI18n(),a=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(u=>o(u)).join(".")).join(", "),i=(s,c)=>r(s,{parameters:a(c)}),l=e.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(i("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(i("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(i("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const u=e.resolveComponent("KAlert");return e.openBlock(),e.createBlock(u,{class:"plugin-field-rule-alerts"},{default:e.withCtx(()=>[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(p,d)=>(e.openBlock(),e.createElementBlock("li",{key:`simple-alert-${d}`},e.toDisplayString(p),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(e.openBlock(),e.createElementBlock("li",o_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.rules.onlyOneOfMutuallyRequired,(p,d)=>(e.openBlock(),e.createElementBlock("div",{key:`only-one-mutually-alert-${d}`},[e.createElementVNode("div",null,e.toDisplayString(e.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p,(f,m)=>(e.openBlock(),e.createElementBlock("li",{key:`only-one-mutually-alert-${d}-combination-${m}`},e.toDisplayString(a(f)),1))),128))])]))),128))])):e.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]);function da(t){return t.map(n=>({value:n,label:`${n}`}))}const ua="*",wn="$",Yo=".";function Je(...t){return t.join(Yo)}function fa(...t){return Je(wn,...t)}function os(t){return t.startsWith(Je(wn,""))}function _t(t){return t.split(Yo).filter(n=>n!=="")}function Cn(t){const n=_t(t);return n[n.length-1]}function a_(t){return t.startsWith(wn)&&(t=Je(..._t(t).slice(1))),t}function i_(t,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(i=>{const l=i.model.match(o);return l&&!Object.keys(t).includes(l[0])}).map(i=>{const l=i.label.match(r);return{label:l?l[0]:i.label,key:i.model,value:"N/A",type:"text"}})}function l_(t){const n=e.toValue(t);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}function rs(t,n){return[...t].sort((o,r)=>{const a=Object.keys(o)[0],i=Object.keys(r)[0],l=n.indexOf(a),s=n.indexOf(i);return l===-1&&s===-1?0:l===-1?1:s===-1?-1:l-s})}function as(t,n){const o=new Map;t.forEach(u=>{const p=Object.keys(u)[0];o.set(p,u)});const r=new Map;n.forEach((u,p)=>{u.forEach((d,f)=>{r.has(d)||r.set(d,[]),r.get(d).push({bundleIndex:p,position:f})})});const a=new Set,i=[],l=new Set,s=u=>{const p=r.get(u);if(!p)return!0;for(const{bundleIndex:d,position:f}of p){const m=n[d];for(let g=0;g<f;g++){const _=m[g];if(o.has(_)&&!a.has(_))return!1}}return!0},c=u=>{if(a.has(u))return;const p=o.get(u);if(!p)return;i.push(p),a.add(u),l.delete(u);const d=r.get(u);if(d)for(const{bundleIndex:m,position:g}of d){const _=n[m];for(let y=g+1;y<_.length;y++){const h=_[y];if(!a.has(h)){const w=o.get(h);w&&(i.push(w),a.add(h),l.delete(h))}}}const f=Array.from(l);for(const m of f)s(m)&&c(m)};for(const u of t){const p=Object.keys(u)[0];a.has(p)||(s(p)?c(p):l.add(p))}return i}function s_(t){var r;const n=_t(t);let o={parent:null};for(n.pop();n.length;){const a=n.shift();o.path=(r=o.parent)!=null&&r.path?Je(o.parent.path,a):a,o={parent:o}}return o}function is(t){return e.computed(()=>s_(e.toValue(t)))}const ls=Symbol("free-form-field-path"),pa=Symbol("free-form-field-renderer-slots"),ss=Symbol("free-form-field-reset-label-path-setting"),En="free-form-field-renderers-slot",c_={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function d_(t,n=""){const o={},r=t;return Array.isArray(r.fields)?Object.assign(o,ma(r,n)):t.type==="array"&&t.elements&&Object.assign(o,ga(t,n)),o}function ma(t,n=""){const o={};if(Array.isArray(t.fields))for(const r of t.fields){const a=Object.keys(r)[0],i=r[a],l=n?Je(n,a):a;if(o[l]=i,i.type==="record"&&Array.isArray(i.fields)){const s=ma(i,l);Object.assign(o,s)}else if(i.type==="array"&&i.elements){const s=ga(i,l);Object.assign(o,s)}}return o}function ga(t,n=""){const o={};if(t.elements){const r=t.elements,a=Je(n,ua);if(o[a]=r,r.type==="record"&&Array.isArray(r.fields)){const i=ma(r,a);Object.assign(o,i)}else if(r.type==="array"&&r.elements){const i=ga(r,a);Object.assign(o,i)}}return o}function Jo(t){const n=_t(t).map(o=>/^\d+$/.test(o)?ua:o);return Je(...n)}function u_(t){const n=e.toValue(t),o=e.computed(()=>n?d_(n):{});function r(f){var m;return f==null?n:(m=o.value)==null?void 0:m[Jo(f)]}function a(f,m=!1){const g=r(f);return g?g.default!==void 0?g.default:m||g.required?g.type==="record"?i(g,f):g.type==="array"?[]:g.type==="map"?{}:null:null:null}function i(f,m){const g={};if(Array.isArray(f.fields))for(const _ of f.fields){const y=Object.keys(_)[0],h=m?`${m}.${y}`:y,w=a(h,!1);w!==void 0&&(g[y]=w)}return g}function l(f){return f?a(f,!0):i(r(),"")}function s(f){const m=r(f),g=m!=null&&m.description?Po.marked.parse(m.description,{async:!1}):void 0;return{...c_,"data-testid":`ff-label-${f}`,info:g}}function c(f){var g;const m=r(f);return da((m==null?void 0:m.one_of)||((g=m.elements)==null?void 0:g.one_of)||[])}function u(f){const m=r(f),g=m==null?void 0:m.default;let _=null;if((m==null?void 0:m.type)==="foreign"&&(g!=null&&g.id))_=g.id;else{if(g==null||typeof g=="object"||g==="")return null;if(Array.isArray(g)){if(g.length===0)return null;_=g.join(", ")}else _=g.toString()}return`Default: ${_}`}function p(){return o.value}function d(f){const m=r(f);return(m==null?void 0:m.required)?l(f):null}return{getSchemaMap:p,getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:u,getEmptyOrDefault:d}}function f_(t){const n=e.ref({}),o=e.ref(new Set);function r(g,_){const y=g.map(w=>_t(w).length),h=y[0];if(!y.every(w=>w===h)){const w=g.map((E,C)=>` - '${E}' is at level ${y[C]}`).join(`
12
+ authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:Bn.tags}]},Bu={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"]}}]},Fi={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:mn},{ttl:{help:"Time-to-live (in seconds) value for data"}}]},$u=t=>(t==null?void 0:t.app)==="kongManager"?{shamefullyTransformPayload:({payload:n})=>{(t!=null&&t.credential&&typeof n.ttl!="number"||Number.isNaN(n.ttl))&&(n.ttl=0)}}:{},Ru={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 (in seconds) value for data",type:"number"}}]},Nt={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",nameKey:"plugins.meta.basic-auth.name",freeformRenderRules:{dependencies:{"config.brute_force_protection.redis":["config.brute_force_protection.strategy","redis"]}},...F.PLUGIN_GROUP_AND_SCOPE_MAP["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",nameKey:"plugins.meta.hmac-auth.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",nameKey:"plugins.meta.jwt-signer.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",nameKey:"plugins.meta.jwt.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",nameKey:"plugins.meta.key-auth.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",nameKey:"plugins.meta.key-auth-enc.name",...F.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",...F.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",nameKey:"plugins.meta.ldap-auth.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",nameKey:"plugins.meta.oauth2-introspection.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",nameKey:"plugins.meta.oauth2.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",nameKey:"plugins.meta.openid-connect.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",nameKey:"plugins.meta.mtls-auth.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",nameKey:"plugins.meta.vault-auth.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",nameKey:"plugins.meta.bot-detection.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",nameKey:"plugins.meta.cors.name",...F.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"]]},...F.PLUGIN_GROUP_AND_SCOPE_MAP["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",nameKey:"plugins.meta.opa.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...F.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"]]},...F.PLUGIN_GROUP_AND_SCOPE_MAP["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...F.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"]]},...F.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"]]]},...F.PLUGIN_GROUP_AND_SCOPE_MAP["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",nameKey:"plugins.meta.proxy-cache.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",nameKey:"plugins.meta.proxy-cache-advanced.name",...F.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",...F.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",...F.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"]]},freeformRenderRules:{bundles:[["config.policy","config.redis"]],dependencies:{"config.redis":["config.policy","redis"]}},...F.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",...F.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"]]},...F.PLUGIN_GROUP_AND_SCOPE_MAP.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",nameKey:"plugins.meta.request-size-limiting.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",nameKey:"plugins.meta.request-termination.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",nameKey:"plugins.meta.response-ratelimiting.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",nameKey:"plugins.meta.route-by-header.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...F.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,...F.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,...F.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,...F.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,...F.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,...F.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,...F.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,...F.PLUGIN_GROUP_AND_SCOPE_MAP["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",nameKey:"plugins.meta.aws-lambda.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",nameKey:"plugins.meta.azure-functions.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",nameKey:"plugins.meta.openwhisk.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",nameKey:"plugins.meta.pre-function.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",nameKey:"plugins.meta.post-function.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",nameKey:"plugins.meta.datadog.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",nameKey:"plugins.meta.prometheus.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",nameKey:"plugins.meta.zipkin.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",nameKey:"plugins.meta.collector.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",nameKey:"plugins.meta.response-transformer-advanced.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",nameKey:"plugins.meta.correlation-id.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",nameKey:"plugins.meta.request-transformer-advanced.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",nameKey:"plugins.meta.request-transformer.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",nameKey:"plugins.meta.response-transformer.name",...F.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"]]},...F.PLUGIN_GROUP_AND_SCOPE_MAP["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",nameKey:"plugins.meta.kafka-upstream.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",nameKey:"plugins.meta.degraphql.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",nameKey:"plugins.meta.exit-transformer.name",...F.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"]]},...F.PLUGIN_GROUP_AND_SCOPE_MAP.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",nameKey:"plugins.meta.file-log.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",nameKey:"plugins.meta.http-log.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",nameKey:"plugins.meta.loggly.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",nameKey:"plugins.meta.statsd-advanced.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",nameKey:"plugins.meta.statsd.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",nameKey:"plugins.meta.syslog.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",nameKey:"plugins.meta.tcp-log.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",nameKey:"plugins.meta.udp-log.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",nameKey:"plugins.meta.kafka-log.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",nameKey:"plugins.meta.session.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",nameKey:"plugins.meta.upstream-tls.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",nameKey:"plugins.meta.application-registration.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",nameKey:"plugins.meta.konnect-application-auth.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",nameKey:"plugins.meta.acme.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",nameKey:"plugins.meta.grpc-gateway.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",nameKey:"plugins.meta.grpc-web.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",nameKey:"plugins.meta.upstream-timeout.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.access_logs_endpoint","config.traces_endpoint","config.logs_endpoint"]]},...F.PLUGIN_GROUP_AND_SCOPE_MAP.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",nameKey:"plugins.meta.websocket-validator.name",...F.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"]]},...F.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",...F.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",...F.PLUGIN_GROUP_AND_SCOPE_MAP["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",nameKey:"plugins.meta.oas-validation.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",nameKey:"plugins.meta.jwe-decrypt.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",nameKey:"plugins.meta.xml-threat-protection.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",nameKey:"plugins.meta.saml.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",nameKey:"plugins.meta.app-dynamics.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",nameKey:"plugins.meta.json-threat-protection.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",nameKey:"plugins.meta.standard-webhooks.name",...F.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,...F.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,...F.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,...F.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"]]]},...F.PLUGIN_GROUP_AND_SCOPE_MAP["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",nameKey:"plugins.meta.upstream-oauth.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["upstream-oauth"],freeformRenderRules:{bundles:[["config.cache.strategy","config.cache.redis"]],dependencies:{"config.cache.redis":["config.cache.strategy","redis"]}}},confluent:{descriptionKey:"plugins.meta.confluent.description",nameKey:"plugins.meta.confluent.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",nameKey:"plugins.meta.service-protection.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",nameKey:"plugins.meta.injection-protection.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",nameKey:"plugins.meta.redirect.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.redirect},"kafka-consume":{descriptionKey:"plugins.meta.kafka-consume.description",nameKey:"plugins.meta.kafka-consume.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["kafka-consume"]},"confluent-consume":{descriptionKey:"plugins.meta.confluent-consume.description",nameKey:"plugins.meta.confluent-consume.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["confluent-consume"]},"request-callout":{descriptionKey:"plugins.meta.request-callout.description",nameKey:"plugins.meta.request-callout.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["request-callout"]},"ai-sanitizer":{descriptionKey:"plugins.meta.ai-sanitizer.description",nameKey:"plugins.meta.ai-sanitizer.name",useLegacyForm:!0,...F.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,...F.PLUGIN_GROUP_AND_SCOPE_MAP["ai-rag-injector"]},datakit:{descriptionKey:"plugins.meta.datakit.description",nameKey:"plugins.meta.datakit.name",useUIData:!0,...F.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,...F.PLUGIN_GROUP_AND_SCOPE_MAP["ai-prompt-compressor"]},"solace-upstream":{descriptionKey:"plugins.meta.solace-upstream.description",nameKey:"plugins.meta.solace-upstream.name",...F.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,...F.PLUGIN_GROUP_AND_SCOPE_MAP["ai-aws-guardrails"]},ace:{descriptionKey:"plugins.meta.ace.description",nameKey:"plugins.meta.ace.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP.ace},"solace-consume":{descriptionKey:"plugins.meta.solace-consume.description",nameKey:"plugins.meta.solace-consume.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["solace-consume"]},"solace-log":{descriptionKey:"plugins.meta.solace-log.description",nameKey:"plugins.meta.solace-log.name",...F.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,...F.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,...F.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,...F.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,...F.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,...F.PLUGIN_GROUP_AND_SCOPE_MAP["ai-semantic-response-guard"]},"ai-lakera-guard":{descriptionKey:"plugins.meta.ai-lakera-guard.description",nameKey:"plugins.meta.ai-lakera-guard.name",useLegacyForm:!0,...F.PLUGIN_GROUP_AND_SCOPE_MAP["ai-lakera-guard"]},"ai-a2a-proxy":{descriptionKey:"plugins.meta.ai-a2a-proxy.description",nameKey:"plugins.meta.ai-a2a-proxy.name",useLegacyForm:!0,...F.PLUGIN_GROUP_AND_SCOPE_MAP["ai-a2a-proxy"]},"ai-custom-guardrail":{descriptionKey:"plugins.meta.ai-custom-guardrail.description",nameKey:"plugins.meta.ai-custom-guardrail.name",useLegacyForm:!0,...F.PLUGIN_GROUP_AND_SCOPE_MAP["ai-custom-guardrail"]},"metering-billing":{descriptionKey:"plugins.meta.metering-billing.description",nameKey:"plugins.meta.metering-billing.name",...F.PLUGIN_GROUP_AND_SCOPE_MAP["metering-billing"]}},$n={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:Ti,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:pn(Ti),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Oi,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:pn(Oi)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Bi,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:pn(Bi)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Fi,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:pn(Fi)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Ri,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:pn(Ri)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:$i,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:pn($i)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Ou,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Fu={acls:Eu,basicauth_credentials:Nu,keyauth_credentials:Iu,keyauth_enc_credentials:Ru,oauth2_credentials:Bu,hmacauth_credentials:Tu,jwt_secrets:Vu},Lu=()=>{const{i18n:{t}}=Le(),n={},o={};for(const[a,i]of Object.entries(Nt))n[a]={...i,name:t(i.nameKey),description:t(i.descriptionKey)};for(const[a,i]of Object.entries($n))o[a]={...i,name:t(i.nameKey),title:t(i.titleKey)};return{pluginMetaData:n,credentialMetaData:o,credentialSchemas:$n,getDisplayName:a=>{var i;return((i=n[a])==null?void 0:i.name)||a}}},Zn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Du={"config-prompts-prepend":{...Zn,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":{...Zn,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"}]}}}},Mu={"config-templates":{...Zn,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"}]}}}},ju={shamefullyTransformPayload:({originalModel:t,model:n,payload:o,schema:r})=>{const a=l=>{var s;return(s=r[l])!=null&&s.required&&n[l]?!0:t[l]===n[l]?!1:t[l]===null?n[l]!==""&&!Number.isNaN(n[l]):!0},i=l=>Object.keys(t).some(s=>s.startsWith(l)&&a(s));i("config-embeddings")||(o.config.embeddings=null),i("config-vectordb")||(o.config.vectordb=null)}},Li=t=>t.split(",").map(n=>n.trim()).filter(Boolean),vu={shamefullyTransformPayload:({payload:t})=>{var n;(n=t==null?void 0:t.config)!=null&&n.collection_acl_config&&Object.values(t.config.collection_acl_config).forEach(o=>{typeof(o==null?void 0:o.allow)=="string"&&(o.allow=Li(o.allow)),typeof(o==null?void 0:o.deny)=="string"&&(o.deny=Li(o.deny))})}},Uu={"config-prompt":{label:"Prompt",placeholder:"Enter your prompt",type:"textArea",rows:4,max:!1}},Ku={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:Bn.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"}},ve={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"},$o={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},qu={"config-metrics":{...$o,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"}]}}}},Gu={"config-functions":{...ve,inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}}},zu={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Hu={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Wu={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Yu={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Ju={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Di=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((t,n)=>({...t,[n]:Bn.fields.arrayItems({newElementButtonLabel:"Add"})}),Ju),Ro={"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"}},Xu={"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":{}},Zu=["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((t,n)=>({...t,[n]:Bn.fields.arrayItems({newElementButtonLabel:"Add"})}),Xu),Mi={"config-add-json":{...ve,label:"Config.Add.Json",inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...ve,label:"Config.Append.Json",inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...ve,label:"Config.Remove.Json",inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...ve,label:"Config.Rename.Json",inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...ve,label:"Config.Replace.Json",inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}}},Qu={...Mi,"config-allow-json":{...ve,label:"Config.Allow.Json",inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...ve,label:"Config.Transform.Functions",inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...ve,label:"Config.Transform.Json",inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}}},ef={"config-rules":{...Zn,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"}]}}}},tf={"config-session_redis_cluster_nodes":{...Zn,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"}]}}}},nf={"config-flow-functions":{...ve,inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}}},of={"config-message-functions":{...ve,inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}}},rf={"config-metrics":{...$o,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"]}]}}}},af={"config-metrics":{...$o,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"]}]}}}},lf={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},sf={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:t=>({id:t}),keyFromObject:"id"}};var ji=typeof global=="object"&&global&&global.Object===Object&&global,cf=typeof self=="object"&&self&&self.Object===Object&&self,Ft=ji||cf||Function("return this")(),xt=Ft.Symbol,vi=Object.prototype,df=vi.hasOwnProperty,uf=vi.toString,Qn=xt?xt.toStringTag:void 0;function ff(t){var n=df.call(t,Qn),o=t[Qn];try{t[Qn]=void 0;var r=!0}catch{}var a=uf.call(t);return r&&(n?t[Qn]=o:delete t[Qn]),a}var pf=Object.prototype,mf=pf.toString;function gf(t){return mf.call(t)}var hf="[object Null]",yf="[object Undefined]",Ui=xt?xt.toStringTag:void 0;function gn(t){return t==null?t===void 0?yf:hf:Ui&&Ui in Object(t)?ff(t):gf(t)}function Lt(t){return t!=null&&typeof t=="object"}var _f="[object Symbol]";function $r(t){return typeof t=="symbol"||Lt(t)&&gn(t)==_f}function Rr(t,n){for(var o=-1,r=t==null?0:t.length,a=Array(r);++o<r;)a[o]=n(t[o],o,t);return a}var Ot=Array.isArray,Ki=xt?xt.prototype:void 0,qi=Ki?Ki.toString:void 0;function Gi(t){if(typeof t=="string")return t;if(Ot(t))return Rr(t,Gi)+"";if($r(t))return qi?qi.call(t):"";var n=t+"";return n=="0"&&1/t==-1/0?"-0":n}function hn(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}function zi(t){return t}var bf="[object AsyncFunction]",kf="[object Function]",wf="[object GeneratorFunction]",Cf="[object Proxy]";function Fo(t){if(!hn(t))return!1;var n=gn(t);return n==kf||n==wf||n==bf||n==Cf}var Fr=Ft["__core-js_shared__"],Hi=(function(){var t=/[^.]+$/.exec(Fr&&Fr.keys&&Fr.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function Ef(t){return!!Hi&&Hi in t}var Nf=Function.prototype,xf=Nf.toString;function yn(t){if(t!=null){try{return xf.call(t)}catch{}try{return t+""}catch{}}return""}var Af=/[\\^$.*+?()[\]{}|]/g,Sf=/^\[object .+?Constructor\]$/,Pf=Function.prototype,If=Object.prototype,Tf=Pf.toString,Of=If.hasOwnProperty,Vf=RegExp("^"+Tf.call(Of).replace(Af,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Bf(t){if(!hn(t)||Ef(t))return!1;var n=Fo(t)?Vf:Sf;return n.test(yn(t))}function $f(t,n){return t==null?void 0:t[n]}function _n(t,n){var o=$f(t,n);return Bf(o)?o:void 0}var Lr=_n(Ft,"WeakMap"),Wi=Object.create,Rf=(function(){function t(){}return function(n){if(!hn(n))return{};if(Wi)return Wi(n);t.prototype=n;var o=new t;return t.prototype=void 0,o}})();function Ff(t,n,o){switch(o.length){case 0:return t.call(n);case 1:return t.call(n,o[0]);case 2:return t.call(n,o[0],o[1]);case 3:return t.call(n,o[0],o[1],o[2])}return t.apply(n,o)}function Lf(t,n){var o=-1,r=t.length;for(n||(n=Array(r));++o<r;)n[o]=t[o];return n}var Df=800,Mf=16,jf=Date.now;function vf(t){var n=0,o=0;return function(){var r=jf(),a=Mf-(r-o);if(o=r,a>0){if(++n>=Df)return arguments[0]}else n=0;return t.apply(void 0,arguments)}}function Uf(t){return function(){return t}}var Lo=(function(){try{var t=_n(Object,"defineProperty");return t({},"",{}),t}catch{}})(),Kf=Lo?function(t,n){return Lo(t,"toString",{configurable:!0,enumerable:!1,value:Uf(n),writable:!0})}:zi,Yi=vf(Kf);function qf(t,n){for(var o=-1,r=t==null?0:t.length;++o<r&&n(t[o],o,t)!==!1;);return t}function Gf(t,n,o,r){for(var a=t.length,i=o+-1;++i<a;)if(n(t[i],i,t))return i;return-1}function zf(t){return t!==t}function Hf(t,n,o){for(var r=o-1,a=t.length;++r<a;)if(t[r]===n)return r;return-1}function Wf(t,n,o){return n===n?Hf(t,n,o):Gf(t,zf,o)}function Yf(t,n){var o=t==null?0:t.length;return!!o&&Wf(t,n,0)>-1}var Jf=9007199254740991,Xf=/^(?:0|[1-9]\d*)$/;function Dr(t,n){var o=typeof t;return n=n??Jf,!!n&&(o=="number"||o!="symbol"&&Xf.test(t))&&t>-1&&t%1==0&&t<n}function Ji(t,n,o){n=="__proto__"&&Lo?Lo(t,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):t[n]=o}function Mr(t,n){return t===n||t!==t&&n!==n}var Zf=Object.prototype,Qf=Zf.hasOwnProperty;function jr(t,n,o){var r=t[n];(!(Qf.call(t,n)&&Mr(r,o))||o===void 0&&!(n in t))&&Ji(t,n,o)}function eo(t,n,o,r){var a=!o;o||(o={});for(var i=-1,l=n.length;++i<l;){var s=n[i],c=void 0;c===void 0&&(c=t[s]),a?Ji(o,s,c):jr(o,s,c)}return o}var Xi=Math.max;function Zi(t,n,o){return n=Xi(n===void 0?t.length-1:n,0),function(){for(var r=arguments,a=-1,i=Xi(r.length-n,0),l=Array(i);++a<i;)l[a]=r[n+a];a=-1;for(var s=Array(n+1);++a<n;)s[a]=r[a];return s[n]=o(l),Ff(t,this,s)}}function ep(t,n){return Yi(Zi(t,n,zi),t+"")}var tp=9007199254740991;function vr(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=tp}function Do(t){return t!=null&&vr(t.length)&&!Fo(t)}var np=Object.prototype;function Mo(t){var n=t&&t.constructor,o=typeof n=="function"&&n.prototype||np;return t===o}function op(t,n){for(var o=-1,r=Array(t);++o<t;)r[o]=n(o);return r}var rp="[object Arguments]";function Qi(t){return Lt(t)&&gn(t)==rp}var el=Object.prototype,ap=el.hasOwnProperty,ip=el.propertyIsEnumerable,jo=Qi((function(){return arguments})())?Qi:function(t){return Lt(t)&&ap.call(t,"callee")&&!ip.call(t,"callee")};function lp(){return!1}var tl=typeof ke=="object"&&ke&&!ke.nodeType&&ke,nl=tl&&typeof module=="object"&&module&&!module.nodeType&&module,sp=nl&&nl.exports===tl,ol=sp?Ft.Buffer:void 0,cp=ol?ol.isBuffer:void 0,to=cp||lp,dp="[object Arguments]",up="[object Array]",fp="[object Boolean]",pp="[object Date]",mp="[object Error]",gp="[object Function]",hp="[object Map]",yp="[object Number]",_p="[object Object]",bp="[object RegExp]",kp="[object Set]",wp="[object String]",Cp="[object WeakMap]",Ep="[object ArrayBuffer]",Np="[object DataView]",xp="[object Float32Array]",Ap="[object Float64Array]",Sp="[object Int8Array]",Pp="[object Int16Array]",Ip="[object Int32Array]",Tp="[object Uint8Array]",Op="[object Uint8ClampedArray]",Vp="[object Uint16Array]",Bp="[object Uint32Array]",He={};He[xp]=He[Ap]=He[Sp]=He[Pp]=He[Ip]=He[Tp]=He[Op]=He[Vp]=He[Bp]=!0,He[dp]=He[up]=He[Ep]=He[fp]=He[Np]=He[pp]=He[mp]=He[gp]=He[hp]=He[yp]=He[_p]=He[bp]=He[kp]=He[wp]=He[Cp]=!1;function $p(t){return Lt(t)&&vr(t.length)&&!!He[gn(t)]}function Ur(t){return function(n){return t(n)}}var rl=typeof ke=="object"&&ke&&!ke.nodeType&&ke,no=rl&&typeof module=="object"&&module&&!module.nodeType&&module,Rp=no&&no.exports===rl,Kr=Rp&&ji.process,Rn=(function(){try{var t=no&&no.require&&no.require("util").types;return t||Kr&&Kr.binding&&Kr.binding("util")}catch{}})(),al=Rn&&Rn.isTypedArray,qr=al?Ur(al):$p,Fp=Object.prototype,Lp=Fp.hasOwnProperty;function il(t,n){var o=Ot(t),r=!o&&jo(t),a=!o&&!r&&to(t),i=!o&&!r&&!a&&qr(t),l=o||r||a||i,s=l?op(t.length,String):[],c=s.length;for(var u in t)(n||Lp.call(t,u))&&!(l&&(u=="length"||a&&(u=="offset"||u=="parent")||i&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||Dr(u,c)))&&s.push(u);return s}function ll(t,n){return function(o){return t(n(o))}}var Dp=ll(Object.keys,Object),Mp=Object.prototype,jp=Mp.hasOwnProperty;function sl(t){if(!Mo(t))return Dp(t);var n=[];for(var o in Object(t))jp.call(t,o)&&o!="constructor"&&n.push(o);return n}function Gr(t){return Do(t)?il(t):sl(t)}function vp(t){var n=[];if(t!=null)for(var o in Object(t))n.push(o);return n}var Up=Object.prototype,Kp=Up.hasOwnProperty;function qp(t){if(!hn(t))return vp(t);var n=Mo(t),o=[];for(var r in t)r=="constructor"&&(n||!Kp.call(t,r))||o.push(r);return o}function zr(t){return Do(t)?il(t,!0):qp(t)}var Gp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,zp=/^\w*$/;function Hp(t,n){if(Ot(t))return!1;var o=typeof t;return o=="number"||o=="symbol"||o=="boolean"||t==null||$r(t)?!0:zp.test(t)||!Gp.test(t)||n!=null&&t in Object(n)}var oo=_n(Object,"create");function Wp(){this.__data__=oo?oo(null):{},this.size=0}function Yp(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}var Jp="__lodash_hash_undefined__",Xp=Object.prototype,Zp=Xp.hasOwnProperty;function Qp(t){var n=this.__data__;if(oo){var o=n[t];return o===Jp?void 0:o}return Zp.call(n,t)?n[t]:void 0}var em=Object.prototype,tm=em.hasOwnProperty;function nm(t){var n=this.__data__;return oo?n[t]!==void 0:tm.call(n,t)}var om="__lodash_hash_undefined__";function rm(t,n){var o=this.__data__;return this.size+=this.has(t)?0:1,o[t]=oo&&n===void 0?om:n,this}function bn(t){var n=-1,o=t==null?0:t.length;for(this.clear();++n<o;){var r=t[n];this.set(r[0],r[1])}}bn.prototype.clear=Wp,bn.prototype.delete=Yp,bn.prototype.get=Qp,bn.prototype.has=nm,bn.prototype.set=rm;function am(){this.__data__=[],this.size=0}function vo(t,n){for(var o=t.length;o--;)if(Mr(t[o][0],n))return o;return-1}var im=Array.prototype,lm=im.splice;function sm(t){var n=this.__data__,o=vo(n,t);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():lm.call(n,o,1),--this.size,!0}function cm(t){var n=this.__data__,o=vo(n,t);return o<0?void 0:n[o][1]}function dm(t){return vo(this.__data__,t)>-1}function um(t,n){var o=this.__data__,r=vo(o,t);return r<0?(++this.size,o.push([t,n])):o[r][1]=n,this}function vt(t){var n=-1,o=t==null?0:t.length;for(this.clear();++n<o;){var r=t[n];this.set(r[0],r[1])}}vt.prototype.clear=am,vt.prototype.delete=sm,vt.prototype.get=cm,vt.prototype.has=dm,vt.prototype.set=um;var ro=_n(Ft,"Map");function fm(){this.size=0,this.__data__={hash:new bn,map:new(ro||vt),string:new bn}}function pm(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}function Uo(t,n){var o=t.__data__;return pm(n)?o[typeof n=="string"?"string":"hash"]:o.map}function mm(t){var n=Uo(this,t).delete(t);return this.size-=n?1:0,n}function gm(t){return Uo(this,t).get(t)}function hm(t){return Uo(this,t).has(t)}function ym(t,n){var o=Uo(this,t),r=o.size;return o.set(t,n),this.size+=o.size==r?0:1,this}function Ut(t){var n=-1,o=t==null?0:t.length;for(this.clear();++n<o;){var r=t[n];this.set(r[0],r[1])}}Ut.prototype.clear=fm,Ut.prototype.delete=mm,Ut.prototype.get=gm,Ut.prototype.has=hm,Ut.prototype.set=ym;var _m="Expected a function";function Hr(t,n){if(typeof t!="function"||n!=null&&typeof n!="function")throw new TypeError(_m);var o=function(){var r=arguments,a=n?n.apply(this,r):r[0],i=o.cache;if(i.has(a))return i.get(a);var l=t.apply(this,r);return o.cache=i.set(a,l)||i,l};return o.cache=new(Hr.Cache||Ut),o}Hr.Cache=Ut;var bm=500;function km(t){var n=Hr(t,function(r){return o.size===bm&&o.clear(),r}),o=n.cache;return n}var wm=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Cm=/\\(\\)?/g,Em=km(function(t){var n=[];return t.charCodeAt(0)===46&&n.push(""),t.replace(wm,function(o,r,a,i){n.push(a?i.replace(Cm,"$1"):r||o)}),n});function Ko(t){return t==null?"":Gi(t)}function Fn(t,n){return Ot(t)?t:Hp(t,n)?[t]:Em(Ko(t))}function qo(t){if(typeof t=="string"||$r(t))return t;var n=t+"";return n=="0"&&1/t==-1/0?"-0":n}function Wr(t,n){n=Fn(n,t);for(var o=0,r=n.length;t!=null&&o<r;)t=t[qo(n[o++])];return o&&o==r?t:void 0}function Go(t,n,o){var r=t==null?void 0:Wr(t,n);return r===void 0?o:r}function Yr(t,n){for(var o=-1,r=n.length,a=t.length;++o<r;)t[a+o]=n[o];return t}var cl=xt?xt.isConcatSpreadable:void 0;function Nm(t){return Ot(t)||jo(t)||!!(cl&&t&&t[cl])}function xm(t,n,o,r,a){var i=-1,l=t.length;for(o||(o=Nm),a||(a=[]);++i<l;){var s=t[i];o(s)?Yr(a,s):a[a.length]=s}return a}function Am(t){var n=t==null?0:t.length;return n?xm(t):[]}function dl(t){return Yi(Zi(t,void 0,Am),t+"")}var Jr=ll(Object.getPrototypeOf,Object),Sm="[object Object]",Pm=Function.prototype,Im=Object.prototype,ul=Pm.toString,Tm=Im.hasOwnProperty,Om=ul.call(Object);function Vm(t){if(!Lt(t)||gn(t)!=Sm)return!1;var n=Jr(t);if(n===null)return!0;var o=Tm.call(n,"constructor")&&n.constructor;return typeof o=="function"&&o instanceof o&&ul.call(o)==Om}function fl(t,n,o){var r=-1,a=t.length;n<0&&(n=-n>a?0:a+n),o=o>a?a:o,o<0&&(o+=a),a=n>o?0:o-n>>>0,n>>>=0;for(var i=Array(a);++r<a;)i[r]=t[r+n];return i}function Bm(t,n,o){var r=t.length;return o=o===void 0?r:o,!n&&o>=r?t:fl(t,n,o)}var $m="\\ud800-\\udfff",Rm="\\u0300-\\u036f",Fm="\\ufe20-\\ufe2f",Lm="\\u20d0-\\u20ff",Dm=Rm+Fm+Lm,Mm="\\ufe0e\\ufe0f",jm="\\u200d",vm=RegExp("["+jm+$m+Dm+Mm+"]");function pl(t){return vm.test(t)}function Um(t){return t.split("")}var ml="\\ud800-\\udfff",Km="\\u0300-\\u036f",qm="\\ufe20-\\ufe2f",Gm="\\u20d0-\\u20ff",zm=Km+qm+Gm,Hm="\\ufe0e\\ufe0f",Wm="["+ml+"]",Xr="["+zm+"]",Zr="\\ud83c[\\udffb-\\udfff]",Ym="(?:"+Xr+"|"+Zr+")",gl="[^"+ml+"]",hl="(?:\\ud83c[\\udde6-\\uddff]){2}",yl="[\\ud800-\\udbff][\\udc00-\\udfff]",Jm="\\u200d",_l=Ym+"?",bl="["+Hm+"]?",Xm="(?:"+Jm+"(?:"+[gl,hl,yl].join("|")+")"+bl+_l+")*",Zm=bl+_l+Xm,Qm="(?:"+[gl+Xr+"?",Xr,hl,yl,Wm].join("|")+")",eg=RegExp(Zr+"(?="+Zr+")|"+Qm+Zm,"g");function tg(t){return t.match(eg)||[]}function ng(t){return pl(t)?tg(t):Um(t)}function og(t){return function(n){n=Ko(n);var o=pl(n)?ng(n):void 0,r=o?o[0]:n.charAt(0),a=o?Bm(o,1).join(""):n.slice(1);return r[t]()+a}}var rg=og("toUpperCase");function ag(t){return function(n){return t==null?void 0:t[n]}}function ig(){this.__data__=new vt,this.size=0}function lg(t){var n=this.__data__,o=n.delete(t);return this.size=n.size,o}function sg(t){return this.__data__.get(t)}function cg(t){return this.__data__.has(t)}var dg=200;function ug(t,n){var o=this.__data__;if(o instanceof vt){var r=o.__data__;if(!ro||r.length<dg-1)return r.push([t,n]),this.size=++o.size,this;o=this.__data__=new Ut(r)}return o.set(t,n),this.size=o.size,this}function Kt(t){var n=this.__data__=new vt(t);this.size=n.size}Kt.prototype.clear=ig,Kt.prototype.delete=lg,Kt.prototype.get=sg,Kt.prototype.has=cg,Kt.prototype.set=ug;function fg(t,n){return t&&eo(n,Gr(n),t)}function pg(t,n){return t&&eo(n,zr(n),t)}var kl=typeof ke=="object"&&ke&&!ke.nodeType&&ke,wl=kl&&typeof module=="object"&&module&&!module.nodeType&&module,mg=wl&&wl.exports===kl,Cl=mg?Ft.Buffer:void 0,El=Cl?Cl.allocUnsafe:void 0;function gg(t,n){if(n)return t.slice();var o=t.length,r=El?El(o):new t.constructor(o);return t.copy(r),r}function hg(t,n){for(var o=-1,r=t==null?0:t.length,a=0,i=[];++o<r;){var l=t[o];n(l,o,t)&&(i[a++]=l)}return i}function Nl(){return[]}var yg=Object.prototype,_g=yg.propertyIsEnumerable,xl=Object.getOwnPropertySymbols,Qr=xl?function(t){return t==null?[]:(t=Object(t),hg(xl(t),function(n){return _g.call(t,n)}))}:Nl;function bg(t,n){return eo(t,Qr(t),n)}var kg=Object.getOwnPropertySymbols,Al=kg?function(t){for(var n=[];t;)Yr(n,Qr(t)),t=Jr(t);return n}:Nl;function wg(t,n){return eo(t,Al(t),n)}function Sl(t,n,o){var r=n(t);return Ot(t)?r:Yr(r,o(t))}function ea(t){return Sl(t,Gr,Qr)}function Pl(t){return Sl(t,zr,Al)}var ta=_n(Ft,"DataView"),na=_n(Ft,"Promise"),oa=_n(Ft,"Set"),Il="[object Map]",Cg="[object Object]",Tl="[object Promise]",Ol="[object Set]",Vl="[object WeakMap]",Bl="[object DataView]",Eg=yn(ta),Ng=yn(ro),xg=yn(na),Ag=yn(oa),Sg=yn(Lr),At=gn;(ta&&At(new ta(new ArrayBuffer(1)))!=Bl||ro&&At(new ro)!=Il||na&&At(na.resolve())!=Tl||oa&&At(new oa)!=Ol||Lr&&At(new Lr)!=Vl)&&(At=function(t){var n=gn(t),o=n==Cg?t.constructor:void 0,r=o?yn(o):"";if(r)switch(r){case Eg:return Bl;case Ng:return Il;case xg:return Tl;case Ag:return Ol;case Sg:return Vl}return n});var Pg=Object.prototype,Ig=Pg.hasOwnProperty;function Tg(t){var n=t.length,o=new t.constructor(n);return n&&typeof t[0]=="string"&&Ig.call(t,"index")&&(o.index=t.index,o.input=t.input),o}var zo=Ft.Uint8Array;function ra(t){var n=new t.constructor(t.byteLength);return new zo(n).set(new zo(t)),n}function Og(t,n){var o=n?ra(t.buffer):t.buffer;return new t.constructor(o,t.byteOffset,t.byteLength)}var Vg=/\w*$/;function Bg(t){var n=new t.constructor(t.source,Vg.exec(t));return n.lastIndex=t.lastIndex,n}var $l=xt?xt.prototype:void 0,Rl=$l?$l.valueOf:void 0;function $g(t){return Rl?Object(Rl.call(t)):{}}function Rg(t,n){var o=n?ra(t.buffer):t.buffer;return new t.constructor(o,t.byteOffset,t.length)}var Fg="[object Boolean]",Lg="[object Date]",Dg="[object Map]",Mg="[object Number]",jg="[object RegExp]",vg="[object Set]",Ug="[object String]",Kg="[object Symbol]",qg="[object ArrayBuffer]",Gg="[object DataView]",zg="[object Float32Array]",Hg="[object Float64Array]",Wg="[object Int8Array]",Yg="[object Int16Array]",Jg="[object Int32Array]",Xg="[object Uint8Array]",Zg="[object Uint8ClampedArray]",Qg="[object Uint16Array]",eh="[object Uint32Array]";function th(t,n,o){var r=t.constructor;switch(n){case qg:return ra(t);case Fg:case Lg:return new r(+t);case Gg:return Og(t,o);case zg:case Hg:case Wg:case Yg:case Jg:case Xg:case Zg:case Qg:case eh:return Rg(t,o);case Dg:return new r;case Mg:case Ug:return new r(t);case jg:return Bg(t);case vg:return new r;case Kg:return $g(t)}}function nh(t){return typeof t.constructor=="function"&&!Mo(t)?Rf(Jr(t)):{}}var oh="[object Map]";function rh(t){return Lt(t)&&At(t)==oh}var Fl=Rn&&Rn.isMap,ah=Fl?Ur(Fl):rh,ih="[object Set]";function lh(t){return Lt(t)&&At(t)==ih}var Ll=Rn&&Rn.isSet,sh=Ll?Ur(Ll):lh,ch=1,dh=2,uh=4,Dl="[object Arguments]",fh="[object Array]",ph="[object Boolean]",mh="[object Date]",gh="[object Error]",Ml="[object Function]",hh="[object GeneratorFunction]",yh="[object Map]",_h="[object Number]",jl="[object Object]",bh="[object RegExp]",kh="[object Set]",wh="[object String]",Ch="[object Symbol]",Eh="[object WeakMap]",Nh="[object ArrayBuffer]",xh="[object DataView]",Ah="[object Float32Array]",Sh="[object Float64Array]",Ph="[object Int8Array]",Ih="[object Int16Array]",Th="[object Int32Array]",Oh="[object Uint8Array]",Vh="[object Uint8ClampedArray]",Bh="[object Uint16Array]",$h="[object Uint32Array]",Ge={};Ge[Dl]=Ge[fh]=Ge[Nh]=Ge[xh]=Ge[ph]=Ge[mh]=Ge[Ah]=Ge[Sh]=Ge[Ph]=Ge[Ih]=Ge[Th]=Ge[yh]=Ge[_h]=Ge[jl]=Ge[bh]=Ge[kh]=Ge[wh]=Ge[Ch]=Ge[Oh]=Ge[Vh]=Ge[Bh]=Ge[$h]=!0,Ge[gh]=Ge[Ml]=Ge[Eh]=!1;function ao(t,n,o,r,a,i){var l,s=n&ch,c=n&dh,u=n&uh;if(o&&(l=a?o(t,r,a,i):o(t)),l!==void 0)return l;if(!hn(t))return t;var p=Ot(t);if(p){if(l=Tg(t),!s)return Lf(t,l)}else{var d=At(t),f=d==Ml||d==hh;if(to(t))return gg(t,s);if(d==jl||d==Dl||f&&!a){if(l=c||f?{}:nh(t),!s)return c?wg(t,pg(l,t)):bg(t,fg(l,t))}else{if(!Ge[d])return a?t:{};l=th(t,d,s)}}i||(i=new Kt);var m=i.get(t);if(m)return m;i.set(t,l),sh(t)?t.forEach(function(h){l.add(ao(h,n,o,h,t,i))}):ah(t)&&t.forEach(function(h,y){l.set(y,ao(h,n,o,y,t,i))});var g=u?c?Pl:ea:c?zr:Gr,_=p?void 0:g(t);return qf(_||t,function(h,y){_&&(y=h,h=t[y]),jr(l,y,ao(h,n,o,y,t,i))}),l}var Rh=1,Fh=4;function kn(t){return ao(t,Rh|Fh)}var Lh="__lodash_hash_undefined__";function Dh(t){return this.__data__.set(t,Lh),this}function Mh(t){return this.__data__.has(t)}function io(t){var n=-1,o=t==null?0:t.length;for(this.__data__=new Ut;++n<o;)this.add(t[n])}io.prototype.add=io.prototype.push=Dh,io.prototype.has=Mh;function jh(t,n){for(var o=-1,r=t==null?0:t.length;++o<r;)if(n(t[o],o,t))return!0;return!1}function aa(t,n){return t.has(n)}var vh=1,Uh=2;function vl(t,n,o,r,a,i){var l=o&vh,s=t.length,c=n.length;if(s!=c&&!(l&&c>s))return!1;var u=i.get(t),p=i.get(n);if(u&&p)return u==n&&p==t;var d=-1,f=!0,m=o&Uh?new io:void 0;for(i.set(t,n),i.set(n,t);++d<s;){var g=t[d],_=n[d];if(r)var h=l?r(_,g,d,n,t,i):r(g,_,d,t,n,i);if(h!==void 0){if(h)continue;f=!1;break}if(m){if(!jh(n,function(y,w){if(!aa(m,w)&&(g===y||a(g,y,o,r,i)))return m.push(w)})){f=!1;break}}else if(!(g===_||a(g,_,o,r,i))){f=!1;break}}return i.delete(t),i.delete(n),f}function Kh(t){var n=-1,o=Array(t.size);return t.forEach(function(r,a){o[++n]=[a,r]}),o}function qh(t){var n=-1,o=Array(t.size);return t.forEach(function(r){o[++n]=r}),o}var Gh=1,zh=2,Hh="[object Boolean]",Wh="[object Date]",Yh="[object Error]",Jh="[object Map]",Xh="[object Number]",Zh="[object RegExp]",Qh="[object Set]",ey="[object String]",ty="[object Symbol]",ny="[object ArrayBuffer]",oy="[object DataView]",Ul=xt?xt.prototype:void 0,ia=Ul?Ul.valueOf:void 0;function ry(t,n,o,r,a,i,l){switch(o){case oy:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case ny:return!(t.byteLength!=n.byteLength||!i(new zo(t),new zo(n)));case Hh:case Wh:case Xh:return Mr(+t,+n);case Yh:return t.name==n.name&&t.message==n.message;case Zh:case ey:return t==n+"";case Jh:var s=Kh;case Qh:var c=r&Gh;if(s||(s=qh),t.size!=n.size&&!c)return!1;var u=l.get(t);if(u)return u==n;r|=zh,l.set(t,n);var p=vl(s(t),s(n),r,a,i,l);return l.delete(t),p;case ty:if(ia)return ia.call(t)==ia.call(n)}return!1}var ay=1,iy=Object.prototype,ly=iy.hasOwnProperty;function sy(t,n,o,r,a,i){var l=o&ay,s=ea(t),c=s.length,u=ea(n),p=u.length;if(c!=p&&!l)return!1;for(var d=c;d--;){var f=s[d];if(!(l?f in n:ly.call(n,f)))return!1}var m=i.get(t),g=i.get(n);if(m&&g)return m==n&&g==t;var _=!0;i.set(t,n),i.set(n,t);for(var h=l;++d<c;){f=s[d];var y=t[f],w=n[f];if(r)var E=l?r(w,y,f,n,t,i):r(y,w,f,t,n,i);if(!(E===void 0?y===w||a(y,w,o,r,i):E)){_=!1;break}h||(h=f=="constructor")}if(_&&!h){var C=t.constructor,b=n.constructor;C!=b&&"constructor"in t&&"constructor"in n&&!(typeof C=="function"&&C instanceof C&&typeof b=="function"&&b instanceof b)&&(_=!1)}return i.delete(t),i.delete(n),_}var cy=1,Kl="[object Arguments]",ql="[object Array]",Ho="[object Object]",dy=Object.prototype,Gl=dy.hasOwnProperty;function uy(t,n,o,r,a,i){var l=Ot(t),s=Ot(n),c=l?ql:At(t),u=s?ql:At(n);c=c==Kl?Ho:c,u=u==Kl?Ho:u;var p=c==Ho,d=u==Ho,f=c==u;if(f&&to(t)){if(!to(n))return!1;l=!0,p=!1}if(f&&!p)return i||(i=new Kt),l||qr(t)?vl(t,n,o,r,a,i):ry(t,n,c,o,r,a,i);if(!(o&cy)){var m=p&&Gl.call(t,"__wrapped__"),g=d&&Gl.call(n,"__wrapped__");if(m||g){var _=m?t.value():t,h=g?n.value():n;return i||(i=new Kt),a(_,h,o,r,i)}}return f?(i||(i=new Kt),sy(t,n,o,r,a,i)):!1}function zl(t,n,o,r,a){return t===n?!0:t==null||n==null||!Lt(t)&&!Lt(n)?t!==t&&n!==n:uy(t,n,o,r,zl,a)}function fy(t,n){return t!=null&&n in Object(t)}function Hl(t,n,o){n=Fn(n,t);for(var r=-1,a=n.length,i=!1;++r<a;){var l=qo(n[r]);if(!(i=t!=null&&o(t,l)))break;t=t[l]}return i||++r!=a?i:(a=t==null?0:t.length,!!a&&vr(a)&&Dr(l,a)&&(Ot(t)||jo(t)))}function py(t,n){return t!=null&&Hl(t,n,fy)}function my(t){return Lt(t)&&Do(t)}function gy(t){var n=t==null?0:t.length;return n?t[n-1]:void 0}var hy={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},yy=ag(hy),Wl=/[&<>"']/g,_y=RegExp(Wl.source);function by(t){return t=Ko(t),t&&_y.test(t)?t.replace(Wl,yy):t}var ky=Object.prototype,wy=ky.hasOwnProperty;function Cy(t,n){return t!=null&&wy.call(t,n)}function Wo(t,n){return t!=null&&Hl(t,n,Cy)}var Ey=Math.min;function Ny(t,n,o){for(var r=Yf,a=t[0].length,i=t.length,l=i,s=Array(i),c=1/0,u=[];l--;){var p=t[l];c=Ey(p.length,c),s[l]=a>=120&&p.length>=120?new io(l&&p):void 0}p=t[0];var d=-1,f=s[0];e:for(;++d<a&&u.length<c;){var m=p[d],g=m;if(m=m!==0?m:0,!(f?aa(f,g):r(u,g))){for(l=i;--l;){var _=s[l];if(!(_?aa(_,g):r(t[l],g)))continue e}f&&f.push(g),u.push(m)}}return u}function xy(t){return my(t)?t:[]}var Ay=ep(function(t){var n=Rr(t,xy);return n.length&&n[0]===t[0]?Ny(n):[]});function Sy(t,n){return n.length<2?t:Wr(t,fl(n,0,-1))}var Py="[object Map]",Iy="[object Set]",Ty=Object.prototype,Oy=Ty.hasOwnProperty;function Yl(t){if(t==null)return!0;if(Do(t)&&(Ot(t)||typeof t=="string"||typeof t.splice=="function"||to(t)||qr(t)||jo(t)))return!t.length;var n=At(t);if(n==Py||n==Iy)return!t.size;if(Mo(t))return!sl(t).length;for(var o in t)if(Oy.call(t,o))return!1;return!0}function en(t,n){return zl(t,n)}var Vy=Object.prototype,By=Vy.hasOwnProperty;function Jl(t,n){n=Fn(n,t);var o=-1,r=n.length;if(!r)return!0;for(var a=t==null||typeof t!="object"&&typeof t!="function";++o<r;){var i=n[o];if(typeof i=="string"){if(i==="__proto__"&&!By.call(t,"__proto__"))return!1;if(i==="constructor"&&o+1<r&&typeof n[o+1]=="string"&&n[o+1]==="prototype"){if(a&&o===0)continue;return!1}}}var l=Sy(t,n);return l==null||delete l[qo(gy(n))]}function $y(t){return Vm(t)?void 0:t}var Ry=1,Fy=2,Ly=4,tn=dl(function(t,n){var o={};if(t==null)return o;var r=!1;n=Rr(n,function(i){return i=Fn(i,t),r||(r=i.length>1),i}),eo(t,Pl(t),o),r&&(o=ao(o,Ry|Fy|Ly,$y));for(var a=n.length;a--;)Jl(o,n[a]);return o});function Xl(t,n,o,r){if(!hn(t))return t;n=Fn(n,t);for(var a=-1,i=n.length,l=i-1,s=t;s!=null&&++a<i;){var c=qo(n[a]),u=o;if(c==="__proto__"||c==="constructor"||c==="prototype")return t;if(a!=l){var p=s[c];u=void 0,u===void 0&&(u=hn(p)?p:Dr(n[a+1])?[]:{})}jr(s,c,u),s=s[c]}return t}function Dy(t,n,o){for(var r=-1,a=n.length,i={};++r<a;){var l=n[r],s=Wr(t,l);o(s,l)&&Xl(i,Fn(l,t),s)}return i}function My(t,n){return Dy(t,n,function(o,r){return py(t,r)})}var la=dl(function(t,n){return t==null?{}:My(t,n)});function Zl(t,n,o){return t==null?t:Xl(t,n,o)}var jy=0;function Yo(t){var n=++jy;return Ko(t)+n}function Ql(t,n){return t==null?!0:Jl(t,n)}const vy=[{authentication:{mode:"none"},ssl_verify:!0},{authentication:{basic:{}}},{authentication:{basic:{},oauth2:{token_headers:{},token_post_args:{}},oauth2_client:{}}}],wn=t=>{var n,o,r,a,i,l;((o=(n=t.confluent)==null?void 0:n.authentication)==null?void 0:o.mode)==="none"&&(delete t.confluent.authentication.oauth2,delete t.confluent.authentication.oauth2_client,delete t.confluent.authentication.basic),((a=(r=t.confluent)==null?void 0:r.authentication)==null?void 0:a.mode)==="basic"&&(delete t.confluent.authentication.oauth2,delete t.confluent.authentication.oauth2_client),((l=(i=t.confluent)==null?void 0:i.authentication)==null?void 0:l.mode)==="oauth2"&&delete t.confluent.authentication.basic,vy.some(s=>en(t.confluent,s))&&(t.confluent=null)};function Uy(t,n){const o=t.split(""),r=n.split(""),a=o.length,i=r.length,l=Array.from({length:a+1},()=>Array(i+1).fill(0));for(let p=1;p<=a;p++)for(let d=1;d<=i;d++)o[p-1]===r[d-1]?l[p][d]=l[p-1][d-1]+1:l[p][d]=Math.max(l[p-1][d],l[p][d-1]);let s="",c=a,u=i;for(;c>0&&u>0;)o[c-1]===r[u-1]?(s=o[c-1]+s,c--,u--):l[c-1][u]>l[c][u-1]?c--:u--;return s}function Ky(t){const n=Date.now(),o=2688*60*60*1e3;return Math.abs(n-t)<=o}const qy={"config-message_by_lua_functions":{...ve,inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:t})=>{var n;wn((n=t.config)==null?void 0:n.schema_registry)}},Gy={"config-message_by_lua_functions":{...ve,inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:t})=>{var n;wn((n=t.config)==null?void 0:n.schema_registry)}},zy={"config-message_by_lua_functions":{...ve,inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:t})=>{var n,o,r;wn((n=t.config)==null?void 0:n.schema_registry),(r=(o=t.config)==null?void 0:o.topics)==null||r.forEach(a=>{wn(a==null?void 0:a.schema_registry)})}},Hy={"config-message_by_lua_functions":{...ve,inputAttributes:{...ve.inputAttributes,type:"textarea",max:!1}},shamefullyTransformPayload:({payload:t})=>{var n,o,r;wn((n=t.config)==null?void 0:n.schema_registry),(r=(o=t.config)==null?void 0:o.topics)==null||r.forEach(a=>{wn(a==null?void 0:a.schema_registry)})}},Wy={shamefullyTransformPayload:({payload:t})=>{var n;wn((n=t.config)==null?void 0:n.schema_registry)}},Yy={"config-static_tags":{...$o,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"}]}}}},Jy={"request-callout":"RequestCalloutForm","service-protection":{experimental:!0,component:"ServiceProtectionForm"},datakit:"DatakitForm","ai-mcp-proxy":"AIMcpProxyForm","jwt-signer":"CommonForm","upstream-oauth":{experimental:!0,component:"UpstreamOauthForm"},"key-auth":{experimental:!0,component:"KeyAuthForm"},"rate-limiting":{experimental:!0,component:"CommonForm"},jwt:{experimental:!0,component:"CommonForm"},"route-transformer-advanced":{experimental:!0,component:"CommonForm"},"request-transformer":{experimental:!0,component:"CommonForm"},"basic-auth":{experimental:!0,component:"CommonForm"}};function sa(t,n){const o=Jy[t];if(typeof o=="string")return o;if(n.includes(t))return o.component}function Xy(t,n,o){return o?o==="freeform":!!sa(t,n)}const ca=Symbol("EXPERIMENTAL_FREE_FORM_PROVIDER"),lo={KM_2262_CODE_MODE:"KM-2262-code-mode",KM_2306_CONDITION_FIELD_314:"KM-2306-condition-field-314"},es=Symbol("TOASTER_PROVIDER"),Ln="__FREEFORM_SCHEMA_MAP__";function da(){return e.inject(ca,[])}function Zy(t){e.provide(ca,t)}function Qy(){const t=da();return{shouldUseFreeForm:(n,o)=>Xy(n,t,o),getFreeFormName:n=>sa(n,t)||"CommonForm"}}const e_={shamefullyTransformPayload(t){var o;if(!((o=t.payload.config)!=null&&o.token_exchange))return t;const n=t.payload.config.token_exchange.subject_token_issuers;return n&&n.forEach(r=>{en(r.conditions,{})&&delete r.conditions,r.conditions&&Object.values(r.conditions).every(a=>Array.isArray(a)&&a.length===0)&&delete r.conditions}),t}},t_=(t,n)=>{const o=t.model.startsWith("config-"),r=n.model.startsWith("config-");return o&&!r?1:!o&&r?-1:0},ts=(t,n)=>(t.order??0)-(n.order??0),ns=(t,n)=>t_(t,n)||ts(t,n)||t.model.localeCompare(n.model),Me={useI18n:Le,usePluginMetaData:Lu,usePluginHelpers:Pi,useSchemas:t=>{const{capitalize:n}=ee.useStringHelpers(),{convertToDotNotation:o}=Pi(),{i18n:{t:r}}=Le(),a=da(),i={"application-registration":{overwriteDefault:!0,formSchema:{...Ku}},datadog:{...qu},"exit-transformer":{...Gu},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...rf},"statsd-advanced":{...af},"route-by-header":{...ef},"ai-prompt-decorator":{...Du},"ai-prompt-template":{...Mu},"ai-proxy-advanced":{...ju},"ai-rag-injector":{...vu},"ai-llm-as-judge":{...Uu},"vault-auth":{...sf},"oas-validation":{...Yu},mocking:{...Wu},"rate-limiting":{...Ro},"rate-limiting-advanced":(t==null?void 0:t.app)==="kongManager"?{"config-consumer_groups":Ro["config-consumer_groups"]}:{...Ro},"graphql-rate-limiting-advanced":{...zu},"injection-protection":{...Hu},"response-ratelimiting":{...Ro},"pre-function":{...Di},"post-function":{...Di},"request-transformer-advanced":{...Zu},"response-transformer":{...Mi},"response-transformer-advanced":{...Qu},zipkin:{...Yy},"upstream-oauth":{...lf},saml:{...tf},"kafka-upstream":{...qy},"solace-consume":{...nf},"solace-upstream":{...of},"key-auth":Pu(t),"key-auth-enc":$u(t),confluent:{...Gy},"confluent-consume":{...zy},"kafka-consume":{...Hy},"kafka-log":{...Wy},"openid-connect":{...e_}},l=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(k,N,S,R)=>{let P={};(N||k)&&(P=N||(k.fields?k.fields:k));const A=l().concat(k.blacklist?k.blacklist:[]),T=Object.keys(P).filter(j=>!A.includes(j)),O=T.indexOf("comparator");O>-1&&T.splice(O,1);let I={fields:[]};const q={};T.forEach(j=>{u(P[j],j,P,q,I,S)});const v=q.name,W=Nt[v],U=[],D=j=>{const x=["cluster-cache"];for(const M of x)if(j.model.includes(M))return!1;return new RegExp("(?<=-redis-).*").test(j.model)};if(I._supported_redis_partial_type=k._supported_redis_partial_type,I._redis_partial_path=k._redis_partial_path,je.getSharedFormName(v)||sa(v,a)||W!=null&&W.useLegacyForm||t!=null&&t.credential||R==="freeform"){if(W!=null&&W.useLegacyForm&&(t!=null&&t.enableRedisPartial)&&k._supported_redis_partial_type){for(const j of I.fields)if(D(j)){U.push(j);continue}I.fields=I.fields.filter(j=>!D(j)),U.length&&I.fields.push({id:"_redis",fields:U,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path})}I.fields.sort((j,x)=>(j.order=j.order||0,x.order=x.order||0,j.order-x.order))}else{const j=[],x=[],M=[],G=[],te={};if(W!=null&&W.fieldRules){const Z=[...W.fieldRules.atLeastOneOf??[],...W.fieldRules.onlyOneOf??[],...W.fieldRules.mutuallyRequired??[]];if(W.fieldRules.onlyOneOfMutuallyRequired)for(const Ne of W.fieldRules.onlyOneOfMutuallyRequired)Z.push(...Ne);for(const Ne of Z)for(const Oe of Ne)te[Oe.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const Z of I.fields){if(t!=null&&t.enableRedisPartial&&k._supported_redis_partial_type&&D(Z)){G.push(Z);continue}if(Z.pinned){j.push(Z);continue}if(Z.required||te[Z.model]!==void 0){te[Z.model]===!1&&(te[Z.model]=!0),x.push(Z);continue}M.push(Z)}G.length&&M.push({id:"_redis",fields:G,model:"__redis_partial",pluginType:k._isCustomPlugin?"custom":"bundled",redisType:k._supported_redis_partial_type,redisPath:k._redis_partial_path,order:-1});const L=Object.entries(te).filter(([,Z])=>!Z).map(([Z])=>Z.replace(/-/g,".").replace(/_/g,"-"));L.length>0&&console.warn(`Unknown checked fields for plugin ${v}: ${L.join(", ")}`);const H=[];j.length>0&&H.push({fields:j.sort(ts)}),(x.length>0||M.length>0)&&H.push({fields:x.sort(ns),collapsible:{title:r("plugins.form.grouping.plugin_configuration.title"),description:r("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:M.sort(ns),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:H}}return{schema:I,model:q,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=k=>Array.isArray(k.default)||k.default!=null&&typeof k.default!="object"&&k.default!=="function",u=(k,N,S,R,P,A)=>{const T=c(k);return R[N]=T?k.default:null,k.id=N,k.model=N,k.fields&&k.type==="record"?d(k,N,S,R,P,A):(S[N]=k,C(k,R),A&&A[N]&&p(S[N],A[N]),P.fields.push(k)),S},p=(k,N)=>(N&&(Object.assign(k,N),N.label&&(k.label=N.label)),k),d=(k,N,S,R,P,A)=>{k.fields.forEach(T=>{Object.keys(T).forEach(O=>{const I=T[O];S=u(I,N+"-"+O,S,R,P,A)})})},f=(k,N)=>{k.type="input",k.inputType="hidden",k.styleClasses="kong-form-hidden-field-wrapper";const S=t==null?void 0:t.entityId;N[k.model]=S?{id:S}: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])},g=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},h=k=>{if(k.type="object-advanced",k.values.type==="array"){const{type:N}=k.values.elements||{};k.schema={fields:[{schema:{fields:[{...ve,model:k.model,valueArrayType:N==="integer"?"number":N||"string",inputAttributes:{...ve.inputAttributes,type:N==="integer"?"number":"text",inputMode:N==="integer"?"numeric":"text"}}]}}]}}else k.values.fields&&(k.schema={fields:[{type:"object",model:"object",schema:{fields:k.values.fields.map(N=>{const S=Object.keys(N)[0];return{model:S,type:"input",label:n(S),placeholder:S,inputType:N[S].type}})}}]})},y=k=>k.fields.reduce((N,S)=>(S.fields&&S.fields.forEach(R=>{N[R.model]=R}),S.model&&(N[S.model]=S),N),{}),w=(k,N)=>{if(!je.customFields.includes(k.model))return;const S=y(k);je.customFields.forEach(R=>{Object.keys(S).forEach(P=>{const A=c(S[P]);N[P]=A?S[P].default:null}),delete N[R]})},E=(k,N)=>k.inputType==="hidden"?"":o(n(k.label||N.replace(/_/g," "))),C=(k,N)=>{switch(w(k,N),k.type){case"foreign":f(k,N);break;case"number":m(k),k.attributes={step:"any"};break;case"integer":m(k);break;case"string":g(k);break;case"boolean":_(k);break;case"map":h(k);break}k.inputType==="foreign"&&f(k,N),k.label=E(k,k.model)};function b(k,N){if(N==null||N.type&&N.type!=="record"||typeof k!="object"||k==null)return k;const S={};for(const R of N.fields){const P=Object.keys(R)[0],A=R[P];A.type==="record"?S[P]=b(k[P],A):A.type==="array"&&Array.isArray(k[P])&&A.elements.type==="record"?S[P]=k[P].map(T=>b(T,A.elements)):S[P]=k[P]}return S}return{buildFormSchema:u,parseSchema:s,customSchemas:i,typedefs:Bn,pruneRecord:b}},useExperimentalFreeForms:da,useProvideExperimentalFreeForms:Zy,useFreeFormResolver:Qy},n_=(t,n)=>({type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label",items:{type:"select",values:t,selectOptions:{hideNoneSelectedText:!0},...(n==null?void 0:n[0])!=null?{default:n[0]}:{}}}),dt="/v2/control-planes/{controlPlaneId}/core-entities",ht="/{workspace}",We={list:{konnect:{all:`${dt}/plugins`,forEntity:`${dt}/{entityType}/{entityId}/plugins`},kongManager:{all:`${ht}/plugins`,forEntity:`${ht}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${dt}/v1/available-plugins`,streamingCustomPlugins:`${dt}/custom-plugins`,schemaCustomPluginItem:`${dt}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${dt}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${ht}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${dt}/plugins`,forEntity:`${dt}/{entityType}/{entityId}/plugins`},edit:{all:`${dt}/plugins/{id}`,forEntity:`${dt}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${dt}/{resourceEndpoint}`,edit:`${dt}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",entityGetOne:`${dt}/{entity}/{id}`,entityGetAll:`${dt}/{entity}`,entityPeek:`${dt}/{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:`${dt}/plugins/{id}`,forEntity:`${dt}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${ht}/plugins/{id}`,forEntity:`${ht}/{entityType}/{entityId}/plugins/{id}`}}},o_={key:0},r_=ye(e.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(t){const n=t,{formatPluginFieldLabel:o}=Me.usePluginHelpers(),{i18n:{t:r}}=Me.useI18n(),a=s=>s.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(u=>o(u)).join(".")).join(", "),i=(s,c)=>r(s,{parameters:a(c)}),l=e.computed(()=>{const s=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)s.push(i("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)s.push(i("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)s.push(i("plugins.form.field_rules.mutually_required",c));return s});return(s,c)=>{const u=e.resolveComponent("KAlert");return e.openBlock(),e.createBlock(u,{class:"plugin-field-rule-alerts"},{default:e.withCtx(()=>[e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(p,d)=>(e.openBlock(),e.createElementBlock("li",{key:`simple-alert-${d}`},e.toDisplayString(p),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(e.openBlock(),e.createElementBlock("li",o_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.rules.onlyOneOfMutuallyRequired,(p,d)=>(e.openBlock(),e.createElementBlock("div",{key:`only-one-mutually-alert-${d}`},[e.createElementVNode("div",null,e.toDisplayString(e.unref(r)("plugins.form.field_rules.only_one_of_mutually_required")),1),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p,(f,m)=>(e.openBlock(),e.createElementBlock("li",{key:`only-one-mutually-alert-${d}-combination-${m}`},e.toDisplayString(a(f)),1))),128))])]))),128))])):e.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-d8eb79cf"]]);function ua(t){return t.map(n=>({value:n,label:`${n}`}))}const fa="*",Cn="$",Jo=".";function Xe(...t){return t.join(Jo)}function pa(...t){return Xe(Cn,...t)}function os(t){return t.startsWith(Xe(Cn,""))}function bt(t){return t.split(Jo).filter(n=>n!=="")}function En(t){const n=bt(t);return n[n.length-1]}function a_(t){return t.startsWith(Cn)&&(t=Xe(...bt(t).slice(1))),t}function i_(t,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(i=>{const l=i.model.match(o);return l&&!Object.keys(t).includes(l[0])}).map(i=>{const l=i.label.match(r);return{label:l?l[0]:i.label,key:i.model,value:"N/A",type:"text"}})}function l_(t){const n=e.toValue(t);return n?n.type==="set"&&n.elements.type==="string"&&!n.elements.one_of:!1}function rs(t,n){return[...t].sort((o,r)=>{const a=Object.keys(o)[0],i=Object.keys(r)[0],l=n.indexOf(a),s=n.indexOf(i);return l===-1&&s===-1?0:l===-1?1:s===-1?-1:l-s})}function as(t,n){const o=new Map;t.forEach(u=>{const p=Object.keys(u)[0];o.set(p,u)});const r=new Map;n.forEach((u,p)=>{u.forEach((d,f)=>{r.has(d)||r.set(d,[]),r.get(d).push({bundleIndex:p,position:f})})});const a=new Set,i=[],l=new Set,s=u=>{const p=r.get(u);if(!p)return!0;for(const{bundleIndex:d,position:f}of p){const m=n[d];for(let g=0;g<f;g++){const _=m[g];if(o.has(_)&&!a.has(_))return!1}}return!0},c=u=>{if(a.has(u))return;const p=o.get(u);if(!p)return;i.push(p),a.add(u),l.delete(u);const d=r.get(u);if(d)for(const{bundleIndex:m,position:g}of d){const _=n[m];for(let h=g+1;h<_.length;h++){const y=_[h];if(!a.has(y)){const w=o.get(y);w&&(i.push(w),a.add(y),l.delete(y))}}}const f=Array.from(l);for(const m of f)s(m)&&c(m)};for(const u of t){const p=Object.keys(u)[0];a.has(p)||(s(p)?c(p):l.add(p))}return i}function s_(t){var r;const n=bt(t);let o={parent:null};for(n.pop();n.length;){const a=n.shift();o.path=(r=o.parent)!=null&&r.path?Xe(o.parent.path,a):a,o={parent:o}}return o}function is(t){return e.computed(()=>s_(e.toValue(t)))}const ls=Symbol("free-form-field-path"),ma=Symbol("free-form-field-renderer-slots"),ss=Symbol("free-form-field-reset-label-path-setting"),Nn="free-form-field-renderers-slot",c_={tooltipAttributes:{maxWidth:"300px",placement:"top"}};function d_(t,n=""){const o={},r=t;return Array.isArray(r.fields)?Object.assign(o,ga(r,n)):t.type==="array"&&t.elements&&Object.assign(o,ha(t,n)),o}function ga(t,n=""){const o={};if(Array.isArray(t.fields))for(const r of t.fields){const a=Object.keys(r)[0],i=r[a],l=n?Xe(n,a):a;if(o[l]=i,i.type==="record"&&Array.isArray(i.fields)){const s=ga(i,l);Object.assign(o,s)}else if(i.type==="array"&&i.elements){const s=ha(i,l);Object.assign(o,s)}}return o}function ha(t,n=""){const o={};if(t.elements){const r=t.elements,a=Xe(n,fa);if(o[a]=r,r.type==="record"&&Array.isArray(r.fields)){const i=ga(r,a);Object.assign(o,i)}else if(r.type==="array"&&r.elements){const i=ha(r,a);Object.assign(o,i)}}return o}function Xo(t){const n=bt(t).map(o=>/^\d+$/.test(o)?fa:o);return Xe(...n)}function u_(t){const n=e.toValue(t),o=e.computed(()=>n?d_(n):{});function r(f){var m;return f==null?n:(m=o.value)==null?void 0:m[Xo(f)]}function a(f,m=!1){const g=r(f);return g?g.default!==void 0?g.default:m||g.required?g.type==="record"?i(g,f):g.type==="array"?[]:g.type==="map"?{}:null:null:null}function i(f,m){const g={};if(Array.isArray(f.fields))for(const _ of f.fields){const h=Object.keys(_)[0],y=m?`${m}.${h}`:h,w=a(y,!1);w!==void 0&&(g[h]=w)}return g}function l(f){return f?a(f,!0):i(r(),"")}function s(f){const m=r(f),g=m!=null&&m.description?Io.marked.parse(m.description,{async:!1}):void 0;return{...c_,"data-testid":`ff-label-${f}`,info:g}}function c(f){var g;const m=r(f);return ua((m==null?void 0:m.one_of)||((g=m.elements)==null?void 0:g.one_of)||[])}function u(f){const m=r(f),g=m==null?void 0:m.default;let _=null;if((m==null?void 0:m.type)==="foreign"&&(g!=null&&g.id))_=g.id;else{if(g==null||typeof g=="object"||g==="")return null;if(Array.isArray(g)){if(g.length===0)return null;_=g.join(", ")}else _=g.toString()}return`Default: ${_}`}function p(){return o.value}function d(f){const m=r(f);return(m==null?void 0:m.required)?l(f):null}return{getSchemaMap:p,getSchema:r,getDefault:l,getSelectItems:c,getLabelAttributes:s,getPlaceholder:u,getEmptyOrDefault:d}}function f_(t){const n=e.ref({}),o=e.ref(new Set);function r(g,_){const h=g.map(w=>bt(w).length),y=h[0];if(!h.every(w=>w===y)){const w=g.map((E,C)=>` - '${E}' is at level ${h[C]}`).join(`
14
14
  `);throw new Error(`${_}: Fields must be at the same level. Found mixed levels:
15
- ${w}`)}}function a(g){for(const[_,y]of Object.entries(g)){if(!y.bundles)continue;for(const w of y.bundles)if(new Set(w).size!==w.length){const C=w.filter((b,k)=>w.indexOf(b)!==k);throw new Error(`Self-cycle detected in bundle: field '${C[0]}' appears multiple times in [${w.join(", ")}]`)}const h=new Map;for(const w of y.bundles)for(let E=1;E<w.length;E++){const C=w[E],b=w[E-1];h.has(C)||h.set(C,new Set),h.get(C).add(b)}for(const w of h.keys()){let E=function(k){if(b.includes(k)){const I=[...b,k].join(" -> ");throw new Error(`Circular bundle detected in path '${_}':
16
- ${I}`)}if(C.has(k))return;C.add(k),b.push(k);const N=h.get(k);if(N)for(const I of N)E(I);b.pop()};const C=new Set,b=[];E(w)}}}function i(g){for(const[_,y]of Object.entries(g))if(y.dependencies)for(const h of Object.keys(y.dependencies)){let w=function(b){if(C.includes(b)){const N=[...C,b].join(" -> ");throw new Error(`Circular dependency detected in path '${_}':
17
- ${N}`)}if(E.has(b))return;E.add(b),C.push(b);const k=y.dependencies[b];if(k){const[N]=k;y.dependencies[N]&&w(N)}C.pop()};const E=new Set,C=[];w(h)}}function l(g,_){const y=g.map(w=>_?Je(_,w):w),h=_t(y[0]);return h.pop(),Je(...h)}function s(g,_){if(!_)return g;const y=`${_}${Yo}`;return g.startsWith(y)?g.slice(y.length):g}function c(g){const _=_t(g);return _.pop(),Je(..._)}const u=e.computed(()=>{const g={};for(const[_,y]of Object.entries(n.value)){const h=_===wn?"":_;if(y.bundles)for(const w of y.bundles){if(w.length<2)throw new Error(`Bundle must contain at least 2 fields. Found ${w.length} field(s) in bundle: [${w.join(", ")}]`);const E=w.map(k=>h?Je(h,k):k);r(E,`Bundle [${w.join(", ")}]`);const C=l(w,h)||wn;g[C]||(g[C]={}),g[C].bundles||(g[C].bundles=[]);const b=E.map(k=>s(k,C));g[C].bundles.push(b)}if(y.dependencies)for(const[w,[E,C]]of Object.entries(y.dependencies)){const b=h?Je(h,w):w,k=h?Je(h,E):E;r([b,k],`Dependency '${w}' -> '${E}'`);const N=c(b)||wn;g[N]||(g[N]={}),g[N].dependencies||(g[N].dependencies={});const I=s(b,N),$=s(k,N);g[N].dependencies[I]=[$,C]}}return a(g),i(g),g});function p(g){if(!g)return u.value;const _=Jo(g);return u.value[_]}function d(g){let _=!1;return e.computed(()=>{if(_)return;const y=e.toValue(g);try{return p(y)}catch(h){_=!0,console.error(`Failed to get render rules for path: \`${y}\`,`,h instanceof Error?h.message:"");return}})}function f(g){const{fieldPath:_,rules:y,parentValue:h,omittedFields:w}=g;e.watch([()=>e.toValue(y),()=>e.toValue(_)],([C,b],[,k])=>{C?n.value[b]=C:delete n.value[b],k&&k!==b&&delete n.value[k]},{immediate:!0,deep:!0});const E=d(_);return e.watch([()=>e.toValue(h),()=>{var C;return(C=e.toValue(E))==null?void 0:C.dependencies},()=>e.toValue(_),()=>e.toValue(w)],([C,b,k,N])=>{!b||!C||Object.entries(b).forEach(([I,[$,P]])=>{if(N!=null&&N.includes(I))return;const x=qo(C,$),V=k?a_(Je(k,I)):I;if(Qt(x,P)){o.value.delete(V),t();return}o.value.add(V),t()})},{deep:!0,immediate:!0}),e.onBeforeUnmount(()=>{const C=e.toValue(_);delete n.value[C]}),E}function m(g){return o.value.has(g)}return{useCurrentRules:f,createComputedRules:d,hiddenPaths:e.readonly(o),isFieldHidden:m}}const[p_,m_]=Ye.createInjectionState(function(n){const{schema:o,propsData:r,onChange:a,propsRenderRules:i,propsConfig:l}=n,s=u_(o),c=new Map,u=e.reactive({}),p=e.toRef(()=>l??{}),d=e.useSlots();e.provide(pa,en(d,"default",En));const{useCurrentRules:f,createComputedRules:m,hiddenPaths:g,isFieldHidden:_}=f_(()=>a==null?void 0:a(C())),y=f({fieldPath:wn,rules:i,parentValue:u});function h(b){Object.keys(u).forEach(k=>{delete u[k]}),Object.assign(u,b)}function w(b){let k;!b||!E(e.toValue(b))?k=s.getDefault():k=bn(e.toValue(b)),Ro(p.value.prepareFormData)?h(p.value.prepareFormData(k)):h(k)}function E(b){return Ro(p.value.hasValue)?p.value.hasValue(b):!!b}function C(){const b=e.toValue(u),k=bn(b);if(g.value.size>0)for(const N of g.value){const I=_t(N),$=I.slice(0,-1);($.length===0||qo(k,$)!=null)&&Xl(k,I,s.getEmptyOrDefault(N))}return k}return e.watch(u,()=>{a==null||a(C())},{deep:!0}),e.watch(()=>r==null?void 0:r.value,b=>{w(b)},{deep:!0,immediate:!0}),{formData:u,schema:o,config:p,fieldRendererRegistry:c,setValue:h,useCurrentRenderRules:f,rootRenderRules:y,createComputedRenderRules:m,...s,getValue:C,isFieldHidden:_}});function Ue(){const t=m_();if(!t)throw new Error("useFormShared() called without provider.");return t}const cs=t=>{const n=e.inject(ls,e.computed(()=>"")),o=e.computed(()=>{const r=e.toValue(t);let a=r;return!os(r)&&n.value&&(a=Je(n.value,r)),os(r)&&(a=a.slice(fa("").length)),a});return e.provide(ls,o),o},g_=t=>{const{getSchema:n,fieldRendererRegistry:o}=Ue(),{default:r,...a}=e.useSlots(),i=e.inject(pa),l=e.computed(()=>{const c=e.toValue(i),u=Object.keys(a).filter(p=>p!==En&&p!=="item").reduce((p,d)=>{const f=Jo(Je(e.toValue(t),d));return{...p,[f]:a[d]}},{});return c?{...c,...u}:u});e.provide(pa,l);const s=e.toValue(t);return e.computed(()=>{if(r)return;const c=l.value[Jo(e.toValue(t))];if(c)return c;for(const[u,p]of o)if(u({path:s,schema:n(s)}))return p})};function ds(t){const{formData:n}=Ue(),o=cs(t);return{value:e.computed({get:()=>qo(n,_t(o.value)),set:a=>Xl(n,_t(o.value),a)})}}function ht(t){const{getSchema:n,isFieldHidden:o,getEmptyOrDefault:r}=Ue(),a=cs(t),i=g_(a),{value:l}=ds(t),s=e.computed(()=>n(a.value)),c=e.computed(()=>o(a.value)),u=e.computed(()=>r(a.value));return s.value?{schema:s,path:a,renderer:i,value:l,ancestors:is(a),hide:c,emptyOrDefaultValue:u,error:null}:{error:new Error(`path '${a.value}' is not found in schema.`)}}function lo(t){const{getSchema:n}=Ue(),o=e.useAttrs();return e.computed(()=>{var a;if(o["data-autofocus"]!==void 0)return!0;if(!t)return!1;const r=e.toValue(t).parent;return r!=null&&r.path?((a=n(r.path))==null?void 0:a.type)==="array":!1})}function us(t,n){const o=new WeakMap,r=new Map;function a(){return Wo(`${t}-`)}function i(l,s){if(l==null||typeof l!="object")return`${t}-${s}`;if(o.has(l))return o.get(l);const c=r.has(s)?r.get(s):a();return r.set(s,c),o.set(l,c),c}return e.watch(n,l=>{const s=e.toValue(l),c=new Set;s.forEach((u,p)=>{c.add(p)}),Array.from(r.keys()).forEach(u=>{c.has(u)||r.delete(u)})},{immediate:!0,deep:!0}),{getKey:i}}function Xo(t,n){e.watch(t,o=>{window[Ln]||(window[Ln]={}),window[Ln][n]=e.toRaw(o)},{immediate:!0,deep:!0}),e.onUnmounted(()=>{window[Ln]&&delete window[Ln][n]})}const h_={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP",https:"HTTPS",api:"API",uri:"URI",jq:"jq",vpn:"VPN",id:"ID",llm:"LLM",tls:"TLS",tcp:"TCP",udp:"UDP",lua:"Lua",jwt:"JWT",aws:"AWS",gcp:"GCP",azure:"Azure",acl:"ACL",cookie:"Cookie"};function fs(t){return h_[t.toLocaleLowerCase()]??t}function ps(t){return t.split("_").map(fs).join(" ")}function y_(t,n){const o=e.inject(ss,{parentPath:null,isolate:!1}),{parentPath:r,isolate:a}=e.toValue(o),i=e.ref(r?Je(r,t):t),l=e.ref({parentPath:i.value,isolate:a});return e.watch([e.toRef(n),e.toRef(o)],([s,c])=>{var f;const{parentPath:u,isolate:p}=c,d=u?Je(u,t):t;if(s){const m={isolate:()=>{i.value=t,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{i.value=t,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{i.value=d,l.value.isolate=!1,l.value.parentPath=d}};(f=m[s])==null||f.call(m)}else p&&(i.value=t,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),e.provide(ss,l),i}function ms(t){return _t(t).map(o=>o.split("_").map(fs).join(" ")).map(rg).join(" › ")}function __(t,n){const o=e.toValue(t),r=Cn(o),{config:a,getSchema:i}=Ue(),l=y_(r,n),s=is(t);return e.computed(()=>{var f;const c=l.value??r,u=(f=s.value.parent)!=null&&f.path?i(s.value.parent.path):null,d=(u==null?void 0:u.type)==="array"?"":ms(c);return a.value.transformLabel?a.value.transformLabel(d,o):d})}function At(t,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:a}=Ue(),i=e.toValue(t),l=e.toValue(n),s=__(t,e.toRef(()=>e.toValue(n).resetLabelPath));return e.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(i)??void 0,labelAttributes:l.labelAttributes??o(i),label:l.label??s.value,required:l.required??((c=a(i))==null?void 0:c.required)}})}const b_="__request_callout_";function gs(){return Wo(b_)}const Nn=e.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,r=e.useAttrs(),a=n,i=e.computed(()=>o.multiline?Oe.KTextArea:Oe.KInput),l=e.computed(()=>r.characterLimit??(o.multiline?!1:void 0)),s=e.ref(o.modelValue);e.watch(()=>o.modelValue,d=>{s.value=d});const{config:c}=Ue(),u=d=>{d!==s.value&&(s.value=d,c.value.updateOnChange||a("update:modelValue",d))},p=()=>{c.value.updateOnChange&&a("update:modelValue",s.value)};return(d,f)=>(e.openBlock(),e.createBlock(e.unref(i),e.mergeProps(d.$attrs,{"character-limit":l.value,"model-value":t.modelValue,resizable:t.multiline?!0:void 0,onChange:p,"onUpdate:modelValue":u}),e.createSlots({_:2},[e.renderList(e.useSlots(),(m,g)=>({name:g,fn:e.withCtx(_=>[e.renderSlot(d.$slots,g,e.normalizeProps(e.guardReactiveProps(_)))])}))]),1040,["character-limit","model-value","resizable"]))}}),k_=["innerHTML"],pt=be(e.defineComponent({inheritAttrs:!1,__name:"StringField",props:{labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},placeholder:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.useAttrs(),{i18n:r}=$e(),a=e.createPropsRestProxy(t,["showVaultSecretPicker","showPasswordMaskToggle","name"]),i=n,{value:l,hide:s,...c}=ht(e.toRef(()=>t.name)),u=At(c.path,e.toRef({...a,...o})),p=l==null?void 0:l.value;function d(w){p!==void 0&&w===""&&w!==p?(l.value=null,i("update:modelValue",null)):(l.value=w.trim(),i("update:modelValue",w.trim()))}const f=e.computed(()=>{var w;return t.showPasswordMaskToggle!==void 0?t.showPasswordMaskToggle:a.type==="password"?!0:!!((w=c.schema)==null?void 0:w.value).encrypted}),m=e.inject(Le.AUTOFILL_SLOT,void 0),g=e.computed(()=>{var w;return t.showVaultSecretPicker!==void 0?t.showVaultSecretPicker:!!((w=c.schema.value)!=null&&w.referenceable)}),_=e.computed(()=>({referenceable:g.value})),y=lo(c.ancestors),h=e.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Cn(t.name)==="name");return(w,E)=>{var b;const C=e.resolveComponent("KAlert");return c.error?(e.openBlock(),e.createBlock(C,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",e.normalizeProps(e.mergeProps({key:1},w.$attrs)),[e.createVNode(Nn,e.mergeProps({...e.unref(u),showPasswordMaskToggle:f.value,type:f.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":h.value,"data-autofocus":e.unref(y),"data-testid":`ff-${c.path.value}`,error:t.error,"error-message":t.errorMessage,help:t.multiline&&t.error?t.errorMessage:t.help,"model-value":e.unref(l)??"",multiline:t.multiline,placeholder:t.placeholder??e.unref(u).placeholder,"onUpdate:modelValue":d}),e.createSlots({_:2},[(b=e.unref(u).labelAttributes)!=null&&b.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(w.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(u).labelAttributes.info},null,8,k_)],!0)]),key:"0"}:void 0,!(t.multiline&&t.error)&&w.$slots.help?{name:"help",fn:e.withCtx(()=>[e.renderSlot(w.$slots,"help",{},void 0,!0)]),key:"1"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline","placeholder"]),e.unref(m)&&g.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(m)),{key:0,schema:_.value,update:d,value:e.unref(l)??""},null,8,["schema","value"])):e.createCommentVNode("",!0),g.value&&!e.unref(m)?(e.openBlock(),e.createBlock(C,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${c.path.value}`,message:e.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):e.createCommentVNode("",!0)],16)),[[e.vShow,!e.unref(s)]])}}}),[["__scopeId","data-v-93d54a4e"]]),w_=["innerHTML"],xn=be(e.defineComponent({__name:"BooleanField",props:{labelAttributes:{},modelValue:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.createPropsRestProxy(t,["name"]),{value:r,hide:a,emptyOrDefaultValue:i,...l}=ht(e.toRef(()=>t.name)),s=n,c=p=>{r.value=p,s("update:modelValue",p)},u=At(l.path,o);return(p,d)=>{var m;const f=e.resolveComponent("KAlert");return l.error?(e.openBlock(),e.createBlock(f,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createBlock(e.unref(Oe.KCheckbox),e.mergeProps({key:1},e.unref(u),{class:"ff-boolean-field","data-testid":`ff-${l.path.value}`,"model-value":!!(e.unref(r)==null?e.unref(i):e.unref(r)),"onUpdate:modelValue":c}),e.createSlots({_:2},[(m=e.unref(u).labelAttributes)!=null&&m.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(p.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(u).labelAttributes.info},null,8,w_)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"])),[[e.vShow,!e.unref(a)]])}}}),[["__scopeId","data-v-a64714b1"]]),C_="#ecfcff",E_="#f1f0ff",N_="#52596e",ha="#e0e4ea",x_="#007d60",A_="#fffce0",S_="#6c7489",P_="#0044f4",I_="#5f9aff",so="#000933",ya="#d60027",T_="#ffe5e5",O_="#00abd2",V_="#d60067",hs="#6f28ff",ys="#afb7c5",Dn="#6c7489",B_="#0044f4",$_="#eefaff",R_="#007d60",F_="#ecfffb",L_="#995c00",D_="#306fff",Zo="12px",co="16px",uo="20px",M_="2px",_s="8px",v_="32px",bs=be(e.defineComponent({__name:"SlideTransition",setup(t){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(n.map(f=>[f,""])),r=Object.fromEntries(n.map(f=>[f,"0"]));function a(f){const m=getComputedStyle(f);return Object.fromEntries(n.map(g=>[g,m.getPropertyValue(g)]))}function i(f){["overflow","transition",...n].forEach(m=>f.style.removeProperty(m))}function l(f){Object.assign(f.style,{overflow:"hidden",transition:"none"})}function s(f){const m=f;Object.assign(m.style,o);const g=a(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...g,transition:""})})}function c(f){i(f)}function u(f){const m=f;Object.assign(m.style,{...a(m),overflow:"hidden"})}function p(f){Object.assign(f.style,r)}function d(f){i(f)}return(f,m)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:d,onBeforeEnter:l,onBeforeLeave:u,onEnter:s,onLeave:p},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),j_={class:"ff-entity-checks-list"},ks=be(e.defineComponent({__name:"EntityChecksAlert",props:{entityChecks:{},omittedFields:{}},setup(t){const{i18n:{t:n}}=Fe.useI18n(),o=e.computed(()=>{if(!Array.isArray(t.entityChecks)||t.entityChecks.length===0)return null;const i=[],l=[{key:"at_least_one_of",i18nKey:"plugins.form.field_rules.at_least_one_of"},{key:"mutually_required",i18nKey:"plugins.form.field_rules.mutually_required"},{key:"mutually_exclusive",i18nKey:"plugins.form.field_rules.mutually_exclusive"}];for(const s of t.entityChecks)for(const{key:c,i18nKey:u}of l)if(c in s){const p=s[c];Array.isArray(p)&&p.length>0&&a(p)&&i.push(n(u,{parameters:r(p)}));break}return i.length?i:null});function r(i){return i.map(ms).join(", ")}function a(i){return Array.isArray(t.omittedFields)&&t.omittedFields.length>0?i.filter(s=>!t.omittedFields.includes(s)).length>0:!0}return(i,l)=>{const s=e.resolveComponent("KAlert");return o.value?(e.openBlock(),e.createBlock(s,{key:0,"data-testid":"ff-entity-checks-alert"},{default:e.withCtx(()=>[e.createElementVNode("ul",j_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,c=>(e.openBlock(),e.createElementBlock("li",{key:c,"data-testid":"ff-entity-check-item"},e.toDisplayString(c),1))),128))])]),_:1})):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-551c79ec"]]),U_=["data-testid"],K_=["data-testid"],q_=["data-testid"],G_={class:"ff-object-field-header-toggle"},z_=["aria-controls","aria-expanded","aria-label","data-testid","disabled"],H_=["innerHTML"],W_=["data-testid"],Y_={key:0,class:"indent-guide"},bt=be(e.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:e.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{default:"reset"},fieldsOrder:{},renderRules:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(t){const n=e.useId(),o=e.createPropsRestProxy(t,["defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:r,hide:a,...i}=ht(e.toRef(o,"name")),{getSchema:l,getDefault:s,useCurrentRenderRules:c}=Ue(),u=c({fieldPath:i.path,rules:e.toRef(o,"renderRules"),omittedFields:e.toRef(()=>t.omit),parentValue:r}),p=e.useModel(t,"added"),d=e.useModel(t,"expanded"),f=e.computed(()=>{var E,C;if((E=i.ancestors)!=null&&E.value){const b=i.ancestors.value.parent;if(b!=null&&b.path)return((C=l(b.path))==null?void 0:C.type)==="array"}return!1}),m=At(i.path,{required:t.required,...o,resetLabelPath:t.resetLabelPath}),g=e.computed(()=>m.value.required?!0:p.value??t.defaultAdded),_=e.computed(()=>t.asChild!==void 0?t.asChild:f.value),y=e.computed(()=>{var C;let E=i.schema.value.fields;return t.omit&&(E=E.filter(b=>!t.omit.includes(Object.keys(b)[0]))),t.fieldsOrder?rs(E,t.fieldsOrder):((C=u.value)!=null&&C.bundles&&(E=as([...E],u.value.bundles)),E)});function h(){d.value=!d.value}function w(){p.value?r.value=s(i.path.value):r.value=null}return e.watch(g,E=>{t.collapsible&&(d.value=E)}),e.onBeforeMount(()=>{if(i.error||!r)return;const E=r.value!=null;p.value=E,(m.value.required||E)&&(d.value=!0)}),(E,C)=>{var N;const b=e.resolveComponent("KAlert"),k=e.resolveComponent("KInputSwitch");return e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.$slots[e.unref(En)]))),i.error?(e.openBlock(),e.createBlock(b,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):_.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},E.$attrs,{"data-testid":`ff-object-${i.path.value}`}),[e.renderSlot(E.$slots,"default",{},()=>{var I;return[e.createVNode(ks,{"entity-checks":(I=i.schema.value)==null?void 0:I.entity_checks,"omitted-fields":t.omit},null,8,["entity-checks","omitted-fields"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,$=>(e.openBlock(),e.createBlock(ct,{key:Object.keys($)[0],name:Object.keys($)[0]},null,8,["name"]))),128))]},!0)],16,U_)),[[e.vShow,!e.unref(a)]]):e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!d.value}],"data-testid":`ff-object-${i.path.value}`},E.$attrs),[e.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${i.path.value}`},[e.createElementVNode("div",G_,[e.createElementVNode("button",{"aria-controls":e.unref(n),"aria-expanded":d.value,"aria-label":e.unref(m).label,class:"ff-object-field-toggle-btn","data-testid":`ff-object-toggle-btn-${i.path.value}`,disabled:!p.value,type:"button",onClick:e.withModifiers(h,["prevent","stop"])},[e.createVNode(e.unref(fe.ChevronRightIcon),{class:e.normalizeClass(["ff-object-field-toggle-btn-trigger-icon",{"collapse-expanded":d.value}]),"data-testid":`ff-object-toggle-trigger-icon-${i.path.value}`,decorative:"",size:e.unref(co)},null,8,["class","data-testid","size"])],8,z_),e.createVNode(e.unref(Oe.KLabel),e.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${i.path.value}`},{...e.unref(m),required:!1},{"tooltip-attributes":e.unref(m).labelAttributes.tooltipAttributes}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(m).label)+" ",1)]),_:2},[(N=e.unref(m).labelAttributes)!=null&&N.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(E.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(m).labelAttributes.info},null,8,H_)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"])]),e.unref(m).required?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(k,{key:0,modelValue:p.value,"onUpdate:modelValue":[C[0]||(C[0]=I=>p.value=I),w],"data-testid":`ff-object-switch-${i.path.value}`},null,8,["modelValue","data-testid"]))],8,q_),e.createVNode(bs,null,{default:e.withCtx(()=>[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${i.path.value}`},[e.renderSlot(E.$slots,"default",{},()=>{var I;return[e.createVNode(ks,{"entity-checks":(I=i.schema.value)==null?void 0:I.entity_checks,"omitted-fields":t.omit},null,8,["entity-checks","omitted-fields"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,$=>(e.openBlock(),e.createBlock(ct,{key:Object.keys($)[0],name:Object.keys($)[0]},null,8,["name"]))),128))]},!0)],8,W_)):e.createCommentVNode("",!0)]),_:3}),d.value?(e.openBlock(),e.createElementBlock("div",Y_)):e.createCommentVNode("",!0)],16,K_)),[[e.vShow,!e.unref(a)]])],64)}}}),[["__scopeId","data-v-2ed54dc5"]]),J_={key:1,class:"ff-number-field-wrapper"},X_=["innerHTML"],An=be(e.defineComponent({__name:"NumberField",props:{showVaultSecretPicker:{type:Boolean,default:()=>{}},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.createPropsRestProxy(t,["showVaultSecretPicker","name"]),{value:r,hide:a,...i}=ht(e.toRef(()=>t.name)),l=At(i.path,o),{i18n:s}=$e(),c=e.computed(()=>{var k;const E=(k=i.schema)==null?void 0:k.value;if(typeof E.gt=="number")return{min:E.type==="integer"?E.gt+1:E.gt};const[C,b]=E.between??[];return{min:o.min??C,max:o.max??b}}),u=n,p=r.value,d=e.computed(()=>{const E=r==null?void 0:r.value;if(E==null||E==="")return"";if(h.value)return`${E}`;const C=typeof E=="number"?E:Number(E);return Number.isFinite(C)?`${C}`:""});function f(E){const C=m(E);p!==void 0&&E===""&&C!==p?(r.value=null,u("update:modelValue",null)):(r.value=C,u("update:modelValue",C))}function m(E){if(E==="")return null;const C=E.trim();if(C==="")return null;const b=Number(C);return Number.isFinite(b)?b:h.value?E:null}const g=lo(i.ancestors),_=e.inject(Le.AUTOFILL_SLOT,void 0),y=e.computed(()=>({referenceable:h.value})),h=e.computed(()=>{var E;return t.showVaultSecretPicker!==void 0?t.showVaultSecretPicker:!!((E=i.schema.value)!=null&&E.referenceable)}),w=e.computed(()=>h.value?"text":"number");return(E,C)=>{var k;const b=e.resolveComponent("KAlert");return i.error?(e.openBlock(),e.createBlock(b,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",J_,[e.createVNode(Nn,e.mergeProps({class:"ff-number-field"},{...e.unref(l),min:c.value.min,max:c.value.max},{"data-autofocus":e.unref(g),"data-testid":`ff-${i.path.value}`,"model-value":d.value,type:w.value,"onUpdate:modelValue":f}),e.createSlots({_:2},[(k=e.unref(l).labelAttributes)!=null&&k.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(E.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(l).labelAttributes.info},null,8,X_)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value","type"]),e.unref(_)&&h.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(_)),{key:0,schema:y.value,update:f,value:e.unref(r)??""},null,8,["schema","value"])):e.createCommentVNode("",!0),h.value&&!e.unref(_)?(e.openBlock(),e.createBlock(b,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${i.path.value}`,message:e.unref(s).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):e.createCommentVNode("",!0)],512)),[[e.vShow,!e.unref(a)]])}}}),[["__scopeId","data-v-709884eb"]]),Z_=["innerHTML"],St=be(e.defineComponent({__name:"EnumField",props:e.mergeModels({labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean},name:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update"],["update:modelValue"]),setup(t,{emit:n}){const o=n,r=e.createPropsRestProxy(t,["name","items","multiple"]),{getSelectItems:a}=Ue(),{value:i,hide:l,...s}=ht(e.toRef(()=>t.name)),c=e.useModel(t,"modelValue",{get:()=>d.value&&(i==null?void 0:i.value)==null?[]:i.value,set:m=>{i.value=m}}),u=At(s.path,r),p=e.computed(()=>t.items?t.items:s.path?a(s.path.value):[]),d=e.computed(()=>{var m;return t.multiple!==void 0?t.multiple:((m=s.schema.value)==null?void 0:m.type)==="set"}),f=e.computed(()=>d.value?Oe.KMultiselect:Oe.KSelect);return(m,g)=>{var y;const _=e.resolveComponent("KAlert");return s.error?(e.openBlock(),e.createBlock(_,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createBlock(e.unref(f),e.mergeProps({key:1},{...r,...e.unref(u)},{modelValue:c.value,"onUpdate:modelValue":[g[0]||(g[0]=h=>c.value=h),g[1]||(g[1]=h=>o("update",h))],class:"ff-enum-field",clearable:!e.unref(u).required,"data-testid":`ff-${s.path.value}`,items:p.value,"kpop-attributes":{"data-testid":`ff-enum-${s.path.value}-items`}}),e.createSlots({_:2},["tooltip"in m.$slots||(y=e.unref(u).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(u).labelAttributes.info},null,8,Z_)],!0)]),key:"0"}:void 0,m.$slots["item-label"]?{name:"item-template",fn:e.withCtx(({item:h})=>[e.renderSlot(m.$slots,"item-label",e.normalizeProps(e.guardReactiveProps(h)),void 0,!0)]),key:"1"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"])),[[e.vShow,!e.unref(l)]])}}}),[["__scopeId","data-v-3b4bfe42"]]);function Qo(t,n,o=!0){const{value:r,emptyOrDefaultValue:a,...i}=ht(e.toRef(t,"name")),l=At(i.path,e.toRef({...t,...e.useAttrs()})),s=e.ref(p(t.initialValue??e.toValue(r),t.keyOrder));function c(){return Wo("ff-kv-field-")}function u(h,w,E){const C=E.indexOf(h),b=E.indexOf(w);return C===-1&&b===-1?0:C===-1?1:b===-1?-1:C-b}function p(h,w){if(!h)return[];const E=Object.entries(h).map(([C,b])=>({id:c(),key:C,value:b}));return w&&E.sort((C,b)=>u(C.key,b.key,w)),E}function d(){const h={id:c(),key:t.defaultKey||"",value:t.defaultValue||""};return s.value.push(h),h}function f(h){const w=s.value.findIndex(E=>E.id===h);w!==-1&&s.value.splice(w,1)}function m(){s.value=p(t.initialValue,t.keyOrder)}function g(h){s.value=p(h,t.keyOrder)}let _=r==null?void 0:r.value;e.watch(s,h=>{if(!o)return;const w=h.length?Object.fromEntries(h.map(({key:E,value:C})=>[E,C]).filter(([E])=>E)):a==null?void 0:a.value;w===null&&r.value!==null&&typeof r.value=="object"&&Object.keys(r.value).length===0||(r.value=w,_=w,n("change",w))},{deep:!0,immediate:!0}),e.watch(()=>r==null?void 0:r.value,h=>{Qt(h,_)||y(h)},{deep:!0});function y(h){if(!h){s.value=[];return}const w=new Map;s.value.forEach(k=>{k.key&&w.set(k.key,k)});const E=[],C=Object.keys(h);(t.keyOrder?[...C].sort((k,N)=>u(k,N,t.keyOrder)):C).forEach(k=>{const N=h[k];if(w.has(k)){const I=w.get(k);I.value=N,E.push(I)}else E.push({id:c(),key:k,value:N})}),s.value=E}return{entries:s,addEntry:d,removeEntry:f,reset:m,setValue:g,labelAttrs:l,field:i}}const Q_=["data-testid"],eb=["data-testid"],tb=["innerHTML"],nb=["data-testid"],ob=be(e.defineComponent({__name:"KeyValueField",props:{initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}},keyOrder:{},name:{}},emits:["change"],setup(t,{expose:n,emit:o}){const r=e.createPropsRestProxy(t,["showVaultSecretPicker"]),{i18n:a}=$e(),i=o,{entries:l,addEntry:s,removeEntry:c,reset:u,setValue:p,labelAttrs:d,field:f}=Qo(r,i),m=e.computed(()=>{if(!f.path)return"";const k=Cn(f.path.value);return ps(k)}),g=e.useTemplateRef("root");async function _(k,N="key"){var I;g.value&&(await e.nextTick(),(I=g.value.querySelector(`[data-${N}-input="${k}"]`))==null||I.focus())}function y(){s();const k=l.value.findIndex(({key:N})=>!N);_(k===-1?l.value.length-1:k)}function h(k){k===l.value.length-1&&s(),_(k+1)}const w=e.inject(Le.AUTOFILL_SLOT,void 0),E=e.computed(()=>{var k,N;return t.showVaultSecretPicker??!!((N=(k=f.schema.value)==null?void 0:k.values)!=null&&N.referenceable)}),C=e.computed(()=>({referenceable:E.value}));function b(k,N){l.value[k].value=N}return n({reset:u,setValue:p}),(k,N)=>{var V;const I=e.resolveComponent("KAlert"),$=e.resolveComponent("KLabel"),P=e.resolveComponent("KButton"),x=e.resolveComponent("KTooltip");return e.unref(f).error?(e.openBlock(),e.createBlock(I,{key:0,appearance:"danger",message:e.unref(f).error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"root",ref:g,class:"ff-kv-field","data-testid":`ff-kv-${e.unref(f).path.value}`},[e.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${e.unref(f).path.value}`},[e.createVNode($,e.mergeProps({class:"ff-kv-field-label"},e.unref(d),{"data-testid":`ff-label-${e.unref(f).path.value}`,"tooltip-attributes":e.unref(d).labelAttributes.tooltipAttributes}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).label)+" ",1)]),_:2},[(V=e.unref(d).labelAttributes)!=null&&V.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(k.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(d).labelAttributes.info},null,8,tb)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"])],8,eb),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),(S,B)=>(e.openBlock(),e.createElementBlock("div",{key:S.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${e.unref(f).path.value}.${B}`},[e.createVNode(Nn,{modelValue:S.key,"onUpdate:modelValue":U=>S.key=U,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":B,"data-testid":`ff-key-${e.unref(f).path.value}.${B}`,placeholder:t.keyPlaceholder||"Key",onKeydown:e.withKeys(e.withModifiers(U=>_(B,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),e.createVNode(Nn,{modelValue:S.value,"onUpdate:modelValue":U=>S.value=U,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${e.unref(f).path.value}.${B}`,"data-value-input":B,placeholder:t.valuePlaceholder||"Value",onKeydown:e.withKeys(e.withModifiers(U=>h(B),["prevent"]),["enter"])},{after:e.withCtx(()=>[e.unref(w)&&E.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(w)),{key:0,schema:C.value,update:U=>b(B,U),value:S.value},null,8,["schema","update","value"])):e.createCommentVNode("",!0),E.value&&!e.unref(w)?(e.openBlock(),e.createBlock(I,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${e.unref(f).path.value}`,message:e.unref(a).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):e.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),e.createVNode(x,{class:"ff-array-field-item-remove-tooltip",text:e.unref(a).t("actions.remove_entity",{entity:m.value})},{default:e.withCtx(()=>[e.createVNode(P,{appearance:"tertiary","aria-label":e.unref(a).t("actions.remove_entity",{entity:m.value}),"data-testid":`ff-kv-remove-btn-${e.unref(f).path.value}.${B}`,icon:"",onClick:U=>e.unref(c)(S.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.CloseIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["text"])],8,nb))),128)),e.createVNode(P,{appearance:"tertiary","aria-label":e.unref(a).t("actions.add_entity",{entity:m.value}),class:"ff-kv-field-add-entry-btn","data-testid":`ff-kv-add-btn-${e.unref(f).path.value}`,onClick:y},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a).t("actions.add_entity",{entity:m.value})),1)]),_:1},8,["aria-label","data-testid"])],8,Q_)),[[e.vShow,!e.unref(f).hide.value]])}}}),[["__scopeId","data-v-9f7b22ac"]]),rb=["data-testid"],ab=["innerHTML"],er=be(e.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{labelAttributes:{},multiline:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.useAttrs(),r=e.createPropsRestProxy(t,["name"]),a=n,{value:i,hide:l,...s}=ht(e.toRef(()=>t.name)),c=At(s.path,e.toRef({...r,...o})),u=e.computed(()=>{var y,h;return((h=(y=s.schema)==null?void 0:y.value)==null?void 0:h.len_min)&&s.schema.value.len_min>0}),p=e.ref("");function d(y){return y.map(h=>h.trim()).filter(Boolean).join(", ")}function f(y){return y.trim().split(",").map(h=>h.trim()).filter(Boolean)}function m(y){p.value=y;const h=f(y),w=!h.length&&u.value?null:h;i.value=w,a("update:modelValue",w)}const g=lo(s.ancestors),_=e.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Cn(t.name)==="name");return e.watch(i,y=>{const h=y?d(y):"";d(f(p.value))!==h&&(p.value=h)},{immediate:!0}),(y,h)=>{var E;const w=e.resolveComponent("KAlert");return s.error?(e.openBlock(),e.createBlock(w,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:1,"data-testid":`ff-tag-${s.path.value}`},[e.createVNode(Nn,e.mergeProps(e.unref(c),{class:"ff-tag-field","data-1p-ignore":_.value,"data-autofocus":e.unref(g),"data-testid":`ff-${s.path.value}`,"model-value":p.value??"","onUpdate:modelValue":m}),e.createSlots({_:2},[(E=e.unref(c).labelAttributes)!=null&&E.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(y.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(c).labelAttributes.info},null,8,ab)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,rb)),[[e.vShow,!e.unref(l)]])}}}),[["__scopeId","data-v-5195e71a"]]),ib=["data-testid"],lb=["innerHTML"],sb=be(e.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{labelAttributes:{},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.useAttrs(),r=e.createPropsRestProxy(t,["name"]),a=n,{value:i,hide:l,...s}=ht(e.toRef(()=>t.name)),c=At(s.path,e.toRef({...r,...o})),u=e.ref("");function p(m){u.value=m;let g=m||null;try{const _=JSON.parse(m);_&&typeof _=="object"&&(g=_)}catch{}i.value=g,a("update:modelValue",g)}const d=lo(s.ancestors),f=e.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Cn(t.name)==="name");return e.watch(i,m=>{if(m&&typeof m=="object"){try{const g=JSON.parse(u.value);Qt(g,m)||(u.value=JSON.stringify(m,null,2))}catch{u.value=JSON.stringify(m,null,2)}return}u.value=m||""},{immediate:!0}),(m,g)=>{var y;const _=e.resolveComponent("KAlert");return s.error?(e.openBlock(),e.createBlock(_,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:1,"data-testid":`ff-json-${s.path.value}`},[e.createVNode(Nn,e.mergeProps(e.unref(c),{class:"ff-json-field","data-1p-ignore":f.value,"data-autofocus":e.unref(d),"data-testid":`ff-${s.path.value}`,"model-value":u.value??"",multiline:"","onUpdate:modelValue":p}),e.createSlots({_:2},[(y=e.unref(c).labelAttributes)!=null&&y.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(c).labelAttributes.info},null,8,lb)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,ib)),[[e.vShow,!e.unref(l)]])}}}),[["__scopeId","data-v-02205863"]]),cb=["innerHTML"],db=be(e.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{labelAttributes:{},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.useAttrs(),{i18n:{t:r}}=$e(),a=e.createPropsRestProxy(t,["showPasswordMaskToggle","name"]),i=n,{value:l,hide:s,...c}=ht(e.toRef(()=>t.name));if(c.error)throw new Error(c.error.message);const u=At(c.path,e.toRef({...a,...o})),p=l.value?l.value.id:null,d=e.computed(()=>{var y;return u.value.placeholder?u.value.placeholder:r("plugins.free-form.foreign_placeholder",{entity:((y=c.schema.value)==null?void 0:y.reference)??"entity"})}),f=e.ref(p??"");function m(y){p!==void 0&&y===""&&y!==p?(l.value=null,i("update:modelValue",null)):(l.value={id:y.trim()},i("update:modelValue",l.value))}const g=lo(c.ancestors),_=e.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:Cn(t.name)==="name");return(y,h)=>{var w;return e.withDirectives((e.openBlock(),e.createBlock(Nn,e.mergeProps(e.unref(u),{class:"ff-foreign-field","data-1p-ignore":_.value,"data-autofocus":e.unref(g),"data-testid":`ff-${c.path.value}`,error:t.error,"error-message":t.errorMessage,help:t.help,"model-value":f.value,placeholder:d.value,"onUpdate:modelValue":m}),e.createSlots({_:2},[(w=e.unref(u).labelAttributes)!=null&&w.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(y.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(u).labelAttributes.info},null,8,cb)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])),[[e.vShow,!e.unref(s)]])}}}),[["__scopeId","data-v-8626d32b"]]),ct=e.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(t){const n=t,o=ht(e.toRef(n,"name")),r=e.computed(()=>{var a,i;switch((i=(a=o.schema)==null?void 0:a.value)==null?void 0:i.type){case"string":return"one_of"in o.schema.value?St:pt;case"boolean":return"one_of"in o.schema.value?St:xn;case"number":case"integer":return"one_of"in o.schema.value?St:An;case"array":return fo;case"set":return l_(o.schema)?er:St;case"record":return bt;case"map":return ob;case"json":return sb;case"foreign":return db;default:return}});return(a,i)=>{const l=e.resolveComponent("KAlert");return e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.$slots[e.unref(En)]))),e.unref(o).error?(e.openBlock(),e.createBlock(l,{key:0,appearance:"danger",message:e.unref(o).error.message},null,8,["message"])):e.unref(o).renderer.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).renderer.value),{key:1,name:fa(e.unref(o).path.value),onGlobalAction:i[0]||(i[0]=(s,c)=>a.$emit("globalAction",s,c))},null,40,["name"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{key:0,name:fa(e.unref(o).path.value)},null,8,["name"])):(e.openBlock(),e.createBlock(l,{key:1,appearance:"warning",message:`${e.unref(o).path.value} ${e.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),e.renderSlot(a.$slots,"default")],64))],64)}}}),ub=["data-appearance","data-testid"],fb=["data-testid"],pb=["innerHTML"],mb=["data-testid"],gb={class:"ff-array-field-item-content"},hb=["data-index","data-testid"],fo=be(e.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(t,{emit:n}){var $;e.useCssVars(P=>({v3c0f22aa:I.value}));const o=t,r=n,{i18n:{t:a}}=$e(),{getDefault:i,getSchema:l}=Ue(),{value:s,hide:c,...u}=ht(e.toRef(o,"name")),p=At(u.path,e.toRef({...o,...e.useAttrs()})),d=e.computed(()=>{if(!u.path)throw new Error("Field path is required for sub-schema retrieval");const P=l(u.path.value);if(!P)throw new Error(`Schema not found for path: ${u.path.value}`);return P.elements}),f=e.computed(()=>{if(!u.path)return"";const P=Cn(u.path.value);return ps(P)}),m=e.computed(()=>o.items??e.toValue(s)??[]),{getKey:g}=us("ff-array-field",m),_=e.computed(()=>o.appearance?o.appearance:d.value.type==="record"?"card":"default"),y=e.computed(()=>_.value==="card"?Oe.KCard:"div");function h(P,x){return typeof o.itemLabel=="function"?o.itemLabel(P,x):o.itemLabel||p.value.label||`Item #${x}`}const w=e.computed(()=>m.value.map((P,x)=>({hash:`#${g(P,x)}`,title:""}))),E=e.ref(($=w.value[0])==null?void 0:$.hash),C=async()=>{var x;const P=i(Je(u.path.value,ua));Array.isArray(s.value)||(s.value=[]),s.value.push(P),r("add"),o.appearance==="tabs"&&(await e.nextTick(),E.value=(x=w.value[w.value.length-1])==null?void 0:x.hash),await e.nextTick(),N(m.value.length+1)},b=async P=>{var x;Array.isArray(s.value)&&s.value.splice(P,1),r("remove",P),o.appearance==="tabs"&&(E.value=(x=w.value[Math.max(0,P-1)])==null?void 0:x.hash)},k=e.useTemplateRef("root");function N(P){var V;if(!k.value)return;const x=Math.max(0,Math.min(P,m.value.length-1));(V=k.value.querySelector(`[data-index="${x}"] [data-autofocus]`))==null||V.focus()}const I=e.computed(()=>{const{appearance:P,stickyTabs:x}=o;return P!=="tabs"||x==null||x===!1?null:typeof x=="number"?`${o.stickyTabs}px`:typeof x=="string"?x:"0"});return(P,x)=>{var z;const V=e.resolveComponent("KAlert"),S=e.resolveComponent("KLabel"),B=e.resolveComponent("KButton"),U=e.resolveComponent("KTooltip"),j=e.resolveComponent("KTabs");return u.error?(e.openBlock(),e.createBlock(V,{key:0,appearance:"danger",message:u.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"root",ref:k,class:e.normalizeClass(["ff-array-field",{[`ff-array-field-${_.value??"default"}`]:!0,"ff-array-field-sticky-tabs":t.stickyTabs}]),"data-appearance":_.value,"data-testid":`ff-array-${u.path.value}`},[e.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${u.path.value}`},[e.createVNode(S,e.mergeProps({class:"ff-array-field-label"},e.unref(p),{"data-testid":`ff-label-${u.path.value}`,"tooltip-attributes":e.unref(p).labelAttributes.tooltipAttributes}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(p).label)+" ",1)]),_:2},[(z=e.unref(p).labelAttributes)!=null&&z.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(P.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(p).labelAttributes.info},null,8,pb)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.appearance==="tabs"?(e.openBlock(),e.createBlock(B,{key:0,appearance:"tertiary","aria-label":e.unref(a)("actions.add_entity",{entity:f.value}),"data-testid":`ff-add-item-btn-${u.path.value}`,icon:"",onClick:C},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon))]),_:1},8,["aria-label","data-testid"])):e.createCommentVNode("",!0)],8,fb),_.value!=="tabs"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",{class:"ff-array-field-container","data-testid":`ff-array-basic-container-${u.path.value}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(K,M)=>(e.openBlock(),e.createBlock(e.unref(y),{key:e.unref(g)(K,M),class:e.normalizeClass(["ff-array-field-item",{"ff-array-field-item-card":_.value==="card"}]),"data-index":M,"data-testid":`ff-array-item-${u.path.value}.${M}`},{default:e.withCtx(()=>[e.createElementVNode("div",gb,[P.$slots.item?e.renderSlot(P.$slots,"item",{key:0,fieldName:String(M),index:M},void 0,!0):e.createCommentVNode("",!0),d.value.type==="array"&&d.value.elements.type==="string"?(e.openBlock(),e.createBlock(er,{key:1,help:e.unref(a)("plugins.free-form.tag_helper"),name:String(M)},null,8,["help","name"])):(e.openBlock(),e.createBlock(ct,{key:2,name:String(M)},null,8,["name"]))]),e.createVNode(U,{class:"ff-array-field-item-remove-tooltip",text:e.unref(a)("actions.remove_entity",{entity:f.value})},{default:e.withCtx(()=>[e.createVNode(B,{appearance:"tertiary","aria-label":e.unref(a)("actions.remove_entity",{entity:f.value}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${u.path.value}.${M}`,icon:"",onClick:e.withModifiers(L=>b(M),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.CloseIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["text"])]),_:2},1032,["class","data-index","data-testid"]))),128))],8,mb),e.createVNode(B,{appearance:"tertiary","aria-label":e.unref(a)("actions.add_entity",{entity:f.value}),class:"ff-array-field-add-item-btn","data-testid":`ff-add-item-btn-${u.path.value}`,onClick:C},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("actions.add_entity",{entity:f.value})),1)]),_:1},8,["aria-label","data-testid"])],64)):m.value.length?(e.openBlock(),e.createBlock(e.unref(Oe.KCard),{key:1,"data-testid":`ff-array-tab-container-${u.path.value}`},{default:e.withCtx(()=>[e.createVNode(j,{modelValue:E.value,"onUpdate:modelValue":x[0]||(x[0]=K=>E.value=K),"data-testid":`ff-array-tabs-${u.path.value}`,tabs:w.value},e.createSlots({_:2},[e.renderList(m.value,(K,M)=>({name:e.unref(g)(K,M),fn:e.withCtx(()=>[e.createElementVNode("div",{class:"ff-array-field-item","data-index":M,"data-testid":`ff-array-item-${u.path.value}.${M}`},[P.$slots.item?e.renderSlot(P.$slots,"item",{key:0,fieldName:String(M),index:M},void 0,!0):(e.openBlock(),e.createBlock(ct,{key:1,name:String(M)},null,8,["name"]))],8,hb)])})),e.renderList(m.value,(K,M)=>({name:`${e.unref(g)(K,M)}-anchor`,fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h(K,M))+" ",1),e.createVNode(B,{appearance:"tertiary","aria-label":e.unref(a)("actions.remove_entity",{entity:f.value}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${u.path.value}.${M}`,icon:"",onClick:e.withModifiers(L=>b(M),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.TrashIcon))]),_:1},8,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"])):e.createCommentVNode("",!0)],10,ub)),[[e.vShow,!e.unref(c)]])}}}),[["__scopeId","data-v-28f4e09f"]]),po=Symbol(),yb=e.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(t){const n=t,{formData:o}=Ue(),r=e.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)})}),a=e.computed(()=>r.value.map(({[po]:l,name:s})=>({value:l,label:s}))),i=e.computed(()=>o.config.callouts[n.index]);return e.watch(a,()=>{i.value.depends_on=i.value.depends_on.filter(l=>a.value.some(s=>s.value===l))}),(l,s)=>(e.openBlock(),e.createBlock(bt,{name:t.fieldName},{depends_on:e.withCtx(c=>[e.createVNode(St,e.mergeProps(c,{items:a.value,multiple:"",required:!1}),null,16,["items"])]),request:e.withCtx(c=>[e.createVNode(bt,e.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:e.withCtx(u=>[e.createVNode(St,e.mergeProps(u,{items:e.unref(da)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:1},16)]),_:1},8,["name"]))}}),_b=e.defineComponent({__name:"CalloutsForm",setup(t){const{formData:n}=Ue();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[po]=gs())}return(r,a)=>(e.openBlock(),e.createBlock(fo,{appearance:"tabs","item-label":i=>i.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:o},{item:e.withCtx(({index:i,fieldName:l})=>[e.createVNode(yb,{"field-name":l,index:i},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),mo=e.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(t){const n=t,{default:o}=e.useSlots(),{fieldRendererRegistry:r}=Ue();return o&&r.set(n.match,o),(a,i)=>null}}),dt=e.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{},renderRules:{}},emits:["change","globalAction"],setup(t,{expose:n,emit:o}){const r=o,a=e.useSlots(),{getSchema:i,formData:l,setValue:s,getValue:c,rootRenderRules:u}=p_({schema:t.schema,propsData:e.computed(()=>t.data),propsConfig:t.config,propsRenderRules:e.toRef(()=>t.renderRules),onChange:d=>r("change",d)}),p=e.computed(()=>{var m;const{fields:d}=i();let f=[...d];return t.fieldsOrder?rs(f,t.fieldsOrder):((m=u.value)!=null&&m.bundles&&(f=as([...f],u.value.bundles)),f)});return n({getValue:c,getRawValue:()=>e.toRaw(l),setValue:s}),(d,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),null,{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a)[e.unref(En)]))),e.renderSlot(d.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,m=>(e.openBlock(),e.createBlock(ct,{key:Object.keys(m)[0],name:Object.keys(m)[0],onGlobalAction:f[0]||(f[0]=(g,_)=>r("globalAction",g,_))},null,8,["name"]))),128))])]),_:3}))}}),bb={class:"ff-advanced-fields"},tr=be(e.defineComponent({__name:"AdvancedFields",props:{hideGeneralFields:{type:Boolean}},setup(t){const{t:n}=Ze.createI18n("en-us",et),{getSchema:o}=Ue(),r=e.ref(!0);return(a,i)=>(e.openBlock(),e.createBlock(e.unref(Oe.KCollapse),{modelValue:r.value,"onUpdate:modelValue":i[0]||(i[0]=l=>r.value=l),"data-testid":"view-advanced","trigger-label":r.value?e.unref(n)("plugins.form.grouping.advanced_parameters.view"):e.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:e.withCtx(()=>[e.createElementVNode("div",bb,[t.hideGeneralFields?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(o)("instance_name")?(e.openBlock(),e.createBlock(ct,{key:0,name:"instance_name"})):e.createCommentVNode("",!0),e.unref(o)("protocols")?(e.openBlock(),e.createBlock(ct,{key:1,name:"protocols"})):e.createCommentVNode("",!0),e.unref(o)("tags")?(e.openBlock(),e.createBlock(er,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:e.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):e.createCommentVNode("",!0)],64)),e.renderSlot(a.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-fb80aa6f"]]),kb=be(e.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(t,{emit:n}){const o=n,r={prepareFormData:l,hasValue:s},{i18n:{t:a}}=$e();function i(p,d=!1){return p.reduce((f,{[po]:m,name:g})=>(d?f[g]=m:f[m]=g,f),{})}function l(p){var g;const d=bn(p);if(!((g=d.config)!=null&&g.callouts))return d;const{callouts:f}=d.config;f.forEach(_=>{_.request.body.custom=_.request.body.custom??{},_[po]=gs()});const m=i(f,!0);return f.forEach(_=>{_.depends_on=_.depends_on.map(y=>m[y])}),d}function s(p){return!!(p!=null&&p.config)}function c(p){var m;if(!p)return;const d=bn(p);if(!((m=d.config)!=null&&m.callouts))throw new Error("data is not correct");const f=i(d.config.callouts);d.config.callouts=d.config.callouts.map(g=>{const{[po]:_,depends_on:y,...h}=g;return{depends_on:y.map(w=>f[w]).filter(w=>w!=null),...h}}),o("change",d)}const u=e.useId();return Xo(()=>t.schema,u),(p,d)=>(e.openBlock(),e.createBlock(dt,{class:"rc-config-form",config:r,data:t.data,"data-instance-id":e.unref(u),"data-plugin-name":"request-callout","data-testid":"ff-config-form",schema:t.schema,tag:"div",onChange:c},{[e.unref(En)]:e.withCtx(()=>[e.createVNode(mo,{match:({path:f})=>f.endsWith("by_lua")},{default:e.withCtx(f=>[e.createVNode(pt,e.mergeProps(f,{autosize:"",class:"rc-code",multiline:"",placeholder:e.unref(a)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),e.createVNode(mo,{match:({path:f})=>["cluster_nodes","sentinel_nodes"].some(m=>f.endsWith(m))},{default:e.withCtx(f=>[e.createVNode(fo,e.mergeProps(f,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:e.withCtx(()=>[e.createVNode(bt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:e.withCtx(()=>[e.createVNode(_b),e.createVNode(bt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),e.createVNode(bt,{appearance:"card",name:"cache"},{redis:e.withCtx(f=>[e.createVNode(bt,e.mergeProps(f,{"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}),e.createVNode(tr)]),_:2},1032,["data","data-instance-id","schema"]))}}),[["__scopeId","data-v-cea21eab"]]),wb={class:"ff-form-pinned-fields"},Cb={class:"ff-form-config-form"},_a=be(e.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(t){const{t:n}=Ze.createI18n("en-us",et),o=t;e.useSlots();function r(p){return e.computed(()=>({fields:e.toValue(p).map(d=>{var f;return(f=o.formSchema)==null?void 0:f.fields.find(m=>m.model===d)}).filter(Boolean)}))}const i=r(["enabled","selectionGroup"]),l=["config","protocols"],s=e.computed(()=>{const p=o.schema;p.fields=p.fields.filter(f=>l.includes(Object.keys(f)[0])),p.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=p.fields.find(f=>Object.keys(f)[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")),p}),c=e.ref(!1),u=e.computed(()=>{const p=["config","instance_name","partials","protocols","tags","__ui_data"];return ia(o.model,p)});return(p,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",wb,[e.createVNode(e.unref(Le.VueFormGenerator),{model:t.formModel,options:t.formOptions,schema:e.unref(i),onModelUpdated:t.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),e.createVNode(e.unref(Oe.KCollapse),{modelValue:c.value,"onUpdate:modelValue":d[1]||(d[1]=f=>c.value=f),class:"ff-form-config-fields"},{title:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.form.grouping.plugin_configuration.description")),1)]),default:e.withCtx(()=>[e.createElementVNode("div",Cb,[e.renderSlot(p.$slots,"default",{class:"ff-form",data:u.value,schema:s.value,onChange:d[0]||(d[0]=(...f)=>t.onFormChange&&t.onFormChange(...f))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-88b54620"]]),Eb=e.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(t){const n=t,o=e.useSlots();return e.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,a)=>(e.openBlock(),e.createBlock(_a,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(i=>[e.createVNode(kb,e.normalizeProps(e.guardReactiveProps(i)),null,16)]),_:1},16))}}),Nb={key:1},xb=["innerHTML"],Ab={class:"horizontal-container"},ws=be(e.defineComponent({__name:"RadioField",props:{labelAttributes:{},multiple:{type:Boolean},items:{},label:{},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=n,r=e.createPropsRestProxy(t,["name","items"]),{getSelectItems:a}=Ue(),i=ht(e.toRef(()=>t.name)),l=At(i.path,r),s=e.computed(()=>t.items?t.items:i.path?a(i.path.value):[]),c=u=>{i.value&&(i.value.value=u),o("update:modelValue",u)};return(u,p)=>{var m;const d=e.resolveComponent("KAlert"),f=e.resolveComponent("KLabel");return e.unref(i).error?(e.openBlock(),e.createBlock(d,{key:0,appearance:"danger",message:e.unref(i).error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",Nb,[e.createVNode(f,e.normalizeProps(e.guardReactiveProps(e.unref(l).labelAttributes)),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).label)+" ",1)]),_:2},[(m=e.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:e.unref(l).labelAttributes.info},null,8,xb)]),key:"0"}:void 0]),1040),e.createElementVNode("div",Ab,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,g=>(e.openBlock(),e.createBlock(e.unref(Oe.KRadio),{key:g.value,"model-value":e.unref(i).value.value,"onUpdate:modelValue":[p[0]||(p[0]=_=>e.unref(i).value.value=_),c],"card-orientation":"horizontal",label:g.label,"selected-value":g.value},null,8,["model-value","label","selected-value"]))),128))])],512)),[[e.vShow,!e.unref(i).hide.value]])}}}),[["__scopeId","data-v-910a1c85"]]),Sb={class:"sp-form-request-limits-subtitle"},Pb={class:"sp-form-request-limits-content"},Ib={class:"sp-form-window-type"},Tb={class:"sp-form-request-limits-items"},Ob={class:"sp-form-request-limits-row"},Vb=["id"],Bb={class:"sp-form-request-limits-actions"},$b={key:0,class:"sp-form-request-limits-examples"},Rb={class:"sp-form-request-limits-examples-badges"},ba="config.window_type",Fb=be(e.defineComponent({__name:"RequestLimitsForm",setup(t){var y;const{t:n}=Ze.createI18n("en-us",et),{formData:o,getSelectItems:r,getSchema:a}=Ue(),i=e.computed(()=>{var w,E;const h=(E=(w=o.config)==null?void 0:w.limit)==null?void 0:E.map((C,b)=>{var k,N;return{limit:C,windowSize:(N=(k=o.config)==null?void 0:k.window_size)==null?void 0:N[b]}});return!Array.isArray(h)||h.length===0?[{limit:null,windowSize:null}]:h}),{getKey:l}=us("request-limits",i),s=h=>{var w,E;f.value=void 0,o.config&&((w=o.config.limit)!=null&&w.length||(o.config.limit=[null]),(E=o.config.window_size)!=null&&E.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=(y=a(ba))==null?void 0:y.default,p=e.computed(()=>qo(o,ba)),d=e.computed(()=>r(ba).sort((h,w)=>h.value===u?-1:w.value===u?1:0)),f=e.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}}]},g=e.computed(()=>Object.prototype.hasOwnProperty.call(m,p.value)?m[p.value]:[]),_=(h,w)=>{if(w===f.value){e.nextTick(()=>{f.value=void 0}),o.config.limit=[],o.config.window_size=[];return}e.nextTick(()=>{f.value=w}),o.config.limit=[h.config.limit],o.config.window_size=[h.config.window_size]};return(h,w)=>{const E=e.resolveComponent("KLabel"),C=e.resolveComponent("KButton"),b=e.resolveComponent("KBadge"),k=e.resolveComponent("KTooltip"),N=e.resolveComponent("KCard");return e.openBlock(),e.createBlock(N,{class:"sp-form-request-limits"},{title:e.withCtx(()=>[e.createVNode(E,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("sp.request_limits.title")),1)]),_:1}),e.createElementVNode("div",Sb,e.toDisplayString(e.unref(n)("sp.request_limits.subtitle")),1)]),default:e.withCtx(()=>[e.createElementVNode("div",Pb,[e.createElementVNode("div",Ib,[e.createVNode(ws,{items:d.value,label:e.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":w[0]||(w[0]=I=>f.value=void 0)},null,8,["items","label"])]),e.createElementVNode("div",Tb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(I,$)=>(e.openBlock(),e.createElementBlock("div",{key:e.unref(l)(I,$)},[e.createVNode(E,{for:`sp-form-request-limits-item-${$}-legend`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("sp.request_limits.label_index",{index:$+1})),1)]),_:2},1032,["for"]),e.createElementVNode("div",Ob,[e.createElementVNode("legend",{id:`sp-form-request-limits-item-${$}-legend`,class:"sp-form-request-limits-inputs"},[e.createVNode(An,{name:`$.config.limit.${$}`,placeholder:e.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.request_limits.interval_determiner")),1),e.createVNode(An,{name:`$.config.window_size.${$}`,placeholder:e.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.request_limits.seconds")),1)],8,Vb),e.createElementVNode("div",Bb,[e.createVNode(C,{appearance:"tertiary",disabled:i.value.length<=1,onClick:()=>c($)},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.RemoveIcon))]),_:1},8,["disabled","onClick"]),e.createVNode(C,{appearance:"tertiary",onClick:()=>s($)},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),g.value.length>0?(e.openBlock(),e.createElementBlock("div",$b,[e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.start_with_a_use_case")),1),e.createElementVNode("div",Rb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(I,$)=>(e.openBlock(),e.createBlock(k,{key:`use-case-${$}`,"max-width":"300"},{content:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(I.description),1),w[1]||(w[1]=e.createElementVNode("br",null,null,-1)),e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.request_limits.label"))+": "+e.toDisplayString(I.config.limit),1),e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.request_limits.time_interval"))+": "+e.toDisplayString(I.config.window_size),1)]),default:e.withCtx(()=>[e.createVNode(b,{appearance:f.value===`${p.value}-${$}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>_(I,`${p.value}-${$}`)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):e.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),Lb={id:"sp-form-error-legend",class:"sp-form-error-inputs"},Db=be(e.defineComponent({__name:"ErrorMessageForm",setup(t){const{t:n}=Ze.createI18n("en-us",et);return(o,r)=>{const a=e.resolveComponent("KLabel");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(a,{for:"sp-form-error-legend",info:e.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),e.createElementVNode("legend",Lb,[e.createVNode(An,{class:"input-error-code",label:"",name:"error_code",placeholder:e.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=e.createElementVNode("div",null,":",-1)),e.createVNode(pt,{class:"input-error-message",label:"",name:"error_message",placeholder:e.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),Mb={class:"partial-config-card"},vb={class:"config-card-row-label"},jb={class:"label-text"},Ub=["data-testid"],Kb=["data-testid"],qb={key:1},Gb=["data-testid"],zb=["data-testid"],Hb=be(e.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(t){const{t:n,formatUnixTimeStamp:o}=Ze.createI18n("en-us",et),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}},a=t,i=d=>d!=null,l=(d,f)=>i(f)&&["password","sentinel_password"].includes(d)?"password":"text",{convertKeyToTitle:s}=oe.useStringHelpers(),c=e.computed(()=>Object.entries(a.configFields).map(([d,f])=>{var m,g,_,y;return{key:d,label:((m=r[d])==null?void 0:m.label)??s(d),value:(g=r[d])!=null&&g.formatter?r[d].formatter(f):f,type:((_=r[d])==null?void 0:_.type)??l(d,f),order:((y=r[d])==null?void 0:y.order)??100}}).sort((d,f)=>d.order-f.order).filter(d=>d.type!=="hidden")),u=i_(a.configFields,a.pluginRedisFields||[]),p=e.computed(()=>c.value.concat(u));return(d,f)=>{const m=e.resolveComponent("KCopy");return e.openBlock(),e.createElementBlock("div",Mb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,({key:g,label:_,value:y,type:h})=>(e.openBlock(),e.createElementBlock("div",{key:g,class:"partial-config-card-row"},[e.createElementVNode("div",vb,[e.createElementVNode("div",jb,e.toDisplayString(_),1)]),e.createElementVNode("div",{class:"config-card-row-value","data-testid":`${g}-property-value`},[i(y)?(e.openBlock(),e.createElementBlock("div",qb,[h==="password"?(e.openBlock(),e.createElementBlock("div",{key:0,"data-testid":`${g}-copy-password`},[e.createVNode(m,{format:"redacted",text:String(y)},null,8,["text"])],8,Gb)):(e.openBlock(),e.createElementBlock("div",{key:1,"data-testid":`${g}-plain-text`},e.toDisplayString(y),9,zb))])):(e.openBlock(),e.createElementBlock("div",{key:0,"data-testid":`${g}-no-value`}," – ",8,Kb))],8,Ub)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),nr=Symbol("redis-partial-info"),Wb={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"}};function ka(){const t=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=e.inject(es,t);return o=>n(o)}const Yb={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Jb={class:"shared-redis-config"},Xb={class:"shared-redis-config-title"},Zb={class:"redis-config-select","data-testid":"redis-config-select"},Qb={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},Cs=be(e.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},setup(t){var P;const{t:n}=Ze.createI18n("en-us",et),o=["host","port","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","timeout","read_timeout","send_timeout","connect_timeout","connection_is_proxied","redis_proxy_type","cloud_authentication"],r={dependencies:{"cloud_authentication.aws_cache_name":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_region":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_is_serverless":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_access_key_id":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_secret_access_key":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_assume_role_arn":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_role_session_name":["cloud_authentication.auth_provider","aws"],"cloud_authentication.gcp_service_account_json":["cloud_authentication.auth_provider","gcp"],"cloud_authentication.azure_client_id":["cloud_authentication.auth_provider","azure"],"cloud_authentication.azure_client_secret":["cloud_authentication.auth_provider","azure"],"cloud_authentication.azure_tenant_id":["cloud_authentication.auth_provider","azure"]}},a=t,i=ka(),l=e.inject(nr),s=(l==null?void 0:l.isEditing)||!1,c=e.computed(()=>{var x;return a.redisPath?a.redisPath:(x=l==null?void 0:l.redisPath)!=null&&x.value?"$."+l.redisPath.value:"$.config.redis"}),u=a.redisType||((P=l==null?void 0:l.redisType)==null?void 0:P.value),p=e.computed(()=>{var x;return!!((x=l==null?void 0:l.redisType)!=null&&x.value)}),d=e.ref(null),f=e.ref(!s),{getMessageFromError:m}=oe.useErrors(),g=e.ref(a.defaultRedisConfigItem),_=e.ref({}),y=e.ref(),{value:h}=ds("$.partials"),{value:w,hide:E}=ht(c),C=e.inject(Le.FORMS_CONFIG),b=e.ref(null),k=x=>{let V=`${C.apiBaseUrl}${Wb[C.app].getOne}`;return C.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,(C==null?void 0:C.controlPlaneId)||""):C.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,C!=null&&C.workspace?`/${C.workspace}`:"")),V=V.replace(/{id}/gi,String(x)),V},{axiosInstance:N}=oe.useAxios(C==null?void 0:C.axiosRequestConfig),I=()=>{f.value?(y.value&&(h.value=y.value,g.value=y.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&&(y.value=h.value),h.value=s?null:void 0)},$=async x=>{if(x){g.value=x,h.value=[{id:x}],y.value=[{id:x}],w.value=void 0;try{const V=await N.get(k(x));if(V.data.config){const S=Object.assign(V.data,V.data.config);delete S.config,d.value=S}}catch(V){console.error(V)}}};return e.watch(()=>f.value,()=>{I()}),e.onBeforeMount(()=>{var x;if(a.defaultRedisConfigItem||h!=null&&h.value){const V=a.defaultRedisConfigItem||((x=h==null?void 0:h.value)==null?void 0:x[0].id);$(V),f.value=!0}else w!=null&&w.value&&(_.value=w.value)}),e.watch(()=>E==null?void 0:E.value,x=>{f.value&&(x&&h.value?h.value=s?null:void 0:x||y.value&&(h.value=y.value,$(y.value[0].id)))}),(x,V)=>{const S=e.resolveComponent("KRadio"),B=e.resolveComponent("KCard");return p.value?e.withDirectives((e.openBlock(),e.createBlock(B,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:e.unref(n)("redis.title")},{default:e.withCtx(()=>[e.createElementVNode("div",Yb,[e.createVNode(S,{modelValue:f.value,"onUpdate:modelValue":V[0]||(V[0]=U=>f.value=U),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:e.unref(n)("redis.shared_configuration.description"),label:e.unref(n)("redis.shared_configuration.label"),"selected-value":!0},null,8,["modelValue","description","label"]),e.createVNode(S,{modelValue:f.value,"onUpdate:modelValue":V[1]||(V[1]=U=>f.value=U),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:e.unref(n)("redis.dedicated_configuration.description"),label:e.unref(n)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),e.withDirectives(e.createElementVNode("div",Jb,[e.createElementVNode("div",Xb,e.toDisplayString(e.unref(n)("redis.shared_configuration.title")),1),e.createElementVNode("div",Zb,[e.createVNode(e.unref(Ni.RedisConfigurationSelector),{"data-testid":"redis-config-select-trigger","model-value":g.value,"redis-type":e.unref(u),onErrorChange:V[2]||(V[2]=U=>b.value=U),onToast:e.unref(i),"onUpdate:modelValue":V[3]||(V[3]=U=>$(U))},null,8,["model-value","redis-type","onToast"])]),d.value?(e.openBlock(),e.createBlock(Hb,{key:0,"config-fields":d.value},null,8,["config-fields"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createElementBlock("p",Qb,e.toDisplayString(b.value?e.unref(m)(b.value):e.unref(n)("redis.shared_configuration.error")),1)):e.createCommentVNode("",!0)],512),[[e.vShow,f.value]]),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(bt,e.mergeProps({key:0},a,{"as-child":"","fields-order":o,name:c.value,"render-rules":r,"reset-label-path":"reset"}),null,16,["name"]))]),_:1},8,["title"])),[[e.vShow,!e.unref(E)]]):e.withDirectives((e.openBlock(),e.createBlock(bt,e.mergeProps({key:1},a,{"fields-order":o,"hide-required-asterisk":"",name:c.value,"render-rules":r}),null,16,["name"])),[[e.vShow,!e.unref(E)]])}}}),[["__scopeId","data-v-d9fc3bcf"]]),ek=e.defineComponent({__name:"RedisField",setup(t){const{formData:n}=Ue(),o=e.inject(nr),r=(o==null?void 0:o.isEditing)||!1;return e.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=r?null:void 0)}),(a,i)=>(e.openBlock(),e.createBlock(bs,null,{default:e.withCtx(()=>{var l;return[((l=e.unref(n).config)==null?void 0:l.strategy)==="redis"?(e.openBlock(),e.createBlock(Cs,{key:0})):e.createCommentVNode("",!0)]}),_:1}))}}),tk=e.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(t,{emit:n}){const o=n,r={hasValue:l=>!!(l!=null&&l.config)};function a(l){var s;((s=l.config)==null?void 0:s.namespace)===null&&delete l.config.namespace,o("change",l)}const i=e.useId();return Xo(()=>t.schema,i),(l,s)=>(e.openBlock(),e.createBlock(dt,{config:r,data:t.data,"data-instance-id":e.unref(i),"data-plugin-name":"service-protection","data-testid":"ff-config-form",schema:t.schema,tag:"div",onChange:a},{default:e.withCtx(()=>[e.createVNode(bt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:e.withCtx(()=>[e.createVNode(Fb),e.createVNode(Db)]),_:1}),e.createVNode(tr,null,{default:e.withCtx(()=>[e.createVNode(ct,{name:"config.dictionary_name"}),e.createVNode(ct,{name:"config.lock_dictionary_name"}),e.createVNode(ct,{name:"config.strategy"}),e.createVNode(ek),e.createVNode(ct,{name:"config.namespace"}),e.createVNode(ct,{name:"config.hide_client_headers"}),e.createVNode(ct,{name:"config.disable_penalty"}),e.createVNode(ct,{name:"config.retry_after_jitter_max"}),e.createVNode(ct,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","data-instance-id","schema"]))}}),nk=e.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(t){const n=t,o=e.useSlots();return e.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,a)=>(e.openBlock(),e.createBlock(_a,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(i=>[e.createVNode(tk,e.normalizeProps(e.guardReactiveProps(i)),null,16)]),_:1},16))}}),Es=e.defineComponent({__name:"VFGField",props:{formOptions:{},vfgSchema:{}},setup(t){const n=Symbol("rawTagsString"),{formData:o,getSchema:r}=Ue(),a=e.computed(()=>{const l={};return t.vfgSchema.fields.forEach(s=>{s.type==="AutoSuggest"?o[s.model.split("-")[0]]&&(l[s.model]=o[s.model.split("-")[0]].id):s.model==="tags"&&o[s.model]?l[s.model]=o[s.model][n]??o[s.model].join(", "):l[s.model]=o[s.model]}),l});function i(l,s){const c=s.split("-")[0],u=r(c);if(!u)throw new Error(`Field schema not found for path: ${c}`);if(u.type==="foreign")o[c]=l?{id:l}:null;else if(c==="tags"){const p=l.split(",").map(d=>d.trim()).filter(Boolean);o[c]=p,o[c][n]=l}else o[c]=l}return(l,s)=>(e.openBlock(),e.createBlock(e.unref(Le.VueFormGenerator),{model:a.value,options:t.formOptions,schema:t.vfgSchema,onModelUpdated:i},null,8,["model","options","schema"]))}});/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */function Ns(t){return typeof t>"u"||t===null}function ok(t){return typeof t=="object"&&t!==null}function rk(t){return Array.isArray(t)?t:Ns(t)?[]:[t]}function ak(t,n){var o,r,a,i;if(n)for(i=Object.keys(n),o=0,r=i.length;o<r;o+=1)a=i[o],t[a]=n[a];return t}function ik(t,n){var o="",r;for(r=0;r<n;r+=1)o+=t;return o}function lk(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}var sk=Ns,ck=ok,dk=rk,uk=ik,fk=lk,pk=ak,it={isNothing:sk,isObject:ck,toArray:dk,repeat:uk,isNegativeZero:fk,extend:pk};function xs(t,n){var o="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(o+='in "'+t.mark.name+'" '),o+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!n&&t.mark.snippet&&(o+=`
15
+ ${w}`)}}function a(g){for(const[_,h]of Object.entries(g)){if(!h.bundles)continue;for(const w of h.bundles)if(new Set(w).size!==w.length){const C=w.filter((b,k)=>w.indexOf(b)!==k);throw new Error(`Self-cycle detected in bundle: field '${C[0]}' appears multiple times in [${w.join(", ")}]`)}const y=new Map;for(const w of h.bundles)for(let E=1;E<w.length;E++){const C=w[E],b=w[E-1];y.has(C)||y.set(C,new Set),y.get(C).add(b)}for(const w of y.keys()){let E=function(k){if(b.includes(k)){const S=[...b,k].join(" -> ");throw new Error(`Circular bundle detected in path '${_}':
16
+ ${S}`)}if(C.has(k))return;C.add(k),b.push(k);const N=y.get(k);if(N)for(const S of N)E(S);b.pop()};const C=new Set,b=[];E(w)}}}function i(g){for(const[_,h]of Object.entries(g))if(h.dependencies)for(const y of Object.keys(h.dependencies)){let w=function(b){if(C.includes(b)){const N=[...C,b].join(" -> ");throw new Error(`Circular dependency detected in path '${_}':
17
+ ${N}`)}if(E.has(b))return;E.add(b),C.push(b);const k=h.dependencies[b];if(k){const[N]=k;h.dependencies[N]&&w(N)}C.pop()};const E=new Set,C=[];w(y)}}function l(g,_){const h=g.map(w=>_?Xe(_,w):w),y=bt(h[0]);return y.pop(),Xe(...y)}function s(g,_){if(!_)return g;const h=`${_}${Jo}`;return g.startsWith(h)?g.slice(h.length):g}function c(g){const _=bt(g);return _.pop(),Xe(..._)}const u=e.computed(()=>{const g={};for(const[_,h]of Object.entries(n.value)){const y=_===Cn?"":_;if(h.bundles)for(const w of h.bundles){if(w.length<2)throw new Error(`Bundle must contain at least 2 fields. Found ${w.length} field(s) in bundle: [${w.join(", ")}]`);const E=w.map(k=>y?Xe(y,k):k);r(E,`Bundle [${w.join(", ")}]`);const C=l(w,y)||Cn;g[C]||(g[C]={}),g[C].bundles||(g[C].bundles=[]);const b=E.map(k=>s(k,C));g[C].bundles.push(b)}if(h.dependencies)for(const[w,[E,C]]of Object.entries(h.dependencies)){const b=y?Xe(y,w):w,k=y?Xe(y,E):E;r([b,k],`Dependency '${w}' -> '${E}'`);const N=c(b)||Cn;g[N]||(g[N]={}),g[N].dependencies||(g[N].dependencies={});const S=s(b,N),R=s(k,N);g[N].dependencies[S]=[R,C]}}return a(g),i(g),g});function p(g){if(!g)return u.value;const _=Xo(g);return u.value[_]}function d(g){let _=!1;return e.computed(()=>{if(_)return;const h=e.toValue(g);try{return p(h)}catch(y){_=!0,console.error(`Failed to get render rules for path: \`${h}\`,`,y instanceof Error?y.message:"");return}})}function f(g){const{fieldPath:_,rules:h,parentValue:y,omittedFields:w}=g;e.watch([()=>e.toValue(h),()=>e.toValue(_)],([C,b],[,k])=>{C?n.value[b]=C:delete n.value[b],k&&k!==b&&delete n.value[k]},{immediate:!0,deep:!0});const E=d(_);return e.watch([()=>e.toValue(y),()=>{var C;return(C=e.toValue(E))==null?void 0:C.dependencies},()=>e.toValue(_),()=>e.toValue(w)],([C,b,k,N])=>{!b||!C||Object.entries(b).forEach(([S,[R,P]])=>{if(N!=null&&N.includes(S))return;const A=Go(C,R),T=k?a_(Xe(k,S)):S;if(en(A,P)){o.value.delete(T),t();return}o.value.add(T),t()})},{deep:!0,immediate:!0}),e.onBeforeUnmount(()=>{const C=e.toValue(_);delete n.value[C]}),E}function m(g){return o.value.has(g)}return{useCurrentRules:f,createComputedRules:d,hiddenPaths:e.readonly(o),isFieldHidden:m}}const[p_,m_]=Ye.createInjectionState(function(n){const{schema:o,propsData:r,onChange:a,propsRenderRules:i,propsConfig:l}=n,s=u_(o),c=new Map,u=e.reactive({}),p=e.toRef(()=>l??{}),d=e.useSlots();e.provide(ma,tn(d,"default",Nn));const{useCurrentRules:f,createComputedRules:m,hiddenPaths:g,isFieldHidden:_}=f_(()=>a==null?void 0:a(C())),h=f({fieldPath:Cn,rules:i,parentValue:u});function y(b){Object.keys(u).forEach(k=>{delete u[k]}),Object.assign(u,b)}function w(b){let k;!b||!E(e.toValue(b))?k=s.getDefault():k=kn(e.toValue(b)),Fo(p.value.prepareFormData)?y(p.value.prepareFormData(k)):y(k)}function E(b){return Fo(p.value.hasValue)?p.value.hasValue(b):!!b}function C(){const b=e.toValue(u),k=kn(b);if(g.value.size>0)for(const N of g.value){const S=bt(N),R=S.slice(0,-1);(R.length===0||Go(k,R)!=null)&&Zl(k,S,s.getEmptyOrDefault(N))}return k}return e.watch(u,()=>{a==null||a(C())},{deep:!0}),e.watch(()=>r==null?void 0:r.value,b=>{w(b)},{deep:!0,immediate:!0}),{formData:u,schema:o,config:p,fieldRendererRegistry:c,setValue:y,useCurrentRenderRules:f,rootRenderRules:h,createComputedRenderRules:m,...s,getValue:C,isFieldHidden:_}});function Ke(){const t=m_();if(!t)throw new Error("useFormShared() called without provider.");return t}const cs=t=>{const n=e.inject(ls,e.computed(()=>"")),o=e.computed(()=>{const r=e.toValue(t);let a=r;return!os(r)&&n.value&&(a=Xe(n.value,r)),os(r)&&(a=a.slice(pa("").length)),a});return e.provide(ls,o),o},g_=t=>{const{getSchema:n,fieldRendererRegistry:o}=Ke(),{default:r,...a}=e.useSlots(),i=e.inject(ma),l=e.computed(()=>{const c=e.toValue(i),u=Object.keys(a).filter(p=>p!==Nn&&p!=="item").reduce((p,d)=>{const f=Xo(Xe(e.toValue(t),d));return{...p,[f]:a[d]}},{});return c?{...c,...u}:u});e.provide(ma,l);const s=e.toValue(t);return e.computed(()=>{if(r)return;const c=l.value[Xo(e.toValue(t))];if(c)return c;for(const[u,p]of o)if(u({path:s,schema:n(s)}))return p})};function ds(t){const{formData:n}=Ke(),o=cs(t);return{value:e.computed({get:()=>Go(n,bt(o.value)),set:a=>Zl(n,bt(o.value),a)})}}function yt(t){const{getSchema:n,isFieldHidden:o,getEmptyOrDefault:r}=Ke(),a=cs(t),i=g_(a),{value:l}=ds(t),s=e.computed(()=>n(a.value)),c=e.computed(()=>o(a.value)),u=e.computed(()=>r(a.value));return s.value?{schema:s,path:a,renderer:i,value:l,ancestors:is(a),hide:c,emptyOrDefaultValue:u,error:null}:{error:new Error(`path '${a.value}' is not found in schema.`)}}function so(t){const{getSchema:n}=Ke(),o=e.useAttrs();return e.computed(()=>{var a;if(o["data-autofocus"]!==void 0)return!0;if(!t)return!1;const r=e.toValue(t).parent;return r!=null&&r.path?((a=n(r.path))==null?void 0:a.type)==="array":!1})}function us(t,n){const o=new WeakMap,r=new Map;function a(){return Yo(`${t}-`)}function i(l,s){if(l==null||typeof l!="object")return`${t}-${s}`;if(o.has(l))return o.get(l);const c=r.has(s)?r.get(s):a();return r.set(s,c),o.set(l,c),c}return e.watch(n,l=>{const s=e.toValue(l),c=new Set;s.forEach((u,p)=>{c.add(p)}),Array.from(r.keys()).forEach(u=>{c.has(u)||r.delete(u)})},{immediate:!0,deep:!0}),{getKey:i}}function Zo(t,n){e.watch(t,o=>{window[Ln]||(window[Ln]={}),window[Ln][n]=e.toRaw(o)},{immediate:!0,deep:!0}),e.onUnmounted(()=>{window[Ln]&&delete window[Ln][n]})}const h_={ip:"IP",ssl:"SSL",ttl:"TTL",url:"URL",http:"HTTP",https:"HTTPS",api:"API",uri:"URI",jq:"jq",vpn:"VPN",id:"ID",llm:"LLM",tls:"TLS",tcp:"TCP",udp:"UDP",lua:"Lua",jwt:"JWT",aws:"AWS",gcp:"GCP",azure:"Azure",acl:"ACL",cookie:"Cookie"};function fs(t){return h_[t.toLocaleLowerCase()]??t}function ps(t){return t.split("_").map(fs).join(" ")}function y_(t,n){const o=e.inject(ss,{parentPath:null,isolate:!1}),{parentPath:r,isolate:a}=e.toValue(o),i=e.ref(r?Xe(r,t):t),l=e.ref({parentPath:i.value,isolate:a});return e.watch([e.toRef(n),e.toRef(o)],([s,c])=>{var f;const{parentPath:u,isolate:p}=c,d=u?Xe(u,t):t;if(s){const m={isolate:()=>{i.value=t,l.value.isolate=!0,l.value.parentPath=null},"isolate-children":()=>{l.value.isolate=!0,l.value.parentPath=null},reset:()=>{i.value=t,l.value.isolate=!1,l.value.parentPath=null},"reset-children":()=>{l.value.isolate=!1,l.value.parentPath=null},inherit:()=>{i.value=d,l.value.isolate=!1,l.value.parentPath=d}};(f=m[s])==null||f.call(m)}else p&&(i.value=t,l.value.isolate=!0,l.value.parentPath=null)},{deep:!0,immediate:!0}),e.provide(ss,l),i}function ms(t){return bt(t).map(o=>o.split("_").map(fs).join(" ")).map(rg).join(" › ")}function __(t,n){const o=e.toValue(t),r=En(o),{config:a,getSchema:i}=Ke(),l=y_(r,n),s=is(t);return e.computed(()=>{var f;const c=l.value??r,u=(f=s.value.parent)!=null&&f.path?i(s.value.parent.path):null,d=(u==null?void 0:u.type)==="array"?"":ms(c);return a.value.transformLabel?a.value.transformLabel(d,o):d})}function St(t,n){const{getLabelAttributes:o,getPlaceholder:r,getSchema:a}=Ke(),i=e.toValue(t),l=e.toValue(n),s=__(t,e.toRef(()=>e.toValue(n).resetLabelPath));return e.computed(()=>{var c;return{...l,placeholder:l.placeholder??r(i)??void 0,labelAttributes:l.labelAttributes??o(i),label:l.label??s.value,required:l.required??((c=a(i))==null?void 0:c.required)}})}const b_="__request_callout_";function gs(){return Yo(b_)}const xn=e.defineComponent({__name:"EnhancedInput",props:{modelValue:{},multiline:{type:Boolean}},emits:["update:modelValue"],setup(t,{emit:n}){const o=t,r=e.useAttrs(),a=n,i=e.computed(()=>o.multiline?Ve.KTextArea:Ve.KInput),l=e.computed(()=>r.characterLimit??(o.multiline?!1:void 0)),s=e.ref(o.modelValue);e.watch(()=>o.modelValue,d=>{s.value=d});const{config:c}=Ke(),u=d=>{d!==s.value&&(s.value=d,c.value.updateOnChange||a("update:modelValue",d))},p=()=>{c.value.updateOnChange&&a("update:modelValue",s.value)};return(d,f)=>(e.openBlock(),e.createBlock(e.unref(i),e.mergeProps(d.$attrs,{"character-limit":l.value,"model-value":t.modelValue,resizable:t.multiline?!0:void 0,onChange:p,"onUpdate:modelValue":u}),e.createSlots({_:2},[e.renderList(e.useSlots(),(m,g)=>({name:g,fn:e.withCtx(_=>[e.renderSlot(d.$slots,g,e.normalizeProps(e.guardReactiveProps(_)))])}))]),1040,["character-limit","model-value","resizable"]))}}),k_=["innerHTML"],st=ye(e.defineComponent({inheritAttrs:!1,__name:"StringField",props:{labelAttributes:{},multiline:{type:Boolean},showVaultSecretPicker:{type:Boolean,default:()=>{}},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},placeholder:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.useAttrs(),{i18n:r}=Le(),a=e.createPropsRestProxy(t,["showVaultSecretPicker","showPasswordMaskToggle","name"]),i=n,{value:l,hide:s,...c}=yt(e.toRef(()=>t.name)),u=St(c.path,e.toRef({...a,...o})),p=l==null?void 0:l.value;function d(w){p!==void 0&&w===""&&w!==p?(l.value=null,i("update:modelValue",null)):(l.value=w.trim(),i("update:modelValue",w.trim()))}const f=e.computed(()=>{var w;return t.showPasswordMaskToggle!==void 0?t.showPasswordMaskToggle:a.type==="password"?!0:!!((w=c.schema)==null?void 0:w.value).encrypted}),m=e.inject(je.AUTOFILL_SLOT,void 0),g=e.computed(()=>{var w;return t.showVaultSecretPicker!==void 0?t.showVaultSecretPicker:!!((w=c.schema.value)!=null&&w.referenceable)}),_=e.computed(()=>({referenceable:g.value})),h=so(c.ancestors),y=e.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:En(t.name)==="name");return(w,E)=>{var b;const C=e.resolveComponent("KAlert");return c.error?(e.openBlock(),e.createBlock(C,{key:0,appearance:"danger",message:c.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",e.normalizeProps(e.mergeProps({key:1},w.$attrs)),[e.createVNode(xn,e.mergeProps({...e.unref(u),showPasswordMaskToggle:f.value,type:f.value?"password":"text"},{class:"ff-string-field","data-1p-ignore":y.value,"data-autofocus":e.unref(h),"data-testid":`ff-${c.path.value}`,error:t.error,"error-message":t.errorMessage,help:t.multiline&&t.error?t.errorMessage:t.help,"model-value":e.unref(l)??"",multiline:t.multiline,placeholder:t.placeholder??e.unref(u).placeholder,"onUpdate:modelValue":d}),e.createSlots({_:2},[(b=e.unref(u).labelAttributes)!=null&&b.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(w.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(u).labelAttributes.info},null,8,k_)],!0)]),key:"0"}:void 0,!(t.multiline&&t.error)&&w.$slots.help?{name:"help",fn:e.withCtx(()=>[e.renderSlot(w.$slots,"help",{},void 0,!0)]),key:"1"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","multiline","placeholder"]),e.unref(m)&&g.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(m)),{key:0,schema:_.value,update:d,value:e.unref(l)??""},null,8,["schema","value"])):e.createCommentVNode("",!0),g.value&&!e.unref(m)?(e.openBlock(),e.createBlock(C,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${c.path.value}`,message:e.unref(r).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):e.createCommentVNode("",!0)],16)),[[e.vShow,!e.unref(s)]])}}}),[["__scopeId","data-v-93d54a4e"]]),w_=["innerHTML"],An=ye(e.defineComponent({__name:"BooleanField",props:{labelAttributes:{},modelValue:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.createPropsRestProxy(t,["name"]),{value:r,hide:a,emptyOrDefaultValue:i,...l}=yt(e.toRef(()=>t.name)),s=n,c=p=>{r.value=p,s("update:modelValue",p)},u=St(l.path,o);return(p,d)=>{var m;const f=e.resolveComponent("KAlert");return l.error?(e.openBlock(),e.createBlock(f,{key:0,appearance:"danger",message:l.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createBlock(e.unref(Ve.KCheckbox),e.mergeProps({key:1},e.unref(u),{class:"ff-boolean-field","data-testid":`ff-${l.path.value}`,"model-value":!!(e.unref(r)==null?e.unref(i):e.unref(r)),"onUpdate:modelValue":c}),e.createSlots({_:2},[(m=e.unref(u).labelAttributes)!=null&&m.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(p.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(u).labelAttributes.info},null,8,w_)],!0)]),key:"0"}:void 0]),1040,["data-testid","model-value"])),[[e.vShow,!e.unref(a)]])}}}),[["__scopeId","data-v-a64714b1"]]),C_="#ecfcff",E_="#f1f0ff",N_="#52596e",ya="#e0e4ea",x_="#007d60",A_="#fffce0",S_="#6c7489",P_="#0044f4",I_="#5f9aff",co="#000933",_a="#d60027",T_="#ffe5e5",O_="#00abd2",V_="#d60067",hs="#6f28ff",ys="#afb7c5",Dn="#6c7489",B_="#0044f4",$_="#eefaff",R_="#007d60",F_="#ecfffb",L_="#995c00",D_="#306fff",Qo="12px",uo="16px",fo="20px",M_="2px",_s="8px",j_="32px",bs=ye(e.defineComponent({__name:"SlideTransition",setup(t){const n=["height","padding-top","padding-bottom","margin-top","margin-bottom","border-top-width","border-bottom-width"],o=Object.fromEntries(n.map(f=>[f,""])),r=Object.fromEntries(n.map(f=>[f,"0"]));function a(f){const m=getComputedStyle(f);return Object.fromEntries(n.map(g=>[g,m.getPropertyValue(g)]))}function i(f){["overflow","transition",...n].forEach(m=>f.style.removeProperty(m))}function l(f){Object.assign(f.style,{overflow:"hidden",transition:"none"})}function s(f){const m=f;Object.assign(m.style,o);const g=a(m);Object.assign(m.style,r),requestAnimationFrame(()=>{Object.assign(m.style,{...g,transition:""})})}function c(f){i(f)}function u(f){const m=f;Object.assign(m.style,{...a(m),overflow:"hidden"})}function p(f){Object.assign(f.style,r)}function d(f){i(f)}return(f,m)=>(e.openBlock(),e.createBlock(e.Transition,{"enter-active-class":"ff-slide-active","leave-active-class":"ff-slide-active",onAfterEnter:c,onAfterLeave:d,onBeforeEnter:l,onBeforeLeave:u,onEnter:s,onLeave:p},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"default",{},void 0,!0)]),_:3}))}}),[["__scopeId","data-v-481d7a76"]]),v_={class:"ff-entity-checks-list"},ks=ye(e.defineComponent({__name:"EntityChecksAlert",props:{entityChecks:{},omittedFields:{}},setup(t){const{i18n:{t:n}}=Me.useI18n(),o=e.computed(()=>{if(!Array.isArray(t.entityChecks)||t.entityChecks.length===0)return null;const i=[],l=[{key:"at_least_one_of",i18nKey:"plugins.form.field_rules.at_least_one_of"},{key:"mutually_required",i18nKey:"plugins.form.field_rules.mutually_required"},{key:"mutually_exclusive",i18nKey:"plugins.form.field_rules.mutually_exclusive"}];for(const s of t.entityChecks)for(const{key:c,i18nKey:u}of l)if(c in s){const p=s[c];Array.isArray(p)&&p.length>0&&a(p)&&i.push(n(u,{parameters:r(p)}));break}return i.length?i:null});function r(i){return i.map(ms).join(", ")}function a(i){return Array.isArray(t.omittedFields)&&t.omittedFields.length>0?i.filter(s=>!t.omittedFields.includes(s)).length>0:!0}return(i,l)=>{const s=e.resolveComponent("KAlert");return o.value?(e.openBlock(),e.createBlock(s,{key:0,"data-testid":"ff-entity-checks-alert"},{default:e.withCtx(()=>[e.createElementVNode("ul",v_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,c=>(e.openBlock(),e.createElementBlock("li",{key:c,"data-testid":"ff-entity-check-item"},e.toDisplayString(c),1))),128))])]),_:1})):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-551c79ec"]]),U_=["data-testid"],K_=["data-testid"],q_=["data-testid"],G_={class:"ff-object-field-header-toggle"},z_=["aria-controls","aria-expanded","aria-label","data-testid","disabled"],H_=["innerHTML"],W_=["data-testid"],Y_={key:0,class:"indent-guide"},kt=ye(e.defineComponent({inheritAttrs:!1,__name:"ObjectField",props:e.mergeModels({name:{},label:{},labelAttributes:{},required:{type:Boolean,default:()=>{}},defaultAdded:{type:Boolean,default:!0},collapsible:{type:Boolean,default:!0},appearance:{},omit:{},asChild:{type:Boolean,default:()=>{}},resetLabelPath:{default:"reset"},fieldsOrder:{},renderRules:{}},{added:{type:Boolean,default:void 0},addedModifiers:{},expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:added","update:expanded"],setup(t){const n=e.useId(),o=e.createPropsRestProxy(t,["defaultAdded","collapsible","omit","required","asChild","resetLabelPath","fieldsOrder"]),{value:r,hide:a,...i}=yt(e.toRef(o,"name")),{getSchema:l,getDefault:s,useCurrentRenderRules:c}=Ke(),u=c({fieldPath:i.path,rules:e.toRef(o,"renderRules"),omittedFields:e.toRef(()=>t.omit),parentValue:r}),p=e.useModel(t,"added"),d=e.useModel(t,"expanded"),f=e.computed(()=>{var E,C;if((E=i.ancestors)!=null&&E.value){const b=i.ancestors.value.parent;if(b!=null&&b.path)return((C=l(b.path))==null?void 0:C.type)==="array"}return!1}),m=St(i.path,{required:t.required,...o,resetLabelPath:t.resetLabelPath}),g=e.computed(()=>m.value.required?!0:p.value??t.defaultAdded),_=e.computed(()=>t.asChild!==void 0?t.asChild:f.value),h=e.computed(()=>{var C;let E=i.schema.value.fields;return t.omit&&(E=E.filter(b=>!t.omit.includes(Object.keys(b)[0]))),t.fieldsOrder?rs(E,t.fieldsOrder):((C=u.value)!=null&&C.bundles&&(E=as([...E],u.value.bundles)),E)});function y(){d.value=!d.value}function w(){p.value?r.value=s(i.path.value):r.value=null}return e.watch(g,E=>{t.collapsible&&(d.value=E)}),e.onBeforeMount(()=>{if(i.error||!r)return;const E=r.value!=null;p.value=E,(m.value.required||E)&&(d.value=!0)}),(E,C)=>{var N;const b=e.resolveComponent("KAlert"),k=e.resolveComponent("KInputSwitch");return e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(E.$slots[e.unref(Nn)]))),i.error?(e.openBlock(),e.createBlock(b,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):_.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps({key:1,class:"ff-object-field ff-object-field-as-child"},E.$attrs,{"data-testid":`ff-object-${i.path.value}`}),[e.renderSlot(E.$slots,"default",{},()=>{var S;return[e.createVNode(ks,{"entity-checks":(S=i.schema.value)==null?void 0:S.entity_checks,"omitted-fields":t.omit},null,8,["entity-checks","omitted-fields"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,R=>(e.openBlock(),e.createBlock(ut,{key:Object.keys(R)[0],name:Object.keys(R)[0]},null,8,["name"]))),128))]},!0)],16,U_)),[[e.vShow,!e.unref(a)]]):e.withDirectives((e.openBlock(),e.createElementBlock("div",e.mergeProps({key:2,class:["ff-object-field",{"ff-object-field-collapsed":!d.value}],"data-testid":`ff-object-${i.path.value}`},E.$attrs),[e.createElementVNode("header",{class:"ff-object-field-header","data-testid":`ff-object-header-${i.path.value}`},[e.createElementVNode("div",G_,[e.createElementVNode("button",{"aria-controls":e.unref(n),"aria-expanded":d.value,"aria-label":e.unref(m).label,class:"ff-object-field-toggle-btn","data-testid":`ff-object-toggle-btn-${i.path.value}`,disabled:!p.value,type:"button",onClick:e.withModifiers(y,["prevent","stop"])},[e.createVNode(e.unref(ue.ChevronRightIcon),{class:e.normalizeClass(["ff-object-field-toggle-btn-trigger-icon",{"collapse-expanded":d.value}]),"data-testid":`ff-object-toggle-trigger-icon-${i.path.value}`,decorative:"",size:e.unref(uo)},null,8,["class","data-testid","size"])],8,z_),e.createVNode(e.unref(Ve.KLabel),e.mergeProps({class:"ff-object-field-label","data-testid":`ff-label-${i.path.value}`},{...e.unref(m),required:!1},{"tooltip-attributes":e.unref(m).labelAttributes.tooltipAttributes}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(m).label)+" ",1)]),_:2},[(N=e.unref(m).labelAttributes)!=null&&N.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(E.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(m).labelAttributes.info},null,8,H_)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"])]),e.unref(m).required?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(k,{key:0,modelValue:p.value,"onUpdate:modelValue":[C[0]||(C[0]=S=>p.value=S),w],"data-testid":`ff-object-switch-${i.path.value}`},null,8,["modelValue","data-testid"]))],8,q_),e.createVNode(bs,null,{default:e.withCtx(()=>[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"ff-object-field-content","data-testid":`ff-object-content-${i.path.value}`},[e.renderSlot(E.$slots,"default",{},()=>{var S;return[e.createVNode(ks,{"entity-checks":(S=i.schema.value)==null?void 0:S.entity_checks,"omitted-fields":t.omit},null,8,["entity-checks","omitted-fields"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,R=>(e.openBlock(),e.createBlock(ut,{key:Object.keys(R)[0],name:Object.keys(R)[0]},null,8,["name"]))),128))]},!0)],8,W_)):e.createCommentVNode("",!0)]),_:3}),d.value?(e.openBlock(),e.createElementBlock("div",Y_)):e.createCommentVNode("",!0)],16,K_)),[[e.vShow,!e.unref(a)]])],64)}}}),[["__scopeId","data-v-2ed54dc5"]]),J_={key:1,class:"ff-number-field-wrapper"},X_=["innerHTML"],Sn=ye(e.defineComponent({__name:"NumberField",props:{showVaultSecretPicker:{type:Boolean,default:()=>{}},labelAttributes:{},max:{},min:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},type:{},showPasswordMaskToggle:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.createPropsRestProxy(t,["showVaultSecretPicker","name"]),{value:r,hide:a,...i}=yt(e.toRef(()=>t.name)),l=St(i.path,o),{i18n:s}=Le(),c=e.computed(()=>{var k;const E=(k=i.schema)==null?void 0:k.value;if(typeof E.gt=="number")return{min:E.type==="integer"?E.gt+1:E.gt};const[C,b]=E.between??[];return{min:o.min??C,max:o.max??b}}),u=n,p=r.value,d=e.computed(()=>{const E=r==null?void 0:r.value;if(E==null||E==="")return"";if(y.value)return`${E}`;const C=typeof E=="number"?E:Number(E);return Number.isFinite(C)?`${C}`:""});function f(E){const C=m(E);p!==void 0&&E===""&&C!==p?(r.value=null,u("update:modelValue",null)):(r.value=C,u("update:modelValue",C))}function m(E){if(E==="")return null;const C=E.trim();if(C==="")return null;const b=Number(C);return Number.isFinite(b)?b:y.value?E:null}const g=so(i.ancestors),_=e.inject(je.AUTOFILL_SLOT,void 0),h=e.computed(()=>({referenceable:y.value})),y=e.computed(()=>{var E;return t.showVaultSecretPicker!==void 0?t.showVaultSecretPicker:!!((E=i.schema.value)!=null&&E.referenceable)}),w=e.computed(()=>y.value?"text":"number");return(E,C)=>{var k;const b=e.resolveComponent("KAlert");return i.error?(e.openBlock(),e.createBlock(b,{key:0,appearance:"danger",message:i.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",J_,[e.createVNode(xn,e.mergeProps({class:"ff-number-field"},{...e.unref(l),min:c.value.min,max:c.value.max},{"data-autofocus":e.unref(g),"data-testid":`ff-${i.path.value}`,"model-value":d.value,type:w.value,"onUpdate:modelValue":f}),e.createSlots({_:2},[(k=e.unref(l).labelAttributes)!=null&&k.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(E.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(l).labelAttributes.info},null,8,X_)],!0)]),key:"0"}:void 0]),1040,["data-autofocus","data-testid","model-value","type"]),e.unref(_)&&y.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(_)),{key:0,schema:h.value,update:f,value:e.unref(r)??""},null,8,["schema","value"])):e.createCommentVNode("",!0),y.value&&!e.unref(_)?(e.openBlock(),e.createBlock(b,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${i.path.value}`,message:e.unref(s).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):e.createCommentVNode("",!0)],512)),[[e.vShow,!e.unref(a)]])}}}),[["__scopeId","data-v-709884eb"]]),Z_=["innerHTML"],Pt=ye(e.defineComponent({__name:"EnumField",props:e.mergeModels({labelAttributes:{},items:{},placeholder:{},multiple:{type:Boolean,default:()=>{}},modelValue:{},label:{},help:{},error:{type:Boolean},searchPlaceholder:{},kpopAttributes:{},dropdownMaxHeight:{},width:{},selectedRowCount:{},collapsedContext:{type:Boolean},filterFunction:{type:Function},autosuggest:{type:Boolean},enableItemCreation:{type:Boolean},loading:{type:Boolean},dropdownFooterText:{},dropdownFooterTextPosition:{},itemCreationValidator:{type:Function},enableFiltering:{type:Boolean},clearable:{type:Boolean},reuseItemTemplate:{type:Boolean},name:{}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["update"],["update:modelValue"]),setup(t,{emit:n}){const o=n,r=e.createPropsRestProxy(t,["name","items","multiple"]),{getSelectItems:a}=Ke(),{value:i,hide:l,...s}=yt(e.toRef(()=>t.name)),c=e.useModel(t,"modelValue",{get:()=>d.value&&(i==null?void 0:i.value)==null?[]:i.value,set:m=>{i.value=m}}),u=St(s.path,r),p=e.computed(()=>t.items?t.items:s.path?a(s.path.value):[]),d=e.computed(()=>{var m;return t.multiple!==void 0?t.multiple:((m=s.schema.value)==null?void 0:m.type)==="set"}),f=e.computed(()=>d.value?Ve.KMultiselect:Ve.KSelect);return(m,g)=>{var h;const _=e.resolveComponent("KAlert");return s.error?(e.openBlock(),e.createBlock(_,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createBlock(e.unref(f),e.mergeProps({key:1},{...r,...e.unref(u)},{modelValue:c.value,"onUpdate:modelValue":[g[0]||(g[0]=y=>c.value=y),g[1]||(g[1]=y=>o("update",y))],class:"ff-enum-field",clearable:!e.unref(u).required,"data-testid":`ff-${s.path.value}`,items:p.value,"kpop-attributes":{"data-testid":`ff-enum-${s.path.value}-items`}}),e.createSlots({_:2},["tooltip"in m.$slots||(h=e.unref(u).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(u).labelAttributes.info},null,8,Z_)],!0)]),key:"0"}:void 0,m.$slots["item-label"]?{name:"item-template",fn:e.withCtx(({item:y})=>[e.renderSlot(m.$slots,"item-label",e.normalizeProps(e.guardReactiveProps(y)),void 0,!0)]),key:"1"}:void 0]),1040,["modelValue","clearable","data-testid","items","kpop-attributes"])),[[e.vShow,!e.unref(l)]])}}}),[["__scopeId","data-v-3b4bfe42"]]);function er(t,n,o=!0){const{value:r,emptyOrDefaultValue:a,...i}=yt(e.toRef(t,"name")),l=St(i.path,e.toRef({...t,...e.useAttrs()})),s=e.ref(p(t.initialValue??e.toValue(r),t.keyOrder));function c(){return Yo("ff-kv-field-")}function u(y,w,E){const C=E.indexOf(y),b=E.indexOf(w);return C===-1&&b===-1?0:C===-1?1:b===-1?-1:C-b}function p(y,w){if(!y)return[];const E=Object.entries(y).map(([C,b])=>({id:c(),key:C,value:b}));return w&&E.sort((C,b)=>u(C.key,b.key,w)),E}function d(){const y={id:c(),key:t.defaultKey||"",value:t.defaultValue||""};return s.value.push(y),y}function f(y){const w=s.value.findIndex(E=>E.id===y);w!==-1&&s.value.splice(w,1)}function m(){s.value=p(t.initialValue,t.keyOrder)}function g(y){s.value=p(y,t.keyOrder)}let _=r==null?void 0:r.value;e.watch(s,y=>{if(!o)return;const w=y.length?Object.fromEntries(y.map(({key:E,value:C})=>[E,C]).filter(([E])=>E)):a==null?void 0:a.value;w===null&&r.value!==null&&typeof r.value=="object"&&Object.keys(r.value).length===0||(r.value=w,_=w,n("change",w))},{deep:!0,immediate:!0}),e.watch(()=>r==null?void 0:r.value,y=>{en(y,_)||h(y)},{deep:!0});function h(y){if(!y){s.value=[];return}const w=new Map;s.value.forEach(k=>{k.key&&w.set(k.key,k)});const E=[],C=Object.keys(y);(t.keyOrder?[...C].sort((k,N)=>u(k,N,t.keyOrder)):C).forEach(k=>{const N=y[k];if(w.has(k)){const S=w.get(k);S.value=N,E.push(S)}else E.push({id:c(),key:k,value:N})}),s.value=E}return{entries:s,addEntry:d,removeEntry:f,reset:m,setValue:g,labelAttrs:l,field:i}}const Q_=["data-testid"],eb=["data-testid"],tb=["innerHTML"],nb=["data-testid"],ob=ye(e.defineComponent({__name:"KeyValueField",props:{initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean,default:()=>{}},keyOrder:{},name:{}},emits:["change"],setup(t,{expose:n,emit:o}){const r=e.createPropsRestProxy(t,["showVaultSecretPicker"]),{i18n:a}=Le(),i=o,{entries:l,addEntry:s,removeEntry:c,reset:u,setValue:p,labelAttrs:d,field:f}=er(r,i),m=e.computed(()=>{if(!f.path)return"";const k=En(f.path.value);return ps(k)}),g=e.useTemplateRef("root");async function _(k,N="key"){var S;g.value&&(await e.nextTick(),(S=g.value.querySelector(`[data-${N}-input="${k}"]`))==null||S.focus())}function h(){s();const k=l.value.findIndex(({key:N})=>!N);_(k===-1?l.value.length-1:k)}function y(k){k===l.value.length-1&&s(),_(k+1)}const w=e.inject(je.AUTOFILL_SLOT,void 0),E=e.computed(()=>{var k,N;return t.showVaultSecretPicker??!!((N=(k=f.schema.value)==null?void 0:k.values)!=null&&N.referenceable)}),C=e.computed(()=>({referenceable:E.value}));function b(k,N){l.value[k].value=N}return n({reset:u,setValue:p}),(k,N)=>{var T;const S=e.resolveComponent("KAlert"),R=e.resolveComponent("KLabel"),P=e.resolveComponent("KButton"),A=e.resolveComponent("KTooltip");return e.unref(f).error?(e.openBlock(),e.createBlock(S,{key:0,appearance:"danger",message:e.unref(f).error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"root",ref:g,class:"ff-kv-field","data-testid":`ff-kv-${e.unref(f).path.value}`},[e.createElementVNode("header",{class:"ff-kv-field-header","data-testid":`ff-kv-header-${e.unref(f).path.value}`},[e.createVNode(R,e.mergeProps({class:"ff-kv-field-label"},e.unref(d),{"data-testid":`ff-label-${e.unref(f).path.value}`,"tooltip-attributes":e.unref(d).labelAttributes.tooltipAttributes}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(d).label)+" ",1)]),_:2},[(T=e.unref(d).labelAttributes)!=null&&T.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(k.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(d).labelAttributes.info},null,8,tb)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"])],8,eb),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(l),(O,I)=>(e.openBlock(),e.createElementBlock("div",{key:O.id,class:"ff-kv-field-entry","data-testid":`ff-kv-container-${e.unref(f).path.value}.${I}`},[e.createVNode(xn,{modelValue:O.key,"onUpdate:modelValue":q=>O.key=q,modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":I,"data-testid":`ff-key-${e.unref(f).path.value}.${I}`,placeholder:t.keyPlaceholder||"Key",onKeydown:e.withKeys(e.withModifiers(q=>_(I,"value"),["prevent"]),["enter"])},null,8,["modelValue","onUpdate:modelValue","data-key-input","data-testid","placeholder","onKeydown"]),e.createVNode(xn,{modelValue:O.value,"onUpdate:modelValue":q=>O.value=q,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${e.unref(f).path.value}.${I}`,"data-value-input":I,placeholder:t.valuePlaceholder||"Value",onKeydown:e.withKeys(e.withModifiers(q=>y(I),["prevent"]),["enter"])},{after:e.withCtx(()=>[e.unref(w)&&E.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(w)),{key:0,schema:C.value,update:q=>b(I,q),value:O.value},null,8,["schema","update","value"])):e.createCommentVNode("",!0),E.value&&!e.unref(w)?(e.openBlock(),e.createBlock(S,{key:1,appearance:"warning","data-testid":`ff-vault-secret-picker-warning-${e.unref(f).path.value}`,message:e.unref(a).t("plugins.free-form.vault_picker.component_error")},null,8,["data-testid","message"])):e.createCommentVNode("",!0)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","data-value-input","placeholder","onKeydown"]),e.createVNode(A,{class:"ff-array-field-item-remove-tooltip",text:e.unref(a).t("actions.remove_entity",{entity:m.value})},{default:e.withCtx(()=>[e.createVNode(P,{appearance:"tertiary","aria-label":e.unref(a).t("actions.remove_entity",{entity:m.value}),"data-testid":`ff-kv-remove-btn-${e.unref(f).path.value}.${I}`,icon:"",onClick:q=>e.unref(c)(O.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.CloseIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["text"])],8,nb))),128)),e.createVNode(P,{appearance:"tertiary","aria-label":e.unref(a).t("actions.add_entity",{entity:m.value}),class:"ff-kv-field-add-entry-btn","data-testid":`ff-kv-add-btn-${e.unref(f).path.value}`,onClick:h},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a).t("actions.add_entity",{entity:m.value})),1)]),_:1},8,["aria-label","data-testid"])],8,Q_)),[[e.vShow,!e.unref(f).hide.value]])}}}),[["__scopeId","data-v-9f7b22ac"]]),rb=["data-testid"],ab=["innerHTML"],tr=ye(e.defineComponent({inheritAttrs:!1,__name:"StringArrayField",props:{labelAttributes:{},multiline:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.useAttrs(),r=e.createPropsRestProxy(t,["name"]),a=n,{value:i,hide:l,...s}=yt(e.toRef(()=>t.name)),c=St(s.path,e.toRef({...r,...o})),u=e.computed(()=>{var h,y;return((y=(h=s.schema)==null?void 0:h.value)==null?void 0:y.len_min)&&s.schema.value.len_min>0}),p=e.ref("");function d(h){return h.map(y=>y.trim()).filter(Boolean).join(", ")}function f(h){return h.trim().split(",").map(y=>y.trim()).filter(Boolean)}function m(h){p.value=h;const y=f(h),w=!y.length&&u.value?null:y;i.value=w,a("update:modelValue",w)}const g=so(s.ancestors),_=e.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:En(t.name)==="name");return e.watch(i,h=>{const y=h?d(h):"";d(f(p.value))!==y&&(p.value=y)},{immediate:!0}),(h,y)=>{var E;const w=e.resolveComponent("KAlert");return s.error?(e.openBlock(),e.createBlock(w,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:1,"data-testid":`ff-tag-${s.path.value}`},[e.createVNode(xn,e.mergeProps(e.unref(c),{class:"ff-tag-field","data-1p-ignore":_.value,"data-autofocus":e.unref(g),"data-testid":`ff-${s.path.value}`,"model-value":p.value??"","onUpdate:modelValue":m}),e.createSlots({_:2},[(E=e.unref(c).labelAttributes)!=null&&E.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(h.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(c).labelAttributes.info},null,8,ab)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,rb)),[[e.vShow,!e.unref(l)]])}}}),[["__scopeId","data-v-5195e71a"]]),ib=["data-testid"],lb=["innerHTML"],sb=ye(e.defineComponent({inheritAttrs:!1,__name:"JsonField",props:{labelAttributes:{},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.useAttrs(),r=e.createPropsRestProxy(t,["name"]),a=n,{value:i,hide:l,...s}=yt(e.toRef(()=>t.name)),c=St(s.path,e.toRef({...r,...o})),u=e.ref("");function p(m){u.value=m;let g=m||null;try{const _=JSON.parse(m);_&&typeof _=="object"&&(g=_)}catch{}i.value=g,a("update:modelValue",g)}const d=so(s.ancestors),f=e.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:En(t.name)==="name");return e.watch(i,m=>{if(m&&typeof m=="object"){try{const g=JSON.parse(u.value);en(g,m)||(u.value=JSON.stringify(m,null,2))}catch{u.value=JSON.stringify(m,null,2)}return}u.value=m||""},{immediate:!0}),(m,g)=>{var h;const _=e.resolveComponent("KAlert");return s.error?(e.openBlock(),e.createBlock(_,{key:0,appearance:"danger",message:s.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:1,"data-testid":`ff-json-${s.path.value}`},[e.createVNode(xn,e.mergeProps(e.unref(c),{class:"ff-json-field","data-1p-ignore":f.value,"data-autofocus":e.unref(d),"data-testid":`ff-${s.path.value}`,"model-value":u.value??"",multiline:"","onUpdate:modelValue":p}),e.createSlots({_:2},[(h=e.unref(c).labelAttributes)!=null&&h.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(c).labelAttributes.info},null,8,lb)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","model-value"])],8,ib)),[[e.vShow,!e.unref(l)]])}}}),[["__scopeId","data-v-02205863"]]),cb=["innerHTML"],db=ye(e.defineComponent({inheritAttrs:!1,__name:"ForeignField",props:{labelAttributes:{},showPasswordMaskToggle:{type:Boolean,default:()=>{}},type:{},modelValue:{},label:{},help:{},error:{type:Boolean},errorMessage:{},characterLimit:{},hasError:{type:Boolean},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=e.useAttrs(),{i18n:{t:r}}=Le(),a=e.createPropsRestProxy(t,["showPasswordMaskToggle","name"]),i=n,{value:l,hide:s,...c}=yt(e.toRef(()=>t.name));if(c.error)throw new Error(c.error.message);const u=St(c.path,e.toRef({...a,...o})),p=l.value?l.value.id:null,d=e.computed(()=>{var h;return u.value.placeholder?u.value.placeholder:r("plugins.free-form.foreign_placeholder",{entity:((h=c.schema.value)==null?void 0:h.reference)??"entity"})}),f=e.ref(p??"");function m(h){p!==void 0&&h===""&&h!==p?(l.value=null,i("update:modelValue",null)):(l.value={id:h.trim()},i("update:modelValue",l.value))}const g=so(c.ancestors),_=e.computed(()=>o["data-1p-ignore"]!==void 0?o["data-1p-ignore"]:En(t.name)==="name");return(h,y)=>{var w;return e.withDirectives((e.openBlock(),e.createBlock(xn,e.mergeProps(e.unref(u),{class:"ff-foreign-field","data-1p-ignore":_.value,"data-autofocus":e.unref(g),"data-testid":`ff-${c.path.value}`,error:t.error,"error-message":t.errorMessage,help:t.help,"model-value":f.value,placeholder:d.value,"onUpdate:modelValue":m}),e.createSlots({_:2},[(w=e.unref(u).labelAttributes)!=null&&w.info?{name:"label-tooltip",fn:e.withCtx(()=>[e.renderSlot(h.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(u).labelAttributes.info},null,8,cb)],!0)]),key:"0"}:void 0]),1040,["data-1p-ignore","data-autofocus","data-testid","error","error-message","help","model-value","placeholder"])),[[e.vShow,!e.unref(s)]])}}}),[["__scopeId","data-v-8626d32b"]]),ut=e.defineComponent({name:"AutoField",__name:"Field",props:{name:{}},emits:["globalAction"],setup(t){const n=t,o=yt(e.toRef(n,"name")),r=e.computed(()=>{var a,i;switch((i=(a=o.schema)==null?void 0:a.value)==null?void 0:i.type){case"string":return"one_of"in o.schema.value?Pt:st;case"boolean":return"one_of"in o.schema.value?Pt:An;case"number":case"integer":return"one_of"in o.schema.value?Pt:Sn;case"array":return po;case"set":return l_(o.schema)?tr:Pt;case"record":return kt;case"map":return ob;case"json":return sb;case"foreign":return db;default:return}});return(a,i)=>{const l=e.resolveComponent("KAlert");return e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.$slots[e.unref(Nn)]))),e.unref(o).error?(e.openBlock(),e.createBlock(l,{key:0,appearance:"danger",message:e.unref(o).error.message},null,8,["message"])):e.unref(o).renderer.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o).renderer.value),{key:1,name:pa(e.unref(o).path.value),onGlobalAction:i[0]||(i[0]=(s,c)=>a.$emit("globalAction",s,c))},null,40,["name"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[r.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{key:0,name:pa(e.unref(o).path.value)},null,8,["name"])):(e.openBlock(),e.createBlock(l,{key:1,appearance:"warning",message:`${e.unref(o).path.value} ${e.unref(o).schema.value.type} (no renderer yet)`},null,8,["message"])),e.renderSlot(a.$slots,"default")],64))],64)}}}),ub=["data-appearance","data-testid"],fb=["data-testid"],pb=["innerHTML"],mb=["data-testid"],gb={class:"ff-array-field-item-content"},hb=["data-index","data-testid"],po=ye(e.defineComponent({__name:"ArrayField",props:{name:{},items:{},label:{},labelAttributes:{},itemLabel:{type:[String,Function]},appearance:{},stickyTabs:{type:[Boolean,String,Number]}},emits:["add","remove"],setup(t,{emit:n}){var R;e.useCssVars(P=>({v3c0f22aa:S.value}));const o=t,r=n,{i18n:{t:a}}=Le(),{getDefault:i,getSchema:l}=Ke(),{value:s,hide:c,...u}=yt(e.toRef(o,"name")),p=St(u.path,e.toRef({...o,...e.useAttrs()})),d=e.computed(()=>{if(!u.path)throw new Error("Field path is required for sub-schema retrieval");const P=l(u.path.value);if(!P)throw new Error(`Schema not found for path: ${u.path.value}`);return P.elements}),f=e.computed(()=>{if(!u.path)return"";const P=En(u.path.value);return ps(P)}),m=e.computed(()=>o.items??e.toValue(s)??[]),{getKey:g}=us("ff-array-field",m),_=e.computed(()=>o.appearance?o.appearance:d.value.type==="record"?"card":"default"),h=e.computed(()=>_.value==="card"?Ve.KCard:"div");function y(P,A){return typeof o.itemLabel=="function"?o.itemLabel(P,A):o.itemLabel||p.value.label||`Item #${A}`}const w=e.computed(()=>m.value.map((P,A)=>({hash:`#${g(P,A)}`,title:""}))),E=e.ref((R=w.value[0])==null?void 0:R.hash),C=async()=>{var A;const P=i(Xe(u.path.value,fa));Array.isArray(s.value)||(s.value=[]),s.value.push(P),r("add"),o.appearance==="tabs"&&(await e.nextTick(),E.value=(A=w.value[w.value.length-1])==null?void 0:A.hash),await e.nextTick(),N(m.value.length+1)},b=async P=>{var A;Array.isArray(s.value)&&s.value.splice(P,1),r("remove",P),o.appearance==="tabs"&&(E.value=(A=w.value[Math.max(0,P-1)])==null?void 0:A.hash)},k=e.useTemplateRef("root");function N(P){var T;if(!k.value)return;const A=Math.max(0,Math.min(P,m.value.length-1));(T=k.value.querySelector(`[data-index="${A}"] [data-autofocus]`))==null||T.focus()}const S=e.computed(()=>{const{appearance:P,stickyTabs:A}=o;return P!=="tabs"||A==null||A===!1?null:typeof A=="number"?`${o.stickyTabs}px`:typeof A=="string"?A:"0"});return(P,A)=>{var W;const T=e.resolveComponent("KAlert"),O=e.resolveComponent("KLabel"),I=e.resolveComponent("KButton"),q=e.resolveComponent("KTooltip"),v=e.resolveComponent("KTabs");return u.error?(e.openBlock(),e.createBlock(T,{key:0,appearance:"danger",message:u.error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"root",ref:k,class:e.normalizeClass(["ff-array-field",{[`ff-array-field-${_.value??"default"}`]:!0,"ff-array-field-sticky-tabs":t.stickyTabs}]),"data-appearance":_.value,"data-testid":`ff-array-${u.path.value}`},[e.createElementVNode("header",{class:"ff-array-field-header","data-testid":`ff-array-header-${u.path.value}`},[e.createVNode(O,e.mergeProps({class:"ff-array-field-label"},e.unref(p),{"data-testid":`ff-label-${u.path.value}`,"tooltip-attributes":e.unref(p).labelAttributes.tooltipAttributes}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(p).label)+" ",1)]),_:2},[(W=e.unref(p).labelAttributes)!=null&&W.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(P.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(p).labelAttributes.info},null,8,pb)],!0)]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),t.appearance==="tabs"?(e.openBlock(),e.createBlock(I,{key:0,appearance:"tertiary","aria-label":e.unref(a)("actions.add_entity",{entity:f.value}),"data-testid":`ff-add-item-btn-${u.path.value}`,icon:"",onClick:C},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon))]),_:1},8,["aria-label","data-testid"])):e.createCommentVNode("",!0)],8,fb),_.value!=="tabs"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",{class:"ff-array-field-container","data-testid":`ff-array-basic-container-${u.path.value}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(U,D)=>(e.openBlock(),e.createBlock(e.unref(h),{key:e.unref(g)(U,D),class:e.normalizeClass(["ff-array-field-item",{"ff-array-field-item-card":_.value==="card"}]),"data-index":D,"data-testid":`ff-array-item-${u.path.value}.${D}`},{default:e.withCtx(()=>[e.createElementVNode("div",gb,[P.$slots.item?e.renderSlot(P.$slots,"item",{key:0,fieldName:String(D),index:D},void 0,!0):e.createCommentVNode("",!0),d.value.type==="array"&&d.value.elements.type==="string"?(e.openBlock(),e.createBlock(tr,{key:1,help:e.unref(a)("plugins.free-form.tag_helper"),name:String(D)},null,8,["help","name"])):(e.openBlock(),e.createBlock(ut,{key:2,name:String(D)},null,8,["name"]))]),e.createVNode(q,{class:"ff-array-field-item-remove-tooltip",text:e.unref(a)("actions.remove_entity",{entity:f.value})},{default:e.withCtx(()=>[e.createVNode(I,{appearance:"tertiary","aria-label":e.unref(a)("actions.remove_entity",{entity:f.value}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${u.path.value}.${D}`,icon:"",onClick:e.withModifiers(j=>b(D),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.CloseIcon))]),_:1},8,["aria-label","data-testid","onClick"])]),_:2},1032,["text"])]),_:2},1032,["class","data-index","data-testid"]))),128))],8,mb),e.createVNode(I,{appearance:"tertiary","aria-label":e.unref(a)("actions.add_entity",{entity:f.value}),class:"ff-array-field-add-item-btn","data-testid":`ff-add-item-btn-${u.path.value}`,onClick:C},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(a)("actions.add_entity",{entity:f.value})),1)]),_:1},8,["aria-label","data-testid"])],64)):m.value.length?(e.openBlock(),e.createBlock(e.unref(Ve.KCard),{key:1,"data-testid":`ff-array-tab-container-${u.path.value}`},{default:e.withCtx(()=>[e.createVNode(v,{modelValue:E.value,"onUpdate:modelValue":A[0]||(A[0]=U=>E.value=U),"data-testid":`ff-array-tabs-${u.path.value}`,tabs:w.value},e.createSlots({_:2},[e.renderList(m.value,(U,D)=>({name:e.unref(g)(U,D),fn:e.withCtx(()=>[e.createElementVNode("div",{class:"ff-array-field-item","data-index":D,"data-testid":`ff-array-item-${u.path.value}.${D}`},[P.$slots.item?e.renderSlot(P.$slots,"item",{key:0,fieldName:String(D),index:D},void 0,!0):(e.openBlock(),e.createBlock(ut,{key:1,name:String(D)},null,8,["name"]))],8,hb)])})),e.renderList(m.value,(U,D)=>({name:`${e.unref(g)(U,D)}-anchor`,fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y(U,D))+" ",1),e.createVNode(I,{appearance:"tertiary","aria-label":e.unref(a)("actions.remove_entity",{entity:f.value}),class:"ff-array-field-item-remove","data-testid":`ff-array-remove-item-btn-${u.path.value}.${D}`,icon:"",onClick:e.withModifiers(j=>b(D),["stop"])},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.TrashIcon))]),_:1},8,["aria-label","data-testid","onClick"])])}))]),1032,["modelValue","data-testid","tabs"])]),_:3},8,["data-testid"])):e.createCommentVNode("",!0)],10,ub)),[[e.vShow,!e.unref(c)]])}}}),[["__scopeId","data-v-28f4e09f"]]),mo=Symbol(),yb=e.defineComponent({__name:"CalloutForm",props:{index:{},fieldName:{}},setup(t){const n=t,{formData:o}=Ke(),r=e.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)})}),a=e.computed(()=>r.value.map(({[mo]:l,name:s})=>({value:l,label:s}))),i=e.computed(()=>o.config.callouts[n.index]);return e.watch(a,()=>{i.value.depends_on=i.value.depends_on.filter(l=>a.value.some(s=>s.value===l))}),(l,s)=>(e.openBlock(),e.createBlock(kt,{name:t.fieldName},{depends_on:e.withCtx(c=>[e.createVNode(Pt,e.mergeProps(c,{items:a.value,multiple:"",required:!1}),null,16,["items"])]),request:e.withCtx(c=>[e.createVNode(kt,e.mergeProps(c,{"fields-order":["url","method","headers","query","body","http_opts","error","by_lua"]}),{method:e.withCtx(u=>[e.createVNode(Pt,e.mergeProps(u,{items:e.unref(ua)(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","CONNECT","TRACE"])}),null,16,["items"])]),_:1},16)]),_:1},8,["name"]))}}),_b=e.defineComponent({__name:"CalloutsForm",setup(t){const{formData:n}=Ke();function o(){const r=n.config.callouts[n.config.callouts.length-1];r&&(r[mo]=gs())}return(r,a)=>(e.openBlock(),e.createBlock(po,{appearance:"tabs","item-label":i=>i.name||"New callout",name:"callouts",required:"","sticky-tabs":"",onAdd:o},{item:e.withCtx(({index:i,fieldName:l})=>[e.createVNode(yb,{"field-name":l,index:i},null,8,["field-name","index"])]),_:1},8,["item-label"]))}}),go=e.defineComponent({__name:"FieldRenderer",props:{match:{type:Function},priority:{}},setup(t){const n=t,{default:o}=e.useSlots(),{fieldRendererRegistry:r}=Ke();return o&&r.set(n.match,o),(a,i)=>null}}),ft=e.defineComponent({name:"SchemaForm",__name:"Form",props:{tag:{default:"form"},schema:{},data:{},config:{},fieldsOrder:{},renderRules:{}},emits:["change","globalAction"],setup(t,{expose:n,emit:o}){const r=o,a=e.useSlots(),{getSchema:i,formData:l,setValue:s,getValue:c,rootRenderRules:u}=p_({schema:t.schema,propsData:e.computed(()=>t.data),propsConfig:t.config,propsRenderRules:e.toRef(()=>t.renderRules),onChange:d=>r("change",d)}),p=e.computed(()=>{var m;const{fields:d}=i();let f=[...d];return t.fieldsOrder?rs(f,t.fieldsOrder):((m=u.value)!=null&&m.bundles&&(f=as([...f],u.value.bundles)),f)});return n({getValue:c,getRawValue:()=>e.toRaw(l),setValue:s}),(d,f)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),null,{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(a)[e.unref(Nn)]))),e.renderSlot(d.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,m=>(e.openBlock(),e.createBlock(ut,{key:Object.keys(m)[0],name:Object.keys(m)[0],onGlobalAction:f[0]||(f[0]=(g,_)=>r("globalAction",g,_))},null,8,["name"]))),128))])]),_:3}))}}),bb={class:"ff-advanced-fields"},nr=ye(e.defineComponent({__name:"AdvancedFields",props:{hideGeneralFields:{type:Boolean}},setup(t){const{t:n}=et.createI18n("en-us",tt),{getSchema:o}=Ke(),r=e.ref(!0);return(a,i)=>(e.openBlock(),e.createBlock(e.unref(Ve.KCollapse),{modelValue:r.value,"onUpdate:modelValue":i[0]||(i[0]=l=>r.value=l),"data-testid":"view-advanced","trigger-label":r.value?e.unref(n)("plugins.form.grouping.advanced_parameters.view"):e.unref(n)("plugins.form.grouping.advanced_parameters.hide")},{default:e.withCtx(()=>[e.createElementVNode("div",bb,[t.hideGeneralFields?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.unref(o)("instance_name")?(e.openBlock(),e.createBlock(ut,{key:0,name:"instance_name"})):e.createCommentVNode("",!0),e.unref(o)("protocols")?(e.openBlock(),e.createBlock(ut,{key:1,name:"protocols"})):e.createCommentVNode("",!0),e.unref(o)("tags")?(e.openBlock(),e.createBlock(tr,{key:2,help:"e.g. tag1, tag2, tag3",name:"tags",placeholder:e.unref(n)("plugins.form.fields.tags.placeholder")},null,8,["placeholder"])):e.createCommentVNode("",!0),e.unref(o)("condition")?(e.openBlock(),e.createBlock(st,{key:3,name:"condition",placeholder:e.unref(n)("plugins.form.fields.condition.placeholder")},null,8,["placeholder"])):e.createCommentVNode("",!0)],64)),e.renderSlot(a.$slots,"default",{},void 0,!0)])]),_:3},8,["modelValue","trigger-label"]))}}),[["__scopeId","data-v-6ee1c652"]]),kb=ye(e.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(t,{emit:n}){const o=n,r={prepareFormData:l,hasValue:s},{i18n:{t:a}}=Le();function i(p,d=!1){return p.reduce((f,{[mo]:m,name:g})=>(d?f[g]=m:f[m]=g,f),{})}function l(p){var g;const d=kn(p);if(!((g=d.config)!=null&&g.callouts))return d;const{callouts:f}=d.config;f.forEach(_=>{_.request.body.custom=_.request.body.custom??{},_[mo]=gs()});const m=i(f,!0);return f.forEach(_=>{_.depends_on=_.depends_on.map(h=>m[h])}),d}function s(p){return!!(p!=null&&p.config)}function c(p){var m;if(!p)return;const d=kn(p);if(!((m=d.config)!=null&&m.callouts))throw new Error("data is not correct");const f=i(d.config.callouts);d.config.callouts=d.config.callouts.map(g=>{const{[mo]:_,depends_on:h,...y}=g;return{depends_on:h.map(w=>f[w]).filter(w=>w!=null),...y}}),o("change",d)}const u=e.useId();return Zo(()=>t.schema,u),(p,d)=>(e.openBlock(),e.createBlock(ft,{class:"rc-config-form",config:r,data:t.data,"data-instance-id":e.unref(u),"data-plugin-name":"request-callout","data-testid":"ff-config-form",schema:t.schema,tag:"div",onChange:c},{[e.unref(Nn)]:e.withCtx(()=>[e.createVNode(go,{match:({path:f})=>f.endsWith("by_lua")},{default:e.withCtx(f=>[e.createVNode(st,e.mergeProps(f,{autosize:"",class:"rc-code",multiline:"",placeholder:e.unref(a)("plugins.free-form.request-callout.by_lua_placeholder")}),null,16,["placeholder"])]),_:1},8,["match"]),e.createVNode(go,{match:({path:f})=>["cluster_nodes","sentinel_nodes"].some(m=>f.endsWith(m))},{default:e.withCtx(f=>[e.createVNode(po,e.mergeProps(f,{appearance:"card"}),null,16)]),_:1},8,["match"])]),default:e.withCtx(()=>[e.createVNode(kt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:e.withCtx(()=>[e.createVNode(_b),e.createVNode(kt,{appearance:"card","fields-order":["headers","query","body","by_lua"],name:"upstream"}),e.createVNode(kt,{appearance:"card",name:"cache"},{redis:e.withCtx(f=>[e.createVNode(kt,e.mergeProps(f,{"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}),e.createVNode(nr)]),_:2},1032,["data","data-instance-id","schema"]))}}),[["__scopeId","data-v-cea21eab"]]),wb={class:"ff-form-pinned-fields"},Cb={class:"ff-form-config-form"},ba=ye(e.defineComponent({__name:"PluginFormWrapper",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(t){const{t:n}=et.createI18n("en-us",tt),o=e.inject(lo.KM_2306_CONDITION_FIELD_314,!1),r=t;e.useSlots();function a(d){return e.computed(()=>({fields:e.toValue(d).map(f=>{var m;return(m=r.formSchema)==null?void 0:m.fields.find(g=>g.model===f)}).filter(Boolean)}))}const l=a(["enabled","selectionGroup"]),s=["config","protocols"],c=e.computed(()=>{const d=r.schema;d.fields=d.fields.filter(m=>s.includes(Object.keys(m)[0])),d.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 f=d.fields.find(m=>Object.keys(m)[0]==="protocols");return f&&(f.protocols.help=f.protocols.default?n("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:f.protocols.default.join(", ")}):n("plugins.form.fields.protocols.placeholder"),f.protocols.description=n("plugins.form.fields.protocols.help")),o&&d.fields.push({condition:{type:"string",description:n("plugins.form.fields.condition.help")}}),d}),u=e.ref(!1),p=e.computed(()=>{const d=["config","instance_name",...o?["condition"]:[],"partials","protocols","tags","__ui_data"];return la(r.model,d)});return(d,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",wb,[e.createVNode(e.unref(je.VueFormGenerator),{model:t.formModel,options:t.formOptions,schema:e.unref(l),onModelUpdated:t.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])]),e.createVNode(e.unref(Ve.KCollapse),{modelValue:u.value,"onUpdate:modelValue":f[1]||(f[1]=m=>u.value=m),class:"ff-form-config-fields"},{title:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.form.grouping.plugin_configuration.title")),1)]),"visible-content":e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.form.grouping.plugin_configuration.description")),1)]),default:e.withCtx(()=>[e.createElementVNode("div",Cb,[e.renderSlot(d.$slots,"default",{class:"ff-form",data:p.value,schema:c.value,onChange:f[0]||(f[0]=(...m)=>t.onFormChange&&t.onFormChange(...m))},void 0,!0)])]),_:3},8,["modelValue"])],64))}}),[["__scopeId","data-v-f20b002d"]]),Eb=e.defineComponent({__name:"RequestCalloutForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(t){const n=t,o=e.useSlots();return e.provide(je.AUTOFILL_SLOT,o==null?void 0:o[je.AUTOFILL_SLOT_NAME]),(r,a)=>(e.openBlock(),e.createBlock(ba,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(i=>[e.createVNode(kb,e.normalizeProps(e.guardReactiveProps(i)),null,16)]),_:1},16))}}),Nb={key:1},xb=["innerHTML"],Ab={class:"horizontal-container"},ws=ye(e.defineComponent({__name:"RadioField",props:{labelAttributes:{},multiple:{type:Boolean},items:{},label:{},name:{}},emits:["update:modelValue"],setup(t,{emit:n}){const o=n,r=e.createPropsRestProxy(t,["name","items"]),{getSelectItems:a}=Ke(),i=yt(e.toRef(()=>t.name)),l=St(i.path,r),s=e.computed(()=>t.items?t.items:i.path?a(i.path.value):[]),c=u=>{i.value&&(i.value.value=u),o("update:modelValue",u)};return(u,p)=>{var m;const d=e.resolveComponent("KAlert"),f=e.resolveComponent("KLabel");return e.unref(i).error?(e.openBlock(),e.createBlock(d,{key:0,appearance:"danger",message:e.unref(i).error.message},null,8,["message"])):e.withDirectives((e.openBlock(),e.createElementBlock("div",Nb,[e.createVNode(f,e.normalizeProps(e.guardReactiveProps(e.unref(l).labelAttributes)),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l).label)+" ",1)]),_:2},[(m=e.unref(l).labelAttributes)!=null&&m.info?{name:"tooltip",fn:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:e.unref(l).labelAttributes.info},null,8,xb)]),key:"0"}:void 0]),1040),e.createElementVNode("div",Ab,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,g=>(e.openBlock(),e.createBlock(e.unref(Ve.KRadio),{key:g.value,"model-value":e.unref(i).value.value,"onUpdate:modelValue":[p[0]||(p[0]=_=>e.unref(i).value.value=_),c],"card-orientation":"horizontal",label:g.label,"selected-value":g.value},null,8,["model-value","label","selected-value"]))),128))])],512)),[[e.vShow,!e.unref(i).hide.value]])}}}),[["__scopeId","data-v-910a1c85"]]),Sb={class:"sp-form-request-limits-subtitle"},Pb={class:"sp-form-request-limits-content"},Ib={class:"sp-form-window-type"},Tb={class:"sp-form-request-limits-items"},Ob={class:"sp-form-request-limits-row"},Vb=["id"],Bb={class:"sp-form-request-limits-actions"},$b={key:0,class:"sp-form-request-limits-examples"},Rb={class:"sp-form-request-limits-examples-badges"},ka="config.window_type",Fb=ye(e.defineComponent({__name:"RequestLimitsForm",setup(t){var h;const{t:n}=et.createI18n("en-us",tt),{formData:o,getSelectItems:r,getSchema:a}=Ke(),i=e.computed(()=>{var w,E;const y=(E=(w=o.config)==null?void 0:w.limit)==null?void 0:E.map((C,b)=>{var k,N;return{limit:C,windowSize:(N=(k=o.config)==null?void 0:k.window_size)==null?void 0:N[b]}});return!Array.isArray(y)||y.length===0?[{limit:null,windowSize:null}]:y}),{getKey:l}=us("request-limits",i),s=y=>{var w,E;f.value=void 0,o.config&&((w=o.config.limit)!=null&&w.length||(o.config.limit=[null]),(E=o.config.window_size)!=null&&E.length||(o.config.window_size=[null]),o.config.limit.splice(y+1,0,null),o.config.window_size.splice(y+1,0,null))},c=y=>{o.config&&(o.config.limit.splice(y,1),o.config.window_size.splice(y,1))},u=(h=a(ka))==null?void 0:h.default,p=e.computed(()=>Go(o,ka)),d=e.computed(()=>r(ka).sort((y,w)=>y.value===u?-1:w.value===u?1:0)),f=e.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}}]},g=e.computed(()=>Object.prototype.hasOwnProperty.call(m,p.value)?m[p.value]:[]),_=(y,w)=>{if(w===f.value){e.nextTick(()=>{f.value=void 0}),o.config.limit=[],o.config.window_size=[];return}e.nextTick(()=>{f.value=w}),o.config.limit=[y.config.limit],o.config.window_size=[y.config.window_size]};return(y,w)=>{const E=e.resolveComponent("KLabel"),C=e.resolveComponent("KButton"),b=e.resolveComponent("KBadge"),k=e.resolveComponent("KTooltip"),N=e.resolveComponent("KCard");return e.openBlock(),e.createBlock(N,{class:"sp-form-request-limits"},{title:e.withCtx(()=>[e.createVNode(E,{class:"sp-form-request-limits-title",for:"sp-form-request-limits-legend",required:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("sp.request_limits.title")),1)]),_:1}),e.createElementVNode("div",Sb,e.toDisplayString(e.unref(n)("sp.request_limits.subtitle")),1)]),default:e.withCtx(()=>[e.createElementVNode("div",Pb,[e.createElementVNode("div",Ib,[e.createVNode(ws,{items:d.value,label:e.unref(n)("sp.window_type.label"),name:"window_type","onUpdate:modelValue":w[0]||(w[0]=S=>f.value=void 0)},null,8,["items","label"])]),e.createElementVNode("div",Tb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(S,R)=>(e.openBlock(),e.createElementBlock("div",{key:e.unref(l)(S,R)},[e.createVNode(E,{for:`sp-form-request-limits-item-${R}-legend`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("sp.request_limits.label_index",{index:R+1})),1)]),_:2},1032,["for"]),e.createElementVNode("div",Ob,[e.createElementVNode("legend",{id:`sp-form-request-limits-item-${R}-legend`,class:"sp-form-request-limits-inputs"},[e.createVNode(Sn,{name:`$.config.limit.${R}`,placeholder:e.unref(n)("sp.request_limits.request_number")},null,8,["name","placeholder"]),e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.request_limits.interval_determiner")),1),e.createVNode(Sn,{name:`$.config.window_size.${R}`,placeholder:e.unref(n)("sp.request_limits.time_interval")},null,8,["name","placeholder"]),e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.request_limits.seconds")),1)],8,Vb),e.createElementVNode("div",Bb,[e.createVNode(C,{appearance:"tertiary",disabled:i.value.length<=1,onClick:()=>c(R)},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.RemoveIcon))]),_:1},8,["disabled","onClick"]),e.createVNode(C,{appearance:"tertiary",onClick:()=>s(R)},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),g.value.length>0?(e.openBlock(),e.createElementBlock("div",$b,[e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.start_with_a_use_case")),1),e.createElementVNode("div",Rb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,(S,R)=>(e.openBlock(),e.createBlock(k,{key:`use-case-${R}`,"max-width":"300"},{content:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(S.description),1),w[1]||(w[1]=e.createElementVNode("br",null,null,-1)),e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.request_limits.label"))+": "+e.toDisplayString(S.config.limit),1),e.createElementVNode("div",null,e.toDisplayString(e.unref(n)("sp.request_limits.time_interval"))+": "+e.toDisplayString(S.config.window_size),1)]),default:e.withCtx(()=>[e.createVNode(b,{appearance:f.value===`${p.value}-${R}`?"info":"decorative",class:"sp-form-request-limits-examples-badge",onClick:()=>_(S,`${p.value}-${R}`)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(S.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):e.createCommentVNode("",!0)])]),_:1})}}}),[["__scopeId","data-v-12133d31"]]),Lb={id:"sp-form-error-legend",class:"sp-form-error-inputs"},Db=ye(e.defineComponent({__name:"ErrorMessageForm",setup(t){const{t:n}=et.createI18n("en-us",tt);return(o,r)=>{const a=e.resolveComponent("KLabel");return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(a,{for:"sp-form-error-legend",info:e.unref(n)("sp.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("sp.error_message.label")),1)]),_:1},8,["info"]),e.createElementVNode("legend",Lb,[e.createVNode(Sn,{class:"input-error-code",label:"",name:"error_code",placeholder:e.unref(n)("sp.error_message.code_placeholder")},null,8,["placeholder"]),r[0]||(r[0]=e.createElementVNode("div",null,":",-1)),e.createVNode(st,{class:"input-error-message",label:"",name:"error_message",placeholder:e.unref(n)("sp.error_message.message_placeholder")},null,8,["placeholder"])])])}}}),[["__scopeId","data-v-25eb297d"]]),Mb={class:"partial-config-card"},jb={class:"config-card-row-label"},vb={class:"label-text"},Ub=["data-testid"],Kb=["data-testid"],qb={key:1},Gb=["data-testid"],zb=["data-testid"],Hb=ye(e.defineComponent({__name:"RedisConfigCard",props:{configFields:{},pluginRedisFields:{}},setup(t){const{t:n,formatUnixTimeStamp:o}=et.createI18n("en-us",tt),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}},a=t,i=d=>d!=null,l=(d,f)=>i(f)&&["password","sentinel_password"].includes(d)?"password":"text",{convertKeyToTitle:s}=ee.useStringHelpers(),c=e.computed(()=>Object.entries(a.configFields).map(([d,f])=>{var m,g,_,h;return{key:d,label:((m=r[d])==null?void 0:m.label)??s(d),value:(g=r[d])!=null&&g.formatter?r[d].formatter(f):f,type:((_=r[d])==null?void 0:_.type)??l(d,f),order:((h=r[d])==null?void 0:h.order)??100}}).sort((d,f)=>d.order-f.order).filter(d=>d.type!=="hidden")),u=i_(a.configFields,a.pluginRedisFields||[]),p=e.computed(()=>c.value.concat(u));return(d,f)=>{const m=e.resolveComponent("KCopy");return e.openBlock(),e.createElementBlock("div",Mb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,({key:g,label:_,value:h,type:y})=>(e.openBlock(),e.createElementBlock("div",{key:g,class:"partial-config-card-row"},[e.createElementVNode("div",jb,[e.createElementVNode("div",vb,e.toDisplayString(_),1)]),e.createElementVNode("div",{class:"config-card-row-value","data-testid":`${g}-property-value`},[i(h)?(e.openBlock(),e.createElementBlock("div",qb,[y==="password"?(e.openBlock(),e.createElementBlock("div",{key:0,"data-testid":`${g}-copy-password`},[e.createVNode(m,{format:"redacted",text:String(h)},null,8,["text"])],8,Gb)):(e.openBlock(),e.createElementBlock("div",{key:1,"data-testid":`${g}-plain-text`},e.toDisplayString(h),9,zb))])):(e.openBlock(),e.createElementBlock("div",{key:0,"data-testid":`${g}-no-value`}," – ",8,Kb))],8,Ub)]))),128))])}}}),[["__scopeId","data-v-e2403663"]]),or=Symbol("redis-partial-info"),Wb={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"}};function wa(){const t=(...o)=>{console.warn("TOASTER_PROVIDER is not provided",...o)},n=e.inject(es,t);return o=>n(o)}const Yb={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Jb={class:"shared-redis-config"},Xb={class:"shared-redis-config-title"},Zb={class:"redis-config-select","data-testid":"redis-config-select"},Qb={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},Cs=ye(e.defineComponent({__name:"RedisSelector",props:{defaultRedisConfigItem:{},redisType:{},redisPath:{}},setup(t){var P;const{t:n}=et.createI18n("en-us",tt),o=["host","port","database","username","password","sentinel_master","sentinel_role","sentinel_nodes","sentinel_username","sentinel_password","cluster_nodes","cluster_max_redirections","ssl","ssl_verify","server_name","keepalive_backlog","keepalive_pool_size","timeout","read_timeout","send_timeout","connect_timeout","connection_is_proxied","redis_proxy_type","cloud_authentication"],r={dependencies:{"cloud_authentication.aws_cache_name":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_region":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_is_serverless":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_access_key_id":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_secret_access_key":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_assume_role_arn":["cloud_authentication.auth_provider","aws"],"cloud_authentication.aws_role_session_name":["cloud_authentication.auth_provider","aws"],"cloud_authentication.gcp_service_account_json":["cloud_authentication.auth_provider","gcp"],"cloud_authentication.azure_client_id":["cloud_authentication.auth_provider","azure"],"cloud_authentication.azure_client_secret":["cloud_authentication.auth_provider","azure"],"cloud_authentication.azure_tenant_id":["cloud_authentication.auth_provider","azure"]}},a=t,i=wa(),l=e.inject(or),s=(l==null?void 0:l.isEditing)||!1,c=e.computed(()=>{var A;return a.redisPath?a.redisPath:(A=l==null?void 0:l.redisPath)!=null&&A.value?"$."+l.redisPath.value:"$.config.redis"}),u=a.redisType||((P=l==null?void 0:l.redisType)==null?void 0:P.value),p=e.computed(()=>{var A;return!!((A=l==null?void 0:l.redisType)!=null&&A.value)}),d=e.ref(null),f=e.ref(!s),{getMessageFromError:m}=ee.useErrors(),g=e.ref(a.defaultRedisConfigItem),_=e.ref({}),h=e.ref(),{value:y}=ds("$.partials"),{value:w,hide:E}=yt(c),C=e.inject(je.FORMS_CONFIG),b=e.ref(null),k=A=>{let T=`${C.apiBaseUrl}${Wb[C.app].getOne}`;return C.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,(C==null?void 0:C.controlPlaneId)||""):C.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,C!=null&&C.workspace?`/${C.workspace}`:"")),T=T.replace(/{id}/gi,String(A)),T},{axiosInstance:N}=ee.useAxios(C==null?void 0:C.axiosRequestConfig),S=()=>{f.value?(h.value&&(y.value=h.value,g.value=h.value[0].id,w.value=void 0),w!=null&&w.value&&(_.value=w.value)):(Object.keys(_.value).length&&(w.value=_.value),y!=null&&y.value&&(h.value=y.value),y.value=s?null:void 0)},R=async A=>{if(A){g.value=A,y.value=[{id:A}],h.value=[{id:A}],w.value=void 0;try{const T=await N.get(k(A));if(T.data.config){const O=Object.assign(T.data,T.data.config);delete O.config,d.value=O}}catch(T){console.error(T)}}};return e.watch(()=>f.value,()=>{S()}),e.onBeforeMount(()=>{var A;if(a.defaultRedisConfigItem||y!=null&&y.value){const T=a.defaultRedisConfigItem||((A=y==null?void 0:y.value)==null?void 0:A[0].id);R(T),f.value=!0}else w!=null&&w.value&&(_.value=w.value)}),e.watch(()=>E==null?void 0:E.value,A=>{f.value&&(A&&y.value?y.value=s?null:void 0:A||h.value&&(y.value=h.value,R(h.value[0].id)))}),(A,T)=>{const O=e.resolveComponent("KRadio"),I=e.resolveComponent("KCard");return p.value?e.withDirectives((e.openBlock(),e.createBlock(I,{key:0,class:"redis-config-card","data-testid":"redis-config-card",title:e.unref(n)("redis.title")},{default:e.withCtx(()=>[e.createElementVNode("div",Yb,[e.createVNode(O,{modelValue:f.value,"onUpdate:modelValue":T[0]||(T[0]=q=>f.value=q),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:e.unref(n)("redis.shared_configuration.description"),label:e.unref(n)("redis.shared_configuration.label"),"selected-value":!0},null,8,["modelValue","description","label"]),e.createVNode(O,{modelValue:f.value,"onUpdate:modelValue":T[1]||(T[1]=q=>f.value=q),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:e.unref(n)("redis.dedicated_configuration.description"),label:e.unref(n)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),e.withDirectives(e.createElementVNode("div",Jb,[e.createElementVNode("div",Xb,e.toDisplayString(e.unref(n)("redis.shared_configuration.title")),1),e.createElementVNode("div",Zb,[e.createVNode(e.unref(xi.RedisConfigurationSelector),{"data-testid":"redis-config-select-trigger","model-value":g.value,"redis-type":e.unref(u),onErrorChange:T[2]||(T[2]=q=>b.value=q),onToast:e.unref(i),"onUpdate:modelValue":T[3]||(T[3]=q=>R(q))},null,8,["model-value","redis-type","onToast"])]),d.value?(e.openBlock(),e.createBlock(Hb,{key:0,"config-fields":d.value},null,8,["config-fields"])):e.createCommentVNode("",!0),b.value?(e.openBlock(),e.createElementBlock("p",Qb,e.toDisplayString(b.value?e.unref(m)(b.value):e.unref(n)("redis.shared_configuration.error")),1)):e.createCommentVNode("",!0)],512),[[e.vShow,f.value]]),f.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(kt,e.mergeProps({key:0},a,{"as-child":"","fields-order":o,name:c.value,"render-rules":r,"reset-label-path":"reset"}),null,16,["name"]))]),_:1},8,["title"])),[[e.vShow,!e.unref(E)]]):e.withDirectives((e.openBlock(),e.createBlock(kt,e.mergeProps({key:1},a,{"fields-order":o,"hide-required-asterisk":"",name:c.value,"render-rules":r}),null,16,["name"])),[[e.vShow,!e.unref(E)]])}}}),[["__scopeId","data-v-d9fc3bcf"]]),ek=e.defineComponent({__name:"RedisField",setup(t){const{formData:n}=Ke(),o=e.inject(or),r=(o==null?void 0:o.isEditing)||!1;return e.watchEffect(()=>{n.config&&n.config.strategy!=="redis"&&(n.partials=r?null:void 0)}),(a,i)=>(e.openBlock(),e.createBlock(bs,null,{default:e.withCtx(()=>{var l;return[((l=e.unref(n).config)==null?void 0:l.strategy)==="redis"?(e.openBlock(),e.createBlock(Cs,{key:0})):e.createCommentVNode("",!0)]}),_:1}))}}),tk=e.defineComponent({__name:"ConfigForm",props:{schema:{},data:{}},emits:["change"],setup(t,{emit:n}){const o=n,r={hasValue:l=>!!(l!=null&&l.config)};function a(l){var s;((s=l.config)==null?void 0:s.namespace)===null&&delete l.config.namespace,o("change",l)}const i=e.useId();return Zo(()=>t.schema,i),(l,s)=>(e.openBlock(),e.createBlock(ft,{config:r,data:t.data,"data-instance-id":e.unref(i),"data-plugin-name":"service-protection","data-testid":"ff-config-form",schema:t.schema,tag:"div",onChange:a},{default:e.withCtx(()=>[e.createVNode(kt,{"as-child":"",name:"config","reset-label-path":"reset"},{default:e.withCtx(()=>[e.createVNode(Fb),e.createVNode(Db)]),_:1}),e.createVNode(nr,null,{default:e.withCtx(()=>[e.createVNode(ut,{name:"config.dictionary_name"}),e.createVNode(ut,{name:"config.lock_dictionary_name"}),e.createVNode(ut,{name:"config.strategy"}),e.createVNode(ek),e.createVNode(ut,{name:"config.namespace"}),e.createVNode(ut,{name:"config.hide_client_headers"}),e.createVNode(ut,{name:"config.disable_penalty"}),e.createVNode(ut,{name:"config.retry_after_jitter_max"}),e.createVNode(ut,{name:"config.sync_rate"})]),_:1})]),_:1},8,["data","data-instance-id","schema"]))}}),nk=e.defineComponent({__name:"ServiceProtectionForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(t){const n=t,o=e.useSlots();return e.provide(je.AUTOFILL_SLOT,o==null?void 0:o[je.AUTOFILL_SLOT_NAME]),(r,a)=>(e.openBlock(),e.createBlock(ba,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(i=>[e.createVNode(tk,e.normalizeProps(e.guardReactiveProps(i)),null,16)]),_:1},16))}}),Es=e.defineComponent({__name:"VFGField",props:{formOptions:{},vfgSchema:{}},setup(t){const n=Symbol("rawTagsString"),{formData:o,getSchema:r}=Ke(),a=e.computed(()=>{const l={};return t.vfgSchema.fields.forEach(s=>{s.type==="AutoSuggest"?o[s.model.split("-")[0]]&&(l[s.model]=o[s.model.split("-")[0]].id):s.model==="tags"&&o[s.model]?l[s.model]=o[s.model][n]??o[s.model].join(", "):l[s.model]=o[s.model]}),l});function i(l,s){const c=s.split("-")[0],u=r(c);if(!u)throw new Error(`Field schema not found for path: ${c}`);if(u.type==="foreign")o[c]=l?{id:l}:null;else if(c==="tags"){const p=l.split(",").map(d=>d.trim()).filter(Boolean);o[c]=p,o[c][n]=l}else o[c]=l}return(l,s)=>(e.openBlock(),e.createBlock(e.unref(je.VueFormGenerator),{model:a.value,options:t.formOptions,schema:t.vfgSchema,onModelUpdated:i},null,8,["model","options","schema"]))}});/*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */function Ns(t){return typeof t>"u"||t===null}function ok(t){return typeof t=="object"&&t!==null}function rk(t){return Array.isArray(t)?t:Ns(t)?[]:[t]}function ak(t,n){var o,r,a,i;if(n)for(i=Object.keys(n),o=0,r=i.length;o<r;o+=1)a=i[o],t[a]=n[a];return t}function ik(t,n){var o="",r;for(r=0;r<n;r+=1)o+=t;return o}function lk(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}var sk=Ns,ck=ok,dk=rk,uk=ik,fk=lk,pk=ak,it={isNothing:sk,isObject:ck,toArray:dk,repeat:uk,isNegativeZero:fk,extend:pk};function xs(t,n){var o="",r=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(o+='in "'+t.mark.name+'" '),o+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!n&&t.mark.snippet&&(o+=`
18
18
 
19
- `+t.mark.snippet),r+" "+o):r}function go(t,n){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=n,this.message=xs(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}go.prototype=Object.create(Error.prototype),go.prototype.constructor=go,go.prototype.toString=function(n){return this.name+": "+xs(this,n)};var yt=go;function wa(t,n,o,r,a){var i="",l="",s=Math.floor(a/2)-1;return r-n>s&&(i=" ... ",n=r-s+i.length),o-r>s&&(l=" ...",o=r+s-l.length),{str:i+t.slice(n,o).replace(/\t/g,"→")+l,pos:r-n+i.length}}function Ca(t,n){return it.repeat(" ",n-t.length)+t}function mk(t,n){if(n=Object.create(n||null),!t.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],a=[],i,l=-1;i=o.exec(t.buffer);)a.push(i.index),r.push(i.index+i[0].length),t.position<=i.index&&l<0&&(l=r.length-2);l<0&&(l=r.length-1);var s="",c,u,p=Math.min(t.line+n.linesAfter,a.length).toString().length,d=n.maxLength-(n.indent+p+3);for(c=1;c<=n.linesBefore&&!(l-c<0);c++)u=wa(t.buffer,r[l-c],a[l-c],t.position-(r[l]-r[l-c]),d),s=it.repeat(" ",n.indent)+Ca((t.line-c+1).toString(),p)+" | "+u.str+`
20
- `+s;for(u=wa(t.buffer,r[l],a[l],t.position,d),s+=it.repeat(" ",n.indent)+Ca((t.line+1).toString(),p)+" | "+u.str+`
19
+ `+t.mark.snippet),r+" "+o):r}function ho(t,n){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=n,this.message=xs(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}ho.prototype=Object.create(Error.prototype),ho.prototype.constructor=ho,ho.prototype.toString=function(n){return this.name+": "+xs(this,n)};var _t=ho;function Ca(t,n,o,r,a){var i="",l="",s=Math.floor(a/2)-1;return r-n>s&&(i=" ... ",n=r-s+i.length),o-r>s&&(l=" ...",o=r+s-l.length),{str:i+t.slice(n,o).replace(/\t/g,"→")+l,pos:r-n+i.length}}function Ea(t,n){return it.repeat(" ",n-t.length)+t}function mk(t,n){if(n=Object.create(n||null),!t.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],a=[],i,l=-1;i=o.exec(t.buffer);)a.push(i.index),r.push(i.index+i[0].length),t.position<=i.index&&l<0&&(l=r.length-2);l<0&&(l=r.length-1);var s="",c,u,p=Math.min(t.line+n.linesAfter,a.length).toString().length,d=n.maxLength-(n.indent+p+3);for(c=1;c<=n.linesBefore&&!(l-c<0);c++)u=Ca(t.buffer,r[l-c],a[l-c],t.position-(r[l]-r[l-c]),d),s=it.repeat(" ",n.indent)+Ea((t.line-c+1).toString(),p)+" | "+u.str+`
20
+ `+s;for(u=Ca(t.buffer,r[l],a[l],t.position,d),s+=it.repeat(" ",n.indent)+Ea((t.line+1).toString(),p)+" | "+u.str+`
21
21
  `,s+=it.repeat("-",n.indent+p+3+u.pos)+`^
22
- `,c=1;c<=n.linesAfter&&!(l+c>=a.length);c++)u=wa(t.buffer,r[l+c],a[l+c],t.position-(r[l]-r[l+c]),d),s+=it.repeat(" ",n.indent)+Ca((t.line+c+1).toString(),p)+" | "+u.str+`
23
- `;return s.replace(/\n$/,"")}var gk=mk,hk=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],yk=["scalar","sequence","mapping"];function _k(t){var n={};return t!==null&&Object.keys(t).forEach(function(o){t[o].forEach(function(r){n[String(r)]=o})}),n}function bk(t,n){if(n=n||{},Object.keys(n).forEach(function(o){if(hk.indexOf(o)===-1)throw new yt('Unknown option "'+o+'" is met in definition of "'+t+'" YAML type.')}),this.options=n,this.tag=t,this.kind=n.kind||null,this.resolve=n.resolve||function(){return!0},this.construct=n.construct||function(o){return o},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||!1,this.styleAliases=_k(n.styleAliases||null),yk.indexOf(this.kind)===-1)throw new yt('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var ut=bk;function As(t,n){var o=[];return t[n].forEach(function(r){var a=o.length;o.forEach(function(i,l){i.tag===r.tag&&i.kind===r.kind&&i.multi===r.multi&&(a=l)}),o[a]=r}),o}function kk(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,o;function r(a){a.multi?(t.multi[a.kind].push(a),t.multi.fallback.push(a)):t[a.kind][a.tag]=t.fallback[a.tag]=a}for(n=0,o=arguments.length;n<o;n+=1)arguments[n].forEach(r);return t}function Ea(t){return this.extend(t)}Ea.prototype.extend=function(n){var o=[],r=[];if(n instanceof ut)r.push(n);else if(Array.isArray(n))r=r.concat(n);else if(n&&(Array.isArray(n.implicit)||Array.isArray(n.explicit)))n.implicit&&(o=o.concat(n.implicit)),n.explicit&&(r=r.concat(n.explicit));else throw new yt("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");o.forEach(function(i){if(!(i instanceof ut))throw new yt("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(i.loadKind&&i.loadKind!=="scalar")throw new yt("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(i.multi)throw new yt("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(i){if(!(i instanceof ut))throw new yt("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var a=Object.create(Ea.prototype);return a.implicit=(this.implicit||[]).concat(o),a.explicit=(this.explicit||[]).concat(r),a.compiledImplicit=As(a,"implicit"),a.compiledExplicit=As(a,"explicit"),a.compiledTypeMap=kk(a.compiledImplicit,a.compiledExplicit),a};var Ss=Ea,Ps=new ut("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}}),Is=new ut("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}}),Ts=new ut("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}}),Os=new Ss({explicit:[Ps,Is,Ts]});function wk(t){if(t===null)return!0;var n=t.length;return n===1&&t==="~"||n===4&&(t==="null"||t==="Null"||t==="NULL")}function Ck(){return null}function Ek(t){return t===null}var Vs=new ut("tag:yaml.org,2002:null",{kind:"scalar",resolve:wk,construct:Ck,predicate:Ek,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function Nk(t){if(t===null)return!1;var n=t.length;return n===4&&(t==="true"||t==="True"||t==="TRUE")||n===5&&(t==="false"||t==="False"||t==="FALSE")}function xk(t){return t==="true"||t==="True"||t==="TRUE"}function Ak(t){return Object.prototype.toString.call(t)==="[object Boolean]"}var Bs=new ut("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Nk,construct:xk,predicate:Ak,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function Sk(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Pk(t){return 48<=t&&t<=55}function Ik(t){return 48<=t&&t<=57}function Tk(t){if(t===null)return!1;var n=t.length,o=0,r=!1,a;if(!n)return!1;if(a=t[o],(a==="-"||a==="+")&&(a=t[++o]),a==="0"){if(o+1===n)return!0;if(a=t[++o],a==="b"){for(o++;o<n;o++)if(a=t[o],a!=="_"){if(a!=="0"&&a!=="1")return!1;r=!0}return r&&a!=="_"}if(a==="x"){for(o++;o<n;o++)if(a=t[o],a!=="_"){if(!Sk(t.charCodeAt(o)))return!1;r=!0}return r&&a!=="_"}if(a==="o"){for(o++;o<n;o++)if(a=t[o],a!=="_"){if(!Pk(t.charCodeAt(o)))return!1;r=!0}return r&&a!=="_"}}if(a==="_")return!1;for(;o<n;o++)if(a=t[o],a!=="_"){if(!Ik(t.charCodeAt(o)))return!1;r=!0}return!(!r||a==="_")}function Ok(t){var n=t,o=1,r;if(n.indexOf("_")!==-1&&(n=n.replace(/_/g,"")),r=n[0],(r==="-"||r==="+")&&(r==="-"&&(o=-1),n=n.slice(1),r=n[0]),n==="0")return 0;if(r==="0"){if(n[1]==="b")return o*parseInt(n.slice(2),2);if(n[1]==="x")return o*parseInt(n.slice(2),16);if(n[1]==="o")return o*parseInt(n.slice(2),8)}return o*parseInt(n,10)}function Vk(t){return Object.prototype.toString.call(t)==="[object Number]"&&t%1===0&&!it.isNegativeZero(t)}var $s=new ut("tag:yaml.org,2002:int",{kind:"scalar",resolve:Tk,construct:Ok,predicate:Vk,represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Bk=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function $k(t){return!(t===null||!Bk.test(t)||t[t.length-1]==="_")}function Rk(t){var n,o;return n=t.replace(/_/g,"").toLowerCase(),o=n[0]==="-"?-1:1,"+-".indexOf(n[0])>=0&&(n=n.slice(1)),n===".inf"?o===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:n===".nan"?NaN:o*parseFloat(n,10)}var Fk=/^[-+]?[0-9]+e/;function Lk(t,n){var o;if(isNaN(t))switch(n){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(n){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(n){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(it.isNegativeZero(t))return"-0.0";return o=t.toString(10),Fk.test(o)?o.replace("e",".e"):o}function Dk(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||it.isNegativeZero(t))}var Rs=new ut("tag:yaml.org,2002:float",{kind:"scalar",resolve:$k,construct:Rk,predicate:Dk,represent:Lk,defaultStyle:"lowercase"}),Fs=Os.extend({implicit:[Vs,Bs,$s,Rs]}),Ls=Fs,Ds=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Ms=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Mk(t){return t===null?!1:Ds.exec(t)!==null||Ms.exec(t)!==null}function vk(t){var n,o,r,a,i,l,s,c=0,u=null,p,d,f;if(n=Ds.exec(t),n===null&&(n=Ms.exec(t)),n===null)throw new Error("Date resolve error");if(o=+n[1],r=+n[2]-1,a=+n[3],!n[4])return new Date(Date.UTC(o,r,a));if(i=+n[4],l=+n[5],s=+n[6],n[7]){for(c=n[7].slice(0,3);c.length<3;)c+="0";c=+c}return n[9]&&(p=+n[10],d=+(n[11]||0),u=(p*60+d)*6e4,n[9]==="-"&&(u=-u)),f=new Date(Date.UTC(o,r,a,i,l,s,c)),u&&f.setTime(f.getTime()-u),f}function jk(t){return t.toISOString()}var vs=new ut("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Mk,construct:vk,instanceOf:Date,represent:jk});function Uk(t){return t==="<<"||t===null}var js=new ut("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Uk}),Na=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
24
- \r`;function Kk(t){if(t===null)return!1;var n,o,r=0,a=t.length,i=Na;for(o=0;o<a;o++)if(n=i.indexOf(t.charAt(o)),!(n>64)){if(n<0)return!1;r+=6}return r%8===0}function qk(t){var n,o,r=t.replace(/[\r\n=]/g,""),a=r.length,i=Na,l=0,s=[];for(n=0;n<a;n++)n%4===0&&n&&(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)),l=l<<6|i.indexOf(r.charAt(n));return o=a%4*6,o===0?(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)):o===18?(s.push(l>>10&255),s.push(l>>2&255)):o===12&&s.push(l>>4&255),new Uint8Array(s)}function Gk(t){var n="",o=0,r,a,i=t.length,l=Na;for(r=0;r<i;r++)r%3===0&&r&&(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]),o=(o<<8)+t[r];return a=i%3,a===0?(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]):a===2?(n+=l[o>>10&63],n+=l[o>>4&63],n+=l[o<<2&63],n+=l[64]):a===1&&(n+=l[o>>2&63],n+=l[o<<4&63],n+=l[64],n+=l[64]),n}function zk(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}var Us=new ut("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Kk,construct:qk,predicate:zk,represent:Gk}),Hk=Object.prototype.hasOwnProperty,Wk=Object.prototype.toString;function Yk(t){if(t===null)return!0;var n=[],o,r,a,i,l,s=t;for(o=0,r=s.length;o<r;o+=1){if(a=s[o],l=!1,Wk.call(a)!=="[object Object]")return!1;for(i in a)if(Hk.call(a,i))if(!l)l=!0;else return!1;if(!l)return!1;if(n.indexOf(i)===-1)n.push(i);else return!1}return!0}function Jk(t){return t!==null?t:[]}var Ks=new ut("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Yk,construct:Jk}),Xk=Object.prototype.toString;function Zk(t){if(t===null)return!0;var n,o,r,a,i,l=t;for(i=new Array(l.length),n=0,o=l.length;n<o;n+=1){if(r=l[n],Xk.call(r)!=="[object Object]"||(a=Object.keys(r),a.length!==1))return!1;i[n]=[a[0],r[a[0]]]}return!0}function Qk(t){if(t===null)return[];var n,o,r,a,i,l=t;for(i=new Array(l.length),n=0,o=l.length;n<o;n+=1)r=l[n],a=Object.keys(r),i[n]=[a[0],r[a[0]]];return i}var qs=new ut("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Zk,construct:Qk}),ew=Object.prototype.hasOwnProperty;function tw(t){if(t===null)return!0;var n,o=t;for(n in o)if(ew.call(o,n)&&o[n]!==null)return!1;return!0}function nw(t){return t!==null?t:{}}var Gs=new ut("tag:yaml.org,2002:set",{kind:"mapping",resolve:tw,construct:nw}),xa=Ls.extend({implicit:[vs,js],explicit:[Us,Ks,qs,Gs]}),tn=Object.prototype.hasOwnProperty,or=1,zs=2,Hs=3,rr=4,Aa=1,ow=2,Ws=3,rw=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,aw=/[\x85\u2028\u2029]/,iw=/[,\[\]\{\}]/,Ys=/^(?:!|!!|![a-z\-]+!)$/i,Js=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Xs(t){return Object.prototype.toString.call(t)}function Lt(t){return t===10||t===13}function Sn(t){return t===9||t===32}function kt(t){return t===9||t===32||t===10||t===13}function Mn(t){return t===44||t===91||t===93||t===123||t===125}function lw(t){var n;return 48<=t&&t<=57?t-48:(n=t|32,97<=n&&n<=102?n-97+10:-1)}function sw(t){return t===120?2:t===117?4:t===85?8:0}function cw(t){return 48<=t&&t<=57?t-48:-1}function Zs(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?`
25
- `:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"…":t===95?" ":t===76?"\u2028":t===80?"\u2029":""}function dw(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}function Qs(t,n,o){n==="__proto__"?Object.defineProperty(t,n,{configurable:!0,enumerable:!0,writable:!0,value:o}):t[n]=o}for(var ec=new Array(256),tc=new Array(256),vn=0;vn<256;vn++)ec[vn]=Zs(vn)?1:0,tc[vn]=Zs(vn);function uw(t,n){this.input=t,this.filename=n.filename||null,this.schema=n.schema||xa,this.onWarning=n.onWarning||null,this.legacy=n.legacy||!1,this.json=n.json||!1,this.listener=n.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function nc(t,n){var o={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return o.snippet=gk(o),new yt(n,o)}function Se(t,n){throw nc(t,n)}function ar(t,n){t.onWarning&&t.onWarning.call(null,nc(t,n))}var oc={YAML:function(n,o,r){var a,i,l;n.version!==null&&Se(n,"duplication of %YAML directive"),r.length!==1&&Se(n,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),a===null&&Se(n,"ill-formed argument of the YAML directive"),i=parseInt(a[1],10),l=parseInt(a[2],10),i!==1&&Se(n,"unacceptable YAML version of the document"),n.version=r[0],n.checkLineBreaks=l<2,l!==1&&l!==2&&ar(n,"unsupported YAML version of the document")},TAG:function(n,o,r){var a,i;r.length!==2&&Se(n,"TAG directive accepts exactly two arguments"),a=r[0],i=r[1],Ys.test(a)||Se(n,"ill-formed tag handle (first argument) of the TAG directive"),tn.call(n.tagMap,a)&&Se(n,'there is a previously declared suffix for "'+a+'" tag handle'),Js.test(i)||Se(n,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{Se(n,"tag prefix is malformed: "+i)}n.tagMap[a]=i}};function nn(t,n,o,r){var a,i,l,s;if(n<o){if(s=t.input.slice(n,o),r)for(a=0,i=s.length;a<i;a+=1)l=s.charCodeAt(a),l===9||32<=l&&l<=1114111||Se(t,"expected valid JSON character");else rw.test(s)&&Se(t,"the stream contains non-printable characters");t.result+=s}}function rc(t,n,o,r){var a,i,l,s;for(it.isObject(o)||Se(t,"cannot merge mappings; the provided source object is unacceptable"),a=Object.keys(o),l=0,s=a.length;l<s;l+=1)i=a[l],tn.call(n,i)||(Qs(n,i,o[i]),r[i]=!0)}function jn(t,n,o,r,a,i,l,s,c){var u,p;if(Array.isArray(a))for(a=Array.prototype.slice.call(a),u=0,p=a.length;u<p;u+=1)Array.isArray(a[u])&&Se(t,"nested arrays are not supported inside keys"),typeof a=="object"&&Xs(a[u])==="[object Object]"&&(a[u]="[object Object]");if(typeof a=="object"&&Xs(a)==="[object Object]"&&(a="[object Object]"),a=String(a),n===null&&(n={}),r==="tag:yaml.org,2002:merge")if(Array.isArray(i))for(u=0,p=i.length;u<p;u+=1)rc(t,n,i[u],o);else rc(t,n,i,o);else!t.json&&!tn.call(o,a)&&tn.call(n,a)&&(t.line=l||t.line,t.lineStart=s||t.lineStart,t.position=c||t.position,Se(t,"duplicated mapping key")),Qs(n,a,i),delete o[a];return n}function Sa(t){var n;n=t.input.charCodeAt(t.position),n===10?t.position++:n===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):Se(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function tt(t,n,o){for(var r=0,a=t.input.charCodeAt(t.position);a!==0;){for(;Sn(a);)a===9&&t.firstTabInLine===-1&&(t.firstTabInLine=t.position),a=t.input.charCodeAt(++t.position);if(n&&a===35)do a=t.input.charCodeAt(++t.position);while(a!==10&&a!==13&&a!==0);if(Lt(a))for(Sa(t),a=t.input.charCodeAt(t.position),r++,t.lineIndent=0;a===32;)t.lineIndent++,a=t.input.charCodeAt(++t.position);else break}return o!==-1&&r!==0&&t.lineIndent<o&&ar(t,"deficient indentation"),r}function ir(t){var n=t.position,o;return o=t.input.charCodeAt(n),!!((o===45||o===46)&&o===t.input.charCodeAt(n+1)&&o===t.input.charCodeAt(n+2)&&(n+=3,o=t.input.charCodeAt(n),o===0||kt(o)))}function Pa(t,n){n===1?t.result+=" ":n>1&&(t.result+=it.repeat(`
26
- `,n-1))}function fw(t,n,o){var r,a,i,l,s,c,u,p,d=t.kind,f=t.result,m;if(m=t.input.charCodeAt(t.position),kt(m)||Mn(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(a=t.input.charCodeAt(t.position+1),kt(a)||o&&Mn(a)))return!1;for(t.kind="scalar",t.result="",i=l=t.position,s=!1;m!==0;){if(m===58){if(a=t.input.charCodeAt(t.position+1),kt(a)||o&&Mn(a))break}else if(m===35){if(r=t.input.charCodeAt(t.position-1),kt(r))break}else{if(t.position===t.lineStart&&ir(t)||o&&Mn(m))break;if(Lt(m))if(c=t.line,u=t.lineStart,p=t.lineIndent,tt(t,!1,-1),t.lineIndent>=n){s=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=l,t.line=c,t.lineStart=u,t.lineIndent=p;break}}s&&(nn(t,i,l,!1),Pa(t,t.line-c),i=l=t.position,s=!1),Sn(m)||(l=t.position+1),m=t.input.charCodeAt(++t.position)}return nn(t,i,l,!1),t.result?!0:(t.kind=d,t.result=f,!1)}function pw(t,n){var o,r,a;if(o=t.input.charCodeAt(t.position),o!==39)return!1;for(t.kind="scalar",t.result="",t.position++,r=a=t.position;(o=t.input.charCodeAt(t.position))!==0;)if(o===39)if(nn(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),o===39)r=t.position,t.position++,a=t.position;else return!0;else Lt(o)?(nn(t,r,a,!0),Pa(t,tt(t,!1,n)),r=a=t.position):t.position===t.lineStart&&ir(t)?Se(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);Se(t,"unexpected end of the stream within a single quoted scalar")}function mw(t,n){var o,r,a,i,l,s;if(s=t.input.charCodeAt(t.position),s!==34)return!1;for(t.kind="scalar",t.result="",t.position++,o=r=t.position;(s=t.input.charCodeAt(t.position))!==0;){if(s===34)return nn(t,o,t.position,!0),t.position++,!0;if(s===92){if(nn(t,o,t.position,!0),s=t.input.charCodeAt(++t.position),Lt(s))tt(t,!1,n);else if(s<256&&ec[s])t.result+=tc[s],t.position++;else if((l=sw(s))>0){for(a=l,i=0;a>0;a--)s=t.input.charCodeAt(++t.position),(l=lw(s))>=0?i=(i<<4)+l:Se(t,"expected hexadecimal character");t.result+=dw(i),t.position++}else Se(t,"unknown escape sequence");o=r=t.position}else Lt(s)?(nn(t,o,r,!0),Pa(t,tt(t,!1,n)),o=r=t.position):t.position===t.lineStart&&ir(t)?Se(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}Se(t,"unexpected end of the stream within a double quoted scalar")}function gw(t,n){var o=!0,r,a,i,l=t.tag,s,c=t.anchor,u,p,d,f,m,g=Object.create(null),_,y,h,w;if(w=t.input.charCodeAt(t.position),w===91)p=93,m=!1,s=[];else if(w===123)p=125,m=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),w=t.input.charCodeAt(++t.position);w!==0;){if(tt(t,!0,n),w=t.input.charCodeAt(t.position),w===p)return t.position++,t.tag=l,t.anchor=c,t.kind=m?"mapping":"sequence",t.result=s,!0;o?w===44&&Se(t,"expected the node content, but found ','"):Se(t,"missed comma between flow collection entries"),y=_=h=null,d=f=!1,w===63&&(u=t.input.charCodeAt(t.position+1),kt(u)&&(d=f=!0,t.position++,tt(t,!0,n))),r=t.line,a=t.lineStart,i=t.position,Un(t,n,or,!1,!0),y=t.tag,_=t.result,tt(t,!0,n),w=t.input.charCodeAt(t.position),(f||t.line===r)&&w===58&&(d=!0,w=t.input.charCodeAt(++t.position),tt(t,!0,n),Un(t,n,or,!1,!0),h=t.result),m?jn(t,s,g,y,_,h,r,a,i):d?s.push(jn(t,null,g,y,_,h,r,a,i)):s.push(_),tt(t,!0,n),w=t.input.charCodeAt(t.position),w===44?(o=!0,w=t.input.charCodeAt(++t.position)):o=!1}Se(t,"unexpected end of the stream within a flow collection")}function hw(t,n){var o,r,a=Aa,i=!1,l=!1,s=n,c=0,u=!1,p,d;if(d=t.input.charCodeAt(t.position),d===124)r=!1;else if(d===62)r=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)Aa===a?a=d===43?Ws:ow:Se(t,"repeat of a chomping mode identifier");else if((p=cw(d))>=0)p===0?Se(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?Se(t,"repeat of an indentation width identifier"):(s=n+p-1,l=!0);else break;if(Sn(d)){do d=t.input.charCodeAt(++t.position);while(Sn(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!Lt(d)&&d!==0)}for(;d!==0;){for(Sa(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!l||t.lineIndent<s)&&d===32;)t.lineIndent++,d=t.input.charCodeAt(++t.position);if(!l&&t.lineIndent>s&&(s=t.lineIndent),Lt(d)){c++;continue}if(t.lineIndent<s){a===Ws?t.result+=it.repeat(`
27
- `,i?1+c:c):a===Aa&&i&&(t.result+=`
28
- `);break}for(r?Sn(d)?(u=!0,t.result+=it.repeat(`
22
+ `,c=1;c<=n.linesAfter&&!(l+c>=a.length);c++)u=Ca(t.buffer,r[l+c],a[l+c],t.position-(r[l]-r[l+c]),d),s+=it.repeat(" ",n.indent)+Ea((t.line+c+1).toString(),p)+" | "+u.str+`
23
+ `;return s.replace(/\n$/,"")}var gk=mk,hk=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],yk=["scalar","sequence","mapping"];function _k(t){var n={};return t!==null&&Object.keys(t).forEach(function(o){t[o].forEach(function(r){n[String(r)]=o})}),n}function bk(t,n){if(n=n||{},Object.keys(n).forEach(function(o){if(hk.indexOf(o)===-1)throw new _t('Unknown option "'+o+'" is met in definition of "'+t+'" YAML type.')}),this.options=n,this.tag=t,this.kind=n.kind||null,this.resolve=n.resolve||function(){return!0},this.construct=n.construct||function(o){return o},this.instanceOf=n.instanceOf||null,this.predicate=n.predicate||null,this.represent=n.represent||null,this.representName=n.representName||null,this.defaultStyle=n.defaultStyle||null,this.multi=n.multi||!1,this.styleAliases=_k(n.styleAliases||null),yk.indexOf(this.kind)===-1)throw new _t('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var pt=bk;function As(t,n){var o=[];return t[n].forEach(function(r){var a=o.length;o.forEach(function(i,l){i.tag===r.tag&&i.kind===r.kind&&i.multi===r.multi&&(a=l)}),o[a]=r}),o}function kk(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},n,o;function r(a){a.multi?(t.multi[a.kind].push(a),t.multi.fallback.push(a)):t[a.kind][a.tag]=t.fallback[a.tag]=a}for(n=0,o=arguments.length;n<o;n+=1)arguments[n].forEach(r);return t}function Na(t){return this.extend(t)}Na.prototype.extend=function(n){var o=[],r=[];if(n instanceof pt)r.push(n);else if(Array.isArray(n))r=r.concat(n);else if(n&&(Array.isArray(n.implicit)||Array.isArray(n.explicit)))n.implicit&&(o=o.concat(n.implicit)),n.explicit&&(r=r.concat(n.explicit));else throw new _t("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");o.forEach(function(i){if(!(i instanceof pt))throw new _t("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(i.loadKind&&i.loadKind!=="scalar")throw new _t("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(i.multi)throw new _t("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(i){if(!(i instanceof pt))throw new _t("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var a=Object.create(Na.prototype);return a.implicit=(this.implicit||[]).concat(o),a.explicit=(this.explicit||[]).concat(r),a.compiledImplicit=As(a,"implicit"),a.compiledExplicit=As(a,"explicit"),a.compiledTypeMap=kk(a.compiledImplicit,a.compiledExplicit),a};var Ss=Na,Ps=new pt("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}}),Is=new pt("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}}),Ts=new pt("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}}),Os=new Ss({explicit:[Ps,Is,Ts]});function wk(t){if(t===null)return!0;var n=t.length;return n===1&&t==="~"||n===4&&(t==="null"||t==="Null"||t==="NULL")}function Ck(){return null}function Ek(t){return t===null}var Vs=new pt("tag:yaml.org,2002:null",{kind:"scalar",resolve:wk,construct:Ck,predicate:Ek,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function Nk(t){if(t===null)return!1;var n=t.length;return n===4&&(t==="true"||t==="True"||t==="TRUE")||n===5&&(t==="false"||t==="False"||t==="FALSE")}function xk(t){return t==="true"||t==="True"||t==="TRUE"}function Ak(t){return Object.prototype.toString.call(t)==="[object Boolean]"}var Bs=new pt("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Nk,construct:xk,predicate:Ak,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function Sk(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function Pk(t){return 48<=t&&t<=55}function Ik(t){return 48<=t&&t<=57}function Tk(t){if(t===null)return!1;var n=t.length,o=0,r=!1,a;if(!n)return!1;if(a=t[o],(a==="-"||a==="+")&&(a=t[++o]),a==="0"){if(o+1===n)return!0;if(a=t[++o],a==="b"){for(o++;o<n;o++)if(a=t[o],a!=="_"){if(a!=="0"&&a!=="1")return!1;r=!0}return r&&a!=="_"}if(a==="x"){for(o++;o<n;o++)if(a=t[o],a!=="_"){if(!Sk(t.charCodeAt(o)))return!1;r=!0}return r&&a!=="_"}if(a==="o"){for(o++;o<n;o++)if(a=t[o],a!=="_"){if(!Pk(t.charCodeAt(o)))return!1;r=!0}return r&&a!=="_"}}if(a==="_")return!1;for(;o<n;o++)if(a=t[o],a!=="_"){if(!Ik(t.charCodeAt(o)))return!1;r=!0}return!(!r||a==="_")}function Ok(t){var n=t,o=1,r;if(n.indexOf("_")!==-1&&(n=n.replace(/_/g,"")),r=n[0],(r==="-"||r==="+")&&(r==="-"&&(o=-1),n=n.slice(1),r=n[0]),n==="0")return 0;if(r==="0"){if(n[1]==="b")return o*parseInt(n.slice(2),2);if(n[1]==="x")return o*parseInt(n.slice(2),16);if(n[1]==="o")return o*parseInt(n.slice(2),8)}return o*parseInt(n,10)}function Vk(t){return Object.prototype.toString.call(t)==="[object Number]"&&t%1===0&&!it.isNegativeZero(t)}var $s=new pt("tag:yaml.org,2002:int",{kind:"scalar",resolve:Tk,construct:Ok,predicate:Vk,represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Bk=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function $k(t){return!(t===null||!Bk.test(t)||t[t.length-1]==="_")}function Rk(t){var n,o;return n=t.replace(/_/g,"").toLowerCase(),o=n[0]==="-"?-1:1,"+-".indexOf(n[0])>=0&&(n=n.slice(1)),n===".inf"?o===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:n===".nan"?NaN:o*parseFloat(n,10)}var Fk=/^[-+]?[0-9]+e/;function Lk(t,n){var o;if(isNaN(t))switch(n){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(n){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(n){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(it.isNegativeZero(t))return"-0.0";return o=t.toString(10),Fk.test(o)?o.replace("e",".e"):o}function Dk(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||it.isNegativeZero(t))}var Rs=new pt("tag:yaml.org,2002:float",{kind:"scalar",resolve:$k,construct:Rk,predicate:Dk,represent:Lk,defaultStyle:"lowercase"}),Fs=Os.extend({implicit:[Vs,Bs,$s,Rs]}),Ls=Fs,Ds=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Ms=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function Mk(t){return t===null?!1:Ds.exec(t)!==null||Ms.exec(t)!==null}function jk(t){var n,o,r,a,i,l,s,c=0,u=null,p,d,f;if(n=Ds.exec(t),n===null&&(n=Ms.exec(t)),n===null)throw new Error("Date resolve error");if(o=+n[1],r=+n[2]-1,a=+n[3],!n[4])return new Date(Date.UTC(o,r,a));if(i=+n[4],l=+n[5],s=+n[6],n[7]){for(c=n[7].slice(0,3);c.length<3;)c+="0";c=+c}return n[9]&&(p=+n[10],d=+(n[11]||0),u=(p*60+d)*6e4,n[9]==="-"&&(u=-u)),f=new Date(Date.UTC(o,r,a,i,l,s,c)),u&&f.setTime(f.getTime()-u),f}function vk(t){return t.toISOString()}var js=new pt("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Mk,construct:jk,instanceOf:Date,represent:vk});function Uk(t){return t==="<<"||t===null}var vs=new pt("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Uk}),xa=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
24
+ \r`;function Kk(t){if(t===null)return!1;var n,o,r=0,a=t.length,i=xa;for(o=0;o<a;o++)if(n=i.indexOf(t.charAt(o)),!(n>64)){if(n<0)return!1;r+=6}return r%8===0}function qk(t){var n,o,r=t.replace(/[\r\n=]/g,""),a=r.length,i=xa,l=0,s=[];for(n=0;n<a;n++)n%4===0&&n&&(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)),l=l<<6|i.indexOf(r.charAt(n));return o=a%4*6,o===0?(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)):o===18?(s.push(l>>10&255),s.push(l>>2&255)):o===12&&s.push(l>>4&255),new Uint8Array(s)}function Gk(t){var n="",o=0,r,a,i=t.length,l=xa;for(r=0;r<i;r++)r%3===0&&r&&(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]),o=(o<<8)+t[r];return a=i%3,a===0?(n+=l[o>>18&63],n+=l[o>>12&63],n+=l[o>>6&63],n+=l[o&63]):a===2?(n+=l[o>>10&63],n+=l[o>>4&63],n+=l[o<<2&63],n+=l[64]):a===1&&(n+=l[o>>2&63],n+=l[o<<4&63],n+=l[64],n+=l[64]),n}function zk(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}var Us=new pt("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Kk,construct:qk,predicate:zk,represent:Gk}),Hk=Object.prototype.hasOwnProperty,Wk=Object.prototype.toString;function Yk(t){if(t===null)return!0;var n=[],o,r,a,i,l,s=t;for(o=0,r=s.length;o<r;o+=1){if(a=s[o],l=!1,Wk.call(a)!=="[object Object]")return!1;for(i in a)if(Hk.call(a,i))if(!l)l=!0;else return!1;if(!l)return!1;if(n.indexOf(i)===-1)n.push(i);else return!1}return!0}function Jk(t){return t!==null?t:[]}var Ks=new pt("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Yk,construct:Jk}),Xk=Object.prototype.toString;function Zk(t){if(t===null)return!0;var n,o,r,a,i,l=t;for(i=new Array(l.length),n=0,o=l.length;n<o;n+=1){if(r=l[n],Xk.call(r)!=="[object Object]"||(a=Object.keys(r),a.length!==1))return!1;i[n]=[a[0],r[a[0]]]}return!0}function Qk(t){if(t===null)return[];var n,o,r,a,i,l=t;for(i=new Array(l.length),n=0,o=l.length;n<o;n+=1)r=l[n],a=Object.keys(r),i[n]=[a[0],r[a[0]]];return i}var qs=new pt("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Zk,construct:Qk}),ew=Object.prototype.hasOwnProperty;function tw(t){if(t===null)return!0;var n,o=t;for(n in o)if(ew.call(o,n)&&o[n]!==null)return!1;return!0}function nw(t){return t!==null?t:{}}var Gs=new pt("tag:yaml.org,2002:set",{kind:"mapping",resolve:tw,construct:nw}),Aa=Ls.extend({implicit:[js,vs],explicit:[Us,Ks,qs,Gs]}),nn=Object.prototype.hasOwnProperty,rr=1,zs=2,Hs=3,ar=4,Sa=1,ow=2,Ws=3,rw=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,aw=/[\x85\u2028\u2029]/,iw=/[,\[\]\{\}]/,Ys=/^(?:!|!!|![a-z\-]+!)$/i,Js=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Xs(t){return Object.prototype.toString.call(t)}function Dt(t){return t===10||t===13}function Pn(t){return t===9||t===32}function wt(t){return t===9||t===32||t===10||t===13}function Mn(t){return t===44||t===91||t===93||t===123||t===125}function lw(t){var n;return 48<=t&&t<=57?t-48:(n=t|32,97<=n&&n<=102?n-97+10:-1)}function sw(t){return t===120?2:t===117?4:t===85?8:0}function cw(t){return 48<=t&&t<=57?t-48:-1}function Zs(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?`
25
+ `:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"…":t===95?" ":t===76?"\u2028":t===80?"\u2029":""}function dw(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}function Qs(t,n,o){n==="__proto__"?Object.defineProperty(t,n,{configurable:!0,enumerable:!0,writable:!0,value:o}):t[n]=o}for(var ec=new Array(256),tc=new Array(256),jn=0;jn<256;jn++)ec[jn]=Zs(jn)?1:0,tc[jn]=Zs(jn);function uw(t,n){this.input=t,this.filename=n.filename||null,this.schema=n.schema||Aa,this.onWarning=n.onWarning||null,this.legacy=n.legacy||!1,this.json=n.json||!1,this.listener=n.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function nc(t,n){var o={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return o.snippet=gk(o),new _t(n,o)}function Ie(t,n){throw nc(t,n)}function ir(t,n){t.onWarning&&t.onWarning.call(null,nc(t,n))}var oc={YAML:function(n,o,r){var a,i,l;n.version!==null&&Ie(n,"duplication of %YAML directive"),r.length!==1&&Ie(n,"YAML directive accepts exactly one argument"),a=/^([0-9]+)\.([0-9]+)$/.exec(r[0]),a===null&&Ie(n,"ill-formed argument of the YAML directive"),i=parseInt(a[1],10),l=parseInt(a[2],10),i!==1&&Ie(n,"unacceptable YAML version of the document"),n.version=r[0],n.checkLineBreaks=l<2,l!==1&&l!==2&&ir(n,"unsupported YAML version of the document")},TAG:function(n,o,r){var a,i;r.length!==2&&Ie(n,"TAG directive accepts exactly two arguments"),a=r[0],i=r[1],Ys.test(a)||Ie(n,"ill-formed tag handle (first argument) of the TAG directive"),nn.call(n.tagMap,a)&&Ie(n,'there is a previously declared suffix for "'+a+'" tag handle'),Js.test(i)||Ie(n,"ill-formed tag prefix (second argument) of the TAG directive");try{i=decodeURIComponent(i)}catch{Ie(n,"tag prefix is malformed: "+i)}n.tagMap[a]=i}};function on(t,n,o,r){var a,i,l,s;if(n<o){if(s=t.input.slice(n,o),r)for(a=0,i=s.length;a<i;a+=1)l=s.charCodeAt(a),l===9||32<=l&&l<=1114111||Ie(t,"expected valid JSON character");else rw.test(s)&&Ie(t,"the stream contains non-printable characters");t.result+=s}}function rc(t,n,o,r){var a,i,l,s;for(it.isObject(o)||Ie(t,"cannot merge mappings; the provided source object is unacceptable"),a=Object.keys(o),l=0,s=a.length;l<s;l+=1)i=a[l],nn.call(n,i)||(Qs(n,i,o[i]),r[i]=!0)}function vn(t,n,o,r,a,i,l,s,c){var u,p;if(Array.isArray(a))for(a=Array.prototype.slice.call(a),u=0,p=a.length;u<p;u+=1)Array.isArray(a[u])&&Ie(t,"nested arrays are not supported inside keys"),typeof a=="object"&&Xs(a[u])==="[object Object]"&&(a[u]="[object Object]");if(typeof a=="object"&&Xs(a)==="[object Object]"&&(a="[object Object]"),a=String(a),n===null&&(n={}),r==="tag:yaml.org,2002:merge")if(Array.isArray(i))for(u=0,p=i.length;u<p;u+=1)rc(t,n,i[u],o);else rc(t,n,i,o);else!t.json&&!nn.call(o,a)&&nn.call(n,a)&&(t.line=l||t.line,t.lineStart=s||t.lineStart,t.position=c||t.position,Ie(t,"duplicated mapping key")),Qs(n,a,i),delete o[a];return n}function Pa(t){var n;n=t.input.charCodeAt(t.position),n===10?t.position++:n===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):Ie(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function nt(t,n,o){for(var r=0,a=t.input.charCodeAt(t.position);a!==0;){for(;Pn(a);)a===9&&t.firstTabInLine===-1&&(t.firstTabInLine=t.position),a=t.input.charCodeAt(++t.position);if(n&&a===35)do a=t.input.charCodeAt(++t.position);while(a!==10&&a!==13&&a!==0);if(Dt(a))for(Pa(t),a=t.input.charCodeAt(t.position),r++,t.lineIndent=0;a===32;)t.lineIndent++,a=t.input.charCodeAt(++t.position);else break}return o!==-1&&r!==0&&t.lineIndent<o&&ir(t,"deficient indentation"),r}function lr(t){var n=t.position,o;return o=t.input.charCodeAt(n),!!((o===45||o===46)&&o===t.input.charCodeAt(n+1)&&o===t.input.charCodeAt(n+2)&&(n+=3,o=t.input.charCodeAt(n),o===0||wt(o)))}function Ia(t,n){n===1?t.result+=" ":n>1&&(t.result+=it.repeat(`
26
+ `,n-1))}function fw(t,n,o){var r,a,i,l,s,c,u,p,d=t.kind,f=t.result,m;if(m=t.input.charCodeAt(t.position),wt(m)||Mn(m)||m===35||m===38||m===42||m===33||m===124||m===62||m===39||m===34||m===37||m===64||m===96||(m===63||m===45)&&(a=t.input.charCodeAt(t.position+1),wt(a)||o&&Mn(a)))return!1;for(t.kind="scalar",t.result="",i=l=t.position,s=!1;m!==0;){if(m===58){if(a=t.input.charCodeAt(t.position+1),wt(a)||o&&Mn(a))break}else if(m===35){if(r=t.input.charCodeAt(t.position-1),wt(r))break}else{if(t.position===t.lineStart&&lr(t)||o&&Mn(m))break;if(Dt(m))if(c=t.line,u=t.lineStart,p=t.lineIndent,nt(t,!1,-1),t.lineIndent>=n){s=!0,m=t.input.charCodeAt(t.position);continue}else{t.position=l,t.line=c,t.lineStart=u,t.lineIndent=p;break}}s&&(on(t,i,l,!1),Ia(t,t.line-c),i=l=t.position,s=!1),Pn(m)||(l=t.position+1),m=t.input.charCodeAt(++t.position)}return on(t,i,l,!1),t.result?!0:(t.kind=d,t.result=f,!1)}function pw(t,n){var o,r,a;if(o=t.input.charCodeAt(t.position),o!==39)return!1;for(t.kind="scalar",t.result="",t.position++,r=a=t.position;(o=t.input.charCodeAt(t.position))!==0;)if(o===39)if(on(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),o===39)r=t.position,t.position++,a=t.position;else return!0;else Dt(o)?(on(t,r,a,!0),Ia(t,nt(t,!1,n)),r=a=t.position):t.position===t.lineStart&&lr(t)?Ie(t,"unexpected end of the document within a single quoted scalar"):(t.position++,a=t.position);Ie(t,"unexpected end of the stream within a single quoted scalar")}function mw(t,n){var o,r,a,i,l,s;if(s=t.input.charCodeAt(t.position),s!==34)return!1;for(t.kind="scalar",t.result="",t.position++,o=r=t.position;(s=t.input.charCodeAt(t.position))!==0;){if(s===34)return on(t,o,t.position,!0),t.position++,!0;if(s===92){if(on(t,o,t.position,!0),s=t.input.charCodeAt(++t.position),Dt(s))nt(t,!1,n);else if(s<256&&ec[s])t.result+=tc[s],t.position++;else if((l=sw(s))>0){for(a=l,i=0;a>0;a--)s=t.input.charCodeAt(++t.position),(l=lw(s))>=0?i=(i<<4)+l:Ie(t,"expected hexadecimal character");t.result+=dw(i),t.position++}else Ie(t,"unknown escape sequence");o=r=t.position}else Dt(s)?(on(t,o,r,!0),Ia(t,nt(t,!1,n)),o=r=t.position):t.position===t.lineStart&&lr(t)?Ie(t,"unexpected end of the document within a double quoted scalar"):(t.position++,r=t.position)}Ie(t,"unexpected end of the stream within a double quoted scalar")}function gw(t,n){var o=!0,r,a,i,l=t.tag,s,c=t.anchor,u,p,d,f,m,g=Object.create(null),_,h,y,w;if(w=t.input.charCodeAt(t.position),w===91)p=93,m=!1,s=[];else if(w===123)p=125,m=!0,s={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=s),w=t.input.charCodeAt(++t.position);w!==0;){if(nt(t,!0,n),w=t.input.charCodeAt(t.position),w===p)return t.position++,t.tag=l,t.anchor=c,t.kind=m?"mapping":"sequence",t.result=s,!0;o?w===44&&Ie(t,"expected the node content, but found ','"):Ie(t,"missed comma between flow collection entries"),h=_=y=null,d=f=!1,w===63&&(u=t.input.charCodeAt(t.position+1),wt(u)&&(d=f=!0,t.position++,nt(t,!0,n))),r=t.line,a=t.lineStart,i=t.position,Un(t,n,rr,!1,!0),h=t.tag,_=t.result,nt(t,!0,n),w=t.input.charCodeAt(t.position),(f||t.line===r)&&w===58&&(d=!0,w=t.input.charCodeAt(++t.position),nt(t,!0,n),Un(t,n,rr,!1,!0),y=t.result),m?vn(t,s,g,h,_,y,r,a,i):d?s.push(vn(t,null,g,h,_,y,r,a,i)):s.push(_),nt(t,!0,n),w=t.input.charCodeAt(t.position),w===44?(o=!0,w=t.input.charCodeAt(++t.position)):o=!1}Ie(t,"unexpected end of the stream within a flow collection")}function hw(t,n){var o,r,a=Sa,i=!1,l=!1,s=n,c=0,u=!1,p,d;if(d=t.input.charCodeAt(t.position),d===124)r=!1;else if(d===62)r=!0;else return!1;for(t.kind="scalar",t.result="";d!==0;)if(d=t.input.charCodeAt(++t.position),d===43||d===45)Sa===a?a=d===43?Ws:ow:Ie(t,"repeat of a chomping mode identifier");else if((p=cw(d))>=0)p===0?Ie(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?Ie(t,"repeat of an indentation width identifier"):(s=n+p-1,l=!0);else break;if(Pn(d)){do d=t.input.charCodeAt(++t.position);while(Pn(d));if(d===35)do d=t.input.charCodeAt(++t.position);while(!Dt(d)&&d!==0)}for(;d!==0;){for(Pa(t),t.lineIndent=0,d=t.input.charCodeAt(t.position);(!l||t.lineIndent<s)&&d===32;)t.lineIndent++,d=t.input.charCodeAt(++t.position);if(!l&&t.lineIndent>s&&(s=t.lineIndent),Dt(d)){c++;continue}if(t.lineIndent<s){a===Ws?t.result+=it.repeat(`
27
+ `,i?1+c:c):a===Sa&&i&&(t.result+=`
28
+ `);break}for(r?Pn(d)?(u=!0,t.result+=it.repeat(`
29
29
  `,i?1+c:c)):u?(u=!1,t.result+=it.repeat(`
30
30
  `,c+1)):c===0?i&&(t.result+=" "):t.result+=it.repeat(`
31
31
  `,c):t.result+=it.repeat(`
32
- `,i?1+c:c),i=!0,l=!0,c=0,o=t.position;!Lt(d)&&d!==0;)d=t.input.charCodeAt(++t.position);nn(t,o,t.position,!1)}return!0}function ac(t,n){var o,r=t.tag,a=t.anchor,i=[],l,s=!1,c;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=i),c=t.input.charCodeAt(t.position);c!==0&&(t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Se(t,"tab characters must not be used in indentation")),!(c!==45||(l=t.input.charCodeAt(t.position+1),!kt(l))));){if(s=!0,t.position++,tt(t,!0,-1)&&t.lineIndent<=n){i.push(null),c=t.input.charCodeAt(t.position);continue}if(o=t.line,Un(t,n,Hs,!1,!0),i.push(t.result),tt(t,!0,-1),c=t.input.charCodeAt(t.position),(t.line===o||t.lineIndent>n)&&c!==0)Se(t,"bad indentation of a sequence entry");else if(t.lineIndent<n)break}return s?(t.tag=r,t.anchor=a,t.kind="sequence",t.result=i,!0):!1}function yw(t,n,o){var r,a,i,l,s,c,u=t.tag,p=t.anchor,d={},f=Object.create(null),m=null,g=null,_=null,y=!1,h=!1,w;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=d),w=t.input.charCodeAt(t.position);w!==0;){if(!y&&t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Se(t,"tab characters must not be used in indentation")),r=t.input.charCodeAt(t.position+1),i=t.line,(w===63||w===58)&&kt(r))w===63?(y&&(jn(t,d,f,m,g,null,l,s,c),m=g=_=null),h=!0,y=!0,a=!0):y?(y=!1,a=!0):Se(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,w=r;else{if(l=t.line,s=t.lineStart,c=t.position,!Un(t,o,zs,!1,!0))break;if(t.line===i){for(w=t.input.charCodeAt(t.position);Sn(w);)w=t.input.charCodeAt(++t.position);if(w===58)w=t.input.charCodeAt(++t.position),kt(w)||Se(t,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(jn(t,d,f,m,g,null,l,s,c),m=g=_=null),h=!0,y=!1,a=!1,m=t.tag,g=t.result;else if(h)Se(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=u,t.anchor=p,!0}else if(h)Se(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=u,t.anchor=p,!0}if((t.line===i||t.lineIndent>n)&&(y&&(l=t.line,s=t.lineStart,c=t.position),Un(t,n,rr,!0,a)&&(y?g=t.result:_=t.result),y||(jn(t,d,f,m,g,_,l,s,c),m=g=_=null),tt(t,!0,-1),w=t.input.charCodeAt(t.position)),(t.line===i||t.lineIndent>n)&&w!==0)Se(t,"bad indentation of a mapping entry");else if(t.lineIndent<n)break}return y&&jn(t,d,f,m,g,null,l,s,c),h&&(t.tag=u,t.anchor=p,t.kind="mapping",t.result=d),h}function _w(t){var n,o=!1,r=!1,a,i,l;if(l=t.input.charCodeAt(t.position),l!==33)return!1;if(t.tag!==null&&Se(t,"duplication of a tag property"),l=t.input.charCodeAt(++t.position),l===60?(o=!0,l=t.input.charCodeAt(++t.position)):l===33?(r=!0,a="!!",l=t.input.charCodeAt(++t.position)):a="!",n=t.position,o){do l=t.input.charCodeAt(++t.position);while(l!==0&&l!==62);t.position<t.length?(i=t.input.slice(n,t.position),l=t.input.charCodeAt(++t.position)):Se(t,"unexpected end of the stream within a verbatim tag")}else{for(;l!==0&&!kt(l);)l===33&&(r?Se(t,"tag suffix cannot contain exclamation marks"):(a=t.input.slice(n-1,t.position+1),Ys.test(a)||Se(t,"named tag handle cannot contain such characters"),r=!0,n=t.position+1)),l=t.input.charCodeAt(++t.position);i=t.input.slice(n,t.position),iw.test(i)&&Se(t,"tag suffix cannot contain flow indicator characters")}i&&!Js.test(i)&&Se(t,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch{Se(t,"tag name is malformed: "+i)}return o?t.tag=i:tn.call(t.tagMap,a)?t.tag=t.tagMap[a]+i:a==="!"?t.tag="!"+i:a==="!!"?t.tag="tag:yaml.org,2002:"+i:Se(t,'undeclared tag handle "'+a+'"'),!0}function bw(t){var n,o;if(o=t.input.charCodeAt(t.position),o!==38)return!1;for(t.anchor!==null&&Se(t,"duplication of an anchor property"),o=t.input.charCodeAt(++t.position),n=t.position;o!==0&&!kt(o)&&!Mn(o);)o=t.input.charCodeAt(++t.position);return t.position===n&&Se(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(n,t.position),!0}function kw(t){var n,o,r;if(r=t.input.charCodeAt(t.position),r!==42)return!1;for(r=t.input.charCodeAt(++t.position),n=t.position;r!==0&&!kt(r)&&!Mn(r);)r=t.input.charCodeAt(++t.position);return t.position===n&&Se(t,"name of an alias node must contain at least one character"),o=t.input.slice(n,t.position),tn.call(t.anchorMap,o)||Se(t,'unidentified alias "'+o+'"'),t.result=t.anchorMap[o],tt(t,!0,-1),!0}function Un(t,n,o,r,a){var i,l,s,c=1,u=!1,p=!1,d,f,m,g,_,y;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,i=l=s=rr===o||Hs===o,r&&tt(t,!0,-1)&&(u=!0,t.lineIndent>n?c=1:t.lineIndent===n?c=0:t.lineIndent<n&&(c=-1)),c===1)for(;_w(t)||bw(t);)tt(t,!0,-1)?(u=!0,s=i,t.lineIndent>n?c=1:t.lineIndent===n?c=0:t.lineIndent<n&&(c=-1)):s=!1;if(s&&(s=u||a),(c===1||rr===o)&&(or===o||zs===o?_=n:_=n+1,y=t.position-t.lineStart,c===1?s&&(ac(t,y)||yw(t,y,_))||gw(t,_)?p=!0:(l&&hw(t,_)||pw(t,_)||mw(t,_)?p=!0:kw(t)?(p=!0,(t.tag!==null||t.anchor!==null)&&Se(t,"alias node should not have any properties")):fw(t,_,or===o)&&(p=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):c===0&&(p=s&&ac(t,y))),t.tag===null)t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);else if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&Se(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d<f;d+=1)if(g=t.implicitTypes[d],g.resolve(t.result)){t.result=g.construct(t.result),t.tag=g.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else if(t.tag!=="!"){if(tn.call(t.typeMap[t.kind||"fallback"],t.tag))g=t.typeMap[t.kind||"fallback"][t.tag];else for(g=null,m=t.typeMap.multi[t.kind||"fallback"],d=0,f=m.length;d<f;d+=1)if(t.tag.slice(0,m[d].tag.length)===m[d].tag){g=m[d];break}g||Se(t,"unknown tag !<"+t.tag+">"),t.result!==null&&g.kind!==t.kind&&Se(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Se(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||p}function ww(t){var n=t.position,o,r,a,i=!1,l;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(l=t.input.charCodeAt(t.position))!==0&&(tt(t,!0,-1),l=t.input.charCodeAt(t.position),!(t.lineIndent>0||l!==37));){for(i=!0,l=t.input.charCodeAt(++t.position),o=t.position;l!==0&&!kt(l);)l=t.input.charCodeAt(++t.position);for(r=t.input.slice(o,t.position),a=[],r.length<1&&Se(t,"directive name must not be less than one character in length");l!==0;){for(;Sn(l);)l=t.input.charCodeAt(++t.position);if(l===35){do l=t.input.charCodeAt(++t.position);while(l!==0&&!Lt(l));break}if(Lt(l))break;for(o=t.position;l!==0&&!kt(l);)l=t.input.charCodeAt(++t.position);a.push(t.input.slice(o,t.position))}l!==0&&Sa(t),tn.call(oc,r)?oc[r](t,r,a):ar(t,'unknown document directive "'+r+'"')}if(tt(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,tt(t,!0,-1)):i&&Se(t,"directives end mark is expected"),Un(t,t.lineIndent-1,rr,!1,!0),tt(t,!0,-1),t.checkLineBreaks&&aw.test(t.input.slice(n,t.position))&&ar(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&ir(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,tt(t,!0,-1));return}if(t.position<t.length-1)Se(t,"end of the stream or a document separator is expected");else return}function ic(t,n){t=String(t),n=n||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=`
33
- `),t.charCodeAt(0)===65279&&(t=t.slice(1)));var o=new uw(t,n),r=t.indexOf("\0");for(r!==-1&&(o.position=r,Se(o,"null byte is not allowed in input")),o.input+="\0";o.input.charCodeAt(o.position)===32;)o.lineIndent+=1,o.position+=1;for(;o.position<o.length-1;)ww(o);return o.documents}function Cw(t,n,o){n!==null&&typeof n=="object"&&typeof o>"u"&&(o=n,n=null);var r=ic(t,o);if(typeof n!="function")return r;for(var a=0,i=r.length;a<i;a+=1)n(r[a])}function Ew(t,n){var o=ic(t,n);if(o.length!==0){if(o.length===1)return o[0];throw new yt("expected a single document in the stream, but found more")}}var Nw=Cw,xw=Ew,lc={loadAll:Nw,load:xw},sc=Object.prototype.toString,cc=Object.prototype.hasOwnProperty,Ia=65279,Aw=9,ho=10,Sw=13,Pw=32,Iw=33,Tw=34,Ta=35,Ow=37,Vw=38,Bw=39,$w=42,dc=44,Rw=45,lr=58,Fw=61,Lw=62,Dw=63,Mw=64,uc=91,fc=93,vw=96,pc=123,jw=124,mc=125,mt={};mt[0]="\\0",mt[7]="\\a",mt[8]="\\b",mt[9]="\\t",mt[10]="\\n",mt[11]="\\v",mt[12]="\\f",mt[13]="\\r",mt[27]="\\e",mt[34]='\\"',mt[92]="\\\\",mt[133]="\\N",mt[160]="\\_",mt[8232]="\\L",mt[8233]="\\P";var Uw=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Kw=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function qw(t,n){var o,r,a,i,l,s,c;if(n===null)return{};for(o={},r=Object.keys(n),a=0,i=r.length;a<i;a+=1)l=r[a],s=String(n[l]),l.slice(0,2)==="!!"&&(l="tag:yaml.org,2002:"+l.slice(2)),c=t.compiledTypeMap.fallback[l],c&&cc.call(c.styleAliases,s)&&(s=c.styleAliases[s]),o[l]=s;return o}function Gw(t){var n,o,r;if(n=t.toString(16).toUpperCase(),t<=255)o="x",r=2;else if(t<=65535)o="u",r=4;else if(t<=4294967295)o="U",r=8;else throw new yt("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+o+it.repeat("0",r-n.length)+n}var zw=1,yo=2;function Hw(t){this.schema=t.schema||xa,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=it.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=qw(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType=t.quotingType==='"'?yo:zw,this.forceQuotes=t.forceQuotes||!1,this.replacer=typeof t.replacer=="function"?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function gc(t,n){for(var o=it.repeat(" ",n),r=0,a=-1,i="",l,s=t.length;r<s;)a=t.indexOf(`
32
+ `,i?1+c:c),i=!0,l=!0,c=0,o=t.position;!Dt(d)&&d!==0;)d=t.input.charCodeAt(++t.position);on(t,o,t.position,!1)}return!0}function ac(t,n){var o,r=t.tag,a=t.anchor,i=[],l,s=!1,c;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=i),c=t.input.charCodeAt(t.position);c!==0&&(t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Ie(t,"tab characters must not be used in indentation")),!(c!==45||(l=t.input.charCodeAt(t.position+1),!wt(l))));){if(s=!0,t.position++,nt(t,!0,-1)&&t.lineIndent<=n){i.push(null),c=t.input.charCodeAt(t.position);continue}if(o=t.line,Un(t,n,Hs,!1,!0),i.push(t.result),nt(t,!0,-1),c=t.input.charCodeAt(t.position),(t.line===o||t.lineIndent>n)&&c!==0)Ie(t,"bad indentation of a sequence entry");else if(t.lineIndent<n)break}return s?(t.tag=r,t.anchor=a,t.kind="sequence",t.result=i,!0):!1}function yw(t,n,o){var r,a,i,l,s,c,u=t.tag,p=t.anchor,d={},f=Object.create(null),m=null,g=null,_=null,h=!1,y=!1,w;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=d),w=t.input.charCodeAt(t.position);w!==0;){if(!h&&t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Ie(t,"tab characters must not be used in indentation")),r=t.input.charCodeAt(t.position+1),i=t.line,(w===63||w===58)&&wt(r))w===63?(h&&(vn(t,d,f,m,g,null,l,s,c),m=g=_=null),y=!0,h=!0,a=!0):h?(h=!1,a=!0):Ie(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,w=r;else{if(l=t.line,s=t.lineStart,c=t.position,!Un(t,o,zs,!1,!0))break;if(t.line===i){for(w=t.input.charCodeAt(t.position);Pn(w);)w=t.input.charCodeAt(++t.position);if(w===58)w=t.input.charCodeAt(++t.position),wt(w)||Ie(t,"a whitespace character is expected after the key-value separator within a block mapping"),h&&(vn(t,d,f,m,g,null,l,s,c),m=g=_=null),y=!0,h=!1,a=!1,m=t.tag,g=t.result;else if(y)Ie(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=u,t.anchor=p,!0}else if(y)Ie(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=u,t.anchor=p,!0}if((t.line===i||t.lineIndent>n)&&(h&&(l=t.line,s=t.lineStart,c=t.position),Un(t,n,ar,!0,a)&&(h?g=t.result:_=t.result),h||(vn(t,d,f,m,g,_,l,s,c),m=g=_=null),nt(t,!0,-1),w=t.input.charCodeAt(t.position)),(t.line===i||t.lineIndent>n)&&w!==0)Ie(t,"bad indentation of a mapping entry");else if(t.lineIndent<n)break}return h&&vn(t,d,f,m,g,null,l,s,c),y&&(t.tag=u,t.anchor=p,t.kind="mapping",t.result=d),y}function _w(t){var n,o=!1,r=!1,a,i,l;if(l=t.input.charCodeAt(t.position),l!==33)return!1;if(t.tag!==null&&Ie(t,"duplication of a tag property"),l=t.input.charCodeAt(++t.position),l===60?(o=!0,l=t.input.charCodeAt(++t.position)):l===33?(r=!0,a="!!",l=t.input.charCodeAt(++t.position)):a="!",n=t.position,o){do l=t.input.charCodeAt(++t.position);while(l!==0&&l!==62);t.position<t.length?(i=t.input.slice(n,t.position),l=t.input.charCodeAt(++t.position)):Ie(t,"unexpected end of the stream within a verbatim tag")}else{for(;l!==0&&!wt(l);)l===33&&(r?Ie(t,"tag suffix cannot contain exclamation marks"):(a=t.input.slice(n-1,t.position+1),Ys.test(a)||Ie(t,"named tag handle cannot contain such characters"),r=!0,n=t.position+1)),l=t.input.charCodeAt(++t.position);i=t.input.slice(n,t.position),iw.test(i)&&Ie(t,"tag suffix cannot contain flow indicator characters")}i&&!Js.test(i)&&Ie(t,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch{Ie(t,"tag name is malformed: "+i)}return o?t.tag=i:nn.call(t.tagMap,a)?t.tag=t.tagMap[a]+i:a==="!"?t.tag="!"+i:a==="!!"?t.tag="tag:yaml.org,2002:"+i:Ie(t,'undeclared tag handle "'+a+'"'),!0}function bw(t){var n,o;if(o=t.input.charCodeAt(t.position),o!==38)return!1;for(t.anchor!==null&&Ie(t,"duplication of an anchor property"),o=t.input.charCodeAt(++t.position),n=t.position;o!==0&&!wt(o)&&!Mn(o);)o=t.input.charCodeAt(++t.position);return t.position===n&&Ie(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(n,t.position),!0}function kw(t){var n,o,r;if(r=t.input.charCodeAt(t.position),r!==42)return!1;for(r=t.input.charCodeAt(++t.position),n=t.position;r!==0&&!wt(r)&&!Mn(r);)r=t.input.charCodeAt(++t.position);return t.position===n&&Ie(t,"name of an alias node must contain at least one character"),o=t.input.slice(n,t.position),nn.call(t.anchorMap,o)||Ie(t,'unidentified alias "'+o+'"'),t.result=t.anchorMap[o],nt(t,!0,-1),!0}function Un(t,n,o,r,a){var i,l,s,c=1,u=!1,p=!1,d,f,m,g,_,h;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,i=l=s=ar===o||Hs===o,r&&nt(t,!0,-1)&&(u=!0,t.lineIndent>n?c=1:t.lineIndent===n?c=0:t.lineIndent<n&&(c=-1)),c===1)for(;_w(t)||bw(t);)nt(t,!0,-1)?(u=!0,s=i,t.lineIndent>n?c=1:t.lineIndent===n?c=0:t.lineIndent<n&&(c=-1)):s=!1;if(s&&(s=u||a),(c===1||ar===o)&&(rr===o||zs===o?_=n:_=n+1,h=t.position-t.lineStart,c===1?s&&(ac(t,h)||yw(t,h,_))||gw(t,_)?p=!0:(l&&hw(t,_)||pw(t,_)||mw(t,_)?p=!0:kw(t)?(p=!0,(t.tag!==null||t.anchor!==null)&&Ie(t,"alias node should not have any properties")):fw(t,_,rr===o)&&(p=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):c===0&&(p=s&&ac(t,h))),t.tag===null)t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);else if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&Ie(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),d=0,f=t.implicitTypes.length;d<f;d+=1)if(g=t.implicitTypes[d],g.resolve(t.result)){t.result=g.construct(t.result),t.tag=g.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else if(t.tag!=="!"){if(nn.call(t.typeMap[t.kind||"fallback"],t.tag))g=t.typeMap[t.kind||"fallback"][t.tag];else for(g=null,m=t.typeMap.multi[t.kind||"fallback"],d=0,f=m.length;d<f;d+=1)if(t.tag.slice(0,m[d].tag.length)===m[d].tag){g=m[d];break}g||Ie(t,"unknown tag !<"+t.tag+">"),t.result!==null&&g.kind!==t.kind&&Ie(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Ie(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||p}function ww(t){var n=t.position,o,r,a,i=!1,l;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(l=t.input.charCodeAt(t.position))!==0&&(nt(t,!0,-1),l=t.input.charCodeAt(t.position),!(t.lineIndent>0||l!==37));){for(i=!0,l=t.input.charCodeAt(++t.position),o=t.position;l!==0&&!wt(l);)l=t.input.charCodeAt(++t.position);for(r=t.input.slice(o,t.position),a=[],r.length<1&&Ie(t,"directive name must not be less than one character in length");l!==0;){for(;Pn(l);)l=t.input.charCodeAt(++t.position);if(l===35){do l=t.input.charCodeAt(++t.position);while(l!==0&&!Dt(l));break}if(Dt(l))break;for(o=t.position;l!==0&&!wt(l);)l=t.input.charCodeAt(++t.position);a.push(t.input.slice(o,t.position))}l!==0&&Pa(t),nn.call(oc,r)?oc[r](t,r,a):ir(t,'unknown document directive "'+r+'"')}if(nt(t,!0,-1),t.lineIndent===0&&t.input.charCodeAt(t.position)===45&&t.input.charCodeAt(t.position+1)===45&&t.input.charCodeAt(t.position+2)===45?(t.position+=3,nt(t,!0,-1)):i&&Ie(t,"directives end mark is expected"),Un(t,t.lineIndent-1,ar,!1,!0),nt(t,!0,-1),t.checkLineBreaks&&aw.test(t.input.slice(n,t.position))&&ir(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&lr(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,nt(t,!0,-1));return}if(t.position<t.length-1)Ie(t,"end of the stream or a document separator is expected");else return}function ic(t,n){t=String(t),n=n||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=`
33
+ `),t.charCodeAt(0)===65279&&(t=t.slice(1)));var o=new uw(t,n),r=t.indexOf("\0");for(r!==-1&&(o.position=r,Ie(o,"null byte is not allowed in input")),o.input+="\0";o.input.charCodeAt(o.position)===32;)o.lineIndent+=1,o.position+=1;for(;o.position<o.length-1;)ww(o);return o.documents}function Cw(t,n,o){n!==null&&typeof n=="object"&&typeof o>"u"&&(o=n,n=null);var r=ic(t,o);if(typeof n!="function")return r;for(var a=0,i=r.length;a<i;a+=1)n(r[a])}function Ew(t,n){var o=ic(t,n);if(o.length!==0){if(o.length===1)return o[0];throw new _t("expected a single document in the stream, but found more")}}var Nw=Cw,xw=Ew,lc={loadAll:Nw,load:xw},sc=Object.prototype.toString,cc=Object.prototype.hasOwnProperty,Ta=65279,Aw=9,yo=10,Sw=13,Pw=32,Iw=33,Tw=34,Oa=35,Ow=37,Vw=38,Bw=39,$w=42,dc=44,Rw=45,sr=58,Fw=61,Lw=62,Dw=63,Mw=64,uc=91,fc=93,jw=96,pc=123,vw=124,mc=125,gt={};gt[0]="\\0",gt[7]="\\a",gt[8]="\\b",gt[9]="\\t",gt[10]="\\n",gt[11]="\\v",gt[12]="\\f",gt[13]="\\r",gt[27]="\\e",gt[34]='\\"',gt[92]="\\\\",gt[133]="\\N",gt[160]="\\_",gt[8232]="\\L",gt[8233]="\\P";var Uw=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Kw=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function qw(t,n){var o,r,a,i,l,s,c;if(n===null)return{};for(o={},r=Object.keys(n),a=0,i=r.length;a<i;a+=1)l=r[a],s=String(n[l]),l.slice(0,2)==="!!"&&(l="tag:yaml.org,2002:"+l.slice(2)),c=t.compiledTypeMap.fallback[l],c&&cc.call(c.styleAliases,s)&&(s=c.styleAliases[s]),o[l]=s;return o}function Gw(t){var n,o,r;if(n=t.toString(16).toUpperCase(),t<=255)o="x",r=2;else if(t<=65535)o="u",r=4;else if(t<=4294967295)o="U",r=8;else throw new _t("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+o+it.repeat("0",r-n.length)+n}var zw=1,_o=2;function Hw(t){this.schema=t.schema||Aa,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=it.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=qw(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType=t.quotingType==='"'?_o:zw,this.forceQuotes=t.forceQuotes||!1,this.replacer=typeof t.replacer=="function"?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function gc(t,n){for(var o=it.repeat(" ",n),r=0,a=-1,i="",l,s=t.length;r<s;)a=t.indexOf(`
34
34
  `,r),a===-1?(l=t.slice(r),r=s):(l=t.slice(r,a+1),r=a+1),l.length&&l!==`
35
- `&&(i+=o),i+=l;return i}function Oa(t,n){return`
36
- `+it.repeat(" ",t.indent*n)}function Ww(t,n){var o,r,a;for(o=0,r=t.implicitTypes.length;o<r;o+=1)if(a=t.implicitTypes[o],a.resolve(n))return!0;return!1}function sr(t){return t===Pw||t===Aw}function _o(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==Ia||65536<=t&&t<=1114111}function hc(t){return _o(t)&&t!==Ia&&t!==Sw&&t!==ho}function yc(t,n,o){var r=hc(t),a=r&&!sr(t);return(o?r:r&&t!==dc&&t!==uc&&t!==fc&&t!==pc&&t!==mc)&&t!==Ta&&!(n===lr&&!a)||hc(n)&&!sr(n)&&t===Ta||n===lr&&a}function Yw(t){return _o(t)&&t!==Ia&&!sr(t)&&t!==Rw&&t!==Dw&&t!==lr&&t!==dc&&t!==uc&&t!==fc&&t!==pc&&t!==mc&&t!==Ta&&t!==Vw&&t!==$w&&t!==Iw&&t!==jw&&t!==Fw&&t!==Lw&&t!==Bw&&t!==Tw&&t!==Ow&&t!==Mw&&t!==vw}function Jw(t){return!sr(t)&&t!==lr}function bo(t,n){var o=t.charCodeAt(n),r;return o>=55296&&o<=56319&&n+1<t.length&&(r=t.charCodeAt(n+1),r>=56320&&r<=57343)?(o-55296)*1024+r-56320+65536:o}function _c(t){var n=/^\n* /;return n.test(t)}var bc=1,Va=2,kc=3,wc=4,Kn=5;function Xw(t,n,o,r,a,i,l,s){var c,u=0,p=null,d=!1,f=!1,m=r!==-1,g=-1,_=Yw(bo(t,0))&&Jw(bo(t,t.length-1));if(n||l)for(c=0;c<t.length;u>=65536?c+=2:c++){if(u=bo(t,c),!_o(u))return Kn;_=_&&yc(u,p,s),p=u}else{for(c=0;c<t.length;u>=65536?c+=2:c++){if(u=bo(t,c),u===ho)d=!0,m&&(f=f||c-g-1>r&&t[g+1]!==" ",g=c);else if(!_o(u))return Kn;_=_&&yc(u,p,s),p=u}f=f||m&&c-g-1>r&&t[g+1]!==" "}return!d&&!f?_&&!l&&!a(t)?bc:i===yo?Kn:Va:o>9&&_c(t)?Kn:l?i===yo?Kn:Va:f?wc:kc}function Zw(t,n,o,r,a){t.dump=(function(){if(n.length===0)return t.quotingType===yo?'""':"''";if(!t.noCompatMode&&(Uw.indexOf(n)!==-1||Kw.test(n)))return t.quotingType===yo?'"'+n+'"':"'"+n+"'";var i=t.indent*Math.max(1,o),l=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-i),s=r||t.flowLevel>-1&&o>=t.flowLevel;function c(u){return Ww(t,u)}switch(Xw(n,s,t.indent,l,c,t.quotingType,t.forceQuotes&&!r,a)){case bc:return n;case Va:return"'"+n.replace(/'/g,"''")+"'";case kc:return"|"+Cc(n,t.indent)+Ec(gc(n,i));case wc:return">"+Cc(n,t.indent)+Ec(gc(Qw(n,l),i));case Kn:return'"'+eC(n)+'"';default:throw new yt("impossible error: invalid scalar style")}})()}function Cc(t,n){var o=_c(t)?String(n):"",r=t[t.length-1]===`
35
+ `&&(i+=o),i+=l;return i}function Va(t,n){return`
36
+ `+it.repeat(" ",t.indent*n)}function Ww(t,n){var o,r,a;for(o=0,r=t.implicitTypes.length;o<r;o+=1)if(a=t.implicitTypes[o],a.resolve(n))return!0;return!1}function cr(t){return t===Pw||t===Aw}function bo(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==Ta||65536<=t&&t<=1114111}function hc(t){return bo(t)&&t!==Ta&&t!==Sw&&t!==yo}function yc(t,n,o){var r=hc(t),a=r&&!cr(t);return(o?r:r&&t!==dc&&t!==uc&&t!==fc&&t!==pc&&t!==mc)&&t!==Oa&&!(n===sr&&!a)||hc(n)&&!cr(n)&&t===Oa||n===sr&&a}function Yw(t){return bo(t)&&t!==Ta&&!cr(t)&&t!==Rw&&t!==Dw&&t!==sr&&t!==dc&&t!==uc&&t!==fc&&t!==pc&&t!==mc&&t!==Oa&&t!==Vw&&t!==$w&&t!==Iw&&t!==vw&&t!==Fw&&t!==Lw&&t!==Bw&&t!==Tw&&t!==Ow&&t!==Mw&&t!==jw}function Jw(t){return!cr(t)&&t!==sr}function ko(t,n){var o=t.charCodeAt(n),r;return o>=55296&&o<=56319&&n+1<t.length&&(r=t.charCodeAt(n+1),r>=56320&&r<=57343)?(o-55296)*1024+r-56320+65536:o}function _c(t){var n=/^\n* /;return n.test(t)}var bc=1,Ba=2,kc=3,wc=4,Kn=5;function Xw(t,n,o,r,a,i,l,s){var c,u=0,p=null,d=!1,f=!1,m=r!==-1,g=-1,_=Yw(ko(t,0))&&Jw(ko(t,t.length-1));if(n||l)for(c=0;c<t.length;u>=65536?c+=2:c++){if(u=ko(t,c),!bo(u))return Kn;_=_&&yc(u,p,s),p=u}else{for(c=0;c<t.length;u>=65536?c+=2:c++){if(u=ko(t,c),u===yo)d=!0,m&&(f=f||c-g-1>r&&t[g+1]!==" ",g=c);else if(!bo(u))return Kn;_=_&&yc(u,p,s),p=u}f=f||m&&c-g-1>r&&t[g+1]!==" "}return!d&&!f?_&&!l&&!a(t)?bc:i===_o?Kn:Ba:o>9&&_c(t)?Kn:l?i===_o?Kn:Ba:f?wc:kc}function Zw(t,n,o,r,a){t.dump=(function(){if(n.length===0)return t.quotingType===_o?'""':"''";if(!t.noCompatMode&&(Uw.indexOf(n)!==-1||Kw.test(n)))return t.quotingType===_o?'"'+n+'"':"'"+n+"'";var i=t.indent*Math.max(1,o),l=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-i),s=r||t.flowLevel>-1&&o>=t.flowLevel;function c(u){return Ww(t,u)}switch(Xw(n,s,t.indent,l,c,t.quotingType,t.forceQuotes&&!r,a)){case bc:return n;case Ba:return"'"+n.replace(/'/g,"''")+"'";case kc:return"|"+Cc(n,t.indent)+Ec(gc(n,i));case wc:return">"+Cc(n,t.indent)+Ec(gc(Qw(n,l),i));case Kn:return'"'+eC(n)+'"';default:throw new _t("impossible error: invalid scalar style")}})()}function Cc(t,n){var o=_c(t)?String(n):"",r=t[t.length-1]===`
37
37
  `,a=r&&(t[t.length-2]===`
38
38
  `||t===`
39
39
  `),i=a?"+":r?"":"-";return o+i+`
@@ -44,8 +44,8 @@ ${N}`)}if(E.has(b))return;E.add(b),C.push(b);const k=y.dependencies[b];if(k){con
44
44
  `:"")+Nc(c,n),a=i}return r}function Nc(t,n){if(t===""||t[0]===" ")return t;for(var o=/ [^ ]/g,r,a=0,i,l=0,s=0,c="";r=o.exec(t);)s=r.index,s-a>n&&(i=l>a?l:s,c+=`
45
45
  `+t.slice(a,i),a=i+1),l=s;return c+=`
46
46
  `,t.length-a>n&&l>a?c+=t.slice(a,l)+`
47
- `+t.slice(l+1):c+=t.slice(a),c.slice(1)}function eC(t){for(var n="",o=0,r,a=0;a<t.length;o>=65536?a+=2:a++)o=bo(t,a),r=mt[o],!r&&_o(o)?(n+=t[a],o>=65536&&(n+=t[a+1])):n+=r||Gw(o);return n}function tC(t,n,o){var r="",a=t.tag,i,l,s;for(i=0,l=o.length;i<l;i+=1)s=o[i],t.replacer&&(s=t.replacer.call(o,String(i),s)),(qt(t,n,s,!1,!1)||typeof s>"u"&&qt(t,n,null,!1,!1))&&(r!==""&&(r+=","+(t.condenseFlow?"":" ")),r+=t.dump);t.tag=a,t.dump="["+r+"]"}function xc(t,n,o,r){var a="",i=t.tag,l,s,c;for(l=0,s=o.length;l<s;l+=1)c=o[l],t.replacer&&(c=t.replacer.call(o,String(l),c)),(qt(t,n+1,c,!0,!0,!1,!0)||typeof c>"u"&&qt(t,n+1,null,!0,!0,!1,!0))&&((!r||a!=="")&&(a+=Oa(t,n)),t.dump&&ho===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=i,t.dump=a||"[]"}function nC(t,n,o){var r="",a=t.tag,i=Object.keys(o),l,s,c,u,p;for(l=0,s=i.length;l<s;l+=1)p="",r!==""&&(p+=", "),t.condenseFlow&&(p+='"'),c=i[l],u=o[c],t.replacer&&(u=t.replacer.call(o,c,u)),qt(t,n,c,!1,!1)&&(t.dump.length>1024&&(p+="? "),p+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),qt(t,n,u,!1,!1)&&(p+=t.dump,r+=p));t.tag=a,t.dump="{"+r+"}"}function oC(t,n,o,r){var a="",i=t.tag,l=Object.keys(o),s,c,u,p,d,f;if(t.sortKeys===!0)l.sort();else if(typeof t.sortKeys=="function")l.sort(t.sortKeys);else if(t.sortKeys)throw new yt("sortKeys must be a boolean or a function");for(s=0,c=l.length;s<c;s+=1)f="",(!r||a!=="")&&(f+=Oa(t,n)),u=l[s],p=o[u],t.replacer&&(p=t.replacer.call(o,u,p)),qt(t,n+1,u,!0,!0,!0)&&(d=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,d&&(t.dump&&ho===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=Oa(t,n)),qt(t,n+1,p,!0,d)&&(t.dump&&ho===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,a+=f));t.tag=i,t.dump=a||"{}"}function Ac(t,n,o){var r,a,i,l,s,c;for(a=o?t.explicitTypes:t.implicitTypes,i=0,l=a.length;i<l;i+=1)if(s=a[i],(s.instanceOf||s.predicate)&&(!s.instanceOf||typeof n=="object"&&n instanceof s.instanceOf)&&(!s.predicate||s.predicate(n))){if(o?s.multi&&s.representName?t.tag=s.representName(n):t.tag=s.tag:t.tag="?",s.represent){if(c=t.styleMap[s.tag]||s.defaultStyle,sc.call(s.represent)==="[object Function]")r=s.represent(n,c);else if(cc.call(s.represent,c))r=s.represent[c](n,c);else throw new yt("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');t.dump=r}return!0}return!1}function qt(t,n,o,r,a,i,l){t.tag=null,t.dump=o,Ac(t,o,!1)||Ac(t,o,!0);var s=sc.call(t.dump),c=r,u;r&&(r=t.flowLevel<0||t.flowLevel>n);var p=s==="[object Object]"||s==="[object Array]",d,f;if(p&&(d=t.duplicates.indexOf(o),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&n>0)&&(a=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(p&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),s==="[object Object]")r&&Object.keys(t.dump).length!==0?(oC(t,n,t.dump,a),f&&(t.dump="&ref_"+d+t.dump)):(nC(t,n,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(s==="[object Array]")r&&t.dump.length!==0?(t.noArrayIndent&&!l&&n>0?xc(t,n-1,t.dump,a):xc(t,n,t.dump,a),f&&(t.dump="&ref_"+d+t.dump)):(tC(t,n,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(s==="[object String]")t.tag!=="?"&&Zw(t,t.dump,n,i,c);else{if(s==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new yt("unacceptable kind of an object to dump "+s)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}function rC(t,n){var o=[],r=[],a,i;for(Ba(t,o,r),a=0,i=r.length;a<i;a+=1)n.duplicates.push(o[r[a]]);n.usedDuplicates=new Array(i)}function Ba(t,n,o){var r,a,i;if(t!==null&&typeof t=="object")if(a=n.indexOf(t),a!==-1)o.indexOf(a)===-1&&o.push(a);else if(n.push(t),Array.isArray(t))for(a=0,i=t.length;a<i;a+=1)Ba(t[a],n,o);else for(r=Object.keys(t),a=0,i=r.length;a<i;a+=1)Ba(t[r[a]],n,o)}function aC(t,n){n=n||{};var o=new Hw(n);o.noRefs||rC(t,o);var r=t;return o.replacer&&(r=o.replacer.call({"":r},"",r)),qt(o,0,r,!0,!0)?o.dump+`
48
- `:""}var iC=aC,lC={dump:iC};function $a(t,n){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}var sC=ut,cC=Ss,dC=Os,on=Fs,uC=Ls,fC=xa,pC=lc.load,mC=lc.loadAll,gC=lC.dump,hC=yt,yC={binary:Us,float:Rs,map:Ts,null:Vs,pairs:qs,set:Gs,timestamp:vs,bool:Bs,int:$s,merge:js,omap:Ks,seq:Is,str:Ps},_C=$a("safeLoad","load"),bC=$a("safeLoadAll","loadAll"),kC=$a("safeDump","dump"),Dt={Type:sC,Schema:cC,FAILSAFE_SCHEMA:dC,JSON_SCHEMA:on,CORE_SCHEMA:uC,DEFAULT_SCHEMA:fC,load:pC,loadAll:mC,dump:gC,YAMLException:hC,types:yC,safeLoad:_C,safeLoadAll:bC,safeDump:kC};const wC={class:"plugin-code-editor","data-testid":"plugin-code-editor"},CC="YAML Syntax",EC=be(e.defineComponent({__name:"CodeEditor",emits:["change","sourceChange","error"],setup(t,{emit:n}){const{formData:o,setValue:r}=Ue(),a=n,i=e.shallowRef(null);function l(){return Dt.dump(en(e.toRaw(o),["__ui_data"]),{schema:on,noArrayIndent:!0})}const s=e.shallowRef(l()),c={scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep",editContext:!1};function u(d){const f=d.getModel();f&&(i.value=d,d.onDidChangeModelContent(()=>{try{const m=Dt.load(d.getValue()||"",{schema:on,json:!0});if(a("sourceChange",d.getValue()),typeof m!="object"||m===null)return;Io.editor.setModelMarkers(f,CC,[]),r(m),a("change",m)}catch(m){const g=m instanceof Error?m.message:String(m);a("error",g)}}),p())}function p(){const d=i.value,f=d==null?void 0:d.getModel();!d||!f||(d.setPosition(f.getFullModelRange().getEndPosition()),d.focus())}return(d,f)=>(e.openBlock(),e.createElementBlock("div",wC,[e.createVNode(e.unref(xi.MonacoEditor),{ref:"editor",modelValue:s.value,"onUpdate:modelValue":f[0]||(f[0]=m=>s.value=m),class:"editor",language:"yaml",options:c,theme:"light",onReady:u},null,8,["modelValue"])]))}}),[["__scopeId","data-v-be19e7de"]]),NC={class:"radio-group"},xC={key:0,class:"scope-detail"},cr=be(e.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},editorMode:{default:"form"},formConfig:{},renderRules:{},pluginName:{}},setup(t){const n=["config","partials","__ui_data","enabled","protocols","instance_name","tags","consumer","consumer_group","route","service"],o=e.useId(),{t:r}=Ze.createI18n("en-us",et),a=e.createPropsRestProxy(t,["editorMode"]),i=e.inject(nr),l=e.useSlots(),s=e.computed(()=>a.formConfig??{hasValue:S=>!!S&&Object.keys(S).length>0,prepareFormData:S=>a.isEditing?S:{...S,...V()}}),c=e.computed(()=>{var S;return(S=d.value)!=null&&S.disabled?{class:"disabled-scope",maxWidth:"300",text:r("plugins.form.scoping.disable_global_radio")}:{class:"scope"}}),u=e.computed(()=>{var S,B;return(S=a.formSchema)!=null&&S.groups?a.formSchema.groups.reduce((U,j)=>{var M,L;const z=j.fields,K=(L=(M=j.collapsible)==null?void 0:M.nestedCollapsible)!=null&&L.fields?z.concat(j.collapsible.nestedCollapsible.fields):z;return U.concat(K)},[]):((B=a.formSchema)==null?void 0:B.fields)||[]}),p=e.computed(()=>({fields:u.value.filter(S=>S.model==="enabled").map(S=>({...S,styleClasses:"ff-enabled-field",label:r("plugins.form.fields.plugin_status.label"),textOn:r("plugins.form.fields.plugin_status.text_on"),textOff:r("plugins.form.fields.plugin_status.text_off")}))})),d=e.computed(()=>u.value.find(S=>S.type==="selectionGroup")),f=e.computed(()=>{var S;return(((S=d.value)==null?void 0:S.fields)||[]).map(({label:B,description:U})=>({label:B,description:U}))}),m=e.computed(()=>{var S,B;return(B=(S=d.value)==null?void 0:S.fields)==null?void 0:B[1]}),g=e.computed(()=>{const S=["instance_name","protocols","tags"];return{fields:u.value.filter(B=>S.includes(B.model))}}),_=["config"],y=e.computed(()=>{var U;const S={type:"record",fields:a.schema.fields.filter(j=>_.includes(Object.keys(j)[0]))};return[...p.value.fields,...((U=m.value)==null?void 0:U.fields)??[],...g.value.fields].forEach(j=>{if(j.type==="AutoSuggest")S.fields.push({[j.model.split("-")[0]]:{type:"foreign",reference:j.entity,description:j.help}});else if(j.model==="enabled")S.fields.push({[j.model]:{type:"boolean",default:!0}});else if(j.model==="instance_name")S.fields.push({[j.model]:{type:"string",description:j.help}});else if(j.model==="protocols")S.fields.push({[j.model]:{type:"set",elements:{type:"string",one_of:j.values.map(z=>z.value)},default:[...j.default],required:j.required,description:j.help,help:j.default?r("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:j.default.join(", ")}):r("plugins.form.fields.protocols.placeholder")}});else if(j.model==="tags")S.fields.push({[j.model]:{type:"set",elements:{type:"string"},description:j.help,default:j.default||[]}});else throw new Error(`Unsupported VFG field type '${j.type}' for model '${j.model}'`)}),S}),h=e.computed(()=>ia(a.model,n)),w=e.computed(()=>{var S;return((S=m.value)==null?void 0:S.fields.map(B=>B.model))??[]}),E=e.computed(()=>w.value.map(S=>S.split("-")[0])),C=e.ref(a.isEditing?ia(h.value,E.value):V()),b=e.ref(Object.values(C.value).some(x)),k=e.useTemplateRef("form");let N=!1;function I(){if(!k.value)return;const{getRawValue:S,setValue:B}=k.value,j={...S()};b.value?E.value.forEach(z=>{j[z]=C.value[z]??null}):E.value.forEach(z=>{j[z]=null}),N=!0,B(j),e.nextTick(()=>{N=!1})}function $(S){if(N||P(S),t.editorMode==="code"){const B=E.value.some(U=>x(S[U]));B!==b.value&&(b.value=B)}a.onFormChange(S,n)}function P(S){E.value.forEach(B=>{const U=S[B];Ho(U,"id")&&U.id!=null?C.value[B]=U:C.value[B]=null})}function x(S){return Ho(S,"id")&&S.id!=null}function V(){const S={};return w.value.forEach(B=>{if(a.formModel[B]){const U=B.split("-")[0];if(!U)return;S[U]={id:a.formModel[B]}}}),S}return Xo(y,o),(S,B)=>(e.openBlock(),e.createBlock(dt,{ref:"form",class:"ff-standard-layout",config:s.value,data:h.value,"data-instance-id":e.unref(o),"data-plugin-name":t.pluginName,"data-testid":"ff-standard-layout-form","render-rules":t.renderRules,schema:y.value,tag:"div",onChange:$},{[e.unref(En)]:e.withCtx(()=>[e.createVNode(mo,{match:({path:U})=>{var j,z;return U===((z=(j=e.unref(i))==null?void 0:j.redisPath)==null?void 0:z.value)}},{default:e.withCtx(()=>[e.createVNode(Cs)]),_:1},8,["match"]),e.renderSlot(S.$slots,"field-renderers",{},void 0,!0)]),default:e.withCtx(()=>[t.editorMode==="form"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(oe.EntityFormBlock),{"data-testid":"form-section-plugin-scope",description:t.generalInfoDescription??e.unref(r)("plugins.form.sections.plugin_scope.description"),step:1,title:t.generalInfoTitle??e.unref(r)("plugins.form.sections.plugin_scope.title")},e.createSlots({default:e.withCtx(()=>{var U;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((U=d.value)!=null&&U.disabled?e.unref(Oe.KTooltip):"div"),e.normalizeProps(e.guardReactiveProps(c.value)),{default:e.withCtx(()=>{var j,z;return[e.createElementVNode("div",NC,[e.createVNode(e.unref(Oe.KRadio),e.mergeProps({modelValue:b.value,"onUpdate:modelValue":B[0]||(B[0]=K=>b.value=K),card:"","card-orientation":"horizontal"},f.value[0],{disabled:(j=d.value)==null?void 0:j.disabled,"selected-value":!1,"onUpdate:modelValue":I}),null,16,["modelValue","disabled"]),f.value[1]?(e.openBlock(),e.createBlock(e.unref(Oe.KRadio),e.mergeProps({key:0,modelValue:b.value,"onUpdate:modelValue":B[1]||(B[1]=K=>b.value=K),card:"","card-orientation":"horizontal"},f.value[1],{disabled:(z=d.value)==null?void 0:z.disabled,"selected-value":!0,"onUpdate:modelValue":I}),null,16,["modelValue","disabled"])):e.createCommentVNode("",!0)])]}),_:1},16)),m.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",xC,[e.createVNode(Es,{"form-options":t.formOptions,"vfg-schema":m.value},null,8,["form-options","vfg-schema"])],512)),[[e.vShow,b.value]]):e.createCommentVNode("",!0)]}),_:2},[l["general-info-title"]?{name:"title",fn:e.withCtx(()=>[e.renderSlot(S.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,l["general-info-description"]?{name:"description",fn:e.withCtx(()=>[e.renderSlot(S.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,l["general-info-extra"]?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(S.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),e.createVNode(e.unref(oe.EntityFormBlock),{"data-testid":"form-section-plugin-config",description:t.pluginConfigDescription??e.unref(r)("plugins.form.sections.plugin_config.description"),step:2,title:t.pluginConfigTitle??e.unref(r)("plugins.form.sections.plugin_config.title")},e.createSlots({default:e.withCtx(()=>[e.renderSlot(S.$slots,"default",{},void 0,!0)]),_:2},[l["plugin-config-title"]?{name:"title",fn:e.withCtx(()=>[e.renderSlot(S.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,l["plugin-config-description"]?{name:"description",fn:e.withCtx(()=>[e.renderSlot(S.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,l["plugin-config-extra"]?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(S.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),e.createVNode(e.unref(oe.EntityFormBlock),{"data-testid":"form-section-general-info",description:e.unref(r)("plugins.form.sections.plugin_general_info.description"),step:3,title:e.unref(r)("plugins.form.sections.general_info.title")},{default:e.withCtx(()=>[e.createVNode(Es,{"form-options":t.formOptions,"vfg-schema":p.value},null,8,["form-options","vfg-schema"]),y.value.fields.find(U=>Object.keys(U)[0]==="instance_name")?(e.openBlock(),e.createBlock(pt,{key:0,label:e.unref(r)("plugins.form.fields.instance_name.label"),name:"instance_name",placeholder:e.unref(r)("plugins.form.fields.instance_name.placeholder")},null,8,["label","placeholder"])):e.createCommentVNode("",!0),y.value.fields.find(U=>Object.keys(U)[0]==="tags")?(e.openBlock(),e.createBlock(er,{key:1,help:e.unref(r)("plugins.form.fields.tags.help"),name:"tags",placeholder:e.unref(r)("plugins.form.fields.tags.placeholder")},null,8,["help","placeholder"])):e.createCommentVNode("",!0),y.value.fields.find(U=>Object.keys(U)[0]==="protocols")?(e.openBlock(),e.createBlock(ct,{key:2,name:"protocols"})):e.createCommentVNode("",!0)]),_:1},8,["description","title"])],64)):e.createCommentVNode("",!0),t.editorMode==="code"?(e.openBlock(),e.createBlock(e.unref(oe.EntityFormBlock),{key:1,description:e.unref(r)("plugins.form.sections.code_mode.description"),title:e.unref(r)("plugins.form.sections.code_mode.title")},{default:e.withCtx(()=>[e.renderSlot(S.$slots,"code-editor",{},()=>[e.createVNode(EC)],!0)]),_:3},8,["description","title"])):e.createCommentVNode("",!0)]),_:2},1032,["config","data","data-instance-id","data-plugin-name","render-rules","schema"]))}}),[["__scopeId","data-v-b789ef55"]]),dr={authenticate:`nodes:
47
+ `+t.slice(l+1):c+=t.slice(a),c.slice(1)}function eC(t){for(var n="",o=0,r,a=0;a<t.length;o>=65536?a+=2:a++)o=ko(t,a),r=gt[o],!r&&bo(o)?(n+=t[a],o>=65536&&(n+=t[a+1])):n+=r||Gw(o);return n}function tC(t,n,o){var r="",a=t.tag,i,l,s;for(i=0,l=o.length;i<l;i+=1)s=o[i],t.replacer&&(s=t.replacer.call(o,String(i),s)),(qt(t,n,s,!1,!1)||typeof s>"u"&&qt(t,n,null,!1,!1))&&(r!==""&&(r+=","+(t.condenseFlow?"":" ")),r+=t.dump);t.tag=a,t.dump="["+r+"]"}function xc(t,n,o,r){var a="",i=t.tag,l,s,c;for(l=0,s=o.length;l<s;l+=1)c=o[l],t.replacer&&(c=t.replacer.call(o,String(l),c)),(qt(t,n+1,c,!0,!0,!1,!0)||typeof c>"u"&&qt(t,n+1,null,!0,!0,!1,!0))&&((!r||a!=="")&&(a+=Va(t,n)),t.dump&&yo===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=i,t.dump=a||"[]"}function nC(t,n,o){var r="",a=t.tag,i=Object.keys(o),l,s,c,u,p;for(l=0,s=i.length;l<s;l+=1)p="",r!==""&&(p+=", "),t.condenseFlow&&(p+='"'),c=i[l],u=o[c],t.replacer&&(u=t.replacer.call(o,c,u)),qt(t,n,c,!1,!1)&&(t.dump.length>1024&&(p+="? "),p+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),qt(t,n,u,!1,!1)&&(p+=t.dump,r+=p));t.tag=a,t.dump="{"+r+"}"}function oC(t,n,o,r){var a="",i=t.tag,l=Object.keys(o),s,c,u,p,d,f;if(t.sortKeys===!0)l.sort();else if(typeof t.sortKeys=="function")l.sort(t.sortKeys);else if(t.sortKeys)throw new _t("sortKeys must be a boolean or a function");for(s=0,c=l.length;s<c;s+=1)f="",(!r||a!=="")&&(f+=Va(t,n)),u=l[s],p=o[u],t.replacer&&(p=t.replacer.call(o,u,p)),qt(t,n+1,u,!0,!0,!0)&&(d=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,d&&(t.dump&&yo===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,d&&(f+=Va(t,n)),qt(t,n+1,p,!0,d)&&(t.dump&&yo===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,a+=f));t.tag=i,t.dump=a||"{}"}function Ac(t,n,o){var r,a,i,l,s,c;for(a=o?t.explicitTypes:t.implicitTypes,i=0,l=a.length;i<l;i+=1)if(s=a[i],(s.instanceOf||s.predicate)&&(!s.instanceOf||typeof n=="object"&&n instanceof s.instanceOf)&&(!s.predicate||s.predicate(n))){if(o?s.multi&&s.representName?t.tag=s.representName(n):t.tag=s.tag:t.tag="?",s.represent){if(c=t.styleMap[s.tag]||s.defaultStyle,sc.call(s.represent)==="[object Function]")r=s.represent(n,c);else if(cc.call(s.represent,c))r=s.represent[c](n,c);else throw new _t("!<"+s.tag+'> tag resolver accepts not "'+c+'" style');t.dump=r}return!0}return!1}function qt(t,n,o,r,a,i,l){t.tag=null,t.dump=o,Ac(t,o,!1)||Ac(t,o,!0);var s=sc.call(t.dump),c=r,u;r&&(r=t.flowLevel<0||t.flowLevel>n);var p=s==="[object Object]"||s==="[object Array]",d,f;if(p&&(d=t.duplicates.indexOf(o),f=d!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&n>0)&&(a=!1),f&&t.usedDuplicates[d])t.dump="*ref_"+d;else{if(p&&f&&!t.usedDuplicates[d]&&(t.usedDuplicates[d]=!0),s==="[object Object]")r&&Object.keys(t.dump).length!==0?(oC(t,n,t.dump,a),f&&(t.dump="&ref_"+d+t.dump)):(nC(t,n,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(s==="[object Array]")r&&t.dump.length!==0?(t.noArrayIndent&&!l&&n>0?xc(t,n-1,t.dump,a):xc(t,n,t.dump,a),f&&(t.dump="&ref_"+d+t.dump)):(tC(t,n,t.dump),f&&(t.dump="&ref_"+d+" "+t.dump));else if(s==="[object String]")t.tag!=="?"&&Zw(t,t.dump,n,i,c);else{if(s==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new _t("unacceptable kind of an object to dump "+s)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}function rC(t,n){var o=[],r=[],a,i;for($a(t,o,r),a=0,i=r.length;a<i;a+=1)n.duplicates.push(o[r[a]]);n.usedDuplicates=new Array(i)}function $a(t,n,o){var r,a,i;if(t!==null&&typeof t=="object")if(a=n.indexOf(t),a!==-1)o.indexOf(a)===-1&&o.push(a);else if(n.push(t),Array.isArray(t))for(a=0,i=t.length;a<i;a+=1)$a(t[a],n,o);else for(r=Object.keys(t),a=0,i=r.length;a<i;a+=1)$a(t[r[a]],n,o)}function aC(t,n){n=n||{};var o=new Hw(n);o.noRefs||rC(t,o);var r=t;return o.replacer&&(r=o.replacer.call({"":r},"",r)),qt(o,0,r,!0,!0)?o.dump+`
48
+ `:""}var iC=aC,lC={dump:iC};function Ra(t,n){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+n+" instead, which is now safe by default.")}}var sC=pt,cC=Ss,dC=Os,rn=Fs,uC=Ls,fC=Aa,pC=lc.load,mC=lc.loadAll,gC=lC.dump,hC=_t,yC={binary:Us,float:Rs,map:Ts,null:Vs,pairs:qs,set:Gs,timestamp:js,bool:Bs,int:$s,merge:vs,omap:Ks,seq:Is,str:Ps},_C=Ra("safeLoad","load"),bC=Ra("safeLoadAll","loadAll"),kC=Ra("safeDump","dump"),Mt={Type:sC,Schema:cC,FAILSAFE_SCHEMA:dC,JSON_SCHEMA:rn,CORE_SCHEMA:uC,DEFAULT_SCHEMA:fC,load:pC,loadAll:mC,dump:gC,YAMLException:hC,types:yC,safeLoad:_C,safeLoadAll:bC,safeDump:kC};const wC={class:"plugin-code-editor","data-testid":"plugin-code-editor"},CC="YAML Syntax",EC=ye(e.defineComponent({__name:"CodeEditor",emits:["change","sourceChange","error"],setup(t,{emit:n}){const{formData:o,setValue:r}=Ke(),a=n,i=e.shallowRef(null);function l(){return Mt.dump(tn(e.toRaw(o),["__ui_data"]),{schema:rn,noArrayIndent:!0})}const s=e.shallowRef(l()),c={scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep",editContext:!1};function u(d){const f=d.getModel();f&&(i.value=d,d.onDidChangeModelContent(()=>{try{const m=Mt.load(d.getValue()||"",{schema:rn,json:!0});if(a("sourceChange",d.getValue()),typeof m!="object"||m===null)return;To.editor.setModelMarkers(f,CC,[]),r(m),a("change",m)}catch(m){const g=m instanceof Error?m.message:String(m);a("error",g)}}),p())}function p(){const d=i.value,f=d==null?void 0:d.getModel();!d||!f||(d.setPosition(f.getFullModelRange().getEndPosition()),d.focus())}return(d,f)=>(e.openBlock(),e.createElementBlock("div",wC,[e.createVNode(e.unref(Ai.MonacoEditor),{ref:"editor",modelValue:s.value,"onUpdate:modelValue":f[0]||(f[0]=m=>s.value=m),class:"editor",language:"yaml",options:c,theme:"light",onReady:u},null,8,["modelValue"])]))}}),[["__scopeId","data-v-be19e7de"]]),NC={class:"radio-group"},xC={key:0,class:"scope-detail"},dr=ye(e.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},editorMode:{default:"form"},formConfig:{},renderRules:{},pluginName:{}},setup(t){const n=["config","partials","__ui_data","enabled","protocols","instance_name","condition","tags","consumer","consumer_group","route","service"],o=e.useId(),{t:r}=et.createI18n("en-us",tt),a=e.createPropsRestProxy(t,["editorMode"]),i=e.inject(or),l=e.useSlots(),s=e.computed(()=>a.formConfig??{hasValue:O=>!!O&&Object.keys(O).length>0,prepareFormData:O=>a.isEditing?O:{...O,...T()}}),c=e.computed(()=>{var O;return(O=d.value)!=null&&O.disabled?{class:"disabled-scope",maxWidth:"300",text:r("plugins.form.scoping.disable_global_radio")}:{class:"scope"}}),u=e.computed(()=>{var O,I;return(O=a.formSchema)!=null&&O.groups?a.formSchema.groups.reduce((q,v)=>{var D,j;const W=v.fields,U=(j=(D=v.collapsible)==null?void 0:D.nestedCollapsible)!=null&&j.fields?W.concat(v.collapsible.nestedCollapsible.fields):W;return q.concat(U)},[]):((I=a.formSchema)==null?void 0:I.fields)||[]}),p=e.computed(()=>({fields:u.value.filter(O=>O.model==="enabled").map(O=>({...O,styleClasses:"ff-enabled-field",label:r("plugins.form.fields.plugin_status.label"),textOn:r("plugins.form.fields.plugin_status.text_on"),textOff:r("plugins.form.fields.plugin_status.text_off")}))})),d=e.computed(()=>u.value.find(O=>O.type==="selectionGroup")),f=e.computed(()=>{var O;return(((O=d.value)==null?void 0:O.fields)||[]).map(({label:I,description:q})=>({label:I,description:q}))}),m=e.computed(()=>{var O,I;return(I=(O=d.value)==null?void 0:O.fields)==null?void 0:I[1]}),g=e.computed(()=>{const O=["instance_name","protocols","tags","condition"];return{fields:u.value.filter(I=>O.includes(I.model))}}),_=["config"],h=e.computed(()=>{var q;const O={type:"record",fields:a.schema.fields.filter(v=>_.includes(Object.keys(v)[0]))};return[...p.value.fields,...((q=m.value)==null?void 0:q.fields)??[],...g.value.fields].forEach(v=>{if(v.type==="AutoSuggest")O.fields.push({[v.model.split("-")[0]]:{type:"foreign",reference:v.entity,description:v.help}});else if(v.model==="enabled")O.fields.push({[v.model]:{type:"boolean",default:!0}});else if(v.model==="instance_name")O.fields.push({[v.model]:{type:"string",description:v.help}});else if(v.model==="condition")O.fields.push({[v.model]:{type:"string",description:v.help}});else if(v.model==="protocols")O.fields.push({[v.model]:{type:"set",elements:{type:"string",one_of:v.values.map(W=>W.value)},default:[...v.default],required:v.required,description:v.help,help:v.default?r("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:v.default.join(", ")}):r("plugins.form.fields.protocols.placeholder")}});else if(v.model==="tags")O.fields.push({[v.model]:{type:"set",elements:{type:"string"},description:v.help,default:v.default||[]}});else throw new Error(`Unsupported VFG field type '${v.type}' for model '${v.model}'`)}),O}),y=e.computed(()=>la(a.model,n)),w=e.computed(()=>{var O;return((O=m.value)==null?void 0:O.fields.map(I=>I.model))??[]}),E=e.computed(()=>w.value.map(O=>O.split("-")[0])),C=e.ref(a.isEditing?la(y.value,E.value):T()),b=e.ref(Object.values(C.value).some(A)),k=e.useTemplateRef("form");let N=!1;function S(){if(!k.value)return;const{getRawValue:O,setValue:I}=k.value,v={...O()};b.value?E.value.forEach(W=>{v[W]=C.value[W]??null}):E.value.forEach(W=>{v[W]=null}),N=!0,I(v),e.nextTick(()=>{N=!1})}function R(O){if(N||P(O),t.editorMode==="code"){const I=E.value.some(q=>A(O[q]));I!==b.value&&(b.value=I)}a.onFormChange(O,n)}function P(O){E.value.forEach(I=>{const q=O[I];Wo(q,"id")&&q.id!=null?C.value[I]=q:C.value[I]=null})}function A(O){return Wo(O,"id")&&O.id!=null}function T(){const O={};return w.value.forEach(I=>{if(a.formModel[I]){const q=I.split("-")[0];if(!q)return;O[q]={id:a.formModel[I]}}}),O}return Zo(h,o),(O,I)=>(e.openBlock(),e.createBlock(ft,{ref:"form",class:"ff-standard-layout",config:s.value,data:y.value,"data-instance-id":e.unref(o),"data-plugin-name":t.pluginName,"data-testid":"ff-standard-layout-form","render-rules":t.renderRules,schema:h.value,tag:"div",onChange:R},{[e.unref(Nn)]:e.withCtx(()=>[e.createVNode(go,{match:({path:q})=>{var v,W;return q===((W=(v=e.unref(i))==null?void 0:v.redisPath)==null?void 0:W.value)}},{default:e.withCtx(()=>[e.createVNode(Cs)]),_:1},8,["match"]),e.renderSlot(O.$slots,"field-renderers",{},void 0,!0)]),default:e.withCtx(()=>[t.editorMode==="form"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(ee.EntityFormBlock),{"data-testid":"form-section-plugin-scope",description:t.generalInfoDescription??e.unref(r)("plugins.form.sections.plugin_scope.description"),step:1,title:t.generalInfoTitle??e.unref(r)("plugins.form.sections.plugin_scope.title")},e.createSlots({default:e.withCtx(()=>{var q;return[(e.openBlock(),e.createBlock(e.resolveDynamicComponent((q=d.value)!=null&&q.disabled?e.unref(Ve.KTooltip):"div"),e.normalizeProps(e.guardReactiveProps(c.value)),{default:e.withCtx(()=>{var v,W;return[e.createElementVNode("div",NC,[e.createVNode(e.unref(Ve.KRadio),e.mergeProps({modelValue:b.value,"onUpdate:modelValue":I[0]||(I[0]=U=>b.value=U),card:"","card-orientation":"horizontal"},f.value[0],{disabled:(v=d.value)==null?void 0:v.disabled,"selected-value":!1,"onUpdate:modelValue":S}),null,16,["modelValue","disabled"]),f.value[1]?(e.openBlock(),e.createBlock(e.unref(Ve.KRadio),e.mergeProps({key:0,modelValue:b.value,"onUpdate:modelValue":I[1]||(I[1]=U=>b.value=U),card:"","card-orientation":"horizontal"},f.value[1],{disabled:(W=d.value)==null?void 0:W.disabled,"selected-value":!0,"onUpdate:modelValue":S}),null,16,["modelValue","disabled"])):e.createCommentVNode("",!0)])]}),_:1},16)),m.value?e.withDirectives((e.openBlock(),e.createElementBlock("div",xC,[e.createVNode(Es,{"form-options":t.formOptions,"vfg-schema":m.value},null,8,["form-options","vfg-schema"])],512)),[[e.vShow,b.value]]):e.createCommentVNode("",!0)]}),_:2},[l["general-info-title"]?{name:"title",fn:e.withCtx(()=>[e.renderSlot(O.$slots,"general-info-title",{},void 0,!0)]),key:"0"}:void 0,l["general-info-description"]?{name:"description",fn:e.withCtx(()=>[e.renderSlot(O.$slots,"general-info-description",{},void 0,!0)]),key:"1"}:void 0,l["general-info-extra"]?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(O.$slots,"general-info-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),e.createVNode(e.unref(ee.EntityFormBlock),{"data-testid":"form-section-plugin-config",description:t.pluginConfigDescription??e.unref(r)("plugins.form.sections.plugin_config.description"),step:2,title:t.pluginConfigTitle??e.unref(r)("plugins.form.sections.plugin_config.title")},e.createSlots({default:e.withCtx(()=>[e.renderSlot(O.$slots,"default",{},void 0,!0)]),_:2},[l["plugin-config-title"]?{name:"title",fn:e.withCtx(()=>[e.renderSlot(O.$slots,"plugin-config-title",{},void 0,!0)]),key:"0"}:void 0,l["plugin-config-description"]?{name:"description",fn:e.withCtx(()=>[e.renderSlot(O.$slots,"plugin-config-description",{},void 0,!0)]),key:"1"}:void 0,l["plugin-config-extra"]?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(O.$slots,"plugin-config-extra",{},void 0,!0)]),key:"2"}:void 0]),1032,["description","title"]),e.createVNode(e.unref(ee.EntityFormBlock),{"data-testid":"form-section-general-info",description:e.unref(r)("plugins.form.sections.plugin_general_info.description"),step:3,title:e.unref(r)("plugins.form.sections.general_info.title")},{default:e.withCtx(()=>[e.createVNode(Es,{"form-options":t.formOptions,"vfg-schema":p.value},null,8,["form-options","vfg-schema"]),h.value.fields.find(q=>Object.keys(q)[0]==="instance_name")?(e.openBlock(),e.createBlock(st,{key:0,label:e.unref(r)("plugins.form.fields.instance_name.label"),name:"instance_name",placeholder:e.unref(r)("plugins.form.fields.instance_name.placeholder")},null,8,["label","placeholder"])):e.createCommentVNode("",!0),h.value.fields.find(q=>Object.keys(q)[0]==="tags")?(e.openBlock(),e.createBlock(tr,{key:1,help:e.unref(r)("plugins.form.fields.tags.help"),name:"tags",placeholder:e.unref(r)("plugins.form.fields.tags.placeholder")},null,8,["help","placeholder"])):e.createCommentVNode("",!0),h.value.fields.find(q=>Object.keys(q)[0]==="protocols")?(e.openBlock(),e.createBlock(ut,{key:2,name:"protocols"})):e.createCommentVNode("",!0),h.value.fields.find(q=>Object.keys(q)[0]==="condition")?(e.openBlock(),e.createBlock(st,{key:3,name:"condition",placeholder:e.unref(r)("plugins.form.fields.condition.placeholder")},null,8,["placeholder"])):e.createCommentVNode("",!0)]),_:1},8,["description","title"])],64)):e.createCommentVNode("",!0),t.editorMode==="code"?(e.openBlock(),e.createBlock(e.unref(ee.EntityFormBlock),{key:1,description:e.unref(r)("plugins.form.sections.code_mode.description"),title:e.unref(r)("plugins.form.sections.code_mode.title")},{default:e.withCtx(()=>[e.renderSlot(O.$slots,"code-editor",{},()=>[e.createVNode(EC)],!0)]),_:3},8,["description","title"])):e.createCommentVNode("",!0)]),_:2},1032,["config","data","data-instance-id","data-plugin-name","render-rules","schema"]))}}),[["__scopeId","data-v-369cf4aa"]]),ur={authenticate:`nodes:
49
49
  - name: STATIC_INPUTS
50
50
  type: static
51
51
  values:
@@ -205,5 +205,5 @@ nodes:
205
205
  type: exit
206
206
  input: API
207
207
  status: 200
208
- `};function ko(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}const AC=[{name:"decK",extract(t){try{const n=Dt.load(t);return ko(n)&&Array.isArray(n.plugins)&&n.plugins.find(r=>ko(r)&&r.name==="datakit")||null}catch{return null}}},{name:"KIC",extract(t){let n=t;const o=t.match(/echo\s+(?:"([\s\S]*?)"|'([\s\S]*?)')\s*\|\s*kubectl/);o&&(n=o[1]||o[2]);try{const r=Dt.load(n);if(!ko(r))return null;const a=ko(r.metadata)?r.metadata:{},i=r.plugin||a.name;return(r.kind==="KongPlugin"||r.kind==="KongClusterPlugin")&&i==="datakit"&&r||null}catch{return null}}},{name:"cURL",extract(t){if(!t.trim().startsWith("curl"))return null;const n=t.match(/(?:--data|-d)\s+(?:'((?:[^'\\]|\\[\s\S])*)'|"((?:[^"\\]|\\[\s\S])*)")/);if(!n)return null;let o=n[1]||n[2];n[2]&&(o=o.replace(/\\(["\\])/g,"$1"));try{const r=JSON.parse(o);return ko(r)&&r.name==="datakit"&&r||null}catch{return null}}}],SC={class:"dk-code-editor"},PC={class:"examples-content"},Ra="YAML Syntax",IC=be(e.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean}},emits:["change","error"],setup(t,{expose:n,emit:o}){const{t:r}=Ze.createI18n("en-us",et),{formData:a,setValue:i}=Ue(),l=o,{getMessageFromError:s}=oe.useErrors(),c=e.shallowRef(null);function u(b){return Dt.dump(e.toRaw(b),{schema:on,noArrayIndent:!0})}function p(){return u(en(a,["__ui_data"]))}const d=e.shallowRef(p()),f={scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep",editContext:!1};function m(b){const k=b.getModel();k&&(c.value=b,b.onDidChangeModelContent(()=>{try{const N=Dt.load(b.getValue()||"",{schema:on,json:!0});if(typeof N!="object"||N===null)return;Io.editor.setModelMarkers(k,Ra,[]),i(N),l("change",N)}catch(N){const{message:I,mark:$}=N,{line:P,column:x}=$||{line:0,column:0},V=I.split(`
209
- `)[0],S=[{startLineNumber:P+1,startColumn:x+1,endLineNumber:P+1,endColumn:x+2,message:V,severity:Io.MarkerSeverity.Error,source:Ra}];Io.editor.setModelMarkers(k,Ra,S),l("error",V)}}),b.onDidPaste(N=>{const I=b.getModel();if(!I)return;const $=I.getValueInRange(N.range);for(const P of AC){const x=P.extract($);if(x){_.value=x,y.value=P.name,g.value=!0;return}}}),C())}const g=e.shallowRef(!1),_=e.shallowRef(null),y=e.shallowRef("");function h(){g.value=!1,_.value=null,y.value=""}function w(){_.value&&(d.value=u(_.value),h())}function E(b){const k=dr[b];try{const N=Dt.load(d.value,{schema:on,json:!0}),I=Dt.load(k,{schema:on,json:!0});if(typeof N=="object"&&N!==null&&Qt(N.config,I))return;const $=en({...a,config:{...I}},["__ui_data"]);d.value=u($)}catch(N){l("error",s(N))}C()}function C(){const b=c.value,k=b==null?void 0:b.getModel();!b||!k||(b.setPosition(k.getFullModelRange().getEndPosition()),b.focus())}return n({setExampleCode:E}),(b,k)=>(e.openBlock(),e.createElementBlock("div",SC,[e.createVNode(e.unref(Oe.KAlert),{class:"examples"},{icon:e.withCtx(()=>[e.createVNode(e.unref(fe.SparklesIcon))]),default:e.withCtx(()=>[e.createElementVNode("div",PC,[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.description_example"))+" ",1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(dr),(N,I)=>(e.openBlock(),e.createBlock(e.unref(Oe.KButton),{key:I,appearance:"secondary",size:"small",onClick:$=>E(I)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)(`plugins.free-form.datakit.examples.${I}`)),1)]),_:2},1032,["onClick"]))),128))])]),_:1}),e.createVNode(e.unref(xi.MonacoEditor),{ref:"editor",modelValue:d.value,"onUpdate:modelValue":k[0]||(k[0]=N=>d.value=N),appearance:"standalone",class:"editor",language:"yaml",options:f,theme:"light",onReady:m},null,8,["modelValue"]),e.createVNode(e.unref(Oe.KModal),{"action-button-text":e.unref(r)("plugins.free-form.datakit.detected_config_format_confirm"),title:e.unref(r)("plugins.free-form.datakit.detected_config_format_title"),visible:g.value,onCancel:h,onProceed:w},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.detected_config_format",{format:y.value})),1)]),_:1},8,["action-button-text","title","visible"])]))}}),[["__scopeId","data-v-46afee5d"]]),Sc=["request","service_request","service_response","response","vault"],qn=Sc,Pc=["call","jq","exit","property","static","branch","cache","xml_to_json","json_to_xml"],Ic=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],ft={call:{icon:fe.NetworkIcon,colors:{foreground:L_,background:A_}},jq:{icon:fe.CodeblockIcon,colors:{foreground:hs,background:E_}},exit:{icon:fe.GatewayIcon,colors:{foreground:ya,background:T_}},property:{icon:fe.StackIcon,colors:{foreground:R_,background:F_}},static:{icon:fe.DeployIcon,colors:{foreground:B_,background:$_}},branch:{icon:fe.ArrowSplitIcon,colors:{foreground:O_,background:C_}},cache:{icon:fe.CachedIcon,colors:{foreground:V_,background:"#fff0f7"}},xml_to_json:{icon:fe.DataObjectIcon,colors:{foreground:so,background:ha}},json_to_xml:{icon:fe.CodeIcon,colors:{foreground:so,background:ha}},vault:{icon:fe.KeyIcon},request:{icon:fe.CloudIcon},service_request:{icon:fe.CloudIcon},service_response:{icon:fe.CloudIcon},response:{icon:fe.CloudIcon}},{t:Fa}=Ze.createI18n("en-us",et);function wt(t){return Fa(`plugins.free-form.datakit.flow_editor.node_types.${t}.description`)}function Gt(t){return Fa(`plugins.free-form.datakit.flow_editor.node_types.${t}.summary`)}function TC(t){return Fa(`plugins.free-form.datakit.flow_editor.node_types.${t}.name`)}const La={call:{type:"call",summary:Gt("call"),description:wt("call"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}},...ft.call},jq:{type:"jq",summary:Gt("jq"),description:wt("jq"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...ft.jq},exit:{type:"exit",summary:Gt("exit"),description:wt("exit"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...ft.exit},property:{type:"property",summary:Gt("property"),description:wt("property"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...ft.property},static:{type:"static",summary:Gt("static"),description:wt("static"),io:{output:{fields:[],configurable:!0}},...ft.static},branch:{type:"branch",summary:Gt("branch"),description:wt("branch"),io:{input:{fields:[]},next:{branches:[{name:"then"},{name:"else"}]}},...ft.branch},cache:{type:"cache",summary:Gt("cache"),description:wt("cache"),io:{input:{fields:[{name:"data"},{name:"key"},{name:"ttl"}]},output:{fields:[{name:"data"},{name:"hit"},{name:"miss"},{name:"stored"}]}},...ft.cache},xml_to_json:{type:"xml_to_json",summary:Gt("xml_to_json"),description:wt("xml_to_json"),io:{input:{fields:[]},output:{fields:[]}},...ft.xml_to_json},json_to_xml:{type:"json_to_xml",summary:Gt("json_to_xml"),description:wt("json_to_xml"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...ft.json_to_xml}},ur={request:{type:"request",description:wt("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...ft.request},service_request:{type:"service_request",description:wt("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...ft.service_request},service_response:{type:"service_response",description:wt("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}},...ft.service_response},response:{type:"response",description:wt("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...ft.response},vault:{type:"vault",io:{output:{fields:[],configurable:!0}},...ft.vault,hidden:!0}},Da=Object.keys(ur),Ma=t=>Da.includes(t),OC=t=>[...Da,...Pc].includes(t),Ct=t=>Da.includes(t),va=t=>Ct(t.type),ja=t=>!!(t!=null&&t.startsWith("node:")),wo=t=>Object.prototype.hasOwnProperty.call(t,"ownerId");function zt(t){return bn(t)}function Ua(t,n){if(t.length!==n.length)return!1;if(t.length===0)return!0;const o=new Set(n);return t.every(r=>o.has(r))}function Gn(t){return`${t}:${Wo()}`}function fr(t){const[n,o]=t.split(".");return{nodeName:n,fieldName:o}}function Tc(t){const[n,o]=t.split(".");return{nodeId:n,fieldId:o}}function zn(t){return Ct(t)?ur[t]:La[t]}function Oc(t){var a,i,l,s;const n=zn(t),o=((i=(a=n.io)==null?void 0:a.input)==null?void 0:i.fields.map(({name:c})=>c))??[],r=((s=(l=n.io)==null?void 0:l.output)==null?void 0:s.fields.map(({name:c})=>c))??[];return{input:o,output:r}}function Co(t){var o,r,a;return((a=(r=(o=zn(t).io)==null?void 0:o.next)==null?void 0:r.branches)==null?void 0:a.map(({name:i})=>i))??[]}function Vc(t){return(t??[]).map(n=>({id:Gn("field"),name:n}))}function rn(t,n,o){if(o)return t.fields[n].find(r=>r.name===o)}function an(t,n,o){if(o)return t.fields[n].find(r=>r.id===o)}function Ka(t,n){return n?t.fields.output.some(o=>o.id===n):!0}function Bc(t,n){return n?t.fields.input.some(o=>o.id===n):!0}function VC(t){const n=["request","service_request","vault"].includes(t)?"request":"response",o=ur[t];return{name:t,phase:n,position:{x:0,y:0},fields:Oc(o.type),expanded:{},hidden:o.hidden}}function $c(t,n){const r=(typeof t=="string"&&OC(t)?t.toUpperCase():t).replace(/_\d+$/,"");for(let a=1;;a++){const i=`${r}_${a}`;if(!n.has(i))return i}}function qa(t,n){return`${t}:${n}`}function BC(t){const n=t.lastIndexOf(":");if(n===-1)throw new Error(`Invalid group ID format: ${t}`);const o=t.slice(0,n),r=t.slice(n+1);return{nodeId:o,branch:r}}function pr(t,n){return`${t}:${n}`}function Rc(t,n,o,r,a){return{id:qa(t,n),ownerId:t,branch:n,phase:o,memberIds:[...r],position:a!=null&&a.position?{...a.position}:void 0,dimensions:a!=null&&a.dimensions?{...a.dimensions}:void 0}}function $C(t){return t.map(({source:n,target:o})=>({source:n,target:o}))}function RC(t){const n=[];for(const o of t)for(const r of o.memberIds)n.push({source:o.ownerId,target:r});return n}function Fc(t,n){return[...$C(t),...RC(n)]}function mr(t,n){const o=new Map;for(const{source:r,target:a}of t)o.has(r)||o.set(r,[]),o.get(r).push(a),o.has(a)||o.set(a,[]);return n&&(o.has(n.source)||o.set(n.source,[]),o.get(n.source).push(n.target),o.has(n.target)||o.set(n.target,[])),o}function Ga(t){const n=new Set,o=new Set;function r(a){if(o.has(a))return!0;if(n.has(a))return!1;n.add(a),o.add(a);for(const i of t.get(a)??[])if(r(i))return!0;return o.delete(a),!1}for(const a of t.keys())if(r(a))return!0;return!1}function za(t,n){const o=t.config;if(!o)return[];const r=o[n];return Array.isArray(r)?r.filter(a=>typeof a=="string"&&ja(a)):[]}function FC({state:t,groupMapById:n,getNodeById:o,history:r}){const a=e.computed(()=>{const x=new Map;for(const V of t.value.groups)for(const S of V.memberIds)x.set(S,{ownerId:V.ownerId,branch:V.branch});return x}),i=e.computed(()=>{const x=new Map;for(const V of t.value.groups)for(const S of V.memberIds)x.set(S,V);return x}),l=e.computed(()=>{const x=new Map;for(const V of t.value.groups)x.has(V.ownerId)||x.set(V.ownerId,[]),x.get(V.ownerId).push(V);return x}),s=e.computed(()=>Fc(t.value.edges,t.value.groups)),c=e.computed(()=>mr(s.value));function u(x,V){return x?Co(x.type).includes(V):!1}function p(x,V){if(V===x.id)return!1;const S=o(V);return!(!S||Ct(S.type)||S.phase!==x.phase)}function d(x,V){const S=[],B=new Set;for(const U of V)B.has(U)||(B.add(U),p(x,U)&&S.push(U));return S}function f(x,V,S){const B=o(x);return u(B,V)?d(B,S):[]}function m(x,V,S){const B=qa(x.id,V),U=n.value.get(B);S.length>0?U?(U.phase!==x.phase&&(U.phase=x.phase),Ua(U.memberIds,S)||(U.position=void 0,U.dimensions=void 0,U.memberIds=[...S])):t.value.groups.push(Rc(x.id,V,x.phase,S)):U&&(t.value.groups=t.value.groups.filter(j=>j.id!==B))}function g(x,V,S,B={}){const U=o(x);if(!u(U,V))return!1;const j=d(U,S),z=za(U,V);if(Ua(z,j))return!1;const K=U.config??(U.config={});return j.length>0?K[V]=[...j]:(delete K[V],Object.keys(K).length===0&&delete U.config),m(U,V,j),(B.commit??!0)&&r.commit(B.tag),!0}function _(x,V={}){const S=t.value.groups.filter(B=>B.ownerId!==x);return S.length===t.value.groups.length?!1:(t.value.groups=S,(V.commit??!0)&&r.commit(V.tag),!0)}function y(x,V){const S=n.value.get(qa(x,V));if(S)return[...S.memberIds];const B=o(x);return B?za(B,V):[]}function h(x){return a.value.get(x)}function w(x){const V=[];let S=i.value.get(x);for(;S;)V.push(S.id),S=i.value.get(S.ownerId);return V}function E(x,V){const S=w(V);if(S.length===0)return!1;const B=new Set(w(x));return B.size===0?!0:S.some(U=>!B.has(U))}function C(x,V){if(x===V)return!0;const S=new Set,B=[V];for(;B.length>0;){const U=B.pop();if(S.has(U))continue;if(S.add(U),U===x)return!0;const j=c.value.get(U);if(j)for(const z of j)S.has(z)||B.push(z)}return!1}function b(x,V,S){const B=o(x);return!(!u(B,V)||!p(B,S)||C(x,S))}function k(x,V,S,B={}){const U=o(x);if(!U||!b(x,V,S))return!1;const j=za(U,V);if(j.includes(S))return!1;N(S,{commit:!1});const z=[...j,S];return g(x,V,z,{commit:!1})?((B.commit??!0)&&r.commit(B.tag),!0):!1}function N(x,V={}){const S=h(x);if(!S)return!1;const B=y(S.ownerId,S.branch),U=B.filter(j=>j!==x);return U.length===B.length?!1:g(S.ownerId,S.branch,U,V)}function I(x){let V=0;const S=new Set;let B=i.value.get(x);for(;B&&!S.has(B.id);)V+=1,S.add(B.id),B=i.value.get(B.ownerId);return V}function $(x){const V=n.value.get(x);return V?I(V.ownerId):0}function P(x){return x?n.value.has(x):!1}return{memberGroupMap:i,groupsByOwner:l,findMembership:h,getMembers:y,wouldCreateCycle:C,setMembers:g,prepareMembers:f,addMember:k,removeMember:N,clear:_,getNodeDepth:I,getGroupDepth:$,isGroupId:P,isEdgeEnteringGroup:E,canAddMember:b}}function LC(t,n){const{commit:o,undo:r,redo:a,canUndo:i,canRedo:l,clear:s,reset:c,undoStack:u,redoStack:p}=Ye.useManualRefHistory(t,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let d;function f(E){var C;(C=n==null?void 0:n.onHistoryChange)==null||C.call(n,E,t.value)}function m(E){if(!E){d=void 0,o(),f("commit");return}if(E!=="*"&&d!==E){d=E,o(),f("commit");return}o(),u.value.shift(),f("commit")}function g(){r(),d=void 0,f("undo")}function _(){a(),d=void 0,f("redo")}function y(){s(),d=void 0,f("clear")}function h(){c(),d=void 0,f("reset")}function w(){r(),p.value.shift(),d=void 0,f("revert")}return{canUndo:i,canRedo:l,commit:m,undo:g,redo:_,clear:y,reset:h,revert:w}}function DC(t){var n,o;return((o=(n=t.config)==null?void 0:n.resources)==null?void 0:o.vault)||{}}function MC(t){const{resources:n}=t.config||{};return n!=null&&n.vault?Object.keys(n.vault):[]}function vC(t){const n=Object.entries(t);if(n.length===0)return;const o={};for(const[r,a]of n)o[r]=a;return o}function Lc(t,n){var y,h,w,E,C,b,k;const o=((y=t.config)==null?void 0:y.nodes)??[],r=((h=t.__ui_data)==null?void 0:h.nodes)??[],a=((w=t.__ui_data)==null?void 0:w.groups)??[],i=new Map(r.map(N=>[N.name,N])),l=new Map(a.map(N=>[N.name,N])),s=[],c=[],u=new Map,p=[],d=[],f=new Map,m=N=>{const I=new Set,$=[...N];for(;$.length>0;){const P=$.shift();if(!I.has(P)&&(I.add(P),Ma(P)||(u.get(P).phase="request"),!!f.has(P)))for(const x of f.get(P))I.has(x)||$.push(x)}};let g=!1;for(const N of o){const I=i.get(N.name);!I&&!g&&(g=!0);const $=Mc({type:N.type,configNode:N,uiNode:I,pluginData:t});s.push($),u.set($.name,$)}for(const N of s){const I=Co(N.type);if(!I.length)continue;const $=N.config;if($)for(const P of I){const x=$[P];if(!Array.isArray(x)){l.has(pr(N.name,P))&&(g=!0);continue}const V=[];for(const S of x){if(typeof S!="string")continue;const B=u.get(S);B&&!Ct(B.type)&&V.push(B.id)}if(V.length){$[P]=V;const S=pr(N.name,P),B=l.get(S),U=B?{position:zt(B.position)}:void 0,j=Rc(N.id,P,N.phase,V,U);p.push(j),!B&&!g&&(g=!0)}else delete $[P],l.has(pr(N.name,P))&&(g=!0)}}for(const N of qn)if(!u.has(N)){let I=i.get(N);I||(g||(g=!0),I=VC(N));const $=Mc({type:N,uiNode:I,pluginData:t});s.push($),u.set($.name,$)}for(const N of o)KC(N,d);for(const N of d){const I=u.get(N.source),$=u.get(N.target);if(!I||!$){I||console.warn(`[initEditorState] skip: source "${N.source}" not found`),$||console.warn(`[initEditorState] skip: target "${N.target}" not found`);continue}f.has(N.source)||f.set(N.source,new Set),f.get(N.source).add(N.target),f.has(N.target)||f.set(N.target,new Set),f.get(N.target).add(N.source),c.push({id:Gn("edge"),source:I.id,sourceField:(E=rn(I,"output",N.sourceField))==null?void 0:E.id,target:$.id,targetField:(C=rn($,"input",N.targetField))==null?void 0:C.id})}m(["request","service_request"]);let _=null;return(k=(b=t.config)==null?void 0:b.resources)!=null&&k.cache&&(_={...t.config.resources.cache},t.partials&&(_.partial_id=t.partials[0].id)),{nodes:s,edges:c,groups:p,pendingLayout:g?n?"keepHistory":"clearHistory":!1,pendingFitView:!0,..._?{cacheConfig:_}:{}}}function Dc(t){const{type:n,name:o,phase:r,position:a,fields:i,config:l}=t,s=Oc(n),c=zn(n);return{id:Gn("node"),type:n,name:o??n,phase:r??"request",position:a??{x:0,y:0},expanded:{},fields:{input:Vc((i==null?void 0:i.input)??s.input),output:Vc((i==null?void 0:i.output)??s.output)},hidden:t.hidden||c.hidden,config:l?zt(l):{}}}function jC(t){return Ct(t)?t==="request"||t==="service_request"?"request":"response":"request"}function Mc({type:t,configNode:n,uiNode:o,pluginData:r}){return Dc({type:t,name:n==null?void 0:n.name,phase:(o==null?void 0:o.phase)??jC(t),position:o==null?void 0:o.position,fields:qC({type:t,uiNode:o,configNode:n,pluginData:r}),hidden:o==null?void 0:o.hidden,config:GC({type:t,configNode:n,pluginData:r})})}function UC(t){const{type:n,name:o,input:r,inputs:a,output:i,outputs:l,...s}=t;return zt(s)}function KC(t,n){const o=t.name;if(t.input){const{nodeName:r,fieldName:a}=fr(t.input);r&&n.push({source:r,sourceField:a,target:o})}if(t.inputs)for(const[r,a]of Object.entries(t.inputs)){if(!a)continue;const{nodeName:i,fieldName:l}=fr(a);i&&n.push({source:i,sourceField:l,target:o,targetField:r})}if(t.output){const{nodeName:r,fieldName:a}=fr(t.output);r&&n.push({source:o,target:r,targetField:a})}if(t.outputs)for(const[r,a]of Object.entries(t.outputs)){if(!a)continue;const{nodeName:i,fieldName:l}=fr(a);i&&n.push({source:o,sourceField:r,target:i,targetField:l})}}function qC({type:t,uiNode:n,configNode:o,pluginData:r}){var s,c,u,p;const a=zn(t),i=a==null?void 0:a.io;if(!i)return;const l={};if((s=i.input)!=null&&s.configurable&&(n?l.input=((c=n.fields)==null?void 0:c.input)??[]:o!=null&&o.inputs&&(l.input=Object.keys(o.inputs))),(u=i.output)!=null&&u.configurable){if(n)l.output=((p=n.fields)==null?void 0:p.output)??[];else{const d=new Set;o!=null&&o.outputs&&Object.keys(o.outputs).forEach(f=>d.add(f)),(o==null?void 0:o.type)==="static"&&o.values&&Object.keys(o.values).forEach(f=>d.add(f)),d.size&&(l.output=Array.from(d))}t==="vault"&&(l.output=MC(r))}return Object.keys(l).length?l:void 0}function GC({type:t,configNode:n,pluginData:o}){return t==="vault"?DC(o):n?UC(n):void 0}function zC(t){const n=e.computed(()=>{const d=new Map;return t.value.nodes.forEach(f=>d.set(f.id,f)),d}),o=e.computed(()=>t.value.edges),r=e.computed(()=>t.value.groups),a=e.computed(()=>Fc(o.value,r.value));function i(d){return mr(a.value,d?{source:d.source,target:d.target}:void 0)}function l(d){const f=n.value.get(d.source),m=n.value.get(d.target);if(!f||!m)return d;const g=Bc(f,d.sourceField)&&!Ka(f,d.sourceField),_=Ka(m,d.targetField);return g&&_?{source:d.target,sourceField:d.targetField,target:d.source,targetField:d.sourceField}:d}function s(d){const f=l(d),m=[],g=n.value.get(f.source),_=n.value.get(f.target);if(g||m.push("source node not found"),_||m.push("target node not found"),!g||!_)return{ok:!1,errors:m};Ka(g,f.sourceField)||m.push("source handle is not an output field"),Bc(_,f.targetField)||m.push("target handle is not an input field"),_.name==="request"&&m.push('cannot target "request"'),g.name==="response"&&m.push('cannot source from "response"');const y=o.value.some(E=>E.target===f.target&&!E.targetField),h=o.value.some(E=>E.target===f.target&&!!E.targetField);(y&&f.targetField||h&&!f.targetField)&&m.push("cannot mix whole-node and field-level inputs on same target"),f.targetField&&o.value.some(E=>E.target===f.target&&E.targetField===f.targetField)&&m.push("target field already connected"),!f.targetField&&o.value.some(E=>E.target===f.target&&!E.targetField)&&m.push("target input already taken"),f.source===f.target&&m.push("self-loop not allowed");const w=i({source:f.source,target:f.target});return Ga(w)&&m.push("connection introduces a cycle"),m.length?{ok:!1,errors:m}:{ok:!0}}function c(){const d=[];for(const f of qn)[...n.value.values()].some(m=>m.name===f)||d.push(`missing implicit node "${f}"`);for(const f of o.value){const m=n.value.get(f.source);n.value.get(f.target).name==="request"&&d.push(`edge "${f.id}" targets "request"`),m.name==="response"&&d.push(`edge "${f.id}" sources from "response"`)}return Ga(i())&&d.push("graph contains cycle"),d.length?{ok:!1,errors:d}:{ok:!0}}function u(d){return s(d).ok}function p(d){return!d.source||!d.target?!1:u({source:d.source,sourceField:d.sourceHandle,target:d.target,targetField:d.targetHandle})}return{canonicalizeConnection:l,validateConnection:s,validateGraph:c,isValidConnection:u,isValidVueFlowConnection:p,buildAdjacency:mr}}const[vc,HC]=Ye.createInjectionState(function(n,o={}){const r=e.ref(Lc(n)),a=e.ref(),i=e.ref(),l=e.ref(!1),s=e.ref(!1),c=LC(r,{capacity:200,clone:zt,onHistoryChange:F=>{var T,X;F!=="clear"&&((X=o.onChange)==null||X.call(o,ve(),pe(),se(),(T=r.value.cacheConfig)==null?void 0:T.partial_id))}}),u=e.ref(!1),p=e.ref(new Set);function d(){r.value.pendingLayout=!1,c.commit("*")}function f(F=!0){r.value.pendingFitView!==F&&(r.value.pendingFitView=F,c.commit("*"))}const m=e.computed(()=>{const F={request:0,response:0};return r.value.nodes.forEach(T=>{Ct(T.type)||F[T.phase]++}),F}),g=e.computed(()=>new Map(r.value.nodes.map(F=>[F.id,F]))),_=e.computed(()=>new Map(r.value.nodes.map(F=>[F.name,F]))),y=e.computed(()=>{const F=new Map,T=new Map;for(const X of r.value.edges)F.set(X.id,X),T.has(X.source)||T.set(X.source,new Set),T.get(X.source).add(X.id),T.has(X.target)||T.set(X.target,new Set),T.get(X.target).add(X.id);return{edgeMapById:F,edgeIdMapByNodeId:T}}),h=e.computed(()=>y.value.edgeMapById),w=e.computed(()=>y.value.edgeIdMapByNodeId),E=e.computed(()=>new Map(r.value.groups.map(F=>[F.id,F]))),C=e.computed(()=>new Set(r.value.nodes.map(F=>F.name))),b=FC({state:r,groupMapById:E,getNodeById:x,history:c}),{canonicalizeConnection:k,validateConnection:N,validateGraph:I,isValidConnection:$,isValidVueFlowConnection:P}=zC(r);function x(F){return g.value.get(F)}function V(F){return _.value.get(F)}function S(F){return h.value.get(F)}function B(F){if(!w.value.has(F))return[];const T=[];return w.value.get(F).forEach(X=>{const Q=S(X);Q&&T.push(Q)}),T}function U(F){return B(F).filter((T=>T.target===F))}function j(F){return B(F).filter((T=>T.source===F))}const z=e.computed(()=>a.value?x(a.value):void 0);function K(F){a.value=F}function M(F){i.value=F}function L(F){if(Ct(F.type))throw new Error("[createNode] implicit nodes are fixed.");return Dc({type:F.type,name:F.name||(Ct(F.type)?void 0:$c(F.type,C.value)),phase:F.phase,position:F.position,fields:F.fields,config:F.config})}function A(F,T=!0){const X=L(F);if(X)return r.value.nodes.push(X),T&&c.commit(),u.value=!0,X.id}function D(F,T,X=!0){const Q=x(F);if(!Q||Ct(Q.type))return;const G={...zt(Q),id:Gn("node"),name:$c(Q.name,C.value),position:T??{x:Q.position.x+20,y:Q.position.y+20}},_e=Co(G.type);if(_e.length&&G.config){for(const ie of _e)delete G.config[ie];Object.keys(G.config).length===0&&delete G.config}return r.value.nodes.push(G),X&&c.commit(),u.value=!0,G.id}function q(F,T=!0){if(!x(F))return;r.value.edges=r.value.edges.filter(G=>G.source!==F&&G.target!==F),b.clear(F,{commit:!1}),b.removeMember(F,{commit:!1}),r.value.nodes=r.value.nodes.filter(G=>G.id!==F),a.value===F&&(a.value=void 0);const Q=I();Q.ok||console.warn("[removeNode] topology invalid:",Q.errors.join("; ")),T&&c.commit()}function Z(F,T,X=!0,Q){const G=x(F);if(!G)return;if(Ma(G.name)){console.warn("[renameNode] implicit node name is reserved.");return}G.name!==T&&(G.name=T,X&&c.commit(Q))}function v(F,T,X=!0){const Q=x(F);Q&&(Q.position={...T},X&&c.commit())}function H(F,T,X=!0){const Q=E.value.get(F);if(!Q)return;const G=Q.position;G&&G.x===T.x&&G.y===T.y||(Q.position={...T},X&&c.commit())}function ee(F,T,X=!0){const Q=E.value.get(F);if(!Q)return!1;const G={...T.position},_e={...T.dimensions},ie=Q.position&&Q.position.x===G.x&&Q.position.y===G.y,Ne=Q.dimensions&&Q.dimensions.width===_e.width&&Q.dimensions.height===_e.height;return ie&&Ne?!1:(Q.position=G,Q.dimensions=_e,X&&c.commit(),!0)}function Ae(F,T,X,Q=!0,G){const _e=x(F);if(!_e)return;const ie=X??!_e.expanded[T];ie!==!!_e.expanded[T]&&(_e.expanded[T]=ie,Q&&c.commit(G??`toggle:${F}:${T}`))}function Ie(F,T,X=!0,Q){const G=x(F);G&&(G.config=zt(T),X&&c.commit(Q))}function Ee(F,T,X,Q=!0){const G=x(F);if(!G)return;const _e=G.fields[T];if(_e.some(ie=>ie.name===X)){console.warn(`[addField] field "${X}" already exists on ${T}.`);return}_e.push({id:Gn("field"),name:X}),T==="input"?G.fields.input=_e:G.fields.output=_e,Q&&c.commit()}function J(F,T,X,Q=!0){const G=x(F);if(!G)return;const _e=G.fields.input,ie=G.fields.output,Ne=_e.find(Pe=>Pe.id===T)??ie.find(Pe=>Pe.id===T);Ne&&(Ne.name=X,Q&&c.commit())}function W(F,T,X=!0,Q=!0){const G=x(F);if(!G)return;const _e=G.fields.input,ie=G.fields.output,Ne=_e.findIndex(te=>te.id===T);Ne>=0&&_e.splice(Ne,1);const Pe=ie.findIndex(te=>te.id===T);Pe>=0&&ie.splice(Pe,1),G.fields.input=_e,G.fields.output=ie,X&&(r.value.edges=r.value.edges.filter(te=>te.sourceField!==T&&te.targetField!==T));const le=I();le.ok||console.warn("[removeField] topology invalid:",le.errors.join("; ")),Q&&c.commit()}function re(F,T=!0){const X=k(F),Q=N(X);if(!Q.ok){console.warn("[connectEdge] invalid connection:",Q.errors.join("; "));return}const G={id:Gn("edge"),...X};r.value.edges.push(G);const _e=I();if(!_e.ok){r.value.edges.pop(),console.warn("[connectEdge] topology invalid:",_e.errors.join("; "));return}return T&&c.commit(),G.id}function me(F,T,X=!0){ge(F,!1),re(T,!1),X&&c.commit()}function ge(F,T=!0){const X=r.value.edges.findIndex(_e=>_e.id===F);if(X<0)return;const Q=r.value.edges[X];r.value.edges.splice(X,1);const G=I();if(!G.ok){r.value.edges.splice(X,0,Q),console.warn("[disconnectEdge] topology invalid:",G.errors.join("; "));return}T&&c.commit()}function ce(F,T=!0){const X=U(F);for(const Q of X)ge(Q.id,!1);T&&c.commit()}function Ve(F,T=!0){const X=j(F);for(const Q of X)ge(Q.id,!1);T&&c.commit()}function ve(){var T,X,Q,G,_e;const F=[];for(const ie of r.value.nodes){if(Ct(ie.type))continue;let Ne;const Pe={};let le;const te={};for(const lt of r.value.edges.filter(Y=>Y.target===ie.id)){const Y=x(lt.source);if(!Y)continue;const ke=(T=an(Y,"output",lt.sourceField))==null?void 0:T.name,ye=ke?`${Y.name}.${ke}`:Y.name,ne=(X=an(ie,"input",lt.targetField))==null?void 0:X.name;ne?Pe[ne]=ye:Ne===void 0&&(Ne=ye)}for(const lt of r.value.edges.filter(Y=>Y.source===ie.id)){const Y=x(lt.target);if(!Y)continue;const ke=Y.type;if(!Ct(ke)||!((Q=ur[ke].io)!=null&&Q.input))continue;const ye=(G=an(Y,"input",lt.targetField))==null?void 0:G.name,ne=ye?`${Y.name}.${ye}`:Y.name,xe=(_e=an(ie,"output",lt.sourceField))==null?void 0:_e.name;xe?te[xe]=ne:le===void 0&&(le=ne)}const We={...zt(ie.config),name:ie.name,type:ie.type},vt=Co(ie.type);if(vt.length)for(const lt of vt){const Y=We[lt];if(!Array.isArray(Y))continue;const ke=[];for(const ye of Y){const ne=x(ye);ne&&ke.push(ne.name)}ke.length?We[lt]=Array.from(new Set(ke)):delete We[lt]}Object.keys(Pe).length>0?We.inputs=Pe:Ne!==void 0&&(We.input=Ne),Object.keys(te).length>0?We.outputs=te:le!==void 0&&(We.output=le),F.push(We)}return F}function de(){return r.value.nodes.map(F=>zt({name:F.name,phase:F.phase,position:{...F.position},expanded:{...F.expanded},fields:{input:F.fields.input.map(T=>T.name),output:F.fields.output.map(T=>T.name)}}))}function se(){const F={},T=V("vault");if(T){const X=vC(T.config);X&&Object.keys(X).length>0&&(F.vault=X)}if(r.value.cacheConfig){const{strategy:X,redis:Q,memory:G}=r.value.cacheConfig;F.cache={strategy:X,redis:Q,memory:G}}if(Object.keys(F).length!==0)return F}function ue(){const F=[];for(const T of r.value.groups){const X=x(T.ownerId);if(!X)continue;const Q=T.position;Q&&F.push({name:pr(X.name,T.branch),position:{...Q}})}return F}function pe(){return{nodes:de(),groups:ue()}}function ae(F,T){T&&c.commit(),r.value=Lc(F,T),T||c.clear()}return{state:r,selection:a,portalSelection:i,modalOpen:l,skipValidation:u,invalidConfigNodeIds:p,propertiesPanelOpen:s,configNodeCounts:m,nodeMapById:g,nodeMapByName:_,edgeMapById:h,edgeIdMapByNodeId:w,groupMapById:E,getNodeById:x,getNodeByName:V,getEdgeById:S,getEdgesByNodeId:B,getInEdgesByNodeId:U,getOutEdgesByNodeId:j,selectedNode:z,selectNode:K,selectPortalEdge:M,createNode:L,addNode:A,duplicateNode:D,removeNode:q,renameNode:Z,moveNode:v,moveGroup:H,setGroupLayout:ee,toggleExpanded:Ae,replaceConfig:Ie,branchGroups:b,addField:Ee,renameField:J,removeField:W,connectEdge:re,replaceConnection:me,disconnectEdge:ge,disconnectInEdges:ce,disconnectOutEdges:Ve,toConfigNodes:ve,toUINodes:de,toUIGroups:ue,toUIData:pe,load:ae,commit:c.commit,undo:c.undo,redo:c.redo,canUndo:c.canUndo,canRedo:c.canRedo,clear:c.clear,reset:c.reset,revert:c.revert,isValidConnection:$,isValidVueFlowConnection:P,validateGraph:()=>I(),clearPendingLayout:d,setPendingFitView:f}});function Xe(){const t=HC();if(!t)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return t}const{t:WC}=Ze.createI18n("en-us",et),gr=Ye.createGlobalState(()=>{const t=Ye.useLocalStorage("datakit-editor-mode","flow"),n=Ye.useLocalStorage("datakit-editor-sidebar-expanded",!0),o=Ye.useLocalStorage("datakit-editor-response-panel-collapsed",!1);return{editorMode:t,sidePanelExpanded:n,responsePanelCollapsed:o}});function YC({enabled:t,confirm:n}){cn.onBeforeRouteLeave(()=>e.toValue(t)?n?n():window.confirm(WC("plugins.free-form.datakit.flow_editor.leave_confirm")):!0);const o=r=>{e.toValue(t)&&r.preventDefault()};Ye.useEventListener("beforeunload",o)}const JC=["undo","redo","duplicate","cut","copy","paste"],jc=()=>{};function XC(t){const n=t;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function ZC(t){if(!(t.metaKey||t.ctrlKey))return;switch(t.key.toLowerCase()){case"z":return t.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const QC=Ye.createSharedComposable(()=>{const t=new Set;Ye.useEventListener("keydown",o=>{if(XC(o.target))return;const r=ZC(o);if(r)for(const a of t){if(!e.toValue(a.enabled))continue;const i=a[r];if(i){if(o.defaultPrevented){e.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),i();return}}},{passive:!1});function n(o){if(!JC.some(a=>typeof o[a]=="function"))return jc;const r={enabled:o.enabled??!0,...o};return t.add(r),()=>t.delete(r)}return{subscribe:n}});function Uc(t={}){if(typeof window>"u")return jc;const n=QC().subscribe(t);return e.onScopeDispose(n),n}const Kc=44,eE=220,qc=366,tE=1e3,nE=Kc+parseFloat(_s),hr=1,oE=0,rE=1,aE=2,iE=3,Hn=parseInt(v_,10),Eo="application/x-datakit+json",yr={delete:["Delete"],undo:["Mod","Z"],redo:{mac:["Mod","Shift","Z"],windows:["Mod","Y"],linux:["Mod","Shift","Z"]},copy:["Mod","C"],paste:["Mod","V"],duplicate:["Mod","D"]},ln={padding:80,gaps:{nodes:60,edges:80,ranks:60}},lE=1600,sE=1.2,cE=0,dE=200,Gc=Symbol("confirm-modal"),Wn="{key}",Pn={"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}},_r=Object.keys(Pn).filter(t=>t.includes(Wn)).map(t=>t.replace(Wn,""));function Ha(t){if(!t||!xo(t))return;const n=_r.find(o=>t.startsWith(o));if(n)return t.slice(n.length).replace(Wn,"")}function No(t){if(!t)return null;const n=_r.find(o=>t.startsWith(o));return n||t}function xo(t){return t?_r.some(n=>t.startsWith(n)):!1}function zc(t){return t?xo(t)?No(t)+Wn:t:null}function Wa(t){var o;if(!t)return!1;const n=zc(t);return n?((o=Pn[n])==null?void 0:o.readable)??!1:!1}function Ya(t){var o;if(!t)return!1;const n=zc(t);return n?((o=Pn[n])==null?void 0:o.writable)??!1:!1}function br(t,n,o){const r=n?an(t,o,n):void 0;return`${t.name}${r?`.${r.name}`:""}`}function Ao(t,n){const o=n(t.source),r=n(t.target);return[br(o,t.sourceField,"output"),br(r,t.targetField,"input")]}function Ja(t,n,o,r,a){const i=a(t),l=a(o);return[br(i,n,"output"),br(l,r,"input")]}function Hc(t){if(t.length===0)throw new Error("getBoundingRect requires at least one rect");let n=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(const{x:i,y:l,width:s,height:c}of t){if(![i,l,s,c].every(Number.isFinite))throw new Error("Rect values must be finite numbers");if(s<0||c<0)throw new RangeError("Rect width and height must be non-negative");const u=i+s,p=l+c;if(!Number.isFinite(u)||!Number.isFinite(p))throw new RangeError("Rect boundaries must be finite numbers");i<n&&(n=i),l<o&&(o=l),u>r&&(r=u),p>a&&(a=p)}return{x:n,y:o,width:r-n,height:a-o}}function uE(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var fE="\0",In="\0",Wc="";let pE=class{constructor(n){at(this,"_isDirected",!0);at(this,"_isMultigraph",!1);at(this,"_isCompound",!1);at(this,"_label");at(this,"_defaultNodeLabelFn",()=>{});at(this,"_defaultEdgeLabelFn",()=>{});at(this,"_nodes",{});at(this,"_in",{});at(this,"_preds",{});at(this,"_out",{});at(this,"_sucs",{});at(this,"_edgeObjs",{});at(this,"_edgeLabels",{});at(this,"_nodeCount",0);at(this,"_edgeCount",0);at(this,"_parent");at(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[In]={})}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,a=this;return n.forEach(function(i){r.length>1?a.setNode(i,o):a.setNode(i)}),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]=In,this._children[n]={},this._children[In][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=a=>o.removeEdge(o._edgeObjs[a]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(a){o.setParent(a)}),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=In;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!==In)return o}}children(n=In){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===In)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 a=new Set(o);for(var r of this.successors(n))a.add(r);return Array.from(a.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 a={};function i(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(a[l]=s,s):s in a?a[s]:i(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,i(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,a=arguments;return n.reduce(function(i,l){return a.length>1?r.setEdge(i,l,o):r.setEdge(i,l),l}),this}setEdge(){var n,o,r,a,i=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(a=arguments[1],i=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(a=arguments[2],i=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=So(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return i&&(this._edgeLabels[s]=a),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]=i?a:this._defaultEdgeLabelFn(n,o,r);var c=mE(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,Yc(this._preds[o],n),Yc(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var a=arguments.length===1?Xa(this._isDirected,arguments[0]):So(this._isDirected,n,o,r);return this._edgeLabels[a]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var a=arguments.length===1?Xa(this._isDirected,arguments[0]):So(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,a)}removeEdge(n,o,r){var a=arguments.length===1?Xa(this._isDirected,arguments[0]):So(this._isDirected,n,o,r),i=this._edgeObjs[a];return i&&(n=i.v,o=i.w,delete this._edgeLabels[a],delete this._edgeObjs[a],Jc(this._preds[o],n),Jc(this._sucs[n],o),delete this._in[o][a],delete this._out[n][a],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var a=Object.values(r);return o?a.filter(i=>i.v===o):a}}outEdges(n,o){var r=this._out[n];if(r){var a=Object.values(r);return o?a.filter(i=>i.w===o):a}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function Yc(t,n){t[n]?t[n]++:t[n]=1}function Jc(t,n){--t[n]||delete t[n]}function So(t,n,o,r){var a=""+n,i=""+o;if(!t&&a>i){var l=a;a=i,i=l}return a+Wc+i+Wc+(r===void 0?fE:r)}function mE(t,n,o,r){var a=""+n,i=""+o;if(!t&&a>i){var l=a;a=i,i=l}var s={v:a,w:i};return r&&(s.name=r),s}function Xa(t,n){return So(t,n.v,n.w,n.name)}var Za=pE,gE="2.2.4",hE={Graph:Za,version:gE},yE=Za,_E={write:bE,read:CE};function bE(t){var n={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:kE(t),edges:wE(t)};return t.graph()!==void 0&&(n.value=structuredClone(t.graph())),n}function kE(t){return t.nodes().map(function(n){var o=t.node(n),r=t.parent(n),a={v:n};return o!==void 0&&(a.value=o),r!==void 0&&(a.parent=r),a})}function wE(t){return t.edges().map(function(n){var o=t.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 CE(t){var n=new yE(t.options).setGraph(t.value);return t.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),t.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var EE=NE;function NE(t){var n={},o=[],r;function a(i){Object.hasOwn(n,i)||(n[i]=!0,r.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){r=[],a(i),r.length&&o.push(r)}),o}var Xc=class{constructor(){at(this,"_arr",[]);at(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 a=this._arr,i=a.length;return r[n]=i,a.push({key:n,priority:o}),this._decrease(i),!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,a=r+1,i=n;r<o.length&&(i=o[r].priority<o[i].priority?r:i,a<o.length&&(i=o[a].priority<o[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var o=this._arr,r=o[n].priority,a;n!==0&&(a=n>>1,!(o[a].priority<r));)this._swap(n,a),n=a}_swap(n,o){var r=this._arr,a=this._keyIndices,i=r[n],l=r[o];r[n]=l,r[o]=i,a[l.key]=n,a[i.key]=o}},xE=Xc,Zc=SE,AE=()=>1;function SE(t,n,o,r){return PE(t,String(n),o||AE,r||function(a){return t.outEdges(a)})}function PE(t,n,o,r){var a={},i=new xE,l,s,c=function(u){var p=u.v!==l?u.v:u.w,d=a[p],f=o(u),m=s.distance+f;if(f<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+f);m<d.distance&&(d.distance=m,d.predecessor=l,i.decrease(p,m))};for(t.nodes().forEach(function(u){var p=u===n?0:Number.POSITIVE_INFINITY;a[u]={distance:p},i.add(u,p)});i.size()>0&&(l=i.removeMin(),s=a[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return a}var IE=Zc,TE=OE;function OE(t,n,o){return t.nodes().reduce(function(r,a){return r[a]=IE(t,a,n,o),r},{})}var Qc=VE;function VE(t){var n=0,o=[],r={},a=[];function i(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),t.successors(l).forEach(function(p){Object.hasOwn(r,p)?r[p].onStack&&(s.lowlink=Math.min(s.lowlink,r[p].index)):(i(p),s.lowlink=Math.min(s.lowlink,r[p].lowlink))}),s.lowlink===s.index){var c=[],u;do u=o.pop(),r[u].onStack=!1,c.push(u);while(l!==u);a.push(c)}}return t.nodes().forEach(function(l){Object.hasOwn(r,l)||i(l)}),a}var BE=Qc,$E=RE;function RE(t){return BE(t).filter(function(n){return n.length>1||n.length===1&&t.hasEdge(n[0],n[0])})}var FE=DE,LE=()=>1;function DE(t,n,o){return ME(t,n||LE,o||function(r){return t.outEdges(r)})}function ME(t,n,o){var r={},a=t.nodes();return a.forEach(function(i){r[i]={},r[i][i]={distance:0},a.forEach(function(l){i!==l&&(r[i][l]={distance:Number.POSITIVE_INFINITY})}),o(i).forEach(function(l){var s=l.v===i?l.w:l.v,c=n(l);r[i][s]={distance:c,predecessor:i}})}),a.forEach(function(i){var l=r[i];a.forEach(function(s){var c=r[s];a.forEach(function(u){var p=c[i],d=l[u],f=c[u],m=p.distance+d.distance;m<f.distance&&(f.distance=m,f.predecessor=d.predecessor)})})}),r}function ed(t){var n={},o={},r=[];function a(i){if(Object.hasOwn(o,i))throw new Qa;Object.hasOwn(n,i)||(o[i]=!0,n[i]=!0,t.predecessors(i).forEach(a),delete o[i],r.push(i))}if(t.sinks().forEach(a),Object.keys(n).length!==t.nodeCount())throw new Qa;return r}class Qa extends Error{constructor(){super(...arguments)}}var td=ed;ed.CycleException=Qa;var nd=td,vE=jE;function jE(t){try{nd(t)}catch(n){if(n instanceof nd.CycleException)return!1;throw n}return!0}var od=UE;function UE(t,n,o){Array.isArray(n)||(n=[n]);var r=t.isDirected()?s=>t.successors(s):s=>t.neighbors(s),a=o==="post"?KE:qE,i=[],l={};return n.forEach(s=>{if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);a(s,r,l,i)}),i}function KE(t,n,o,r){for(var a=[[t,!1]];a.length>0;){var i=a.pop();i[1]?r.push(i[0]):Object.hasOwn(o,i[0])||(o[i[0]]=!0,a.push([i[0],!0]),rd(n(i[0]),l=>a.push([l,!1])))}}function qE(t,n,o,r){for(var a=[t];a.length>0;){var i=a.pop();Object.hasOwn(o,i)||(o[i]=!0,r.push(i),rd(n(i),l=>a.push(l)))}}function rd(t,n){for(var o=t.length;o--;)n(t[o],o,t);return t}var GE=od,zE=HE;function HE(t,n){return GE(t,n,"post")}var WE=od,YE=JE;function JE(t,n){return WE(t,n,"pre")}var XE=Za,ZE=Xc,QE=eN;function eN(t,n){var o=new XE,r={},a=new ZE,i;function l(c){var u=c.v===i?c.w:c.v,p=a.priority(u);if(p!==void 0){var d=n(c);d<p&&(r[u]=i,a.decrease(u,d))}}if(t.nodeCount()===0)return o;t.nodes().forEach(function(c){a.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),a.decrease(t.nodes()[0],0);for(var s=!1;a.size()>0;){if(i=a.removeMin(),Object.hasOwn(r,i))o.setEdge(i,r[i]);else{if(s)throw new Error("Input graph is not connected: "+t);s=!0}t.nodeEdges(i).forEach(l)}return o}var tN={components:EE,dijkstra:Zc,dijkstraAll:TE,findCycles:$E,floydWarshall:FE,isAcyclic:vE,postorder:zE,preorder:YE,prim:QE,tarjan:Qc,topsort:td},ad=hE,Ot={Graph:ad.Graph,json:_E,alg:tN,version:ad.version};let nN=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return id(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&id(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,oN)),r=r._prev;return"["+n.join(", ")+"]"}};function id(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function oN(t,n){if(t!=="_next"&&t!=="_prev")return n}var rN=nN;let aN=Ot.Graph,iN=rN;var lN=cN;let sN=()=>1;function cN(t,n){if(t.nodeCount()<=1)return[];let o=uN(t,n||sN);return dN(o.graph,o.buckets,o.zeroIdx).flatMap(a=>t.outEdges(a.v,a.w))}function dN(t,n,o){let r=[],a=n[n.length-1],i=n[0],l;for(;t.nodeCount();){for(;l=i.dequeue();)ei(t,n,o,l);for(;l=a.dequeue();)ei(t,n,o,l);if(t.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(ei(t,n,o,l,!0));break}}}return r}function ei(t,n,o,r,a){let i=a?[]:void 0;return t.inEdges(r.v).forEach(l=>{let s=t.edge(l),c=t.node(l.v);a&&i.push({v:l.v,w:l.w}),c.out-=s,ti(n,o,c)}),t.outEdges(r.v).forEach(l=>{let s=t.edge(l),c=l.w,u=t.node(c);u.in-=s,ti(n,o,u)}),t.removeNode(r.v),i}function uN(t,n){let o=new aN,r=0,a=0;t.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),t.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,u=n(s),p=c+u;o.setEdge(s.v,s.w,p),a=Math.max(a,o.node(s.v).out+=u),r=Math.max(r,o.node(s.w).in+=u)});let i=fN(a+r+3).map(()=>new iN),l=r+1;return o.nodes().forEach(s=>{ti(i,l,o.node(s))}),{graph:o,buckets:i,zeroIdx:l}}function ti(t,n,o){o.out?o.in?t[o.out-o.in+n].enqueue(o):t[t.length-1].enqueue(o):t[0].enqueue(o)}function fN(t){const n=[];for(let o=0;o<t;o++)n.push(o);return n}let ld=Ot.Graph;var nt={addBorderNode:wN,addDummyNode:sd,applyWithChunking:kr,asNonCompoundGraph:mN,buildLayerMatrix:_N,intersectRect:yN,mapValues:PN,maxRank:dd,normalizeRanks:bN,notime:xN,partition:EN,pick:SN,predecessorWeights:hN,range:fd,removeEmptyRanks:kN,simplify:pN,successorWeights:gN,time:NN,uniqueId:ud,zipObject:ni};function sd(t,n,o,r){for(var a=r;t.hasNode(a);)a=ud(r);return o.dummy=n,t.setNode(a,o),a}function pN(t){let n=new ld().setGraph(t.graph());return t.nodes().forEach(o=>n.setNode(o,t.node(o))),t.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},a=t.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+a.weight,minlen:Math.max(r.minlen,a.minlen)})}),n}function mN(t){let n=new ld({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(o=>{t.children(o).length||n.setNode(o,t.node(o))}),t.edges().forEach(o=>{n.setEdge(o,t.edge(o))}),n}function gN(t){let n=t.nodes().map(o=>{let r={};return t.outEdges(o).forEach(a=>{r[a.w]=(r[a.w]||0)+t.edge(a).weight}),r});return ni(t.nodes(),n)}function hN(t){let n=t.nodes().map(o=>{let r={};return t.inEdges(o).forEach(a=>{r[a.v]=(r[a.v]||0)+t.edge(a).weight}),r});return ni(t.nodes(),n)}function yN(t,n){let o=t.x,r=t.y,a=n.x-o,i=n.y-r,l=t.width/2,s=t.height/2;if(!a&&!i)throw new Error("Not possible to find intersection inside of the rectangle");let c,u;return Math.abs(i)*l>Math.abs(a)*s?(i<0&&(s=-s),c=s*a/i,u=s):(a<0&&(l=-l),c=l,u=l*i/a),{x:o+c,y:r+u}}function _N(t){let n=fd(dd(t)+1).map(()=>[]);return t.nodes().forEach(o=>{let r=t.node(o),a=r.rank;a!==void 0&&(n[a][r.order]=o)}),n}function bN(t){let n=t.nodes().map(r=>{let a=t.node(r).rank;return a===void 0?Number.MAX_VALUE:a}),o=kr(Math.min,n);t.nodes().forEach(r=>{let a=t.node(r);Object.hasOwn(a,"rank")&&(a.rank-=o)})}function kN(t){let n=t.nodes().map(l=>t.node(l).rank),o=kr(Math.min,n),r=[];t.nodes().forEach(l=>{let s=t.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let a=0,i=t.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%i!==0?--a:l!==void 0&&a&&l.forEach(c=>t.node(c).rank+=a)})}function wN(t,n,o,r){let a={width:0,height:0};return arguments.length>=4&&(a.rank=o,a.order=r),sd(t,"border",a,n)}function CN(t,n=cd){const o=[];for(let r=0;r<t.length;r+=n){const a=t.slice(r,r+n);o.push(a)}return o}const cd=65535;function kr(t,n){if(n.length>cd){const o=CN(n);return t.apply(null,o.map(r=>t.apply(null,r)))}else return t.apply(null,n)}function dd(t){const o=t.nodes().map(r=>{let a=t.node(r).rank;return a===void 0?Number.MIN_VALUE:a});return kr(Math.max,o)}function EN(t,n){let o={lhs:[],rhs:[]};return t.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function NN(t,n){let o=Date.now();try{return n()}finally{console.log(t+" time: "+(Date.now()-o)+"ms")}}function xN(t,n){return n()}let AN=0;function ud(t){var n=++AN;return t+(""+n)}function fd(t,n,o=1){n==null&&(n=t,t=0);let r=i=>i<n;o<0&&(r=i=>n<i);const a=[];for(let i=t;r(i);i+=o)a.push(i);return a}function SN(t,n){const o={};for(const r of n)t[r]!==void 0&&(o[r]=t[r]);return o}function PN(t,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(t).reduce((r,[a,i])=>(r[a]=o(i,a),r),{})}function ni(t,n){return t.reduce((o,r,a)=>(o[r]=n[a],o),{})}let IN=lN,TN=nt.uniqueId;var ON={run:VN,undo:$N};function VN(t){(t.graph().acyclicer==="greedy"?IN(t,o(t)):BN(t)).forEach(r=>{let a=t.edge(r);t.removeEdge(r),a.forwardName=r.name,a.reversed=!0,t.setEdge(r.w,r.v,a,TN("rev"))});function o(r){return a=>r.edge(a).weight}}function BN(t){let n=[],o={},r={};function a(i){Object.hasOwn(r,i)||(r[i]=!0,o[i]=!0,t.outEdges(i).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):a(l.w)}),delete o[i])}return t.nodes().forEach(a),n}function $N(t){t.edges().forEach(n=>{let o=t.edge(n);if(o.reversed){t.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,t.setEdge(n.w,n.v,o,r)}})}let RN=nt;var FN={run:LN,undo:MN};function LN(t){t.graph().dummyChains=[],t.edges().forEach(n=>DN(t,n))}function DN(t,n){let o=n.v,r=t.node(o).rank,a=n.w,i=t.node(a).rank,l=n.name,s=t.edge(n),c=s.labelRank;if(i===r+1)return;t.removeEdge(n);let u,p,d;for(d=0,++r;r<i;++d,++r)s.points=[],p={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},u=RN.addDummyNode(t,"edge",p,"_d"),r===c&&(p.width=s.width,p.height=s.height,p.dummy="edge-label",p.labelpos=s.labelpos),t.setEdge(o,u,{weight:s.weight},l),d===0&&t.graph().dummyChains.push(u),o=u;t.setEdge(o,a,{weight:s.weight},l)}function MN(t){t.graph().dummyChains.forEach(n=>{let o=t.node(n),r=o.edgeLabel,a;for(t.setEdge(o.edgeObj,r);o.dummy;)a=t.successors(n)[0],t.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=a,o=t.node(n)})}const{applyWithChunking:vN}=nt;var wr={longestPath:jN,slack:UN};function jN(t){var n={};function o(r){var a=t.node(r);if(Object.hasOwn(n,r))return a.rank;n[r]=!0;let i=t.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-t.edge(s).minlen);var l=vN(Math.min,i);return l===Number.POSITIVE_INFINITY&&(l=0),a.rank=l}t.sources().forEach(o)}function UN(t,n){return t.node(n.w).rank-t.node(n.v).rank-t.edge(n).minlen}var KN=Ot.Graph,Cr=wr.slack,pd=qN;function qN(t){var n=new KN({directed:!1}),o=t.nodes()[0],r=t.nodeCount();n.setNode(o,{});for(var a,i;GN(n,t)<r;)a=zN(n,t),i=n.hasNode(a.v)?Cr(t,a):-Cr(t,a),HN(n,t,i);return n}function GN(t,n){function o(r){n.nodeEdges(r).forEach(a=>{var i=a.v,l=r===i?a.w:i;!t.hasNode(l)&&!Cr(n,a)&&(t.setNode(l,{}),t.setEdge(r,l,{}),o(l))})}return t.nodes().forEach(o),t.nodeCount()}function zN(t,n){return n.edges().reduce((r,a)=>{let i=Number.POSITIVE_INFINITY;return t.hasNode(a.v)!==t.hasNode(a.w)&&(i=Cr(n,a)),i<r[0]?[i,a]:r},[Number.POSITIVE_INFINITY,null])[1]}function HN(t,n,o){t.nodes().forEach(r=>n.node(r).rank+=o)}var WN=pd,md=wr.slack,YN=wr.longestPath,JN=Ot.alg.preorder,XN=Ot.alg.postorder,ZN=nt.simplify,QN=Tn;Tn.initLowLimValues=ri,Tn.initCutValues=oi,Tn.calcCutValue=gd,Tn.leaveEdge=yd,Tn.enterEdge=_d,Tn.exchangeEdges=bd;function Tn(t){t=ZN(t),YN(t);var n=WN(t);ri(n),oi(n,t);for(var o,r;o=yd(n);)r=_d(n,t,o),bd(n,t,o,r)}function oi(t,n){var o=XN(t,t.nodes());o=o.slice(0,o.length-1),o.forEach(r=>e0(t,n,r))}function e0(t,n,o){var r=t.node(o),a=r.parent;t.edge(o,a).cutvalue=gd(t,n,o)}function gd(t,n,o){var r=t.node(o),a=r.parent,i=!0,l=n.edge(o,a),s=0;return l||(i=!1,l=n.edge(a,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var u=c.v===o,p=u?c.w:c.v;if(p!==a){var d=u===i,f=n.edge(c).weight;if(s+=d?f:-f,n0(t,o,p)){var m=t.edge(o,p).cutvalue;s+=d?-m:m}}}),s}function ri(t,n){arguments.length<2&&(n=t.nodes()[0]),hd(t,{},1,n)}function hd(t,n,o,r,a){var i=o,l=t.node(r);return n[r]=!0,t.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=hd(t,n,o,s,r))}),l.low=i,l.lim=o++,a?l.parent=a:delete l.parent,o}function yd(t){return t.edges().find(n=>t.edge(n).cutvalue<0)}function _d(t,n,o){var r=o.v,a=o.w;n.hasEdge(r,a)||(r=o.w,a=o.v);var i=t.node(r),l=t.node(a),s=i,c=!1;i.lim>l.lim&&(s=l,c=!0);var u=n.edges().filter(p=>c===kd(t,t.node(p.v),s)&&c!==kd(t,t.node(p.w),s));return u.reduce((p,d)=>md(n,d)<md(n,p)?d:p)}function bd(t,n,o,r){var a=o.v,i=o.w;t.removeEdge(a,i),t.setEdge(r.v,r.w,{}),ri(t),oi(t,n),t0(t,n)}function t0(t,n){var o=t.nodes().find(a=>!n.node(a).parent),r=JN(t,o);r=r.slice(1),r.forEach(a=>{var i=t.node(a).parent,l=n.edge(a,i),s=!1;l||(l=n.edge(i,a),s=!0),n.node(a).rank=n.node(i).rank+(s?l.minlen:-l.minlen)})}function n0(t,n,o){return t.hasEdge(n,o)}function kd(t,n,o){return o.low<=n.lim&&n.lim<=o.lim}var o0=wr,wd=o0.longestPath,r0=pd,a0=QN,i0=l0;function l0(t){var n=t.graph().ranker;if(n instanceof Function)return n(t);switch(t.graph().ranker){case"network-simplex":Cd(t);break;case"tight-tree":c0(t);break;case"longest-path":s0(t);break;case"none":break;default:Cd(t)}}var s0=wd;function c0(t){wd(t),r0(t)}function Cd(t){a0(t)}var d0=u0;function u0(t){let n=p0(t);t.graph().dummyChains.forEach(o=>{let r=t.node(o),a=r.edgeObj,i=f0(t,n,a.v,a.w),l=i.path,s=i.lca,c=0,u=l[c],p=!0;for(;o!==a.w;){if(r=t.node(o),p){for(;(u=l[c])!==s&&t.node(u).maxRank<r.rank;)c++;u===s&&(p=!1)}if(!p){for(;c<l.length-1&&t.node(u=l[c+1]).minRank<=r.rank;)c++;u=l[c]}t.setParent(o,u),o=t.successors(o)[0]}})}function f0(t,n,o,r){let a=[],i=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,u;c=o;do c=t.parent(c),a.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(u=c,c=r;(c=t.parent(c))!==u;)i.push(c);return{path:a.concat(i.reverse()),lca:u}}function p0(t){let n={},o=0;function r(a){let i=o;t.children(a).forEach(r),n[a]={low:i,lim:o++}}return t.children().forEach(r),n}let Er=nt;var m0={run:g0,cleanup:_0};function g0(t){let n=Er.addDummyNode(t,"root",{},"_root"),o=h0(t),r=Object.values(o),a=Er.applyWithChunking(Math.max,r)-1,i=2*a+1;t.graph().nestingRoot=n,t.edges().forEach(s=>t.edge(s).minlen*=i);let l=y0(t)+1;t.children().forEach(s=>Ed(t,n,i,l,a,o,s)),t.graph().nodeRankFactor=i}function Ed(t,n,o,r,a,i,l){let s=t.children(l);if(!s.length){l!==n&&t.setEdge(n,l,{weight:0,minlen:o});return}let c=Er.addBorderNode(t,"_bt"),u=Er.addBorderNode(t,"_bb"),p=t.node(l);t.setParent(c,l),p.borderTop=c,t.setParent(u,l),p.borderBottom=u,s.forEach(d=>{Ed(t,n,o,r,a,i,d);let f=t.node(d),m=f.borderTop?f.borderTop:d,g=f.borderBottom?f.borderBottom:d,_=f.borderTop?r:2*r,y=m!==g?1:a-i[l]+1;t.setEdge(c,m,{weight:_,minlen:y,nestingEdge:!0}),t.setEdge(g,u,{weight:_,minlen:y,nestingEdge:!0})}),t.parent(l)||t.setEdge(n,c,{weight:0,minlen:a+i[l]})}function h0(t){var n={};function o(r,a){var i=t.children(r);i&&i.length&&i.forEach(l=>o(l,a+1)),n[r]=a}return t.children().forEach(r=>o(r,1)),n}function y0(t){return t.edges().reduce((n,o)=>n+t.edge(o).weight,0)}function _0(t){var n=t.graph();t.removeNode(n.nestingRoot),delete n.nestingRoot,t.edges().forEach(o=>{var r=t.edge(o);r.nestingEdge&&t.removeEdge(o)})}let b0=nt;var k0=w0;function w0(t){function n(o){let r=t.children(o),a=t.node(o);if(r.length&&r.forEach(n),Object.hasOwn(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(let i=a.minRank,l=a.maxRank+1;i<l;++i)Nd(t,"borderLeft","_bl",o,a,i),Nd(t,"borderRight","_br",o,a,i)}}t.children().forEach(n)}function Nd(t,n,o,r,a,i){let l={width:0,height:0,rank:i,borderType:n},s=a[n][i-1],c=b0.addDummyNode(t,"border",l,o);a[n][i]=c,t.setParent(c,r),s&&t.setEdge(s,c,{weight:1})}var C0={adjust:E0,undo:N0};function E0(t){let n=t.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&xd(t)}function N0(t){let n=t.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&x0(t),(n==="lr"||n==="rl")&&(A0(t),xd(t))}function xd(t){t.nodes().forEach(n=>Ad(t.node(n))),t.edges().forEach(n=>Ad(t.edge(n)))}function Ad(t){let n=t.width;t.width=t.height,t.height=n}function x0(t){t.nodes().forEach(n=>ai(t.node(n))),t.edges().forEach(n=>{let o=t.edge(n);o.points.forEach(ai),Object.hasOwn(o,"y")&&ai(o)})}function ai(t){t.y=-t.y}function A0(t){t.nodes().forEach(n=>ii(t.node(n))),t.edges().forEach(n=>{let o=t.edge(n);o.points.forEach(ii),Object.hasOwn(o,"x")&&ii(o)})}function ii(t){let n=t.x;t.x=t.y,t.y=n}let Sd=nt;var S0=P0;function P0(t){let n={},o=t.nodes().filter(c=>!t.children(c).length),r=o.map(c=>t.node(c).rank),a=Sd.applyWithChunking(Math.max,r),i=Sd.range(a+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let u=t.node(c);i[u.rank].push(c),t.successors(c).forEach(l)}return o.sort((c,u)=>t.node(c).rank-t.node(u).rank).forEach(l),i}let I0=nt.zipObject;var T0=O0;function O0(t,n){let o=0;for(let r=1;r<n.length;++r)o+=V0(t,n[r-1],n[r]);return o}function V0(t,n,o){let r=I0(o,o.map((u,p)=>p)),a=n.flatMap(u=>t.outEdges(u).map(p=>({pos:r[p.w],weight:t.edge(p).weight})).sort((p,d)=>p.pos-d.pos)),i=1;for(;i<o.length;)i<<=1;let l=2*i-1;i-=1;let s=new Array(l).fill(0),c=0;return a.forEach(u=>{let p=u.pos+i;s[p]+=u.weight;let d=0;for(;p>0;)p%2&&(d+=s[p+1]),p=p-1>>1,s[p]+=u.weight;c+=u.weight*d}),c}var B0=$0;function $0(t,n=[]){return n.map(o=>{let r=t.inEdges(o);if(r.length){let a=r.reduce((i,l)=>{let s=t.edge(l),c=t.node(l.v);return{sum:i.sum+s.weight*c.order,weight:i.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:o}})}let R0=nt;var F0=L0;function L0(t,n){let o={};t.forEach((a,i)=>{let l=o[a.v]={indegree:0,in:[],out:[],vs:[a.v],i};a.barycenter!==void 0&&(l.barycenter=a.barycenter,l.weight=a.weight)}),n.edges().forEach(a=>{let i=o[a.v],l=o[a.w];i!==void 0&&l!==void 0&&(l.indegree++,i.out.push(o[a.w]))});let r=Object.values(o).filter(a=>!a.indegree);return D0(r)}function D0(t){let n=[];function o(a){return i=>{i.merged||(i.barycenter===void 0||a.barycenter===void 0||i.barycenter>=a.barycenter)&&M0(a,i)}}function r(a){return i=>{i.in.push(a),--i.indegree===0&&t.push(i)}}for(;t.length;){let a=t.pop();n.push(a),a.in.reverse().forEach(o(a)),a.out.forEach(r(a))}return n.filter(a=>!a.merged).map(a=>R0.pick(a,["vs","i","barycenter","weight"]))}function M0(t,n){let o=0,r=0;t.weight&&(o+=t.barycenter*t.weight,r+=t.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),t.vs=n.vs.concat(t.vs),t.barycenter=o/r,t.weight=r,t.i=Math.min(n.i,t.i),n.merged=!0}let v0=nt;var j0=U0;function U0(t,n){let o=v0.partition(t,p=>Object.hasOwn(p,"barycenter")),r=o.lhs,a=o.rhs.sort((p,d)=>d.i-p.i),i=[],l=0,s=0,c=0;r.sort(K0(!!n)),c=Pd(i,a,c),r.forEach(p=>{c+=p.vs.length,i.push(p.vs),l+=p.barycenter*p.weight,s+=p.weight,c=Pd(i,a,c)});let u={vs:i.flat(!0)};return s&&(u.barycenter=l/s,u.weight=s),u}function Pd(t,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),t.push(r.vs),o++;return o}function K0(t){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:t?o.i-n.i:n.i-o.i}let q0=B0,G0=F0,z0=j0;var H0=Id;function Id(t,n,o,r){let a=t.children(n),i=t.node(n),l=i?i.borderLeft:void 0,s=i?i.borderRight:void 0,c={};l&&(a=a.filter(f=>f!==l&&f!==s));let u=q0(t,a);u.forEach(f=>{if(t.children(f.v).length){let m=Id(t,f.v,o,r);c[f.v]=m,Object.hasOwn(m,"barycenter")&&Y0(f,m)}});let p=G0(u,o);W0(p,c);let d=z0(p,r);if(l&&(d.vs=[l,d.vs,s].flat(!0),t.predecessors(l).length)){let f=t.node(t.predecessors(l)[0]),m=t.node(t.predecessors(s)[0]);Object.hasOwn(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+m.order)/(d.weight+2),d.weight+=2}return d}function W0(t,n){t.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function Y0(t,n){t.barycenter!==void 0?(t.barycenter=(t.barycenter*t.weight+n.barycenter*n.weight)/(t.weight+n.weight),t.weight+=n.weight):(t.barycenter=n.barycenter,t.weight=n.weight)}let J0=Ot.Graph,X0=nt;var Z0=Q0;function Q0(t,n,o,r){r||(r=t.nodes());let a=ex(t),i=new J0({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(l=>t.node(l));return r.forEach(l=>{let s=t.node(l),c=t.parent(l);(s.rank===n||s.minRank<=n&&n<=s.maxRank)&&(i.setNode(l),i.setParent(l,c||a),t[o](l).forEach(u=>{let p=u.v===l?u.w:u.v,d=i.edge(p,l),f=d!==void 0?d.weight:0;i.setEdge(p,l,{weight:t.edge(u).weight+f})}),Object.hasOwn(s,"minRank")&&i.setNode(l,{borderLeft:s.borderLeft[n],borderRight:s.borderRight[n]}))}),i}function ex(t){for(var n;t.hasNode(n=X0.uniqueId("_root")););return n}var tx=nx;function nx(t,n,o){let r={},a;o.forEach(i=>{let l=t.parent(i),s,c;for(;l;){if(s=t.parent(l),s?(c=r[s],r[s]=l):(c=a,a=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let ox=S0,rx=T0,ax=H0,ix=Z0,lx=tx,sx=Ot.Graph,Nr=nt;var cx=Td;function Td(t,n){if(n&&typeof n.customOrder=="function"){n.customOrder(t,Td);return}let o=Nr.maxRank(t),r=Od(t,Nr.range(1,o+1),"inEdges"),a=Od(t,Nr.range(o-1,-1,-1),"outEdges"),i=ox(t);if(Vd(t,i),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,u=0;u<4;++c,++u){dx(c%2?r:a,c%4>=2),i=Nr.buildLayerMatrix(t);let p=rx(t,i);p<l&&(u=0,s=Object.assign({},i),l=p)}Vd(t,s)}function Od(t,n,o){const r=new Map,a=(i,l)=>{r.has(i)||r.set(i,[]),r.get(i).push(l)};for(const i of t.nodes()){const l=t.node(i);if(typeof l.rank=="number"&&a(l.rank,i),typeof l.minRank=="number"&&typeof l.maxRank=="number")for(let s=l.minRank;s<=l.maxRank;s++)s!==l.rank&&a(s,i)}return n.map(function(i){return ix(t,i,o,r.get(i)||[])})}function dx(t,n){let o=new sx;t.forEach(function(r){let a=r.graph().root,i=ax(r,a,o,n);i.vs.forEach((l,s)=>r.node(l).order=s),lx(r,o,i.vs)})}function Vd(t,n){Object.values(n).forEach(o=>o.forEach((r,a)=>t.node(r).order=a))}let ux=Ot.Graph,Ht=nt;var fx={positionX:Ex};function px(t,n){let o={};function r(a,i){let l=0,s=0,c=a.length,u=i[i.length-1];return i.forEach((p,d)=>{let f=gx(t,p),m=f?t.node(f).order:c;(f||p===u)&&(i.slice(s,d+1).forEach(g=>{t.predecessors(g).forEach(_=>{let y=t.node(_),h=y.order;(h<l||m<h)&&!(y.dummy&&t.node(g).dummy)&&Bd(o,_,g)})}),s=d+1,l=m)}),i}return n.length&&n.reduce(r),o}function mx(t,n){let o={};function r(i,l,s,c,u){let p;Ht.range(l,s).forEach(d=>{p=i[d],t.node(p).dummy&&t.predecessors(p).forEach(f=>{let m=t.node(f);m.dummy&&(m.order<c||m.order>u)&&Bd(o,f,p)})})}function a(i,l){let s=-1,c,u=0;return l.forEach((p,d)=>{if(t.node(p).dummy==="border"){let f=t.predecessors(p);f.length&&(c=t.node(f[0]).order,r(l,u,d,s,c),u=d,s=c)}r(l,u,l.length,c,i.length)}),l}return n.length&&n.reduce(a),o}function gx(t,n){if(t.node(n).dummy)return t.predecessors(n).find(o=>t.node(o).dummy)}function Bd(t,n,o){if(n>o){let a=n;n=o,o=a}let r=t[n];r||(t[n]=r={}),r[o]=!0}function hx(t,n,o){if(n>o){let r=n;n=o,o=r}return!!t[n]&&Object.hasOwn(t[n],o)}function yx(t,n,o,r){let a={},i={},l={};return n.forEach(s=>{s.forEach((c,u)=>{a[c]=c,i[c]=c,l[c]=u})}),n.forEach(s=>{let c=-1;s.forEach(u=>{let p=r(u);if(p.length){p=p.sort((f,m)=>l[f]-l[m]);let d=(p.length-1)/2;for(let f=Math.floor(d),m=Math.ceil(d);f<=m;++f){let g=p[f];i[u]===u&&c<l[g]&&!hx(o,u,g)&&(i[g]=u,i[u]=a[u]=a[g],c=l[g])}}})}),{root:a,align:i}}function _x(t,n,o,r,a){let i={},l=bx(t,n,o,a),s=a?"borderLeft":"borderRight";function c(d,f){let m=l.nodes(),g=m.pop(),_={};for(;g;)_[g]?d(g):(_[g]=!0,m.push(g),m=m.concat(f(g))),g=m.pop()}function u(d){i[d]=l.inEdges(d).reduce((f,m)=>Math.max(f,i[m.v]+l.edge(m)),0)}function p(d){let f=l.outEdges(d).reduce((g,_)=>Math.min(g,i[_.w]-l.edge(_)),Number.POSITIVE_INFINITY),m=t.node(d);f!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(i[d]=Math.max(i[d],f))}return c(u,l.predecessors.bind(l)),c(p,l.successors.bind(l)),Object.keys(r).forEach(d=>i[d]=i[o[d]]),i}function bx(t,n,o,r){let a=new ux,i=t.graph(),l=Nx(i.nodesep,i.edgesep,r);return n.forEach(s=>{let c;s.forEach(u=>{let p=o[u];if(a.setNode(p),c){var d=o[c],f=a.edge(d,p);a.setEdge(d,p,Math.max(l(t,u,c),f||0))}c=u})}),a}function kx(t,n){return Object.values(n).reduce((o,r)=>{let a=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let u=xx(t,s)/2;a=Math.max(c+u,a),i=Math.min(c-u,i)});const l=a-i;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function wx(t,n){let o=Object.values(n),r=Ht.applyWithChunking(Math.min,o),a=Ht.applyWithChunking(Math.max,o);["u","d"].forEach(i=>{["l","r"].forEach(l=>{let s=i+l,c=t[s];if(c===n)return;let u=Object.values(c),p=r-Ht.applyWithChunking(Math.min,u);l!=="l"&&(p=a-Ht.applyWithChunking(Math.max,u)),p&&(t[s]=Ht.mapValues(c,d=>d+p))})})}function Cx(t,n){return Ht.mapValues(t.ul,(o,r)=>{if(n)return t[n.toLowerCase()][r];{let a=Object.values(t).map(i=>i[r]).sort((i,l)=>i-l);return(a[1]+a[2])/2}})}function Ex(t){let n=Ht.buildLayerMatrix(t),o=Object.assign(px(t,n),mx(t,n)),r={},a;["u","d"].forEach(l=>{a=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(a=a.map(d=>Object.values(d).reverse()));let c=(l==="u"?t.predecessors:t.successors).bind(t),u=yx(t,a,o,c),p=_x(t,a,u.root,u.align,s==="r");s==="r"&&(p=Ht.mapValues(p,d=>-d)),r[l+s]=p})});let i=kx(t,r);return wx(r,i),Cx(r,t.graph().align)}function Nx(t,n,o){return(r,a,i)=>{let l=r.node(a),s=r.node(i),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:t)/2,c+=(s.dummy?n:t)/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 xx(t,n){return t.node(n).width}let $d=nt,Ax=fx.positionX;var Sx=Px;function Px(t){t=$d.asNonCompoundGraph(t),Ix(t),Object.entries(Ax(t)).forEach(([n,o])=>t.node(n).x=o)}function Ix(t){let n=$d.buildLayerMatrix(t),o=t.graph().ranksep,r=0;n.forEach(a=>{const i=a.reduce((l,s)=>{const c=t.node(s).height;return l>c?l:c},0);a.forEach(l=>t.node(l).y=r+i/2),r+=i+o})}let Rd=ON,Fd=FN,Tx=i0,Ox=nt.normalizeRanks,Vx=d0,Bx=nt.removeEmptyRanks,Ld=m0,$x=k0,Dd=C0,Rx=cx,Fx=Sx,Pt=nt,Lx=Ot.Graph;var Dx=Mx;function Mx(t,n){let o=n&&n.debugTiming?Pt.time:Pt.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>Yx(t));o(" runLayout",()=>vx(r,o,n)),o(" updateInputGraph",()=>jx(t,r))})}function vx(t,n,o){n(" makeSpaceForEdgeLabels",()=>Jx(t)),n(" removeSelfEdges",()=>a1(t)),n(" acyclic",()=>Rd.run(t)),n(" nestingGraph.run",()=>Ld.run(t)),n(" rank",()=>Tx(Pt.asNonCompoundGraph(t))),n(" injectEdgeLabelProxies",()=>Xx(t)),n(" removeEmptyRanks",()=>Bx(t)),n(" nestingGraph.cleanup",()=>Ld.cleanup(t)),n(" normalizeRanks",()=>Ox(t)),n(" assignRankMinMax",()=>Zx(t)),n(" removeEdgeLabelProxies",()=>Qx(t)),n(" normalize.run",()=>Fd.run(t)),n(" parentDummyChains",()=>Vx(t)),n(" addBorderSegments",()=>$x(t)),n(" order",()=>Rx(t,o)),n(" insertSelfEdges",()=>i1(t)),n(" adjustCoordinateSystem",()=>Dd.adjust(t)),n(" position",()=>Fx(t)),n(" positionSelfEdges",()=>l1(t)),n(" removeBorderNodes",()=>r1(t)),n(" normalize.undo",()=>Fd.undo(t)),n(" fixupEdgeLabelCoords",()=>n1(t)),n(" undoCoordinateSystem",()=>Dd.undo(t)),n(" translateGraph",()=>e1(t)),n(" assignNodeIntersects",()=>t1(t)),n(" reversePoints",()=>o1(t)),n(" acyclic.undo",()=>Rd.undo(t))}function jx(t,n){t.nodes().forEach(o=>{let r=t.node(o),a=n.node(o);r&&(r.x=a.x,r.y=a.y,r.rank=a.rank,n.children(o).length&&(r.width=a.width,r.height=a.height))}),t.edges().forEach(o=>{let r=t.edge(o),a=n.edge(o);r.points=a.points,Object.hasOwn(a,"x")&&(r.x=a.x,r.y=a.y)}),t.graph().width=n.graph().width,t.graph().height=n.graph().height}let Ux=["nodesep","edgesep","ranksep","marginx","marginy"],Kx={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},qx=["acyclicer","ranker","rankdir","align"],Gx=["width","height","rank"],Md={width:0,height:0},zx=["minlen","weight","width","height","labeloffset"],Hx={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Wx=["labelpos"];function Yx(t){let n=new Lx({multigraph:!0,compound:!0}),o=si(t.graph());return n.setGraph(Object.assign({},Kx,li(o,Ux),Pt.pick(o,qx))),t.nodes().forEach(r=>{let a=si(t.node(r));const i=li(a,Gx);Object.keys(Md).forEach(l=>{i[l]===void 0&&(i[l]=Md[l])}),n.setNode(r,i),n.setParent(r,t.parent(r))}),t.edges().forEach(r=>{let a=si(t.edge(r));n.setEdge(r,Object.assign({},Hx,li(a,zx),Pt.pick(a,Wx)))}),n}function Jx(t){let n=t.graph();n.ranksep/=2,t.edges().forEach(o=>{let r=t.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function Xx(t){t.edges().forEach(n=>{let o=t.edge(n);if(o.width&&o.height){let r=t.node(n.v),i={rank:(t.node(n.w).rank-r.rank)/2+r.rank,e:n};Pt.addDummyNode(t,"edge-proxy",i,"_ep")}})}function Zx(t){let n=0;t.nodes().forEach(o=>{let r=t.node(o);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),t.graph().maxRank=n}function Qx(t){t.nodes().forEach(n=>{let o=t.node(n);o.dummy==="edge-proxy"&&(t.edge(o.e).labelRank=o.rank,t.removeNode(n))})}function e1(t){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,a=0,i=t.graph(),l=i.marginx||0,s=i.marginy||0;function c(u){let p=u.x,d=u.y,f=u.width,m=u.height;n=Math.min(n,p-f/2),o=Math.max(o,p+f/2),r=Math.min(r,d-m/2),a=Math.max(a,d+m/2)}t.nodes().forEach(u=>c(t.node(u))),t.edges().forEach(u=>{let p=t.edge(u);Object.hasOwn(p,"x")&&c(p)}),n-=l,r-=s,t.nodes().forEach(u=>{let p=t.node(u);p.x-=n,p.y-=r}),t.edges().forEach(u=>{let p=t.edge(u);p.points.forEach(d=>{d.x-=n,d.y-=r}),Object.hasOwn(p,"x")&&(p.x-=n),Object.hasOwn(p,"y")&&(p.y-=r)}),i.width=o-n+l,i.height=a-r+s}function t1(t){t.edges().forEach(n=>{let o=t.edge(n),r=t.node(n.v),a=t.node(n.w),i,l;o.points?(i=o.points[0],l=o.points[o.points.length-1]):(o.points=[],i=a,l=r),o.points.unshift(Pt.intersectRect(r,i)),o.points.push(Pt.intersectRect(a,l))})}function n1(t){t.edges().forEach(n=>{let o=t.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 o1(t){t.edges().forEach(n=>{let o=t.edge(n);o.reversed&&o.points.reverse()})}function r1(t){t.nodes().forEach(n=>{if(t.children(n).length){let o=t.node(n),r=t.node(o.borderTop),a=t.node(o.borderBottom),i=t.node(o.borderLeft[o.borderLeft.length-1]),l=t.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-i.x),o.height=Math.abs(a.y-r.y),o.x=i.x+o.width/2,o.y=r.y+o.height/2}}),t.nodes().forEach(n=>{t.node(n).dummy==="border"&&t.removeNode(n)})}function a1(t){t.edges().forEach(n=>{if(n.v===n.w){var o=t.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:t.edge(n)}),t.removeEdge(n)}})}function i1(t){var n=Pt.buildLayerMatrix(t);n.forEach(o=>{var r=0;o.forEach((a,i)=>{var l=t.node(a);l.order=i+r,(l.selfEdges||[]).forEach(s=>{Pt.addDummyNode(t,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:i+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function l1(t){t.nodes().forEach(n=>{var o=t.node(n);if(o.dummy==="selfedge"){var r=t.node(o.e.v),a=r.x+r.width/2,i=r.y,l=o.x-a,s=r.height/2;t.setEdge(o.e,o.label),t.removeNode(n),o.label.points=[{x:a+2*l/3,y:i-s},{x:a+5*l/6,y:i-s},{x:a+l,y:i},{x:a+5*l/6,y:i+s},{x:a+2*l/3,y:i+s}],o.label.x=o.x,o.label.y=o.y}})}function li(t,n){return Pt.mapValues(Pt.pick(t,n),Number)}function si(t){var n={};return t&&Object.entries(t).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let s1=nt,c1=Ot.Graph;var d1={debugOrdering:u1};function u1(t){let n=s1.buildLayerMatrix(t),o=new c1({compound:!0,multigraph:!0}).setGraph({});return t.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+t.node(r).rank)}),t.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,a)=>{let i="layer"+a;o.setNode(i,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var f1="1.1.8",p1={graphlib:Ot,layout:Dx,debug:d1,util:{time:nt.time,notime:nt.notime},version:f1};const vd=uE(p1);function m1(t){const{branchLayout:n,phase:o,layoutOptions:r,nodes:a,edges:i}=t,{findNode:l}=Ke.useVueFlow(),{state:s,branchGroups:c,getNodeById:u,moveNode:p,commit:d}=Xe(),{getNodeDepth:f,isGroupId:m,groupsByOwner:g}=c,{isBranchEdgeId:_,updateGroupLayout:y,translateGroupTree:h,waitForLayoutFlush:w}=n,{viewport:E,padding:C=ln.padding,gaps:b=ln.gaps}=r,{nodes:k=ln.gaps.nodes,edges:N=ln.gaps.edges,ranks:I=ln.gaps.ranks}=b;async function $(V=!0){const S=new Map(a.value.map(v=>[v.id,v.data])),B=new Map,U=new Map,j=v=>{if(!v)return;let H=U.get(v);return H||(H=l(v),H&&U.set(v,H),H)},z=new Map,K=v=>{let H=z.get(v);return H!==void 0||(H=f(v),z.set(v,H)),H},M=v=>{if(!wo(v.data))return v.parentNode;const H=j(v.data.ownerId);if(!H)throw new Error(`Cannot find owner node '${v.data.ownerId}' for group node '${v.id}' via findNode`);return H.parentNode};for(const v of i.value){if(_(v.id))continue;const H=v.source,ee=v.target;if(m(H)||m(ee))continue;const Ae=j(H),Ie=j(ee);if(Ae){if(!Ie)throw new Error(`Cannot find target node '${ee}' for edge '${v.id}' via findNode`)}else throw new Error(`Cannot find source node '${H}' for edge '${v.id}' via findNode`);if(M(Ae)===M(Ie))continue;let Ee=Ae,J=Ie,W=K(Ee.id),re=K(J.id);for(;W!==re;)if(W>re){const me=M(Ee);if(!me)throw new Error(`Expected node '${Ee.id}' to have parent, but it does not`);const ge=j(me);if(!ge)throw new Error(`Cannot find parent node '${me}' for node '${Ee.id}' via findNode`);Ee=ge,W--}else if(re>W){const me=M(J);if(!me)throw new Error(`Expected node '${J.id}' to have parent, but it does not`);const ge=j(me);if(!ge)throw new Error(`Cannot find parent node '${me}' for node '${J.id}' via findNode`);J=ge,re--}for(;W>=0;){const me=M(Ee),ge=M(J);if(me===ge){B.has(W)||B.set(W,[]),B.get(W).push({v:Ee.id,w:J.id});break}if(me){if(!ge){const ve=`Expected node '${J.id}' to have parent, but it does not`;throw console.error(ve,J),new Error(ve)}}else{const ve=`Expected node '${Ee.id}' to have parent, but it does not`;throw console.error(ve,Ee),new Error(ve)}const ce=j(me),Ve=j(ge);if(ce){if(!Ve)throw new Error(`Cannot find parent node '${ge}' for node '${J.id}' via findNode`)}else throw new Error(`Cannot find parent node '${me}' for node '${Ee.id}' via findNode`);Ee=ce,J=Ve,W--,re--}}const L=s.value.groups.toSorted((v,H)=>K(H.ownerId)-K(v.ownerId));for(const v of L)P(v.memberIds.reduce((H,ee)=>{const Ae=u(ee);if(!Ae)return console.warn(`Cannot find node '${ee}' of group '${v.id}' by getNodeById`),H;if(Ae.phase!==o)return H;if(Ae.type==="branch"){const Ie=g.value.get(Ae.id);Ie&&H.push(...Ie)}return S.delete(Ae.id),H.push(Ae),H},[]),{virtualEdges:B.get(K(v.ownerId)),cachedFindNode:j}),await e.nextTick(),y(v.id,!1),await w();const A=S.values().toArray();for(const v of A){if(wo(v)||v.type!=="branch")continue;const H=g.value.get(v.id);H&&A.push(...H)}const{autoNodes:D,leftNode:q,rightNode:Z}=x(A);P(D,{leftNode:q,rightNode:Z,virtualEdges:B.get(0),cachedFindNode:j}),V&&d()}function P(V,S){var Ee,J,W,re,me;const{leftNode:B,rightNode:U,virtualEdges:j,cachedFindNode:z}=S||{},K=B?(z??l)(B.id):void 0,M=U?(z??l)(U.id):void 0;let L;if(V.length>0){L=new vd.graphlib.Graph({multigraph:!0}),L.setGraph({rankdir:o==="request"?"LR":"RL",nodesep:k,edgesep:N,ranksep:I});const ge=new Set;for(const ce of V){const Ve=(z??l)(ce.id);if(!Ve){console.warn(`Cannot find graph node '${ce.id}' in ${o} phase`);continue}ge.add(ce.id),wo(ce)?L.setNode(ce.id,{...ce.dimensions??Ve.dimensions}):L.setNode(ce.id,{...Ve.dimensions})}for(const ce of i.value)!ge.has(ce.source)||!ge.has(ce.target)||L.setEdge(ce.source,ce.target,{points:[]});j==null||j.forEach(ce=>L.setEdge(ce,{points:[]})),vd.layout(L)}const A=[],D=ge=>({x:ge.x-ge.width/2,y:ge.y-ge.height/2,width:ge.width,height:ge.height});if(V.length>0){if(!L)throw new Error("Expected dagreGraph to be initialized");for(const ge of V){const ce=L.node(ge.id),Ve=D(ce);A.push(Ve),wo(ge)?h(ge.id,Ve,Ve.x+Hn,Ve.y+Hn):p(ge.id,{x:Ve.x,y:Ve.y},!1)}}const q=A.length>0?Hc(A):{x:0,y:0,width:0,height:0},Z=q.width,v=q.height,H=q.x,ee=q.x+q.width,Ae=Math.max(0,Math.min(e.toValue(E==null?void 0:E.width)??Number.POSITIVE_INFINITY,lE)-Z-2*k-(((Ee=K==null?void 0:K.dimensions)==null?void 0:Ee.width)??0)-(((J=M==null?void 0:M.dimensions)==null?void 0:J.width)??0)-2*C),Ie=q.y+v/2;B&&p(B.id,{x:H-k-Ae/2-(((W=K==null?void 0:K.dimensions)==null?void 0:W.width)??0),y:Ie-(((re=K==null?void 0:K.dimensions)==null?void 0:re.height)??0)/2},!1),U&&p(U.id,{x:ee+k+Ae/2,y:Ie-(((me=M==null?void 0:M.dimensions)==null?void 0:me.height)??0)/2},!1)}function x(V){let S,B;const U=[];for(const j of V){if(wo(j)){U.push(j);continue}switch(j.name){case"request":{if(o!=="request")throw new Error(`Unexpected request node in ${o} phase`);if(S)throw new Error("Duplicated request node in request phase");S=j;break}case"service_request":{if(o!=="request")throw new Error(`Unexpected service_request node in ${o} phase`);if(B)throw new Error("Duplicated service_request node in request phase");B=j;break}case"service_response":{if(o!=="response")throw new Error(`Unexpected service_response node in ${o} phase`);if(B)throw new Error("Duplicated service_response node in response phase");B=j;break}case"response":{if(o!=="response")throw new Error(`Unexpected response node in ${o} phase`);if(S)throw new Error("Duplicated response node in response phase");S=j;break}default:{U.push(j);break}}}return{autoNodes:U,leftNode:S,rightNode:B}}return{autoLayout:$}}function g1({phase:t,groupMapById:n,getNodeDepth:o,canAddMember:r,draggingId:a}){const i=e.shallowRef(),l=e.shallowRef();function s(d){i.value=d,l.value=void 0}function c(){i.value&&(i.value=void 0,l.value=void 0)}function u(d){let f;const m=a==null?void 0:a.value;return n.value.forEach(g=>{if(g.phase!==t||m&&ja(m)&&!r(g.ownerId,g.branch,m))return;const _=g.position,y=g.dimensions;if(!_||!y||!(d.x>=_.x&&d.x<=_.x+y.width&&d.y>=_.y&&d.y<=_.y+y.height))return;const w=o(g.ownerId);(!f||w>f.depth)&&(f={depth:w,id:g.id})}),f==null?void 0:f.id}function p(d){if(!i.value){l.value=void 0;return}if(!d){l.value=void 0;return}l.value=u(d)}return{activeGroupId:l,start:s,updateActiveGroup:p,end:c}}function h1({phase:t,readonly:n,flowId:o,draggingId:r}){const{findNode:a}=Ke.useVueFlow(o),i=Xe(),{state:l,groupMapById:s,getNodeById:c,moveNode:u,moveGroup:p,setGroupLayout:d,commit:f,branchGroups:m}=i,{memberGroupMap:g,groupsByOwner:_,getNodeDepth:y,getGroupDepth:h}=m,w=M=>!!M&&M.startsWith("branch:");function E(M){const L=[];for(const A of M.memberIds){const D=c(A);D&&L.push(D)}return L}const C=e.computed(()=>{const M=new Map;return g.value.forEach((L,A)=>{if(L.phase!==t||!L.position)return;const D=c(A);D&&(D.phase!==t||D.hidden||M.set(A,L))}),M}),b=e.computed(()=>{const M=new Map;return _.value.forEach((L,A)=>{const D=L.filter(q=>q.phase===t);D.length>0&&M.set(A,D)}),M}),k=e.computed(()=>{const M=[];for(const L of l.value.groups){const A=c(L.ownerId);if(!A||A.phase!==t)continue;const D=L.position,q=L.dimensions;if(!D||!q)continue;const Z=E(L).filter(H=>H.phase===t&&!H.hidden),v=h(L.id);M.push({id:L.id,type:"group",position:D,width:q.width,height:q.height,data:{...L,memberIds:Z.map(H=>H.id)},draggable:!n,selectable:!1,zIndex:v*hr+oE})}return M}),N=e.computed(()=>{let M=0;for(const L of l.value.groups){if(L.phase!==t)continue;const A=h(L.id);A>M&&(M=A)}return M}),I=e.computed(()=>{const M=[];for(const L of l.value.groups){if(L.phase!==t||!L.position||!L.dimensions)continue;const A=c(L.ownerId);if(!A||A.phase!==t||A.hidden||!E(L).filter(v=>v.phase===t&&!v.hidden).length)continue;const q=Math.max(y(A.id),h(L.id))+N.value+1,Z={id:`branch:${L.id}`,source:A.id,target:L.id,sourceHandle:`branch@${L.branch}`,targetHandle:"input",markerEnd:Ke.MarkerType.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:A.id,branch:L.branch,groupId:L.id},zIndex:q*hr+aE};M.push(Z)}return M}),$=new Map,P=new Map;let x;function V(M,L=!0){if(M.phase!==t)return;const A=E(M).filter(H=>H.phase===t&&!H.hidden);if(!A.length)return;const D=[];for(const H of A){const ee=a(H.id),Ae=ee==null?void 0:ee.dimensions,Ie=(Ae==null?void 0:Ae.width)??0,Ee=(Ae==null?void 0:Ae.height)??0;if(Ie<=0||Ee<=0)return;D.push({...H.position,width:Ie,height:Ee});const J=_.value.get(H.id)??[];for(const W of J){if(W.phase!==t)continue;const re=$.get(W.id),me=(re==null?void 0:re.position)??W.position,ge=(re==null?void 0:re.dimensions)??W.dimensions;!me||!ge||D.push({x:me.x,y:me.y,width:ge.width,height:ge.height})}}const q=Hc(D),Z=q.width+Hn*2,v=q.height+Hn*2;return{position:{x:Math.round(q.x-Hn),y:Math.round(q.y-Hn)},dimensions:{width:Math.round(Z),height:Math.round(v)},commit:L}}function S(){if($.size===0){x=void 0;return}const M=[];let L=!1;$.forEach((A,D)=>{const q=d(D,A,!1);M.push({id:D,changed:q,commit:A.commit}),A.commit&&q&&!L&&(L=!0)}),$.clear(),x=void 0;for(const{id:A,changed:D,commit:q}of M){if(!D)continue;const Z=s.value.get(A);if(!Z)continue;const v=C.value.get(Z.ownerId);v&&P.set(v.id,{commit:q})}if(P.size>0){const A=Array.from(P);P.clear();for(const[D,{commit:q}]of A)U(D,q)}L&&f("*")}function B(){$.size!==0&&(x||(x=e.nextTick().then(S)))}function U(M,L=!0){const A=s.value.get(M);if(!A)return;const D=V(A,L);D&&($.set(M,D),B())}function j(M,L,A,D){const q=s.value.get(M);if(!q)return;if(!q.position){p(M,L,!1),U(M);return}if(A===0&&D===0){p(M,L,!1);return}p(M,L,!1);const Z=[M],v=new Set([M]),H=new Set;for(;Z.length;){const ee=Z.shift(),Ae=s.value.get(ee);if(!Ae)continue;const Ie=E(Ae).filter(Ee=>Ee.phase===t&&!Ee.hidden);for(const Ee of Ie){H.has(Ee.id)||(u(Ee.id,{x:Ee.position.x+A,y:Ee.position.y+D},!1),H.add(Ee.id));const J=b.value.get(Ee.id)??[];for(const W of J){if(v.has(W.id))continue;const re=s.value.get(W.id);re!=null&&re.position&&p(W.id,{x:re.position.x+A,y:re.position.y+D},!1),v.add(W.id),Z.push(W.id)}}}}function z(M,L){const A=r==null?void 0:r.value;if(!A)return!1;if(A===M||L.some(D=>A===D))return!0;for(const D of L){const q=b.value.get(D)??[];if(q!=null&&q.some(Z=>Z.id===A))return!0}return!1}const K=new Map;return e.watch(()=>l.value.groups.filter(L=>L.phase===t).map(L=>{const A=L.memberIds.map(D=>{var H,ee;const q=a(D),Z=Math.round(((H=q==null?void 0:q.dimensions)==null?void 0:H.width)??0),v=Math.round(((ee=q==null?void 0:q.dimensions)==null?void 0:ee.height)??0);return`${D}:${Z}x${v}`});return{id:L.id,memberIds:L.memberIds,signature:A.join(",")}}),M=>{const L=new Set(M.map(A=>A.id));for(const A of K.keys())L.has(A)||K.delete(A);for(const A of M)z(A.id,A.memberIds)||K.get(A.id)===A.signature||(K.set(A.id,A.signature),U(A.id))},{deep:!0,flush:"post"}),{groupsByOwner:b,memberGroupMap:C,groupNodes:k,branchEdges:I,isBranchEdgeId:w,updateGroupLayout:U,translateGroupTree:j,getNodeDepth:y,maxGroupDepth:N,waitForLayoutFlush:()=>x??Promise.resolve()}}function y1(t){e.provide(Gc,t)}function jd(){return e.inject(Gc,void 0)}function Ud(){const t=jd();if(!t)throw new Error("Confirm modal not provided");return t}function _1(t){const{readonly:n,flowId:o}=t,r=Ke.useVueFlow(o),{onNodesChange:a,onEdgesChange:i,onPaneClick:l,findEdge:s}=r,{disconnectEdge:c,commit:u,portalSelection:p,selectPortalEdge:d}=Xe();a(f=>{f.some(m=>m.type==="select"&&"selected"in m&&m.selected)&&d(void 0)}),i(f=>{const m=f.some(_=>_.type==="select"&&"selected"in _&&_.selected),g=p.value?f.some(_=>_.type==="remove"&&_.id===p.value):!1;(m||g)&&d(void 0)}),l(()=>d(void 0)),Ye.useEventListener("keydown",f=>{if(n||f.key!=="Delete"&&f.key!=="Backspace")return;const m=p.value;!m||s(m)||(f.preventDefault(),c(m,!1),d(void 0),u())})}function Kd(t){const n=t.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}const b1={default:S_,hover:I_,selected:P_};let qd,ci;function xr(t){const n=t.id===qd?"selected":t.id===ci?"hover":"default",o=b1[n],{markerEnd:r}=t,a=typeof r=="object"?{...r,color:o}:{type:r,color:o},i=t.zIndex??0,l=n==="selected"?i+2:n==="hover"?i+1:i;return{...t,style:{...t.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:a,zIndex:l}}const[k1,w1]=Ye.createInjectionState(function(t){const{phase:n,flowId:o,layoutOptions:r,readonly:a}=t,{viewport:i,padding:l=ln.padding,gaps:s=ln.gaps}=r,{nodes:c=ln.gaps.nodes}=s,u=Ke.useVueFlow(o),p=Xe(),d=jd(),f=ka(),{i18n:{t:m}}=$e(),{findNode:g,fitView:_,deleteKeyCode:y,onNodeDrag:h,onNodeDragStop:w,onConnect:E,onNodesChange:C,onEdgesChange:b,onEdgeUpdate:k,onEdgeMouseEnter:N,onEdgeMouseLeave:I,getNodes:$,setNodes:P,setEdges:x,addSelectedNodes:V,screenToFlowCoordinate:S}=u;y.value=["Delete","Backspace"];const{state:B,commit:U,moveNode:j,selectNode:z,removeNode:K,getNodeById:M,connectEdge:L,disconnectEdge:A,getInEdgesByNodeId:D,branchGroups:q,commit:Z,reset:v,groupMapById:H}=p,{isGroupId:ee,canAddMember:Ae}=q,Ie=e.shallowRef(),Ee=Y=>{Ie.value=Y},J=e.readonly(Ie);function W(Y,ke){const ye=M(Y.source),ne=M(Y.target);return!!(ye&&ne&&ye.phase===ke&&ne.phase===ke)}const re=h1({phase:n,readonly:a,flowId:o,draggingId:J}),{memberGroupMap:me,groupNodes:ge,branchEdges:ce,isBranchEdgeId:Ve,updateGroupLayout:ve,translateGroupTree:de,getNodeDepth:se,maxGroupDepth:ue}=re,{activeGroupId:pe,start:ae,updateActiveGroup:F,end:T}=g1({phase:n,groupMapById:H,getNodeDepth:se,canAddMember:Ae,draggingId:J}),X=e.computed(()=>B.value.nodes.filter(Y=>Y.phase===n&&!Y.hidden).map(Y=>{const ke=me.value.get(Y.id),ye=ke==null?void 0:ke.position,ne=ke==null?void 0:ke.dimensions,xe=ke&&ye&&ne?{x:Y.position.x-ye.x,y:Y.position.y-ye.y}:Y.position,Ce=se(Y.id),he=!!(ke&&ye&&ne),Te=(he?Ce:0)+ue.value+1;return{id:Y.id,type:"flow",position:xe,data:Y,deletable:!va(Y),parentNode:he?ke.id:void 0,zIndex:Te*hr+iE}})),Q=e.computed(()=>B.value.edges.filter(Y=>W(Y,n)).filter(Y=>!q.isEdgeEnteringGroup(Y.source,Y.target)).filter(Y=>{const ke=M(Y.source),ye=M(Y.target);return!(ke!=null&&ke.hidden)&&!(ye!=null&&ye.hidden)}).map(Y=>{const ke=M(Y.source),ye=M(Y.target);if(!ke||!ye){const xe=[];throw ke||xe.push(`source node "${Y.source}"`),ye||xe.push(`target node "${Y.target}"`),new Error(`Missing ${xe.join(" and ")} for edge "${Y.id}" in phase "${n}"`)}const ne=Math.max(se(Y.source),se(Y.target))+ue.value+1;return xr({id:Y.id,source:Y.source,target:Y.target,sourceHandle:Y.sourceField?`outputs@${Y.sourceField}`:"output",targetHandle:Y.targetField?`inputs@${Y.targetField}`:"input",markerEnd:Ke.MarkerType.ArrowClosed,data:Y,updatable:!a,zIndex:ne*hr+rE})})),G=e.computed(()=>[...ce.value,...Q.value]),{autoLayout:_e}=m1({phase:n,layoutOptions:r,branchLayout:re,nodes:X,edges:G});_1({readonly:a,flowId:o}),e.watch([X,ge,G],([Y,ke,ye])=>{P([...ke,...Y]),x(ye)},{immediate:!0});const ie=e.computed(()=>({padding:l/Math.max(e.toValue(i==null?void 0:i.width)??0,e.toValue(i==null?void 0:i.height)??0)}));async function Ne({source:Y,sourceHandle:ke,target:ye,targetHandle:ne}){if(!ke||!ne)return;const xe=Kd(ke),Ce=Kd(ne);if((xe==null?void 0:xe.io)==="input"||(Ce==null?void 0:Ce.io)==="output"||ke==="output"&&ne==="output")return;const he=D(ye);let Te=!1,Be=!1;const Me=[],Re=[],je=(Ce==null?void 0:Ce.io)==="input"?he.filter(rt=>!rt.targetField):he.filter(rt=>!!rt.targetField);je.length>0&&(Te=!0,je.forEach(rt=>{Re.push(Ao(rt,M)),A(rt.id,!1)}));const Qe=(Ce==null?void 0:Ce.io)==="input"?Ce!=null&&Ce.field?he.filter(rt=>rt.targetField===Ce.field):he.filter(rt=>!!rt.targetField):he.filter(rt=>!rt.targetField);if(Qe.length>0){if(Qe.some(It=>It.source===Y&&It.target===ye&&It.targetField===(Ce==null?void 0:Ce.field)&&It.sourceField===(xe==null?void 0:xe.field)))return;Be=!0,Qe.forEach(It=>{Re.push(Ao(It,M)),A(It.id,!1)})}if(!L({source:Y,sourceField:xe==null?void 0:xe.field,target:ye,targetField:Ce==null?void 0:Ce.field},!1)){v(),f({message:m("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(Me.push(Ja(Y,xe==null?void 0:xe.field,ye,Ce==null?void 0:Ce.field,M)),Te||Be){if(!d)throw v(),new Error("Expected confirm modal to be provided here when reachable");if(!await d(m(Te?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),Me,Re)){v();return}}Z()}E(Ne);let Pe=!1;const le=()=>{Pe&&(Pe=!1,Z())};C(Y=>{Y.filter(ne=>ne.type==="select").filter(ne=>!ee(ne.id)).sort((ne,xe)=>ne.selected===xe.selected?0:ne.selected?1:-1).forEach(ne=>{z(ne.selected?ne.id:void 0)});let ye=!1;Y.forEach(ne=>{if(ne.type==="remove"){if(ee(ne.id))return;ye=!0,K(ne.id,!1)}}),ye&&!Pe&&(Pe=!0,queueMicrotask(le))}),h(({node:Y,event:ke})=>{var he,Te,Be;if(!Y)return;if(ee(Y.id)){const Me=Y.id;Ee(Me),F(void 0);const Re=H.value.get(Me);if(!Re)return;const je=Re.position??{...Y.position},Qe=Y.position.x-je.x,Vn=Y.position.y-je.y;de(Me,Y.position,Qe,Vn);const rt=me.value.get(Re.ownerId);rt&&ve(rt.id,!1);return}const ye=Y.id;ae("canvas"),Ee(ye);const ne=Y.parentNode;let xe={...Y.position};if(ne&&ee(ne)){const Me=H.value.get(ne);Me!=null&&Me.position&&(xe={x:Me.position.x+Y.position.x,y:Me.position.y+Y.position.y})}if(j(ye,xe,!1),!va(M(ye))){const Me={x:xe.x,y:xe.y,width:((he=Y.dimensions)==null?void 0:he.width)??0,height:((Te=Y.dimensions)==null?void 0:Te.height)??0},Re=ke&&"clientX"in ke?S({x:ke.clientX,y:ke.clientY}):void 0,je={x:Me.x+Me.width/2,y:Me.y+Me.height/2};F(Re??je)}const Ce=ne&&ee(ne)?ne:(Be=me.value.get(ye))==null?void 0:Be.id;Ce&&ve(Ce,!1)}),w(({node:Y})=>{var Ce;if(!Y)return;if(Ee(void 0),ee(Y.id)){U();return}const ke=Y.id,ye=Y.parentNode;let ne={...Y.position};if(ye&&ee(ye)){const he=H.value.get(ye);he!=null&&he.position&&(ne={x:he.position.x+Y.position.x,y:he.position.y+Y.position.y})}j(ke,ne,!1);const xe=ye&&ee(ye)?ye:(Ce=me.value.get(ke))==null?void 0:Ce.id;xe&&ve(xe,!1),Zt(ke),T(),U()}),b(Y=>{Y.filter(ne=>ne.type==="select").sort((ne,xe)=>ne.selected===xe.selected?0:ne.selected?1:-1).forEach(ne=>{Ve(ne.id)||(qd=ne.selected?ne.id:void 0,x(xe=>xe.map(Ce=>Ce.id!==ne.id||!Ce.markerEnd?Ce:xr({...Ce,zIndex:ne.selected?1:void 0}))))});let ye=!1;Y.forEach(ne=>{if(ne.type==="remove"){if(Ve(ne.id))return;ye=!0,A(ne.id,!1)}}),ye&&!Pe&&(Pe=!0,queueMicrotask(le))}),N(({edge:Y})=>{Ve(Y.id)||(ci=Y.id,x(ke=>ke.map(ye=>ye.id!==Y.id?ye:xr(ye))))}),I(({edge:Y})=>{Ve(Y.id)||(ci=void 0,x(ke=>ke.map(ye=>ye.id!==Y.id?ye:xr(ye))))}),k(({edge:Y,connection:ke})=>{Ve(Y.id)||(A(Y.id,!1),Ne(ke))});function te(Y){_({...ie.value,...Y})}async function We(Y){return z(Y),new Promise(ke=>setTimeout(()=>{const ye=g(Y);V(ye?[ye]:[]),ke()},0))}function vt(Y){const ke=$.value.filter(({type:je})=>je!=="group"),ye=ke.find(({id:je})=>je===Y);if(!ye)throw new Error(`Node ${Y} not found`);const{x:ne,y:xe}=ye.data.position,{width:Ce,height:he}=ye.dimensions,Te=xe,Be=xe+he,Me=ke.filter(({id:je})=>je!==Y).filter(({data:{position:{y:je}},dimensions:{height:Qe}})=>je<Be&&je+Qe>Te).map(({data:{position:{x:je}},dimensions:{width:Qe}})=>({left:je,right:je+Qe})).sort((je,Qe)=>je.left-Qe.left);let Re=ne+Ce+c;for(const{left:je,right:Qe}of Me)if(!(Qe<=Re)){if(Re+Ce<=je)return{x:Re,y:Te};Re=Math.max(Re,Qe)+c}return{x:Re,y:Te}}function sn(Y){if(!Y)return;const ke=g(Y);if(!ke)throw new Error(`Node ${Y} not found`);const{position:{x:ye},dimensions:{width:ne}}=ke,xe=ye+ne,{viewport:Ce,dimensions:he,setViewport:Te}=u,{x:Be,y:Me,zoom:Re}=Ce.value,{width:je}=he.value,Qe=ye*Re+Be,Vn=xe*Re+Be,rt=je-qc-c;if(Vn<=rt)return;let It=rt-Vn;Qe+It<0&&(It=-Qe),It!==0&&Te({x:Be+It,y:Me,zoom:Re},{duration:dE})}function Zt(Y){if(!pe.value)return!1;const{nodeId:ke,branch:ye}=BC(pe.value),ne=q.addMember(ke,ye,Y,{commit:!1});return F(void 0),ne}return{vueFlowStore:u,editorStore:p,readonly:a,nodes:X,edges:G,selectNode:We,autoLayout:_e,placeToRight:vt,scrollRightToReveal:sn,fitViewParams:ie,fitView:te,groupDrop:{activeGroupId:pe,startPanelDrag:()=>ae("panel"),endPanelDrag:T,updateActiveGroup:F,attachNodeToActiveGroup:Zt}}});let Yn=null;function C1(){var n;if(Yn)return Yn;if(typeof navigator>"u")return Yn="windows";const t=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(t)?Yn="mac":/Linux/i.test(t)&&!/Android/i.test(t)?Yn="linux":Yn="windows"}const E1={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},N1={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"},x1={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 A1(t,n={}){const o=n.platform??C1(),r=n.joiner??(o==="mac"?"":" + "),a=o==="mac"?E1:o==="linux"?x1:N1;return(Array.isArray(t)?t:t[o]).map(l=>l in a?a[l]:l).join(r)}const S1={key:0,class:"label"},P1={class:"keys"},Ar=be(e.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(t){const n=A1(t.keys);return(o,r)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["dk-hotkey-label",{reverse:t.reverse}])},[t.label?(e.openBlock(),e.createElementBlock("span",S1,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("kbd",P1,e.toDisplayString(e.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),I1=["onClick"],T1={key:0,class:"additional-count"},Gd=24,O1=16,Sr=be(e.defineComponent({__name:"NodePortal",props:{expanded:{type:Boolean,default:()=>{}},reversed:{type:Boolean},targets:{}},setup(t){const n=Number.parseFloat(M_)||0,o={target:"body"},{portalSelection:r,selectPortalEdge:a}=Xe(),i=e.ref(!1),l=e.computed(()=>{const g=r.value;return g?t.targets.some(_=>_.edgeId===g):!1}),s=e.computed(()=>t.expanded!==void 0?t.expanded||l.value:i.value||l.value),c=()=>Gd*t.targets.length+n*(t.targets.length-1),u=e.computed(()=>({width:s.value?`${c()}px`:"fit-content"})),p=g=>{a(g)},d=g=>r.value===g,f=e.computed(()=>t.targets.map((g,_)=>{var h;const y=(Gd+n)*_;return{edgeId:g.edgeId,key:`${g.node.id}-${g.fieldName??"node"}-${_}`,icon:(h=ft[g.node.type])==null?void 0:h.icon,tooltip:g.fieldName?`${g.node.name}.${g.fieldName}`:g.node.name,highlighted:d(g.edgeId),tooltipEl:null,style:_===0?{width:"fit-content",zIndex:t.targets.length}:{position:"absolute",...t.reversed?{left:`${y}px`,transform:s.value?"translateX(0)":`translateX(-${y}px)`}:{right:0,transform:s.value?`translateX(-${y}px)`:"translateX(0)"},zIndex:t.targets.length-_}}})),m=e.computed(()=>Math.max(t.targets.length-1,0));return(g,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dk-node-portal",{expanded:s.value,reversed:t.reversed}]),onClick:_[0]||(_[0]=e.withModifiers(()=>{},["stop"])),onDragstart:_[1]||(_[1]=e.withModifiers(()=>{},["stop"])),onMousedown:_[2]||(_[2]=e.withModifiers(()=>{},["stop"])),onMouseenter:_[3]||(_[3]=y=>i.value=!0),onMouseleave:_[4]||(_[4]=y=>i.value=!1)},[e.createElementVNode("div",{class:"target-boxes",style:e.normalizeStyle(u.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(y,h)=>(e.openBlock(),e.createBlock(e.unref(Oe.KTooltip),{key:y.key,class:"target-box-wrapper","kpop-attributes":o,placement:"top",style:e.normalizeStyle(y.style),text:y.tooltip},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["target-box",{highlighted:y.highlighted}]),onClick:e.withModifiers(w=>p(y.edgeId),["stop"])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.icon),{color:e.unref(Dn),size:O1},null,8,["color"])),h===0&&m.value>0?(e.openBlock(),e.createElementBlock("span",T1," +"+e.toDisplayString(m.value),1)):e.createCommentVNode("",!0)],10,I1)]),_:2},1032,["style","text"]))),128))],4)],34))}}),[["__scopeId","data-v-926821a3"]]),Pr=be(e.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>Ke.Position.Left},size:{default:()=>Number.parseFloat(_s)},type:{}},setup(t){e.useCssVars(o=>({v753622c4:o.color}));const n=e.computed(()=>({width:`${t.size}px`,minWidth:`${t.size}px`}));return(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["handle-twig",[t.type,t.position===e.unref(Ke.Position).Left?"left":"right"]]),style:e.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),zd=be(e.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(t){e.useCssVars(r=>{var a,i;return{b58c4842:(a=n.value.colors)==null?void 0:a.background,v6ae9eff4:(i=n.value.colors)==null?void 0:i.foreground}});const n=e.computed(()=>ft[t.type]),o=e.computed(()=>TC(t.type));return(r,a)=>{var l;const i=e.resolveComponent("KBadge");return e.openBlock(),e.createBlock(i,{appearance:"neutral",class:e.normalizeClass(["dk-node-badge",{"icon-only":t.iconOnly,"has-colors":!!n.value.colors}]),size:t.size},e.createSlots({default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(o.value),1)]),_:2},[(l=n.value)!=null&&l.icon?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value.icon)))]),key:"0"}:void 0]),1032,["class","size"])}}}),[["__scopeId","data-v-05435e4f"]]),V1={class:"body"},B1={class:"name"},$1={class:"handle"},R1={class:"handle-label-wrapper"},F1={class:"handle-label-wrapper"},L1={class:"handle-label text"},D1={class:"handle"},M1={class:"handle-label-wrapper"},v1={class:"handle-label-wrapper"},j1={class:"handle-label text"},U1={key:2,class:"branch-handles"},K1={class:"handle-label-wrapper"},q1={class:"handle-label text"},Hd=be(e.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(t){const{t:n}=Ze.createI18n("en-us",et),o=w1(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:a,getNodeById:i,toggleExpanded:l,duplicateNode:s,removeNode:c,propertiesPanelOpen:u,branchGroups:p}=Xe(),d=e.computed(()=>zn(t.data.type)),f=e.computed(()=>t.data.fields.input.length>0),m=e.computed(()=>t.data.fields.output.length>0),g=e.computed(()=>f.value&&r(t.data.id).every(A=>A.targetField===void 0)),_=e.computed(()=>m.value&&a(t.data.id).every(A=>A.sourceField===void 0)),y=e.computed(()=>t.data.expanded.input??!1),h=e.computed(()=>t.data.expanded.output??!1),w=e.computed(()=>{var A,D,q;return((q=(D=(A=d.value.io)==null?void 0:A.next)==null?void 0:D.branches)==null?void 0:q.map(({name:Z})=>Z))??[]}),E=e.computed(()=>w.value.length>0),C=e.computed(()=>p.findMembership(t.data.id)),b=e.computed(()=>{var A,D;if(t.data.type==="property"){const q=(A=t.data.config)==null?void 0:A.property;return Ya(q)}return(D=d.value.io)==null?void 0:D.input}),k=e.computed(()=>{var A,D;if(t.data.type==="property"){const q=(A=t.data.config)==null?void 0:A.property;return Wa(q)}return(D=d.value.io)==null?void 0:D.output}),N=e.computed(()=>va(t.data)),I=e.computed(()=>t.data.phase==="response"),$=e.computed(()=>t.data.phase==="request"?Ke.Position.Left:Ke.Position.Right),P=e.computed(()=>t.data.phase==="request"?Ke.Position.Right:Ke.Position.Left),x=e.computed(()=>t.data.phase==="request"?Ke.Position.Right:Ke.Position.Left),V=e.computed(()=>N.value?n(`plugins.free-form.datakit.flow_editor.node_types.${t.data.type}.name`):t.data.name),S=e.computed(()=>N.value?N_:ha);function B(A){return A==="input"?I.value:!I.value}function U(A){const D=new Map,q=A==="input"?r(t.data.id):a(t.data.id);for(const Z of q){const v=i(A==="input"?Z.source:Z.target);if(!v)continue;if(A==="input"){const Ee=v.type==="vault",J=v.phase!==t.data.phase,W=p.isEdgeEnteringGroup(v.id,t.data.id);if(!(Ee||J||W))continue}else{const Ee=v.phase!==t.data.phase,J=p.isEdgeEnteringGroup(t.data.id,v.id);if(!(Ee||J))continue}const H=A==="input"?Z.targetField||"input":Z.sourceField||"output";let ee;if(A==="input"&&Z.sourceField){const Ee=v.fields.output.find(J=>J.id===Z.sourceField);ee=Ee==null?void 0:Ee.name}else if(A==="output"&&Z.targetField){const Ee=v.fields.input.find(J=>J.id===Z.targetField);ee=Ee==null?void 0:Ee.name}const Ae={edgeId:Z.id,node:v,fieldName:ee},Ie=D.get(H);Ie?Ie.push(Ae):D.set(H,[Ae])}return D}const j=e.computed(()=>U("input")),z=e.computed(()=>U("output"));function K(A){!o||o.readonly||A==="input"&&!g.value||A==="output"&&!_.value||l(t.data.id,A)}async function M(){if(!o||o.readonly)return;const A=s(t.data.id,o.placeToRight(t.data.id));await o.selectNode(A),o.scrollRightToReveal(A),u.value=!0}function L(){p.removeMember(t.data.id)}return e.watch(g,A=>{A||l(t.data.id,"input",!0,!0,"*")},{immediate:!0}),e.watch(_,A=>{A||l(t.data.id,"output",!0,!0,"*")},{immediate:!0}),e.watch(()=>t.data.fields.input,(A,D)=>{Qt(A,D)||l(t.data.id,"input",A.length>0,!0,"*")},{deep:!0}),e.watch(()=>t.data.fields.output,(A,D)=>{Qt(A,D)||l(t.data.id,"output",A.length>0,!0,"*")},{deep:!0}),(A,D)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dk-flow-node",{reversed:I.value,implicit:N.value,readonly:t.readonly}])},[e.createElementVNode("div",V1,[N.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(Oe.KTooltip),{key:0,class:"badge",placement:"top",text:t.data.type},{default:e.withCtx(()=>[e.createVNode(zd,{"icon-only":"",size:"small",type:t.data.type},null,8,["type"])]),_:1},8,["text"])),e.createElementVNode("div",B1,e.toDisplayString(V.value),1),t.error?(e.openBlock(),e.createBlock(e.unref(fe.WarningIcon),{key:1,class:"error-icon",color:e.unref(ya),size:16},null,8,["color"])):e.createCommentVNode("",!0),N.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(Oe.KDropdown),{key:2,class:"menu",disabled:t.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:D[1]||(D[1]=e.withModifiers(()=>{},["stop"]))},{items:e.withCtx(()=>[e.createVNode(e.unref(Oe.KDropdownItem),{onClick:M},{default:e.withCtx(()=>[e.createVNode(Ar,{keys:e.unref(yr).duplicate,label:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),C.value?(e.openBlock(),e.createBlock(e.unref(Oe.KDropdownItem),{key:0,onClick:L},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(Oe.KDropdownItem),{danger:"",onClick:D[0]||(D[0]=q=>e.unref(c)(t.data.id))},{default:e.withCtx(()=>[e.createVNode(Ar,{keys:e.unref(yr).delete,label:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(Oe.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.MoreIcon),{color:e.unref(so)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),e.createElementVNode("div",{class:e.normalizeClass(["handles",{reversed:I.value}])},[b.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["input-handles",{"has-fields":f.value}])},[e.createElementVNode("div",$1,[e.createVNode(e.unref(Ke.Handle),{id:"input",position:$.value,type:"target"},null,8,["position"]),j.value.has("input")?(e.openBlock(),e.createBlock(Sr,{key:0,mode:"input",reversed:B("input"),targets:j.value.get("input")},null,8,["reversed","targets"])):e.createCommentVNode("",!0),e.createElementVNode("div",R1,[e.createElementVNode("div",{class:e.normalizeClass(["handle-label trigger",{collapsible:g.value}]),onClick:D[2]||(D[2]=e.withModifiers(q=>K("input"),["stop"]))},[D[4]||(D[4]=e.createElementVNode("div",{class:"text"}," inputs ",-1)),f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(fe.UnfoldMoreIcon),{key:0,size:e.unref(Zo)},null,8,["size"])),y.value?(e.openBlock(),e.createBlock(e.unref(fe.UnfoldLessIcon),{key:1,color:g.value?void 0:e.unref(ys),size:e.unref(Zo)},null,8,["color","size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2),f.value&&y.value?(e.openBlock(),e.createBlock(Pr,{key:0,color:S.value,position:$.value,type:"bar"},null,8,["color","position"])):e.createCommentVNode("",!0)])]),f.value&&y.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.data.fields.input,(q,Z)=>(e.openBlock(),e.createElementBlock("div",{key:`inputs-${q.id}`,class:"handle indented"},[e.createVNode(e.unref(Ke.Handle),{id:`inputs@${q.id}`,position:$.value,type:"target"},null,8,["id","position"]),j.value.has(q.id)?(e.openBlock(),e.createBlock(Sr,{key:0,mode:"input",reversed:B("input"),targets:j.value.get(q.id)},null,8,["reversed","targets"])):e.createCommentVNode("",!0),e.createElementVNode("div",F1,[e.createElementVNode("div",L1,e.toDisplayString(q.name),1),e.createVNode(Pr,{color:S.value,position:$.value,type:Z<t.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),k.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["output-handles",{"has-fields":m.value}])},[e.createElementVNode("div",D1,[e.createElementVNode("div",M1,[e.createElementVNode("div",{class:e.normalizeClass(["handle-label trigger",{collapsible:_.value}]),onClick:D[3]||(D[3]=e.withModifiers(q=>K("output"),["stop"]))},[D[5]||(D[5]=e.createElementVNode("div",{class:"text"}," outputs ",-1)),m.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(fe.UnfoldMoreIcon),{key:0,size:e.unref(Zo)},null,8,["size"])),h.value?(e.openBlock(),e.createBlock(e.unref(fe.UnfoldLessIcon),{key:1,color:_.value?void 0:e.unref(ys),size:e.unref(Zo)},null,8,["color","size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2),m.value&&h.value?(e.openBlock(),e.createBlock(Pr,{key:0,color:S.value,position:P.value,type:"bar"},null,8,["color","position"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(Ke.Handle),{id:"output",position:P.value,type:"source"},null,8,["position"]),z.value.has("output")?(e.openBlock(),e.createBlock(Sr,{key:0,mode:"output",reversed:B("output"),targets:z.value.get("output")},null,8,["reversed","targets"])):e.createCommentVNode("",!0)]),m.value&&h.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.data.fields.output,(q,Z)=>(e.openBlock(),e.createElementBlock("div",{key:`outputs-${q.id}`,class:"handle indented"},[e.createElementVNode("div",v1,[e.createElementVNode("div",j1,e.toDisplayString(q.name),1),e.createVNode(Pr,{color:S.value,position:P.value,type:Z<t.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),e.createVNode(e.unref(Ke.Handle),{id:`outputs@${q.id}`,position:P.value,type:"source"},null,8,["id","position"]),z.value.has(q.id)?(e.openBlock(),e.createBlock(Sr,{key:0,mode:"output",reversed:B("output"),targets:z.value.get(q.id)},null,8,["reversed","targets"])):e.createCommentVNode("",!0)]))),128)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createElementBlock("div",U1,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,q=>(e.openBlock(),e.createElementBlock("div",{key:`branch-${q}`,class:"handle"},[e.createElementVNode("div",K1,[e.createElementVNode("div",q1,e.toDisplayString(q),1)]),e.createVNode(e.unref(Ke.Handle),{id:`branch@${q}`,connectable:!1,position:x.value,type:"source"},null,8,["id","position"])]))),128))])):e.createCommentVNode("",!0)],2)],2))}}),[["__scopeId","data-v-c0706d4a"]]),G1=be(e.defineComponent({__name:"GroupNode",props:{data:{},active:{type:Boolean}},setup(t){const n=t,o=e.computed(()=>n.data.phase==="response"),r=e.computed(()=>o.value?Ke.Position.Right:Ke.Position.Left);return(a,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dk-branch-group-node",{reversed:o.value,"drop-target":t.active}])},[e.createVNode(e.unref(Ke.Handle),{id:"input",connectable:!1,position:r.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-61116224"]]),Wd=be(e.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(t,{expose:n,emit:o}){const r=o,a=e.useTemplateRef("flowCanvas"),i=Ye.useElementBounding(a),{i18n:{t:l}}=$e(),{vueFlowStore:s,editorStore:c,autoLayout:u,fitViewParams:p,fitView:d,selectNode:f,placeToRight:m,scrollRightToReveal:g,groupDrop:_}=k1({phase:t.phase,flowId:t.flowId,layoutOptions:{viewport:{width:i.width,height:i.height}},readonly:t.mode!=="edit"}),{addNode:y,propertiesPanelOpen:h,invalidConfigNodeIds:w,selectedNode:E,duplicateNode:C,commit:b,selectPortalEdge:k}=c,{screenToFlowCoordinate:N,zoomIn:I,zoomOut:$,viewport:P,maxZoom:x,minZoom:V}=s,{activeGroupId:S,startPanelDrag:B,endPanelDrag:U,updateActiveGroup:j,attachNodeToActiveGroup:z}=_;function K(v){var ee;const H=(ee=v.dataTransfer)==null?void 0:ee.types.find(Ae=>Ae.startsWith(`${Eo}/`));if(H)return H.replace(`${Eo}/`,"")}function M(v){var H;if(t.mode==="edit"){if(((H=v==null?void 0:v.node)==null?void 0:H.type)==="group"){f(void 0),k(void 0);return}h.value=!0}}function L(v){t.mode==="edit"&&(v.preventDefault(),j(N({x:v.clientX,y:v.clientY})))}function A(v){var re;if(t.mode!=="edit")return;const H=(re=v.dataTransfer)==null?void 0:re.getData(Eo);if(!H)return;v.preventDefault();const ee=JSON.parse(H);if(ee.action!=="create-node")return;const Ae=N({x:v.clientX,y:v.clientY}),{type:Ie,anchor:Ee}=ee.data,J={type:Ie,phase:t.phase,position:{x:Ae.x-Ee.offsetX,y:Ae.y-Ee.offsetY}},W=y(J,!1);if(!W){U();return}z(W),b(),f(W),h.value=!0,U()}async function D(){await u(),setTimeout(()=>d(),0)}const q=e.computed(()=>{if(t.mode==="preview")return[];const v=[{name:"zoom_in",icon:fe.AddIcon,action:I,disabled:P.value.zoom>=x.value},{name:"zoom_out",icon:fe.RemoveIcon,action:$,disabled:P.value.zoom<=V.value},{name:"fit_view",icon:fe.FullscreenIcon,action:d}];return t.mode==="edit"&&v.push({name:"auto_layout",icon:fe.AutoLayoutIcon,action:D}),v});t.mode==="edit"&&(Ye.useEventListener("dragstart",v=>{K(v)&&B()}),Ye.useEventListener("dragend",()=>{U()}));async function Z(){const v=E.value;if(t.mode!=="edit"||!v||v.phase!==t.phase)return;const H=C(v.id,m(v.id));H&&(await f(H),h.value=!0,g(H))}return Uc({enabled:e.computed(()=>!!E.value&&t.mode==="edit"&&E.value.phase===t.phase),duplicate:Z}),n({autoLayout:u,fitView:d}),(v,H)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"flowCanvas",ref:a,class:"dk-flow-canvas"},[e.createVNode(e.unref(Ke.VueFlow),{id:t.flowId,class:e.normalizeClass(["flow",{readonly:t.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":t.mode==="edit","max-zoom":e.unref(sE),"min-zoom":e.unref(cE),"multi-selection-key-code":null,"nodes-connectable":t.mode==="edit","nodes-draggable":t.mode==="edit","pan-on-drag":t.mode==="preview"?!1:void 0,"pan-on-scroll":t.mode!=="edit"?!1:void 0,"zoom-on-double-click":t.mode!=="edit"?!1:void 0,"zoom-on-pinch":t.mode!=="edit"?!1:void 0,"zoom-on-scroll":t.mode!=="edit"?!1:void 0,onDragover:L,onDrop:A,onNodeClick:M,onNodesChange:H[0]||(H[0]=ee=>r("nodes-change")),onNodesInitialized:H[1]||(H[1]=ee=>r("initialized"))},{"node-flow":e.withCtx(({data:ee})=>[e.createVNode(Hd,{data:ee,error:e.unref(w).has(ee.id),readonly:t.mode!=="edit"},null,8,["data","error","readonly"])]),"node-group":e.withCtx(({data:ee})=>[e.createVNode(G1,{active:e.unref(S)===ee.id,data:ee},null,8,["active","data"])]),default:e.withCtx(()=>[e.createVNode(e.unref(ku.Background)),e.createVNode(e.unref(Ai.Controls),{"fit-view-params":e.unref(p),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(q.value,ee=>(e.openBlock(),e.createBlock(e.unref(Oe.KTooltip),{key:ee.name,placement:"right",text:e.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${ee.name}`)},{default:e.withCtx(()=>[e.createVNode(e.unref(Ai.ControlButton),{disabled:ee.disabled,onClick:e.withModifiers(ee.action,["stop"])},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(ee.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"])],512))}}),[["__scopeId","data-v-47761eb0"]]),z1={class:"label-content"},H1={class:"count"},W1={class:"label-content"},Y1={class:"count"},Yd=.5,di=.03,J1=30,ui=be(e.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(t){const{t:n}=Ze.createI18n("en-us",et),o=e.ref(!1),r=e.ref(!1),{responsePanelCollapsed:a}=gr(),{state:i,configNodeCounts:l,clearPendingLayout:s,setPendingFitView:c,commit:u,clear:p,portalSelection:d}=Xe(),f=e.useId(),m=`${f}-request`,g=`${f}-response`,_=Ke.useVueFlow(m),y=Ke.useVueFlow(g);function h(J,W){const{onPaneClick:re,onNodesChange:me,onEdgesChange:ge,getSelectedNodes:ce,getSelectedEdges:Ve}=J,{removeSelectedElements:ve}=W;function de(se){if(!se){ve();return}se.some(ue=>ue.type==="select")&&ce.value.length+Ve.value.length>0&&ve()}me(de),ge(de),re(()=>de())}h(_,y),h(y,_),e.watch(d,J=>{J&&(_.removeSelectedElements(),y.removeSelectedElements())});const w=e.useTemplateRef("flowPanels"),E=e.useTemplateRef("requestLabel"),C=e.useTemplateRef("requestCanvasContainer"),b=e.useTemplateRef("requestFlow"),k=e.useTemplateRef("resizeHandle"),N=e.useTemplateRef("responseLabel"),I=e.useTemplateRef("responseCanvasContainer"),$=e.useTemplateRef("responseFlow"),P=Ye.useElementBounding(w),x=Ye.useElementBounding(E),V=Ye.useElementBounding(C),S=Ye.useElementBounding(k),B=Ye.useElementBounding(N),U=Ye.useElementBounding(I),j=e.computed(()=>Math.max(J1,P.height.value*di)),z=e.computed(()=>P.height.value-x.height.value-S.height.value-B.height.value),K=e.computed(()=>{const J=z.value;return J?Math.max(di,j.value/J):di}),M=e.ref(Yd),L=e.computed(()=>`${M.value*100}%`),A=e.computed(()=>`${(1-M.value)*100}%`),D=e.computed(()=>M.value<=K.value),q=e.computed(()=>1-M.value<=K.value);function Z(J,{persist:W=!0}={}){const re=Math.min(1,Math.max(0,J));M.value=re,W&&t.mode==="edit"&&(a.value=q.value)}function v(J,W=!0){Z(J?1:Yd,{persist:W})}function H(J=!0){Z(0,{persist:J})}if(t.mode==="edit"){const J=l.value.response===0,W=a.value;v(J||W,!1)}else e.watch(()=>l.value.response,J=>{v(J===0,!1)},{immediate:!0});const ee=()=>{t.resizable&&(D.value?v(!1):H())},Ae=()=>{t.resizable&&v(!q.value)},{isDragging:Ie}=Ye.useDraggable(k,{onMove(J){if(!t.resizable)return;const W=Math.max(0,J.y-V.top.value),re=Math.min(1,Math.max(0,W/z.value));Z(re,{persist:!1})},onEnd(){t.resizable&&(V.height.value<j.value?H():U.height.value<j.value?v(!0):Z(M.value))}});function Ee(){e.nextTick(()=>{var J,W;(J=b.value)==null||J.fitView(),(W=$.value)==null||W.fitView()})}return e.watch([o,r,()=>i.value.pendingLayout,()=>i.value.pendingFitView],([J,W,re,me])=>{t.inactive||!J||!W||!re&&!me||(re&&s(),me&&c(!1),setTimeout(async()=>{var ge,ce;re&&(await((ge=b.value)==null?void 0:ge.autoLayout(!1)),await((ce=$.value)==null?void 0:ce.autoLayout(!1)),u("*"),re==="clearHistory"&&p()),me&&setTimeout(()=>Ee(),0)},0))}),(J,W)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"flowPanels",ref:w,class:"flow-panels"},[e.createElementVNode("div",{ref_key:"requestLabel",ref:E,class:e.normalizeClass(["label request",{resizable:t.resizable}]),onClick:ee},[t.resizable?(e.openBlock(),e.createBlock(e.unref(fe.ChevronDownIcon),{key:0,class:e.normalizeClass(["icon",{collapsed:D.value}])},null,8,["class"])):e.createCommentVNode("",!0),e.createElementVNode("div",z1,[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.request"))+" ",1),e.createElementVNode("span",H1,[e.unref(l).request===1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" ("+e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" ("+e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:e.unref(l).request}))+") ",1)],64))])])],2),e.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:C,class:e.normalizeClass(["canvas",{dragging:e.unref(Ie)}]),style:e.normalizeStyle({flexBasis:L.value})},[e.createVNode(Wd,{ref_key:"requestFlow",ref:b,"flow-id":m,mode:t.mode,phase:"request",onInitialized:W[0]||(W[0]=re=>o.value=!0),onNodesChange:W[1]||(W[1]=re=>o.value=!1)},null,8,["mode"])],6),e.createElementVNode("div",{ref_key:"resizeHandle",ref:k,class:e.normalizeClass(["resize-handle",{resizable:t.resizable}])},null,2),e.createElementVNode("div",{ref_key:"responseLabel",ref:N,class:e.normalizeClass(["label response",{dragging:e.unref(Ie),resizable:t.resizable}]),onClick:Ae},[t.resizable?(e.openBlock(),e.createBlock(e.unref(fe.ChevronDownIcon),{key:0,class:e.normalizeClass(["icon",{collapsed:q.value}])},null,8,["class"])):e.createCommentVNode("",!0),e.createElementVNode("div",W1,[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.response"))+" ",1),e.createElementVNode("span",Y1,[e.unref(l).response===1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" ("+e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" ("+e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:e.unref(l).response}))+") ",1)],64))])])],2),e.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:I,class:e.normalizeClass(["canvas response",{dragging:e.unref(Ie)}]),style:e.normalizeStyle({flexBasis:A.value})},[e.createVNode(Wd,{ref_key:"responseFlow",ref:$,"flow-id":g,mode:t.mode,phase:"response",onInitialized:W[2]||(W[2]=re=>r.value=!0),onNodesChange:W[3]||(W[3]=re=>r.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-3d68b40b"]]),X1={class:"dk-confirm-modal-body"},Z1={class:"connections"},Q1=be(e.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(t,{expose:n,emit:o}){const{i18n:{t:r}}=$e(),a=o,i=e.ref(!1),l=e.ref(t.message),s=e.ref(t.addedConnections??[]),c=e.ref(t.removedConnections??[]);let u=null;function p(){i.value=!1,a("cancel"),u==null||u(!1)}function d(){i.value=!1,a("confirm"),u==null||u(!0)}async function f(m,g,_){return l.value=m,s.value=g??[],c.value=_??[],i.value=!0,await new Promise(y=>{u=y})}return n({open:f}),(m,g)=>{const _=e.resolveComponent("KModal");return e.openBlock(),e.createBlock(_,{"action-button-text":e.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:t.title??e.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:i.value,"z-index":9999,onCancel:p,onProceed:d},{default:e.withCtx(()=>[e.createElementVNode("div",X1,[e.createElementVNode("p",null,e.toDisplayString(l.value),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),e.createElementVNode("div",Z1,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value??[],([y,h])=>(e.openBlock(),e.createElementBlock("div",{key:`${y}-${h}`,class:"connection"},[e.createVNode(e.unref(fe.AddIcon),{color:e.unref(x_)},null,8,["color"]),e.createTextVNode(" "+e.toDisplayString(y)+" → "+e.toDisplayString(h),1)]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value??[],([y,h])=>(e.openBlock(),e.createElementBlock("div",{key:`${y}-${h}`,class:"connection"},[e.createVNode(e.unref(fe.RemoveIcon),{color:e.unref(ya)},null,8,["color"]),e.createTextVNode(" "+e.toDisplayString(y)+" → "+e.toDisplayString(h),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-ac52e1e6"]]),eA={class:"dk-editor-nav"},tA={class:"top"},nA={class:"bottom"},oA=be(e.defineComponent({__name:"EditorNav",emits:["back"],setup(t,{emit:n}){const{t:o}=Ze.createI18n("en-us",et),r=n,a=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:fe.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:i}=gr(),l=e.computed(()=>i.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=e.ref(!1);function c(){i.value=!i.value}return(u,p)=>(e.openBlock(),e.createElementBlock("nav",eA,[e.createElementVNode("div",tA,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,({label:d,to:f,icon:m,onClick:g})=>e.createVNode(e.unref(Oe.KTooltip),{key:d,"kpop-attributes":{offset:"10px"},label:d,placement:"right"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.unref(Oe.KButton),{key:d,appearance:"none",class:"nav-item",icon:"",to:f,onClick:g},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m),{decorative:"",size:e.unref(uo)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),e.createElementVNode("div",nA,[e.createElementVNode("div",{class:e.normalizeClass(["side-panel-toggle",{expanded:e.unref(i)}]),onTransitionend:p[0]||(p[0]=e.withModifiers(d=>s.value=!1,["self"])),onTransitionstart:p[1]||(p[1]=e.withModifiers(d=>s.value=!0,["self"]))},[e.createVNode(e.unref(Oe.KTooltip),{label:s.value?void 0:l.value,placement:e.unref(i)?"left":"right"},{default:e.withCtx(()=>[e.createVNode(e.unref(Oe.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:e.withCtx(()=>[e.unref(i)?(e.openBlock(),e.createBlock(e.unref(fe.ChevronDoubleLeftIcon),{key:0,decorative:"",size:e.unref(uo)},null,8,["size"])):(e.openBlock(),e.createBlock(e.unref(fe.ChevronDoubleRightIcon),{key:1,decorative:"",size:e.unref(uo)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),rA={class:"dk-editor-main"},aA={class:"header"},iA={class:"actions"},lA={class:"settings"},sA={ref:"canvasContainer",class:"body"},cA=be(e.defineComponent({__name:"EditorMain",setup(t){const{t:n}=Ze.createI18n("en-us",et),{modalOpen:o,undo:r,redo:a,canUndo:i,canRedo:l,load:s}=Xe();function c(d){const f=dr[d],m=Dt.load(f,{schema:on,json:!0});if(typeof m!="object"||m===null)return;const g=m,_={config:{...g,nodes:g.nodes??[]}};s(_,!0)}function u(){o.value=!1}Uc({enabled:o,undo:r,redo:a});const p={maxWidth:"300px",zIndex:1e4};return(d,f)=>(e.openBlock(),e.createElementBlock("div",rA,[e.createElementVNode("header",aA,[e.createElementVNode("div",iA,[e.createVNode(e.unref(Oe.KTooltip),{"z-index":1e4},{content:e.withCtx(()=>[e.createVNode(Ar,{keys:e.unref(yr).undo,label:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:e.withCtx(()=>[e.createVNode(e.unref(Oe.KButton),{appearance:"tertiary",disabled:!e.unref(i),icon:"",onClick:e.unref(r)},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),e.createVNode(e.unref(Oe.KTooltip),{"z-index":1e4},{content:e.withCtx(()=>[e.createVNode(Ar,{keys:e.unref(yr).redo,label:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:e.withCtx(()=>[e.createVNode(e.unref(Oe.KButton),{appearance:"tertiary",disabled:!e.unref(l),icon:"",onClick:e.unref(a)},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),f[0]||(f[0]=e.createElementVNode("div",{class:"divider"},null,-1)),e.createElementVNode("div",lA,[e.createVNode(xn,{label:e.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:e.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:p},name:"config.debug"},null,8,["label","label-attributes"])]),f[1]||(f[1]=e.createElementVNode("div",{class:"divider"},null,-1)),e.createVNode(e.unref(Oe.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":e.unref(n)("plugins.free-form.datakit.flow_editor.examples"),width:240},{items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(dr),(m,g)=>(e.openBlock(),e.createBlock(e.unref(Oe.KDropdownItem),{key:g,onClick:_=>c(g)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)(`plugins.free-form.datakit.examples.${g}`)),1)]),_:2},1032,["onClick"]))),128))]),_:1},8,["trigger-text"]),e.createVNode(e.unref(Oe.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),e.createVNode(e.unref(fe.ExternalLinkIcon))]),_:1}),e.createVNode(e.unref(Oe.KButton),{onClick:u},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),e.createElementVNode("div",sA,[e.createVNode(ui,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-d23b6f31"]]),dA=["draggable"],uA={class:"icon"},fA={class:"content"},pA={class:"title"},mA={class:"description"},gA=be(e.defineComponent({__name:"NodePanelItem",props:{type:{},unsupported:{type:Boolean}},emits:["dragstart"],setup(t,{emit:n}){e.useCssVars(c=>({f628e926:e.unref(i),v4a9b9f82:e.unref(l)}));const o=n,{summary:r,icon:a,colors:{background:i,foreground:l}={}}=La[t.type];function s(c){o("dragstart",c,t.type)}return(c,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dk-node-panel-item",{[`node-type-${t.type}`]:!0,unsupported:t.unsupported}]),draggable:!t.unsupported,onDragstart:s},[e.createElementVNode("div",uA,[e.createVNode(e.unref(a),{size:16})]),e.createElementVNode("div",fA,[e.createElementVNode("div",pA,e.toDisplayString(t.type),1),e.createElementVNode("div",mA,e.toDisplayString(e.unref(r)),1)])],42,dA))}}),[["__scopeId","data-v-38d156c9"]]),hA={class:"dk-node-panel"},yA={key:0,class:"title"},_A={class:"node-list"},bA={"aria-hidden":"true",class:"preview",inert:""},kA=be(e.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(t){const{t:n}=Ze.createI18n("en-us",et),{createNode:o}=Xe(),r=`dk-drag-preview-${e.useId()}`,a=e.shallowRef(),i=e.computed(()=>a.value?[{id:"preview",type:"flow",data:a.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var I,$,P;const u=s.currentTarget,{left:p,top:d,width:f,height:m}=u.getBoundingClientRect(),g=s.clientX-p,_=s.clientY-d;a.value=o({type:c}),await e.nextTick();const y=document.querySelector(`#${r}`)||u,h=y.cloneNode(!0);h.classList.add("dk-drag-snapshot");const{offsetWidth:w,offsetHeight:E}=y;Object.assign(h.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${w}px`,height:`${E}px`}),document.body.appendChild(h);const C=g/f,b=_/m,k={ratioX:C,ratioY:b,offsetX:w*C,offsetY:E*b},N={action:"create-node",data:{type:c,anchor:k}};(I=s.dataTransfer)==null||I.setData(Eo,JSON.stringify(N)),($=s.dataTransfer)==null||$.setData(`${Eo}/${c}`,c),(P=s.dataTransfer)==null||P.setDragImage(h,k.offsetX,k.offsetY),requestAnimationFrame(()=>{h.remove(),a.value=void 0})};return(s,c)=>{const u=e.resolveComponent("KLabel");return e.openBlock(),e.createElementBlock("div",hA,[t.hideTitle?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("h3",yA,[e.createVNode(u,{class:"label",info:e.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])])),e.createElementVNode("div",_A,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(e.unref(La)),p=>(e.openBlock(),e.createBlock(gA,{key:p,type:p,onDragstart:l},null,8,["type"]))),128))]),e.createElementVNode("div",bA,[e.createVNode(e.unref(Ke.VueFlow),{nodes:i.value},{"node-flow":e.withCtx(p=>[e.createVNode(Hd,{id:r,data:p.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-eb57924c"]]);function wA(){const{addField:t,getNodeByName:n,removeField:o,replaceConfig:r,renameField:a,disconnectOutEdges:i,nodeMapByName:l}=Xe(),s=n("vault");if(!s)throw new Error("no vault node");const c=e.computed(()=>{var g;return((g=l.value.get("vault"))==null?void 0:g.config)||{}});return{formData:e.computed(()=>({vault:{...c.value}})),addVault:(g,_)=>{t(s.id,"output",g,!1);const y={...s.config,[g]:_};r(s.id,y)},removeVault:g=>{const _=rn(s,"output",g);if(!_)return;const y=s.fields.output.length===1;o(s.id,_.id,!0,!1);const h=en(s.config,g);r(s.id,h,!y),y&&i(s.id)},updateVault:(g,_,y=!0)=>{const h={...s.config,[g]:_};r(s.id,h,y)},renameVault:(g,_,y=!0)=>{var C;const h=rn(s,"output",g);if(!h)return;a(s.id,h.id,_,!1);const w=((C=s.config)==null?void 0:C[g])??"",E={...en(s.config,g),[_]:w};r(s.id,E,y)}}}const CA=e.defineComponent({__name:"VaultSecretPicker",props:{secretRef:{type:[String,Boolean]},secretName:{},validateName:{type:Function,default:()=>{}},isEditing:{type:Boolean,default:!1}},emits:["proceed","cancel"],setup(t,{emit:n}){const o=n,{i18n:{t:r}}=Fe.useI18n(),a=e.inject(Le.FORMS_CONFIG),i=e.ref(t.secretName||""),l=e.ref(""),s=e.computed(()=>i.value.trim()?t.validateName(i.value.trim(),t.isEditing)===void 0:!1),c=e.computed(()=>!s.value),u=()=>{const m=i.value.trim(),g=t.validateName(m,t.isEditing);return l.value=g||"",g===void 0},p=()=>{l.value="",u()},d=m=>{u()&&o("proceed",{secretRef:m,secretName:i.value.trim()})},f=()=>{i.value="",l.value="",o("cancel")};return e.watch(()=>t.secretName,m=>{i.value=m||"",l.value=""}),(m,g)=>{const _=e.resolveComponent("KInput"),y=e.resolveComponent("KEmptyState");return e.unref(a)?(e.openBlock(),e.createBlock(e.unref(Xn.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:e.unref(a),"proceed-button-text":e.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:t.secretRef,title:e.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:f,onProceed:d},{"form-prefix":e.withCtx(()=>[e.createVNode(_,{"model-value":i.value,"onUpdate:modelValue":[g[0]||(g[0]=h=>i.value=h),p],"data-testid":"vault-secret-picker-secret-name-input",error:!!l.value,"error-message":l.value,label:e.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:e.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:e.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"])):(e.openBlock(),e.createBlock(y,{key:1,"icon-variant":"error",message:e.unref(r)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),EA={class:"dk-vault-panel"},NA={class:"title"},xA={class:"vault-list"},AA={key:0,class:"vault-list-item"},SA={class:"vault-list-item-key"},PA={class:"vault-list-item-key-text"},IA=be(e.defineComponent({__name:"VaultField",props:{initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{},name:{}},emits:["update","add","remove","change"],setup(t,{emit:n}){const o=t,r=n,{entries:a,addEntry:i,removeEntry:l}=Qo(o,r),s=e.ref(null),c=e.ref(null),{i18n:{t:u}}=Fe.useI18n(),p=e.computed(()=>new Set(a.value.map(h=>h.key))),d=()=>{const h=i();c.value=h,s.value=h},f=()=>{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,E=w!==h.secretName,C=s.value.value!==h.secretRef,b=E||C;s.value.value=h.secretRef,s.value.key=h.secretName,c.value?r("add",h.secretName,h.secretRef):b&&r("update",h.secretName,h.secretRef,E?w:void 0),c.value=null,f()},g=h=>{s.value=h},_=h=>{l(h.id),r("remove",h.key)},y=(h,w)=>{var E;if(!h)return u("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(p.value.has(h)&&!(w&&h===((E=s.value)==null?void 0:E.key)))return u("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(h,w)=>{var k,N;const E=e.resolveComponent("KButton"),C=e.resolveComponent("KDropdownItem"),b=e.resolveComponent("KDropdown");return e.openBlock(),e.createElementBlock("div",EA,[e.createElementVNode("h3",NA,e.toDisplayString(e.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),e.createVNode(E,{appearance:"tertiary",class:"add-button",size:"small",onClick:d},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),e.createElementVNode("div",xA,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),I=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:I.id},[I.key?(e.openBlock(),e.createElementBlock("div",AA,[e.createElementVNode("div",SA,[e.createVNode(e.unref(fe.KeyIcon),{color:e.unref(Dn),size:16},null,8,["color"]),e.createElementVNode("div",PA,e.toDisplayString(I.key),1)]),e.createVNode(b,null,{items:e.withCtx(()=>[e.createVNode(C,{onClick:$=>g(I)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1},8,["onClick"]),e.createVNode(C,{danger:"",onClick:$=>_(I)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1},8,["onClick"])]),default:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary",icon:""},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.MoreIcon),{color:e.unref(so)},null,8,["color"])]),_:1})]),_:2},1024)])):e.createCommentVNode("",!0)],64))),128))]),e.createVNode(CA,{"is-editing":!!s.value&&!c.value,"secret-name":(k=s.value)==null?void 0:k.key,"secret-ref":(N=s.value)==null?void 0:N.value,"validate-name":y,onCancel:f,onProceed:m},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-c9f18d61"]]);function TA(){const{getSchema:t}=Ue();return e.computed(()=>{const n=t("config.resources");if(!n)throw new Error("Failed to get resource schema");const o=zt(n);return o.fields.forEach(r=>{const a=Object.keys(r)[0];if(a==="cache"){const i=r[a];r[a]={...i,fields:[...i.fields,{partial_id:{type:"string"}}]},i.fields.forEach(l=>{const s=Object.keys(l)[0];if(s==="redis"){const c=l[s];l[s]={...c},delete l[s].required}})}}),o})}const OA={class:"dk-cache-panel"},VA={class:"title"},BA={key:0,class:"cache-item"},$A={class:"cache-item-key"},RA={class:"cache-item-key-text"},FA={class:"dk-resource-cache-form"},LA={key:1},DA={key:2,class:"dk-cache-inline-redis"},MA=be(e.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(t,{emit:n}){const o=n,{getDefault:r,formData:a}=Ue(),i=ht("cache");if(i.error)throw new Error("No cache schema");const l=e.ref(!1),{i18n:{t:s}}=Fe.useI18n(),c=e.computed(()=>!(u.value==="redis"&&!a.cache.partial_id&&!a.cache.redis)),u=e.computed(()=>{var w;return(w=i.value.value)==null?void 0:w.strategy}),p=e.computed(()=>{var w;return(w=i.value.value)!=null&&w.redis?Dt.dump(i.value.value.redis,{indent:2,noRefs:!0}):""}),d=()=>{l.value=!0},f=()=>{l.value=!1,o("cancel")},m=()=>{o("remove")},g=()=>{d(),i.value.value||(i.value.value=r("cache"),i.value.value.strategy="memory")},_=()=>{l.value=!1,o("update",a)},y=()=>{var w,E;u.value==="memory"&&((w=a.cache)!=null&&w.partial_id)&&((E=a.cache)==null||delete E.partial_id)};async function h({codeElement:w,language:E,code:C}){w.innerHTML=await wu.codeToHtml(C,{lang:E,theme:"catppuccin-mocha",structure:"inline"})}return(w,E)=>{const C=e.resolveComponent("KButton"),b=e.resolveComponent("KDropdownItem"),k=e.resolveComponent("KDropdown"),N=e.resolveComponent("KLabel"),I=e.resolveComponent("KCodeBlock"),$=e.resolveComponent("KModal");return e.openBlock(),e.createElementBlock("div",OA,[e.createElementVNode("h3",VA,e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),t.strategy?(e.openBlock(),e.createElementBlock("div",BA,[e.createElementVNode("div",$A,[e.createVNode(e.unref(fe.DatabaseIcon),{color:e.unref(Dn),size:e.unref(co)},null,8,["color","size"]),e.createElementVNode("div",RA,e.toDisplayString(t.strategy),1)]),e.createVNode(k,null,{items:e.withCtx(()=>[e.createVNode(b,{onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),e.createVNode(b,{danger:"",onClick:m},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(C,{appearance:"tertiary",icon:""},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.MoreIcon),{color:e.unref(so)},null,8,["color"])]),_:1})]),_:1})])):(e.openBlock(),e.createBlock(C,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:g},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),e.createVNode($,{"action-button-disabled":!c.value,"action-button-text":e.unref(s)("actions.save"),"max-width":"640px",title:e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:l.value,onCancel:f,onProceed:_},{default:e.withCtx(()=>{var P,x;return[e.createElementVNode("div",FA,[e.createVNode(ws,{items:[{label:e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":y},null,8,["items"]),u.value==="memory"?(e.openBlock(),e.createBlock(ct,{key:0,name:"memory.dictionary_name"})):e.createCommentVNode("",!0),u.value==="redis"?(e.openBlock(),e.createElementBlock("div",LA,[e.createVNode(N,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),e.createVNode(e.unref(Ni.RedisConfigurationSelector),{"model-value":(P=e.unref(a).cache)==null?void 0:P.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":E[0]||(E[0]=V=>e.unref(a).cache.partial_id=V)},null,8,["model-value"])])):e.createCommentVNode("",!0),u.value==="redis"&&!((x=e.unref(a).cache)!=null&&x.partial_id)&&p.value?(e.openBlock(),e.createElementBlock("div",DA,[e.createElementVNode("div",null,e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),e.createVNode(I,{id:"dk-cache-redis-configuration",code:p.value,language:"yaml",theme:"dark",onCodeBlockRender:h},null,8,["code"])])):e.createCommentVNode("",!0)])]}),_:1},8,["action-button-disabled","action-button-text","title","visible"])])}}}),[["__scopeId","data-v-103c3712"]]),vA={class:"dk-resources-panel"},jA=be(e.defineComponent({__name:"ResourcesPanel",setup(t){const n=TA(),o=e.ref(0),{addVault:r,removeVault:a,updateVault:i,renameVault:l,formData:s}=wA();function c(_,y,h){h&&h!==_&&l(h,_,!1),i(_,y)}const{state:u,commit:p}=Xe(),d=e.computed(()=>({cache:u.value.cacheConfig}));function f(_){u.value.cacheConfig=_.cache,p()}function m(){u.value.cacheConfig=void 0,p()}function g(){o.value++}return(_,y)=>(e.openBlock(),e.createElementBlock("div",vA,[e.createVNode(dt,{data:e.unref(s),schema:e.unref(n)},{default:e.withCtx(()=>[e.createVNode(IA,{name:"vault",onAdd:e.unref(r),onRemove:e.unref(a),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),y[0]||(y[0]=e.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(e.openBlock(),e.createBlock(dt,{key:`${o.value}`,data:d.value,schema:e.unref(n)},{default:e.withCtx(()=>{var h;return[e.createVNode(MA,{strategy:(h=d.value.cache)==null?void 0:h.strategy,onCancel:g,onRemove:m,onUpdate:f},null,8,["strategy"])]}),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-3a9010b8"]]),UA={class:"header"},KA={class:"title"},qA={class:"body"},GA={class:"panel"},zA=be(e.defineComponent({__name:"SidePanel",setup(t){const{t:n}=Ze.createI18n("en-us",et),{sidePanelExpanded:o}=gr(),{propertiesPanelOpen:r,selectedNode:a}=Xe(),i=e.ref("nodes");function l(){r.value=!1}e.watch(a,c=>{c||l()});const s=e.ref(!1);return e.onMounted(()=>{s.value=!0}),(c,u)=>{const p=e.resolveComponent("KSegmentedControl");return e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["side-panel",{expanded:e.unref(o),inited:s.value}])},[e.createElementVNode("header",UA,[e.createElementVNode("h2",KA,e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),e.createElementVNode("div",qA,[e.createElementVNode("div",GA,[e.createVNode(p,{modelValue:i.value,"onUpdate:modelValue":u[0]||(u[0]=d=>i.value=d),options:[{label:e.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.nodes"),value:"nodes"},{label:e.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.resources.title"),value:"resources"}]},null,8,["modelValue","options"]),i.value==="nodes"?(e.openBlock(),e.createBlock(kA,{key:0,"hide-title":""})):e.createCommentVNode("",!0),i.value==="resources"?(e.openBlock(),e.createBlock(jA,{key:1})):e.createCommentVNode("",!0)])])],2)}}}),[["__scopeId","data-v-e8c1849d"]]),HA=e.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(t){return(n,o)=>(e.openBlock(),e.createBlock(St,{items:e.unref(da)([...e.unref(Ic)]),name:t.name},null,8,["items","name"]))}});function WA(t,n){const o=[],r=(a,i)=>{typeof i=="string"&&o.push({nodeName:t.name,path:["nodes",n,...a],value:i})};if("input"in t&&t.input!=null&&r(["input"],t.input),"inputs"in t&&t.inputs&&typeof t.inputs=="object")for(const[a,i]of Object.entries(t.inputs))i!=null&&r(["inputs",a],i);if("output"in t&&t.output!=null&&r(["output"],t.output),"outputs"in t&&t.outputs&&typeof t.outputs=="object")for(const[a,i]of Object.entries(t.outputs))i!=null&&r(["outputs",a],i);return o}function YA(t){const n=t.path[2];return n==="output"||n==="outputs"}function Jd(t){if(!t)return!1;for(const n of Object.values(t))if(n!=null)return!0;return!1}function Xd(t,n){const o=t.input!==void 0&&t.input!==null,r=Jd(t.inputs);o&&r&&n.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["inputs"]});const a=t.output!==void 0&&t.output!==null,i=Jd(t.outputs);a&&i&&n.addIssue({code:"custom",message:'A node cannot use both "output" and "outputs". Use one or the other.',path:["outputs"]})}function Zd(t,n,o){if(!t.nodes)return;const r=t.nodes.map(c=>c.name),a=new Set;r.forEach((c,u)=>{a.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",u,"name"]}),a.add(c)});const i=new Set([...n,...r]),l=new Map,s=new Map;t.nodes.forEach((c,u)=>{for(const p of WA(c,u)){const d=p.value.split(".",1)[0];if(i.has(d)||o.addIssue({code:"custom",message:`Unknown node "${d}" in connection "${p.value}"`,path:p.path}),YA(p)){const f=`${p.nodeName}->${d}`;s.has(f)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${p.nodeName}" outputs to "${d}" and "${d}" inputs from "${p.nodeName}". Specify it on one side only.`,path:p.path}):l.set(f,l.get(f)??p.path)}else{const f=`${d}->${p.nodeName}`;l.has(f)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${d}" outputs to "${p.nodeName}" and "${p.nodeName}" inputs from "${d}". Specify it on one side only.`,path:p.path}):s.set(f,s.get(f)??p.path)}}})}const JA=O.z.enum(Sc),XA=O.z.enum(qn),Qd=t=>qn.includes(t),fi=O.z.enum(Pc),eu=fi.options;O.z.union([fi,JA]);const ZA=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,tu=O.z.string().min(1).max(255).regex(ZA,"Invalid node name (snake_case / kebab-case only)").refine(t=>!Qd(t),"Name clashes with reserved implicit node").brand(),Ir=O.z.union([XA,tu]),QA=O.z.string().min(1).brand(),eS=["then","else"];O.z.enum(eS);const Ge=O.z.string().min(1).max(255).refine(t=>{if(Ir.safeParse(t).success)return!0;const n=t.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return Ir.safeParse(o).success&&QA.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),tS=O.z.object({body:Ge,headers:Ge,http_proxy:Ge,https_proxy:Ge,proxy_auth_password:Ge,proxy_auth_username:Ge,query:Ge,url:Ge}).partial().strict(),nS=O.z.object({headers:Ge,body:Ge}).partial().strict(),oS=O.z.object({data:Ge,key:Ge,ttl:Ge}).partial().strict(),nu=O.z.enum(Ic),Wt=O.z.object({type:O.z.string(),name:tu,input:Ge,inputs:O.z.record(O.z.string().min(1).max(255),Ge).nullish(),output:Ge,outputs:O.z.record(O.z.string().min(1).max(255),Ge).nullish()}).loose().superRefine((t,n)=>{Xd(t,n)}),rS=O.z.object({type:O.z.string(),name:O.z.string()}).loose().superRefine((t,n)=>{const o=t.type,r=t.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),eu.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${eu.join(", ")}`})}),aS=Wt.safeExtend({type:O.z.literal("call"),method:nu.default("GET").nullish(),ssl_server_name:O.z.string().min(1).nullish(),ssl_verify:O.z.boolean().nullish(),timeout:O.z.number().int().min(0).max(2147483646).nullish(),url:O.z.url().nullish(),inputs:tS.nullish(),outputs:O.z.object({body:Ge,headers:Ge,raw_body:Ge,status:Ge}).partial().nullish()}).strict(),iS=Wt.safeExtend({type:O.z.literal("exit"),status:O.z.number().int().min(200).max(599).default(200).nullish(),warn_headers_sent:O.z.boolean().nullish(),inputs:nS.nullish(),output:O.z.never().nullish(),outputs:O.z.never().nullish()}).strict(),lS=Wt.safeExtend({type:O.z.literal("jq"),jq:O.z.string().min(1).max(10240),outputs:O.z.never().nullish()}).strict(),sS=Wt.safeExtend({type:O.z.literal("xml_to_json"),recognize_type:O.z.boolean().nullish().default(!0),attributes_block_name:O.z.string().min(1).max(32).nullish(),attributes_name_prefix:O.z.string().min(1).max(32).nullish(),text_block_name:O.z.string().min(1).max(32).nullish().default("#text"),text_as_property:O.z.boolean().nullish().default(!1),xpath:O.z.string().min(1).max(256).nullish(),inputs:O.z.never().nullish(),outputs:O.z.never().nullish()}).strict().superRefine((t,n)=>{!t.attributes_block_name&&!t.attributes_name_prefix&&(n.addIssue({code:"custom",path:["attributes_block_name"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}),n.addIssue({code:"custom",path:["attributes_name_prefix"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}))}),cS=Wt.safeExtend({type:O.z.literal("json_to_xml"),attributes_block_name:O.z.string().min(1).max(32).nullish(),attributes_name_prefix:O.z.string().min(1).max(32).nullish(),root_element_name:O.z.string().min(1).max(64).nullish(),text_block_name:O.z.string().min(1).max(32).nullish().default("#text"),inputs:O.z.record(O.z.string().min(1).max(255),Ge).nullish(),outputs:O.z.never().nullish()}).strict().superRefine((t,n)=>{!t.attributes_block_name&&!t.attributes_name_prefix&&(n.addIssue({code:"custom",path:["attributes_block_name"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}),n.addIssue({code:"custom",path:["attributes_name_prefix"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}))}),dS=Wt.safeExtend({type:O.z.literal("property"),content_type:O.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:O.z.string().min(1),inputs:O.z.never().nullish(),outputs:O.z.never().nullish()}).strict(),uS=Wt.safeExtend({type:O.z.literal("static"),values:O.z.record(O.z.string(),O.z.unknown()),input:O.z.never().nullish(),inputs:O.z.never().nullish()}).strict(),fS=Wt.safeExtend({type:O.z.literal("cache"),bypass_on_error:O.z.boolean().nullish(),inputs:oS.nullish(),outputs:O.z.object({data:Ge,hit:Ge,miss:Ge,stored:Ge}).partial().nullish(),ttl:O.z.number().int().gt(0).nullish()}).strict(),pS=Wt.safeExtend({type:O.z.literal("branch"),then:O.z.array(Ir).nullish(),else:O.z.array(Ir).nullish()}).strict(),mS=rS.pipe(O.z.discriminatedUnion("type",[aS,iS,lS,sS,cS,dS,uS,fS,pS])),gS=O.z.record(O.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),O.z.string().min(1).max(4095)),hS=O.z.object({dictionary_name:O.z.string().nullish().default("kong_db_cache")}),yS=O.z.object({host:O.z.string().default("127.0.0.1"),port:O.z.number().int().min(0).max(65535).default(6379)}),_S=O.z.object({ip:O.z.string().default("127.0.0.1"),port:O.z.number().int().min(0).max(65535).default(6379)}),bS=O.z.object({host:O.z.string().nullish().default("127.0.0.1"),port:O.z.number().int().min(0).max(65535).nullish().default(6379),connect_timeout:O.z.number().int().min(0).max(2147483646).nullish().default(2e3),send_timeout:O.z.number().int().min(0).max(2147483646).nullish().default(2e3),read_timeout:O.z.number().int().min(0).max(2147483646).nullish().default(2e3),username:O.z.string().nullish(),password:O.z.string().nullish(),sentinel_username:O.z.string().nullish(),sentinel_password:O.z.string().nullish(),database:O.z.number().int().nullish().default(0),keepalive_pool_size:O.z.number().int().min(1).max(2147483646).nullish().default(256),keepalive_backlog:O.z.number().int().min(0).max(2147483646).nullish(),sentinel_master:O.z.string().nullish(),sentinel_role:O.z.enum(["master","slave","any"]).nullish(),sentinel_nodes:O.z.array(yS).min(1,{message:"sentinel_nodes must contain at least 1 item"}).nullish(),cluster_nodes:O.z.array(_S).min(1,{message:"cluster_nodes must contain at least 1 item"}).nullish(),ssl:O.z.boolean().default(!1).nullish(),ssl_verify:O.z.boolean().default(!1).nullish(),server_name:O.z.string().nullish(),cluster_max_redirections:O.z.number().int().default(5).nullish(),connection_is_proxied:O.z.boolean().default(!1).nullish(),cloud_authentication:O.z.object({auth_provider:O.z.enum(["aws","azure","gcp"]).nullish(),aws_access_key_id:O.z.string().nullish(),aws_assume_role_arn:O.z.string().nullish(),aws_cache_name:O.z.string().nullish(),aws_is_serverless:O.z.boolean().default(!0).nullish(),aws_region:O.z.string().nullish(),aws_role_session_name:O.z.string().nullish(),aws_secret_access_key:O.z.string().nullish(),azure_client_id:O.z.string().nullish(),azure_client_secret:O.z.string().nullish(),azure_tenant_id:O.z.string().nullish(),gcp_service_account_json:O.z.string().nullish()}).nullish(),timeout:O.z.number().int().nullish(),sentinel_addresses:O.z.array(O.z.string()).min(1).nullish(),cluster_addresses:O.z.array(O.z.string()).min(1).nullish()}).superRefine((t,n)=>{var c;const o=t.host!==void 0&&t.host!==null,r=t.port!==void 0&&t.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const a=!!t.sentinel_master,i=!!t.sentinel_role,l=!!((c=t.sentinel_nodes)!=null&&c.length),s=[a,i,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),t.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"]})}),kS=O.z.object({strategy:O.z.enum(["memory","redis"]).nullish(),memory:hS,redis:bS}),wS=O.z.object({vault:gS.nullish(),cache:kS.nullish()});O.z.array(O.z.object({id:O.z.string()})),O.z.object({nodes:O.z.array(mS).min(1,"At least one node is required").max(64),debug:O.z.boolean().default(!1).nullish(),resources:wS.nullish()}).strict().superRefine((t,n)=>{Zd(t,qn,n)});const ou=fi.options,pi=O.z.string().min(1).refine(t=>!t.includes("."),"Invalid node name").refine(t=>!Qd(t),"Node name conflicts with reserved implicit node"),ot=O.z.string().refine(t=>{if(!t||/\s/.test(t))return!1;const n=t.indexOf(".");if(n===-1)return!0;const o=t.slice(0,n),r=t.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),ru=O.z.object({body:ot.nullish(),headers:ot.nullish(),query:ot.nullish()}).partial().strict(),au=O.z.object({headers:ot.nullish(),body:ot.nullish()}).partial().strict(),iu=O.z.object({data:ot.nullish(),key:ot.nullish(),ttl:ot.nullish()}).partial().strict(),CS={call:ru,exit:au,cache:iu};function ES(t){const n=CS[t];return n?Object.keys(n.shape):null}const Yt=O.z.object({type:O.z.string(),name:pi,input:ot.nullish(),inputs:O.z.record(O.z.string(),ot.nullish()).nullish(),output:ot.nullish(),outputs:O.z.record(O.z.string(),ot.nullish()).nullish()}).loose().superRefine((t,n)=>{Xd(t,n)}),NS=O.z.object({type:O.z.string(),name:O.z.string()}).loose().superRefine((t,n)=>{const o=t.type,r=t.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),ou.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${ou.join(", ")}`})}),xS=Yt.safeExtend({type:O.z.literal("call"),method:nu.nullish(),ssl_server_name:O.z.string().nullish(),ssl_verify:O.z.boolean().nullish(),timeout:O.z.union([O.z.number(),O.z.string()]).nullish(),url:O.z.string().nullish(),inputs:ru.nullish(),outputs:O.z.object({body:ot.nullish(),headers:ot.nullish(),status:ot.nullish()}).partial().nullish()}).strict(),AS=Yt.safeExtend({type:O.z.literal("exit"),status:O.z.union([O.z.number(),O.z.string()]).nullish(),warn_headers_sent:O.z.boolean().nullish(),inputs:au.nullish(),output:O.z.never().nullish(),outputs:O.z.never().nullish()}).strict(),SS=Yt.safeExtend({type:O.z.literal("jq"),jq:O.z.string().nullish(),outputs:O.z.never().nullish()}).strict(),PS=Yt.safeExtend({type:O.z.literal("xml_to_json"),recognize_type:O.z.boolean().nullish(),attributes_block_name:O.z.string().nullish(),attributes_name_prefix:O.z.string().nullish(),text_block_name:O.z.string().nullish(),text_as_property:O.z.boolean().nullish(),xpath:O.z.string().nullish(),inputs:O.z.never().nullish(),outputs:O.z.never().nullish()}).strict(),IS=Yt.safeExtend({type:O.z.literal("json_to_xml"),attributes_block_name:O.z.string().nullish(),attributes_name_prefix:O.z.string().nullish(),root_element_name:O.z.string().nullish(),text_block_name:O.z.string().nullish(),inputs:O.z.record(O.z.string(),ot.nullish()).nullish(),outputs:O.z.never().nullish()}).strict(),TS=Yt.safeExtend({type:O.z.literal("property"),content_type:O.z.string().nullish(),property:O.z.string().nullish(),inputs:O.z.never().nullish(),outputs:O.z.never().nullish()}).strict(),OS=Yt.safeExtend({type:O.z.literal("static"),values:O.z.record(O.z.string(),O.z.unknown()).nullish(),input:O.z.never().nullish(),inputs:O.z.never().nullish()}).strict(),VS=Yt.safeExtend({type:O.z.literal("cache"),bypass_on_error:O.z.boolean().nullish(),inputs:iu.nullish(),outputs:O.z.object({data:ot.nullish(),hit:ot.nullish(),miss:ot.nullish(),stored:ot.nullish()}).partial().nullish(),ttl:O.z.union([O.z.number(),O.z.string()]).nullish()}).strict(),BS=Yt.safeExtend({type:O.z.literal("branch"),then:O.z.array(pi).nullish(),else:O.z.array(pi).nullish()}).strict(),$S=NS.pipe(O.z.discriminatedUnion("type",[xS,AS,SS,PS,IS,TS,OS,VS,BS])),RS=O.z.record(O.z.string(),O.z.string()),FS=O.z.object({dictionary_name:O.z.string().nullish()}),LS=O.z.object(),DS=O.z.object({strategy:O.z.enum(["memory","redis"]).nullish(),memory:FS.nullish(),redis:LS.nullish()}),MS=O.z.object({vault:RS.nullish(),cache:DS.nullish()}),lu=O.z.object({nodes:O.z.array($S).nullish(),debug:O.z.boolean().nullish(),resources:MS.nullish()}).strict().superRefine((t,n)=>{!t||!Array.isArray(t.nodes)||Zd(t,qn,n)}).nullish(),su=e.defineComponent({__name:"InputsRecordField",props:{name:{},items:{},nodeType:{}},emits:["change:inputs"],setup(t){const{getSchema:n}=Ue(),{i18n:o}=$e(),r=e.computed(()=>{const a=n("inputs");if(!a)return[];const i=a.fields.map(s=>Object.keys(s)[0]);if(Ct(t.nodeType))return i;const l=ES(t.nodeType);return l===null?i:l.length===0?[]:Ay(i,l)});return(a,i)=>(e.openBlock(),e.createBlock(bt,{"as-child":"",name:t.name,"reset-label-path":"isolate"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,l=>(e.openBlock(),e.createBlock(St,{key:l,clearable:"","enable-filtering":"",items:t.items,name:l,placeholder:e.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>a.$emit("change:inputs",l,s?s.value:null)},e.createSlots({_:2},[a.$slots["item-label"]?{name:"item-label",fn:e.withCtx(s=>[e.renderSlot(a.$slots,"item-label",e.mergeProps({ref_for:!0},s))]),key:"0"}:void 0]),1032,["items","name","placeholder","onChange"]))),128))]),_:3},8,["name"]))}}),vS=["data-testid"],jS={class:"dk-inputs-map-field-entry-body"},US={class:"dk-inputs-map-field-entry-content"},KS=be(e.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{},name:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(t,{emit:n}){const o=t,r=n,{entries:a,addEntry:i,removeEntry:l,field:s}=Qo(o,r),{i18n:{t:c}}=$e(),u=e.useTemplateRef("root"),p=e.ref(null),d=e.ref({});let f;async function m(b,k="key"){var N;u.value&&(await e.nextTick(),(N=u.value.querySelector(`[data-${k}-input="${b}"]`))==null||N.focus())}function g(){const{id:b}=i(),k=a.value.findIndex(({key:N})=>!N);m(k===-1?a.value.length-1:k),p.value=b}function _(b){l(b.id),b.id===p.value&&(p.value=null),b.key.trim()!==""&&r("remove:field",b.key)}function y(b){f=b.key}function h(b){if(w(b)){b.key=f,delete d.value[b.id];return}if(b.id===p.value){if(b.key.trim()==="")return;r("add:field",b.key,b.value),p.value=null}else r("rename:field",f,b.key);f=b.key}function w(b){delete d.value[b.id];const k=o.fieldNameValidator("input",f,b.key);if(k)return d.value[b.id]=k,k}function E(b){w(b)}function C(b,k){b.id!==p.value&&r("change:inputs",b.key,k)}return e.watch(()=>a.value,b=>{p.value&&(b.find(({id:k})=>k===p.value)||(p.value=null))}),(b,k)=>{const N=e.resolveComponent("KAlert"),I=e.resolveComponent("KLabel"),$=e.resolveComponent("KInput"),P=e.resolveComponent("KSelect"),x=e.resolveComponent("KButton");return e.unref(s).error?(e.openBlock(),e.createBlock(N,{key:0,appearance:"danger",message:e.unref(s).error.message},null,8,["message"])):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"root",ref:u,class:"dk-inputs-map-field"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),(V,S)=>(e.openBlock(),e.createElementBlock("div",{key:V.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${e.unref(s).path.value}.${S}`},[e.createVNode(I,{for:`ff-kv-entry-key-${e.unref(s).path.value}.${S}`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:1},8,["for"]),e.createElementVNode("div",jS,[e.createElementVNode("div",US,[e.createVNode($,{id:`ff-kv-entry-key-${e.unref(s).path.value}.${S}`,modelValue:V.key,"onUpdate:modelValue":[B=>V.key=B,B=>w(V)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":S,"data-testid":`ff-key-${e.unref(s).path.value}.${S}`,error:!!d.value[V.id],"error-message":d.value[V.id],placeholder:e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:B=>E(V),onChange:B=>h(V),onFocus:B=>y(V)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),e.createVNode(P,{modelValue:V.value,"onUpdate:modelValue":B=>V.value=B,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${e.unref(s).path.value}.${S}`,"enable-filtering":"",items:t.items,label:e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:B=>C(V,(B==null?void 0:B.value)??null)},e.createSlots({_:2},[b.$slots["item-label"]?{name:"item-template",fn:e.withCtx(({item:B})=>[e.renderSlot(b.$slots,"item-label",e.mergeProps({ref_for:!0},B),void 0,!0)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),e.createVNode(x,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${e.unref(s).path.value}.${S}`,icon:"",onClick:B=>_(V)},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.CloseIcon))]),_:1},8,["data-testid","onClick"])])],8,vS))),128)),e.createVNode(x,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${e.unref(s).path.value}`,disabled:!!p.value,onClick:g},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-dda8b239"]]),qS={class:"dk-source-item"},Tr=be(e.defineComponent({__name:"SourceItem",props:{item:{}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("span",qS,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(ft)[t.item.type].icon),{color:e.unref(Dn),size:e.unref(uo)},null,8,["color","size"])),e.createTextVNode(" "+e.toDisplayString(t.item.label),1)]))}}),[["__scopeId","data-v-78ea8dff"]]),GS={key:1,class:"dk-inputs-field-or"},Mt=be(e.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{},nodeType:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(t,{emit:n}){const o=n,{getSchema:r}=Ue(),{i18n:{t:a}}=$e(),i=e.computed(()=>r("inputs")),l=e.computed(()=>i.value?i.value.type==="record"?su:KS:null);function s(f){o("change:input",f?f.value:null)}function c(f,m){o("add:field",f,m)}function u(f,m){o("change:inputs",f,m)}function p(f){o("remove:field",f)}function d(f,m){o("rename:field",f,m)}return(f,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(Oe.KLabel),{class:"dk-inputs-field-h1",info:e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),e.unref(r)("input")?(e.openBlock(),e.createBlock(St,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:t.items,label:e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},{"item-label":e.withCtx(g=>[e.renderSlot(f.$slots,"item-label",e.normalizeProps(e.guardReactiveProps(g)),()=>[e.createVNode(Tr,{item:g},null,8,["item"])],!0)]),_:3},8,["items","label","placeholder"])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",GS,[e.createElementVNode("span",null,e.toDisplayString(e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createBlock(e.unref(Oe.KLabel),{key:2,class:"dk-inputs-field-h2 dk-margin-0"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1})):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createBlock(e.unref(l),e.mergeProps({key:3,items:t.items,"key-order":t.fieldNames,name:"inputs"},l.value===su?{nodeType:t.nodeType}:{fieldNameValidator:t.fieldNameValidator},{"onAdd:field":c,"onChange:inputs":u,"onRemove:field":p,"onRename:field":d}),{"item-label":e.withCtx(g=>[e.createVNode(Tr,{item:g},null,8,["item"])]),_:1},16,["items","key-order"])):e.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-f80a82e6"]]),zS={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"},HS={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 WS(t){const n=Number(t);return!isNaN(n)&&isFinite(n)}function Vt(...t){return function(o){for(const r of t){const a=r(o);if(a)return a}}}function Jn(t){const{i18n:{t:n}}=$e(),o=()=>t?typeof t=="string"?t:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",t):"Field is required";return function(a){if(a==null||typeof a=="string"&&a.trim()==="")return o()}}function cu(t,n){const{i18n:{t:o}}=$e();return function(a){if(a!=null)switch(t){case"identifier":{const i=()=>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(a)?void 0:i()}case"url":{const i=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(a);return}catch{return i()}}default:return}}}function Jt(t=0,n=1/0,o){const{i18n:{t:r}}=$e();return function(i){if(i!=null&&typeof i=="string"&&(i.length<t||i.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:t,maxLength:n}):`Value must be between ${t} and ${n} characters`}}function du(t){const{i18n:{t:n}}=$e();return function(r){if(!WS(r))return t?typeof t=="string"?t:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",t):"Value must be a number"}}function mi(t,n){const{i18n:{t:o}}=$e();return function(a){if(a==null)return;const i=du(n)(a);if(i)return i;const l=Number(a);switch(t){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 gi(t=-1/0,n=1/0,o){const{i18n:{t:r}}=$e();return function(i){if(i==null)return;const l=du(o)(i);if(l)return l;const s=Number(i);if(s<t||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:t,max:n}):`Value must be between ${t} and ${n}`}}function YS(t,n){const{state:o}=Xe(),{i18n:{t:r}}=$e();return function(i){if(o.value.nodes.some(l=>l.name===i&&l.id!==t))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function JS(t,n,o){const{i18n:{t:r}}=$e();return function(i){if(!n)return;if(o?n.fields[t].some(s=>s.name===i&&s.id!==o):n.fields[t].some(s=>s.name===i)){const s=r(t==="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 XS(){const{i18n:{t}}=$e();return function(o){if(Ma(o))return t("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function uu(t){const{i18n:{t:n}}=$e(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return Vt(Jn(o),cu("identifier",o),XS(),YS(t,o))}function ZS(t){const{i18n:{t:n}}=$e(),{getNodeById:o}=Xe();return function(a,i,l){const s={fieldName:n(a==="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 Vt(Jn(s),JS(a,o(t),l))(i)}}function QS(t){const n=e.ref({}),o=e.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(t).forEach(l=>{const s=t[l],c=d=>{const f=typeof d=="function"?d():d,m=s(f);return n.value[l]=m,m},u=()=>{n.value[l]=void 0},p=d=>(u(),c(d));r[l]={handleChange:p,handleBlur:p,validate:p,isValid:e.computed(()=>n.value[l]===void 0),error:e.computed(()=>n.value[l])}});function a(){n.value={}}function i(l){var s;for(const c of Object.keys(t)){const u=l[c],p=typeof u=="function"?u():u;(s=r[c])==null||s.validate(p)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:a,validate:i}}function On(t){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=t,{skipValidation:a}=Xe(),i=e.computed(()=>typeof n=="function"?n():n),l=e.computed(()=>QS(i.value)),s=e.computed(()=>l.value.fields),c=e.computed(()=>l.value.isValid.value);function u(){const d=o(),f=l.value.validate(d),m={};for(const g in i.value)m[g]=f[g];return m}function p(d,f){const m=()=>{const _=o(),y=s.value[d];y&&y.handleBlur(_[d])},g=()=>{f==null||f();const _=o(),y=s.value[d];y&&y.handleChange(_[d])};return e.computed(()=>{const _=s.value[d];return{validate:m,update:g,error:_?!_.isValid.value:!1,errorMessage:_?_.error.value??"":""}})}return e.onMounted(()=>{a.value?a.value=!1:u()}),e.onBeforeUnmount(async()=>{try{const d=u(),f=Object.values(d).filter(Boolean).length>0;r(!f)}catch{}}),e.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:u,createFieldHandler:p}}function Bt(t,n){const{state:o,renameNode:r,getNodeById:a,addField:i,renameField:l,removeField:s,replaceConfig:c,disconnectEdge:u,connectEdge:p,invalidConfigNodeIds:d,commit:f,revert:m}=Xe(),{i18n:{t:g}}=$e(),_=Ud(),y=e.computed(()=>{const K=a(t);if(!K)throw new Error("Node not existed");return K}),h=e.computed(()=>{const M=o.value.edges.filter(L=>L.target===t).reduce((L,A)=>{var H,ee;const D=a(A.source),q=(H=an(D,"output",A.sourceField))==null?void 0:H.id,Z=(ee=an(y.value,"input",A.targetField))==null?void 0:ee.name,v=D.id+(q?`.${q}`:"");return Z?L.inputs={...L.inputs,[Z]:v}:L.input=v,L},{});return y.value.fields.input.forEach(L=>{M.inputs||(M.inputs={}),M.inputs[L.name]||(M.inputs[L.name]=null)}),{...y.value.config,...M,name:y.value.name}}),w=K=>{r(t,K??"",!0,`${t}:rename`)},E=(K,M=!0)=>{if(!n)throw new Error("getFormValue is not defined");const L=en(n(),["name","input","inputs"]),A=K?`update:${t}:${K}`:void 0;c(t,L,M,A)},C=(K,M)=>{const L=rn(y.value,K,M);if(!L)throw new Error(`Field with name "${M}" not found in node "${y.value.name}"`);return L},b=(K,M,L)=>{const A=!!L;i(t,K,M,!A),A&&P(M,L)},k=(K,M,L)=>{const A=C(K,M).id;l(t,A,L)},N=(K,M)=>{const L=C(K,M).id;s(t,L)},I=e.computed(()=>o.value.edges.filter(K=>K.target===t&&!K.targetField)[0]),$=e.computed(()=>o.value.edges.filter(K=>K.target===t&&K.targetField)),P=async(K,M)=>{const L=M==null,A=C("input",K).id;if(L){const Ee=$.value.find(J=>J.targetField===A);Ee&&u(Ee.id);return}const{nodeId:D,fieldId:q}=Tc(M),Z=C("input",K).id,v=[];I.value&&(v.push(Ao(I.value,a)),u(I.value.id,!1));const H=$.value.find(Ee=>Ee.targetField===A);H&&(v.push(Ao(H,a)),u(H.id,!1)),p({source:D,sourceField:q,target:t,targetField:Z},!1);const ee=Ja(D,q,t,Z,a),Ae=v[0]&&ee?v[0][1]===ee[1]:!1;if(f(),Ae||v.length===0)return;await _(g("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[ee],v)||m()},x=async K=>{if(K==null){I.value&&u(I.value.id);return}const L=[];for(const v of $.value)L.push(Ao(v,a)),u(v.id,!1);I.value&&u(I.value.id,!1);const{nodeId:A,fieldId:D}=Tc(K);p({source:A,sourceField:D,target:t,targetField:void 0},!1);const q=Ja(A,D,t,void 0,a);if(f(),L.length===0)return;await _(g("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[q],L)||m()},V=K=>{const M=[...o.value.edges,{source:K,target:t}];return Ga(mr(M))},S=e.computed(()=>{var M,L;const K=[];for(const A of o.value.nodes)if((M=zn(A.type).io)!=null&&M.output&&A.fields.output&&A.id!==t&&!(A.type==="property"&&!Wa((L=A.config)==null?void 0:L.property))&&!V(A.id)&&!(y.value.phase==="request"&&A.phase==="response")&&!(A.type==="vault"&&A.fields.output.length===0)){K.push({value:A.id,label:A.name,type:A.type});for(const q of A.fields.output)K.push({value:`${A.id}.${q.id}`,label:`${A.name}.${q.name}`,type:A.type})}return K}),B=e.computed(()=>y.value.fields.input.map(K=>K.name)||[]);function U(K){d.value.delete(t),K||d.value.add(t)}const j=ZS(t);function z(K,M,L){const A=a(t);if(!A)throw new Error("Node not found when validating field name");const D=rn(A,K,M);return j(K,L,D==null?void 0:D.id)}return{formData:h,inputOptions:S,inputEdge:I,inputsEdges:$,inputsFieldNames:B,currentNode:y,setName:w,setConfig:E,addField:b,renameFieldByName:k,removeFieldByName:N,setInputs:P,setInput:x,nameValidator:uu(t),fieldNameValidator:z,toggleNodeValid:U}}function $t(t){const{getSchema:n}=Ue();return e.computed(()=>{if(Ct(t))switch(t){case"response":return HS;case"service_request":return zS}try{const r=n().fields.find(u=>Ho(u,"config"));if(!r)throw new Error("Config field not found in schema.");const i=r.config.fields.find(u=>Ho(u,"nodes"));if(!i)throw new Error("Nodes field not found in config schema.");const c=i.nodes.elements.subschema_definitions[t];if(!c)throw new Error(`Subschema "${t}" not found in the schema.`);return c}catch(o){throw new Error(`Failed to get subschema "${t}": ${o.message}`)}})}const Xt=e.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(t,{emit:n}){const o=t,r=n,{i18n:{t:a}}=$e(),i=e.ref(o.name),l=e.computed(()=>{const p=o.validate(i.value.trim());return p===void 0?"":p});let s=i.value.trim();function c(){if(l.value){i.value=s;return}r("update",i.value.trim())}function u(){s=i.value.trim()}return e.watch(()=>o.name,p=>{p!==i.value&&(i.value=p)}),(p,d)=>{const f=e.resolveComponent("KInput");return e.openBlock(),e.createBlock(f,{"model-value":i.value,"onUpdate:modelValue":d[0]||(d[0]=m=>i.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:u},null,8,["model-value","error","error-message","label"])}}}),eP=e.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(t){const{i18n:{t:n}}=$e(),o=e.useTemplateRef("form"),r=$t("call"),{formData:a,setName:i,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:p,nameValidator:d,toggleNodeValid:f,fieldNameValidator:m}=Bt(t.nodeId,()=>o.value.getValue()),{createFieldHandler:g}=On({validationConfig:{url:Vt(Jn({fieldName:"URL"}),cu("url",{fieldName:"URL"})),timeout:Vt(mi("integer"),gi(0,2147483646))},getValidationData:()=>({url:a.value.url,timeout:a.value.timeout}),toggleNodeValid:f}),_=g("url",()=>l("url")),y=g("timeout",()=>l("timeout"));return(h,w)=>{const E=e.resolveComponent("KLabel");return e.openBlock(),e.createBlock(dt,{ref:"form",data:e.unref(a),schema:e.unref(r)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(d),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(E,{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(pt,{error:e.unref(_).error,"error-message":e.unref(_).errorMessage,name:"url",onBlur:e.unref(_).validate,"onUpdate:modelValue":e.unref(_).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(HA,{name:"method",onUpdate:w[0]||(w[0]=C=>e.unref(l)())}),e.createVNode(An,{error:e.unref(y).error,"error-message":e.unref(y).errorMessage,name:"timeout",onBlur:e.unref(y).validate,"onUpdate:modelValue":e.unref(y).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(pt,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=C=>e.unref(l)("ssl_server_name"))}),e.createVNode(xn,{name:"ssl_verify","onUpdate:modelValue":w[2]||(w[2]=C=>e.unref(l)("ssl_verify"))}),e.createVNode(Mt,{"field-name-validator":e.unref(m),"field-names":e.unref(p),items:e.unref(s),"node-type":"call","onChange:input":e.unref(u),"onChange:inputs":e.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),tP=e.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=$t("service_request"),{formData:r,inputOptions:a,setInputs:i,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=Bt(t.nodeId,()=>n.value.getValue());return(u,p)=>(e.openBlock(),e.createBlock(dt,{ref:"form",data:e.unref(r),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Mt,{"field-name-validator":e.unref(c),"field-names":e.unref(s),items:e.unref(a),"node-type":"service_request","onChange:input":e.unref(l),"onChange:inputs":e.unref(i)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),nP=e.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=$t("response"),{formData:r,inputOptions:a,setInputs:i,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=Bt(t.nodeId,()=>n.value.getValue());return(u,p)=>(e.openBlock(),e.createBlock(dt,{ref:"form",data:e.unref(r),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Mt,{"field-name-validator":e.unref(c),"field-names":e.unref(s),items:e.unref(a),"node-type":"response","onChange:input":e.unref(l),"onChange:inputs":e.unref(i)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),fu={jqlang:"https://jqlang.org/manual/"},oP=e.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(t){const{i18n:{t:n},i18nT:o}=$e(),r=e.useTemplateRef("form"),a=$t("jq"),{formData:i,setName:l,setConfig:s,inputOptions:c,setInputs:u,setInput:p,addField:d,removeFieldByName:f,renameFieldByName:m,inputsFieldNames:g,nameValidator:_,toggleNodeValid:y,fieldNameValidator:h}=Bt(t.nodeId,()=>r.value.getValue());function w(I,$){d("input",I,$)}function E(I){f("input",I)}function C(I,$){m("input",I,$)}const b=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:k}=On({validationConfig:{jq:Vt(Jn({fieldName:b}),Jt(1,10240,{fieldName:b}))},getValidationData:()=>({jq:i.value.jq}),toggleNodeValid:y}),N=k("jq",()=>s("jq"));return(I,$)=>{const P=e.resolveComponent("KLabel"),x=e.resolveComponent("KExternalLink");return e.openBlock(),e.createBlock(dt,{ref:"form",data:e.unref(i),schema:e.unref(a)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(i).name,validate:e.unref(_),onUpdate:e.unref(l)},null,8,["name","validate","onUpdate"]),e.createVNode(P,{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(pt,{autosize:"",error:e.unref(N).error,"error-message":e.unref(N).errorMessage,label:e.unref(b),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:e.unref(N).validate,"onUpdate:modelValue":e.unref(N).update},{help:e.withCtx(()=>[e.createVNode(e.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:e.withCtx(()=>[e.createVNode(x,{"hide-icon":"",href:e.unref(fu).jqlang},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(fu).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),e.createVNode(Mt,{"field-name-validator":e.unref(h),"field-names":e.unref(g),items:e.unref(c),"node-type":"jq","onAdd:field":w,"onChange:input":e.unref(p),"onChange:inputs":e.unref(u),"onRemove:field":E,"onRename:field":C},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),rP=be(e.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{},name:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(t,{emit:n}){const o=t,r=n,a=e.ref({}),{entries:i,addEntry:l,removeEntry:s,field:c}=Qo(o,r,!1),{i18n:u}=$e(),p=e.useTemplateRef("root"),d=e.ref(null);let f;async function m(b,k="key"){var N;p.value&&(await e.nextTick(),(N=p.value.querySelector(`[data-${k}-input="${b}"]`))==null||N.focus())}function g(){const b=l(),k=i.value.findIndex(({key:N})=>!N);m(k===-1?i.value.length-1:k),d.value=b}function _(b){var k;b.id===((k=d.value)==null?void 0:k.id)&&(d.value=null),s(b.id),b.key.trim()!==""&&r("remove:field",b.key)}function y(b){f=b.key}function h(b){var k;if(E(b)){b.key=f,delete a.value[b.id];return}if(b.id===((k=d.value)==null?void 0:k.id)){if(b.key.trim()==="")return;d.value=null,r("add:field",b.key,b.value)}else r("rename:field",f,b.key);f=b.key}function w(b,k){var I;if(k.id===((I=d.value)==null?void 0:I.id))return;const N=b.target.value.trim();r("change:value",k.key,N)}function E(b){delete a.value[b.id];const k=o.fieldNameValidator("output",f,b.key);if(k)return a.value[b.id]=k,k}function C(b){E(b)}return e.watchEffect(()=>{d.value&&!i.value.some(b=>b.id===d.value.id)&&i.value.push(d.value)}),(b,k)=>{const N=e.resolveComponent("KAlert"),I=e.resolveComponent("KLabel"),$=e.resolveComponent("KButton"),P=e.resolveComponent("KInput"),x=e.resolveComponent("KCard");return e.unref(c).error?(e.openBlock(),e.createBlock(N,{key:0,appearance:"danger",message:e.unref(c).error.message},null,8,["message"])):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"root",ref:p,class:"dk-output-value-field"},[e.createVNode(I,{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(V,S)=>(e.openBlock(),e.createBlock(x,{key:V.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${e.unref(c).path.value}.${S}`},{actions:e.withCtx(()=>[e.createVNode($,{appearance:"none","data-testid":`ff-kv-remove-btn-${e.unref(c).path.value}.${S}`,icon:"",onClick:B=>_(V)},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.CloseIcon))]),_:1},8,["data-testid","onClick"])]),default:e.withCtx(()=>[e.createVNode(P,{id:`ff-kv-entry-key-${e.unref(c).path.value}.${S}`,modelValue:V.key,"onUpdate:modelValue":[B=>V.key=B,B=>E(V)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":S,"data-testid":`ff-key-${e.unref(c).path.value}.${S}`,error:!!a.value[V.id],"error-message":a.value[V.id],label:e.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:B=>C(V),onChange:B=>h(V),onFocus:B=>y(V)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),e.createVNode(P,{modelValue:V.value,"onUpdate:modelValue":B=>V.value=B,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${e.unref(c).path.value}.${S}`,label:e.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:B=>w(B,V)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),e.createVNode($,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${e.unref(c).path.value}`,disabled:!!d.value,onClick:g},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.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 aP(t){const n={};for(const[o,r]of Object.entries(t))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function Or(t){const n={};for(const[o,r]of Object.entries(t))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 iP(t,n,o){const r={};for(const a of Object.keys(t))a===n?r[o]=t[n]:r[a]=t[a];return r}const lP=e.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(t){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:a,removeField:i,replaceConfig:l,getNodeById:s}=Xe(),{fieldNameValidator:c}=Bt(t.nodeId),u=$t("static"),p=uu(t.nodeId),d=e.computed(()=>s(t.nodeId)),f=e.computed(()=>{var E;return((E=d.value)==null?void 0:E.fields.output.map(C=>C.name))||[]});function m(E){if(!d.value)throw new Error("No current node");n(d.value.id,E??"")}const g=e.computed(()=>{var $;if(!d.value)return{};const E=(($=d.value.config)==null?void 0:$.values)??{},C={},b=o(d.value.id).map(P=>P.sourceField).filter(Boolean).map(P=>an(d.value,"output",P)).map(P=>P==null?void 0:P.name).filter(Boolean),k=d.value.fields.output.map(P=>P.name),N=Object.keys(E);return new Set([...N,...b,...k]).forEach(P=>{if(P in E){C[P]=E[P];return}C[P]=""}),{name:d.value.name,values:aP(C)}});function _(E,C){if(!d.value)throw new Error("No selected node");const b=C!==void 0;if(r(t.nodeId,"output",E,!b),b){const k={values:Or({...g.value.values,[E]:C})};l(t.nodeId,k)}}function y(E,C){if(!d.value)throw new Error("No selected node");const b=rn(d.value,"output",E);if(!b)throw new Error("No field found to rename");const k={values:Or(iP(g.value.values??{},E,C))};l(t.nodeId,k,!1),a(t.nodeId,b.id,C)}function h(E){var k;if(!d.value)throw new Error("No selected node");const C=rn(d.value,"output",E);if(!C)throw new Error("No field found to delete");i((k=d.value)==null?void 0:k.id,C.id,!0,!1);const b={values:Or({...g.value.values})};delete b.values[E],l(t.nodeId,b)}function w(E,C){if(!d.value)throw new Error("No selected node");const b={...g.value.values};b[E]=C;const k={values:Or(b)};l(t.nodeId,k)}return(E,C)=>(e.openBlock(),e.createBlock(dt,{ref:"form",data:g.value,schema:e.unref(u)},{default:e.withCtx(()=>{var b;return[e.createVNode(Xt,{name:((b=d.value)==null?void 0:b.name)??"",validate:e.unref(p),onUpdate:m},null,8,["name","validate"]),e.createVNode(rP,{"field-name-validator":e.unref(c),"key-order":f.value,name:"values","onAdd:field":_,"onChange:value":w,"onRemove:field":h,"onRename:field":y},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),sP={class:"dk-kong-property-item"},cP={class:"property-type"},dP={class:"property-badges"},uP=be(e.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(t,{emit:n}){const{i18n:{t:o}}=$e(),r=t,a=n,{formData:i}=Ue(),l=e.ref(No(i.property)),s=e.computed(()=>xo(i.property)),c=e.ref(Ha(i.property)),u=e.computed(()=>i.property??""),p=e.computed(()=>Object.entries(Pn).map(([m])=>{var y;const g=xo(m)?(y=i.property)==null?void 0:y.startsWith(m.replace(Wn,"")):i.property===m;return{label:g&&c.value?m.replace(Wn,c.value):m,value:m,selected:g}}));function d(m){const g=_r.find(_=>{var y;return(y=i.property)==null?void 0:y.startsWith(_)});g&&(i.property=g+m,r.validators.key.handleChange(i.property),a("update:property-key",i.property))}function f(m){l.value!==No(m==null?void 0:m.value)&&(i.property=(m==null?void 0:m.value)||null,l.value=No(i.property),r.validators.property.handleBlur(()=>i.property),a("update:model-value",i.property))}return e.watch(()=>i.property,m=>{c.value=Ha(m),l.value=No(m)}),(m,g)=>{const _=e.resolveComponent("KBadge"),y=e.resolveComponent("KSelect"),h=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(y,{key:u.value,"enable-filtering":"",error:!t.validators.property.isValid.value,help:t.validators.property.error.value,items:p.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:g[0]||(g[0]=w=>t.validators.property.handleBlur(()=>e.unref(i).property)),onChange:f},{"item-template":e.withCtx(({item:w})=>[e.createElementVNode("div",sP,[e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(w.label),1),e.createElementVNode("div",cP,e.toDisplayString(e.unref(Pn)[w.value].dataType),1)]),e.createElementVNode("div",dP,[e.unref(Pn)[w.value].readable?(e.openBlock(),e.createBlock(_,{key:0,appearance:"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):e.createCommentVNode("",!0),e.unref(Pn)[w.value].writable?(e.openBlock(),e.createBlock(_,{key:1,appearance:"warning"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):e.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(e.openBlock(),e.createBlock(h,{key:0,"model-value":c.value,"onUpdate:modelValue":[g[1]||(g[1]=w=>c.value=w),d],error:!t.validators.key.isValid.value,"error-message":t.validators.key.error.value,label:"key",required:"",onBlur:g[2]||(g[2]=w=>t.validators.key.handleBlur(()=>e.unref(i).property))},null,8,["model-value","error","error-message"])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),fP=e.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:a}=Xe(),i=$t("property"),{formData:l,setName:s,setConfig:c,inputOptions:u,setInputs:p,setInput:d,inputsFieldNames:f,nameValidator:m,toggleNodeValid:g,fieldNameValidator:_}=Bt(t.nodeId,()=>n.value.getValue()),y=e.computed(()=>Ya(l.value.property));function h(E){var b;const C=(b=o.value)==null?void 0:b.id;if(!C)throw new Error("Expected selectedNode to be defined");Wa(E)||a(C,!1),Ya(E)||r(C,!1),c()}const{fields:w}=On({validationConfig:()=>({property:Jn({fieldName:"Property"}),key:xo(l.value.property)?Jn({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Ha(l.value.property)}),toggleNodeValid:g});return(E,C)=>(e.openBlock(),e.createBlock(dt,{ref:"form",data:e.unref(l),schema:e.unref(i)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(l).name,validate:e.unref(m),onUpdate:e.unref(s)},null,8,["name","validate","onUpdate"]),e.createVNode(St,{name:"content_type",onUpdate:C[0]||(C[0]=b=>e.unref(c)())}),e.createVNode(uP,{validators:e.unref(w),"onUpdate:modelValue":h,"onUpdate:propertyKey":C[1]||(C[1]=b=>e.unref(c)("property-key"))},null,8,["validators"]),y.value?(e.openBlock(),e.createBlock(Mt,{key:0,"field-name-validator":e.unref(_),"field-names":e.unref(f),items:e.unref(u),"node-type":"property","onChange:input":e.unref(d),"onChange:inputs":e.unref(p)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):e.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),pP=e.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=$t("exit"),{formData:r,setName:a,setConfig:i,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:u,nameValidator:p,toggleNodeValid:d,fieldNameValidator:f}=Bt(t.nodeId,()=>n.value.getValue()),{createFieldHandler:m}=On({validationConfig:{status:Vt(mi("integer",{fieldName:"Status"}),gi(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:d}),g=m("status",()=>i("status"));return(_,y)=>(e.openBlock(),e.createBlock(dt,{ref:"form",data:e.unref(r),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(r).name,validate:e.unref(p),onUpdate:e.unref(a)},null,8,["name","validate","onUpdate"]),e.createVNode(An,{error:e.unref(g).error,"error-message":e.unref(g).errorMessage,name:"status",onBlur:e.unref(g).validate,"onUpdate:modelValue":e.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(xn,{name:"warn_headers_sent","onUpdate:modelValue":y[0]||(y[0]=h=>e.unref(i)())}),e.createVNode(Mt,{"field-name-validator":e.unref(f),"field-names":e.unref(u),items:e.unref(l),"node-type":"exit","onChange:input":e.unref(c),"onChange:inputs":e.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}});function mP(t){const n=Bt(t),{state:o,getNodeById:r,branchGroups:a,commit:i}=Xe(),{i18n:{t:l}}=$e(),s=Ud(),c=ka(),u=e.computed(()=>{var E;const h={...n.formData.value},w=Co(((E=n.currentNode.value)==null?void 0:E.type)||"branch");for(const C of w)(!(C in h)||h[C]==null)&&(h[C]=[]);return h});function p(h,w,E){const C=r(h),b=r(E),k=C?`${C.name}.${w}`:`${h}.${w}`,N=b?b.name:E;return[k,N]}function d(h){return(h==null?[]:Array.isArray(h)?h:[h]).filter(w=>ja(w))}function f(h,w){return a.wouldCreateCycle(h,w)?(c({message:l("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function m(h,w,E){const C=[],b=[],k=[];for(const N of E){const I=a.findMembership(N);if(!I||I.ownerId===h&&I.branch===w)continue;const $=a.getMembers(I.ownerId,I.branch).filter(P=>P!==N);k.push({ownerId:I.ownerId,branch:I.branch,members:$}),C.push(p(h,w,N)),b.push(p(I.ownerId,I.branch,N))}return{conflictUpdates:k,addedAssignments:C,removedAssignments:b}}function g(h,w,E,C){let b=!1;for(const k of C)b=a.setMembers(k.ownerId,k.branch,k.members,{commit:!1})||b;return b=a.setMembers(h,w,E,{commit:!1})||b,b}async function _(h,w){const E=n.currentNode.value,C=d(w),b=a.prepareMembers(E.id,h,C),k=a.getMembers(E.id,h);if(Ua(k,b))return!0;const N=b.filter(V=>!k.includes(V));for(const V of N)if(f(E.id,V))return!1;const{conflictUpdates:I,addedAssignments:$,removedAssignments:P}=m(E.id,h,N);return I.length>0&&!await s(l("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),$,P)?!1:(g(E.id,h,b,I)&&i(),!0)}const y=e.computed(()=>{const h=n.currentNode.value;return!h||!a?[]:o.value.nodes.filter(w=>w.id!==t&&!Ct(w.type)&&w.phase===h.phase&&!a.wouldCreateCycle(h.id,w.id)).map(w=>({value:w.id,label:w.name,type:w.type}))});return{...n,formData:u,branchOptions:y,updateBranchMembers:_}}const gP=e.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(t){const{i18n:{t:n}}=$e(),o=$t("branch"),r=e.ref(0),{formData:a,setName:i,inputOptions:l,branchOptions:s,nameValidator:c,setInput:u,setInputs:p,inputsFieldNames:d,fieldNameValidator:f,updateBranchMembers:m}=mP(t.nodeId);async function g(_,y){await m(_,y)||(r.value+=1)}return(_,y)=>(e.openBlock(),e.createBlock(dt,{key:r.value,data:e.unref(a),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(c),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(e.unref(Oe.KLabel),{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(St,{"enable-filtering":"",items:e.unref(s),multiple:"",name:"then",onUpdate:y[0]||(y[0]=h=>g("then",h))},{"item-label":e.withCtx(h=>[e.createVNode(Tr,{item:h},null,8,["item"])]),_:1},8,["items"]),e.createVNode(St,{"enable-filtering":"",items:e.unref(s),multiple:"",name:"else",onUpdate:y[1]||(y[1]=h=>g("else",h))},{"item-label":e.withCtx(h=>[e.createVNode(Tr,{item:h},null,8,["item"])]),_:1},8,["items"]),e.createVNode(Mt,{"field-name-validator":e.unref(f),"field-names":e.unref(d),items:e.unref(l),"node-type":"branch","onChange:input":e.unref(u),"onChange:inputs":e.unref(p)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),hP=e.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=$t("cache"),{i18n:{t:r}}=$e(),{formData:a,setName:i,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:p,nameValidator:d,toggleNodeValid:f,fieldNameValidator:m}=Bt(t.nodeId,()=>n.value.getValue()),{createFieldHandler:g}=On({validationConfig:()=>({ttl:Vt(mi("integer",{fieldName:"TTL"}),gi(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:a.value.ttl}),toggleNodeValid:f}),_=g("ttl",()=>l("ttl"));return(y,h)=>(e.openBlock(),e.createBlock(dt,{ref:"form",data:e.unref(a),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(d),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(e.unref(Oe.KLabel),{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(xn,{name:"bypass_on_error","onUpdate:modelValue":h[0]||(h[0]=w=>e.unref(l)("bypass_on_error"))}),e.createVNode(An,{error:e.unref(_).error,"error-message":e.unref(_).errorMessage,name:"ttl",onBlur:e.unref(_).validate,"onUpdate:modelValue":e.unref(_).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(Mt,{"field-name-validator":e.unref(m),"field-names":e.unref(p),items:e.unref(s),"node-type":"cache","onChange:input":e.unref(u),"onChange:inputs":e.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),yP=e.defineComponent({__name:"NodeFormXmlToJson",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=$t("xml_to_json"),{i18n:{t:r}}=$e(),{formData:a,setName:i,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:p,nameValidator:d,toggleNodeValid:f,fieldNameValidator:m}=Bt(t.nodeId,()=>n.value.getValue()),g=r("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),_=()=>!!(a.value.attributes_block_name||a.value.attributes_name_prefix),{createFieldHandler:y}=On({validationConfig:()=>({attributes_block_name:Vt(()=>_()?void 0:g,I=>{if(I)return Jt(1,32,{fieldName:"Attributes block name"})(I)}),attributes_name_prefix:Vt(()=>_()?void 0:g,I=>{if(I)return Jt(1,32,{fieldName:"Attributes name prefix"})(I)}),text_block_name:Jt(1,32,{fieldName:"Text block name"}),xpath:Jt(1,256,{fieldName:"XPath"})}),getValidationData:()=>({attributes_block_name:a.value.attributes_block_name,attributes_name_prefix:a.value.attributes_name_prefix,text_block_name:a.value.text_block_name,xpath:a.value.xpath}),toggleNodeValid:f}),h=y("attributes_block_name",()=>l("attributes_block_name")),w=y("attributes_name_prefix",()=>l("attributes_name_prefix")),E=y("text_block_name",()=>l("text_block_name")),C=y("xpath",()=>l("xpath")),b=()=>{h.value.validate(),w.value.validate()},k=()=>{h.value.update(),w.value.validate()},N=()=>{w.value.update(),h.value.validate()};return(I,$)=>(e.openBlock(),e.createBlock(dt,{ref:"form",data:e.unref(a),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(d),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(e.unref(Oe.KLabel),{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(xn,{name:"recognize_type","onUpdate:modelValue":$[0]||($[0]=P=>e.unref(l)("recognize_type"))}),e.createVNode(pt,{error:e.unref(h).error,"error-message":e.unref(h).errorMessage,name:"attributes_block_name",onBlur:b,"onUpdate:modelValue":k},null,8,["error","error-message"]),e.createVNode(pt,{error:e.unref(w).error,"error-message":e.unref(w).errorMessage,name:"attributes_name_prefix",onBlur:b,"onUpdate:modelValue":N},null,8,["error","error-message"]),e.createVNode(pt,{error:e.unref(E).error,"error-message":e.unref(E).errorMessage,name:"text_block_name",onBlur:e.unref(E).validate,"onUpdate:modelValue":e.unref(E).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(xn,{name:"text_as_property","onUpdate:modelValue":$[1]||($[1]=P=>e.unref(l)("text_as_property"))}),e.createVNode(pt,{error:e.unref(C).error,"error-message":e.unref(C).errorMessage,name:"xpath",onBlur:e.unref(C).validate,"onUpdate:modelValue":e.unref(C).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(Mt,{"field-name-validator":e.unref(m),"field-names":e.unref(p),items:e.unref(s),"node-type":"xml_to_json","onChange:input":e.unref(u),"onChange:inputs":e.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),_P=e.defineComponent({__name:"NodeFormJsonToXml",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=$t("json_to_xml"),{i18n:{t:r}}=$e(),{formData:a,setName:i,setConfig:l,inputOptions:s,setInputs:c,setInput:u,addField:p,removeFieldByName:d,renameFieldByName:f,inputsFieldNames:m,nameValidator:g,toggleNodeValid:_,fieldNameValidator:y}=Bt(t.nodeId,()=>n.value.getValue()),h=r("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),w=()=>!!(a.value.attributes_block_name||a.value.attributes_name_prefix),{createFieldHandler:E}=On({validationConfig:{attributes_block_name:Vt(()=>w()?void 0:h,Jt(1,32,{fieldName:"Attributes block name"})),attributes_name_prefix:Vt(()=>w()?void 0:h,Jt(1,32,{fieldName:"Attributes name prefix"})),root_element_name:Jt(1,64,{fieldName:"Root element name"}),text_block_name:Jt(1,32,{fieldName:"Text block name"})},getValidationData:()=>({attributes_block_name:a.value.attributes_block_name,attributes_name_prefix:a.value.attributes_name_prefix,root_element_name:a.value.root_element_name,text_block_name:a.value.text_block_name}),toggleNodeValid:_}),C=E("attributes_block_name",()=>l("attributes_block_name")),b=E("attributes_name_prefix",()=>l("attributes_name_prefix")),k=E("root_element_name",()=>l("root_element_name")),N=E("text_block_name",()=>l("text_block_name"));function I(){C.value.validate(),b.value.validate()}function $(){C.value.update(),b.value.validate()}function P(){b.value.update(),C.value.validate()}function x(B,U){p("input",B,U)}function V(B){d("input",B)}function S(B,U){f("input",B,U)}return(B,U)=>(e.openBlock(),e.createBlock(dt,{ref:"form",data:e.unref(a),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(g),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(e.unref(Oe.KLabel),{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(pt,{error:e.unref(C).error,"error-message":e.unref(C).errorMessage,name:"attributes_block_name",onBlur:I,"onUpdate:modelValue":$},null,8,["error","error-message"]),e.createVNode(pt,{error:e.unref(b).error,"error-message":e.unref(b).errorMessage,name:"attributes_name_prefix",onBlur:I,"onUpdate:modelValue":P},null,8,["error","error-message"]),e.createVNode(pt,{error:e.unref(k).error,"error-message":e.unref(k).errorMessage,name:"root_element_name",onBlur:e.unref(k).validate,"onUpdate:modelValue":e.unref(k).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(pt,{error:e.unref(N).error,"error-message":e.unref(N).errorMessage,name:"text_block_name",onBlur:e.unref(N).validate,"onUpdate:modelValue":e.unref(N).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(Mt,{"field-name-validator":e.unref(y),"field-names":e.unref(m),items:e.unref(s),"node-type":"json_to_xml","onAdd:field":x,"onChange:input":e.unref(u),"onChange:inputs":e.unref(c),"onRemove:field":V,"onRename:field":S},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),bP=["innerHTML"],kP={key:1,class:"branch-note"},wP={class:"branch-label"},CP={class:"branch-text"},EP=e.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${qc}px`},offsetTop:{default:`${nE}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(t){const{t:n}=Ze.createI18n("en-us",et),{getNodeById:o,branchGroups:r}=Xe(),a=e.computed(()=>t.nodeId&&o(t.nodeId)),i=e.computed(()=>{if(t.nodeId)return r.findMembership(t.nodeId)}),l=e.computed(()=>{if(!i.value)return"";const u=o(i.value.ownerId);return u?`${u.name}.${i.value.branch}`:""});function s(){t.nodeId&&r.removeMember(t.nodeId)}const c=e.computed(()=>{var u;switch((u=a.value)==null?void 0:u.type){case"call":return eP;case"service_request":return tP;case"response":return nP;case"jq":return oP;case"static":return lP;case"property":return fP;case"exit":return pP;case"branch":return gP;case"cache":return hP;case"xml_to_json":return yP;case"json_to_xml":return _P;default:return null}});return(u,p)=>(e.openBlock(),e.createBlock(e.unref(Oe.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":t.maxWidth,"offset-top":t.offsetTop,visible:t.visible,"z-index":e.unref(tE),onClose:p[0]||(p[0]=d=>u.$emit("close"))},e.createSlots({default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:e.unref(wt)(a.value.type)},null,8,bP)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createElementBlock("div",kP,[e.createElementVNode("span",wP,[e.createVNode(e.unref(fe.ArrowSplitIcon),{color:e.unref(Dn),size:e.unref(uo)},null,8,["color","size"]),e.createElementVNode("span",CP,e.toDisplayString(l.value),1)]),e.createVNode(e.unref(Oe.KTooltip),{placement:"top",text:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")},{default:e.withCtx(()=>[e.createVNode(e.unref(Oe.KButton),{appearance:"none","aria-label":e.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch"),class:"remove-branch",icon:"",size:"small",onClick:s},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.TrashIcon))]),_:1},8,["aria-label"])]),_:1},8,["text"])])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createBlock(e.unref(c),{key:t.nodeId,class:"dk-node-properties-panel-form","node-id":t.nodeId},null,8,["node-id"])):e.createCommentVNode("",!0)]),_:2},[a.value?{name:"title",fn:e.withCtx(()=>[e.createVNode(zd,{type:a.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),NP=be(EP,[["__scopeId","data-v-6b2b83cd"]]),xP={class:"dk-editor-content"},AP={class:"main"},SP=be(e.defineComponent({__name:"EditorContent",setup(t){const{propertiesPanelOpen:n,selectedNode:o}=Xe();function r(){n.value=!1}e.watch(o,i=>{i||r()});const a=e.ref(!1);return e.onMounted(()=>{a.value=!0}),(i,l)=>{var s;return e.openBlock(),e.createElementBlock("div",xP,[e.createVNode(e.unref(zA)),e.createElementVNode("div",AP,[e.createVNode(cA)]),e.createVNode(NP,{"node-id":(s=e.unref(o))==null?void 0:s.id,visible:e.unref(n),onClose:r},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-8f04afa6"]]),PP={key:0,class:"dk-editor-modal"},IP=be(e.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(t){e.useCssVars(s=>({v8758bbfe:`${e.unref(eE)}px`,v30e03211:`${e.unref(Kc)}px`}));const n=e.useModel(t,"open"),o=e.ref(!1),r=e.useTemplateRef("confirm-modal"),{clear:a}=Xe();y1(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const i=Ye.useScrollLock(document);e.watch(n,s=>{i.value=!!s,s||a()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(e.openBlock(),e.createElementBlock("div",PP,[e.createVNode(oA,{class:"nav",onBack:l}),e.createVNode(SP,{ref:"content",class:"content",tabindex:"0"},null,512),e.createVNode(Q1,{ref:"confirm-modal"},null,512)])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-abbb8dba"]]),TP={class:"dk-flow-editor"},OP={class:"flow-panels-container"},VP={class:"overlay"},BP=be(e.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(t,{emit:n}){const{t:o}=Ze.createI18n("en-us",et),{formData:r}=Ue(),a=n;function i(c,u,p,d){const f={...r.config,nodes:c};p!==void 0&&(f.resources=p);const m={...r.__ui_data,...u};r.config=f,r.__ui_data=m,d!=null?r.partials=[{id:d}]:r.partials&&(r.partials=null),a("change",f,m)}const{modalOpen:l,setPendingFitView:s}=vc(r,{onChange:i,isEditing:t.isEditing});return e.watch(l,()=>{s(!0)},{flush:"post"}),YC({enabled:l}),(c,u)=>{const p=e.resolveComponent("KButton");return e.openBlock(),e.createElementBlock("div",TP,[e.createElementVNode("div",OP,[e.createVNode(ui,{inactive:e.unref(l),mode:"preview"},null,8,["inactive"]),e.createElementVNode("div",VP,[e.createVNode(p,{appearance:"secondary",class:"button-open-editor",onClick:u[0]||(u[0]=d=>l.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),e.createVNode(e.unref(fe.ExpandIcon))]),_:1})])]),e.createVNode(IP,{open:e.unref(l),"onUpdate:open":u[1]||(u[1]=d=>e.isRef(l)?l.value=d:null)},null,8,["open"])])}}}),[["__scopeId","data-v-82ca6e78"]]),$P=["innerHTML"],RP={class:"dk-option-label"},FP=["innerHTML"],LP=be(e.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},editorMode:{},formConfig:{},renderRules:{},pluginName:{}},setup(t){const{t:n}=Ze.createI18n("en-us",et),o=t,r=e.inject(Le.FORMS_CONFIG),a=e.ref(!1);e.onMounted(()=>{a.value=!!document.querySelector("#plugin-form-page-actions")});const{editorMode:i}=gr(),l=e.computed(()=>r.app!=="konnect"||u.value===!1?"code":i.value),s=e.computed(()=>r.app==="kongManager"?"code":l.value==="flow"?"form":"code"),c={flow:fe.DesignIcon,code:fe.CodeblockIcon},u=e.ref(!0),p=e.ref(""),d=e.computed(()=>{const C=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return C[0].disabled=!u.value,C}),f=e.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""}}),m=e.computed(()=>u.value?"":n("plugins.free-form.datakit.flow_editor.disabled_tooltip",{reason:p.value,code:C=>`<code>${by(C)}</code>`}));e.watch(l,()=>{var C;(C=o.onValidityChange)==null||C.call(o,{model:"config",valid:!0})});function g(){var C;(C=o.onValidityChange)==null||C.call(o,{model:"config",valid:!0})}function _(){g()}function y(C){return C.map(b=>typeof b=="number"?`[${b}]`:C.length&&typeof b=="string"&&b.includes(".")?`["${b}"]`:`.${b}`).join("").replace(/^\./,"")}function h(C){return C.issues.map(b=>`${y(b.path)} - ${b.message}`).join("; ")}function w(C){if(g(),r.app!=="konnect")return;const b=C==null?void 0:C.config,{success:k,error:N}=lu.safeParse(b);p.value=k||!N?"":h(N),u.value=k}function E(C){var b;p.value=C,u.value=!1,(b=o.onValidityChange)==null||b.call(o,{model:"config",valid:!1,error:C})}return(C,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(r).app==="konnect"?(e.openBlock(),e.createBlock(e.Teleport,{key:0,disabled:!a.value,to:"#plugin-form-page-actions"},[e.createVNode(e.unref(Oe.KSegmentedControl),{"data-testid":"datakit-editor-mode-switcher","model-value":l.value,options:d.value,"onUpdate:modelValue":b[0]||(b[0]=k=>i.value=k)},{"option-label":e.withCtx(({option:k})=>[e.createVNode(e.unref(Oe.KTooltip),{disabled:u.value||k.value!=="flow"},{content:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:m.value},null,8,$P)]),default:e.withCtx(()=>[e.createElementVNode("div",RP,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c[k.value]))),e.createTextVNode(" "+e.toDisplayString(k.label),1)])]),_:2},1032,["disabled"])]),_:1},8,["model-value","options"])],8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(cr,e.mergeProps(o,{class:"dk-form","editor-mode":s.value}),{"code-editor":e.withCtx(()=>[e.createVNode(IC,{class:"code-editor",editing:o.isEditing,onChange:w,onError:E},null,8,["editing"])]),"plugin-config-title":e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.mode")),1)]),"plugin-config-description":e.withCtx(()=>[e.createElementVNode("span",{innerHTML:f.value},null,8,FP)]),default:e.withCtx(()=>[l.value==="flow"?(e.openBlock(),e.createBlock(BP,{key:0,"is-editing":o.isEditing,onChange:_},null,8,["is-editing"])):e.createCommentVNode("",!0)]),_:1},16,["editor-mode"])],64))}}),[["__scopeId","data-v-673cc067"]]),pu=t=>{if(!(!t||typeof t!="object"))for(const[n,o]of Object.entries(t))typeof o=="string"&&(t[n]=o.split(/\s*,\s*/).filter(Boolean))},mu=t=>{if(!(!t||typeof t!="object"))for(const[n,o]of Object.entries(t))Array.isArray(o)&&(t[n]=o.join(", "))},DP=e.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(t,{emit:n}){const o=n,{i18n:{t:r}}=Fe.useI18n(),l={prepareFormData:u=>{var d,f;const p=bn(u);return(f=(d=p.config)==null?void 0:d.tools)!=null&&f.length&&p.config.tools.forEach(m=>{mu(m.headers),mu(m.query)}),p},hasValue:u=>!!(u!=null&&u.config)},s=u=>{var d,f;const p=bn(u);(f=(d=p.config)==null?void 0:d.tools)!=null&&f.length&&p.config.tools.forEach(m=>{pu(m.headers),pu(m.query)}),o("change",p)},c=e.useId();return Xo(()=>t.schema,c),(u,p)=>(e.openBlock(),e.createBlock(dt,{config:l,data:t.data,"data-instance-id":e.unref(c),"data-plugin-name":"ai-mcp-proxy","data-testid":"ff-config-form",schema:t.schema,tag:"div",onChange:s},{default:e.withCtx(()=>[e.createVNode(bt,{"as-child":"",name:"config","reset-label-path":"reset"},{default_acl:e.withCtx(({name:d})=>[e.createVNode(fo,{appearance:"tabs","item-label":(f,m)=>e.unref(r)("plugins.free-form.ai-mcp-proxy.default_acl_item_label",{index:m+1}),name:d,"sticky-tabs":""},null,8,["item-label","name"])]),tools:e.withCtx(({name:d})=>[e.createVNode(fo,{appearance:"tabs","item-label":(f,m)=>e.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:m+1}),name:d,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),e.createVNode(tr)]),_:1},8,["data","data-instance-id","schema"]))}}),MP=e.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(t){const n=t,o=e.useSlots();return e.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,a)=>(e.openBlock(),e.createBlock(_a,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(i=>[e.createVNode(DP,e.normalizeProps(e.guardReactiveProps(i)),null,16)]),_:1},16))}}),hi=be(e.defineComponent({__name:"ConfigForm",setup(t){const{getSchema:n,createComputedRenderRules:o}=Ue(),r=o("config"),a=e.computed(()=>{var _;const i=[],l=[],s=new Set,u=n().fields.find(y=>Object.keys(y)[0]==="config");if(!u||!("config"in u))return{defaultVisible:i,advanced:l};const p=u.config;p.entity_checks&&p.entity_checks.forEach(y=>{var w,E;let h;"at_least_one_of"in y?h=y.at_least_one_of:"conditional"in y&&((w=n(Je("config",y.conditional.if_field)))!=null&&w.required)&&y.conditional.then_match.required?h=[y.conditional.if_field,y.conditional.then_field]:"conditional_at_least_one_of"in y&&((E=n(Je("config",y.conditional_at_least_one_of.if_field)))!=null&&E.required)&&(h=[y.conditional_at_least_one_of.if_field,...y.conditional_at_least_one_of.then_at_least_one_of]),h==null||h.forEach(C=>s.add(C))});const d=((_=r.value)==null?void 0:_.bundles)??[],f=new Map;for(const y of d)for(let h=1;h<y.length;h++)f.set(y[h],y[h-1]);const m=y=>{const h=f.get(y);return h?m(h):y},g=new Map;for(const y of p.fields){const h=Object.keys(y)[0];g.set(h,m(h))}for(const y of p.fields){const h=Object.keys(y)[0];if(g.get(h)!==h)continue;let E;y[h].required||s.has(h)?E=i:E=l,E.push(h)}for(const y of p.fields){const h=Object.keys(y)[0],w=g.get(h);w!==h&&(i.includes(w)?i:l).push(h)}return{defaultVisible:i,advanced:l}});return(i,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(bt,{"as-child":"",class:"ff-default-visible-fields",name:"config",omit:a.value.advanced,"reset-label-path":"reset"},null,8,["omit"]),e.createVNode(tr,{class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:e.withCtx(()=>[e.createVNode(bt,{"as-child":"",name:"config",omit:a.value.defaultVisible,"reset-label-path":"reset"},null,8,["omit"])]),_:1})],64))}}),[["__scopeId","data-v-c12ebbc8"]]),vP=e.defineComponent({__name:"UpstreamOauthForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{},formConfig:{},renderRules:{},pluginName:{}},setup(t){const n=t,o=e.useSlots();return e.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]),(r,a)=>(e.openBlock(),e.createBlock(cr,e.normalizeProps(e.guardReactiveProps(n)),{"field-renderers":e.withCtx(()=>[e.createVNode(mo,{match:({path:i})=>i==="config.behavior.idp_error_response_body_template"},{default:e.withCtx(i=>[e.createVNode(pt,e.mergeProps(i,{multiline:"",rows:4}),null,16)]),_:1},8,["match"])]),default:e.withCtx(()=>[e.createVNode(hi)]),_:1},16))}}),jP={"data-testid":"ff-identity-realms-field"},UP=["innerHTML"],KP=e.defineComponent({__name:"FreeFormAdapter",props:{name:{},label:{},labelAttributes:{},required:{type:Boolean},placeholder:{},resetLabelPath:{}},setup(t){const n=t,{error:o,value:r,path:a}=ht(e.toRef(n,"name"));if(o)throw o;const i=At(a,n);return(l,s)=>{var u;const c=e.resolveComponent("KLabel");return e.openBlock(),e.createElementBlock("div",jP,[e.createVNode(c,e.mergeProps({class:"ff-array-field-label"},e.unref(i),{"data-testid":`ff-label-${e.unref(a)}`,"tooltip-attributes":e.unref(i).labelAttributes.tooltipAttributes}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).label)+" ",1)]),_:2},[(u=e.unref(i).labelAttributes)!=null&&u.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(i).labelAttributes.info},null,8,UP)])]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),e.createVNode(Oi,{modelValue:e.unref(r),"onUpdate:modelValue":s[0]||(s[0]=p=>e.isRef(r)?r.value=p:null)},null,8,["modelValue"])])}}}),qP={key:1,hidden:""},GP=e.defineComponent({__name:"KeyAuthForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{},formConfig:{},renderRules:{},pluginName:{}},setup(t){const n=t,o=e.useSlots();e.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]);const r=e.inject(Le.FORMS_CONFIG),a=e.computed(()=>(r==null?void 0:r.app)==="konnect");return(i,l)=>(e.openBlock(),e.createBlock(cr,e.normalizeProps(e.guardReactiveProps(n)),{"field-renderers":e.withCtx(()=>[e.createVNode(mo,{match:({path:s})=>s==="config.identity_realms"},{default:e.withCtx(s=>[a.value?(e.openBlock(),e.createBlock(KP,e.normalizeProps(e.mergeProps({key:0},s)),null,16)):(e.openBlock(),e.createElementBlock("span",qP))]),_:1},8,["match"])]),default:e.withCtx(()=>[e.createVNode(hi)]),_:1},16))}}),gu=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:MP,CommonForm:e.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},editorMode:{},formConfig:{},renderRules:{},pluginName:{}},setup(t){const n=t,o=e.useSlots();e.provide(Le.AUTOFILL_SLOT,o==null?void 0:o[Le.AUTOFILL_SLOT_NAME]);const r=e.inject(Ql.KM_2262_CODE_MODE,!1),{i18n:{t:a}}=Fe.useI18n(),i=Ye.useLocalStorage("plugin-editor-mode","form"),l=e.ref(r?i.value:"form"),s=[{label:a("plugins.free-form.editor_mode.visual"),value:"form"},{label:a("plugins.free-form.editor_mode.code"),value:"code"}];function c(u){l.value=u,i.value=u}return(u,p)=>{const d=e.resolveComponent("KSegmentedControl");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(r)?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"#plugin-form-page-actions"},[e.createVNode(d,{"data-testid":"plugin-editor-mode-switcher","model-value":l.value,options:s,"onUpdate:modelValue":c},null,8,["model-value"])])):e.createCommentVNode("",!0),e.createVNode(cr,e.mergeProps(n,{"editor-mode":l.value}),{default:e.withCtx(()=>[e.createVNode(hi)]),_:1},16,["editor-mode"])],64)}}}),DatakitForm:LP,KeyAuthForm:GP,RequestCalloutForm:Eb,ServiceProtectionForm:nk,UpstreamOauthForm:vP},Symbol.toStringTag,{value:"Module"}));function zP(t){if(t.length===0)return"";if(t.length===1){const a=_t(t[0]);return Je(...a.slice(0,-1))}const n=t.map(a=>_t(a)),o=Math.min(...n.map(a=>a.length)),r=[];for(let a=0;a<o-1;a++){const i=n[0][a];if(n.every(l=>l[a]===i))r.push(i);else break}return Je(...r)}function yi(t){return"at_least_one_of"in t?t.at_least_one_of:"mutually_required"in t?t.mutually_required:"mutually_exclusive"in t?t.mutually_exclusive:null}function HP(t,n){if(!n)return t;const o=n+Yo;return t.map(r=>r.startsWith(o)?r.slice(o.length):r)}function WP(t,n){const o=yi(t),r=HP(o,n);return"at_least_one_of"in t?{at_least_one_of:r}:"mutually_required"in t?{mutually_required:r}:{mutually_exclusive:r}}function YP(t){const n=[],o=new Map;for(const r of t){const a=yi(r);if(!a){n.push(r);continue}const i=zP(a);if(!i){n.push(r);continue}const l=WP(r,i);o.has(i)||o.set(i,[]),o.get(i).push(l)}return{keep:n,move:o}}function JP(t,n,o){const r=_t(n);let a=t;for(const i of r){const l=a.fields.find(c=>Object.keys(c)[0]===i);if(!l)return;const s=l[i];if(s.type!=="record")return;a=s}a.entity_checks=[...a.entity_checks||[],...o]}function hu(t){var n;if((n=t.entity_checks)!=null&&n.length){const{keep:o,move:r}=YP(t.entity_checks);t.entity_checks=o.length?o:void 0;for(const[a,i]of r)JP(t,a,i)}for(const o of t.fields){const r=Object.values(o)[0];r.type==="record"&&hu(r)}}function XP(t){const n=JSON.parse(JSON.stringify(t)),o={fields:n.fields};return hu(o),n.fields=o.fields,n}function ZP(t,n){const o=Et[t];if(!o||!o.fieldRules)return n;const r=QP(o.fieldRules),a={...n};return a.fields=a.fields.map(i=>{if(Object.keys(i)[0]==="config"){const s=i.config.entity_checks||[],c=d=>{const m=[...yi(d)??[]].slice().sort();return`${Object.keys(d)[0]}:${m.join(",")}`},u=new Set(s.map(c)),p=r.filter(d=>{const f=c(d);return u.has(f)?!1:(u.add(f),!0)});return{config:{...i.config,entity_checks:[...s,...p]}}}return i}),a}function QP(t){const n=[],o=r=>r.startsWith("config.")?r.substring(7):r;return t.atLeastOneOf&&t.atLeastOneOf.forEach(r=>{n.push({at_least_one_of:r.map(o)})}),t.onlyOneOf&&t.onlyOneOf.forEach(r=>{n.push({mutually_exclusive:r.map(o)})}),t.mutuallyRequired&&t.mutuallyRequired.forEach(r=>{n.push({mutually_required:r.map(o)})}),t.onlyOneOfMutuallyRequired&&t.onlyOneOfMutuallyRequired.forEach(r=>{if(r.forEach(a=>{n.push({mutually_required:a.map(o)})}),r.length>1)for(let a=0;a<r.length;a++)for(let i=a+1;i<r.length;i++){const l=r[a].map(o),s=r[i].map(o);l.forEach(c=>{s.forEach(u=>{n.push({mutually_exclusive:[c,u]})})})}}),n}const eI={class:"kong-ui-entities-plugin-form"},tI={key:1,class:"entity-form"},nI={class:"plugin-config-empty-state"},oI=be(e.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1,default:void 0}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(t,{emit:n}){var Ie,Ee;const o=Object.keys(Le.sharedForms),r=Object.keys(gu);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const a=n,i=t,{axiosInstance:l}=oe.useAxios((Ie=i.config)==null?void 0:Ie.axiosRequestConfig),{parseSchema:s}=Fe.useSchemas({entityId:((Ee=i.entityMap.focusedEntity)==null?void 0:Ee.id)||void 0,credential:i.credential,enableRedisPartial:i.enableRedisPartial,experimentalRenders:i.config.app==="konnect"?i.config.experimentalRenders:void 0}),{convertToDotNotation:c,unFlattenObject:u,dismissField:p,isObjectEmpty:d,unsetNullForeignKey:f}=Fe.usePluginHelpers(),{shouldUseFreeForm:m,getFreeFormName:g}=Fe.useFreeFormResolver(),{objectsAreEqual:_}=oe.useHelpers(),{i18n:{t:y}}=$e(),h=J=>i.config.app==="konnect"?J.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"?J.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:""):J,w=(J,W)=>{let re=`${i.config.apiBaseUrl}${He.form[i.config.app].entityGetOne}`;return re=h(re),re=re.replace(/{entity}/gi,J),re=re.replace(/{id}/gi,W),re},E=J=>{let W=`${i.config.apiBaseUrl}${He.form[i.config.app].entityGetAll}`;return W=h(W),W=W.replace(/{entity}/gi,J),W},C=(J,W,re)=>{const me=w(J,W);return l.get(me,re)},b=(J,W)=>{const re=E(J);return i.config.app==="konnect"?l.get(re).then(me=>{const{data:{data:ge}}=me;if(delete W.size,delete W.offset,ge.length&&Object.keys(W).length===1){const ce=Object.keys(W)[0],Ve=ge.filter(ve=>ve[ce]?!!ve[ce].toLowerCase().includes(W[ce].toLowerCase()):!1);me.data.data=Ve}return me}):l.get(re,{params:W})},k=(J,W,re)=>{const me=E(J);if(i.config.app==="konnect"){const{size:ge,offset:ce,...Ve}=W;if(J==="consumer_groups")return l.get(me,{params:{size:1e3},signal:re}).then(de=>{const{data:{data:se}}=de;if(se.length&&Object.keys(Ve).length===1){const ue=Object.keys(Ve)[0],pe=se.filter(ae=>ae[ue]?!!ae[ue].toLowerCase().includes(Ve[ue].toLowerCase()):!1);de.data.data=pe}return de});const ve={size:ge,offset:ce};for(const de of Object.keys(Ve))ve.filter={[de]:{contains:Ve[de]}};return l.get(me,{params:ve,signal:re})}return l.get(me,{params:W,signal:re})},N=(J,W=50)=>{const re=E(J);return l.get(re,{params:{size:W}})};e.provide(Le.FORMS_API_KEY,{getOne:C,getAll:b,getAllV2:k,peek:N}),e.provide(Le.FORMS_CONFIG,i.config);const I=e.ref(""),$=e.ref(""),P=e.ref(null),x=e.ref({}),V=e.reactive({}),S=e.reactive({}),B=e.computed(()=>{var J;return(J=P.value)==null?void 0:J.options}),U=e.computed(()=>{const J=ZP(S.name,i.rawSchema);return XP(J)}),j=e.ref(!1),z=e.ref(),K=(J,W)=>{j.value=J??"",z.value=W},M=J=>{var W;(W=z.value)==null||W.call(z,J),j.value=!1},L=J=>{var ve,de;const W={...i.schema},re=S,me=V,ge=Object.keys(re),ce={};if(!d(x.value))for(let se=0;se<((de=(ve=x.value)==null?void 0:ve.fields)==null?void 0:de.length);se++)W[x.value.fields[se].model]=x.value.fields[se];Le.customFields.forEach(se=>{W[se]&&(W[se].fields.forEach(ue=>{ue.fields&&ue.fields.forEach(pe=>{W[pe.model]=pe}),ue.model&&(W[ue.model]=ue)}),delete W[se])}),ge.forEach(se=>{var _e;if(!W[se]){se==="partials"&&(ce[se]=re[se]);return}const ue=W[se];let pe=re[se];const ae=me[se],F=Array.isArray(pe)?"array":typeof pe,T=ue?ue.valueType:null,X=ue?ue.valueArrayType:null,Q=ue?ue.transform:null;if(pe==null&&ae==null&&!ue.submitWhenNull)return;if(ue){if(T&&F!==T)switch(T){case"array":F==="string"&&pe.length&&(pe=pe.split(",").map(ie=>{if(ie=ie.trim(),X==="string")return String(ie);if(X==="number")return Number(ie);if(X==="boolean"){if(typeof ie=="string")return ie.toLowerCase()==="true"||ie==="1";if(typeof ie=="number")return ie===1}return ie})),(!pe||!pe.length)&&(pe=ue.submitWhenNull?null:[]);break;case"number":ue.referenceable!==!0&&(pe=Number(pe));break;case"boolean":F==="string"&&(pe=pe.toLowerCase()==="true"||pe==="1"),F==="number"&&(pe=pe===1);break;case"string":pe=pe==null?"":String(pe);break}else T==="array"&&(!pe||!pe.length?pe=ue.submitWhenNull?null:[]:((_e=ue.inputAttributes)==null?void 0:_e.type)==="number"&&(pe=pe.map(ie=>Number(ie))));if(ue.type==="array"&&ue.nestedFields){const ie=Ne=>{Object.keys(Ne).forEach(Pe=>{Ne[Pe]&&typeof Ne[Pe]=="object"&&!Array.isArray(Ne[Pe])&&Ne[Pe]!==null?ie(Ne[Pe]):(Ne[Pe]===void 0||Ne[Pe]===null||typeof Ne[Pe]=="number"&&isNaN(Ne[Pe])||typeof Ne[Pe]=="string"&&Ne[Pe].trim().length===0)&&delete Ne[Pe]})};pe&&typeof pe=="object"&&ie(pe)}ue.type==="object-advanced"&&ue.fields&&pe!==null&&(Object.entries(pe).length===0?pe=null:Object.keys(pe).forEach(ie=>{Array.isArray(pe[ie])||(pe[ie]=pe[ie].split(","))}))}let G=c(se);if(ue.fieldNameHasDashes){const[ie,...Ne]=G.split(".").reverse();G=[ie.replace(/_/g,"-"),...Ne].reverse().join(".")}if(T==="object-expand"){let ie;[G,ie]=G.split(".");let Ne={};ce[G]&&(Ne=ce[G]),Ne[ie]=pe,pe=Ne}ae!==void 0&&pe===""&&pe!==ae?ce[G]=T==="object"?{}:null:ue.type==="checklist"&&pe===""?ce[G]=[]:pe!==""&&(ce[G]=pe),ce[G]=Q?Q(pe):ce[G],f(G,ce)});const Ve=u(ce);if($.value){if(J&&J.length)for(const se of J)delete Ve[se];Object.assign(Ve,v.value)}return Ve},A=(J,W={})=>{p(S,W,J,i.editing),a("model-updated",{model:S,originalModel:V,data:L()})},D=(J,W)=>{var ge;const re={[W]:J};typeof((ge=i.schema[W])==null?void 0:ge.modelTransformer)=="function"&&(re[W]=i.schema[W].modelTransformer(J));const me=Object.assign({},S,re);Object.assign(S,me),a("model-updated",{model:S,originalModel:V,data:L()})},q=J=>{a("validity-change",J)},Z=(J,W)=>{Object.keys(J).forEach(re=>{var ve,de;let me=W?`${W}-${re}`:re,ge=i.schema[me];if(!ge){const se=W?`${W}-${re.replace(/-/g,"_")}`:re.replace(/-/g,"_");(ve=i.schema[se])!=null&&ve.fieldNameHasDashes&&(me=se,ge=i.schema[me]),W&&((de=i.schema[W])==null?void 0:de.keyFromObject)===re&&(me=W,ge=i.schema[me])}const ce=J[re],Ve=typeof ce;if(ge&&ge.type==="object-advanced"&&!ce){S[me]={},V[me]={};return}if(Array.isArray(ce)){S[me]=JSON.parse(JSON.stringify(ce)),V[me]=JSON.parse(JSON.stringify(ce));return}if(Ve==="object"&&ce&&!ce.length)return Z(ce,me);if(Ve==="object"&&ce&&ce.length&&ge.type==="input"){S[me]=ce.join(", "),V[me]=ce.join(", ");return}S[me]=ce,V[me]=ce}),a("model-updated",{model:S,originalModel:V,data:L()})},v=e.shallowRef(i.record),H=(J,W)=>{v.value=J;const re={...S};for(const me of W||[])delete re[me];a("model-updated",{model:{...re,...J},originalModel:V,data:L(W)})},ee=e.ref(!0),Ae=()=>{var J;if(i.record&&i.schema&&(Z({enabled:i.record.enabled??!0,...i.record.instance_name&&{instance_name:i.record.instance_name||""},...i.record.protocols&&{protocols:i.record.protocols},...i.record.tags&&{tags:i.record.tags}}),i.credential?((i.record.consumer_id||i.record.consumer)&&Z({consumer_id:i.record.consumer_id||i.record.consumer}),Z(i.record)):i.record.config&&((i.record.consumer_id||i.record.consumer||i.record.service_id||i.record.service||i.record.route_id||i.record.route||i.record.consumer_group_id||i.record.consumer_group)&&Z({service_id:i.record.service_id||i.record.service,route_id:i.record.route_id||i.record.route,consumer_id:i.record.consumer_id||i.record.consumer,consumer_group_id:i.record.consumer_group_id||i.record.consumer_group}),i.record.partials&&A("redis",{partials:i.record.partials}),$.value?H(i.record):Z(i.record.config,"config"))),Object.keys(i.entityMap).length&&!i.entityMap.global&&i.schema){const W={};for(const re in i.entityMap){const me=i.entityMap[re].id,ge=i.entityMap[re].idField,ce=ge==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(ge).replace("_","-"));Object.prototype.hasOwnProperty.call(S,ce)&&(W[ce]=me)}Z(W)}if((J=i.entityMap.consumer)!=null&&J.id&&i.schema&&i.credential){const W={};Object.prototype.hasOwnProperty.call(S,"consumer")&&(W.consumer=i.entityMap.consumer.id),Z(W)}ee.value=!1};return e.watch(ee,J=>{a("loading",J)}),e.watch(()=>i.schema,(J,W)=>{var me,ge;if(_(J||{},W||{}))return;const re=s(J,void 0,void 0,i.engine);Object.assign(S,re.model),x.value={fields:(ge=(me=x.value)==null?void 0:me.fields)==null?void 0:ge.map(ce=>({...ce,disabled:ce.disabled||!1}))},Object.assign(V,JSON.parse(JSON.stringify(re.model))),$.value=m(re.model.name,i.engine)?g(re.model.name):void 0,I.value=Le.getSharedFormName(re.model.name),Ae()},{immediate:!0,deep:!0}),e.onBeforeMount(()=>{var J,W;P.value=s(i.schema,void 0,void 0,i.engine),Object.assign(S,((J=P.value)==null?void 0:J.model)||{}),x.value=((W=P.value)==null?void 0:W.schema)||{},Ae()}),(J,W)=>{var me,ge;const re=e.resolveComponent("KSkeleton");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",eI,[ee.value?(e.openBlock(),e.createBlock(re,{key:0,type:"form"})):S.id&&t.editing||!t.editing?(e.openBlock(),e.createElementBlock("div",tI,[$.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(gu[$.value]),{key:0,"form-model":S,"form-options":B.value,"form-schema":x.value,"is-editing":t.editing,model:t.record,"on-form-change":H,"on-model-updated":D,"on-validity-change":q,"plugin-name":S.name,"render-rules":(me=e.unref(Et)[S.name])==null?void 0:me.freeformRenderRules,schema:U.value,onGlobalAction:W[0]||(W[0]=(ce,Ve)=>J.$emit("globalAction",ce,Ve))},e.createSlots({_:2},[t.enableVaultSecretPicker?{name:e.unref(Le.AUTOFILL_SLOT_NAME),fn:e.withCtx(ce=>[ce.schema.referenceable?(e.openBlock(),e.createBlock(e.unref(Xn.VaultSecretPickerProvider),e.mergeProps({key:0},ce,{onOpen:K}),null,16)):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","plugin-name","render-rules","schema"])):I.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(Le.sharedForms)[I.value]),{key:1,"enable-redis-partial":t.enableRedisPartial,"form-model":S,"form-options":B.value,"form-schema":x.value,"is-editing":t.editing,"on-model-updated":D,"on-partial-toggled":A,"show-new-partial-modal":ce=>J.$emit("showNewPartialModal",ce)},e.createSlots({_:2},[t.enableVaultSecretPicker?{name:e.unref(Le.AUTOFILL_SLOT_NAME),fn:e.withCtx(ce=>[ce.schema.referenceable?(e.openBlock(),e.createBlock(e.unref(Xn.VaultSecretPickerProvider),e.mergeProps({key:0},ce,{onOpen:K}),null,16)):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(e.openBlock(),e.createBlock(e.unref(Le.VueFormGenerator),{key:2,"enable-redis-partial":t.enableRedisPartial,"is-editing":t.editing,model:S,options:B.value,schema:x.value,onModelUpdated:D,onPartialToggled:A,onRefreshModel:L,onShowNewPartialModal:W[1]||(W[1]=ce=>J.$emit("showNewPartialModal",ce))},e.createSlots({"plugin-config-empty-state":e.withCtx(()=>[e.createElementVNode("div",nI,e.toDisplayString(e.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(ge=e.unref(Et)[S.name])!=null&&ge.fieldRules&&(i.config.isNewOtelSchema||S.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:e.withCtx(()=>[e.createVNode(r_,{rules:e.unref(Et)[S.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,t.enableVaultSecretPicker?{name:e.unref(Le.AUTOFILL_SLOT_NAME),fn:e.withCtx(ce=>[ce.schema.referenceable?(e.openBlock(),e.createBlock(e.unref(Xn.VaultSecretPickerProvider),e.mergeProps({key:0},ce,{onOpen:K}),null,16)):e.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(Xn.VaultSecretPicker),{config:i.config,setup:j.value,onCancel:W[2]||(W[2]=()=>j.value=!1),onProceed:M},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-e16643cc"]]),rI={key:1},aI=e.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(t){return(n,o)=>t.teleportTarget?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:t.teleportTarget},[e.renderSlot(n.$slots,"default")],8,["to"])):(e.openBlock(),e.createElementBlock("div",rI,[e.renderSlot(n.$slots,"default")]))}}),iI={key:0},lI={class:"plugin-form-actions"},sI=be(e.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.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,default:void 0}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(t,{emit:n}){var pe;const o=e.inject(oe.FEATURE_FLAGS.KM_1948_PLUGIN_FORM_LAYOUT,e.computed(()=>!1)),r=n,a=t,i=cn.useRouter(),{i18n:{t:l}}=Fe.useI18n(),{customSchemas:s,typedefs:c}=Fe.useSchemas({app:a.config.app,credential:a.credential,experimentalRenders:a.config.app==="konnect"?a.config.experimentalRenders:void 0}),{formatPluginFieldLabel:u}=Fe.usePluginHelpers(),{shouldUseFreeForm:p}=Fe.useFreeFormResolver(),{getMessageFromError:d}=oe.useErrors(),{capitalize:f}=oe.useStringHelpers(),{objectsAreEqual:m}=oe.useHelpers(),{axiosInstance:g}=oe.useAxios((pe=a.config)==null?void 0:pe.axiosRequestConfig),_=e.ref(!1),y=e.computed(()=>!!a.pluginId),h=e.computed(()=>a.pluginId?oe.EntityBaseFormType.Edit:oe.EntityBaseFormType.Create),w=e.ref(void 0),E=e.ref(void 0),C=e.computed(()=>!!(a.credential&&a.config.entityId)),b=e.ref(void 0),k=e.ref({}),N=e.ref(),I=e.ref();e.provide(nr,{redisType:N,redisPath:I,isEditing:y.value});const $=e.ref(!1),P=e.reactive({enabled:!0,protocols:[],tags:[]}),x=e.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),V=e.ref([{title:l("view_configuration.json"),hash:"#json"},{title:l("view_configuration.yaml"),hash:"#yaml"}]);a.config.app==="konnect"&&V.value.splice(1,0,{title:l("view_configuration.terraform"),hash:"#terraform"}),(a.config.app==="kongManager"||a.config.enableDeckTab)&&V.value.push({title:l("view_configuration.deck"),hash:"#deck"});const S=e.ref(""),B=e.computed(()=>{var F;if(C.value){let T=He.form[a.config.app].credential[h.value];return T=T.replace(/{resourceEndpoint}/gi,K.value),T}let ae;return a.config.entityType&&a.config.entityId?ae=He.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):ae=He.form[a.config.app].edit.all,a.config.app==="konnect"&&((F=Et[a.pluginType])!=null&&F.useUIData)?`${ae}?__ui_data=true`:ae}),U=()=>{_.value=!_.value},j=e.computed(()=>{var G,_e,ie,Ne,Pe,le,te,We;const ae=a.config.entityType==="consumers"&&a.config.entityId||((_e=(G=b.value)==null?void 0:G.consumer)==null?void 0:_e.id),F=a.config.entityType==="consumer_groups"&&a.config.entityId||((Ne=(ie=b.value)==null?void 0:ie.consumer_group)==null?void 0:Ne.id),T=a.config.entityType==="services"&&a.config.entityId||((le=(Pe=b.value)==null?void 0:Pe.service)==null?void 0:le.id),X=a.config.entityType==="routes"&&a.config.entityId||((We=(te=b.value)==null?void 0:te.route)==null?void 0:We.id);if(!(ae||F||T||X))return{global:{entity:R.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const Q={};return T&&(Q.service={entity:R.PluginScope.SERVICE,entityEndpoint:"services",id:T,idField:un.SERVICE}),X&&(Q.route={entity:R.PluginScope.ROUTE,entityEndpoint:"routes",id:X,idField:un.ROUTE}),ae&&(Q.consumer={entity:R.PluginScope.CONSUMER,entityEndpoint:"consumers",id:ae,idField:un.CONSUMER}),F&&(Q.consumer_group={entity:R.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:F,idField:un.CONSUMER_GROUP}),a.config.entityType&&(Q.focusedEntity={entity:R.PluginScope[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:un[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),Q}),z=e.reactive({name:{default:a.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:l("plugins.form.fields.enabled.label"),textOn:l("plugins.form.fields.enabled.on_text"),textOff:l("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:a.hideScopeSelection&&(a.hideScopeSelection||h.value===oe.EntityBaseFormType.Create&&a.config.entityId)?"foreign":"selectionGroup",disabled:a.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:l("plugins.form.scoping.global.label"),description:l("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:l("plugins.form.fields.protocols.help"),label:l("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:l("plugins.form.fields.instance_name.label"),inputType:"text",help:l("plugins.form.fields.instance_name.help")},tags:c.tags}),K=e.computed(()=>{var T;const ae=a.developer?"developers":"consumers",F=((T=$n[a.pluginType])==null?void 0:T.endpoint)||"/plugins";return`${ae}/${a.config.entityId}${a.developer?"/credentials":""}${F}`}),M=ae=>{const F=Array.from(new Set(ae.map(T=>typeof T)));return F.length>1?"string":F[0]},L=(ae,F,T,X)=>{var ie,Ne;let Q=F&&F.fields||[];const G=s[a.pluginType],_e=(Ne=(ie=$n[a.pluginType])==null?void 0:ie.schema)==null?void 0:Ne.fields;return Array.isArray(Q)&&(Q=Q.reduce((Pe,le)=>{const te=Object.keys(le)[0];return te.match(/-/g)?Pe[te.replace(/-/g,"_")]={...le[te],fieldNameHasDashes:!0}:Pe[te]=le[te],Pe},{})),Object.keys(Q).sort().forEach(Pe=>{var vt,sn,Zt,lt,Y,ke,ye;const le=Q[Pe];le.type==="set"&&!(p(a.pluginType,a.engine)&&le.elements.one_of)&&(le.type="array");const te=ae?`${ae}-${Pe}`:`${Pe}`;if((vt=G==null?void 0:G.fieldsToDelete)!=null&&vt.includes(te)){Zl(T,te);return}if(Object.prototype.hasOwnProperty.call(le,"overwrite")||le.hidden)return;if(le.type==="table")return L(te,le.schema,T);if(le.fields)return X&&le.type==="record"?(T[te]={type:"object",model:Pe,schema:{fields:Object.values(L(te,le,{},!0))}},T):L(te,le,T);if(T[te]={id:te,model:Pe},T[te].type=le.type==="boolean"?"checkbox":"input",T[te].required=le.required,T[te].referenceable=le.referenceable,te.startsWith("config-"))if(!X&&le.type==="array"&&(S.value=te),X&&S.value&&te.startsWith(S.value)){const ne=te.slice(S.value.length+1);T[te].label=ne.split("-").map(u).join(".")}else T[te].label=u(te);if((ae==="config"||ae.startsWith("config-"))&&(sn=Q[Pe])!=null&&sn.description&&(T[te].help=Po.marked.parse(Q[Pe].description,{mangle:!1,headerIds:!1})),le.type==="map"){if(T[te].type="object-advanced",T[te].values=le.values,le.values.type==="array"){const{type:ne}=le.values.elements||{};T[te].schema={fields:[{schema:{fields:[{...De,model:te,valueArrayType:ne==="integer"?"number":ne||"string",inputAttributes:{...De.inputAttributes,type:ne==="integer"?"number":"text",inputMode:ne==="integer"?"numeric":"text"}}]}}]}}else le.values.fields&&(T[te].schema={fields:[{type:"object",model:"object",schema:{fields:le.values.fields.map(ne=>{const xe=Object.keys(ne)[0];return{model:xe,type:"input",label:f(xe),placeholder:xe,inputType:ne[xe].type}})}}]});return T}if(le.enum&&le.type==="array"&&(T[te].type="checklist",T[te].values=le.enum,T[te].multi=!0,T[te].multiSelect=!0),le.one_of&&le.type!=="array"&&(T[te].type="select",T[te].values=le.one_of,T[te].selectOptions={noneSelectedText:l("plugins.form.no_selection")}),le.elements&&le.type==="array"){const ne=le.elements;if(T[te].referenceable=ne.referenceable,T[te].elements=ne,["string","integer","number"].includes(ne.type)&&!ne.one_of){const{id:xe,help:Ce,label:he,hint:Te,values:Be,referenceable:Me,model:Re}=T[te],{inputAttributes:je,...Qe}=JSON.parse(JSON.stringify(De));je.type=ne.type==="string"?"text":"number",T[te]={id:xe,help:Ce,label:he,hint:Te,values:Be,referenceable:Me,model:Re,inputAttributes:je,...Qe}}else if(["string","integer","number"].includes(ne.type)&&ne.one_of){if(X){const{id:xe,help:Ce,label:he,hint:Te,values:Be,referenceable:Me,model:Re}=T[te];T[te]={id:xe,help:Ce,label:he,hint:Te,values:Be,referenceable:Me,model:Re,...n_(ne.one_of,le.default)}}}else if(ne.type==="array"){const{id:xe,help:Ce,label:he,hint:Te,values:Be,referenceable:Me,model:Re,elements:je}=T[te],{inputAttributes:Qe,...Vn}=JSON.parse(JSON.stringify(De));T[te]={id:xe,help:Ce,label:he,hint:Te,values:Be,referenceable:Me,model:Re,elements:je,inputAttributes:Qe,...Vn}}}if(le.hint&&(T[te].hint=le.hint),G&&!G.overwriteDefault&&Object.keys(G).forEach(ne=>{if(ne===te){const{help:xe,label:Ce,hint:he,values:Te,referenceable:Be,elements:Me}=T[te],{help:Re,...je}=G[ne];T[te]={help:xe,label:Ce,hint:he,values:Te,referenceable:Be,elements:Me,...je},typeof Re=="string"&&(T[te].help=Po.marked.parse(Re,{mangle:!1,headerIds:!1}))}}),le.type==="array"&&((Zt=le.elements)==null?void 0:Zt.type)==="record"&&Array.isArray(le.elements.fields)){let ne={};for(const Ce of le.elements.fields)ne={...ne,...Ce};const xe=(ke=(Y=(lt=T[te])==null?void 0:lt.items)==null?void 0:Y.schema)==null?void 0:ke.fields;if(Array.isArray(xe))for(const Ce of T[te].items.schema.fields){const he=(ye=ne[Ce.model])==null?void 0:ye.description;Ce.help===void 0&&typeof he=="string"&&(Ce.help=Po.marked.parse(he,{mangle:!1,headerIds:!1}))}if(xe||(T[te].type="array",T[te].newElementButtonLabelClasses="kong-form-new-element-button-label",T[te].fieldClasses="array-card-container-wrapper",T[te].itemContainerComponent="FieldArrayCardContainer",T[te].items={type:"object",schema:{fields:Object.values(L(te,le.elements,{},!0))}},T[te].items.schema.fields.forEach(Ce=>{var he,Te;for(const Be of le.elements.fields){const Me=Object.keys(Be)[0],Re=((Te=(he=Ce.id)==null?void 0:he.split)==null?void 0:Te.call(he,"-"))??[];if(Re[Re.length-1]===Me){Ce.model=Me,Ce.label=u(Me);break}}}),le.elements.type==="record"&&(T[te].nestedFields=!0)),!T[te].nestedFields)T[te].items.default=()=>le.elements.fields.reduce((Ce,he)=>{const Te=Object.keys(he)[0];return Ce[Te]=he[Te].default,Ce},{});else{const Ce=(he,Te)=>{if(he.type==="object"){he.model&&(Te[he.model]={});for(const Be of he.schema.fields)Ce(Be,he.model?Te[he.model]:Te)}else he.model&&(Te[he.model]=he.default)};T[te].items.default=()=>{const he={};return Ce(T[te].items,he),he}}}if(C.value&&_e){for(let ne=0;ne<_e.length;ne++)if(_e[ne][te]){T[te]={...T[te],..._e[ne][te]};break}}if(le.required&&le.type!=="boolean"&&(T[te].required=!0,T[te].selectOptions={hideNoneSelectedText:!0}),le.required&&le.type==="boolean"&&(T[te].default=le.default??!1),le.default!=null&&typeof le.default!="object"&&le.default!=="function"&&(T[te].default=le.default),T[te].type==="input"){["string","number"].includes(typeof T[te].default)&&a.config.app==="konnect"&&(T[te].placeholder=`Default: ${T[te].default===""?"<empty string>":T[te].default}`);const{type:ne}=le.elements||{};ne&&(T[te].valueArrayType=ne==="integer"?"number":ne),T[te].inputType=le.type==="array"||le.type==="string"?le.encrypted?"password":"text":le.type}let We="string";le.enum?We=M(le.enum):le.type==="boolean"?We="boolean":le.type==="number"||le.type==="integer"?(We="number",T[te].inputType="number"):le.type==="array"?(We="array",T[te].default=le.default,le.len_min>0&&(T[te].submitWhenNull=!0)):le.type==="foreign"?We="object":le.default&&Array.isArray(le.default)?(We="array",T[te].valueArrayType=M(le.default)):le.default&&(We=typeof le.default),T[te].valueType=We,le.fieldNameHasDashes&&(T[te].fieldNameHasDashes=!0)}),T},A=()=>{var te,We,vt,sn,Zt,lt,Y,ke,ye,ne,xe,Ce;const ae=((te=Et[a.pluginType])==null?void 0:te.scope.includes(R.PluginScope.SERVICE))??!0,F=((We=Et[a.pluginType])==null?void 0:We.scope.includes(R.PluginScope.ROUTE))??!0,T=((vt=Et[a.pluginType])==null?void 0:vt.scope.includes(R.PluginScope.CONSUMER))??!0,X=a.config.disableConsumerGroupScope?!1:((sn=Et[a.pluginType])==null?void 0:sn.scope.includes(R.PluginScope.CONSUMER_GROUP))??!0,Q=a.config.entityType==="consumers"&&!!a.config.entityId||!!((lt=(Zt=b.value)==null?void 0:Zt.consumer)!=null&&lt.id),G=a.config.entityType==="consumer_groups"&&!!a.config.entityId||!!((ke=(Y=b.value)==null?void 0:Y.consumer_group)!=null&&ke.id),_e=a.config.entityType==="services"&&!!a.config.entityId||!!((ne=(ye=b.value)==null?void 0:ye.service)!=null&&ne.id),ie=a.config.entityType==="routes"&&!!a.config.entityId||!!((Ce=(xe=b.value)==null?void 0:xe.route)!=null&&Ce.id),Ne=[],Pe=(he,Te,Be)=>he?l("plugins.form.disable_source_scope_change",{scope:Be}):Te?l("plugins.form.disable_data_retrieving",{scope:Be}):"",le=he=>{var Te,Be;return((Be=(Te=a.scopedEntitiesPermissions)==null?void 0:Te[he])==null?void 0:Be.canRetrieve)===!1};if(ae){const he=le("service"),Te="services",Be=_e&&a.disableScopeSelection;Ne.push({id:"service-id",model:"service-id",label:l("plugins.form.scoping.gateway_service.label"),placeholder:l("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:Te,inputValues:{fields:["name","id"]},help:l("plugins.form.scoping.gateway_service.help"),disabled:Be||he,disabledTooltip:Pe(Be,he,Te)})}if(F){const he=le("route"),Te="routes",Be=ie&&a.disableScopeSelection;Ne.push({id:"route-id",model:"route-id",label:l("plugins.form.scoping.route.label"),placeholder:l("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:l("plugins.form.scoping.route.help"),disabled:Be||he,disabledTooltip:Pe(Be,he,Te)})}if(T){const he=le("consumer"),Te="consumers",Be=Q&&a.disableScopeSelection;Ne.push({model:"consumer-id",label:l("plugins.form.scoping.consumer.label"),placeholder:l("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:l("plugins.form.scoping.consumer.help"),disabled:Be||he,disabledTooltip:Pe(Be,he,Te)})}if(X){const he=le("consumer_group"),Te="consumer_groups",Be=G&&a.disableScopeSelection;Ne.push({model:"consumer_group-id",label:l("plugins.form.scoping.consumer_group.label"),placeholder:l("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:Te,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:l("plugins.form.scoping.consumer_group.help"),disabled:Be||he,disabledTooltip:Pe(Be,he,Te)})}if(Ne.length){const he=[...ae?["service"]:[],...F?["route"]:[],...T?["consumer"]:[],...X?["consumer_group"]:[]],Be=he.splice(he.length-2,2).map(Re=>l(Re==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Re}.plural`)).join(`${he.length>0?",":""} and/or `),Me=["Specific",[...he.length>0?[he.map(Re=>l(Re==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Re}.plural`)).join(", ")]:[],Be].join(", ")].join(" ");z.selectionGroup.fields.push({label:l("plugins.form.scoping.label"),description:Me,fields:[]}),z.selectionGroup.fields[1].fields=Ne}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(z,s[a.pluginType].formSchema)},D=e.computed(()=>!m(x.fields,P,!0)),q=e.computed(()=>!se.value&&!$.value&&(h.value===oe.EntityBaseFormType.Create||D.value)),Z=e.ref(!1),v=e.ref(),H=ae=>{a.credential&&ae.password&&(ae.password=""),x.fields.id=(ae==null?void 0:ae.id)||void 0,v.value=ae==null?void 0:ae.ordering,Object.assign(P,x.fields),b.value=ae,Z.value=!0},ee=e.ref({}),Ae=ae=>{var F;x.fields=ae.model,x.fields.id=((F=b.value)==null?void 0:F.id)||void 0,Object.assign(P,ae.originalModel),ee.value=ae.data,a.isWizardStep&&r("model-updated",{model:x.fields,data:ae.data,resourceEndpoint:K.value})},Ie=e.ref(new Map),Ee=e.computed(()=>[x.clientErrorMessage,x.serverErrorMessage].filter(Boolean).join("; ")),J=ae=>{ae.valid?Ie.value.delete(ae.model):Ie.value.set(ae.model,ae.error),x.clientErrorMessage=[...Ie.value.entries()].map(([F,T])=>`${F}: ${typeof T=="string"?T:d(T)}`).join("; "),x.clientErrorMessage&&(x.serverErrorMessage="")};e.watch([j,Z],(ae,F)=>{const T=ae[0]!==F[0],X=ae[1],Q=F[1];if(!C.value&&h.value===oe.EntityBaseFormType.Edit&&(T||X&&X!==Q)){const G=L("config",k.value,z);me.value&&(G._isCustomPlugin=!0),N.value&&(G._supported_redis_partial_type=N.value),E.value=G}},{deep:!0});const W=()=>{a.config.cancelRoute?i.push(a.config.cancelRoute):r("cancel")},re=e.computed(()=>{const ae=a.config.entityType&&a.config.entityId&&!a.developer,F=C.value?He.form[a.config.app].credential[h.value]:He.form[a.config.app][h.value][ae?"forEntity":"all"];let T=`${a.config.apiBaseUrl}${F}`;return a.config.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),T=T.replace(/{resourceEndpoint}/gi,K.value),T=T.replace(/{id}/gi,a.pluginId),T=T.replace(/{entityType}/gi,a.config.entityType||""),T=T.replace(/{entityId}/gi,a.config.entityId||""),T}),me=e.computed(()=>!Object.keys(Et).includes(a.pluginType)),ge=e.computed(()=>{const ae=ee.value;if(C.value){for(const F in R.PluginScope){const T=R.PluginScope[F];ae[T]&&!ae[T].id&&(ae[T]={id:a.config.entityId})}delete ae.created_at}return ee.value.partials&&I.value&&Zl(ae,I.value),ae}),ce=e.computed(()=>{const{__ui_data:ae,...F}={...ge.value};return F}),Ve=async()=>{if(!x.clientErrorMessage&&!a.isWizardStep)try{x.isReadonly=!0;let ae;const F=JSON.parse(JSON.stringify(ge.value)),T=s[a.pluginType];typeof(T==null?void 0:T.shamefullyTransformPayload)=="function"&&T.shamefullyTransformPayload({originalModel:P,model:x.fields,payload:F,schema:E.value}),h.value==="create"?ae=await g.post(re.value,F):h.value==="edit"&&(ae=a.config.app==="konnect"||N.value&&F.partials?await g.put(re.value,Object.assign({ordering:v.value},F)):await g.patch(re.value,F)),Object.assign(P,x.fields),r("update",ae==null?void 0:ae.data)}catch(ae){x.serverErrorMessage=d(ae),r("error",ae)}finally{x.isReadonly=!1}},ve=e.computed(()=>{var X;const ae=C.value?(X=$n[a.pluginType])==null?void 0:X.schemaEndpoint:a.pluginType,F=C.value?He.form[a.config.app].credentialSchema:He.form[a.config.app].pluginSchema;let T=`${a.config.apiBaseUrl}${F}`;return a.config.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),T=T.replace(/{plugin}/gi,ae),T}),de=e.ref(""),se=e.ref(!1),ue=e.ref("");return e.onBeforeMount(async()=>{var ae,F,T,X;se.value=!0;try{if(C.value&&a.config.app==="konnect"){const Q=(ae=$n[a.pluginType])==null?void 0:ae.schemaEndpoint,G=Fu[Q];de.value=Q,E.value=L("",G,{}),se.value=!1}else{const Q=a.schema??(await g.get(ve.value)).data;if(w.value=Q,Q)if(C.value)E.value=L("",Q,{}),se.value=!1;else{const G=Q.fields.find(ie=>ie.config);k.value=G?G.config:Q,Q.supported_partials&&(N.value=Object.keys(Q.supported_partials).find(ie=>[To.REDIS_CE,To.REDIS_EE].includes(ie)),I.value=(F=Q.supported_partials[N.value])==null?void 0:F[0]),A();const _e=(T=Q.fields.find(ie=>ie.protocols))==null?void 0:T.protocols;if(_e){const{default:ie=[],elements:Ne={}}=_e;z.protocols.default=ie,z.protocols.placeholder=a.config.app==="konnect"?l("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ie.join(", ")}):l("plugins.form.fields.protocols.placeholder"),(X=Ne.one_of)!=null&&X.length&&(z.protocols.values=Ne.one_of.map(Pe=>({label:Pe,value:Pe})))}if(Z.value||h.value===oe.EntityBaseFormType.Create){const ie=L("config",k.value,z);N.value&&(ie._supported_redis_partial_type=N.value),me.value&&(ie._isCustomPlugin=!0),E.value=ie}}}}catch(Q){console.error(Q),ue.value=d(Q),r("error:fetch-schema",Q)}finally{se.value=!1}}),(ae,F)=>{const T=e.resolveComponent("KSkeleton"),X=e.resolveComponent("KEmptyState"),Q=e.resolveComponent("KButton"),G=e.resolveComponent("KTabs"),_e=e.resolveComponent("KSlideout");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["kong-ui-entities-plugin-form-container",{"new-form-layout":e.unref(o)}])},[se.value?(e.openBlock(),e.createBlock(T,{key:0,type:"form"})):ue.value?(e.openBlock(),e.createBlock(X,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:e.withCtx(()=>[e.createElementVNode("h3",null,e.toDisplayString(e.unref(l)("errors.load_schema")),1)]),_:1})):(e.openBlock(),e.createBlock(e.unref(oe.EntityBaseForm),{key:2,"can-submit":q.value,config:t.config,"edit-id":t.pluginId,"entity-type":e.unref(oe.SupportedEntityType).Plugin,"error-message":Ee.value,"fetch-url":B.value,"form-fields":ge.value,"is-readonly":x.isReadonly,"no-validate":"","wrapper-component":t.noCardWrapper?"div":void 0,onCancel:W,"onFetch:error":F[4]||(F[4]=ie=>ae.$emit("error",ie)),"onFetch:success":H,onLoading:F[5]||(F[5]=ie=>ae.$emit("loading",ie))},{"form-actions":e.withCtx(()=>[t.isWizardStep?(e.openBlock(),e.createElementBlock("div",iI)):(e.openBlock(),e.createBlock(aI,{key:1,"teleport-target":t.actionsTeleportTarget},{default:e.withCtx(()=>[e.createElementVNode("div",lI,[t.hideViewConfigAction?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Q,{key:0,appearance:"tertiary","data-testid":`plugin-${y.value?"edit":"create"}-form-view-configuration`,onClick:F[3]||(F[3]=ie=>U())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),e.createVNode(Q,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${y.value?"edit":"create"}-form-cancel`,disabled:x.isReadonly,onClick:W},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),e.createVNode(Q,{appearance:"primary","data-testid":`plugin-${y.value?"edit":"create"}-form-submit`,disabled:!q.value||x.isReadonly,type:"submit",onClick:Ve},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:e.withCtx(()=>[e.createElementVNode("form",{hidden:"",onSubmit:Ve},null,32),e.createVNode(oI,{config:t.config,credential:C.value,editing:h.value===e.unref(oe.EntityBaseFormType).Edit,"enable-redis-partial":t.enableRedisPartial,"enable-vault-secret-picker":a.enableVaultSecretPicker,engine:t.engine,"entity-map":j.value,"raw-schema":w.value,record:b.value,schema:E.value,onGlobalAction:F[0]||(F[0]=(ie,Ne)=>ae.$emit("globalAction",ie,Ne)),onLoading:F[1]||(F[1]=ie=>$.value=ie),onModelUpdated:Ae,onShowNewPartialModal:F[2]||(F[2]=ie=>ae.$emit("showNewPartialModal",ie)),onValidityChange:J},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"])),e.createVNode(_e,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:e.unref(l)("view_configuration.title"),visible:_.value,onClose:U},{default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(l)("view_configuration.message")),1),e.createVNode(G,{"data-testid":"form-view-configuration-slideout-tabs",tabs:V.value},{json:e.withCtx(()=>[e.createVNode(e.unref(oe.JsonCodeBlock),{config:t.config,"entity-record":ce.value,"fetcher-url":re.value,"request-method":a.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:e.withCtx(()=>[e.createVNode(e.unref(oe.YamlCodeBlock),{"entity-record":ce.value},null,8,["entity-record"])]),terraform:e.withCtx(()=>[e.createVNode(e.unref(oe.TerraformCodeBlock),{"credential-type":de.value,"entity-record":ce.value,"entity-type":e.unref(oe.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),deck:e.withCtx(()=>[e.createVNode(e.unref(oe.DeckCodeBlock),{app:t.config.app,"control-plane-name":t.config.app==="konnect"?t.config.controlPlaneName:void 0,"entity-record":ce.value,"entity-type":e.unref(oe.SupportedEntityType).Plugin,"geo-api-server-url":t.config.app==="konnect"?t.config.geoApiServerUrl:void 0,"kong-admin-api-url":t.config.app==="kongManager"?t.config.apiBaseUrl:void 0,workspace:t.config.app==="kongManager"?t.config.workspace:void 0},null,8,["app","control-plane-name","entity-record","entity-type","geo-api-server-url","kong-admin-api-url","workspace"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])],2)}}}),[["__scopeId","data-v-2371c152"]]),cI={class:"kong-ui-entities-plugins-list"},dI={class:"button-row"},uI={class:"name-cell-wrapper"},fI={class:"info-wrapper"},pI={key:0,class:"info-name"},mI={key:1,class:"info-name"},gI={key:2,class:"info-type"},hI={key:1},yI=be(e.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.createRoute||!t.getViewRoute||!t.getEditRoute||!t.getConfigureDynamicOrderingRoute||t.app==="kongManager"&&!t.isExactMatch&&!t.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(t,{emit:n}){var Ve,ve;const o=Fe.usePluginMetaData(),r=n,a=t,{i18n:{t:i}}=Fe.useI18n(),l=cn.useRouter(),{axiosInstance:s}=oe.useAxios((Ve=a.config)==null?void 0:Ve.axiosRequestConfig),{hasRecords:c,handleStateChange:u}=oe.useTableState(()=>E.value),p=e.computed(()=>c.value&&a.config.app==="konnect"),d=e.computed(()=>!!a.config.entityId),f=e.computed(()=>{var de;return((de=a.config)==null?void 0:de.entityType)==="consumers"}),m=e.computed(()=>{var de;return((de=a.config)==null?void 0:de.entityType)==="consumer_groups"}),g=a.config.app==="konnect"||oe.useGatewayFeatureSupported({gatewayInfo:a.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),_=e.computed(()=>a.config.app!=="kongManager"||!!a.config.disableSorting),y={name:{label:i("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(ve=a.config)!=null&&ve.entityId||(y.appliedTo={label:i("plugins.list.table_headers.applied_to"),sortable:!1}),y.enabled={label:i("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},g&&(y.ordering={label:i("plugins.list.table_headers.ordering"),sortable:!0}),y.tags={label:i("plugins.list.table_headers.tags"),sortable:!1};const h=y,w=e.computed(()=>{var se,ue,pe,ae;let de=a.config.entityType?`${a.config.apiBaseUrl}${He.list[a.config.app].forEntity}`:`${a.config.apiBaseUrl}${He.list[a.config.app].all}`;return a.config.app==="konnect"?de=de.replace(/{controlPlaneId}/gi,((se=a.config)==null?void 0:se.controlPlaneId)||""):a.config.app==="kongManager"&&(de=de.replace(/\/{workspace}/gi,(ue=a.config)!=null&&ue.workspace?`/${a.config.workspace}`:"")),de.replace(/{entityType}/gi,((pe=a.config)==null?void 0:pe.entityType)||"").replace(/{entityId}/gi,((ae=a.config)==null?void 0:ae.entityId)||"")}),E=e.ref(""),C=e.computed(()=>a.config.app==="konnect"||a.config.isExactMatch?{isExactMatch:!0,fields:{name:y.name,id:{label:i("plugins.list.table_headers.id"),sortable:!0}},placeholder:i(`search.placeholder.${a.config.isExactMatch?"exact":a.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...y.enabled,label:i("search.filter.field.enabled")},name:y.name,instance_name:{label:i("plugins.list.table_headers.instance_name"),searchable:!0}},schema:a.config.filterSchema}),{fetcher:b,fetcherState:k,fetcherCacheKey:N}=oe.useFetcher(e.computed(()=>({...a.config,cacheIdentifier:a.cacheIdentifier})),w),I=()=>{E.value=""},$=()=>{N.value++},P=e.ref(null),x=de=>{var ue,pe,ae,F;const se=[];return((ue=de.route)!=null&&ue.id||de.route_id)&&se.push({type:"route",badgeText:i("plugins.list.table_headers.applied_to_badges.route")}),((pe=de.service)!=null&&pe.id||de.service_id)&&se.push({type:"service",badgeText:i("plugins.list.table_headers.applied_to_badges.service")}),((ae=de.consumer)!=null&&ae.id||de.consumer_id)&&se.push({type:"consumer",badgeText:i("plugins.list.table_headers.applied_to_badges.consumer")}),((F=de.consumer_group)!=null&&F.id||de.consumer_group_id)&&se.push({type:"consumer_group",badgeText:i("plugins.list.table_headers.applied_to_badges.consumer_group")}),se.length?se:[{type:null,badgeText:i("plugins.list.table_headers.applied_to_badges.global")}]},V=async(de,se)=>{var ue;return de===null?!1:await((ue=a.canRetrieveScopedEntity)==null?void 0:ue.call(a,de,se.id))},S=(de,se)=>{var pe,ae,F,T,X;let ue=null;switch(de){case"route":ue=(pe=se.route)==null?void 0:pe.id;break;case"service":ue=(ae=se.service)==null?void 0:ae.id;break;case"consumer":ue=(F=se.consumer)==null?void 0:F.id;break;case"consumer_group":ue=(T=se.consumer_group)==null?void 0:T.id;break}ue&&((X=a.config)!=null&&X.getScopedEntityViewRoute)&&l.push(a.config.getScopedEntityViewRoute(de,ue))},B=e.ref(!1),U=e.ref(null),j=e.computed(()=>{const de={action:"disable",id:"",name:""};if(U.value){const{enabled:se,id:ue,name:pe}=U.value;de.action=se?"disable":"enable",de.id=ue,de.name=o.getDisplayName(pe)||ue}return de}),z=de=>{B.value=!0,U.value=de},K=()=>{B.value=!1,U.value=null},M=async()=>{var pe,ae,F,T,X,Q,G,_e;if(!await((pe=a.canEdit)==null?void 0:pe.call(a,U.value))||!U.value)return;let se=`${a.config.apiBaseUrl}${(X=He.item[a.config.app])==null?void 0:X[(ae=a.config)!=null&&ae.entityType?"forEntity":"all"].replace(/{entityType}/gi,((F=a.config)==null?void 0:F.entityType)||"").replace(/{entityId}/gi,((T=a.config)==null?void 0:T.entityId)||"")}`.replace(/{id}/gi,U.value.id||"");a.config.app==="konnect"?se=se.replace(/{controlPlaneId}/gi,((Q=a.config)==null?void 0:Q.controlPlaneId)||""):a.config.app==="kongManager"&&(se=se.replace(/\/{workspace}/gi,(G=a.config)!=null&&G.workspace?`/${a.config.workspace}`:""));const ue=!U.value.enabled;try{const ie=(_e=a.config)==null?void 0:_e.app;let Ne;E.value&&ie==="konnect"&&(Ne=await s.get(se));const{data:Pe}=ie==="konnect"?await s.put(se,{...(Ne==null?void 0:Ne.data)||U.value,enabled:ue},{timeout:12e4}):await s.patch(se,{...U.value,enabled:ue},{timeout:12e4});r("toggle-enabled",ue,Pe),U.value.enabled=ue}catch(ie){r("error",ie)}},L=async(de,se)=>{const ue=de.id;if(!await se(ue)){r("copy:error",{entity:de,field:"id",message:i("errors.copy")});return}r("copy:success",{entity:de,field:"id",message:i("copy.success",{val:ue})})},A=async(de,se)=>{const ue=JSON.stringify(de);if(!await se(ue)){r("copy:error",{entity:de,message:i("errors.copy")});return}r("copy:success",{entity:de,message:i("copy.success_brief")})},D=async de=>{var ue;await((ue=a.canRetrieve)==null?void 0:ue.call(a,de))&&l.push(a.config.getViewRoute(de))},q=de=>({label:i("actions.view"),to:a.config.getViewRoute(de)}),Z=de=>({label:i("actions.edit"),to:a.config.getEditRoute(de)}),v=de=>({label:i("actions.configure_dynamic_ordering"),to:a.config.getConfigureDynamicOrderingRoute(de)}),H=e.ref(void 0),ee=e.ref(!1),Ae=e.ref(!1),Ie=e.ref(""),Ee=oe.useDeleteUrlBuilder(a.config,w.value),J=de=>{H.value=de,ee.value=!0},W=()=>{ee.value=!1},re=async()=>{var de,se,ue;if((de=H.value)!=null&&de.id){Ae.value=!0;try{await s.delete(Ee(H.value.id)),Ae.value=!1,ee.value=!1,N.value++,r("delete:success",H.value)}catch(pe){Ie.value=((ue=(se=pe.response)==null?void 0:se.data)==null?void 0:ue.message)||pe.message||i("errors.delete"),r("error",pe)}finally{Ae.value=!1}}},me=()=>{l.push(a.config.createRoute)};e.watch(k,de=>{var se,ue,pe;if(de.status===oe.FetcherStatus.Error){P.value={title:i("errors.general")},(pe=(ue=(se=de.error)==null?void 0:se.response)==null?void 0:ue.data)!=null&&pe.message&&(P.value.message=de.error.response.data.message),r("error",de.error);return}P.value=null});const ge=e.ref({ctaPath:a.config.createRoute,ctaText:void 0,message:`${i("plugins.list.empty_state.description")}${a.config.additionMessageForEmptyState?` ${a.config.additionMessageForEmptyState}`:""}`,title:i("plugins.title")}),ce=e.ref(!1);return e.onBeforeMount(async()=>{ce.value=await a.canCreate(),ce.value&&(ge.value.title=i("plugins.list.empty_state.title"),ge.value.ctaText=i("actions.create"))}),(de,se)=>{const ue=e.resolveComponent("KButton"),pe=e.resolveComponent("KEmptyState"),ae=e.resolveComponent("KBadge"),F=e.resolveComponent("KTruncate"),T=e.resolveComponent("KInputSwitch"),X=e.resolveComponent("KDropdownItem"),Q=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",cI,[e.createVNode(e.unref(oe.EntityBaseTable),{"cache-identifier":t.cacheIdentifier,"disable-sorting":_.value,"empty-state-options":ge.value,"enable-entity-actions":"","error-message":P.value,fetcher:e.unref(b),"fetcher-cache-key":e.unref(N),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:E.value,"table-headers":e.unref(h),title:t.title,"title-tag":t.titleTag,onClearSearchInput:I,"onClick:row":se[4]||(se[4]=G=>D(G)),onSort:$,onState:e.unref(u)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(oe.EntityFilter),{modelValue:E.value,"onUpdate:modelValue":se[0]||(se[0]=G=>E.value=G),config:C.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!t.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",dI,[!d.value&&p.value?(e.openBlock(),e.createBlock(ue,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:se[1]||(se[1]=G=>de.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(oe.PermissionsWrapper),{"auth-function":()=>t.canCreate()},{default:e.withCtx(()=>[e.createVNode(ue,{appearance:"primary","data-testid":"toolbar-add-plugin",size:t.useActionOutside?"medium":"large",to:t.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(i)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({row:G})=>[e.createElementVNode("div",uI,[e.createVNode(e.unref(dn.PluginIcon),{class:"plugin-icon",name:G.name,size:24},null,8,["name"]),e.createElementVNode("div",fI,[G.instance_name?(e.openBlock(),e.createElementBlock("span",pI,e.toDisplayString(G.instance_name),1)):(e.openBlock(),e.createElementBlock("span",mI,e.toDisplayString(e.unref(o).getDisplayName(G.name)),1)),G.instance_name?(e.openBlock(),e.createElementBlock("span",gI,e.toDisplayString(e.unref(o).getDisplayName(G.name)),1)):e.createCommentVNode("",!0)])])]),appliedTo:e.withCtx(({row:G})=>[x(G).length>0?(e.openBlock(),e.createBlock(F,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x(G),_e=>(e.openBlock(),e.createBlock(e.unref(oe.PermissionsWrapper),{key:_e.badgeText,"auth-function":()=>V(_e.type,G),"force-show":""},{default:e.withCtx(({isAllowed:ie})=>[e.createVNode(ae,{class:e.normalizeClass(ie||"disabled"),onClick:e.withModifiers(Ne=>ie&&_e.type&&S(_e.type,G),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_e.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",hI,"-"))]),enabled:e.withCtx(({row:G})=>[e.createVNode(e.unref(oe.PermissionsWrapper),{"auth-function":async()=>!!(await t.canEdit(G)&&await t.canToggle(G)),"force-show":""},{default:e.withCtx(({isAllowed:_e})=>{var ie,Ne;return[e.createElementVNode("div",{onClick:se[3]||(se[3]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(T,{disabled:!_e,"disabled-tooltip-text":!_e&&((Ne=(ie=t.config).getToggleDisabledTooltip)==null?void 0:Ne.call(ie,G))||void 0,"model-value":G.enabled,onClick:e.withModifiers(Pe=>_e&&z(G),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:e.withCtx(({rowValue:G})=>[e.createVNode(ae,{appearance:e.unref(Wl)(G)?"info":"warning"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(Wl)(G)?e.unref(i)("plugins.list.table_headers.ordering_badge.static"):e.unref(i)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:e.withCtx(({rowValue:G})=>[e.createVNode(e.unref(oe.TableTags),{tags:G},null,8,["tags"])]),actions:e.withCtx(({row:G})=>[e.createVNode(Q,null,{default:e.withCtx(({copyToClipboard:_e})=>[e.createVNode(X,{"data-testid":"action-entity-copy-id",onClick:ie=>L(G,_e)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(Q,null,{default:e.withCtx(({copyToClipboard:_e})=>[e.createVNode(X,{"data-testid":"action-entity-copy-json",onClick:ie=>A(G,_e)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(e.unref(oe.PermissionsWrapper),{"auth-function":()=>t.canRetrieve(G)},{default:e.withCtx(()=>[e.createVNode(X,{"data-testid":"action-entity-view","has-divider":"",item:q(G)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(oe.PermissionsWrapper),{"auth-function":()=>t.canEdit(G)},{default:e.withCtx(()=>[e.createVNode(X,{"data-testid":"action-entity-edit",item:Z(G)},null,8,["item"])]),_:2},1032,["auth-function"]),!f.value&&!m.value&&e.unref(g)?(e.openBlock(),e.createBlock(e.unref(oe.PermissionsWrapper),{key:0,"auth-function":()=>t.canConfigureDynamicOrdering(G)},{default:e.withCtx(()=>[v(G)?(e.openBlock(),e.createBlock(X,{key:0,"data-testid":"action-entity-config-dyn-order",item:v(G)},null,8,["item"])):e.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):e.createCommentVNode("",!0),e.createVNode(e.unref(oe.PermissionsWrapper),{"auth-function":()=>t.canDelete(G)},{default:e.withCtx(()=>[e.createVNode(X,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:_e=>J(G)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!E.value&&t.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var G;return[e.createVNode(pe,{"data-testid":t.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:e.unref(i)("plugins.list.empty_state_v2.description"),title:e.unref(i)("plugins.list.empty_state_v2.title")},e.createSlots({icon:e.withCtx(()=>[e.createVNode(e.unref(fe.PlugIcon),{decorative:""})]),action:e.withCtx(()=>[ce.value?(e.openBlock(),e.createBlock(ue,{key:0,"data-testid":"entity-create-button",onClick:me},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.AddIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(i)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(ue,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:se[2]||(se[2]=_e=>de.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.BookIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(i)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(G=t.config)!=null&&G.isControlPlaneGroup?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("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"]),e.createVNode(e.unref(oe.EntityToggleModal),{action:j.value.action,"entity-id":j.value.id,"entity-name":j.value.name,"entity-type":e.unref(i)("glossary.plugin"),"on-confirm":M,visible:B.value,onCancel:K,onProceed:K},null,8,["action","entity-id","entity-name","entity-type","visible"]),e.createVNode(e.unref(oe.EntityDeleteModal),{"action-pending":Ae.value,description:e.unref(i)("delete.description"),"entity-name":H.value&&(H.value.instance_name||H.value.name||H.value.id),"entity-type":e.unref(oe.EntityTypes).Plugin,error:Ie.value,title:e.unref(i)("delete.title"),visible:ee.value,onCancel:W,onProceed:re},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-25799614"]]),_I={class:"plugin-select-card-wrapper"},bI=["data-testid"],kI={class:"plugin-card-header"},wI={class:"plugin-card-title"},CI={key:0,class:"plugin-card-actions"},EI=["data-testid","title"],NI={key:0,class:"plugin-card-text"},xI={key:0},AI=["title"],_i=be(e.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.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(t,{emit:n}){const o=n,r=t,a=cn.useRouter(),{i18n:{t:i}}=Fe.useI18n(),l=e.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=e.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=e.computed(()=>!!(m.value&&!f.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),u=()=>{a.push(r.config.getCreateRoute(r.plugin.id))},p=()=>{r.navigateOnClick?u():d()},d=()=>{o("plugin-clicked",r.plugin)},f=e.computed(()=>r.plugin.id==="custom-plugin-create"),m=e.computed(()=>r.config.app==="konnect"&&r.plugin.group===R.PluginGroup.CUSTOM_PLUGINS),g=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},_=(h,w)=>{const E=r.config;r.config.app==="konnect"&&typeof E.getCustomEditRoute=="function"&&E.getCustomEditRoute&&a.push(E.getCustomEditRoute(h,w))},y=()=>{if(!s.value&&r.config.app==="konnect"){const h=r.config;f.value&&h.createCustomRoute?a.push(h.createCustomRoute):m.value&&u()}};return(h,w)=>{const E=e.resolveComponent("KButton"),C=e.resolveComponent("KDropdownItem"),b=e.resolveComponent("KDropdownMenu"),k=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock("div",_I,[e.createVNode(k,{text:t.plugin.disabledMessage},{default:e.withCtx(()=>[e.createElementVNode("a",{class:e.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${t.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=N=>s.value||m.value?void 0:p())},[e.createElementVNode("div",kI,[e.createElementVNode("div",wI,[e.createElementVNode("span",{class:e.normalizeClass({"non-custom-title":!m.value})},e.toDisplayString(t.plugin.name),3)]),c.value?(e.openBlock(),e.createElementBlock("div",CI,[e.createVNode(b,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.MoreIcon),{size:e.unref(co)},null,8,["size"])]),_:1})]),items:e.withCtx(()=>[t.canDeleteCustomPlugin?(e.openBlock(),e.createBlock(C,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=e.withModifiers(N=>_(t.plugin.name,t.plugin.customPluginType),["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.edit")),1)]),_:1})):e.createCommentVNode("",!0),t.canDeleteCustomPlugin?(e.openBlock(),e.createBlock(C,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:e.withModifiers(g,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.delete")),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":t.plugin.name,title:t.plugin.available?t.plugin.name:e.unref(i)("plugins.select.unavailable_tooltip"),onClick:y},[e.createVNode(e.unref(dn.PluginIcon),{alt:t.plugin.name,class:"plugin-card-icon",name:t.plugin.id,size:55},null,8,["alt","name"]),t.plugin.description||m.value&&!f.value?(e.openBlock(),e.createElementBlock("div",NI,[m.value&&!f.value?(e.openBlock(),e.createElementBlock("p",xI,e.toDisplayString(e.unref(i)("plugins.select.custom_badge_text")),1)):e.createCommentVNode("",!0),t.plugin.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:"plugin-card-text",title:t.plugin.description},e.toDisplayString(t.plugin.description),9,AI)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,EI),e.createElementVNode("div",{class:"plugin-card-footer",onClick:y},e.toDisplayString(f.value?e.unref(i)("actions.create_custom"):t.plugin.exists?e.unref(i)("actions.enabled"):e.unref(i)("actions.enable")),1)],10,bI)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),bi=be(e.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(t,{emit:n}){var g;const o=t,r=n,{i18nT:a,i18n:{t:i}}=Fe.useI18n(),{getMessageFromError:l}=oe.useErrors(),{axiosInstance:s}=oe.useAxios((g=o.config)==null?void 0:g.axiosRequestConfig),c=e.computed(()=>{var _;return d.value?i("delete.plugin_schema_in_use_title"):i("delete.title",{name:((_=o.plugin)==null?void 0:_.name)||i("delete.custom_plugin")})}),u=e.ref(!1),p=e.ref(""),d=e.ref(!1),f=e.computed(()=>{if(o.config.app==="konnect"){const _=o.plugin.customPluginType==="streaming"?He.select[o.config.app].streamingCustomPluginItem:He.select[o.config.app].schemaCustomPluginItem;let y=`${o.config.apiBaseUrl}${_}`;return y=y.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),y=y.replace(/{pluginId}/gi,o.plugin.id),y}return null}),m=async()=>{var _,y,h,w;if(u.value=!0,p.value="",!(!((_=o.plugin)!=null&&_.name)||((y=o.config)==null?void 0:y.app)!=="konnect"))try{f.value&&await s.delete(f.value),r("proceed")}catch(E){const{response:C}=E;(C==null?void 0:C.status)===400&&((w=(h=C.data)==null?void 0:h.message)!=null&&w.includes("plugin schema is currently in use"))?d.value=!0:p.value=l(E)}finally{u.value=!1}};return(_,y)=>{const h=e.resolveComponent("KButton"),w=e.resolveComponent("KModal");return!d.value&&t.plugin?(e.openBlock(),e.createBlock(e.unref(oe.EntityDeleteModal),{key:0,"action-pending":u.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:e.unref(i)("delete.description_custom"),"entity-name":t.plugin.name,"entity-type":e.unref(oe.EntityTypes).Plugin,error:p.value,"need-confirm":"",title:c.value,visible:"",onCancel:y[0]||(y[0]=E=>_.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):t.plugin?(e.openBlock(),e.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:y[2]||(y[2]=E=>_.$emit("closed"))},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(e.unref(a),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:e.withCtx(()=>[e.createElementVNode("strong",null,e.toDisplayString(t.plugin.name),1)]),_:1})])]),"footer-actions":e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(h,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:y[1]||(y[1]=E=>_.$emit("closed"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),SI={class:"custom-plugins-grid"},PI={class:"empty-state-title"},II={class:"empty-state-description"},ki=310,TI=be(e.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.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(t,{emit:n}){const o=t,r=n,{i18n:{t:a}}=Fe.useI18n(),{getTallestPluginCardHeight:i,getToggleVisibility:l}=Fe.usePluginHelpers(),s=e.ref(!0),c=b=>{r("plugin-clicked",b)},u=e.computed(()=>{if(o.config.app==="kongManager")return[];const b=JSON.parse(JSON.stringify(o.pluginList))[R.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:a("plugins.select.tabs.custom.create.name"),available:!0,group:R.PluginGroup.CUSTOM_PLUGINS,description:a("plugins.select.tabs.custom.create.description")}].concat(b):b}),p=e.ref(!1),d=e.ref(null),f=b=>{p.value=!0,d.value={id:b.id,name:b.name,customPluginType:b.customPluginType}},m=b=>{var k;b&&(r("revalidate"),r("delete:success",((k=d.value)==null?void 0:k.name)||"")),p.value=!1,d.value=null},g=e.ref(ki),_=e.ref(null),y=e.ref(null),h=e.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${g.value}px`}:{}),w=e.ref(!1),E=()=>{g.value=Math.max(i(y.value),ki),C()},C=()=>{var b,k;(b=y.value)!=null&&b.length&&(w.value=l(_.value,(k=y.value)==null?void 0:k.length))};return e.onMounted(async()=>{await e.nextTick(),g.value=Math.max(i(y.value),ki),C(),window==null||window.addEventListener("resize",E)}),e.onUnmounted(()=>{window==null||window.removeEventListener("resize",E)}),(b,k)=>{const N=e.resolveComponent("KEmptyState"),I=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock("div",SI,[u.value.length?(e.openBlock(),e.createBlock(I,{key:1,modelValue:s.value,"onUpdate:modelValue":k[0]||(k[0]=$=>s.value=$),class:"custom-plugins-collapse","data-testid":`${e.unref(R.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:e.unref(R.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?e.unref(a)("plugins.select.view_more"):e.unref(a)("plugins.select.view_less")},e.createSlots({"visible-content":e.withCtx(()=>[e.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:_,class:"plugin-card-container",style:e.normalizeStyle(h.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,($,P)=>(e.openBlock(),e.createBlock(_i,{key:`plugin-card-${P}`,ref_for:!0,ref_key:"pluginCardRef",ref:y,"can-delete-custom-plugin":t.canDeleteCustomPlugin,"can-edit-custom-plugin":t.canEditCustomPlugin,config:t.config,"navigate-on-click":t.navigateOnClick,plugin:$,onCustomPluginDelete:x=>f($),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:e.withCtx(()=>[k[2]||(k[2]=e.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(e.openBlock(),e.createBlock(N,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:e.withCtx(()=>[e.createElementVNode("span",PI,e.toDisplayString(e.unref(a)("plugins.select.tabs.custom.empty_title")),1)]),default:e.withCtx(()=>[e.createElementVNode("span",II,e.toDisplayString(e.unref(a)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),p.value&&d.value?(e.openBlock(),e.createBlock(bi,{key:2,config:t.config,plugin:d.value,onClosed:m,onProceed:k[1]||(k[1]=$=>m(!0))},null,8,["config","plugin"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),wi=310,yu=be(e.defineComponent({__name:"PluginSelectGroup",props:e.mergeModels({config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(t,{emit:n}){const o=e.useModel(t,"modelValue"),r=t,a=n,{i18n:{t:i}}=Fe.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Fe.usePluginHelpers(),c=e.ref(wi),u=e.ref(null),p=e.ref(null),d=e.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),f=e.ref(!1),m=()=>{c.value=Math.max(l(p.value),wi),g()},g=()=>{var _,y;(_=p.value)!=null&&_.length&&(f.value=s(u.value,(y=p.value)==null?void 0:y.length))};return e.onMounted(async()=>{await e.nextTick(),c.value=Math.max(l(p.value),wi),g(),window==null||window.addEventListener("resize",m)}),e.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(_,y)=>{const h=e.resolveComponent("KCollapse");return e.openBlock(),e.createBlock(h,{modelValue:o.value,"onUpdate:modelValue":y[0]||(y[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?e.unref(i)("plugins.select.view_more"):e.unref(i)("plugins.select.view_less")},e.createSlots({"visible-content":e.withCtx(()=>[e.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:u,class:"plugin-card-container",style:e.normalizeStyle(d.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.plugins,w=>(e.openBlock(),e.createBlock(_i,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:p,config:t.config,"navigate-on-click":t.navigateOnClick,plugin:w,onPluginClicked:E=>a("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[f.value?void 0:{name:"trigger",fn:e.withCtx(()=>[y[1]||(y[1]=e.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),OI={class:"plugin-select-grid"},VI={class:"empty-state-title"},BI={class:"empty-state-description"},Ci=e.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.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(t,{emit:n}){const o=t,r=n,{i18n:{t:a}}=Fe.useI18n(),i=e.ref(!1),l=e.ref(Vr),s=u=>{r("plugin-clicked",u)},c=e.computed(()=>{const u=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete u[R.PluginGroup.CUSTOM_PLUGINS],u});return(u,p)=>{const d=e.resolveComponent("KEmptyState");return e.openBlock(),e.createElementBlock("div",OI,[Object.keys(c.value).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(d,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:e.withCtx(()=>[e.createElementVNode("span",VI,e.toDisplayString(e.unref(a)("plugins.select.tabs.kong.empty_title")),1)]),default:e.withCtx(()=>[e.createElementVNode("span",BI,e.toDisplayString(e.unref(a)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(e.openBlock(),e.createBlock(yu,{key:1,modelValue:i.value,"onUpdate:modelValue":p[0]||(p[0]=f=>i.value=f),config:t.config,name:o.highlightedPluginsTitle||e.unref(a)("plugins.select.highlighted_plugins.title"),"navigate-on-click":t.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:p[1]||(p[1]=f=>s(f))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Pi),f=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[c.value[f]?(e.openBlock(),e.createElementBlock("div",{key:f},[e.createVNode(yu,{modelValue:l.value[f],"onUpdate:modelValue":m=>l.value[f]=m,config:t.config,name:f,"navigate-on-click":t.navigateOnClick,plugins:c.value[f]||[],onPluginClicked:p[2]||(p[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):e.createCommentVNode("",!0)],64))),256))])}}}),$I={class:"kong-ui-entities-plugin-select-form"},RI={class:"plugins-filter-input-container"},FI={key:0},LI={key:3,"aria-live":"polite",class:"plugins-results-container"},DI={"data-testid":"kong-tab"},MI={class:"tab-description"},vI={"data-testid":"custom-tab"},jI={class:"tab-description"},UI=be(e.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.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(t,{emit:n}){var L;const o=t,r=n,a=cn.useRoute(),i=cn.useRouter(),{i18n:{t:l}}=Fe.useI18n(),{pluginMetaData:s}=Fe.usePluginMetaData(),{getMessageFromError:c}=oe.useErrors(),{sortAlpha:u,objectsAreEqual:p}=oe.useHelpers(),d=e.ref(""),f=e.ref(!0),m=e.ref(!1),g=e.ref(""),_=e.ref([]),y=e.ref([]),h=e.ref({}),w=e.ref([]),{axiosInstance:E}=oe.useAxios((L=o.config)==null?void 0:L.axiosRequestConfig),C=e.computed(()=>h.value?Object.entries(h.value).filter(([A])=>A!==R.PluginGroup.CUSTOM_PLUGINS).reduce((A,[,D])=>{for(const q of D??[])A[q.id]=q;return A},{}):{}),b=e.computed(()=>{var q;if(!h.value)return{};const A=d.value.toLowerCase(),D=JSON.parse(JSON.stringify(h.value));for(const Z in h.value){const v=((q=h.value[Z])==null?void 0:q.filter(H=>H.name.toLowerCase().includes(A)||H.id.toLowerCase().includes(A)||H.group.toLowerCase().includes(A)))||[];v.length?D[Z]=v:delete D[Z]}return D}),k=e.computed(()=>o.highlightedPluginIds.reduce((A,D)=>{const q=C.value[D];return q&&A.push(q),A},[])),N=e.computed(()=>Object.keys(b.value).length>0),I=e.computed(()=>Object.keys(h.value).length>0&&!N.value),$=e.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)}]:[]),P=e.computed(()=>{var D;let A=$.value.length&&((a==null?void 0:a.hash)||((D=$.value[0])==null?void 0:D.hash))||"";return A==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(A="#kong"),A}),x=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),..._.value])].filter(A=>!o.ignoredPlugins.includes(A)).filter(A=>o.config.entityType&&(o.config.entityType==="services"&&s[A]&&!s[A].scope.includes(R.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[A]&&!s[A].scope.includes(R.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[A]&&!s[A].scope.includes(R.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[A]&&!s[A].scope.includes(R.PluginScope.CONSUMER))?!1:A).reduce((A,D)=>{var ee;const q=s[D]&&s[D].name||D,Z={...s[D],id:D,name:q,available:_.value.includes(D),disabledMessage:"",group:((ee=s[D])==null?void 0:ee.group)||R.PluginGroup.CUSTOM_PLUGINS};Z.group===R.PluginGroup.CUSTOM_PLUGINS&&(Z.customPluginType=y.value.find(Ae=>Ae.name===D)?"streaming":"schema"),o.disabledPlugins&&(Z.disabledMessage=o.disabledPlugins[D]);const v=Z.group||l("plugins.select.misc_plugins");let H=A[v];return H||(H=[]),H.push(Z),H.sort(u("name")),A[v]=H,A},{}),V=e.computed(()=>{var D;let A=`${o.config.apiBaseUrl}${He.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?A=A.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(A=((D=o.config.gatewayInfo)==null?void 0:D.edition)==="community"?`${o.config.apiBaseUrl}${He.select[o.config.app].availablePluginsForOss}`:A.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),A}),S=e.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let A=`${o.config.apiBaseUrl}${He.select[o.config.app].streamingCustomPlugins}`;return A=A.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),A}return null}),B=e.computed(()=>{if(o.config.entityType&&o.config.entityId){let A=`${o.config.apiBaseUrl}${He.list[o.config.app].forEntity}`;return o.config.app==="konnect"?A=A.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(A=A.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),A.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),U=A=>{i.replace({hash:A,query:a.query})};e.watch(()=>o.disabledPlugins,(A,D)=>{!p(A,D)&&!f.value&&(h.value=x())}),e.watch(()=>o.ignoredPlugins,(A,D)=>{!p(A,D)&&!f.value&&(h.value=x())}),e.watch(f,A=>{r("loading",A)});const j=e.ref(!1),z=e.ref(!1),K=e.ref(!1);e.onBeforeMount(async()=>{j.value=await o.canCreateCustomPlugin(),z.value=await o.canEditCustomPlugin(),K.value=await o.canDeleteCustomPlugin()});const M=e.useTemplateRef("filter-input");return e.onMounted(async()=>{var A,D;(D=(A=M.value)==null?void 0:A.input)==null||D.focus();try{const{data:q}=await E.get(V.value);if(o.config.app==="konnect"){const{names:Z}=q;if(_.value=Z||[],S.value){const{data:v}=await E.get(S.value);y.value=v.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:Z}}=q;_.value=Z?Object.keys(Z):[]}}catch(q){m.value=!0,g.value=c(q)}if(B.value)try{const{data:{data:q}}=await E.get(B.value);if(q!=null&&q.length){const Z=q.reduce((v,H)=>(H.name&&v.push(H.name),v),[]);w.value=w.value.concat(Z)}}catch{}m.value||(h.value=x()),f.value=!1}),(A,D)=>{const q=e.resolveComponent("KInput"),Z=e.resolveComponent("KSkeletonBox"),v=e.resolveComponent("KSkeleton"),H=e.resolveComponent("KEmptyState"),ee=e.resolveComponent("KTooltip"),Ae=e.resolveComponent("KTabs");return e.openBlock(),e.createElementBlock("div",$I,[e.createElementVNode("div",RI,[e.createVNode(q,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":D[0]||(D[0]=Ie=>d.value=Ie),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:e.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),f.value?(e.openBlock(),e.createElementBlock("section",FI,[e.createVNode(Z,{class:"plugins-skeleton-title",width:"10"}),e.createVNode(v,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(e.openBlock(),e.createBlock(H,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:e.withCtx(()=>[e.createElementVNode("h3",null,e.toDisplayString(g.value),1)]),_:1})):I.value&&d.value?(e.openBlock(),e.createBlock(H,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:e.withCtx(()=>[e.createElementVNode("h5",null,e.toDisplayString(e.unref(l)("search.no_results",{filter:d.value})),1)]),_:1})):(e.openBlock(),e.createElementBlock("section",LI,[$.value.length&&t.customPluginSupport!=="none"?(e.openBlock(),e.createBlock(Ae,{key:0,modelValue:P.value,"onUpdate:modelValue":D[5]||(D[5]=Ie=>P.value=Ie),"data-testid":"plugins-tabs",tabs:$.value,onChange:U},e.createSlots({kong:e.withCtx(()=>[e.createElementVNode("div",DI,[e.createElementVNode("p",MI,e.toDisplayString(e.unref(l)("plugins.select.tabs.kong.description")),1),e.createVNode(Ci,{config:t.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":t.navigateOnClick,"plugin-list":b.value,onPluginClicked:D[1]||(D[1]=Ie=>A.$emit("plugin-clicked",Ie))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:e.withCtx(()=>[e.createElementVNode("div",vI,[e.renderSlot(A.$slots,"before-custom-tab-content",{},void 0,!0),e.createElementVNode("p",jI,e.toDisplayString(e.unref(l)("plugins.select.tabs.custom.description")),1),e.createVNode(TI,{"can-create-custom-plugin":j.value,"can-delete-custom-plugin":K.value,"can-edit-custom-plugin":z.value,config:t.config,"navigate-on-click":t.navigateOnClick,"plugin-list":b.value,"onDelete:success":D[2]||(D[2]=Ie=>A.$emit("delete-custom:success",Ie)),onPluginClicked:D[3]||(D[3]=Ie=>A.$emit("plugin-clicked",Ie)),onRevalidate:D[4]||(D[4]=()=>h.value=x())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[t.customPluginSupport==="disabled"?{name:"custom-anchor",fn:e.withCtx(()=>[e.createVNode(ee,{"max-width":"300",text:e.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(e.openBlock(),e.createBlock(Ci,{key:1,config:t.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":t.navigateOnClick,"plugin-list":b.value,onPluginClicked:D[6]||(D[6]=Ie=>A.$emit("plugin-clicked",Ie))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-a2b8a174"]]),KI={class:"plugin-select-card-wrapper","data-testid":"plugin-catalog-card-wrapper"},qI={class:"plugin-card-header"},GI={class:"plugin-card-title"},zI={key:0,class:"plugin-card-actions"},HI=["data-testid","title"],WI={key:0},YI={key:0},JI=["title"],XI={class:"plugin-card-footer"},ZI=be(e.defineComponent({__name:"PluginCatalogCard",props:{config:{},plugin:{}},emits:["plugin-clicked","custom-plugin-delete"],setup(t,{emit:n}){const o=n,r=t,a=cn.useRouter(),{i18n:{t:i}}=Fe.useI18n(),l=e.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=e.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=e.computed(()=>!!(d.value&&!p.value&&l.value)),u=e.computed(()=>{if(s.value)return{};if(d.value){const g=r.config;if(p.value&&g.createCustomRoute)return g.createCustomRoute}return r.config.getCreateRoute(r.plugin.id)}),p=e.computed(()=>r.plugin.id==="custom-plugin-create"),d=e.computed(()=>r.config.app==="konnect"&&r.plugin.group===R.PluginGroup.CUSTOM_PLUGINS),f=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},m=(g,_)=>{const y=r.config;r.config.app==="konnect"&&typeof y.getCustomEditRoute=="function"&&a.push(y.getCustomEditRoute(g,_))};return(g,_)=>{const y=e.resolveComponent("KButton"),h=e.resolveComponent("KDropdownItem"),w=e.resolveComponent("KDropdownMenu"),E=e.resolveComponent("RouterLink"),C=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock("div",KI,[e.createVNode(C,{text:t.plugin.disabledMessage},{default:e.withCtx(()=>[e.createVNode(E,{class:e.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${t.plugin.id}-card`,to:u.value},{default:e.withCtx(()=>[e.createElementVNode("div",qI,[e.createElementVNode("div",GI,[e.createVNode(e.unref(dn.PluginIcon),{alt:t.plugin.name,class:"plugin-card-icon",name:t.plugin.id,size:55},null,8,["alt","name"]),e.createElementVNode("span",{class:e.normalizeClass({"non-custom-title":!d.value})},e.toDisplayString(t.plugin.name),3)]),c.value?(e.openBlock(),e.createElementBlock("div",zI,[e.createVNode(w,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150",onClick:_[1]||(_[1]=e.withModifiers(()=>{},["stop","prevent"]))},{default:e.withCtx(()=>[e.createVNode(y,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(fe.MoreIcon),{size:e.unref(co)},null,8,["size"])]),_:1})]),items:e.withCtx(()=>[e.createVNode(h,{"data-testid":"edit-plugin-schema",onClick:_[0]||(_[0]=e.withModifiers(b=>m(t.plugin.name,t.plugin.customPluginType),["stop","prevent"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.edit")),1)]),_:1}),e.createVNode(h,{danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:e.withModifiers(f,["stop","prevent"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.delete")),1)]),_:1})]),_:1})])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"plugin-card-body","data-testid":`${t.plugin.id}-card-body`,title:t.plugin.available?t.plugin.name:e.unref(i)("plugins.select.unavailable_tooltip")},[t.plugin.description||d.value&&!p.value?(e.openBlock(),e.createElementBlock("div",WI,[d.value&&!p.value?(e.openBlock(),e.createElementBlock("div",YI,e.toDisplayString(e.unref(i)("plugins.select.custom_badge_text")),1)):e.createCommentVNode("",!0),t.plugin.description?(e.openBlock(),e.createElementBlock("div",{key:1,title:t.plugin.description},e.toDisplayString(t.plugin.description),9,JI)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],8,HI),e.createElementVNode("div",XI,[e.createElementVNode("div",null,e.toDisplayString(p.value?e.unref(i)("actions.create_custom"):e.unref(i)("actions.configure")),1),e.renderSlot(g.$slots,"footer-extra",{},void 0,!0)])]),_:3},8,["class","data-testid","to"])]),_:3},8,["text"])])}}}),[["__scopeId","data-v-dd7d4c5b"]]),QI=["data-testid"],eT={class:"group-icon-wrapper"},tT={class:"group-title-text"},nT=["data-testid"],oT=["data-testid"],_u=be(e.defineComponent({__name:"PluginCatalogGroup",props:{config:{},name:{},plugins:{},showAllCard:{type:Boolean}},emits:["plugin-clicked","revalidate","delete:success"],setup(t,{emit:n}){const o=t,r=e.computed(()=>{switch(o.name){case"Featured":return fe.PopularIcon;case"AI":return fe.BotIcon;case"Analytics & Monitoring":return fe.AnalyticsIcon;case"Authentication":return fe.LockIcon;case"Logging":return fe.ServiceDocumentIcon;case"Security":return fe.SecurityIcon;case"Serverless":return fe.RuntimeServerlessIcon;case"Traffic Control":return fe.TrafficIcon;case"Transformations":return fe.TransformationIcon;case"Deployment":return fe.DeployIcon;case"Custom Plugins":return fe.CodeblockIcon;default:return null}}),a=n,{i18n:{t:i}}=Fe.useI18n(),l=e.ref(!1),s=e.computed(()=>o.showAllCard?o.plugins:!l.value&&o.plugins.length>9?o.plugins.slice(0,8):o.plugins),c=e.computed(()=>!o.showAllCard&&!l.value&&o.plugins.length>9);function u(){l.value=!0}const p=e.ref(!1),d=e.ref(null),f=g=>{p.value=!0,d.value={id:g.id,name:g.name,customPluginType:g.customPluginType}},m=g=>{var _;g&&(a("revalidate"),a("delete:success",((_=d.value)==null?void 0:_.name)||"")),p.value=!1,d.value=null};return(g,_)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.name?(e.openBlock(),e.createElementBlock("div",{key:0,class:"group-title","data-testid":`plugin-group-${t.name}-title`},[e.createElementVNode("div",eT,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{color:e.unref(hs)},null,8,["color"]))]),e.createElementVNode("span",tT,e.toDisplayString(t.name),1)],8,QI)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"plugin-card-container","data-testid":`plugin-group-${t.name}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,y=>(e.openBlock(),e.createBlock(ZI,{key:`plugin-card-${y.id}`,config:t.config,plugin:y,onCustomPluginDelete:h=>f(y),onPluginClicked:h=>a("plugin-clicked",y)},e.createSlots({_:2},[y.gatewayVersion&&e.unref(Ky)(e.unref(R.GATEWAY_VERSION_TIMESTAMP_MAP)[y.gatewayVersion])?{name:"footer-extra",fn:e.withCtx(()=>[e.createElementVNode("span",{class:"plugin-card-new-badge","data-testid":`plugin-card-${y.id}-new-badge`},e.toDisplayString(e.unref(i)("labels.new")),9,oT)]),key:"0"}:void 0]),1032,["config","plugin","onCustomPluginDelete","onPluginClicked"]))),128)),c.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"show-all-plugin-card",onClick:u},e.toDisplayString(e.unref(i)("plugins.select.show_all")),1)):e.createCommentVNode("",!0)],8,nT),p.value&&d.value?(e.openBlock(),e.createBlock(bi,{key:1,config:t.config,plugin:d.value,onClosed:m,onProceed:_[0]||(_[0]=y=>m(!0))},null,8,["config","plugin"])):e.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-a244b0ca"]]),rT={class:"plugin-select-grid"},aT={class:"empty-state-title"},iT={class:"empty-state-description"},lT={key:1},sT=be(e.defineComponent({__name:"PluginCatalogGrid",props:{config:{},pluginList:{}},emits:["plugin-clicked","delete:success"],setup(t,{emit:n}){const o=Oo.concat(Vo),r=n,{i18n:{t:a}}=Fe.useI18n(),i=e.ref(Vr),l=s=>{r("plugin-clicked",s)};return(s,c)=>{var p,d;const u=e.resolveComponent("KEmptyState");return e.openBlock(),e.createElementBlock("div",rT,[Object.keys(t.pluginList||[]).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:e.withCtx(()=>[e.createElementVNode("span",aT,e.toDisplayString(e.unref(a)("plugins.select.tabs.kong.empty_title")),1)]),default:e.withCtx(()=>[e.createElementVNode("span",iT,e.toDisplayString(e.unref(a)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),f=>{var m;return e.openBlock(),e.createElementBlock(e.Fragment,null,[(m=t.pluginList)!=null&&m[f]?(e.openBlock(),e.createElementBlock("div",{key:f},[e.createVNode(_u,{modelValue:i.value[f],"onUpdate:modelValue":g=>i.value[f]=g,config:t.config,name:f,plugins:t.pluginList[f]||[],"onDelete:success":c[0]||(c[0]=g=>r("delete:success",g)),onPluginClicked:c[1]||(c[1]=g=>l(g))},null,8,["modelValue","onUpdate:modelValue","config","name","plugins"])])):e.createCommentVNode("",!0)],64)}),256)),(d=(p=t.pluginList)==null?void 0:p["Query Result"])!=null&&d.length?(e.openBlock(),e.createElementBlock("div",lT,[e.createVNode(_u,{modelValue:i.value["Query Result"],"onUpdate:modelValue":c[2]||(c[2]=f=>i.value["Query Result"]=f),config:t.config,plugins:t.pluginList["Query Result"]||[],"show-all-card":"",onPluginClicked:c[3]||(c[3]=f=>l(f))},null,8,["modelValue","config","plugins"])])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-61af385a"]]),cT={class:"plugin-name-cell","data-testid":"plugin-catalog-list-view-name"},dT=["title"],uT=["title"],fT={class:"plugin-action-cell","data-testid":"plugin-catalog-list-view-action"},pT={key:0,class:"plugin-more-action-cell","data-testid":"plugin-catalog-list-view-more-actions"},mT=be(e.defineComponent({__name:"PluginCatalogListView",props:{config:{},pluginList:{}},emits:["revalidate","delete:success"],setup(t,{emit:n}){const o=n,r=t,{i18n:{t:a}}=Fe.useI18n(),i=e.computed(()=>y.value.some(C=>{var b;return!!((b=C.plugin)!=null&&b.customPluginType)})),l=e.computed(()=>{const C=[{key:"name",label:a("plugins.select.list.table_headers.name"),sortable:!0},{key:"description",label:a("plugins.select.list.table_headers.description")},{key:"action",hideLabel:!0}];return i.value&&C.push({key:"more-actions",hideLabel:!0}),C}),s=e.computed(()=>{if(!r.pluginList)return[];const C=Object.values(r.pluginList).flat();return Array.from(new Map(C.map(k=>[k.id,k])).values()).map(k=>({id:k.id,name:k.name,description:k.description,plugin:k}))}),c=e.ref(0),u=e.ref(10),p=e.ref(1),d=e.ref(s.value),f=e.ref(!1),m=e.ref(null),g=C=>{f.value=!0,m.value={id:C.id,name:C.name,customPluginType:C.customPluginType}},_=C=>{var b;C&&(o("revalidate"),o("delete:success",((b=m.value)==null?void 0:b.name)||"")),f.value=!1,m.value=null},y=e.computed(()=>{const C=d.value.length,b=Math.max(1,Math.ceil(C/u.value)),N=(Math.min(p.value,b)-1)*u.value;return d.value.slice(N,N+u.value)});e.watch(s,()=>{d.value=[...s.value],p.value=1,c.value++});const h=({page:C})=>{p.value=C},w=({pageSize:C})=>{u.value=C},E=C=>{const{sortColumnKey:b,sortColumnOrder:k}=C;b==="name"&&(d.value=[...d.value].sort((N,I)=>{const $=(N[b]||"").toLowerCase(),P=(I[b]||"").toLowerCase();return $<P?k==="asc"?-1:1:$>P?k==="asc"?1:-1:0}))};return(C,b)=>{const k=e.resolveComponent("KButton"),N=e.resolveComponent("KDropdownItem"),I=e.resolveComponent("KDropdown"),$=e.resolveComponent("KTableView"),P=e.resolveComponent("KCard");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(P,{"data-testid":"plugin-catalog-list-view-card"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock($,{key:c.value,class:"plugin-catalog-table","client-sort":"",data:y.value,"data-testid":"plugin-catalog-list-view-table",headers:l.value,"pagination-attributes":{totalCount:s.value.length,currentPage:p.value,initialPageSize:u.value,pageSizes:[10,25,50]},"resize-columns":"","row-key":"id",onPageChange:h,onPageSizeChange:w,onSort:E},{name:e.withCtx(({row:x})=>[e.createElementVNode("span",cT,[e.createVNode(e.unref(dn.PluginIcon),{"data-testid":`plugin-catalog-list-view-${x.plugin.id}-icon`,name:x.plugin.id,size:20},null,8,["data-testid","name"]),e.createElementVNode("span",{class:"plugin-name-text","data-testid":"plugin-catalog-list-view-name-text",title:x.name},e.toDisplayString(x.name),9,dT)])]),description:e.withCtx(({row:x})=>[e.createElementVNode("span",{class:"plugin-description-cell","data-testid":"plugin-catalog-list-view-description",title:x.description},e.toDisplayString(x.description),9,uT)]),action:e.withCtx(({row:x})=>[e.createElementVNode("div",fT,[e.createVNode(k,{appearance:"tertiary","data-testid":"plugin-catalog-list-view-configure-btn",size:"small",to:r.config.getCreateRoute(x.id)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.configure")),1)]),_:1},8,["to"])])]),"more-actions":e.withCtx(({row:x})=>{var V;return[(V=x.plugin)!=null&&V.customPluginType?(e.openBlock(),e.createElementBlock("div",pT,[e.createVNode(I,{appearance:"tertiary",class:"actions-trigger","data-testid":"plugin-catalog-list-view-more-actions-button",icon:"",size:"small"},{items:e.withCtx(()=>{var S,B;return[e.createVNode(N,{"data-testid":"edit-plugin-schema",item:{label:e.unref(a)("actions.edit"),to:(B=(S=t.config).getCustomEditRoute)==null?void 0:B.call(S,x.plugin.name,x.plugin.customPluginType)}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.edit")),1)]),_:1},8,["item"]),e.createVNode(N,{danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:()=>g(x.plugin)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]}),default:e.withCtx(()=>[e.createVNode(e.unref(fe.MoreIcon),{color:e.unref(Dn),size:e.unref(co)},null,8,["color","size"])]),_:2},1024)])):e.createCommentVNode("",!0)]}),_:1},8,["data","headers","pagination-attributes"]))]),_:1}),f.value&&m.value?(e.openBlock(),e.createBlock(bi,{key:0,config:t.config,plugin:m.value,onClosed:_,onProceed:b[0]||(b[0]=x=>_(!0))},null,8,["config","plugin"])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-fff2eb7f"]]),gT={class:"plugin-catalog","data-testid":"plugin-catalog"},hT={class:"plugin-filter","data-testid":"plugin-filter"},yT={class:"plugin-filter-title"},_T={class:"featured-title"},bT={class:"plugin-featured-filter"},kT=["data-testid"],wT={class:"group-title"},CT={class:"plugin-type-filter"},ET=["data-testid"],NT={class:"plugins-container"},xT={class:"plugins-filter-input-container"},AT={class:"icon-container"},ST={key:0},PT={key:3,"aria-live":"polite",class:"plugins-results-container"},IT=be(e.defineComponent({__name:"PluginCatalog",props:{config:{},disabledPlugins:{},highlightedPluginIds:{},customPluginSupport:{},availableOnServer:{type:Boolean,default:!0}},emits:["loading","plugin-clicked","delete-custom:success"],setup(t,{emit:n}){var U;const o=n,{i18n:{t:r}}=Fe.useI18n(),{pluginMetaData:a}=Fe.usePluginMetaData(),{getMessageFromError:i}=oe.useErrors(),{sortAlpha:l,objectsAreEqual:s}=oe.useHelpers(),c=t,{axiosInstance:u}=oe.useAxios((U=c.config)==null?void 0:U.axiosRequestConfig),p=e.useTemplateRef("filter-input"),d=e.ref(""),f=e.ref(!1),m=e.ref(!1),g=e.ref(Object.fromEntries(Oo.concat(Vo).map(j=>[j,!1]))),_=e.ref(!0),y=e.ref(!1),h=e.ref(""),w=e.ref([]),E=e.ref([]),C=e.ref({}),b=e.ref([]),k=e.ref(!1),N=e.computed(()=>k.value?fe.GridIcon:fe.ListIcon),I=e.computed(()=>{var z;let j=`${c.config.apiBaseUrl}${He.select[c.config.app].availablePlugins}`;return c.config.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""):c.config.app==="kongManager"&&(j=((z=c.config.gatewayInfo)==null?void 0:z.edition)==="community"?`${c.config.apiBaseUrl}${He.select[c.config.app].availablePluginsForOss}`:j.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")),j}),$=e.computed(()=>{if(c.config.app==="konnect"&&c.customPluginSupport==="streaming"){let j=`${c.config.apiBaseUrl}${He.select[c.config.app].streamingCustomPlugins}`;return j=j.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""),j}return null}),P=e.computed(()=>{if(c.config.entityType&&c.config.entityId){let j=`${c.config.apiBaseUrl}${He.list[c.config.app].forEntity}`;return c.config.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""):c.config.app==="kongManager"&&(j=j.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")),j.replace(/{entityType}/gi,c.config.entityType||"").replace(/{entityId}/gi,c.config.entityId||"")}return""}),x=e.computed(()=>{var D;if(!C.value)return{};const j=Object.entries(g.value).filter(([q,Z])=>Z).map(([q])=>q);let z={};j.length===0&&(z=C.value),j.forEach(q=>{C.value[q]&&(z[q]=C.value[q])});const K=d.value.toLowerCase();if(!K)return z;const M=JSON.parse(JSON.stringify(z));for(const q in z){const Z=((D=z[q])==null?void 0:D.filter(v=>[v.name.toLowerCase(),v.id.toLowerCase()].some(ee=>Uy(K,ee).length===K.length)))||[];Z.length?M[q]=Z:delete M[q]}const L=Object.values(M).flat().filter(q=>!!q),A=Array.from(L.reduce((q,Z)=>(q.has(Z.id)||q.set(Z.id,Z),q),new Map).values());return A.length?{"Query Result":A}:{}}),V=e.computed(()=>Object.keys(x.value).length>0),S=e.computed(()=>Object.keys(C.value).length>0&&!V.value),B=()=>{const j=[...new Set([...Object.keys({...c.availableOnServer?{}:a}),...w.value])].filter(z=>c.config.entityType&&(c.config.entityType==="services"&&a[z]&&!a[z].scope.includes(R.PluginScope.SERVICE)||c.config.entityType==="routes"&&a[z]&&!a[z].scope.includes(R.PluginScope.ROUTE)||c.config.entityType==="consumer_groups"&&a[z]&&!a[z].scope.includes(R.PluginScope.CONSUMER_GROUP)||c.config.entityType==="consumers"&&a[z]&&!a[z].scope.includes(R.PluginScope.CONSUMER))?!1:z).reduce((z,K)=>{var q;const M=a[K]&&a[K].name||K,L={...a[K],id:K,name:M,available:w.value.includes(K),disabledMessage:"",group:((q=a[K])==null?void 0:q.group)||R.PluginGroup.CUSTOM_PLUGINS};L.group===R.PluginGroup.CUSTOM_PLUGINS&&(L.customPluginType=E.value.find(Z=>Z.name===K)?"streaming":"schema"),c.disabledPlugins&&(L.disabledMessage=c.disabledPlugins[K]);const A=L.group||r("plugins.select.misc_plugins");let D=z[A];return D||(D=[]),D.push(L),D.sort(l("name")),z[A]=D,z},{});return c.highlightedPluginIds&&c.highlightedPluginIds.length>0&&(j.Featured=c.highlightedPluginIds.flatMap(z=>{var M;const K=a[z];return K?{...K,id:z,name:K.name||z,available:w.value.includes(z),disabledMessage:((M=c.disabledPlugins)==null?void 0:M[z])||"",group:K.group||R.PluginGroup.CUSTOM_PLUGINS}:[]}).filter(Boolean)),j};return e.watch(()=>c.disabledPlugins,(j,z)=>{!s(j||{},z||{})&&!_.value&&(C.value=B())}),e.watch(_,j=>{o("loading",j)}),e.onMounted(async()=>{var j,z;(z=(j=p.value)==null?void 0:j.input)==null||z.focus();try{const{data:K}=await u.get(I.value);if(c.config.app==="konnect"){const{names:M}=K;if(w.value=M||[],$.value){const{data:L}=await u.get($.value);E.value=L.data||[]}}else if(c.config.app==="kongManager"){const{plugins:{available_on_server:M}}=K;w.value=M?Object.keys(M):[]}}catch(K){y.value=!0,h.value=i(K)}if(P.value)try{const{data:{data:K}}=await u.get(P.value);if(K!=null&&K.length){const M=K.reduce((L,A)=>(A.name&&L.push(A.name),L),[]);b.value=b.value.concat(M)}}catch{}y.value||(C.value=B()),_.value=!1}),(j,z)=>{const K=e.resolveComponent("KCheckbox"),M=e.resolveComponent("KBadge"),L=e.resolveComponent("KCollapse"),A=e.resolveComponent("KInput"),D=e.resolveComponent("KSkeletonBox"),q=e.resolveComponent("KSkeleton"),Z=e.resolveComponent("KEmptyState");return e.openBlock(),e.createElementBlock("div",gT,[e.createElementVNode("div",hT,[e.createElementVNode("div",yT,e.toDisplayString(e.unref(r)("plugins.select.filter.title")),1),e.createVNode(L,{modelValue:f.value,"onUpdate:modelValue":z[0]||(z[0]=v=>f.value=v)},{title:e.withCtx(()=>[e.createElementVNode("div",_T,e.toDisplayString(e.unref(r)("plugins.select.filter.featured")),1)]),default:e.withCtx(()=>[e.createElementVNode("div",bT,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Oo),v=>(e.openBlock(),e.createElementBlock("div",{key:v,class:"plugin-filter-item","data-testid":`plugin-filter-item-${v}`},[e.createVNode(K,{modelValue:g.value[v],"onUpdate:modelValue":H=>g.value[v]=H,label:v},null,8,["modelValue","onUpdate:modelValue","label"]),e.createVNode(M,{appearance:"neutral"},{default:e.withCtx(()=>{var H,ee;return[e.createTextVNode(e.toDisplayString(((ee=(H=C.value)==null?void 0:H[v])==null?void 0:ee.length)||0),1)]}),_:2},1024)],8,kT))),128))])]),_:1},8,["modelValue"]),e.createVNode(L,{modelValue:m.value,"onUpdate:modelValue":z[1]||(z[1]=v=>m.value=v)},{title:e.withCtx(()=>[e.createElementVNode("div",wT,e.toDisplayString(e.unref(r)("plugins.select.filter.type")),1)]),default:e.withCtx(()=>[e.createElementVNode("div",CT,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Vo),v=>(e.openBlock(),e.createElementBlock("div",{key:v,class:"plugin-filter-item","data-testid":`plugin-filter-item-${v}`},[e.createVNode(K,{modelValue:g.value[v],"onUpdate:modelValue":H=>g.value[v]=H,"data-testid":`plugin-filter-checkbox-${v}`,label:v},null,8,["modelValue","onUpdate:modelValue","data-testid","label"]),e.createVNode(M,{appearance:"neutral","data-testid":`plugin-filter-count-${v}`},{default:e.withCtx(()=>{var H,ee;return[e.createTextVNode(e.toDisplayString(((ee=(H=C.value)==null?void 0:H[v])==null?void 0:ee.length)||0),1)]}),_:2},1032,["data-testid"])],8,ET))),128))])]),_:1},8,["modelValue"])]),e.createElementVNode("div",NT,[e.createElementVNode("div",xT,[e.createVNode(A,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":z[2]||(z[2]=v=>d.value=v),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter-input",placeholder:e.unref(r)("search.placeholder.search_plugins"),type:"search"},null,8,["modelValue","placeholder"]),e.createElementVNode("div",AT,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N.value),{class:"plugins-filter-icon",color:e.unref(D_),onClick:z[3]||(z[3]=v=>k.value=!k.value)},null,8,["color"]))])]),_.value?(e.openBlock(),e.createElementBlock("section",ST,[e.createVNode(D,{class:"plugins-skeleton-title",width:"10"}),e.createVNode(q,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):y.value?(e.openBlock(),e.createBlock(Z,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:e.withCtx(()=>[e.createElementVNode("h3",null,e.toDisplayString(h.value),1)]),_:1})):S.value&&d.value?(e.openBlock(),e.createBlock(Z,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:e.withCtx(()=>[e.createElementVNode("h5",null,e.toDisplayString(e.unref(r)("search.no_results",{filter:d.value})),1)]),_:1})):(e.openBlock(),e.createElementBlock("section",PT,[k.value?(e.openBlock(),e.createBlock(mT,{key:0,config:t.config,"plugin-list":x.value,"onDelete:success":z[4]||(z[4]=v=>j.$emit("delete-custom:success",v))},null,8,["config","plugin-list"])):(e.openBlock(),e.createBlock(sT,{key:1,config:t.config,"plugin-list":x.value,"onDelete:success":z[5]||(z[5]=v=>j.$emit("delete-custom:success",v)),onPluginClicked:z[6]||(z[6]=v=>j.$emit("plugin-clicked",v))},null,8,["config","plugin-list"]))]))])])}}}),[["__scopeId","data-v-2d691c7b"]]),TT={key:1,class:"datakit-config-card-canvas"},OT={class:"config-card-details-label","data-testid":"datakit-configuration-label"},VT={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},BT={class:"canvas-wrapper"},$T=be(e.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{},item:{}},setup(t){const n=e.computed(()=>{var o;return lu.safeParse((o=t.pluginData)==null?void 0:o.config).success});return vc(t.pluginData),(o,r)=>{const a=e.resolveComponent("KLabel");return n.value?(e.openBlock(),e.createElementBlock("div",TT,[e.createElementVNode("div",OT,[e.createVNode(a,null,{default:e.withCtx(()=>[...r[0]||(r[0]=[e.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])]),_:1})]),e.createElementVNode("div",VT,[e.createElementVNode("div",BT,[e.createVNode(ui,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])):(e.openBlock(),e.createBlock(e.unref(oe.ConfigCardItem),{key:0,item:t.item},null,8,["item"]))}}}),[["__scopeId","data-v-0dc992b2"]]),RT={class:"kong-ui-entity-plugin-config-card"},FT={class:"name-cell-wrapper"},LT={class:"info-name"},DT={key:0},MT={key:0},vT={key:0},jT={key:0},UT={key:0},Ei="config",KT=be(e.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string"||!t.entityId||!t.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(t,{emit:n}){var C;const o=n,r=t,{i18n:{t:a}}=Fe.useI18n(),i=Fe.usePluginMetaData(),{setFieldType:l}=Fe.usePluginHelpers(),{getPropValue:s}=oe.useHelpers(),c=e.computed(()=>{var k;let b=(k=He.item[r.config.app])==null?void 0:k[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(r.config.app==="konnect"){const N=r.expandPartial?"&":"?";b=b.concat(`${N}__ui_data=true`)}return b}),u=e.computed(()=>{var N,I;const b={},k=((N=h.value)==null?void 0:N.fields)||[];for(let $=0;$<k.length;$++){const P=h.value.fields[$],x=(I=Object.keys(P))==null?void 0:I[0];l(b,x,P[x])}return{...b,instance_name:{section:oe.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:a("plugins.fields.consumer"),section:oe.ConfigurationSchemaSection.Basic,order:6},route:{label:a("plugins.fields.route"),section:oe.ConfigurationSchemaSection.Basic,order:6},service:{label:a("plugins.fields.service"),section:oe.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:a("plugins.fields.consumer_group"),section:oe.ConfigurationSchemaSection.Basic,order:6},protocols:{type:oe.ConfigurationSchemaType.BadgeTag,section:oe.ConfigurationSchemaSection.Basic,order:7}}}),p=e.computed(()=>{var k,N,I;if(!((k=h.value)!=null&&k.fields))return[];const b=(N=h.value.fields)==null?void 0:N.find($=>{var x;return((x=Object.keys($))==null?void 0:x[0])===Ei});return((I=b==null?void 0:b[Ei])==null?void 0:I.fields)||[]}),d=e.computed(()=>{var k,N;const b={};if(!p.value)return b;for(let I=0;I<((k=p.value)==null?void 0:k.length);I++){const $=p.value[I],P=(N=Object.keys($))==null?void 0:N[0],x=$[P];x.required&&(b[P]={order:1}),l(b,P,x)}return b}),f=b=>{var N;const k=(N=i.pluginMetaData[r.config.pluginType])==null?void 0:N.scope;return k?Object.fromEntries(Object.entries(b).filter(([I,$])=>$?!0:!(I==="service"&&!k.includes(R.PluginScope.SERVICE)||I==="route"&&!k.includes(R.PluginScope.ROUTE)||I==="consumer"&&!k.includes(R.PluginScope.CONSUMER)||I==="consumer_group"&&!k.includes(R.PluginScope.CONSUMER_GROUP)))):b},m=b=>en(b,"__ui_data"),{getMessageFromError:g}=oe.useErrors(),{axiosInstance:_}=oe.useAxios((C=r.config)==null?void 0:C.axiosRequestConfig),y=e.computed(()=>{var k,N;let b=`${r.config.apiBaseUrl}${He.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?b=b.replace(/{controlPlaneId}/gi,((k=r.config)==null?void 0:k.controlPlaneId)||""):r.config.app==="kongManager"&&(b=b.replace(/\/{workspace}/gi,(N=r.config)!=null&&N.workspace?`/${r.config.workspace}`:"")),b=b.replace(/{plugin}/gi,r.config.pluginType),b}),h=e.ref({});oe.useSchemaProvider(h);const w=e.ref(!1),E=e.ref("");return e.onBeforeMount(async()=>{w.value=!0;try{const{data:b}=await _.get(y.value);h.value=b}catch(b){E.value=g(b),o("error:fetch-schema",b)}finally{w.value=!1}}),(b,k)=>{const N=e.resolveComponent("KSkeleton"),I=e.resolveComponent("KEmptyState"),$=e.resolveComponent("KCopy");return e.openBlock(),e.createElementBlock("div",RT,[w.value?(e.openBlock(),e.createBlock(N,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):E.value?(e.openBlock(),e.createBlock(I,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:e.withCtx(()=>[e.createElementVNode("h3",null,e.toDisplayString(E.value),1)]),_:1})):(e.openBlock(),e.createBlock(e.unref(oe.EntityBaseConfigCard),{key:2,"code-block-record-formatter":m,config:t.config,"config-card-doc":t.configCardDoc,"config-schema":u.value,"entity-type":e.unref(oe.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":t.hideTitle,"plugin-config-key":Ei,"plugin-config-schema":d.value,"record-resolver":f,"onFetch:error":k[0]||(k[0]=P=>b.$emit("fetch:error",P)),"onFetch:success":k[1]||(k[1]=P=>b.$emit("fetch:success",P)),onLoading:k[2]||(k[2]=P=>b.$emit("loading",P))},e.createSlots({name:e.withCtx(P=>[e.createElementVNode("div",FT,[e.createVNode(e.unref(dn.PluginIcon),{class:"plugin-icon",name:e.unref(s)("rowValue",P),size:24},null,8,["name"]),e.createElementVNode("span",LT,e.toDisplayString(e.unref(i).getDisplayName(e.unref(s)("rowValue",P))),1)])]),consumer:e.withCtx(P=>[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(oe.InternalLinkItem),{key:1,item:{key:e.unref(s)("rowValue",P).id,value:e.unref(s)("rowValue",P).id,type:e.unref(oe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",e.unref(s)("rowValue",P).id,"consumer")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock($,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"consumer-copy-uuid",text:e.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",DT,"–"))]),route:e.withCtx(P=>[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(oe.InternalLinkItem),{key:1,item:{key:e.unref(s)("rowValue",P).id,value:e.unref(s)("rowValue",P).id,type:e.unref(oe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",e.unref(s)("rowValue",P).id,"route")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock($,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"route-copy-uuid",text:e.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",MT,"–"))]),service:e.withCtx(P=>[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(oe.InternalLinkItem),{key:1,item:{key:e.unref(s)("rowValue",P).id,value:e.unref(s)("rowValue",P).id,type:e.unref(oe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",e.unref(s)("rowValue",P).id,"service")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock($,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"service-copy-uuid",text:e.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",vT,"–"))]),consumer_group:e.withCtx(P=>[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(oe.InternalLinkItem),{key:1,item:{key:e.unref(s)("rowValue",P).id,value:e.unref(s)("rowValue",P).id,type:e.unref(oe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",e.unref(s)("rowValue",P).id,"consumer_group")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock($,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"consumer-group-copy-uuid",text:e.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",jT,"–"))]),partials:e.withCtx(P=>{var x,V,S,B,U,j,z,K,M;return[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(oe.InternalLinkItem),{key:1,item:{key:(V=(x=e.unref(s)("rowValue",P))==null?void 0:x[0])==null?void 0:V.id,value:((B=(S=e.unref(s)("rowValue",P))==null?void 0:S[0])==null?void 0:B.id)+((j=(U=e.unref(s)("rowValue",P))==null?void 0:U[0])!=null&&j.name?"/"+((K=(z=e.unref(s)("rowValue",P))==null?void 0:z[0])==null?void 0:K.name):""),type:e.unref(oe.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var L,A;return b.$emit("navigation-click",(A=(L=e.unref(s)("rowValue",P))==null?void 0:L[0])==null?void 0:A.id,"partial")}},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock($,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"partial-copy-uuid",text:(M=e.unref(s)("rowValue",P))==null?void 0:M[0].id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",UT,"–"))]}),_:2},[t.config.pluginType==="datakit"&&t.config.app==="konnect"?{name:"config-card-item-nodes",fn:e.withCtx(P=>[e.createVNode($T,{item:P.row,"plugin-data":P.record},null,8,["item","plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-0c1ac825"]]),{usePluginMetaData:qT,useProvideExperimentalFreeForms:GT}=Fe;Object.defineProperty(we,"PluginGroup",{enumerable:!0,get:()=>R.PluginGroup}),Object.defineProperty(we,"PluginScope",{enumerable:!0,get:()=>R.PluginScope}),Object.defineProperty(we,"PluginIcon",{enumerable:!0,get:()=>dn.PluginIcon}),Object.defineProperty(we,"getPluginIconURL",{enumerable:!0,get:()=>dn.getPluginIconURL}),we.EXPERIMENTAL_FREE_FORM_PROVIDER=sa,we.EntityTypeIdField=un,we.FEATURE_FLAGS=Ql,we.FREE_FORM_SCHEMA_MAP_KEY=Ln,we.PLUGIN_GROUPS_COLLAPSE_STATUS=Vr,we.PluginCatalog=IT,we.PluginConfigCard=KT,we.PluginFeaturedArray=Oo,we.PluginForm=sI,we.PluginGroupArray=Pi,we.PluginGroupArraySortedAlphabetically=Vo,we.PluginList=yI,we.PluginPartialType=To,we.PluginSelect=UI,we.PluginSelectCard=_i,we.PluginSelectGrid=Ci,we.TOASTER_PROVIDER=es,we.pluginEndpoints=He,we.usePluginMetaData=qT,we.useProvideExperimentalFreeForms=GT,Object.defineProperty(we,Symbol.toStringTag,{value:"Module"})}));
208
+ `};function wo(t){return typeof t=="object"&&!Array.isArray(t)&&t!==null}const AC=[{name:"decK",extract(t){try{const n=Mt.load(t);return wo(n)&&Array.isArray(n.plugins)&&n.plugins.find(r=>wo(r)&&r.name==="datakit")||null}catch{return null}}},{name:"KIC",extract(t){let n=t;const o=t.match(/echo\s+(?:"([\s\S]*?)"|'([\s\S]*?)')\s*\|\s*kubectl/);o&&(n=o[1]||o[2]);try{const r=Mt.load(n);if(!wo(r))return null;const a=wo(r.metadata)?r.metadata:{},i=r.plugin||a.name;return(r.kind==="KongPlugin"||r.kind==="KongClusterPlugin")&&i==="datakit"&&r||null}catch{return null}}},{name:"cURL",extract(t){if(!t.trim().startsWith("curl"))return null;const n=t.match(/(?:--data|-d)\s+(?:'((?:[^'\\]|\\[\s\S])*)'|"((?:[^"\\]|\\[\s\S])*)")/);if(!n)return null;let o=n[1]||n[2];n[2]&&(o=o.replace(/\\(["\\])/g,"$1"));try{const r=JSON.parse(o);return wo(r)&&r.name==="datakit"&&r||null}catch{return null}}}],SC={class:"dk-code-editor"},PC={class:"examples-content"},Fa="YAML Syntax",IC=ye(e.defineComponent({__name:"CodeEditor",props:{editing:{type:Boolean}},emits:["change","error"],setup(t,{expose:n,emit:o}){const{t:r}=et.createI18n("en-us",tt),{formData:a,setValue:i}=Ke(),l=o,{getMessageFromError:s}=ee.useErrors(),c=e.shallowRef(null);function u(b){return Mt.dump(e.toRaw(b),{schema:rn,noArrayIndent:!0})}function p(){return u(tn(a,["__ui_data"]))}const d=e.shallowRef(p()),f={scrollbar:{alwaysConsumeMouseWheel:!1},autoIndent:"keep",editContext:!1};function m(b){const k=b.getModel();k&&(c.value=b,b.onDidChangeModelContent(()=>{try{const N=Mt.load(b.getValue()||"",{schema:rn,json:!0});if(typeof N!="object"||N===null)return;To.editor.setModelMarkers(k,Fa,[]),i(N),l("change",N)}catch(N){const{message:S,mark:R}=N,{line:P,column:A}=R||{line:0,column:0},T=S.split(`
209
+ `)[0],O=[{startLineNumber:P+1,startColumn:A+1,endLineNumber:P+1,endColumn:A+2,message:T,severity:To.MarkerSeverity.Error,source:Fa}];To.editor.setModelMarkers(k,Fa,O),l("error",T)}}),b.onDidPaste(N=>{const S=b.getModel();if(!S)return;const R=S.getValueInRange(N.range);for(const P of AC){const A=P.extract(R);if(A){_.value=A,h.value=P.name,g.value=!0;return}}}),C())}const g=e.shallowRef(!1),_=e.shallowRef(null),h=e.shallowRef("");function y(){g.value=!1,_.value=null,h.value=""}function w(){_.value&&(d.value=u(_.value),y())}function E(b){const k=ur[b];try{const N=Mt.load(d.value,{schema:rn,json:!0}),S=Mt.load(k,{schema:rn,json:!0});if(typeof N=="object"&&N!==null&&en(N.config,S))return;const R=tn({...a,config:{...S}},["__ui_data"]);d.value=u(R)}catch(N){l("error",s(N))}C()}function C(){const b=c.value,k=b==null?void 0:b.getModel();!b||!k||(b.setPosition(k.getFullModelRange().getEndPosition()),b.focus())}return n({setExampleCode:E}),(b,k)=>(e.openBlock(),e.createElementBlock("div",SC,[e.createVNode(e.unref(Ve.KAlert),{class:"examples"},{icon:e.withCtx(()=>[e.createVNode(e.unref(ue.SparklesIcon))]),default:e.withCtx(()=>[e.createElementVNode("div",PC,[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.description_example"))+" ",1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ur),(N,S)=>(e.openBlock(),e.createBlock(e.unref(Ve.KButton),{key:S,appearance:"secondary",size:"small",onClick:R=>E(S)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)(`plugins.free-form.datakit.examples.${S}`)),1)]),_:2},1032,["onClick"]))),128))])]),_:1}),e.createVNode(e.unref(Ai.MonacoEditor),{ref:"editor",modelValue:d.value,"onUpdate:modelValue":k[0]||(k[0]=N=>d.value=N),appearance:"standalone",class:"editor",language:"yaml",options:f,theme:"light",onReady:m},null,8,["modelValue"]),e.createVNode(e.unref(Ve.KModal),{"action-button-text":e.unref(r)("plugins.free-form.datakit.detected_config_format_confirm"),title:e.unref(r)("plugins.free-form.datakit.detected_config_format_title"),visible:g.value,onCancel:y,onProceed:w},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.detected_config_format",{format:h.value})),1)]),_:1},8,["action-button-text","title","visible"])]))}}),[["__scopeId","data-v-46afee5d"]]),Sc=["request","service_request","service_response","response","vault"],qn=Sc,Pc=["call","jq","exit","property","static","branch","cache","xml_to_json","json_to_xml"],Ic=["GET","HEAD","POST","PUT","PATCH","DELETE","OPTIONS","TRACE","CONNECT"],mt={call:{icon:ue.NetworkIcon,colors:{foreground:L_,background:A_}},jq:{icon:ue.CodeblockIcon,colors:{foreground:hs,background:E_}},exit:{icon:ue.GatewayIcon,colors:{foreground:_a,background:T_}},property:{icon:ue.StackIcon,colors:{foreground:R_,background:F_}},static:{icon:ue.DeployIcon,colors:{foreground:B_,background:$_}},branch:{icon:ue.ArrowSplitIcon,colors:{foreground:O_,background:C_}},cache:{icon:ue.CachedIcon,colors:{foreground:V_,background:"#fff0f7"}},xml_to_json:{icon:ue.DataObjectIcon,colors:{foreground:co,background:ya}},json_to_xml:{icon:ue.CodeIcon,colors:{foreground:co,background:ya}},vault:{icon:ue.KeyIcon},request:{icon:ue.CloudIcon},service_request:{icon:ue.CloudIcon},service_response:{icon:ue.CloudIcon},response:{icon:ue.CloudIcon}},{t:La}=et.createI18n("en-us",tt);function Ct(t){return La(`plugins.free-form.datakit.flow_editor.node_types.${t}.description`)}function Gt(t){return La(`plugins.free-form.datakit.flow_editor.node_types.${t}.summary`)}function TC(t){return La(`plugins.free-form.datakit.flow_editor.node_types.${t}.name`)}const Da={call:{type:"call",summary:Gt("call"),description:Ct("call"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]},output:{fields:[{name:"headers"},{name:"body"},{name:"status"}]}},...mt.call},jq:{type:"jq",summary:Gt("jq"),description:Ct("jq"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...mt.jq},exit:{type:"exit",summary:Gt("exit"),description:Ct("exit"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...mt.exit},property:{type:"property",summary:Gt("property"),description:Ct("property"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...mt.property},static:{type:"static",summary:Gt("static"),description:Ct("static"),io:{output:{fields:[],configurable:!0}},...mt.static},branch:{type:"branch",summary:Gt("branch"),description:Ct("branch"),io:{input:{fields:[]},next:{branches:[{name:"then"},{name:"else"}]}},...mt.branch},cache:{type:"cache",summary:Gt("cache"),description:Ct("cache"),io:{input:{fields:[{name:"data"},{name:"key"},{name:"ttl"}]},output:{fields:[{name:"data"},{name:"hit"},{name:"miss"},{name:"stored"}]}},...mt.cache},xml_to_json:{type:"xml_to_json",summary:Gt("xml_to_json"),description:Ct("xml_to_json"),io:{input:{fields:[]},output:{fields:[]}},...mt.xml_to_json},json_to_xml:{type:"json_to_xml",summary:Gt("json_to_xml"),description:Ct("json_to_xml"),io:{input:{fields:[],configurable:!0},output:{fields:[]}},...mt.json_to_xml}},fr={request:{type:"request",description:Ct("request"),io:{output:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...mt.request},service_request:{type:"service_request",description:Ct("service_request"),io:{input:{fields:[{name:"headers"},{name:"body"},{name:"query"}]}},...mt.service_request},service_response:{type:"service_response",description:Ct("service_response"),io:{output:{fields:[{name:"headers"},{name:"body"}]}},...mt.service_response},response:{type:"response",description:Ct("response"),io:{input:{fields:[{name:"headers"},{name:"body"}]}},...mt.response},vault:{type:"vault",io:{output:{fields:[],configurable:!0}},...mt.vault,hidden:!0}},Ma=Object.keys(fr),ja=t=>Ma.includes(t),OC=t=>[...Ma,...Pc].includes(t),Et=t=>Ma.includes(t),va=t=>Et(t.type),Ua=t=>!!(t!=null&&t.startsWith("node:")),Co=t=>Object.prototype.hasOwnProperty.call(t,"ownerId");function zt(t){return kn(t)}function Ka(t,n){if(t.length!==n.length)return!1;if(t.length===0)return!0;const o=new Set(n);return t.every(r=>o.has(r))}function Gn(t){return`${t}:${Yo()}`}function pr(t){const[n,o]=t.split(".");return{nodeName:n,fieldName:o}}function Tc(t){const[n,o]=t.split(".");return{nodeId:n,fieldId:o}}function zn(t){return Et(t)?fr[t]:Da[t]}function Oc(t){var a,i,l,s;const n=zn(t),o=((i=(a=n.io)==null?void 0:a.input)==null?void 0:i.fields.map(({name:c})=>c))??[],r=((s=(l=n.io)==null?void 0:l.output)==null?void 0:s.fields.map(({name:c})=>c))??[];return{input:o,output:r}}function Eo(t){var o,r,a;return((a=(r=(o=zn(t).io)==null?void 0:o.next)==null?void 0:r.branches)==null?void 0:a.map(({name:i})=>i))??[]}function Vc(t){return(t??[]).map(n=>({id:Gn("field"),name:n}))}function an(t,n,o){if(o)return t.fields[n].find(r=>r.name===o)}function ln(t,n,o){if(o)return t.fields[n].find(r=>r.id===o)}function qa(t,n){return n?t.fields.output.some(o=>o.id===n):!0}function Bc(t,n){return n?t.fields.input.some(o=>o.id===n):!0}function VC(t){const n=["request","service_request","vault"].includes(t)?"request":"response",o=fr[t];return{name:t,phase:n,position:{x:0,y:0},fields:Oc(o.type),expanded:{},hidden:o.hidden}}function $c(t,n){const r=(typeof t=="string"&&OC(t)?t.toUpperCase():t).replace(/_\d+$/,"");for(let a=1;;a++){const i=`${r}_${a}`;if(!n.has(i))return i}}function Ga(t,n){return`${t}:${n}`}function BC(t){const n=t.lastIndexOf(":");if(n===-1)throw new Error(`Invalid group ID format: ${t}`);const o=t.slice(0,n),r=t.slice(n+1);return{nodeId:o,branch:r}}function mr(t,n){return`${t}:${n}`}function Rc(t,n,o,r,a){return{id:Ga(t,n),ownerId:t,branch:n,phase:o,memberIds:[...r],position:a!=null&&a.position?{...a.position}:void 0,dimensions:a!=null&&a.dimensions?{...a.dimensions}:void 0}}function $C(t){return t.map(({source:n,target:o})=>({source:n,target:o}))}function RC(t){const n=[];for(const o of t)for(const r of o.memberIds)n.push({source:o.ownerId,target:r});return n}function Fc(t,n){return[...$C(t),...RC(n)]}function gr(t,n){const o=new Map;for(const{source:r,target:a}of t)o.has(r)||o.set(r,[]),o.get(r).push(a),o.has(a)||o.set(a,[]);return n&&(o.has(n.source)||o.set(n.source,[]),o.get(n.source).push(n.target),o.has(n.target)||o.set(n.target,[])),o}function za(t){const n=new Set,o=new Set;function r(a){if(o.has(a))return!0;if(n.has(a))return!1;n.add(a),o.add(a);for(const i of t.get(a)??[])if(r(i))return!0;return o.delete(a),!1}for(const a of t.keys())if(r(a))return!0;return!1}function Ha(t,n){const o=t.config;if(!o)return[];const r=o[n];return Array.isArray(r)?r.filter(a=>typeof a=="string"&&Ua(a)):[]}function FC({state:t,groupMapById:n,getNodeById:o,history:r}){const a=e.computed(()=>{const A=new Map;for(const T of t.value.groups)for(const O of T.memberIds)A.set(O,{ownerId:T.ownerId,branch:T.branch});return A}),i=e.computed(()=>{const A=new Map;for(const T of t.value.groups)for(const O of T.memberIds)A.set(O,T);return A}),l=e.computed(()=>{const A=new Map;for(const T of t.value.groups)A.has(T.ownerId)||A.set(T.ownerId,[]),A.get(T.ownerId).push(T);return A}),s=e.computed(()=>Fc(t.value.edges,t.value.groups)),c=e.computed(()=>gr(s.value));function u(A,T){return A?Eo(A.type).includes(T):!1}function p(A,T){if(T===A.id)return!1;const O=o(T);return!(!O||Et(O.type)||O.phase!==A.phase)}function d(A,T){const O=[],I=new Set;for(const q of T)I.has(q)||(I.add(q),p(A,q)&&O.push(q));return O}function f(A,T,O){const I=o(A);return u(I,T)?d(I,O):[]}function m(A,T,O){const I=Ga(A.id,T),q=n.value.get(I);O.length>0?q?(q.phase!==A.phase&&(q.phase=A.phase),Ka(q.memberIds,O)||(q.position=void 0,q.dimensions=void 0,q.memberIds=[...O])):t.value.groups.push(Rc(A.id,T,A.phase,O)):q&&(t.value.groups=t.value.groups.filter(v=>v.id!==I))}function g(A,T,O,I={}){const q=o(A);if(!u(q,T))return!1;const v=d(q,O),W=Ha(q,T);if(Ka(W,v))return!1;const U=q.config??(q.config={});return v.length>0?U[T]=[...v]:(delete U[T],Object.keys(U).length===0&&delete q.config),m(q,T,v),(I.commit??!0)&&r.commit(I.tag),!0}function _(A,T={}){const O=t.value.groups.filter(I=>I.ownerId!==A);return O.length===t.value.groups.length?!1:(t.value.groups=O,(T.commit??!0)&&r.commit(T.tag),!0)}function h(A,T){const O=n.value.get(Ga(A,T));if(O)return[...O.memberIds];const I=o(A);return I?Ha(I,T):[]}function y(A){return a.value.get(A)}function w(A){const T=[];let O=i.value.get(A);for(;O;)T.push(O.id),O=i.value.get(O.ownerId);return T}function E(A,T){const O=w(T);if(O.length===0)return!1;const I=new Set(w(A));return I.size===0?!0:O.some(q=>!I.has(q))}function C(A,T){if(A===T)return!0;const O=new Set,I=[T];for(;I.length>0;){const q=I.pop();if(O.has(q))continue;if(O.add(q),q===A)return!0;const v=c.value.get(q);if(v)for(const W of v)O.has(W)||I.push(W)}return!1}function b(A,T,O){const I=o(A);return!(!u(I,T)||!p(I,O)||C(A,O))}function k(A,T,O,I={}){const q=o(A);if(!q||!b(A,T,O))return!1;const v=Ha(q,T);if(v.includes(O))return!1;N(O,{commit:!1});const W=[...v,O];return g(A,T,W,{commit:!1})?((I.commit??!0)&&r.commit(I.tag),!0):!1}function N(A,T={}){const O=y(A);if(!O)return!1;const I=h(O.ownerId,O.branch),q=I.filter(v=>v!==A);return q.length===I.length?!1:g(O.ownerId,O.branch,q,T)}function S(A){let T=0;const O=new Set;let I=i.value.get(A);for(;I&&!O.has(I.id);)T+=1,O.add(I.id),I=i.value.get(I.ownerId);return T}function R(A){const T=n.value.get(A);return T?S(T.ownerId):0}function P(A){return A?n.value.has(A):!1}return{memberGroupMap:i,groupsByOwner:l,findMembership:y,getMembers:h,wouldCreateCycle:C,setMembers:g,prepareMembers:f,addMember:k,removeMember:N,clear:_,getNodeDepth:S,getGroupDepth:R,isGroupId:P,isEdgeEnteringGroup:E,canAddMember:b}}function LC(t,n){const{commit:o,undo:r,redo:a,canUndo:i,canRedo:l,clear:s,reset:c,undoStack:u,redoStack:p}=Ye.useManualRefHistory(t,{capacity:n==null?void 0:n.capacity,clone:n==null?void 0:n.clone});let d;function f(E){var C;(C=n==null?void 0:n.onHistoryChange)==null||C.call(n,E,t.value)}function m(E){if(!E){d=void 0,o(),f("commit");return}if(E!=="*"&&d!==E){d=E,o(),f("commit");return}o(),u.value.shift(),f("commit")}function g(){r(),d=void 0,f("undo")}function _(){a(),d=void 0,f("redo")}function h(){s(),d=void 0,f("clear")}function y(){c(),d=void 0,f("reset")}function w(){r(),p.value.shift(),d=void 0,f("revert")}return{canUndo:i,canRedo:l,commit:m,undo:g,redo:_,clear:h,reset:y,revert:w}}function DC(t){var n,o;return((o=(n=t.config)==null?void 0:n.resources)==null?void 0:o.vault)||{}}function MC(t){const{resources:n}=t.config||{};return n!=null&&n.vault?Object.keys(n.vault):[]}function jC(t){const n=Object.entries(t);if(n.length===0)return;const o={};for(const[r,a]of n)o[r]=a;return o}function Lc(t,n){var h,y,w,E,C,b,k;const o=((h=t.config)==null?void 0:h.nodes)??[],r=((y=t.__ui_data)==null?void 0:y.nodes)??[],a=((w=t.__ui_data)==null?void 0:w.groups)??[],i=new Map(r.map(N=>[N.name,N])),l=new Map(a.map(N=>[N.name,N])),s=[],c=[],u=new Map,p=[],d=[],f=new Map,m=N=>{const S=new Set,R=[...N];for(;R.length>0;){const P=R.shift();if(!S.has(P)&&(S.add(P),ja(P)||(u.get(P).phase="request"),!!f.has(P)))for(const A of f.get(P))S.has(A)||R.push(A)}};let g=!1;for(const N of o){const S=i.get(N.name);!S&&!g&&(g=!0);const R=Mc({type:N.type,configNode:N,uiNode:S,pluginData:t});s.push(R),u.set(R.name,R)}for(const N of s){const S=Eo(N.type);if(!S.length)continue;const R=N.config;if(R)for(const P of S){const A=R[P];if(!Array.isArray(A)){l.has(mr(N.name,P))&&(g=!0);continue}const T=[];for(const O of A){if(typeof O!="string")continue;const I=u.get(O);I&&!Et(I.type)&&T.push(I.id)}if(T.length){R[P]=T;const O=mr(N.name,P),I=l.get(O),q=I?{position:zt(I.position)}:void 0,v=Rc(N.id,P,N.phase,T,q);p.push(v),!I&&!g&&(g=!0)}else delete R[P],l.has(mr(N.name,P))&&(g=!0)}}for(const N of qn)if(!u.has(N)){let S=i.get(N);S||(g||(g=!0),S=VC(N));const R=Mc({type:N,uiNode:S,pluginData:t});s.push(R),u.set(R.name,R)}for(const N of o)KC(N,d);for(const N of d){const S=u.get(N.source),R=u.get(N.target);if(!S||!R){S||console.warn(`[initEditorState] skip: source "${N.source}" not found`),R||console.warn(`[initEditorState] skip: target "${N.target}" not found`);continue}f.has(N.source)||f.set(N.source,new Set),f.get(N.source).add(N.target),f.has(N.target)||f.set(N.target,new Set),f.get(N.target).add(N.source),c.push({id:Gn("edge"),source:S.id,sourceField:(E=an(S,"output",N.sourceField))==null?void 0:E.id,target:R.id,targetField:(C=an(R,"input",N.targetField))==null?void 0:C.id})}m(["request","service_request"]);let _=null;return(k=(b=t.config)==null?void 0:b.resources)!=null&&k.cache&&(_={...t.config.resources.cache},t.partials&&(_.partial_id=t.partials[0].id)),{nodes:s,edges:c,groups:p,pendingLayout:g?n?"keepHistory":"clearHistory":!1,pendingFitView:!0,..._?{cacheConfig:_}:{}}}function Dc(t){const{type:n,name:o,phase:r,position:a,fields:i,config:l}=t,s=Oc(n),c=zn(n);return{id:Gn("node"),type:n,name:o??n,phase:r??"request",position:a??{x:0,y:0},expanded:{},fields:{input:Vc((i==null?void 0:i.input)??s.input),output:Vc((i==null?void 0:i.output)??s.output)},hidden:t.hidden||c.hidden,config:l?zt(l):{}}}function vC(t){return Et(t)?t==="request"||t==="service_request"?"request":"response":"request"}function Mc({type:t,configNode:n,uiNode:o,pluginData:r}){return Dc({type:t,name:n==null?void 0:n.name,phase:(o==null?void 0:o.phase)??vC(t),position:o==null?void 0:o.position,fields:qC({type:t,uiNode:o,configNode:n,pluginData:r}),hidden:o==null?void 0:o.hidden,config:GC({type:t,configNode:n,pluginData:r})})}function UC(t){const{type:n,name:o,input:r,inputs:a,output:i,outputs:l,...s}=t;return zt(s)}function KC(t,n){const o=t.name;if(t.input){const{nodeName:r,fieldName:a}=pr(t.input);r&&n.push({source:r,sourceField:a,target:o})}if(t.inputs)for(const[r,a]of Object.entries(t.inputs)){if(!a)continue;const{nodeName:i,fieldName:l}=pr(a);i&&n.push({source:i,sourceField:l,target:o,targetField:r})}if(t.output){const{nodeName:r,fieldName:a}=pr(t.output);r&&n.push({source:o,target:r,targetField:a})}if(t.outputs)for(const[r,a]of Object.entries(t.outputs)){if(!a)continue;const{nodeName:i,fieldName:l}=pr(a);i&&n.push({source:o,sourceField:r,target:i,targetField:l})}}function qC({type:t,uiNode:n,configNode:o,pluginData:r}){var s,c,u,p;const a=zn(t),i=a==null?void 0:a.io;if(!i)return;const l={};if((s=i.input)!=null&&s.configurable&&(n?l.input=((c=n.fields)==null?void 0:c.input)??[]:o!=null&&o.inputs&&(l.input=Object.keys(o.inputs))),(u=i.output)!=null&&u.configurable){if(n)l.output=((p=n.fields)==null?void 0:p.output)??[];else{const d=new Set;o!=null&&o.outputs&&Object.keys(o.outputs).forEach(f=>d.add(f)),(o==null?void 0:o.type)==="static"&&o.values&&Object.keys(o.values).forEach(f=>d.add(f)),d.size&&(l.output=Array.from(d))}t==="vault"&&(l.output=MC(r))}return Object.keys(l).length?l:void 0}function GC({type:t,configNode:n,pluginData:o}){return t==="vault"?DC(o):n?UC(n):void 0}function zC(t){const n=e.computed(()=>{const d=new Map;return t.value.nodes.forEach(f=>d.set(f.id,f)),d}),o=e.computed(()=>t.value.edges),r=e.computed(()=>t.value.groups),a=e.computed(()=>Fc(o.value,r.value));function i(d){return gr(a.value,d?{source:d.source,target:d.target}:void 0)}function l(d){const f=n.value.get(d.source),m=n.value.get(d.target);if(!f||!m)return d;const g=Bc(f,d.sourceField)&&!qa(f,d.sourceField),_=qa(m,d.targetField);return g&&_?{source:d.target,sourceField:d.targetField,target:d.source,targetField:d.sourceField}:d}function s(d){const f=l(d),m=[],g=n.value.get(f.source),_=n.value.get(f.target);if(g||m.push("source node not found"),_||m.push("target node not found"),!g||!_)return{ok:!1,errors:m};qa(g,f.sourceField)||m.push("source handle is not an output field"),Bc(_,f.targetField)||m.push("target handle is not an input field"),_.name==="request"&&m.push('cannot target "request"'),g.name==="response"&&m.push('cannot source from "response"');const h=o.value.some(E=>E.target===f.target&&!E.targetField),y=o.value.some(E=>E.target===f.target&&!!E.targetField);(h&&f.targetField||y&&!f.targetField)&&m.push("cannot mix whole-node and field-level inputs on same target"),f.targetField&&o.value.some(E=>E.target===f.target&&E.targetField===f.targetField)&&m.push("target field already connected"),!f.targetField&&o.value.some(E=>E.target===f.target&&!E.targetField)&&m.push("target input already taken"),f.source===f.target&&m.push("self-loop not allowed");const w=i({source:f.source,target:f.target});return za(w)&&m.push("connection introduces a cycle"),m.length?{ok:!1,errors:m}:{ok:!0}}function c(){const d=[];for(const f of qn)[...n.value.values()].some(m=>m.name===f)||d.push(`missing implicit node "${f}"`);for(const f of o.value){const m=n.value.get(f.source);n.value.get(f.target).name==="request"&&d.push(`edge "${f.id}" targets "request"`),m.name==="response"&&d.push(`edge "${f.id}" sources from "response"`)}return za(i())&&d.push("graph contains cycle"),d.length?{ok:!1,errors:d}:{ok:!0}}function u(d){return s(d).ok}function p(d){return!d.source||!d.target?!1:u({source:d.source,sourceField:d.sourceHandle,target:d.target,targetField:d.targetHandle})}return{canonicalizeConnection:l,validateConnection:s,validateGraph:c,isValidConnection:u,isValidVueFlowConnection:p,buildAdjacency:gr}}const[jc,HC]=Ye.createInjectionState(function(n,o={}){const r=e.ref(Lc(n)),a=e.ref(),i=e.ref(),l=e.ref(!1),s=e.ref(!1),c=LC(r,{capacity:200,clone:zt,onHistoryChange:$=>{var K,V;$!=="clear"&&((V=o.onChange)==null||V.call(o,De(),xe(),pe(),(K=r.value.cacheConfig)==null?void 0:K.partial_id))}}),u=e.ref(!1),p=e.ref(new Set);function d(){r.value.pendingLayout=!1,c.commit("*")}function f($=!0){r.value.pendingFitView!==$&&(r.value.pendingFitView=$,c.commit("*"))}const m=e.computed(()=>{const $={request:0,response:0};return r.value.nodes.forEach(K=>{Et(K.type)||$[K.phase]++}),$}),g=e.computed(()=>new Map(r.value.nodes.map($=>[$.id,$]))),_=e.computed(()=>new Map(r.value.nodes.map($=>[$.name,$]))),h=e.computed(()=>{const $=new Map,K=new Map;for(const V of r.value.edges)$.set(V.id,V),K.has(V.source)||K.set(V.source,new Set),K.get(V.source).add(V.id),K.has(V.target)||K.set(V.target,new Set),K.get(V.target).add(V.id);return{edgeMapById:$,edgeIdMapByNodeId:K}}),y=e.computed(()=>h.value.edgeMapById),w=e.computed(()=>h.value.edgeIdMapByNodeId),E=e.computed(()=>new Map(r.value.groups.map($=>[$.id,$]))),C=e.computed(()=>new Set(r.value.nodes.map($=>$.name))),b=FC({state:r,groupMapById:E,getNodeById:A,history:c}),{canonicalizeConnection:k,validateConnection:N,validateGraph:S,isValidConnection:R,isValidVueFlowConnection:P}=zC(r);function A($){return g.value.get($)}function T($){return _.value.get($)}function O($){return y.value.get($)}function I($){if(!w.value.has($))return[];const K=[];return w.value.get($).forEach(V=>{const oe=O(V);oe&&K.push(oe)}),K}function q($){return I($).filter((K=>K.target===$))}function v($){return I($).filter((K=>K.source===$))}const W=e.computed(()=>a.value?A(a.value):void 0);function U($){a.value=$}function D($){i.value=$}function j($){if(Et($.type))throw new Error("[createNode] implicit nodes are fixed.");return Dc({type:$.type,name:$.name||(Et($.type)?void 0:$c($.type,C.value)),phase:$.phase,position:$.position,fields:$.fields,config:$.config})}function x($,K=!0){const V=j($);if(V)return r.value.nodes.push(V),K&&c.commit(),u.value=!0,V.id}function M($,K,V=!0){const oe=A($);if(!oe||Et(oe.type))return;const z={...zt(oe),id:Gn("node"),name:$c(oe.name,C.value),position:K??{x:oe.position.x+20,y:oe.position.y+20}},re=Eo(z.type);if(re.length&&z.config){for(const Se of re)delete z.config[Se];Object.keys(z.config).length===0&&delete z.config}return r.value.nodes.push(z),V&&c.commit(),u.value=!0,z.id}function G($,K=!0){if(!A($))return;r.value.edges=r.value.edges.filter(z=>z.source!==$&&z.target!==$),b.clear($,{commit:!1}),b.removeMember($,{commit:!1}),r.value.nodes=r.value.nodes.filter(z=>z.id!==$),a.value===$&&(a.value=void 0);const oe=S();oe.ok||console.warn("[removeNode] topology invalid:",oe.errors.join("; ")),K&&c.commit()}function te($,K,V=!0,oe){const z=A($);if(!z)return;if(ja(z.name)){console.warn("[renameNode] implicit node name is reserved.");return}z.name!==K&&(z.name=K,V&&c.commit(oe))}function L($,K,V=!0){const oe=A($);oe&&(oe.position={...K},V&&c.commit())}function H($,K,V=!0){const oe=E.value.get($);if(!oe)return;const z=oe.position;z&&z.x===K.x&&z.y===K.y||(oe.position={...K},V&&c.commit())}function Z($,K,V=!0){const oe=E.value.get($);if(!oe)return!1;const z={...K.position},re={...K.dimensions},Se=oe.position&&oe.position.x===z.x&&oe.position.y===z.y,de=oe.dimensions&&oe.dimensions.width===re.width&&oe.dimensions.height===re.height;return Se&&de?!1:(oe.position=z,oe.dimensions=re,V&&c.commit(),!0)}function Ne($,K,V,oe=!0,z){const re=A($);if(!re)return;const Se=V??!re.expanded[K];Se!==!!re.expanded[K]&&(re.expanded[K]=Se,oe&&c.commit(z??`toggle:${$}:${K}`))}function Oe($,K,V=!0,oe){const z=A($);z&&(z.config=zt(K),V&&c.commit(oe))}function Ce($,K,V,oe=!0){const z=A($);if(!z)return;const re=z.fields[K];if(re.some(Se=>Se.name===V)){console.warn(`[addField] field "${V}" already exists on ${K}.`);return}re.push({id:Gn("field"),name:V}),K==="input"?z.fields.input=re:z.fields.output=re,oe&&c.commit()}function we($,K,V,oe=!0){const z=A($);if(!z)return;const re=z.fields.input,Se=z.fields.output,de=re.find(Pe=>Pe.id===K)??Se.find(Pe=>Pe.id===K);de&&(de.name=V,oe&&c.commit())}function X($,K,V=!0,oe=!0){const z=A($);if(!z)return;const re=z.fields.input,Se=z.fields.output,de=re.findIndex(ne=>ne.id===K);de>=0&&re.splice(de,1);const Pe=Se.findIndex(ne=>ne.id===K);Pe>=0&&Se.splice(Pe,1),z.fields.input=re,z.fields.output=Se,V&&(r.value.edges=r.value.edges.filter(ne=>ne.sourceField!==K&&ne.targetField!==K));const Re=S();Re.ok||console.warn("[removeField] topology invalid:",Re.errors.join("; ")),oe&&c.commit()}function J($,K=!0){const V=k($),oe=N(V);if(!oe.ok){console.warn("[connectEdge] invalid connection:",oe.errors.join("; "));return}const z={id:Gn("edge"),...V};r.value.edges.push(z);const re=S();if(!re.ok){r.value.edges.pop(),console.warn("[connectEdge] topology invalid:",re.errors.join("; "));return}return K&&c.commit(),z.id}function le($,K,V=!0){ae($,!1),J(K,!1),V&&c.commit()}function ae($,K=!0){const V=r.value.edges.findIndex(re=>re.id===$);if(V<0)return;const oe=r.value.edges[V];r.value.edges.splice(V,1);const z=S();if(!z.ok){r.value.edges.splice(V,0,oe),console.warn("[disconnectEdge] topology invalid:",z.errors.join("; "));return}K&&c.commit()}function Ee($,K=!0){const V=q($);for(const oe of V)ae(oe.id,!1);K&&c.commit()}function se($,K=!0){const V=v($);for(const oe of V)ae(oe.id,!1);K&&c.commit()}function De(){var K,V,oe,z,re;const $=[];for(const Se of r.value.nodes){if(Et(Se.type))continue;let de;const Pe={};let Re;const ne={};for(const ct of r.value.edges.filter(Y=>Y.target===Se.id)){const Y=A(ct.source);if(!Y)continue;const _e=(K=ln(Y,"output",ct.sourceField))==null?void 0:K.name,me=_e?`${Y.name}.${_e}`:Y.name,ge=(V=ln(Se,"input",ct.targetField))==null?void 0:V.name;ge?Pe[ge]=me:de===void 0&&(de=me)}for(const ct of r.value.edges.filter(Y=>Y.source===Se.id)){const Y=A(ct.target);if(!Y)continue;const _e=Y.type;if(!Et(_e)||!((oe=fr[_e].io)!=null&&oe.input))continue;const me=(z=ln(Y,"input",ct.targetField))==null?void 0:z.name,ge=me?`${Y.name}.${me}`:Y.name,fe=(re=ln(Se,"output",ct.sourceField))==null?void 0:re.name;fe?ne[fe]=ge:Re===void 0&&(Re=ge)}const Q={...zt(Se.config),name:Se.name,type:Se.type},lt=Eo(Se.type);if(lt.length)for(const ct of lt){const Y=Q[ct];if(!Array.isArray(Y))continue;const _e=[];for(const me of Y){const ge=A(me);ge&&_e.push(ge.name)}_e.length?Q[ct]=Array.from(new Set(_e)):delete Q[ct]}Object.keys(Pe).length>0?Q.inputs=Pe:de!==void 0&&(Q.input=de),Object.keys(ne).length>0?Q.outputs=ne:Re!==void 0&&(Q.output=Re),$.push(Q)}return $}function ie(){return r.value.nodes.map($=>zt({name:$.name,phase:$.phase,position:{...$.position},expanded:{...$.expanded},fields:{input:$.fields.input.map(K=>K.name),output:$.fields.output.map(K=>K.name)}}))}function pe(){const $={},K=T("vault");if(K){const V=jC(K.config);V&&Object.keys(V).length>0&&($.vault=V)}if(r.value.cacheConfig){const{strategy:V,redis:oe,memory:z}=r.value.cacheConfig;$.cache={strategy:V,redis:oe,memory:z}}if(Object.keys($).length!==0)return $}function ce(){const $=[];for(const K of r.value.groups){const V=A(K.ownerId);if(!V)continue;const oe=K.position;oe&&$.push({name:mr(V.name,K.branch),position:{...oe}})}return $}function xe(){return{nodes:ie(),groups:ce()}}function he($,K){K&&c.commit(),r.value=Lc($,K),K||c.clear()}return{state:r,selection:a,portalSelection:i,modalOpen:l,skipValidation:u,invalidConfigNodeIds:p,propertiesPanelOpen:s,configNodeCounts:m,nodeMapById:g,nodeMapByName:_,edgeMapById:y,edgeIdMapByNodeId:w,groupMapById:E,getNodeById:A,getNodeByName:T,getEdgeById:O,getEdgesByNodeId:I,getInEdgesByNodeId:q,getOutEdgesByNodeId:v,selectedNode:W,selectNode:U,selectPortalEdge:D,createNode:j,addNode:x,duplicateNode:M,removeNode:G,renameNode:te,moveNode:L,moveGroup:H,setGroupLayout:Z,toggleExpanded:Ne,replaceConfig:Oe,branchGroups:b,addField:Ce,renameField:we,removeField:X,connectEdge:J,replaceConnection:le,disconnectEdge:ae,disconnectInEdges:Ee,disconnectOutEdges:se,toConfigNodes:De,toUINodes:ie,toUIGroups:ce,toUIData:xe,load:he,commit:c.commit,undo:c.undo,redo:c.redo,canUndo:c.canUndo,canRedo:c.canRedo,clear:c.clear,reset:c.reset,revert:c.revert,isValidConnection:R,isValidVueFlowConnection:P,validateGraph:()=>S(),clearPendingLayout:d,setPendingFitView:f}});function Ze(){const t=HC();if(!t)throw new Error("Editor state is not provided. Ensure you are using provideEditorStore in a parent component.");return t}const{t:WC}=et.createI18n("en-us",tt),hr=Ye.createGlobalState(()=>{const t=Ye.useLocalStorage("datakit-editor-mode","flow"),n=Ye.useLocalStorage("datakit-editor-sidebar-expanded",!0),o=Ye.useLocalStorage("datakit-editor-response-panel-collapsed",!1);return{editorMode:t,sidePanelExpanded:n,responsePanelCollapsed:o}});function YC({enabled:t,confirm:n}){dn.onBeforeRouteLeave(()=>e.toValue(t)?n?n():window.confirm(WC("plugins.free-form.datakit.flow_editor.leave_confirm")):!0);const o=r=>{e.toValue(t)&&r.preventDefault()};Ye.useEventListener("beforeunload",o)}const JC=["undo","redo","duplicate","cut","copy","paste"],vc=()=>{};function XC(t){const n=t;return n?!!n.closest('input, textarea, [contenteditable]:not([contenteditable="false"])'):!1}function ZC(t){if(!(t.metaKey||t.ctrlKey))return;switch(t.key.toLowerCase()){case"z":return t.shiftKey?"redo":"undo";case"y":return"redo";case"d":return"duplicate";case"x":return"cut";case"c":return"copy";case"v":return"paste"}}const QC=Ye.createSharedComposable(()=>{const t=new Set;Ye.useEventListener("keydown",o=>{if(XC(o.target))return;const r=ZC(o);if(r)for(const a of t){if(!e.toValue(a.enabled))continue;const i=a[r];if(i){if(o.defaultPrevented){e.warn(`[useHotkeys] event for "${r}" was already defaultPrevented. Hotkey ignored.`);return}o.preventDefault(),i();return}}},{passive:!1});function n(o){if(!JC.some(a=>typeof o[a]=="function"))return vc;const r={enabled:o.enabled??!0,...o};return t.add(r),()=>t.delete(r)}return{subscribe:n}});function Uc(t={}){if(typeof window>"u")return vc;const n=QC().subscribe(t);return e.onScopeDispose(n),n}const Kc=44,eE=220,qc=366,tE=1e3,nE=Kc+parseFloat(_s),yr=1,oE=0,rE=1,aE=2,iE=3,Hn=parseInt(j_,10),No="application/x-datakit+json",_r={delete:["Delete"],undo:["Mod","Z"],redo:{mac:["Mod","Shift","Z"],windows:["Mod","Y"],linux:["Mod","Shift","Z"]},copy:["Mod","C"],paste:["Mod","V"],duplicate:["Mod","D"]},sn={padding:80,gaps:{nodes:60,edges:80,ranks:60}},lE=1600,sE=1.2,cE=0,dE=200,Gc=Symbol("confirm-modal"),Wn="{key}",In={"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}},br=Object.keys(In).filter(t=>t.includes(Wn)).map(t=>t.replace(Wn,""));function Wa(t){if(!t||!Ao(t))return;const n=br.find(o=>t.startsWith(o));if(n)return t.slice(n.length).replace(Wn,"")}function xo(t){if(!t)return null;const n=br.find(o=>t.startsWith(o));return n||t}function Ao(t){return t?br.some(n=>t.startsWith(n)):!1}function zc(t){return t?Ao(t)?xo(t)+Wn:t:null}function Ya(t){var o;if(!t)return!1;const n=zc(t);return n?((o=In[n])==null?void 0:o.readable)??!1:!1}function Ja(t){var o;if(!t)return!1;const n=zc(t);return n?((o=In[n])==null?void 0:o.writable)??!1:!1}function kr(t,n,o){const r=n?ln(t,o,n):void 0;return`${t.name}${r?`.${r.name}`:""}`}function So(t,n){const o=n(t.source),r=n(t.target);return[kr(o,t.sourceField,"output"),kr(r,t.targetField,"input")]}function Xa(t,n,o,r,a){const i=a(t),l=a(o);return[kr(i,n,"output"),kr(l,r,"input")]}function Hc(t){if(t.length===0)throw new Error("getBoundingRect requires at least one rect");let n=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(const{x:i,y:l,width:s,height:c}of t){if(![i,l,s,c].every(Number.isFinite))throw new Error("Rect values must be finite numbers");if(s<0||c<0)throw new RangeError("Rect width and height must be non-negative");const u=i+s,p=l+c;if(!Number.isFinite(u)||!Number.isFinite(p))throw new RangeError("Rect boundaries must be finite numbers");i<n&&(n=i),l<o&&(o=l),u>r&&(r=u),p>a&&(a=p)}return{x:n,y:o,width:r-n,height:a-o}}function uE(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var fE="\0",Tn="\0",Wc="";let pE=class{constructor(n){at(this,"_isDirected",!0);at(this,"_isMultigraph",!1);at(this,"_isCompound",!1);at(this,"_label");at(this,"_defaultNodeLabelFn",()=>{});at(this,"_defaultEdgeLabelFn",()=>{});at(this,"_nodes",{});at(this,"_in",{});at(this,"_preds",{});at(this,"_out",{});at(this,"_sucs",{});at(this,"_edgeObjs",{});at(this,"_edgeLabels",{});at(this,"_nodeCount",0);at(this,"_edgeCount",0);at(this,"_parent");at(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[Tn]={})}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,a=this;return n.forEach(function(i){r.length>1?a.setNode(i,o):a.setNode(i)}),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]=Tn,this._children[n]={},this._children[Tn][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=a=>o.removeEdge(o._edgeObjs[a]);delete this._nodes[n],this._isCompound&&(this._removeFromParentsChildList(n),delete this._parent[n],this.children(n).forEach(function(a){o.setParent(a)}),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=Tn;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!==Tn)return o}}children(n=Tn){if(this._isCompound){var o=this._children[n];if(o)return Object.keys(o)}else{if(n===Tn)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 a=new Set(o);for(var r of this.successors(n))a.add(r);return Array.from(a.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 a={};function i(l){var s=r.parent(l);return s===void 0||o.hasNode(s)?(a[l]=s,s):s in a?a[s]:i(s)}return this._isCompound&&o.nodes().forEach(l=>o.setParent(l,i(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,a=arguments;return n.reduce(function(i,l){return a.length>1?r.setEdge(i,l,o):r.setEdge(i,l),l}),this}setEdge(){var n,o,r,a,i=!1,l=arguments[0];typeof l=="object"&&l!==null&&"v"in l?(n=l.v,o=l.w,r=l.name,arguments.length===2&&(a=arguments[1],i=!0)):(n=l,o=arguments[1],r=arguments[3],arguments.length>2&&(a=arguments[2],i=!0)),n=""+n,o=""+o,r!==void 0&&(r=""+r);var s=Po(this._isDirected,n,o,r);if(Object.hasOwn(this._edgeLabels,s))return i&&(this._edgeLabels[s]=a),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]=i?a:this._defaultEdgeLabelFn(n,o,r);var c=mE(this._isDirected,n,o,r);return n=c.v,o=c.w,Object.freeze(c),this._edgeObjs[s]=c,Yc(this._preds[o],n),Yc(this._sucs[n],o),this._in[o][s]=c,this._out[n][s]=c,this._edgeCount++,this}edge(n,o,r){var a=arguments.length===1?Za(this._isDirected,arguments[0]):Po(this._isDirected,n,o,r);return this._edgeLabels[a]}edgeAsObj(){const n=this.edge(...arguments);return typeof n!="object"?{label:n}:n}hasEdge(n,o,r){var a=arguments.length===1?Za(this._isDirected,arguments[0]):Po(this._isDirected,n,o,r);return Object.hasOwn(this._edgeLabels,a)}removeEdge(n,o,r){var a=arguments.length===1?Za(this._isDirected,arguments[0]):Po(this._isDirected,n,o,r),i=this._edgeObjs[a];return i&&(n=i.v,o=i.w,delete this._edgeLabels[a],delete this._edgeObjs[a],Jc(this._preds[o],n),Jc(this._sucs[n],o),delete this._in[o][a],delete this._out[n][a],this._edgeCount--),this}inEdges(n,o){var r=this._in[n];if(r){var a=Object.values(r);return o?a.filter(i=>i.v===o):a}}outEdges(n,o){var r=this._out[n];if(r){var a=Object.values(r);return o?a.filter(i=>i.w===o):a}}nodeEdges(n,o){var r=this.inEdges(n,o);if(r)return r.concat(this.outEdges(n,o))}};function Yc(t,n){t[n]?t[n]++:t[n]=1}function Jc(t,n){--t[n]||delete t[n]}function Po(t,n,o,r){var a=""+n,i=""+o;if(!t&&a>i){var l=a;a=i,i=l}return a+Wc+i+Wc+(r===void 0?fE:r)}function mE(t,n,o,r){var a=""+n,i=""+o;if(!t&&a>i){var l=a;a=i,i=l}var s={v:a,w:i};return r&&(s.name=r),s}function Za(t,n){return Po(t,n.v,n.w,n.name)}var Qa=pE,gE="2.2.4",hE={Graph:Qa,version:gE},yE=Qa,_E={write:bE,read:CE};function bE(t){var n={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:kE(t),edges:wE(t)};return t.graph()!==void 0&&(n.value=structuredClone(t.graph())),n}function kE(t){return t.nodes().map(function(n){var o=t.node(n),r=t.parent(n),a={v:n};return o!==void 0&&(a.value=o),r!==void 0&&(a.parent=r),a})}function wE(t){return t.edges().map(function(n){var o=t.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 CE(t){var n=new yE(t.options).setGraph(t.value);return t.nodes.forEach(function(o){n.setNode(o.v,o.value),o.parent&&n.setParent(o.v,o.parent)}),t.edges.forEach(function(o){n.setEdge({v:o.v,w:o.w,name:o.name},o.value)}),n}var EE=NE;function NE(t){var n={},o=[],r;function a(i){Object.hasOwn(n,i)||(n[i]=!0,r.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){r=[],a(i),r.length&&o.push(r)}),o}var Xc=class{constructor(){at(this,"_arr",[]);at(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 a=this._arr,i=a.length;return r[n]=i,a.push({key:n,priority:o}),this._decrease(i),!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,a=r+1,i=n;r<o.length&&(i=o[r].priority<o[i].priority?r:i,a<o.length&&(i=o[a].priority<o[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var o=this._arr,r=o[n].priority,a;n!==0&&(a=n>>1,!(o[a].priority<r));)this._swap(n,a),n=a}_swap(n,o){var r=this._arr,a=this._keyIndices,i=r[n],l=r[o];r[n]=l,r[o]=i,a[l.key]=n,a[i.key]=o}},xE=Xc,Zc=SE,AE=()=>1;function SE(t,n,o,r){return PE(t,String(n),o||AE,r||function(a){return t.outEdges(a)})}function PE(t,n,o,r){var a={},i=new xE,l,s,c=function(u){var p=u.v!==l?u.v:u.w,d=a[p],f=o(u),m=s.distance+f;if(f<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+f);m<d.distance&&(d.distance=m,d.predecessor=l,i.decrease(p,m))};for(t.nodes().forEach(function(u){var p=u===n?0:Number.POSITIVE_INFINITY;a[u]={distance:p},i.add(u,p)});i.size()>0&&(l=i.removeMin(),s=a[l],s.distance!==Number.POSITIVE_INFINITY);)r(l).forEach(c);return a}var IE=Zc,TE=OE;function OE(t,n,o){return t.nodes().reduce(function(r,a){return r[a]=IE(t,a,n,o),r},{})}var Qc=VE;function VE(t){var n=0,o=[],r={},a=[];function i(l){var s=r[l]={onStack:!0,lowlink:n,index:n++};if(o.push(l),t.successors(l).forEach(function(p){Object.hasOwn(r,p)?r[p].onStack&&(s.lowlink=Math.min(s.lowlink,r[p].index)):(i(p),s.lowlink=Math.min(s.lowlink,r[p].lowlink))}),s.lowlink===s.index){var c=[],u;do u=o.pop(),r[u].onStack=!1,c.push(u);while(l!==u);a.push(c)}}return t.nodes().forEach(function(l){Object.hasOwn(r,l)||i(l)}),a}var BE=Qc,$E=RE;function RE(t){return BE(t).filter(function(n){return n.length>1||n.length===1&&t.hasEdge(n[0],n[0])})}var FE=DE,LE=()=>1;function DE(t,n,o){return ME(t,n||LE,o||function(r){return t.outEdges(r)})}function ME(t,n,o){var r={},a=t.nodes();return a.forEach(function(i){r[i]={},r[i][i]={distance:0},a.forEach(function(l){i!==l&&(r[i][l]={distance:Number.POSITIVE_INFINITY})}),o(i).forEach(function(l){var s=l.v===i?l.w:l.v,c=n(l);r[i][s]={distance:c,predecessor:i}})}),a.forEach(function(i){var l=r[i];a.forEach(function(s){var c=r[s];a.forEach(function(u){var p=c[i],d=l[u],f=c[u],m=p.distance+d.distance;m<f.distance&&(f.distance=m,f.predecessor=d.predecessor)})})}),r}function ed(t){var n={},o={},r=[];function a(i){if(Object.hasOwn(o,i))throw new ei;Object.hasOwn(n,i)||(o[i]=!0,n[i]=!0,t.predecessors(i).forEach(a),delete o[i],r.push(i))}if(t.sinks().forEach(a),Object.keys(n).length!==t.nodeCount())throw new ei;return r}class ei extends Error{constructor(){super(...arguments)}}var td=ed;ed.CycleException=ei;var nd=td,jE=vE;function vE(t){try{nd(t)}catch(n){if(n instanceof nd.CycleException)return!1;throw n}return!0}var od=UE;function UE(t,n,o){Array.isArray(n)||(n=[n]);var r=t.isDirected()?s=>t.successors(s):s=>t.neighbors(s),a=o==="post"?KE:qE,i=[],l={};return n.forEach(s=>{if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);a(s,r,l,i)}),i}function KE(t,n,o,r){for(var a=[[t,!1]];a.length>0;){var i=a.pop();i[1]?r.push(i[0]):Object.hasOwn(o,i[0])||(o[i[0]]=!0,a.push([i[0],!0]),rd(n(i[0]),l=>a.push([l,!1])))}}function qE(t,n,o,r){for(var a=[t];a.length>0;){var i=a.pop();Object.hasOwn(o,i)||(o[i]=!0,r.push(i),rd(n(i),l=>a.push(l)))}}function rd(t,n){for(var o=t.length;o--;)n(t[o],o,t);return t}var GE=od,zE=HE;function HE(t,n){return GE(t,n,"post")}var WE=od,YE=JE;function JE(t,n){return WE(t,n,"pre")}var XE=Qa,ZE=Xc,QE=eN;function eN(t,n){var o=new XE,r={},a=new ZE,i;function l(c){var u=c.v===i?c.w:c.v,p=a.priority(u);if(p!==void 0){var d=n(c);d<p&&(r[u]=i,a.decrease(u,d))}}if(t.nodeCount()===0)return o;t.nodes().forEach(function(c){a.add(c,Number.POSITIVE_INFINITY),o.setNode(c)}),a.decrease(t.nodes()[0],0);for(var s=!1;a.size()>0;){if(i=a.removeMin(),Object.hasOwn(r,i))o.setEdge(i,r[i]);else{if(s)throw new Error("Input graph is not connected: "+t);s=!0}t.nodeEdges(i).forEach(l)}return o}var tN={components:EE,dijkstra:Zc,dijkstraAll:TE,findCycles:$E,floydWarshall:FE,isAcyclic:jE,postorder:zE,preorder:YE,prim:QE,tarjan:Qc,topsort:td},ad=hE,Vt={Graph:ad.Graph,json:_E,alg:tN,version:ad.version};let nN=class{constructor(){let n={};n._next=n._prev=n,this._sentinel=n}dequeue(){let n=this._sentinel,o=n._prev;if(o!==n)return id(o),o}enqueue(n){let o=this._sentinel;n._prev&&n._next&&id(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,oN)),r=r._prev;return"["+n.join(", ")+"]"}};function id(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function oN(t,n){if(t!=="_next"&&t!=="_prev")return n}var rN=nN;let aN=Vt.Graph,iN=rN;var lN=cN;let sN=()=>1;function cN(t,n){if(t.nodeCount()<=1)return[];let o=uN(t,n||sN);return dN(o.graph,o.buckets,o.zeroIdx).flatMap(a=>t.outEdges(a.v,a.w))}function dN(t,n,o){let r=[],a=n[n.length-1],i=n[0],l;for(;t.nodeCount();){for(;l=i.dequeue();)ti(t,n,o,l);for(;l=a.dequeue();)ti(t,n,o,l);if(t.nodeCount()){for(let s=n.length-2;s>0;--s)if(l=n[s].dequeue(),l){r=r.concat(ti(t,n,o,l,!0));break}}}return r}function ti(t,n,o,r,a){let i=a?[]:void 0;return t.inEdges(r.v).forEach(l=>{let s=t.edge(l),c=t.node(l.v);a&&i.push({v:l.v,w:l.w}),c.out-=s,ni(n,o,c)}),t.outEdges(r.v).forEach(l=>{let s=t.edge(l),c=l.w,u=t.node(c);u.in-=s,ni(n,o,u)}),t.removeNode(r.v),i}function uN(t,n){let o=new aN,r=0,a=0;t.nodes().forEach(s=>{o.setNode(s,{v:s,in:0,out:0})}),t.edges().forEach(s=>{let c=o.edge(s.v,s.w)||0,u=n(s),p=c+u;o.setEdge(s.v,s.w,p),a=Math.max(a,o.node(s.v).out+=u),r=Math.max(r,o.node(s.w).in+=u)});let i=fN(a+r+3).map(()=>new iN),l=r+1;return o.nodes().forEach(s=>{ni(i,l,o.node(s))}),{graph:o,buckets:i,zeroIdx:l}}function ni(t,n,o){o.out?o.in?t[o.out-o.in+n].enqueue(o):t[t.length-1].enqueue(o):t[0].enqueue(o)}function fN(t){const n=[];for(let o=0;o<t;o++)n.push(o);return n}let ld=Vt.Graph;var ot={addBorderNode:wN,addDummyNode:sd,applyWithChunking:wr,asNonCompoundGraph:mN,buildLayerMatrix:_N,intersectRect:yN,mapValues:PN,maxRank:dd,normalizeRanks:bN,notime:xN,partition:EN,pick:SN,predecessorWeights:hN,range:fd,removeEmptyRanks:kN,simplify:pN,successorWeights:gN,time:NN,uniqueId:ud,zipObject:oi};function sd(t,n,o,r){for(var a=r;t.hasNode(a);)a=ud(r);return o.dummy=n,t.setNode(a,o),a}function pN(t){let n=new ld().setGraph(t.graph());return t.nodes().forEach(o=>n.setNode(o,t.node(o))),t.edges().forEach(o=>{let r=n.edge(o.v,o.w)||{weight:0,minlen:1},a=t.edge(o);n.setEdge(o.v,o.w,{weight:r.weight+a.weight,minlen:Math.max(r.minlen,a.minlen)})}),n}function mN(t){let n=new ld({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(o=>{t.children(o).length||n.setNode(o,t.node(o))}),t.edges().forEach(o=>{n.setEdge(o,t.edge(o))}),n}function gN(t){let n=t.nodes().map(o=>{let r={};return t.outEdges(o).forEach(a=>{r[a.w]=(r[a.w]||0)+t.edge(a).weight}),r});return oi(t.nodes(),n)}function hN(t){let n=t.nodes().map(o=>{let r={};return t.inEdges(o).forEach(a=>{r[a.v]=(r[a.v]||0)+t.edge(a).weight}),r});return oi(t.nodes(),n)}function yN(t,n){let o=t.x,r=t.y,a=n.x-o,i=n.y-r,l=t.width/2,s=t.height/2;if(!a&&!i)throw new Error("Not possible to find intersection inside of the rectangle");let c,u;return Math.abs(i)*l>Math.abs(a)*s?(i<0&&(s=-s),c=s*a/i,u=s):(a<0&&(l=-l),c=l,u=l*i/a),{x:o+c,y:r+u}}function _N(t){let n=fd(dd(t)+1).map(()=>[]);return t.nodes().forEach(o=>{let r=t.node(o),a=r.rank;a!==void 0&&(n[a][r.order]=o)}),n}function bN(t){let n=t.nodes().map(r=>{let a=t.node(r).rank;return a===void 0?Number.MAX_VALUE:a}),o=wr(Math.min,n);t.nodes().forEach(r=>{let a=t.node(r);Object.hasOwn(a,"rank")&&(a.rank-=o)})}function kN(t){let n=t.nodes().map(l=>t.node(l).rank),o=wr(Math.min,n),r=[];t.nodes().forEach(l=>{let s=t.node(l).rank-o;r[s]||(r[s]=[]),r[s].push(l)});let a=0,i=t.graph().nodeRankFactor;Array.from(r).forEach((l,s)=>{l===void 0&&s%i!==0?--a:l!==void 0&&a&&l.forEach(c=>t.node(c).rank+=a)})}function wN(t,n,o,r){let a={width:0,height:0};return arguments.length>=4&&(a.rank=o,a.order=r),sd(t,"border",a,n)}function CN(t,n=cd){const o=[];for(let r=0;r<t.length;r+=n){const a=t.slice(r,r+n);o.push(a)}return o}const cd=65535;function wr(t,n){if(n.length>cd){const o=CN(n);return t.apply(null,o.map(r=>t.apply(null,r)))}else return t.apply(null,n)}function dd(t){const o=t.nodes().map(r=>{let a=t.node(r).rank;return a===void 0?Number.MIN_VALUE:a});return wr(Math.max,o)}function EN(t,n){let o={lhs:[],rhs:[]};return t.forEach(r=>{n(r)?o.lhs.push(r):o.rhs.push(r)}),o}function NN(t,n){let o=Date.now();try{return n()}finally{console.log(t+" time: "+(Date.now()-o)+"ms")}}function xN(t,n){return n()}let AN=0;function ud(t){var n=++AN;return t+(""+n)}function fd(t,n,o=1){n==null&&(n=t,t=0);let r=i=>i<n;o<0&&(r=i=>n<i);const a=[];for(let i=t;r(i);i+=o)a.push(i);return a}function SN(t,n){const o={};for(const r of n)t[r]!==void 0&&(o[r]=t[r]);return o}function PN(t,n){let o=n;return typeof n=="string"&&(o=r=>r[n]),Object.entries(t).reduce((r,[a,i])=>(r[a]=o(i,a),r),{})}function oi(t,n){return t.reduce((o,r,a)=>(o[r]=n[a],o),{})}let IN=lN,TN=ot.uniqueId;var ON={run:VN,undo:$N};function VN(t){(t.graph().acyclicer==="greedy"?IN(t,o(t)):BN(t)).forEach(r=>{let a=t.edge(r);t.removeEdge(r),a.forwardName=r.name,a.reversed=!0,t.setEdge(r.w,r.v,a,TN("rev"))});function o(r){return a=>r.edge(a).weight}}function BN(t){let n=[],o={},r={};function a(i){Object.hasOwn(r,i)||(r[i]=!0,o[i]=!0,t.outEdges(i).forEach(l=>{Object.hasOwn(o,l.w)?n.push(l):a(l.w)}),delete o[i])}return t.nodes().forEach(a),n}function $N(t){t.edges().forEach(n=>{let o=t.edge(n);if(o.reversed){t.removeEdge(n);let r=o.forwardName;delete o.reversed,delete o.forwardName,t.setEdge(n.w,n.v,o,r)}})}let RN=ot;var FN={run:LN,undo:MN};function LN(t){t.graph().dummyChains=[],t.edges().forEach(n=>DN(t,n))}function DN(t,n){let o=n.v,r=t.node(o).rank,a=n.w,i=t.node(a).rank,l=n.name,s=t.edge(n),c=s.labelRank;if(i===r+1)return;t.removeEdge(n);let u,p,d;for(d=0,++r;r<i;++d,++r)s.points=[],p={width:0,height:0,edgeLabel:s,edgeObj:n,rank:r},u=RN.addDummyNode(t,"edge",p,"_d"),r===c&&(p.width=s.width,p.height=s.height,p.dummy="edge-label",p.labelpos=s.labelpos),t.setEdge(o,u,{weight:s.weight},l),d===0&&t.graph().dummyChains.push(u),o=u;t.setEdge(o,a,{weight:s.weight},l)}function MN(t){t.graph().dummyChains.forEach(n=>{let o=t.node(n),r=o.edgeLabel,a;for(t.setEdge(o.edgeObj,r);o.dummy;)a=t.successors(n)[0],t.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=a,o=t.node(n)})}const{applyWithChunking:jN}=ot;var Cr={longestPath:vN,slack:UN};function vN(t){var n={};function o(r){var a=t.node(r);if(Object.hasOwn(n,r))return a.rank;n[r]=!0;let i=t.outEdges(r).map(s=>s==null?Number.POSITIVE_INFINITY:o(s.w)-t.edge(s).minlen);var l=jN(Math.min,i);return l===Number.POSITIVE_INFINITY&&(l=0),a.rank=l}t.sources().forEach(o)}function UN(t,n){return t.node(n.w).rank-t.node(n.v).rank-t.edge(n).minlen}var KN=Vt.Graph,Er=Cr.slack,pd=qN;function qN(t){var n=new KN({directed:!1}),o=t.nodes()[0],r=t.nodeCount();n.setNode(o,{});for(var a,i;GN(n,t)<r;)a=zN(n,t),i=n.hasNode(a.v)?Er(t,a):-Er(t,a),HN(n,t,i);return n}function GN(t,n){function o(r){n.nodeEdges(r).forEach(a=>{var i=a.v,l=r===i?a.w:i;!t.hasNode(l)&&!Er(n,a)&&(t.setNode(l,{}),t.setEdge(r,l,{}),o(l))})}return t.nodes().forEach(o),t.nodeCount()}function zN(t,n){return n.edges().reduce((r,a)=>{let i=Number.POSITIVE_INFINITY;return t.hasNode(a.v)!==t.hasNode(a.w)&&(i=Er(n,a)),i<r[0]?[i,a]:r},[Number.POSITIVE_INFINITY,null])[1]}function HN(t,n,o){t.nodes().forEach(r=>n.node(r).rank+=o)}var WN=pd,md=Cr.slack,YN=Cr.longestPath,JN=Vt.alg.preorder,XN=Vt.alg.postorder,ZN=ot.simplify,QN=On;On.initLowLimValues=ai,On.initCutValues=ri,On.calcCutValue=gd,On.leaveEdge=yd,On.enterEdge=_d,On.exchangeEdges=bd;function On(t){t=ZN(t),YN(t);var n=WN(t);ai(n),ri(n,t);for(var o,r;o=yd(n);)r=_d(n,t,o),bd(n,t,o,r)}function ri(t,n){var o=XN(t,t.nodes());o=o.slice(0,o.length-1),o.forEach(r=>e0(t,n,r))}function e0(t,n,o){var r=t.node(o),a=r.parent;t.edge(o,a).cutvalue=gd(t,n,o)}function gd(t,n,o){var r=t.node(o),a=r.parent,i=!0,l=n.edge(o,a),s=0;return l||(i=!1,l=n.edge(a,o)),s=l.weight,n.nodeEdges(o).forEach(c=>{var u=c.v===o,p=u?c.w:c.v;if(p!==a){var d=u===i,f=n.edge(c).weight;if(s+=d?f:-f,n0(t,o,p)){var m=t.edge(o,p).cutvalue;s+=d?-m:m}}}),s}function ai(t,n){arguments.length<2&&(n=t.nodes()[0]),hd(t,{},1,n)}function hd(t,n,o,r,a){var i=o,l=t.node(r);return n[r]=!0,t.neighbors(r).forEach(s=>{Object.hasOwn(n,s)||(o=hd(t,n,o,s,r))}),l.low=i,l.lim=o++,a?l.parent=a:delete l.parent,o}function yd(t){return t.edges().find(n=>t.edge(n).cutvalue<0)}function _d(t,n,o){var r=o.v,a=o.w;n.hasEdge(r,a)||(r=o.w,a=o.v);var i=t.node(r),l=t.node(a),s=i,c=!1;i.lim>l.lim&&(s=l,c=!0);var u=n.edges().filter(p=>c===kd(t,t.node(p.v),s)&&c!==kd(t,t.node(p.w),s));return u.reduce((p,d)=>md(n,d)<md(n,p)?d:p)}function bd(t,n,o,r){var a=o.v,i=o.w;t.removeEdge(a,i),t.setEdge(r.v,r.w,{}),ai(t),ri(t,n),t0(t,n)}function t0(t,n){var o=t.nodes().find(a=>!n.node(a).parent),r=JN(t,o);r=r.slice(1),r.forEach(a=>{var i=t.node(a).parent,l=n.edge(a,i),s=!1;l||(l=n.edge(i,a),s=!0),n.node(a).rank=n.node(i).rank+(s?l.minlen:-l.minlen)})}function n0(t,n,o){return t.hasEdge(n,o)}function kd(t,n,o){return o.low<=n.lim&&n.lim<=o.lim}var o0=Cr,wd=o0.longestPath,r0=pd,a0=QN,i0=l0;function l0(t){var n=t.graph().ranker;if(n instanceof Function)return n(t);switch(t.graph().ranker){case"network-simplex":Cd(t);break;case"tight-tree":c0(t);break;case"longest-path":s0(t);break;case"none":break;default:Cd(t)}}var s0=wd;function c0(t){wd(t),r0(t)}function Cd(t){a0(t)}var d0=u0;function u0(t){let n=p0(t);t.graph().dummyChains.forEach(o=>{let r=t.node(o),a=r.edgeObj,i=f0(t,n,a.v,a.w),l=i.path,s=i.lca,c=0,u=l[c],p=!0;for(;o!==a.w;){if(r=t.node(o),p){for(;(u=l[c])!==s&&t.node(u).maxRank<r.rank;)c++;u===s&&(p=!1)}if(!p){for(;c<l.length-1&&t.node(u=l[c+1]).minRank<=r.rank;)c++;u=l[c]}t.setParent(o,u),o=t.successors(o)[0]}})}function f0(t,n,o,r){let a=[],i=[],l=Math.min(n[o].low,n[r].low),s=Math.max(n[o].lim,n[r].lim),c,u;c=o;do c=t.parent(c),a.push(c);while(c&&(n[c].low>l||s>n[c].lim));for(u=c,c=r;(c=t.parent(c))!==u;)i.push(c);return{path:a.concat(i.reverse()),lca:u}}function p0(t){let n={},o=0;function r(a){let i=o;t.children(a).forEach(r),n[a]={low:i,lim:o++}}return t.children().forEach(r),n}let Nr=ot;var m0={run:g0,cleanup:_0};function g0(t){let n=Nr.addDummyNode(t,"root",{},"_root"),o=h0(t),r=Object.values(o),a=Nr.applyWithChunking(Math.max,r)-1,i=2*a+1;t.graph().nestingRoot=n,t.edges().forEach(s=>t.edge(s).minlen*=i);let l=y0(t)+1;t.children().forEach(s=>Ed(t,n,i,l,a,o,s)),t.graph().nodeRankFactor=i}function Ed(t,n,o,r,a,i,l){let s=t.children(l);if(!s.length){l!==n&&t.setEdge(n,l,{weight:0,minlen:o});return}let c=Nr.addBorderNode(t,"_bt"),u=Nr.addBorderNode(t,"_bb"),p=t.node(l);t.setParent(c,l),p.borderTop=c,t.setParent(u,l),p.borderBottom=u,s.forEach(d=>{Ed(t,n,o,r,a,i,d);let f=t.node(d),m=f.borderTop?f.borderTop:d,g=f.borderBottom?f.borderBottom:d,_=f.borderTop?r:2*r,h=m!==g?1:a-i[l]+1;t.setEdge(c,m,{weight:_,minlen:h,nestingEdge:!0}),t.setEdge(g,u,{weight:_,minlen:h,nestingEdge:!0})}),t.parent(l)||t.setEdge(n,c,{weight:0,minlen:a+i[l]})}function h0(t){var n={};function o(r,a){var i=t.children(r);i&&i.length&&i.forEach(l=>o(l,a+1)),n[r]=a}return t.children().forEach(r=>o(r,1)),n}function y0(t){return t.edges().reduce((n,o)=>n+t.edge(o).weight,0)}function _0(t){var n=t.graph();t.removeNode(n.nestingRoot),delete n.nestingRoot,t.edges().forEach(o=>{var r=t.edge(o);r.nestingEdge&&t.removeEdge(o)})}let b0=ot;var k0=w0;function w0(t){function n(o){let r=t.children(o),a=t.node(o);if(r.length&&r.forEach(n),Object.hasOwn(a,"minRank")){a.borderLeft=[],a.borderRight=[];for(let i=a.minRank,l=a.maxRank+1;i<l;++i)Nd(t,"borderLeft","_bl",o,a,i),Nd(t,"borderRight","_br",o,a,i)}}t.children().forEach(n)}function Nd(t,n,o,r,a,i){let l={width:0,height:0,rank:i,borderType:n},s=a[n][i-1],c=b0.addDummyNode(t,"border",l,o);a[n][i]=c,t.setParent(c,r),s&&t.setEdge(s,c,{weight:1})}var C0={adjust:E0,undo:N0};function E0(t){let n=t.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&xd(t)}function N0(t){let n=t.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&x0(t),(n==="lr"||n==="rl")&&(A0(t),xd(t))}function xd(t){t.nodes().forEach(n=>Ad(t.node(n))),t.edges().forEach(n=>Ad(t.edge(n)))}function Ad(t){let n=t.width;t.width=t.height,t.height=n}function x0(t){t.nodes().forEach(n=>ii(t.node(n))),t.edges().forEach(n=>{let o=t.edge(n);o.points.forEach(ii),Object.hasOwn(o,"y")&&ii(o)})}function ii(t){t.y=-t.y}function A0(t){t.nodes().forEach(n=>li(t.node(n))),t.edges().forEach(n=>{let o=t.edge(n);o.points.forEach(li),Object.hasOwn(o,"x")&&li(o)})}function li(t){let n=t.x;t.x=t.y,t.y=n}let Sd=ot;var S0=P0;function P0(t){let n={},o=t.nodes().filter(c=>!t.children(c).length),r=o.map(c=>t.node(c).rank),a=Sd.applyWithChunking(Math.max,r),i=Sd.range(a+1).map(()=>[]);function l(c){if(n[c])return;n[c]=!0;let u=t.node(c);i[u.rank].push(c),t.successors(c).forEach(l)}return o.sort((c,u)=>t.node(c).rank-t.node(u).rank).forEach(l),i}let I0=ot.zipObject;var T0=O0;function O0(t,n){let o=0;for(let r=1;r<n.length;++r)o+=V0(t,n[r-1],n[r]);return o}function V0(t,n,o){let r=I0(o,o.map((u,p)=>p)),a=n.flatMap(u=>t.outEdges(u).map(p=>({pos:r[p.w],weight:t.edge(p).weight})).sort((p,d)=>p.pos-d.pos)),i=1;for(;i<o.length;)i<<=1;let l=2*i-1;i-=1;let s=new Array(l).fill(0),c=0;return a.forEach(u=>{let p=u.pos+i;s[p]+=u.weight;let d=0;for(;p>0;)p%2&&(d+=s[p+1]),p=p-1>>1,s[p]+=u.weight;c+=u.weight*d}),c}var B0=$0;function $0(t,n=[]){return n.map(o=>{let r=t.inEdges(o);if(r.length){let a=r.reduce((i,l)=>{let s=t.edge(l),c=t.node(l.v);return{sum:i.sum+s.weight*c.order,weight:i.weight+s.weight}},{sum:0,weight:0});return{v:o,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:o}})}let R0=ot;var F0=L0;function L0(t,n){let o={};t.forEach((a,i)=>{let l=o[a.v]={indegree:0,in:[],out:[],vs:[a.v],i};a.barycenter!==void 0&&(l.barycenter=a.barycenter,l.weight=a.weight)}),n.edges().forEach(a=>{let i=o[a.v],l=o[a.w];i!==void 0&&l!==void 0&&(l.indegree++,i.out.push(o[a.w]))});let r=Object.values(o).filter(a=>!a.indegree);return D0(r)}function D0(t){let n=[];function o(a){return i=>{i.merged||(i.barycenter===void 0||a.barycenter===void 0||i.barycenter>=a.barycenter)&&M0(a,i)}}function r(a){return i=>{i.in.push(a),--i.indegree===0&&t.push(i)}}for(;t.length;){let a=t.pop();n.push(a),a.in.reverse().forEach(o(a)),a.out.forEach(r(a))}return n.filter(a=>!a.merged).map(a=>R0.pick(a,["vs","i","barycenter","weight"]))}function M0(t,n){let o=0,r=0;t.weight&&(o+=t.barycenter*t.weight,r+=t.weight),n.weight&&(o+=n.barycenter*n.weight,r+=n.weight),t.vs=n.vs.concat(t.vs),t.barycenter=o/r,t.weight=r,t.i=Math.min(n.i,t.i),n.merged=!0}let j0=ot;var v0=U0;function U0(t,n){let o=j0.partition(t,p=>Object.hasOwn(p,"barycenter")),r=o.lhs,a=o.rhs.sort((p,d)=>d.i-p.i),i=[],l=0,s=0,c=0;r.sort(K0(!!n)),c=Pd(i,a,c),r.forEach(p=>{c+=p.vs.length,i.push(p.vs),l+=p.barycenter*p.weight,s+=p.weight,c=Pd(i,a,c)});let u={vs:i.flat(!0)};return s&&(u.barycenter=l/s,u.weight=s),u}function Pd(t,n,o){let r;for(;n.length&&(r=n[n.length-1]).i<=o;)n.pop(),t.push(r.vs),o++;return o}function K0(t){return(n,o)=>n.barycenter<o.barycenter?-1:n.barycenter>o.barycenter?1:t?o.i-n.i:n.i-o.i}let q0=B0,G0=F0,z0=v0;var H0=Id;function Id(t,n,o,r){let a=t.children(n),i=t.node(n),l=i?i.borderLeft:void 0,s=i?i.borderRight:void 0,c={};l&&(a=a.filter(f=>f!==l&&f!==s));let u=q0(t,a);u.forEach(f=>{if(t.children(f.v).length){let m=Id(t,f.v,o,r);c[f.v]=m,Object.hasOwn(m,"barycenter")&&Y0(f,m)}});let p=G0(u,o);W0(p,c);let d=z0(p,r);if(l&&(d.vs=[l,d.vs,s].flat(!0),t.predecessors(l).length)){let f=t.node(t.predecessors(l)[0]),m=t.node(t.predecessors(s)[0]);Object.hasOwn(d,"barycenter")||(d.barycenter=0,d.weight=0),d.barycenter=(d.barycenter*d.weight+f.order+m.order)/(d.weight+2),d.weight+=2}return d}function W0(t,n){t.forEach(o=>{o.vs=o.vs.flatMap(r=>n[r]?n[r].vs:r)})}function Y0(t,n){t.barycenter!==void 0?(t.barycenter=(t.barycenter*t.weight+n.barycenter*n.weight)/(t.weight+n.weight),t.weight+=n.weight):(t.barycenter=n.barycenter,t.weight=n.weight)}let J0=Vt.Graph,X0=ot;var Z0=Q0;function Q0(t,n,o,r){r||(r=t.nodes());let a=ex(t),i=new J0({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(l=>t.node(l));return r.forEach(l=>{let s=t.node(l),c=t.parent(l);(s.rank===n||s.minRank<=n&&n<=s.maxRank)&&(i.setNode(l),i.setParent(l,c||a),t[o](l).forEach(u=>{let p=u.v===l?u.w:u.v,d=i.edge(p,l),f=d!==void 0?d.weight:0;i.setEdge(p,l,{weight:t.edge(u).weight+f})}),Object.hasOwn(s,"minRank")&&i.setNode(l,{borderLeft:s.borderLeft[n],borderRight:s.borderRight[n]}))}),i}function ex(t){for(var n;t.hasNode(n=X0.uniqueId("_root")););return n}var tx=nx;function nx(t,n,o){let r={},a;o.forEach(i=>{let l=t.parent(i),s,c;for(;l;){if(s=t.parent(l),s?(c=r[s],r[s]=l):(c=a,a=l),c&&c!==l){n.setEdge(c,l);return}l=s}})}let ox=S0,rx=T0,ax=H0,ix=Z0,lx=tx,sx=Vt.Graph,xr=ot;var cx=Td;function Td(t,n){if(n&&typeof n.customOrder=="function"){n.customOrder(t,Td);return}let o=xr.maxRank(t),r=Od(t,xr.range(1,o+1),"inEdges"),a=Od(t,xr.range(o-1,-1,-1),"outEdges"),i=ox(t);if(Vd(t,i),n&&n.disableOptimalOrderHeuristic)return;let l=Number.POSITIVE_INFINITY,s;for(let c=0,u=0;u<4;++c,++u){dx(c%2?r:a,c%4>=2),i=xr.buildLayerMatrix(t);let p=rx(t,i);p<l&&(u=0,s=Object.assign({},i),l=p)}Vd(t,s)}function Od(t,n,o){const r=new Map,a=(i,l)=>{r.has(i)||r.set(i,[]),r.get(i).push(l)};for(const i of t.nodes()){const l=t.node(i);if(typeof l.rank=="number"&&a(l.rank,i),typeof l.minRank=="number"&&typeof l.maxRank=="number")for(let s=l.minRank;s<=l.maxRank;s++)s!==l.rank&&a(s,i)}return n.map(function(i){return ix(t,i,o,r.get(i)||[])})}function dx(t,n){let o=new sx;t.forEach(function(r){let a=r.graph().root,i=ax(r,a,o,n);i.vs.forEach((l,s)=>r.node(l).order=s),lx(r,o,i.vs)})}function Vd(t,n){Object.values(n).forEach(o=>o.forEach((r,a)=>t.node(r).order=a))}let ux=Vt.Graph,Ht=ot;var fx={positionX:Ex};function px(t,n){let o={};function r(a,i){let l=0,s=0,c=a.length,u=i[i.length-1];return i.forEach((p,d)=>{let f=gx(t,p),m=f?t.node(f).order:c;(f||p===u)&&(i.slice(s,d+1).forEach(g=>{t.predecessors(g).forEach(_=>{let h=t.node(_),y=h.order;(y<l||m<y)&&!(h.dummy&&t.node(g).dummy)&&Bd(o,_,g)})}),s=d+1,l=m)}),i}return n.length&&n.reduce(r),o}function mx(t,n){let o={};function r(i,l,s,c,u){let p;Ht.range(l,s).forEach(d=>{p=i[d],t.node(p).dummy&&t.predecessors(p).forEach(f=>{let m=t.node(f);m.dummy&&(m.order<c||m.order>u)&&Bd(o,f,p)})})}function a(i,l){let s=-1,c,u=0;return l.forEach((p,d)=>{if(t.node(p).dummy==="border"){let f=t.predecessors(p);f.length&&(c=t.node(f[0]).order,r(l,u,d,s,c),u=d,s=c)}r(l,u,l.length,c,i.length)}),l}return n.length&&n.reduce(a),o}function gx(t,n){if(t.node(n).dummy)return t.predecessors(n).find(o=>t.node(o).dummy)}function Bd(t,n,o){if(n>o){let a=n;n=o,o=a}let r=t[n];r||(t[n]=r={}),r[o]=!0}function hx(t,n,o){if(n>o){let r=n;n=o,o=r}return!!t[n]&&Object.hasOwn(t[n],o)}function yx(t,n,o,r){let a={},i={},l={};return n.forEach(s=>{s.forEach((c,u)=>{a[c]=c,i[c]=c,l[c]=u})}),n.forEach(s=>{let c=-1;s.forEach(u=>{let p=r(u);if(p.length){p=p.sort((f,m)=>l[f]-l[m]);let d=(p.length-1)/2;for(let f=Math.floor(d),m=Math.ceil(d);f<=m;++f){let g=p[f];i[u]===u&&c<l[g]&&!hx(o,u,g)&&(i[g]=u,i[u]=a[u]=a[g],c=l[g])}}})}),{root:a,align:i}}function _x(t,n,o,r,a){let i={},l=bx(t,n,o,a),s=a?"borderLeft":"borderRight";function c(d,f){let m=l.nodes(),g=m.pop(),_={};for(;g;)_[g]?d(g):(_[g]=!0,m.push(g),m=m.concat(f(g))),g=m.pop()}function u(d){i[d]=l.inEdges(d).reduce((f,m)=>Math.max(f,i[m.v]+l.edge(m)),0)}function p(d){let f=l.outEdges(d).reduce((g,_)=>Math.min(g,i[_.w]-l.edge(_)),Number.POSITIVE_INFINITY),m=t.node(d);f!==Number.POSITIVE_INFINITY&&m.borderType!==s&&(i[d]=Math.max(i[d],f))}return c(u,l.predecessors.bind(l)),c(p,l.successors.bind(l)),Object.keys(r).forEach(d=>i[d]=i[o[d]]),i}function bx(t,n,o,r){let a=new ux,i=t.graph(),l=Nx(i.nodesep,i.edgesep,r);return n.forEach(s=>{let c;s.forEach(u=>{let p=o[u];if(a.setNode(p),c){var d=o[c],f=a.edge(d,p);a.setEdge(d,p,Math.max(l(t,u,c),f||0))}c=u})}),a}function kx(t,n){return Object.values(n).reduce((o,r)=>{let a=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;Object.entries(r).forEach(([s,c])=>{let u=xx(t,s)/2;a=Math.max(c+u,a),i=Math.min(c-u,i)});const l=a-i;return l<o[0]&&(o=[l,r]),o},[Number.POSITIVE_INFINITY,null])[1]}function wx(t,n){let o=Object.values(n),r=Ht.applyWithChunking(Math.min,o),a=Ht.applyWithChunking(Math.max,o);["u","d"].forEach(i=>{["l","r"].forEach(l=>{let s=i+l,c=t[s];if(c===n)return;let u=Object.values(c),p=r-Ht.applyWithChunking(Math.min,u);l!=="l"&&(p=a-Ht.applyWithChunking(Math.max,u)),p&&(t[s]=Ht.mapValues(c,d=>d+p))})})}function Cx(t,n){return Ht.mapValues(t.ul,(o,r)=>{if(n)return t[n.toLowerCase()][r];{let a=Object.values(t).map(i=>i[r]).sort((i,l)=>i-l);return(a[1]+a[2])/2}})}function Ex(t){let n=Ht.buildLayerMatrix(t),o=Object.assign(px(t,n),mx(t,n)),r={},a;["u","d"].forEach(l=>{a=l==="u"?n:Object.values(n).reverse(),["l","r"].forEach(s=>{s==="r"&&(a=a.map(d=>Object.values(d).reverse()));let c=(l==="u"?t.predecessors:t.successors).bind(t),u=yx(t,a,o,c),p=_x(t,a,u.root,u.align,s==="r");s==="r"&&(p=Ht.mapValues(p,d=>-d)),r[l+s]=p})});let i=kx(t,r);return wx(r,i),Cx(r,t.graph().align)}function Nx(t,n,o){return(r,a,i)=>{let l=r.node(a),s=r.node(i),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:t)/2,c+=(s.dummy?n:t)/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 xx(t,n){return t.node(n).width}let $d=ot,Ax=fx.positionX;var Sx=Px;function Px(t){t=$d.asNonCompoundGraph(t),Ix(t),Object.entries(Ax(t)).forEach(([n,o])=>t.node(n).x=o)}function Ix(t){let n=$d.buildLayerMatrix(t),o=t.graph().ranksep,r=0;n.forEach(a=>{const i=a.reduce((l,s)=>{const c=t.node(s).height;return l>c?l:c},0);a.forEach(l=>t.node(l).y=r+i/2),r+=i+o})}let Rd=ON,Fd=FN,Tx=i0,Ox=ot.normalizeRanks,Vx=d0,Bx=ot.removeEmptyRanks,Ld=m0,$x=k0,Dd=C0,Rx=cx,Fx=Sx,It=ot,Lx=Vt.Graph;var Dx=Mx;function Mx(t,n){let o=n&&n.debugTiming?It.time:It.notime;o("layout",()=>{let r=o(" buildLayoutGraph",()=>Yx(t));o(" runLayout",()=>jx(r,o,n)),o(" updateInputGraph",()=>vx(t,r))})}function jx(t,n,o){n(" makeSpaceForEdgeLabels",()=>Jx(t)),n(" removeSelfEdges",()=>a1(t)),n(" acyclic",()=>Rd.run(t)),n(" nestingGraph.run",()=>Ld.run(t)),n(" rank",()=>Tx(It.asNonCompoundGraph(t))),n(" injectEdgeLabelProxies",()=>Xx(t)),n(" removeEmptyRanks",()=>Bx(t)),n(" nestingGraph.cleanup",()=>Ld.cleanup(t)),n(" normalizeRanks",()=>Ox(t)),n(" assignRankMinMax",()=>Zx(t)),n(" removeEdgeLabelProxies",()=>Qx(t)),n(" normalize.run",()=>Fd.run(t)),n(" parentDummyChains",()=>Vx(t)),n(" addBorderSegments",()=>$x(t)),n(" order",()=>Rx(t,o)),n(" insertSelfEdges",()=>i1(t)),n(" adjustCoordinateSystem",()=>Dd.adjust(t)),n(" position",()=>Fx(t)),n(" positionSelfEdges",()=>l1(t)),n(" removeBorderNodes",()=>r1(t)),n(" normalize.undo",()=>Fd.undo(t)),n(" fixupEdgeLabelCoords",()=>n1(t)),n(" undoCoordinateSystem",()=>Dd.undo(t)),n(" translateGraph",()=>e1(t)),n(" assignNodeIntersects",()=>t1(t)),n(" reversePoints",()=>o1(t)),n(" acyclic.undo",()=>Rd.undo(t))}function vx(t,n){t.nodes().forEach(o=>{let r=t.node(o),a=n.node(o);r&&(r.x=a.x,r.y=a.y,r.rank=a.rank,n.children(o).length&&(r.width=a.width,r.height=a.height))}),t.edges().forEach(o=>{let r=t.edge(o),a=n.edge(o);r.points=a.points,Object.hasOwn(a,"x")&&(r.x=a.x,r.y=a.y)}),t.graph().width=n.graph().width,t.graph().height=n.graph().height}let Ux=["nodesep","edgesep","ranksep","marginx","marginy"],Kx={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},qx=["acyclicer","ranker","rankdir","align"],Gx=["width","height","rank"],Md={width:0,height:0},zx=["minlen","weight","width","height","labeloffset"],Hx={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},Wx=["labelpos"];function Yx(t){let n=new Lx({multigraph:!0,compound:!0}),o=ci(t.graph());return n.setGraph(Object.assign({},Kx,si(o,Ux),It.pick(o,qx))),t.nodes().forEach(r=>{let a=ci(t.node(r));const i=si(a,Gx);Object.keys(Md).forEach(l=>{i[l]===void 0&&(i[l]=Md[l])}),n.setNode(r,i),n.setParent(r,t.parent(r))}),t.edges().forEach(r=>{let a=ci(t.edge(r));n.setEdge(r,Object.assign({},Hx,si(a,zx),It.pick(a,Wx)))}),n}function Jx(t){let n=t.graph();n.ranksep/=2,t.edges().forEach(o=>{let r=t.edge(o);r.minlen*=2,r.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function Xx(t){t.edges().forEach(n=>{let o=t.edge(n);if(o.width&&o.height){let r=t.node(n.v),i={rank:(t.node(n.w).rank-r.rank)/2+r.rank,e:n};It.addDummyNode(t,"edge-proxy",i,"_ep")}})}function Zx(t){let n=0;t.nodes().forEach(o=>{let r=t.node(o);r.borderTop&&(r.minRank=t.node(r.borderTop).rank,r.maxRank=t.node(r.borderBottom).rank,n=Math.max(n,r.maxRank))}),t.graph().maxRank=n}function Qx(t){t.nodes().forEach(n=>{let o=t.node(n);o.dummy==="edge-proxy"&&(t.edge(o.e).labelRank=o.rank,t.removeNode(n))})}function e1(t){let n=Number.POSITIVE_INFINITY,o=0,r=Number.POSITIVE_INFINITY,a=0,i=t.graph(),l=i.marginx||0,s=i.marginy||0;function c(u){let p=u.x,d=u.y,f=u.width,m=u.height;n=Math.min(n,p-f/2),o=Math.max(o,p+f/2),r=Math.min(r,d-m/2),a=Math.max(a,d+m/2)}t.nodes().forEach(u=>c(t.node(u))),t.edges().forEach(u=>{let p=t.edge(u);Object.hasOwn(p,"x")&&c(p)}),n-=l,r-=s,t.nodes().forEach(u=>{let p=t.node(u);p.x-=n,p.y-=r}),t.edges().forEach(u=>{let p=t.edge(u);p.points.forEach(d=>{d.x-=n,d.y-=r}),Object.hasOwn(p,"x")&&(p.x-=n),Object.hasOwn(p,"y")&&(p.y-=r)}),i.width=o-n+l,i.height=a-r+s}function t1(t){t.edges().forEach(n=>{let o=t.edge(n),r=t.node(n.v),a=t.node(n.w),i,l;o.points?(i=o.points[0],l=o.points[o.points.length-1]):(o.points=[],i=a,l=r),o.points.unshift(It.intersectRect(r,i)),o.points.push(It.intersectRect(a,l))})}function n1(t){t.edges().forEach(n=>{let o=t.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 o1(t){t.edges().forEach(n=>{let o=t.edge(n);o.reversed&&o.points.reverse()})}function r1(t){t.nodes().forEach(n=>{if(t.children(n).length){let o=t.node(n),r=t.node(o.borderTop),a=t.node(o.borderBottom),i=t.node(o.borderLeft[o.borderLeft.length-1]),l=t.node(o.borderRight[o.borderRight.length-1]);o.width=Math.abs(l.x-i.x),o.height=Math.abs(a.y-r.y),o.x=i.x+o.width/2,o.y=r.y+o.height/2}}),t.nodes().forEach(n=>{t.node(n).dummy==="border"&&t.removeNode(n)})}function a1(t){t.edges().forEach(n=>{if(n.v===n.w){var o=t.node(n.v);o.selfEdges||(o.selfEdges=[]),o.selfEdges.push({e:n,label:t.edge(n)}),t.removeEdge(n)}})}function i1(t){var n=It.buildLayerMatrix(t);n.forEach(o=>{var r=0;o.forEach((a,i)=>{var l=t.node(a);l.order=i+r,(l.selfEdges||[]).forEach(s=>{It.addDummyNode(t,"selfedge",{width:s.label.width,height:s.label.height,rank:l.rank,order:i+ ++r,e:s.e,label:s.label},"_se")}),delete l.selfEdges})})}function l1(t){t.nodes().forEach(n=>{var o=t.node(n);if(o.dummy==="selfedge"){var r=t.node(o.e.v),a=r.x+r.width/2,i=r.y,l=o.x-a,s=r.height/2;t.setEdge(o.e,o.label),t.removeNode(n),o.label.points=[{x:a+2*l/3,y:i-s},{x:a+5*l/6,y:i-s},{x:a+l,y:i},{x:a+5*l/6,y:i+s},{x:a+2*l/3,y:i+s}],o.label.x=o.x,o.label.y=o.y}})}function si(t,n){return It.mapValues(It.pick(t,n),Number)}function ci(t){var n={};return t&&Object.entries(t).forEach(([o,r])=>{typeof o=="string"&&(o=o.toLowerCase()),n[o]=r}),n}let s1=ot,c1=Vt.Graph;var d1={debugOrdering:u1};function u1(t){let n=s1.buildLayerMatrix(t),o=new c1({compound:!0,multigraph:!0}).setGraph({});return t.nodes().forEach(r=>{o.setNode(r,{label:r}),o.setParent(r,"layer"+t.node(r).rank)}),t.edges().forEach(r=>o.setEdge(r.v,r.w,{},r.name)),n.forEach((r,a)=>{let i="layer"+a;o.setNode(i,{rank:"same"}),r.reduce((l,s)=>(o.setEdge(l,s,{style:"invis"}),s))}),o}var f1="1.1.8",p1={graphlib:Vt,layout:Dx,debug:d1,util:{time:ot.time,notime:ot.notime},version:f1};const jd=uE(p1);function m1(t){const{branchLayout:n,phase:o,layoutOptions:r,nodes:a,edges:i}=t,{findNode:l}=qe.useVueFlow(),{state:s,branchGroups:c,getNodeById:u,moveNode:p,commit:d}=Ze(),{getNodeDepth:f,isGroupId:m,groupsByOwner:g}=c,{isBranchEdgeId:_,updateGroupLayout:h,translateGroupTree:y,waitForLayoutFlush:w}=n,{viewport:E,padding:C=sn.padding,gaps:b=sn.gaps}=r,{nodes:k=sn.gaps.nodes,edges:N=sn.gaps.edges,ranks:S=sn.gaps.ranks}=b;async function R(T=!0){const O=new Map(a.value.map(L=>[L.id,L.data])),I=new Map,q=new Map,v=L=>{if(!L)return;let H=q.get(L);return H||(H=l(L),H&&q.set(L,H),H)},W=new Map,U=L=>{let H=W.get(L);return H!==void 0||(H=f(L),W.set(L,H)),H},D=L=>{if(!Co(L.data))return L.parentNode;const H=v(L.data.ownerId);if(!H)throw new Error(`Cannot find owner node '${L.data.ownerId}' for group node '${L.id}' via findNode`);return H.parentNode};for(const L of i.value){if(_(L.id))continue;const H=L.source,Z=L.target;if(m(H)||m(Z))continue;const Ne=v(H),Oe=v(Z);if(Ne){if(!Oe)throw new Error(`Cannot find target node '${Z}' for edge '${L.id}' via findNode`)}else throw new Error(`Cannot find source node '${H}' for edge '${L.id}' via findNode`);if(D(Ne)===D(Oe))continue;let Ce=Ne,we=Oe,X=U(Ce.id),J=U(we.id);for(;X!==J;)if(X>J){const le=D(Ce);if(!le)throw new Error(`Expected node '${Ce.id}' to have parent, but it does not`);const ae=v(le);if(!ae)throw new Error(`Cannot find parent node '${le}' for node '${Ce.id}' via findNode`);Ce=ae,X--}else if(J>X){const le=D(we);if(!le)throw new Error(`Expected node '${we.id}' to have parent, but it does not`);const ae=v(le);if(!ae)throw new Error(`Cannot find parent node '${le}' for node '${we.id}' via findNode`);we=ae,J--}for(;X>=0;){const le=D(Ce),ae=D(we);if(le===ae){I.has(X)||I.set(X,[]),I.get(X).push({v:Ce.id,w:we.id});break}if(le){if(!ae){const De=`Expected node '${we.id}' to have parent, but it does not`;throw console.error(De,we),new Error(De)}}else{const De=`Expected node '${Ce.id}' to have parent, but it does not`;throw console.error(De,Ce),new Error(De)}const Ee=v(le),se=v(ae);if(Ee){if(!se)throw new Error(`Cannot find parent node '${ae}' for node '${we.id}' via findNode`)}else throw new Error(`Cannot find parent node '${le}' for node '${Ce.id}' via findNode`);Ce=Ee,we=se,X--,J--}}const j=s.value.groups.toSorted((L,H)=>U(H.ownerId)-U(L.ownerId));for(const L of j)P(L.memberIds.reduce((H,Z)=>{const Ne=u(Z);if(!Ne)return console.warn(`Cannot find node '${Z}' of group '${L.id}' by getNodeById`),H;if(Ne.phase!==o)return H;if(Ne.type==="branch"){const Oe=g.value.get(Ne.id);Oe&&H.push(...Oe)}return O.delete(Ne.id),H.push(Ne),H},[]),{virtualEdges:I.get(U(L.ownerId)),cachedFindNode:v}),await e.nextTick(),h(L.id,!1),await w();const x=O.values().toArray();for(const L of x){if(Co(L)||L.type!=="branch")continue;const H=g.value.get(L.id);H&&x.push(...H)}const{autoNodes:M,leftNode:G,rightNode:te}=A(x);P(M,{leftNode:G,rightNode:te,virtualEdges:I.get(0),cachedFindNode:v}),T&&d()}function P(T,O){var Ce,we,X,J,le;const{leftNode:I,rightNode:q,virtualEdges:v,cachedFindNode:W}=O||{},U=I?(W??l)(I.id):void 0,D=q?(W??l)(q.id):void 0;let j;if(T.length>0){j=new jd.graphlib.Graph({multigraph:!0}),j.setGraph({rankdir:o==="request"?"LR":"RL",nodesep:k,edgesep:N,ranksep:S});const ae=new Set;for(const Ee of T){const se=(W??l)(Ee.id);if(!se){console.warn(`Cannot find graph node '${Ee.id}' in ${o} phase`);continue}ae.add(Ee.id),Co(Ee)?j.setNode(Ee.id,{...Ee.dimensions??se.dimensions}):j.setNode(Ee.id,{...se.dimensions})}for(const Ee of i.value)!ae.has(Ee.source)||!ae.has(Ee.target)||j.setEdge(Ee.source,Ee.target,{points:[]});v==null||v.forEach(Ee=>j.setEdge(Ee,{points:[]})),jd.layout(j)}const x=[],M=ae=>({x:ae.x-ae.width/2,y:ae.y-ae.height/2,width:ae.width,height:ae.height});if(T.length>0){if(!j)throw new Error("Expected dagreGraph to be initialized");for(const ae of T){const Ee=j.node(ae.id),se=M(Ee);x.push(se),Co(ae)?y(ae.id,se,se.x+Hn,se.y+Hn):p(ae.id,{x:se.x,y:se.y},!1)}}const G=x.length>0?Hc(x):{x:0,y:0,width:0,height:0},te=G.width,L=G.height,H=G.x,Z=G.x+G.width,Ne=Math.max(0,Math.min(e.toValue(E==null?void 0:E.width)??Number.POSITIVE_INFINITY,lE)-te-2*k-(((Ce=U==null?void 0:U.dimensions)==null?void 0:Ce.width)??0)-(((we=D==null?void 0:D.dimensions)==null?void 0:we.width)??0)-2*C),Oe=G.y+L/2;I&&p(I.id,{x:H-k-Ne/2-(((X=U==null?void 0:U.dimensions)==null?void 0:X.width)??0),y:Oe-(((J=U==null?void 0:U.dimensions)==null?void 0:J.height)??0)/2},!1),q&&p(q.id,{x:Z+k+Ne/2,y:Oe-(((le=D==null?void 0:D.dimensions)==null?void 0:le.height)??0)/2},!1)}function A(T){let O,I;const q=[];for(const v of T){if(Co(v)){q.push(v);continue}switch(v.name){case"request":{if(o!=="request")throw new Error(`Unexpected request node in ${o} phase`);if(O)throw new Error("Duplicated request node in request phase");O=v;break}case"service_request":{if(o!=="request")throw new Error(`Unexpected service_request node in ${o} phase`);if(I)throw new Error("Duplicated service_request node in request phase");I=v;break}case"service_response":{if(o!=="response")throw new Error(`Unexpected service_response node in ${o} phase`);if(I)throw new Error("Duplicated service_response node in response phase");I=v;break}case"response":{if(o!=="response")throw new Error(`Unexpected response node in ${o} phase`);if(O)throw new Error("Duplicated response node in response phase");O=v;break}default:{q.push(v);break}}}return{autoNodes:q,leftNode:O,rightNode:I}}return{autoLayout:R}}function g1({phase:t,groupMapById:n,getNodeDepth:o,canAddMember:r,draggingId:a}){const i=e.shallowRef(),l=e.shallowRef();function s(d){i.value=d,l.value=void 0}function c(){i.value&&(i.value=void 0,l.value=void 0)}function u(d){let f;const m=a==null?void 0:a.value;return n.value.forEach(g=>{if(g.phase!==t||m&&Ua(m)&&!r(g.ownerId,g.branch,m))return;const _=g.position,h=g.dimensions;if(!_||!h||!(d.x>=_.x&&d.x<=_.x+h.width&&d.y>=_.y&&d.y<=_.y+h.height))return;const w=o(g.ownerId);(!f||w>f.depth)&&(f={depth:w,id:g.id})}),f==null?void 0:f.id}function p(d){if(!i.value){l.value=void 0;return}if(!d){l.value=void 0;return}l.value=u(d)}return{activeGroupId:l,start:s,updateActiveGroup:p,end:c}}function h1({phase:t,readonly:n,flowId:o,draggingId:r}){const{findNode:a}=qe.useVueFlow(o),i=Ze(),{state:l,groupMapById:s,getNodeById:c,moveNode:u,moveGroup:p,setGroupLayout:d,commit:f,branchGroups:m}=i,{memberGroupMap:g,groupsByOwner:_,getNodeDepth:h,getGroupDepth:y}=m,w=D=>!!D&&D.startsWith("branch:");function E(D){const j=[];for(const x of D.memberIds){const M=c(x);M&&j.push(M)}return j}const C=e.computed(()=>{const D=new Map;return g.value.forEach((j,x)=>{if(j.phase!==t||!j.position)return;const M=c(x);M&&(M.phase!==t||M.hidden||D.set(x,j))}),D}),b=e.computed(()=>{const D=new Map;return _.value.forEach((j,x)=>{const M=j.filter(G=>G.phase===t);M.length>0&&D.set(x,M)}),D}),k=e.computed(()=>{const D=[];for(const j of l.value.groups){const x=c(j.ownerId);if(!x||x.phase!==t)continue;const M=j.position,G=j.dimensions;if(!M||!G)continue;const te=E(j).filter(H=>H.phase===t&&!H.hidden),L=y(j.id);D.push({id:j.id,type:"group",position:M,width:G.width,height:G.height,data:{...j,memberIds:te.map(H=>H.id)},draggable:!n,selectable:!1,zIndex:L*yr+oE})}return D}),N=e.computed(()=>{let D=0;for(const j of l.value.groups){if(j.phase!==t)continue;const x=y(j.id);x>D&&(D=x)}return D}),S=e.computed(()=>{const D=[];for(const j of l.value.groups){if(j.phase!==t||!j.position||!j.dimensions)continue;const x=c(j.ownerId);if(!x||x.phase!==t||x.hidden||!E(j).filter(L=>L.phase===t&&!L.hidden).length)continue;const G=Math.max(h(x.id),y(j.id))+N.value+1,te={id:`branch:${j.id}`,source:x.id,target:j.id,sourceHandle:`branch@${j.branch}`,targetHandle:"input",markerEnd:qe.MarkerType.ArrowClosed,selectable:!1,focusable:!1,updatable:!1,data:{type:"branch",ownerId:x.id,branch:j.branch,groupId:j.id},zIndex:G*yr+aE};D.push(te)}return D}),R=new Map,P=new Map;let A;function T(D,j=!0){if(D.phase!==t)return;const x=E(D).filter(H=>H.phase===t&&!H.hidden);if(!x.length)return;const M=[];for(const H of x){const Z=a(H.id),Ne=Z==null?void 0:Z.dimensions,Oe=(Ne==null?void 0:Ne.width)??0,Ce=(Ne==null?void 0:Ne.height)??0;if(Oe<=0||Ce<=0)return;M.push({...H.position,width:Oe,height:Ce});const we=_.value.get(H.id)??[];for(const X of we){if(X.phase!==t)continue;const J=R.get(X.id),le=(J==null?void 0:J.position)??X.position,ae=(J==null?void 0:J.dimensions)??X.dimensions;!le||!ae||M.push({x:le.x,y:le.y,width:ae.width,height:ae.height})}}const G=Hc(M),te=G.width+Hn*2,L=G.height+Hn*2;return{position:{x:Math.round(G.x-Hn),y:Math.round(G.y-Hn)},dimensions:{width:Math.round(te),height:Math.round(L)},commit:j}}function O(){if(R.size===0){A=void 0;return}const D=[];let j=!1;R.forEach((x,M)=>{const G=d(M,x,!1);D.push({id:M,changed:G,commit:x.commit}),x.commit&&G&&!j&&(j=!0)}),R.clear(),A=void 0;for(const{id:x,changed:M,commit:G}of D){if(!M)continue;const te=s.value.get(x);if(!te)continue;const L=C.value.get(te.ownerId);L&&P.set(L.id,{commit:G})}if(P.size>0){const x=Array.from(P);P.clear();for(const[M,{commit:G}]of x)q(M,G)}j&&f("*")}function I(){R.size!==0&&(A||(A=e.nextTick().then(O)))}function q(D,j=!0){const x=s.value.get(D);if(!x)return;const M=T(x,j);M&&(R.set(D,M),I())}function v(D,j,x,M){const G=s.value.get(D);if(!G)return;if(!G.position){p(D,j,!1),q(D);return}if(x===0&&M===0){p(D,j,!1);return}p(D,j,!1);const te=[D],L=new Set([D]),H=new Set;for(;te.length;){const Z=te.shift(),Ne=s.value.get(Z);if(!Ne)continue;const Oe=E(Ne).filter(Ce=>Ce.phase===t&&!Ce.hidden);for(const Ce of Oe){H.has(Ce.id)||(u(Ce.id,{x:Ce.position.x+x,y:Ce.position.y+M},!1),H.add(Ce.id));const we=b.value.get(Ce.id)??[];for(const X of we){if(L.has(X.id))continue;const J=s.value.get(X.id);J!=null&&J.position&&p(X.id,{x:J.position.x+x,y:J.position.y+M},!1),L.add(X.id),te.push(X.id)}}}}function W(D,j){const x=r==null?void 0:r.value;if(!x)return!1;if(x===D||j.some(M=>x===M))return!0;for(const M of j){const G=b.value.get(M)??[];if(G!=null&&G.some(te=>te.id===x))return!0}return!1}const U=new Map;return e.watch(()=>l.value.groups.filter(j=>j.phase===t).map(j=>{const x=j.memberIds.map(M=>{var H,Z;const G=a(M),te=Math.round(((H=G==null?void 0:G.dimensions)==null?void 0:H.width)??0),L=Math.round(((Z=G==null?void 0:G.dimensions)==null?void 0:Z.height)??0);return`${M}:${te}x${L}`});return{id:j.id,memberIds:j.memberIds,signature:x.join(",")}}),D=>{const j=new Set(D.map(x=>x.id));for(const x of U.keys())j.has(x)||U.delete(x);for(const x of D)W(x.id,x.memberIds)||U.get(x.id)===x.signature||(U.set(x.id,x.signature),q(x.id))},{deep:!0,flush:"post"}),{groupsByOwner:b,memberGroupMap:C,groupNodes:k,branchEdges:S,isBranchEdgeId:w,updateGroupLayout:q,translateGroupTree:v,getNodeDepth:h,maxGroupDepth:N,waitForLayoutFlush:()=>A??Promise.resolve()}}function y1(t){e.provide(Gc,t)}function vd(){return e.inject(Gc,void 0)}function Ud(){const t=vd();if(!t)throw new Error("Confirm modal not provided");return t}function _1(t){const{readonly:n,flowId:o}=t,r=qe.useVueFlow(o),{onNodesChange:a,onEdgesChange:i,onPaneClick:l,findEdge:s}=r,{disconnectEdge:c,commit:u,portalSelection:p,selectPortalEdge:d}=Ze();a(f=>{f.some(m=>m.type==="select"&&"selected"in m&&m.selected)&&d(void 0)}),i(f=>{const m=f.some(_=>_.type==="select"&&"selected"in _&&_.selected),g=p.value?f.some(_=>_.type==="remove"&&_.id===p.value):!1;(m||g)&&d(void 0)}),l(()=>d(void 0)),Ye.useEventListener("keydown",f=>{if(n||f.key!=="Delete"&&f.key!=="Backspace")return;const m=p.value;!m||s(m)||(f.preventDefault(),c(m,!1),d(void 0),u())})}function Kd(t){const n=t.match(/^(input|output)(?:s@(.*))?$/);if(n)return{io:n[1],field:n[2]}}const b1={default:S_,hover:I_,selected:P_};let qd,di;function Ar(t){const n=t.id===qd?"selected":t.id===di?"hover":"default",o=b1[n],{markerEnd:r}=t,a=typeof r=="object"?{...r,color:o}:{type:r,color:o},i=t.zIndex??0,l=n==="selected"?i+2:n==="hover"?i+1:i;return{...t,style:{...t.style,stroke:o,strokeWidth:n==="selected"?1.5:void 0},markerEnd:a,zIndex:l}}const[k1,w1]=Ye.createInjectionState(function(t){const{phase:n,flowId:o,layoutOptions:r,readonly:a}=t,{viewport:i,padding:l=sn.padding,gaps:s=sn.gaps}=r,{nodes:c=sn.gaps.nodes}=s,u=qe.useVueFlow(o),p=Ze(),d=vd(),f=wa(),{i18n:{t:m}}=Le(),{findNode:g,fitView:_,deleteKeyCode:h,onNodeDrag:y,onNodeDragStop:w,onConnect:E,onNodesChange:C,onEdgesChange:b,onEdgeUpdate:k,onEdgeMouseEnter:N,onEdgeMouseLeave:S,getNodes:R,setNodes:P,setEdges:A,addSelectedNodes:T,screenToFlowCoordinate:O}=u;h.value=["Delete","Backspace"];const{state:I,commit:q,moveNode:v,selectNode:W,removeNode:U,getNodeById:D,connectEdge:j,disconnectEdge:x,getInEdgesByNodeId:M,branchGroups:G,commit:te,reset:L,groupMapById:H}=p,{isGroupId:Z,canAddMember:Ne}=G,Oe=e.shallowRef(),Ce=Y=>{Oe.value=Y},we=e.readonly(Oe);function X(Y,_e){const me=D(Y.source),ge=D(Y.target);return!!(me&&ge&&me.phase===_e&&ge.phase===_e)}const J=h1({phase:n,readonly:a,flowId:o,draggingId:we}),{memberGroupMap:le,groupNodes:ae,branchEdges:Ee,isBranchEdgeId:se,updateGroupLayout:De,translateGroupTree:ie,getNodeDepth:pe,maxGroupDepth:ce}=J,{activeGroupId:xe,start:he,updateActiveGroup:$,end:K}=g1({phase:n,groupMapById:H,getNodeDepth:pe,canAddMember:Ne,draggingId:we}),V=e.computed(()=>I.value.nodes.filter(Y=>Y.phase===n&&!Y.hidden).map(Y=>{const _e=le.value.get(Y.id),me=_e==null?void 0:_e.position,ge=_e==null?void 0:_e.dimensions,fe=_e&&me&&ge?{x:Y.position.x-me.x,y:Y.position.y-me.y}:Y.position,Ae=pe(Y.id),Be=!!(_e&&me&&ge),be=(Be?Ae:0)+ce.value+1;return{id:Y.id,type:"flow",position:fe,data:Y,deletable:!va(Y),parentNode:Be?_e.id:void 0,zIndex:be*yr+iE}})),oe=e.computed(()=>I.value.edges.filter(Y=>X(Y,n)).filter(Y=>!G.isEdgeEnteringGroup(Y.source,Y.target)).filter(Y=>{const _e=D(Y.source),me=D(Y.target);return!(_e!=null&&_e.hidden)&&!(me!=null&&me.hidden)}).map(Y=>{const _e=D(Y.source),me=D(Y.target);if(!_e||!me){const fe=[];throw _e||fe.push(`source node "${Y.source}"`),me||fe.push(`target node "${Y.target}"`),new Error(`Missing ${fe.join(" and ")} for edge "${Y.id}" in phase "${n}"`)}const ge=Math.max(pe(Y.source),pe(Y.target))+ce.value+1;return Ar({id:Y.id,source:Y.source,target:Y.target,sourceHandle:Y.sourceField?`outputs@${Y.sourceField}`:"output",targetHandle:Y.targetField?`inputs@${Y.targetField}`:"input",markerEnd:qe.MarkerType.ArrowClosed,data:Y,updatable:!a,zIndex:ge*yr+rE})})),z=e.computed(()=>[...Ee.value,...oe.value]),{autoLayout:re}=m1({phase:n,layoutOptions:r,branchLayout:J,nodes:V,edges:z});_1({readonly:a,flowId:o}),e.watch([V,ae,z],([Y,_e,me])=>{P([..._e,...Y]),A(me)},{immediate:!0});const Se=e.computed(()=>({padding:l/Math.max(e.toValue(i==null?void 0:i.width)??0,e.toValue(i==null?void 0:i.height)??0)}));async function de({source:Y,sourceHandle:_e,target:me,targetHandle:ge}){if(!_e||!ge)return;const fe=Kd(_e),Ae=Kd(ge);if((fe==null?void 0:fe.io)==="input"||(Ae==null?void 0:Ae.io)==="output"||_e==="output"&&ge==="output")return;const Be=M(me);let be=!1,$e=!1;const Te=[],Ue=[],Fe=(Ae==null?void 0:Ae.io)==="input"?Be.filter(Qe=>!Qe.targetField):Be.filter(Qe=>!!Qe.targetField);Fe.length>0&&(be=!0,Fe.forEach(Qe=>{Ue.push(So(Qe,D)),x(Qe.id,!1)}));const Je=(Ae==null?void 0:Ae.io)==="input"?Ae!=null&&Ae.field?Be.filter(Qe=>Qe.targetField===Ae.field):Be.filter(Qe=>!!Qe.targetField):Be.filter(Qe=>!Qe.targetField);if(Je.length>0){if(Je.some(Tt=>Tt.source===Y&&Tt.target===me&&Tt.targetField===(Ae==null?void 0:Ae.field)&&Tt.sourceField===(fe==null?void 0:fe.field)))return;$e=!0,Je.forEach(Tt=>{Ue.push(So(Tt,D)),x(Tt.id,!1)})}if(!j({source:Y,sourceField:fe==null?void 0:fe.field,target:me,targetField:Ae==null?void 0:Ae.field},!1)){L(),f({message:m("plugins.free-form.datakit.flow_editor.error.invalid_connection"),appearance:"danger"});return}if(Te.push(Xa(Y,fe==null?void 0:fe.field,me,Ae==null?void 0:Ae.field,D)),be||$e){if(!d)throw L(),new Error("Expected confirm modal to be provided here when reachable");if(!await d(m(be?"plugins.free-form.datakit.flow_editor.confirm.message.switch":"plugins.free-form.datakit.flow_editor.confirm.message.override"),Te,Ue)){L();return}}te()}E(de);let Pe=!1;const Re=()=>{Pe&&(Pe=!1,te())};C(Y=>{Y.filter(ge=>ge.type==="select").filter(ge=>!Z(ge.id)).sort((ge,fe)=>ge.selected===fe.selected?0:ge.selected?1:-1).forEach(ge=>{W(ge.selected?ge.id:void 0)});let me=!1;Y.forEach(ge=>{if(ge.type==="remove"){if(Z(ge.id))return;me=!0,U(ge.id,!1)}}),me&&!Pe&&(Pe=!0,queueMicrotask(Re))}),y(({node:Y,event:_e})=>{var Be,be,$e;if(!Y)return;if(Z(Y.id)){const Te=Y.id;Ce(Te),$(void 0);const Ue=H.value.get(Te);if(!Ue)return;const Fe=Ue.position??{...Y.position},Je=Y.position.x-Fe.x,Qt=Y.position.y-Fe.y;ie(Te,Y.position,Je,Qt);const Qe=le.value.get(Ue.ownerId);Qe&&De(Qe.id,!1);return}const me=Y.id;he("canvas"),Ce(me);const ge=Y.parentNode;let fe={...Y.position};if(ge&&Z(ge)){const Te=H.value.get(ge);Te!=null&&Te.position&&(fe={x:Te.position.x+Y.position.x,y:Te.position.y+Y.position.y})}if(v(me,fe,!1),!va(D(me))){const Te={x:fe.x,y:fe.y,width:((Be=Y.dimensions)==null?void 0:Be.width)??0,height:((be=Y.dimensions)==null?void 0:be.height)??0},Ue=_e&&"clientX"in _e?O({x:_e.clientX,y:_e.clientY}):void 0,Fe={x:Te.x+Te.width/2,y:Te.y+Te.height/2};$(Ue??Fe)}const Ae=ge&&Z(ge)?ge:($e=le.value.get(me))==null?void 0:$e.id;Ae&&De(Ae,!1)}),w(({node:Y})=>{var Ae;if(!Y)return;if(Ce(void 0),Z(Y.id)){q();return}const _e=Y.id,me=Y.parentNode;let ge={...Y.position};if(me&&Z(me)){const Be=H.value.get(me);Be!=null&&Be.position&&(ge={x:Be.position.x+Y.position.x,y:Be.position.y+Y.position.y})}v(_e,ge,!1);const fe=me&&Z(me)?me:(Ae=le.value.get(_e))==null?void 0:Ae.id;fe&&De(fe,!1),Zt(_e),K(),q()}),b(Y=>{Y.filter(ge=>ge.type==="select").sort((ge,fe)=>ge.selected===fe.selected?0:ge.selected?1:-1).forEach(ge=>{se(ge.id)||(qd=ge.selected?ge.id:void 0,A(fe=>fe.map(Ae=>Ae.id!==ge.id||!Ae.markerEnd?Ae:Ar({...Ae,zIndex:ge.selected?1:void 0}))))});let me=!1;Y.forEach(ge=>{if(ge.type==="remove"){if(se(ge.id))return;me=!0,x(ge.id,!1)}}),me&&!Pe&&(Pe=!0,queueMicrotask(Re))}),N(({edge:Y})=>{se(Y.id)||(di=Y.id,A(_e=>_e.map(me=>me.id!==Y.id?me:Ar(me))))}),S(({edge:Y})=>{se(Y.id)||(di=void 0,A(_e=>_e.map(me=>me.id!==Y.id?me:Ar(me))))}),k(({edge:Y,connection:_e})=>{se(Y.id)||(x(Y.id,!1),de(_e))});function ne(Y){_({...Se.value,...Y})}async function Q(Y){return W(Y),new Promise(_e=>setTimeout(()=>{const me=g(Y);T(me?[me]:[]),_e()},0))}function lt(Y){const _e=R.value.filter(({type:Fe})=>Fe!=="group"),me=_e.find(({id:Fe})=>Fe===Y);if(!me)throw new Error(`Node ${Y} not found`);const{x:ge,y:fe}=me.data.position,{width:Ae,height:Be}=me.dimensions,be=fe,$e=fe+Be,Te=_e.filter(({id:Fe})=>Fe!==Y).filter(({data:{position:{y:Fe}},dimensions:{height:Je}})=>Fe<$e&&Fe+Je>be).map(({data:{position:{x:Fe}},dimensions:{width:Je}})=>({left:Fe,right:Fe+Je})).sort((Fe,Je)=>Fe.left-Je.left);let Ue=ge+Ae+c;for(const{left:Fe,right:Je}of Te)if(!(Je<=Ue)){if(Ue+Ae<=Fe)return{x:Ue,y:be};Ue=Math.max(Ue,Je)+c}return{x:Ue,y:be}}function cn(Y){if(!Y)return;const _e=g(Y);if(!_e)throw new Error(`Node ${Y} not found`);const{position:{x:me},dimensions:{width:ge}}=_e,fe=me+ge,{viewport:Ae,dimensions:Be,setViewport:be}=u,{x:$e,y:Te,zoom:Ue}=Ae.value,{width:Fe}=Be.value,Je=me*Ue+$e,Qt=fe*Ue+$e,Qe=Fe-qc-c;if(Qt<=Qe)return;let Tt=Qe-Qt;Je+Tt<0&&(Tt=-Je),Tt!==0&&be({x:$e+Tt,y:Te,zoom:Ue},{duration:dE})}function Zt(Y){if(!xe.value)return!1;const{nodeId:_e,branch:me}=BC(xe.value),ge=G.addMember(_e,me,Y,{commit:!1});return $(void 0),ge}return{vueFlowStore:u,editorStore:p,readonly:a,nodes:V,edges:z,selectNode:Q,autoLayout:re,placeToRight:lt,scrollRightToReveal:cn,fitViewParams:Se,fitView:ne,groupDrop:{activeGroupId:xe,startPanelDrag:()=>he("panel"),endPanelDrag:K,updateActiveGroup:$,attachNodeToActiveGroup:Zt}}});let Yn=null;function C1(){var n;if(Yn)return Yn;if(typeof navigator>"u")return Yn="windows";const t=((n=navigator.userAgentData)==null?void 0:n.platform)||navigator.platform||navigator.userAgent;return/Mac|iPhone|iPad|iPod/i.test(t)?Yn="mac":/Linux/i.test(t)&&!/Android/i.test(t)?Yn="linux":Yn="windows"}const E1={Shift:"⇧",Alt:"⌥",Ctrl:"⌃",Meta:"⌘",Mod:"⌘",Enter:"↩",ArrowUp:"↑",ArrowDown:"↓",ArrowLeft:"←",ArrowRight:"→",Tab:"⇥",Esc:"⎋",Space:"Space",Delete:"⌫"},N1={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"},x1={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 A1(t,n={}){const o=n.platform??C1(),r=n.joiner??(o==="mac"?"":" + "),a=o==="mac"?E1:o==="linux"?x1:N1;return(Array.isArray(t)?t:t[o]).map(l=>l in a?a[l]:l).join(r)}const S1={key:0,class:"label"},P1={class:"keys"},Sr=ye(e.defineComponent({__name:"HotkeyLabel",props:{label:{},keys:{},reverse:{type:Boolean}},setup(t){const n=A1(t.keys);return(o,r)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["dk-hotkey-label",{reverse:t.reverse}])},[t.label?(e.openBlock(),e.createElementBlock("span",S1,e.toDisplayString(t.label),1)):e.createCommentVNode("",!0),e.createElementVNode("kbd",P1,e.toDisplayString(e.unref(n)),1)],2))}}),[["__scopeId","data-v-cc70d56b"]]),I1=["onClick"],T1={key:0,class:"additional-count"},Gd=24,O1=16,Pr=ye(e.defineComponent({__name:"NodePortal",props:{expanded:{type:Boolean,default:()=>{}},reversed:{type:Boolean},targets:{}},setup(t){const n=Number.parseFloat(M_)||0,o={target:"body"},{portalSelection:r,selectPortalEdge:a}=Ze(),i=e.ref(!1),l=e.computed(()=>{const g=r.value;return g?t.targets.some(_=>_.edgeId===g):!1}),s=e.computed(()=>t.expanded!==void 0?t.expanded||l.value:i.value||l.value),c=()=>Gd*t.targets.length+n*(t.targets.length-1),u=e.computed(()=>({width:s.value?`${c()}px`:"fit-content"})),p=g=>{a(g)},d=g=>r.value===g,f=e.computed(()=>t.targets.map((g,_)=>{var y;const h=(Gd+n)*_;return{edgeId:g.edgeId,key:`${g.node.id}-${g.fieldName??"node"}-${_}`,icon:(y=mt[g.node.type])==null?void 0:y.icon,tooltip:g.fieldName?`${g.node.name}.${g.fieldName}`:g.node.name,highlighted:d(g.edgeId),tooltipEl:null,style:_===0?{width:"fit-content",zIndex:t.targets.length}:{position:"absolute",...t.reversed?{left:`${h}px`,transform:s.value?"translateX(0)":`translateX(-${h}px)`}:{right:0,transform:s.value?`translateX(-${h}px)`:"translateX(0)"},zIndex:t.targets.length-_}}})),m=e.computed(()=>Math.max(t.targets.length-1,0));return(g,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dk-node-portal",{expanded:s.value,reversed:t.reversed}]),onClick:_[0]||(_[0]=e.withModifiers(()=>{},["stop"])),onDragstart:_[1]||(_[1]=e.withModifiers(()=>{},["stop"])),onMousedown:_[2]||(_[2]=e.withModifiers(()=>{},["stop"])),onMouseenter:_[3]||(_[3]=h=>i.value=!0),onMouseleave:_[4]||(_[4]=h=>i.value=!1)},[e.createElementVNode("div",{class:"target-boxes",style:e.normalizeStyle(u.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(h,y)=>(e.openBlock(),e.createBlock(e.unref(Ve.KTooltip),{key:h.key,class:"target-box-wrapper","kpop-attributes":o,placement:"top",style:e.normalizeStyle(h.style),text:h.tooltip},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["target-box",{highlighted:h.highlighted}]),onClick:e.withModifiers(w=>p(h.edgeId),["stop"])},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(h.icon),{color:e.unref(Dn),size:O1},null,8,["color"])),y===0&&m.value>0?(e.openBlock(),e.createElementBlock("span",T1," +"+e.toDisplayString(m.value),1)):e.createCommentVNode("",!0)],10,I1)]),_:2},1032,["style","text"]))),128))],4)],34))}}),[["__scopeId","data-v-926821a3"]]),Ir=ye(e.defineComponent({__name:"HandleTwig",props:{color:{},position:{default:()=>qe.Position.Left},size:{default:()=>Number.parseFloat(_s)},type:{}},setup(t){e.useCssVars(o=>({v753622c4:o.color}));const n=e.computed(()=>({width:`${t.size}px`,minWidth:`${t.size}px`}));return(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["handle-twig",[t.type,t.position===e.unref(qe.Position).Left?"left":"right"]]),style:e.normalizeStyle(n.value)},null,6))}}),[["__scopeId","data-v-eb2bc3f2"]]),zd=ye(e.defineComponent({__name:"NodeBadge",props:{type:{},size:{},iconOnly:{type:Boolean}},setup(t){e.useCssVars(r=>{var a,i;return{b58c4842:(a=n.value.colors)==null?void 0:a.background,v6ae9eff4:(i=n.value.colors)==null?void 0:i.foreground}});const n=e.computed(()=>mt[t.type]),o=e.computed(()=>TC(t.type));return(r,a)=>{var l;const i=e.resolveComponent("KBadge");return e.openBlock(),e.createBlock(i,{appearance:"neutral",class:e.normalizeClass(["dk-node-badge",{"icon-only":t.iconOnly,"has-colors":!!n.value.colors}]),size:t.size},e.createSlots({default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(o.value),1)]),_:2},[(l=n.value)!=null&&l.icon?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value.icon)))]),key:"0"}:void 0]),1032,["class","size"])}}}),[["__scopeId","data-v-05435e4f"]]),V1={class:"body"},B1={class:"name"},$1={class:"handle"},R1={class:"handle-label-wrapper"},F1={class:"handle-label-wrapper"},L1={class:"handle-label text"},D1={class:"handle"},M1={class:"handle-label-wrapper"},j1={class:"handle-label-wrapper"},v1={class:"handle-label text"},U1={key:2,class:"branch-handles"},K1={class:"handle-label-wrapper"},q1={class:"handle-label text"},Hd=ye(e.defineComponent({__name:"FlowNode",props:{data:{},error:{type:Boolean},readonly:{type:Boolean}},setup(t){const{t:n}=et.createI18n("en-us",tt),o=w1(),{getInEdgesByNodeId:r,getOutEdgesByNodeId:a,getNodeById:i,toggleExpanded:l,duplicateNode:s,removeNode:c,propertiesPanelOpen:u,branchGroups:p}=Ze(),d=e.computed(()=>zn(t.data.type)),f=e.computed(()=>t.data.fields.input.length>0),m=e.computed(()=>t.data.fields.output.length>0),g=e.computed(()=>f.value&&r(t.data.id).every(x=>x.targetField===void 0)),_=e.computed(()=>m.value&&a(t.data.id).every(x=>x.sourceField===void 0)),h=e.computed(()=>t.data.expanded.input??!1),y=e.computed(()=>t.data.expanded.output??!1),w=e.computed(()=>{var x,M,G;return((G=(M=(x=d.value.io)==null?void 0:x.next)==null?void 0:M.branches)==null?void 0:G.map(({name:te})=>te))??[]}),E=e.computed(()=>w.value.length>0),C=e.computed(()=>p.findMembership(t.data.id)),b=e.computed(()=>{var x,M;if(t.data.type==="property"){const G=(x=t.data.config)==null?void 0:x.property;return Ja(G)}return(M=d.value.io)==null?void 0:M.input}),k=e.computed(()=>{var x,M;if(t.data.type==="property"){const G=(x=t.data.config)==null?void 0:x.property;return Ya(G)}return(M=d.value.io)==null?void 0:M.output}),N=e.computed(()=>va(t.data)),S=e.computed(()=>t.data.phase==="response"),R=e.computed(()=>t.data.phase==="request"?qe.Position.Left:qe.Position.Right),P=e.computed(()=>t.data.phase==="request"?qe.Position.Right:qe.Position.Left),A=e.computed(()=>t.data.phase==="request"?qe.Position.Right:qe.Position.Left),T=e.computed(()=>N.value?n(`plugins.free-form.datakit.flow_editor.node_types.${t.data.type}.name`):t.data.name),O=e.computed(()=>N.value?N_:ya);function I(x){return x==="input"?S.value:!S.value}function q(x){const M=new Map,G=x==="input"?r(t.data.id):a(t.data.id);for(const te of G){const L=i(x==="input"?te.source:te.target);if(!L)continue;if(x==="input"){const Ce=L.type==="vault",we=L.phase!==t.data.phase,X=p.isEdgeEnteringGroup(L.id,t.data.id);if(!(Ce||we||X))continue}else{const Ce=L.phase!==t.data.phase,we=p.isEdgeEnteringGroup(t.data.id,L.id);if(!(Ce||we))continue}const H=x==="input"?te.targetField||"input":te.sourceField||"output";let Z;if(x==="input"&&te.sourceField){const Ce=L.fields.output.find(we=>we.id===te.sourceField);Z=Ce==null?void 0:Ce.name}else if(x==="output"&&te.targetField){const Ce=L.fields.input.find(we=>we.id===te.targetField);Z=Ce==null?void 0:Ce.name}const Ne={edgeId:te.id,node:L,fieldName:Z},Oe=M.get(H);Oe?Oe.push(Ne):M.set(H,[Ne])}return M}const v=e.computed(()=>q("input")),W=e.computed(()=>q("output"));function U(x){!o||o.readonly||x==="input"&&!g.value||x==="output"&&!_.value||l(t.data.id,x)}async function D(){if(!o||o.readonly)return;const x=s(t.data.id,o.placeToRight(t.data.id));await o.selectNode(x),o.scrollRightToReveal(x),u.value=!0}function j(){p.removeMember(t.data.id)}return e.watch(g,x=>{x||l(t.data.id,"input",!0,!0,"*")},{immediate:!0}),e.watch(_,x=>{x||l(t.data.id,"output",!0,!0,"*")},{immediate:!0}),e.watch(()=>t.data.fields.input,(x,M)=>{en(x,M)||l(t.data.id,"input",x.length>0,!0,"*")},{deep:!0}),e.watch(()=>t.data.fields.output,(x,M)=>{en(x,M)||l(t.data.id,"output",x.length>0,!0,"*")},{deep:!0}),(x,M)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dk-flow-node",{reversed:S.value,implicit:N.value,readonly:t.readonly}])},[e.createElementVNode("div",V1,[N.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(Ve.KTooltip),{key:0,class:"badge",placement:"top",text:t.data.type},{default:e.withCtx(()=>[e.createVNode(zd,{"icon-only":"",size:"small",type:t.data.type},null,8,["type"])]),_:1},8,["text"])),e.createElementVNode("div",B1,e.toDisplayString(T.value),1),t.error?(e.openBlock(),e.createBlock(e.unref(ue.WarningIcon),{key:1,class:"error-icon",color:e.unref(_a),size:16},null,8,["color"])):e.createCommentVNode("",!0),N.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(Ve.KDropdown),{key:2,class:"menu",disabled:t.readonly,"kpop-attributes":{offset:"4px",target:"body",popoverClasses:"dk-flow-node-menu"},width:"160",onClick:M[1]||(M[1]=e.withModifiers(()=>{},["stop"]))},{items:e.withCtx(()=>[e.createVNode(e.unref(Ve.KDropdownItem),{onClick:D},{default:e.withCtx(()=>[e.createVNode(Sr,{keys:e.unref(_r).duplicate,label:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.duplicate")},null,8,["keys","label"])]),_:1}),C.value?(e.openBlock(),e.createBlock(e.unref(Ve.KDropdownItem),{key:0,onClick:j},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(Ve.KDropdownItem),{danger:"",onClick:M[0]||(M[0]=G=>e.unref(c)(t.data.id))},{default:e.withCtx(()=>[e.createVNode(Sr,{keys:e.unref(_r).delete,label:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.delete")},null,8,["keys","label"])]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(Ve.KButton),{appearance:"tertiary",class:"menu-trigger",icon:"",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.MoreIcon),{color:e.unref(co)},null,8,["color"])]),_:1})]),_:1},8,["disabled"]))]),e.createElementVNode("div",{class:e.normalizeClass(["handles",{reversed:S.value}])},[b.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["input-handles",{"has-fields":f.value}])},[e.createElementVNode("div",$1,[e.createVNode(e.unref(qe.Handle),{id:"input",position:R.value,type:"target"},null,8,["position"]),v.value.has("input")?(e.openBlock(),e.createBlock(Pr,{key:0,mode:"input",reversed:I("input"),targets:v.value.get("input")},null,8,["reversed","targets"])):e.createCommentVNode("",!0),e.createElementVNode("div",R1,[e.createElementVNode("div",{class:e.normalizeClass(["handle-label trigger",{collapsible:g.value}]),onClick:M[2]||(M[2]=e.withModifiers(G=>U("input"),["stop"]))},[M[4]||(M[4]=e.createElementVNode("div",{class:"text"}," inputs ",-1)),f.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[h.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(ue.UnfoldMoreIcon),{key:0,size:e.unref(Qo)},null,8,["size"])),h.value?(e.openBlock(),e.createBlock(e.unref(ue.UnfoldLessIcon),{key:1,color:g.value?void 0:e.unref(ys),size:e.unref(Qo)},null,8,["color","size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2),f.value&&h.value?(e.openBlock(),e.createBlock(Ir,{key:0,color:O.value,position:R.value,type:"bar"},null,8,["color","position"])):e.createCommentVNode("",!0)])]),f.value&&h.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.data.fields.input,(G,te)=>(e.openBlock(),e.createElementBlock("div",{key:`inputs-${G.id}`,class:"handle indented"},[e.createVNode(e.unref(qe.Handle),{id:`inputs@${G.id}`,position:R.value,type:"target"},null,8,["id","position"]),v.value.has(G.id)?(e.openBlock(),e.createBlock(Pr,{key:0,mode:"input",reversed:I("input"),targets:v.value.get(G.id)},null,8,["reversed","targets"])):e.createCommentVNode("",!0),e.createElementVNode("div",F1,[e.createElementVNode("div",L1,e.toDisplayString(G.name),1),e.createVNode(Ir,{color:O.value,position:R.value,type:te<t.data.fields.input.length-1?"trident":"corner"},null,8,["color","position","type"])])]))),128)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),k.value?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["output-handles",{"has-fields":m.value}])},[e.createElementVNode("div",D1,[e.createElementVNode("div",M1,[e.createElementVNode("div",{class:e.normalizeClass(["handle-label trigger",{collapsible:_.value}]),onClick:M[3]||(M[3]=e.withModifiers(G=>U("output"),["stop"]))},[M[5]||(M[5]=e.createElementVNode("div",{class:"text"}," outputs ",-1)),m.value?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[y.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(ue.UnfoldMoreIcon),{key:0,size:e.unref(Qo)},null,8,["size"])),y.value?(e.openBlock(),e.createBlock(e.unref(ue.UnfoldLessIcon),{key:1,color:_.value?void 0:e.unref(ys),size:e.unref(Qo)},null,8,["color","size"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],2),m.value&&y.value?(e.openBlock(),e.createBlock(Ir,{key:0,color:O.value,position:P.value,type:"bar"},null,8,["color","position"])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(qe.Handle),{id:"output",position:P.value,type:"source"},null,8,["position"]),W.value.has("output")?(e.openBlock(),e.createBlock(Pr,{key:0,mode:"output",reversed:I("output"),targets:W.value.get("output")},null,8,["reversed","targets"])):e.createCommentVNode("",!0)]),m.value&&y.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.data.fields.output,(G,te)=>(e.openBlock(),e.createElementBlock("div",{key:`outputs-${G.id}`,class:"handle indented"},[e.createElementVNode("div",j1,[e.createElementVNode("div",v1,e.toDisplayString(G.name),1),e.createVNode(Ir,{color:O.value,position:P.value,type:te<t.data.fields.output.length-1?"trident":"corner"},null,8,["color","position","type"])]),e.createVNode(e.unref(qe.Handle),{id:`outputs@${G.id}`,position:P.value,type:"source"},null,8,["id","position"]),W.value.has(G.id)?(e.openBlock(),e.createBlock(Pr,{key:0,mode:"output",reversed:I("output"),targets:W.value.get(G.id)},null,8,["reversed","targets"])):e.createCommentVNode("",!0)]))),128)):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0),E.value?(e.openBlock(),e.createElementBlock("div",U1,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,G=>(e.openBlock(),e.createElementBlock("div",{key:`branch-${G}`,class:"handle"},[e.createElementVNode("div",K1,[e.createElementVNode("div",q1,e.toDisplayString(G),1)]),e.createVNode(e.unref(qe.Handle),{id:`branch@${G}`,connectable:!1,position:A.value,type:"source"},null,8,["id","position"])]))),128))])):e.createCommentVNode("",!0)],2)],2))}}),[["__scopeId","data-v-c0706d4a"]]),G1=ye(e.defineComponent({__name:"GroupNode",props:{data:{},active:{type:Boolean}},setup(t){const n=t,o=e.computed(()=>n.data.phase==="response"),r=e.computed(()=>o.value?qe.Position.Right:qe.Position.Left);return(a,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dk-branch-group-node",{reversed:o.value,"drop-target":t.active}])},[e.createVNode(e.unref(qe.Handle),{id:"input",connectable:!1,position:r.value,type:"target"},null,8,["position"])],2))}}),[["__scopeId","data-v-61116224"]]),Wd=ye(e.defineComponent({__name:"FlowCanvas",props:{flowId:{},phase:{},mode:{}},emits:["initialized","nodes-change"],setup(t,{expose:n,emit:o}){const r=o,a=e.useTemplateRef("flowCanvas"),i=Ye.useElementBounding(a),{i18n:{t:l}}=Le(),{vueFlowStore:s,editorStore:c,autoLayout:u,fitViewParams:p,fitView:d,selectNode:f,placeToRight:m,scrollRightToReveal:g,groupDrop:_}=k1({phase:t.phase,flowId:t.flowId,layoutOptions:{viewport:{width:i.width,height:i.height}},readonly:t.mode!=="edit"}),{addNode:h,propertiesPanelOpen:y,invalidConfigNodeIds:w,selectedNode:E,duplicateNode:C,commit:b,selectPortalEdge:k}=c,{screenToFlowCoordinate:N,zoomIn:S,zoomOut:R,viewport:P,maxZoom:A,minZoom:T}=s,{activeGroupId:O,startPanelDrag:I,endPanelDrag:q,updateActiveGroup:v,attachNodeToActiveGroup:W}=_;function U(L){var Z;const H=(Z=L.dataTransfer)==null?void 0:Z.types.find(Ne=>Ne.startsWith(`${No}/`));if(H)return H.replace(`${No}/`,"")}function D(L){var H;if(t.mode==="edit"){if(((H=L==null?void 0:L.node)==null?void 0:H.type)==="group"){f(void 0),k(void 0);return}y.value=!0}}function j(L){t.mode==="edit"&&(L.preventDefault(),v(N({x:L.clientX,y:L.clientY})))}function x(L){var J;if(t.mode!=="edit")return;const H=(J=L.dataTransfer)==null?void 0:J.getData(No);if(!H)return;L.preventDefault();const Z=JSON.parse(H);if(Z.action!=="create-node")return;const Ne=N({x:L.clientX,y:L.clientY}),{type:Oe,anchor:Ce}=Z.data,we={type:Oe,phase:t.phase,position:{x:Ne.x-Ce.offsetX,y:Ne.y-Ce.offsetY}},X=h(we,!1);if(!X){q();return}W(X),b(),f(X),y.value=!0,q()}async function M(){await u(),setTimeout(()=>d(),0)}const G=e.computed(()=>{if(t.mode==="preview")return[];const L=[{name:"zoom_in",icon:ue.AddIcon,action:S,disabled:P.value.zoom>=A.value},{name:"zoom_out",icon:ue.RemoveIcon,action:R,disabled:P.value.zoom<=T.value},{name:"fit_view",icon:ue.FullscreenIcon,action:d}];return t.mode==="edit"&&L.push({name:"auto_layout",icon:ue.AutoLayoutIcon,action:M}),L});t.mode==="edit"&&(Ye.useEventListener("dragstart",L=>{U(L)&&I()}),Ye.useEventListener("dragend",()=>{q()}));async function te(){const L=E.value;if(t.mode!=="edit"||!L||L.phase!==t.phase)return;const H=C(L.id,m(L.id));H&&(await f(H),y.value=!0,g(H))}return Uc({enabled:e.computed(()=>!!E.value&&t.mode==="edit"&&E.value.phase===t.phase),duplicate:te}),n({autoLayout:u,fitView:d}),(L,H)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"flowCanvas",ref:a,class:"dk-flow-canvas"},[e.createVNode(e.unref(qe.VueFlow),{id:t.flowId,class:e.normalizeClass(["flow",{readonly:t.mode!=="edit"}]),"connect-on-click":!1,"elements-selectable":t.mode==="edit","max-zoom":e.unref(sE),"min-zoom":e.unref(cE),"multi-selection-key-code":null,"nodes-connectable":t.mode==="edit","nodes-draggable":t.mode==="edit","pan-on-drag":t.mode==="preview"?!1:void 0,"pan-on-scroll":t.mode!=="edit"?!1:void 0,"zoom-on-double-click":t.mode!=="edit"?!1:void 0,"zoom-on-pinch":t.mode!=="edit"?!1:void 0,"zoom-on-scroll":t.mode!=="edit"?!1:void 0,onDragover:j,onDrop:x,onNodeClick:D,onNodesChange:H[0]||(H[0]=Z=>r("nodes-change")),onNodesInitialized:H[1]||(H[1]=Z=>r("initialized"))},{"node-flow":e.withCtx(({data:Z})=>[e.createVNode(Hd,{data:Z,error:e.unref(w).has(Z.id),readonly:t.mode!=="edit"},null,8,["data","error","readonly"])]),"node-group":e.withCtx(({data:Z})=>[e.createVNode(G1,{active:e.unref(O)===Z.id,data:Z},null,8,["active","data"])]),default:e.withCtx(()=>[e.createVNode(e.unref(ku.Background)),e.createVNode(e.unref(Si.Controls),{"fit-view-params":e.unref(p),position:"bottom-left","show-fit-view":!1,"show-interactive":!1,"show-zoom":!1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(G.value,Z=>(e.openBlock(),e.createBlock(e.unref(Ve.KTooltip),{key:Z.name,placement:"right",text:e.unref(l)(`plugins.free-form.datakit.flow_editor.actions.${Z.name}`)},{default:e.withCtx(()=>[e.createVNode(e.unref(Si.ControlButton),{disabled:Z.disabled,onClick:e.withModifiers(Z.action,["stop"])},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Z.icon),{size:18}))]),_:2},1032,["disabled","onClick"])]),_:2},1032,["text"]))),128))]),_:1},8,["fit-view-params"])]),_:1},8,["id","class","elements-selectable","max-zoom","min-zoom","nodes-connectable","nodes-draggable","pan-on-drag","pan-on-scroll","zoom-on-double-click","zoom-on-pinch","zoom-on-scroll"])],512))}}),[["__scopeId","data-v-47761eb0"]]),z1={class:"label-content"},H1={class:"count"},W1={class:"label-content"},Y1={class:"count"},Yd=.5,ui=.03,J1=30,fi=ye(e.defineComponent({__name:"FlowPanels",props:{inactive:{type:Boolean},mode:{},resizable:{type:Boolean}},setup(t){const{t:n}=et.createI18n("en-us",tt),o=e.ref(!1),r=e.ref(!1),{responsePanelCollapsed:a}=hr(),{state:i,configNodeCounts:l,clearPendingLayout:s,setPendingFitView:c,commit:u,clear:p,portalSelection:d}=Ze(),f=e.useId(),m=`${f}-request`,g=`${f}-response`,_=qe.useVueFlow(m),h=qe.useVueFlow(g);function y(we,X){const{onPaneClick:J,onNodesChange:le,onEdgesChange:ae,getSelectedNodes:Ee,getSelectedEdges:se}=we,{removeSelectedElements:De}=X;function ie(pe){if(!pe){De();return}pe.some(ce=>ce.type==="select")&&Ee.value.length+se.value.length>0&&De()}le(ie),ae(ie),J(()=>ie())}y(_,h),y(h,_),e.watch(d,we=>{we&&(_.removeSelectedElements(),h.removeSelectedElements())});const w=e.useTemplateRef("flowPanels"),E=e.useTemplateRef("requestLabel"),C=e.useTemplateRef("requestCanvasContainer"),b=e.useTemplateRef("requestFlow"),k=e.useTemplateRef("resizeHandle"),N=e.useTemplateRef("responseLabel"),S=e.useTemplateRef("responseCanvasContainer"),R=e.useTemplateRef("responseFlow"),P=Ye.useElementBounding(w),A=Ye.useElementBounding(E),T=Ye.useElementBounding(C),O=Ye.useElementBounding(k),I=Ye.useElementBounding(N),q=Ye.useElementBounding(S),v=e.computed(()=>Math.max(J1,P.height.value*ui)),W=e.computed(()=>P.height.value-A.height.value-O.height.value-I.height.value),U=e.computed(()=>{const we=W.value;return we?Math.max(ui,v.value/we):ui}),D=e.ref(Yd),j=e.computed(()=>`${D.value*100}%`),x=e.computed(()=>`${(1-D.value)*100}%`),M=e.computed(()=>D.value<=U.value),G=e.computed(()=>1-D.value<=U.value);function te(we,{persist:X=!0}={}){const J=Math.min(1,Math.max(0,we));D.value=J,X&&t.mode==="edit"&&(a.value=G.value)}function L(we,X=!0){te(we?1:Yd,{persist:X})}function H(we=!0){te(0,{persist:we})}if(t.mode==="edit"){const we=l.value.response===0,X=a.value;L(we||X,!1)}else e.watch(()=>l.value.response,we=>{L(we===0,!1)},{immediate:!0});const Z=()=>{t.resizable&&(M.value?L(!1):H())},Ne=()=>{t.resizable&&L(!G.value)},{isDragging:Oe}=Ye.useDraggable(k,{onMove(we){if(!t.resizable)return;const X=Math.max(0,we.y-T.top.value),J=Math.min(1,Math.max(0,X/W.value));te(J,{persist:!1})},onEnd(){t.resizable&&(T.height.value<v.value?H():q.height.value<v.value?L(!0):te(D.value))}});function Ce(){e.nextTick(()=>{var we,X;(we=b.value)==null||we.fitView(),(X=R.value)==null||X.fitView()})}return e.watch([o,r,()=>i.value.pendingLayout,()=>i.value.pendingFitView],([we,X,J,le])=>{t.inactive||!we||!X||!J&&!le||(J&&s(),le&&c(!1),setTimeout(async()=>{var ae,Ee;J&&(await((ae=b.value)==null?void 0:ae.autoLayout(!1)),await((Ee=R.value)==null?void 0:Ee.autoLayout(!1)),u("*"),J==="clearHistory"&&p()),le&&setTimeout(()=>Ce(),0)},0))}),(we,X)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"flowPanels",ref:w,class:"flow-panels"},[e.createElementVNode("div",{ref_key:"requestLabel",ref:E,class:e.normalizeClass(["label request",{resizable:t.resizable}]),onClick:Z},[t.resizable?(e.openBlock(),e.createBlock(e.unref(ue.ChevronDownIcon),{key:0,class:e.normalizeClass(["icon",{collapsed:M.value}])},null,8,["class"])):e.createCommentVNode("",!0),e.createElementVNode("div",z1,[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.request"))+" ",1),e.createElementVNode("span",H1,[e.unref(l).request===1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" ("+e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" ("+e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:e.unref(l).request}))+") ",1)],64))])])],2),e.createElementVNode("div",{ref_key:"requestCanvasContainer",ref:C,class:e.normalizeClass(["canvas",{dragging:e.unref(Oe)}]),style:e.normalizeStyle({flexBasis:j.value})},[e.createVNode(Wd,{ref_key:"requestFlow",ref:b,"flow-id":m,mode:t.mode,phase:"request",onInitialized:X[0]||(X[0]=J=>o.value=!0),onNodesChange:X[1]||(X[1]=J=>o.value=!1)},null,8,["mode"])],6),e.createElementVNode("div",{ref_key:"resizeHandle",ref:k,class:e.normalizeClass(["resize-handle",{resizable:t.resizable}])},null,2),e.createElementVNode("div",{ref_key:"responseLabel",ref:N,class:e.normalizeClass(["label response",{dragging:e.unref(Oe),resizable:t.resizable}]),onClick:Ne},[t.resizable?(e.openBlock(),e.createBlock(e.unref(ue.ChevronDownIcon),{key:0,class:e.normalizeClass(["icon",{collapsed:G.value}])},null,8,["class"])):e.createCommentVNode("",!0),e.createElementVNode("div",W1,[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.response"))+" ",1),e.createElementVNode("span",Y1,[e.unref(l).response===1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(" ("+e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_singular"))+") ",1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(" ("+e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.canvas_panel.node_count_plural",{count:e.unref(l).response}))+") ",1)],64))])])],2),e.createElementVNode("div",{ref_key:"responseCanvasContainer",ref:S,class:e.normalizeClass(["canvas response",{dragging:e.unref(Oe)}]),style:e.normalizeStyle({flexBasis:x.value})},[e.createVNode(Wd,{ref_key:"responseFlow",ref:R,"flow-id":g,mode:t.mode,phase:"response",onInitialized:X[2]||(X[2]=J=>r.value=!0),onNodesChange:X[3]||(X[3]=J=>r.value=!1)},null,8,["mode"])],6)],512))}}),[["__scopeId","data-v-3d68b40b"]]),X1={class:"dk-confirm-modal-body"},Z1={class:"connections"},Q1=ye(e.defineComponent({__name:"ConflictModal",props:{title:{},message:{},addedConnections:{},removedConnections:{}},emits:["cancel","confirm"],setup(t,{expose:n,emit:o}){const{i18n:{t:r}}=Le(),a=o,i=e.ref(!1),l=e.ref(t.message),s=e.ref(t.addedConnections??[]),c=e.ref(t.removedConnections??[]);let u=null;function p(){i.value=!1,a("cancel"),u==null||u(!1)}function d(){i.value=!1,a("confirm"),u==null||u(!0)}async function f(m,g,_){return l.value=m,s.value=g??[],c.value=_??[],i.value=!0,await new Promise(h=>{u=h})}return n({open:f}),(m,g)=>{const _=e.resolveComponent("KModal");return e.openBlock(),e.createBlock(_,{"action-button-text":e.unref(r)("plugins.free-form.datakit.flow_editor.confirm.proceed"),"close-on-backdrop-click":"","max-width":"660px",title:t.title??e.unref(r)("plugins.free-form.datakit.flow_editor.confirm.title"),visible:i.value,"z-index":9999,onCancel:p,onProceed:d},{default:e.withCtx(()=>[e.createElementVNode("div",X1,[e.createElementVNode("p",null,e.toDisplayString(l.value),1),e.createElementVNode("p",null,e.toDisplayString(e.unref(r)("plugins.free-form.datakit.flow_editor.confirm.message.confirm")),1),e.createElementVNode("div",Z1,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value??[],([h,y])=>(e.openBlock(),e.createElementBlock("div",{key:`${h}-${y}`,class:"connection"},[e.createVNode(e.unref(ue.AddIcon),{color:e.unref(x_)},null,8,["color"]),e.createTextVNode(" "+e.toDisplayString(h)+" → "+e.toDisplayString(y),1)]))),128)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value??[],([h,y])=>(e.openBlock(),e.createElementBlock("div",{key:`${h}-${y}`,class:"connection"},[e.createVNode(e.unref(ue.RemoveIcon),{color:e.unref(_a)},null,8,["color"]),e.createTextVNode(" "+e.toDisplayString(h)+" → "+e.toDisplayString(y),1)]))),128))])])]),_:1},8,["action-button-text","title","visible"])}}}),[["__scopeId","data-v-ac52e1e6"]]),eA={class:"dk-editor-nav"},tA={class:"top"},nA={class:"bottom"},oA=ye(e.defineComponent({__name:"EditorNav",emits:["back"],setup(t,{emit:n}){const{t:o}=et.createI18n("en-us",tt),r=n,a=[{label:o("plugins.free-form.datakit.flow_editor.return_to_config"),icon:ue.ArrowLeftIcon,onClick:()=>r("back")}],{sidePanelExpanded:i}=hr(),l=e.computed(()=>i.value?o("plugins.free-form.datakit.flow_editor.collapse_panel"):o("plugins.free-form.datakit.flow_editor.expand_panel")),s=e.ref(!1);function c(){i.value=!i.value}return(u,p)=>(e.openBlock(),e.createElementBlock("nav",eA,[e.createElementVNode("div",tA,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(a,({label:d,to:f,icon:m,onClick:g})=>e.createVNode(e.unref(Ve.KTooltip),{key:d,"kpop-attributes":{offset:"10px"},label:d,placement:"right"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.unref(Ve.KButton),{key:d,appearance:"none",class:"nav-item",icon:"",to:f,onClick:g},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m),{decorative:"",size:e.unref(fo)},null,8,["size"]))]),_:2},1032,["to","onClick"]))]),_:2},1032,["label"])),64))]),e.createElementVNode("div",nA,[e.createElementVNode("div",{class:e.normalizeClass(["side-panel-toggle",{expanded:e.unref(i)}]),onTransitionend:p[0]||(p[0]=e.withModifiers(d=>s.value=!1,["self"])),onTransitionstart:p[1]||(p[1]=e.withModifiers(d=>s.value=!0,["self"]))},[e.createVNode(e.unref(Ve.KTooltip),{label:s.value?void 0:l.value,placement:e.unref(i)?"left":"right"},{default:e.withCtx(()=>[e.createVNode(e.unref(Ve.KButton),{appearance:"none",class:"nav-item nav-item-toggle",icon:"",size:"large",onClick:c},{default:e.withCtx(()=>[e.unref(i)?(e.openBlock(),e.createBlock(e.unref(ue.ChevronDoubleLeftIcon),{key:0,decorative:"",size:e.unref(fo)},null,8,["size"])):(e.openBlock(),e.createBlock(e.unref(ue.ChevronDoubleRightIcon),{key:1,decorative:"",size:e.unref(fo)},null,8,["size"]))]),_:1})]),_:1},8,["label","placement"])],34)])]))}}),[["__scopeId","data-v-2915b6fa"]]),rA={class:"dk-editor-main"},aA={class:"header"},iA={class:"actions"},lA={class:"settings"},sA={ref:"canvasContainer",class:"body"},cA=ye(e.defineComponent({__name:"EditorMain",setup(t){const{t:n}=et.createI18n("en-us",tt),{modalOpen:o,undo:r,redo:a,canUndo:i,canRedo:l,load:s}=Ze();function c(d){const f=ur[d],m=Mt.load(f,{schema:rn,json:!0});if(typeof m!="object"||m===null)return;const g=m,_={config:{...g,nodes:g.nodes??[]}};s(_,!0)}function u(){o.value=!1}Uc({enabled:o,undo:r,redo:a});const p={maxWidth:"300px",zIndex:1e4};return(d,f)=>(e.openBlock(),e.createElementBlock("div",rA,[e.createElementVNode("header",aA,[e.createElementVNode("div",iA,[e.createVNode(e.unref(Ve.KTooltip),{"z-index":1e4},{content:e.withCtx(()=>[e.createVNode(Sr,{keys:e.unref(_r).undo,label:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.undo"),reverse:""},null,8,["keys","label"])]),default:e.withCtx(()=>[e.createVNode(e.unref(Ve.KButton),{appearance:"tertiary",disabled:!e.unref(i),icon:"",onClick:e.unref(r)},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.UndoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),e.createVNode(e.unref(Ve.KTooltip),{"z-index":1e4},{content:e.withCtx(()=>[e.createVNode(Sr,{keys:e.unref(_r).redo,label:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.redo"),reverse:""},null,8,["keys","label"])]),default:e.withCtx(()=>[e.createVNode(e.unref(Ve.KButton),{appearance:"tertiary",disabled:!e.unref(l),icon:"",onClick:e.unref(a)},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.RedoIcon))]),_:1},8,["disabled","onClick"])]),_:1}),f[0]||(f[0]=e.createElementVNode("div",{class:"divider"},null,-1)),e.createElementVNode("div",lA,[e.createVNode(An,{label:e.unref(n)("plugins.free-form.datakit.flow_editor.debug.label"),"label-attributes":{info:e.unref(n)("plugins.free-form.datakit.flow_editor.debug.description"),tooltipAttributes:p},name:"config.debug"},null,8,["label","label-attributes"])]),f[1]||(f[1]=e.createElementVNode("div",{class:"divider"},null,-1)),e.createVNode(e.unref(Ve.KDropdown),{appearance:"tertiary","kpop-attributes":{placement:"bottom-end",target:"body"},"show-caret":"","trigger-text":e.unref(n)("plugins.free-form.datakit.flow_editor.examples"),width:240},{items:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(ur),(m,g)=>(e.openBlock(),e.createBlock(e.unref(Ve.KDropdownItem),{key:g,onClick:_=>c(g)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)(`plugins.free-form.datakit.examples.${g}`)),1)]),_:2},1032,["onClick"]))),128))]),_:1},8,["trigger-text"]),e.createVNode(e.unref(Ve.KButton),{appearance:"tertiary",target:"_blank",to:"https://developer.konghq.com/plugins/datakit/"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.actions.view_docs"))+" ",1),e.createVNode(e.unref(ue.ExternalLinkIcon))]),_:1}),e.createVNode(e.unref(Ve.KButton),{onClick:u},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.actions.done")),1)]),_:1})])]),e.createElementVNode("div",sA,[e.createVNode(fi,{mode:"edit",resizable:""})],512)]))}}),[["__scopeId","data-v-d23b6f31"]]),dA=["draggable"],uA={class:"icon"},fA={class:"content"},pA={class:"title"},mA={class:"description"},gA=ye(e.defineComponent({__name:"NodePanelItem",props:{type:{},unsupported:{type:Boolean}},emits:["dragstart"],setup(t,{emit:n}){e.useCssVars(c=>({f628e926:e.unref(i),v4a9b9f82:e.unref(l)}));const o=n,{summary:r,icon:a,colors:{background:i,foreground:l}={}}=Da[t.type];function s(c){o("dragstart",c,t.type)}return(c,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["dk-node-panel-item",{[`node-type-${t.type}`]:!0,unsupported:t.unsupported}]),draggable:!t.unsupported,onDragstart:s},[e.createElementVNode("div",uA,[e.createVNode(e.unref(a),{size:16})]),e.createElementVNode("div",fA,[e.createElementVNode("div",pA,e.toDisplayString(t.type),1),e.createElementVNode("div",mA,e.toDisplayString(e.unref(r)),1)])],42,dA))}}),[["__scopeId","data-v-38d156c9"]]),hA={class:"dk-node-panel"},yA={key:0,class:"title"},_A={class:"node-list"},bA={"aria-hidden":"true",class:"preview",inert:""},kA=ye(e.defineComponent({__name:"NodePanel",props:{hideTitle:{type:Boolean}},setup(t){const{t:n}=et.createI18n("en-us",tt),{createNode:o}=Ze(),r=`dk-drag-preview-${e.useId()}`,a=e.shallowRef(),i=e.computed(()=>a.value?[{id:"preview",type:"flow",data:a.value,position:{x:0,y:0}}]:[]),l=async(s,c)=>{var S,R,P;const u=s.currentTarget,{left:p,top:d,width:f,height:m}=u.getBoundingClientRect(),g=s.clientX-p,_=s.clientY-d;a.value=o({type:c}),await e.nextTick();const h=document.querySelector(`#${r}`)||u,y=h.cloneNode(!0);y.classList.add("dk-drag-snapshot");const{offsetWidth:w,offsetHeight:E}=h;Object.assign(y.style,{position:"absolute",top:"-9999px",left:"-9999px",width:`${w}px`,height:`${E}px`}),document.body.appendChild(y);const C=g/f,b=_/m,k={ratioX:C,ratioY:b,offsetX:w*C,offsetY:E*b},N={action:"create-node",data:{type:c,anchor:k}};(S=s.dataTransfer)==null||S.setData(No,JSON.stringify(N)),(R=s.dataTransfer)==null||R.setData(`${No}/${c}`,c),(P=s.dataTransfer)==null||P.setDragImage(y,k.offsetX,k.offsetY),requestAnimationFrame(()=>{y.remove(),a.value=void 0})};return(s,c)=>{const u=e.resolveComponent("KLabel");return e.openBlock(),e.createElementBlock("div",hA,[t.hideTitle?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("h3",yA,[e.createVNode(u,{class:"label",info:e.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.description")},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.node_panel.title")),1)]),_:1},8,["info"])])),e.createElementVNode("div",_A,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Object.keys(e.unref(Da)),p=>(e.openBlock(),e.createBlock(gA,{key:p,type:p,onDragstart:l},null,8,["type"]))),128))]),e.createElementVNode("div",bA,[e.createVNode(e.unref(qe.VueFlow),{nodes:i.value},{"node-flow":e.withCtx(p=>[e.createVNode(Hd,{id:r,data:p.data},null,8,["data"])]),_:1},8,["nodes"])])])}}}),[["__scopeId","data-v-eb57924c"]]);function wA(){const{addField:t,getNodeByName:n,removeField:o,replaceConfig:r,renameField:a,disconnectOutEdges:i,nodeMapByName:l}=Ze(),s=n("vault");if(!s)throw new Error("no vault node");const c=e.computed(()=>{var g;return((g=l.value.get("vault"))==null?void 0:g.config)||{}});return{formData:e.computed(()=>({vault:{...c.value}})),addVault:(g,_)=>{t(s.id,"output",g,!1);const h={...s.config,[g]:_};r(s.id,h)},removeVault:g=>{const _=an(s,"output",g);if(!_)return;const h=s.fields.output.length===1;o(s.id,_.id,!0,!1);const y=tn(s.config,g);r(s.id,y,!h),h&&i(s.id)},updateVault:(g,_,h=!0)=>{const y={...s.config,[g]:_};r(s.id,y,h)},renameVault:(g,_,h=!0)=>{var C;const y=an(s,"output",g);if(!y)return;a(s.id,y.id,_,!1);const w=((C=s.config)==null?void 0:C[g])??"",E={...tn(s.config,g),[_]:w};r(s.id,E,h)}}}const CA=e.defineComponent({__name:"VaultSecretPicker",props:{secretRef:{type:[String,Boolean]},secretName:{},validateName:{type:Function,default:()=>{}},isEditing:{type:Boolean,default:!1}},emits:["proceed","cancel"],setup(t,{emit:n}){const o=n,{i18n:{t:r}}=Me.useI18n(),a=e.inject(je.FORMS_CONFIG),i=e.ref(t.secretName||""),l=e.ref(""),s=e.computed(()=>i.value.trim()?t.validateName(i.value.trim(),t.isEditing)===void 0:!1),c=e.computed(()=>!s.value),u=()=>{const m=i.value.trim(),g=t.validateName(m,t.isEditing);return l.value=g||"",g===void 0},p=()=>{l.value="",u()},d=m=>{u()&&o("proceed",{secretRef:m,secretName:i.value.trim()})},f=()=>{i.value="",l.value="",o("cancel")};return e.watch(()=>t.secretName,m=>{i.value=m||"",l.value=""}),(m,g)=>{const _=e.resolveComponent("KInput"),h=e.resolveComponent("KEmptyState");return e.unref(a)?(e.openBlock(),e.createBlock(e.unref(Xn.VaultSecretPicker),{key:0,"additional-disabled":c.value,config:e.unref(a),"proceed-button-text":e.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.proceed_button_text"),setup:t.secretRef,title:e.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.title"),onCancel:f,onProceed:d},{"form-prefix":e.withCtx(()=>[e.createVNode(_,{"model-value":i.value,"onUpdate:modelValue":[g[0]||(g[0]=y=>i.value=y),p],"data-testid":"vault-secret-picker-secret-name-input",error:!!l.value,"error-message":l.value,label:e.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.label"),"label-attributes":{info:e.unref(r)("plugins.free-form.datakit.flow_editor.vault_secret_picker.secret_name.help")},placeholder:e.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"])):(e.openBlock(),e.createBlock(h,{key:1,"icon-variant":"error",message:e.unref(r)("plugins.free-form.vault_picker.component_error")},null,8,["message"]))}}}),EA={class:"dk-vault-panel"},NA={class:"title"},xA={class:"vault-list"},AA={key:0,class:"vault-list-item"},SA={class:"vault-list-item-key"},PA={class:"vault-list-item-key-text"},IA=ye(e.defineComponent({__name:"VaultField",props:{initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{},name:{}},emits:["update","add","remove","change"],setup(t,{emit:n}){const o=t,r=n,{entries:a,addEntry:i,removeEntry:l}=er(o,r),s=e.ref(null),c=e.ref(null),{i18n:{t:u}}=Me.useI18n(),p=e.computed(()=>new Set(a.value.map(y=>y.key))),d=()=>{const y=i();c.value=y,s.value=y},f=()=>{s.value=null,c.value&&(l(c.value.id),c.value=null)},m=y=>{if(!s.value)throw new Error("no selected entry");const w=s.value.key,E=w!==y.secretName,C=s.value.value!==y.secretRef,b=E||C;s.value.value=y.secretRef,s.value.key=y.secretName,c.value?r("add",y.secretName,y.secretRef):b&&r("update",y.secretName,y.secretRef,E?w:void 0),c.value=null,f()},g=y=>{s.value=y},_=y=>{l(y.id),r("remove",y.key)},h=(y,w)=>{var E;if(!y)return u("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_required_error");if(p.value.has(y)&&!(w&&y===((E=s.value)==null?void 0:E.key)))return u("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.name_exists_error")};return(y,w)=>{var k,N;const E=e.resolveComponent("KButton"),C=e.resolveComponent("KDropdownItem"),b=e.resolveComponent("KDropdown");return e.openBlock(),e.createElementBlock("div",EA,[e.createElementVNode("h3",NA,e.toDisplayString(e.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.title")),1),e.createVNode(E,{appearance:"tertiary",class:"add-button",size:"small",onClick:d},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.add_button")),1)]),_:1}),e.createElementVNode("div",xA,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),S=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:S.id},[S.key?(e.openBlock(),e.createElementBlock("div",AA,[e.createElementVNode("div",SA,[e.createVNode(e.unref(ue.KeyIcon),{color:e.unref(Dn),size:16},null,8,["color"]),e.createElementVNode("div",PA,e.toDisplayString(S.key),1)]),e.createVNode(b,null,{items:e.withCtx(()=>[e.createVNode(C,{onClick:R=>g(S)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1},8,["onClick"]),e.createVNode(C,{danger:"",onClick:R=>_(S)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1},8,["onClick"])]),default:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary",icon:""},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.MoreIcon),{color:e.unref(co)},null,8,["color"])]),_:1})]),_:2},1024)])):e.createCommentVNode("",!0)],64))),128))]),e.createVNode(CA,{"is-editing":!!s.value&&!c.value,"secret-name":(k=s.value)==null?void 0:k.key,"secret-ref":(N=s.value)==null?void 0:N.value,"validate-name":h,onCancel:f,onProceed:m},null,8,["is-editing","secret-name","secret-ref"])])}}}),[["__scopeId","data-v-c9f18d61"]]);function TA(){const{getSchema:t}=Ke();return e.computed(()=>{const n=t("config.resources");if(!n)throw new Error("Failed to get resource schema");const o=zt(n);return o.fields.forEach(r=>{const a=Object.keys(r)[0];if(a==="cache"){const i=r[a];r[a]={...i,fields:[...i.fields,{partial_id:{type:"string"}}]},i.fields.forEach(l=>{const s=Object.keys(l)[0];if(s==="redis"){const c=l[s];l[s]={...c},delete l[s].required}})}}),o})}const OA={class:"dk-cache-panel"},VA={class:"title"},BA={key:0,class:"cache-item"},$A={class:"cache-item-key"},RA={class:"cache-item-key-text"},FA={class:"dk-resource-cache-form"},LA={key:1},DA={key:2,class:"dk-cache-inline-redis"},MA=ye(e.defineComponent({__name:"CacheField",props:{strategy:{}},emits:["update","remove","cancel"],setup(t,{emit:n}){const o=n,{getDefault:r,formData:a}=Ke(),i=yt("cache");if(i.error)throw new Error("No cache schema");const l=e.ref(!1),{i18n:{t:s}}=Me.useI18n(),c=e.computed(()=>!(u.value==="redis"&&!a.cache.partial_id&&!a.cache.redis)),u=e.computed(()=>{var w;return(w=i.value.value)==null?void 0:w.strategy}),p=e.computed(()=>{var w;return(w=i.value.value)!=null&&w.redis?Mt.dump(i.value.value.redis,{indent:2,noRefs:!0}):""}),d=()=>{l.value=!0},f=()=>{l.value=!1,o("cancel")},m=()=>{o("remove")},g=()=>{d(),i.value.value||(i.value.value=r("cache"),i.value.value.strategy="memory")},_=()=>{l.value=!1,o("update",a)},h=()=>{var w,E;u.value==="memory"&&((w=a.cache)!=null&&w.partial_id)&&((E=a.cache)==null||delete E.partial_id)};async function y({codeElement:w,language:E,code:C}){w.innerHTML=await wu.codeToHtml(C,{lang:E,theme:"catppuccin-mocha",structure:"inline"})}return(w,E)=>{const C=e.resolveComponent("KButton"),b=e.resolveComponent("KDropdownItem"),k=e.resolveComponent("KDropdown"),N=e.resolveComponent("KLabel"),S=e.resolveComponent("KCodeBlock"),R=e.resolveComponent("KModal");return e.openBlock(),e.createElementBlock("div",OA,[e.createElementVNode("h3",VA,e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title")),1),t.strategy?(e.openBlock(),e.createElementBlock("div",BA,[e.createElementVNode("div",$A,[e.createVNode(e.unref(ue.DatabaseIcon),{color:e.unref(Dn),size:e.unref(uo)},null,8,["color","size"]),e.createElementVNode("div",RA,e.toDisplayString(t.strategy),1)]),e.createVNode(k,null,{items:e.withCtx(()=>[e.createVNode(b,{onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.edit")),1)]),_:1}),e.createVNode(b,{danger:"",onClick:m},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.vault.delete")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(C,{appearance:"tertiary",icon:""},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.MoreIcon),{color:e.unref(co)},null,8,["color"])]),_:1})]),_:1})])):(e.openBlock(),e.createBlock(C,{key:1,appearance:"tertiary",class:"add-button",size:"small",onClick:g},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.add_button")),1)]),_:1})),e.createVNode(R,{"action-button-disabled":!c.value,"action-button-text":e.unref(s)("actions.save"),"max-width":"640px",title:e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.title"),visible:l.value,onCancel:f,onProceed:_},{default:e.withCtx(()=>{var P,A;return[e.createElementVNode("div",FA,[e.createVNode(ws,{items:[{label:e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.memory"),value:"memory"},{label:e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.strategy_options.redis"),value:"redis"}],name:"strategy","onUpdate:modelValue":h},null,8,["items"]),u.value==="memory"?(e.openBlock(),e.createBlock(ut,{key:0,name:"memory.dictionary_name"})):e.createCommentVNode("",!0),u.value==="redis"?(e.openBlock(),e.createElementBlock("div",LA,[e.createVNode(N,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.select_redis_configuration")),1)]),_:1}),e.createVNode(e.unref(xi.RedisConfigurationSelector),{"model-value":(P=e.unref(a).cache)==null?void 0:P.partial_id,"redis-type":"redis-ee","onUpdate:modelValue":E[0]||(E[0]=T=>e.unref(a).cache.partial_id=T)},null,8,["model-value"])])):e.createCommentVNode("",!0),u.value==="redis"&&!((A=e.unref(a).cache)!=null&&A.partial_id)&&p.value?(e.openBlock(),e.createElementBlock("div",DA,[e.createElementVNode("div",null,e.toDisplayString(e.unref(s)("plugins.free-form.datakit.flow_editor.panel_segments.resources.cache.inline_config_preview")),1),e.createVNode(S,{id:"dk-cache-redis-configuration",code:p.value,language:"yaml",theme:"dark",onCodeBlockRender:y},null,8,["code"])])):e.createCommentVNode("",!0)])]}),_:1},8,["action-button-disabled","action-button-text","title","visible"])])}}}),[["__scopeId","data-v-103c3712"]]),jA={class:"dk-resources-panel"},vA=ye(e.defineComponent({__name:"ResourcesPanel",setup(t){const n=TA(),o=e.ref(0),{addVault:r,removeVault:a,updateVault:i,renameVault:l,formData:s}=wA();function c(_,h,y){y&&y!==_&&l(y,_,!1),i(_,h)}const{state:u,commit:p}=Ze(),d=e.computed(()=>({cache:u.value.cacheConfig}));function f(_){u.value.cacheConfig=_.cache,p()}function m(){u.value.cacheConfig=void 0,p()}function g(){o.value++}return(_,h)=>(e.openBlock(),e.createElementBlock("div",jA,[e.createVNode(ft,{data:e.unref(s),schema:e.unref(n)},{default:e.withCtx(()=>[e.createVNode(IA,{name:"vault",onAdd:e.unref(r),onRemove:e.unref(a),onUpdate:c},null,8,["onAdd","onRemove"])]),_:1},8,["data","schema"]),h[0]||(h[0]=e.createElementVNode("hr",{class:"dk-resources-divider"},null,-1)),(e.openBlock(),e.createBlock(ft,{key:`${o.value}`,data:d.value,schema:e.unref(n)},{default:e.withCtx(()=>{var y;return[e.createVNode(MA,{strategy:(y=d.value.cache)==null?void 0:y.strategy,onCancel:g,onRemove:m,onUpdate:f},null,8,["strategy"])]}),_:1},8,["data","schema"]))]))}}),[["__scopeId","data-v-3a9010b8"]]),UA={class:"header"},KA={class:"title"},qA={class:"body"},GA={class:"panel"},zA=ye(e.defineComponent({__name:"SidePanel",setup(t){const{t:n}=et.createI18n("en-us",tt),{sidePanelExpanded:o}=hr(),{propertiesPanelOpen:r,selectedNode:a}=Ze(),i=e.ref("nodes");function l(){r.value=!1}e.watch(a,c=>{c||l()});const s=e.ref(!1);return e.onMounted(()=>{s.value=!0}),(c,u)=>{const p=e.resolveComponent("KSegmentedControl");return e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["side-panel",{expanded:e.unref(o),inited:s.value}])},[e.createElementVNode("header",UA,[e.createElementVNode("h2",KA,e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.name")),1)]),e.createElementVNode("div",qA,[e.createElementVNode("div",GA,[e.createVNode(p,{modelValue:i.value,"onUpdate:modelValue":u[0]||(u[0]=d=>i.value=d),options:[{label:e.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.nodes"),value:"nodes"},{label:e.unref(n)("plugins.free-form.datakit.flow_editor.panel_segments.resources.title"),value:"resources"}]},null,8,["modelValue","options"]),i.value==="nodes"?(e.openBlock(),e.createBlock(kA,{key:0,"hide-title":""})):e.createCommentVNode("",!0),i.value==="resources"?(e.openBlock(),e.createBlock(vA,{key:1})):e.createCommentVNode("",!0)])])],2)}}}),[["__scopeId","data-v-e8c1849d"]]),HA=e.defineComponent({__name:"HttpMethodField",props:{name:{}},setup(t){return(n,o)=>(e.openBlock(),e.createBlock(Pt,{items:e.unref(ua)([...e.unref(Ic)]),name:t.name},null,8,["items","name"]))}});function WA(t,n){const o=[],r=(a,i)=>{typeof i=="string"&&o.push({nodeName:t.name,path:["nodes",n,...a],value:i})};if("input"in t&&t.input!=null&&r(["input"],t.input),"inputs"in t&&t.inputs&&typeof t.inputs=="object")for(const[a,i]of Object.entries(t.inputs))i!=null&&r(["inputs",a],i);if("output"in t&&t.output!=null&&r(["output"],t.output),"outputs"in t&&t.outputs&&typeof t.outputs=="object")for(const[a,i]of Object.entries(t.outputs))i!=null&&r(["outputs",a],i);return o}function YA(t){const n=t.path[2];return n==="output"||n==="outputs"}function Jd(t){if(!t)return!1;for(const n of Object.values(t))if(n!=null)return!0;return!1}function Xd(t,n){const o=t.input!==void 0&&t.input!==null,r=Jd(t.inputs);o&&r&&n.addIssue({code:"custom",message:'A node cannot use both "input" and "inputs". Use one or the other.',path:["inputs"]});const a=t.output!==void 0&&t.output!==null,i=Jd(t.outputs);a&&i&&n.addIssue({code:"custom",message:'A node cannot use both "output" and "outputs". Use one or the other.',path:["outputs"]})}function Zd(t,n,o){if(!t.nodes)return;const r=t.nodes.map(c=>c.name),a=new Set;r.forEach((c,u)=>{a.has(c)&&o.addIssue({code:"custom",message:`Duplicate node name: "${c}"`,path:["nodes",u,"name"]}),a.add(c)});const i=new Set([...n,...r]),l=new Map,s=new Map;t.nodes.forEach((c,u)=>{for(const p of WA(c,u)){const d=p.value.split(".",1)[0];if(i.has(d)||o.addIssue({code:"custom",message:`Unknown node "${d}" in connection "${p.value}"`,path:p.path}),YA(p)){const f=`${p.nodeName}->${d}`;s.has(f)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${p.nodeName}" outputs to "${d}" and "${d}" inputs from "${p.nodeName}". Specify it on one side only.`,path:p.path}):l.set(f,l.get(f)??p.path)}else{const f=`${d}->${p.nodeName}`;l.has(f)?o.addIssue({code:"custom",message:`Connection specified on both sides: "${d}" outputs to "${p.nodeName}" and "${p.nodeName}" inputs from "${d}". Specify it on one side only.`,path:p.path}):s.set(f,s.get(f)??p.path)}}})}const JA=B.z.enum(Sc),XA=B.z.enum(qn),Qd=t=>qn.includes(t),pi=B.z.enum(Pc),eu=pi.options;B.z.union([pi,JA]);const ZA=/^[A-Za-z_][A-Za-z0-9_-]{0,254}$/,tu=B.z.string().min(1).max(255).regex(ZA,"Invalid node name (snake_case / kebab-case only)").refine(t=>!Qd(t),"Name clashes with reserved implicit node").brand(),Tr=B.z.union([XA,tu]),QA=B.z.string().min(1).brand(),eS=["then","else"];B.z.enum(eS);const ze=B.z.string().min(1).max(255).refine(t=>{if(Tr.safeParse(t).success)return!0;const n=t.match(/^([^.]+)\.([^.]+)$/);if(!n)return!1;const[,o,r]=n;return Tr.safeParse(o).success&&QA.safeParse(r).success},'Invalid connection, expected "NODE" or "NODE.FIELD"').nullish(),tS=B.z.object({body:ze,headers:ze,http_proxy:ze,https_proxy:ze,proxy_auth_password:ze,proxy_auth_username:ze,query:ze,url:ze}).partial().strict(),nS=B.z.object({headers:ze,body:ze}).partial().strict(),oS=B.z.object({data:ze,key:ze,ttl:ze}).partial().strict(),nu=B.z.enum(Ic),Wt=B.z.object({type:B.z.string(),name:tu,input:ze,inputs:B.z.record(B.z.string().min(1).max(255),ze).nullish(),output:ze,outputs:B.z.record(B.z.string().min(1).max(255),ze).nullish()}).loose().superRefine((t,n)=>{Xd(t,n)}),rS=B.z.object({type:B.z.string(),name:B.z.string()}).loose().superRefine((t,n)=>{const o=t.type,r=t.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"invalid node name",fatal:!1}),eu.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${eu.join(", ")}`})}),aS=Wt.safeExtend({type:B.z.literal("call"),method:nu.default("GET").nullish(),ssl_server_name:B.z.string().min(1).nullish(),ssl_verify:B.z.boolean().nullish(),timeout:B.z.number().int().min(0).max(2147483646).nullish(),url:B.z.url().nullish(),inputs:tS.nullish(),outputs:B.z.object({body:ze,headers:ze,raw_body:ze,status:ze}).partial().nullish()}).strict(),iS=Wt.safeExtend({type:B.z.literal("exit"),status:B.z.number().int().min(200).max(599).default(200).nullish(),warn_headers_sent:B.z.boolean().nullish(),inputs:nS.nullish(),output:B.z.never().nullish(),outputs:B.z.never().nullish()}).strict(),lS=Wt.safeExtend({type:B.z.literal("jq"),jq:B.z.string().min(1).max(10240),outputs:B.z.never().nullish()}).strict(),sS=Wt.safeExtend({type:B.z.literal("xml_to_json"),recognize_type:B.z.boolean().nullish().default(!0),attributes_block_name:B.z.string().min(1).max(32).nullish(),attributes_name_prefix:B.z.string().min(1).max(32).nullish(),text_block_name:B.z.string().min(1).max(32).nullish().default("#text"),text_as_property:B.z.boolean().nullish().default(!1),xpath:B.z.string().min(1).max(256).nullish(),inputs:B.z.never().nullish(),outputs:B.z.never().nullish()}).strict().superRefine((t,n)=>{!t.attributes_block_name&&!t.attributes_name_prefix&&(n.addIssue({code:"custom",path:["attributes_block_name"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}),n.addIssue({code:"custom",path:["attributes_name_prefix"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}))}),cS=Wt.safeExtend({type:B.z.literal("json_to_xml"),attributes_block_name:B.z.string().min(1).max(32).nullish(),attributes_name_prefix:B.z.string().min(1).max(32).nullish(),root_element_name:B.z.string().min(1).max(64).nullish(),text_block_name:B.z.string().min(1).max(32).nullish().default("#text"),inputs:B.z.record(B.z.string().min(1).max(255),ze).nullish(),outputs:B.z.never().nullish()}).strict().superRefine((t,n)=>{!t.attributes_block_name&&!t.attributes_name_prefix&&(n.addIssue({code:"custom",path:["attributes_block_name"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}),n.addIssue({code:"custom",path:["attributes_name_prefix"],message:"At least one of attributes_block_name or attributes_name_prefix is required"}))}),dS=Wt.safeExtend({type:B.z.literal("property"),content_type:B.z.enum(["application/json","text/plain","application/octet-stream"]).nullish(),property:B.z.string().min(1),inputs:B.z.never().nullish(),outputs:B.z.never().nullish()}).strict(),uS=Wt.safeExtend({type:B.z.literal("static"),values:B.z.record(B.z.string(),B.z.unknown()),input:B.z.never().nullish(),inputs:B.z.never().nullish()}).strict(),fS=Wt.safeExtend({type:B.z.literal("cache"),bypass_on_error:B.z.boolean().nullish(),inputs:oS.nullish(),outputs:B.z.object({data:ze,hit:ze,miss:ze,stored:ze}).partial().nullish(),ttl:B.z.number().int().gt(0).nullish()}).strict(),pS=Wt.safeExtend({type:B.z.literal("branch"),then:B.z.array(Tr).nullish(),else:B.z.array(Tr).nullish()}).strict(),mS=rS.pipe(B.z.discriminatedUnion("type",[aS,iS,lS,sS,cS,dS,uS,fS,pS])),gS=B.z.record(B.z.string().regex(/^[A-Za-z_][A-Za-z0-9_-]*$/).min(1).max(255),B.z.string().min(1).max(4095)),hS=B.z.object({dictionary_name:B.z.string().nullish().default("kong_db_cache")}),yS=B.z.object({host:B.z.string().default("127.0.0.1"),port:B.z.number().int().min(0).max(65535).default(6379)}),_S=B.z.object({ip:B.z.string().default("127.0.0.1"),port:B.z.number().int().min(0).max(65535).default(6379)}),bS=B.z.object({host:B.z.string().nullish().default("127.0.0.1"),port:B.z.number().int().min(0).max(65535).nullish().default(6379),connect_timeout:B.z.number().int().min(0).max(2147483646).nullish().default(2e3),send_timeout:B.z.number().int().min(0).max(2147483646).nullish().default(2e3),read_timeout:B.z.number().int().min(0).max(2147483646).nullish().default(2e3),username:B.z.string().nullish(),password:B.z.string().nullish(),sentinel_username:B.z.string().nullish(),sentinel_password:B.z.string().nullish(),database:B.z.number().int().nullish().default(0),keepalive_pool_size:B.z.number().int().min(1).max(2147483646).nullish().default(256),keepalive_backlog:B.z.number().int().min(0).max(2147483646).nullish(),sentinel_master:B.z.string().nullish(),sentinel_role:B.z.enum(["master","slave","any"]).nullish(),sentinel_nodes:B.z.array(yS).min(1,{message:"sentinel_nodes must contain at least 1 item"}).nullish(),cluster_nodes:B.z.array(_S).min(1,{message:"cluster_nodes must contain at least 1 item"}).nullish(),ssl:B.z.boolean().default(!1).nullish(),ssl_verify:B.z.boolean().default(!1).nullish(),server_name:B.z.string().nullish(),cluster_max_redirections:B.z.number().int().default(5).nullish(),connection_is_proxied:B.z.boolean().default(!1).nullish(),cloud_authentication:B.z.object({auth_provider:B.z.enum(["aws","azure","gcp"]).nullish(),aws_access_key_id:B.z.string().nullish(),aws_assume_role_arn:B.z.string().nullish(),aws_cache_name:B.z.string().nullish(),aws_is_serverless:B.z.boolean().default(!0).nullish(),aws_region:B.z.string().nullish(),aws_role_session_name:B.z.string().nullish(),aws_secret_access_key:B.z.string().nullish(),azure_client_id:B.z.string().nullish(),azure_client_secret:B.z.string().nullish(),azure_tenant_id:B.z.string().nullish(),gcp_service_account_json:B.z.string().nullish()}).nullish(),timeout:B.z.number().int().nullish(),sentinel_addresses:B.z.array(B.z.string()).min(1).nullish(),cluster_addresses:B.z.array(B.z.string()).min(1).nullish()}).superRefine((t,n)=>{var c;const o=t.host!==void 0&&t.host!==null,r=t.port!==void 0&&t.port!==null;(o&&!r||!o&&r)&&n.addIssue({code:"custom",message:"host and port must be specified together",path:o?["port"]:["host"]});const a=!!t.sentinel_master,i=!!t.sentinel_role,l=!!((c=t.sentinel_nodes)!=null&&c.length),s=[a,i,l].filter(Boolean).length;s>0&&s<3&&n.addIssue({code:"custom",message:"sentinel_master, sentinel_role and sentinel_nodes must be provided together"}),t.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"]})}),kS=B.z.object({strategy:B.z.enum(["memory","redis"]).nullish(),memory:hS,redis:bS}),wS=B.z.object({vault:gS.nullish(),cache:kS.nullish()});B.z.array(B.z.object({id:B.z.string()})),B.z.object({nodes:B.z.array(mS).min(1,"At least one node is required").max(64),debug:B.z.boolean().default(!1).nullish(),resources:wS.nullish()}).strict().superRefine((t,n)=>{Zd(t,qn,n)});const ou=pi.options,mi=B.z.string().min(1).refine(t=>!t.includes("."),"Invalid node name").refine(t=>!Qd(t),"Node name conflicts with reserved implicit node"),rt=B.z.string().refine(t=>{if(!t||/\s/.test(t))return!1;const n=t.indexOf(".");if(n===-1)return!0;const o=t.slice(0,n),r=t.slice(n+1);return o.length>0&&r.length>0},"Invalid connection"),ru=B.z.object({body:rt.nullish(),headers:rt.nullish(),query:rt.nullish()}).partial().strict(),au=B.z.object({headers:rt.nullish(),body:rt.nullish()}).partial().strict(),iu=B.z.object({data:rt.nullish(),key:rt.nullish(),ttl:rt.nullish()}).partial().strict(),CS={call:ru,exit:au,cache:iu};function ES(t){const n=CS[t];return n?Object.keys(n.shape):null}const Yt=B.z.object({type:B.z.string(),name:mi,input:rt.nullish(),inputs:B.z.record(B.z.string(),rt.nullish()).nullish(),output:rt.nullish(),outputs:B.z.record(B.z.string(),rt.nullish()).nullish()}).loose().superRefine((t,n)=>{Xd(t,n)}),NS=B.z.object({type:B.z.string(),name:B.z.string()}).loose().superRefine((t,n)=>{const o=t.type,r=t.name;(typeof r!="string"||r.length===0||r.includes("."))&&n.addIssue({code:"custom",path:["name"],message:"Invalid node name",fatal:!1}),ou.includes(o)||n.addIssue({code:"custom",path:["type"],message:`unknown node type "${o}", expected one of: ${ou.join(", ")}`})}),xS=Yt.safeExtend({type:B.z.literal("call"),method:nu.nullish(),ssl_server_name:B.z.string().nullish(),ssl_verify:B.z.boolean().nullish(),timeout:B.z.union([B.z.number(),B.z.string()]).nullish(),url:B.z.string().nullish(),inputs:ru.nullish(),outputs:B.z.object({body:rt.nullish(),headers:rt.nullish(),status:rt.nullish()}).partial().nullish()}).strict(),AS=Yt.safeExtend({type:B.z.literal("exit"),status:B.z.union([B.z.number(),B.z.string()]).nullish(),warn_headers_sent:B.z.boolean().nullish(),inputs:au.nullish(),output:B.z.never().nullish(),outputs:B.z.never().nullish()}).strict(),SS=Yt.safeExtend({type:B.z.literal("jq"),jq:B.z.string().nullish(),outputs:B.z.never().nullish()}).strict(),PS=Yt.safeExtend({type:B.z.literal("xml_to_json"),recognize_type:B.z.boolean().nullish(),attributes_block_name:B.z.string().nullish(),attributes_name_prefix:B.z.string().nullish(),text_block_name:B.z.string().nullish(),text_as_property:B.z.boolean().nullish(),xpath:B.z.string().nullish(),inputs:B.z.never().nullish(),outputs:B.z.never().nullish()}).strict(),IS=Yt.safeExtend({type:B.z.literal("json_to_xml"),attributes_block_name:B.z.string().nullish(),attributes_name_prefix:B.z.string().nullish(),root_element_name:B.z.string().nullish(),text_block_name:B.z.string().nullish(),inputs:B.z.record(B.z.string(),rt.nullish()).nullish(),outputs:B.z.never().nullish()}).strict(),TS=Yt.safeExtend({type:B.z.literal("property"),content_type:B.z.string().nullish(),property:B.z.string().nullish(),inputs:B.z.never().nullish(),outputs:B.z.never().nullish()}).strict(),OS=Yt.safeExtend({type:B.z.literal("static"),values:B.z.record(B.z.string(),B.z.unknown()).nullish(),input:B.z.never().nullish(),inputs:B.z.never().nullish()}).strict(),VS=Yt.safeExtend({type:B.z.literal("cache"),bypass_on_error:B.z.boolean().nullish(),inputs:iu.nullish(),outputs:B.z.object({data:rt.nullish(),hit:rt.nullish(),miss:rt.nullish(),stored:rt.nullish()}).partial().nullish(),ttl:B.z.union([B.z.number(),B.z.string()]).nullish()}).strict(),BS=Yt.safeExtend({type:B.z.literal("branch"),then:B.z.array(mi).nullish(),else:B.z.array(mi).nullish()}).strict(),$S=NS.pipe(B.z.discriminatedUnion("type",[xS,AS,SS,PS,IS,TS,OS,VS,BS])),RS=B.z.record(B.z.string(),B.z.string()),FS=B.z.object({dictionary_name:B.z.string().nullish()}),LS=B.z.object(),DS=B.z.object({strategy:B.z.enum(["memory","redis"]).nullish(),memory:FS.nullish(),redis:LS.nullish()}),MS=B.z.object({vault:RS.nullish(),cache:DS.nullish()}),lu=B.z.object({nodes:B.z.array($S).nullish(),debug:B.z.boolean().nullish(),resources:MS.nullish()}).strict().superRefine((t,n)=>{!t||!Array.isArray(t.nodes)||Zd(t,qn,n)}).nullish(),su=e.defineComponent({__name:"InputsRecordField",props:{name:{},items:{},nodeType:{}},emits:["change:inputs"],setup(t){const{getSchema:n}=Ke(),{i18n:o}=Le(),r=e.computed(()=>{const a=n("inputs");if(!a)return[];const i=a.fields.map(s=>Object.keys(s)[0]);if(Et(t.nodeType))return i;const l=ES(t.nodeType);return l===null?i:l.length===0?[]:Ay(i,l)});return(a,i)=>(e.openBlock(),e.createBlock(kt,{"as-child":"",name:t.name,"reset-label-path":"isolate"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value,l=>(e.openBlock(),e.createBlock(Pt,{key:l,clearable:"","enable-filtering":"",items:t.items,name:l,placeholder:e.unref(o).t("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s=>a.$emit("change:inputs",l,s?s.value:null)},e.createSlots({_:2},[a.$slots["item-label"]?{name:"item-label",fn:e.withCtx(s=>[e.renderSlot(a.$slots,"item-label",e.mergeProps({ref_for:!0},s))]),key:"0"}:void 0]),1032,["items","name","placeholder","onChange"]))),128))]),_:3},8,["name"]))}}),jS=["data-testid"],vS={class:"dk-inputs-map-field-entry-body"},US={class:"dk-inputs-map-field-entry-content"},KS=ye(e.defineComponent({__name:"InputsMapField",props:{items:{},fieldNameValidator:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{},name:{}},emits:["change:inputs","add:field","remove:field","rename:field","change"],setup(t,{emit:n}){const o=t,r=n,{entries:a,addEntry:i,removeEntry:l,field:s}=er(o,r),{i18n:{t:c}}=Le(),u=e.useTemplateRef("root"),p=e.ref(null),d=e.ref({});let f;async function m(b,k="key"){var N;u.value&&(await e.nextTick(),(N=u.value.querySelector(`[data-${k}-input="${b}"]`))==null||N.focus())}function g(){const{id:b}=i(),k=a.value.findIndex(({key:N})=>!N);m(k===-1?a.value.length-1:k),p.value=b}function _(b){l(b.id),b.id===p.value&&(p.value=null),b.key.trim()!==""&&r("remove:field",b.key)}function h(b){f=b.key}function y(b){if(w(b)){b.key=f,delete d.value[b.id];return}if(b.id===p.value){if(b.key.trim()==="")return;r("add:field",b.key,b.value),p.value=null}else r("rename:field",f,b.key);f=b.key}function w(b){delete d.value[b.id];const k=o.fieldNameValidator("input",f,b.key);if(k)return d.value[b.id]=k,k}function E(b){w(b)}function C(b,k){b.id!==p.value&&r("change:inputs",b.key,k)}return e.watch(()=>a.value,b=>{p.value&&(b.find(({id:k})=>k===p.value)||(p.value=null))}),(b,k)=>{const N=e.resolveComponent("KAlert"),S=e.resolveComponent("KLabel"),R=e.resolveComponent("KInput"),P=e.resolveComponent("KSelect"),A=e.resolveComponent("KButton");return e.unref(s).error?(e.openBlock(),e.createBlock(N,{key:0,appearance:"danger",message:e.unref(s).error.message},null,8,["message"])):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"root",ref:u,class:"dk-inputs-map-field"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(a),(T,O)=>(e.openBlock(),e.createElementBlock("div",{key:T.id,class:"dk-inputs-map-field-entry","data-testid":`ff-kv-container-${e.unref(s).path.value}.${O}`},[e.createVNode(S,{for:`ff-kv-entry-key-${e.unref(s).path.value}.${O}`},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.label")),1)]),_:1},8,["for"]),e.createElementVNode("div",vS,[e.createElementVNode("div",US,[e.createVNode(R,{id:`ff-kv-entry-key-${e.unref(s).path.value}.${O}`,modelValue:T.key,"onUpdate:modelValue":[I=>T.key=I,I=>w(T)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":O,"data-testid":`ff-key-${e.unref(s).path.value}.${O}`,error:!!d.value[T.id],"error-message":d.value[T.id],placeholder:e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input_name.placeholder"),onBlur:I=>E(T),onChange:I=>y(T),onFocus:I=>h(T)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","placeholder","onBlur","onChange","onFocus"]),e.createVNode(P,{modelValue:T.value,"onUpdate:modelValue":I=>T.value=I,class:"ff-kv-field-entry-value",clearable:"","data-testid":`ff-value-${e.unref(s).path.value}.${O}`,"enable-filtering":"",items:t.items,label:e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.source"),placeholder:e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:I=>C(T,(I==null?void 0:I.value)??null)},e.createSlots({_:2},[b.$slots["item-label"]?{name:"item-template",fn:e.withCtx(({item:I})=>[e.renderSlot(b.$slots,"item-label",e.mergeProps({ref_for:!0},I),void 0,!0)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","data-testid","items","label","placeholder","onChange"])]),e.createVNode(A,{appearance:"tertiary",class:"dk-inputs-map-field-remove-btn","data-testid":`ff-kv-remove-btn-${e.unref(s).path.value}.${O}`,icon:"",onClick:I=>_(T)},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.CloseIcon))]),_:1},8,["data-testid","onClick"])])],8,jS))),128)),e.createVNode(A,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${e.unref(s).path.value}`,disabled:!!p.value,onClick:g},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(c)("plugins.free-form.datakit.flow_editor.node_properties.input.add_button")),1)]),_:1},8,["data-testid","disabled"])],512))}}}),[["__scopeId","data-v-dda8b239"]]),qS={class:"dk-source-item"},Or=ye(e.defineComponent({__name:"SourceItem",props:{item:{}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("span",qS,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(mt)[t.item.type].icon),{color:e.unref(Dn),size:e.unref(fo)},null,8,["color","size"])),e.createTextVNode(" "+e.toDisplayString(t.item.label),1)]))}}),[["__scopeId","data-v-78ea8dff"]]),GS={key:1,class:"dk-inputs-field-or"},jt=ye(e.defineComponent({__name:"InputsField",props:{items:{},fieldNames:{},fieldNameValidator:{},nodeType:{}},emits:["change:input","change:inputs","add:field","remove:field","rename:field"],setup(t,{emit:n}){const o=n,{getSchema:r}=Ke(),{i18n:{t:a}}=Le(),i=e.computed(()=>r("inputs")),l=e.computed(()=>i.value?i.value.type==="record"?su:KS:null);function s(f){o("change:input",f?f.value:null)}function c(f,m){o("add:field",f,m)}function u(f,m){o("change:inputs",f,m)}function p(f){o("remove:field",f)}function d(f,m){o("rename:field",f,m)}return(f,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(Ve.KLabel),{class:"dk-inputs-field-h1",info:e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.tooltip")},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.label")),1)]),_:1},8,["info"]),e.unref(r)("input")?(e.openBlock(),e.createBlock(Pt,{key:0,class:"dk-inputs-field-h2",clearable:"","enable-filtering":"",items:t.items,label:e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.input"),"label-attributes":{info:void 0},name:"input",placeholder:e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.placeholder"),onChange:s},{"item-label":e.withCtx(g=>[e.renderSlot(f.$slots,"item-label",e.normalizeProps(e.guardReactiveProps(g)),()=>[e.createVNode(Or,{item:g},null,8,["item"])],!0)]),_:3},8,["items","label","placeholder"])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("div",GS,[e.createElementVNode("span",null,e.toDisplayString(e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.or")),1)])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createBlock(e.unref(Ve.KLabel),{key:2,class:"dk-inputs-field-h2 dk-margin-0"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.input.fields")),1)]),_:1})):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createBlock(e.unref(l),e.mergeProps({key:3,items:t.items,"key-order":t.fieldNames,name:"inputs"},l.value===su?{nodeType:t.nodeType}:{fieldNameValidator:t.fieldNameValidator},{"onAdd:field":c,"onChange:inputs":u,"onRemove:field":p,"onRename:field":d}),{"item-label":e.withCtx(g=>[e.createVNode(Or,{item:g},null,8,["item"])]),_:1},16,["items","key-order"])):e.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-f80a82e6"]]),zS={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"},HS={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 WS(t){const n=Number(t);return!isNaN(n)&&isFinite(n)}function Bt(...t){return function(o){for(const r of t){const a=r(o);if(a)return a}}}function Jn(t){const{i18n:{t:n}}=Le(),o=()=>t?typeof t=="string"?t:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_empty",t):"Field is required";return function(a){if(a==null||typeof a=="string"&&a.trim()==="")return o()}}function cu(t,n){const{i18n:{t:o}}=Le();return function(a){if(a!=null)switch(t){case"identifier":{const i=()=>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(a)?void 0:i()}case"url":{const i=()=>n?typeof n=="string"?n:o("plugins.free-form.datakit.flow_editor.node_properties.errors.invalid_url_format"):"Invalid URL format";try{new URL(a);return}catch{return i()}}default:return}}}function Jt(t=0,n=1/0,o){const{i18n:{t:r}}=Le();return function(i){if(i!=null&&typeof i=="string"&&(i.length<t||i.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:t,maxLength:n}):`Value must be between ${t} and ${n} characters`}}function du(t){const{i18n:{t:n}}=Le();return function(r){if(!WS(r))return t?typeof t=="string"?t:n("plugins.free-form.datakit.flow_editor.node_properties.errors.not_number",t):"Value must be a number"}}function gi(t,n){const{i18n:{t:o}}=Le();return function(a){if(a==null)return;const i=du(n)(a);if(i)return i;const l=Number(a);switch(t){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 hi(t=-1/0,n=1/0,o){const{i18n:{t:r}}=Le();return function(i){if(i==null)return;const l=du(o)(i);if(l)return l;const s=Number(i);if(s<t||s>n)return o?typeof o=="string"?o:r("plugins.free-form.datakit.flow_editor.node_properties.errors.number_range",{fieldName:o.fieldName,min:t,max:n}):`Value must be between ${t} and ${n}`}}function YS(t,n){const{state:o}=Ze(),{i18n:{t:r}}=Le();return function(i){if(o.value.nodes.some(l=>l.name===i&&l.id!==t))return n?typeof n=="string"?n:r("plugins.free-form.datakit.flow_editor.node_properties.errors.not_unique",n):"Name must be unique."}}function JS(t,n,o){const{i18n:{t:r}}=Le();return function(i){if(!n)return;if(o?n.fields[t].some(s=>s.name===i&&s.id!==o):n.fields[t].some(s=>s.name===i)){const s=r(t==="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 XS(){const{i18n:{t}}=Le();return function(o){if(ja(o))return t("plugins.free-form.datakit.flow_editor.node_properties.errors.reserved_node_name",{nodeName:o})}}function uu(t){const{i18n:{t:n}}=Le(),o={fieldName:n("plugins.free-form.datakit.flow_editor.node_properties.name")};return Bt(Jn(o),cu("identifier",o),XS(),YS(t,o))}function ZS(t){const{i18n:{t:n}}=Le(),{getNodeById:o}=Ze();return function(a,i,l){const s={fieldName:n(a==="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 Bt(Jn(s),JS(a,o(t),l))(i)}}function QS(t){const n=e.ref({}),o=e.computed(()=>Object.values(n.value).every(l=>!l)),r={};Object.keys(t).forEach(l=>{const s=t[l],c=d=>{const f=typeof d=="function"?d():d,m=s(f);return n.value[l]=m,m},u=()=>{n.value[l]=void 0},p=d=>(u(),c(d));r[l]={handleChange:p,handleBlur:p,validate:p,isValid:e.computed(()=>n.value[l]===void 0),error:e.computed(()=>n.value[l])}});function a(){n.value={}}function i(l){var s;for(const c of Object.keys(t)){const u=l[c],p=typeof u=="function"?u():u;(s=r[c])==null||s.validate(p)}return n.value}return{isValid:o,errorMap:n,fields:r,clearErrors:a,validate:i}}function Vn(t){const{validationConfig:n,getValidationData:o,toggleNodeValid:r}=t,{skipValidation:a}=Ze(),i=e.computed(()=>typeof n=="function"?n():n),l=e.computed(()=>QS(i.value)),s=e.computed(()=>l.value.fields),c=e.computed(()=>l.value.isValid.value);function u(){const d=o(),f=l.value.validate(d),m={};for(const g in i.value)m[g]=f[g];return m}function p(d,f){const m=()=>{const _=o(),h=s.value[d];h&&h.handleBlur(_[d])},g=()=>{f==null||f();const _=o(),h=s.value[d];h&&h.handleChange(_[d])};return e.computed(()=>{const _=s.value[d];return{validate:m,update:g,error:_?!_.isValid.value:!1,errorMessage:_?_.error.value??"":""}})}return e.onMounted(()=>{a.value?a.value=!1:u()}),e.onBeforeUnmount(async()=>{try{const d=u(),f=Object.values(d).filter(Boolean).length>0;r(!f)}catch{}}),e.watch(()=>c.value,r,{immediate:!0}),{fields:s.value,isValid:c,validateAll:u,createFieldHandler:p}}function $t(t,n){const{state:o,renameNode:r,getNodeById:a,addField:i,renameField:l,removeField:s,replaceConfig:c,disconnectEdge:u,connectEdge:p,invalidConfigNodeIds:d,commit:f,revert:m}=Ze(),{i18n:{t:g}}=Le(),_=Ud(),h=e.computed(()=>{const U=a(t);if(!U)throw new Error("Node not existed");return U}),y=e.computed(()=>{const D=o.value.edges.filter(j=>j.target===t).reduce((j,x)=>{var H,Z;const M=a(x.source),G=(H=ln(M,"output",x.sourceField))==null?void 0:H.id,te=(Z=ln(h.value,"input",x.targetField))==null?void 0:Z.name,L=M.id+(G?`.${G}`:"");return te?j.inputs={...j.inputs,[te]:L}:j.input=L,j},{});return h.value.fields.input.forEach(j=>{D.inputs||(D.inputs={}),D.inputs[j.name]||(D.inputs[j.name]=null)}),{...h.value.config,...D,name:h.value.name}}),w=U=>{r(t,U??"",!0,`${t}:rename`)},E=(U,D=!0)=>{if(!n)throw new Error("getFormValue is not defined");const j=tn(n(),["name","input","inputs"]),x=U?`update:${t}:${U}`:void 0;c(t,j,D,x)},C=(U,D)=>{const j=an(h.value,U,D);if(!j)throw new Error(`Field with name "${D}" not found in node "${h.value.name}"`);return j},b=(U,D,j)=>{const x=!!j;i(t,U,D,!x),x&&P(D,j)},k=(U,D,j)=>{const x=C(U,D).id;l(t,x,j)},N=(U,D)=>{const j=C(U,D).id;s(t,j)},S=e.computed(()=>o.value.edges.filter(U=>U.target===t&&!U.targetField)[0]),R=e.computed(()=>o.value.edges.filter(U=>U.target===t&&U.targetField)),P=async(U,D)=>{const j=D==null,x=C("input",U).id;if(j){const Ce=R.value.find(we=>we.targetField===x);Ce&&u(Ce.id);return}const{nodeId:M,fieldId:G}=Tc(D),te=C("input",U).id,L=[];S.value&&(L.push(So(S.value,a)),u(S.value.id,!1));const H=R.value.find(Ce=>Ce.targetField===x);H&&(L.push(So(H,a)),u(H.id,!1)),p({source:M,sourceField:G,target:t,targetField:te},!1);const Z=Xa(M,G,t,te,a),Ne=L[0]&&Z?L[0][1]===Z[1]:!1;if(f(),Ne||L.length===0)return;await _(g("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[Z],L)||m()},A=async U=>{if(U==null){S.value&&u(S.value.id);return}const j=[];for(const L of R.value)j.push(So(L,a)),u(L.id,!1);S.value&&u(S.value.id,!1);const{nodeId:x,fieldId:M}=Tc(U);p({source:x,sourceField:M,target:t,targetField:void 0},!1);const G=Xa(x,M,t,void 0,a);if(f(),j.length===0)return;await _(g("plugins.free-form.datakit.flow_editor.confirm.message.switch"),[G],j)||m()},T=U=>{const D=[...o.value.edges,{source:U,target:t}];return za(gr(D))},O=e.computed(()=>{var D,j;const U=[];for(const x of o.value.nodes)if((D=zn(x.type).io)!=null&&D.output&&x.fields.output&&x.id!==t&&!(x.type==="property"&&!Ya((j=x.config)==null?void 0:j.property))&&!T(x.id)&&!(h.value.phase==="request"&&x.phase==="response")&&!(x.type==="vault"&&x.fields.output.length===0)){U.push({value:x.id,label:x.name,type:x.type});for(const G of x.fields.output)U.push({value:`${x.id}.${G.id}`,label:`${x.name}.${G.name}`,type:x.type})}return U}),I=e.computed(()=>h.value.fields.input.map(U=>U.name)||[]);function q(U){d.value.delete(t),U||d.value.add(t)}const v=ZS(t);function W(U,D,j){const x=a(t);if(!x)throw new Error("Node not found when validating field name");const M=an(x,U,D);return v(U,j,M==null?void 0:M.id)}return{formData:y,inputOptions:O,inputEdge:S,inputsEdges:R,inputsFieldNames:I,currentNode:h,setName:w,setConfig:E,addField:b,renameFieldByName:k,removeFieldByName:N,setInputs:P,setInput:A,nameValidator:uu(t),fieldNameValidator:W,toggleNodeValid:q}}function Rt(t){const{getSchema:n}=Ke();return e.computed(()=>{if(Et(t))switch(t){case"response":return HS;case"service_request":return zS}try{const r=n().fields.find(u=>Wo(u,"config"));if(!r)throw new Error("Config field not found in schema.");const i=r.config.fields.find(u=>Wo(u,"nodes"));if(!i)throw new Error("Nodes field not found in config schema.");const c=i.nodes.elements.subschema_definitions[t];if(!c)throw new Error(`Subschema "${t}" not found in the schema.`);return c}catch(o){throw new Error(`Failed to get subschema "${t}": ${o.message}`)}})}const Xt=e.defineComponent({__name:"NameField",props:{name:{},validate:{type:Function}},emits:["update"],setup(t,{emit:n}){const o=t,r=n,{i18n:{t:a}}=Le(),i=e.ref(o.name),l=e.computed(()=>{const p=o.validate(i.value.trim());return p===void 0?"":p});let s=i.value.trim();function c(){if(l.value){i.value=s;return}r("update",i.value.trim())}function u(){s=i.value.trim()}return e.watch(()=>o.name,p=>{p!==i.value&&(i.value=p)}),(p,d)=>{const f=e.resolveComponent("KInput");return e.openBlock(),e.createBlock(f,{"model-value":i.value,"onUpdate:modelValue":d[0]||(d[0]=m=>i.value=m),"data-1p-ignore":"",error:!!l.value,"error-message":l.value,label:e.unref(a)("plugins.free-form.datakit.flow_editor.node_properties.name"),required:"",onChange:c,onFocus:u},null,8,["model-value","error","error-message","label"])}}}),eP=e.defineComponent({__name:"NodeFormCall",props:{nodeId:{}},setup(t){const{i18n:{t:n}}=Le(),o=e.useTemplateRef("form"),r=Rt("call"),{formData:a,setName:i,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:p,nameValidator:d,toggleNodeValid:f,fieldNameValidator:m}=$t(t.nodeId,()=>o.value.getValue()),{createFieldHandler:g}=Vn({validationConfig:{url:Bt(Jn({fieldName:"URL"}),cu("url",{fieldName:"URL"})),timeout:Bt(gi("integer"),hi(0,2147483646))},getValidationData:()=>({url:a.value.url,timeout:a.value.timeout}),toggleNodeValid:f}),_=g("url",()=>l("url")),h=g("timeout",()=>l("timeout"));return(y,w)=>{const E=e.resolveComponent("KLabel");return e.openBlock(),e.createBlock(ft,{ref:"form",data:e.unref(a),schema:e.unref(r)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(d),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(E,{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(st,{error:e.unref(_).error,"error-message":e.unref(_).errorMessage,name:"url",onBlur:e.unref(_).validate,"onUpdate:modelValue":e.unref(_).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(HA,{name:"method",onUpdate:w[0]||(w[0]=C=>e.unref(l)())}),e.createVNode(Sn,{error:e.unref(h).error,"error-message":e.unref(h).errorMessage,name:"timeout",onBlur:e.unref(h).validate,"onUpdate:modelValue":e.unref(h).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(st,{name:"ssl_server_name","onUpdate:modelValue":w[1]||(w[1]=C=>e.unref(l)("ssl_server_name"))}),e.createVNode(An,{name:"ssl_verify","onUpdate:modelValue":w[2]||(w[2]=C=>e.unref(l)("ssl_verify"))}),e.createVNode(jt,{"field-name-validator":e.unref(m),"field-names":e.unref(p),items:e.unref(s),"node-type":"call","onChange:input":e.unref(u),"onChange:inputs":e.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),tP=e.defineComponent({__name:"NodeFormServiceRequest",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=Rt("service_request"),{formData:r,inputOptions:a,setInputs:i,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=$t(t.nodeId,()=>n.value.getValue());return(u,p)=>(e.openBlock(),e.createBlock(ft,{ref:"form",data:e.unref(r),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(jt,{"field-name-validator":e.unref(c),"field-names":e.unref(s),items:e.unref(a),"node-type":"service_request","onChange:input":e.unref(l),"onChange:inputs":e.unref(i)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),nP=e.defineComponent({__name:"NodeFormResponse",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=Rt("response"),{formData:r,inputOptions:a,setInputs:i,setInput:l,inputsFieldNames:s,fieldNameValidator:c}=$t(t.nodeId,()=>n.value.getValue());return(u,p)=>(e.openBlock(),e.createBlock(ft,{ref:"form",data:e.unref(r),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(jt,{"field-name-validator":e.unref(c),"field-names":e.unref(s),items:e.unref(a),"node-type":"response","onChange:input":e.unref(l),"onChange:inputs":e.unref(i)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),fu={jqlang:"https://jqlang.org/manual/"},oP=e.defineComponent({__name:"NodeFormJq",props:{nodeId:{}},setup(t){const{i18n:{t:n},i18nT:o}=Le(),r=e.useTemplateRef("form"),a=Rt("jq"),{formData:i,setName:l,setConfig:s,inputOptions:c,setInputs:u,setInput:p,addField:d,removeFieldByName:f,renameFieldByName:m,inputsFieldNames:g,nameValidator:_,toggleNodeValid:h,fieldNameValidator:y}=$t(t.nodeId,()=>r.value.getValue());function w(S,R){d("input",S,R)}function E(S){f("input",S)}function C(S,R){m("input",S,R)}const b=n("plugins.free-form.datakit.flow_editor.node_properties.jq.label"),{createFieldHandler:k}=Vn({validationConfig:{jq:Bt(Jn({fieldName:b}),Jt(1,10240,{fieldName:b}))},getValidationData:()=>({jq:i.value.jq}),toggleNodeValid:h}),N=k("jq",()=>s("jq"));return(S,R)=>{const P=e.resolveComponent("KLabel"),A=e.resolveComponent("KExternalLink");return e.openBlock(),e.createBlock(ft,{ref:"form",data:e.unref(i),schema:e.unref(a)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(i).name,validate:e.unref(_),onUpdate:e.unref(l)},null,8,["name","validate","onUpdate"]),e.createVNode(P,{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(st,{autosize:"",error:e.unref(N).error,"error-message":e.unref(N).errorMessage,label:e.unref(b),"label-attributes":{},multiline:"",name:"jq",resizable:"",onBlur:e.unref(N).validate,"onUpdate:modelValue":e.unref(N).update},{help:e.withCtx(()=>[e.createVNode(e.unref(o),{keypath:"plugins.free-form.datakit.flow_editor.node_properties.jq.help"},{link:e.withCtx(()=>[e.createVNode(A,{"hide-icon":"",href:e.unref(fu).jqlang},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(fu).jqlang),1)]),_:1},8,["href"])]),_:1})]),_:1},8,["error","error-message","label","onBlur","onUpdate:modelValue"]),e.createVNode(jt,{"field-name-validator":e.unref(y),"field-names":e.unref(g),items:e.unref(c),"node-type":"jq","onAdd:field":w,"onChange:input":e.unref(p),"onChange:inputs":e.unref(u),"onRemove:field":E,"onRename:field":C},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"])}}}),rP=ye(e.defineComponent({__name:"OutputValueField",props:{fieldNameValidator:{},initialValue:{},label:{},keyPlaceholder:{},valuePlaceholder:{},defaultKey:{},defaultValue:{},labelAttributes:{},showVaultSecretPicker:{type:Boolean},keyOrder:{},name:{}},emits:["change:value","add:field","rename:field","remove:field","change"],setup(t,{emit:n}){const o=t,r=n,a=e.ref({}),{entries:i,addEntry:l,removeEntry:s,field:c}=er(o,r,!1),{i18n:u}=Le(),p=e.useTemplateRef("root"),d=e.ref(null);let f;async function m(b,k="key"){var N;p.value&&(await e.nextTick(),(N=p.value.querySelector(`[data-${k}-input="${b}"]`))==null||N.focus())}function g(){const b=l(),k=i.value.findIndex(({key:N})=>!N);m(k===-1?i.value.length-1:k),d.value=b}function _(b){var k;b.id===((k=d.value)==null?void 0:k.id)&&(d.value=null),s(b.id),b.key.trim()!==""&&r("remove:field",b.key)}function h(b){f=b.key}function y(b){var k;if(E(b)){b.key=f,delete a.value[b.id];return}if(b.id===((k=d.value)==null?void 0:k.id)){if(b.key.trim()==="")return;d.value=null,r("add:field",b.key,b.value)}else r("rename:field",f,b.key);f=b.key}function w(b,k){var S;if(k.id===((S=d.value)==null?void 0:S.id))return;const N=b.target.value.trim();r("change:value",k.key,N)}function E(b){delete a.value[b.id];const k=o.fieldNameValidator("output",f,b.key);if(k)return a.value[b.id]=k,k}function C(b){E(b)}return e.watchEffect(()=>{d.value&&!i.value.some(b=>b.id===d.value.id)&&i.value.push(d.value)}),(b,k)=>{const N=e.resolveComponent("KAlert"),S=e.resolveComponent("KLabel"),R=e.resolveComponent("KButton"),P=e.resolveComponent("KInput"),A=e.resolveComponent("KCard");return e.unref(c).error?(e.openBlock(),e.createBlock(N,{key:0,appearance:"danger",message:e.unref(c).error.message},null,8,["message"])):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"root",ref:p,class:"dk-output-value-field"},[e.createVNode(S,{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.label")),1)]),_:1}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),(T,O)=>(e.openBlock(),e.createBlock(A,{key:T.id,class:"dk-output-value-field-entry","data-testid":`ff-kv-container-${e.unref(c).path.value}.${O}`},{actions:e.withCtx(()=>[e.createVNode(R,{appearance:"none","data-testid":`ff-kv-remove-btn-${e.unref(c).path.value}.${O}`,icon:"",onClick:I=>_(T)},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.CloseIcon))]),_:1},8,["data-testid","onClick"])]),default:e.withCtx(()=>[e.createVNode(P,{id:`ff-kv-entry-key-${e.unref(c).path.value}.${O}`,modelValue:T.key,"onUpdate:modelValue":[I=>T.key=I,I=>E(T)],modelModifiers:{trim:!0},class:"ff-kv-field-entry-key","data-key-input":O,"data-testid":`ff-key-${e.unref(c).path.value}.${O}`,error:!!a.value[T.id],"error-message":a.value[T.id],label:e.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value_name"),required:"",onBlur:I=>C(T),onChange:I=>y(T),onFocus:I=>h(T)},null,8,["id","modelValue","onUpdate:modelValue","data-key-input","data-testid","error","error-message","label","onBlur","onChange","onFocus"]),e.createVNode(P,{modelValue:T.value,"onUpdate:modelValue":I=>T.value=I,modelModifiers:{trim:!0},class:"ff-kv-field-entry-value","data-testid":`ff-value-${e.unref(c).path.value}.${O}`,label:e.unref(u).t("plugins.free-form.datakit.flow_editor.node_properties.output_value.value"),onChange:I=>w(I,T)},null,8,["modelValue","onUpdate:modelValue","data-testid","label","onChange"])]),_:2},1032,["data-testid"]))),128)),e.createVNode(R,{appearance:"tertiary","data-testid":`ff-kv-add-btn-${e.unref(c).path.value}`,disabled:!!d.value,onClick:g},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.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 aP(t){const n={};for(const[o,r]of Object.entries(t))typeof r=="object"&&r!==null?n[o]=JSON.stringify(r):n[o]=String(r);return n}function Vr(t){const n={};for(const[o,r]of Object.entries(t))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 iP(t,n,o){const r={};for(const a of Object.keys(t))a===n?r[o]=t[n]:r[a]=t[a];return r}const lP=e.defineComponent({__name:"NodeFormStatic",props:{nodeId:{}},setup(t){const{renameNode:n,getOutEdgesByNodeId:o,addField:r,renameField:a,removeField:i,replaceConfig:l,getNodeById:s}=Ze(),{fieldNameValidator:c}=$t(t.nodeId),u=Rt("static"),p=uu(t.nodeId),d=e.computed(()=>s(t.nodeId)),f=e.computed(()=>{var E;return((E=d.value)==null?void 0:E.fields.output.map(C=>C.name))||[]});function m(E){if(!d.value)throw new Error("No current node");n(d.value.id,E??"")}const g=e.computed(()=>{var R;if(!d.value)return{};const E=((R=d.value.config)==null?void 0:R.values)??{},C={},b=o(d.value.id).map(P=>P.sourceField).filter(Boolean).map(P=>ln(d.value,"output",P)).map(P=>P==null?void 0:P.name).filter(Boolean),k=d.value.fields.output.map(P=>P.name),N=Object.keys(E);return new Set([...N,...b,...k]).forEach(P=>{if(P in E){C[P]=E[P];return}C[P]=""}),{name:d.value.name,values:aP(C)}});function _(E,C){if(!d.value)throw new Error("No selected node");const b=C!==void 0;if(r(t.nodeId,"output",E,!b),b){const k={values:Vr({...g.value.values,[E]:C})};l(t.nodeId,k)}}function h(E,C){if(!d.value)throw new Error("No selected node");const b=an(d.value,"output",E);if(!b)throw new Error("No field found to rename");const k={values:Vr(iP(g.value.values??{},E,C))};l(t.nodeId,k,!1),a(t.nodeId,b.id,C)}function y(E){var k;if(!d.value)throw new Error("No selected node");const C=an(d.value,"output",E);if(!C)throw new Error("No field found to delete");i((k=d.value)==null?void 0:k.id,C.id,!0,!1);const b={values:Vr({...g.value.values})};delete b.values[E],l(t.nodeId,b)}function w(E,C){if(!d.value)throw new Error("No selected node");const b={...g.value.values};b[E]=C;const k={values:Vr(b)};l(t.nodeId,k)}return(E,C)=>(e.openBlock(),e.createBlock(ft,{ref:"form",data:g.value,schema:e.unref(u)},{default:e.withCtx(()=>{var b;return[e.createVNode(Xt,{name:((b=d.value)==null?void 0:b.name)??"",validate:e.unref(p),onUpdate:m},null,8,["name","validate"]),e.createVNode(rP,{"field-name-validator":e.unref(c),"key-order":f.value,name:"values","onAdd:field":_,"onChange:value":w,"onRemove:field":y,"onRename:field":h},null,8,["field-name-validator","key-order"])]}),_:1},8,["data","schema"]))}}),sP={class:"dk-kong-property-item"},cP={class:"property-type"},dP={class:"property-badges"},uP=ye(e.defineComponent({__name:"PropertiesField",props:{validators:{}},emits:["update:model-value","update:property-key"],setup(t,{emit:n}){const{i18n:{t:o}}=Le(),r=t,a=n,{formData:i}=Ke(),l=e.ref(xo(i.property)),s=e.computed(()=>Ao(i.property)),c=e.ref(Wa(i.property)),u=e.computed(()=>i.property??""),p=e.computed(()=>Object.entries(In).map(([m])=>{var h;const g=Ao(m)?(h=i.property)==null?void 0:h.startsWith(m.replace(Wn,"")):i.property===m;return{label:g&&c.value?m.replace(Wn,c.value):m,value:m,selected:g}}));function d(m){const g=br.find(_=>{var h;return(h=i.property)==null?void 0:h.startsWith(_)});g&&(i.property=g+m,r.validators.key.handleChange(i.property),a("update:property-key",i.property))}function f(m){l.value!==xo(m==null?void 0:m.value)&&(i.property=(m==null?void 0:m.value)||null,l.value=xo(i.property),r.validators.property.handleBlur(()=>i.property),a("update:model-value",i.property))}return e.watch(()=>i.property,m=>{c.value=Wa(m),l.value=xo(m)}),(m,g)=>{const _=e.resolveComponent("KBadge"),h=e.resolveComponent("KSelect"),y=e.resolveComponent("KInput");return e.openBlock(),e.createElementBlock(e.Fragment,null,[(e.openBlock(),e.createBlock(h,{key:u.value,"enable-filtering":"",error:!t.validators.property.isValid.value,help:t.validators.property.error.value,items:p.value,label:"Property","label-attributes":{maxWidth:"300px",placement:"top",info:"The property name to get/set"},required:"",onBlur:g[0]||(g[0]=w=>t.validators.property.handleBlur(()=>e.unref(i).property)),onChange:f},{"item-template":e.withCtx(({item:w})=>[e.createElementVNode("div",sP,[e.createElementVNode("div",null,[e.createElementVNode("div",null,e.toDisplayString(w.label),1),e.createElementVNode("div",cP,e.toDisplayString(e.unref(In)[w.value].dataType),1)]),e.createElementVNode("div",dP,[e.unref(In)[w.value].readable?(e.openBlock(),e.createBlock(_,{key:0,appearance:"info"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.get")),1)]),_:1})):e.createCommentVNode("",!0),e.unref(In)[w.value].writable?(e.openBlock(),e.createBlock(_,{key:1,appearance:"warning"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("plugins.free-form.datakit.flow_editor.node_properties.property.set")),1)]),_:1})):e.createCommentVNode("",!0)])])]),_:1},8,["error","help","items"])),s.value?(e.openBlock(),e.createBlock(y,{key:0,"model-value":c.value,"onUpdate:modelValue":[g[1]||(g[1]=w=>c.value=w),d],error:!t.validators.key.isValid.value,"error-message":t.validators.key.error.value,label:"key",required:"",onBlur:g[2]||(g[2]=w=>t.validators.key.handleBlur(()=>e.unref(i).property))},null,8,["model-value","error","error-message"])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-0ab1be87"]]),fP=e.defineComponent({__name:"NodeFormProperty",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),{selectedNode:o,disconnectInEdges:r,disconnectOutEdges:a}=Ze(),i=Rt("property"),{formData:l,setName:s,setConfig:c,inputOptions:u,setInputs:p,setInput:d,inputsFieldNames:f,nameValidator:m,toggleNodeValid:g,fieldNameValidator:_}=$t(t.nodeId,()=>n.value.getValue()),h=e.computed(()=>Ja(l.value.property));function y(E){var b;const C=(b=o.value)==null?void 0:b.id;if(!C)throw new Error("Expected selectedNode to be defined");Ya(E)||a(C,!1),Ja(E)||r(C,!1),c()}const{fields:w}=Vn({validationConfig:()=>({property:Jn({fieldName:"Property"}),key:Ao(l.value.property)?Jn({fieldName:"Key"}):()=>{}}),getValidationData:()=>({property:l.value.property,key:Wa(l.value.property)}),toggleNodeValid:g});return(E,C)=>(e.openBlock(),e.createBlock(ft,{ref:"form",data:e.unref(l),schema:e.unref(i)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(l).name,validate:e.unref(m),onUpdate:e.unref(s)},null,8,["name","validate","onUpdate"]),e.createVNode(Pt,{name:"content_type",onUpdate:C[0]||(C[0]=b=>e.unref(c)())}),e.createVNode(uP,{validators:e.unref(w),"onUpdate:modelValue":y,"onUpdate:propertyKey":C[1]||(C[1]=b=>e.unref(c)("property-key"))},null,8,["validators"]),h.value?(e.openBlock(),e.createBlock(jt,{key:0,"field-name-validator":e.unref(_),"field-names":e.unref(f),items:e.unref(u),"node-type":"property","onChange:input":e.unref(d),"onChange:inputs":e.unref(p)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])):e.createCommentVNode("",!0)]),_:1},8,["data","schema"]))}}),pP=e.defineComponent({__name:"NodeFormExit",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=Rt("exit"),{formData:r,setName:a,setConfig:i,inputOptions:l,setInputs:s,setInput:c,inputsFieldNames:u,nameValidator:p,toggleNodeValid:d,fieldNameValidator:f}=$t(t.nodeId,()=>n.value.getValue()),{createFieldHandler:m}=Vn({validationConfig:{status:Bt(gi("integer",{fieldName:"Status"}),hi(200,599,{fieldName:"Status"}))},getValidationData:()=>({status:r.value.status}),toggleNodeValid:d}),g=m("status",()=>i("status"));return(_,h)=>(e.openBlock(),e.createBlock(ft,{ref:"form",data:e.unref(r),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(r).name,validate:e.unref(p),onUpdate:e.unref(a)},null,8,["name","validate","onUpdate"]),e.createVNode(Sn,{error:e.unref(g).error,"error-message":e.unref(g).errorMessage,name:"status",onBlur:e.unref(g).validate,"onUpdate:modelValue":e.unref(g).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(An,{name:"warn_headers_sent","onUpdate:modelValue":h[0]||(h[0]=y=>e.unref(i)())}),e.createVNode(jt,{"field-name-validator":e.unref(f),"field-names":e.unref(u),items:e.unref(l),"node-type":"exit","onChange:input":e.unref(c),"onChange:inputs":e.unref(s)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}});function mP(t){const n=$t(t),{state:o,getNodeById:r,branchGroups:a,commit:i}=Ze(),{i18n:{t:l}}=Le(),s=Ud(),c=wa(),u=e.computed(()=>{var E;const y={...n.formData.value},w=Eo(((E=n.currentNode.value)==null?void 0:E.type)||"branch");for(const C of w)(!(C in y)||y[C]==null)&&(y[C]=[]);return y});function p(y,w,E){const C=r(y),b=r(E),k=C?`${C.name}.${w}`:`${y}.${w}`,N=b?b.name:E;return[k,N]}function d(y){return(y==null?[]:Array.isArray(y)?y:[y]).filter(w=>Ua(w))}function f(y,w){return a.wouldCreateCycle(y,w)?(c({message:l("plugins.free-form.datakit.flow_editor.error.branch_cycle"),appearance:"danger"}),!0):!1}function m(y,w,E){const C=[],b=[],k=[];for(const N of E){const S=a.findMembership(N);if(!S||S.ownerId===y&&S.branch===w)continue;const R=a.getMembers(S.ownerId,S.branch).filter(P=>P!==N);k.push({ownerId:S.ownerId,branch:S.branch,members:R}),C.push(p(y,w,N)),b.push(p(S.ownerId,S.branch,N))}return{conflictUpdates:k,addedAssignments:C,removedAssignments:b}}function g(y,w,E,C){let b=!1;for(const k of C)b=a.setMembers(k.ownerId,k.branch,k.members,{commit:!1})||b;return b=a.setMembers(y,w,E,{commit:!1})||b,b}async function _(y,w){const E=n.currentNode.value,C=d(w),b=a.prepareMembers(E.id,y,C),k=a.getMembers(E.id,y);if(Ka(k,b))return!0;const N=b.filter(T=>!k.includes(T));for(const T of N)if(f(E.id,T))return!1;const{conflictUpdates:S,addedAssignments:R,removedAssignments:P}=m(E.id,y,N);return S.length>0&&!await s(l("plugins.free-form.datakit.flow_editor.confirm.message.branch_replace"),R,P)?!1:(g(E.id,y,b,S)&&i(),!0)}const h=e.computed(()=>{const y=n.currentNode.value;return!y||!a?[]:o.value.nodes.filter(w=>w.id!==t&&!Et(w.type)&&w.phase===y.phase&&!a.wouldCreateCycle(y.id,w.id)).map(w=>({value:w.id,label:w.name,type:w.type}))});return{...n,formData:u,branchOptions:h,updateBranchMembers:_}}const gP=e.defineComponent({__name:"NodeFormBranch",props:{nodeId:{}},setup(t){const{i18n:{t:n}}=Le(),o=Rt("branch"),r=e.ref(0),{formData:a,setName:i,inputOptions:l,branchOptions:s,nameValidator:c,setInput:u,setInputs:p,inputsFieldNames:d,fieldNameValidator:f,updateBranchMembers:m}=mP(t.nodeId);async function g(_,h){await m(_,h)||(r.value+=1)}return(_,h)=>(e.openBlock(),e.createBlock(ft,{key:r.value,data:e.unref(a),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(c),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(e.unref(Ve.KLabel),{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(Pt,{"enable-filtering":"",items:e.unref(s),multiple:"",name:"then",onUpdate:h[0]||(h[0]=y=>g("then",y))},{"item-label":e.withCtx(y=>[e.createVNode(Or,{item:y},null,8,["item"])]),_:1},8,["items"]),e.createVNode(Pt,{"enable-filtering":"",items:e.unref(s),multiple:"",name:"else",onUpdate:h[1]||(h[1]=y=>g("else",y))},{"item-label":e.withCtx(y=>[e.createVNode(Or,{item:y},null,8,["item"])]),_:1},8,["items"]),e.createVNode(jt,{"field-name-validator":e.unref(f),"field-names":e.unref(d),items:e.unref(l),"node-type":"branch","onChange:input":e.unref(u),"onChange:inputs":e.unref(p)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),hP=e.defineComponent({__name:"NodeFormCache",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=Rt("cache"),{i18n:{t:r}}=Le(),{formData:a,setName:i,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:p,nameValidator:d,toggleNodeValid:f,fieldNameValidator:m}=$t(t.nodeId,()=>n.value.getValue()),{createFieldHandler:g}=Vn({validationConfig:()=>({ttl:Bt(gi("integer",{fieldName:"TTL"}),hi(1,1/0,{fieldName:"TTL"}))}),getValidationData:()=>({ttl:a.value.ttl}),toggleNodeValid:f}),_=g("ttl",()=>l("ttl"));return(h,y)=>(e.openBlock(),e.createBlock(ft,{ref:"form",data:e.unref(a),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(d),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(e.unref(Ve.KLabel),{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(An,{name:"bypass_on_error","onUpdate:modelValue":y[0]||(y[0]=w=>e.unref(l)("bypass_on_error"))}),e.createVNode(Sn,{error:e.unref(_).error,"error-message":e.unref(_).errorMessage,name:"ttl",onBlur:e.unref(_).validate,"onUpdate:modelValue":e.unref(_).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(jt,{"field-name-validator":e.unref(m),"field-names":e.unref(p),items:e.unref(s),"node-type":"cache","onChange:input":e.unref(u),"onChange:inputs":e.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),yP=e.defineComponent({__name:"NodeFormXmlToJson",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=Rt("xml_to_json"),{i18n:{t:r}}=Le(),{formData:a,setName:i,setConfig:l,inputOptions:s,setInputs:c,setInput:u,inputsFieldNames:p,nameValidator:d,toggleNodeValid:f,fieldNameValidator:m}=$t(t.nodeId,()=>n.value.getValue()),g=r("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),_=()=>!!(a.value.attributes_block_name||a.value.attributes_name_prefix),{createFieldHandler:h}=Vn({validationConfig:()=>({attributes_block_name:Bt(()=>_()?void 0:g,S=>{if(S)return Jt(1,32,{fieldName:"Attributes block name"})(S)}),attributes_name_prefix:Bt(()=>_()?void 0:g,S=>{if(S)return Jt(1,32,{fieldName:"Attributes name prefix"})(S)}),text_block_name:Jt(1,32,{fieldName:"Text block name"}),xpath:Jt(1,256,{fieldName:"XPath"})}),getValidationData:()=>({attributes_block_name:a.value.attributes_block_name,attributes_name_prefix:a.value.attributes_name_prefix,text_block_name:a.value.text_block_name,xpath:a.value.xpath}),toggleNodeValid:f}),y=h("attributes_block_name",()=>l("attributes_block_name")),w=h("attributes_name_prefix",()=>l("attributes_name_prefix")),E=h("text_block_name",()=>l("text_block_name")),C=h("xpath",()=>l("xpath")),b=()=>{y.value.validate(),w.value.validate()},k=()=>{y.value.update(),w.value.validate()},N=()=>{w.value.update(),y.value.validate()};return(S,R)=>(e.openBlock(),e.createBlock(ft,{ref:"form",data:e.unref(a),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(d),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(e.unref(Ve.KLabel),{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(An,{name:"recognize_type","onUpdate:modelValue":R[0]||(R[0]=P=>e.unref(l)("recognize_type"))}),e.createVNode(st,{error:e.unref(y).error,"error-message":e.unref(y).errorMessage,name:"attributes_block_name",onBlur:b,"onUpdate:modelValue":k},null,8,["error","error-message"]),e.createVNode(st,{error:e.unref(w).error,"error-message":e.unref(w).errorMessage,name:"attributes_name_prefix",onBlur:b,"onUpdate:modelValue":N},null,8,["error","error-message"]),e.createVNode(st,{error:e.unref(E).error,"error-message":e.unref(E).errorMessage,name:"text_block_name",onBlur:e.unref(E).validate,"onUpdate:modelValue":e.unref(E).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(An,{name:"text_as_property","onUpdate:modelValue":R[1]||(R[1]=P=>e.unref(l)("text_as_property"))}),e.createVNode(st,{error:e.unref(C).error,"error-message":e.unref(C).errorMessage,name:"xpath",onBlur:e.unref(C).validate,"onUpdate:modelValue":e.unref(C).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(jt,{"field-name-validator":e.unref(m),"field-names":e.unref(p),items:e.unref(s),"node-type":"xml_to_json","onChange:input":e.unref(u),"onChange:inputs":e.unref(c)},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),_P=e.defineComponent({__name:"NodeFormJsonToXml",props:{nodeId:{}},setup(t){const n=e.useTemplateRef("form"),o=Rt("json_to_xml"),{i18n:{t:r}}=Le(),{formData:a,setName:i,setConfig:l,inputOptions:s,setInputs:c,setInput:u,addField:p,removeFieldByName:d,renameFieldByName:f,inputsFieldNames:m,nameValidator:g,toggleNodeValid:_,fieldNameValidator:h}=$t(t.nodeId,()=>n.value.getValue()),y=r("plugins.free-form.datakit.flow_editor.node_properties.errors.attributes_required"),w=()=>!!(a.value.attributes_block_name||a.value.attributes_name_prefix),{createFieldHandler:E}=Vn({validationConfig:{attributes_block_name:Bt(()=>w()?void 0:y,Jt(1,32,{fieldName:"Attributes block name"})),attributes_name_prefix:Bt(()=>w()?void 0:y,Jt(1,32,{fieldName:"Attributes name prefix"})),root_element_name:Jt(1,64,{fieldName:"Root element name"}),text_block_name:Jt(1,32,{fieldName:"Text block name"})},getValidationData:()=>({attributes_block_name:a.value.attributes_block_name,attributes_name_prefix:a.value.attributes_name_prefix,root_element_name:a.value.root_element_name,text_block_name:a.value.text_block_name}),toggleNodeValid:_}),C=E("attributes_block_name",()=>l("attributes_block_name")),b=E("attributes_name_prefix",()=>l("attributes_name_prefix")),k=E("root_element_name",()=>l("root_element_name")),N=E("text_block_name",()=>l("text_block_name"));function S(){C.value.validate(),b.value.validate()}function R(){C.value.update(),b.value.validate()}function P(){b.value.update(),C.value.validate()}function A(I,q){p("input",I,q)}function T(I){d("input",I)}function O(I,q){f("input",I,q)}return(I,q)=>(e.openBlock(),e.createBlock(ft,{ref:"form",data:e.unref(a),schema:e.unref(o)},{default:e.withCtx(()=>[e.createVNode(Xt,{name:e.unref(a).name,validate:e.unref(g),onUpdate:e.unref(i)},null,8,["name","validate","onUpdate"]),e.createVNode(e.unref(Ve.KLabel),{class:"dk-node-configuration-label"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("plugins.free-form.datakit.flow_editor.node_properties.configuration")),1)]),_:1}),e.createVNode(st,{error:e.unref(C).error,"error-message":e.unref(C).errorMessage,name:"attributes_block_name",onBlur:S,"onUpdate:modelValue":R},null,8,["error","error-message"]),e.createVNode(st,{error:e.unref(b).error,"error-message":e.unref(b).errorMessage,name:"attributes_name_prefix",onBlur:S,"onUpdate:modelValue":P},null,8,["error","error-message"]),e.createVNode(st,{error:e.unref(k).error,"error-message":e.unref(k).errorMessage,name:"root_element_name",onBlur:e.unref(k).validate,"onUpdate:modelValue":e.unref(k).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(st,{error:e.unref(N).error,"error-message":e.unref(N).errorMessage,name:"text_block_name",onBlur:e.unref(N).validate,"onUpdate:modelValue":e.unref(N).update},null,8,["error","error-message","onBlur","onUpdate:modelValue"]),e.createVNode(jt,{"field-name-validator":e.unref(h),"field-names":e.unref(m),items:e.unref(s),"node-type":"json_to_xml","onAdd:field":A,"onChange:input":e.unref(u),"onChange:inputs":e.unref(c),"onRemove:field":T,"onRename:field":O},null,8,["field-name-validator","field-names","items","onChange:input","onChange:inputs"])]),_:1},8,["data","schema"]))}}),bP=["innerHTML"],kP={key:1,class:"branch-note"},wP={class:"branch-label"},CP={class:"branch-text"},EP=e.defineComponent({__name:"NodePropertiesPanel",props:{maxWidth:{default:`${qc}px`},offsetTop:{default:`${nE}px`},visible:{type:Boolean},nodeId:{}},emits:["close"],setup(t){const{t:n}=et.createI18n("en-us",tt),{getNodeById:o,branchGroups:r}=Ze(),a=e.computed(()=>t.nodeId&&o(t.nodeId)),i=e.computed(()=>{if(t.nodeId)return r.findMembership(t.nodeId)}),l=e.computed(()=>{if(!i.value)return"";const u=o(i.value.ownerId);return u?`${u.name}.${i.value.branch}`:""});function s(){t.nodeId&&r.removeMember(t.nodeId)}const c=e.computed(()=>{var u;switch((u=a.value)==null?void 0:u.type){case"call":return eP;case"service_request":return tP;case"response":return nP;case"jq":return oP;case"static":return lP;case"property":return fP;case"exit":return pP;case"branch":return gP;case"cache":return hP;case"xml_to_json":return yP;case"json_to_xml":return _P;default:return null}});return(u,p)=>(e.openBlock(),e.createBlock(e.unref(Ve.KSlideout),{class:"dk-node-properties-panel","close-on-blur":!1,"has-overlay":!1,"max-width":t.maxWidth,"offset-top":t.offsetTop,visible:t.visible,"z-index":e.unref(tE),onClose:p[0]||(p[0]=d=>u.$emit("close"))},e.createSlots({default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dk-node-properties-panel-desc",innerHTML:e.unref(Ct)(a.value.type)},null,8,bP)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createElementBlock("div",kP,[e.createElementVNode("span",wP,[e.createVNode(e.unref(ue.ArrowSplitIcon),{color:e.unref(Dn),size:e.unref(fo)},null,8,["color","size"]),e.createElementVNode("span",CP,e.toDisplayString(l.value),1)]),e.createVNode(e.unref(Ve.KTooltip),{placement:"top",text:e.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch")},{default:e.withCtx(()=>[e.createVNode(e.unref(Ve.KButton),{appearance:"none","aria-label":e.unref(n)("plugins.free-form.datakit.flow_editor.actions.remove_from_branch"),class:"remove-branch",icon:"",size:"small",onClick:s},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.TrashIcon))]),_:1},8,["aria-label"])]),_:1},8,["text"])])):e.createCommentVNode("",!0),c.value?(e.openBlock(),e.createBlock(e.unref(c),{key:t.nodeId,class:"dk-node-properties-panel-form","node-id":t.nodeId},null,8,["node-id"])):e.createCommentVNode("",!0)]),_:2},[a.value?{name:"title",fn:e.withCtx(()=>[e.createVNode(zd,{type:a.value.type},null,8,["type"])]),key:"0"}:void 0]),1032,["max-width","offset-top","visible","z-index"]))}}),NP=ye(EP,[["__scopeId","data-v-6b2b83cd"]]),xP={class:"dk-editor-content"},AP={class:"main"},SP=ye(e.defineComponent({__name:"EditorContent",setup(t){const{propertiesPanelOpen:n,selectedNode:o}=Ze();function r(){n.value=!1}e.watch(o,i=>{i||r()});const a=e.ref(!1);return e.onMounted(()=>{a.value=!0}),(i,l)=>{var s;return e.openBlock(),e.createElementBlock("div",xP,[e.createVNode(e.unref(zA)),e.createElementVNode("div",AP,[e.createVNode(cA)]),e.createVNode(NP,{"node-id":(s=e.unref(o))==null?void 0:s.id,visible:e.unref(n),onClose:r},null,8,["node-id","visible"])])}}}),[["__scopeId","data-v-8f04afa6"]]),PP={key:0,class:"dk-editor-modal"},IP=ye(e.defineComponent({__name:"EditorModal",props:{open:{type:Boolean},openModifiers:{}},emits:["update:open"],setup(t){e.useCssVars(s=>({v8758bbfe:`${e.unref(eE)}px`,v30e03211:`${e.unref(Kc)}px`}));const n=e.useModel(t,"open"),o=e.ref(!1),r=e.useTemplateRef("confirm-modal"),{clear:a}=Ze();y1(async(...s)=>{o.value=!0;const c=await r.value.open(...s);return o.value=!1,c});const i=Ye.useScrollLock(document);e.watch(n,s=>{i.value=!!s,s||a()},{immediate:!0});function l(){n.value=!1}return(s,c)=>n.value?(e.openBlock(),e.createElementBlock("div",PP,[e.createVNode(oA,{class:"nav",onBack:l}),e.createVNode(SP,{ref:"content",class:"content",tabindex:"0"},null,512),e.createVNode(Q1,{ref:"confirm-modal"},null,512)])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-abbb8dba"]]),TP={class:"dk-flow-editor"},OP={class:"flow-panels-container"},VP={class:"overlay"},BP=ye(e.defineComponent({__name:"FlowEditor",props:{isEditing:{type:Boolean}},emits:["change","error"],setup(t,{emit:n}){const{t:o}=et.createI18n("en-us",tt),{formData:r}=Ke(),a=n;function i(c,u,p,d){const f={...r.config,nodes:c};p!==void 0&&(f.resources=p);const m={...r.__ui_data,...u};r.config=f,r.__ui_data=m,d!=null?r.partials=[{id:d}]:r.partials&&(r.partials=null),a("change",f,m)}const{modalOpen:l,setPendingFitView:s}=jc(r,{onChange:i,isEditing:t.isEditing});return e.watch(l,()=>{s(!0)},{flush:"post"}),YC({enabled:l}),(c,u)=>{const p=e.resolveComponent("KButton");return e.openBlock(),e.createElementBlock("div",TP,[e.createElementVNode("div",OP,[e.createVNode(fi,{inactive:e.unref(l),mode:"preview"},null,8,["inactive"]),e.createElementVNode("div",VP,[e.createVNode(p,{appearance:"secondary",class:"button-open-editor",onClick:u[0]||(u[0]=d=>l.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("plugins.free-form.datakit.flow_editor.cta"))+" ",1),e.createVNode(e.unref(ue.ExpandIcon))]),_:1})])]),e.createVNode(IP,{open:e.unref(l),"onUpdate:open":u[1]||(u[1]=d=>e.isRef(l)?l.value=d:null)},null,8,["open"])])}}}),[["__scopeId","data-v-82ca6e78"]]),$P=["innerHTML"],RP={class:"dk-option-label"},FP=["innerHTML"],LP=ye(e.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},editorMode:{},formConfig:{},renderRules:{},pluginName:{}},setup(t){const{t:n}=et.createI18n("en-us",tt),o=t,r=e.inject(je.FORMS_CONFIG),a=e.ref(!1);e.onMounted(()=>{a.value=!!document.querySelector("#plugin-form-page-actions")});const{editorMode:i}=hr(),l=e.computed(()=>r.app!=="konnect"||u.value===!1?"code":i.value),s=e.computed(()=>r.app==="kongManager"?"code":l.value==="flow"?"form":"code"),c={flow:ue.DesignIcon,code:ue.CodeblockIcon},u=e.ref(!0),p=e.ref(""),d=e.computed(()=>{const C=[{label:n("plugins.free-form.datakit.flow_editor.mode"),value:"flow"},{label:n("plugins.free-form.datakit.code_editor.mode"),value:"code"}];return C[0].disabled=!u.value,C}),f=e.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""}}),m=e.computed(()=>u.value?"":n("plugins.free-form.datakit.flow_editor.disabled_tooltip",{reason:p.value,code:C=>`<code>${by(C)}</code>`}));e.watch(l,()=>{var C;(C=o.onValidityChange)==null||C.call(o,{model:"config",valid:!0})});function g(){var C;(C=o.onValidityChange)==null||C.call(o,{model:"config",valid:!0})}function _(){g()}function h(C){return C.map(b=>typeof b=="number"?`[${b}]`:C.length&&typeof b=="string"&&b.includes(".")?`["${b}"]`:`.${b}`).join("").replace(/^\./,"")}function y(C){return C.issues.map(b=>`${h(b.path)} - ${b.message}`).join("; ")}function w(C){if(g(),r.app!=="konnect")return;const b=C==null?void 0:C.config,{success:k,error:N}=lu.safeParse(b);p.value=k||!N?"":y(N),u.value=k}function E(C){var b;p.value=C,u.value=!1,(b=o.onValidityChange)==null||b.call(o,{model:"config",valid:!1,error:C})}return(C,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(r).app==="konnect"?(e.openBlock(),e.createBlock(e.Teleport,{key:0,disabled:!a.value,to:"#plugin-form-page-actions"},[e.createVNode(e.unref(Ve.KSegmentedControl),{"data-testid":"datakit-editor-mode-switcher","model-value":l.value,options:d.value,"onUpdate:modelValue":b[0]||(b[0]=k=>i.value=k)},{"option-label":e.withCtx(({option:k})=>[e.createVNode(e.unref(Ve.KTooltip),{disabled:u.value||k.value!=="flow"},{content:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:m.value},null,8,$P)]),default:e.withCtx(()=>[e.createElementVNode("div",RP,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c[k.value]))),e.createTextVNode(" "+e.toDisplayString(k.label),1)])]),_:2},1032,["disabled"])]),_:1},8,["model-value","options"])],8,["disabled"])):e.createCommentVNode("",!0),e.createVNode(dr,e.mergeProps(o,{class:"dk-form","editor-mode":s.value}),{"code-editor":e.withCtx(()=>[e.createVNode(IC,{class:"code-editor",editing:o.isEditing,onChange:w,onError:E},null,8,["editing"])]),"plugin-config-title":e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("plugins.free-form.datakit.flow_editor.mode")),1)]),"plugin-config-description":e.withCtx(()=>[e.createElementVNode("span",{innerHTML:f.value},null,8,FP)]),default:e.withCtx(()=>[l.value==="flow"?(e.openBlock(),e.createBlock(BP,{key:0,"is-editing":o.isEditing,onChange:_},null,8,["is-editing"])):e.createCommentVNode("",!0)]),_:1},16,["editor-mode"])],64))}}),[["__scopeId","data-v-673cc067"]]),pu=t=>{if(!(!t||typeof t!="object"))for(const[n,o]of Object.entries(t))typeof o=="string"&&(t[n]=o.split(/\s*,\s*/).filter(Boolean))},mu=t=>{if(!(!t||typeof t!="object"))for(const[n,o]of Object.entries(t))Array.isArray(o)&&(t[n]=o.join(", "))},DP=e.defineComponent({__name:"ConfigForm",props:{schema:{},data:{},onChange:{type:Function}},emits:["change"],setup(t,{emit:n}){const o=n,{i18n:{t:r}}=Me.useI18n(),l={prepareFormData:u=>{var d,f;const p=kn(u);return(f=(d=p.config)==null?void 0:d.tools)!=null&&f.length&&p.config.tools.forEach(m=>{mu(m.headers),mu(m.query)}),p},hasValue:u=>!!(u!=null&&u.config)},s=u=>{var d,f;const p=kn(u);(f=(d=p.config)==null?void 0:d.tools)!=null&&f.length&&p.config.tools.forEach(m=>{pu(m.headers),pu(m.query)}),o("change",p)},c=e.useId();return Zo(()=>t.schema,c),(u,p)=>(e.openBlock(),e.createBlock(ft,{config:l,data:t.data,"data-instance-id":e.unref(c),"data-plugin-name":"ai-mcp-proxy","data-testid":"ff-config-form",schema:t.schema,tag:"div",onChange:s},{default:e.withCtx(()=>[e.createVNode(kt,{"as-child":"",name:"config","reset-label-path":"reset"},{default_acl:e.withCtx(({name:d})=>[e.createVNode(po,{appearance:"tabs","item-label":(f,m)=>e.unref(r)("plugins.free-form.ai-mcp-proxy.default_acl_item_label",{index:m+1}),name:d,"sticky-tabs":""},null,8,["item-label","name"])]),tools:e.withCtx(({name:d})=>[e.createVNode(po,{appearance:"tabs","item-label":(f,m)=>e.unref(r)("plugins.free-form.ai-mcp-proxy.tool_item_label",{index:m+1}),name:d,"sticky-tabs":""},null,8,["item-label","name"])]),_:1}),e.createVNode(nr)]),_:1},8,["data","data-instance-id","schema"]))}}),MP=e.defineComponent({__name:"AIMcpProxyForm",props:{schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function}},setup(t){const n=t,o=e.useSlots();return e.provide(je.AUTOFILL_SLOT,o==null?void 0:o[je.AUTOFILL_SLOT_NAME]),(r,a)=>(e.openBlock(),e.createBlock(ba,e.normalizeProps(e.guardReactiveProps(n)),{default:e.withCtx(i=>[e.createVNode(DP,e.normalizeProps(e.guardReactiveProps(i)),null,16)]),_:1},16))}}),yi=ye(e.defineComponent({__name:"ConfigForm",setup(t){const{getSchema:n,createComputedRenderRules:o}=Ke(),r=o("config"),a=e.computed(()=>{var _;const i=[],l=[],s=new Set,u=n().fields.find(h=>Object.keys(h)[0]==="config");if(!u||!("config"in u))return{defaultVisible:i,advanced:l};const p=u.config;p.entity_checks&&p.entity_checks.forEach(h=>{var w,E;let y;"at_least_one_of"in h?y=h.at_least_one_of:"conditional"in h&&((w=n(Xe("config",h.conditional.if_field)))!=null&&w.required)&&h.conditional.then_match.required?y=[h.conditional.if_field,h.conditional.then_field]:"conditional_at_least_one_of"in h&&((E=n(Xe("config",h.conditional_at_least_one_of.if_field)))!=null&&E.required)&&(y=[h.conditional_at_least_one_of.if_field,...h.conditional_at_least_one_of.then_at_least_one_of]),y==null||y.forEach(C=>s.add(C))});const d=((_=r.value)==null?void 0:_.bundles)??[],f=new Map;for(const h of d)for(let y=1;y<h.length;y++)f.set(h[y],h[y-1]);const m=h=>{const y=f.get(h);return y?m(y):h},g=new Map;for(const h of p.fields){const y=Object.keys(h)[0];g.set(y,m(y))}for(const h of p.fields){const y=Object.keys(h)[0];if(g.get(y)!==y)continue;let E;h[y].required||s.has(y)?E=i:E=l,E.push(y)}for(const h of p.fields){const y=Object.keys(h)[0],w=g.get(y);w!==y&&(i.includes(w)?i:l).push(y)}return{defaultVisible:i,advanced:l}});return(i,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(kt,{"as-child":"",class:"ff-default-visible-fields",name:"config",omit:a.value.advanced,"reset-label-path":"reset"},null,8,["omit"]),e.createVNode(nr,{class:"ff-advanced-fields-container","data-testid":"ff-advanced-fields-container","hide-general-fields":""},{default:e.withCtx(()=>[e.createVNode(kt,{"as-child":"",name:"config",omit:a.value.defaultVisible,"reset-label-path":"reset"},null,8,["omit"])]),_:1})],64))}}),[["__scopeId","data-v-c12ebbc8"]]),jP=e.defineComponent({__name:"UpstreamOauthForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{},formConfig:{},renderRules:{},pluginName:{}},setup(t){const n=t,o=e.useSlots();return e.provide(je.AUTOFILL_SLOT,o==null?void 0:o[je.AUTOFILL_SLOT_NAME]),(r,a)=>(e.openBlock(),e.createBlock(dr,e.normalizeProps(e.guardReactiveProps(n)),{"field-renderers":e.withCtx(()=>[e.createVNode(go,{match:({path:i})=>i==="config.behavior.idp_error_response_body_template"},{default:e.withCtx(i=>[e.createVNode(st,e.mergeProps(i,{multiline:"",rows:4}),null,16)]),_:1},8,["match"])]),default:e.withCtx(()=>[e.createVNode(yi)]),_:1},16))}}),vP={"data-testid":"ff-identity-realms-field"},UP=["innerHTML"],KP=e.defineComponent({__name:"FreeFormAdapter",props:{name:{},label:{},labelAttributes:{},required:{type:Boolean},placeholder:{},resetLabelPath:{}},setup(t){const n=t,{error:o,value:r,path:a}=yt(e.toRef(n,"name"));if(o)throw o;const i=St(a,n);return(l,s)=>{var u;const c=e.resolveComponent("KLabel");return e.openBlock(),e.createElementBlock("div",vP,[e.createVNode(c,e.mergeProps({class:"ff-array-field-label"},e.unref(i),{"data-testid":`ff-label-${e.unref(a)}`,"tooltip-attributes":e.unref(i).labelAttributes.tooltipAttributes}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i).label)+" ",1)]),_:2},[(u=e.unref(i).labelAttributes)!=null&&u.info?{name:"tooltip",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip",{},()=>[e.createElementVNode("div",{innerHTML:e.unref(i).labelAttributes.info},null,8,UP)])]),key:"0"}:void 0]),1040,["data-testid","tooltip-attributes"]),e.createVNode(Vi,{modelValue:e.unref(r),"onUpdate:modelValue":s[0]||(s[0]=p=>e.isRef(r)?r.value=p:null)},null,8,["modelValue"])])}}}),qP={key:1,hidden:""},GP=e.defineComponent({__name:"KeyAuthForm",props:{generalInfoTitle:{},generalInfoDescription:{},pluginConfigTitle:{},pluginConfigDescription:{},schema:{},formSchema:{},model:{},formModel:{},formOptions:{},isEditing:{type:Boolean},onModelUpdated:{type:Function},onFormChange:{type:Function},onValidityChange:{type:Function},editorMode:{},formConfig:{},renderRules:{},pluginName:{}},setup(t){const n=t,o=e.useSlots();e.provide(je.AUTOFILL_SLOT,o==null?void 0:o[je.AUTOFILL_SLOT_NAME]);const r=e.inject(je.FORMS_CONFIG),a=e.computed(()=>(r==null?void 0:r.app)==="konnect");return(i,l)=>(e.openBlock(),e.createBlock(dr,e.normalizeProps(e.guardReactiveProps(n)),{"field-renderers":e.withCtx(()=>[e.createVNode(go,{match:({path:s})=>s==="config.identity_realms"},{default:e.withCtx(s=>[a.value?(e.openBlock(),e.createBlock(KP,e.normalizeProps(e.mergeProps({key:0},s)),null,16)):(e.openBlock(),e.createElementBlock("span",qP))]),_:1},8,["match"])]),default:e.withCtx(()=>[e.createVNode(yi)]),_:1},16))}}),gu=Object.freeze(Object.defineProperty({__proto__:null,AIMcpProxyForm:MP,CommonForm:e.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},editorMode:{},formConfig:{},renderRules:{},pluginName:{}},setup(t){const n=t,o=e.useSlots();e.provide(je.AUTOFILL_SLOT,o==null?void 0:o[je.AUTOFILL_SLOT_NAME]);const r=e.inject(lo.KM_2262_CODE_MODE,!1),{i18n:{t:a}}=Me.useI18n(),i=Ye.useLocalStorage("plugin-editor-mode","form"),l=e.ref(r?i.value:"form"),s=[{label:a("plugins.free-form.editor_mode.visual"),value:"form"},{label:a("plugins.free-form.editor_mode.code"),value:"code"}];function c(u){l.value=u,i.value=u}return(u,p)=>{const d=e.resolveComponent("KSegmentedControl");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(r)?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"#plugin-form-page-actions"},[e.createVNode(d,{"data-testid":"plugin-editor-mode-switcher","model-value":l.value,options:s,"onUpdate:modelValue":c},null,8,["model-value"])])):e.createCommentVNode("",!0),e.createVNode(dr,e.mergeProps(n,{"editor-mode":l.value}),{default:e.withCtx(()=>[e.createVNode(yi)]),_:1},16,["editor-mode"])],64)}}}),DatakitForm:LP,KeyAuthForm:GP,RequestCalloutForm:Eb,ServiceProtectionForm:nk,UpstreamOauthForm:jP},Symbol.toStringTag,{value:"Module"}));function zP(t){if(t.length===0)return"";if(t.length===1){const a=bt(t[0]);return Xe(...a.slice(0,-1))}const n=t.map(a=>bt(a)),o=Math.min(...n.map(a=>a.length)),r=[];for(let a=0;a<o-1;a++){const i=n[0][a];if(n.every(l=>l[a]===i))r.push(i);else break}return Xe(...r)}function _i(t){return"at_least_one_of"in t?t.at_least_one_of:"mutually_required"in t?t.mutually_required:"mutually_exclusive"in t?t.mutually_exclusive:null}function HP(t,n){if(!n)return t;const o=n+Jo;return t.map(r=>r.startsWith(o)?r.slice(o.length):r)}function WP(t,n){const o=_i(t),r=HP(o,n);return"at_least_one_of"in t?{at_least_one_of:r}:"mutually_required"in t?{mutually_required:r}:{mutually_exclusive:r}}function YP(t){const n=[],o=new Map;for(const r of t){const a=_i(r);if(!a){n.push(r);continue}const i=zP(a);if(!i){n.push(r);continue}const l=WP(r,i);o.has(i)||o.set(i,[]),o.get(i).push(l)}return{keep:n,move:o}}function JP(t,n,o){const r=bt(n);let a=t;for(const i of r){const l=a.fields.find(c=>Object.keys(c)[0]===i);if(!l)return;const s=l[i];if(s.type!=="record")return;a=s}a.entity_checks=[...a.entity_checks||[],...o]}function hu(t){var n;if((n=t.entity_checks)!=null&&n.length){const{keep:o,move:r}=YP(t.entity_checks);t.entity_checks=o.length?o:void 0;for(const[a,i]of r)JP(t,a,i)}for(const o of t.fields){const r=Object.values(o)[0];r.type==="record"&&hu(r)}}function XP(t){const n=JSON.parse(JSON.stringify(t)),o={fields:n.fields};return hu(o),n.fields=o.fields,n}function ZP(t,n){const o=Nt[t];if(!o||!o.fieldRules)return n;const r=QP(o.fieldRules),a={...n};return a.fields=a.fields.map(i=>{if(Object.keys(i)[0]==="config"){const s=i.config.entity_checks||[],c=d=>{const m=[..._i(d)??[]].slice().sort();return`${Object.keys(d)[0]}:${m.join(",")}`},u=new Set(s.map(c)),p=r.filter(d=>{const f=c(d);return u.has(f)?!1:(u.add(f),!0)});return{config:{...i.config,entity_checks:[...s,...p]}}}return i}),a}function QP(t){const n=[],o=r=>r.startsWith("config.")?r.substring(7):r;return t.atLeastOneOf&&t.atLeastOneOf.forEach(r=>{n.push({at_least_one_of:r.map(o)})}),t.onlyOneOf&&t.onlyOneOf.forEach(r=>{n.push({mutually_exclusive:r.map(o)})}),t.mutuallyRequired&&t.mutuallyRequired.forEach(r=>{n.push({mutually_required:r.map(o)})}),t.onlyOneOfMutuallyRequired&&t.onlyOneOfMutuallyRequired.forEach(r=>{if(r.forEach(a=>{n.push({mutually_required:a.map(o)})}),r.length>1)for(let a=0;a<r.length;a++)for(let i=a+1;i<r.length;i++){const l=r[a].map(o),s=r[i].map(o);l.forEach(c=>{s.forEach(u=>{n.push({mutually_exclusive:[c,u]})})})}}),n}const eI={class:"kong-ui-entities-plugin-form"},tI={key:1,class:"entity-form"},nI={class:"plugin-config-empty-state"},oI=ye(e.defineComponent({__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},rawSchema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableRedisPartial:{type:Boolean,default:!1},engine:{type:String,required:!1,default:void 0}},emits:["loading","model-updated","showNewPartialModal","globalAction","validity-change"],setup(t,{emit:n}){var Ce,we;const o=Object.keys(je.sharedForms),r=Object.keys(gu);if(new Set([...o,...r]).size!==o.length+r.length)throw new Error("Duplicate form component names found in `sharedForms` and `freeForm`");const a=n,i=t,l=e.inject(lo.KM_2306_CONDITION_FIELD_314,!1),{axiosInstance:s}=ee.useAxios((Ce=i.config)==null?void 0:Ce.axiosRequestConfig),{parseSchema:c}=Me.useSchemas({entityId:((we=i.entityMap.focusedEntity)==null?void 0:we.id)||void 0,credential:i.credential,enableRedisPartial:i.enableRedisPartial,experimentalRenders:i.config.app==="konnect"?i.config.experimentalRenders:void 0}),{convertToDotNotation:u,unFlattenObject:p,dismissField:d,isObjectEmpty:f,unsetNullForeignKey:m}=Me.usePluginHelpers(),{shouldUseFreeForm:g,getFreeFormName:_}=Me.useFreeFormResolver(),{objectsAreEqual:h}=ee.useHelpers(),{i18n:{t:y}}=Le(),w=X=>i.config.app==="konnect"?X.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"?X.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:""):X,E=(X,J)=>{let le=`${i.config.apiBaseUrl}${We.form[i.config.app].entityGetOne}`;return le=w(le),le=le.replace(/{entity}/gi,X),le=le.replace(/{id}/gi,J),le},C=X=>{let J=`${i.config.apiBaseUrl}${We.form[i.config.app].entityGetAll}`;return J=w(J),J=J.replace(/{entity}/gi,X),J},b=(X,J,le)=>{const ae=E(X,J);return s.get(ae,le)},k=(X,J)=>{const le=C(X);return i.config.app==="konnect"?s.get(le).then(ae=>{const{data:{data:Ee}}=ae;if(delete J.size,delete J.offset,Ee.length&&Object.keys(J).length===1){const se=Object.keys(J)[0],De=Ee.filter(ie=>ie[se]?!!ie[se].toLowerCase().includes(J[se].toLowerCase()):!1);ae.data.data=De}return ae}):s.get(le,{params:J})},N=(X,J,le)=>{const ae=C(X);if(i.config.app==="konnect"){const{size:Ee,offset:se,...De}=J;if(X==="consumer_groups")return s.get(ae,{params:{size:1e3},signal:le}).then(pe=>{const{data:{data:ce}}=pe;if(ce.length&&Object.keys(De).length===1){const xe=Object.keys(De)[0],he=ce.filter($=>$[xe]?!!$[xe].toLowerCase().includes(De[xe].toLowerCase()):!1);pe.data.data=he}return pe});const ie={size:Ee,offset:se};for(const pe of Object.keys(De))ie.filter={[pe]:{contains:De[pe]}};return s.get(ae,{params:ie,signal:le})}return s.get(ae,{params:J,signal:le})},S=(X,J=50)=>{const le=C(X);return s.get(le,{params:{size:J}})};e.provide(je.FORMS_API_KEY,{getOne:b,getAll:k,getAllV2:N,peek:S}),e.provide(je.FORMS_CONFIG,i.config);const R=e.ref(""),P=e.ref(""),A=e.ref(null),T=e.ref({}),O=e.reactive({}),I=e.reactive({}),q=e.computed(()=>{var X;return(X=A.value)==null?void 0:X.options}),v=e.computed(()=>{const X=ZP(I.name,i.rawSchema);return XP(X)}),W=e.ref(!1),U=e.ref(),D=(X,J)=>{W.value=X??"",U.value=J},j=X=>{var J;(J=U.value)==null||J.call(U,X),W.value=!1},x=X=>{var ie,pe;const J={...i.schema},le=I,ae=O,Ee=Object.keys(le),se={};if(!f(T.value))for(let ce=0;ce<((pe=(ie=T.value)==null?void 0:ie.fields)==null?void 0:pe.length);ce++)J[T.value.fields[ce].model]=T.value.fields[ce];je.customFields.forEach(ce=>{J[ce]&&(J[ce].fields.forEach(xe=>{xe.fields&&xe.fields.forEach(he=>{J[he.model]=he}),xe.model&&(J[xe.model]=xe)}),delete J[ce])}),Ee.forEach(ce=>{var Se;if(!J[ce]){ce==="partials"&&(se[ce]=le[ce]);return}const xe=J[ce];let he=le[ce];const $=ae[ce],K=Array.isArray(he)?"array":typeof he,V=xe?xe.valueType:null,oe=xe?xe.valueArrayType:null,z=xe?xe.transform:null;if(he==null&&$==null&&!xe.submitWhenNull)return;if(xe){if(V&&K!==V)switch(V){case"array":K==="string"&&he.length&&(he=he.split(",").map(de=>{if(de=de.trim(),oe==="string")return String(de);if(oe==="number")return Number(de);if(oe==="boolean"){if(typeof de=="string")return de.toLowerCase()==="true"||de==="1";if(typeof de=="number")return de===1}return de})),(!he||!he.length)&&(he=xe.submitWhenNull?null:[]);break;case"number":xe.referenceable!==!0&&(he=Number(he));break;case"boolean":K==="string"&&(he=he.toLowerCase()==="true"||he==="1"),K==="number"&&(he=he===1);break;case"string":he=he==null?"":String(he);break}else V==="array"&&(!he||!he.length?he=xe.submitWhenNull?null:[]:((Se=xe.inputAttributes)==null?void 0:Se.type)==="number"&&(he=he.map(de=>Number(de))));if(xe.type==="array"&&xe.nestedFields){const de=Pe=>{Object.keys(Pe).forEach(Re=>{Pe[Re]&&typeof Pe[Re]=="object"&&!Array.isArray(Pe[Re])&&Pe[Re]!==null?de(Pe[Re]):(Pe[Re]===void 0||Pe[Re]===null||typeof Pe[Re]=="number"&&isNaN(Pe[Re])||typeof Pe[Re]=="string"&&Pe[Re].trim().length===0)&&delete Pe[Re]})};he&&typeof he=="object"&&de(he)}xe.type==="object-advanced"&&xe.fields&&he!==null&&(Object.entries(he).length===0?he=null:Object.keys(he).forEach(de=>{Array.isArray(he[de])||(he[de]=he[de].split(","))}))}let re=u(ce);if(xe.fieldNameHasDashes){const[de,...Pe]=re.split(".").reverse();re=[de.replace(/_/g,"-"),...Pe].reverse().join(".")}if(V==="object-expand"){let de;[re,de]=re.split(".");let Pe={};se[re]&&(Pe=se[re]),Pe[de]=he,he=Pe}$!==void 0&&he===""&&he!==$?se[re]=V==="object"?{}:null:xe.type==="checklist"&&he===""?se[re]=[]:he!==""&&(se[re]=he),se[re]=z?z(he):se[re],m(re,se)});const De=p(se);if(P.value){if(X&&X.length)for(const ce of X)delete De[ce];Object.assign(De,H.value)}return De},M=(X,J={})=>{d(I,J,X,i.editing),a("model-updated",{model:I,originalModel:O,data:x()})},G=(X,J)=>{var Ee;const le={[J]:X};typeof((Ee=i.schema[J])==null?void 0:Ee.modelTransformer)=="function"&&(le[J]=i.schema[J].modelTransformer(X));const ae=Object.assign({},I,le);Object.assign(I,ae),a("model-updated",{model:I,originalModel:O,data:x()})},te=X=>{a("validity-change",X)},L=(X,J)=>{Object.keys(X).forEach(le=>{var ie,pe;let ae=J?`${J}-${le}`:le,Ee=i.schema[ae];if(!Ee){const ce=J?`${J}-${le.replace(/-/g,"_")}`:le.replace(/-/g,"_");(ie=i.schema[ce])!=null&&ie.fieldNameHasDashes&&(ae=ce,Ee=i.schema[ae]),J&&((pe=i.schema[J])==null?void 0:pe.keyFromObject)===le&&(ae=J,Ee=i.schema[ae])}const se=X[le],De=typeof se;if(Ee&&Ee.type==="object-advanced"&&!se){I[ae]={},O[ae]={};return}if(Array.isArray(se)){I[ae]=JSON.parse(JSON.stringify(se)),O[ae]=JSON.parse(JSON.stringify(se));return}if(De==="object"&&se&&!se.length)return L(se,ae);if(De==="object"&&se&&se.length&&Ee.type==="input"){I[ae]=se.join(", "),O[ae]=se.join(", ");return}I[ae]=se,O[ae]=se}),a("model-updated",{model:I,originalModel:O,data:x()})},H=e.shallowRef(i.record),Z=(X,J)=>{H.value=X;const le={...I};for(const ae of J||[])delete le[ae];a("model-updated",{model:{...le,...X},originalModel:O,data:x(J)})},Ne=e.ref(!0),Oe=()=>{var X;if(i.record&&i.schema&&(L({enabled:i.record.enabled??!0,...i.record.instance_name&&{instance_name:i.record.instance_name||""},...l&&i.record.condition!=null&&{condition:i.record.condition},...i.record.protocols&&{protocols:i.record.protocols},...i.record.tags&&{tags:i.record.tags}}),i.credential?((i.record.consumer_id||i.record.consumer)&&L({consumer_id:i.record.consumer_id||i.record.consumer}),L(i.record)):i.record.config&&((i.record.consumer_id||i.record.consumer||i.record.service_id||i.record.service||i.record.route_id||i.record.route||i.record.consumer_group_id||i.record.consumer_group)&&L({service_id:i.record.service_id||i.record.service,route_id:i.record.route_id||i.record.route,consumer_id:i.record.consumer_id||i.record.consumer,consumer_group_id:i.record.consumer_group_id||i.record.consumer_group}),i.record.partials&&M("redis",{partials:i.record.partials}),P.value?Z(i.record):L(i.record.config,"config"))),Object.keys(i.entityMap).length&&!i.entityMap.global&&i.schema){const J={};for(const le in i.entityMap){const ae=i.entityMap[le].id,Ee=i.entityMap[le].idField,se=Ee==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(Ee).replace("_","-"));Object.prototype.hasOwnProperty.call(I,se)&&(J[se]=ae)}L(J)}if((X=i.entityMap.consumer)!=null&&X.id&&i.schema&&i.credential){const J={};Object.prototype.hasOwnProperty.call(I,"consumer")&&(J.consumer=i.entityMap.consumer.id),L(J)}Ne.value=!1};return e.watch(Ne,X=>{a("loading",X)}),e.watch(()=>i.schema,(X,J)=>{var ae,Ee;if(h(X||{},J||{}))return;const le=c(X,void 0,void 0,i.engine);Object.assign(I,le.model),T.value={fields:(Ee=(ae=T.value)==null?void 0:ae.fields)==null?void 0:Ee.map(se=>({...se,disabled:se.disabled||!1}))},Object.assign(O,JSON.parse(JSON.stringify(le.model))),P.value=g(le.model.name,i.engine)?_(le.model.name):void 0,R.value=je.getSharedFormName(le.model.name),Oe()},{immediate:!0,deep:!0}),e.onBeforeMount(()=>{var X,J;A.value=c(i.schema,void 0,void 0,i.engine),Object.assign(I,((X=A.value)==null?void 0:X.model)||{}),T.value=((J=A.value)==null?void 0:J.schema)||{},Oe()}),(X,J)=>{var ae,Ee;const le=e.resolveComponent("KSkeleton");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",eI,[Ne.value?(e.openBlock(),e.createBlock(le,{key:0,type:"form"})):I.id&&t.editing||!t.editing?(e.openBlock(),e.createElementBlock("div",tI,[P.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(gu[P.value]),{key:0,"form-model":I,"form-options":q.value,"form-schema":T.value,"is-editing":t.editing,model:t.record,"on-form-change":Z,"on-model-updated":G,"on-validity-change":te,"plugin-name":I.name,"render-rules":(ae=e.unref(Nt)[I.name])==null?void 0:ae.freeformRenderRules,schema:v.value,onGlobalAction:J[0]||(J[0]=(se,De)=>X.$emit("globalAction",se,De))},e.createSlots({_:2},[t.enableVaultSecretPicker?{name:e.unref(je.AUTOFILL_SLOT_NAME),fn:e.withCtx(se=>[se.schema.referenceable?(e.openBlock(),e.createBlock(e.unref(Xn.VaultSecretPickerProvider),e.mergeProps({key:0},se,{onOpen:D}),null,16)):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing","model","plugin-name","render-rules","schema"])):R.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(je.sharedForms)[R.value]),{key:1,"enable-redis-partial":t.enableRedisPartial,"form-model":I,"form-options":q.value,"form-schema":T.value,"is-editing":t.editing,"on-model-updated":G,"on-partial-toggled":M,"show-new-partial-modal":se=>X.$emit("showNewPartialModal",se)},e.createSlots({_:2},[t.enableVaultSecretPicker?{name:e.unref(je.AUTOFILL_SLOT_NAME),fn:e.withCtx(se=>[se.schema.referenceable?(e.openBlock(),e.createBlock(e.unref(Xn.VaultSecretPickerProvider),e.mergeProps({key:0},se,{onOpen:D}),null,16)):e.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):(e.openBlock(),e.createBlock(e.unref(je.VueFormGenerator),{key:2,"enable-redis-partial":t.enableRedisPartial,"is-editing":t.editing,model:I,options:q.value,schema:T.value,onModelUpdated:G,onPartialToggled:M,onRefreshModel:x,onShowNewPartialModal:J[1]||(J[1]=se=>X.$emit("showNewPartialModal",se))},e.createSlots({"plugin-config-empty-state":e.withCtx(()=>[e.createElementVNode("div",nI,e.toDisplayString(e.unref(y)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(Ee=e.unref(Nt)[I.name])!=null&&Ee.fieldRules&&(i.config.isNewOtelSchema||I.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:e.withCtx(()=>[e.createVNode(r_,{rules:e.unref(Nt)[I.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,t.enableVaultSecretPicker?{name:e.unref(je.AUTOFILL_SLOT_NAME),fn:e.withCtx(se=>[se.schema.referenceable?(e.openBlock(),e.createBlock(e.unref(Xn.VaultSecretPickerProvider),e.mergeProps({key:0},se,{onOpen:D}),null,16)):e.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"]))])):e.createCommentVNode("",!0)]),e.createVNode(e.unref(Xn.VaultSecretPicker),{config:i.config,setup:W.value,onCancel:J[2]||(J[2]=()=>W.value=!1),onProceed:j},null,8,["config","setup"])],64)}}}),[["__scopeId","data-v-6c80736d"]]),rI={key:1},aI=e.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(t){return(n,o)=>t.teleportTarget?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:t.teleportTarget},[e.renderSlot(n.$slots,"default")],8,["to"])):(e.openBlock(),e.createElementBlock("div",rI,[e.renderSlot(n.$slots,"default")]))}}),iI={key:0},lI={class:"plugin-form-actions"},sI=ye(e.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.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,default:void 0}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal","globalAction"],setup(t,{emit:n}){var he;const o=e.inject(ee.FEATURE_FLAGS.KM_1948_PLUGIN_FORM_LAYOUT,e.computed(()=>!1)),r=e.inject(lo.KM_2306_CONDITION_FIELD_314,!1),a=n,i=t,l=dn.useRouter(),{i18n:{t:s}}=Me.useI18n(),{customSchemas:c,typedefs:u}=Me.useSchemas({app:i.config.app,credential:i.credential,experimentalRenders:i.config.app==="konnect"?i.config.experimentalRenders:void 0}),{formatPluginFieldLabel:p}=Me.usePluginHelpers(),{shouldUseFreeForm:d}=Me.useFreeFormResolver(),{getMessageFromError:f}=ee.useErrors(),{capitalize:m}=ee.useStringHelpers(),{objectsAreEqual:g}=ee.useHelpers(),{axiosInstance:_}=ee.useAxios((he=i.config)==null?void 0:he.axiosRequestConfig),h=e.ref(!1),y=e.computed(()=>!!i.pluginId),w=e.computed(()=>i.pluginId?ee.EntityBaseFormType.Edit:ee.EntityBaseFormType.Create),E=e.ref(void 0),C=e.ref(void 0),b=e.computed(()=>!!(i.credential&&i.config.entityId)),k=e.ref(void 0),N=e.ref({}),S=e.ref(),R=e.ref();e.provide(or,{redisType:S,redisPath:R,isEditing:y.value});const P=e.ref(!1),A=e.reactive({enabled:!0,protocols:[],tags:[]}),T=e.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,clientErrorMessage:"",serverErrorMessage:""}),O=e.ref([{title:s("view_configuration.json"),hash:"#json"},{title:s("view_configuration.yaml"),hash:"#yaml"}]);i.config.app==="konnect"&&O.value.splice(1,0,{title:s("view_configuration.terraform"),hash:"#terraform"}),(i.config.app==="kongManager"||i.config.enableDeckTab)&&O.value.push({title:s("view_configuration.deck"),hash:"#deck"});const I=e.ref(""),q=e.computed(()=>{var K;if(b.value){let V=We.form[i.config.app].credential[w.value];return V=V.replace(/{resourceEndpoint}/gi,D.value),V}let $;return i.config.entityType&&i.config.entityId?$=We.form[i.config.app].edit.forEntity.replace(/{entityType}/gi,i.config.entityType).replace(/{entityId}/gi,i.config.entityId):$=We.form[i.config.app].edit.all,i.config.app==="konnect"&&((K=Nt[i.pluginType])!=null&&K.useUIData)?`${$}?__ui_data=true`:$}),v=()=>{h.value=!h.value},W=e.computed(()=>{var re,Se,de,Pe,Re,ne,Q,lt;const $=i.config.entityType==="consumers"&&i.config.entityId||((Se=(re=k.value)==null?void 0:re.consumer)==null?void 0:Se.id),K=i.config.entityType==="consumer_groups"&&i.config.entityId||((Pe=(de=k.value)==null?void 0:de.consumer_group)==null?void 0:Pe.id),V=i.config.entityType==="services"&&i.config.entityId||((ne=(Re=k.value)==null?void 0:Re.service)==null?void 0:ne.id),oe=i.config.entityType==="routes"&&i.config.entityId||((lt=(Q=k.value)==null?void 0:Q.route)==null?void 0:lt.id);if(!($||K||V||oe))return{global:{entity:F.PluginScope.GLOBAL,entityEndpoint:"plugins"}};const z={};return V&&(z.service={entity:F.PluginScope.SERVICE,entityEndpoint:"services",id:V,idField:fn.SERVICE}),oe&&(z.route={entity:F.PluginScope.ROUTE,entityEndpoint:"routes",id:oe,idField:fn.ROUTE}),$&&(z.consumer={entity:F.PluginScope.CONSUMER,entityEndpoint:"consumers",id:$,idField:fn.CONSUMER}),K&&(z.consumer_group={entity:F.PluginScope.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:K,idField:fn.CONSUMER_GROUP}),i.config.entityType&&(z.focusedEntity={entity:F.PluginScope[i.config.entityType.substring(0,i.config.entityType.length-1).toUpperCase()],entityEndpoint:i.config.entityType,id:i.config.entityId,idField:fn[i.config.entityType.substring(0,i.config.entityType.length-1).toUpperCase()]}),z}),U=e.reactive({name:{default:i.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:s("plugins.form.fields.enabled.label"),textOn:s("plugins.form.fields.enabled.on_text"),textOff:s("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:i.hideScopeSelection&&(i.hideScopeSelection||w.value===ee.EntityBaseFormType.Create&&i.config.entityId)?"foreign":"selectionGroup",disabled:i.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:s("plugins.form.scoping.global.label"),description:s("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:s("plugins.form.fields.protocols.help"),label:s("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:s("plugins.form.fields.instance_name.label"),inputType:"text",help:s("plugins.form.fields.instance_name.help")},tags:u.tags,...r?{condition:{default:"",type:"input",label:s("plugins.form.fields.condition.label"),inputType:"text",help:s("plugins.form.fields.condition.help"),placeholder:s("plugins.form.fields.condition.placeholder")}}:{}}),D=e.computed(()=>{var V;const $=i.developer?"developers":"consumers",K=((V=$n[i.pluginType])==null?void 0:V.endpoint)||"/plugins";return`${$}/${i.config.entityId}${i.developer?"/credentials":""}${K}`}),j=$=>{const K=Array.from(new Set($.map(V=>typeof V)));return K.length>1?"string":K[0]},x=($,K,V,oe)=>{var de,Pe;let z=K&&K.fields||[];const re=c[i.pluginType],Se=(Pe=(de=$n[i.pluginType])==null?void 0:de.schema)==null?void 0:Pe.fields;return Array.isArray(z)&&(z=z.reduce((Re,ne)=>{const Q=Object.keys(ne)[0];return Q.match(/-/g)?Re[Q.replace(/-/g,"_")]={...ne[Q],fieldNameHasDashes:!0}:Re[Q]=ne[Q],Re},{})),Object.keys(z).sort().forEach(Re=>{var cn,Zt,ct,Y,_e,me,ge;const ne=z[Re];ne.type==="set"&&!(d(i.pluginType,i.engine)&&ne.elements.one_of)&&(ne.type="array");const Q=$?`${$}-${Re}`:`${Re}`;if((cn=re==null?void 0:re.fieldsToDelete)!=null&&cn.includes(Q)){Ql(V,Q);return}if(Object.prototype.hasOwnProperty.call(ne,"overwrite")||ne.hidden)return;if(ne.type==="table")return x(Q,ne.schema,V);if(ne.fields)return oe&&ne.type==="record"?(V[Q]={type:"object",model:Re,schema:{fields:Object.values(x(Q,ne,{},!0))}},V):x(Q,ne,V);if(V[Q]={id:Q,model:Re},V[Q].type=ne.type==="boolean"?"checkbox":"input",V[Q].required=ne.required,V[Q].referenceable=ne.referenceable,Q.startsWith("config-"))if(!oe&&ne.type==="array"&&(I.value=Q),oe&&I.value&&Q.startsWith(I.value)){const fe=Q.slice(I.value.length+1);V[Q].label=fe.split("-").map(p).join(".")}else V[Q].label=p(Q);if(($==="config"||$.startsWith("config-"))&&(Zt=z[Re])!=null&&Zt.description&&(V[Q].help=Io.marked.parse(z[Re].description,{mangle:!1,headerIds:!1})),ne.type==="map"){if(V[Q].type="object-advanced",V[Q].values=ne.values,ne.values.type==="array"){const{type:fe}=ne.values.elements||{};V[Q].schema={fields:[{schema:{fields:[{...ve,model:Q,valueArrayType:fe==="integer"?"number":fe||"string",inputAttributes:{...ve.inputAttributes,type:fe==="integer"?"number":"text",inputMode:fe==="integer"?"numeric":"text"}}]}}]}}else ne.values.fields&&(V[Q].schema={fields:[{type:"object",model:"object",schema:{fields:ne.values.fields.map(fe=>{const Ae=Object.keys(fe)[0];return{model:Ae,type:"input",label:m(Ae),placeholder:Ae,inputType:fe[Ae].type}})}}]});return V}if(ne.enum&&ne.type==="array"&&(V[Q].type="checklist",V[Q].values=ne.enum,V[Q].multi=!0,V[Q].multiSelect=!0),ne.one_of&&ne.type!=="array"&&(V[Q].type="select",V[Q].values=ne.one_of,V[Q].selectOptions={noneSelectedText:s("plugins.form.no_selection")}),ne.elements&&ne.type==="array"){const fe=ne.elements;if(V[Q].referenceable=fe.referenceable,V[Q].elements=fe,["string","integer","number"].includes(fe.type)&&!fe.one_of){const{id:Ae,help:Be,label:be,hint:$e,values:Te,referenceable:Ue,model:Fe}=V[Q],{inputAttributes:Je,...Qt}=JSON.parse(JSON.stringify(ve));Je.type=fe.type==="string"?"text":"number",V[Q]={id:Ae,help:Be,label:be,hint:$e,values:Te,referenceable:Ue,model:Fe,inputAttributes:Je,...Qt}}else if(["string","integer","number"].includes(fe.type)&&fe.one_of){if(oe){const{id:Ae,help:Be,label:be,hint:$e,values:Te,referenceable:Ue,model:Fe}=V[Q];V[Q]={id:Ae,help:Be,label:be,hint:$e,values:Te,referenceable:Ue,model:Fe,...n_(fe.one_of,ne.default)}}}else if(fe.type==="array"){const{id:Ae,help:Be,label:be,hint:$e,values:Te,referenceable:Ue,model:Fe,elements:Je}=V[Q],{inputAttributes:Qt,...Qe}=JSON.parse(JSON.stringify(ve));V[Q]={id:Ae,help:Be,label:be,hint:$e,values:Te,referenceable:Ue,model:Fe,elements:Je,inputAttributes:Qt,...Qe}}}if(ne.hint&&(V[Q].hint=ne.hint),re&&!re.overwriteDefault&&Object.keys(re).forEach(fe=>{if(fe===Q){const{help:Ae,label:Be,hint:be,values:$e,referenceable:Te,elements:Ue}=V[Q],{help:Fe,...Je}=re[fe];V[Q]={help:Ae,label:Be,hint:be,values:$e,referenceable:Te,elements:Ue,...Je},typeof Fe=="string"&&(V[Q].help=Io.marked.parse(Fe,{mangle:!1,headerIds:!1}))}}),ne.type==="array"&&((ct=ne.elements)==null?void 0:ct.type)==="record"&&Array.isArray(ne.elements.fields)){let fe={};for(const Be of ne.elements.fields)fe={...fe,...Be};const Ae=(me=(_e=(Y=V[Q])==null?void 0:Y.items)==null?void 0:_e.schema)==null?void 0:me.fields;if(Array.isArray(Ae))for(const Be of V[Q].items.schema.fields){const be=(ge=fe[Be.model])==null?void 0:ge.description;Be.help===void 0&&typeof be=="string"&&(Be.help=Io.marked.parse(be,{mangle:!1,headerIds:!1}))}if(Ae||(V[Q].type="array",V[Q].newElementButtonLabelClasses="kong-form-new-element-button-label",V[Q].fieldClasses="array-card-container-wrapper",V[Q].itemContainerComponent="FieldArrayCardContainer",V[Q].items={type:"object",schema:{fields:Object.values(x(Q,ne.elements,{},!0))}},V[Q].items.schema.fields.forEach(Be=>{var be,$e;for(const Te of ne.elements.fields){const Ue=Object.keys(Te)[0],Fe=(($e=(be=Be.id)==null?void 0:be.split)==null?void 0:$e.call(be,"-"))??[];if(Fe[Fe.length-1]===Ue){Be.model=Ue,Be.label=p(Ue);break}}}),ne.elements.type==="record"&&(V[Q].nestedFields=!0)),!V[Q].nestedFields)V[Q].items.default=()=>ne.elements.fields.reduce((Be,be)=>{const $e=Object.keys(be)[0];return Be[$e]=be[$e].default,Be},{});else{const Be=(be,$e)=>{if(be.type==="object"){be.model&&($e[be.model]={});for(const Te of be.schema.fields)Be(Te,be.model?$e[be.model]:$e)}else be.model&&($e[be.model]=be.default)};V[Q].items.default=()=>{const be={};return Be(V[Q].items,be),be}}}if(b.value&&Se){for(let fe=0;fe<Se.length;fe++)if(Se[fe][Q]){V[Q]={...V[Q],...Se[fe][Q]};break}}if(ne.required&&ne.type!=="boolean"&&(V[Q].required=!0,V[Q].selectOptions={hideNoneSelectedText:!0}),ne.required&&ne.type==="boolean"&&(V[Q].default=ne.default??!1),ne.default!=null&&typeof ne.default!="object"&&ne.default!=="function"&&(V[Q].default=ne.default),V[Q].type==="input"){["string","number"].includes(typeof V[Q].default)&&i.config.app==="konnect"&&(V[Q].placeholder=`Default: ${V[Q].default===""?"<empty string>":V[Q].default}`);const{type:fe}=ne.elements||{};fe&&(V[Q].valueArrayType=fe==="integer"?"number":fe),V[Q].inputType=ne.type==="array"||ne.type==="string"?ne.encrypted?"password":"text":ne.type}let lt="string";ne.enum?lt=j(ne.enum):ne.type==="boolean"?lt="boolean":ne.type==="number"||ne.type==="integer"?(lt="number",V[Q].inputType="number"):ne.type==="array"?(lt="array",V[Q].default=ne.default,ne.len_min>0&&(V[Q].submitWhenNull=!0)):ne.type==="foreign"?lt="object":ne.default&&Array.isArray(ne.default)?(lt="array",V[Q].valueArrayType=j(ne.default)):ne.default&&(lt=typeof ne.default),V[Q].valueType=lt,ne.fieldNameHasDashes&&(V[Q].fieldNameHasDashes=!0)}),V},M=()=>{var Q,lt,cn,Zt,ct,Y,_e,me,ge,fe,Ae,Be;const $=((Q=Nt[i.pluginType])==null?void 0:Q.scope.includes(F.PluginScope.SERVICE))??!0,K=((lt=Nt[i.pluginType])==null?void 0:lt.scope.includes(F.PluginScope.ROUTE))??!0,V=((cn=Nt[i.pluginType])==null?void 0:cn.scope.includes(F.PluginScope.CONSUMER))??!0,oe=i.config.disableConsumerGroupScope?!1:((Zt=Nt[i.pluginType])==null?void 0:Zt.scope.includes(F.PluginScope.CONSUMER_GROUP))??!0,z=i.config.entityType==="consumers"&&!!i.config.entityId||!!((Y=(ct=k.value)==null?void 0:ct.consumer)!=null&&Y.id),re=i.config.entityType==="consumer_groups"&&!!i.config.entityId||!!((me=(_e=k.value)==null?void 0:_e.consumer_group)!=null&&me.id),Se=i.config.entityType==="services"&&!!i.config.entityId||!!((fe=(ge=k.value)==null?void 0:ge.service)!=null&&fe.id),de=i.config.entityType==="routes"&&!!i.config.entityId||!!((Be=(Ae=k.value)==null?void 0:Ae.route)!=null&&Be.id),Pe=[],Re=(be,$e,Te)=>be?s("plugins.form.disable_source_scope_change",{scope:Te}):$e?s("plugins.form.disable_data_retrieving",{scope:Te}):"",ne=be=>{var $e,Te;return((Te=($e=i.scopedEntitiesPermissions)==null?void 0:$e[be])==null?void 0:Te.canRetrieve)===!1};if($){const be=ne("service"),$e="services",Te=Se&&i.disableScopeSelection;Pe.push({id:"service-id",model:"service-id",label:s("plugins.form.scoping.gateway_service.label"),placeholder:s("plugins.form.scoping.placeholder"),type:"AutoSuggest",labelField:"name",entity:$e,inputValues:{fields:["name","id"]},help:s("plugins.form.scoping.gateway_service.help"),disabled:Te||be,disabledTooltip:Re(Te,be,$e)})}if(K){const be=ne("route"),$e="routes",Te=de&&i.disableScopeSelection;Pe.push({id:"route-id",model:"route-id",label:s("plugins.form.scoping.route.label"),placeholder:s("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:$e,labelField:"name",inputValues:{fields:["name","id"],primaryField:"id"},help:s("plugins.form.scoping.route.help"),disabled:Te||be,disabledTooltip:Re(Te,be,$e)})}if(V){const be=ne("consumer"),$e="consumers",Te=z&&i.disableScopeSelection;Pe.push({model:"consumer-id",label:s("plugins.form.scoping.consumer.label"),placeholder:s("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:$e,labelField:"username",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:s("plugins.form.scoping.consumer.help"),disabled:Te||be,disabledTooltip:Re(Te,be,$e)})}if(oe){const be=ne("consumer_group"),$e="consumer_groups",Te=re&&i.disableScopeSelection;Pe.push({model:"consumer_group-id",label:s("plugins.form.scoping.consumer_group.label"),placeholder:s("plugins.form.scoping.placeholder"),type:"AutoSuggest",entity:$e,entityDataKey:"consumer_group",labelField:"name",inputValues:{fields:["name","id"],primaryField:"name"},help:s("plugins.form.scoping.consumer_group.help"),disabled:Te||be,disabledTooltip:Re(Te,be,$e)})}if(Pe.length){const be=[...$?["service"]:[],...K?["route"]:[],...V?["consumer"]:[],...oe?["consumer_group"]:[]],Te=be.splice(be.length-2,2).map(Fe=>s(Fe==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Fe}.plural`)).join(`${be.length>0?",":""} and/or `),Ue=["Specific",[...be.length>0?[be.map(Fe=>s(Fe==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Fe}.plural`)).join(", ")]:[],Te].join(", ")].join(" ");U.selectionGroup.fields.push({label:s("plugins.form.scoping.label"),description:Ue,fields:[]}),U.selectionGroup.fields[1].fields=Pe}c[i.pluginType]&&c[i.pluginType].overwriteDefault&&Object.hasOwnProperty.call(c[i.pluginType],"formSchema")&&Object.assign(U,c[i.pluginType].formSchema)},G=e.computed(()=>!g(T.fields,A,!0)),te=e.computed(()=>!ce.value&&!P.value&&(w.value===ee.EntityBaseFormType.Create||G.value)),L=e.ref(!1),H=e.ref(),Z=$=>{i.credential&&$.password&&($.password=""),T.fields.id=($==null?void 0:$.id)||void 0,H.value=$==null?void 0:$.ordering,Object.assign(A,T.fields),k.value=$,L.value=!0},Ne=e.ref({}),Oe=$=>{var K;T.fields=$.model,T.fields.id=((K=k.value)==null?void 0:K.id)||void 0,Object.assign(A,$.originalModel),Ne.value=$.data,i.isWizardStep&&a("model-updated",{model:T.fields,data:$.data,resourceEndpoint:D.value})},Ce=e.ref(new Map),we=e.computed(()=>[T.clientErrorMessage,T.serverErrorMessage].filter(Boolean).join("; ")),X=$=>{$.valid?Ce.value.delete($.model):Ce.value.set($.model,$.error),T.clientErrorMessage=[...Ce.value.entries()].map(([K,V])=>`${K}: ${typeof V=="string"?V:f(V)}`).join("; "),T.clientErrorMessage&&(T.serverErrorMessage="")};e.watch([W,L],($,K)=>{const V=$[0]!==K[0],oe=$[1],z=K[1];if(!b.value&&w.value===ee.EntityBaseFormType.Edit&&(V||oe&&oe!==z)){const re=x("config",N.value,U);ae.value&&(re._isCustomPlugin=!0),S.value&&(re._supported_redis_partial_type=S.value),C.value=re}},{deep:!0});const J=()=>{i.config.cancelRoute?l.push(i.config.cancelRoute):a("cancel")},le=e.computed(()=>{const $=i.config.entityType&&i.config.entityId&&!i.developer,K=b.value?We.form[i.config.app].credential[w.value]:We.form[i.config.app][w.value][$?"forEntity":"all"];let V=`${i.config.apiBaseUrl}${K}`;return i.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),V=V.replace(/{resourceEndpoint}/gi,D.value),V=V.replace(/{id}/gi,i.pluginId),V=V.replace(/{entityType}/gi,i.config.entityType||""),V=V.replace(/{entityId}/gi,i.config.entityId||""),V}),ae=e.computed(()=>!Object.keys(Nt).includes(i.pluginType)),Ee=e.computed(()=>{const $=Ne.value;if(b.value){for(const K in F.PluginScope){const V=F.PluginScope[K];$[V]&&!$[V].id&&($[V]={id:i.config.entityId})}delete $.created_at}return Ne.value.partials&&R.value&&Ql($,R.value),$}),se=e.computed(()=>{const{__ui_data:$,...K}={...Ee.value};return K}),De=async()=>{if(!T.clientErrorMessage&&!i.isWizardStep)try{T.isReadonly=!0;let $;const K=JSON.parse(JSON.stringify(Ee.value)),V=c[i.pluginType];typeof(V==null?void 0:V.shamefullyTransformPayload)=="function"&&V.shamefullyTransformPayload({originalModel:A,model:T.fields,payload:K,schema:C.value}),w.value==="create"?$=await _.post(le.value,K):w.value==="edit"&&($=i.config.app==="konnect"||S.value&&K.partials?await _.put(le.value,Object.assign({ordering:H.value},K)):await _.patch(le.value,K)),Object.assign(A,T.fields),a("update",$==null?void 0:$.data)}catch($){T.serverErrorMessage=f($),a("error",$)}finally{T.isReadonly=!1}},ie=e.computed(()=>{var oe;const $=b.value?(oe=$n[i.pluginType])==null?void 0:oe.schemaEndpoint:i.pluginType,K=b.value?We.form[i.config.app].credentialSchema:We.form[i.config.app].pluginSchema;let V=`${i.config.apiBaseUrl}${K}`;return i.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),V=V.replace(/{plugin}/gi,$),V}),pe=e.ref(""),ce=e.ref(!1),xe=e.ref("");return e.onBeforeMount(async()=>{var $,K,V,oe;ce.value=!0;try{if(b.value&&i.config.app==="konnect"){const z=($=$n[i.pluginType])==null?void 0:$.schemaEndpoint,re=Fu[z];pe.value=z,C.value=x("",re,{}),ce.value=!1}else{const z=i.schema??(await _.get(ie.value)).data;if(E.value=z,z)if(b.value)C.value=x("",z,{}),ce.value=!1;else{const re=z.fields.find(de=>de.config);N.value=re?re.config:z,z.supported_partials&&(S.value=Object.keys(z.supported_partials).find(de=>[Oo.REDIS_CE,Oo.REDIS_EE].includes(de)),R.value=(K=z.supported_partials[S.value])==null?void 0:K[0]),M();const Se=(V=z.fields.find(de=>de.protocols))==null?void 0:V.protocols;if(Se){const{default:de=[],elements:Pe={}}=Se;U.protocols.default=de,U.protocols.placeholder=i.config.app==="konnect"?s("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:de.join(", ")}):s("plugins.form.fields.protocols.placeholder"),(oe=Pe.one_of)!=null&&oe.length&&(U.protocols.values=Pe.one_of.map(Re=>({label:Re,value:Re})))}if(L.value||w.value===ee.EntityBaseFormType.Create){const de=x("config",N.value,U);S.value&&(de._supported_redis_partial_type=S.value),ae.value&&(de._isCustomPlugin=!0),C.value=de}}}}catch(z){console.error(z),xe.value=f(z),a("error:fetch-schema",z)}finally{ce.value=!1}}),($,K)=>{const V=e.resolveComponent("KSkeleton"),oe=e.resolveComponent("KEmptyState"),z=e.resolveComponent("KButton"),re=e.resolveComponent("KTabs"),Se=e.resolveComponent("KSlideout");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["kong-ui-entities-plugin-form-container",{"new-form-layout":e.unref(o)}])},[ce.value?(e.openBlock(),e.createBlock(V,{key:0,type:"form"})):xe.value?(e.openBlock(),e.createBlock(oe,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:e.withCtx(()=>[e.createElementVNode("h3",null,e.toDisplayString(e.unref(s)("errors.load_schema")),1)]),_:1})):(e.openBlock(),e.createBlock(e.unref(ee.EntityBaseForm),{key:2,"can-submit":te.value,config:t.config,"edit-id":t.pluginId,"entity-type":e.unref(ee.SupportedEntityType).Plugin,"error-message":we.value,"fetch-url":q.value,"form-fields":Ee.value,"is-readonly":T.isReadonly,"no-validate":"","wrapper-component":t.noCardWrapper?"div":void 0,onCancel:J,"onFetch:error":K[4]||(K[4]=de=>$.$emit("error",de)),"onFetch:success":Z,onLoading:K[5]||(K[5]=de=>$.$emit("loading",de))},{"form-actions":e.withCtx(()=>[t.isWizardStep?(e.openBlock(),e.createElementBlock("div",iI)):(e.openBlock(),e.createBlock(aI,{key:1,"teleport-target":t.actionsTeleportTarget},{default:e.withCtx(()=>[e.createElementVNode("div",lI,[t.hideViewConfigAction?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(z,{key:0,appearance:"tertiary","data-testid":`plugin-${y.value?"edit":"create"}-form-view-configuration`,onClick:K[3]||(K[3]=de=>v())},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),e.createVNode(z,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${y.value?"edit":"create"}-form-cancel`,disabled:T.isReadonly,onClick:J},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),e.createVNode(z,{appearance:"primary","data-testid":`plugin-${y.value?"edit":"create"}-form-submit`,disabled:!te.value||T.isReadonly,type:"submit",onClick:De},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:e.withCtx(()=>[e.createElementVNode("form",{hidden:"",onSubmit:De},null,32),e.createVNode(oI,{config:t.config,credential:b.value,editing:w.value===e.unref(ee.EntityBaseFormType).Edit,"enable-redis-partial":t.enableRedisPartial,"enable-vault-secret-picker":i.enableVaultSecretPicker,engine:t.engine,"entity-map":W.value,"raw-schema":E.value,record:k.value,schema:C.value,onGlobalAction:K[0]||(K[0]=(de,Pe)=>$.$emit("globalAction",de,Pe)),onLoading:K[1]||(K[1]=de=>P.value=de),onModelUpdated:Oe,onShowNewPartialModal:K[2]||(K[2]=de=>$.$emit("showNewPartialModal",de)),onValidityChange:X},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"])),e.createVNode(Se,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:e.unref(s)("view_configuration.title"),visible:h.value,onClose:v},{default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(s)("view_configuration.message")),1),e.createVNode(re,{"data-testid":"form-view-configuration-slideout-tabs",tabs:O.value},{json:e.withCtx(()=>[e.createVNode(e.unref(ee.JsonCodeBlock),{config:t.config,"entity-record":se.value,"fetcher-url":le.value,"request-method":i.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:e.withCtx(()=>[e.createVNode(e.unref(ee.YamlCodeBlock),{"entity-record":se.value},null,8,["entity-record"])]),terraform:e.withCtx(()=>[e.createVNode(e.unref(ee.TerraformCodeBlock),{"credential-type":pe.value,"entity-record":se.value,"entity-type":e.unref(ee.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),deck:e.withCtx(()=>[e.createVNode(e.unref(ee.DeckCodeBlock),{app:t.config.app,"control-plane-name":t.config.app==="konnect"?t.config.controlPlaneName:void 0,"entity-record":se.value,"entity-type":e.unref(ee.SupportedEntityType).Plugin,"geo-api-server-url":t.config.app==="konnect"?t.config.geoApiServerUrl:void 0,"kong-admin-api-url":t.config.app==="kongManager"?t.config.apiBaseUrl:void 0,workspace:t.config.app==="kongManager"?t.config.workspace:void 0},null,8,["app","control-plane-name","entity-record","entity-type","geo-api-server-url","kong-admin-api-url","workspace"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])],2)}}}),[["__scopeId","data-v-862cab20"]]),cI={class:"kong-ui-entities-plugins-list"},dI={class:"button-row"},uI={class:"name-cell-wrapper"},fI={class:"info-wrapper"},pI={key:0,class:"info-name"},mI={key:1,class:"info-name"},gI={key:2,class:"info-type"},hI={key:1},yI=ye(e.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.createRoute||!t.getViewRoute||!t.getEditRoute||!t.getConfigureDynamicOrderingRoute||t.app==="kongManager"&&!t.isExactMatch&&!t.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(t,{emit:n}){var se,De;const o=Me.usePluginMetaData(),r=n,a=t,{i18n:{t:i}}=Me.useI18n(),l=dn.useRouter(),{axiosInstance:s}=ee.useAxios((se=a.config)==null?void 0:se.axiosRequestConfig),{hasRecords:c,handleStateChange:u}=ee.useTableState(()=>E.value),p=e.computed(()=>c.value&&a.config.app==="konnect"),d=e.computed(()=>!!a.config.entityId),f=e.computed(()=>{var ie;return((ie=a.config)==null?void 0:ie.entityType)==="consumers"}),m=e.computed(()=>{var ie;return((ie=a.config)==null?void 0:ie.entityType)==="consumer_groups"}),g=a.config.app==="konnect"||ee.useGatewayFeatureSupported({gatewayInfo:a.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),_=e.computed(()=>a.config.app!=="kongManager"||!!a.config.disableSorting),h={name:{label:i("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(De=a.config)!=null&&De.entityId||(h.appliedTo={label:i("plugins.list.table_headers.applied_to"),sortable:!1}),h.enabled={label:i("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},g&&(h.ordering={label:i("plugins.list.table_headers.ordering"),sortable:!0}),h.tags={label:i("plugins.list.table_headers.tags"),sortable:!1};const y=h,w=e.computed(()=>{var pe,ce,xe,he;let ie=a.config.entityType?`${a.config.apiBaseUrl}${We.list[a.config.app].forEntity}`:`${a.config.apiBaseUrl}${We.list[a.config.app].all}`;return a.config.app==="konnect"?ie=ie.replace(/{controlPlaneId}/gi,((pe=a.config)==null?void 0:pe.controlPlaneId)||""):a.config.app==="kongManager"&&(ie=ie.replace(/\/{workspace}/gi,(ce=a.config)!=null&&ce.workspace?`/${a.config.workspace}`:"")),ie.replace(/{entityType}/gi,((xe=a.config)==null?void 0:xe.entityType)||"").replace(/{entityId}/gi,((he=a.config)==null?void 0:he.entityId)||"")}),E=e.ref(""),C=e.computed(()=>a.config.app==="konnect"||a.config.isExactMatch?{isExactMatch:!0,fields:{name:h.name,id:{label:i("plugins.list.table_headers.id"),sortable:!0}},placeholder:i(`search.placeholder.${a.config.isExactMatch?"exact":a.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...h.enabled,label:i("search.filter.field.enabled")},name:h.name,instance_name:{label:i("plugins.list.table_headers.instance_name"),searchable:!0}},schema:a.config.filterSchema}),{fetcher:b,fetcherState:k,fetcherCacheKey:N}=ee.useFetcher(e.computed(()=>({...a.config,cacheIdentifier:a.cacheIdentifier})),w),S=()=>{E.value=""},R=()=>{N.value++},P=e.ref(null),A=ie=>{var ce,xe,he,$;const pe=[];return((ce=ie.route)!=null&&ce.id||ie.route_id)&&pe.push({type:"route",badgeText:i("plugins.list.table_headers.applied_to_badges.route")}),((xe=ie.service)!=null&&xe.id||ie.service_id)&&pe.push({type:"service",badgeText:i("plugins.list.table_headers.applied_to_badges.service")}),((he=ie.consumer)!=null&&he.id||ie.consumer_id)&&pe.push({type:"consumer",badgeText:i("plugins.list.table_headers.applied_to_badges.consumer")}),(($=ie.consumer_group)!=null&&$.id||ie.consumer_group_id)&&pe.push({type:"consumer_group",badgeText:i("plugins.list.table_headers.applied_to_badges.consumer_group")}),pe.length?pe:[{type:null,badgeText:i("plugins.list.table_headers.applied_to_badges.global")}]},T=async(ie,pe)=>{var ce;return ie===null?!1:await((ce=a.canRetrieveScopedEntity)==null?void 0:ce.call(a,ie,pe.id))},O=(ie,pe)=>{var xe,he,$,K,V;let ce=null;switch(ie){case"route":ce=(xe=pe.route)==null?void 0:xe.id;break;case"service":ce=(he=pe.service)==null?void 0:he.id;break;case"consumer":ce=($=pe.consumer)==null?void 0:$.id;break;case"consumer_group":ce=(K=pe.consumer_group)==null?void 0:K.id;break}ce&&((V=a.config)!=null&&V.getScopedEntityViewRoute)&&l.push(a.config.getScopedEntityViewRoute(ie,ce))},I=e.ref(!1),q=e.ref(null),v=e.computed(()=>{const ie={action:"disable",id:"",name:""};if(q.value){const{enabled:pe,id:ce,name:xe}=q.value;ie.action=pe?"disable":"enable",ie.id=ce,ie.name=o.getDisplayName(xe)||ce}return ie}),W=ie=>{I.value=!0,q.value=ie},U=()=>{I.value=!1,q.value=null},D=async()=>{var xe,he,$,K,V,oe,z,re;if(!await((xe=a.canEdit)==null?void 0:xe.call(a,q.value))||!q.value)return;let pe=`${a.config.apiBaseUrl}${(V=We.item[a.config.app])==null?void 0:V[(he=a.config)!=null&&he.entityType?"forEntity":"all"].replace(/{entityType}/gi,(($=a.config)==null?void 0:$.entityType)||"").replace(/{entityId}/gi,((K=a.config)==null?void 0:K.entityId)||"")}`.replace(/{id}/gi,q.value.id||"");a.config.app==="konnect"?pe=pe.replace(/{controlPlaneId}/gi,((oe=a.config)==null?void 0:oe.controlPlaneId)||""):a.config.app==="kongManager"&&(pe=pe.replace(/\/{workspace}/gi,(z=a.config)!=null&&z.workspace?`/${a.config.workspace}`:""));const ce=!q.value.enabled;try{const Se=(re=a.config)==null?void 0:re.app;let de;E.value&&Se==="konnect"&&(de=await s.get(pe));const{data:Pe}=Se==="konnect"?await s.put(pe,{...(de==null?void 0:de.data)||q.value,enabled:ce},{timeout:12e4}):await s.patch(pe,{...q.value,enabled:ce},{timeout:12e4});r("toggle-enabled",ce,Pe),q.value.enabled=ce}catch(Se){r("error",Se)}},j=async(ie,pe)=>{const ce=ie.id;if(!await pe(ce)){r("copy:error",{entity:ie,field:"id",message:i("errors.copy")});return}r("copy:success",{entity:ie,field:"id",message:i("copy.success",{val:ce})})},x=async(ie,pe)=>{const ce=JSON.stringify(ie);if(!await pe(ce)){r("copy:error",{entity:ie,message:i("errors.copy")});return}r("copy:success",{entity:ie,message:i("copy.success_brief")})},M=async ie=>{var ce;await((ce=a.canRetrieve)==null?void 0:ce.call(a,ie))&&l.push(a.config.getViewRoute(ie))},G=ie=>({label:i("actions.view"),to:a.config.getViewRoute(ie)}),te=ie=>({label:i("actions.edit"),to:a.config.getEditRoute(ie)}),L=ie=>({label:i("actions.configure_dynamic_ordering"),to:a.config.getConfigureDynamicOrderingRoute(ie)}),H=e.ref(void 0),Z=e.ref(!1),Ne=e.ref(!1),Oe=e.ref(""),Ce=ee.useDeleteUrlBuilder(a.config,w.value),we=ie=>{H.value=ie,Z.value=!0},X=()=>{Z.value=!1},J=async()=>{var ie,pe,ce;if((ie=H.value)!=null&&ie.id){Ne.value=!0;try{await s.delete(Ce(H.value.id)),Ne.value=!1,Z.value=!1,N.value++,r("delete:success",H.value)}catch(xe){Oe.value=((ce=(pe=xe.response)==null?void 0:pe.data)==null?void 0:ce.message)||xe.message||i("errors.delete"),r("error",xe)}finally{Ne.value=!1}}},le=()=>{l.push(a.config.createRoute)};e.watch(k,ie=>{var pe,ce,xe;if(ie.status===ee.FetcherStatus.Error){P.value={title:i("errors.general")},(xe=(ce=(pe=ie.error)==null?void 0:pe.response)==null?void 0:ce.data)!=null&&xe.message&&(P.value.message=ie.error.response.data.message),r("error",ie.error);return}P.value=null});const ae=e.ref({ctaPath:a.config.createRoute,ctaText:void 0,message:`${i("plugins.list.empty_state.description")}${a.config.additionMessageForEmptyState?` ${a.config.additionMessageForEmptyState}`:""}`,title:i("plugins.title")}),Ee=e.ref(!1);return e.onBeforeMount(async()=>{Ee.value=await a.canCreate(),Ee.value&&(ae.value.title=i("plugins.list.empty_state.title"),ae.value.ctaText=i("actions.create"))}),(ie,pe)=>{const ce=e.resolveComponent("KButton"),xe=e.resolveComponent("KEmptyState"),he=e.resolveComponent("KBadge"),$=e.resolveComponent("KTruncate"),K=e.resolveComponent("KInputSwitch"),V=e.resolveComponent("KDropdownItem"),oe=e.resolveComponent("KClipboardProvider");return e.openBlock(),e.createElementBlock("div",cI,[e.createVNode(e.unref(ee.EntityBaseTable),{"cache-identifier":t.cacheIdentifier,"disable-sorting":_.value,"empty-state-options":ae.value,"enable-entity-actions":"","error-message":P.value,fetcher:e.unref(b),"fetcher-cache-key":e.unref(N),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:E.value,"table-headers":e.unref(y),title:t.title,"title-tag":t.titleTag,onClearSearchInput:S,"onClick:row":pe[4]||(pe[4]=z=>M(z)),onSort:R,onState:e.unref(u)},e.createSlots({"toolbar-filter":e.withCtx(()=>[e.createVNode(e.unref(ee.EntityFilter),{modelValue:E.value,"onUpdate:modelValue":pe[0]||(pe[0]=z=>E.value=z),config:C.value},null,8,["modelValue","config"])]),"toolbar-button":e.withCtx(()=>[(e.openBlock(),e.createBlock(e.Teleport,{disabled:!t.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[e.createElementVNode("div",dI,[!d.value&&p.value?(e.openBlock(),e.createBlock(ce,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:pe[1]||(pe[1]=z=>ie.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.BookIcon),{decorative:""})]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(ee.PermissionsWrapper),{"auth-function":()=>t.canCreate()},{default:e.withCtx(()=>[e.createVNode(ce,{appearance:"primary","data-testid":"toolbar-add-plugin",size:t.useActionOutside?"medium":"large",to:t.config.createRoute},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon)),e.createTextVNode(" "+e.toDisplayString(e.unref(i)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:e.withCtx(({row:z})=>[e.createElementVNode("div",uI,[e.createVNode(e.unref(un.PluginIcon),{class:"plugin-icon",name:z.name,size:24},null,8,["name"]),e.createElementVNode("div",fI,[z.instance_name?(e.openBlock(),e.createElementBlock("span",pI,e.toDisplayString(z.instance_name),1)):(e.openBlock(),e.createElementBlock("span",mI,e.toDisplayString(e.unref(o).getDisplayName(z.name)),1)),z.instance_name?(e.openBlock(),e.createElementBlock("span",gI,e.toDisplayString(e.unref(o).getDisplayName(z.name)),1)):e.createCommentVNode("",!0)])])]),appliedTo:e.withCtx(({row:z})=>[A(z).length>0?(e.openBlock(),e.createBlock($,{key:0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A(z),re=>(e.openBlock(),e.createBlock(e.unref(ee.PermissionsWrapper),{key:re.badgeText,"auth-function":()=>T(re.type,z),"force-show":""},{default:e.withCtx(({isAllowed:Se})=>[e.createVNode(he,{class:e.normalizeClass(Se||"disabled"),onClick:e.withModifiers(de=>Se&&re.type&&O(re.type,z),["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(re.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(e.openBlock(),e.createElementBlock("span",hI,"-"))]),enabled:e.withCtx(({row:z})=>[e.createVNode(e.unref(ee.PermissionsWrapper),{"auth-function":async()=>!!(await t.canEdit(z)&&await t.canToggle(z)),"force-show":""},{default:e.withCtx(({isAllowed:re})=>{var Se,de;return[e.createElementVNode("div",{onClick:pe[3]||(pe[3]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(K,{disabled:!re,"disabled-tooltip-text":!re&&((de=(Se=t.config).getToggleDisabledTooltip)==null?void 0:de.call(Se,z))||void 0,"model-value":z.enabled,onClick:e.withModifiers(Pe=>re&&W(z),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:e.withCtx(({rowValue:z})=>[e.createVNode(he,{appearance:e.unref(Yl)(z)?"info":"warning"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(Yl)(z)?e.unref(i)("plugins.list.table_headers.ordering_badge.static"):e.unref(i)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:e.withCtx(({rowValue:z})=>[e.createVNode(e.unref(ee.TableTags),{tags:z},null,8,["tags"])]),actions:e.withCtx(({row:z})=>[e.createVNode(oe,null,{default:e.withCtx(({copyToClipboard:re})=>[e.createVNode(V,{"data-testid":"action-entity-copy-id",onClick:Se=>j(z,re)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.copy_id")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(oe,null,{default:e.withCtx(({copyToClipboard:re})=>[e.createVNode(V,{"data-testid":"action-entity-copy-json",onClick:Se=>x(z,re)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.copy_json")),1)]),_:1},8,["onClick"])]),_:2},1024),e.createVNode(e.unref(ee.PermissionsWrapper),{"auth-function":()=>t.canRetrieve(z)},{default:e.withCtx(()=>[e.createVNode(V,{"data-testid":"action-entity-view","has-divider":"",item:G(z)},null,8,["item"])]),_:2},1032,["auth-function"]),e.createVNode(e.unref(ee.PermissionsWrapper),{"auth-function":()=>t.canEdit(z)},{default:e.withCtx(()=>[e.createVNode(V,{"data-testid":"action-entity-edit",item:te(z)},null,8,["item"])]),_:2},1032,["auth-function"]),!f.value&&!m.value&&e.unref(g)?(e.openBlock(),e.createBlock(e.unref(ee.PermissionsWrapper),{key:0,"auth-function":()=>t.canConfigureDynamicOrdering(z)},{default:e.withCtx(()=>[L(z)?(e.openBlock(),e.createBlock(V,{key:0,"data-testid":"action-entity-config-dyn-order",item:L(z)},null,8,["item"])):e.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):e.createCommentVNode("",!0),e.createVNode(e.unref(ee.PermissionsWrapper),{"auth-function":()=>t.canDelete(z)},{default:e.withCtx(()=>[e.createVNode(V,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:re=>we(z)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.delete")),1)]),_:1},8,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!E.value&&t.config.app==="konnect"?{name:"empty-state",fn:e.withCtx(()=>{var z;return[e.createVNode(xe,{"data-testid":t.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state","icon-background":"",message:e.unref(i)("plugins.list.empty_state_v2.description"),title:e.unref(i)("plugins.list.empty_state_v2.title")},e.createSlots({icon:e.withCtx(()=>[e.createVNode(e.unref(ue.PlugIcon),{decorative:""})]),action:e.withCtx(()=>[Ee.value?(e.openBlock(),e.createBlock(ce,{key:0,"data-testid":"entity-create-button",onClick:le},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.AddIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(i)("plugins.list.empty_state_v2.create_cta")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(ce,{appearance:"secondary","data-testid":"entity-learn-more-button",onClick:pe[2]||(pe[2]=re=>ie.$emit("click:learn-more"))},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.BookIcon),{decorative:""}),e.createTextVNode(" "+e.toDisplayString(e.unref(i)("plugins.list.empty_state_v2.learn_more")),1)]),_:1})]),_:2},[(z=t.config)!=null&&z.isControlPlaneGroup?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("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"]),e.createVNode(e.unref(ee.EntityToggleModal),{action:v.value.action,"entity-id":v.value.id,"entity-name":v.value.name,"entity-type":e.unref(i)("glossary.plugin"),"on-confirm":D,visible:I.value,onCancel:U,onProceed:U},null,8,["action","entity-id","entity-name","entity-type","visible"]),e.createVNode(e.unref(ee.EntityDeleteModal),{"action-pending":Ne.value,description:e.unref(i)("delete.description"),"entity-name":H.value&&(H.value.instance_name||H.value.name||H.value.id),"entity-type":e.unref(ee.EntityTypes).Plugin,error:Oe.value,title:e.unref(i)("delete.title"),visible:Z.value,onCancel:X,onProceed:J},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-25799614"]]),_I={class:"plugin-select-card-wrapper"},bI=["data-testid"],kI={class:"plugin-card-header"},wI={class:"plugin-card-title"},CI={key:0,class:"plugin-card-actions"},EI=["data-testid","title"],NI={key:0,class:"plugin-card-text"},xI={key:0},AI=["title"],bi=ye(e.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.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(t,{emit:n}){const o=n,r=t,a=dn.useRouter(),{i18n:{t:i}}=Me.useI18n(),l=e.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=e.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=e.computed(()=>!!(m.value&&!f.value&&r.navigateOnClick&&l.value&&(r.canDeleteCustomPlugin||r.canEditCustomPlugin))),u=()=>{a.push(r.config.getCreateRoute(r.plugin.id))},p=()=>{r.navigateOnClick?u():d()},d=()=>{o("plugin-clicked",r.plugin)},f=e.computed(()=>r.plugin.id==="custom-plugin-create"),m=e.computed(()=>r.config.app==="konnect"&&r.plugin.group===F.PluginGroup.CUSTOM_PLUGINS),g=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},_=(y,w)=>{const E=r.config;r.config.app==="konnect"&&typeof E.getCustomEditRoute=="function"&&E.getCustomEditRoute&&a.push(E.getCustomEditRoute(y,w))},h=()=>{if(!s.value&&r.config.app==="konnect"){const y=r.config;f.value&&y.createCustomRoute?a.push(y.createCustomRoute):m.value&&u()}};return(y,w)=>{const E=e.resolveComponent("KButton"),C=e.resolveComponent("KDropdownItem"),b=e.resolveComponent("KDropdownMenu"),k=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock("div",_I,[e.createVNode(k,{text:t.plugin.disabledMessage},{default:e.withCtx(()=>[e.createElementVNode("a",{class:e.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${t.plugin.id}-card`,role:"button",onClick:w[1]||(w[1]=N=>s.value||m.value?void 0:p())},[e.createElementVNode("div",kI,[e.createElementVNode("div",wI,[e.createElementVNode("span",{class:e.normalizeClass({"non-custom-title":!m.value})},e.toDisplayString(t.plugin.name),3)]),c.value?(e.openBlock(),e.createElementBlock("div",CI,[e.createVNode(b,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:e.withCtx(()=>[e.createVNode(E,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.MoreIcon),{size:e.unref(uo)},null,8,["size"])]),_:1})]),items:e.withCtx(()=>[t.canDeleteCustomPlugin?(e.openBlock(),e.createBlock(C,{key:0,"data-testid":"edit-plugin-schema",onClick:w[0]||(w[0]=e.withModifiers(N=>_(t.plugin.name,t.plugin.customPluginType),["stop"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.edit")),1)]),_:1})):e.createCommentVNode("",!0),t.canDeleteCustomPlugin?(e.openBlock(),e.createBlock(C,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:e.withModifiers(g,["stop"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.delete")),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:e.normalizeClass(["plugin-card-body",{"custom-plugin":m.value}]),"data-testid":t.plugin.name,title:t.plugin.available?t.plugin.name:e.unref(i)("plugins.select.unavailable_tooltip"),onClick:h},[e.createVNode(e.unref(un.PluginIcon),{alt:t.plugin.name,class:"plugin-card-icon",name:t.plugin.id,size:55},null,8,["alt","name"]),t.plugin.description||m.value&&!f.value?(e.openBlock(),e.createElementBlock("div",NI,[m.value&&!f.value?(e.openBlock(),e.createElementBlock("p",xI,e.toDisplayString(e.unref(i)("plugins.select.custom_badge_text")),1)):e.createCommentVNode("",!0),t.plugin.description?(e.openBlock(),e.createElementBlock("p",{key:1,class:"plugin-card-text",title:t.plugin.description},e.toDisplayString(t.plugin.description),9,AI)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],10,EI),e.createElementVNode("div",{class:"plugin-card-footer",onClick:h},e.toDisplayString(f.value?e.unref(i)("actions.create_custom"):t.plugin.exists?e.unref(i)("actions.enabled"):e.unref(i)("actions.enable")),1)],10,bI)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-65d53934"]]),ki=ye(e.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(t,{emit:n}){var g;const o=t,r=n,{i18nT:a,i18n:{t:i}}=Me.useI18n(),{getMessageFromError:l}=ee.useErrors(),{axiosInstance:s}=ee.useAxios((g=o.config)==null?void 0:g.axiosRequestConfig),c=e.computed(()=>{var _;return d.value?i("delete.plugin_schema_in_use_title"):i("delete.title",{name:((_=o.plugin)==null?void 0:_.name)||i("delete.custom_plugin")})}),u=e.ref(!1),p=e.ref(""),d=e.ref(!1),f=e.computed(()=>{if(o.config.app==="konnect"){const _=o.plugin.customPluginType==="streaming"?We.select[o.config.app].streamingCustomPluginItem:We.select[o.config.app].schemaCustomPluginItem;let h=`${o.config.apiBaseUrl}${_}`;return h=h.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),h=h.replace(/{pluginId}/gi,o.plugin.id),h}return null}),m=async()=>{var _,h,y,w;if(u.value=!0,p.value="",!(!((_=o.plugin)!=null&&_.name)||((h=o.config)==null?void 0:h.app)!=="konnect"))try{f.value&&await s.delete(f.value),r("proceed")}catch(E){const{response:C}=E;(C==null?void 0:C.status)===400&&((w=(y=C.data)==null?void 0:y.message)!=null&&w.includes("plugin schema is currently in use"))?d.value=!0:p.value=l(E)}finally{u.value=!1}};return(_,h)=>{const y=e.resolveComponent("KButton"),w=e.resolveComponent("KModal");return!d.value&&t.plugin?(e.openBlock(),e.createBlock(e.unref(ee.EntityDeleteModal),{key:0,"action-pending":u.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:e.unref(i)("delete.description_custom"),"entity-name":t.plugin.name,"entity-type":e.unref(ee.EntityTypes).Plugin,error:p.value,"need-confirm":"",title:c.value,visible:"",onCancel:h[0]||(h[0]=E=>_.$emit("closed")),onProceed:m},null,8,["action-pending","description","entity-name","entity-type","error","title"])):t.plugin?(e.openBlock(),e.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:h[2]||(h[2]=E=>_.$emit("closed"))},{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(e.unref(a),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:e.withCtx(()=>[e.createElementVNode("strong",null,e.toDisplayString(t.plugin.name),1)]),_:1})])]),"footer-actions":e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(y,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:h[1]||(h[1]=E=>_.$emit("closed"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),SI={class:"custom-plugins-grid"},PI={class:"empty-state-title"},II={class:"empty-state-description"},wi=310,TI=ye(e.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.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(t,{emit:n}){const o=t,r=n,{i18n:{t:a}}=Me.useI18n(),{getTallestPluginCardHeight:i,getToggleVisibility:l}=Me.usePluginHelpers(),s=e.ref(!0),c=b=>{r("plugin-clicked",b)},u=e.computed(()=>{if(o.config.app==="kongManager")return[];const b=JSON.parse(JSON.stringify(o.pluginList))[F.PluginGroup.CUSTOM_PLUGINS]||[];return o.canCreateCustomPlugin&&o.navigateOnClick&&o.config.createCustomRoute?[{id:"custom-plugin-create",name:a("plugins.select.tabs.custom.create.name"),available:!0,group:F.PluginGroup.CUSTOM_PLUGINS,description:a("plugins.select.tabs.custom.create.description")}].concat(b):b}),p=e.ref(!1),d=e.ref(null),f=b=>{p.value=!0,d.value={id:b.id,name:b.name,customPluginType:b.customPluginType}},m=b=>{var k;b&&(r("revalidate"),r("delete:success",((k=d.value)==null?void 0:k.name)||"")),p.value=!1,d.value=null},g=e.ref(wi),_=e.ref(null),h=e.ref(null),y=e.computed(()=>s.value?{overflowY:"hidden",maxHeight:`${g.value}px`}:{}),w=e.ref(!1),E=()=>{g.value=Math.max(i(h.value),wi),C()},C=()=>{var b,k;(b=h.value)!=null&&b.length&&(w.value=l(_.value,(k=h.value)==null?void 0:k.length))};return e.onMounted(async()=>{await e.nextTick(),g.value=Math.max(i(h.value),wi),C(),window==null||window.addEventListener("resize",E)}),e.onUnmounted(()=>{window==null||window.removeEventListener("resize",E)}),(b,k)=>{const N=e.resolveComponent("KEmptyState"),S=e.resolveComponent("KCollapse");return e.openBlock(),e.createElementBlock("div",SI,[u.value.length?(e.openBlock(),e.createBlock(S,{key:1,modelValue:s.value,"onUpdate:modelValue":k[0]||(k[0]=R=>s.value=R),class:"custom-plugins-collapse","data-testid":`${e.unref(F.PluginGroup).CUSTOM_PLUGINS}-collapse`,title:e.unref(F.PluginGroup).CUSTOM_PLUGINS,"trigger-label":s.value?e.unref(a)("plugins.select.view_more"):e.unref(a)("plugins.select.view_less")},e.createSlots({"visible-content":e.withCtx(()=>[e.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:_,class:"plugin-card-container",style:e.normalizeStyle(y.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,(R,P)=>(e.openBlock(),e.createBlock(bi,{key:`plugin-card-${P}`,ref_for:!0,ref_key:"pluginCardRef",ref:h,"can-delete-custom-plugin":t.canDeleteCustomPlugin,"can-edit-custom-plugin":t.canEditCustomPlugin,config:t.config,"navigate-on-click":t.navigateOnClick,plugin:R,onCustomPluginDelete:A=>f(R),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:e.withCtx(()=>[k[2]||(k[2]=e.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(e.openBlock(),e.createBlock(N,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:e.withCtx(()=>[e.createElementVNode("span",PI,e.toDisplayString(e.unref(a)("plugins.select.tabs.custom.empty_title")),1)]),default:e.withCtx(()=>[e.createElementVNode("span",II,e.toDisplayString(e.unref(a)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),p.value&&d.value?(e.openBlock(),e.createBlock(ki,{key:2,config:t.config,plugin:d.value,onClosed:m,onProceed:k[1]||(k[1]=R=>m(!0))},null,8,["config","plugin"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-f4b90f47"]]),Ci=310,yu=ye(e.defineComponent({__name:"PluginSelectGroup",props:e.mergeModels({config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:e.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(t,{emit:n}){const o=e.useModel(t,"modelValue"),r=t,a=n,{i18n:{t:i}}=Me.useI18n(),{getTallestPluginCardHeight:l,getToggleVisibility:s}=Me.usePluginHelpers(),c=e.ref(Ci),u=e.ref(null),p=e.ref(null),d=e.computed(()=>o.value?{overflowY:"hidden",maxHeight:`${c.value}px`}:{}),f=e.ref(!1),m=()=>{c.value=Math.max(l(p.value),Ci),g()},g=()=>{var _,h;(_=p.value)!=null&&_.length&&(f.value=s(u.value,(h=p.value)==null?void 0:h.length))};return e.onMounted(async()=>{await e.nextTick(),c.value=Math.max(l(p.value),Ci),g(),window==null||window.addEventListener("resize",m)}),e.onUnmounted(()=>{window==null||window.removeEventListener("resize",m)}),(_,h)=>{const y=e.resolveComponent("KCollapse");return e.openBlock(),e.createBlock(y,{modelValue:o.value,"onUpdate:modelValue":h[0]||(h[0]=w=>o.value=w),class:"plugins-collapse","data-testid":`${r.name}-collapse`,title:r.name,"trigger-label":o.value?e.unref(i)("plugins.select.view_more"):e.unref(i)("plugins.select.view_less")},e.createSlots({"visible-content":e.withCtx(()=>[e.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:u,class:"plugin-card-container",style:e.normalizeStyle(d.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.plugins,w=>(e.openBlock(),e.createBlock(bi,{key:`plugin-card-${w.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:p,config:t.config,"navigate-on-click":t.navigateOnClick,plugin:w,onPluginClicked:E=>a("plugin-clicked",w)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[f.value?void 0:{name:"trigger",fn:e.withCtx(()=>[h[1]||(h[1]=e.createTextVNode("   ",-1))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),OI={class:"plugin-select-grid"},VI={class:"empty-state-title"},BI={class:"empty-state-description"},Ei=e.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.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(t,{emit:n}){const o=t,r=n,{i18n:{t:a}}=Me.useI18n(),i=e.ref(!1),l=e.ref(Br),s=u=>{r("plugin-clicked",u)},c=e.computed(()=>{const u=JSON.parse(JSON.stringify(o.pluginList));return o.config.app==="konnect"&&delete u[F.PluginGroup.CUSTOM_PLUGINS],u});return(u,p)=>{const d=e.resolveComponent("KEmptyState");return e.openBlock(),e.createElementBlock("div",OI,[Object.keys(c.value).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(d,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:e.withCtx(()=>[e.createElementVNode("span",VI,e.toDisplayString(e.unref(a)("plugins.select.tabs.kong.empty_title")),1)]),default:e.withCtx(()=>[e.createElementVNode("span",BI,e.toDisplayString(e.unref(a)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!o.hideHighlightedPlugins&&o.highlightedPlugins.length>0?(e.openBlock(),e.createBlock(yu,{key:1,modelValue:i.value,"onUpdate:modelValue":p[0]||(p[0]=f=>i.value=f),config:t.config,name:o.highlightedPluginsTitle||e.unref(a)("plugins.select.highlighted_plugins.title"),"navigate-on-click":t.navigateOnClick,plugins:o.highlightedPlugins,onPluginClicked:p[1]||(p[1]=f=>s(f))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Ii),f=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[c.value[f]?(e.openBlock(),e.createElementBlock("div",{key:f},[e.createVNode(yu,{modelValue:l.value[f],"onUpdate:modelValue":m=>l.value[f]=m,config:t.config,name:f,"navigate-on-click":t.navigateOnClick,plugins:c.value[f]||[],onPluginClicked:p[2]||(p[2]=m=>s(m))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):e.createCommentVNode("",!0)],64))),256))])}}}),$I={class:"kong-ui-entities-plugin-select-form"},RI={class:"plugins-filter-input-container"},FI={key:0},LI={key:3,"aria-live":"polite",class:"plugins-results-container"},DI={"data-testid":"kong-tab"},MI={class:"tab-description"},jI={"data-testid":"custom-tab"},vI={class:"tab-description"},UI=ye(e.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||!t.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(t,{emit:n}){var j;const o=t,r=n,a=dn.useRoute(),i=dn.useRouter(),{i18n:{t:l}}=Me.useI18n(),{pluginMetaData:s}=Me.usePluginMetaData(),{getMessageFromError:c}=ee.useErrors(),{sortAlpha:u,objectsAreEqual:p}=ee.useHelpers(),d=e.ref(""),f=e.ref(!0),m=e.ref(!1),g=e.ref(""),_=e.ref([]),h=e.ref([]),y=e.ref({}),w=e.ref([]),{axiosInstance:E}=ee.useAxios((j=o.config)==null?void 0:j.axiosRequestConfig),C=e.computed(()=>y.value?Object.entries(y.value).filter(([x])=>x!==F.PluginGroup.CUSTOM_PLUGINS).reduce((x,[,M])=>{for(const G of M??[])x[G.id]=G;return x},{}):{}),b=e.computed(()=>{var G;if(!y.value)return{};const x=d.value.toLowerCase(),M=JSON.parse(JSON.stringify(y.value));for(const te in y.value){const L=((G=y.value[te])==null?void 0:G.filter(H=>H.name.toLowerCase().includes(x)||H.id.toLowerCase().includes(x)||H.group.toLowerCase().includes(x)))||[];L.length?M[te]=L:delete M[te]}return M}),k=e.computed(()=>o.highlightedPluginIds.reduce((x,M)=>{const G=C.value[M];return G&&x.push(G),x},[])),N=e.computed(()=>Object.keys(b.value).length>0),S=e.computed(()=>Object.keys(y.value).length>0&&!N.value),R=e.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)}]:[]),P=e.computed(()=>{var M;let x=R.value.length&&((a==null?void 0:a.hash)||((M=R.value[0])==null?void 0:M.hash))||"";return x==="#custom"&&["none","disabled"].includes(o.customPluginSupport)&&(x="#kong"),x}),A=()=>[...new Set([...Object.keys({...o.availableOnServer?{}:s}),..._.value])].filter(x=>!o.ignoredPlugins.includes(x)).filter(x=>o.config.entityType&&(o.config.entityType==="services"&&s[x]&&!s[x].scope.includes(F.PluginScope.SERVICE)||o.config.entityType==="routes"&&s[x]&&!s[x].scope.includes(F.PluginScope.ROUTE)||o.config.entityType==="consumer_groups"&&s[x]&&!s[x].scope.includes(F.PluginScope.CONSUMER_GROUP)||o.config.entityType==="consumers"&&s[x]&&!s[x].scope.includes(F.PluginScope.CONSUMER))?!1:x).reduce((x,M)=>{var Z;const G=s[M]&&s[M].name||M,te={...s[M],id:M,name:G,available:_.value.includes(M),disabledMessage:"",group:((Z=s[M])==null?void 0:Z.group)||F.PluginGroup.CUSTOM_PLUGINS};te.group===F.PluginGroup.CUSTOM_PLUGINS&&(te.customPluginType=h.value.find(Ne=>Ne.name===M)?"streaming":"schema"),o.disabledPlugins&&(te.disabledMessage=o.disabledPlugins[M]);const L=te.group||l("plugins.select.misc_plugins");let H=x[L];return H||(H=[]),H.push(te),H.sort(u("name")),x[L]=H,x},{}),T=e.computed(()=>{var M;let x=`${o.config.apiBaseUrl}${We.select[o.config.app].availablePlugins}`;return o.config.app==="konnect"?x=x.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(x=((M=o.config.gatewayInfo)==null?void 0:M.edition)==="community"?`${o.config.apiBaseUrl}${We.select[o.config.app].availablePluginsForOss}`:x.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),x}),O=e.computed(()=>{if(o.config.app==="konnect"&&o.customPluginSupport==="streaming"){let x=`${o.config.apiBaseUrl}${We.select[o.config.app].streamingCustomPlugins}`;return x=x.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""),x}return null}),I=e.computed(()=>{if(o.config.entityType&&o.config.entityId){let x=`${o.config.apiBaseUrl}${We.list[o.config.app].forEntity}`;return o.config.app==="konnect"?x=x.replace(/{controlPlaneId}/gi,o.config.controlPlaneId||""):o.config.app==="kongManager"&&(x=x.replace(/\/{workspace}/gi,o.config.workspace?`/${o.config.workspace}`:"")),x.replace(/{entityType}/gi,o.config.entityType||"").replace(/{entityId}/gi,o.config.entityId||"")}return""}),q=x=>{i.replace({hash:x,query:a.query})};e.watch(()=>o.disabledPlugins,(x,M)=>{!p(x,M)&&!f.value&&(y.value=A())}),e.watch(()=>o.ignoredPlugins,(x,M)=>{!p(x,M)&&!f.value&&(y.value=A())}),e.watch(f,x=>{r("loading",x)});const v=e.ref(!1),W=e.ref(!1),U=e.ref(!1);e.onBeforeMount(async()=>{v.value=await o.canCreateCustomPlugin(),W.value=await o.canEditCustomPlugin(),U.value=await o.canDeleteCustomPlugin()});const D=e.useTemplateRef("filter-input");return e.onMounted(async()=>{var x,M;(M=(x=D.value)==null?void 0:x.input)==null||M.focus();try{const{data:G}=await E.get(T.value);if(o.config.app==="konnect"){const{names:te}=G;if(_.value=te||[],O.value){const{data:L}=await E.get(O.value);h.value=L.data||[]}}else if(o.config.app==="kongManager"){const{plugins:{available_on_server:te}}=G;_.value=te?Object.keys(te):[]}}catch(G){m.value=!0,g.value=c(G)}if(I.value)try{const{data:{data:G}}=await E.get(I.value);if(G!=null&&G.length){const te=G.reduce((L,H)=>(H.name&&L.push(H.name),L),[]);w.value=w.value.concat(te)}}catch{}m.value||(y.value=A()),f.value=!1}),(x,M)=>{const G=e.resolveComponent("KInput"),te=e.resolveComponent("KSkeletonBox"),L=e.resolveComponent("KSkeleton"),H=e.resolveComponent("KEmptyState"),Z=e.resolveComponent("KTooltip"),Ne=e.resolveComponent("KTabs");return e.openBlock(),e.createElementBlock("div",$I,[e.createElementVNode("div",RI,[e.createVNode(G,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":M[0]||(M[0]=Oe=>d.value=Oe),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:e.unref(l)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),f.value?(e.openBlock(),e.createElementBlock("section",FI,[e.createVNode(te,{class:"plugins-skeleton-title",width:"10"}),e.createVNode(L,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):m.value?(e.openBlock(),e.createBlock(H,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:e.withCtx(()=>[e.createElementVNode("h3",null,e.toDisplayString(g.value),1)]),_:1})):S.value&&d.value?(e.openBlock(),e.createBlock(H,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:e.withCtx(()=>[e.createElementVNode("h5",null,e.toDisplayString(e.unref(l)("search.no_results",{filter:d.value})),1)]),_:1})):(e.openBlock(),e.createElementBlock("section",LI,[R.value.length&&t.customPluginSupport!=="none"?(e.openBlock(),e.createBlock(Ne,{key:0,modelValue:P.value,"onUpdate:modelValue":M[5]||(M[5]=Oe=>P.value=Oe),"data-testid":"plugins-tabs",tabs:R.value,onChange:q},e.createSlots({kong:e.withCtx(()=>[e.createElementVNode("div",DI,[e.createElementVNode("p",MI,e.toDisplayString(e.unref(l)("plugins.select.tabs.kong.description")),1),e.createVNode(Ei,{config:t.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":t.navigateOnClick,"plugin-list":b.value,onPluginClicked:M[1]||(M[1]=Oe=>x.$emit("plugin-clicked",Oe))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:e.withCtx(()=>[e.createElementVNode("div",jI,[e.renderSlot(x.$slots,"before-custom-tab-content",{},void 0,!0),e.createElementVNode("p",vI,e.toDisplayString(e.unref(l)("plugins.select.tabs.custom.description")),1),e.createVNode(TI,{"can-create-custom-plugin":v.value,"can-delete-custom-plugin":U.value,"can-edit-custom-plugin":W.value,config:t.config,"navigate-on-click":t.navigateOnClick,"plugin-list":b.value,"onDelete:success":M[2]||(M[2]=Oe=>x.$emit("delete-custom:success",Oe)),onPluginClicked:M[3]||(M[3]=Oe=>x.$emit("plugin-clicked",Oe)),onRevalidate:M[4]||(M[4]=()=>y.value=A())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[t.customPluginSupport==="disabled"?{name:"custom-anchor",fn:e.withCtx(()=>[e.createVNode(Z,{"max-width":"300",text:e.unref(l)("plugins.select.tabs.custom.disabled_tooltip")},{default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(l)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(e.openBlock(),e.createBlock(Ei,{key:1,config:t.config,"hide-highlighted-plugins":d.value.length>0,"highlighted-plugins":k.value,"highlighted-plugins-title":o.highlightedPluginsTitle,"navigate-on-click":t.navigateOnClick,"plugin-list":b.value,onPluginClicked:M[6]||(M[6]=Oe=>x.$emit("plugin-clicked",Oe))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-a2b8a174"]]),KI={class:"plugin-select-card-wrapper","data-testid":"plugin-catalog-card-wrapper"},qI={class:"plugin-card-header"},GI={class:"plugin-card-title"},zI={key:0,class:"plugin-card-actions"},HI=["data-testid","title"],WI={key:0},YI={key:0},JI=["title"],XI={class:"plugin-card-footer"},ZI=ye(e.defineComponent({__name:"PluginCatalogCard",props:{config:{},plugin:{}},emits:["plugin-clicked","custom-plugin-delete"],setup(t,{emit:n}){const o=n,r=t,a=dn.useRouter(),{i18n:{t:i}}=Me.useI18n(),l=e.computed(()=>r.config.app==="konnect"?r.config.controlPlaneId:""),s=e.computed(()=>!!(!r.plugin.available||r.plugin.disabledMessage)),c=e.computed(()=>!!(d.value&&!p.value&&l.value)),u=e.computed(()=>{if(s.value)return{};if(d.value){const g=r.config;if(p.value&&g.createCustomRoute)return g.createCustomRoute}return r.config.getCreateRoute(r.plugin.id)}),p=e.computed(()=>r.plugin.id==="custom-plugin-create"),d=e.computed(()=>r.config.app==="konnect"&&r.plugin.group===F.PluginGroup.CUSTOM_PLUGINS),f=()=>{r.config.app==="konnect"&&o("custom-plugin-delete")},m=(g,_)=>{const h=r.config;r.config.app==="konnect"&&typeof h.getCustomEditRoute=="function"&&a.push(h.getCustomEditRoute(g,_))};return(g,_)=>{const h=e.resolveComponent("KButton"),y=e.resolveComponent("KDropdownItem"),w=e.resolveComponent("KDropdownMenu"),E=e.resolveComponent("RouterLink"),C=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock("div",KI,[e.createVNode(C,{text:t.plugin.disabledMessage},{default:e.withCtx(()=>[e.createVNode(E,{class:e.normalizeClass(["plugin-select-card",{disabled:s.value}]),"data-testid":`${t.plugin.id}-card`,to:u.value},{default:e.withCtx(()=>[e.createElementVNode("div",qI,[e.createElementVNode("div",GI,[e.createVNode(e.unref(un.PluginIcon),{alt:t.plugin.name,class:"plugin-card-icon",name:t.plugin.id,size:55},null,8,["alt","name"]),e.createElementVNode("span",{class:e.normalizeClass({"non-custom-title":!d.value})},e.toDisplayString(t.plugin.name),3)]),c.value?(e.openBlock(),e.createElementBlock("div",zI,[e.createVNode(w,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150",onClick:_[1]||(_[1]=e.withModifiers(()=>{},["stop","prevent"]))},{default:e.withCtx(()=>[e.createVNode(h,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(ue.MoreIcon),{size:e.unref(uo)},null,8,["size"])]),_:1})]),items:e.withCtx(()=>[e.createVNode(y,{"data-testid":"edit-plugin-schema",onClick:_[0]||(_[0]=e.withModifiers(b=>m(t.plugin.name,t.plugin.customPluginType),["stop","prevent"]))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.edit")),1)]),_:1}),e.createVNode(y,{danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:e.withModifiers(f,["stop","prevent"])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("actions.delete")),1)]),_:1})]),_:1})])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"plugin-card-body","data-testid":`${t.plugin.id}-card-body`,title:t.plugin.available?t.plugin.name:e.unref(i)("plugins.select.unavailable_tooltip")},[t.plugin.description||d.value&&!p.value?(e.openBlock(),e.createElementBlock("div",WI,[d.value&&!p.value?(e.openBlock(),e.createElementBlock("div",YI,e.toDisplayString(e.unref(i)("plugins.select.custom_badge_text")),1)):e.createCommentVNode("",!0),t.plugin.description?(e.openBlock(),e.createElementBlock("div",{key:1,title:t.plugin.description},e.toDisplayString(t.plugin.description),9,JI)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],8,HI),e.createElementVNode("div",XI,[e.createElementVNode("div",null,e.toDisplayString(p.value?e.unref(i)("actions.create_custom"):e.unref(i)("actions.configure")),1),e.renderSlot(g.$slots,"footer-extra",{},void 0,!0)])]),_:3},8,["class","data-testid","to"])]),_:3},8,["text"])])}}}),[["__scopeId","data-v-dd7d4c5b"]]),QI=["data-testid"],eT={class:"group-icon-wrapper"},tT={class:"group-title-text"},nT=["data-testid"],oT=["data-testid"],_u=ye(e.defineComponent({__name:"PluginCatalogGroup",props:{config:{},name:{},plugins:{},showAllCard:{type:Boolean}},emits:["plugin-clicked","revalidate","delete:success"],setup(t,{emit:n}){const o=t,r=e.computed(()=>{switch(o.name){case"Featured":return ue.PopularIcon;case"AI":return ue.BotIcon;case"Analytics & Monitoring":return ue.AnalyticsIcon;case"Authentication":return ue.LockIcon;case"Logging":return ue.ServiceDocumentIcon;case"Security":return ue.SecurityIcon;case"Serverless":return ue.RuntimeServerlessIcon;case"Traffic Control":return ue.TrafficIcon;case"Transformations":return ue.TransformationIcon;case"Deployment":return ue.DeployIcon;case"Custom Plugins":return ue.CodeblockIcon;default:return null}}),a=n,{i18n:{t:i}}=Me.useI18n(),l=e.ref(!1),s=e.computed(()=>o.showAllCard?o.plugins:!l.value&&o.plugins.length>9?o.plugins.slice(0,8):o.plugins),c=e.computed(()=>!o.showAllCard&&!l.value&&o.plugins.length>9);function u(){l.value=!0}const p=e.ref(!1),d=e.ref(null),f=g=>{p.value=!0,d.value={id:g.id,name:g.name,customPluginType:g.customPluginType}},m=g=>{var _;g&&(a("revalidate"),a("delete:success",((_=d.value)==null?void 0:_.name)||"")),p.value=!1,d.value=null};return(g,_)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[t.name?(e.openBlock(),e.createElementBlock("div",{key:0,class:"group-title","data-testid":`plugin-group-${t.name}-title`},[e.createElementVNode("div",eT,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),{color:e.unref(hs)},null,8,["color"]))]),e.createElementVNode("span",tT,e.toDisplayString(t.name),1)],8,QI)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:"plugin-card-container","data-testid":`plugin-group-${t.name}`},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,h=>(e.openBlock(),e.createBlock(ZI,{key:`plugin-card-${h.id}`,config:t.config,plugin:h,onCustomPluginDelete:y=>f(h),onPluginClicked:y=>a("plugin-clicked",h)},e.createSlots({_:2},[h.gatewayVersion&&e.unref(Ky)(e.unref(F.GATEWAY_VERSION_TIMESTAMP_MAP)[h.gatewayVersion])?{name:"footer-extra",fn:e.withCtx(()=>[e.createElementVNode("span",{class:"plugin-card-new-badge","data-testid":`plugin-card-${h.id}-new-badge`},e.toDisplayString(e.unref(i)("labels.new")),9,oT)]),key:"0"}:void 0]),1032,["config","plugin","onCustomPluginDelete","onPluginClicked"]))),128)),c.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"show-all-plugin-card",onClick:u},e.toDisplayString(e.unref(i)("plugins.select.show_all")),1)):e.createCommentVNode("",!0)],8,nT),p.value&&d.value?(e.openBlock(),e.createBlock(ki,{key:1,config:t.config,plugin:d.value,onClosed:m,onProceed:_[0]||(_[0]=h=>m(!0))},null,8,["config","plugin"])):e.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-a244b0ca"]]),rT={class:"plugin-select-grid"},aT={class:"empty-state-title"},iT={class:"empty-state-description"},lT={key:1},sT=ye(e.defineComponent({__name:"PluginCatalogGrid",props:{config:{},pluginList:{}},emits:["plugin-clicked","delete:success"],setup(t,{emit:n}){const o=Vo.concat(Bo),r=n,{i18n:{t:a}}=Me.useI18n(),i=e.ref(Br),l=s=>{r("plugin-clicked",s)};return(s,c)=>{var p,d;const u=e.resolveComponent("KEmptyState");return e.openBlock(),e.createElementBlock("div",rT,[Object.keys(t.pluginList||[]).length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:e.withCtx(()=>[e.createElementVNode("span",aT,e.toDisplayString(e.unref(a)("plugins.select.tabs.kong.empty_title")),1)]),default:e.withCtx(()=>[e.createElementVNode("span",iT,e.toDisplayString(e.unref(a)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o),f=>{var m;return e.openBlock(),e.createElementBlock(e.Fragment,null,[(m=t.pluginList)!=null&&m[f]?(e.openBlock(),e.createElementBlock("div",{key:f},[e.createVNode(_u,{modelValue:i.value[f],"onUpdate:modelValue":g=>i.value[f]=g,config:t.config,name:f,plugins:t.pluginList[f]||[],"onDelete:success":c[0]||(c[0]=g=>r("delete:success",g)),onPluginClicked:c[1]||(c[1]=g=>l(g))},null,8,["modelValue","onUpdate:modelValue","config","name","plugins"])])):e.createCommentVNode("",!0)],64)}),256)),(d=(p=t.pluginList)==null?void 0:p["Query Result"])!=null&&d.length?(e.openBlock(),e.createElementBlock("div",lT,[e.createVNode(_u,{modelValue:i.value["Query Result"],"onUpdate:modelValue":c[2]||(c[2]=f=>i.value["Query Result"]=f),config:t.config,plugins:t.pluginList["Query Result"]||[],"show-all-card":"",onPluginClicked:c[3]||(c[3]=f=>l(f))},null,8,["modelValue","config","plugins"])])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-61af385a"]]),cT={class:"plugin-name-cell","data-testid":"plugin-catalog-list-view-name"},dT=["title"],uT=["title"],fT={class:"plugin-action-cell","data-testid":"plugin-catalog-list-view-action"},pT={key:0,class:"plugin-more-action-cell","data-testid":"plugin-catalog-list-view-more-actions"},mT=ye(e.defineComponent({__name:"PluginCatalogListView",props:{config:{},pluginList:{}},emits:["revalidate","delete:success"],setup(t,{emit:n}){const o=n,r=t,{i18n:{t:a}}=Me.useI18n(),i=e.computed(()=>h.value.some(C=>{var b;return!!((b=C.plugin)!=null&&b.customPluginType)})),l=e.computed(()=>{const C=[{key:"name",label:a("plugins.select.list.table_headers.name"),sortable:!0},{key:"description",label:a("plugins.select.list.table_headers.description")},{key:"action",hideLabel:!0}];return i.value&&C.push({key:"more-actions",hideLabel:!0}),C}),s=e.computed(()=>{if(!r.pluginList)return[];const C=Object.values(r.pluginList).flat();return Array.from(new Map(C.map(k=>[k.id,k])).values()).map(k=>({id:k.id,name:k.name,description:k.description,plugin:k}))}),c=e.ref(0),u=e.ref(10),p=e.ref(1),d=e.ref(s.value),f=e.ref(!1),m=e.ref(null),g=C=>{f.value=!0,m.value={id:C.id,name:C.name,customPluginType:C.customPluginType}},_=C=>{var b;C&&(o("revalidate"),o("delete:success",((b=m.value)==null?void 0:b.name)||"")),f.value=!1,m.value=null},h=e.computed(()=>{const C=d.value.length,b=Math.max(1,Math.ceil(C/u.value)),N=(Math.min(p.value,b)-1)*u.value;return d.value.slice(N,N+u.value)});e.watch(s,()=>{d.value=[...s.value],p.value=1,c.value++});const y=({page:C})=>{p.value=C},w=({pageSize:C})=>{u.value=C},E=C=>{const{sortColumnKey:b,sortColumnOrder:k}=C;b==="name"&&(d.value=[...d.value].sort((N,S)=>{const R=(N[b]||"").toLowerCase(),P=(S[b]||"").toLowerCase();return R<P?k==="asc"?-1:1:R>P?k==="asc"?1:-1:0}))};return(C,b)=>{const k=e.resolveComponent("KButton"),N=e.resolveComponent("KDropdownItem"),S=e.resolveComponent("KDropdown"),R=e.resolveComponent("KTableView"),P=e.resolveComponent("KCard");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(P,{"data-testid":"plugin-catalog-list-view-card"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(R,{key:c.value,class:"plugin-catalog-table","client-sort":"",data:h.value,"data-testid":"plugin-catalog-list-view-table",headers:l.value,"pagination-attributes":{totalCount:s.value.length,currentPage:p.value,initialPageSize:u.value,pageSizes:[10,25,50]},"resize-columns":"","row-key":"id",onPageChange:y,onPageSizeChange:w,onSort:E},{name:e.withCtx(({row:A})=>[e.createElementVNode("span",cT,[e.createVNode(e.unref(un.PluginIcon),{"data-testid":`plugin-catalog-list-view-${A.plugin.id}-icon`,name:A.plugin.id,size:20},null,8,["data-testid","name"]),e.createElementVNode("span",{class:"plugin-name-text","data-testid":"plugin-catalog-list-view-name-text",title:A.name},e.toDisplayString(A.name),9,dT)])]),description:e.withCtx(({row:A})=>[e.createElementVNode("span",{class:"plugin-description-cell","data-testid":"plugin-catalog-list-view-description",title:A.description},e.toDisplayString(A.description),9,uT)]),action:e.withCtx(({row:A})=>[e.createElementVNode("div",fT,[e.createVNode(k,{appearance:"tertiary","data-testid":"plugin-catalog-list-view-configure-btn",size:"small",to:r.config.getCreateRoute(A.id)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.configure")),1)]),_:1},8,["to"])])]),"more-actions":e.withCtx(({row:A})=>{var T;return[(T=A.plugin)!=null&&T.customPluginType?(e.openBlock(),e.createElementBlock("div",pT,[e.createVNode(S,{appearance:"tertiary",class:"actions-trigger","data-testid":"plugin-catalog-list-view-more-actions-button",icon:"",size:"small"},{items:e.withCtx(()=>{var O,I;return[e.createVNode(N,{"data-testid":"edit-plugin-schema",item:{label:e.unref(a)("actions.edit"),to:(I=(O=t.config).getCustomEditRoute)==null?void 0:I.call(O,A.plugin.name,A.plugin.customPluginType)}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.edit")),1)]),_:1},8,["item"]),e.createVNode(N,{danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:()=>g(A.plugin)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("actions.delete")),1)]),_:1},8,["onClick"])]}),default:e.withCtx(()=>[e.createVNode(e.unref(ue.MoreIcon),{color:e.unref(Dn),size:e.unref(uo)},null,8,["color","size"])]),_:2},1024)])):e.createCommentVNode("",!0)]}),_:1},8,["data","headers","pagination-attributes"]))]),_:1}),f.value&&m.value?(e.openBlock(),e.createBlock(ki,{key:0,config:t.config,plugin:m.value,onClosed:_,onProceed:b[0]||(b[0]=A=>_(!0))},null,8,["config","plugin"])):e.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-fff2eb7f"]]),gT={class:"plugin-catalog","data-testid":"plugin-catalog"},hT={class:"plugin-filter","data-testid":"plugin-filter"},yT={class:"plugin-filter-title"},_T={class:"featured-title"},bT={class:"plugin-featured-filter"},kT=["data-testid"],wT={class:"group-title"},CT={class:"plugin-type-filter"},ET=["data-testid"],NT={class:"plugins-container"},xT={class:"plugins-filter-input-container"},AT={class:"icon-container"},ST={key:0},PT={key:3,"aria-live":"polite",class:"plugins-results-container"},IT=ye(e.defineComponent({__name:"PluginCatalog",props:{config:{},disabledPlugins:{},highlightedPluginIds:{},customPluginSupport:{},availableOnServer:{type:Boolean,default:!0}},emits:["loading","plugin-clicked","delete-custom:success"],setup(t,{emit:n}){var q;const o=n,{i18n:{t:r}}=Me.useI18n(),{pluginMetaData:a}=Me.usePluginMetaData(),{getMessageFromError:i}=ee.useErrors(),{sortAlpha:l,objectsAreEqual:s}=ee.useHelpers(),c=t,{axiosInstance:u}=ee.useAxios((q=c.config)==null?void 0:q.axiosRequestConfig),p=e.useTemplateRef("filter-input"),d=e.ref(""),f=e.ref(!1),m=e.ref(!1),g=e.ref(Object.fromEntries(Vo.concat(Bo).map(v=>[v,!1]))),_=e.ref(!0),h=e.ref(!1),y=e.ref(""),w=e.ref([]),E=e.ref([]),C=e.ref({}),b=e.ref([]),k=e.ref(!1),N=e.computed(()=>k.value?ue.GridIcon:ue.ListIcon),S=e.computed(()=>{var W;let v=`${c.config.apiBaseUrl}${We.select[c.config.app].availablePlugins}`;return c.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""):c.config.app==="kongManager"&&(v=((W=c.config.gatewayInfo)==null?void 0:W.edition)==="community"?`${c.config.apiBaseUrl}${We.select[c.config.app].availablePluginsForOss}`:v.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")),v}),R=e.computed(()=>{if(c.config.app==="konnect"&&c.customPluginSupport==="streaming"){let v=`${c.config.apiBaseUrl}${We.select[c.config.app].streamingCustomPlugins}`;return v=v.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""),v}return null}),P=e.computed(()=>{if(c.config.entityType&&c.config.entityId){let v=`${c.config.apiBaseUrl}${We.list[c.config.app].forEntity}`;return c.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,c.config.controlPlaneId||""):c.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,c.config.workspace?`/${c.config.workspace}`:"")),v.replace(/{entityType}/gi,c.config.entityType||"").replace(/{entityId}/gi,c.config.entityId||"")}return""}),A=e.computed(()=>{var M;if(!C.value)return{};const v=Object.entries(g.value).filter(([G,te])=>te).map(([G])=>G);let W={};v.length===0&&(W=C.value),v.forEach(G=>{C.value[G]&&(W[G]=C.value[G])});const U=d.value.toLowerCase();if(!U)return W;const D=JSON.parse(JSON.stringify(W));for(const G in W){const te=((M=W[G])==null?void 0:M.filter(L=>[L.name.toLowerCase(),L.id.toLowerCase()].some(Z=>Uy(U,Z).length===U.length)))||[];te.length?D[G]=te:delete D[G]}const j=Object.values(D).flat().filter(G=>!!G),x=Array.from(j.reduce((G,te)=>(G.has(te.id)||G.set(te.id,te),G),new Map).values());return x.length?{"Query Result":x}:{}}),T=e.computed(()=>Object.keys(A.value).length>0),O=e.computed(()=>Object.keys(C.value).length>0&&!T.value),I=()=>{const v=[...new Set([...Object.keys({...c.availableOnServer?{}:a}),...w.value])].filter(W=>c.config.entityType&&(c.config.entityType==="services"&&a[W]&&!a[W].scope.includes(F.PluginScope.SERVICE)||c.config.entityType==="routes"&&a[W]&&!a[W].scope.includes(F.PluginScope.ROUTE)||c.config.entityType==="consumer_groups"&&a[W]&&!a[W].scope.includes(F.PluginScope.CONSUMER_GROUP)||c.config.entityType==="consumers"&&a[W]&&!a[W].scope.includes(F.PluginScope.CONSUMER))?!1:W).reduce((W,U)=>{var G;const D=a[U]&&a[U].name||U,j={...a[U],id:U,name:D,available:w.value.includes(U),disabledMessage:"",group:((G=a[U])==null?void 0:G.group)||F.PluginGroup.CUSTOM_PLUGINS};j.group===F.PluginGroup.CUSTOM_PLUGINS&&(j.customPluginType=E.value.find(te=>te.name===U)?"streaming":"schema"),c.disabledPlugins&&(j.disabledMessage=c.disabledPlugins[U]);const x=j.group||r("plugins.select.misc_plugins");let M=W[x];return M||(M=[]),M.push(j),M.sort(l("name")),W[x]=M,W},{});return c.highlightedPluginIds&&c.highlightedPluginIds.length>0&&(v.Featured=c.highlightedPluginIds.flatMap(W=>{var D;const U=a[W];return U?{...U,id:W,name:U.name||W,available:w.value.includes(W),disabledMessage:((D=c.disabledPlugins)==null?void 0:D[W])||"",group:U.group||F.PluginGroup.CUSTOM_PLUGINS}:[]}).filter(Boolean)),v};return e.watch(()=>c.disabledPlugins,(v,W)=>{!s(v||{},W||{})&&!_.value&&(C.value=I())}),e.watch(_,v=>{o("loading",v)}),e.onMounted(async()=>{var v,W;(W=(v=p.value)==null?void 0:v.input)==null||W.focus();try{const{data:U}=await u.get(S.value);if(c.config.app==="konnect"){const{names:D}=U;if(w.value=D||[],R.value){const{data:j}=await u.get(R.value);E.value=j.data||[]}}else if(c.config.app==="kongManager"){const{plugins:{available_on_server:D}}=U;w.value=D?Object.keys(D):[]}}catch(U){h.value=!0,y.value=i(U)}if(P.value)try{const{data:{data:U}}=await u.get(P.value);if(U!=null&&U.length){const D=U.reduce((j,x)=>(x.name&&j.push(x.name),j),[]);b.value=b.value.concat(D)}}catch{}h.value||(C.value=I()),_.value=!1}),(v,W)=>{const U=e.resolveComponent("KCheckbox"),D=e.resolveComponent("KBadge"),j=e.resolveComponent("KCollapse"),x=e.resolveComponent("KInput"),M=e.resolveComponent("KSkeletonBox"),G=e.resolveComponent("KSkeleton"),te=e.resolveComponent("KEmptyState");return e.openBlock(),e.createElementBlock("div",gT,[e.createElementVNode("div",hT,[e.createElementVNode("div",yT,e.toDisplayString(e.unref(r)("plugins.select.filter.title")),1),e.createVNode(j,{modelValue:f.value,"onUpdate:modelValue":W[0]||(W[0]=L=>f.value=L)},{title:e.withCtx(()=>[e.createElementVNode("div",_T,e.toDisplayString(e.unref(r)("plugins.select.filter.featured")),1)]),default:e.withCtx(()=>[e.createElementVNode("div",bT,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Vo),L=>(e.openBlock(),e.createElementBlock("div",{key:L,class:"plugin-filter-item","data-testid":`plugin-filter-item-${L}`},[e.createVNode(U,{modelValue:g.value[L],"onUpdate:modelValue":H=>g.value[L]=H,label:L},null,8,["modelValue","onUpdate:modelValue","label"]),e.createVNode(D,{appearance:"neutral"},{default:e.withCtx(()=>{var H,Z;return[e.createTextVNode(e.toDisplayString(((Z=(H=C.value)==null?void 0:H[L])==null?void 0:Z.length)||0),1)]}),_:2},1024)],8,kT))),128))])]),_:1},8,["modelValue"]),e.createVNode(j,{modelValue:m.value,"onUpdate:modelValue":W[1]||(W[1]=L=>m.value=L)},{title:e.withCtx(()=>[e.createElementVNode("div",wT,e.toDisplayString(e.unref(r)("plugins.select.filter.type")),1)]),default:e.withCtx(()=>[e.createElementVNode("div",CT,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(Bo),L=>(e.openBlock(),e.createElementBlock("div",{key:L,class:"plugin-filter-item","data-testid":`plugin-filter-item-${L}`},[e.createVNode(U,{modelValue:g.value[L],"onUpdate:modelValue":H=>g.value[L]=H,"data-testid":`plugin-filter-checkbox-${L}`,label:L},null,8,["modelValue","onUpdate:modelValue","data-testid","label"]),e.createVNode(D,{appearance:"neutral","data-testid":`plugin-filter-count-${L}`},{default:e.withCtx(()=>{var H,Z;return[e.createTextVNode(e.toDisplayString(((Z=(H=C.value)==null?void 0:H[L])==null?void 0:Z.length)||0),1)]}),_:2},1032,["data-testid"])],8,ET))),128))])]),_:1},8,["modelValue"])]),e.createElementVNode("div",NT,[e.createElementVNode("div",xT,[e.createVNode(x,{ref:"filter-input",modelValue:d.value,"onUpdate:modelValue":W[2]||(W[2]=L=>d.value=L),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter-input",placeholder:e.unref(r)("search.placeholder.search_plugins"),type:"search"},null,8,["modelValue","placeholder"]),e.createElementVNode("div",AT,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(N.value),{class:"plugins-filter-icon",color:e.unref(D_),onClick:W[3]||(W[3]=L=>k.value=!k.value)},null,8,["color"]))])]),_.value?(e.openBlock(),e.createElementBlock("section",ST,[e.createVNode(M,{class:"plugins-skeleton-title",width:"10"}),e.createVNode(G,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):h.value?(e.openBlock(),e.createBlock(te,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:e.withCtx(()=>[e.createElementVNode("h3",null,e.toDisplayString(y.value),1)]),_:1})):O.value&&d.value?(e.openBlock(),e.createBlock(te,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:e.withCtx(()=>[e.createElementVNode("h5",null,e.toDisplayString(e.unref(r)("search.no_results",{filter:d.value})),1)]),_:1})):(e.openBlock(),e.createElementBlock("section",PT,[k.value?(e.openBlock(),e.createBlock(mT,{key:0,config:t.config,"plugin-list":A.value,"onDelete:success":W[4]||(W[4]=L=>v.$emit("delete-custom:success",L))},null,8,["config","plugin-list"])):(e.openBlock(),e.createBlock(sT,{key:1,config:t.config,"plugin-list":A.value,"onDelete:success":W[5]||(W[5]=L=>v.$emit("delete-custom:success",L)),onPluginClicked:W[6]||(W[6]=L=>v.$emit("plugin-clicked",L))},null,8,["config","plugin-list"]))]))])])}}}),[["__scopeId","data-v-2d691c7b"]]),TT={key:1,class:"datakit-config-card-canvas"},OT={class:"config-card-details-label","data-testid":"datakit-configuration-label"},VT={class:"config-card-details-value datakit-canvas-container","data-testid":"datakit-configuration-canvas"},BT={class:"canvas-wrapper"},$T=ye(e.defineComponent({__name:"DatakitConfigCardCanvas",props:{pluginData:{},item:{}},setup(t){const n=e.computed(()=>{var o;return lu.safeParse((o=t.pluginData)==null?void 0:o.config).success});return jc(t.pluginData),(o,r)=>{const a=e.resolveComponent("KLabel");return n.value?(e.openBlock(),e.createElementBlock("div",TT,[e.createElementVNode("div",OT,[e.createVNode(a,null,{default:e.withCtx(()=>[...r[0]||(r[0]=[e.createElementVNode("span",{class:"label-content"}," Nodes ",-1)])]),_:1})]),e.createElementVNode("div",VT,[e.createElementVNode("div",BT,[e.createVNode(fi,{class:"datakit-flow-panels",mode:"view",resizable:""})])])])):(e.openBlock(),e.createBlock(e.unref(ee.ConfigCardItem),{key:0,item:t.item},null,8,["item"]))}}}),[["__scopeId","data-v-0dc992b2"]]),RT={class:"kong-ui-entity-plugin-config-card"},FT={class:"name-cell-wrapper"},LT={class:"info-name"},DT={key:0},MT={key:0},jT={key:0},vT={key:0},UT={key:0},Ni="config",KT=ye(e.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:t=>!(!t||!["konnect","kongManager"].includes(t==null?void 0:t.app)||t.app==="konnect"&&!t.controlPlaneId||t.app==="kongManager"&&typeof t.workspace!="string"||!t.entityId||!t.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(t,{emit:n}){var C;const o=n,r=t,{i18n:{t:a}}=Me.useI18n(),i=Me.usePluginMetaData(),{setFieldType:l}=Me.usePluginHelpers(),{getPropValue:s}=ee.useHelpers(),c=e.computed(()=>{var k;let b=(k=We.item[r.config.app])==null?void 0:k[r.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,r.scopedEntityType).replace(/{entityId}/gi,r.scopedEntityId).concat(r.expandPartial?"?expand_partials=true":"");if(r.config.app==="konnect"){const N=r.expandPartial?"&":"?";b=b.concat(`${N}__ui_data=true`)}return b}),u=e.computed(()=>{var N,S;const b={},k=((N=y.value)==null?void 0:N.fields)||[];for(let R=0;R<k.length;R++){const P=y.value.fields[R],A=(S=Object.keys(P))==null?void 0:S[0];l(b,A,P[A])}return{...b,instance_name:{section:ee.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:a("plugins.fields.consumer"),section:ee.ConfigurationSchemaSection.Basic,order:6},route:{label:a("plugins.fields.route"),section:ee.ConfigurationSchemaSection.Basic,order:6},service:{label:a("plugins.fields.service"),section:ee.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:a("plugins.fields.consumer_group"),section:ee.ConfigurationSchemaSection.Basic,order:6},protocols:{type:ee.ConfigurationSchemaType.BadgeTag,section:ee.ConfigurationSchemaSection.Basic,order:7}}}),p=e.computed(()=>{var k,N,S;if(!((k=y.value)!=null&&k.fields))return[];const b=(N=y.value.fields)==null?void 0:N.find(R=>{var A;return((A=Object.keys(R))==null?void 0:A[0])===Ni});return((S=b==null?void 0:b[Ni])==null?void 0:S.fields)||[]}),d=e.computed(()=>{var k,N;const b={};if(!p.value)return b;for(let S=0;S<((k=p.value)==null?void 0:k.length);S++){const R=p.value[S],P=(N=Object.keys(R))==null?void 0:N[0],A=R[P];A.required&&(b[P]={order:1}),l(b,P,A)}return b}),f=b=>{var N;const k=(N=i.pluginMetaData[r.config.pluginType])==null?void 0:N.scope;return k?Object.fromEntries(Object.entries(b).filter(([S,R])=>R?!0:!(S==="service"&&!k.includes(F.PluginScope.SERVICE)||S==="route"&&!k.includes(F.PluginScope.ROUTE)||S==="consumer"&&!k.includes(F.PluginScope.CONSUMER)||S==="consumer_group"&&!k.includes(F.PluginScope.CONSUMER_GROUP)))):b},m=b=>tn(b,"__ui_data"),{getMessageFromError:g}=ee.useErrors(),{axiosInstance:_}=ee.useAxios((C=r.config)==null?void 0:C.axiosRequestConfig),h=e.computed(()=>{var k,N;let b=`${r.config.apiBaseUrl}${We.form[r.config.app].pluginSchema}`;return r.config.app==="konnect"?b=b.replace(/{controlPlaneId}/gi,((k=r.config)==null?void 0:k.controlPlaneId)||""):r.config.app==="kongManager"&&(b=b.replace(/\/{workspace}/gi,(N=r.config)!=null&&N.workspace?`/${r.config.workspace}`:"")),b=b.replace(/{plugin}/gi,r.config.pluginType),b}),y=e.ref({});ee.useSchemaProvider(y);const w=e.ref(!1),E=e.ref("");return e.onBeforeMount(async()=>{w.value=!0;try{const{data:b}=await _.get(h.value);y.value=b}catch(b){E.value=g(b),o("error:fetch-schema",b)}finally{w.value=!1}}),(b,k)=>{const N=e.resolveComponent("KSkeleton"),S=e.resolveComponent("KEmptyState"),R=e.resolveComponent("KCopy");return e.openBlock(),e.createElementBlock("div",RT,[w.value?(e.openBlock(),e.createBlock(N,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):E.value?(e.openBlock(),e.createBlock(S,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:e.withCtx(()=>[e.createElementVNode("h3",null,e.toDisplayString(E.value),1)]),_:1})):(e.openBlock(),e.createBlock(e.unref(ee.EntityBaseConfigCard),{key:2,"code-block-record-formatter":m,config:t.config,"config-card-doc":t.configCardDoc,"config-schema":u.value,"entity-type":e.unref(ee.SupportedEntityType).Plugin,"fetch-url":c.value,"hide-title":t.hideTitle,"plugin-config-key":Ni,"plugin-config-schema":d.value,"record-resolver":f,"onFetch:error":k[0]||(k[0]=P=>b.$emit("fetch:error",P)),"onFetch:success":k[1]||(k[1]=P=>b.$emit("fetch:success",P)),onLoading:k[2]||(k[2]=P=>b.$emit("loading",P))},e.createSlots({name:e.withCtx(P=>[e.createElementVNode("div",FT,[e.createVNode(e.unref(un.PluginIcon),{class:"plugin-icon",name:e.unref(s)("rowValue",P),size:24},null,8,["name"]),e.createElementVNode("span",LT,e.toDisplayString(e.unref(i).getDisplayName(e.unref(s)("rowValue",P))),1)])]),consumer:e.withCtx(P=>[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(ee.InternalLinkItem),{key:1,item:{key:e.unref(s)("rowValue",P).id,value:e.unref(s)("rowValue",P).id,type:e.unref(ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",e.unref(s)("rowValue",P).id,"consumer")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock(R,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"consumer-copy-uuid",text:e.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",DT,"–"))]),route:e.withCtx(P=>[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(ee.InternalLinkItem),{key:1,item:{key:e.unref(s)("rowValue",P).id,value:e.unref(s)("rowValue",P).id,type:e.unref(ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",e.unref(s)("rowValue",P).id,"route")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock(R,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"route-copy-uuid",text:e.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",MT,"–"))]),service:e.withCtx(P=>[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(ee.InternalLinkItem),{key:1,item:{key:e.unref(s)("rowValue",P).id,value:e.unref(s)("rowValue",P).id,type:e.unref(ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",e.unref(s)("rowValue",P).id,"service")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock(R,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"service-copy-uuid",text:e.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",jT,"–"))]),consumer_group:e.withCtx(P=>[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(ee.InternalLinkItem),{key:1,item:{key:e.unref(s)("rowValue",P).id,value:e.unref(s)("rowValue",P).id,type:e.unref(ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>b.$emit("navigation-click",e.unref(s)("rowValue",P).id,"consumer_group")},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock(R,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"consumer-group-copy-uuid",text:e.unref(s)("rowValue",P).id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",vT,"–"))]),partials:e.withCtx(P=>{var A,T,O,I,q,v,W,U,D;return[e.unref(s)("rowValue",P)?t.showIdAsLink?(e.openBlock(),e.createBlock(e.unref(ee.InternalLinkItem),{key:1,item:{key:(T=(A=e.unref(s)("rowValue",P))==null?void 0:A[0])==null?void 0:T.id,value:((I=(O=e.unref(s)("rowValue",P))==null?void 0:O[0])==null?void 0:I.id)+((v=(q=e.unref(s)("rowValue",P))==null?void 0:q[0])!=null&&v.name?"/"+((U=(W=e.unref(s)("rowValue",P))==null?void 0:W[0])==null?void 0:U.name):""),type:e.unref(ee.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var j,x;return b.$emit("navigation-click",(x=(j=e.unref(s)("rowValue",P))==null?void 0:j[0])==null?void 0:x.id,"partial")}},null,8,["item","onNavigationClick"])):(e.openBlock(),e.createBlock(R,{key:2,"copy-tooltip":e.unref(a)("copy.tooltip",{label:e.unref(s)("row",P).label}),"data-testid":"partial-copy-uuid",text:(D=e.unref(s)("rowValue",P))==null?void 0:D[0].id},null,8,["copy-tooltip","text"])):(e.openBlock(),e.createElementBlock("span",UT,"–"))]}),_:2},[t.config.pluginType==="datakit"&&t.config.app==="konnect"?{name:"config-card-item-nodes",fn:e.withCtx(P=>[e.createVNode($T,{item:P.row,"plugin-data":P.record},null,8,["item","plugin-data"])]),key:"0"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-0c1ac825"]]),{usePluginMetaData:qT,useProvideExperimentalFreeForms:GT}=Me;Object.defineProperty(ke,"PluginGroup",{enumerable:!0,get:()=>F.PluginGroup}),Object.defineProperty(ke,"PluginScope",{enumerable:!0,get:()=>F.PluginScope}),Object.defineProperty(ke,"PluginIcon",{enumerable:!0,get:()=>un.PluginIcon}),Object.defineProperty(ke,"getPluginIconURL",{enumerable:!0,get:()=>un.getPluginIconURL}),ke.EXPERIMENTAL_FREE_FORM_PROVIDER=ca,ke.EntityTypeIdField=fn,ke.FEATURE_FLAGS=lo,ke.FREE_FORM_SCHEMA_MAP_KEY=Ln,ke.PLUGIN_GROUPS_COLLAPSE_STATUS=Br,ke.PluginCatalog=IT,ke.PluginConfigCard=KT,ke.PluginFeaturedArray=Vo,ke.PluginForm=sI,ke.PluginGroupArray=Ii,ke.PluginGroupArraySortedAlphabetically=Bo,ke.PluginList=yI,ke.PluginPartialType=Oo,ke.PluginSelect=UI,ke.PluginSelectCard=bi,ke.PluginSelectGrid=Ei,ke.TOASTER_PROVIDER=es,ke.pluginEndpoints=We,ke.usePluginMetaData=qT,ke.useProvideExperimentalFreeForms=GT,Object.defineProperty(ke,Symbol.toStringTag,{value:"Module"})}));