@kong-ui-public/entities-data-plane-nodes 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ (function(y,n){typeof exports=="object"&&typeof module<"u"?n(exports,require("vue"),require("@kong-ui-public/i18n"),require("axios"),require("@kong/kongponents"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/i18n","axios","@kong/kongponents","vue-router"],n):(y=typeof globalThis<"u"?globalThis:y||self,n(y["kong-ui-public-entities-data-plane-nodes"]={},y.Vue,y["kong-ui-public-i18n"],y.axios))})(this,function(y,n,N,Q){"use strict";var rn=Object.defineProperty;var nn=(y,n,N)=>n in y?rn(y,n,{enumerable:!0,configurable:!0,writable:!0,value:N}):y[n]=N;var D=(y,n,N)=>(nn(y,typeof n!="symbol"?n+"":n,N),N);const ye={modal:{action_button:{confirm:"Confirm",submitting:"Submitting...",ok:"OK"},change_log_level:{title:"Change Log Level ({summary})",summary_with_name:"Node {name}",summary_with_number:"{number} Nodes"},dp_list:{header:{host:"Host",action:"Action",status:"Status"},status:{failed:"Failure",loading:"Loading",pending:"Pending",succeed:"Succeed",not_supported:"Not Supported"}},log_level_disk_space_warning:"If left on for extended periods of time, can result in excess disk space consumption.",log_level_explanation:{debug:"Provides debug information about the plugin’s run loop and each individual plugin or other components.",info:"Provides messages that provide a record of the normal operation of the system.",notice:"Provides messages that provide a record of the normal operation of the system, but also alerts conditions that may require monitoring. Kong does not make a large difference between info and notice.",warn:"Is used to log any abnormal behavior that doesn’t result in dropped transactions but requires further investigation.",error:"Is used for logging errors that result in a request being dropped.",crit:"Is used when Kong is working under critical conditions and not working properly, thus affecting several clients."},revert_to_default_after:{label:"Revert to default after",hours:"hour",minutes:"min",seconds:"seconds"},select_log_level_title:"Select Log Level"},log_level:{debug:"Debug",info:"Info",notice:"Notice",warn:"Warn",error:"Error",crit:"Critical",not_applicable:"N/A"}};function j(){const e=N.createI18n("en-us",ye);return{i18n:e,i18nT:N.i18nTComponent(e)}}var B=(e=>(e[e.Loading=0]="Loading",e[e.Idle=1]="Idle",e[e.NoResults=2]="NoResults",e[e.Error=3]="Error",e))(B||{});function be(){return{getAxiosInstance:(e={})=>{try{const t=n.inject("get-axios-instance",void 0);return typeof t=="function"?t(e):Q.create({withCredentials:!0,timeout:3e4,...e})}catch(t){return console.warn("getAxiosInstance:",t.message||t),Q.create({withCredentials:!0,timeout:3e4,...e})}},getTraceIdFromError:e=>{var t;return((t=e==null?void 0:e.response)==null?void 0:t.headers["x-datadog-trace-id"])||""}}}function we(){return{debounce:(e,t)=>{let r;return(...o)=>{clearTimeout(r),r=window==null?void 0:window.setTimeout(()=>{e(...o)},t)}}}}function R(e={}){const{getAxiosInstance:t}=be();return{axiosInstance:t(e)}}const ke={actions:{copyId:"Copy ID",copied_id:'Copied "{id}" to the clipboard',copyToClipboard:"Copied successfully!",copyToClipboardFailed:"Failed to copy to the clipboard"}},_e={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},ve={actions:{viewConfiguration:"View Configuration",save:"Save",cancel:"Cancel",back:"Back"},configuration:{title:"Configuration",message:"Export configurations for core Kong Gateway objects, like services, routes, and plugins, to either YAML or JSON. This allows for straightforward importing into APIOps tools like decK with YAML, or Insomnia and cURL with JSON.",yaml:"YAML",json:"JSON"},errors:{edit:"The entity could not be edited at this time."}},Ce={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},xe={title:"Configuration",actions:{copy:"Copy JSON"},sections:{advanced:"Advanced",plugin:"Plugin Specific Configuration"},commonFields:{id_label:"ID",name_label:"Name",enabled_label:"Enabled",enabled_tooltip:"Enabled is FTW",updated_at_label:"Last Updated",created_at_label:"Created",tags_label:"Tags",link:"Link"},statusBadge:{enabledLabel:"Enabled",disabledLabel:"Disabled"},copy:{tooltip:"Copy {label}",success:"Copied!"},errors:{load:"The entity configuration data could not be loaded at this time.",copy:"Failed to copy to clipboard"},general:{entryTitle:"Entry {index}",structuredFormat:"Structured"}},Se={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},Ne={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},Le={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},Ie={utf8Name:"The name can be any string containing characters, letters, numbers, or the following characters: ., -, _, or ~. Do not use spaces."},Ee={enable:{title:"Enable {entityType}",message:"Are you sure you want to enable the {entityType} {entityName}?",confirmText:"Yes, enable"},disable:{title:"Disable {entityType}",message:"Are you sure you want to disable the {entityType} {entityName}?",confirmText:"Yes, disable"}},Te={global:ke,deleteModal:_e,baseForm:ve,baseTable:Ce,baseConfigCard:xe,filter:Se,debouncedFilter:Ne,errors:Le,validationErrors:Ie,toggleModal:Ee};function z(){const e=N.createI18n("en-us",Te);return{i18n:e,i18nT:N.i18nTComponent(e)}}function J(){const e=(r,o)=>(o==null?void 0:o[r])??void 0,t=(r,o)=>{if(r.length!==o.length)return!1;const a=new Set([...r,...o]);for(const i of a){const l=r.filter(u=>u===i).length,s=o.filter(u=>u===i).length;if(l!==s)return!1}return!0};return{getPropValue:e,objectsAreEqual:(r,o,a)=>{if(a){if(Object.keys(r).length===Object.keys(o).length)for(const i in r)if(Array.isArray(r[i])&&Array.isArray(o[i])){if(t(r[i],o[i]))continue;return!1}else{if(r[i]===o[i])continue;return!1}else return!1;return!0}try{return JSON.stringify(r)===JSON.stringify(o)}catch{return!1}},sortAlpha:r=>(o,a)=>{let i=o[r]===void 0||o[r]===null?"":o[r],l=a[r]===void 0||a[r]===null?"":a[r];return Array.isArray(o[r])&&(i=o[r][0]),Array.isArray(a[r])&&(l=a[r][0]),i.localeCompare(l)},isValidUuid:r=>r?/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/.test(r):!1}}function Ae(e,t,r,o={fetchedItemsKey:"data",searchKeys:["id"]}){r||(r="1000");const{axiosInstance:a}=R(e.axiosRequestConfig),{i18n:{t:i}}=z(),{debounce:l}=we(),s=l(async m=>{await G(m)},200),u=n.ref(!1),c=n.ref(""),f=n.ref(""),d=n.ref([]),g=n.ref([]),p=n.ref(void 0),x=n.unref(t);let v=`${e.apiBaseUrl}${x}`;e.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,(e==null?void 0:e.controlPlaneId)||""):e.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,e!=null&&e.workspace?`/${e.workspace}`:""));const{isValidUuid:W}=J(),O=async()=>{try{u.value=!0;const{data:m}=await a.get(`${v}?size=${r}`);m!=null&&m.next||(p.value=o.fetchedItemsKey in m?m[o.fetchedItemsKey]:[]),g.value=o.fetchedItemsKey in m?m[o.fetchedItemsKey]:[],d.value=g.value}catch{d.value=[],c.value=i("debouncedFilter.errors.fetch")}finally{u.value=!1}},U=n.ref(""),G=async m=>{var P,S,C;if(U.value!==m)if(U.value=m||"",p.value===void 0)try{if(u.value=!0,c.value="",f.value="",e.app==="konnect"){let k=v+"";m&&(k+=`/${m}`);const{data:_}=await a.get(`${k}?size=${r}`);o.fetchedItemsKey in _?d.value=_[o.fetchedItemsKey]:_!=null&&_.id?d.value=[_]:d.value=[]}else if(m){const k=[];W(m)&&o.searchKeys.includes("id")?k.push((async()=>{const{data:w}=await a.get(`${v}/${m}`);return[w[o.fetchedItemsKey]??w]})()):k.push(...o.searchKeys.filter(w=>w!=="id").map(async w=>{const{data:h}=await a.get(`${v}?${w}=${m}`);return h[o.fetchedItemsKey]}));const _=await Promise.all(k),A=new Set;d.value=[],(P=_==null?void 0:_.forEach)==null||P.call(_,w=>{var h;(h=w==null?void 0:w.forEach)==null||h.call(w,V=>{A.has(V.id)||(A.add(V.id),d.value.push(V))})})}else d.value=g.value}catch(k){((S=k==null?void 0:k.response)==null?void 0:S.status)===404?f.value=i("debouncedFilter.errors.invalid"):(d.value=[],c.value=i("debouncedFilter.errors.fetch"))}finally{u.value=!1}else u.value=!0,f.value="",m?(d.value=(C=p.value)==null?void 0:C.filter(k=>{var _;let A=!1;for(const w of o.searchKeys){const h=typeof k[w]=="string"?(_=k[w])==null?void 0:_.toLowerCase():k[w];h!=null&&h.includes(m.toLowerCase())&&(A=!0)}return A}),(!d.value||!d.value.length)&&(f.value=i("debouncedFilter.errors.invalid"))):d.value=p.value,u.value=!1};return{loading:u,error:c,validationError:f,results:d,allRecords:p,loadItems:O,debouncedQueryChange:s}}function Be(e,t){const r=n.unref(t),o=n.computed(()=>e.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${r}`):new URL(r));return o.value.search="",a=>`${o.value.href}/${a}`}function $e(){const{i18n:{t:e}}=z();return{getMessageFromError:t=>{var r,o,a,i;if(!t)return e("errors.unexpected");if(((r=t==null?void 0:t.response)==null?void 0:r.status)===401)return console.warn("getMessageFromError: User auth token is expired or missing, returning empty message."),"";if((o=t==null?void 0:t.response)!=null&&o.data){if(t.response.data.detail)return t.response.data.detail;if((a=t.response.data.details)!=null&&a.length)return t.response.data.details.map(l=>{let s=e("errors.unexpected");return l.messages&&typeof l.messages=="object"&&l.messages.length&&(s=l.messages.join(", ")),l.field?`${l.field} - ${s}`:s}).join("; ");if(t.response.data.message){const{message:l}=t.response.data;return Array.isArray(l)?(i=l[0])!=null&&i.constraints?Object.values(l[0].constraints)[0]:l[0]:l}if(typeof t.response.data=="string")return t.response.data;if(typeof t.response.data=="object")return Object.keys(t.response.data).map(l=>`${l} ${t.response.data[l]}`).join(", ")}return t.message||e("errors.unexpected")}}}function Ve(e){const t=window.location.origin,r=t.endsWith("/")?t:`${t}/`;try{const o=e.join("/"),a=`${r}${o}`,i=e.some(l=>l.trim()==="");if(/^(https:\/\/(www\.)?([a-zA-Z0-9-]+\.){1,}[a-zA-Z]{2,}(:[0-9]+)?(\/[^\/]+)*)$|^(https|http):\/\/localhost(:[0-9]+)?(\/[^\/]+)*$/.test(a)&&!i&&new URL(a))return`${r}${o}`;throw new Error("Invalid url")}catch(o){return console.warn("Failed to build valid URL:",o),""}}function X(e,t){const r=n.ref(n.unref(e)),o=n.ref(n.unref(t)),a=n.computed(()=>!!(r.value.app==="konnect"||r.value.isExactMatch)),i=n.computed(()=>o.value.startsWith("/")?new URL(`${window.location.origin}${o.value}`):new URL(o.value));return l=>{const{page:s,pageSize:u,offset:c,sortColumnKey:f,sortColumnOrder:d,query:g}=l;try{let p=new URL(i.value.href);return a.value&&g?(p.search="",p=r.value.isExactMatch?new URL(`${p.href}/${g}/`):new URL(`${p.href}?filter[name][contains]=${g}`)):(a.value||new URLSearchParams(g).forEach((x,v)=>{p.searchParams.append(v,x)}),f&&p.searchParams.append("sort_by",f),d==="desc"&&p.searchParams.append("sort_desc","1"),p.searchParams.append("size",String(u))),c&&s!==1&&p.searchParams.append("offset",String(c)),p.href}catch(p){return console.error("RouteList(fetcher)",p),o.value}}}function De(e,t,r="data"){const o=n.unref(t),{axiosInstance:a}=R(e.axiosRequestConfig),i=X(e,o),l=n.ref({status:B.Idle});return{fetcher:async s=>{var u;try{l.value={status:B.Loading};let c=i(s);c.includes("filter[name]")&&(c=`${c}&page[size]=${s.pageSize}&page[number]=${s.page}`);const f=await a.get(c);if(f.status>=400)throw f;const d=f.data,g=r&&r.replace(/[^\w-_]/gi,"");let p;d[g]&&Array.isArray(d[g])?p=d[g]:Array.isArray(d)?p=d:p=Object.keys(d).length?[d]:[];const x={data:p,total:p.length,...d.offset?{pagination:{offset:d.offset}}:null};return l.value={status:B.Idle,response:x},x}catch(c){const f={data:[],total:0};return s.query&&(((u=c.response)==null?void 0:u.status)===404||c.status===404)?(l.value={status:B.NoResults,response:f,error:c.response?c:{response:c}},f):(l.value={status:B.Error,response:f,error:c.response?c:{response:c}},f)}},fetcherState:l}}function qe(){const e=(r,o="_")=>r?r.split(o).map(a=>a.toLowerCase()==="id"?a.toUpperCase():a.charAt(0).toUpperCase()+a.substring(1)).join(" "):"",t=/(?:^|[\s-:'"])\w/g;return{capitalize:r=>r?r.replace(t,o=>o.toUpperCase()):"",convertKeyToTitle:e}}const ee=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,te=e=>{if(typeof e!="string")throw new TypeError("Invalid argument expected string");const t=e.match(ee);if(!t)throw new Error(`Invalid argument not valid semver ('${e}' received)`);return t.shift(),t},re=e=>e==="*"||e==="x"||e==="X",ne=e=>{const t=parseInt(e,10);return isNaN(t)?e:t},Oe=(e,t)=>typeof e!=typeof t?[String(e),String(t)]:[e,t],je=(e,t)=>{if(re(e)||re(t))return 0;const[r,o]=Oe(ne(e),ne(t));return r>o?1:r<o?-1:0},oe=(e,t)=>{for(let r=0;r<Math.max(e.length,t.length);r++){const o=je(e[r]||"0",t[r]||"0");if(o!==0)return o}return 0},ze=(e,t)=>{const r=te(e),o=te(t),a=r.pop(),i=o.pop(),l=oe(r,o);return l!==0?l:a&&i?oe(a.split("."),i.split(".")):a||i?a?-1:1:0},ae=(e,t,r)=>{Fe(r);const o=ze(e,t);return ie[r].includes(o)},ie={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},le=Object.keys(ie),Fe=e=>{if(typeof e!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof e}`);if(le.indexOf(e)===-1)throw new Error(`Invalid operator, expected one of ${le.join("|")}`)},Me=e=>typeof e=="string"&&/^[v\d]/.test(e)&&ee.test(e);function Ue(e){const{gatewayInfo:t,supportedRange:r}=e;if(!t)return!0;const{edition:o,version:a}=t;if(!Me(a))return console.error("Invalid version"),!1;const i=r[o];if(!i)return!1;const[l,s]=i;return!(l&&ae(a,l,"<")||s&&ae(a,s,">"))}function Pe(e){const t=n.ref(0),r=n.ref(0),o=n.ref(!1);return n.watch(e,a=>{a&&!o.value&&(t.value=a.offsetWidth,r.value=a.scrollWidth,o.value=!0)}),{isTruncated:n.computed(()=>t.value<r.value)}}function Re(){const{i18n:{t:e}}=z();return{utf8Name:t=>/^[\p{N}\p{L}.\-_~]*$/u.test(t)?"":e("validationErrors.utf8Name")}}const Ke={useAxios:R,useDebouncedFilter:Ae,useDeleteUrlBuilder:Be,useErrors:$e,useExternalLinkCreator:Ve,useFetcher:De,useFetchUrlBuilder:X,useHelpers:J,useStringHelpers:qe,useI18n:z,useGatewayFeatureSupported:Ue,useTruncationDetector:Pe,useValidators:Re};/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function se(e){return typeof e>"u"||e===null}function He(e){return typeof e=="object"&&e!==null}function Ze(e){return Array.isArray(e)?e:se(e)?[]:[e]}function Ye(e,t){var r,o,a,i;if(t)for(i=Object.keys(t),r=0,o=i.length;r<o;r+=1)a=i[r],e[a]=t[a];return e}function We(e,t){var r="",o;for(o=0;o<t;o+=1)r+=e;return r}function Ge(e){return e===0&&Number.NEGATIVE_INFINITY===1/e}var Qe=se,Je=He,Xe=Ze,et=We,tt=Ge,rt=Ye,K={isNothing:Qe,isObject:Je,toArray:Xe,repeat:et,isNegativeZero:tt,extend:rt};function ce(e,t){var r="",o=e.reason||"(unknown reason)";return e.mark?(e.mark.name&&(r+='in "'+e.mark.name+'" '),r+="("+(e.mark.line+1)+":"+(e.mark.column+1)+")",!t&&e.mark.snippet&&(r+=`
2
+
3
+ `+e.mark.snippet),o+" "+r):o}function q(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=ce(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}q.prototype=Object.create(Error.prototype),q.prototype.constructor=q,q.prototype.toString=function(e){return this.name+": "+ce(this,e)};var T=q,nt=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],ot=["scalar","sequence","mapping"];function at(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(o){t[String(o)]=r})}),t}function it(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(nt.indexOf(r)===-1)throw new T('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=at(t.styleAliases||null),ot.indexOf(this.kind)===-1)throw new T('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var b=it;function ue(e,t){var r=[];return e[t].forEach(function(o){var a=r.length;r.forEach(function(i,l){i.tag===o.tag&&i.kind===o.kind&&i.multi===o.multi&&(a=l)}),r[a]=o}),r}function lt(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,r;function o(a){a.multi?(e.multi[a.kind].push(a),e.multi.fallback.push(a)):e[a.kind][a.tag]=e.fallback[a.tag]=a}for(t=0,r=arguments.length;t<r;t+=1)arguments[t].forEach(o);return e}function H(e){return this.extend(e)}H.prototype.extend=function(e){var t=[],r=[];if(e instanceof b)r.push(e);else if(Array.isArray(e))r=r.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(t=t.concat(e.implicit)),e.explicit&&(r=r.concat(e.explicit));else throw new T("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.forEach(function(a){if(!(a instanceof b))throw new T("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.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(a.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(a){if(!(a instanceof b))throw new T("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var o=Object.create(H.prototype);return o.implicit=(this.implicit||[]).concat(t),o.explicit=(this.explicit||[]).concat(r),o.compiledImplicit=ue(o,"implicit"),o.compiledExplicit=ue(o,"explicit"),o.compiledTypeMap=lt(o.compiledImplicit,o.compiledExplicit),o};var st=H,ct=new b("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),ut=new b("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),dt=new b("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),pt=new st({explicit:[ct,ut,dt]});function ft(e){if(e===null)return!0;var t=e.length;return t===1&&e==="~"||t===4&&(e==="null"||e==="Null"||e==="NULL")}function gt(){return null}function mt(e){return e===null}var ht=new b("tag:yaml.org,2002:null",{kind:"scalar",resolve:ft,construct:gt,predicate:mt,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function yt(e){if(e===null)return!1;var t=e.length;return t===4&&(e==="true"||e==="True"||e==="TRUE")||t===5&&(e==="false"||e==="False"||e==="FALSE")}function bt(e){return e==="true"||e==="True"||e==="TRUE"}function wt(e){return Object.prototype.toString.call(e)==="[object Boolean]"}var kt=new b("tag:yaml.org,2002:bool",{kind:"scalar",resolve:yt,construct:bt,predicate:wt,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});function _t(e){return 48<=e&&e<=57||65<=e&&e<=70||97<=e&&e<=102}function vt(e){return 48<=e&&e<=55}function Ct(e){return 48<=e&&e<=57}function xt(e){if(e===null)return!1;var t=e.length,r=0,o=!1,a;if(!t)return!1;if(a=e[r],(a==="-"||a==="+")&&(a=e[++r]),a==="0"){if(r+1===t)return!0;if(a=e[++r],a==="b"){for(r++;r<t;r++)if(a=e[r],a!=="_"){if(a!=="0"&&a!=="1")return!1;o=!0}return o&&a!=="_"}if(a==="x"){for(r++;r<t;r++)if(a=e[r],a!=="_"){if(!_t(e.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}if(a==="o"){for(r++;r<t;r++)if(a=e[r],a!=="_"){if(!vt(e.charCodeAt(r)))return!1;o=!0}return o&&a!=="_"}}if(a==="_")return!1;for(;r<t;r++)if(a=e[r],a!=="_"){if(!Ct(e.charCodeAt(r)))return!1;o=!0}return!(!o||a==="_")}function St(e){var t=e,r=1,o;if(t.indexOf("_")!==-1&&(t=t.replace(/_/g,"")),o=t[0],(o==="-"||o==="+")&&(o==="-"&&(r=-1),t=t.slice(1),o=t[0]),t==="0")return 0;if(o==="0"){if(t[1]==="b")return r*parseInt(t.slice(2),2);if(t[1]==="x")return r*parseInt(t.slice(2),16);if(t[1]==="o")return r*parseInt(t.slice(2),8)}return r*parseInt(t,10)}function Nt(e){return Object.prototype.toString.call(e)==="[object Number]"&&e%1===0&&!K.isNegativeZero(e)}var Lt=new b("tag:yaml.org,2002:int",{kind:"scalar",resolve:xt,construct:St,predicate:Nt,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),It=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Et(e){return!(e===null||!It.test(e)||e[e.length-1]==="_")}function Tt(e){var t,r;return t=e.replace(/_/g,"").toLowerCase(),r=t[0]==="-"?-1:1,"+-".indexOf(t[0])>=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:r*parseFloat(t,10)}var At=/^[-+]?[0-9]+e/;function Bt(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(K.isNegativeZero(e))return"-0.0";return r=e.toString(10),At.test(r)?r.replace("e",".e"):r}function $t(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||K.isNegativeZero(e))}var Vt=new b("tag:yaml.org,2002:float",{kind:"scalar",resolve:Et,construct:Tt,predicate:$t,represent:Bt,defaultStyle:"lowercase"}),Dt=pt.extend({implicit:[ht,kt,Lt,Vt]}),qt=Dt,de=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),pe=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 Ot(e){return e===null?!1:de.exec(e)!==null||pe.exec(e)!==null}function jt(e){var t,r,o,a,i,l,s,u=0,c=null,f,d,g;if(t=de.exec(e),t===null&&(t=pe.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],o=+t[2]-1,a=+t[3],!t[4])return new Date(Date.UTC(r,o,a));if(i=+t[4],l=+t[5],s=+t[6],t[7]){for(u=t[7].slice(0,3);u.length<3;)u+="0";u=+u}return t[9]&&(f=+t[10],d=+(t[11]||0),c=(f*60+d)*6e4,t[9]==="-"&&(c=-c)),g=new Date(Date.UTC(r,o,a,i,l,s,u)),c&&g.setTime(g.getTime()-c),g}function zt(e){return e.toISOString()}var Ft=new b("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Ot,construct:jt,instanceOf:Date,represent:zt});function Mt(e){return e==="<<"||e===null}var Ut=new b("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Mt}),Z=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
4
+ \r`;function Pt(e){if(e===null)return!1;var t,r,o=0,a=e.length,i=Z;for(r=0;r<a;r++)if(t=i.indexOf(e.charAt(r)),!(t>64)){if(t<0)return!1;o+=6}return o%8===0}function Rt(e){var t,r,o=e.replace(/[\r\n=]/g,""),a=o.length,i=Z,l=0,s=[];for(t=0;t<a;t++)t%4===0&&t&&(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)),l=l<<6|i.indexOf(o.charAt(t));return r=a%4*6,r===0?(s.push(l>>16&255),s.push(l>>8&255),s.push(l&255)):r===18?(s.push(l>>10&255),s.push(l>>2&255)):r===12&&s.push(l>>4&255),new Uint8Array(s)}function Kt(e){var t="",r=0,o,a,i=e.length,l=Z;for(o=0;o<i;o++)o%3===0&&o&&(t+=l[r>>18&63],t+=l[r>>12&63],t+=l[r>>6&63],t+=l[r&63]),r=(r<<8)+e[o];return a=i%3,a===0?(t+=l[r>>18&63],t+=l[r>>12&63],t+=l[r>>6&63],t+=l[r&63]):a===2?(t+=l[r>>10&63],t+=l[r>>4&63],t+=l[r<<2&63],t+=l[64]):a===1&&(t+=l[r>>2&63],t+=l[r<<4&63],t+=l[64],t+=l[64]),t}function Ht(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}var Zt=new b("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Pt,construct:Rt,predicate:Ht,represent:Kt}),Yt=Object.prototype.hasOwnProperty,Wt=Object.prototype.toString;function Gt(e){if(e===null)return!0;var t=[],r,o,a,i,l,s=e;for(r=0,o=s.length;r<o;r+=1){if(a=s[r],l=!1,Wt.call(a)!=="[object Object]")return!1;for(i in a)if(Yt.call(a,i))if(!l)l=!0;else return!1;if(!l)return!1;if(t.indexOf(i)===-1)t.push(i);else return!1}return!0}function Qt(e){return e!==null?e:[]}var Jt=new b("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Gt,construct:Qt}),Xt=Object.prototype.toString;function er(e){if(e===null)return!0;var t,r,o,a,i,l=e;for(i=new Array(l.length),t=0,r=l.length;t<r;t+=1){if(o=l[t],Xt.call(o)!=="[object Object]"||(a=Object.keys(o),a.length!==1))return!1;i[t]=[a[0],o[a[0]]]}return!0}function tr(e){if(e===null)return[];var t,r,o,a,i,l=e;for(i=new Array(l.length),t=0,r=l.length;t<r;t+=1)o=l[t],a=Object.keys(o),i[t]=[a[0],o[a[0]]];return i}var rr=new b("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:er,construct:tr}),nr=Object.prototype.hasOwnProperty;function or(e){if(e===null)return!0;var t,r=e;for(t in r)if(nr.call(r,t)&&r[t]!==null)return!1;return!0}function ar(e){return e!==null?e:{}}var ir=new b("tag:yaml.org,2002:set",{kind:"mapping",resolve:or,construct:ar});qt.extend({implicit:[Ft,Ut],explicit:[Zt,Jt,rr,ir]});function fe(e){return e===48?"\0":e===97?"\x07":e===98?"\b":e===116||e===9?" ":e===110?`
5
+ `:e===118?"\v":e===102?"\f":e===114?"\r":e===101?"\x1B":e===32?" ":e===34?'"':e===47?"/":e===92?"\\":e===78?"…":e===95?" ":e===76?"\u2028":e===80?"\u2029":""}for(var lr=new Array(256),sr=new Array(256),$=0;$<256;$++)lr[$]=fe($)?1:0,sr[$]=fe($);const cr=[];for(let e=0;e<256;++e)cr.push((e+256).toString(16).slice(1));typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const{useAxios:ln,useDeleteUrlBuilder:sn,useErrors:ur,useExternalLinkCreator:cn,useFetchUrlBuilder:un,useFetcher:dn,useDebouncedFilter:pn,useStringHelpers:fn,useHelpers:gn,useGatewayFeatureSupported:mn,useTruncationDetector:hn,useValidators:yn}=Ke;var L=(e=>(e.Debug="debug",e.Info="info",e.Notice="notice",e.Warn="warn",e.Error="error",e.Critical="crit",e))(L||{});class dr{constructor(t){D(this,"concurrentTokenSet",new Set);D(this,"concurrentTokenBorrowQueue",[]);for(let r=0;r<t;++r)this.concurrentTokenSet.add(Symbol(`token-${r}`))}hasAvailableConcurrentToken(){return this.concurrentTokenSet.size>0}borrowConcurrentToken(){if(this.concurrentTokenSet.size>0){const t=this.concurrentTokenSet.values().next().value;return this.concurrentTokenSet.delete(t),()=>{this.returnConcurrentToken(t)}}throw new Error("BUG: No available token to borrow")}returnConcurrentToken(t){if(this.concurrentTokenSet.has(t))throw new Error("Token already returned");const r=this.concurrentTokenBorrowQueue.shift();r?r[0](()=>this.returnConcurrentToken(t)):this.concurrentTokenSet.add(t)}async borrowToken(){return this.hasAvailableConcurrentToken()?this.borrowConcurrentToken():new Promise((t,r)=>{this.concurrentTokenBorrowQueue.push([t,r])})}clearWaitingQueue(t){for(;this.concurrentTokenBorrowQueue.length>0;){const[,r]=this.concurrentTokenBorrowQueue.shift();r(t)}}}class Y extends Error{constructor(t,r){super(t,r),this.name="AsyncAbortException"}}class F{constructor(t){D(this,"tokenBucket",null);D(this,"schedule",async t=>{let r;this.tokenBucket&&(r=await this.tokenBucket.borrowToken());try{const o=await t();return r==null||r(),o}catch(o){throw r==null||r(),o}});D(this,"cancelAll",(t,r)=>{var o;(o=this.tokenBucket)==null||o.clearWaitingQueue(new Y(t,r))});t.maxConcurrentAsyncs>0&&(this.tokenBucket=new dr(t.maxConcurrentAsyncs))}}const pr=Object.freeze(Object.defineProperty({__proto__:null,AsyncAbortException:Y,AsyncScheduler:F,useAsyncScheduler:e=>e instanceof F?e:e===null?new F({maxConcurrentAsyncs:0}):new F(e)},Symbol.toStringTag,{value:"Module"})),ge=[L.Debug,L.Info,L.Notice,L.Warn,L.Error,L.Critical],I={useI18n:j,...Object.freeze(Object.defineProperty({__proto__:null,supportedLevels:ge,useDataPlaneLogLevelChecker:e=>{const t=e.requestExecutor??(l=>l()),{getDataPlaneLogLevel:r,setDataPlaneLogLevel:o}=e,{getMessageFromError:a}=ur();return{checkDataPlaneLogLevel:(l,s)=>{const u=n.ref(n.toValue(s==null?void 0:s.currentLogLevelHint)??null);u.value===null&&t(async()=>{u.value=await r(l)}).catch(g=>{g instanceof Y||console.error("Failed to get data plane log level",g)}),s!=null&&s.currentLogLevelHint&&n.watch(()=>n.toValue(s.currentLogLevelHint),g=>{g&&(u.value=g)});const c=n.ref("pending"),f=n.ref(null);return{currentLogLevel:u,updateStatus:c,updateErrorMessage:f,updateLogLevel:async(g,p)=>{c.value="loading",f.value=null;try{await t(()=>o(l,g,p)),u.value=g,c.value="success"}catch(x){f.value=a(x),c.value="error"}}}}}},useFriendlyRevertTime:e=>{const{i18n:t}=j();return n.computed(()=>{const r=n.toValue(e);if(isNaN(r)||r<=0)return"";let o="";const a=r%60;a!==0&&(o+=`${a} ${t.t("modal.revert_to_default_after.seconds")}`);const i=Math.floor(r/60)%60;i!==0&&(o=`${i} ${t.t("modal.revert_to_default_after.minutes")} ${o}`);const l=Math.floor(r/3600);return l!==0&&(o=`${l} ${t.t("modal.revert_to_default_after.hours")} ${o}`),o})},useLogLevelCandidateSelectItems:e=>{const{i18n:t}=j();return n.computed(()=>{const r=n.toValue(e==null?void 0:e.disabled)??[];return ge.map(o=>({label:t.t(`log_level.${o}`),value:o,selected:(e==null?void 0:e.initialSelected)===o,disabled:r.includes(o)}))})},useLogLevelExplanation:e=>{const t=[L.Debug],{i18n:r}=j();return n.computed(()=>{const o=n.toValue(e);return{explanation:r.t(`modal.log_level_explanation.${o}`),warning:t.includes(o)?r.t("modal.log_level_disk_space_warning"):void 0}})}},Symbol.toStringTag,{value:"Module"})),...pr},E="24px",M=(e,t)=>{const r=e.__vccOpts||e;for(const[o,a]of t)r[o]=a;return r},fr=e=>(n.pushScopeId("data-v-a3e03b4c"),e=e(),n.popScopeId(),e),gr=["aria-hidden"],mr={key:0,"data-testid":"kui-icon-svg-title"},hr=fr(()=>n.createElementVNode("path",{d:"M10.6 16.6L17.65 9.55L16.25 8.15L10.6 13.8L7.75 10.95L6.35 12.35L10.6 16.6ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22Z",fill:"currentColor"},null,-1)),yr=n.defineComponent({__name:"CheckCircleIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:E,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const t=String(e).replace(/px/gi,""),r=Number(t);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const t=e,r=n.computed(()=>{if(typeof t.size=="number"&&t.size>0)return`${t.size}px`;if(typeof t.size=="string"){const a=String(t.size).replace(/px/gi,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return E}),o=n.computed(()=>({boxSizing:"border-box",color:t.color,display:t.display,height:r.value,lineHeight:"0",width:r.value}));return(a,i)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon check-circle-icon","data-testid":"kui-icon-wrapper-check-circle-icon",style:n.normalizeStyle(o.value)},{default:n.withCtx(()=>[(n.openBlock(),n.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-check-circle-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(n.openBlock(),n.createElementBlock("title",mr,n.toDisplayString(e.title),1)):n.createCommentVNode("",!0),hr],8,gr))]),_:1},8,["aria-hidden","style"]))}}),br=M(yr,[["__scopeId","data-v-a3e03b4c"]]),wr=e=>(n.pushScopeId("data-v-03a2dc19"),e=e(),n.popScopeId(),e),kr=["aria-hidden"],_r={key:0,"data-testid":"kui-icon-svg-title"},vr=wr(()=>n.createElementVNode("path",{d:"M8.4 17L12 13.4L15.6 17L17 15.6L13.4 12L17 8.4L15.6 7L12 10.6L8.4 7L7 8.4L10.6 12L7 15.6L8.4 17ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22Z",fill:"currentColor"},null,-1)),Cr=n.defineComponent({__name:"ClearIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:E,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const t=String(e).replace(/px/gi,""),r=Number(t);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const t=e,r=n.computed(()=>{if(typeof t.size=="number"&&t.size>0)return`${t.size}px`;if(typeof t.size=="string"){const a=String(t.size).replace(/px/gi,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return E}),o=n.computed(()=>({boxSizing:"border-box",color:t.color,display:t.display,height:r.value,lineHeight:"0",width:r.value}));return(a,i)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon clear-icon","data-testid":"kui-icon-wrapper-clear-icon",style:n.normalizeStyle(o.value)},{default:n.withCtx(()=>[(n.openBlock(),n.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-clear-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(n.openBlock(),n.createElementBlock("title",_r,n.toDisplayString(e.title),1)):n.createCommentVNode("",!0),vr],8,kr))]),_:1},8,["aria-hidden","style"]))}}),xr=M(Cr,[["__scopeId","data-v-03a2dc19"]]),Sr=e=>(n.pushScopeId("data-v-30ee0f0f"),e=e(),n.popScopeId(),e),Nr=["aria-hidden"],Lr={key:0,"data-testid":"kui-icon-svg-title"},Ir=Sr(()=>n.createElementVNode("path",{d:"M4 17V14H20V17H4ZM4 10V7H20V10H4Z",fill:"currentColor"},null,-1)),Er=n.defineComponent({__name:"EqualIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:E,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const t=String(e).replace(/px/gi,""),r=Number(t);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const t=e,r=n.computed(()=>{if(typeof t.size=="number"&&t.size>0)return`${t.size}px`;if(typeof t.size=="string"){const a=String(t.size).replace(/px/gi,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return E}),o=n.computed(()=>({boxSizing:"border-box",color:t.color,display:t.display,height:r.value,lineHeight:"0",width:r.value}));return(a,i)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon equal-icon","data-testid":"kui-icon-wrapper-equal-icon",style:n.normalizeStyle(o.value)},{default:n.withCtx(()=>[(n.openBlock(),n.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-equal-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(n.openBlock(),n.createElementBlock("title",Lr,n.toDisplayString(e.title),1)):n.createCommentVNode("",!0),Ir],8,Nr))]),_:1},8,["aria-hidden","style"]))}}),Tr=M(Er,[["__scopeId","data-v-30ee0f0f"]]),me=e=>(n.pushScopeId("data-v-c53c238c"),e=e(),n.popScopeId(),e),Ar=["aria-hidden"],Br={key:0,"data-testid":"kui-icon-svg-title"},$r=me(()=>n.createElementVNode("path",{d:"M12 22C10.6333 22 9.34167 21.7375 8.125 21.2125C6.90833 20.6875 5.84583 19.9708 4.9375 19.0625C4.02917 18.1542 3.3125 17.0917 2.7875 15.875C2.2625 14.6583 2 13.3667 2 12C2 10.6167 2.2625 9.32083 2.7875 8.1125C3.3125 6.90417 4.02917 5.84583 4.9375 4.9375C5.84583 4.02917 6.90833 3.3125 8.125 2.7875C9.34167 2.2625 10.6333 2 12 2C12.2833 2 12.5208 2.09583 12.7125 2.2875C12.9042 2.47917 13 2.71667 13 3C13 3.28333 12.9042 3.52083 12.7125 3.7125C12.5208 3.90417 12.2833 4 12 4C9.78333 4 7.89583 4.77917 6.3375 6.3375C4.77917 7.89583 4 9.78333 4 12C4 14.2167 4.77917 16.1042 6.3375 17.6625C7.89583 19.2208 9.78333 20 12 20C14.2167 20 16.1042 19.2208 17.6625 17.6625C19.2208 16.1042 20 14.2167 20 12C20 11.7167 20.0958 11.4792 20.2875 11.2875C20.4792 11.0958 20.7167 11 21 11C21.2833 11 21.5208 11.0958 21.7125 11.2875C21.9042 11.4792 22 11.7167 22 12C22 13.3667 21.7375 14.6583 21.2125 15.875C20.6875 17.0917 19.9708 18.1542 19.0625 19.0625C18.1542 19.9708 17.0958 20.6875 15.8875 21.2125C14.6792 21.7375 13.3833 22 12 22Z",fill:"currentColor","transform-origin":"center"},null,-1)),Vr=me(()=>n.createElementVNode("animateTransform",{attributeName:"transform",attributeType:"XML",dur:"1.5s",from:"0",repeatCount:"indefinite",to:"360",type:"rotate"},null,-1)),Dr=n.defineComponent({__name:"ProgressIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:E,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const t=String(e).replace(/px/gi,""),r=Number(t);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const t=e,r=n.computed(()=>{if(typeof t.size=="number"&&t.size>0)return`${t.size}px`;if(typeof t.size=="string"){const a=String(t.size).replace(/px/gi,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return E}),o=n.computed(()=>({boxSizing:"border-box",color:t.color,display:t.display,height:r.value,lineHeight:"0",width:r.value}));return(a,i)=>(n.openBlock(),n.createBlock(n.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon progress-icon","data-testid":"kui-icon-wrapper-progress-icon",style:n.normalizeStyle(o.value)},{default:n.withCtx(()=>[(n.openBlock(),n.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-progress-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(n.openBlock(),n.createElementBlock("title",Br,n.toDisplayString(e.title),1)):n.createCommentVNode("",!0),$r,Vr],8,Ar))]),_:1},8,["aria-hidden","style"]))}}),qr=M(Dr,[["__scopeId","data-v-c53c238c"]]),Or={"data-testid":"log-change-action"},jr={key:0},zr={"data-testid":"log-change-action-current-level"},Fr={key:0},Mr={"data-testid":"log-change-action-target-level"},Ur={"data-testid":"log-change-status"},Pr=n.defineComponent({__name:"CLLModalNodeRow",props:{dataPlaneId:{},hostname:{},hasDllCapability:{type:Boolean},targetLogLevel:{},checkLogLevel:{},logLevelHint:{}},setup(e,{expose:t}){const r=e,{i18n:o}=I.useI18n();let a=n.ref("not_supported"),i=n.ref("not_supported"),l=n.ref(null),s=async()=>{};r.hasDllCapability&&({currentLogLevel:a,updateStatus:i,updateErrorMessage:l,updateLogLevel:s}=r.checkLogLevel(r.dataPlaneId,{currentLogLevelHint:()=>r.logLevelHint??null})),t({updateLogLevel:s});const u=n.computed(()=>{switch(i.value){case"success":return"success";case"error":return"danger";case"loading":case"pending":return"warning";default:return"neutral"}}),c=n.computed(()=>{switch(i.value){case"success":return o.t("modal.dp_list.status.succeed");case"error":return o.t("modal.dp_list.status.failed");case"pending":return o.t("modal.dp_list.status.pending");case"loading":return o.t("modal.dp_list.status.loading");default:return o.t("modal.dp_list.status.not_supported")}}),f=n.computed(()=>{switch(i.value){case"success":return br;case"error":case"not_supported":return xr;case"loading":return qr;default:return Tr}});return(d,g)=>{const p=n.resolveComponent("KSkeleton"),x=n.resolveComponent("KBadge"),v=n.resolveComponent("KTooltip");return n.openBlock(),n.createElementBlock("tr",null,[n.createElementVNode("td",null,n.toDisplayString(d.hostname),1),n.createElementVNode("td",Or,[n.unref(a)==="not_supported"?(n.openBlock(),n.createElementBlock("span",jr,n.toDisplayString(n.unref(o).t("log_level.not_applicable")),1)):n.unref(a)?(n.openBlock(),n.createElementBlock(n.Fragment,{key:2},[n.createElementVNode("span",zr,n.toDisplayString(n.unref(o).t(`log_level.${n.unref(a)}`)),1),n.unref(a)!==d.targetLogLevel?(n.openBlock(),n.createElementBlock("span",Fr,[n.createTextVNode(" → "),n.createElementVNode("span",Mr,n.toDisplayString(n.unref(o).t(`log_level.${d.targetLogLevel}`)),1)])):n.createCommentVNode("",!0)],64)):(n.openBlock(),n.createBlock(p,{key:1,type:"spinner"}))]),n.createElementVNode("td",Ur,[n.unref(l)?(n.openBlock(),n.createBlock(v,{key:0,text:n.unref(l)},{default:n.withCtx(()=>[n.createVNode(x,{appearance:u.value,class:"badge-cell"},{icon:n.withCtx(()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(f.value)))]),default:n.withCtx(()=>[n.createTextVNode(" "+n.toDisplayString(c.value),1)]),_:1},8,["appearance"])]),_:1},8,["text"])):(n.openBlock(),n.createBlock(x,{key:1,appearance:u.value,class:"badge-cell"},{icon:n.withCtx(()=>[(n.openBlock(),n.createBlock(n.resolveDynamicComponent(f.value)))]),default:n.withCtx(()=>[n.createTextVNode(" "+n.toDisplayString(c.value),1)]),_:1},8,["appearance"]))])])}}}),he=(e,t)=>{const r=e.__vccOpts||e;for(const[o,a]of t)r[o]=a;return r},Rr=he(Pr,[["__scopeId","data-v-ac7205dd"]]),Kr={class:"explanation-wrapper"},Hr={key:0,class:"warning-message","data-testid":"log-level-warning-message"},Zr={class:"revert-after-wrapper"},Yr={class:"time"},Wr={class:"seconds"},Gr={class:"formatted-time","data-testid":"log-level-timeout-formatted"},Qr={class:"data-plane-node-list","data-testid":"data-plane-node-list"},Jr={style:{width:"40%"}},Xr={style:{width:"40%"}},en=he(n.defineComponent({name:"ChangeLogLevelModal",__name:"ChangeLogLevelModal",props:n.mergeModels({instanceList:{},instanceLogLevel:{},requests:{}},{visible:{type:Boolean},visibleModifiers:{}}),emits:["update:visible"],setup(e){const t=e,r=n.useModel(e,"visible"),o=L.Notice,{i18n:a}=I.useI18n(),i=n.ref("edit"),l=n.ref(o),s=n.ref("60"),u=n.computed(()=>Math.floor(Number(s.value))),c=n.computed(()=>t.instanceList.filter(S=>S.hasDLLCapability!==!1)),f=n.computed(()=>{const S=c.value.length===1?a.t("modal.change_log_level.summary_with_name",{name:c.value[0].hostname}):a.t("modal.change_log_level.summary_with_number",{number:`${c.value.length}`});return a.t("modal.change_log_level.title",{summary:S})}),d=n.computed(()=>i.value==="submitting"||isNaN(u.value)||u.value<=0||c.value.length===0),g=I.useLogLevelCandidateSelectItems({initialSelected:o}),p=I.useLogLevelExplanation(l),x=I.useFriendlyRevertTime(u),v=I.useAsyncScheduler(t.requests.scheduler===void 0?{maxConcurrentAsyncs:10}:t.requests.scheduler),{checkDataPlaneLogLevel:W}=I.useDataPlaneLogLevelChecker({getDataPlaneLogLevel:t.requests.getDataPlaneLogLevel,setDataPlaneLogLevel:t.requests.setDataPlaneLogLevel,requestExecutor:v.schedule}),O=new Map,U=(S,C)=>{C===null?O.delete(S):O.set(S,C)},G=async()=>{if(i.value!=="edit"){m();return}i.value="submitting";const S=Array.from(O.values()).map(C=>C.updateLogLevel(l.value,u.value));try{await Promise.all(S)}catch(C){console.error("Failed to update log level",C)}finally{i.value="submitted"}},m=()=>{r.value=!1,s.value="60",i.value="edit",l.value=o},P=n.computed(()=>{switch(i.value){case"submitting":return a.t("modal.action_button.submitting");case"submitted":return a.t("modal.action_button.ok");default:return a.t("modal.action_button.confirm")}});return(S,C)=>{const k=n.resolveComponent("KSelect"),_=n.resolveComponent("KLabel"),A=n.resolveComponent("KInput"),w=n.resolveComponent("KModal");return n.openBlock(),n.createBlock(w,{"action-button-disabled":d.value,"action-button-text":P.value,"data-testid":"change-log-level-modal","hide-cancel-button":!0,"hide-close-icon":i.value==="submitting","max-width":"640px",title:f.value,visible:r.value,onCancel:m,onProceed:G},{default:n.withCtx(()=>[i.value==="edit"?(n.openBlock(),n.createBlock(k,{key:0,modelValue:l.value,"onUpdate:modelValue":C[0]||(C[0]=h=>l.value=h),class:"log-level-select","data-testid":"log-level-select",items:n.unref(g),label:n.unref(a).t("modal.select_log_level_title")},null,8,["modelValue","items","label"])):n.createCommentVNode("",!0),n.createElementVNode("div",Kr,[n.createVNode(_,null,{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a).t(`log_level.${l.value}`)),1)]),_:1}),n.createElementVNode("div",null,n.toDisplayString(n.unref(p).explanation),1),n.unref(p).warning?(n.openBlock(),n.createElementBlock("div",Hr,n.toDisplayString(n.unref(p).warning),1)):n.createCommentVNode("",!0)]),n.createElementVNode("div",Zr,[n.createVNode(_,null,{default:n.withCtx(()=>[n.createTextVNode(n.toDisplayString(n.unref(a).t("modal.revert_to_default_after.label")),1)]),_:1}),n.createElementVNode("div",Yr,[n.createVNode(A,{modelValue:s.value,"onUpdate:modelValue":C[1]||(C[1]=h=>s.value=h),class:"time-input","data-testid":"log-level-timeout",disabled:i.value!=="edit",error:u.value<=0||isNaN(u.value),min:"1",type:"number"},null,8,["modelValue","disabled","error"]),n.createElementVNode("span",Wr,n.toDisplayString(n.unref(a).t("modal.revert_to_default_after.seconds")),1),n.createElementVNode("span",Gr,n.toDisplayString(n.unref(x)),1)])]),n.createElementVNode("table",Qr,[n.createElementVNode("thead",null,[n.createElementVNode("th",Jr,n.toDisplayString(n.unref(a).t("modal.dp_list.header.host")),1),n.createElementVNode("th",Xr,n.toDisplayString(n.unref(a).t("modal.dp_list.header.action")),1),n.createElementVNode("th",null,n.toDisplayString(n.unref(a).t("modal.dp_list.header.status")),1)]),n.createElementVNode("tbody",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(t.instanceList,h=>{var V;return n.openBlock(),n.createBlock(Rr,{key:h.id,ref_for:!0,ref:tn=>U(h.id,tn),"check-log-level":n.unref(W),"data-plane-id":h.id,"data-testid":`data-plane-node-list-row-${h.id}`,"has-dll-capability":h.hasDLLCapability??!0,hostname:h.hostname,"log-level-hint":(V=t.instanceLogLevel)==null?void 0:V.get(h.id),"target-log-level":l.value},null,8,["check-log-level","data-plane-id","data-testid","has-dll-capability","hostname","log-level-hint","target-log-level"])}),128))])])]),_:1},8,["action-button-disabled","action-button-text","hide-close-icon","title","visible"])}}}),[["__scopeId","data-v-983a59ac"]]);y.ChangeLogLevelModal=en,y.LogLevel=L,y.composables=I,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ tr[data-v-ac7205dd],td[data-v-ac7205dd]{color:#000933}tbody tr[data-v-ac7205dd]{font-weight:600;line-height:40px}.badge-cell[data-v-ac7205dd]{vertical-align:sub}.log-level-select[data-v-983a59ac],.explanation-wrapper[data-v-983a59ac]{margin-bottom:20px}.explanation-wrapper[data-v-983a59ac] .k-label{margin-bottom:0!important}.explanation-wrapper .warning-message[data-v-983a59ac]{color:#d60027}.revert-after-wrapper[data-v-983a59ac]{margin-bottom:8px}.revert-after-wrapper .time[data-v-983a59ac]{align-items:center;display:flex}.revert-after-wrapper .time .time-input[data-v-983a59ac]{margin-right:8px;width:80px}.revert-after-wrapper .time .seconds[data-v-983a59ac]{color:#000933}.revert-after-wrapper .time .formatted-time[data-v-983a59ac]{color:#52596e;font-style:italic;margin-left:64px}.data-plane-node-list th[data-v-983a59ac],.data-plane-node-list td[data-v-983a59ac]{color:#000933}.data-plane-node-list thead[data-v-983a59ac]{text-align:left}.data-plane-node-list thead th[data-v-983a59ac]{font-weight:700;line-height:36px}
@@ -0,0 +1,30 @@
1
+ import composables from '../composables';
2
+ import type { LogLevel } from '../types';
3
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
4
+ dataPlaneId: string;
5
+ hostname: string;
6
+ hasDllCapability: boolean;
7
+ targetLogLevel: LogLevel;
8
+ checkLogLevel: ReturnType<typeof composables.useDataPlaneLogLevelChecker>['checkDataPlaneLogLevel'];
9
+ logLevelHint?: LogLevel | null | undefined;
10
+ }>, {
11
+ updateLogLevel: (level: LogLevel, revertAfter: number) => Promise<void>;
12
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
13
+ dataPlaneId: string;
14
+ hostname: string;
15
+ hasDllCapability: boolean;
16
+ targetLogLevel: LogLevel;
17
+ checkLogLevel: ReturnType<typeof composables.useDataPlaneLogLevelChecker>['checkDataPlaneLogLevel'];
18
+ logLevelHint?: LogLevel | null | undefined;
19
+ }>>>, {}, {}>;
20
+ export default _default;
21
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
22
+ type __VLS_TypePropsToRuntimeProps<T> = {
23
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
24
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
25
+ } : {
26
+ type: import('vue').PropType<T[K]>;
27
+ required: true;
28
+ };
29
+ };
30
+ //# sourceMappingURL=CLLModalNodeRow.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CLLModalNodeRow.vue.d.ts","sourceRoot":"","sources":["../../../src/components/CLLModalNodeRow.vue.ts"],"names":[],"mappings":"AAGA,OAAO,WAAW,MAAM,gBAAgB,CAAA;AAKxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;;iBA2UzB,MAAM;cACT,MAAM;sBACE,OAAO;oBACT,QAAQ;mBACT,WAAW,OAAO,YAAY,2BAA2B,CAAC,CAAC,wBAAwB,CAAC;;;;;iBAJtF,MAAM;cACT,MAAM;sBACE,OAAO;oBACT,QAAQ;mBACT,WAAW,OAAO,YAAY,2BAA2B,CAAC,CAAC,wBAAwB,CAAC;;;AAXrG,wBAcG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { LogLevel, type DataPlaneNodeCommon } from '../types';
2
+ import type { AsyncScheduler, AsyncSchedulerOptions } from '../composables';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ visible: import("vue").PropType<boolean>;
5
+ instanceList: {
6
+ type: import("vue").PropType<(Pick<DataPlaneNodeCommon, "hostname" | "id"> & {
7
+ hasDLLCapability?: boolean | undefined;
8
+ })[]>;
9
+ required: true;
10
+ };
11
+ instanceLogLevel: {
12
+ type: import("vue").PropType<Map<string, LogLevel>>;
13
+ required: true;
14
+ };
15
+ requests: {
16
+ type: import("vue").PropType<{
17
+ scheduler?: AsyncSchedulerOptions | AsyncScheduler | null | undefined;
18
+ getDataPlaneLogLevel: (instanceId: string) => Promise<LogLevel>;
19
+ setDataPlaneLogLevel: (instanceId: string, logLevel: LogLevel, revertAfter: number) => Promise<void>;
20
+ }>;
21
+ required: true;
22
+ };
23
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
+ visible: import("vue").PropType<boolean>;
25
+ instanceList: {
26
+ type: import("vue").PropType<(Pick<DataPlaneNodeCommon, "hostname" | "id"> & {
27
+ hasDLLCapability?: boolean | undefined;
28
+ })[]>;
29
+ required: true;
30
+ };
31
+ instanceLogLevel: {
32
+ type: import("vue").PropType<Map<string, LogLevel>>;
33
+ required: true;
34
+ };
35
+ requests: {
36
+ type: import("vue").PropType<{
37
+ scheduler?: AsyncSchedulerOptions | AsyncScheduler | null | undefined;
38
+ getDataPlaneLogLevel: (instanceId: string) => Promise<LogLevel>;
39
+ setDataPlaneLogLevel: (instanceId: string, logLevel: LogLevel, revertAfter: number) => Promise<void>;
40
+ }>;
41
+ required: true;
42
+ };
43
+ }>>, {}, {}>;
44
+ export default _default;
45
+ //# sourceMappingURL=ChangeLogLevelModal.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeLogLevelModal.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ChangeLogLevelModal.vue.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;;;;;;;;;;;;;;;;+CAgbpC,MAAM,KAAK,QAAQ,QAAQ,CAAC;+CAC5B,MAAM,YAAY,QAAQ,eAAe,MAAM,KAAK,QAAQ,IAAI,CAAC;;;;;;;;;;;;;;;;;;;+CADjE,MAAM,KAAK,QAAQ,QAAQ,CAAC;+CAC5B,MAAM,YAAY,QAAQ,eAAe,MAAM,KAAK,QAAQ,IAAI,CAAC;;;;;AAZxG,wBAiBG"}
@@ -0,0 +1,29 @@
1
+ import useI18n from './useI18n';
2
+ import * as useLogLevels from './useLogLevels';
3
+ import * as useAsyncScheduler from './useAsyncScheduler';
4
+ export type { AsyncScheduler, AsyncAbortException, AsyncSchedulerOptions, } from './useAsyncScheduler';
5
+ export type { LogLevelExplanation, DataPlaneLogLevel, } from './useLogLevels';
6
+ declare const _default: {
7
+ AsyncAbortException: typeof useAsyncScheduler.AsyncAbortException;
8
+ AsyncScheduler: typeof useAsyncScheduler.AsyncScheduler;
9
+ useAsyncScheduler: (opt: useAsyncScheduler.AsyncSchedulerOptions | useAsyncScheduler.AsyncScheduler | null) => useAsyncScheduler.AsyncScheduler;
10
+ supportedLevels: import("..").LogLevel[];
11
+ useLogLevelCandidateSelectItems: (opt?: {
12
+ initialSelected?: import("..").LogLevel | undefined;
13
+ disabled?: import("vue").MaybeRefOrGetter<import("..").LogLevel[]> | undefined;
14
+ } | undefined) => import("vue").ComputedRef<import("@kong/kongponents/dist/types").SelectItem[]>;
15
+ useLogLevelExplanation: (level: import("vue").MaybeRefOrGetter<import("..").LogLevel>) => import("vue").ComputedRef<useLogLevels.LogLevelExplanation>;
16
+ useFriendlyRevertTime: (revertTime: import("vue").MaybeRefOrGetter<number>) => import("vue").ComputedRef<string>;
17
+ useDataPlaneLogLevelChecker: (opt: {
18
+ getDataPlaneLogLevel: (dataPlaneId: string) => Promise<import("..").LogLevel>;
19
+ setDataPlaneLogLevel: (dataPlaneId: string, level: import("..").LogLevel, revertAfter: number) => Promise<void>;
20
+ requestExecutor?: (<T>(fn: () => Promise<T>) => Promise<T>) | undefined;
21
+ }) => {
22
+ checkDataPlaneLogLevel: (dataPlaneId: string, opt?: {
23
+ currentLogLevelHint?: import("vue").MaybeRefOrGetter<import("..").LogLevel | null> | undefined;
24
+ } | undefined) => useLogLevels.DataPlaneLogLevel;
25
+ };
26
+ useI18n: typeof useI18n;
27
+ };
28
+ export default _default;
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composables/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,WAAW,CAAA;AAC/B,OAAO,KAAK,YAAY,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAA;AAExD,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,qBAAqB,CAAA;AAE5B,YAAY,EACV,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,gBAAgB,CAAA;;;;;;;;;;;;;;;;;;;;;;;AAGvB,wBAIC"}
@@ -0,0 +1,14 @@
1
+ export declare class AsyncAbortException extends Error {
2
+ constructor(message?: string, options?: ErrorOptions);
3
+ }
4
+ export type AsyncSchedulerOptions = {
5
+ maxConcurrentAsyncs: number;
6
+ };
7
+ export declare class AsyncScheduler {
8
+ private tokenBucket;
9
+ constructor(opt: AsyncSchedulerOptions);
10
+ schedule: <T>(asyncInitiator: () => Promise<T>) => Promise<T>;
11
+ cancelAll: (message?: string, options?: ErrorOptions) => void;
12
+ }
13
+ export declare const useAsyncScheduler: (opt: AsyncScheduler | AsyncSchedulerOptions | null) => AsyncScheduler;
14
+ //# sourceMappingURL=useAsyncScheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAsyncScheduler.d.ts","sourceRoot":"","sources":["../../../src/composables/useAsyncScheduler.ts"],"names":[],"mappings":"AA8DA,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIrD;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAA;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAA2B;gBAElC,GAAG,EAAE,qBAAqB;IAMtC,QAAQ,sDAaP;IAED,SAAS,aAAc,MAAM,YAAY,YAAY,UAEpD;CACF;AAED,eAAO,MAAM,iBAAiB,QAAS,cAAc,GAAG,qBAAqB,GAAG,IAAI,mBAQnF,CAAA"}
@@ -0,0 +1,242 @@
1
+ export default function useI18n(): {
2
+ i18n: import("@kong-ui-public/i18n/dist/types/types").IntlShapeEx<{
3
+ modal: {
4
+ action_button: {
5
+ confirm: string;
6
+ submitting: string;
7
+ ok: string;
8
+ };
9
+ change_log_level: {
10
+ title: string;
11
+ summary_with_name: string;
12
+ summary_with_number: string;
13
+ };
14
+ dp_list: {
15
+ header: {
16
+ host: string;
17
+ action: string;
18
+ status: string;
19
+ };
20
+ status: {
21
+ failed: string;
22
+ loading: string;
23
+ pending: string;
24
+ succeed: string;
25
+ not_supported: string;
26
+ };
27
+ };
28
+ log_level_disk_space_warning: string;
29
+ log_level_explanation: {
30
+ debug: string;
31
+ info: string;
32
+ notice: string;
33
+ warn: string;
34
+ error: string;
35
+ crit: string;
36
+ };
37
+ revert_to_default_after: {
38
+ label: string;
39
+ hours: string;
40
+ minutes: string;
41
+ seconds: string;
42
+ };
43
+ select_log_level_title: string;
44
+ };
45
+ log_level: {
46
+ debug: string;
47
+ info: string;
48
+ notice: string;
49
+ warn: string;
50
+ error: string;
51
+ crit: string;
52
+ not_applicable: string;
53
+ };
54
+ }>;
55
+ i18nT: import("vue").DefineComponent<{
56
+ i18n: {
57
+ type: import("vue").PropType<import("@kong-ui-public/i18n/dist/types/types").IntlShapeEx<{
58
+ modal: {
59
+ action_button: {
60
+ confirm: string;
61
+ submitting: string;
62
+ ok: string;
63
+ };
64
+ change_log_level: {
65
+ title: string;
66
+ summary_with_name: string;
67
+ summary_with_number: string;
68
+ };
69
+ dp_list: {
70
+ header: {
71
+ host: string;
72
+ action: string;
73
+ status: string;
74
+ };
75
+ status: {
76
+ failed: string;
77
+ loading: string;
78
+ pending: string;
79
+ succeed: string;
80
+ not_supported: string;
81
+ };
82
+ };
83
+ log_level_disk_space_warning: string;
84
+ log_level_explanation: {
85
+ debug: string;
86
+ info: string;
87
+ notice: string;
88
+ warn: string;
89
+ error: string;
90
+ crit: string;
91
+ };
92
+ revert_to_default_after: {
93
+ label: string;
94
+ hours: string;
95
+ minutes: string;
96
+ seconds: string;
97
+ };
98
+ select_log_level_title: string;
99
+ };
100
+ log_level: {
101
+ debug: string;
102
+ info: string;
103
+ notice: string;
104
+ warn: string;
105
+ error: string;
106
+ crit: string;
107
+ not_applicable: string;
108
+ };
109
+ }>>;
110
+ default: null;
111
+ };
112
+ keypath: {
113
+ type: StringConstructor;
114
+ required: true;
115
+ };
116
+ tag: {
117
+ type: StringConstructor;
118
+ default: string;
119
+ };
120
+ }, () => import("vue").VNodeChild, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
121
+ i18n: {
122
+ type: import("vue").PropType<import("@kong-ui-public/i18n/dist/types/types").IntlShapeEx<{
123
+ modal: {
124
+ action_button: {
125
+ confirm: string;
126
+ submitting: string;
127
+ ok: string;
128
+ };
129
+ change_log_level: {
130
+ title: string;
131
+ summary_with_name: string;
132
+ summary_with_number: string;
133
+ };
134
+ dp_list: {
135
+ header: {
136
+ host: string;
137
+ action: string;
138
+ status: string;
139
+ };
140
+ status: {
141
+ failed: string;
142
+ loading: string;
143
+ pending: string;
144
+ succeed: string;
145
+ not_supported: string;
146
+ };
147
+ };
148
+ log_level_disk_space_warning: string;
149
+ log_level_explanation: {
150
+ debug: string;
151
+ info: string;
152
+ notice: string;
153
+ warn: string;
154
+ error: string;
155
+ crit: string;
156
+ };
157
+ revert_to_default_after: {
158
+ label: string;
159
+ hours: string;
160
+ minutes: string;
161
+ seconds: string;
162
+ };
163
+ select_log_level_title: string;
164
+ };
165
+ log_level: {
166
+ debug: string;
167
+ info: string;
168
+ notice: string;
169
+ warn: string;
170
+ error: string;
171
+ crit: string;
172
+ not_applicable: string;
173
+ };
174
+ }>>;
175
+ default: null;
176
+ };
177
+ keypath: {
178
+ type: StringConstructor;
179
+ required: true;
180
+ };
181
+ tag: {
182
+ type: StringConstructor;
183
+ default: string;
184
+ };
185
+ }>>, {
186
+ i18n: import("@kong-ui-public/i18n/dist/types/types").IntlShapeEx<{
187
+ modal: {
188
+ action_button: {
189
+ confirm: string;
190
+ submitting: string;
191
+ ok: string;
192
+ };
193
+ change_log_level: {
194
+ title: string;
195
+ summary_with_name: string;
196
+ summary_with_number: string;
197
+ };
198
+ dp_list: {
199
+ header: {
200
+ host: string;
201
+ action: string;
202
+ status: string;
203
+ };
204
+ status: {
205
+ failed: string;
206
+ loading: string;
207
+ pending: string;
208
+ succeed: string;
209
+ not_supported: string;
210
+ };
211
+ };
212
+ log_level_disk_space_warning: string;
213
+ log_level_explanation: {
214
+ debug: string;
215
+ info: string;
216
+ notice: string;
217
+ warn: string;
218
+ error: string;
219
+ crit: string;
220
+ };
221
+ revert_to_default_after: {
222
+ label: string;
223
+ hours: string;
224
+ minutes: string;
225
+ seconds: string;
226
+ };
227
+ select_log_level_title: string;
228
+ };
229
+ log_level: {
230
+ debug: string;
231
+ info: string;
232
+ notice: string;
233
+ warn: string;
234
+ error: string;
235
+ crit: string;
236
+ not_applicable: string;
237
+ };
238
+ }>;
239
+ tag: string;
240
+ }, {}>;
241
+ };
242
+ //# sourceMappingURL=useI18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useI18n.d.ts","sourceRoot":"","sources":["../../../src/composables/useI18n.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAO9B"}
@@ -0,0 +1,30 @@
1
+ import { LogLevel } from '../types';
2
+ import type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';
3
+ import type { SelectItem } from '@kong/kongponents';
4
+ export declare const supportedLevels: LogLevel[];
5
+ export declare const useLogLevelCandidateSelectItems: (opt?: {
6
+ initialSelected?: LogLevel;
7
+ disabled?: MaybeRefOrGetter<LogLevel[]>;
8
+ }) => ComputedRef<SelectItem[]>;
9
+ export type LogLevelExplanation = {
10
+ explanation: string;
11
+ warning?: string;
12
+ };
13
+ export declare const useLogLevelExplanation: (level: MaybeRefOrGetter<LogLevel>) => ComputedRef<LogLevelExplanation>;
14
+ export declare const useFriendlyRevertTime: (revertTime: MaybeRefOrGetter<number>) => ComputedRef<string>;
15
+ export type DataPlaneLogLevel = {
16
+ currentLogLevel: Ref<LogLevel | null>;
17
+ updateStatus: Ref<'pending' | 'success' | 'error' | 'loading'>;
18
+ updateErrorMessage: Ref<string | null>;
19
+ updateLogLevel: (level: LogLevel, revertAfter: number) => Promise<void>;
20
+ };
21
+ export declare const useDataPlaneLogLevelChecker: (opt: {
22
+ getDataPlaneLogLevel: (dataPlaneId: string) => Promise<LogLevel>;
23
+ setDataPlaneLogLevel: (dataPlaneId: string, level: LogLevel, revertAfter: number) => Promise<void>;
24
+ requestExecutor?: (<T>(fn: () => Promise<T>) => Promise<T>) | undefined;
25
+ }) => {
26
+ checkDataPlaneLogLevel: (dataPlaneId: string, opt?: {
27
+ currentLogLevelHint?: MaybeRefOrGetter<LogLevel | null>;
28
+ }) => DataPlaneLogLevel;
29
+ };
30
+ //# sourceMappingURL=useLogLevels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLogLevels.d.ts","sourceRoot":"","sources":["../../../src/composables/useLogLevels.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAInC,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,eAAO,MAAM,eAAe,EAAE,QAAQ,EAOrC,CAAA;AAED,eAAO,MAAM,+BAA+B,SAAU;IACpD,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,QAAQ,EAAE,CAAC,CAAC;CACzC,KAAG,YAAY,UAAU,EAAE,CAa3B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAC3E,eAAO,MAAM,sBAAsB,UAAW,iBAAiB,QAAQ,CAAC,KAAG,YAAY,mBAAmB,CAazG,CAAA;AAED,eAAO,MAAM,qBAAqB,eAAgB,iBAAiB,MAAM,CAAC,KAAG,YAAY,MAAM,CAyB9F,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IACtC,YAAY,EAAE,GAAG,CAAC,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IAC/D,kBAAkB,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACvC,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE,CAAA;AAED,eAAO,MAAM,2BAA2B;wCACF,MAAM,KAAK,QAAQ,QAAQ,CAAC;wCAC5B,MAAM,SAAS,QAAQ,eAAe,MAAM,KAAK,QAAQ,IAAI,CAAC;;;0CAQrD,MAAM,QAAQ;QACzD,mBAAmB,CAAC,EAAE,iBAAiB,QAAQ,GAAG,IAAI,CAAC,CAAC;KACzD,KAAG,iBAAiB;CA6CtB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { DataPlaneNodeCommon } from '../types';
2
+ export declare const mockDataPlane: () => DataPlaneNodeCommon;
3
+ //# sourceMappingURL=data-planes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-planes.d.ts","sourceRoot":"","sources":["../../../src/fixtures/data-planes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAEnD,eAAO,MAAM,aAAa,QAAO,mBAGhC,CAAA"}
@@ -0,0 +1,7 @@
1
+ import ChangeLogLevelModal from './components/ChangeLogLevelModal.vue';
2
+ import composables from './composables';
3
+ export { ChangeLogLevelModal };
4
+ export { composables };
5
+ export type * from './composables';
6
+ export * from './types';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,sCAAsC,CAAA;AACtE,OAAO,WAAW,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,mBAAmB,eAAe,CAAA;AAClC,cAAc,SAAS,CAAA"}
@@ -0,0 +1,59 @@
1
+ export interface DataPlaneNodeCommon {
2
+ id: string;
3
+ hostname: string;
4
+ }
5
+ export interface KonnectRuntimeInstance extends DataPlaneNodeCommon {
6
+ version: string;
7
+ last_ping: number;
8
+ type: string;
9
+ created_at: number;
10
+ updated_at: number;
11
+ config_hash: string;
12
+ compatibility_status: {
13
+ state: string;
14
+ issues?: {
15
+ affected_resources: {
16
+ id: string;
17
+ type: string;
18
+ }[];
19
+ code: string;
20
+ description: string;
21
+ documentation_url: string;
22
+ resolution: string;
23
+ severity: string;
24
+ }[];
25
+ config_hash?: string;
26
+ };
27
+ data_plane_cert_id: string;
28
+ labels?: Record<string, string>;
29
+ process_conf: {
30
+ plugins: string[];
31
+ cluster_max_payload: number;
32
+ lmdb_map_size: string;
33
+ router_flavor: string;
34
+ };
35
+ connection_state: {
36
+ is_connected: boolean;
37
+ };
38
+ errors?: {
39
+ name: string;
40
+ config_hash: string;
41
+ flattened_errors: {
42
+ entity_id: string;
43
+ entity_name: string;
44
+ errors: {
45
+ error_message: string;
46
+ type: string;
47
+ field: string;
48
+ }[];
49
+ entity_type: string;
50
+ }[];
51
+ code: number;
52
+ source: string;
53
+ }[];
54
+ connected?: string;
55
+ total_traffic: number | null;
56
+ error_rate: number | null;
57
+ status?: string;
58
+ }
59
+ //# sourceMappingURL=data-plane-node.d.ts.map