From d6cc20a3629dacc8767237c8a804c9619fb1fc4b Mon Sep 17 00:00:00 2001 From: Gabriel Adrian Samfira Date: Fri, 5 Sep 2025 09:57:47 +0000 Subject: [PATCH] Fix validation for creds and endpoints This change fixes validation for the add credentials and endpoints modals. Signed-off-by: Gabriel Adrian Samfira --- cmd/garm/main.go | 9 +++-- .../chunks/{CLagxtgo.js => B3a35v7J.js} | 2 +- .../chunks/{CcBDT0Mv.js => BBO7sjS5.js} | 2 +- .../chunks/{Qi7G5Z5O.js => BK-OTA7g.js} | 2 +- .../chunks/{C50dSO3X.js => BO15iAaC.js} | 2 +- .../chunks/{kSv08Ec5.js => BVEuSEJl.js} | 2 +- .../chunks/{Cp3IZoXB.js => BoOhv-0Q.js} | 2 +- .../chunks/{wtPi3qcm.js => BqRMwgRS.js} | 2 +- .../assets/_app/immutable/chunks/C-HmqlJ7.js | 3 ++ .../chunks/{DmcacarF.js => C0ude0fo.js} | 2 +- .../chunks/{BuuPrWMc.js => C73ZVvpW.js} | 2 +- .../chunks/{sWNKMed7.js => CRKWEg6v.js} | 2 +- .../chunks/{DSOLL96f.js => CUjyd2pn.js} | 2 +- .../chunks/{BgwfiEwe.js => CeSGyYo5.js} | 2 +- .../chunks/{Gp00ljCM.js => CfzLSqae.js} | 2 +- .../chunks/{Bc1EGV4A.js => ClJ8onkK.js} | 2 +- .../chunks/{C98FZ6Lp.js => Co9OVDfV.js} | 2 +- .../chunks/{Dnums3pI.js => D2iLJzzb.js} | 2 +- .../chunks/{BZUCTtPY.js => D6DjlyIQ.js} | 2 +- .../chunks/{ujTHIzr1.js => DJ85e5Cv.js} | 2 +- .../chunks/{CFUg1N_q.js => DMRkWx6-.js} | 2 +- .../chunks/{CLc1WuAh.js => DNitrHo2.js} | 2 +- .../chunks/{BbmBnft9.js => DOmGc-W5.js} | 2 +- .../chunks/{zNh6Oe5P.js => DT0EGONV.js} | 2 +- .../chunks/{CCYOsezl.js => Ddit_D7n.js} | 2 +- .../assets/_app/immutable/chunks/H5nVv3Is.js | 3 -- .../chunks/{DL-alMNb.js => MvuzmHPl.js} | 2 +- .../chunks/{C1jihKTd.js => PY0OOjWY.js} | 2 +- .../chunks/{xti5lSds.js => QGyLbggC.js} | 2 +- .../chunks/{BbG_gKT3.js => XtdMJsQa.js} | 2 +- .../chunks/{_gFYyMUN.js => b5SBTec5.js} | 2 +- .../chunks/{Ccl3fNd2.js => e1m7WRO5.js} | 2 +- .../chunks/{DQxjqDvj.js => lXKAs5Tk.js} | 2 +- .../chunks/{y6VQBV4I.js => t7D7emdy.js} | 2 +- .../{app.DrPDLcph.js => app.BCqrhGpK.js} | 4 +-- .../_app/immutable/entry/start.B06tKAoh.js | 1 + .../_app/immutable/entry/start.BDImdtso.js | 1 - .../nodes/{0.D03KpcHF.js => 0.DNvI_Lk0.js} | 2 +- .../nodes/{1.QJ8B_LB2.js => 1.BaShyY1L.js} | 2 +- .../nodes/{10.CEpVmfMA.js => 10.RanpSp4u.js} | 2 +- .../nodes/{11.CgcDG4MX.js => 11.BwWvS7Ym.js} | 2 +- .../nodes/{12.BH3Jz8FR.js => 12.DgCp7E-Q.js} | 2 +- .../nodes/{13.Co19HBFy.js => 13.Y1-HIkT0.js} | 2 +- .../nodes/{14.Cx6tcYD0.js => 14.82D2I-Yg.js} | 2 +- .../nodes/{15.BjHke9N-.js => 15.B2Og0T2a.js} | 2 +- .../nodes/{16.CMigEa5y.js => 16.BrWGHvkD.js} | 2 +- .../nodes/{17.B7J6N_0C.js => 17.B17yHekc.js} | 2 +- .../nodes/{18.CQQwE13W.js => 18.DM4DHXj3.js} | 2 +- .../nodes/{2.Cl-GhQ1U.js => 2.DMrWWzWX.js} | 2 +- .../assets/_app/immutable/nodes/3.Bfw-rXr3.js | 7 ---- .../assets/_app/immutable/nodes/3.CZXzYd4T.js | 7 ++++ .../assets/_app/immutable/nodes/4.BqAWGwnJ.js | 3 -- .../assets/_app/immutable/nodes/4.Dl4gwcEB.js | 3 ++ .../nodes/{5.BXi0YBvh.js => 5.CPgs67yl.js} | 2 +- .../nodes/{6.Zmbtl6EE.js => 6.DVlv4QbD.js} | 2 +- .../nodes/{7.WtAOvpBB.js => 7.DZShrq7C.js} | 2 +- .../nodes/{8.XEq9QHnH.js => 8.D7w9F7a1.js} | 2 +- .../nodes/{9.gsxY4qk_.js => 9.MGtVJSy-.js} | 2 +- webapp/assets/_app/version.json | 2 +- webapp/assets/index.html | 22 ++++++------ webapp/src/routes/credentials/+page.svelte | 34 +++++++++++------- webapp/src/routes/endpoints/+page.svelte | 36 +++++++++++++------ 62 files changed, 129 insertions(+), 102 deletions(-) rename webapp/assets/_app/immutable/chunks/{CLagxtgo.js => B3a35v7J.js} (85%) rename webapp/assets/_app/immutable/chunks/{CcBDT0Mv.js => BBO7sjS5.js} (84%) rename webapp/assets/_app/immutable/chunks/{Qi7G5Z5O.js => BK-OTA7g.js} (97%) rename webapp/assets/_app/immutable/chunks/{C50dSO3X.js => BO15iAaC.js} (90%) rename webapp/assets/_app/immutable/chunks/{kSv08Ec5.js => BVEuSEJl.js} (85%) rename webapp/assets/_app/immutable/chunks/{Cp3IZoXB.js => BoOhv-0Q.js} (98%) rename webapp/assets/_app/immutable/chunks/{wtPi3qcm.js => BqRMwgRS.js} (95%) create mode 100644 webapp/assets/_app/immutable/chunks/C-HmqlJ7.js rename webapp/assets/_app/immutable/chunks/{DmcacarF.js => C0ude0fo.js} (75%) rename webapp/assets/_app/immutable/chunks/{BuuPrWMc.js => C73ZVvpW.js} (99%) rename webapp/assets/_app/immutable/chunks/{sWNKMed7.js => CRKWEg6v.js} (99%) rename webapp/assets/_app/immutable/chunks/{DSOLL96f.js => CUjyd2pn.js} (97%) rename webapp/assets/_app/immutable/chunks/{BgwfiEwe.js => CeSGyYo5.js} (93%) rename webapp/assets/_app/immutable/chunks/{Gp00ljCM.js => CfzLSqae.js} (94%) rename webapp/assets/_app/immutable/chunks/{Bc1EGV4A.js => ClJ8onkK.js} (95%) rename webapp/assets/_app/immutable/chunks/{C98FZ6Lp.js => Co9OVDfV.js} (98%) rename webapp/assets/_app/immutable/chunks/{Dnums3pI.js => D2iLJzzb.js} (71%) rename webapp/assets/_app/immutable/chunks/{BZUCTtPY.js => D6DjlyIQ.js} (90%) rename webapp/assets/_app/immutable/chunks/{ujTHIzr1.js => DJ85e5Cv.js} (86%) rename webapp/assets/_app/immutable/chunks/{CFUg1N_q.js => DMRkWx6-.js} (69%) rename webapp/assets/_app/immutable/chunks/{CLc1WuAh.js => DNitrHo2.js} (84%) rename webapp/assets/_app/immutable/chunks/{BbmBnft9.js => DOmGc-W5.js} (97%) rename webapp/assets/_app/immutable/chunks/{zNh6Oe5P.js => DT0EGONV.js} (88%) rename webapp/assets/_app/immutable/chunks/{CCYOsezl.js => Ddit_D7n.js} (84%) delete mode 100644 webapp/assets/_app/immutable/chunks/H5nVv3Is.js rename webapp/assets/_app/immutable/chunks/{DL-alMNb.js => MvuzmHPl.js} (83%) rename webapp/assets/_app/immutable/chunks/{C1jihKTd.js => PY0OOjWY.js} (99%) rename webapp/assets/_app/immutable/chunks/{xti5lSds.js => QGyLbggC.js} (86%) rename webapp/assets/_app/immutable/chunks/{BbG_gKT3.js => XtdMJsQa.js} (73%) rename webapp/assets/_app/immutable/chunks/{_gFYyMUN.js => b5SBTec5.js} (78%) rename webapp/assets/_app/immutable/chunks/{Ccl3fNd2.js => e1m7WRO5.js} (96%) rename webapp/assets/_app/immutable/chunks/{DQxjqDvj.js => lXKAs5Tk.js} (71%) rename webapp/assets/_app/immutable/chunks/{y6VQBV4I.js => t7D7emdy.js} (94%) rename webapp/assets/_app/immutable/entry/{app.DrPDLcph.js => app.BCqrhGpK.js} (66%) create mode 100644 webapp/assets/_app/immutable/entry/start.B06tKAoh.js delete mode 100644 webapp/assets/_app/immutable/entry/start.BDImdtso.js rename webapp/assets/_app/immutable/nodes/{0.D03KpcHF.js => 0.DNvI_Lk0.js} (97%) rename webapp/assets/_app/immutable/nodes/{1.QJ8B_LB2.js => 1.BaShyY1L.js} (50%) rename webapp/assets/_app/immutable/nodes/{10.CEpVmfMA.js => 10.RanpSp4u.js} (89%) rename webapp/assets/_app/immutable/nodes/{11.CgcDG4MX.js => 11.BwWvS7Ym.js} (91%) rename webapp/assets/_app/immutable/nodes/{12.BH3Jz8FR.js => 12.DgCp7E-Q.js} (88%) rename webapp/assets/_app/immutable/nodes/{13.Co19HBFy.js => 13.Y1-HIkT0.js} (84%) rename webapp/assets/_app/immutable/nodes/{14.Cx6tcYD0.js => 14.82D2I-Yg.js} (93%) rename webapp/assets/_app/immutable/nodes/{15.BjHke9N-.js => 15.B2Og0T2a.js} (91%) rename webapp/assets/_app/immutable/nodes/{16.CMigEa5y.js => 16.BrWGHvkD.js} (76%) rename webapp/assets/_app/immutable/nodes/{17.B7J6N_0C.js => 17.B17yHekc.js} (94%) rename webapp/assets/_app/immutable/nodes/{18.CQQwE13W.js => 18.DM4DHXj3.js} (93%) rename webapp/assets/_app/immutable/nodes/{2.Cl-GhQ1U.js => 2.DMrWWzWX.js} (97%) delete mode 100644 webapp/assets/_app/immutable/nodes/3.Bfw-rXr3.js create mode 100644 webapp/assets/_app/immutable/nodes/3.CZXzYd4T.js delete mode 100644 webapp/assets/_app/immutable/nodes/4.BqAWGwnJ.js create mode 100644 webapp/assets/_app/immutable/nodes/4.Dl4gwcEB.js rename webapp/assets/_app/immutable/nodes/{5.BXi0YBvh.js => 5.CPgs67yl.js} (91%) rename webapp/assets/_app/immutable/nodes/{6.Zmbtl6EE.js => 6.DVlv4QbD.js} (88%) rename webapp/assets/_app/immutable/nodes/{7.WtAOvpBB.js => 7.DZShrq7C.js} (96%) rename webapp/assets/_app/immutable/nodes/{8.XEq9QHnH.js => 8.D7w9F7a1.js} (88%) rename webapp/assets/_app/immutable/nodes/{9.gsxY4qk_.js => 9.MGtVJSy-.js} (95%) diff --git a/cmd/garm/main.go b/cmd/garm/main.go index cba3a064..657d1890 100644 --- a/cmd/garm/main.go +++ b/cmd/garm/main.go @@ -343,12 +343,15 @@ func main() { methodsOk := handlers.AllowedMethods([]string{"GET", "HEAD", "POST", "PUT", "OPTIONS", "DELETE"}) headersOk := handlers.AllowedHeaders([]string{"X-Requested-With", "Content-Type", "Authorization"}) - // nolint:golangci-lint,gosec - // G112: Potential Slowloris Attack because ReadHeaderTimeout is not configured in the http.Server srv := &http.Server{ Addr: cfg.APIServer.BindAddress(), // Pass our instance of gorilla/mux in. - Handler: handlers.CORS(methodsOk, headersOk, allowedOrigins)(router), + Handler: handlers.CORS(methodsOk, headersOk, allowedOrigins)(router), + ReadHeaderTimeout: 5 * time.Second, + MaxHeaderBytes: 1 << 20, // 1 MB + ReadTimeout: 15 * time.Second, + WriteTimeout: 15 * time.Second, + IdleTimeout: 60 * time.Second, } listener, err := net.Listen("tcp", srv.Addr) diff --git a/webapp/assets/_app/immutable/chunks/CLagxtgo.js b/webapp/assets/_app/immutable/chunks/B3a35v7J.js similarity index 85% rename from webapp/assets/_app/immutable/chunks/CLagxtgo.js rename to webapp/assets/_app/immutable/chunks/B3a35v7J.js index af862710..082e4b4b 100644 --- a/webapp/assets/_app/immutable/chunks/CLagxtgo.js +++ b/webapp/assets/_app/immutable/chunks/B3a35v7J.js @@ -1 +1 @@ -import{V as b,W as o,u as h,G as _,K as t,Q as f,X as m}from"./sWNKMed7.js";function y(e,a,c=a){var v=b(),d=new WeakSet;o(e,"input",r=>{var l=r?e.defaultValue:e.value;if(l=n(e)?s(l):l,c(l),f!==null&&d.add(f),v&&l!==(l=a())){var k=e.selectionStart,u=e.selectionEnd;e.value=l??"",u!==null&&(e.selectionStart=k,e.selectionEnd=Math.min(u,e.value.length))}}),(t&&e.defaultValue!==e.value||h(a)==null&&e.value)&&(c(n(e)?s(e.value):e.value),f!==null&&d.add(f)),_(()=>{var r=a();if(e===document.activeElement){var l=m??f;if(d.has(l))return}n(e)&&r===s(e.value)||e.type==="date"&&!r&&!e.value||r!==e.value&&(e.value=r??"")})}function E(e,a,c=a){o(e,"change",v=>{var d=v?e.defaultChecked:e.checked;c(d)}),(t&&e.defaultChecked!==e.checked||h(a)==null)&&c(e.checked),_(()=>{var v=a();e.checked=!!v})}function n(e){var a=e.type;return a==="number"||a==="range"}function s(e){return e===""?null:+e}export{E as a,y as b}; +import{V as b,W as o,u as h,G as _,K as t,Q as f,X as m}from"./CRKWEg6v.js";function y(e,a,c=a){var v=b(),d=new WeakSet;o(e,"input",r=>{var l=r?e.defaultValue:e.value;if(l=n(e)?s(l):l,c(l),f!==null&&d.add(f),v&&l!==(l=a())){var k=e.selectionStart,u=e.selectionEnd;e.value=l??"",u!==null&&(e.selectionStart=k,e.selectionEnd=Math.min(u,e.value.length))}}),(t&&e.defaultValue!==e.value||h(a)==null&&e.value)&&(c(n(e)?s(e.value):e.value),f!==null&&d.add(f)),_(()=>{var r=a();if(e===document.activeElement){var l=m??f;if(d.has(l))return}n(e)&&r===s(e.value)||e.type==="date"&&!r&&!e.value||r!==e.value&&(e.value=r??"")})}function E(e,a,c=a){o(e,"change",v=>{var d=v?e.defaultChecked:e.checked;c(d)}),(t&&e.defaultChecked!==e.checked||h(a)==null)&&c(e.checked),_(()=>{var v=a();e.checked=!!v})}function n(e){var a=e.type;return a==="number"||a==="range"}function s(e){return e===""?null:+e}export{E as a,y as b}; diff --git a/webapp/assets/_app/immutable/chunks/CcBDT0Mv.js b/webapp/assets/_app/immutable/chunks/BBO7sjS5.js similarity index 84% rename from webapp/assets/_app/immutable/chunks/CcBDT0Mv.js rename to webapp/assets/_app/immutable/chunks/BBO7sjS5.js index 05fe927f..f8105a68 100644 --- a/webapp/assets/_app/immutable/chunks/CcBDT0Mv.js +++ b/webapp/assets/_app/immutable/chunks/BBO7sjS5.js @@ -1 +1 @@ -const w=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function v(t){const s=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${_(t).map(a=>{const i=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(i)return s.push({name:i[1],matcher:i[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const c=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(c)return s.push({name:c[1],matcher:c[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const n=a.split(/\[(.+?)\](?!\])/);return"/"+n.map((e,u)=>{if(u%2){if(e.startsWith("x+"))return h(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith("u+"))return h(String.fromCharCode(...e.slice(2).split("-").map(g=>parseInt(g,16))));const o=w.exec(e),[,l,p,m,d]=o;return s.push({name:m,matcher:d,optional:!!l,rest:!!p,chained:p?u===1&&n[0]==="":!1}),p?"([^]*?)":l?"([^/]*)?":"([^/]+?)"}return h(e)}).join("")}).join("")}/?$`),params:s}}function $(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function _(t){return t.slice(1).split("/").filter($)}function j(t,s,f){const a={},i=t.slice(1),c=i.filter(r=>r!==void 0);let n=0;for(let r=0;ro).join("/"),n=0),u===void 0){e.rest&&(a[e.name]="");continue}if(!e.matcher||f[e.matcher](u)){a[e.name]=u;const o=s[r+1],l=i[r+1];o&&!o.rest&&o.optional&&l&&e.chained&&(n=0),!o&&!l&&Object.keys(a).length===c.length&&(n=0);continue}if(e.optional&&e.chained){n++;continue}return}if(!n)return a}function h(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}const x=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function k(t,s){return"/"+_(t).map(a=>a.replace(x,(i,c,n,r)=>{const e=s[r];if(!e){if(c||n&&e!==void 0)return"";throw new Error(`Missing parameter '${r}' in route ${t}`)}if(e.startsWith("/")||e.endsWith("/"))throw new Error(`Parameter '${r}' in route ${t} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return e})).filter(Boolean).join("/")}const b=globalThis.__sveltekit_isprx?.base??"/ui",C=globalThis.__sveltekit_isprx?.assets??b;export{C as a,b,j as e,v as p,k as r}; +const w=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function x(t){const s=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${_(t).map(a=>{const i=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(a);if(i)return s.push({name:i[1],matcher:i[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const c=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(a);if(c)return s.push({name:c[1],matcher:c[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!a)return;const n=a.split(/\[(.+?)\](?!\])/);return"/"+n.map((e,u)=>{if(u%2){if(e.startsWith("x+"))return h(String.fromCharCode(parseInt(e.slice(2),16)));if(e.startsWith("u+"))return h(String.fromCharCode(...e.slice(2).split("-").map(g=>parseInt(g,16))));const o=w.exec(e),[,l,p,m,d]=o;return s.push({name:m,matcher:d,optional:!!l,rest:!!p,chained:p?u===1&&n[0]==="":!1}),p?"([^]*?)":l?"([^/]*)?":"([^/]+?)"}return h(e)}).join("")}).join("")}/?$`),params:s}}function $(t){return t!==""&&!/^\([^)]+\)$/.test(t)}function _(t){return t.slice(1).split("/").filter($)}function j(t,s,f){const a={},i=t.slice(1),c=i.filter(r=>r!==void 0);let n=0;for(let r=0;ro).join("/"),n=0),u===void 0){e.rest&&(a[e.name]="");continue}if(!e.matcher||f[e.matcher](u)){a[e.name]=u;const o=s[r+1],l=i[r+1];o&&!o.rest&&o.optional&&l&&e.chained&&(n=0),!o&&!l&&Object.keys(a).length===c.length&&(n=0);continue}if(e.optional&&e.chained){n++;continue}return}if(!n)return a}function h(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}const b=/\[(\[)?(\.\.\.)?(\w+?)(?:=(\w+))?\]\]?/g;function k(t,s){return"/"+_(t).map(a=>a.replace(b,(i,c,n,r)=>{const e=s[r];if(!e){if(c||n&&e!==void 0)return"";throw new Error(`Missing parameter '${r}' in route ${t}`)}if(e.startsWith("/")||e.endsWith("/"))throw new Error(`Parameter '${r}' in route ${t} cannot start or end with a slash -- this would cause an invalid route like foo//bar`);return e})).filter(Boolean).join("/")}const v=globalThis.__sveltekit_rdj1nf?.base??"/ui",C=globalThis.__sveltekit_rdj1nf?.assets??v;export{C as a,v as b,j as e,x as p,k as r}; diff --git a/webapp/assets/_app/immutable/chunks/Qi7G5Z5O.js b/webapp/assets/_app/immutable/chunks/BK-OTA7g.js similarity index 97% rename from webapp/assets/_app/immutable/chunks/Qi7G5Z5O.js rename to webapp/assets/_app/immutable/chunks/BK-OTA7g.js index 15ba98bc..5e20e0d9 100644 --- a/webapp/assets/_app/immutable/chunks/Qi7G5Z5O.js +++ b/webapp/assets/_app/immutable/chunks/BK-OTA7g.js @@ -1,4 +1,4 @@ -import{d,s as w,f as x}from"./C1jihKTd.js";import"./DsnmJJEf.js";import{i as k}from"./zNh6Oe5P.js";import{p as b,l as v,n as c,a as _,f as y,t as h,c as E,d as B,s as z,m as L,j as M,r as j,g as T,v as U}from"./sWNKMed7.js";import{p as o}from"./Ccl3fNd2.js";function A(e){if(!e)return"N/A";try{return(typeof e=="string"?new Date(e):e).toLocaleString()}catch{return"Invalid Date"}}function C(e,r="w-4 h-4"){return e==="gitea"?``:e==="github"?`
`:` +import{d,s as w,f as x}from"./PY0OOjWY.js";import"./DsnmJJEf.js";import{i as k}from"./DT0EGONV.js";import{p as b,l as v,n as c,a as _,f as y,t as h,c as E,d as B,s as z,m as L,j as M,r as j,g as T,v as U}from"./CRKWEg6v.js";import{p as o}from"./e1m7WRO5.js";function A(e){if(!e)return"N/A";try{return(typeof e=="string"?new Date(e):e).toLocaleString()}catch{return"Invalid Date"}}function C(e,r="w-4 h-4"){return e==="gitea"?``:e==="github"?`
`:` `}function H(e,r){if(e.repo_name)return e.repo_name;if(e.org_name)return e.org_name;if(e.enterprise_name)return e.enterprise_name;if(e.repo_id&&!e.repo_name&&r?.repositories){const n=r.repositories.find(t=>t.id===e.repo_id);return n?`${n.owner}/${n.name}`:"Unknown Entity"}if(e.org_id&&!e.org_name&&r?.organizations){const n=r.organizations.find(t=>t.id===e.org_id);return n&&n.name?n.name:"Unknown Entity"}if(e.enterprise_id&&!e.enterprise_name&&r?.enterprises){const n=r.enterprises.find(t=>t.id===e.enterprise_id);return n&&n.name?n.name:"Unknown Entity"}return"Unknown Entity"}function P(e){return e.repo_id?"repository":e.org_id?"organization":e.enterprise_id?"enterprise":"unknown"}function V(e){return e.repo_id?d(`/repositories/${e.repo_id}`):e.org_id?d(`/organizations/${e.org_id}`):e.enterprise_id?d(`/enterprises/${e.enterprise_id}`):"#"}function W(e){e&&(e.scrollTop=e.scrollHeight)}function q(e){return{newPerPage:e,newCurrentPage:1}}function G(e){return e.pool_manager_status?.running?{text:"Running",variant:"success"}:{text:"Stopped",variant:"error"}}function J(e){switch(e.toLowerCase()){case"error":return{text:"Error",variant:"error"};case"warning":return{text:"Warning",variant:"warning"};case"info":return{text:"Info",variant:"info"};default:return{text:e,variant:"info"}}}function l(e,r,n){if(!r.trim())return e;const t=r.toLowerCase();return e.filter(a=>typeof n=="function"?n(a).toLowerCase().includes(t):n.some(i=>a[i]?.toString().toLowerCase().includes(t)))}function K(e,r){return l(e,r,["name","owner"])}function O(e,r){return l(e,r,["name"])}function Q(e,r){return l(e,r,n=>[n.name||"",n.description||"",n.endpoint?.name||""].join(" "))}function X(e,r){return l(e,r,["name","description","base_url","api_base_url"])}function Y(e,r,n){return e.slice((r-1)*n,r*n)}var I=y(" ");function Z(e,r){b(r,!1);const n=L();let t=o(r,"variant",8,"gray"),a=o(r,"size",8,"sm"),i=o(r,"text",8),g=o(r,"ring",8,!1);const u={success:"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200",error:"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200",warning:"bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",info:"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200",gray:"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200",blue:"bg-blue-100 dark:bg-blue-900 text-blue-800 dark:text-blue-200",green:"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200",red:"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200",yellow:"bg-yellow-100 dark:bg-yellow-900 text-yellow-800 dark:text-yellow-200",secondary:"bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200"},f={success:"ring-green-600/20 dark:ring-green-400/30",error:"ring-red-600/20 dark:ring-red-400/30",warning:"ring-yellow-600/20 dark:ring-yellow-400/30",info:"ring-blue-600/20 dark:ring-blue-400/30",gray:"ring-gray-500/20 dark:ring-gray-400/30",blue:"ring-blue-600/20 dark:ring-blue-400/30",green:"ring-green-600/20 dark:ring-green-400/30",red:"ring-red-600/20 dark:ring-red-400/30",yellow:"ring-yellow-600/20 dark:ring-yellow-400/30",secondary:"ring-gray-500/20 dark:ring-gray-400/30"},p={sm:"px-2 py-1 text-xs",md:"px-2.5 py-0.5 text-xs"};v(()=>(c(t()),c(a()),c(g())),()=>{z(n,["inline-flex items-center rounded-full font-semibold",u[t()],p[a()],g()?`ring-1 ring-inset ${f[t()]}`:""].filter(Boolean).join(" "))}),_(),k();var s=I(),m=M(s,!0);j(s),h(()=>{w(s,1,x(T(n))),U(m,i())}),E(e,s),B()}export{Z as B,X as a,A as b,q as c,J as d,H as e,Q as f,C as g,l as h,P as i,V as j,G as k,O as l,K as m,Y as p,W as s}; diff --git a/webapp/assets/_app/immutable/chunks/C50dSO3X.js b/webapp/assets/_app/immutable/chunks/BO15iAaC.js similarity index 90% rename from webapp/assets/_app/immutable/chunks/C50dSO3X.js rename to webapp/assets/_app/immutable/chunks/BO15iAaC.js index af224b92..4754812c 100644 --- a/webapp/assets/_app/immutable/chunks/C50dSO3X.js +++ b/webapp/assets/_app/immutable/chunks/BO15iAaC.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as W}from"./zNh6Oe5P.js";import{f as S,j as t,k as p,r as a,t as L,v as _,c as u,z as N,D as A,p as X,u as T,n as P,d as Y}from"./sWNKMed7.js";import{p as s,i as I}from"./Ccl3fNd2.js";import{s as Z,h as $,B as F,d as B,c as ee}from"./C1jihKTd.js";import{D as te,G as ae,a as se}from"./C98FZ6Lp.js";import{E as le}from"./xti5lSds.js";import{S as G}from"./kSv08Ec5.js";var ne=S('
'),ie=S('
'),re=S('

');function ge(j,e){let n=s(e,"title",8),E=s(e,"subtitle",8),b=s(e,"forgeIcon",8,""),f=s(e,"onEdit",8,null),h=s(e,"onDelete",8,null),k=s(e,"editLabel",8,"Edit"),z=s(e,"deleteLabel",8,"Delete"),g=s(e,"titleClass",8,"");var c=re(),v=t(c),m=t(v),y=t(m),C=t(y);{var H=i=>{var r=ne(),w=t(r);$(w,b),a(r),u(i,r)};I(C,i=>{b()&&i(H)})}var l=p(C,2),D=t(l),V=t(D,!0);a(D);var M=p(D,2),R=t(M,!0);a(M),a(l),a(y);var q=p(y,2);{var J=i=>{var r=ie(),w=t(r);{var K=o=>{F(o,{variant:"secondary",size:"md",icon:"",$$events:{click(...d){f()?.apply(this,d)}},children:(d,U)=>{N();var x=A();L(()=>_(x,k())),u(d,x)},$$slots:{default:!0}})};I(w,o=>{f()&&o(K)})}var O=p(w,2);{var Q=o=>{F(o,{variant:"danger",size:"md",icon:"",$$events:{click(...d){h()?.apply(this,d)}},children:(d,U)=>{N();var x=A();L(()=>_(x,z())),u(d,x)},$$slots:{default:!0}})};I(O,o=>{h()&&o(Q)})}a(r),u(i,r)};I(q,i=>{(f()||h())&&i(J)})}a(m),a(v),a(c),L(()=>{Z(D,1,`text-2xl font-bold text-gray-900 dark:text-white ${g()??""}`),_(V,n()),_(R,E())}),u(j,c)}var oe=S('');function ye(j,e){X(e,!1);let n=s(e,"instances",8),E=s(e,"entityType",8),b=s(e,"onDeleteInstance",8);const f=[{key:"name",title:"Name",cellComponent:le,cellProps:{entityType:"instance",nameField:"name"}},{key:"status",title:"Status",cellComponent:G,cellProps:{statusType:"instance",statusField:"status"}},{key:"runner_status",title:"Runner Status",cellComponent:G,cellProps:{statusType:"instance",statusField:"runner_status"}},{key:"created",title:"Created",cellComponent:ae,cellProps:{field:"created_at",type:"date"}},{key:"actions",title:"Actions",align:"right",cellComponent:se,cellProps:{actions:[{type:"delete",label:"Delete",title:"Delete instance",ariaLabel:"Delete instance",action:"delete"}]}}],h={entityType:"instance",primaryText:{field:"name",isClickable:!0,href:"/instances/{name}"},secondaryText:{field:"provider_id"},badges:[{type:"status",field:"status"}],actions:[{type:"delete",handler:l=>k(l)}]};function k(l){b()(l)}function z(l){k(l.detail.item)}W();var g=oe(),c=t(g),v=t(c),m=t(v),y=t(m);a(m);var C=p(m,2);a(v);var H=p(v,2);te(H,{get columns(){return f},get data(){return n()},loading:!1,error:"",searchTerm:"",showSearch:!1,showPagination:!1,currentPage:1,get perPage(){return P(n()),T(()=>n().length)},totalPages:1,get totalItems(){return P(n()),T(()=>n().length)},itemName:"instances",emptyTitle:"No instances running",get emptyMessage(){return`No instances running for this ${E()??""}.`},emptyIconType:"cog",get mobileCardConfig(){return h},$$events:{delete:z}}),a(c),a(g),L(l=>{_(y,`Instances (${P(n()),T(()=>n().length)??""})`),ee(C,"href",l)},[()=>(P(B),T(()=>B("/instances")))]),u(j,g),Y()}export{ge as D,ye as I}; +import"./DsnmJJEf.js";import{i as W}from"./DT0EGONV.js";import{f as S,j as t,k as p,r as a,t as L,v as _,c as u,z as N,D as A,p as X,u as T,n as P,d as Y}from"./CRKWEg6v.js";import{p as s,i as I}from"./e1m7WRO5.js";import{s as Z,h as $,B as F,d as B,c as ee}from"./PY0OOjWY.js";import{D as te,G as ae,a as se}from"./Co9OVDfV.js";import{E as le}from"./QGyLbggC.js";import{S as G}from"./BVEuSEJl.js";var ne=S('
'),ie=S('
'),re=S('

');function ge(j,e){let n=s(e,"title",8),E=s(e,"subtitle",8),b=s(e,"forgeIcon",8,""),f=s(e,"onEdit",8,null),h=s(e,"onDelete",8,null),k=s(e,"editLabel",8,"Edit"),z=s(e,"deleteLabel",8,"Delete"),g=s(e,"titleClass",8,"");var c=re(),v=t(c),m=t(v),y=t(m),C=t(y);{var H=i=>{var r=ne(),w=t(r);$(w,b),a(r),u(i,r)};I(C,i=>{b()&&i(H)})}var l=p(C,2),D=t(l),V=t(D,!0);a(D);var M=p(D,2),R=t(M,!0);a(M),a(l),a(y);var q=p(y,2);{var J=i=>{var r=ie(),w=t(r);{var K=o=>{F(o,{variant:"secondary",size:"md",icon:"",$$events:{click(...d){f()?.apply(this,d)}},children:(d,U)=>{N();var x=A();L(()=>_(x,k())),u(d,x)},$$slots:{default:!0}})};I(w,o=>{f()&&o(K)})}var O=p(w,2);{var Q=o=>{F(o,{variant:"danger",size:"md",icon:"",$$events:{click(...d){h()?.apply(this,d)}},children:(d,U)=>{N();var x=A();L(()=>_(x,z())),u(d,x)},$$slots:{default:!0}})};I(O,o=>{h()&&o(Q)})}a(r),u(i,r)};I(q,i=>{(f()||h())&&i(J)})}a(m),a(v),a(c),L(()=>{Z(D,1,`text-2xl font-bold text-gray-900 dark:text-white ${g()??""}`),_(V,n()),_(R,E())}),u(j,c)}var oe=S('');function ye(j,e){X(e,!1);let n=s(e,"instances",8),E=s(e,"entityType",8),b=s(e,"onDeleteInstance",8);const f=[{key:"name",title:"Name",cellComponent:le,cellProps:{entityType:"instance",nameField:"name"}},{key:"status",title:"Status",cellComponent:G,cellProps:{statusType:"instance",statusField:"status"}},{key:"runner_status",title:"Runner Status",cellComponent:G,cellProps:{statusType:"instance",statusField:"runner_status"}},{key:"created",title:"Created",cellComponent:ae,cellProps:{field:"created_at",type:"date"}},{key:"actions",title:"Actions",align:"right",cellComponent:se,cellProps:{actions:[{type:"delete",label:"Delete",title:"Delete instance",ariaLabel:"Delete instance",action:"delete"}]}}],h={entityType:"instance",primaryText:{field:"name",isClickable:!0,href:"/instances/{name}"},secondaryText:{field:"provider_id"},badges:[{type:"status",field:"status"}],actions:[{type:"delete",handler:l=>k(l)}]};function k(l){b()(l)}function z(l){k(l.detail.item)}W();var g=oe(),c=t(g),v=t(c),m=t(v),y=t(m);a(m);var C=p(m,2);a(v);var H=p(v,2);te(H,{get columns(){return f},get data(){return n()},loading:!1,error:"",searchTerm:"",showSearch:!1,showPagination:!1,currentPage:1,get perPage(){return P(n()),T(()=>n().length)},totalPages:1,get totalItems(){return P(n()),T(()=>n().length)},itemName:"instances",emptyTitle:"No instances running",get emptyMessage(){return`No instances running for this ${E()??""}.`},emptyIconType:"cog",get mobileCardConfig(){return h},$$events:{delete:z}}),a(c),a(g),L(l=>{_(y,`Instances (${P(n()),T(()=>n().length)??""})`),ee(C,"href",l)},[()=>(P(B),T(()=>B("/instances")))]),u(j,g),Y()}export{ge as D,ye as I}; diff --git a/webapp/assets/_app/immutable/chunks/kSv08Ec5.js b/webapp/assets/_app/immutable/chunks/BVEuSEJl.js similarity index 85% rename from webapp/assets/_app/immutable/chunks/kSv08Ec5.js rename to webapp/assets/_app/immutable/chunks/BVEuSEJl.js index 06ac68db..e393caa0 100644 --- a/webapp/assets/_app/immutable/chunks/kSv08Ec5.js +++ b/webapp/assets/_app/immutable/chunks/BVEuSEJl.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as v}from"./zNh6Oe5P.js";import{p as w,l as m,n as s,g as r,m as g,a as x,B as h,b as T,c as B,d as S,s as k,u}from"./sWNKMed7.js";import{k as A}from"./C98FZ6Lp.js";import{p as d}from"./Ccl3fNd2.js";import{k as b,B as C}from"./Qi7G5Z5O.js";import{f as E}from"./ow_oMtSd.js";function q(_,i){w(i,!1);const c=g(),n=g();let e=d(i,"item",8),l=d(i,"statusType",8,"entity"),a=d(i,"statusField",8,"status");m(()=>(s(e()),s(a())),()=>{k(c,e()?.[a()]||"unknown")}),m(()=>(s(e()),s(l()),r(c),s(a())),()=>{k(n,(()=>{if(!e())return{variant:"error",text:"Unknown"};switch(l()){case"entity":return b(e());case"instance":let t="secondary";switch(r(c).toLowerCase()){case"running":t="success";break;case"stopped":t="info";break;case"creating":case"pending_create":t="warning";break;case"deleting":case"pending_delete":case"pending_force_delete":t="warning";break;case"error":case"deleted":t="error";break;case"active":case"online":t="success";break;case"idle":t="info";break;case"pending":case"installing":t="warning";break;case"failed":case"terminated":case"offline":t="error";break;case"unknown":default:t="secondary";break}return{variant:t,text:E(r(c))};case"enabled":return{variant:e().enabled?"success":"error",text:e().enabled?"Enabled":"Disabled"};case"custom":const o=e()[a()]||"Unknown";if(a()==="auth-type"){const f=o==="pat"||!o?"pat":"app";return{variant:f==="pat"?"success":"info",text:f==="pat"?"PAT":"App"}}return{variant:"info",text:o};default:return b(e())}})())}),x(),v();var p=h(),y=T(p);A(y,()=>(s(e()),s(a()),u(()=>`${e()?.name||"item"}-${e()?.[a()]||"status"}-${e()?.updated_at||"time"}`)),t=>{C(t,{get variant(){return r(n),u(()=>r(n).variant)},get text(){return r(n),u(()=>r(n).text)}})}),B(_,p),S()}export{q as S}; +import"./DsnmJJEf.js";import{i as v}from"./DT0EGONV.js";import{p as w,l as m,n as s,g as r,m as g,a as x,B as h,b as T,c as B,d as S,s as k,u}from"./CRKWEg6v.js";import{k as A}from"./Co9OVDfV.js";import{p as d}from"./e1m7WRO5.js";import{k as b,B as C}from"./BK-OTA7g.js";import{f as E}from"./ow_oMtSd.js";function q(_,i){w(i,!1);const c=g(),n=g();let e=d(i,"item",8),l=d(i,"statusType",8,"entity"),a=d(i,"statusField",8,"status");m(()=>(s(e()),s(a())),()=>{k(c,e()?.[a()]||"unknown")}),m(()=>(s(e()),s(l()),r(c),s(a())),()=>{k(n,(()=>{if(!e())return{variant:"error",text:"Unknown"};switch(l()){case"entity":return b(e());case"instance":let t="secondary";switch(r(c).toLowerCase()){case"running":t="success";break;case"stopped":t="info";break;case"creating":case"pending_create":t="warning";break;case"deleting":case"pending_delete":case"pending_force_delete":t="warning";break;case"error":case"deleted":t="error";break;case"active":case"online":t="success";break;case"idle":t="info";break;case"pending":case"installing":t="warning";break;case"failed":case"terminated":case"offline":t="error";break;case"unknown":default:t="secondary";break}return{variant:t,text:E(r(c))};case"enabled":return{variant:e().enabled?"success":"error",text:e().enabled?"Enabled":"Disabled"};case"custom":const o=e()[a()]||"Unknown";if(a()==="auth-type"){const f=o==="pat"||!o?"pat":"app";return{variant:f==="pat"?"success":"info",text:f==="pat"?"PAT":"App"}}return{variant:"info",text:o};default:return b(e())}})())}),x(),v();var p=h(),y=T(p);A(y,()=>(s(e()),s(a()),u(()=>`${e()?.name||"item"}-${e()?.[a()]||"status"}-${e()?.updated_at||"time"}`)),t=>{C(t,{get variant(){return r(n),u(()=>r(n).variant)},get text(){return r(n),u(()=>r(n).text)}})}),B(_,p),S()}export{q as S}; diff --git a/webapp/assets/_app/immutable/chunks/Cp3IZoXB.js b/webapp/assets/_app/immutable/chunks/BoOhv-0Q.js similarity index 98% rename from webapp/assets/_app/immutable/chunks/Cp3IZoXB.js rename to webapp/assets/_app/immutable/chunks/BoOhv-0Q.js index 01739c7a..3e064402 100644 --- a/webapp/assets/_app/immutable/chunks/Cp3IZoXB.js +++ b/webapp/assets/_app/immutable/chunks/BoOhv-0Q.js @@ -1 +1 @@ -import{I as p,J as l}from"./sWNKMed7.js";import{g as d}from"./C1jihKTd.js";import{w as r}from"./BuuPrWMc.js";const f={repositories:[],organizations:[],enterprises:[],pools:[],scalesets:[],credentials:[],endpoints:[],controllerInfo:null,loading:{repositories:!1,organizations:!1,enterprises:!1,pools:!1,scalesets:!1,credentials:!1,endpoints:!1,controllerInfo:!1},loaded:{repositories:!1,organizations:!1,enterprises:!1,pools:!1,scalesets:!1,credentials:!1,endpoints:!1,controllerInfo:!1},errorMessages:{repositories:"",organizations:"",enterprises:"",pools:"",scalesets:"",credentials:"",endpoints:"",controllerInfo:""}},a=p(f);class u{unsubscribers=[];loadingPromises=new Map;retryAttempts=new Map;MAX_RETRIES=3;RETRY_DELAY_MS=1e3;websocketStatusUnsubscriber=null;async loadResource(e,t=!1){if(this.loadingPromises.has(e))return this.loadingPromises.get(e);a.update(o=>({...o,loading:{...o.loading,[e]:!0},errorMessages:{...o.errorMessages,[e]:""}}));const s=this.attemptLoad(e);this.loadingPromises.set(e,s);try{const o=await s;return a.update(n=>({...n,[e]:o,loading:{...n.loading,[e]:!1},loaded:{...n.loaded,[e]:!0},errorMessages:{...n.errorMessages,[e]:""}})),this.retryAttempts.delete(e),t&&this.startBackgroundLoading(e),o}catch(o){const n=o instanceof Error?o.message:"Failed to load data";throw a.update(i=>({...i,loading:{...i.loading,[e]:!1},errorMessages:{...i.errorMessages,[e]:n}})),console.error(`Failed to load ${e}:`,o),o}finally{this.loadingPromises.delete(e)}}async attemptLoad(e){const t=(this.retryAttempts.get(e)||0)+1;this.retryAttempts.set(e,t);try{let s;switch(e){case"repositories":s=d.listRepositories();break;case"organizations":s=d.listOrganizations();break;case"enterprises":s=d.listEnterprises();break;case"pools":s=d.listAllPools();break;case"scalesets":s=d.listScaleSets();break;case"credentials":s=d.listAllCredentials();break;case"endpoints":s=d.listAllEndpoints();break;case"controllerInfo":s=d.getControllerInfo();break;default:throw new Error(`Unknown resource type: ${e}`)}return await s}catch(s){if(tsetTimeout(n,o)),this.attemptLoad(e)}else throw console.error(`All ${this.MAX_RETRIES} attempts failed for ${e}:`,s),s}}async startBackgroundLoading(e){const s=["repositories","organizations","enterprises","pools","scalesets","credentials","endpoints"].filter(o=>o!==e);for(const o of s)setTimeout(()=>{this.loadResource(o,!1).catch(n=>{console.warn(`Background loading failed for ${o}:`,n)})},100*s.indexOf(o))}retryResource(e){return this.retryAttempts.delete(e),this.loadResource(e,!0)}setupWebSocketSubscriptions(){this.cleanup();const e=[r.subscribeToEntity("repository",["create","update","delete"],this.handleRepositoryEvent.bind(this)),r.subscribeToEntity("organization",["create","update","delete"],this.handleOrganizationEvent.bind(this)),r.subscribeToEntity("enterprise",["create","update","delete"],this.handleEnterpriseEvent.bind(this)),r.subscribeToEntity("pool",["create","update","delete"],this.handlePoolEvent.bind(this)),r.subscribeToEntity("scaleset",["create","update","delete"],this.handleScaleSetEvent.bind(this)),r.subscribeToEntity("controller",["update"],this.handleControllerEvent.bind(this)),r.subscribeToEntity("github_credentials",["create","update","delete"],this.handleCredentialsEvent.bind(this)),r.subscribeToEntity("gitea_credentials",["create","update","delete"],this.handleCredentialsEvent.bind(this)),r.subscribeToEntity("github_endpoint",["create","update","delete"],this.handleEndpointEvent.bind(this))];this.unsubscribers=e,this.setupWebSocketStatusMonitoring()}setupWebSocketStatusMonitoring(){this.websocketStatusUnsubscriber&&this.websocketStatusUnsubscriber();let e=!1;this.websocketStatusUnsubscriber=r.subscribe(t=>{t.connected&&!e&&(console.log("[EagerCache] WebSocket connected - reinitializing cache"),this.initializeAllResources()),e=t.connected})}async initializeAllResources(){const t=["repositories","organizations","enterprises","pools","scalesets","credentials","endpoints","controllerInfo"].map(s=>this.loadResource(s,!0).catch(o=>{console.warn(`Failed to reload ${s} on WebSocket reconnect:`,o)}));await Promise.allSettled(t)}handleRepositoryEvent(e){a.update(t=>{if(!t.loaded.repositories)return t;const s=[...t.repositories],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,repositories:s}})}handleOrganizationEvent(e){a.update(t=>{if(!t.loaded.organizations)return t;const s=[...t.organizations],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,organizations:s}})}handleEnterpriseEvent(e){a.update(t=>{if(!t.loaded.enterprises)return t;const s=[...t.enterprises],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,enterprises:s}})}handlePoolEvent(e){a.update(t=>{if(!t.loaded.pools)return t;const s=[...t.pools],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,pools:s}})}handleScaleSetEvent(e){a.update(t=>{if(!t.loaded.scalesets)return t;const s=[...t.scalesets],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,scalesets:s}})}handleCredentialsEvent(e){a.update(t=>{if(!t.loaded.credentials)return t;const s=[...t.credentials],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,credentials:s}})}handleEndpointEvent(e){a.update(t=>{if(!t.loaded.endpoints)return t;const s=[...t.endpoints],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.name===o.name);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.name:o,i=s.findIndex(c=>c.name===n);i!==-1&&s.splice(i,1)}return{...t,endpoints:s}})}cleanup(){this.unsubscribers.forEach(e=>e()),this.unsubscribers=[],this.websocketStatusUnsubscriber&&(this.websocketStatusUnsubscriber(),this.websocketStatusUnsubscriber=null)}shouldUseCache(){return l(r).connected}async getRepositories(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching repositories directly from API"),await d.listRepositories();const t=l(a);return t.loaded.repositories?t.repositories:this.loadResource("repositories",!0)}async getOrganizations(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching organizations directly from API"),await d.listOrganizations();const t=l(a);return t.loaded.organizations?t.organizations:this.loadResource("organizations",!0)}async getEnterprises(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching enterprises directly from API"),await d.listEnterprises();const t=l(a);return t.loaded.enterprises?t.enterprises:this.loadResource("enterprises",!0)}async getPools(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching pools directly from API"),await d.listAllPools();const t=l(a);return t.loaded.pools?t.pools:this.loadResource("pools",!0)}async getScaleSets(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching scalesets directly from API"),await d.listScaleSets();const t=l(a);return t.loaded.scalesets?t.scalesets:this.loadResource("scalesets",!0)}async getCredentials(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching credentials directly from API"),await d.listAllCredentials();const t=l(a);return t.loaded.credentials?t.credentials:this.loadResource("credentials",!0)}async getEndpoints(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching endpoints directly from API"),await d.listAllEndpoints();const t=l(a);return t.loaded.endpoints?t.endpoints:this.loadResource("endpoints",!0)}async getControllerInfo(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching controller info directly from API"),await d.getControllerInfo();const t=l(a);return t.loaded.controllerInfo?t.controllerInfo:this.loadResource("controllerInfo",!0)}handleControllerEvent(e){a.update(t=>{if(!t.loaded.controllerInfo)return t;const s=e.payload;return e.operation==="update"?{...t,controllerInfo:s}:t})}}const h=new u;typeof window<"u"&&h.setupWebSocketSubscriptions();export{h as a,a as e}; +import{I as p,J as l}from"./CRKWEg6v.js";import{g as d}from"./PY0OOjWY.js";import{w as r}from"./C73ZVvpW.js";const f={repositories:[],organizations:[],enterprises:[],pools:[],scalesets:[],credentials:[],endpoints:[],controllerInfo:null,loading:{repositories:!1,organizations:!1,enterprises:!1,pools:!1,scalesets:!1,credentials:!1,endpoints:!1,controllerInfo:!1},loaded:{repositories:!1,organizations:!1,enterprises:!1,pools:!1,scalesets:!1,credentials:!1,endpoints:!1,controllerInfo:!1},errorMessages:{repositories:"",organizations:"",enterprises:"",pools:"",scalesets:"",credentials:"",endpoints:"",controllerInfo:""}},a=p(f);class u{unsubscribers=[];loadingPromises=new Map;retryAttempts=new Map;MAX_RETRIES=3;RETRY_DELAY_MS=1e3;websocketStatusUnsubscriber=null;async loadResource(e,t=!1){if(this.loadingPromises.has(e))return this.loadingPromises.get(e);a.update(o=>({...o,loading:{...o.loading,[e]:!0},errorMessages:{...o.errorMessages,[e]:""}}));const s=this.attemptLoad(e);this.loadingPromises.set(e,s);try{const o=await s;return a.update(n=>({...n,[e]:o,loading:{...n.loading,[e]:!1},loaded:{...n.loaded,[e]:!0},errorMessages:{...n.errorMessages,[e]:""}})),this.retryAttempts.delete(e),t&&this.startBackgroundLoading(e),o}catch(o){const n=o instanceof Error?o.message:"Failed to load data";throw a.update(i=>({...i,loading:{...i.loading,[e]:!1},errorMessages:{...i.errorMessages,[e]:n}})),console.error(`Failed to load ${e}:`,o),o}finally{this.loadingPromises.delete(e)}}async attemptLoad(e){const t=(this.retryAttempts.get(e)||0)+1;this.retryAttempts.set(e,t);try{let s;switch(e){case"repositories":s=d.listRepositories();break;case"organizations":s=d.listOrganizations();break;case"enterprises":s=d.listEnterprises();break;case"pools":s=d.listAllPools();break;case"scalesets":s=d.listScaleSets();break;case"credentials":s=d.listAllCredentials();break;case"endpoints":s=d.listAllEndpoints();break;case"controllerInfo":s=d.getControllerInfo();break;default:throw new Error(`Unknown resource type: ${e}`)}return await s}catch(s){if(tsetTimeout(n,o)),this.attemptLoad(e)}else throw console.error(`All ${this.MAX_RETRIES} attempts failed for ${e}:`,s),s}}async startBackgroundLoading(e){const s=["repositories","organizations","enterprises","pools","scalesets","credentials","endpoints"].filter(o=>o!==e);for(const o of s)setTimeout(()=>{this.loadResource(o,!1).catch(n=>{console.warn(`Background loading failed for ${o}:`,n)})},100*s.indexOf(o))}retryResource(e){return this.retryAttempts.delete(e),this.loadResource(e,!0)}setupWebSocketSubscriptions(){this.cleanup();const e=[r.subscribeToEntity("repository",["create","update","delete"],this.handleRepositoryEvent.bind(this)),r.subscribeToEntity("organization",["create","update","delete"],this.handleOrganizationEvent.bind(this)),r.subscribeToEntity("enterprise",["create","update","delete"],this.handleEnterpriseEvent.bind(this)),r.subscribeToEntity("pool",["create","update","delete"],this.handlePoolEvent.bind(this)),r.subscribeToEntity("scaleset",["create","update","delete"],this.handleScaleSetEvent.bind(this)),r.subscribeToEntity("controller",["update"],this.handleControllerEvent.bind(this)),r.subscribeToEntity("github_credentials",["create","update","delete"],this.handleCredentialsEvent.bind(this)),r.subscribeToEntity("gitea_credentials",["create","update","delete"],this.handleCredentialsEvent.bind(this)),r.subscribeToEntity("github_endpoint",["create","update","delete"],this.handleEndpointEvent.bind(this))];this.unsubscribers=e,this.setupWebSocketStatusMonitoring()}setupWebSocketStatusMonitoring(){this.websocketStatusUnsubscriber&&this.websocketStatusUnsubscriber();let e=!1;this.websocketStatusUnsubscriber=r.subscribe(t=>{t.connected&&!e&&(console.log("[EagerCache] WebSocket connected - reinitializing cache"),this.initializeAllResources()),e=t.connected})}async initializeAllResources(){const t=["repositories","organizations","enterprises","pools","scalesets","credentials","endpoints","controllerInfo"].map(s=>this.loadResource(s,!0).catch(o=>{console.warn(`Failed to reload ${s} on WebSocket reconnect:`,o)}));await Promise.allSettled(t)}handleRepositoryEvent(e){a.update(t=>{if(!t.loaded.repositories)return t;const s=[...t.repositories],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,repositories:s}})}handleOrganizationEvent(e){a.update(t=>{if(!t.loaded.organizations)return t;const s=[...t.organizations],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,organizations:s}})}handleEnterpriseEvent(e){a.update(t=>{if(!t.loaded.enterprises)return t;const s=[...t.enterprises],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,enterprises:s}})}handlePoolEvent(e){a.update(t=>{if(!t.loaded.pools)return t;const s=[...t.pools],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,pools:s}})}handleScaleSetEvent(e){a.update(t=>{if(!t.loaded.scalesets)return t;const s=[...t.scalesets],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,scalesets:s}})}handleCredentialsEvent(e){a.update(t=>{if(!t.loaded.credentials)return t;const s=[...t.credentials],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.id===o.id);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.id:o,i=s.findIndex(c=>c.id===n);i!==-1&&s.splice(i,1)}return{...t,credentials:s}})}handleEndpointEvent(e){a.update(t=>{if(!t.loaded.endpoints)return t;const s=[...t.endpoints],o=e.payload;if(e.operation==="create")s.push(o);else if(e.operation==="update"){const n=s.findIndex(i=>i.name===o.name);n!==-1&&(s[n]=o)}else if(e.operation==="delete"){const n=typeof o=="object"?o.name:o,i=s.findIndex(c=>c.name===n);i!==-1&&s.splice(i,1)}return{...t,endpoints:s}})}cleanup(){this.unsubscribers.forEach(e=>e()),this.unsubscribers=[],this.websocketStatusUnsubscriber&&(this.websocketStatusUnsubscriber(),this.websocketStatusUnsubscriber=null)}shouldUseCache(){return l(r).connected}async getRepositories(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching repositories directly from API"),await d.listRepositories();const t=l(a);return t.loaded.repositories?t.repositories:this.loadResource("repositories",!0)}async getOrganizations(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching organizations directly from API"),await d.listOrganizations();const t=l(a);return t.loaded.organizations?t.organizations:this.loadResource("organizations",!0)}async getEnterprises(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching enterprises directly from API"),await d.listEnterprises();const t=l(a);return t.loaded.enterprises?t.enterprises:this.loadResource("enterprises",!0)}async getPools(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching pools directly from API"),await d.listAllPools();const t=l(a);return t.loaded.pools?t.pools:this.loadResource("pools",!0)}async getScaleSets(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching scalesets directly from API"),await d.listScaleSets();const t=l(a);return t.loaded.scalesets?t.scalesets:this.loadResource("scalesets",!0)}async getCredentials(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching credentials directly from API"),await d.listAllCredentials();const t=l(a);return t.loaded.credentials?t.credentials:this.loadResource("credentials",!0)}async getEndpoints(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching endpoints directly from API"),await d.listAllEndpoints();const t=l(a);return t.loaded.endpoints?t.endpoints:this.loadResource("endpoints",!0)}async getControllerInfo(){if(!l(r).connected)return console.log("[EagerCache] WebSocket disconnected - fetching controller info directly from API"),await d.getControllerInfo();const t=l(a);return t.loaded.controllerInfo?t.controllerInfo:this.loadResource("controllerInfo",!0)}handleControllerEvent(e){a.update(t=>{if(!t.loaded.controllerInfo)return t;const s=e.payload;return e.operation==="update"?{...t,controllerInfo:s}:t})}}const h=new u;typeof window<"u"&&h.setupWebSocketSubscriptions();export{h as a,a as e}; diff --git a/webapp/assets/_app/immutable/chunks/wtPi3qcm.js b/webapp/assets/_app/immutable/chunks/BqRMwgRS.js similarity index 95% rename from webapp/assets/_app/immutable/chunks/wtPi3qcm.js rename to webapp/assets/_app/immutable/chunks/BqRMwgRS.js index df977a2e..3962d98d 100644 --- a/webapp/assets/_app/immutable/chunks/wtPi3qcm.js +++ b/webapp/assets/_app/immutable/chunks/BqRMwgRS.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as mr}from"./zNh6Oe5P.js";import{p as yr,E as xr,m as b,o as _r,s as n,l as hr,g as e,a as kr,f as $,j as a,r as t,k as d,t as w,x as We,u as T,z as wr,n as B,v as E,e as O,c as _,D as Er,d as $r}from"./sWNKMed7.js";import{p as Rr,i as G,s as Sr,a as Tr}from"./Ccl3fNd2.js";import{e as Or,i as Pr}from"./BuuPrWMc.js";import{r as c,s as qe,b as Qe,c as Jr}from"./C1jihKTd.js";import{b as v,a as Mr}from"./CLagxtgo.js";import{p as Nr}from"./D4Caz1gY.js";import{M as Ur}from"./BbG_gKT3.js";import{J as Ar}from"./Dnums3pI.js";import{e as Ir}from"./BZiHL9L3.js";import{e as jr}from"./Cp3IZoXB.js";var Cr=$('

'),Dr=$('

'),Br=$(' '),Gr=$('
'),zr=$('
Updating...
'),Lr=$('

Pool Information (Read-only)

Provider:
Entity:

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Tags
Extra Specs (JSON)
');function tt(Ve,fe){yr(fe,!1);const[Xe,Ye]=Sr(),z=()=>Tr(jr,"$eagerCache",Xe);let o=Rr(fe,"pool",8);const L=xr();let P=b(!1),J=b(""),p=b(""),M=b(o().image||""),N=b(o().flavor||""),m=b(o().max_runners),y=b(o().min_idle_runners),U=b(o().runner_bootstrap_timeout),A=b(o().priority),I=b(o().runner_prefix||""),R=b(o().os_type||"linux"),S=b(o().os_arch||"amd64"),j=b(o()["github-runner-group"]||""),C=b(o().enabled),g=b((o().tags||[]).map(i=>i.name||"").filter(Boolean)),h=b(""),f=b("{}");function Ze(i){if(i.repo_id){const s=z().repositories.find(l=>l.id===i.repo_id);return s?`${s.owner}/${s.name}`:"Unknown Entity"}if(i.org_id){const s=z().organizations.find(l=>l.id===i.org_id);return s&&s.name?s.name:"Unknown Entity"}if(i.enterprise_id){const s=z().enterprises.find(l=>l.id===i.enterprise_id);return s&&s.name?s.name:"Unknown Entity"}return"Unknown Entity"}function er(i){return i.repo_id?"Repository":i.org_id?"Organization":i.enterprise_id?"Enterprise":"Unknown"}_r(()=>{if(o().extra_specs)try{if(typeof o().extra_specs=="object")n(f,JSON.stringify(o().extra_specs,null,2));else{const i=JSON.parse(o().extra_specs);n(f,JSON.stringify(i,null,2))}}catch{n(f,o().extra_specs||"{}")}});function me(){e(h).trim()&&!e(g).includes(e(h).trim())&&(n(g,[...e(g),e(h).trim()]),n(h,""))}function rr(i){n(g,e(g).filter((s,l)=>l!==i))}function tr(i){i.key==="Enter"&&(i.preventDefault(),me())}async function ar(){try{if(n(P,!0),n(J,""),e(p))throw new Error(e(p));let i={};if(e(f).trim())try{i=JSON.parse(e(f))}catch{throw new Error("Invalid JSON in extra specs")}const s={image:e(M)!==o().image?e(M):void 0,flavor:e(N)!==o().flavor?e(N):void 0,max_runners:e(m)!==o().max_runners?e(m):void 0,min_idle_runners:e(y)!==o().min_idle_runners?e(y):void 0,runner_bootstrap_timeout:e(U)!==o().runner_bootstrap_timeout?e(U):void 0,priority:e(A)!==o().priority?e(A):void 0,runner_prefix:e(I)!==o().runner_prefix?e(I):void 0,os_type:e(R)!==o().os_type?e(R):void 0,os_arch:e(S)!==o().os_arch?e(S):void 0,"github-runner-group":e(j)!==o()["github-runner-group"]&&e(j)||void 0,enabled:e(C)!==o().enabled?e(C):void 0,tags:JSON.stringify(e(g))!==JSON.stringify((o().tags||[]).map(l=>l.name||"").filter(Boolean))?e(g):void 0,extra_specs:e(f).trim()!==JSON.stringify(o().extra_specs||{},null,2).trim()?i:void 0};Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l]}),L("submit",s)}catch(i){n(J,Ir(i))}finally{n(P,!1)}}hr(()=>(e(y),e(m)),()=>{e(y)!==null&&e(m)!==null&&e(y)>e(m)?n(p,"Min idle runners cannot be greater than max runners"):n(p,"")}),kr(),mr(),Ur(Ve,{$$events:{close:()=>L("close")},children:(i,s)=>{var l=Lr(),F=a(l),ye=a(F),dr=a(ye);t(ye),t(F);var H=d(F,2),xe=a(H);{var or=r=>{var u=Cr(),x=a(u),k=a(x,!0);t(x),t(u),w(()=>E(k,e(J))),_(r,u)};G(xe,r=>{e(J)&&r(or)})}var _e=d(xe,2);{var ir=r=>{var u=Dr(),x=a(u),k=a(x,!0);t(x),t(u),w(()=>E(k,e(p))),_(r,u)};G(_e,r=>{e(p)&&r(ir)})}var K=d(_e,2),he=d(a(K),2),W=a(he),ke=d(a(W),2),nr=a(ke,!0);t(ke),t(W);var we=d(W,2),Ee=d(a(we),2),sr=a(Ee);t(Ee),t(we),t(he),t(K);var q=d(K,2),$e=d(a(q),2),Q=a($e),Re=d(a(Q),2);c(Re),t(Q);var V=d(Q,2),Se=d(a(V),2);c(Se),t(V);var X=d(V,2),Y=d(a(X),2);w(()=>{e(R),We(()=>{})});var Z=a(Y);Z.value=Z.__value="linux";var Te=d(Z);Te.value=Te.__value="windows",t(Y),t(X);var Oe=d(X,2),ee=d(a(Oe),2);w(()=>{e(S),We(()=>{})});var re=a(ee);re.value=re.__value="amd64";var Pe=d(re);Pe.value=Pe.__value="arm64",t(ee),t(Oe),t($e),t(q);var te=d(q,2),Je=d(a(te),2),ae=a(Je),de=d(a(ae),2);c(de),t(ae);var oe=d(ae,2),ie=d(a(oe),2);c(ie),t(oe);var Me=d(oe,2),Ne=d(a(Me),2);c(Ne),t(Me),t(Je),t(te);var ne=d(te,2),se=d(a(ne),2),le=a(se),Ue=d(a(le),2);c(Ue),t(le);var ue=d(le,2),Ae=d(a(ue),2);c(Ae),t(ue);var Ie=d(ue,2),je=d(a(Ie),2);c(je),t(Ie),t(se);var be=d(se,2),Ce=a(be),De=d(a(Ce),2),ge=a(De),D=a(ge);c(D);var lr=d(D,2);t(ge);var ur=d(ge,2);{var br=r=>{var u=Gr();Or(u,5,()=>e(g),Pr,(x,k,fr)=>{var ve=Br(),He=a(ve),Ke=d(He);t(ve),w(()=>{E(He,`${e(k)??""} `),Jr(Ke,"aria-label",`Remove tag ${e(k)??""}`)}),O("click",Ke,()=>rr(fr)),_(x,ve)}),t(u),_(r,u)};G(ur,r=>{e(g),T(()=>e(g).length>0)&&r(br)})}t(De),t(Ce),t(be);var ce=d(be,2),Be=a(ce),gr=d(a(Be),2);Ar(gr,{rows:4,placeholder:"{}",get value(){return e(f)},set value(r){n(f,r)},$$legacy:!0}),t(Be),t(ce);var Ge=d(ce,2),ze=a(Ge);c(ze),wr(2),t(Ge),t(ne);var Le=d(ne,2),Fe=a(Le),pe=d(Fe,2),cr=a(pe);{var pr=r=>{var u=zr();_(r,u)},vr=r=>{var u=Er("Update Pool");_(r,u)};G(cr,r=>{e(P)?r(pr):r(vr,!1)})}t(pe),t(Le),t(H),t(l),w((r,u)=>{E(dr,`Update Pool ${B(o()),T(()=>o().id)??""}`),E(nr,(B(o()),T(()=>o().provider_name))),E(sr,`${r??""}: ${u??""}`),qe(de,1,`w-full px-3 py-2 border ${e(p)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),qe(ie,1,`w-full px-3 py-2 border ${e(p)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),pe.disabled=e(P)||e(p)!==""},[()=>(B(o()),T(()=>er(o()))),()=>(B(o()),T(()=>Ze(o())))]),v(Re,()=>e(M),r=>n(M,r)),v(Se,()=>e(N),r=>n(N,r)),Qe(Y,()=>e(R),r=>n(R,r)),Qe(ee,()=>e(S),r=>n(S,r)),v(de,()=>e(y),r=>n(y,r)),v(ie,()=>e(m),r=>n(m,r)),v(Ne,()=>e(U),r=>n(U,r)),v(Ue,()=>e(I),r=>n(I,r)),v(Ae,()=>e(A),r=>n(A,r)),v(je,()=>e(j),r=>n(j,r)),v(D,()=>e(h),r=>n(h,r)),O("keydown",D,tr),O("click",lr,me),Mr(ze,()=>e(C),r=>n(C,r)),O("click",Fe,()=>L("close")),O("submit",H,Nr(ar)),_(i,l)},$$slots:{default:!0}}),$r(),Ye()}export{tt as U}; +import"./DsnmJJEf.js";import{i as mr}from"./DT0EGONV.js";import{p as yr,E as xr,m as b,o as _r,s as n,l as hr,g as e,a as kr,f as $,j as a,r as t,k as d,t as w,y as We,u as T,z as wr,n as B,v as E,e as O,c as _,D as Er,d as $r}from"./CRKWEg6v.js";import{p as Rr,i as G,s as Sr,a as Tr}from"./e1m7WRO5.js";import{e as Or,i as Pr}from"./C73ZVvpW.js";import{r as c,s as qe,b as Qe,c as Jr}from"./PY0OOjWY.js";import{b as v,a as Mr}from"./B3a35v7J.js";import{p as Nr}from"./D4Caz1gY.js";import{M as Ur}from"./XtdMJsQa.js";import{J as Ar}from"./D2iLJzzb.js";import{e as Ir}from"./BZiHL9L3.js";import{e as jr}from"./BoOhv-0Q.js";var Cr=$('

'),Dr=$('

'),Br=$(' '),Gr=$('
'),zr=$('
Updating...
'),Lr=$('

Pool Information (Read-only)

Provider:
Entity:

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Tags
Extra Specs (JSON)
');function tt(Ve,fe){yr(fe,!1);const[Xe,Ye]=Sr(),z=()=>Tr(jr,"$eagerCache",Xe);let o=Rr(fe,"pool",8);const L=xr();let P=b(!1),J=b(""),p=b(""),M=b(o().image||""),N=b(o().flavor||""),m=b(o().max_runners),y=b(o().min_idle_runners),U=b(o().runner_bootstrap_timeout),A=b(o().priority),I=b(o().runner_prefix||""),R=b(o().os_type||"linux"),S=b(o().os_arch||"amd64"),j=b(o()["github-runner-group"]||""),C=b(o().enabled),g=b((o().tags||[]).map(i=>i.name||"").filter(Boolean)),h=b(""),f=b("{}");function Ze(i){if(i.repo_id){const s=z().repositories.find(l=>l.id===i.repo_id);return s?`${s.owner}/${s.name}`:"Unknown Entity"}if(i.org_id){const s=z().organizations.find(l=>l.id===i.org_id);return s&&s.name?s.name:"Unknown Entity"}if(i.enterprise_id){const s=z().enterprises.find(l=>l.id===i.enterprise_id);return s&&s.name?s.name:"Unknown Entity"}return"Unknown Entity"}function er(i){return i.repo_id?"Repository":i.org_id?"Organization":i.enterprise_id?"Enterprise":"Unknown"}_r(()=>{if(o().extra_specs)try{if(typeof o().extra_specs=="object")n(f,JSON.stringify(o().extra_specs,null,2));else{const i=JSON.parse(o().extra_specs);n(f,JSON.stringify(i,null,2))}}catch{n(f,o().extra_specs||"{}")}});function me(){e(h).trim()&&!e(g).includes(e(h).trim())&&(n(g,[...e(g),e(h).trim()]),n(h,""))}function rr(i){n(g,e(g).filter((s,l)=>l!==i))}function tr(i){i.key==="Enter"&&(i.preventDefault(),me())}async function ar(){try{if(n(P,!0),n(J,""),e(p))throw new Error(e(p));let i={};if(e(f).trim())try{i=JSON.parse(e(f))}catch{throw new Error("Invalid JSON in extra specs")}const s={image:e(M)!==o().image?e(M):void 0,flavor:e(N)!==o().flavor?e(N):void 0,max_runners:e(m)!==o().max_runners?e(m):void 0,min_idle_runners:e(y)!==o().min_idle_runners?e(y):void 0,runner_bootstrap_timeout:e(U)!==o().runner_bootstrap_timeout?e(U):void 0,priority:e(A)!==o().priority?e(A):void 0,runner_prefix:e(I)!==o().runner_prefix?e(I):void 0,os_type:e(R)!==o().os_type?e(R):void 0,os_arch:e(S)!==o().os_arch?e(S):void 0,"github-runner-group":e(j)!==o()["github-runner-group"]&&e(j)||void 0,enabled:e(C)!==o().enabled?e(C):void 0,tags:JSON.stringify(e(g))!==JSON.stringify((o().tags||[]).map(l=>l.name||"").filter(Boolean))?e(g):void 0,extra_specs:e(f).trim()!==JSON.stringify(o().extra_specs||{},null,2).trim()?i:void 0};Object.keys(s).forEach(l=>{s[l]===void 0&&delete s[l]}),L("submit",s)}catch(i){n(J,Ir(i))}finally{n(P,!1)}}hr(()=>(e(y),e(m)),()=>{e(y)!==null&&e(m)!==null&&e(y)>e(m)?n(p,"Min idle runners cannot be greater than max runners"):n(p,"")}),kr(),mr(),Ur(Ve,{$$events:{close:()=>L("close")},children:(i,s)=>{var l=Lr(),F=a(l),ye=a(F),dr=a(ye);t(ye),t(F);var H=d(F,2),xe=a(H);{var or=r=>{var u=Cr(),x=a(u),k=a(x,!0);t(x),t(u),w(()=>E(k,e(J))),_(r,u)};G(xe,r=>{e(J)&&r(or)})}var _e=d(xe,2);{var ir=r=>{var u=Dr(),x=a(u),k=a(x,!0);t(x),t(u),w(()=>E(k,e(p))),_(r,u)};G(_e,r=>{e(p)&&r(ir)})}var K=d(_e,2),he=d(a(K),2),W=a(he),ke=d(a(W),2),nr=a(ke,!0);t(ke),t(W);var we=d(W,2),Ee=d(a(we),2),sr=a(Ee);t(Ee),t(we),t(he),t(K);var q=d(K,2),$e=d(a(q),2),Q=a($e),Re=d(a(Q),2);c(Re),t(Q);var V=d(Q,2),Se=d(a(V),2);c(Se),t(V);var X=d(V,2),Y=d(a(X),2);w(()=>{e(R),We(()=>{})});var Z=a(Y);Z.value=Z.__value="linux";var Te=d(Z);Te.value=Te.__value="windows",t(Y),t(X);var Oe=d(X,2),ee=d(a(Oe),2);w(()=>{e(S),We(()=>{})});var re=a(ee);re.value=re.__value="amd64";var Pe=d(re);Pe.value=Pe.__value="arm64",t(ee),t(Oe),t($e),t(q);var te=d(q,2),Je=d(a(te),2),ae=a(Je),de=d(a(ae),2);c(de),t(ae);var oe=d(ae,2),ie=d(a(oe),2);c(ie),t(oe);var Me=d(oe,2),Ne=d(a(Me),2);c(Ne),t(Me),t(Je),t(te);var ne=d(te,2),se=d(a(ne),2),le=a(se),Ue=d(a(le),2);c(Ue),t(le);var ue=d(le,2),Ae=d(a(ue),2);c(Ae),t(ue);var Ie=d(ue,2),je=d(a(Ie),2);c(je),t(Ie),t(se);var be=d(se,2),Ce=a(be),De=d(a(Ce),2),ge=a(De),D=a(ge);c(D);var lr=d(D,2);t(ge);var ur=d(ge,2);{var br=r=>{var u=Gr();Or(u,5,()=>e(g),Pr,(x,k,fr)=>{var ve=Br(),He=a(ve),Ke=d(He);t(ve),w(()=>{E(He,`${e(k)??""} `),Jr(Ke,"aria-label",`Remove tag ${e(k)??""}`)}),O("click",Ke,()=>rr(fr)),_(x,ve)}),t(u),_(r,u)};G(ur,r=>{e(g),T(()=>e(g).length>0)&&r(br)})}t(De),t(Ce),t(be);var ce=d(be,2),Be=a(ce),gr=d(a(Be),2);Ar(gr,{rows:4,placeholder:"{}",get value(){return e(f)},set value(r){n(f,r)},$$legacy:!0}),t(Be),t(ce);var Ge=d(ce,2),ze=a(Ge);c(ze),wr(2),t(Ge),t(ne);var Le=d(ne,2),Fe=a(Le),pe=d(Fe,2),cr=a(pe);{var pr=r=>{var u=zr();_(r,u)},vr=r=>{var u=Er("Update Pool");_(r,u)};G(cr,r=>{e(P)?r(pr):r(vr,!1)})}t(pe),t(Le),t(H),t(l),w((r,u)=>{E(dr,`Update Pool ${B(o()),T(()=>o().id)??""}`),E(nr,(B(o()),T(()=>o().provider_name))),E(sr,`${r??""}: ${u??""}`),qe(de,1,`w-full px-3 py-2 border ${e(p)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),qe(ie,1,`w-full px-3 py-2 border ${e(p)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),pe.disabled=e(P)||e(p)!==""},[()=>(B(o()),T(()=>er(o()))),()=>(B(o()),T(()=>Ze(o())))]),v(Re,()=>e(M),r=>n(M,r)),v(Se,()=>e(N),r=>n(N,r)),Qe(Y,()=>e(R),r=>n(R,r)),Qe(ee,()=>e(S),r=>n(S,r)),v(de,()=>e(y),r=>n(y,r)),v(ie,()=>e(m),r=>n(m,r)),v(Ne,()=>e(U),r=>n(U,r)),v(Ue,()=>e(I),r=>n(I,r)),v(Ae,()=>e(A),r=>n(A,r)),v(je,()=>e(j),r=>n(j,r)),v(D,()=>e(h),r=>n(h,r)),O("keydown",D,tr),O("click",lr,me),Mr(ze,()=>e(C),r=>n(C,r)),O("click",Fe,()=>L("close")),O("submit",H,Nr(ar)),_(i,l)},$$slots:{default:!0}}),$r(),Ye()}export{tt as U}; diff --git a/webapp/assets/_app/immutable/chunks/C-HmqlJ7.js b/webapp/assets/_app/immutable/chunks/C-HmqlJ7.js new file mode 100644 index 00000000..c193e718 --- /dev/null +++ b/webapp/assets/_app/immutable/chunks/C-HmqlJ7.js @@ -0,0 +1,3 @@ +import{I as Ae,o as De,aR as L,g as P,s as N,bf as mt,aS as $e}from"./CRKWEg6v.js";import{p as _t,e as yt,a as wt,b as I}from"./BBO7sjS5.js";class le{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ee{constructor(t,n){this.status=t,this.location=n}}class Se extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function vt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function bt(e){return e.split("%25").map(decodeURI).join("%25")}function kt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function me({href:e}){return e.split("#")[0]}function At(e,t,n,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,o){if(o==="get"||o==="getAll"||o==="has")return f=>(n(f),i[o](f));t();const l=Reflect.get(i,o);return typeof l=="function"?l.bind(i):l}}),enumerable:!0,configurable:!0});const s=["href","pathname","search","toString","toJSON"];r&&s.push("hash");for(const i of s)Object.defineProperty(a,i,{get(){return t(),e[i]},enumerable:!0,configurable:!0});return a}function Et(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}function St(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&G.delete(Re(e)),Rt(e,t));const G=new Map;function Tt(e,t){const n=Re(e,t),r=document.querySelector(n);if(r?.textContent){let{body:a,...s}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&G.set(n,{body:a,init:s,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=St(a)),Promise.resolve(new Response(a,s))}return window.fetch(e,t)}function Ut(e,t,n){if(G.size>0){const r=Re(e,n),a=G.get(r);if(a){if(performance.now(){const{pattern:g,params:u}=_t(o),c={id:o,exec:h=>{const _=g.exec(h);if(_)return yt(_,u,r)},errors:[1,...d||[]].map(h=>e[h]),layouts:[0,...f||[]].map(i),leaf:s(l)};return c.errors.length=c.layouts.length=Math.max(c.errors.length,c.layouts.length),c});function s(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function i(o){return o===void 0?o:[a.has(o),e[o]]}}function Je(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Be(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const Lt="1757066180452",We="sveltekit:snapshot",ze="sveltekit:scroll",Xe="sveltekit:states",Pt="sveltekit:pageurl",V="sveltekit:history",J="sveltekit:navigation",j={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Z=location.origin;function Te(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function fe(){return{x:pageXOffset,y:pageYOffset}}function B(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const Ve={...j,"":j.hover};function Ze(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Qe(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Ze(e)}}function we(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,s=!r||!!a||ue(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),i=r?.origin===Z&&e.hasAttribute("download");return{url:r,external:s,target:a,download:i}}function te(e){let t=null,n=null,r=null,a=null,s=null,i=null,o=e;for(;o&&o!==document.documentElement;)r===null&&(r=B(o,"preload-code")),a===null&&(a=B(o,"preload-data")),t===null&&(t=B(o,"keepfocus")),n===null&&(n=B(o,"noscroll")),s===null&&(s=B(o,"reload")),i===null&&(i=B(o,"replacestate")),o=Ze(o);function l(f){switch(f){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Ve[r??"off"],preload_data:Ve[a??"off"],keepfocus:l(t),noscroll:l(n),reload:l(s),replace_state:l(i)}}function Me(e){const t=Ae(e);let n=!0;function r(){n=!0,t.update(i=>i)}function a(i){n=!1,t.set(i)}function s(i){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&i(o=l)})}return{notify:r,set:a,subscribe:s}}const et={v:()=>{}};function Nt(){const{set:e,subscribe:t}=Ae(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${wt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Lt;return i&&(e(!0),et.v(),clearTimeout(n)),i}catch{return!1}}return{subscribe:t,check:r}}function ue(e,t,n){return e.origin!==Z||!e.pathname.startsWith(t)?!0:n?!(e.pathname===t+"/"||e.pathname===t+"/index.html"||e.protocol==="file:"&&e.pathname.replace(/\/[^/]+\.html?$/,"")===t):!1}function yn(e){}function Ot(e){const t=xt(e),n=new ArrayBuffer(t.length),r=new DataView(n);for(let a=0;a>16),t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255),n=r=0);return r===12?(n>>=4,t+=String.fromCharCode(n)):r===18&&(n>>=2,t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255)),t}const jt=-1,Dt=-2,$t=-3,Bt=-4,Vt=-5,Mt=-6;function Ft(e,t){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);function a(s,i=!1){if(s===jt)return;if(s===$t)return NaN;if(s===Bt)return 1/0;if(s===Vt)return-1/0;if(s===Mt)return-0;if(i||typeof s!="number")throw new Error("Invalid input");if(s in r)return r[s];const o=n[s];if(!o||typeof o!="object")r[s]=o;else if(Array.isArray(o))if(typeof o[0]=="string"){const l=o[0],f=t?.[l];if(f)return r[s]=f(a(o[1]));switch(l){case"Date":r[s]=new Date(o[1]);break;case"Set":const d=new Set;r[s]=d;for(let c=1;ct!=null)}const Ht="x-sveltekit-invalidated",Kt="x-sveltekit-trailing-slash";function ne(e){return e instanceof le||e instanceof Se?e.status:500}function Yt(e){return e instanceof Se?e.text:"Internal Error"}let E,W,_e;const Jt=De.toString().includes("$$")||/function \w+\(\) \{\}/.test(De.toString());Jt?(E={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},W={current:null},_e={current:!1}):(E=new class{#e=L({});get data(){return P(this.#e)}set data(t){N(this.#e,t)}#t=L(null);get form(){return P(this.#t)}set form(t){N(this.#t,t)}#n=L(null);get error(){return P(this.#n)}set error(t){N(this.#n,t)}#r=L({});get params(){return P(this.#r)}set params(t){N(this.#r,t)}#a=L({id:null});get route(){return P(this.#a)}set route(t){N(this.#a,t)}#o=L({});get state(){return P(this.#o)}set state(t){N(this.#o,t)}#s=L(-1);get status(){return P(this.#s)}set status(t){N(this.#s,t)}#i=L(new URL("https://example.com"));get url(){return P(this.#i)}set url(t){N(this.#i,t)}},W=new class{#e=L(null);get current(){return P(this.#e)}set current(t){N(this.#e,t)}},_e=new class{#e=L(!1);get current(){return P(this.#e)}set current(t){N(this.#e,t)}},et.v=()=>_e.current=!0);function Wt(e){Object.assign(E,e)}const zt="/__data.json",Xt=".html__data.json";function Zt(e){return e.endsWith(".html")?e.replace(/\.html$/,Xt):e.replace(/\/$/,"")+zt}const{tick:Qt}=mt,en=new Set(["icon","shortcut icon","apple-touch-icon"]),$=Je(ze)??{},z=Je(We)??{},x={url:Me({}),page:Me({}),navigating:Ae(null),updated:Nt()};function Ue(e){$[e]=fe()}function tn(e,t){let n=e+1;for(;$[n];)delete $[n],n+=1;for(n=t+1;z[n];)delete z[n],n+=1}function F(e){return location.href=e.href,new Promise(()=>{})}async function nt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(I||"/");e&&await e.update()}}function Fe(){}let Ie,ve,re,O,be,v;globalThis.__sveltekit_rdj1nf.data;const ae=[],oe=[];let C=null;const ee=new Map,rt=new Set,nn=new Set,H=new Set;let w={branch:[],error:null,url:null},Le=!1,se=!1,qe=!0,X=!1,q=!1,at=!1,Pe=!1,ot,k,T,D;const K=new Set,Ge=new Map;async function kn(e,t,n){document.URL!==location.href&&(location.href=location.href),v=e,await e.hooks.init?.(),Ie=It(e),O=document.documentElement,be=t,ve=e.nodes[0],re=e.nodes[1],ve(),re(),k=history.state?.[V],T=history.state?.[J],k||(k=T=Date.now(),history.replaceState({...history.state,[V]:k,[J]:T},""));const r=$[k];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await hn(be,n)):(await Y({type:"enter",url:Te(v.hash?gn(new URL(location.href)):location.href),replace_state:!0}),a()),dn()}function rn(){ae.length=0,Pe=!1}function st(e){oe.some(t=>t?.snapshot)&&(z[e]=oe.map(t=>t?.snapshot?.capture()))}function it(e){z[e]?.forEach((t,n)=>{oe[n]?.snapshot?.restore(t)})}function He(){Ue(k),Be(ze,$),st(T),Be(We,z)}async function Ne(e,t,n,r){let a;const s=await Y({type:"goto",url:Te(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Pe=!0,a=[...Ge.keys()]),t.invalidate&&t.invalidate.forEach(un)}});return t.invalidateAll&&$e().then($e).then(()=>{Ge.forEach(({resource:i},o)=>{a?.includes(o)&&i.refresh?.()})}),s}async function an(e){if(e.id!==C?.id){const t={};K.add(t),C={id:e.id,token:t,promise:ft({...e,preload:t}).then(n=>(K.delete(t),n.type==="loaded"&&n.state.error&&(C=null),n))}}return C.promise}async function ye(e){const t=(await he(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}function ct(e,t,n){w=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(E,e.props.page),ot=new v.root({target:t,props:{...e.props,stores:x,components:oe},hydrate:n,sync:!1}),it(T),n){const a={from:null,to:{params:w.params,route:{id:w.route?.id??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};H.forEach(s=>s(a))}se=!0}function ie({url:e,params:t,branch:n,status:r,error:a,route:s,form:i}){let o="never";if(I&&(e.pathname===I||e.pathname===I+"/"))o="always";else for(const c of n)c?.slash!==void 0&&(o=c.slash);e.pathname=vt(e.pathname,o),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:s},props:{constructors:Gt(n).map(c=>c.node.component),page:je(E)}};i!==void 0&&(l.props.form=i);let f={},d=!E,g=0;for(let c=0;c(o&&(l.route=!0),u[c])}),params:new Proxy(r,{get:(u,c)=>(o&&l.params.add(c),u[c])}),data:s?.data??null,url:At(n,()=>{o&&(l.url=!0)},u=>{o&&l.search_params.add(u)},v.hash),async fetch(u,c){u instanceof Request&&(c={body:u.method==="GET"||u.method==="HEAD"?void 0:await u.blob(),cache:u.cache,credentials:u.credentials,headers:[...u.headers].length>0?u?.headers:void 0,integrity:u.integrity,keepalive:u.keepalive,method:u.method,mode:u.mode,redirect:u.redirect,referrer:u.referrer,referrerPolicy:u.referrerPolicy,signal:u.signal,...c});const{resolved:h,promise:_}=lt(u,c,n);return o&&d(h.href),_},setHeaders:()=>{},depends:d,parent(){return o&&(l.parent=!0),t()},untrack(u){o=!1;try{return u()}finally{o=!0}}};i=await f.universal.load.call(null,g)??null}return{node:f,loader:e,server:s,universal:f.universal?.load?{type:"data",data:i,uses:l}:null,data:i??s?.data??null,slash:f.universal?.trailingSlash??s?.slash}}function lt(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const s=se?Ut(r,a.href,t):Tt(r,t);return{resolved:a,promise:s}}function Ke(e,t,n,r,a,s){if(Pe)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(s[i]!==w.params[i])return!0;for(const i of a.dependencies)if(ae.some(o=>o(new URL(i))))return!0;return!1}function Ce(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function on(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),s=t.searchParams.getAll(r);a.every(i=>s.includes(i))&&s.every(i=>a.includes(i))&&n.delete(r)}return n}function Ye({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:je(E),constructors:[]}}}async function ft({id:e,invalidating:t,url:n,params:r,route:a,preload:s}){if(C?.id===e)return K.delete(C.token),C.promise;const{errors:i,layouts:o,leaf:l}=a,f=[...o,l];i.forEach(p=>p?.().catch(()=>{})),f.forEach(p=>p?.[1]().catch(()=>{}));let d=null;const g=w.url?e!==ce(w.url):!1,u=w.route?a.id!==w.route.id:!1,c=on(w.url,n);let h=!1;const _=f.map((p,y)=>{const b=w.branch[y],A=!!p?.[0]&&(b?.loader!==p[1]||Ke(h,u,g,c,b.server?.uses,r));return A&&(h=!0),A});if(_.some(Boolean)){try{d=await ht(n,_)}catch(p){const y=await M(p,{url:n,params:r,route:{id:e}});return K.has(s)?Ye({error:y,url:n,params:r,route:a}):de({status:ne(p),error:y,url:n,route:a})}if(d.type==="redirect")return d}const m=d?.nodes;let R=!1;const S=f.map(async(p,y)=>{if(!p)return;const b=w.branch[y],A=m?.[y];if((!A||A.type==="skip")&&p[1]===b?.loader&&!Ke(R,u,g,c,b.universal?.uses,r))return b;if(R=!0,A?.type==="error")throw A;return Oe({loader:p[1],url:n,params:r,route:a,parent:async()=>{const pe={};for(let ge=0;ge{});const U=[];for(let p=0;pPromise.resolve({}),server_data_node:Ce(s)}),l={node:await re(),loader:re,universal:null,server:null,data:null};return ie({url:n,params:a,branch:[o,l],status:e,error:t,route:null})}catch(o){if(o instanceof Ee)return Ne(new URL(o.location,location.href),{},0);throw o}}async function cn(e){const t=e.href;if(ee.has(t))return ee.get(t);let n;try{const r=(async()=>{let a=await v.hooks.reroute({url:new URL(e),fetch:async(s,i)=>lt(s,i,e).promise})??e;if(typeof a=="string"){const s=new URL(e);v.hash?s.hash=a:s.pathname=a,a=s}return a})();ee.set(t,r),n=await r}catch{ee.delete(t);return}return n}async function he(e,t){if(e&&!ue(e,I,v.hash)){const n=await cn(e);if(!n)return;const r=ln(n);for(const a of Ie){const s=a.exec(r);if(s)return{id:ce(e),invalidating:t,route:a,params:kt(s),url:e}}}}function ln(e){return bt(v.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(I.length))||"/"}function ce(e){return(v.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ut({url:e,type:t,intent:n,delta:r}){let a=!1;const s=xe(w,n,e,t);r!==void 0&&(s.navigation.delta=r);const i={...s.navigation,cancel:()=>{a=!0,s.reject(new Error("navigation cancelled"))}};return X||rt.forEach(o=>o(i)),a?null:s}async function Y({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:i={},redirect_count:o=0,nav_token:l={},accept:f=Fe,block:d=Fe}){const g=D;D=l;const u=await he(t,!1),c=e==="enter"?xe(w,u,t,e):ut({url:t,type:e,delta:n?.delta,intent:u});if(!c){d(),D===l&&(D=g);return}const h=k,_=T;f(),X=!0,se&&c.navigation.type!=="enter"&&x.navigating.set(W.current=c.navigation);let m=u&&await ft(u);if(!m){if(ue(t,I,v.hash))return await F(t);m=await dt(t,{id:null},await M(new Se(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404)}if(t=u?.url||t,D!==l)return c.reject(new Error("navigation aborted")),!1;if(m.type==="redirect")if(o>=20)m=await de({status:500,error:await M(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}});else return await Ne(new URL(m.location,t).href,{},o+1,l),!1;else m.props.page.status>=400&&await x.updated.check()&&(await nt(),await F(t));if(rn(),Ue(h),st(_),m.props.page.url.pathname!==t.pathname&&(t.pathname=m.props.page.url.pathname),i=n?n.state:i,!n){const p=s?0:1,y={[V]:k+=p,[J]:T+=p,[Xe]:i};(s?history.replaceState:history.pushState).call(history,y,"",t),s||tn(k,T)}if(C=null,m.props.page.state=i,se){const p=(await Promise.all(Array.from(nn,y=>y(c.navigation)))).filter(y=>typeof y=="function");if(p.length>0){let y=function(){p.forEach(b=>{H.delete(b)})};p.push(y),p.forEach(b=>{H.add(b)})}w=m.state,m.props.page&&(m.props.page.url=t),ot.$set(m.props),Wt(m.props.page),at=!0}else ct(m,be,!1);const{activeElement:R}=document;await Qt();const S=n?n.scroll:a?fe():null;if(qe){const p=t.hash&&document.getElementById(gt(t));S?scrollTo(S.x,S.y):p?p.scrollIntoView():scrollTo(0,0)}const U=document.activeElement!==R&&document.activeElement!==document.body;!r&&!U&&pn(t),qe=!0,m.props.page&&Object.assign(E,m.props.page),X=!1,e==="popstate"&&it(T),c.fulfil(void 0),H.forEach(p=>p(c.navigation)),x.navigating.set(W.current=null)}async function dt(e,t,n,r){return e.origin===Z&&e.pathname===location.pathname&&!Le?await de({status:r,error:n,url:e,route:t}):await F(e)}function fn(){let e,t,n;O.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{s(l,j.hover)},20)});function r(o){o.defaultPrevented||s(o.composedPath()[0],j.tap)}O.addEventListener("mousedown",r),O.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(ye(new URL(l.target.href)),a.unobserve(l.target))},{threshold:0});async function s(o,l){const f=Qe(o,O),d=f===t&&l>=n;if(!f||d)return;const{url:g,external:u,download:c}=we(f,I,v.hash);if(u||c)return;const h=te(f),_=g&&ce(w.url)===ce(g);if(!(h.reload||_))if(l<=h.preload_data){t=f,n=j.tap;const m=await he(g,!1);if(!m)return;an(m)}else l<=h.preload_code&&(t=f,n=l,ye(g))}function i(){a.disconnect();for(const o of O.querySelectorAll("a")){const{url:l,external:f,download:d}=we(o,I,v.hash);if(f||d)continue;const g=te(o);g.reload||(g.preload_code===j.viewport&&a.observe(o),g.preload_code===j.eager&&ye(l))}}H.add(i),i()}function M(e,t){if(e instanceof le)return e.body;const n=ne(e),r=Yt(e);return v.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function An(e,t={}){return e=new URL(Te(e)),e.origin!==Z?Promise.reject(new Error("goto: invalid URL")):Ne(e,t,0)}function un(e){if(typeof e=="function")ae.push(e);else{const{href:t}=new URL(e,location.href);ae.push(n=>n.href===t)}}function dn(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(He(),!X){const r=xe(w,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};rt.forEach(s=>s(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&He()}),navigator.connection?.saveData||fn(),O.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Qe(t.composedPath()[0],O);if(!n)return;const{url:r,external:a,target:s,download:i}=we(n,I,v.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const o=te(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||i)return;const[f,d]=(v.hash?r.hash.replace(/^#/,""):r.href).split("#"),g=f===me(location);if(a||o.reload&&(!g||!d)){ut({url:r,type:"link"})?X=!0:t.preventDefault();return}if(d!==void 0&&g){const[,u]=w.url.href.split("#");if(u===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const c=n.ownerDocument.getElementById(decodeURIComponent(d));c&&(c.scrollIntoView(),c.focus())}return}if(q=!0,Ue(k),e(r),!o.replace_state)return;q=!1}t.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),await Y({type:"link",url:r,keepfocus:o.keepfocus,noscroll:o.noscroll,replace_state:o.replace_state??r.href===location.href})}),O.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const i=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(ue(i,I,!1))return;const o=t.target,l=te(o);if(l.reload)return;t.preventDefault(),t.stopPropagation();const f=new FormData(o),d=r?.getAttribute("name");d&&f.append(d,r?.getAttribute("value")??""),i.search=new URLSearchParams(f).toString(),Y({type:"form",url:i,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??i.href===location.href})}),addEventListener("popstate",async t=>{if(!ke){if(t.state?.[V]){const n=t.state[V];if(D={},n===k)return;const r=$[n],a=t.state[Xe]??{},s=new URL(t.state[Pt]??location.href),i=t.state[J],o=w.url?me(location)===me(w.url):!1;if(i===T&&(at||o)){a!==E.state&&(E.state=a),e(s),$[k]=fe(),r&&scrollTo(r.x,r.y),k=n;return}const f=n-k;await Y({type:"popstate",url:s,popped:{state:a,scroll:r,delta:f},accept:()=>{k=n,T=i},block:()=>{history.go(-f)},nav_token:D})}else if(!q){const n=new URL(location.href);e(n),v.hash&&location.reload()}}}),addEventListener("hashchange",()=>{q&&(q=!1,history.replaceState({...history.state,[V]:++k,[J]:T},"",location.href))});for(const t of document.querySelectorAll("link"))en.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&x.navigating.set(W.current=null)});function e(t){w.url=E.url=t,x.page.set(je(E)),x.page.notify()}}async function hn(e,{status:t=200,error:n,node_ids:r,params:a,route:s,server_route:i,data:o,form:l}){Le=!0;const f=new URL(location.href);let d;({params:a={},route:s={id:null}}=await he(f,!1)||{}),d=Ie.find(({id:c})=>c===s.id);let g,u=!0;try{const c=r.map(async(_,m)=>{const R=o[m];return R?.uses&&(R.uses=pt(R.uses)),Oe({loader:v.nodes[_],url:f,params:a,route:s,parent:async()=>{const S={};for(let U=0;Us?"1":"0").join(""));const r=window.fetch,a=await r(n.href,{});if(!a.ok){let s;throw a.headers.get("content-type")?.includes("application/json")?s=await a.json():a.status===404?s="Not Found":a.status===500&&(s="Internal Error"),new le(a.status,s)}return new Promise(async s=>{const i=new Map,o=a.body.getReader(),l=new TextDecoder;function f(g){return Ft(g,{...v.decoders,Promise:u=>new Promise((c,h)=>{i.set(u,{fulfil:c,reject:h})})})}let d="";for(;;){const{done:g,value:u}=await o.read();if(g&&!d)break;for(d+=!u&&d?` +`:l.decode(u,{stream:!0});;){const c=d.indexOf(` +`);if(c===-1)break;const h=JSON.parse(d.slice(0,c));if(d=d.slice(c+1),h.type==="redirect")return s(h);if(h.type==="data")h.nodes?.forEach(_=>{_?.type==="data"&&(_.uses=pt(_.uses),_.data=f(_.data))}),s(h);else if(h.type==="chunk"){const{id:_,data:m,error:R}=h,S=i.get(_);i.delete(_),R?S.reject(f(R)):S.fulfil(f(m))}}}})}function pt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let ke=!1;function pn(e){const t=document.querySelector("[autofocus]");if(t)t.focus();else{const n=gt(e);if(n&&document.getElementById(n)){const{x:a,y:s}=fe();setTimeout(()=>{const i=history.state;ke=!0,location.replace(`#${n}`),v.hash&&location.replace(e.hash),history.replaceState(i,"",e.hash),scrollTo(a,s),ke=!1})}else{const a=document.body,s=a.getAttribute("tabindex");a.tabIndex=-1,a.focus({preventScroll:!0,focusVisible:!1}),s!==null?a.setAttribute("tabindex",s):a.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let s=0;s{if(r.rangeCount===a.length){for(let s=0;s{a=l,s=f});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n},willUnload:!t,type:r,complete:i},fulfil:a,reject:s}}function je(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function gn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function gt(e){let t;if(v.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{kn as a,An as g,yn as l,E as p,x as s}; diff --git a/webapp/assets/_app/immutable/chunks/DmcacarF.js b/webapp/assets/_app/immutable/chunks/C0ude0fo.js similarity index 75% rename from webapp/assets/_app/immutable/chunks/DmcacarF.js rename to webapp/assets/_app/immutable/chunks/C0ude0fo.js index 8767a25f..3d8ea5c6 100644 --- a/webapp/assets/_app/immutable/chunks/DmcacarF.js +++ b/webapp/assets/_app/immutable/chunks/C0ude0fo.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as _}from"./zNh6Oe5P.js";import{p as h,f as x,t as k,c as u,d as g,k as w,j as o,u as d,n as e,r,v as y}from"./sWNKMed7.js";import{h as z}from"./C1jihKTd.js";import{p as m}from"./Ccl3fNd2.js";import{g as v}from"./Qi7G5Z5O.js";var E=x('
');function U(l,i){h(i,!1);let t=m(i,"item",8),s=m(i,"iconSize",8,"w-5 h-5");_();var a=E(),n=o(a),f=o(n);z(f,()=>(e(v),e(t()),e(s()),d(()=>v(t()?.endpoint?.endpoint_type||t()?.endpoint_type||"unknown",s())))),r(n);var p=w(n,2),c=o(p,!0);r(p),r(a),k(()=>y(c,(e(t()),d(()=>t()?.endpoint?.name||t()?.endpoint_name||t()?.endpoint_type||"Unknown")))),u(l,a),g()}export{U as E}; +import"./DsnmJJEf.js";import{i as _}from"./DT0EGONV.js";import{p as h,f as x,t as k,c as u,d as g,k as w,j as o,u as d,n as e,r,v as y}from"./CRKWEg6v.js";import{h as z}from"./PY0OOjWY.js";import{p as m}from"./e1m7WRO5.js";import{g as v}from"./BK-OTA7g.js";var E=x('
');function U(l,i){h(i,!1);let t=m(i,"item",8),s=m(i,"iconSize",8,"w-5 h-5");_();var a=E(),n=o(a),f=o(n);z(f,()=>(e(v),e(t()),e(s()),d(()=>v(t()?.endpoint?.endpoint_type||t()?.endpoint_type||"unknown",s())))),r(n);var p=w(n,2),c=o(p,!0);r(p),r(a),k(()=>y(c,(e(t()),d(()=>t()?.endpoint?.name||t()?.endpoint_name||t()?.endpoint_type||"Unknown")))),u(l,a),g()}export{U as E}; diff --git a/webapp/assets/_app/immutable/chunks/BuuPrWMc.js b/webapp/assets/_app/immutable/chunks/C73ZVvpW.js similarity index 99% rename from webapp/assets/_app/immutable/chunks/BuuPrWMc.js rename to webapp/assets/_app/immutable/chunks/C73ZVvpW.js index 72f1fd13..189c25d1 100644 --- a/webapp/assets/_app/immutable/chunks/BuuPrWMc.js +++ b/webapp/assets/_app/immutable/chunks/C73ZVvpW.js @@ -1 +1 @@ -import{O as K,M as te,Y as F,K as M,Z as ae,L as re,g as $,q as oe,_ as ie,a0 as se,a1 as J,a2 as G,T as L,a3 as le,a4 as ce,P as q,R as fe,Q as ue,a5 as V,m as de,a6 as B,a7 as Q,a8 as ve,a9 as D,aa as X,U as he,ab as R,ac as Se,ad as P,ae as Z,af as me,ag as _e,ah as we,ai as Ee,aj as pe,ak as z,H as be,al as ge,I as Ie}from"./sWNKMed7.js";function Te(c,o){return o}function Ne(c,o,n){for(var t=c.items,u=[],S=o.length,s=0;s0&&u.length===0&&n!==null;if(d){var N=n.parentNode;we(N),N.append(n),t.clear(),T(c,o[0].prev,o[S-1].next)}Ee(u,()=>{for(var m=0;m{var _=n();return ve(_)?_:_==null?[]:Q(_)}),r,v;function f(){ke(v,r,d,E,s,u,o,t,n),S!==null&&(r.length===0?i?X(i):i=q(()=>S(s)):i!==null&&he(i,()=>{i=null}))}te(()=>{v??=pe,r=$(x);var _=r.length;if(g&&_===0)return;g=_===0;let p=!1;if(M){var k=ie(s)===se;k!==(_===0)&&(s=J(),F(s),G(!1),p=!0)}if(M){for(var C=null,b,e=0;e<_;e++){if(L.nodeType===le&&L.data===ce){s=L,p=!0,G(!1);break}var a=r[e],l=t(a,e);b=Y(L,d,C,null,a,l,e,u,o,n),d.items.set(l,b),C=b}_>0&&F(J())}if(M)_===0&&S&&(i=q(()=>S(s)));else if(fe()){var w=new Set,O=ue;for(e=0;e<_;e+=1){a=r[e],l=t(a,e);var h=d.items.get(l)??E.get(l);h?(o&(R|D))!==0&&j(h,a,e,o):(b=Y(null,d,null,null,a,l,e,u,o,n,!0),E.set(l,b)),w.add(l)}for(const[I,W]of d.items)w.has(I)||O.skipped_effects.add(W.e);O.add_callback(f)}else f();p&&G(!0),$(x)}),M&&(s=L)}function ke(c,o,n,t,u,S,s,d,N){var m=(s&ge)!==0,i=(s&(R|D))!==0,g=o.length,E=n.items,x=n.first,r=x,v,f=null,_,p=[],k=[],C,b,e,a;if(m)for(a=0;a0){var ee=(s&z)!==0&&g===0?u:null;if(m){for(a=0;a{if(_!==void 0)for(e of _)e.a?.apply()}),c.first=n.first&&n.first.e,c.last=f&&f.e;for(var ne of t.values())Z(ne.e);t.clear()}function j(c,o,n,t){(t&R)!==0&&V(c.v,o),(t&D)!==0?V(c.i,n):c.i=n}function Y(c,o,n,t,u,S,s,d,N,m,i){var g=(N&R)!==0,E=(N&Se)===0,x=g?E?de(u,!1,!1):B(u):u,r=(N&D)===0?s:B(s),v={i:r,v:x,k:S,a:null,e:null,prev:n,next:t};try{if(c===null){var f=document.createDocumentFragment();f.append(c=K())}return v.e=q(()=>d(c,x,r,m),M),v.e.prev=n&&n.e,v.e.next=t&&t.e,n===null?i||(o.first=v):(n.next=v,n.e.next=v.e),t!==null&&(t.prev=v,t.e.prev=v.e),v}finally{}}function U(c,o,n){for(var t=c.next?c.next.e.nodes_start:n,u=o?o.e.nodes_start:n,S=c.e.nodes_start;S!==null&&S!==t;){var s=me(S);u.before(S),S=s}}function T(c,o,n){o===null?c.first=n:(o.next=n,o.e.next=n&&n.e),n!==null&&(n.prev=o,n.e.prev=o&&o.e)}function Ce(){const{subscribe:c,set:o,update:n}=Ie({connected:!1,connecting:!1,error:null,lastEvent:null});let t=null,u=0,S=50,s=1e3,d=1e3,N=3e4,m=null,i=[],g=!1;const E=new Map;function x(){const e=window.location.protocol==="https:"?"wss:":"ws:",a=window.location.host;return`${e}//${a}/api/v1/ws/events`}function r(){if(!(t&&(t.readyState===WebSocket.CONNECTING||t.readyState===WebSocket.OPEN))){g=!1,n(e=>({...e,connecting:!0,error:null}));try{const e=x();t=new WebSocket(e);const a=setTimeout(()=>{t&&t.readyState===WebSocket.CONNECTING&&t.close()},1e4);t.onopen=()=>{clearTimeout(a),u=0,d=s,n(l=>({...l,connected:!0,connecting:!1,error:null})),i.length>0&&p(i)},t.onmessage=l=>{try{const w=JSON.parse(l.data);n(h=>({...h,lastEvent:w})),(E.get(w["entity-type"])||[]).forEach(h=>{try{h(w)}catch(I){console.error("[WebSocket] Error in event callback:",I)}})}catch(w){console.error("[WebSocket] Error parsing message:",w)}},t.onclose=l=>{clearTimeout(a);const w=l.code===1e3&&g,O=l.code!==1e3?`Connection closed: ${l.reason||"Unknown reason"}`:null;n(h=>({...h,connected:!1,connecting:!1,error:O})),w||_()},t.onerror=l=>{clearTimeout(a),n(w=>({...w,connected:!1,connecting:!1,error:"WebSocket connection error"})),g||_()}}catch(e){n(a=>({...a,connected:!1,connecting:!1,error:e instanceof Error?e.message:"Failed to connect"}))}}}function v(){}function f(){}function _(){if(g)return;m&&clearTimeout(m),u++,u>S&&(u=1,d=s);const e=Math.min(d,N);m=window.setTimeout(()=>{if(!g){r();const a=Math.random()*1e3;d=Math.min(d*1.5+a,N)}},e)}function p(e){if(t&&t.readyState===WebSocket.OPEN){const a={"send-everything":!1,filters:e};t.send(JSON.stringify(a)),i=[...e]}}function k(){g=!0,m&&(clearTimeout(m),m=null),t&&(t.close(1e3,"Manual disconnect"),t=null),E.clear(),i=[],n(e=>({...e,connected:!1,connecting:!1,error:null,lastEvent:null}))}function C(){navigator.onLine&&!g&&setTimeout(()=>{(!t||t.readyState===WebSocket.CLOSED||t.readyState===WebSocket.CLOSING)&&(u=0,d=s,r())},2e3)}typeof window<"u"&&(window.addEventListener("online",C),window.addEventListener("offline",()=>{n(e=>({...e,error:"Network offline"}))}),setInterval(()=>{g||(!t||t.readyState===WebSocket.CLOSED||t.readyState===WebSocket.CLOSING)&&r()},1e4));function b(e,a,l){E.has(e)||E.set(e,[]),E.get(e).push(l);const w=i.findIndex(h=>h["entity-type"]===e),O={"entity-type":e,operations:a};if(w>=0){const h=i[w].operations;O.operations=Array.from(new Set([...h,...a])),i[w]=O}else i.push(O);return t&&t.readyState===WebSocket.OPEN&&p(i),(!t||t.readyState===WebSocket.CLOSED||t.readyState===WebSocket.CLOSING)&&r(),()=>{const h=E.get(e);if(h){const I=h.indexOf(l);if(I>-1&&h.splice(I,1),h.length===0){E.delete(e);const W=i.findIndex(A=>A["entity-type"]===e);W>-1&&(i.splice(W,1),t&&t.readyState===WebSocket.OPEN&&p(i))}}}}return typeof window<"u"&&r(),{subscribe:c,connect:r,disconnect:k,subscribeToEntity:b}}const We=Ce();export{xe as e,Te as i,We as w}; +import{O as K,M as te,Y as F,K as M,Z as ae,L as re,g as $,q as oe,_ as ie,a0 as se,a1 as J,a2 as G,T as L,a3 as le,a4 as ce,P as q,R as fe,Q as ue,a5 as V,m as de,a6 as B,a7 as Q,a8 as ve,a9 as D,aa as X,U as he,ab as R,ac as Se,ad as P,ae as Z,af as me,ag as _e,ah as we,ai as Ee,aj as pe,ak as z,H as be,al as ge,I as Ie}from"./CRKWEg6v.js";function Te(c,o){return o}function Ne(c,o,n){for(var t=c.items,u=[],S=o.length,s=0;s0&&u.length===0&&n!==null;if(d){var N=n.parentNode;we(N),N.append(n),t.clear(),T(c,o[0].prev,o[S-1].next)}Ee(u,()=>{for(var m=0;m{var _=n();return ve(_)?_:_==null?[]:Q(_)}),r,v;function f(){ke(v,r,d,E,s,u,o,t,n),S!==null&&(r.length===0?i?X(i):i=q(()=>S(s)):i!==null&&he(i,()=>{i=null}))}te(()=>{v??=pe,r=$(x);var _=r.length;if(g&&_===0)return;g=_===0;let p=!1;if(M){var k=ie(s)===se;k!==(_===0)&&(s=J(),F(s),G(!1),p=!0)}if(M){for(var C=null,b,e=0;e<_;e++){if(L.nodeType===le&&L.data===ce){s=L,p=!0,G(!1);break}var a=r[e],l=t(a,e);b=Y(L,d,C,null,a,l,e,u,o,n),d.items.set(l,b),C=b}_>0&&F(J())}if(M)_===0&&S&&(i=q(()=>S(s)));else if(fe()){var w=new Set,O=ue;for(e=0;e<_;e+=1){a=r[e],l=t(a,e);var h=d.items.get(l)??E.get(l);h?(o&(R|D))!==0&&j(h,a,e,o):(b=Y(null,d,null,null,a,l,e,u,o,n,!0),E.set(l,b)),w.add(l)}for(const[I,W]of d.items)w.has(I)||O.skipped_effects.add(W.e);O.add_callback(f)}else f();p&&G(!0),$(x)}),M&&(s=L)}function ke(c,o,n,t,u,S,s,d,N){var m=(s&ge)!==0,i=(s&(R|D))!==0,g=o.length,E=n.items,x=n.first,r=x,v,f=null,_,p=[],k=[],C,b,e,a;if(m)for(a=0;a0){var ee=(s&z)!==0&&g===0?u:null;if(m){for(a=0;a{if(_!==void 0)for(e of _)e.a?.apply()}),c.first=n.first&&n.first.e,c.last=f&&f.e;for(var ne of t.values())Z(ne.e);t.clear()}function j(c,o,n,t){(t&R)!==0&&V(c.v,o),(t&D)!==0?V(c.i,n):c.i=n}function Y(c,o,n,t,u,S,s,d,N,m,i){var g=(N&R)!==0,E=(N&Se)===0,x=g?E?de(u,!1,!1):B(u):u,r=(N&D)===0?s:B(s),v={i:r,v:x,k:S,a:null,e:null,prev:n,next:t};try{if(c===null){var f=document.createDocumentFragment();f.append(c=K())}return v.e=q(()=>d(c,x,r,m),M),v.e.prev=n&&n.e,v.e.next=t&&t.e,n===null?i||(o.first=v):(n.next=v,n.e.next=v.e),t!==null&&(t.prev=v,t.e.prev=v.e),v}finally{}}function U(c,o,n){for(var t=c.next?c.next.e.nodes_start:n,u=o?o.e.nodes_start:n,S=c.e.nodes_start;S!==null&&S!==t;){var s=me(S);u.before(S),S=s}}function T(c,o,n){o===null?c.first=n:(o.next=n,o.e.next=n&&n.e),n!==null&&(n.prev=o,n.e.prev=o&&o.e)}function Ce(){const{subscribe:c,set:o,update:n}=Ie({connected:!1,connecting:!1,error:null,lastEvent:null});let t=null,u=0,S=50,s=1e3,d=1e3,N=3e4,m=null,i=[],g=!1;const E=new Map;function x(){const e=window.location.protocol==="https:"?"wss:":"ws:",a=window.location.host;return`${e}//${a}/api/v1/ws/events`}function r(){if(!(t&&(t.readyState===WebSocket.CONNECTING||t.readyState===WebSocket.OPEN))){g=!1,n(e=>({...e,connecting:!0,error:null}));try{const e=x();t=new WebSocket(e);const a=setTimeout(()=>{t&&t.readyState===WebSocket.CONNECTING&&t.close()},1e4);t.onopen=()=>{clearTimeout(a),u=0,d=s,n(l=>({...l,connected:!0,connecting:!1,error:null})),i.length>0&&p(i)},t.onmessage=l=>{try{const w=JSON.parse(l.data);n(h=>({...h,lastEvent:w})),(E.get(w["entity-type"])||[]).forEach(h=>{try{h(w)}catch(I){console.error("[WebSocket] Error in event callback:",I)}})}catch(w){console.error("[WebSocket] Error parsing message:",w)}},t.onclose=l=>{clearTimeout(a);const w=l.code===1e3&&g,O=l.code!==1e3?`Connection closed: ${l.reason||"Unknown reason"}`:null;n(h=>({...h,connected:!1,connecting:!1,error:O})),w||_()},t.onerror=l=>{clearTimeout(a),n(w=>({...w,connected:!1,connecting:!1,error:"WebSocket connection error"})),g||_()}}catch(e){n(a=>({...a,connected:!1,connecting:!1,error:e instanceof Error?e.message:"Failed to connect"}))}}}function v(){}function f(){}function _(){if(g)return;m&&clearTimeout(m),u++,u>S&&(u=1,d=s);const e=Math.min(d,N);m=window.setTimeout(()=>{if(!g){r();const a=Math.random()*1e3;d=Math.min(d*1.5+a,N)}},e)}function p(e){if(t&&t.readyState===WebSocket.OPEN){const a={"send-everything":!1,filters:e};t.send(JSON.stringify(a)),i=[...e]}}function k(){g=!0,m&&(clearTimeout(m),m=null),t&&(t.close(1e3,"Manual disconnect"),t=null),E.clear(),i=[],n(e=>({...e,connected:!1,connecting:!1,error:null,lastEvent:null}))}function C(){navigator.onLine&&!g&&setTimeout(()=>{(!t||t.readyState===WebSocket.CLOSED||t.readyState===WebSocket.CLOSING)&&(u=0,d=s,r())},2e3)}typeof window<"u"&&(window.addEventListener("online",C),window.addEventListener("offline",()=>{n(e=>({...e,error:"Network offline"}))}),setInterval(()=>{g||(!t||t.readyState===WebSocket.CLOSED||t.readyState===WebSocket.CLOSING)&&r()},1e4));function b(e,a,l){E.has(e)||E.set(e,[]),E.get(e).push(l);const w=i.findIndex(h=>h["entity-type"]===e),O={"entity-type":e,operations:a};if(w>=0){const h=i[w].operations;O.operations=Array.from(new Set([...h,...a])),i[w]=O}else i.push(O);return t&&t.readyState===WebSocket.OPEN&&p(i),(!t||t.readyState===WebSocket.CLOSED||t.readyState===WebSocket.CLOSING)&&r(),()=>{const h=E.get(e);if(h){const I=h.indexOf(l);if(I>-1&&h.splice(I,1),h.length===0){E.delete(e);const W=i.findIndex(A=>A["entity-type"]===e);W>-1&&(i.splice(W,1),t&&t.readyState===WebSocket.OPEN&&p(i))}}}}return typeof window<"u"&&r(),{subscribe:c,connect:r,disconnect:k,subscribeToEntity:b}}const We=Ce();export{xe as e,Te as i,We as w}; diff --git a/webapp/assets/_app/immutable/chunks/sWNKMed7.js b/webapp/assets/_app/immutable/chunks/CRKWEg6v.js similarity index 99% rename from webapp/assets/_app/immutable/chunks/sWNKMed7.js rename to webapp/assets/_app/immutable/chunks/CRKWEg6v.js index 545a4b36..c3c8352a 100644 --- a/webapp/assets/_app/immutable/chunks/sWNKMed7.js +++ b/webapp/assets/_app/immutable/chunks/CRKWEg6v.js @@ -1,2 +1,2 @@ var Je=Array.isArray,wn=Array.prototype.indexOf,yn=Array.from,$e=Object.defineProperty,be=Object.getOwnPropertyDescriptor,gn=Object.getOwnPropertyDescriptors,bn=Object.prototype,mn=Array.prototype,At=Object.getPrototypeOf,dt=Object.isExtensible;function Mr(e){return typeof e=="function"}const Ne=()=>{};function Lr(e){return e()}function St(e){for(var t=0;t{e=r,t=s});return{promise:n,resolve:e,reject:t}}const k=2,Qe=4,qe=8,Ae=16,Y=32,ae=64,kt=128,O=256,De=512,m=1024,P=2048,H=4096,W=8192,de=16384,et=32768,Ct=65536,ht=1<<17,Rt=1<<18,tt=1<<19,nt=1<<20,Be=1<<21,rt=1<<22,X=1<<23,Z=Symbol("$state"),Fr=Symbol("legacy props"),qr=Symbol(""),at=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},st=3,me=8;function Tn(){throw new Error("https://svelte.dev/e/await_outside_boundary")}function he(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function xn(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function An(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Sn(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function kn(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Cn(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Rn(){throw new Error("https://svelte.dev/e/get_abort_signal_outside_reaction")}function On(){throw new Error("https://svelte.dev/e/hydration_failed")}function Ot(e){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Vr(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Nn(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Pn(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Dn(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}const Yr=1,Hr=2,Ur=4,$r=8,Br=16,Wr=1,zr=2,Gr=4,Kr=8,Xr=16,Nt=1,In=2,it="[",Mn="[!",Pt="]",oe={},E=Symbol(),Zr="http://www.w3.org/1999/xhtml",Jr="@attach";function je(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Qr(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}let g=!1;function fe(e){g=e}let w;function I(e){if(e===null)throw je(),oe;return w=e}function ut(){return I(M(w))}function ea(e){if(g){if(M(w)!==null)throw je(),oe;w=e}}function ta(e=1){if(g){for(var t=e,n=w;t--;)n=M(n);w=n}}function na(){for(var e=0,t=w;;){if(t.nodeType===me){var n=t.data;if(n===Pt){if(e===0)return t;e-=1}else(n===it||n===Mn)&&(e+=1)}var r=M(t);t.remove(),t=r}}function ra(e){if(!e||e.nodeType!==me)throw je(),oe;return e.data}function Dt(e){return e===this.v}function It(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function aa(e,t){return e!==t}function Mt(e){return!It(e,this.v)}let Se=!1;function sa(){Se=!0}let p=null;function Ie(e){p=e}function Ln(e){return Ve().get(e)}function Fn(e,t){return Ve().set(e,t),t}function qn(e){return Ve().has(e)}function jn(){return Ve()}function Vn(e,t=!1,n){p={p,c:null,e:null,s:e,x:null,l:Se&&!t?{s:null,u:null,$:[]}:null}}function Yn(e){var t=p,n=t.e;if(n!==null){t.e=null;for(var r of n)Jt(r)}return p=t.p,{}}function ke(){return!Se||p!==null&&p.l===null}function Ve(e){return p===null&&he(),p.c??=new Map(Hn(p)||void 0)}function Hn(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}const Un=new WeakMap;function $n(e){var t=h;if(t===null)return d.f|=X,e;if((t.f&et)===0){if((t.f&kt)===0)throw!t.parent&&e instanceof Error&&Lt(e),e;t.b.error(e)}else lt(e,t)}function lt(e,t){for(;t!==null;){if((t.f&kt)!==0)try{t.b.error(e);return}catch(n){e=n}t=t.parent}throw e instanceof Error&&Lt(e),e}function Lt(e){const t=Un.get(e);t&&($e(e,"message",{value:t.message}),$e(e,"stack",{value:t.stack}))}const Bn=typeof requestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback;let Ee=[],Te=[];function Ft(){var e=Ee;Ee=[],St(e)}function qt(){var e=Te;Te=[],St(e)}function jt(e){Ee.length===0&&queueMicrotask(Ft),Ee.push(e)}function ia(e){Te.length===0&&Bn(qt),Te.push(e)}function Wn(){Ee.length>0&&Ft(),Te.length>0&&qt()}function zn(){for(var e=h.b;e!==null&&!e.has_pending_snippet();)e=e.parent;return e===null&&Tn(),e}function ft(e){var t=k|P,n=d!==null&&(d.f&k)!==0?d:null;return h===null||n!==null&&(n.f&O)!==0?t|=O:h.f|=tt,{ctx:p,deps:null,effects:null,equals:Dt,f:t,fn:e,reactions:null,rv:0,v:E,wv:0,parent:n??h,ac:null}}function Gn(e,t){let n=h;n===null&&xn();var r=n.b,s=void 0,a=ct(E),i=null,f=!d;return ar(()=>{try{var u=e()}catch(_){u=Promise.reject(_)}var l=()=>u;s=i?.then(l,l)??Promise.resolve(u),i=s;var o=y,v=r.pending;f&&(r.update_pending_count(1),v||o.increment());const c=(_,b=void 0)=>{i=null,v||o.activate(),b?b!==at&&(a.f|=X,Le(a,b)):((a.f&X)!==0&&(a.f^=X),Le(a,_)),f&&(r.update_pending_count(-1),v||o.decrement()),Ht()};if(s.then(c,_=>c(null,_||"unknown")),o)return()=>{queueMicrotask(()=>o.neuter())}}),new Promise(u=>{function l(o){function v(){o===s?u(a):l(s)}o.then(v,v)}l(s)})}function ua(e){const t=ft(e);return sn(t),t}function Kn(e){const t=ft(e);return t.equals=Mt,t}function Vt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;nGn(u))).then(u=>{s?.activate(),i();try{n([...e.map(r),...u])}catch(l){(a.f&de)===0&<(l,a)}s?.deactivate(),Ht()}).catch(u=>{f.error(u)})}function Jn(){var e=h,t=d,n=p;return function(){G(e),L(t),Ie(n)}}function Ht(){G(null),L(null),Ie(null)}const we=new Set;let y=null,He=null,ve=null,pt=new Set,Me=[];function Ut(){const e=Me.shift();Me.length>0&&queueMicrotask(Ut),e()}let ee=[],Ye=null,We=!1,Pe=!1;class te{current=new Map;#a=new Map;#s=new Set;#e=0;#f=null;#o=!1;#n=[];#i=[];#r=[];#t=[];#u=[];#c=[];#_=[];skipped_effects=new Set;process(t){ee=[],He=null;var n=null;if(we.size>1){n=new Map,ve=new Map;for(const[a,i]of this.current)n.set(a,{v:a.v,wv:a.wv}),a.v=i;for(const a of we)if(a!==this)for(const[i,f]of a.#a)n.has(i)||(n.set(i,{v:i.v,wv:i.wv}),i.v=f)}for(const a of t)this.#d(a);if(this.#n.length===0&&this.#e===0){this.#v();var r=this.#r,s=this.#t;this.#r=[],this.#t=[],this.#u=[],He=y,y=null,wt(r),wt(s),y===null?y=this:we.delete(this),this.#f?.resolve()}else this.#l(this.#r),this.#l(this.#t),this.#l(this.#u);if(n){for(const[a,{v:i,wv:f}]of n)a.wv<=f&&(a.v=i);ve=null}for(const a of this.#n)_e(a);for(const a of this.#i)_e(a);this.#n=[],this.#i=[]}#d(t){t.f^=m;for(var n=t.first;n!==null;){var r=n.f,s=(r&(Y|ae))!==0,a=s&&(r&m)!==0,i=a||(r&W)!==0||this.skipped_effects.has(n);if(!i&&n.fn!==null){if(s)n.f^=m;else if((r&m)===0)if((r&Qe)!==0)this.#t.push(n);else if((r&rt)!==0){var f=n.b?.pending?this.#i:this.#n;f.push(n)}else Ce(n)&&((n.f&Ae)!==0&&this.#u.push(n),_e(n));var u=n.first;if(u!==null){n=u;continue}}var l=n.parent;for(n=n.next;n===null&&l!==null;)n=l.next,l=l.parent}}#l(t){for(const n of t)((n.f&P)!==0?this.#c:this.#_).push(n),x(n,m);t.length=0}capture(t,n){this.#a.has(t)||this.#a.set(t,n),this.current.set(t,t.v)}activate(){y=this}deactivate(){y=null,He=null;for(const t of pt)if(pt.delete(t),t(),y!==null)break}neuter(){this.#o=!0}flush(){ee.length>0?ze():this.#v(),y===this&&(this.#e===0&&we.delete(this),this.deactivate())}#v(){if(!this.#o)for(const t of this.#s)t();this.#s.clear()}increment(){this.#e+=1}decrement(){if(this.#e-=1,this.#e===0){for(const t of this.#c)x(t,P),ne(t);for(const t of this.#_)x(t,H),ne(t);this.#r=[],this.#t=[],this.flush()}else this.deactivate()}add_callback(t){this.#s.add(t)}settled(){return(this.#f??=En()).promise}static ensure(){if(y===null){const t=y=new te;we.add(y),Pe||te.enqueue(()=>{y===t&&t.flush()})}return y}static enqueue(t){Me.length===0&&queueMicrotask(Ut),Me.unshift(t)}}function $t(e){var t=Pe;Pe=!0;try{var n;for(e&&(ze(),n=e());;){if(Wn(),ee.length===0&&(y?.flush(),ee.length===0))return Ye=null,n;ze()}}finally{Pe=t}}function ze(){var e=ce;We=!0;try{var t=0;for(bt(!0);ee.length>0;){var n=te.ensure();if(t++>1e3){var r,s;Qn()}n.process(ee),J.clear()}}finally{We=!1,bt(e),Ye=null}}function Qn(){try{Cn()}catch(e){lt(e,Ye)}}function wt(e){var t=e.length;if(t!==0){for(var n=0;ns&&(r.f&nt)!==0)break}}for(;nK(e))),t}function j(e,t,n=!1){d!==null&&(!D||(d.f&ht)!==0)&&ke()&&(d.f&(k|Ae|rt|ht))!==0&&!V?.includes(e)&&Dn();let r=n?ye(t):t;return Le(e,r)}function Le(e,t){if(!e.equals(t)){var n=e.v;pe?J.set(e,t):J.set(e,n),e.v=t;var r=te.ensure();r.capture(e,n),(e.f&k)!==0&&((e.f&P)!==0&&ot(e),x(e,(e.f&O)===0?m:H)),e.wv=ln(),Bt(e,P),ke()&&h!==null&&(h.f&m)!==0&&(h.f&(Y|ae))===0&&(R===null?_r([e]):R.push(e))}return t}function oa(e,t=1){var n=K(e),r=t===1?n++:n--;return j(e,n),r}function Ue(e){j(e,e.v+1)}function Bt(e,t){var n=e.reactions;if(n!==null)for(var r=ke(),s=n.length,a=0;a{if(Q===a)return f();var u=d,l=Q;L(null),Et(a);var o=f();return L(u),Et(l),o};return r&&n.set("length",$(e.length)),new Proxy(e,{defineProperty(f,u,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&Nn();var o=n.get(u);return o===void 0?o=i(()=>{var v=$(l.value);return n.set(u,v),v}):j(o,l.value,!0),!0},deleteProperty(f,u){var l=n.get(u);if(l===void 0){if(u in f){const o=i(()=>$(E));n.set(u,o),Ue(s)}}else j(l,E),Ue(s);return!0},get(f,u,l){if(u===Z)return e;var o=n.get(u),v=u in f;if(o===void 0&&(!v||be(f,u)?.writable)&&(o=i(()=>{var _=ye(v?f[u]:E),b=$(_);return b}),n.set(u,o)),o!==void 0){var c=K(o);return c===E?void 0:c}return Reflect.get(f,u,l)},getOwnPropertyDescriptor(f,u){var l=Reflect.getOwnPropertyDescriptor(f,u);if(l&&"value"in l){var o=n.get(u);o&&(l.value=K(o))}else if(l===void 0){var v=n.get(u),c=v?.v;if(v!==void 0&&c!==E)return{enumerable:!0,configurable:!0,value:c,writable:!0}}return l},has(f,u){if(u===Z)return!0;var l=n.get(u),o=l!==void 0&&l.v!==E||Reflect.has(f,u);if(l!==void 0||h!==null&&(!o||be(f,u)?.writable)){l===void 0&&(l=i(()=>{var c=o?ye(f[u]):E,_=$(c);return _}),n.set(u,l));var v=K(l);if(v===E)return!1}return o},set(f,u,l,o){var v=n.get(u),c=u in f;if(r&&u==="length")for(var _=l;_$(E)),n.set(_+"",b))}if(v===void 0)(!c||be(f,u)?.writable)&&(v=i(()=>$(void 0)),j(v,ye(l)),n.set(u,v));else{c=v.v!==E;var q=i(()=>ye(l));j(v,q)}var Re=Reflect.getOwnPropertyDescriptor(f,u);if(Re?.set&&Re.set.call(o,l),!c){if(r&&typeof u=="string"){var Oe=n.get("length"),U=Number(u);Number.isInteger(U)&&U>=Oe.v&&j(Oe,U+1)}Ue(s)}return!0},ownKeys(f){K(s);var u=Reflect.ownKeys(f).filter(v=>{var c=n.get(v);return c===void 0||c.v!==E});for(var[l,o]of n)o.v!==E&&!(l in f)&&u.push(l);return u},setPrototypeOf(){Pn()}})}function yt(e){try{if(e!==null&&typeof e=="object"&&Z in e)return e[Z]}catch{}return e}function ca(e,t){return Object.is(yt(e),yt(t))}var gt,er,Wt,zt,Gt;function Ge(){if(gt===void 0){gt=window,er=document,Wt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;zt=be(t,"firstChild").get,Gt=be(t,"nextSibling").get,dt(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),dt(n)&&(n.__t=void 0)}}function z(e=""){return document.createTextNode(e)}function A(e){return zt.call(e)}function M(e){return Gt.call(e)}function _a(e,t){if(!g)return A(e);var n=A(w);if(n===null)n=w.appendChild(z());else if(t&&n.nodeType!==st){var r=z();return n?.before(r),I(r),r}return I(n),n}function va(e,t){if(!g){var n=A(e);return n instanceof Comment&&n.data===""?M(n):n}return w}function da(e,t=1,n=!1){let r=g?w:e;for(var s;t--;)s=r,r=M(r);if(!g)return r;if(n&&r?.nodeType!==st){var a=z();return r===null?s?.after(a):r.before(a),I(a),a}return I(r),r}function Kt(e){e.textContent=""}function ha(){return!1}function Xt(e){h===null&&d===null&&kn(),d!==null&&(d.f&O)!==0&&h===null&&Sn(),pe&&An()}function tr(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function F(e,t,n,r=!0){var s=h;s!==null&&(s.f&W)!==0&&(e|=W);var a={ctx:p,deps:null,nodes_start:null,nodes_end:null,f:e|P,first:null,fn:t,last:null,next:null,parent:s,b:s&&s.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{_e(a),a.f|=et}catch(u){throw re(a),u}else t!==null&&ne(a);var i=n&&a.deps===null&&a.first===null&&a.nodes_start===null&&a.teardown===null&&(a.f&tt)===0;if(!i&&r&&(s!==null&&tr(a,s),d!==null&&(d.f&k)!==0&&(e&ae)===0)){var f=d;(f.effects??=[]).push(a)}return a}function Zt(e){const t=F(qe,null,!1);return x(t,m),t.teardown=e,t}function nr(e){Xt();var t=h.f,n=!d&&(t&Y)!==0&&(t&et)===0;if(n){var r=p;(r.e??=[]).push(e)}else return Jt(e)}function Jt(e){return F(Qe|nt,e,!1)}function pa(e){return Xt(),F(qe|nt,e,!0)}function rr(e){te.ensure();const t=F(ae,e,!0);return(n={})=>new Promise(r=>{n.outro?fr(t,()=>{re(t),r(void 0)}):(re(t),r(void 0))})}function wa(e){return F(Qe,e,!1)}function ya(e,t){var n=p,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=Qt(()=>{e(),!r.ran&&(r.ran=!0,se(t))})}function ga(){var e=p;Qt(()=>{for(var t of e.l.$){t.deps();var n=t.effect;(n.f&m)!==0&&x(n,H),Ce(n)&&_e(n),t.ran=!1}})}function ar(e){return F(rt|tt,e,!0)}function Qt(e,t=0){return F(qe|t,e,!0)}function ba(e,t=[],n=[]){Zn(t,n,r=>{F(qe,()=>e(...r.map(K)),!0)})}function sr(e,t=0){var n=F(Ae|t,e,!0);return n}function ir(e,t=!0){return F(Y,e,!0,t)}function en(e){var t=e.teardown;if(t!==null){const n=pe,r=d;mt(!0),L(null);try{t.call(null)}finally{mt(n),L(r)}}}function tn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){n.ac?.abort(at);var r=n.next;(n.f&ae)!==0?n.parent=null:re(n,t),n=r}}function ur(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&Y)===0&&re(t),t=n}}function re(e,t=!0){var n=!1;(t||(e.f&Rt)!==0)&&e.nodes_start!==null&&e.nodes_end!==null&&(lr(e.nodes_start,e.nodes_end),n=!0),tn(e,t&&!n),Fe(e,0),x(e,de);var r=e.transitions;if(r!==null)for(const a of r)a.stop();en(e);var s=e.parent;s!==null&&s.first!==null&&nn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=e.ac=null}function lr(e,t){for(;e!==null;){var n=e===t?null:M(e);e.remove(),e=n}}function nn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function fr(e,t){var n=[];rn(e,n,!0),or(n,()=>{re(e),t&&t()})}function or(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var s of e)s.out(r)}else t()}function rn(e,t,n){if((e.f&W)===0){if(e.f^=W,e.transitions!==null)for(const i of e.transitions)(i.is_global||n)&&t.push(i);for(var r=e.first;r!==null;){var s=r.next,a=(r.f&Ct)!==0||(r.f&Y)!==0;rn(r,t,a?n:!1),r=s}}}function ma(e){an(e,!0)}function an(e,t){if((e.f&W)!==0){e.f^=W,(e.f&m)===0&&(x(e,P),ne(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&Ct)!==0||(n.f&Y)!==0;an(n,s?t:!1),n=r}if(e.transitions!==null)for(const a of e.transitions)(a.is_global||t)&&a.in()}}let le=null;function cr(e){var t=le;try{if(le=new Set,se(e),t!==null)for(var n of le)t.add(n);return le}finally{le=t}}function Ea(e){for(var t of cr(e))Le(t,t.v)}let ce=!1;function bt(e){ce=e}let pe=!1;function mt(e){pe=e}let d=null,D=!1;function L(e){d=e}let h=null;function G(e){h=e}let V=null;function sn(e){d!==null&&(V===null?V=[e]:V.push(e))}let T=null,S=0,R=null;function _r(e){R=e}let un=1,xe=0,Q=xe;function Et(e){Q=e}let B=!1;function ln(){return++un}function Ce(e){var t=e.f;if((t&P)!==0)return!0;if((t&H)!==0){var n=e.deps,r=(t&O)!==0;if(n!==null){var s,a,i=(t&De)!==0,f=r&&h!==null&&!B,u=n.length;if((i||f)&&(h===null||(h.f&de)===0)){var l=e,o=l.parent;for(s=0;se.wv)return!0}(!r||h!==null&&!B)&&x(e,m)}return!1}function fn(e,t,n=!0){var r=e.reactions;if(r!==null&&!V?.includes(e))for(var s=0;s0)for(c.length=S+T.length,_=0;_{document.activeElement===n&&e.focus()})}}function Ca(e){g&&A(e)!==null&&Kt(e)}let Tt=!1;function mr(){Tt||(Tt=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function _n(e){var t=d,n=h;L(null),G(null);try{return e()}finally{L(t),G(n)}}function Ra(e,t,n,r=n){e.addEventListener(t,()=>_n(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),mr()}const vn=new Set,Xe=new Set;function Er(e,t,n,r={}){function s(a){if(r.capture||ge.call(t,a),!a.cancelBubble)return _n(()=>n?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?jt(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function Oa(e,t,n,r,s){var a={capture:r,passive:s},i=Er(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Zt(()=>{t.removeEventListener(e,i,a)})}function Na(e){for(var t=0;t{throw U});throw c}}finally{e.__root=t,delete e.currentTarget,L(o),G(v)}}}let C;function Tr(){C=void 0}function Pa(e){let t=null,n=g;var r;if(g){for(t=w,C===void 0&&(C=A(document.head));C!==null&&(C.nodeType!==me||C.data!==it);)C=M(C);C===null?fe(!1):C=I(M(C))}g||(r=document.head.appendChild(z()));try{sr(()=>e(r),Rt)}finally{n&&(fe(!0),C=w,I(t))}}function _t(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function N(e,t){var n=h;n.nodes_start===null&&(n.nodes_start=e,n.nodes_end=t)}function Da(e,t){var n=(t&Nt)!==0,r=(t&In)!==0,s,a=!e.startsWith("");return()=>{if(g)return N(w,null),w;s===void 0&&(s=_t(a?e:""+e),n||(s=A(s)));var i=r||Wt?document.importNode(s,!0):s.cloneNode(!0);if(n){var f=A(i),u=i.lastChild;N(f,u)}else N(i,i);return i}}function xr(e,t,n="svg"){var r=!e.startsWith(""),s=(t&Nt)!==0,a=`<${n}>${r?e:""+e}`,i;return()=>{if(g)return N(w,null),w;if(!i){var f=_t(a),u=A(f);if(s)for(i=document.createDocumentFragment();A(u);)i.appendChild(A(u));else i=A(u)}var l=i.cloneNode(!0);if(s){var o=A(l),v=l.lastChild;N(o,v)}else N(l,l);return l}}function Ia(e,t){return xr(e,t,"svg")}function Ma(e=""){if(!g){var t=z(e+"");return N(t,t),t}var n=w;return n.nodeType!==st&&(n.before(n=z()),I(n)),N(n,n),n}function La(){if(g)return N(w,null),w;var e=document.createDocumentFragment(),t=document.createComment(""),n=z();return e.append(t,n),N(t,n),e}function Fa(e,t){if(g){h.nodes_end=w,ut();return}e!==null&&e.before(t)}function qa(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=n+"")}function dn(e,t){return hn(e,t)}function Ar(e,t){Ge(),t.intro=t.intro??!1;const n=t.target,r=g,s=w;try{for(var a=A(n);a&&(a.nodeType!==me||a.data!==it);)a=M(a);if(!a)throw oe;fe(!0),I(a),ut();const i=hn(e,{...t,anchor:a});if(w===null||w.nodeType!==me||w.data!==Pt)throw je(),oe;return fe(!1),i}catch(i){if(i instanceof Error&&i.message.split(` -`).some(f=>f.startsWith("https://svelte.dev/e/")))throw i;return i!==oe&&console.warn("Failed to hydrate: ",i),t.recover===!1&&On(),Ge(),Kt(n),fe(!1),dn(e,t)}finally{fe(r),I(s),Tr()}}const ie=new Map;function hn(e,{target:t,anchor:n,props:r={},events:s,context:a,intro:i=!0}){Ge();var f=new Set,u=v=>{for(var c=0;c{var v=n??t.appendChild(z());return ir(()=>{if(a){Vn({});var c=p;c.c=a}s&&(r.$$events=s),g&&N(v,null),l=e(v,r)||{},g&&(h.nodes_end=w),a&&Yn()}),()=>{for(var c of f){t.removeEventListener(c,ge);var _=ie.get(c);--_===0?(document.removeEventListener(c,ge),ie.delete(c)):ie.set(c,_)}Xe.delete(u),v!==n&&v.parentNode?.removeChild(v)}});return Ze.set(l,o),l}let Ze=new WeakMap;function Sr(e,t){const n=Ze.get(e);return n?(Ze.delete(e),n(t)):Promise.resolve()}function kr(e){return(t,...n)=>{var r=e(...n),s;if(g)s=w,ut();else{var a=r.render().trim(),i=_t(a);s=A(i),t.before(s)}const f=r.setup?.(s);N(s,s),typeof f=="function"&&Zt(f)}}function Cr(e,t,n){if(e==null)return t(void 0),Ne;const r=se(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const ue=[];function ja(e,t=Ne){let n=null;const r=new Set;function s(f){if(It(e,f)&&(e=f,n)){const u=!ue.length;for(const l of r)l[1](),ue.push(l,e);if(u){for(let l=0;l{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:s,update:a,subscribe:i}}function Va(e){let t;return Cr(e,n=>t=n)(),t}function Rr(){return d===null&&Rn(),(d.ac??=new AbortController).signal}function pn(e){p===null&&he(),Se&&p.l!==null?vt(p).m.push(e):nr(()=>{const t=se(e);if(typeof t=="function")return t})}function Or(e){p===null&&he(),pn(()=>()=>se(e))}function Nr(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function Pr(){const e=p;return e===null&&he(),(t,n,r)=>{const s=e.s.$$events?.[t];if(s){const a=Je(s)?s.slice():[s],i=Nr(t,n,r);for(const f of a)f.call(e.x,i);return!i.defaultPrevented}return!0}}function Dr(e){p===null&&he(),p.l===null&&Ot(),vt(p).b.push(e)}function Ir(e){p===null&&he(),p.l===null&&Ot(),vt(p).a.push(e)}function vt(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const Ya=Object.freeze(Object.defineProperty({__proto__:null,afterUpdate:Ir,beforeUpdate:Dr,createEventDispatcher:Pr,createRawSnippet:kr,flushSync:$t,getAbortSignal:Rr,getAllContexts:jn,getContext:Ln,hasContext:qn,hydrate:Ar,mount:dn,onDestroy:Or,onMount:pn,setContext:Fn,settled:hr,tick:dr,unmount:Sr,untrack:se},Symbol.toStringTag,{value:"Module"}));export{er as $,Or as A,La as B,Ia as C,Ma as D,Pr as E,wa as F,Qt as G,jt as H,ja as I,Va as J,g as K,ut as L,sr as M,Ct as N,z as O,ir as P,y as Q,ha as R,Z as S,w as T,fr as U,ke as V,Ra as W,He as X,I as Y,A as Z,ra as _,ga as a,Qr as a$,Mn as a0,na as a1,fe as a2,me as a3,Pt as a4,Le as a5,ct as a6,yn as a7,Je as a8,Hr as a9,Gr as aA,ye as aB,de as aC,Kr as aD,Se as aE,zr as aF,Wr as aG,oa as aH,G as aI,Xr as aJ,pe as aK,Fr as aL,Mr as aM,Ar as aN,dn as aO,$t as aP,Sr as aQ,$ as aR,dr as aS,ua as aT,aa as aU,It as aV,lr as aW,je as aX,oe as aY,N as aZ,_t as a_,ma as aa,Yr as ab,Br as ac,W as ad,re as ae,M as af,rn as ag,Kt as ah,or as ai,h as aj,Ur as ak,$r as al,p as am,pa as an,nr as ao,Lr as ap,St as aq,ft as ar,sa as as,E as at,Ne as au,Cr as av,Zt as aw,$e as ax,be as ay,Vr as az,va as b,ca as b0,Zn as b1,qr as b2,Zr as b3,At as b4,Jr as b5,gn as b6,xa as b7,Er as b8,Na as b9,ka as ba,Sa as bb,ia as bc,mr as bd,Aa as be,Ya as bf,Fa as c,Yn as d,Oa as e,Da as f,K as g,Pa as h,gt as i,_a as j,da as k,ya as l,la as m,Ta as n,pn as o,Vn as p,Kn as q,ea as r,j as s,ba as t,se as u,qa as v,Ca as w,Ea as x,fa as y,ta as z}; +`).some(f=>f.startsWith("https://svelte.dev/e/")))throw i;return i!==oe&&console.warn("Failed to hydrate: ",i),t.recover===!1&&On(),Ge(),Kt(n),fe(!1),dn(e,t)}finally{fe(r),I(s),Tr()}}const ie=new Map;function hn(e,{target:t,anchor:n,props:r={},events:s,context:a,intro:i=!0}){Ge();var f=new Set,u=v=>{for(var c=0;c{var v=n??t.appendChild(z());return ir(()=>{if(a){Vn({});var c=p;c.c=a}s&&(r.$$events=s),g&&N(v,null),l=e(v,r)||{},g&&(h.nodes_end=w),a&&Yn()}),()=>{for(var c of f){t.removeEventListener(c,ge);var _=ie.get(c);--_===0?(document.removeEventListener(c,ge),ie.delete(c)):ie.set(c,_)}Xe.delete(u),v!==n&&v.parentNode?.removeChild(v)}});return Ze.set(l,o),l}let Ze=new WeakMap;function Sr(e,t){const n=Ze.get(e);return n?(Ze.delete(e),n(t)):Promise.resolve()}function kr(e){return(t,...n)=>{var r=e(...n),s;if(g)s=w,ut();else{var a=r.render().trim(),i=_t(a);s=A(i),t.before(s)}const f=r.setup?.(s);N(s,s),typeof f=="function"&&Zt(f)}}function Cr(e,t,n){if(e==null)return t(void 0),Ne;const r=se(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const ue=[];function ja(e,t=Ne){let n=null;const r=new Set;function s(f){if(It(e,f)&&(e=f,n)){const u=!ue.length;for(const l of r)l[1](),ue.push(l,e);if(u){for(let l=0;l{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:s,update:a,subscribe:i}}function Va(e){let t;return Cr(e,n=>t=n)(),t}function Rr(){return d===null&&Rn(),(d.ac??=new AbortController).signal}function pn(e){p===null&&he(),Se&&p.l!==null?vt(p).m.push(e):nr(()=>{const t=se(e);if(typeof t=="function")return t})}function Or(e){p===null&&he(),pn(()=>()=>se(e))}function Nr(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function Pr(){const e=p;return e===null&&he(),(t,n,r)=>{const s=e.s.$$events?.[t];if(s){const a=Je(s)?s.slice():[s],i=Nr(t,n,r);for(const f of a)f.call(e.x,i);return!i.defaultPrevented}return!0}}function Dr(e){p===null&&he(),p.l===null&&Ot(),vt(p).b.push(e)}function Ir(e){p===null&&he(),p.l===null&&Ot(),vt(p).a.push(e)}function vt(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const Ya=Object.freeze(Object.defineProperty({__proto__:null,afterUpdate:Ir,beforeUpdate:Dr,createEventDispatcher:Pr,createRawSnippet:kr,flushSync:$t,getAbortSignal:Rr,getAllContexts:jn,getContext:Ln,hasContext:qn,hydrate:Ar,mount:dn,onDestroy:Or,onMount:pn,setContext:Fn,settled:hr,tick:dr,unmount:Sr,untrack:se},Symbol.toStringTag,{value:"Module"}));export{er as $,Or as A,La as B,Ia as C,Ma as D,Pr as E,wa as F,Qt as G,jt as H,ja as I,Va as J,g as K,ut as L,sr as M,Ct as N,z as O,ir as P,y as Q,ha as R,Z as S,w as T,fr as U,ke as V,Ra as W,He as X,I as Y,A as Z,ra as _,ga as a,Qr as a$,Mn as a0,na as a1,fe as a2,me as a3,Pt as a4,Le as a5,ct as a6,yn as a7,Je as a8,Hr as a9,Gr as aA,ye as aB,de as aC,Kr as aD,Se as aE,zr as aF,Wr as aG,oa as aH,G as aI,Xr as aJ,pe as aK,Fr as aL,Mr as aM,Ar as aN,dn as aO,$t as aP,Sr as aQ,$ as aR,dr as aS,ua as aT,aa as aU,It as aV,lr as aW,je as aX,oe as aY,N as aZ,_t as a_,ma as aa,Yr as ab,Br as ac,W as ad,re as ae,M as af,rn as ag,Kt as ah,or as ai,h as aj,Ur as ak,$r as al,p as am,pa as an,nr as ao,Lr as ap,St as aq,ft as ar,sa as as,E as at,Ne as au,Cr as av,Zt as aw,$e as ax,be as ay,Vr as az,va as b,ca as b0,Zn as b1,qr as b2,Zr as b3,At as b4,Jr as b5,gn as b6,xa as b7,Er as b8,Na as b9,ka as ba,Sa as bb,ia as bc,mr as bd,Aa as be,Ya as bf,Fa as c,Yn as d,Oa as e,Da as f,K as g,Pa as h,gt as i,_a as j,da as k,ya as l,la as m,Ta as n,pn as o,Vn as p,Kn as q,ea as r,j as s,ba as t,se as u,qa as v,fa as w,Ca as x,Ea as y,ta as z}; diff --git a/webapp/assets/_app/immutable/chunks/DSOLL96f.js b/webapp/assets/_app/immutable/chunks/CUjyd2pn.js similarity index 97% rename from webapp/assets/_app/immutable/chunks/DSOLL96f.js rename to webapp/assets/_app/immutable/chunks/CUjyd2pn.js index d4cb4ab0..e5aea838 100644 --- a/webapp/assets/_app/immutable/chunks/DSOLL96f.js +++ b/webapp/assets/_app/immutable/chunks/CUjyd2pn.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as Lr}from"./zNh6Oe5P.js";import{p as qr,E as Gr,m as s,o as Jr,f as m,k as r,j as o,g as e,r as a,t as v,e as E,c as b,v as T,b as Nr,z as pr,x as W,u as p,s as i,D as Ae,d as Vr}from"./sWNKMed7.js";import{p as mr,i as z}from"./Ccl3fNd2.js";import{e as Oe,i as $e}from"./BuuPrWMc.js";import{s as He,r as h,b as Q,g as C,c as Fr}from"./C1jihKTd.js";import{b as w,a as Kr}from"./CLagxtgo.js";import{p as Ur}from"./D4Caz1gY.js";import{M as Wr}from"./BbG_gKT3.js";import{e as Be}from"./BZiHL9L3.js";import{J as Qr}from"./Dnums3pI.js";var Xr=m('

'),Yr=m('
'),Zr=m(""),et=m(''),rt=m('
'),tt=m(""),at=m(''),ot=m(' '),it=m('
'),dt=m('

Entity & Provider Configuration

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
',1),st=m('
Creating...
'),lt=m('

Create New Pool

Entity Level *
');function ht(fr,X){qr(X,!1);const G=Gr();let Y=mr(X,"initialEntityType",8,""),De=mr(X,"initialEntityId",8,""),J=s(!1),M=s(""),n=s(Y()),I=s([]),Z=s([]),ee=s(!1),re=s(!1),k=s(De()),S=s(""),B=s(""),D=s(""),te=s(void 0),ae=s(void 0),oe=s(void 0),ie=s(100),de=s("garm"),N=s("linux"),V=s("amd64"),se=s(""),le=s(!0),_=s([]),j=s(""),L=s("{}");async function yr(){try{i(re,!0),i(Z,await C.listProviders())}catch(l){i(M,Be(l))}finally{i(re,!1)}}async function Le(){if(e(n))try{switch(i(ee,!0),i(I,[]),e(n)){case"repository":i(I,await C.listRepositories());break;case"organization":i(I,await C.listOrganizations());break;case"enterprise":i(I,await C.listEnterprises());break}}catch(l){i(M,Be(l))}finally{i(ee,!1)}}function ne(l){e(n)!==l&&(i(n,l),i(k,""),Le())}function qe(){e(j).trim()&&!e(_).includes(e(j).trim())&&(i(_,[...e(_),e(j).trim()]),i(j,""))}function xr(l){i(_,e(_).filter((P,A)=>A!==l))}function hr(l){l.key==="Enter"&&(l.preventDefault(),qe())}async function kr(){if(!e(n)||!e(k)||!e(S)||!e(B)||!e(D)){i(M,"Please fill in all required fields");return}try{i(J,!0),i(M,"");let l={};if(e(L).trim())try{l=JSON.parse(e(L))}catch{throw new Error("Invalid JSON in extra specs")}const P={provider_name:e(S),image:e(B),flavor:e(D),max_runners:e(te)||10,min_idle_runners:e(ae)||0,runner_bootstrap_timeout:e(oe)||20,priority:e(ie),runner_prefix:e(de),os_type:e(N),os_arch:e(V),"github-runner-group":e(se)||void 0,enabled:e(le),tags:e(_),extra_specs:e(L).trim()?l:void 0};if(Y()&&De())G("submit",P);else{switch(e(n)){case"repository":await C.createRepositoryPool(e(k),P);break;case"organization":await C.createOrganizationPool(e(k),P);break;case"enterprise":await C.createEnterprisePool(e(k),P);break;default:throw new Error("Invalid entity level")}G("submit",P)}}catch(l){i(M,Be(l))}finally{i(J,!1)}}Jr(()=>{yr(),Y()&&Le()}),Lr(),Wr(fr,{$$events:{close:()=>G("close")},children:(l,P)=>{var A=lt(),ue=r(o(A),2),Ge=o(ue);{var _r=c=>{var y=Xr(),O=o(y),F=o(O,!0);a(O),a(y),v(()=>T(F,e(M))),b(c,y)};z(Ge,c=>{e(M)&&c(_r)})}var be=r(Ge,2),Je=r(o(be),2),ce=o(Je),ge=r(ce,2),Ne=r(ge,2);a(Je),a(be);var Ve=r(be,2);{var wr=c=>{var y=dt(),O=Nr(y),F=r(o(O),2),pe=o(F),me=o(pe),Rr=o(me);pr(),a(me);var Tr=r(me,2);{var zr=t=>{var u=Yr();b(t,u)},Cr=t=>{var u=et();v(()=>{e(k),W(()=>{e(n),e(I)})});var f=o(u),$=o(f);a(f),f.value=f.__value="";var R=r(f);Oe(R,1,()=>e(I),$e,(g,d)=>{var x=Zr(),U=o(x);{var Br=H=>{var q=Ae();v(()=>T(q,`${e(d),p(()=>e(d).owner)??""}/${e(d),p(()=>e(d).name)??""} (${e(d),p(()=>e(d).endpoint?.name)??""})`)),b(H,q)},Dr=H=>{var q=Ae();v(()=>T(q,`${e(d),p(()=>e(d).name)??""} (${e(d),p(()=>e(d).endpoint?.name)??""})`)),b(H,q)};z(U,H=>{e(n)==="repository"?H(Br):H(Dr,!1)})}a(x);var vr={};v(()=>{vr!==(vr=(e(d),p(()=>e(d).id)))&&(x.value=(x.__value=(e(d),p(()=>e(d).id)))??"")}),b(g,x)}),a(u),v(()=>T($,`Select a ${e(n)??""}`)),Q(u,()=>e(k),g=>i(k,g)),b(t,u)};z(Tr,t=>{e(ee)?t(zr):t(Cr,!1)})}a(pe);var Ue=r(pe,2),Ir=r(o(Ue),2);{var Sr=t=>{var u=rt();b(t,u)},jr=t=>{var u=at();v(()=>{e(S),W(()=>{e(Z)})});var f=o(u);f.value=f.__value="";var $=r(f);Oe($,1,()=>e(Z),$e,(R,g)=>{var d=tt(),x=o(d,!0);a(d);var U={};v(()=>{T(x,(e(g),p(()=>e(g).name))),U!==(U=(e(g),p(()=>e(g).name)))&&(d.value=(d.__value=(e(g),p(()=>e(g).name)))??"")}),b(R,d)}),a(u),Q(u,()=>e(S),R=>i(S,R)),b(t,u)};z(Ir,t=>{e(re)?t(Sr):t(jr,!1)})}a(Ue),a(F),a(O);var fe=r(O,2),We=r(o(fe),2),ye=o(We),Qe=r(o(ye),2);h(Qe),a(ye);var xe=r(ye,2),Xe=r(o(xe),2);h(Xe),a(xe);var he=r(xe,2),ke=r(o(he),2);v(()=>{e(N),W(()=>{})});var _e=o(ke);_e.value=_e.__value="linux";var Ye=r(_e);Ye.value=Ye.__value="windows",a(ke),a(he);var Ze=r(he,2),we=r(o(Ze),2);v(()=>{e(V),W(()=>{})});var Ee=o(we);Ee.value=Ee.__value="amd64";var er=r(Ee);er.value=er.__value="arm64",a(we),a(Ze),a(We),a(fe);var Me=r(fe,2),rr=r(o(Me),2),Pe=o(rr),tr=r(o(Pe),2);h(tr),a(Pe);var Re=r(Pe,2),ar=r(o(Re),2);h(ar),a(Re);var or=r(Re,2),ir=r(o(or),2);h(ir),a(or),a(rr),a(Me);var dr=r(Me,2),Te=r(o(dr),2),ze=o(Te),sr=r(o(ze),2);h(sr),a(ze);var Ce=r(ze,2),lr=r(o(Ce),2);h(lr),a(Ce);var nr=r(Ce,2),ur=r(o(nr),2);h(ur),a(nr),a(Te);var Ie=r(Te,2),br=r(o(Ie),2),Se=o(br),K=o(Se);h(K);var Ar=r(K,2);a(Se);var Or=r(Se,2);{var $r=t=>{var u=it();Oe(u,5,()=>e(_),$e,(f,$,R)=>{var g=ot(),d=o(g),x=r(d);a(g),v(()=>{T(d,`${e($)??""} `),Fr(x,"aria-label",`Remove tag ${e($)}`)}),E("click",x,()=>xr(R)),b(f,g)}),a(u),b(t,u)};z(Or,t=>{e(_),p(()=>e(_).length>0)&&t($r)})}a(br),a(Ie);var je=r(Ie,2),Hr=r(o(je),2);Qr(Hr,{rows:4,placeholder:"{}",get value(){return e(L)},set value(t){i(L,t)},$$legacy:!0}),a(je);var cr=r(je,2),gr=o(cr);h(gr),pr(2),a(cr),a(dr),v(t=>T(Rr,`${t??""} `),[()=>(e(n),p(()=>e(n).charAt(0).toUpperCase()+e(n).slice(1)))]),w(Qe,()=>e(B),t=>i(B,t)),w(Xe,()=>e(D),t=>i(D,t)),Q(ke,()=>e(N),t=>i(N,t)),Q(we,()=>e(V),t=>i(V,t)),w(tr,()=>e(ae),t=>i(ae,t)),w(ar,()=>e(te),t=>i(te,t)),w(ir,()=>e(oe),t=>i(oe,t)),w(sr,()=>e(de),t=>i(de,t)),w(lr,()=>e(ie),t=>i(ie,t)),w(ur,()=>e(se),t=>i(se,t)),w(K,()=>e(j),t=>i(j,t)),E("keydown",K,hr),E("click",Ar,qe),Kr(gr,()=>e(le),t=>i(le,t)),b(c,y)};z(Ve,c=>{e(n)&&c(wr)})}var Fe=r(Ve,2),Ke=o(Fe),ve=r(Ke,2),Er=o(ve);{var Mr=c=>{var y=st();b(c,y)},Pr=c=>{var y=Ae("Create Pool");b(c,y)};z(Er,c=>{e(J)?c(Mr):c(Pr,!1)})}a(ve),a(Fe),a(ue),a(A),v(()=>{He(ce,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(n)==="repository"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),He(ge,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(n)==="organization"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),He(Ne,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(n)==="enterprise"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),ve.disabled=e(J)||!e(n)||!e(k)||!e(S)||!e(B)||!e(D)}),E("click",ce,()=>ne("repository")),E("click",ge,()=>ne("organization")),E("click",Ne,()=>ne("enterprise")),E("click",Ke,()=>G("close")),E("submit",ue,Ur(kr)),b(l,A)},$$slots:{default:!0}}),Vr()}export{ht as C}; +import"./DsnmJJEf.js";import{i as Lr}from"./DT0EGONV.js";import{p as qr,E as Gr,m as s,o as Jr,f as m,k as r,j as o,g as e,r as a,t as v,e as E,c as b,v as T,b as Nr,z as pr,y as W,u as p,s as i,D as Ae,d as Vr}from"./CRKWEg6v.js";import{p as mr,i as z}from"./e1m7WRO5.js";import{e as Oe,i as $e}from"./C73ZVvpW.js";import{s as He,r as h,b as Q,g as C,c as Fr}from"./PY0OOjWY.js";import{b as w,a as Kr}from"./B3a35v7J.js";import{p as Ur}from"./D4Caz1gY.js";import{M as Wr}from"./XtdMJsQa.js";import{e as Be}from"./BZiHL9L3.js";import{J as Qr}from"./D2iLJzzb.js";var Xr=m('

'),Yr=m('
'),Zr=m(""),et=m(''),rt=m('
'),tt=m(""),at=m(''),ot=m(' '),it=m('
'),dt=m('

Entity & Provider Configuration

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
',1),st=m('
Creating...
'),lt=m('

Create New Pool

Entity Level *
');function ht(fr,X){qr(X,!1);const G=Gr();let Y=mr(X,"initialEntityType",8,""),De=mr(X,"initialEntityId",8,""),J=s(!1),M=s(""),n=s(Y()),I=s([]),Z=s([]),ee=s(!1),re=s(!1),k=s(De()),S=s(""),B=s(""),D=s(""),te=s(void 0),ae=s(void 0),oe=s(void 0),ie=s(100),de=s("garm"),N=s("linux"),V=s("amd64"),se=s(""),le=s(!0),_=s([]),j=s(""),L=s("{}");async function yr(){try{i(re,!0),i(Z,await C.listProviders())}catch(l){i(M,Be(l))}finally{i(re,!1)}}async function Le(){if(e(n))try{switch(i(ee,!0),i(I,[]),e(n)){case"repository":i(I,await C.listRepositories());break;case"organization":i(I,await C.listOrganizations());break;case"enterprise":i(I,await C.listEnterprises());break}}catch(l){i(M,Be(l))}finally{i(ee,!1)}}function ne(l){e(n)!==l&&(i(n,l),i(k,""),Le())}function qe(){e(j).trim()&&!e(_).includes(e(j).trim())&&(i(_,[...e(_),e(j).trim()]),i(j,""))}function xr(l){i(_,e(_).filter((P,A)=>A!==l))}function hr(l){l.key==="Enter"&&(l.preventDefault(),qe())}async function kr(){if(!e(n)||!e(k)||!e(S)||!e(B)||!e(D)){i(M,"Please fill in all required fields");return}try{i(J,!0),i(M,"");let l={};if(e(L).trim())try{l=JSON.parse(e(L))}catch{throw new Error("Invalid JSON in extra specs")}const P={provider_name:e(S),image:e(B),flavor:e(D),max_runners:e(te)||10,min_idle_runners:e(ae)||0,runner_bootstrap_timeout:e(oe)||20,priority:e(ie),runner_prefix:e(de),os_type:e(N),os_arch:e(V),"github-runner-group":e(se)||void 0,enabled:e(le),tags:e(_),extra_specs:e(L).trim()?l:void 0};if(Y()&&De())G("submit",P);else{switch(e(n)){case"repository":await C.createRepositoryPool(e(k),P);break;case"organization":await C.createOrganizationPool(e(k),P);break;case"enterprise":await C.createEnterprisePool(e(k),P);break;default:throw new Error("Invalid entity level")}G("submit",P)}}catch(l){i(M,Be(l))}finally{i(J,!1)}}Jr(()=>{yr(),Y()&&Le()}),Lr(),Wr(fr,{$$events:{close:()=>G("close")},children:(l,P)=>{var A=lt(),ue=r(o(A),2),Ge=o(ue);{var _r=c=>{var y=Xr(),O=o(y),F=o(O,!0);a(O),a(y),v(()=>T(F,e(M))),b(c,y)};z(Ge,c=>{e(M)&&c(_r)})}var be=r(Ge,2),Je=r(o(be),2),ce=o(Je),ge=r(ce,2),Ne=r(ge,2);a(Je),a(be);var Ve=r(be,2);{var wr=c=>{var y=dt(),O=Nr(y),F=r(o(O),2),pe=o(F),me=o(pe),Rr=o(me);pr(),a(me);var Tr=r(me,2);{var zr=t=>{var u=Yr();b(t,u)},Cr=t=>{var u=et();v(()=>{e(k),W(()=>{e(n),e(I)})});var f=o(u),$=o(f);a(f),f.value=f.__value="";var R=r(f);Oe(R,1,()=>e(I),$e,(g,d)=>{var x=Zr(),U=o(x);{var Br=H=>{var q=Ae();v(()=>T(q,`${e(d),p(()=>e(d).owner)??""}/${e(d),p(()=>e(d).name)??""} (${e(d),p(()=>e(d).endpoint?.name)??""})`)),b(H,q)},Dr=H=>{var q=Ae();v(()=>T(q,`${e(d),p(()=>e(d).name)??""} (${e(d),p(()=>e(d).endpoint?.name)??""})`)),b(H,q)};z(U,H=>{e(n)==="repository"?H(Br):H(Dr,!1)})}a(x);var vr={};v(()=>{vr!==(vr=(e(d),p(()=>e(d).id)))&&(x.value=(x.__value=(e(d),p(()=>e(d).id)))??"")}),b(g,x)}),a(u),v(()=>T($,`Select a ${e(n)??""}`)),Q(u,()=>e(k),g=>i(k,g)),b(t,u)};z(Tr,t=>{e(ee)?t(zr):t(Cr,!1)})}a(pe);var Ue=r(pe,2),Ir=r(o(Ue),2);{var Sr=t=>{var u=rt();b(t,u)},jr=t=>{var u=at();v(()=>{e(S),W(()=>{e(Z)})});var f=o(u);f.value=f.__value="";var $=r(f);Oe($,1,()=>e(Z),$e,(R,g)=>{var d=tt(),x=o(d,!0);a(d);var U={};v(()=>{T(x,(e(g),p(()=>e(g).name))),U!==(U=(e(g),p(()=>e(g).name)))&&(d.value=(d.__value=(e(g),p(()=>e(g).name)))??"")}),b(R,d)}),a(u),Q(u,()=>e(S),R=>i(S,R)),b(t,u)};z(Ir,t=>{e(re)?t(Sr):t(jr,!1)})}a(Ue),a(F),a(O);var fe=r(O,2),We=r(o(fe),2),ye=o(We),Qe=r(o(ye),2);h(Qe),a(ye);var xe=r(ye,2),Xe=r(o(xe),2);h(Xe),a(xe);var he=r(xe,2),ke=r(o(he),2);v(()=>{e(N),W(()=>{})});var _e=o(ke);_e.value=_e.__value="linux";var Ye=r(_e);Ye.value=Ye.__value="windows",a(ke),a(he);var Ze=r(he,2),we=r(o(Ze),2);v(()=>{e(V),W(()=>{})});var Ee=o(we);Ee.value=Ee.__value="amd64";var er=r(Ee);er.value=er.__value="arm64",a(we),a(Ze),a(We),a(fe);var Me=r(fe,2),rr=r(o(Me),2),Pe=o(rr),tr=r(o(Pe),2);h(tr),a(Pe);var Re=r(Pe,2),ar=r(o(Re),2);h(ar),a(Re);var or=r(Re,2),ir=r(o(or),2);h(ir),a(or),a(rr),a(Me);var dr=r(Me,2),Te=r(o(dr),2),ze=o(Te),sr=r(o(ze),2);h(sr),a(ze);var Ce=r(ze,2),lr=r(o(Ce),2);h(lr),a(Ce);var nr=r(Ce,2),ur=r(o(nr),2);h(ur),a(nr),a(Te);var Ie=r(Te,2),br=r(o(Ie),2),Se=o(br),K=o(Se);h(K);var Ar=r(K,2);a(Se);var Or=r(Se,2);{var $r=t=>{var u=it();Oe(u,5,()=>e(_),$e,(f,$,R)=>{var g=ot(),d=o(g),x=r(d);a(g),v(()=>{T(d,`${e($)??""} `),Fr(x,"aria-label",`Remove tag ${e($)}`)}),E("click",x,()=>xr(R)),b(f,g)}),a(u),b(t,u)};z(Or,t=>{e(_),p(()=>e(_).length>0)&&t($r)})}a(br),a(Ie);var je=r(Ie,2),Hr=r(o(je),2);Qr(Hr,{rows:4,placeholder:"{}",get value(){return e(L)},set value(t){i(L,t)},$$legacy:!0}),a(je);var cr=r(je,2),gr=o(cr);h(gr),pr(2),a(cr),a(dr),v(t=>T(Rr,`${t??""} `),[()=>(e(n),p(()=>e(n).charAt(0).toUpperCase()+e(n).slice(1)))]),w(Qe,()=>e(B),t=>i(B,t)),w(Xe,()=>e(D),t=>i(D,t)),Q(ke,()=>e(N),t=>i(N,t)),Q(we,()=>e(V),t=>i(V,t)),w(tr,()=>e(ae),t=>i(ae,t)),w(ar,()=>e(te),t=>i(te,t)),w(ir,()=>e(oe),t=>i(oe,t)),w(sr,()=>e(de),t=>i(de,t)),w(lr,()=>e(ie),t=>i(ie,t)),w(ur,()=>e(se),t=>i(se,t)),w(K,()=>e(j),t=>i(j,t)),E("keydown",K,hr),E("click",Ar,qe),Kr(gr,()=>e(le),t=>i(le,t)),b(c,y)};z(Ve,c=>{e(n)&&c(wr)})}var Fe=r(Ve,2),Ke=o(Fe),ve=r(Ke,2),Er=o(ve);{var Mr=c=>{var y=st();b(c,y)},Pr=c=>{var y=Ae("Create Pool");b(c,y)};z(Er,c=>{e(J)?c(Mr):c(Pr,!1)})}a(ve),a(Fe),a(ue),a(A),v(()=>{He(ce,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(n)==="repository"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),He(ge,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(n)==="organization"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),He(Ne,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(n)==="enterprise"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),ve.disabled=e(J)||!e(n)||!e(k)||!e(S)||!e(B)||!e(D)}),E("click",ce,()=>ne("repository")),E("click",ge,()=>ne("organization")),E("click",Ne,()=>ne("enterprise")),E("click",Ke,()=>G("close")),E("submit",ue,Ur(kr)),b(l,A)},$$slots:{default:!0}}),Vr()}export{ht as C}; diff --git a/webapp/assets/_app/immutable/chunks/BgwfiEwe.js b/webapp/assets/_app/immutable/chunks/CeSGyYo5.js similarity index 93% rename from webapp/assets/_app/immutable/chunks/BgwfiEwe.js rename to webapp/assets/_app/immutable/chunks/CeSGyYo5.js index 49c8362d..96d1ffda 100644 --- a/webapp/assets/_app/immutable/chunks/BgwfiEwe.js +++ b/webapp/assets/_app/immutable/chunks/CeSGyYo5.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as ae}from"./zNh6Oe5P.js";import{p as se,E as re,l as M,n as ie,s as r,g as t,m as k,a as le,f as p,j as v,k as $,r as f,c as l,d as oe,B as T,b as E,z as V,D as q,t as F,v as N,u as ne}from"./sWNKMed7.js";import{p as R,i as m}from"./Ccl3fNd2.js";import{g as u,B as G}from"./C1jihKTd.js";import{t as y}from"./BZUCTtPY.js";import{e as de}from"./BZiHL9L3.js";var ce=p('
Checking...
'),ve=p('
'),fe=p('
Webhook installed
',1),ue=p('
No webhook installed
'),he=p('

Webhook Status

');function _e(H,g){se(g,!1);const x=k();let h=R(g,"entityType",8),s=R(g,"entityId",8),j=R(g,"entityName",8),i=k(null),o=k(!1),b=k(!0);const A=re();async function _(){if(s())try{r(b,!0),h()==="repository"?r(i,await u.getRepositoryWebhookInfo(s())):r(i,await u.getOrganizationWebhookInfo(s()))}catch(e){e&&typeof e=="object"&&"response"in e&&e.response?.status===404?r(i,null):(console.warn("Failed to check webhook status:",e),r(i,null))}finally{r(b,!1)}}async function J(){if(s())try{r(o,!0),h()==="repository"?await u.installRepositoryWebhook(s()):await u.installOrganizationWebhook(s()),y.success("Webhook Installed",`Webhook for ${h()} ${j()} has been installed successfully.`),await _(),A("webhookStatusChanged",{installed:!0})}catch(e){y.error("Webhook Installation Failed",e instanceof Error?e.message:"Failed to install webhook.")}finally{r(o,!1)}}async function K(){if(s())try{r(o,!0),h()==="repository"?await u.uninstallRepositoryWebhook(s()):await u.uninstallOrganizationWebhook(s()),y.success("Webhook Uninstalled",`Webhook for ${h()} ${j()} has been uninstalled successfully.`),await _(),A("webhookStatusChanged",{installed:!1})}catch(e){y.error("Webhook Uninstall Failed",de(e))}finally{r(o,!1)}}M(()=>ie(s()),()=>{s()&&_()}),M(()=>t(i),()=>{r(x,t(i)&&t(i).active)}),le(),ae();var w=he(),O=v(w),P=v(O),W=v(P),D=$(v(W),2),Q=v(D);{var X=e=>{var d=ce();l(e,d)},Y=e=>{var d=T(),z=E(d);{var I=a=>{var n=fe(),B=$(E(n),2);{var c=C=>{var U=ve(),te=v(U);f(U),F(()=>N(te,`URL: ${t(i),ne(()=>t(i).url||"N/A")??""}`)),l(C,U)};m(B,C=>{t(i)&&C(c)})}l(a,n)},S=a=>{var n=ue();l(a,n)};m(z,a=>{t(x)?a(I):a(S,!1)},!0)}l(e,d)};m(Q,e=>{t(b)?e(X):e(Y,!1)})}f(D),f(W);var L=$(W,2),Z=v(L);{var ee=e=>{var d=T(),z=E(d);{var I=a=>{G(a,{variant:"danger",size:"sm",get disabled(){return t(o)},$$events:{click:K},children:(n,B)=>{V();var c=q();F(()=>N(c,t(o)?"Uninstalling...":"Uninstall")),l(n,c)},$$slots:{default:!0}})},S=a=>{G(a,{variant:"primary",size:"sm",get disabled(){return t(o)},$$events:{click:J},children:(n,B)=>{V();var c=q();F(()=>N(c,t(o)?"Installing...":"Install Webhook")),l(n,c)},$$slots:{default:!0}})};m(z,a=>{t(x)?a(I):a(S,!1)})}l(e,d)};m(Z,e=>{t(b)||e(ee)})}f(L),f(P),f(O),f(w),l(H,w),oe()}export{_e as W}; +import"./DsnmJJEf.js";import{i as ae}from"./DT0EGONV.js";import{p as se,E as re,l as M,n as ie,s as r,g as t,m as k,a as le,f as p,j as v,k as $,r as f,c as l,d as oe,B as T,b as E,z as V,D as q,t as F,v as N,u as ne}from"./CRKWEg6v.js";import{p as R,i as m}from"./e1m7WRO5.js";import{g as u,B as G}from"./PY0OOjWY.js";import{t as y}from"./D6DjlyIQ.js";import{e as de}from"./BZiHL9L3.js";var ce=p('
Checking...
'),ve=p('
'),fe=p('
Webhook installed
',1),ue=p('
No webhook installed
'),he=p('

Webhook Status

');function _e(H,g){se(g,!1);const x=k();let h=R(g,"entityType",8),s=R(g,"entityId",8),j=R(g,"entityName",8),i=k(null),o=k(!1),b=k(!0);const A=re();async function _(){if(s())try{r(b,!0),h()==="repository"?r(i,await u.getRepositoryWebhookInfo(s())):r(i,await u.getOrganizationWebhookInfo(s()))}catch(e){e&&typeof e=="object"&&"response"in e&&e.response?.status===404?r(i,null):(console.warn("Failed to check webhook status:",e),r(i,null))}finally{r(b,!1)}}async function J(){if(s())try{r(o,!0),h()==="repository"?await u.installRepositoryWebhook(s()):await u.installOrganizationWebhook(s()),y.success("Webhook Installed",`Webhook for ${h()} ${j()} has been installed successfully.`),await _(),A("webhookStatusChanged",{installed:!0})}catch(e){y.error("Webhook Installation Failed",e instanceof Error?e.message:"Failed to install webhook.")}finally{r(o,!1)}}async function K(){if(s())try{r(o,!0),h()==="repository"?await u.uninstallRepositoryWebhook(s()):await u.uninstallOrganizationWebhook(s()),y.success("Webhook Uninstalled",`Webhook for ${h()} ${j()} has been uninstalled successfully.`),await _(),A("webhookStatusChanged",{installed:!1})}catch(e){y.error("Webhook Uninstall Failed",de(e))}finally{r(o,!1)}}M(()=>ie(s()),()=>{s()&&_()}),M(()=>t(i),()=>{r(x,t(i)&&t(i).active)}),le(),ae();var w=he(),O=v(w),P=v(O),W=v(P),D=$(v(W),2),Q=v(D);{var X=e=>{var d=ce();l(e,d)},Y=e=>{var d=T(),z=E(d);{var I=a=>{var n=fe(),B=$(E(n),2);{var c=C=>{var U=ve(),te=v(U);f(U),F(()=>N(te,`URL: ${t(i),ne(()=>t(i).url||"N/A")??""}`)),l(C,U)};m(B,C=>{t(i)&&C(c)})}l(a,n)},S=a=>{var n=ue();l(a,n)};m(z,a=>{t(x)?a(I):a(S,!1)},!0)}l(e,d)};m(Q,e=>{t(b)?e(X):e(Y,!1)})}f(D),f(W);var L=$(W,2),Z=v(L);{var ee=e=>{var d=T(),z=E(d);{var I=a=>{G(a,{variant:"danger",size:"sm",get disabled(){return t(o)},$$events:{click:K},children:(n,B)=>{V();var c=q();F(()=>N(c,t(o)?"Uninstalling...":"Uninstall")),l(n,c)},$$slots:{default:!0}})},S=a=>{G(a,{variant:"primary",size:"sm",get disabled(){return t(o)},$$events:{click:J},children:(n,B)=>{V();var c=q();F(()=>N(c,t(o)?"Installing...":"Install Webhook")),l(n,c)},$$slots:{default:!0}})};m(z,a=>{t(x)?a(I):a(S,!1)})}l(e,d)};m(Z,e=>{t(b)||e(ee)})}f(L),f(P),f(O),f(w),l(H,w),oe()}export{_e as W}; diff --git a/webapp/assets/_app/immutable/chunks/Gp00ljCM.js b/webapp/assets/_app/immutable/chunks/CfzLSqae.js similarity index 94% rename from webapp/assets/_app/immutable/chunks/Gp00ljCM.js rename to webapp/assets/_app/immutable/chunks/CfzLSqae.js index d55e4b37..1d40242f 100644 --- a/webapp/assets/_app/immutable/chunks/Gp00ljCM.js +++ b/webapp/assets/_app/immutable/chunks/CfzLSqae.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as qe}from"./zNh6Oe5P.js";import{p as Fe,E as Ke,o as Ge,f as x,j as t,r,k as s,g as e,m,z as B,t as y,x as ue,u as l,v,n as T,s as i,e as be,c as u,D as He,d as Je}from"./sWNKMed7.js";import{p as ge,i as U}from"./Ccl3fNd2.js";import{e as Qe,i as Ve}from"./BuuPrWMc.js";import{r as me,b as ye,g as Xe}from"./C1jihKTd.js";import{a as Ye,b as Ze}from"./CLagxtgo.js";import{p as ea}from"./D4Caz1gY.js";import{e as xe}from"./BZiHL9L3.js";import{M as aa}from"./BbG_gKT3.js";var ta=x('

'),ra=x('
Owner:
'),oa=x('
'),sa=x(""),na=x(''),ia=x('

Leave empty to auto-generate a new secret

'),da=x('
Updating...
'),la=x('

Name:
Endpoint:
Current Credentials:
Current Pool Balancer:

Leave unchanged to keep current credentials

Round Robin distributes jobs evenly across pools, Pack fills pools in order

');function _a(fe,D){Fe(D,!1);let d=ge(D,"entity",8),w=ge(D,"entityType",8);const $=Ke();let C=m(!1),k=m(""),M=m([]),R=m(!1),f=m(""),_=m(""),h=m(""),b=m(!1);function _e(){if(w()==="repository"){const c=d();return`${c.owner}/${c.name}`}return d().name||""}function W(){return w().charAt(0).toUpperCase()+w().slice(1)}function he(){return w()==="repository"&&d().owner||""}async function ke(){try{i(R,!0),i(M,await Xe.listCredentials())}catch(c){i(k,xe(c))}finally{i(R,!1)}}function we(){i(f,d().credentials_name||""),i(_,d().pool_balancing_type||"roundrobin"),i(h,""),i(b,!1)}async function Ce(){try{i(C,!0),i(k,"");const c={};let E=!1;if(e(f)&&e(f)!==d().credentials_name&&(c.credentials_name=e(f),E=!0),e(_)&&e(_)!==d().pool_balancing_type&&(c.pool_balancer_type=e(_),E=!0),e(b)){if(!e(h).trim()){i(k,"Please enter a webhook secret or uncheck the option to change it");return}c.webhook_secret=e(h),E=!0}if(!E){$("close");return}$("submit",c)}catch(c){i(k,xe(c))}finally{i(C,!1)}}Ge(()=>{ke(),we()}),qe(),aa(fe,{$$events:{close:()=>$("close")},children:(c,E)=>{var j=la(),A=t(j),N=t(A),Ee=t(N);r(N);var Y=s(N,2),Se=t(Y,!0);r(Y),r(A);var z=s(A,2),Z=t(z);{var Pe=a=>{var o=ta(),n=t(o),p=t(n,!0);r(n),r(o),y(()=>v(p,e(k))),u(a,o)};U(Z,a=>{e(k)&&a(Pe)})}var I=s(Z,2),L=t(I),Ue=t(L);r(L);var ee=s(L,2),ae=t(ee);{var $e=a=>{var o=ra(),n=s(t(o),2),p=t(n,!0);r(n),r(o),y(S=>v(p,S),[()=>l(he)]),u(a,o)};U(ae,a=>{w()==="repository"&&a($e)})}var O=s(ae,2),te=s(t(O),2),Be=t(te,!0);r(te),r(O);var q=s(O,2),re=s(t(q),2),Te=t(re,!0);r(re),r(q);var F=s(q,2),oe=s(t(F),2),De=t(oe,!0);r(oe),r(F);var se=s(F,2),ne=s(t(se),2),Me=t(ne,!0);r(ne),r(se),r(ee),r(I);var K=s(I,2),G=t(K),Re=s(t(G),2);{var We=a=>{var o=oa();u(a,o)},je=a=>{var o=na();y(()=>{e(f),ue(()=>{e(M)})});var n=t(o);n.value=n.__value="";var p=s(n);Qe(p,1,()=>e(M),Ve,(S,g)=>{var P=sa(),Oe=t(P);r(P);var pe={};y(()=>{v(Oe,`${e(g),l(()=>e(g).name)??""} (${e(g),l(()=>e(g).endpoint?.name||"Unknown")??""})`),pe!==(pe=(e(g),l(()=>e(g).name)))&&(P.value=(P.__value=(e(g),l(()=>e(g).name)))??"")}),u(S,P)}),r(o),ye(o,()=>e(f),S=>i(f,S)),u(a,o)};U(Re,a=>{e(R)?a(We):a(je,!1)})}B(2),r(G);var H=s(G,2),J=s(t(H),2);y(()=>{e(_),ue(()=>{})});var Q=t(J);Q.value=Q.__value="roundrobin";var ie=s(Q);ie.value=ie.__value="pack",r(J),B(2),r(H);var de=s(H,2),V=t(de),le=t(V);me(le),B(2),r(V);var Ae=s(V,2);{var Ne=a=>{var o=ia(),n=s(t(o),2);me(n),B(2),r(o),y(()=>n.required=e(b)),Ze(n,()=>e(h),p=>i(h,p)),u(a,o)};U(Ae,a=>{e(b)&&a(Ne)})}r(de),r(K);var ce=s(K,2),ve=t(ce),X=s(ve,2),ze=t(X);{var Ie=a=>{var o=da();u(a,o)},Le=a=>{var o=He();y(n=>v(o,`Update ${n??""}`),[()=>l(W)]),u(a,o)};U(ze,a=>{e(C)?a(Ie):a(Le,!1)})}r(X),r(ce),r(z),r(j),y((a,o,n,p)=>{v(Ee,`Update ${a??""}`),v(Se,o),v(Ue,`${n??""} Information`),v(Be,(T(d()),l(()=>d().name))),v(Te,(T(d()),l(()=>d().endpoint?.name))),v(De,(T(d()),l(()=>d().credentials_name))),v(Me,(T(d()),l(()=>d().pool_balancing_type||"roundrobin"))),X.disabled=p},[()=>l(W),()=>l(_e),()=>l(W),()=>(e(C),e(b),e(h),l(()=>e(C)||e(b)&&!e(h).trim()))]),ye(J,()=>e(_),a=>i(_,a)),Ye(le,()=>e(b),a=>i(b,a)),be("click",ve,()=>$("close")),be("submit",z,ea(Ce)),u(c,j)},$$slots:{default:!0}}),Je()}export{_a as U}; +import"./DsnmJJEf.js";import{i as qe}from"./DT0EGONV.js";import{p as Fe,E as Ke,o as Ge,f as x,j as t,r,k as s,g as e,m,z as B,t as y,y as ue,u as l,v,n as T,s as i,e as be,c as u,D as He,d as Je}from"./CRKWEg6v.js";import{p as ge,i as U}from"./e1m7WRO5.js";import{e as Qe,i as Ve}from"./C73ZVvpW.js";import{r as me,b as ye,g as Xe}from"./PY0OOjWY.js";import{a as Ye,b as Ze}from"./B3a35v7J.js";import{p as ea}from"./D4Caz1gY.js";import{e as xe}from"./BZiHL9L3.js";import{M as aa}from"./XtdMJsQa.js";var ta=x('

'),ra=x('
Owner:
'),oa=x('
'),sa=x(""),na=x(''),ia=x('

Leave empty to auto-generate a new secret

'),da=x('
Updating...
'),la=x('

Name:
Endpoint:
Current Credentials:
Current Pool Balancer:

Leave unchanged to keep current credentials

Round Robin distributes jobs evenly across pools, Pack fills pools in order

');function _a(fe,D){Fe(D,!1);let d=ge(D,"entity",8),w=ge(D,"entityType",8);const $=Ke();let C=m(!1),k=m(""),M=m([]),R=m(!1),f=m(""),_=m(""),h=m(""),b=m(!1);function _e(){if(w()==="repository"){const c=d();return`${c.owner}/${c.name}`}return d().name||""}function W(){return w().charAt(0).toUpperCase()+w().slice(1)}function he(){return w()==="repository"&&d().owner||""}async function ke(){try{i(R,!0),i(M,await Xe.listCredentials())}catch(c){i(k,xe(c))}finally{i(R,!1)}}function we(){i(f,d().credentials_name||""),i(_,d().pool_balancing_type||"roundrobin"),i(h,""),i(b,!1)}async function Ce(){try{i(C,!0),i(k,"");const c={};let E=!1;if(e(f)&&e(f)!==d().credentials_name&&(c.credentials_name=e(f),E=!0),e(_)&&e(_)!==d().pool_balancing_type&&(c.pool_balancer_type=e(_),E=!0),e(b)){if(!e(h).trim()){i(k,"Please enter a webhook secret or uncheck the option to change it");return}c.webhook_secret=e(h),E=!0}if(!E){$("close");return}$("submit",c)}catch(c){i(k,xe(c))}finally{i(C,!1)}}Ge(()=>{ke(),we()}),qe(),aa(fe,{$$events:{close:()=>$("close")},children:(c,E)=>{var j=la(),A=t(j),N=t(A),Ee=t(N);r(N);var Y=s(N,2),Se=t(Y,!0);r(Y),r(A);var z=s(A,2),Z=t(z);{var Pe=a=>{var o=ta(),n=t(o),p=t(n,!0);r(n),r(o),y(()=>v(p,e(k))),u(a,o)};U(Z,a=>{e(k)&&a(Pe)})}var I=s(Z,2),L=t(I),Ue=t(L);r(L);var ee=s(L,2),ae=t(ee);{var $e=a=>{var o=ra(),n=s(t(o),2),p=t(n,!0);r(n),r(o),y(S=>v(p,S),[()=>l(he)]),u(a,o)};U(ae,a=>{w()==="repository"&&a($e)})}var O=s(ae,2),te=s(t(O),2),Be=t(te,!0);r(te),r(O);var q=s(O,2),re=s(t(q),2),Te=t(re,!0);r(re),r(q);var F=s(q,2),oe=s(t(F),2),De=t(oe,!0);r(oe),r(F);var se=s(F,2),ne=s(t(se),2),Me=t(ne,!0);r(ne),r(se),r(ee),r(I);var K=s(I,2),G=t(K),Re=s(t(G),2);{var We=a=>{var o=oa();u(a,o)},je=a=>{var o=na();y(()=>{e(f),ue(()=>{e(M)})});var n=t(o);n.value=n.__value="";var p=s(n);Qe(p,1,()=>e(M),Ve,(S,g)=>{var P=sa(),Oe=t(P);r(P);var pe={};y(()=>{v(Oe,`${e(g),l(()=>e(g).name)??""} (${e(g),l(()=>e(g).endpoint?.name||"Unknown")??""})`),pe!==(pe=(e(g),l(()=>e(g).name)))&&(P.value=(P.__value=(e(g),l(()=>e(g).name)))??"")}),u(S,P)}),r(o),ye(o,()=>e(f),S=>i(f,S)),u(a,o)};U(Re,a=>{e(R)?a(We):a(je,!1)})}B(2),r(G);var H=s(G,2),J=s(t(H),2);y(()=>{e(_),ue(()=>{})});var Q=t(J);Q.value=Q.__value="roundrobin";var ie=s(Q);ie.value=ie.__value="pack",r(J),B(2),r(H);var de=s(H,2),V=t(de),le=t(V);me(le),B(2),r(V);var Ae=s(V,2);{var Ne=a=>{var o=ia(),n=s(t(o),2);me(n),B(2),r(o),y(()=>n.required=e(b)),Ze(n,()=>e(h),p=>i(h,p)),u(a,o)};U(Ae,a=>{e(b)&&a(Ne)})}r(de),r(K);var ce=s(K,2),ve=t(ce),X=s(ve,2),ze=t(X);{var Ie=a=>{var o=da();u(a,o)},Le=a=>{var o=He();y(n=>v(o,`Update ${n??""}`),[()=>l(W)]),u(a,o)};U(ze,a=>{e(C)?a(Ie):a(Le,!1)})}r(X),r(ce),r(z),r(j),y((a,o,n,p)=>{v(Ee,`Update ${a??""}`),v(Se,o),v(Ue,`${n??""} Information`),v(Be,(T(d()),l(()=>d().name))),v(Te,(T(d()),l(()=>d().endpoint?.name))),v(De,(T(d()),l(()=>d().credentials_name))),v(Me,(T(d()),l(()=>d().pool_balancing_type||"roundrobin"))),X.disabled=p},[()=>l(W),()=>l(_e),()=>l(W),()=>(e(C),e(b),e(h),l(()=>e(C)||e(b)&&!e(h).trim()))]),ye(J,()=>e(_),a=>i(_,a)),Ye(le,()=>e(b),a=>i(b,a)),be("click",ve,()=>$("close")),be("submit",z,ea(Ce)),u(c,j)},$$slots:{default:!0}}),Je()}export{_a as U}; diff --git a/webapp/assets/_app/immutable/chunks/Bc1EGV4A.js b/webapp/assets/_app/immutable/chunks/ClJ8onkK.js similarity index 95% rename from webapp/assets/_app/immutable/chunks/Bc1EGV4A.js rename to webapp/assets/_app/immutable/chunks/ClJ8onkK.js index 60c92e9e..20c07001 100644 --- a/webapp/assets/_app/immutable/chunks/Bc1EGV4A.js +++ b/webapp/assets/_app/immutable/chunks/ClJ8onkK.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as nr}from"./zNh6Oe5P.js";import{p as lr,E as ur,m as n,o as br,s,l as cr,g as e,a as gr,f as C,j as t,r as d,k as o,n as v,u as m,t as p,x as je,z as vr,v as k,e as Be,c as l,D as T,B as ze,b as Ce,d as mr}from"./sWNKMed7.js";import{p as pr,i as R}from"./Ccl3fNd2.js";import{r as c,s as Le,b as Fe}from"./C1jihKTd.js";import{b as f,a as fr}from"./CLagxtgo.js";import{p as xr}from"./D4Caz1gY.js";import{M as yr}from"./BbG_gKT3.js";import{e as _r}from"./BZiHL9L3.js";import{J as hr}from"./Dnums3pI.js";var kr=C('

'),wr=C('

'),Sr=C('
Updating...
'),Rr=C('

Scale Set Information

Provider:
Entity:

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
');function Dr(He,ge){lr(ge,!1);let a=pr(ge,"scaleSet",8);const L=ur();let A=n(!1),N=n(""),u=n(""),P=n(a().name||""),U=n(a().image||""),D=n(a().flavor||""),x=n(a().max_runners),y=n(a().min_idle_runners),G=n(a().runner_bootstrap_timeout),$=n(a().runner_prefix||""),E=n(a().os_type||"linux"),O=n(a().os_arch||"amd64"),j=n(a()["github-runner-group"]||""),B=n(a().enabled),g=n("{}");br(()=>{if(a().extra_specs)try{if(typeof a().extra_specs=="object")s(g,JSON.stringify(a().extra_specs,null,2));else{const b=JSON.parse(a().extra_specs);s(g,JSON.stringify(b,null,2))}}catch{s(g,a().extra_specs||"{}")}});async function We(){try{if(s(A,!0),s(N,""),e(u))throw new Error(e(u));let b={};if(e(g).trim())try{b=JSON.parse(e(g))}catch{throw new Error("Invalid JSON in extra specs")}const I={name:e(P)!==a().name?e(P):void 0,image:e(U)!==a().image?e(U):void 0,flavor:e(D)!==a().flavor?e(D):void 0,max_runners:e(x)!==a().max_runners?e(x):void 0,min_idle_runners:e(y)!==a().min_idle_runners?e(y):void 0,runner_bootstrap_timeout:e(G)!==a().runner_bootstrap_timeout?e(G):void 0,runner_prefix:e($)!==a().runner_prefix?e($):void 0,os_type:e(E)!==a().os_type?e(E):void 0,os_arch:e(O)!==a().os_arch?e(O):void 0,"github-runner-group":e(j)!==a()["github-runner-group"]&&e(j)||void 0,enabled:e(B)!==a().enabled?e(B):void 0,extra_specs:e(g).trim()!==JSON.stringify(a().extra_specs||{},null,2).trim()?b:void 0};Object.keys(I).forEach(_=>{I[_]===void 0&&delete I[_]}),L("submit",I)}catch(b){s(N,_r(b))}finally{s(A,!1)}}cr(()=>(e(y),e(x)),()=>{e(y)!==null&&e(x)!==null&&e(y)>e(x)?s(u,"Min idle runners cannot be greater than max runners"):s(u,"")}),gr(),nr(),yr(He,{$$events:{close:()=>L("close")},children:(b,I)=>{var _=Rr(),F=t(_),ve=t(F),qe=t(ve);d(ve),d(F);var H=o(F,2),me=t(H);{var Ke=r=>{var i=kr(),h=t(i),J=t(h,!0);d(h),d(i),p(()=>k(J,e(N))),l(r,i)};R(me,r=>{e(N)&&r(Ke)})}var pe=o(me,2);{var Qe=r=>{var i=wr(),h=t(i),J=t(h,!0);d(h),d(i),p(()=>k(J,e(u))),l(r,i)};R(pe,r=>{e(u)&&r(Qe)})}var W=o(pe,2),fe=o(t(W),2),q=t(fe),xe=o(t(q),2),Ve=t(xe,!0);d(xe),d(q);var ye=o(q,2),_e=o(t(ye),2),Xe=t(_e);{var Ye=r=>{var i=T();p(()=>k(i,`Repository: ${v(a()),m(()=>a().repo_name)??""}`)),l(r,i)},Ze=r=>{var i=ze(),h=Ce(i);{var J=w=>{var M=T();p(()=>k(M,`Organization: ${v(a()),m(()=>a().org_name)??""}`)),l(w,M)},dr=w=>{var M=ze(),or=Ce(M);{var sr=S=>{var z=T();p(()=>k(z,`Enterprise: ${v(a()),m(()=>a().enterprise_name)??""}`)),l(S,z)},ir=S=>{var z=T("Unknown Entity");l(S,z)};R(or,S=>{v(a()),m(()=>a().enterprise_name)?S(sr):S(ir,!1)},!0)}l(w,M)};R(h,w=>{v(a()),m(()=>a().org_name)?w(J):w(dr,!1)},!0)}l(r,i)};R(Xe,r=>{v(a()),m(()=>a().repo_name)?r(Ye):r(Ze,!1)})}d(_e),d(ye),d(fe),d(W);var K=o(W,2),he=o(t(K),2);c(he),d(K);var Q=o(K,2),ke=o(t(Q),2),V=t(ke),we=o(t(V),2);c(we),d(V);var X=o(V,2),Se=o(t(X),2);c(Se),d(X);var Y=o(X,2),Z=o(t(Y),2);p(()=>{e(E),je(()=>{})});var ee=t(Z);ee.value=ee.__value="linux";var Re=o(ee);Re.value=Re.__value="windows",d(Z),d(Y);var Ee=o(Y,2),re=o(t(Ee),2);p(()=>{e(O),je(()=>{})});var ae=t(re);ae.value=ae.__value="amd64";var Oe=o(ae);Oe.value=Oe.__value="arm64",d(re),d(Ee),d(ke),d(Q);var te=o(Q,2),Ie=o(t(te),2),de=t(Ie),oe=o(t(de),2);c(oe),d(de);var se=o(de,2),ie=o(t(se),2);c(ie),d(se);var Je=o(se,2),Me=o(t(Je),2);c(Me),d(Je),d(Ie),d(te);var ne=o(te,2),le=o(t(ne),2),ue=t(le),Te=o(t(ue),2);c(Te),d(ue);var Ae=o(ue,2),Ne=o(t(Ae),2);c(Ne),d(Ae),d(le);var be=o(le,2),Pe=t(be),er=o(t(Pe),2);hr(er,{rows:4,placeholder:"{}",get value(){return e(g)},set value(r){s(g,r)},$$legacy:!0}),d(Pe),d(be);var Ue=o(be,2),De=t(Ue);c(De),vr(2),d(Ue),d(ne);var Ge=o(ne,2),$e=t(Ge),ce=o($e,2),rr=t(ce);{var ar=r=>{var i=Sr();l(r,i)},tr=r=>{var i=T("Update Scale Set");l(r,i)};R(rr,r=>{e(A)?r(ar):r(tr,!1)})}d(ce),d(Ge),d(H),d(_),p(()=>{k(qe,`Update Scale Set ${v(a()),m(()=>a().name)??""}`),k(Ve,(v(a()),m(()=>a().provider_name))),Le(oe,1,`w-full px-3 py-2 border ${e(u)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),Le(ie,1,`w-full px-3 py-2 border ${e(u)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),ce.disabled=e(A)||e(u)!==""}),f(he,()=>e(P),r=>s(P,r)),f(we,()=>e(U),r=>s(U,r)),f(Se,()=>e(D),r=>s(D,r)),Fe(Z,()=>e(E),r=>s(E,r)),Fe(re,()=>e(O),r=>s(O,r)),f(oe,()=>e(y),r=>s(y,r)),f(ie,()=>e(x),r=>s(x,r)),f(Me,()=>e(G),r=>s(G,r)),f(Te,()=>e($),r=>s($,r)),f(Ne,()=>e(j),r=>s(j,r)),fr(De,()=>e(B),r=>s(B,r)),Be("click",$e,()=>L("close")),Be("submit",H,xr(We)),l(b,_)},$$slots:{default:!0}}),mr()}export{Dr as U}; +import"./DsnmJJEf.js";import{i as nr}from"./DT0EGONV.js";import{p as lr,E as ur,m as n,o as br,s,l as cr,g as e,a as gr,f as C,j as t,r as d,k as o,n as v,u as m,t as p,y as je,z as vr,v as k,e as Be,c as l,D as T,B as ze,b as Ce,d as mr}from"./CRKWEg6v.js";import{p as pr,i as R}from"./e1m7WRO5.js";import{r as c,s as Le,b as Fe}from"./PY0OOjWY.js";import{b as f,a as fr}from"./B3a35v7J.js";import{p as xr}from"./D4Caz1gY.js";import{M as yr}from"./XtdMJsQa.js";import{e as _r}from"./BZiHL9L3.js";import{J as hr}from"./D2iLJzzb.js";var kr=C('

'),wr=C('

'),Sr=C('
Updating...
'),Rr=C('

Scale Set Information

Provider:
Entity:

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
');function Dr(He,ge){lr(ge,!1);let a=pr(ge,"scaleSet",8);const L=ur();let A=n(!1),N=n(""),u=n(""),P=n(a().name||""),U=n(a().image||""),D=n(a().flavor||""),x=n(a().max_runners),y=n(a().min_idle_runners),G=n(a().runner_bootstrap_timeout),$=n(a().runner_prefix||""),E=n(a().os_type||"linux"),O=n(a().os_arch||"amd64"),j=n(a()["github-runner-group"]||""),B=n(a().enabled),g=n("{}");br(()=>{if(a().extra_specs)try{if(typeof a().extra_specs=="object")s(g,JSON.stringify(a().extra_specs,null,2));else{const b=JSON.parse(a().extra_specs);s(g,JSON.stringify(b,null,2))}}catch{s(g,a().extra_specs||"{}")}});async function We(){try{if(s(A,!0),s(N,""),e(u))throw new Error(e(u));let b={};if(e(g).trim())try{b=JSON.parse(e(g))}catch{throw new Error("Invalid JSON in extra specs")}const I={name:e(P)!==a().name?e(P):void 0,image:e(U)!==a().image?e(U):void 0,flavor:e(D)!==a().flavor?e(D):void 0,max_runners:e(x)!==a().max_runners?e(x):void 0,min_idle_runners:e(y)!==a().min_idle_runners?e(y):void 0,runner_bootstrap_timeout:e(G)!==a().runner_bootstrap_timeout?e(G):void 0,runner_prefix:e($)!==a().runner_prefix?e($):void 0,os_type:e(E)!==a().os_type?e(E):void 0,os_arch:e(O)!==a().os_arch?e(O):void 0,"github-runner-group":e(j)!==a()["github-runner-group"]&&e(j)||void 0,enabled:e(B)!==a().enabled?e(B):void 0,extra_specs:e(g).trim()!==JSON.stringify(a().extra_specs||{},null,2).trim()?b:void 0};Object.keys(I).forEach(_=>{I[_]===void 0&&delete I[_]}),L("submit",I)}catch(b){s(N,_r(b))}finally{s(A,!1)}}cr(()=>(e(y),e(x)),()=>{e(y)!==null&&e(x)!==null&&e(y)>e(x)?s(u,"Min idle runners cannot be greater than max runners"):s(u,"")}),gr(),nr(),yr(He,{$$events:{close:()=>L("close")},children:(b,I)=>{var _=Rr(),F=t(_),ve=t(F),qe=t(ve);d(ve),d(F);var H=o(F,2),me=t(H);{var Ke=r=>{var i=kr(),h=t(i),J=t(h,!0);d(h),d(i),p(()=>k(J,e(N))),l(r,i)};R(me,r=>{e(N)&&r(Ke)})}var pe=o(me,2);{var Qe=r=>{var i=wr(),h=t(i),J=t(h,!0);d(h),d(i),p(()=>k(J,e(u))),l(r,i)};R(pe,r=>{e(u)&&r(Qe)})}var W=o(pe,2),fe=o(t(W),2),q=t(fe),xe=o(t(q),2),Ve=t(xe,!0);d(xe),d(q);var ye=o(q,2),_e=o(t(ye),2),Xe=t(_e);{var Ye=r=>{var i=T();p(()=>k(i,`Repository: ${v(a()),m(()=>a().repo_name)??""}`)),l(r,i)},Ze=r=>{var i=ze(),h=Ce(i);{var J=w=>{var M=T();p(()=>k(M,`Organization: ${v(a()),m(()=>a().org_name)??""}`)),l(w,M)},dr=w=>{var M=ze(),or=Ce(M);{var sr=S=>{var z=T();p(()=>k(z,`Enterprise: ${v(a()),m(()=>a().enterprise_name)??""}`)),l(S,z)},ir=S=>{var z=T("Unknown Entity");l(S,z)};R(or,S=>{v(a()),m(()=>a().enterprise_name)?S(sr):S(ir,!1)},!0)}l(w,M)};R(h,w=>{v(a()),m(()=>a().org_name)?w(J):w(dr,!1)},!0)}l(r,i)};R(Xe,r=>{v(a()),m(()=>a().repo_name)?r(Ye):r(Ze,!1)})}d(_e),d(ye),d(fe),d(W);var K=o(W,2),he=o(t(K),2);c(he),d(K);var Q=o(K,2),ke=o(t(Q),2),V=t(ke),we=o(t(V),2);c(we),d(V);var X=o(V,2),Se=o(t(X),2);c(Se),d(X);var Y=o(X,2),Z=o(t(Y),2);p(()=>{e(E),je(()=>{})});var ee=t(Z);ee.value=ee.__value="linux";var Re=o(ee);Re.value=Re.__value="windows",d(Z),d(Y);var Ee=o(Y,2),re=o(t(Ee),2);p(()=>{e(O),je(()=>{})});var ae=t(re);ae.value=ae.__value="amd64";var Oe=o(ae);Oe.value=Oe.__value="arm64",d(re),d(Ee),d(ke),d(Q);var te=o(Q,2),Ie=o(t(te),2),de=t(Ie),oe=o(t(de),2);c(oe),d(de);var se=o(de,2),ie=o(t(se),2);c(ie),d(se);var Je=o(se,2),Me=o(t(Je),2);c(Me),d(Je),d(Ie),d(te);var ne=o(te,2),le=o(t(ne),2),ue=t(le),Te=o(t(ue),2);c(Te),d(ue);var Ae=o(ue,2),Ne=o(t(Ae),2);c(Ne),d(Ae),d(le);var be=o(le,2),Pe=t(be),er=o(t(Pe),2);hr(er,{rows:4,placeholder:"{}",get value(){return e(g)},set value(r){s(g,r)},$$legacy:!0}),d(Pe),d(be);var Ue=o(be,2),De=t(Ue);c(De),vr(2),d(Ue),d(ne);var Ge=o(ne,2),$e=t(Ge),ce=o($e,2),rr=t(ce);{var ar=r=>{var i=Sr();l(r,i)},tr=r=>{var i=T("Update Scale Set");l(r,i)};R(rr,r=>{e(A)?r(ar):r(tr,!1)})}d(ce),d(Ge),d(H),d(_),p(()=>{k(qe,`Update Scale Set ${v(a()),m(()=>a().name)??""}`),k(Ve,(v(a()),m(()=>a().provider_name))),Le(oe,1,`w-full px-3 py-2 border ${e(u)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),Le(ie,1,`w-full px-3 py-2 border ${e(u)?"border-red-300 dark:border-red-500":"border-gray-300 dark:border-gray-600"} rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white`),ce.disabled=e(A)||e(u)!==""}),f(he,()=>e(P),r=>s(P,r)),f(we,()=>e(U),r=>s(U,r)),f(Se,()=>e(D),r=>s(D,r)),Fe(Z,()=>e(E),r=>s(E,r)),Fe(re,()=>e(O),r=>s(O,r)),f(oe,()=>e(y),r=>s(y,r)),f(ie,()=>e(x),r=>s(x,r)),f(Me,()=>e(G),r=>s(G,r)),f(Te,()=>e($),r=>s($,r)),f(Ne,()=>e(j),r=>s(j,r)),fr(De,()=>e(B),r=>s(B,r)),Be("click",$e,()=>L("close")),Be("submit",H,xr(We)),l(b,_)},$$slots:{default:!0}}),mr()}export{Dr as U}; diff --git a/webapp/assets/_app/immutable/chunks/C98FZ6Lp.js b/webapp/assets/_app/immutable/chunks/Co9OVDfV.js similarity index 98% rename from webapp/assets/_app/immutable/chunks/C98FZ6Lp.js rename to webapp/assets/_app/immutable/chunks/Co9OVDfV.js index 335d542d..98fbfe30 100644 --- a/webapp/assets/_app/immutable/chunks/C98FZ6Lp.js +++ b/webapp/assets/_app/immutable/chunks/Co9OVDfV.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as ke}from"./zNh6Oe5P.js";import{V as ut,aU as gt,aV as ft,M as ht,O as mt,P as pt,Q as kt,R as xt,at as _t,K as Xe,L as yt,U as bt,T as wt,a8 as Mt,p as fe,l as $,s as ee,m as te,n as u,a as Le,C as ye,j as s,g as e,r as n,t as R,c as i,d as he,E as be,f as L,e as Ge,u as v,k as j,v as O,z as Se,D as Te,B as Q,b as q,x as Pt,q as X}from"./sWNKMed7.js";import{p as o,l as Ye,i as I,b as Ct}from"./Ccl3fNd2.js";import{e as de,i as ge}from"./BuuPrWMc.js";import{h as Ae,s as pe,i as jt,f as zt,B as Ce,r as Tt,c as Be,b as Lt,d as Ht,e as $e,j as It}from"./C1jihKTd.js";import{c as St}from"./CCYOsezl.js";import{b as At}from"./CLagxtgo.js";import{B as Bt,g as et,b as Et}from"./Qi7G5Z5O.js";function tt(S,r,g){Xe&&yt();var a=S,t=_t,p,h,m=null,f=ut()?gt:ft;function M(){p&&bt(p),m!==null&&(m.lastChild.remove(),a.before(m),m=null),p=h}ht(()=>{if(f(t,t=r())){var k=a,A=xt();A&&(m=document.createDocumentFragment(),m.append(k=mt())),h=pt(()=>g(k)),A?kt.add_callback(M):M()}}),Xe&&(a=wt)}function Fe(S,r){var g=S.$$events?.[r.type],a=Mt(g)?g.slice():g==null?[]:[g];for(var t of a)t.call(this,r)}var Dt=ye('');function Vt(S,r){fe(r,!1);const g=te();let a=o(r,"name",8),t=o(r,"class",8,"h-5 w-5");const p={plus:'',edit:'',delete:'',view:'',close:'',check:'',x:'',"chevron-left":'',"chevron-right":'',"chevron-down":'',"chevron-up":'',search:'',refresh:'',menu:'',settings:'',"check-circle":'',"x-circle":'',"exclamation-circle":'',"information-circle":'',loading:'',sun:'',moon:'',document:'',folder:''};$(()=>u(a()),()=>{ee(g,p[a()]||"")}),Le();var h=Dt(),m=s(h);Ae(m,()=>e(g),!0),n(h),R(()=>pe(h,0,`${t()}`)),i(S,h),he()}var Nt=L('');function rt(S,r){const g=Ye(r,["children","$$slots","$$events","$$legacy"]),a=Ye(g,["action","disabled","title","ariaLabel","size"]);fe(r,!1);const t=te(),p=te(),h=te(),m=te(),f=te(),M=te(),k=te(),A=te(),U=te(),V=be();let P=o(r,"action",8,"edit"),Z=o(r,"disabled",8,!1),B=o(r,"title",8,""),x=o(r,"ariaLabel",8,""),H=o(r,"size",8,"md");function D(){Z()||V("click")}$(()=>{},()=>{ee(t,"transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 dark:focus:ring-offset-gray-900 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50")}),$(()=>u(H()),()=>{ee(p,{sm:"p-1",md:"p-2"}[H()])}),$(()=>u(P()),()=>{ee(h,{edit:"text-indigo-600 dark:text-indigo-400 hover:text-indigo-900 dark:hover:text-indigo-300 focus:ring-indigo-500",delete:"text-red-600 dark:text-red-400 hover:text-red-900 dark:hover:text-red-300 focus:ring-red-500",view:"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-300 focus:ring-gray-500",add:"text-green-600 dark:text-green-400 hover:text-green-900 dark:hover:text-green-300 focus:ring-green-500"}[P()])}),$(()=>u(H()),()=>{ee(m,H()==="sm"?"h-4 w-4":"h-5 w-5")}),$(()=>(e(t),e(p),e(h)),()=>{ee(f,[e(t),e(p),e(h)].join(" "))}),$(()=>{},()=>{ee(M,{edit:'',delete:'',view:'',add:''})}),$(()=>{},()=>{ee(k,{edit:"Edit",delete:"Delete",view:"View",add:"Add"})}),$(()=>(u(B()),e(k),u(P())),()=>{ee(A,B()||e(k)[P()])}),$(()=>(u(x()),e(k),u(P())),()=>{ee(U,x()||`${e(k)[P()]} item`)}),Le(),ke();var F=Nt();jt(F,()=>({type:"button",class:e(f),disabled:Z(),title:e(A),"aria-label":e(U),...a}));var J=s(F),l=s(J);Ae(l,()=>(e(M),u(P()),v(()=>e(M)[P()])),!0),n(J),n(F),R(()=>pe(J,0,zt(e(m)))),Ge("click",F,D),i(S,F),he()}var Rt=L('

');function Ut(S,r){let g=o(r,"message",8,"Loading...");var a=Rt(),t=j(s(a),2),p=s(t,!0);n(t),n(a),R(()=>O(p,g())),i(S,a)}var qt=L('
'),Ot=L('

');function Ft(S,r){let g=o(r,"title",8,"Error"),a=o(r,"message",8),t=o(r,"showRetry",8,!1),p=o(r,"onRetry",8,void 0);var h=Ot(),m=s(h),f=s(m),M=j(s(f),2),k=s(M),A=s(k,!0);n(k);var U=j(k,2),V=s(U,!0);n(U);var P=j(U,2);{var Z=B=>{var x=qt(),H=s(x);Ce(H,{variant:"secondary",size:"sm",icon:"",class:"text-red-700 dark:text-red-200 bg-red-100 dark:bg-red-800 hover:bg-red-200 dark:hover:bg-red-700 focus:outline-none focus:bg-red-200 dark:focus:bg-red-700",$$events:{click(...D){p()?.apply(this,D)}},children:(D,F)=>{Se();var J=Te("Retry");i(D,J)},$$slots:{default:!0}}),n(x),i(B,x)};I(P,B=>{t()&&p()&&B(Z)})}n(M),n(f),n(m),n(h),R(()=>{O(A,g()),O(V,a())}),i(S,h)}var Gt=ye(''),Kt=ye(''),Qt=ye(''),Zt=ye(''),Jt=ye(''),Wt=ye(''),Xt=L('

');function Yt(S,r){let g=o(r,"title",8),a=o(r,"message",8),t=o(r,"iconType",8,"document");var p=Xt(),h=s(p);{var m=V=>{var P=Gt();i(V,P)},f=V=>{var P=Q(),Z=q(P);{var B=H=>{var D=Kt();i(H,D)},x=H=>{var D=Q(),F=q(D);{var J=d=>{var c=Qt();i(d,c)},l=d=>{var c=Q(),y=q(c);{var N=w=>{var E=Zt();i(w,E)},W=w=>{var E=Q(),z=q(E);{var C=T=>{var G=Jt();i(T,G)},_=T=>{var G=Q(),Y=q(G);{var re=ae=>{var ce=Wt();i(ae,ce)};I(Y,ae=>{t()==="settings"&&ae(re)},!0)}i(T,G)};I(z,T=>{t()==="key"?T(C):T(_,!1)},!0)}i(w,E)};I(y,w=>{t()==="cog"?w(N):w(W,!1)},!0)}i(d,c)};I(F,d=>{t()==="users"?d(J):d(l,!1)},!0)}i(H,D)};I(Z,H=>{t()==="building"?H(B):H(x,!1)},!0)}i(V,P)};I(h,V=>{t()==="document"?V(m):V(f,!1)})}var M=j(h,2),k=s(M,!0);n(M);var A=j(M,2),U=s(A,!0);n(A),n(p),R(()=>{O(k,g()),O(U,a())}),i(S,p)}var $t=L('
');function er(S,r){fe(r,!1);let g=o(r,"value",12,""),a=o(r,"placeholder",8,"Search..."),t=o(r,"disabled",8,!1);const p=be();function h(){p("input",g())}ke();var m=$t(),f=s(m),M=s(f);Vt(M,{name:"search",class:"h-5 w-5 text-gray-400"}),n(f);var k=j(f,2);Tt(k),n(m),R(()=>{Be(k,"placeholder",a()),k.disabled=t()}),At(k,g),Ge("input",k,h),i(S,m),he()}var tr=L(""),rr=L('
'),ar=L('
');function nr(S,r){fe(r,!1);let g=o(r,"searchTerm",12,""),a=o(r,"perPage",12,25),t=o(r,"placeholder",8,"Search..."),p=o(r,"showPerPageSelector",8,!0),h=o(r,"perPageOptions",24,()=>[25,50,100]);const m=be();function f(){m("search",{term:g()})}function M(){m("perPageChange",{perPage:a()})}ke();var k=ar(),A=s(k),U=s(A),V=s(U),P=j(s(V),2);er(P,{get placeholder(){return t()},get value(){return g()},set value(x){g(x)},$$events:{input:f},$$legacy:!0}),n(V),n(U);var Z=j(U,2);{var B=x=>{var H=rr(),D=s(H),F=j(s(D),2);R(()=>{a(),Pt(()=>{h()})}),de(F,5,h,ge,(J,l)=>{var d=tr(),c=s(d,!0);n(d);var y={};R(()=>{O(c,e(l)),y!==(y=e(l))&&(d.value=(d.__value=e(l))??"")}),i(J,d)}),n(F),n(D),n(H),Lt(F,a),Ge("change",F,M),i(x,H)};I(Z,x=>{p()&&x(B)})}n(A),n(k),i(S,k),he()}var ir=L('Showing to of ',1),or=L('
');function sr(S,r){fe(r,!1);const g=te(),a=te();let t=o(r,"currentPage",8,1),p=o(r,"totalPages",8,1),h=o(r,"perPage",8,25),m=o(r,"totalItems",8,0),f=o(r,"itemName",8,"results");const M=be();function k(P){P>=1&&P<=p()&&P!==t()&&M("pageChange",{page:P})}$(()=>(u(m()),u(t()),u(h())),()=>{ee(g,m()===0?0:(t()-1)*h()+1)}),$(()=>(u(t()),u(h()),u(m())),()=>{ee(a,Math.min(t()*h(),m()))}),Le(),ke();var A=Q(),U=q(A);{var V=P=>{var Z=or(),B=s(Z),x=s(B);{let z=X(()=>t()===1);Ce(x,{variant:"secondary",get disabled(){return e(z)},$$events:{click:()=>k(t()-1)},children:(C,_)=>{Se();var T=Te("Previous");i(C,T)},$$slots:{default:!0}})}var H=j(x,2);{let z=X(()=>t()===p());Ce(H,{variant:"secondary",get disabled(){return e(z)},class:"ml-3",$$events:{click:()=>k(t()+1)},children:(C,_)=>{Se();var T=Te("Next");i(C,T)},$$slots:{default:!0}})}n(B);var D=j(B,2),F=s(D),J=s(F),l=s(J);{var d=z=>{var C=Te();R(()=>O(C,`No ${f()??""}`)),i(z,C)},c=z=>{var C=ir(),_=j(q(C)),T=s(_,!0);n(_);var G=j(_,2),Y=s(G,!0);n(G);var re=j(G,2),ae=s(re,!0);n(re);var ce=j(re);R(()=>{O(T,e(g)),O(Y,e(a)),O(ae,m()),O(ce,` ${f()??""}`)}),i(z,C)};I(l,z=>{m()===0?z(d):z(c,!1)})}n(J),n(F);var y=j(F,2),N=s(y),W=s(N);{let z=X(()=>t()===1);Ce(W,{variant:"secondary",size:"sm",get disabled(){return e(z)},class:"rounded-r-none","aria-label":"Previous page",icon:"",$$events:{click:()=>k(t()-1)}})}var w=j(W,2);de(w,1,()=>(u(p()),v(()=>Array(p()))),ge,(z,C,_)=>{const T=X(()=>_+1);{let G=X(()=>e(T)===t()?"primary":"secondary");Ce(z,{get variant(){return e(G)},size:"sm",class:"rounded-none border-l-0 first:border-l first:rounded-l-md",$$events:{click:()=>k(e(T))},children:(Y,re)=>{Se();var ae=Te();R(()=>O(ae,e(T))),i(Y,ae)},$$slots:{default:!0}})}});var E=j(w,2);{let z=X(()=>t()===p());Ce(E,{variant:"secondary",size:"sm",get disabled(){return e(z)},class:"rounded-l-none","aria-label":"Next page",icon:"",$$events:{click:()=>k(t()+1)}})}n(N),n(y),n(D),n(Z),i(P,Z)};I(U,P=>{p()>1&&P(V)})}i(S,A),he()}var lr=L('

'),dr=L('

'),cr=L('

'),vr=L('

'),ur=L('
'),gr=L('
'),fr=L('
'),hr=L(" "),mr=L('
'),pr=L('
');function kr(S,r){fe(r,!1);const g=be();let a=o(r,"item",8),t=o(r,"config",8);function p(){if(!a())return"Unknown";const{field:l,useId:d,showOwner:c}=t().primaryText,y=a()[l];return d&&y?`${y.slice(0,8)}...`:c&&a().owner&&a().name?`${a().owner}/${a().name}`:y||"Unknown"}function h(){if(!t().secondaryText)return"";const{field:l,computedValue:d}=t().secondaryText;return d!==void 0?typeof d=="function"?d(a()):d:a()?.[l]||""}function m(){if(!t().primaryText.href||!a())return"#";let l=t().primaryText.href;return l=l.replace("{id}",a().id||""),l=l.replace("{name}",encodeURIComponent(a().name||"")),Ht(l)}function f(l){if(!a())return;const d=t().actions?.find(c=>c.type===l);d&&d.handler(a()),l==="edit"?g("edit",{item:a()}):l==="delete"?g("delete",{item:a()}):g("action",{type:l,item:a()})}function M(l){switch(l.type){case"status":if(t().entityType==="instance"){const c=a()?.[l.field]||"unknown";let y="neutral",N=c.charAt(0).toUpperCase()+c.slice(1);return l.field==="status"?y=c==="running"?"success":c==="pending"||c==="creating"?"info":c==="failed"||c==="error"?"error":"neutral":l.field==="runner_status"&&(y=c==="idle"?"info":c==="active"||c==="running"?"success":c==="failed"||c==="error"?"error":"neutral"),{variant:y,text:N}}return{variant:"neutral",text:a()?.[l.field]||"Unknown"};case"forge":return{variant:"neutral",text:a()?.[l.field]||"unknown"};case"auth":const d=a()?.[l.field]||"pat";return{variant:d==="pat"?"success":"info",text:d.toUpperCase()};case"custom":if(typeof l.value=="function"){const c=l.value(a());return{variant:c?.variant||"neutral",text:c?.text||""}}return{variant:l.value?.variant||"neutral",text:l.value?.text||""};default:return{variant:"neutral",text:""}}}ke();var k=pr(),A=s(k),U=s(A);{var V=l=>{var d=dr(),c=s(d),y=s(c,!0);n(c);var N=j(c,2);{var W=w=>{var E=lr(),z=s(E,!0);n(E),R(C=>O(z,C),[()=>v(h)]),i(w,E)};I(N,w=>{u(t()),v(()=>t().secondaryText)&&w(W)})}n(d),R((w,E)=>{Be(d,"href",w),pe(c,1,`text-sm font-medium text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 truncate${u(t()),v(()=>t().primaryText.isMonospace?" font-mono":"")??""}`),O(y,E)},[()=>v(m),()=>v(p)]),i(l,d)},P=l=>{var d=vr(),c=s(d),y=s(c,!0);n(c);var N=j(c,2);{var W=w=>{var E=cr(),z=s(E,!0);n(E),R(C=>O(z,C),[()=>v(h)]),i(w,E)};I(N,w=>{u(t()),v(()=>t().secondaryText)&&w(W)})}n(d),R(w=>O(y,w),[()=>v(p)]),i(l,d)};I(U,l=>{u(t()),v(()=>t().primaryText.isClickable)?l(V):l(P,!1)})}var Z=j(U,2);{var B=l=>{var d=fr(),c=s(d);{var y=w=>{var E=Q(),z=q(E);de(z,1,()=>(u(t()),v(()=>t().customInfo)),ge,(C,_)=>{const T=X(()=>(e(_),u(a()),v(()=>typeof e(_).icon=="function"?e(_).icon(a()):e(_).icon))),G=X(()=>(e(_),u(a()),v(()=>typeof e(_).text=="function"?e(_).text(a()):e(_).text)));var Y=ur(),re=s(Y);{var ae=je=>{var He=Q(),De=q(He);Ae(De,()=>e(T)),i(je,He)};I(re,je=>{e(T)&&je(ae)})}var ce=j(re,2),Ee=s(ce,!0);n(ce),n(Y),R(()=>O(Ee,e(G))),i(C,Y)}),i(w,E)};I(c,w=>{u(t()),v(()=>t().customInfo)&&w(y)})}var N=j(c,2);{var W=w=>{var E=Q(),z=q(E);de(z,1,()=>(u(t()),v(()=>t().badges.filter(C=>C.type==="forge"))),ge,(C,_)=>{var T=gr(),G=s(T);Ae(G,()=>(u(et),e(_),u(a()),v(()=>et(e(_).field?a()?.[e(_).field]||"unknown":a()?.endpoint?.endpoint_type||"unknown"))));var Y=j(G,2),re=s(Y,!0);n(Y),n(T),R(()=>O(re,(u(a()),v(()=>a()?.endpoint?.name||"Unknown")))),i(C,T)}),i(w,E)};I(N,w=>{u(t()),v(()=>t().badges)&&w(W)})}n(d),i(l,d)};I(Z,l=>{u(t()),v(()=>t().customInfo||t().badges?.some(d=>d.type==="forge"))&&l(B)})}n(A);var x=j(A,2),H=s(x);{var D=l=>{var d=Q(),c=q(d);de(c,1,()=>(u(t()),v(()=>t().badges.filter(y=>y.type!=="forge"))),ge,(y,N)=>{var W=Q(),w=q(W);{var E=C=>{const _=X(()=>(e(N),v(()=>M(e(N)))));var T=hr(),G=s(T,!0);n(T),R(()=>{pe(T,1,`inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ring-1 ring-inset ${u(e(_)),v(()=>e(_).variant==="success"?"bg-green-50 text-green-700 ring-green-600/20 dark:bg-green-900/50 dark:text-green-300 dark:ring-green-400/20":e(_).variant==="info"?"bg-blue-50 text-blue-700 ring-blue-600/20 dark:bg-blue-900/50 dark:text-blue-300 dark:ring-blue-400/20":e(_).variant==="error"?"bg-red-50 text-red-700 ring-red-600/20 dark:bg-red-900/50 dark:text-red-300 dark:ring-red-400/20":"bg-gray-50 text-gray-700 ring-gray-600/20 dark:bg-gray-900/50 dark:text-gray-300 dark:ring-gray-400/20")??""}`),O(G,(u(e(_)),v(()=>e(_).text)))}),i(C,T)},z=C=>{const _=X(()=>(e(N),v(()=>M(e(N)))));Bt(C,{get variant(){return u(e(_)),v(()=>e(_).variant)},get text(){return u(e(_)),v(()=>e(_).text)}})};I(w,C=>{e(N),v(()=>e(N).type==="status")?C(E):C(z,!1)})}i(y,W)}),i(l,d)};I(H,l=>{u(t()),v(()=>t().badges)&&l(D)})}var F=j(H,2);{var J=l=>{var d=mr();de(d,5,()=>(u(t()),v(()=>t().actions)),ge,(c,y)=>{{let N=X(()=>(e(y),u(t()),v(()=>e(y).type==="edit"?`Edit ${t().entityType}`:`Delete ${t().entityType}`))),W=X(()=>(e(y),u(t()),v(()=>e(y).type==="edit"?`Edit ${t().entityType}`:`Delete ${t().entityType}`)));rt(c,{get action(){return e(y),v(()=>e(y).type)},size:"sm",get title(){return e(N)},get ariaLabel(){return e(W)},$$events:{click:()=>f(e(y).type)}})}}),n(d),i(l,d)};I(F,l=>{u(t()),v(()=>t().actions)&&l(J)})}n(x),n(k),i(S,k),he()}var xr=L('
'),_r=L('
'),yr=L("
"),br=L("
"),wr=L(' ',1),Mr=L('
');function Dr(S,r){fe(r,!1);const g=te();let a=o(r,"columns",24,()=>[]),t=o(r,"data",24,()=>[]),p=o(r,"loading",8,!1),h=o(r,"error",8,""),m=o(r,"totalItems",8,0),f=o(r,"itemName",8,"results"),M=o(r,"searchTerm",12,""),k=o(r,"searchPlaceholder",8,"Search..."),A=o(r,"showSearch",8,!0),U=o(r,"currentPage",8,1),V=o(r,"perPage",12,25),P=o(r,"totalPages",8,1),Z=o(r,"showPagination",8,!0),B=o(r,"showPerPageSelector",8,!0),x=o(r,"emptyTitle",8,"No items found"),H=o(r,"emptyMessage",8,""),D=o(r,"emptyIconType",8,"document"),F=o(r,"errorTitle",8,"Error loading data"),J=o(r,"showRetry",8,!1),l=o(r,"showMobileCards",8,!0),d=o(r,"mobileCardConfig",8,null);const c=be();function y(b){c("search",b.detail)}function N(b){c("pageChange",b.detail)}function W(b){c("perPageChange",b.detail)}function w(){c("retry")}function E(b){c("edit",b.detail)}function z(b){c("delete",b.detail)}function C(b){c("action",b.detail)}function _(b){const ve="px-6 py-4 text-sm",Ve=b.align==="right"?"text-right":b.align==="center"?"text-center":"text-left",Ne=b.key==="actions"?"font-medium":"text-gray-900 dark:text-white",Re=b.flexible?"min-w-0":"";return`${ve} ${Ve} ${Ne} ${Re}`.trim()}function T(){return a().map(b=>b.flexible?`${b.flexRatio||1}fr`:"auto").join(" ")}$(()=>(u(H()),u(M()),u(f())),()=>{ee(g,H()||(M()?`No items found matching "${M()}"`:`No ${f()} found`))}),Le(),ke();var G=Mr(),Y=s(G);{var re=b=>{nr(b,{get placeholder(){return k()},get showPerPageSelector(){return B()},get searchTerm(){return M()},set searchTerm(ve){M(ve)},get perPage(){return V()},set perPage(ve){V(ve)},$$events:{search:y,perPageChange:W},$$legacy:!0})};I(Y,b=>{A()&&b(re)})}var ae=j(Y,2),ce=s(ae);{var Ee=b=>{Ut(b,{get message(){return`Loading ${f()??""}...`}})},je=b=>{var ve=Q(),Ve=q(ve);{var Ne=we=>{{let Ie=X(()=>J()?w:void 0);Ft(we,{get title(){return F()},get message(){return h()},get showRetry(){return J()},get onRetry(){return e(Ie)}})}},Re=we=>{var Ie=Q(),at=q(Ie);{var nt=Me=>{Yt(Me,{get title(){return x()},get message(){return e(g)},get iconType(){return D()}})},it=Me=>{var Ke=wr(),Qe=q(Ke);{var ot=oe=>{var K=_r();de(K,7,t,(le,ne)=>le.id||le.name||ne,(le,ne,qe)=>{var ze=xr(),ie=s(ze);{var Pe=me=>{var xe=Q(),se=q(xe);tt(se,()=>(e(ne),v(()=>`${e(ne).id||e(ne).name}-${e(ne).updated_at}-mobile`)),_e=>{kr(_e,{get item(){return e(ne)},get config(){return d()},$$events:{edit(ue){Fe.call(this,r,ue)},delete(ue){Fe.call(this,r,ue)},action(ue){Fe.call(this,r,ue)}}})}),i(me,xe)},Oe=me=>{var xe=Q(),se=q(xe);$e(se,r,"mobile-card",{get item(){return e(ne)},get index(){return e(qe)}}),i(me,xe)};I(ie,me=>{d()?me(Pe):me(Oe,!1)})}n(ze),i(le,ze)}),n(K),i(oe,K)};I(Qe,oe=>{l()&&oe(ot)})}var Ze=j(Qe,2),Ue=s(Ze),Je=s(Ue);de(Je,1,a,ge,(oe,K)=>{var le=yr(),ne=s(le,!0);n(le),R(()=>{pe(le,1,`px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600 ${e(K),v(()=>e(K).align==="right"?"text-right":e(K).align==="center"?"text-center":"text-left")??""}`),O(ne,(e(K),v(()=>e(K).title)))}),i(oe,le)});var st=j(Je,2);de(st,3,t,(oe,K)=>oe.id||oe.name||K,(oe,K,le)=>{var ne=Q(),qe=q(ne);de(qe,1,a,ge,(ze,ie)=>{var Pe=br(),Oe=s(Pe);{var me=se=>{var _e=Q(),ue=q(_e);tt(ue,()=>(e(K),e(ie),v(()=>`${e(K).id||e(K).name}-${e(K).updated_at}-${e(ie).key}`)),lt=>{var We=Q(),dt=q(We);St(dt,()=>e(ie).cellComponent,(ct,vt)=>{vt(ct,Ct({get item(){return e(K)}},()=>e(ie).cellProps,{$$events:{edit:E,delete:z,action:C}}))}),i(lt,We)}),i(se,_e)},xe=se=>{var _e=Q(),ue=q(_e);$e(ue,r,"cell",{get item(){return e(K)},get column(){return e(ie)},get index(){return e(le)},get value(){return e(K),e(ie),v(()=>e(K)[e(ie).key])}}),i(se,_e)};I(Oe,se=>{e(ie),v(()=>e(ie).cellComponent)?se(me):se(xe,!1)})}n(Pe),R(se=>pe(Pe,1,`${se??""} border-b border-gray-200 dark:border-gray-700`),[()=>(e(ie),v(()=>_(e(ie))))]),i(ze,Pe)}),i(oe,ne)}),n(Ue),n(Ze),R(oe=>It(Ue,`grid-template-columns: ${oe??""}`),[()=>v(T)]),i(Me,Ke)};I(at,Me=>{u(t()),v(()=>t().length===0)?Me(nt):Me(it,!1)},!0)}i(we,Ie)};I(Ve,we=>{h()?we(Ne):we(Re,!1)},!0)}i(b,ve)};I(ce,b=>{p()?b(Ee):b(je,!1)})}var He=j(ce,2);{var De=b=>{sr(b,{get currentPage(){return U()},get totalPages(){return P()},get perPage(){return V()},get totalItems(){return m()},get itemName(){return f()},$$events:{pageChange:N}})};I(He,b=>{u(Z()),u(p()),u(h()),u(t()),v(()=>Z()&&!p()&&!h()&&t().length>0)&&b(De)})}n(ae),n(G),i(S,G),he()}var Pr=L('
');function Vr(S,r){fe(r,!1);const g=be();let a=o(r,"item",8),t=o(r,"actions",24,()=>[{type:"edit",title:"Edit",ariaLabel:"Edit item",action:"edit"},{type:"delete",title:"Delete",ariaLabel:"Delete item",action:"delete"}]);function p(m){a()&&(m==="edit"?g("edit",{item:a()}):m==="delete"?g("delete",{item:a()}):g("action",{type:m,item:a()}))}ke();var h=Pr();de(h,5,t,ge,(m,f)=>{{let M=X(()=>(e(f),v(()=>e(f).action||(e(f).type==="edit"?"edit":e(f).type==="delete"?"delete":"view")))),k=X(()=>(e(f),v(()=>e(f).title||(e(f).type==="edit"?"Edit":e(f).type==="delete"?"Delete":e(f).label)))),A=X(()=>(e(f),v(()=>e(f).ariaLabel||(e(f).type==="edit"?"Edit item":e(f).type==="delete"?"Delete item":e(f).label))));rt(m,{get action(){return e(M)},get title(){return e(k)},get ariaLabel(){return e(A)},$$events:{click:()=>p(e(f).type)}})}}),n(h),i(S,h),he()}var Cr=L(" "),jr=L(" ");function Nr(S,r){fe(r,!1);const g=te(),a=te();let t=o(r,"item",8),p=o(r,"field",8),h=o(r,"type",8,"text"),m=o(r,"truncateLength",8,50),f=o(r,"showTitle",8,!1);function M(){return t()&&p().split(".").reduce((B,x)=>B?.[x],t())||""}function k(){return h()==="date"?Et(e(g)):h()==="truncated"&&e(g).length>m()?`${e(g).slice(0,m())}...`:e(g)}function A(){switch(h()){case"code":return"inline-block max-w-full truncate bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs font-mono";case"description":return"block w-full truncate text-sm text-gray-500 dark:text-gray-300";case"date":return"block w-full truncate text-sm text-gray-900 dark:text-white font-mono";default:return"block w-full truncate text-sm text-gray-900 dark:text-white"}}$(()=>{},()=>{ee(g,M())}),$(()=>{},()=>{ee(a,k())}),Le(),ke();var U=Q(),V=q(U);{var P=B=>{var x=Cr(),H=s(x,!0);n(x),R(D=>{pe(x,1,`${D??""} ${f()?"cursor-default":""}`),Be(x,"title",f()?e(g):""),O(H,e(a))},[()=>v(A)]),i(B,x)},Z=B=>{var x=jr(),H=s(x,!0);n(x),R(D=>{pe(x,1,`${D??""} ${f()?"cursor-default":""}`),Be(x,"title",f()?e(g):""),O(H,e(a))},[()=>v(A)]),i(B,x)};I(V,B=>{h()==="code"?B(P):B(Z,!1)})}i(S,U),he()}export{rt as A,Dr as D,Nr as G,Ut as L,Vr as a,tt as k}; +import"./DsnmJJEf.js";import{i as ke}from"./DT0EGONV.js";import{V as ut,aU as gt,aV as ft,M as ht,O as mt,P as pt,Q as kt,R as xt,at as _t,K as Xe,L as yt,U as bt,T as wt,a8 as Mt,p as fe,l as $,s as ee,m as te,n as u,a as Le,C as ye,j as s,g as e,r as n,t as R,c as i,d as he,E as be,f as L,e as Ge,u as v,k as j,v as O,z as Se,D as Te,B as Q,b as q,y as Pt,q as X}from"./CRKWEg6v.js";import{p as o,l as Ye,i as I,b as Ct}from"./e1m7WRO5.js";import{e as de,i as ge}from"./C73ZVvpW.js";import{h as Ae,s as pe,i as jt,f as zt,B as Ce,r as Tt,c as Be,b as Lt,d as Ht,e as $e,j as It}from"./PY0OOjWY.js";import{c as St}from"./Ddit_D7n.js";import{b as At}from"./B3a35v7J.js";import{B as Bt,g as et,b as Et}from"./BK-OTA7g.js";function tt(S,r,g){Xe&&yt();var a=S,t=_t,p,h,m=null,f=ut()?gt:ft;function M(){p&&bt(p),m!==null&&(m.lastChild.remove(),a.before(m),m=null),p=h}ht(()=>{if(f(t,t=r())){var k=a,A=xt();A&&(m=document.createDocumentFragment(),m.append(k=mt())),h=pt(()=>g(k)),A?kt.add_callback(M):M()}}),Xe&&(a=wt)}function Fe(S,r){var g=S.$$events?.[r.type],a=Mt(g)?g.slice():g==null?[]:[g];for(var t of a)t.call(this,r)}var Dt=ye('');function Vt(S,r){fe(r,!1);const g=te();let a=o(r,"name",8),t=o(r,"class",8,"h-5 w-5");const p={plus:'',edit:'',delete:'',view:'',close:'',check:'',x:'',"chevron-left":'',"chevron-right":'',"chevron-down":'',"chevron-up":'',search:'',refresh:'',menu:'',settings:'',"check-circle":'',"x-circle":'',"exclamation-circle":'',"information-circle":'',loading:'',sun:'',moon:'',document:'',folder:''};$(()=>u(a()),()=>{ee(g,p[a()]||"")}),Le();var h=Dt(),m=s(h);Ae(m,()=>e(g),!0),n(h),R(()=>pe(h,0,`${t()}`)),i(S,h),he()}var Nt=L('');function rt(S,r){const g=Ye(r,["children","$$slots","$$events","$$legacy"]),a=Ye(g,["action","disabled","title","ariaLabel","size"]);fe(r,!1);const t=te(),p=te(),h=te(),m=te(),f=te(),M=te(),k=te(),A=te(),U=te(),V=be();let P=o(r,"action",8,"edit"),Z=o(r,"disabled",8,!1),B=o(r,"title",8,""),x=o(r,"ariaLabel",8,""),H=o(r,"size",8,"md");function D(){Z()||V("click")}$(()=>{},()=>{ee(t,"transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2 dark:focus:ring-offset-gray-900 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50")}),$(()=>u(H()),()=>{ee(p,{sm:"p-1",md:"p-2"}[H()])}),$(()=>u(P()),()=>{ee(h,{edit:"text-indigo-600 dark:text-indigo-400 hover:text-indigo-900 dark:hover:text-indigo-300 focus:ring-indigo-500",delete:"text-red-600 dark:text-red-400 hover:text-red-900 dark:hover:text-red-300 focus:ring-red-500",view:"text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-300 focus:ring-gray-500",add:"text-green-600 dark:text-green-400 hover:text-green-900 dark:hover:text-green-300 focus:ring-green-500"}[P()])}),$(()=>u(H()),()=>{ee(m,H()==="sm"?"h-4 w-4":"h-5 w-5")}),$(()=>(e(t),e(p),e(h)),()=>{ee(f,[e(t),e(p),e(h)].join(" "))}),$(()=>{},()=>{ee(M,{edit:'',delete:'',view:'',add:''})}),$(()=>{},()=>{ee(k,{edit:"Edit",delete:"Delete",view:"View",add:"Add"})}),$(()=>(u(B()),e(k),u(P())),()=>{ee(A,B()||e(k)[P()])}),$(()=>(u(x()),e(k),u(P())),()=>{ee(U,x()||`${e(k)[P()]} item`)}),Le(),ke();var F=Nt();jt(F,()=>({type:"button",class:e(f),disabled:Z(),title:e(A),"aria-label":e(U),...a}));var J=s(F),l=s(J);Ae(l,()=>(e(M),u(P()),v(()=>e(M)[P()])),!0),n(J),n(F),R(()=>pe(J,0,zt(e(m)))),Ge("click",F,D),i(S,F),he()}var Rt=L('

');function Ut(S,r){let g=o(r,"message",8,"Loading...");var a=Rt(),t=j(s(a),2),p=s(t,!0);n(t),n(a),R(()=>O(p,g())),i(S,a)}var qt=L('
'),Ot=L('

');function Ft(S,r){let g=o(r,"title",8,"Error"),a=o(r,"message",8),t=o(r,"showRetry",8,!1),p=o(r,"onRetry",8,void 0);var h=Ot(),m=s(h),f=s(m),M=j(s(f),2),k=s(M),A=s(k,!0);n(k);var U=j(k,2),V=s(U,!0);n(U);var P=j(U,2);{var Z=B=>{var x=qt(),H=s(x);Ce(H,{variant:"secondary",size:"sm",icon:"",class:"text-red-700 dark:text-red-200 bg-red-100 dark:bg-red-800 hover:bg-red-200 dark:hover:bg-red-700 focus:outline-none focus:bg-red-200 dark:focus:bg-red-700",$$events:{click(...D){p()?.apply(this,D)}},children:(D,F)=>{Se();var J=Te("Retry");i(D,J)},$$slots:{default:!0}}),n(x),i(B,x)};I(P,B=>{t()&&p()&&B(Z)})}n(M),n(f),n(m),n(h),R(()=>{O(A,g()),O(V,a())}),i(S,h)}var Gt=ye(''),Kt=ye(''),Qt=ye(''),Zt=ye(''),Jt=ye(''),Wt=ye(''),Xt=L('

');function Yt(S,r){let g=o(r,"title",8),a=o(r,"message",8),t=o(r,"iconType",8,"document");var p=Xt(),h=s(p);{var m=V=>{var P=Gt();i(V,P)},f=V=>{var P=Q(),Z=q(P);{var B=H=>{var D=Kt();i(H,D)},x=H=>{var D=Q(),F=q(D);{var J=d=>{var c=Qt();i(d,c)},l=d=>{var c=Q(),y=q(c);{var N=w=>{var E=Zt();i(w,E)},W=w=>{var E=Q(),z=q(E);{var C=T=>{var G=Jt();i(T,G)},_=T=>{var G=Q(),Y=q(G);{var re=ae=>{var ce=Wt();i(ae,ce)};I(Y,ae=>{t()==="settings"&&ae(re)},!0)}i(T,G)};I(z,T=>{t()==="key"?T(C):T(_,!1)},!0)}i(w,E)};I(y,w=>{t()==="cog"?w(N):w(W,!1)},!0)}i(d,c)};I(F,d=>{t()==="users"?d(J):d(l,!1)},!0)}i(H,D)};I(Z,H=>{t()==="building"?H(B):H(x,!1)},!0)}i(V,P)};I(h,V=>{t()==="document"?V(m):V(f,!1)})}var M=j(h,2),k=s(M,!0);n(M);var A=j(M,2),U=s(A,!0);n(A),n(p),R(()=>{O(k,g()),O(U,a())}),i(S,p)}var $t=L('
');function er(S,r){fe(r,!1);let g=o(r,"value",12,""),a=o(r,"placeholder",8,"Search..."),t=o(r,"disabled",8,!1);const p=be();function h(){p("input",g())}ke();var m=$t(),f=s(m),M=s(f);Vt(M,{name:"search",class:"h-5 w-5 text-gray-400"}),n(f);var k=j(f,2);Tt(k),n(m),R(()=>{Be(k,"placeholder",a()),k.disabled=t()}),At(k,g),Ge("input",k,h),i(S,m),he()}var tr=L(""),rr=L('
'),ar=L('
');function nr(S,r){fe(r,!1);let g=o(r,"searchTerm",12,""),a=o(r,"perPage",12,25),t=o(r,"placeholder",8,"Search..."),p=o(r,"showPerPageSelector",8,!0),h=o(r,"perPageOptions",24,()=>[25,50,100]);const m=be();function f(){m("search",{term:g()})}function M(){m("perPageChange",{perPage:a()})}ke();var k=ar(),A=s(k),U=s(A),V=s(U),P=j(s(V),2);er(P,{get placeholder(){return t()},get value(){return g()},set value(x){g(x)},$$events:{input:f},$$legacy:!0}),n(V),n(U);var Z=j(U,2);{var B=x=>{var H=rr(),D=s(H),F=j(s(D),2);R(()=>{a(),Pt(()=>{h()})}),de(F,5,h,ge,(J,l)=>{var d=tr(),c=s(d,!0);n(d);var y={};R(()=>{O(c,e(l)),y!==(y=e(l))&&(d.value=(d.__value=e(l))??"")}),i(J,d)}),n(F),n(D),n(H),Lt(F,a),Ge("change",F,M),i(x,H)};I(Z,x=>{p()&&x(B)})}n(A),n(k),i(S,k),he()}var ir=L('Showing to of ',1),or=L('
');function sr(S,r){fe(r,!1);const g=te(),a=te();let t=o(r,"currentPage",8,1),p=o(r,"totalPages",8,1),h=o(r,"perPage",8,25),m=o(r,"totalItems",8,0),f=o(r,"itemName",8,"results");const M=be();function k(P){P>=1&&P<=p()&&P!==t()&&M("pageChange",{page:P})}$(()=>(u(m()),u(t()),u(h())),()=>{ee(g,m()===0?0:(t()-1)*h()+1)}),$(()=>(u(t()),u(h()),u(m())),()=>{ee(a,Math.min(t()*h(),m()))}),Le(),ke();var A=Q(),U=q(A);{var V=P=>{var Z=or(),B=s(Z),x=s(B);{let z=X(()=>t()===1);Ce(x,{variant:"secondary",get disabled(){return e(z)},$$events:{click:()=>k(t()-1)},children:(C,_)=>{Se();var T=Te("Previous");i(C,T)},$$slots:{default:!0}})}var H=j(x,2);{let z=X(()=>t()===p());Ce(H,{variant:"secondary",get disabled(){return e(z)},class:"ml-3",$$events:{click:()=>k(t()+1)},children:(C,_)=>{Se();var T=Te("Next");i(C,T)},$$slots:{default:!0}})}n(B);var D=j(B,2),F=s(D),J=s(F),l=s(J);{var d=z=>{var C=Te();R(()=>O(C,`No ${f()??""}`)),i(z,C)},c=z=>{var C=ir(),_=j(q(C)),T=s(_,!0);n(_);var G=j(_,2),Y=s(G,!0);n(G);var re=j(G,2),ae=s(re,!0);n(re);var ce=j(re);R(()=>{O(T,e(g)),O(Y,e(a)),O(ae,m()),O(ce,` ${f()??""}`)}),i(z,C)};I(l,z=>{m()===0?z(d):z(c,!1)})}n(J),n(F);var y=j(F,2),N=s(y),W=s(N);{let z=X(()=>t()===1);Ce(W,{variant:"secondary",size:"sm",get disabled(){return e(z)},class:"rounded-r-none","aria-label":"Previous page",icon:"",$$events:{click:()=>k(t()-1)}})}var w=j(W,2);de(w,1,()=>(u(p()),v(()=>Array(p()))),ge,(z,C,_)=>{const T=X(()=>_+1);{let G=X(()=>e(T)===t()?"primary":"secondary");Ce(z,{get variant(){return e(G)},size:"sm",class:"rounded-none border-l-0 first:border-l first:rounded-l-md",$$events:{click:()=>k(e(T))},children:(Y,re)=>{Se();var ae=Te();R(()=>O(ae,e(T))),i(Y,ae)},$$slots:{default:!0}})}});var E=j(w,2);{let z=X(()=>t()===p());Ce(E,{variant:"secondary",size:"sm",get disabled(){return e(z)},class:"rounded-l-none","aria-label":"Next page",icon:"",$$events:{click:()=>k(t()+1)}})}n(N),n(y),n(D),n(Z),i(P,Z)};I(U,P=>{p()>1&&P(V)})}i(S,A),he()}var lr=L('

'),dr=L('

'),cr=L('

'),vr=L('

'),ur=L('
'),gr=L('
'),fr=L('
'),hr=L(" "),mr=L('
'),pr=L('
');function kr(S,r){fe(r,!1);const g=be();let a=o(r,"item",8),t=o(r,"config",8);function p(){if(!a())return"Unknown";const{field:l,useId:d,showOwner:c}=t().primaryText,y=a()[l];return d&&y?`${y.slice(0,8)}...`:c&&a().owner&&a().name?`${a().owner}/${a().name}`:y||"Unknown"}function h(){if(!t().secondaryText)return"";const{field:l,computedValue:d}=t().secondaryText;return d!==void 0?typeof d=="function"?d(a()):d:a()?.[l]||""}function m(){if(!t().primaryText.href||!a())return"#";let l=t().primaryText.href;return l=l.replace("{id}",a().id||""),l=l.replace("{name}",encodeURIComponent(a().name||"")),Ht(l)}function f(l){if(!a())return;const d=t().actions?.find(c=>c.type===l);d&&d.handler(a()),l==="edit"?g("edit",{item:a()}):l==="delete"?g("delete",{item:a()}):g("action",{type:l,item:a()})}function M(l){switch(l.type){case"status":if(t().entityType==="instance"){const c=a()?.[l.field]||"unknown";let y="neutral",N=c.charAt(0).toUpperCase()+c.slice(1);return l.field==="status"?y=c==="running"?"success":c==="pending"||c==="creating"?"info":c==="failed"||c==="error"?"error":"neutral":l.field==="runner_status"&&(y=c==="idle"?"info":c==="active"||c==="running"?"success":c==="failed"||c==="error"?"error":"neutral"),{variant:y,text:N}}return{variant:"neutral",text:a()?.[l.field]||"Unknown"};case"forge":return{variant:"neutral",text:a()?.[l.field]||"unknown"};case"auth":const d=a()?.[l.field]||"pat";return{variant:d==="pat"?"success":"info",text:d.toUpperCase()};case"custom":if(typeof l.value=="function"){const c=l.value(a());return{variant:c?.variant||"neutral",text:c?.text||""}}return{variant:l.value?.variant||"neutral",text:l.value?.text||""};default:return{variant:"neutral",text:""}}}ke();var k=pr(),A=s(k),U=s(A);{var V=l=>{var d=dr(),c=s(d),y=s(c,!0);n(c);var N=j(c,2);{var W=w=>{var E=lr(),z=s(E,!0);n(E),R(C=>O(z,C),[()=>v(h)]),i(w,E)};I(N,w=>{u(t()),v(()=>t().secondaryText)&&w(W)})}n(d),R((w,E)=>{Be(d,"href",w),pe(c,1,`text-sm font-medium text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 truncate${u(t()),v(()=>t().primaryText.isMonospace?" font-mono":"")??""}`),O(y,E)},[()=>v(m),()=>v(p)]),i(l,d)},P=l=>{var d=vr(),c=s(d),y=s(c,!0);n(c);var N=j(c,2);{var W=w=>{var E=cr(),z=s(E,!0);n(E),R(C=>O(z,C),[()=>v(h)]),i(w,E)};I(N,w=>{u(t()),v(()=>t().secondaryText)&&w(W)})}n(d),R(w=>O(y,w),[()=>v(p)]),i(l,d)};I(U,l=>{u(t()),v(()=>t().primaryText.isClickable)?l(V):l(P,!1)})}var Z=j(U,2);{var B=l=>{var d=fr(),c=s(d);{var y=w=>{var E=Q(),z=q(E);de(z,1,()=>(u(t()),v(()=>t().customInfo)),ge,(C,_)=>{const T=X(()=>(e(_),u(a()),v(()=>typeof e(_).icon=="function"?e(_).icon(a()):e(_).icon))),G=X(()=>(e(_),u(a()),v(()=>typeof e(_).text=="function"?e(_).text(a()):e(_).text)));var Y=ur(),re=s(Y);{var ae=je=>{var He=Q(),De=q(He);Ae(De,()=>e(T)),i(je,He)};I(re,je=>{e(T)&&je(ae)})}var ce=j(re,2),Ee=s(ce,!0);n(ce),n(Y),R(()=>O(Ee,e(G))),i(C,Y)}),i(w,E)};I(c,w=>{u(t()),v(()=>t().customInfo)&&w(y)})}var N=j(c,2);{var W=w=>{var E=Q(),z=q(E);de(z,1,()=>(u(t()),v(()=>t().badges.filter(C=>C.type==="forge"))),ge,(C,_)=>{var T=gr(),G=s(T);Ae(G,()=>(u(et),e(_),u(a()),v(()=>et(e(_).field?a()?.[e(_).field]||"unknown":a()?.endpoint?.endpoint_type||"unknown"))));var Y=j(G,2),re=s(Y,!0);n(Y),n(T),R(()=>O(re,(u(a()),v(()=>a()?.endpoint?.name||"Unknown")))),i(C,T)}),i(w,E)};I(N,w=>{u(t()),v(()=>t().badges)&&w(W)})}n(d),i(l,d)};I(Z,l=>{u(t()),v(()=>t().customInfo||t().badges?.some(d=>d.type==="forge"))&&l(B)})}n(A);var x=j(A,2),H=s(x);{var D=l=>{var d=Q(),c=q(d);de(c,1,()=>(u(t()),v(()=>t().badges.filter(y=>y.type!=="forge"))),ge,(y,N)=>{var W=Q(),w=q(W);{var E=C=>{const _=X(()=>(e(N),v(()=>M(e(N)))));var T=hr(),G=s(T,!0);n(T),R(()=>{pe(T,1,`inline-flex items-center rounded-full px-2 py-1 text-xs font-medium ring-1 ring-inset ${u(e(_)),v(()=>e(_).variant==="success"?"bg-green-50 text-green-700 ring-green-600/20 dark:bg-green-900/50 dark:text-green-300 dark:ring-green-400/20":e(_).variant==="info"?"bg-blue-50 text-blue-700 ring-blue-600/20 dark:bg-blue-900/50 dark:text-blue-300 dark:ring-blue-400/20":e(_).variant==="error"?"bg-red-50 text-red-700 ring-red-600/20 dark:bg-red-900/50 dark:text-red-300 dark:ring-red-400/20":"bg-gray-50 text-gray-700 ring-gray-600/20 dark:bg-gray-900/50 dark:text-gray-300 dark:ring-gray-400/20")??""}`),O(G,(u(e(_)),v(()=>e(_).text)))}),i(C,T)},z=C=>{const _=X(()=>(e(N),v(()=>M(e(N)))));Bt(C,{get variant(){return u(e(_)),v(()=>e(_).variant)},get text(){return u(e(_)),v(()=>e(_).text)}})};I(w,C=>{e(N),v(()=>e(N).type==="status")?C(E):C(z,!1)})}i(y,W)}),i(l,d)};I(H,l=>{u(t()),v(()=>t().badges)&&l(D)})}var F=j(H,2);{var J=l=>{var d=mr();de(d,5,()=>(u(t()),v(()=>t().actions)),ge,(c,y)=>{{let N=X(()=>(e(y),u(t()),v(()=>e(y).type==="edit"?`Edit ${t().entityType}`:`Delete ${t().entityType}`))),W=X(()=>(e(y),u(t()),v(()=>e(y).type==="edit"?`Edit ${t().entityType}`:`Delete ${t().entityType}`)));rt(c,{get action(){return e(y),v(()=>e(y).type)},size:"sm",get title(){return e(N)},get ariaLabel(){return e(W)},$$events:{click:()=>f(e(y).type)}})}}),n(d),i(l,d)};I(F,l=>{u(t()),v(()=>t().actions)&&l(J)})}n(x),n(k),i(S,k),he()}var xr=L('
'),_r=L('
'),yr=L("
"),br=L("
"),wr=L(' ',1),Mr=L('
');function Dr(S,r){fe(r,!1);const g=te();let a=o(r,"columns",24,()=>[]),t=o(r,"data",24,()=>[]),p=o(r,"loading",8,!1),h=o(r,"error",8,""),m=o(r,"totalItems",8,0),f=o(r,"itemName",8,"results"),M=o(r,"searchTerm",12,""),k=o(r,"searchPlaceholder",8,"Search..."),A=o(r,"showSearch",8,!0),U=o(r,"currentPage",8,1),V=o(r,"perPage",12,25),P=o(r,"totalPages",8,1),Z=o(r,"showPagination",8,!0),B=o(r,"showPerPageSelector",8,!0),x=o(r,"emptyTitle",8,"No items found"),H=o(r,"emptyMessage",8,""),D=o(r,"emptyIconType",8,"document"),F=o(r,"errorTitle",8,"Error loading data"),J=o(r,"showRetry",8,!1),l=o(r,"showMobileCards",8,!0),d=o(r,"mobileCardConfig",8,null);const c=be();function y(b){c("search",b.detail)}function N(b){c("pageChange",b.detail)}function W(b){c("perPageChange",b.detail)}function w(){c("retry")}function E(b){c("edit",b.detail)}function z(b){c("delete",b.detail)}function C(b){c("action",b.detail)}function _(b){const ve="px-6 py-4 text-sm",Ve=b.align==="right"?"text-right":b.align==="center"?"text-center":"text-left",Ne=b.key==="actions"?"font-medium":"text-gray-900 dark:text-white",Re=b.flexible?"min-w-0":"";return`${ve} ${Ve} ${Ne} ${Re}`.trim()}function T(){return a().map(b=>b.flexible?`${b.flexRatio||1}fr`:"auto").join(" ")}$(()=>(u(H()),u(M()),u(f())),()=>{ee(g,H()||(M()?`No items found matching "${M()}"`:`No ${f()} found`))}),Le(),ke();var G=Mr(),Y=s(G);{var re=b=>{nr(b,{get placeholder(){return k()},get showPerPageSelector(){return B()},get searchTerm(){return M()},set searchTerm(ve){M(ve)},get perPage(){return V()},set perPage(ve){V(ve)},$$events:{search:y,perPageChange:W},$$legacy:!0})};I(Y,b=>{A()&&b(re)})}var ae=j(Y,2),ce=s(ae);{var Ee=b=>{Ut(b,{get message(){return`Loading ${f()??""}...`}})},je=b=>{var ve=Q(),Ve=q(ve);{var Ne=we=>{{let Ie=X(()=>J()?w:void 0);Ft(we,{get title(){return F()},get message(){return h()},get showRetry(){return J()},get onRetry(){return e(Ie)}})}},Re=we=>{var Ie=Q(),at=q(Ie);{var nt=Me=>{Yt(Me,{get title(){return x()},get message(){return e(g)},get iconType(){return D()}})},it=Me=>{var Ke=wr(),Qe=q(Ke);{var ot=oe=>{var K=_r();de(K,7,t,(le,ne)=>le.id||le.name||ne,(le,ne,qe)=>{var ze=xr(),ie=s(ze);{var Pe=me=>{var xe=Q(),se=q(xe);tt(se,()=>(e(ne),v(()=>`${e(ne).id||e(ne).name}-${e(ne).updated_at}-mobile`)),_e=>{kr(_e,{get item(){return e(ne)},get config(){return d()},$$events:{edit(ue){Fe.call(this,r,ue)},delete(ue){Fe.call(this,r,ue)},action(ue){Fe.call(this,r,ue)}}})}),i(me,xe)},Oe=me=>{var xe=Q(),se=q(xe);$e(se,r,"mobile-card",{get item(){return e(ne)},get index(){return e(qe)}}),i(me,xe)};I(ie,me=>{d()?me(Pe):me(Oe,!1)})}n(ze),i(le,ze)}),n(K),i(oe,K)};I(Qe,oe=>{l()&&oe(ot)})}var Ze=j(Qe,2),Ue=s(Ze),Je=s(Ue);de(Je,1,a,ge,(oe,K)=>{var le=yr(),ne=s(le,!0);n(le),R(()=>{pe(le,1,`px-6 py-3 text-left text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600 ${e(K),v(()=>e(K).align==="right"?"text-right":e(K).align==="center"?"text-center":"text-left")??""}`),O(ne,(e(K),v(()=>e(K).title)))}),i(oe,le)});var st=j(Je,2);de(st,3,t,(oe,K)=>oe.id||oe.name||K,(oe,K,le)=>{var ne=Q(),qe=q(ne);de(qe,1,a,ge,(ze,ie)=>{var Pe=br(),Oe=s(Pe);{var me=se=>{var _e=Q(),ue=q(_e);tt(ue,()=>(e(K),e(ie),v(()=>`${e(K).id||e(K).name}-${e(K).updated_at}-${e(ie).key}`)),lt=>{var We=Q(),dt=q(We);St(dt,()=>e(ie).cellComponent,(ct,vt)=>{vt(ct,Ct({get item(){return e(K)}},()=>e(ie).cellProps,{$$events:{edit:E,delete:z,action:C}}))}),i(lt,We)}),i(se,_e)},xe=se=>{var _e=Q(),ue=q(_e);$e(ue,r,"cell",{get item(){return e(K)},get column(){return e(ie)},get index(){return e(le)},get value(){return e(K),e(ie),v(()=>e(K)[e(ie).key])}}),i(se,_e)};I(Oe,se=>{e(ie),v(()=>e(ie).cellComponent)?se(me):se(xe,!1)})}n(Pe),R(se=>pe(Pe,1,`${se??""} border-b border-gray-200 dark:border-gray-700`),[()=>(e(ie),v(()=>_(e(ie))))]),i(ze,Pe)}),i(oe,ne)}),n(Ue),n(Ze),R(oe=>It(Ue,`grid-template-columns: ${oe??""}`),[()=>v(T)]),i(Me,Ke)};I(at,Me=>{u(t()),v(()=>t().length===0)?Me(nt):Me(it,!1)},!0)}i(we,Ie)};I(Ve,we=>{h()?we(Ne):we(Re,!1)},!0)}i(b,ve)};I(ce,b=>{p()?b(Ee):b(je,!1)})}var He=j(ce,2);{var De=b=>{sr(b,{get currentPage(){return U()},get totalPages(){return P()},get perPage(){return V()},get totalItems(){return m()},get itemName(){return f()},$$events:{pageChange:N}})};I(He,b=>{u(Z()),u(p()),u(h()),u(t()),v(()=>Z()&&!p()&&!h()&&t().length>0)&&b(De)})}n(ae),n(G),i(S,G),he()}var Pr=L('
');function Vr(S,r){fe(r,!1);const g=be();let a=o(r,"item",8),t=o(r,"actions",24,()=>[{type:"edit",title:"Edit",ariaLabel:"Edit item",action:"edit"},{type:"delete",title:"Delete",ariaLabel:"Delete item",action:"delete"}]);function p(m){a()&&(m==="edit"?g("edit",{item:a()}):m==="delete"?g("delete",{item:a()}):g("action",{type:m,item:a()}))}ke();var h=Pr();de(h,5,t,ge,(m,f)=>{{let M=X(()=>(e(f),v(()=>e(f).action||(e(f).type==="edit"?"edit":e(f).type==="delete"?"delete":"view")))),k=X(()=>(e(f),v(()=>e(f).title||(e(f).type==="edit"?"Edit":e(f).type==="delete"?"Delete":e(f).label)))),A=X(()=>(e(f),v(()=>e(f).ariaLabel||(e(f).type==="edit"?"Edit item":e(f).type==="delete"?"Delete item":e(f).label))));rt(m,{get action(){return e(M)},get title(){return e(k)},get ariaLabel(){return e(A)},$$events:{click:()=>p(e(f).type)}})}}),n(h),i(S,h),he()}var Cr=L(" "),jr=L(" ");function Nr(S,r){fe(r,!1);const g=te(),a=te();let t=o(r,"item",8),p=o(r,"field",8),h=o(r,"type",8,"text"),m=o(r,"truncateLength",8,50),f=o(r,"showTitle",8,!1);function M(){return t()&&p().split(".").reduce((B,x)=>B?.[x],t())||""}function k(){return h()==="date"?Et(e(g)):h()==="truncated"&&e(g).length>m()?`${e(g).slice(0,m())}...`:e(g)}function A(){switch(h()){case"code":return"inline-block max-w-full truncate bg-gray-100 dark:bg-gray-700 px-2 py-1 rounded text-xs font-mono";case"description":return"block w-full truncate text-sm text-gray-500 dark:text-gray-300";case"date":return"block w-full truncate text-sm text-gray-900 dark:text-white font-mono";default:return"block w-full truncate text-sm text-gray-900 dark:text-white"}}$(()=>{},()=>{ee(g,M())}),$(()=>{},()=>{ee(a,k())}),Le(),ke();var U=Q(),V=q(U);{var P=B=>{var x=Cr(),H=s(x,!0);n(x),R(D=>{pe(x,1,`${D??""} ${f()?"cursor-default":""}`),Be(x,"title",f()?e(g):""),O(H,e(a))},[()=>v(A)]),i(B,x)},Z=B=>{var x=jr(),H=s(x,!0);n(x),R(D=>{pe(x,1,`${D??""} ${f()?"cursor-default":""}`),Be(x,"title",f()?e(g):""),O(H,e(a))},[()=>v(A)]),i(B,x)};I(V,B=>{h()==="code"?B(P):B(Z,!1)})}i(S,U),he()}export{rt as A,Dr as D,Nr as G,Ut as L,Vr as a,tt as k}; diff --git a/webapp/assets/_app/immutable/chunks/Dnums3pI.js b/webapp/assets/_app/immutable/chunks/D2iLJzzb.js similarity index 71% rename from webapp/assets/_app/immutable/chunks/Dnums3pI.js rename to webapp/assets/_app/immutable/chunks/D2iLJzzb.js index 92bdeebd..c215632c 100644 --- a/webapp/assets/_app/immutable/chunks/Dnums3pI.js +++ b/webapp/assets/_app/immutable/chunks/D2iLJzzb.js @@ -1,4 +1,4 @@ -import"./DsnmJJEf.js";import{i as g}from"./zNh6Oe5P.js";import{p as k,l as x,s as d,m as w,n as y,a as J,f as m,j as z,w as j,k as L,g as c,r as B,t as C,c as n,d as E}from"./sWNKMed7.js";import{p as o,i as M}from"./Ccl3fNd2.js";import{c as f,s as N}from"./C1jihKTd.js";import{b as O}from"./CLagxtgo.js";var S=m('
'),V=m('
');function I(p,r){k(r,!1);let t=o(r,"value",12,""),u=o(r,"placeholder",8,"{}"),b=o(r,"rows",8,4),i=o(r,"disabled",8,!1),a=w(!0);x(()=>y(t()),()=>{if(t().trim())try{JSON.parse(t()),d(a,!0)}catch{d(a,!1)}else d(a,!0)}),J(),g();var l=V(),e=z(l);j(e);var v=L(e,2);{var h=s=>{var _=S();n(s,_)};M(v,s=>{c(a)||s(h)})}B(l),C(()=>{f(e,"placeholder",u()),f(e,"rows",b()),e.disabled=i(),N(e,1,`w-full px-3 py-2 border rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 font-mono text-sm resize-none +import"./DsnmJJEf.js";import{i as g}from"./DT0EGONV.js";import{p as x,l as k,s as d,m as w,n as y,a as J,f as m,j as z,x as j,k as L,g as c,r as B,t as C,c as n,d as E}from"./CRKWEg6v.js";import{p as o,i as M}from"./e1m7WRO5.js";import{c as f,s as N}from"./PY0OOjWY.js";import{b as O}from"./B3a35v7J.js";var S=m('
'),V=m('
');function I(p,r){x(r,!1);let t=o(r,"value",12,""),u=o(r,"placeholder",8,"{}"),b=o(r,"rows",8,4),i=o(r,"disabled",8,!1),a=w(!0);k(()=>y(t()),()=>{if(t().trim())try{JSON.parse(t()),d(a,!0)}catch{d(a,!1)}else d(a,!0)}),J(),g();var l=V(),e=z(l);j(e);var v=L(e,2);{var h=s=>{var _=S();n(s,_)};M(v,s=>{c(a)||s(h)})}B(l),C(()=>{f(e,"placeholder",u()),f(e,"rows",b()),e.disabled=i(),N(e,1,`w-full px-3 py-2 border rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 font-mono text-sm resize-none ${c(a)?"border-gray-300 dark:border-gray-600 bg-white dark:bg-gray-700 text-gray-900 dark:text-white":"border-red-300 dark:border-red-600 bg-red-50 dark:bg-red-900/20 text-red-900 dark:text-red-100"} ${i()?"opacity-50 cursor-not-allowed":""} `)}),O(e,t),n(p,l),E()}export{I as J}; diff --git a/webapp/assets/_app/immutable/chunks/BZUCTtPY.js b/webapp/assets/_app/immutable/chunks/D6DjlyIQ.js similarity index 90% rename from webapp/assets/_app/immutable/chunks/BZUCTtPY.js rename to webapp/assets/_app/immutable/chunks/D6DjlyIQ.js index ff78735d..42d8bfcf 100644 --- a/webapp/assets/_app/immutable/chunks/BZUCTtPY.js +++ b/webapp/assets/_app/immutable/chunks/D6DjlyIQ.js @@ -1 +1 @@ -import{I as u}from"./sWNKMed7.js";function c(){const{subscribe:s,set:i,update:o}=u([]),n={subscribe:s,add:e=>{const t=Math.random().toString(36).substr(2,9),r={...e,id:t,duration:e.duration??5e3};return o(a=>[...a,r]),r.duration&&r.duration>0&&setTimeout(()=>{o(a=>a.filter(d=>d.id!==t))},r.duration),t},remove:e=>{o(t=>t.filter(r=>r.id!==e))},clear:()=>{i([])},success:(e,t="",r)=>n.add({type:"success",title:e,message:t,duration:r}),error:(e,t="",r)=>n.add({type:"error",title:e,message:t,duration:r}),info:(e,t="",r)=>n.add({type:"info",title:e,message:t,duration:r}),warning:(e,t="",r)=>n.add({type:"warning",title:e,message:t,duration:r})};return n}const p=c();export{p as t}; +import{I as u}from"./CRKWEg6v.js";function c(){const{subscribe:s,set:i,update:o}=u([]),n={subscribe:s,add:e=>{const t=Math.random().toString(36).substr(2,9),r={...e,id:t,duration:e.duration??5e3};return o(a=>[...a,r]),r.duration&&r.duration>0&&setTimeout(()=>{o(a=>a.filter(d=>d.id!==t))},r.duration),t},remove:e=>{o(t=>t.filter(r=>r.id!==e))},clear:()=>{i([])},success:(e,t="",r)=>n.add({type:"success",title:e,message:t,duration:r}),error:(e,t="",r)=>n.add({type:"error",title:e,message:t,duration:r}),info:(e,t="",r)=>n.add({type:"info",title:e,message:t,duration:r}),warning:(e,t="",r)=>n.add({type:"warning",title:e,message:t,duration:r})};return n}const p=c();export{p as t}; diff --git a/webapp/assets/_app/immutable/chunks/ujTHIzr1.js b/webapp/assets/_app/immutable/chunks/DJ85e5Cv.js similarity index 86% rename from webapp/assets/_app/immutable/chunks/ujTHIzr1.js rename to webapp/assets/_app/immutable/chunks/DJ85e5Cv.js index 2bc405cc..4590b5a0 100644 --- a/webapp/assets/_app/immutable/chunks/ujTHIzr1.js +++ b/webapp/assets/_app/immutable/chunks/DJ85e5Cv.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as q}from"./zNh6Oe5P.js";import{p as A,E as F,f as y,k as l,j as e,r as a,z as $,D as b,c as o,t as p,v as n,d as G}from"./sWNKMed7.js";import{p as v,i as H}from"./Ccl3fNd2.js";import{M as I}from"./BbG_gKT3.js";import{B as w}from"./C1jihKTd.js";var J=y('

'),K=y('

');function W(D,s){A(s,!1);let j=v(s,"title",8),M=v(s,"message",8),g=v(s,"itemName",8,""),d=v(s,"loading",8,!1);const c=F();function B(){c("confirm")}q(),I(D,{$$events:{close:()=>c("close")},children:(C,O)=>{var m=K(),f=l(e(m),2),u=e(f),P=e(u,!0);a(u);var h=l(u,2),x=e(h),z=e(x,!0);a(x);var E=l(x,2);{var L=t=>{var i=J(),r=e(i,!0);a(i),p(()=>n(r,g())),o(t,i)};H(E,t=>{g()&&t(L)})}a(h),a(f);var _=l(f,2),k=e(_);w(k,{variant:"secondary",get disabled(){return d()},$$events:{click:()=>c("close")},children:(t,i)=>{$();var r=b("Cancel");o(t,r)},$$slots:{default:!0}});var N=l(k,2);w(N,{variant:"danger",get disabled(){return d()},get loading(){return d()},$$events:{click:B},children:(t,i)=>{$();var r=b();p(()=>n(r,d()?"Deleting...":"Delete")),o(t,r)},$$slots:{default:!0}}),a(_),a(m),p(()=>{n(P,j()),n(z,M())}),o(C,m)},$$slots:{default:!0}}),G()}export{W as D}; +import"./DsnmJJEf.js";import{i as q}from"./DT0EGONV.js";import{p as A,E as F,f as y,k as l,j as e,r as a,z as $,D as b,c as o,t as p,v as n,d as G}from"./CRKWEg6v.js";import{p as v,i as H}from"./e1m7WRO5.js";import{M as I}from"./XtdMJsQa.js";import{B as w}from"./PY0OOjWY.js";var J=y('

'),K=y('

');function W(D,s){A(s,!1);let j=v(s,"title",8),M=v(s,"message",8),g=v(s,"itemName",8,""),d=v(s,"loading",8,!1);const c=F();function B(){c("confirm")}q(),I(D,{$$events:{close:()=>c("close")},children:(C,O)=>{var m=K(),f=l(e(m),2),u=e(f),P=e(u,!0);a(u);var h=l(u,2),x=e(h),z=e(x,!0);a(x);var E=l(x,2);{var L=t=>{var i=J(),r=e(i,!0);a(i),p(()=>n(r,g())),o(t,i)};H(E,t=>{g()&&t(L)})}a(h),a(f);var _=l(f,2),k=e(_);w(k,{variant:"secondary",get disabled(){return d()},$$events:{click:()=>c("close")},children:(t,i)=>{$();var r=b("Cancel");o(t,r)},$$slots:{default:!0}});var N=l(k,2);w(N,{variant:"danger",get disabled(){return d()},get loading(){return d()},$$events:{click:B},children:(t,i)=>{$();var r=b();p(()=>n(r,d()?"Deleting...":"Delete")),o(t,r)},$$slots:{default:!0}}),a(_),a(m),p(()=>{n(P,j()),n(z,M())}),o(C,m)},$$slots:{default:!0}}),G()}export{W as D}; diff --git a/webapp/assets/_app/immutable/chunks/CFUg1N_q.js b/webapp/assets/_app/immutable/chunks/DMRkWx6-.js similarity index 69% rename from webapp/assets/_app/immutable/chunks/CFUg1N_q.js rename to webapp/assets/_app/immutable/chunks/DMRkWx6-.js index 5ede2825..27007f80 100644 --- a/webapp/assets/_app/immutable/chunks/CFUg1N_q.js +++ b/webapp/assets/_app/immutable/chunks/DMRkWx6-.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as b}from"./zNh6Oe5P.js";import{p as k,f as E,t as C,u as i,n as t,v as n,c as j,d as P,k as z,j as l,r as o}from"./sWNKMed7.js";import{c as N}from"./C1jihKTd.js";import{p as f}from"./Ccl3fNd2.js";import{j as x,e as c,i as u}from"./Qi7G5Z5O.js";var T=E('');function F(d,r){k(r,!1);let e=f(r,"item",8),m=f(r,"eagerCache",8,null);b();var s=T(),a=l(s),v=l(a,!0);o(a);var p=z(a,2),g=l(p,!0);o(p),o(s),C((h,y,_)=>{N(a,"href",h),n(v,y),n(g,_)},[()=>(t(x),t(e()),i(()=>x(e()))),()=>(t(c),t(e()),t(m()),i(()=>c(e(),m()))),()=>(t(u),t(e()),i(()=>u(e())))]),j(d,s),P()}export{F as P}; +import"./DsnmJJEf.js";import{i as b}from"./DT0EGONV.js";import{p as k,f as E,t as C,u as i,n as t,v as n,c as j,d as P,k as z,j as l,r as o}from"./CRKWEg6v.js";import{c as N}from"./PY0OOjWY.js";import{p as f}from"./e1m7WRO5.js";import{j as x,e as c,i as u}from"./BK-OTA7g.js";var T=E('');function F(d,r){k(r,!1);let e=f(r,"item",8),m=f(r,"eagerCache",8,null);b();var s=T(),a=l(s),v=l(a,!0);o(a);var p=z(a,2),g=l(p,!0);o(p),o(s),C((h,y,_)=>{N(a,"href",h),n(v,y),n(g,_)},[()=>(t(x),t(e()),i(()=>x(e()))),()=>(t(c),t(e()),t(m()),i(()=>c(e(),m()))),()=>(t(u),t(e()),i(()=>u(e())))]),j(d,s),P()}export{F as P}; diff --git a/webapp/assets/_app/immutable/chunks/CLc1WuAh.js b/webapp/assets/_app/immutable/chunks/DNitrHo2.js similarity index 84% rename from webapp/assets/_app/immutable/chunks/CLc1WuAh.js rename to webapp/assets/_app/immutable/chunks/DNitrHo2.js index de51eb85..48dee22b 100644 --- a/webapp/assets/_app/immutable/chunks/CLc1WuAh.js +++ b/webapp/assets/_app/immutable/chunks/DNitrHo2.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as j}from"./zNh6Oe5P.js";import{p as E,E as G,f as S,j as t,r,k as g,u,n as p,z as m,t as z,v as D,e as f,c as H,d as I}from"./sWNKMed7.js";import{h as y,s as v}from"./C1jihKTd.js";import{p as h}from"./Ccl3fNd2.js";import{g as o}from"./Qi7G5Z5O.js";var q=S('
');function M(x,s){E(s,!1);const k=G();let d=h(s,"selectedForgeType",12,""),_=h(s,"label",8,"Select Forge Type");function n(c){d(c),k("select",c)}j();var i=q(),l=t(i),F=t(l,!0);r(l);var b=g(l,2),e=t(b),w=t(e);y(w,()=>(p(o),u(()=>o("github","w-8 h-8")))),m(2),r(e);var a=g(e,2),T=t(a);y(T,()=>(p(o),u(()=>o("gitea","w-8 h-8")))),m(2),r(a),r(b),r(i),z(()=>{D(F,_()),v(e,1,`flex flex-col items-center justify-center p-6 border-2 rounded-lg transition-colors cursor-pointer ${d()==="github"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),v(a,1,`flex flex-col items-center justify-center p-6 border-2 rounded-lg transition-colors cursor-pointer ${d()==="gitea"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`)}),f("click",e,()=>n("github")),f("click",a,()=>n("gitea")),H(x,i),I()}export{M as F}; +import"./DsnmJJEf.js";import{i as j}from"./DT0EGONV.js";import{p as E,E as G,f as S,j as t,r,k as g,u,n as p,z as m,t as z,v as D,e as f,c as H,d as I}from"./CRKWEg6v.js";import{h as y,s as v}from"./PY0OOjWY.js";import{p as h}from"./e1m7WRO5.js";import{g as o}from"./BK-OTA7g.js";var q=S('
');function M(x,s){E(s,!1);const k=G();let d=h(s,"selectedForgeType",12,""),_=h(s,"label",8,"Select Forge Type");function n(c){d(c),k("select",c)}j();var i=q(),l=t(i),F=t(l,!0);r(l);var b=g(l,2),e=t(b),w=t(e);y(w,()=>(p(o),u(()=>o("github","w-8 h-8")))),m(2),r(e);var a=g(e,2),T=t(a);y(T,()=>(p(o),u(()=>o("gitea","w-8 h-8")))),m(2),r(a),r(b),r(i),z(()=>{D(F,_()),v(e,1,`flex flex-col items-center justify-center p-6 border-2 rounded-lg transition-colors cursor-pointer ${d()==="github"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),v(a,1,`flex flex-col items-center justify-center p-6 border-2 rounded-lg transition-colors cursor-pointer ${d()==="gitea"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`)}),f("click",e,()=>n("github")),f("click",a,()=>n("gitea")),H(x,i),I()}export{M as F}; diff --git a/webapp/assets/_app/immutable/chunks/BbmBnft9.js b/webapp/assets/_app/immutable/chunks/DOmGc-W5.js similarity index 97% rename from webapp/assets/_app/immutable/chunks/BbmBnft9.js rename to webapp/assets/_app/immutable/chunks/DOmGc-W5.js index 319d2bf2..7f57e343 100644 --- a/webapp/assets/_app/immutable/chunks/BbmBnft9.js +++ b/webapp/assets/_app/immutable/chunks/DOmGc-W5.js @@ -1 +1 @@ -import{I as w}from"./sWNKMed7.js";import{g as r}from"./C1jihKTd.js";const m=!0,z=m,I=()=>window.location.port==="5173",b={isAuthenticated:!1,user:null,loading:!0,needsInitialization:!1},n=w(b);function f(t,a,e=7){const i=new Date;i.setTime(i.getTime()+e*24*60*60*1e3),document.cookie=`${t}=${a};expires=${i.toUTCString()};path=/;SameSite=Lax`}function d(t){const a=t+"=",e=document.cookie.split(";");for(let i=0;i({...i,loading:!0}));const e=await r.login({username:t,password:a});z&&(f("garm_token",e.token),f("garm_user",t)),r.setToken(e.token),n.set({isAuthenticated:!0,user:t,loading:!1,needsInitialization:!1})}catch(e){throw n.update(i=>({...i,loading:!1})),e}},logout(){g("garm_token"),g("garm_user"),n.set({isAuthenticated:!1,user:null,loading:!1,needsInitialization:!1})},async init(){try{n.update(e=>({...e,loading:!0})),await c.checkInitializationStatus();const t=d("garm_token"),a=d("garm_user");if(t&&a&&(r.setToken(t),await c.checkAuth())){n.set({isAuthenticated:!0,user:a,loading:!1,needsInitialization:!1});return}n.update(e=>({...e,loading:!1,needsInitialization:!1}))}catch{n.update(a=>({...a,loading:!1}))}},async checkInitializationStatus(){try{const t={Accept:"application/json"},a=d("garm_token"),e=I();e&&a&&(t.Authorization=`Bearer ${a}`);const i=await fetch("/api/v1/login",{method:"GET",headers:t,credentials:e?"omit":"include"});if(!i.ok){if(i.status===409&&(await i.json()).error==="init_required")throw n.update(s=>({...s,needsInitialization:!0,loading:!1})),new Error("Initialization required");return}return}catch(t){if(t instanceof Error&&t.message==="Initialization required")throw t;return}},async checkAuth(){try{return await c.checkInitializationStatus(),await r.getControllerInfo(),!0}catch(t){return t instanceof Error&&t.message==="Initialization required"?!1:t?.response?.status===409&&t?.response?.data?.error==="init_required"?(n.update(a=>({...a,needsInitialization:!0,loading:!1})),!1):(c.logout(),!1)}},async initialize(t,a,e,i,o){try{n.update(u=>({...u,loading:!0}));const s=await r.firstRun({username:t,email:a,password:e,full_name:i||t});await c.login(t,e);const l=window.location.origin,h=o?.metadataUrl||`${l}/api/v1/metadata`,p=o?.callbackUrl||`${l}/api/v1/callbacks`,k=o?.webhookUrl||`${l}/webhooks`;await r.updateController({metadata_url:h,callback_url:p,webhook_url:k}),n.update(u=>({...u,needsInitialization:!1}))}catch(s){throw n.update(l=>({...l,loading:!1})),s}}};export{n as a,c as b}; +import{I as w}from"./CRKWEg6v.js";import{g as r}from"./PY0OOjWY.js";const m=!0,z=m,I=()=>window.location.port==="5173",b={isAuthenticated:!1,user:null,loading:!0,needsInitialization:!1},n=w(b);function f(t,a,e=7){const i=new Date;i.setTime(i.getTime()+e*24*60*60*1e3),document.cookie=`${t}=${a};expires=${i.toUTCString()};path=/;SameSite=Lax`}function d(t){const a=t+"=",e=document.cookie.split(";");for(let i=0;i({...i,loading:!0}));const e=await r.login({username:t,password:a});z&&(f("garm_token",e.token),f("garm_user",t)),r.setToken(e.token),n.set({isAuthenticated:!0,user:t,loading:!1,needsInitialization:!1})}catch(e){throw n.update(i=>({...i,loading:!1})),e}},logout(){g("garm_token"),g("garm_user"),n.set({isAuthenticated:!1,user:null,loading:!1,needsInitialization:!1})},async init(){try{n.update(e=>({...e,loading:!0})),await c.checkInitializationStatus();const t=d("garm_token"),a=d("garm_user");if(t&&a&&(r.setToken(t),await c.checkAuth())){n.set({isAuthenticated:!0,user:a,loading:!1,needsInitialization:!1});return}n.update(e=>({...e,loading:!1,needsInitialization:!1}))}catch{n.update(a=>({...a,loading:!1}))}},async checkInitializationStatus(){try{const t={Accept:"application/json"},a=d("garm_token"),e=I();e&&a&&(t.Authorization=`Bearer ${a}`);const i=await fetch("/api/v1/login",{method:"GET",headers:t,credentials:e?"omit":"include"});if(!i.ok){if(i.status===409&&(await i.json()).error==="init_required")throw n.update(s=>({...s,needsInitialization:!0,loading:!1})),new Error("Initialization required");return}return}catch(t){if(t instanceof Error&&t.message==="Initialization required")throw t;return}},async checkAuth(){try{return await c.checkInitializationStatus(),await r.getControllerInfo(),!0}catch(t){return t instanceof Error&&t.message==="Initialization required"?!1:t?.response?.status===409&&t?.response?.data?.error==="init_required"?(n.update(a=>({...a,needsInitialization:!0,loading:!1})),!1):(c.logout(),!1)}},async initialize(t,a,e,i,o){try{n.update(u=>({...u,loading:!0}));const s=await r.firstRun({username:t,email:a,password:e,full_name:i||t});await c.login(t,e);const l=window.location.origin,h=o?.metadataUrl||`${l}/api/v1/metadata`,p=o?.callbackUrl||`${l}/api/v1/callbacks`,k=o?.webhookUrl||`${l}/webhooks`;await r.updateController({metadata_url:h,callback_url:p,webhook_url:k}),n.update(u=>({...u,needsInitialization:!1}))}catch(s){throw n.update(l=>({...l,loading:!1})),s}}};export{n as a,c as b}; diff --git a/webapp/assets/_app/immutable/chunks/zNh6Oe5P.js b/webapp/assets/_app/immutable/chunks/DT0EGONV.js similarity index 88% rename from webapp/assets/_app/immutable/chunks/zNh6Oe5P.js rename to webapp/assets/_app/immutable/chunks/DT0EGONV.js index 20c6cf21..589077ea 100644 --- a/webapp/assets/_app/immutable/chunks/zNh6Oe5P.js +++ b/webapp/assets/_app/immutable/chunks/DT0EGONV.js @@ -1 +1 @@ -import{am as g,an as d,ao as c,u as m,ap as b,aq as i,g as p,n as v,ar as h,as as k}from"./sWNKMed7.js";function x(n=!1){const s=g,e=s.l.u;if(!e)return;let f=()=>v(s.s);if(n){let t=0,a={};const _=h(()=>{let l=!1;const r=s.s;for(const o in r)r[o]!==a[o]&&(a[o]=r[o],l=!0);return l&&t++,t});f=()=>p(_)}e.b.length&&d(()=>{u(s,f),i(e.b)}),c(()=>{const t=m(()=>e.m.map(b));return()=>{for(const a of t)typeof a=="function"&&a()}}),e.a.length&&c(()=>{u(s,f),i(e.a)})}function u(n,s){if(n.l.s)for(const e of n.l.s)p(e);s()}k();export{x as i}; +import{am as g,an as d,ao as c,u as m,ap as b,aq as i,g as p,n as v,ar as h,as as k}from"./CRKWEg6v.js";function x(n=!1){const s=g,e=s.l.u;if(!e)return;let f=()=>v(s.s);if(n){let t=0,a={};const _=h(()=>{let l=!1;const r=s.s;for(const o in r)r[o]!==a[o]&&(a[o]=r[o],l=!0);return l&&t++,t});f=()=>p(_)}e.b.length&&d(()=>{u(s,f),i(e.b)}),c(()=>{const t=m(()=>e.m.map(b));return()=>{for(const a of t)typeof a=="function"&&a()}}),e.a.length&&c(()=>{u(s,f),i(e.a)})}function u(n,s){if(n.l.s)for(const e of n.l.s)p(e);s()}k();export{x as i}; diff --git a/webapp/assets/_app/immutable/chunks/CCYOsezl.js b/webapp/assets/_app/immutable/chunks/Ddit_D7n.js similarity index 84% rename from webapp/assets/_app/immutable/chunks/CCYOsezl.js rename to webapp/assets/_app/immutable/chunks/Ddit_D7n.js index 5f546d50..edc3fc19 100644 --- a/webapp/assets/_app/immutable/chunks/CCYOsezl.js +++ b/webapp/assets/_app/immutable/chunks/Ddit_D7n.js @@ -1 +1 @@ -import{K as l,L as u,M as m,N as _,O as p,P as h,Q as v,R as b,T,U as g}from"./sWNKMed7.js";function y(s,i,d){l&&u();var r=s,a,n,e=null,t=null;function f(){n&&(g(n),n=null),e&&(e.lastChild.remove(),r.before(e),e=null),n=t,t=null}m(()=>{if(a!==(a=i())){var c=b();if(a){var o=r;c&&(e=document.createDocumentFragment(),e.append(o=p())),t=h(()=>d(o,a))}c?v.add_callback(f):f()}},_),l&&(r=T)}export{y as c}; +import{K as l,L as u,M as m,N as _,O as p,P as h,Q as v,R as b,T,U as g}from"./CRKWEg6v.js";function y(s,i,d){l&&u();var r=s,a,n,e=null,t=null;function f(){n&&(g(n),n=null),e&&(e.lastChild.remove(),r.before(e),e=null),n=t,t=null}m(()=>{if(a!==(a=i())){var c=b();if(a){var o=r;c&&(e=document.createDocumentFragment(),e.append(o=p())),t=h(()=>d(o,a))}c?v.add_callback(f):f()}},_),l&&(r=T)}export{y as c}; diff --git a/webapp/assets/_app/immutable/chunks/H5nVv3Is.js b/webapp/assets/_app/immutable/chunks/H5nVv3Is.js deleted file mode 100644 index 922e671f..00000000 --- a/webapp/assets/_app/immutable/chunks/H5nVv3Is.js +++ /dev/null @@ -1,3 +0,0 @@ -import{I as Ae,o as De,aR as L,g as P,s as N,bf as mt,aS as $e}from"./sWNKMed7.js";import{p as _t,e as yt,a as wt,b as I}from"./CcBDT0Mv.js";class le{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ee{constructor(t,n){this.status=t,this.location=n}}class Se extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function vt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function bt(e){return e.split("%25").map(decodeURI).join("%25")}function kt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function me({href:e}){return e.split("#")[0]}function At(e,t,n,r=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,o){if(o==="get"||o==="getAll"||o==="has")return f=>(n(f),i[o](f));t();const l=Reflect.get(i,o);return typeof l=="function"?l.bind(i):l}}),enumerable:!0,configurable:!0});const s=["href","pathname","search","toString","toJSON"];r&&s.push("hash");for(const i of s)Object.defineProperty(a,i,{get(){return t(),e[i]},enumerable:!0,configurable:!0});return a}function Et(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}function St(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&G.delete(Re(e)),Rt(e,t));const G=new Map;function Tt(e,t){const n=Re(e,t),r=document.querySelector(n);if(r?.textContent){let{body:a,...s}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&G.set(n,{body:a,init:s,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=St(a)),Promise.resolve(new Response(a,s))}return window.fetch(e,t)}function Ut(e,t,n){if(G.size>0){const r=Re(e,n),a=G.get(r);if(a){if(performance.now(){const{pattern:g,params:u}=_t(o),c={id:o,exec:h=>{const _=g.exec(h);if(_)return yt(_,u,r)},errors:[1,...d||[]].map(h=>e[h]),layouts:[0,...f||[]].map(i),leaf:s(l)};return c.errors.length=c.layouts.length=Math.max(c.errors.length,c.layouts.length),c});function s(o){const l=o<0;return l&&(o=~o),[l,e[o]]}function i(o){return o===void 0?o:[a.has(o),e[o]]}}function Je(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Be(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const Lt="1757002949956",We="sveltekit:snapshot",ze="sveltekit:scroll",Xe="sveltekit:states",Pt="sveltekit:pageurl",V="sveltekit:history",J="sveltekit:navigation",j={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Z=location.origin;function Te(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function fe(){return{x:pageXOffset,y:pageYOffset}}function B(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const Ve={...j,"":j.hover};function Ze(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function Qe(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=Ze(e)}}function we(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,s=!r||!!a||ue(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),i=r?.origin===Z&&e.hasAttribute("download");return{url:r,external:s,target:a,download:i}}function te(e){let t=null,n=null,r=null,a=null,s=null,i=null,o=e;for(;o&&o!==document.documentElement;)r===null&&(r=B(o,"preload-code")),a===null&&(a=B(o,"preload-data")),t===null&&(t=B(o,"keepfocus")),n===null&&(n=B(o,"noscroll")),s===null&&(s=B(o,"reload")),i===null&&(i=B(o,"replacestate")),o=Ze(o);function l(f){switch(f){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Ve[r??"off"],preload_data:Ve[a??"off"],keepfocus:l(t),noscroll:l(n),reload:l(s),replace_state:l(i)}}function Me(e){const t=Ae(e);let n=!0;function r(){n=!0,t.update(i=>i)}function a(i){n=!1,t.set(i)}function s(i){let o;return t.subscribe(l=>{(o===void 0||n&&l!==o)&&i(o=l)})}return{notify:r,set:a,subscribe:s}}const et={v:()=>{}};function Nt(){const{set:e,subscribe:t}=Ae(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${wt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==Lt;return i&&(e(!0),et.v(),clearTimeout(n)),i}catch{return!1}}return{subscribe:t,check:r}}function ue(e,t,n){return e.origin!==Z||!e.pathname.startsWith(t)?!0:n?!(e.pathname===t+"/"||e.pathname===t+"/index.html"||e.protocol==="file:"&&e.pathname.replace(/\/[^/]+\.html?$/,"")===t):!1}function yn(e){}function Ot(e){const t=xt(e),n=new ArrayBuffer(t.length),r=new DataView(n);for(let a=0;a>16),t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255),n=r=0);return r===12?(n>>=4,t+=String.fromCharCode(n)):r===18&&(n>>=2,t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255)),t}const jt=-1,Dt=-2,$t=-3,Bt=-4,Vt=-5,Mt=-6;function Ft(e,t){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);function a(s,i=!1){if(s===jt)return;if(s===$t)return NaN;if(s===Bt)return 1/0;if(s===Vt)return-1/0;if(s===Mt)return-0;if(i||typeof s!="number")throw new Error("Invalid input");if(s in r)return r[s];const o=n[s];if(!o||typeof o!="object")r[s]=o;else if(Array.isArray(o))if(typeof o[0]=="string"){const l=o[0],f=t?.[l];if(f)return r[s]=f(a(o[1]));switch(l){case"Date":r[s]=new Date(o[1]);break;case"Set":const d=new Set;r[s]=d;for(let c=1;ct!=null)}const Ht="x-sveltekit-invalidated",Kt="x-sveltekit-trailing-slash";function ne(e){return e instanceof le||e instanceof Se?e.status:500}function Yt(e){return e instanceof Se?e.text:"Internal Error"}let E,W,_e;const Jt=De.toString().includes("$$")||/function \w+\(\) \{\}/.test(De.toString());Jt?(E={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},W={current:null},_e={current:!1}):(E=new class{#e=L({});get data(){return P(this.#e)}set data(t){N(this.#e,t)}#t=L(null);get form(){return P(this.#t)}set form(t){N(this.#t,t)}#n=L(null);get error(){return P(this.#n)}set error(t){N(this.#n,t)}#r=L({});get params(){return P(this.#r)}set params(t){N(this.#r,t)}#a=L({id:null});get route(){return P(this.#a)}set route(t){N(this.#a,t)}#o=L({});get state(){return P(this.#o)}set state(t){N(this.#o,t)}#s=L(-1);get status(){return P(this.#s)}set status(t){N(this.#s,t)}#i=L(new URL("https://example.com"));get url(){return P(this.#i)}set url(t){N(this.#i,t)}},W=new class{#e=L(null);get current(){return P(this.#e)}set current(t){N(this.#e,t)}},_e=new class{#e=L(!1);get current(){return P(this.#e)}set current(t){N(this.#e,t)}},et.v=()=>_e.current=!0);function Wt(e){Object.assign(E,e)}const zt="/__data.json",Xt=".html__data.json";function Zt(e){return e.endsWith(".html")?e.replace(/\.html$/,Xt):e.replace(/\/$/,"")+zt}const{tick:Qt}=mt,en=new Set(["icon","shortcut icon","apple-touch-icon"]),$=Je(ze)??{},z=Je(We)??{},x={url:Me({}),page:Me({}),navigating:Ae(null),updated:Nt()};function Ue(e){$[e]=fe()}function tn(e,t){let n=e+1;for(;$[n];)delete $[n],n+=1;for(n=t+1;z[n];)delete z[n],n+=1}function F(e){return location.href=e.href,new Promise(()=>{})}async function nt(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(I||"/");e&&await e.update()}}function Fe(){}let Ie,ve,re,O,be,v;globalThis.__sveltekit_isprx.data;const ae=[],oe=[];let C=null;const ee=new Map,rt=new Set,nn=new Set,H=new Set;let w={branch:[],error:null,url:null},Le=!1,se=!1,qe=!0,X=!1,q=!1,at=!1,Pe=!1,ot,k,T,D;const K=new Set,Ge=new Map;async function kn(e,t,n){document.URL!==location.href&&(location.href=location.href),v=e,await e.hooks.init?.(),Ie=It(e),O=document.documentElement,be=t,ve=e.nodes[0],re=e.nodes[1],ve(),re(),k=history.state?.[V],T=history.state?.[J],k||(k=T=Date.now(),history.replaceState({...history.state,[V]:k,[J]:T},""));const r=$[k];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await hn(be,n)):(await Y({type:"enter",url:Te(v.hash?gn(new URL(location.href)):location.href),replace_state:!0}),a()),dn()}function rn(){ae.length=0,Pe=!1}function st(e){oe.some(t=>t?.snapshot)&&(z[e]=oe.map(t=>t?.snapshot?.capture()))}function it(e){z[e]?.forEach((t,n)=>{oe[n]?.snapshot?.restore(t)})}function He(){Ue(k),Be(ze,$),st(T),Be(We,z)}async function Ne(e,t,n,r){let a;const s=await Y({type:"goto",url:Te(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Pe=!0,a=[...Ge.keys()]),t.invalidate&&t.invalidate.forEach(un)}});return t.invalidateAll&&$e().then($e).then(()=>{Ge.forEach(({resource:i},o)=>{a?.includes(o)&&i.refresh?.()})}),s}async function an(e){if(e.id!==C?.id){const t={};K.add(t),C={id:e.id,token:t,promise:ft({...e,preload:t}).then(n=>(K.delete(t),n.type==="loaded"&&n.state.error&&(C=null),n))}}return C.promise}async function ye(e){const t=(await he(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}function ct(e,t,n){w=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(E,e.props.page),ot=new v.root({target:t,props:{...e.props,stores:x,components:oe},hydrate:n,sync:!1}),it(T),n){const a={from:null,to:{params:w.params,route:{id:w.route?.id??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};H.forEach(s=>s(a))}se=!0}function ie({url:e,params:t,branch:n,status:r,error:a,route:s,form:i}){let o="never";if(I&&(e.pathname===I||e.pathname===I+"/"))o="always";else for(const c of n)c?.slash!==void 0&&(o=c.slash);e.pathname=vt(e.pathname,o),e.search=e.search;const l={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:s},props:{constructors:Gt(n).map(c=>c.node.component),page:je(E)}};i!==void 0&&(l.props.form=i);let f={},d=!E,g=0;for(let c=0;c(o&&(l.route=!0),u[c])}),params:new Proxy(r,{get:(u,c)=>(o&&l.params.add(c),u[c])}),data:s?.data??null,url:At(n,()=>{o&&(l.url=!0)},u=>{o&&l.search_params.add(u)},v.hash),async fetch(u,c){u instanceof Request&&(c={body:u.method==="GET"||u.method==="HEAD"?void 0:await u.blob(),cache:u.cache,credentials:u.credentials,headers:[...u.headers].length>0?u?.headers:void 0,integrity:u.integrity,keepalive:u.keepalive,method:u.method,mode:u.mode,redirect:u.redirect,referrer:u.referrer,referrerPolicy:u.referrerPolicy,signal:u.signal,...c});const{resolved:h,promise:_}=lt(u,c,n);return o&&d(h.href),_},setHeaders:()=>{},depends:d,parent(){return o&&(l.parent=!0),t()},untrack(u){o=!1;try{return u()}finally{o=!0}}};i=await f.universal.load.call(null,g)??null}return{node:f,loader:e,server:s,universal:f.universal?.load?{type:"data",data:i,uses:l}:null,data:i??s?.data??null,slash:f.universal?.trailingSlash??s?.slash}}function lt(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const s=se?Ut(r,a.href,t):Tt(r,t);return{resolved:a,promise:s}}function Ke(e,t,n,r,a,s){if(Pe)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(s[i]!==w.params[i])return!0;for(const i of a.dependencies)if(ae.some(o=>o(new URL(i))))return!0;return!1}function Ce(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function on(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),s=t.searchParams.getAll(r);a.every(i=>s.includes(i))&&s.every(i=>a.includes(i))&&n.delete(r)}return n}function Ye({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:je(E),constructors:[]}}}async function ft({id:e,invalidating:t,url:n,params:r,route:a,preload:s}){if(C?.id===e)return K.delete(C.token),C.promise;const{errors:i,layouts:o,leaf:l}=a,f=[...o,l];i.forEach(p=>p?.().catch(()=>{})),f.forEach(p=>p?.[1]().catch(()=>{}));let d=null;const g=w.url?e!==ce(w.url):!1,u=w.route?a.id!==w.route.id:!1,c=on(w.url,n);let h=!1;const _=f.map((p,y)=>{const b=w.branch[y],A=!!p?.[0]&&(b?.loader!==p[1]||Ke(h,u,g,c,b.server?.uses,r));return A&&(h=!0),A});if(_.some(Boolean)){try{d=await ht(n,_)}catch(p){const y=await M(p,{url:n,params:r,route:{id:e}});return K.has(s)?Ye({error:y,url:n,params:r,route:a}):de({status:ne(p),error:y,url:n,route:a})}if(d.type==="redirect")return d}const m=d?.nodes;let R=!1;const S=f.map(async(p,y)=>{if(!p)return;const b=w.branch[y],A=m?.[y];if((!A||A.type==="skip")&&p[1]===b?.loader&&!Ke(R,u,g,c,b.universal?.uses,r))return b;if(R=!0,A?.type==="error")throw A;return Oe({loader:p[1],url:n,params:r,route:a,parent:async()=>{const pe={};for(let ge=0;ge{});const U=[];for(let p=0;pPromise.resolve({}),server_data_node:Ce(s)}),l={node:await re(),loader:re,universal:null,server:null,data:null};return ie({url:n,params:a,branch:[o,l],status:e,error:t,route:null})}catch(o){if(o instanceof Ee)return Ne(new URL(o.location,location.href),{},0);throw o}}async function cn(e){const t=e.href;if(ee.has(t))return ee.get(t);let n;try{const r=(async()=>{let a=await v.hooks.reroute({url:new URL(e),fetch:async(s,i)=>lt(s,i,e).promise})??e;if(typeof a=="string"){const s=new URL(e);v.hash?s.hash=a:s.pathname=a,a=s}return a})();ee.set(t,r),n=await r}catch{ee.delete(t);return}return n}async function he(e,t){if(e&&!ue(e,I,v.hash)){const n=await cn(e);if(!n)return;const r=ln(n);for(const a of Ie){const s=a.exec(r);if(s)return{id:ce(e),invalidating:t,route:a,params:kt(s),url:e}}}}function ln(e){return bt(v.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(I.length))||"/"}function ce(e){return(v.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ut({url:e,type:t,intent:n,delta:r}){let a=!1;const s=xe(w,n,e,t);r!==void 0&&(s.navigation.delta=r);const i={...s.navigation,cancel:()=>{a=!0,s.reject(new Error("navigation cancelled"))}};return X||rt.forEach(o=>o(i)),a?null:s}async function Y({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:i={},redirect_count:o=0,nav_token:l={},accept:f=Fe,block:d=Fe}){const g=D;D=l;const u=await he(t,!1),c=e==="enter"?xe(w,u,t,e):ut({url:t,type:e,delta:n?.delta,intent:u});if(!c){d(),D===l&&(D=g);return}const h=k,_=T;f(),X=!0,se&&c.navigation.type!=="enter"&&x.navigating.set(W.current=c.navigation);let m=u&&await ft(u);if(!m){if(ue(t,I,v.hash))return await F(t);m=await dt(t,{id:null},await M(new Se(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404)}if(t=u?.url||t,D!==l)return c.reject(new Error("navigation aborted")),!1;if(m.type==="redirect")if(o>=20)m=await de({status:500,error:await M(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}});else return await Ne(new URL(m.location,t).href,{},o+1,l),!1;else m.props.page.status>=400&&await x.updated.check()&&(await nt(),await F(t));if(rn(),Ue(h),st(_),m.props.page.url.pathname!==t.pathname&&(t.pathname=m.props.page.url.pathname),i=n?n.state:i,!n){const p=s?0:1,y={[V]:k+=p,[J]:T+=p,[Xe]:i};(s?history.replaceState:history.pushState).call(history,y,"",t),s||tn(k,T)}if(C=null,m.props.page.state=i,se){const p=(await Promise.all(Array.from(nn,y=>y(c.navigation)))).filter(y=>typeof y=="function");if(p.length>0){let y=function(){p.forEach(b=>{H.delete(b)})};p.push(y),p.forEach(b=>{H.add(b)})}w=m.state,m.props.page&&(m.props.page.url=t),ot.$set(m.props),Wt(m.props.page),at=!0}else ct(m,be,!1);const{activeElement:R}=document;await Qt();const S=n?n.scroll:a?fe():null;if(qe){const p=t.hash&&document.getElementById(gt(t));S?scrollTo(S.x,S.y):p?p.scrollIntoView():scrollTo(0,0)}const U=document.activeElement!==R&&document.activeElement!==document.body;!r&&!U&&pn(t),qe=!0,m.props.page&&Object.assign(E,m.props.page),X=!1,e==="popstate"&&it(T),c.fulfil(void 0),H.forEach(p=>p(c.navigation)),x.navigating.set(W.current=null)}async function dt(e,t,n,r){return e.origin===Z&&e.pathname===location.pathname&&!Le?await de({status:r,error:n,url:e,route:t}):await F(e)}function fn(){let e,t,n;O.addEventListener("mousemove",o=>{const l=o.target;clearTimeout(e),e=setTimeout(()=>{s(l,j.hover)},20)});function r(o){o.defaultPrevented||s(o.composedPath()[0],j.tap)}O.addEventListener("mousedown",r),O.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const l of o)l.isIntersecting&&(ye(new URL(l.target.href)),a.unobserve(l.target))},{threshold:0});async function s(o,l){const f=Qe(o,O),d=f===t&&l>=n;if(!f||d)return;const{url:g,external:u,download:c}=we(f,I,v.hash);if(u||c)return;const h=te(f),_=g&&ce(w.url)===ce(g);if(!(h.reload||_))if(l<=h.preload_data){t=f,n=j.tap;const m=await he(g,!1);if(!m)return;an(m)}else l<=h.preload_code&&(t=f,n=l,ye(g))}function i(){a.disconnect();for(const o of O.querySelectorAll("a")){const{url:l,external:f,download:d}=we(o,I,v.hash);if(f||d)continue;const g=te(o);g.reload||(g.preload_code===j.viewport&&a.observe(o),g.preload_code===j.eager&&ye(l))}}H.add(i),i()}function M(e,t){if(e instanceof le)return e.body;const n=ne(e),r=Yt(e);return v.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function An(e,t={}){return e=new URL(Te(e)),e.origin!==Z?Promise.reject(new Error("goto: invalid URL")):Ne(e,t,0)}function un(e){if(typeof e=="function")ae.push(e);else{const{href:t}=new URL(e,location.href);ae.push(n=>n.href===t)}}function dn(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(He(),!X){const r=xe(w,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};rt.forEach(s=>s(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&He()}),navigator.connection?.saveData||fn(),O.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=Qe(t.composedPath()[0],O);if(!n)return;const{url:r,external:a,target:s,download:i}=we(n,I,v.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const o=te(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||i)return;const[f,d]=(v.hash?r.hash.replace(/^#/,""):r.href).split("#"),g=f===me(location);if(a||o.reload&&(!g||!d)){ut({url:r,type:"link"})?X=!0:t.preventDefault();return}if(d!==void 0&&g){const[,u]=w.url.href.split("#");if(u===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const c=n.ownerDocument.getElementById(decodeURIComponent(d));c&&(c.scrollIntoView(),c.focus())}return}if(q=!0,Ue(k),e(r),!o.replace_state)return;q=!1}t.preventDefault(),await new Promise(u=>{requestAnimationFrame(()=>{setTimeout(u,0)}),setTimeout(u,100)}),await Y({type:"link",url:r,keepfocus:o.keepfocus,noscroll:o.noscroll,replace_state:o.replace_state??r.href===location.href})}),O.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const i=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(ue(i,I,!1))return;const o=t.target,l=te(o);if(l.reload)return;t.preventDefault(),t.stopPropagation();const f=new FormData(o),d=r?.getAttribute("name");d&&f.append(d,r?.getAttribute("value")??""),i.search=new URLSearchParams(f).toString(),Y({type:"form",url:i,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??i.href===location.href})}),addEventListener("popstate",async t=>{if(!ke){if(t.state?.[V]){const n=t.state[V];if(D={},n===k)return;const r=$[n],a=t.state[Xe]??{},s=new URL(t.state[Pt]??location.href),i=t.state[J],o=w.url?me(location)===me(w.url):!1;if(i===T&&(at||o)){a!==E.state&&(E.state=a),e(s),$[k]=fe(),r&&scrollTo(r.x,r.y),k=n;return}const f=n-k;await Y({type:"popstate",url:s,popped:{state:a,scroll:r,delta:f},accept:()=>{k=n,T=i},block:()=>{history.go(-f)},nav_token:D})}else if(!q){const n=new URL(location.href);e(n),v.hash&&location.reload()}}}),addEventListener("hashchange",()=>{q&&(q=!1,history.replaceState({...history.state,[V]:++k,[J]:T},"",location.href))});for(const t of document.querySelectorAll("link"))en.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&x.navigating.set(W.current=null)});function e(t){w.url=E.url=t,x.page.set(je(E)),x.page.notify()}}async function hn(e,{status:t=200,error:n,node_ids:r,params:a,route:s,server_route:i,data:o,form:l}){Le=!0;const f=new URL(location.href);let d;({params:a={},route:s={id:null}}=await he(f,!1)||{}),d=Ie.find(({id:c})=>c===s.id);let g,u=!0;try{const c=r.map(async(_,m)=>{const R=o[m];return R?.uses&&(R.uses=pt(R.uses)),Oe({loader:v.nodes[_],url:f,params:a,route:s,parent:async()=>{const S={};for(let U=0;Us?"1":"0").join(""));const r=window.fetch,a=await r(n.href,{});if(!a.ok){let s;throw a.headers.get("content-type")?.includes("application/json")?s=await a.json():a.status===404?s="Not Found":a.status===500&&(s="Internal Error"),new le(a.status,s)}return new Promise(async s=>{const i=new Map,o=a.body.getReader(),l=new TextDecoder;function f(g){return Ft(g,{...v.decoders,Promise:u=>new Promise((c,h)=>{i.set(u,{fulfil:c,reject:h})})})}let d="";for(;;){const{done:g,value:u}=await o.read();if(g&&!d)break;for(d+=!u&&d?` -`:l.decode(u,{stream:!0});;){const c=d.indexOf(` -`);if(c===-1)break;const h=JSON.parse(d.slice(0,c));if(d=d.slice(c+1),h.type==="redirect")return s(h);if(h.type==="data")h.nodes?.forEach(_=>{_?.type==="data"&&(_.uses=pt(_.uses),_.data=f(_.data))}),s(h);else if(h.type==="chunk"){const{id:_,data:m,error:R}=h,S=i.get(_);i.delete(_),R?S.reject(f(R)):S.fulfil(f(m))}}}})}function pt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let ke=!1;function pn(e){const t=document.querySelector("[autofocus]");if(t)t.focus();else{const n=gt(e);if(n&&document.getElementById(n)){const{x:a,y:s}=fe();setTimeout(()=>{const i=history.state;ke=!0,location.replace(`#${n}`),v.hash&&location.replace(e.hash),history.replaceState(i,"",e.hash),scrollTo(a,s),ke=!1})}else{const a=document.body,s=a.getAttribute("tabindex");a.tabIndex=-1,a.focus({preventScroll:!0,focusVisible:!1}),s!==null?a.setAttribute("tabindex",s):a.removeAttribute("tabindex")}const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let s=0;s{if(r.rangeCount===a.length){for(let s=0;s{a=l,s=f});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n},willUnload:!t,type:r,complete:i},fulfil:a,reject:s}}function je(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function gn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function gt(e){let t;if(v.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{kn as a,An as g,yn as l,E as p,x as s}; diff --git a/webapp/assets/_app/immutable/chunks/DL-alMNb.js b/webapp/assets/_app/immutable/chunks/MvuzmHPl.js similarity index 83% rename from webapp/assets/_app/immutable/chunks/DL-alMNb.js rename to webapp/assets/_app/immutable/chunks/MvuzmHPl.js index 6b8cb492..7f1b392b 100644 --- a/webapp/assets/_app/immutable/chunks/DL-alMNb.js +++ b/webapp/assets/_app/immutable/chunks/MvuzmHPl.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as E}from"./zNh6Oe5P.js";import{p as H,E as L,f as h,t as f,c,d as z,j as e,r as a,k as x,v as d,z as M,D as q}from"./sWNKMed7.js";import{p as i,i as C}from"./Ccl3fNd2.js";import{B as F}from"./C1jihKTd.js";var G=h('
'),I=h('

');function S(u,t){H(t,!1);const _=L();let k=i(t,"title",8),b=i(t,"description",8),v=i(t,"actionLabel",8,null),g=i(t,"showAction",8,!0);function w(){_("action")}E();var r=I(),s=e(r),o=e(s),y=e(o,!0);a(o);var m=x(o,2),j=e(m,!0);a(m),a(s);var A=x(s,2);{var P=n=>{var l=G(),B=e(l);F(B,{variant:"primary",icon:'',$$events:{click:w},children:(D,J)=>{M();var p=q();f(()=>d(p,v())),c(D,p)},$$slots:{default:!0}}),a(l),c(n,l)};C(A,n=>{g()&&v()&&n(P)})}a(r),f(()=>{d(y,k()),d(j,b())}),c(u,r),z()}export{S as P}; +import"./DsnmJJEf.js";import{i as E}from"./DT0EGONV.js";import{p as H,E as L,f as h,t as f,c,d as z,j as e,r as a,k as x,v as d,z as M,D as q}from"./CRKWEg6v.js";import{p as i,i as C}from"./e1m7WRO5.js";import{B as F}from"./PY0OOjWY.js";var G=h('
'),I=h('

');function S(u,t){H(t,!1);const _=L();let k=i(t,"title",8),b=i(t,"description",8),v=i(t,"actionLabel",8,null),g=i(t,"showAction",8,!0);function w(){_("action")}E();var r=I(),s=e(r),o=e(s),y=e(o,!0);a(o);var m=x(o,2),j=e(m,!0);a(m),a(s);var A=x(s,2);{var P=n=>{var l=G(),B=e(l);F(B,{variant:"primary",icon:'',$$events:{click:w},children:(D,J)=>{M();var p=q();f(()=>d(p,v())),c(D,p)},$$slots:{default:!0}}),a(l),c(n,l)};C(A,n=>{g()&&v()&&n(P)})}a(r),f(()=>{d(y,k()),d(j,b())}),c(u,r),z()}export{S as P}; diff --git a/webapp/assets/_app/immutable/chunks/C1jihKTd.js b/webapp/assets/_app/immutable/chunks/PY0OOjWY.js similarity index 99% rename from webapp/assets/_app/immutable/chunks/C1jihKTd.js rename to webapp/assets/_app/immutable/chunks/PY0OOjWY.js index 4b60083e..cd92d299 100644 --- a/webapp/assets/_app/immutable/chunks/C1jihKTd.js +++ b/webapp/assets/_app/immutable/chunks/PY0OOjWY.js @@ -1,4 +1,4 @@ -import{b as Tr,r as Br}from"./CcBDT0Mv.js";import"./DsnmJJEf.js";import{i as Dr}from"./zNh6Oe5P.js";import{t as Ie,K as Y,L as Ke,aj as Lr,aW as jr,T as ht,a3 as kr,af as zr,aX as Fr,aY as Gr,aZ as ut,Y as _r,a_ as qr,Z as we,M as Jt,ae as Xe,P as Kt,F as ot,a8 as Hr,a$ as $r,b0 as Nr,aw as Wr,W as Qr,b1 as Mr,b2 as Jr,b3 as Kr,b4 as Xr,g as k,b5 as Yr,b6 as Zr,a2 as Ot,b7 as es,b8 as ts,b9 as rs,ba as ss,bb as as,at as os,bc as ns,bd as ls,be as is,p as cs,E as ps,l as ee,a as ds,f as hs,e as us,c as ue,d as Os,n as oe,m as te,s as re,j as qe,k as Pt,r as He,C as nt,B as Ps,b as bs}from"./sWNKMed7.js";import{l as bt,p as se,i as $e}from"./Ccl3fNd2.js";function mt(t,e,r=!1,s=!1,o=!1){var a=t,n="";Ie(()=>{var l=Lr;if(n===(n=e()??"")){Y&&Ke();return}if(l.nodes_start!==null&&(jr(l.nodes_start,l.nodes_end),l.nodes_start=l.nodes_end=null),n!==""){if(Y){ht.data;for(var i=Ke(),c=i;i!==null&&(i.nodeType!==kr||i.data!=="");)c=i,i=zr(i);if(i===null)throw Fr(),Gr;ut(ht,c),a=_r(i);return}var p=n+"";r?p=`${p}`:s&&(p=`${p}`);var R=qr(p);if((r||s)&&(R=we(R)),ut(we(R),R.lastChild),r||s)for(;we(R);)a.before(we(R));else a.before(R)}})}function ms(t,e,r,s,o){Y&&Ke();var a=e.$$slots?.[r],n=!1;a===!0&&(a=e[r==="default"?"children":r],n=!0),a===void 0||a(t,n?()=>s:s)}function Vs(t,e){var r=void 0,s;Jt(()=>{r!==(r=e())&&(s&&(Xe(s),s=null),r&&(s=Kt(()=>{ot(()=>r(t))})))})}function Xt(t){var e,r,s="";if(typeof t=="string"||typeof t=="number")s+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(e=0;e{var l=Lr;if(n===(n=e()??"")){Y&&Ke();return}if(l.nodes_start!==null&&(jr(l.nodes_start,l.nodes_end),l.nodes_start=l.nodes_end=null),n!==""){if(Y){ht.data;for(var i=Ke(),c=i;i!==null&&(i.nodeType!==kr||i.data!=="");)c=i,i=zr(i);if(i===null)throw Fr(),Gr;ut(ht,c),a=_r(i);return}var p=n+"";r?p=`${p}`:s&&(p=`${p}`);var R=qr(p);if((r||s)&&(R=we(R)),ut(we(R),R.lastChild),r||s)for(;we(R);)a.before(we(R));else a.before(R)}})}function ms(t,e,r,s,o){Y&&Ke();var a=e.$$slots?.[r],n=!1;a===!0&&(a=e[r==="default"?"children":r],n=!0),a===void 0||a(t,n?()=>s:s)}function Vs(t,e){var r=void 0,s;Jt(()=>{r!==(r=e())&&(s&&(Xe(s),s=null),r&&(s=Kt(()=>{ot(()=>r(t))})))})}function Xt(t){var e,r,s="";if(typeof t=="string"||typeof t=="number")s+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(e=0;e=0;){var l=n+a;(n===0||Vt.includes(s[n-1]))&&(l===s.length||Vt.includes(s[l]))?s=(n===0?"":s.substring(0,n))+s.substring(l+1):n=l}}return s===""?null:s}function St(t,e=!1){var r=e?" !important;":";",s="";for(var o in t){var a=t[o];a!=null&&a!==""&&(s+=" "+o+": "+a+r)}return s}function Ne(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function fs(t,e){if(e){var r="",s,o;if(Array.isArray(e)?(s=e[0],o=e[1]):s=e,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var a=!1,n=0,l=!1,i=[];s&&i.push(...Object.keys(s).map(Ne)),o&&i.push(...Object.keys(o).map(Ne));var c=0,p=-1;const y=t.length;for(var R=0;R{Ce(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Wr(()=>{e.disconnect()})}function Do(t,e,r=e){var s=!0;Qr(t,"change",o=>{var a=o?"[selected]":":checked",n;if(t.multiple)n=[].map.call(t.querySelectorAll(a),me);else{var l=t.querySelector(a)??t.querySelector("option:not([disabled])");n=l&&me(l)}r(n)}),ot(()=>{var o=e();if(Ce(t,o,s),s&&o===void 0){var a=t.querySelector(":checked");a!==null&&(o=me(a),r(o))}t.__value=o,s=!1}),Yt(t)}function me(t){return"__value"in t?t.__value:t.value}const Oe=Symbol("class"),Pe=Symbol("style"),Zt=Symbol("is custom element"),er=Symbol("is html");function Lo(t){if(Y){var e=!1,r=()=>{if(!e){if(e=!0,t.hasAttribute("value")){var s=t.value;Ue(t,"value",null),t.value=s}if(t.hasAttribute("checked")){var o=t.checked;Ue(t,"checked",null),t.checked=o}}};t.__on_r=r,ns(r),ls()}}function jo(t,e){var r=lt(t);r.value===(r.value=e??void 0)||t.value===e&&(e!==0||t.nodeName!=="PROGRESS")||(t.value=e??"")}function ws(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function Ue(t,e,r,s){var o=lt(t);Y&&(o[e]=t.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&t.nodeName==="LINK")||o[e]!==(o[e]=r)&&(e==="loading"&&(t[Jr]=r),r==null?t.removeAttribute(e):typeof r!="string"&&tr(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function Is(t,e,r,s,o=!1){var a=lt(t),n=a[Zt],l=!a[er];let i=Y&&n;i&&Ot(!1);var c=e||{},p=t.tagName==="OPTION";for(var R in e)R in r||(r[R]=null);r.class?r.class=As(r.class):r[Oe]&&(r.class=null),r[Pe]&&(r.style??=null);var I=tr(t);for(const E in r){let v=r[E];if(p&&E==="value"&&v==null){t.value=t.__value="",c[E]=v;continue}if(E==="class"){var T=t.namespaceURI==="http://www.w3.org/1999/xhtml";Ee(t,T,v,s,e?.[Oe],r[Oe]),c[E]=v,c[Oe]=r[Oe];continue}if(E==="style"){ys(t,v,e?.[Pe],r[Pe]),c[E]=v,c[Pe]=r[Pe];continue}var f=c[E];if(!(v===f&&!(v===void 0&&t.hasAttribute(E)))){c[E]=v;var y=E[0]+E[1];if(y!=="$$")if(y==="on"){const U={},L="$$"+E;let B=E.slice(2);var w=is(B);if(es(B)&&(B=B.slice(0,-7),U.capture=!0),!w&&f){if(v!=null)continue;t.removeEventListener(B,c[L],U),c[L]=null}if(v!=null)if(w)t[`__${B}`]=v,rs([B]);else{let Z=function(ce){c[E].call(this,ce)};c[L]=ts(B,t,Z,U)}else w&&(t[`__${B}`]=void 0)}else if(E==="style")Ue(t,E,v);else if(E==="autofocus")ss(t,!!v);else if(!n&&(E==="__value"||E==="value"&&v!=null))t.value=t.__value=v;else if(E==="selected"&&p)ws(t,v);else{var C=E;l||(C=as(C));var D=C==="defaultValue"||C==="defaultChecked";if(v==null&&!n&&!D)if(a[E]=null,C==="value"||C==="checked"){let U=t;const L=e===void 0;if(C==="value"){let B=U.defaultValue;U.removeAttribute(C),U.defaultValue=B,U.value=U.__value=L?B:null}else{let B=U.defaultChecked;U.removeAttribute(C),U.defaultChecked=B,U.checked=L?B:!1}}else t.removeAttribute(E);else D||I.includes(C)&&(n||typeof v!="string")?(t[C]=v,C in a&&(a[C]=os)):typeof v!="function"&&Ue(t,C,v)}}}return i&&Ot(!0),c}function Es(t,e,r=[],s=[],o,a=!1){Mr(r,s,n=>{var l=void 0,i={},c=t.nodeName==="SELECT",p=!1;if(Jt(()=>{var I=e(...n.map(k)),T=Is(t,l,I,o,a);p&&c&&"value"in I&&Ce(t,I.value);for(let y of Object.getOwnPropertySymbols(i))I[y]||Xe(i[y]);for(let y of Object.getOwnPropertySymbols(I)){var f=I[y];y.description===Yr&&(!l||f!==l[y])&&(i[y]&&Xe(i[y]),i[y]=Kt(()=>Vs(t,()=>f))),T[y]=f}l=T}),c){var R=t;ot(()=>{Ce(R,l.value,!0),Yt(R)})}p=!0})}function lt(t){return t.__attributes??={[Zt]:t.nodeName.includes("-"),[er]:t.namespaceURI===Kr}}var At=new Map;function tr(t){var e=At.get(t.nodeName);if(e)return e;At.set(t.nodeName,e=[]);for(var r,s=t,o=Element.prototype;o!==s;){r=Zr(s);for(var a in r)r[a].set&&e.push(a);s=Xr(s)}return e}function ko(t,e){return Tr+Br(t,e)}function rr(t,e){return function(){return t.apply(e,arguments)}}const{toString:gs}=Object.prototype,{getPrototypeOf:it}=Object,{iterator:De,toStringTag:sr}=Symbol,Le=(t=>e=>{const r=gs.call(e);return t[r]||(t[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),N=t=>(t=t.toLowerCase(),e=>Le(e)===t),je=t=>e=>typeof e===t,{isArray:de}=Array,Ve=je("undefined");function Se(t){return t!==null&&!Ve(t)&&t.constructor!==null&&!Ve(t.constructor)&&_(t.constructor.isBuffer)&&t.constructor.isBuffer(t)}const ar=N("ArrayBuffer");function xs(t){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(t):e=t&&t.buffer&&ar(t.buffer),e}const vs=je("string"),_=je("function"),or=je("number"),Ae=t=>t!==null&&typeof t=="object",Cs=t=>t===!0||t===!1,ge=t=>{if(Le(t)!=="object")return!1;const e=it(t);return(e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(sr in t)&&!(De in t)},Us=t=>{if(!Ae(t)||Se(t))return!1;try{return Object.keys(t).length===0&&Object.getPrototypeOf(t)===Object.prototype}catch{return!1}},Ts=N("Date"),Bs=N("File"),Ds=N("Blob"),Ls=N("FileList"),js=t=>Ae(t)&&_(t.pipe),ks=t=>{let e;return t&&(typeof FormData=="function"&&t instanceof FormData||_(t.append)&&((e=Le(t))==="formdata"||e==="object"&&_(t.toString)&&t.toString()==="[object FormData]"))},zs=N("URLSearchParams"),[Fs,Gs,_s,qs]=["ReadableStream","Request","Response","Headers"].map(N),Hs=t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Re(t,e,{allOwnKeys:r=!1}={}){if(t===null||typeof t>"u")return;let s,o;if(typeof t!="object"&&(t=[t]),de(t))for(s=0,o=t.length;s0;)if(o=r[s],e===o.toLowerCase())return o;return null}const ne=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,lr=t=>!Ve(t)&&t!==ne;function Ye(){const{caseless:t}=lr(this)&&this||{},e={},r=(s,o)=>{const a=t&&nr(e,o)||o;ge(e[a])&&ge(s)?e[a]=Ye(e[a],s):ge(s)?e[a]=Ye({},s):de(s)?e[a]=s.slice():e[a]=s};for(let s=0,o=arguments.length;s(Re(e,(o,a)=>{r&&_(o)?t[a]=rr(o,r):t[a]=o},{allOwnKeys:s}),t),Ns=t=>(t.charCodeAt(0)===65279&&(t=t.slice(1)),t),Ws=(t,e,r,s)=>{t.prototype=Object.create(e.prototype,s),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},Qs=(t,e,r,s)=>{let o,a,n;const l={};if(e=e||{},t==null)return e;do{for(o=Object.getOwnPropertyNames(t),a=o.length;a-- >0;)n=o[a],(!s||s(n,t,e))&&!l[n]&&(e[n]=t[n],l[n]=!0);t=r!==!1&&it(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},Ms=(t,e,r)=>{t=String(t),(r===void 0||r>t.length)&&(r=t.length),r-=e.length;const s=t.indexOf(e,r);return s!==-1&&s===r},Js=t=>{if(!t)return null;if(de(t))return t;let e=t.length;if(!or(e))return null;const r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},Ks=(t=>e=>t&&e instanceof t)(typeof Uint8Array<"u"&&it(Uint8Array)),Xs=(t,e)=>{const s=(t&&t[De]).call(t);let o;for(;(o=s.next())&&!o.done;){const a=o.value;e.call(t,a[0],a[1])}},Ys=(t,e)=>{let r;const s=[];for(;(r=t.exec(e))!==null;)s.push(r);return s},Zs=N("HTMLFormElement"),ea=t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,s,o){return s.toUpperCase()+o}),Rt=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),ta=N("RegExp"),ir=(t,e)=>{const r=Object.getOwnPropertyDescriptors(t),s={};Re(r,(o,a)=>{let n;(n=e(o,a,t))!==!1&&(s[a]=n||o)}),Object.defineProperties(t,s)},ra=t=>{ir(t,(e,r)=>{if(_(t)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const s=t[r];if(_(s)){if(e.enumerable=!1,"writable"in e){e.writable=!1;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},sa=(t,e)=>{const r={},s=o=>{o.forEach(a=>{r[a]=!0})};return de(t)?s(t):s(String(t).split(e)),r},aa=()=>{},oa=(t,e)=>t!=null&&Number.isFinite(t=+t)?t:e;function na(t){return!!(t&&_(t.append)&&t[sr]==="FormData"&&t[De])}const la=t=>{const e=new Array(10),r=(s,o)=>{if(Ae(s)){if(e.indexOf(s)>=0)return;if(Se(s))return s;if(!("toJSON"in s)){e[o]=s;const a=de(s)?[]:{};return Re(s,(n,l)=>{const i=r(n,o+1);!Ve(i)&&(a[l]=i)}),e[o]=void 0,a}}return s};return r(t,0)},ia=N("AsyncFunction"),ca=t=>t&&(Ae(t)||_(t))&&_(t.then)&&_(t.catch),cr=((t,e)=>t?setImmediate:e?((r,s)=>(ne.addEventListener("message",({source:o,data:a})=>{o===ne&&a===r&&s.length&&s.shift()()},!1),o=>{s.push(o),ne.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",_(ne.postMessage)),pa=typeof queueMicrotask<"u"?queueMicrotask.bind(ne):typeof process<"u"&&process.nextTick||cr,da=t=>t!=null&&_(t[De]),h={isArray:de,isArrayBuffer:ar,isBuffer:Se,isFormData:ks,isArrayBufferView:xs,isString:vs,isNumber:or,isBoolean:Cs,isObject:Ae,isPlainObject:ge,isEmptyObject:Us,isReadableStream:Fs,isRequest:Gs,isResponse:_s,isHeaders:qs,isUndefined:Ve,isDate:Ts,isFile:Bs,isBlob:Ds,isRegExp:ta,isFunction:_,isStream:js,isURLSearchParams:zs,isTypedArray:Ks,isFileList:Ls,forEach:Re,merge:Ye,extend:$s,trim:Hs,stripBOM:Ns,inherits:Ws,toFlatObject:Qs,kindOf:Le,kindOfTest:N,endsWith:Ms,toArray:Js,forEachEntry:Xs,matchAll:Ys,isHTMLForm:Zs,hasOwnProperty:Rt,hasOwnProp:Rt,reduceDescriptors:ir,freezeMethods:ra,toObjectSet:sa,toCamelCase:ea,noop:aa,toFiniteNumber:oa,findKey:nr,global:ne,isContextDefined:lr,isSpecCompliantForm:na,toJSONObject:la,isAsyncFn:ia,isThenable:ca,setImmediate:cr,asap:pa,isIterable:da};function g(t,e,r,s,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),s&&(this.request=s),o&&(this.response=o,this.status=o.status?o.status:null)}h.inherits(g,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:h.toJSONObject(this.config),code:this.code,status:this.status}}});const pr=g.prototype,dr={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(t=>{dr[t]={value:t}});Object.defineProperties(g,dr);Object.defineProperty(pr,"isAxiosError",{value:!0});g.from=(t,e,r,s,o,a)=>{const n=Object.create(pr);return h.toFlatObject(t,n,function(i){return i!==Error.prototype},l=>l!=="isAxiosError"),g.call(n,t.message,e,r,s,o),n.cause=t,n.name=t.name,a&&Object.assign(n,a),n};const ha=null;function Ze(t){return h.isPlainObject(t)||h.isArray(t)}function hr(t){return h.endsWith(t,"[]")?t.slice(0,-2):t}function ft(t,e,r){return t?t.concat(e).map(function(o,a){return o=hr(o),!r&&a?"["+o+"]":o}).join(r?".":""):e}function ua(t){return h.isArray(t)&&!t.some(Ze)}const Oa=h.toFlatObject(h,{},null,function(e){return/^is[A-Z]/.test(e)});function ke(t,e,r){if(!h.isObject(t))throw new TypeError("target must be an object");e=e||new FormData,r=h.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(y,w){return!h.isUndefined(w[y])});const s=r.metaTokens,o=r.visitor||p,a=r.dots,n=r.indexes,i=(r.Blob||typeof Blob<"u"&&Blob)&&h.isSpecCompliantForm(e);if(!h.isFunction(o))throw new TypeError("visitor must be a function");function c(f){if(f===null)return"";if(h.isDate(f))return f.toISOString();if(h.isBoolean(f))return f.toString();if(!i&&h.isBlob(f))throw new g("Blob is not supported. Use a Buffer instead.");return h.isArrayBuffer(f)||h.isTypedArray(f)?i&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function p(f,y,w){let C=f;if(f&&!w&&typeof f=="object"){if(h.endsWith(y,"{}"))y=s?y:y.slice(0,-2),f=JSON.stringify(f);else if(h.isArray(f)&&ua(f)||(h.isFileList(f)||h.endsWith(y,"[]"))&&(C=h.toArray(f)))return y=hr(y),C.forEach(function(E,v){!(h.isUndefined(E)||E===null)&&e.append(n===!0?ft([y],v,a):n===null?y:y+"[]",c(E))}),!1}return Ze(f)?!0:(e.append(ft(w,y,a),c(f)),!1)}const R=[],I=Object.assign(Oa,{defaultVisitor:p,convertValue:c,isVisitable:Ze});function T(f,y){if(!h.isUndefined(f)){if(R.indexOf(f)!==-1)throw Error("Circular reference detected in "+y.join("."));R.push(f),h.forEach(f,function(C,D){(!(h.isUndefined(C)||C===null)&&o.call(e,C,h.isString(D)?D.trim():D,y,I))===!0&&T(C,y?y.concat(D):[D])}),R.pop()}}if(!h.isObject(t))throw new TypeError("data must be an object");return T(t),e}function yt(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,function(s){return e[s]})}function ct(t,e){this._pairs=[],t&&ke(t,this,e)}const ur=ct.prototype;ur.append=function(e,r){this._pairs.push([e,r])};ur.toString=function(e){const r=e?function(s){return e.call(this,s,yt)}:yt;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};function Pa(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Or(t,e,r){if(!e)return t;const s=r&&r.encode||Pa;h.isFunction(r)&&(r={serialize:r});const o=r&&r.serialize;let a;if(o?a=o(e,r):a=h.isURLSearchParams(e)?e.toString():new ct(e,r).toString(s),a){const n=t.indexOf("#");n!==-1&&(t=t.slice(0,n)),t+=(t.indexOf("?")===-1?"?":"&")+a}return t}class wt{constructor(){this.handlers=[]}use(e,r,s){return this.handlers.push({fulfilled:e,rejected:r,synchronous:s?s.synchronous:!1,runWhen:s?s.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){h.forEach(this.handlers,function(s){s!==null&&e(s)})}}const Pr={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ba=typeof URLSearchParams<"u"?URLSearchParams:ct,ma=typeof FormData<"u"?FormData:null,Va=typeof Blob<"u"?Blob:null,Sa={isBrowser:!0,classes:{URLSearchParams:ba,FormData:ma,Blob:Va},protocols:["http","https","file","blob","url","data"]},pt=typeof window<"u"&&typeof document<"u",et=typeof navigator=="object"&&navigator||void 0,Aa=pt&&(!et||["ReactNative","NativeScript","NS"].indexOf(et.product)<0),Ra=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",fa=pt&&window.location.href||"http://localhost",ya=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:pt,hasStandardBrowserEnv:Aa,hasStandardBrowserWebWorkerEnv:Ra,navigator:et,origin:fa},Symbol.toStringTag,{value:"Module"})),G={...ya,...Sa};function wa(t,e){return ke(t,new G.classes.URLSearchParams,{visitor:function(r,s,o,a){return G.isNode&&h.isBuffer(r)?(this.append(s,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)},...e})}function Ia(t){return h.matchAll(/\w+|\[(\w*)]/g,t).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Ea(t){const e={},r=Object.keys(t);let s;const o=r.length;let a;for(s=0;s=r.length;return n=!n&&h.isArray(o)?o.length:n,i?(h.hasOwnProp(o,n)?o[n]=[o[n],s]:o[n]=s,!l):((!o[n]||!h.isObject(o[n]))&&(o[n]=[]),e(r,s,o[n],a)&&h.isArray(o[n])&&(o[n]=Ea(o[n])),!l)}if(h.isFormData(t)&&h.isFunction(t.entries)){const r={};return h.forEachEntry(t,(s,o)=>{e(Ia(s),o,r,0)}),r}return null}function ga(t,e,r){if(h.isString(t))try{return(e||JSON.parse)(t),h.trim(t)}catch(s){if(s.name!=="SyntaxError")throw s}return(r||JSON.stringify)(t)}const fe={transitional:Pr,adapter:["xhr","http","fetch"],transformRequest:[function(e,r){const s=r.getContentType()||"",o=s.indexOf("application/json")>-1,a=h.isObject(e);if(a&&h.isHTMLForm(e)&&(e=new FormData(e)),h.isFormData(e))return o?JSON.stringify(br(e)):e;if(h.isArrayBuffer(e)||h.isBuffer(e)||h.isStream(e)||h.isFile(e)||h.isBlob(e)||h.isReadableStream(e))return e;if(h.isArrayBufferView(e))return e.buffer;if(h.isURLSearchParams(e))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let l;if(a){if(s.indexOf("application/x-www-form-urlencoded")>-1)return wa(e,this.formSerializer).toString();if((l=h.isFileList(e))||s.indexOf("multipart/form-data")>-1){const i=this.env&&this.env.FormData;return ke(l?{"files[]":e}:e,i&&new i,this.formSerializer)}}return a||o?(r.setContentType("application/json",!1),ga(e)):e}],transformResponse:[function(e){const r=this.transitional||fe.transitional,s=r&&r.forcedJSONParsing,o=this.responseType==="json";if(h.isResponse(e)||h.isReadableStream(e))return e;if(e&&h.isString(e)&&(s&&!this.responseType||o)){const n=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(e)}catch(l){if(n)throw l.name==="SyntaxError"?g.from(l,g.ERR_BAD_RESPONSE,this,null,this.response):l}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:G.classes.FormData,Blob:G.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};h.forEach(["delete","get","head","post","put","patch"],t=>{fe.headers[t]={}});const xa=h.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),va=t=>{const e={};let r,s,o;return t&&t.split(` `).forEach(function(n){o=n.indexOf(":"),r=n.substring(0,o).trim().toLowerCase(),s=n.substring(o+1).trim(),!(!r||e[r]&&xa[r])&&(r==="set-cookie"?e[r]?e[r].push(s):e[r]=[s]:e[r]=e[r]?e[r]+", "+s:s)}),e},It=Symbol("internals");function be(t){return t&&String(t).trim().toLowerCase()}function xe(t){return t===!1||t==null?t:h.isArray(t)?t.map(xe):String(t)}function Ca(t){const e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let s;for(;s=r.exec(t);)e[s[1]]=s[2];return e}const Ua=t=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim());function Qe(t,e,r,s,o){if(h.isFunction(s))return s.call(this,e,r);if(o&&(e=r),!!h.isString(e)){if(h.isString(s))return e.indexOf(s)!==-1;if(h.isRegExp(s))return s.test(e)}}function Ta(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,r,s)=>r.toUpperCase()+s)}function Ba(t,e){const r=h.toCamelCase(" "+e);["get","set","has"].forEach(s=>{Object.defineProperty(t,s+r,{value:function(o,a,n){return this[s].call(this,e,o,a,n)},configurable:!0})})}let q=class{constructor(e){e&&this.set(e)}set(e,r,s){const o=this;function a(l,i,c){const p=be(i);if(!p)throw new Error("header name must be a non-empty string");const R=h.findKey(o,p);(!R||o[R]===void 0||c===!0||c===void 0&&o[R]!==!1)&&(o[R||i]=xe(l))}const n=(l,i)=>h.forEach(l,(c,p)=>a(c,p,i));if(h.isPlainObject(e)||e instanceof this.constructor)n(e,r);else if(h.isString(e)&&(e=e.trim())&&!Ua(e))n(va(e),r);else if(h.isObject(e)&&h.isIterable(e)){let l={},i,c;for(const p of e){if(!h.isArray(p))throw TypeError("Object iterator must return a key-value pair");l[c=p[0]]=(i=l[c])?h.isArray(i)?[...i,p[1]]:[i,p[1]]:p[1]}n(l,r)}else e!=null&&a(r,e,s);return this}get(e,r){if(e=be(e),e){const s=h.findKey(this,e);if(s){const o=this[s];if(!r)return o;if(r===!0)return Ca(o);if(h.isFunction(r))return r.call(this,o,s);if(h.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,r){if(e=be(e),e){const s=h.findKey(this,e);return!!(s&&this[s]!==void 0&&(!r||Qe(this,this[s],s,r)))}return!1}delete(e,r){const s=this;let o=!1;function a(n){if(n=be(n),n){const l=h.findKey(s,n);l&&(!r||Qe(s,s[l],l,r))&&(delete s[l],o=!0)}}return h.isArray(e)?e.forEach(a):a(e),o}clear(e){const r=Object.keys(this);let s=r.length,o=!1;for(;s--;){const a=r[s];(!e||Qe(this,this[a],a,e,!0))&&(delete this[a],o=!0)}return o}normalize(e){const r=this,s={};return h.forEach(this,(o,a)=>{const n=h.findKey(s,a);if(n){r[n]=xe(o),delete r[a];return}const l=e?Ta(a):String(a).trim();l!==a&&delete r[a],r[l]=xe(o),s[l]=!0}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const r=Object.create(null);return h.forEach(this,(s,o)=>{s!=null&&s!==!1&&(r[o]=e&&h.isArray(s)?s.join(", "):s)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,r])=>e+": "+r).join(` `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...r){const s=new this(e);return r.forEach(o=>s.set(o)),s}static accessor(e){const s=(this[It]=this[It]={accessors:{}}).accessors,o=this.prototype;function a(n){const l=be(n);s[l]||(Ba(o,n),s[l]=!0)}return h.isArray(e)?e.forEach(a):a(e),this}};q.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);h.reduceDescriptors(q.prototype,({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(s){this[r]=s}}});h.freezeMethods(q);function Me(t,e){const r=this||fe,s=e||r,o=q.from(s.headers);let a=s.data;return h.forEach(t,function(l){a=l.call(r,a,o.normalize(),e?e.status:void 0)}),o.normalize(),a}function mr(t){return!!(t&&t.__CANCEL__)}function he(t,e,r){g.call(this,t??"canceled",g.ERR_CANCELED,e,r),this.name="CanceledError"}h.inherits(he,g,{__CANCEL__:!0});function Vr(t,e,r){const s=r.config.validateStatus;!r.status||!s||s(r.status)?t(r):e(new g("Request failed with status code "+r.status,[g.ERR_BAD_REQUEST,g.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Da(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}function La(t,e){t=t||10;const r=new Array(t),s=new Array(t);let o=0,a=0,n;return e=e!==void 0?e:1e3,function(i){const c=Date.now(),p=s[a];n||(n=c),r[o]=i,s[o]=c;let R=a,I=0;for(;R!==o;)I+=r[R++],R=R%t;if(o=(o+1)%t,o===a&&(a=(a+1)%t),c-n{r=p,o=null,a&&(clearTimeout(a),a=null),t(...c)};return[(...c)=>{const p=Date.now(),R=p-r;R>=s?n(c,p):(o=c,a||(a=setTimeout(()=>{a=null,n(o)},s-R)))},()=>o&&n(o)]}const Te=(t,e,r=3)=>{let s=0;const o=La(50,250);return ja(a=>{const n=a.loaded,l=a.lengthComputable?a.total:void 0,i=n-s,c=o(i),p=n<=l;s=n;const R={loaded:n,total:l,progress:l?n/l:void 0,bytes:i,rate:c||void 0,estimated:c&&l&&p?(l-n)/c:void 0,event:a,lengthComputable:l!=null,[e?"download":"upload"]:!0};t(R)},r)},Et=(t,e)=>{const r=t!=null;return[s=>e[0]({lengthComputable:r,total:t,loaded:s}),e[1]]},gt=t=>(...e)=>h.asap(()=>t(...e)),ka=G.hasStandardBrowserEnv?((t,e)=>r=>(r=new URL(r,G.origin),t.protocol===r.protocol&&t.host===r.host&&(e||t.port===r.port)))(new URL(G.origin),G.navigator&&/(msie|trident)/i.test(G.navigator.userAgent)):()=>!0,za=G.hasStandardBrowserEnv?{write(t,e,r,s,o,a){const n=[t+"="+encodeURIComponent(e)];h.isNumber(r)&&n.push("expires="+new Date(r).toGMTString()),h.isString(s)&&n.push("path="+s),h.isString(o)&&n.push("domain="+o),a===!0&&n.push("secure"),document.cookie=n.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Fa(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)}function Ga(t,e){return e?t.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):t}function Sr(t,e,r){let s=!Fa(e);return t&&(s||r==!1)?Ga(t,e):e}const xt=t=>t instanceof q?{...t}:t;function ie(t,e){e=e||{};const r={};function s(c,p,R,I){return h.isPlainObject(c)&&h.isPlainObject(p)?h.merge.call({caseless:I},c,p):h.isPlainObject(p)?h.merge({},p):h.isArray(p)?p.slice():p}function o(c,p,R,I){if(h.isUndefined(p)){if(!h.isUndefined(c))return s(void 0,c,R,I)}else return s(c,p,R,I)}function a(c,p){if(!h.isUndefined(p))return s(void 0,p)}function n(c,p){if(h.isUndefined(p)){if(!h.isUndefined(c))return s(void 0,c)}else return s(void 0,p)}function l(c,p,R){if(R in e)return s(c,p);if(R in t)return s(void 0,c)}const i={url:a,method:a,data:a,baseURL:n,transformRequest:n,transformResponse:n,paramsSerializer:n,timeout:n,timeoutMessage:n,withCredentials:n,withXSRFToken:n,adapter:n,responseType:n,xsrfCookieName:n,xsrfHeaderName:n,onUploadProgress:n,onDownloadProgress:n,decompress:n,maxContentLength:n,maxBodyLength:n,beforeRedirect:n,transport:n,httpAgent:n,httpsAgent:n,cancelToken:n,socketPath:n,responseEncoding:n,validateStatus:l,headers:(c,p,R)=>o(xt(c),xt(p),R,!0)};return h.forEach(Object.keys({...t,...e}),function(p){const R=i[p]||o,I=R(t[p],e[p],p);h.isUndefined(I)&&R!==l||(r[p]=I)}),r}const Ar=t=>{const e=ie({},t);let{data:r,withXSRFToken:s,xsrfHeaderName:o,xsrfCookieName:a,headers:n,auth:l}=e;e.headers=n=q.from(n),e.url=Or(Sr(e.baseURL,e.url,e.allowAbsoluteUrls),t.params,t.paramsSerializer),l&&n.set("Authorization","Basic "+btoa((l.username||"")+":"+(l.password?unescape(encodeURIComponent(l.password)):"")));let i;if(h.isFormData(r)){if(G.hasStandardBrowserEnv||G.hasStandardBrowserWebWorkerEnv)n.setContentType(void 0);else if((i=n.getContentType())!==!1){const[c,...p]=i?i.split(";").map(R=>R.trim()).filter(Boolean):[];n.setContentType([c||"multipart/form-data",...p].join("; "))}}if(G.hasStandardBrowserEnv&&(s&&h.isFunction(s)&&(s=s(e)),s||s!==!1&&ka(e.url))){const c=o&&a&&za.read(a);c&&n.set(o,c)}return e},_a=typeof XMLHttpRequest<"u",qa=_a&&function(t){return new Promise(function(r,s){const o=Ar(t);let a=o.data;const n=q.from(o.headers).normalize();let{responseType:l,onUploadProgress:i,onDownloadProgress:c}=o,p,R,I,T,f;function y(){T&&T(),f&&f(),o.cancelToken&&o.cancelToken.unsubscribe(p),o.signal&&o.signal.removeEventListener("abort",p)}let w=new XMLHttpRequest;w.open(o.method.toUpperCase(),o.url,!0),w.timeout=o.timeout;function C(){if(!w)return;const E=q.from("getAllResponseHeaders"in w&&w.getAllResponseHeaders()),U={data:!l||l==="text"||l==="json"?w.responseText:w.response,status:w.status,statusText:w.statusText,headers:E,config:t,request:w};Vr(function(B){r(B),y()},function(B){s(B),y()},U),w=null}"onloadend"in w?w.onloadend=C:w.onreadystatechange=function(){!w||w.readyState!==4||w.status===0&&!(w.responseURL&&w.responseURL.indexOf("file:")===0)||setTimeout(C)},w.onabort=function(){w&&(s(new g("Request aborted",g.ECONNABORTED,t,w)),w=null)},w.onerror=function(){s(new g("Network Error",g.ERR_NETWORK,t,w)),w=null},w.ontimeout=function(){let v=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const U=o.transitional||Pr;o.timeoutErrorMessage&&(v=o.timeoutErrorMessage),s(new g(v,U.clarifyTimeoutError?g.ETIMEDOUT:g.ECONNABORTED,t,w)),w=null},a===void 0&&n.setContentType(null),"setRequestHeader"in w&&h.forEach(n.toJSON(),function(v,U){w.setRequestHeader(U,v)}),h.isUndefined(o.withCredentials)||(w.withCredentials=!!o.withCredentials),l&&l!=="json"&&(w.responseType=o.responseType),c&&([I,f]=Te(c,!0),w.addEventListener("progress",I)),i&&w.upload&&([R,T]=Te(i),w.upload.addEventListener("progress",R),w.upload.addEventListener("loadend",T)),(o.cancelToken||o.signal)&&(p=E=>{w&&(s(!E||E.type?new he(null,t,w):E),w.abort(),w=null)},o.cancelToken&&o.cancelToken.subscribe(p),o.signal&&(o.signal.aborted?p():o.signal.addEventListener("abort",p)));const D=Da(o.url);if(D&&G.protocols.indexOf(D)===-1){s(new g("Unsupported protocol "+D+":",g.ERR_BAD_REQUEST,t));return}w.send(a||null)})},Ha=(t,e)=>{const{length:r}=t=t?t.filter(Boolean):[];if(e||r){let s=new AbortController,o;const a=function(c){if(!o){o=!0,l();const p=c instanceof Error?c:this.reason;s.abort(p instanceof g?p:new he(p instanceof Error?p.message:p))}};let n=e&&setTimeout(()=>{n=null,a(new g(`timeout ${e} of ms exceeded`,g.ETIMEDOUT))},e);const l=()=>{t&&(n&&clearTimeout(n),n=null,t.forEach(c=>{c.unsubscribe?c.unsubscribe(a):c.removeEventListener("abort",a)}),t=null)};t.forEach(c=>c.addEventListener("abort",a));const{signal:i}=s;return i.unsubscribe=()=>h.asap(l),i}},$a=function*(t,e){let r=t.byteLength;if(r{const o=Na(t,e);let a=0,n,l=i=>{n||(n=!0,s&&s(i))};return new ReadableStream({async pull(i){try{const{done:c,value:p}=await o.next();if(c){l(),i.close();return}let R=p.byteLength;if(r){let I=a+=R;r(I)}i.enqueue(new Uint8Array(p))}catch(c){throw l(c),c}},cancel(i){return l(i),o.return()}},{highWaterMark:2})},ze=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Rr=ze&&typeof ReadableStream=="function",Qa=ze&&(typeof TextEncoder=="function"?(t=>e=>t.encode(e))(new TextEncoder):async t=>new Uint8Array(await new Response(t).arrayBuffer())),fr=(t,...e)=>{try{return!!t(...e)}catch{return!1}},Ma=Rr&&fr(()=>{let t=!1;const e=new Request(G.origin,{body:new ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type");return t&&!e}),Ct=64*1024,tt=Rr&&fr(()=>h.isReadableStream(new Response("").body)),Be={stream:tt&&(t=>t.body)};ze&&(t=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Be[e]&&(Be[e]=h.isFunction(t[e])?r=>r[e]():(r,s)=>{throw new g(`Response type '${e}' is not supported`,g.ERR_NOT_SUPPORT,s)})})})(new Response);const Ja=async t=>{if(t==null)return 0;if(h.isBlob(t))return t.size;if(h.isSpecCompliantForm(t))return(await new Request(G.origin,{method:"POST",body:t}).arrayBuffer()).byteLength;if(h.isArrayBufferView(t)||h.isArrayBuffer(t))return t.byteLength;if(h.isURLSearchParams(t)&&(t=t+""),h.isString(t))return(await Qa(t)).byteLength},Ka=async(t,e)=>{const r=h.toFiniteNumber(t.getContentLength());return r??Ja(e)},Xa=ze&&(async t=>{let{url:e,method:r,data:s,signal:o,cancelToken:a,timeout:n,onDownloadProgress:l,onUploadProgress:i,responseType:c,headers:p,withCredentials:R="same-origin",fetchOptions:I}=Ar(t);c=c?(c+"").toLowerCase():"text";let T=Ha([o,a&&a.toAbortSignal()],n),f;const y=T&&T.unsubscribe&&(()=>{T.unsubscribe()});let w;try{if(i&&Ma&&r!=="get"&&r!=="head"&&(w=await Ka(p,s))!==0){let U=new Request(e,{method:"POST",body:s,duplex:"half"}),L;if(h.isFormData(s)&&(L=U.headers.get("content-type"))&&p.setContentType(L),U.body){const[B,Z]=Et(w,Te(gt(i)));s=vt(U.body,Ct,B,Z)}}h.isString(R)||(R=R?"include":"omit");const C="credentials"in Request.prototype;f=new Request(e,{...I,signal:T,method:r.toUpperCase(),headers:p.normalize().toJSON(),body:s,duplex:"half",credentials:C?R:void 0});let D=await fetch(f,I);const E=tt&&(c==="stream"||c==="response");if(tt&&(l||E&&y)){const U={};["status","statusText","headers"].forEach(ce=>{U[ce]=D[ce]});const L=h.toFiniteNumber(D.headers.get("content-length")),[B,Z]=l&&Et(L,Te(gt(l),!0))||[];D=new Response(vt(D.body,Ct,B,()=>{Z&&Z(),y&&y()}),U)}c=c||"text";let v=await Be[h.findKey(Be,c)||"text"](D,t);return!E&&y&&y(),await new Promise((U,L)=>{Vr(U,L,{data:v,headers:q.from(D.headers),status:D.status,statusText:D.statusText,config:t,request:f})})}catch(C){throw y&&y(),C&&C.name==="TypeError"&&/Load failed|fetch/i.test(C.message)?Object.assign(new g("Network Error",g.ERR_NETWORK,t,f),{cause:C.cause||C}):g.from(C,C&&C.code,t,f)}}),rt={http:ha,xhr:qa,fetch:Xa};h.forEach(rt,(t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch{}Object.defineProperty(t,"adapterName",{value:e})}});const Ut=t=>`- ${t}`,Ya=t=>h.isFunction(t)||t===null||t===!1,yr={getAdapter:t=>{t=h.isArray(t)?t:[t];const{length:e}=t;let r,s;const o={};for(let a=0;a`adapter ${l} `+(i===!1?"is not supported by the environment":"is not available in the build"));let n=e?a.length>1?`since : diff --git a/webapp/assets/_app/immutable/chunks/xti5lSds.js b/webapp/assets/_app/immutable/chunks/QGyLbggC.js similarity index 86% rename from webapp/assets/_app/immutable/chunks/xti5lSds.js rename to webapp/assets/_app/immutable/chunks/QGyLbggC.js index 3c20b964..626e4e78 100644 --- a/webapp/assets/_app/immutable/chunks/xti5lSds.js +++ b/webapp/assets/_app/immutable/chunks/QGyLbggC.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as R}from"./zNh6Oe5P.js";import{p as q,l as w,a as A,f as x,t as v,c as k,d as B,k as D,j as u,s as _,m as y,r as f,n as m,u as h,g as d,v as U}from"./sWNKMed7.js";import{p as o,i as F}from"./Ccl3fNd2.js";import{c as g,s as G,d as r}from"./C1jihKTd.js";var H=x('
'),J=x('');function V(b,n){q(n,!1);const i=y(),p=y();let e=o(n,"item",8),s=o(n,"entityType",8,"repository"),E=o(n,"showOwner",8,!1),I=o(n,"showId",8,!1),z=o(n,"fontMono",8,!1);function C(){if(!e())return"Unknown";switch(s()){case"repository":return E()?`${e().owner||"Unknown"}/${e().name||"Unknown"}`:e().name||"Unknown";case"organization":case"enterprise":return e().name||"Unknown";case"pool":return I()?e().id||"Unknown":e().name||"Unknown";case"scaleset":return e().name||"Unknown";case"instance":return e().name||"Unknown";default:return e().name||e().id||"Unknown"}}function M(){if(!e())return"#";let t;switch(s()){case"instance":t=e().name;break;default:t=e().id||e().name;break}if(!t)return"#";switch(s()){case"repository":return r(`/repositories/${t}`);case"organization":return r(`/organizations/${t}`);case"enterprise":return r(`/enterprises/${t}`);case"pool":return r(`/pools/${t}`);case"scaleset":return r(`/scalesets/${t}`);case"instance":return r(`/instances/${encodeURIComponent(t)}`);default:return"#"}}w(()=>{},()=>{_(i,C())}),w(()=>{},()=>{_(p,M())}),A(),R();var c=J(),a=u(c),N=u(a,!0);f(a);var O=D(a);{var T=t=>{var l=H(),j=u(l,!0);f(l),v(()=>U(j,(m(e()),h(()=>e().provider_id)))),k(t,l)};F(O,t=>{m(s()),m(e()),h(()=>s()==="instance"&&e()?.provider_id)&&t(T)})}f(c),v(()=>{g(a,"href",d(p)),G(a,1,`block w-full truncate text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 ${z()?"font-mono":""}`),g(a,"title",d(i)),U(N,d(i))}),k(b,c),B()}export{V as E}; +import"./DsnmJJEf.js";import{i as R}from"./DT0EGONV.js";import{p as q,l as w,a as A,f as x,t as v,c as k,d as B,k as D,j as u,s as _,m as y,r as f,n as m,u as h,g as d,v as U}from"./CRKWEg6v.js";import{p as o,i as F}from"./e1m7WRO5.js";import{c as g,s as G,d as r}from"./PY0OOjWY.js";var H=x('
'),J=x('');function V(b,n){q(n,!1);const i=y(),p=y();let e=o(n,"item",8),s=o(n,"entityType",8,"repository"),E=o(n,"showOwner",8,!1),I=o(n,"showId",8,!1),z=o(n,"fontMono",8,!1);function C(){if(!e())return"Unknown";switch(s()){case"repository":return E()?`${e().owner||"Unknown"}/${e().name||"Unknown"}`:e().name||"Unknown";case"organization":case"enterprise":return e().name||"Unknown";case"pool":return I()?e().id||"Unknown":e().name||"Unknown";case"scaleset":return e().name||"Unknown";case"instance":return e().name||"Unknown";default:return e().name||e().id||"Unknown"}}function M(){if(!e())return"#";let t;switch(s()){case"instance":t=e().name;break;default:t=e().id||e().name;break}if(!t)return"#";switch(s()){case"repository":return r(`/repositories/${t}`);case"organization":return r(`/organizations/${t}`);case"enterprise":return r(`/enterprises/${t}`);case"pool":return r(`/pools/${t}`);case"scaleset":return r(`/scalesets/${t}`);case"instance":return r(`/instances/${encodeURIComponent(t)}`);default:return"#"}}w(()=>{},()=>{_(i,C())}),w(()=>{},()=>{_(p,M())}),A(),R();var c=J(),a=u(c),N=u(a,!0);f(a);var O=D(a);{var T=t=>{var l=H(),j=u(l,!0);f(l),v(()=>U(j,(m(e()),h(()=>e().provider_id)))),k(t,l)};F(O,t=>{m(s()),m(e()),h(()=>s()==="instance"&&e()?.provider_id)&&t(T)})}f(c),v(()=>{g(a,"href",d(p)),G(a,1,`block w-full truncate text-blue-600 dark:text-blue-400 hover:text-blue-500 dark:hover:text-blue-300 ${z()?"font-mono":""}`),g(a,"title",d(i)),U(N,d(i))}),k(b,c),B()}export{V as E}; diff --git a/webapp/assets/_app/immutable/chunks/BbG_gKT3.js b/webapp/assets/_app/immutable/chunks/XtdMJsQa.js similarity index 73% rename from webapp/assets/_app/immutable/chunks/BbG_gKT3.js rename to webapp/assets/_app/immutable/chunks/XtdMJsQa.js index 514c85cf..2e298218 100644 --- a/webapp/assets/_app/immutable/chunks/BbG_gKT3.js +++ b/webapp/assets/_app/immutable/chunks/XtdMJsQa.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as u}from"./zNh6Oe5P.js";import{p as v,E as m,f as h,j as r,r as d,e as t,c as k,d as g}from"./sWNKMed7.js";import{e as b}from"./C1jihKTd.js";var w=h('');function j(s,i){v(i,!1);const l=m();function n(){l("close")}function c(o){o.stopPropagation()}function f(o){o.key==="Escape"&&l("close")}u();var a=w(),e=r(a),p=r(e);b(p,i,"default",{}),d(e),d(a),t("click",e,c),t("click",a,n),t("keydown",a,f),k(s,a),g()}export{j as M}; +import"./DsnmJJEf.js";import{i as u}from"./DT0EGONV.js";import{p as v,E as m,f as h,j as r,r as d,e as t,c as k,d as g}from"./CRKWEg6v.js";import{e as b}from"./PY0OOjWY.js";var w=h('');function j(s,i){v(i,!1);const l=m();function n(){l("close")}function c(o){o.stopPropagation()}function f(o){o.key==="Escape"&&l("close")}u();var a=w(),e=r(a),p=r(e);b(p,i,"default",{}),d(e),d(a),t("click",e,c),t("click",a,n),t("keydown",a,f),k(s,a),g()}export{j as M}; diff --git a/webapp/assets/_app/immutable/chunks/_gFYyMUN.js b/webapp/assets/_app/immutable/chunks/b5SBTec5.js similarity index 78% rename from webapp/assets/_app/immutable/chunks/_gFYyMUN.js rename to webapp/assets/_app/immutable/chunks/b5SBTec5.js index a6eb6026..d5397c4c 100644 --- a/webapp/assets/_app/immutable/chunks/_gFYyMUN.js +++ b/webapp/assets/_app/immutable/chunks/b5SBTec5.js @@ -1 +1 @@ -import{F as t,G as S,u as b,H as h,S as k}from"./sWNKMed7.js";function u(r,i){return r===i||r?.[k]===i}function d(r={},i,a,T){return t(()=>{var f,s;return S(()=>{f=s,s=[],b(()=>{r!==a(...s)&&(i(r,...s),f&&u(a(...f),r)&&i(null,...f))})}),()=>{h(()=>{s&&u(a(...s),r)&&i(null,...s)})}}),r}export{d as b}; +import{F as t,G as S,u as b,H as h,S as k}from"./CRKWEg6v.js";function u(r,i){return r===i||r?.[k]===i}function d(r={},i,a,T){return t(()=>{var f,s;return S(()=>{f=s,s=[],b(()=>{r!==a(...s)&&(i(r,...s),f&&u(a(...f),r)&&i(null,...f))})}),()=>{h(()=>{s&&u(a(...s),r)&&i(null,...s)})}}),r}export{d as b}; diff --git a/webapp/assets/_app/immutable/chunks/Ccl3fNd2.js b/webapp/assets/_app/immutable/chunks/e1m7WRO5.js similarity index 96% rename from webapp/assets/_app/immutable/chunks/Ccl3fNd2.js rename to webapp/assets/_app/immutable/chunks/e1m7WRO5.js index ae407549..18cde8a7 100644 --- a/webapp/assets/_app/immutable/chunks/Ccl3fNd2.js +++ b/webapp/assets/_app/immutable/chunks/e1m7WRO5.js @@ -1 +1 @@ -import{M as K,K as T,L as j,N as C,_ as F,a0 as q,a1 as $,Y as z,a2 as x,O as G,P as A,Q as H,at as J,R as Z,aa as Q,U as V,T as W,au as D,m as X,av as k,s as U,J as ee,g as m,aw as re,ax as ne,ay as w,az as se,aA as M,ar as ae,q as ie,aB as te,aj as R,aC as ue,a6 as fe,aD as le,u as oe,aE as ce,aF as de,aG as _e,aH as N,aI as L,aJ as pe,aK as ve,S as Y,aL as B,aM as S}from"./sWNKMed7.js";function Ie(e,r,s=!1){T&&j();var n=e,a=null,i=null,l=J,d=s?C:0,p=!1;const P=(o,u=!0)=>{p=!0,_(u,o)};var f=null;function I(){f!==null&&(f.lastChild.remove(),n.before(f),f=null);var o=l?a:i,u=l?i:a;o&&Q(o),u&&V(u,()=>{l?i=null:a=null})}const _=(o,u)=>{if(l===(l=o))return;let g=!1;if(T){const E=F(n)===q;!!l===E&&(n=$(),z(n),x(!1),g=!0)}var b=Z(),c=n;if(b&&(f=document.createDocumentFragment(),f.append(c=G())),l?a??=u&&A(()=>u(c)):i??=u&&A(()=>u(c)),b){var h=H,t=l?a:i,v=l?i:a;t&&h.skipped_effects.delete(t),v&&h.skipped_effects.add(v),h.add_callback(I)}else I();g&&x(!0)};K(()=>{p=!1,r(P),p||_(null,null)},d),T&&(n=W)}let O=!1,y=Symbol();function ge(e,r,s){const n=s[r]??={store:null,source:X(void 0),unsubscribe:D};if(n.store!==e&&!(y in s))if(n.unsubscribe(),n.store=e??null,e==null)n.source.v=void 0,n.unsubscribe=D;else{var a=!0;n.unsubscribe=k(e,i=>{a?n.source.v=i:U(n.source,i)}),a=!1}return e&&y in s?ee(e):m(n.source)}function Ee(){const e={};function r(){re(()=>{for(var s in e)e[s].unsubscribe();ne(e,y,{enumerable:!1,value:!0})})}return[e,r]}function be(e){var r=O;try{return O=!1,[e(),O]}finally{O=r}}const he={get(e,r){if(!e.exclude.includes(r))return m(e.version),r in e.special?e.special[r]():e.props[r]},set(e,r,s){if(!(r in e.special)){var n=R;try{L(e.parent_effect),e.special[r]=me({get[r](){return e.props[r]}},r,M)}finally{L(n)}}return e.special[r](s),N(e.version),!0},getOwnPropertyDescriptor(e,r){if(!e.exclude.includes(r)&&r in e.props)return{enumerable:!0,configurable:!0,value:e.props[r]}},deleteProperty(e,r){return e.exclude.includes(r)||(e.exclude.push(r),N(e.version)),!0},has(e,r){return e.exclude.includes(r)?!1:r in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(r=>!e.exclude.includes(r))}};function Oe(e,r){return new Proxy({props:e,exclude:r,special:{},version:fe(0),parent_effect:R},he)}const Se={get(e,r){let s=e.props.length;for(;s--;){let n=e.props[s];if(S(n)&&(n=n()),typeof n=="object"&&n!==null&&r in n)return n[r]}},set(e,r,s){let n=e.props.length;for(;n--;){let a=e.props[n];S(a)&&(a=a());const i=w(a,r);if(i&&i.set)return i.set(s),!0}return!1},getOwnPropertyDescriptor(e,r){let s=e.props.length;for(;s--;){let n=e.props[s];if(S(n)&&(n=n()),typeof n=="object"&&n!==null&&r in n){const a=w(n,r);return a&&!a.configurable&&(a.configurable=!0),a}}},has(e,r){if(r===Y||r===B)return!1;for(let s of e.props)if(S(s)&&(s=s()),s!=null&&r in s)return!0;return!1},ownKeys(e){const r=[];for(let s of e.props)if(S(s)&&(s=s()),!!s){for(const n in s)r.includes(n)||r.push(n);for(const n of Object.getOwnPropertySymbols(s))r.includes(n)||r.push(n)}return r}};function Te(...e){return new Proxy({props:e},Se)}function me(e,r,s,n){var a=!ce||(s&de)!==0,i=(s&le)!==0,l=(s&pe)!==0,d=n,p=!0,P=()=>(p&&(p=!1,d=l?oe(n):n),d),f;if(i){var I=Y in e||B in e;f=w(e,r)?.set??(I&&r in e?t=>e[r]=t:void 0)}var _,o=!1;i?[_,o]=be(()=>e[r]):_=e[r],_===void 0&&n!==void 0&&(_=P(),f&&(a&&se(),f(_)));var u;if(a?u=()=>{var t=e[r];return t===void 0?P():(p=!0,t)}:u=()=>{var t=e[r];return t!==void 0&&(d=void 0),t===void 0?d:t},a&&(s&M)===0)return u;if(f){var g=e.$$legacy;return function(t,v){return arguments.length>0?((!a||!v||g||o)&&f(v?u():t),t):u()}}var b=!1,c=((s&_e)!==0?ae:ie)(()=>(b=!1,u()));i&&m(c);var h=R;return function(t,v){if(arguments.length>0){const E=v?m(c):a&&i?te(t):t;return U(c,E),b=!0,d!==void 0&&(d=E),t}return ve&&b||(h.f&ue)!==0?c.v:m(c)}}export{ge as a,Te as b,Ie as i,Oe as l,me as p,Ee as s}; +import{M as K,K as T,L as j,N as C,_ as F,a0 as q,a1 as $,Y as z,a2 as x,O as G,P as A,Q as H,at as J,R as Z,aa as Q,U as V,T as W,au as D,m as X,av as k,s as U,J as ee,g as m,aw as re,ax as ne,ay as w,az as se,aA as M,ar as ae,q as ie,aB as te,aj as R,aC as ue,a6 as fe,aD as le,u as oe,aE as ce,aF as de,aG as _e,aH as N,aI as L,aJ as pe,aK as ve,S as Y,aL as B,aM as S}from"./CRKWEg6v.js";function Ie(e,r,s=!1){T&&j();var n=e,a=null,i=null,l=J,d=s?C:0,p=!1;const P=(o,u=!0)=>{p=!0,_(u,o)};var f=null;function I(){f!==null&&(f.lastChild.remove(),n.before(f),f=null);var o=l?a:i,u=l?i:a;o&&Q(o),u&&V(u,()=>{l?i=null:a=null})}const _=(o,u)=>{if(l===(l=o))return;let g=!1;if(T){const E=F(n)===q;!!l===E&&(n=$(),z(n),x(!1),g=!0)}var b=Z(),c=n;if(b&&(f=document.createDocumentFragment(),f.append(c=G())),l?a??=u&&A(()=>u(c)):i??=u&&A(()=>u(c)),b){var h=H,t=l?a:i,v=l?i:a;t&&h.skipped_effects.delete(t),v&&h.skipped_effects.add(v),h.add_callback(I)}else I();g&&x(!0)};K(()=>{p=!1,r(P),p||_(null,null)},d),T&&(n=W)}let O=!1,y=Symbol();function ge(e,r,s){const n=s[r]??={store:null,source:X(void 0),unsubscribe:D};if(n.store!==e&&!(y in s))if(n.unsubscribe(),n.store=e??null,e==null)n.source.v=void 0,n.unsubscribe=D;else{var a=!0;n.unsubscribe=k(e,i=>{a?n.source.v=i:U(n.source,i)}),a=!1}return e&&y in s?ee(e):m(n.source)}function Ee(){const e={};function r(){re(()=>{for(var s in e)e[s].unsubscribe();ne(e,y,{enumerable:!1,value:!0})})}return[e,r]}function be(e){var r=O;try{return O=!1,[e(),O]}finally{O=r}}const he={get(e,r){if(!e.exclude.includes(r))return m(e.version),r in e.special?e.special[r]():e.props[r]},set(e,r,s){if(!(r in e.special)){var n=R;try{L(e.parent_effect),e.special[r]=me({get[r](){return e.props[r]}},r,M)}finally{L(n)}}return e.special[r](s),N(e.version),!0},getOwnPropertyDescriptor(e,r){if(!e.exclude.includes(r)&&r in e.props)return{enumerable:!0,configurable:!0,value:e.props[r]}},deleteProperty(e,r){return e.exclude.includes(r)||(e.exclude.push(r),N(e.version)),!0},has(e,r){return e.exclude.includes(r)?!1:r in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(r=>!e.exclude.includes(r))}};function Oe(e,r){return new Proxy({props:e,exclude:r,special:{},version:fe(0),parent_effect:R},he)}const Se={get(e,r){let s=e.props.length;for(;s--;){let n=e.props[s];if(S(n)&&(n=n()),typeof n=="object"&&n!==null&&r in n)return n[r]}},set(e,r,s){let n=e.props.length;for(;n--;){let a=e.props[n];S(a)&&(a=a());const i=w(a,r);if(i&&i.set)return i.set(s),!0}return!1},getOwnPropertyDescriptor(e,r){let s=e.props.length;for(;s--;){let n=e.props[s];if(S(n)&&(n=n()),typeof n=="object"&&n!==null&&r in n){const a=w(n,r);return a&&!a.configurable&&(a.configurable=!0),a}}},has(e,r){if(r===Y||r===B)return!1;for(let s of e.props)if(S(s)&&(s=s()),s!=null&&r in s)return!0;return!1},ownKeys(e){const r=[];for(let s of e.props)if(S(s)&&(s=s()),!!s){for(const n in s)r.includes(n)||r.push(n);for(const n of Object.getOwnPropertySymbols(s))r.includes(n)||r.push(n)}return r}};function Te(...e){return new Proxy({props:e},Se)}function me(e,r,s,n){var a=!ce||(s&de)!==0,i=(s&le)!==0,l=(s&pe)!==0,d=n,p=!0,P=()=>(p&&(p=!1,d=l?oe(n):n),d),f;if(i){var I=Y in e||B in e;f=w(e,r)?.set??(I&&r in e?t=>e[r]=t:void 0)}var _,o=!1;i?[_,o]=be(()=>e[r]):_=e[r],_===void 0&&n!==void 0&&(_=P(),f&&(a&&se(),f(_)));var u;if(a?u=()=>{var t=e[r];return t===void 0?P():(p=!0,t)}:u=()=>{var t=e[r];return t!==void 0&&(d=void 0),t===void 0?d:t},a&&(s&M)===0)return u;if(f){var g=e.$$legacy;return function(t,v){return arguments.length>0?((!a||!v||g||o)&&f(v?u():t),t):u()}}var b=!1,c=((s&_e)!==0?ae:ie)(()=>(b=!1,u()));i&&m(c);var h=R;return function(t,v){if(arguments.length>0){const E=v?m(c):a&&i?te(t):t;return U(c,E),b=!0,d!==void 0&&(d=E),t}return ve&&b||(h.f&ue)!==0?c.v:m(c)}}export{ge as a,Te as b,Ie as i,Oe as l,me as p,Ee as s}; diff --git a/webapp/assets/_app/immutable/chunks/DQxjqDvj.js b/webapp/assets/_app/immutable/chunks/lXKAs5Tk.js similarity index 71% rename from webapp/assets/_app/immutable/chunks/DQxjqDvj.js rename to webapp/assets/_app/immutable/chunks/lXKAs5Tk.js index 7565b333..34de7600 100644 --- a/webapp/assets/_app/immutable/chunks/DQxjqDvj.js +++ b/webapp/assets/_app/immutable/chunks/lXKAs5Tk.js @@ -1 +1 @@ -import{s as e}from"./H5nVv3Is.js";const r=()=>{const s=e;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},b={subscribe(s){return r().page.subscribe(s)}};export{b as p}; +import{s as e}from"./C-HmqlJ7.js";const r=()=>{const s=e;return{page:{subscribe:s.page.subscribe},navigating:{subscribe:s.navigating.subscribe},updated:s.updated}},b={subscribe(s){return r().page.subscribe(s)}};export{b as p}; diff --git a/webapp/assets/_app/immutable/chunks/y6VQBV4I.js b/webapp/assets/_app/immutable/chunks/t7D7emdy.js similarity index 94% rename from webapp/assets/_app/immutable/chunks/y6VQBV4I.js rename to webapp/assets/_app/immutable/chunks/t7D7emdy.js index 5c5cf13e..c6e0eebb 100644 --- a/webapp/assets/_app/immutable/chunks/y6VQBV4I.js +++ b/webapp/assets/_app/immutable/chunks/t7D7emdy.js @@ -1 +1 @@ -import"./DsnmJJEf.js";import{i as K}from"./zNh6Oe5P.js";import{p as O,f as U,j as e,r as t,k as s,n as c,u as o,z as at,t as q,v as g,c as h,d as Q,E as mt,D as ut,B as Y,b as Z,g as P}from"./sWNKMed7.js";import{p as T,i as H,s as gt,a as pt}from"./Ccl3fNd2.js";import{c as rt,d as tt,B as xt}from"./C1jihKTd.js";import{b as R,B as $,e as ft}from"./Qi7G5Z5O.js";import{e as yt}from"./Cp3IZoXB.js";import{D as ht,G as et}from"./C98FZ6Lp.js";import{E as _t}from"./xti5lSds.js";import{S as kt}from"./kSv08Ec5.js";import{e as bt,i as wt}from"./BuuPrWMc.js";import{b as Ct}from"./_gFYyMUN.js";var Pt=U('

ID
Created At
Updated At
Status
Pool Balancer Type
');function $t(L,v){O(v,!1);let a=T(v,"entity",8),p=T(v,"entityType",8);function N(){return`${p().charAt(0).toUpperCase()+p().slice(1)} Information`}function n(){if(!a().endpoint?.base_url)return"#";switch(p()){case"repository":const d=a();return`${a().endpoint.base_url}/${d.owner}/${a().name}`;case"organization":return`${a().endpoint.base_url}/${a().name}`;case"enterprise":return`${a().endpoint.base_url}/enterprises/${a().name}`;default:return"#"}}function E(){return`${p().charAt(0).toUpperCase()+p().slice(1)} URL`}function V(){const d=a().pool_balancing_type;if(!d||d===""||d==="none")return"Round Robin (default)";switch(d){case"roundrobin":return"Round Robin";case"pack":return"Pack";default:return d}}K();var m=Pt(),x=e(m),_=e(x),I=e(_,!0);t(_);var k=s(_,2),i=e(k),f=s(e(i),2),b=e(f,!0);t(f),t(i);var u=s(i,2),D=s(e(u),2),M=e(D,!0);t(D),t(u);var w=s(u,2),S=s(e(w),2),G=e(S,!0);t(S),t(w);var r=s(w,2),C=s(e(r),2),l=e(C);{var j=d=>{$(d,{variant:"success",text:"Running"})},z=d=>{$(d,{variant:"error",text:"Stopped"})};H(l,d=>{c(a()),o(()=>a().pool_manager_status?.running)?d(j):d(z,!1)})}t(C),t(r);var B=s(r,2),A=s(e(B),2),y=e(A,!0);t(A),t(B);var W=s(B,2),F=e(W),st=e(F,!0);t(F);var X=s(F,2),J=e(X),ot=e(J);at(),t(J),t(X),t(W),t(k),t(x),t(m),q((d,it,dt,nt,lt,vt,ct)=>{g(I,d),g(b,(c(a()),o(()=>a().id))),g(M,it),g(G,dt),g(y,nt),g(st,lt),rt(J,"href",vt),g(ot,`${ct??""} `)},[()=>o(N),()=>(c(R),c(a()),o(()=>R(a().created_at))),()=>(c(R),c(a()),o(()=>R(a().updated_at))),()=>o(V),()=>o(E),()=>o(n),()=>o(n)]),h(L,m),Q()}var Tt=U('

No pools configured

'),Et=U('');function Wt(L,v){O(v,!1);const[a,p]=gt(),N=()=>pt(yt,"$eagerCache",a);let n=T(v,"pools",8),E=T(v,"entityType",8),V=T(v,"entityId",8,""),m=T(v,"entityName",8,"");const x=mt();function _(){x("addPool",{entityType:E(),entityId:V(),entityName:m()})}const I=[{key:"id",title:"ID",flexible:!0,cellComponent:_t,cellProps:{entityType:"pool",showId:!0,fontMono:!0}},{key:"image",title:"Image",flexible:!0,cellComponent:et,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:et,cellProps:{field:"provider_name"}},{key:"status",title:"Status",cellComponent:kt,cellProps:{statusType:"enabled"}}],k={entityType:"pool",primaryText:{field:"id",isClickable:!0,href:"/pools/{id}",useId:!0,isMonospace:!0},secondaryText:{field:"entity_name",computedValue:r=>ft(r,N())},badges:[{type:"custom",value:r=>({variant:r.enabled?"success":"error",text:r.enabled?"Enabled":"Disabled"})}]};K();var i=Et(),f=e(i),b=e(f),u=e(b),D=e(u);t(u);var M=s(u,2);t(b);var w=s(b,2);{var S=r=>{var C=Tt(),l=s(e(C),4),j=e(l);t(l);var z=s(l,2),B=e(z);xt(B,{variant:"primary",size:"sm",$$events:{click:_},children:(A,y)=>{at();var W=ut("Add Pool");h(A,W)},$$slots:{default:!0}}),t(z),t(C),q(()=>g(j,`No pools configured for this ${E()??""}.`)),h(r,C)},G=r=>{ht(r,{get columns(){return I},get data(){return n()},loading:!1,error:"",searchTerm:"",showSearch:!1,showPagination:!1,currentPage:1,get perPage(){return c(n()),o(()=>n().length)},totalPages:1,get totalItems(){return c(n()),o(()=>n().length)},itemName:"pools",emptyTitle:"No pools configured",get emptyMessage(){return`No pools configured for this ${E()??""}.`},emptyIconType:"cog",get mobileCardConfig(){return k}})};H(w,r=>{c(n()),o(()=>n().length===0)?r(S):r(G,!1)})}t(f),t(i),q(r=>{g(D,`Pools (${c(n()),o(()=>n().length)??""})`),rt(M,"href",r)},[()=>(c(tt),o(()=>tt("/pools")))]),h(L,i),Q(),p()}var It=U('

'),Bt=U('

Events

'),Nt=U('

Events

No events available

');function qt(L,v){O(v,!1);let a=T(v,"events",8),p=T(v,"eventsContainer",12,void 0);K();var N=Y(),n=Z(N);{var E=m=>{var x=Bt(),_=e(x),I=s(e(_),2);bt(I,5,a,wt,(k,i)=>{var f=It(),b=e(f),u=e(b),D=e(u,!0);t(u);var M=s(u,2),w=e(M);{var S=l=>{$(l,{variant:"error",text:"Error"})},G=l=>{var j=Y(),z=Z(j);{var B=y=>{$(y,{variant:"warning",text:"Warning"})},A=y=>{$(y,{variant:"info",text:"Info"})};H(z,y=>{P(i),o(()=>(P(i).event_level||"info").toLowerCase()==="warning")?y(B):y(A,!1)},!0)}h(l,j)};H(w,l=>{P(i),o(()=>(P(i).event_level||"info").toLowerCase()==="error")?l(S):l(G,!1)})}var r=s(w,2),C=e(r,!0);t(r),t(M),t(b),t(f),q(l=>{g(D,(P(i),o(()=>P(i).message))),g(C,l)},[()=>(c(R),P(i),o(()=>R(P(i).created_at)))]),h(k,f)}),t(I),Ct(I,k=>p(k),()=>p()),t(_),t(x),h(m,x)},V=m=>{var x=Nt();h(m,x)};H(n,m=>{c(a()),o(()=>a()&&a().length>0)?m(E):m(V,!1)})}h(L,N),Q()}export{$t as E,Wt as P,qt as a}; +import"./DsnmJJEf.js";import{i as K}from"./DT0EGONV.js";import{p as O,f as U,j as e,r as t,k as s,n as c,u as o,z as at,t as q,v as g,c as h,d as Q,E as mt,D as ut,B as Y,b as Z,g as P}from"./CRKWEg6v.js";import{p as T,i as H,s as gt,a as pt}from"./e1m7WRO5.js";import{c as rt,d as tt,B as xt}from"./PY0OOjWY.js";import{b as R,B as $,e as ft}from"./BK-OTA7g.js";import{e as yt}from"./BoOhv-0Q.js";import{D as ht,G as et}from"./Co9OVDfV.js";import{E as _t}from"./QGyLbggC.js";import{S as kt}from"./BVEuSEJl.js";import{e as bt,i as wt}from"./C73ZVvpW.js";import{b as Ct}from"./b5SBTec5.js";var Pt=U('

ID
Created At
Updated At
Status
Pool Balancer Type
');function $t(L,v){O(v,!1);let a=T(v,"entity",8),p=T(v,"entityType",8);function N(){return`${p().charAt(0).toUpperCase()+p().slice(1)} Information`}function n(){if(!a().endpoint?.base_url)return"#";switch(p()){case"repository":const d=a();return`${a().endpoint.base_url}/${d.owner}/${a().name}`;case"organization":return`${a().endpoint.base_url}/${a().name}`;case"enterprise":return`${a().endpoint.base_url}/enterprises/${a().name}`;default:return"#"}}function E(){return`${p().charAt(0).toUpperCase()+p().slice(1)} URL`}function V(){const d=a().pool_balancing_type;if(!d||d===""||d==="none")return"Round Robin (default)";switch(d){case"roundrobin":return"Round Robin";case"pack":return"Pack";default:return d}}K();var m=Pt(),x=e(m),_=e(x),I=e(_,!0);t(_);var k=s(_,2),i=e(k),f=s(e(i),2),b=e(f,!0);t(f),t(i);var u=s(i,2),D=s(e(u),2),M=e(D,!0);t(D),t(u);var w=s(u,2),S=s(e(w),2),G=e(S,!0);t(S),t(w);var r=s(w,2),C=s(e(r),2),l=e(C);{var j=d=>{$(d,{variant:"success",text:"Running"})},z=d=>{$(d,{variant:"error",text:"Stopped"})};H(l,d=>{c(a()),o(()=>a().pool_manager_status?.running)?d(j):d(z,!1)})}t(C),t(r);var B=s(r,2),A=s(e(B),2),y=e(A,!0);t(A),t(B);var W=s(B,2),F=e(W),st=e(F,!0);t(F);var X=s(F,2),J=e(X),ot=e(J);at(),t(J),t(X),t(W),t(k),t(x),t(m),q((d,it,dt,nt,lt,vt,ct)=>{g(I,d),g(b,(c(a()),o(()=>a().id))),g(M,it),g(G,dt),g(y,nt),g(st,lt),rt(J,"href",vt),g(ot,`${ct??""} `)},[()=>o(N),()=>(c(R),c(a()),o(()=>R(a().created_at))),()=>(c(R),c(a()),o(()=>R(a().updated_at))),()=>o(V),()=>o(E),()=>o(n),()=>o(n)]),h(L,m),Q()}var Tt=U('

No pools configured

'),Et=U('');function Wt(L,v){O(v,!1);const[a,p]=gt(),N=()=>pt(yt,"$eagerCache",a);let n=T(v,"pools",8),E=T(v,"entityType",8),V=T(v,"entityId",8,""),m=T(v,"entityName",8,"");const x=mt();function _(){x("addPool",{entityType:E(),entityId:V(),entityName:m()})}const I=[{key:"id",title:"ID",flexible:!0,cellComponent:_t,cellProps:{entityType:"pool",showId:!0,fontMono:!0}},{key:"image",title:"Image",flexible:!0,cellComponent:et,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:et,cellProps:{field:"provider_name"}},{key:"status",title:"Status",cellComponent:kt,cellProps:{statusType:"enabled"}}],k={entityType:"pool",primaryText:{field:"id",isClickable:!0,href:"/pools/{id}",useId:!0,isMonospace:!0},secondaryText:{field:"entity_name",computedValue:r=>ft(r,N())},badges:[{type:"custom",value:r=>({variant:r.enabled?"success":"error",text:r.enabled?"Enabled":"Disabled"})}]};K();var i=Et(),f=e(i),b=e(f),u=e(b),D=e(u);t(u);var M=s(u,2);t(b);var w=s(b,2);{var S=r=>{var C=Tt(),l=s(e(C),4),j=e(l);t(l);var z=s(l,2),B=e(z);xt(B,{variant:"primary",size:"sm",$$events:{click:_},children:(A,y)=>{at();var W=ut("Add Pool");h(A,W)},$$slots:{default:!0}}),t(z),t(C),q(()=>g(j,`No pools configured for this ${E()??""}.`)),h(r,C)},G=r=>{ht(r,{get columns(){return I},get data(){return n()},loading:!1,error:"",searchTerm:"",showSearch:!1,showPagination:!1,currentPage:1,get perPage(){return c(n()),o(()=>n().length)},totalPages:1,get totalItems(){return c(n()),o(()=>n().length)},itemName:"pools",emptyTitle:"No pools configured",get emptyMessage(){return`No pools configured for this ${E()??""}.`},emptyIconType:"cog",get mobileCardConfig(){return k}})};H(w,r=>{c(n()),o(()=>n().length===0)?r(S):r(G,!1)})}t(f),t(i),q(r=>{g(D,`Pools (${c(n()),o(()=>n().length)??""})`),rt(M,"href",r)},[()=>(c(tt),o(()=>tt("/pools")))]),h(L,i),Q(),p()}var It=U('

'),Bt=U('

Events

'),Nt=U('

Events

No events available

');function qt(L,v){O(v,!1);let a=T(v,"events",8),p=T(v,"eventsContainer",12,void 0);K();var N=Y(),n=Z(N);{var E=m=>{var x=Bt(),_=e(x),I=s(e(_),2);bt(I,5,a,wt,(k,i)=>{var f=It(),b=e(f),u=e(b),D=e(u,!0);t(u);var M=s(u,2),w=e(M);{var S=l=>{$(l,{variant:"error",text:"Error"})},G=l=>{var j=Y(),z=Z(j);{var B=y=>{$(y,{variant:"warning",text:"Warning"})},A=y=>{$(y,{variant:"info",text:"Info"})};H(z,y=>{P(i),o(()=>(P(i).event_level||"info").toLowerCase()==="warning")?y(B):y(A,!1)},!0)}h(l,j)};H(w,l=>{P(i),o(()=>(P(i).event_level||"info").toLowerCase()==="error")?l(S):l(G,!1)})}var r=s(w,2),C=e(r,!0);t(r),t(M),t(b),t(f),q(l=>{g(D,(P(i),o(()=>P(i).message))),g(C,l)},[()=>(c(R),P(i),o(()=>R(P(i).created_at)))]),h(k,f)}),t(I),Ct(I,k=>p(k),()=>p()),t(_),t(x),h(m,x)},V=m=>{var x=Nt();h(m,x)};H(n,m=>{c(a()),o(()=>a()&&a().length>0)?m(E):m(V,!1)})}h(L,N),Q()}export{$t as E,Wt as P,qt as a}; diff --git a/webapp/assets/_app/immutable/entry/app.DrPDLcph.js b/webapp/assets/_app/immutable/entry/app.BCqrhGpK.js similarity index 66% rename from webapp/assets/_app/immutable/entry/app.DrPDLcph.js rename to webapp/assets/_app/immutable/entry/app.BCqrhGpK.js index 25fdc6ce..38c84d47 100644 --- a/webapp/assets/_app/immutable/entry/app.DrPDLcph.js +++ b/webapp/assets/_app/immutable/entry/app.BCqrhGpK.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.D03KpcHF.js","../chunks/DsnmJJEf.js","../chunks/zNh6Oe5P.js","../chunks/sWNKMed7.js","../chunks/Ccl3fNd2.js","../chunks/C1jihKTd.js","../chunks/CcBDT0Mv.js","../chunks/DQxjqDvj.js","../chunks/H5nVv3Is.js","../chunks/BbmBnft9.js","../chunks/BuuPrWMc.js","../chunks/BZUCTtPY.js","../assets/0.pWW488Rd.css","../nodes/1.QJ8B_LB2.js","../nodes/2.Cl-GhQ1U.js","../chunks/Cp3IZoXB.js","../chunks/CLagxtgo.js","../chunks/D4Caz1gY.js","../chunks/BbG_gKT3.js","../chunks/BZiHL9L3.js","../nodes/3.Bfw-rXr3.js","../chunks/DL-alMNb.js","../chunks/CLc1WuAh.js","../chunks/Qi7G5Z5O.js","../chunks/C98FZ6Lp.js","../chunks/CCYOsezl.js","../chunks/DmcacarF.js","../chunks/kSv08Ec5.js","../chunks/ow_oMtSd.js","../nodes/4.BqAWGwnJ.js","../nodes/5.BXi0YBvh.js","../chunks/Gp00ljCM.js","../chunks/ujTHIzr1.js","../chunks/xti5lSds.js","../nodes/6.Zmbtl6EE.js","../chunks/y6VQBV4I.js","../chunks/_gFYyMUN.js","../chunks/C50dSO3X.js","../chunks/DSOLL96f.js","../chunks/Dnums3pI.js","../nodes/7.WtAOvpBB.js","../nodes/8.XEq9QHnH.js","../nodes/9.gsxY4qk_.js","../nodes/10.CEpVmfMA.js","../nodes/11.CgcDG4MX.js","../nodes/12.BH3Jz8FR.js","../chunks/BgwfiEwe.js","../nodes/13.Co19HBFy.js","../chunks/wtPi3qcm.js","../chunks/CFUg1N_q.js","../nodes/14.Cx6tcYD0.js","../nodes/15.BjHke9N-.js","../nodes/16.CMigEa5y.js","../nodes/17.B7J6N_0C.js","../chunks/Bc1EGV4A.js","../nodes/18.CQQwE13W.js"])))=>i.map(i=>d[i]); -import{s as A,aL as z,g as f,aN as U,aO as G,aP as Q,ax as W,aQ as Y,m as F,p as H,an as J,ao as K,o as X,aR as b,aS as Z,f as C,b as L,k as $,c as g,d as tt,B as T,j as et,r as rt,aT as D,D as st,t as ot,v as at}from"../chunks/sWNKMed7.js";import"../chunks/DsnmJJEf.js";import{p as I,i as V}from"../chunks/Ccl3fNd2.js";import{c as w}from"../chunks/CCYOsezl.js";import{b as k}from"../chunks/_gFYyMUN.js";function nt(c){return class extends it{constructor(t){super({component:c,...t})}}}class it{#e;#t;constructor(t){var a=new Map,u=(r,e)=>{var s=F(e,!1,!1);return a.set(r,s),s};const l=new Proxy({...t.props||{},$$events:{}},{get(r,e){return f(a.get(e)??u(e,Reflect.get(r,e)))},has(r,e){return e===z?!0:(f(a.get(e)??u(e,Reflect.get(r,e))),Reflect.has(r,e))},set(r,e,s){return A(a.get(e)??u(e,s),s),Reflect.set(r,e,s)}});this.#t=(t.hydrate?U:G)(t.component,{target:t.target,anchor:t.anchor,props:l,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&Q(),this.#e=l.$$events;for(const r of Object.keys(this.#t))r==="$set"||r==="$destroy"||r==="$on"||W(this,r,{get(){return this.#t[r]},set(e){this.#t[r]=e},enumerable:!0});this.#t.$set=r=>{Object.assign(l,r)},this.#t.$destroy=()=>{Y(this.#t)}}$set(t){this.#t.$set(t)}$on(t,a){this.#e[t]=this.#e[t]||[];const u=(...l)=>a.call(this,...l);return this.#e[t].push(u),()=>{this.#e[t]=this.#e[t].filter(l=>l!==u)}}$destroy(){this.#t.$destroy()}}const ct="modulepreload",ut=function(c,t){return new URL(c,t).href},j={},o=function(t,a,u){let l=Promise.resolve();if(a&&a.length>0){let O=function(i){return Promise.all(i.map(d=>Promise.resolve(d).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};const e=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),y=s?.nonce||s?.getAttribute("nonce");l=O(a.map(i=>{if(i=ut(i,u),i in j)return;j[i]=!0;const d=i.endsWith(".css"),v=d?'[rel="stylesheet"]':"";if(!!u)for(let n=e.length-1;n>=0;n--){const _=e[n];if(_.href===i&&(!d||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${v}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":ct,d||(m.as="script"),m.crossOrigin="",m.href=i,y&&m.setAttribute("nonce",y),document.head.appendChild(m),d)return new Promise((n,_)=>{m.addEventListener("load",n),m.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${i}`)))})}))}function r(e){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=e,window.dispatchEvent(s),!s.defaultPrevented)throw e}return l.then(e=>{for(const s of e||[])s.status==="rejected"&&r(s.reason);return t().catch(r)})},Rt={};var lt=C('
'),_t=C(" ",1);function mt(c,t){H(t,!0);let a=I(t,"components",23,()=>[]),u=I(t,"data_0",3,null),l=I(t,"data_1",3,null);J(()=>t.stores.page.set(t.page)),K(()=>{t.stores,t.page,t.constructors,a(),t.form,u(),l(),t.stores.page.notify()});let r=b(!1),e=b(!1),s=b(null);X(()=>{const n=t.stores.page.subscribe(()=>{f(r)&&(A(e,!0),Z().then(()=>{A(s,document.title||"untitled page",!0)}))});return A(r,!0),n});const y=D(()=>t.constructors[1]);var O=_t(),i=L(O);{var d=n=>{const _=D(()=>t.constructors[0]);var h=T(),P=L(h);w(P,()=>f(_),(E,p)=>{k(p(E,{get data(){return u()},get form(){return t.form},get params(){return t.page.params},children:(R,vt)=>{var S=T(),B=L(S);w(B,()=>f(y),(N,M)=>{k(M(N,{get data(){return l()},get form(){return t.form},get params(){return t.page.params}}),q=>a()[1]=q,()=>a()?.[1])}),g(R,S)},$$slots:{default:!0}}),R=>a()[0]=R,()=>a()?.[0])}),g(n,h)},v=n=>{const _=D(()=>t.constructors[0]);var h=T(),P=L(h);w(P,()=>f(_),(E,p)=>{k(p(E,{get data(){return u()},get form(){return t.form},get params(){return t.page.params}}),R=>a()[0]=R,()=>a()?.[0])}),g(n,h)};V(i,n=>{t.constructors[1]?n(d):n(v,!1)})}var x=$(i,2);{var m=n=>{var _=lt(),h=et(_);{var P=E=>{var p=st();ot(()=>at(p,f(s))),g(E,p)};V(h,E=>{f(e)&&E(P)})}rt(_),g(n,_)};V(x,n=>{f(r)&&n(m)})}g(c,O),tt()}const yt=nt(mt),Ot=[()=>o(()=>import("../nodes/0.D03KpcHF.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url),()=>o(()=>import("../nodes/1.QJ8B_LB2.js"),__vite__mapDeps([13,1,2,3,8,6]),import.meta.url),()=>o(()=>import("../nodes/2.Cl-GhQ1U.js"),__vite__mapDeps([14,1,2,3,4,10,5,6,15,16,17,18,11,19]),import.meta.url),()=>o(()=>import("../nodes/3.Bfw-rXr3.js"),__vite__mapDeps([20,1,2,3,4,10,5,6,16,17,21,22,23,24,25,15,11,19,26,27,28]),import.meta.url),()=>o(()=>import("../nodes/4.BqAWGwnJ.js"),__vite__mapDeps([29,1,2,3,4,5,6,16,17,21,22,23,24,10,25,15,11,19,26]),import.meta.url),()=>o(()=>import("../nodes/5.BXi0YBvh.js"),__vite__mapDeps([30,1,2,3,4,5,6,21,10,16,17,18,19,15,31,32,11,23,24,25,33,26,27,28]),import.meta.url),()=>o(()=>import("../nodes/6.Zmbtl6EE.js"),__vite__mapDeps([34,1,2,3,4,5,6,7,8,31,10,16,17,19,18,32,35,23,15,24,25,33,27,28,36,37,11,38,39]),import.meta.url),()=>o(()=>import("../nodes/7.WtAOvpBB.js"),__vite__mapDeps([40,1,2,3,4,5,6,16,17,8,9,11,19]),import.meta.url),()=>o(()=>import("../nodes/8.XEq9QHnH.js"),__vite__mapDeps([41,1,2,3,4,5,6,32,18,21,10,11,24,25,16,23,19,33,27,28]),import.meta.url),()=>o(()=>import("../nodes/9.gsxY4qk_.js"),__vite__mapDeps([42,1,2,3,4,10,5,6,36,7,8,32,18,28,23,19]),import.meta.url),()=>o(()=>import("../nodes/10.CEpVmfMA.js"),__vite__mapDeps([43,1,2,3,4,5,6,16,17,8,9,19]),import.meta.url),()=>o(()=>import("../nodes/11.CgcDG4MX.js"),__vite__mapDeps([44,1,2,3,4,5,6,10,16,17,18,22,23,19,15,31,32,21,11,24,25,33,26,27,28]),import.meta.url),()=>o(()=>import("../nodes/12.BH3Jz8FR.js"),__vite__mapDeps([45,1,2,3,4,5,6,7,8,31,10,16,17,19,18,32,35,23,15,24,25,33,27,28,36,37,46,11,38,39]),import.meta.url),()=>o(()=>import("../nodes/13.Co19HBFy.js"),__vite__mapDeps([47,1,2,3,4,5,6,21,38,10,16,17,18,19,39,48,15,32,24,25,23,11,33,26,27,28,49]),import.meta.url),()=>o(()=>import("../nodes/14.Cx6tcYD0.js"),__vite__mapDeps([50,1,2,3,4,10,5,6,7,8,48,16,17,18,39,19,15,32,37,24,25,23,33,27,28,11]),import.meta.url),()=>o(()=>import("../nodes/15.BjHke9N-.js"),__vite__mapDeps([51,1,2,3,4,5,6,10,16,17,18,19,22,23,15,31,32,21,11,24,25,33,26,27,28]),import.meta.url),()=>o(()=>import("../nodes/16.CMigEa5y.js"),__vite__mapDeps([52,1,2,3,4,5,6,7,8,31,10,16,17,19,18,32,35,23,15,24,25,33,27,28,36,37,46,11,38,39]),import.meta.url),()=>o(()=>import("../nodes/17.B7J6N_0C.js"),__vite__mapDeps([53,1,2,3,4,5,6,21,10,16,17,18,39,19,54,32,24,25,23,15,11,33,26,27,28,49]),import.meta.url),()=>o(()=>import("../nodes/18.CQQwE13W.js"),__vite__mapDeps([55,1,2,3,4,5,6,7,8,54,16,17,18,19,39,32,37,24,10,25,23,33,27,28,11]),import.meta.url)],Lt=[],At={"/":[2],"/credentials":[3],"/endpoints":[4],"/enterprises":[5],"/enterprises/[id]":[6],"/init":[7],"/instances":[8],"/instances/[id]":[9],"/login":[10],"/organizations":[11],"/organizations/[id]":[12],"/pools":[13],"/pools/[id]":[14],"/repositories":[15],"/repositories/[id]":[16],"/scalesets":[17],"/scalesets/[id]":[18]},dt={handleError:({error:c})=>{console.error(c)},reroute:()=>{},transport:{}},ft=Object.fromEntries(Object.entries(dt.transport).map(([c,t])=>[c,t.decode])),bt=!1,Tt=(c,t)=>ft[c](t);export{Tt as decode,ft as decoders,At as dictionary,bt as hash,dt as hooks,Rt as matchers,Ot as nodes,yt as root,Lt as server_loads}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DNvI_Lk0.js","../chunks/DsnmJJEf.js","../chunks/DT0EGONV.js","../chunks/CRKWEg6v.js","../chunks/e1m7WRO5.js","../chunks/PY0OOjWY.js","../chunks/BBO7sjS5.js","../chunks/lXKAs5Tk.js","../chunks/C-HmqlJ7.js","../chunks/DOmGc-W5.js","../chunks/C73ZVvpW.js","../chunks/D6DjlyIQ.js","../assets/0.pWW488Rd.css","../nodes/1.BaShyY1L.js","../nodes/2.DMrWWzWX.js","../chunks/BoOhv-0Q.js","../chunks/B3a35v7J.js","../chunks/D4Caz1gY.js","../chunks/XtdMJsQa.js","../chunks/BZiHL9L3.js","../nodes/3.CZXzYd4T.js","../chunks/MvuzmHPl.js","../chunks/DNitrHo2.js","../chunks/BK-OTA7g.js","../chunks/Co9OVDfV.js","../chunks/Ddit_D7n.js","../chunks/C0ude0fo.js","../chunks/BVEuSEJl.js","../chunks/ow_oMtSd.js","../nodes/4.Dl4gwcEB.js","../nodes/5.CPgs67yl.js","../chunks/CfzLSqae.js","../chunks/DJ85e5Cv.js","../chunks/QGyLbggC.js","../nodes/6.DVlv4QbD.js","../chunks/t7D7emdy.js","../chunks/b5SBTec5.js","../chunks/BO15iAaC.js","../chunks/CUjyd2pn.js","../chunks/D2iLJzzb.js","../nodes/7.DZShrq7C.js","../nodes/8.D7w9F7a1.js","../nodes/9.MGtVJSy-.js","../nodes/10.RanpSp4u.js","../nodes/11.BwWvS7Ym.js","../nodes/12.DgCp7E-Q.js","../chunks/CeSGyYo5.js","../nodes/13.Y1-HIkT0.js","../chunks/BqRMwgRS.js","../chunks/DMRkWx6-.js","../nodes/14.82D2I-Yg.js","../nodes/15.B2Og0T2a.js","../nodes/16.BrWGHvkD.js","../nodes/17.B17yHekc.js","../chunks/ClJ8onkK.js","../nodes/18.DM4DHXj3.js"])))=>i.map(i=>d[i]); +import{s as A,aL as z,g as f,aN as U,aO as G,aP as Q,ax as W,aQ as Y,m as F,p as H,an as J,ao as K,o as X,aR as b,aS as Z,f as C,b as L,k as $,c as g,d as tt,B as T,j as et,r as rt,aT as D,D as st,t as ot,v as at}from"../chunks/CRKWEg6v.js";import"../chunks/DsnmJJEf.js";import{p as I,i as V}from"../chunks/e1m7WRO5.js";import{c as w}from"../chunks/Ddit_D7n.js";import{b as k}from"../chunks/b5SBTec5.js";function nt(c){return class extends it{constructor(t){super({component:c,...t})}}}class it{#e;#t;constructor(t){var a=new Map,u=(r,e)=>{var s=F(e,!1,!1);return a.set(r,s),s};const l=new Proxy({...t.props||{},$$events:{}},{get(r,e){return f(a.get(e)??u(e,Reflect.get(r,e)))},has(r,e){return e===z?!0:(f(a.get(e)??u(e,Reflect.get(r,e))),Reflect.has(r,e))},set(r,e,s){return A(a.get(e)??u(e,s),s),Reflect.set(r,e,s)}});this.#t=(t.hydrate?U:G)(t.component,{target:t.target,anchor:t.anchor,props:l,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&Q(),this.#e=l.$$events;for(const r of Object.keys(this.#t))r==="$set"||r==="$destroy"||r==="$on"||W(this,r,{get(){return this.#t[r]},set(e){this.#t[r]=e},enumerable:!0});this.#t.$set=r=>{Object.assign(l,r)},this.#t.$destroy=()=>{Y(this.#t)}}$set(t){this.#t.$set(t)}$on(t,a){this.#e[t]=this.#e[t]||[];const u=(...l)=>a.call(this,...l);return this.#e[t].push(u),()=>{this.#e[t]=this.#e[t].filter(l=>l!==u)}}$destroy(){this.#t.$destroy()}}const ct="modulepreload",ut=function(c,t){return new URL(c,t).href},j={},o=function(t,a,u){let l=Promise.resolve();if(a&&a.length>0){let O=function(i){return Promise.all(i.map(d=>Promise.resolve(d).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};const e=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),y=s?.nonce||s?.getAttribute("nonce");l=O(a.map(i=>{if(i=ut(i,u),i in j)return;j[i]=!0;const d=i.endsWith(".css"),v=d?'[rel="stylesheet"]':"";if(!!u)for(let n=e.length-1;n>=0;n--){const _=e[n];if(_.href===i&&(!d||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${i}"]${v}`))return;const m=document.createElement("link");if(m.rel=d?"stylesheet":ct,d||(m.as="script"),m.crossOrigin="",m.href=i,y&&m.setAttribute("nonce",y),document.head.appendChild(m),d)return new Promise((n,_)=>{m.addEventListener("load",n),m.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${i}`)))})}))}function r(e){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=e,window.dispatchEvent(s),!s.defaultPrevented)throw e}return l.then(e=>{for(const s of e||[])s.status==="rejected"&&r(s.reason);return t().catch(r)})},Rt={};var lt=C('
'),_t=C(" ",1);function mt(c,t){H(t,!0);let a=I(t,"components",23,()=>[]),u=I(t,"data_0",3,null),l=I(t,"data_1",3,null);J(()=>t.stores.page.set(t.page)),K(()=>{t.stores,t.page,t.constructors,a(),t.form,u(),l(),t.stores.page.notify()});let r=b(!1),e=b(!1),s=b(null);X(()=>{const n=t.stores.page.subscribe(()=>{f(r)&&(A(e,!0),Z().then(()=>{A(s,document.title||"untitled page",!0)}))});return A(r,!0),n});const y=D(()=>t.constructors[1]);var O=_t(),i=L(O);{var d=n=>{const _=D(()=>t.constructors[0]);var h=T(),P=L(h);w(P,()=>f(_),(E,p)=>{k(p(E,{get data(){return u()},get form(){return t.form},get params(){return t.page.params},children:(R,vt)=>{var S=T(),B=L(S);w(B,()=>f(y),(N,M)=>{k(M(N,{get data(){return l()},get form(){return t.form},get params(){return t.page.params}}),q=>a()[1]=q,()=>a()?.[1])}),g(R,S)},$$slots:{default:!0}}),R=>a()[0]=R,()=>a()?.[0])}),g(n,h)},v=n=>{const _=D(()=>t.constructors[0]);var h=T(),P=L(h);w(P,()=>f(_),(E,p)=>{k(p(E,{get data(){return u()},get form(){return t.form},get params(){return t.page.params}}),R=>a()[0]=R,()=>a()?.[0])}),g(n,h)};V(i,n=>{t.constructors[1]?n(d):n(v,!1)})}var x=$(i,2);{var m=n=>{var _=lt(),h=et(_);{var P=E=>{var p=st();ot(()=>at(p,f(s))),g(E,p)};V(h,E=>{f(e)&&E(P)})}rt(_),g(n,_)};V(x,n=>{f(r)&&n(m)})}g(c,O),tt()}const yt=nt(mt),Ot=[()=>o(()=>import("../nodes/0.DNvI_Lk0.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url),()=>o(()=>import("../nodes/1.BaShyY1L.js"),__vite__mapDeps([13,1,2,3,8,6]),import.meta.url),()=>o(()=>import("../nodes/2.DMrWWzWX.js"),__vite__mapDeps([14,1,2,3,4,10,5,6,15,16,17,18,11,19]),import.meta.url),()=>o(()=>import("../nodes/3.CZXzYd4T.js"),__vite__mapDeps([20,1,2,3,4,10,5,6,16,17,21,22,23,24,25,15,11,19,26,27,28]),import.meta.url),()=>o(()=>import("../nodes/4.Dl4gwcEB.js"),__vite__mapDeps([29,1,2,3,4,5,6,16,17,21,22,23,24,10,25,15,11,19,26]),import.meta.url),()=>o(()=>import("../nodes/5.CPgs67yl.js"),__vite__mapDeps([30,1,2,3,4,5,6,21,10,16,17,18,19,15,31,32,11,23,24,25,33,26,27,28]),import.meta.url),()=>o(()=>import("../nodes/6.DVlv4QbD.js"),__vite__mapDeps([34,1,2,3,4,5,6,7,8,31,10,16,17,19,18,32,35,23,15,24,25,33,27,28,36,37,11,38,39]),import.meta.url),()=>o(()=>import("../nodes/7.DZShrq7C.js"),__vite__mapDeps([40,1,2,3,4,5,6,16,17,8,9,11,19]),import.meta.url),()=>o(()=>import("../nodes/8.D7w9F7a1.js"),__vite__mapDeps([41,1,2,3,4,5,6,32,18,21,10,11,24,25,16,23,19,33,27,28]),import.meta.url),()=>o(()=>import("../nodes/9.MGtVJSy-.js"),__vite__mapDeps([42,1,2,3,4,10,5,6,36,7,8,32,18,28,23,19]),import.meta.url),()=>o(()=>import("../nodes/10.RanpSp4u.js"),__vite__mapDeps([43,1,2,3,4,5,6,16,17,8,9,19]),import.meta.url),()=>o(()=>import("../nodes/11.BwWvS7Ym.js"),__vite__mapDeps([44,1,2,3,4,5,6,10,16,17,18,22,23,19,15,31,32,21,11,24,25,33,26,27,28]),import.meta.url),()=>o(()=>import("../nodes/12.DgCp7E-Q.js"),__vite__mapDeps([45,1,2,3,4,5,6,7,8,31,10,16,17,19,18,32,35,23,15,24,25,33,27,28,36,37,46,11,38,39]),import.meta.url),()=>o(()=>import("../nodes/13.Y1-HIkT0.js"),__vite__mapDeps([47,1,2,3,4,5,6,21,38,10,16,17,18,19,39,48,15,32,24,25,23,11,33,26,27,28,49]),import.meta.url),()=>o(()=>import("../nodes/14.82D2I-Yg.js"),__vite__mapDeps([50,1,2,3,4,10,5,6,7,8,48,16,17,18,39,19,15,32,37,24,25,23,33,27,28,11]),import.meta.url),()=>o(()=>import("../nodes/15.B2Og0T2a.js"),__vite__mapDeps([51,1,2,3,4,5,6,10,16,17,18,19,22,23,15,31,32,21,11,24,25,33,26,27,28]),import.meta.url),()=>o(()=>import("../nodes/16.BrWGHvkD.js"),__vite__mapDeps([52,1,2,3,4,5,6,7,8,31,10,16,17,19,18,32,35,23,15,24,25,33,27,28,36,37,46,11,38,39]),import.meta.url),()=>o(()=>import("../nodes/17.B17yHekc.js"),__vite__mapDeps([53,1,2,3,4,5,6,21,10,16,17,18,39,19,54,32,24,25,23,15,11,33,26,27,28,49]),import.meta.url),()=>o(()=>import("../nodes/18.DM4DHXj3.js"),__vite__mapDeps([55,1,2,3,4,5,6,7,8,54,16,17,18,19,39,32,37,24,10,25,23,33,27,28,11]),import.meta.url)],Lt=[],At={"/":[2],"/credentials":[3],"/endpoints":[4],"/enterprises":[5],"/enterprises/[id]":[6],"/init":[7],"/instances":[8],"/instances/[id]":[9],"/login":[10],"/organizations":[11],"/organizations/[id]":[12],"/pools":[13],"/pools/[id]":[14],"/repositories":[15],"/repositories/[id]":[16],"/scalesets":[17],"/scalesets/[id]":[18]},dt={handleError:({error:c})=>{console.error(c)},reroute:()=>{},transport:{}},ft=Object.fromEntries(Object.entries(dt.transport).map(([c,t])=>[c,t.decode])),bt=!1,Tt=(c,t)=>ft[c](t);export{Tt as decode,ft as decoders,At as dictionary,bt as hash,dt as hooks,Rt as matchers,Ot as nodes,yt as root,Lt as server_loads}; diff --git a/webapp/assets/_app/immutable/entry/start.B06tKAoh.js b/webapp/assets/_app/immutable/entry/start.B06tKAoh.js new file mode 100644 index 00000000..c45fa2d0 --- /dev/null +++ b/webapp/assets/_app/immutable/entry/start.B06tKAoh.js @@ -0,0 +1 @@ +import{l as o,a as r}from"../chunks/C-HmqlJ7.js";export{o as load_css,r as start}; diff --git a/webapp/assets/_app/immutable/entry/start.BDImdtso.js b/webapp/assets/_app/immutable/entry/start.BDImdtso.js deleted file mode 100644 index acb8a695..00000000 --- a/webapp/assets/_app/immutable/entry/start.BDImdtso.js +++ /dev/null @@ -1 +0,0 @@ -import{l as o,a as r}from"../chunks/H5nVv3Is.js";export{o as load_css,r as start}; diff --git a/webapp/assets/_app/immutable/nodes/0.D03KpcHF.js b/webapp/assets/_app/immutable/nodes/0.DNvI_Lk0.js similarity index 97% rename from webapp/assets/_app/immutable/nodes/0.D03KpcHF.js rename to webapp/assets/_app/immutable/nodes/0.DNvI_Lk0.js index 84fc5b90..c2abf495 100644 --- a/webapp/assets/_app/immutable/nodes/0.D03KpcHF.js +++ b/webapp/assets/_app/immutable/nodes/0.DNvI_Lk0.js @@ -1,4 +1,4 @@ -import"../chunks/DsnmJJEf.js";import{i as Le}from"../chunks/zNh6Oe5P.js";import{p as Be,o as qe,s as h,m as F,g as e,l as X,a as Ae,f as g,b as E,j as s,k as l,r as t,u as o,t as P,v as ge,c as i,B as U,C as Y,n as fe,e as R,d as $e,q as gr,h as hr,$ as ur}from"../chunks/sWNKMed7.js";import{a as xe,i as M,s as Ve}from"../chunks/Ccl3fNd2.js";import{d as n,c as w,s as Q,h as fr,B as mr,e as Oe}from"../chunks/C1jihKTd.js";import{p as Ne}from"../chunks/DQxjqDvj.js";import{g as me}from"../chunks/H5nVv3Is.js";import{b as Ue,a as xr}from"../chunks/BbmBnft9.js";import{e as ne,i as ce,w as pr}from"../chunks/BuuPrWMc.js";import{t as De}from"../chunks/BZUCTtPY.js";const kr=async({url:Z})=>({url:Z.pathname}),br=!1,yr=!1,va=Object.freeze(Object.defineProperty({__proto__:null,load:kr,prerender:br,ssr:yr},Symbol.toStringTag,{value:"Module"}));var _r=g('
Live Updates
'),wr=g('
Connecting
'),Mr=g('
Updates Unavailable
'),jr=g('
Manual Refresh
'),zr=Y(''),Cr=Y(''),Hr=Y(''),Sr=Y(''),Lr=g(' '),Br=g(' '),Ar=g('
'),$r=g('
'),Vr=g('
'),Ir=g('
'),Rr=Y(''),Tr=Y(''),Pr=Y(''),Er=Y(''),Gr=g(' '),Or=g(' '),Dr=g('
'),qr=g('
'),Nr=g('
GARM GARM

GARM

',1);function Ur(Z,ee){Be(ee,!1);const[re,he]=Ve(),j=()=>xe(pr,"$websocketStore",re),m=()=>xe(Ne,"$page",re),u=F(),y=F();let z=F(!1),G=F(!1),f=F(!1);qe(()=>{C(),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",v)});function C(){const a=localStorage.getItem("theme");a==="dark"?h(f,!0):a==="light"?h(f,!1):h(f,window.matchMedia("(prefers-color-scheme: dark)").matches),p()}function v(a){(!localStorage.getItem("theme")||localStorage.getItem("theme")==="system")&&(h(f,a.matches),p())}function O(){h(f,!e(f)),localStorage.setItem("theme",e(f)?"dark":"light"),p()}function p(){e(f)?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}function H(){Ue.logout(),h(G,!1)}const le=[{href:n("/"),label:"Dashboard",icon:["M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2H5a2 2 0 00-2-2z","M8 5a2 2 0 012-2h4a2 2 0 012 2v2H8V5z"]},{href:n("/repositories"),label:"Repositories",icon:["M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2H5a2 2 0 00-2-2z","M8 5a2 2 0 012-2h4a2 2 0 012 2v2H8V5z"]},{href:n("/organizations"),label:"Organizations",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{href:n("/enterprises"),label:"Enterprises",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{href:n("/pools"),label:"Pools",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{href:n("/scalesets"),label:"Scale Sets",icon:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"},{href:n("/instances"),label:"Runners",icon:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z"}],J=[{href:n("/credentials"),label:"Credentials",icon:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1721 9z"},{href:n("/endpoints"),label:"Endpoints",icon:"M13 10V3L4 14h7v7l9-11h-7z"}];X(()=>j(),()=>{h(u,j())}),X(()=>m(),()=>{m().url.pathname&&h(z,!1)}),X(()=>m(),()=>{h(y,m().url.pathname)}),Ae(),Le();var D=Nr(),I=E(D),q=s(I),ae=s(q),K=s(ae),te=s(K),b=s(te),S=l(b,2);t(te),t(K);var N=l(K,2),oe=s(N),de=s(oe),pe=s(de);{var be=a=>{var r=_r();i(a,r)},Qe=a=>{var r=U(),c=E(r);{var _=x=>{var L=wr();i(x,L)},B=x=>{var L=U(),W=E(L);{var A=k=>{var T=Mr();i(k,T)},$=k=>{var T=jr();i(k,T)};M(W,k=>{e(u),o(()=>e(u).error)?k(A):k($,!1)},!0)}i(x,L)};M(c,x=>{e(u),o(()=>e(u).connecting)?x(_):x(B,!1)},!0)}i(a,r)};M(pe,a=>{e(u),o(()=>e(u).connected)?a(be):a(Qe,!1)})}t(de);var ke=l(de,2),Fe=s(ke);{var Je=a=>{var r=zr();i(a,r)},Ke=a=>{var r=Cr();i(a,r)};M(Fe,a=>{e(f)?a(Je):a(Ke,!1)})}t(ke),t(oe),t(N),t(ae);var Ie=l(ae,2),Re=s(Ie);ne(Re,1,()=>le,ce,(a,r)=>{var c=Lr(),_=s(c),B=s(_);{var x=A=>{var $=U(),k=E($);ne(k,1,()=>(e(r),o(()=>e(r).icon)),ce,(T,se)=>{var d=Hr();P(()=>w(d,"d",e(se))),i(T,d)}),i(A,$)},L=A=>{var $=Sr();P(()=>w($,"d",(e(r),o(()=>e(r).icon)))),i(A,$)};M(B,A=>{e(r),o(()=>Array.isArray(e(r).icon))?A(x):A(L,!1)})}t(_);var W=l(_);t(c),P(()=>{w(c,"href",(e(r),o(()=>e(r).href))),Q(c,1,`group flex items-center px-2 py-2 text-sm font-medium rounded-md transition-colors duration-200 +import"../chunks/DsnmJJEf.js";import{i as Le}from"../chunks/DT0EGONV.js";import{p as Be,o as qe,s as h,m as F,g as e,l as X,a as Ae,f as g,b as E,j as s,k as l,r as t,u as o,t as P,v as ge,c as i,B as U,C as Y,n as fe,e as R,d as $e,q as gr,h as hr,$ as ur}from"../chunks/CRKWEg6v.js";import{a as xe,i as M,s as Ve}from"../chunks/e1m7WRO5.js";import{d as n,c as w,s as Q,h as fr,B as mr,e as Oe}from"../chunks/PY0OOjWY.js";import{p as Ne}from"../chunks/lXKAs5Tk.js";import{g as me}from"../chunks/C-HmqlJ7.js";import{b as Ue,a as xr}from"../chunks/DOmGc-W5.js";import{e as ne,i as ce,w as pr}from"../chunks/C73ZVvpW.js";import{t as De}from"../chunks/D6DjlyIQ.js";const kr=async({url:Z})=>({url:Z.pathname}),br=!1,yr=!1,va=Object.freeze(Object.defineProperty({__proto__:null,load:kr,prerender:br,ssr:yr},Symbol.toStringTag,{value:"Module"}));var _r=g('
Live Updates
'),wr=g('
Connecting
'),Mr=g('
Updates Unavailable
'),jr=g('
Manual Refresh
'),zr=Y(''),Cr=Y(''),Hr=Y(''),Sr=Y(''),Lr=g(' '),Br=g(' '),Ar=g('
'),$r=g('
'),Vr=g('
'),Ir=g('
'),Rr=Y(''),Tr=Y(''),Pr=Y(''),Er=Y(''),Gr=g(' '),Or=g(' '),Dr=g('
'),qr=g('
'),Nr=g('
GARM GARM

GARM

',1);function Ur(Z,ee){Be(ee,!1);const[re,he]=Ve(),j=()=>xe(pr,"$websocketStore",re),m=()=>xe(Ne,"$page",re),u=F(),y=F();let z=F(!1),G=F(!1),f=F(!1);qe(()=>{C(),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",v)});function C(){const a=localStorage.getItem("theme");a==="dark"?h(f,!0):a==="light"?h(f,!1):h(f,window.matchMedia("(prefers-color-scheme: dark)").matches),p()}function v(a){(!localStorage.getItem("theme")||localStorage.getItem("theme")==="system")&&(h(f,a.matches),p())}function O(){h(f,!e(f)),localStorage.setItem("theme",e(f)?"dark":"light"),p()}function p(){e(f)?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}function H(){Ue.logout(),h(G,!1)}const le=[{href:n("/"),label:"Dashboard",icon:["M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2H5a2 2 0 00-2-2z","M8 5a2 2 0 012-2h4a2 2 0 012 2v2H8V5z"]},{href:n("/repositories"),label:"Repositories",icon:["M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2H5a2 2 0 00-2-2z","M8 5a2 2 0 012-2h4a2 2 0 012 2v2H8V5z"]},{href:n("/organizations"),label:"Organizations",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{href:n("/enterprises"),label:"Enterprises",icon:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"},{href:n("/pools"),label:"Pools",icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"},{href:n("/scalesets"),label:"Scale Sets",icon:"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4"},{href:n("/instances"),label:"Runners",icon:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z"}],J=[{href:n("/credentials"),label:"Credentials",icon:"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1721 9z"},{href:n("/endpoints"),label:"Endpoints",icon:"M13 10V3L4 14h7v7l9-11h-7z"}];X(()=>j(),()=>{h(u,j())}),X(()=>m(),()=>{m().url.pathname&&h(z,!1)}),X(()=>m(),()=>{h(y,m().url.pathname)}),Ae(),Le();var D=Nr(),I=E(D),q=s(I),ae=s(q),K=s(ae),te=s(K),b=s(te),S=l(b,2);t(te),t(K);var N=l(K,2),oe=s(N),de=s(oe),pe=s(de);{var be=a=>{var r=_r();i(a,r)},Qe=a=>{var r=U(),c=E(r);{var _=x=>{var L=wr();i(x,L)},B=x=>{var L=U(),W=E(L);{var A=k=>{var T=Mr();i(k,T)},$=k=>{var T=jr();i(k,T)};M(W,k=>{e(u),o(()=>e(u).error)?k(A):k($,!1)},!0)}i(x,L)};M(c,x=>{e(u),o(()=>e(u).connecting)?x(_):x(B,!1)},!0)}i(a,r)};M(pe,a=>{e(u),o(()=>e(u).connected)?a(be):a(Qe,!1)})}t(de);var ke=l(de,2),Fe=s(ke);{var Je=a=>{var r=zr();i(a,r)},Ke=a=>{var r=Cr();i(a,r)};M(Fe,a=>{e(f)?a(Je):a(Ke,!1)})}t(ke),t(oe),t(N),t(ae);var Ie=l(ae,2),Re=s(Ie);ne(Re,1,()=>le,ce,(a,r)=>{var c=Lr(),_=s(c),B=s(_);{var x=A=>{var $=U(),k=E($);ne(k,1,()=>(e(r),o(()=>e(r).icon)),ce,(T,se)=>{var d=Hr();P(()=>w(d,"d",e(se))),i(T,d)}),i(A,$)},L=A=>{var $=Sr();P(()=>w($,"d",(e(r),o(()=>e(r).icon)))),i(A,$)};M(B,A=>{e(r),o(()=>Array.isArray(e(r).icon))?A(x):A(L,!1)})}t(_);var W=l(_);t(c),P(()=>{w(c,"href",(e(r),o(()=>e(r).href))),Q(c,1,`group flex items-center px-2 py-2 text-sm font-medium rounded-md transition-colors duration-200 ${e(y),e(r),o(()=>e(y)===e(r).href?"bg-gray-100 text-gray-900 dark:bg-gray-700 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),ge(W,` ${e(r),o(()=>e(r).label)??""}`)}),i(a,c)});var ye=l(Re,2);ne(ye,5,()=>J,ce,(a,r)=>{var c=Br(),_=s(c),B=s(_);t(_);var x=l(_);t(c),P(()=>{w(c,"href",(e(r),o(()=>e(r).href))),Q(c,1,`group flex items-center px-2 py-2 text-sm font-medium rounded-md transition-colors duration-200 ${e(y),e(r),o(()=>e(y)===e(r).href?"bg-gray-100 text-gray-900 dark:bg-gray-700 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),w(B,"d",(e(r),o(()=>e(r).icon))),ge(x,` ${e(r),o(()=>e(r).label)??""}`)}),i(a,c)}),t(ye);var Te=l(ye,2),We=s(Te);t(Te),t(Ie),t(q),t(I);var _e=l(I,2),we=s(_e),Pe=s(we),Me=l(Pe,2),je=s(Me),ze=l(je,2),Ee=l(ze,4),Xe=s(Ee);{var Ye=a=>{var r=Ar();i(a,r)},Ze=a=>{var r=U(),c=E(r);{var _=x=>{var L=$r();i(x,L)},B=x=>{var L=U(),W=E(L);{var A=k=>{var T=Vr();i(k,T)},$=k=>{var T=Ir();i(k,T)};M(W,k=>{e(u),o(()=>e(u).error)?k(A):k($,!1)},!0)}i(x,L)};M(c,x=>{e(u),o(()=>e(u).connecting)?x(_):x(B,!1)},!0)}i(a,r)};M(Xe,a=>{e(u),o(()=>e(u).connected)?a(Ye):a(Ze,!1)})}t(Ee),t(Me);var Ce=l(Me,2),er=s(Ce);{var rr=a=>{var r=Rr();i(a,r)},ar=a=>{var r=Tr();i(a,r)};M(er,a=>{e(f)?a(rr):a(ar,!1)})}t(Ce),t(we);var tr=l(we,2);{var or=a=>{var r=Dr(),c=s(r),_=l(c,2),B=s(_),x=s(B);t(B);var L=l(B,2),W=s(L),A=s(W);ne(A,1,()=>le,ce,(se,d)=>{var V=Gr(),ie=s(V),He=s(ie);{var Se=ve=>{var ue=U(),dr=E(ue);ne(dr,1,()=>(e(d),o(()=>e(d).icon)),ce,(vr,cr)=>{var Ge=Pr();P(()=>w(Ge,"d",e(cr))),i(vr,Ge)}),i(ve,ue)},nr=ve=>{var ue=Er();P(()=>w(ue,"d",(e(d),o(()=>e(d).icon)))),i(ve,ue)};M(He,ve=>{e(d),o(()=>Array.isArray(e(d).icon))?ve(Se):ve(nr,!1)})}t(ie);var lr=l(ie);t(V),P(()=>{w(V,"href",(e(d),o(()=>e(d).href))),Q(V,1,`group flex items-center px-2 py-2 text-base font-medium rounded-md transition-colors duration-200 ${e(y),e(d),o(()=>e(y)===e(d).href?"bg-gray-100 dark:bg-gray-700 text-gray-900 dark:text-white":"text-gray-600 hover:bg-gray-50 hover:text-gray-900 dark:text-gray-300 dark:hover:bg-gray-700 dark:hover:text-white")??""}`),ge(lr,` ${e(d),o(()=>e(d).label)??""}`)}),R("click",V,()=>h(z,!1)),i(se,V)});var $=l(A,2);ne($,5,()=>J,ce,(se,d)=>{var V=Or(),ie=s(V),He=s(ie);t(ie);var Se=l(ie);t(V),P(()=>{w(V,"href",(e(d),o(()=>e(d).href))),Q(V,1,`group flex items-center px-2 py-2 text-base font-medium rounded-md transition-colors duration-200 diff --git a/webapp/assets/_app/immutable/nodes/1.QJ8B_LB2.js b/webapp/assets/_app/immutable/nodes/1.BaShyY1L.js similarity index 50% rename from webapp/assets/_app/immutable/nodes/1.QJ8B_LB2.js rename to webapp/assets/_app/immutable/nodes/1.BaShyY1L.js index 946fbaf5..01d78850 100644 --- a/webapp/assets/_app/immutable/nodes/1.QJ8B_LB2.js +++ b/webapp/assets/_app/immutable/nodes/1.BaShyY1L.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as u}from"../chunks/zNh6Oe5P.js";import{p as h,f as g,b as v,t as d,c as l,d as _,j as s,r as a,k as x,v as o}from"../chunks/sWNKMed7.js";import{s as k,p}from"../chunks/H5nVv3Is.js";const $={get error(){return p.error},get status(){return p.status}};k.updated.check;const i=$;var b=g("

",1);function y(m,c){h(c,!1),u();var r=b(),t=v(r),n=s(t,!0);a(t);var e=x(t,2),f=s(e,!0);a(e),d(()=>{o(n,i.status),o(f,i.error?.message)}),l(m,r),_()}export{y as component}; +import"../chunks/DsnmJJEf.js";import{i as u}from"../chunks/DT0EGONV.js";import{p as h,f as g,b as v,t as d,c as l,d as _,j as s,r as a,k as x,v as o}from"../chunks/CRKWEg6v.js";import{s as k,p}from"../chunks/C-HmqlJ7.js";const $={get error(){return p.error},get status(){return p.status}};k.updated.check;const i=$;var b=g("

",1);function y(m,c){h(c,!1),u();var r=b(),t=v(r),n=s(t,!0);a(t);var e=x(t,2),f=s(e,!0);a(e),d(()=>{o(n,i.status),o(f,i.error?.message)}),l(m,r),_()}export{y as component}; diff --git a/webapp/assets/_app/immutable/nodes/10.CEpVmfMA.js b/webapp/assets/_app/immutable/nodes/10.RanpSp4u.js similarity index 89% rename from webapp/assets/_app/immutable/nodes/10.CEpVmfMA.js rename to webapp/assets/_app/immutable/nodes/10.RanpSp4u.js index 6a0b9d74..5a30aa6e 100644 --- a/webapp/assets/_app/immutable/nodes/10.CEpVmfMA.js +++ b/webapp/assets/_app/immutable/nodes/10.RanpSp4u.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as Z}from"../chunks/zNh6Oe5P.js";import{p as ee,o as ae,l as re,a as te,f as K,h as se,t as _,g as a,e as k,c as w,d as de,$ as oe,k as d,D as ie,m as f,j as r,u as B,n as D,s as i,r as t,z as q,v as I}from"../chunks/sWNKMed7.js";import{i as le,s as ne,a as ce}from"../chunks/Ccl3fNd2.js";import{B as me,d as l,c as T,r as U}from"../chunks/C1jihKTd.js";import{b as C}from"../chunks/CLagxtgo.js";import{p as ue}from"../chunks/D4Caz1gY.js";import{g as H}from"../chunks/H5nVv3Is.js";import{a as pe,b as ve}from"../chunks/BbmBnft9.js";import{e as fe}from"../chunks/BZiHL9L3.js";var ge=K('

'),he=K('
GARM

Sign in to GARM

GitHub Actions Runner Manager

');function Ae(W,F){ee(F,!1);const[J,N]=ne(),$=()=>ce(pe,"$authStore",J);let m=f(""),u=f(""),o=f(!1),n=f("");ae(()=>{O()});function O(){const e=localStorage.getItem("theme");let s=!1;e==="dark"?s=!0:e==="light"?s=!1:s=window.matchMedia("(prefers-color-scheme: dark)").matches,s?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}async function M(){if(!a(m)||!a(u)){i(n,"Please enter both username and password");return}i(o,!0),i(n,"");try{await ve.login(a(m),a(u)),H(l("/"))}catch(e){i(n,fe(e))}finally{i(o,!1)}}function L(e){e.key==="Enter"&&M()}re(()=>($(),l),()=>{$().isAuthenticated&&H(l("/"))}),te(),Z();var g=he();se(e=>{oe.title="Login - GARM"});var z=r(g),h=r(z),A=r(h),S=r(A),Q=d(S,2);t(A),q(4),t(h);var b=d(h,2),x=r(b),y=r(x),p=d(r(y),2);U(p),t(y);var P=d(y,2),v=d(r(P),2);U(v),t(P),t(x);var G=d(x,2);{var V=e=>{var s=ge(),c=r(s),E=d(r(c),2),j=r(E),Y=r(j,!0);t(j),t(E),t(c),t(s),_(()=>I(Y,a(n))),w(e,s)};le(G,e=>{a(n)&&e(V)})}var R=d(G,2),X=r(R);me(X,{type:"submit",variant:"primary",size:"md",fullWidth:!0,get disabled(){return a(o)},get loading(){return a(o)},children:(e,s)=>{q();var c=ie();_(()=>I(c,a(o)?"Signing in...":"Sign in")),w(e,c)},$$slots:{default:!0}}),t(R),t(b),t(z),t(g),_((e,s)=>{T(S,"src",e),T(Q,"src",s),p.disabled=a(o),v.disabled=a(o)},[()=>(D(l),B(()=>l("/assets/garm-light.svg"))),()=>(D(l),B(()=>l("/assets/garm-dark.svg")))]),C(p,()=>a(m),e=>i(m,e)),k("keypress",p,L),C(v,()=>a(u),e=>i(u,e)),k("keypress",v,L),k("submit",b,ue(M)),w(W,g),de(),N()}export{Ae as component}; +import"../chunks/DsnmJJEf.js";import{i as Z}from"../chunks/DT0EGONV.js";import{p as ee,o as ae,l as re,a as te,f as K,h as se,t as _,g as a,e as k,c as w,d as de,$ as oe,k as d,D as ie,m as f,j as r,u as B,n as D,s as i,r as t,z as q,v as I}from"../chunks/CRKWEg6v.js";import{i as le,s as ne,a as ce}from"../chunks/e1m7WRO5.js";import{B as me,d as l,c as T,r as U}from"../chunks/PY0OOjWY.js";import{b as C}from"../chunks/B3a35v7J.js";import{p as ue}from"../chunks/D4Caz1gY.js";import{g as H}from"../chunks/C-HmqlJ7.js";import{a as pe,b as ve}from"../chunks/DOmGc-W5.js";import{e as fe}from"../chunks/BZiHL9L3.js";var ge=K('

'),he=K('
GARM

Sign in to GARM

GitHub Actions Runner Manager

');function Ae(W,F){ee(F,!1);const[J,N]=ne(),$=()=>ce(pe,"$authStore",J);let m=f(""),u=f(""),o=f(!1),n=f("");ae(()=>{O()});function O(){const e=localStorage.getItem("theme");let s=!1;e==="dark"?s=!0:e==="light"?s=!1:s=window.matchMedia("(prefers-color-scheme: dark)").matches,s?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}async function M(){if(!a(m)||!a(u)){i(n,"Please enter both username and password");return}i(o,!0),i(n,"");try{await ve.login(a(m),a(u)),H(l("/"))}catch(e){i(n,fe(e))}finally{i(o,!1)}}function L(e){e.key==="Enter"&&M()}re(()=>($(),l),()=>{$().isAuthenticated&&H(l("/"))}),te(),Z();var g=he();se(e=>{oe.title="Login - GARM"});var z=r(g),h=r(z),A=r(h),S=r(A),Q=d(S,2);t(A),q(4),t(h);var b=d(h,2),x=r(b),y=r(x),p=d(r(y),2);U(p),t(y);var P=d(y,2),v=d(r(P),2);U(v),t(P),t(x);var G=d(x,2);{var V=e=>{var s=ge(),c=r(s),E=d(r(c),2),j=r(E),Y=r(j,!0);t(j),t(E),t(c),t(s),_(()=>I(Y,a(n))),w(e,s)};le(G,e=>{a(n)&&e(V)})}var R=d(G,2),X=r(R);me(X,{type:"submit",variant:"primary",size:"md",fullWidth:!0,get disabled(){return a(o)},get loading(){return a(o)},children:(e,s)=>{q();var c=ie();_(()=>I(c,a(o)?"Signing in...":"Sign in")),w(e,c)},$$slots:{default:!0}}),t(R),t(b),t(z),t(g),_((e,s)=>{T(S,"src",e),T(Q,"src",s),p.disabled=a(o),v.disabled=a(o)},[()=>(D(l),B(()=>l("/assets/garm-light.svg"))),()=>(D(l),B(()=>l("/assets/garm-dark.svg")))]),C(p,()=>a(m),e=>i(m,e)),k("keypress",p,L),C(v,()=>a(u),e=>i(u,e)),k("keypress",v,L),k("submit",b,ue(M)),w(W,g),de(),N()}export{Ae as component}; diff --git a/webapp/assets/_app/immutable/nodes/11.CgcDG4MX.js b/webapp/assets/_app/immutable/nodes/11.BwWvS7Ym.js similarity index 91% rename from webapp/assets/_app/immutable/nodes/11.CgcDG4MX.js rename to webapp/assets/_app/immutable/nodes/11.BwWvS7Ym.js index 6b36b215..d9816ffb 100644 --- a/webapp/assets/_app/immutable/nodes/11.CgcDG4MX.js +++ b/webapp/assets/_app/immutable/nodes/11.BwWvS7Ym.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as Le}from"../chunks/zNh6Oe5P.js";import{p as Ne,E as Qe,o as je,l as x,s as a,m as s,g as e,y as W,a as qe,f as T,k as i,j as o,r as n,c as E,t as Q,v as ie,x as Ae,u as v,z as Fe,e as $e,d as Ge,h as Xe,b as Ze,$ as et,n as P,q as ue}from"../chunks/sWNKMed7.js";import{a as He,i as X,s as Je}from"../chunks/Ccl3fNd2.js";import{r as ge,b as Ue,h as tt,d as Ie,c as at,g as me}from"../chunks/C1jihKTd.js";import{e as rt,i as ot}from"../chunks/BuuPrWMc.js";import{b as Re,a as We}from"../chunks/CLagxtgo.js";import{p as nt}from"../chunks/D4Caz1gY.js";import{M as it}from"../chunks/BbG_gKT3.js";import{F as st}from"../chunks/CLc1WuAh.js";import{e as Pe}from"../chunks/BZiHL9L3.js";import{e as Ve,a as Me}from"../chunks/Cp3IZoXB.js";import{U as lt}from"../chunks/Gp00ljCM.js";import{D as dt}from"../chunks/ujTHIzr1.js";import{P as ct}from"../chunks/DL-alMNb.js";import{t as K}from"../chunks/BZUCTtPY.js";import{B as ut,k as Ce,g as Oe,l as gt}from"../chunks/Qi7G5Z5O.js";import{D as mt,A as Be,G as pt,a as ft}from"../chunks/C98FZ6Lp.js";import{E as bt}from"../chunks/xti5lSds.js";import{E as vt}from"../chunks/DmcacarF.js";import{S as yt}from"../chunks/kSv08Ec5.js";var ht=T('

'),_t=T('

Loading...

'),xt=T(""),kt=T(''),wt=T('

Webhook secret will be automatically generated

'),zt=T('
'),$t=T('

Create Organization

');function Ct(pe,fe){Ne(fe,!1);const[be,ve]=Je(),f=()=>He(Ve,"$eagerCache",be),D=s(),w=s(),z=s(),Z=s(),$=Qe();let C=s(!1),b=s(""),y=s("github"),r=s({name:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin"}),k=s(!0),p=s(!0);async function A(){if(!f().loaded.credentials&&!f().loading.credentials)try{await Me.getCredentials()}catch(d){a(b,Pe(d))}}function B(d){a(y,d.detail),W(r,e(r).credentials_name="")}function c(){if(e(r).credentials_name){const d=e(D).find(L=>L.name===e(r).credentials_name);d&&d.forge_type&&a(y,d.forge_type)}}function ye(){const d=new Uint8Array(32);return crypto.getRandomValues(d),Array.from(d,L=>L.toString(16).padStart(2,"0")).join("")}async function he(){if(!e(r).name?.trim()){a(b,"Organization name is required");return}if(!e(r).credentials_name){a(b,"Please select credentials");return}try{a(C,!0),a(b,"");const d={...e(r),install_webhook:e(k),auto_generate_secret:e(p)};$("submit",d)}catch(d){a(b,d instanceof Error?d.message:"Failed to create organization"),a(C,!1)}}je(()=>{A()}),x(()=>f(),()=>{a(D,f().credentials)}),x(()=>f(),()=>{a(w,f().loading.credentials)}),x(()=>(e(D),e(y)),()=>{a(z,e(D).filter(d=>e(y)?d.forge_type===e(y):!0))}),x(()=>e(p),()=>{e(p)?W(r,e(r).webhook_secret=ye()):e(p)||W(r,e(r).webhook_secret="")}),x(()=>(e(r),e(p)),()=>{a(Z,e(r).name?.trim()!==""&&e(r).credentials_name!==""&&(e(p)||e(r).webhook_secret&&e(r).webhook_secret.trim()!==""))}),qe(),Le(),it(pe,{$$events:{close:()=>$("close")},children:(d,L)=>{var ee=$t(),N=i(o(ee),2);{var te=h=>{var _=ht(),F=o(_),U=o(F,!0);n(F),n(_),Q(()=>ie(U,e(b))),E(h,_)};X(N,h=>{e(b)&&h(te)})}var _e=i(N,2);{var xe=h=>{var _=_t();E(h,_)},ke=h=>{var _=zt(),F=o(_);st(F,{get selectedForgeType(){return e(y)},set selectedForgeType(l){a(y,l)},$$events:{select:B},$$legacy:!0});var U=i(F,2),se=i(o(U),2);ge(se),n(U);var j=i(U,2),S=i(o(j),2);Q(()=>{e(r),Ae(()=>{e(z)})});var q=o(S);q.value=q.__value="";var we=i(q);rt(we,1,()=>e(z),ot,(l,m)=>{var O=xt(),de=o(O);n(O);var ce={};Q(()=>{ie(de,`${e(m),v(()=>e(m).name)??""} (${e(m),v(()=>e(m).endpoint?.name||"Unknown endpoint")??""})`),ce!==(ce=(e(m),v(()=>e(m).name)))&&(O.value=(O.__value=(e(m),v(()=>e(m).name)))??"")}),E(l,O)}),n(S),n(j);var G=i(j,2),ae=i(o(G),2);Q(()=>{e(r),Ae(()=>{})});var H=o(ae);H.value=H.__value="roundrobin";var le=i(H);le.value=le.__value="pack",n(ae),n(G);var re=i(G,2),oe=o(re),t=o(oe);ge(t),Fe(2),n(oe);var u=i(oe,2),I=o(u),M=o(I);ge(M),Fe(2),n(I);var g=i(I,2);{var J=l=>{var m=kt();ge(m),Re(m,()=>e(r).webhook_secret,O=>W(r,e(r).webhook_secret=O)),E(l,m)},ne=l=>{var m=wt();E(l,m)};X(g,l=>{e(p)?l(ne,!1):l(J)})}n(u),n(re);var V=i(re,2),Y=o(V),R=i(Y,2),ze=o(R,!0);n(R),n(V),n(_),Q(()=>{R.disabled=e(C)||e(w)||!e(Z),ie(ze,e(C)?"Creating...":"Create Organization")}),Re(se,()=>e(r).name,l=>W(r,e(r).name=l)),Ue(S,()=>e(r).credentials_name,l=>W(r,e(r).credentials_name=l)),$e("change",S,c),Ue(ae,()=>e(r).pool_balancer_type,l=>W(r,e(r).pool_balancer_type=l)),We(t,()=>e(k),l=>a(k,l)),We(M,()=>e(p),l=>a(p,l)),$e("click",Y,()=>$("close")),$e("submit",_,nt(he)),E(h,_)};X(_e,h=>{e(C)?h(xe):h(ke,!1)})}n(ee),E(d,ee)},$$slots:{default:!0}}),Ge(),ve()}var Ot=T(''),Pt=T('
',1);function Kt(pe,fe){Ne(fe,!1);const[be,ve]=Je(),f=()=>He(Ve,"$eagerCache",be),D=s(),w=s(),z=s(),Z=s();let $=s([]),C=s(!0),b=s(""),y=s(""),r=s(1),k=s(25),p=s(!1),A=s(!1),B=s(!1),c=s(null);function ye(){a(p,!1),a(B,!1),a(A,!1)}async function he(t){try{a(b,"");const u=t.detail,I={name:u.name,credentials_name:u.credentials_name,webhook_secret:u.webhook_secret,pool_balancer_type:u.pool_balancer_type},M=await me.createOrganization(I);if(u.install_webhook&&M.id)try{await me.installOrganizationWebhook(M.id),K.success("Webhook Installed",`Webhook for organization ${M.name} has been installed successfully.`)}catch(g){console.warn("Organization created but webhook installation failed:",g),K.error("Webhook Installation Failed",g instanceof Error?g.message:"Failed to install webhook. You can try installing it manually from the organization details page.")}K.success("Organization Created",`Organization ${M.name} has been created successfully.`),a(p,!1)}catch(u){throw a(b,Pe(u)),u}}async function d(t){if(e(c))try{await me.updateOrganization(e(c).id,t),K.success("Organization Updated",`Organization ${e(c).name} has been updated successfully.`),a(A,!1),a(c,null)}catch(u){throw u}}async function L(){if(e(c))try{a(b,""),await me.deleteOrganization(e(c).id),K.success("Organization Deleted",`Organization ${e(c).name} has been deleted successfully.`),a(c,null)}catch(t){const u=Pe(t);K.error("Delete Failed",u)}finally{ye()}}function ee(){a(p,!0)}function N(t){a(c,t),a(A,!0)}function te(t){a(c,t),a(B,!0)}je(async()=>{try{a(C,!0);const t=await Me.getOrganizations();t&&Array.isArray(t)&&a($,t)}catch(t){console.error("Failed to load organizations:",t),a(b,t instanceof Error?t.message:"Failed to load organizations")}finally{a(C,!1)}});async function _e(){try{await Me.retryResource("organizations")}catch(t){console.error("Retry failed:",t)}}const xe=[{key:"name",title:"Name",cellComponent:bt,cellProps:{entityType:"organization"}},{key:"endpoint",title:"Endpoint",cellComponent:vt},{key:"credentials",title:"Credentials",cellComponent:pt,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:yt,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:ft}],ke={entityType:"organization",primaryText:{field:"name",isClickable:!0,href:"/organizations/{id}"},customInfo:[{icon:t=>Oe(t?.endpoint?.endpoint_type||"unknown"),text:t=>t?.endpoint?.name||"Unknown"}],badges:[{type:"custom",value:t=>Ce(t)}],actions:[{type:"edit",handler:t=>N(t)},{type:"delete",handler:t=>te(t)}]};function h(t){a(y,t.detail.term),a(r,1)}function _(t){a(r,t.detail.page)}function F(t){a(k,t.detail.perPage),a(r,1)}function U(t){N(t.detail.item)}function se(t){te(t.detail.item)}x(()=>(e($),f()),()=>{(!e($).length||f().loaded.organizations)&&a($,f().organizations)}),x(()=>f(),()=>{a(C,f().loading.organizations)}),x(()=>f(),()=>{a(D,f().errorMessages.organizations)}),x(()=>(e($),e(y)),()=>{a(w,gt(e($),e(y)))}),x(()=>(e(w),e(k)),()=>{a(z,Math.ceil(e(w).length/e(k)))}),x(()=>(e(r),e(z)),()=>{e(r)>e(z)&&e(z)>0&&a(r,e(z))}),x(()=>(e(w),e(r),e(k)),()=>{a(Z,e(w).slice((e(r)-1)*e(k),e(r)*e(k)))}),qe(),Le();var j=Pt();Xe(t=>{et.title="Organizations - GARM"});var S=Ze(j),q=o(S);ct(q,{title:"Organizations",description:"Manage GitHub and Gitea organizations",actionLabel:"Add Organization",$$events:{action:ee}});var we=i(q,2);{let t=ue(()=>e(D)||e(b)),u=ue(()=>!!e(D));mt(we,{get columns(){return xe},get data(){return e(Z)},get loading(){return e(C)},get error(){return e(t)},get searchTerm(){return e(y)},searchPlaceholder:"Search organizations...",get currentPage(){return e(r)},get perPage(){return e(k)},get totalPages(){return e(z)},get totalItems(){return e(w),v(()=>e(w).length)},itemName:"organizations",emptyIconType:"building",get showRetry(){return e(u)},get mobileCardConfig(){return ke},$$events:{search:h,pageChange:_,perPageChange:F,retry:_e,edit:U,delete:se},$$slots:{"mobile-card":(I,M)=>{const g=ue(()=>M.item),J=ue(()=>(P(Ce),P(e(g)),v(()=>Ce(e(g)))));var ne=Ot(),V=o(ne),Y=o(V),R=o(Y),ze=o(R,!0);n(R);var l=i(R,2),m=o(l),O=o(m);tt(O,()=>(P(Oe),P(e(g)),v(()=>Oe(e(g).endpoint?.endpoint_type||"unknown"))));var de=i(O,2),ce=o(de,!0);n(de),n(m),n(l),n(Y),n(V);var Ee=i(V,2),Te=o(Ee);ut(Te,{get variant(){return P(e(J)),v(()=>e(J).variant)},get text(){return P(e(J)),v(()=>e(J).text)}});var De=i(Te,2),Se=o(De);Be(Se,{action:"edit",size:"sm",title:"Edit organization",ariaLabel:"Edit organization",$$events:{click:()=>N(e(g))}});var Ye=i(Se,2);Be(Ye,{action:"delete",size:"sm",title:"Delete organization",ariaLabel:"Delete organization",$$events:{click:()=>te(e(g))}}),n(De),n(Ee),n(ne),Q(Ke=>{at(Y,"href",Ke),ie(ze,(P(e(g)),v(()=>e(g).name))),ie(ce,(P(e(g)),v(()=>e(g).endpoint?.name||"Unknown")))},[()=>(P(Ie),P(e(g)),v(()=>Ie(`/organizations/${e(g).id}`)))]),E(I,ne)}}})}n(S);var G=i(S,2);{var ae=t=>{Ct(t,{$$events:{close:()=>a(p,!1),submit:he}})};X(G,t=>{e(p)&&t(ae)})}var H=i(G,2);{var le=t=>{lt(t,{get entity(){return e(c)},entityType:"organization",$$events:{close:()=>{a(A,!1),a(c,null)},submit:u=>d(u.detail)}})};X(H,t=>{e(A)&&e(c)&&t(le)})}var re=i(H,2);{var oe=t=>{dt(t,{title:"Delete Organization",message:"Are you sure you want to delete this organization? This action cannot be undone.",get itemName(){return e(c),v(()=>e(c).name)},$$events:{close:()=>{a(B,!1),a(c,null)},confirm:L}})};X(re,t=>{e(B)&&e(c)&&t(oe)})}E(pe,j),Ge(),ve()}export{Kt as component}; +import"../chunks/DsnmJJEf.js";import{i as Le}from"../chunks/DT0EGONV.js";import{p as Ne,E as Qe,o as je,l as x,s as a,m as s,g as e,w as W,a as qe,f as T,k as i,j as o,r as n,c as E,t as Q,v as ie,y as Ae,u as v,z as Fe,e as $e,d as Ge,h as Xe,b as Ze,$ as et,n as P,q as ue}from"../chunks/CRKWEg6v.js";import{a as He,i as X,s as Je}from"../chunks/e1m7WRO5.js";import{r as ge,b as Ue,h as tt,d as Ie,c as at,g as me}from"../chunks/PY0OOjWY.js";import{e as rt,i as ot}from"../chunks/C73ZVvpW.js";import{b as Re,a as We}from"../chunks/B3a35v7J.js";import{p as nt}from"../chunks/D4Caz1gY.js";import{M as it}from"../chunks/XtdMJsQa.js";import{F as st}from"../chunks/DNitrHo2.js";import{e as Pe}from"../chunks/BZiHL9L3.js";import{e as Ve,a as Me}from"../chunks/BoOhv-0Q.js";import{U as lt}from"../chunks/CfzLSqae.js";import{D as dt}from"../chunks/DJ85e5Cv.js";import{P as ct}from"../chunks/MvuzmHPl.js";import{t as K}from"../chunks/D6DjlyIQ.js";import{B as ut,k as Ce,g as Oe,l as gt}from"../chunks/BK-OTA7g.js";import{D as mt,A as Be,G as pt,a as ft}from"../chunks/Co9OVDfV.js";import{E as bt}from"../chunks/QGyLbggC.js";import{E as vt}from"../chunks/C0ude0fo.js";import{S as yt}from"../chunks/BVEuSEJl.js";var ht=T('

'),_t=T('

Loading...

'),xt=T(""),kt=T(''),wt=T('

Webhook secret will be automatically generated

'),zt=T('
'),$t=T('

Create Organization

');function Ct(pe,fe){Ne(fe,!1);const[be,ve]=Je(),f=()=>He(Ve,"$eagerCache",be),D=s(),w=s(),z=s(),Z=s(),$=Qe();let C=s(!1),b=s(""),y=s("github"),r=s({name:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin"}),k=s(!0),p=s(!0);async function A(){if(!f().loaded.credentials&&!f().loading.credentials)try{await Me.getCredentials()}catch(d){a(b,Pe(d))}}function B(d){a(y,d.detail),W(r,e(r).credentials_name="")}function c(){if(e(r).credentials_name){const d=e(D).find(L=>L.name===e(r).credentials_name);d&&d.forge_type&&a(y,d.forge_type)}}function ye(){const d=new Uint8Array(32);return crypto.getRandomValues(d),Array.from(d,L=>L.toString(16).padStart(2,"0")).join("")}async function he(){if(!e(r).name?.trim()){a(b,"Organization name is required");return}if(!e(r).credentials_name){a(b,"Please select credentials");return}try{a(C,!0),a(b,"");const d={...e(r),install_webhook:e(k),auto_generate_secret:e(p)};$("submit",d)}catch(d){a(b,d instanceof Error?d.message:"Failed to create organization"),a(C,!1)}}je(()=>{A()}),x(()=>f(),()=>{a(D,f().credentials)}),x(()=>f(),()=>{a(w,f().loading.credentials)}),x(()=>(e(D),e(y)),()=>{a(z,e(D).filter(d=>e(y)?d.forge_type===e(y):!0))}),x(()=>e(p),()=>{e(p)?W(r,e(r).webhook_secret=ye()):e(p)||W(r,e(r).webhook_secret="")}),x(()=>(e(r),e(p)),()=>{a(Z,e(r).name?.trim()!==""&&e(r).credentials_name!==""&&(e(p)||e(r).webhook_secret&&e(r).webhook_secret.trim()!==""))}),qe(),Le(),it(pe,{$$events:{close:()=>$("close")},children:(d,L)=>{var ee=$t(),N=i(o(ee),2);{var te=h=>{var _=ht(),F=o(_),U=o(F,!0);n(F),n(_),Q(()=>ie(U,e(b))),E(h,_)};X(N,h=>{e(b)&&h(te)})}var _e=i(N,2);{var xe=h=>{var _=_t();E(h,_)},ke=h=>{var _=zt(),F=o(_);st(F,{get selectedForgeType(){return e(y)},set selectedForgeType(l){a(y,l)},$$events:{select:B},$$legacy:!0});var U=i(F,2),se=i(o(U),2);ge(se),n(U);var j=i(U,2),S=i(o(j),2);Q(()=>{e(r),Ae(()=>{e(z)})});var q=o(S);q.value=q.__value="";var we=i(q);rt(we,1,()=>e(z),ot,(l,m)=>{var O=xt(),de=o(O);n(O);var ce={};Q(()=>{ie(de,`${e(m),v(()=>e(m).name)??""} (${e(m),v(()=>e(m).endpoint?.name||"Unknown endpoint")??""})`),ce!==(ce=(e(m),v(()=>e(m).name)))&&(O.value=(O.__value=(e(m),v(()=>e(m).name)))??"")}),E(l,O)}),n(S),n(j);var G=i(j,2),ae=i(o(G),2);Q(()=>{e(r),Ae(()=>{})});var H=o(ae);H.value=H.__value="roundrobin";var le=i(H);le.value=le.__value="pack",n(ae),n(G);var re=i(G,2),oe=o(re),t=o(oe);ge(t),Fe(2),n(oe);var u=i(oe,2),I=o(u),M=o(I);ge(M),Fe(2),n(I);var g=i(I,2);{var J=l=>{var m=kt();ge(m),Re(m,()=>e(r).webhook_secret,O=>W(r,e(r).webhook_secret=O)),E(l,m)},ne=l=>{var m=wt();E(l,m)};X(g,l=>{e(p)?l(ne,!1):l(J)})}n(u),n(re);var V=i(re,2),Y=o(V),R=i(Y,2),ze=o(R,!0);n(R),n(V),n(_),Q(()=>{R.disabled=e(C)||e(w)||!e(Z),ie(ze,e(C)?"Creating...":"Create Organization")}),Re(se,()=>e(r).name,l=>W(r,e(r).name=l)),Ue(S,()=>e(r).credentials_name,l=>W(r,e(r).credentials_name=l)),$e("change",S,c),Ue(ae,()=>e(r).pool_balancer_type,l=>W(r,e(r).pool_balancer_type=l)),We(t,()=>e(k),l=>a(k,l)),We(M,()=>e(p),l=>a(p,l)),$e("click",Y,()=>$("close")),$e("submit",_,nt(he)),E(h,_)};X(_e,h=>{e(C)?h(xe):h(ke,!1)})}n(ee),E(d,ee)},$$slots:{default:!0}}),Ge(),ve()}var Ot=T(''),Pt=T('
',1);function Kt(pe,fe){Ne(fe,!1);const[be,ve]=Je(),f=()=>He(Ve,"$eagerCache",be),D=s(),w=s(),z=s(),Z=s();let $=s([]),C=s(!0),b=s(""),y=s(""),r=s(1),k=s(25),p=s(!1),A=s(!1),B=s(!1),c=s(null);function ye(){a(p,!1),a(B,!1),a(A,!1)}async function he(t){try{a(b,"");const u=t.detail,I={name:u.name,credentials_name:u.credentials_name,webhook_secret:u.webhook_secret,pool_balancer_type:u.pool_balancer_type},M=await me.createOrganization(I);if(u.install_webhook&&M.id)try{await me.installOrganizationWebhook(M.id),K.success("Webhook Installed",`Webhook for organization ${M.name} has been installed successfully.`)}catch(g){console.warn("Organization created but webhook installation failed:",g),K.error("Webhook Installation Failed",g instanceof Error?g.message:"Failed to install webhook. You can try installing it manually from the organization details page.")}K.success("Organization Created",`Organization ${M.name} has been created successfully.`),a(p,!1)}catch(u){throw a(b,Pe(u)),u}}async function d(t){if(e(c))try{await me.updateOrganization(e(c).id,t),K.success("Organization Updated",`Organization ${e(c).name} has been updated successfully.`),a(A,!1),a(c,null)}catch(u){throw u}}async function L(){if(e(c))try{a(b,""),await me.deleteOrganization(e(c).id),K.success("Organization Deleted",`Organization ${e(c).name} has been deleted successfully.`),a(c,null)}catch(t){const u=Pe(t);K.error("Delete Failed",u)}finally{ye()}}function ee(){a(p,!0)}function N(t){a(c,t),a(A,!0)}function te(t){a(c,t),a(B,!0)}je(async()=>{try{a(C,!0);const t=await Me.getOrganizations();t&&Array.isArray(t)&&a($,t)}catch(t){console.error("Failed to load organizations:",t),a(b,t instanceof Error?t.message:"Failed to load organizations")}finally{a(C,!1)}});async function _e(){try{await Me.retryResource("organizations")}catch(t){console.error("Retry failed:",t)}}const xe=[{key:"name",title:"Name",cellComponent:bt,cellProps:{entityType:"organization"}},{key:"endpoint",title:"Endpoint",cellComponent:vt},{key:"credentials",title:"Credentials",cellComponent:pt,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:yt,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:ft}],ke={entityType:"organization",primaryText:{field:"name",isClickable:!0,href:"/organizations/{id}"},customInfo:[{icon:t=>Oe(t?.endpoint?.endpoint_type||"unknown"),text:t=>t?.endpoint?.name||"Unknown"}],badges:[{type:"custom",value:t=>Ce(t)}],actions:[{type:"edit",handler:t=>N(t)},{type:"delete",handler:t=>te(t)}]};function h(t){a(y,t.detail.term),a(r,1)}function _(t){a(r,t.detail.page)}function F(t){a(k,t.detail.perPage),a(r,1)}function U(t){N(t.detail.item)}function se(t){te(t.detail.item)}x(()=>(e($),f()),()=>{(!e($).length||f().loaded.organizations)&&a($,f().organizations)}),x(()=>f(),()=>{a(C,f().loading.organizations)}),x(()=>f(),()=>{a(D,f().errorMessages.organizations)}),x(()=>(e($),e(y)),()=>{a(w,gt(e($),e(y)))}),x(()=>(e(w),e(k)),()=>{a(z,Math.ceil(e(w).length/e(k)))}),x(()=>(e(r),e(z)),()=>{e(r)>e(z)&&e(z)>0&&a(r,e(z))}),x(()=>(e(w),e(r),e(k)),()=>{a(Z,e(w).slice((e(r)-1)*e(k),e(r)*e(k)))}),qe(),Le();var j=Pt();Xe(t=>{et.title="Organizations - GARM"});var S=Ze(j),q=o(S);ct(q,{title:"Organizations",description:"Manage GitHub and Gitea organizations",actionLabel:"Add Organization",$$events:{action:ee}});var we=i(q,2);{let t=ue(()=>e(D)||e(b)),u=ue(()=>!!e(D));mt(we,{get columns(){return xe},get data(){return e(Z)},get loading(){return e(C)},get error(){return e(t)},get searchTerm(){return e(y)},searchPlaceholder:"Search organizations...",get currentPage(){return e(r)},get perPage(){return e(k)},get totalPages(){return e(z)},get totalItems(){return e(w),v(()=>e(w).length)},itemName:"organizations",emptyIconType:"building",get showRetry(){return e(u)},get mobileCardConfig(){return ke},$$events:{search:h,pageChange:_,perPageChange:F,retry:_e,edit:U,delete:se},$$slots:{"mobile-card":(I,M)=>{const g=ue(()=>M.item),J=ue(()=>(P(Ce),P(e(g)),v(()=>Ce(e(g)))));var ne=Ot(),V=o(ne),Y=o(V),R=o(Y),ze=o(R,!0);n(R);var l=i(R,2),m=o(l),O=o(m);tt(O,()=>(P(Oe),P(e(g)),v(()=>Oe(e(g).endpoint?.endpoint_type||"unknown"))));var de=i(O,2),ce=o(de,!0);n(de),n(m),n(l),n(Y),n(V);var Ee=i(V,2),Te=o(Ee);ut(Te,{get variant(){return P(e(J)),v(()=>e(J).variant)},get text(){return P(e(J)),v(()=>e(J).text)}});var De=i(Te,2),Se=o(De);Be(Se,{action:"edit",size:"sm",title:"Edit organization",ariaLabel:"Edit organization",$$events:{click:()=>N(e(g))}});var Ye=i(Se,2);Be(Ye,{action:"delete",size:"sm",title:"Delete organization",ariaLabel:"Delete organization",$$events:{click:()=>te(e(g))}}),n(De),n(Ee),n(ne),Q(Ke=>{at(Y,"href",Ke),ie(ze,(P(e(g)),v(()=>e(g).name))),ie(ce,(P(e(g)),v(()=>e(g).endpoint?.name||"Unknown")))},[()=>(P(Ie),P(e(g)),v(()=>Ie(`/organizations/${e(g).id}`)))]),E(I,ne)}}})}n(S);var G=i(S,2);{var ae=t=>{Ct(t,{$$events:{close:()=>a(p,!1),submit:he}})};X(G,t=>{e(p)&&t(ae)})}var H=i(G,2);{var le=t=>{lt(t,{get entity(){return e(c)},entityType:"organization",$$events:{close:()=>{a(A,!1),a(c,null)},submit:u=>d(u.detail)}})};X(H,t=>{e(A)&&e(c)&&t(le)})}var re=i(H,2);{var oe=t=>{dt(t,{title:"Delete Organization",message:"Are you sure you want to delete this organization? This action cannot be undone.",get itemName(){return e(c),v(()=>e(c).name)},$$events:{close:()=>{a(B,!1),a(c,null)},confirm:L}})};X(re,t=>{e(B)&&e(c)&&t(oe)})}E(pe,j),Ge(),ve()}export{Kt as component}; diff --git a/webapp/assets/_app/immutable/nodes/12.BH3Jz8FR.js b/webapp/assets/_app/immutable/nodes/12.DgCp7E-Q.js similarity index 88% rename from webapp/assets/_app/immutable/nodes/12.BH3Jz8FR.js rename to webapp/assets/_app/immutable/nodes/12.DgCp7E-Q.js index 4b7679a3..722b632d 100644 --- a/webapp/assets/_app/immutable/nodes/12.BH3Jz8FR.js +++ b/webapp/assets/_app/immutable/nodes/12.DgCp7E-Q.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as We}from"../chunks/zNh6Oe5P.js";import{p as qe,o as He,A as je,l as Ge,a as Re,f as B,h as Ve,b as C,t as j,c as x,d as Je,u as i,n as de,v as ce,g as e,m as l,j as f,k as d,s as o,$ as Ke,r as g,y as Qe,B as ue,q as m}from"../chunks/sWNKMed7.js";import{i as h,s as Xe,a as Ye}from"../chunks/Ccl3fNd2.js";import{d as A,c as Ze,g as _}from"../chunks/C1jihKTd.js";import{p as et}from"../chunks/DQxjqDvj.js";import{g as fe}from"../chunks/H5nVv3Is.js";import{U as tt}from"../chunks/Gp00ljCM.js";import{D as ge}from"../chunks/ujTHIzr1.js";import{E as at,P as nt,a as ot}from"../chunks/y6VQBV4I.js";import{D as rt,I as it}from"../chunks/C50dSO3X.js";import{g as me}from"../chunks/Qi7G5Z5O.js";import{e as S}from"../chunks/BZiHL9L3.js";import{W as st}from"../chunks/BgwfiEwe.js";import{C as lt}from"../chunks/DSOLL96f.js";import{w as G}from"../chunks/BuuPrWMc.js";import{t as I}from"../chunks/BZUCTtPY.js";var dt=B('

Loading organization...

'),ct=B('

'),ut=B(" ",1),ft=B(' ',1);function Tt(pe,ve){qe(ve,!1);const[ye,he]=Xe(),R=()=>Ye(et,"$page",ye),w=l();let a=l(null),c=l([]),p=l([]),F=l(!0),O=l(""),D=l(!1),P=l(!1),E=l(!1),T=l(!1),u=l(null),M=null,b=l();async function V(){if(e(w))try{o(F,!0),o(O,"");const[t,n,r]=await Promise.all([_.getOrganization(e(w)),_.listOrganizationPools(e(w)).catch(()=>[]),_.listOrganizationInstances(e(w)).catch(()=>[])]);o(a,t),o(c,n),o(p,r)}catch(t){o(O,S(t))}finally{o(F,!1)}}function _e(t,n){const{events:r}=t;return{...n,events:r}}async function be(t){if(e(a))try{await _.updateOrganization(e(a).id,t),await V(),I.success("Organization Updated",`Organization ${e(a).name} has been updated successfully.`),o(D,!1)}catch(n){throw n}}async function ze(){if(e(a)){try{await _.deleteOrganization(e(a).id),fe(A("/organizations"))}catch(t){const n=S(t);I.error("Delete Failed",n)}o(P,!1)}}async function $e(){if(e(u))try{await _.deleteInstance(e(u).name),I.success("Instance Deleted",`Instance ${e(u).name} has been deleted successfully.`),o(E,!1),o(u,null)}catch(t){const n=S(t);I.error("Delete Failed",n),o(E,!1),o(u,null)}}function xe(t){o(u,t),o(E,!0)}function Ie(){o(T,!0)}async function we(t){try{if(!e(a))return;await _.createOrganizationPool(e(a).id,t.detail),I.success("Pool Created",`Pool has been created successfully for organization ${e(a).name}.`),o(T,!1)}catch(n){const r=S(n);I.error("Pool Creation Failed",r)}}function J(){e(b)&&Qe(b,e(b).scrollTop=e(b).scrollHeight)}function Ee(t){if(t.operation==="update"){const n=t.payload;if(e(a)&&n.id===e(a).id){const r=e(a).events?.length||0,s=n.events?.length||0;o(a,_e(e(a),n)),s>r&&setTimeout(()=>{J()},100)}}else if(t.operation==="delete"){const n=t.payload.id||t.payload;e(a)&&e(a).id===n&&fe(A("/organizations"))}}function Oe(t){if(!e(a))return;const n=t.payload;if(n.org_id===e(a).id){if(t.operation==="create")o(c,[...e(c),n]);else if(t.operation==="update")o(c,e(c).map(r=>r.id===n.id?n:r));else if(t.operation==="delete"){const r=n.id||n;o(c,e(c).filter(s=>s.id!==r))}}}function De(t){if(!e(a)||!e(c))return;const n=t.payload;if(e(c).some(s=>s.id===n.pool_id)){if(t.operation==="create")o(p,[...e(p),n]);else if(t.operation==="update")o(p,e(p).map(s=>s.id===n.id?n:s));else if(t.operation==="delete"){const s=n.id||n;o(p,e(p).filter(W=>W.id!==s))}}}He(()=>{V().then(()=>{e(a)?.events?.length&&setTimeout(()=>{J()},100)});const t=G.subscribeToEntity("organization",["update","delete"],Ee),n=G.subscribeToEntity("pool",["create","update","delete"],Oe),r=G.subscribeToEntity("instance",["create","update","delete"],De);M=()=>{t(),n(),r()}}),je(()=>{M&&(M(),M=null)}),Ge(()=>R(),()=>{o(w,R().params.id)}),Re(),We();var K=ft();Ve(t=>{j(()=>Ke.title=`${e(a),i(()=>e(a)?`${e(a).name} - Organization Details`:"Organization Details")??""} - GARM`)});var U=C(K),L=f(U),Q=f(L),N=f(Q),Pe=f(N);g(N);var X=d(N,2),Y=f(X),Z=d(f(Y),2),Te=f(Z,!0);g(Z),g(Y),g(X),g(Q),g(L);var Me=d(L,2);{var ke=t=>{var n=dt();x(t,n)},Ce=t=>{var n=ue(),r=C(n);{var s=z=>{var $=ct(),k=f($),q=f(k,!0);g(k),g($),j(()=>ce(q,e(O))),x(z,$)},W=z=>{var $=ue(),k=C($);{var q=H=>{var ne=ut(),oe=C(ne);{let v=m(()=>(e(a),i(()=>e(a).name||"Organization"))),y=m(()=>(e(a),i(()=>e(a).endpoint?.name))),Ne=m(()=>(de(me),e(a),i(()=>me(e(a).endpoint?.endpoint_type||"unknown"))));rt(oe,{get title(){return e(v)},get subtitle(){return`Endpoint: ${e(y)??""}`},get forgeIcon(){return e(Ne)},onEdit:()=>o(D,!0),onDelete:()=>o(P,!0)})}var re=d(oe,2);at(re,{get entity(){return e(a)},entityType:"organization"});var ie=d(re,2);{let v=m(()=>(e(a),i(()=>e(a).id||""))),y=m(()=>(e(a),i(()=>e(a).name||"")));st(ie,{entityType:"organization",get entityId(){return e(v)},get entityName(){return e(y)}})}var se=d(ie,2);{let v=m(()=>(e(a),i(()=>e(a).id||""))),y=m(()=>(e(a),i(()=>e(a).name||"")));nt(se,{get pools(){return e(c)},entityType:"organization",get entityId(){return e(v)},get entityName(){return e(y)},$$events:{addPool:Ie}})}var le=d(se,2);it(le,{get instances(){return e(p)},entityType:"organization",onDeleteInstance:xe});var Le=d(le,2);{let v=m(()=>(e(a),i(()=>e(a)?.events)));ot(Le,{get events(){return e(v)},get eventsContainer(){return e(b)},set eventsContainer(y){o(b,y)},$$legacy:!0})}x(H,ne)};h(k,H=>{e(a)&&H(q)},!0)}x(z,$)};h(r,z=>{e(O)?z(s):z(W,!1)},!0)}x(t,n)};h(Me,t=>{e(F)?t(ke):t(Ce,!1)})}g(U);var ee=d(U,2);{var Ae=t=>{tt(t,{get entity(){return e(a)},entityType:"organization",$$events:{close:()=>o(D,!1),submit:n=>be(n.detail)}})};h(ee,t=>{e(D)&&e(a)&&t(Ae)})}var te=d(ee,2);{var Se=t=>{ge(t,{title:"Delete Organization",message:"Are you sure you want to delete this organization? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a),i(()=>e(a).name)},$$events:{close:()=>o(P,!1),confirm:ze}})};h(te,t=>{e(P)&&e(a)&&t(Se)})}var ae=d(te,2);{var Be=t=>{ge(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(u),i(()=>e(u).name)},$$events:{close:()=>{o(E,!1),o(u,null)},confirm:$e}})};h(ae,t=>{e(E)&&e(u)&&t(Be)})}var Fe=d(ae,2);{var Ue=t=>{{let n=m(()=>(e(a),i(()=>e(a).id||"")));lt(t,{initialEntityType:"organization",get initialEntityId(){return e(n)},$$events:{close:()=>o(T,!1),submit:we}})}};h(Fe,t=>{e(T)&&e(a)&&t(Ue)})}j(t=>{Ze(Pe,"href",t),ce(Te,(e(a),i(()=>e(a)?e(a).name:"Loading...")))},[()=>(de(A),i(()=>A("/organizations")))]),x(pe,K),Je(),he()}export{Tt as component}; +import"../chunks/DsnmJJEf.js";import{i as We}from"../chunks/DT0EGONV.js";import{p as qe,o as He,A as je,l as Ge,a as Re,f as B,h as Ve,b as C,t as j,c as x,d as Je,u as i,n as de,v as ce,g as e,m as l,j as f,k as d,s as o,$ as Ke,r as g,w as Qe,B as ue,q as m}from"../chunks/CRKWEg6v.js";import{i as h,s as Xe,a as Ye}from"../chunks/e1m7WRO5.js";import{d as A,c as Ze,g as _}from"../chunks/PY0OOjWY.js";import{p as et}from"../chunks/lXKAs5Tk.js";import{g as fe}from"../chunks/C-HmqlJ7.js";import{U as tt}from"../chunks/CfzLSqae.js";import{D as ge}from"../chunks/DJ85e5Cv.js";import{E as at,P as nt,a as ot}from"../chunks/t7D7emdy.js";import{D as rt,I as it}from"../chunks/BO15iAaC.js";import{g as me}from"../chunks/BK-OTA7g.js";import{e as S}from"../chunks/BZiHL9L3.js";import{W as st}from"../chunks/CeSGyYo5.js";import{C as lt}from"../chunks/CUjyd2pn.js";import{w as G}from"../chunks/C73ZVvpW.js";import{t as I}from"../chunks/D6DjlyIQ.js";var dt=B('

Loading organization...

'),ct=B('

'),ut=B(" ",1),ft=B(' ',1);function Tt(pe,ve){qe(ve,!1);const[ye,he]=Xe(),R=()=>Ye(et,"$page",ye),w=l();let a=l(null),c=l([]),p=l([]),F=l(!0),O=l(""),D=l(!1),P=l(!1),E=l(!1),T=l(!1),u=l(null),M=null,b=l();async function V(){if(e(w))try{o(F,!0),o(O,"");const[t,n,r]=await Promise.all([_.getOrganization(e(w)),_.listOrganizationPools(e(w)).catch(()=>[]),_.listOrganizationInstances(e(w)).catch(()=>[])]);o(a,t),o(c,n),o(p,r)}catch(t){o(O,S(t))}finally{o(F,!1)}}function _e(t,n){const{events:r}=t;return{...n,events:r}}async function be(t){if(e(a))try{await _.updateOrganization(e(a).id,t),await V(),I.success("Organization Updated",`Organization ${e(a).name} has been updated successfully.`),o(D,!1)}catch(n){throw n}}async function ze(){if(e(a)){try{await _.deleteOrganization(e(a).id),fe(A("/organizations"))}catch(t){const n=S(t);I.error("Delete Failed",n)}o(P,!1)}}async function $e(){if(e(u))try{await _.deleteInstance(e(u).name),I.success("Instance Deleted",`Instance ${e(u).name} has been deleted successfully.`),o(E,!1),o(u,null)}catch(t){const n=S(t);I.error("Delete Failed",n),o(E,!1),o(u,null)}}function xe(t){o(u,t),o(E,!0)}function Ie(){o(T,!0)}async function we(t){try{if(!e(a))return;await _.createOrganizationPool(e(a).id,t.detail),I.success("Pool Created",`Pool has been created successfully for organization ${e(a).name}.`),o(T,!1)}catch(n){const r=S(n);I.error("Pool Creation Failed",r)}}function J(){e(b)&&Qe(b,e(b).scrollTop=e(b).scrollHeight)}function Ee(t){if(t.operation==="update"){const n=t.payload;if(e(a)&&n.id===e(a).id){const r=e(a).events?.length||0,s=n.events?.length||0;o(a,_e(e(a),n)),s>r&&setTimeout(()=>{J()},100)}}else if(t.operation==="delete"){const n=t.payload.id||t.payload;e(a)&&e(a).id===n&&fe(A("/organizations"))}}function Oe(t){if(!e(a))return;const n=t.payload;if(n.org_id===e(a).id){if(t.operation==="create")o(c,[...e(c),n]);else if(t.operation==="update")o(c,e(c).map(r=>r.id===n.id?n:r));else if(t.operation==="delete"){const r=n.id||n;o(c,e(c).filter(s=>s.id!==r))}}}function De(t){if(!e(a)||!e(c))return;const n=t.payload;if(e(c).some(s=>s.id===n.pool_id)){if(t.operation==="create")o(p,[...e(p),n]);else if(t.operation==="update")o(p,e(p).map(s=>s.id===n.id?n:s));else if(t.operation==="delete"){const s=n.id||n;o(p,e(p).filter(W=>W.id!==s))}}}He(()=>{V().then(()=>{e(a)?.events?.length&&setTimeout(()=>{J()},100)});const t=G.subscribeToEntity("organization",["update","delete"],Ee),n=G.subscribeToEntity("pool",["create","update","delete"],Oe),r=G.subscribeToEntity("instance",["create","update","delete"],De);M=()=>{t(),n(),r()}}),je(()=>{M&&(M(),M=null)}),Ge(()=>R(),()=>{o(w,R().params.id)}),Re(),We();var K=ft();Ve(t=>{j(()=>Ke.title=`${e(a),i(()=>e(a)?`${e(a).name} - Organization Details`:"Organization Details")??""} - GARM`)});var U=C(K),L=f(U),Q=f(L),N=f(Q),Pe=f(N);g(N);var X=d(N,2),Y=f(X),Z=d(f(Y),2),Te=f(Z,!0);g(Z),g(Y),g(X),g(Q),g(L);var Me=d(L,2);{var ke=t=>{var n=dt();x(t,n)},Ce=t=>{var n=ue(),r=C(n);{var s=z=>{var $=ct(),k=f($),q=f(k,!0);g(k),g($),j(()=>ce(q,e(O))),x(z,$)},W=z=>{var $=ue(),k=C($);{var q=H=>{var ne=ut(),oe=C(ne);{let v=m(()=>(e(a),i(()=>e(a).name||"Organization"))),y=m(()=>(e(a),i(()=>e(a).endpoint?.name))),Ne=m(()=>(de(me),e(a),i(()=>me(e(a).endpoint?.endpoint_type||"unknown"))));rt(oe,{get title(){return e(v)},get subtitle(){return`Endpoint: ${e(y)??""}`},get forgeIcon(){return e(Ne)},onEdit:()=>o(D,!0),onDelete:()=>o(P,!0)})}var re=d(oe,2);at(re,{get entity(){return e(a)},entityType:"organization"});var ie=d(re,2);{let v=m(()=>(e(a),i(()=>e(a).id||""))),y=m(()=>(e(a),i(()=>e(a).name||"")));st(ie,{entityType:"organization",get entityId(){return e(v)},get entityName(){return e(y)}})}var se=d(ie,2);{let v=m(()=>(e(a),i(()=>e(a).id||""))),y=m(()=>(e(a),i(()=>e(a).name||"")));nt(se,{get pools(){return e(c)},entityType:"organization",get entityId(){return e(v)},get entityName(){return e(y)},$$events:{addPool:Ie}})}var le=d(se,2);it(le,{get instances(){return e(p)},entityType:"organization",onDeleteInstance:xe});var Le=d(le,2);{let v=m(()=>(e(a),i(()=>e(a)?.events)));ot(Le,{get events(){return e(v)},get eventsContainer(){return e(b)},set eventsContainer(y){o(b,y)},$$legacy:!0})}x(H,ne)};h(k,H=>{e(a)&&H(q)},!0)}x(z,$)};h(r,z=>{e(O)?z(s):z(W,!1)},!0)}x(t,n)};h(Me,t=>{e(F)?t(ke):t(Ce,!1)})}g(U);var ee=d(U,2);{var Ae=t=>{tt(t,{get entity(){return e(a)},entityType:"organization",$$events:{close:()=>o(D,!1),submit:n=>be(n.detail)}})};h(ee,t=>{e(D)&&e(a)&&t(Ae)})}var te=d(ee,2);{var Se=t=>{ge(t,{title:"Delete Organization",message:"Are you sure you want to delete this organization? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a),i(()=>e(a).name)},$$events:{close:()=>o(P,!1),confirm:ze}})};h(te,t=>{e(P)&&e(a)&&t(Se)})}var ae=d(te,2);{var Be=t=>{ge(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(u),i(()=>e(u).name)},$$events:{close:()=>{o(E,!1),o(u,null)},confirm:$e}})};h(ae,t=>{e(E)&&e(u)&&t(Be)})}var Fe=d(ae,2);{var Ue=t=>{{let n=m(()=>(e(a),i(()=>e(a).id||"")));lt(t,{initialEntityType:"organization",get initialEntityId(){return e(n)},$$events:{close:()=>o(T,!1),submit:we}})}};h(Fe,t=>{e(T)&&e(a)&&t(Ue)})}j(t=>{Ze(Pe,"href",t),ce(Te,(e(a),i(()=>e(a)?e(a).name:"Loading...")))},[()=>(de(A),i(()=>A("/organizations")))]),x(pe,K),Je(),he()}export{Tt as component}; diff --git a/webapp/assets/_app/immutable/nodes/13.Co19HBFy.js b/webapp/assets/_app/immutable/nodes/13.Y1-HIkT0.js similarity index 84% rename from webapp/assets/_app/immutable/nodes/13.Co19HBFy.js rename to webapp/assets/_app/immutable/nodes/13.Y1-HIkT0.js index f32b100e..b6fcf7e4 100644 --- a/webapp/assets/_app/immutable/nodes/13.Co19HBFy.js +++ b/webapp/assets/_app/immutable/nodes/13.Y1-HIkT0.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as ye}from"../chunks/zNh6Oe5P.js";import{p as he,o as Pe,l as p,a as ve,f as J,h as Ce,b as _e,c as V,d as $e,g as t,m as r,$ as be,j as q,q as w,u as j,k as y,s as o,r as H,n as Me}from"../chunks/sWNKMed7.js";import{i as _,s as Te,a as De}from"../chunks/Ccl3fNd2.js";import{g as k}from"../chunks/C1jihKTd.js";import{P as Ee}from"../chunks/DL-alMNb.js";import{C as we}from"../chunks/DSOLL96f.js";import{U as ke}from"../chunks/wtPi3qcm.js";import{D as Ae}from"../chunks/ujTHIzr1.js";import{M as Ie}from"../chunks/BbG_gKT3.js";import{D as Se,G as A,a as xe,L as Fe}from"../chunks/C98FZ6Lp.js";import{e as Ue,a as z}from"../chunks/Cp3IZoXB.js";import{t as u}from"../chunks/BZUCTtPY.js";import{e as $,h as Le}from"../chunks/Qi7G5Z5O.js";import{e as b}from"../chunks/BZiHL9L3.js";import{E as Ne}from"../chunks/xti5lSds.js";import{E as Re}from"../chunks/DmcacarF.js";import{S as Ge}from"../chunks/kSv08Ec5.js";import{P as Ve}from"../chunks/CFUg1N_q.js";import"../chunks/CcBDT0Mv.js";const B={};var qe=J('
'),je=J('
',1);function ct(K,O){he(O,!1);const[Q,W]=Te(),s=()=>De(Ue,"$eagerCache",Q),M=r(),c=r(),m=r(),I=r();let f=r([]),h=r(!0),S=r(""),P=r(""),n=r(1),d=r(25),v=r(!1),C=r(!1),g=r(!1),a=r(null),T=r(!1);async function X(e){try{u.success("Pool Created","Pool has been created successfully."),o(v,!1)}catch(l){const i=b(l);u.error("Pool Creation Failed",i)}}async function Y(e){if(t(a))try{await k.updatePool(t(a).id,e),o(C,!1),u.add({type:"success",title:"Pool Updated",message:`Pool ${t(a).id.slice(0,8)}... has been updated successfully.`}),o(a,null)}catch(l){const i=b(l);throw u.add({type:"error",title:"Update Failed",message:i}),l}}async function Z(){if(!t(a))return;const e=`Pool ${t(a).id.slice(0,8)}...`;try{await k.deletePool(t(a).id),o(g,!1),u.add({type:"success",title:"Pool Deleted",message:`${e} has been deleted successfully.`}),o(a,null)}catch(l){const i=b(l);u.add({type:"error",title:"Delete Failed",message:i})}o(g,!1),o(a,null)}function ee(){o(v,!0)}async function x(e){try{o(T,!0);const l=await k.getPool(e.id);o(a,l),o(C,!0)}catch(l){const i=b(l);u.error("Failed to Load Pool Details",i)}finally{o(T,!1)}}function F(e){o(a,e),o(g,!0)}Pe(async()=>{try{o(h,!0);const e=await z.getPools();e&&Array.isArray(e)&&o(f,e)}catch(e){B?.VITEST||console.error("Failed to load pools:",e),o(S,e instanceof Error?e.message:"Failed to load pools")}finally{o(h,!1)}});async function te(){try{await z.retryResource("pools")}catch(e){B?.VITEST||console.error("Retry failed:",e)}}const oe=[{key:"id",title:"ID",flexible:!0,cellComponent:Ne,cellProps:{entityType:"pool",showId:!0,fontMono:!0}},{key:"image",title:"Image",flexible:!0,cellComponent:A,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:A,cellProps:{field:"provider_name"}},{key:"flavor",title:"Flavor",cellComponent:A,cellProps:{field:"flavor"}},{key:"entity",title:"Entity",cellComponent:Ve},{key:"endpoint",title:"Endpoint",cellComponent:Re},{key:"status",title:"Status",cellComponent:Ge,cellProps:{statusType:"enabled"}},{key:"actions",title:"Actions",align:"right",cellComponent:xe}],ae={entityType:"pool",primaryText:{field:"id",isClickable:!0,href:"/pools/{id}",useId:!0,isMonospace:!0},secondaryText:{field:"entity_name",computedValue:e=>$(e,s())},badges:[{type:"custom",value:e=>({variant:e.enabled?"success":"error",text:e.enabled?"Enabled":"Disabled"})}],actions:[{type:"edit",handler:e=>x(e)},{type:"delete",handler:e=>F(e)}]};function le(e){o(P,e.detail.term),o(n,1)}function re(e){o(n,e.detail.page)}function se(e){o(d,e.detail.perPage),o(n,1)}function ne(e){x(e.detail.item)}function ie(e){F(e.detail.item)}p(()=>(t(f),s()),()=>{(!t(f).length||s().loaded.pools)&&o(f,s().pools)}),p(()=>s(),()=>{o(h,s().loading.pools)}),p(()=>s(),()=>{o(M,s().errorMessages.pools)}),p(()=>(t(f),t(P),s()),()=>{o(c,Le(t(f),t(P),e=>$(e,s())))}),p(()=>(t(c),t(d)),()=>{o(m,Math.ceil(t(c).length/t(d)))}),p(()=>(t(n),t(m)),()=>{t(n)>t(m)&&t(m)>0&&o(n,t(m))}),p(()=>(t(c),t(n),t(d)),()=>{o(I,t(c).slice((t(n)-1)*t(d),t(n)*t(d)))}),ve(),ye();var U=je();Ce(e=>{be.title="Pools - GARM"});var D=_e(U),L=q(D);Ee(L,{title:"Pools",description:"Manage runner pools across all entities",actionLabel:"Add Pool",$$events:{action:ee}});var ce=y(L,2);{let e=w(()=>t(M)||t(S)),l=w(()=>!!t(M));Se(ce,{get columns(){return oe},get data(){return t(I)},get loading(){return t(h)},get error(){return t(e)},get searchTerm(){return t(P)},searchPlaceholder:"Search by entity name...",get currentPage(){return t(n)},get perPage(){return t(d)},get totalPages(){return t(m)},get totalItems(){return t(c),j(()=>t(c).length)},itemName:"pools",emptyIconType:"cog",get showRetry(){return t(l)},get mobileCardConfig(){return ae},$$events:{search:le,pageChange:re,perPageChange:se,retry:te,edit:ne,delete:ie}})}H(D);var N=y(D,2);{var de=e=>{we(e,{$$events:{close:()=>o(v,!1),submit:X}})};_(N,e=>{t(v)&&e(de)})}var R=y(N,2);{var pe=e=>{ke(e,{get pool(){return t(a)},$$events:{close:()=>{o(C,!1),o(a,null)},submit:l=>Y(l.detail)}})};_(R,e=>{t(C)&&t(a)&&e(pe)})}var G=y(R,2);{var ue=e=>{{let l=w(()=>(t(a),Me($),s(),j(()=>`Pool ${t(a).id.slice(0,8)}... (${$(t(a),s())})`)));Ae(e,{title:"Delete Pool",message:"Are you sure you want to delete this pool? This action cannot be undone and will remove all associated runners.",get itemName(){return t(l)},$$events:{close:()=>{o(g,!1),o(a,null)},confirm:Z}})}};_(G,e=>{t(g)&&t(a)&&e(ue)})}var me=y(G,2);{var fe=e=>{Ie(e,{$$events:{close:()=>{}},children:(l,i)=>{var E=qe(),ge=q(E);Fe(ge,{message:"Loading pool details..."}),H(E),V(l,E)},$$slots:{default:!0}})};_(me,e=>{t(T)&&e(fe)})}V(K,U),$e(),W()}export{ct as component}; +import"../chunks/DsnmJJEf.js";import{i as ye}from"../chunks/DT0EGONV.js";import{p as he,o as Pe,l as p,a as ve,f as J,h as Ce,b as _e,c as V,d as $e,g as t,m as r,$ as be,j as q,q as w,u as j,k as y,s as o,r as H,n as Me}from"../chunks/CRKWEg6v.js";import{i as _,s as Te,a as De}from"../chunks/e1m7WRO5.js";import{g as k}from"../chunks/PY0OOjWY.js";import{P as Ee}from"../chunks/MvuzmHPl.js";import{C as we}from"../chunks/CUjyd2pn.js";import{U as ke}from"../chunks/BqRMwgRS.js";import{D as Ae}from"../chunks/DJ85e5Cv.js";import{M as Ie}from"../chunks/XtdMJsQa.js";import{D as Se,G as A,a as xe,L as Fe}from"../chunks/Co9OVDfV.js";import{e as Ue,a as z}from"../chunks/BoOhv-0Q.js";import{t as u}from"../chunks/D6DjlyIQ.js";import{e as $,h as Le}from"../chunks/BK-OTA7g.js";import{e as b}from"../chunks/BZiHL9L3.js";import{E as Ne}from"../chunks/QGyLbggC.js";import{E as Re}from"../chunks/C0ude0fo.js";import{S as Ge}from"../chunks/BVEuSEJl.js";import{P as Ve}from"../chunks/DMRkWx6-.js";import"../chunks/BBO7sjS5.js";const B={};var qe=J('
'),je=J('
',1);function ct(K,O){he(O,!1);const[Q,W]=Te(),s=()=>De(Ue,"$eagerCache",Q),M=r(),c=r(),m=r(),I=r();let f=r([]),h=r(!0),S=r(""),P=r(""),n=r(1),d=r(25),v=r(!1),C=r(!1),g=r(!1),a=r(null),T=r(!1);async function X(e){try{u.success("Pool Created","Pool has been created successfully."),o(v,!1)}catch(l){const i=b(l);u.error("Pool Creation Failed",i)}}async function Y(e){if(t(a))try{await k.updatePool(t(a).id,e),o(C,!1),u.add({type:"success",title:"Pool Updated",message:`Pool ${t(a).id.slice(0,8)}... has been updated successfully.`}),o(a,null)}catch(l){const i=b(l);throw u.add({type:"error",title:"Update Failed",message:i}),l}}async function Z(){if(!t(a))return;const e=`Pool ${t(a).id.slice(0,8)}...`;try{await k.deletePool(t(a).id),o(g,!1),u.add({type:"success",title:"Pool Deleted",message:`${e} has been deleted successfully.`}),o(a,null)}catch(l){const i=b(l);u.add({type:"error",title:"Delete Failed",message:i})}o(g,!1),o(a,null)}function ee(){o(v,!0)}async function x(e){try{o(T,!0);const l=await k.getPool(e.id);o(a,l),o(C,!0)}catch(l){const i=b(l);u.error("Failed to Load Pool Details",i)}finally{o(T,!1)}}function F(e){o(a,e),o(g,!0)}Pe(async()=>{try{o(h,!0);const e=await z.getPools();e&&Array.isArray(e)&&o(f,e)}catch(e){B?.VITEST||console.error("Failed to load pools:",e),o(S,e instanceof Error?e.message:"Failed to load pools")}finally{o(h,!1)}});async function te(){try{await z.retryResource("pools")}catch(e){B?.VITEST||console.error("Retry failed:",e)}}const oe=[{key:"id",title:"ID",flexible:!0,cellComponent:Ne,cellProps:{entityType:"pool",showId:!0,fontMono:!0}},{key:"image",title:"Image",flexible:!0,cellComponent:A,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:A,cellProps:{field:"provider_name"}},{key:"flavor",title:"Flavor",cellComponent:A,cellProps:{field:"flavor"}},{key:"entity",title:"Entity",cellComponent:Ve},{key:"endpoint",title:"Endpoint",cellComponent:Re},{key:"status",title:"Status",cellComponent:Ge,cellProps:{statusType:"enabled"}},{key:"actions",title:"Actions",align:"right",cellComponent:xe}],ae={entityType:"pool",primaryText:{field:"id",isClickable:!0,href:"/pools/{id}",useId:!0,isMonospace:!0},secondaryText:{field:"entity_name",computedValue:e=>$(e,s())},badges:[{type:"custom",value:e=>({variant:e.enabled?"success":"error",text:e.enabled?"Enabled":"Disabled"})}],actions:[{type:"edit",handler:e=>x(e)},{type:"delete",handler:e=>F(e)}]};function le(e){o(P,e.detail.term),o(n,1)}function re(e){o(n,e.detail.page)}function se(e){o(d,e.detail.perPage),o(n,1)}function ne(e){x(e.detail.item)}function ie(e){F(e.detail.item)}p(()=>(t(f),s()),()=>{(!t(f).length||s().loaded.pools)&&o(f,s().pools)}),p(()=>s(),()=>{o(h,s().loading.pools)}),p(()=>s(),()=>{o(M,s().errorMessages.pools)}),p(()=>(t(f),t(P),s()),()=>{o(c,Le(t(f),t(P),e=>$(e,s())))}),p(()=>(t(c),t(d)),()=>{o(m,Math.ceil(t(c).length/t(d)))}),p(()=>(t(n),t(m)),()=>{t(n)>t(m)&&t(m)>0&&o(n,t(m))}),p(()=>(t(c),t(n),t(d)),()=>{o(I,t(c).slice((t(n)-1)*t(d),t(n)*t(d)))}),ve(),ye();var U=je();Ce(e=>{be.title="Pools - GARM"});var D=_e(U),L=q(D);Ee(L,{title:"Pools",description:"Manage runner pools across all entities",actionLabel:"Add Pool",$$events:{action:ee}});var ce=y(L,2);{let e=w(()=>t(M)||t(S)),l=w(()=>!!t(M));Se(ce,{get columns(){return oe},get data(){return t(I)},get loading(){return t(h)},get error(){return t(e)},get searchTerm(){return t(P)},searchPlaceholder:"Search by entity name...",get currentPage(){return t(n)},get perPage(){return t(d)},get totalPages(){return t(m)},get totalItems(){return t(c),j(()=>t(c).length)},itemName:"pools",emptyIconType:"cog",get showRetry(){return t(l)},get mobileCardConfig(){return ae},$$events:{search:le,pageChange:re,perPageChange:se,retry:te,edit:ne,delete:ie}})}H(D);var N=y(D,2);{var de=e=>{we(e,{$$events:{close:()=>o(v,!1),submit:X}})};_(N,e=>{t(v)&&e(de)})}var R=y(N,2);{var pe=e=>{ke(e,{get pool(){return t(a)},$$events:{close:()=>{o(C,!1),o(a,null)},submit:l=>Y(l.detail)}})};_(R,e=>{t(C)&&t(a)&&e(pe)})}var G=y(R,2);{var ue=e=>{{let l=w(()=>(t(a),Me($),s(),j(()=>`Pool ${t(a).id.slice(0,8)}... (${$(t(a),s())})`)));Ae(e,{title:"Delete Pool",message:"Are you sure you want to delete this pool? This action cannot be undone and will remove all associated runners.",get itemName(){return t(l)},$$events:{close:()=>{o(g,!1),o(a,null)},confirm:Z}})}};_(G,e=>{t(g)&&t(a)&&e(ue)})}var me=y(G,2);{var fe=e=>{Ie(e,{$$events:{close:()=>{}},children:(l,i)=>{var E=qe(),ge=q(E);Fe(ge,{message:"Loading pool details..."}),H(E),V(l,E)},$$slots:{default:!0}})};_(me,e=>{t(T)&&e(fe)})}V(K,U),$e(),W()}export{ct as component}; diff --git a/webapp/assets/_app/immutable/nodes/14.Cx6tcYD0.js b/webapp/assets/_app/immutable/nodes/14.82D2I-Yg.js similarity index 93% rename from webapp/assets/_app/immutable/nodes/14.Cx6tcYD0.js rename to webapp/assets/_app/immutable/nodes/14.82D2I-Yg.js index 8d454de0..ff9c6f4f 100644 --- a/webapp/assets/_app/immutable/nodes/14.Cx6tcYD0.js +++ b/webapp/assets/_app/immutable/nodes/14.82D2I-Yg.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as ze}from"../chunks/zNh6Oe5P.js";import{p as He,o as Ve,A as We,l as Ke,a as Qe,f as h,h as Xe,b as F,t as b,c as x,d as Ye,u as i,n as u,v as l,g as t,m as y,j as r,k as s,s as n,$ as Ze,r as a,y as D,B as Kt,q as M}from"../chunks/sWNKMed7.js";import{i as f,s as ta,a as ea}from"../chunks/Ccl3fNd2.js";import{w as Qt,e as aa,i as ra}from"../chunks/BuuPrWMc.js";import{d as R,c as Xt,g as C,s as da}from"../chunks/C1jihKTd.js";import{p as sa}from"../chunks/DQxjqDvj.js";import{g as Yt}from"../chunks/H5nVv3Is.js";import{U as ia}from"../chunks/wtPi3qcm.js";import{D as Zt}from"../chunks/ujTHIzr1.js";import{D as oa,I as na}from"../chunks/C50dSO3X.js";import{t as E}from"../chunks/BZUCTtPY.js";import{e as P,i as L,j as te,b as O,g as ee}from"../chunks/Qi7G5Z5O.js";import{e as G}from"../chunks/BZiHL9L3.js";var la=h('

Loading pool...

'),va=h('

'),ca=h('
GitHub Runner Group
'),ma=h(' '),xa=h('
Tags
'),ua=h('

Extra Specifications

 
'),ga=h('

Basic Information

Pool ID
Provider
Image
Flavor
Status
Entity
Created At
Updated At

Configuration

Max Runners
Min Idle Runners
Bootstrap Timeout
Priority
Runner Prefix
OS Type / Architecture
',1),pa=h(' ',1);function Ta(ae,re){He(re,!1);const[de,se]=ta(),gt=()=>ea(sa,"$page",de),J=y();let e=y(null),j=y(!0),A=y(""),T=y(!1),U=y(!1),S=y(!1),g=y(null),B=null;async function ie(){if(t(J))try{n(j,!0),n(A,""),n(e,await C.getPool(t(J))),t(e).instances||D(e,t(e).instances=[])}catch(d){n(A,G(d))}finally{n(j,!1)}}async function oe(d){if(t(e))try{const o=await C.updatePool(t(e).id,d);n(e,o),n(T,!1),E.success("Pool Updated",`Pool ${t(e).id} has been updated successfully.`)}catch(o){const _=G(o);E.error("Update Failed",_)}}async function ne(){if(t(e)){try{await C.deletePool(t(e).id),Yt(R("/pools"))}catch(d){const o=G(d);E.error("Delete Failed",o)}n(U,!1)}}async function le(){if(t(g)){try{await C.deleteInstance(t(g).name),E.success("Instance Deleted",`Instance ${t(g).name} has been deleted successfully.`)}catch(d){const o=G(d);E.error("Delete Failed",o)}n(S,!1),n(g,null)}}function ve(d){n(g,d),n(S,!0)}function ce(d){if(!d)return"{}";try{if(typeof d=="string"){const o=JSON.parse(d);return JSON.stringify(o,null,2)}return JSON.stringify(d,null,2)}catch{return d.toString()}}function me(d){if(d.operation==="update"){const o=d.payload;t(e)&&o.id===t(e).id&&n(e,o)}else if(d.operation==="delete"){const o=d.payload.id||d.payload;t(e)&&t(e).id===o&&Yt(R("/pools"))}}function xe(d){if(!t(e))return;const o=d.payload;if(o.pool_id===t(e).id){if(t(e).instances||D(e,t(e).instances=[]),d.operation==="create")D(e,t(e).instances=[...t(e).instances,o]);else if(d.operation==="update")D(e,t(e).instances=t(e).instances.map(_=>_.id===o.id?o:_));else if(d.operation==="delete"){const _=o.id||o;D(e,t(e).instances=t(e).instances.filter(V=>V.id!==_))}n(e,t(e))}}Ve(()=>{ie();const d=Qt.subscribeToEntity("pool",["update","delete"],me),o=Qt.subscribeToEntity("instance",["create","update","delete"],xe);B=()=>{d(),o()}}),We(()=>{B&&(B(),B=null)}),Ke(()=>gt(),()=>{n(J,gt().params.id)}),Qe(),ze();var pt=pa();Xe(d=>{b(()=>Ze.title=`${t(e),i(()=>t(e)?`Pool ${t(e).id} - Pool Details`:"Pool Details")??""} - GARM`)});var q=F(pt),z=r(q),ft=r(z),H=r(ft),ue=r(H);a(H);var _t=s(H,2),yt=r(_t),ht=s(r(yt),2),ge=r(ht,!0);a(ht),a(yt),a(_t),a(ft),a(z);var pe=s(z,2);{var fe=d=>{var o=la();x(d,o)},_e=d=>{var o=Kt(),_=F(o);{var V=k=>{var w=va(),N=r(w),W=r(N,!0);a(N),a(w),b(()=>l(W,t(A))),x(k,w)},we=k=>{var w=Kt(),N=F(w);{var W=K=>{var wt=ga(),$t=F(wt);{let v=M(()=>(u(P),t(e),i(()=>P(t(e))))),c=M(()=>(u(L),t(e),i(()=>L(t(e))))),m=M(()=>(u(ee),t(e),i(()=>ee(t(e).endpoint?.endpoint_type||"unknown"))));oa($t,{get title(){return t(e),i(()=>t(e).id)},get subtitle(){return`Pool for ${t(v)??""} (${t(c)??""})`},get forgeIcon(){return t(m)},onEdit:()=>n(T,!0),onDelete:()=>n(U,!0)})}var Q=s($t,2),X=r(Q),Pt=r(X),It=s(r(Pt),2),Y=r(It),Dt=s(r(Y),2),$e=r(Dt,!0);a(Dt),a(Y);var Z=s(Y,2),Mt=s(r(Z),2),Pe=r(Mt,!0);a(Mt),a(Z);var tt=s(Z,2),Et=s(r(tt),2),At=r(Et),Ie=r(At,!0);a(At),a(Et),a(tt);var et=s(tt,2),Tt=s(r(et),2),De=r(Tt,!0);a(Tt),a(et);var at=s(et,2),Ut=s(r(at),2),rt=r(Ut),Me=r(rt,!0);a(rt),a(Ut),a(at);var dt=s(at,2),St=s(r(dt),2),Bt=r(St),st=r(Bt),Ee=r(st,!0);a(st);var it=s(st,2),Ae=r(it,!0);a(it),a(Bt),a(St),a(dt);var ot=s(dt,2),Nt=s(r(ot),2),Te=r(Nt,!0);a(Nt),a(ot);var Ft=s(ot,2),Rt=s(r(Ft),2),Ue=r(Rt,!0);a(Rt),a(Ft),a(It),a(Pt),a(X);var Ct=s(X,2),Lt=r(Ct),Ot=s(r(Lt),2),nt=r(Ot),Gt=s(r(nt),2),Se=r(Gt,!0);a(Gt),a(nt);var lt=s(nt,2),Jt=s(r(lt),2),Be=r(Jt,!0);a(Jt),a(lt);var vt=s(lt,2),jt=s(r(vt),2),Ne=r(jt);a(jt),a(vt);var ct=s(vt,2),qt=s(r(ct),2),Fe=r(qt,!0);a(qt),a(ct);var mt=s(ct,2),zt=s(r(mt),2),Re=r(zt,!0);a(zt),a(mt);var xt=s(mt,2),Ht=s(r(xt),2),Ce=r(Ht);a(Ht),a(xt);var Vt=s(xt,2);{var Le=v=>{var c=ca(),m=s(r(c),2),p=r(m,!0);a(m),a(c),b(()=>l(p,(t(e),i(()=>t(e)["github-runner-group"])))),x(v,c)};f(Vt,v=>{t(e),i(()=>t(e)["github-runner-group"])&&v(Le)})}var Oe=s(Vt,2);{var Ge=v=>{var c=xa(),m=s(r(c),2),p=r(m);aa(p,5,()=>(t(e),i(()=>t(e).tags)),ra,(I,$)=>{var ut=ma(),qe=r(ut,!0);a(ut),b(()=>l(qe,(t($),i(()=>typeof t($)=="string"?t($):t($).name)))),x(I,ut)}),a(p),a(m),a(c),x(v,c)};f(Oe,v=>{t(e),i(()=>t(e).tags&&t(e).tags.length>0)&&v(Ge)})}a(Ot),a(Lt),a(Ct),a(Q);var Wt=s(Q,2);{var Je=v=>{var c=ua(),m=r(c),p=s(r(m),2),I=r(p,!0);a(p),a(m),a(c),b($=>l(I,$),[()=>(t(e),i(()=>ce(t(e).extra_specs)))]),x(v,c)};f(Wt,v=>{t(e),i(()=>t(e).extra_specs)&&v(Je)})}var je=s(Wt,2);{let v=M(()=>(t(e),i(()=>t(e).instances||[])));na(je,{get instances(){return t(v)},entityType:"pool",onDeleteInstance:ve})}b((v,c,m,p,I)=>{l($e,(t(e),i(()=>t(e).id))),l(Pe,(t(e),i(()=>t(e).provider_name))),l(Ie,(t(e),i(()=>t(e).image))),l(De,(t(e),i(()=>t(e).flavor))),da(rt,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),l(Me,(t(e),i(()=>t(e).enabled?"Enabled":"Disabled"))),l(Ee,v),Xt(it,"href",c),l(Ae,m),l(Te,p),l(Ue,I),l(Se,(t(e),i(()=>t(e).max_runners))),l(Be,(t(e),i(()=>t(e).min_idle_runners))),l(Ne,`${t(e),i(()=>t(e).runner_bootstrap_timeout)??""} minutes`),l(Fe,(t(e),i(()=>t(e).priority))),l(Re,(t(e),i(()=>t(e).runner_prefix||"garm"))),l(Ce,`${t(e),i(()=>t(e).os_type)??""} / ${t(e),i(()=>t(e).os_arch)??""}`)},[()=>(u(L),t(e),i(()=>L(t(e)))),()=>(u(te),t(e),i(()=>te(t(e)))),()=>(u(P),t(e),i(()=>P(t(e)))),()=>(u(O),t(e),i(()=>O(t(e).created_at||""))),()=>(u(O),t(e),i(()=>O(t(e).updated_at||"")))]),x(K,wt)};f(N,K=>{t(e)&&K(W)},!0)}x(k,w)};f(_,k=>{t(A)?k(V):k(we,!1)},!0)}x(d,o)};f(pe,d=>{t(j)?d(fe):d(_e,!1)})}a(q);var bt=s(q,2);{var ye=d=>{ia(d,{get pool(){return t(e)},$$events:{close:()=>n(T,!1),submit:o=>oe(o.detail)}})};f(bt,d=>{t(T)&&t(e)&&d(ye)})}var kt=s(bt,2);{var he=d=>{{let o=M(()=>(t(e),u(P),i(()=>`Pool ${t(e).id} (${P(t(e))})`)));Zt(d,{title:"Delete Pool",message:"Are you sure you want to delete this pool? This action cannot be undone and will remove all associated runners.",get itemName(){return t(o)},$$events:{close:()=>n(U,!1),confirm:ne}})}};f(kt,d=>{t(U)&&t(e)&&d(he)})}var be=s(kt,2);{var ke=d=>{Zt(d,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(g),i(()=>t(g).name)},$$events:{close:()=>{n(S,!1),n(g,null)},confirm:le}})};f(be,d=>{t(S)&&t(g)&&d(ke)})}b(d=>{Xt(ue,"href",d),l(ge,(t(e),i(()=>t(e)?t(e).id:"Loading...")))},[()=>(u(R),i(()=>R("/pools")))]),x(ae,pt),Ye(),se()}export{Ta as component}; +import"../chunks/DsnmJJEf.js";import{i as ze}from"../chunks/DT0EGONV.js";import{p as He,o as Ve,A as We,l as Ke,a as Qe,f as h,h as Xe,b as F,t as b,c as x,d as Ye,u as i,n as u,v as l,g as t,m as y,j as r,k as s,s as n,$ as Ze,r as a,w as D,B as Kt,q as M}from"../chunks/CRKWEg6v.js";import{i as f,s as ta,a as ea}from"../chunks/e1m7WRO5.js";import{w as Qt,e as aa,i as ra}from"../chunks/C73ZVvpW.js";import{d as R,c as Xt,g as C,s as da}from"../chunks/PY0OOjWY.js";import{p as sa}from"../chunks/lXKAs5Tk.js";import{g as Yt}from"../chunks/C-HmqlJ7.js";import{U as ia}from"../chunks/BqRMwgRS.js";import{D as Zt}from"../chunks/DJ85e5Cv.js";import{D as oa,I as na}from"../chunks/BO15iAaC.js";import{t as E}from"../chunks/D6DjlyIQ.js";import{e as P,i as L,j as te,b as O,g as ee}from"../chunks/BK-OTA7g.js";import{e as G}from"../chunks/BZiHL9L3.js";var la=h('

Loading pool...

'),va=h('

'),ca=h('
GitHub Runner Group
'),ma=h(' '),xa=h('
Tags
'),ua=h('

Extra Specifications

 
'),ga=h('

Basic Information

Pool ID
Provider
Image
Flavor
Status
Entity
Created At
Updated At

Configuration

Max Runners
Min Idle Runners
Bootstrap Timeout
Priority
Runner Prefix
OS Type / Architecture
',1),pa=h(' ',1);function Ta(ae,re){He(re,!1);const[de,se]=ta(),gt=()=>ea(sa,"$page",de),J=y();let e=y(null),j=y(!0),A=y(""),T=y(!1),U=y(!1),S=y(!1),g=y(null),B=null;async function ie(){if(t(J))try{n(j,!0),n(A,""),n(e,await C.getPool(t(J))),t(e).instances||D(e,t(e).instances=[])}catch(d){n(A,G(d))}finally{n(j,!1)}}async function oe(d){if(t(e))try{const o=await C.updatePool(t(e).id,d);n(e,o),n(T,!1),E.success("Pool Updated",`Pool ${t(e).id} has been updated successfully.`)}catch(o){const _=G(o);E.error("Update Failed",_)}}async function ne(){if(t(e)){try{await C.deletePool(t(e).id),Yt(R("/pools"))}catch(d){const o=G(d);E.error("Delete Failed",o)}n(U,!1)}}async function le(){if(t(g)){try{await C.deleteInstance(t(g).name),E.success("Instance Deleted",`Instance ${t(g).name} has been deleted successfully.`)}catch(d){const o=G(d);E.error("Delete Failed",o)}n(S,!1),n(g,null)}}function ve(d){n(g,d),n(S,!0)}function ce(d){if(!d)return"{}";try{if(typeof d=="string"){const o=JSON.parse(d);return JSON.stringify(o,null,2)}return JSON.stringify(d,null,2)}catch{return d.toString()}}function me(d){if(d.operation==="update"){const o=d.payload;t(e)&&o.id===t(e).id&&n(e,o)}else if(d.operation==="delete"){const o=d.payload.id||d.payload;t(e)&&t(e).id===o&&Yt(R("/pools"))}}function xe(d){if(!t(e))return;const o=d.payload;if(o.pool_id===t(e).id){if(t(e).instances||D(e,t(e).instances=[]),d.operation==="create")D(e,t(e).instances=[...t(e).instances,o]);else if(d.operation==="update")D(e,t(e).instances=t(e).instances.map(_=>_.id===o.id?o:_));else if(d.operation==="delete"){const _=o.id||o;D(e,t(e).instances=t(e).instances.filter(V=>V.id!==_))}n(e,t(e))}}Ve(()=>{ie();const d=Qt.subscribeToEntity("pool",["update","delete"],me),o=Qt.subscribeToEntity("instance",["create","update","delete"],xe);B=()=>{d(),o()}}),We(()=>{B&&(B(),B=null)}),Ke(()=>gt(),()=>{n(J,gt().params.id)}),Qe(),ze();var pt=pa();Xe(d=>{b(()=>Ze.title=`${t(e),i(()=>t(e)?`Pool ${t(e).id} - Pool Details`:"Pool Details")??""} - GARM`)});var q=F(pt),z=r(q),ft=r(z),H=r(ft),ue=r(H);a(H);var _t=s(H,2),yt=r(_t),ht=s(r(yt),2),ge=r(ht,!0);a(ht),a(yt),a(_t),a(ft),a(z);var pe=s(z,2);{var fe=d=>{var o=la();x(d,o)},_e=d=>{var o=Kt(),_=F(o);{var V=k=>{var w=va(),N=r(w),W=r(N,!0);a(N),a(w),b(()=>l(W,t(A))),x(k,w)},we=k=>{var w=Kt(),N=F(w);{var W=K=>{var wt=ga(),$t=F(wt);{let v=M(()=>(u(P),t(e),i(()=>P(t(e))))),c=M(()=>(u(L),t(e),i(()=>L(t(e))))),m=M(()=>(u(ee),t(e),i(()=>ee(t(e).endpoint?.endpoint_type||"unknown"))));oa($t,{get title(){return t(e),i(()=>t(e).id)},get subtitle(){return`Pool for ${t(v)??""} (${t(c)??""})`},get forgeIcon(){return t(m)},onEdit:()=>n(T,!0),onDelete:()=>n(U,!0)})}var Q=s($t,2),X=r(Q),Pt=r(X),It=s(r(Pt),2),Y=r(It),Dt=s(r(Y),2),$e=r(Dt,!0);a(Dt),a(Y);var Z=s(Y,2),Mt=s(r(Z),2),Pe=r(Mt,!0);a(Mt),a(Z);var tt=s(Z,2),Et=s(r(tt),2),At=r(Et),Ie=r(At,!0);a(At),a(Et),a(tt);var et=s(tt,2),Tt=s(r(et),2),De=r(Tt,!0);a(Tt),a(et);var at=s(et,2),Ut=s(r(at),2),rt=r(Ut),Me=r(rt,!0);a(rt),a(Ut),a(at);var dt=s(at,2),St=s(r(dt),2),Bt=r(St),st=r(Bt),Ee=r(st,!0);a(st);var it=s(st,2),Ae=r(it,!0);a(it),a(Bt),a(St),a(dt);var ot=s(dt,2),Nt=s(r(ot),2),Te=r(Nt,!0);a(Nt),a(ot);var Ft=s(ot,2),Rt=s(r(Ft),2),Ue=r(Rt,!0);a(Rt),a(Ft),a(It),a(Pt),a(X);var Ct=s(X,2),Lt=r(Ct),Ot=s(r(Lt),2),nt=r(Ot),Gt=s(r(nt),2),Se=r(Gt,!0);a(Gt),a(nt);var lt=s(nt,2),Jt=s(r(lt),2),Be=r(Jt,!0);a(Jt),a(lt);var vt=s(lt,2),jt=s(r(vt),2),Ne=r(jt);a(jt),a(vt);var ct=s(vt,2),qt=s(r(ct),2),Fe=r(qt,!0);a(qt),a(ct);var mt=s(ct,2),zt=s(r(mt),2),Re=r(zt,!0);a(zt),a(mt);var xt=s(mt,2),Ht=s(r(xt),2),Ce=r(Ht);a(Ht),a(xt);var Vt=s(xt,2);{var Le=v=>{var c=ca(),m=s(r(c),2),p=r(m,!0);a(m),a(c),b(()=>l(p,(t(e),i(()=>t(e)["github-runner-group"])))),x(v,c)};f(Vt,v=>{t(e),i(()=>t(e)["github-runner-group"])&&v(Le)})}var Oe=s(Vt,2);{var Ge=v=>{var c=xa(),m=s(r(c),2),p=r(m);aa(p,5,()=>(t(e),i(()=>t(e).tags)),ra,(I,$)=>{var ut=ma(),qe=r(ut,!0);a(ut),b(()=>l(qe,(t($),i(()=>typeof t($)=="string"?t($):t($).name)))),x(I,ut)}),a(p),a(m),a(c),x(v,c)};f(Oe,v=>{t(e),i(()=>t(e).tags&&t(e).tags.length>0)&&v(Ge)})}a(Ot),a(Lt),a(Ct),a(Q);var Wt=s(Q,2);{var Je=v=>{var c=ua(),m=r(c),p=s(r(m),2),I=r(p,!0);a(p),a(m),a(c),b($=>l(I,$),[()=>(t(e),i(()=>ce(t(e).extra_specs)))]),x(v,c)};f(Wt,v=>{t(e),i(()=>t(e).extra_specs)&&v(Je)})}var je=s(Wt,2);{let v=M(()=>(t(e),i(()=>t(e).instances||[])));na(je,{get instances(){return t(v)},entityType:"pool",onDeleteInstance:ve})}b((v,c,m,p,I)=>{l($e,(t(e),i(()=>t(e).id))),l(Pe,(t(e),i(()=>t(e).provider_name))),l(Ie,(t(e),i(()=>t(e).image))),l(De,(t(e),i(()=>t(e).flavor))),da(rt,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),l(Me,(t(e),i(()=>t(e).enabled?"Enabled":"Disabled"))),l(Ee,v),Xt(it,"href",c),l(Ae,m),l(Te,p),l(Ue,I),l(Se,(t(e),i(()=>t(e).max_runners))),l(Be,(t(e),i(()=>t(e).min_idle_runners))),l(Ne,`${t(e),i(()=>t(e).runner_bootstrap_timeout)??""} minutes`),l(Fe,(t(e),i(()=>t(e).priority))),l(Re,(t(e),i(()=>t(e).runner_prefix||"garm"))),l(Ce,`${t(e),i(()=>t(e).os_type)??""} / ${t(e),i(()=>t(e).os_arch)??""}`)},[()=>(u(L),t(e),i(()=>L(t(e)))),()=>(u(te),t(e),i(()=>te(t(e)))),()=>(u(P),t(e),i(()=>P(t(e)))),()=>(u(O),t(e),i(()=>O(t(e).created_at||""))),()=>(u(O),t(e),i(()=>O(t(e).updated_at||"")))]),x(K,wt)};f(N,K=>{t(e)&&K(W)},!0)}x(k,w)};f(_,k=>{t(A)?k(V):k(we,!1)},!0)}x(d,o)};f(pe,d=>{t(j)?d(fe):d(_e,!1)})}a(q);var bt=s(q,2);{var ye=d=>{ia(d,{get pool(){return t(e)},$$events:{close:()=>n(T,!1),submit:o=>oe(o.detail)}})};f(bt,d=>{t(T)&&t(e)&&d(ye)})}var kt=s(bt,2);{var he=d=>{{let o=M(()=>(t(e),u(P),i(()=>`Pool ${t(e).id} (${P(t(e))})`)));Zt(d,{title:"Delete Pool",message:"Are you sure you want to delete this pool? This action cannot be undone and will remove all associated runners.",get itemName(){return t(o)},$$events:{close:()=>n(U,!1),confirm:ne}})}};f(kt,d=>{t(U)&&t(e)&&d(he)})}var be=s(kt,2);{var ke=d=>{Zt(d,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(g),i(()=>t(g).name)},$$events:{close:()=>{n(S,!1),n(g,null)},confirm:le}})};f(be,d=>{t(S)&&t(g)&&d(ke)})}b(d=>{Xt(ue,"href",d),l(ge,(t(e),i(()=>t(e)?t(e).id:"Loading...")))},[()=>(u(R),i(()=>R("/pools")))]),x(ae,pt),Ye(),se()}export{Ta as component}; diff --git a/webapp/assets/_app/immutable/nodes/15.BjHke9N-.js b/webapp/assets/_app/immutable/nodes/15.B2Og0T2a.js similarity index 91% rename from webapp/assets/_app/immutable/nodes/15.BjHke9N-.js rename to webapp/assets/_app/immutable/nodes/15.B2Og0T2a.js index 7c825bc7..46a69b92 100644 --- a/webapp/assets/_app/immutable/nodes/15.BjHke9N-.js +++ b/webapp/assets/_app/immutable/nodes/15.B2Og0T2a.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as Me}from"../chunks/zNh6Oe5P.js";import{p as Te,E as Ne,o as De,l as w,s as r,m as a,g as e,y as T,a as Se,f as S,k as l,j as c,r as u,c as D,t as Q,v as fe,x as $e,u as j,z as Re,e as ye,d as Fe,h as ze,b as Be,$ as Oe,q as Ce}from"../chunks/sWNKMed7.js";import{a as Ae,i as V,s as Ie}from"../chunks/Ccl3fNd2.js";import{r as X,b as Pe,g as oe}from"../chunks/C1jihKTd.js";import{e as He,i as Je}from"../chunks/BuuPrWMc.js";import{b as ve,a as Ee}from"../chunks/CLagxtgo.js";import{p as Ve}from"../chunks/D4Caz1gY.js";import{M as Ye}from"../chunks/BbG_gKT3.js";import{e as ae}from"../chunks/BZiHL9L3.js";import{F as Ke}from"../chunks/CLc1WuAh.js";import{e as We,a as he}from"../chunks/Cp3IZoXB.js";import{U as Qe}from"../chunks/Gp00ljCM.js";import{D as Xe}from"../chunks/ujTHIzr1.js";import{P as Ze}from"../chunks/DL-alMNb.js";import{t as J}from"../chunks/BZUCTtPY.js";import{k as et,g as tt,c as rt,m as ot,p as at}from"../chunks/Qi7G5Z5O.js";import{D as st,G as nt,a as it}from"../chunks/C98FZ6Lp.js";import{E as lt}from"../chunks/xti5lSds.js";import{E as dt}from"../chunks/DmcacarF.js";import{S as ct}from"../chunks/kSv08Ec5.js";import"../chunks/CcBDT0Mv.js";var ut=S('

'),pt=S('

Loading...

'),mt=S(""),gt=S(''),bt=S('

Webhook secret will be automatically generated

'),ft=S('
'),yt=S('

Create Repository

');function vt(se,ne){Te(ne,!1);const[ie,le]=Ie(),p=()=>Ae(We,"$eagerCache",ie),R=a(),k=a(),G=a(),x=a(),C=Ne();let y=a(!1),g=a(""),b=a("github"),o=a({name:"",owner:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin"}),F=a(!0),d=a(!0);async function f(){if(!p().loaded.credentials&&!p().loading.credentials)try{await he.getCredentials()}catch(i){r(g,ae(i))}}function _(i){r(b,i.detail),T(o,e(o).credentials_name="")}function P(){if(e(o).credentials_name){const i=e(R).find(A=>A.name===e(o).credentials_name);i&&i.forge_type&&r(b,i.forge_type)}}function E(){const i=new Uint8Array(32);return crypto.getRandomValues(i),Array.from(i,A=>A.toString(16).padStart(2,"0")).join("")}De(()=>{f()});async function de(){if(!e(o).name?.trim()){r(g,"Repository name is required");return}if(!e(o).owner?.trim()){r(g,"Repository owner is required");return}if(!e(o).credentials_name){r(g,"Please select credentials");return}try{r(y,!0),r(g,"");const i={...e(o),install_webhook:e(F),auto_generate_secret:e(d)};C("submit",i)}catch(i){r(g,ae(i)),r(y,!1)}}w(()=>p(),()=>{r(R,p().credentials)}),w(()=>p(),()=>{r(k,p().loading.credentials)}),w(()=>(e(R),e(b)),()=>{r(G,e(R).filter(i=>e(b)?i.forge_type===e(b):!0))}),w(()=>e(d),()=>{e(d)?T(o,e(o).webhook_secret=E()):e(d)||T(o,e(o).webhook_secret="")}),w(()=>(e(o),e(d)),()=>{r(x,e(o).name?.trim()!==""&&e(o).owner?.trim()!==""&&e(o).credentials_name!==""&&(e(d)||e(o).webhook_secret?.trim()!==""))}),Se(),Me(),Ye(se,{$$events:{close:()=>C("close")},children:(i,A)=>{var M=yt(),Z=l(c(M),2);{var ce=v=>{var h=ut(),I=c(h),W=c(I,!0);u(I),u(h),Q(()=>fe(W,e(g))),D(v,h)};V(Z,v=>{e(g)&&v(ce)})}var ue=l(Z,2);{var pe=v=>{var h=pt();D(v,h)},me=v=>{var h=ft(),I=c(h);Ke(I,{get selectedForgeType(){return e(b)},set selectedForgeType(n){r(b,n)},$$events:{select:_},$$legacy:!0});var W=l(I,2),ee=l(c(W),2);X(ee),u(W);var L=l(W,2),N=l(c(L),2);X(N),u(L);var z=l(L,2),B=l(c(z),2);Q(()=>{e(o),$e(()=>{e(G)})});var O=c(B);O.value=O.__value="";var ge=l(O);He(ge,1,()=>e(G),Je,(n,m)=>{var U=mt(),Le=c(U);u(U);var xe={};Q(()=>{fe(Le,`${e(m),j(()=>e(m).name)??""} (${e(m),j(()=>e(m).endpoint?.name)??""})`),xe!==(xe=(e(m),j(()=>e(m).name)))&&(U.value=(U.__value=(e(m),j(()=>e(m).name)))??"")}),D(n,U)}),u(B),u(z);var H=l(z,2),Y=l(c(H),2);Q(()=>{e(o),$e(()=>{})});var K=c(Y);K.value=K.__value="roundrobin";var te=l(K);te.value=te.__value="pack",u(Y),u(H);var t=l(H,2),s=c(t),re=c(s);X(re),Re(2),u(s);var $=l(s,2),q=c($),_e=c(q);X(_e),Re(2),u(q);var qe=l(q,2);{var Ue=n=>{var m=gt();X(m),ve(m,()=>e(o).webhook_secret,U=>T(o,e(o).webhook_secret=U)),D(n,m)},je=n=>{var m=bt();D(n,m)};V(qe,n=>{e(d)?n(je,!1):n(Ue)})}u($),u(t);var we=l(t,2),ke=c(we),be=l(ke,2),Ge=c(be,!0);u(be),u(we),u(h),Q(()=>{be.disabled=e(y)||e(k)||!e(x),fe(Ge,e(y)?"Creating...":"Create Repository")}),ve(ee,()=>e(o).name,n=>T(o,e(o).name=n)),ve(N,()=>e(o).owner,n=>T(o,e(o).owner=n)),Pe(B,()=>e(o).credentials_name,n=>T(o,e(o).credentials_name=n)),ye("change",B,P),Pe(Y,()=>e(o).pool_balancer_type,n=>T(o,e(o).pool_balancer_type=n)),Ee(re,()=>e(F),n=>r(F,n)),Ee(_e,()=>e(d),n=>r(d,n)),ye("click",ke,()=>C("close")),ye("submit",h,Ve(de)),D(v,h)};V(ue,v=>{e(y)?v(pe):v(me,!1)})}u(M),D(i,M)},$$slots:{default:!0}}),Fe(),le()}var ht=S('
',1);function Nt(se,ne){Te(ne,!1);const[ie,le]=Ie(),p=()=>Ae(We,"$eagerCache",ie),R=a(),k=a(),G=a();let x=a([]),C=a(!0),y=a(""),g=a(""),b=a(!1),o=a(!1),F=a(!1),d=a(null),f=a(null),_=a(1),P=a(25),E=a(1);De(async()=>{try{r(C,!0);const t=await he.getRepositories();t&&Array.isArray(t)&&r(x,t)}catch(t){console.error("Failed to load repositories:",t),r(y,t instanceof Error?t.message:"Failed to load repositories")}finally{r(C,!1)}});async function de(){try{await he.retryResource("repositories")}catch(t){console.error("Retry failed:",t)}}function i(t){r(d,t),r(o,!0)}function A(t){r(f,t),r(F,!0)}function M(){r(b,!1),r(o,!1),r(F,!1),r(d,null),r(f,null),r(y,"")}async function Z(t){try{r(y,"");const s=t.detail,re={name:s.name,owner:s.owner,credentials_name:s.credentials_name,webhook_secret:s.webhook_secret},$=await oe.createRepository(re);if(s.install_webhook&&$.id)try{await oe.installRepoWebhook($.id),J.success("Webhook Installed",`Webhook for repository ${$.owner}/${$.name} has been installed successfully.`)}catch(q){console.warn("Repository created but webhook installation failed:",q),J.error("Webhook Installation Failed",q instanceof Error?q.message:"Failed to install webhook. You can try installing it manually from the repository details page.")}r(b,!1),J.success("Repository Created",`Repository ${$.owner}/${$.name} has been created successfully.`)}catch(s){throw r(y,ae(s)),s}}async function ce(t){if(e(d))try{await oe.updateRepository(e(d).id,t),J.success("Repository Updated",`Repository ${e(d).owner}/${e(d).name} has been updated successfully.`),M()}catch(s){throw s}}async function ue(){if(e(f))try{r(y,""),await oe.deleteRepository(e(f).id),J.success("Repository Deleted",`Repository ${e(f).owner}/${e(f).name} has been deleted successfully.`)}catch(t){const s=ae(t);J.error("Delete Failed",s)}finally{M()}}const pe=[{key:"repository",title:"Repository",cellComponent:lt,cellProps:{entityType:"repository",showOwner:!0}},{key:"endpoint",title:"Endpoint",cellComponent:dt},{key:"credentials",title:"Credentials",cellComponent:nt,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:ct,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:it}],me={entityType:"repository",primaryText:{field:"name",isClickable:!0,href:"/repositories/{id}",showOwner:!0},customInfo:[{icon:t=>tt(t?.endpoint?.endpoint_type||"unknown"),text:t=>t?.endpoint?.name||"Unknown"}],badges:[{type:"custom",value:t=>et(t)}],actions:[{type:"edit",handler:t=>i(t)},{type:"delete",handler:t=>A(t)}]};function v(t){r(g,t.detail.term),r(_,1)}function h(t){r(_,t.detail.page)}function I(t){const s=rt(t.detail.perPage);r(P,s.newPerPage),r(_,s.newCurrentPage)}function W(t){i(t.detail.item)}function ee(t){A(t.detail.item)}w(()=>(e(x),p()),()=>{(!e(x).length||p().loaded.repositories)&&r(x,p().repositories)}),w(()=>p(),()=>{r(C,p().loading.repositories)}),w(()=>p(),()=>{r(R,p().errorMessages.repositories)}),w(()=>(e(x),e(g)),()=>{r(k,ot(e(x),e(g)))}),w(()=>(e(E),e(k),e(P),e(_)),()=>{r(E,Math.ceil(e(k).length/e(P))),e(_)>e(E)&&e(E)>0&&r(_,e(E))}),w(()=>(e(k),e(_),e(P)),()=>{r(G,at(e(k),e(_),e(P)))}),Se(),Me();var L=ht();ze(t=>{Oe.title="Repositories - GARM"});var N=Be(L),z=c(N);Ze(z,{title:"Repositories",description:"Manage your GitHub repositories and their runners",actionLabel:"Add Repository",$$events:{action:()=>{r(b,!0)}}});var B=l(z,2);{let t=Ce(()=>e(R)||e(y)),s=Ce(()=>!!e(R));st(B,{get columns(){return pe},get data(){return e(G)},get loading(){return e(C)},get error(){return e(t)},get searchTerm(){return e(g)},searchPlaceholder:"Search repositories by name or owner...",get currentPage(){return e(_)},get perPage(){return e(P)},get totalPages(){return e(E)},get totalItems(){return e(k),j(()=>e(k).length)},itemName:"repositories",emptyIconType:"building",get showRetry(){return e(s)},get mobileCardConfig(){return me},$$events:{search:v,pageChange:h,perPageChange:I,retry:de,edit:W,delete:ee}})}u(N);var O=l(N,2);{var ge=t=>{vt(t,{$$events:{close:()=>r(b,!1),submit:Z}})};V(O,t=>{e(b)&&t(ge)})}var H=l(O,2);{var Y=t=>{Qe(t,{get entity(){return e(d)},entityType:"repository",$$events:{close:M,submit:s=>ce(s.detail)}})};V(H,t=>{e(o)&&e(d)&&t(Y)})}var K=l(H,2);{var te=t=>{Xe(t,{title:"Delete Repository",message:"Are you sure you want to delete this repository? This action cannot be undone and will remove all associated pools and runners.",get itemName(){return`${e(f),j(()=>e(f).owner)??""}/${e(f),j(()=>e(f).name)??""}`},$$events:{close:M,confirm:ue}})};V(K,t=>{e(F)&&e(f)&&t(te)})}D(se,L),Fe(),le()}export{Nt as component}; +import"../chunks/DsnmJJEf.js";import{i as Me}from"../chunks/DT0EGONV.js";import{p as Te,E as Ne,o as De,l as w,s as r,m as a,g as e,w as T,a as Se,f as S,k as l,j as c,r as u,c as D,t as Q,v as fe,y as $e,u as j,z as Re,e as ye,d as Fe,h as ze,b as Be,$ as Oe,q as Ce}from"../chunks/CRKWEg6v.js";import{a as Ae,i as V,s as Ie}from"../chunks/e1m7WRO5.js";import{r as X,b as Pe,g as oe}from"../chunks/PY0OOjWY.js";import{e as He,i as Je}from"../chunks/C73ZVvpW.js";import{b as ve,a as Ee}from"../chunks/B3a35v7J.js";import{p as Ve}from"../chunks/D4Caz1gY.js";import{M as Ye}from"../chunks/XtdMJsQa.js";import{e as ae}from"../chunks/BZiHL9L3.js";import{F as Ke}from"../chunks/DNitrHo2.js";import{e as We,a as he}from"../chunks/BoOhv-0Q.js";import{U as Qe}from"../chunks/CfzLSqae.js";import{D as Xe}from"../chunks/DJ85e5Cv.js";import{P as Ze}from"../chunks/MvuzmHPl.js";import{t as J}from"../chunks/D6DjlyIQ.js";import{k as et,g as tt,c as rt,m as ot,p as at}from"../chunks/BK-OTA7g.js";import{D as st,G as nt,a as it}from"../chunks/Co9OVDfV.js";import{E as lt}from"../chunks/QGyLbggC.js";import{E as dt}from"../chunks/C0ude0fo.js";import{S as ct}from"../chunks/BVEuSEJl.js";import"../chunks/BBO7sjS5.js";var ut=S('

'),pt=S('

Loading...

'),mt=S(""),gt=S(''),bt=S('

Webhook secret will be automatically generated

'),ft=S('
'),yt=S('

Create Repository

');function vt(se,ne){Te(ne,!1);const[ie,le]=Ie(),p=()=>Ae(We,"$eagerCache",ie),R=a(),k=a(),G=a(),x=a(),C=Ne();let y=a(!1),g=a(""),b=a("github"),o=a({name:"",owner:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin"}),F=a(!0),d=a(!0);async function f(){if(!p().loaded.credentials&&!p().loading.credentials)try{await he.getCredentials()}catch(i){r(g,ae(i))}}function _(i){r(b,i.detail),T(o,e(o).credentials_name="")}function P(){if(e(o).credentials_name){const i=e(R).find(A=>A.name===e(o).credentials_name);i&&i.forge_type&&r(b,i.forge_type)}}function E(){const i=new Uint8Array(32);return crypto.getRandomValues(i),Array.from(i,A=>A.toString(16).padStart(2,"0")).join("")}De(()=>{f()});async function de(){if(!e(o).name?.trim()){r(g,"Repository name is required");return}if(!e(o).owner?.trim()){r(g,"Repository owner is required");return}if(!e(o).credentials_name){r(g,"Please select credentials");return}try{r(y,!0),r(g,"");const i={...e(o),install_webhook:e(F),auto_generate_secret:e(d)};C("submit",i)}catch(i){r(g,ae(i)),r(y,!1)}}w(()=>p(),()=>{r(R,p().credentials)}),w(()=>p(),()=>{r(k,p().loading.credentials)}),w(()=>(e(R),e(b)),()=>{r(G,e(R).filter(i=>e(b)?i.forge_type===e(b):!0))}),w(()=>e(d),()=>{e(d)?T(o,e(o).webhook_secret=E()):e(d)||T(o,e(o).webhook_secret="")}),w(()=>(e(o),e(d)),()=>{r(x,e(o).name?.trim()!==""&&e(o).owner?.trim()!==""&&e(o).credentials_name!==""&&(e(d)||e(o).webhook_secret?.trim()!==""))}),Se(),Me(),Ye(se,{$$events:{close:()=>C("close")},children:(i,A)=>{var M=yt(),Z=l(c(M),2);{var ce=v=>{var h=ut(),I=c(h),W=c(I,!0);u(I),u(h),Q(()=>fe(W,e(g))),D(v,h)};V(Z,v=>{e(g)&&v(ce)})}var ue=l(Z,2);{var pe=v=>{var h=pt();D(v,h)},me=v=>{var h=ft(),I=c(h);Ke(I,{get selectedForgeType(){return e(b)},set selectedForgeType(n){r(b,n)},$$events:{select:_},$$legacy:!0});var W=l(I,2),ee=l(c(W),2);X(ee),u(W);var L=l(W,2),N=l(c(L),2);X(N),u(L);var z=l(L,2),B=l(c(z),2);Q(()=>{e(o),$e(()=>{e(G)})});var O=c(B);O.value=O.__value="";var ge=l(O);He(ge,1,()=>e(G),Je,(n,m)=>{var U=mt(),Le=c(U);u(U);var xe={};Q(()=>{fe(Le,`${e(m),j(()=>e(m).name)??""} (${e(m),j(()=>e(m).endpoint?.name)??""})`),xe!==(xe=(e(m),j(()=>e(m).name)))&&(U.value=(U.__value=(e(m),j(()=>e(m).name)))??"")}),D(n,U)}),u(B),u(z);var H=l(z,2),Y=l(c(H),2);Q(()=>{e(o),$e(()=>{})});var K=c(Y);K.value=K.__value="roundrobin";var te=l(K);te.value=te.__value="pack",u(Y),u(H);var t=l(H,2),s=c(t),re=c(s);X(re),Re(2),u(s);var $=l(s,2),q=c($),_e=c(q);X(_e),Re(2),u(q);var qe=l(q,2);{var Ue=n=>{var m=gt();X(m),ve(m,()=>e(o).webhook_secret,U=>T(o,e(o).webhook_secret=U)),D(n,m)},je=n=>{var m=bt();D(n,m)};V(qe,n=>{e(d)?n(je,!1):n(Ue)})}u($),u(t);var we=l(t,2),ke=c(we),be=l(ke,2),Ge=c(be,!0);u(be),u(we),u(h),Q(()=>{be.disabled=e(y)||e(k)||!e(x),fe(Ge,e(y)?"Creating...":"Create Repository")}),ve(ee,()=>e(o).name,n=>T(o,e(o).name=n)),ve(N,()=>e(o).owner,n=>T(o,e(o).owner=n)),Pe(B,()=>e(o).credentials_name,n=>T(o,e(o).credentials_name=n)),ye("change",B,P),Pe(Y,()=>e(o).pool_balancer_type,n=>T(o,e(o).pool_balancer_type=n)),Ee(re,()=>e(F),n=>r(F,n)),Ee(_e,()=>e(d),n=>r(d,n)),ye("click",ke,()=>C("close")),ye("submit",h,Ve(de)),D(v,h)};V(ue,v=>{e(y)?v(pe):v(me,!1)})}u(M),D(i,M)},$$slots:{default:!0}}),Fe(),le()}var ht=S('
',1);function Nt(se,ne){Te(ne,!1);const[ie,le]=Ie(),p=()=>Ae(We,"$eagerCache",ie),R=a(),k=a(),G=a();let x=a([]),C=a(!0),y=a(""),g=a(""),b=a(!1),o=a(!1),F=a(!1),d=a(null),f=a(null),_=a(1),P=a(25),E=a(1);De(async()=>{try{r(C,!0);const t=await he.getRepositories();t&&Array.isArray(t)&&r(x,t)}catch(t){console.error("Failed to load repositories:",t),r(y,t instanceof Error?t.message:"Failed to load repositories")}finally{r(C,!1)}});async function de(){try{await he.retryResource("repositories")}catch(t){console.error("Retry failed:",t)}}function i(t){r(d,t),r(o,!0)}function A(t){r(f,t),r(F,!0)}function M(){r(b,!1),r(o,!1),r(F,!1),r(d,null),r(f,null),r(y,"")}async function Z(t){try{r(y,"");const s=t.detail,re={name:s.name,owner:s.owner,credentials_name:s.credentials_name,webhook_secret:s.webhook_secret},$=await oe.createRepository(re);if(s.install_webhook&&$.id)try{await oe.installRepoWebhook($.id),J.success("Webhook Installed",`Webhook for repository ${$.owner}/${$.name} has been installed successfully.`)}catch(q){console.warn("Repository created but webhook installation failed:",q),J.error("Webhook Installation Failed",q instanceof Error?q.message:"Failed to install webhook. You can try installing it manually from the repository details page.")}r(b,!1),J.success("Repository Created",`Repository ${$.owner}/${$.name} has been created successfully.`)}catch(s){throw r(y,ae(s)),s}}async function ce(t){if(e(d))try{await oe.updateRepository(e(d).id,t),J.success("Repository Updated",`Repository ${e(d).owner}/${e(d).name} has been updated successfully.`),M()}catch(s){throw s}}async function ue(){if(e(f))try{r(y,""),await oe.deleteRepository(e(f).id),J.success("Repository Deleted",`Repository ${e(f).owner}/${e(f).name} has been deleted successfully.`)}catch(t){const s=ae(t);J.error("Delete Failed",s)}finally{M()}}const pe=[{key:"repository",title:"Repository",cellComponent:lt,cellProps:{entityType:"repository",showOwner:!0}},{key:"endpoint",title:"Endpoint",cellComponent:dt},{key:"credentials",title:"Credentials",cellComponent:nt,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:ct,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:it}],me={entityType:"repository",primaryText:{field:"name",isClickable:!0,href:"/repositories/{id}",showOwner:!0},customInfo:[{icon:t=>tt(t?.endpoint?.endpoint_type||"unknown"),text:t=>t?.endpoint?.name||"Unknown"}],badges:[{type:"custom",value:t=>et(t)}],actions:[{type:"edit",handler:t=>i(t)},{type:"delete",handler:t=>A(t)}]};function v(t){r(g,t.detail.term),r(_,1)}function h(t){r(_,t.detail.page)}function I(t){const s=rt(t.detail.perPage);r(P,s.newPerPage),r(_,s.newCurrentPage)}function W(t){i(t.detail.item)}function ee(t){A(t.detail.item)}w(()=>(e(x),p()),()=>{(!e(x).length||p().loaded.repositories)&&r(x,p().repositories)}),w(()=>p(),()=>{r(C,p().loading.repositories)}),w(()=>p(),()=>{r(R,p().errorMessages.repositories)}),w(()=>(e(x),e(g)),()=>{r(k,ot(e(x),e(g)))}),w(()=>(e(E),e(k),e(P),e(_)),()=>{r(E,Math.ceil(e(k).length/e(P))),e(_)>e(E)&&e(E)>0&&r(_,e(E))}),w(()=>(e(k),e(_),e(P)),()=>{r(G,at(e(k),e(_),e(P)))}),Se(),Me();var L=ht();ze(t=>{Oe.title="Repositories - GARM"});var N=Be(L),z=c(N);Ze(z,{title:"Repositories",description:"Manage your GitHub repositories and their runners",actionLabel:"Add Repository",$$events:{action:()=>{r(b,!0)}}});var B=l(z,2);{let t=Ce(()=>e(R)||e(y)),s=Ce(()=>!!e(R));st(B,{get columns(){return pe},get data(){return e(G)},get loading(){return e(C)},get error(){return e(t)},get searchTerm(){return e(g)},searchPlaceholder:"Search repositories by name or owner...",get currentPage(){return e(_)},get perPage(){return e(P)},get totalPages(){return e(E)},get totalItems(){return e(k),j(()=>e(k).length)},itemName:"repositories",emptyIconType:"building",get showRetry(){return e(s)},get mobileCardConfig(){return me},$$events:{search:v,pageChange:h,perPageChange:I,retry:de,edit:W,delete:ee}})}u(N);var O=l(N,2);{var ge=t=>{vt(t,{$$events:{close:()=>r(b,!1),submit:Z}})};V(O,t=>{e(b)&&t(ge)})}var H=l(O,2);{var Y=t=>{Qe(t,{get entity(){return e(d)},entityType:"repository",$$events:{close:M,submit:s=>ce(s.detail)}})};V(H,t=>{e(o)&&e(d)&&t(Y)})}var K=l(H,2);{var te=t=>{Xe(t,{title:"Delete Repository",message:"Are you sure you want to delete this repository? This action cannot be undone and will remove all associated pools and runners.",get itemName(){return`${e(f),j(()=>e(f).owner)??""}/${e(f),j(()=>e(f).name)??""}`},$$events:{close:M,confirm:ue}})};V(K,t=>{e(F)&&e(f)&&t(te)})}D(se,L),Fe(),le()}export{Nt as component}; diff --git a/webapp/assets/_app/immutable/nodes/16.CMigEa5y.js b/webapp/assets/_app/immutable/nodes/16.BrWGHvkD.js similarity index 76% rename from webapp/assets/_app/immutable/nodes/16.CMigEa5y.js rename to webapp/assets/_app/immutable/nodes/16.BrWGHvkD.js index 756354a9..59210932 100644 --- a/webapp/assets/_app/immutable/nodes/16.CMigEa5y.js +++ b/webapp/assets/_app/immutable/nodes/16.BrWGHvkD.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as ze}from"../chunks/zNh6Oe5P.js";import{p as He,o as je,A as Ge,l as Oe,a as Ve,f as B,h as Je,b as C,t as j,c as x,d as Ke,u as n,n as de,v as ce,g as e,m as l,j as u,k as d,s as r,$ as Qe,r as f,y as Xe,B as pe,q as m}from"../chunks/sWNKMed7.js";import{i as g,s as Ye,a as Ze}from"../chunks/Ccl3fNd2.js";import{d as A,c as et,g as h}from"../chunks/C1jihKTd.js";import{p as tt}from"../chunks/DQxjqDvj.js";import{g as ue}from"../chunks/H5nVv3Is.js";import{U as ot}from"../chunks/Gp00ljCM.js";import{D as fe}from"../chunks/ujTHIzr1.js";import{E as at,P as rt,a as st}from"../chunks/y6VQBV4I.js";import{D as nt,I as it}from"../chunks/C50dSO3X.js";import{g as me}from"../chunks/Qi7G5Z5O.js";import{e as S}from"../chunks/BZiHL9L3.js";import{W as lt}from"../chunks/BgwfiEwe.js";import{C as dt}from"../chunks/DSOLL96f.js";import{w as G}from"../chunks/BuuPrWMc.js";import{t as w}from"../chunks/BZUCTtPY.js";var ct=B('

Loading repository...

'),pt=B('

'),ut=B(" ",1),ft=B(' ',1);function kt(ye,ve){He(ve,!1);const[ge,he]=Ye(),O=()=>Ze(tt,"$page",ge),I=l();let t=l(null),c=l([]),y=l([]),F=l(!0),E=l(""),D=l(!1),P=l(!1),R=l(!1),T=l(!1),p=l(null),M=null,_=l();async function V(){if(e(I))try{r(F,!0),r(E,"");const[o,a,s]=await Promise.all([h.getRepository(e(I)),h.listRepositoryPools(e(I)).catch(()=>[]),h.listRepositoryInstances(e(I)).catch(()=>[])]);r(t,o),r(c,a),r(y,s)}catch(o){r(E,S(o))}finally{r(F,!1)}}function _e(o,a){const{events:s}=o;return{...a,events:s}}async function $e(o){if(e(t))try{await h.updateRepository(e(t).id,o),await V(),w.success("Repository Updated",`Repository ${e(t).owner}/${e(t).name} has been updated successfully.`),r(D,!1)}catch(a){throw a}}async function be(){if(e(t)){try{await h.deleteRepository(e(t).id),ue(A("/repositories"))}catch(o){const a=S(o);w.error("Delete Failed",a)}r(P,!1)}}async function xe(){if(e(p))try{await h.deleteInstance(e(p).name),w.success("Instance Deleted",`Instance ${e(p).name} has been deleted successfully.`),r(R,!1),r(p,null)}catch(o){const a=S(o);w.error("Delete Failed",a),r(R,!1),r(p,null)}}function we(o){r(p,o),r(R,!0)}function Ie(){r(T,!0)}async function Re(o){try{if(!e(t))return;await h.createRepositoryPool(e(t).id,o.detail),w.success("Pool Created",`Pool has been created successfully for repository ${e(t).owner}/${e(t).name}.`),r(T,!1)}catch(a){const s=S(a);w.error("Pool Creation Failed",s)}}function J(){e(_)&&Xe(_,e(_).scrollTop=e(_).scrollHeight)}function Ee(o){if(o.operation==="update"){const a=o.payload;if(e(t)&&a.id===e(t).id){const s=e(t).events?.length||0,i=a.events?.length||0;r(t,_e(e(t),a)),i>s&&setTimeout(()=>{J()},100)}}else if(o.operation==="delete"){const a=o.payload.id||o.payload;e(t)&&e(t).id===a&&ue(A("/repositories"))}}function De(o){if(!e(t))return;const a=o.payload;if(a.repo_id===e(t).id){if(o.operation==="create")r(c,[...e(c),a]);else if(o.operation==="update")r(c,e(c).map(s=>s.id===a.id?a:s));else if(o.operation==="delete"){const s=a.id||a;r(c,e(c).filter(i=>i.id!==s))}}}function Pe(o){if(!e(t)||!e(c))return;const a=o.payload;if(e(c).some(i=>i.id===a.pool_id)){if(o.operation==="create")r(y,[...e(y),a]);else if(o.operation==="update")r(y,e(y).map(i=>i.id===a.id?a:i));else if(o.operation==="delete"){const i=a.id||a;r(y,e(y).filter(W=>W.id!==i))}}}je(()=>{V().then(()=>{e(t)?.events?.length&&setTimeout(()=>{J()},100)});const o=G.subscribeToEntity("repository",["update","delete"],Ee),a=G.subscribeToEntity("pool",["create","update","delete"],De),s=G.subscribeToEntity("instance",["create","update","delete"],Pe);M=()=>{o(),a(),s()}}),Ge(()=>{M&&(M(),M=null)}),Oe(()=>O(),()=>{r(I,O().params.id)}),Ve(),ze();var K=ft();Je(o=>{j(()=>Qe.title=`${e(t),n(()=>e(t)?`${e(t).name} - Repository Details`:"Repository Details")??""} - GARM`)});var U=C(K),L=u(U),Q=u(L),N=u(Q),Te=u(N);f(N);var X=d(N,2),Y=u(X),Z=d(u(Y),2),Me=u(Z,!0);f(Z),f(Y),f(X),f(Q),f(L);var ke=d(L,2);{var Ce=o=>{var a=ct();x(o,a)},Ae=o=>{var a=pe(),s=C(a);{var i=$=>{var b=pt(),k=u(b),q=u(k,!0);f(k),f(b),j(()=>ce(q,e(E))),x($,b)},W=$=>{var b=pe(),k=C(b);{var q=z=>{var ae=ut(),re=C(ae);{let v=m(()=>(e(t),n(()=>e(t).name||"Repository"))),H=m(()=>(e(t),n(()=>e(t).owner))),We=m(()=>(e(t),n(()=>e(t).endpoint?.name))),qe=m(()=>(de(me),e(t),n(()=>me(e(t).endpoint?.endpoint_type||"unknown"))));nt(re,{get title(){return e(v)},get subtitle(){return`Owner: ${e(H)??""} • Endpoint: ${e(We)??""}`},get forgeIcon(){return e(qe)},onEdit:()=>r(D,!0),onDelete:()=>r(P,!0)})}var se=d(re,2);at(se,{get entity(){return e(t)},entityType:"repository"});var ne=d(se,2);{let v=m(()=>(e(t),n(()=>e(t).id||"")));lt(ne,{entityType:"repository",get entityId(){return e(v)},get entityName(){return`${e(t),n(()=>e(t).owner)??""}/${e(t),n(()=>e(t).name)??""}`}})}var ie=d(ne,2);{let v=m(()=>(e(t),n(()=>e(t).id||"")));rt(ie,{get pools(){return e(c)},entityType:"repository",get entityId(){return e(v)},get entityName(){return`${e(t),n(()=>e(t).owner)??""}/${e(t),n(()=>e(t).name)??""}`},$$events:{addPool:Ie}})}var le=d(ie,2);it(le,{get instances(){return e(y)},entityType:"repository",onDeleteInstance:we});var Ne=d(le,2);{let v=m(()=>(e(t),n(()=>e(t)?.events)));st(Ne,{get events(){return e(v)},get eventsContainer(){return e(_)},set eventsContainer(H){r(_,H)},$$legacy:!0})}x(z,ae)};g(k,z=>{e(t)&&z(q)},!0)}x($,b)};g(s,$=>{e(E)?$(i):$(W,!1)},!0)}x(o,a)};g(ke,o=>{e(F)?o(Ce):o(Ae,!1)})}f(U);var ee=d(U,2);{var Se=o=>{ot(o,{get entity(){return e(t)},entityType:"repository",$$events:{close:()=>r(D,!1),submit:a=>$e(a.detail)}})};g(ee,o=>{e(D)&&e(t)&&o(Se)})}var te=d(ee,2);{var Be=o=>{{let a=m(()=>(e(t),n(()=>`${e(t).owner}/${e(t).name}`)));fe(o,{title:"Delete Repository",message:"Are you sure you want to delete this repository? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a)},$$events:{close:()=>r(P,!1),confirm:be}})}};g(te,o=>{e(P)&&e(t)&&o(Be)})}var oe=d(te,2);{var Fe=o=>{fe(o,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(p),n(()=>e(p).name)},$$events:{close:()=>{r(R,!1),r(p,null)},confirm:xe}})};g(oe,o=>{e(R)&&e(p)&&o(Fe)})}var Ue=d(oe,2);{var Le=o=>{{let a=m(()=>(e(t),n(()=>e(t).id||"")));dt(o,{initialEntityType:"repository",get initialEntityId(){return e(a)},$$events:{close:()=>r(T,!1),submit:Re}})}};g(Ue,o=>{e(T)&&e(t)&&o(Le)})}j(o=>{et(Te,"href",o),ce(Me,(e(t),n(()=>e(t)?e(t).name:"Loading...")))},[()=>(de(A),n(()=>A("/repositories")))]),x(ye,K),Ke(),he()}export{kt as component}; +import"../chunks/DsnmJJEf.js";import{i as ze}from"../chunks/DT0EGONV.js";import{p as He,o as je,A as Ge,l as Oe,a as Ve,f as B,h as Je,b as C,t as j,c as w,d as Ke,u as n,n as de,v as ce,g as e,m as l,j as u,k as d,s as r,$ as Qe,r as f,w as Xe,B as pe,q as m}from"../chunks/CRKWEg6v.js";import{i as g,s as Ye,a as Ze}from"../chunks/e1m7WRO5.js";import{d as A,c as et,g as h}from"../chunks/PY0OOjWY.js";import{p as tt}from"../chunks/lXKAs5Tk.js";import{g as ue}from"../chunks/C-HmqlJ7.js";import{U as ot}from"../chunks/CfzLSqae.js";import{D as fe}from"../chunks/DJ85e5Cv.js";import{E as at,P as rt,a as st}from"../chunks/t7D7emdy.js";import{D as nt,I as it}from"../chunks/BO15iAaC.js";import{g as me}from"../chunks/BK-OTA7g.js";import{e as S}from"../chunks/BZiHL9L3.js";import{W as lt}from"../chunks/CeSGyYo5.js";import{C as dt}from"../chunks/CUjyd2pn.js";import{w as G}from"../chunks/C73ZVvpW.js";import{t as x}from"../chunks/D6DjlyIQ.js";var ct=B('

Loading repository...

'),pt=B('

'),ut=B(" ",1),ft=B(' ',1);function kt(ye,ve){He(ve,!1);const[ge,he]=Ye(),O=()=>Ze(tt,"$page",ge),I=l();let t=l(null),c=l([]),y=l([]),F=l(!0),E=l(""),D=l(!1),P=l(!1),R=l(!1),T=l(!1),p=l(null),M=null,_=l();async function V(){if(e(I))try{r(F,!0),r(E,"");const[o,a,s]=await Promise.all([h.getRepository(e(I)),h.listRepositoryPools(e(I)).catch(()=>[]),h.listRepositoryInstances(e(I)).catch(()=>[])]);r(t,o),r(c,a),r(y,s)}catch(o){r(E,S(o))}finally{r(F,!1)}}function _e(o,a){const{events:s}=o;return{...a,events:s}}async function $e(o){if(e(t))try{await h.updateRepository(e(t).id,o),await V(),x.success("Repository Updated",`Repository ${e(t).owner}/${e(t).name} has been updated successfully.`),r(D,!1)}catch(a){throw a}}async function be(){if(e(t)){try{await h.deleteRepository(e(t).id),ue(A("/repositories"))}catch(o){const a=S(o);x.error("Delete Failed",a)}r(P,!1)}}async function we(){if(e(p))try{await h.deleteInstance(e(p).name),x.success("Instance Deleted",`Instance ${e(p).name} has been deleted successfully.`),r(R,!1),r(p,null)}catch(o){const a=S(o);x.error("Delete Failed",a),r(R,!1),r(p,null)}}function xe(o){r(p,o),r(R,!0)}function Ie(){r(T,!0)}async function Re(o){try{if(!e(t))return;await h.createRepositoryPool(e(t).id,o.detail),x.success("Pool Created",`Pool has been created successfully for repository ${e(t).owner}/${e(t).name}.`),r(T,!1)}catch(a){const s=S(a);x.error("Pool Creation Failed",s)}}function J(){e(_)&&Xe(_,e(_).scrollTop=e(_).scrollHeight)}function Ee(o){if(o.operation==="update"){const a=o.payload;if(e(t)&&a.id===e(t).id){const s=e(t).events?.length||0,i=a.events?.length||0;r(t,_e(e(t),a)),i>s&&setTimeout(()=>{J()},100)}}else if(o.operation==="delete"){const a=o.payload.id||o.payload;e(t)&&e(t).id===a&&ue(A("/repositories"))}}function De(o){if(!e(t))return;const a=o.payload;if(a.repo_id===e(t).id){if(o.operation==="create")r(c,[...e(c),a]);else if(o.operation==="update")r(c,e(c).map(s=>s.id===a.id?a:s));else if(o.operation==="delete"){const s=a.id||a;r(c,e(c).filter(i=>i.id!==s))}}}function Pe(o){if(!e(t)||!e(c))return;const a=o.payload;if(e(c).some(i=>i.id===a.pool_id)){if(o.operation==="create")r(y,[...e(y),a]);else if(o.operation==="update")r(y,e(y).map(i=>i.id===a.id?a:i));else if(o.operation==="delete"){const i=a.id||a;r(y,e(y).filter(W=>W.id!==i))}}}je(()=>{V().then(()=>{e(t)?.events?.length&&setTimeout(()=>{J()},100)});const o=G.subscribeToEntity("repository",["update","delete"],Ee),a=G.subscribeToEntity("pool",["create","update","delete"],De),s=G.subscribeToEntity("instance",["create","update","delete"],Pe);M=()=>{o(),a(),s()}}),Ge(()=>{M&&(M(),M=null)}),Oe(()=>O(),()=>{r(I,O().params.id)}),Ve(),ze();var K=ft();Je(o=>{j(()=>Qe.title=`${e(t),n(()=>e(t)?`${e(t).name} - Repository Details`:"Repository Details")??""} - GARM`)});var U=C(K),L=u(U),Q=u(L),N=u(Q),Te=u(N);f(N);var X=d(N,2),Y=u(X),Z=d(u(Y),2),Me=u(Z,!0);f(Z),f(Y),f(X),f(Q),f(L);var ke=d(L,2);{var Ce=o=>{var a=ct();w(o,a)},Ae=o=>{var a=pe(),s=C(a);{var i=$=>{var b=pt(),k=u(b),q=u(k,!0);f(k),f(b),j(()=>ce(q,e(E))),w($,b)},W=$=>{var b=pe(),k=C(b);{var q=z=>{var ae=ut(),re=C(ae);{let v=m(()=>(e(t),n(()=>e(t).name||"Repository"))),H=m(()=>(e(t),n(()=>e(t).owner))),We=m(()=>(e(t),n(()=>e(t).endpoint?.name))),qe=m(()=>(de(me),e(t),n(()=>me(e(t).endpoint?.endpoint_type||"unknown"))));nt(re,{get title(){return e(v)},get subtitle(){return`Owner: ${e(H)??""} • Endpoint: ${e(We)??""}`},get forgeIcon(){return e(qe)},onEdit:()=>r(D,!0),onDelete:()=>r(P,!0)})}var se=d(re,2);at(se,{get entity(){return e(t)},entityType:"repository"});var ne=d(se,2);{let v=m(()=>(e(t),n(()=>e(t).id||"")));lt(ne,{entityType:"repository",get entityId(){return e(v)},get entityName(){return`${e(t),n(()=>e(t).owner)??""}/${e(t),n(()=>e(t).name)??""}`}})}var ie=d(ne,2);{let v=m(()=>(e(t),n(()=>e(t).id||"")));rt(ie,{get pools(){return e(c)},entityType:"repository",get entityId(){return e(v)},get entityName(){return`${e(t),n(()=>e(t).owner)??""}/${e(t),n(()=>e(t).name)??""}`},$$events:{addPool:Ie}})}var le=d(ie,2);it(le,{get instances(){return e(y)},entityType:"repository",onDeleteInstance:xe});var Ne=d(le,2);{let v=m(()=>(e(t),n(()=>e(t)?.events)));st(Ne,{get events(){return e(v)},get eventsContainer(){return e(_)},set eventsContainer(H){r(_,H)},$$legacy:!0})}w(z,ae)};g(k,z=>{e(t)&&z(q)},!0)}w($,b)};g(s,$=>{e(E)?$(i):$(W,!1)},!0)}w(o,a)};g(ke,o=>{e(F)?o(Ce):o(Ae,!1)})}f(U);var ee=d(U,2);{var Se=o=>{ot(o,{get entity(){return e(t)},entityType:"repository",$$events:{close:()=>r(D,!1),submit:a=>$e(a.detail)}})};g(ee,o=>{e(D)&&e(t)&&o(Se)})}var te=d(ee,2);{var Be=o=>{{let a=m(()=>(e(t),n(()=>`${e(t).owner}/${e(t).name}`)));fe(o,{title:"Delete Repository",message:"Are you sure you want to delete this repository? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(a)},$$events:{close:()=>r(P,!1),confirm:be}})}};g(te,o=>{e(P)&&e(t)&&o(Be)})}var oe=d(te,2);{var Fe=o=>{fe(o,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(p),n(()=>e(p).name)},$$events:{close:()=>{r(R,!1),r(p,null)},confirm:we}})};g(oe,o=>{e(R)&&e(p)&&o(Fe)})}var Ue=d(oe,2);{var Le=o=>{{let a=m(()=>(e(t),n(()=>e(t).id||"")));dt(o,{initialEntityType:"repository",get initialEntityId(){return e(a)},$$events:{close:()=>r(T,!1),submit:Re}})}};g(Ue,o=>{e(T)&&e(t)&&o(Le)})}j(o=>{et(Te,"href",o),ce(Me,(e(t),n(()=>e(t)?e(t).name:"Loading...")))},[()=>(de(A),n(()=>A("/repositories")))]),w(ye,K),Ke(),he()}export{kt as component}; diff --git a/webapp/assets/_app/immutable/nodes/17.B7J6N_0C.js b/webapp/assets/_app/immutable/nodes/17.B17yHekc.js similarity index 94% rename from webapp/assets/_app/immutable/nodes/17.B7J6N_0C.js rename to webapp/assets/_app/immutable/nodes/17.B17yHekc.js index 20c32af5..a2ac67c4 100644 --- a/webapp/assets/_app/immutable/nodes/17.B7J6N_0C.js +++ b/webapp/assets/_app/immutable/nodes/17.B17yHekc.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as kr}from"../chunks/zNh6Oe5P.js";import{p as wr,E as Hr,o as Sr,f as k,k as a,j as o,g as e,m as i,r as s,t as _,s as r,e as be,c as p,v as re,b as $r,z as fr,x as Se,D as We,d as Cr,l as q,a as Ur,h as jr,$ as Nr,q as Ke,u as yr,n as qr}from"../chunks/sWNKMed7.js";import{i as T,s as Or,a as Fr}from"../chunks/Ccl3fNd2.js";import{r as D,s as Qe,b as $e,g as E}from"../chunks/C1jihKTd.js";import{P as Br}from"../chunks/DL-alMNb.js";import{e as hr,i as xr}from"../chunks/BuuPrWMc.js";import{b as G,a as Jr}from"../chunks/CLagxtgo.js";import{p as Vr}from"../chunks/D4Caz1gY.js";import{M as Pr}from"../chunks/BbG_gKT3.js";import{J as Wr}from"../chunks/Dnums3pI.js";import{e as H}from"../chunks/BZiHL9L3.js";import{U as Kr}from"../chunks/Bc1EGV4A.js";import{D as Qr}from"../chunks/ujTHIzr1.js";import{D as Xr,G as Xe,a as Yr,L as Zr}from"../chunks/C98FZ6Lp.js";import{e as et,a as _r}from"../chunks/Cp3IZoXB.js";import{t as te}from"../chunks/BZUCTtPY.js";import{e as ve,h as rt}from"../chunks/Qi7G5Z5O.js";import{E as tt}from"../chunks/xti5lSds.js";import{E as at}from"../chunks/DmcacarF.js";import{S as ot}from"../chunks/kSv08Ec5.js";import{P as st}from"../chunks/CFUg1N_q.js";import"../chunks/CcBDT0Mv.js";var lt=k('

'),it=k('
'),dt=k(""),nt=k(''),ct=k('
'),ut=k(""),gt=k(''),bt=k('

Entity & Provider Configuration

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
',1),vt=k('
Creating...
'),pt=k('

Create New Scale Set

Scale sets are only available for GitHub endpoints

Entity Level *
');function mt(Ce,Pe){wr(Pe,!1);const ae=Hr();let O=i(!1),b=i(""),c=i(""),m=i([]),S=i([]),F=i(!1),$=i(!1),C=i(""),f=i(""),w=i(""),g=i(""),y=i(""),A=i(void 0),I=i(void 0),z=i(void 0),n=i("garm"),L=i("linux"),B=i("amd64"),oe=i(""),se=i(!0),U=i("{}");async function pe(){try{r($,!0),r(S,await E.listProviders())}catch(v){r(b,H(v))}finally{r($,!1)}}async function me(){if(e(c))try{switch(r(F,!0),r(m,[]),e(c)){case"repository":r(m,await E.listRepositories());break;case"organization":r(m,await E.listOrganizations());break;case"enterprise":r(m,await E.listEnterprises());break}}catch(v){r(b,H(v))}finally{r(F,!1)}}function le(v){e(c)!==v&&(r(c,v),r(f,""),me())}async function Me(){if(!e(C)||!e(c)||!e(f)||!e(w)||!e(g)||!e(y)){r(b,"Please fill in all required fields");return}try{r(O,!0),r(b,"");let v={};if(e(U).trim())try{v=JSON.parse(e(U))}catch{throw new Error("Invalid JSON in extra specs")}const J={name:e(C),provider_name:e(w),image:e(g),flavor:e(y),max_runners:e(A)||10,min_idle_runners:e(I)||0,runner_bootstrap_timeout:e(z)||20,runner_prefix:e(n),os_type:e(L),os_arch:e(B),"github-runner-group":e(oe)||void 0,enabled:e(se),extra_specs:e(U).trim()?v:void 0};let P;switch(e(c)){case"repository":P=await E.createRepositoryScaleSet(e(f),J);break;case"organization":P=await E.createOrganizationScaleSet(e(f),J);break;case"enterprise":P=await E.createEnterpriseScaleSet(e(f),J);break;default:throw new Error("Invalid entity level selected")}ae("submit",P)}catch(v){r(b,H(v))}finally{r(O,!1)}}Sr(()=>{pe()}),kr(),Pr(Ce,{$$events:{close:()=>ae("close")},children:(v,J)=>{var P=pt(),V=a(o(P),2),fe=o(V);{var Ee=u=>{var M=lt(),Z=o(M),ke=o(Z,!0);s(Z),s(M),_(()=>re(ke,e(b))),p(u,M)};T(fe,u=>{e(b)&&u(Ee)})}var W=a(fe,2),K=a(o(W),2);D(K),s(W);var Q=a(W,2),ye=o(Q),ie=a(o(ye),2),de=o(ie),X=a(de,2),he=a(X,2);s(ie),s(ye),s(Q);var ne=a(Q,2);{var Te=u=>{var M=bt(),Z=$r(M),ke=a(o(Z),2),Re=o(ke),De=o(Re),Mr=o(De);fr(),s(De);var Er=a(De,2);{var Tr=l=>{var h=it();p(l,h)},Rr=l=>{var h=nt();_(()=>{e(f),Se(()=>{e(c),e(m)})});var R=o(h),Ve=o(R);s(R),R.value=R.__value="";var ue=a(R);hr(ue,1,()=>e(m),xr,(j,x)=>{var N=dt(),we=o(N);{var Lr=ee=>{var ge=We();_(()=>re(ge,`${e(x).owner??""}/${e(x).name??""} (${e(x).endpoint?.name||"Unknown endpoint"})`)),p(ee,ge)},Gr=ee=>{var ge=We();_(()=>re(ge,`${e(x).name??""} (${e(x).endpoint?.name||"Unknown endpoint"})`)),p(ee,ge)};T(we,ee=>{e(c)==="repository"?ee(Lr):ee(Gr,!1)})}s(N);var mr={};_(()=>{mr!==(mr=e(x).id)&&(N.value=(N.__value=e(x).id)??"")}),p(j,N)}),s(h),_(()=>re(Ve,`Select a ${e(c)??""}`)),$e(h,()=>e(f),j=>r(f,j)),p(l,h)};T(Er,l=>{e(F)?l(Tr):l(Rr,!1)})}s(Re);var Ye=a(Re,2),Dr=a(o(Ye),2);{var Ar=l=>{var h=ct();p(l,h)},Ir=l=>{var h=gt();_(()=>{e(w),Se(()=>{e(S)})});var R=o(h);R.value=R.__value="";var Ve=a(R);hr(Ve,1,()=>e(S),xr,(ue,j)=>{var x=ut(),N=o(x,!0);s(x);var we={};_(()=>{re(N,e(j).name),we!==(we=e(j).name)&&(x.value=(x.__value=e(j).name)??"")}),p(ue,x)}),s(h),$e(h,()=>e(w),ue=>r(w,ue)),p(l,h)};T(Dr,l=>{e($)?l(Ar):l(Ir,!1)})}s(Ye),s(ke),s(Z);var Ae=a(Z,2),Ze=a(o(Ae),2),Ie=o(Ze),er=a(o(Ie),2);D(er),s(Ie);var ze=a(Ie,2),rr=a(o(ze),2);D(rr),s(ze);var Le=a(ze,2),Ge=a(o(Le),2);_(()=>{e(L),Se(()=>{})});var He=o(Ge);He.value=He.__value="linux";var tr=a(He);tr.value=tr.__value="windows",s(Ge),s(Le);var ar=a(Le,2),Ue=a(o(ar),2);_(()=>{e(B),Se(()=>{})});var je=o(Ue);je.value=je.__value="amd64";var or=a(je);or.value=or.__value="arm64",s(Ue),s(ar),s(Ze),s(Ae);var Ne=a(Ae,2),sr=a(o(Ne),2),qe=o(sr),lr=a(o(qe),2);D(lr),s(qe);var Oe=a(qe,2),ir=a(o(Oe),2);D(ir),s(Oe);var dr=a(Oe,2),nr=a(o(dr),2);D(nr),s(dr),s(sr),s(Ne);var cr=a(Ne,2),Fe=a(o(cr),2),Be=o(Fe),ur=a(o(Be),2);D(ur),s(Be);var gr=a(Be,2),br=a(o(gr),2);D(br),s(gr),s(Fe);var Je=a(Fe,2),zr=a(o(Je),2);Wr(zr,{rows:4,placeholder:"{}",get value(){return e(U)},set value(l){r(U,l)},$$legacy:!0}),s(Je);var vr=a(Je,2),pr=o(vr);D(pr),fr(2),s(vr),s(cr),_(l=>re(Mr,`${l??""} `),[()=>e(c).charAt(0).toUpperCase()+e(c).slice(1)]),G(er,()=>e(g),l=>r(g,l)),G(rr,()=>e(y),l=>r(y,l)),$e(Ge,()=>e(L),l=>r(L,l)),$e(Ue,()=>e(B),l=>r(B,l)),G(lr,()=>e(I),l=>r(I,l)),G(ir,()=>e(A),l=>r(A,l)),G(nr,()=>e(z),l=>r(z,l)),G(ur,()=>e(n),l=>r(n,l)),G(br,()=>e(oe),l=>r(oe,l)),Jr(pr,()=>e(se),l=>r(se,l)),p(u,M)};T(ne,u=>{e(c)&&u(Te)})}var xe=a(ne,2),_e=o(xe),t=a(_e,2),d=o(t);{var Y=u=>{var M=vt();p(u,M)},ce=u=>{var M=We("Create Scale Set");p(u,M)};T(d,u=>{e(O)?u(Y):u(ce,!1)})}s(t),s(xe),s(V),s(P),_(()=>{Qe(de,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(c)==="repository"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Qe(X,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(c)==="organization"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Qe(he,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(c)==="enterprise"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),t.disabled=e(O)||!e(C)||!e(c)||!e(f)||!e(w)||!e(g)||!e(y)}),G(K,()=>e(C),u=>r(C,u)),be("click",de,()=>le("repository")),be("click",X,()=>le("organization")),be("click",he,()=>le("enterprise")),be("click",_e,()=>ae("close")),be("submit",V,Vr(Me)),p(v,P)},$$slots:{default:!0}}),Cr()}const ft={};var yt=k('
'),ht=k('
',1);function Ot(Ce,Pe){wr(Pe,!1);const[ae,O]=Or(),b=()=>Fr(et,"$eagerCache",ae),c=i(),m=i(),S=i(),F=i();let $=i([]),C=i(!0),f=i(""),w=i(""),g=i(1),y=i(25),A=i(!1),I=i(!1),z=i(!1),n=i(null),L=i(!1);async function B(t){try{r(f,""),r(A,!1),te.success("Scale Set Created","Scale set has been created successfully.")}catch(d){throw r(f,H(d)),d}}async function oe(t){if(e(n))try{await E.updateScaleSet(e(n).id,t),te.success("Scale Set Updated",`Scale set ${e(n).name} has been updated successfully.`),r(I,!1),r(n,null)}catch(d){const Y=H(d);throw te.error("Update Failed",Y),d}}async function se(){if(e(n))try{await E.deleteScaleSet(e(n).id),te.success("Scale Set Deleted",`Scale set ${e(n).name} has been deleted successfully.`)}catch(t){const d=H(t);te.error("Delete Failed",d)}finally{r(z,!1),r(n,null)}}function U(){r(A,!0)}async function pe(t){try{r(L,!0);const d=await E.getScaleSet(t.id);r(n,d),r(I,!0)}catch(d){const Y=H(d);te.error("Failed to Load Scale Set Details",Y)}finally{r(L,!1)}}function me(t){r(n,t),r(z,!0)}Sr(async()=>{try{r(C,!0);const t=await _r.getScaleSets();t&&Array.isArray(t)&&r($,t)}catch(t){ft?.VITEST||console.error("Failed to load scale sets:",t),r(f,H(t))}finally{r(C,!1)}});async function le(){try{await _r.retryResource("scalesets")}catch(t){console.error("Retry failed:",t)}}const Me=[{key:"name",title:"Name",cellComponent:tt,cellProps:{entityType:"scaleset"}},{key:"image",title:"Image",cellComponent:Xe,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:Xe,cellProps:{field:"provider_name"}},{key:"flavor",title:"Flavor",cellComponent:Xe,cellProps:{field:"flavor"}},{key:"entity",title:"Entity",cellComponent:st},{key:"endpoint",title:"Endpoint",cellComponent:at},{key:"status",title:"Status",cellComponent:ot,cellProps:{statusType:"enabled"}},{key:"actions",title:"Actions",align:"right",cellComponent:Yr}],v={entityType:"scaleset",primaryText:{field:"name",isClickable:!0,href:"/scalesets/{id}"},secondaryText:{field:"entity_name",computedValue:t=>ve(t)},badges:[{type:"custom",value:t=>({variant:t.enabled?"success":"error",text:t.enabled?"Enabled":"Disabled"})}],actions:[{type:"edit",handler:t=>pe(t)},{type:"delete",handler:t=>me(t)}]};function J(t){r(w,t.detail.term),r(g,1)}function P(t){r(g,t.detail.page)}function V(t){r(y,t.detail.perPage),r(g,1)}function fe(t){pe(t.detail.item)}function Ee(t){me(t.detail.item)}q(()=>(e($),b()),()=>{(!e($).length||b().loaded.scalesets)&&r($,b().scalesets)}),q(()=>b(),()=>{r(C,b().loading.scalesets)}),q(()=>b(),()=>{r(c,b().errorMessages.scalesets)}),q(()=>(e($),e(w),ve),()=>{r(m,rt(e($),e(w),t=>ve(t)))}),q(()=>(e(m),e(y)),()=>{r(S,Math.ceil(e(m).length/e(y)))}),q(()=>(e(g),e(S)),()=>{e(g)>e(S)&&e(S)>0&&r(g,e(S))}),q(()=>(e(m),e(g),e(y)),()=>{r(F,e(m).slice((e(g)-1)*e(y),e(g)*e(y)))}),Ur(),kr();var W=ht();jr(t=>{Nr.title="Scale Sets - GARM"});var K=$r(W),Q=o(K);Br(Q,{title:"Scale Sets",description:"Manage GitHub runner scale sets",actionLabel:"Add Scale Set",$$events:{action:U}});var ye=a(Q,2);{let t=Ke(()=>e(c)||e(f)),d=Ke(()=>!!e(c));Xr(ye,{get columns(){return Me},get data(){return e(F)},get loading(){return e(C)},get error(){return e(t)},get searchTerm(){return e(w)},searchPlaceholder:"Search by entity name...",get currentPage(){return e(g)},get perPage(){return e(y)},get totalPages(){return e(S)},get totalItems(){return e(m),yr(()=>e(m).length)},itemName:"scale sets",emptyIconType:"cog",get showRetry(){return e(d)},get mobileCardConfig(){return v},$$events:{search:J,pageChange:P,perPageChange:V,retry:le,edit:fe,delete:Ee}})}s(K);var ie=a(K,2);{var de=t=>{mt(t,{$$events:{close:()=>r(A,!1),submit:d=>B(d.detail)}})};T(ie,t=>{e(A)&&t(de)})}var X=a(ie,2);{var he=t=>{Kr(t,{get scaleSet(){return e(n)},$$events:{close:()=>{r(I,!1),r(n,null)},submit:d=>oe(d.detail)}})};T(X,t=>{e(I)&&e(n)&&t(he)})}var ne=a(X,2);{var Te=t=>{{let d=Ke(()=>(e(n),qr(ve),yr(()=>`Scale Set ${e(n).name} (${ve(e(n))})`)));Qr(t,{title:"Delete Scale Set",message:"Are you sure you want to delete this scale set? This action cannot be undone and will remove all associated runners.",get itemName(){return e(d)},$$events:{close:()=>{r(z,!1),r(n,null)},confirm:se}})}};T(ne,t=>{e(z)&&e(n)&&t(Te)})}var xe=a(ne,2);{var _e=t=>{Pr(t,{$$events:{close:()=>{}},children:(d,Y)=>{var ce=yt(),u=o(ce);Zr(u,{message:"Loading scale set details..."}),s(ce),p(d,ce)},$$slots:{default:!0}})};T(xe,t=>{e(L)&&t(_e)})}p(Ce,W),Cr(),O()}export{Ot as component}; +import"../chunks/DsnmJJEf.js";import{i as kr}from"../chunks/DT0EGONV.js";import{p as wr,E as Hr,o as Sr,f as k,k as a,j as o,g as e,m as i,r as s,t as _,s as r,e as be,c as p,v as re,b as $r,z as fr,y as Se,D as We,d as Cr,l as q,a as Ur,h as jr,$ as Nr,q as Ke,u as yr,n as qr}from"../chunks/CRKWEg6v.js";import{i as T,s as Or,a as Fr}from"../chunks/e1m7WRO5.js";import{r as D,s as Qe,b as $e,g as E}from"../chunks/PY0OOjWY.js";import{P as Br}from"../chunks/MvuzmHPl.js";import{e as hr,i as xr}from"../chunks/C73ZVvpW.js";import{b as G,a as Jr}from"../chunks/B3a35v7J.js";import{p as Vr}from"../chunks/D4Caz1gY.js";import{M as Pr}from"../chunks/XtdMJsQa.js";import{J as Wr}from"../chunks/D2iLJzzb.js";import{e as H}from"../chunks/BZiHL9L3.js";import{U as Kr}from"../chunks/ClJ8onkK.js";import{D as Qr}from"../chunks/DJ85e5Cv.js";import{D as Xr,G as Xe,a as Yr,L as Zr}from"../chunks/Co9OVDfV.js";import{e as et,a as _r}from"../chunks/BoOhv-0Q.js";import{t as te}from"../chunks/D6DjlyIQ.js";import{e as ve,h as rt}from"../chunks/BK-OTA7g.js";import{E as tt}from"../chunks/QGyLbggC.js";import{E as at}from"../chunks/C0ude0fo.js";import{S as ot}from"../chunks/BVEuSEJl.js";import{P as st}from"../chunks/DMRkWx6-.js";import"../chunks/BBO7sjS5.js";var lt=k('

'),it=k('
'),dt=k(""),nt=k(''),ct=k('
'),ut=k(""),gt=k(''),bt=k('

Entity & Provider Configuration

Image & OS Configuration

Runner Limits & Timing

Advanced Settings

Extra Specs (JSON)
',1),vt=k('
Creating...
'),pt=k('

Create New Scale Set

Scale sets are only available for GitHub endpoints

Entity Level *
');function mt(Ce,Pe){wr(Pe,!1);const ae=Hr();let O=i(!1),b=i(""),c=i(""),m=i([]),S=i([]),F=i(!1),$=i(!1),C=i(""),f=i(""),w=i(""),g=i(""),y=i(""),A=i(void 0),I=i(void 0),z=i(void 0),n=i("garm"),L=i("linux"),B=i("amd64"),oe=i(""),se=i(!0),U=i("{}");async function pe(){try{r($,!0),r(S,await E.listProviders())}catch(v){r(b,H(v))}finally{r($,!1)}}async function me(){if(e(c))try{switch(r(F,!0),r(m,[]),e(c)){case"repository":r(m,await E.listRepositories());break;case"organization":r(m,await E.listOrganizations());break;case"enterprise":r(m,await E.listEnterprises());break}}catch(v){r(b,H(v))}finally{r(F,!1)}}function le(v){e(c)!==v&&(r(c,v),r(f,""),me())}async function Me(){if(!e(C)||!e(c)||!e(f)||!e(w)||!e(g)||!e(y)){r(b,"Please fill in all required fields");return}try{r(O,!0),r(b,"");let v={};if(e(U).trim())try{v=JSON.parse(e(U))}catch{throw new Error("Invalid JSON in extra specs")}const J={name:e(C),provider_name:e(w),image:e(g),flavor:e(y),max_runners:e(A)||10,min_idle_runners:e(I)||0,runner_bootstrap_timeout:e(z)||20,runner_prefix:e(n),os_type:e(L),os_arch:e(B),"github-runner-group":e(oe)||void 0,enabled:e(se),extra_specs:e(U).trim()?v:void 0};let P;switch(e(c)){case"repository":P=await E.createRepositoryScaleSet(e(f),J);break;case"organization":P=await E.createOrganizationScaleSet(e(f),J);break;case"enterprise":P=await E.createEnterpriseScaleSet(e(f),J);break;default:throw new Error("Invalid entity level selected")}ae("submit",P)}catch(v){r(b,H(v))}finally{r(O,!1)}}Sr(()=>{pe()}),kr(),Pr(Ce,{$$events:{close:()=>ae("close")},children:(v,J)=>{var P=pt(),V=a(o(P),2),fe=o(V);{var Ee=u=>{var M=lt(),Z=o(M),ke=o(Z,!0);s(Z),s(M),_(()=>re(ke,e(b))),p(u,M)};T(fe,u=>{e(b)&&u(Ee)})}var W=a(fe,2),K=a(o(W),2);D(K),s(W);var Q=a(W,2),ye=o(Q),ie=a(o(ye),2),de=o(ie),X=a(de,2),he=a(X,2);s(ie),s(ye),s(Q);var ne=a(Q,2);{var Te=u=>{var M=bt(),Z=$r(M),ke=a(o(Z),2),Re=o(ke),De=o(Re),Mr=o(De);fr(),s(De);var Er=a(De,2);{var Tr=l=>{var h=it();p(l,h)},Rr=l=>{var h=nt();_(()=>{e(f),Se(()=>{e(c),e(m)})});var R=o(h),Ve=o(R);s(R),R.value=R.__value="";var ue=a(R);hr(ue,1,()=>e(m),xr,(j,x)=>{var N=dt(),we=o(N);{var Lr=ee=>{var ge=We();_(()=>re(ge,`${e(x).owner??""}/${e(x).name??""} (${e(x).endpoint?.name||"Unknown endpoint"})`)),p(ee,ge)},Gr=ee=>{var ge=We();_(()=>re(ge,`${e(x).name??""} (${e(x).endpoint?.name||"Unknown endpoint"})`)),p(ee,ge)};T(we,ee=>{e(c)==="repository"?ee(Lr):ee(Gr,!1)})}s(N);var mr={};_(()=>{mr!==(mr=e(x).id)&&(N.value=(N.__value=e(x).id)??"")}),p(j,N)}),s(h),_(()=>re(Ve,`Select a ${e(c)??""}`)),$e(h,()=>e(f),j=>r(f,j)),p(l,h)};T(Er,l=>{e(F)?l(Tr):l(Rr,!1)})}s(Re);var Ye=a(Re,2),Dr=a(o(Ye),2);{var Ar=l=>{var h=ct();p(l,h)},Ir=l=>{var h=gt();_(()=>{e(w),Se(()=>{e(S)})});var R=o(h);R.value=R.__value="";var Ve=a(R);hr(Ve,1,()=>e(S),xr,(ue,j)=>{var x=ut(),N=o(x,!0);s(x);var we={};_(()=>{re(N,e(j).name),we!==(we=e(j).name)&&(x.value=(x.__value=e(j).name)??"")}),p(ue,x)}),s(h),$e(h,()=>e(w),ue=>r(w,ue)),p(l,h)};T(Dr,l=>{e($)?l(Ar):l(Ir,!1)})}s(Ye),s(ke),s(Z);var Ae=a(Z,2),Ze=a(o(Ae),2),Ie=o(Ze),er=a(o(Ie),2);D(er),s(Ie);var ze=a(Ie,2),rr=a(o(ze),2);D(rr),s(ze);var Le=a(ze,2),Ge=a(o(Le),2);_(()=>{e(L),Se(()=>{})});var He=o(Ge);He.value=He.__value="linux";var tr=a(He);tr.value=tr.__value="windows",s(Ge),s(Le);var ar=a(Le,2),Ue=a(o(ar),2);_(()=>{e(B),Se(()=>{})});var je=o(Ue);je.value=je.__value="amd64";var or=a(je);or.value=or.__value="arm64",s(Ue),s(ar),s(Ze),s(Ae);var Ne=a(Ae,2),sr=a(o(Ne),2),qe=o(sr),lr=a(o(qe),2);D(lr),s(qe);var Oe=a(qe,2),ir=a(o(Oe),2);D(ir),s(Oe);var dr=a(Oe,2),nr=a(o(dr),2);D(nr),s(dr),s(sr),s(Ne);var cr=a(Ne,2),Fe=a(o(cr),2),Be=o(Fe),ur=a(o(Be),2);D(ur),s(Be);var gr=a(Be,2),br=a(o(gr),2);D(br),s(gr),s(Fe);var Je=a(Fe,2),zr=a(o(Je),2);Wr(zr,{rows:4,placeholder:"{}",get value(){return e(U)},set value(l){r(U,l)},$$legacy:!0}),s(Je);var vr=a(Je,2),pr=o(vr);D(pr),fr(2),s(vr),s(cr),_(l=>re(Mr,`${l??""} `),[()=>e(c).charAt(0).toUpperCase()+e(c).slice(1)]),G(er,()=>e(g),l=>r(g,l)),G(rr,()=>e(y),l=>r(y,l)),$e(Ge,()=>e(L),l=>r(L,l)),$e(Ue,()=>e(B),l=>r(B,l)),G(lr,()=>e(I),l=>r(I,l)),G(ir,()=>e(A),l=>r(A,l)),G(nr,()=>e(z),l=>r(z,l)),G(ur,()=>e(n),l=>r(n,l)),G(br,()=>e(oe),l=>r(oe,l)),Jr(pr,()=>e(se),l=>r(se,l)),p(u,M)};T(ne,u=>{e(c)&&u(Te)})}var xe=a(ne,2),_e=o(xe),t=a(_e,2),d=o(t);{var Y=u=>{var M=vt();p(u,M)},ce=u=>{var M=We("Create Scale Set");p(u,M)};T(d,u=>{e(O)?u(Y):u(ce,!1)})}s(t),s(xe),s(V),s(P),_(()=>{Qe(de,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(c)==="repository"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Qe(X,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(c)==="organization"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),Qe(he,1,`flex flex-col items-center justify-center p-4 border-2 rounded-lg transition-colors cursor-pointer ${e(c)==="enterprise"?"border-blue-500 bg-blue-50 dark:bg-blue-900":"border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"}`),t.disabled=e(O)||!e(C)||!e(c)||!e(f)||!e(w)||!e(g)||!e(y)}),G(K,()=>e(C),u=>r(C,u)),be("click",de,()=>le("repository")),be("click",X,()=>le("organization")),be("click",he,()=>le("enterprise")),be("click",_e,()=>ae("close")),be("submit",V,Vr(Me)),p(v,P)},$$slots:{default:!0}}),Cr()}const ft={};var yt=k('
'),ht=k('
',1);function Ot(Ce,Pe){wr(Pe,!1);const[ae,O]=Or(),b=()=>Fr(et,"$eagerCache",ae),c=i(),m=i(),S=i(),F=i();let $=i([]),C=i(!0),f=i(""),w=i(""),g=i(1),y=i(25),A=i(!1),I=i(!1),z=i(!1),n=i(null),L=i(!1);async function B(t){try{r(f,""),r(A,!1),te.success("Scale Set Created","Scale set has been created successfully.")}catch(d){throw r(f,H(d)),d}}async function oe(t){if(e(n))try{await E.updateScaleSet(e(n).id,t),te.success("Scale Set Updated",`Scale set ${e(n).name} has been updated successfully.`),r(I,!1),r(n,null)}catch(d){const Y=H(d);throw te.error("Update Failed",Y),d}}async function se(){if(e(n))try{await E.deleteScaleSet(e(n).id),te.success("Scale Set Deleted",`Scale set ${e(n).name} has been deleted successfully.`)}catch(t){const d=H(t);te.error("Delete Failed",d)}finally{r(z,!1),r(n,null)}}function U(){r(A,!0)}async function pe(t){try{r(L,!0);const d=await E.getScaleSet(t.id);r(n,d),r(I,!0)}catch(d){const Y=H(d);te.error("Failed to Load Scale Set Details",Y)}finally{r(L,!1)}}function me(t){r(n,t),r(z,!0)}Sr(async()=>{try{r(C,!0);const t=await _r.getScaleSets();t&&Array.isArray(t)&&r($,t)}catch(t){ft?.VITEST||console.error("Failed to load scale sets:",t),r(f,H(t))}finally{r(C,!1)}});async function le(){try{await _r.retryResource("scalesets")}catch(t){console.error("Retry failed:",t)}}const Me=[{key:"name",title:"Name",cellComponent:tt,cellProps:{entityType:"scaleset"}},{key:"image",title:"Image",cellComponent:Xe,cellProps:{field:"image",type:"code",showTitle:!0}},{key:"provider",title:"Provider",cellComponent:Xe,cellProps:{field:"provider_name"}},{key:"flavor",title:"Flavor",cellComponent:Xe,cellProps:{field:"flavor"}},{key:"entity",title:"Entity",cellComponent:st},{key:"endpoint",title:"Endpoint",cellComponent:at},{key:"status",title:"Status",cellComponent:ot,cellProps:{statusType:"enabled"}},{key:"actions",title:"Actions",align:"right",cellComponent:Yr}],v={entityType:"scaleset",primaryText:{field:"name",isClickable:!0,href:"/scalesets/{id}"},secondaryText:{field:"entity_name",computedValue:t=>ve(t)},badges:[{type:"custom",value:t=>({variant:t.enabled?"success":"error",text:t.enabled?"Enabled":"Disabled"})}],actions:[{type:"edit",handler:t=>pe(t)},{type:"delete",handler:t=>me(t)}]};function J(t){r(w,t.detail.term),r(g,1)}function P(t){r(g,t.detail.page)}function V(t){r(y,t.detail.perPage),r(g,1)}function fe(t){pe(t.detail.item)}function Ee(t){me(t.detail.item)}q(()=>(e($),b()),()=>{(!e($).length||b().loaded.scalesets)&&r($,b().scalesets)}),q(()=>b(),()=>{r(C,b().loading.scalesets)}),q(()=>b(),()=>{r(c,b().errorMessages.scalesets)}),q(()=>(e($),e(w),ve),()=>{r(m,rt(e($),e(w),t=>ve(t)))}),q(()=>(e(m),e(y)),()=>{r(S,Math.ceil(e(m).length/e(y)))}),q(()=>(e(g),e(S)),()=>{e(g)>e(S)&&e(S)>0&&r(g,e(S))}),q(()=>(e(m),e(g),e(y)),()=>{r(F,e(m).slice((e(g)-1)*e(y),e(g)*e(y)))}),Ur(),kr();var W=ht();jr(t=>{Nr.title="Scale Sets - GARM"});var K=$r(W),Q=o(K);Br(Q,{title:"Scale Sets",description:"Manage GitHub runner scale sets",actionLabel:"Add Scale Set",$$events:{action:U}});var ye=a(Q,2);{let t=Ke(()=>e(c)||e(f)),d=Ke(()=>!!e(c));Xr(ye,{get columns(){return Me},get data(){return e(F)},get loading(){return e(C)},get error(){return e(t)},get searchTerm(){return e(w)},searchPlaceholder:"Search by entity name...",get currentPage(){return e(g)},get perPage(){return e(y)},get totalPages(){return e(S)},get totalItems(){return e(m),yr(()=>e(m).length)},itemName:"scale sets",emptyIconType:"cog",get showRetry(){return e(d)},get mobileCardConfig(){return v},$$events:{search:J,pageChange:P,perPageChange:V,retry:le,edit:fe,delete:Ee}})}s(K);var ie=a(K,2);{var de=t=>{mt(t,{$$events:{close:()=>r(A,!1),submit:d=>B(d.detail)}})};T(ie,t=>{e(A)&&t(de)})}var X=a(ie,2);{var he=t=>{Kr(t,{get scaleSet(){return e(n)},$$events:{close:()=>{r(I,!1),r(n,null)},submit:d=>oe(d.detail)}})};T(X,t=>{e(I)&&e(n)&&t(he)})}var ne=a(X,2);{var Te=t=>{{let d=Ke(()=>(e(n),qr(ve),yr(()=>`Scale Set ${e(n).name} (${ve(e(n))})`)));Qr(t,{title:"Delete Scale Set",message:"Are you sure you want to delete this scale set? This action cannot be undone and will remove all associated runners.",get itemName(){return e(d)},$$events:{close:()=>{r(z,!1),r(n,null)},confirm:se}})}};T(ne,t=>{e(z)&&e(n)&&t(Te)})}var xe=a(ne,2);{var _e=t=>{Pr(t,{$$events:{close:()=>{}},children:(d,Y)=>{var ce=yt(),u=o(ce);Zr(u,{message:"Loading scale set details..."}),s(ce),p(d,ce)},$$slots:{default:!0}})};T(xe,t=>{e(L)&&t(_e)})}p(Ce,W),Cr(),O()}export{Ot as component}; diff --git a/webapp/assets/_app/immutable/nodes/18.CQQwE13W.js b/webapp/assets/_app/immutable/nodes/18.DM4DHXj3.js similarity index 93% rename from webapp/assets/_app/immutable/nodes/18.CQQwE13W.js rename to webapp/assets/_app/immutable/nodes/18.DM4DHXj3.js index a1c28f02..da544499 100644 --- a/webapp/assets/_app/immutable/nodes/18.CQQwE13W.js +++ b/webapp/assets/_app/immutable/nodes/18.DM4DHXj3.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as He}from"../chunks/zNh6Oe5P.js";import{p as Je,o as Pe,A as je,l as qe,a as ze,f as $,h as Ve,b as B,t as k,c as f,d as We,u as i,n as m,v as o,g as t,m as p,j as a,k as d,s as l,$ as Ke,r,y as I,B as zt,q as S}from"../chunks/sWNKMed7.js";import{i as _,s as Qe,a as Xe}from"../chunks/Ccl3fNd2.js";import{d as R,c as Vt,g as F,s as Ye}from"../chunks/C1jihKTd.js";import{p as Ze}from"../chunks/DQxjqDvj.js";import{g as Wt}from"../chunks/H5nVv3Is.js";import{U as ta}from"../chunks/Bc1EGV4A.js";import{D as Kt}from"../chunks/ujTHIzr1.js";import{D as ea,I as aa}from"../chunks/C50dSO3X.js";import{w as Qt}from"../chunks/BuuPrWMc.js";import{t as C}from"../chunks/BZUCTtPY.js";import{e as Xt}from"../chunks/BZiHL9L3.js";import{e as w,i as G,j as Yt,b as L,g as Zt}from"../chunks/Qi7G5Z5O.js";var ra=$('

Loading scale set...

'),sa=$('

'),da=$('
GitHub Runner Group
'),ia=$('

Extra Specifications

 
'),na=$('

Basic Information

Scale Set ID
Name
Provider
Image
Flavor
Status
Entity
Created At
Updated At

Configuration

Max Runners
Min Idle Runners
Bootstrap Timeout
Runner Prefix
OS Type / Architecture
',1),la=$(' ',1);function Sa(te,ee){Je(ee,!1);const[ae,re]=Qe(),mt=()=>Xe(Ze,"$page",ae),D=p();let e=p(null),O=p(!0),E=p(""),M=p(!1),A=p(!1),N=p(!1),u=p(null),T=null;async function ut(){if(!(!t(D)||isNaN(t(D))))try{l(O,!0),l(E,""),l(e,await F.getScaleSet(t(D))),t(e).instances||I(e,t(e).instances=[])}catch(s){l(E,s instanceof Error?s.message:"Failed to load scale set")}finally{l(O,!1)}}async function se(s){if(t(e))try{await F.updateScaleSet(t(e).id,s),await ut(),C.success("Scale Set Updated",`Scale Set ${t(e).name} has been updated successfully.`),l(M,!1)}catch(n){throw n}}async function de(){if(t(e)){try{await F.deleteScaleSet(t(e).id),Wt(R("/scalesets"))}catch(s){const n=Xt(s);C.error("Delete Failed",n)}l(A,!1)}}async function ie(){if(t(u)){try{await F.deleteInstance(t(u).name),C.success("Instance Deleted",`Instance ${t(u).name} has been deleted successfully.`)}catch(s){const n=Xt(s);C.error("Delete Failed",n)}l(N,!1),l(u,null)}}function ne(s){l(u,s),l(N,!0)}function le(s){if(!s)return"{}";try{if(typeof s=="string"){const n=JSON.parse(s);return JSON.stringify(n,null,2)}return JSON.stringify(s,null,2)}catch{return s.toString()}}function oe(s){if(s.operation==="update"){const n=s.payload;t(e)&&n.id===t(e).id&&l(e,n)}else if(s.operation==="delete"){const n=s.payload.id||s.payload;t(e)&&t(e).id===n&&Wt(R("/scalesets"))}}function ce(s){if(!t(e))return;const n=s.payload;if(n.scale_set_id===t(e).id){if(t(e).instances||I(e,t(e).instances=[]),s.operation==="create")I(e,t(e).instances=[...t(e).instances,n]);else if(s.operation==="update")I(e,t(e).instances=t(e).instances.map(y=>y.id===n.id?n:y));else if(s.operation==="delete"){const y=n.id||n;I(e,t(e).instances=t(e).instances.filter(j=>j.id!==y))}l(e,t(e))}}Pe(()=>{ut();const s=Qt.subscribeToEntity("scaleset",["update","delete"],oe),n=Qt.subscribeToEntity("instance",["create","update","delete"],ce);T=()=>{s(),n()}}),je(()=>{T&&(T(),T=null)}),qe(()=>mt(),()=>{l(D,parseInt(mt().params.id||"0"))}),ze(),He();var xt=la();Ve(s=>{k(()=>Ke.title=`${t(e),i(()=>t(e)?`${t(e).name} - Scale Set Details`:"Scale Set Details")??""} - GARM`)});var H=B(xt),J=a(H),gt=a(J),P=a(gt),ve=a(P);r(P);var ft=d(P,2),pt=a(ft),_t=d(a(pt),2),me=a(_t,!0);r(_t),r(pt),r(ft),r(gt),r(J);var ue=d(J,2);{var xe=s=>{var n=ra();f(s,n)},ge=s=>{var n=zt(),y=B(n);{var j=h=>{var b=sa(),U=a(b),q=a(U,!0);r(U),r(b),k(()=>o(q,t(E))),f(h,b)},he=h=>{var b=zt(),U=B(b);{var q=z=>{var bt=na(),kt=B(bt);{let c=S(()=>(t(e),i(()=>t(e).name||"Scale Set"))),v=S(()=>(m(w),t(e),i(()=>w(t(e))))),x=S(()=>(m(G),t(e),i(()=>G(t(e))))),g=S(()=>(m(Zt),i(()=>Zt("github"))));ea(kt,{get title(){return t(c)},get subtitle(){return`Scale set for ${t(v)??""} (${t(x)??""}) • GitHub Runner Scale Set`},get forgeIcon(){return t(g)},onEdit:()=>l(M,!0),onDelete:()=>l(A,!0)})}var V=d(kt,2),W=a(V),St=a(W),wt=d(a(St),2),K=a(wt),$t=d(a(K),2),be=a($t,!0);r($t),r(K);var Q=d(K,2),It=d(a(Q),2),ke=a(It,!0);r(It),r(Q);var X=d(Q,2),Dt=d(a(X),2),Se=a(Dt,!0);r(Dt),r(X);var Y=d(X,2),Et=d(a(Y),2),Mt=a(Et),we=a(Mt,!0);r(Mt),r(Et),r(Y);var Z=d(Y,2),At=d(a(Z),2),$e=a(At,!0);r(At),r(Z);var tt=d(Z,2),Nt=d(a(tt),2),et=a(Nt),Ie=a(et,!0);r(et),r(Nt),r(tt);var at=d(tt,2),Tt=d(a(at),2),Ut=a(Tt),rt=a(Ut),De=a(rt,!0);r(rt);var st=d(rt,2),Ee=a(st,!0);r(st),r(Ut),r(Tt),r(at);var dt=d(at,2),Bt=d(a(dt),2),Me=a(Bt,!0);r(Bt),r(dt);var Rt=d(dt,2),Ft=d(a(Rt),2),Ae=a(Ft,!0);r(Ft),r(Rt),r(wt),r(St),r(W);var Ct=d(W,2),Gt=a(Ct),Lt=d(a(Gt),2),it=a(Lt),Ot=d(a(it),2),Ne=a(Ot,!0);r(Ot),r(it);var nt=d(it,2),Ht=d(a(nt),2),Te=a(Ht,!0);r(Ht),r(nt);var lt=d(nt,2),Jt=d(a(lt),2),Ue=a(Jt);r(Jt),r(lt);var ot=d(lt,2),Pt=d(a(ot),2),Be=a(Pt,!0);r(Pt),r(ot);var ct=d(ot,2),jt=d(a(ct),2),Re=a(jt);r(jt),r(ct);var Fe=d(ct,2);{var Ce=c=>{var v=da(),x=d(a(v),2),g=a(x,!0);r(x),r(v),k(()=>o(g,(t(e),i(()=>t(e)["github-runner-group"])))),f(c,v)};_(Fe,c=>{t(e),i(()=>t(e)["github-runner-group"])&&c(Ce)})}r(Lt),r(Gt),r(Ct),r(V);var qt=d(V,2);{var Ge=c=>{var v=ia(),x=a(v),g=d(a(x),2),vt=a(g,!0);r(g),r(x),r(v),k(Oe=>o(vt,Oe),[()=>(t(e),i(()=>le(t(e).extra_specs)))]),f(c,v)};_(qt,c=>{t(e),i(()=>t(e).extra_specs)&&c(Ge)})}var Le=d(qt,2);{let c=S(()=>(t(e),i(()=>t(e).instances||[])));aa(Le,{get instances(){return t(c)},entityType:"scaleset",onDeleteInstance:ne})}k((c,v,x,g,vt)=>{o(be,(t(e),i(()=>t(e).id))),o(ke,(t(e),i(()=>t(e).name))),o(Se,(t(e),i(()=>t(e).provider_name))),o(we,(t(e),i(()=>t(e).image))),o($e,(t(e),i(()=>t(e).flavor))),Ye(et,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),o(Ie,(t(e),i(()=>t(e).enabled?"Enabled":"Disabled"))),o(De,c),Vt(st,"href",v),o(Ee,x),o(Me,g),o(Ae,vt),o(Ne,(t(e),i(()=>t(e).max_runners))),o(Te,(t(e),i(()=>t(e).min_idle_runners))),o(Ue,`${t(e),i(()=>t(e).runner_bootstrap_timeout)??""} minutes`),o(Be,(t(e),i(()=>t(e).runner_prefix||"garm"))),o(Re,`${t(e),i(()=>t(e).os_type)??""} / ${t(e),i(()=>t(e).os_arch)??""}`)},[()=>(m(G),t(e),i(()=>G(t(e)))),()=>(m(Yt),t(e),i(()=>Yt(t(e)))),()=>(m(w),t(e),i(()=>w(t(e)))),()=>(m(L),t(e),i(()=>L(t(e).created_at||""))),()=>(m(L),t(e),i(()=>L(t(e).updated_at||"")))]),f(z,bt)};_(U,z=>{t(e)&&z(q)},!0)}f(h,b)};_(y,h=>{t(E)?h(j):h(he,!1)},!0)}f(s,n)};_(ue,s=>{t(O)?s(xe):s(ge,!1)})}r(H);var yt=d(H,2);{var fe=s=>{ta(s,{get scaleSet(){return t(e)},$$events:{close:()=>l(M,!1),submit:n=>se(n.detail)}})};_(yt,s=>{t(M)&&t(e)&&s(fe)})}var ht=d(yt,2);{var pe=s=>{{let n=S(()=>(t(e),m(w),i(()=>`Scale Set ${t(e).name} (${w(t(e))})`)));Kt(s,{title:"Delete Scale Set",message:"Are you sure you want to delete this scale set? This action cannot be undone and will remove all associated runners.",get itemName(){return t(n)},$$events:{close:()=>l(A,!1),confirm:de}})}};_(ht,s=>{t(A)&&t(e)&&s(pe)})}var _e=d(ht,2);{var ye=s=>{Kt(s,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(u),i(()=>t(u).name)},$$events:{close:()=>{l(N,!1),l(u,null)},confirm:ie}})};_(_e,s=>{t(N)&&t(u)&&s(ye)})}k(s=>{Vt(ve,"href",s),o(me,(t(e),i(()=>t(e)?t(e).name:"Loading...")))},[()=>(m(R),i(()=>R("/scalesets")))]),f(te,xt),We(),re()}export{Sa as component}; +import"../chunks/DsnmJJEf.js";import{i as He}from"../chunks/DT0EGONV.js";import{p as Je,o as Pe,A as je,l as qe,a as ze,f as $,h as Ve,b as B,t as k,c as f,d as We,u as i,n as m,v as o,g as t,m as p,j as a,k as d,s as l,$ as Ke,r,w as I,B as zt,q as S}from"../chunks/CRKWEg6v.js";import{i as _,s as Qe,a as Xe}from"../chunks/e1m7WRO5.js";import{d as R,c as Vt,g as F,s as Ye}from"../chunks/PY0OOjWY.js";import{p as Ze}from"../chunks/lXKAs5Tk.js";import{g as Wt}from"../chunks/C-HmqlJ7.js";import{U as ta}from"../chunks/ClJ8onkK.js";import{D as Kt}from"../chunks/DJ85e5Cv.js";import{D as ea,I as aa}from"../chunks/BO15iAaC.js";import{w as Qt}from"../chunks/C73ZVvpW.js";import{t as C}from"../chunks/D6DjlyIQ.js";import{e as Xt}from"../chunks/BZiHL9L3.js";import{e as w,i as G,j as Yt,b as L,g as Zt}from"../chunks/BK-OTA7g.js";var ra=$('

Loading scale set...

'),sa=$('

'),da=$('
GitHub Runner Group
'),ia=$('

Extra Specifications

 
'),na=$('

Basic Information

Scale Set ID
Name
Provider
Image
Flavor
Status
Entity
Created At
Updated At

Configuration

Max Runners
Min Idle Runners
Bootstrap Timeout
Runner Prefix
OS Type / Architecture
',1),la=$(' ',1);function Sa(te,ee){Je(ee,!1);const[ae,re]=Qe(),mt=()=>Xe(Ze,"$page",ae),D=p();let e=p(null),O=p(!0),E=p(""),M=p(!1),A=p(!1),N=p(!1),u=p(null),T=null;async function ut(){if(!(!t(D)||isNaN(t(D))))try{l(O,!0),l(E,""),l(e,await F.getScaleSet(t(D))),t(e).instances||I(e,t(e).instances=[])}catch(s){l(E,s instanceof Error?s.message:"Failed to load scale set")}finally{l(O,!1)}}async function se(s){if(t(e))try{await F.updateScaleSet(t(e).id,s),await ut(),C.success("Scale Set Updated",`Scale Set ${t(e).name} has been updated successfully.`),l(M,!1)}catch(n){throw n}}async function de(){if(t(e)){try{await F.deleteScaleSet(t(e).id),Wt(R("/scalesets"))}catch(s){const n=Xt(s);C.error("Delete Failed",n)}l(A,!1)}}async function ie(){if(t(u)){try{await F.deleteInstance(t(u).name),C.success("Instance Deleted",`Instance ${t(u).name} has been deleted successfully.`)}catch(s){const n=Xt(s);C.error("Delete Failed",n)}l(N,!1),l(u,null)}}function ne(s){l(u,s),l(N,!0)}function le(s){if(!s)return"{}";try{if(typeof s=="string"){const n=JSON.parse(s);return JSON.stringify(n,null,2)}return JSON.stringify(s,null,2)}catch{return s.toString()}}function oe(s){if(s.operation==="update"){const n=s.payload;t(e)&&n.id===t(e).id&&l(e,n)}else if(s.operation==="delete"){const n=s.payload.id||s.payload;t(e)&&t(e).id===n&&Wt(R("/scalesets"))}}function ce(s){if(!t(e))return;const n=s.payload;if(n.scale_set_id===t(e).id){if(t(e).instances||I(e,t(e).instances=[]),s.operation==="create")I(e,t(e).instances=[...t(e).instances,n]);else if(s.operation==="update")I(e,t(e).instances=t(e).instances.map(y=>y.id===n.id?n:y));else if(s.operation==="delete"){const y=n.id||n;I(e,t(e).instances=t(e).instances.filter(j=>j.id!==y))}l(e,t(e))}}Pe(()=>{ut();const s=Qt.subscribeToEntity("scaleset",["update","delete"],oe),n=Qt.subscribeToEntity("instance",["create","update","delete"],ce);T=()=>{s(),n()}}),je(()=>{T&&(T(),T=null)}),qe(()=>mt(),()=>{l(D,parseInt(mt().params.id||"0"))}),ze(),He();var xt=la();Ve(s=>{k(()=>Ke.title=`${t(e),i(()=>t(e)?`${t(e).name} - Scale Set Details`:"Scale Set Details")??""} - GARM`)});var H=B(xt),J=a(H),gt=a(J),P=a(gt),ve=a(P);r(P);var ft=d(P,2),pt=a(ft),_t=d(a(pt),2),me=a(_t,!0);r(_t),r(pt),r(ft),r(gt),r(J);var ue=d(J,2);{var xe=s=>{var n=ra();f(s,n)},ge=s=>{var n=zt(),y=B(n);{var j=h=>{var b=sa(),U=a(b),q=a(U,!0);r(U),r(b),k(()=>o(q,t(E))),f(h,b)},he=h=>{var b=zt(),U=B(b);{var q=z=>{var bt=na(),kt=B(bt);{let c=S(()=>(t(e),i(()=>t(e).name||"Scale Set"))),v=S(()=>(m(w),t(e),i(()=>w(t(e))))),x=S(()=>(m(G),t(e),i(()=>G(t(e))))),g=S(()=>(m(Zt),i(()=>Zt("github"))));ea(kt,{get title(){return t(c)},get subtitle(){return`Scale set for ${t(v)??""} (${t(x)??""}) • GitHub Runner Scale Set`},get forgeIcon(){return t(g)},onEdit:()=>l(M,!0),onDelete:()=>l(A,!0)})}var V=d(kt,2),W=a(V),St=a(W),wt=d(a(St),2),K=a(wt),$t=d(a(K),2),be=a($t,!0);r($t),r(K);var Q=d(K,2),It=d(a(Q),2),ke=a(It,!0);r(It),r(Q);var X=d(Q,2),Dt=d(a(X),2),Se=a(Dt,!0);r(Dt),r(X);var Y=d(X,2),Et=d(a(Y),2),Mt=a(Et),we=a(Mt,!0);r(Mt),r(Et),r(Y);var Z=d(Y,2),At=d(a(Z),2),$e=a(At,!0);r(At),r(Z);var tt=d(Z,2),Nt=d(a(tt),2),et=a(Nt),Ie=a(et,!0);r(et),r(Nt),r(tt);var at=d(tt,2),Tt=d(a(at),2),Ut=a(Tt),rt=a(Ut),De=a(rt,!0);r(rt);var st=d(rt,2),Ee=a(st,!0);r(st),r(Ut),r(Tt),r(at);var dt=d(at,2),Bt=d(a(dt),2),Me=a(Bt,!0);r(Bt),r(dt);var Rt=d(dt,2),Ft=d(a(Rt),2),Ae=a(Ft,!0);r(Ft),r(Rt),r(wt),r(St),r(W);var Ct=d(W,2),Gt=a(Ct),Lt=d(a(Gt),2),it=a(Lt),Ot=d(a(it),2),Ne=a(Ot,!0);r(Ot),r(it);var nt=d(it,2),Ht=d(a(nt),2),Te=a(Ht,!0);r(Ht),r(nt);var lt=d(nt,2),Jt=d(a(lt),2),Ue=a(Jt);r(Jt),r(lt);var ot=d(lt,2),Pt=d(a(ot),2),Be=a(Pt,!0);r(Pt),r(ot);var ct=d(ot,2),jt=d(a(ct),2),Re=a(jt);r(jt),r(ct);var Fe=d(ct,2);{var Ce=c=>{var v=da(),x=d(a(v),2),g=a(x,!0);r(x),r(v),k(()=>o(g,(t(e),i(()=>t(e)["github-runner-group"])))),f(c,v)};_(Fe,c=>{t(e),i(()=>t(e)["github-runner-group"])&&c(Ce)})}r(Lt),r(Gt),r(Ct),r(V);var qt=d(V,2);{var Ge=c=>{var v=ia(),x=a(v),g=d(a(x),2),vt=a(g,!0);r(g),r(x),r(v),k(Oe=>o(vt,Oe),[()=>(t(e),i(()=>le(t(e).extra_specs)))]),f(c,v)};_(qt,c=>{t(e),i(()=>t(e).extra_specs)&&c(Ge)})}var Le=d(qt,2);{let c=S(()=>(t(e),i(()=>t(e).instances||[])));aa(Le,{get instances(){return t(c)},entityType:"scaleset",onDeleteInstance:ne})}k((c,v,x,g,vt)=>{o(be,(t(e),i(()=>t(e).id))),o(ke,(t(e),i(()=>t(e).name))),o(Se,(t(e),i(()=>t(e).provider_name))),o(we,(t(e),i(()=>t(e).image))),o($e,(t(e),i(()=>t(e).flavor))),Ye(et,1,`inline-flex px-2 py-1 text-xs font-medium rounded-full ${t(e),i(()=>t(e).enabled?"bg-green-100 dark:bg-green-900 text-green-800 dark:text-green-200":"bg-red-100 dark:bg-red-900 text-red-800 dark:text-red-200")??""}`),o(Ie,(t(e),i(()=>t(e).enabled?"Enabled":"Disabled"))),o(De,c),Vt(st,"href",v),o(Ee,x),o(Me,g),o(Ae,vt),o(Ne,(t(e),i(()=>t(e).max_runners))),o(Te,(t(e),i(()=>t(e).min_idle_runners))),o(Ue,`${t(e),i(()=>t(e).runner_bootstrap_timeout)??""} minutes`),o(Be,(t(e),i(()=>t(e).runner_prefix||"garm"))),o(Re,`${t(e),i(()=>t(e).os_type)??""} / ${t(e),i(()=>t(e).os_arch)??""}`)},[()=>(m(G),t(e),i(()=>G(t(e)))),()=>(m(Yt),t(e),i(()=>Yt(t(e)))),()=>(m(w),t(e),i(()=>w(t(e)))),()=>(m(L),t(e),i(()=>L(t(e).created_at||""))),()=>(m(L),t(e),i(()=>L(t(e).updated_at||"")))]),f(z,bt)};_(U,z=>{t(e)&&z(q)},!0)}f(h,b)};_(y,h=>{t(E)?h(j):h(he,!1)},!0)}f(s,n)};_(ue,s=>{t(O)?s(xe):s(ge,!1)})}r(H);var yt=d(H,2);{var fe=s=>{ta(s,{get scaleSet(){return t(e)},$$events:{close:()=>l(M,!1),submit:n=>se(n.detail)}})};_(yt,s=>{t(M)&&t(e)&&s(fe)})}var ht=d(yt,2);{var pe=s=>{{let n=S(()=>(t(e),m(w),i(()=>`Scale Set ${t(e).name} (${w(t(e))})`)));Kt(s,{title:"Delete Scale Set",message:"Are you sure you want to delete this scale set? This action cannot be undone and will remove all associated runners.",get itemName(){return t(n)},$$events:{close:()=>l(A,!1),confirm:de}})}};_(ht,s=>{t(A)&&t(e)&&s(pe)})}var _e=d(ht,2);{var ye=s=>{Kt(s,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(u),i(()=>t(u).name)},$$events:{close:()=>{l(N,!1),l(u,null)},confirm:ie}})};_(_e,s=>{t(N)&&t(u)&&s(ye)})}k(s=>{Vt(ve,"href",s),o(me,(t(e),i(()=>t(e)?t(e).name:"Loading...")))},[()=>(m(R),i(()=>R("/scalesets")))]),f(te,xt),We(),re()}export{Sa as component}; diff --git a/webapp/assets/_app/immutable/nodes/2.Cl-GhQ1U.js b/webapp/assets/_app/immutable/nodes/2.DMrWWzWX.js similarity index 97% rename from webapp/assets/_app/immutable/nodes/2.Cl-GhQ1U.js rename to webapp/assets/_app/immutable/nodes/2.DMrWWzWX.js index 7c47ecf9..3ef6f4e4 100644 --- a/webapp/assets/_app/immutable/nodes/2.Cl-GhQ1U.js +++ b/webapp/assets/_app/immutable/nodes/2.DMrWWzWX.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as Fe}from"../chunks/zNh6Oe5P.js";import{f as h,k as a,j as r,r as t,t as D,v as S,c as m,B as He,b as ze,p as Oe,E as vt,l as Le,s as v,m as I,g as e,a as Ne,C as ut,z as ve,n as _,u,d as Qe,e as Ge,o as mt,A as gt,h as bt,$ as pt,y as Q}from"../chunks/sWNKMed7.js";import{p as fe,i as z,s as ft,a as xt}from"../chunks/Ccl3fNd2.js";import{e as ht,w as Me,i as kt}from"../chunks/BuuPrWMc.js";import{s as xe,B as yt,r as Ue,g as Ke,d as P,c as ue}from"../chunks/C1jihKTd.js";import{e as _t,a as Ce}from"../chunks/Cp3IZoXB.js";import{b as Re}from"../chunks/CLagxtgo.js";import{p as wt}from"../chunks/D4Caz1gY.js";import{M as Mt}from"../chunks/BbG_gKT3.js";import{t as Je}from"../chunks/BZUCTtPY.js";import{e as Ut}from"../chunks/BZiHL9L3.js";var Ct=h('
'),Rt=h('
'),zt=h('
'),Lt=h('
'),St=h('
');function pe(me,V){let f=fe(V,"title",8),re=fe(V,"content",8),s=fe(V,"position",8,"top"),ae=fe(V,"width",8,"w-80");var l=St(),k=a(r(l),2),p=r(k),y=r(p,!0);t(p);var d=a(p,2),L=r(d,!0);t(d);var oe=a(d,2);{var ge=E=>{var q=Ct();m(E,q)},se=E=>{var q=He(),J=ze(q);{var F=j=>{var T=Rt();m(j,T)},K=j=>{var T=He(),ie=ze(T);{var le=$=>{var H=zt();m($,H)},ne=$=>{var H=He(),X=ze(H);{var de=i=>{var o=Lt();m(i,o)};z(X,i=>{s()==="right"&&i(de)},!0)}m($,H)};z(ie,$=>{s()==="left"?$(le):$(ne,!1)},!0)}m(j,T)};z(J,j=>{s()==="bottom"?j(F):j(K,!1)},!0)}m(E,q)};z(oe,E=>{s()==="top"?E(ge):E(se,!1)})}t(k),t(l),D(()=>{xe(k,1,`absolute ${s()==="top"?"bottom-full":s()==="bottom"?"top-full":s()==="left"?"right-full top-1/2 -translate-y-1/2":"left-full top-1/2 -translate-y-1/2"} left-1/2 transform -translate-x-1/2 ${s()==="top"?"mb-2":s()==="bottom"?"mt-2":"mx-2"} ${ae()??""} p-3 bg-gray-900 text-white text-xs rounded-lg shadow-lg opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50`),S(y,f()),S(L,re())}),m(me,l)}var jt=ut(' Settings',1),$t=h('
Metadata
'),Bt=h('
Callback
'),At=h('
Webhook
'),It=h('

No URLs configured

'),Et=h('
Controller Webhook URL

Use this URL in your GitHub organization/repository webhook settings

'),Ht=h('

Please enter a valid URL

'),Gt=h('

Please enter a valid URL

'),Pt=h('

Please enter a valid URL

'),qt=h('

Controller Settings

URL where runners can fetch metadata and setup information

URL where runners send status updates and lifecycle events

URL where GitHub/Gitea will send webhook events for job notifications

Time to wait before spinning up a runner for a new job (0 = immediate)

'),Tt=h('

Controller Information

Identity

Controller ID
Hostname
Job Age Backoff

Integration URLs

',1);function Dt(me,V){Oe(V,!1);const f=I(),re=I();let s=fe(V,"controllerInfo",12);const ae=vt();let l=I(!1),k=I(!1),p=I(""),y=I(""),d=I(""),L=I(null);function oe(){v(p,s().metadata_url||""),v(y,s().callback_url||""),v(d,s().webhook_url||""),v(L,s().minimum_job_age_backoff||null),v(l,!0)}async function ge(){try{v(k,!0);const n={};e(p).trim()&&(n.metadata_url=e(p).trim()),e(y).trim()&&(n.callback_url=e(y).trim()),e(d).trim()&&(n.webhook_url=e(d).trim()),e(L)!==null&&e(L)>=0&&(n.minimum_job_age_backoff=e(L));const c=await Ke.updateController(n);Je.success("Settings Updated","Controller settings have been updated successfully."),v(l,!1),s(c),ae("updated",c)}catch(n){Je.error("Update Failed",n instanceof Error?n.message:"Failed to update controller settings")}finally{v(k,!1)}}function se(){v(l,!1),v(p,""),v(y,""),v(d,""),v(L,null)}Le(()=>{},()=>{v(f,n=>{if(!n.trim())return!0;try{return new URL(n),!0}catch{return!1}})}),Le(()=>(e(f),e(p),e(y),e(d),e(L)),()=>{v(re,e(f)(e(p))&&e(f)(e(y))&&e(f)(e(d))&&(e(L)===null||e(L)>=0))}),Ne(),Fe();var E=Tt(),q=ze(E),J=r(q),F=r(J),K=r(F),j=a(r(K),2),T=a(r(j),2),ie=r(T),le=r(ie);t(ie),t(T),t(j),t(K);var ne=a(K,2);yt(ne,{variant:"secondary",size:"sm",$$events:{click:oe},children:(n,c)=>{var b=jt();ve(),m(n,b)},$$slots:{default:!0}}),t(F);var $=a(F,2),H=r($),X=r(H),de=a(r(X),2),i=r(de),o=a(r(i),2),w=r(o,!0);t(o),t(i);var M=a(i,2),x=a(r(M),2),U=r(x,!0);t(x),t(M);var A=a(M,2),W=r(A),Y=a(r(W),2),Z=r(Y);pe(Z,{title:"Job Age Backoff",content:"Time in seconds GARM waits after receiving a new job before spinning up a runner. This delay allows existing idle runners to pick up jobs first, preventing unnecessary runner creation. Set to 0 for immediate response."}),t(Y),t(W);var O=a(W,2),N=r(O);t(O),t(A),t(de),t(X),t(H);var ee=a(H,2),ce=r(ee),he=a(r(ce),2),ke=r(he);{var Se=n=>{var c=$t(),b=r(c),C=a(r(b),2),G=r(C);pe(G,{title:"Metadata URL",content:"URL where runners retrieve setup information and metadata. Runners must be able to connect to this URL during their initialization process. Usually accessible at /api/v1/metadata endpoint."}),t(C),t(b);var R=a(b,2),B=r(R,!0);t(R),t(c),D(()=>S(B,(_(s()),u(()=>s().metadata_url)))),m(n,c)};z(ke,n=>{_(s()),u(()=>s().metadata_url)&&n(Se)})}var Pe=a(ke,2);{var Xe=n=>{var c=Bt(),b=r(c),C=a(r(b),2),G=r(C);pe(G,{title:"Callback URL",content:"URL where runners send status updates and system information (OS version, runner agent ID, etc.) to the controller. Runners must be able to connect to this URL. Usually accessible at /api/v1/callbacks endpoint."}),t(C),t(b);var R=a(b,2),B=r(R,!0);t(R),t(c),D(()=>S(B,(_(s()),u(()=>s().callback_url)))),m(n,c)};z(Pe,n=>{_(s()),u(()=>s().callback_url)&&n(Xe)})}var qe=a(Pe,2);{var Ye=n=>{var c=At(),b=r(c),C=a(r(b),2),G=r(C);pe(G,{title:"Webhook Base URL",content:"Base URL for webhooks where GitHub sends job notifications. GARM needs to receive these webhooks to know when to create new runners for jobs. GitHub must be able to connect to this URL. Usually accessible at /webhooks endpoint."}),t(C),t(b);var R=a(b,2),B=r(R,!0);t(R),t(c),D(()=>S(B,(_(s()),u(()=>s().webhook_url)))),m(n,c)};z(qe,n=>{_(s()),u(()=>s().webhook_url)&&n(Ye)})}var Ze=a(qe,2);{var et=n=>{var c=It(),b=a(r(c),4);t(c),Ge("click",b,oe),m(n,c)};z(Ze,n=>{_(s()),u(()=>!s().metadata_url&&!s().callback_url&&!s().webhook_url)&&n(et)})}t(he),t(ce),t(ee),t($);var tt=a($,2);{var rt=n=>{var c=Et(),b=r(c),C=a(r(b),2),G=r(C);pe(G,{title:"Controller Webhook URL",content:"Unique webhook URL for this GARM controller. This is the preferred URL to use in GitHub webhook settings as it's controller-specific and allows multiple GARM controllers to work with the same repository. Automatically combines the webhook base URL with the controller ID."}),t(C),t(b);var R=a(b,2),B=r(R),be=a(r(B),2),ye=r(be),je=r(ye,!0);t(ye),ve(2),t(be),t(B),t(R),t(c),D(()=>S(je,(_(s()),u(()=>s().controller_webhook_url)))),m(n,c)};z(tt,n=>{_(s()),u(()=>s().controller_webhook_url)&&n(rt)})}t(J),t(q);var at=a(q,2);{var ot=n=>{Mt(n,{$$events:{close:se},children:(c,b)=>{var C=qt(),G=a(r(C),2),R=r(G),B=a(r(R),2);Ue(B);let be;var ye=a(B,2);{var je=g=>{var te=Ht();m(g,te)};z(ye,g=>{e(f),e(p),u(()=>!e(f)(e(p)))&&g(je)})}ve(2),t(R);var $e=a(R,2),_e=a(r($e),2);Ue(_e);let Te;var st=a(_e,2);{var it=g=>{var te=Gt();m(g,te)};z(st,g=>{e(f),e(y),u(()=>!e(f)(e(y)))&&g(it)})}ve(2),t($e);var Be=a($e,2),we=a(r(Be),2);Ue(we);let De;var lt=a(we,2);{var nt=g=>{var te=Pt();m(g,te)};z(lt,g=>{e(f),e(d),u(()=>!e(f)(e(d)))&&g(nt)})}ve(2),t(Be);var Ae=a(Be,2),Ve=a(r(Ae),2);Ue(Ve),ve(2),t(Ae);var We=a(Ae,2),Ie=r(We),Ee=a(Ie,2),dt=r(Ee,!0);t(Ee),t(We),t(G),t(C),D((g,te,ct)=>{be=xe(B,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,be,g),Te=xe(_e,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,Te,te),De=xe(we,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,De,ct),Ie.disabled=e(k),Ee.disabled=!e(re)||e(k),S(dt,e(k)?"Saving...":"Save Changes")},[()=>({"border-red-300":!e(f)(e(p))}),()=>({"border-red-300":!e(f)(e(y))}),()=>({"border-red-300":!e(f)(e(d))})]),Re(B,()=>e(p),g=>v(p,g)),Re(_e,()=>e(y),g=>v(y,g)),Re(we,()=>e(d),g=>v(d,g)),Re(Ve,()=>e(L),g=>v(L,g)),Ge("click",Ie,se),Ge("submit",G,wt(ge)),m(c,C)},$$slots:{default:!0}})};z(at,n=>{e(l)&&n(ot)})}D(n=>{S(le,`v${n??""}`),S(w,(_(s()),u(()=>s().controller_id))),S(U,(_(s()),u(()=>s().hostname||"Unknown"))),S(N,`${_(s()),u(()=>s().minimum_job_age_backoff||30)??""}s`)},[()=>(_(s()),u(()=>s().version?.replace(/^v/,"")||"Unknown"))]),m(me,E),Qe()}var Vt=h('

Error loading dashboard

'),Wt=h('
'),Jt=h('

Dashboard

Welcome to GARM - GitHub Actions Runner Manager

');function or(me,V){Oe(V,!1);const[f,re]=ft(),s=()=>xt(_t,"$eagerCache",f),ae=I();let l=I({repositories:0,organizations:0,pools:0,instances:0}),k=I(null),p=I(""),y=[];function d(i,o,w=1e3){const M=parseInt(i.textContent||"0"),x=(o-M)/(w/16);let U=M;const A=()=>{if(U+=x,x>0&&U>=o||x<0&&U<=o){i.textContent=o.toString();return}i.textContent=Math.floor(U).toString(),requestAnimationFrame(A)};M!==o&&requestAnimationFrame(A)}mt(async()=>{try{const[x,U,A,W,Y]=await Promise.all([Ce.getRepositories(),Ce.getOrganizations(),Ce.getPools(),Ke.listInstances(),Ce.getControllerInfo()]);setTimeout(()=>{const Z=document.querySelector('[data-stat="repositories"]'),O=document.querySelector('[data-stat="organizations"]'),N=document.querySelector('[data-stat="pools"]'),ee=document.querySelector('[data-stat="instances"]');Z&&d(Z,x.length),O&&d(O,U.length),N&&d(N,A.length),ee&&d(ee,W.length)},100),v(l,{repositories:x.length,organizations:U.length,pools:A.length,instances:W.length}),Y&&v(k,Y)}catch(x){v(p,Ut(x)),console.error("Dashboard error:",x)}const i=Me.subscribeToEntity("repository",["create","delete"],L),o=Me.subscribeToEntity("organization",["create","delete"],oe),w=Me.subscribeToEntity("pool",["create","delete"],ge),M=Me.subscribeToEntity("instance",["create","delete"],se);y=[i,o,w,M]}),gt(()=>{y.forEach(i=>i())});function L(i){const o=document.querySelector('[data-stat="repositories"]');i.operation==="create"?(Q(l,e(l).repositories++),o&&d(o,e(l).repositories,500)):i.operation==="delete"&&(Q(l,e(l).repositories=Math.max(0,e(l).repositories-1)),o&&d(o,e(l).repositories,500))}function oe(i){const o=document.querySelector('[data-stat="organizations"]');i.operation==="create"?(Q(l,e(l).organizations++),o&&d(o,e(l).organizations,500)):i.operation==="delete"&&(Q(l,e(l).organizations=Math.max(0,e(l).organizations-1)),o&&d(o,e(l).organizations,500))}function ge(i){const o=document.querySelector('[data-stat="pools"]');i.operation==="create"?(Q(l,e(l).pools++),o&&d(o,e(l).pools,500)):i.operation==="delete"&&(Q(l,e(l).pools=Math.max(0,e(l).pools-1)),o&&d(o,e(l).pools,500))}function se(i){const o=document.querySelector('[data-stat="instances"]');i.operation==="create"?(Q(l,e(l).instances++),o&&d(o,e(l).instances,500)):i.operation==="delete"&&(Q(l,e(l).instances=Math.max(0,e(l).instances-1)),o&&d(o,e(l).instances,500))}function E(i){v(k,i.detail)}function q(i){return{blue:"bg-blue-500 text-white",green:"bg-green-500 text-white",purple:"bg-purple-500 text-white",yellow:"bg-yellow-500 text-white"}[i]||"bg-gray-500 text-white"}Le(()=>(e(k),s()),()=>{(!e(k)||s().loaded.controllerInfo)&&v(k,s().controllerInfo)}),Le(()=>(e(l),P),()=>{v(ae,[{title:"Repositories",value:e(l).repositories,icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z",color:"blue",href:P("/repositories")},{title:"Organizations",value:e(l).organizations,icon:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z",color:"green",href:P("/organizations")},{title:"Pools",value:e(l).pools,icon:"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z",color:"purple",href:P("/pools")},{title:"Instances",value:e(l).instances,icon:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z",color:"yellow",href:P("/instances")}])}),Ne(),Fe();var J=Jt();bt(i=>{pt.title="Dashboard - GARM"});var F=a(r(J),2);{var K=i=>{var o=Vt(),w=r(o),M=a(r(w),2),x=a(r(M),2),U=r(x,!0);t(x),t(M),t(w),t(o),D(()=>S(U,e(p))),m(i,o)};z(F,i=>{e(p)&&i(K)})}var j=a(F,2);ht(j,5,()=>e(ae),kt,(i,o)=>{var w=Wt(),M=r(w),x=r(M),U=r(x),A=r(U),W=r(A),Y=r(W);t(W),t(A),t(U);var Z=a(U,2),O=r(Z),N=r(O),ee=r(N,!0);t(N);var ce=a(N,2),he=r(ce,!0);t(ce),t(O),t(Z),t(x),t(M),t(w),D((ke,Se)=>{ue(w,"href",(e(o),u(()=>e(o).href))),xe(A,1,`w-8 h-8 rounded-md ${ke??""} flex items-center justify-center`),ue(Y,"d",(e(o),u(()=>e(o).icon))),S(ee,(e(o),u(()=>e(o).title))),ue(ce,"data-stat",Se),S(he,(e(o),u(()=>e(o).value)))},[()=>(e(o),u(()=>q(e(o).color))),()=>(e(o),u(()=>e(o).title.toLowerCase()))]),m(i,w)}),t(j);var T=a(j,2);{var ie=i=>{Dt(i,{get controllerInfo(){return e(k)},$$events:{updated:E}})};z(T,i=>{e(k)&&i(ie)})}var le=a(T,2),ne=r(le),$=a(r(ne),4),H=r($),X=a(H,2),de=a(X,2);t($),t(ne),t(le),t(J),D((i,o,w)=>{ue(H,"href",i),ue(X,"href",o),ue(de,"href",w)},[()=>(_(P),u(()=>P("/repositories"))),()=>(_(P),u(()=>P("/pools"))),()=>(_(P),u(()=>P("/instances")))]),m(me,J),Qe(),re()}export{or as component}; +import"../chunks/DsnmJJEf.js";import{i as Fe}from"../chunks/DT0EGONV.js";import{f as h,k as a,j as r,r as t,t as D,v as S,c as m,B as He,b as ze,p as Oe,E as vt,l as Le,s as v,m as I,g as e,a as Ne,C as ut,z as ve,n as _,u,d as Qe,e as Ge,o as mt,A as gt,h as bt,$ as pt,w as Q}from"../chunks/CRKWEg6v.js";import{p as fe,i as z,s as ft,a as xt}from"../chunks/e1m7WRO5.js";import{e as ht,w as Me,i as kt}from"../chunks/C73ZVvpW.js";import{s as xe,B as yt,r as Ue,g as Ke,d as P,c as ue}from"../chunks/PY0OOjWY.js";import{e as _t,a as Ce}from"../chunks/BoOhv-0Q.js";import{b as Re}from"../chunks/B3a35v7J.js";import{p as wt}from"../chunks/D4Caz1gY.js";import{M as Mt}from"../chunks/XtdMJsQa.js";import{t as Je}from"../chunks/D6DjlyIQ.js";import{e as Ut}from"../chunks/BZiHL9L3.js";var Ct=h('
'),Rt=h('
'),zt=h('
'),Lt=h('
'),St=h('
');function pe(me,V){let f=fe(V,"title",8),re=fe(V,"content",8),s=fe(V,"position",8,"top"),ae=fe(V,"width",8,"w-80");var l=St(),k=a(r(l),2),p=r(k),y=r(p,!0);t(p);var d=a(p,2),L=r(d,!0);t(d);var oe=a(d,2);{var ge=E=>{var q=Ct();m(E,q)},se=E=>{var q=He(),J=ze(q);{var F=j=>{var T=Rt();m(j,T)},K=j=>{var T=He(),ie=ze(T);{var le=$=>{var H=zt();m($,H)},ne=$=>{var H=He(),X=ze(H);{var de=i=>{var o=Lt();m(i,o)};z(X,i=>{s()==="right"&&i(de)},!0)}m($,H)};z(ie,$=>{s()==="left"?$(le):$(ne,!1)},!0)}m(j,T)};z(J,j=>{s()==="bottom"?j(F):j(K,!1)},!0)}m(E,q)};z(oe,E=>{s()==="top"?E(ge):E(se,!1)})}t(k),t(l),D(()=>{xe(k,1,`absolute ${s()==="top"?"bottom-full":s()==="bottom"?"top-full":s()==="left"?"right-full top-1/2 -translate-y-1/2":"left-full top-1/2 -translate-y-1/2"} left-1/2 transform -translate-x-1/2 ${s()==="top"?"mb-2":s()==="bottom"?"mt-2":"mx-2"} ${ae()??""} p-3 bg-gray-900 text-white text-xs rounded-lg shadow-lg opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50`),S(y,f()),S(L,re())}),m(me,l)}var jt=ut(' Settings',1),$t=h('
Metadata
'),Bt=h('
Callback
'),At=h('
Webhook
'),It=h('

No URLs configured

'),Et=h('
Controller Webhook URL

Use this URL in your GitHub organization/repository webhook settings

'),Ht=h('

Please enter a valid URL

'),Gt=h('

Please enter a valid URL

'),Pt=h('

Please enter a valid URL

'),qt=h('

Controller Settings

URL where runners can fetch metadata and setup information

URL where runners send status updates and lifecycle events

URL where GitHub/Gitea will send webhook events for job notifications

Time to wait before spinning up a runner for a new job (0 = immediate)

'),Tt=h('

Controller Information

Identity

Controller ID
Hostname
Job Age Backoff

Integration URLs

',1);function Dt(me,V){Oe(V,!1);const f=I(),re=I();let s=fe(V,"controllerInfo",12);const ae=vt();let l=I(!1),k=I(!1),p=I(""),y=I(""),d=I(""),L=I(null);function oe(){v(p,s().metadata_url||""),v(y,s().callback_url||""),v(d,s().webhook_url||""),v(L,s().minimum_job_age_backoff||null),v(l,!0)}async function ge(){try{v(k,!0);const n={};e(p).trim()&&(n.metadata_url=e(p).trim()),e(y).trim()&&(n.callback_url=e(y).trim()),e(d).trim()&&(n.webhook_url=e(d).trim()),e(L)!==null&&e(L)>=0&&(n.minimum_job_age_backoff=e(L));const c=await Ke.updateController(n);Je.success("Settings Updated","Controller settings have been updated successfully."),v(l,!1),s(c),ae("updated",c)}catch(n){Je.error("Update Failed",n instanceof Error?n.message:"Failed to update controller settings")}finally{v(k,!1)}}function se(){v(l,!1),v(p,""),v(y,""),v(d,""),v(L,null)}Le(()=>{},()=>{v(f,n=>{if(!n.trim())return!0;try{return new URL(n),!0}catch{return!1}})}),Le(()=>(e(f),e(p),e(y),e(d),e(L)),()=>{v(re,e(f)(e(p))&&e(f)(e(y))&&e(f)(e(d))&&(e(L)===null||e(L)>=0))}),Ne(),Fe();var E=Tt(),q=ze(E),J=r(q),F=r(J),K=r(F),j=a(r(K),2),T=a(r(j),2),ie=r(T),le=r(ie);t(ie),t(T),t(j),t(K);var ne=a(K,2);yt(ne,{variant:"secondary",size:"sm",$$events:{click:oe},children:(n,c)=>{var b=jt();ve(),m(n,b)},$$slots:{default:!0}}),t(F);var $=a(F,2),H=r($),X=r(H),de=a(r(X),2),i=r(de),o=a(r(i),2),w=r(o,!0);t(o),t(i);var M=a(i,2),x=a(r(M),2),U=r(x,!0);t(x),t(M);var A=a(M,2),W=r(A),Y=a(r(W),2),Z=r(Y);pe(Z,{title:"Job Age Backoff",content:"Time in seconds GARM waits after receiving a new job before spinning up a runner. This delay allows existing idle runners to pick up jobs first, preventing unnecessary runner creation. Set to 0 for immediate response."}),t(Y),t(W);var O=a(W,2),N=r(O);t(O),t(A),t(de),t(X),t(H);var ee=a(H,2),ce=r(ee),he=a(r(ce),2),ke=r(he);{var Se=n=>{var c=$t(),b=r(c),C=a(r(b),2),G=r(C);pe(G,{title:"Metadata URL",content:"URL where runners retrieve setup information and metadata. Runners must be able to connect to this URL during their initialization process. Usually accessible at /api/v1/metadata endpoint."}),t(C),t(b);var R=a(b,2),B=r(R,!0);t(R),t(c),D(()=>S(B,(_(s()),u(()=>s().metadata_url)))),m(n,c)};z(ke,n=>{_(s()),u(()=>s().metadata_url)&&n(Se)})}var Pe=a(ke,2);{var Xe=n=>{var c=Bt(),b=r(c),C=a(r(b),2),G=r(C);pe(G,{title:"Callback URL",content:"URL where runners send status updates and system information (OS version, runner agent ID, etc.) to the controller. Runners must be able to connect to this URL. Usually accessible at /api/v1/callbacks endpoint."}),t(C),t(b);var R=a(b,2),B=r(R,!0);t(R),t(c),D(()=>S(B,(_(s()),u(()=>s().callback_url)))),m(n,c)};z(Pe,n=>{_(s()),u(()=>s().callback_url)&&n(Xe)})}var qe=a(Pe,2);{var Ye=n=>{var c=At(),b=r(c),C=a(r(b),2),G=r(C);pe(G,{title:"Webhook Base URL",content:"Base URL for webhooks where GitHub sends job notifications. GARM needs to receive these webhooks to know when to create new runners for jobs. GitHub must be able to connect to this URL. Usually accessible at /webhooks endpoint."}),t(C),t(b);var R=a(b,2),B=r(R,!0);t(R),t(c),D(()=>S(B,(_(s()),u(()=>s().webhook_url)))),m(n,c)};z(qe,n=>{_(s()),u(()=>s().webhook_url)&&n(Ye)})}var Ze=a(qe,2);{var et=n=>{var c=It(),b=a(r(c),4);t(c),Ge("click",b,oe),m(n,c)};z(Ze,n=>{_(s()),u(()=>!s().metadata_url&&!s().callback_url&&!s().webhook_url)&&n(et)})}t(he),t(ce),t(ee),t($);var tt=a($,2);{var rt=n=>{var c=Et(),b=r(c),C=a(r(b),2),G=r(C);pe(G,{title:"Controller Webhook URL",content:"Unique webhook URL for this GARM controller. This is the preferred URL to use in GitHub webhook settings as it's controller-specific and allows multiple GARM controllers to work with the same repository. Automatically combines the webhook base URL with the controller ID."}),t(C),t(b);var R=a(b,2),B=r(R),be=a(r(B),2),ye=r(be),je=r(ye,!0);t(ye),ve(2),t(be),t(B),t(R),t(c),D(()=>S(je,(_(s()),u(()=>s().controller_webhook_url)))),m(n,c)};z(tt,n=>{_(s()),u(()=>s().controller_webhook_url)&&n(rt)})}t(J),t(q);var at=a(q,2);{var ot=n=>{Mt(n,{$$events:{close:se},children:(c,b)=>{var C=qt(),G=a(r(C),2),R=r(G),B=a(r(R),2);Ue(B);let be;var ye=a(B,2);{var je=g=>{var te=Ht();m(g,te)};z(ye,g=>{e(f),e(p),u(()=>!e(f)(e(p)))&&g(je)})}ve(2),t(R);var $e=a(R,2),_e=a(r($e),2);Ue(_e);let Te;var st=a(_e,2);{var it=g=>{var te=Gt();m(g,te)};z(st,g=>{e(f),e(y),u(()=>!e(f)(e(y)))&&g(it)})}ve(2),t($e);var Be=a($e,2),we=a(r(Be),2);Ue(we);let De;var lt=a(we,2);{var nt=g=>{var te=Pt();m(g,te)};z(lt,g=>{e(f),e(d),u(()=>!e(f)(e(d)))&&g(nt)})}ve(2),t(Be);var Ae=a(Be,2),Ve=a(r(Ae),2);Ue(Ve),ve(2),t(Ae);var We=a(Ae,2),Ie=r(We),Ee=a(Ie,2),dt=r(Ee,!0);t(Ee),t(We),t(G),t(C),D((g,te,ct)=>{be=xe(B,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,be,g),Te=xe(_e,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,Te,te),De=xe(we,1,"block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm focus:outline-none focus:ring-blue-500 focus:border-blue-500 bg-white dark:bg-gray-700 text-gray-900 dark:text-white sm:text-sm",null,De,ct),Ie.disabled=e(k),Ee.disabled=!e(re)||e(k),S(dt,e(k)?"Saving...":"Save Changes")},[()=>({"border-red-300":!e(f)(e(p))}),()=>({"border-red-300":!e(f)(e(y))}),()=>({"border-red-300":!e(f)(e(d))})]),Re(B,()=>e(p),g=>v(p,g)),Re(_e,()=>e(y),g=>v(y,g)),Re(we,()=>e(d),g=>v(d,g)),Re(Ve,()=>e(L),g=>v(L,g)),Ge("click",Ie,se),Ge("submit",G,wt(ge)),m(c,C)},$$slots:{default:!0}})};z(at,n=>{e(l)&&n(ot)})}D(n=>{S(le,`v${n??""}`),S(w,(_(s()),u(()=>s().controller_id))),S(U,(_(s()),u(()=>s().hostname||"Unknown"))),S(N,`${_(s()),u(()=>s().minimum_job_age_backoff||30)??""}s`)},[()=>(_(s()),u(()=>s().version?.replace(/^v/,"")||"Unknown"))]),m(me,E),Qe()}var Vt=h('

Error loading dashboard

'),Wt=h('
'),Jt=h('

Dashboard

Welcome to GARM - GitHub Actions Runner Manager

');function or(me,V){Oe(V,!1);const[f,re]=ft(),s=()=>xt(_t,"$eagerCache",f),ae=I();let l=I({repositories:0,organizations:0,pools:0,instances:0}),k=I(null),p=I(""),y=[];function d(i,o,w=1e3){const M=parseInt(i.textContent||"0"),x=(o-M)/(w/16);let U=M;const A=()=>{if(U+=x,x>0&&U>=o||x<0&&U<=o){i.textContent=o.toString();return}i.textContent=Math.floor(U).toString(),requestAnimationFrame(A)};M!==o&&requestAnimationFrame(A)}mt(async()=>{try{const[x,U,A,W,Y]=await Promise.all([Ce.getRepositories(),Ce.getOrganizations(),Ce.getPools(),Ke.listInstances(),Ce.getControllerInfo()]);setTimeout(()=>{const Z=document.querySelector('[data-stat="repositories"]'),O=document.querySelector('[data-stat="organizations"]'),N=document.querySelector('[data-stat="pools"]'),ee=document.querySelector('[data-stat="instances"]');Z&&d(Z,x.length),O&&d(O,U.length),N&&d(N,A.length),ee&&d(ee,W.length)},100),v(l,{repositories:x.length,organizations:U.length,pools:A.length,instances:W.length}),Y&&v(k,Y)}catch(x){v(p,Ut(x)),console.error("Dashboard error:",x)}const i=Me.subscribeToEntity("repository",["create","delete"],L),o=Me.subscribeToEntity("organization",["create","delete"],oe),w=Me.subscribeToEntity("pool",["create","delete"],ge),M=Me.subscribeToEntity("instance",["create","delete"],se);y=[i,o,w,M]}),gt(()=>{y.forEach(i=>i())});function L(i){const o=document.querySelector('[data-stat="repositories"]');i.operation==="create"?(Q(l,e(l).repositories++),o&&d(o,e(l).repositories,500)):i.operation==="delete"&&(Q(l,e(l).repositories=Math.max(0,e(l).repositories-1)),o&&d(o,e(l).repositories,500))}function oe(i){const o=document.querySelector('[data-stat="organizations"]');i.operation==="create"?(Q(l,e(l).organizations++),o&&d(o,e(l).organizations,500)):i.operation==="delete"&&(Q(l,e(l).organizations=Math.max(0,e(l).organizations-1)),o&&d(o,e(l).organizations,500))}function ge(i){const o=document.querySelector('[data-stat="pools"]');i.operation==="create"?(Q(l,e(l).pools++),o&&d(o,e(l).pools,500)):i.operation==="delete"&&(Q(l,e(l).pools=Math.max(0,e(l).pools-1)),o&&d(o,e(l).pools,500))}function se(i){const o=document.querySelector('[data-stat="instances"]');i.operation==="create"?(Q(l,e(l).instances++),o&&d(o,e(l).instances,500)):i.operation==="delete"&&(Q(l,e(l).instances=Math.max(0,e(l).instances-1)),o&&d(o,e(l).instances,500))}function E(i){v(k,i.detail)}function q(i){return{blue:"bg-blue-500 text-white",green:"bg-green-500 text-white",purple:"bg-purple-500 text-white",yellow:"bg-yellow-500 text-white"}[i]||"bg-gray-500 text-white"}Le(()=>(e(k),s()),()=>{(!e(k)||s().loaded.controllerInfo)&&v(k,s().controllerInfo)}),Le(()=>(e(l),P),()=>{v(ae,[{title:"Repositories",value:e(l).repositories,icon:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z",color:"blue",href:P("/repositories")},{title:"Organizations",value:e(l).organizations,icon:"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z",color:"green",href:P("/organizations")},{title:"Pools",value:e(l).pools,icon:"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z",color:"purple",href:P("/pools")},{title:"Instances",value:e(l).instances,icon:"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z",color:"yellow",href:P("/instances")}])}),Ne(),Fe();var J=Jt();bt(i=>{pt.title="Dashboard - GARM"});var F=a(r(J),2);{var K=i=>{var o=Vt(),w=r(o),M=a(r(w),2),x=a(r(M),2),U=r(x,!0);t(x),t(M),t(w),t(o),D(()=>S(U,e(p))),m(i,o)};z(F,i=>{e(p)&&i(K)})}var j=a(F,2);ht(j,5,()=>e(ae),kt,(i,o)=>{var w=Wt(),M=r(w),x=r(M),U=r(x),A=r(U),W=r(A),Y=r(W);t(W),t(A),t(U);var Z=a(U,2),O=r(Z),N=r(O),ee=r(N,!0);t(N);var ce=a(N,2),he=r(ce,!0);t(ce),t(O),t(Z),t(x),t(M),t(w),D((ke,Se)=>{ue(w,"href",(e(o),u(()=>e(o).href))),xe(A,1,`w-8 h-8 rounded-md ${ke??""} flex items-center justify-center`),ue(Y,"d",(e(o),u(()=>e(o).icon))),S(ee,(e(o),u(()=>e(o).title))),ue(ce,"data-stat",Se),S(he,(e(o),u(()=>e(o).value)))},[()=>(e(o),u(()=>q(e(o).color))),()=>(e(o),u(()=>e(o).title.toLowerCase()))]),m(i,w)}),t(j);var T=a(j,2);{var ie=i=>{Dt(i,{get controllerInfo(){return e(k)},$$events:{updated:E}})};z(T,i=>{e(k)&&i(ie)})}var le=a(T,2),ne=r(le),$=a(r(ne),4),H=r($),X=a(H,2),de=a(X,2);t($),t(ne),t(le),t(J),D((i,o,w)=>{ue(H,"href",i),ue(X,"href",o),ue(de,"href",w)},[()=>(_(P),u(()=>P("/repositories"))),()=>(_(P),u(()=>P("/pools"))),()=>(_(P),u(()=>P("/instances")))]),m(me,J),Qe(),re()}export{or as component}; diff --git a/webapp/assets/_app/immutable/nodes/3.Bfw-rXr3.js b/webapp/assets/_app/immutable/nodes/3.Bfw-rXr3.js deleted file mode 100644 index 5efc45e4..00000000 --- a/webapp/assets/_app/immutable/nodes/3.Bfw-rXr3.js +++ /dev/null @@ -1,7 +0,0 @@ -import"../chunks/DsnmJJEf.js";import{i as jt}from"../chunks/zNh6Oe5P.js";import{p as Gt,g as e,o as Ut,l as Q,a as qt,f as E,e as f,h as zt,b as Fe,c as $,d as Bt,$ as St,m as y,s as n,i as Lt,j as o,k as a,r as i,u,n as be,q as Le,t as se,v as W,w as rt,x as Nt,y as _,z as X}from"../chunks/sWNKMed7.js";import{i as G,s as Kt,a as Vt}from"../chunks/Ccl3fNd2.js";import{e as Ht,i as Rt}from"../chunks/BuuPrWMc.js";import{h as Yt,r as L,s as je,b as Ot,a as Jt,g as ve}from"../chunks/C1jihKTd.js";import{b as N,a as Qt}from"../chunks/CLagxtgo.js";import{p as at}from"../chunks/D4Caz1gY.js";import{P as Wt}from"../chunks/DL-alMNb.js";import{F as Xt}from"../chunks/CLc1WuAh.js";import{D as Zt,A as ot,G as it,a as er}from"../chunks/C98FZ6Lp.js";import{e as tr,a as Ne}from"../chunks/Cp3IZoXB.js";import{t as ke}from"../chunks/BZUCTtPY.js";import{f as rr,p as ar,g as Ke,B as nt,c as or}from"../chunks/Qi7G5Z5O.js";import{e as Ve}from"../chunks/BZiHL9L3.js";import"../chunks/CcBDT0Mv.js";import{E as ir}from"../chunks/DmcacarF.js";import{S as nr}from"../chunks/kSv08Ec5.js";var dr=E('

'),sr=E(""),lr=E('

'),cr=E('

Gitea only supports PAT authentication

'),ur=E('
'),pr=E('

or drag and drop

PEM, KEY files only

',1),gr=E(''),yr=E('
'),br=E('

or drag and drop

PEM, KEY files only. Upload new private key.

',1),vr=E(" ",1),fr=E(''),mr=E(''),xr=E('
',1);function zr(dt,st){Gt(st,!1);const[lt,ct]=Kt(),U=()=>Vt(tr,"$eagerCache",lt),Ge=y(),Z=y(),He=y(),Ue=y(),p={PAT:"pat",APP:"app"};let we=y(!0),le=y([]),J=y([]),Ce=y(""),Pe=y(""),K=y(1),ce=y(25),ue=y(1),Ae=y(!1),Te=y(!1),$e=y(!1),D=y(p.PAT),g=y(null),M=y(null),t=y({name:"",description:"",endpoint:"",auth_type:p.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),Ee={...e(t)},ee=y(!1);function ut(r){r.key==="Escape"&&(e(Ae)||e(Te)||e($e))&&P()}Ut(async()=>{try{n(we,!0);const[r,d]=await Promise.all([Ne.getCredentials(),Ne.getEndpoints()]);r&&Array.isArray(r)&&n(le,r),d&&Array.isArray(d)&&n(J,d)}catch(r){console.error("Failed to load credentials:",r),n(Ce,r instanceof Error?r.message:"Failed to load credentials")}finally{n(we,!1)}});async function pt(){try{await Ne.retryResource("credentials")}catch(r){console.error("Retry failed:",r)}}async function gt(){Re(),n(Ae,!0),n(x,"github")}let x=y("");function yt(r){n(x,r.detail),_(t,e(t).auth_type=p.PAT),n(D,p.PAT)}async function qe(r){n(g,r),n(t,{name:r.name||"",description:r.description||"",endpoint:r.endpoint?.name||"",auth_type:r["auth-type"]||p.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),n(D,r["auth-type"]||p.PAT),Ee={...e(t)},n(ee,!1),n(Te,!0)}function ze(r){n(M,r),n($e,!0)}function Re(){n(t,{name:"",description:"",endpoint:"",auth_type:p.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),Ee={...e(t)},n(D,p.PAT),n(ee,!1)}function P(){n(Ae,!1),n(Te,!1),n($e,!1),n(g,null),n(M,null),n(x,""),Re()}function Ye(r){n(D,r),_(t,e(t).auth_type=r)}function bt(){const r={};if(e(t).name!==Ee.name&&e(t).name.trim()!==""&&(r.name=e(t).name.trim()),e(t).description!==Ee.description&&e(t).description.trim()!==""&&(r.description=e(t).description.trim()),e(ee)&&e(g))if(e(g)["auth-type"]===p.PAT)e(t).oauth2_token.trim()!==""&&(r.pat={oauth2_token:e(t).oauth2_token.trim()});else{const d={};let b=!1;if(e(t).app_id.trim()!==""&&(d.app_id=parseInt(e(t).app_id.trim()),b=!0),e(t).installation_id.trim()!==""&&(d.installation_id=parseInt(e(t).installation_id.trim()),b=!0),e(t).private_key_bytes!=="")try{const m=atob(e(t).private_key_bytes);d.private_key_bytes=Array.from(m,l=>l.charCodeAt(0)),b=!0}catch{}b&&(r.app=d)}return r}async function vt(){try{if(e(x)==="github")await ve.createGithubCredentials(e(t));else if(e(x)==="gitea")await ve.createGiteaCredentials(e(t));else throw new Error("Please select a forge type");ke.success("Credentials Created",`Credentials ${e(t).name} have been created successfully.`),P()}catch(r){n(Ce,Ve(r))}}async function ft(){if(!(!e(g)||!e(g).id))try{const r=bt();if(Object.keys(r).length===0){ke.info("No Changes","No fields were modified."),P();return}e(g).forge_type==="github"?await ve.updateGithubCredentials(e(g).id,r):await ve.updateGiteaCredentials(e(g).id,r),ke.success("Credentials Updated",`Credentials ${e(g)?.name||"Unknown"} have been updated successfully.`),P()}catch(r){n(Ce,Ve(r))}}async function mt(){if(!(!e(M)||!e(M).id))try{e(M).forge_type==="github"?await ve.deleteGithubCredentials(e(M).id):await ve.deleteGiteaCredentials(e(M).id),ke.success("Credentials Deleted",`Credentials ${e(M)?.name||"Unknown"} have been deleted successfully.`)}catch(r){const d=Ve(r);ke.error("Delete Failed",d)}finally{P()}}function Oe(r){const b=r.target.files?.[0];if(!b){_(t,e(t).private_key_bytes="");return}const m=new FileReader;m.onload=l=>{const h=l.target?.result;_(t,e(t).private_key_bytes=btoa(h))},m.readAsText(b)}function Je(){return!e(t).name||!e(t).description||!e(t).endpoint?!1:e(t).auth_type===p.PAT?!!e(t).oauth2_token:!!e(t).app_id&&!!e(t).installation_id&&!!e(t).private_key_bytes}function Qe(){return!e(t).name.trim()||!e(t).description.trim()?!1:e(ee)&&e(g)?e(g)["auth-type"]===p.PAT?!!e(t).oauth2_token.trim():!!e(t).app_id.trim()&&!!e(t).installation_id.trim()&&!!e(t).private_key_bytes:!0}function xt(r){return e(J).find(b=>b.name===r)?.endpoint_type||""}function _t(r){return xt(r)==="gitea"}const ht=[{key:"name",title:"Name",cellComponent:it,cellProps:{field:"name"}},{key:"description",title:"Description",cellComponent:it,cellProps:{field:"description",type:"description"}},{key:"endpoint",title:"Endpoint",cellComponent:ir},{key:"auth_type",title:"Auth Type",cellComponent:nr,cellProps:{statusType:"custom",statusField:"auth-type"}},{key:"actions",title:"Actions",align:"right",cellComponent:er}],kt={entityType:"credential",primaryText:{field:"name",isClickable:!1},secondaryText:{field:"description"},customInfo:[{icon:r=>Ke(r?.forge_type||"unknown"),text:r=>r?.endpoint?.name||"Unknown"}],badges:[{type:"auth",field:"auth-type"}],actions:[{type:"edit",handler:r=>qe(r)},{type:"delete",handler:r=>ze(r)}]};function wt(r){n(Pe,r.detail.term),n(K,1)}function Ct(r){n(K,r.detail.page)}function Pt(r){const d=or(r.detail.perPage);n(ce,d.newPerPage),n(K,d.newCurrentPage)}function At(r){qe(r.detail.item)}function Tt(r){ze(r.detail.item)}Q(()=>(e(le),U()),()=>{(!e(le).length||U().loaded.credentials)&&n(le,U().credentials)}),Q(()=>U(),()=>{n(we,U().loading.credentials)}),Q(()=>U(),()=>{n(Ge,U().errorMessages.credentials)}),Q(()=>(e(J),U()),()=>{(!e(J).length||U().loaded.endpoints)&&n(J,U().endpoints)}),Q(()=>(e(le),e(Pe)),()=>{n(Z,rr(e(le),e(Pe)))}),Q(()=>(e(ue),e(Z),e(ce),e(K)),()=>{n(ue,Math.ceil(e(Z).length/e(ce))),e(K)>e(ue)&&e(ue)>0&&n(K,e(ue))}),Q(()=>(e(Z),e(K),e(ce)),()=>{n(He,ar(e(Z),e(K),e(ce)))}),Q(()=>(e(x),e(J)),()=>{n(Ue,e(x)?e(J).filter(r=>r.endpoint_type===e(x)):e(J))}),qt(),jt();var We=xr();f("keydown",Lt,ut),zt(r=>{St.title="Credentials - GARM"});var Be=Fe(We),Xe=o(Be);Wt(Xe,{title:"Credentials",description:"Manage authentication credentials for your GitHub and Gitea endpoints.",actionLabel:"Add Credentials",$$events:{action:gt}});var $t=a(Xe,2);{let r=Le(()=>e(Ge)||e(Ce)),d=Le(()=>!!e(Ge));Zt($t,{get columns(){return ht},get data(){return e(He)},get loading(){return e(we)},get error(){return e(r)},get searchTerm(){return e(Pe)},searchPlaceholder:"Search credentials by name, description, or endpoint...",get currentPage(){return e(K)},get perPage(){return e(ce)},get totalPages(){return e(ue)},get totalItems(){return e(Z),u(()=>e(Z).length)},itemName:"credentials",emptyIconType:"key",get showRetry(){return e(d)},get mobileCardConfig(){return kt},$$events:{search:wt,pageChange:Ct,perPageChange:Pt,retry:pt,edit:At,delete:Tt},$$slots:{"mobile-card":(b,m)=>{const l=Le(()=>m.item);var h=dr(),A=o(h),q=o(A),I=o(q),F=o(I,!0);i(I);var k=a(I,2),V=o(k,!0);i(k);var z=a(k,2),B=o(z),S=o(B);Yt(S,()=>(be(Ke),be(e(l)),u(()=>Ke(e(l).forge_type||"unknown"))));var te=a(S,2),re=o(te,!0);i(te),i(B),i(z),i(q),i(A);var ae=a(A,2),H=o(ae);{var oe=j=>{nt(j,{variant:"success",text:"PAT"})},R=j=>{nt(j,{variant:"info",text:"App"})};G(H,j=>{be(e(l)),u(()=>(e(l)["auth-type"]||"pat")==="pat")?j(oe):j(R,!1)})}var Y=a(H,2),ie=o(Y);ot(ie,{action:"edit",size:"sm",title:"Edit credentials",ariaLabel:"Edit credentials",$$events:{click:()=>qe(e(l))}});var pe=a(ie,2);ot(pe,{action:"delete",size:"sm",title:"Delete credentials",ariaLabel:"Delete credentials",$$events:{click:()=>ze(e(l))}}),i(Y),i(ae),i(h),se(()=>{W(F,(be(e(l)),u(()=>e(l).name))),W(V,(be(e(l)),u(()=>e(l).description))),W(re,(be(e(l)),u(()=>e(l).endpoint?.name||"Unknown")))}),$(b,h)}}})}i(Be);var Ze=a(Be,2);{var Et=r=>{var d=gr(),b=o(d),m=a(b,2),l=o(m),h=a(o(l),2);i(l);var A=a(l,2),q=o(A);Xt(q,{get selectedForgeType(){return e(x)},set selectedForgeType(s){n(x,s)},$$events:{select:yt},$$legacy:!0});var I=a(q,2),F=a(o(I),2);L(F),i(I);var k=a(I,2),V=a(o(k),2);rt(V),i(k);var z=a(k,2),B=a(o(z),2);se(()=>{e(t),Nt(()=>{e(Ue)})});var S=o(B);S.value=S.__value="";var te=a(S);Ht(te,1,()=>e(Ue),Rt,(s,c)=>{var v=sr(),C=o(v);i(v);var T={};se(()=>{W(C,`${e(c),u(()=>e(c).name)??""} (${e(c),u(()=>e(c).endpoint_type)??""})`),T!==(T=(e(c),u(()=>e(c).name)))&&(v.value=(v.__value=(e(c),u(()=>e(c).name)))??"")}),$(s,v)}),i(B);var re=a(B,2);{var ae=s=>{var c=lr(),v=o(c);i(c),se(()=>W(v,`Showing only ${e(x)??""} endpoints`)),$(s,c)};G(re,s=>{e(x)&&s(ae)})}i(z);var H=a(z,2),oe=a(o(H),2),R=o(oe),Y=a(R,2);i(oe);var ie=a(oe,2);{var pe=s=>{var c=cr();$(s,c)};G(ie,s=>{e(x)==="gitea"&&s(pe)})}i(H);var j=a(H,2);{var De=s=>{var c=ur(),v=a(o(c),2);L(v),i(c),N(v,()=>e(t).oauth2_token,C=>_(t,e(t).oauth2_token=C)),$(s,c)};G(j,s=>{e(D),u(()=>e(D)===p.PAT)&&s(De)})}var fe=a(j,2);{var Me=s=>{var c=pr(),v=Fe(c),C=a(o(v),2);L(C),i(v);var T=a(v,2),O=a(o(T),2);L(O),i(T);var de=a(T,2),ge=a(o(de),2),xe=o(ge),_e=a(xe,2),he=a(o(_e),2),Ie=o(he);X(),i(he),X(2),i(_e),i(ge),i(de),N(C,()=>e(t).app_id,ye=>_(t,e(t).app_id=ye)),N(O,()=>e(t).installation_id,ye=>_(t,e(t).installation_id=ye)),f("change",xe,Oe),f("click",Ie,()=>document.getElementById("private_key")?.click()),$(s,c)};G(fe,s=>{e(D),u(()=>e(D)===p.APP)&&s(Me)})}var w=a(fe,2),ne=o(w),me=a(ne,2);i(w),i(A),i(m),i(d),se((s,c,v)=>{je(R,1,`flex-1 py-2 px-4 text-sm font-medium rounded-md border focus:outline-none focus:ring-2 focus:ring-blue-500 cursor-pointer - ${e(D),u(()=>e(D)===p.PAT?"bg-blue-600 text-white border-blue-600":"bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600")??""} - ${s??""}`),Y.disabled=e(x)==="gitea",je(Y,1,`flex-1 py-2 px-4 text-sm font-medium rounded-md border focus:outline-none focus:ring-2 focus:ring-blue-500 - ${e(D),u(()=>e(D)===p.APP?"bg-blue-600 text-white border-blue-600":"bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600")??""} - ${e(x)==="gitea"?"opacity-50 cursor-not-allowed":"cursor-pointer"}`),me.disabled=c,je(me,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors - ${v??""}`)},[()=>(e(t),u(()=>(e(t).endpoint&&_t(e(t).endpoint),""))),()=>u(()=>!Je()),()=>u(()=>Je()?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed")]),f("click",b,P),f("click",h,P),N(F,()=>e(t).name,s=>_(t,e(t).name=s)),N(V,()=>e(t).description,s=>_(t,e(t).description=s)),Ot(B,()=>e(t).endpoint,s=>_(t,e(t).endpoint=s)),f("click",R,()=>Ye(p.PAT)),f("click",Y,()=>Ye(p.APP)),f("click",ne,P),f("submit",A,at(vt)),$(r,d)};G(Ze,r=>{e(Ae)&&r(Et)})}var et=a(Ze,2);{var Dt=r=>{var d=fr(),b=o(d),m=a(b,2),l=o(m),h=o(l),A=a(o(h),2),q=o(A);i(A),i(h);var I=a(h,2);i(l);var F=a(l,2),k=o(F),V=a(o(k),2);L(V),i(k);var z=a(k,2),B=a(o(z),2);rt(B),i(z);var S=a(z,2),te=a(o(S),2);L(te),X(2),i(S);var re=a(S,2),ae=a(o(re),2),H=o(ae),oe=o(H,!0);i(H),i(ae),X(2),i(re);var R=a(re,2),Y=o(R),ie=o(Y);L(ie),X(2),i(Y),X(2),i(R);var pe=a(R,2);{var j=w=>{var ne=vr(),me=Fe(ne);{var s=C=>{var T=yr(),O=a(o(T),2);L(O),i(T),N(O,()=>e(t).oauth2_token,de=>_(t,e(t).oauth2_token=de)),$(C,T)};G(me,C=>{e(g),u(()=>e(g)["auth-type"]===p.PAT)&&C(s)})}var c=a(me,2);{var v=C=>{var T=br(),O=Fe(T),de=a(o(O),2);L(de),i(O);var ge=a(O,2),xe=a(o(ge),2);L(xe),i(ge);var _e=a(ge,2),he=a(o(_e),2),Ie=o(he),ye=a(Ie,2),tt=a(o(ye),2),Ft=o(tt);X(),i(tt),X(2),i(ye),i(he),i(_e),N(de,()=>e(t).app_id,Se=>_(t,e(t).app_id=Se)),N(xe,()=>e(t).installation_id,Se=>_(t,e(t).installation_id=Se)),f("change",Ie,Oe),f("click",Ft,()=>document.getElementById("edit_private_key")?.click()),$(C,T)};G(c,C=>{e(g),u(()=>e(g)["auth-type"]===p.APP)&&C(v)})}$(w,ne)};G(pe,w=>{e(ee)&&w(j)})}var De=a(pe,2),fe=o(De),Me=a(fe,2);i(De),i(F),i(m),i(d),se((w,ne)=>{W(q,`Update credentials for ${e(g),u(()=>e(g)?.name||"Unknown")??""}`),Jt(te,(e(t),u(()=>e(t).endpoint))),W(oe,(e(g),u(()=>(e(g)?.["auth-type"]||p.PAT)===p.PAT?"Personal Access Token (PAT)":"GitHub App"))),Me.disabled=w,je(Me,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors - ${ne??""}`)},[()=>u(()=>!Qe()),()=>u(()=>Qe()?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed")]),f("click",b,P),f("click",I,P),N(V,()=>e(t).name,w=>_(t,e(t).name=w)),N(B,()=>e(t).description,w=>_(t,e(t).description=w)),Qt(ie,()=>e(ee),w=>n(ee,w)),f("click",fe,P),f("submit",F,at(ft)),$(r,d)};G(et,r=>{e(Te)&&e(g)&&r(Dt)})}var Mt=a(et,2);{var It=r=>{var d=mr(),b=o(d),m=a(b,2),l=o(m),h=o(l),A=a(o(h),2),q=a(o(A),2),I=o(q);i(q),i(A),i(h),i(l);var F=a(l,2),k=o(F),V=a(k,2);i(F),i(m),i(d),se(()=>W(I,`Are you sure you want to delete the credentials "${e(M),u(()=>e(M)?.name||"Unknown")??""}"? This action cannot be undone.`)),f("click",b,P),f("click",k,P),f("click",V,mt),$(r,d)};G(Mt,r=>{e($e)&&e(M)&&r(It)})}$(dt,We),Bt(),ct()}export{zr as component}; diff --git a/webapp/assets/_app/immutable/nodes/3.CZXzYd4T.js b/webapp/assets/_app/immutable/nodes/3.CZXzYd4T.js new file mode 100644 index 00000000..c15ba25c --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/3.CZXzYd4T.js @@ -0,0 +1,7 @@ +import"../chunks/DsnmJJEf.js";import{i as jt}from"../chunks/DT0EGONV.js";import{p as Gt,g as e,o as Ut,l as J,a as zt,f as E,e as v,h as qt,b as Fe,c as $,d as Bt,$ as St,m as p,s as n,i as Lt,j as o,k as a,r as i,u,n as be,q as Ke,t as se,v as W,w as _,x as rt,y as Nt,z as X}from"../chunks/CRKWEg6v.js";import{i as G,s as Kt,a as Vt}from"../chunks/e1m7WRO5.js";import{e as Ht,i as Rt}from"../chunks/C73ZVvpW.js";import{h as Yt,r as L,s as je,b as Ot,a as Jt,g as ve}from"../chunks/PY0OOjWY.js";import{b as N,a as Qt}from"../chunks/B3a35v7J.js";import{p as at}from"../chunks/D4Caz1gY.js";import{P as Wt}from"../chunks/MvuzmHPl.js";import{F as Xt}from"../chunks/DNitrHo2.js";import{D as Zt,A as ot,G as it,a as er}from"../chunks/Co9OVDfV.js";import{e as tr,a as Ve}from"../chunks/BoOhv-0Q.js";import{t as ke}from"../chunks/D6DjlyIQ.js";import{f as rr,p as ar,g as He,B as nt,c as or}from"../chunks/BK-OTA7g.js";import{e as Re}from"../chunks/BZiHL9L3.js";import"../chunks/BBO7sjS5.js";import{E as ir}from"../chunks/C0ude0fo.js";import{S as nr}from"../chunks/BVEuSEJl.js";var dr=E('

'),sr=E(""),lr=E('

'),cr=E('

Gitea only supports PAT authentication

'),ur=E('
'),pr=E('

or drag and drop

PEM, KEY files only

',1),gr=E(''),yr=E('
'),br=E('

or drag and drop

PEM, KEY files only. Upload new private key.

',1),vr=E(" ",1),fr=E(''),mr=E(''),xr=E('
',1);function qr(dt,st){Gt(st,!1);const[lt,ct]=Kt(),U=()=>Vt(tr,"$eagerCache",lt),Ge=p(),Z=p(),Ye=p(),Ue=p(),ze=p(),y={PAT:"pat",APP:"app"};let we=p(!0),le=p([]),Q=p([]),Ce=p(""),Pe=p(""),K=p(1),ce=p(25),ue=p(1),Ae=p(!1),Te=p(!1),$e=p(!1),D=p(y.PAT),g=p(null),M=p(null),r=p({name:"",description:"",endpoint:"",auth_type:y.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),Ee={...e(r)},ee=p(!1);function ut(t){t.key==="Escape"&&(e(Ae)||e(Te)||e($e))&&P()}Ut(async()=>{try{n(we,!0);const[t,d]=await Promise.all([Ve.getCredentials(),Ve.getEndpoints()]);t&&Array.isArray(t)&&n(le,t),d&&Array.isArray(d)&&n(Q,d)}catch(t){console.error("Failed to load credentials:",t),n(Ce,t instanceof Error?t.message:"Failed to load credentials")}finally{n(we,!1)}});async function pt(){try{await Ve.retryResource("credentials")}catch(t){console.error("Retry failed:",t)}}async function gt(){Se(),n(Ae,!0),n(x,"github"),_(r,e(r).auth_type=y.PAT)}let x=p("");function yt(t){n(x,t.detail),Se()}async function qe(t){n(g,t),n(r,{name:t.name||"",description:t.description||"",endpoint:t.endpoint?.name||"",auth_type:t["auth-type"]||y.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),n(D,t["auth-type"]||y.PAT),Ee={...e(r)},n(ee,!1),n(Te,!0)}function Be(t){n(M,t),n($e,!0)}function Se(){n(r,{name:"",description:"",endpoint:"",auth_type:y.PAT,oauth2_token:"",app_id:"",installation_id:"",private_key_bytes:""}),Ee={...e(r)},n(D,y.PAT),n(ee,!1)}function P(){n(Ae,!1),n(Te,!1),n($e,!1),n(g,null),n(M,null),n(x,""),Se()}function Oe(t){n(D,t),_(r,e(r).auth_type=t)}function bt(){const t={};if(e(r).name!==Ee.name&&e(r).name.trim()!==""&&(t.name=e(r).name.trim()),e(r).description!==Ee.description&&e(r).description.trim()!==""&&(t.description=e(r).description.trim()),e(ee)&&e(g))if(e(g)["auth-type"]===y.PAT)e(r).oauth2_token.trim()!==""&&(t.pat={oauth2_token:e(r).oauth2_token.trim()});else{const d={};let b=!1;if(e(r).app_id.trim()!==""&&(d.app_id=parseInt(e(r).app_id.trim()),b=!0),e(r).installation_id.trim()!==""&&(d.installation_id=parseInt(e(r).installation_id.trim()),b=!0),e(r).private_key_bytes!=="")try{const f=atob(e(r).private_key_bytes);d.private_key_bytes=Array.from(f,l=>l.charCodeAt(0)),b=!0}catch{}b&&(t.app=d)}return t}async function vt(){try{if(e(x)==="github")await ve.createGithubCredentials(e(r));else if(e(x)==="gitea")await ve.createGiteaCredentials(e(r));else throw new Error("Please select a forge type");ke.success("Credentials Created",`Credentials ${e(r).name} have been created successfully.`),P()}catch(t){n(Ce,Re(t))}}async function ft(){if(!(!e(g)||!e(g).id))try{const t=bt();if(Object.keys(t).length===0){ke.info("No Changes","No fields were modified."),P();return}e(g).forge_type==="github"?await ve.updateGithubCredentials(e(g).id,t):await ve.updateGiteaCredentials(e(g).id,t),ke.success("Credentials Updated",`Credentials ${e(g)?.name||"Unknown"} have been updated successfully.`),P()}catch(t){n(Ce,Re(t))}}async function mt(){if(!(!e(M)||!e(M).id))try{e(M).forge_type==="github"?await ve.deleteGithubCredentials(e(M).id):await ve.deleteGiteaCredentials(e(M).id),ke.success("Credentials Deleted",`Credentials ${e(M)?.name||"Unknown"} have been deleted successfully.`)}catch(t){const d=Re(t);ke.error("Delete Failed",d)}finally{P()}}function Je(t){const b=t.target.files?.[0];if(!b){_(r,e(r).private_key_bytes="");return}const f=new FileReader;f.onload=l=>{const h=l.target?.result;_(r,e(r).private_key_bytes=btoa(h))},f.readAsText(b)}function Qe(){return e(r).name.trim()?e(ee)&&e(g)?e(g)["auth-type"]===y.PAT?!!e(r).oauth2_token.trim():!!e(r).app_id.trim()&&!!e(r).installation_id.trim()&&!!e(r).private_key_bytes:!0:!1}function xt(t){return e(Q).find(b=>b.name===t)?.endpoint_type||""}function _t(t){return xt(t)==="gitea"}const ht=[{key:"name",title:"Name",cellComponent:it,cellProps:{field:"name"}},{key:"description",title:"Description",cellComponent:it,cellProps:{field:"description",type:"description"}},{key:"endpoint",title:"Endpoint",cellComponent:ir},{key:"auth_type",title:"Auth Type",cellComponent:nr,cellProps:{statusType:"custom",statusField:"auth-type"}},{key:"actions",title:"Actions",align:"right",cellComponent:er}],kt={entityType:"credential",primaryText:{field:"name",isClickable:!1},secondaryText:{field:"description"},customInfo:[{icon:t=>He(t?.forge_type||"unknown"),text:t=>t?.endpoint?.name||"Unknown"}],badges:[{type:"auth",field:"auth-type"}],actions:[{type:"edit",handler:t=>qe(t)},{type:"delete",handler:t=>Be(t)}]};function wt(t){n(Pe,t.detail.term),n(K,1)}function Ct(t){n(K,t.detail.page)}function Pt(t){const d=or(t.detail.perPage);n(ce,d.newPerPage),n(K,d.newCurrentPage)}function At(t){qe(t.detail.item)}function Tt(t){Be(t.detail.item)}J(()=>(e(le),U()),()=>{(!e(le).length||U().loaded.credentials)&&n(le,U().credentials)}),J(()=>U(),()=>{n(we,U().loading.credentials)}),J(()=>U(),()=>{n(Ge,U().errorMessages.credentials)}),J(()=>(e(Q),U()),()=>{(!e(Q).length||U().loaded.endpoints)&&n(Q,U().endpoints)}),J(()=>(e(le),e(Pe)),()=>{n(Z,rr(e(le),e(Pe)))}),J(()=>(e(ue),e(Z),e(ce),e(K)),()=>{n(ue,Math.ceil(e(Z).length/e(ce))),e(K)>e(ue)&&e(ue)>0&&n(K,e(ue))}),J(()=>(e(Z),e(K),e(ce)),()=>{n(Ye,ar(e(Z),e(K),e(ce)))}),J(()=>e(r),()=>{n(Ue,!e(r).name||!e(r).endpoint?!1:e(r).auth_type===y.PAT?!!e(r).oauth2_token:!!e(r).app_id&&!!e(r).installation_id&&!!e(r).private_key_bytes)}),J(()=>(e(x),e(Q)),()=>{n(ze,e(x)?e(Q).filter(t=>t.endpoint_type===e(x)):e(Q))}),zt(),jt();var We=xr();v("keydown",Lt,ut),qt(t=>{St.title="Credentials - GARM"});var Le=Fe(We),Xe=o(Le);Wt(Xe,{title:"Credentials",description:"Manage authentication credentials for your GitHub and Gitea endpoints.",actionLabel:"Add Credentials",$$events:{action:gt}});var $t=a(Xe,2);{let t=Ke(()=>e(Ge)||e(Ce)),d=Ke(()=>!!e(Ge));Zt($t,{get columns(){return ht},get data(){return e(Ye)},get loading(){return e(we)},get error(){return e(t)},get searchTerm(){return e(Pe)},searchPlaceholder:"Search credentials by name, description, or endpoint...",get currentPage(){return e(K)},get perPage(){return e(ce)},get totalPages(){return e(ue)},get totalItems(){return e(Z),u(()=>e(Z).length)},itemName:"credentials",emptyIconType:"key",get showRetry(){return e(d)},get mobileCardConfig(){return kt},$$events:{search:wt,pageChange:Ct,perPageChange:Pt,retry:pt,edit:At,delete:Tt},$$slots:{"mobile-card":(b,f)=>{const l=Ke(()=>f.item);var h=dr(),A=o(h),z=o(A),I=o(z),F=o(I,!0);i(I);var k=a(I,2),V=o(k,!0);i(k);var q=a(k,2),B=o(q),S=o(B);Yt(S,()=>(be(He),be(e(l)),u(()=>He(e(l).forge_type||"unknown"))));var te=a(S,2),re=o(te,!0);i(te),i(B),i(q),i(z),i(A);var ae=a(A,2),H=o(ae);{var oe=j=>{nt(j,{variant:"success",text:"PAT"})},R=j=>{nt(j,{variant:"info",text:"App"})};G(H,j=>{be(e(l)),u(()=>(e(l)["auth-type"]||"pat")==="pat")?j(oe):j(R,!1)})}var Y=a(H,2),ie=o(Y);ot(ie,{action:"edit",size:"sm",title:"Edit credentials",ariaLabel:"Edit credentials",$$events:{click:()=>qe(e(l))}});var pe=a(ie,2);ot(pe,{action:"delete",size:"sm",title:"Delete credentials",ariaLabel:"Delete credentials",$$events:{click:()=>Be(e(l))}}),i(Y),i(ae),i(h),se(()=>{W(F,(be(e(l)),u(()=>e(l).name))),W(V,(be(e(l)),u(()=>e(l).description))),W(re,(be(e(l)),u(()=>e(l).endpoint?.name||"Unknown")))}),$(b,h)}}})}i(Le);var Ze=a(Le,2);{var Et=t=>{var d=gr(),b=o(d),f=a(b,2),l=o(f),h=a(o(l),2);i(l);var A=a(l,2),z=o(A);Xt(z,{get selectedForgeType(){return e(x)},set selectedForgeType(s){n(x,s)},$$events:{select:yt},$$legacy:!0});var I=a(z,2),F=a(o(I),2);L(F),i(I);var k=a(I,2),V=a(o(k),2);rt(V),i(k);var q=a(k,2),B=a(o(q),2);se(()=>{e(r),Nt(()=>{e(ze)})});var S=o(B);S.value=S.__value="";var te=a(S);Ht(te,1,()=>e(ze),Rt,(s,c)=>{var m=sr(),C=o(m);i(m);var T={};se(()=>{W(C,`${e(c),u(()=>e(c).name)??""} (${e(c),u(()=>e(c).endpoint_type)??""})`),T!==(T=(e(c),u(()=>e(c).name)))&&(m.value=(m.__value=(e(c),u(()=>e(c).name)))??"")}),$(s,m)}),i(B);var re=a(B,2);{var ae=s=>{var c=lr(),m=o(c);i(c),se(()=>W(m,`Showing only ${e(x)??""} endpoints`)),$(s,c)};G(re,s=>{e(x)&&s(ae)})}i(q);var H=a(q,2),oe=a(o(H),2),R=o(oe),Y=a(R,2);i(oe);var ie=a(oe,2);{var pe=s=>{var c=cr();$(s,c)};G(ie,s=>{e(x)==="gitea"&&s(pe)})}i(H);var j=a(H,2);{var De=s=>{var c=ur(),m=a(o(c),2);L(m),i(c),N(m,()=>e(r).oauth2_token,C=>_(r,e(r).oauth2_token=C)),$(s,c)};G(j,s=>{e(D),u(()=>e(D)===y.PAT)&&s(De)})}var fe=a(j,2);{var Me=s=>{var c=pr(),m=Fe(c),C=a(o(m),2);L(C),i(m);var T=a(m,2),O=a(o(T),2);L(O),i(T);var de=a(T,2),ge=a(o(de),2),xe=o(ge),_e=a(xe,2),he=a(o(_e),2),Ie=o(he);X(),i(he),X(2),i(_e),i(ge),i(de),N(C,()=>e(r).app_id,ye=>_(r,e(r).app_id=ye)),N(O,()=>e(r).installation_id,ye=>_(r,e(r).installation_id=ye)),v("change",xe,Je),v("click",Ie,()=>document.getElementById("private_key")?.click()),$(s,c)};G(fe,s=>{e(D),u(()=>e(D)===y.APP)&&s(Me)})}var w=a(fe,2),ne=o(w),me=a(ne,2);i(w),i(A),i(f),i(d),se(s=>{je(R,1,`flex-1 py-2 px-4 text-sm font-medium rounded-md border focus:outline-none focus:ring-2 focus:ring-blue-500 cursor-pointer + ${e(D),u(()=>e(D)===y.PAT?"bg-blue-600 text-white border-blue-600":"bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600")??""} + ${s??""}`),Y.disabled=e(x)==="gitea",je(Y,1,`flex-1 py-2 px-4 text-sm font-medium rounded-md border focus:outline-none focus:ring-2 focus:ring-blue-500 + ${e(D),u(()=>e(D)===y.APP?"bg-blue-600 text-white border-blue-600":"bg-white dark:bg-gray-700 text-gray-700 dark:text-gray-300 border-gray-300 dark:border-gray-600 hover:bg-gray-50 dark:hover:bg-gray-600")??""} + ${e(x)==="gitea"?"opacity-50 cursor-not-allowed":"cursor-pointer"}`),me.disabled=!e(Ue),je(me,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors + ${e(Ue)?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed"}`)},[()=>(e(r),u(()=>(e(r).endpoint&&_t(e(r).endpoint),"")))]),v("click",b,P),v("click",h,P),N(F,()=>e(r).name,s=>_(r,e(r).name=s)),N(V,()=>e(r).description,s=>_(r,e(r).description=s)),Ot(B,()=>e(r).endpoint,s=>_(r,e(r).endpoint=s)),v("click",R,()=>Oe(y.PAT)),v("click",Y,()=>Oe(y.APP)),v("click",ne,P),v("submit",A,at(vt)),$(t,d)};G(Ze,t=>{e(Ae)&&t(Et)})}var et=a(Ze,2);{var Dt=t=>{var d=fr(),b=o(d),f=a(b,2),l=o(f),h=o(l),A=a(o(h),2),z=o(A);i(A),i(h);var I=a(h,2);i(l);var F=a(l,2),k=o(F),V=a(o(k),2);L(V),i(k);var q=a(k,2),B=a(o(q),2);rt(B),i(q);var S=a(q,2),te=a(o(S),2);L(te),X(2),i(S);var re=a(S,2),ae=a(o(re),2),H=o(ae),oe=o(H,!0);i(H),i(ae),X(2),i(re);var R=a(re,2),Y=o(R),ie=o(Y);L(ie),X(2),i(Y),X(2),i(R);var pe=a(R,2);{var j=w=>{var ne=vr(),me=Fe(ne);{var s=C=>{var T=yr(),O=a(o(T),2);L(O),i(T),N(O,()=>e(r).oauth2_token,de=>_(r,e(r).oauth2_token=de)),$(C,T)};G(me,C=>{e(g),u(()=>e(g)["auth-type"]===y.PAT)&&C(s)})}var c=a(me,2);{var m=C=>{var T=br(),O=Fe(T),de=a(o(O),2);L(de),i(O);var ge=a(O,2),xe=a(o(ge),2);L(xe),i(ge);var _e=a(ge,2),he=a(o(_e),2),Ie=o(he),ye=a(Ie,2),tt=a(o(ye),2),Ft=o(tt);X(),i(tt),X(2),i(ye),i(he),i(_e),N(de,()=>e(r).app_id,Ne=>_(r,e(r).app_id=Ne)),N(xe,()=>e(r).installation_id,Ne=>_(r,e(r).installation_id=Ne)),v("change",Ie,Je),v("click",Ft,()=>document.getElementById("edit_private_key")?.click()),$(C,T)};G(c,C=>{e(g),u(()=>e(g)["auth-type"]===y.APP)&&C(m)})}$(w,ne)};G(pe,w=>{e(ee)&&w(j)})}var De=a(pe,2),fe=o(De),Me=a(fe,2);i(De),i(F),i(f),i(d),se((w,ne)=>{W(z,`Update credentials for ${e(g),u(()=>e(g)?.name||"Unknown")??""}`),Jt(te,(e(r),u(()=>e(r).endpoint))),W(oe,(e(g),u(()=>(e(g)?.["auth-type"]||y.PAT)===y.PAT?"Personal Access Token (PAT)":"GitHub App"))),Me.disabled=w,je(Me,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors + ${ne??""}`)},[()=>u(()=>!Qe()),()=>u(()=>Qe()?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed")]),v("click",b,P),v("click",I,P),N(V,()=>e(r).name,w=>_(r,e(r).name=w)),N(B,()=>e(r).description,w=>_(r,e(r).description=w)),Qt(ie,()=>e(ee),w=>n(ee,w)),v("click",fe,P),v("submit",F,at(ft)),$(t,d)};G(et,t=>{e(Te)&&e(g)&&t(Dt)})}var Mt=a(et,2);{var It=t=>{var d=mr(),b=o(d),f=a(b,2),l=o(f),h=o(l),A=a(o(h),2),z=a(o(A),2),I=o(z);i(z),i(A),i(h),i(l);var F=a(l,2),k=o(F),V=a(k,2);i(F),i(f),i(d),se(()=>W(I,`Are you sure you want to delete the credentials "${e(M),u(()=>e(M)?.name||"Unknown")??""}"? This action cannot be undone.`)),v("click",b,P),v("click",k,P),v("click",V,mt),$(t,d)};G(Mt,t=>{e($e)&&e(M)&&t(It)})}$(dt,We),Bt(),ct()}export{qr as component}; diff --git a/webapp/assets/_app/immutable/nodes/4.BqAWGwnJ.js b/webapp/assets/_app/immutable/nodes/4.BqAWGwnJ.js deleted file mode 100644 index ace3a2e9..00000000 --- a/webapp/assets/_app/immutable/nodes/4.BqAWGwnJ.js +++ /dev/null @@ -1,3 +0,0 @@ -import"../chunks/DsnmJJEf.js";import{i as bt}from"../chunks/zNh6Oe5P.js";import{p as gt,g as e,o as ft,l as Z,a as _t,f as j,e as b,h as mt,b as Ce,c as I,d as yt,m as p,i as vt,$ as xt,j as o,q as Ee,k as a,t as ye,u as C,s,r as i,n as ie,v as se,w as Ie,z as V,y as g}from"../chunks/sWNKMed7.js";import{i as ne,s as ht,a as kt}from"../chunks/Ccl3fNd2.js";import{h as wt,r as U,c as je,s as Ge,g as ee}from"../chunks/C1jihKTd.js";import{b as E}from"../chunks/CLagxtgo.js";import{p as ze}from"../chunks/D4Caz1gY.js";import{P as Ct}from"../chunks/DL-alMNb.js";import{F as Et}from"../chunks/CLc1WuAh.js";import{D as Pt,A as qe,G as Pe,a as $t}from"../chunks/C98FZ6Lp.js";import{e as At,a as He}from"../chunks/Cp3IZoXB.js";import{t as de}from"../chunks/BZUCTtPY.js";import{g as $e,c as Rt,a as Bt,p as Ut}from"../chunks/Qi7G5Z5O.js";import{e as Ae}from"../chunks/BZiHL9L3.js";import"../chunks/CcBDT0Mv.js";import{E as Lt}from"../chunks/DmcacarF.js";var Mt=j('

'),Tt=j('
',1),Dt=j('

If empty, Base URL will be used as API Base URL

'),Ft=j(''),It=j('
',1),jt=j('

If empty, Base URL will be used as API Base URL

'),Gt=j(''),zt=j(''),qt=j('
',1);function or(Ne,Se){gt(Se,!1);const[Ve,Oe]=ht(),q=()=>kt(At,"$eagerCache",Ve),ve=p(),H=p(),Re=p();let le=p(!0),O=p([]),ue=p(""),ce=p(""),L=p(1),K=p(25),J=p(1),pe=p(!1),be=p(!1),ge=p(!1),G=p("github"),m=p(null),A=p(null),r=p({name:"",description:"",endpoint_type:"",base_url:"",api_base_url:"",upload_base_url:"",ca_cert_bundle:""}),k={...e(r)};ft(async()=>{try{s(le,!0);const t=await He.getEndpoints();t&&Array.isArray(t)&&s(O,t)}catch(t){console.error("Failed to load endpoints:",t),s(ue,t instanceof Error?t.message:"Failed to load endpoints")}finally{s(le,!1)}});async function Ke(){try{await He.retryResource("endpoints")}catch(t){console.error("Retry failed:",t)}}const Je=[{key:"name",title:"Name",cellComponent:Pe,cellProps:{field:"name"}},{key:"description",title:"Description",cellComponent:Pe,cellProps:{field:"description"}},{key:"api_url",title:"API URL",cellComponent:Pe,cellProps:{field:"api_base_url",fallbackField:"base_url"}},{key:"forge_type",title:"Forge Type",cellComponent:Lt},{key:"actions",title:"Actions",align:"right",cellComponent:$t}],Qe={entityType:"endpoint",primaryText:{field:"name",isClickable:!1},secondaryText:{field:"description"},customInfo:[{icon:t=>$e(t?.endpoint_type||"unknown"),text:t=>t?.api_base_url||"Unknown"}],actions:[{type:"edit",handler:t=>xe(t)},{type:"delete",handler:t=>he(t)}]};function We(t){s(ce,t.detail.term),s(L,1)}function Xe(t){s(L,t.detail.page)}function Ye(t){const n=Rt(t.detail.perPage);s(K,n.newPerPage),s(L,n.newCurrentPage)}function Ze(t){xe(t.detail.item)}function et(t){he(t.detail.item)}function tt(){s(G,"github"),Be(),s(pe,!0)}function rt(t){s(G,t.detail),g(r,e(r).endpoint_type=t.detail)}function xe(t){s(m,t),s(r,{name:t.name||"",description:t.description||"",endpoint_type:t.endpoint_type||"",base_url:t.base_url||"",api_base_url:t.api_base_url||"",upload_base_url:t.upload_base_url||"",ca_cert_bundle:typeof t.ca_cert_bundle=="string"?t.ca_cert_bundle:""}),k={...e(r)},s(be,!0)}function he(t){s(A,t),s(ge,!0)}function Be(){s(r,{name:"",description:"",endpoint_type:"",base_url:"",api_base_url:"",upload_base_url:"",ca_cert_bundle:""}),k={...e(r)}}function at(t){t.key==="Escape"&&(e(pe)||e(be)||e(ge))&&y()}function y(){s(pe,!1),s(be,!1),s(ge,!1),s(G,"github"),s(m,null),s(A,null),Be()}function ot(){const t={};if(e(r).description!==k.description&&(e(r).description.trim()!==""||k.description!=="")&&(t.description=e(r).description.trim()),e(r).base_url!==k.base_url&&e(r).base_url.trim()!==""&&(t.base_url=e(r).base_url.trim()),e(r).api_base_url!==k.api_base_url&&(e(r).api_base_url.trim()!==""||k.api_base_url!=="")&&(t.api_base_url=e(r).api_base_url.trim()),e(m)?.endpoint_type==="github"&&e(r).upload_base_url!==k.upload_base_url&&(e(r).upload_base_url.trim()!==""||k.upload_base_url!=="")&&(t.upload_base_url=e(r).upload_base_url.trim()),e(r).ca_cert_bundle!==k.ca_cert_bundle)if(e(r).ca_cert_bundle!=="")try{const n=atob(e(r).ca_cert_bundle);t.ca_cert_bundle=Array.from(n,c=>c.charCodeAt(0))}catch{k.ca_cert_bundle!==""&&(t.ca_cert_bundle=[])}else k.ca_cert_bundle!==""&&(t.ca_cert_bundle=[]);return t}async function it(){try{const t={name:e(r).name,description:e(r).description,endpoint_type:e(r).endpoint_type,base_url:e(r).base_url,api_base_url:e(r).api_base_url,upload_base_url:e(r).upload_base_url};if(e(r).ca_cert_bundle&&e(r).ca_cert_bundle.trim()!=="")try{const n=atob(e(r).ca_cert_bundle);t.ca_cert_bundle=Array.from(n,c=>c.charCodeAt(0))}catch{}e(r).endpoint_type==="github"?await ee.createGithubEndpoint(t):await ee.createGiteaEndpoint(t),de.success("Endpoint Created",`Endpoint ${e(r).name} has been created successfully.`),y()}catch(t){s(ue,Ae(t))}}async function st(){if(e(m))try{const t=ot();if(Object.keys(t).length===0){de.info("No Changes","No fields were modified."),y();return}e(m).endpoint_type==="github"?await ee.updateGithubEndpoint(e(m).name,t):await ee.updateGiteaEndpoint(e(m).name,t),de.success("Endpoint Updated",`Endpoint ${e(m).name} has been updated successfully.`),y()}catch(t){s(ue,Ae(t))}}async function nt(){if(e(A)){try{e(A).endpoint_type==="github"?await ee.deleteGithubEndpoint(e(A).name):await ee.deleteGiteaEndpoint(e(A).name),de.success("Endpoint Deleted",`Endpoint ${e(A).name} has been deleted successfully.`)}catch(t){const n=Ae(t);de.error("Delete Failed",n)}y()}}function Ue(t){const c=t.target.files?.[0];if(!c){g(r,e(r).ca_cert_bundle="");return}const v=new FileReader;v.onload=d=>{const f=d.target?.result;g(r,e(r).ca_cert_bundle=btoa(f))},v.readAsText(c)}function fe(){return!(!e(r).name||!e(r).description||!e(r).base_url||e(r).endpoint_type==="github"&&!e(r).api_base_url)}Z(()=>(e(O),q()),()=>{(!e(O).length||q().loaded.endpoints)&&s(O,q().endpoints)}),Z(()=>q(),()=>{s(le,q().loading.endpoints)}),Z(()=>q(),()=>{s(ve,q().errorMessages.endpoints)}),Z(()=>(e(O),e(ce)),()=>{s(H,Bt(e(O),e(ce)))}),Z(()=>(e(J),e(H),e(K),e(L)),()=>{s(J,Math.ceil(e(H).length/e(K))),e(L)>e(J)&&e(J)>0&&s(L,e(J))}),Z(()=>(e(H),e(L),e(K)),()=>{s(Re,Ut(e(H),e(L),e(K)))}),_t(),bt();var Le=qt();b("keydown",vt,at),mt(t=>{xt.title="Endpoints - GARM"});var ke=Ce(Le),Me=o(ke);Ct(Me,{title:"Endpoints",description:"Manage your GitHub and Gitea endpoints for runner management.",actionLabel:"Add Endpoint",$$events:{action:tt}});var dt=a(Me,2);{let t=Ee(()=>e(ve)||e(ue)),n=Ee(()=>!!e(ve));Pt(dt,{get columns(){return Je},get data(){return e(Re)},get loading(){return e(le)},get error(){return e(t)},get searchTerm(){return e(ce)},searchPlaceholder:"Search endpoints by name, description, or URL...",get currentPage(){return e(L)},get perPage(){return e(K)},get totalPages(){return e(J)},get totalItems(){return e(H),C(()=>e(H).length)},itemName:"endpoints",emptyIconType:"settings",get showRetry(){return e(n)},get mobileCardConfig(){return Qe},$$events:{search:We,pageChange:Xe,perPageChange:Ye,retry:Ke,edit:Ze,delete:et},$$slots:{"mobile-card":(c,v)=>{const d=Ee(()=>v.item);var f=Mt(),x=o(f),R=o(x),P=o(R),w=o(P,!0);i(P);var _=a(P,2),M=o(_,!0);i(_);var B=a(_,2),T=o(B);wt(T,()=>(ie($e),ie(e(d)),C(()=>$e(e(d).endpoint_type||"","w-5 h-5"))));var D=a(T,2),Q=o(D,!0);i(D),i(B),i(R),i(x);var N=a(x,2),z=o(N);qe(z,{action:"edit",size:"sm",title:"Edit endpoint",ariaLabel:"Edit endpoint",$$events:{click:()=>xe(e(d))}});var W=a(z,2);qe(W,{action:"delete",size:"sm",title:"Delete endpoint",ariaLabel:"Delete endpoint",$$events:{click:()=>he(e(d))}}),i(N),i(f),ye(()=>{se(w,(ie(e(d)),C(()=>e(d).name))),se(M,(ie(e(d)),C(()=>e(d).description))),se(Q,(ie(e(d)),C(()=>e(d).endpoint_type)))}),I(c,f)}}})}i(ke);var Te=a(ke,2);{var lt=t=>{var n=Ft(),c=o(n),v=a(c,2),d=o(v),f=a(o(d),2);i(d);var x=a(d,2),R=o(x);Et(R,{get selectedForgeType(){return e(G)},set selectedForgeType(u){s(G,u)},$$events:{select:rt},$$legacy:!0});var P=a(R,2),w=a(o(P),2);U(w),i(P);var _=a(P,2),M=a(o(_),2);Ie(M),i(_);var B=a(_,2),T=a(o(B),2);U(T),i(B);var D=a(B,2);{var Q=u=>{var $=Tt(),l=Ce($),h=a(o(l),2);U(h),i(l);var F=a(l,2),S=a(o(F),2);U(S),i(F),E(h,()=>e(r).api_base_url,Y=>g(r,e(r).api_base_url=Y)),E(S,()=>e(r).upload_base_url,Y=>g(r,e(r).upload_base_url=Y)),I(u,$)},N=u=>{var $=Dt(),l=a(o($),2);U(l),V(2),i($),E(l,()=>e(r).api_base_url,h=>g(r,e(r).api_base_url=h)),I(u,$)};ne(D,u=>{e(G)==="github"?u(Q):u(N,!1)})}var z=a(D,2),W=a(o(z),2),X=o(W),te=a(X,2),re=a(o(te),2),_e=o(re);V(),i(re),V(2),i(te),i(W),i(z);var ae=a(z,2),me=o(ae),oe=a(me,2);i(ae),i(x),i(v),i(n),ye((u,$)=>{je(w,"placeholder",e(G)==="github"?"e.g., github-enterprise or github-com":"e.g., gitea-main or my-gitea"),je(T,"placeholder",e(G)==="github"?"https://github.com or https://github.example.com":"https://gitea.example.com"),oe.disabled=u,Ge(oe,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors - ${$??""}`)},[()=>C(()=>!fe()),()=>C(()=>fe()?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed")]),b("click",c,y),b("click",f,y),E(w,()=>e(r).name,u=>g(r,e(r).name=u)),E(M,()=>e(r).description,u=>g(r,e(r).description=u)),E(T,()=>e(r).base_url,u=>g(r,e(r).base_url=u)),b("change",X,Ue),b("click",_e,()=>document.getElementById("ca_cert_file")?.click()),b("click",me,y),b("submit",x,ze(it)),I(t,n)};ne(Te,t=>{e(pe)&&t(lt)})}var De=a(Te,2);{var ut=t=>{var n=Gt(),c=o(n),v=a(c,2),d=o(v),f=o(d),x=o(f),R=o(x);i(x),V(2),i(f);var P=a(f,2);i(d);var w=a(d,2),_=o(w),M=a(o(_),2);U(M),i(_);var B=a(_,2),T=a(o(B),2);Ie(T),i(B);var D=a(B,2),Q=a(o(D),2);U(Q),i(D);var N=a(D,2);{var z=l=>{var h=It(),F=Ce(h),S=a(o(F),2);U(S),i(F);var Y=a(F,2),Fe=a(o(Y),2);U(Fe),i(Y),E(S,()=>e(r).api_base_url,we=>g(r,e(r).api_base_url=we)),E(Fe,()=>e(r).upload_base_url,we=>g(r,e(r).upload_base_url=we)),I(l,h)},W=l=>{var h=jt(),F=a(o(h),2);U(F),V(2),i(h),E(F,()=>e(r).api_base_url,S=>g(r,e(r).api_base_url=S)),I(l,h)};ne(N,l=>{e(m),C(()=>e(m).endpoint_type==="github")?l(z):l(W,!1)})}var X=a(N,2),te=a(o(X),2),re=o(te),_e=a(re,2),ae=a(o(_e),2),me=o(ae);V(),i(ae),V(2),i(_e),i(te),i(X);var oe=a(X,2),u=o(oe),$=a(u,2);i(oe),i(w),i(v),i(n),ye((l,h)=>{se(R,`Edit ${e(m),C(()=>e(m).endpoint_type==="github"?"GitHub":"Gitea")??""} Endpoint`),$.disabled=l,Ge($,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors - ${h??""}`)},[()=>C(()=>!fe()),()=>C(()=>fe()?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed")]),b("click",c,y),b("click",P,y),E(M,()=>e(r).name,l=>g(r,e(r).name=l)),E(T,()=>e(r).description,l=>g(r,e(r).description=l)),E(Q,()=>e(r).base_url,l=>g(r,e(r).base_url=l)),b("change",re,Ue),b("click",me,()=>document.getElementById("edit_ca_cert_file")?.click()),b("click",u,y),b("submit",w,ze(st)),I(t,n)};ne(De,t=>{e(be)&&e(m)&&t(ut)})}var ct=a(De,2);{var pt=t=>{var n=zt(),c=o(n),v=a(c,2),d=o(v),f=o(d),x=a(o(f),2),R=a(o(x),2),P=o(R);i(R),i(x),i(f),i(d);var w=a(d,2),_=o(w),M=a(_,2);i(w),i(v),i(n),ye(()=>se(P,`Are you sure you want to delete the endpoint "${e(A),C(()=>e(A).name)??""}"? This action cannot be undone.`)),b("click",c,y),b("click",_,y),b("click",M,nt),I(t,n)};ne(ct,t=>{e(ge)&&e(A)&&t(pt)})}I(Ne,Le),yt(),Oe()}export{or as component}; diff --git a/webapp/assets/_app/immutable/nodes/4.Dl4gwcEB.js b/webapp/assets/_app/immutable/nodes/4.Dl4gwcEB.js new file mode 100644 index 00000000..2acc5a19 --- /dev/null +++ b/webapp/assets/_app/immutable/nodes/4.Dl4gwcEB.js @@ -0,0 +1,3 @@ +import"../chunks/DsnmJJEf.js";import{i as bt}from"../chunks/DT0EGONV.js";import{p as gt,g as e,o as ft,l as V,a as _t,f as I,e as b,h as mt,b as Ee,c as F,d as yt,m as u,i as vt,$ as xt,j as o,q as Pe,k as a,t as ye,u as z,s,w as g,r as i,n as se,v as ne,x as Ie,z as O}from"../chunks/CRKWEg6v.js";import{i as le,s as ht,a as kt}from"../chunks/e1m7WRO5.js";import{h as wt,r as R,c as je,s as Ge,g as ee}from"../chunks/PY0OOjWY.js";import{b as w}from"../chunks/B3a35v7J.js";import{p as ze}from"../chunks/D4Caz1gY.js";import{P as Ct}from"../chunks/MvuzmHPl.js";import{F as Et}from"../chunks/DNitrHo2.js";import{D as Pt,A as qe,G as $e,a as $t}from"../chunks/Co9OVDfV.js";import{e as At,a as He}from"../chunks/BoOhv-0Q.js";import{t as de}from"../chunks/D6DjlyIQ.js";import{g as Ae,c as Rt,a as Bt,p as Ut}from"../chunks/BK-OTA7g.js";import{e as Re}from"../chunks/BZiHL9L3.js";import"../chunks/BBO7sjS5.js";import{E as Lt}from"../chunks/C0ude0fo.js";var Mt=I('

'),Tt=I('
',1),Dt=I('

If empty, Base URL will be used as API Base URL

'),Ft=I(''),It=I('
',1),jt=I('

If empty, Base URL will be used as API Base URL

'),Gt=I(''),zt=I(''),qt=I('
',1);function or(Ne,Se){gt(Se,!1);const[Ve,Oe]=ht(),q=()=>kt(At,"$eagerCache",Ve),ve=u(),H=u(),Be=u(),te=u();let ue=u(!0),K=u([]),ce=u(""),pe=u(""),B=u(1),J=u(25),Q=u(1),be=u(!1),ge=u(!1),fe=u(!1),j=u("github"),m=u(null),P=u(null),r=u({name:"",description:"",endpoint_type:"",base_url:"",api_base_url:"",upload_base_url:"",ca_cert_bundle:""}),h={...e(r)};ft(async()=>{try{s(ue,!0);const t=await He.getEndpoints();t&&Array.isArray(t)&&s(K,t)}catch(t){console.error("Failed to load endpoints:",t),s(ce,t instanceof Error?t.message:"Failed to load endpoints")}finally{s(ue,!1)}});async function Ke(){try{await He.retryResource("endpoints")}catch(t){console.error("Retry failed:",t)}}const Je=[{key:"name",title:"Name",cellComponent:$e,cellProps:{field:"name"}},{key:"description",title:"Description",cellComponent:$e,cellProps:{field:"description"}},{key:"api_url",title:"API URL",cellComponent:$e,cellProps:{field:"api_base_url",fallbackField:"base_url"}},{key:"forge_type",title:"Forge Type",cellComponent:Lt},{key:"actions",title:"Actions",align:"right",cellComponent:$t}],Qe={entityType:"endpoint",primaryText:{field:"name",isClickable:!1},secondaryText:{field:"description"},customInfo:[{icon:t=>Ae(t?.endpoint_type||"unknown"),text:t=>t?.api_base_url||"Unknown"}],actions:[{type:"edit",handler:t=>xe(t)},{type:"delete",handler:t=>he(t)}]};function We(t){s(pe,t.detail.term),s(B,1)}function Xe(t){s(B,t.detail.page)}function Ye(t){const n=Rt(t.detail.perPage);s(J,n.newPerPage),s(B,n.newCurrentPage)}function Ze(t){xe(t.detail.item)}function et(t){he(t.detail.item)}function tt(){s(j,"github"),ke(),g(r,e(r).endpoint_type="github"),s(be,!0)}function rt(t){s(j,t.detail),ke(),g(r,e(r).endpoint_type=t.detail)}function xe(t){s(m,t),s(r,{name:t.name||"",description:t.description||"",endpoint_type:t.endpoint_type||"",base_url:t.base_url||"",api_base_url:t.api_base_url||"",upload_base_url:t.upload_base_url||"",ca_cert_bundle:typeof t.ca_cert_bundle=="string"?t.ca_cert_bundle:""}),h={...e(r)},s(ge,!0)}function he(t){s(P,t),s(fe,!0)}function ke(){s(r,{name:"",description:"",endpoint_type:"",base_url:"",api_base_url:"",upload_base_url:"",ca_cert_bundle:""}),h={...e(r)}}function at(t){t.key==="Escape"&&(e(be)||e(ge)||e(fe))&&y()}function y(){s(be,!1),s(ge,!1),s(fe,!1),s(j,"github"),s(m,null),s(P,null),ke()}function ot(){const t={};if(e(r).description!==h.description&&(e(r).description.trim()!==""||h.description!=="")&&(t.description=e(r).description.trim()),e(r).base_url!==h.base_url&&e(r).base_url.trim()!==""&&(t.base_url=e(r).base_url.trim()),e(r).api_base_url!==h.api_base_url&&(e(r).api_base_url.trim()!==""||h.api_base_url!=="")&&(t.api_base_url=e(r).api_base_url.trim()),e(m)?.endpoint_type==="github"&&e(r).upload_base_url!==h.upload_base_url&&(e(r).upload_base_url.trim()!==""||h.upload_base_url!=="")&&(t.upload_base_url=e(r).upload_base_url.trim()),e(r).ca_cert_bundle!==h.ca_cert_bundle)if(e(r).ca_cert_bundle!=="")try{const n=atob(e(r).ca_cert_bundle);t.ca_cert_bundle=Array.from(n,c=>c.charCodeAt(0))}catch{h.ca_cert_bundle!==""&&(t.ca_cert_bundle=[])}else h.ca_cert_bundle!==""&&(t.ca_cert_bundle=[]);return t}async function it(){try{const t={name:e(r).name,description:e(r).description,endpoint_type:e(r).endpoint_type,base_url:e(r).base_url,api_base_url:e(r).api_base_url,upload_base_url:e(r).upload_base_url};if(e(r).ca_cert_bundle&&e(r).ca_cert_bundle.trim()!=="")try{const n=atob(e(r).ca_cert_bundle);t.ca_cert_bundle=Array.from(n,c=>c.charCodeAt(0))}catch{}e(r).endpoint_type==="github"?await ee.createGithubEndpoint(t):await ee.createGiteaEndpoint(t),de.success("Endpoint Created",`Endpoint ${e(r).name} has been created successfully.`),y()}catch(t){s(ce,Re(t))}}async function st(){if(e(m))try{const t=ot();if(Object.keys(t).length===0){de.info("No Changes","No fields were modified."),y();return}e(m).endpoint_type==="github"?await ee.updateGithubEndpoint(e(m).name,t):await ee.updateGiteaEndpoint(e(m).name,t),de.success("Endpoint Updated",`Endpoint ${e(m).name} has been updated successfully.`),y()}catch(t){s(ce,Re(t))}}async function nt(){if(e(P)){try{e(P).endpoint_type==="github"?await ee.deleteGithubEndpoint(e(P).name):await ee.deleteGiteaEndpoint(e(P).name),de.success("Endpoint Deleted",`Endpoint ${e(P).name} has been deleted successfully.`)}catch(t){const n=Re(t);de.error("Delete Failed",n)}y()}}function Ue(t){const c=t.target.files?.[0];if(!c){g(r,e(r).ca_cert_bundle="");return}const v=new FileReader;v.onload=l=>{const f=l.target?.result;g(r,e(r).ca_cert_bundle=btoa(f))},v.readAsText(c)}V(()=>(e(K),q()),()=>{(!e(K).length||q().loaded.endpoints)&&s(K,q().endpoints)}),V(()=>q(),()=>{s(ue,q().loading.endpoints)}),V(()=>q(),()=>{s(ve,q().errorMessages.endpoints)}),V(()=>(e(K),e(pe)),()=>{s(H,Bt(e(K),e(pe)))}),V(()=>(e(Q),e(H),e(J),e(B)),()=>{s(Q,Math.ceil(e(H).length/e(J))),e(B)>e(Q)&&e(Q)>0&&s(B,e(Q))}),V(()=>(e(H),e(B),e(J)),()=>{s(Be,Ut(e(H),e(B),e(J)))}),V(()=>e(r),()=>{s(te,!(!e(r).name||!e(r).base_url||e(r).endpoint_type==="github"&&!e(r).api_base_url))}),_t(),bt();var Le=qt();b("keydown",vt,at),mt(t=>{xt.title="Endpoints - GARM"});var we=Ee(Le),Me=o(we);Ct(Me,{title:"Endpoints",description:"Manage your GitHub and Gitea endpoints for runner management.",actionLabel:"Add Endpoint",$$events:{action:tt}});var lt=a(Me,2);{let t=Pe(()=>e(ve)||e(ce)),n=Pe(()=>!!e(ve));Pt(lt,{get columns(){return Je},get data(){return e(Be)},get loading(){return e(ue)},get error(){return e(t)},get searchTerm(){return e(pe)},searchPlaceholder:"Search endpoints by name, description, or URL...",get currentPage(){return e(B)},get perPage(){return e(J)},get totalPages(){return e(Q)},get totalItems(){return e(H),z(()=>e(H).length)},itemName:"endpoints",emptyIconType:"settings",get showRetry(){return e(n)},get mobileCardConfig(){return Qe},$$events:{search:We,pageChange:Xe,perPageChange:Ye,retry:Ke,edit:Ze,delete:et},$$slots:{"mobile-card":(c,v)=>{const l=Pe(()=>v.item);var f=Mt(),x=o(f),$=o(x),C=o($),k=o(C,!0);i(C);var _=a(C,2),U=o(_,!0);i(_);var A=a(_,2),L=o(A);wt(L,()=>(se(Ae),se(e(l)),z(()=>Ae(e(l).endpoint_type||"","w-5 h-5"))));var M=a(L,2),W=o(M,!0);i(M),i(A),i($),i(x);var N=a(x,2),G=o(N);qe(G,{action:"edit",size:"sm",title:"Edit endpoint",ariaLabel:"Edit endpoint",$$events:{click:()=>xe(e(l))}});var X=a(G,2);qe(X,{action:"delete",size:"sm",title:"Delete endpoint",ariaLabel:"Delete endpoint",$$events:{click:()=>he(e(l))}}),i(N),i(f),ye(()=>{ne(k,(se(e(l)),z(()=>e(l).name))),ne(U,(se(e(l)),z(()=>e(l).description))),ne(W,(se(e(l)),z(()=>e(l).endpoint_type)))}),F(c,f)}}})}i(we);var Te=a(we,2);{var dt=t=>{var n=Ft(),c=o(n),v=a(c,2),l=o(v),f=a(o(l),2);i(l);var x=a(l,2),$=o(x);Et($,{get selectedForgeType(){return e(j)},set selectedForgeType(p){s(j,p)},$$events:{select:rt},$$legacy:!0});var C=a($,2),k=a(o(C),2);R(k),i(C);var _=a(C,2),U=a(o(_),2);Ie(U),i(_);var A=a(_,2),L=a(o(A),2);R(L),i(A);var M=a(A,2);{var W=p=>{var T=Tt(),d=Ee(T),E=a(o(d),2);R(E),i(d);var D=a(d,2),S=a(o(D),2);R(S),i(D),w(E,()=>e(r).api_base_url,Z=>g(r,e(r).api_base_url=Z)),w(S,()=>e(r).upload_base_url,Z=>g(r,e(r).upload_base_url=Z)),F(p,T)},N=p=>{var T=Dt(),d=a(o(T),2);R(d),O(2),i(T),w(d,()=>e(r).api_base_url,E=>g(r,e(r).api_base_url=E)),F(p,T)};le(M,p=>{e(j)==="github"?p(W):p(N,!1)})}var G=a(M,2),X=a(o(G),2),Y=o(X),re=a(Y,2),ae=a(o(re),2),_e=o(ae);O(),i(ae),O(2),i(re),i(X),i(G);var oe=a(G,2),me=o(oe),ie=a(me,2);i(oe),i(x),i(v),i(n),ye(()=>{je(k,"placeholder",e(j)==="github"?"e.g., github-enterprise or github-com":"e.g., gitea-main or my-gitea"),je(L,"placeholder",e(j)==="github"?"https://github.com or https://github.example.com":"https://gitea.example.com"),ie.disabled=!e(te),Ge(ie,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors + ${e(te)?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed"}`)}),b("click",c,y),b("click",f,y),w(k,()=>e(r).name,p=>g(r,e(r).name=p)),w(U,()=>e(r).description,p=>g(r,e(r).description=p)),w(L,()=>e(r).base_url,p=>g(r,e(r).base_url=p)),b("change",Y,Ue),b("click",_e,()=>document.getElementById("ca_cert_file")?.click()),b("click",me,y),b("submit",x,ze(it)),F(t,n)};le(Te,t=>{e(be)&&t(dt)})}var De=a(Te,2);{var ut=t=>{var n=Gt(),c=o(n),v=a(c,2),l=o(v),f=o(l),x=o(f),$=o(x);i(x),O(2),i(f);var C=a(f,2);i(l);var k=a(l,2),_=o(k),U=a(o(_),2);R(U),i(_);var A=a(_,2),L=a(o(A),2);Ie(L),i(A);var M=a(A,2),W=a(o(M),2);R(W),i(M);var N=a(M,2);{var G=d=>{var E=It(),D=Ee(E),S=a(o(D),2);R(S),i(D);var Z=a(D,2),Fe=a(o(Z),2);R(Fe),i(Z),w(S,()=>e(r).api_base_url,Ce=>g(r,e(r).api_base_url=Ce)),w(Fe,()=>e(r).upload_base_url,Ce=>g(r,e(r).upload_base_url=Ce)),F(d,E)},X=d=>{var E=jt(),D=a(o(E),2);R(D),O(2),i(E),w(D,()=>e(r).api_base_url,S=>g(r,e(r).api_base_url=S)),F(d,E)};le(N,d=>{e(m),z(()=>e(m).endpoint_type==="github")?d(G):d(X,!1)})}var Y=a(N,2),re=a(o(Y),2),ae=o(re),_e=a(ae,2),oe=a(o(_e),2),me=o(oe);O(),i(oe),O(2),i(_e),i(re),i(Y);var ie=a(Y,2),p=o(ie),T=a(p,2);i(ie),i(k),i(v),i(n),ye(()=>{ne($,`Edit ${e(m),z(()=>e(m).endpoint_type==="github"?"GitHub":"Gitea")??""} Endpoint`),T.disabled=!e(te),Ge(T,1,`px-4 py-2 text-sm font-medium text-white rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors + ${e(te)?"bg-blue-600 hover:bg-blue-700 focus:ring-blue-500 cursor-pointer":"bg-gray-400 cursor-not-allowed"}`)}),b("click",c,y),b("click",C,y),w(U,()=>e(r).name,d=>g(r,e(r).name=d)),w(L,()=>e(r).description,d=>g(r,e(r).description=d)),w(W,()=>e(r).base_url,d=>g(r,e(r).base_url=d)),b("change",ae,Ue),b("click",me,()=>document.getElementById("edit_ca_cert_file")?.click()),b("click",p,y),b("submit",k,ze(st)),F(t,n)};le(De,t=>{e(ge)&&e(m)&&t(ut)})}var ct=a(De,2);{var pt=t=>{var n=zt(),c=o(n),v=a(c,2),l=o(v),f=o(l),x=a(o(f),2),$=a(o(x),2),C=o($);i($),i(x),i(f),i(l);var k=a(l,2),_=o(k),U=a(_,2);i(k),i(v),i(n),ye(()=>ne(C,`Are you sure you want to delete the endpoint "${e(P),z(()=>e(P).name)??""}"? This action cannot be undone.`)),b("click",c,y),b("click",_,y),b("click",U,nt),F(t,n)};le(ct,t=>{e(fe)&&e(P)&&t(pt)})}F(Ne,Le),yt(),Oe()}export{or as component}; diff --git a/webapp/assets/_app/immutable/nodes/5.BXi0YBvh.js b/webapp/assets/_app/immutable/nodes/5.CPgs67yl.js similarity index 91% rename from webapp/assets/_app/immutable/nodes/5.BXi0YBvh.js rename to webapp/assets/_app/immutable/nodes/5.CPgs67yl.js index 757b3900..40de54bf 100644 --- a/webapp/assets/_app/immutable/nodes/5.BXi0YBvh.js +++ b/webapp/assets/_app/immutable/nodes/5.CPgs67yl.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as Ge}from"../chunks/zNh6Oe5P.js";import{p as Se,E as Je,o as Be,l as w,s as r,m as n,g as e,a as He,f as M,k as o,j as i,r as l,c as $,t as N,v as K,x as $e,u as b,z as Ve,y as Z,e as Ce,d as Re,B as We,b as Ue,h as Ye,$ as Ke,n as A,q as ee}from"../chunks/sWNKMed7.js";import{a as Le,i as B,s as Ne}from"../chunks/Ccl3fNd2.js";import{r as Pe,b as Me,d as De,c as Oe,g as be}from"../chunks/C1jihKTd.js";import{P as Qe}from"../chunks/DL-alMNb.js";import{e as Xe,i as Ze}from"../chunks/BuuPrWMc.js";import{b as Te}from"../chunks/CLagxtgo.js";import{p as et}from"../chunks/D4Caz1gY.js";import{M as tt}from"../chunks/BbG_gKT3.js";import{e as re}from"../chunks/BZiHL9L3.js";import{e as qe,a as he}from"../chunks/Cp3IZoXB.js";import{U as rt}from"../chunks/Gp00ljCM.js";import{D as at}from"../chunks/ujTHIzr1.js";import{t as te}from"../chunks/BZUCTtPY.js";import{B as st,k as ye,l as ot}from"../chunks/Qi7G5Z5O.js";import{D as nt,A as Ae,G as it,a as lt}from"../chunks/C98FZ6Lp.js";import{E as dt}from"../chunks/xti5lSds.js";import{E as ct}from"../chunks/DmcacarF.js";import{S as ut}from"../chunks/kSv08Ec5.js";var pt=M('

'),mt=M('

Loading...

'),ft=M(""),gt=M('

Loading credentials...

'),vt=M('

No GitHub credentials found. Please create GitHub credentials first.

'),bt=M(`

You'll need to manually configure this secret in GitHub's enterprise webhook settings.

`),yt=M('

Create Enterprise

Enterprises are only available for GitHub endpoints.

');function ht(ae,se){Se(se,!1);const[oe,ne]=Ne(),u=()=>Le(qe,"$eagerCache",oe),G=n(),h=n(),p=n(),H=n(),E=Je();let x=n(!1),y=n(""),a=n({name:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin"});async function _(){if(!u().loaded.credentials&&!u().loading.credentials)try{await he.getCredentials()}catch(m){r(y,re(m))}}async function C(){if(!e(a).name||!e(a).name.trim()){r(y,"Enterprise name is required");return}if(!e(a).credentials_name){r(y,"Please select credentials");return}try{r(x,!0),r(y,"");const m={...e(a)};E("submit",m)}catch(m){r(y,re(m)),r(x,!1)}}Be(()=>{_()}),w(()=>u(),()=>{r(G,u().credentials)}),w(()=>u(),()=>{r(h,u().loading.credentials)}),w(()=>e(G),()=>{r(p,e(G).filter(m=>m.forge_type==="github"))}),w(()=>e(a),()=>{r(H,e(a).name&&e(a).name.trim()!==""&&e(a).credentials_name!==""&&e(a).webhook_secret&&e(a).webhook_secret.trim()!=="")}),He(),Ge(),tt(ae,{$$events:{close:()=>E("close")},children:(m,q)=>{var D=yt(),d=o(i(D),4);{var ie=f=>{var g=pt(),T=i(g),R=i(T,!0);l(T),l(g),N(()=>K(R,e(y))),$(f,g)};B(d,f=>{e(y)&&f(ie)})}var le=o(d,2);{var de=f=>{var g=mt();$(f,g)},ce=f=>{var g=bt(),T=i(g),R=o(i(T),2);Pe(R),l(T);var z=o(T,2),U=o(i(z),2);N(()=>{e(a),$e(()=>{e(p)})});var j=i(U);j.value=j.__value="";var ue=o(j);Xe(ue,1,()=>e(p),Ze,(s,c)=>{var P=ft(),v=i(P);l(P);var k={};N(()=>{K(v,`${e(c),b(()=>e(c).name)??""} (${e(c),b(()=>e(c).endpoint?.name||"Unknown endpoint")??""})`),k!==(k=(e(c),b(()=>e(c).name)))&&(P.value=(P.__value=(e(c),b(()=>e(c).name)))??"")}),$(s,P)}),l(U);var pe=o(U,2);{var me=s=>{var c=gt();$(s,c)},O=s=>{var c=We(),P=Ue(c);{var v=k=>{var Y=vt();$(k,Y)};B(P,k=>{e(p),b(()=>e(p).length===0)&&k(v)},!0)}$(s,c)};B(pe,s=>{e(h)?s(me):s(O,!1)})}l(z);var S=o(z,2),L=o(i(S),2);N(()=>{e(a),$e(()=>{})});var F=i(L);F.value=F.__value="roundrobin";var I=o(F);I.value=I.__value="pack",l(L),l(S);var J=o(S,2),V=o(i(J),2);Pe(V),Ve(2),l(J);var Q=o(J,2),X=i(Q),W=o(X,2),t=i(W,!0);l(W),l(Q),l(g),N(()=>{W.disabled=(e(x),e(h),e(H),e(p),b(()=>e(x)||e(h)||!e(H)||e(p).length===0)),K(t,e(x)?"Creating...":"Create Enterprise")}),Te(R,()=>e(a).name,s=>Z(a,e(a).name=s)),Me(U,()=>e(a).credentials_name,s=>Z(a,e(a).credentials_name=s)),Me(L,()=>e(a).pool_balancer_type,s=>Z(a,e(a).pool_balancer_type=s)),Te(V,()=>e(a).webhook_secret,s=>Z(a,e(a).webhook_secret=s)),Ce("click",X,()=>E("close")),Ce("submit",g,et(C)),$(f,g)};B(le,f=>{e(x)?f(de):f(ce,!1)})}l(D),$(m,D)},$$slots:{default:!0}}),Re(),ne()}var _t=M(''),xt=M('
',1);function jt(ae,se){Se(se,!1);const[oe,ne]=Ne(),u=()=>Le(qe,"$eagerCache",oe),G=n(),h=n(),p=n(),H=n();let E=n([]),x=n(!0),y=n(""),a=n(""),_=n(1),C=n(25),m=n(!1),q=n(!1),D=n(!1),d=n(null);async function ie(t){try{r(y,""),await be.createEnterprise(t),te.success("Enterprise Created",`Enterprise ${t.name} has been created successfully.`),r(m,!1)}catch(s){throw r(y,re(s)),s}}async function le(t){if(e(d))try{await be.updateEnterprise(e(d).id,t),te.success("Enterprise Updated",`Enterprise ${e(d).name} has been updated successfully.`),r(q,!1),r(d,null)}catch(s){throw s}}async function de(){if(e(d))try{r(y,""),await be.deleteEnterprise(e(d).id),te.success("Enterprise Deleted",`Enterprise ${e(d).name} has been deleted successfully.`),r(D,!1),r(d,null)}catch(t){const s=re(t);te.error("Delete Failed",s)}}function ce(){r(m,!0)}function f(t){r(d,t),r(q,!0)}function g(t){r(d,t),r(D,!0)}Be(async()=>{try{r(x,!0);const t=await he.getEnterprises();t&&Array.isArray(t)&&r(E,t)}catch(t){console.error("Failed to load enterprises:",t),r(y,t instanceof Error?t.message:"Failed to load enterprises")}finally{r(x,!1)}});async function T(){try{await he.retryResource("enterprises")}catch(t){console.error("Retry failed:",t)}}const R=[{key:"name",title:"Name",cellComponent:dt,cellProps:{entityType:"enterprise"}},{key:"endpoint",title:"Endpoint",cellComponent:ct},{key:"credentials",title:"Credentials",cellComponent:it,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:ut,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:lt}],z={entityType:"enterprise",primaryText:{field:"name",isClickable:!0,href:"/enterprises/{id}"},secondaryText:{field:"credentials_name"},badges:[{type:"custom",value:t=>ye(t)}],actions:[{type:"edit",handler:t=>f(t)},{type:"delete",handler:t=>g(t)}]};function U(t){r(a,t.detail.term),r(_,1)}function j(t){r(_,t.detail.page)}function ue(t){r(C,t.detail.perPage),r(_,1)}function pe(t){f(t.detail.item)}function me(t){g(t.detail.item)}w(()=>(e(E),u()),()=>{(!e(E).length||u().loaded.enterprises)&&r(E,u().enterprises)}),w(()=>u(),()=>{r(x,u().loading.enterprises)}),w(()=>u(),()=>{r(G,u().errorMessages.enterprises)}),w(()=>(e(E),e(a)),()=>{r(h,ot(e(E),e(a)))}),w(()=>(e(h),e(C)),()=>{r(p,Math.ceil(e(h).length/e(C)))}),w(()=>(e(_),e(p)),()=>{e(_)>e(p)&&e(p)>0&&r(_,e(p))}),w(()=>(e(h),e(_),e(C)),()=>{r(H,e(h).slice((e(_)-1)*e(C),e(_)*e(C)))}),He(),Ge();var O=xt();Ye(t=>{Ke.title="Enterprises - GARM"});var S=Ue(O),L=i(S);Qe(L,{title:"Enterprises",description:"Manage GitHub enterprises",actionLabel:"Add Enterprise",$$events:{action:ce}});var F=o(L,2);{let t=ee(()=>e(G)||e(y)),s=ee(()=>!!e(G));nt(F,{get columns(){return R},get data(){return e(H)},get loading(){return e(x)},get error(){return e(t)},get searchTerm(){return e(a)},searchPlaceholder:"Search enterprises...",get currentPage(){return e(_)},get perPage(){return e(C)},get totalPages(){return e(p)},get totalItems(){return e(h),b(()=>e(h).length)},itemName:"enterprises",emptyIconType:"building",get showRetry(){return e(s)},get mobileCardConfig(){return z},$$events:{search:U,pageChange:j,perPageChange:ue,retry:T,edit:pe,delete:me},$$slots:{"mobile-card":(c,P)=>{const v=ee(()=>P.item),k=ee(()=>(A(ye),A(e(v)),b(()=>ye(e(v)))));var Y=_t(),fe=i(Y),ge=i(fe),ve=i(ge),ze=i(ve,!0);l(ve);var _e=o(ve,2),je=i(_e,!0);l(_e),l(ge),l(fe);var xe=o(fe,2),ke=i(xe);st(ke,{get variant(){return A(e(k)),b(()=>e(k).variant)},get text(){return A(e(k)),b(()=>e(k).text)}});var we=o(ke,2),Ee=i(we);Ae(Ee,{action:"edit",size:"sm",title:"Edit enterprise",ariaLabel:"Edit enterprise",$$events:{click:()=>f(e(v))}});var Fe=o(Ee,2);Ae(Fe,{action:"delete",size:"sm",title:"Delete enterprise",ariaLabel:"Delete enterprise",$$events:{click:()=>g(e(v))}}),l(we),l(xe),l(Y),N(Ie=>{Oe(ge,"href",Ie),K(ze,(A(e(v)),b(()=>e(v).name))),K(je,(A(e(v)),b(()=>e(v).credentials_name)))},[()=>(A(De),A(e(v)),b(()=>De(`/enterprises/${e(v).id}`)))]),$(c,Y)}}})}l(S);var I=o(S,2);{var J=t=>{ht(t,{$$events:{close:()=>r(m,!1),submit:s=>ie(s.detail)}})};B(I,t=>{e(m)&&t(J)})}var V=o(I,2);{var Q=t=>{rt(t,{get entity(){return e(d)},entityType:"enterprise",$$events:{close:()=>{r(q,!1),r(d,null)},submit:s=>le(s.detail)}})};B(V,t=>{e(q)&&e(d)&&t(Q)})}var X=o(V,2);{var W=t=>{at(t,{title:"Delete Enterprise",message:"Are you sure you want to delete this enterprise? This action cannot be undone.",get itemName(){return e(d),b(()=>e(d).name)},$$events:{close:()=>{r(D,!1),r(d,null)},confirm:de}})};B(X,t=>{e(D)&&e(d)&&t(W)})}$(ae,O),Re(),ne()}export{jt as component}; +import"../chunks/DsnmJJEf.js";import{i as Ge}from"../chunks/DT0EGONV.js";import{p as Se,E as Je,o as Be,l as w,s as r,m as n,g as e,a as He,f as M,k as o,j as i,r as l,c as $,t as N,v as K,y as $e,u as b,z as Ve,w as Z,e as Ce,d as Re,B as We,b as Ue,h as Ye,$ as Ke,n as A,q as ee}from"../chunks/CRKWEg6v.js";import{a as Le,i as B,s as Ne}from"../chunks/e1m7WRO5.js";import{r as Pe,b as Me,d as De,c as Oe,g as be}from"../chunks/PY0OOjWY.js";import{P as Qe}from"../chunks/MvuzmHPl.js";import{e as Xe,i as Ze}from"../chunks/C73ZVvpW.js";import{b as Te}from"../chunks/B3a35v7J.js";import{p as et}from"../chunks/D4Caz1gY.js";import{M as tt}from"../chunks/XtdMJsQa.js";import{e as re}from"../chunks/BZiHL9L3.js";import{e as qe,a as he}from"../chunks/BoOhv-0Q.js";import{U as rt}from"../chunks/CfzLSqae.js";import{D as at}from"../chunks/DJ85e5Cv.js";import{t as te}from"../chunks/D6DjlyIQ.js";import{B as st,k as ye,l as ot}from"../chunks/BK-OTA7g.js";import{D as nt,A as Ae,G as it,a as lt}from"../chunks/Co9OVDfV.js";import{E as dt}from"../chunks/QGyLbggC.js";import{E as ct}from"../chunks/C0ude0fo.js";import{S as ut}from"../chunks/BVEuSEJl.js";var pt=M('

'),mt=M('

Loading...

'),ft=M(""),gt=M('

Loading credentials...

'),vt=M('

No GitHub credentials found. Please create GitHub credentials first.

'),bt=M(`

You'll need to manually configure this secret in GitHub's enterprise webhook settings.

`),yt=M('

Create Enterprise

Enterprises are only available for GitHub endpoints.

');function ht(ae,se){Se(se,!1);const[oe,ne]=Ne(),u=()=>Le(qe,"$eagerCache",oe),G=n(),h=n(),p=n(),H=n(),E=Je();let x=n(!1),y=n(""),a=n({name:"",credentials_name:"",webhook_secret:"",pool_balancer_type:"roundrobin"});async function _(){if(!u().loaded.credentials&&!u().loading.credentials)try{await he.getCredentials()}catch(m){r(y,re(m))}}async function C(){if(!e(a).name||!e(a).name.trim()){r(y,"Enterprise name is required");return}if(!e(a).credentials_name){r(y,"Please select credentials");return}try{r(x,!0),r(y,"");const m={...e(a)};E("submit",m)}catch(m){r(y,re(m)),r(x,!1)}}Be(()=>{_()}),w(()=>u(),()=>{r(G,u().credentials)}),w(()=>u(),()=>{r(h,u().loading.credentials)}),w(()=>e(G),()=>{r(p,e(G).filter(m=>m.forge_type==="github"))}),w(()=>e(a),()=>{r(H,e(a).name&&e(a).name.trim()!==""&&e(a).credentials_name!==""&&e(a).webhook_secret&&e(a).webhook_secret.trim()!=="")}),He(),Ge(),tt(ae,{$$events:{close:()=>E("close")},children:(m,q)=>{var D=yt(),d=o(i(D),4);{var ie=f=>{var g=pt(),T=i(g),R=i(T,!0);l(T),l(g),N(()=>K(R,e(y))),$(f,g)};B(d,f=>{e(y)&&f(ie)})}var le=o(d,2);{var de=f=>{var g=mt();$(f,g)},ce=f=>{var g=bt(),T=i(g),R=o(i(T),2);Pe(R),l(T);var z=o(T,2),U=o(i(z),2);N(()=>{e(a),$e(()=>{e(p)})});var j=i(U);j.value=j.__value="";var ue=o(j);Xe(ue,1,()=>e(p),Ze,(s,c)=>{var P=ft(),v=i(P);l(P);var k={};N(()=>{K(v,`${e(c),b(()=>e(c).name)??""} (${e(c),b(()=>e(c).endpoint?.name||"Unknown endpoint")??""})`),k!==(k=(e(c),b(()=>e(c).name)))&&(P.value=(P.__value=(e(c),b(()=>e(c).name)))??"")}),$(s,P)}),l(U);var pe=o(U,2);{var me=s=>{var c=gt();$(s,c)},O=s=>{var c=We(),P=Ue(c);{var v=k=>{var Y=vt();$(k,Y)};B(P,k=>{e(p),b(()=>e(p).length===0)&&k(v)},!0)}$(s,c)};B(pe,s=>{e(h)?s(me):s(O,!1)})}l(z);var S=o(z,2),L=o(i(S),2);N(()=>{e(a),$e(()=>{})});var F=i(L);F.value=F.__value="roundrobin";var I=o(F);I.value=I.__value="pack",l(L),l(S);var J=o(S,2),V=o(i(J),2);Pe(V),Ve(2),l(J);var Q=o(J,2),X=i(Q),W=o(X,2),t=i(W,!0);l(W),l(Q),l(g),N(()=>{W.disabled=(e(x),e(h),e(H),e(p),b(()=>e(x)||e(h)||!e(H)||e(p).length===0)),K(t,e(x)?"Creating...":"Create Enterprise")}),Te(R,()=>e(a).name,s=>Z(a,e(a).name=s)),Me(U,()=>e(a).credentials_name,s=>Z(a,e(a).credentials_name=s)),Me(L,()=>e(a).pool_balancer_type,s=>Z(a,e(a).pool_balancer_type=s)),Te(V,()=>e(a).webhook_secret,s=>Z(a,e(a).webhook_secret=s)),Ce("click",X,()=>E("close")),Ce("submit",g,et(C)),$(f,g)};B(le,f=>{e(x)?f(de):f(ce,!1)})}l(D),$(m,D)},$$slots:{default:!0}}),Re(),ne()}var _t=M(''),xt=M('
',1);function jt(ae,se){Se(se,!1);const[oe,ne]=Ne(),u=()=>Le(qe,"$eagerCache",oe),G=n(),h=n(),p=n(),H=n();let E=n([]),x=n(!0),y=n(""),a=n(""),_=n(1),C=n(25),m=n(!1),q=n(!1),D=n(!1),d=n(null);async function ie(t){try{r(y,""),await be.createEnterprise(t),te.success("Enterprise Created",`Enterprise ${t.name} has been created successfully.`),r(m,!1)}catch(s){throw r(y,re(s)),s}}async function le(t){if(e(d))try{await be.updateEnterprise(e(d).id,t),te.success("Enterprise Updated",`Enterprise ${e(d).name} has been updated successfully.`),r(q,!1),r(d,null)}catch(s){throw s}}async function de(){if(e(d))try{r(y,""),await be.deleteEnterprise(e(d).id),te.success("Enterprise Deleted",`Enterprise ${e(d).name} has been deleted successfully.`),r(D,!1),r(d,null)}catch(t){const s=re(t);te.error("Delete Failed",s)}}function ce(){r(m,!0)}function f(t){r(d,t),r(q,!0)}function g(t){r(d,t),r(D,!0)}Be(async()=>{try{r(x,!0);const t=await he.getEnterprises();t&&Array.isArray(t)&&r(E,t)}catch(t){console.error("Failed to load enterprises:",t),r(y,t instanceof Error?t.message:"Failed to load enterprises")}finally{r(x,!1)}});async function T(){try{await he.retryResource("enterprises")}catch(t){console.error("Retry failed:",t)}}const R=[{key:"name",title:"Name",cellComponent:dt,cellProps:{entityType:"enterprise"}},{key:"endpoint",title:"Endpoint",cellComponent:ct},{key:"credentials",title:"Credentials",cellComponent:it,cellProps:{field:"credentials_name"}},{key:"status",title:"Status",cellComponent:ut,cellProps:{statusType:"entity"}},{key:"actions",title:"Actions",align:"right",cellComponent:lt}],z={entityType:"enterprise",primaryText:{field:"name",isClickable:!0,href:"/enterprises/{id}"},secondaryText:{field:"credentials_name"},badges:[{type:"custom",value:t=>ye(t)}],actions:[{type:"edit",handler:t=>f(t)},{type:"delete",handler:t=>g(t)}]};function U(t){r(a,t.detail.term),r(_,1)}function j(t){r(_,t.detail.page)}function ue(t){r(C,t.detail.perPage),r(_,1)}function pe(t){f(t.detail.item)}function me(t){g(t.detail.item)}w(()=>(e(E),u()),()=>{(!e(E).length||u().loaded.enterprises)&&r(E,u().enterprises)}),w(()=>u(),()=>{r(x,u().loading.enterprises)}),w(()=>u(),()=>{r(G,u().errorMessages.enterprises)}),w(()=>(e(E),e(a)),()=>{r(h,ot(e(E),e(a)))}),w(()=>(e(h),e(C)),()=>{r(p,Math.ceil(e(h).length/e(C)))}),w(()=>(e(_),e(p)),()=>{e(_)>e(p)&&e(p)>0&&r(_,e(p))}),w(()=>(e(h),e(_),e(C)),()=>{r(H,e(h).slice((e(_)-1)*e(C),e(_)*e(C)))}),He(),Ge();var O=xt();Ye(t=>{Ke.title="Enterprises - GARM"});var S=Ue(O),L=i(S);Qe(L,{title:"Enterprises",description:"Manage GitHub enterprises",actionLabel:"Add Enterprise",$$events:{action:ce}});var F=o(L,2);{let t=ee(()=>e(G)||e(y)),s=ee(()=>!!e(G));nt(F,{get columns(){return R},get data(){return e(H)},get loading(){return e(x)},get error(){return e(t)},get searchTerm(){return e(a)},searchPlaceholder:"Search enterprises...",get currentPage(){return e(_)},get perPage(){return e(C)},get totalPages(){return e(p)},get totalItems(){return e(h),b(()=>e(h).length)},itemName:"enterprises",emptyIconType:"building",get showRetry(){return e(s)},get mobileCardConfig(){return z},$$events:{search:U,pageChange:j,perPageChange:ue,retry:T,edit:pe,delete:me},$$slots:{"mobile-card":(c,P)=>{const v=ee(()=>P.item),k=ee(()=>(A(ye),A(e(v)),b(()=>ye(e(v)))));var Y=_t(),fe=i(Y),ge=i(fe),ve=i(ge),ze=i(ve,!0);l(ve);var _e=o(ve,2),je=i(_e,!0);l(_e),l(ge),l(fe);var xe=o(fe,2),ke=i(xe);st(ke,{get variant(){return A(e(k)),b(()=>e(k).variant)},get text(){return A(e(k)),b(()=>e(k).text)}});var we=o(ke,2),Ee=i(we);Ae(Ee,{action:"edit",size:"sm",title:"Edit enterprise",ariaLabel:"Edit enterprise",$$events:{click:()=>f(e(v))}});var Fe=o(Ee,2);Ae(Fe,{action:"delete",size:"sm",title:"Delete enterprise",ariaLabel:"Delete enterprise",$$events:{click:()=>g(e(v))}}),l(we),l(xe),l(Y),N(Ie=>{Oe(ge,"href",Ie),K(ze,(A(e(v)),b(()=>e(v).name))),K(je,(A(e(v)),b(()=>e(v).credentials_name)))},[()=>(A(De),A(e(v)),b(()=>De(`/enterprises/${e(v).id}`)))]),$(c,Y)}}})}l(S);var I=o(S,2);{var J=t=>{ht(t,{$$events:{close:()=>r(m,!1),submit:s=>ie(s.detail)}})};B(I,t=>{e(m)&&t(J)})}var V=o(I,2);{var Q=t=>{rt(t,{get entity(){return e(d)},entityType:"enterprise",$$events:{close:()=>{r(q,!1),r(d,null)},submit:s=>le(s.detail)}})};B(V,t=>{e(q)&&e(d)&&t(Q)})}var X=o(V,2);{var W=t=>{at(t,{title:"Delete Enterprise",message:"Are you sure you want to delete this enterprise? This action cannot be undone.",get itemName(){return e(d),b(()=>e(d).name)},$$events:{close:()=>{r(D,!1),r(d,null)},confirm:de}})};B(X,t=>{e(D)&&e(d)&&t(W)})}$(ae,O),Re(),ne()}export{jt as component}; diff --git a/webapp/assets/_app/immutable/nodes/6.Zmbtl6EE.js b/webapp/assets/_app/immutable/nodes/6.DVlv4QbD.js similarity index 88% rename from webapp/assets/_app/immutable/nodes/6.Zmbtl6EE.js rename to webapp/assets/_app/immutable/nodes/6.DVlv4QbD.js index c5f23280..8f5ac7f6 100644 --- a/webapp/assets/_app/immutable/nodes/6.Zmbtl6EE.js +++ b/webapp/assets/_app/immutable/nodes/6.DVlv4QbD.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as qe}from"../chunks/zNh6Oe5P.js";import{p as ze,o as Ge,A as je,l as Re,a as Ve,f as S,h as We,b as F,t as j,c as E,d as Je,u as i,n as le,v as de,g as e,m as l,j as u,k as d,s,$ as Ke,r as f,y as Oe,B as ce,q as v}from"../chunks/sWNKMed7.js";import{i as g,s as Qe,a as Xe}from"../chunks/Ccl3fNd2.js";import{d as B,c as Ye,g as y}from"../chunks/C1jihKTd.js";import{p as Ze}from"../chunks/DQxjqDvj.js";import{g as pe}from"../chunks/H5nVv3Is.js";import{U as et}from"../chunks/Gp00ljCM.js";import{D as ue}from"../chunks/ujTHIzr1.js";import{E as tt,P as rt,a as at}from"../chunks/y6VQBV4I.js";import{D as st,I as nt}from"../chunks/C50dSO3X.js";import{g as fe}from"../chunks/Qi7G5Z5O.js";import{w as R}from"../chunks/BuuPrWMc.js";import{t as x}from"../chunks/BZUCTtPY.js";import{C as ot}from"../chunks/DSOLL96f.js";import{e as V}from"../chunks/BZiHL9L3.js";var it=S('

Loading enterprise...

'),lt=S('

'),dt=S(" ",1),ct=S(' ',1);function Pt(me,ve){ze(ve,!1);const[ge,ye]=Qe(),W=()=>Xe(Ze,"$page",ge),$=l();let r=l(null),c=l([]),m=l([]),U=l(!0),P=l(""),T=l(!1),M=l(!1),I=l(!1),C=l(!1),p=l(null),k=null,h=l();async function J(){if(e($))try{s(U,!0),s(P,"");const[t,a,n]=await Promise.all([y.getEnterprise(e($)),y.listEnterprisePools(e($)).catch(()=>[]),y.listEnterpriseInstances(e($)).catch(()=>[])]);s(r,t),s(c,a),s(m,n)}catch(t){s(P,t instanceof Error?t.message:"Failed to load enterprise")}finally{s(U,!1)}}function he(t,a){const{events:n}=t;return{...a,events:n}}async function _e(t){if(e(r))try{await y.updateEnterprise(e(r).id,t),await J(),x.success("Enterprise Updated",`Enterprise ${e(r).name} has been updated successfully.`),s(T,!1)}catch(a){throw a}}async function be(){if(e(r)){try{await y.deleteEnterprise(e(r).id),pe(B("/enterprises"))}catch(t){const a=V(t);x.error("Delete Failed",a)}s(M,!1)}}async function Ee(){if(e(p))try{await y.deleteInstance(e(p).name),x.success("Instance Deleted",`Instance ${e(p).name} has been deleted successfully.`),s(I,!1),s(p,null)}catch(t){const a=V(t);x.error("Delete Failed",a),s(I,!1),s(p,null)}}function xe(t){s(p,t),s(I,!0)}function $e(){s(C,!0)}async function Ie(t){try{if(!e(r))return;await y.createEnterprisePool(e(r).id,t.detail),x.success("Pool Created",`Pool has been created successfully for enterprise ${e(r).name}.`),s(C,!1)}catch(a){const n=V(a);x.error("Pool Creation Failed",n)}}function K(){e(h)&&Oe(h,e(h).scrollTop=e(h).scrollHeight)}function we(t){if(t.operation==="update"){const a=t.payload;if(e(r)&&a.id===e(r).id){const n=e(r).events?.length||0,o=a.events?.length||0;s(r,he(e(r),a)),o>n&&setTimeout(()=>{K()},100)}}else if(t.operation==="delete"){const a=t.payload.id||t.payload;e(r)&&e(r).id===a&&pe(B("/enterprises"))}}function De(t){if(!e(r))return;const a=t.payload;if(a.enterprise_id===e(r).id){if(t.operation==="create")s(c,[...e(c),a]);else if(t.operation==="update")s(c,e(c).map(n=>n.id===a.id?a:n));else if(t.operation==="delete"){const n=a.id||a;s(c,e(c).filter(o=>o.id!==n))}}}function Pe(t){if(!e(r)||!e(c))return;const a=t.payload;if(e(c).some(o=>o.id===a.pool_id)){if(t.operation==="create")s(m,[...e(m),a]);else if(t.operation==="update")s(m,e(m).map(o=>o.id===a.id?a:o));else if(t.operation==="delete"){const o=a.id||a;s(m,e(m).filter(q=>q.id!==o))}}}Ge(()=>{J().then(()=>{e(r)?.events?.length&&setTimeout(()=>{K()},100)});const t=R.subscribeToEntity("enterprise",["update","delete"],we),a=R.subscribeToEntity("pool",["create","update","delete"],De),n=R.subscribeToEntity("instance",["create","update","delete"],Pe);k=()=>{t(),a(),n()}}),je(()=>{k&&(k(),k=null)}),Re(()=>W(),()=>{s($,W().params.id)}),Ve(),qe();var O=ct();We(t=>{j(()=>Ke.title=`${e(r),i(()=>e(r)?`${e(r).name} - Enterprise Details`:"Enterprise Details")??""} - GARM`)});var L=F(O),H=u(L),Q=u(H),N=u(Q),Te=u(N);f(N);var X=d(N,2),Y=u(X),Z=d(u(Y),2),Me=u(Z,!0);f(Z),f(Y),f(X),f(Q),f(H);var Ce=d(H,2);{var ke=t=>{var a=it();E(t,a)},Ae=t=>{var a=ce(),n=F(a);{var o=_=>{var b=lt(),A=u(b),z=u(A,!0);f(A),f(b),j(()=>de(z,e(P))),E(_,b)},q=_=>{var b=ce(),A=F(b);{var z=G=>{var ae=dt(),se=F(ae);{let w=v(()=>(e(r),i(()=>e(r).name||"Enterprise"))),D=v(()=>(e(r),i(()=>e(r).endpoint?.name))),Ne=v(()=>(le(fe),i(()=>fe("github"))));st(se,{get title(){return e(w)},get subtitle(){return`Endpoint: ${e(D)??""} • GitHub Enterprise`},get forgeIcon(){return e(Ne)},onEdit:()=>s(T,!0),onDelete:()=>s(M,!0)})}var ne=d(se,2);tt(ne,{get entity(){return e(r)},entityType:"enterprise"});var oe=d(ne,2);{let w=v(()=>(e(r),i(()=>e(r).id||""))),D=v(()=>(e(r),i(()=>e(r).name||"")));rt(oe,{get pools(){return e(c)},entityType:"enterprise",get entityId(){return e(w)},get entityName(){return e(D)},$$events:{addPool:$e}})}var ie=d(oe,2);nt(ie,{get instances(){return e(m)},entityType:"enterprise",onDeleteInstance:xe});var He=d(ie,2);{let w=v(()=>(e(r),i(()=>e(r)?.events)));at(He,{get events(){return e(w)},get eventsContainer(){return e(h)},set eventsContainer(D){s(h,D)},$$legacy:!0})}E(G,ae)};g(A,G=>{e(r)&&G(z)},!0)}E(_,b)};g(n,_=>{e(P)?_(o):_(q,!1)},!0)}E(t,a)};g(Ce,t=>{e(U)?t(ke):t(Ae,!1)})}f(L);var ee=d(L,2);{var Fe=t=>{et(t,{get entity(){return e(r)},entityType:"enterprise",$$events:{close:()=>s(T,!1),submit:a=>_e(a.detail)}})};g(ee,t=>{e(T)&&e(r)&&t(Fe)})}var te=d(ee,2);{var Be=t=>{ue(t,{title:"Delete Enterprise",message:"Are you sure you want to delete this enterprise? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(r),i(()=>e(r).name)},$$events:{close:()=>s(M,!1),confirm:be}})};g(te,t=>{e(M)&&e(r)&&t(Be)})}var re=d(te,2);{var Se=t=>{ue(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(p),i(()=>e(p).name)},$$events:{close:()=>{s(I,!1),s(p,null)},confirm:Ee}})};g(re,t=>{e(I)&&e(p)&&t(Se)})}var Ue=d(re,2);{var Le=t=>{{let a=v(()=>(e(r),i(()=>e(r).id||"")));ot(t,{initialEntityType:"enterprise",get initialEntityId(){return e(a)},$$events:{close:()=>s(C,!1),submit:Ie}})}};g(Ue,t=>{e(C)&&e(r)&&t(Le)})}j(t=>{Ye(Te,"href",t),de(Me,(e(r),i(()=>e(r)?e(r).name:"Loading...")))},[()=>(le(B),i(()=>B("/enterprises")))]),E(me,O),Je(),ye()}export{Pt as component}; +import"../chunks/DsnmJJEf.js";import{i as qe}from"../chunks/DT0EGONV.js";import{p as ze,o as Ge,A as je,l as Re,a as Ve,f as S,h as We,b as F,t as j,c as E,d as Je,u as i,n as le,v as de,g as e,m as l,j as u,k as d,s,$ as Ke,r as f,w as Oe,B as ce,q as v}from"../chunks/CRKWEg6v.js";import{i as g,s as Qe,a as Xe}from"../chunks/e1m7WRO5.js";import{d as B,c as Ye,g as y}from"../chunks/PY0OOjWY.js";import{p as Ze}from"../chunks/lXKAs5Tk.js";import{g as pe}from"../chunks/C-HmqlJ7.js";import{U as et}from"../chunks/CfzLSqae.js";import{D as ue}from"../chunks/DJ85e5Cv.js";import{E as tt,P as rt,a as at}from"../chunks/t7D7emdy.js";import{D as st,I as nt}from"../chunks/BO15iAaC.js";import{g as fe}from"../chunks/BK-OTA7g.js";import{w as R}from"../chunks/C73ZVvpW.js";import{t as x}from"../chunks/D6DjlyIQ.js";import{C as ot}from"../chunks/CUjyd2pn.js";import{e as V}from"../chunks/BZiHL9L3.js";var it=S('

Loading enterprise...

'),lt=S('

'),dt=S(" ",1),ct=S(' ',1);function Pt(me,ve){ze(ve,!1);const[ge,ye]=Qe(),W=()=>Xe(Ze,"$page",ge),$=l();let r=l(null),c=l([]),m=l([]),U=l(!0),P=l(""),T=l(!1),M=l(!1),I=l(!1),C=l(!1),p=l(null),k=null,h=l();async function J(){if(e($))try{s(U,!0),s(P,"");const[t,a,n]=await Promise.all([y.getEnterprise(e($)),y.listEnterprisePools(e($)).catch(()=>[]),y.listEnterpriseInstances(e($)).catch(()=>[])]);s(r,t),s(c,a),s(m,n)}catch(t){s(P,t instanceof Error?t.message:"Failed to load enterprise")}finally{s(U,!1)}}function he(t,a){const{events:n}=t;return{...a,events:n}}async function _e(t){if(e(r))try{await y.updateEnterprise(e(r).id,t),await J(),x.success("Enterprise Updated",`Enterprise ${e(r).name} has been updated successfully.`),s(T,!1)}catch(a){throw a}}async function be(){if(e(r)){try{await y.deleteEnterprise(e(r).id),pe(B("/enterprises"))}catch(t){const a=V(t);x.error("Delete Failed",a)}s(M,!1)}}async function Ee(){if(e(p))try{await y.deleteInstance(e(p).name),x.success("Instance Deleted",`Instance ${e(p).name} has been deleted successfully.`),s(I,!1),s(p,null)}catch(t){const a=V(t);x.error("Delete Failed",a),s(I,!1),s(p,null)}}function xe(t){s(p,t),s(I,!0)}function $e(){s(C,!0)}async function Ie(t){try{if(!e(r))return;await y.createEnterprisePool(e(r).id,t.detail),x.success("Pool Created",`Pool has been created successfully for enterprise ${e(r).name}.`),s(C,!1)}catch(a){const n=V(a);x.error("Pool Creation Failed",n)}}function K(){e(h)&&Oe(h,e(h).scrollTop=e(h).scrollHeight)}function we(t){if(t.operation==="update"){const a=t.payload;if(e(r)&&a.id===e(r).id){const n=e(r).events?.length||0,o=a.events?.length||0;s(r,he(e(r),a)),o>n&&setTimeout(()=>{K()},100)}}else if(t.operation==="delete"){const a=t.payload.id||t.payload;e(r)&&e(r).id===a&&pe(B("/enterprises"))}}function De(t){if(!e(r))return;const a=t.payload;if(a.enterprise_id===e(r).id){if(t.operation==="create")s(c,[...e(c),a]);else if(t.operation==="update")s(c,e(c).map(n=>n.id===a.id?a:n));else if(t.operation==="delete"){const n=a.id||a;s(c,e(c).filter(o=>o.id!==n))}}}function Pe(t){if(!e(r)||!e(c))return;const a=t.payload;if(e(c).some(o=>o.id===a.pool_id)){if(t.operation==="create")s(m,[...e(m),a]);else if(t.operation==="update")s(m,e(m).map(o=>o.id===a.id?a:o));else if(t.operation==="delete"){const o=a.id||a;s(m,e(m).filter(q=>q.id!==o))}}}Ge(()=>{J().then(()=>{e(r)?.events?.length&&setTimeout(()=>{K()},100)});const t=R.subscribeToEntity("enterprise",["update","delete"],we),a=R.subscribeToEntity("pool",["create","update","delete"],De),n=R.subscribeToEntity("instance",["create","update","delete"],Pe);k=()=>{t(),a(),n()}}),je(()=>{k&&(k(),k=null)}),Re(()=>W(),()=>{s($,W().params.id)}),Ve(),qe();var O=ct();We(t=>{j(()=>Ke.title=`${e(r),i(()=>e(r)?`${e(r).name} - Enterprise Details`:"Enterprise Details")??""} - GARM`)});var L=F(O),H=u(L),Q=u(H),N=u(Q),Te=u(N);f(N);var X=d(N,2),Y=u(X),Z=d(u(Y),2),Me=u(Z,!0);f(Z),f(Y),f(X),f(Q),f(H);var Ce=d(H,2);{var ke=t=>{var a=it();E(t,a)},Ae=t=>{var a=ce(),n=F(a);{var o=_=>{var b=lt(),A=u(b),z=u(A,!0);f(A),f(b),j(()=>de(z,e(P))),E(_,b)},q=_=>{var b=ce(),A=F(b);{var z=G=>{var ae=dt(),se=F(ae);{let w=v(()=>(e(r),i(()=>e(r).name||"Enterprise"))),D=v(()=>(e(r),i(()=>e(r).endpoint?.name))),Ne=v(()=>(le(fe),i(()=>fe("github"))));st(se,{get title(){return e(w)},get subtitle(){return`Endpoint: ${e(D)??""} • GitHub Enterprise`},get forgeIcon(){return e(Ne)},onEdit:()=>s(T,!0),onDelete:()=>s(M,!0)})}var ne=d(se,2);tt(ne,{get entity(){return e(r)},entityType:"enterprise"});var oe=d(ne,2);{let w=v(()=>(e(r),i(()=>e(r).id||""))),D=v(()=>(e(r),i(()=>e(r).name||"")));rt(oe,{get pools(){return e(c)},entityType:"enterprise",get entityId(){return e(w)},get entityName(){return e(D)},$$events:{addPool:$e}})}var ie=d(oe,2);nt(ie,{get instances(){return e(m)},entityType:"enterprise",onDeleteInstance:xe});var He=d(ie,2);{let w=v(()=>(e(r),i(()=>e(r)?.events)));at(He,{get events(){return e(w)},get eventsContainer(){return e(h)},set eventsContainer(D){s(h,D)},$$legacy:!0})}E(G,ae)};g(A,G=>{e(r)&&G(z)},!0)}E(_,b)};g(n,_=>{e(P)?_(o):_(q,!1)},!0)}E(t,a)};g(Ce,t=>{e(U)?t(ke):t(Ae,!1)})}f(L);var ee=d(L,2);{var Fe=t=>{et(t,{get entity(){return e(r)},entityType:"enterprise",$$events:{close:()=>s(T,!1),submit:a=>_e(a.detail)}})};g(ee,t=>{e(T)&&e(r)&&t(Fe)})}var te=d(ee,2);{var Be=t=>{ue(t,{title:"Delete Enterprise",message:"Are you sure you want to delete this enterprise? This action cannot be undone and will remove all associated pools and instances.",get itemName(){return e(r),i(()=>e(r).name)},$$events:{close:()=>s(M,!1),confirm:be}})};g(te,t=>{e(M)&&e(r)&&t(Be)})}var re=d(te,2);{var Se=t=>{ue(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(p),i(()=>e(p).name)},$$events:{close:()=>{s(I,!1),s(p,null)},confirm:Ee}})};g(re,t=>{e(I)&&e(p)&&t(Se)})}var Ue=d(re,2);{var Le=t=>{{let a=v(()=>(e(r),i(()=>e(r).id||"")));ot(t,{initialEntityType:"enterprise",get initialEntityId(){return e(a)},$$events:{close:()=>s(C,!1),submit:Ie}})}};g(Ue,t=>{e(C)&&e(r)&&t(Le)})}j(t=>{Ye(Te,"href",t),de(Me,(e(r),i(()=>e(r)?e(r).name:"Loading...")))},[()=>(le(B),i(()=>B("/enterprises")))]),E(me,O),Je(),ye()}export{Pt as component}; diff --git a/webapp/assets/_app/immutable/nodes/7.WtAOvpBB.js b/webapp/assets/_app/immutable/nodes/7.DZShrq7C.js similarity index 96% rename from webapp/assets/_app/immutable/nodes/7.WtAOvpBB.js rename to webapp/assets/_app/immutable/nodes/7.DZShrq7C.js index 0c6b45d5..d90fbde2 100644 --- a/webapp/assets/_app/immutable/nodes/7.WtAOvpBB.js +++ b/webapp/assets/_app/immutable/nodes/7.DZShrq7C.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as Ye}from"../chunks/zNh6Oe5P.js";import{p as Ze,o as er,l as A,a as rr,f as m,h as ar,t as re,g as e,e as tr,c as n,d as dr,m as i,$ as lr,j as a,u,n as $e,k as d,s,r as t,z as L,C as sr,b as or,D as ir,v as Ue,q as nr}from"../chunks/sWNKMed7.js";import{i as p,s as vr,a as mr}from"../chunks/Ccl3fNd2.js";import{B as ze,d as y,c as Me,s as N,r as P}from"../chunks/C1jihKTd.js";import{b as q}from"../chunks/CLagxtgo.js";import{p as cr}from"../chunks/D4Caz1gY.js";import{g as W}from"../chunks/H5nVv3Is.js";import{a as ur,b as pr}from"../chunks/BbmBnft9.js";import{t as br}from"../chunks/BZUCTtPY.js";import{e as gr}from"../chunks/BZiHL9L3.js";var fr=m('

Username is required

'),xr=m('

Please enter a valid email address

'),hr=m('

Full name is required

'),yr=m('

Password must be at least 8 characters long

'),kr=m('

Passwords do not match

'),_r=sr(' Advanced Configuration (Optional)',1),wr=m('

URL where runners can fetch metadata and setup information.

URL where runners send status updates and lifecycle events.

URL where GitHub/Gitea will send webhook events for job notifications.

'),$r=m("
  • Enter a username
  • "),Ur=m("
  • Enter a valid email address
  • "),zr=m("
  • Enter your full name
  • "),Mr=m("
  • Enter a password with at least 8 characters
  • "),Rr=m("
  • Confirm your password
  • "),Ar=m('

    Please complete all required fields

    '),Pr=m('

    '),qr=m('
    GARM

    Welcome to GARM

    Complete the first-run setup to get started

    First-Run Initialization

    GARM needs to be initialized before first use. This will create the admin user and generate a unique controller ID for this installation.

    This will create the admin user, generate a unique controller ID, and configure the required URLs for your GARM installation.
    Make sure to remember these credentials as they cannot be recovered.

    ');function Dr(Re,Ae){Ze(Ae,!1);const[Pe,qe]=vr(),C=()=>mr(ur,"$authStore",Pe),_=i(),w=i(),$=i(),U=i(),z=i(),S=i();let f=i("admin"),b=i("admin@garm.local"),c=i(""),x=i(""),h=i("Administrator"),j=i(!1),H=i(""),T=i(!1),I=i(""),E=i(""),V=i("");async function Ce(){if(e(S))try{s(j,!0),s(H,""),await pr.initialize(e(f).trim(),e(b).trim(),e(c),e(h).trim(),{callbackUrl:e(I).trim()||void 0,metadataUrl:e(E).trim()||void 0,webhookUrl:e(V).trim()||void 0}),br.success("GARM Initialized","GARM has been successfully initialized. Welcome!"),W(y("/"))}catch(r){s(H,gr(r))}finally{s(j,!1)}}er(()=>{if(C().isAuthenticated){W(y("/"));return}!C().needsInitialization&&!C().loading&&W(y("/login"))}),A(()=>(e(I),e(E),e(V)),()=>{if(typeof window<"u"){const r=window.location.origin;e(I)||s(I,`${r}/api/v1/callbacks`),e(E)||s(E,`${r}/api/v1/metadata`),e(V)||s(V,`${r}/webhooks`)}}),A(()=>e(b),()=>{s(_,e(b).trim()!==""&&e(b).includes("@"))}),A(()=>e(c),()=>{s(w,e(c).length>=8)}),A(()=>(e(x),e(c)),()=>{s($,e(x).length>0&&e(c)===e(x))}),A(()=>e(f),()=>{s(U,e(f).trim()!=="")}),A(()=>e(h),()=>{s(z,e(h).trim()!=="")}),A(()=>(e(U),e(_),e(z),e(w),e($)),()=>{s(S,e(U)&&e(_)&&e(z)&&e(w)&&e($))}),A(()=>(C(),y),()=>{C().isAuthenticated?W(y("/")):!C().needsInitialization&&!C().loading&&W(y("/login"))}),rr(),Ye();var ae=qr();ar(r=>{lr.title="Initialize GARM - First Run Setup"});var te=a(ae),me=a(te),ce=a(me),Ge=d(ce,2);t(me),L(4),t(te);var ue=d(te,2),pe=d(a(ue),2),de=a(pe),le=a(de),be=d(a(le),2),O=a(be);P(O);var Le=d(O,2);{var Ie=r=>{var l=fr();n(r,l)};p(Le,r=>{e(U),e(f),u(()=>!e(U)&&e(f).length>0)&&r(Ie)})}t(be),t(le);var se=d(le,2),ge=d(a(se),2),J=a(ge);P(J);var Ee=d(J,2);{var Ve=r=>{var l=xr();n(r,l)};p(Ee,r=>{e(_),e(b),u(()=>!e(_)&&e(b).length>0)&&r(Ve)})}t(ge),t(se);var oe=d(se,2),fe=d(a(oe),2),K=a(fe);P(K);var Be=d(K,2);{var Ne=r=>{var l=hr();n(r,l)};p(Be,r=>{e(z),e(h),u(()=>!e(z)&&e(h).length>0)&&r(Ne)})}t(fe),t(oe);var ie=d(oe,2),xe=d(a(ie),2),Q=a(xe);P(Q);var Se=d(Q,2);{var je=r=>{var l=yr();n(r,l)};p(Se,r=>{e(w),e(c),u(()=>!e(w)&&e(c).length>0)&&r(je)})}t(xe),t(ie);var ne=d(ie,2),he=d(a(ne),2),X=a(he);P(X);var Fe=d(X,2);{var De=r=>{var l=kr();n(r,l)};p(Fe,r=>{e($),e(x),u(()=>!e($)&&e(x).length>0)&&r(De)})}t(he),t(ne);var ve=d(ne,2),ye=a(ve);ze(ye,{type:"button",variant:"ghost",size:"sm",$$events:{click:()=>s(T,!e(T))},children:(r,l)=>{var g=_r(),v=or(g);L(),re(()=>N(v,0,`w-4 h-4 mr-2 transition-transform ${e(T)?"rotate-90":""}`)),n(r,g)},$$slots:{default:!0}});var We=d(ye,2);{var He=r=>{var l=wr(),g=a(l),v=a(g),M=d(a(v),2),G=a(M);P(G),L(2),t(M),t(v);var B=d(v,2),Y=d(a(B),2),F=a(Y);P(F),L(2),t(Y),t(B);var Z=d(B,2),D=d(a(Z),2),ee=a(D);P(ee),L(2),t(D),t(Z),t(g),t(l),q(G,()=>e(E),R=>s(E,R)),q(F,()=>e(I),R=>s(I,R)),q(ee,()=>e(V),R=>s(V,R)),n(r,l)};p(We,r=>{e(T)&&r(He)})}t(ve);var ke=d(ve,2);{var Te=r=>{var l=Ar(),g=a(l),v=d(a(g),2),M=d(a(v),2),G=a(M),B=a(G);{var Y=o=>{var k=$r();n(o,k)};p(B,o=>{e(U)||o(Y)})}var F=d(B,2);{var Z=o=>{var k=Ur();n(o,k)};p(F,o=>{e(_)||o(Z)})}var D=d(F,2);{var ee=o=>{var k=zr();n(o,k)};p(D,o=>{e(z)||o(ee)})}var R=d(D,2);{var Ke=o=>{var k=Mr();n(o,k)};p(R,o=>{e(w)||o(Ke)})}var Qe=d(R,2);{var Xe=o=>{var k=Rr();n(o,k)};p(Qe,o=>{e($)||o(Xe)})}t(G),t(M),t(v),t(g),t(l),n(r,l)};p(ke,r=>{e(S),e(f),e(b),e(h),e(c),e(x),u(()=>!e(S)&&(e(f).length>0||e(b).length>0||e(h).length>0||e(c).length>0||e(x).length>0))&&r(Te)})}var _e=d(ke,2);{var Oe=r=>{var l=Pr(),g=a(l),v=d(a(g),2),M=a(v),G=a(M,!0);t(M),t(v),t(g),t(l),re(()=>Ue(G,e(H))),n(r,l)};p(_e,r=>{e(H)&&r(Oe)})}var we=d(_e,2),Je=a(we);{let r=nr(()=>!e(S)||e(j));ze(Je,{type:"submit",variant:"primary",size:"lg",fullWidth:!0,get loading(){return e(j)},get disabled(){return e(r)},children:(l,g)=>{L();var v=ir();re(()=>Ue(v,e(j)?"Initializing...":"Initialize GARM")),n(l,v)},$$slots:{default:!0}})}t(we),t(de),L(2),t(pe),t(ue),t(ae),re((r,l)=>{Me(ce,"src",r),Me(Ge,"src",l),N(O,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(U),e(f),u(()=>!e(U)&&e(f).length>0?"border-red-300 dark:border-red-600":"")??""}`),N(J,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(_),e(b),u(()=>!e(_)&&e(b).length>0?"border-red-300 dark:border-red-600":"")??""}`),N(K,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(z),e(h),u(()=>!e(z)&&e(h).length>0?"border-red-300 dark:border-red-600":"")??""}`),N(Q,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(w),e(c),u(()=>!e(w)&&e(c).length>0?"border-red-300 dark:border-red-600":"")??""}`),N(X,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e($),e(x),u(()=>!e($)&&e(x).length>0?"border-red-300 dark:border-red-600":"")??""}`)},[()=>($e(y),u(()=>y("/assets/garm-light.svg"))),()=>($e(y),u(()=>y("/assets/garm-dark.svg")))]),q(O,()=>e(f),r=>s(f,r)),q(J,()=>e(b),r=>s(b,r)),q(K,()=>e(h),r=>s(h,r)),q(Q,()=>e(c),r=>s(c,r)),q(X,()=>e(x),r=>s(x,r)),tr("submit",de,cr(Ce)),n(Re,ae),dr(),qe()}export{Dr as component}; +import"../chunks/DsnmJJEf.js";import{i as Ye}from"../chunks/DT0EGONV.js";import{p as Ze,o as er,l as A,a as rr,f as m,h as ar,t as re,g as e,e as tr,c as n,d as dr,m as i,$ as lr,j as a,u,n as $e,k as d,s,r as t,z as L,C as sr,b as or,D as ir,v as Ue,q as nr}from"../chunks/CRKWEg6v.js";import{i as p,s as vr,a as mr}from"../chunks/e1m7WRO5.js";import{B as ze,d as y,c as Me,s as N,r as P}from"../chunks/PY0OOjWY.js";import{b as q}from"../chunks/B3a35v7J.js";import{p as cr}from"../chunks/D4Caz1gY.js";import{g as W}from"../chunks/C-HmqlJ7.js";import{a as ur,b as pr}from"../chunks/DOmGc-W5.js";import{t as br}from"../chunks/D6DjlyIQ.js";import{e as gr}from"../chunks/BZiHL9L3.js";var fr=m('

    Username is required

    '),xr=m('

    Please enter a valid email address

    '),hr=m('

    Full name is required

    '),yr=m('

    Password must be at least 8 characters long

    '),kr=m('

    Passwords do not match

    '),_r=sr(' Advanced Configuration (Optional)',1),wr=m('

    URL where runners can fetch metadata and setup information.

    URL where runners send status updates and lifecycle events.

    URL where GitHub/Gitea will send webhook events for job notifications.

    '),$r=m("
  • Enter a username
  • "),Ur=m("
  • Enter a valid email address
  • "),zr=m("
  • Enter your full name
  • "),Mr=m("
  • Enter a password with at least 8 characters
  • "),Rr=m("
  • Confirm your password
  • "),Ar=m('

    Please complete all required fields

    '),Pr=m('

    '),qr=m('
    GARM

    Welcome to GARM

    Complete the first-run setup to get started

    First-Run Initialization

    GARM needs to be initialized before first use. This will create the admin user and generate a unique controller ID for this installation.

    This will create the admin user, generate a unique controller ID, and configure the required URLs for your GARM installation.
    Make sure to remember these credentials as they cannot be recovered.

    ');function Dr(Re,Ae){Ze(Ae,!1);const[Pe,qe]=vr(),C=()=>mr(ur,"$authStore",Pe),_=i(),w=i(),$=i(),U=i(),z=i(),S=i();let f=i("admin"),b=i("admin@garm.local"),c=i(""),x=i(""),h=i("Administrator"),j=i(!1),H=i(""),T=i(!1),I=i(""),E=i(""),V=i("");async function Ce(){if(e(S))try{s(j,!0),s(H,""),await pr.initialize(e(f).trim(),e(b).trim(),e(c),e(h).trim(),{callbackUrl:e(I).trim()||void 0,metadataUrl:e(E).trim()||void 0,webhookUrl:e(V).trim()||void 0}),br.success("GARM Initialized","GARM has been successfully initialized. Welcome!"),W(y("/"))}catch(r){s(H,gr(r))}finally{s(j,!1)}}er(()=>{if(C().isAuthenticated){W(y("/"));return}!C().needsInitialization&&!C().loading&&W(y("/login"))}),A(()=>(e(I),e(E),e(V)),()=>{if(typeof window<"u"){const r=window.location.origin;e(I)||s(I,`${r}/api/v1/callbacks`),e(E)||s(E,`${r}/api/v1/metadata`),e(V)||s(V,`${r}/webhooks`)}}),A(()=>e(b),()=>{s(_,e(b).trim()!==""&&e(b).includes("@"))}),A(()=>e(c),()=>{s(w,e(c).length>=8)}),A(()=>(e(x),e(c)),()=>{s($,e(x).length>0&&e(c)===e(x))}),A(()=>e(f),()=>{s(U,e(f).trim()!=="")}),A(()=>e(h),()=>{s(z,e(h).trim()!=="")}),A(()=>(e(U),e(_),e(z),e(w),e($)),()=>{s(S,e(U)&&e(_)&&e(z)&&e(w)&&e($))}),A(()=>(C(),y),()=>{C().isAuthenticated?W(y("/")):!C().needsInitialization&&!C().loading&&W(y("/login"))}),rr(),Ye();var ae=qr();ar(r=>{lr.title="Initialize GARM - First Run Setup"});var te=a(ae),me=a(te),ce=a(me),Ge=d(ce,2);t(me),L(4),t(te);var ue=d(te,2),pe=d(a(ue),2),de=a(pe),le=a(de),be=d(a(le),2),O=a(be);P(O);var Le=d(O,2);{var Ie=r=>{var l=fr();n(r,l)};p(Le,r=>{e(U),e(f),u(()=>!e(U)&&e(f).length>0)&&r(Ie)})}t(be),t(le);var se=d(le,2),ge=d(a(se),2),J=a(ge);P(J);var Ee=d(J,2);{var Ve=r=>{var l=xr();n(r,l)};p(Ee,r=>{e(_),e(b),u(()=>!e(_)&&e(b).length>0)&&r(Ve)})}t(ge),t(se);var oe=d(se,2),fe=d(a(oe),2),K=a(fe);P(K);var Be=d(K,2);{var Ne=r=>{var l=hr();n(r,l)};p(Be,r=>{e(z),e(h),u(()=>!e(z)&&e(h).length>0)&&r(Ne)})}t(fe),t(oe);var ie=d(oe,2),xe=d(a(ie),2),Q=a(xe);P(Q);var Se=d(Q,2);{var je=r=>{var l=yr();n(r,l)};p(Se,r=>{e(w),e(c),u(()=>!e(w)&&e(c).length>0)&&r(je)})}t(xe),t(ie);var ne=d(ie,2),he=d(a(ne),2),X=a(he);P(X);var Fe=d(X,2);{var De=r=>{var l=kr();n(r,l)};p(Fe,r=>{e($),e(x),u(()=>!e($)&&e(x).length>0)&&r(De)})}t(he),t(ne);var ve=d(ne,2),ye=a(ve);ze(ye,{type:"button",variant:"ghost",size:"sm",$$events:{click:()=>s(T,!e(T))},children:(r,l)=>{var g=_r(),v=or(g);L(),re(()=>N(v,0,`w-4 h-4 mr-2 transition-transform ${e(T)?"rotate-90":""}`)),n(r,g)},$$slots:{default:!0}});var We=d(ye,2);{var He=r=>{var l=wr(),g=a(l),v=a(g),M=d(a(v),2),G=a(M);P(G),L(2),t(M),t(v);var B=d(v,2),Y=d(a(B),2),F=a(Y);P(F),L(2),t(Y),t(B);var Z=d(B,2),D=d(a(Z),2),ee=a(D);P(ee),L(2),t(D),t(Z),t(g),t(l),q(G,()=>e(E),R=>s(E,R)),q(F,()=>e(I),R=>s(I,R)),q(ee,()=>e(V),R=>s(V,R)),n(r,l)};p(We,r=>{e(T)&&r(He)})}t(ve);var ke=d(ve,2);{var Te=r=>{var l=Ar(),g=a(l),v=d(a(g),2),M=d(a(v),2),G=a(M),B=a(G);{var Y=o=>{var k=$r();n(o,k)};p(B,o=>{e(U)||o(Y)})}var F=d(B,2);{var Z=o=>{var k=Ur();n(o,k)};p(F,o=>{e(_)||o(Z)})}var D=d(F,2);{var ee=o=>{var k=zr();n(o,k)};p(D,o=>{e(z)||o(ee)})}var R=d(D,2);{var Ke=o=>{var k=Mr();n(o,k)};p(R,o=>{e(w)||o(Ke)})}var Qe=d(R,2);{var Xe=o=>{var k=Rr();n(o,k)};p(Qe,o=>{e($)||o(Xe)})}t(G),t(M),t(v),t(g),t(l),n(r,l)};p(ke,r=>{e(S),e(f),e(b),e(h),e(c),e(x),u(()=>!e(S)&&(e(f).length>0||e(b).length>0||e(h).length>0||e(c).length>0||e(x).length>0))&&r(Te)})}var _e=d(ke,2);{var Oe=r=>{var l=Pr(),g=a(l),v=d(a(g),2),M=a(v),G=a(M,!0);t(M),t(v),t(g),t(l),re(()=>Ue(G,e(H))),n(r,l)};p(_e,r=>{e(H)&&r(Oe)})}var we=d(_e,2),Je=a(we);{let r=nr(()=>!e(S)||e(j));ze(Je,{type:"submit",variant:"primary",size:"lg",fullWidth:!0,get loading(){return e(j)},get disabled(){return e(r)},children:(l,g)=>{L();var v=ir();re(()=>Ue(v,e(j)?"Initializing...":"Initialize GARM")),n(l,v)},$$slots:{default:!0}})}t(we),t(de),L(2),t(pe),t(ue),t(ae),re((r,l)=>{Me(ce,"src",r),Me(Ge,"src",l),N(O,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(U),e(f),u(()=>!e(U)&&e(f).length>0?"border-red-300 dark:border-red-600":"")??""}`),N(J,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(_),e(b),u(()=>!e(_)&&e(b).length>0?"border-red-300 dark:border-red-600":"")??""}`),N(K,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(z),e(h),u(()=>!e(z)&&e(h).length>0?"border-red-300 dark:border-red-600":"")??""}`),N(Q,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e(w),e(c),u(()=>!e(w)&&e(c).length>0?"border-red-300 dark:border-red-600":"")??""}`),N(X,1,`appearance-none block w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md shadow-sm placeholder-gray-400 dark:placeholder-gray-500 focus:outline-none focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white sm:text-sm ${e($),e(x),u(()=>!e($)&&e(x).length>0?"border-red-300 dark:border-red-600":"")??""}`)},[()=>($e(y),u(()=>y("/assets/garm-light.svg"))),()=>($e(y),u(()=>y("/assets/garm-dark.svg")))]),q(O,()=>e(f),r=>s(f,r)),q(J,()=>e(b),r=>s(b,r)),q(K,()=>e(h),r=>s(h,r)),q(Q,()=>e(c),r=>s(c,r)),q(X,()=>e(x),r=>s(x,r)),tr("submit",de,cr(Ce)),n(Re,ae),dr(),qe()}export{Dr as component}; diff --git a/webapp/assets/_app/immutable/nodes/8.XEq9QHnH.js b/webapp/assets/_app/immutable/nodes/8.D7w9F7a1.js similarity index 88% rename from webapp/assets/_app/immutable/nodes/8.XEq9QHnH.js rename to webapp/assets/_app/immutable/nodes/8.D7w9F7a1.js index df598a41..aeab3518 100644 --- a/webapp/assets/_app/immutable/nodes/8.XEq9QHnH.js +++ b/webapp/assets/_app/immutable/nodes/8.D7w9F7a1.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as z}from"../chunks/zNh6Oe5P.js";import{p as J,f as C,c as x,d as K,j as y,n as f,u as g,r as b,t as M,v as R,B as ce,b as O,o as de,A as ue,l as w,a as me,h as pe,g as e,m as u,$ as fe,q as ge,k as T,s}from"../chunks/sWNKMed7.js";import{p as ve,i as A}from"../chunks/Ccl3fNd2.js";import{d as D,c as $,g as H}from"../chunks/C1jihKTd.js";import{D as he}from"../chunks/ujTHIzr1.js";import{P as _e}from"../chunks/DL-alMNb.js";import{w as ye}from"../chunks/BuuPrWMc.js";import{t as be}from"../chunks/BZUCTtPY.js";import{D as xe,G as Ce,a as Pe}from"../chunks/C98FZ6Lp.js";import{e as ke}from"../chunks/BZiHL9L3.js";import{E as Ie}from"../chunks/xti5lSds.js";import"../chunks/CcBDT0Mv.js";import{S as W}from"../chunks/kSv08Ec5.js";var Se=C(' '),we=C(' '),Te=C('-'),De=C('
    ');function $e(E,k){J(k,!1);let a=ve(k,"item",8);z();var m=De(),I=y(m);{var i=r=>{var p=Se(),h=y(p);b(p),M(n=>{$(p,"href",n),$(p,"title",`Pool: ${f(a()),g(()=>a().pool_id)??""}`),R(h,`Pool: ${f(a()),g(()=>a().pool_id)??""}`)},[()=>(f(D),f(a()),g(()=>D(`/pools/${a().pool_id}`)))]),x(r,p)},P=r=>{var p=ce(),h=O(p);{var n=l=>{var o=we(),c=y(o);b(o),M(S=>{$(o,"href",S),$(o,"title",`Scale Set: ${f(a()),g(()=>a().scale_set_id)??""}`),R(c,`Scale Set: ${f(a()),g(()=>a().scale_set_id)??""}`)},[()=>(f(D),f(a()),g(()=>D(`/scalesets/${a().scale_set_id}`)))]),x(l,o)},v=l=>{var o=Te();x(l,o)};A(h,l=>{f(a()),g(()=>a()?.scale_set_id)?l(n):l(v,!1)},!0)}x(r,p)};A(I,r=>{f(a()),g(()=>a()?.pool_id)?r(i):r(P,!1)})}b(m),x(E,m),K()}var Ae=C('

    Error

    '),Ee=C('
    ',1);function Oe(E,k){J(k,!1);const a=u(),m=u(),I=u();let i=u([]),P=u(!0),r=u(""),p="",h=null,n=u(1),v=u(25),l=u(""),o=u(!1),c=u(null);async function S(){try{s(P,!0),s(r,""),s(i,await H.listInstances())}catch(t){s(r,t instanceof Error?t.message:"Failed to load instances")}finally{s(P,!1)}}function F(t){s(c,t),s(o,!0)}async function Q(){if(e(c))try{await H.deleteInstance(e(c).name),be.success("Instance Deleted",`Instance ${e(c).name} has been deleted successfully.`)}catch(t){s(r,ke(t))}finally{s(o,!1),s(c,null)}}const U=[{key:"name",title:"Name",cellComponent:Ie,cellProps:{entityType:"instance",showId:!0}},{key:"pool_scale_set",title:"Pool/Scale Set",flexible:!0,cellComponent:$e},{key:"created",title:"Created",cellComponent:Ce,cellProps:{field:"created_at",type:"date"}},{key:"status",title:"Status",cellComponent:W,cellProps:{statusType:"instance",statusField:"status"}},{key:"runner_status",title:"Runner Status",cellComponent:W,cellProps:{statusType:"instance",statusField:"runner_status"}},{key:"actions",title:"Actions",align:"right",cellComponent:Pe,cellProps:{actions:[{type:"delete",title:"Delete",ariaLabel:"Delete instance",action:"delete"}]}}],V={entityType:"instance",primaryText:{field:"name",isClickable:!0,href:"/instances/{name}"},secondaryText:{field:"provider_id"},badges:[{type:"status",field:"status"},{type:"status",field:"runner_status"}],actions:[{type:"delete",handler:t=>F(t)}]};function X(t){s(l,t.detail.term),s(n,1)}function Y(t){s(n,t.detail.page)}function Z(t){s(v,t.detail.perPage),s(n,1)}async function ee(){try{await S()}catch(t){console.error("Retry failed:",t)}}function te(t){}function ae(t){F(t.detail.item)}function se(t){if(t.operation==="create"){const d=t.payload;s(i,[...e(i),d])}else if(t.operation==="update"){const d=t.payload;s(i,e(i).map(_=>_.name===d.name?d:_))}else if(t.operation==="delete"){const d=t.payload.name||t.payload;s(i,e(i).filter(_=>_.name!==d))}}de(()=>{S(),h=ye.subscribeToEntity("instance",["create","update","delete"],se)}),ue(()=>{h&&(h(),h=null)}),w(()=>(e(i),e(l)),()=>{s(a,e(i).filter(t=>(e(l)===""||t.name?.toLowerCase().includes(e(l).toLowerCase())||t.provider_id?.toLowerCase().includes(e(l).toLowerCase()))&&p===""))}),w(()=>(e(a),e(v)),()=>{s(m,Math.ceil(e(a).length/e(v)))}),w(()=>(e(n),e(m)),()=>{e(n)>e(m)&&e(m)>0&&s(n,e(m))}),w(()=>(e(a),e(n),e(v)),()=>{s(I,e(a).slice((e(n)-1)*e(v),e(n)*e(v)))}),me(),z();var N=Ee();pe(t=>{fe.title="Instances - GARM"});var L=O(N),G=y(L);_e(G,{title:"Runner Instances",description:"Monitor your running instances",showAction:!1});var q=T(G,2);{var re=t=>{var d=Ae(),_=y(d),j=y(_),B=T(y(j),2),ie=y(B,!0);b(B),b(j),b(_),b(d),M(()=>R(ie,e(r))),x(t,d)};A(q,t=>{e(r)&&t(re)})}var ne=T(q,2);{let t=ge(()=>!!e(r));xe(ne,{get columns(){return U},get data(){return e(I)},get loading(){return e(P)},get error(){return e(r)},get searchTerm(){return e(l)},searchPlaceholder:"Search instances...",get currentPage(){return e(n)},get perPage(){return e(v)},get totalPages(){return e(m)},get totalItems(){return e(a),g(()=>e(a).length)},itemName:"instances",emptyIconType:"cog",get showRetry(){return e(t)},get mobileCardConfig(){return V},$$events:{search:X,pageChange:Y,perPageChange:Z,retry:ee,edit:te,delete:ae}})}b(L);var le=T(L,2);{var oe=t=>{he(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(c),g(()=>e(c).name)},$$events:{close:()=>{s(o,!1),s(c,null)},confirm:Q}})};A(le,t=>{e(o)&&e(c)&&t(oe)})}x(E,N),K()}export{Oe as component}; +import"../chunks/DsnmJJEf.js";import{i as z}from"../chunks/DT0EGONV.js";import{p as J,f as C,c as x,d as K,j as y,n as f,u as g,r as b,t as M,v as R,B as ce,b as O,o as de,A as ue,l as w,a as me,h as pe,g as e,m as u,$ as fe,q as ge,k as T,s}from"../chunks/CRKWEg6v.js";import{p as ve,i as A}from"../chunks/e1m7WRO5.js";import{d as D,c as $,g as H}from"../chunks/PY0OOjWY.js";import{D as he}from"../chunks/DJ85e5Cv.js";import{P as _e}from"../chunks/MvuzmHPl.js";import{w as ye}from"../chunks/C73ZVvpW.js";import{t as be}from"../chunks/D6DjlyIQ.js";import{D as xe,G as Ce,a as Pe}from"../chunks/Co9OVDfV.js";import{e as ke}from"../chunks/BZiHL9L3.js";import{E as Ie}from"../chunks/QGyLbggC.js";import"../chunks/BBO7sjS5.js";import{S as W}from"../chunks/BVEuSEJl.js";var Se=C(' '),we=C(' '),Te=C('-'),De=C('
    ');function $e(E,k){J(k,!1);let a=ve(k,"item",8);z();var m=De(),I=y(m);{var i=r=>{var p=Se(),h=y(p);b(p),M(n=>{$(p,"href",n),$(p,"title",`Pool: ${f(a()),g(()=>a().pool_id)??""}`),R(h,`Pool: ${f(a()),g(()=>a().pool_id)??""}`)},[()=>(f(D),f(a()),g(()=>D(`/pools/${a().pool_id}`)))]),x(r,p)},P=r=>{var p=ce(),h=O(p);{var n=l=>{var o=we(),c=y(o);b(o),M(S=>{$(o,"href",S),$(o,"title",`Scale Set: ${f(a()),g(()=>a().scale_set_id)??""}`),R(c,`Scale Set: ${f(a()),g(()=>a().scale_set_id)??""}`)},[()=>(f(D),f(a()),g(()=>D(`/scalesets/${a().scale_set_id}`)))]),x(l,o)},v=l=>{var o=Te();x(l,o)};A(h,l=>{f(a()),g(()=>a()?.scale_set_id)?l(n):l(v,!1)},!0)}x(r,p)};A(I,r=>{f(a()),g(()=>a()?.pool_id)?r(i):r(P,!1)})}b(m),x(E,m),K()}var Ae=C('

    Error

    '),Ee=C('
    ',1);function Oe(E,k){J(k,!1);const a=u(),m=u(),I=u();let i=u([]),P=u(!0),r=u(""),p="",h=null,n=u(1),v=u(25),l=u(""),o=u(!1),c=u(null);async function S(){try{s(P,!0),s(r,""),s(i,await H.listInstances())}catch(t){s(r,t instanceof Error?t.message:"Failed to load instances")}finally{s(P,!1)}}function F(t){s(c,t),s(o,!0)}async function Q(){if(e(c))try{await H.deleteInstance(e(c).name),be.success("Instance Deleted",`Instance ${e(c).name} has been deleted successfully.`)}catch(t){s(r,ke(t))}finally{s(o,!1),s(c,null)}}const U=[{key:"name",title:"Name",cellComponent:Ie,cellProps:{entityType:"instance",showId:!0}},{key:"pool_scale_set",title:"Pool/Scale Set",flexible:!0,cellComponent:$e},{key:"created",title:"Created",cellComponent:Ce,cellProps:{field:"created_at",type:"date"}},{key:"status",title:"Status",cellComponent:W,cellProps:{statusType:"instance",statusField:"status"}},{key:"runner_status",title:"Runner Status",cellComponent:W,cellProps:{statusType:"instance",statusField:"runner_status"}},{key:"actions",title:"Actions",align:"right",cellComponent:Pe,cellProps:{actions:[{type:"delete",title:"Delete",ariaLabel:"Delete instance",action:"delete"}]}}],V={entityType:"instance",primaryText:{field:"name",isClickable:!0,href:"/instances/{name}"},secondaryText:{field:"provider_id"},badges:[{type:"status",field:"status"},{type:"status",field:"runner_status"}],actions:[{type:"delete",handler:t=>F(t)}]};function X(t){s(l,t.detail.term),s(n,1)}function Y(t){s(n,t.detail.page)}function Z(t){s(v,t.detail.perPage),s(n,1)}async function ee(){try{await S()}catch(t){console.error("Retry failed:",t)}}function te(t){}function ae(t){F(t.detail.item)}function se(t){if(t.operation==="create"){const d=t.payload;s(i,[...e(i),d])}else if(t.operation==="update"){const d=t.payload;s(i,e(i).map(_=>_.name===d.name?d:_))}else if(t.operation==="delete"){const d=t.payload.name||t.payload;s(i,e(i).filter(_=>_.name!==d))}}de(()=>{S(),h=ye.subscribeToEntity("instance",["create","update","delete"],se)}),ue(()=>{h&&(h(),h=null)}),w(()=>(e(i),e(l)),()=>{s(a,e(i).filter(t=>(e(l)===""||t.name?.toLowerCase().includes(e(l).toLowerCase())||t.provider_id?.toLowerCase().includes(e(l).toLowerCase()))&&p===""))}),w(()=>(e(a),e(v)),()=>{s(m,Math.ceil(e(a).length/e(v)))}),w(()=>(e(n),e(m)),()=>{e(n)>e(m)&&e(m)>0&&s(n,e(m))}),w(()=>(e(a),e(n),e(v)),()=>{s(I,e(a).slice((e(n)-1)*e(v),e(n)*e(v)))}),me(),z();var N=Ee();pe(t=>{fe.title="Instances - GARM"});var L=O(N),G=y(L);_e(G,{title:"Runner Instances",description:"Monitor your running instances",showAction:!1});var q=T(G,2);{var re=t=>{var d=Ae(),_=y(d),j=y(_),B=T(y(j),2),ie=y(B,!0);b(B),b(j),b(_),b(d),M(()=>R(ie,e(r))),x(t,d)};A(q,t=>{e(r)&&t(re)})}var ne=T(q,2);{let t=ge(()=>!!e(r));xe(ne,{get columns(){return U},get data(){return e(I)},get loading(){return e(P)},get error(){return e(r)},get searchTerm(){return e(l)},searchPlaceholder:"Search instances...",get currentPage(){return e(n)},get perPage(){return e(v)},get totalPages(){return e(m)},get totalItems(){return e(a),g(()=>e(a).length)},itemName:"instances",emptyIconType:"cog",get showRetry(){return e(t)},get mobileCardConfig(){return V},$$events:{search:X,pageChange:Y,perPageChange:Z,retry:ee,edit:te,delete:ae}})}b(L);var le=T(L,2);{var oe=t=>{he(t,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return e(c),g(()=>e(c).name)},$$events:{close:()=>{s(o,!1),s(c,null)},confirm:Q}})};A(le,t=>{e(o)&&e(c)&&t(oe)})}x(E,N),K()}export{Oe as component}; diff --git a/webapp/assets/_app/immutable/nodes/9.gsxY4qk_.js b/webapp/assets/_app/immutable/nodes/9.MGtVJSy-.js similarity index 95% rename from webapp/assets/_app/immutable/nodes/9.gsxY4qk_.js rename to webapp/assets/_app/immutable/nodes/9.MGtVJSy-.js index 9e03dab5..f7209a5a 100644 --- a/webapp/assets/_app/immutable/nodes/9.gsxY4qk_.js +++ b/webapp/assets/_app/immutable/nodes/9.MGtVJSy-.js @@ -1 +1 @@ -import"../chunks/DsnmJJEf.js";import{i as $e}from"../chunks/zNh6Oe5P.js";import{p as Ue,o as Le,A as Oe,l as Pe,a as Ve,f as u,h as ze,b as P,t as f,c as v,d as Re,u as r,n as p,v as m,g as t,m as A,j as s,k as d,s as h,$ as qe,r as a,B as Tt,e as Fe,q as $t,D as Ut}from"../chunks/sWNKMed7.js";import{i as g,s as Ge,a as He}from"../chunks/Ccl3fNd2.js";import{w as We,e as Lt,i as Ot}from"../chunks/BuuPrWMc.js";import{d as j,c as nt,g as Pt,s as Vt}from"../chunks/C1jihKTd.js";import{b as Je}from"../chunks/_gFYyMUN.js";import{p as Ke}from"../chunks/DQxjqDvj.js";import{g as zt}from"../chunks/H5nVv3Is.js";import{D as Qe}from"../chunks/ujTHIzr1.js";import{g as V,f as z}from"../chunks/ow_oMtSd.js";import{s as Rt,b as B,B as qt,d as Ft}from"../chunks/Qi7G5Z5O.js";import{e as Xe}from"../chunks/BZiHL9L3.js";var Ye=u('

    Error

    '),Ze=u('

    Loading instance details...

    '),ta=u(' '),ea=u(' '),aa=u('-'),sa=u('
    Updated At:
    '),ra=u('
    '),da=u('
    Network Addresses:
    '),ia=u('
    Network Addresses:
    No addresses available
    '),na=u('
    OS Type:
    '),la=u('
    OS Name:
    '),oa=u('
    OS Version:
    '),va=u('
    OS Architecture:
    '),xa=u('

    '),ca=u('

    Status Messages

    '),ma=u('

    Status Messages

    No status messages available

    '),ua=u('

    Instance Information

    ID:
    Name:
    Provider ID:
    Provider:
    Pool/Scale Set:
    Agent ID:
    Created At:

    Status & Network

    Instance Status:
    Runner Status:
    ',1),ga=u('
    Instance not found.
    '),_a=u(' ',1);function Ba(Gt,Ht){Ue(Ht,!1);const[Wt,Jt]=Ge(),lt=()=>He(Ke,"$page",Wt),R=A();let e=A(null),q=A(!0),N=A(""),E=A(!1),T=null,$=A();async function Kt(){if(t(R))try{h(q,!0),h(N,""),h(e,await Pt.getInstance(t(R)))}catch(l){h(N,l instanceof Error?l.message:"Failed to load instance")}finally{h(q,!1)}}async function Qt(){if(t(e)){try{await Pt.deleteInstance(t(e).name),zt(j("/instances"))}catch(l){h(N,Xe(l))}h(E,!1)}}function Xt(l){if(t(e))if(l.operation==="update"&&l.payload.id===t(e).id){const b=t(e).status_messages?.length||0,D={...t(e),...l.payload},M=D.status_messages?.length||0;h(e,D),M>b&&setTimeout(()=>{Rt(t($))},100)}else l.operation==="delete"&&(l.payload.id||l.payload)===t(e).id&&zt(j("/instances"))}Le(()=>{Kt().then(()=>{t(e)?.status_messages?.length&&setTimeout(()=>{Rt(t($))},100)}),T=We.subscribeToEntity("instance",["update","delete"],Xt)}),Oe(()=>{T&&(T(),T=null)}),Pe(()=>lt(),()=>{h(R,decodeURIComponent(lt().params.id||""))}),Ve(),$e();var ot=_a();ze(l=>{f(()=>qe.title=`${t(e),r(()=>t(e)?`${t(e).name} - Instance Details`:"Instance Details")??""} - GARM`)});var F=P(ot),G=s(F),vt=s(G),H=s(vt),Yt=s(H);a(H);var xt=d(H,2),ct=s(xt),mt=d(s(ct),2),Zt=s(mt,!0);a(mt),a(ct),a(xt),a(vt),a(G);var ut=d(G,2);{var te=l=>{var b=Ye(),D=s(b),M=s(D),U=d(s(M),2),I=s(U,!0);a(U),a(M),a(D),a(b),f(()=>m(I,t(N))),v(l,b)};g(ut,l=>{t(N)&&l(te)})}var ee=d(ut,2);{var ae=l=>{var b=Ze();v(l,b)},se=l=>{var b=Tt(),D=P(b);{var M=I=>{var L=ua(),W=P(L),J=s(W),K=s(J),gt=d(s(K),2),ie=s(gt);a(gt),a(K);var _t=d(K,2),Q=s(_t),ft=d(s(Q),2),ne=s(ft,!0);a(ft),a(Q);var X=d(Q,2),yt=d(s(X),2),le=s(yt,!0);a(yt),a(X);var Y=d(X,2),pt=d(s(Y),2),oe=s(pt,!0);a(pt),a(Y);var Z=d(Y,2),ht=d(s(Z),2),ve=s(ht,!0);a(ht),a(Z);var tt=d(Z,2),bt=d(s(tt),2),xe=s(bt);{var ce=i=>{var n=ta(),o=s(n,!0);a(n),f(x=>{nt(n,"href",x),m(o,(t(e),r(()=>t(e).pool_id)))},[()=>(p(j),t(e),r(()=>j(`/pools/${t(e).pool_id}`)))]),v(i,n)},me=i=>{var n=Tt(),o=P(n);{var x=_=>{var y=ea(),S=s(y,!0);a(y),f(C=>{nt(y,"href",C),m(S,(t(e),r(()=>t(e).scale_set_id)))},[()=>(p(j),t(e),r(()=>j(`/scalesets/${t(e).scale_set_id}`)))]),v(_,y)},c=_=>{var y=aa();v(_,y)};g(o,_=>{t(e),r(()=>t(e).scale_set_id)?_(x):_(c,!1)},!0)}v(i,n)};g(xe,i=>{t(e),r(()=>t(e).pool_id)?i(ce):i(me,!1)})}a(bt),a(tt);var et=d(tt,2),kt=d(s(et),2),ue=s(kt,!0);a(kt),a(et);var at=d(et,2),wt=d(s(at),2),ge=s(wt,!0);a(wt),a(at);var _e=d(at,2);{var fe=i=>{var n=sa(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(c=>m(x,c),[()=>(p(B),t(e),r(()=>B(t(e).updated_at)))]),v(i,n)};g(_e,i=>{t(e),r(()=>t(e).updated_at&&t(e).updated_at!==t(e).created_at)&&i(fe)})}a(_t),a(J);var It=d(J,2),jt=d(s(It),2),st=s(jt),Dt=d(s(st),2),rt=s(Dt),ye=s(rt,!0);a(rt),a(Dt),a(st);var dt=d(st,2),St=d(s(dt),2),it=s(St),pe=s(it,!0);a(it),a(St),a(dt);var Mt=d(dt,2);{var he=i=>{var n=da(),o=d(s(n),2);Lt(o,5,()=>(t(e),r(()=>t(e).addresses)),Ot,(x,c)=>{var _=ra(),y=s(_),S=s(y,!0);a(y);var C=d(y,2);{let O=$t(()=>(t(c),r(()=>t(c).type||"Unknown")));qt(C,{variant:"info",get text(){return t(O)}})}a(_),f(()=>m(S,(t(c),r(()=>t(c).address)))),v(x,_)}),a(o),a(n),v(i,n)},be=i=>{var n=ia();v(i,n)};g(Mt,i=>{t(e),r(()=>t(e).addresses&&t(e).addresses.length>0)?i(he):i(be,!1)})}var At=d(Mt,2);{var ke=i=>{var n=na(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(()=>m(x,(t(e),r(()=>t(e).os_type)))),v(i,n)};g(At,i=>{t(e),r(()=>t(e).os_type)&&i(ke)})}var Bt=d(At,2);{var we=i=>{var n=la(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(()=>m(x,(t(e),r(()=>t(e).os_name)))),v(i,n)};g(Bt,i=>{t(e),r(()=>t(e).os_name)&&i(we)})}var Nt=d(Bt,2);{var Ie=i=>{var n=oa(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(()=>m(x,(t(e),r(()=>t(e).os_version)))),v(i,n)};g(Nt,i=>{t(e),r(()=>t(e).os_version)&&i(Ie)})}var je=d(Nt,2);{var De=i=>{var n=va(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(()=>m(x,(t(e),r(()=>t(e).os_arch)))),v(i,n)};g(je,i=>{t(e),r(()=>t(e).os_arch)&&i(De)})}a(jt),a(It),a(W);var Se=d(W,2);{var Me=i=>{var n=ca(),o=d(s(n),2);Lt(o,5,()=>(t(e),r(()=>t(e).status_messages)),Ot,(x,c)=>{var _=xa(),y=s(_),S=s(y),C=s(S,!0);a(S);var O=d(S,2),Ct=s(O);{var Be=k=>{const w=$t(()=>(p(Ft),t(c),r(()=>Ft(t(c).event_level))));qt(k,{get variant(){return p(t(w)),r(()=>t(w).variant)},get text(){return p(t(w)),r(()=>t(w).text)}})};g(Ct,k=>{t(c),r(()=>t(c).event_level)&&k(Be)})}var Et=d(Ct,2),Ne=s(Et);{var Ce=k=>{var w=Ut();f(Te=>m(w,Te),[()=>(p(B),t(c),r(()=>B(t(c).created_at)))]),v(k,w)},Ee=k=>{var w=Ut("Unknown date");v(k,w)};g(Ne,k=>{t(c),r(()=>t(c).created_at)?k(Ce):k(Ee,!1)})}a(Et),a(O),a(y),a(_),f(()=>m(C,(t(c),r(()=>t(c).message)))),v(x,_)}),a(o),Je(o,x=>h($,x),()=>t($)),a(n),v(i,n)},Ae=i=>{var n=ma();v(i,n)};g(Se,i=>{t(e),r(()=>t(e).status_messages&&t(e).status_messages.length>0)?i(Me):i(Ae,!1)})}f((i,n,o,x,c)=>{m(ne,(t(e),r(()=>t(e).id))),m(le,(t(e),r(()=>t(e).name))),m(oe,(t(e),r(()=>t(e).provider_id))),m(ve,(t(e),r(()=>t(e).provider_name||"Unknown"))),m(ue,(t(e),r(()=>t(e).agent_id||"Not assigned"))),m(ge,i),Vt(rt,1,`inline-flex px-2 py-1 text-xs font-semibold rounded-full ring-1 ring-inset ${n??""}`),m(ye,o),Vt(it,1,`inline-flex px-2 py-1 text-xs font-semibold rounded-full ring-1 ring-inset ${x??""}`),m(pe,c)},[()=>(p(B),t(e),r(()=>B(t(e).created_at))),()=>(p(V),t(e),r(()=>V(t(e).status||"unknown"))),()=>(p(z),t(e),r(()=>z(t(e).status||"unknown"))),()=>(p(V),t(e),r(()=>V(t(e).runner_status||"unknown"))),()=>(p(z),t(e),r(()=>z(t(e).runner_status||"unknown")))]),Fe("click",ie,()=>h(E,!0)),v(I,L)},U=I=>{var L=ga();v(I,L)};g(D,I=>{t(e)?I(M):I(U,!1)},!0)}v(l,b)};g(ee,l=>{t(q)?l(ae):l(se,!1)})}a(F);var re=d(F,2);{var de=l=>{Qe(l,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(e),r(()=>t(e).name)},$$events:{close:()=>h(E,!1),confirm:Qt}})};g(re,l=>{t(E)&&t(e)&&l(de)})}f(l=>{nt(Yt,"href",l),m(Zt,(t(e),r(()=>t(e)?t(e).name:"Instance Details")))},[()=>(p(j),r(()=>j("/instances")))]),v(Gt,ot),Re(),Jt()}export{Ba as component}; +import"../chunks/DsnmJJEf.js";import{i as $e}from"../chunks/DT0EGONV.js";import{p as Ue,o as Le,A as Oe,l as Pe,a as Ve,f as u,h as ze,b as P,t as f,c as v,d as Re,u as r,n as p,v as m,g as t,m as A,j as s,k as d,s as h,$ as qe,r as a,B as Tt,e as Fe,q as $t,D as Ut}from"../chunks/CRKWEg6v.js";import{i as g,s as Ge,a as He}from"../chunks/e1m7WRO5.js";import{w as We,e as Lt,i as Ot}from"../chunks/C73ZVvpW.js";import{d as j,c as nt,g as Pt,s as Vt}from"../chunks/PY0OOjWY.js";import{b as Je}from"../chunks/b5SBTec5.js";import{p as Ke}from"../chunks/lXKAs5Tk.js";import{g as zt}from"../chunks/C-HmqlJ7.js";import{D as Qe}from"../chunks/DJ85e5Cv.js";import{g as V,f as z}from"../chunks/ow_oMtSd.js";import{s as Rt,b as B,B as qt,d as Ft}from"../chunks/BK-OTA7g.js";import{e as Xe}from"../chunks/BZiHL9L3.js";var Ye=u('

    Error

    '),Ze=u('

    Loading instance details...

    '),ta=u(' '),ea=u(' '),aa=u('-'),sa=u('
    Updated At:
    '),ra=u('
    '),da=u('
    Network Addresses:
    '),ia=u('
    Network Addresses:
    No addresses available
    '),na=u('
    OS Type:
    '),la=u('
    OS Name:
    '),oa=u('
    OS Version:
    '),va=u('
    OS Architecture:
    '),xa=u('

    '),ca=u('

    Status Messages

    '),ma=u('

    Status Messages

    No status messages available

    '),ua=u('

    Instance Information

    ID:
    Name:
    Provider ID:
    Provider:
    Pool/Scale Set:
    Agent ID:
    Created At:

    Status & Network

    Instance Status:
    Runner Status:
    ',1),ga=u('
    Instance not found.
    '),_a=u(' ',1);function Ba(Gt,Ht){Ue(Ht,!1);const[Wt,Jt]=Ge(),lt=()=>He(Ke,"$page",Wt),R=A();let e=A(null),q=A(!0),N=A(""),E=A(!1),T=null,$=A();async function Kt(){if(t(R))try{h(q,!0),h(N,""),h(e,await Pt.getInstance(t(R)))}catch(l){h(N,l instanceof Error?l.message:"Failed to load instance")}finally{h(q,!1)}}async function Qt(){if(t(e)){try{await Pt.deleteInstance(t(e).name),zt(j("/instances"))}catch(l){h(N,Xe(l))}h(E,!1)}}function Xt(l){if(t(e))if(l.operation==="update"&&l.payload.id===t(e).id){const b=t(e).status_messages?.length||0,D={...t(e),...l.payload},M=D.status_messages?.length||0;h(e,D),M>b&&setTimeout(()=>{Rt(t($))},100)}else l.operation==="delete"&&(l.payload.id||l.payload)===t(e).id&&zt(j("/instances"))}Le(()=>{Kt().then(()=>{t(e)?.status_messages?.length&&setTimeout(()=>{Rt(t($))},100)}),T=We.subscribeToEntity("instance",["update","delete"],Xt)}),Oe(()=>{T&&(T(),T=null)}),Pe(()=>lt(),()=>{h(R,decodeURIComponent(lt().params.id||""))}),Ve(),$e();var ot=_a();ze(l=>{f(()=>qe.title=`${t(e),r(()=>t(e)?`${t(e).name} - Instance Details`:"Instance Details")??""} - GARM`)});var F=P(ot),G=s(F),vt=s(G),H=s(vt),Yt=s(H);a(H);var xt=d(H,2),ct=s(xt),mt=d(s(ct),2),Zt=s(mt,!0);a(mt),a(ct),a(xt),a(vt),a(G);var ut=d(G,2);{var te=l=>{var b=Ye(),D=s(b),M=s(D),U=d(s(M),2),I=s(U,!0);a(U),a(M),a(D),a(b),f(()=>m(I,t(N))),v(l,b)};g(ut,l=>{t(N)&&l(te)})}var ee=d(ut,2);{var ae=l=>{var b=Ze();v(l,b)},se=l=>{var b=Tt(),D=P(b);{var M=I=>{var L=ua(),W=P(L),J=s(W),K=s(J),gt=d(s(K),2),ie=s(gt);a(gt),a(K);var _t=d(K,2),Q=s(_t),ft=d(s(Q),2),ne=s(ft,!0);a(ft),a(Q);var X=d(Q,2),yt=d(s(X),2),le=s(yt,!0);a(yt),a(X);var Y=d(X,2),pt=d(s(Y),2),oe=s(pt,!0);a(pt),a(Y);var Z=d(Y,2),ht=d(s(Z),2),ve=s(ht,!0);a(ht),a(Z);var tt=d(Z,2),bt=d(s(tt),2),xe=s(bt);{var ce=i=>{var n=ta(),o=s(n,!0);a(n),f(x=>{nt(n,"href",x),m(o,(t(e),r(()=>t(e).pool_id)))},[()=>(p(j),t(e),r(()=>j(`/pools/${t(e).pool_id}`)))]),v(i,n)},me=i=>{var n=Tt(),o=P(n);{var x=_=>{var y=ea(),S=s(y,!0);a(y),f(C=>{nt(y,"href",C),m(S,(t(e),r(()=>t(e).scale_set_id)))},[()=>(p(j),t(e),r(()=>j(`/scalesets/${t(e).scale_set_id}`)))]),v(_,y)},c=_=>{var y=aa();v(_,y)};g(o,_=>{t(e),r(()=>t(e).scale_set_id)?_(x):_(c,!1)},!0)}v(i,n)};g(xe,i=>{t(e),r(()=>t(e).pool_id)?i(ce):i(me,!1)})}a(bt),a(tt);var et=d(tt,2),kt=d(s(et),2),ue=s(kt,!0);a(kt),a(et);var at=d(et,2),wt=d(s(at),2),ge=s(wt,!0);a(wt),a(at);var _e=d(at,2);{var fe=i=>{var n=sa(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(c=>m(x,c),[()=>(p(B),t(e),r(()=>B(t(e).updated_at)))]),v(i,n)};g(_e,i=>{t(e),r(()=>t(e).updated_at&&t(e).updated_at!==t(e).created_at)&&i(fe)})}a(_t),a(J);var It=d(J,2),jt=d(s(It),2),st=s(jt),Dt=d(s(st),2),rt=s(Dt),ye=s(rt,!0);a(rt),a(Dt),a(st);var dt=d(st,2),St=d(s(dt),2),it=s(St),pe=s(it,!0);a(it),a(St),a(dt);var Mt=d(dt,2);{var he=i=>{var n=da(),o=d(s(n),2);Lt(o,5,()=>(t(e),r(()=>t(e).addresses)),Ot,(x,c)=>{var _=ra(),y=s(_),S=s(y,!0);a(y);var C=d(y,2);{let O=$t(()=>(t(c),r(()=>t(c).type||"Unknown")));qt(C,{variant:"info",get text(){return t(O)}})}a(_),f(()=>m(S,(t(c),r(()=>t(c).address)))),v(x,_)}),a(o),a(n),v(i,n)},be=i=>{var n=ia();v(i,n)};g(Mt,i=>{t(e),r(()=>t(e).addresses&&t(e).addresses.length>0)?i(he):i(be,!1)})}var At=d(Mt,2);{var ke=i=>{var n=na(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(()=>m(x,(t(e),r(()=>t(e).os_type)))),v(i,n)};g(At,i=>{t(e),r(()=>t(e).os_type)&&i(ke)})}var Bt=d(At,2);{var we=i=>{var n=la(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(()=>m(x,(t(e),r(()=>t(e).os_name)))),v(i,n)};g(Bt,i=>{t(e),r(()=>t(e).os_name)&&i(we)})}var Nt=d(Bt,2);{var Ie=i=>{var n=oa(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(()=>m(x,(t(e),r(()=>t(e).os_version)))),v(i,n)};g(Nt,i=>{t(e),r(()=>t(e).os_version)&&i(Ie)})}var je=d(Nt,2);{var De=i=>{var n=va(),o=d(s(n),2),x=s(o,!0);a(o),a(n),f(()=>m(x,(t(e),r(()=>t(e).os_arch)))),v(i,n)};g(je,i=>{t(e),r(()=>t(e).os_arch)&&i(De)})}a(jt),a(It),a(W);var Se=d(W,2);{var Me=i=>{var n=ca(),o=d(s(n),2);Lt(o,5,()=>(t(e),r(()=>t(e).status_messages)),Ot,(x,c)=>{var _=xa(),y=s(_),S=s(y),C=s(S,!0);a(S);var O=d(S,2),Ct=s(O);{var Be=k=>{const w=$t(()=>(p(Ft),t(c),r(()=>Ft(t(c).event_level))));qt(k,{get variant(){return p(t(w)),r(()=>t(w).variant)},get text(){return p(t(w)),r(()=>t(w).text)}})};g(Ct,k=>{t(c),r(()=>t(c).event_level)&&k(Be)})}var Et=d(Ct,2),Ne=s(Et);{var Ce=k=>{var w=Ut();f(Te=>m(w,Te),[()=>(p(B),t(c),r(()=>B(t(c).created_at)))]),v(k,w)},Ee=k=>{var w=Ut("Unknown date");v(k,w)};g(Ne,k=>{t(c),r(()=>t(c).created_at)?k(Ce):k(Ee,!1)})}a(Et),a(O),a(y),a(_),f(()=>m(C,(t(c),r(()=>t(c).message)))),v(x,_)}),a(o),Je(o,x=>h($,x),()=>t($)),a(n),v(i,n)},Ae=i=>{var n=ma();v(i,n)};g(Se,i=>{t(e),r(()=>t(e).status_messages&&t(e).status_messages.length>0)?i(Me):i(Ae,!1)})}f((i,n,o,x,c)=>{m(ne,(t(e),r(()=>t(e).id))),m(le,(t(e),r(()=>t(e).name))),m(oe,(t(e),r(()=>t(e).provider_id))),m(ve,(t(e),r(()=>t(e).provider_name||"Unknown"))),m(ue,(t(e),r(()=>t(e).agent_id||"Not assigned"))),m(ge,i),Vt(rt,1,`inline-flex px-2 py-1 text-xs font-semibold rounded-full ring-1 ring-inset ${n??""}`),m(ye,o),Vt(it,1,`inline-flex px-2 py-1 text-xs font-semibold rounded-full ring-1 ring-inset ${x??""}`),m(pe,c)},[()=>(p(B),t(e),r(()=>B(t(e).created_at))),()=>(p(V),t(e),r(()=>V(t(e).status||"unknown"))),()=>(p(z),t(e),r(()=>z(t(e).status||"unknown"))),()=>(p(V),t(e),r(()=>V(t(e).runner_status||"unknown"))),()=>(p(z),t(e),r(()=>z(t(e).runner_status||"unknown")))]),Fe("click",ie,()=>h(E,!0)),v(I,L)},U=I=>{var L=ga();v(I,L)};g(D,I=>{t(e)?I(M):I(U,!1)},!0)}v(l,b)};g(ee,l=>{t(q)?l(ae):l(se,!1)})}a(F);var re=d(F,2);{var de=l=>{Qe(l,{title:"Delete Instance",message:"Are you sure you want to delete this instance? This action cannot be undone.",get itemName(){return t(e),r(()=>t(e).name)},$$events:{close:()=>h(E,!1),confirm:Qt}})};g(re,l=>{t(E)&&t(e)&&l(de)})}f(l=>{nt(Yt,"href",l),m(Zt,(t(e),r(()=>t(e)?t(e).name:"Instance Details")))},[()=>(p(j),r(()=>j("/instances")))]),v(Gt,ot),Re(),Jt()}export{Ba as component}; diff --git a/webapp/assets/_app/version.json b/webapp/assets/_app/version.json index 866399b8..e94177c0 100644 --- a/webapp/assets/_app/version.json +++ b/webapp/assets/_app/version.json @@ -1 +1 @@ -{"version":"1757002949956"} \ No newline at end of file +{"version":"1757066180452"} \ No newline at end of file diff --git a/webapp/assets/index.html b/webapp/assets/index.html index 1777985c..ae48f868 100644 --- a/webapp/assets/index.html +++ b/webapp/assets/index.html @@ -71,21 +71,21 @@ })(); - - - - - + + + + + - - - + + +
    @@ -521,6 +525,7 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; id="name" bind:value={formData.name} required + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" placeholder={selectedForgeType === 'github' ? 'e.g., github-enterprise or github-com' : 'e.g., gitea-main or my-gitea'} /> @@ -528,13 +533,13 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells';
    @@ -549,6 +554,7 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; id="base_url" bind:value={formData.base_url} required + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" placeholder={selectedForgeType === 'github' ? 'https://github.com or https://github.example.com' : 'https://gitea.example.com'} /> @@ -564,6 +570,7 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; id="api_base_url" bind:value={formData.api_base_url} required + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" placeholder="https://api.github.com or https://github.example.com/api/v3" /> @@ -577,6 +584,7 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; type="url" id="upload_base_url" bind:value={formData.upload_base_url} + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" placeholder="https://uploads.github.com" /> @@ -590,6 +598,7 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; type="url" id="api_base_url" bind:value={formData.api_base_url} + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" placeholder="https://gitea.example.com/api/v1 (leave empty to use Base URL)" /> @@ -633,9 +642,9 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; @@ -676,19 +685,20 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; id="edit_name" bind:value={formData.name} required + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" />
    @@ -702,6 +712,7 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; id="edit_base_url" bind:value={formData.base_url} required + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" />
    @@ -716,6 +727,7 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; id="edit_api_base_url" bind:value={formData.api_base_url} required + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" /> @@ -728,6 +740,7 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; type="url" id="edit_upload_base_url" bind:value={formData.upload_base_url} + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" /> @@ -740,6 +753,7 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells'; type="url" id="edit_api_base_url" bind:value={formData.api_base_url} + autocomplete="off" class="w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:text-white" />

    If empty, Base URL will be used as API Base URL

    @@ -782,9 +796,9 @@ import { EndpointCell, ActionsCell, GenericCell } from '$lib/components/cells';