@edge-base/server 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/admin-build/_app/immutable/chunks/{BN_-k-Ck.js → BDYewzou.js} +1 -1
  2. package/admin-build/_app/immutable/chunks/{qBm6xof8.js → BEM1BeVF.js} +1 -1
  3. package/admin-build/_app/immutable/chunks/{Ff90owjx.js → BYyykAbh.js} +1 -1
  4. package/admin-build/_app/immutable/chunks/{SQVAC3Cv.js → BaUG2TJ-.js} +1 -1
  5. package/admin-build/_app/immutable/chunks/{BvoGcDFV.js → BfpUQYr3.js} +1 -1
  6. package/admin-build/_app/immutable/chunks/{CLHN9MVr.js → BhCO1Fpt.js} +1 -1
  7. package/admin-build/_app/immutable/chunks/{DemDWbs-.js → CIOC1v_q.js} +3 -3
  8. package/admin-build/_app/immutable/chunks/{CrwlCAM0.js → CvczjTXx.js} +1 -1
  9. package/admin-build/_app/immutable/chunks/{DQVP4KC-.js → D1u3u7xu.js} +1 -1
  10. package/admin-build/_app/immutable/chunks/{LL3ulaxa.js → DaXO-sFP.js} +1 -1
  11. package/admin-build/_app/immutable/chunks/{CbfX3ELZ.js → DnpbvAPi.js} +1 -1
  12. package/admin-build/_app/immutable/chunks/{DdvsFblq.js → Dz9cUCuv.js} +1 -1
  13. package/admin-build/_app/immutable/chunks/{DmDTovpg.js → Tea2dBJ8.js} +1 -1
  14. package/admin-build/_app/immutable/chunks/{CR37B8DX.js → ejoEf2I5.js} +1 -1
  15. package/admin-build/_app/immutable/chunks/{CCUxCptE.js → iEyeblJR.js} +1 -1
  16. package/admin-build/_app/immutable/chunks/{Q3vAxeY-.js → qKdzaeX3.js} +1 -1
  17. package/admin-build/_app/immutable/entry/{app.CP83Ni80.js → app.DoUaxnew.js} +2 -2
  18. package/admin-build/_app/immutable/entry/start.MmZh8oBH.js +1 -0
  19. package/admin-build/_app/immutable/nodes/{0.DiRq7puO.js → 0.Dsxi8s7i.js} +1 -1
  20. package/admin-build/_app/immutable/nodes/{1.BFeyKLGT.js → 1.Cp2l-hol.js} +1 -1
  21. package/admin-build/_app/immutable/nodes/{10.zcee7hJx.js → 10.4oY6m8Nz.js} +1 -1
  22. package/admin-build/_app/immutable/nodes/{11.BW7wLs2Y.js → 11.DfcozD4J.js} +1 -1
  23. package/admin-build/_app/immutable/nodes/{12.CxJRlYSd.js → 12.uJgZdCIA.js} +1 -1
  24. package/admin-build/_app/immutable/nodes/{13.pp0F_5hn.js → 13.CaN1kRev.js} +1 -1
  25. package/admin-build/_app/immutable/nodes/{14.t3AfGiGo.js → 14.DQ5xIi3s.js} +1 -1
  26. package/admin-build/_app/immutable/nodes/{15.B3agc7NX.js → 15.B_EkebTJ.js} +1 -1
  27. package/admin-build/_app/immutable/nodes/{16.C4uG2-i8.js → 16.Tko1ZX8-.js} +1 -1
  28. package/admin-build/_app/immutable/nodes/{17.CwGxi1Bn.js → 17.BCmWMJX9.js} +1 -1
  29. package/admin-build/_app/immutable/nodes/{18.CrQyN_gU.js → 18.hmGhl1O2.js} +1 -1
  30. package/admin-build/_app/immutable/nodes/{19.NEPUOXl7.js → 19.D-1infOo.js} +1 -1
  31. package/admin-build/_app/immutable/nodes/{20.DGHO8ipr.js → 20.CY4KKcBL.js} +1 -1
  32. package/admin-build/_app/immutable/nodes/21.B9lbNUQr.js +1 -0
  33. package/admin-build/_app/immutable/nodes/{22.Dri5It7a.js → 22.14Vd7bnt.js} +1 -1
  34. package/admin-build/_app/immutable/nodes/{23.BPQP_Zte.js → 23.Be6jK77o.js} +1 -1
  35. package/admin-build/_app/immutable/nodes/{24.D580FdSS.js → 24.CSTFkr6R.js} +1 -1
  36. package/admin-build/_app/immutable/nodes/{25.BMNPOZwF.js → 25.DRTg8fHc.js} +1 -1
  37. package/admin-build/_app/immutable/nodes/{26.XcpEcbiz.js → 26.DKt-9lwQ.js} +1 -1
  38. package/admin-build/_app/immutable/nodes/{27.C1zHHcYv.js → 27.D5caPu0F.js} +1 -1
  39. package/admin-build/_app/immutable/nodes/{28.CuKzzrY8.js → 28.hJhlnlyY.js} +1 -1
  40. package/admin-build/_app/immutable/nodes/{29.nLpBMXnM.js → 29.CDYBzFyT.js} +1 -1
  41. package/admin-build/_app/immutable/nodes/{3.5G_aseoL.js → 3.DMyKwkGn.js} +1 -1
  42. package/admin-build/_app/immutable/nodes/{30.CQC4nLoU.js → 30.BaHNeEmc.js} +1 -1
  43. package/admin-build/_app/immutable/nodes/{31.Bet8kxOK.js → 31.C6PV5L-2.js} +1 -1
  44. package/admin-build/_app/immutable/nodes/{4.nmJDYJpC.js → 4.9E118Ftm.js} +1 -1
  45. package/admin-build/_app/immutable/nodes/{5.CnbYLG4E.js → 5.D8guAl3v.js} +1 -1
  46. package/admin-build/_app/immutable/nodes/{6.KA01b-3y.js → 6.D1u__DtT.js} +1 -1
  47. package/admin-build/_app/immutable/nodes/{7.CP9fkn1L.js → 7.DWXHnRFf.js} +1 -1
  48. package/admin-build/_app/immutable/nodes/{8.BTzDb---.js → 8.Dojd8krc.js} +1 -1
  49. package/admin-build/_app/immutable/nodes/{9.DkNJg_J6.js → 9.CLtrr0K_.js} +1 -1
  50. package/admin-build/_app/version.json +1 -1
  51. package/admin-build/index.html +7 -7
  52. package/openapi.json +6 -1941
  53. package/package.json +3 -3
  54. package/src/__tests__/openapi-coverage.test.ts +0 -6
  55. package/src/__tests__/room-auth-state-loss.test.ts +6 -0
  56. package/src/__tests__/room-handler-context.test.ts +0 -31
  57. package/src/__tests__/room-rate-limit-scopes.test.ts +1 -5
  58. package/src/__tests__/room-runtime-routing.test.ts +1 -111
  59. package/src/__tests__/smoke-skip-report.test.ts +1 -1
  60. package/src/durable-objects/room-runtime-base.ts +241 -17
  61. package/src/durable-objects/rooms-do.ts +190 -1345
  62. package/src/lib/openapi.ts +1 -4
  63. package/src/routes/room.ts +0 -285
  64. package/src/types.ts +1 -14
  65. package/admin-build/_app/immutable/entry/start.DY6YakU0.js +0 -1
  66. package/admin-build/_app/immutable/nodes/21.UVKBDvp4.js +0 -1
  67. package/src/__tests__/cloudflare-realtime.test.ts +0 -113
  68. package/src/lib/cloudflare-realtime.ts +0 -251
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BN_-k-Ck.js","./CWj6FrbW.js","./BdTBlfLy.js","./DtZk82gG.js","./DEELgv7K.js","./Y22E1hJM.js","./Bb0e0sAP.js","./CrwlCAM0.js","./Bn2NtlTj.js","./CbfX3ELZ.js","./Q3vAxeY-.js","./CjcrXziO.js","./DmDTovpg.js","./Cp8V0Xy2.js","./Bcs4KYNp.js","./XmteHKH_.js","./F9_4wRrd.js","../assets/Button.DpzMRTjK.css","./lSpxLU5p.js","./CGgVJi7f.js","./gtu8uwJD.js","../assets/SqlEditor.Bbp1RIk0.css","./CLHN9MVr.js","../assets/TableSqlTab.yeNZfhgG.css"])))=>i.map(i=>d[i]);
2
- import{_ as or,c as ir}from"./B2bEC_Hm.js";import"./CWj6FrbW.js";import{h as za,e as dr,bh as vr,x as cr,bi as Ba,A as ur,n as fr,B as pr,D as ja,I as _r,aw as Fa,aO as br,bj as gr,bk as hr,aK as mr,aD as Ka,bf as yr,a7 as Ja,bl as wr,p as oa,M as lt,w as wt,g as e,at as er,f as Je,a as ia,d as y,s as o,c as r,r as a,t as g,ag as Ea,b as t,u as L,J as kr,ae as He,af as xr}from"./BdTBlfLy.js";import{d as ua,e as la,s as N,a as ee}from"./DtZk82gG.js";import{c as Jt,a as s,f as d,t as je}from"./DEELgv7K.js";import{B as Sr}from"./Bb0e0sAP.js";import{i as z}from"./Y22E1hJM.js";import{e as $e,i as Ft,t as ot,b as St,A as Cr,a as pt}from"./CrwlCAM0.js";import{a as xe,s as zt,b as ca,r as Lt,c as Va,f as Ra,i as Nr,j as Ir,d as gt}from"./CjcrXziO.js";import{b as ea,a as La}from"./CYatlt7w.js";import{a as ma,s as Ta}from"./Cp8V0Xy2.js";import{g as qa}from"./SQVAC3Cv.js";import{p as zr}from"./DdvsFblq.js";import{b as Da}from"./Q3vAxeY-.js";import{M as tr}from"./BYL_uBga.js";import{B as ut}from"./Bcs4KYNp.js";import{s as Kt,b as Rr,c as Ca,d as Ha}from"./CLHN9MVr.js";import{d as Wa}from"./wJsUhbfZ.js";import{A as Ga,S as Dr,C as Er}from"./qBm6xof8.js";import{b as Ua}from"./CGgVJi7f.js";import{p as yt}from"./F9_4wRrd.js";import{g as Tr,p as Ya}from"./Ce-ngf4p.js";import{d as ar}from"./DmDTovpg.js";import{T as Pr}from"./CCUxCptE.js";import{C as Qa}from"./B3CvhH3c.js";import{I as Or}from"./nlAMTi52.js";import{T as jr}from"./bguI1TeA.js";import{e as Fr}from"./Q2nPFxS6.js";const Za=0,Aa=1;function Lr(_e,l,Z,q,ae){za&&dr();var R=vr(),E=yr,V=R?Ka(E):Ja(E,!1,!1),X=R?Ka(E):Ja(E,!1,!1),J=new Sr(_e);cr(()=>{var re=l(),H=!1;let T=za&&Ba(re)===(_e.data===ur);if(T&&(fr(pr()),ja(!1)),Ba(re)){var be=wr(),M=!1;const de=x=>{if(!H){M=!0,be(!1),br.ensure(),za&&ja(!1);try{x()}finally{gr(),hr||mr()}}};re.then(x=>{de(()=>{Fa(V,x),J.ensure(Aa,q&&(Y=>q(Y,V)))})},x=>{de(()=>{if(Fa(X,x),J.ensure(Aa,ae&&(Y=>ae(Y,X))),!ae)throw X.v})}),za?J.ensure(Za,Z):_r(()=>{M||de(()=>{J.ensure(Za,Z)})})}else Fa(V,re),J.ensure(Aa,q&&(de=>q(de,V)));return T&&ja(!0),()=>{H=!0}})}const Ar=/^[A-Za-z0-9_-]+$/,qr="Record ID must use English letters, numbers, hyphen (-), or underscore (_).";function Ur(_e){return _e?Ar.test(_e)?null:qr:null}var Mr=d(`<div class="crp-note svelte-sxc7i5">Leave <strong>Record ID</strong> blank to let EdgeBase generate <code>id</code>, <code>createdAt</code>,
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BDYewzou.js","./CWj6FrbW.js","./BdTBlfLy.js","./DtZk82gG.js","./DEELgv7K.js","./Y22E1hJM.js","./Bb0e0sAP.js","./CvczjTXx.js","./Bn2NtlTj.js","./DnpbvAPi.js","./qKdzaeX3.js","./CjcrXziO.js","./Tea2dBJ8.js","./Cp8V0Xy2.js","./Bcs4KYNp.js","./XmteHKH_.js","./F9_4wRrd.js","../assets/Button.DpzMRTjK.css","./lSpxLU5p.js","./CGgVJi7f.js","./gtu8uwJD.js","../assets/SqlEditor.Bbp1RIk0.css","./BhCO1Fpt.js","../assets/TableSqlTab.yeNZfhgG.css"])))=>i.map(i=>d[i]);
2
+ import{_ as or,c as ir}from"./B2bEC_Hm.js";import"./CWj6FrbW.js";import{h as za,e as dr,bh as vr,x as cr,bi as Ba,A as ur,n as fr,B as pr,D as ja,I as _r,aw as Fa,aO as br,bj as gr,bk as hr,aK as mr,aD as Ka,bf as yr,a7 as Ja,bl as wr,p as oa,M as lt,w as wt,g as e,at as er,f as Je,a as ia,d as y,s as o,c as r,r as a,t as g,ag as Ea,b as t,u as L,J as kr,ae as He,af as xr}from"./BdTBlfLy.js";import{d as ua,e as la,s as N,a as ee}from"./DtZk82gG.js";import{c as Jt,a as s,f as d,t as je}from"./DEELgv7K.js";import{B as Sr}from"./Bb0e0sAP.js";import{i as z}from"./Y22E1hJM.js";import{e as $e,i as Ft,t as ot,b as St,A as Cr,a as pt}from"./CvczjTXx.js";import{a as xe,s as zt,b as ca,r as Lt,c as Va,f as Ra,i as Nr,j as Ir,d as gt}from"./CjcrXziO.js";import{b as ea,a as La}from"./CYatlt7w.js";import{a as ma,s as Ta}from"./Cp8V0Xy2.js";import{g as qa}from"./BaUG2TJ-.js";import{p as zr}from"./Dz9cUCuv.js";import{b as Da}from"./qKdzaeX3.js";import{M as tr}from"./BYL_uBga.js";import{B as ut}from"./Bcs4KYNp.js";import{s as Kt,b as Rr,c as Ca,d as Ha}from"./BhCO1Fpt.js";import{d as Wa}from"./wJsUhbfZ.js";import{A as Ga,S as Dr,C as Er}from"./BEM1BeVF.js";import{b as Ua}from"./CGgVJi7f.js";import{p as yt}from"./F9_4wRrd.js";import{g as Tr,p as Ya}from"./Ce-ngf4p.js";import{d as ar}from"./Tea2dBJ8.js";import{T as Pr}from"./iEyeblJR.js";import{C as Qa}from"./B3CvhH3c.js";import{I as Or}from"./nlAMTi52.js";import{T as jr}from"./bguI1TeA.js";import{e as Fr}from"./Q2nPFxS6.js";const Za=0,Aa=1;function Lr(_e,l,Z,q,ae){za&&dr();var R=vr(),E=yr,V=R?Ka(E):Ja(E,!1,!1),X=R?Ka(E):Ja(E,!1,!1),J=new Sr(_e);cr(()=>{var re=l(),H=!1;let T=za&&Ba(re)===(_e.data===ur);if(T&&(fr(pr()),ja(!1)),Ba(re)){var be=wr(),M=!1;const de=x=>{if(!H){M=!0,be(!1),br.ensure(),za&&ja(!1);try{x()}finally{gr(),hr||mr()}}};re.then(x=>{de(()=>{Fa(V,x),J.ensure(Aa,q&&(Y=>q(Y,V)))})},x=>{de(()=>{if(Fa(X,x),J.ensure(Aa,ae&&(Y=>ae(Y,X))),!ae)throw X.v})}),za?J.ensure(Za,Z):_r(()=>{M||de(()=>{J.ensure(Za,Z)})})}else Fa(V,re),J.ensure(Aa,q&&(de=>q(de,V)));return T&&ja(!0),()=>{H=!0}})}const Ar=/^[A-Za-z0-9_-]+$/,qr="Record ID must use English letters, numbers, hyphen (-), or underscore (_).";function Ur(_e){return _e?Ar.test(_e)?null:qr:null}var Mr=d(`<div class="crp-note svelte-sxc7i5">Leave <strong>Record ID</strong> blank to let EdgeBase generate <code>id</code>, <code>createdAt</code>,
3
3
  and <code>updatedAt</code> automatically.</div>`),Br=d('<div class="crp-note svelte-sxc7i5">This table does not expose any manual fields. EdgeBase will create the row with auto-managed values only.</div>'),Kr=d("<select><option>Unset</option><option>true</option><option>false</option></select>"),Jr=d("<option> </option>"),Vr=d("<select><option>Select value</option><!></select>"),Hr=d('<textarea rows="6"></textarea>'),Wr=d("<input/>"),Gr=d(`<p class="crp-helper svelte-sxc7i5">Optional. Leave blank to auto-generate. Custom IDs may only use English letters, numbers,
4
4
  hyphen (-), or underscore (_).</p>`),Yr=d('<p class="crp-error svelte-sxc7i5"> </p>'),Qr=d('<div class="crp-field svelte-sxc7i5"><div class="crp-field__header svelte-sxc7i5"><label class="crp-field__name svelte-sxc7i5"> </label> <span class="crp-field__type svelte-sxc7i5"> </span></div> <!> <!> <!></div>'),Zr=d('<span class="crp-spinner svelte-sxc7i5"></span>'),Xr=d('<button type="button" class="crp-overlay svelte-sxc7i5" aria-label="Close create record panel"></button> <div class="crp svelte-sxc7i5" role="dialog" aria-modal="true" aria-labelledby="create-record-title"><div class="crp-header svelte-sxc7i5"><div><h3 id="create-record-title" class="crp-title svelte-sxc7i5">Create Record</h3> <p class="crp-subtitle svelte-sxc7i5"><!></p></div> <button type="button" class="crp-close svelte-sxc7i5" aria-label="Close create record panel">&times;</button></div> <form class="crp-body svelte-sxc7i5"><!> <!> <div class="crp-footer svelte-sxc7i5"><button type="button" class="crp-btn svelte-sxc7i5">Cancel</button> <button type="submit" class="crp-btn crp-btn--primary svelte-sxc7i5"><!></button></div></form></div>',1);function $r(_e,l){oa(l,!0);let Z=yt(l,"columns",19,()=>[]),q=yt(l,"values",31,()=>lt({})),ae=yt(l,"errors",31,()=>lt({})),R=yt(l,"saving",3,!1);const E=new Set(["createdAt","updatedAt"]);let V=y(null),X=L(()=>Z().find(S=>S.key==="id")??null),J=L(()=>Z().filter(S=>!E.has(S.key)&&S.key!=="id"&&S.editable!==!1)),re=L(()=>[...e(X)?[{...e(X),label:"Record ID",editable:!0}]:[],...e(J)]),H=L(()=>!!e(X)&&e(J).length===0),T=L(()=>e(re).length===0);wt(()=>{l.open&&requestAnimationFrame(()=>{var K;const S=(K=e(V))==null?void 0:K.querySelector("input, select, textarea");S==null||S.focus()})});function be(S){l.open&&S.key==="Escape"&&!R()&&l.onClose()}function M(S){return S.type==="number"?"number":S.type==="datetime"?"datetime-local":"text"}function de(S){return S.key==="id"?"Leave blank to auto-generate":S.type==="json"?'{ "key": "value" }':S.type==="number"?"0":S.label}function x(S){return`create-row-${S}`}function Y(S){if(!ae()[S])return;const K={...ae()};delete K[S],ae(K)}var se=Jt();la("keydown",er,be);var le=Je(se);{var ce=S=>{var K=Xr(),w=Je(K),m=o(w,2),W=r(m),ve=r(W),_=o(r(ve),2),C=r(_);{var ue=b=>{var I=je("This table only uses auto-managed fields. Creating a row will generate the record automatically.");s(b,I)},Ie=b=>{var I=je("This table only uses auto-managed fields. You can optionally set a custom record ID.");s(b,I)},fe=b=>{var I=je("Fill in the fields for the new row. Record ID is optional.");s(b,I)};z(C,b=>{e(T)?b(ue):e(H)?b(Ie,1):b(fe,!1)})}a(_),a(ve);var Ve=o(ve,2);a(W);var te=o(W,2),G=r(te);{var Se=b=>{var I=Mr();s(b,I)},We=b=>{var I=Br();s(b,I)};z(G,b=>{e(H)?b(Se):e(T)&&b(We,1)})}var Pe=o(G,2);$e(Pe,17,()=>e(re),b=>b.key,(b,I)=>{var Oe=Qr(),tt=r(Oe),u=r(tt),U=r(u,!0);a(u);var oe=o(u,2),Te=r(oe,!0);a(oe),a(tt);var mt=o(tt,2);{var Rt=we=>{var v=Kr();let f;var P=r(v);P.value=P.__value="";var k=o(P);k.value=k.__value="true";var D=o(k);D.value=D.__value="false",a(v),g((j,O)=>{xe(v,"id",j),f=zt(v,1,"crp-input svelte-sxc7i5",null,f,O),v.disabled=R()},[()=>x(e(I).key),()=>({"crp-input--error":!!ae()[e(I).key]})]),ee("change",v,()=>Y(e(I).key)),ca(v,()=>q()[e(I).key],j=>q(q()[e(I).key]=j,!0)),s(we,v)},Ct=we=>{var v=Vr();let f;var P=r(v);P.value=P.__value="";var k=o(P);$e(k,17,()=>e(I).enumValues,Ft,(D,j)=>{var O=Jr(),Q=r(O,!0);a(O);var ie={};g(()=>{N(Q,e(j)),ie!==(ie=e(j))&&(O.value=(O.__value=e(j))??"")}),s(D,O)}),a(v),g((D,j)=>{xe(v,"id",D),f=zt(v,1,"crp-input svelte-sxc7i5",null,f,j),v.disabled=R()},[()=>x(e(I).key),()=>({"crp-input--error":!!ae()[e(I).key]})]),ee("change",v,()=>Y(e(I).key)),ca(v,()=>q()[e(I).key],D=>q(q()[e(I).key]=D,!0)),s(we,v)},Yt=we=>{var v=Hr();Ea(v);let f;g((P,k,D)=>{xe(v,"id",P),f=zt(v,1,"crp-input crp-input--textarea svelte-sxc7i5",null,f,k),xe(v,"placeholder",D),v.disabled=R()},[()=>x(e(I).key),()=>({"crp-input--error":!!ae()[e(I).key]}),()=>de(e(I))]),ee("input",v,()=>Y(e(I).key)),ea(v,()=>q()[e(I).key],P=>q(q()[e(I).key]=P,!0)),s(we,v)},Vt=we=>{var v=Wr();Lt(v);let f;g((P,k,D,j)=>{xe(v,"id",P),f=zt(v,1,"crp-input svelte-sxc7i5",null,f,k),xe(v,"type",D),xe(v,"placeholder",j),v.disabled=R()},[()=>x(e(I).key),()=>({"crp-input--error":!!ae()[e(I).key]}),()=>M(e(I)),()=>de(e(I))]),ee("input",v,()=>Y(e(I).key)),ea(v,()=>q()[e(I).key],P=>q(q()[e(I).key]=P,!0)),s(we,v)};z(mt,we=>{e(I).type==="boolean"?we(Rt):e(I).type==="enum"&&e(I).enumValues?we(Ct,1):e(I).type==="json"?we(Yt,2):we(Vt,!1)})}var Qe=o(mt,2);{var Ce=we=>{var v=Gr();s(we,v)};z(Qe,we=>{e(I).key==="id"&&we(Ce)})}var at=o(Qe,2);{var Ze=we=>{var v=Yr(),f=r(v,!0);a(v),g(()=>N(f,ae()[e(I).key])),s(we,v)};z(at,we=>{ae()[e(I).key]&&we(Ze)})}a(Oe),g(we=>{xe(u,"for",we),N(U,e(I).label),N(Te,e(I).type)},[()=>x(e(I).key)]),s(b,Oe)});var it=o(Pe,2),et=r(it),Me=o(et,2),dt=r(Me);{var ht=b=>{var I=Zr();s(b,I)},ge=b=>{var I=je();g(()=>N(I,e(T)?"Create Empty Row":"Create Row")),s(b,I)};z(dt,b=>{R()?b(ht):b(ge,!1)})}a(Me),a(it),a(te),a(m),Ua(m,b=>t(V,b),()=>e(V)),g(()=>{Ve.disabled=R(),et.disabled=R(),Me.disabled=R()}),ee("click",w,()=>!R()&&l.onClose()),ee("click",Ve,function(...b){var I;(I=l.onClose)==null||I.apply(this,b)}),la("submit",te,b=>{b.preventDefault(),l.onSubmit()}),ee("click",et,function(...b){var I;(I=l.onClose)==null||I.apply(this,b)}),s(S,K)};z(le,S=>{l.open&&S(ce)})}s(_e,se),ia()}ua(["click","change","input"]);var es=d('<button class="dg-btn svelte-45rfpz"> </button>'),ts=d('<button class="dg-btn dg-btn--danger svelte-45rfpz"> </button> <!>',1),as=d('<button class="dg-btn dg-btn--primary svelte-45rfpz">Save All Changes</button> <button class="dg-btn svelte-45rfpz">Revert All</button>',1),rs=d('<label class="dg-col-picker__item svelte-45rfpz"><input type="checkbox" class="svelte-45rfpz"/> <span class="svelte-45rfpz"> </span></label>'),ss=d('<button type="button" class="dg-col-picker-backdrop svelte-45rfpz" aria-label="Close column picker"></button> <div class="dg-col-picker svelte-45rfpz" role="dialog" aria-modal="true" aria-label="Column picker"></div>',1),ns=d('<div class="dg-col-picker-wrap svelte-45rfpz"><button class="dg-btn svelte-45rfpz" aria-haspopup="dialog"> </button> <!></div>'),ls=d('<button class="dg-btn dg-btn--primary svelte-45rfpz">+ Add Row</button>'),os=d('<div class="dg-toolbar svelte-45rfpz"><div class="dg-toolbar__left svelte-45rfpz"><!> <!></div> <div class="dg-toolbar__right svelte-45rfpz"><!> <!></div></div>'),is=d('<th class="dg-th dg-th--checkbox svelte-45rfpz" style="width:36px;"><input type="checkbox"/></th>'),ds=d('<span class="dg-sort-icon svelte-45rfpz"> </span>'),vs=d('<button type="button" class="dg-resize-handle svelte-45rfpz" tabindex="-1"></button>'),cs=d('<th class="dg-th svelte-45rfpz"><div class="dg-th__inner svelte-45rfpz"><button class="dg-sort-btn svelte-45rfpz"> <!></button> <!></div></th>'),us=d('<th class="dg-th dg-th--actions svelte-45rfpz" style="width:80px;">Actions</th>'),fs=d('<tr><td class="dg-td dg-td--empty svelte-45rfpz"><div class="dg-loading svelte-45rfpz"><span class="dg-spinner svelte-45rfpz"></span> Loading...</div></td></tr>'),ps=d('<tr><td class="dg-td dg-td--empty svelte-45rfpz"> </td></tr>'),_s=d('<td class="dg-td dg-td--checkbox svelte-45rfpz"><input type="checkbox"/></td>'),bs=d('<select class="dg-cell-editor svelte-45rfpz"><option>null</option><option>true</option><option>false</option></select>'),gs=d("<option> </option>"),hs=d('<select class="dg-cell-editor svelte-45rfpz"><option>—</option><!></select>'),ms=d('<textarea class="dg-cell-editor dg-cell-editor--json svelte-45rfpz" rows="4"></textarea>'),ys=d('<input class="dg-cell-editor svelte-45rfpz"/>'),ws=d('<a class="dg-cell-link svelte-45rfpz" title="Navigate to related record"> </a>'),ks=d("<em>null</em>"),xs=d('<span class="dg-bool svelte-45rfpz"> </span>'),Ss=d('<button type="button"><span><!></span></button>'),Cs=d("<td><!></td>"),Ns=d('<button class="dg-act-btn svelte-45rfpz" title="Duplicate"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><rect x="5" y="5" width="8" height="8" rx="1.5" stroke="currentColor" stroke-width="1.5"></rect><path d="M3 11V3.5C3 2.67 3.67 2 4.5 2H11" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button>'),Is=d('<button class="dg-act-btn svelte-45rfpz" title="Inspect"><svg width="14" height="14" viewBox="0 0 16 16" fill="none"><circle cx="7" cy="7" r="4.5" stroke="currentColor" stroke-width="1.5"></circle><path d="M10.5 10.5L14 14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button>'),zs=d('<span class="dg-spinner-sm svelte-45rfpz"></span>'),Rs=d('<button class="dg-act-btn dg-act-btn--save svelte-45rfpz" title="Save"><!></button> <button class="dg-act-btn svelte-45rfpz" title="Revert">&#x21A9;</button>',1),Ds=d('<td class="dg-td dg-td--actions svelte-45rfpz"><!> <!> <!></td>'),Es=d("<tr><!><!><!></tr>"),Ts=d('<select class="dg-page-size svelte-45rfpz"><option>20 / page</option><option>50 / page</option><option>100 / page</option><option>200 / page</option><option>500 / page</option></select>'),Ps=d('<div class="dg-footer__right svelte-45rfpz"><button class="dg-btn dg-btn--sm svelte-45rfpz">&#x2190; Prev</button> <span class="dg-page-info svelte-45rfpz"> </span> <button class="dg-btn dg-btn--sm svelte-45rfpz">Next &#x2192;</button></div>'),Os=d('<div class="dg svelte-45rfpz" role="grid" tabindex="0"><!> <div class="dg-table-wrap svelte-45rfpz"><table class="dg-table svelte-45rfpz"><thead><tr><!><!><!></tr></thead><tbody><!></tbody></table></div> <div class="dg-footer svelte-45rfpz"><div class="dg-footer__left svelte-45rfpz"><span class="dg-count svelte-45rfpz"> </span> <!></div> <!></div></div> <!>',1);function js(_e,l){oa(l,!0);let Z=yt(l,"columns",19,()=>[]),q=yt(l,"rows",19,()=>[]),ae=yt(l,"loading",3,!1),R=yt(l,"readonly",3,!1),E=yt(l,"emptyMessage",3,"No data available."),V=yt(l,"totalCount",3,0),X=yt(l,"page",3,1),J=yt(l,"pageSize",3,20),re=yt(l,"tableName",3,""),H=y(lt(new Set)),T=y(lt(new Map)),be=y(lt(new Set)),M=y(null),de=y(null),x=y(""),Y=y(null),se=y("asc"),le=y(lt(new Map)),ce=y(null),S=y(0),K=y(0),w=y(null),m=y(lt(new Set)),W=y(!1),ve=y(!1),_=y(lt({})),C=y(lt({})),ue=y(!1),Ie=L(()=>q().length>0&&q().every(n=>e(H).has(String(n.id)))),fe=L(()=>e(H).size>0),Ve=L(()=>Math.max(1,Math.ceil(V()/J()))),te=L(()=>e(T).size>0),G=L(()=>Z().filter(n=>!e(m).has(n.key)));function Se(n,c){requestAnimationFrame(()=>{var B;const h=(B=e(w))==null?void 0:B.querySelector(`[data-row-id="${n}"][data-col-key="${c}"]`);h==null||h.focus()})}wt(()=>{!e(M)||e(de)||Se(e(M).rowId,e(M).colKey)}),wt(()=>{if(re())try{const n=localStorage.getItem(`edgebase_grid_columns_${re()}`);t(m,n?new Set(JSON.parse(n)):new Set,!0)}catch{t(m,new Set,!0)}});function We(n){const c=new Set(e(m));if(c.has(n)?c.delete(n):c.add(n),t(m,c,!0),re())try{localStorage.setItem(`edgebase_grid_columns_${re()}`,JSON.stringify([...c]))}catch{}}function Pe(n){return e(le).get(n.key)??n.width??it(n)}function it(n){return n.type==="boolean"?80:n.type==="number"?120:n.type==="datetime"?180:n.type==="json"?200:160}function et(){e(Ie)?t(H,new Set,!0):t(H,new Set(q().map(n=>String(n.id))),!0)}function Me(n){const c=new Set(e(H));c.has(n)?c.delete(n):c.add(n),t(H,c,!0)}function dt(n){var c;e(Y)===n?t(se,e(se)==="asc"?"desc":"asc",!0):(t(Y,n,!0),t(se,"asc")),(c=l.onSort)==null||c.call(l,n,e(se))}function ht(n,c){const h=e(T).get(String(n.id));return h!=null&&h.has(c)?h.get(c):n[c]}function ge(n,c){if(n==null)return"";if(c.type==="boolean")return n?"true":"false";if(c.type==="json"&&typeof n=="object")return JSON.stringify(n);if(c.type==="datetime"&&typeof n=="string")try{return new Date(n).toLocaleString()}catch{return String(n)}return String(n)}function b(n){return n==null}function I(n,c){var h;return((h=e(T).get(n))==null?void 0:h.has(c))??!1}async function Oe(n){const c=n==null?"":typeof n=="object"?JSON.stringify(n):String(n);try{await navigator.clipboard.writeText(c),St("Copied to clipboard")}catch{}}function tt(n,c,h){if(R())return;const B=Z().find(ne=>ne.key===c);!B||B.editable===!1||c==="id"||c==="createdAt"||c==="updatedAt"||(t(de,{rowId:n,colKey:c},!0),h==null?t(x,""):typeof h=="object"?t(x,JSON.stringify(h,null,2),!0):t(x,String(h),!0),requestAnimationFrame(()=>{const ne=document.querySelector(".dg-cell-editor");ne==null||ne.focus()}))}function u(){if(!e(de))return;const{rowId:n,colKey:c}=e(de),h=Z().find(Xe=>Xe.key===c);if(!h){U();return}let B;if(e(x)===""&&h.type!=="text")B=null;else if(h.type==="number"){if(B=e(x)===""?null:Number(e(x)),B!==null&&isNaN(B)){U();return}}else if(h.type==="boolean")B=e(x)==="true"||e(x)==="1";else if(h.type==="json")try{B=e(x)?JSON.parse(e(x)):null}catch{ot("Invalid JSON");return}else B=e(x);const ne=q().find(Xe=>String(Xe.id)===n),$=ne==null?void 0:ne[c];if(JSON.stringify(B)===JSON.stringify($)){const Xe=e(T).get(n);Xe&&(Xe.delete(c),Xe.size===0&&e(T).delete(n),t(T,new Map(e(T)),!0))}else e(T).has(n)||e(T).set(n,new Map),e(T).get(n).set(c,B),t(T,new Map(e(T)),!0);t(de,null)}function U(){t(de,null)}async function oe(n){const c=e(T).get(n);if(!(!c||!l.onSave)){t(be,new Set([...e(be),n]),!0);try{const h={};for(const[B,ne]of c)h[B]=ne;await l.onSave(n,h),e(T).delete(n),t(T,new Map(e(T)),!0)}catch(h){ot(gt(h,"Save failed."))}finally{const h=new Set(e(be));h.delete(n),t(be,h,!0)}}}function Te(n){e(T).delete(n),t(T,new Map(e(T)),!0)}async function mt(){for(const n of e(T).keys())await oe(n)}function Rt(){t(T,new Map,!0)}async function Ct(){if(e(H).size===0||!l.onDelete)return;const n=[...e(H)];try{await l.onDelete(n),t(H,new Set,!0)}catch(c){ot(gt(c,"Delete failed."))}}function Yt(){t(ve,!0),t(_,{},!0),t(C,{},!0)}function Vt(n){if(!(n instanceof Cr)||!n.data||typeof n.data!="object")return{};const c={};for(const[h,B]of Object.entries(n.data))B&&typeof B=="object"&&"message"in B&&typeof B.message=="string"&&(c[h]=B.message);return c}async function Qe(){if(l.onCreate){t(ue,!0),t(C,{},!0);try{const n={};for(const c of Z()){if(c.key==="createdAt"||c.key==="updatedAt")continue;const h=e(_)[c.key];if(c.key==="id"){const B=String(h??"").trim(),ne=Ur(B);if(ne){t(C,{id:ne},!0);return}B&&(n.id=B);continue}if(!(!h&&h!=="0"))if(c.type==="number")n[c.key]=Number(h);else if(c.type==="boolean")n[c.key]=h==="true"||h==="1";else if(c.type==="json")try{n[c.key]=JSON.parse(h)}catch{t(C,{[c.key]:`Invalid JSON for ${c.label}`},!0);return}else n[c.key]=h}await l.onCreate(n),t(ve,!1),t(_,{},!0),t(C,{},!0)}catch(n){const c=Vt(n);if(Object.keys(c).length>0){t(C,c,!0);return}ot(gt(n,"Create failed."))}finally{t(ue,!1)}}}function Ce(){t(ve,!1),t(_,{},!0),t(C,{},!0)}function at(n,c){n.preventDefault(),n.stopPropagation(),t(ce,c,!0),t(S,n.clientX,!0),t(K,Pe(Z().find(h=>h.key===c)),!0),document.addEventListener("mousemove",Ze),document.addEventListener("mouseup",we)}function Ze(n){if(!e(ce))return;const c=n.clientX-e(S),h=Z().find($=>$.key===e(ce)),B=(h==null?void 0:h.minWidth)??60,ne=Math.max(B,e(K)+c);e(le).set(e(ce),ne),t(le,new Map(e(le)),!0)}function we(){t(ce,null),document.removeEventListener("mousemove",Ze),document.removeEventListener("mouseup",we)}function v(n){if(n.target instanceof HTMLAnchorElement&&n.key==="Enter")return;if(e(de)){if(n.key==="Escape")U(),n.preventDefault();else if(n.key==="Enter"&&!n.shiftKey){const $=Z().find(Xe=>Xe.key===e(de).colKey);($==null?void 0:$.type)!=="json"&&(u(),n.preventDefault())}else n.key==="Tab"&&u();return}if(!e(M))return;const c=q().map($=>String($.id)),h=e(G).map($=>$.key),B=c.indexOf(e(M).rowId),ne=h.indexOf(e(M).colKey);if(n.key==="ArrowDown"&&B<c.length-1)t(M,{rowId:c[B+1],colKey:e(M).colKey},!0),n.preventDefault();else if(n.key==="ArrowUp"&&B>0)t(M,{rowId:c[B-1],colKey:e(M).colKey},!0),n.preventDefault();else if(n.key==="ArrowRight"&&ne<h.length-1)t(M,{rowId:e(M).rowId,colKey:h[ne+1]},!0),n.preventDefault();else if(n.key==="ArrowLeft"&&ne>0)t(M,{rowId:e(M).rowId,colKey:h[ne-1]},!0),n.preventDefault();else if(n.key==="Enter"||n.key==="F2"){const $=ht(q().find(Xe=>String(Xe.id)===e(M).rowId),e(M).colKey);tt(e(M).rowId,e(M).colKey,$),n.preventDefault()}else if(n.key==="c"&&(n.metaKey||n.ctrlKey)){const $=ht(q().find(Xe=>String(Xe.id)===e(M).rowId),e(M).colKey);Oe($),n.preventDefault()}else n.key==="Delete"&&e(fe)&&!R()&&(Ct(),n.preventDefault())}function f(){var n;X()>1&&((n=l.onPageChange)==null||n.call(l,X()-1))}function P(){var n;X()<e(Ve)&&((n=l.onPageChange)==null||n.call(l,X()+1))}function k(n){var h;const c=parseInt(n.target.value,10);(h=l.onPageSizeChange)==null||h.call(l,c)}var D=Os(),j=Je(D),O=r(j);{var Q=n=>{var c=os(),h=r(c),B=r(h);{var ne=i=>{var p=ts(),F=Je(p),A=r(F);a(F);var he=o(F,2);{var me=Ae=>{var Be=es(),qe=r(Be);a(Be),g(()=>N(qe,`Edit ${e(H).size??""} row${e(H).size>1?"s":""}`)),ee("click",Be,()=>{var Ke;return(Ke=l.onBulkEdit)==null?void 0:Ke.call(l,[...e(H)])}),s(Ae,Be)};z(he,Ae=>{l.onBulkEdit&&Ae(me)})}g(()=>N(A,`Delete ${e(H).size??""} row${e(H).size>1?"s":""}`)),ee("click",F,Ct),s(i,p)};z(B,i=>{e(fe)&&i(ne)})}var $=o(B,2);{var Xe=i=>{var p=as(),F=Je(p),A=o(F,2);ee("click",F,mt),ee("click",A,Rt),s(i,p)};z($,i=>{e(te)&&i(Xe)})}a(h);var At=o(h,2),Wt=r(At);{var ba=i=>{var p=ns(),F=r(p),A=r(F);a(F);var he=o(F,2);{var me=Ae=>{var Be=ss(),qe=Je(Be),Ke=o(qe,2);$e(Ke,21,Z,Le=>Le.key,(Le,Re)=>{var Fe=rs(),Ue=r(Fe);Lt(Ue);var vt=o(Ue,2),Ut=r(vt,!0);a(vt),a(Fe),g(Xt=>{Ra(Ue,Xt),Ue.disabled=e(Re).key==="id",N(Ut,e(Re).label)},[()=>!e(m).has(e(Re).key)]),ee("change",Ue,()=>We(e(Re).key)),s(Le,Fe)}),a(Ke),ee("click",qe,()=>t(W,!1)),s(Ae,Be)};z(he,Ae=>{e(W)&&Ae(me)})}a(p),g(()=>{xe(F,"aria-expanded",e(W)),N(A,`Columns (${e(G).length??""}/${Z().length??""})`)}),ee("click",F,()=>t(W,!e(W))),s(i,p)};z(Wt,i=>{re()&&i(ba)})}var Pt=o(Wt,2);{var qt=i=>{var p=ls();ee("click",p,Yt),s(i,p)};z(Pt,i=>{e(ve)||i(qt)})}a(At),a(c),s(n,c)};z(O,n=>{R()||n(Q)})}var ie=o(O,2),ke=r(ie),ze=r(ke),Nt=r(ze),Dt=r(Nt);{var rt=n=>{var c=is(),h=r(c);Lt(h),a(c),g(()=>Ra(h,e(Ie))),ee("change",h,et),s(n,c)};z(Dt,n=>{R()||n(rt)})}var _t=o(Dt);$e(_t,17,()=>e(G),n=>n.key,(n,c)=>{var h=cs(),B=r(h),ne=r(B),$=r(ne),Xe=o($);{var At=Pt=>{var qt=ds(),i=r(qt,!0);a(qt),g(()=>N(i,e(se)==="asc"?"▲":"▼")),s(Pt,qt)};z(Xe,Pt=>{e(Y)===e(c).key&&Pt(At)})}a(ne);var Wt=o(ne,2);{var ba=Pt=>{var qt=vs();g(()=>xe(qt,"aria-label",`Resize ${e(c).label} column`)),ee("mousedown",qt,i=>at(i,e(c).key)),s(Pt,qt)};z(Wt,Pt=>{R()||Pt(ba)})}a(B),a(h),g(Pt=>{Va(h,`width:${Pt??""}px;min-width:${e(c).minWidth??60??""}px;`),N($,`${e(c).label??""} `)},[()=>Pe(e(c))]),ee("click",ne,()=>dt(e(c).key)),s(n,h)});var Et=o(_t);{var ya=n=>{var c=us();s(n,c)};z(Et,n=>{R()||n(ya)})}a(Nt),a(ze);var da=o(ze),wa=r(da);{var fa=n=>{var c=fs(),h=r(c);a(c),g(()=>xe(h,"colspan",e(G).length+(R()?0:2))),s(n,c)},pa=n=>{var c=ps(),h=r(c),B=r(h,!0);a(h),a(c),g(()=>{xe(h,"colspan",e(G).length+(R()?0:2)),N(B,E())}),s(n,c)},ka=n=>{var c=Jt(),h=Je(c);$e(h,17,q,B=>B.id??q().indexOf(B),(B,ne)=>{const $=L(()=>String(e(ne).id)),Xe=L(()=>e(T).has(e($)));var At=Es();let Wt;var ba=r(At);{var Pt=F=>{var A=_s(),he=r(A);Lt(he),a(A),g(me=>Ra(he,me),[()=>e(H).has(e($))]),ee("change",he,()=>Me(e($))),s(F,A)};z(ba,F=>{R()||F(Pt)})}var qt=o(ba);$e(qt,17,()=>e(G),F=>F.key,(F,A)=>{const he=L(()=>ht(e(ne),e(A).key)),me=L(()=>I(e($),e(A).key)),Ae=L(()=>{var Ue,vt;return((Ue=e(de))==null?void 0:Ue.rowId)===e($)&&((vt=e(de))==null?void 0:vt.colKey)===e(A).key}),Be=L(()=>{var Ue,vt;return((Ue=e(M))==null?void 0:Ue.rowId)===e($)&&((vt=e(M))==null?void 0:vt.colKey)===e(A).key});var qe=Cs();let Ke;var Le=r(qe);{var Re=Ue=>{var vt=Jt(),Ut=Je(vt);{var Xt=ye=>{var Ee=bs(),Ge=r(Ee);Ge.value=Ge.__value="";var Mt=o(Ge);Mt.value=Mt.__value="true";var Ot=o(Mt);Ot.value=Ot.__value="false",a(Ee),la("blur",Ee,u),ee("keydown",Ee,Gt=>{Gt.key==="Escape"&&U()}),ca(Ee,()=>e(x),Gt=>t(x,Gt)),s(ye,Ee)},aa=ye=>{var Ee=hs(),Ge=r(Ee);Ge.value=Ge.__value="";var Mt=o(Ge);$e(Mt,17,()=>e(A).enumValues,Ft,(Ot,Gt)=>{var ra=gs(),bt=r(ra,!0);a(ra);var ft={};g(()=>{N(bt,e(Gt)),ft!==(ft=e(Gt))&&(ra.value=(ra.__value=e(Gt))??"")}),s(Ot,ra)}),a(Ee),la("blur",Ee,u),ee("keydown",Ee,Ot=>{Ot.key==="Escape"&&U()}),ca(Ee,()=>e(x),Ot=>t(x,Ot)),s(ye,Ee)},De=ye=>{var Ee=ms();Ea(Ee),la("blur",Ee,u),ea(Ee,()=>e(x),Ge=>t(x,Ge)),s(ye,Ee)},st=ye=>{var Ee=ys();Lt(Ee),g(()=>xe(Ee,"type",e(A).type==="number"?"number":e(A).type==="datetime"?"datetime-local":"text")),la("blur",Ee,u),ea(Ee,()=>e(x),Ge=>t(x,Ge)),s(ye,Ee)};z(Ut,ye=>{e(A).type==="boolean"?ye(Xt):e(A).type==="enum"&&e(A).enumValues?ye(aa,1):e(A).type==="json"?ye(De,2):ye(st,!1)})}s(Ue,vt)},Fe=Ue=>{const vt=L(()=>e(A).linkFn&&!b(e(he))?e(A).linkFn(e(he)):null);var Ut=Jt(),Xt=Je(Ut);{var aa=st=>{var ye=ws(),Ee=r(ye,!0);a(ye),g(Ge=>{xe(ye,"href",e(vt)),xe(ye,"data-row-id",e($)),xe(ye,"data-col-key",e(A).key),N(Ee,Ge)},[()=>ge(e(he),e(A))]),la("focus",ye,()=>{t(M,{rowId:e($),colKey:e(A).key},!0)}),s(st,ye)},De=st=>{var ye=Ss();let Ee;var Ge=r(ye);let Mt;var Ot=r(Ge);{var Gt=nt=>{var kt=ks();s(nt,kt)},ra=L(()=>b(e(he))),bt=nt=>{var kt=xs(),xt=r(kt,!0);a(kt),g(()=>N(xt,e(he)?"✔":"✘")),s(nt,kt)},ft=nt=>{var kt=je();g(xt=>N(kt,xt),[()=>ge(e(he),e(A))]),s(nt,kt)};z(Ot,nt=>{e(ra)?nt(Gt):e(A).type==="boolean"?nt(bt,1):nt(ft,!1)})}a(Ge),a(ye),g((nt,kt,xt)=>{Ee=zt(ye,1,"dg-cell-trigger svelte-45rfpz",null,Ee,nt),xe(ye,"data-row-id",e($)),xe(ye,"data-col-key",e(A).key),xe(ye,"aria-label",kt),Mt=zt(Ge,1,"dg-cell-value svelte-45rfpz",null,Mt,xt)},[()=>({"dg-cell-trigger--null":b(e(he))}),()=>`${e(A).label}: ${b(e(he))?"null":ge(e(he),e(A))}`,()=>({"dg-cell-value--null":b(e(he))})]),ee("click",ye,()=>{t(M,{rowId:e($),colKey:e(A).key},!0)}),ee("dblclick",ye,()=>tt(e($),e(A).key,e(he))),la("focus",ye,()=>{t(M,{rowId:e($),colKey:e(A).key},!0)}),s(st,ye)};z(Xt,st=>{e(vt)?st(aa):st(De,!1)})}s(Ue,Ut)};z(Le,Ue=>{e(Ae)?Ue(Re):Ue(Fe,!1)})}a(qe),g(Ue=>{Ke=zt(qe,1,"dg-td svelte-45rfpz",null,Ke,{"dg-td--dirty":e(me),"dg-td--focused":e(Be),"dg-td--editing":e(Ae)}),Va(qe,`width:${Ue??""}px;`)},[()=>Pe(e(A))]),s(F,qe)});var i=o(qt);{var p=F=>{var A=Ds(),he=r(A);{var me=Le=>{var Re=Ns();ee("click",Re,()=>{var Fe;return(Fe=l.onDuplicate)==null?void 0:Fe.call(l,e(ne))}),s(Le,Re)};z(he,Le=>{l.onDuplicate&&Le(me)})}var Ae=o(he,2);{var Be=Le=>{var Re=Is();ee("click",Re,()=>{var Fe;return(Fe=l.onRowInspect)==null?void 0:Fe.call(l,e(ne))}),s(Le,Re)};z(Ae,Le=>{l.onRowInspect&&Le(Be)})}var qe=o(Ae,2);{var Ke=Le=>{var Re=Rs(),Fe=Je(Re),Ue=r(Fe);{var vt=De=>{var st=zs();s(De,st)},Ut=L(()=>e(be).has(e($))),Xt=De=>{var st=je("✔");s(De,st)};z(Ue,De=>{e(Ut)?De(vt):De(Xt,!1)})}a(Fe);var aa=o(Fe,2);g(De=>Fe.disabled=De,[()=>e(be).has(e($))]),ee("click",Fe,()=>oe(e($))),ee("click",aa,()=>Te(e($))),s(Le,Re)};z(qe,Le=>{e(Xe)&&Le(Ke)})}a(A),s(F,A)};z(i,F=>{R()||F(p)})}a(At),g(F=>Wt=zt(At,1,"dg-row svelte-45rfpz",null,Wt,F),[()=>({"dg-row--selected":e(H).has(e($)),"dg-row--dirty":e(Xe)})]),s(B,At)}),s(n,c)};z(wa,n=>{ae()?n(fa):q().length===0?n(pa,1):n(ka,!1)})}a(da),a(ke),a(ie),Ua(ie,n=>t(w,n),()=>e(w));var _a=o(ie,2),Qt=r(_a),Ht=r(Qt),Tt=r(Ht);a(Ht);var ta=o(Ht,2);{var ga=n=>{var c=Ts(),h=r(c);h.value=h.__value="20";var B=o(h);B.value=B.__value="50";var ne=o(B);ne.value=ne.__value="100";var $=o(ne);$.value=$.__value="200";var Xe=o($);Xe.value=Xe.__value="500",a(c);var At;Nr(c),g(Wt=>{At!==(At=Wt)&&(c.value=(c.__value=Wt)??"",Ir(c,Wt))},[()=>String(J())]),ee("change",c,k),s(n,c)};z(ta,n=>{R()||n(ga)})}a(Qt);var Zt=o(Qt,2);{var na=n=>{var c=Ps(),h=r(c),B=o(h,2),ne=r(B);a(B);var $=o(B,2);a(c),g(()=>{h.disabled=X()<=1,N(ne,`Page ${X()??""} / ${e(Ve)??""}`),$.disabled=X()>=e(Ve)}),ee("click",h,f),ee("click",$,P),s(n,c)};z(Zt,n=>{e(Ve)>1&&n(na)})}a(_a),a(j);var Sa=o(j,2);{var ha=n=>{$r(n,{get columns(){return Z()},get saving(){return e(ue)},onClose:Ce,onSubmit:Qe,get open(){return e(ve)},set open(c){t(ve,c,!0)},get values(){return e(_)},set values(c){t(_,c,!0)},get errors(){return e(C)},set errors(c){t(C,c,!0)}})};z(Sa,n=>{R()||n(ha)})}g(()=>N(Tt,`${V()??""} row${V()!==1?"s":""}`)),ee("keydown",j,v),s(_e,D),ia()}ua(["keydown","click","change","mousedown","dblclick"]);function Xa({limit:_e,offset:l,search:Z,sortKey:q,sortDir:ae="asc",includeTotal:R}){const E=new URLSearchParams({limit:String(_e),offset:String(l)});return Z&&E.set("search",Z),q&&E.set("sort",`${q}:${ae}`),R===!1&&E.set("includeTotal","0"),E.toString()}var Fs=d('<label class="rdp-field__name svelte-yphh8m"> </label>'),Ls=d('<span class="rdp-field__name svelte-yphh8m"> </span>'),As=d('<select class="rdp-input svelte-yphh8m"><option>Unset</option><option>true</option><option>false</option></select>'),qs=d("<option> </option>"),Us=d('<select class="rdp-input svelte-yphh8m"><option>Select value</option><!></select>'),Ms=d('<textarea class="rdp-input rdp-input--textarea svelte-yphh8m" rows="6"></textarea>'),Bs=d('<input class="rdp-input svelte-yphh8m"/>'),Ks=d("<em>null</em>"),Js=d('<span class="rdp-bool svelte-yphh8m"> </span>'),Vs=d('<pre class="rdp-json svelte-yphh8m"> </pre>'),Hs=d('<a class="rdp-link svelte-yphh8m"> </a>'),Ws=d("<div><!></div>"),Gs=d('<div class="rdp-field svelte-yphh8m"><div class="rdp-field__header svelte-yphh8m"><!> <span class="rdp-field__type svelte-yphh8m"> </span></div> <!></div>'),Ys=d('<span class="rdp-spinner svelte-yphh8m"></span>'),Qs=d('<button type="button" class="rdp-btn svelte-yphh8m">Reset</button> <button type="button" class="rdp-btn rdp-btn--primary svelte-yphh8m"><!></button>',1),Zs=d('<button type="button" class="rdp-overlay svelte-yphh8m" aria-label="Close row detail"></button> <div class="rdp svelte-yphh8m" role="dialog" aria-modal="true" aria-labelledby="row-detail-title"><div class="rdp-header svelte-yphh8m"><div><h3 id="row-detail-title" class="rdp-title svelte-yphh8m">Row Detail</h3> <p class="rdp-subtitle svelte-yphh8m"><!></p></div> <button type="button" class="rdp-close svelte-yphh8m" aria-label="Close row detail">&times;</button></div> <div class="rdp-body svelte-yphh8m"></div> <div class="rdp-footer svelte-yphh8m"><button type="button" class="rdp-btn svelte-yphh8m">Close</button> <!></div></div>',1);function Xs(_e,l){oa(l,!0);const Z=new Set(["id","createdAt","updatedAt"]),q=Symbol("invalid-value");let ae=y(null),R=y(lt({})),E=y(null),V=y(!1),X=L(()=>l.columns.filter(_=>!Z.has(_.key)&&_.editable!==!1)),J=L(()=>e(X).length>0&&!!l.onSave),re=L(()=>!!le());wt(()=>{!l.open||!l.row||(t(E,{...l.row},!0),t(R,H(l.row),!0),requestAnimationFrame(()=>{var C;const _=(C=e(ae))==null?void 0:C.querySelector("input, select, textarea");_==null||_.focus()}))});function H(_){const C={};for(const ue of l.columns){const Ie=_[ue.key];if(Ie==null){C[ue.key]="";continue}if(ue.type==="boolean"){C[ue.key]=Ie?"true":"false";continue}if(ue.type==="json"&&typeof Ie=="object"){C[ue.key]=JSON.stringify(Ie,null,2);continue}if(ue.type==="datetime"&&typeof Ie=="string"){C[ue.key]=T(Ie);continue}C[ue.key]=String(Ie)}return C}function T(_){const C=new Date(_);return Number.isNaN(C.getTime())?_:new Date(C.getTime()-C.getTimezoneOffset()*6e4).toISOString().slice(0,16)}function be(_){l.open&&_.key==="Escape"&&!e(V)&&l.onClose()}function M(_,C){if(_==null)return"null";if(C.type==="boolean")return _?"true":"false";if(C.type==="json"&&typeof _=="object")return JSON.stringify(_,null,2);if(C.type==="datetime"&&typeof _=="string")try{return new Date(_).toLocaleString()}catch{return String(_)}return String(_)}function de(_,C){if(C===""&&_.type!=="text")return null;if(_.type==="number"){const ue=Number(C);return Number.isNaN(ue)?q:ue}if(_.type==="boolean")return C===""?null:C==="true"||C==="1";if(_.type==="json"){if(C==="")return null;try{return JSON.parse(C)}catch{return q}}return C}function x(_){return _==null}function Y(_){return typeof _=="object"&&_!==null}function se(_,C){return JSON.stringify(_)===JSON.stringify(C)}function le(){if(!e(E))return null;const _={};for(const C of e(X)){const ue=de(C,e(R)[C.key]??"");if(ue===q)return null;se(ue,e(E)[C.key])||(_[C.key]=ue)}return Object.keys(_).length>0?_:null}function ce(_){return _.type==="number"?"number":_.type==="datetime"?"datetime-local":"text"}function S(_){return`row-detail-field-${_}`}async function K(){if(!e(E)||!l.onSave)return;const _=le();if(_){for(const C of e(X))if(de(C,e(R)[C.key]??"")===q){ot(`Invalid ${C.type} value for ${C.label}`);return}t(V,!0);try{await l.onSave(String(e(E).id),_),t(E,{...e(E),..._},!0),t(R,H(e(E)),!0)}catch(C){ot(gt(C,"Save failed."))}finally{t(V,!1)}}}function w(){e(E)&&t(R,H(e(E)),!0)}var m=Jt();la("keydown",er,be);var W=Je(m);{var ve=_=>{var C=Zs(),ue=Je(C),Ie=o(ue,2),fe=r(Ie),Ve=r(fe),te=o(r(Ve),2),G=r(te);{var Se=ge=>{var b=je("Inspect and update this record without leaving the table.");s(ge,b)},We=ge=>{var b=je("This record is read-only.");s(ge,b)};z(G,ge=>{e(J)?ge(Se):ge(We,!1)})}a(te),a(Ve);var Pe=o(Ve,2);a(fe);var it=o(fe,2);$e(it,21,()=>l.columns,ge=>ge.key,(ge,b)=>{const I=L(()=>e(E)[e(b).key]),Oe=L(()=>!Z.has(e(b).key)&&e(b).editable!==!1&&!!l.onSave);var tt=Gs(),u=r(tt),U=r(u);{var oe=Qe=>{var Ce=Fs(),at=r(Ce,!0);a(Ce),g(Ze=>{xe(Ce,"for",Ze),N(at,e(b).label)},[()=>S(e(b).key)]),s(Qe,Ce)},Te=Qe=>{var Ce=Ls(),at=r(Ce,!0);a(Ce),g(()=>N(at,e(b).label)),s(Qe,Ce)};z(U,Qe=>{e(Oe)?Qe(oe):Qe(Te,!1)})}var mt=o(U,2),Rt=r(mt,!0);a(mt),a(u);var Ct=o(u,2);{var Yt=Qe=>{var Ce=Jt(),at=Je(Ce);{var Ze=P=>{var k=As(),D=r(k);D.value=D.__value="";var j=o(D);j.value=j.__value="true";var O=o(j);O.value=O.__value="false",a(k),g(Q=>{xe(k,"id",Q),k.disabled=e(V)},[()=>S(e(b).key)]),ca(k,()=>e(R)[e(b).key],Q=>e(R)[e(b).key]=Q),s(P,k)},we=P=>{var k=Us(),D=r(k);D.value=D.__value="";var j=o(D);$e(j,17,()=>e(b).enumValues,Ft,(O,Q)=>{var ie=qs(),ke=r(ie,!0);a(ie);var ze={};g(()=>{N(ke,e(Q)),ze!==(ze=e(Q))&&(ie.value=(ie.__value=e(Q))??"")}),s(O,ie)}),a(k),g(O=>{xe(k,"id",O),k.disabled=e(V)},[()=>S(e(b).key)]),ca(k,()=>e(R)[e(b).key],O=>e(R)[e(b).key]=O),s(P,k)},v=P=>{var k=Ms();Ea(k),g(D=>{xe(k,"id",D),k.disabled=e(V)},[()=>S(e(b).key)]),ea(k,()=>e(R)[e(b).key],D=>e(R)[e(b).key]=D),s(P,k)},f=P=>{var k=Bs();Lt(k),g((D,j)=>{xe(k,"id",D),xe(k,"type",j),k.disabled=e(V)},[()=>S(e(b).key),()=>ce(e(b))]),ea(k,()=>e(R)[e(b).key],D=>e(R)[e(b).key]=D),s(P,k)};z(at,P=>{e(b).type==="boolean"?P(Ze):e(b).type==="enum"&&e(b).enumValues?P(we,1):e(b).type==="json"?P(v,2):P(f,!1)})}s(Qe,Ce)},Vt=Qe=>{var Ce=Ws();let at;var Ze=r(Ce);{var we=O=>{var Q=Ks();s(O,Q)},v=L(()=>x(e(I))),f=O=>{var Q=Js(),ie=r(Q,!0);a(Q),g(()=>N(ie,e(I)?"true":"false")),s(O,Q)},P=O=>{var Q=Vs(),ie=r(Q,!0);a(Q),g(ke=>N(ie,ke),[()=>JSON.stringify(e(I),null,2)]),s(O,Q)},k=L(()=>e(b).type==="json"&&Y(e(I))),D=O=>{const Q=L(()=>e(b).linkFn(e(I)));var ie=Jt(),ke=Je(ie);{var ze=Dt=>{var rt=Hs(),_t=r(rt,!0);a(rt),g(Et=>{xe(rt,"href",e(Q)),N(_t,Et)},[()=>M(e(I),e(b))]),s(Dt,rt)},Nt=Dt=>{var rt=je();g(_t=>N(rt,_t),[()=>M(e(I),e(b))]),s(Dt,rt)};z(ke,Dt=>{e(Q)?Dt(ze):Dt(Nt,!1)})}s(O,ie)},j=O=>{var Q=je();g(ie=>N(Q,ie),[()=>M(e(I),e(b))]),s(O,Q)};z(Ze,O=>{e(v)?O(we):e(b).type==="boolean"?O(f,1):e(k)?O(P,2):e(b).linkFn?O(D,3):O(j,!1)})}a(Ce),g(O=>at=zt(Ce,1,"rdp-field__value svelte-yphh8m",null,at,O),[()=>({"rdp-field__value--null":x(e(I))})]),s(Qe,Ce)};z(Ct,Qe=>{e(Oe)?Qe(Yt):Qe(Vt,!1)})}a(tt),g(()=>N(Rt,e(b).type)),s(ge,tt)}),a(it);var et=o(it,2),Me=r(et),dt=o(Me,2);{var ht=ge=>{var b=Qs(),I=Je(b),Oe=o(I,2),tt=r(Oe);{var u=oe=>{var Te=Ys();s(oe,Te)},U=oe=>{var Te=je("Save Changes");s(oe,Te)};z(tt,oe=>{e(V)?oe(u):oe(U,!1)})}a(Oe),g(()=>{I.disabled=e(V)||!e(re),Oe.disabled=e(V)||!e(re)}),ee("click",I,w),ee("click",Oe,K),s(ge,b)};z(dt,ge=>{e(J)&&ge(ht)})}a(et),a(Ie),Ua(Ie,ge=>t(ae,ge),()=>e(ae)),g(()=>{Pe.disabled=e(V),Me.disabled=e(V)}),ee("click",ue,()=>!e(V)&&l.onClose()),ee("click",Pe,function(...ge){var b;(b=l.onClose)==null||b.apply(this,ge)}),ee("click",Me,function(...ge){var b;(b=l.onClose)==null||b.apply(this,ge)}),s(_,C)};z(W,_=>{l.open&&e(E)&&_(ve)})}s(_e,m),ia()}ua(["click"]);var $s=d("<!> <!>",1),en=d('<div class="csv-error svelte-198lwhz"> </div>'),tn=d('<span class="csv-filename svelte-198lwhz"> </span>'),an=d("<option> </option>"),rn=d('<div class="csv-map-row svelte-198lwhz"><span class="csv-map-from svelte-198lwhz"> </span> <span class="csv-map-arrow svelte-198lwhz">&rarr;</span> <select class="csv-map-select svelte-198lwhz"><option>— Skip —</option><!></select></div>'),sn=d('<th class="csv-preview-th svelte-198lwhz"> </th>'),nn=d('<td class="csv-preview-td svelte-198lwhz"> </td>'),ln=d("<tr></tr>"),on=d('<div class="csv-section svelte-198lwhz"><h4 class="csv-section-title svelte-198lwhz">Column Mapping</h4> <div class="csv-mappings svelte-198lwhz"></div></div> <div class="csv-section svelte-198lwhz"><h4 class="csv-section-title svelte-198lwhz">Preview (first 5 rows)</h4> <div class="csv-preview-wrap svelte-198lwhz"><table class="csv-preview-table svelte-198lwhz"><thead><tr></tr></thead><tbody></tbody></table></div></div>',1),dn=d('<div class="csv-import svelte-198lwhz"><!> <div class="csv-upload svelte-198lwhz"><label class="csv-upload-label svelte-198lwhz"><span>Choose CSV file</span> <input type="file" accept=".csv,text/csv" class="csv-file-input svelte-198lwhz"/></label> <!></div> <!></div>'),vn=d('<div class="records-tab svelte-198lwhz"><div class="toolbar svelte-198lwhz"><form class="search-bar svelte-198lwhz"><input class="search-input svelte-198lwhz" type="text" placeholder="Search records..."/> <!> <!></form> <div class="toolbar__right svelte-198lwhz"><div class="toolbar__meta svelte-198lwhz"> </div> <!> <!> <!></div></div> <!> <!> <!></div>');function cn(_e,l){oa(l,!0);const Z=()=>ma(Kt,"$schemaStore",q),[q,ae]=Ta();let R=y(!0),E=y(lt([])),V=y(lt({})),X=y(0),J=y(void 0),re=y(1),H=y(20),T=y(""),be=y(""),M=y(""),de=y("asc"),x=y(null),Y=y(!1),se=y(!1),le=y(null),ce=y(lt([])),S=y(lt([])),K=y(lt({})),w=y(!1),m=y(""),W=L(()=>Object.entries(e(V)).filter(([v])=>!Ga.includes(v))),ve=L(()=>Object.keys(e(V))),_=L(()=>e(ve).map(v=>{const f=e(V)[v],P=Ga.includes(v);let k="text";(f==null?void 0:f.type)==="number"||(f==null?void 0:f.type)==="integer"||(f==null?void 0:f.type)==="float"?k="number":(f==null?void 0:f.type)==="boolean"?k="boolean":(f==null?void 0:f.type)==="json"?k="json":(f==null?void 0:f.type)==="datetime"||(f==null?void 0:f.type)==="date"?k="datetime":f!=null&&f.enum&&f.enum.length>0&&(k="enum");let D;if(f!=null&&f.references){const j=f.references,O=typeof j=="string"?j:j.table;D=Q=>Q==null||Q===""?null:Rr(Da,O,{instanceId:l.instanceId,search:String(Q)})}return{key:v,label:v,type:k,editable:!P&&v!=="id",width:v==="id"?280:k==="json"?200:150,enumValues:f==null?void 0:f.enum,linkFn:D}}));function C(v){const f=v?`data/tables/${encodeURIComponent(l.tableName)}/records/${encodeURIComponent(v)}`:`data/tables/${encodeURIComponent(l.tableName)}/records`;if(!l.instanceId)return f;const P=new URLSearchParams({instanceId:l.instanceId});return`${f}?${P.toString()}`}function ue(){return e(J)==="postgres"||e(J)==="neon"}async function Ie(){try{const v=Xa({limit:1,offset:0,search:e(T),includeTotal:!0}),f=await pt.fetch(Ca(l.tableName,{instanceId:l.instanceId,params:new URLSearchParams(v)}));typeof f.total=="number"&&t(X,f.total,!0)}catch{}}async function fe(v={}){t(R,!0);try{const f=(e(re)-1)*e(H),P=Xa({limit:e(H),offset:f,search:e(T),sortKey:e(M),sortDir:e(de),includeTotal:!ue()}),k=await pt.fetch(Ca(l.tableName,{instanceId:l.instanceId,params:new URLSearchParams(P)})),D=k.items??k.data??k.rows??[];if(t(E,D,!0),t(X,typeof k.total=="number"?k.total:e(E).length,!0),e(Y)&&e(x)){const j=D.find(O=>{var Q;return String(O.id)===String((Q=e(x))==null?void 0:Q.id)});j&&t(x,j,!0)}ue()&&v.refreshTotal!==!1&&Ie()}catch(f){ot(gt(f,"Failed to load records.")),t(E,[],!0)}finally{t(R,!1)}}wt(()=>{const v=l.tableName;if(l.instanceId,v){const f=Z().schema[l.tableName];f&&(t(V,f.fields,!0),t(J,f.provider,!0)),t(re,1),t(T,""),t(be,""),t(M,""),t(de,"asc"),kr(()=>fe())}});function Ve(){t(T,e(be),!0),t(re,1),fe()}function te(){t(be,""),t(T,""),t(re,1),fe()}async function G(v,f){await pt.fetch(C(v),{method:"PUT",body:f}),e(x)&&String(e(x).id)===v&&t(x,{...e(x),...f},!0),St("Record updated"),await fe({refreshTotal:!1})}async function Se(v){for(const f of v)await pt.fetch(C(f),{method:"DELETE"});St(`${v.length} record${v.length>1?"s":""} deleted`),await fe()}async function We(v){await pt.fetch(Ca(l.tableName,{instanceId:l.instanceId}),{method:"POST",body:v}),St("Record created"),await fe()}function Pe(v){t(re,v,!0),fe({refreshTotal:!1})}function it(v){t(H,v,!0),t(re,1),fe()}function et(v,f){t(M,v,!0),t(de,f,!0),fe({refreshTotal:!1})}function Me(v){t(x,v,!0),t(Y,!0)}async function dt(){try{const v=await pt.fetch(Ca(l.tableName,{instanceId:l.instanceId,params:{limit:1e4,includeTotal:0}})),f=v.items??v.data??v.rows??[];if(f.length===0){ot("No records to export");return}const P=Tr(e(ve),f),k=new Blob([P],{type:"text/csv;charset=utf-8;"});Wa(k,`${l.tableName}.csv`),St("CSV exported")}catch(v){ot(gt(v,"CSV export failed."))}}async function ht(){try{const v=await pt.fetch(Ca(l.tableName,{instanceId:l.instanceId,params:{limit:1e4,includeTotal:0}})),f=v.items??v.data??v.rows??[];if(f.length===0){ot("No records to export");return}const P=new Blob([JSON.stringify(f,null,2)],{type:"application/json"});Wa(P,`${l.tableName}.json`),St("JSON exported")}catch(v){ot(gt(v,"JSON export failed."))}}function ge(){t(le,null),t(ce,[],!0),t(S,[],!0),t(K,{},!0),t(m,""),t(se,!0)}async function b(v){var k;const P=(k=v.target.files)==null?void 0:k[0];if(P){t(le,P,!0),t(m,"");try{const D=await P.text(),j=Ya(D);t(ce,j.headers,!0),t(S,j.rows.slice(0,5),!0);const O={};for(const Q of j.headers){const ie=Q.toLowerCase().trim();for(const[ke]of e(W))if(ke.toLowerCase()===ie){O[Q]=ke;break}}t(K,O,!0)}catch{t(m,"Failed to parse CSV file")}}}async function I(){if(e(le)){t(w,!0),t(m,"");try{const v=await e(le).text(),f=Ya(v),P=[];for(const D of f.rows){const j={};for(let O=0;O<f.headers.length;O++){const Q=f.headers[O],ie=e(K)[Q];if(!ie)continue;const ke=D[O];if(ke===""||ke===void 0)continue;const ze=e(V)[ie];if((ze==null?void 0:ze.type)==="number"||(ze==null?void 0:ze.type)==="integer"||(ze==null?void 0:ze.type)==="float")j[ie]=Number(ke);else if((ze==null?void 0:ze.type)==="boolean")j[ie]=ke==="true"||ke==="1";else if((ze==null?void 0:ze.type)==="json")try{j[ie]=JSON.parse(ke)}catch{j[ie]=ke}else j[ie]=ke}Object.keys(j).length>0&&P.push(j)}if(P.length===0){t(m,"No valid records to import. Check column mapping.");return}const k=await pt.fetch(`data/tables/${encodeURIComponent(l.tableName)}/import`,{method:"POST",body:{records:P,mode:"create"}});k.errors&&k.errors.length>0?ot(`Imported ${k.imported} records with ${k.errors.length} errors`):St(`Imported ${k.imported} records`),t(se,!1),await fe()}catch(v){t(m,gt(v,"Import failed."),!0)}finally{t(w,!1)}}}var Oe=vn(),tt=r(Oe),u=r(tt),U=r(u);Lt(U);var oe=o(U,2);ut(oe,{variant:"secondary",size:"sm",type:"submit",children:(v,f)=>{He();var P=je("Search");s(v,P)},$$slots:{default:!0}});var Te=o(oe,2);{var mt=v=>{ut(v,{variant:"ghost",size:"sm",onclick:te,children:(f,P)=>{He();var k=je("Clear");s(f,k)},$$slots:{default:!0}})};z(Te,v=>{e(T)&&v(mt)})}a(u);var Rt=o(u,2),Ct=r(Rt),Yt=r(Ct);a(Ct);var Vt=o(Ct,2);ut(Vt,{variant:"ghost",size:"sm",onclick:ge,children:(v,f)=>{He();var P=je("Import CSV");s(v,P)},$$slots:{default:!0}});var Qe=o(Vt,2);ut(Qe,{variant:"ghost",size:"sm",onclick:dt,children:(v,f)=>{He();var P=je("Export CSV");s(v,P)},$$slots:{default:!0}});var Ce=o(Qe,2);ut(Ce,{variant:"ghost",size:"sm",onclick:ht,children:(v,f)=>{He();var P=je("Export JSON");s(v,P)},$$slots:{default:!0}}),a(Rt),a(tt);var at=o(tt,2);{let v=L(()=>e(T)?"No records match your search.":"This table has no records yet.");js(at,{get columns(){return e(_)},get rows(){return e(E)},get tableName(){return l.tableName},get loading(){return e(R)},get totalCount(){return e(X)},get page(){return e(re)},get pageSize(){return e(H)},get emptyMessage(){return e(v)},onSave:G,onDelete:Se,onCreate:We,onPageChange:Pe,onPageSizeChange:it,onSort:et,onRowInspect:Me})}var Ze=o(at,2);tr(Ze,{title:"Import CSV",get open(){return e(se)},set open(f){t(se,f,!0)},footer:f=>{var P=$s(),k=Je(P);ut(k,{variant:"secondary",onclick:()=>t(se,!1),children:(j,O)=>{He();var Q=je("Cancel");s(j,Q)},$$slots:{default:!0}});var D=o(k,2);{let j=L(()=>!e(le)||e(ce).length===0);ut(D,{variant:"primary",get disabled(){return e(j)},get loading(){return e(w)},onclick:I,children:(O,Q)=>{He();var ie=je("Import");s(O,ie)},$$slots:{default:!0}})}s(f,P)},children:(f,P)=>{var k=dn(),D=r(k);{var j=rt=>{var _t=en(),Et=r(_t,!0);a(_t),g(()=>N(Et,e(m))),s(rt,_t)};z(D,rt=>{e(m)&&rt(j)})}var O=o(D,2),Q=r(O),ie=o(r(Q),2);a(Q);var ke=o(Q,2);{var ze=rt=>{var _t=tn(),Et=r(_t,!0);a(_t),g(()=>N(Et,e(le).name)),s(rt,_t)};z(ke,rt=>{e(le)&&rt(ze)})}a(O);var Nt=o(O,2);{var Dt=rt=>{var _t=on(),Et=Je(_t),ya=o(r(Et),2);$e(ya,21,()=>e(ce),Ft,(Qt,Ht)=>{var Tt=rn(),ta=r(Tt),ga=r(ta,!0);a(ta);var Zt=o(ta,4),na=r(Zt);na.value=na.__value="";var Sa=o(na);$e(Sa,17,()=>e(W),Ft,(ha,n)=>{var c=L(()=>xr(e(n),1));let h=()=>e(c)[0];var B=an(),ne=r(B,!0);a(B);var $={};g(()=>{N(ne,h()),$!==($=h())&&(B.value=(B.__value=h())??"")}),s(ha,B)}),a(Zt),a(Tt),g(()=>N(ga,e(Ht))),ca(Zt,()=>e(K)[e(Ht)],ha=>e(K)[e(Ht)]=ha),s(Qt,Tt)}),a(ya),a(Et);var da=o(Et,2),wa=o(r(da),2),fa=r(wa),pa=r(fa),ka=r(pa);$e(ka,21,()=>e(ce),Ft,(Qt,Ht)=>{var Tt=sn(),ta=r(Tt,!0);a(Tt),g(()=>N(ta,e(Ht))),s(Qt,Tt)}),a(ka),a(pa);var _a=o(pa);$e(_a,21,()=>e(S),Ft,(Qt,Ht)=>{var Tt=ln();$e(Tt,21,()=>e(Ht),Ft,(ta,ga)=>{var Zt=nn(),na=r(Zt,!0);a(Zt),g(()=>N(na,e(ga))),s(ta,Zt)}),a(Tt),s(Qt,Tt)}),a(_a),a(fa),a(wa),a(da),s(rt,_t)};z(Nt,rt=>{e(ce).length>0&&rt(Dt)})}a(k),ee("change",ie,b),s(f,k)},$$slots:{footer:!0,default:!0}});var we=o(Ze,2);Xs(we,{get row(){return e(x)},get columns(){return e(_)},onSave:G,onClose:()=>{t(Y,!1)},get open(){return e(Y)},set open(v){t(Y,v,!0)}}),a(Oe),g(()=>N(Yt,`${e(X)??""} record${e(X)!==1?"s":""}`)),la("submit",u,v=>{v.preventDefault(),Ve()}),ea(U,()=>e(be),v=>t(be,v)),s(_e,Oe),ia(),ae()}ua(["change"]);var un=d('<div class="index-error svelte-v6rf4z"> </div>'),fn=d('<div class="index-form svelte-v6rf4z"><!> <div class="index-form__row"><!></div> <div class="index-form__row"><!></div> <div class="index-form__actions svelte-v6rf4z"><!></div></div>'),pn=d('<div class="index-empty svelte-v6rf4z">No indexes defined.</div>'),_n=d('<span class="index-unique svelte-v6rf4z">UNIQUE</span>'),bn=d('<button class="index-delete svelte-v6rf4z" title="Remove index"><svg width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M4 4L10 10M10 4L4 10" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"></path></svg></button>'),gn=d('<div class="index-row svelte-v6rf4z"><code class="index-fields svelte-v6rf4z"> </code> <!> <!></div>'),hn=d('<div class="index-editor svelte-v6rf4z"><div class="index-editor__header svelte-v6rf4z"><span class="index-editor__title svelte-v6rf4z"> </span> <!></div> <!> <!></div>');function mn(_e,l){oa(l,!0);let Z=yt(l,"indexes",19,()=>[]),q=yt(l,"availableFields",19,()=>[]),ae=yt(l,"readonly",3,!1),R=y(!1),E=y(""),V=y(!1),X=y("");function J(){var w;const S=e(E).split(",").map(m=>m.trim()).filter(Boolean);if(S.length===0){t(X,"At least one field is required.");return}const K=S.filter(m=>!q().includes(m));if(K.length>0){t(X,`Unknown field(s): ${K.join(", ")}`);return}(w=l.onadd)==null||w.call(l,{fields:S,unique:e(V)||void 0}),t(E,""),t(V,!1),t(X,""),t(R,!1)}var re=hn(),H=r(re),T=r(H),be=r(T);a(T);var M=o(T,2);{var de=S=>{ut(S,{variant:"secondary",size:"sm",onclick:()=>t(R,!e(R)),children:(K,w)=>{He();var m=je();g(()=>N(m,e(R)?"Cancel":"Add Index")),s(K,m)},$$slots:{default:!0}})};z(M,S=>{ae()||S(de)})}a(H);var x=o(H,2);{var Y=S=>{var K=fn(),w=r(K);{var m=fe=>{var Ve=un(),te=r(Ve,!0);a(Ve),g(()=>N(te,e(X))),s(fe,Ve)};z(w,fe=>{e(X)&&fe(m)})}var W=o(w,2),ve=r(W);Or(ve,{placeholder:"field1, field2",label:"Fields (comma-separated)",get value(){return e(E)},set value(fe){t(E,fe,!0)}}),a(W);var _=o(W,2),C=r(_);jr(C,{label:"Unique index",get checked(){return e(V)},set checked(fe){t(V,fe,!0)}}),a(_);var ue=o(_,2),Ie=r(ue);ut(Ie,{variant:"primary",size:"sm",onclick:J,children:(fe,Ve)=>{He();var te=je("Add");s(fe,te)},$$slots:{default:!0}}),a(ue),a(K),s(S,K)};z(x,S=>{e(R)&&S(Y)})}var se=o(x,2);{var le=S=>{var K=pn();s(S,K)},ce=S=>{var K=Jt(),w=Je(K);$e(w,17,Z,Ft,(m,W,ve)=>{var _=gn(),C=r(_),ue=r(C,!0);a(C);var Ie=o(C,2);{var fe=G=>{var Se=_n();s(G,Se)};z(Ie,G=>{e(W).unique&&G(fe)})}var Ve=o(Ie,2);{var te=G=>{var Se=bn();ee("click",Se,()=>{var We;return(We=l.ondelete)==null?void 0:We.call(l,ve)}),s(G,Se)};z(Ve,G=>{ae()||G(te)})}a(_),g(G=>N(ue,G),[()=>e(W).fields.join(", ")]),s(m,_)}),s(S,K)};z(se,S=>{Z().length===0&&!e(R)?S(le):S(ce,!1)})}a(re),g(()=>N(be,`Indexes (${Z().length??""})`)),s(_e,re),ia()}ua(["click"]);var yn=d('<div class="fts-empty svelte-974m0i">No string/text fields available for FTS.</div>'),wn=d('<span class="fts-active svelte-974m0i">active</span>'),kn=d('<label class="fts-item svelte-974m0i"><input type="checkbox"/> <code class="svelte-974m0i"> </code> <!></label>'),xn=d('<div class="fts-list svelte-974m0i"></div>'),Sn=d('<div class="fts-editor svelte-974m0i"><div class="fts-editor__header svelte-974m0i"><span class="fts-editor__title svelte-974m0i">Full-Text Search</span> <!></div> <!></div>');function Cn(_e,l){oa(l,!0);let Z=yt(l,"ftsFields",19,()=>[]),q=yt(l,"availableFields",19,()=>[]),ae=yt(l,"readonly",3,!1),R=y(lt({})),E=y(!1);wt(()=>{const x={};for(const Y of q())x[Y]=Z().includes(Y);t(R,x,!0),t(E,!1)});function V(x){e(R)[x]=!e(R)[x],t(E,!0)}function X(){var Y;const x=Object.entries(e(R)).filter(([,se])=>se).map(([se])=>se);(Y=l.onsave)==null||Y.call(l,x),t(E,!1)}var J=Sn(),re=r(J),H=o(r(re),2);{var T=x=>{ut(x,{variant:"primary",size:"sm",onclick:X,children:(Y,se)=>{He();var le=je("Save FTS");s(Y,le)},$$slots:{default:!0}})};z(H,x=>{!ae()&&e(E)&&x(T)})}a(re);var be=o(re,2);{var M=x=>{var Y=yn();s(x,Y)},de=x=>{var Y=xn();$e(Y,20,q,se=>se,(se,le)=>{var ce=kn(),S=r(ce);Lt(S);var K=o(S,2),w=r(K,!0);a(K);var m=o(K,2);{var W=_=>{var C=wn();s(_,C)},ve=L(()=>Z().includes(le));z(m,_=>{e(ve)&&_(W)})}a(ce),g(()=>{Ra(S,e(R)[le]??!1),S.disabled=ae(),N(w,le)}),ee("change",S,()=>V(le)),s(se,ce)}),a(Y),s(x,Y)};z(be,x=>{q().length===0?x(M):x(de,!1)})}a(J),s(_e,J),ia()}ua(["change"]);var Nn=d('<div class="schema-empty svelte-aw0zhs">Loading schema...</div>'),In=d('<div class="schema-empty svelte-aw0zhs"> </div>'),zn=d('<div class="readonly-banner svelte-aw0zhs">Schema editing requires dev mode. Viewing in read-only mode.</div>'),Rn=d('<div class="rename-inline svelte-aw0zhs"><input class="rename-input svelte-aw0zhs" placeholder="new_name"/> <!> <!></div>'),Dn=d("<!> <!>",1),En=d('<div class="schema-note svelte-aw0zhs"> </div>'),Tn=d('<div class="schema-actions svelte-aw0zhs"><!></div> <!>',1),Pn=d('<!> <!> <div class="schema-namespace svelte-aw0zhs">Namespace: <code class="svelte-aw0zhs"> </code></div> <!>',1),On=d('<div class="schema-tab svelte-aw0zhs"><!></div> <!> <!> <!>',1);function jn(_e,l){oa(l,!0);const Z=()=>ma(ar,"$devInfoStore",ae),q=()=>ma(Kt,"$schemaStore",ae),[ae,R]=Ta();let E=y(null),V=y("columns"),X=L(()=>Z().devMode),J=y(!1),re=y("create"),H=y(""),T=y(lt({type:"string"})),be=y(!1),M=y(""),de=y(!1),x=y(!1),Y=y("");const se=[{id:"columns",label:"Columns"},{id:"indexes",label:"Indexes"},{id:"fts",label:"FTS"}];wt(()=>{const u=q();l.tableName&&u.schema[l.tableName]?t(E,u.schema[l.tableName],!0):t(E,null)});let le=L(()=>{var u;return((u=e(E))==null?void 0:u.fields)??{}}),ce=L(()=>{var u;return((u=e(E))==null?void 0:u.indexes)??[]}),S=L(()=>{var u;return((u=e(E))==null?void 0:u.fts)??[]}),K=L(()=>{var u;return((u=e(E))==null?void 0:u.namespace)??"default"}),w=L(()=>{var u;return(u=e(E))!=null&&u.dynamic?"Table rename is unavailable for per-tenant databases because each tenant instance has its own physical database.":""}),m=L(()=>Object.entries(e(le)).filter(([,u])=>u.type==="string"||u.type==="text").map(([u])=>u));function W(){t(re,"create"),t(H,""),t(T,{type:"string"},!0),t(J,!0)}function ve(u,U){t(re,"edit"),t(H,u,!0),t(T,{...U},!0),t(J,!0)}function _(u){t(M,u,!0),t(be,!0)}function C(u){return JSON.stringify({fields:u.fields,unique:u.unique===!0?!0:void 0})}function ue(u,U){return JSON.stringify(u??null)===JSON.stringify(U)}function Ie(u,U){return u.length!==U.length?!1:u.every((oe,Te)=>C(oe)===C(U[Te]))}function fe(u,U){if(u.length!==U.length)return!1;const oe=[...u].sort(),Te=[...U].sort();return oe.every((mt,Rt)=>mt===Te[Rt])}async function Ve(u,U){try{e(re)==="create"?(await pt.schemaMutation(`schema/tables/${encodeURIComponent(l.tableName)}/columns`,{method:"POST",body:{dbKey:e(K),columnName:u,fieldDef:U}}),St(`Column "${u}" added`)):(await pt.schemaMutation(`schema/tables/${encodeURIComponent(l.tableName)}/columns/${u}`,{method:"PUT",body:{dbKey:e(K),fieldDef:U}}),St(`Column "${u}" updated`)),await Kt.waitForSchema(oe=>{const Te=oe[l.tableName];return!!(Te&&ue(Te.fields[u],U))})}catch(oe){ot(gt(oe,"Failed to save column."))}}async function te(){t(be,!1);try{await pt.schemaMutation(`schema/tables/${encodeURIComponent(l.tableName)}/columns/${e(M)}`,{method:"DELETE",body:{dbKey:e(K)}}),St(`Column "${e(M)}" deleted`),await Kt.waitForSchema(u=>{const U=u[l.tableName];return!!(U&&!(e(M)in U.fields))})}catch(u){ot(gt(u,"Failed to delete column."))}}async function G(u){try{const U=[...e(ce),u];await pt.schemaMutation(`schema/tables/${encodeURIComponent(l.tableName)}/indexes`,{method:"POST",body:{dbKey:e(K),indexDef:u}}),St("Index added"),await Kt.waitForSchema(oe=>{const Te=oe[l.tableName];return!!(Te&&Ie(Te.indexes??[],U))})}catch(U){ot(gt(U,"Failed to add index."))}}async function Se(u){try{const U=e(ce).filter((oe,Te)=>Te!==u);await pt.schemaMutation(`schema/tables/${encodeURIComponent(l.tableName)}/indexes/${u}`,{method:"DELETE",body:{dbKey:e(K)}}),St("Index removed"),await Kt.waitForSchema(oe=>{const Te=oe[l.tableName];return!!(Te&&Ie(Te.indexes??[],U))})}catch(U){ot(gt(U,"Failed to remove index."))}}async function We(u){try{await pt.schemaMutation(`schema/tables/${encodeURIComponent(l.tableName)}/fts`,{method:"PUT",body:{dbKey:e(K),fields:u}}),St("FTS configuration updated"),await Kt.waitForSchema(U=>{const oe=U[l.tableName];return!!(oe&&fe(oe.fts??[],u))})}catch(U){ot(gt(U,"Failed to update FTS."))}}async function Pe(){t(de,!1);try{await pt.schemaMutation(`schema/tables/${encodeURIComponent(l.tableName)}`,{method:"DELETE",body:{dbKey:e(K)}}),St(`Table "${l.tableName}" deleted`),await Kt.waitForSchema(u=>!(l.tableName in u)),qa(`${Da}/database/tables`)}catch(u){ot(gt(u,"Failed to delete table."))}}async function it(){const u=e(Y).trim();if(u)try{await pt.schemaMutation(`schema/tables/${encodeURIComponent(l.tableName)}/rename`,{method:"PUT",body:{dbKey:e(K),newName:u}}),St(`Table renamed to "${u}"`),await Kt.waitForSchema(U=>!(l.tableName in U)&&!!U[u],{timeoutMessage:`Table rename to "${u}" did not propagate in time.`}),await Kt.waitForTableReady(u,{namespace:e(K)}),qa(`${Da}/database/tables/${encodeURIComponent(u)}`)}catch(U){ot(gt(U,"Failed to rename table."))}finally{t(x,!1)}}var et=On(),Me=Je(et),dt=r(Me);{var ht=u=>{var U=Nn();s(u,U)},ge=u=>{var U=In(),oe=r(U);a(U),g(()=>N(oe,`Table "${l.tableName??""}" not found.`)),s(u,U)},b=u=>{var U=Pn(),oe=Je(U);{var Te=Ce=>{var at=zn();s(Ce,at)};z(oe,Ce=>{e(X)||Ce(Te)})}var mt=o(oe,2);{var Rt=Ce=>{var at=Tn(),Ze=Je(at),we=r(Ze);{var v=D=>{var j=Rn(),O=r(j);Lt(O);var Q=o(O,2);ut(Q,{variant:"primary",size:"sm",onclick:it,children:(ke,ze)=>{He();var Nt=je("Rename");s(ke,Nt)},$$slots:{default:!0}});var ie=o(Q,2);ut(ie,{variant:"secondary",size:"sm",onclick:()=>t(x,!1),children:(ke,ze)=>{He();var Nt=je("Cancel");s(ke,Nt)},$$slots:{default:!0}}),a(j),ee("keydown",O,ke=>ke.key==="Enter"&&it()),ea(O,()=>e(Y),ke=>t(Y,ke)),s(D,j)},f=D=>{var j=Dn(),O=Je(j);{let ie=L(()=>!!e(w));ut(O,{variant:"secondary",size:"sm",get disabled(){return e(ie)},onclick:()=>{t(x,!0),t(Y,l.tableName,!0)},children:(ke,ze)=>{He();var Nt=je("Rename");s(ke,Nt)},$$slots:{default:!0}})}var Q=o(O,2);ut(Q,{variant:"danger",size:"sm",onclick:()=>t(de,!0),children:(ie,ke)=>{He();var ze=je("Delete Table");s(ie,ze)},$$slots:{default:!0}}),s(D,j)};z(we,D=>{e(x)?D(v):D(f,!1)})}a(Ze);var P=o(Ze,2);{var k=D=>{var j=En(),O=r(j,!0);a(j),g(()=>N(O,e(w))),s(D,j)};z(P,D=>{e(w)&&D(k)})}s(Ce,at)};z(mt,Ce=>{e(X)&&Ce(Rt)})}var Ct=o(mt,2),Yt=o(r(Ct)),Vt=r(Yt,!0);a(Yt),a(Ct);var Qe=o(Ct,2);Pr(Qe,{get tabs(){return se},get activeTab(){return e(V)},set activeTab(Ce){t(V,Ce,!0)},children:(Ce,at)=>{var Ze=Jt(),we=Je(Ze);{var v=k=>{{let D=L(()=>!e(X));Er(k,{get fields(){return e(le)},get readonly(){return e(D)},onaddclick:W,oneditclick:ve,ondeleteclick:_})}},f=k=>{{let D=L(()=>Object.keys(e(le))),j=L(()=>!e(X));mn(k,{get indexes(){return e(ce)},get availableFields(){return e(D)},get readonly(){return e(j)},onadd:G,ondelete:Se})}},P=k=>{{let D=L(()=>!e(X));Cn(k,{get ftsFields(){return e(S)},get availableFields(){return e(m)},get readonly(){return e(D)},onsave:We})}};z(we,k=>{e(V)==="columns"?k(v):e(V)==="indexes"?k(f,1):e(V)==="fts"&&k(P,2)})}s(Ce,Ze)},$$slots:{default:!0}}),g(()=>N(Vt,e(K))),s(u,U)};z(dt,u=>{q().loading?u(ht):e(E)?u(b,!1):u(ge,1)})}a(Me);var I=o(Me,2);{let u=L(()=>Object.keys(e(le)));Dr(I,{get mode(){return e(re)},get columnName(){return e(H)},get field(){return e(T)},get existingColumns(){return e(u)},onsave:Ve,get open(){return e(J)},set open(U){t(J,U,!0)}})}var Oe=o(I,2);Qa(Oe,{title:"Delete Column",get message(){return`Are you sure you want to delete column "${e(M)??""}"? This action will modify edgebase.config.ts.`},confirmLabel:"Delete",confirmVariant:"danger",onconfirm:te,get open(){return e(be)},set open(u){t(be,u,!0)}});var tt=o(Oe,2);Qa(tt,{title:"Delete Table",get message(){return`Are you sure you want to delete table "${l.tableName??""}"? This will remove it from edgebase.config.ts.`},confirmLabel:"Delete Table",confirmVariant:"danger",onconfirm:Pe,get open(){return e(de)},set open(u){t(de,u,!0)}}),s(_e,et),ia(),R()}ua(["keydown"]);var Fn=d("<option> </option>"),Ln=d('<div class="rt-field svelte-wqn9yg"><label class="rt-label svelte-wqn9yg">User</label> <select class="rt-select svelte-wqn9yg"><option>Select a user...</option><!></select></div>'),An=d('<div class="rt-field svelte-wqn9yg"><label class="rt-label svelte-wqn9yg">Auth JSON</label> <textarea class="rt-textarea svelte-wqn9yg" rows="5" spellcheck="false"></textarea></div>'),qn=d('<div class="rt-result-error svelte-wqn9yg"> </div>'),Un=d('<div><div class="rt-result-header svelte-wqn9yg"><span class="rt-result-op svelte-wqn9yg"> </span> <span> </span></div> <code class="rt-result-rule svelte-wqn9yg"> </code> <!></div>'),Mn=d('<div class="rt-results"><h3 class="rt-results-title svelte-wqn9yg">Results</h3> <div class="rt-results-grid svelte-wqn9yg"></div></div>'),Bn=d('<div class="rt-layout svelte-wqn9yg"><div class="rt-form svelte-wqn9yg"><fieldset class="rt-field svelte-wqn9yg"><legend class="rt-label svelte-wqn9yg">Auth Context</legend> <div class="rt-radio-group svelte-wqn9yg"><label class="rt-radio svelte-wqn9yg"><input type="radio"/> Anonymous (null)</label> <label class="rt-radio svelte-wqn9yg"><input type="radio"/> Select User</label> <label class="rt-radio svelte-wqn9yg"><input type="radio"/> Custom JSON</label></div></fieldset> <!> <!> <!></div> <!></div>');function Kn(_e,l){oa(l,!0);const Z=[];let q=y(lt([])),ae=y(!1),R=y("shared"),E=y("anonymous"),V=y(""),X=y(`{
5
5
  "id": "",
@@ -125,4 +125,4 @@ ${m}
125
125
 
126
126
  flow.collect { change ->
127
127
  println("\${change.event}: \${change.record}")
128
- }`}}[e(R)])==null?void 0:ve[e(E)])??""})());async function M(){try{await navigator.clipboard.writeText(e(be)),St("Copied to clipboard")}catch{}}var de=Hn(),x=r(de);$e(x,21,()=>V,Ft,(w,m)=>{var W=Jn();let ve;var _=r(W,!0);a(W),g(()=>{ve=zt(W,1,"lang-tab svelte-hdcl64",null,ve,{"lang-tab--active":e(R)===e(m).id}),N(_,e(m).label)}),ee("click",W,()=>t(R,e(m).id,!0)),s(w,W)}),a(x);var Y=o(x,2);$e(Y,21,()=>X,Ft,(w,m)=>{var W=Vn();let ve;var _=r(W,!0);a(W),g(()=>{ve=zt(W,1,"op-tab svelte-hdcl64",null,ve,{"op-tab--active":e(E)===e(m).id}),N(_,e(m).label)}),ee("click",W,()=>t(E,e(m).id,!0)),s(w,W)}),a(Y);var se=o(Y,2),le=r(se),ce=o(le,2),S=r(ce),K=r(S,!0);a(S),a(ce),a(se),a(de),g(()=>N(K,e(be))),ee("click",le,M),s(_e,de),ia(),ae()}ua(["click"]);const rr="edgebase_admin_recent_instances",Gn=6;function sr(){try{const _e=localStorage.getItem(rr);if(!_e)return{};const l=JSON.parse(_e);return l&&typeof l=="object"?l:{}}catch{return{}}}function Yn(_e){try{localStorage.setItem(rr,JSON.stringify(_e))}catch{}}function Qn(_e){var Z,q;const l=_e.id.trim();return l?{id:l,label:((Z=_e.label)==null?void 0:Z.trim())||void 0,description:((q=_e.description)==null?void 0:q.trim())||void 0}:null}function $a(_e){return(sr()[_e]??[]).slice().sort((q,ae)=>ae.lastUsedAt-q.lastUsedAt).map(({id:q,label:ae,description:R})=>({id:q,label:ae,description:R}))}function Zn(_e,l){const Z=Qn(l);if(!Z)return;const q=sr(),ae=q[_e]??[],R=[{...Z,lastUsedAt:Date.now()},...ae.filter(E=>E.id!==Z.id)].slice(0,Gn);Yn({...q,[_e]:R})}var Xn=d("<span><!></span>"),$n=d('<div class="table-header__hint svelte-11vdap9">Start <code class="svelte-11vdap9">pnpm dev</code> to enable DB block upgrades.</div>'),el=d('<input id="upgrade-env-key" class="upgrade-modal__input svelte-11vdap9"/> <p class="upgrade-modal__hint svelte-11vdap9">Only change this if you already use a specific Postgres env key name.</p>',1),tl=d("<option> </option>"),al=d("<option> </option>"),rl=d('<p class="upgrade-modal__hint upgrade-modal__hint--error svelte-11vdap9"> </p>'),sl=d('<p class="upgrade-modal__hint svelte-11vdap9">No existing Neon projects were found.</p>'),nl=d('<p class="upgrade-modal__hint svelte-11vdap9">EdgeBase will use the selected project, restart on Postgres, and restore every table in this block.</p>'),ll=d("<li> </li>"),ol=d('<div class="upgrade-modal__status svelte-11vdap9" role="status" aria-live="polite"><div class="upgrade-modal__status-title svelte-11vdap9"> </div> <p class="upgrade-modal__status-copy svelte-11vdap9">EdgeBase is migrating the full <strong> </strong> database block. This can take a while because every table is exported, the worker restarts on Postgres, and then the block is restored.</p> <div class="upgrade-modal__status-current svelte-11vdap9"> </div> <ol class="upgrade-modal__steps upgrade-modal__steps--status svelte-11vdap9"></ol></div>'),il=d('<div class="upgrade-modal svelte-11vdap9"><p class="upgrade-modal__text svelte-11vdap9">This migrates the entire <strong> </strong> database block from D1 to Postgres. The current table is just the entry point. Every table in this block is exported, the dev worker restarts on Postgres, and then the full block is restored.</p> <div class="upgrade-modal__notice svelte-11vdap9"><div class="upgrade-modal__notice-title svelte-11vdap9">What happens during this migration</div> <ol class="upgrade-modal__steps svelte-11vdap9"><li>Export all tables from the current D1-backed database block.</li> <li>Connect an existing Neon project or create a new one.</li> <li>Restart the dev worker with `provider: \'postgres\'`.</li> <li>Restore every table in the database block into Postgres.</li></ol></div> <div class="upgrade-modal__field svelte-11vdap9"><label class="upgrade-modal__label svelte-11vdap9" for="upgrade-env-key-display">Automatic Postgres Env Key</label> <div id="upgrade-env-key-display" class="upgrade-modal__static svelte-11vdap9"><code class="svelte-11vdap9"> </code></div> <p class="upgrade-modal__hint svelte-11vdap9">EdgeBase will write this key during migration. Only override it if you already use a specific Postgres env key name.</p> <div class="upgrade-modal__actions-row svelte-11vdap9"><!></div> <!></div> <div class="upgrade-modal__choices svelte-11vdap9"><div class="upgrade-modal__choices-copy svelte-11vdap9"><div class="upgrade-modal__notice-title svelte-11vdap9">Neon Setup</div> <p class="upgrade-modal__hint svelte-11vdap9">Both options migrate the same database block and use the env key above. Pick the path that matches whether the Neon project already exists.</p></div> <div class="upgrade-modal__choice-grid svelte-11vdap9"><section class="upgrade-modal__choice-card svelte-11vdap9"><div class="upgrade-modal__choice-header svelte-11vdap9"><div class="upgrade-modal__choice-eyebrow svelte-11vdap9">Existing project</div> <h3 class="upgrade-modal__choice-title svelte-11vdap9">1. Connect an existing Neon project</h3> <p class="upgrade-modal__hint svelte-11vdap9">Best when the Neon project already exists in your account.</p></div> <label class="upgrade-modal__label svelte-11vdap9" for="upgrade-neon-project">Existing Neon Project</label> <select id="upgrade-neon-project" class="upgrade-modal__select svelte-11vdap9"><!></select> <div class="upgrade-modal__actions-row svelte-11vdap9"><!></div> <!> <div class="upgrade-modal__actions-row upgrade-modal__choice-actions svelte-11vdap9"><!></div></section> <section class="upgrade-modal__choice-card svelte-11vdap9"><div class="upgrade-modal__choice-header svelte-11vdap9"><div class="upgrade-modal__choice-eyebrow svelte-11vdap9">Provision new project</div> <h3 class="upgrade-modal__choice-title svelte-11vdap9">2. Create a new Neon project</h3> <p class="upgrade-modal__hint svelte-11vdap9">Best when you want EdgeBase to provision Neon before migrating.</p></div> <label class="upgrade-modal__label svelte-11vdap9" for="upgrade-project-name">New Neon Project Name</label> <input id="upgrade-project-name" class="upgrade-modal__input svelte-11vdap9"/> <p class="upgrade-modal__hint svelte-11vdap9">EdgeBase will try this name first, then append a suffix if Neon already has one.</p> <div class="upgrade-modal__actions-row upgrade-modal__choice-actions svelte-11vdap9"><!></div></section></div></div> <!></div>'),dl=d('<button class="target-bar__button svelte-11vdap9">Clear</button>'),vl=d('<span class="target-chip__meta svelte-11vdap9"> </span>'),cl=d('<button class="target-chip svelte-11vdap9" type="button"><span class="target-chip__label svelte-11vdap9"> </span> <!></button>'),ul=d('<div class="target-bar__section svelte-11vdap9"><div class="target-bar__section-label svelte-11vdap9"> </div> <div class="target-bar__chip-row svelte-11vdap9"></div></div>'),fl=d('<span class="target-chip__meta svelte-11vdap9"> </span>'),pl=d('<button class="target-chip svelte-11vdap9" type="button"><span class="target-chip__label svelte-11vdap9"> </span> <!></button>'),_l=d('<div class="target-bar__section svelte-11vdap9"><div class="target-bar__section-label svelte-11vdap9"> </div> <div class="target-bar__chip-row svelte-11vdap9"></div></div>'),bl=d('<div class="target-bar__status svelte-11vdap9">Loading instance suggestions...</div>'),gl=d('<div class="target-bar__status target-bar__status--error svelte-11vdap9"> </div>'),hl=d('<div class="target-bar__suggestions svelte-11vdap9"><!> <!> <!></div>'),ml=d('<div class="target-bar svelte-11vdap9"><div class="target-bar__copy svelte-11vdap9"><div class="target-bar__title svelte-11vdap9"> </div> <div class="target-bar__description svelte-11vdap9"> </div></div> <div class="target-bar__controls svelte-11vdap9"><div class="target-bar__field svelte-11vdap9"><label class="target-bar__field-label svelte-11vdap9" for="database-target-input"> </label> <input id="database-target-input" class="target-bar__input svelte-11vdap9" type="text" maxlength="128"/></div> <button class="target-bar__button target-bar__button--primary svelte-11vdap9"> </button> <!></div> <!></div>'),yl=d("<button> </button>"),wl=d('<div class="target-empty svelte-11vdap9"><h3 class="svelte-11vdap9"> </h3> <p class="svelte-11vdap9"> </p></div>'),kl=d('<div class="target-empty svelte-11vdap9"><h3 class="svelte-11vdap9"> </h3> <p class="svelte-11vdap9"> </p></div>'),xl=d('<div class="target-empty svelte-11vdap9"><h3 class="svelte-11vdap9">Query tools unavailable</h3> <p class="svelte-11vdap9"> </p></div>'),Sl=d('<div class="tab-loading svelte-11vdap9">Loading query tools...</div>'),Cl=d('<div class="table-detail svelte-11vdap9"><div class="table-header svelte-11vdap9"><div class="table-header__meta svelte-11vdap9"><h2 class="table-title svelte-11vdap9"> </h2> <div class="table-badges svelte-11vdap9"><span class="table-badge svelte-11vdap9"> </span> <span class="table-badge svelte-11vdap9"> </span> <span> </span></div></div> <div class="table-header__actions svelte-11vdap9"><!> <a class="erd-link svelte-11vdap9" title="View ERD Diagram"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="2" width="5" height="4" rx="1" stroke="currentColor" stroke-width="1.5"></rect><rect x="10" y="10" width="5" height="4" rx="1" stroke="currentColor" stroke-width="1.5"></rect><path d="M6 4H8.5V12H10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg> ERD</a> <a class="erd-link svelte-11vdap9" target="_blank" rel="noreferrer" title="Open database docs"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3 2H10L13 5V14H3V2Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path><path d="M10 2V5H13" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path><path d="M6 8H10M6 10.5H9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg> Docs</a> <!></div></div> <!> <!> <div class="tab-bar svelte-11vdap9"></div> <div class="tab-content svelte-11vdap9"><!></div></div>');function eo(_e,l){oa(l,!0);const Z=()=>ma(zr,"$page",R),q=()=>ma(Kt,"$schemaStore",R),ae=()=>ma(ar,"$devInfoStore",R),[R,E]=Ta();let V=L(()=>Z().params.table??""),X=L(()=>q().schema[e(V)]??void 0),J=L(()=>{var i;return((i=e(X))==null?void 0:i.namespace)??""}),re=L(()=>{var i;return((i=e(X))==null?void 0:i.provider)??"do"}),H=L(()=>{var i;return!!((i=e(X))!=null&&i.dynamic)}),T=L(()=>{var i;return(i=e(X))==null?void 0:i.instanceDiscovery}),be=L(()=>Ha(Z().url.searchParams.get("instance"))),M=y("records");function de(i){const p=i.get("tab");return e(X)?p==="sql"?"query":p==="records"||p==="query"||p==="schema"||p==="rules"||p==="sdk"?p:e(H)&&!e(be)?"schema":"records":p==="query"||p==="sql"?"query":"schema"}wt(()=>{t(M,de(Z().url.searchParams),!0)});let x=y(""),Y=y(!1),se=y(""),le=y(lt([])),ce=y(lt([])),S=y(!1),K=y(""),w=y(!1),m=y(null),W=y(0),ve=y(""),_=y(lt([])),C=y(!1),ue=y(!1),Ie=y(""),fe=y(""),Ve=y(null),te=L(()=>ae().devMode);wt(()=>{t(x,e(be)??"",!0)}),wt(()=>{if(typeof window>"u"||!e(H)||!e(J)){t(ce,[],!0);return}t(ce,$a(e(J)),!0)}),wt(()=>{var he;if(!e(H)||!e(J)){t(Y,!1),t(se,""),t(le,[],!0);return}if(((he=e(T))==null?void 0:he.source)==="manual"){t(Y,!1),t(se,""),t(le,[],!0);return}const i=e(x).trim();let p=!1;const F=i?160:0;t(Y,!0),t(se,"");const A=window.setTimeout(async()=>{try{const me=new URLSearchParams({limit:"8"});i&&me.set("q",i);const Ae=await pt.fetch(`data/namespaces/${encodeURIComponent(e(J))}/instances?${me.toString()}`);if(p)return;t(le,Ae.items??[],!0),t(se,"")}catch(me){if(p)return;t(le,[],!0),t(se,gt(me,"Failed to load instance suggestions."),!0)}finally{p||t(Y,!1)}},F);return()=>{p=!0,window.clearTimeout(A)}});function G(i){return i==="postgres"||i==="neon"?"PG":i==="d1"?"D1":"DO"}function Se(i){const p=i.trim().toUpperCase().replace(/[^A-Z0-9_]+/g,"_");return p?`DB_POSTGRES_${p}_URL`:"DB_POSTGRES_SHARED_URL"}function We(i){return i.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"edgebase-db"}wt(()=>{e(J)&&(!e(S)||!e(K).trim())&&!e(w)&&t(K,Se(e(J)),!0)}),wt(()=>{dt()&&!e(ue)&&!e(C)&&I()});function Pe(){return t(Ve,e(Ve)??or(()=>import("./BN_-k-Ck.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]),import.meta.url),!0),e(Ve)}wt(()=>{e(M)==="query"&&Pe()});function it(i){return i?"Per-tenant DB":"Single DB"}function et(){return e(w)?e(K).trim()||Se(e(J)):Se(e(J))}function Me(){return e(ve).trim()||We(e(J))}function dt(){return e(te)&&ht()}function ht(){return!e(H)&&e(re)==="d1"}function ge(){return ht()?e(te)?"":"Database block upgrades require dev mode with the schema sidecar. Start `pnpm dev` to enable Neon/Postgres migration.":""}function b(){t(w,!e(w)),e(w)&&!e(K).trim()&&t(K,Se(e(J)),!0)}wt(()=>{e(J)&&(e(ve).trim()||t(ve,We(e(J)),!0))}),wt(()=>{if(!e(m)||typeof window>"u"){t(W,0);return}t(W,0);const i=[window.setTimeout(()=>t(W,1),1200),window.setTimeout(()=>t(W,2),4200),window.setTimeout(()=>t(W,3),8200)];return()=>{for(const p of i)window.clearTimeout(p)}});async function I(i=!1){var p;if(!(!i&&(e(ue)||e(C)))){t(C,!0),t(Ie,"");try{const F=await pt.schemaMutation(i?"integrations/neon/projects?refresh=1":"integrations/neon/projects",{method:"GET"});t(_,F.items??[],!0),t(fe,((p=e(_)[0])==null?void 0:p.projectId)??"",!0),t(ue,!0)}catch(F){t(Ie,gt(F,"Failed to load Neon projects."),!0)}finally{t(C,!1)}}}function Oe(i){var F;return((F=i==null?void 0:i.targetLabel)==null?void 0:F.trim())||"Target"}function tt(i){return`Choose ${Oe(i)}`}function u(i){return`${Oe(i)} ID`}function U(i){return`Paste ${Oe(i).toLowerCase()} ID`}function oe(i){return Oe(i)==="Target"?"Apply":"Open"}function Te(i){const p=i==null?void 0:i.helperText;return p||`Pick a ${Oe(i).toLowerCase()} to view this table's records or run queries.`}function mt(i){return`${tt(i)} First`}function Rt(i,p){const F=Oe(i).toLowerCase();return p==="records"?`Select a ${F} above to view records for this table.`:`Select a ${F} above to run queries for this table.`}function Ct(i){const p=Oe(i);return p==="Target"?"Recent":`Recent ${p}s`}function Yt(i){const p=Oe(i);return p==="Target"?"Suggestions":`Suggested ${p}s`}async function Vt(i){const p=new URL(Z().url);i(p.searchParams),await qa(`${p.pathname}${p.search}`,{replaceState:!0,keepFocus:!0,noScroll:!0})}function Qe(i){i==="query"&&Pe(),t(M,i,!0),Vt(p=>{i==="records"?p.delete("tab"):p.set("tab",i)})}function Ce(i){return e(le).find(p=>p.id===i)??e(ce).find(p=>p.id===i)}function at(i){typeof window>"u"||!e(J)||(Zn(e(J),i),t(ce,$a(e(J)),!0))}function Ze(i){const p=Ha((i==null?void 0:i.id)??e(x));Vt(F=>{if(p){const A=i??Ce(p)??{id:p};at(A),F.set("instance",p),e(H)&&e(M)==="schema"&&F.delete("tab")}else F.delete("instance"),e(H)&&e(M)==="records"&&F.set("tab","schema")})}function we(){t(x,""),Ze()}function v(i){t(x,i.id,!0),Ze(i)}async function f(i){if(e(J)){if(i==="reuse"&&!e(fe)){ot(e(Ie)||"Choose an existing Neon project first, or create a new one.");return}i==="create"&&Me(),t(m,i,!0);try{await pt.schemaMutation("integrations/neon/upgrade",{method:"POST",body:{namespace:e(J),projectId:i==="reuse"?e(fe):void 0,projectName:i==="create"?Me():void 0,mode:i,...e(w)?{envKey:et()}:{}}}),await Kt.loadSchema({silent:!0}),t(S,!1),St(`"${e(J)}" upgraded from D1 to Postgres`)}catch(p){const F=gt(p,"Failed to upgrade the database block.");ot(F)}finally{t(m,null)}}}function P(){return!e(C)&&e(_).length>0&&!!e(fe)}function k(){return e(m)==="reuse"?"Migrating Database Block to Postgres":e(m)==="create"?"Creating Neon Project and Migrating Database Block":"Database Block Migration"}function D(i){return i<e(W)?"done":i===e(W)?"active":"pending"}function j(){return[{label:`Export every table in the "${e(J)}" database block from D1`,state:D(0)},{label:e(m)==="create"?`Create the Neon project "${Me()}" and write the Postgres env key`:"Connect the selected Neon project and write the Postgres env key",state:D(1)},{label:"Restart the dev worker on Postgres",state:D(2)},{label:`Restore all rows back into the "${e(J)}" database block`,state:D(3)}]}function O(){var i;return((i=j()[e(W)])==null?void 0:i.label)??"Preparing migration..."}let Q=L(()=>{const i=new Set(e(ce).map(p=>p.id));return e(le).filter(p=>!i.has(p.id))});const ie=[{id:"records",label:"Records"},{id:"query",label:"Query"},{id:"schema",label:"Schema"},{id:"rules",label:"Rules"},{id:"sdk",label:"SDK"}];var ke=Cl(),ze=r(ke),Nt=r(ze),Dt=r(Nt),rt=r(Dt,!0);a(Dt);var _t=o(Dt,2),Et=r(_t),ya=r(Et,!0);a(Et);var da=o(Et,2),wa=r(da,!0);a(da);var fa=o(da,2);let pa;var ka=r(fa,!0);a(fa),a(_t),a(Nt);var _a=o(Nt,2),Qt=r(_a);{var Ht=i=>{ut(i,{variant:"secondary",size:"sm",onclick:()=>t(S,!0),children:(p,F)=>{He();var A=je("Upgrade to Postgres");s(p,A)},$$slots:{default:!0}})},Tt=L(()=>dt()),ta=i=>{var p=Xn(),F=r(p);ut(F,{variant:"secondary",size:"sm",disabled:!0,children:(A,he)=>{He();var me=je("Upgrade to Postgres");s(A,me)},$$slots:{default:!0}}),a(p),g(A=>xe(p,"title",A),[ge]),s(i,p)},ga=L(()=>ht());z(Qt,i=>{e(Tt)?i(Ht):e(ga)&&i(ta,1)})}var Zt=o(Qt,2),na=o(Zt,2),Sa=o(na,2);{var ha=i=>{var p=$n();s(i,p)},n=L(()=>ge());z(Sa,i=>{e(n)&&i(ha)})}a(_a),a(ze);var c=o(ze,2);tr(c,{title:"Migrate Database Block to Postgres",maxWidth:"560px",get open(){return e(S)},set open(p){t(S,p,!0)},footer:p=>{{let F=L(()=>e(m)!==null);ut(p,{variant:"secondary",get disabled(){return e(F)},onclick:()=>t(S,!1),children:(A,he)=>{He();var me=je("Cancel");s(A,me)},$$slots:{default:!0}})}},children:(p,F)=>{var A=il(),he=r(A),me=o(r(he)),Ae=r(me,!0);a(me),He(),a(he);var Be=o(he,4),qe=o(r(Be),2),Ke=r(qe),Le=r(Ke,!0);a(Ke),a(qe);var Re=o(qe,4),Fe=r(Re);{let pe=L(()=>e(m)!==null);ut(Fe,{variant:"ghost",onclick:b,get disabled(){return e(pe)},children:(Ne,ct)=>{He();var Ye=je();g(()=>N(Ye,e(w)?"Hide Env Key Override":"Customize Env Key")),s(Ne,Ye)},$$slots:{default:!0}})}a(Re);var Ue=o(Re,2);{var vt=pe=>{var Ne=el(),ct=Je(Ne);Lt(ct),He(2),g(Ye=>xe(ct,"placeholder",Ye),[()=>Se(e(J))]),ea(ct,()=>e(K),Ye=>t(K,Ye)),s(pe,Ne)};z(Ue,pe=>{e(w)&&pe(vt)})}a(Be);var Ut=o(Be,2),Xt=o(r(Ut),2),aa=r(Xt),De=o(r(aa),4),st=r(De);{var ye=pe=>{var Ne=tl(),ct=r(Ne,!0);a(Ne),Ne.value=Ne.__value="",g(()=>N(ct,e(C)?"Loading Neon projects...":"No Neon projects found")),s(pe,Ne)},Ee=pe=>{var Ne=Jt(),ct=Je(Ne);$e(ct,17,()=>e(_),Ye=>Ye.projectId,(Ye,It)=>{var $t=al(),Pa=r($t);a($t);var xa={};g(()=>{N(Pa,`${e(It).projectName??""} (${e(It).orgName??""})`),xa!==(xa=e(It).projectId)&&($t.value=($t.__value=e(It).projectId)??"")}),s(Ye,$t)}),s(pe,Ne)};z(st,pe=>{e(_).length===0?pe(ye):pe(Ee,!1)})}a(De);var Ge=o(De,2),Mt=r(Ge);ut(Mt,{variant:"ghost",onclick:()=>I(!0),get loading(){return e(C)},children:(pe,Ne)=>{He();var ct=je("Refresh Projects");s(pe,ct)},$$slots:{default:!0}}),a(Ge);var Ot=o(Ge,2);{var Gt=pe=>{var Ne=rl(),ct=r(Ne,!0);a(Ne),g(()=>N(ct,e(Ie))),s(pe,Ne)},ra=pe=>{var Ne=sl();s(pe,Ne)},bt=pe=>{var Ne=nl();s(pe,Ne)};z(Ot,pe=>{e(Ie)?pe(Gt):!e(C)&&e(_).length===0?pe(ra,1):e(C)||pe(bt,2)})}var ft=o(Ot,2),nt=r(ft);{let pe=L(()=>!P()||e(m)!==null);ut(nt,{variant:"secondary",get disabled(){return e(pe)},onclick:()=>f("reuse"),children:(Ne,ct)=>{He();var Ye=je();g(()=>N(Ye,e(m)==="reuse"?"Connecting Existing Neon...":"Connect Existing Neon")),s(Ne,Ye)},$$slots:{default:!0}})}a(ft),a(aa);var kt=o(aa,2),xt=o(r(kt),4);Lt(xt);var Bt=o(xt,4),jt=r(Bt);{let pe=L(()=>e(m)!==null);ut(jt,{variant:"primary",get disabled(){return e(pe)},onclick:()=>f("create"),children:(Ne,ct)=>{He();var Ye=je();g(()=>N(Ye,e(m)==="create"?"Creating Neon Project...":"Create New Neon Project")),s(Ne,Ye)},$$slots:{default:!0}})}a(Bt),a(kt),a(Xt),a(Ut);var sa=o(Ut,2);{var va=pe=>{var Ne=ol(),ct=r(Ne),Ye=r(ct,!0);a(ct);var It=o(ct,2),$t=o(r(It)),Pa=r($t,!0);a($t),He(),a(It);var xa=o(It,2),nr=r(xa);a(xa);var Ma=o(xa,2);$e(Ma,21,j,Ft,(Oa,Na)=>{var Ia=ll(),lr=r(Ia,!0);a(Ia),g(()=>{zt(Ia,1,`upgrade-modal__step upgrade-modal__step--${e(Na).state}`,"svelte-11vdap9"),N(lr,e(Na).label)}),s(Oa,Ia)}),a(Ma),a(Ne),g((Oa,Na)=>{N(Ye,Oa),N(Pa,e(J)),N(nr,`Current step: ${Na??""}`)},[k,O]),s(pe,Ne)};z(sa,pe=>{e(m)&&pe(va)})}a(A),g((pe,Ne)=>{N(Ae,e(J)),N(Le,pe),De.disabled=e(C)||e(_).length===0,xe(xt,"placeholder",Ne),xt.disabled=e(m)!==null},[et,()=>We(e(J))]),ca(De,()=>e(fe),pe=>t(fe,pe)),ea(xt,()=>e(ve),pe=>t(ve,pe)),s(p,A)},$$slots:{footer:!0,default:!0}});var h=o(c,2);{var B=i=>{var p=ml(),F=r(p),A=r(F),he=r(A,!0);a(A);var me=o(A,2),Ae=r(me,!0);a(me),a(F);var Be=o(F,2),qe=r(Be),Ke=r(qe),Le=r(Ke,!0);a(Ke);var Re=o(Ke,2);Lt(Re),a(qe);var Fe=o(qe,2),Ue=r(Fe,!0);a(Fe);var vt=o(Fe,2);{var Ut=De=>{var st=dl();ee("click",st,we),s(De,st)};z(vt,De=>{e(be)&&De(Ut)})}a(Be);var Xt=o(Be,2);{var aa=De=>{var st=hl(),ye=r(st);{var Ee=bt=>{var ft=ul(),nt=r(ft),kt=r(nt,!0);a(nt);var xt=o(nt,2);$e(xt,21,()=>e(ce),Bt=>Bt.id,(Bt,jt)=>{var sa=cl(),va=r(sa),pe=r(va,!0);a(va);var Ne=o(va,2);{var ct=Ye=>{var It=vl(),$t=r(It,!0);a(It),g(()=>N($t,e(jt).id)),s(Ye,It)};z(Ne,Ye=>{e(jt).label&&Ye(ct)})}a(sa),g(()=>N(pe,e(jt).label??e(jt).id)),ee("click",sa,()=>v(e(jt))),s(Bt,sa)}),a(xt),a(ft),g(Bt=>N(kt,Bt),[()=>Ct(e(T))]),s(bt,ft)};z(ye,bt=>{e(ce).length>0&&bt(Ee)})}var Ge=o(ye,2);{var Mt=bt=>{var ft=_l(),nt=r(ft),kt=r(nt,!0);a(nt);var xt=o(nt,2);$e(xt,21,()=>e(Q),Bt=>Bt.id,(Bt,jt)=>{var sa=pl(),va=r(sa),pe=r(va,!0);a(va);var Ne=o(va,2);{var ct=Ye=>{var It=fl(),$t=r(It,!0);a(It),g(()=>N($t,e(jt).description??e(jt).id)),s(Ye,It)};z(Ne,Ye=>{(e(jt).label||e(jt).description)&&Ye(ct)})}a(sa),g(()=>N(pe,e(jt).label??e(jt).id)),ee("click",sa,()=>v(e(jt))),s(Bt,sa)}),a(xt),a(ft),g(Bt=>N(kt,Bt),[()=>Yt(e(T))]),s(bt,ft)};z(Ge,bt=>{e(Q).length>0&&bt(Mt)})}var Ot=o(Ge,2);{var Gt=bt=>{var ft=bl();s(bt,ft)},ra=bt=>{var ft=gl(),nt=r(ft,!0);a(ft),g(()=>N(nt,e(se))),s(bt,ft)};z(Ot,bt=>{e(Y)?bt(Gt):e(se)&&bt(ra,1)})}a(st),s(De,st)};z(Xt,De=>{(e(ce).length>0||e(Q).length>0||e(Y)||e(se))&&De(aa)})}a(p),g((De,st,ye,Ee,Ge,Mt)=>{N(he,De),N(Ae,st),N(Le,ye),xe(Re,"aria-label",Ee),xe(Re,"placeholder",Ge),N(Ue,Mt)},[()=>tt(e(T)),()=>Te(e(T)),()=>u(e(T)),()=>u(e(T)),()=>{var De;return((De=e(T))==null?void 0:De.placeholder)??U(e(T))},()=>oe(e(T))]),ee("keydown",Re,De=>{De.key==="Enter"&&Ze()}),ea(Re,()=>e(x),De=>t(x,De)),ee("click",Fe,()=>Ze()),s(i,p)};z(h,i=>{e(H)&&i(B)})}var ne=o(h,2);$e(ne,21,()=>ie,Ft,(i,p)=>{var F=yl();let A;var he=r(F,!0);a(F),g(()=>{A=zt(F,1,"tab-btn svelte-11vdap9",null,A,{"tab-btn--active":e(M)===e(p).id}),N(he,e(p).label)}),ee("click",F,()=>Qe(e(p).id)),s(i,F)}),a(ne);var $=o(ne,2),Xe=r($);{var At=i=>{var p=Jt(),F=Je(p);{var A=me=>{var Ae=wl(),Be=r(Ae),qe=r(Be,!0);a(Be);var Ke=o(Be,2),Le=r(Ke,!0);a(Ke),a(Ae),g((Re,Fe)=>{N(qe,Re),N(Le,Fe)},[()=>mt(e(T)),()=>Rt(e(T),"records")]),s(me,Ae)},he=me=>{cn(me,{get tableName(){return e(V)},get instanceId(){return e(be)}})};z(F,me=>{e(H)&&!e(be)?me(A):me(he,!1)})}s(i,p)},Wt=i=>{var p=Jt(),F=Je(p);{var A=me=>{var Ae=kl(),Be=r(Ae),qe=r(Be,!0);a(Be);var Ke=o(Be,2),Le=r(Ke,!0);a(Ke),a(Ae),g((Re,Fe)=>{N(qe,Re),N(Le,Fe)},[()=>mt(e(T)),()=>Rt(e(T),"query")]),s(me,Ae)},he=me=>{var Ae=Jt(),Be=Je(Ae);Lr(Be,Pe,qe=>{var Ke=Sl();s(qe,Ke)},(qe,Ke)=>{const Le=L(()=>e(Ke).default);var Re=Jt(),Fe=Je(Re);ir(Fe,()=>e(Le),(Ue,vt)=>{vt(Ue,{get tableName(){return e(V)},get namespace(){return e(J)},get instanceId(){return e(be)}})}),s(qe,Re)},(qe,Ke)=>{var Le=xl(),Re=o(r(Le),2),Fe=r(Re,!0);a(Re),a(Le),g(Ue=>N(Fe,Ue),[()=>gt(e(Ke),"Failed to load the query tools.")]),s(qe,Le)}),s(me,Ae)};z(F,me=>{e(H)&&!e(be)?me(A):me(he,!1)})}s(i,p)},ba=i=>{jn(i,{get tableName(){return e(V)}})},Pt=i=>{Kn(i,{get tableName(){return e(V)}})},qt=i=>{Wn(i,{get tableName(){return e(V)}})};z(Xe,i=>{e(M)==="records"?i(At):e(M)==="query"?i(Wt,1):e(M)==="schema"?i(ba,2):e(M)==="rules"?i(Pt,3):e(M)==="sdk"&&i(qt,4)})}a($),a(ke),g((i,p)=>{N(rt,e(V)),N(ya,e(J)),N(wa,i),pa=zt(fa,1,"table-badge svelte-11vdap9",null,pa,{"table-badge--dynamic":e(H)}),N(ka,p),xe(Zt,"href",`${Da??""}/database/erd`),xe(na,"href",Fr)},[()=>G(e(re)),()=>it(e(H))]),s(_e,ke),ia(),E()}ua(["keydown","click"]);export{js as D,eo as _};
128
+ }`}}[e(R)])==null?void 0:ve[e(E)])??""})());async function M(){try{await navigator.clipboard.writeText(e(be)),St("Copied to clipboard")}catch{}}var de=Hn(),x=r(de);$e(x,21,()=>V,Ft,(w,m)=>{var W=Jn();let ve;var _=r(W,!0);a(W),g(()=>{ve=zt(W,1,"lang-tab svelte-hdcl64",null,ve,{"lang-tab--active":e(R)===e(m).id}),N(_,e(m).label)}),ee("click",W,()=>t(R,e(m).id,!0)),s(w,W)}),a(x);var Y=o(x,2);$e(Y,21,()=>X,Ft,(w,m)=>{var W=Vn();let ve;var _=r(W,!0);a(W),g(()=>{ve=zt(W,1,"op-tab svelte-hdcl64",null,ve,{"op-tab--active":e(E)===e(m).id}),N(_,e(m).label)}),ee("click",W,()=>t(E,e(m).id,!0)),s(w,W)}),a(Y);var se=o(Y,2),le=r(se),ce=o(le,2),S=r(ce),K=r(S,!0);a(S),a(ce),a(se),a(de),g(()=>N(K,e(be))),ee("click",le,M),s(_e,de),ia(),ae()}ua(["click"]);const rr="edgebase_admin_recent_instances",Gn=6;function sr(){try{const _e=localStorage.getItem(rr);if(!_e)return{};const l=JSON.parse(_e);return l&&typeof l=="object"?l:{}}catch{return{}}}function Yn(_e){try{localStorage.setItem(rr,JSON.stringify(_e))}catch{}}function Qn(_e){var Z,q;const l=_e.id.trim();return l?{id:l,label:((Z=_e.label)==null?void 0:Z.trim())||void 0,description:((q=_e.description)==null?void 0:q.trim())||void 0}:null}function $a(_e){return(sr()[_e]??[]).slice().sort((q,ae)=>ae.lastUsedAt-q.lastUsedAt).map(({id:q,label:ae,description:R})=>({id:q,label:ae,description:R}))}function Zn(_e,l){const Z=Qn(l);if(!Z)return;const q=sr(),ae=q[_e]??[],R=[{...Z,lastUsedAt:Date.now()},...ae.filter(E=>E.id!==Z.id)].slice(0,Gn);Yn({...q,[_e]:R})}var Xn=d("<span><!></span>"),$n=d('<div class="table-header__hint svelte-11vdap9">Start <code class="svelte-11vdap9">pnpm dev</code> to enable DB block upgrades.</div>'),el=d('<input id="upgrade-env-key" class="upgrade-modal__input svelte-11vdap9"/> <p class="upgrade-modal__hint svelte-11vdap9">Only change this if you already use a specific Postgres env key name.</p>',1),tl=d("<option> </option>"),al=d("<option> </option>"),rl=d('<p class="upgrade-modal__hint upgrade-modal__hint--error svelte-11vdap9"> </p>'),sl=d('<p class="upgrade-modal__hint svelte-11vdap9">No existing Neon projects were found.</p>'),nl=d('<p class="upgrade-modal__hint svelte-11vdap9">EdgeBase will use the selected project, restart on Postgres, and restore every table in this block.</p>'),ll=d("<li> </li>"),ol=d('<div class="upgrade-modal__status svelte-11vdap9" role="status" aria-live="polite"><div class="upgrade-modal__status-title svelte-11vdap9"> </div> <p class="upgrade-modal__status-copy svelte-11vdap9">EdgeBase is migrating the full <strong> </strong> database block. This can take a while because every table is exported, the worker restarts on Postgres, and then the block is restored.</p> <div class="upgrade-modal__status-current svelte-11vdap9"> </div> <ol class="upgrade-modal__steps upgrade-modal__steps--status svelte-11vdap9"></ol></div>'),il=d('<div class="upgrade-modal svelte-11vdap9"><p class="upgrade-modal__text svelte-11vdap9">This migrates the entire <strong> </strong> database block from D1 to Postgres. The current table is just the entry point. Every table in this block is exported, the dev worker restarts on Postgres, and then the full block is restored.</p> <div class="upgrade-modal__notice svelte-11vdap9"><div class="upgrade-modal__notice-title svelte-11vdap9">What happens during this migration</div> <ol class="upgrade-modal__steps svelte-11vdap9"><li>Export all tables from the current D1-backed database block.</li> <li>Connect an existing Neon project or create a new one.</li> <li>Restart the dev worker with `provider: \'postgres\'`.</li> <li>Restore every table in the database block into Postgres.</li></ol></div> <div class="upgrade-modal__field svelte-11vdap9"><label class="upgrade-modal__label svelte-11vdap9" for="upgrade-env-key-display">Automatic Postgres Env Key</label> <div id="upgrade-env-key-display" class="upgrade-modal__static svelte-11vdap9"><code class="svelte-11vdap9"> </code></div> <p class="upgrade-modal__hint svelte-11vdap9">EdgeBase will write this key during migration. Only override it if you already use a specific Postgres env key name.</p> <div class="upgrade-modal__actions-row svelte-11vdap9"><!></div> <!></div> <div class="upgrade-modal__choices svelte-11vdap9"><div class="upgrade-modal__choices-copy svelte-11vdap9"><div class="upgrade-modal__notice-title svelte-11vdap9">Neon Setup</div> <p class="upgrade-modal__hint svelte-11vdap9">Both options migrate the same database block and use the env key above. Pick the path that matches whether the Neon project already exists.</p></div> <div class="upgrade-modal__choice-grid svelte-11vdap9"><section class="upgrade-modal__choice-card svelte-11vdap9"><div class="upgrade-modal__choice-header svelte-11vdap9"><div class="upgrade-modal__choice-eyebrow svelte-11vdap9">Existing project</div> <h3 class="upgrade-modal__choice-title svelte-11vdap9">1. Connect an existing Neon project</h3> <p class="upgrade-modal__hint svelte-11vdap9">Best when the Neon project already exists in your account.</p></div> <label class="upgrade-modal__label svelte-11vdap9" for="upgrade-neon-project">Existing Neon Project</label> <select id="upgrade-neon-project" class="upgrade-modal__select svelte-11vdap9"><!></select> <div class="upgrade-modal__actions-row svelte-11vdap9"><!></div> <!> <div class="upgrade-modal__actions-row upgrade-modal__choice-actions svelte-11vdap9"><!></div></section> <section class="upgrade-modal__choice-card svelte-11vdap9"><div class="upgrade-modal__choice-header svelte-11vdap9"><div class="upgrade-modal__choice-eyebrow svelte-11vdap9">Provision new project</div> <h3 class="upgrade-modal__choice-title svelte-11vdap9">2. Create a new Neon project</h3> <p class="upgrade-modal__hint svelte-11vdap9">Best when you want EdgeBase to provision Neon before migrating.</p></div> <label class="upgrade-modal__label svelte-11vdap9" for="upgrade-project-name">New Neon Project Name</label> <input id="upgrade-project-name" class="upgrade-modal__input svelte-11vdap9"/> <p class="upgrade-modal__hint svelte-11vdap9">EdgeBase will try this name first, then append a suffix if Neon already has one.</p> <div class="upgrade-modal__actions-row upgrade-modal__choice-actions svelte-11vdap9"><!></div></section></div></div> <!></div>'),dl=d('<button class="target-bar__button svelte-11vdap9">Clear</button>'),vl=d('<span class="target-chip__meta svelte-11vdap9"> </span>'),cl=d('<button class="target-chip svelte-11vdap9" type="button"><span class="target-chip__label svelte-11vdap9"> </span> <!></button>'),ul=d('<div class="target-bar__section svelte-11vdap9"><div class="target-bar__section-label svelte-11vdap9"> </div> <div class="target-bar__chip-row svelte-11vdap9"></div></div>'),fl=d('<span class="target-chip__meta svelte-11vdap9"> </span>'),pl=d('<button class="target-chip svelte-11vdap9" type="button"><span class="target-chip__label svelte-11vdap9"> </span> <!></button>'),_l=d('<div class="target-bar__section svelte-11vdap9"><div class="target-bar__section-label svelte-11vdap9"> </div> <div class="target-bar__chip-row svelte-11vdap9"></div></div>'),bl=d('<div class="target-bar__status svelte-11vdap9">Loading instance suggestions...</div>'),gl=d('<div class="target-bar__status target-bar__status--error svelte-11vdap9"> </div>'),hl=d('<div class="target-bar__suggestions svelte-11vdap9"><!> <!> <!></div>'),ml=d('<div class="target-bar svelte-11vdap9"><div class="target-bar__copy svelte-11vdap9"><div class="target-bar__title svelte-11vdap9"> </div> <div class="target-bar__description svelte-11vdap9"> </div></div> <div class="target-bar__controls svelte-11vdap9"><div class="target-bar__field svelte-11vdap9"><label class="target-bar__field-label svelte-11vdap9" for="database-target-input"> </label> <input id="database-target-input" class="target-bar__input svelte-11vdap9" type="text" maxlength="128"/></div> <button class="target-bar__button target-bar__button--primary svelte-11vdap9"> </button> <!></div> <!></div>'),yl=d("<button> </button>"),wl=d('<div class="target-empty svelte-11vdap9"><h3 class="svelte-11vdap9"> </h3> <p class="svelte-11vdap9"> </p></div>'),kl=d('<div class="target-empty svelte-11vdap9"><h3 class="svelte-11vdap9"> </h3> <p class="svelte-11vdap9"> </p></div>'),xl=d('<div class="target-empty svelte-11vdap9"><h3 class="svelte-11vdap9">Query tools unavailable</h3> <p class="svelte-11vdap9"> </p></div>'),Sl=d('<div class="tab-loading svelte-11vdap9">Loading query tools...</div>'),Cl=d('<div class="table-detail svelte-11vdap9"><div class="table-header svelte-11vdap9"><div class="table-header__meta svelte-11vdap9"><h2 class="table-title svelte-11vdap9"> </h2> <div class="table-badges svelte-11vdap9"><span class="table-badge svelte-11vdap9"> </span> <span class="table-badge svelte-11vdap9"> </span> <span> </span></div></div> <div class="table-header__actions svelte-11vdap9"><!> <a class="erd-link svelte-11vdap9" title="View ERD Diagram"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="1" y="2" width="5" height="4" rx="1" stroke="currentColor" stroke-width="1.5"></rect><rect x="10" y="10" width="5" height="4" rx="1" stroke="currentColor" stroke-width="1.5"></rect><path d="M6 4H8.5V12H10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg> ERD</a> <a class="erd-link svelte-11vdap9" target="_blank" rel="noreferrer" title="Open database docs"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M3 2H10L13 5V14H3V2Z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path><path d="M10 2V5H13" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"></path><path d="M6 8H10M6 10.5H9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg> Docs</a> <!></div></div> <!> <!> <div class="tab-bar svelte-11vdap9"></div> <div class="tab-content svelte-11vdap9"><!></div></div>');function eo(_e,l){oa(l,!0);const Z=()=>ma(zr,"$page",R),q=()=>ma(Kt,"$schemaStore",R),ae=()=>ma(ar,"$devInfoStore",R),[R,E]=Ta();let V=L(()=>Z().params.table??""),X=L(()=>q().schema[e(V)]??void 0),J=L(()=>{var i;return((i=e(X))==null?void 0:i.namespace)??""}),re=L(()=>{var i;return((i=e(X))==null?void 0:i.provider)??"do"}),H=L(()=>{var i;return!!((i=e(X))!=null&&i.dynamic)}),T=L(()=>{var i;return(i=e(X))==null?void 0:i.instanceDiscovery}),be=L(()=>Ha(Z().url.searchParams.get("instance"))),M=y("records");function de(i){const p=i.get("tab");return e(X)?p==="sql"?"query":p==="records"||p==="query"||p==="schema"||p==="rules"||p==="sdk"?p:e(H)&&!e(be)?"schema":"records":p==="query"||p==="sql"?"query":"schema"}wt(()=>{t(M,de(Z().url.searchParams),!0)});let x=y(""),Y=y(!1),se=y(""),le=y(lt([])),ce=y(lt([])),S=y(!1),K=y(""),w=y(!1),m=y(null),W=y(0),ve=y(""),_=y(lt([])),C=y(!1),ue=y(!1),Ie=y(""),fe=y(""),Ve=y(null),te=L(()=>ae().devMode);wt(()=>{t(x,e(be)??"",!0)}),wt(()=>{if(typeof window>"u"||!e(H)||!e(J)){t(ce,[],!0);return}t(ce,$a(e(J)),!0)}),wt(()=>{var he;if(!e(H)||!e(J)){t(Y,!1),t(se,""),t(le,[],!0);return}if(((he=e(T))==null?void 0:he.source)==="manual"){t(Y,!1),t(se,""),t(le,[],!0);return}const i=e(x).trim();let p=!1;const F=i?160:0;t(Y,!0),t(se,"");const A=window.setTimeout(async()=>{try{const me=new URLSearchParams({limit:"8"});i&&me.set("q",i);const Ae=await pt.fetch(`data/namespaces/${encodeURIComponent(e(J))}/instances?${me.toString()}`);if(p)return;t(le,Ae.items??[],!0),t(se,"")}catch(me){if(p)return;t(le,[],!0),t(se,gt(me,"Failed to load instance suggestions."),!0)}finally{p||t(Y,!1)}},F);return()=>{p=!0,window.clearTimeout(A)}});function G(i){return i==="postgres"||i==="neon"?"PG":i==="d1"?"D1":"DO"}function Se(i){const p=i.trim().toUpperCase().replace(/[^A-Z0-9_]+/g,"_");return p?`DB_POSTGRES_${p}_URL`:"DB_POSTGRES_SHARED_URL"}function We(i){return i.trim().toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-")||"edgebase-db"}wt(()=>{e(J)&&(!e(S)||!e(K).trim())&&!e(w)&&t(K,Se(e(J)),!0)}),wt(()=>{dt()&&!e(ue)&&!e(C)&&I()});function Pe(){return t(Ve,e(Ve)??or(()=>import("./BDYewzou.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]),import.meta.url),!0),e(Ve)}wt(()=>{e(M)==="query"&&Pe()});function it(i){return i?"Per-tenant DB":"Single DB"}function et(){return e(w)?e(K).trim()||Se(e(J)):Se(e(J))}function Me(){return e(ve).trim()||We(e(J))}function dt(){return e(te)&&ht()}function ht(){return!e(H)&&e(re)==="d1"}function ge(){return ht()?e(te)?"":"Database block upgrades require dev mode with the schema sidecar. Start `pnpm dev` to enable Neon/Postgres migration.":""}function b(){t(w,!e(w)),e(w)&&!e(K).trim()&&t(K,Se(e(J)),!0)}wt(()=>{e(J)&&(e(ve).trim()||t(ve,We(e(J)),!0))}),wt(()=>{if(!e(m)||typeof window>"u"){t(W,0);return}t(W,0);const i=[window.setTimeout(()=>t(W,1),1200),window.setTimeout(()=>t(W,2),4200),window.setTimeout(()=>t(W,3),8200)];return()=>{for(const p of i)window.clearTimeout(p)}});async function I(i=!1){var p;if(!(!i&&(e(ue)||e(C)))){t(C,!0),t(Ie,"");try{const F=await pt.schemaMutation(i?"integrations/neon/projects?refresh=1":"integrations/neon/projects",{method:"GET"});t(_,F.items??[],!0),t(fe,((p=e(_)[0])==null?void 0:p.projectId)??"",!0),t(ue,!0)}catch(F){t(Ie,gt(F,"Failed to load Neon projects."),!0)}finally{t(C,!1)}}}function Oe(i){var F;return((F=i==null?void 0:i.targetLabel)==null?void 0:F.trim())||"Target"}function tt(i){return`Choose ${Oe(i)}`}function u(i){return`${Oe(i)} ID`}function U(i){return`Paste ${Oe(i).toLowerCase()} ID`}function oe(i){return Oe(i)==="Target"?"Apply":"Open"}function Te(i){const p=i==null?void 0:i.helperText;return p||`Pick a ${Oe(i).toLowerCase()} to view this table's records or run queries.`}function mt(i){return`${tt(i)} First`}function Rt(i,p){const F=Oe(i).toLowerCase();return p==="records"?`Select a ${F} above to view records for this table.`:`Select a ${F} above to run queries for this table.`}function Ct(i){const p=Oe(i);return p==="Target"?"Recent":`Recent ${p}s`}function Yt(i){const p=Oe(i);return p==="Target"?"Suggestions":`Suggested ${p}s`}async function Vt(i){const p=new URL(Z().url);i(p.searchParams),await qa(`${p.pathname}${p.search}`,{replaceState:!0,keepFocus:!0,noScroll:!0})}function Qe(i){i==="query"&&Pe(),t(M,i,!0),Vt(p=>{i==="records"?p.delete("tab"):p.set("tab",i)})}function Ce(i){return e(le).find(p=>p.id===i)??e(ce).find(p=>p.id===i)}function at(i){typeof window>"u"||!e(J)||(Zn(e(J),i),t(ce,$a(e(J)),!0))}function Ze(i){const p=Ha((i==null?void 0:i.id)??e(x));Vt(F=>{if(p){const A=i??Ce(p)??{id:p};at(A),F.set("instance",p),e(H)&&e(M)==="schema"&&F.delete("tab")}else F.delete("instance"),e(H)&&e(M)==="records"&&F.set("tab","schema")})}function we(){t(x,""),Ze()}function v(i){t(x,i.id,!0),Ze(i)}async function f(i){if(e(J)){if(i==="reuse"&&!e(fe)){ot(e(Ie)||"Choose an existing Neon project first, or create a new one.");return}i==="create"&&Me(),t(m,i,!0);try{await pt.schemaMutation("integrations/neon/upgrade",{method:"POST",body:{namespace:e(J),projectId:i==="reuse"?e(fe):void 0,projectName:i==="create"?Me():void 0,mode:i,...e(w)?{envKey:et()}:{}}}),await Kt.loadSchema({silent:!0}),t(S,!1),St(`"${e(J)}" upgraded from D1 to Postgres`)}catch(p){const F=gt(p,"Failed to upgrade the database block.");ot(F)}finally{t(m,null)}}}function P(){return!e(C)&&e(_).length>0&&!!e(fe)}function k(){return e(m)==="reuse"?"Migrating Database Block to Postgres":e(m)==="create"?"Creating Neon Project and Migrating Database Block":"Database Block Migration"}function D(i){return i<e(W)?"done":i===e(W)?"active":"pending"}function j(){return[{label:`Export every table in the "${e(J)}" database block from D1`,state:D(0)},{label:e(m)==="create"?`Create the Neon project "${Me()}" and write the Postgres env key`:"Connect the selected Neon project and write the Postgres env key",state:D(1)},{label:"Restart the dev worker on Postgres",state:D(2)},{label:`Restore all rows back into the "${e(J)}" database block`,state:D(3)}]}function O(){var i;return((i=j()[e(W)])==null?void 0:i.label)??"Preparing migration..."}let Q=L(()=>{const i=new Set(e(ce).map(p=>p.id));return e(le).filter(p=>!i.has(p.id))});const ie=[{id:"records",label:"Records"},{id:"query",label:"Query"},{id:"schema",label:"Schema"},{id:"rules",label:"Rules"},{id:"sdk",label:"SDK"}];var ke=Cl(),ze=r(ke),Nt=r(ze),Dt=r(Nt),rt=r(Dt,!0);a(Dt);var _t=o(Dt,2),Et=r(_t),ya=r(Et,!0);a(Et);var da=o(Et,2),wa=r(da,!0);a(da);var fa=o(da,2);let pa;var ka=r(fa,!0);a(fa),a(_t),a(Nt);var _a=o(Nt,2),Qt=r(_a);{var Ht=i=>{ut(i,{variant:"secondary",size:"sm",onclick:()=>t(S,!0),children:(p,F)=>{He();var A=je("Upgrade to Postgres");s(p,A)},$$slots:{default:!0}})},Tt=L(()=>dt()),ta=i=>{var p=Xn(),F=r(p);ut(F,{variant:"secondary",size:"sm",disabled:!0,children:(A,he)=>{He();var me=je("Upgrade to Postgres");s(A,me)},$$slots:{default:!0}}),a(p),g(A=>xe(p,"title",A),[ge]),s(i,p)},ga=L(()=>ht());z(Qt,i=>{e(Tt)?i(Ht):e(ga)&&i(ta,1)})}var Zt=o(Qt,2),na=o(Zt,2),Sa=o(na,2);{var ha=i=>{var p=$n();s(i,p)},n=L(()=>ge());z(Sa,i=>{e(n)&&i(ha)})}a(_a),a(ze);var c=o(ze,2);tr(c,{title:"Migrate Database Block to Postgres",maxWidth:"560px",get open(){return e(S)},set open(p){t(S,p,!0)},footer:p=>{{let F=L(()=>e(m)!==null);ut(p,{variant:"secondary",get disabled(){return e(F)},onclick:()=>t(S,!1),children:(A,he)=>{He();var me=je("Cancel");s(A,me)},$$slots:{default:!0}})}},children:(p,F)=>{var A=il(),he=r(A),me=o(r(he)),Ae=r(me,!0);a(me),He(),a(he);var Be=o(he,4),qe=o(r(Be),2),Ke=r(qe),Le=r(Ke,!0);a(Ke),a(qe);var Re=o(qe,4),Fe=r(Re);{let pe=L(()=>e(m)!==null);ut(Fe,{variant:"ghost",onclick:b,get disabled(){return e(pe)},children:(Ne,ct)=>{He();var Ye=je();g(()=>N(Ye,e(w)?"Hide Env Key Override":"Customize Env Key")),s(Ne,Ye)},$$slots:{default:!0}})}a(Re);var Ue=o(Re,2);{var vt=pe=>{var Ne=el(),ct=Je(Ne);Lt(ct),He(2),g(Ye=>xe(ct,"placeholder",Ye),[()=>Se(e(J))]),ea(ct,()=>e(K),Ye=>t(K,Ye)),s(pe,Ne)};z(Ue,pe=>{e(w)&&pe(vt)})}a(Be);var Ut=o(Be,2),Xt=o(r(Ut),2),aa=r(Xt),De=o(r(aa),4),st=r(De);{var ye=pe=>{var Ne=tl(),ct=r(Ne,!0);a(Ne),Ne.value=Ne.__value="",g(()=>N(ct,e(C)?"Loading Neon projects...":"No Neon projects found")),s(pe,Ne)},Ee=pe=>{var Ne=Jt(),ct=Je(Ne);$e(ct,17,()=>e(_),Ye=>Ye.projectId,(Ye,It)=>{var $t=al(),Pa=r($t);a($t);var xa={};g(()=>{N(Pa,`${e(It).projectName??""} (${e(It).orgName??""})`),xa!==(xa=e(It).projectId)&&($t.value=($t.__value=e(It).projectId)??"")}),s(Ye,$t)}),s(pe,Ne)};z(st,pe=>{e(_).length===0?pe(ye):pe(Ee,!1)})}a(De);var Ge=o(De,2),Mt=r(Ge);ut(Mt,{variant:"ghost",onclick:()=>I(!0),get loading(){return e(C)},children:(pe,Ne)=>{He();var ct=je("Refresh Projects");s(pe,ct)},$$slots:{default:!0}}),a(Ge);var Ot=o(Ge,2);{var Gt=pe=>{var Ne=rl(),ct=r(Ne,!0);a(Ne),g(()=>N(ct,e(Ie))),s(pe,Ne)},ra=pe=>{var Ne=sl();s(pe,Ne)},bt=pe=>{var Ne=nl();s(pe,Ne)};z(Ot,pe=>{e(Ie)?pe(Gt):!e(C)&&e(_).length===0?pe(ra,1):e(C)||pe(bt,2)})}var ft=o(Ot,2),nt=r(ft);{let pe=L(()=>!P()||e(m)!==null);ut(nt,{variant:"secondary",get disabled(){return e(pe)},onclick:()=>f("reuse"),children:(Ne,ct)=>{He();var Ye=je();g(()=>N(Ye,e(m)==="reuse"?"Connecting Existing Neon...":"Connect Existing Neon")),s(Ne,Ye)},$$slots:{default:!0}})}a(ft),a(aa);var kt=o(aa,2),xt=o(r(kt),4);Lt(xt);var Bt=o(xt,4),jt=r(Bt);{let pe=L(()=>e(m)!==null);ut(jt,{variant:"primary",get disabled(){return e(pe)},onclick:()=>f("create"),children:(Ne,ct)=>{He();var Ye=je();g(()=>N(Ye,e(m)==="create"?"Creating Neon Project...":"Create New Neon Project")),s(Ne,Ye)},$$slots:{default:!0}})}a(Bt),a(kt),a(Xt),a(Ut);var sa=o(Ut,2);{var va=pe=>{var Ne=ol(),ct=r(Ne),Ye=r(ct,!0);a(ct);var It=o(ct,2),$t=o(r(It)),Pa=r($t,!0);a($t),He(),a(It);var xa=o(It,2),nr=r(xa);a(xa);var Ma=o(xa,2);$e(Ma,21,j,Ft,(Oa,Na)=>{var Ia=ll(),lr=r(Ia,!0);a(Ia),g(()=>{zt(Ia,1,`upgrade-modal__step upgrade-modal__step--${e(Na).state}`,"svelte-11vdap9"),N(lr,e(Na).label)}),s(Oa,Ia)}),a(Ma),a(Ne),g((Oa,Na)=>{N(Ye,Oa),N(Pa,e(J)),N(nr,`Current step: ${Na??""}`)},[k,O]),s(pe,Ne)};z(sa,pe=>{e(m)&&pe(va)})}a(A),g((pe,Ne)=>{N(Ae,e(J)),N(Le,pe),De.disabled=e(C)||e(_).length===0,xe(xt,"placeholder",Ne),xt.disabled=e(m)!==null},[et,()=>We(e(J))]),ca(De,()=>e(fe),pe=>t(fe,pe)),ea(xt,()=>e(ve),pe=>t(ve,pe)),s(p,A)},$$slots:{footer:!0,default:!0}});var h=o(c,2);{var B=i=>{var p=ml(),F=r(p),A=r(F),he=r(A,!0);a(A);var me=o(A,2),Ae=r(me,!0);a(me),a(F);var Be=o(F,2),qe=r(Be),Ke=r(qe),Le=r(Ke,!0);a(Ke);var Re=o(Ke,2);Lt(Re),a(qe);var Fe=o(qe,2),Ue=r(Fe,!0);a(Fe);var vt=o(Fe,2);{var Ut=De=>{var st=dl();ee("click",st,we),s(De,st)};z(vt,De=>{e(be)&&De(Ut)})}a(Be);var Xt=o(Be,2);{var aa=De=>{var st=hl(),ye=r(st);{var Ee=bt=>{var ft=ul(),nt=r(ft),kt=r(nt,!0);a(nt);var xt=o(nt,2);$e(xt,21,()=>e(ce),Bt=>Bt.id,(Bt,jt)=>{var sa=cl(),va=r(sa),pe=r(va,!0);a(va);var Ne=o(va,2);{var ct=Ye=>{var It=vl(),$t=r(It,!0);a(It),g(()=>N($t,e(jt).id)),s(Ye,It)};z(Ne,Ye=>{e(jt).label&&Ye(ct)})}a(sa),g(()=>N(pe,e(jt).label??e(jt).id)),ee("click",sa,()=>v(e(jt))),s(Bt,sa)}),a(xt),a(ft),g(Bt=>N(kt,Bt),[()=>Ct(e(T))]),s(bt,ft)};z(ye,bt=>{e(ce).length>0&&bt(Ee)})}var Ge=o(ye,2);{var Mt=bt=>{var ft=_l(),nt=r(ft),kt=r(nt,!0);a(nt);var xt=o(nt,2);$e(xt,21,()=>e(Q),Bt=>Bt.id,(Bt,jt)=>{var sa=pl(),va=r(sa),pe=r(va,!0);a(va);var Ne=o(va,2);{var ct=Ye=>{var It=fl(),$t=r(It,!0);a(It),g(()=>N($t,e(jt).description??e(jt).id)),s(Ye,It)};z(Ne,Ye=>{(e(jt).label||e(jt).description)&&Ye(ct)})}a(sa),g(()=>N(pe,e(jt).label??e(jt).id)),ee("click",sa,()=>v(e(jt))),s(Bt,sa)}),a(xt),a(ft),g(Bt=>N(kt,Bt),[()=>Yt(e(T))]),s(bt,ft)};z(Ge,bt=>{e(Q).length>0&&bt(Mt)})}var Ot=o(Ge,2);{var Gt=bt=>{var ft=bl();s(bt,ft)},ra=bt=>{var ft=gl(),nt=r(ft,!0);a(ft),g(()=>N(nt,e(se))),s(bt,ft)};z(Ot,bt=>{e(Y)?bt(Gt):e(se)&&bt(ra,1)})}a(st),s(De,st)};z(Xt,De=>{(e(ce).length>0||e(Q).length>0||e(Y)||e(se))&&De(aa)})}a(p),g((De,st,ye,Ee,Ge,Mt)=>{N(he,De),N(Ae,st),N(Le,ye),xe(Re,"aria-label",Ee),xe(Re,"placeholder",Ge),N(Ue,Mt)},[()=>tt(e(T)),()=>Te(e(T)),()=>u(e(T)),()=>u(e(T)),()=>{var De;return((De=e(T))==null?void 0:De.placeholder)??U(e(T))},()=>oe(e(T))]),ee("keydown",Re,De=>{De.key==="Enter"&&Ze()}),ea(Re,()=>e(x),De=>t(x,De)),ee("click",Fe,()=>Ze()),s(i,p)};z(h,i=>{e(H)&&i(B)})}var ne=o(h,2);$e(ne,21,()=>ie,Ft,(i,p)=>{var F=yl();let A;var he=r(F,!0);a(F),g(()=>{A=zt(F,1,"tab-btn svelte-11vdap9",null,A,{"tab-btn--active":e(M)===e(p).id}),N(he,e(p).label)}),ee("click",F,()=>Qe(e(p).id)),s(i,F)}),a(ne);var $=o(ne,2),Xe=r($);{var At=i=>{var p=Jt(),F=Je(p);{var A=me=>{var Ae=wl(),Be=r(Ae),qe=r(Be,!0);a(Be);var Ke=o(Be,2),Le=r(Ke,!0);a(Ke),a(Ae),g((Re,Fe)=>{N(qe,Re),N(Le,Fe)},[()=>mt(e(T)),()=>Rt(e(T),"records")]),s(me,Ae)},he=me=>{cn(me,{get tableName(){return e(V)},get instanceId(){return e(be)}})};z(F,me=>{e(H)&&!e(be)?me(A):me(he,!1)})}s(i,p)},Wt=i=>{var p=Jt(),F=Je(p);{var A=me=>{var Ae=kl(),Be=r(Ae),qe=r(Be,!0);a(Be);var Ke=o(Be,2),Le=r(Ke,!0);a(Ke),a(Ae),g((Re,Fe)=>{N(qe,Re),N(Le,Fe)},[()=>mt(e(T)),()=>Rt(e(T),"query")]),s(me,Ae)},he=me=>{var Ae=Jt(),Be=Je(Ae);Lr(Be,Pe,qe=>{var Ke=Sl();s(qe,Ke)},(qe,Ke)=>{const Le=L(()=>e(Ke).default);var Re=Jt(),Fe=Je(Re);ir(Fe,()=>e(Le),(Ue,vt)=>{vt(Ue,{get tableName(){return e(V)},get namespace(){return e(J)},get instanceId(){return e(be)}})}),s(qe,Re)},(qe,Ke)=>{var Le=xl(),Re=o(r(Le),2),Fe=r(Re,!0);a(Re),a(Le),g(Ue=>N(Fe,Ue),[()=>gt(e(Ke),"Failed to load the query tools.")]),s(qe,Le)}),s(me,Ae)};z(F,me=>{e(H)&&!e(be)?me(A):me(he,!1)})}s(i,p)},ba=i=>{jn(i,{get tableName(){return e(V)}})},Pt=i=>{Kn(i,{get tableName(){return e(V)}})},qt=i=>{Wn(i,{get tableName(){return e(V)}})};z(Xe,i=>{e(M)==="records"?i(At):e(M)==="query"?i(Wt,1):e(M)==="schema"?i(ba,2):e(M)==="rules"?i(Pt,3):e(M)==="sdk"&&i(qt,4)})}a($),a(ke),g((i,p)=>{N(rt,e(V)),N(ya,e(J)),N(wa,i),pa=zt(fa,1,"table-badge svelte-11vdap9",null,pa,{"table-badge--dynamic":e(H)}),N(ka,p),xe(Zt,"href",`${Da??""}/database/erd`),xe(na,"href",Fr)},[()=>G(e(re)),()=>it(e(H))]),s(_e,ke),ia(),E()}ua(["keydown","click"]);export{js as D,eo as _};
@@ -1 +1 @@
1
- var ge=Object.defineProperty;var _e=(e,r,a)=>r in e?ge(e,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[r]=a;var F=(e,r,a)=>_e(e,typeof r!="symbol"?r+"":r,a);import{a2 as B,x as me,au as he,h as D,n as L,v as Ee,e as we,g as ie,y as Te,A as Ae,B as oe,D as P,k as U,C as ye,av as Ie,aw as fe,_ as Ne,ax as w,a3 as Y,ay as Se,a5 as xe,X as Re,az as Ce,aA as J,aB as De,aC as He,a7 as Oe,aD as ue,aE as be,$ as ve,a1 as pe,aF as V,I as ke,aG as Me,aH as Fe,aI as Ue,a0 as ze,l as $e,M as Z}from"./BdTBlfLy.js";import{g as G}from"./Bn2NtlTj.js";import{g as qe,a as X}from"./CbfX3ELZ.js";import{l as Be,d as le}from"./DmDTovpg.js";import{d as Le}from"./CjcrXziO.js";function sr(e,r){return r}function Pe(e,r,a){for(var u=[],f=r.length,o,l=r.length,v=0;v<f;v++){let m=r[v];pe(m,()=>{if(o){if(o.pending.delete(m),o.done.add(m),o.pending.size===0){var c=e.outrogroups;K(J(o.done)),c.delete(o),c.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var i=u.length===0&&a!==null;if(i){var d=a,t=d.parentNode;Ue(t),t.append(d),e.items.clear()}K(r,!i)}else o={pending:new Set(r),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(o)}function K(e,r=!0){for(var a=0;a<e.length;a++)ze(e[a],r)}var ce;function ir(e,r,a,u,f,o=null){var l=e,v=new Map,i=(r&he)!==0;if(i){var d=e;l=D?L(Ee(d)):d.appendChild(B())}D&&we();var t=null,m=Re(()=>{var s=a();return Ce(s)?s:s==null?[]:J(s)}),c,h=!0;function A(){n.fallback=t,Ve(n,c,l,r,u),t!==null&&(c.length===0?(t.f&w)===0?ve(t):(t.f^=w,O(t,null,l)):pe(t,()=>{t=null}))}var N=me(()=>{c=ie(m);var s=c.length;let S=!1;if(D){var x=Te(l)===Ae;x!==(s===0)&&(l=oe(),L(l),P(!1),S=!0)}for(var g=new Set,y=Ne,R=xe(),p=0;p<s;p+=1){D&&U.nodeType===ye&&U.data===Ie&&(l=U,S=!0,P(!1));var I=c[p],C=u(I,p),_=h?null:v.get(C);_?(_.v&&fe(_.v,I),_.i&&fe(_.i,p),R&&y.unskip_effect(_.e)):(_=Xe(v,h?l:ce??(ce=B()),I,C,p,f,r,a),h||(_.e.f|=w),v.set(C,_)),g.add(C)}if(s===0&&o&&!t&&(h?t=Y(()=>o(l)):(t=Y(()=>o(ce??(ce=B()))),t.f|=w)),s>g.size&&Se(),D&&s>0&&L(oe()),!h)if(R){for(const[k,M]of v)g.has(k)||y.skip_effect(M.e);y.oncommit(A),y.ondiscard(()=>{})}else A();S&&P(!0),ie(m)}),n={effect:N,items:v,outrogroups:null,fallback:t};h=!1,D&&(l=U)}function H(e){for(;e!==null&&(e.f&Me)===0;)e=e.next;return e}function Ve(e,r,a,u,f){var _,k,M,j,ee,re,ae,ne,te;var o=(u&Fe)!==0,l=r.length,v=e.items,i=H(e.effect.first),d,t=null,m,c=[],h=[],A,N,n,s;if(o)for(s=0;s<l;s+=1)A=r[s],N=f(A,s),n=v.get(N).e,(n.f&w)===0&&((k=(_=n.nodes)==null?void 0:_.a)==null||k.measure(),(m??(m=new Set)).add(n));for(s=0;s<l;s+=1){if(A=r[s],N=f(A,s),n=v.get(N).e,e.outrogroups!==null)for(const E of e.outrogroups)E.pending.delete(n),E.done.delete(n);if((n.f&w)!==0)if(n.f^=w,n===i)O(n,null,a);else{var S=t?t.next:i;n===e.effect.last&&(e.effect.last=n.prev),n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),T(e,t,n),T(e,n,S),O(n,S,a),t=n,c=[],h=[],i=H(t.next);continue}if((n.f&V)!==0&&(ve(n),o&&((j=(M=n.nodes)==null?void 0:M.a)==null||j.unfix(),(m??(m=new Set)).delete(n))),n!==i){if(d!==void 0&&d.has(n)){if(c.length<h.length){var x=h[0],g;t=x.prev;var y=c[0],R=c[c.length-1];for(g=0;g<c.length;g+=1)O(c[g],x,a);for(g=0;g<h.length;g+=1)d.delete(h[g]);T(e,y.prev,R.next),T(e,t,y),T(e,R,x),i=x,t=R,s-=1,c=[],h=[]}else d.delete(n),O(n,i,a),T(e,n.prev,n.next),T(e,n,t===null?e.effect.first:t.next),T(e,t,n),t=n;continue}for(c=[],h=[];i!==null&&i!==n;)(d??(d=new Set)).add(i),h.push(i),i=H(i.next);if(i===null)continue}(n.f&w)===0&&c.push(n),t=n,i=H(n.next)}if(e.outrogroups!==null){for(const E of e.outrogroups)E.pending.size===0&&(K(J(E.done)),(ee=e.outrogroups)==null||ee.delete(E));e.outrogroups.size===0&&(e.outrogroups=null)}if(i!==null||d!==void 0){var p=[];if(d!==void 0)for(n of d)(n.f&V)===0&&p.push(n);for(;i!==null;)(i.f&V)===0&&i!==e.fallback&&p.push(i),i=H(i.next);var I=p.length;if(I>0){var C=(u&he)!==0&&l===0?a:null;if(o){for(s=0;s<I;s+=1)(ae=(re=p[s].nodes)==null?void 0:re.a)==null||ae.measure();for(s=0;s<I;s+=1)(te=(ne=p[s].nodes)==null?void 0:ne.a)==null||te.fix()}Pe(e,p,C)}}o&&ke(()=>{var E,se;if(m!==void 0)for(n of m)(se=(E=n.nodes)==null?void 0:E.a)==null||se.apply()})}function Xe(e,r,a,u,f,o,l,v){var i=(l&De)!==0?(l&He)===0?Oe(a,!1,!1):ue(a):null,d=(l&be)!==0?ue(f):null;return{v:i,i:d,e:Y(()=>(o(r,i??a,d??f,v),()=>{e.delete(u)}))}}function O(e,r,a){if(e.nodes)for(var u=e.nodes.start,f=e.nodes.end,o=r&&(r.f&w)===0?r.nodes.start:a;u!==null;){var l=$e(u);if(o.before(u),u===f)return;u=l}}function T(e,r,a){r===null?e.effect.first=a:r.next=a,a===null?e.effect.last=r:a.prev=r}const Ye={success:3e3,error:5e3,info:4e3,warning:4e3},de=50;let Ge=1,W=Z([]),z=Z([]);const $=Z({count:0});function or(){return $.count}function q(e){const r=Ge++,a={id:r,...e};W.push(a),z.unshift({...a,timestamp:Date.now()}),z.length>de&&(z.length=de),$.count++;const u=Ye[e.type];return setTimeout(()=>{Ke(r)},u),r}function Ke(e){const r=W.findIndex(a=>a.id===e);r!==-1&&W.splice(r,1)}function fr(){$.count=0}function ur(){z.length=0,$.count=0}function lr(e){return q({type:"success",message:e})}function cr(e){return q({type:"error",message:e})}function dr(e){return q({type:"info",message:e})}class b extends Error{constructor(a,u,f,o){super(f);F(this,"code");F(this,"status");F(this,"data");this.name="ApiError",this.status=a,this.code=u,this.data=o}}async function We(e){try{const r=await e.json();return{code:r.code??"UNKNOWN",message:r.message??(e.statusText||`Request failed with HTTP ${e.status}`),data:r.data}}catch{return{code:"UNKNOWN",message:e.statusText||`Request failed with HTTP ${e.status}`}}}async function Q(e,r={}){const a=G(X),u={"Content-Type":"application/json",...r.headers};a.accessToken&&(u.Authorization=`Bearer ${a.accessToken}`);const f=await fetch(e,{method:r.method??"GET",headers:u,body:r.body!==void 0?JSON.stringify(r.body):void 0});if(f.status===401&&!r._skipRefresh){if(await X.refresh())return Q(e,{...r,_skipRefresh:!0});throw X.logout(),new b(401,"UNAUTHORIZED","Session expired. Sign in again to continue.")}if(!f.ok){const o=await We(f);throw new b(f.status,o.code,o.message,o.data)}if(f.status!==204)return f.json()}async function Je(e,r={}){const a=qe(e);return Q(a,r)}async function Ze(e,r={}){let a=G(le);if(a.loaded||(await Be(),a=G(le)),!a.devMode||a.sidecarPort===null)throw new b(0,"NOT_DEV_MODE","Schema mutations require dev mode with sidecar");const u=`http://localhost:${a.sidecarPort}/${e}`;try{return await Q(u,r)}catch(f){throw f instanceof b&&f.status===404?new b(404,f.code,"This dashboard action is not available on the current dev sidecar yet. Restart `pnpm dev` and try again."):f}}async function Qe(e,r){try{return await e()}catch(a){return q({type:"error",message:Le(a,r??"Request failed.")}),null}}const hr={fetch:Je,schemaMutation:Ze,safeFetch:Qe};export{b as A,hr as a,lr as b,q as c,dr as d,ir as e,z as f,or as g,ur as h,sr as i,W as j,fr as m,Ke as r,cr as t};
1
+ var ge=Object.defineProperty;var _e=(e,r,a)=>r in e?ge(e,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[r]=a;var F=(e,r,a)=>_e(e,typeof r!="symbol"?r+"":r,a);import{a2 as B,x as me,au as he,h as D,n as L,v as Ee,e as we,g as ie,y as Te,A as Ae,B as oe,D as P,k as U,C as ye,av as Ie,aw as fe,_ as Ne,ax as w,a3 as Y,ay as Se,a5 as xe,X as Re,az as Ce,aA as J,aB as De,aC as He,a7 as Oe,aD as ue,aE as be,$ as ve,a1 as pe,aF as V,I as ke,aG as Me,aH as Fe,aI as Ue,a0 as ze,l as $e,M as Z}from"./BdTBlfLy.js";import{g as G}from"./Bn2NtlTj.js";import{g as qe,a as X}from"./DnpbvAPi.js";import{l as Be,d as le}from"./Tea2dBJ8.js";import{d as Le}from"./CjcrXziO.js";function sr(e,r){return r}function Pe(e,r,a){for(var u=[],f=r.length,o,l=r.length,v=0;v<f;v++){let m=r[v];pe(m,()=>{if(o){if(o.pending.delete(m),o.done.add(m),o.pending.size===0){var c=e.outrogroups;K(J(o.done)),c.delete(o),c.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var i=u.length===0&&a!==null;if(i){var d=a,t=d.parentNode;Ue(t),t.append(d),e.items.clear()}K(r,!i)}else o={pending:new Set(r),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(o)}function K(e,r=!0){for(var a=0;a<e.length;a++)ze(e[a],r)}var ce;function ir(e,r,a,u,f,o=null){var l=e,v=new Map,i=(r&he)!==0;if(i){var d=e;l=D?L(Ee(d)):d.appendChild(B())}D&&we();var t=null,m=Re(()=>{var s=a();return Ce(s)?s:s==null?[]:J(s)}),c,h=!0;function A(){n.fallback=t,Ve(n,c,l,r,u),t!==null&&(c.length===0?(t.f&w)===0?ve(t):(t.f^=w,O(t,null,l)):pe(t,()=>{t=null}))}var N=me(()=>{c=ie(m);var s=c.length;let S=!1;if(D){var x=Te(l)===Ae;x!==(s===0)&&(l=oe(),L(l),P(!1),S=!0)}for(var g=new Set,y=Ne,R=xe(),p=0;p<s;p+=1){D&&U.nodeType===ye&&U.data===Ie&&(l=U,S=!0,P(!1));var I=c[p],C=u(I,p),_=h?null:v.get(C);_?(_.v&&fe(_.v,I),_.i&&fe(_.i,p),R&&y.unskip_effect(_.e)):(_=Xe(v,h?l:ce??(ce=B()),I,C,p,f,r,a),h||(_.e.f|=w),v.set(C,_)),g.add(C)}if(s===0&&o&&!t&&(h?t=Y(()=>o(l)):(t=Y(()=>o(ce??(ce=B()))),t.f|=w)),s>g.size&&Se(),D&&s>0&&L(oe()),!h)if(R){for(const[k,M]of v)g.has(k)||y.skip_effect(M.e);y.oncommit(A),y.ondiscard(()=>{})}else A();S&&P(!0),ie(m)}),n={effect:N,items:v,outrogroups:null,fallback:t};h=!1,D&&(l=U)}function H(e){for(;e!==null&&(e.f&Me)===0;)e=e.next;return e}function Ve(e,r,a,u,f){var _,k,M,j,ee,re,ae,ne,te;var o=(u&Fe)!==0,l=r.length,v=e.items,i=H(e.effect.first),d,t=null,m,c=[],h=[],A,N,n,s;if(o)for(s=0;s<l;s+=1)A=r[s],N=f(A,s),n=v.get(N).e,(n.f&w)===0&&((k=(_=n.nodes)==null?void 0:_.a)==null||k.measure(),(m??(m=new Set)).add(n));for(s=0;s<l;s+=1){if(A=r[s],N=f(A,s),n=v.get(N).e,e.outrogroups!==null)for(const E of e.outrogroups)E.pending.delete(n),E.done.delete(n);if((n.f&w)!==0)if(n.f^=w,n===i)O(n,null,a);else{var S=t?t.next:i;n===e.effect.last&&(e.effect.last=n.prev),n.prev&&(n.prev.next=n.next),n.next&&(n.next.prev=n.prev),T(e,t,n),T(e,n,S),O(n,S,a),t=n,c=[],h=[],i=H(t.next);continue}if((n.f&V)!==0&&(ve(n),o&&((j=(M=n.nodes)==null?void 0:M.a)==null||j.unfix(),(m??(m=new Set)).delete(n))),n!==i){if(d!==void 0&&d.has(n)){if(c.length<h.length){var x=h[0],g;t=x.prev;var y=c[0],R=c[c.length-1];for(g=0;g<c.length;g+=1)O(c[g],x,a);for(g=0;g<h.length;g+=1)d.delete(h[g]);T(e,y.prev,R.next),T(e,t,y),T(e,R,x),i=x,t=R,s-=1,c=[],h=[]}else d.delete(n),O(n,i,a),T(e,n.prev,n.next),T(e,n,t===null?e.effect.first:t.next),T(e,t,n),t=n;continue}for(c=[],h=[];i!==null&&i!==n;)(d??(d=new Set)).add(i),h.push(i),i=H(i.next);if(i===null)continue}(n.f&w)===0&&c.push(n),t=n,i=H(n.next)}if(e.outrogroups!==null){for(const E of e.outrogroups)E.pending.size===0&&(K(J(E.done)),(ee=e.outrogroups)==null||ee.delete(E));e.outrogroups.size===0&&(e.outrogroups=null)}if(i!==null||d!==void 0){var p=[];if(d!==void 0)for(n of d)(n.f&V)===0&&p.push(n);for(;i!==null;)(i.f&V)===0&&i!==e.fallback&&p.push(i),i=H(i.next);var I=p.length;if(I>0){var C=(u&he)!==0&&l===0?a:null;if(o){for(s=0;s<I;s+=1)(ae=(re=p[s].nodes)==null?void 0:re.a)==null||ae.measure();for(s=0;s<I;s+=1)(te=(ne=p[s].nodes)==null?void 0:ne.a)==null||te.fix()}Pe(e,p,C)}}o&&ke(()=>{var E,se;if(m!==void 0)for(n of m)(se=(E=n.nodes)==null?void 0:E.a)==null||se.apply()})}function Xe(e,r,a,u,f,o,l,v){var i=(l&De)!==0?(l&He)===0?Oe(a,!1,!1):ue(a):null,d=(l&be)!==0?ue(f):null;return{v:i,i:d,e:Y(()=>(o(r,i??a,d??f,v),()=>{e.delete(u)}))}}function O(e,r,a){if(e.nodes)for(var u=e.nodes.start,f=e.nodes.end,o=r&&(r.f&w)===0?r.nodes.start:a;u!==null;){var l=$e(u);if(o.before(u),u===f)return;u=l}}function T(e,r,a){r===null?e.effect.first=a:r.next=a,a===null?e.effect.last=r:a.prev=r}const Ye={success:3e3,error:5e3,info:4e3,warning:4e3},de=50;let Ge=1,W=Z([]),z=Z([]);const $=Z({count:0});function or(){return $.count}function q(e){const r=Ge++,a={id:r,...e};W.push(a),z.unshift({...a,timestamp:Date.now()}),z.length>de&&(z.length=de),$.count++;const u=Ye[e.type];return setTimeout(()=>{Ke(r)},u),r}function Ke(e){const r=W.findIndex(a=>a.id===e);r!==-1&&W.splice(r,1)}function fr(){$.count=0}function ur(){z.length=0,$.count=0}function lr(e){return q({type:"success",message:e})}function cr(e){return q({type:"error",message:e})}function dr(e){return q({type:"info",message:e})}class b extends Error{constructor(a,u,f,o){super(f);F(this,"code");F(this,"status");F(this,"data");this.name="ApiError",this.status=a,this.code=u,this.data=o}}async function We(e){try{const r=await e.json();return{code:r.code??"UNKNOWN",message:r.message??(e.statusText||`Request failed with HTTP ${e.status}`),data:r.data}}catch{return{code:"UNKNOWN",message:e.statusText||`Request failed with HTTP ${e.status}`}}}async function Q(e,r={}){const a=G(X),u={"Content-Type":"application/json",...r.headers};a.accessToken&&(u.Authorization=`Bearer ${a.accessToken}`);const f=await fetch(e,{method:r.method??"GET",headers:u,body:r.body!==void 0?JSON.stringify(r.body):void 0});if(f.status===401&&!r._skipRefresh){if(await X.refresh())return Q(e,{...r,_skipRefresh:!0});throw X.logout(),new b(401,"UNAUTHORIZED","Session expired. Sign in again to continue.")}if(!f.ok){const o=await We(f);throw new b(f.status,o.code,o.message,o.data)}if(f.status!==204)return f.json()}async function Je(e,r={}){const a=qe(e);return Q(a,r)}async function Ze(e,r={}){let a=G(le);if(a.loaded||(await Be(),a=G(le)),!a.devMode||a.sidecarPort===null)throw new b(0,"NOT_DEV_MODE","Schema mutations require dev mode with sidecar");const u=`http://localhost:${a.sidecarPort}/${e}`;try{return await Q(u,r)}catch(f){throw f instanceof b&&f.status===404?new b(404,f.code,"This dashboard action is not available on the current dev sidecar yet. Restart `pnpm dev` and try again."):f}}async function Qe(e,r){try{return await e()}catch(a){return q({type:"error",message:Le(a,r??"Request failed.")}),null}}const hr={fetch:Je,schemaMutation:Ze,safeFetch:Qe};export{b as A,hr as a,lr as b,q as c,dr as d,ir as e,z as f,or as g,ur as h,sr as i,W as j,fr as m,Ke as r,cr as t};
@@ -1 +1 @@
1
- import{b as s}from"./Q3vAxeY-.js";import{g as c}from"./CbfX3ELZ.js";import{d as f}from"./CjcrXziO.js";const i="http://edgebase.local",n=`${s}/login`,r="edgebase_admin_manual_logout";function u(t){return`${t.pathname}${t.search}${t.hash}`}function g(t){return s?t===s||t.startsWith(`${s}/`):t.startsWith("/")}function a(t){if(!t)return null;try{const e=typeof t=="string"?new URL(t,i):t;return!g(e.pathname)||e.pathname===n||e.pathname===`${n}/`?null:u(e)}catch{return null}}function d(t){const e=a(t);if(!e)return n;const o=new URL(n,i);return o.searchParams.set("next",e),u(o)}function p(t){return a(t.searchParams.get("next"))??a(t.searchParams.get("returnTo"))??`${s}/`}function P(){if(!(typeof sessionStorage>"u"))try{sessionStorage.setItem(r,"1")}catch{}}function L(){if(typeof sessionStorage>"u")return!1;try{const t=sessionStorage.getItem(r)==="1";return sessionStorage.removeItem(r),t}catch{return!1}}async function A(){const t=await fetch(c("setup/status"));if(!t.ok){const e=await t.json().catch(()=>null);throw new Error(f({status:t.status,message:typeof(e==null?void 0:e.message)=="string"?e.message:void 0},"Failed to load setup status.",{hint:"Refresh the admin page after the EdgeBase dev server finishes booting."}))}return t.json()}export{d as b,L as c,A as f,p as g,P as m};
1
+ import{b as s}from"./qKdzaeX3.js";import{g as c}from"./DnpbvAPi.js";import{d as f}from"./CjcrXziO.js";const i="http://edgebase.local",n=`${s}/login`,r="edgebase_admin_manual_logout";function u(t){return`${t.pathname}${t.search}${t.hash}`}function g(t){return s?t===s||t.startsWith(`${s}/`):t.startsWith("/")}function a(t){if(!t)return null;try{const e=typeof t=="string"?new URL(t,i):t;return!g(e.pathname)||e.pathname===n||e.pathname===`${n}/`?null:u(e)}catch{return null}}function d(t){const e=a(t);if(!e)return n;const o=new URL(n,i);return o.searchParams.set("next",e),u(o)}function p(t){return a(t.searchParams.get("next"))??a(t.searchParams.get("returnTo"))??`${s}/`}function P(){if(!(typeof sessionStorage>"u"))try{sessionStorage.setItem(r,"1")}catch{}}function L(){if(typeof sessionStorage>"u")return!1;try{const t=sessionStorage.getItem(r)==="1";return sessionStorage.removeItem(r),t}catch{return!1}}async function A(){const t=await fetch(c("setup/status"));if(!t.ok){const e=await t.json().catch(()=>null);throw new Error(f({status:t.status,message:typeof(e==null?void 0:e.message)=="string"?e.message:void 0},"Failed to load setup status.",{hint:"Refresh the admin page after the EdgeBase dev server finishes booting."}))}return t.json()}export{d as b,L as c,A as f,p as g,P as m};
@@ -1 +1 @@
1
- import"./CWj6FrbW.js";import{p as ut,c as m,s as k,r as u,t as M,a as ft,f as J,g as t,u as L,b as H,d as dt}from"./BdTBlfLy.js";import{s as N,d as Ft,a as _t,e as st}from"./DtZk82gG.js";import{a as s,f as F,t as ht,c as mt,d as O}from"./DEELgv7K.js";import{i as V}from"./Y22E1hJM.js";import{h as Rt}from"./DHWOQ9Ui.js";import{s as ot,c as G,a as l}from"./CjcrXziO.js";import{p as K}from"./F9_4wRrd.js";import{o as Ct}from"./Bn2NtlTj.js";import{e as tt,i as et}from"./CrwlCAM0.js";import{b as Vt}from"./CGgVJi7f.js";var At=F('<div class="metric-card__icon svelte-7o0g6k"><!></div>'),Ht=F('<span class="metric-card__skeleton svelte-7o0g6k"></span>'),It=F('<span class="metric-card__unit svelte-7o0g6k"> </span>'),Kt=F(" <!>",1),Nt=F("<div><!> </div>"),Pt=F('<div><!> <div class="metric-card__body svelte-7o0g6k"><div class="metric-card__label svelte-7o0g6k"> </div> <div class="metric-card__value svelte-7o0g6k"><!></div> <!></div></div>');function ie(at,a){ut(a,!0);let X=K(a,"loading",3,!1);const E=L(()=>()=>typeof a.value=="string"?a.value:a.value>=1e6?`${(a.value/1e6).toFixed(1)}M`:a.value>=1e3?`${(a.value/1e3).toFixed(1)}K`:Number.isInteger(a.value)?a.value.toLocaleString():a.value.toFixed(1)),W=L(()=>()=>a.trend==null?"":a.trend>0?"metric-card__trend--up":a.trend<0?"metric-card__trend--down":"");var I=Pt();let Q;var Z=m(I);{var rt=_=>{var h=At(),A=m(h);Rt(A,()=>a.icon),u(h),s(_,h)};V(Z,_=>{a.icon&&_(rt)})}var P=k(Z,2),j=m(P),c=m(j,!0);u(j);var D=k(j,2),R=m(D);{var U=_=>{var h=Ht();s(_,h)},lt=_=>{var h=Kt(),A=J(h),i=k(A);{var q=C=>{var g=It(),S=m(g,!0);u(g),M(()=>N(S,a.unit)),s(C,g)};V(i,C=>{a.unit&&C(q)})}M(C=>N(A,`${C??""} `),[()=>t(E)()]),s(_,h)};V(R,_=>{X()?_(U):_(lt,!1)})}u(D);var f=k(D,2);{var nt=_=>{var h=Nt(),A=m(h);{var i=g=>{var S=ht("↑");s(g,S)},q=g=>{var S=ht("↓");s(g,S)};V(A,g=>{a.trend>0?g(i):a.trend<0&&g(q,1)})}var C=k(A);u(h),M((g,S)=>{ot(h,1,`metric-card__trend ${g??""}`,"svelte-7o0g6k"),N(C,` ${S??""}%`)},[()=>t(W)(),()=>Math.abs(a.trend).toFixed(1)]),s(_,h)};V(f,_=>{a.trend!=null&&!X()&&_(nt)})}u(P),u(I),M(()=>{Q=ot(I,1,"metric-card svelte-7o0g6k",null,Q,{"metric-card--loading":X()}),N(c,a.label)}),s(at,I),ft()}var jt=F('<div class="time-chart__label svelte-1n9i6hv"> </div>'),Et=F('<div class="time-chart__loading svelte-1n9i6hv"><div class="time-chart__skeleton svelte-1n9i6hv"></div></div>'),Wt=F('<div class="time-chart__empty svelte-1n9i6hv">No data available</div>'),zt=O('<line class="time-chart__grid svelte-1n9i6hv"></line><text class="time-chart__axis-label svelte-1n9i6hv" text-anchor="end"> </text>',1),Bt=O('<text class="time-chart__axis-label svelte-1n9i6hv" text-anchor="middle"> </text>'),Gt=O('<circle r="4" class="time-chart__dot svelte-1n9i6hv"></circle>'),Ot=O('<path class="time-chart__area svelte-1n9i6hv"></path><path class="time-chart__line svelte-1n9i6hv"></path><!>',1),Xt=O('<rect rx="2"></rect>'),Zt=O('<g class="time-chart__tooltip-group svelte-1n9i6hv"><line class="time-chart__guide svelte-1n9i6hv"></line><rect width="72" height="22" rx="4" class="time-chart__tooltip-bg svelte-1n9i6hv"></rect><text class="time-chart__tooltip-text svelte-1n9i6hv" text-anchor="middle"> </text></g>'),qt=F('<button type="button" class="time-chart__canvas svelte-1n9i6hv"><svg class="time-chart__svg svelte-1n9i6hv" aria-hidden="true"><!><!><!><!></svg></button>'),Jt=F('<div class="time-chart svelte-1n9i6hv"><!> <!></div>');function ve(at,a){ut(a,!0);let X=K(a,"type",3,"line"),E=K(a,"height",3,200),W=K(a,"color",3,"var(--color-primary)"),I=K(a,"label",3,""),Q=K(a,"loading",3,!1),Z=K(a,"formatValue",3,e=>e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))),rt=K(a,"formatTime",3,e=>{const r=new Date(e);return`${r.getHours().toString().padStart(2,"0")}:${r.getMinutes().toString().padStart(2,"0")}`}),P,j=dt(600);const c={top:20,right:16,bottom:28,left:48},D=L(()=>t(j)-c.left-c.right),R=L(()=>E()-c.top-c.bottom),U=L(()=>()=>{if(!a.data.length)return 1;const e=Math.max(...a.data.map(r=>r.value));return e===0?1:e*1.1}),lt=L(()=>()=>{const e=t(U)();return[0,e*.25,e*.5,e*.75,e].map(r=>({value:r,label:Z()(r),y:c.top+t(R)-r/e*t(R)}))}),f=L(()=>()=>{if(!a.data.length)return[];const e=a.data.length>1?t(D)/(a.data.length-1):t(D)/2,r=t(U)();return a.data.map((n,w)=>({x:c.left+(a.data.length>1?w*e:t(D)/2),y:c.top+t(R)-n.value/r*t(R),value:n.value,timestamp:n.timestamp}))}),nt=L(()=>()=>{const e=t(f)();return e.length?e.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`).join(" "):""}),_=L(()=>()=>{const e=t(f)();if(!e.length)return"";const r=e.map((w,z)=>`${z===0?"M":"L"}${w.x},${w.y}`).join(" "),n=c.top+t(R);return`${r} L${e[e.length-1].x},${n} L${e[0].x},${n} Z`}),h=L(()=>()=>a.data.length<=1?Math.min(40,t(D)):Math.max(2,t(D)/a.data.length-2)),A=L(()=>()=>{const e=t(f)();if(!e.length)return[];const r=Math.max(1,Math.floor(e.length/6));return e.filter((n,w)=>w%r===0||w===e.length-1).map(n=>({x:n.x,label:rt()(n.timestamp)}))});let i=dt(null);function q(e){const r=P.getBoundingClientRect(),n=e.clientX-r.left-c.left,w=t(f)();if(!w.length)return;const z=a.data.length>1?t(D)/(a.data.length-1):t(D),Y=Math.round(n/z);H(i,Math.max(0,Math.min(w.length-1,Y)),!0)}function C(){H(i,null)}function g(e){a.data.length&&(e.key==="ArrowRight"?(e.preventDefault(),H(i,t(i)==null?0:Math.min(t(f)().length-1,t(i)+1),!0)):e.key==="ArrowLeft"?(e.preventDefault(),H(i,t(i)==null?t(f)().length-1:Math.max(0,t(i)-1),!0)):e.key==="Home"?(e.preventDefault(),H(i,0)):e.key==="End"?(e.preventDefault(),H(i,t(f)().length-1)):e.key==="Escape"&&H(i,null))}Ct(()=>{const e=new ResizeObserver(r=>{for(const n of r)H(j,n.contentRect.width,!0)});return e.observe(P),()=>e.disconnect()});var S=Jt(),ct=m(S);{var gt=e=>{var r=jt(),n=m(r,!0);u(r),M(()=>N(n,I())),s(e,r)};V(ct,e=>{I()&&e(gt)})}var xt=k(ct,2);{var yt=e=>{var r=Et();M(()=>G(r,`height: ${E()??""}px`)),s(e,r)},bt=e=>{var r=Wt();M(()=>G(r,`height: ${E()??""}px`)),s(e,r)},Mt=e=>{var r=qt(),n=m(r),w=m(n);tt(w,17,()=>t(lt)(),et,(x,v)=>{var d=zt(),o=J(d),y=k(o),T=m(y,!0);u(y),M(()=>{l(o,"x1",c.left),l(o,"y1",t(v).y),l(o,"x2",c.left+t(D)),l(o,"y2",t(v).y),l(y,"x",c.left-8),l(y,"y",t(v).y+4),N(T,t(v).label)}),s(x,d)});var z=k(w);tt(z,17,()=>t(A)(),et,(x,v)=>{var d=Bt(),o=m(d,!0);u(d),M(()=>{l(d,"x",t(v).x),l(d,"y",c.top+t(R)+18),N(o,t(v).label)}),s(x,d)});var Y=k(z);{var kt=x=>{var v=Ot(),d=J(v),o=k(d),y=k(o);tt(y,17,()=>t(f)(),et,(T,b,B)=>{var p=mt(),it=J(p);{var Tt=vt=>{var $=Gt();M(()=>{l($,"cx",t(b).x),l($,"cy",t(b).y),G($,`fill: ${W()??""}`)}),s(vt,$)};V(it,vt=>{B===t(i)&&vt(Tt)})}s(T,p)}),M((T,b)=>{l(d,"d",T),G(d,`fill: ${W()??""}`),l(o,"d",b),G(o,`stroke: ${W()??""}`)},[()=>t(_)(),()=>t(nt)()]),s(x,v)},wt=x=>{var v=mt(),d=J(v);tt(d,17,()=>t(f)(),et,(o,y,T)=>{var b=Xt();let B;M((p,it)=>{l(b,"x",p),l(b,"y",t(y).y),l(b,"width",it),l(b,"height",c.top+t(R)-t(y).y),B=ot(b,0,"time-chart__bar svelte-1n9i6hv",null,B,{"time-chart__bar--active":T===t(i)}),G(b,`fill: ${W()??""}`)},[()=>t(y).x-t(h)()/2,()=>t(h)()]),s(o,b)}),s(x,v)};V(Y,x=>{X()==="line"?x(kt):x(wt,!1)})}var Lt=k(Y);{var Dt=x=>{const v=L(()=>t(f)()[t(i)]);var d=Zt(),o=m(d),y=k(o),T=k(y),b=m(T,!0);u(T),u(d),M(B=>{l(o,"x1",t(v).x),l(o,"y1",c.top),l(o,"x2",t(v).x),l(o,"y2",c.top+t(R)),l(y,"x",t(v).x-36),l(y,"y",t(v).y-28),l(T,"x",t(v).x),l(T,"y",t(v).y-14),N(b,B)},[()=>Z()(t(v).value)]),s(x,d)},St=L(()=>t(i)!=null&&t(f)()[t(i)]);V(Lt,x=>{t(St)&&x(Dt)})}u(n),u(r),M(()=>{l(r,"aria-label",I()||"Time series chart"),l(n,"width",t(j)),l(n,"height",E())}),_t("mousemove",r,q),st("mouseleave",r,C),st("focus",r,()=>{t(i)==null&&t(f)().length>0&&H(i,0)}),st("blur",r,C),_t("keydown",r,g),s(e,r)};V(xt,e=>{Q()?e(yt):a.data.length?e(Mt,!1):e(bt,1)})}u(S),Vt(S,e=>P=e,()=>P),s(at,S),ft()}Ft(["mousemove","keydown"]);export{ie as M,ve as T};
1
+ import"./CWj6FrbW.js";import{p as ut,c as m,s as k,r as u,t as M,a as ft,f as J,g as t,u as L,b as H,d as dt}from"./BdTBlfLy.js";import{s as N,d as Ft,a as _t,e as st}from"./DtZk82gG.js";import{a as s,f as F,t as ht,c as mt,d as O}from"./DEELgv7K.js";import{i as V}from"./Y22E1hJM.js";import{h as Rt}from"./DHWOQ9Ui.js";import{s as ot,c as G,a as l}from"./CjcrXziO.js";import{p as K}from"./F9_4wRrd.js";import{o as Ct}from"./Bn2NtlTj.js";import{e as tt,i as et}from"./CvczjTXx.js";import{b as Vt}from"./CGgVJi7f.js";var At=F('<div class="metric-card__icon svelte-7o0g6k"><!></div>'),Ht=F('<span class="metric-card__skeleton svelte-7o0g6k"></span>'),It=F('<span class="metric-card__unit svelte-7o0g6k"> </span>'),Kt=F(" <!>",1),Nt=F("<div><!> </div>"),Pt=F('<div><!> <div class="metric-card__body svelte-7o0g6k"><div class="metric-card__label svelte-7o0g6k"> </div> <div class="metric-card__value svelte-7o0g6k"><!></div> <!></div></div>');function ie(at,a){ut(a,!0);let X=K(a,"loading",3,!1);const E=L(()=>()=>typeof a.value=="string"?a.value:a.value>=1e6?`${(a.value/1e6).toFixed(1)}M`:a.value>=1e3?`${(a.value/1e3).toFixed(1)}K`:Number.isInteger(a.value)?a.value.toLocaleString():a.value.toFixed(1)),W=L(()=>()=>a.trend==null?"":a.trend>0?"metric-card__trend--up":a.trend<0?"metric-card__trend--down":"");var I=Pt();let Q;var Z=m(I);{var rt=_=>{var h=At(),A=m(h);Rt(A,()=>a.icon),u(h),s(_,h)};V(Z,_=>{a.icon&&_(rt)})}var P=k(Z,2),j=m(P),c=m(j,!0);u(j);var D=k(j,2),R=m(D);{var U=_=>{var h=Ht();s(_,h)},lt=_=>{var h=Kt(),A=J(h),i=k(A);{var q=C=>{var g=It(),S=m(g,!0);u(g),M(()=>N(S,a.unit)),s(C,g)};V(i,C=>{a.unit&&C(q)})}M(C=>N(A,`${C??""} `),[()=>t(E)()]),s(_,h)};V(R,_=>{X()?_(U):_(lt,!1)})}u(D);var f=k(D,2);{var nt=_=>{var h=Nt(),A=m(h);{var i=g=>{var S=ht("↑");s(g,S)},q=g=>{var S=ht("↓");s(g,S)};V(A,g=>{a.trend>0?g(i):a.trend<0&&g(q,1)})}var C=k(A);u(h),M((g,S)=>{ot(h,1,`metric-card__trend ${g??""}`,"svelte-7o0g6k"),N(C,` ${S??""}%`)},[()=>t(W)(),()=>Math.abs(a.trend).toFixed(1)]),s(_,h)};V(f,_=>{a.trend!=null&&!X()&&_(nt)})}u(P),u(I),M(()=>{Q=ot(I,1,"metric-card svelte-7o0g6k",null,Q,{"metric-card--loading":X()}),N(c,a.label)}),s(at,I),ft()}var jt=F('<div class="time-chart__label svelte-1n9i6hv"> </div>'),Et=F('<div class="time-chart__loading svelte-1n9i6hv"><div class="time-chart__skeleton svelte-1n9i6hv"></div></div>'),Wt=F('<div class="time-chart__empty svelte-1n9i6hv">No data available</div>'),zt=O('<line class="time-chart__grid svelte-1n9i6hv"></line><text class="time-chart__axis-label svelte-1n9i6hv" text-anchor="end"> </text>',1),Bt=O('<text class="time-chart__axis-label svelte-1n9i6hv" text-anchor="middle"> </text>'),Gt=O('<circle r="4" class="time-chart__dot svelte-1n9i6hv"></circle>'),Ot=O('<path class="time-chart__area svelte-1n9i6hv"></path><path class="time-chart__line svelte-1n9i6hv"></path><!>',1),Xt=O('<rect rx="2"></rect>'),Zt=O('<g class="time-chart__tooltip-group svelte-1n9i6hv"><line class="time-chart__guide svelte-1n9i6hv"></line><rect width="72" height="22" rx="4" class="time-chart__tooltip-bg svelte-1n9i6hv"></rect><text class="time-chart__tooltip-text svelte-1n9i6hv" text-anchor="middle"> </text></g>'),qt=F('<button type="button" class="time-chart__canvas svelte-1n9i6hv"><svg class="time-chart__svg svelte-1n9i6hv" aria-hidden="true"><!><!><!><!></svg></button>'),Jt=F('<div class="time-chart svelte-1n9i6hv"><!> <!></div>');function ve(at,a){ut(a,!0);let X=K(a,"type",3,"line"),E=K(a,"height",3,200),W=K(a,"color",3,"var(--color-primary)"),I=K(a,"label",3,""),Q=K(a,"loading",3,!1),Z=K(a,"formatValue",3,e=>e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))),rt=K(a,"formatTime",3,e=>{const r=new Date(e);return`${r.getHours().toString().padStart(2,"0")}:${r.getMinutes().toString().padStart(2,"0")}`}),P,j=dt(600);const c={top:20,right:16,bottom:28,left:48},D=L(()=>t(j)-c.left-c.right),R=L(()=>E()-c.top-c.bottom),U=L(()=>()=>{if(!a.data.length)return 1;const e=Math.max(...a.data.map(r=>r.value));return e===0?1:e*1.1}),lt=L(()=>()=>{const e=t(U)();return[0,e*.25,e*.5,e*.75,e].map(r=>({value:r,label:Z()(r),y:c.top+t(R)-r/e*t(R)}))}),f=L(()=>()=>{if(!a.data.length)return[];const e=a.data.length>1?t(D)/(a.data.length-1):t(D)/2,r=t(U)();return a.data.map((n,w)=>({x:c.left+(a.data.length>1?w*e:t(D)/2),y:c.top+t(R)-n.value/r*t(R),value:n.value,timestamp:n.timestamp}))}),nt=L(()=>()=>{const e=t(f)();return e.length?e.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`).join(" "):""}),_=L(()=>()=>{const e=t(f)();if(!e.length)return"";const r=e.map((w,z)=>`${z===0?"M":"L"}${w.x},${w.y}`).join(" "),n=c.top+t(R);return`${r} L${e[e.length-1].x},${n} L${e[0].x},${n} Z`}),h=L(()=>()=>a.data.length<=1?Math.min(40,t(D)):Math.max(2,t(D)/a.data.length-2)),A=L(()=>()=>{const e=t(f)();if(!e.length)return[];const r=Math.max(1,Math.floor(e.length/6));return e.filter((n,w)=>w%r===0||w===e.length-1).map(n=>({x:n.x,label:rt()(n.timestamp)}))});let i=dt(null);function q(e){const r=P.getBoundingClientRect(),n=e.clientX-r.left-c.left,w=t(f)();if(!w.length)return;const z=a.data.length>1?t(D)/(a.data.length-1):t(D),Y=Math.round(n/z);H(i,Math.max(0,Math.min(w.length-1,Y)),!0)}function C(){H(i,null)}function g(e){a.data.length&&(e.key==="ArrowRight"?(e.preventDefault(),H(i,t(i)==null?0:Math.min(t(f)().length-1,t(i)+1),!0)):e.key==="ArrowLeft"?(e.preventDefault(),H(i,t(i)==null?t(f)().length-1:Math.max(0,t(i)-1),!0)):e.key==="Home"?(e.preventDefault(),H(i,0)):e.key==="End"?(e.preventDefault(),H(i,t(f)().length-1)):e.key==="Escape"&&H(i,null))}Ct(()=>{const e=new ResizeObserver(r=>{for(const n of r)H(j,n.contentRect.width,!0)});return e.observe(P),()=>e.disconnect()});var S=Jt(),ct=m(S);{var gt=e=>{var r=jt(),n=m(r,!0);u(r),M(()=>N(n,I())),s(e,r)};V(ct,e=>{I()&&e(gt)})}var xt=k(ct,2);{var yt=e=>{var r=Et();M(()=>G(r,`height: ${E()??""}px`)),s(e,r)},bt=e=>{var r=Wt();M(()=>G(r,`height: ${E()??""}px`)),s(e,r)},Mt=e=>{var r=qt(),n=m(r),w=m(n);tt(w,17,()=>t(lt)(),et,(x,v)=>{var d=zt(),o=J(d),y=k(o),T=m(y,!0);u(y),M(()=>{l(o,"x1",c.left),l(o,"y1",t(v).y),l(o,"x2",c.left+t(D)),l(o,"y2",t(v).y),l(y,"x",c.left-8),l(y,"y",t(v).y+4),N(T,t(v).label)}),s(x,d)});var z=k(w);tt(z,17,()=>t(A)(),et,(x,v)=>{var d=Bt(),o=m(d,!0);u(d),M(()=>{l(d,"x",t(v).x),l(d,"y",c.top+t(R)+18),N(o,t(v).label)}),s(x,d)});var Y=k(z);{var kt=x=>{var v=Ot(),d=J(v),o=k(d),y=k(o);tt(y,17,()=>t(f)(),et,(T,b,B)=>{var p=mt(),it=J(p);{var Tt=vt=>{var $=Gt();M(()=>{l($,"cx",t(b).x),l($,"cy",t(b).y),G($,`fill: ${W()??""}`)}),s(vt,$)};V(it,vt=>{B===t(i)&&vt(Tt)})}s(T,p)}),M((T,b)=>{l(d,"d",T),G(d,`fill: ${W()??""}`),l(o,"d",b),G(o,`stroke: ${W()??""}`)},[()=>t(_)(),()=>t(nt)()]),s(x,v)},wt=x=>{var v=mt(),d=J(v);tt(d,17,()=>t(f)(),et,(o,y,T)=>{var b=Xt();let B;M((p,it)=>{l(b,"x",p),l(b,"y",t(y).y),l(b,"width",it),l(b,"height",c.top+t(R)-t(y).y),B=ot(b,0,"time-chart__bar svelte-1n9i6hv",null,B,{"time-chart__bar--active":T===t(i)}),G(b,`fill: ${W()??""}`)},[()=>t(y).x-t(h)()/2,()=>t(h)()]),s(o,b)}),s(x,v)};V(Y,x=>{X()==="line"?x(kt):x(wt,!1)})}var Lt=k(Y);{var Dt=x=>{const v=L(()=>t(f)()[t(i)]);var d=Zt(),o=m(d),y=k(o),T=k(y),b=m(T,!0);u(T),u(d),M(B=>{l(o,"x1",t(v).x),l(o,"y1",c.top),l(o,"x2",t(v).x),l(o,"y2",c.top+t(R)),l(y,"x",t(v).x-36),l(y,"y",t(v).y-28),l(T,"x",t(v).x),l(T,"y",t(v).y-14),N(b,B)},[()=>Z()(t(v).value)]),s(x,d)},St=L(()=>t(i)!=null&&t(f)()[t(i)]);V(Lt,x=>{t(St)&&x(Dt)})}u(n),u(r),M(()=>{l(r,"aria-label",I()||"Time series chart"),l(n,"width",t(j)),l(n,"height",E())}),_t("mousemove",r,q),st("mouseleave",r,C),st("focus",r,()=>{t(i)==null&&t(f)().length>0&&H(i,0)}),st("blur",r,C),_t("keydown",r,g),s(e,r)};V(xt,e=>{Q()?e(yt):a.data.length?e(Mt,!1):e(bt,1)})}u(S),Vt(S,e=>P=e,()=>P),s(at,S),ft()}Ft(["mousemove","keydown"]);export{ie as M,ve as T};
@@ -1 +1 @@
1
- import{w as h,g as m}from"./Bn2NtlTj.js";import{b as g}from"./Q3vAxeY-.js";import{d as T}from"./CjcrXziO.js";function s(e){return e.replace(/\/+$/,"")}function k(e){return!e||e==="/"?"":(e.startsWith("/")?e:`/${e}`).replace(/\/+$/,"")}function u(e,n){const t=s(e),a=n.startsWith("/")?n:`/${n}`;return`${t}${a}`}const c=s(""),l=s(""),R=k(g);function p(){return l||window.location.origin}function f(){return c||p()}function i(e=""){const n=e.replace(/^\/+/,"");return u(f(),n?`/admin/api/${n}`:"/admin/api")}function $(e=""){return u(f(),e||"/")}async function d(e,n){const t=await e.json().catch(()=>null);return new Error(T({status:e.status,message:typeof(t==null?void 0:t.message)=="string"?t.message:void 0},n))}const y="edgebase_admin_auth",o=y;function S(){try{const e=localStorage.getItem(o);if(e){const n=JSON.parse(e);return{accessToken:n.accessToken??null,refreshToken:n.refreshToken??null,admin:n.admin??null}}}catch{try{localStorage.removeItem(o)}catch{}}return{accessToken:null,refreshToken:null,admin:null}}function w(e){try{localStorage.setItem(o,JSON.stringify(e))}catch{console.warn("[EdgeBase] Failed to save auth state to localStorage")}}function A(){try{localStorage.removeItem(o)}catch{console.warn("[EdgeBase] Failed to clear auth state from localStorage")}}const O=S(),r=h(O);r.subscribe(e=>{e.accessToken?w(e):A()});async function b(e,n){const t=await fetch(i("auth/login"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,password:n})});if(!t.ok)throw await d(t,"Login failed. Please check your email and password.");const a=await t.json();r.set({accessToken:a.accessToken,refreshToken:a.refreshToken,admin:a.admin})}async function E(e,n){const t=await fetch(i("setup"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,password:n})});if(!t.ok)throw await d(t,"Failed to create admin account. Please check your details and try again.");const a=await t.json();r.set({accessToken:a.accessToken,refreshToken:a.refreshToken,admin:a.admin})}async function P(){const e=m(r);if(!e.refreshToken)return!1;try{const n=await fetch(i("auth/refresh"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e.refreshToken})});if(!n.ok)return!1;const t=await n.json();return r.set({accessToken:t.accessToken,refreshToken:t.refreshToken,admin:t.admin}),!0}catch{return!1}}function I(){r.set({accessToken:null,refreshToken:null,admin:null})}const z={subscribe:r.subscribe,set:r.set,update:r.update,login:b,setup:E,refresh:P,logout:I};export{y as A,z as a,f as b,$ as c,R as d,i as g};
1
+ import{w as h,g as m}from"./Bn2NtlTj.js";import{b as g}from"./qKdzaeX3.js";import{d as T}from"./CjcrXziO.js";function s(e){return e.replace(/\/+$/,"")}function k(e){return!e||e==="/"?"":(e.startsWith("/")?e:`/${e}`).replace(/\/+$/,"")}function u(e,n){const t=s(e),a=n.startsWith("/")?n:`/${n}`;return`${t}${a}`}const c=s(""),l=s(""),R=k(g);function p(){return l||window.location.origin}function f(){return c||p()}function i(e=""){const n=e.replace(/^\/+/,"");return u(f(),n?`/admin/api/${n}`:"/admin/api")}function $(e=""){return u(f(),e||"/")}async function d(e,n){const t=await e.json().catch(()=>null);return new Error(T({status:e.status,message:typeof(t==null?void 0:t.message)=="string"?t.message:void 0},n))}const y="edgebase_admin_auth",o=y;function S(){try{const e=localStorage.getItem(o);if(e){const n=JSON.parse(e);return{accessToken:n.accessToken??null,refreshToken:n.refreshToken??null,admin:n.admin??null}}}catch{try{localStorage.removeItem(o)}catch{}}return{accessToken:null,refreshToken:null,admin:null}}function w(e){try{localStorage.setItem(o,JSON.stringify(e))}catch{console.warn("[EdgeBase] Failed to save auth state to localStorage")}}function A(){try{localStorage.removeItem(o)}catch{console.warn("[EdgeBase] Failed to clear auth state from localStorage")}}const O=S(),r=h(O);r.subscribe(e=>{e.accessToken?w(e):A()});async function b(e,n){const t=await fetch(i("auth/login"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,password:n})});if(!t.ok)throw await d(t,"Login failed. Please check your email and password.");const a=await t.json();r.set({accessToken:a.accessToken,refreshToken:a.refreshToken,admin:a.admin})}async function E(e,n){const t=await fetch(i("setup"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:e,password:n})});if(!t.ok)throw await d(t,"Failed to create admin account. Please check your details and try again.");const a=await t.json();r.set({accessToken:a.accessToken,refreshToken:a.refreshToken,admin:a.admin})}async function P(){const e=m(r);if(!e.refreshToken)return!1;try{const n=await fetch(i("auth/refresh"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e.refreshToken})});if(!n.ok)return!1;const t=await n.json();return r.set({accessToken:t.accessToken,refreshToken:t.refreshToken,admin:t.admin}),!0}catch{return!1}}function I(){r.set({accessToken:null,refreshToken:null,admin:null})}const z={subscribe:r.subscribe,set:r.set,update:r.update,login:b,setup:E,refresh:P,logout:I};export{y as A,z as a,f as b,$ as c,R as d,i as g};
@@ -1 +1 @@
1
- import{s as e}from"./SQVAC3Cv.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};
1
+ import{s as e}from"./BaUG2TJ-.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};
@@ -1 +1 @@
1
- import{g as n,w as u}from"./Bn2NtlTj.js";import{a as l,g as f}from"./CbfX3ELZ.js";const e=u({devMode:!1,sidecarPort:null,loaded:!1});let d=null,i=!1;l.subscribe(s=>{const t=s.accessToken&&s.admin?s.admin.id:null;i&&d!==t&&c(),i=!0,d=t});async function v(){if(!n(e).loaded)try{const t=n(l),a={"Content-Type":"application/json"};t.accessToken&&(a.Authorization=`Bearer ${t.accessToken}`);const o=await fetch(f("data/dev-info"),{headers:a});if(o.status===401)return;if(!o.ok){e.set({devMode:!1,sidecarPort:null,loaded:!0});return}const r=await o.json();e.set({devMode:r.devMode,sidecarPort:r.sidecarPort??null,loaded:!0})}catch{e.set({devMode:!1,sidecarPort:null,loaded:!0})}}function c(){e.set({devMode:!1,sidecarPort:null,loaded:!1})}const h={subscribe:e.subscribe,loadDevInfo:v,reset:c};export{h as d,v as l};
1
+ import{g as n,w as u}from"./Bn2NtlTj.js";import{a as l,g as f}from"./DnpbvAPi.js";const e=u({devMode:!1,sidecarPort:null,loaded:!1});let d=null,i=!1;l.subscribe(s=>{const t=s.accessToken&&s.admin?s.admin.id:null;i&&d!==t&&c(),i=!0,d=t});async function v(){if(!n(e).loaded)try{const t=n(l),a={"Content-Type":"application/json"};t.accessToken&&(a.Authorization=`Bearer ${t.accessToken}`);const o=await fetch(f("data/dev-info"),{headers:a});if(o.status===401)return;if(!o.ok){e.set({devMode:!1,sidecarPort:null,loaded:!0});return}const r=await o.json();e.set({devMode:r.devMode,sidecarPort:r.sidecarPort??null,loaded:!0})}catch{e.set({devMode:!1,sidecarPort:null,loaded:!0})}}function c(){e.set({devMode:!1,sidecarPort:null,loaded:!1})}const h={subscribe:e.subscribe,loadDevInfo:v,reset:c};export{h as d,v as l};
@@ -1 +1 @@
1
- import"./CWj6FrbW.js";import{f as H,t as p,g as k,r as j,u as q}from"./BdTBlfLy.js";import{c as z,a as o,f as n}from"./DEELgv7K.js";import{i as B}from"./Y22E1hJM.js";import{e as C,i as D}from"./CrwlCAM0.js";import{s as g,c as x}from"./CjcrXziO.js";import{p as l}from"./F9_4wRrd.js";var E=n("<div></div>"),F=n('<div class="skeleton-lines svelte-19f3yks"></div>'),G=n("<div></div>");function P(y,r){let d=l(r,"width",3,"100%"),s=l(r,"height",3,"16px"),i=l(r,"variant",3,"text"),v=l(r,"lines",3,1);const m=q(()=>()=>i()==="card"?s()==="16px"?"120px":s():i()==="circle"&&s()==="16px"?"40px":s());var h=z(),u=H(h);{var w=t=>{var e=F();C(e,21,()=>Array(v()),D,(a,c,b)=>{var f=E();let _;p(A=>{g(f,1,`skeleton skeleton--${i()??""}`,"svelte-19f3yks"),_=x(f,"",_,A)},[()=>({width:b===v()-1?"60%":d(),height:k(m)()})]),o(a,f)}),j(e),o(t,e)},S=t=>{var e=G();let a;p(c=>{g(e,1,`skeleton skeleton--${i()??""}`,"svelte-19f3yks"),a=x(e,"",a,c)},[()=>({width:d(),height:k(m)()})]),o(t,e)};B(u,t=>{v()>1?t(w):t(S,!1)})}o(y,h)}export{P as S};
1
+ import"./CWj6FrbW.js";import{f as H,t as p,g as k,r as j,u as q}from"./BdTBlfLy.js";import{c as z,a as o,f as n}from"./DEELgv7K.js";import{i as B}from"./Y22E1hJM.js";import{e as C,i as D}from"./CvczjTXx.js";import{s as g,c as x}from"./CjcrXziO.js";import{p as l}from"./F9_4wRrd.js";var E=n("<div></div>"),F=n('<div class="skeleton-lines svelte-19f3yks"></div>'),G=n("<div></div>");function P(y,r){let d=l(r,"width",3,"100%"),s=l(r,"height",3,"16px"),i=l(r,"variant",3,"text"),v=l(r,"lines",3,1);const m=q(()=>()=>i()==="card"?s()==="16px"?"120px":s():i()==="circle"&&s()==="16px"?"40px":s());var h=z(),u=H(h);{var w=t=>{var e=F();C(e,21,()=>Array(v()),D,(a,c,b)=>{var f=E();let _;p(A=>{g(f,1,`skeleton skeleton--${i()??""}`,"svelte-19f3yks"),_=x(f,"",_,A)},[()=>({width:b===v()-1?"60%":d(),height:k(m)()})]),o(a,f)}),j(e),o(t,e)},S=t=>{var e=G();let a;p(c=>{g(e,1,`skeleton skeleton--${i()??""}`,"svelte-19f3yks"),a=x(e,"",a,c)},[()=>({width:d(),height:k(m)()})]),o(t,e)};B(u,t=>{v()>1?t(w):t(S,!1)})}o(y,h)}export{P as S};
@@ -1 +1 @@
1
- import"./CWj6FrbW.js";import{p as T,w as k,c,r as i,s as x,a as w,f as j,t as q,g as l}from"./BdTBlfLy.js";import{d as y,s as z,a as A}from"./DtZk82gG.js";import{s as B}from"./XmteHKH_.js";import{i as C}from"./Y22E1hJM.js";import{e as D}from"./CrwlCAM0.js";import{a as m,c as E,f as n}from"./DEELgv7K.js";import{s as F,a as G}from"./CjcrXziO.js";import{p as b}from"./F9_4wRrd.js";var H=n('<button role="tab"> </button>'),I=n('<div class="tabs svelte-h216gr"><div class="tabs__header svelte-h216gr" role="tablist"></div> <div class="tabs__content svelte-h216gr" role="tabpanel"><!></div></div>');function S(p,s){T(s,!0);let o=b(s,"tabs",19,()=>[]),r=b(s,"activeTab",15,"");k(()=>{!r()&&o().length>0&&r(o()[0].id)});var d=I(),v=c(d);D(v,21,o,t=>t.id,(t,e)=>{var a=H();let _;var u=c(a,!0);i(a),q(()=>{_=F(a,1,"tabs__tab svelte-h216gr",null,_,{"tabs__tab--active":r()===l(e).id}),G(a,"aria-selected",r()===l(e).id),z(u,l(e).label)}),A("click",a,()=>r(l(e).id)),m(t,a)}),i(v);var f=x(v,2),h=c(f);{var g=t=>{var e=E(),a=j(e);B(a,()=>s.children),m(t,e)};C(h,t=>{s.children&&t(g)})}i(f),i(d),m(p,d),w()}y(["click"]);export{S as T};
1
+ import"./CWj6FrbW.js";import{p as T,w as k,c,r as i,s as x,a as w,f as j,t as q,g as l}from"./BdTBlfLy.js";import{d as y,s as z,a as A}from"./DtZk82gG.js";import{s as B}from"./XmteHKH_.js";import{i as C}from"./Y22E1hJM.js";import{e as D}from"./CvczjTXx.js";import{a as m,c as E,f as n}from"./DEELgv7K.js";import{s as F,a as G}from"./CjcrXziO.js";import{p as b}from"./F9_4wRrd.js";var H=n('<button role="tab"> </button>'),I=n('<div class="tabs svelte-h216gr"><div class="tabs__header svelte-h216gr" role="tablist"></div> <div class="tabs__content svelte-h216gr" role="tabpanel"><!></div></div>');function S(p,s){T(s,!0);let o=b(s,"tabs",19,()=>[]),r=b(s,"activeTab",15,"");k(()=>{!r()&&o().length>0&&r(o()[0].id)});var d=I(),v=c(d);D(v,21,o,t=>t.id,(t,e)=>{var a=H();let _;var u=c(a,!0);i(a),q(()=>{_=F(a,1,"tabs__tab svelte-h216gr",null,_,{"tabs__tab--active":r()===l(e).id}),G(a,"aria-selected",r()===l(e).id),z(u,l(e).label)}),A("click",a,()=>r(l(e).id)),m(t,a)}),i(v);var f=x(v,2),h=c(f);{var g=t=>{var e=E(),a=j(e);B(a,()=>s.children),m(t,e)};C(h,t=>{s.children&&t(g)})}i(f),i(d),m(p,d),w()}y(["click"]);export{S as T};
@@ -1 +1 @@
1
- var x=t=>{throw TypeError(t)};var B=(t,e,n)=>e.has(t)||x("Cannot "+n);var a=(t,e,n)=>(B(t,e,"read from private field"),n?n.call(t):e.get(t)),c=(t,e,n)=>e.has(t)?x("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{w as G,o as I}from"./Bn2NtlTj.js";import{d as u,g as f,b as d}from"./BdTBlfLy.js";new URL("sveltekit-internal://");function se(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function ae(t){return t.split("%25").map(decodeURI).join("%25")}function oe(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function ie({href:t}){return t.split("#")[0]}function W(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let s=r.length;for(;s;)e=e*33^r[--s]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function X(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n}const z=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&b.delete(U(t)),z(t,e));const b=new Map;function le(t,e){const n=U(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:s,...l}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&b.set(n,{body:s,init:l,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(s=X(s)),Promise.resolve(new Response(s,l))}return window.fetch(t,e)}function ce(t,e,n){if(b.size>0){const r=U(t,n),s=b.get(r);if(s){if(performance.now()<s.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(s.body,s.init);b.delete(r)}}return window.fetch(e,n)}function U(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const s=[];e.headers&&s.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&s.push(e.body),r+=`[data-hash="${W(...s)}"]`}return r}var $;const J=(($=globalThis.__sveltekit_hkuxmm)==null?void 0:$.base)??"/admin";var C;const M=((C=globalThis.__sveltekit_hkuxmm)==null?void 0:C.assets)??J??"",F="1774560919084",ue="sveltekit:snapshot",fe="sveltekit:scroll",de="sveltekit:states",he="sveltekit:pageurl",ge="sveltekit:history",be="sveltekit:navigation",N={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Y=location.origin;function _e(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function me(){return{x:pageXOffset,y:pageYOffset}}function g(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const L={...N,"":N.hover};function q(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function we(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=q(t)}}function pe(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const i=location.hash.split("#")[1]||"/";r.hash=`#${i}${r.hash}`}}catch{}const s=t instanceof SVGAElement?t.target.baseVal:t.target,l=!r||!!s||Q(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(r==null?void 0:r.origin)===Y&&t.hasAttribute("download");return{url:r,external:l,target:s,download:o}}function ve(t){let e=null,n=null,r=null,s=null,l=null,o=null,i=t;for(;i&&i!==document.documentElement;)r===null&&(r=g(i,"preload-code")),s===null&&(s=g(i,"preload-data")),e===null&&(e=g(i,"keepfocus")),n===null&&(n=g(i,"noscroll")),l===null&&(l=g(i,"reload")),o===null&&(o=g(i,"replacestate")),i=q(i);function h(K){switch(K){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:L[r??"off"],preload_data:L[s??"off"],keepfocus:h(e),noscroll:h(n),reload:h(l),replace_state:h(o)}}function ye(t){const e=G(t);let n=!0;function r(){n=!0,e.update(o=>o)}function s(o){n=!1,e.set(o)}function l(o){let i;return e.subscribe(h=>{(i===void 0||n&&h!==i)&&o(i=h)})}return{notify:r,set:s,subscribe:l}}const D={v:()=>{}};function ke(){const{set:t,subscribe:e}=G(!1);let n;async function r(){clearTimeout(n);try{const s=await fetch(`${M}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!s.ok)return!1;const o=(await s.json()).version!==F;return o&&(t(!0),D.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:e,check:r}}function Q(t,e,n){return t.origin!==Y||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Ae(t){}const H=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...H];const Z=new Set([...H]);[...Z];let E,O,T;const ee=I.toString().includes("$$")||/function \w+\(\) \{\}/.test(I.toString());var _,m,w,p,v,y,k,A,P,R,V,S,j;ee?(E={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},O={current:null},T={current:!1}):(E=new(P=class{constructor(){c(this,_,u({}));c(this,m,u(null));c(this,w,u(null));c(this,p,u({}));c(this,v,u({id:null}));c(this,y,u({}));c(this,k,u(-1));c(this,A,u(new URL("https://example.com")))}get data(){return f(a(this,_))}set data(e){d(a(this,_),e)}get form(){return f(a(this,m))}set form(e){d(a(this,m),e)}get error(){return f(a(this,w))}set error(e){d(a(this,w),e)}get params(){return f(a(this,p))}set params(e){d(a(this,p),e)}get route(){return f(a(this,v))}set route(e){d(a(this,v),e)}get state(){return f(a(this,y))}set state(e){d(a(this,y),e)}get status(){return f(a(this,k))}set status(e){d(a(this,k),e)}get url(){return f(a(this,A))}set url(e){d(a(this,A),e)}},_=new WeakMap,m=new WeakMap,w=new WeakMap,p=new WeakMap,v=new WeakMap,y=new WeakMap,k=new WeakMap,A=new WeakMap,P),O=new(V=class{constructor(){c(this,R,u(null))}get current(){return f(a(this,R))}set current(e){d(a(this,R),e)}},R=new WeakMap,V),T=new(j=class{constructor(){c(this,S,u(!1))}get current(){return f(a(this,S))}set current(e){d(a(this,S),e)}},S=new WeakMap,j),D.v=()=>T.current=!0);function Ee(t){Object.assign(E,t)}export{ge as H,be as N,he as P,de as S,ve as a,J as b,ie as c,oe as d,se as e,we as f,pe as g,ke as h,Q as i,ye as j,N as k,ae as l,ue as m,O as n,Y as o,E as p,ce as q,_e as r,me as s,le as t,fe as u,Ee as v,Ae as w};
1
+ var x=t=>{throw TypeError(t)};var B=(t,e,n)=>e.has(t)||x("Cannot "+n);var a=(t,e,n)=>(B(t,e,"read from private field"),n?n.call(t):e.get(t)),c=(t,e,n)=>e.has(t)?x("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{w as G,o as I}from"./Bn2NtlTj.js";import{d as u,g as f,b as d}from"./BdTBlfLy.js";new URL("sveltekit-internal://");function se(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function ae(t){return t.split("%25").map(decodeURI).join("%25")}function oe(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function ie({href:t}){return t.split("#")[0]}function W(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let s=r.length;for(;s;)e=e*33^r[--s]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}new TextEncoder;new TextDecoder;function X(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n}const z=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&b.delete(U(t)),z(t,e));const b=new Map;function le(t,e){const n=U(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){r.remove();let{body:s,...l}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&b.set(n,{body:s,init:l,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(s=X(s)),Promise.resolve(new Response(s,l))}return window.fetch(t,e)}function ce(t,e,n){if(b.size>0){const r=U(t,n),s=b.get(r);if(s){if(performance.now()<s.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(s.body,s.init);b.delete(r)}}return window.fetch(e,n)}function U(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const s=[];e.headers&&s.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&s.push(e.body),r+=`[data-hash="${W(...s)}"]`}return r}var $;const J=(($=globalThis.__sveltekit_jgts8u)==null?void 0:$.base)??"/admin";var j;const M=((j=globalThis.__sveltekit_jgts8u)==null?void 0:j.assets)??J??"",F="1774791730603",ue="sveltekit:snapshot",fe="sveltekit:scroll",de="sveltekit:states",he="sveltekit:pageurl",ge="sveltekit:history",be="sveltekit:navigation",N={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},Y=location.origin;function _e(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function we(){return{x:pageXOffset,y:pageYOffset}}function g(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const L={...N,"":N.hover};function q(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function me(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=q(t)}}function pe(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const i=location.hash.split("#")[1]||"/";r.hash=`#${i}${r.hash}`}}catch{}const s=t instanceof SVGAElement?t.target.baseVal:t.target,l=!r||!!s||Q(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),o=(r==null?void 0:r.origin)===Y&&t.hasAttribute("download");return{url:r,external:l,target:s,download:o}}function ve(t){let e=null,n=null,r=null,s=null,l=null,o=null,i=t;for(;i&&i!==document.documentElement;)r===null&&(r=g(i,"preload-code")),s===null&&(s=g(i,"preload-data")),e===null&&(e=g(i,"keepfocus")),n===null&&(n=g(i,"noscroll")),l===null&&(l=g(i,"reload")),o===null&&(o=g(i,"replacestate")),i=q(i);function h(K){switch(K){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:L[r??"off"],preload_data:L[s??"off"],keepfocus:h(e),noscroll:h(n),reload:h(l),replace_state:h(o)}}function ye(t){const e=G(t);let n=!0;function r(){n=!0,e.update(o=>o)}function s(o){n=!1,e.set(o)}function l(o){let i;return e.subscribe(h=>{(i===void 0||n&&h!==i)&&o(i=h)})}return{notify:r,set:s,subscribe:l}}const D={v:()=>{}};function Ae(){const{set:t,subscribe:e}=G(!1);let n;async function r(){clearTimeout(n);try{const s=await fetch(`${M}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!s.ok)return!1;const o=(await s.json()).version!==F;return o&&(t(!0),D.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:e,check:r}}function Q(t,e,n){return t.origin!==Y||!t.pathname.startsWith(e)?!0:n?t.pathname!==location.pathname:!1}function Re(t){}const H=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...H];const Z=new Set([...H]);[...Z];let E,O,T;const ee=I.toString().includes("$$")||/function \w+\(\) \{\}/.test(I.toString());var _,w,m,p,v,y,A,R,C,S,P,k,V;ee?(E={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},O={current:null},T={current:!1}):(E=new(C=class{constructor(){c(this,_,u({}));c(this,w,u(null));c(this,m,u(null));c(this,p,u({}));c(this,v,u({id:null}));c(this,y,u({}));c(this,A,u(-1));c(this,R,u(new URL("https://example.com")))}get data(){return f(a(this,_))}set data(e){d(a(this,_),e)}get form(){return f(a(this,w))}set form(e){d(a(this,w),e)}get error(){return f(a(this,m))}set error(e){d(a(this,m),e)}get params(){return f(a(this,p))}set params(e){d(a(this,p),e)}get route(){return f(a(this,v))}set route(e){d(a(this,v),e)}get state(){return f(a(this,y))}set state(e){d(a(this,y),e)}get status(){return f(a(this,A))}set status(e){d(a(this,A),e)}get url(){return f(a(this,R))}set url(e){d(a(this,R),e)}},_=new WeakMap,w=new WeakMap,m=new WeakMap,p=new WeakMap,v=new WeakMap,y=new WeakMap,A=new WeakMap,R=new WeakMap,C),O=new(P=class{constructor(){c(this,S,u(null))}get current(){return f(a(this,S))}set current(e){d(a(this,S),e)}},S=new WeakMap,P),T=new(V=class{constructor(){c(this,k,u(!1))}get current(){return f(a(this,k))}set current(e){d(a(this,k),e)}},k=new WeakMap,V),D.v=()=>T.current=!0);function Ee(t){Object.assign(E,t)}export{ge as H,be as N,he as P,de as S,ve as a,J as b,ie as c,oe as d,se as e,me as f,pe as g,Ae as h,Q as i,ye as j,N as k,ae as l,ue as m,O as n,Y as o,E as p,ce as q,_e as r,we as s,le as t,fe as u,Ee as v,Re as w};