syncorejs 0.2.3 → 0.2.5

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 (94) hide show
  1. package/dist/_dashboard/assets/ConfirmActionDialog-Db4VzVp6.js +1 -0
  2. package/dist/_dashboard/assets/circle-x-VsB4Z8W4.js +1 -0
  3. package/dist/_dashboard/assets/data.lazy-DjdU9CzX.js +18 -0
  4. package/dist/_dashboard/assets/file-code-BrOKjG4n.js +1 -0
  5. package/dist/_dashboard/assets/functions.lazy-DvDwAGHq.js +1 -0
  6. package/dist/_dashboard/assets/funnel-BH8EMMJI.js +1 -0
  7. package/dist/_dashboard/assets/index-DT9ZEELb.css +1 -0
  8. package/dist/_dashboard/assets/index-DrSG4qZZ.js +54 -0
  9. package/dist/_dashboard/assets/loader-circle-CmJFSYga.js +1 -0
  10. package/dist/_dashboard/assets/logs.lazy-50KTk5yd.js +1 -0
  11. package/dist/_dashboard/assets/play-DS52VsLN.js +1 -0
  12. package/dist/_dashboard/assets/queries.lazy-CfysRWkz.js +1 -0
  13. package/dist/_dashboard/assets/scheduler.lazy-BB88mZk-.js +1 -0
  14. package/dist/_dashboard/assets/select-THYcR8Wt.js +1 -0
  15. package/dist/_dashboard/assets/separator-BU7xg615.js +1 -0
  16. package/dist/_dashboard/assets/shared-Bh0wwC2k.js +1 -0
  17. package/dist/_dashboard/assets/sql.lazy-CHtU9Qnt.js +13 -0
  18. package/dist/_dashboard/assets/storage.lazy-CneN7wVU.js +1 -0
  19. package/dist/_dashboard/assets/table-2-CH8JoMXf.js +1 -0
  20. package/dist/_dashboard/index.html +18 -0
  21. package/dist/_vendor/cli/app.d.mts.map +1 -1
  22. package/dist/_vendor/cli/app.mjs +16 -5
  23. package/dist/_vendor/cli/app.mjs.map +1 -1
  24. package/dist/_vendor/core/cli.d.mts.map +1 -1
  25. package/dist/_vendor/core/cli.mjs +358 -16
  26. package/dist/_vendor/core/cli.mjs.map +1 -1
  27. package/dist/_vendor/core/index.d.mts +3 -3
  28. package/dist/_vendor/core/runtime/devtools.d.mts.map +1 -1
  29. package/dist/_vendor/core/runtime/devtools.mjs +131 -0
  30. package/dist/_vendor/core/runtime/devtools.mjs.map +1 -1
  31. package/dist/_vendor/core/runtime/functions.d.mts +3 -3
  32. package/dist/_vendor/core/runtime/functions.mjs.map +1 -1
  33. package/dist/_vendor/core/runtime/internal/engines/devtoolsEngine.mjs +1 -1
  34. package/dist/_vendor/core/runtime/internal/engines/devtoolsEngine.mjs.map +1 -1
  35. package/dist/_vendor/core/runtime/internal/engines/executionEngine.mjs +4 -1
  36. package/dist/_vendor/core/runtime/internal/engines/executionEngine.mjs.map +1 -1
  37. package/dist/_vendor/core/runtime/internal/engines/reactivityEngine.mjs +6 -3
  38. package/dist/_vendor/core/runtime/internal/engines/reactivityEngine.mjs.map +1 -1
  39. package/dist/_vendor/core/runtime/internal/engines/shared.mjs +5 -1
  40. package/dist/_vendor/core/runtime/internal/engines/shared.mjs.map +1 -1
  41. package/dist/_vendor/core/runtime/internal/engines/storageEngine.mjs +99 -13
  42. package/dist/_vendor/core/runtime/internal/engines/storageEngine.mjs.map +1 -1
  43. package/dist/_vendor/core/runtime/internal/runtimeKernel.mjs +38 -4
  44. package/dist/_vendor/core/runtime/internal/runtimeKernel.mjs.map +1 -1
  45. package/dist/_vendor/core/runtime/runtime.d.mts +65 -8
  46. package/dist/_vendor/core/runtime/runtime.d.mts.map +1 -1
  47. package/dist/_vendor/core/runtime/runtime.mjs.map +1 -1
  48. package/dist/_vendor/core/transport.d.mts.map +1 -1
  49. package/dist/_vendor/core/transport.mjs +30 -5
  50. package/dist/_vendor/core/transport.mjs.map +1 -1
  51. package/dist/_vendor/devtools-protocol/index.d.ts +75 -1
  52. package/dist/_vendor/devtools-protocol/index.d.ts.map +1 -1
  53. package/dist/_vendor/devtools-protocol/index.js.map +1 -1
  54. package/dist/_vendor/next/index.js +9 -1
  55. package/dist/_vendor/next/index.js.map +1 -1
  56. package/dist/_vendor/platform-expo/index.d.ts +1 -1
  57. package/dist/_vendor/platform-expo/index.d.ts.map +1 -1
  58. package/dist/_vendor/platform-expo/index.js +6 -1
  59. package/dist/_vendor/platform-expo/index.js.map +1 -1
  60. package/dist/_vendor/platform-node/index.d.mts +2 -1
  61. package/dist/_vendor/platform-node/index.d.mts.map +1 -1
  62. package/dist/_vendor/platform-node/index.mjs +27 -2
  63. package/dist/_vendor/platform-node/index.mjs.map +1 -1
  64. package/dist/_vendor/platform-node/ipc-react.mjs +4 -0
  65. package/dist/_vendor/platform-node/ipc-react.mjs.map +1 -1
  66. package/dist/_vendor/platform-web/external-change.d.ts +2 -2
  67. package/dist/_vendor/platform-web/external-change.js +2 -2
  68. package/dist/_vendor/platform-web/external-change.js.map +1 -1
  69. package/dist/_vendor/platform-web/index.d.ts +13 -10
  70. package/dist/_vendor/platform-web/index.d.ts.map +1 -1
  71. package/dist/_vendor/platform-web/index.js +66 -10
  72. package/dist/_vendor/platform-web/index.js.map +1 -1
  73. package/dist/_vendor/platform-web/indexeddb.d.ts +3 -3
  74. package/dist/_vendor/platform-web/indexeddb.js +3 -3
  75. package/dist/_vendor/platform-web/indexeddb.js.map +1 -1
  76. package/dist/_vendor/platform-web/opfs.d.ts +3 -1
  77. package/dist/_vendor/platform-web/opfs.d.ts.map +1 -1
  78. package/dist/_vendor/platform-web/opfs.js +29 -3
  79. package/dist/_vendor/platform-web/opfs.js.map +1 -1
  80. package/dist/_vendor/platform-web/persistence.d.ts +31 -1
  81. package/dist/_vendor/platform-web/persistence.d.ts.map +1 -1
  82. package/dist/_vendor/platform-web/persistence.js.map +1 -1
  83. package/dist/_vendor/platform-web/react.d.ts.map +1 -1
  84. package/dist/_vendor/platform-web/react.js +9 -1
  85. package/dist/_vendor/platform-web/react.js.map +1 -1
  86. package/dist/_vendor/react/index.d.ts +6 -5
  87. package/dist/_vendor/react/index.d.ts.map +1 -1
  88. package/dist/_vendor/react/index.js +6 -5
  89. package/dist/_vendor/react/index.js.map +1 -1
  90. package/dist/_vendor/svelte/index.d.ts +8 -6
  91. package/dist/_vendor/svelte/index.d.ts.map +1 -1
  92. package/dist/_vendor/svelte/index.js +7 -5
  93. package/dist/_vendor/svelte/index.js.map +1 -1
  94. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ import{A as e,D as t,E as n,Mt as r,O as i,Ot as a,T as o,k as s,w as c}from"./index-DrSG4qZZ.js";var l=a(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),u=r();function d({open:r,onOpenChange:a,title:l,description:d,confirmLabel:f,variant:p=`destructive`,onConfirm:m}){return(0,u.jsx)(c,{open:r,onOpenChange:a,children:(0,u.jsxs)(o,{className:`sm:max-w-md`,children:[(0,u.jsxs)(i,{children:[(0,u.jsx)(s,{children:l}),(0,u.jsx)(n,{children:d})]}),(0,u.jsx)(t,{showCloseButton:!0,children:(0,u.jsx)(e,{variant:p,onClick:()=>{m(),a(!1)},children:f})})]})})}export{l as n,d as t};
