conductor-oss 0.26.7 → 0.26.9
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/package.json +5 -5
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +5 -5
- package/web/.next/standalone/packages/web/.next/build-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +11 -11
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +5 -5
- package/web/.next/standalone/packages/web/.next/server/chunks/3855.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/5164.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/6221.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/6489.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/69.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/6956.js +2 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/7164.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/1265.20ac5c99aa952ab3.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/1874.4cbce11be5d46d0e.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/2148.352a0da16e29c3bb.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{2228.bf1d2dd63a2ba8de.js → 2228.810adbeee03b4a23.js} +1 -1
- package/web/.next/{static/chunks/2452-dbb0e1dbd4032cd8.js → standalone/packages/web/.next/static/chunks/2452-c6e8306f50b6f426.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4443.d662241f66e1d060.js +1 -0
- package/web/.next/{static/chunks/4535.665fc994dd695727.js → standalone/packages/web/.next/static/chunks/4535.bd6377f18f4a51d5.js} +1 -1
- package/web/.next/{static/chunks/7220-923dce07cd543b45.js → standalone/packages/web/.next/static/chunks/7220-d63d57f871f839bc.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/{9986.b060fb271bbeb200.js → 7605.278fa9614a1c4efc.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/9702-104645628acfc1ca.js +2 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-46a3ad20e3c8e755.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-57d33c4c3707824b.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-369d1dec5d800a96.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/{page-714da5ecea6df958.js → page-29a31a33d7781f11.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-d34bcf346c9c3de3.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/css/2491f1d58201cc2c.css +3 -0
- package/web/.next/static/chunks/1265.20ac5c99aa952ab3.js +1 -0
- package/web/.next/static/chunks/1874.4cbce11be5d46d0e.js +1 -0
- package/web/.next/static/chunks/2148.352a0da16e29c3bb.js +1 -0
- package/web/.next/static/chunks/{2228.bf1d2dd63a2ba8de.js → 2228.810adbeee03b4a23.js} +1 -1
- package/web/.next/{standalone/packages/web/.next/static/chunks/2452-dbb0e1dbd4032cd8.js → static/chunks/2452-c6e8306f50b6f426.js} +1 -1
- package/web/.next/static/chunks/4443.d662241f66e1d060.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/4535.665fc994dd695727.js → static/chunks/4535.bd6377f18f4a51d5.js} +1 -1
- package/web/.next/{standalone/packages/web/.next/static/chunks/7220-923dce07cd543b45.js → static/chunks/7220-d63d57f871f839bc.js} +1 -1
- package/web/.next/static/chunks/{9986.b060fb271bbeb200.js → 7605.278fa9614a1c4efc.js} +1 -1
- package/web/.next/static/chunks/9702-104645628acfc1ca.js +2 -0
- package/web/.next/static/chunks/app/bridge/connect/page-46a3ad20e3c8e755.js +1 -0
- package/web/.next/static/chunks/app/layout-57d33c4c3707824b.js +1 -0
- package/web/.next/static/chunks/app/page-369d1dec5d800a96.js +1 -0
- package/web/.next/static/chunks/app/sessions/[id]/{page-714da5ecea6df958.js → page-29a31a33d7781f11.js} +1 -1
- package/web/.next/static/chunks/webpack-d34bcf346c9c3de3.js +1 -0
- package/web/.next/static/css/2491f1d58201cc2c.css +3 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/2292.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/3156.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/5295.js +0 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/5744.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/8.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/1665-1eff15a246cfce80.js +0 -2
- package/web/.next/standalone/packages/web/.next/static/chunks/3023.439ce27f91df1b5a.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/370.cf0044df047e274d.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/4443.53d21f68649bb0e6.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/7605.080bde72544b6331.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/bridge/connect/page-3d4e68f832274494.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/layout-6a755760a1d90bd8.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-03f40f7533deab29.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-56c6a44c66d39a63.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/css/ff1593e9d59f639a.css +0 -3
- package/web/.next/static/chunks/1665-1eff15a246cfce80.js +0 -2
- package/web/.next/static/chunks/3023.439ce27f91df1b5a.js +0 -1
- package/web/.next/static/chunks/370.cf0044df047e274d.js +0 -1
- package/web/.next/static/chunks/4443.53d21f68649bb0e6.js +0 -1
- package/web/.next/static/chunks/7605.080bde72544b6331.js +0 -1
- package/web/.next/static/chunks/app/bridge/connect/page-3d4e68f832274494.js +0 -1
- package/web/.next/static/chunks/app/layout-6a755760a1d90bd8.js +0 -1
- package/web/.next/static/chunks/app/page-03f40f7533deab29.js +0 -1
- package/web/.next/static/chunks/webpack-56c6a44c66d39a63.js +0 -1
- package/web/.next/static/css/ff1593e9d59f639a.css +0 -3
- /package/web/.next/standalone/packages/web/.next/static/{kCxrnGINOuGYK0ANNzpEj → oa6NzdUf5LtEvDx8sDVkE}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{kCxrnGINOuGYK0ANNzpEj → oa6NzdUf5LtEvDx8sDVkE}/_ssgManifest.js +0 -0
- /package/web/.next/static/{kCxrnGINOuGYK0ANNzpEj → oa6NzdUf5LtEvDx8sDVkE}/_buildManifest.js +0 -0
- /package/web/.next/static/{kCxrnGINOuGYK0ANNzpEj → oa6NzdUf5LtEvDx8sDVkE}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
@font-face{font-family:Tomorrow;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/2d411165791def1a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Tomorrow;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/241edd36d2933bcd-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Tomorrow Fallback;src:local("Arial");ascent-override:93.46%;descent-override:18.69%;line-gap-override:0.00%;size-adjust:107.00%}.__className_086f30{font-family:Tomorrow,Tomorrow Fallback;font-weight:700;font-style:normal}.__variable_086f30{--font-tomorrow:"Tomorrow","Tomorrow Fallback"}@font-face{font-family:Orbitron;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9a4ee768fed045da-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Orbitron;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9a4ee768fed045da-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Orbitron Fallback;src:local("Arial");ascent-override:81.50%;descent-override:19.59%;line-gap-override:0.00%;size-adjust:124.05%}.__className_be41e9{font-family:Orbitron,Orbitron Fallback;font-style:normal}.__variable_be41e9{--font-brand-display:"Orbitron","Orbitron Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}@font-face{font-family:GeistSans;src:url(/_next/static/media/27834908180db20f-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_245d8d{font-family:GeistSans,GeistSans Fallback}.__variable_245d8d{--font-geist-sans:"GeistSans","GeistSans Fallback"}
|
|
2
|
+
|
|
3
|
+
/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--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-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-scroll-snap-strictness:proximity;--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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:var(--font-geist-sans);--font-mono:var(--font-geist-mono);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-orange-500:oklch(70.5% .213 47.604);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-rose-300:oklch(81% .117 11.638);--color-rose-400:oklch(71.2% .194 13.428);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:3px;--radius-sm:3px;--radius-md:4px;--radius-lg:6px;--radius-xl:.75rem;--radius-2xl:1rem;--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;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer clerk,components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-\[2px\]{inset:2px}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.right-\[18px\]{right:18px}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.left-\[var\(--workspace-sidebar-width\)\]{left:var(--workspace-sidebar-width)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[5\]{z-index:5}.z-\[70\]{z-index:70}.z-\[75\]{z-index:75}.z-\[80\]{z-index:80}.z-\[85\]{z-index:85}.z-\[90\]{z-index:90}.z-\[95\]{z-index:95}.z-\[120\]{z-index:120}.-mx-0\.5{margin-inline:calc(var(--spacing) * -.5)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.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-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.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}.h-1{height:calc(var(--spacing) * 1)}.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-11{height:calc(var(--spacing) * 11)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-32{height:calc(var(--spacing) * 32)}.h-64{height:calc(var(--spacing) * 64)}.h-\[3px\]{height:3px}.h-\[6px\]{height:6px}.h-\[10px\]{height:10px}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[16px\]{height:16px}.h-\[18px\]{height:18px}.h-\[20px\]{height:20px}.h-\[22px\]{height:22px}.h-\[24px\]{height:24px}.h-\[25px\]{height:25px}.h-\[28px\]{height:28px}.h-\[29px\]{height:29px}.h-\[31px\]{height:31px}.h-\[33px\]{height:33px}.h-\[38px\]{height:38px}.h-\[56vh\]{height:56vh}.h-\[100dvh\]{height:100dvh}.h-\[180px\]{height:180px}.h-\[200px\]{height:200px}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[260px\]{max-height:260px}.max-h-\[280px\]{max-height:280px}.max-h-\[320px\]{max-height:320px}.max-h-\[620px\]{max-height:620px}.max-h-\[calc\(100dvh-1\.5rem\)\]{max-height:calc(100dvh - 1.5rem)}.max-h-\[min\(42dvh\,340px\)\]{max-height:min(42dvh,340px)}.max-h-\[min\(360px\,50vh\)\]{max-height:min(360px,50vh)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[24px\]{min-height:24px}.min-h-\[29px\]{min-height:29px}.min-h-\[32px\]{min-height:32px}.min-h-\[34px\]{min-height:34px}.min-h-\[38px\]{min-height:38px}.min-h-\[40px\]{min-height:40px}.min-h-\[42px\]{min-height:42px}.min-h-\[44px\]{min-height:44px}.min-h-\[100dvh\]{min-height:100dvh}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-\[240px\]{min-height:240px}.min-h-\[360px\]{min-height:360px}.min-h-\[420px\]{min-height:420px}.min-h-\[560px\]{min-height:560px}.min-h-dvh{min-height:100dvh}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.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-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-\[6px\]{width:6px}.w-\[10px\]{width:10px}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[16px\]{width:16px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[24px\]{width:24px}.w-\[25px\]{width:25px}.w-\[29px\]{width:29px}.w-\[85vw\]{width:85vw}.w-\[168px\]{width:168px}.w-\[320px\]{width:320px}.w-\[min\(calc\(100vw-1\.5rem\)\,24rem\)\]{width:min(100vw - 1.5rem,24rem)}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[14ch\]{max-width:14ch}.max-w-\[40vw\]{max-width:40vw}.max-w-\[70vw\]{max-width:70vw}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-\[260px\]{max-width:260px}.max-w-\[320px\]{max-width:320px}.max-w-\[380px\]{max-width:380px}.max-w-\[560px\]{max-width:560px}.max-w-\[760px\]{max-width:760px}.max-w-\[768px\]{max-width:768px}.max-w-\[880px\]{max-width:880px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-\[calc\(100vw-32px\)\]{max-width:calc(100vw - 32px)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[28px\]{min-width:28px}.min-w-\[120px\]{min-width:120px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[280px\]{min-width:280px}.min-w-\[320px\]{min-width:320px}.min-w-\[480px\]{min-width:480px}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1)}.-translate-x-1\/2,.-translate-x-full{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0)}.-translate-y-1\/2,.translate-x-0{translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[activity-pulse_2s_ease-in-out_infinite\]{animation:activity-pulse 2s ease-in-out infinite}.animate-\[slide-up_0\.15s_ease\]{animation:slide-up .15s}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.touch-pan-x{--tw-pan-x:pan-x}.touch-pan-x,.touch-pan-y{touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.touch-pan-y{--tw-pan-y:pan-y}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-center{scroll-snap-align:center}.snap-start{scroll-snap-align:start}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[2\.5rem_minmax\(0\,1fr\)_2\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem minmax(0,1fr)}.grid-cols-\[2rem_2rem_1rem_minmax\(0\,1fr\)\]{grid-template-columns:2rem 2rem 1rem minmax(0,1fr)}.grid-rows-\[minmax\(10rem\,14rem\)_minmax\(0\,1fr\)\]{grid-template-rows:minmax(10rem,14rem) minmax(0,1fr)}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-\[4px\]{gap:4px}.gap-\[6px\]{gap:6px}: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-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-0{column-gap:calc(var(--spacing) * 0)}.gap-x-1{column-gap:calc(var(--spacing) * 1)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[0\.2rem\]{border-radius:.2rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[3\.5px\]{border-radius:3.5px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[10px\]{border-radius:10px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[24px\]{border-radius:24px}.rounded-\[999px\]{border-radius:999px}.rounded-\[inherit\]{border-radius:inherit}.rounded-\[var\(--radius-lg\)\]{border-radius:var(--radius-lg)}.rounded-\[var\(--radius-md\)\]{border-radius:var(--radius-md)}.rounded-\[var\(--radius-sm\)\]{border-radius:var(--radius-sm)}.rounded-\[var\(--radius-xs\)\]{border-radius:var(--radius-xs)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[color\:color-mix\(in_srgb\,var\(--status-error\)_45\%\,transparent\)\]{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--status-error\)_45\%\,transparent\)\]{border-color:color-mix(in srgb,var(--status-error) 45%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_35\%\,transparent\)\]{border-color:var(--vk-green)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_35\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-green) 35%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_28\%\,transparent\)\]{border-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_28\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-orange) 28%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_34\%\,transparent\)\]{border-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_34\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-orange) 34%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_28\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_28\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 28%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_30\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_30\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 30%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_35\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_35\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 35%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_45\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_45\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 45%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,transparent\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,transparent\)\]{border-color:color-mix(in srgb,var(--vk-red) 55%,transparent)}}.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,var\(--vk-border\)\)\]{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_55\%\,var\(--vk-border\)\)\]{border-color:color-mix(in srgb,var(--vk-red) 55%,var(--vk-border))}}.border-\[rgba\(24\,197\,143\,0\.32\)\]{border-color:#18c58f52}.border-\[rgba\(24\,197\,143\,0\.35\)\]{border-color:#18c58f59}.border-\[rgba\(60\,131\,246\,0\.35\)\]{border-color:#3c83f659}.border-\[rgba\(84\,176\,79\,0\.35\)\]{border-color:#54b04f59}.border-\[rgba\(108\,168\,255\,0\.35\)\]{border-color:#6ca8ff59}.border-\[rgba\(143\,143\,143\,0\.35\)\]{border-color:#8f8f8f59}.border-\[rgba\(210\,81\,81\,0\.35\)\]{border-color:#d2515159}.border-\[rgba\(210\,160\,59\,0\.35\)\]{border-color:#d2a03b59}.border-\[rgba\(234\,122\,42\,0\.28\)\]{border-color:#ea7a2a47}.border-\[rgba\(239\,68\,68\,0\.3\)\]{border-color:#ef44444d}.border-\[rgba\(255\,143\,122\,0\.24\)\]{border-color:#ff8f7a3d}.border-\[rgba\(255\,143\,122\,0\.25\)\]{border-color:#ff8f7a40}.border-\[rgba\(255\,180\,92\,0\.28\)\]{border-color:#ffb45c47}.border-\[rgba\(255\,255\,255\,0\.05\)\]{border-color:#ffffff0d}.border-\[rgba\(255\,255\,255\,0\.08\)\]{border-color:#ffffff14}.border-\[transparent\]{border-color:#0000}.border-\[var\(--border-soft\)\]{border-color:var(--border-soft)}.border-\[var\(--border-strong\)\]{border-color:var(--border-strong)}.border-\[var\(--color-accent\)\]{border-color:var(--color-accent)}.border-\[var\(--color-border-default\)\]{border-color:var(--color-border-default)}.border-\[var\(--color-border-subtle\)\]{border-color:var(--color-border-subtle)}.border-\[var\(--status-error\)\]\/30{border-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--status-error\)\]\/30{border-color:color-mix(in oklab,var(--status-error) 30%,transparent)}}.border-\[var\(--vk-border\)\]{border-color:var(--vk-border)}.border-\[var\(--vk-orange\)\]{border-color:var(--vk-orange)}.border-\[var\(--vk-red\)\],.border-\[var\(--vk-red\)\]\/35{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--vk-red\)\]\/35{border-color:color-mix(in oklab,var(--vk-red) 35%,transparent)}}.border-\[var\(--vk-red\)\]\/40{border-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--vk-red\)\]\/40{border-color:color-mix(in oklab,var(--vk-red) 40%,transparent)}}.border-amber-400\/30{border-color:#fcbb004d}@supports (color:color-mix(in lab,red,red)){.border-amber-400\/30{border-color:color-mix(in oklab,var(--color-amber-400) 30%,transparent)}}.border-amber-500\/20{border-color:#f99c0033}@supports (color:color-mix(in lab,red,red)){.border-amber-500\/20{border-color:color-mix(in oklab,var(--color-amber-500) 20%,transparent)}}.border-emerald-400\/35{border-color:#00d29459}@supports (color:color-mix(in lab,red,red)){.border-emerald-400\/35{border-color:color-mix(in oklab,var(--color-emerald-400) 35%,transparent)}}.border-red-400\/35{border-color:#ff656859}@supports (color:color-mix(in lab,red,red)){.border-red-400\/35{border-color:color-mix(in oklab,var(--color-red-400) 35%,transparent)}}.border-red-500\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab,red,red)){.border-red-500\/40{border-color:color-mix(in oklab,var(--color-red-500) 40%,transparent)}}.border-transparent{border-color:#0000}.border-white\/6{border-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.border-white\/6{border-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.border-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.border-white\/8{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab,red,red)){.border-white\/12{border-color:color-mix(in oklab,var(--color-white) 12%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-\[var\(--status-working\)\]{border-left-color:var(--status-working)}.border-l-transparent{border-left-color:#0000}.bg-\[\#0c0808\]{background-color:#0c0808}.bg-\[\#0d0908\]{background-color:#0d0908}.bg-\[\#1c1a19\]{background-color:#1c1a19}.bg-\[\#3c83f6\]{background-color:#3c83f6}.bg-\[\#111\]{background-color:#111}.bg-\[\#060404\]{background-color:#060404}.bg-\[\#060404\]\/84{background-color:oklab(11.1012% .00545438 .00177752/.84)}.bg-\[\#101010\]{background-color:#101010}.bg-\[\#141010\]\/92{background-color:oklab(17.8024% .00638092 .00204849/.92)}.bg-\[\#161212\]{background-color:#161212}.bg-\[\#201818\]{background-color:#201818}.bg-\[color\:\#292929\]{background-color:#292929}.bg-\[color\:color-mix\(in_srgb\,var\(--border-strong\)_75\%\,transparent\)\]{background-color:var(--border-strong)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--border-strong\)_75\%\,transparent\)\]{background-color:color-mix(in srgb,var(--border-strong) 75%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--status-error\)_10\%\,transparent\)\]{background-color:var(--status-error)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--status-error\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--status-error) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_86\%\,transparent\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_86\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 86%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_88\%\,transparent\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_88\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 88%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_92\%\,transparent\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_92\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 92%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_94\%\,black_6\%\)\]{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-bg-panel\)_94\%\,black_6\%\)\]{background-color:color-mix(in srgb,var(--vk-bg-panel) 94%,black 6%)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_10\%\,transparent\)\]{background-color:var(--vk-green)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-green\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-green) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_10\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_12\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_12\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 12%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_18\%\,transparent\)\]{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-orange\)_18\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-orange) 18%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_10\%\,transparent\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_10\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-red) 10%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,transparent\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_12\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-red) 12%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_18\%\,transparent\)\]{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_18\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-red) 18%,transparent)}}.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_36\%\,transparent\)\]{background-color:var(--vk-text-muted)}@supports (color:color-mix(in lab,red,red)){.bg-\[color\:color-mix\(in_srgb\,var\(--vk-text-muted\)_36\%\,transparent\)\]{background-color:color-mix(in srgb,var(--vk-text-muted) 36%,transparent)}}.bg-\[rgba\(0\,0\,0\,0\.08\)\]{background-color:#00000014}.bg-\[rgba\(0\,0\,0\,0\.12\)\]{background-color:#0000001f}.bg-\[rgba\(0\,0\,0\,0\.14\)\]{background-color:#00000024}.bg-\[rgba\(0\,0\,0\,0\.18\)\]{background-color:#0000002e}.bg-\[rgba\(15\,15\,15\,0\.52\)\]{background-color:#0f0f0f85}.bg-\[rgba\(15\,15\,15\,0\.72\)\]{background-color:#0f0f0fb8}.bg-\[rgba\(23\,25\,30\,0\.96\)\]{background-color:#17191ef5}.bg-\[rgba\(24\,197\,143\,0\.08\)\]{background-color:#18c58f14}.bg-\[rgba\(24\,197\,143\,0\.12\)\]{background-color:#18c58f1f}.bg-\[rgba\(28\,28\,28\,0\.8\)\]{background-color:#1c1c1ccc}.bg-\[rgba\(60\,131\,246\,0\.12\)\]{background-color:#3c83f61f}.bg-\[rgba\(80\,80\,80\,0\.18\)\]{background-color:#5050502e}.bg-\[rgba\(84\,176\,79\,0\.08\)\]{background-color:#54b04f14}.bg-\[rgba\(84\,176\,79\,0\.12\)\]{background-color:#54b04f1f}.bg-\[rgba\(108\,168\,255\,0\.08\)\]{background-color:#6ca8ff14}.bg-\[rgba\(143\,143\,143\,0\.10\)\]{background-color:#8f8f8f1a}.bg-\[rgba\(163\,113\,247\,0\.15\)\]{background-color:#a371f726}.bg-\[rgba\(210\,81\,81\,0\.08\)\]{background-color:#d2515114}.bg-\[rgba\(210\,81\,81\,0\.12\)\]{background-color:#d251511f}.bg-\[rgba\(210\,160\,59\,0\.08\)\]{background-color:#d2a03b14}.bg-\[rgba\(234\,122\,42\,0\.1\)\]{background-color:#ea7a2a1a}.bg-\[rgba\(234\,122\,42\,0\.06\)\]{background-color:#ea7a2a0f}.bg-\[rgba\(234\,122\,42\,0\.08\)\]{background-color:#ea7a2a14}.bg-\[rgba\(234\,122\,42\,0\.12\)\]{background-color:#ea7a2a1f}.bg-\[rgba\(245\,158\,11\,0\.1\)\]{background-color:#f59e0b1a}.bg-\[rgba\(255\,143\,122\,0\.08\)\]{background-color:#ff8f7a14}.bg-\[rgba\(255\,180\,92\,0\.10\)\]{background-color:#ffb45c1a}.bg-\[rgba\(255\,255\,255\,0\.1\)\]{background-color:#ffffff1a}.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\.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\(--bg-canvas\)\]{background-color:var(--bg-canvas)}.bg-\[var\(--bg-muted\)\]{background-color:var(--bg-muted)}.bg-\[var\(--bg-panel\)\]{background-color:var(--bg-panel)}.bg-\[var\(--bg-shell\)\]{background-color:var(--bg-shell)}.bg-\[var\(--border-soft\)\]{background-color:var(--border-soft)}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-accent-subtle\)\]{background-color:var(--color-accent-subtle)}.bg-\[var\(--color-bg-base\)\]{background-color:var(--color-bg-base)}.bg-\[var\(--color-bg-elevated\)\]{background-color:var(--color-bg-elevated)}.bg-\[var\(--status-error\)\]{background-color:var(--status-error)}.bg-\[var\(--status-idle\)\]{background-color:var(--status-idle)}.bg-\[var\(--status-ready\)\]{background-color:var(--status-ready)}.bg-\[var\(--status-working\)\]{background-color:var(--status-working)}.bg-\[var\(--vk-bg-active\)\]{background-color:var(--vk-bg-active)}.bg-\[var\(--vk-bg-hover\)\]{background-color:var(--vk-bg-hover)}.bg-\[var\(--vk-bg-main\)\]{background-color:var(--vk-bg-main)}.bg-\[var\(--vk-bg-panel\)\],.bg-\[var\(--vk-bg-panel\)\]\/70{background-color:var(--vk-bg-panel)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-bg-panel\)\]\/70{background-color:color-mix(in oklab,var(--vk-bg-panel) 70%,transparent)}}.bg-\[var\(--vk-bg-surface\)\]{background-color:var(--vk-bg-surface)}.bg-\[var\(--vk-border\)\]{background-color:var(--vk-border)}.bg-\[var\(--vk-green\)\]{background-color:var(--vk-green)}.bg-\[var\(--vk-orange\)\],.bg-\[var\(--vk-orange\)\]\/10{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-orange\)\]\/10{background-color:color-mix(in oklab,var(--vk-orange) 10%,transparent)}}.bg-\[var\(--vk-orange\)\]\/12{background-color:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-orange\)\]\/12{background-color:color-mix(in oklab,var(--vk-orange) 12%,transparent)}}.bg-\[var\(--vk-red\)\],.bg-\[var\(--vk-red\)\]\/10{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--vk-red\)\]\/10{background-color:color-mix(in oklab,var(--vk-red) 10%,transparent)}}.bg-\[var\(--vk-text-muted\)\]{background-color:var(--vk-text-muted)}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-400\/10{background-color:#fcbb001a}@supports (color:color-mix(in lab,red,red)){.bg-amber-400\/10{background-color:color-mix(in oklab,var(--color-amber-400) 10%,transparent)}}.bg-amber-500\/8{background-color:#f99c0014}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/8{background-color:color-mix(in oklab,var(--color-amber-500) 8%,transparent)}}.bg-black\/45{background-color:#00000073}@supports (color:color-mix(in lab,red,red)){.bg-black\/45{background-color:color-mix(in oklab,var(--color-black) 45%,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-black\/65{background-color:#000000a6}@supports (color:color-mix(in lab,red,red)){.bg-black\/65{background-color:color-mix(in oklab,var(--color-black) 65%,transparent)}}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab,red,red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black) 70%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500) 10%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-400\/10{background-color:#00d2941a}@supports (color:color-mix(in lab,red,red)){.bg-emerald-400\/10{background-color:color-mix(in oklab,var(--color-emerald-400) 10%,transparent)}}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-red-400{background-color:var(--color-red-400)}.bg-red-400\/10{background-color:#ff65681a}@supports (color:color-mix(in lab,red,red)){.bg-red-400\/10{background-color:color-mix(in oklab,var(--color-red-400) 10%,transparent)}}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500) 10%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/4{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.bg-white\/4{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_88\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_76\%\,transparent\)\)\]{background-image:linear-gradient(135deg,var(--bg-panel),var(--bg-surface))}@supports (color:color-mix(in lab,red,red)){.bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_88\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_76\%\,transparent\)\)\]{background-image:linear-gradient(135deg,color-mix(in srgb,var(--bg-panel) 88%,transparent),color-mix(in srgb,var(--bg-surface) 76%,transparent))}}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.03\)\,rgba\(255\,255\,255\,0\)\)\]{background-image:linear-gradient(#ffffff08,#fff0)}.bg-\[linear-gradient\(180deg\,rgba\(255\,255\,255\,0\.05\)\,rgba\(255\,255\,255\,0\.02\)\)\]{background-image:linear-gradient(#ffffff0d,#ffffff05)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing) * 0)}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.p-\[1px\],.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing) * 0)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.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-\[8px\]{padding-inline:8px}.px-\[9px\]{padding-inline:9px}.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-7{padding-block:calc(var(--spacing) * 7)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-9{padding-block:calc(var(--spacing) * 9)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-\[5px\]{padding-block:5px}.py-\[6\.5px\]{padding-block:6.5px}.\[padding-top\:env\(safe-area-inset-top\)\]{padding-top:env(safe-area-inset-top)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.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-4{padding-top:calc(var(--spacing) * 4)}.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-16{padding-right:calc(var(--spacing) * 16)}.pr-\[env\(safe-area-inset-right\)\]{padding-right:env(safe-area-inset-right)}.\[padding-bottom\:env\(safe-area-inset-bottom\)\]{padding-bottom:env(safe-area-inset-bottom)}.pb-0{padding-bottom:calc(var(--spacing) * 0)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-\[9px\]{padding-bottom:9px}.pb-\[calc\(0\.75rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(.75rem + env(safe-area-inset-bottom))}.pl-7{padding-left:calc(var(--spacing) * 7)}.pl-10{padding-left:calc(var(--spacing) * 10)}.pl-14{padding-left:calc(var(--spacing) * 14)}.pl-\[env\(safe-area-inset-left\)\]{padding-left:env(safe-area-inset-left)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.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-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[30px\]{font-size:30px}.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-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[16px\]{--tw-leading:16px;line-height:16px}.leading-\[17px\]{--tw-leading:17px;line-height:17px}.leading-\[18px\]{--tw-leading:18px;line-height:18px}.leading-\[20px\]{--tw-leading:20px;line-height:20px}.leading-\[21px\]{--tw-leading:21px;line-height:21px}.leading-\[22px\]{--tw-leading:22px;line-height:22px}.leading-\[24px\]{--tw-leading:24px;line-height:24px}.leading-\[26px\]{--tw-leading:26px;line-height:26px}.leading-\[34px\]{--tw-leading:34px;line-height:34px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.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-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.tracking-\[-0\.7px\]{--tw-tracking:-.7px;letter-spacing:-.7px}.tracking-\[0\.01em\]{--tw-tracking:.01em;letter-spacing:.01em}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.32em\]{--tw-tracking:.32em;letter-spacing:.32em}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#4e87f3\]{color:#4e87f3}.text-\[\#8b5cf6\]{color:#8b5cf6}.text-\[\#8db8ff\]{color:#8db8ff}.text-\[\#8e847d\]{color:#8e847d}.text-\[\#18c58f\]{color:#18c58f}.text-\[\#22a3f5\]{color:#22a3f5}.text-\[\#111111\]{color:#111}.text-\[\#a79c94\]{color:#a79c94}.text-\[\#c9c0b7\]{color:#c9c0b7}.text-\[\#d7c6b7\]{color:#d7c6b7}.text-\[\#efe8e1\]{color:#efe8e1}.text-\[\#f3efea\]{color:#f3efea}.text-\[\#f26d6d\]{color:#f26d6d}.text-\[\#ff8f7a\]{color:#ff8f7a}.text-\[\#ffb39e\]{color:#ffb39e}.text-\[\#ffd089\]{color:#ffd089}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-accent-violet\)\]{color:var(--color-accent-violet)}.text-\[var\(--color-status-attention\)\]{color:var(--color-status-attention)}.text-\[var\(--color-status-error\)\]{color:var(--color-status-error)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--color-text-tertiary\)\]{color:var(--color-text-tertiary)}.text-\[var\(--status-attention\)\]{color:var(--status-attention)}.text-\[var\(--status-error\)\]{color:var(--status-error)}.text-\[var\(--status-ready\)\]{color:var(--status-ready)}.text-\[var\(--status-working\)\]{color:var(--status-working)}.text-\[var\(--text-faint\)\]{color:var(--text-faint)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-normal\)\]{color:var(--text-normal)}.text-\[var\(--text-strong\)\]{color:var(--text-strong)}.text-\[var\(--vk-green\)\]{color:var(--vk-green)}.text-\[var\(--vk-orange\)\]{color:var(--vk-orange)}.text-\[var\(--vk-red\)\]{color:var(--vk-red)}.text-\[var\(--vk-text-faint\)\]{color:var(--vk-text-faint)}.text-\[var\(--vk-text-muted\)\]{color:var(--vk-text-muted)}.text-\[var\(--vk-text-normal\)\]{color:var(--vk-text-normal)}.text-\[var\(--vk-text-strong\)\]{color:var(--vk-text-strong)}.text-amber-100{color:var(--color-amber-100)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400\/70{color:#fcbb00b3}@supports (color:color-mix(in lab,red,red)){.text-amber-400\/70{color:color-mix(in oklab,var(--color-amber-400) 70%,transparent)}}.text-black{color:var(--color-black)}.text-current\/70{color:currentColor}@supports (color:color-mix(in lab,red,red)){.text-current\/70{color:color-mix(in oklab,currentcolor 70%,transparent)}}.text-emerald-100{color:var(--color-emerald-100)}.text-emerald-400{color:var(--color-emerald-400)}.text-red-100{color:var(--color-red-100)}.text-red-200{color:var(--color-red-200)}.text-red-400{color:var(--color-red-400)}.text-rose-300{color:var(--color-rose-300)}.text-rose-400{color:var(--color-rose-400)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.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,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-\[var\(--color-text-muted\)\]::placeholder{color:var(--color-text-muted)}.accent-\[var\(--vk-orange\)\]{accent-color:var(--vk-orange)}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#0003)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.2\)\],.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.5\)\]{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_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#00000080)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#00000040)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.25\)\],.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.24\)\]{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_10px_24px_rgba\(0\,0\,0\,0\.24\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,#0000003d)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 10px 24px var(--tw-shadow-color,#00000047)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.28\)\]{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_10px_30px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 10px 30px var(--tw-shadow-color,#00000047)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 16px 40px var(--tw-shadow-color,#00000059)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.35\)\],.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.2\)\]{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_18px_36px_rgba\(0\,0\,0\,0\.2\)\]{--tw-shadow:0 18px 36px var(--tw-shadow-color,#0003)}.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 18px 36px var(--tw-shadow-color,#00000047)}.shadow-\[0_18px_36px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_18px_40px_rgba\(0\,0\,0\,0\.24\)\]{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_18px_40px_rgba\(0\,0\,0\,0\.24\)\]{--tw-shadow:0 18px 40px var(--tw-shadow-color,#0000003d)}.shadow-\[0_18px_40px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 18px 40px var(--tw-shadow-color,#00000047)}.shadow-\[0_18px_40px_rgba\(0\,0\,0\,0\.28\)\],.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.18\)\]{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_18px_50px_rgba\(0\,0\,0\,0\.18\)\]{--tw-shadow:0 18px 50px var(--tw-shadow-color,#0000002e)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow:0 18px 50px var(--tw-shadow-color,#00000059)}.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.35\)\],.shadow-\[0_18px_50px_rgba\(0\,0\,0\,0\.45\)\]{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_18px_50px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 18px 50px var(--tw-shadow-color,#00000073)}.shadow-\[0_20px_44px_rgba\(0\,0\,0\,0\.42\)\]{--tw-shadow:0 20px 44px var(--tw-shadow-color,#0000006b)}.shadow-\[0_20px_44px_rgba\(0\,0\,0\,0\.42\)\],.shadow-\[0_22px_48px_rgba\(0\,0\,0\,0\.34\)\]{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_22px_48px_rgba\(0\,0\,0\,0\.34\)\]{--tw-shadow:0 22px 48px var(--tw-shadow-color,#00000057)}.shadow-\[0_24px_48px_rgba\(0\,0\,0\,0\.34\)\]{--tw-shadow:0 24px 48px var(--tw-shadow-color,#00000057)}.shadow-\[0_24px_48px_rgba\(0\,0\,0\,0\.34\)\],.shadow-\[0_24px_80px_rgba\(0\,0\,0\,0\.55\)\]{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_24px_80px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow:0 24px 80px var(--tw-shadow-color,#0000008c)}.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow:0 28px 80px var(--tw-shadow-color,#0006)}.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.45\)\],.shadow-\[0_28px_80px_rgba\(0\,0\,0\,0\.4\)\]{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_28px_80px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 28px 80px var(--tw-shadow-color,#00000073)}.shadow-\[0_28px_90px_rgba\(0\,0\,0\,0\.55\)\]{--tw-shadow:0 28px 90px var(--tw-shadow-color,#0000008c)}.shadow-\[0_28px_90px_rgba\(0\,0\,0\,0\.55\)\],.shadow-\[var\(--shadow-soft\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[var\(--shadow-soft\)\]{--tw-shadow:var(--shadow-soft)}.shadow-none{--tw-shadow:0 0 #0000}.ring,.shadow-none{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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-sm{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.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-\[transform\,width\]{transition-property:transform,width;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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[contain-intrinsic-size\:82px\]{contain-intrinsic-size:82px}.\[contain-intrinsic-size\:92px\]{contain-intrinsic-size:92px}.\[contain-intrinsic-size\:104px\]{contain-intrinsic-size:104px}.\[contain-intrinsic-size\:240px\]{contain-intrinsic-size:240px}.\[content-visibility\:auto\]{content-visibility:auto}.\[scrollbar-width\:none\]{scrollbar-width:none}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.marker\:hidden ::marker{display:none}.marker\:hidden::marker{display:none}.marker\:hidden ::-webkit-details-marker,.marker\:hidden::-webkit-details-marker{display:none}.placeholder\:text-\[\#7d746e\]::placeholder{color:#7d746e}.placeholder\:text-\[var\(--text-faint\)\]::placeholder{color:var(--text-faint)}.placeholder\:text-\[var\(--vk-text-muted\)\]::placeholder{color:var(--vk-text-muted)}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-\[var\(--color-border-strong\)\]:hover{border-color:var(--color-border-strong)}.hover\:border-\[var\(--vk-border\)\]:hover{border-color:var(--vk-border)}.hover\:bg-\[\#201818\]:hover{background-color:#201818}.hover\:bg-\[\#f4f4f5\]:hover{background-color:#f4f4f5}.hover\:bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_24\%\,transparent\)\]:hover{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[color\:color-mix\(in_srgb\,var\(--vk-red\)_24\%\,transparent\)\]:hover{background-color:color-mix(in srgb,var(--vk-red) 24%,transparent)}}.hover\:bg-\[rgba\(239\,68\,68\,0\.08\)\]:hover{background-color:#ef444414}.hover\:bg-\[rgba\(255\,255\,255\,0\.06\)\]:hover{background-color:#ffffff0f}.hover\:bg-\[var\(--bg-panel-2\)\]:hover{background-color:var(--bg-panel-2)}.hover\:bg-\[var\(--border-strong\)\]:hover{background-color:var(--border-strong)}.hover\:bg-\[var\(--color-accent-subtle\)\]:hover{background-color:var(--color-accent-subtle)}.hover\:bg-\[var\(--vk-bg-active\)\]:hover{background-color:var(--vk-bg-active)}.hover\:bg-\[var\(--vk-bg-hover\)\]:hover{background-color:var(--vk-bg-hover)}.hover\:bg-\[var\(--vk-bg-panel\)\]:hover{background-color:var(--vk-bg-panel)}.hover\:bg-\[var\(--vk-border\)\]:hover{background-color:var(--vk-border)}.hover\:bg-\[var\(--vk-red\)\]\/10:hover{background-color:var(--vk-red)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--vk-red\)\]\/10:hover{background-color:color-mix(in oklab,var(--vk-red) 10%,transparent)}}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/3:hover{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/3:hover{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.hover\:bg-white\/4:hover{background-color:#ffffff0a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/4:hover{background-color:color-mix(in oklab,var(--color-white) 4%,transparent)}}.hover\:bg-white\/6:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/6:hover{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.hover\:bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_96\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_88\%\,transparent\)\)\]:hover{background-image:linear-gradient(135deg,var(--bg-panel),var(--bg-surface))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[linear-gradient\(135deg\,color-mix\(in_srgb\,var\(--bg-panel\)_96\%\,transparent\)\,color-mix\(in_srgb\,var\(--bg-surface\)_88\%\,transparent\)\)\]:hover{background-image:linear-gradient(135deg,color-mix(in srgb,var(--bg-panel) 96%,transparent),color-mix(in srgb,var(--bg-surface) 88%,transparent))}}.hover\:text-\[\#c9c0b7\]:hover{color:#c9c0b7}.hover\:text-\[\#fff8f2\]:hover{color:#fff8f2}.hover\:text-\[var\(--accent-hover\)\]:hover{color:var(--accent-hover)}.hover\:text-\[var\(--color-text-primary\)\]:hover{color:var(--color-text-primary)}.hover\:text-\[var\(--text-strong\)\]:hover{color:var(--text-strong)}.hover\:text-\[var\(--vk-red\)\]:hover{color:var(--vk-red)}.hover\:text-\[var\(--vk-text-normal\)\]:hover{color:var(--vk-text-normal)}.hover\:text-\[var\(--vk-text-strong\)\]:hover{color:var(--vk-text-strong)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}}.focus\:border-\[var\(--color-accent\)\]:focus{border-color:var(--color-accent)}.focus\:border-\[var\(--vk-orange\)\]:focus{border-color:var(--vk-orange)}.focus\:border-white\/20:focus{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.focus\:border-white\/20:focus{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.focus\:bg-\[rgba\(255\,255\,255\,0\.06\)\]:focus{background-color:#ffffff0f}.focus\:bg-\[var\(--vk-bg-hover\)\]:focus{background-color:var(--vk-bg-hover)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:ring-1:focus-visible{--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)}.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-\[var\(--vk-orange\)\]:focus-visible{--tw-ring-color:var(--vk-orange)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[\#111\]:focus-visible{--tw-ring-offset-color:#111}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:bg-white\/6:active{background-color:#ffffff0f}@supports (color:color-mix(in lab,red,red)){.active\:bg-white\/6:active{background-color:color-mix(in oklab,var(--color-white) 6%,transparent)}}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.data-\[state\=active\]\:bg-\[var\(--vk-bg-active\)\][data-state=active]{background-color:var(--vk-bg-active)}.data-\[state\=active\]\:text-\[var\(--vk-text-normal\)\][data-state=active]{color:var(--vk-text-normal)}.data-\[state\=inactive\]\:pointer-events-none[data-state=inactive]{pointer-events:none}.data-\[state\=inactive\]\:invisible[data-state=inactive]{visibility:hidden}.data-\[state\=inactive\]\:absolute[data-state=inactive]{position:absolute}.data-\[state\=inactive\]\:inset-0[data-state=inactive]{inset:calc(var(--spacing) * 0)}.data-\[state\=inactive\]\:opacity-0[data-state=inactive]{opacity:0}.data-\[state\=open\]\:bg-\[var\(--vk-bg-hover\)\][data-state=open]{background-color:var(--vk-bg-hover)}@media (min-width:40rem){.sm\:top-3{top:calc(var(--spacing) * 3)}.sm\:right-3{right:calc(var(--spacing) * 3)}.sm\:right-4{right:calc(var(--spacing) * 4)}.sm\:bottom-4{bottom:calc(var(--spacing) * 4)}.sm\:mx-0{margin-inline:calc(var(--spacing) * 0)}.sm\:ml-0{margin-left:calc(var(--spacing) * 0)}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-6{height:calc(var(--spacing) * 6)}.sm\:h-7{height:calc(var(--spacing) * 7)}.sm\:h-8{height:calc(var(--spacing) * 8)}.sm\:h-9{height:calc(var(--spacing) * 9)}.sm\:h-14{height:calc(var(--spacing) * 14)}.sm\:h-\[30px\]{height:30px}.sm\:h-\[31px\]{height:31px}.sm\:h-\[72vh\]{height:72vh}.sm\:h-\[260px\]{height:260px}.sm\:h-\[300px\]{height:300px}.sm\:h-\[min\(92vh\,760px\)\]{height:min(92vh,760px)}.sm\:h-auto{height:auto}.sm\:max-h-\[760px\]{max-height:760px}.sm\:max-h-\[calc\(100dvh-1\.5rem\)\]{max-height:calc(100dvh - 1.5rem)}.sm\:max-h-\[calc\(100dvh-3rem\)\]{max-height:calc(100dvh - 3rem)}.sm\:min-h-0{min-height:calc(var(--spacing) * 0)}.sm\:min-h-\[36px\]{min-height:36px}.sm\:min-h-\[220px\]{min-height:220px}.sm\:min-h-\[360px\]{min-height:360px}.sm\:w-6{width:calc(var(--spacing) * 6)}.sm\:w-7{width:calc(var(--spacing) * 7)}.sm\:w-8{width:calc(var(--spacing) * 8)}.sm\:w-9{width:calc(var(--spacing) * 9)}.sm\:w-\[220px\]{width:220px}.sm\:w-\[224px\]{width:224px}.sm\:w-\[240px\]{width:240px}.sm\:w-\[286px\]{width:286px}.sm\:w-\[320px\]{width:320px}.sm\:w-\[min\(90vw\,var\(--workspace-sidebar-width\)\)\]{width:min(90vw,var(--workspace-sidebar-width))}.sm\:w-auto{width:auto}.sm\:w-fit{width:fit-content}.sm\:w-full{width:100%}.sm\:max-w-\[28rem\]{max-width:28rem}.sm\:max-w-\[560px\]{max-width:560px}.sm\:max-w-\[860px\]{max-width:860px}.sm\:max-w-\[980px\]{max-width:980px}.sm\:max-w-\[1120px\]{max-width:1120px}.sm\:max-w-none{max-width:none}.sm\:min-w-\[200px\]{min-width:200px}.sm\:min-w-\[220px\]{min-width:220px}.sm\:min-w-\[280px\]{min-width:280px}.sm\:min-w-\[720px\]{min-width:720px}.sm\:flex-none{flex:none}.sm\:snap-none{scroll-snap-type:none}.sm\:snap-align-none{scroll-snap-align:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[4rem_4rem_1\.5rem_minmax\(0\,1fr\)\]{grid-template-columns:4rem 4rem 1.5rem minmax(0,1fr)}.sm\:grid-cols-\[4rem_minmax\(0\,1fr\)_4rem_minmax\(0\,1fr\)\]{grid-template-columns:4rem minmax(0,1fr) 4rem minmax(0,1fr)}.sm\:grid-rows-\[minmax\(14rem\,18rem\)_minmax\(0\,1fr\)\]{grid-template-rows:minmax(14rem,18rem) minmax(0,1fr)}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2{gap:calc(var(--spacing) * 2)}.sm\:gap-3{gap:calc(var(--spacing) * 3)}:where(.sm\: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)))}.sm\:overflow-auto{overflow:auto}.sm\:overflow-hidden{overflow:hidden}.sm\:rounded-\[6px\]{border-radius:6px}.sm\:rounded-\[10px\]{border-radius:10px}.sm\:border{border-style:var(--tw-border-style);border-width:1px}.sm\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.sm\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.sm\:p-3{padding:calc(var(--spacing) * 3)}.sm\:p-4{padding:calc(var(--spacing) * 4)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:p-8{padding:calc(var(--spacing) * 8)}.sm\:px-2{padding-inline:calc(var(--spacing) * 2)}.sm\:px-3{padding-inline:calc(var(--spacing) * 3)}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-5{padding-inline:calc(var(--spacing) * 5)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-0{padding-block:calc(var(--spacing) * 0)}.sm\:py-3{padding-block:calc(var(--spacing) * 3)}.sm\:py-4{padding-block:calc(var(--spacing) * 4)}.sm\:py-5{padding-block:calc(var(--spacing) * 5)}.sm\:py-6{padding-block:calc(var(--spacing) * 6)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:py-12{padding-block:calc(var(--spacing) * 12)}.sm\:py-16{padding-block:calc(var(--spacing) * 16)}.sm\:pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.sm\:pr-5{padding-right:calc(var(--spacing) * 5)}.sm\:pl-5{padding-left:calc(var(--spacing) * 5)}.sm\:text-center{text-align:center}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-\[12px\]{font-size:12px}.sm\:text-\[13px\]{font-size:13px}.sm\:text-\[14px\]{font-size:14px}.sm\:text-\[15px\]{font-size:15px}.sm\:text-\[27px\]{font-size:27px}.sm\:text-\[30px\]{font-size:30px}.sm\:text-\[36px\]{font-size:36px}.sm\:text-\[44px\]{font-size:44px}.sm\:leading-\[19px\]{--tw-leading:19px;line-height:19px}.sm\:leading-\[27px\]{--tw-leading:27px;line-height:27px}.sm\:leading-\[40px\]{--tw-leading:40px;line-height:40px}.sm\:tracking-\[-0\.9px\]{--tw-tracking:-.9px;letter-spacing:-.9px}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:64rem){.lg\:relative{position:relative}.lg\:left-auto{left:auto}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:inline-flex{display:inline-flex}.lg\:w-0{width:calc(var(--spacing) * 0)}.lg\:w-\[var\(--workspace-sidebar-width\)\]{width:var(--workspace-sidebar-width)}.lg\:w-auto{width:auto}.lg\:max-w-\[320px\]{max-width:320px}.lg\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-\[320px_minmax\(0\,1fr\)\]{grid-template-columns:320px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(0\,1\.08fr\)_minmax\(0\,0\.92fr\)\]{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.lg\:grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(290px\,0\.95fr\)\]{grid-template-columns:minmax(0,1.45fr) minmax(290px,.95fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.lg\:grid-cols-\[minmax\(0\,1fr\)_400px\]{grid-template-columns:minmax(0,1fr) 400px}.lg\:grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.lg\:justify-start{justify-content:flex-start}.lg\:gap-2{gap:calc(var(--spacing) * 2)}.lg\:overflow-hidden{overflow:hidden}.lg\:overflow-y-auto{overflow-y:auto}.lg\:rounded-\[14px\]{border-radius:14px}.lg\:border{border-style:var(--tw-border-style);border-width:1px}.lg\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.lg\:border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.lg\:border-b-0{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.lg\:border-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab,red,red)){.lg\:border-white\/8{border-color:color-mix(in oklab,var(--color-white) 8%,transparent)}}.lg\:border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.lg\:border-white\/10{border-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.lg\:p-3{padding:calc(var(--spacing) * 3)}.lg\:px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.lg\:px-3{padding-inline:calc(var(--spacing) * 3)}.lg\:pt-3{padding-top:calc(var(--spacing) * 3)}.lg\:pr-2{padding-right:calc(var(--spacing) * 2)}.lg\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.lg\:pb-1{padding-bottom:calc(var(--spacing) * 1)}.lg\:shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.04\)\]{--tw-shadow:inset 0 1px 0 var(--tw-shadow-color,#ffffff0a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:80rem){.xl\:col-span-1{grid-column:span 1/span 1}.xl\:h-\[360px\]{height:360px}.xl\:w-auto{width:auto}.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-\[220px_minmax\(0\,1fr\)\]{grid-template-columns:220px minmax(0,1fr)}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:justify-between{justify-content:space-between}.xl\:justify-end{justify-content:flex-end}}.\[\&_\.shiki\]\:\!bg-transparent .shiki{background-color:#0000!important}.\[\&_\.shiki\]\:p-0 .shiki{padding:calc(var(--spacing) * 0)}.\[\&_\.xterm\]\:h-full .xterm{height:100%}.\[\&_\.xterm\]\:w-full .xterm{width:100%}.\[\&_\.xterm\]\:px-1 .xterm{padding-inline:calc(var(--spacing) * 1)}.\[\&_\.xterm-screen\]\:h-full .xterm-screen{height:100%}.\[\&_\.xterm-screen\]\:w-full .xterm-screen{width:100%}.\[\&_\.xterm-scrollable-element\]\:overscroll-contain .xterm-scrollable-element{overscroll-behavior:contain}.\[\&_\.xterm-scrollable-element\]\:\[-webkit-overflow-scrolling\:touch\] .xterm-scrollable-element{-webkit-overflow-scrolling:touch}.\[\&_\.xterm-viewport\]\:overflow-y-auto .xterm-viewport{overflow-y:auto}.\[\&_\.xterm-viewport\]\:overscroll-contain .xterm-viewport{overscroll-behavior:contain}.\[\&_\.xterm-viewport\]\:\[-webkit-overflow-scrolling\:touch\] .xterm-viewport{-webkit-overflow-scrolling:touch}.\[\&_code\]\:text-\[11px\] code{font-size:11px}.\[\&_code\]\:leading-5 code{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.\[\&_pre\]\:\!bg-transparent pre{background-color:#0000!important}.\[\&_pre\]\:\!p-0 pre{padding:calc(var(--spacing) * 0)!important}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\[hidden\]\]\:block[hidden]{display:block}}:root{color-scheme:dark;--vk-bg-outer:#09090b;--vk-bg-main:#18181b;--vk-bg-panel:#111113;--vk-bg-hover:#27272a;--vk-bg-active:#3f3f46;--vk-border:#3f3f46;--vk-text-strong:#fafafa;--vk-text-normal:#d4d4d8;--vk-text-muted:#a1a1aa;--vk-orange:#a1a1aa;--vk-green:#54b04f;--vk-red:#d25151;--bg-canvas:var(--vk-bg-outer);--bg-shell:var(--vk-bg-main);--bg-surface:var(--vk-bg-main);--bg-panel:var(--vk-bg-panel);--bg-panel-2:var(--vk-bg-hover);--bg-muted:var(--vk-bg-active);--border-soft:var(--vk-border);--border-strong:#52525b;--text-strong:var(--vk-text-strong);--text-normal:var(--vk-text-normal);--text-muted:var(--vk-text-muted);--text-faint:#71717a;--text-inverse:#111;--accent:var(--vk-orange);--accent-hover:#d4d4d8;--accent-soft:var(--vk-orange)}@supports (color:color-mix(in lab,red,red)){:root{--accent-soft:color-mix(in srgb,var(--vk-orange) 18%,transparent)}}:root{--status-working:#6ca8ff;--status-ready:var(--vk-green);--status-attention:#d2a03b;--status-review:var(--vk-orange);--status-error:var(--vk-red);--status-idle:#a1a1aa;--shadow-card:none;--shadow-soft:none;--color-bg-base:var(--bg-canvas);--color-bg-surface:var(--bg-surface);--color-bg-elevated:var(--bg-panel);--color-bg-subtle:var(--bg-panel-2);--color-bg-secondary:var(--bg-muted);--color-border-subtle:var(--border-soft);--color-border-default:var(--border-soft);--color-border-strong:var(--border-strong);--color-text-primary:var(--text-strong);--color-text-secondary:var(--text-normal);--color-text-tertiary:var(--text-muted);--color-text-muted:var(--text-faint);--color-text-inverse:var(--text-inverse);--color-accent:var(--accent);--color-accent-hover:var(--accent-hover);--color-accent-subtle:var(--accent-soft);--color-status-working:var(--status-working);--color-status-ready:var(--status-ready);--color-status-attention:var(--status-attention);--color-status-error:var(--status-error);--color-status-idle:var(--status-idle);--color-status-done:var(--status-idle);--color-sidebar-bg:var(--bg-panel);--color-sidebar-border:var(--border-soft);--color-sidebar-hover:var(--vk-bg-hover);--color-sidebar-active:var(--accent-soft);--color-card-bg:var(--bg-panel);--color-card-bg-hover:var(--bg-panel-2);--color-card-border:var(--border-soft);--color-card-shadow:#0000}.light{color-scheme:dark}*{border-color:var(--border-soft)}body,html{min-height:100%}body{font-family:var(--font-sans),system-ui,sans-serif;color:var(--text-strong);background:linear-gradient(90deg,#09090b,#18181b);font-size:16px;line-height:1.4}.font-brand-display,.font-brand-header{font-family:var(--font-brand-display),var(--font-tomorrow),sans-serif}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}::selection{background:var(--accent-soft)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#3f3f46;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#52525b}.surface-card,.surface-panel{border:1px solid var(--border-soft);background:var(--bg-panel)}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--status-working) 40%,transparent)}70%,to{box-shadow:0 0 0 8px #0000}}@keyframes run-dot{0%,80%,to{opacity:.3;transform:scale(.72)}40%{opacity:1;transform:scale(1)}}.attention-glow{animation:pulse-ring 1.8s ease-out infinite}@media (max-width:767px){input,select,textarea{font-size:16px!important}}@media (pointer:coarse){.overflow-auto,.overflow-x-auto,.overflow-y-auto{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}}body,html{overflow-x:hidden}.conductor-auth-form .cl-formButtonPrimary{color:var(--text-strong)!important;font-weight:700!important}@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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exports.id=2292,exports.ids=[2292],exports.modules={14276:()=>{},14308:(a,b,c)=>{Promise.resolve().then(c.bind(c,3074)),Promise.resolve().then(c.bind(c,82099)),Promise.resolve().then(c.bind(c,6932)),Promise.resolve().then(c.bind(c,66185)),Promise.resolve().then(c.bind(c,87839)),Promise.resolve().then(c.bind(c,53759)),Promise.resolve().then(c.bind(c,90075)),Promise.resolve().then(c.bind(c,66504)),Promise.resolve().then(c.bind(c,46208))},17385:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"004ba612c05179728757e9047cafb891896c0ac7df":()=>d.y});var d=c(30254)},21503:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"0033146eb841be7ef96af9271921a3f29c9d71e1c2":()=>e.at,"00b650a3d50ca9e75ef5f73ce9c0c422415da4d3f4":()=>d.i,"00de905f104cf2a6a31fc65f3ffb9a7125a09b83ba":()=>e.AZ,"00e28fb2a5bfd4ac15b3ac7cef9c20495956f2f20c":()=>e.ai,"4024dd7b80111d7d25ab4a5331bf2df939c071a0d3":()=>e.ot,"4038909fa67e8f1da3dd93c87a946e140f8254a95e":()=>d.$});var d=c(35515),e=c(78113)},31194:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00de905f104cf2a6a31fc65f3ffb9a7125a09b83ba",d.callServer,void 0,d.findSourceMapURL,"detectKeylessEnvDriftAction")},36026:(a,b,c)=>{"use strict";function d(){let a=function(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString()}catch{return null}}(process.env.CONDUCTOR_BACKEND_URL);if(a)return a;let b=function(a){let b=a?.trim();if(!b)return null;let c=Number.parseInt(b,10);return!Number.isInteger(c)||c<1||c>65535?null:c}(process.env.CONDUCTOR_BACKEND_PORT);return null!==b?`http://127.0.0.1:${b}`:null}function e(){let a=d();if(!a)throw Error("Rust backend URL is not configured");return a}c.d(b,{B:()=>e,_:()=>d})},37806:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>g});var d=c(92692),e=c(71277);let f=(0,e.createContext)({theme:"dark",toggleTheme:()=>{}});function g({children:a}){let[b,c]=(0,e.useState)("dark"),h=(0,e.useCallback)(()=>{c(a=>{let b,c="dark"===a?"light":"dark";return localStorage.setItem("conductor-theme",c),(b=document.documentElement).classList.remove("dark","light"),b.classList.add(c),c})},[]);return(0,d.jsx)(f.Provider,{value:{theme:b,toggleTheme:h},children:a})}},43894:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>h});var d=c(92692),e=c(49588),f=c(71277),g=c(93544);let h=e.Kq;e.bL,e.l9,(0,f.forwardRef)(({className:a,sideOffset:b=8,...c},f)=>(0,d.jsx)(e.ZL,{children:(0,d.jsx)(e.UC,{ref:f,sideOffset:b,className:(0,g.cn)("z-50 rounded-[var(--radius-xs)] border border-[var(--border-strong)] bg-[var(--bg-panel)] px-2 py-1.5","text-[11px] text-[var(--text-normal)] shadow-[var(--shadow-soft)]","animate-in fade-in-0 zoom-in-95",a),...c})})).displayName="TooltipContent"},44164:(a,b,c)=>{Promise.resolve().then(c.bind(c,33996)),Promise.resolve().then(c.bind(c,16413)),Promise.resolve().then(c.bind(c,58002)),Promise.resolve().then(c.bind(c,19867)),Promise.resolve().then(c.bind(c,89833)),Promise.resolve().then(c.bind(c,99896)),Promise.resolve().then(c.bind(c,12589)),Promise.resolve().then(c.bind(c,37806)),Promise.resolve().then(c.bind(c,43894))},46208:(a,b,c)=>{"use strict";c.d(b,{TooltipProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipProvider() from the server but TooltipProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call Tooltip() from the server but Tooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","Tooltip"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipTrigger() from the server but TooltipTrigger is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipTrigger"),(0,d.registerClientReference)(function(){throw Error("Attempted to call TooltipContent() from the server but TooltipContent is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","TooltipContent"),(0,d.registerClientReference)(function(){throw Error("Attempted to call SimpleTooltip() from the server but SimpleTooltip is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ui/Tooltip.tsx","SimpleTooltip")},63302:(a,b,c)=>{"use strict";c.d(b,{y:()=>e});var d=c(85660);let e=(0,d.createServerReference)("004ba612c05179728757e9047cafb891896c0ac7df",d.callServer,void 0,d.findSourceMapURL,"invalidateCacheAction")},66504:(a,b,c)=>{"use strict";c.d(b,{ThemeProvider:()=>e});var d=c(30274);let e=(0,d.registerClientReference)(function(){throw Error("Attempted to call ThemeProvider() from the server but ThemeProvider is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","ThemeProvider");(0,d.registerClientReference)(function(){throw Error("Attempted to call useTheme() from the server but useTheme is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/conductor-oss/conductor-oss/packages/web/src/components/ThemeProvider.tsx","useTheme")},72567:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23))},78143:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23))},89257:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,25696,23)),Promise.resolve().then(c.t.bind(c,69411,23)),Promise.resolve().then(c.t.bind(c,8447,23)),Promise.resolve().then(c.t.bind(c,50674,23)),Promise.resolve().then(c.t.bind(c,78886,23)),Promise.resolve().then(c.t.bind(c,24194,23)),Promise.resolve().then(c.t.bind(c,93431,23)),Promise.resolve().then(c.bind(c,23858))},91946:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e});var d=c(42131);let e=async a=>[{type:"image/svg+xml",sizes:"any",url:(0,d.fillMetadataSegment)(".",await a.params,"icon.svg",!0)+"?270c676221766b43"}]},93544:(a,b,c)=>{"use strict";c.d(b,{cn:()=>f});var d=c(9537),e=c(43165);function f(...a){return(0,e.QP)((0,d.$)(a))}},95235:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>x,metadata:()=>u,viewport:()=>v});var d=c(2474),e=c(26543),f=c.n(e),g=c(27897),h=c.n(g),i=c(59520),j=c.n(i),k=c(42525),l=c.n(k),m=c(76323),n=c(90075),o=c(9330),p=c(66504),q=c(46208),r=c(36026),s=c(72460);c(14276);let t=`${l().variable} ${f().variable} ${h().variable} ${j().variable}`,u={title:"Conductor",description:"Multi-agent orchestrator dashboard"},v={width:"device-width",initialScale:1};function w({children:a}){let b=(0,r._)()??"";return(0,d.jsxs)("html",{lang:"en",className:`${t} dark`,suppressHydrationWarning:!0,children:[(0,d.jsxs)("head",{children:[(0,d.jsx)("meta",{name:"conductor-backend-url",content:b}),(0,d.jsx)("script",{dangerouslySetInnerHTML:{__html:'try{var t=localStorage.getItem("conductor-theme");var e=document.documentElement;e.classList.remove("light","dark");e.classList.add(t==="light"||t==="dark"?t:"dark")}catch{}'}})]}),(0,d.jsx)("body",{className:"bg-[var(--bg-canvas)] text-[var(--text-strong)] antialiased",children:(0,d.jsx)(q.TooltipProvider,{children:(0,d.jsxs)(p.ThemeProvider,{children:[a,(0,d.jsx)(n.Analytics,{})]})})})]})}async function x({children:a}){let b=await (0,o.headers)(),c=(0,s.Pn)(b),e=(0,s.kE)(b),f=(0,s.EO)(c,e);return f.enabled&&f.publishableKey?(0,d.jsx)(m.lJ,{publishableKey:f.publishableKey,proxyUrl:f.proxyUrl??void 0,clerkJSUrl:f.clerkJSUrl??void 0,signInUrl:f.signInUrl??void 0,signUpUrl:f.signUpUrl??void 0,allowedRedirectOrigins:f.allowedRedirectOrigins.length>0?f.allowedRedirectOrigins:void 0,appearance:{cssLayerName:"clerk"},children:(0,d.jsx)(w,{children:a})}):(0,d.jsx)(w,{children:a})}},98985:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,32594,23)),Promise.resolve().then(c.t.bind(c,6413,23)),Promise.resolve().then(c.t.bind(c,61437,23)),Promise.resolve().then(c.t.bind(c,99476,23)),Promise.resolve().then(c.t.bind(c,41452,23)),Promise.resolve().then(c.t.bind(c,86792,23)),Promise.resolve().then(c.t.bind(c,48465,23)),Promise.resolve().then(c.t.bind(c,13592,23))}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=3156,exports.ids=[3156],exports.modules={29017:(a,b,c)=>{c.d(b,{a:()=>e});var d=c(85660);let e=(0,d.createServerReference)("00e28fb2a5bfd4ac15b3ac7cef9c20495956f2f20c",d.callServer,void 0,d.findSourceMapURL,"createOrReadKeylessAction")},63156:(a,b,c)=>{c.r(b),c.d(b,{createOrReadKeylessAction:()=>g.a,deleteKeylessAction:()=>e,detectKeylessEnvDriftAction:()=>f.A,syncKeylessConfigAction:()=>h});var d=c(85660);let e=(0,d.createServerReference)("0033146eb841be7ef96af9271921a3f29c9d71e1c2",d.callServer,void 0,d.findSourceMapURL,"deleteKeylessAction");var f=c(31194),g=c(29017);let h=(0,d.createServerReference)("4024dd7b80111d7d25ab4a5331bf2df939c071a0d3",d.callServer,void 0,d.findSourceMapURL,"syncKeylessConfigAction")}};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=5295,exports.ids=[5295],exports.modules={1071:(a,b,c)=>{c.d(b,{$:()=>j});var d=c(92692),e=c(93544),f=c(74745),g=c(71277);let h={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},i={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},j=(0,g.forwardRef)(({variant:a="default",size:b="md",asChild:c,className:g,children:j,...k},l)=>{let m=c?f.DX:"button";return(0,d.jsx)(m,{ref:l,className:(0,e.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",h[a],i[b],g),...k,children:j})});j.displayName="Button"},5295:(a,b,c)=>{c.d(b,{J:()=>z});var d=c(92692),e=c(71277),f=c(140),g=c(58599),h=c.n(g),i=c(67994),j=c(37035),k=c(86263),l=c(64583),m=c(3216),n=c(32165),o=c(75185),p=c(42765),q=(c(60361),c(95528)),r=c(48980),s=c(93544),t=c(94297),u=c(81461),v=c(69125);let w="/bridge/connect";function x({connected:a,className:b,title:c,suffix:e}){return(0,d.jsxs)("span",{className:(0,s.cn)("inline-flex items-center gap-2 rounded-full border px-2.5 py-1 text-[12px] font-medium",a?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]",b),title:c,children:[(0,d.jsx)("span",{className:(0,s.cn)("h-2.5 w-2.5 rounded-full",a?"bg-[var(--vk-green)]":"bg-[var(--vk-red)]")}),(0,d.jsx)("span",{children:a?"Online":"Offline"}),e]})}function y({className:a}){let b;(0,i.useRouter)(),(0,i.usePathname)();let c=(0,i.useSearchParams)(),[g,z]=(0,e.useState)([]),[A,B]=(0,e.useState)(!0),[C,D]=(0,e.useState)(null),[E,F]=(0,e.useState)(null),[G,H]=(0,e.useState)({deviceId:null,phase:"idle",message:null}),[I,J]=(0,e.useState)({deviceId:null,kind:null,status:"idle",message:null});(0,e.useRef)(new Set);let K=(0,e.useCallback)(async a=>{a&&B(!0);try{let a=await fetch("/api/bridge/devices",{cache:"no-store"}),b=await a.json().catch(()=>null);if(!a.ok)throw Error(b?.error??`Failed to load bridge devices (${a.status})`);z((0,v.oH)(b?.devices)),D(null)}catch(a){D(a instanceof Error?a.message:"Failed to load bridge devices.")}finally{B(!1)}},[]),L=g.filter(a=>a.connected),M=c.get("bridge")?.trim()||null;b=function(a){let b=a?.trim();if(!b)return null;try{let a=new URL(b);if("http:"!==a.protocol&&"https:"!==a.protocol)return null;return a.toString()}catch{return null}}(process.env.CONDUCTOR_BRIDGE_RELAY_URL??process.env.NEXT_PUBLIC_CONDUCTOR_BRIDGE_RELAY_URL),M&&g.find(a=>a.device_id===M);let N=!A&&0===L.length;E&&g.find(a=>a.device_id===E);let O=L.length>0,P=C??(O?`${L.length} bridge${1===L.length?"":"s"} online`:g.length>0?"No paired bridges are online":"No paired bridges yet"),Q=(0,e.useCallback)(async a=>{J({deviceId:a.device_id,kind:"restart",status:"running",message:`Restarting the bridge service on ${a.device_name}.`});try{let b=await (0,t.b)(a.device_id);J({deviceId:a.device_id,kind:"restart",status:"completed",message:`${b} Waiting for ${a.device_name} to reconnect.`}),[2e3,5e3,1e4,2e4,35e3].forEach(a=>{window.setTimeout(()=>{K(!1)},a)})}catch(b){J({deviceId:a.device_id,kind:"restart",status:"failed",message:b instanceof Error?b.message:`Failed to restart ${a.device_name}.`})}},[K]),R=(0,e.useCallback)(async a=>{J({deviceId:a.device_id,kind:"repair",status:"running",message:`Reinstalling the bridge service on ${a.device_name}.`});try{let b=(0,u.pj)(window.location.origin),c=await (0,t.E)(a.device_id,b);J({deviceId:a.device_id,kind:"repair",status:"completed",message:c}),window.setTimeout(()=>{K(!1)},2e3)}catch(b){J({deviceId:a.device_id,kind:"repair",status:"failed",message:b instanceof Error?b.message:`Failed to repair ${a.device_name}.`})}},[K]),S=(0,e.useCallback)(async a=>{await (0,q.jV)(a,H),window.setTimeout(()=>{K(!1)},2e3)},[K]);return N?(0,d.jsx)(h(),{href:w,prefetch:!0,className:"inline-flex",title:g.length>0?"Open paired devices":"Pair a device",children:(0,d.jsx)(x,{connected:!1,className:a,title:g.length>0?"Open paired devices":"Pair a device",suffix:(0,d.jsx)(j.A,{className:"h-3.5 w-3.5"})})}):(0,d.jsxs)(f.bL,{children:[(0,d.jsx)(f.l9,{asChild:!0,children:(0,d.jsx)("button",{type:"button",className:"outline-none",children:(0,d.jsx)(x,{connected:O,className:a,title:P,suffix:(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 text-current/70"})})})}),(0,d.jsx)(f.ZL,{children:(0,d.jsxs)(f.UC,{align:"end",sideOffset:8,className:"z-[90] w-[320px] rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 text-[var(--vk-text-normal)] shadow-[0_22px_48px_rgba(0,0,0,0.34)]",children:[(0,d.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,d.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.22em] text-[var(--vk-text-muted)]",children:"Conductor Bridge"}),(0,d.jsx)("div",{className:"mt-2 text-[13px] text-[var(--vk-text-normal)]",children:O?`${L.length} device${1===L.length?"":"s"} online`:A?"Loading device status":"No live bridge connection"}),(0,d.jsx)("div",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:"If a laptop is online but misbehaving, repair the bridge, update Conductor, or restart the service here."}),C?(0,d.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-red)]",children:C}):null,G.message?(0,d.jsx)("div",{className:(0,s.cn)("mt-2 text-[12px] leading-5","failed"===G.phase?"text-[var(--vk-red)]":"skipped"===G.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:G.message}):null]}),(0,d.jsx)("div",{className:"mt-2 max-h-[280px] overflow-y-auto",children:g.length>0?g.map(a=>{let b=(0,q.xv)(G,a.device_id),c="running"===I.status&&I.deviceId===a.device_id,e=c&&"repair"===I.kind,f=c&&"restart"===I.kind;return I.deviceId===a.device_id&&(0,r.Az)(I.message)||G.deviceId===a.device_id&&(0,r.Az)(G.message),(0,d.jsx)("div",{className:"rounded-[14px] px-3 py-2.5 transition-colors hover:bg-[var(--vk-bg-hover)]",children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("div",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:a.device_name}),(0,d.jsxs)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:[a.hostname," \xb7 ",a.os,"/",a.arch,(0,v.wj)(a.last_status?.version)]}),(0,d.jsxs)("div",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Relay: ",a.last_status?.hostname??a.hostname,(0,v.wj)(a.last_status?.version)]}),G.message&&G.deviceId===a.device_id?(0,d.jsx)("div",{className:(0,s.cn)("mt-1 text-[11px] leading-5","failed"===G.phase?"text-[var(--vk-red)]":"skipped"===G.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:G.message}):null,I.message&&I.deviceId===a.device_id?(0,d.jsx)("div",{className:(0,s.cn)("mt-1 text-[11px] leading-5","failed"===I.status?"text-[var(--vk-red)]":"completed"===I.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:I.message}):null,null,a.connected?(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,d.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:c||b,onClick:()=>{R(a)},children:[e?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Repair bridge"]}),(0,d.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:b||c,onClick:()=>{S(a)},children:[b?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(n.A,{className:"h-3.5 w-3.5"}),b?"Updating...":"Update Conductor"]}),(0,d.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:c||b,onClick:()=>{Q(a)},children:[f?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(o.A,{className:"h-3.5 w-3.5"}),"Restart service"]})]}):null]}),(0,d.jsx)(x,{connected:!0===a.connected})]})},a.device_id)}):(0,d.jsx)("div",{className:"rounded-[14px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[12px] text-[var(--vk-text-muted)]",children:A?"Loading paired devices...":"Pair a laptop to see bridge status here."})}),(0,d.jsx)(f.wv,{className:"my-2 h-px bg-[var(--vk-border)]"}),(0,d.jsx)(f.q7,{asChild:!0,children:(0,d.jsxs)(h(),{href:w,prefetch:!0,className:"flex items-center justify-between rounded-[12px] px-3 py-2 text-[13px] font-medium text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,d.jsx)("span",{children:"Open paired devices"}),(0,d.jsx)(p.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"})]})})]})})]})}function z({connected:a,className:b,title:c}={}){return"boolean"==typeof a?(0,d.jsx)(x,{connected:a,className:b,title:c}):(0,d.jsx)(y,{className:b})}},19954:(a,b,c)=>{c.d(b,{C0:()=>e,DW:()=>f});let d="bridge:";function e(a){let b=a?.trim();return b&&b.length>0?b:null}function f(a){let b=a?.trim();if(!b||!b.startsWith(d))return null;let c=b.slice(d.length),f=c.indexOf(":");if(f<=0||f>=c.length-1)return null;let g=e(c.slice(0,f)),h=c.slice(f+1).trim();return g&&0!==h.length?{bridgeId:g,sessionId:h}:null}},46818:(a,b,c)=>{c.d(b,{S:()=>e,y:()=>f});var d=c(19954);function e(a,b){let c=(0,d.C0)(b);if(!c)return a;let e=new URL(a,"http://127.0.0.1");return e.searchParams.set("bridgeId",c),`${e.pathname}${e.search}${e.hash}`}function f(a){let b=function(a){if(!a)return null;if(a instanceof URL)return a;if("string"==typeof a)try{return new URL(a,"http://127.0.0.1")}catch{return null}if("string"==typeof a.href)try{return new URL(a.href)}catch{}return null}(a);if(!b)return null;let c=(0,d.C0)(b.searchParams.get("bridge")??b.searchParams.get("bridgeId"));if(c)return c;let e=(0,d.DW)(b.searchParams.get("session"))?.bridgeId;if(e)return e;let f=b.pathname.match(/^\/sessions\/([^/]+)$/);if(!f)return null;try{return(0,d.DW)(decodeURIComponent(f[1]))?.bridgeId??null}catch{return null}}},48980:(a,b,c)=>{function d(a){let b=a?.trim().toLowerCase()??"";return!!b&&(b.includes("127.0.0.1:4749")||b.includes("older bridge build")||b.includes("one-time local bridge upgrade"))}function e(a){return`This laptop needs a one-time local bridge upgrade before ${function(a){switch(a){case"repair":return"Repair bridge";case"restart":return"Restart service";case"update":return"Update Conductor"}}(a)} can run from the dashboard.`}function f(a){let b=a?.trim()||"This laptop";return`${b} is still on an older bridge build, so Conductor cannot repair, restart, or update it remotely yet. Upgrade the bridge once on that laptop, then future fixes run from the dashboard.`}c.d(b,{Az:()=>d,IG:()=>e,_5:()=>f})},60361:(a,b,c)=>{c.d(b,{i:()=>o});var d=c(92692),e=c(71277),f=c(58599),g=c.n(f),h=c(26996),i=c(13636),j=c(3216),k=c(1071),l=c(93544),m=c(48980),n=c(81461);function o({deviceId:a,deviceName:b,dashboardUrl:c,installScriptUrl:f,relayUrl:p,className:q}){let[r,s]=(0,e.useState)(!1),t=(0,e.useMemo)(()=>(0,n.$y)(f,c,p),[c,f,p]),u=(0,e.useMemo)(()=>(0,n.kw)(a),[a]);return(0,d.jsxs)("div",{className:(0,l.cn)("mt-3 rounded-[14px] border border-[color:color-mix(in_srgb,var(--vk-orange)_28%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)] px-3 py-3",q),children:[(0,d.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"One-time local repair"}),(0,d.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-normal)]",children:(0,m._5)(b)}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,d.jsxs)(k.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{navigator.clipboard?.writeText?(s(!1),navigator.clipboard.writeText(t).then(()=>{s(!0)}).catch(()=>{s(!1)})):s(!1)},children:[r?(0,d.jsx)(h.A,{className:"h-4 w-4"}):(0,d.jsx)(i.A,{className:"h-4 w-4"}),r?"Repair command copied":"Copy repair command"]}),(0,d.jsx)(k.$,{asChild:!0,variant:"outline",size:"sm",children:(0,d.jsxs)(g(),{href:u,children:[(0,d.jsx)(j.A,{className:"h-4 w-4"}),"Open repair steps"]})})]})]})}},69125:(a,b,c)=>{function d(a,b){return"string"==typeof a&&a.trim().length>0?a.trim():b}function e(a){let b="string"==typeof a?a.trim():"";return b?` (build ${b})`:""}function f(a){return Array.isArray(a)?a.filter(a=>!!a&&"object"==typeof a).map(a=>{let b,c,e;return b=d(a.hostname,"unknown-host"),c=d(a.os,"unknown-os"),e=d(a.arch,"unknown-arch"),{device_id:d(a.device_id,b),device_name:d(a.device_name,b),hostname:b,os:c,arch:e,connected:!0===a.connected,last_status:a.last_status?{hostname:d(a.last_status.hostname,b),os:d(a.last_status.os,c),connected:!0===a.last_status.connected,version:"string"==typeof a.last_status.version&&a.last_status.version.trim().length>0?a.last_status.version.trim():null}:null}}):[]}c.d(b,{oH:()=>f,wj:()=>e})},81461:(a,b,c)=>{function d(a){return/^[A-Za-z0-9_./:=@%+-]+$/.test(a)?a:`'${a.replace(/'/g,"'\"'\"'")}'`}function e(a){return a.map(d).join(" ")}function f(a){return new URL("/bridge/install.sh",a).toString()}function g(a){return`/bridge/connect?device=${encodeURIComponent(a)}#bridge-setup`}function h(a){return`curl -fsSL ${d(a)} | sh`}function i(a,b,c){let d=["npx","--yes","conductor-oss@latest","bridge","setup","--dashboard-url",b];return c?.trim()&&d.push("--relay-url",c.trim()),e(d)}function j(a,b){let c=["conductor-bridge","connect","--dashboard-url",a];return b?.trim()&&c.push("--relay-url",b.trim()),e(c)}function k(a,b){let c=["conductor-bridge","pair","--code",a?.trim()||"ABC123"],d=["conductor-bridge","daemon"];return b?.trim()&&(c.push("--relay-url",b.trim()),d.push("--relay-url",b.trim())),`${e(c)}
|
|
2
|
-
${e(d)}`}c.d(b,{$y:()=>i,G7:()=>h,hI:()=>j,kw:()=>g,pj:()=>f,zd:()=>k})},94297:(a,b,c)=>{c.d(b,{E:()=>f,b:()=>e});var d=c(48980);async function e(a){let b=await g(a,"service-restart",{});return b?.message??"Bridge service restart requested. This laptop should reconnect shortly."}async function f(a,b){let c=await g(a,"repair",{installScriptUrl:b});return c?.message??"Bridge reinstall requested. This laptop should reconnect shortly."}async function g(a,b,c){let e=await fetch(`/api/bridge/devices/${encodeURIComponent(a)}/${b}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c),cache:"no-store"}),f=await e.json().catch(()=>null);if(!e.ok){var g,h;let a;throw Error((g=f?.error??f?.message??null,h=e.status,a=g?.trim()??"",(0,d.Az)(a)?(0,d.IG)("repair"===b?"repair":"restart"):a||`Failed to run ${b} on the bridge service (${h})`))}return f}},95528:(a,b,c)=>{c.d(b,{N8:()=>i,Tr:()=>l,jV:()=>m,m7:()=>k,xv:()=>f});var d=c(46818),e=c(48980);function f(a,b){return a.deviceId===b&&("checking"===a.phase||"updating"===a.phase||"restarting"===a.phase)}function g(a,b){return b.jobMessage??`Installing Conductor ${b.latestVersion??"latest"} on ${a.device_name}.`}function h(a){let b=a.currentVersion?.trim();return b?` (build ${b})`:""}function i(a){if(!a.enabled)switch(a.reason){case"source-checkout":return"This laptop is running from a source checkout, so there is no published package to auto-update.";case"missing-cli-metadata":return"This install could not determine its update metadata, so automatic package updates are unavailable.";default:return"Automatic package updates are unavailable for this laptop."}return a.updateAvailable?a.canAutoUpdate?`This laptop is already running the latest Conductor release${h(a)}.`:"npx"===a.installMode?"This laptop was launched via npx, so the next launch will pick up the latest package automatically.":a.updateCommand?`A newer Conductor release is available, but this install still needs a manual update: ${a.updateCommand}`:"A newer Conductor release is available, but this install cannot update itself automatically.":`This laptop is already running the latest Conductor release${h(a)}.`}async function j(a,b){var c,f;let g=b?.method??"GET",h=`/api/bridge/devices/${encodeURIComponent(a)}/app-update`,i=new URL((0,d.S)(h,a),window.location.origin);b?.force&&i.searchParams.set("force","1");let j=await fetch(i.toString(),{method:g,headers:b?.body?{"Content-Type":"application/json"}:void 0,body:b?.body?JSON.stringify(b.body):void 0,cache:"no-store"}),k=await j.json().catch(()=>null);if(!j.ok){let a;throw Error((c=k&&"object"==typeof k&&"error"in k&&"string"==typeof k.error?k.error:null,f=j.status,a=c?.trim()??"",(0,e.Az)(a)?(0,e.IG)("update"):a||`Failed to update Conductor on this laptop (${f})`))}let l=k&&"object"==typeof k?k:null;if(!l)throw Error("Paired device returned an invalid update payload.");return l}function k(a){}function l(){return null}async function m(a,b){let c=(c,d)=>{b({deviceId:a.device_id,phase:c,message:d})};c("checking",`Checking for Conductor updates on ${a.device_name}.`);try{let b=await j(a.device_id,{force:!0});if(b.restarting)return void c("restarting",b.jobMessage??`Restart requested on ${a.device_name}. This page will reconnect once the bridge runtime is back online.`);if("running"===b.jobStatus)c("updating",g(a,b));else{if(!b.updateAvailable||!b.enabled||!b.canAutoUpdate)return void c(b.enabled&&b.canAutoUpdate?"completed":"skipped",i(b));b=await j(a.device_id,{method:"POST"}),c("updating",g(a,b))}let d=Date.now()+3e5;for(;Date.now()<d&&"running"===b.jobStatus;){if(await new Promise(a=>{window.setTimeout(a,1500)}),(b=await j(a.device_id)).restarting)return void c("restarting",b.jobMessage??`Restart requested on ${a.device_name}. This page will reconnect once the bridge runtime is back online.`);c("updating",g(a,b))}if("running"===b.jobStatus)return void c("updating",`The package update is still running on ${a.device_name}. Leave this page open and Conductor will finish applying it in the background.`);if("failed"===b.jobStatus)throw Error(b.jobMessage??b.error??`Automatic package update failed on ${a.device_name}.`);if(b.restartRequired){if(b.canRestart){b=await j(a.device_id,{method:"POST",body:{action:"restart"}}),c("restarting",b.jobMessage??`Restart requested on ${a.device_name} to finish updating Conductor.`);return}c("completed",b.jobMessage??`The latest Conductor package is installed on ${a.device_name}. Restart that laptop to finish updating.`);return}c("completed",b.jobMessage??`${a.device_name} is now updated to Conductor ${b.latestVersion??"latest"}.`)}catch(b){c("failed",b instanceof Error?b.message:`Failed to auto-update ${a.device_name}.`)}}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=5744,exports.ids=[5744],exports.modules={48582:(a,b,c)=>{c.d(b,{E:()=>g});var d=c(92692),e=c(93544);let f={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function g({variant:a="default",className:b,children:c}){return(0,d.jsx)("span",{className:(0,e.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",f[a],b),children:c})}},55744:(a,b,c)=>{c.r(b),c.d(b,{SessionSkills:()=>p});var d=c(92692),e=c(71277);let f=(0,c(37303).A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var g=c(59789),h=c(64583),i=c(37035),j=c(3216),k=c(26996),l=c(46818),m=c(48582),n=c(1071),o=c(54761);function p({session:a,sessionId:b,active:c}){let q=a.bridgeId??null,r=a.metadata.agent?.trim()||a.metadata.executor?.trim()||a.metadata.runtimeAgent?.trim()||"",s=a.metadata.workspacePath?.trim()||null,t="claude-code"===r,[u,v]=(0,e.useState)(""),[w,x]=(0,e.useState)(s?"workspace":"user"),[y,z]=(0,e.useState)([]),[A,B]=(0,e.useState)({}),[C,D]=(0,e.useState)([]),[E,F]=(0,e.useState)([]),[G,H]=(0,e.useState)(!0),[I,J]=(0,e.useState)(null),[K,L]=(0,e.useState)(null),M=(0,e.useCallback)(async()=>{if(c){H(!0),L(null);try{let[a,c,d]=await Promise.all([fetch("/api/skills/catalog",{cache:"no-store"}),fetch((0,l.S)(`/api/skills/installed?agent=${encodeURIComponent(r||"claude-code")}${s?`&workspacePath=${encodeURIComponent(s)}`:""}`,q),{cache:"no-store"}),fetch((0,l.S)(`/api/skills/session-active?sessionId=${encodeURIComponent(b)}`,q),{cache:"no-store"})]),e=await a.json(),f=await c.json(),g=await d.json(),h=Object.fromEntries((f.skills??[]).map(a=>[a.skillId,a]));z(e.skills??[]),B(h),F(f.customSkills??[]),D(g.skillIds??[])}catch(a){L({kind:"error",message:a instanceof Error?a.message:"Failed to load skills"})}finally{H(!1)}}},[c,r,q,b,s]),N=(0,e.useMemo)(()=>{let a=u.trim().toLowerCase();return y.filter(b=>0===a.length||b.name.toLowerCase().includes(a)||b.summary.toLowerCase().includes(a)||b.category.toLowerCase().includes(a))},[y,u]),O=(0,e.useCallback)(async(a,c)=>{J(a.id),L(null);try{let d="activate"===c||"deactivate"===c?{sessionId:b,skillId:a.id}:{skillId:a.id,agent:r||"claude-code",scope:w,workspacePath:s,sessionId:b},e=await fetch((0,l.S)("install"===c?"/api/skills/install":"activate"===c?"/api/skills/activate":"deactivate"===c?"/api/skills/deactivate":"/api/skills/uninstall",q),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(d)}),f=await e.json().catch(()=>({}));if(!e.ok)throw Error(f.error||"Skill action failed");let g={install:`${a.name} installed and activated for this session.`,activate:`${a.name} is active for this session.`,deactivate:`${a.name} is no longer active for this session.`,uninstall:`${a.name} was removed from ${w} scope.`};L({kind:"success",message:g[c]}),await M()}catch(a){L({kind:"error",message:a instanceof Error?a.message:"Skill action failed"})}finally{J(null)}},[r,q,M,w,b,s]);return(0,d.jsxs)("div",{className:"flex h-full min-h-0 min-w-0 flex-col gap-3 overflow-y-auto overscroll-contain pb-4 lg:overflow-hidden lg:pb-0",children:[(0,d.jsx)(o.Zp,{children:(0,d.jsxs)(o.aR,{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsx)("h2",{className:"text-[15px] font-semibold text-[var(--vk-text-normal)]",children:"Skills"}),(0,d.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Install Claude-style skills from the curated catalog on the paired device, detect what is already installed, and mark a skill as active for this session."})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2 text-[12px] text-[var(--vk-text-muted)] lg:items-end",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(f,{className:"h-3.5 w-3.5"})," Agent: ",(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:r||"unknown"})]}),(0,d.jsxs)("div",{children:["Device: ",(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:q??"local"})]}),(0,d.jsxs)("div",{children:["Workspace: ",(0,d.jsx)("span",{className:"font-medium text-[var(--vk-text-normal)]",children:s??"Unavailable"})]})]})]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between",children:[(0,d.jsxs)("label",{className:"flex items-center gap-2 rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(g.A,{className:"h-3.5 w-3.5"}),(0,d.jsx)("input",{value:u,onChange:a=>v(a.target.value),placeholder:"Search skills",className:"w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,d.jsxs)("label",{className:"flex items-center gap-2 text-[12px] text-[var(--vk-text-muted)]",children:["Install scope",(0,d.jsxs)("select",{value:w,onChange:a=>x(a.target.value),className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[13px] text-[var(--vk-text-normal)]",children:[(0,d.jsx)("option",{value:"user",children:"User, ~/.claude/skills"}),(0,d.jsx)("option",{value:"workspace",disabled:!s,children:"Workspace, .claude/skills"})]})]})]}),t?null:(0,d.jsxs)("div",{className:"rounded-[14px] border border-amber-400/30 bg-amber-400/10 px-3 py-2 text-[12px] text-amber-100",children:["This first release installs Claude Code skills only. Current session agent is ",(0,d.jsx)("span",{className:"font-semibold",children:r||"unknown"}),"."]}),K?(0,d.jsx)("div",{className:`rounded-[14px] border px-3 py-2 text-[12px] ${"error"===K.kind?"border-red-400/35 bg-red-400/10 text-red-100":"border-emerald-400/35 bg-emerald-400/10 text-emerald-100"}`,children:K.message}):null]})}),(0,d.jsxs)("div",{className:"grid min-h-0 flex-1 gap-3 lg:grid-cols-[minmax(0,1fr)_320px] lg:overflow-hidden",children:[(0,d.jsx)("div",{className:"min-h-0 rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] p-3 lg:overflow-y-auto",children:(0,d.jsx)("div",{className:"space-y-3 lg:pr-2",children:G?(0,d.jsxs)("div",{className:"flex min-h-[220px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"mr-2 h-4 w-4 animate-spin"})," Loading skills..."]}):0===N.length?(0,d.jsx)("div",{className:"flex min-h-[220px] items-center justify-center text-[13px] text-[var(--vk-text-muted)]",children:"No matching skills found."}):N.map(a=>{let b=A[a.id],c=!!(b?.installedUser||b?.installedWorkspace),e=C.includes(a.id),f=I===a.id,g=!a.compatibleAgents.includes(r||"claude-code");return(0,d.jsxs)(o.Zp,{className:"border-[var(--vk-border)] bg-[var(--vk-bg-main)]",children:[(0,d.jsxs)(o.aR,{className:"space-y-3",children:[(0,d.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,d.jsxs)("div",{className:"space-y-1.5",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("h3",{className:"text-[14px] font-semibold text-[var(--vk-text-normal)]",children:a.name}),a.verified?(0,d.jsx)(m.E,{children:"Verified"}):(0,d.jsx)(m.E,{variant:"outline",children:"Community"}),(0,d.jsx)(m.E,{variant:"outline",children:a.category}),c?(0,d.jsx)(m.E,{variant:"outline",children:"Installed"}):null,e?(0,d.jsx)(m.E,{variant:"outline",children:"Active now"}):null,g?(0,d.jsx)(m.E,{variant:"outline",children:"Unsupported"}):null]}),(0,d.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:a.summary})]}),(0,d.jsx)("div",{className:"flex w-full flex-wrap items-center gap-2 xl:w-auto xl:justify-end",children:(0,d.jsxs)("a",{href:a.docsUrl,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-[12px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["Docs ",(0,d.jsx)(i.A,{className:"h-3 w-3"})]})})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2 text-[12px] text-[var(--vk-text-muted)]",children:a.compatibleAgents.map(a=>(0,d.jsx)(m.E,{variant:"outline",children:a},a))})]}),(0,d.jsxs)(o.Wu,{className:"space-y-3",children:[b?.installPaths?.length?(0,d.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-surface)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:["Installed at: ",b.installPaths.join(" • ")]}):null,(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[c?e?(0,d.jsxs)(n.$,{type:"button",variant:"outline",size:"sm",disabled:f,onClick:()=>void O(a,"deactivate"),children:[f?(0,d.jsx)(h.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(j.A,{className:"mr-1 h-3.5 w-3.5"})," Deactivate"]}):(0,d.jsxs)(n.$,{type:"button",size:"sm",disabled:f||g,onClick:()=>void O(a,"activate"),children:[f?(0,d.jsx)(h.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(k.A,{className:"mr-1 h-3.5 w-3.5"})," Use in session"]}):(0,d.jsxs)(n.$,{type:"button",size:"sm",disabled:f||g||!t,onClick:()=>void O(a,"install"),children:[f?(0,d.jsx)(h.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):(0,d.jsx)(k.A,{className:"mr-1 h-3.5 w-3.5"})," Install and use"]}),c?(0,d.jsxs)(n.$,{type:"button",variant:"outline",size:"sm",disabled:f,onClick:()=>void O(a,"uninstall"),children:[f?(0,d.jsx)(h.A,{className:"mr-1 h-3.5 w-3.5 animate-spin"}):null," Uninstall"]}):null]})]})]},a.id)})})}),(0,d.jsxs)(o.Zp,{className:"min-h-0 border-[var(--vk-border)] bg-[var(--vk-bg-surface)] lg:overflow-y-auto",children:[(0,d.jsxs)(o.aR,{className:"flex-col items-start gap-1.5",children:[(0,d.jsx)("h3",{className:"text-[14px] font-semibold text-[var(--vk-text-normal)]",children:"Detected custom skills"}),(0,d.jsx)("p",{className:"text-[13px] text-[var(--vk-text-muted)]",children:"Extra skill folders already present on the paired machine that do not match the curated catalog."})]}),(0,d.jsx)(o.Wu,{className:"space-y-2 text-[13px] text-[var(--vk-text-muted)]",children:0===E.length?(0,d.jsx)("p",{children:"No custom skill folders detected."}):E.map(a=>(0,d.jsxs)("div",{className:"rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2",children:[(0,d.jsx)("div",{className:"font-medium text-[var(--vk-text-normal)]",children:a.name}),(0,d.jsxs)("div",{className:"text-[12px] text-[var(--vk-text-muted)]",children:["Detected from ",a.source]})]},a.id))})]})]})]})}}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=8,exports.ids=[8,9789],exports.modules={7901:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},9249:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},30008:(a,b,c)=>{c.r(b),c.d(b,{WorkspaceKanban:()=>_});var d=c(92692),e=c(140),f=c(71277),g=c(67994),h=c(64583),i=c(71943),j=c(86263),k=c(79101),l=c(51430),m=c(7901),n=c(37303);let o=(0,n.A)("file-image",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]),p=(0,n.A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var q=c(49549),r=c(59789),s=c(9249),t=c(75185);let u=(0,n.A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),v=(0,n.A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);var w=c(44462),x=c(67811),y=c(46818),z=c(93544);let A={intake:"#3c83f6",ready:"#f59f0a",dispatching:"#fb923c",inProgress:"#f59f0a",needsInput:"#eab308",blocked:"#d53946",errored:"#ef4444",review:"#895af6",merge:"#06b6d4",done:"#21c45d",cancelled:"#6b7280"},B={intake:"To do",ready:"Ready",dispatching:"Dispatching",inProgress:"In progress",needsInput:"Needs input",blocked:"Blocked",errored:"Errored",review:"In review",merge:"Merge",done:"Done",cancelled:"Cancelled"},C={obsidian:"Obsidian",vscode:"VS Code",notion:"Notion",typora:"Typora",logseq:"Logseq",custom:"your editor"},D=[{value:"feature",label:"Feature"},{value:"fix",label:"Fix"},{value:"review",label:"Review"},{value:"chore",label:"Chore"},{value:"docs",label:"Docs"}],E=[{value:"high",label:"High"},{value:"medium",label:"Medium"},{value:"low",label:"Low"}];function F(a){return["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"].includes(a)?a:"intake"}function G(a){let[b,...c]=a.split(" - ");return{title:(b??a).trim(),description:c.join(" - ").trim()}}function H(a){return a.split(/[-_\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}function I(a){return a.split("/").map(a=>a.trim()).filter(Boolean)}function J(a,b){return a.kind!==b.kind?"folder"===a.kind?-1:1:a.name.localeCompare(b.name,void 0,{sensitivity:"base",numeric:!0})}function K(a){let b=a.displayPath?.trim();return b&&b.length>0?b:a.path}function L({attachment:a,onOpen:b,opening:c=!1}){return(0,d.jsxs)("button",{type:"button",onClick:b,disabled:c,className:"inline-flex max-w-full items-center gap-1 rounded-[3px] bg-[color:#292929] px-2 py-1 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:a,"aria-label":`Open ${a}`,children:[c?(0,d.jsx)(h.A,{className:"h-3 w-3 shrink-0 animate-spin"}):(0,d.jsx)(i.A,{className:"h-3 w-3 shrink-0"}),(0,d.jsx)("span",{className:"truncate",children:a})]})}function M({node:a,depth:b,expandedFolders:c,selectedPaths:e,openingContextPath:f,contextOpenLabel:g,onToggleFolder:n,onTogglePath:q,onOpenPath:r}){var s;let t=10+16*b;if("folder"===a.kind){let h=c.has(a.path);return(0,d.jsxs)("li",{children:[(0,d.jsxs)("button",{type:"button",onClick:()=>n(a.path),className:"flex w-full items-center gap-1.5 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",style:{paddingLeft:`${t}px`,paddingRight:"10px"},"aria-expanded":h,children:[h?(0,d.jsx)(j.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,d.jsx)(k.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),h?(0,d.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}):(0,d.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}),(0,d.jsx)("span",{className:"truncate",children:a.name})]}),h?(0,d.jsx)("ul",{children:a.children.map(a=>(0,d.jsx)(M,{node:a,depth:b+1,expandedFolders:c,selectedPaths:e,openingContextPath:f,contextOpenLabel:g,onToggleFolder:n,onTogglePath:q,onOpenPath:r},a.path))}):null]})}let u=e.includes(a.path);return(0,d.jsx)("li",{className:"border-t border-[var(--vk-border)] first:border-t-0",children:(0,d.jsxs)("div",{className:"flex items-start gap-2 py-1.5",style:{paddingLeft:`${t+22}px`,paddingRight:"10px"},children:[(0,d.jsxs)("label",{className:"flex min-w-0 flex-1 cursor-pointer items-start gap-2 text-[12px] text-[var(--vk-text-normal)]",children:[(0,d.jsx)("input",{type:"checkbox",checked:u,onChange:()=>q(a.path),className:"mt-0.5 h-3.5 w-3.5 rounded border-[var(--vk-border)] bg-transparent"}),"image"===a.file.kind?(0,d.jsx)(o,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,d.jsx)(p,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,d.jsxs)("span",{className:"min-w-0",children:[(0,d.jsx)("span",{className:"block truncate",children:a.name}),(0,d.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:K(a.file)}),(0,d.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:[a.file.kind,a.file.source?` \xb7 ${a.file.source}`:"",a.file.sizeBytes?` \xb7 ${!(s=a.file.sizeBytes)||s<=0?"":s<1024?`${s} B`:s<1048576?`${(s/1024).toFixed(1)} KB`:`${(s/1048576).toFixed(1)} MB`}`:""]})]})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>r(a.path),disabled:f===a.path,className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:`${g}: ${a.path}`,"aria-label":`${g}: ${a.path}`,children:[f===a.path?(0,d.jsx)(h.A,{className:"h-3 w-3 animate-spin"}):(0,d.jsx)(i.A,{className:"h-3 w-3"}),(0,d.jsx)("span",{className:"hidden sm:inline",children:g})]})]})})}function N({value:a,options:b,disabled:c=!1,onChange:f,ariaLabel:g}){return(0,d.jsxs)(e.bL,{children:[(0,d.jsx)(e.l9,{asChild:!0,children:(0,d.jsxs)("button",{type:"button",disabled:c,"aria-label":g,className:"inline-flex h-10 w-full items-center justify-between rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-left text-[14px] text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,d.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,d.jsx)(w.N,{seed:{label:a},className:"h-5 w-5 border-none bg-transparent"}),(0,d.jsx)("span",{className:"truncate",children:H(a)})]}),(0,d.jsx)(j.A,{className:"h-4 w-4 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,d.jsx)(e.ZL,{children:(0,d.jsxs)(e.UC,{align:"start",sideOffset:6,className:"z-[120] rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)] min-w-[220px] max-w-[calc(100vw-2rem)] max-h-[min(360px,50vh)] overflow-y-auto sm:min-w-[280px]",children:[(0,d.jsx)("p",{className:"px-3 pb-1 text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Agents"}),b.map(b=>{let c=b===a;return(0,d.jsxs)(e.q7,{onSelect:()=>f(b),className:"flex min-h-[40px] cursor-default items-center gap-2 rounded-[4px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,d.jsx)(w.N,{seed:{label:b},className:"h-5 w-5 border-none bg-transparent"}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate",children:H(b)}),(0,d.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:c?(0,d.jsx)(q.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}):null})]},b)})]})})]})}function O(a,b){if(!a||a.projectId!==b.projectId||a.repository!==b.repository||a.boardPath!==b.boardPath||a.workspacePath!==b.workspacePath||a.primaryRoles.length!==b.primaryRoles.length||a.columns.length!==b.columns.length)return!1;for(let c=0;c<a.primaryRoles.length;c+=1)if(a.primaryRoles[c]!==b.primaryRoles[c])return!1;for(let c=0;c<a.columns.length;c+=1){let d=a.columns[c],e=b.columns[c];if(d.role!==e.role||d.heading!==e.heading||d.tasks.length!==e.tasks.length)return!1;for(let a=0;a<d.tasks.length;a+=1){let b=d.tasks[a],c=e.tasks[a];if(b.id!==c.id||b.text!==c.text||b.checked!==c.checked||b.agent!==c.agent||b.project!==c.project||b.type!==c.type||b.priority!==c.priority||b.taskRef!==c.taskRef||b.attemptRef!==c.attemptRef||b.issueId!==c.issueId||b.githubItemId!==c.githubItemId||b.notes!==c.notes||b.briefPath!==c.briefPath||b.vaultBriefPath!==c.vaultBriefPath||b.commentCount!==c.commentCount||b.comments.length!==c.comments.length||b.attachments.length!==c.attachments.length)return!1;for(let a=0;a<b.attachments.length;a+=1)if(b.attachments[a]!==c.attachments[a])return!1;for(let a=0;a<b.comments.length;a+=1)if(JSON.stringify(b.comments[a])!==JSON.stringify(c.comments[a]))return!1}}let c=a.githubProject??null,d=b.githubProject??null;if(JSON.stringify(c)!==JSON.stringify(d))return!1;let e=a.recentActions??[],f=b.recentActions??[];if(e.length!==f.length)return!1;for(let a=0;a<e.length;a+=1)if(JSON.stringify(e[a])!==JSON.stringify(f[a]))return!1;let g=a.recentWebhookDeliveries??[],h=b.recentWebhookDeliveries??[];if(g.length!==h.length)return!1;for(let a=0;a<g.length;a+=1)if(JSON.stringify(g[a])!==JSON.stringify(h[a]))return!1;return!0}function P(a){return{...a,repository:a.repository??null,githubProject:a.githubProject??null,recentActions:Array.isArray(a.recentActions)?a.recentActions:[],recentWebhookDeliveries:Array.isArray(a.recentWebhookDeliveries)?a.recentWebhookDeliveries:[],columns:Array.isArray(a.columns)?a.columns.map(a=>({...a,tasks:Array.isArray(a.tasks)?a.tasks.map(a=>({...a,issueId:a.issueId??null,githubItemId:a.githubItemId??null,attachments:Array.isArray(a.attachments)?a.attachments:[],notes:a.notes??null,briefPath:a.briefPath??null,vaultBriefPath:a.vaultBriefPath??null,commentCount:"number"==typeof a.commentCount?a.commentCount:Array.isArray(a.comments)?a.comments.length:0,comments:Array.isArray(a.comments)?a.comments:[]})):[]})):[]}}function Q(a){return a.branch?.trim()||a.summary?.trim()||a.id.slice(0,8)}function R(a){return a.issueId?.trim()||a.taskRef?.trim()||a.id}function S(a){let b=a.metadata?.agent;return"string"==typeof b&&b.trim().length>0?b.trim():null}function T(a){let b=a.trim().toLowerCase();return"working"===b||"running"===b?"Running":"done"===b?"Done":"killed"===b?"Interrupted":"errored"===b?"Errored":"archived"===b?"Archived":a.split(/[-_\s]+/g).filter(Boolean).map(a=>a[0]?.toUpperCase()+a.slice(1)).join(" ")}function U(a){let b=a.trim().toLowerCase();return"working"===b||"running"===b?"border-[rgba(60,131,246,0.35)] bg-[rgba(60,131,246,0.12)] text-[#8db8ff]":"done"===b?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"killed"===b||"archived"===b?"border-[rgba(143,143,143,0.35)] bg-[rgba(143,143,143,0.10)] text-[var(--vk-text-muted)]":"errored"===b?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}function V(a){if(!a?.id)return"No GitHub Project linked";let b="number"==typeof a.number?`#${a.number}`:"Project";return`${b} ${a.title?.trim()||"Untitled"}`.trim()}function W(a){let b=Date.parse(a);return Number.isNaN(b)?a:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"}).format(new Date(b))}function X(a,b){if(!a)return null;for(let c of a.columns){let a=c.tasks.find(a=>a.id===b);if(a)return{task:a,role:c.role}}return null}function Y(a,b){return a?.columns.find(a=>a.role===b)??null}function Z(a,b,c){let d=Y(a,c);if(!d)return 0;let e=d.tasks.length;return b?.role===c&&d.tasks.findIndex(a=>a.id===b.taskId)>=0&&(e-=1),Math.max(e,0)}function $(a,b,c){if(c){if(a.id===c&&b.id!==c)return -1;if(b.id===c&&a.id!==c)return 1}let d=a.lastActivityAt?Date.parse(a.lastActivityAt):0;return(b.lastActivityAt?Date.parse(b.lastActivityAt):0)-d}function _({projectId:a,bridgeId:b,defaultAgent:c,agentOptions:e,projectSessions:j}){var k;let l=(0,g.useRouter)(),{preferences:m}=(0,x.g)(b),[n,o]=(0,f.useState)(null),[p,q]=(0,f.useState)(!1),[aa,ab]=(0,f.useState)(null),[ac,ad]=(0,f.useState)(""),[ae,af]=(0,f.useState)("active"),[ag,ah]=(0,f.useState)(!1),[ai,aj]=(0,f.useState)("intake"),[ak,al]=(0,f.useState)(""),[am,an]=(0,f.useState)(""),[ao,ap]=(0,f.useState)(c),[aq,ar]=(0,f.useState)("feature"),[as,at]=(0,f.useState)("medium"),[au,av]=(0,f.useState)(""),[aw,ax]=(0,f.useState)([]),[ay,az]=(0,f.useState)([]),[aA,aB]=(0,f.useState)(""),[aC,aD]=(0,f.useState)([]),[aE,aF]=(0,f.useState)(!1),[aG,aH]=(0,f.useState)(null),[aI,aJ]=(0,f.useState)(null),[aK,aL]=(0,f.useState)([]),[aM,aN]=(0,f.useState)(!1),[aO,aP]=(0,f.useState)(null),[aQ,aR]=(0,f.useState)(null),[aS,aT]=(0,f.useState)("intake"),[aU,aV]=(0,f.useState)(""),[aW,aX]=(0,f.useState)(""),[aY,aZ]=(0,f.useState)(c),[a$,a_]=(0,f.useState)("feature"),[a0,a1]=(0,f.useState)("medium"),[a2,a3]=(0,f.useState)(""),[a4,a5]=(0,f.useState)(""),[a6,a7]=(0,f.useState)(""),[a8,a9]=(0,f.useState)(!1),[ba,bb]=(0,f.useState)(null),[bc,bd]=(0,f.useState)(""),[be,bf]=(0,f.useState)(!1),[bg,bh]=(0,f.useState)(null),[bi,bj]=(0,f.useState)(null),[bk,bl]=(0,f.useState)(null),[bm,bn]=(0,f.useState)(!1),[bo,bp]=(0,f.useState)(!1),[bq,br]=(0,f.useState)(!1),[bs,bt]=(0,f.useState)(null),[bu,bv]=(0,f.useState)(null),[bw,bx]=(0,f.useState)(""),by=(0,f.useRef)(!1),bz=(0,f.useRef)(!1),bA=(0,f.useRef)(null),bB=(0,f.useRef)(null),bC=(0,f.useRef)(Promise.resolve(null)),bD=(0,f.useRef)(0),bE="obsidian"===(k=m?.markdownEditor?.trim()||"obsidian")||"vscode"===k||"typora"===k||"logseq"===k?`Open in ${C[k]??"your editor"}`:"Open file",[bF,bG]=(0,f.useState)(!0),bH=(0,f.useMemo)(()=>{let a=[...new Set(e.filter(Boolean))];return a.includes(c)||a.unshift(c),a},[e,c]),bI=(0,f.useCallback)(async c=>{if(!a){o(null),ab(null),q(!1),by.current=!1;return}if(!bz.current&&(!c?.silent||!(bD.current>0))){bz.current=!0,c?.silent||q(!0);try{let c=await fetch((0,y.S)(`/api/boards?projectId=${encodeURIComponent(a)}`,b)),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to load board: ${c.status}`);let e=P(d);by.current=!0,o(a=>O(a,e)?a:e),ab(null)}catch(a){c?.silent&&by.current||(o(null),ab(a instanceof Error?a.message:"Failed to load board"))}finally{c?.silent||q(!1),bz.current=!1}}},[b,a]);(0,f.useCallback)(b=>{a&&(null!==bA.current&&(window.clearTimeout(bA.current),bA.current=null),bA.current=window.setTimeout(()=>{bA.current=null,bI(b)},1200))},[bI,a]);let bJ=(0,f.useCallback)(async()=>{if(!a){bv(null),bt(null);return}bp(!0),bt(null);try{let c=await fetch((0,y.S)(`/api/github/projects?projectId=${encodeURIComponent(a)}`,b)),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to load GitHub Projects (${c.status})`);let e={...d,projects:Array.isArray(d.projects)?d.projects:[]};bv(e),bx(e.linkedProject?.id?.trim()||e.projects[0]?.id?.trim()||"")}catch(a){bt(a instanceof Error?a.message:"Failed to load GitHub Projects"),bv(null),bx("")}finally{bp(!1)}},[b,a]),bK=n?.columns??[],bL=(0,f.useMemo)(()=>{let a=ac.trim().toLowerCase(),b="all"===ae?null:new Set("backlog"===ae?["intake","ready"]:"cancelled"===ae?["cancelled"]:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]);return bK.filter(a=>!b||b.has(a.role)).map(b=>a?{...b,tasks:b.tasks.filter(b=>{let c=b.comments.map(a=>`${a.author} ${a.body}`).join(" ");return`${b.text} ${b.agent??""} ${b.type??""} ${b.priority??""} ${b.issueId??""} ${b.notes??""} ${b.briefPath??""} ${b.attachments.join(" ")} ${c}`.toLowerCase().includes(a)})}:b)},[bK,ac,ae]),bM=0===ac.trim().length,bN=(0,f.useMemo)(()=>{let a=aA.trim().toLowerCase(),b=a?aC.filter(b=>`${b.path} ${K(b)} ${b.name} ${b.source??""}`.toLowerCase().includes(a)):aC,c=new Map;for(let a of b)c.has(a.path)||c.set(a.path,a);return[...c.values()]},[aC,aA]),bO=(0,f.useMemo)(()=>(function(a){let b=new Map;b.set("",new Map);let c=(a,c)=>(b.has(a)||b.set(a,new Map),{kind:"folder",name:c,path:a,children:[]});for(let d of a){let a=K(d),e=I(a);if(0===e.length)continue;let f="";for(let a=0;a<e.length-1;a+=1){let d=e[a],g=f?`${f}/${d}`:d,h=b.get(f)??new Map;b.set(f,h),h.has(g)||h.set(g,c(g,d)),b.has(g)||b.set(g,new Map),f=g}let g=b.get(f)??new Map;g.set(d.path,{kind:"file",name:d.name,path:d.path,file:{...d,displayPath:a}}),b.set(f,g)}let d=a=>[...b.get(a)?.values()??[]].map(a=>"folder"===a.kind?{...a,children:d(a.path)}:a).sort(J);return d("")})(bN),[bN]),bP=(0,f.useMemo)(()=>new Map(aC.map(a=>[a.path,a])),[aC]),bQ=(0,f.useMemo)(()=>aw.map(a=>bP.get(a)).filter(a=>!!a),[bP,aw]),bR=(0,f.useMemo)(()=>new Set(bO.filter(a=>"folder"===a.kind).map(a=>a.path)),[bO]),bS=(0,f.useMemo)(()=>aA.trim().length>0?function a(b,c=new Set){for(let d of b)"folder"===d.kind&&(c.add(d.path),a(d.children,c));return c}(bO):function(a){let b=new Set;for(let c of a){let a=I(c),d="";for(let c=0;c<a.length-1;c+=1)d=d?`${d}/${a[c]}`:a[c],b.add(d)}return b}(aw.map(a=>{let b=bP.get(a);return b?K(b):a})),[bP,aA,bO,aw]),bT=(0,f.useMemo)(()=>{let a=new Set(bR);for(let b of ay)a.add(b);for(let b of bS)a.add(b);return a},[bS,bR,ay]),bU=(0,f.useMemo)(()=>{let a=bK.find(a=>a.role===ai);return a?.heading||B[ai]},[bK,ai]),bV=(0,f.useMemo)(()=>{if(!aQ)return j;let a=X(n,aQ.task.id)??aQ,b=R(a.task);return[...j].sort((c,d)=>{let e=c.id===a.task.attemptRef||c.issueId?.trim()===b;return e!==(d.id===a.task.attemptRef||d.issueId?.trim()===b)?e?-1:1:$(c,d,a.task.attemptRef)})},[n,aQ,j]),bW=(0,f.useMemo)(()=>aQ?X(n,aQ.task.id)??aQ:null,[n,aQ]);function bX(a){aj(a),ah(!0),al(""),an(""),ap(bH[0]??c),ar("feature"),at("medium"),aP(null),av(""),aB(""),ax([]),az([]),aL([])}let bY=(0,f.useCallback)(async b=>{if(a){aJ(b),aQ?bb(null):ag?aP(null):ab(null);try{let c=await fetch("/api/context-files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,path:b})}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to open context file: ${c.status}`)}catch(a){var c;c=a instanceof Error?a.message:"Failed to open context file",aQ?bb(c):ag?aP(c):ab(c)}finally{aJ(a=>a===b?null:a)}}},[ag,aQ,a]);function bZ(a){ax(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])}function b$(a){az(b=>b.includes(a)?b.filter(b=>b!==a):[...b,a])}async function b_(){if(a&&ak.trim()){aN(!0),aP(null);try{let c=await fetch((0,y.S)("/api/boards",b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,title:ak.trim(),description:am.trim()||void 0,contextNotes:au.trim()||void 0,attachments:aw.length>0?aw:void 0,agent:ao,role:ai,type:aq.trim()||void 0,priority:as.trim()||void 0})}),d=await c.json().catch(()=>null);if(!c.ok||!d||!("columns"in d))throw Error(d?.error??`Failed to create task: ${c.status}`);let e=P(d),f=e.columns.flatMap(a=>a.tasks).find(a=>a.id===d.createdTaskId);if(aK.length>0&&f){let c=new FormData;for(let b of(c.append("projectId",a),c.append("taskRef",f.taskRef?.trim()||f.id),aK))c.append("files",b);let d=await fetch((0,y.S)("/api/attachments",b),{method:"POST",body:c}),g=await d.json().catch(()=>null);if(!d.ok)throw Error(g?.error??`Upload failed: ${d.status}`);let h=(g?.files??[]).map(a=>a.path?.trim()).filter(a=>!!a);if(h.length>0){let c=await fetch((0,y.S)("/api/boards",b),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,taskId:f.id,attachments:[...new Set([...f.attachments,...h])]})}),d=await c.json().catch(()=>null);if(!c.ok||!d||!("columns"in d))throw Error(d?.error??`Failed to attach uploads: ${c.status}`);e=P(d)}}o(a=>({...a??e,...e})),al(""),an(""),ar("feature"),at("medium"),av(""),ax([]),aB(""),aL([]),ah(!1)}catch(a){aP(a instanceof Error?a.message:"Failed to create task")}finally{aN(!1)}}}async function b0(c,d){if(!a)return null;let e=bB.current;if(e&&d?.optimisticUpdate){let a=d.optimisticUpdate(e);a&&(bB.current=a,o(b=>O(b,a)?b:a))}bD.current+=1;let f=bC.current.catch(()=>null).then(async()=>{let d=await fetch((0,y.S)("/api/boards",b),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,...c})}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to update board: ${d.status}`);let f=P(e);return bB.current=f,o(a=>O(a,f)?a:f),ab(null),f});bC.current=f.then(()=>null,()=>null);try{return await f}catch(a){throw d?.optimisticUpdate&&e&&(bB.current=e,o(a=>O(a,e)?a:e)),a}finally{bD.current=Math.max(0,bD.current-1)}}async function b1(c){if(a&&!bq){br(!0),bt(null);try{let d=await fetch((0,y.S)("/api/github/projects",b),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,link:c?.id?c:null})}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to update GitHub Project link (${d.status})`);o(a=>a?{...a,githubProject:e?.githubProject??null}:a),await bJ()}catch(a){bt(a instanceof Error?a.message:"Failed to update GitHub Project link")}finally{br(!1)}}}async function b2(c){if(a&&!bq){br(!0),bt(null);try{let d=await fetch((0,y.S)("/api/github/projects/sync",b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,direction:c})}),e=await d.json().catch(()=>null);if(!d.ok)throw Error(e?.error??`Failed to ${c} GitHub Project (${d.status})`);if(e?.board){let a=P(e.board);o(b=>O(b,a)?b:a)}else await bI({silent:!0});await bJ()}catch(a){bt(a instanceof Error?a.message:`Failed to ${c} GitHub Project`)}finally{br(!1)}}}function b3(){a8||be||(aR(null),bb(null),bd(""),bh(null))}async function b4(){if(bW&&aU.trim()){a9(!0),bb(null);try{await b0({taskId:bW.task.id,role:aS,title:aU.trim(),description:aW,contextNotes:a4.trim()||"",issueId:a2.trim()||"",agent:aY,type:a$,priority:a0,attemptRef:a6,taskRef:a6?bW.task.taskRef??bW.task.id:bW.task.taskRef??""}),aR(null)}catch(a){bb(a instanceof Error?a.message:"Failed to update task")}finally{a9(!1)}}}async function b5(){if(a&&bW&&bc.trim()){bf(!0),bh(null);try{let c=await fetch((0,y.S)("/api/boards/comments",b),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:a,taskId:bW.task.id,body:bc.trim()})}),d=await c.json().catch(()=>null);if(!c.ok)throw Error(d?.error??`Failed to add comment: ${c.status}`);let e=P(d);o(a=>O(a,e)?a:e),bd("")}catch(a){bh(a instanceof Error?a.message:"Failed to add comment")}finally{bf(!1)}}}async function b6(a){if(!bi)return;let b=Y(bB.current,bi.role),c=b?.tasks.findIndex(a=>a.id===bi.taskId)??-1,d=Z(bB.current,bi,a),e=bk?.role===a?bk.index:d,f=bi.role!==a||e!==c;try{f&&await b0({taskId:bi.taskId,role:a,targetIndex:e},{optimisticUpdate:b=>(function(a,b,c,d){if(!a)return a;let e=a.columns.map(a=>({...a,tasks:[...a.tasks]})),f=-1,g=-1,h=null;for(let a=0;a<e.length;a+=1){let c=e[a]?.tasks.findIndex(a=>a.id===b)??-1;if(c>=0){f=a,g=c,h=e[a].tasks.splice(c,1)[0]??null;break}}if(!h||f<0)return a;let i=e.findIndex(a=>a.role===c);i<0&&(e.push({role:c,heading:B[c],tasks:[]}),i=e.length-1);let j=e[i].tasks,k=Math.max(0,Math.min(d,j.length));return(j.splice(k,0,h),f===i&&g===k)?a:{...a,columns:e}})(b,bi.taskId,a,e)})}catch(a){ab(a instanceof Error?a.message:"Failed to move task")}finally{bj(null),bl(null)}}return a?(0,d.jsxs)("section",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:[(0,d.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("div",{className:"inline-flex rounded-[3px] border border-[var(--vk-border)] p-px",children:[["active","Active"],["all","All"],["backlog","Backlog"],["cancelled","Cancelled"]].map(([a,b])=>(0,d.jsx)("button",{type:"button",onClick:()=>af(a),className:(0,z.cn)("px-3 py-1 text-[13px]",ae===a?"rounded-[2px] bg-[var(--vk-bg-active)] text-[var(--vk-text-strong)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:b},a))}),(0,d.jsxs)("div",{className:"ml-auto flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto sm:min-w-[220px] sm:flex-nowrap sm:flex-none",children:[(0,d.jsxs)("label",{className:"flex h-[38px] min-w-0 flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:h-[31px] sm:min-w-[200px] sm:w-[240px] sm:flex-none",children:[(0,d.jsx)(r.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{value:ac,onChange:a=>ad(a.target.value),placeholder:"Search tasks...",className:"ml-2 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,d.jsxs)("button",{type:"button",onClick:()=>bX("intake"),className:"inline-flex h-[38px] w-full items-center justify-center gap-1 rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[14px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px] sm:w-auto",children:[(0,d.jsx)("span",{children:"New Issue"}),(0,d.jsx)(s.A,{className:"h-3.5 w-3.5"})]})]})]}),(0,d.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("button",{type:"button",onClick:()=>bn(a=>!a),className:"inline-flex h-[38px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,d.jsx)("span",{className:"hidden sm:inline",children:"GitHub Project"}),(0,d.jsx)("span",{className:"sm:hidden",children:"GitHub"}),(0,d.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:n?.githubProject?.id?V(n.githubProject):"Connect"})]}),n?.githubProject?.url?(0,d.jsxs)("a",{href:n.githubProject.url,target:"_blank",rel:"noreferrer",className:"inline-flex h-[38px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,d.jsx)("span",{children:"Open Project"}),(0,d.jsx)(i.A,{className:"h-3.5 w-3.5"})]}):null]}),!bM&&(0,d.jsx)("p",{className:"pt-2 text-[12px] text-[var(--vk-text-muted)]",children:"Clear search to reorder cards."}),bm&&(0,d.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-3",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsxs)("label",{className:"min-w-0 flex-1",children:[(0,d.jsx)("span",{className:"mb-1 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Linked project"}),(0,d.jsxs)("select",{value:bw,onChange:a=>bx(a.target.value),disabled:bo||bq,className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,d.jsx)("option",{value:"",children:bo?"Loading GitHub Projects...":"Select a GitHub Project"}),(bu?.projects??[]).map(a=>(0,d.jsx)("option",{value:a.id??"",children:V(a)},a.id??"unknown"))]})]}),(0,d.jsx)("button",{type:"button",disabled:!bw||bo||bq,onClick:()=>{b1(bu?.projects.find(a=>a.id===bw)??null)},className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:bq?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):"Connect"}),(0,d.jsx)("button",{type:"button",disabled:!n?.githubProject?.id||bq,onClick:()=>void b1(null),className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Disconnect"}),(0,d.jsxs)("button",{type:"button",disabled:!n?.githubProject?.id||bq,onClick:()=>void b2("pull"),className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[bq?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(t.A,{className:"h-4 w-4"}),"Pull"]}),(0,d.jsx)("button",{type:"button",disabled:!n?.githubProject?.id||bq,onClick:()=>void b2("push"),className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Push"})]}),(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsxs)("span",{children:["Repository:"," ",n?.repository?.trim()||bu?.repository?.trim()||"Not configured"]}),bu?.ownerLogin?(0,d.jsxs)("span",{children:["Owner: ",bu.ownerLogin]}):null]}),bs&&(0,d.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:bs}),(n?.recentWebhookDeliveries?.length??0)>0&&(0,d.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,d.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Webhook diagnostics"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(n?.recentWebhookDeliveries??[]).length})]}),(0,d.jsx)("div",{className:"space-y-2",children:(n?.recentWebhookDeliveries??[]).slice(0,6).map(a=>{var b;let c,e;return(0,d.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${"synced"===(c=a.status.trim().toLowerCase())?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"failed"===c?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}`,children:"synced"===(e=(b=a.status).trim().toLowerCase())?"Synced":"failed"===e?"Failed":"skipped"===e?"Skipped":b}),(0,d.jsxs)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:[a.event,a.action?` / ${a.action}`:""]}),(0,d.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:W(a.timestamp)})]}),(0,d.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:a.detail}),a.repository?(0,d.jsxs)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Repo: ",a.repository]}):null]},a.id)})})]})]}),(n?.recentActions?.length??0)>0&&(0,d.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,d.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Recent activity"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(n?.recentActions??[]).length})]}),(0,d.jsx)("div",{className:"space-y-2",children:(n?.recentActions??[]).slice(0,6).map(a=>(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 text-[12px]",children:[(0,d.jsx)("span",{className:"rounded-[3px] bg-[color:#292929] px-2 py-0.5 text-[11px] text-[var(--vk-text-muted)]",children:a.source}),(0,d.jsx)("span",{className:"text-[var(--vk-text-normal)]",children:a.action}),(0,d.jsx)("span",{className:"min-w-0 flex-1 truncate text-[var(--vk-text-muted)]",title:a.detail,children:a.detail}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:W(a.timestamp)})]},a.id))})]})]}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain p-4 touch-pan-x touch-pan-y",children:p?(0,d.jsxs)("div",{className:"flex h-full items-center justify-center text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}),(0,d.jsx)("span",{className:"ml-2 text-[14px]",children:"Loading board..."})]}):aa?(0,d.jsx)("div",{className:"rounded-[4px] border border-[color:color-mix(in_srgb,var(--vk-red)_55%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:aa}):(0,d.jsx)("div",{className:"flex min-h-full min-w-0 snap-x snap-mandatory items-start gap-3 overflow-x-auto pb-3 touch-pan-x sm:snap-none",children:bL.map(a=>{let b=bK.find(b=>b.role===a.role),e=bM&&bi?.role===a.role?b?.tasks.findIndex(a=>a.id===bi.taskId)??-1:-1,f=Math.max((b?.tasks.length??a.tasks.length)-(e>=0),0);return(0,d.jsxs)("article",{className:(0,z.cn)("flex min-h-[560px] w-[85vw] shrink-0 snap-center flex-col rounded-[14px] border border-[var(--vk-border)] bg-[linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.02))] shadow-[0_18px_40px_rgba(0,0,0,0.24)] sm:w-[320px] sm:snap-align-none",bi&&"snap-start"),children:[(0,d.jsxs)("header",{className:"flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,d.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:A[a.role]}}),(0,d.jsx)("div",{className:"min-w-0 flex-1",children:(0,d.jsx)("p",{className:"truncate text-[14px] font-medium text-[var(--vk-text-normal)]",children:a.heading||B[a.role]})}),(0,d.jsx)("span",{className:"inline-flex h-6 min-w-[28px] items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.18)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:a.tasks.length}),(0,d.jsx)("button",{type:"button",onClick:()=>bX(a.role),className:"inline-flex h-9 w-9 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] sm:h-7 sm:w-7","aria-label":`Add task to ${a.heading}`,children:(0,d.jsx)(s.A,{className:"h-3.5 w-3.5"})})]}),(0,d.jsxs)("div",{className:(0,z.cn)("flex-1 min-h-0 overflow-y-auto px-3 pb-3 pt-2 touch-pan-y overscroll-contain",bi?.role===a.role&&"bg-[rgba(255,255,255,0.02)]"),onDragOver:b=>bM?function(a,b){if(!bi||(a.preventDefault(),a.target!==a.currentTarget))return;let c=Z(bB.current,bi,b);bl(a=>a?.role===b&&a.index===c?a:{role:b,index:c})}(b,a.role):void 0,onDrop:b=>{b.preventDefault(),bM&&b6(a.role)},children:[bM&&bk?.role===a.role&&0===bk.index?(0,d.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,0===a.tasks.length&&(0,d.jsx)("div",{className:"rounded-[10px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"Drop a card here or create a new one."}),(0,d.jsx)("div",{className:"space-y-2",children:a.tasks.map(f=>{let{title:g,description:h}=G(f.text),k=b?.tasks.findIndex(a=>a.id===f.id)??0,m=e>=0?f.id===bi?.taskId?null:k>e?k-1:k:k;R(f);let o=function(a,b){let c=b?.trim();if(!a||!c||!/^\d+$/.test(c))return null;let[d,e]=a.trim().replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/^ssh:\/\/git@github\.com\//,"").replace(/\.git$/,"").replace(/\/+$/,"").split("/");return d&&e?`https://github.com/${d}/${e}/issues/${c}`:null}(n?.repository,f.issueId),p=j.filter(a=>!!(a.id===f.attemptRef||a.metadata?.taskId===f.id||f.taskRef?.trim()&&a.metadata?.taskRef?.trim()===f.taskRef.trim())||a.issueId?.trim()===R(f)).sort((a,b)=>$(a,b,f.attemptRef??null)),q=f.attemptRef?p.find(a=>a.id===f.attemptRef)??null:p[0]??null,r=f.attemptRef&&!p.some(a=>a.id===f.attemptRef)?f.attemptRef:null;return(0,d.jsxs)("div",{children:[bM&&bk?.role===a.role&&null!==m&&bk.index===m?(0,d.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,(0,d.jsxs)("div",{draggable:bM,onDragStart:()=>{var b,c;let d;return bM?(bj({taskId:b=f.id,role:c=a.role}),d=Z(bB.current,{taskId:b,role:c},c),void bl({role:c,index:d})):void 0},onDragOver:b=>bM?function(a,b,c){if(!bi)return;a.preventDefault();let d=function(a,b,c,d,e,f){let g=Y(a,c);if(!g)return 0;let h=g.tasks.findIndex(a=>a.id===d);if(h<0)return Z(a,b,c);let i=f.getBoundingClientRect(),j=h+ +("after"==(e<i.top+i.height/2?"before":"after"));if(b?.role===c){let a=g.tasks.findIndex(a=>a.id===b.taskId);a>=0&&a<j&&(j-=1)}return j}(bB.current,bi,b,c,a.clientY,a.currentTarget);bl(a=>a?.role===b&&a.index===d?a:{role:b,index:d})}(b,a.role,f.id):void 0,onDragEnd:()=>{bj(null),bl(null)},className:(0,z.cn)("rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] [content-visibility:auto] [contain-intrinsic-size:240px]",bi?.taskId===f.id&&"opacity-60"),children:[(0,d.jsxs)("div",{className:"flex items-start gap-2",children:[(0,d.jsx)("p",{className:"min-w-0 flex-1 font-mono text-[12px] text-[var(--vk-text-muted)]",children:f.taskRef?.trim()||(f.id.length>12?`TASK-${f.id.split("-")[0]?.toUpperCase()??f.id.toUpperCase()}`:f.id)}),(0,d.jsx)("button",{type:"button",onClick:()=>(function(a,b){let{title:d,description:e}=G(a.text);aR({task:a,role:b}),aT(b),aV(d),aX(e),aZ(a.agent??bH[0]??c),a_(a.type??"feature"),a1(a.priority??"medium"),a3(a.issueId??""),a5(a.notes??""),a7(a.attemptRef??""),bb(null),bd(""),bh(null)})(f,a.role),className:"inline-flex h-9 w-9 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-6 sm:w-6","aria-label":"Edit task",title:"Edit task",children:(0,d.jsx)(u,{className:"h-3.5 w-3.5"})})]}),(0,d.jsx)("p",{className:"pt-1 text-[15px] leading-[22px] text-[var(--vk-text-normal)]",children:g}),h&&(0,d.jsx)("p",{className:"pt-1 text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:h}),f.notes&&(0,d.jsx)("p",{className:"pt-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:f.notes}),f.commentCount>0&&(0,d.jsxs)("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(v,{className:"h-3.5 w-3.5"}),(0,d.jsxs)("span",{children:[f.commentCount," comment",1===f.commentCount?"":"s"]})]}),(f.issueId||f.briefPath||f.attachments.length>0)&&(0,d.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[f.issueId?o?(0,d.jsxs)("a",{href:o,target:"_blank",rel:"noreferrer",className:"inline-flex h-5 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,d.jsxs)("span",{children:["Issue #",f.issueId]}),(0,d.jsx)(i.A,{className:"h-3 w-3"})]}):(0,d.jsxs)("span",{className:"inline-flex h-5 items-center rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:["Issue ",f.issueId]}):null,f.briefPath?(0,d.jsx)(L,{attachment:f.briefPath,opening:aI===f.briefPath,onOpen:()=>void bY(f.briefPath)}):null,f.attachments.map(a=>(0,d.jsx)(L,{attachment:a,opening:aI===a,onOpen:()=>void bY(a)},`${f.id}-${a}`))]}),(p.length>0||r)&&(0,d.jsxs)("div",{className:"mt-3 rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Runs"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:p.length+ +!!r})]}),(0,d.jsxs)("div",{className:"mt-2 space-y-1.5",children:[q?(0,d.jsxs)("button",{type:"button",onClick:()=>l.push(`/sessions/${encodeURIComponent(q.id)}`),className:"flex w-full items-center justify-between gap-2 rounded-[3px] border border-[rgba(255,255,255,0.05)] bg-[rgba(255,255,255,0.03)] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:q.id,children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[S(q)?(0,d.jsx)(w.N,{seed:{label:S(q)},className:"h-5 w-5"}):null,(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:Q(q)}),(0,d.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]})]}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,d.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${U(q.status)}`,children:T(q.status)}),(0,d.jsx)(i.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]}):null,p.filter(a=>a.id!==q?.id).map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>l.push(`/sessions/${encodeURIComponent(a.id)}`),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:a.id,children:[(0,d.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[S(a)?(0,d.jsx)(w.N,{seed:{label:S(a)},className:"h-5 w-5"}):null,(0,d.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:Q(a)})]}),(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,d.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${U(a.status)}`,children:T(a.status)}),(0,d.jsx)(i.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]},a.id)),r?(0,d.jsxs)("button",{type:"button",onClick:()=>l.push(`/sessions/${encodeURIComponent(r)}`),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:r,children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:r}),(0,d.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]}),(0,d.jsx)(i.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]}):null]})]}),(0,d.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,d.jsx)("div",{className:"flex min-w-0 items-center gap-1.5",children:f.agent?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(w.N,{seed:{label:f.agent},className:"h-6 w-6"}),(0,d.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-muted)]",children:H(f.agent)})]}):(0,d.jsx)("span",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No agent"})}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[f.type&&(0,d.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:f.type}),f.priority&&(0,d.jsx)("span",{className:"inline-flex h-5 items-center rounded-[3px] bg-[color:#292929] px-2 text-[11px] text-[var(--vk-text-muted)]",children:f.priority})]})]})]})]},`${a.role}-${f.id}`)})}),bM&&bk?.role===a.role&&bk.index===f?(0,d.jsx)("div",{className:"mt-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null]})]},a.role)})})}),bW&&(0,d.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:b3,children:(0,d.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[560px] sm:rounded-[6px] sm:border",onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,d.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("h2",{className:"text-[18px] text-[var(--vk-text-strong)]",children:"Edit Board Task"}),(0,d.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Move the card, update the task, and link the latest session run."})]}),(0,d.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Title"}),(0,d.jsx)("input",{value:aU,onChange:a=>aV(a.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Description"}),(0,d.jsx)("textarea",{value:aW,onChange:a=>aX(a.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Column"}),(0,d.jsx)("select",{value:aS,onChange:a=>aT(F(a.target.value)),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:n?.columns.map(a=>(0,d.jsx)("option",{value:a.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:a.heading||B[a.role]},a.role))})]}),(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,d.jsx)(N,{value:aY,options:bH,disabled:a8,onChange:aZ,ariaLabel:"Select agent for task"})]})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Type"}),(0,d.jsx)("input",{value:a$,onChange:a=>a_(a.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Priority"}),(0,d.jsx)("input",{value:a0,onChange:a=>a1(a.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]}),(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"GitHub issue id (optional)"}),(0,d.jsx)("input",{value:a2,onChange:a=>a3(a.target.value),placeholder:"123",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Notes"}),(0,d.jsx)("textarea",{value:a4,onChange:a=>a5(a.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),bW.task.attachments.length>0&&(0,d.jsxs)("div",{children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Attachments"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:bW.task.attachments.map(a=>(0,d.jsx)(L,{attachment:a,opening:aI===a,onOpen:()=>void bY(a)},a))})]}),(0,d.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,d.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Comments"}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:bW.task.commentCount})]}),(0,d.jsx)("div",{className:"space-y-2",children:bW.task.comments.length>0?bW.task.comments.map(a=>(0,d.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-3 py-2",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,d.jsx)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:a.author}),(0,d.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:W(a.timestamp)})]}),(0,d.jsx)("p",{className:"pt-1 whitespace-pre-wrap text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:a.body})]},a.id)):(0,d.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No comments yet."})}),(0,d.jsxs)("label",{className:"mt-3 block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Add comment"}),(0,d.jsx)("textarea",{value:bc,onChange:a=>bd(a.target.value),rows:3,placeholder:"Share status, request input, or leave implementation notes.",className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),bg&&(0,d.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:bg}),(0,d.jsx)("div",{className:"mt-3 flex justify-end",children:(0,d.jsxs)("button",{type:"button",onClick:()=>void b5(),disabled:!bc.trim()||be,className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[be?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):(0,d.jsx)(v,{className:"h-4 w-4"}),"Post comment"]})})]}),(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Primary linked run"}),(0,d.jsxs)("select",{value:a6,onChange:a=>a7(a.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,d.jsx)("option",{value:"",className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:"No linked session"}),bV.map(a=>(0,d.jsxs)("option",{value:a.id,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:[Q(a)," \xb7 ",a.status]},a.id))]})]}),ba&&(0,d.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:ba})]}),(0,d.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,d.jsx)("button",{type:"button",onClick:b3,disabled:a8||be,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,d.jsx)("button",{type:"button",onClick:()=>void b4(),disabled:!aU.trim()||a8,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:a8?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):"Save Task"})]})]})}),ag&&(0,d.jsx)("div",{className:"fixed inset-0 z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0",onClick:()=>!aM&&ah(!1),children:(0,d.jsxs)("div",{className:"flex max-h-[100dvh] w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_80px_rgba(0,0,0,0.45)] sm:max-h-[calc(100dvh-1.5rem)] sm:max-w-[980px] sm:rounded-[10px] sm:border",onClick:a=>a.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,d.jsx)("header",{className:"border-b border-[var(--vk-border)] px-4 py-4 sm:px-5",children:(0,d.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h2",{className:"text-[20px] font-medium text-[var(--vk-text-strong)]",children:"Create Board Task"}),(0,d.jsx)("p",{className:"pt-1 text-[13px] leading-5 text-[var(--vk-text-muted)]",children:"Capture the task, route it to the right board column, and attach the notes or files the agent should treat as source of truth."})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2 text-[11px]",children:[(0,d.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Column \xb7 ",bU]}),(0,d.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Agent \xb7 ",H(ao)]}),(0,d.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:[aw.length+aK.length," attachment",aw.length+aK.length===1?"":"s"]})]})]})}),(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4 sm:px-5",children:(0,d.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1.45fr)_minmax(290px,0.95fr)]",children:[(0,d.jsx)("div",{className:"space-y-4",children:(0,d.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Task brief"}),(0,d.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Write the task the way you want it to appear on the board and in the agent prompt."})]}),(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Title"}),(0,d.jsx)("input",{value:ak,onChange:a=>al(a.target.value),placeholder:"Review payment flow regression",className:"h-11 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[15px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,d.jsx)("p",{className:"mt-1.5 text-[11px] text-[var(--vk-text-muted)]",children:"Keep it short and outcome-focused so the card stays scannable."})]}),(0,d.jsxs)("label",{className:"mt-4 block",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Description"}),(0,d.jsx)("textarea",{value:am,onChange:a=>an(a.target.value),rows:5,placeholder:"Investigate failing specs, confirm the root cause, and propose a safe fix.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,d.jsxs)("label",{className:"mt-4 block",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Context notes"}),(0,d.jsx)("textarea",{value:au,onChange:a=>av(a.target.value),rows:4,placeholder:"Add constraints, pitfalls, or review expectations the agent should keep in mind.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]})}),(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,d.jsxs)("div",{className:"mb-3",children:[(0,d.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Routing"}),(0,d.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Choose where the card lands and how it should be tagged."})]}),(0,d.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2",children:[(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Column"}),(0,d.jsx)("select",{value:ai,onChange:a=>aj(F(a.target.value)),className:"h-10 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:bK.map(a=>(0,d.jsx)("option",{value:a.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:a.heading||B[a.role]},a.role))})]}),(0,d.jsxs)("label",{className:"block",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Agent"}),(0,d.jsx)(N,{value:ao,options:bH,disabled:aM,onChange:ap,ariaLabel:"Select agent for new task"})]})]}),(0,d.jsxs)("div",{className:"mt-4",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Task type"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:D.map(a=>(0,d.jsx)("button",{type:"button",onClick:()=>ar(a.value),className:(0,z.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",aq===a.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:a.label},a.value))})]}),(0,d.jsxs)("div",{className:"mt-4",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Priority"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:E.map(a=>(0,d.jsx)("button",{type:"button",onClick:()=>at(a.value),className:(0,z.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",as===a.value?"high"===a.value?"border-[var(--vk-red)] bg-[var(--vk-red)]/10 text-[var(--vk-text-strong)]":"medium"===a.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.05)] text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:a.label},a.value))})]})]}),(0,d.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,d.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Context"}),(0,d.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Attach notes, screenshots, or files the agent should inspect before making changes."})]}),(0,d.jsxs)("label",{className:"inline-flex h-9 cursor-pointer items-center rounded-[6px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,d.jsx)("input",{type:"file",multiple:!0,className:"hidden",onChange:a=>{let b=Array.from(a.target.files??[]);0!==b.length&&(aL(a=>{let c=[...a];for(let a of b)c.some(b=>b.name===a.name&&b.size===a.size&&b.lastModified===a.lastModified)||c.push(a);return c}),a.currentTarget.value="")}}),"Upload files/images"]})]}),(0,d.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[aw.length," existing file",1===aw.length?"":"s"," selected",aK.length>0?` \xb7 ${aK.length} upload${1===aK.length?"":"s"} ready`:""]}),bQ.length>0&&(0,d.jsxs)("div",{className:"mt-3",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Selected files"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:bQ.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>bZ(a.path),className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:`Remove ${K(a)}`,children:[(0,d.jsx)("span",{className:"truncate max-w-[220px]",children:a.name}),(0,d.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},a.path))})]}),aK.length>0&&(0,d.jsxs)("div",{className:"mt-3",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Pending uploads"}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:aK.map(a=>(0,d.jsxs)("button",{type:"button",onClick:()=>{aL(b=>b.filter(b=>b.name!==a.name||b.size!==a.size||b.lastModified!==a.lastModified))},className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:"Remove upload",children:[(0,d.jsx)("span",{className:"truncate max-w-[220px]",children:a.name}),(0,d.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},`${a.name}-${a.size}-${a.lastModified}`))})]}),(0,d.jsxs)("label",{className:"mt-4 block",children:[(0,d.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Browse existing context"}),(0,d.jsxs)("div",{className:"flex h-9 items-center rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3",children:[(0,d.jsx)(r.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,d.jsx)("input",{value:aA,onChange:a=>aB(a.target.value),placeholder:"Search context files...",className:"ml-2 w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,d.jsx)("div",{className:"mt-3 max-h-[320px] overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.08)]",children:aE?(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,d.jsx)(h.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,d.jsx)("span",{children:"Loading context files..."})]}):aG?(0,d.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-red)]",children:aG}):0===bN.length?(0,d.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No context files found."}):(0,d.jsx)("ul",{className:"py-1",children:bO.map(a=>(0,d.jsx)(M,{node:a,depth:0,expandedFolders:bT,selectedPaths:aw,openingContextPath:aI,contextOpenLabel:bE,onToggleFolder:b$,onTogglePath:bZ,onOpenPath:a=>void bY(a)},a.path))})})]})]})]})}),aO&&(0,d.jsx)("div",{className:"border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:(0,d.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:aO})}),(0,d.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:[(0,d.jsx)("div",{className:"text-[12px] text-[var(--vk-text-muted)]",children:ak.trim()?"Task is ready to add to the board.":"Add a clear title to enable task creation."}),(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>ah(!1),disabled:aM,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,d.jsx)("button",{type:"button",onClick:()=>void b_(),disabled:!ak.trim()||aM,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:aM?(0,d.jsx)(h.A,{className:"h-4 w-4 animate-spin"}):"Create Task"})]})]})]})})]}):(0,d.jsx)("div",{className:"flex h-full items-center justify-center text-[14px] text-[var(--vk-text-muted)]",children:"Select a workspace to view its Kanban board."})}},59789:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},67811:(a,b,c)=>{c.d(b,{g:()=>g});var d=c(71277),e=c(46818);function f(a){return!a||"object"!=typeof a||Array.isArray(a)?{}:{...a}}function g(a,b){let c=b?.enabled??!0,[g,h]=(0,d.useState)(null),[i,j]=(0,d.useState)(c),[k,l]=(0,d.useState)(null),m=(0,d.useCallback)(async()=>{if(!c){h(null),l(null),j(!1);return}try{var b;let c,d,g,i=await fetch((0,e.S)("/api/preferences",a)),j=await i.json().catch(()=>null);if(!i.ok)throw Error(j?.error??j?.reason??`Failed to load preferences: ${i.status}`);h((b=j?.preferences,c=f(b),g=(d=f(c.notifications)).soundFile,{onboardingAcknowledged:!0===c.onboardingAcknowledged,codingAgent:"string"==typeof c.codingAgent&&c.codingAgent.trim().length>0?c.codingAgent.trim():"claude-code",ide:"string"==typeof c.ide&&c.ide.trim().length>0?c.ide.trim():"vscode",markdownEditor:"string"==typeof c.markdownEditor&&c.markdownEditor.trim().length>0?c.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof c.markdownEditorPath?c.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==d.soundEnabled,soundFile:null===g?null:"string"==typeof g&&g.trim().length>0?g.trim():"abstract-sound-4"}})),l(null)}catch(a){h(null),l(a instanceof Error?a.message:"Failed to load preferences")}finally{j(!1)}},[a,c]);return{preferences:c?g:null,loading:!!c&&i,error:c?k:null,refresh:m}}},71943:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},79101:(a,b,c)=>{c.d(b,{A:()=>d});let d=(0,c(37303).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])}};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1665],{10926:(e,t,r)=>{r.d(t,{C0:()=>n,DW:()=>i});let a="bridge:";function n(e){let t=e?.trim();return t&&t.length>0?t:null}function i(e){let t=e?.trim();if(!t||!t.startsWith(a))return null;let r=t.slice(a.length),i=r.indexOf(":");if(i<=0||i>=r.length-1)return null;let s=n(r.slice(0,i)),o=r.slice(i+1).trim();return s&&0!==o.length?{bridgeId:s,sessionId:o}:null}},11984:(e,t,r)=>{function a(e){let t=e?.trim().toLowerCase()??"";return!!t&&(t.includes("127.0.0.1:4749")||t.includes("older bridge build")||t.includes("one-time local bridge upgrade"))}function n(e){return`This laptop needs a one-time local bridge upgrade before ${function(e){switch(e){case"repair":return"Repair bridge";case"restart":return"Restart service";case"update":return"Update Conductor"}}(e)} can run from the dashboard.`}function i(e){let t=e?.trim()||"This laptop";return`${t} is still on an older bridge build, so Conductor cannot repair, restart, or update it remotely yet. Upgrade the bridge once on that laptop, then future fixes run from the dashboard.`}r.d(t,{Az:()=>a,IG:()=>n,_5:()=>i})},15115:(e,t,r)=>{function a(e,t){return"string"==typeof e&&e.trim().length>0?e.trim():t}function n(e){let t="string"==typeof e?e.trim():"";return t?` (build ${t})`:""}function i(e){return Array.isArray(e)?e.filter(e=>!!e&&"object"==typeof e).map(e=>{let t,r,n;return t=a(e.hostname,"unknown-host"),r=a(e.os,"unknown-os"),n=a(e.arch,"unknown-arch"),{device_id:a(e.device_id,t),device_name:a(e.device_name,t),hostname:t,os:r,arch:n,connected:!0===e.connected,last_status:e.last_status?{hostname:a(e.last_status.hostname,t),os:a(e.last_status.os,r),connected:!0===e.last_status.connected,version:"string"==typeof e.last_status.version&&e.last_status.version.trim().length>0?e.last_status.version.trim():null}:null}}):[]}r.d(t,{oH:()=>i,wj:()=>n})},15321:(e,t,r)=>{r.d(t,{i:()=>m});var a=r(54568),n=r(7620),i=r(65587),s=r.n(i),o=r(63322),d=r(59706),l=r(87242),c=r(76081),u=r(46916),v=r(11984),p=r(61369);function m({deviceId:e,deviceName:t,dashboardUrl:r,installScriptUrl:i,relayUrl:g,className:h}){let[x,b]=(0,n.useState)(!1),f=(0,n.useMemo)(()=>(0,p.$y)(i,r,g),[r,i,g]),k=(0,n.useMemo)(()=>(0,p.kw)(e),[e]);return(0,a.jsxs)("div",{className:(0,u.cn)("mt-3 rounded-[14px] border border-[color:color-mix(in_srgb,var(--vk-orange)_28%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-orange)_10%,transparent)] px-3 py-3",h),children:[(0,a.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-[var(--vk-text-muted)]",children:"One-time local repair"}),(0,a.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-text-normal)]",children:(0,v._5)(t)}),(0,a.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[(0,a.jsxs)(c.$,{type:"button",variant:"outline",size:"sm",onClick:()=>{navigator.clipboard?.writeText?(b(!1),navigator.clipboard.writeText(f).then(()=>{b(!0)}).catch(()=>{b(!1)})):b(!1)},children:[x?(0,a.jsx)(o.A,{className:"h-4 w-4"}):(0,a.jsx)(d.A,{className:"h-4 w-4"}),x?"Repair command copied":"Copy repair command"]}),(0,a.jsx)(c.$,{asChild:!0,variant:"outline",size:"sm",children:(0,a.jsxs)(s(),{href:k,children:[(0,a.jsx)(l.A,{className:"h-4 w-4"}),"Open repair steps"]})})]})]})}},21665:(e,t,r)=>{r.d(t,{J:()=>C});var a=r(54568),n=r(7620),i=r(40448),s=r(65587),o=r.n(s),d=r(79748),l=r(22061),c=r(34041),u=r(58299),v=r(87242),p=r(2099),m=r(60527),g=r(81167),h=r(15321),x=r(44522),b=r(11984),f=r(46916),k=r(26167),w=r(61369),j=r(15115),y=r(63680);let _="/bridge/connect";function N({connected:e,className:t,title:r,suffix:n}){return(0,a.jsxs)("span",{className:(0,f.cn)("inline-flex items-center gap-2 rounded-full border px-2.5 py-1 text-[12px] font-medium",e?"border-[rgba(24,197,143,0.35)] bg-[rgba(24,197,143,0.12)] text-[var(--vk-green)]":"border-[rgba(255,143,122,0.24)] bg-[rgba(255,143,122,0.08)] text-[var(--vk-red)]",t),title:r,children:[(0,a.jsx)("span",{className:(0,f.cn)("h-2.5 w-2.5 rounded-full",e?"bg-[var(--vk-green)]":"bg-[var(--vk-red)]")}),(0,a.jsx)("span",{children:e?"Online":"Offline"}),n]})}function $({className:e}){let t,r=(0,d.useRouter)(),s=(0,d.usePathname)(),C=(0,d.useSearchParams)(),[I,R]=(0,n.useState)([]),[A,S]=(0,n.useState)(!0),[T,E]=(0,n.useState)(null),[U,L]=(0,n.useState)(null),[O,P]=(0,n.useState)({deviceId:null,phase:"idle",message:null}),[D,z]=(0,n.useState)({deviceId:null,kind:null,status:"idle",message:null}),M=(0,n.useRef)(new Set),B=(0,n.useCallback)(async e=>{e&&S(!0);try{let e=await fetch("/api/bridge/devices",{cache:"no-store"}),t=await e.json().catch(()=>null);if(!e.ok)throw Error(t?.error??`Failed to load bridge devices (${e.status})`);R((0,j.oH)(t?.devices)),E(null)}catch(e){E(e instanceof Error?e.message:"Failed to load bridge devices.")}finally{S(!1)}},[]);(0,n.useEffect)(()=>{let e=!1,t=null,r=async t=>{e||await B(t)};return r(!0),t=window.setInterval(()=>{r(!1)},15e3),()=>{e=!0,null!==t&&window.clearInterval(t)}},[B]),(0,n.useEffect)(()=>{let e=()=>{L((0,x.Tr)()?.deviceId??null)};return e(),window.addEventListener("focus",e),window.addEventListener("storage",e),()=>{window.removeEventListener("focus",e),window.removeEventListener("storage",e)}},[]),(0,n.useEffect)(()=>{s!==_&&r.prefetch(_)},[s,r]);let F=I.filter(e=>e.connected),q=C.get("bridge")?.trim()||null,G=window.location.origin,V=(t=function(e){let t=e?.trim();if(!t)return null;try{let e=new URL(t);if("http:"!==e.protocol&&"https:"!==e.protocol)return null;return e.toString()}catch{return null}}(y.env.CONDUCTOR_BRIDGE_RELAY_URL??y.env.NEXT_PUBLIC_CONDUCTOR_BRIDGE_RELAY_URL))||null,W=q?I.find(e=>e.device_id===q)??null:null,J=!A&&0===F.length,H=U?I.find(e=>e.device_id===U)??null:null,X=F.length>0,Y=T??(X?`${F.length} bridge${1===F.length?"":"s"} online`:I.length>0?"No paired bridges are online":"No paired bridges yet");(0,n.useEffect)(()=>{let e=(H?.connected?H:null)??(W?.connected?W:null);!e||M.current.has(e.device_id)||(M.current.add(e.device_id),(0,x.jV)(e,P))},[H,W]),(0,n.useEffect)(()=>{!H||H.connected||O.message||P({deviceId:H.device_id,phase:"checking",message:`Waiting for ${H.device_name} to reconnect so Conductor can finish its package update.`})},[O.message,H]);let Z=(0,n.useCallback)(async e=>{z({deviceId:e.device_id,kind:"restart",status:"running",message:`Restarting the bridge service on ${e.device_name}.`});try{let t=await (0,k.b)(e.device_id);z({deviceId:e.device_id,kind:"restart",status:"completed",message:`${t} Waiting for ${e.device_name} to reconnect.`}),[2e3,5e3,1e4,2e4,35e3].forEach(e=>{window.setTimeout(()=>{B(!1)},e)})}catch(t){z({deviceId:e.device_id,kind:"restart",status:"failed",message:t instanceof Error?t.message:`Failed to restart ${e.device_name}.`})}},[B]),Q=(0,n.useCallback)(async e=>{z({deviceId:e.device_id,kind:"repair",status:"running",message:`Reinstalling the bridge service on ${e.device_name}.`});try{let t=(0,w.pj)(window.location.origin),r=await (0,k.E)(e.device_id,t);z({deviceId:e.device_id,kind:"repair",status:"completed",message:r}),window.setTimeout(()=>{B(!1)},2e3)}catch(t){z({deviceId:e.device_id,kind:"repair",status:"failed",message:t instanceof Error?t.message:`Failed to repair ${e.device_name}.`})}},[B]),K=(0,n.useCallback)(async e=>{await (0,x.jV)(e,P),window.setTimeout(()=>{B(!1)},2e3)},[B]);return J?(0,a.jsx)(o(),{href:_,prefetch:!0,className:"inline-flex",title:I.length>0?"Open paired devices":"Pair a device",children:(0,a.jsx)(N,{connected:!1,className:e,title:I.length>0?"Open paired devices":"Pair a device",suffix:(0,a.jsx)(l.A,{className:"h-3.5 w-3.5"})})}):(0,a.jsxs)(i.bL,{children:[(0,a.jsx)(i.l9,{asChild:!0,children:(0,a.jsx)("button",{type:"button",className:"outline-none",children:(0,a.jsx)(N,{connected:X,className:e,title:Y,suffix:(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 text-current/70"})})})}),(0,a.jsx)(i.ZL,{children:(0,a.jsxs)(i.UC,{align:"end",sideOffset:8,className:"z-[90] w-[320px] rounded-[18px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 text-[var(--vk-text-normal)] shadow-[0_22px_48px_rgba(0,0,0,0.34)]",children:[(0,a.jsxs)("div",{className:"rounded-[14px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-3",children:[(0,a.jsx)("div",{className:"text-[11px] font-semibold uppercase tracking-[0.22em] text-[var(--vk-text-muted)]",children:"Conductor Bridge"}),(0,a.jsx)("div",{className:"mt-2 text-[13px] text-[var(--vk-text-normal)]",children:X?`${F.length} device${1===F.length?"":"s"} online`:A?"Loading device status":"No live bridge connection"}),(0,a.jsx)("div",{className:"mt-2 text-[11px] leading-5 text-[var(--vk-text-faint)]",children:"If a laptop is online but misbehaving, repair the bridge, update Conductor, or restart the service here."}),T?(0,a.jsx)("div",{className:"mt-2 text-[12px] leading-5 text-[var(--vk-red)]",children:T}):null,O.message?(0,a.jsx)("div",{className:(0,f.cn)("mt-2 text-[12px] leading-5","failed"===O.phase?"text-[var(--vk-red)]":"skipped"===O.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:O.message}):null]}),(0,a.jsx)("div",{className:"mt-2 max-h-[280px] overflow-y-auto",children:I.length>0?I.map(e=>{let t=(0,x.xv)(O,e.device_id),r="running"===D.status&&D.deviceId===e.device_id,n=r&&"repair"===D.kind,i=r&&"restart"===D.kind,s=D.deviceId===e.device_id&&(0,b.Az)(D.message)||O.deviceId===e.device_id&&(0,b.Az)(O.message);return(0,a.jsx)("div",{className:"rounded-[14px] px-3 py-2.5 transition-colors hover:bg-[var(--vk-bg-hover)]",children:(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("div",{className:"truncate text-[13px] font-medium text-[var(--vk-text-strong)]",children:e.device_name}),(0,a.jsxs)("div",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:[e.hostname," \xb7 ",e.os,"/",e.arch,(0,j.wj)(e.last_status?.version)]}),(0,a.jsxs)("div",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Relay: ",e.last_status?.hostname??e.hostname,(0,j.wj)(e.last_status?.version)]}),O.message&&O.deviceId===e.device_id?(0,a.jsx)("div",{className:(0,f.cn)("mt-1 text-[11px] leading-5","failed"===O.phase?"text-[var(--vk-red)]":"skipped"===O.phase?"text-[var(--vk-text-muted)]":"text-[var(--vk-text-faint)]"),children:O.message}):null,D.message&&D.deviceId===e.device_id?(0,a.jsx)("div",{className:(0,f.cn)("mt-1 text-[11px] leading-5","failed"===D.status?"text-[var(--vk-red)]":"completed"===D.status?"text-[var(--vk-green)]":"text-[var(--vk-text-faint)]"),children:D.message}):null,s&&G?(0,a.jsx)(h.i,{deviceId:e.device_id,deviceName:e.device_name,dashboardUrl:G,installScriptUrl:(0,w.pj)(G),relayUrl:V}):null,e.connected?(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[(0,a.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{Q(e)},children:[n?(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(v.A,{className:"h-3.5 w-3.5"}),"Repair bridge"]}),(0,a.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:t||r,onClick:()=>{K(e)},children:[t?(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(p.A,{className:"h-3.5 w-3.5"}),t?"Updating...":"Update Conductor"]}),(0,a.jsxs)("button",{type:"button",className:"inline-flex items-center gap-1.5 rounded-[10px] border border-[var(--vk-border)] px-2.5 py-1 text-[11px] font-medium text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)]",disabled:r||t,onClick:()=>{Z(e)},children:[i?(0,a.jsx)(u.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5"}),"Restart service"]})]}):null]}),(0,a.jsx)(N,{connected:!0===e.connected})]})},e.device_id)}):(0,a.jsx)("div",{className:"rounded-[14px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[12px] text-[var(--vk-text-muted)]",children:A?"Loading paired devices...":"Pair a laptop to see bridge status here."})}),(0,a.jsx)(i.wv,{className:"my-2 h-px bg-[var(--vk-border)]"}),(0,a.jsx)(i.q7,{asChild:!0,children:(0,a.jsxs)(o(),{href:_,prefetch:!0,className:"flex items-center justify-between rounded-[12px] px-3 py-2 text-[13px] font-medium text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{children:"Open paired devices"}),(0,a.jsx)(g.A,{className:"h-4 w-4 text-[var(--vk-text-muted)]"})]})})]})})]})}function C({connected:e,className:t,title:r}={}){return"boolean"==typeof e?(0,a.jsx)(N,{connected:e,className:t,title:r}):(0,a.jsx)($,{className:t})}},26167:(e,t,r)=>{r.d(t,{E:()=>i,b:()=>n});var a=r(11984);async function n(e){let t=await s(e,"service-restart",{});return t?.message??"Bridge service restart requested. This laptop should reconnect shortly."}async function i(e,t){let r=await s(e,"repair",{installScriptUrl:t});return r?.message??"Bridge reinstall requested. This laptop should reconnect shortly."}async function s(e,t,r){let n=await fetch(`/api/bridge/devices/${encodeURIComponent(e)}/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r),cache:"no-store"}),i=await n.json().catch(()=>null);if(!n.ok){var s,o;let e;throw Error((s=i?.error??i?.message??null,o=n.status,e=s?.trim()??"",(0,a.Az)(e)?(0,a.IG)("repair"===t?"repair":"restart"):e||`Failed to run ${t} on the bridge service (${o})`))}return i}},31404:(e,t,r)=>{r.d(t,{S:()=>n,y:()=>i});var a=r(10926);function n(e,t){let r=(0,a.C0)(t);if(!r)return e;let n=new URL(e,"http://127.0.0.1");return n.searchParams.set("bridgeId",r),`${n.pathname}${n.search}${n.hash}`}function i(e){let t=function(e){if(!e)return null;if(e instanceof URL)return e;if("string"==typeof e)try{return new URL(e,"http://127.0.0.1")}catch{return null}if("string"==typeof e.href)try{return new URL(e.href)}catch{}return null}(e);if(!t)return null;let r=(0,a.C0)(t.searchParams.get("bridge")??t.searchParams.get("bridgeId"));if(r)return r;let n=(0,a.DW)(t.searchParams.get("session"))?.bridgeId;if(n)return n;let i=t.pathname.match(/^\/sessions\/([^/]+)$/);if(!i)return null;try{return(0,a.DW)(decodeURIComponent(i[1]))?.bridgeId??null}catch{return null}}},44522:(e,t,r)=>{r.d(t,{N8:()=>l,Tr:()=>v,jV:()=>p,m7:()=>u,xv:()=>s});var a=r(31404),n=r(11984);let i="conductor-bridge-recent-pairing";function s(e,t){return e.deviceId===t&&("checking"===e.phase||"updating"===e.phase||"restarting"===e.phase)}function o(e,t){return t.jobMessage??`Installing Conductor ${t.latestVersion??"latest"} on ${e.device_name}.`}function d(e){let t=e.currentVersion?.trim();return t?` (build ${t})`:""}function l(e){if(!e.enabled)switch(e.reason){case"source-checkout":return"This laptop is running from a source checkout, so there is no published package to auto-update.";case"missing-cli-metadata":return"This install could not determine its update metadata, so automatic package updates are unavailable.";default:return"Automatic package updates are unavailable for this laptop."}return e.updateAvailable?e.canAutoUpdate?`This laptop is already running the latest Conductor release${d(e)}.`:"npx"===e.installMode?"This laptop was launched via npx, so the next launch will pick up the latest package automatically.":e.updateCommand?`A newer Conductor release is available, but this install still needs a manual update: ${e.updateCommand}`:"A newer Conductor release is available, but this install cannot update itself automatically.":`This laptop is already running the latest Conductor release${d(e)}.`}async function c(e,t){var r,i;let s=t?.method??"GET",o=`/api/bridge/devices/${encodeURIComponent(e)}/app-update`,d=new URL((0,a.S)(o,e),window.location.origin);t?.force&&d.searchParams.set("force","1");let l=await fetch(d.toString(),{method:s,headers:t?.body?{"Content-Type":"application/json"}:void 0,body:t?.body?JSON.stringify(t.body):void 0,cache:"no-store"}),c=await l.json().catch(()=>null);if(!l.ok){let e;throw Error((r=c&&"object"==typeof c&&"error"in c&&"string"==typeof c.error?c.error:null,i=l.status,e=r?.trim()??"",(0,n.Az)(e)?(0,n.IG)("update"):e||`Failed to update Conductor on this laptop (${i})`))}let u=c&&"object"==typeof c?c:null;if(!u)throw Error("Paired device returned an invalid update payload.");return u}function u(e){let t={deviceId:e.deviceId,deviceName:e.deviceName??null,pairedAt:new Date().toISOString()};try{window.localStorage.setItem(i,JSON.stringify(t))}catch{}}function v(){try{let e=window.localStorage.getItem(i);if(!e)return null;let t=JSON.parse(e);if(!(t&&"object"==typeof t&&"string"==typeof t.deviceId&&"string"==typeof t.pairedAt&&(null===t.deviceName||"string"==typeof t.deviceName)))return window.localStorage.removeItem(i),null;let r=Date.parse(t.pairedAt);if(!Number.isFinite(r)||Date.now()-r>18e5)return window.localStorage.removeItem(i),null;return t}catch{return null}}async function p(e,t){let r=(r,a)=>{t({deviceId:e.device_id,phase:r,message:a})};r("checking",`Checking for Conductor updates on ${e.device_name}.`);try{let t=await c(e.device_id,{force:!0});if(t.restarting)return void r("restarting",t.jobMessage??`Restart requested on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);if("running"===t.jobStatus)r("updating",o(e,t));else{if(!t.updateAvailable||!t.enabled||!t.canAutoUpdate)return void r(t.enabled&&t.canAutoUpdate?"completed":"skipped",l(t));t=await c(e.device_id,{method:"POST"}),r("updating",o(e,t))}let a=Date.now()+3e5;for(;Date.now()<a&&"running"===t.jobStatus;){if(await new Promise(e=>{window.setTimeout(e,1500)}),(t=await c(e.device_id)).restarting)return void r("restarting",t.jobMessage??`Restart requested on ${e.device_name}. This page will reconnect once the bridge runtime is back online.`);r("updating",o(e,t))}if("running"===t.jobStatus)return void r("updating",`The package update is still running on ${e.device_name}. Leave this page open and Conductor will finish applying it in the background.`);if("failed"===t.jobStatus)throw Error(t.jobMessage??t.error??`Automatic package update failed on ${e.device_name}.`);if(t.restartRequired){if(t.canRestart){t=await c(e.device_id,{method:"POST",body:{action:"restart"}}),r("restarting",t.jobMessage??`Restart requested on ${e.device_name} to finish updating Conductor.`);return}r("completed",t.jobMessage??`The latest Conductor package is installed on ${e.device_name}. Restart that laptop to finish updating.`);return}r("completed",t.jobMessage??`${e.device_name} is now updated to Conductor ${t.latestVersion??"latest"}.`)}catch(t){r("failed",t instanceof Error?t.message:`Failed to auto-update ${e.device_name}.`)}}},46916:(e,t,r)=>{r.d(t,{cn:()=>i});var a=r(9917),n=r(2809);function i(...e){return(0,n.QP)((0,a.$)(e))}},61369:(e,t,r)=>{function a(e){return/^[A-Za-z0-9_./:=@%+-]+$/.test(e)?e:`'${e.replace(/'/g,"'\"'\"'")}'`}function n(e){return e.map(a).join(" ")}function i(e){return new URL("/bridge/install.sh",e).toString()}function s(e){return`/bridge/connect?device=${encodeURIComponent(e)}#bridge-setup`}function o(e){return`curl -fsSL ${a(e)} | sh`}function d(e,t,r){let a=["npx","--yes","conductor-oss@latest","bridge","setup","--dashboard-url",t];return r?.trim()&&a.push("--relay-url",r.trim()),n(a)}function l(e,t){let r=["conductor-bridge","connect","--dashboard-url",e];return t?.trim()&&r.push("--relay-url",t.trim()),n(r)}function c(e,t){let r=["conductor-bridge","pair","--code",e?.trim()||"ABC123"],a=["conductor-bridge","daemon"];return t?.trim()&&(r.push("--relay-url",t.trim()),a.push("--relay-url",t.trim())),`${n(r)}
|
|
2
|
-
${n(a)}`}r.d(t,{$y:()=>d,G7:()=>o,hI:()=>l,kw:()=>s,pj:()=>i,zd:()=>c})},76081:(e,t,r)=>{r.d(t,{$:()=>l});var a=r(54568),n=r(46916),i=r(78347),s=r(7620);let o={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",primary:"border-[var(--vk-border)] bg-[var(--vk-bg-active)] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",ghost:"border-transparent bg-transparent text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",danger:"border-[var(--vk-red)]/40 bg-[color:color-mix(in_srgb,var(--vk-red)_18%,transparent)] text-[var(--vk-red)] hover:bg-[color:color-mix(in_srgb,var(--vk-red)_24%,transparent)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]"},d={sm:"h-7 px-2.5 text-[12px] gap-1",md:"h-8 px-3 text-[13px] gap-1.5",lg:"h-9 px-3.5 text-[14px] gap-2",icon:"h-8 w-8 p-0"},l=(0,s.forwardRef)(({variant:e="default",size:t="md",asChild:r,className:s,children:l,...c},u)=>{let v=r?i.DX:"button";return(0,a.jsx)(v,{ref:u,className:(0,n.cn)("inline-flex items-center justify-center rounded-[var(--radius-sm)] border font-medium","transition-colors duration-150","focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[var(--vk-orange)]","disabled:pointer-events-none disabled:opacity-45",o[e],d[t],s),...c,children:l})});l.displayName="Button"}}]);
|