signetai 0.105.0 → 0.105.2
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.
- package/dashboard/_app/immutable/assets/0.DpqY1x9Q.css +1 -0
- package/dashboard/_app/immutable/chunks/{DYZtL2bt.js → 5JlVGBl4.js} +1 -1
- package/dashboard/_app/immutable/chunks/{dPIppM40.js → B-vOTr-Y.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CZn_izaI.js → B7PuQ86V.js} +1 -1
- package/dashboard/_app/immutable/chunks/{7QaidxjX.js → B8pZtPep.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CJUOHu0i.js → BA6QLWlR.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BrpUnQfx.js → BKrKH6v-.js} +2 -2
- package/dashboard/_app/immutable/chunks/{TOec2PLH.js → BWRXrXAD.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DfLuui1O.js → BX1mBGaK.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DoCHyhVy.js → BmlwXKAB.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B6OKXypT.js → BzuOFabg.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BVlv7xuF.js → C3uokwax.js} +1 -1
- package/dashboard/_app/immutable/chunks/{RYXG2LrV.js → C6jEt1Ki.js} +1 -1
- package/dashboard/_app/immutable/chunks/{FIO9aN2v.js → C8yBIYSp.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Cy0l0gvr.js → CGDJj8FF.js} +2 -2
- package/dashboard/_app/immutable/chunks/{B8g-Hhg-.js → CGOWwOKa.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C1sGF1YI.js → CHqrF8hr.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DF6GMZje.js → CHsomwlc.js} +1 -1
- package/dashboard/_app/immutable/chunks/{C-FRaa9a.js → CIZa_dTd.js} +1 -1
- package/dashboard/_app/immutable/chunks/{oUE82Am6.js → CLhdknZr.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DOmxdEfF.js → CUHPYiQJ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Cxa60v-O.js → CVG1_73-.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BOR1EBSu.js → CZbu7uyZ.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BD6I5nBQ.js → Cg-rfCg-.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DY4LRfLy.js → CjgYGnes.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BGX0-AFp.js → CobDF3yy.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CpRsTBDU.js → CpvP9guS.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DbB3dTQk.js → CqSWTe_B.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CnxeOMAS.js → D1h-1LVY.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Da1GOXEl.js → D7bxDV3i.js} +1 -1
- package/dashboard/_app/immutable/chunks/{9bq_JyT7.js → DCRcxu6X.js} +1 -1
- package/dashboard/_app/immutable/chunks/{D6wDfMmM.js → DLYD2on5.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BTXCu7t8.js → DN0gjqXy.js} +1 -1
- package/dashboard/_app/immutable/chunks/{qV7krDDW.js → Ddl348GL.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DVT-EgQQ.js → DeTGROLl.js} +1 -1
- package/dashboard/_app/immutable/chunks/{Ctx6UIbN.js → DkGCb4ZE.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CIpFyqAD.js → HpmjLUu0.js} +15 -15
- package/dashboard/_app/immutable/chunks/{BSTg8zjI.js → PONqXYI8.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B2JLfoHQ.js → R--75-Jv.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BQiUb7Cw.js → SAYTJQji.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BD4rfKfa.js → SgmvJEvo.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CnVhZrZi.js → Sy6r2dH1.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DlqB39YR.js → UJ2mxd8s.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CGYgl_tZ.js → UdKIpfv9.js} +1 -1
- package/dashboard/_app/immutable/chunks/{B4CdR5T-.js → Uy5f82Ao.js} +1 -1
- package/dashboard/_app/immutable/chunks/{DD7zTh4E.js → ZIc0-fIG.js} +1 -1
- package/dashboard/_app/immutable/chunks/{BbO86hUK.js → bUa6Ti9l.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CqCJFAWi.js → rmLb2ZqF.js} +1 -1
- package/dashboard/_app/immutable/chunks/{CwDM4hcP.js → ylzQXkd6.js} +1 -1
- package/dashboard/_app/immutable/entry/{app.CKWo4-Hg.js → app.DNmU1khY.js} +2 -2
- package/dashboard/_app/immutable/entry/start.DfI3nhkU.js +1 -0
- package/dashboard/_app/immutable/nodes/{1.BxoBhZId.js → 1.DrU3NYeP.js} +1 -1
- package/dashboard/_app/immutable/nodes/2.VH9VI9LR.js +1 -0
- package/dashboard/_app/version.json +1 -1
- package/dashboard/index.html +6 -6
- package/dist/cli.js +52 -26
- package/package.json +1 -1
- package/dashboard/_app/immutable/assets/0.C714tXcn.css +0 -1
- package/dashboard/_app/immutable/entry/start.DzCvw1kF.js +0 -1
- package/dashboard/_app/immutable/nodes/2.nuUHiwi4.js +0 -1
- /package/dashboard/_app/immutable/nodes/{0.C63smEuv.js → 0.PifA4wni.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--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-duration:initial;--tw-ease:initial;--tw-content:"";--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--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: 1.5 ;--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-xs:.125rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--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-popover:var(--popover);--color-popover-foreground:var(--popover-foreground);--color-border:var(--border)}}@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;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}*,:after,:before,::backdrop{border-color:var(--color-border,currentcolor)}::file-selector-button{border-color:var(--color-border,currentcolor)}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.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}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.start-0{inset-inline-start:calc(var(--spacing) * 0)}.end{inset-inline-end:var(--spacing)}.end-0{inset-inline-end:calc(var(--spacing) * 0)}.end-1{inset-inline-end:calc(var(--spacing) * 1)}.end-2{inset-inline-end:calc(var(--spacing) * 2)}.end-3{inset-inline-end:calc(var(--spacing) * 3)}.end-4{inset-inline-end:calc(var(--spacing) * 4)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-3\.5{top:calc(var(--spacing) * 3.5)}.top-4{top:calc(var(--spacing) * 4)}.top-\[10px\]{top:10px}.top-\[20\%\]{top:20%}.top-\[var\(--titlebar-h\,0px\)\]{top:var(--titlebar-h,0px)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-\[10px\]{right:10px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-\[10px\]{bottom:10px}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing) * 3)}.left-\[10px\]{left:10px}.left-\[14px\]{left:14px}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[5\]{z-index:5}.z-\[6\]{z-index:6}.z-\[8\]{z-index:8}.z-\[9\]{z-index:9}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-span-full{grid-row:1/-1}.row-start-1{grid-row-start:1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-3\.5{margin-inline:calc(var(--spacing) * 3.5)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-\[4px\]{margin-top:4px}.mt-\[5px\]{margin-top:5px}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-1{margin-right:calc(var(--spacing) * 1)}.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-\[var\(--space-sm\)\]{margin-bottom:var(--space-sm)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-\(--cell-size\){width:var(--cell-size);height:var(--cell-size)}.size-1{width:calc(var(--spacing) * 1);height:calc(var(--spacing) * 1)}.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-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.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)}.size-full{width:100%;height:100%}.\!h-full{height:100%!important}.h-\(--bits-select-anchor-height\){height:var(--bits-select-anchor-height)}.h-\(--cell-size\){height:var(--cell-size)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.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-24{height:calc(var(--spacing) * 24)}.h-28{height:calc(var(--spacing) * 28)}.h-32{height:calc(var(--spacing) * 32)}.h-36{height:calc(var(--spacing) * 36)}.h-40{height:calc(var(--spacing) * 40)}.h-64{height:calc(var(--spacing) * 64)}.h-\[1\.15rem\]{height:1.15rem}.h-\[5px\]{height:5px}.h-\[6px\]{height:6px}.h-\[7px\]{height:7px}.h-\[8px\]{height:8px}.h-\[9px\]{height:9px}.h-\[12px\]{height:12px}.h-\[14px\]{height:14px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(var\(--scaled-viewport-height\,100svh\)-var\(--titlebar-h\,0px\)\)\]{height:calc(var(--scaled-viewport-height,100svh) - var(--titlebar-h,0px))}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\(--bits-select-content-available-height\){max-height:var(--bits-select-content-available-height)}.max-h-\[40vh\]{max-height:40vh}.max-h-\[200px\]{max-height:200px}.max-h-\[220px\]{max-height:220px}.max-h-\[240px\]{max-height:240px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[320px\]{max-height:320px}.max-h-\[400px\]{max-height:400px}.max-h-\[520px\]{max-height:520px}.max-h-\[min\(40vh\,24rem\)\]{max-height:min(40vh,24rem)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-\[1em\]{min-height:1em}.min-h-\[30px\]{min-height:30px}.min-h-\[46vh\]{min-height:46vh}.min-h-\[56px\]{min-height:56px}.min-h-\[60px\]{min-height:60px}.min-h-\[220px\]{min-height:220px}.min-h-\[360px\]{min-height:360px}.min-h-\[420px\]{min-height:420px}.\!w-\[520px\]{width:520px!important}.\!w-\[560px\]{width:560px!important}.w-\(--cell-size\){width:var(--cell-size)}.w-\(--sidebar-width\){width:var(--sidebar-width)}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-8{width:calc(var(--spacing) * 8)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-40{width:calc(var(--spacing) * 40)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-52{width:calc(var(--spacing) * 52)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-\[6px\]{width:6px}.w-\[7px\]{width:7px}.w-\[8px\]{width:8px}.w-\[9px\]{width:9px}.w-\[12px\]{width:12px}.w-\[14px\]{width:14px}.w-\[21rem\]{width:21rem}.w-\[34px\]{width:34px}.w-\[48px\]{width:48px}.w-\[52px\]{width:52px}.w-\[60px\]{width:60px}.w-\[70px\]{width:70px}.w-\[110px\]{width:110px}.w-\[130px\]{width:130px}.w-\[140px\]{width:140px}.w-\[170px\]{width:170px}.w-\[260px\]{width:260px}.w-\[320px\]{width:320px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[420px\]{width:420px}.w-\[520px\]{width:520px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.\!max-w-\[90vw\]{max-width:90vw!important}.\!max-w-\[96vw\]{max-width:96vw!important}.max-w-\(--skeleton-width\){max-width:var(--skeleton-width)}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[120px\]{max-width:120px}.max-w-\[140px\]{max-width:140px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[480px\]{max-width:480px}.max-w-md{max-width:var(--container-md)}.min-w-\(--bits-select-anchor-width\){min-width:var(--bits-select-anchor-width)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-5{min-width:calc(var(--spacing) * 5)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[21rem\]{min-width:21rem}.min-w-\[40px\]{min-width:40px}.min-w-\[100px\]{min-width:100px}.min-w-\[120px\]{min-width:120px}.min-w-\[124px\]{min-width:124px}.min-w-\[170px\]{min-width:170px}.min-w-\[180px\]{min-width:180px}.min-w-\[320px\]{min-width:320px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\(--bits-popover-content-transform-origin\){transform-origin:var(--bits-popover-content-transform-origin)}.origin-\(--bits-select-content-transform-origin\){transform-origin:var(--bits-select-content-transform-origin)}.origin-\(--bits-tooltip-content-transform-origin\){transform-origin:var(--bits-tooltip-content-transform-origin)}.origin-left{transform-origin:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-px{--tw-translate-x:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-90{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.rotate-45{rotate:45deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.\[animation\:pulse_2s_infinite\]{animation:2s infinite pulse}.animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing) * 1)}.list-none{list-style-type:none}.auto-rows-min{grid-auto-rows:min-content}.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))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[80px_1fr\]{grid-template-columns:80px 1fr}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[repeat\(auto-fill\,minmax\(260px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.grid-cols-\[repeat\(auto-fill\,minmax\(340px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.content-start{align-content:flex-start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.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)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-\[5px\]{gap:5px}.gap-\[6px\]{gap:6px}.gap-\[var\(--space-md\)\]{gap:var(--space-md)}.gap-\[var\(--space-sm\)\]{gap:var(--space-sm)}.gap-\[var\(--space-xs\)\]{gap:var(--space-xs)}.gap-px{gap:1px}: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-px>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(1px * var(--tw-space-y-reverse));margin-block-end:calc(1px * 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-1{row-gap:calc(var(--spacing) * 1)}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.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-\[4px\]{border-radius:4px}.rounded-\[6\.5px\]{border-radius:6.5px}.rounded-\[10\.5px\]{border-radius:10.5px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg,.rounded-md{border-radius:var(--radius)}.rounded-none{border-radius:0}.rounded-sm,.rounded-xl{border-radius:var(--radius)}.rounded-xs{border-radius:var(--radius-xs)}.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-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.\!border-l{border-left-style:var(--tw-border-style)!important;border-left-width:1px!important}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.\!border-\[var\(--sig-border-strong\)\]{border-color:var(--sig-border-strong)!important}.border-\[\#4a7a5e\]{border-color:#4a7a5e}.border-\[\#4ade80\]{border-color:#4ade80}.border-\[\#8a4a48\]{border-color:#8a4a48}.border-\[\#60a5fa\]{border-color:#60a5fa}.border-\[\#94a3b8\]{border-color:#94a3b8}.border-\[\#b8860b\]{border-color:#b8860b}.border-\[\#f87171\]{border-color:#f87171}.border-\[\#fbbf24\]{border-color:#fbbf24}.border-\[color-mix\(in_srgb\,var\(--sig-highlight\)\,transparent_85\%\)\]{border-color:var(--sig-highlight)}@supports (color:color-mix(in lab,red,red)){.border-\[color-mix\(in_srgb\,var\(--sig-highlight\)\,transparent_85\%\)\]{border-color:color-mix(in srgb,var(--sig-highlight),transparent 85%)}}.border-\[rgba\(255\,255\,255\,0\.1\)\]{border-color:#ffffff1a}.border-\[rgba\(255\,255\,255\,0\.2\)\]{border-color:#fff3}.border-\[rgba\(255\,255\,255\,0\.14\)\]{border-color:#ffffff24}.border-\[rgba\(255\,255\,255\,0\.22\)\]{border-color:#ffffff38}.border-\[rgba\(255\,255\,255\,0\.24\)\]{border-color:#ffffff3d}.border-\[rgba\(255\,255\,255\,0\.26\)\]{border-color:#ffffff42}.border-\[rgba\(255\,255\,255\,0\.28\)\]{border-color:#ffffff47}.border-\[rgba\(255\,255\,255\,0\.32\)\]{border-color:#ffffff52}.border-\[var\(--sig-accent\)\]{border-color:var(--sig-accent)}.border-\[var\(--sig-border\)\],.border-\[var\(--sig-border\)\]\/30{border-color:var(--sig-border)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--sig-border\)\]\/30{border-color:color-mix(in oklab,var(--sig-border) 30%,transparent)}}.border-\[var\(--sig-border-strong\)\]{border-color:var(--sig-border-strong)}.border-\[var\(--sig-danger\)\]{border-color:var(--sig-danger)}.border-\[var\(--sig-success\)\]{border-color:var(--sig-success)}.border-\[var\(--sig-text-bright\)\]{border-color:var(--sig-text-bright)}.border-\[var\(--sig-text-muted\)\]{border-color:var(--sig-text-muted)}.border-\[var\(--sig-warning\)\]{border-color:var(--sig-warning)}.border-\[var\(--sig-warning\,\#d4a017\)\]{border-color:var(--sig-warning,#d4a017)}.border-\[var\(--sig-warning\,\#f59e0b\)\]\/20{border-color:var(--sig-warning,#f59e0b)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--sig-warning\,\#f59e0b\)\]\/20{border-color:color-mix(in oklab,var(--sig-warning,#f59e0b) 20%,transparent)}}.border-border{border-color:var(--border)}.border-input{border-color:var(--input)}.border-red-500{border-color:var(--color-red-500)}.border-red-500\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab,red,red)){.border-red-500\/20{border-color:color-mix(in oklab,var(--color-red-500) 20%,transparent)}}.border-sidebar-border{border-color:var(--sidebar-border)}.border-transparent{border-color:#0000}.border-s-transparent{border-inline-start-color:#0000}.border-t-transparent{border-top-color:#0000}.border-b-\[var\(--sig-border\)\]{border-bottom-color:var(--sig-border)}.border-b-transparent{border-bottom-color:#0000}.\!border-l-\[var\(--sig-border\)\]{border-left-color:var(--sig-border)!important}.\!bg-\[var\(--sig-surface\)\]{background-color:var(--sig-surface)!important}.\!bg-\[var\(--sig-surface-raised\)\]{background-color:var(--sig-surface-raised)!important}.bg-\[\#4ade80\]{background-color:#4ade80}.bg-\[\#050505\]{background-color:#050505}.bg-\[\#c4a24a\]{background-color:#c4a24a}.bg-\[\#f87171\]{background-color:#f87171}.bg-\[color-mix\(in_srgb\,var\(--sig-highlight\)\,var\(--sig-bg\)_90\%\)\]{background-color:var(--sig-highlight)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--sig-highlight\)\,var\(--sig-bg\)_90\%\)\]{background-color:color-mix(in srgb,var(--sig-highlight),var(--sig-bg) 90%)}}.bg-\[color-mix\(in_srgb\,var\(--sig-surface-raised\)_76\%\,transparent\)\]{background-color:var(--sig-surface-raised)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--sig-surface-raised\)_76\%\,transparent\)\]{background-color:color-mix(in srgb,var(--sig-surface-raised) 76%,transparent)}}.bg-\[color-mix\(in_srgb\,var\(--sig-warning\,\#d4a017\)_10\%\,transparent\)\]{background-color:var(--sig-warning,#d4a017)}@supports (color:color-mix(in lab,red,red)){.bg-\[color-mix\(in_srgb\,var\(--sig-warning\,\#d4a017\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--sig-warning,#d4a017) 10%,transparent)}}.bg-\[rgba\(5\,5\,5\,0\.74\)\]{background-color:#050505bd}.bg-\[rgba\(5\,5\,5\,0\.75\)\]{background-color:#050505bf}.bg-\[rgba\(5\,5\,5\,0\.88\)\]{background-color:#050505e0}.bg-\[rgba\(5\,5\,5\,0\.92\)\]{background-color:#050505eb}.bg-\[rgba\(138\,138\,150\,0\.1\)\]{background-color:#8a8a961a}.bg-\[rgba\(255\,255\,255\,0\.02\)\]{background-color:#ffffff05}.bg-\[rgba\(255\,255\,255\,0\.03\)\]{background-color:#ffffff08}.bg-\[rgba\(255\,255\,255\,0\.04\)\]{background-color:#ffffff0a}.bg-\[rgba\(255\,255\,255\,0\.05\)\]{background-color:#ffffff0d}.bg-\[rgba\(255\,255\,255\,0\.06\)\]{background-color:#ffffff0f}.bg-\[rgba\(255\,255\,255\,0\.08\)\]{background-color:#ffffff14}.bg-\[var\(--sig-accent\)\]{background-color:var(--sig-accent)}.bg-\[var\(--sig-bg\)\]{background-color:var(--sig-bg)}.bg-\[var\(--sig-border\)\]{background-color:var(--sig-border)}.bg-\[var\(--sig-border-strong\)\]{background-color:var(--sig-border-strong)}.bg-\[var\(--sig-danger\)\]{background-color:var(--sig-danger)}.bg-\[var\(--sig-highlight-muted\)\]{background-color:var(--sig-highlight-muted)}.bg-\[var\(--sig-skeleton\)\]{background-color:var(--sig-skeleton)}.bg-\[var\(--sig-success\)\]{background-color:var(--sig-success)}.bg-\[var\(--sig-surface\)\]{background-color:var(--sig-surface)}.bg-\[var\(--sig-surface-raised\)\]{background-color:var(--sig-surface-raised)}.bg-\[var\(--sig-text-muted\)\]{background-color:var(--sig-text-muted)}.bg-\[var\(--sig-warning\)\]{background-color:var(--sig-warning)}.bg-\[var\(--sig-warning\,\#f59e0b\)\]\/8{background-color:var(--sig-warning,#f59e0b)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--sig-warning\,\#f59e0b\)\]\/8{background-color:color-mix(in oklab,var(--sig-warning,#f59e0b) 8%,transparent)}}.bg-background{background-color:var(--background)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab,red,red)){.bg-black\/60{background-color:color-mix(in oklab,var(--color-black) 60%,transparent)}}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-500\/8{background-color:#fb2c3614}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/8{background-color:color-mix(in oklab,var(--color-red-500) 8%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-border{background-color:var(--sidebar-border)}.bg-transparent{background-color:#0000}.bg-clip-padding{background-clip:padding-box}.\!p-0{padding:calc(var(--spacing) * 0)!important}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.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-8{padding:calc(var(--spacing) * 8)}.p-\[3px\]{padding:3px}.p-\[var\(--space-md\)\]{padding:var(--space-md)}.p-\[var\(--space-sm\)\]{padding:var(--space-sm)}.p-px{padding:1px}.px-\(--cell-size\){padding-inline:var(--cell-size)}.px-0{padding-inline:calc(var(--spacing) * 0)}.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-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[5px\]{padding-inline:5px}.px-\[6px\]{padding-inline:6px}.px-\[7px\]{padding-inline:7px}.px-\[9px\]{padding-inline:9px}.px-\[var\(--space-md\)\]{padding-inline:var(--space-md)}.px-\[var\(--space-sm\)\]{padding-inline:var(--space-sm)}.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-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[1px\]{padding-block:1px}.py-\[2px\]{padding-block:2px}.py-\[3px\]{padding-block:3px}.py-\[4px\]{padding-block:4px}.py-\[5px\]{padding-block:5px}.py-\[6px\]{padding-block:6px}.py-\[7px\]{padding-block:7px}.py-\[var\(--space-sm\)\]{padding-block:var(--space-sm)}.py-\[var\(--space-xl\)\]{padding-block:var(--space-xl)}.py-\[var\(--space-xs\)\]{padding-block:var(--space-xs)}.py-px{padding-block:1px}.ps-2{padding-inline-start:calc(var(--spacing) * 2)}.pe-1{padding-inline-end:calc(var(--spacing) * 1)}.pe-8{padding-inline-end:calc(var(--spacing) * 8)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-\[var\(--space-md\)\]{padding-right:var(--space-md)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-\[1px\]{padding-bottom:1px}.pb-\[var\(--space-sm\)\]{padding-bottom:var(--space-sm)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-\[56px\]{padding-left:56px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-start{text-align:start}.align-middle{vertical-align:middle}.\!font-\[family-name\:var\(--font-mono\)\]{font-family:var(--font-mono)!important}.font-\[family-name\:var\(--font-display\)\]{font-family:var(--font-display)}.font-\[family-name\:var\(--font-mono\)\],.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--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-\[12px\]{font-size:12px!important}.text-\[0\.8rem\]{font-size:.8rem}.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-\[15px\]{font-size:15px}.text-\[length\:var\(--font-size-base\)\]{font-size:var(--font-size-base)}.text-\[length\:var\(--font-size-sm\)\]{font-size:var(--font-size-sm)}.text-\[length\:var\(--font-size-xs\)\]{font-size:var(--font-size-xs)}.leading-4{--tw-leading:calc(var(--spacing) * 4);line-height:calc(var(--spacing) * 4)}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\[1\.3\]{--tw-leading:1.3;line-height:1.3}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[14px\]{--tw-leading:14px;line-height:14px}.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-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[0\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\!text-\[var\(--sig-text-bright\)\]{color:var(--sig-text-bright)!important}.text-\[\#4a7a5e\]{color:#4a7a5e}.text-\[\#4ade80\]{color:#4ade80}.text-\[\#6b6b76\]{color:#6b6b76}.text-\[\#8a4a48\]{color:#8a4a48}.text-\[\#60a5fa\]{color:#60a5fa}.text-\[\#94a3b8\]{color:#94a3b8}.text-\[\#b8860b\]{color:#b8860b}.text-\[\#c4a24a\]{color:#c4a24a}.text-\[\#e5c07b\]{color:#e5c07b}.text-\[\#e06c75\]{color:#e06c75}.text-\[\#f87171\]{color:#f87171}.text-\[\#fbbf24\]{color:#fbbf24}.text-\[var\(--font-size-sm\)\]{color:var(--font-size-sm)}.text-\[var\(--sig-accent\)\]{color:var(--sig-accent)}.text-\[var\(--sig-border-strong\)\]{color:var(--sig-border-strong)}.text-\[var\(--sig-danger\)\]{color:var(--sig-danger)}.text-\[var\(--sig-electric\)\]{color:var(--sig-electric)}.text-\[var\(--sig-error\,\#ef4444\)\]{color:var(--sig-error,#ef4444)}.text-\[var\(--sig-highlight\)\]{color:var(--sig-highlight)}.text-\[var\(--sig-highlight-text\)\]{color:var(--sig-highlight-text)}.text-\[var\(--sig-success\)\]{color:var(--sig-success)}.text-\[var\(--sig-text\)\]{color:var(--sig-text)}.text-\[var\(--sig-text-bright\)\]{color:var(--sig-text-bright)}.text-\[var\(--sig-text-muted\)\]{color:var(--sig-text-muted)}.text-\[var\(--sig-warning\)\]{color:var(--sig-warning)}.text-\[var\(--sig-warning\,\#d4a017\)\]{color:var(--sig-warning,#d4a017)}.text-\[var\(--sig-warning\,\#e8a832\)\]{color:var(--sig-warning,#e8a832)}.text-\[var\(--sig-warning\,\#f59e0b\)\]{color:var(--sig-warning,#f59e0b)}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-400{color:var(--color-red-400)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground,.text-sidebar-foreground\/70{color:var(--sidebar-foreground)}@supports (color:color-mix(in lab,red,red)){.text-sidebar-foreground\/70{color:color-mix(in oklab,var(--sidebar-foreground) 70%,transparent)}}.text-white{color:var(--color-white)}.normal-case{text-transform:none}.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,)}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--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)}.shadow-\[0_0_0_1px_var\(--sidebar-border\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-border));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_0_0_0_1px_var\(--sig-highlight-dim\)\]{--tw-shadow:inset 0 0 0 1px var(--tw-shadow-color,var(--sig-highlight-dim));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-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px 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-sm{--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)}.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)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--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)}.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-ring\/10{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.ring-ring\/10{--tw-ring-color:color-mix(in oklab, var(--ring) 10%, transparent)}}.ring-sidebar-ring{--tw-ring-color:var(--sidebar-ring)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.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}.outline-ring\/50{outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.outline-ring\/50{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}.blur{--tw-blur:blur(8px);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,)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[left\,right\,width\]{transition-property:left,right,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[margin\,opacity\]{transition-property:margin,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,width\]{transition-property:opacity,width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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-shadow{transition-property:box-shadow;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))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\[--cell-size\:--spacing\(8\)\]{--cell-size:calc(var(--spacing) * 8)}.paused{animation-play-state:paused}.running{animation-play-state:running}.zoom-in{--tw-enter-scale:0}.zoom-out{--tw-exit-scale:0}.group-focus-within\/menu-item\:opacity-100:is(:where(.group\/menu-item):focus-within *){opacity:1}@media(hover:hover){.group-hover\/menu-item\:opacity-100:is(:where(.group\/menu-item):hover *){opacity:1}}.group-has-data-\[sidebar\=menu-action\]\/menu-item\:pe-8:is(:where(.group\/menu-item):has([data-sidebar=menu-action]) *){padding-inline-end:calc(var(--spacing) * 8)}.group-data-\[collapsible\=icon\]\:-mt-8:is(:where(.group)[data-collapsible=icon] *){margin-top:calc(var(--spacing) * -8)}.group-data-\[collapsible\=icon\]\:hidden:is(:where(.group)[data-collapsible=icon] *){display:none}.group-data-\[collapsible\=icon\]\:size-8\!:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 8)!important;height:calc(var(--spacing) * 8)!important}.group-data-\[collapsible\=icon\]\:w-\(--sidebar-width-icon\):is(:where(.group)[data-collapsible=icon] *){width:var(--sidebar-width-icon)}.group-data-\[collapsible\=icon\]\:w-0:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)\+\(--spacing\(4\)\)\+2px\)\]:is(:where(.group)[data-collapsible=icon] *){width:calc(var(--sidebar-width-icon) + (calc(var(--spacing) * 4)) + 2px)}.group-data-\[collapsible\=icon\]\:overflow-hidden:is(:where(.group)[data-collapsible=icon] *){overflow:hidden}.group-data-\[collapsible\=icon\]\:p-0\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 0)!important}.group-data-\[collapsible\=icon\]\:p-2\!:is(:where(.group)[data-collapsible=icon] *){padding:calc(var(--spacing) * 2)!important}.group-data-\[collapsible\=icon\]\:opacity-0:is(:where(.group)[data-collapsible=icon] *){opacity:0}.group-data-\[collapsible\=offcanvas\]\:start-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){inset-inline-start:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:end-\[calc\(var\(--sidebar-width\)\*-1\)\]:is(:where(.group)[data-collapsible=offcanvas] *){inset-inline-end:calc(var(--sidebar-width) * -1)}.group-data-\[collapsible\=offcanvas\]\:w-0:is(:where(.group)[data-collapsible=offcanvas] *){width:calc(var(--spacing) * 0)}.group-data-\[collapsible\=offcanvas\]\:translate-x-0:is(:where(.group)[data-collapsible=offcanvas] *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\[side\=left\]\:-end-4:is(:where(.group)[data-side=left] *){inset-inline-end:calc(var(--spacing) * -4)}.group-data-\[side\=right\]\:start-0:is(:where(.group)[data-side=right] *){inset-inline-start:calc(var(--spacing) * 0)}.group-data-\[side\=right\]\:rotate-180:is(:where(.group)[data-side=right] *){rotate:180deg}.group-data-\[variant\=floating\]\:rounded-lg:is(:where(.group)[data-variant=floating] *){border-radius:var(--radius)}.group-data-\[variant\=floating\]\:border:is(:where(.group)[data-variant=floating] *){border-style:var(--tw-border-style);border-width:1px}.group-data-\[variant\=floating\]\:border-sidebar-border:is(:where(.group)[data-variant=floating] *){border-color:var(--sidebar-border)}.group-data-\[variant\=floating\]\:shadow-sm:is(:where(.group)[data-variant=floating] *){--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)}@media(hover:hover){.peer-hover\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button):hover~*){color:var(--sidebar-accent-foreground)}}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground:is(:where(.peer\/menu-button)[data-active=true]~*){color:var(--sidebar-accent-foreground)}.peer-data-\[size\=default\]\/menu-button\:top-1\.5:is(:where(.peer\/menu-button)[data-size=default]~*){top:calc(var(--spacing) * 1.5)}.peer-data-\[size\=lg\]\/menu-button\:top-2\.5:is(:where(.peer\/menu-button)[data-size=lg]~*){top:calc(var(--spacing) * 2.5)}.peer-data-\[size\=sm\]\/menu-button\:top-1:is(:where(.peer\/menu-button)[data-size=sm]~*){top:calc(var(--spacing) * 1)}.selection\:bg-primary ::selection{background-color:var(--primary)}.selection\:bg-primary::selection{background-color:var(--primary)}.selection\:text-primary-foreground ::selection{color:var(--primary-foreground)}.selection\:text-primary-foreground::selection{color:var(--primary-foreground)}.placeholder\:text-\[var\(--sig-text-muted\)\]::placeholder{color:var(--sig-text-muted)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-1\/2:before{content:var(--tw-content);left:50%}.before\:h-full:before{content:var(--tw-content);height:100%}.before\:w-px:before{content:var(--tw-content);width:1px}.before\:bg-\[var\(--sig-highlight\)\]:before{content:var(--tw-content);background-color:var(--sig-highlight)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:calc(var(--spacing) * 0)}.after\:start-\[calc\(1\/2\*100\%-1px\)\]:after{content:var(--tw-content);inset-inline-start:calc(50% - 1px)}.after\:top-1\/2:after{content:var(--tw-content);top:50%}.after\:h-px:after{content:var(--tw-content);height:1px}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:bg-\[var\(--sig-highlight\)\]:after{content:var(--tw-content);background-color:var(--sig-highlight)}.group-data-\[collapsible\=offcanvas\]\:after\:start-full:is(:where(.group)[data-collapsible=offcanvas] *):after{content:var(--tw-content);inset-inline-start:100%}.focus-within\:z-20:focus-within{z-index:20}@media(hover:hover){.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:border-\[var\(--sig-border-strong\)\]:hover{border-color:var(--sig-border-strong)}.hover\:border-\[var\(--sig-danger\)\]:hover{border-color:var(--sig-danger)}.hover\:border-\[var\(--sig-text-bright\)\]:hover{border-color:var(--sig-text-bright)}.hover\:border-\[var\(--sig-text-muted\)\]:hover{border-color:var(--sig-text-muted)}.hover\:bg-\[color-mix\(in_srgb\,var\(--sig-highlight\)\,var\(--sig-bg\)_94\%\)\]:hover{background-color:var(--sig-highlight)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_srgb\,var\(--sig-highlight\)\,var\(--sig-bg\)_94\%\)\]:hover{background-color:color-mix(in srgb,var(--sig-highlight),var(--sig-bg) 94%)}}.hover\:bg-\[color-mix\(in_srgb\,var\(--sig-surface-raised\)_60\%\,transparent\)\]:hover{background-color:var(--sig-surface-raised)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color-mix\(in_srgb\,var\(--sig-surface-raised\)_60\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--sig-surface-raised) 60%,transparent)}}.hover\:bg-\[var\(--sig-accent\)\]:hover{background-color:var(--sig-accent)}.hover\:bg-\[var\(--sig-danger\)\]:hover{background-color:var(--sig-danger)}.hover\:bg-\[var\(--sig-surface\)\]:hover{background-color:var(--sig-surface)}.hover\:bg-\[var\(--sig-surface-raised\)\]:hover{background-color:var(--sig-surface-raised)}.hover\:bg-\[var\(--sig-text-bright\)\]:hover{background-color:var(--sig-text-bright)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}.hover\:bg-red-500:hover{background-color:var(--color-red-500)}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,var(--secondary) 80%,transparent)}}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-\[var\(--sig-accent\)\]:hover{color:var(--sig-accent)}.hover\:text-\[var\(--sig-bg\)\]:hover{color:var(--sig-bg)}.hover\:text-\[var\(--sig-highlight\)\]:hover{color:var(--sig-highlight)}.hover\:text-\[var\(--sig-text\)\]:hover{color:var(--sig-text)}.hover\:text-\[var\(--sig-text-bright\)\]:hover{color:var(--sig-text-bright)}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-red-400:hover{color:var(--color-red-400)}.hover\:text-sidebar-accent-foreground:hover{color:var(--sidebar-accent-foreground)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\[0_0_0_1px_var\(--sidebar-accent\)\]:hover{--tw-shadow:0 0 0 1px var(--tw-shadow-color,var(--sidebar-accent));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_0_12px_rgba\(220\,38\,38\,0\.35\)\]:hover{--tw-shadow:0 0 12px var(--tw-shadow-color,#dc262659);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-\[0_0_12px_rgba\(255\,255\,255\,0\.1\)\]:hover{--tw-shadow:0 0 12px var(--tw-shadow-color,#ffffff1a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:group-data-\[collapsible\=offcanvas\]\:bg-sidebar:hover:is(:where(.group)[data-collapsible=offcanvas] *){background-color:var(--sidebar)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:var(--sidebar-border)}}.focus\:relative:focus{position:relative}.focus\:border-\[var\(--sig-accent\)\]:focus{border-color:var(--sig-accent)}.focus\:border-ring:focus{border-color:var(--ring)}.focus\:ring-ring\/50:focus{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus\:ring-ring\/50:focus{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-\[var\(--sig-accent\)\]:focus-visible{border-color:var(--sig-accent)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:ring-0:focus-visible{--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)}.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-4:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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-destructive\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-destructive\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\:ring-ring:focus-visible,.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\:ring-ring\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.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\:outline-hidden:focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus-visible\:outline-hidden:focus-visible{outline-offset:2px;outline:2px solid #0000}}.focus-visible\:outline:focus-visible,.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--sig-accent\)\]:focus-visible{outline-color:var(--sig-accent)}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.active\:bg-sidebar-accent:active{background-color:var(--sidebar-accent)}.active\:text-sidebar-accent-foreground:active{color:var(--sidebar-accent-foreground)}@media(hover:hover){.enabled\:hover\:bg-\[var\(--sig-text-bright\)\]:enabled:hover{background-color:var(--sig-text-bright)}.enabled\:hover\:text-\[var\(--sig-bg\)\]:enabled:hover{color:var(--sig-bg)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:no-underline:disabled{text-decoration-line:none}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}:where([data-side=left]) .in-data-\[side\=left\]\:cursor-w-resize{cursor:w-resize}:where([data-side=right]) .in-data-\[side\=right\]\:cursor-e-resize{cursor:e-resize}.has-focus\:border-ring:has(:focus){border-color:var(--ring)}.has-focus\:ring-\[3px\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + 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)}.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.has-focus\:ring-ring\/50:has(:focus){--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.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)}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\:ring-destructive\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:var(--sidebar-accent)}.data-\[active\=true\]\:font-medium[data-active=true]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:var(--sidebar-accent-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:text-muted-foreground[data-disabled]{color:var(--muted-foreground)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[highlighted\]\:bg-accent[data-highlighted]{background-color:var(--accent)}.data-\[highlighted\]\:text-accent-foreground[data-highlighted]{color:var(--accent-foreground)}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:min-h-full[data-orientation=vertical]{min-height:100%}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[placeholder\]\:text-\[var\(--sig-text-muted\)\][data-placeholder]{color:var(--sig-text-muted)}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:var(--muted-foreground)}.data-\[selected\]\:bg-primary[data-selected]{background-color:var(--primary)}.data-\[selected\]\:text-primary-foreground[data-selected]{color:var(--primary-foreground)}.data-\[side\=bottom\]\:-translate-x-1\/2[data-side=bottom]{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=bottom\]\:-translate-y-\[calc\(-50\%_\+_1px\)\][data-side=bottom]{--tw-translate-y: calc((-50% + 1px)*-1) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.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\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.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\=left\]\:-translate-y-\[calc\(50\%_-_3px\)\][data-side=left]{--tw-translate-y: calc((50% - 3px)*-1) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=left\]\:slide-in-from-end-2[data-side=left]:where(:dir(ltr),[dir=ltr]){--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=left\]\:slide-in-from-end-2[data-side=left]:where(:dir(rtl),[dir=rtl]){--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.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\=right\]\:translate-x-\[calc\(50\%_\+_2px\)\][data-side=right]{--tw-translate-x: calc(50% + 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:translate-y-1\/2[data-side=right]{--tw-translate-y: 50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=right\]\:slide-in-from-start-2[data-side=right]:where(:dir(ltr),[dir=ltr]){--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\[side\=right\]\:slide-in-from-start-2[data-side=right]:where(:dir(rtl),[dir=rtl]){--tw-enter-translate-x:calc(2*var(--spacing))}.data-\[side\=top\]\:translate-x-1\/2[data-side=top]{--tw-translate-x: 50% ;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-\[side\=top\]\:translate-y-\[calc\(-50\%_\+_2px\)\][data-side=top]{--tw-translate-y: calc(-50% + 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.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\=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)}.data-\[state\=active\]\:border-b-\[var\(--sig-text-bright\)\][data-state=active]{border-bottom-color:var(--sig-text-bright)}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=active\]\:text-\[var\(--sig-text-bright\)\][data-state=active]{color:var(--sig-text-bright)}.data-\[state\=active\]\:shadow-none[data-state=active]{--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)}.data-\[state\=active\]\:shadow-sm[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)}.data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x: calc(100% - 2px) ;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=closed\]\:duration-200[data-state=closed]{--tw-duration:.2s;transition-duration:.2s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-end[data-state=closed]:dir(ltr){--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-end[data-state=closed]:dir(rtl){--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-start[data-state=closed]:dir(ltr){--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-start[data-state=closed]:dir(rtl){--tw-exit-translate-x:100%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=open\]\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:duration-200[data-state=open]{--tw-duration:.2s;transition-duration:.2s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-end[data-state=open]:dir(ltr){--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-end[data-state=open]:dir(rtl){--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-start[data-state=open]:dir(ltr){--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-start[data-state=open]:dir(rtl){--tw-enter-translate-x:100%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}@media(hover:hover){.data-\[state\=open\]\:hover\:bg-sidebar-accent[data-state=open]:hover{background-color:var(--sidebar-accent)}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground[data-state=open]:hover{color:var(--sidebar-accent-foreground)}}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[unavailable\]\:text-muted-foreground[data-unavailable]{color:var(--muted-foreground)}.data-\[unavailable\]\:line-through[data-unavailable]{text-decoration-line:line-through}@media not all and (min-width:64rem){.max-lg\:max-h-\[48\%\]{max-height:48%}.max-lg\:max-h-none{max-height:none}.max-lg\:w-full{width:100%}.max-lg\:min-w-0{min-width:calc(var(--spacing) * 0)}.max-lg\:flex-col{flex-direction:column}.max-lg\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.max-lg\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.max-lg\:border-t-\[var\(--sig-border\)\]{border-top-color:var(--sig-border)}}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:max-w-\[420px\]{max-width:420px}.sm\:max-w-\[520px\]{max-width:520px}.sm\:max-w-sm{max-width:var(--container-sm)}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:px-5{padding-inline:calc(var(--spacing) * 5)}.md\:py-5{padding-block:calc(var(--spacing) * 5)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:opacity-0{opacity:0}.md\:after\:hidden:after{content:var(--tw-content);display:none}}@media(min-width:64rem){.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:max-h-none{max-height:none}.lg\:min-h-0{min-height:calc(var(--spacing) * 0)}.lg\:w-\[320px\]{width:320px}.lg\:w-\[420px\]{width:420px}.lg\:grid-cols-\[minmax\(0\,1\.15fr\)_minmax\(360px\,0\.85fr\)\]{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr)}.lg\:grid-cols-\[minmax\(0\,1\.55fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.lg\:p-\[var\(--space-md\)\]{padding:var(--space-md)}}@media(min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}}@media(min-width:96rem){.\32xl\:flex{display:flex}.\32xl\:hidden{display:none}}.rtl\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *){rotate:180deg}.dark\:border-input:is(:root:not([data-theme=light]) *){border-color:var(--input)}.dark\:bg-destructive\/60:is(:root:not([data-theme=light]) *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/60:is(:root:not([data-theme=light]) *){background-color:color-mix(in oklab,var(--destructive) 60%,transparent)}}.dark\:bg-destructive\/70:is(:root:not([data-theme=light]) *){background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-destructive\/70:is(:root:not([data-theme=light]) *){background-color:color-mix(in oklab,var(--destructive) 70%,transparent)}}.dark\:bg-input\/30:is(:root:not([data-theme=light]) *){background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:bg-input\/30:is(:root:not([data-theme=light]) *){background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:bg-popover:is(:root:not([data-theme=light]) *){background-color:var(--popover)}.dark\:text-muted-foreground:is(:root:not([data-theme=light]) *){color:var(--muted-foreground)}.dark\:text-popover-foreground:is(:root:not([data-theme=light]) *){color:var(--popover-foreground)}.dark\:ring-ring\/20:is(:root:not([data-theme=light]) *){--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.dark\:ring-ring\/20:is(:root:not([data-theme=light]) *){--tw-ring-color:color-mix(in oklab, var(--ring) 20%, transparent)}}.dark\:outline-ring\/40:is(:root:not([data-theme=light]) *){outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){.dark\:outline-ring\/40:is(:root:not([data-theme=light]) *){outline-color:color-mix(in oklab,var(--ring) 40%,transparent)}}@media(hover:hover){.dark\:hover\:bg-accent\/50:is(:root:not([data-theme=light]) *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-accent\/50:is(:root:not([data-theme=light]) *):hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}.dark\:hover\:bg-input\/50:is(:root:not([data-theme=light]) *):hover{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-input\/50:is(:root:not([data-theme=light]) *):hover{background-color:color-mix(in oklab,var(--input) 50%,transparent)}}.dark\:hover\:text-accent-foreground:is(:root:not([data-theme=light]) *):hover{color:var(--accent-foreground)}}.dark\:focus-visible\:ring-destructive\/40:is(:root:not([data-theme=light]) *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:focus-visible\:ring-destructive\/40:is(:root:not([data-theme=light]) *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\:aria-invalid\:ring-destructive\/40:is(:root:not([data-theme=light]) *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){.dark\:aria-invalid\:ring-destructive\/40:is(:root:not([data-theme=light]) *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}@media(hover:hover){.dark\:data-\[selected\]\:hover\:bg-accent\/50:is(:root:not([data-theme=light]) *)[data-selected]:hover{background-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[selected\]\:hover\:bg-accent\/50:is(:root:not([data-theme=light]) *)[data-selected]:hover{background-color:color-mix(in oklab,var(--accent) 50%,transparent)}}}.dark\:data-\[state\=active\]\:border-input:is(:root:not([data-theme=light]) *)[data-state=active]{border-color:var(--input)}.dark\:data-\[state\=active\]\:bg-input\/30:is(:root:not([data-theme=light]) *)[data-state=active]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=active\]\:bg-input\/30:is(:root:not([data-theme=light]) *)[data-state=active]{background-color:color-mix(in oklab,var(--input) 30%,transparent)}}.dark\:data-\[state\=active\]\:text-foreground:is(:root:not([data-theme=light]) *)[data-state=active]{color:var(--foreground)}.dark\:data-\[state\=checked\]\:bg-primary:is(:root:not([data-theme=light]) *)[data-state=checked]{background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground:is(:root:not([data-theme=light]) *)[data-state=checked]{background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground:is(:root:not([data-theme=light]) *)[data-state=unchecked]{background-color:var(--foreground)}.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(:root:not([data-theme=light]) *)[data-state=unchecked]{background-color:var(--input)}@supports (color:color-mix(in lab,red,red)){.dark\:data-\[state\=unchecked\]\:bg-input\/80:is(:root:not([data-theme=light]) *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--input) 80%,transparent)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_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-muted-foreground svg:not([class*=text-]){color:var(--muted-foreground)}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none}.\[\&\:first-child\[data-selected\]_\[data-bits-day\]\]\:rounded-s-md:first-child[data-selected] [data-bits-day]{border-start-start-radius:var(--radius);border-end-start-radius:var(--radius)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pe-0:has([role=checkbox]){padding-inline-end:calc(var(--spacing) * 0)}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing) * 6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing) * 6)}: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)}.\[\&\:last-child\[data-selected\]_\[data-bits-day\]\]\:rounded-e-md:last-child[data-selected] [data-bits-day]{border-start-end-radius:var(--radius);border-end-end-radius:var(--radius)}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>span\]\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\[\&\>span\]\:opacity-70>span{opacity:.7}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3>svg{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\[\&\>svg\]\:size-3\.5>svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&\>svg\]\:size-4>svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-muted-foreground>svg{color:var(--muted-foreground)}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:var(--sidebar-accent-foreground)}@media(hover:hover){:is(.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover,.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover>svelte-css-wrapper)>th,:is(.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover,.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover>svelte-css-wrapper) td{background-color:var(--muted)}@supports (color:color-mix(in lab,red,red)){:is(.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover,.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover>svelte-css-wrapper)>th,:is(.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover,.hover\:\[\&\,\&\>svelte-css-wrapper\]\:\[\&\>th\,td\]\:bg-muted\/50:hover>svelte-css-wrapper) td{background-color:color-mix(in oklab,var(--muted) 50%,transparent)}}}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.\[\&\[data-outside-month\]\:not\(\[data-selected\]\)\]\:text-muted-foreground[data-outside-month]:not([data-selected]){color:var(--muted-foreground)}@media(hover:hover){.\[\&\[data-outside-month\]\:not\(\[data-selected\]\)\]\:hover\:text-accent-foreground[data-outside-month]:not([data-selected]):hover{color:var(--accent-foreground)}}.\[\&\[data-today\]\:not\(\[data-selected\]\)\]\:bg-accent[data-today]:not([data-selected]){background-color:var(--accent)}.\[\&\[data-today\]\:not\(\[data-selected\]\)\]\:text-accent-foreground[data-today]:not([data-selected]){color:var(--accent-foreground)}.\[\&\[data-today\]\[data-disabled\]\]\:text-muted-foreground[data-today][data-disabled]{color:var(--muted-foreground)}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-end-2{inset-inline-end:calc(var(--spacing) * -2)}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-start-2{inset-inline-start:calc(var(--spacing) * -2)}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-slot=card-content] .\[\[data-slot\=card-content\]_\&\]\:bg-transparent,[data-slot=popover-content] .\[\[data-slot\=popover-content\]_\&\]\:bg-transparent{background-color:#0000}@media(hover:hover){a.\[a\&\]\:hover\:bg-accent:hover{background-color:var(--accent)}a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,var(--destructive) 90%,transparent)}}a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,var(--primary) 90%,transparent)}}a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab,red,red)){a.\[a\&\]\:hover\:bg-secondary\/90:hover{background-color:color-mix(in oklab,var(--secondary) 90%,transparent)}}a.\[a\&\]\:hover\:text-accent-foreground:hover{color:var(--accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}svg.lucide{stroke-width:2px}:root{--radius:6px;--sig-radius:var(--radius);--background:#0b0e17;--foreground:#f6f6f4;--card:#111520;--card-foreground:#f6f6f4;--popover:#111520;--popover-foreground:#f6f6f4;--primary:#0a39ff;--primary-foreground:#f6f6f4;--secondary:#171c28;--secondary-foreground:#f6f6f4;--muted:#171c28;--muted-foreground:#aeb3bd;--accent:#ff5a1f;--accent-foreground:#0b0e17;--destructive:#ff5a1f;--destructive-foreground:#f6f6f4;--border:#f6f6f41f;--input:#f6f6f424;--ring:#0a39ff;--sidebar:#0b0e17;--sidebar-foreground:#f6f6f4;--sidebar-primary:#0a39ff;--sidebar-primary-foreground:#f6f6f4;--sidebar-accent:#0a39ff29;--sidebar-accent-foreground:#f6f6f4;--sidebar-border:#f6f6f424;--sidebar-ring:#0a39ff;--sig-bg:#0b0e17;--sig-surface:#111520;--sig-surface-raised:#171c28;--sig-border:#f6f6f41a;--sig-border-strong:#f6f6f42e;--sig-text:#d8dbe2;--sig-text-bright:#f6f6f4;--sig-text-muted:#aeb3bd;--sig-accent:#ff5a1f;--sig-accent-hover:#ff7a4a;--sig-danger:#ff5a1f;--sig-warning:#ffb020;--sig-success:#67d18f;--sig-dither:#f6f6f4;--sig-grain-opacity:.035;--sig-highlight:#0a39ff;--sig-highlight-muted:#0a39ff29;--sig-highlight-dim:#0a39ff14;--sig-highlight-text:#6f8aff;--sig-electric:#0a39ff;--sig-electric-muted:#0a39ff2e;--sig-electric-dim:#0a39ff14;--sig-signal:#ff5a1f;--sig-signal-muted:#ff5a1f29;--sig-signal-dim:#ff5a1f14;--sig-skeleton:#aeb3bd29;--sig-skeleton-sheen:#0a39ff1f;--sig-blueprint:#0a39ff14;--sig-grid-line:#f6f6f40a;--sig-glow-highlight:0 0 24px #0a39ff38;--sig-glow-electric:0 0 24px #0a39ff33;--sig-scanline-opacity:.01;--sig-icon-fg:#f8fafc;--sig-icon-border:#ffffff38;--sig-icon-bg-1:#3b5998;--sig-icon-bg-2:#6b4c8a;--sig-icon-bg-3:#4a7c6f;--sig-icon-bg-4:#8a6d3b;--sig-icon-bg-5:#7c4a4a;--sig-icon-bg-6:#4a6e7c;--sig-log-category-watcher:#0a39ff;--sig-log-category-daemon:#6f8aff;--sig-log-category-pipeline:#67d18f;--sig-log-category-system:#9ca3af;--sig-log-category-embedding-tracker:#6f8aff;--sig-log-category-document-worker:#ff5a1f;--sig-log-category-maintenance:#0a39ff;--sig-log-category-git:#2dd4bf;--sig-log-category-scheduler:#c084fc;--sig-log-category-retention:#f87171;--font-display:"Neue Haas Grotesk Display", "Neue Haas Grotesk Display Pro", "Neue Haas Grotesk Text", "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", "Geist Mono", monospace;--font-sans:var(--font-display);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:48px;--space-2xl:80px;--mobile-header-inset:2.5rem;--font-size-xs:10px;--font-size-sm:11px;--font-size-base:13px;--font-size-lg:15px;--ease:cubic-bezier(.16, 1, .3, 1);--dur:.2s}[data-theme=light]{--background:#f6f6f4;--foreground:#0b0e17;--card:#fcfcfa;--card-foreground:#0b0e17;--popover:#fcfcfa;--popover-foreground:#0b0e17;--primary:#0a39ff;--primary-foreground:#f6f6f4;--secondary:#edeef0;--secondary-foreground:#0b0e17;--muted:#edeef0;--muted-foreground:#5e6675;--accent:#ff5a1f;--accent-foreground:#f6f6f4;--destructive:#ff5a1f;--destructive-foreground:#f6f6f4;--border:#0b0e171f;--input:#0b0e1729;--ring:#0a39ff;--sidebar:#f6f6f4;--sidebar-foreground:#0b0e17;--sidebar-primary:#0a39ff;--sidebar-primary-foreground:#f6f6f4;--sidebar-accent:#0a39ff14;--sidebar-accent-foreground:#0b0e17;--sidebar-border:#0b0e1724;--sidebar-ring:#0a39ff;--sig-bg:#f6f6f4;--sig-surface:#fcfcfa;--sig-surface-raised:#edeef0;--sig-border:#0b0e171a;--sig-border-strong:#0b0e172e;--sig-text:#242936;--sig-text-bright:#0b0e17;--sig-text-muted:#667080;--sig-accent:#ff5a1f;--sig-accent-hover:#cc3f0f;--sig-danger:#ff5a1f;--sig-warning:#c87a00;--sig-success:#16824a;--sig-dither:#0b0e17;--sig-grain-opacity:.025;--sig-highlight:#0a39ff;--sig-highlight-muted:#0a39ff1a;--sig-highlight-dim:#0a39ff0d;--sig-highlight-text:#0a39ff;--sig-electric:#0a39ff;--sig-electric-muted:#0a39ff1a;--sig-electric-dim:#0a39ff0d;--sig-signal:#ff5a1f;--sig-signal-muted:#ff5a1f1a;--sig-signal-dim:#ff5a1f0d;--sig-skeleton:#aeb3bd47;--sig-skeleton-sheen:#0a39ff14;--sig-blueprint:#0a39ff0b;--sig-grid-line:#0a39ff0e;--sig-glow-highlight:none;--sig-glow-electric:none;--sig-scanline-opacity:0;--sig-icon-fg:#111827;--sig-icon-border:#0000002e;--sig-icon-bg-1:#8898b0;--sig-icon-bg-2:#a090b0;--sig-icon-bg-3:#80a898;--sig-icon-bg-4:#b0a070;--sig-icon-bg-5:#b08888;--sig-icon-bg-6:#80a8b0;--sig-log-category-watcher:#2563eb;--sig-log-category-daemon:#7c3aed;--sig-log-category-pipeline:#059669;--sig-log-category-system:#6b7280;--sig-log-category-embedding-tracker:#db2777;--sig-log-category-document-worker:#e8461e;--sig-log-category-maintenance:#c83a18;--sig-log-category-git:#0d9488;--sig-log-category-scheduler:#9333ea;--sig-log-category-retention:#dc2626}html{background:var(--sig-bg);color:var(--sig-text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .4s var(--ease),color .4s var(--ease);font-size:13px;line-height:1.55}body{width:var(--scaled-viewport-width,100vw);min-height:var(--scaled-viewport-height,100vh);background:linear-gradient(var(--sig-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--sig-grid-line) 1px,transparent 1px),radial-gradient(circle at 78% 18%,var(--sig-blueprint),transparent 32%),var(--sig-bg);background-size:56px 56px,56px 56px,100% 100%,auto;margin:0;overflow:hidden}body:before{content:"";z-index:9999;pointer-events:none;opacity:var(--sig-grain-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.5' numOctaves='6' 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:200px;position:fixed;inset:0}body:after{content:"";z-index:9998;pointer-events:none;opacity:var(--sig-scanline-opacity);background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#0000004d 2px 4px);background-size:100% 4px;position:fixed;inset:0}::selection{background:var(--sig-highlight-muted);color:var(--sig-text-bright)}[data-variant=floating] [data-sidebar=sidebar]{background:var(--sidebar);border-color:var(--sig-border-strong);border-radius:var(--sig-radius);box-shadow:0 2px 6px #0006,inset 0 0 0 1px #ffffff08,inset 0 1px #ffffff0a}[data-theme=light] [data-variant=floating] [data-sidebar=sidebar]{border-color:var(--sig-border-strong);box-shadow:0 2px 6px #0000001a,inset 0 0 0 1px #fff9,inset 0 1px #fffc}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--sig-border-strong);border-radius:0}::-webkit-scrollbar-thumb:hover{background:var(--sig-text-muted)}:focus-visible{outline:1px solid var(--sig-text-muted);outline-offset:1px}[data-slot=skeleton]{background-size:200% 100%,auto;background:linear-gradient(90deg,transparent,var(--sig-skeleton-sheen),transparent),var(--sig-skeleton)!important}button,a,input,select,textarea{transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}h1,h2,h3{font-family:var(--font-display);color:var(--sig-text-bright);text-transform:uppercase;font-weight:600;line-height:1.1}h1{letter-spacing:.06em;font-size:1.5rem}h2{letter-spacing:.05em;font-size:1rem}h3{letter-spacing:.04em;font-size:.875rem}.prose{font-family:var(--font-mono);color:var(--sig-text);font-size:13px;line-height:1.7}.prose h1,.prose h2,.prose h3{font-family:var(--font-display);color:var(--sig-text-bright);text-transform:uppercase;margin:1.5em 0 .5em;font-weight:600;line-height:1.2}.prose h1{letter-spacing:.06em;border-bottom:1px solid var(--sig-border);padding-bottom:.4em;font-size:1.25rem}.prose h2{letter-spacing:.05em;font-size:1rem}.prose h3{letter-spacing:.04em;font-size:.875rem}.prose p{margin:.75em 0}.prose ul,.prose ol{margin:.5em 0;padding-left:1.5em}.prose li{margin:.25em 0}.prose code{font-family:var(--font-mono);background:var(--sig-surface-raised);border:1px solid var(--sig-border);padding:1px 5px;font-size:.9em}.prose pre{background:var(--sig-bg);border:1px solid var(--sig-border);padding:var(--space-sm) var(--space-md);margin:.75em 0;overflow-x:auto}.prose pre code{background:0 0;border:none;padding:0}.prose a{color:var(--sig-accent);text-underline-offset:2px;text-decoration:underline}.prose a:hover{color:var(--sig-accent-hover)}.prose strong{color:var(--sig-text-bright);font-weight:600}.prose em{font-style:italic}.prose blockquote{border-left:2px solid var(--sig-border-strong);padding:.25em 0 .25em var(--space-md);color:var(--sig-text-muted);margin:.75em 0}.prose hr{border:none;border-top:1px solid var(--sig-border);margin:1.5em 0}.prose table{border-collapse:collapse;width:100%;margin:.75em 0;font-size:12px}.prose th,.prose td{border:1px solid var(--sig-border);text-align:left;padding:4px 8px}.prose th{background:var(--sig-surface-raised);color:var(--sig-text-bright);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.sig-panel{background:var(--sig-surface);border-radius:var(--radius);border:1px solid #ffffff14;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 2px 4px #00000080,0 0 0 1px #ffffff08}[data-theme=light] .sig-panel{border:1px solid var(--sig-border);box-shadow:inset 0 1px #ffffffb3,0 1px 3px #00000014,0 0 0 1px #0000000a}.sig-panel-header{border-bottom:1px solid #0006;box-shadow:0 1px #ffffff0d}[data-theme=light] .sig-panel-header{border-bottom:1px solid var(--sig-border);box-shadow:0 1px #ffffff80}.sig-panel-footer{border-top:1px solid #0006;box-shadow:inset 0 1px #ffffff0d}[data-theme=light] .sig-panel-footer{border-top:1px solid var(--sig-border);box-shadow:inset 0 1px #ffffff80}.sig-switch{transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease),background var(--dur) var(--ease),box-shadow .1s var(--ease),transform .1s var(--ease);background:#ffffff08;border:1px solid #ffffff1a;border-radius:3px;box-shadow:inset 0 1px #ffffff14,0 1px 2px #0006}.sig-switch:hover{color:var(--sig-text-bright);background:#ffffff0d;border-color:#ffffff26}.sig-switch:active{background:#0000001a;transform:translateY(.5px);box-shadow:inset 0 2px 4px #00000080,inset 0 0 0 1px #0003}[data-theme=light] .sig-switch{border:1px solid var(--sig-border-strong);background:#fff6;box-shadow:inset 0 1px #fff9,0 1px 2px #0000000f}[data-theme=light] .sig-switch:hover{background:#fff9}[data-theme=light] .sig-switch:active{background:#0000000a;box-shadow:inset 0 1px 3px #0000001a,0 0 #0000}.sig-groove{background:linear-gradient(#00000080,#ffffff12);border:none;height:2px}[data-theme=light] .sig-groove{background:linear-gradient(#0000001a,#fff9)}.sig-track{background:#00000080;border-radius:2px;box-shadow:inset 0 1px 3px #0009,0 1px #ffffff0d}[data-theme=light] .sig-track{background:#0000000f;box-shadow:inset 0 1px 2px #0000001a,0 .5px #ffffff80}.sig-label{font-family:var(--font-mono);color:var(--sig-text-muted);font-size:11px}.sig-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--sig-text-muted);font-size:10px}.sig-heading{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--sig-text-bright);font-size:11px;font-weight:700}.sig-meta{font-family:var(--font-mono);color:var(--sig-text-muted);white-space:nowrap;font-size:9px}.sig-badge{font-family:var(--font-mono);border-radius:var(--sig-radius);padding:1px 5px;font-size:9px}.sig-micro{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--sig-text-muted);font-size:8px}.sig-highlight-text{color:var(--sig-highlight-text)}.sig-highlight-badge{font-family:var(--font-mono);border-radius:var(--sig-radius);background:var(--sig-highlight-muted);color:var(--sig-highlight-text);border:1px solid var(--sig-highlight-dim);padding:1px 6px;font-size:9px}.sig-electric-badge{font-family:var(--font-mono);border-radius:var(--sig-radius);background:var(--sig-electric-muted);color:var(--sig-electric);border:1px solid var(--sig-electric-dim);padding:1px 6px;font-size:9px}.sig-data{font-family:var(--font-mono);letter-spacing:.08em;color:var(--sig-text);font-variant-numeric:tabular-nums;font-size:10px;line-height:1.8}.sig-glow{box-shadow:var(--sig-glow-highlight)}.sig-glow-blue{box-shadow:var(--sig-glow-electric)}.sig-node{background:var(--sig-highlight);width:4px;height:4px;box-shadow:0 0 6px var(--sig-highlight);border-radius:50%}.sig-crosshair{position:relative}.sig-crosshair:before,.sig-crosshair:after{content:"";background:var(--sig-grid-line);position:absolute}.sig-crosshair:before{width:1px;height:100%;left:50%}.sig-crosshair:after{width:100%;height:1px;top:50%}.sig-divider{background:linear-gradient(90deg,transparent 0%,var(--sig-border-strong) 20%,var(--sig-highlight-dim) 50%,var(--sig-border-strong) 80%,transparent 100%);border:none;height:1px}.sig-readout{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--sig-text-bright);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1}svg.lucide [stroke]{vector-effect:non-scaling-stroke}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@keyframes pulse{50%{opacity:.5}}@keyframes sig-flicker{0%,97%,to{opacity:1}98%{opacity:.85}99%{opacity:.95}}@keyframes sig-glow-pulse{0%,to{box-shadow:0 0 4px var(--sig-highlight)}50%{box-shadow:0 0 12px var(--sig-highlight),0 0 24px var(--sig-highlight-dim)}}@keyframes sig-grid-drift{0%{background-position:-1px -1px}to{background-position:23px 23px}}@media(max-width:768px){button,.sig-switch{min-width:44px;min-height:44px}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as n,g as c,E as o,j as i,a as f,n as v,l as u,F as h,b as m,d as g,r as x,m as b}from"./KKQFryJf.js";import{c as p}from"./
|
|
1
|
+
import{p as n,g as c,E as o,j as i,a as f,n as v,l as u,F as h,b as m,d as g,r as x,m as b}from"./KKQFryJf.js";import{c as p}from"./HpmjLUu0.js";var _=b("<div><!></div>");function j(t,a){n(a,!0);let s=c(a,"ref",15,null),d=x(a,["$$slots","$$events","$$legacy","ref","class","children"]);var e=_();o(e,r=>({"data-slot":"card-content",class:r,...d}),[()=>p("px-6",a.class)]);var l=i(e);f(l,()=>a.children??v),u(e),h(e,r=>s(r),()=>s()),m(t,e),g()}var y=b("<div><!></div>");function w(t,a){n(a,!0);let s=c(a,"ref",15,null),d=x(a,["$$slots","$$events","$$legacy","ref","class","children"]);var e=y();o(e,r=>({"data-slot":"card",class:r,...d}),[()=>p("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",a.class)]);var l=i(e);f(l,()=>a.children??v),u(e),h(e,r=>s(r),()=>s()),m(t,e),g()}export{w as C,j as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as p,f as g,h as c,a5 as x,s as i,b as u,r as v,p as P,g as l,a6 as j,i as _,u as b,d as $,a7 as k,a8 as q}from"./KKQFryJf.js";import{c as h}from"./
|
|
1
|
+
import{c as p,f as g,h as c,a5 as x,s as i,b as u,r as v,p as P,g as l,a6 as j,i as _,u as b,d as $,a7 as k,a8 as q}from"./KKQFryJf.js";import{c as h}from"./HpmjLUu0.js";function A(r,e){let t=v(e,["$$slots","$$events","$$legacy"]);var o=p(),a=g(o);c(a,()=>x,(s,n)=>{n(s,i(()=>t))}),u(r,o)}function D(r,e){P(e,!0);let t=l(e,"ref",15,null),o=l(e,"sideOffset",3,4),a=l(e,"align",3,"center"),s=v(e,["$$slots","$$events","$$legacy","ref","class","sideOffset","align","portalProps"]);A(r,i(()=>e.portalProps,{children:(n,f)=>{var d=p(),m=g(d);{let y=b(()=>h("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-end-2 data-[side=right]:slide-in-from-start-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--bits-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e.class));c(m,()=>j,(O,z)=>{z(O,i({"data-slot":"popover-content",get sideOffset(){return o()},get align(){return a()},get class(){return _(y)}},()=>s,{get ref(){return t()},set ref(w){t(w)}}))})}u(n,d)},$$slots:{default:!0}})),$()}function E(r,e){P(e,!0);let t=l(e,"ref",15,null),o=v(e,["$$slots","$$events","$$legacy","ref","class"]);var a=p(),s=g(a);{let n=b(()=>h("",e.class));c(s,()=>k,(f,d)=>{d(f,i({"data-slot":"popover-trigger",get class(){return _(n)}},()=>o,{get ref(){return t()},set ref(m){t(m)}}))})}u(r,a),$()}function F(r,e){P(e,!0);let t=l(e,"open",15,!1),o=v(e,["$$slots","$$events","$$legacy","open"]);var a=p(),s=g(a);c(s,()=>q,(n,f)=>{f(n,i(()=>o,{get open(){return t()},set open(d){t(d)}}))}),u(r,a),$()}export{E as P,D as a,F as b};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./KKQFryJf.js";import{I as $}from"./
|
|
1
|
+
import{p,s as c,c as d,f as i,a as l,n as m,b as f,d as h,r as u}from"./KKQFryJf.js";import{I as $}from"./HpmjLUu0.js";function w(a,s){p(s,!0);let e=u(s,["$$slots","$$events","$$legacy"]);const o=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}]];$(a,c({name:"rotate-ccw"},()=>e,{get iconNode(){return o},children:(r,_)=>{var t=d(),n=i(t);l(n,()=>s.children??m),f(r,t)},$$slots:{default:!0}})),h()}export{w as R};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as ea,g as Kt,o as X,e as na,Q as sa,v as i,c as jt,f as A,h as x,j as r,l as t,t as a,k as P,y as p,z as d,b as s,i as e,w as D,x as W,B as Ft,O as dt,d as ta,u as g,D as ce,A as Rt,m as o,P as oa,aP as ir,aQ as nr,K as ia,q as La,af as Ta,a9 as Na,aR as Rr,s as Xa,r as Ja,aS as Ar,aT as Mr,ar as or,ab as wa,ac as er,N as Sa,as as Va,n as ha,a2 as Er,$ as _r,aj as Ra,aU as Nr,I as Dr}from"./KKQFryJf.js";import{i as zr,m as H,e as Ka,a as Ga,r as Ha,h as jr,j as Ua,g as Wa,d as Br,b as Ya,k as qr,c as Ur,s as m,l as yr,n as br,o as hr,p as Fr,q as Qa,f as _a,t as ka,u as Or,v as vr,w as Vr,x as Kr,y as Fa,z as Gr,A as Hr,B as Wr}from"./
|
|
1
|
+
import{p as ea,g as Kt,o as X,e as na,Q as sa,v as i,c as jt,f as A,h as x,j as r,l as t,t as a,k as P,y as p,z as d,b as s,i as e,w as D,x as W,B as Ft,O as dt,d as ta,u as g,D as ce,A as Rt,m as o,P as oa,aP as ir,aQ as nr,K as ia,q as La,af as Ta,a9 as Na,aR as Rr,s as Xa,r as Ja,aS as Ar,aT as Mr,ar as or,ab as wa,ac as er,N as Sa,as as Va,n as ha,a2 as Er,$ as _r,aj as Ra,aU as Nr,I as Dr}from"./KKQFryJf.js";import{i as zr,m as H,e as Ka,a as Ga,r as Ha,h as jr,j as Ua,g as Wa,d as Br,b as Ya,k as qr,c as Ur,s as m,l as yr,n as br,o as hr,p as Fr,q as Qa,f as _a,t as ka,u as Or,v as vr,w as Vr,x as Kr,y as Fa,z as Gr,A as Hr,B as Wr}from"./CVG1_73-.js";import{bc as tr,$ as ar,B as xt,a3 as rr,t as Zt,bd as xr,be as Yr,af as Qr,bf as Zr,aS as Xr,c as sr,bg as Jr,bh as es,bi as ts,bj as as,bk as rs,bl as ss,bm as ls,n as is,ai as Oa}from"./HpmjLUu0.js";import{b as Pa,C as Ca,a as Ia}from"./DNGDC21S.js";import{I as aa}from"./CHqrF8hr.js";import{c as da,S as ca,a as ua,b as pt}from"./CHsomwlc.js";import{T as lr}from"./bUa6Ti9l.js";import{C as ma}from"./Uy5f82Ao.js";import{L as fa}from"./PONqXYI8.js";import{R as dr}from"./Ddl348GL.js";import{B as xa}from"./CUHPYiQJ.js";import{g as ns}from"./CppT_YPm.js";var os=o('<span class="detail-badge detail-badge-official svelte-4mjdk4">official</span>'),vs=o('<span class="detail-rank svelte-4mjdk4"> </span>'),ds=o('<div class="detail-badges svelte-4mjdk4"><span class="detail-badge svelte-4mjdk4"> </span> <span class="detail-badge svelte-4mjdk4"> </span> <!> <!></div>'),cs=o('<div class="detail-action svelte-4mjdk4"><!></div>'),us=o('<a class="detail-link svelte-4mjdk4" target="_blank" rel="noopener">View source</a>'),fs=o("<span>Signet Reviews</span> <!>",1),gs=o("<!> <!> <!> <!> <!>",1),ps=o("<!> <!>",1),ms=o('<p class="review-muted svelte-4mjdk4">Loading reviews...</p>'),_s=o('<p class="review-muted svelte-4mjdk4">No reviews yet for this app.</p>'),ys=o('<article class="review-item svelte-4mjdk4"><div class="review-title svelte-4mjdk4"> </div> <div class="review-meta svelte-4mjdk4"> </div> <p class="review-body svelte-4mjdk4"> </p></article>'),bs=o('<div class="review-list svelte-4mjdk4"></div>'),hs=o('<div class="reviews-content svelte-4mjdk4"><div class="review-form svelte-4mjdk4"><!> <div class="review-row svelte-4mjdk4"><!> <!></div> <!> <div class="review-actions svelte-4mjdk4"><span class="review-gate svelte-4mjdk4">Install or use this app before leaving a review.</span> <!></div></div> <div class="reviews-filters svelte-4mjdk4"><button>Top comments</button> <button>Good</button> <button>Bad</button> <button>All</button></div> <!></div>'),xs=o("<!> <!>",1),ws=o('<p class="detail-description svelte-4mjdk4"> </p> <!> <!>',1),ks=o('<p class="review-muted svelte-4mjdk4">Select a server to view details.</p>'),$s=o('<div class="detail-header svelte-4mjdk4"><div class="detail-title-wrap svelte-4mjdk4"><h2 class="detail-title svelte-4mjdk4"> </h2> <!></div> <!></div> <div class="detail-body svelte-4mjdk4"><!></div>',1);function Ss(v,l){ea(l,!0);const c="signet:marketplace:reviews:display-name";let q=Kt(l,"canInstall",3,!0),z=Kt(l,"installBusy",3,!1),B=Kt(l,"removeBusy",3,!1),L=X("top"),w=X(!1),U=X(na([])),ie=X(!0),Ie=X(na(Pe())),ke=X(5),ye=X(""),Le=X(""),re=X(!1);const K=g(()=>`${e(ke)}/5`),pe=g(()=>{const J=[...e(U)];return e(L)==="top"?J.sort(($e,me)=>me.rating===$e.rating?me.updatedAt.localeCompare($e.updatedAt):me.rating-$e.rating):e(L)==="good"?J.filter($e=>$e.rating>=4).sort(($e,me)=>me.updatedAt.localeCompare($e.updatedAt)):e(L)==="bad"?J.filter($e=>$e.rating<=2).sort(($e,me)=>me.updatedAt.localeCompare($e.updatedAt)):J.sort(($e,me)=>me.updatedAt.localeCompare($e.updatedAt))});sa(()=>{if(!l.open||!l.item?.targetId){i(U,[],!0);return}i(L,"top"),Ye(l.item.targetId)});function Pe(){try{return localStorage.getItem(c)??""}catch{return""}}function be(J){try{localStorage.setItem(c,J)}catch{}}function Ee(J){return J==="1"?1:J==="2"?2:J==="3"?3:J==="4"?4:5}async function Ye(J){i(w,!0);try{const $e=await tr({targetType:"mcp",targetId:J,limit:100});i(U,$e.reviews,!0)}finally{i(w,!1)}}async function tt(){if(!l.item?.targetId)return;if(!l.canReview){Zt("Install or use this app before leaving a review.","error");return}const J=e(Ie).trim(),$e=e(ye).trim(),me=e(Le).trim();if(!J||!$e||!me){Zt("Display name, title, and review are required","error");return}i(re,!0);try{const Be=await xr({targetType:"mcp",targetId:l.item.targetId,displayName:J,rating:e(ke),title:$e,body:me});if(!Be.success){Zt(Be.error??"Failed to submit review","error");return}be(J),i(ye,""),i(Le,""),Zt("Review posted","success"),await Ye(l.item.targetId)}finally{i(re,!1)}}var Ne=jt(),je=A(Ne);x(je,()=>rr,(J,$e)=>{$e(J,{get open(){return l.open},onOpenChange:me=>{me||l.onclose()},children:(me,Be)=>{var Te=jt(),it=A(Te);x(it,()=>ar,(Et,Bt)=>{Bt(Et,{side:"right",showClose:!1,class:`!w-[520px] !max-w-[90vw] !bg-[var(--sig-surface)]
|
|
2
2
|
!border-l !border-l-[var(--sig-border)] !p-0 flex flex-col`,children:(y,E)=>{var Ve=$s(),ut=A(Ve),Nt=r(ut),Vt=r(Nt),bt=r(Vt,!0);t(Vt);var Ae=a(Vt,2);{var kt=G=>{var xe=ds(),Se=r(xe),st=r(Se,!0);t(Se);var Ke=a(Se,2),f=r(Ke,!0);t(Ke);var I=a(Ke,2);{var j=S=>{var Y=os();s(S,Y)};P(I,S=>{l.item.official&&S(j)})}var O=a(I,2);{var _=S=>{var Y=vs(),u=r(Y);t(Y),p(()=>d(u,`#${l.item.popularityRank??""}`)),s(S,Y)};P(O,S=>{l.item.popularityRank!==null&&S(_)})}t(xe),p(()=>{d(st,l.item.sourceLabel),d(f,l.item.category)}),s(G,xe)};P(Ae,G=>{l.item&&G(kt)})}t(Nt);var Wt=a(Nt,2);{var qt=G=>{var xe=cs(),Se=r(xe);{var st=I=>{xt(I,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-danger)] text-[var(--sig-danger)] hover:bg-[var(--sig-danger)] hover:text-[var(--sig-text-bright)]",onclick:()=>l.item.serverId&&l.onuninstall?.(l.item.serverId),get disabled(){return B()},children:(j,O)=>{D();var _=W();p(()=>d(_,B()?"...":"Remove")),s(j,_)},$$slots:{default:!0}})},Ke=I=>{xt(I,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-text-bright)] text-[var(--sig-text-bright)] hover:bg-[var(--sig-text-bright)] hover:text-[var(--sig-bg)]",onclick:()=>l.item.catalogEntry&&l.oninstall?.(l.item.catalogEntry),get disabled(){return z()},children:(j,O)=>{D();var _=W();p(()=>d(_,z()?"...":"Install")),s(j,_)},$$slots:{default:!0}})},f=I=>{xt(I,{variant:"outline",size:"sm",class:"rounded-lg font-[family-name:var(--font-mono)] text-[10px] uppercase tracking-[0.08em] border-[var(--sig-border-strong)] text-[var(--sig-text-muted)]",disabled:!0,title:"MCP installs are temporarily disabled",children:(j,O)=>{D();var _=W("Install disabled");s(j,_)},$$slots:{default:!0}})};P(Se,I=>{l.item.serverId?I(st):l.item.catalogEntry&&q()?I(Ke,1):l.item.catalogEntry&&I(f,2)})}t(xe),s(G,xe)};P(Wt,G=>{l.item&&G(qt)})}t(ut);var rt=a(ut,2),Q=r(rt);{var h=G=>{var xe=ws(),Se=A(xe),st=r(Se,!0);t(Se);var Ke=a(Se,2);{var f=j=>{var O=us();p(()=>ce(O,"href",l.item.sourceUrl)),s(j,O)};P(Ke,j=>{l.item.sourceUrl&&j(f)})}var I=a(Ke,2);x(I,()=>Pa,(j,O)=>{O(j,{class:"reviews-section",get open(){return e(ie)},set open(_){i(ie,_,!0)},children:(_,S)=>{var Y=xs(),u=A(Y);x(u,()=>Ca,(se,ue)=>{ue(se,{class:"reviews-trigger",children:(ae,V)=>{var T=fs(),le=a(A(T),2);{let fe=g(()=>`size-3 text-[var(--sig-text-muted)] transition-transform ${e(ie)?"rotate-180":""}`);ma(le,{get class(){return e(fe)}})}s(ae,T)},$$slots:{default:!0}})});var $=a(u,2);x($,()=>Ia,(se,ue)=>{ue(se,{children:(ae,V)=>{var T=hs(),le=r(T),fe=r(le);aa(fe,{class:"review-input",placeholder:"Display name",get value(){return e(Ie)},oninput:k=>{i(Ie,k.currentTarget.value,!0)}});var Je=a(fe,2),Re=r(Je);{let k=g(()=>String(e(ke)));x(Re,()=>da,(te,De)=>{De(te,{type:"single",get value(){return e(k)},onValueChange:ct=>{i(ke,Ee(ct??"5"),!0)},children:(ct,Pt)=>{var Ce=ps(),ve=A(Ce);x(ve,()=>ca,($t,_t)=>{_t($t,{class:"review-rating",children:(Dt,Yt)=>{D();var yt=W();p(()=>d(yt,e(K))),s(Dt,yt)},$$slots:{default:!0}})});var ne=a(ve,2);x(ne,()=>ua,($t,_t)=>{_t($t,{class:"review-rating-content",children:(Dt,Yt)=>{var yt=gs(),ht=A(yt);x(ht,()=>pt,(Ut,ge)=>{ge(Ut,{value:"5",label:"5/5",class:"review-rating-item"})});var at=a(ht,2);x(at,()=>pt,(Ut,ge)=>{ge(Ut,{value:"4",label:"4/5",class:"review-rating-item"})});var N=a(at,2);x(N,()=>pt,(Ut,ge)=>{ge(Ut,{value:"3",label:"3/5",class:"review-rating-item"})});var ot=a(N,2);x(ot,()=>pt,(Ut,ge)=>{ge(Ut,{value:"2",label:"2/5",class:"review-rating-item"})});var vt=a(ot,2);x(vt,()=>pt,(Ut,ge)=>{ge(Ut,{value:"1",label:"1/5",class:"review-rating-item"})}),s(Dt,yt)},$$slots:{default:!0}})}),s(ct,Ce)},$$slots:{default:!0}})})}var ft=a(Re,2);aa(ft,{class:"review-input",placeholder:"Review title",get value(){return e(ye)},oninput:k=>{i(ye,k.currentTarget.value,!0)}}),t(Je);var mt=a(Je,2);lr(mt,{class:"review-textarea",rows:3,placeholder:"What worked? What should improve?",get value(){return e(Le)},oninput:k=>{i(Le,k.currentTarget.value,!0)}});var n=a(mt,2),M=a(r(n),2);{let k=g(()=>e(re)||!l.canReview);xt(M,{variant:"outline",size:"sm",class:"review-submit",onclick:()=>{tt()},get disabled(){return e(k)},children:(te,De)=>{D();var ct=W();p(()=>d(ct,e(re)?"Posting...":"Post review")),s(te,ct)},$$slots:{default:!0}})}t(n),t(le);var ee=a(le,2),Z=r(ee);let b;var C=a(Z,2);let R;var oe=a(C,2);let we;var Oe=a(oe,2);let nt;t(ee);var Ge=a(ee,2);{var qe=k=>{var te=ms();s(k,te)},He=k=>{var te=_s();s(k,te)},Qe=k=>{var te=bs();Rt(te,21,()=>e(pe),De=>De.id,(De,ct)=>{var Pt=ys(),Ce=r(Pt),ve=r(Ce,!0);t(Ce);var ne=a(Ce,2),$t=r(ne);t(ne);var _t=a(ne,2),Dt=r(_t,!0);t(_t),t(Pt),p(()=>{d(ve,e(ct).title),d($t,`${e(ct).displayName??""} · ${e(ct).rating??""}/5`),d(Dt,e(ct).body)}),s(De,Pt)}),t(te),s(k,te)};P(Ge,k=>{e(w)?k(qe):e(pe).length===0?k(He,1):k(Qe,-1)})}t(T),p(()=>{b=Ft(Z,1,"review-filter svelte-4mjdk4",null,b,{active:e(L)==="top"}),R=Ft(C,1,"review-filter svelte-4mjdk4",null,R,{active:e(L)==="good"}),we=Ft(oe,1,"review-filter svelte-4mjdk4",null,we,{active:e(L)==="bad"}),nt=Ft(Oe,1,"review-filter svelte-4mjdk4",null,nt,{active:e(L)==="all"})}),dt("click",Z,()=>i(L,"top")),dt("click",C,()=>i(L,"good")),dt("click",oe,()=>i(L,"bad")),dt("click",Oe,()=>i(L,"all")),s(ae,T)},$$slots:{default:!0}})}),s(_,Y)},$$slots:{default:!0}})}),p(()=>d(st,l.item.description||"No description available.")),s(G,xe)},F=G=>{var xe=ks();s(G,xe)};P(Q,G=>{l.item?G(h):G(F,-1)})}t(rt),p(()=>d(bt,l.item?.name??"Tool Server")),s(y,Ve)},$$slots:{default:!0}})}),s(me,Te)},$$slots:{default:!0}})}),s(v,Ne),ta()}oa(["click"]);var Ps=o('<p class="sheet-subtitle svelte-1n2gzyy"> </p>'),Cs=o('<p class="muted svelte-1n2gzyy">Select a server to configure.</p>'),Is=o('<p class="muted svelte-1n2gzyy">Loading recommended configuration...</p>'),Ls=o('<a class="source-link svelte-1n2gzyy" target="_blank" rel="noopener">View source README</a>'),Ts=o('<div class="inline-alert svelte-1n2gzyy"> </div>'),Rs=o("<!> <!>",1),As=o("<!> <!>",1),Ms=o("<option> </option>"),Es=o('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),Ns=o('<div class="inline-hint svelte-1n2gzyy">No secrets found. Add secrets in the Secrets tab to map sensitive values.</div>'),Ds=o('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div> <!></div>',1),zs=o("<option> </option>"),js=o('<div class="row-item svelte-1n2gzyy"><!> <!> <select class="field-select row-secret"><option>Plain value</option><!></select> <!></div>'),Bs=o('<div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><div class="row-head svelte-1n2gzyy"><!> <!></div> <div class="row-list svelte-1n2gzyy"></div></div>',1),qs=o('<div class="inline-alert svelte-1n2gzyy"> </div>'),Us=o('<div class="test-tools svelte-1n2gzyy"> </div>'),Fs=o('<p class="server-description svelte-1n2gzyy"> </p> <!> <!> <div class="config-card svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-row two-col svelte-1n2gzyy"><div class="field-group svelte-1n2gzyy"><!> <!></div> <div class="field-group svelte-1n2gzyy"><!> <!></div></div> <!></div> <!> <div class="test-panel svelte-1n2gzyy"><div class="test-head svelte-1n2gzyy">Connection test</div> <p class="test-message svelte-1n2gzyy"> </p> <!></div>',1),Os=o('<div class="sheet-header svelte-1n2gzyy"><div><h2 class="sheet-title svelte-1n2gzyy">Install Tool Server</h2> <!></div></div> <div class="sheet-body svelte-1n2gzyy"><!></div> <div class="sheet-footer svelte-1n2gzyy"><div class="footer-hint svelte-1n2gzyy"><!></div> <div class="footer-actions svelte-1n2gzyy"><!> <!></div></div>',1);function Vs(v,l){ea(l,!0);const c="secret://";let q=X(!1),z=X(null),B=X(""),L=X(""),w=X(""),U=X(!1),ie=X(""),Ie=X("stdio"),ke=X("20000"),ye=X(""),Le=X(""),re=X(""),K=X(na([])),pe=X(""),Pe=X(na([])),be=X(na([])),Ee=X(!1),Ye=X("idle"),tt=X(""),Ne=X(na([])),je=X(!1),J=X(null);const $e=g(()=>e(Ie)==="http"?"http":"stdio"),me=g(()=>l.entry?l.entry.source==="modelcontextprotocol/servers"?"MCP GitHub":"MCP Registry":"");sa(()=>{!l.open||!l.entry||e(B)!==l.entry.id&&(i(B,l.entry.id,!0),y(l.entry))}),sa(()=>{l.open||(i(B,""),i(q,!1),i(z,null),i(Ye,"idle"),i(tt,""),i(Ne,[],!0),i(J,null))});function Be(h){return h.startsWith(c)?h.slice(c.length).trim():""}function Te(h,F){const G=Be(F);return G?{key:h,value:"",secretName:G}:{key:h,value:F,secretName:""}}function it(h){return h.secretName.trim().length>0?`${c}${h.secretName.trim()}`:h.value}function Et(h){const F=Object.entries(h).map(([G,xe])=>Te(G,xe));return F.length>0?F:[{key:"",value:"",secretName:""}]}function Bt(h){if(i(Ie,h.transport,!0),i(ke,String(h.timeoutMs),!0),h.transport==="stdio"){i(ye,h.command,!0),i(Le,h.args.join(`
|
|
3
3
|
`),!0),i(re,h.cwd??"",!0),i(K,Et(h.env),!0),i(pe,""),i(Pe,[{key:"",value:"",secretName:""}],!0);return}i(pe,h.url,!0),i(Pe,Et(h.headers),!0),i(ye,""),i(Le,""),i(re,""),i(K,[{key:"",value:"",secretName:""}],!0)}async function y(h){i(q,!0),i(z,null),i(J,null),i(Ye,"idle"),i(tt,""),i(Ne,[],!0),i(ie,h.name,!0),i(L,h.description,!0),i(w,""),i(U,!1),i(Ie,"stdio"),i(ke,"20000"),i(ye,""),i(Le,""),i(re,""),i(K,[{key:"",value:"",secretName:""}],!0),i(pe,""),i(Pe,[{key:"",value:"",secretName:""}],!0),i(Ee,!0);const[F,G]=await Promise.all([Yr(h.catalogId,h.source),Qr()]);if(i(be,G,!0),i(Ee,!1),!F){i(z,"Failed to load recommended config for this server."),i(q,!1);return}i(L,F.description||h.description,!0),i(w,F.githubUrl??"",!0),F.defaultConfig?(i(U,!0),Bt(F.defaultConfig)):i(z,"No standard config was found. You can still set one manually below."),i(q,!1)}function E(h){const F={};for(const G of h){const xe=G.key.trim();if(xe.length===0)continue;const Se=it(G).trim();Se.length!==0&&(F[xe]=Se)}return F}function Ve(){const h=Number(e(ke));if(!Number.isFinite(h)||h<=0)return{config:null,error:"Timeout must be a positive number."};if(e(Ie)==="stdio"){const G=e(ye).trim();if(G.length===0)return{config:null,error:"Command is required for stdio transport."};const xe=e(Le).split(`
|
|
4
4
|
`).map(Se=>Se.trim()).filter(Se=>Se.length>0);return{config:{transport:"stdio",command:G,args:xe,env:E(e(K)),cwd:e(re).trim()||void 0,timeoutMs:h}}}const F=e(pe).trim();if(F.length===0)return{config:null,error:"URL is required for HTTP transport."};try{new URL(F)}catch{return{config:null,error:"URL must be a valid absolute URL."}}return{config:{transport:"http",url:F,headers:E(e(Pe)),timeoutMs:h}}}function ut(h){return h==="http"?"http":"stdio"}function Nt(h,F,G){const xe=h[F];xe&&(xe.value=G,G.trim().length>0&&(xe.secretName=""))}function Vt(){i(K,[...e(K),{key:"",value:"",secretName:""}],!0)}function bt(h){i(K,e(K).filter((F,G)=>G!==h),!0),e(K).length===0&&i(K,[{key:"",value:"",secretName:""}],!0)}function Ae(){i(Pe,[...e(Pe),{key:"",value:"",secretName:""}],!0)}function kt(h){i(Pe,e(Pe).filter((F,G)=>G!==h),!0),e(Pe).length===0&&i(Pe,[{key:"",value:"",secretName:""}],!0)}async function Wt(){i(J,null),i(Ye,"running"),i(tt,"Testing MCP server connection..."),i(Ne,[],!0);const h=Ve();if(!h.config){i(Ye,"error"),i(tt,h.error??"Invalid config.",!0),i(J,h.error??"Invalid config.",!0);return}const F=await Zr({config:h.config});if(F.success){i(Ye,"success"),i(Ne,F.tools??[],!0),i(tt,`Connection succeeded${typeof F.toolCount=="number"?` (${F.toolCount} tools)`:""}.`);return}i(Ye,"error"),i(tt,F.error??"Connection test failed.",!0)}async function qt(){if(!l.entry)return;i(J,null);const h=Ve();if(!h.config){i(J,h.error??"Invalid config.",!0);return}i(je,!0);const F=await zr(l.entry,{alias:e(ie).trim()||void 0,config:h.config});i(je,!1),F&&l.onclose()}var rt=jt(),Q=A(rt);x(Q,()=>rr,(h,F)=>{F(h,{get open(){return l.open},onOpenChange:G=>{G||l.onclose()},children:(G,xe)=>{var Se=jt(),st=A(Se);x(st,()=>ar,(Ke,f)=>{f(Ke,{side:"right",class:`!w-[560px] !max-w-[96vw] !bg-[var(--sig-surface)]
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{p as re,c as Ut,f as C,k as nt,i as t,b as s,d as se,u as I,D as o,j as r,A as Bt,t as e,l as a,y as N,z as d,K as ce,N as Se,v as b,m as v,af as ie,o as V,B as ke,g as Ee,h as L,w as vt,x as $t,s as Re,a as Be,n as De,r as Le,a9 as Ne,ab as Ce,ac as je,O as we,P as Oe,e as Kt,q as ze}from"./KKQFryJf.js";import{P as We}from"./DK3bAoxY.js";import{T as He}from"./CyB1_UBK.js";import{Y as ue,Z as ge,_ as pe,I as Ge,B as Ke,f as qe,n as Je,E as Ve}from"./CIpFyqAD.js";import{B as xe}from"./DOmxdEfF.js";import{a as Ye,C as Ze}from"./DYZtL2bt.js";import{C as Qe}from"./9bq_JyT7.js";import{C as Ue}from"./oUE82Am6.js";import{C as Xe,a as ta,b as ea}from"./DNGDC21S.js";import{P as aa,a as ra,b as sa}from"./dPIppM40.js";import{Z as ia}from"./BGX0-AFp.js";import{R as na}from"./qV7krDDW.js";import{C as oa}from"./B4CdR5T-.js";var la=v('<div class="flex items-center justify-center h-full"><span class="sig-label text-[var(--sig-text-muted)]">no comparison data yet</span></div>'),da=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="4,4"></line><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)"> </text>',1),va=ie('<circle r="3"></circle>'),ca=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="3,3"></line><circle r="4" fill="var(--sig-text-muted)" stroke="var(--sig-bg)" stroke-width="1.5"></circle><circle r="4" fill="var(--sig-success)" stroke="var(--sig-bg)" stroke-width="1.5"></circle>',1),ua=ie('<rect fill="transparent"></rect><!>',1),ga=v('<div class="sig-meta text-[var(--sig-text-muted)] mt-0.5"> </div>'),pa=v('<div class="absolute z-10 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-2 py-1.5 shadow-md pointer-events-none" style="top: 4px; right: 8px;"><div class="sig-label text-[var(--sig-text-muted)]"> </div> <div class="flex gap-3 mt-0.5"><span class="sig-label"><span class="text-[var(--sig-text-muted)]">base</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span class="sig-label"><span class="text-[var(--sig-success)]">pred</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span> </span></div> <!></div>'),xa=ie('<svg width="100%" height="100%" preserveAspectRatio="xMidYMid meet" class="select-none"><!><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">1.00</text><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">0.00</text><polyline fill="none" stroke="var(--sig-text-muted)" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round" opacity="0.5"></polyline><polyline fill="none" stroke="var(--sig-success)" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></polyline><!><!><line stroke="var(--sig-text-muted)" stroke-width="1.5" opacity="0.5"></line><text fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">baseline</text><line stroke="var(--sig-success)" stroke-width="2"></line><text fill="var(--sig-success)" font-size="11" font-family="var(--font-mono)">predictor</text></svg><!>',1);function fa(wt,c){re(c,!0);const p={top:12,right:12,bottom:20,left:32},T=1200,$=200,x=T-p.left-p.right,rt=$-p.top-p.bottom,j=I(()=>[...c.comparisons].reverse());function Y(n){return t(j).length<=1?p.left+x/2:p.left+n/(t(j).length-1)*x}function O(n){return p.top+(1-n)*rt}function st(n){return t(j).map((u,w)=>`${Y(w).toFixed(1)},${O(n(u)).toFixed(1)}`).join(" ")}const Pt=I(()=>st(n=>n.baselineNdcg)),M=I(()=>st(n=>n.predictorNdcg)),Z=[.25,.5,.75];let A=V(null);function mt(n){const u=new Date(n);return Number.isNaN(u.getTime())?n:u.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var K=Ut(),Q=C(K);{var m=n=>{var u=la();s(n,u)},g=n=>{var u=xa(),w=C(u);o(w,"viewBox","0 0 1200 200");var h=r(w);Bt(h,17,()=>Z,ce,(B,f)=>{var S=da(),k=C(S),G=e(k),lt=r(G,!0);a(G),N((ft,ut,yt,gt)=>{o(k,"x1",p.left),o(k,"y1",ft),o(k,"x2",T-p.right),o(k,"y2",ut),o(G,"x",p.left-6),o(G,"y",yt),d(lt,gt)},[()=>O(t(f)),()=>O(t(f)),()=>O(t(f))+4,()=>t(f).toFixed(2)]),s(B,S)});var y=e(h),P=e(y),R=e(P),H=e(R),X=e(H);Bt(X,17,()=>t(j),ce,(B,f,S)=>{var k=va();o(k,"cy",$-6),N(G=>{o(k,"cx",G),o(k,"fill",t(f).predictorWon?"var(--sig-success)":"var(--sig-danger)"),o(k,"opacity",t(f).predictorWon?.8:.5)},[()=>Y(S)]),s(B,k)});var z=e(X);Bt(z,17,()=>t(j),ce,(B,f,S)=>{var k=ua(),G=C(k);o(G,"y",0),o(G,"height",$);var lt=e(G);{var ft=ut=>{var yt=ca(),gt=C(yt),Ct=e(gt),qt=e(Ct);N((Dt,i,l,W,F,U)=>{o(gt,"x1",Dt),o(gt,"y1",p.top),o(gt,"x2",i),o(gt,"y2",$-p.bottom),o(Ct,"cx",l),o(Ct,"cy",W),o(qt,"cx",F),o(qt,"cy",U)},[()=>Y(S),()=>Y(S),()=>Y(S),()=>O(t(f).baselineNdcg),()=>Y(S),()=>O(t(f).predictorNdcg)]),s(ut,yt)};nt(lt,ut=>{t(A)===S&&ut(ft)})}N((ut,yt)=>{o(G,"x",ut),o(G,"width",yt)},[()=>Y(S)-Math.max(x/t(j).length,16)/2,()=>Math.max(x/t(j).length,16)]),Se("mouseenter",G,()=>b(A,S,!0)),Se("mouseleave",G,()=>b(A,null)),s(B,k)});var at=e(z);o(at,"y1",10),o(at,"y2",10);var ct=e(at);o(ct,"y",14);var ot=e(ct);o(ot,"y1",10),o(ot,"y2",10);var St=e(ot);o(St,"y",14),a(w);var pt=e(w);{var xt=B=>{const f=I(()=>t(j)[t(A)]);var S=pa(),k=r(S),G=r(k,!0);a(k);var lt=e(k,2),ft=r(lt),ut=e(r(ft),2),yt=r(ut,!0);a(ut),a(ft);var gt=e(ft,2),Ct=e(r(gt),2),qt=r(Ct,!0);a(Ct),a(gt);var Dt=e(gt,2);let i;var l=r(Dt);a(Dt),a(lt);var W=e(lt,2);{var F=U=>{var q=ga(),_=r(q,!0);a(q),N(()=>d(_,t(f).project)),s(U,q)};nt(W,U=>{t(f).project&&U(F)})}a(S),N((U,q,_,tt)=>{d(G,U),d(yt,q),d(qt,_),i=ke(Dt,1,"sig-label",null,i,{"text-[var(--sig-success)]":t(f).margin>0,"text-[var(--sig-danger)]":t(f).margin<0}),d(l,`${t(f).margin>0?"+":""}${tt??""}`)},[()=>mt(t(f).createdAt),()=>t(f).baselineNdcg.toFixed(3),()=>t(f).predictorNdcg.toFixed(3),()=>t(f).margin.toFixed(3)]),s(B,S)};nt(pt,B=>{t(A)!==null&&t(j)[t(A)]&&B(xt)})}N((B,f)=>{o(y,"x",p.left-6),o(y,"y",B),o(P,"x",p.left-6),o(P,"y",f),o(R,"points",t(Pt)),o(H,"points",t(M)),o(at,"x1",T-p.right-160),o(at,"x2",T-p.right-146),o(ct,"x",T-p.right-142),o(ot,"x1",T-p.right-80),o(ot,"x2",T-p.right-66),o(St,"x",T-p.right-62)},[()=>O(1)+4,()=>O(0)+4]),s(n,u)};nt(Q,n=>{t(j).length===0?n(m):n(g,-1)})}s(wt,K),se()}var ma=v('<div class="flex items-baseline gap-2"><span class="text-2xl font-display font-bold text-foreground"> </span> <span class="sig-label text-[var(--sig-text-muted)]">ranking quality</span></div>'),_a=v("<!> <!>",1),ha=v('<div class="sig-label text-[var(--sig-text)] truncate pl-2 border-l border-[var(--sig-border)]"> </div>'),ba=v('<div class="sig-label text-[var(--sig-text-muted)] pl-2 italic">no ranking data yet</div>'),ya=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),$a=v("<!> <!>",1),wa=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),Pa=v('<div class="flex flex-col gap-2 p-3 bg-card rounded-lg border border-border min-w-0"><div class="flex items-center gap-2"><span class="sig-eyebrow tracking-wider text-[var(--sig-text-muted)]"> </span> <!></div> <!> <div class="space-y-1"><span class="sig-label text-[var(--sig-text-muted)]">recent top picks:</span> <!></div> <div class="mt-auto space-y-1 pt-2 border-t border-[var(--sig-border)]"></div></div>');function Pe(wt,c){re(c,!0);let p=Ee(c,"offline",3,!1);const T=I(()=>Math.round(c.ndcg*100)),$=I(()=>c.side==="baseline"?"Heuristic Baseline":"Predictor Model"),x=I(()=>`How well this system ranks memories. NDCG@10 = ${c.ndcg.toFixed(3)}`);var rt=Pa(),j=r(rt),Y=r(j),O=r(Y,!0);a(Y);var st=e(Y,2);{var Pt=m=>{xe(m,{variant:"destructive",class:"text-[8px] px-1.5 py-0",children:(g,n)=>{vt();var u=$t("OFFLINE");s(g,u)},$$slots:{default:!0}})};nt(st,m=>{p()&&m(Pt)})}a(j);var M=e(j,2);L(M,()=>pe,(m,g)=>{g(m,{children:(n,u)=>{var w=_a(),h=C(w);L(h,()=>ue,(P,R)=>{R(P,{class:"text-left",children:(H,X)=>{var z=ma(),at=r(z),ct=r(at);a(at),vt(2),a(z),N(()=>d(ct,`${t(T)??""}%`)),s(H,z)},$$slots:{default:!0}})});var y=e(h,2);L(y,()=>ge,(P,R)=>{R(P,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(H,X)=>{vt();var z=$t();N(()=>d(z,t(x))),s(H,z)},$$slots:{default:!0}})}),s(n,w)},$$slots:{default:!0}})});var Z=e(M,2),A=e(r(Z),2);{var mt=m=>{var g=Ut(),n=C(g);Bt(n,17,()=>c.topPicks.slice(0,3),u=>u.id,(u,w)=>{var h=ha(),y=r(h);a(h),N(P=>{o(h,"title",t(w).content),d(y,`${P??""}${t(w).content.length>60?"...":""}`)},[()=>t(w).content.slice(0,60)]),s(u,h)}),s(m,g)},K=m=>{var g=ba();s(m,g)};nt(A,m=>{c.topPicks.length>0?m(mt):m(K,-1)})}a(Z);var Q=e(Z,2);Bt(Q,21,()=>c.stats,m=>m.label,(m,g)=>{var n=Ut(),u=C(n);{var w=y=>{var P=Ut(),R=C(P);L(R,()=>pe,(H,X)=>{X(H,{children:(z,at)=>{var ct=$a(),ot=C(ct);L(ot,()=>ue,(pt,xt)=>{xt(pt,{class:"w-full text-left",children:(B,f)=>{var S=ya(),k=r(S),G=r(k,!0);a(k);var lt=e(k,2),ft=r(lt,!0);a(lt),a(S),N(()=>{d(G,t(g).label),d(ft,t(g).value)}),s(B,S)},$$slots:{default:!0}})});var St=e(ot,2);L(St,()=>ge,(pt,xt)=>{xt(pt,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(B,f)=>{vt();var S=$t();N(()=>d(S,t(g).tooltip)),s(B,S)},$$slots:{default:!0}})}),s(z,ct)},$$slots:{default:!0}})}),s(y,P)},h=y=>{var P=wa(),R=r(P),H=r(R,!0);a(R);var X=e(R,2),z=r(X,!0);a(X),a(P),N(()=>{d(H,t(g).label),d(z,t(g).value)}),s(y,P)};nt(u,y=>{t(g).tooltip?y(w):y(h,-1)})}s(m,n)}),a(Q),a(rt),N(()=>d(O,t($))),s(wt,rt),se()}function ka(wt,c){re(c,!0);let p=Le(c,["$$slots","$$events","$$legacy"]);const T=[["path",{d:"M14 17H5"}],["path",{d:"M19 7h-9"}],["circle",{cx:"17",cy:"17",r:"3"}],["circle",{cx:"7",cy:"7",r:"3"}]];Ge(wt,Re({name:"settings-2"},()=>p,{get iconNode(){return T},children:($,x)=>{var rt=Ut(),j=C(rt);Be(j,()=>c.children??De),s($,rt)},$$slots:{default:!0}})),se()}var Na=v('<span class="sig-meta text-[var(--sig-text-muted)] shrink-0">alpha</span> <div class="flex gap-px h-2.5 flex-1 rounded overflow-hidden"><div class="bg-[var(--sig-text-muted)] transition-all duration-300"></div> <div class="bg-[var(--sig-accent)] transition-all duration-300"></div></div> <span class="sig-meta text-[var(--sig-text)] font-mono"> </span>',1),Ta=v("<!> <!>",1),Sa=v('<span class="sig-label text-[var(--sig-text)]">win rate: <span class="font-bold"> </span></span>'),Ca=v("<!> <!>",1),ja=v('<div class="sig-eyebrow text-[var(--sig-text-muted)]">training config</div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">epochs per run</span> <input type="number" min="1" max="20" class="w-14 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">more epochs = longer but more thorough</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">max samples</span> <input type="number" min="100" max="50000" step="500" class="w-20 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">training pairs to use per run</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">auto-trains every</span> <span class="sig-label text-[var(--sig-text)]"> </span></div> <span class="sig-meta text-[var(--sig-text-muted)]">change in settings</span></div> <div class="pt-1 border-t border-[var(--sig-border)]"><span class="sig-meta text-[var(--sig-text-muted)]"> </span></div>',1),Ma=v("<!> <!>",1),Fa=v("<!> <!>",1),Ia=v('<div class="flex items-center gap-3 px-3 py-2 bg-card rounded-lg border border-border"><!> <!> <!> <div class="flex-1"></div> <!> <!> <button class="flex items-center p-1 rounded text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] transition-colors disabled:opacity-40"><!></button></div>');function Aa(wt,c){re(c,!0);const p=I(()=>{switch(c.healthStatus){case"healthy":return"default";case"degraded":case"cold_start":return"secondary";case"unhealthy":return"destructive";default:return"outline"}});let T=V(!1);var $=Ia(),x=r($);xe(x,{get variant(){return t(p)},class:"text-[9px] shrink-0",children:(M,Z)=>{vt();var A=$t();N(()=>d(A,c.healthStatus)),s(M,A)},$$slots:{default:!0}});var rt=e(x,2);L(rt,()=>pe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=Ta(),Q=C(K);L(Q,()=>ue,(g,n)=>{n(g,{class:"flex items-center gap-2 min-w-[120px]",children:(u,w)=>{var h=Na(),y=e(C(h),2),P=r(y),R=e(P,2);a(y);var H=e(y,2),X=r(H,!0);a(H),N(z=>{Ne(P,`width: ${c.alpha*100}%`),Ne(R,`width: ${(1-c.alpha)*100}%`),d(X,z)},[()=>c.alpha.toFixed(2)]),s(u,h)},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ge,(g,n)=>{n(g,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs max-w-[240px]",children:(u,w)=>{vt();var h=$t("Baseline weight in scoring. Shifts toward predictor as it proves itself.");s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var j=e(rt,2);L(j,()=>pe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=Ca(),Q=C(K);L(Q,()=>ue,(g,n)=>{n(g,{children:(u,w)=>{var h=Sa(),y=e(r(h)),P=r(y);a(y),a(h),N(R=>d(P,`${R??""}%`),[()=>Math.round(c.winRate*100)]),s(u,h)},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ge,(g,n)=>{n(g,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs max-w-[240px]",children:(u,w)=>{vt();var h=$t("Sessions where predictor ranked better than heuristic baseline.");s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var Y=e(j,4);L(Y,()=>sa,(M,Z)=>{Z(M,{get open(){return t(T)},set open(A){b(T,A,!0)},children:(A,mt)=>{var K=Ma(),Q=C(K);L(Q,()=>aa,(g,n)=>{n(g,{class:"flex items-center gap-1 sig-label text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] transition-colors p-1 rounded hover:bg-[var(--sig-surface-raised)]",children:(u,w)=>{ka(u,{class:"w-3.5 h-3.5"})},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ra,(g,n)=>{n(g,{class:"w-[260px] bg-[var(--sig-surface)] border border-[var(--sig-border)] rounded-lg shadow-lg p-3 space-y-3",side:"bottom",align:"end",children:(u,w)=>{var h=ja(),y=e(C(h),2),P=r(y),R=e(r(P),2);Ce(R),a(P),vt(2),a(y);var H=e(y,2),X=r(H),z=e(r(X),2);Ce(z),a(X),vt(2),a(H);var at=e(H,2),ct=r(at),ot=e(r(ct),2),St=r(ot);a(ot),a(ct),vt(2),a(at);var pt=e(at,2),xt=r(pt),B=r(xt);a(xt),a(pt),N(f=>{je(R,c.trainEpochs),je(z,c.trainLimit),d(St,`${c.trainInterval??""} sessions`),d(B,`${f??""} training pairs available`)},[()=>c.trainingPairs.toLocaleString()]),we("input",R,f=>c.onEpochsChange(Number(f.currentTarget.value))),we("input",z,f=>c.onLimitChange(Number(f.currentTarget.value))),s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var O=e(Y,2);{let M=I(()=>c.training||!c.sidecarAlive);Ke(O,{variant:"default",size:"sm",class:"sig-label gap-1.5",get onclick(){return c.onTrain},get disabled(){return t(M)},children:(Z,A)=>{var mt=Fa(),K=C(mt);ia(K,{class:"w-3.5 h-3.5"});var Q=e(K,2);{var m=n=>{var u=$t("training...");s(n,u)},g=n=>{var u=$t("train now");s(n,u)};nt(Q,n=>{c.training?n(m):n(g,-1)})}s(Z,mt)},$$slots:{default:!0}})}var st=e(O,2),Pt=r(st);{let M=I(()=>c.loading?"animate-spin":"");na(Pt,{get class(){return`w-3.5 h-3.5 ${t(M)??""}`}})}a(st),a($),N(()=>st.disabled=c.loading),we("click",st,function(...M){c.onRefresh?.apply(this,M)}),s(wt,$),se()}Oe(["input","click"]);var Ea=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">loading predictor data...</span></div>'),Ra=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">unable to reach predictor -- check daemon status</span></div>'),Ba=v("Predictor <!>",1),Da=v(`<p class="sig-label text-[var(--sig-text-muted)]">The predictive memory scorer learns which memories matter most for each
|
|
1
|
+
import{p as re,c as Ut,f as C,k as nt,i as t,b as s,d as se,u as I,D as o,j as r,A as Bt,t as e,l as a,y as N,z as d,K as ce,N as Se,v as b,m as v,af as ie,o as V,B as ke,g as Ee,h as L,w as vt,x as $t,s as Re,a as Be,n as De,r as Le,a9 as Ne,ab as Ce,ac as je,O as we,P as Oe,e as Kt,q as ze}from"./KKQFryJf.js";import{P as We}from"./DK3bAoxY.js";import{T as He}from"./CyB1_UBK.js";import{Y as ue,Z as ge,_ as pe,I as Ge,B as Ke,f as qe,n as Je,E as Ve}from"./HpmjLUu0.js";import{B as xe}from"./CUHPYiQJ.js";import{a as Ye,C as Ze}from"./5JlVGBl4.js";import{C as Qe}from"./DCRcxu6X.js";import{C as Ue}from"./CLhdknZr.js";import{C as Xe,a as ta,b as ea}from"./DNGDC21S.js";import{P as aa,a as ra,b as sa}from"./B-vOTr-Y.js";import{Z as ia}from"./CobDF3yy.js";import{R as na}from"./Ddl348GL.js";import{C as oa}from"./Uy5f82Ao.js";var la=v('<div class="flex items-center justify-center h-full"><span class="sig-label text-[var(--sig-text-muted)]">no comparison data yet</span></div>'),da=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="4,4"></line><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)"> </text>',1),va=ie('<circle r="3"></circle>'),ca=ie('<line stroke="var(--sig-border)" stroke-width="0.5" stroke-dasharray="3,3"></line><circle r="4" fill="var(--sig-text-muted)" stroke="var(--sig-bg)" stroke-width="1.5"></circle><circle r="4" fill="var(--sig-success)" stroke="var(--sig-bg)" stroke-width="1.5"></circle>',1),ua=ie('<rect fill="transparent"></rect><!>',1),ga=v('<div class="sig-meta text-[var(--sig-text-muted)] mt-0.5"> </div>'),pa=v('<div class="absolute z-10 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-2 py-1.5 shadow-md pointer-events-none" style="top: 4px; right: 8px;"><div class="sig-label text-[var(--sig-text-muted)]"> </div> <div class="flex gap-3 mt-0.5"><span class="sig-label"><span class="text-[var(--sig-text-muted)]">base</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span class="sig-label"><span class="text-[var(--sig-success)]">pred</span> <span class="text-[var(--sig-text)] ml-1"> </span></span> <span> </span></div> <!></div>'),xa=ie('<svg width="100%" height="100%" preserveAspectRatio="xMidYMid meet" class="select-none"><!><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">1.00</text><text text-anchor="end" fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">0.00</text><polyline fill="none" stroke="var(--sig-text-muted)" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round" opacity="0.5"></polyline><polyline fill="none" stroke="var(--sig-success)" stroke-width="2" stroke-linejoin="round" stroke-linecap="round"></polyline><!><!><line stroke="var(--sig-text-muted)" stroke-width="1.5" opacity="0.5"></line><text fill="var(--sig-text-muted)" font-size="11" font-family="var(--font-mono)">baseline</text><line stroke="var(--sig-success)" stroke-width="2"></line><text fill="var(--sig-success)" font-size="11" font-family="var(--font-mono)">predictor</text></svg><!>',1);function fa(wt,c){re(c,!0);const p={top:12,right:12,bottom:20,left:32},T=1200,$=200,x=T-p.left-p.right,rt=$-p.top-p.bottom,j=I(()=>[...c.comparisons].reverse());function Y(n){return t(j).length<=1?p.left+x/2:p.left+n/(t(j).length-1)*x}function O(n){return p.top+(1-n)*rt}function st(n){return t(j).map((u,w)=>`${Y(w).toFixed(1)},${O(n(u)).toFixed(1)}`).join(" ")}const Pt=I(()=>st(n=>n.baselineNdcg)),M=I(()=>st(n=>n.predictorNdcg)),Z=[.25,.5,.75];let A=V(null);function mt(n){const u=new Date(n);return Number.isNaN(u.getTime())?n:u.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}var K=Ut(),Q=C(K);{var m=n=>{var u=la();s(n,u)},g=n=>{var u=xa(),w=C(u);o(w,"viewBox","0 0 1200 200");var h=r(w);Bt(h,17,()=>Z,ce,(B,f)=>{var S=da(),k=C(S),G=e(k),lt=r(G,!0);a(G),N((ft,ut,yt,gt)=>{o(k,"x1",p.left),o(k,"y1",ft),o(k,"x2",T-p.right),o(k,"y2",ut),o(G,"x",p.left-6),o(G,"y",yt),d(lt,gt)},[()=>O(t(f)),()=>O(t(f)),()=>O(t(f))+4,()=>t(f).toFixed(2)]),s(B,S)});var y=e(h),P=e(y),R=e(P),H=e(R),X=e(H);Bt(X,17,()=>t(j),ce,(B,f,S)=>{var k=va();o(k,"cy",$-6),N(G=>{o(k,"cx",G),o(k,"fill",t(f).predictorWon?"var(--sig-success)":"var(--sig-danger)"),o(k,"opacity",t(f).predictorWon?.8:.5)},[()=>Y(S)]),s(B,k)});var z=e(X);Bt(z,17,()=>t(j),ce,(B,f,S)=>{var k=ua(),G=C(k);o(G,"y",0),o(G,"height",$);var lt=e(G);{var ft=ut=>{var yt=ca(),gt=C(yt),Ct=e(gt),qt=e(Ct);N((Dt,i,l,W,F,U)=>{o(gt,"x1",Dt),o(gt,"y1",p.top),o(gt,"x2",i),o(gt,"y2",$-p.bottom),o(Ct,"cx",l),o(Ct,"cy",W),o(qt,"cx",F),o(qt,"cy",U)},[()=>Y(S),()=>Y(S),()=>Y(S),()=>O(t(f).baselineNdcg),()=>Y(S),()=>O(t(f).predictorNdcg)]),s(ut,yt)};nt(lt,ut=>{t(A)===S&&ut(ft)})}N((ut,yt)=>{o(G,"x",ut),o(G,"width",yt)},[()=>Y(S)-Math.max(x/t(j).length,16)/2,()=>Math.max(x/t(j).length,16)]),Se("mouseenter",G,()=>b(A,S,!0)),Se("mouseleave",G,()=>b(A,null)),s(B,k)});var at=e(z);o(at,"y1",10),o(at,"y2",10);var ct=e(at);o(ct,"y",14);var ot=e(ct);o(ot,"y1",10),o(ot,"y2",10);var St=e(ot);o(St,"y",14),a(w);var pt=e(w);{var xt=B=>{const f=I(()=>t(j)[t(A)]);var S=pa(),k=r(S),G=r(k,!0);a(k);var lt=e(k,2),ft=r(lt),ut=e(r(ft),2),yt=r(ut,!0);a(ut),a(ft);var gt=e(ft,2),Ct=e(r(gt),2),qt=r(Ct,!0);a(Ct),a(gt);var Dt=e(gt,2);let i;var l=r(Dt);a(Dt),a(lt);var W=e(lt,2);{var F=U=>{var q=ga(),_=r(q,!0);a(q),N(()=>d(_,t(f).project)),s(U,q)};nt(W,U=>{t(f).project&&U(F)})}a(S),N((U,q,_,tt)=>{d(G,U),d(yt,q),d(qt,_),i=ke(Dt,1,"sig-label",null,i,{"text-[var(--sig-success)]":t(f).margin>0,"text-[var(--sig-danger)]":t(f).margin<0}),d(l,`${t(f).margin>0?"+":""}${tt??""}`)},[()=>mt(t(f).createdAt),()=>t(f).baselineNdcg.toFixed(3),()=>t(f).predictorNdcg.toFixed(3),()=>t(f).margin.toFixed(3)]),s(B,S)};nt(pt,B=>{t(A)!==null&&t(j)[t(A)]&&B(xt)})}N((B,f)=>{o(y,"x",p.left-6),o(y,"y",B),o(P,"x",p.left-6),o(P,"y",f),o(R,"points",t(Pt)),o(H,"points",t(M)),o(at,"x1",T-p.right-160),o(at,"x2",T-p.right-146),o(ct,"x",T-p.right-142),o(ot,"x1",T-p.right-80),o(ot,"x2",T-p.right-66),o(St,"x",T-p.right-62)},[()=>O(1)+4,()=>O(0)+4]),s(n,u)};nt(Q,n=>{t(j).length===0?n(m):n(g,-1)})}s(wt,K),se()}var ma=v('<div class="flex items-baseline gap-2"><span class="text-2xl font-display font-bold text-foreground"> </span> <span class="sig-label text-[var(--sig-text-muted)]">ranking quality</span></div>'),_a=v("<!> <!>",1),ha=v('<div class="sig-label text-[var(--sig-text)] truncate pl-2 border-l border-[var(--sig-border)]"> </div>'),ba=v('<div class="sig-label text-[var(--sig-text-muted)] pl-2 italic">no ranking data yet</div>'),ya=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),$a=v("<!> <!>",1),wa=v('<div class="flex justify-between sig-label"><span class="text-[var(--sig-text-muted)]"> </span> <span class="text-[var(--sig-text)]"> </span></div>'),Pa=v('<div class="flex flex-col gap-2 p-3 bg-card rounded-lg border border-border min-w-0"><div class="flex items-center gap-2"><span class="sig-eyebrow tracking-wider text-[var(--sig-text-muted)]"> </span> <!></div> <!> <div class="space-y-1"><span class="sig-label text-[var(--sig-text-muted)]">recent top picks:</span> <!></div> <div class="mt-auto space-y-1 pt-2 border-t border-[var(--sig-border)]"></div></div>');function Pe(wt,c){re(c,!0);let p=Ee(c,"offline",3,!1);const T=I(()=>Math.round(c.ndcg*100)),$=I(()=>c.side==="baseline"?"Heuristic Baseline":"Predictor Model"),x=I(()=>`How well this system ranks memories. NDCG@10 = ${c.ndcg.toFixed(3)}`);var rt=Pa(),j=r(rt),Y=r(j),O=r(Y,!0);a(Y);var st=e(Y,2);{var Pt=m=>{xe(m,{variant:"destructive",class:"text-[8px] px-1.5 py-0",children:(g,n)=>{vt();var u=$t("OFFLINE");s(g,u)},$$slots:{default:!0}})};nt(st,m=>{p()&&m(Pt)})}a(j);var M=e(j,2);L(M,()=>pe,(m,g)=>{g(m,{children:(n,u)=>{var w=_a(),h=C(w);L(h,()=>ue,(P,R)=>{R(P,{class:"text-left",children:(H,X)=>{var z=ma(),at=r(z),ct=r(at);a(at),vt(2),a(z),N(()=>d(ct,`${t(T)??""}%`)),s(H,z)},$$slots:{default:!0}})});var y=e(h,2);L(y,()=>ge,(P,R)=>{R(P,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(H,X)=>{vt();var z=$t();N(()=>d(z,t(x))),s(H,z)},$$slots:{default:!0}})}),s(n,w)},$$slots:{default:!0}})});var Z=e(M,2),A=e(r(Z),2);{var mt=m=>{var g=Ut(),n=C(g);Bt(n,17,()=>c.topPicks.slice(0,3),u=>u.id,(u,w)=>{var h=ha(),y=r(h);a(h),N(P=>{o(h,"title",t(w).content),d(y,`${P??""}${t(w).content.length>60?"...":""}`)},[()=>t(w).content.slice(0,60)]),s(u,h)}),s(m,g)},K=m=>{var g=ba();s(m,g)};nt(A,m=>{c.topPicks.length>0?m(mt):m(K,-1)})}a(Z);var Q=e(Z,2);Bt(Q,21,()=>c.stats,m=>m.label,(m,g)=>{var n=Ut(),u=C(n);{var w=y=>{var P=Ut(),R=C(P);L(R,()=>pe,(H,X)=>{X(H,{children:(z,at)=>{var ct=$a(),ot=C(ct);L(ot,()=>ue,(pt,xt)=>{xt(pt,{class:"w-full text-left",children:(B,f)=>{var S=ya(),k=r(S),G=r(k,!0);a(k);var lt=e(k,2),ft=r(lt,!0);a(lt),a(S),N(()=>{d(G,t(g).label),d(ft,t(g).value)}),s(B,S)},$$slots:{default:!0}})});var St=e(ot,2);L(St,()=>ge,(pt,xt)=>{xt(pt,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs",children:(B,f)=>{vt();var S=$t();N(()=>d(S,t(g).tooltip)),s(B,S)},$$slots:{default:!0}})}),s(z,ct)},$$slots:{default:!0}})}),s(y,P)},h=y=>{var P=wa(),R=r(P),H=r(R,!0);a(R);var X=e(R,2),z=r(X,!0);a(X),a(P),N(()=>{d(H,t(g).label),d(z,t(g).value)}),s(y,P)};nt(u,y=>{t(g).tooltip?y(w):y(h,-1)})}s(m,n)}),a(Q),a(rt),N(()=>d(O,t($))),s(wt,rt),se()}function ka(wt,c){re(c,!0);let p=Le(c,["$$slots","$$events","$$legacy"]);const T=[["path",{d:"M14 17H5"}],["path",{d:"M19 7h-9"}],["circle",{cx:"17",cy:"17",r:"3"}],["circle",{cx:"7",cy:"7",r:"3"}]];Ge(wt,Re({name:"settings-2"},()=>p,{get iconNode(){return T},children:($,x)=>{var rt=Ut(),j=C(rt);Be(j,()=>c.children??De),s($,rt)},$$slots:{default:!0}})),se()}var Na=v('<span class="sig-meta text-[var(--sig-text-muted)] shrink-0">alpha</span> <div class="flex gap-px h-2.5 flex-1 rounded overflow-hidden"><div class="bg-[var(--sig-text-muted)] transition-all duration-300"></div> <div class="bg-[var(--sig-accent)] transition-all duration-300"></div></div> <span class="sig-meta text-[var(--sig-text)] font-mono"> </span>',1),Ta=v("<!> <!>",1),Sa=v('<span class="sig-label text-[var(--sig-text)]">win rate: <span class="font-bold"> </span></span>'),Ca=v("<!> <!>",1),ja=v('<div class="sig-eyebrow text-[var(--sig-text-muted)]">training config</div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">epochs per run</span> <input type="number" min="1" max="20" class="w-14 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">more epochs = longer but more thorough</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">max samples</span> <input type="number" min="100" max="50000" step="500" class="w-20 bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] rounded px-1.5 py-0.5 text-center sig-label text-[var(--sig-text)] focus:outline-none focus:border-[var(--sig-accent)]"/></div> <span class="sig-meta text-[var(--sig-text-muted)]">training pairs to use per run</span></div> <div class="space-y-1"><div class="flex justify-between items-center"><span class="sig-label text-[var(--sig-text-muted)]">auto-trains every</span> <span class="sig-label text-[var(--sig-text)]"> </span></div> <span class="sig-meta text-[var(--sig-text-muted)]">change in settings</span></div> <div class="pt-1 border-t border-[var(--sig-border)]"><span class="sig-meta text-[var(--sig-text-muted)]"> </span></div>',1),Ma=v("<!> <!>",1),Fa=v("<!> <!>",1),Ia=v('<div class="flex items-center gap-3 px-3 py-2 bg-card rounded-lg border border-border"><!> <!> <!> <div class="flex-1"></div> <!> <!> <button class="flex items-center p-1 rounded text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] hover:bg-[var(--sig-surface-raised)] transition-colors disabled:opacity-40"><!></button></div>');function Aa(wt,c){re(c,!0);const p=I(()=>{switch(c.healthStatus){case"healthy":return"default";case"degraded":case"cold_start":return"secondary";case"unhealthy":return"destructive";default:return"outline"}});let T=V(!1);var $=Ia(),x=r($);xe(x,{get variant(){return t(p)},class:"text-[9px] shrink-0",children:(M,Z)=>{vt();var A=$t();N(()=>d(A,c.healthStatus)),s(M,A)},$$slots:{default:!0}});var rt=e(x,2);L(rt,()=>pe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=Ta(),Q=C(K);L(Q,()=>ue,(g,n)=>{n(g,{class:"flex items-center gap-2 min-w-[120px]",children:(u,w)=>{var h=Na(),y=e(C(h),2),P=r(y),R=e(P,2);a(y);var H=e(y,2),X=r(H,!0);a(H),N(z=>{Ne(P,`width: ${c.alpha*100}%`),Ne(R,`width: ${(1-c.alpha)*100}%`),d(X,z)},[()=>c.alpha.toFixed(2)]),s(u,h)},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ge,(g,n)=>{n(g,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs max-w-[240px]",children:(u,w)=>{vt();var h=$t("Baseline weight in scoring. Shifts toward predictor as it proves itself.");s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var j=e(rt,2);L(j,()=>pe,(M,Z)=>{Z(M,{children:(A,mt)=>{var K=Ca(),Q=C(K);L(Q,()=>ue,(g,n)=>{n(g,{children:(u,w)=>{var h=Sa(),y=e(r(h)),P=r(y);a(y),a(h),N(R=>d(P,`${R??""}%`),[()=>Math.round(c.winRate*100)]),s(u,h)},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ge,(g,n)=>{n(g,{class:"bg-[var(--sig-surface-raised)] border border-[var(--sig-border)] text-[var(--sig-text)] px-2 py-1 rounded text-xs max-w-[240px]",children:(u,w)=>{vt();var h=$t("Sessions where predictor ranked better than heuristic baseline.");s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var Y=e(j,4);L(Y,()=>sa,(M,Z)=>{Z(M,{get open(){return t(T)},set open(A){b(T,A,!0)},children:(A,mt)=>{var K=Ma(),Q=C(K);L(Q,()=>aa,(g,n)=>{n(g,{class:"flex items-center gap-1 sig-label text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] transition-colors p-1 rounded hover:bg-[var(--sig-surface-raised)]",children:(u,w)=>{ka(u,{class:"w-3.5 h-3.5"})},$$slots:{default:!0}})});var m=e(Q,2);L(m,()=>ra,(g,n)=>{n(g,{class:"w-[260px] bg-[var(--sig-surface)] border border-[var(--sig-border)] rounded-lg shadow-lg p-3 space-y-3",side:"bottom",align:"end",children:(u,w)=>{var h=ja(),y=e(C(h),2),P=r(y),R=e(r(P),2);Ce(R),a(P),vt(2),a(y);var H=e(y,2),X=r(H),z=e(r(X),2);Ce(z),a(X),vt(2),a(H);var at=e(H,2),ct=r(at),ot=e(r(ct),2),St=r(ot);a(ot),a(ct),vt(2),a(at);var pt=e(at,2),xt=r(pt),B=r(xt);a(xt),a(pt),N(f=>{je(R,c.trainEpochs),je(z,c.trainLimit),d(St,`${c.trainInterval??""} sessions`),d(B,`${f??""} training pairs available`)},[()=>c.trainingPairs.toLocaleString()]),we("input",R,f=>c.onEpochsChange(Number(f.currentTarget.value))),we("input",z,f=>c.onLimitChange(Number(f.currentTarget.value))),s(u,h)},$$slots:{default:!0}})}),s(A,K)},$$slots:{default:!0}})});var O=e(Y,2);{let M=I(()=>c.training||!c.sidecarAlive);Ke(O,{variant:"default",size:"sm",class:"sig-label gap-1.5",get onclick(){return c.onTrain},get disabled(){return t(M)},children:(Z,A)=>{var mt=Fa(),K=C(mt);ia(K,{class:"w-3.5 h-3.5"});var Q=e(K,2);{var m=n=>{var u=$t("training...");s(n,u)},g=n=>{var u=$t("train now");s(n,u)};nt(Q,n=>{c.training?n(m):n(g,-1)})}s(Z,mt)},$$slots:{default:!0}})}var st=e(O,2),Pt=r(st);{let M=I(()=>c.loading?"animate-spin":"");na(Pt,{get class(){return`w-3.5 h-3.5 ${t(M)??""}`}})}a(st),a($),N(()=>st.disabled=c.loading),we("click",st,function(...M){c.onRefresh?.apply(this,M)}),s(wt,$),se()}Oe(["input","click"]);var Ea=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">loading predictor data...</span></div>'),Ra=v('<div class="flex items-center justify-center col-span-full row-span-full"><span class="sig-label text-[var(--sig-text-muted)]">unable to reach predictor -- check daemon status</span></div>'),Ba=v("Predictor <!>",1),Da=v(`<p class="sig-label text-[var(--sig-text-muted)]">The predictive memory scorer learns which memories matter most for each
|
|
2
2
|
session. Enable it in your pipeline configuration to start training.</p>`),La=v("<!> <!>",1),Oa=v('<div class="flex items-center justify-center col-span-full row-span-full"><!></div>'),za=v('<!> <div class="flex flex-col items-center justify-center gap-2 p-3 bg-card rounded-lg border border-border border-dashed"><span class="sig-eyebrow tracking-wider text-[var(--sig-text-muted)]">predictor model</span> <span class="sig-label text-[var(--sig-text-muted)]">collecting training data</span> <div class="w-full max-w-[180px] space-y-1"><div class="flex justify-between sig-meta text-[var(--sig-text-muted)]"><span> </span> <span> </span></div> <div class="w-full h-1.5 rounded-full bg-[var(--sig-surface-raised)] overflow-hidden"><div class="h-full rounded-full bg-[var(--sig-accent)] transition-all duration-300 animate-pulse"></div></div></div> <span class="sig-meta text-[var(--sig-text-muted)] max-w-[200px] text-center">needs more sessions before it can start ranking</span></div>',1),Wa=v("<!> <!>",1),Ha=v('<div class="sig-label text-[var(--sig-success)]"> </div>'),Ga=v('<div class="sig-label text-[var(--sig-danger)]"> </div>'),Ka=v("<!> details <!>",1),qa=v('<tr class="border-b border-[var(--sig-border)] border-opacity-30"><td class="py-1 pr-3"><span></span> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td> </td><td class="py-1 px-2 max-w-[120px] truncate"> </td><td class="py-1 pl-2 text-[var(--sig-text-muted)]"> </td></tr>'),Ja=v('<div><span class="sig-eyebrow text-[var(--sig-text-muted)]">recent comparisons</span> <table class="w-full sig-label mt-1"><thead><tr class="text-[var(--sig-text-muted)] border-b border-[var(--sig-border)]"><th class="text-left py-1 pr-3">session</th><th class="text-right py-1 px-2">pred</th><th class="text-right py-1 px-2">base</th><th class="text-right py-1 px-2">margin</th><th class="text-left py-1 px-2">project</th><th class="text-left py-1 pl-2">time</th></tr></thead><tbody></tbody></table></div>'),Va=v('<tr class="border-b border-[var(--sig-border)] border-opacity-30"><td class="py-1 pr-3"> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td class="text-right py-1 px-2"> </td><td class="py-1 pl-2 text-[var(--sig-text-muted)]"> </td></tr>'),Ya=v('<div><span class="sig-eyebrow text-[var(--sig-text-muted)]">training history</span> <table class="w-full sig-label mt-1"><thead><tr class="text-[var(--sig-text-muted)] border-b border-[var(--sig-border)]"><th class="text-left py-1 pr-3">version</th><th class="text-right py-1 px-2">loss</th><th class="text-right py-1 px-2">samples</th><th class="text-right py-1 px-2">duration</th><th class="text-right py-1 px-2">canary</th><th class="text-left py-1 pl-2">time</th></tr></thead><tbody></tbody></table></div>'),Za=v('<div class="flex items-start gap-2 sig-label"><span class="text-[var(--sig-text-muted)] shrink-0"> </span> <span class="text-[var(--sig-danger)] font-mono"> </span> <span class="text-[var(--sig-text)] truncate"> </span></div>'),Qa=v('<div><span class="sig-eyebrow text-[var(--sig-text-muted)]">errors</span> <div class="space-y-1 mt-1"></div></div>'),Ua=v('<div class="mt-2 max-h-[200px] overflow-y-auto space-y-3 pr-1"><!> <!> <!></div>'),Xa=v("<!> <!>",1),tr=v('<!> <div class="grid grid-cols-2 gap-3"><!></div> <div class="relative min-h-0"><!></div> <div class="space-y-1.5"><!> <!></div>',1),er=v('<div class="flex flex-col flex-1 min-h-0 overflow-hidden"><!> <div class="grid flex-1 min-h-0 overflow-y-auto gap-3 p-3" style="grid-template-rows: auto auto auto 1fr auto;"><!></div></div>');function xr(wt,c){re(c,!0);const p="";let T=V(null),$=V(null),x=V(Kt([])),rt=V(Kt([])),j=V(!0),Y=V(!1),O=V(null),st=V(null),Pt=V(0),M=V(Kt([])),Z=V(!1);const A="signet-predictor-train-config";function mt(){try{const i=localStorage.getItem(A);if(i)return JSON.parse(i)}catch{}return{epochs:3,limit:5e3}}function K(i,l){localStorage.setItem(A,JSON.stringify({epochs:i,limit:l}))}const Q=mt();let m=V(Kt(Q.epochs)),g=V(Kt(Q.limit)),n=10,u=V(Kt([])),w=V(Kt([]));const h=I(()=>t(T)!==null&&!t(T).enabled),y=I(()=>t($)!==null&&!t($).coldStartExited&&t($).sidecarAlive),P=I(()=>t($)!==null&&!t($).sidecarAlive&&t(T)!==null&&t(T).enabled),R=10,H=I(()=>Math.min(1,t(x).length/R)),X=I(()=>t(x).length===0?0:t(x).filter(l=>l.predictorWon).length/t(x).length),z=I(()=>t(x).length===0?0:t(x).reduce((i,l)=>i+l.predictorNdcg,0)/t(x).length),at=I(()=>t(x).length===0?0:t(x).reduce((i,l)=>i+l.baselineNdcg,0)/t(x).length),ct=I(()=>t(x).length===0?0:t(x).reduce((i,l)=>i+l.scorerConfidence,0)/t(x).length),ot=I(()=>[{label:"sessions evaluated",value:`${t(x).length}`},{label:"avg confidence",value:t(ct).toFixed(2)}]),St=I(()=>[{label:"win rate",value:`${Math.round(t(X)*100)}%`,tooltip:"Sessions where predictor ranked better than heuristic baseline."},{label:"training pairs",value:t(Pt).toLocaleString(),tooltip:"Memory-relevance examples the model has learned from."},{label:"model",value:t($)?`v${t($).modelVersion} ${t($).lastTrainedAt?`· ${G(t($).lastTrainedAt)}`:""}`:"-"}]);let pt=V(!1),xt=V(!1);async function B(){if(!t(pt)){b(pt,!0),b(j,t(T)===null);try{const[i,l,W,F,U,q]=await Promise.allSettled([fetch(`${p}/api/predictor/status`),fetch(`${p}/api/diagnostics/predictor`),fetch(`${p}/api/predictor/comparisons?limit=50`),fetch(`${p}/api/predictor/training?limit=10`),fetch(`${p}/api/analytics/errors`),fetch(`${p}/api/predictor/training-pairs-count`)]);if(i.status==="fulfilled"&&i.value.ok&&b(T,await i.value.json(),!0),l.status==="fulfilled"&&l.value.ok&&b($,await l.value.json(),!0),W.status==="fulfilled"&&W.value.ok){const _=await W.value.json();b(x,_.items??[],!0)}if(F.status==="fulfilled"&&F.value.ok){const _=await F.value.json();b(rt,_.items??[],!0)}if(U.status==="fulfilled"&&U.value.ok){const tt=(await U.value.json()).errors??[];b(M,tt.filter(Jt=>Jt.stage==="predictor"),!0)}if(q.status==="fulfilled"&&q.value.ok){const _=await q.value.json();b(Pt,_.count??0,!0)}}catch{}t(T)===null&&b(xt,!0),b(j,!1),b(pt,!1),f().catch(()=>{})}}async function f(){try{if(t(x).length===0)return;const i=t(x)[0],l=i.predictorTopIds??[],W=i.baselineTopIds??[],F=[...new Set([...l.slice(0,5),...W.slice(0,5)])];if(F.length===0)return;const U=await Promise.allSettled(F.map(_=>fetch(`${p}/api/memory/${_}`).then(tt=>tt.ok?tt.json():null))),q=new Map;for(let _=0;_<F.length;_++){const tt=U[_];tt.status==="fulfilled"&&tt.value!==null&&q.set(F[_],tt.value.content??"")}b(u,l.slice(0,5).filter(_=>q.has(_)).map(_=>({id:_,content:q.get(_)??""})),!0),b(w,W.slice(0,5).filter(_=>q.has(_)).map(_=>({id:_,content:q.get(_)??""})),!0)}catch{b(u,[],!0),b(w,[],!0)}}async function S(){b(Y,!0),b(O,null),b(st,null);try{const i=await fetch(`${p}/api/predictor/train`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({epochs:t(m),limit:t(g)})}),l=await i.json();i.ok?(b(O,l,!0),await B()):b(st,l.error??`HTTP ${i.status}`,!0)}catch(i){b(st,String(i),!0)}b(Y,!1)}function k(i){const l=new Date(i);return Number.isNaN(l.getTime())?i:l.toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}function G(i){const l=Date.now()-new Date(i).getTime();if(Number.isNaN(l))return i;const W=Math.floor(l/6e4);if(W<1)return"just now";if(W<60)return`${W}m ago`;const F=Math.floor(W/60);return F<24?`${F}h ago`:`${Math.floor(F/24)}d ago`}ze(()=>{B();const i=setInterval(B,15e3);return()=>clearInterval(i)});var lt=er(),ft=r(lt);We(ft,{title:"Predictor",children:(i,l)=>{He(i,{group:"engine",get tabs(){return Ve},get activeTab(){return Je.activeTab},onselect:(W,F)=>qe(F)})}});var ut=e(ft,2),yt=r(ut);{var gt=i=>{var l=Ea();s(i,l)},Ct=i=>{var l=Ra();s(i,l)},qt=i=>{var l=Oa(),W=r(l);L(W,()=>Ze,(F,U)=>{U(F,{class:"max-w-md",children:(q,_)=>{var tt=La(),Jt=C(tt);L(Jt,()=>Qe,(Vt,Xt)=>{Xt(Vt,{children:(te,fe)=>{var D=Ut(),J=C(D);L(J,()=>Ue,(et,it)=>{it(et,{class:"flex items-center gap-2 text-sm",children:(kt,Lt)=>{vt();var jt=Ba(),Ot=e(C(jt));xe(Ot,{variant:"outline",children:(Mt,Yt)=>{vt();var Zt=$t("disabled");s(Mt,Zt)},$$slots:{default:!0}}),s(kt,jt)},$$slots:{default:!0}})}),s(te,D)},$$slots:{default:!0}})});var ne=e(Jt,2);L(ne,()=>Ye,(Vt,Xt)=>{Xt(Vt,{children:(te,fe)=>{var D=Da();s(te,D)},$$slots:{default:!0}})}),s(q,tt)},$$slots:{default:!0}})}),a(l),s(i,l)},Dt=i=>{var l=tr(),W=C(l);{let D=I(()=>t($)?.status??"unknown"),J=I(()=>t($)?.alpha??1),et=I(()=>t($)?.sidecarAlive??!1);Aa(W,{get healthStatus(){return t(D)},get alpha(){return t(J)},get winRate(){return t(X)},get sidecarAlive(){return t(et)},get training(){return t(Y)},get loading(){return t(j)},get trainingPairs(){return t(Pt)},get trainEpochs(){return t(m)},get trainLimit(){return t(g)},trainInterval:n,onTrain:S,onRefresh:B,onEpochsChange:it=>{b(m,it,!0),K(it,t(g))},onLimitChange:it=>{b(g,it,!0),K(t(m),it)}})}var F=e(W,2),U=r(F);{var q=D=>{var J=za(),et=C(J);Pe(et,{side:"baseline",get ndcg(){return t(at)},get topPicks(){return t(w)},get stats(){return t(ot)}});var it=e(et,2),kt=e(r(it),4),Lt=r(kt),jt=r(Lt),Ot=r(jt);a(jt);var Mt=e(jt,2),Yt=r(Mt);a(Mt),a(Lt);var Zt=e(Lt,2),Ft=r(Zt);a(Zt),a(kt),vt(2),a(it),N(zt=>{d(Ot,`${t(x).length??""} / 10 sessions`),d(Yt,`${zt??""}%`),Ne(Ft,`width: ${t(H)*100}%`)},[()=>Math.round(t(H)*100)]),s(D,J)},_=D=>{var J=Wa(),et=C(J);Pe(et,{side:"baseline",get ndcg(){return t(at)},get topPicks(){return t(w)},get stats(){return t(ot)}});var it=e(et,2);Pe(it,{side:"predictor",get ndcg(){return t(z)},get topPicks(){return t(u)},get stats(){return t(St)},get offline(){return t(P)}}),s(D,J)};nt(U,D=>{t(y)?D(q):D(_,-1)})}a(F);var tt=e(F,2),Jt=r(tt);fa(Jt,{get comparisons(){return t(x)}}),a(tt);var ne=e(tt,2),Vt=r(ne);{var Xt=D=>{var J=Ha(),et=r(J);a(J),N((it,kt)=>d(et,`trained v${t(O).step??""} -- ${t(O).samples_used??""} samples, loss ${it??""}, ${kt??""}s`),[()=>t(O).loss.toFixed(4),()=>(t(O).duration_ms/1e3).toFixed(1)]),s(D,J)},te=D=>{var J=Ga(),et=r(J,!0);a(J),N(()=>d(et,t(st))),s(D,J)};nt(Vt,D=>{t(O)?D(Xt):t(st)&&D(te,1)})}var fe=e(Vt,2);L(fe,()=>ea,(D,J)=>{J(D,{get open(){return t(Z)},set open(et){b(Z,et,!0)},children:(et,it)=>{var kt=Xa(),Lt=C(kt);L(Lt,()=>Xe,(Ot,Mt)=>{Mt(Ot,{class:"flex items-center gap-1.5 sig-label text-[var(--sig-text-muted)] hover:text-[var(--sig-text)] transition-colors",children:(Yt,Zt)=>{var Ft=Ka(),zt=C(Ft);{let Wt=I(()=>t(Z)?"0deg":"-90deg");oa(zt,{class:"w-3 h-3 transition-transform duration-200",get style(){return`transform: rotate(${t(Wt)??""})`}})}var me=e(zt,2);{var oe=Wt=>{xe(Wt,{variant:"destructive",class:"text-[8px] px-1 py-0 ml-1",children:(_e,Te)=>{vt();var dt=$t();N(()=>d(dt,t(M).length)),s(_e,dt)},$$slots:{default:!0}})};nt(me,Wt=>{t(M).length>0&&Wt(oe)})}s(Yt,Ft)},$$slots:{default:!0}})});var jt=e(Lt,2);L(jt,()=>ta,(Ot,Mt)=>{Mt(Ot,{children:(Yt,Zt)=>{var Ft=Ua(),zt=r(Ft);{var me=dt=>{var _t=Ja(),It=e(r(_t),2),Ht=e(r(It));Bt(Ht,21,()=>t(x).slice(0,15),ht=>ht.sessionKey,(ht,E)=>{var bt=qa(),Nt=r(bt),At=r(Nt);let Et;var Qt=e(At);a(Nt);var Tt=e(Nt),ee=r(Tt,!0);a(Tt);var Gt=e(Tt),he=r(Gt,!0);a(Gt);var Rt=e(Gt);let le;var de=r(Rt);a(Rt);var ae=e(Rt),be=r(ae,!0);a(ae);var ve=e(ae),ye=r(ve,!0);a(ve),a(bt),N(($e,Me,Fe,Ie,Ae)=>{Et=ke(At,1,"w-2 h-2 inline-block rounded-full mr-1",null,Et,{"bg-[var(--sig-success)]":t(E).predictorWon,"bg-[var(--sig-danger)]":!t(E).predictorWon}),d(Qt,` ${$e??""}`),d(ee,Me),d(he,Fe),le=ke(Rt,1,"text-right py-1 px-2",null,le,{"text-[var(--sig-success)]":t(E).margin>0,"text-[var(--sig-danger)]":t(E).margin<0}),d(de,`${t(E).margin>0?"+":""}${Ie??""}`),d(be,t(E).project??"-"),d(ye,Ae)},[()=>t(E).sessionKey.slice(0,8),()=>t(E).predictorNdcg.toFixed(3),()=>t(E).baselineNdcg.toFixed(3),()=>t(E).margin.toFixed(3),()=>k(t(E).createdAt)]),s(ht,bt)}),a(Ht),a(It),a(_t),s(dt,_t)};nt(zt,dt=>{t(x).length>0&&dt(me)})}var oe=e(zt,2);{var Wt=dt=>{var _t=Ya(),It=e(r(_t),2),Ht=e(r(It));Bt(Ht,21,()=>t(rt),ht=>ht.id,(ht,E)=>{var bt=Va(),Nt=r(bt),At=r(Nt);a(Nt);var Et=e(Nt),Qt=r(Et,!0);a(Et);var Tt=e(Et),ee=r(Tt,!0);a(Tt);var Gt=e(Tt),he=r(Gt);a(Gt);var Rt=e(Gt),le=r(Rt,!0);a(Rt);var de=e(Rt),ae=r(de,!0);a(de),a(bt),N((be,ve,ye,$e)=>{d(At,`v${t(E).modelVersion??""}`),d(Qt,be),d(ee,t(E).sampleCount),d(he,`${ve??""}s`),d(le,ye),d(ae,$e)},[()=>t(E).loss.toFixed(4),()=>(t(E).durationMs/1e3).toFixed(1),()=>t(E).canaryNdcg!==null?t(E).canaryNdcg.toFixed(3):"-",()=>k(t(E).createdAt)]),s(ht,bt)}),a(Ht),a(It),a(_t),s(dt,_t)};nt(oe,dt=>{t(rt).length>0&&dt(Wt)})}var _e=e(oe,2);{var Te=dt=>{var _t=Qa(),It=e(r(_t),2);Bt(It,21,()=>t(M).slice(0,10),ce,(Ht,ht)=>{var E=Za(),bt=r(E),Nt=r(bt,!0);a(bt);var At=e(bt,2),Et=r(At,!0);a(At);var Qt=e(At,2),Tt=r(Qt,!0);a(Qt),a(E),N(ee=>{d(Nt,ee),d(Et,t(ht).code),d(Tt,t(ht).message)},[()=>k(t(ht).timestamp)]),s(Ht,E)}),a(It),a(_t),s(dt,_t)};nt(_e,dt=>{t(M).length>0&&dt(Te)})}a(Ft),s(Yt,Ft)},$$slots:{default:!0}})}),s(et,kt)},$$slots:{default:!0}})}),a(ne),s(i,l)};nt(yt,i=>{t(j)&&!t(T)&&!t(xt)?i(gt):t(xt)&&!t(T)?i(Ct,1):t(h)?i(qt,2):i(Dt,-1)})}a(ut),a(lt),s(wt,lt),se()}export{xr as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./
|
|
2
|
-
import{_ as $}from"./PPVm8Dsz.js";import{p as N,o as Q,e as q,Q as A,i as o,v as x,j as v,t as w,l,k as J,y as E,B as I,R as P,O as B,b as n,d as K,c as u,f as c,T as D,z as H,h as U,m as f,P as M}from"./KKQFryJf.js";var W=f('<div class="audit-error svelte-1xfrv6f"> </div>'),X=f('<div class="audit-loading svelte-1xfrv6f">Loading troubleshooter...</div>'),Y=f('<div class="audit-error svelte-1xfrv6f"> </div>'),Z=f('<div class="audit-loading svelte-1xfrv6f">Loading logs...</div>'),ee=f('<div class="audit-tab svelte-1xfrv6f"><header class="tab-header svelte-1xfrv6f"><div class="tab-header-left svelte-1xfrv6f"><span class="tab-header-title svelte-1xfrv6f">AUDIT</span> <span class="tab-header-sep svelte-1xfrv6f" aria-hidden="true"></span> <span class="tab-header-count svelte-1xfrv6f">TROUBLESHOOTER + LOGS</span></div> <div class="sub-group svelte-1xfrv6f"><button>TROUBLESHOOTER</button> <button>LOGS</button></div></header> <div class="audit-content audit-embed svelte-1xfrv6f"><!></div></div>');function ae(F,G){N(G,!0);const V=new Set(["troubleshooter","logs"]);function O(){if(typeof window>"u")return"troubleshooter";const t=window.location.hash.replace("#","").split("/");return t[0]!=="audit"?"troubleshooter":t[1]&&V.has(t[1])?t[1]:"troubleshooter"}let i=Q(q(O()));A(()=>{if(typeof window>"u")return;const e=o(i)==="troubleshooter"?"audit":`audit/${o(i)}`;window.location.hash!==`#${e}`&&window.history.replaceState(null,"",`#${e}`)}),A(()=>{if(typeof window>"u")return;const e=()=>{const t=O();t!==o(i)&&x(i,t,!0)};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)});const T="px-2.5 py-1 text-[10px] font-medium uppercase tracking-[0.06em] rounded-md transition-colors duration-150 border-none cursor-pointer whitespace-nowrap",L=`${T} text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)] border border-[color-mix(in_srgb,var(--sig-highlight),transparent_85%)]`,k=`${T} bg-transparent text-[var(--sig-text-muted)] hover:text-[var(--sig-highlight)] hover:bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_94%)]`;var h=ee(),g=v(h),S=w(v(g),2),_=v(S),y=w(_,2);l(S),l(g);var R=w(g,2),j=v(R);{var z=e=>{var t=u(),p=c(t);D(p,()=>$(()=>import("./
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BmlwXKAB.js","./KKQFryJf.js","../assets/vendor-ui.BHIBfuhK.css","./HpmjLUu0.js","./CppT_YPm.js","./PPVm8Dsz.js","../assets/2.DBaZEFUY.css","./CHsomwlc.js","./Uy5f82Ao.js","./rmLb2ZqF.js","./SAYTJQji.js","./DLYD2on5.js","../assets/TroubleshooterPanel.Bj27xjMc.css","./D1h-1LVY.js","./DK3bAoxY.js","../assets/PageBanner.BodUOjhn.css","./CyB1_UBK.js","./CpvP9guS.js","./C8yBIYSp.js","../assets/LogsTab.DpPjv4Ww.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as $}from"./PPVm8Dsz.js";import{p as N,o as Q,e as q,Q as A,i as o,v as x,j as v,t as w,l,k as J,y as E,B as I,R as P,O as B,b as n,d as K,c as u,f as c,T as D,z as H,h as U,m as f,P as M}from"./KKQFryJf.js";var W=f('<div class="audit-error svelte-1xfrv6f"> </div>'),X=f('<div class="audit-loading svelte-1xfrv6f">Loading troubleshooter...</div>'),Y=f('<div class="audit-error svelte-1xfrv6f"> </div>'),Z=f('<div class="audit-loading svelte-1xfrv6f">Loading logs...</div>'),ee=f('<div class="audit-tab svelte-1xfrv6f"><header class="tab-header svelte-1xfrv6f"><div class="tab-header-left svelte-1xfrv6f"><span class="tab-header-title svelte-1xfrv6f">AUDIT</span> <span class="tab-header-sep svelte-1xfrv6f" aria-hidden="true"></span> <span class="tab-header-count svelte-1xfrv6f">TROUBLESHOOTER + LOGS</span></div> <div class="sub-group svelte-1xfrv6f"><button>TROUBLESHOOTER</button> <button>LOGS</button></div></header> <div class="audit-content audit-embed svelte-1xfrv6f"><!></div></div>');function ae(F,G){N(G,!0);const V=new Set(["troubleshooter","logs"]);function O(){if(typeof window>"u")return"troubleshooter";const t=window.location.hash.replace("#","").split("/");return t[0]!=="audit"?"troubleshooter":t[1]&&V.has(t[1])?t[1]:"troubleshooter"}let i=Q(q(O()));A(()=>{if(typeof window>"u")return;const e=o(i)==="troubleshooter"?"audit":`audit/${o(i)}`;window.location.hash!==`#${e}`&&window.history.replaceState(null,"",`#${e}`)}),A(()=>{if(typeof window>"u")return;const e=()=>{const t=O();t!==o(i)&&x(i,t,!0)};return window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)});const T="px-2.5 py-1 text-[10px] font-medium uppercase tracking-[0.06em] rounded-md transition-colors duration-150 border-none cursor-pointer whitespace-nowrap",L=`${T} text-[var(--sig-highlight)] bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_90%)] border border-[color-mix(in_srgb,var(--sig-highlight),transparent_85%)]`,k=`${T} bg-transparent text-[var(--sig-text-muted)] hover:text-[var(--sig-highlight)] hover:bg-[color-mix(in_srgb,var(--sig-highlight),var(--sig-bg)_94%)]`;var h=ee(),g=v(h),S=w(v(g),2),_=v(S),y=w(_,2);l(S),l(g);var R=w(g,2),j=v(R);{var z=e=>{var t=u(),p=c(t);D(p,()=>$(()=>import("./BmlwXKAB.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url),a=>{var s=X();n(a,s)},(a,s)=>{var r=u(),d=c(r);U(d,()=>o(s).default,(b,m)=>{m(b,{})}),n(a,r)},(a,s)=>{var r=W(),d=v(r);l(r),E(()=>H(d,`Failed to load: ${o(s)?.message??"unknown"??""}`)),n(a,r)}),n(e,t)},C=e=>{var t=u(),p=c(t);D(p,()=>$(()=>import("./D1h-1LVY.js"),__vite__mapDeps([13,1,2,3,4,5,6,14,15,16,17,9,18,7,8,19]),import.meta.url),a=>{var s=Z();n(a,s)},(a,s)=>{var r=u(),d=c(r);U(d,()=>o(s).default,(b,m)=>{m(b,{})}),n(a,r)},(a,s)=>{var r=Y(),d=v(r);l(r),E(()=>H(d,`Failed to load: ${o(s)?.message??"unknown"??""}`)),n(a,r)}),n(e,t)};J(j,e=>{o(i)==="troubleshooter"?e(z):e(C,-1)})}l(R),l(h),E(()=>{I(_,1,P(o(i)==="troubleshooter"?L:k),"svelte-1xfrv6f"),I(y,1,P(o(i)==="logs"?L:k),"svelte-1xfrv6f")}),B("click",_,()=>x(i,"troubleshooter")),B("click",y,()=>x(i,"logs")),n(F,h),K()}M(["click"]);export{ae as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as n,s as d,c,f as l,a as i,n as m,b as u,d as f,r as h}from"./KKQFryJf.js";import{I as $}from"./
|
|
1
|
+
import{p as n,s as d,c,f as l,a as i,n as m,b as u,d as f,r as h}from"./KKQFryJf.js";import{I as $}from"./HpmjLUu0.js";function P(e,s){n(s,!0);let o=h(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];$(e,d({name:"plus"},()=>o,{get iconNode(){return t},children:(r,v)=>{var a=c(),p=l(a);i(p,()=>s.children??m),u(r,a)},$$slots:{default:!0}})),f()}export{P};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,G as z,i as l,b as u,u as h,d as G,r as j}from"./KKQFryJf.js";import{c as f}from"./
|
|
1
|
+
import{p as $,g as c,c as d,f as o,h as i,S as y,s as P,G as z,i as l,b as u,u as h,d as G,r as j}from"./KKQFryJf.js";import{c as f}from"./HpmjLUu0.js";function C(g,e){$(e,!0);let a=c(e,"ref",15,null),r=c(e,"checked",15,!1),p=j(e,["$$slots","$$events","$$legacy","ref","class","checked"]);var s=d(),b=o(s);{let k=h(()=>f("data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 peer inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e.class));i(b,()=>y,(m,v)=>{v(m,P({"data-slot":"switch",get class(){return l(k)}},()=>p,{get ref(){return a()},set ref(t){a(t)},get checked(){return r()},set checked(t){r(t)},children:(t,q)=>{var n=d(),w=o(n);{let x=h(()=>f("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"));i(w,()=>z,(_,S)=>{S(_,{"data-slot":"switch-thumb",get class(){return l(x)}})})}u(t,n)},$$slots:{default:!0}}))})}u(g,s),G()}export{C as S};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{p as se,s as be,c as C,f as w,a as fe,n as ge,b as c,d as re,r as ke,e as pe,o as me,j as u,A as Y,h as G,i as s,t as y,l as p,k as A,w as ue,x as Z,y as z,z as H,u as ee,a9 as Je,O as he,aa as We,a2 as Fe,K as Ue,m as T,v as te,U as Ve,P as Qe}from"./KKQFryJf.js";import{I as ye,K as Xe,o as ae}from"./
|
|
1
|
+
import{p as se,s as be,c as C,f as w,a as fe,n as ge,b as c,d as re,r as ke,e as pe,o as me,j as u,A as Y,h as G,i as s,t as y,l as p,k as A,w as ue,x as Z,y as z,z as H,u as ee,a9 as Je,O as he,aa as We,a2 as Fe,K as Ue,m as T,v as te,U as Ve,P as Qe}from"./KKQFryJf.js";import{I as ye,K as Xe,o as ae}from"./HpmjLUu0.js";import{S as Ye,a as Ze,b as et,c as tt}from"./CHsomwlc.js";import{W as at,L as ve}from"./SAYTJQji.js";import{T as st}from"./DLYD2on5.js";function rt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}]];ye(P,be({name:"activity"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}function nt(P,f){se(f,!0);let _=ke(f,["$$slots","$$events","$$legacy"]);const g=[["path",{d:"M12 19h8"}],["path",{d:"m4 17 6-6-6-6"}]];ye(P,be({name:"terminal"},()=>_,{get iconNode(){return g},children:(h,O)=>{var x=C(),E=w(x);fe(E,()=>f.children??ge),c(h,x)},$$slots:{default:!0}})),re()}var it=T('<span class="ts-panel-count svelte-c36e65"> </span>'),lt=T("<!> <!>",1),ot=T('<div class="ts-control svelte-c36e65"><div class="ts-control-head svelte-c36e65"><div class="ts-control-title-wrap svelte-c36e65"><!> <span class="ts-control-title svelte-c36e65"> </span> <!></div> <!></div> <div class="ts-action-bar svelte-c36e65"><!> <button class="ts-run svelte-c36e65"><!></button></div></div>'),ct=T('<button class="ts-clear svelte-c36e65" title="Clear output"><!></button>'),dt=T('<div class="ts-empty svelte-c36e65">no output yet</div>'),pt=T('<div class="ts-line svelte-c36e65"></div>'),mt=T('<div class="ts-root svelte-c36e65"><div class="ts-controls svelte-c36e65"></div> <div class="ts-terminal-wrap svelte-c36e65"><div class="ts-terminal-head svelte-c36e65"><span class="ts-control-title svelte-c36e65">Terminal</span> <!></div> <div class="ts-term svelte-c36e65" role="log"><!></div></div></div>');function yt(P,f){se(f,!0);const _=[{id:"cli",title:"CLI",icon:nt,color:"var(--sig-highlight)",commands:[{label:"Status",kind:"cli",key:"status"},{label:"Daemon Status",kind:"cli",key:"daemon-status"},{label:"Daemon Logs",kind:"cli",key:"daemon-logs"},{label:"Sync",kind:"cli",key:"sync"},{label:"Embed Audit",kind:"cli",key:"embed-audit"},{label:"Skill List",kind:"cli",key:"skill-list"},{label:"Secret List",kind:"cli",key:"secret-list"},{label:"Recall Test",kind:"cli",key:"recall-test"}]},{id:"status",title:"Status",icon:rt,color:"var(--sig-highlight)",commands:[{label:"Health",kind:"api",method:"GET",path:"/health"},{label:"Diagnostics",kind:"api",method:"GET",path:"/api/diagnostics"},{label:"Pipeline",kind:"api",method:"GET",path:"/api/pipeline/status"},{label:"Predictor",kind:"api",method:"GET",path:"/api/predictor/status"},{label:"Git",kind:"api",method:"GET",path:"/api/git/status"},{label:"Embeddings",kind:"api",method:"GET",path:"/api/embeddings/health"}]},{id:"info",title:"Info",icon:Xe,color:"var(--sig-highlight)",commands:[{label:"Embed Gaps",kind:"api",method:"GET",path:"/api/repair/embedding-gaps"},{label:"Dedup Stats",kind:"api",method:"GET",path:"/api/repair/dedup-stats"},{label:"Cold Stats",kind:"api",method:"GET",path:"/api/repair/cold-stats"}]},{id:"repair",title:"Repair",icon:at,color:"var(--sig-highlight)",commands:[{label:"Check FTS",kind:"api",method:"POST",path:"/api/repair/check-fts"},{label:"Re-embed",kind:"api",method:"POST",path:"/api/repair/re-embed"},{label:"Resync Vec",kind:"api",method:"POST",path:"/api/repair/resync-vec"},{label:"Clean Orphans",kind:"api",method:"POST",path:"/api/repair/clean-orphans"},{label:"Deduplicate",kind:"api",method:"POST",path:"/api/repair/deduplicate"},{label:"Retention",kind:"api",method:"POST",path:"/api/repair/retention-sweep"},{label:"Requeue Dead",kind:"api",method:"POST",path:"/api/repair/requeue-dead"},{label:"Release Leases",kind:"api",method:"POST",path:"/api/repair/release-leases"},{label:"Backfill Skipped",kind:"api",method:"POST",path:"/api/repair/backfill-skipped"},{label:"Reclassify",kind:"api",method:"POST",path:"/api/repair/reclassify-entities"},{label:"Prune Chunks",kind:"api",method:"POST",path:"/api/repair/prune-chunk-groups"},{label:"Prune Singletons",kind:"api",method:"POST",path:"/api/repair/prune-singleton-entities"},{label:"Stop Daemon",kind:"cli",key:"daemon-stop"},{label:"Restart Daemon",kind:"cli",key:"daemon-restart"},{label:"Update Signet",kind:"cli",key:"update"}]}],g=pe(Object.fromEntries(_.map(e=>[e.id,{lines:[],running:!1,selected:0}])));let h=me(pe([])),O=me(void 0);const x=Object.fromEntries(_.map(e=>[e.id,e]));function E(e){te(O,e,!0)}async function v(e){await Ve(),s(O)?.scrollTo({top:s(O).scrollHeight,behavior:"smooth"})}function o(e,t){const a=g[e];if(!a)return;a.lines=[...a.lines,t];const i=x[e]?.title??e;te(h,[...s(h),t?`[${i}] ${t}`:""],!0)}function _e(){te(h,[],!0);for(const e of _)g[e.id].lines=[]}async function xe(e,t){const a=g[e];if(!a||a.running||!t.key)return;a.running=!0,o(e,`\x1B[32m$\x1B[0m signet ${t.key.replace(/-/g," ")}`),await v();const i=new AbortController;let r=!1;try{const n=await fetch(`${ae}/api/troubleshoot/exec`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({key:t.key}),signal:i.signal});if(!n.ok){const D=await n.json().catch(()=>({error:"request failed"}));o(e,`\x1B[31merror:\x1B[0m ${D.error??n.statusText}`),a.running=!1,await v(e);return}const d=n.body?.getReader();if(!d){o(e,"\x1B[31merror:\x1B[0m no stream"),a.running=!1;return}t.key==="daemon-restart"&&(r=!0);const b=new TextDecoder;let $="";try{for(;;){const{done:D,value:W}=await d.read();if(D)break;$+=b.decode(W,{stream:!0});const N=$.split(`
|
|
2
2
|
|
|
3
3
|
`);$=N.pop()??"";for(const F of N){const R=F.match(/^data:\s*(.+)$/m);if(R)try{const m=JSON.parse(R[1]);if(m.type==="started"&&(r=!0),m.type==="stdout"||m.type==="stderr"){const S=String(m.data).replace(/\n$/,"");if(S){for(const I of S.split(`
|
|
4
4
|
`))o(e,m.type==="stderr"?`\x1B[33m${I}\x1B[0m`:I);await v(e)}}else m.type==="exit"?(o(e,m.code===0?"\x1B[32m✓ exit 0\x1B[0m":`\x1B[31m✗ exit ${m.code}\x1B[0m`),await v(e)):m.type==="error"&&(o(e,`\x1B[31merror:\x1B[0m ${m.message}`),await v(e))}catch{}}}}finally{d.releaseLock()}}catch(n){i.signal.aborted||(t.key==="daemon-stop"||t.key==="daemon-restart"?o(e,"\x1B[33mDaemon process ended\x1B[0m"):o(e,`\x1B[31merror:\x1B[0m ${n instanceof Error?n.message:"fetch failed"}`))}if(t.key==="daemon-restart"&&r){o(e,"\x1B[90mWaiting for daemon to restart...\x1B[0m"),await v();let n=!1;for(let d=0;d<15;d++){await new Promise(b=>setTimeout(b,1e3));try{if((await fetch(`${ae}/health`)).ok){n=!0;break}}catch{}}o(e,n?"\x1B[32m✓ Daemon restarted\x1B[0m":"\x1B[31m✗ Daemon did not restart within 15s\x1B[0m"),await v()}o(e,""),a.running=!1,await v()}async function $e(e,t){const a=g[e];if(!a||a.running||!t.path||!t.method)return;a.running=!0;const i=performance.now();o(e,`\x1B[32m$\x1B[0m ${t.method} ${t.path}`),await v();try{const r=await fetch(`${ae}${t.path}`,{method:t.method}),n=Math.round(performance.now()-i),b=(r.headers.get("content-type")??"").includes("json")?JSON.stringify(await r.json(),null,2):await r.text();o(e,r.ok?`\x1B[32m${r.status} OK\x1B[0m \x1B[90m${n}ms\x1B[0m`:`\x1B[31m${r.status} FAILED\x1B[0m \x1B[90m${n}ms\x1B[0m`);for(const $ of b.split(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{p,s as c,c as i,f as d,a as h,n as l,b as m,d as f,r as u}from"./KKQFryJf.js";import{I as $}from"./
|
|
1
|
+
import{p,s as c,c as i,f as d,a as h,n as l,b as m,d as f,r as u}from"./KKQFryJf.js";import{I as $}from"./HpmjLUu0.js";function C(o,s){p(s,!0);let r=u(s,["$$slots","$$events","$$legacy"]);const t=[["path",{d:"m9 18 6-6-6-6"}]];$(o,c({name:"chevron-right"},()=>r,{get iconNode(){return t},children:(a,g)=>{var e=i(),n=d(e);h(n,()=>s.children??l),m(a,e)},$$slots:{default:!0}})),f()}export{C};
|