@@ -0,0 +1 @@
1
+ import{Ot as e}from"./index-DrSG4qZZ.js";var t=e(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]);export{t};
@@ -0,0 +1,18 @@
1
+ import{c as e,i as t,l as n,m as r,r as i,s as a,u as o}from"./shared-Bh0wwC2k.js";import{a as s,i as c,n as l,r as u,t as d}from"./select-THYcR8Wt.js";import{n as f,t as p}from"./ConfirmActionDialog-Db4VzVp6.js";import{t as m}from"./funnel-BH8EMMJI.js";import{t as h}from"./loader-circle-CmJFSYga.js";import{t as g}from"./table-2-CH8JoMXf.js";import{t as _}from"./separator-BU7xg615.js";import{A as v,B as y,C as b,D as x,E as S,Et as C,F as ee,Ft as w,G as T,H as E,I as D,J as O,K as te,L as k,M as A,Mt as ne,N as j,Nt as M,O as re,Ot as N,P,Pt as ie,Q as F,R as ae,T as oe,V as se,W as ce,Y as le,Z as ue,_t as de,bt as fe,ct as I,et as pe,g as me,h as he,ht as ge,it as _e,j as L,k as ve,kt as ye,m as be,pt as xe,rt as R,t as Se,w as Ce,y as z,z as we}from"./index-DrSG4qZZ.js";var Te=N(`arrow-up-down`,[[`path`,{d:`m21 16-4 4-4-4`,key:`f6ql7i`}],[`path`,{d:`M17 20V4`,key:`1ejh1v`}],[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}]]),Ee=N(`braces`,[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`,key:`ezmyqa`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`,key:`e1hn23`}]]),De=N(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),Oe=N(`copy-plus`,[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`,key:`1p7wdc`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`,key:`1nscbv`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),ke=N(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),Ae=N(`key`,[[`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`,key:`g0fldk`}],[`path`,{d:`m21 2-9.6 9.6`,key:`1j0ho8`}],[`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`,key:`yqb3hr`}]]),je=N(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),Me=N(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),Ne=N(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),Pe=N(`panel-right-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}],[`path`,{d:`m10 15-3-3 3-3`,key:`1pgupc`}]]),Fe=N(`pencil-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),Ie=N(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Le=N(`square-pen`,[[`path`,{d:`M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7`,key:`1m0v6g`}],[`path`,{d:`M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z`,key:`ohrbg2`}]]),Re=N(`toggle-left`,[[`circle`,{cx:`9`,cy:`12`,r:`3`,key:`u3jwor`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`,key:`g7kal2`}]]),B=N(`type`,[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]),ze=N(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),V=N(`wand-sparkles`,[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]]),H=w(ie(),1);M();var U=ne(),W=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=ue(`Primitive.${t}`),r=H.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,U.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),G=`Popover`,[K,q]=le(G,[D]),J=D(),[Be,Y]=K(G),Ve=e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=J(t),c=H.useRef(null),[l,u]=H.useState(!1),[d,f]=te({prop:r,defaultProp:i??!1,onChange:a,caller:G});return(0,U.jsx)(ee,{...s,children:(0,U.jsx)(Be,{scope:t,contentId:ce(),triggerRef:c,open:d,onOpenChange:f,onOpenToggle:H.useCallback(()=>f(e=>!e),[f]),hasCustomAnchor:l,onCustomAnchorAdd:H.useCallback(()=>u(!0),[]),onCustomAnchorRemove:H.useCallback(()=>u(!1),[]),modal:o,children:n})})};Ve.displayName=G;var He=`PopoverAnchor`,Ue=H.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Y(He,n),a=J(n),{onCustomAnchorAdd:o,onCustomAnchorRemove:s}=i;return H.useEffect(()=>(o(),()=>s()),[o,s]),(0,U.jsx)(A,{...a,...r,ref:t})});Ue.displayName=He;var We=`PopoverTrigger`,Ge=H.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Y(We,n),a=J(n),o=F(t,i.triggerRef),s=(0,U.jsx)(W.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":it(i.open),...r,ref:o,onClick:O(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,U.jsx)(A,{asChild:!0,...a,children:s})});Ge.displayName=We;var Ke=`PopoverPortal`,[qe,Je]=K(Ke,{forceMount:void 0}),Ye=e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=Y(Ke,t);return(0,U.jsx)(qe,{scope:t,forceMount:n,children:(0,U.jsx)(T,{present:n||a.open,children:(0,U.jsx)(y,{asChild:!0,container:i,children:r})})})};Ye.displayName=Ke;var X=`PopoverContent`,Z=H.forwardRef((e,t)=>{let n=Je(X,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=Y(X,e.__scopePopover);return(0,U.jsx)(T,{present:r||a.open,children:a.modal?(0,U.jsx)(Ze,{...i,ref:t}):(0,U.jsx)(Qe,{...i,ref:t})})});Z.displayName=X;var Xe=ue(`PopoverContent.RemoveScroll`),Ze=H.forwardRef((e,t)=>{let n=Y(X,e.__scopePopover),r=H.useRef(null),i=F(t,r),a=H.useRef(!1);return H.useEffect(()=>{let e=r.current;if(e)return k(e)},[]),(0,U.jsx)(ae,{as:Xe,allowPinchZoom:!0,children:(0,U.jsx)($e,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:O(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:O(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;a.current=t.button===2||n},{checkForDefaultPrevented:!1}),onFocusOutside:O(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})}),Qe=H.forwardRef((e,t)=>{let n=Y(X,e.__scopePopover),r=H.useRef(!1),i=H.useRef(!1);return(0,U.jsx)($e,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),$e=H.forwardRef((e,t)=>{let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,...d}=e,f=Y(X,n),p=J(n);return we(),(0,U.jsx)(se,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,U.jsx)(E,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>f.onOpenChange(!1),children:(0,U.jsx)(P,{"data-state":it(f.open),role:`dialog`,id:f.contentId,...p,...d,ref:t,style:{...d.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})}),et=`PopoverClose`,tt=H.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=Y(et,n);return(0,U.jsx)(W.button,{type:`button`,...r,ref:t,onClick:O(e.onClick,()=>i.onOpenChange(!1))})});tt.displayName=et;var nt=`PopoverArrow`,rt=H.forwardRef((e,t)=>{let{__scopePopover:n,...r}=e,i=J(n);return(0,U.jsx)(j,{...i,...r,ref:t})});rt.displayName=nt;function it(e){return e?`open`:`closed`}var at=Ve,ot=Ue,st=Ye,ct=Z,lt=/(date|time|timestamp|createdat|updatedat|deletedat|publishedat|expiresat|scheduledat|lastseenat|lastsyncedat|lastupdatedat)$/i,ut=/(color|colour|bgcolor|background|tint|hue|accent|fill|stroke|border-color|textcolor|foreground)$/i,dt=/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;function ft(e){return e.replace(/[^a-z0-9]/gi,``).toLowerCase()}function pt(e){return Number.isFinite(e)&&e>0}function mt(e){if(!pt(e))return!1;let t=e>=0xe8d4a51000?e:e>=1e9?e*1e3:NaN;return Number.isFinite(t)&&t>=9466848e5}function ht(e){return e>=0xe8d4a51000?e:e*1e3}function gt(e){return lt.test(ft(e))}function _t(e){return ut.test(ft(e))}function vt(e,t){if(typeof t!=`string`)return null;let n=t.trim();return dt.test(n)?{hex:n}:_t(e)&&/^[0-9a-fA-F]{6}$/.test(n)?{hex:`#${n}`}:null}function Q(e,t){if(typeof t==`number`&&gt(e)&&mt(t)){let e=ht(t);return{iso:new Date(e).toISOString(),rawTimestamp:t}}if(typeof t==`string`){let n=Date.parse(t);if(gt(e)&&Number.isFinite(n))return{iso:new Date(n).toISOString(),rawTimestamp:t}}return null}function yt(e,t){let n=Q(e,t);return n?n.iso:t==null?``:typeof t==`object`?JSON.stringify(t,null,2):typeof t==`string`||typeof t==`number`||typeof t==`boolean`||typeof t==`bigint`?String(t):``}function bt(e,t,n){let r=t.trim();if(r===``)return``;if(Q(e,n)&&Number.isFinite(Date.parse(r))){let e=new Date(r);if(typeof n==`number`){let t=e.getTime();return n>=0xe8d4a51000?t:Math.floor(t/1e3)}return e.toISOString()}if(typeof n==`string`)return t;try{return JSON.parse(t)}catch{let e=Number(t);return!Number.isNaN(e)&&r!==``?e:r===`true`?!0:r===`false`?!1:r===`null`?null:t}}function xt(e,t){let n=Q(e,t);if(n)return{kind:`date`,text:n.iso,title:typeof n.rawTimestamp==`number`?String(n.rawTimestamp):n.rawTimestamp};let r=vt(e,t);return r?{kind:`color`,text:String(t),colorHex:r.hex}:t===null?{kind:`null`,text:`null`}:t===void 0?{kind:`empty`,text:`-`}:typeof t==`boolean`?{kind:`boolean`,text:String(t)}:typeof t==`number`?{kind:`number`,text:String(t)}:typeof t==`string`?{kind:`text`,text:t,title:t}:typeof t==`object`?{kind:`object`,text:Array.isArray(t)?`[${t.length} item${t.length===1?``:`s`}]`:`{${Object.keys(t).length} key${Object.keys(t).length===1?``:`s`}}`}:typeof t==`bigint`?{kind:`number`,text:String(t)}:{kind:`empty`,text:`-`}}function $(e){let t=e._id??e.id;return typeof t==`string`||typeof t==`number`||typeof t==`bigint`?String(t):`unknown`}function St(e){try{let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=new Date,r=t.getFullYear()===n.getFullYear();return t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,...r?{}:{year:`numeric`},hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}catch{return e}}function Ct(e,t){return e.referenceTable?{field:e,tableName:e.referenceTable,options:t.map(e=>{let t=$(e),n=wt(e);return{id:t,preview:n,searchText:Et(t,n,e),document:e}})}:null}function wt(e){let t=[];for(let[n,r]of Object.entries(e)){if(n===`_id`||n===`_creationTime`)continue;let e=Dt(r);if(e&&t.push(`${n}: ${e}`),t.length===3)break}return t.length>0?t.join(`, `):`No preview fields`}function Tt(e,t){if(typeof t!=`string`||t.length===0)return null;let n=e.options.find(e=>e.id===t);return{id:t,preview:n?.preview??`Referenced row is not present in this runtime`,missing:!n}}function Et(e,t,n){return[e,t,...Object.entries(n).filter(([e])=>e!==`_id`&&e!==`_creationTime`).map(([,e])=>Dt(e)).filter(e=>!!e)].join(` `).toLowerCase()}function Dt(e){if(typeof e==`string`){let t=e.trim();return t?t.length>48?`${t.slice(0,48)}...`:t:null}return typeof e==`number`||typeof e==`boolean`?String(e):e===null?`null`:Array.isArray(e)?`[${e.length}]`:typeof e==`object`&&e?`{${Object.keys(e).length}}`:null}var Ot={reference:`Reference`,text:`Text`,json:`JSON`,number:`Number`,boolean:`Boolean`,date:`Date`,color:`Color`};function kt({value:e,field:t,reference:n,onSave:r,onCancel:i}){let[a,o]=(0,H.useState)(()=>yt(t,e)),[f,p]=(0,H.useState)(()=>typeof e==`string`?e:``),m=vt(t,e),h=Q(t,e),g=jt(t,e,n),[_,y]=(0,H.useState)(()=>At(t,e,n)),[x,S]=(0,H.useState)(()=>typeof e==`boolean`?e:a.trim().toLowerCase()===`true`),C=_===`json`||_===`text`&&(a.includes(`
2
+ `)||a.length>80),ee=(0,H.useCallback)(t=>{if(t===`date`){let e=h?.iso??Mt(a);e&&o(e)}t===`number`&&typeof e==`number`&&o(String(e)),t===`boolean`&&S(typeof e==`boolean`?e:a.trim().toLowerCase()===`true`),y(t)},[h?.iso,a,e]),w=(0,H.useCallback)(()=>{let t=new Date(a);if(Number.isNaN(t.getTime()))return!1;let n=t.getTime();return typeof e==`number`?(r(e<0xe8d4a51000?Math.floor(n/1e3):n),!0):(r(t.toISOString()),!0)},[r,a,e]),T=(0,H.useCallback)(()=>{if(n){r(f===``&&n.field.optional?void 0:f);return}if(_===`boolean`){r(x);return}if(!(_===`date`&&w())){if(_===`number`){let e=Number(a);if(Number.isFinite(e)){r(e);return}}if(_===`text`){r(a);return}if(_===`color`){r(a);return}r(bt(t,a,e))}},[x,t,_,r,n,f,w,a,e]),E=(0,H.useCallback)(e=>{if(e.key===`Escape`){i();return}e.key===`Enter`&&!e.shiftKey&&!C&&(e.preventDefault(),T())},[T,C,i]);return(0,U.jsxs)(`div`,{className:I(`overflow-hidden rounded-lg border border-border bg-bg-surface shadow-xl shadow-black/40 max-w-[calc(100vw-1rem)]`,n?`w-120`:`w-72`),children:[(0,U.jsxs)(`div`,{className:`flex items-center justify-between border-b border-border px-3 py-2`,children:[(0,U.jsx)(`span`,{className:`font-mono text-[11px] font-medium text-text-primary`,children:t}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-[10px] text-text-tertiary`,children:`Edit as`}),(0,U.jsxs)(d,{value:_,onValueChange:e=>ee(e),disabled:g.length===1,children:[(0,U.jsx)(c,{size:`sm`,"aria-label":`Edit as`,className:`h-7 min-w-24 px-2 py-1 text-[11px]`,children:(0,U.jsx)(s,{})}),(0,U.jsx)(l,{align:`end`,children:g.map(e=>(0,U.jsx)(u,{value:e,children:e===`reference`&&n?`Reference -> ${n.tableName}`:Ot[e]},e))})]})]})]}),(0,U.jsx)(`div`,{className:n?``:`p-3`,children:n?(0,U.jsx)(Pt,{reference:n,value:f,onChange:p,onKeyDown:E}):_===`boolean`?(0,U.jsx)(Nt,{value:x,onChange:S}):_===`color`&&m?(0,U.jsx)(Lt,{text:a,onTextChange:o,onKeyDown:E}):_===`date`?(0,U.jsx)(Rt,{text:a,onTextChange:o}):_===`json`||C?(0,U.jsx)(`textarea`,{value:a,onChange:e=>o(e.target.value),onKeyDown:E,autoFocus:!0,rows:Math.min(Math.max(a.split(`
3
+ `).length,3),8),className:`w-full resize-y rounded-md border border-border bg-bg-base px-2.5 py-2 font-mono text-[11px] leading-relaxed text-text-primary outline-none focus:border-accent placeholder:text-text-tertiary`,placeholder:`Edit ${t}…`}):(0,U.jsx)(b,{value:a,onChange:e=>o(e.target.value),onKeyDown:E,autoFocus:!0,className:`font-mono text-[12px]`,placeholder:`Edit ${t}…`})}),(0,U.jsxs)(`div`,{className:`flex items-center justify-end gap-1.5 border-t border-border px-3 py-2`,children:[(0,U.jsx)(v,{variant:`ghost`,size:`xs`,onClick:i,children:`Cancel`}),(0,U.jsx)(v,{size:`xs`,onClick:T,children:`Save`})]})]})}function At(e,t,n){return n?`reference`:typeof t==`boolean`?`boolean`:Q(e,t)?`date`:vt(e,t)?`color`:t===null||typeof t==`object`?`json`:typeof t==`number`?`number`:`text`}function jt(e,t,n){if(n)return[`reference`];let r=[],i=e=>{r.includes(e)||r.push(e)};return i(At(e,t)),typeof t==`boolean`?r:typeof t==`number`?(i(`number`),i(`date`),i(`text`),r):typeof t==`string`?(vt(e,t)&&i(`color`),Q(e,t)&&i(`date`),i(`text`),i(`json`),r):(i(`json`),i(`text`),r)}function Mt(e){let t=Number(e);if(Number.isFinite(t)&&t>0){let e=t>=0xe8d4a51000?t:t*1e3,n=new Date(e);return Number.isNaN(n.getTime())?null:n.toISOString()}let n=Date.parse(e);return Number.isFinite(n)?new Date(n).toISOString():null}function Nt({value:e,onChange:t}){return(0,U.jsx)(`div`,{className:`grid grid-cols-2 gap-1 rounded-md border border-border bg-bg-base p-1`,children:[!0,!1].map(n=>(0,U.jsx)(`button`,{type:`button`,onClick:()=>t(n),className:I(`h-8 rounded px-3 font-mono text-[12px] transition-colors`,e===n?`bg-accent text-white`:`text-text-secondary hover:bg-bg-elevated hover:text-text-primary`),"aria-pressed":e===n,children:String(n)},String(n)))})}function Pt({reference:e,value:t,onChange:n,onKeyDown:r}){let[i,a]=(0,H.useState)(``),[o,s]=(0,H.useState)(null),c=i.trim().toLowerCase(),l=e.options.find(e=>e.id===t),u=t!==``&&!l,d=c?e.options.filter(e=>e.searchText.includes(c)):e.options,f=d.slice(0,100),p=e.options.find(e=>e.id===o)??l??d[0]??null;return(0,U.jsxs)(`div`,{className:`flex h-60 divide-x divide-border overflow-hidden`,children:[(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col sm:w-50 sm:flex-none sm:shrink-0`,children:[u&&(0,U.jsx)(`div`,{className:`shrink-0 border-b border-error/20 bg-error/5 px-3 py-2`,children:(0,U.jsxs)(`p`,{className:`text-[11px] text-error`,children:[(0,U.jsx)(`span`,{className:`font-medium`,children:`Missing:`}),` `,(0,U.jsxs)(`span`,{className:`font-mono text-[10px]`,children:[t.slice(0,14),t.length>14?`…`:``]})]})}),(0,U.jsxs)(`div`,{className:`relative shrink-0 border-b border-border`,children:[(0,U.jsx)(de,{size:11,className:`pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-text-tertiary`}),(0,U.jsx)(`input`,{value:i,onChange:e=>a(e.target.value),placeholder:`Search…`,className:`w-full bg-transparent py-2 pl-7 pr-3 text-[11px] text-text-primary outline-none placeholder:text-text-tertiary`,onKeyDown:r,autoFocus:!0})]}),(0,U.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[e.field.optional&&(0,U.jsxs)(`button`,{type:`button`,onMouseEnter:()=>s(null),onClick:()=>n(``),className:I(`flex w-full items-center border-b border-border px-3 py-2 text-left transition-colors hover:bg-bg-surface last:border-b-0`,t===``?`border-l-2 border-l-accent bg-accent/5`:`border-l-2 border-l-transparent`),children:[(0,U.jsx)(`span`,{className:`flex-1 text-[12px] italic text-text-tertiary`,children:`None`}),t===``&&(0,U.jsx)(C,{size:11,className:`shrink-0 text-accent`})]}),d.length>0?f.map(e=>(0,U.jsxs)(`button`,{type:`button`,onMouseEnter:()=>s(e.id),onClick:()=>n(e.id),className:I(`flex w-full items-center border-b border-border px-3 py-2 text-left transition-colors hover:bg-bg-surface last:border-b-0`,e.id===t?`border-l-2 border-l-accent bg-accent/5`:`border-l-2 border-l-transparent`),children:[(0,U.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[12px] text-text-primary`,children:e.preview}),e.id===t&&(0,U.jsx)(C,{size:11,className:`ml-2 shrink-0 text-accent`})]},e.id)):(0,U.jsx)(`div`,{className:`px-3 py-6 text-center text-[11px] text-text-tertiary`,children:`No matches`}),d.length>f.length&&(0,U.jsxs)(`div`,{className:`border-t border-border px-3 py-2 text-[10px] text-text-tertiary`,children:[`Showing first `,f.length,` of `,d.length,`. Refine search to narrow results.`]})]})]}),(0,U.jsx)(`div`,{className:`hidden min-w-0 flex-1 flex-col overflow-hidden sm:flex`,children:p==null?(0,U.jsxs)(`div`,{className:`flex h-full items-center justify-center p-4 text-[11px] italic text-text-tertiary`,children:[`No rows in `,e.tableName]}):(0,U.jsx)(Ft,{option:p})})]})}function Ft({option:e}){let t=Object.entries(e.document).filter(([e])=>e!==`_id`&&e!==`_creationTime`);return(0,U.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,U.jsx)(`div`,{className:`shrink-0 border-b border-border bg-bg-base/40 px-3 py-2`,children:(0,U.jsx)(`span`,{className:`font-mono text-[10px] text-text-tertiary`,children:e.id})}),(0,U.jsx)(`div`,{className:`flex-1 overflow-y-auto p-2.5`,children:t.length===0?(0,U.jsx)(`p`,{className:`py-4 text-center text-[11px] italic text-text-tertiary`,children:`No additional fields`}):(0,U.jsx)(`dl`,{className:`space-y-2.5`,children:t.map(([e,t])=>(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`dt`,{className:`mb-0.5 text-[9px] font-semibold uppercase tracking-wide text-text-tertiary`,children:e}),(0,U.jsx)(`dd`,{className:`text-[11px]`,children:(0,U.jsx)(It,{value:t})})]},e))})})]})}function It({value:e}){return e==null?(0,U.jsx)(`span`,{className:`italic text-text-tertiary`,children:`null`}):typeof e==`boolean`?(0,U.jsx)(`span`,{className:`text-amber-400`,children:String(e)}):typeof e==`number`?(0,U.jsx)(`span`,{className:`text-info`,children:String(e)}):typeof e==`string`?e.length>0?(0,U.jsx)(`span`,{className:`break-all text-text-primary`,children:e}):(0,U.jsx)(`span`,{className:`italic text-text-tertiary`,children:`""`}):Array.isArray(e)?(0,U.jsxs)(`span`,{className:`text-text-tertiary`,children:[`[`,e.length,` item`,e.length===1?``:`s`,`]`]}):(0,U.jsx)(`span`,{className:`break-all font-mono text-[10px] text-text-secondary`,children:JSON.stringify(e)})}function Lt({text:e,onTextChange:t,onKeyDown:n}){let r=(0,H.useRef)(null),i=/^#[0-9a-fA-F]{3,8}$/.test(e)?e:`#000000`;return(0,U.jsxs)(`div`,{className:`space-y-2.5`,children:[(0,U.jsx)(`button`,{type:`button`,onClick:()=>r.current?.click(),className:`relative h-14 w-full rounded-md border border-border transition-opacity hover:opacity-90 active:scale-[0.99]`,style:{backgroundColor:i},title:`Click to open colour picker`,children:(0,U.jsx)(`input`,{ref:r,type:`color`,value:i,onChange:e=>t(e.target.value),className:`absolute size-0 opacity-0`,tabIndex:-1})}),(0,U.jsx)(b,{value:e,onChange:e=>t(e.target.value),onKeyDown:n,autoFocus:!0,className:`font-mono text-[12px]`,placeholder:`#000000`,maxLength:9})]})}function Rt({text:e,onTextChange:t}){let n=e=>String(e).padStart(2,`0`),r=e?new Date(e):new Date,i=!isNaN(r.getTime()),[a,o]=(0,H.useState)(()=>i?`${r.getFullYear()}-${n(r.getMonth()+1)}-${n(r.getDate())}`:``),[s,c]=(0,H.useState)(()=>i?`${n(r.getHours())}:${n(r.getMinutes())}:${n(r.getSeconds())}`:``),l=(e,n)=>{try{let r=new Date(`${e}T${n||`00:00:00`}`);isNaN(r.getTime())||t(r.toISOString())}catch{}},u=(()=>{try{let e=new Date(`${a}T${s||`00:00:00`}`);return isNaN(e.getTime())?null:e.toLocaleString(void 0,{weekday:`short`,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}catch{return null}})();return(0,U.jsxs)(`div`,{className:`space-y-2`,children:[(0,U.jsxs)(`div`,{className:`flex gap-2`,children:[(0,U.jsx)(`input`,{type:`date`,value:a,onChange:e=>{o(e.target.value),l(e.target.value,s)},autoFocus:!0,className:`h-8 flex-1 rounded-md border border-border bg-bg-base px-2 text-[12px] text-text-primary outline-none scheme-dark focus:border-accent`}),(0,U.jsx)(`input`,{type:`time`,step:`1`,value:s,onChange:e=>{c(e.target.value),l(a,e.target.value)},className:`h-8 w-28 shrink-0 rounded-md border border-border bg-bg-base px-2 text-[12px] text-text-primary outline-none scheme-dark focus:border-accent`})]}),u&&(0,U.jsx)(`p`,{className:`text-[10px] leading-none text-text-tertiary`,children:u})]})}function zt({columns:e,rows:t,selectedRowId:n,selectedRowIds:r=[],onToggleRowSelection:i,onToggleAllRows:a,onRowClick:o,onCellEdit:s,onOpenReference:c,referenceFields:l,className:u}){let[d,f]=(0,H.useState)(null),p=(0,H.useMemo)(()=>t.map((e,t)=>Ut(e,t)),[t]),{isChanged:m,isNew:h,getChangePulse:g,getNewPulse:_}=he(t,(e,t)=>p[t]??`row-${t}`,e=>JSON.stringify(e)),v=(0,H.useMemo)(()=>p,[p]),y=(0,H.useMemo)(()=>new Set(r),[r]),b=v.length>0&&v.every(e=>y.has(e));return(0,U.jsx)(z,{className:I(`h-full w-full bg-bg-base`,u),children:(0,U.jsxs)(`div`,{className:`min-w-full w-max border-r border-border bg-bg-base`,children:[(0,U.jsxs)(`div`,{className:`sticky top-0 z-10 flex border-b border-border bg-bg-surface`,children:[(0,U.jsx)(`div`,{className:`flex h-9 w-16 shrink-0 items-center justify-center gap-1 border-r border-border px-2`,children:(0,U.jsx)(Vt,{checked:b,onChange:e=>a?.(v,e),ariaLabel:`Select all visible rows`})}),e.map(e=>(0,U.jsx)(`div`,{className:I(`h-9 shrink-0 border-r border-border px-3 py-2 text-left text-[11px] font-semibold text-text-tertiary last:border-r-0`,Ht(e)),children:e},e))]}),(0,U.jsx)(`div`,{className:`bg-bg-base`,children:t.map((t,r)=>{let a=Ut(t,r),u=n===a,p=y.has(a),v=m(a),b=h(a),x=g(a),S=_(a);return(0,U.jsxs)(`div`,{className:I(`flex border-b border-border/80 bg-bg-base transition-colors`,u?`bg-bg-surface shadow-[inset_2px_0_0_0_var(--color-accent)]`:p?`bg-bg-surface/70`:`hover:bg-bg-surface/45`,v&&(x%2==0?`animate-highlight-a`:`animate-highlight-b`),b&&(S%2==0?`animate-fade-in-a`:`animate-fade-in-b`)),children:[(0,U.jsxs)(`div`,{className:`flex min-h-11 w-16 shrink-0 items-center justify-center gap-1 border-r border-border px-2 py-2`,onClick:e=>e.stopPropagation(),children:[(0,U.jsx)(Vt,{checked:p,onChange:()=>i?.(a),ariaLabel:`Select row ${a}`}),(0,U.jsx)(`button`,{type:`button`,className:I(`inline-flex size-6 items-center justify-center rounded border border-transparent text-text-tertiary transition-colors hover:border-border-hover hover:bg-bg-elevated hover:text-text-primary`,u&&`border-accent/30 bg-accent/10 text-accent`),title:`Inspect row`,"aria-label":`Inspect row ${a}`,onClick:()=>o?.(a),children:(0,U.jsx)(Pe,{size:12})})]}),e.map(e=>{let n=d?.rowId===a&&d.field===e;return(0,U.jsxs)(at,{open:n,onOpenChange:e=>{e||f(null)},children:[(0,U.jsx)(ot,{asChild:!0,children:(0,U.jsx)(`div`,{onDoubleClick:n=>{n.stopPropagation(),s&&f({rowId:a,field:e,value:t[e]})},className:I(`flex min-h-11 shrink-0 cursor-default items-center border-r border-border px-3 py-2 font-mono text-[12px] text-text-secondary last:border-r-0 select-none`,n&&`bg-bg-surface ring-1 ring-inset ring-accent/40`,Ht(e)),children:(0,U.jsx)(`div`,{className:`min-w-0 w-full`,children:(0,U.jsx)(Bt,{field:e,value:t[e],reference:l?.[e],onOpenReference:c})})})}),(0,U.jsx)(st,{children:(0,U.jsx)(ct,{align:`start`,side:`bottom`,sideOffset:4,className:`z-50 outline-none`,onOpenAutoFocus:e=>e.preventDefault(),children:n&&d!==null&&(0,U.jsx)(kt,{field:e,value:d.value,reference:l?.[e],onCancel:()=>f(null),onSave:t=>{s?.(a,e,t),f(null)}})})})]},e)})]},a)})})]})})}function Bt({field:e,value:t,reference:n,onOpenReference:r}){if(n){let i=Tt(n,t);return i?(0,U.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),i.missing||r?.(n.tableName,i.id)},className:I(`inline-flex max-w-full items-center gap-1.5 rounded border px-1.5 py-0.5 text-[11px] transition-colors`,i.missing?`border-error/30 bg-error/5 text-error`:`border-accent/20 bg-accent/5 text-text-secondary hover:border-accent/40 hover:bg-accent/10`),title:`${e} -> ${n.tableName}\n${i.id}`,children:[(0,U.jsx)(`span`,{className:`truncate font-mono`,children:i.id}),(0,U.jsx)(`span`,{className:`shrink-0 text-text-tertiary`,children:i.missing?`missing`:n.tableName})]}):(0,U.jsx)(`span`,{className:`text-text-tertiary italic`,children:n.field.optional?`none`:`-`})}let i=xt(e,t);if(i.kind===`date`){let e=St(i.text);return(0,U.jsx)(`span`,{className:`block truncate tabular-nums text-[11px] text-amber-100`,title:i.title?`${i.text}\n${i.title}`:i.text,children:e})}return i.kind===`color`&&i.colorHex?(0,U.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,title:i.text,children:[(0,U.jsx)(`span`,{className:`inline-block size-3.5 shrink-0 rounded-sm border border-white/20`,style:{backgroundColor:i.colorHex}}),(0,U.jsx)(`span`,{className:`text-text-secondary`,children:i.text})]}):t===null?(0,U.jsx)(`span`,{className:`text-text-tertiary italic`,children:`null`}):t===void 0?(0,U.jsx)(`span`,{className:`text-text-tertiary italic`,children:`-`}):typeof t==`boolean`?(0,U.jsx)(`span`,{className:t?`text-success`:`text-text-tertiary`,children:String(t)}):typeof t==`number`?(0,U.jsx)(`span`,{className:`text-info`,children:t}):typeof t==`string`?t.length>72?(0,U.jsxs)(`span`,{className:`block truncate text-text-secondary`,title:t,children:[`"`,t,`"`]}):(0,U.jsxs)(`span`,{className:`text-text-secondary`,children:[`"`,t,`"`]}):typeof t==`object`?(0,U.jsx)(`span`,{className:`text-text-tertiary`,children:Array.isArray(t)?`[${t.length} items]`:`{${Object.keys(t).length} keys}`}):typeof t==`bigint`?(0,U.jsx)(`span`,{className:`text-text-secondary`,children:String(t)}):(0,U.jsx)(`span`,{className:`text-text-secondary`,children:`-`})}function Vt({checked:e,onChange:t,ariaLabel:n}){return(0,U.jsxs)(`label`,{className:`flex cursor-pointer items-center`,children:[(0,U.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>t(e.currentTarget.checked),"aria-label":n,className:`sr-only`}),(0,U.jsx)(`div`,{"aria-hidden":!0,className:I(`flex size-3.5 items-center justify-center rounded-sm border transition-colors`,e?`border-accent bg-accent`:`border-border bg-bg-base hover:border-border-hover`),children:e&&(0,U.jsx)(`svg`,{viewBox:`0 0 10 8`,className:`size-2.5`,fill:`none`,stroke:`white`,strokeWidth:1.8,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,U.jsx)(`path`,{d:`M1 4L3.5 6.5L9 1`})})})]})}function Ht(e){return e===`_id`||e===`id`?`w-[18rem]`:gt(e)||e===`_creationTime`?`w-[16rem]`:_t(e)?`w-40`:`w-56`}function Ut(e,t){let n=e._id??e.id;return typeof n==`string`||typeof n==`number`||typeof n==`bigint`?String(n):`row-${t}`}var Wt=[{value:`eq`,label:`=`},{value:`neq`,label:`!=`},{value:`gt`,label:`>`},{value:`gte`,label:`>=`},{value:`lt`,label:`<`},{value:`lte`,label:`<=`},{value:`contains`,label:`contains`},{value:`startsWith`,label:`starts with`}];function Gt({fields:e,filters:t,onFiltersChange:n,className:r}){let[i,a]=(0,H.useState)(t.length>0),o=()=>{e.length!==0&&(n([...t,{field:e[0],operator:`eq`,value:``}]),a(!0))},f=e=>{n(t.filter((t,n)=>n!==e))},p=(e,r)=>{n(t.map((t,n)=>n===e?{...t,...r}:t))};return(0,U.jsxs)(`div`,{className:I(`space-y-2`,r),children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsxs)(v,{variant:`outline`,size:`xs`,onClick:()=>a(!i),className:`gap-1`,children:[(0,U.jsx)(m,{size:11}),`Filters`,t.length>0&&(0,U.jsx)(L,{variant:`secondary`,className:`ml-1 text-[9px] px-1 py-0`,children:t.length})]}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,onClick:o,className:`gap-1`,children:[(0,U.jsx)(Ie,{size:11}),`Add Filter`]})]}),i&&t.length>0&&(0,U.jsx)(`div`,{className:`space-y-1.5 p-2 rounded-md border border-border bg-bg-surface/50`,children:t.map((t,n)=>(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,U.jsxs)(d,{value:t.field,onValueChange:e=>p(n,{field:e}),children:[(0,U.jsx)(c,{className:`h-7 w-36 text-[11px]`,children:(0,U.jsx)(s,{})}),(0,U.jsx)(l,{children:e.map(e=>(0,U.jsx)(u,{value:e,className:`text-[11px]`,children:e},e))})]}),(0,U.jsxs)(d,{value:t.operator,onValueChange:e=>p(n,{operator:e}),children:[(0,U.jsx)(c,{className:`h-7 w-28 text-[11px]`,children:(0,U.jsx)(s,{})}),(0,U.jsx)(l,{children:Wt.map(e=>(0,U.jsx)(u,{value:e.value,className:`text-[11px]`,children:e.label},e.value))})]}),(0,U.jsx)(b,{value:String(t.value),onChange:e=>p(n,{value:e.target.value}),placeholder:`Value...`,className:`h-7 flex-1 text-[11px]`}),(0,U.jsx)(v,{variant:`ghost`,size:`icon-xs`,onClick:()=>f(n),children:(0,U.jsx)(xe,{size:11})})]},n))})]})}function Kt({document:e,onClose:n,onDelete:i,onEditField:a,onEditDocument:o,onDuplicate:s,referenceFields:c,className:l}){let[u,d]=(0,H.useState)(!1),f=(0,H.useCallback)(()=>{e&&navigator.clipboard.writeText(JSON.stringify(e,null,2)).then(()=>{d(!0),setTimeout(()=>d(!1),1500)})},[e]);if(!e)return null;let p=$(e);return(0,U.jsxs)(`div`,{className:I(`flex w-[24rem] flex-col border-l border-border bg-bg-base`,l),children:[(0,U.jsxs)(`div`,{className:`border-b border-border px-4 py-3`,children:[(0,U.jsxs)(`div`,{className:`mb-3 flex items-start justify-between gap-3`,children:[(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsx)(`div`,{className:`text-[13px] font-semibold text-text-primary`,children:`Inspector`}),(0,U.jsxs)(`div`,{className:`mt-1 flex min-w-0 items-center gap-2`,children:[(0,U.jsx)(L,{variant:`outline`,className:`shrink-0 text-[9px]`,children:`Document`}),(0,U.jsx)(`span`,{className:`truncate font-mono text-[11px] text-text-secondary`,children:p})]})]}),(0,U.jsx)(v,{variant:`ghost`,size:`icon-xs`,onClick:n,children:(0,U.jsx)(xe,{size:11})})]}),(0,U.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0 rounded-md border border-border bg-bg-surface p-1`,children:[(0,U.jsx)(v,{variant:`ghost`,size:`icon-xs`,onClick:f,title:`Copy JSON`,children:u?(0,U.jsx)(C,{size:11,className:`text-success`}):(0,U.jsx)(r,{size:11})}),s&&(0,U.jsx)(v,{variant:`ghost`,size:`icon-xs`,onClick:()=>s(e),title:`Duplicate document`,children:(0,U.jsx)(Oe,{size:11})}),o&&(0,U.jsx)(v,{variant:`ghost`,size:`icon-xs`,onClick:()=>o(e),title:`Edit document JSON`,children:(0,U.jsx)(Le,{size:11})}),i&&(0,U.jsx)(v,{variant:`ghost`,size:`icon-xs`,onClick:()=>i(p),title:`Delete document`,children:(0,U.jsx)(ge,{size:11,className:`text-error`})})]})]}),(0,U.jsxs)(z,{className:`flex-1`,children:[(0,U.jsx)(`div`,{className:`p-4`,children:(0,U.jsx)(t,{data:e,defaultExpanded:!0,maxDepth:6,showCopy:!1})}),(0,U.jsx)(_,{}),(0,U.jsxs)(`div`,{className:`p-4`,children:[(0,U.jsx)(`h4`,{className:`mb-2 text-[11px] font-medium text-text-secondary`,children:`Fields`}),(0,U.jsx)(`div`,{className:`space-y-1.5`,children:Object.entries(e).map(([e,t])=>{let n=vt(e,t),r=xt(e,t),i=c?.[e],o=i?Tt(i,t):null,s=o?o.id:r.kind===`date`?St(r.text):r.text;return(0,U.jsxs)(`div`,{className:`group flex items-start justify-between gap-3 rounded-md border border-transparent px-3 py-2 transition-colors hover:border-border hover:bg-bg-surface`,children:[(0,U.jsxs)(`div`,{className:`min-w-0`,children:[(0,U.jsx)(`span`,{className:`font-mono text-[11px] text-accent`,children:e}),(0,U.jsxs)(`div`,{className:`mt-1 flex items-center gap-1.5 truncate text-[10px] text-text-secondary`,children:[n&&(0,U.jsx)(`span`,{className:`inline-block size-3 shrink-0 rounded-sm border border-white/20`,style:{backgroundColor:n.hex}}),i&&(0,U.jsx)(L,{variant:o?.missing?`destructive`:`outline`,className:`h-4 px-1 py-0 text-[8px]`,children:o?.missing?`missing`:i.tableName}),s]})]}),(0,U.jsxs)(`div`,{className:`ml-3 flex items-center gap-2`,children:[(0,U.jsx)(`span`,{className:`text-[10px] text-text-tertiary`,children:r.kind===`empty`?`—`:r.kind}),(0,U.jsx)(v,{variant:`ghost`,size:`icon-xs`,onClick:()=>a?.(p,e,t),disabled:!a,className:`opacity-0 group-hover:opacity-100 transition-opacity`,title:`Edit field`,children:(0,U.jsx)(Le,{size:9})})]})]},e)})})]})]})]})}function qt({open:e,onOpenChange:t,title:n,description:r,submitLabel:i,initialDocument:a,hint:o,requireDirty:s=!1,onSubmit:c}){let l=(0,H.useMemo)(()=>Jt(a??{}),[a]),u=(0,H.useMemo)(()=>JSON.stringify(l,null,2)??`{}`,[l]),[d,f]=(0,H.useState)(u),[p,m]=(0,H.useState)(null),[g,_]=(0,H.useState)(!1);(0,H.useEffect)(()=>{e&&(f(u),m(null),_(!1))},[u,e]);let y=(0,H.useMemo)(()=>{try{let e=JSON.parse(d);return Yt(e)?{value:Jt(e),parseError:null}:{value:null,parseError:`The document must be a JSON object.`}}catch(e){return{value:null,parseError:e instanceof Error?e.message:`Invalid JSON`}}},[d]),b=(0,H.useMemo)(()=>y.value?JSON.stringify(y.value)!==JSON.stringify(l):!1,[l,y.value]),C=(0,H.useMemo)(()=>y.value?Xt(l,y.value):null,[l,y.value]),ee=async()=>{if(m(null),!(y.parseError||!y.value)&&!(s&&!b)){_(!0);try{await c(y.value),t(!1)}catch(e){m(e instanceof Error?e.message:`Failed to save document.`)}finally{_(!1)}}};return(0,U.jsx)(Ce,{open:e,onOpenChange:t,children:(0,U.jsxs)(oe,{className:`sm:max-w-2xl`,children:[(0,U.jsxs)(re,{children:[(0,U.jsx)(ve,{children:n}),(0,U.jsx)(S,{children:r})]}),(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,U.jsx)(L,{variant:b?`warning`:`secondary`,className:`text-[10px]`,children:b?`Unsaved changes`:`No changes`}),C&&(0,U.jsxs)(`span`,{className:`text-[11px] text-text-tertiary`,children:[`+`,C.added,` added, ~`,C.changed,` changed, -`,C.removed,` `,`removed`]})]}),(0,U.jsx)(`div`,{className:`rounded-md border border-border bg-bg-base/70 p-2`,children:(0,U.jsx)(`textarea`,{value:d,onChange:e=>f(e.target.value),spellCheck:!1,className:`min-h-[320px] w-full resize-y bg-transparent px-2 py-1 font-mono text-[12px] leading-6 text-text-code outline-none placeholder:text-text-tertiary`,placeholder:`{
4
+ "name": "Ada",
5
+ "role": "admin"
6
+ }`})}),o&&(0,U.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-accent/15 bg-accent/5 px-3 py-2 text-[11px] text-text-secondary`,children:[(0,U.jsx)(V,{size:12,className:`mt-0.5 shrink-0 text-accent`}),(0,U.jsx)(`p`,{children:o})]}),y.parseError&&(0,U.jsx)(`div`,{className:`rounded-md border border-error/20 bg-error/5 px-3 py-2 text-[11px] text-error`,children:y.parseError}),p&&(0,U.jsx)(`div`,{className:`rounded-md border border-error/20 bg-error/5 px-3 py-2 text-[11px] text-error`,children:p})]}),(0,U.jsxs)(x,{showCloseButton:!0,children:[(0,U.jsx)(v,{variant:`ghost`,onClick:()=>f(u),disabled:g||d===u,children:`Reset`}),(0,U.jsxs)(v,{onClick:()=>void ee(),disabled:g||!!y.parseError||s&&!b,children:[g&&(0,U.jsx)(h,{size:14,className:`animate-spin`}),i]})]})]})})}function Jt(e){let t={...e};return delete t._id,delete t._creationTime,t}function Yt(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Xt(e,t){let n=new Set([...Object.keys(e),...Object.keys(t)]),r=0,i=0,a=0;for(let o of n){let n=o in e,s=o in t;if(!n&&s){r+=1;continue}if(n&&!s){a+=1;continue}JSON.stringify(e[o])!==JSON.stringify(t[o])&&(i+=1)}return{added:r,changed:i,removed:a}}function Zt({open:e,onOpenChange:t,tableName:n,initialText:r,onImport:i}){let[a,o]=(0,H.useState)(r??`[]`),[s,c]=(0,H.useState)(null),[l,u]=(0,H.useState)(!1);(0,H.useEffect)(()=>{e&&(o(r??`[]`),c(null),u(!1))},[r,e]);let d=async()=>{c(null);let e;try{e=Qt(a)}catch(e){c(e instanceof Error?e.message:`Invalid import payload.`);return}u(!0);try{await i(e),t(!1)}catch(e){c(e instanceof Error?e.message:`Import failed.`)}finally{u(!1)}};return(0,U.jsx)(Ce,{open:e,onOpenChange:t,children:(0,U.jsxs)(oe,{className:`sm:max-w-2xl`,children:[(0,U.jsxs)(re,{children:[(0,U.jsx)(ve,{children:`Import Documents`}),(0,U.jsxs)(S,{children:[`Paste a JSON object, a JSON array, or JSONL to import into`,` `,(0,U.jsx)(`span`,{className:`font-mono text-text-primary`,children:n??`the selected table`}),`.`]})]}),(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(`div`,{className:`rounded-md border border-border bg-bg-base/70 p-2`,children:(0,U.jsx)(`textarea`,{value:a,onChange:e=>o(e.target.value),spellCheck:!1,className:`min-h-[320px] w-full resize-y bg-transparent px-2 py-1 font-mono text-[12px] leading-6 text-text-code outline-none placeholder:text-text-tertiary`,placeholder:`[
7
+ { "name": "Ada" },
8
+ { "name": "Grace" }
9
+ ]`})}),(0,U.jsxs)(`div`,{className:`rounded-md border border-accent/15 bg-accent/5 px-3 py-2 text-[11px] text-text-secondary`,children:[`System fields like`,` `,(0,U.jsx)(`span`,{className:`font-mono text-text-primary`,children:`_id`}),` and`,` `,(0,U.jsx)(`span`,{className:`font-mono text-text-primary`,children:`_creationTime`}),` `,`are ignored on import.`]}),s&&(0,U.jsx)(`div`,{className:`rounded-md border border-error/20 bg-error/5 px-3 py-2 text-[11px] text-error`,children:s})]}),(0,U.jsx)(x,{showCloseButton:!0,children:(0,U.jsxs)(v,{onClick:()=>void d(),disabled:l,children:[l?(0,U.jsx)(h,{size:14,className:`animate-spin`}):(0,U.jsx)(ze,{size:14}),`Import`]})})]})})}function Qt(e){let t=e.trim();if(!t)throw Error(`Paste at least one document to import.`);try{let e=JSON.parse(t);return Array.isArray(e)?e.map($t).map(en):[en($t(e))]}catch{let e=t.split(/\r?\n/).map(e=>e.trim()).filter(Boolean);if(e.length===0)throw Error(`Paste at least one document to import.`);return e.map((e,t)=>{try{return en($t(JSON.parse(e)))}catch(e){throw Error(e instanceof Error?`Line ${t+1}: ${e.message}`:`Line ${t+1}: Invalid JSON`,{cause:e})}})}}function $t(e){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Each imported item must be a JSON object.`);return e}function en(e){let t={...e};return delete t._id,delete t._creationTime,t}var tn={string:B,number:ke,boolean:Re,object:Ee,array:Me,date:De};function nn({schema:e,className:t}){return e?(0,U.jsx)(z,{className:I(`h-full`,t),children:(0,U.jsxs)(`div`,{className:`p-4`,children:[(0,U.jsxs)(`div`,{className:`mb-3 flex items-center gap-2`,children:[(0,U.jsx)(`h3`,{className:`text-[13px] font-semibold text-text-primary`,children:e.name}),(0,U.jsxs)(L,{variant:`outline`,className:`text-[10px]`,children:[e.fields.length,` fields`]}),(0,U.jsxs)(L,{variant:`secondary`,className:`text-[10px]`,children:[e.documentCount,` docs`]})]}),(0,U.jsx)(`div`,{className:`space-y-1`,children:e.fields.map(e=>(0,U.jsxs)(`div`,{className:`flex items-center gap-3 rounded-md border border-transparent px-3 py-2 transition-colors hover:border-border hover:bg-bg-surface`,children:[(0,U.jsx)(e.referenceTable?Ne:tn[e.type]??B,{size:12,className:`text-text-tertiary shrink-0`}),(0,U.jsx)(`span`,{className:`text-[12px] text-text-primary font-mono flex-1`,children:e.name}),(0,U.jsx)(L,{variant:`outline`,className:`text-[10px] font-mono`,children:e.type}),e.referenceTable&&(0,U.jsxs)(L,{variant:`secondary`,className:`text-[10px] font-mono`,children:[`->`,` `,e.referenceTable]}),e.optional&&(0,U.jsx)(L,{variant:`secondary`,className:`text-[10px]`,children:`optional`})]},e.name))})]})}):(0,U.jsx)(`div`,{className:I(`py-8 text-center`,t),children:(0,U.jsx)(`p`,{className:`text-[12px] text-text-tertiary`,children:`Select a table to view its schema`})})}function rn({indexes:e,className:t}){return e.length===0?(0,U.jsx)(`div`,{className:I(`py-8 text-center`,t),children:(0,U.jsx)(`p`,{className:`text-[12px] text-text-tertiary`,children:`No indexes defined for this table`})}):(0,U.jsx)(z,{className:I(`h-full`,t),children:(0,U.jsx)(`div`,{className:`space-y-2 p-4`,children:e.map(e=>(0,U.jsxs)(`div`,{className:`rounded-md border border-border bg-bg-surface p-3`,children:[(0,U.jsxs)(`div`,{className:`mb-2 flex items-center gap-2`,children:[(0,U.jsx)(Ae,{size:12,className:`text-accent shrink-0`}),(0,U.jsx)(`span`,{className:`text-[12px] text-text-primary font-mono font-medium`,children:e.name}),e.unique&&(0,U.jsx)(L,{variant:`warning`,className:`text-[10px]`,children:`unique`})]}),(0,U.jsxs)(`div`,{className:`ml-5 flex items-center gap-1.5`,children:[(0,U.jsx)(Te,{size:10,className:`text-text-tertiary`}),(0,U.jsx)(`div`,{className:`flex items-center gap-1`,children:e.fields.map((t,n)=>(0,U.jsxs)(`span`,{children:[(0,U.jsx)(`code`,{className:`rounded bg-bg-base px-1 py-0.5 text-[11px] text-text-code`,children:t}),n<e.fields.length-1&&(0,U.jsx)(`span`,{className:`text-text-tertiary text-[10px] mx-0.5`,children:`,`})]},t))})]})]},e.name))})})}var an=ye(`/data`)({component:on});function on(){let{targetRuntimeId:t,usingProjectTarget:r}=me(),s=_e(),{pushToast:c}=Se(),[l,u]=(0,H.useState)(null),[d,m]=(0,H.useState)(``),[_,y]=(0,H.useState)(`data`),[b,x]=(0,H.useState)([]),[C,ee]=(0,H.useState)(0),[w,T]=(0,H.useState)([]),[E,D]=(0,H.useState)([]),[O,te]=(0,H.useState)(null),[k,A]=(0,H.useState)(null),[ne,j]=(0,H.useState)(!1),[M,N]=(0,H.useState)(`insert`),[P,ie]=(0,H.useState)(null),[F,ae]=(0,H.useState)(null),[se,ce]=(0,H.useState)(!1),[le,ue]=(0,H.useState)(!1),[de,he]=(0,H.useState)(!1),[ye,z]=(0,H.useState)(void 0),[we,Te]=(0,H.useState)(!1),[Ee,De]=(0,H.useState)(!1),[ke,Ne]=(0,H.useState)(!1),[Pe,Le]=(0,H.useState)(!1),[Re,B]=(0,H.useState)({}),V=be(t?{kind:`schema.tables`}:null,{enabled:!!t,targetRuntimeId:t}),W=(0,H.useMemo)(()=>V.data?.kind===`schema.tables.result`?V.data.tables:[],[V.data]),G=(0,H.useMemo)(()=>W.find(e=>e.name===l)??null,[W,l]),K=(0,H.useMemo)(()=>{let e=G?.fields.map(e=>Ct(e,e.referenceTable?Re[e.referenceTable]??[]:[])).filter(e=>!!e)??[];return Object.fromEntries(e.map(e=>[e.field.name,e]))},[G,Re]);(0,H.useEffect)(()=>{W.length>0&&!l&&u(W[0].name)},[W,l]),(0,H.useEffect)(()=>{l&&y(`data`)},[l]),(0,H.useEffect)(()=>{if(!t||!G){B({});return}let e=Array.from(new Set(G.fields.map(e=>e.referenceTable).filter(e=>!!e)));if(e.length===0){B({});return}let n=!1;return Promise.all(e.map(async e=>{let n=await R({kind:`data.referenceOptions`,table:e,limit:100,offset:0},{targetRuntimeId:t});return n.kind!==`data.referenceOptions.result`||n.error?[e,[]]:[e,n.rows]})).then(e=>{n||B(Object.fromEntries(e))}).catch(()=>{n||B({})}),()=>{n=!0}},[G,t]);let q=be(t&&l?{kind:`data.table`,table:l,...w.length>0?{filters:w}:{},limit:100}:null,{enabled:!!t&&!!l,targetRuntimeId:t});(0,H.useEffect)(()=>{if(q.data?.kind===`data.table.result`){let e=q.data.rows,t=q.data.totalCount;x(t=>pn(t,e)?t:e),ee(e=>e===t?e:t)}},[q.data]),(0,H.useEffect)(()=>{t&&!q.loading||(x(e=>e.length===0?e:[]),ee(e=>e===0?e:0),D(e=>e.length===0?e:[]))},[q.loading,t]),(0,H.useEffect)(()=>{Ne(e=>e===q.loading?e:q.loading)},[q.loading]);let J=(0,H.useCallback)(async e=>{if(!(!t||!l))try{await R({kind:`data.delete`,table:l,id:e},{targetRuntimeId:t}),D(t=>t.filter(t=>t!==e)),c({tone:`success`,title:`Document deleted`,description:`${e} was removed from ${l}.`})}catch(e){c({tone:`error`,title:`Delete failed`,description:e instanceof Error?e.message:`Unknown error`})}},[c,l,t]),Be=(0,H.useCallback)(async e=>{!t||!l||e.length===0||(await Promise.all(e.map(e=>R({kind:`data.delete`,table:l,id:e},{targetRuntimeId:t}))),D([]),c({tone:`success`,title:`Documents deleted`,description:`${e.length} document${e.length===1?``:`s`} removed from ${l}.`}))},[c,l,t]),Y=(0,H.useCallback)(async(e,n)=>{if(!t||!l)return;_n(K,e);let r=await R({kind:`data.insert`,table:l,document:e},{targetRuntimeId:t});if(r.kind===`data.mutate.result`&&!r.success)throw Error(r.error??`Failed to insert document.`);n?.silent||c({tone:`success`,title:`Document created`,description:`A new document was added to ${l}.`})},[c,K,l,t]),Ve=(0,H.useCallback)(async(e,n)=>{if(!t||!l)return;_n(K,n);let r=await R({kind:`data.patch`,table:l,id:e,fields:n},{targetRuntimeId:t});if(r.kind===`data.mutate.result`&&!r.success)throw Error(r.error??`Failed to update document.`);c({tone:`success`,title:`Document updated`,description:`${e} was updated.`})},[c,K,l,t]),He=(0,H.useCallback)(async(e,t,n)=>{try{gn(K[t],n),await Ve(e,{[t]:n}),ie(null)}catch(e){c({tone:`error`,title:`Field update failed`,description:e instanceof Error?e.message:`Failed to update field.`})}},[Ve,c,K]),Ue=(0,H.useCallback)(async e=>{for(let t of e)_n(K,t),await Y(t,{silent:!0});c({tone:`success`,title:`Import complete`,description:`${e.length} document${e.length===1?``:`s`} imported into ${l}.`})},[Y,c,K,l]),We=(0,H.useCallback)(()=>{l&&(fn(b,`${l}.json`),c({tone:`info`,title:`Export ready`,description:`${b.length} rows exported from ${l}.`}))},[c,b,l]),Ge=(0,H.useCallback)(()=>{if(!l||E.length===0)return;let e=new Set(E),t=b.filter(t=>e.has($(t)));fn(t,`${l}-selection.json`),c({tone:`info`,title:`Selection exported`,description:`${t.length} selected row${t.length===1?``:`s`} exported.`})},[c,b,E,l]),Ke=(0,H.useCallback)(async()=>{if(!t||W.length===0)return;let e=await R({kind:`data.export`,tables:W.map(e=>e.name)},{targetRuntimeId:t});if(e.kind!==`data.export.result`)throw Error(`Unexpected export response.`);if(e.error)throw Error(e.error);fn({format:`syncore.devtools.export.v1`,exportedAt:new Date().toISOString(),tables:e.tables},`syncore-database-export.json`);let n=e.tables.reduce((e,t)=>e+t.rows.length,0);c({tone:`info`,title:`Database export ready`,description:`${e.tables.length} table${e.tables.length===1?``:`s`} and ${n} row${n===1?``:`s`} exported.`})},[c,W,t]),qe=(0,H.useCallback)(async e=>{if(!t)return;let n=0;for(let r of e)for(let e of r.rows){let i=await R({kind:`data.insert`,table:r.name,document:dn(e)},{targetRuntimeId:t});if(i.kind===`data.mutate.result`&&!i.success)throw Error(i.error??`Failed to import into ${r.name}.`);n+=1}c({tone:`success`,title:`Database import complete`,description:`${n} row${n===1?``:`s`} imported into ${e.length} table${e.length===1?``:`s`}.`})},[c,t]),Je=(0,H.useCallback)(async()=>{let e=new Set(E),t=b.filter(t=>e.has($(t)));for(let e of t)await Y(dn(e),{silent:!0});D([]),c({tone:`success`,title:`Documents duplicated`,description:`${t.length} document${t.length===1?``:`s`} duplicated.`})},[Y,c,b,E]),Ye=(0,H.useCallback)(async()=>{try{let e=await navigator.clipboard.readText();if(!e.trim())return;z(e),ue(!0)}catch{}},[]),X=k,Z=(0,H.useMemo)(()=>k?b.find(e=>$(e)===k)??null:null,[b,k]);(0,H.useEffect)(()=>{k&&!Z&&A(null)},[Z,k]),(0,H.useEffect)(()=>{let e=new Set(b.map(e=>$(e)));D(t=>t.filter(t=>e.has(t)))},[b]),(0,H.useEffect)(()=>{O&&b.some(e=>$(e)===O)&&(A(O),te(null))},[O,b]),(0,H.useEffect)(()=>{let e=e=>{let t=e.target;if(t instanceof HTMLElement&&(t.isContentEditable||t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.tagName===`SELECT`)||ne||le||P!==null||se||F!==null)return;let n=e.metaKey||e.ctrlKey;if(e.key===`Delete`||e.key===`Backspace`){if(E.length>0){e.preventDefault(),ce(!0);return}Z&&(e.preventDefault(),ae($(Z)));return}if(n&&e.key.toLowerCase()===`a`){if(b.length===0)return;e.preventDefault(),D(b.map(e=>$(e))),c({tone:`info`,title:`Rows selected`,description:`${b.length} visible row${b.length===1?``:`s`} selected.`});return}if(n&&e.key.toLowerCase()===`c`){let t=new Set(E),n=E.length>0?b.filter(e=>t.has($(e))):Z?[Z]:[];if(n.length===0)return;e.preventDefault(),navigator.clipboard.writeText(JSON.stringify(n,null,2)),c({tone:`success`,title:`Copied to clipboard`,description:`${n.length} document${n.length===1?``:`s`} copied as JSON.`});return}n&&e.key.toLowerCase()===`v`&&(e.preventDefault(),Ye())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[F,se,ne,P,Ye,le,Z,c,b,E]);let Xe=E.length,Ze=(0,H.useMemo)(()=>G?G.fields.map(e=>e.name):b.length>0?Object.keys(b[0]):[],[G,b]),Qe=(0,H.useMemo)(()=>b.filter(e=>vn(e,K)),[K,b]),$e=Pe?Qe:b,et=(0,H.useMemo)(()=>d?W.filter(e=>e.name.toLowerCase().includes(d.toLowerCase())):W,[W,d]),tt=V.loading||ke,nt=mn(q.error,V.error,s?.lastSubscriptionError);return(0,U.jsxs)(`div`,{className:`flex h-[calc(100vh-7rem)] gap-3`,children:[(0,U.jsx)(`div`,{className:`hidden min-h-0 w-72 shrink-0 md:flex`,children:(0,U.jsx)(sn,{filteredTables:et,targetAvailable:!!t,usingProjectTarget:r,schemaLoading:V.loading,hasSchemaData:!!V.data,selectedTable:l,tableCount:W.length,tableSearch:d,onTableSearchChange:m,onSelectTable:e=>{u(e),D([]),A(null),te(null),T([]),Te(!1)}})}),(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col overflow-hidden rounded-md border border-border bg-bg-surface`,children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2 md:hidden`,children:[(0,U.jsxs)(v,{variant:`outline`,size:`sm`,className:`gap-1.5`,onClick:()=>Te(!0),children:[(0,U.jsx)(g,{size:13}),`Tables`]}),l&&(0,U.jsx)(L,{variant:`secondary`,className:`max-w-[60vw] truncate`,children:(0,U.jsx)(`span`,{className:`truncate font-mono`,children:l})}),W.length>0&&(0,U.jsxs)(`span`,{className:`ml-auto text-[11px] text-text-tertiary`,children:[W.length,` tables`]})]}),l?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2`,children:[(0,U.jsxs)(`div`,{className:`hidden min-w-0 flex-1 items-center gap-2 sm:flex`,children:[(0,U.jsx)(`h3`,{className:`truncate font-mono text-[13px] font-semibold text-text-primary`,children:l}),(0,U.jsxs)(L,{variant:`outline`,className:`text-[10px]`,children:[C,` rows`]}),tt&&(0,U.jsx)(h,{size:12,className:`animate-spin text-text-tertiary`}),nt&&(0,U.jsx)(L,{variant:`destructive`,className:`max-w-88`,children:(0,U.jsx)(`span`,{className:`truncate`,children:nt})}),s&&(0,U.jsxs)(L,{variant:`outline`,className:`hidden text-[10px] font-mono lg:inline-flex`,children:[s.platform,`:`,pe(s.runtimeId)]})]}),(0,U.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center gap-2 sm:hidden`,children:[(0,U.jsxs)(L,{variant:`outline`,className:`text-[10px]`,children:[C,` rows`]}),tt&&(0,U.jsx)(h,{size:12,className:`animate-spin text-text-tertiary`}),nt&&(0,U.jsx)(L,{variant:`destructive`,className:`max-w-36`,children:(0,U.jsx)(`span`,{className:`truncate`,children:nt})})]}),(0,U.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,U.jsxs)(v,{variant:`outline`,size:`xs`,className:`gap-1`,onClick:()=>{N(`insert`),j(!0)},disabled:!l,children:[(0,U.jsx)(Ie,{size:11}),`New`]}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,className:`gap-1`,onClick:()=>{z(void 0),ue(!0)},disabled:!l,children:[(0,U.jsx)(f,{size:11}),`Import`]}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,className:`gap-1`,onClick:We,disabled:b.length===0,children:[(0,U.jsx)(ze,{size:11}),`Export`]}),(0,U.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,className:`gap-1`,onClick:()=>he(!0),disabled:!t,title:`Import all tables from a database export file`,children:[(0,U.jsx)(fe,{size:11}),(0,U.jsx)(f,{size:11}),(0,U.jsx)(`span`,{className:`hidden md:inline`,children:`Import DB`})]}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,className:`gap-1`,onClick:()=>{Ke().catch(e=>{c({tone:`error`,title:`Database export failed`,description:e instanceof Error?e.message:`Unknown error`})})},disabled:!t||W.length===0,title:`Export all tables as a single file`,children:[(0,U.jsx)(fe,{size:11}),(0,U.jsx)(ze,{size:11}),(0,U.jsx)(`span`,{className:`hidden md:inline`,children:`Export DB`})]}),(0,U.jsx)(`div`,{className:`mx-1 h-4 w-px bg-border`}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,className:`gap-1 hidden sm:inline-flex`,onClick:()=>{Z&&(N(`patch`),j(!0))},disabled:!Z,children:[(0,U.jsx)(Fe,{size:11}),`Edit`]}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,className:`gap-1 hidden sm:inline-flex`,onClick:()=>{Z&&(N(`duplicate`),j(!0))},disabled:!Z,children:[(0,U.jsx)(Oe,{size:11}),`Duplicate`]}),(0,U.jsx)(v,{variant:`ghost`,size:`xs`,className:`gap-1 hidden sm:inline-flex`,onClick:()=>De(!0),children:(0,U.jsx)(je,{size:11})})]})]}),Xe>0&&(0,U.jsxs)(`div`,{className:`flex items-center gap-1.5 border-b border-border bg-bg-base px-3 py-1.5`,children:[(0,U.jsxs)(L,{variant:`warning`,className:`text-[10px]`,children:[Xe,` selected`]}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,className:`gap-1`,onClick:()=>void Je(),children:[(0,U.jsx)(Oe,{size:11}),`Duplicate selected`]}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,className:`gap-1`,onClick:Ge,children:[(0,U.jsx)(f,{size:11}),`Export selected`]}),(0,U.jsxs)(v,{variant:`ghost`,size:`xs`,className:`gap-1 text-error hover:text-error`,onClick:()=>ce(!0),children:[(0,U.jsx)(ge,{size:11}),`Delete selected`]}),(0,U.jsx)(v,{variant:`ghost`,size:`icon-xs`,className:`ml-auto`,onClick:()=>D([]),title:`Clear selection`,children:(0,U.jsx)(xe,{size:11})})]}),(0,U.jsxs)(`div`,{className:`border-b border-border px-3 py-1.5`,children:[(0,U.jsx)(Gt,{fields:Ze,filters:w,onFiltersChange:T}),Object.keys(K).length>0&&(0,U.jsx)(`div`,{className:`mt-1.5 flex items-center gap-2`,children:(0,U.jsxs)(v,{variant:Pe?`secondary`:`ghost`,size:`xs`,onClick:()=>Le(e=>!e),disabled:Qe.length===0,children:[`Missing refs`,Qe.length>0&&(0,U.jsx)(L,{variant:`destructive`,className:`ml-1 px-1 py-0 text-[9px]`,children:Qe.length})]})})]}),(0,U.jsx)(`div`,{className:`mx-3 mb-3 mt-2 flex min-h-0 flex-1 flex-col overflow-hidden rounded-md border border-border bg-bg-base`,children:(0,U.jsxs)(a,{value:_,onValueChange:e=>y(e),className:`flex min-h-0 flex-1 flex-col`,children:[(0,U.jsx)(`div`,{className:`border-b border-border bg-bg-surface px-3`,children:(0,U.jsxs)(n,{variant:`line`,className:`h-9`,children:[(0,U.jsxs)(o,{value:`data`,className:`gap-1`,children:[(0,U.jsx)(g,{size:12}),`Data`]}),(0,U.jsxs)(o,{value:`schema`,className:`gap-1`,children:[(0,U.jsx)(Me,{size:12}),`Schema`]}),(0,U.jsxs)(o,{value:`indexes`,className:`gap-1`,children:[(0,U.jsx)(Ae,{size:12}),`Indexes`]})]})}),(0,U.jsx)(e,{value:`data`,forceMount:!0,className:I(`flex-1 min-h-0 bg-transparent`,_!==`data`&&`hidden`),children:(0,U.jsxs)(`div`,{className:`flex h-full`,children:[(0,U.jsx)(`div`,{className:`min-w-0 flex-1 p-2`,children:$e.length===0?(0,U.jsx)(i,{icon:fe,title:`No data`,description:Pe?`No rows have missing references.`:w.length>0?`No rows match the current filters.`:`This table is empty.`,className:`h-full rounded-md border border-border bg-bg-base`}):(0,U.jsx)(zt,{columns:Ze,rows:$e,selectedRowId:X,selectedRowIds:E,onToggleRowSelection:e=>{D(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},onToggleAllRows:(e,t)=>{D(n=>{if(t)return Array.from(new Set([...n,...e]));let r=new Set(e);return n.filter(e=>!r.has(e))})},onCellEdit:(e,t,n)=>{He(e,t,n)},onOpenReference:(e,t)=>{u(e),T([{field:`_id`,operator:`eq`,value:t}]),D([]),A(null),te(t),Le(!1)},onRowClick:e=>A(e),referenceFields:K,className:`h-full rounded-md border border-border bg-bg-base`},l)}),Z&&(0,U.jsx)(`div`,{className:`fixed inset-0 z-50 overflow-y-auto md:contents`,children:(0,U.jsx)(Kt,{document:Z,onClose:()=>A(null),onEditField:(e,t,n)=>ie({id:e,field:t,value:n}),onEditDocument:()=>{N(`patch`),j(!0)},onDuplicate:()=>{N(`duplicate`),j(!0)},onDelete:e=>ae(e),referenceFields:K,className:`w-full border-l-0 md:w-96 md:border-l`})})]})}),(0,U.jsx)(e,{value:`schema`,forceMount:!0,className:I(`flex-1 min-h-0 bg-transparent`,_!==`schema`&&`hidden`),children:(0,U.jsx)(nn,{schema:G,className:`p-2`})}),(0,U.jsx)(e,{value:`indexes`,forceMount:!0,className:I(`flex-1 min-h-0 bg-transparent`,_!==`indexes`&&`hidden`),children:(0,U.jsx)(rn,{indexes:G?.indexes??[],className:`p-2`})})]})})]}):(0,U.jsx)(i,{icon:fe,title:`Select a table`,description:`Choose a table from the sidebar to browse its data, view schema, and inspect indexes.`,className:`h-full`})]}),(0,U.jsx)(qt,{open:ne,onOpenChange:j,title:M===`insert`?`Create Document`:M===`duplicate`?`Duplicate Document`:`Edit Document`,description:M===`insert`?`Create a new document in the selected table.`:M===`duplicate`?`Create a new document based on the selected one.`:`Patch the selected document by editing its JSON payload.`,submitLabel:M===`insert`||M===`duplicate`?`Create`:`Save Changes`,initialDocument:M===`insert`?{}:Z??void 0,hint:M===`patch`?`System fields are preserved automatically. Only your JSON fields are patched.`:`You can paste nested objects and arrays here.`,requireDirty:M===`patch`,onSubmit:async e=>{if(M===`insert`||M===`duplicate`){await Y(e);return}if(!Z)throw Error(`Select a document before editing it.`);await Ve($(Z),e)}}),(0,U.jsx)(Zt,{open:le,onOpenChange:ue,tableName:l,initialText:ye,onImport:Ue}),(0,U.jsx)(cn,{open:de,onOpenChange:he,onImport:qe}),(0,U.jsx)(Ce,{open:Ee,onOpenChange:De,children:(0,U.jsxs)(oe,{className:`sm:max-w-md`,children:[(0,U.jsxs)(re,{children:[(0,U.jsx)(ve,{children:`Data Browser Shortcuts`}),(0,U.jsx)(S,{children:`Quick commands for selection, clipboard and delete flows.`})]}),(0,U.jsx)(`div`,{className:`space-y-2 text-[12px]`,children:[[`Cmd/Ctrl+A`,`Select all visible rows`],[`Cmd/Ctrl+C`,`Copy selected rows or open document as JSON`],[`Cmd/Ctrl+V`,`Open import with clipboard contents`],[`Delete / Backspace`,`Delete selected rows or open document`],[`Double click cell`,`Edit a single field inline`]].map(([e,t])=>(0,U.jsxs)(`div`,{className:`flex items-center justify-between gap-3 rounded-md border border-border bg-bg-base/60 px-3 py-2`,children:[(0,U.jsx)(`code`,{className:`rounded bg-bg-surface px-1.5 py-0.5 text-[11px] text-accent`,children:e}),(0,U.jsx)(`span`,{className:`text-right text-text-secondary`,children:t})]},e))})]})}),(0,U.jsx)(p,{open:F!==null,onOpenChange:e=>{e||ae(null)},title:`Delete document`,description:`This permanently removes the selected document from the table.`,confirmLabel:`Delete document`,onConfirm:()=>{F&&J(F)}}),(0,U.jsx)(p,{open:se,onOpenChange:ce,title:`Delete selected documents`,description:`This permanently removes ${E.length} selected document${E.length===1?``:`s`}.`,confirmLabel:`Delete selected`,onConfirm:()=>{Be(E)}}),(0,U.jsx)(qt,{open:P!==null,onOpenChange:e=>{e||ie(null)},title:P?`Edit Field: ${P.field}`:`Edit Field`,description:`Update a single field using JSON-compatible syntax.`,submitLabel:`Update Field`,initialDocument:P?{[P.field]:yt(P.field,P.value)}:void 0,hint:`Primitive values, arrays, objects, null, true and false are all supported.`,requireDirty:!0,onSubmit:async e=>{if(!P)throw Error(`No field selected.`);let t=e[P.field],n=typeof t==`string`?t:hn(t);await He(P.id,P.field,bt(P.field,n,P.value))}}),(0,U.jsx)(Ce,{open:we,onOpenChange:Te,children:(0,U.jsx)(oe,{className:`max-w-[calc(100%-1.5rem)] p-0 sm:max-w-lg`,children:(0,U.jsx)(sn,{filteredTables:et,targetAvailable:!!t,usingProjectTarget:r,schemaLoading:V.loading,hasSchemaData:!!V.data,selectedTable:l,tableCount:W.length,tableSearch:d,onTableSearchChange:m,onSelectTable:e=>{u(e),D([]),A(null),T([]),Te(!1)},className:`max-h-[75vh]`})})})]})}function sn({filteredTables:e,targetAvailable:t,usingProjectTarget:n,schemaLoading:r,hasSchemaData:i,selectedTable:a,tableCount:o,tableSearch:s,onTableSearchChange:c,onSelectTable:l,className:u}){return(0,U.jsxs)(`div`,{className:I(`flex min-h-0 flex-1 flex-col overflow-hidden rounded-md border border-border bg-bg-surface`,u),children:[(0,U.jsxs)(`div`,{className:`border-b border-border px-3 py-3`,children:[(0,U.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,U.jsx)(`h2`,{className:`text-[13px] font-semibold text-text-primary`,children:`Tables`}),(0,U.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r&&(0,U.jsx)(h,{size:12,className:`animate-spin text-text-tertiary`}),i&&(0,U.jsx)(`span`,{className:`text-[11px] text-text-tertiary`,children:o})]})]}),(0,U.jsxs)(`div`,{className:`relative`,children:[(0,U.jsx)(de,{size:13,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-text-tertiary`}),(0,U.jsx)(b,{placeholder:`Search tables...`,value:s,onChange:e=>c(e.target.value),className:`h-8 rounded-md border-border bg-bg-base pl-8 text-[12px]`})]})]}),(0,U.jsx)(z,{className:`flex-1`,children:(0,U.jsx)(`div`,{className:`space-y-1.5 p-2.5`,children:e.length===0?(0,U.jsxs)(`div`,{className:`py-10 text-center`,children:[(0,U.jsx)(fe,{size:20,className:`mx-auto mb-2 text-text-tertiary`}),(0,U.jsx)(`p`,{className:`text-[11px] text-text-tertiary`,children:t?`No tables found`:n?`Selected Project Target runtime unavailable`:`Connect a runtime`})]}):e.map(e=>(0,U.jsxs)(`button`,{type:`button`,onClick:()=>l(e.name),className:I(`flex w-full items-center gap-2 rounded-md border px-2.5 py-2.5 text-left transition-colors`,a===e.name?`border-border-active bg-bg-base text-text-primary`:`border-transparent bg-transparent text-text-secondary hover:border-border hover:bg-bg-base hover:text-text-primary`),children:[(0,U.jsx)(g,{size:13,className:`shrink-0 text-text-tertiary`}),(0,U.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,U.jsx)(`div`,{className:`truncate font-mono text-[12px]`,children:e.name})}),(0,U.jsx)(`span`,{className:`shrink-0 text-[10px] text-text-tertiary tabular-nums`,children:e.documentCount})]},e.name))})})]})}function cn({open:e,onOpenChange:t,onImport:n}){let[r,i]=(0,H.useState)(`{
10
+ "format": "syncore.devtools.export.v1",
11
+ "tables": []
12
+ }`),[a,o]=(0,H.useState)(null),[s,c]=(0,H.useState)(!1);(0,H.useEffect)(()=>{e&&(i(`{
13
+ "format": "syncore.devtools.export.v1",
14
+ "tables": []
15
+ }`),o(null),c(!1))},[e]);let l=async()=>{o(null);let e;try{e=ln(r)}catch(e){o(e instanceof Error?e.message:`Invalid import payload.`);return}c(!0);try{await n(e),t(!1)}catch(e){o(e instanceof Error?e.message:`Import failed.`)}finally{c(!1)}};return(0,U.jsx)(Ce,{open:e,onOpenChange:t,children:(0,U.jsxs)(oe,{className:`sm:max-w-2xl`,children:[(0,U.jsxs)(re,{children:[(0,U.jsx)(ve,{children:`Import Database`}),(0,U.jsx)(S,{children:`Paste a Syncore database export or a JSON object whose keys are table names and values are document arrays.`})]}),(0,U.jsxs)(`div`,{className:`space-y-3`,children:[(0,U.jsx)(`div`,{className:`rounded-md border border-border bg-bg-base/70 p-2`,children:(0,U.jsx)(`textarea`,{value:r,onChange:e=>i(e.target.value),spellCheck:!1,className:`min-h-80 w-full resize-y bg-transparent px-2 py-1 font-mono text-[12px] leading-6 text-text-code outline-none placeholder:text-text-tertiary`,placeholder:`{
16
+ "tasks": [{ "text": "Ship" }],
17
+ "projects": [{ "name": "Syncore" }]
18
+ }`})}),(0,U.jsxs)(`div`,{className:`rounded-md border border-accent/15 bg-accent/5 px-3 py-2 text-[11px] text-text-secondary`,children:[`System fields like`,` `,(0,U.jsx)(`span`,{className:`font-mono text-text-primary`,children:`_id`}),` and`,` `,(0,U.jsx)(`span`,{className:`font-mono text-text-primary`,children:`_creationTime`}),` `,`are ignored on import, matching single-table imports.`]}),a&&(0,U.jsx)(`div`,{className:`rounded-md border border-error/20 bg-error/5 px-3 py-2 text-[11px] text-error`,children:a})]}),(0,U.jsxs)(`div`,{className:`flex justify-end gap-2`,children:[(0,U.jsx)(v,{variant:`ghost`,onClick:()=>t(!1),disabled:s,children:`Cancel`}),(0,U.jsxs)(v,{onClick:()=>void l(),disabled:s,children:[s?(0,U.jsx)(h,{size:14,className:`animate-spin`}):(0,U.jsx)(ze,{size:14}),`Import database`]})]})]})})}function ln(e){let t=e.trim();if(!t)throw Error(`Paste a database export or table map to import.`);let n=JSON.parse(t);if(typeof n!=`object`||!n||Array.isArray(n))throw Error(`Database import payload must be a JSON object.`);let r=n;return Array.isArray(r.tables)?r.tables.map((e,t)=>{if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`tables[${t}] must be an object.`);let n=e;if(typeof n.name!=`string`||!n.name.trim())throw Error(`tables[${t}].name must be a table name.`);if(!Array.isArray(n.rows))throw Error(`tables[${t}].rows must be an array.`);return{name:n.name,rows:n.rows.map((e,t)=>un(e,`${n.name}[${t}]`))}}):Object.entries(r).map(([e,t])=>{if(!Array.isArray(t))throw Error(`${e} must be an array of documents.`);return{name:e,rows:t.map((t,n)=>un(t,`${e}[${n}]`))}})}function un(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`${t} must be a JSON object.`);return e}function dn(e){let t={...e};return delete t._id,delete t._creationTime,t}function fn(e,t){let n=new Blob([JSON.stringify(e,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=t,i.click(),URL.revokeObjectURL(r)}function pn(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(JSON.stringify(e[n])!==JSON.stringify(t[n]))return!1;return!0}function mn(...e){for(let t of e)if(typeof t==`string`)return t;return null}function hn(e){return typeof e==`string`?e:e===void 0?``:JSON.stringify(e)}function gn(e,t){if(e&&!((t==null||t===``)&&e.field.optional)){if(typeof t!=`string`)throw Error(`${e.field.name} must reference a row from ${e.tableName}.`);if(!e.options.some(e=>e.id===t))throw Error(`${t} does not exist in referenced table ${e.tableName}.`)}}function _n(e,t){for(let[n,r]of Object.entries(e))n in t&&gn(r,t[n])}function vn(e,t){return Object.entries(t).some(([t,n])=>{let r=e[t];return(r==null||r===``)&&n.field.optional?!1:typeof r==`string`&&!n.options.some(e=>e.id===r)})}export{an as Route};
@@ -0,0 +1 @@
1
+ import{Ot as e}from"./index-DrSG4qZZ.js";var t=e(`file-code`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{a as e,c as t,h as n,i as r,l as i,m as a,n as o,o as s,p as c,r as l,s as u,u as d}from"./shared-Bh0wwC2k.js";import{t as f}from"./circle-x-VsB4Z8W4.js";import{t as p}from"./file-code-BrOKjG4n.js";import{t as m}from"./loader-circle-CmJFSYga.js";import{t as h}from"./play-DS52VsLN.js";import{t as g}from"./separator-BU7xg615.js";import{A as _,At as ee,C as v,Ct as y,Dt as b,Ft as x,Mt as S,O as te,Pt as C,St as w,T as ne,_t as re,ct as T,g as ie,j as E,jt as ae,k as oe,kt as D,lt as O,m as se,p as ce,rt as le,v as ue,vt as k,w as de,wt as A,xt as j,y as M}from"./index-DrSG4qZZ.js";var N=x(C(),1),P=S(),fe=D(`/functions`)({component:F});function F(){let{functionMetrics:n,functionEvents:r,traceIndex:a}=ue(),{targetRuntimeId:o,usingProjectTarget:c,selectedTarget:f,runtimeFilter:h}=ie(),g=ae({from:`/functions`}),y=ee(),x=(0,N.useRef)(null),[S,C]=(0,N.useState)(``),[T,D]=(0,N.useState)(null),[fe,F]=(0,N.useState)(!1),[L,R]=(0,N.useState)({status:`idle`}),[B,V]=(0,N.useState)(`{}`),H=se(o?{kind:`functions.catalog`}:null,{enabled:!!o,targetRuntimeId:o}),U=(0,N.useMemo)(()=>h===`all`&&f?f.runtimes.filter(e=>e.connected).map(e=>e.runtimeId):o?[o]:[],[h,f,o]),W=ce(U.length>0?{kind:`runtime.activeQueries`}:null,U,{enabled:U.length>0}),G=H.data?.kind===`functions.catalog.result`?H.data.functions:null,be=H.loading,K=(0,N.useMemo)(()=>Object.values(W.dataByRuntime).flatMap(e=>e.kind===`runtime.activeQueries.result`?e.activeQueries:[]),[W.dataByRuntime]),q=(0,N.useMemo)(()=>G??[],[G]),J=(0,N.useMemo)(()=>{let e=new Map;for(let t of q){let n={name:t.name,type:t.type,...t.file?{file:t.file}:{},...t.modulePath?{modulePath:t.modulePath}:{},namespace:t.namespace??z(t.name),metadataAvailable:t.metadataAvailable??!!t.file,invocations:0,avgDuration:0,errorRate:0,lastInvoked:0,registered:!0,activeCount:K.filter(e=>e.functionName===t.name).length};t.args&&(n.args=t.args),e.set(t.name,n)}for(let t of n){let n=e.get(t.functionName),r=n?.type??s(t.type)??`query`,i={name:t.functionName,type:r,...n?.file?{file:n.file}:{},...n?.modulePath?{modulePath:n.modulePath}:{},namespace:n?.namespace??z(t.functionName),metadataAvailable:n?.metadataAvailable??!1,invocations:t.invocations,avgDuration:t.avgDuration,errorRate:t.errorRate,lastInvoked:t.lastInvoked,registered:n?.registered??!1,activeCount:K.filter(e=>e.functionName===t.functionName).length};n?.args&&(i.args=n.args),e.set(t.functionName,i)}return Array.from(e.values())},[K,q,n]),Y=(0,N.useMemo)(()=>{let e=S.trim().toLowerCase(),t=a.byFunctionName,n=e?J.filter(n=>ye(n,t).includes(e)):J,r=new Map;for(let e of n){let t=_e(e),n=r.get(t)??[];n.push(e),r.set(t,n)}return Array.from(r.entries()).map(([e,t])=>[e,[...t].sort(ve)]).sort(([e],[t])=>e.localeCompare(t))},[J,S,a.byFunctionName]),X=(0,N.useMemo)(()=>J.find(e=>e.name===T)??null,[J,T]),Z=(0,N.useMemo)(()=>T?r.filter(e=>e.functionName===T):[],[r,T]),xe=(0,N.useMemo)(()=>T?a.byFunctionName.get(T)??[]:[],[T,a]),Q=(0,N.useMemo)(()=>T?K.filter(e=>e.functionName===T):[],[K,T]),$=(0,N.useCallback)((e,t={})=>{D(e),V(`{}`),R({status:`idle`}),t.clearRouteSearch&&(x.current=null,y({to:`/functions`,search:{},replace:!0}))},[y]);(0,N.useEffect)(()=>{if(!g.fn){if(J.length===0){T!==null&&(D(null),V(`{}`),R({status:`idle`}));return}T&&J.some(e=>e.name===T)||$(J[0].name)}},[J,g.fn,$,T]),(0,N.useEffect)(()=>{if(!g.fn)return;let e=`${g.fn}\u0000${g.args??``}`;if(x.current!==e){if(D(g.fn),R({status:`idle`}),g.args)try{V(JSON.stringify(JSON.parse(g.args),null,2))}catch{V(g.args)}else V(`{}`);x.current=e}},[g.args,g.fn]);let Se=(0,N.useCallback)(async e=>{if(!X||!o)return;let t;if(e)t=e;else try{let e=JSON.parse(B);if(!e||typeof e!=`object`||Array.isArray(e)){R({status:`error`,error:`Arguments must be a JSON object`});return}t=e}catch{R({status:`error`,error:`Invalid JSON in arguments`});return}R({status:`running`});try{let e=await le({kind:`fn.run`,functionName:X.name,functionType:X.type===`cron`?`action`:X.type,args:t},{targetRuntimeId:o});e.kind===`fn.run.result`&&(e.error?R({status:`error`,error:e.error,durationMs:e.durationMs}):R({status:`success`,result:e.result,durationMs:e.durationMs}))}catch(e){R({status:`error`,error:e instanceof Error?e.message:`Unknown error`})}},[X,o,B]);return(0,P.jsxs)(`div`,{className:`flex h-[calc(100vh-7rem)] gap-3`,children:[(0,P.jsx)(`div`,{className:`hidden min-h-0 w-72 shrink-0 md:flex`,children:(0,P.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden rounded-md border border-border bg-bg-surface`,children:[(0,P.jsxs)(`div`,{className:`border-b border-border p-3`,children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-2 mb-2`,children:[(0,P.jsx)(`h2`,{className:`text-[13px] font-bold text-text-primary flex-1`,children:`Functions`}),c&&(0,P.jsx)(E,{variant:`outline`,className:`text-[9px]`,children:`Project Target`}),be&&(0,P.jsx)(m,{size:12,className:`animate-spin text-text-tertiary`})]}),(0,P.jsxs)(`div`,{className:`relative`,children:[(0,P.jsx)(re,{size:13,className:`absolute left-2.5 top-1/2 -translate-y-1/2 text-text-tertiary`}),(0,P.jsx)(v,{placeholder:`Search functions...`,value:S,onChange:e=>C(e.target.value),className:`h-8 border-border bg-bg-base pl-8 text-[12px]`})]})]}),(0,P.jsx)(M,{className:`flex-1`,children:(0,P.jsx)(`div`,{className:`p-2`,children:Y.length===0?(0,P.jsxs)(`div`,{className:`py-8 text-center`,children:[(0,P.jsx)(j,{size:20,className:`mx-auto mb-2 text-text-tertiary`}),(0,P.jsx)(`p`,{className:`text-[11px] text-text-tertiary`,children:o?`No functions available for this target`:`Connect a runtime`})]}):Y.map(([e,t])=>(0,P.jsx)(I,{group:e,functions:t,selectedFn:T,onSelect:e=>$(e,{clearRouteSearch:!0})},e))})}),(0,P.jsx)(`div`,{className:`border-t border-border p-3`,children:(0,P.jsxs)(`div`,{className:`flex gap-3 text-[11px] text-text-tertiary`,children:[(0,P.jsxs)(`span`,{children:[J.filter(e=>e.type===`query`).length,` queries`]}),(0,P.jsxs)(`span`,{children:[J.filter(e=>e.type===`mutation`).length,` `,`mutations`]}),(0,P.jsxs)(`span`,{children:[J.filter(e=>e.type===`action`).length,` actions`]})]})})]})}),(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col overflow-hidden rounded-md border border-border bg-bg-surface`,children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2 md:hidden`,children:[(0,P.jsxs)(_,{variant:`outline`,size:`sm`,className:`gap-1.5`,onClick:()=>F(!0),children:[(0,P.jsx)(j,{size:13}),`Functions`]}),X&&(0,P.jsx)(E,{variant:`secondary`,className:`max-w-[60vw] truncate font-mono`,children:(0,P.jsx)(`span`,{className:`truncate`,children:X.name})}),J.length>0&&(0,P.jsxs)(`span`,{className:`ml-auto text-[11px] text-text-tertiary`,children:[J.length,` fns`]})]}),X?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`border-b border-border p-4`,children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-3 mb-2`,children:[(0,P.jsx)(e,{type:X.type}),(0,P.jsx)(`h2`,{className:`text-[14px] font-bold text-text-primary font-mono`,children:X.name})]}),(0,P.jsxs)(`div`,{className:`flex items-center gap-4 text-[11px] text-text-tertiary flex-wrap`,children:[(0,P.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,P.jsx)(p,{size:11}),X.file??`file unavailable from runtime metadata`]}),(0,P.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,P.jsx)(j,{size:11}),X.namespace]}),(0,P.jsx)(E,{variant:X.registered?`secondary`:`outline`,children:X.registered?`registered`:`observed only`}),!X.metadataAvailable&&(0,P.jsx)(E,{variant:`outline`,children:`file metadata unavailable`}),(0,P.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,P.jsx)(b,{size:11}),X.invocations,` invocations`]}),Q.length>0&&(0,P.jsxs)(`span`,{className:`flex items-center gap-1 text-fn-query`,children:[(0,P.jsx)(k,{size:11}),Q.length,` active`]}),(0,P.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,P.jsx)(w,{size:11}),O(X.avgDuration),` avg`]}),X.errorRate>0&&(0,P.jsxs)(`span`,{className:`flex items-center gap-1 text-error`,children:[(0,P.jsx)(A,{size:11}),(X.errorRate*100).toFixed(1),`% errors`]})]})]}),(0,P.jsxs)(u,{defaultValue:`runner`,className:`flex-1 flex flex-col min-h-0`,children:[(0,P.jsx)(`div`,{className:`border-b border-border px-4`,children:(0,P.jsxs)(i,{variant:`line`,className:`h-9`,children:[(0,P.jsx)(d,{value:`runner`,children:`Runner`}),(0,P.jsxs)(d,{value:`logs`,children:[`Logs`,Z.length>0&&(0,P.jsx)(E,{variant:`secondary`,className:`ml-1.5 text-[9px] px-1 py-0`,children:Z.length})]}),(0,P.jsxs)(d,{value:`active`,children:[`Active`,Q.length>0&&(0,P.jsx)(E,{variant:`secondary`,className:`ml-1.5 text-[9px] px-1 py-0`,children:Q.length})]}),(0,P.jsx)(d,{value:`metrics`,children:`Metrics`})]})}),(0,P.jsx)(t,{value:`runner`,className:`flex-1 min-h-0`,children:(0,P.jsx)(pe,{fn:X,argsText:B,setArgsText:V,runResult:L,onRun:()=>void Se(),connected:!!o})}),(0,P.jsx)(t,{value:`logs`,className:`flex-1 min-h-0`,children:(0,P.jsx)(me,{events:Z,traces:xe,onUseArgs:e=>V(JSON.stringify(e,null,2)),onOpenExecution:e=>void y({to:`/logs`,search:{executionId:e}})})}),(0,P.jsx)(t,{value:`active`,className:`flex-1 min-h-0`,children:(0,P.jsx)(he,{queries:Q,onOpenQueries:()=>void y({to:`/queries`})})}),(0,P.jsx)(t,{value:`metrics`,className:`flex-1 min-h-0`,children:(0,P.jsx)(ge,{fn:X,activeQueries:Q,traces:xe})})]})]}):(0,P.jsx)(l,{icon:j,title:`Select a function`,description:`Choose a function from the sidebar to view details, run it with custom arguments, and inspect logs.`,className:`h-full`})]}),(0,P.jsx)(de,{open:fe,onOpenChange:F,children:(0,P.jsxs)(ne,{className:`max-h-[80vh] overflow-hidden p-0 sm:max-w-sm`,children:[(0,P.jsx)(te,{className:`border-b border-border px-4 py-3`,children:(0,P.jsx)(oe,{className:`text-[14px]`,children:`Functions`})}),(0,P.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col overflow-hidden`,children:[(0,P.jsxs)(`div`,{className:`relative border-b border-border px-3 py-2`,children:[(0,P.jsx)(re,{size:13,className:`pointer-events-none absolute left-5.5 top-1/2 -translate-y-1/2 text-text-tertiary`}),(0,P.jsx)(v,{placeholder:`Search functions...`,value:S,onChange:e=>C(e.target.value),className:`h-8 border-border bg-bg-base pl-8 text-[12px]`})]}),(0,P.jsx)(M,{className:`max-h-[55vh]`,children:(0,P.jsx)(`div`,{className:`p-2`,children:Y.length===0?(0,P.jsxs)(`div`,{className:`py-8 text-center`,children:[(0,P.jsx)(j,{size:20,className:`mx-auto mb-2 text-text-tertiary`}),(0,P.jsx)(`p`,{className:`text-[11px] text-text-tertiary`,children:o?`No functions available`:`Connect a runtime first`})]}):Y.map(([e,t])=>(0,P.jsx)(I,{group:e,functions:t,selectedFn:T,onSelect:e=>{$(e,{clearRouteSearch:!0}),F(!1)}},e))})})]})]})})]})}function I({group:t,functions:r,selectedFn:i,onSelect:a}){let[o,s]=(0,N.useState)(!0);return(0,P.jsxs)(`div`,{className:`mb-1`,children:[(0,P.jsxs)(`button`,{type:`button`,onClick:()=>s(!o),className:`flex items-center gap-1.5 w-full px-2 py-1 text-[11px] text-text-secondary hover:text-text-primary rounded transition-colors`,children:[(0,P.jsx)(n,{size:11,className:T(`text-text-tertiary transition-transform shrink-0`,o&&`rotate-90`)}),(0,P.jsx)(p,{size:11,className:`text-text-tertiary shrink-0`}),(0,P.jsx)(`span`,{className:`truncate font-medium`,children:t}),(0,P.jsx)(`span`,{className:`ml-auto text-text-tertiary text-[10px]`,children:r.length})]}),o&&(0,P.jsx)(`div`,{className:`ml-3`,children:r.map(t=>(0,P.jsxs)(`button`,{type:`button`,onClick:()=>a(t.name),className:T(`flex items-center gap-2 w-full px-2 py-1 text-[12px] rounded transition-colors`,i===t.name?`bg-accent/10 text-text-primary`:`text-text-secondary hover:bg-bg-surface hover:text-text-primary`),children:[(0,P.jsx)(e,{type:t.type,showIcon:!1,className:`text-[8px] px-1 py-0`}),(0,P.jsx)(`span`,{className:`truncate font-mono text-[11px]`,children:R(t.name)}),(0,P.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1`,children:[t.invocations>0&&(0,P.jsxs)(`span`,{className:`text-[10px] text-text-tertiary`,children:[t.invocations,`x`]}),t.activeCount>0&&(0,P.jsx)(E,{variant:`secondary`,className:`px-1 py-0 text-[8px]`,children:`active`}),!t.registered&&(0,P.jsx)(E,{variant:`outline`,className:`px-1 py-0 text-[8px]`,children:`observed`})]})]},t.name))})]})}function pe({fn:e,argsText:t,setArgsText:n,runResult:i,onRun:a,connected:o}){return(0,P.jsxs)(`div`,{className:`p-4 flex flex-col gap-4 h-full`,children:[(0,P.jsxs)(`div`,{children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,P.jsx)(`label`,{className:`text-[11px] font-medium text-text-tertiary`,children:`Arguments`}),e.args&&Object.keys(e.args).length>0&&(0,P.jsx)(E,{variant:`outline`,className:`text-[9px]`,children:`Schema available`})]}),(0,P.jsx)(`div`,{className:`relative`,children:(0,P.jsx)(`textarea`,{value:t,onChange:e=>n(e.target.value),className:T(`w-full h-32 rounded-md border border-border bg-bg-base px-3 py-2`,`font-mono text-[12px] text-text-code leading-relaxed`,`focus:outline-none focus:ring-2 focus:ring-accent/30 focus:border-accent/40`,`resize-none placeholder:text-text-tertiary`),placeholder:`{ "key": "value" }`,spellCheck:!1})})]}),(0,P.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,P.jsxs)(_,{onClick:a,disabled:!o||i.status===`running`,size:`sm`,className:`gap-1.5`,children:[i.status===`running`?(0,P.jsx)(m,{size:13,className:`animate-spin`}):(0,P.jsx)(h,{size:13}),i.status===`running`?`Running...`:`Run Function`]}),!o&&(0,P.jsx)(`span`,{className:`text-[11px] text-text-tertiary`,children:`Connect to a runtime to run functions`}),i.durationMs!==void 0&&i.status!==`running`&&(0,P.jsxs)(`span`,{className:`text-[11px] text-text-tertiary flex items-center gap-1`,children:[(0,P.jsx)(w,{size:10}),O(i.durationMs)]})]}),(0,P.jsx)(g,{}),(0,P.jsxs)(`div`,{className:`flex-1 min-h-0`,children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-2 mb-2`,children:[(0,P.jsx)(`span`,{className:`text-[11px] font-medium text-text-tertiary`,children:`Result`}),i.status===`success`&&(0,P.jsx)(y,{size:12,className:`text-success`}),i.status===`error`&&(0,P.jsx)(f,{size:12,className:`text-error`})]}),i.status===`idle`&&(0,P.jsx)(`div`,{className:`text-[12px] text-text-tertiary italic py-4`,children:`Run the function to see results here.`}),i.status===`running`&&(0,P.jsxs)(`div`,{className:`flex items-center gap-2 py-4 text-[12px] text-text-secondary`,children:[(0,P.jsx)(m,{size:14,className:`animate-spin`}),`Executing `,e.name,`...`]}),i.status===`success`&&(0,P.jsx)(M,{className:`h-[calc(100%-2rem)]`,children:(0,P.jsx)(r,{data:i.result,defaultExpanded:!0,maxDepth:6})}),i.status===`error`&&(0,P.jsx)(`div`,{className:`rounded-md border border-error/20 bg-error/5 p-3`,children:(0,P.jsx)(`p`,{className:`text-[12px] text-error font-mono whitespace-pre-wrap`,children:i.error})})]})]})}function me({events:t,traces:n,onUseArgs:r,onOpenExecution:i}){return t.length===0&&n.length===0?(0,P.jsx)(l,{icon:b,title:`No logs yet`,description:`Function invocations will appear here as they are executed.`,className:`h-full`}):(0,P.jsx)(M,{className:`h-full`,children:(0,P.jsx)(`div`,{className:`p-4 space-y-1`,children:n.length>0?n.map((n,l)=>{let u=t[l],d=s(n.kind===`query`?`query.executed`:n.kind===`mutation`||n.kind===`dashboard`?`mutation.committed`:`action.completed`),f=n.argsPreview?.kind===`value`&&n.argsPreview.value&&typeof n.argsPreview.value==`object`&&!Array.isArray(n.argsPreview.value)?n.argsPreview.value:null;return(0,P.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:()=>i(n.executionId),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i(n.executionId))},title:`Open execution in Logs`,className:`group flex cursor-pointer items-center gap-3 rounded-md px-3 py-2 transition-colors animate-fade-in hover:bg-bg-surface/50 focus:outline-none focus:ring-2 focus:ring-accent/30`,children:[d&&(0,P.jsx)(e,{type:d,showIcon:!1,className:`text-[8px] px-1 py-0 w-14 justify-center`}),(0,P.jsx)(o,{timestamp:u?.timestamp??Date.now(),format:`time`}),u&&`durationMs`in u&&u.durationMs!==void 0&&(0,P.jsx)(`span`,{className:`text-[11px] text-text-tertiary font-mono`,children:O(u.durationMs)}),(u&&`error`in u&&u.error||n?.error)&&(0,P.jsx)(E,{variant:`destructive`,className:`text-[9px]`,children:`Error`}),(0,P.jsx)(`span`,{className:`ml-auto text-[10px] text-text-tertiary font-mono truncate max-w-48`,children:n.executionId}),(0,P.jsx)(c,{size:12,className:`shrink-0 text-text-tertiary opacity-60 transition-colors group-hover:text-accent group-hover:opacity-100`}),f&&(0,P.jsx)(_,{variant:`ghost`,size:`icon-xs`,title:`Use args`,onClick:e=>{e.stopPropagation(),r(f)},children:(0,P.jsx)(a,{size:12})})]},`${n.executionId}-${l}`)}):t.map((t,n)=>{let r=s(t.type);return(0,P.jsxs)(`div`,{className:`flex items-center gap-3 px-3 py-2 rounded-md hover:bg-bg-surface/50 transition-colors animate-fade-in`,children:[r&&(0,P.jsx)(e,{type:r,showIcon:!1,className:`text-[8px] px-1 py-0 w-14 justify-center`}),(0,P.jsx)(o,{timestamp:t.timestamp,format:`time`}),t.durationMs!==void 0&&(0,P.jsx)(`span`,{className:`text-[11px] text-text-tertiary font-mono`,children:O(t.durationMs)}),t.error&&(0,P.jsx)(E,{variant:`destructive`,className:`text-[9px]`,children:`Error`}),(0,P.jsx)(`span`,{className:`ml-auto text-[10px] text-text-tertiary font-mono truncate max-w-48`,children:t.type})]},`${t.timestamp}-${n}`)})})})}function he({queries:e,onOpenQueries:t}){return e.length===0?(0,P.jsx)(l,{icon:k,title:`No active query runs`,description:`This query function is not currently watched by the app.`,className:`h-full`}):(0,P.jsx)(M,{className:`h-full`,children:(0,P.jsxs)(`div`,{className:`space-y-3 p-4`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border border-border bg-bg-base px-3 py-2`,children:[(0,P.jsxs)(`div`,{className:`text-[12px] text-text-secondary`,children:[e.length,` active subscription`,e.length===1?``:`s`,` ·`,` `,e.reduce((e,t)=>e+(t.consumers??1),0),` consumer`,e.reduce((e,t)=>e+(t.consumers??1),0)===1?``:`s`]}),(0,P.jsxs)(_,{variant:`outline`,size:`xs`,className:`gap-1.5`,onClick:t,children:[(0,P.jsx)(k,{size:11}),`Open Queries`]})]}),e.map(e=>(0,P.jsxs)(`div`,{className:`rounded-md border border-border bg-bg-base p-3`,children:[(0,P.jsxs)(`div`,{className:`mb-2 flex items-center justify-between gap-3`,children:[(0,P.jsx)(`code`,{className:`min-w-0 flex-1 truncate text-[11px] text-text-primary`,children:e.id}),(0,P.jsxs)(E,{variant:`secondary`,className:`shrink-0 text-[9px]`,children:[e.consumers??1,` consumer`,(e.consumers??1)===1?``:`s`]})]}),(0,P.jsxs)(`div`,{className:`mb-3 grid grid-cols-2 gap-2 text-[11px] text-text-tertiary`,children:[(0,P.jsx)(`span`,{children:`Last run`}),(0,P.jsx)(o,{timestamp:e.lastRunAt,format:`relative`}),(0,P.jsx)(`span`,{children:`Dependencies`}),(0,P.jsx)(`span`,{className:`font-mono`,children:e.dependencyKeys.length})]}),(0,P.jsx)(r,{data:e.args??{},maxDepth:3})]},e.id))]})})}function ge({fn:e,activeQueries:t,traces:n}){let r=n.filter(e=>!e.error).length,i=n.filter(e=>e.error).length,a=t.reduce((e,t)=>e+(t.consumers??1),0);return(0,P.jsxs)(`div`,{className:`p-4`,children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-2 lg:grid-cols-4 gap-3 mb-6`,children:[(0,P.jsx)(L,{label:e.type===`query`?`Runs`:`Occurrences`,value:String(e.invocations),icon:b}),(0,P.jsx)(L,{label:`Avg Duration`,value:O(e.avgDuration),icon:w}),(0,P.jsx)(L,{label:`Error Rate`,value:`${(e.errorRate*100).toFixed(1)}%`,icon:A,variant:e.errorRate>.1?`error`:`default`}),(0,P.jsx)(L,{label:`Active`,value:e.type===`query`?String(t.length):`-`,icon:k})]}),(0,P.jsxs)(`div`,{className:`grid grid-cols-2 lg:grid-cols-4 gap-3 mb-6`,children:[(0,P.jsx)(L,{label:`Consumers`,value:e.type===`query`?String(a):`-`,icon:k}),(0,P.jsx)(L,{label:`Success`,value:String(r),icon:y}),(0,P.jsx)(L,{label:`Errors`,value:String(i),icon:A,variant:i>0?`error`:`default`}),(0,P.jsx)(L,{label:`Last Run`,value:e.lastInvoked>0?new Date(e.lastInvoked).toLocaleTimeString():`Never`,icon:w})]}),e.invocations===0&&(0,P.jsx)(`p`,{className:`text-[12px] text-text-tertiary text-center py-6`,children:`No invocation data yet. Run the function or wait for runtime activity.`})]})}function L({label:e,value:t,icon:n,variant:r=`default`}){return(0,P.jsxs)(`div`,{className:`rounded-md border border-border bg-bg-base p-3`,children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-2 mb-1.5`,children:[(0,P.jsx)(n,{size:12,className:r===`error`?`text-error`:`text-text-tertiary`}),(0,P.jsx)(`span`,{className:`text-[10px] font-medium text-text-tertiary`,children:e})]}),(0,P.jsx)(`p`,{className:T(`text-[18px] font-bold font-mono`,r===`error`?`text-error`:`text-text-primary`),children:t})]})}function R(e){let t=e.split(`:`);return t.length>1?t[t.length-1]:e}function z(e){return e.includes(`:`)?e.split(`:`)[0]??`root`:e.includes(`/`)?e.split(`/`)[0]??`root`:`root`}function _e(e){return e.namespace&&e.namespace!==`root`?`${e.namespace}/`:`Root functions`}function ve(e,t){return e.activeCount===t.activeCount?e.lastInvoked===t.lastInvoked?e.registered===t.registered?e.name.localeCompare(t.name):e.registered?-1:1:t.lastInvoked-e.lastInvoked:t.activeCount-e.activeCount}function ye(e,t){let n=t.get(e.name)??[];return[e.name,e.type,e.file??``,e.modulePath??``,e.namespace,e.registered?`registered`:`observed only`,JSON.stringify(e.args??{}),n.slice(0,5).map(e=>JSON.stringify({args:e.argsPreview,result:e.resultPreview,error:e.error})).join(` `)].join(` `).toLowerCase()}export{fe as Route};
@@ -0,0 +1 @@
1
+ import{Ot as e}from"./index-DrSG4qZZ.js";var t=e(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]);export{t};
@@ -0,0 +1 @@
1
+ @import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap";@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:"Atkinson Hyperlegible", system-ui, sans-serif;--font-mono:"Fira Code", "JetBrains Mono", ui-monospace, monospace;--color-amber-100:oklch(96.2% .059 95.617);--color-amber-400:oklch(82.8% .189 84.429);--color-emerald-600:oklch(59.6% .145 163.225);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg-deep:#141210;--color-bg-base:#1a1814;--color-bg-surface:#211f1a;--color-bg-elevated:#2a2722;--color-accent:#d4a853;--color-text-primary:#e8e0d4;--color-text-secondary:#a69e90;--color-text-tertiary:#6b6459;--color-text-code:#c4b898;--color-success:#4ade80;--color-warning:#fbbf24;--color-error:#ef4444;--color-info:#60a5fa;--color-fn-query:#4ade80;--color-fn-mutation:#60a5fa;--color-fn-action:#a78bfa;--color-fn-cron:#fbbf24;--color-border:oklch(72% .12 70/.08);--color-border-hover:oklch(72% .12 70/.15);--color-border-active:oklch(72% .12 70/.25);--color-background:#141210;--color-foreground:#e8e0d4}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-9{top:calc(var(--spacing) * 9)}.top-\[50\%\]{top:50%}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-3{left:calc(var(--spacing) * 3)}.left-5\.5{left:calc(var(--spacing) * 5.5)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.row-1{grid-row:1}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-0\.75{margin-top:calc(var(--spacing) * .75)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-1\.25{margin-top:calc(var(--spacing) * 1.25)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.size-0{width:calc(var(--spacing) * 0);height:calc(var(--spacing) * 0)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-2{width:calc(var(--spacing) * 2);height:calc(var(--spacing) * 2)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-60{height:calc(var(--spacing) * 60)}.h-64{height:calc(var(--spacing) * 64)}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(100\%-2rem\)\]{height:calc(100% - 2rem)}.h-\[calc\(100vh-7rem\)\]{height:calc(100vh - 7rem)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--radix-select-content-available-height\){max-height:var(--radix-select-content-available-height)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-72{max-height:calc(var(--spacing) * 72)}.max-h-\[55vh\]{max-height:55vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[70vh\]{max-height:70vh}.max-h-\[75vh\]{max-height:75vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[420px\]{max-height:420px}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-28{min-height:calc(var(--spacing) * 28)}.min-h-80{min-height:calc(var(--spacing) * 80)}.min-h-\[320px\]{min-height:320px}.min-h-\[620px\]{min-height:620px}.w-4{width:calc(var(--spacing) * 4)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-18{width:calc(var(--spacing) * 18)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-30{width:calc(var(--spacing) * 30)}.w-32{width:calc(var(--spacing) * 32)}.w-36{width:calc(var(--spacing) * 36)}.w-40{width:calc(var(--spacing) * 40)}.w-56{width:calc(var(--spacing) * 56)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-120{width:calc(var(--spacing) * 120)}.w-\[16rem\]{width:16rem}.w-\[18rem\]{width:18rem}.w-\[24rem\]{width:24rem}.w-\[240px\]{width:240px}.w-\[min\(26rem\,calc\(100vw-2rem\)\)\]{width:min(26rem,100vw - 2rem)}.w-\[min\(28rem\,calc\(100vw-2rem\)\)\]{width:min(28rem,100vw - 2rem)}.w-\[min\(860px\,calc\(100vw-2rem\)\)\]{width:min(860px,100vw - 2rem)}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.max-w-36{max-width:calc(var(--spacing) * 36)}.max-w-48{max-width:calc(var(--spacing) * 48)}.max-w-72{max-width:calc(var(--spacing) * 72)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-88{max-width:calc(var(--spacing) * 88)}.max-w-\[35\%\]{max-width:35%}.max-w-\[54vw\]{max-width:54vw}.max-w-\[60vw\]{max-width:60vw}.max-w-\[180px\]{max-width:180px}.max-w-\[calc\(100\%-1\.5rem\)\]{max-width:calc(100% - 1.5rem)}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-32{min-width:calc(var(--spacing) * 32)}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[760px\]{min-width:760px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:calc(var(--spacing) * 0);--tw-border-spacing-y:calc(var(--spacing) * 0);border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.origin-\(--radix-select-content-transform-origin\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\(--radix-tooltip-content-transform-origin\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-4{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize-y{resize:vertical}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing) * 1)}.scroll-py-2{scroll-padding-block:calc(var(--spacing) * 2)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing) * 0)}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}:where(.divide-border\/50>:not(:last-child)){border-color:#d496480a}@supports (color:color-mix(in lab, red, red)){:where(.divide-border\/50>:not(:last-child)){border-color:color-mix(in oklab, var(--color-border) 50%, transparent)}}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent{border-color:var(--color-accent)}.border-accent\/15{border-color:#d4a85326}@supports (color:color-mix(in lab, red, red)){.border-accent\/15{border-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.border-accent\/20{border-color:#d4a85333}@supports (color:color-mix(in lab, red, red)){.border-accent\/20{border-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.border-accent\/25{border-color:#d4a85340}@supports (color:color-mix(in lab, red, red)){.border-accent\/25{border-color:color-mix(in oklab, var(--color-accent) 25%, transparent)}}.border-accent\/30{border-color:#d4a8534d}@supports (color:color-mix(in lab, red, red)){.border-accent\/30{border-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.border-border{border-color:var(--color-border)}.border-border-active{border-color:var(--color-border-active)}.border-border-hover{border-color:var(--color-border-hover)}.border-border\/50{border-color:#d496480a}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--color-border) 50%, transparent)}}.border-border\/60{border-color:#d496480c}@supports (color:color-mix(in lab, red, red)){.border-border\/60{border-color:color-mix(in oklab, var(--color-border) 60%, transparent)}}.border-border\/70{border-color:#d496480e}@supports (color:color-mix(in lab, red, red)){.border-border\/70{border-color:color-mix(in oklab, var(--color-border) 70%, transparent)}}.border-border\/80{border-color:#d4964810}@supports (color:color-mix(in lab, red, red)){.border-border\/80{border-color:color-mix(in oklab, var(--color-border) 80%, transparent)}}.border-error\/10{border-color:#ef44441a}@supports (color:color-mix(in lab, red, red)){.border-error\/10{border-color:color-mix(in oklab, var(--color-error) 10%, transparent)}}.border-error\/20{border-color:#ef444433}@supports (color:color-mix(in lab, red, red)){.border-error\/20{border-color:color-mix(in oklab, var(--color-error) 20%, transparent)}}.border-error\/25{border-color:#ef444440}@supports (color:color-mix(in lab, red, red)){.border-error\/25{border-color:color-mix(in oklab, var(--color-error) 25%, transparent)}}.border-error\/30{border-color:#ef44444d}@supports (color:color-mix(in lab, red, red)){.border-error\/30{border-color:color-mix(in oklab, var(--color-error) 30%, transparent)}}.border-fn-action\/20{border-color:#a78bfa33}@supports (color:color-mix(in lab, red, red)){.border-fn-action\/20{border-color:color-mix(in oklab, var(--color-fn-action) 20%, transparent)}}.border-fn-cron\/20{border-color:#fbbf2433}@supports (color:color-mix(in lab, red, red)){.border-fn-cron\/20{border-color:color-mix(in oklab, var(--color-fn-cron) 20%, transparent)}}.border-fn-mutation\/20{border-color:#60a5fa33}@supports (color:color-mix(in lab, red, red)){.border-fn-mutation\/20{border-color:color-mix(in oklab, var(--color-fn-mutation) 20%, transparent)}}.border-fn-query\/20{border-color:#4ade8033}@supports (color:color-mix(in lab, red, red)){.border-fn-query\/20{border-color:color-mix(in oklab, var(--color-fn-query) 20%, transparent)}}.border-info\/20{border-color:#60a5fa33}@supports (color:color-mix(in lab, red, red)){.border-info\/20{border-color:color-mix(in oklab, var(--color-info) 20%, transparent)}}.border-success\/10{border-color:#4ade801a}@supports (color:color-mix(in lab, red, red)){.border-success\/10{border-color:color-mix(in oklab, var(--color-success) 10%, transparent)}}.border-success\/20{border-color:#4ade8033}@supports (color:color-mix(in lab, red, red)){.border-success\/20{border-color:color-mix(in oklab, var(--color-success) 20%, transparent)}}.border-success\/25{border-color:#4ade8040}@supports (color:color-mix(in lab, red, red)){.border-success\/25{border-color:color-mix(in oklab, var(--color-success) 25%, transparent)}}.border-success\/30{border-color:#4ade804d}@supports (color:color-mix(in lab, red, red)){.border-success\/30{border-color:color-mix(in oklab, var(--color-success) 30%, transparent)}}.border-transparent{border-color:#0000}.border-warning\/10{border-color:#fbbf241a}@supports (color:color-mix(in lab, red, red)){.border-warning\/10{border-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.border-warning\/20{border-color:#fbbf2433}@supports (color:color-mix(in lab, red, red)){.border-warning\/20{border-color:color-mix(in oklab, var(--color-warning) 20%, transparent)}}.border-warning\/25{border-color:#fbbf2440}@supports (color:color-mix(in lab, red, red)){.border-warning\/25{border-color:color-mix(in oklab, var(--color-warning) 25%, transparent)}}.border-warning\/30{border-color:#fbbf244d}@supports (color:color-mix(in lab, red, red)){.border-warning\/30{border-color:color-mix(in oklab, var(--color-warning) 30%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-l-accent{border-left-color:var(--color-accent)}.border-l-transparent{border-left-color:#0000}.bg-accent{background-color:var(--color-accent)}.bg-accent\/5{background-color:#d4a8530d}@supports (color:color-mix(in lab, red, red)){.bg-accent\/5{background-color:color-mix(in oklab, var(--color-accent) 5%, transparent)}}.bg-accent\/8{background-color:#d4a85314}@supports (color:color-mix(in lab, red, red)){.bg-accent\/8{background-color:color-mix(in oklab, var(--color-accent) 8%, transparent)}}.bg-accent\/10{background-color:#d4a8531a}@supports (color:color-mix(in lab, red, red)){.bg-accent\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-accent\/15{background-color:#d4a85326}@supports (color:color-mix(in lab, red, red)){.bg-accent\/15{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.bg-bg-base{background-color:var(--color-bg-base)}.bg-bg-base\/30{background-color:#1a18144d}@supports (color:color-mix(in lab, red, red)){.bg-bg-base\/30{background-color:color-mix(in oklab, var(--color-bg-base) 30%, transparent)}}.bg-bg-base\/40{background-color:#1a181466}@supports (color:color-mix(in lab, red, red)){.bg-bg-base\/40{background-color:color-mix(in oklab, var(--color-bg-base) 40%, transparent)}}.bg-bg-base\/60{background-color:#1a181499}@supports (color:color-mix(in lab, red, red)){.bg-bg-base\/60{background-color:color-mix(in oklab, var(--color-bg-base) 60%, transparent)}}.bg-bg-base\/70{background-color:#1a1814b3}@supports (color:color-mix(in lab, red, red)){.bg-bg-base\/70{background-color:color-mix(in oklab, var(--color-bg-base) 70%, transparent)}}.bg-bg-deep\/80{background-color:#141210cc}@supports (color:color-mix(in lab, red, red)){.bg-bg-deep\/80{background-color:color-mix(in oklab, var(--color-bg-deep) 80%, transparent)}}.bg-bg-elevated{background-color:var(--color-bg-elevated)}.bg-bg-elevated\/70{background-color:#2a2722b3}@supports (color:color-mix(in lab, red, red)){.bg-bg-elevated\/70{background-color:color-mix(in oklab, var(--color-bg-elevated) 70%, transparent)}}.bg-bg-surface{background-color:var(--color-bg-surface)}.bg-bg-surface\/50{background-color:#211f1a80}@supports (color:color-mix(in lab, red, red)){.bg-bg-surface\/50{background-color:color-mix(in oklab, var(--color-bg-surface) 50%, transparent)}}.bg-bg-surface\/70{background-color:#211f1ab3}@supports (color:color-mix(in lab, red, red)){.bg-bg-surface\/70{background-color:color-mix(in oklab, var(--color-bg-surface) 70%, transparent)}}.bg-bg-surface\/80{background-color:#211f1acc}@supports (color:color-mix(in lab, red, red)){.bg-bg-surface\/80{background-color:color-mix(in oklab, var(--color-bg-surface) 80%, transparent)}}.bg-bg-surface\/95{background-color:#211f1af2}@supports (color:color-mix(in lab, red, red)){.bg-bg-surface\/95{background-color:color-mix(in oklab, var(--color-bg-surface) 95%, transparent)}}.bg-border{background-color:var(--color-border)}.bg-error\/3{background-color:#ef444408}@supports (color:color-mix(in lab, red, red)){.bg-error\/3{background-color:color-mix(in oklab, var(--color-error) 3%, transparent)}}.bg-error\/5{background-color:#ef44440d}@supports (color:color-mix(in lab, red, red)){.bg-error\/5{background-color:color-mix(in oklab, var(--color-error) 5%, transparent)}}.bg-error\/15{background-color:#ef444426}@supports (color:color-mix(in lab, red, red)){.bg-error\/15{background-color:color-mix(in oklab, var(--color-error) 15%, transparent)}}.bg-error\/80{background-color:#ef4444cc}@supports (color:color-mix(in lab, red, red)){.bg-error\/80{background-color:color-mix(in oklab, var(--color-error) 80%, transparent)}}.bg-fn-action\/15{background-color:#a78bfa26}@supports (color:color-mix(in lab, red, red)){.bg-fn-action\/15{background-color:color-mix(in oklab, var(--color-fn-action) 15%, transparent)}}.bg-fn-cron\/15{background-color:#fbbf2426}@supports (color:color-mix(in lab, red, red)){.bg-fn-cron\/15{background-color:color-mix(in oklab, var(--color-fn-cron) 15%, transparent)}}.bg-fn-mutation\/15{background-color:#60a5fa26}@supports (color:color-mix(in lab, red, red)){.bg-fn-mutation\/15{background-color:color-mix(in oklab, var(--color-fn-mutation) 15%, transparent)}}.bg-fn-query\/15{background-color:#4ade8026}@supports (color:color-mix(in lab, red, red)){.bg-fn-query\/15{background-color:color-mix(in oklab, var(--color-fn-query) 15%, transparent)}}.bg-foreground{background-color:var(--color-foreground)}.bg-info\/5{background-color:#60a5fa0d}@supports (color:color-mix(in lab, red, red)){.bg-info\/5{background-color:color-mix(in oklab, var(--color-info) 5%, transparent)}}.bg-info\/15{background-color:#60a5fa26}@supports (color:color-mix(in lab, red, red)){.bg-info\/15{background-color:color-mix(in oklab, var(--color-info) 15%, transparent)}}.bg-success{background-color:var(--color-success)}.bg-success\/5{background-color:#4ade800d}@supports (color:color-mix(in lab, red, red)){.bg-success\/5{background-color:color-mix(in oklab, var(--color-success) 5%, transparent)}}.bg-success\/8{background-color:#4ade8014}@supports (color:color-mix(in lab, red, red)){.bg-success\/8{background-color:color-mix(in oklab, var(--color-success) 8%, transparent)}}.bg-success\/15{background-color:#4ade8026}@supports (color:color-mix(in lab, red, red)){.bg-success\/15{background-color:color-mix(in oklab, var(--color-success) 15%, transparent)}}.bg-text-tertiary\/25{background-color:#6b645940}@supports (color:color-mix(in lab, red, red)){.bg-text-tertiary\/25{background-color:color-mix(in oklab, var(--color-text-tertiary) 25%, transparent)}}.bg-text-tertiary\/40{background-color:#6b645966}@supports (color:color-mix(in lab, red, red)){.bg-text-tertiary\/40{background-color:color-mix(in oklab, var(--color-text-tertiary) 40%, transparent)}}.bg-transparent{background-color:#0000}.bg-warning\/5{background-color:#fbbf240d}@supports (color:color-mix(in lab, red, red)){.bg-warning\/5{background-color:color-mix(in oklab, var(--color-warning) 5%, transparent)}}.bg-warning\/10{background-color:#fbbf241a}@supports (color:color-mix(in lab, red, red)){.bg-warning\/10{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.bg-warning\/15{background-color:#fbbf2426}@supports (color:color-mix(in lab, red, red)){.bg-warning\/15{background-color:color-mix(in oklab, var(--color-warning) 15%, transparent)}}.bg-white{background-color:var(--color-white)}.fill-foreground{fill:var(--color-foreground)}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[3px\]{padding:3px}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[18px\]{font-size:18px}.text-\[30px\]{font-size:30px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--color-accent)}.text-amber-100{color:var(--color-amber-100)}.text-amber-400{color:var(--color-amber-400)}.text-background{color:var(--color-background)}.text-bg-deep{color:var(--color-bg-deep)}.text-emerald-600{color:var(--color-emerald-600)}.text-error{color:var(--color-error)}.text-error\/80{color:#ef4444cc}@supports (color:color-mix(in lab, red, red)){.text-error\/80{color:color-mix(in oklab, var(--color-error) 80%, transparent)}}.text-error\/90{color:#ef4444e6}@supports (color:color-mix(in lab, red, red)){.text-error\/90{color:color-mix(in oklab, var(--color-error) 90%, transparent)}}.text-fn-action{color:var(--color-fn-action)}.text-fn-cron{color:var(--color-fn-cron)}.text-fn-mutation{color:var(--color-fn-mutation)}.text-fn-query{color:var(--color-fn-query)}.text-info{color:var(--color-info)}.text-success{color:var(--color-success)}.text-success\/80{color:#4ade80cc}@supports (color:color-mix(in lab, red, red)){.text-success\/80{color:color-mix(in oklab, var(--color-success) 80%, transparent)}}.text-text-code{color:var(--color-text-code)}.text-text-primary{color:var(--color-text-primary)}.text-text-secondary{color:var(--color-text-secondary)}.text-text-tertiary{color:var(--color-text-tertiary)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.scheme-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_2px_0_0_0_var\(--color-accent\)\]{--tw-shadow:inset 2px 0 0 0 var(--tw-shadow-color,var(--color-accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-black\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.shadow-black\/20{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 20%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.shadow-black\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/50{--tw-shadow-color:#00000080}@supports (color:color-mix(in lab, red, red)){.shadow-black\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-accent\/40{--tw-ring-color:#d4a85366}@supports (color:color-mix(in lab, red, red)){.ring-accent\/40{--tw-ring-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:border-border-hover:is(:where(.group):hover *){border-color:var(--color-border-hover)}.group-hover\:text-accent:is(:where(.group):hover *){color:var(--color-accent)}.group-hover\:text-text-primary:is(:where(.group):hover *){color:var(--color-text-primary)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\[orientation\=horizontal\]\/tabs\:h-9:is(:where(.group\/tabs)[data-orientation=horizontal] *){height:calc(var(--spacing) * 9)}.group-data-\[orientation\=vertical\]\/tabs\:h-fit:is(:where(.group\/tabs)[data-orientation=vertical] *){height:fit-content}.group-data-\[orientation\=vertical\]\/tabs\:w-full:is(:where(.group\/tabs)[data-orientation=vertical] *){width:100%}.group-data-\[orientation\=vertical\]\/tabs\:flex-col:is(:where(.group\/tabs)[data-orientation=vertical] *){flex-direction:column}.group-data-\[orientation\=vertical\]\/tabs\:justify-start:is(:where(.group\/tabs)[data-orientation=vertical] *){justify-content:flex-start}.group-data-\[variant\=line\]\/tabs-list\:rounded-none:is(:where(.group\/tabs-list)[data-variant=line] *){border-radius:0}.group-data-\[variant\=line\]\/tabs-list\:border-b-2:is(:where(.group\/tabs-list)[data-variant=line] *){border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.group-data-\[variant\=line\]\/tabs-list\:border-b-transparent:is(:where(.group\/tabs-list)[data-variant=line] *){border-bottom-color:#0000}.group-data-\[variant\=line\]\/tabs-list\:px-0:is(:where(.group\/tabs-list)[data-variant=line] *){padding-inline:calc(var(--spacing) * 0)}.placeholder\:text-text-tertiary::placeholder{color:var(--color-text-tertiary)}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-accent\/40:hover{border-color:#d4a85366}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/40:hover{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.hover\:border-accent\/60:hover{border-color:#d4a85399}@supports (color:color-mix(in lab, red, red)){.hover\:border-accent\/60:hover{border-color:color-mix(in oklab, var(--color-accent) 60%, transparent)}}.hover\:border-border:hover{border-color:var(--color-border)}.hover\:border-border-hover:hover{border-color:var(--color-border-hover)}.hover\:bg-accent\/10:hover{background-color:#d4a8531a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/10:hover{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.hover\:bg-accent\/15:hover{background-color:#d4a85326}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/15:hover{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.hover\:bg-accent\/90:hover{background-color:#d4a853e6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-accent\/90:hover{background-color:color-mix(in oklab, var(--color-accent) 90%, transparent)}}.hover\:bg-bg-base:hover{background-color:var(--color-bg-base)}.hover\:bg-bg-elevated:hover{background-color:var(--color-bg-elevated)}.hover\:bg-bg-elevated\/50:hover{background-color:#2a272280}@supports (color:color-mix(in lab, red, red)){.hover\:bg-bg-elevated\/50:hover{background-color:color-mix(in oklab, var(--color-bg-elevated) 50%, transparent)}}.hover\:bg-bg-elevated\/60:hover{background-color:#2a272299}@supports (color:color-mix(in lab, red, red)){.hover\:bg-bg-elevated\/60:hover{background-color:color-mix(in oklab, var(--color-bg-elevated) 60%, transparent)}}.hover\:bg-bg-surface:hover{background-color:var(--color-bg-surface)}.hover\:bg-bg-surface\/45:hover{background-color:#211f1a73}@supports (color:color-mix(in lab, red, red)){.hover\:bg-bg-surface\/45:hover{background-color:color-mix(in oklab, var(--color-bg-surface) 45%, transparent)}}.hover\:bg-bg-surface\/50:hover{background-color:#211f1a80}@supports (color:color-mix(in lab, red, red)){.hover\:bg-bg-surface\/50:hover{background-color:color-mix(in oklab, var(--color-bg-surface) 50%, transparent)}}.hover\:bg-error\/90:hover{background-color:#ef4444e6}@supports (color:color-mix(in lab, red, red)){.hover\:bg-error\/90:hover{background-color:color-mix(in oklab, var(--color-error) 90%, transparent)}}.hover\:bg-warning\/10:hover{background-color:#fbbf241a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-warning\/10:hover{background-color:color-mix(in oklab, var(--color-warning) 10%, transparent)}}.hover\:text-accent:hover{color:var(--color-accent)}.hover\:text-error:hover{color:var(--color-error)}.hover\:text-text-primary:hover{color:var(--color-text-primary)}.hover\:text-text-secondary:hover{color:var(--color-text-secondary)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:border-accent\/40:focus{border-color:#d4a85366}@supports (color:color-mix(in lab, red, red)){.focus\:border-accent\/40:focus{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.focus\:border-border-active:focus{border-color:var(--color-border-active)}.focus\:bg-bg-elevated:focus{background-color:var(--color-bg-elevated)}.focus\:text-text-primary:focus{color:var(--color-text-primary)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-accent\/30:focus{--tw-ring-color:#d4a8534d}@supports (color:color-mix(in lab, red, red)){.focus\:ring-accent\/30:focus{--tw-ring-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-border-active:focus-visible{border-color:var(--color-border-active)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-accent\/20:focus-visible{--tw-ring-color:#d4a85333}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-accent\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.focus-visible\:ring-accent\/30:focus-visible{--tw-ring-color:#d4a8534d}@supports (color:color-mix(in lab, red, red)){.focus-visible\:ring-accent\/30:focus-visible{--tw-ring-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-bg-base:focus-visible{--tw-ring-offset-color:var(--color-bg-base)}.focus-visible\:ring-offset-bg-deep:focus-visible{--tw-ring-offset-color:var(--color-bg-deep)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-\[0\.99\]:active{scale:.99}@media (hover:hover){.enabled\:hover\:border-border-hover:enabled:hover{border-color:var(--color-border-hover)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\:hover\:text-text-tertiary:disabled:hover{color:var(--color-text-tertiary)}}.has-\[\>svg\]\:px-1\.5:has(>svg){padding-inline:calc(var(--spacing) * 1.5)}.has-\[\>svg\]\:px-2\.5:has(>svg){padding-inline:calc(var(--spacing) * 2.5)}.has-\[\>svg\]\:px-3:has(>svg){padding-inline:calc(var(--spacing) * 3)}.has-\[\>svg\]\:px-4:has(>svg){padding-inline:calc(var(--spacing) * 4)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\[disabled\=true\]\:opacity-50[data-disabled=true]{opacity:.5}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-text-tertiary[data-placeholder]{color:var(--color-text-tertiary)}.data-\[selected\=true\]\:bg-bg-elevated[data-selected=true]{background-color:var(--color-bg-elevated)}.data-\[selected\=true\]\:text-text-primary[data-selected=true]{color:var(--color-text-primary)}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[size\=default\]\:h-9[data-size=default]{height:calc(var(--spacing) * 9)}.data-\[size\=sm\]\:h-8[data-size=sm]{height:calc(var(--spacing) * 8)}:is(.\*\*\:data-\[slot\=command-input-wrapper\]\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}:is(.\*\:data-\[slot\=select-value\]\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.\*\:data-\[slot\=select-value\]\:flex>*)[data-slot=select-value]{display:flex}:is(.\*\:data-\[slot\=select-value\]\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\*\:data-\[slot\=select-value\]\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing) * 2)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:border-border:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{border-color:var(--color-border)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:bg-bg-elevated:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{background-color:var(--color-bg-elevated)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:text-text-primary:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{color:var(--color-text-primary)}.group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm:is(:where(.group\/tabs-list)[data-variant=default] *)[data-state=active]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-b-accent:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{border-bottom-color:var(--color-accent)}.group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:text-text-primary:is(:where(.group\/tabs-list)[data-variant=line] *)[data-state=active]{color:var(--color-text-primary)}.data-\[state\=selected\]\:bg-bg-elevated[data-state=selected]{background-color:var(--color-bg-elevated)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}@media (width>=40rem){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:w-50{width:calc(var(--spacing) * 50)}.sm\:max-w-2xl{max-width:var(--container-2xl)}.sm\:max-w-96{max-width:calc(var(--spacing) * 96)}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:max-w-none{max-width:none}.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-none{flex:none}.sm\:shrink-0{flex-shrink:0}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:static{position:static}.md\:inset-auto{inset:auto}.md\:z-auto{z-index:auto}.md\:contents{display:contents}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:w-2\/5{width:40%}.md\:w-72{width:calc(var(--spacing) * 72)}.md\:w-96{width:calc(var(--spacing) * 96)}.md\:max-w-3\/5{max-width:60%}.md\:flex-none{flex:none}.md\:shrink-0{flex-shrink:0}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:justify-between{justify-content:space-between}.md\:gap-3{gap:calc(var(--spacing) * 3)}.md\:overflow-y-auto{overflow-y:auto}.md\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.md\:border-border{border-color:var(--color-border)}.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:py-2{padding-block:calc(var(--spacing) * 2)}}@media (width>=64rem){.lg\:contents{display:contents}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.lg\:h-\[calc\(100vh-7rem\)\]{height:calc(100vh - 7rem)}.lg\:h-auto{height:auto}.lg\:h-full{height:100%}.lg\:max-h-none{max-height:none}.lg\:min-h-0{min-height:calc(var(--spacing) * 0)}.lg\:w-96{width:calc(var(--spacing) * 96)}.lg\:flex-1{flex:1}.lg\:flex-none{flex:none}.lg\:shrink-0{flex-shrink:0}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-col{flex-direction:column}.lg\:flex-row{flex-direction:row}.lg\:rounded-md{border-radius:var(--radius-md)}.lg\:border{border-style:var(--tw-border-style);border-width:1px}.lg\:border-border{border-color:var(--color-border)}}@media (width>=80rem){.xl\:static{position:static}.xl\:inset-auto{inset:auto}.xl\:z-auto{z-index:auto}.xl\:hidden{display:none}.xl\:inline-flex{display:inline-flex}.xl\:w-105{width:calc(var(--spacing) * 105)}.xl\:shrink-0{flex-shrink:0}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1\.65fr\)_minmax\(320px\,0\.9fr\)\]{grid-template-columns:minmax(0,1.65fr) minmax(320px,.9fr)}.xl\:grid-cols-\[minmax\(0\,1fr\)_420px\]{grid-template-columns:minmax(0,1fr) 420px}.xl\:overflow-visible{overflow:visible}.xl\:rounded-md{border-radius:var(--radius-md)}.xl\:border{border-style:var(--tw-border-style);border-width:1px}.xl\:border-border{border-color:var(--color-border)}}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing) * 1.5)}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_\[cmdk-group-heading\]\]\:text-text-tertiary [cmdk-group-heading]{color:var(--color-text-tertiary)}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing) * 0)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing) * 5)}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:calc(var(--spacing) * 12)}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing) * 2)}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-block:calc(var(--spacing) * 3)}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:calc(var(--spacing) * 5)}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:calc(var(--spacing) * 5)}.\[\&_\[data-slot\=command-input-wrapper\]\]\:mx-3 [data-slot=command-input-wrapper]{margin-inline:calc(var(--spacing) * 3)}.\[\&_\[data-slot\=command-input-wrapper\]\]\:mt-3 [data-slot=command-input-wrapper]{margin-top:calc(var(--spacing) * 3)}.\[\&_\[data-slot\=command-input-wrapper\]\]\:h-12 [data-slot=command-input-wrapper]{height:calc(var(--spacing) * 12)}.\[\&_\[data-slot\=command-input-wrapper\]\]\:rounded-lg [data-slot=command-input-wrapper]{border-radius:var(--radius-lg)}.\[\&_\[data-slot\=command-input-wrapper\]\]\:border [data-slot=command-input-wrapper]{border-style:var(--tw-border-style);border-width:1px}.\[\&_\[data-slot\=command-input-wrapper\]\]\:border-border\/70 [data-slot=command-input-wrapper]{border-color:#d496480e}@supports (color:color-mix(in lab, red, red)){.\[\&_\[data-slot\=command-input-wrapper\]\]\:border-border\/70 [data-slot=command-input-wrapper]{border-color:color-mix(in oklab, var(--color-border) 70%, transparent)}}.\[\&_\[data-slot\=command-input-wrapper\]\]\:bg-bg-base\/60 [data-slot=command-input-wrapper]{background-color:#1a181499}@supports (color:color-mix(in lab, red, red)){.\[\&_\[data-slot\=command-input-wrapper\]\]\:bg-bg-base\/60 [data-slot=command-input-wrapper]{background-color:color-mix(in oklab, var(--color-bg-base) 60%, transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\:not\(\[class\*\=\'text-\'\]\)\]\:text-text-tertiary svg:not([class*=text-]){color:var(--color-text-tertiary)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\]\:border-border tr{border-color:var(--color-border)}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:calc(var(--spacing) * 0)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:px-2 *)[cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:pt-1 *)[cmdk-group-heading]{padding-top:calc(var(--spacing) * 1)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:pb-1\.5 *)[cmdk-group-heading]{padding-bottom:calc(var(--spacing) * 1.5)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-\[10px\] *)[cmdk-group-heading]{font-size:10px}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:font-semibold *)[cmdk-group-heading]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:tracking-widest *)[cmdk-group-heading]{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-text-tertiary\/50 *)[cmdk-group-heading]{color:#6b645980}@supports (color:color-mix(in lab, red, red)){:is(.\*\*\:\[\[cmdk-group-heading\]\]\:text-text-tertiary\/50 *)[cmdk-group-heading]{color:color-mix(in oklab, var(--color-text-tertiary) 50%, transparent)}}:is(.\*\*\:\[\[cmdk-group-heading\]\]\:uppercase *)[cmdk-group-heading]{text-transform:uppercase}:is(.\*\:\[span\]\:last\:flex>*):is(span):last-child{display:flex}:is(.\*\:\[span\]\:last\:items-center>*):is(span):last-child{align-items:center}:is(.\*\:\[span\]\:last\:gap-2>*):is(span):last-child{gap:calc(var(--spacing) * 2)}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;translate:var(--tw-translate-x) var(--tw-translate-y)}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){a.\[a\&\]\:hover\:bg-bg-surface:hover{background-color:var(--color-bg-surface)}a.\[a\&\]\:hover\:text-text-primary:hover{color:var(--color-text-primary)}}}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-bg-deep);min-height:100vh;color:var(--color-text-primary);font-family:var(--font-sans);margin:0;font-size:14px;line-height:1.5}body:before{content:"";z-index:9999;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:fixed;inset:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:oklch(72% .12 70/.15);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:oklch(72% .12 70/.25)}::selection{color:var(--color-text-primary);background:oklch(72% .12 70/.25)}:focus-visible{outline-offset:2px;outline:2px solid oklch(72% .12 70/.3)}button{font:inherit;color:inherit;cursor:pointer}@keyframes highlightA{0%{background-color:#0000}15%{background-color:oklch(72% .12 70/.12)}to{background-color:#0000}}@keyframes highlightB{0%{background-color:#0000}15%{background-color:oklch(72% .12 70/.12)}to{background-color:#0000}}@keyframes highlightBorderA{0%{border-color:var(--color-border)}15%{border-color:var(--color-accent)}to{border-color:var(--color-border)}}@keyframes highlightBorderB{0%{border-color:var(--color-border)}15%{border-color:var(--color-accent)}to{border-color:var(--color-border)}}@keyframes fadeInA{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInB{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInCell{0%{opacity:0}to{opacity:1}}@keyframes pulseGlow{0%,to{box-shadow:0 0 oklch(72% .12 70/0)}50%{box-shadow:0 0 8px 2px oklch(72% .12 70/.15)}}.animate-highlight-a,.animate-highlight-b{animation-duration:1.2s;animation-timing-function:ease-out}.animate-highlight-a{animation-name:highlightA}.animate-highlight-b{animation-name:highlightB}.animate-highlight-border-a,.animate-highlight-border-b{animation-duration:1.2s;animation-timing-function:ease-out}.animate-highlight-border-a{animation-name:highlightBorderA}.animate-highlight-border-b{animation-name:highlightBorderB}.animate-fade-in,.animate-fade-in-a,.animate-fade-in-b{animation-duration:.3s;animation-timing-function:ease-out}.animate-fade-in-fast{animation-name:fadeInA;animation-duration:.1s;animation-timing-function:ease-out}.animate-fade-in,.animate-fade-in-a{animation-name:fadeInA}.animate-fade-in-b{animation-name:fadeInB}.animate-fade-in-cell{animation:.4s ease-out fadeInCell}.animate-pulse-glow{animation:2s ease-in-out infinite pulseGlow}@keyframes liveDot{0%,to{opacity:1}50%{opacity:.3}}.animate-live-dot{animation:1.5s ease-in-out infinite liveDot}@media (width<=768px){.sidebar-overlay{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;position:fixed;inset:0}}.sql-editor-wrapper{background:var(--color-bg-deep);border:1px solid var(--color-border);border-radius:8px;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden}.sql-editor-wrapper:focus-within{border-color:oklch(72% .12 70/.25);box-shadow:0 0 0 3px oklch(72% .12 70/.08),0 2px 8px #0003}.sql-editor-wrapper .cm-editor{background:0 0!important}.sql-editor-wrapper .cm-editor.cm-focused{outline:none!important}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}