tarsk 0.5.82 → 0.6.84
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/dist/index.js +4495 -1331
- package/dist/public/assets/account-view-3IQai5GD.js +1 -0
- package/dist/public/assets/{alert-dialog-CVooKafv.js → alert-dialog-L9wWQsMo.js} +1 -1
- package/dist/public/assets/api-BPfzuuZQ.js +2 -0
- package/dist/public/assets/{async-error-boundary-Did-c5sq.js → async-error-boundary-CaqfvYIw.js} +1 -1
- package/dist/public/assets/browser-tab-VPXEbJGQ.js +12 -0
- package/dist/public/assets/{button-DVIjvd2G.js → button-BRUlmKU9.js} +1 -1
- package/dist/public/assets/{card-DaHPdrGh.js → card-m4ducAvD.js} +1 -1
- package/dist/public/assets/chat-dock-context-Br2lSNOf.js +1 -0
- package/dist/public/assets/{commit-dialog-29_bboof.js → commit-dialog-Ck94WauZ.js} +1 -1
- package/dist/public/assets/{commit-error-dialog-ASd71LX_.js → commit-error-dialog-B3Ba-TT-.js} +1 -1
- package/dist/public/assets/{commit-method-fields-Bylj8VjO.js → commit-method-fields-BPRRj550.js} +1 -1
- package/dist/public/assets/conversation-history-view-Db-FOQwf.js +1 -0
- package/dist/public/assets/create-project-dialog-Chy1ooEs.js +2 -0
- package/dist/public/assets/{create-repo-dialog-DKcWU21A.js → create-repo-dialog-B8xz3jgU.js} +1 -1
- package/dist/public/assets/{delete-confirm-dialog-C9CQzpYL.js → delete-confirm-dialog-Dg-9HMkY.js} +1 -1
- package/dist/public/assets/{diff-view-eYW3Jliv.js → diff-view-CvrpMMk8.js} +2 -2
- package/dist/public/assets/{dist-VhqWx9-S.js → dist--8XEk-cL.js} +1 -1
- package/dist/public/assets/{dist-BI_HNW9c.js → dist-B_pwyFAz.js} +1 -1
- package/dist/public/assets/{dist-BVQgAd-x.js → dist-BrF4sqHu.js} +1 -1
- package/dist/public/assets/dist-C99qsdM0.js +2 -0
- package/dist/public/assets/{dist-BKsOX8kk.js → dist-Cw2XrcBQ.js} +1 -1
- package/dist/public/assets/{dist-GRNTsriM.js → dist-DPNQj0XL.js} +1 -1
- package/dist/public/assets/{dist-BYYtqVYm.js → dist-Dje5NBVh.js} +1 -1
- package/dist/public/assets/{dist-DqKWH8sc.js → dist-DrOhoOxi.js} +1 -1
- package/dist/public/assets/{es2015-CxOm1WGv.js → es2015-CkF7yGpJ.js} +1 -1
- package/dist/public/assets/{explorer-monaco-editor-DMvtDzfX.js → explorer-monaco-editor-mJ5cqcNE.js} +1 -1
- package/dist/public/assets/explorer-tab-view-CEWqpsav.js +2 -0
- package/dist/public/assets/explorer-tree-8N74JCtr.js +1 -0
- package/dist/public/assets/explorer-view-BdDHnhdp.js +76 -0
- package/dist/public/assets/{git-history-dialog-C3tayM-K.js → git-history-dialog-DT0imFFW.js} +1 -1
- package/dist/public/assets/index-BlKnosL1.css +1 -0
- package/dist/public/assets/index-CU6xcKiy.js +114 -0
- package/dist/public/assets/{lucide-react-C-dX1rVz.js → lucide-react-DW-FYOQd.js} +1 -1
- package/dist/public/assets/{model-list-controls-Yu77SyTe.js → model-list-controls-CfF-PN1k.js} +1 -1
- package/dist/public/assets/onboarding-dialog-CcTILQuy.js +1 -0
- package/dist/public/assets/{pill-tabs-B_YP0wlG.js → pill-tabs-C_XjoE72.js} +1 -1
- package/dist/public/assets/{progress-indicator-QgGbLfer.js → progress-indicator-EuomTuL6.js} +1 -1
- package/dist/public/assets/project-coding-view-37T_EVWc.js +1 -0
- package/dist/public/assets/{project-danger-zone-view-y2DDNkUE.js → project-danger-zone-view-B639X16E.js} +1 -1
- package/dist/public/assets/{project-env-vars-view-BAiGaui1.js → project-env-vars-view-BB1ffcba.js} +1 -1
- package/dist/public/assets/project-model-aliases-view-CWhc457F.js +1 -0
- package/dist/public/assets/project-settings-view-BRTta676.js +1 -0
- package/dist/public/assets/project-tools-view-Ce73nfbH.js +1 -0
- package/dist/public/assets/providers-list-view-DXk_pD4Y.js +1 -0
- package/dist/public/assets/{pull-request-dialog-D7Tc-DZW.js → pull-request-dialog-Cbg7Nmcx.js} +1 -1
- package/dist/public/assets/{pull-with-changes-dialog-DqH8eFaG.js → pull-with-changes-dialog-DZeHGFhc.js} +1 -1
- package/dist/public/assets/{push-before-pr-dialog-CxdsKSp0.js → push-before-pr-dialog-D5fWfVUs.js} +1 -1
- package/dist/public/assets/query-keys-C4ROIgnU.js +1 -0
- package/dist/public/assets/{scroll-area-DnAXfBMQ.js → scroll-area-jzW_lBt7.js} +1 -1
- package/dist/public/assets/settings-general-tabs-view-DC6f8G1d.js +2 -0
- package/dist/public/assets/settings-general-view-6TVzZ21Z.js +1 -0
- package/dist/public/assets/{settings-list-CvCGue_y.js → settings-list-DkQ2w1jX.js} +1 -1
- package/dist/public/assets/settings-logs-view-TPz2vcaO.js +5 -0
- package/dist/public/assets/{settings-mcp-servers-view-BiWEZyG-.js → settings-mcp-servers-view-CBGrusEF.js} +3 -3
- package/dist/public/assets/settings-models-view-HZlhD_SR.js +1 -0
- package/dist/public/assets/settings-plugins-view-B0FAYlr5.js +2 -0
- package/dist/public/assets/settings-providers-view-sqm5pUAH.js +2 -0
- package/dist/public/assets/settings-setup-view-C73a21hF.js +2 -0
- package/dist/public/assets/settings-skills-view-BRYzGHT0.js +2 -0
- package/dist/public/assets/{settings-slack-view-xWc3HZl5.js → settings-slack-view-By7cLQ_l.js} +1 -1
- package/dist/public/assets/settings-slash-commands-view-DFBRrsy5.js +1 -0
- package/dist/public/assets/{settings-statistics-view-BhrL3BwB.js → settings-statistics-view-C5e27kYx.js} +1 -1
- package/dist/public/assets/settings-storage-view-qZyKd-8X.js +1 -0
- package/dist/public/assets/{settings-subagents-view-C1WIOO6x.js → settings-subagents-view-DpFwkfvX.js} +2 -2
- package/dist/public/assets/{settings-system-prompt-view-b3IaVlp1.js → settings-system-prompt-view-cMKBgBkJ.js} +1 -1
- package/dist/public/assets/{settings-tab-bar-cx4BrJIY.js → settings-tab-bar-e6L6Mkoe.js} +1 -1
- package/dist/public/assets/settings-view-DHejRFnv.js +2 -0
- package/dist/public/assets/{slug-utils-D5qfm2sn.js → slug-utils-CuSw2LoU.js} +1 -1
- package/dist/public/assets/store-HOyKbtQR.js +9 -0
- package/dist/public/assets/{table-DHvBIex4.js → table-BIZvZqu5.js} +1 -1
- package/dist/public/assets/tasks-view-B0giBUuf.js +1 -0
- package/dist/public/assets/{terminal-panel-2T2Kc4CN.js → terminal-panel-dKlWiwk4.js} +3 -3
- package/dist/public/assets/{toggle-group-DaT4acSz.js → toggle-group-DP7rfPQH.js} +1 -1
- package/dist/public/assets/{tooltip-Cqmpv-M5.js → tooltip-C0Zn4uFr.js} +1 -1
- package/dist/public/assets/{use-active-dock-panel-instance-CuYvC5Us.js → use-active-dock-panel-instance-CKfR28OB.js} +1 -1
- package/dist/public/assets/{use-git-check-CmtXehtR.js → use-git-check-B94BHSs1.js} +1 -1
- package/dist/public/assets/use-installed-ai-files-CkWgs7ki.js +1 -0
- package/dist/public/assets/useBaseQuery-LTUHnxp5.js +1 -0
- package/dist/public/assets/{utils-CWTBjUlE.js → utils-DIi62oP7.js} +1 -1
- package/dist/public/assets/{web-BlBW8SWJ.js → web-C8RXkvWV.js} +1 -1
- package/dist/public/assets/{web-CsChMX5V.js → web-CTvU5lBF.js} +1 -1
- package/dist/public/assets/{web-CIGP6pa8.js → web-DfgvqvRM.js} +1 -1
- package/dist/public/assets/{web-bYOmn95I.js → web-DjiMWZNY.js} +1 -1
- package/dist/public/index.html +23 -22
- package/dist/vosk-worker.js.gz +0 -0
- package/package.json +9 -7
- package/dist/public/assets/account-view-CC_IRw14.js +0 -1
- package/dist/public/assets/api-IMkL19mR.js +0 -2
- package/dist/public/assets/browser-tab-CjdUnNr2.js +0 -12
- package/dist/public/assets/chat-dock-context-BA8EIToZ.js +0 -1
- package/dist/public/assets/conversation-history-view-CXHmQEA6.js +0 -1
- package/dist/public/assets/create-project-dialog-CtEUqqAd.js +0 -2
- package/dist/public/assets/dist-Ch137qdo.js +0 -2
- package/dist/public/assets/explorer-tab-view-CPN5epzi.js +0 -2
- package/dist/public/assets/explorer-tree-EjBLSWxV.js +0 -1
- package/dist/public/assets/explorer-view-DZh1FGrc.js +0 -76
- package/dist/public/assets/index-C3E_66vw.js +0 -114
- package/dist/public/assets/index-D42A6A6A.css +0 -1
- package/dist/public/assets/onboarding-dialog-C3vpTe8y.js +0 -1
- package/dist/public/assets/project-coding-view-DXtPNlL1.js +0 -1
- package/dist/public/assets/project-model-aliases-view-z5KtzKTK.js +0 -1
- package/dist/public/assets/project-settings-view-CvNtaVMG.js +0 -1
- package/dist/public/assets/project-tools-view-D3j7nVpp.js +0 -1
- package/dist/public/assets/providers-list-view-BY11UIaf.js +0 -1
- package/dist/public/assets/settings-general-tabs-view-YngdB7te.js +0 -2
- package/dist/public/assets/settings-general-view-BLovSe8Y.js +0 -1
- package/dist/public/assets/settings-logs-view-B2vFqetG.js +0 -5
- package/dist/public/assets/settings-models-view-B7STNfBy.js +0 -1
- package/dist/public/assets/settings-plugins-view-D8wypO3V.js +0 -2
- package/dist/public/assets/settings-providers-view-C5x9gCg7.js +0 -2
- package/dist/public/assets/settings-setup-view-VuWyf9Ey.js +0 -2
- package/dist/public/assets/settings-skills-view-cu2mzI28.js +0 -2
- package/dist/public/assets/settings-slash-commands-view-C9slbf4z.js +0 -1
- package/dist/public/assets/settings-storage-view-y4GyGxD-.js +0 -1
- package/dist/public/assets/settings-view-C_ggbCIB.js +0 -2
- package/dist/public/assets/store-CEYCdhjW.js +0 -9
- package/dist/public/assets/tasks-view-DFBi6JaW.js +0 -1
- package/dist/public/assets/use-installed-ai-files-Cdzy29ie.js +0 -1
- package/dist/public/assets/useBaseQuery-D6c39Xb1.js +0 -1
- package/dist/public/assets/vosk-speech-Fi-g2v8n.js +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/plus-jakarta-sans-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-cyrillic-wght-normal.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-greek-wght-normal.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-vietnamese-wght-normal.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-ext-wght-normal.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Liberation Mono;src:url(/fonts/liberation-mono-regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter Variable,system-ui,-apple-system,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{-webkit-user-select:none;user-select:none}input,textarea,select,[contenteditable],[role=textbox],.prose-custom,pre,code{-webkit-user-select:text;user-select:text}:root{--scenic-foreground:0 0% 9%;--scenic-foreground-inverse:0 0% 98%;--background:0 0% 100%;--foreground:0 0% 3.9%;--card:0 0% 100%;--card-foreground:0 0% 3.9%;--popover:0 0% 100%;--popover-foreground:0 0% 3.9%;--primary:0 0% 9%;--primary-foreground:0 0% 98%;--secondary:0 0% 96.1%;--secondary-foreground:0 0% 9%;--muted:0 0% 96.1%;--muted-foreground:0 0% 45.1%;--accent:0 0% 96.1%;--accent-foreground:0 0% 9%;--brand:81 91% 40%;--brand-foreground:0 0% 100%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:0 0% 89.8%;--divider:0 0% 89.8%;--table-border:0 0% 3.9% / .08;--input:0 0% 89.8%;--ring:0 0% 3.9%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%;--radius:.5rem;--sidebar-background:0 0% 100%;--sidebar-foreground:220 10% 20%;--sidebar-primary:220 10% 12%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:220 15% 93%;--sidebar-accent-foreground:220 10% 12%;--sidebar-border:220 13% 91%;--sidebar-ring:220 60% 55%;--image-off-background:0 0% 94%;--settings-sidebar-background:0 0% 100%}.dark{--background:0 0% 9.5%;--image-off-background:0 0% 12%;--foreground:0 0% 78%;--card:0 0% 3.9%;--card-foreground:0 0% 98%;--popover:0 0% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:0 0% 9%;--secondary:0 0% 14.9%;--secondary-foreground:0 0% 98%;--muted:0 0% 14.9%;--muted-foreground:0 0% 63.9%;--accent:0 0% 14.9%;--accent-foreground:0 0% 98%;--brand:81 91% 40%;--brand-foreground:0 0% 100%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:0 0% 14.9%;--divider:0 0% 100% / .15;--table-border:0 0% 100% / .07;--input:0 0% 14.9%;--ring:0 0% 83.1%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%;--sidebar-background:0 0% 12%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:0 0% 100% / .15;--sidebar-ring:217.2 91.2% 59.8%;--settings-sidebar-background:0 0% 19%}html,body,#root{height:100%}html[data-native-shell=true],html[data-native-shell=true] body,html[data-native-shell=true] #root{height:var(--app-viewport-height,100%);min-height:var(--app-viewport-height,100%)}html[data-native-shell=true] body{background:0 0}html[data-native-shell=true] #root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);background:0 0;padding-bottom:0;position:relative}html[data-native-shell=true] #root:before{content:"";z-index:-1;background:hsl(var(--background));position:fixed;inset:0}html[data-native-shell=true] .h-screen{height:var(--app-viewport-height,100vh)}html[data-native-shell=true] .max-h-screen{max-height:var(--app-viewport-height,100vh)}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter Variable,system-ui,-apple-system,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Plus Jakarta Sans Variable,system-ui,-apple-system,sans-serif}input[type=radio],input[type=checkbox]{accent-color:hsl(var(--brand))}.dark ::placeholder{opacity:.3}.\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.frosted-surface,.frosted-panel{background-color:hsl(var(--background) / var(--frosted-panel-opacity,.8))}html[data-wallpaper=background] body{background-color:hsl(var(--image-off-background));color:hsl(var(--foreground))}html[data-wallpaper=background][data-native-shell=true] #root:before{background:hsl(var(--image-off-background))}html[data-wallpaper=color] body{background-color:var(--wallpaper-color);color:hsl(var(--foreground))}html[data-wallpaper=color][data-native-shell=true] #root:before{background:var(--wallpaper-color)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-\[-8px\]{inset:-8px}.inset-x-0{left:0;right:0}.inset-x-px{left:1px;right:1px}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-right-12{right:-3rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-24{bottom:6rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.end-3{inset-inline-end:.75rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-2\.5{left:.625rem}.left-3{left:.75rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-6{right:1.5rem}.start-3{inset-inline-start:.75rem}.top-0{top:0}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3{top:.75rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.-m-1{margin:-.25rem}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mx-px{margin-left:1px;margin-right:1px}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.-mb-1{margin-bottom:-.25rem}.-mb-3{margin-bottom:-.75rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.-mt-6{margin-top:-1.5rem}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-2\.5{margin-left:.625rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-\[-10px\]{margin-left:-10px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.box-border{box-sizing:border-box}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:16/9}.size-2{width:.5rem;height:.5rem}.size-20{width:5rem;height:5rem}.size-3\.5{width:.875rem;height:.875rem}.size-4{width:1rem;height:1rem}.size-8{width:2rem;height:2rem}.h-0{height:0}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1em\]{height:1em}.h-\[1px\]{height:1px}.h-\[520px\]{height:520px}.h-\[80dvh\]{height:80dvh}.h-\[80vh\]{height:80vh}.h-\[min\(42rem\,90dvh\)\]{height:min(42rem,90dvh)}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-dvh{height:100dvh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.h-svh{height:100svh}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-80{max-height:20rem}.max-h-96{max-height:24rem}.max-h-\[100px\]{max-height:100px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[512px\]{max-height:512px}.max-h-\[60dvh\]{max-height:60dvh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85dvh\]{max-height:85dvh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-h-\[min\(16rem\,40svh\)\]{max-height:min(16rem,40svh)}.max-h-\[min\(36rem\,85vh\)\]{max-height:min(36rem,85vh)}.max-h-\[min\(400px\,80vh\)\]{max-height:min(400px,80vh)}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-full{max-height:100%}.max-h-none{max-height:none}.max-h-screen{max-height:100vh}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-32{min-height:8rem}.min-h-\[100px\]{min-height:100px}.min-h-\[120px\]{min-height:120px}.min-h-\[14rem\]{min-height:14rem}.min-h-\[240px\]{min-height:240px}.min-h-\[376px\]{min-height:376px}.min-h-\[3rem\]{min-height:3rem}.min-h-\[4\.5rem\]{min-height:4.5rem}.min-h-\[71px\]{min-height:71px}.min-h-\[80px\]{min-height:80px}.min-h-\[8rem\]{min-height:8rem}.min-h-full{min-height:100%}.min-h-svh{min-height:100svh}.w-0{width:0}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.6667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-32{width:8rem}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[--sidebar-width\]{width:var(--sidebar-width)}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-\[35\%\]{width:35%}.w-\[min\(100\%\,48rem\)\]{width:min(100%,48rem)}.w-\[var\(--radix-popover-trigger-width\)\]{width:var(--radix-popover-trigger-width)}.w-auto{width:auto}.w-dvw{width:100dvw}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-11{min-width:2.75rem}.min-w-4{min-width:1rem}.min-w-44{min-width:11rem}.min-w-5{min-width:1.25rem}.min-w-56{min-width:14rem}.min-w-72{min-width:18rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[180px\]{min-width:180px}.min-w-\[220px\]{min-width:220px}.min-w-\[3rem\]{min-width:3rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-0{max-width:0}.max-w-24{max-width:6rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-64{max-width:16rem}.max-w-96{max-width:24rem}.max-w-\[--skeleton-width\]{max-width:var(--skeleton-width)}.max-w-\[12rem\]{max-width:12rem}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[4\.5rem\]{max-width:4.5rem}.max-w-\[5rem\]{max-width:5rem}.max-w-\[6\.5rem\]{max-width:6.5rem}.max-w-\[calc\(100\%-4rem\)\]{max-width:calc(100% - 4rem)}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-\[min\(24rem\,calc\(100vw-1rem\)\)\]{max-width:min(24rem,100vw - 1rem)}.max-w-\[min\(92vw\,960px\)\]{max-width:min(92vw,960px)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-max{max-width:max-content}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-0{flex-basis:0}.basis-full{flex-basis:100%}.table-fixed{table-layout:fixed}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-center{transform-origin:50%}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x:-1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x:1px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-full{--tw-translate-y:100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes daily-spend-flip-in{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-daily-spend-flip-in{animation:daily-spend-flip-in var(--daily-spend-flip-duration,.3s) ease-out both}@keyframes daily-spend-flip-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.animate-daily-spend-flip-out{animation:daily-spend-flip-out var(--daily-spend-flip-duration,.3s) ease-out both}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes thread-dot-pulse{0%,to{opacity:.82;filter:brightness(.98);border-radius:9999px;transform:scale(.92)skew(0deg)}20%{opacity:.98;filter:brightness(1.08);border-radius:45% 55% 60% 40%/45% 40% 60% 55%;transform:scaleX(1.28)scaleY(.8)skew(-10deg,4deg)}40%{opacity:1;filter:brightness(1.16);border-radius:52% 48% 56% 44%/48% 54% 46% 52%;transform:scale(1.12)skew(6deg,-4deg)}60%{opacity:.74;filter:brightness();border-radius:58% 42% 45% 55%/55% 60% 40% 45%;transform:scaleX(.8)scaleY(1.24)skew(8deg,-8deg)}80%{opacity:.95;filter:brightness(1.1);border-radius:40% 60% 52% 48%/58% 42%;transform:scaleX(1.2)scaleY(.9)skew(-6deg,8deg)}}.animate-thread-dot-pulse{animation:1.35s cubic-bezier(.55,0,.45,1) infinite thread-dot-pulse}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.touch-none{touch-action:none}.touch-manipulation{touch-action:manipulation}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.resize-none{resize:none}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.grid-cols-\[2\.75rem_minmax\(0\,1fr\)_2\.75rem\]{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_1\.75rem\]{grid-template-columns:minmax(0,1fr) 1.75rem}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto_1\.75rem\]{grid-template-columns:minmax(0,1fr) auto 1.75rem}.grid-cols-\[repeat\(auto-fill\,minmax\(5\.5rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr))}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-1{column-gap:.25rem}.gap-x-2{column-gap:.5rem}.gap-x-3{column-gap:.75rem}.gap-x-4{column-gap:1rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-6{row-gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--border))}.divide-table-border>:not([hidden])~:not([hidden]){border-color:hsl(var(--table-border))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.scroll-smooth{scroll-behavior:smooth}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.15rem\]{border-radius:1.15rem}.rounded-\[24px\]{border-radius:24px}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-t-\[24px\]{border-top-left-radius:24px;border-top-right-radius:24px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[--color-border\]{border-color:var(--color-border)}.border-black\/25{border-color:#00000040}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-brand{border-color:hsl(var(--brand))}.border-brand\/30{border-color:hsl(var(--brand) / .3)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/20{border-color:hsl(var(--destructive) / .2)}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-divider{border-color:hsl(var(--divider))}.border-foreground\/30{border-color:hsl(var(--foreground) / .3)}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-input{border-color:hsl(var(--input))}.border-muted{border-color:hsl(var(--muted))}.border-primary{border-color:hsl(var(--primary))}.border-primary-foreground\/20{border-color:hsl(var(--primary-foreground) / .2)}.border-red-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-sidebar-border{border-color:hsl(var(--sidebar-border))}.border-table-border{border-color:hsl(var(--table-border))}.border-transparent{border-color:#0000}.border-l-transparent{border-left-color:#0000}.border-t-brand{border-top-color:hsl(var(--brand))}.border-t-primary{border-top-color:hsl(var(--primary))}.border-t-transparent{border-top-color:#0000}.bg-\[--color-bg\]{background-color:var(--color-bg)}.bg-\[hsl\(0_0\%_35\%\)\]{--tw-bg-opacity:1;background-color:hsl(0 0% 35%/var(--tw-bg-opacity,1))}.bg-\[hsl\(var\(--image-off-background\)\)\]{background-color:hsl(var(--image-off-background))}.bg-\[var\(--wallpaper-color\)\]{background-color:var(--wallpaper-color)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/50{background-color:hsl(var(--background) / .5)}.bg-background\/60{background-color:hsl(var(--background) / .6)}.bg-background\/70{background-color:hsl(var(--background) / .7)}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/25{background-color:#00000040}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-black\/85{background-color:#000000d9}.bg-border{background-color:hsl(var(--border))}.bg-brand{background-color:hsl(var(--brand))}.bg-brand\/15{background-color:hsl(var(--brand) / .15)}.bg-card{background-color:hsl(var(--card))}.bg-current{background-color:currentColor}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-divider{background-color:hsl(var(--divider))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-foreground\/20{background-color:hsl(var(--foreground) / .2)}.bg-foreground\/25{background-color:hsl(var(--foreground) / .25)}.bg-foreground\/35{background-color:hsl(var(--foreground) / .35)}.bg-foreground\/5{background-color:hsl(var(--foreground) / .05)}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/15{background-color:#22c55e26}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/10{background-color:hsl(var(--muted) / .1)}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-muted\/80{background-color:hsl(var(--muted) / .8)}.bg-neutral-950{--tw-bg-opacity:1;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-orange-500\/10{background-color:#f973161a}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-accent{background-color:hsl(var(--sidebar-accent))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top, var(--tw-gradient-stops))}.from-\[hsl\(0_0\%_35\%\)\]{--tw-gradient-from:#595959 var(--tw-gradient-from-position);--tw-gradient-to:#59595900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-background{--tw-gradient-from:hsl(var(--background)) var(--tw-gradient-from-position);--tw-gradient-to:hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.to-\[hsl\(0_0\%_25\%\)\]{--tw-gradient-to:#404040 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.fill-brand{fill:hsl(var(--brand))}.fill-current{fill:currentColor}.fill-yellow-400{fill:#facc15}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-10{padding-bottom:2.5rem}.pb-14{padding-bottom:3.5rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pe-12{padding-inline-end:3rem}.pl-0{padding-left:0}.pl-0\.5{padding-left:.125rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-8{padding-left:2rem}.pl-\[18px\]{padding-left:18px}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-20{padding-right:5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pr-\[4px\]{padding-right:4px}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.font-mono{font-family:Liberation Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,monospace}.font-sans{font-family:Inter Variable,system-ui,-apple-system,sans-serif}.text-2xl{font-size:1.65rem;line-height:2.2rem}.text-3xl{font-size:2.0625rem;line-height:2.475rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-base{font-size:1.1rem;line-height:1.65rem}.text-lg{font-size:1.2375rem;line-height:1.925rem}.text-sm{font-size:.9625rem;line-height:1.375rem}.text-xl{font-size:1.375rem;line-height:1.925rem}.text-xs{font-size:.825rem;line-height:1.1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.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)}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}.\!text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-amber-600{--tw-text-opacity:1;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-amber-700{--tw-text-opacity:1;color:rgb(180 83 9/var(--tw-text-opacity,1))}.text-background{color:hsl(var(--background))}.text-background\/70{color:hsl(var(--background) / .7)}.text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-brand{color:hsl(var(--brand))}.text-brand-foreground{color:hsl(var(--brand-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-cyan-500{--tw-text-opacity:1;color:rgb(6 182 212/var(--tw-text-opacity,1))}.text-cyan-600{--tw-text-opacity:1;color:rgb(8 145 178/var(--tw-text-opacity,1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-fuchsia-500{--tw-text-opacity:1;color:rgb(217 70 239/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-900{--tw-text-opacity:1;color:rgb(20 83 45/var(--tw-text-opacity,1))}.text-indigo-500{--tw-text-opacity:1;color:rgb(99 102 241/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-lime-600{--tw-text-opacity:1;color:rgb(101 163 13/var(--tw-text-opacity,1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/25{color:hsl(var(--muted-foreground) / .25)}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-muted-foreground\/60{color:hsl(var(--muted-foreground) / .6)}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-orange-700{--tw-text-opacity:1;color:rgb(194 65 12/var(--tw-text-opacity,1))}.text-pink-500{--tw-text-opacity:1;color:rgb(236 72 153/var(--tw-text-opacity,1))}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.text-sky-500{--tw-text-opacity:1;color:rgb(14 165 233/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-violet-500{--tw-text-opacity:1;color:rgb(139 92 246/var(--tw-text-opacity,1))}.text-violet-600{--tw-text-opacity:1;color:rgb(124 58 237/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.decoration-border{-webkit-text-decoration-color:hsl(var(--border));text-decoration-color:hsl(var(--border))}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_hsl\(var\(--sidebar-border\)\)\]{--tw-shadow:0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_2px_4px_rgba\(0\,0\,0\,0\.14\)\]{--tw-shadow:inset 0 2px 4px #00000024;--tw-shadow-colored:inset 0 2px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-offset-1{outline-offset:1px}.outline-brand{outline-color:hsl(var(--brand))}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-\[3px\]{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-background{--tw-ring-color:hsl(var(--background))}.ring-border\/80{--tw-ring-color:hsl(var(--border) / .8)}.ring-brand{--tw-ring-color:hsl(var(--brand))}.ring-primary{--tw-ring-color:hsl(var(--primary))}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px);-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-md{--tw-backdrop-blur:blur(12px);-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-none{--tw-backdrop-blur: ;-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(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[grid-template-rows\,max-width\]{transition-property:grid-template-rows,max-width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[margin\,opa\]{transition-property:margin,opa;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[opacity\,color\,background-color\]{transition-property:opacity,color,background-color;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[padding\]{transition-property:padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,height\,padding\]{transition-property:width,height,padding;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\,opacity\]{transition-property:width,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[width\]{transition-property:width;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.animate-out{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.fade-in,.fade-in-0{--tw-enter-opacity:0}.fade-in-80{--tw-enter-opacity:.8}.fade-out{--tw-exit-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.slide-in-from-bottom-2{--tw-enter-translate-y:.5rem}.slide-in-from-top-2{--tw-enter-translate-y:-.5rem}.duration-1000{animation-duration:1s}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}.paused{animation-play-state:paused}.fill-mode-forwards{animation-fill-mode:forwards}.\@container\/settings-page{container:settings-page/inline-size}.text-balance{text-wrap:balance}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}.frosted-scrollbar{scrollbar-width:thin;scrollbar-color:hsl(var(--foreground) / .35) transparent}.frosted-scrollbar::-webkit-scrollbar{appearance:none;background:0 0;width:8px}.frosted-scrollbar::-webkit-scrollbar-track{-webkit-box-shadow:none;box-shadow:none;background:0 0}.frosted-scrollbar::-webkit-scrollbar-track-piece{-webkit-box-shadow:none;box-shadow:none;background:0 0}.frosted-scrollbar::-webkit-scrollbar-button{width:0;height:0;display:none}.frosted-scrollbar::-webkit-scrollbar-thumb{background-color:hsl(var(--foreground) / .35);background-clip:padding-box;border:2px solid #0000;border-radius:9999px}.frosted-scrollbar::-webkit-scrollbar-thumb:hover{background-color:hsl(var(--foreground) / .5)}.frosted-scrollbar::-webkit-scrollbar-corner{background:0 0}.scenic-foreground{color:hsl(var(--scenic-foreground))}html[data-wallpaper=background] .scenic-foreground{color:hsl(var(--foreground))}.scenic-chrome-button{color:hsl(var(--scenic-foreground) / .8);transition-property:color,background-color;transition-duration:.15s}.scenic-chrome-button:hover{background-color:hsl(var(--scenic-foreground));color:hsl(var(--scenic-foreground-inverse))}html[data-wallpaper=background] .scenic-chrome-button{color:hsl(var(--muted-foreground))}html[data-wallpaper=background] .scenic-chrome-button:hover{background-color:hsl(var(--foreground));color:hsl(var(--background))}.animate-shimmer{background-image:linear-gradient(90deg, hsl(var(--muted-foreground)) 0%, hsl(var(--muted-foreground)) 40%, hsl(var(--foreground) / .9) 50%, hsl(var(--muted-foreground)) 60%, hsl(var(--muted-foreground)) 100%);color:#0000;-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:2.5s ease-in-out infinite shimmer}.animate-headline-reset{transform-origin:0;animation:.6s ease-in-out headline-reset}.animate-roster-ring-glow{animation:1.6s ease-in-out infinite roster-ring-glow}.\[grid-template-columns\:repeat\(auto-fill\,minmax\(min\(220px\,100\%\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}.\[scrollbar-width\:none\]{scrollbar-width:none}@keyframes radial-pulse{0%{box-shadow:0 0 0 0 hsl(var(--foreground) / .5)}50%{box-shadow:0 0 0 6px hsl(var(--foreground) / .1)}to{box-shadow:0 0 0 12px hsl(var(--foreground) / 0)}}@keyframes radial-pulse-brand{0%{box-shadow:0 0 0 0 hsl(var(--brand) / .5)}50%{box-shadow:0 0 0 6px hsl(var(--brand) / .1)}to{box-shadow:0 0 0 12px hsl(var(--brand) / 0)}}@keyframes shimmer{0%{background-position:150%}to{background-position:-50%}}@keyframes ai-spinner-ring-grow{0%{r:.5px}to{r:7px}}@keyframes ai-spinner-ring-fade{0%{stroke-opacity:1}to{stroke-opacity:0}}.ai-spinner-ring{animation:1.8s cubic-bezier(.165,.84,.44,1) infinite ai-spinner-ring-grow,1.8s cubic-bezier(.3,.61,.355,1) infinite ai-spinner-ring-fade}.ai-spinner-ring-second{animation-duration:1.7s,1.7s;animation-delay:-.5s,-.5s}@keyframes spin-slow{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}@keyframes headline-reset{0%,to{color:hsl(var(--foreground));transform:scale(1)rotate(0)}25%{color:hsl(var(--brand));transform:scale(1.06)rotate(-2deg)}50%{color:hsl(var(--brand));transform:scale(1.06)rotate(2deg)}75%{color:hsl(var(--foreground));transform:scale(1.02)rotate(-1deg)}}@keyframes roster-ring-glow{0%,to{opacity:.4}50%{opacity:1}}.diff-comment-marked-line{background:#eab30847!important;border-left:3px solid #eab308!important}.diff-comment-active-line{outline-offset:-1px!important;background:#ea820873!important;border-left:3px solid #ea8208!important;outline:1px solid #ea820899!important}.diff-gutter-add-comment{cursor:pointer;background-color:#0000;margin-left:3px;width:0!important}.diff-gutter-add-comment:after{content:"+";color:#0000;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:18px;font-weight:700;line-height:1;transition:all .1s;display:flex}.diff-editor-panel .monaco-editor .margin-view-overlays:hover .diff-gutter-add-comment:after,.diff-editor-panel .monaco-editor .margin-view-overlays .cgmr.codicon-diff-gutter-add-comment:after{color:var(--vscode-editor-foreground,#ccc);background-color:#ffffff1a}.diff-editor-panel .monaco-editor .margin-view-overlays:hover .diff-gutter-add-comment:hover:after{color:#fff;background-color:#3b82f699}.diff-comment-glyph{cursor:pointer;margin-left:3px;width:0!important}.diff-comment-glyph:after{content:"💬";cursor:pointer;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:flex}.diff-comment-glyph-active{cursor:pointer;margin-left:3px;width:0!important}.diff-comment-glyph-active:after{content:"💬";cursor:pointer;background-color:#ea820866;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;font-size:14px;line-height:1;display:flex}.terminal-scrollbar,.terminal-scrollbar .xterm-viewport{scrollbar-width:none;-ms-overflow-style:none}.terminal-scrollbar::-webkit-scrollbar{display:none}.terminal-scrollbar .xterm-viewport::-webkit-scrollbar{display:none}[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}[data-radix-scroll-area-viewport]>div{display:block!important}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-base::file-selector-button{font-size:1.1rem;line-height:1.65rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-\[-1px\]:before{content:var(--tw-content);inset:-1px}@keyframes ping-subtle{75%,to{content:var(--tw-content);opacity:0;transform:scale(1.15)}}.before\:animate-ping-subtle:before{content:var(--tw-content);animation:1.5s cubic-bezier(0,0,.2,1) infinite ping-subtle}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:border:before{content:var(--tw-content);border-width:1px}.before\:border-orange-500\/60:before{content:var(--tw-content);border-color:#f9731699}.before\:border-primary\/60:before{content:var(--tw-content);border-color:hsl(var(--primary) / .6)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);inset:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\[2px\]:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:mb-0:last-child{margin-bottom:0}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.last\:border-b-0:last-child{border-bottom-width:0}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-0:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-within\:ring-2:focus-within{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-within\:ring-brand:focus-within{--tw-ring-color:hsl(var(--brand))}.focus-within\:ring-ring\/40:focus-within{--tw-ring-color:hsl(var(--ring) / .4)}.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:\!bg-\[hsl\(var\(--scenic-foreground\)\)\]:hover{background-color:hsl(var(--scenic-foreground))!important}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/40:hover{background-color:hsl(var(--accent) / .4)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-background:hover{background-color:hsl(var(--background))}.hover\:bg-background\/50:hover{background-color:hsl(var(--background) / .5)}.hover\:bg-brand:hover{background-color:hsl(var(--brand))}.hover\:bg-brand\/90:hover{background-color:hsl(var(--brand) / .9)}.hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-foreground:hover{background-color:hsl(var(--foreground))}.hover\:bg-foreground\/90:hover{background-color:hsl(var(--foreground) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/70:hover{background-color:hsl(var(--muted) / .7)}.hover\:bg-muted\/80:hover{background-color:hsl(var(--muted) / .8)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-red-200:hover{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.hover\:bg-transparent:hover{background-color:#0000}.hover\:bg-white\/15:hover{background-color:#ffffff26}.hover\:\!text-\[hsl\(var\(--scenic-foreground-inverse\)\)\]:hover{color:hsl(var(--scenic-foreground-inverse))!important}.hover\:\!text-white:hover{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-background:hover{color:hsl(var(--background))}.hover\:text-brand:hover{color:hsl(var(--brand))}.hover\:text-brand\/80:hover{color:hsl(var(--brand) / .8)}.hover\:text-destructive:hover{color:hsl(var(--destructive))}.hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.hover\:text-destructive\/80:hover{color:hsl(var(--destructive) / .8)}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/80:hover{color:hsl(var(--primary) / .8)}.hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-foreground\/60:hover{-webkit-text-decoration-color:hsl(var(--foreground) / .6);text-decoration-color:hsl(var(--foreground) / .6)}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\]:hover{--tw-shadow:0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-destructive:focus{color:hsl(var(--destructive))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:pointer-events-auto:focus-visible{pointer-events:auto}.focus-visible\:bg-foreground\/5:focus-visible{background-color:hsl(var(--foreground) / .05)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.focus-visible\:ring-offset-sidebar:focus-visible{--tw-ring-offset-color:hsl(var(--sidebar-background))}.active\:bg-sidebar-accent:active{background-color:hsl(var(--sidebar-accent))}.active\:text-sidebar-accent-foreground:active{color:hsl(var(--sidebar-accent-foreground))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:#0000}.disabled\:hover\:text-muted-foreground:hover:disabled{color:hsl(var(--muted-foreground))}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group:hover .group-hover\:text-foreground{color:hsl(var(--foreground))}.group\/chats:hover .group-hover\/chats\:opacity-100,.group\/img:hover .group-hover\/img\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:invert{--tw-invert:invert(100%);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)}.group\/summary:focus-visible .group-focus-visible\/summary\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-destructive-foreground{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\[data-variant\=inset\]\]\:bg-sidebar:has([data-variant=inset]){background-color:hsl(var(--sidebar-background))}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has([data-sidebar=menu-action]) .group-has-\[\[data-sidebar\=menu-action\]\]\/menu-item\:pr-8{padding-right:2rem}.aria-checked\:border-transparent[aria-checked=true]{border-color:#0000}.aria-checked\:bg-foreground[aria-checked=true]{background-color:hsl(var(--foreground))}.aria-checked\:text-background[aria-checked=true]{color:hsl(var(--background))}.aria-disabled\:pointer-events-none[aria-disabled=true]{pointer-events:none}.aria-disabled\:opacity-50[aria-disabled=true]{opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x:1.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:.2s ease-out accordion-down}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[active\=true\]\:bg-sidebar-accent[data-active=true]{background-color:hsl(var(--sidebar-accent))}.data-\[active\]\:bg-accent\/50[data-active]{background-color:hsl(var(--accent) / .5)}.data-\[selected\=\'true\'\]\:bg-accent[data-selected=true]{background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on]{background-color:hsl(var(--accent))}.data-\[state\=on\]\:bg-foreground[data-state=on]{background-color:hsl(var(--foreground))}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:hsl(var(--accent) / .5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[active\=true\]\:font-medium[data-active=true]{font-weight:500}.data-\[active\=true\]\:text-sidebar-accent-foreground[data-active=true]{color:hsl(var(--sidebar-accent-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-background[data-state=active]{color:hsl(var(--background))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=on\]\:text-background[data-state=on]{color:hsl(var(--background))}.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=active\]\:shadow-sm[data-state=active],.data-\[state\=on\]\:shadow-sm[data-state=on]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=on\]\:hover\:bg-foreground:hover[data-state=on]{background-color:hsl(var(--foreground))}.data-\[state\=open\]\:hover\:bg-sidebar-accent:hover[data-state=open]{background-color:hsl(var(--sidebar-accent))}.data-\[state\=on\]\:hover\:text-background:hover[data-state=on]{color:hsl(var(--background))}.data-\[state\=open\]\:hover\:text-sidebar-accent-foreground:hover[data-state=open]{color:hsl(var(--sidebar-accent-foreground))}.group[data-side=left] .group-data-\[side\=left\]\:-right-4{right:-1rem}.group[data-side=right] .group-data-\[side\=right\]\:left-0{left:0}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:-mt-8{margin-top:-2rem}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:hidden,.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hidden{display:none}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!size-8{width:2rem!important;height:2rem!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[--sidebar-width-icon\]{width:var(--sidebar-width-icon)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\]{width:calc(var(--sidebar-width-icon) + 1rem)}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:w-\[calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\]{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:w-0{width:0}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:translate-x-0{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-side=right] .group-data-\[side\=right\]\:rotate-180,.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:overflow-hidden{overflow:hidden}.group[data-variant=floating] .group-data-\[variant\=floating\]\:rounded-lg{border-radius:var(--radius)}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border{border-width:1px}.group[data-side=left] .group-data-\[side\=left\]\:border-r{border-right-width:1px}.group[data-side=right] .group-data-\[side\=right\]\:border-l{border-left-width:1px}.group[data-variant=floating] .group-data-\[variant\=floating\]\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.group[data-state=checked] .group-data-\[state\=checked\]\:bg-primary{background-color:hsl(var(--primary))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-0{padding:0!important}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:\!p-2{padding:.5rem!important}.group[data-state=checked] .group-data-\[state\=checked\]\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group[data-collapsible=icon] .group-data-\[collapsible\=icon\]\:opacity-0{opacity:0}.group[data-variant=floating] .group-data-\[variant\=floating\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:after\:left-full:after{content:var(--tw-content);left:100%}.group[data-collapsible=offcanvas] .group-data-\[collapsible\=offcanvas\]\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.peer\/menu-button[data-size=default]~.peer-data-\[size\=default\]\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-button[data-size=lg]~.peer-data-\[size\=lg\]\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-button[data-size=sm]~.peer-data-\[size\=sm\]\/menu-button\:top-1{top:.25rem}.peer[data-variant=inset]~.peer-data-\[variant\=inset\]\:min-h-\[calc\(100svh-theme\(spacing\.4\)\)\]{min-height:calc(100svh - 1rem)}.peer\/menu-button[data-active=true]~.peer-data-\[active\=true\]\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}@container settings-page (width>=28rem){.\@md\/settings-page\:grid{display:grid}.\@md\/settings-page\:hidden{display:none}.\@md\/settings-page\:min-h-10{min-height:2.5rem}.\@md\/settings-page\:w-44{width:11rem}.\@md\/settings-page\:shrink-0{flex-shrink:0}.\@md\/settings-page\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\@md\/settings-page\:flex-row{flex-direction:row}.\@md\/settings-page\:items-start{align-items:flex-start}.\@md\/settings-page\:items-center{align-items:center}.\@md\/settings-page\:gap-4{gap:1rem}}@media (hover:hover) and (pointer:fine){.can-hover\:opacity-0{opacity:0}.can-hover\:transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.can-hover\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.can-hover\:hover\:bg-foreground\/35:hover{background-color:hsl(var(--foreground) / .35)}.can-hover\:hover\:bg-foreground\/50:hover{background-color:hsl(var(--foreground) / .5)}.can-hover\:hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.can-hover\:hover\:bg-orange-500\/10:hover{background-color:#f973161a}.can-hover\:hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.can-hover\:hover\:text-destructive:hover{color:hsl(var(--destructive))}.can-hover\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.can-hover\:hover\:text-sidebar-accent-foreground:hover{color:hsl(var(--sidebar-accent-foreground))}.group\/chats:hover .can-hover\:group-hover\/chats\:pointer-events-auto,.group\/sidebar:hover .can-hover\:group-hover\/sidebar\:pointer-events-auto,.group:hover .can-hover\:group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .can-hover\:group-hover\:visible{visibility:visible}.group:hover .can-hover\:group-hover\:scale-\[1\.03\]{--tw-scale-x:1.03;--tw-scale-y:1.03;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .can-hover\:group-hover\:border-foreground\/50{border-color:hsl(var(--foreground) / .5)}.group:hover .can-hover\:group-hover\:bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.group:hover .can-hover\:group-hover\:bg-foreground\/50{background-color:hsl(var(--foreground) / .5)}.group:hover .can-hover\:group-hover\:text-foreground\/80{color:hsl(var(--foreground) / .8)}.group\/chats:hover .can-hover\:group-hover\/chats\:opacity-100,.group\/item:hover .can-hover\:group-hover\/item\:opacity-100,.group\/sidebar:hover .can-hover\:group-hover\/sidebar\:opacity-100,.group\/summary:hover .can-hover\:group-hover\/summary\:opacity-100,.group:hover .can-hover\:group-hover\:opacity-100{opacity:1}}@media (prefers-reduced-motion:no-preference){@keyframes pulse{50%{opacity:.5}}.motion-safe\:animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:scroll-auto{scroll-behavior:auto}.motion-reduce\:transition-none{transition-property:none}}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}.dark\:border-green-800:is(.dark *){--tw-border-opacity:1;border-color:rgb(22 101 52/var(--tw-border-opacity,1))}.dark\:border-white\/25:is(.dark *){border-color:#ffffff40}.dark\:bg-background:is(.dark *){background-color:hsl(var(--background))}.dark\:bg-black\/50:is(.dark *){background-color:#00000080}.dark\:bg-brand:is(.dark *){background-color:hsl(var(--brand))}.dark\:bg-foreground:is(.dark *){background-color:hsl(var(--foreground))}.dark\:bg-foreground\/30:is(.dark *){background-color:hsl(var(--foreground) / .3)}.dark\:bg-green-900\/20:is(.dark *){background-color:#14532d33}.dark\:bg-green-950\/30:is(.dark *){background-color:#052e164d}.dark\:bg-muted:is(.dark *){background-color:hsl(var(--muted))}.dark\:text-amber-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.dark\:text-foreground:is(.dark *){color:hsl(var(--foreground))}.dark\:text-green-300:is(.dark *){--tw-text-opacity:1;color:rgb(134 239 172/var(--tw-text-opacity,1))}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-white:is(.dark *){--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.dark\:shadow-\[inset_0_2px_4px_rgba\(0\,0\,0\,0\.35\)\]:is(.dark *){--tw-shadow:inset 0 2px 4px #00000059;--tw-shadow-colored:inset 0 2px 4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.dark\:invert:is(.dark *){--tw-invert:invert(100%);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)}.dark\:hover\:bg-brand\/90:hover:is(.dark *){background-color:hsl(var(--brand) / .9)}.dark\:hover\:bg-primary:hover:is(.dark *){background-color:hsl(var(--primary))}.dark\:hover\:bg-red-800:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.dark\:hover\:bg-transparent:hover:is(.dark *){background-color:#0000}.dark\:hover\:text-foreground:hover:is(.dark *){color:hsl(var(--foreground))}.dark\:hover\:text-primary-foreground:hover:is(.dark *){color:hsl(var(--primary-foreground))}.group:hover .dark\:group-hover\:invert-0:is(.dark *){--tw-invert:invert(0);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)}.dark\:data-\[state\=active\]\:bg-foreground[data-state=active]:is(.dark *){background-color:hsl(var(--foreground))}.dark\:data-\[state\=active\]\:text-background[data-state=active]:is(.dark *){color:hsl(var(--background))}@media not all and (width>=768px){.max-md\:top-\[max\(1rem\,env\(safe-area-inset-top\,0px\)\)\]{top:max(1rem, env(safe-area-inset-top,0px))}.max-md\:hidden{display:none}.max-md\:max-h-\[calc\(100dvh-2rem\)\]{max-height:calc(100dvh - 2rem)}.max-md\:translate-y-0{--tw-translate-y:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.max-md\:overflow-y-auto{overflow-y:auto}.max-md\:px-0{padding-left:0;padding-right:0}.max-md\:px-2{padding-left:.5rem;padding-right:.5rem}.max-md\:data-\[state\=closed\]\:zoom-out-100[data-state=closed]{--tw-exit-scale:1}.max-md\:data-\[state\=open\]\:zoom-in-100[data-state=open]{--tw-enter-scale:1}.max-md\:data-\[state\=closed\]\:slide-out-to-left-0[data-state=closed]{--tw-exit-translate-x:-0px}.max-md\:data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.max-md\:data-\[state\=open\]\:slide-in-from-left-0[data-state=open]{--tw-enter-translate-x:-0px}.max-md\:data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}}@media not all and (width>=640px){.max-sm\:hidden{display:none}}@media (width>=640px){.sm\:pointer-events-none{pointer-events:none}.sm\:absolute{position:absolute}.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:right-4{right:1rem}.sm\:top-3{top:.75rem}.sm\:top-auto{top:auto}.sm\:z-10{z-index:10}.sm\:mt-0{margin-top:0}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-9{height:2.25rem}.sm\:max-h-none{max-height:none}.sm\:w-52{width:13rem}.sm\:w-56{width:14rem}.sm\:w-9{width:2.25rem}.sm\:w-auto{width:auto}.sm\:max-w-\[320px\]{max-width:320px}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-\[500px\]{max-width:500px}.sm\:max-w-\[5rem\]{max-width:5rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-sm{max-width:24rem}.sm\:flex-1{flex:1}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[repeat\(auto-fill\,minmax\(6\.5rem\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:items-start{align-items:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-0{gap:0}.sm\:gap-2\.5{gap:.625rem}.sm\:gap-4{gap:1rem}.sm\:gap-x-6{column-gap:1.5rem}.sm\:gap-y-8{row-gap:2rem}.sm\:space-x-0>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:border-b-0{border-bottom-width:0}.sm\:border-r{border-right-width:1px}.sm\:p-4{padding:1rem}.sm\:text-left{text-align:left}.sm\:opacity-0{opacity:0}.sm\:data-\[state\=open\]\:pointer-events-auto[data-state=open]{pointer-events:auto}.sm\:data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}@media (hover:hover) and (pointer:fine){.group\/task-row:hover .sm\:can-hover\:group-hover\/task-row\:pointer-events-auto{pointer-events:auto}.group\/task-row:hover .sm\:can-hover\:group-hover\/task-row\:opacity-100{opacity:1}}}@media (width>=768px){.md\:absolute{position:absolute}.md\:-ml-\[6px\]{margin-left:-6px}.md\:ml-auto{margin-left:auto}.md\:mr-4{margin-right:1rem}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-16{height:4rem}.md\:h-\[71px\]{height:71px}.md\:h-\[95vh\]{height:95vh}.md\:h-\[min\(36rem\,85dvh\)\]{height:min(36rem,85dvh)}.md\:h-auto{height:auto}.md\:max-h-\[calc\(100svh-2rem\)\]{max-height:calc(100svh - 2rem)}.md\:min-h-\[103px\]{min-height:103px}.md\:w-52{width:13rem}.md\:w-\[80vw\]{width:80vw}.md\:w-\[calc\(100\%\/3_-_0\.5rem\)\]{width:calc(33.3333% - .5rem)}.md\:w-\[calc\(50\%_-_0\.375rem\)\]{width:calc(50% - .375rem)}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[1400px\]{max-width:1400px}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:gap-2{gap:.5rem}.md\:self-auto{align-self:auto}.md\:overflow-x-auto{overflow-x:auto}.md\:overflow-y-hidden{overflow-y:hidden}.md\:p-6{padding:1.5rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:py-0{padding-top:0;padding-bottom:0}.md\:pb-4{padding-bottom:1rem}.md\:pl-4{padding-left:1rem}.md\:opacity-0{opacity:0}.md\:\[scrollbar-width\:none\]{scrollbar-width:none}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:m-2{margin:.5rem}.peer[data-state=collapsed][data-variant=inset]~.md\:peer-data-\[state\=collapsed\]\:peer-data-\[variant\=inset\]\:ml-2{margin-left:.5rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:ml-0{margin-left:0}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:rounded-xl{border-radius:.75rem}.peer[data-variant=inset]~.md\:peer-data-\[variant\=inset\]\:shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}}@media (width>=1024px){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media print{.print\:block{display:block}.print\:hidden{display:none}.print\:h-auto{height:auto}.print\:max-w-none{max-width:none}.print\:flex-none{flex:none}.print\:overflow-visible{overflow:visible}.print\:p-0{padding:0}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}@media (width>=768px){.md\:\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\*\+\*\]\:border-t>*+*{border-top-width:1px}.\[\&\>\*\+\*\]\:border-table-border>*+*{border-color:hsl(var(--table-border))}.\[\&\>\*\]\:rounded-none>*{border-radius:0}.\[\&\>button\:first-child\]\:rounded-l-md>button:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.\[\&\>button\:last-child\]\:rounded-r-md>button:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\>button\:not\(\:first-child\)\]\:-ml-px>button:not(:first-child){margin-left:-1px}.\[\&\>button\]\:hidden>button{display:none}.\[\&\>button\]\:rounded-none>button{border-radius:0}.\[\&\>div\:first-child\]\:py-2>div:first-child{padding-top:.5rem;padding-bottom:.5rem}.\[\&\>div\]\:\!box-border>div{box-sizing:border-box!important}.\[\&\>div\]\:\!pr-4>div{padding-right:1rem!important}.\[\&\>span\:last-child\]\:truncate>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&\>span\]\:line-clamp-1>span{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.\[\&\>svg\]\:h-2\.5>svg{height:.625rem}.\[\&\>svg\]\:h-3>svg{height:.75rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-2\.5>svg{width:.625rem}.\[\&\>svg\]\:w-3>svg{width:.75rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:hsl(var(--foreground))}.\[\&\>svg\]\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\[\&\>svg\]\:text-sidebar-accent-foreground>svg{color:hsl(var(--sidebar-accent-foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\.recharts-cartesian-axis-tick_text\]\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\[\&_\.recharts-cartesian-grid_line\[stroke\=\'\#ccc\'\]\]\:stroke-border\/50 .recharts-cartesian-grid line[stroke=\#ccc]{stroke:hsl(var(--border) / .5)}.\[\&_\.recharts-curve\.recharts-tooltip-cursor\]\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\[\&_\.recharts-dot\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-dot[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-layer\]\:outline-none .recharts-layer{outline-offset:2px;outline:2px solid #0000}.\[\&_\.recharts-polar-grid_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-polar-grid [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-radial-bar-background-sector\]\:fill-muted .recharts-radial-bar-background-sector,.\[\&_\.recharts-rectangle\.recharts-tooltip-cursor\]\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\[\&_\.recharts-reference-line_\[stroke\=\'\#ccc\'\]\]\:stroke-border .recharts-reference-line [stroke=\#ccc]{stroke:hsl(var(--border))}.\[\&_\.recharts-sector\[stroke\=\'\#fff\'\]\]\:stroke-transparent .recharts-sector[stroke=\#fff]{stroke:#0000}.\[\&_\.recharts-sector\]\:outline-none .recharts-sector,.\[\&_\.recharts-surface\]\:outline-none .recharts-surface{outline-offset:2px;outline:2px solid #0000}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.825rem;line-height:1.1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_\[data-radix-scroll-area-viewport\]\>div\]\:\!block [data-radix-scroll-area-viewport]>div{display:block!important}.\[\&_\[data-radix-scroll-area-viewport\]\]\:max-h-56 [data-radix-scroll-area-viewport]{max-height:14rem}.\[\&_button\]\:w-full button{width:100%}.\[\&_button\]\:justify-start button{justify-content:flex-start}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-3 svg{width:.75rem;height:.75rem}.\[\&_svg\]\:size-3\.5 svg{width:.875rem;height:.875rem}.\[\&_svg\]\:size-4 svg{width:1rem;height:1rem}.\[\&_svg\]\:size-5 svg{width:1.25rem;height:1.25rem}.\[\&_svg\]\:size-6 svg{width:1.5rem;height:1.5rem}.\[\&_svg\]\:h-auto svg{height:auto}.\[\&_svg\]\:max-w-full svg{max-width:100%}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}.\[\&_tr\]\:border-b-0 tr{border-bottom-width:0}.\[\&_tr\]\:border-table-border tr{border-color:hsl(var(--table-border))}[data-side=left][data-collapsible=offcanvas] .\[\[data-side\=left\]\[data-collapsible\=offcanvas\]_\&\]\:-right-2{right:-.5rem}[data-side=left][data-state=collapsed] .\[\[data-side\=left\]\[data-state\=collapsed\]_\&\]\:cursor-e-resize{cursor:e-resize}[data-side=left] .\[\[data-side\=left\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right][data-collapsible=offcanvas] .\[\[data-side\=right\]\[data-collapsible\=offcanvas\]_\&\]\:-left-2{left:-.5rem}[data-side=right][data-state=collapsed] .\[\[data-side\=right\]\[data-state\=collapsed\]_\&\]\:cursor-w-resize{cursor:w-resize}[data-side=right] .\[\[data-side\=right\]_\&\]\:cursor-e-resize{cursor:e-resize}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{Ut as i,W as a,wt as o}from"./dist-Ch137qdo.js";import{r as s,t as c}from"./utils-CWTBjUlE.js";import{$t as l,Sn as u,Tn as d,dt as f,gn as p,k as m}from"./lucide-react-C-dX1rVz.js";import{t as h}from"./button-DVIjvd2G.js";import{i as g,n as _,r as v,t as y}from"./tooltip-Cqmpv-M5.js";import{B as b,Dn as x,En as S,G as C,Mt as w,Pt as T,Qt as E,Rn as D,Ur as O,h as k}from"./api-IMkL19mR.js";import{n as A}from"./scroll-area-DnAXfBMQ.js";import{$t as j,Ar as M,Cr as N,Dr as P,Er as F,Or as I,Ot as L,St as R,Tr as z,Ut as ee,ft as te,gt as B,ht as V,kr as H,lt as U,mt as ne,pt as W,ut as G,wr as re}from"./index-C3E_66vw.js";import{n as K,t as ie}from"./toggle-group-DaT4acSz.js";import{n as ae,r as oe,t as se}from"./use-git-check-CmtXehtR.js";import{t as ce}from"./sorting-DqwxPMRN.js";import{t as le}from"./pending-changes-Bn-0ak1d.js";var q=t(),J=r();function ue(e){let t=(0,q.c)(8),{gitLoading:n,gitInstalled:r,version:i,platform:a,plan:o,onCheckAgain:s}=e;if(n&&r===null){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,J.jsx)(f,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===i?e=t[2]:(e=(0,J.jsx)(ae,{version:i}),t[1]=i,t[2]=e),e}let c;return t[3]!==n||t[4]!==s||t[5]!==o||t[6]!==a?(c=(0,J.jsx)(oe,{platform:a,plan:o,checking:n,onCheckAgain:s}),t[3]=n,t[4]=s,t[5]=o,t[6]=a,t[7]=c):c=t[7],c}var Y=e(n(),1);function de(e){let t=(0,q.c)(34),{model:n,disabled:r,willBeEnabled:a,isRecommended:o,onToggle:l}=e,u;t[0]===n.id?u=t[1]:(u=j(n.id),t[0]=n.id,t[1]=u);let d=u,f=n.pricing,p=a&&o,m;t[2]!==n.id||t[3]!==l?(m=function(){l(n.id)},t[2]=n.id,t[3]=l,t[4]=m):m=t[4];let h=m,v=r&&`opacity-25`,b;t[5]===v?b=t[6]:(b=c(`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default`,v),t[5]=v,t[6]=b);let x=`${d} ${a?`enabled`:`disabled`}`,S;t[7]!==r||t[8]!==h||t[9]!==n.id||t[10]!==x||t[11]!==a?(S=(0,J.jsx)(U,{id:n.id,disabled:r,value:a,onChange:h,ariaLabel:x}),t[7]=r,t[8]=h,t[9]=n.id,t[10]=x,t[11]=a,t[12]=S):S=t[12];let C=n.id,w;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(w=c(i.body,`peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate flex-1 w-0`),t[13]=w):w=t[13];let T;t[14]===p?T=t[15]:(T=p&&(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:` (Recommended)`}),t[14]=p,t[15]=T);let E;t[16]!==d||t[17]!==n.id||t[18]!==T?(E=(0,J.jsxs)(`label`,{htmlFor:C,className:w,children:[d,T]}),t[16]=d,t[17]=n.id,t[18]=T,t[19]=E):E=t[19];let D;t[20]===f?D=t[21]:(D=f&&(0,J.jsx)(`span`,{className:c(i.compact,`text-muted-foreground whitespace-nowrap flex-shrink-0`),children:(f.prompt??0)<=0&&(f.completion??0)<=0?`Free`:`${s(f.prompt??0)} in | ${s(f.completion??0)} out`}),t[20]=f,t[21]=D);let O;t[22]!==E||t[23]!==D?(O=(0,J.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[E,D]}),t[22]=E,t[23]=D,t[24]=O):O=t[24];let k;t[25]!==O||t[26]!==b||t[27]!==S?(k=(0,J.jsx)(g,{asChild:!0,children:(0,J.jsxs)(`div`,{className:b,children:[S,O]})}),t[25]=O,t[26]=b,t[27]=S,t[28]=k):k=t[28];let A;t[29]===n.description?A=t[30]:(A=n.description&&(0,J.jsx)(_,{side:`top`,className:`max-w-xs`,children:(0,J.jsx)(`p`,{className:i.body,children:n.description})}),t[29]=n.description,t[30]=A);let M;return t[31]!==k||t[32]!==A?(M=(0,J.jsxs)(y,{children:[k,A]}),t[31]=k,t[32]=A,t[33]=M):M=t[33],M}function fe(e){let t=/^[^:]+:\s+(.+)$/.exec(e);return(t?t[1]:e).trim()}function pe(e){return[j(e.id),e.name,fe(e.name)]}function me(e,t){let n=new Set(t.map(e=>e.toLowerCase()));return pe(e).some(e=>n.has(e.toLowerCase()))}function he(e,t){return e.filter(e=>me(e,t)).map(e=>e.id)}var X=a(`app.model-selector.ui`),Z=`rounded-full border-0 px-3 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`;function ge({provider:e,onModelsChange:t,isLoading:n,disabled:r,displayMode:a=`grid`,autoSelectRecommended:o=!1}){let[s,u]=(0,Y.useState)([]),[p,h]=(0,Y.useState)(new Set),[g,_]=(0,Y.useState)(new Set),[y,b]=(0,Y.useState)(new Map),[x,S]=(0,Y.useState)(!1),[w,E]=(0,Y.useState)(``),[D,O]=(0,Y.useState)(`alphabetical`);(0,Y.useEffect)(()=>{k()},[e]);let k=async()=>{S(!0),E(``),O(`alphabetical`);try{let t=await C(e);u(t.models);let n=new Set(t.enabledModelIds);h(n);let r=new Map,i=new Set;if(o)try{let{models:e}=await T();i=new Set(he(t.models,e)),r=new Map([...i].filter(e=>!n.has(e)).map(e=>[e,!0]))}catch(e){X.error(`Failed to load recommended models:`,e)}_(i),b(r),A(n,r,t.models)}catch(t){X.error(`Failed to load models for ${e}:`,t),u([]),h(new Set),_(new Set)}finally{S(!1)}},A=(e,n,r=s)=>{let i=new Set(e);r.forEach(e=>{n.has(e.id)&&(n.get(e.id)?i.add(e.id):i.delete(e.id))}),t?.(i)},M=e=>{b(t=>{let n=le(t,e,p);return A(p,n),n})},N=e=>{b(t=>{let n=new Map(t);return s.forEach(t=>{let r=p.has(t.id);e?r?n.delete(t.id):n.set(t.id,!0):r?n.set(t.id,!1):n.delete(t.id)}),A(p,n),n})},P=e=>j(e.id);function F(e,t=y){let n=t.has(e),r=t.get(e);return n?!!r:p.has(e)}let I=ce({models:s,query:w,sortBy:D,getDisplayName:P,getPriority:e=>+!F(e.id)}),L=D===`alphabetical`?`alphabetical`:`price`;function R(e){if(e===`alphabetical`){O(`alphabetical`);return}e===`price`&&O(`price-low`)}function z(){D!==`alphabetical`&&O(e=>e===`price-low`?`price-high`:`price-low`)}return x||n?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,J.jsx)(f,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):s.length===0?(0,J.jsx)(`div`,{className:`text-center py-8`,children:(0,J.jsx)(`p`,{className:i.bodyMuted,children:`No models available for this provider.`})}):a===`compact`?(0,J.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,J.jsxs)(`div`,{className:c(`flex items-center justify-between gap-3`,r&&`opacity-25`),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,J.jsx)(U,{id:`select-all-models`,disabled:r,value:s.every(e=>F(e.id)),onChange:e=>N(e),ariaLabel:`Select all models`}),(0,J.jsx)(`label`,{htmlFor:`select-all-models`,className:c(i.body,`cursor-pointer`),children:`Select all models`})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[(0,J.jsxs)(`div`,{className:`relative w-44 sm:w-52`,children:[(0,J.jsx)(m,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),(0,J.jsx)(re,{placeholder:`Search models...`,value:w,onChange:e=>E(e.target.value),disabled:r,className:`pl-8 h-9`})]}),(0,J.jsxs)(ie,{type:`single`,value:L,onValueChange:R,"aria-label":`Sort models`,variant:`outline`,className:`inline-flex rounded-full border bg-muted/40 p-1`,children:[(0,J.jsx)(K,{value:`alphabetical`,"aria-label":`Sort A–Z`,disabled:r,className:Z,children:(0,J.jsx)(d,{className:`h-4 w-4`})}),(0,J.jsx)(K,{value:`price`,"aria-label":`Sort by price`,disabled:r,className:Z,onClick:z,children:(0,J.jsx)(l,{className:`h-4 w-4`})})]})]})]}),(0,J.jsx)(v,{children:(0,J.jsx)(`div`,{className:`grid grid-cols-1 gap-0 overflow-hidden rounded-md border border-table-border`,children:I.length===0?(0,J.jsx)(`div`,{className:`text-center py-4`,children:(0,J.jsx)(`p`,{className:i.bodyMuted,children:w?`No models match your search.`:`No models available.`})}):I.map(e=>(0,J.jsx)(de,{model:e,disabled:r,willBeEnabled:F(e.id),isRecommended:g.has(e.id),onToggle:M},e.id))})})]}):null}function _e(e){let t=(0,q.c)(4),{providerSlug:n,modelsLoading:r,onModelsChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,J.jsx)(`div`,{className:`space-y-4`,children:(0,J.jsx)(ge,{provider:n,isLoading:r,displayMode:`compact`,disabled:!1,autoSelectRecommended:!0,onModelsChange:i})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function Q(e,t,n){return e||t||n}function ve(e,t,n){return e||!t.trim()||!n}function ye(e){let t=(0,q.c)(38),{currentStep:n,savingOnboarding:r,gitLoading:i,validatingKey:a,connectingOpenRouter:o,apiKey:s,hasProvider:c,onSkip:l,onBack:d,onContinue:m,onValidate:g,onFinish:_}=e,v,y;t[0]!==s||t[1]!==o||t[2]!==c||t[3]!==r||t[4]!==a?(v=Q(r,a,o),y=ve(v,s,c),t[0]=s,t[1]=o,t[2]=c,t[3]=r,t[4]=a,t[5]=v,t[6]=y):(v=t[5],y=t[6]);let b=y,x;t[7]!==n||t[8]!==l||t[9]!==v?(x=n===`provider-selection`?(0,J.jsx)(h,{variant:`ghost`,onClick:l,disabled:v,children:`Skip for now`}):null,t[7]=n,t[8]=l,t[9]=v,t[10]=x):x=t[10];let S;t[11]===x?S=t[12]:(S=(0,J.jsx)(`div`,{children:x}),t[11]=x,t[12]=S);let C;t[13]!==n||t[14]!==d||t[15]!==v?(C=n===`git-check`?null:(0,J.jsx)(h,{variant:`outline`,onClick:d,disabled:v,children:`Back`}),t[13]=n,t[14]=d,t[15]=v,t[16]=C):C=t[16];let w;t[17]!==n||t[18]!==i||t[19]!==m?(w=n===`git-check`?(0,J.jsxs)(h,{onClick:m,disabled:i,className:`gap-2`,children:[`Continue `,(0,J.jsx)(u,{className:`h-4 w-4`})]}):null,t[17]=n,t[18]=i,t[19]=m,t[20]=w):w=t[20];let T;t[21]!==n||t[22]!==g||t[23]!==b||t[24]!==a?(T=n===`provider-selection`?(0,J.jsx)(h,{onClick:g,disabled:b,className:`gap-2`,children:a?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{className:`h-4 w-4 animate-spin`}),`Validating...`]}):(0,J.jsxs)(J.Fragment,{children:[`Next `,(0,J.jsx)(u,{className:`h-4 w-4`})]})}):null,t[21]=n,t[22]=g,t[23]=b,t[24]=a,t[25]=T):T=t[25];let E;t[26]!==n||t[27]!==_||t[28]!==r?(E=n===`model-selection`?(0,J.jsx)(h,{onClick:_,disabled:r,className:`gap-2`,children:r?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(f,{className:`h-4 w-4 animate-spin`}),`Finishing...`]}):(0,J.jsxs)(J.Fragment,{children:[`Finish `,(0,J.jsx)(p,{className:`h-4 w-4`})]})}):null,t[26]=n,t[27]=_,t[28]=r,t[29]=E):E=t[29];let D;t[30]!==C||t[31]!==w||t[32]!==T||t[33]!==E?(D=(0,J.jsxs)(`div`,{className:`flex gap-3`,children:[C,w,T,E]}),t[30]=C,t[31]=w,t[32]=T,t[33]=E,t[34]=D):D=t[34];let O;return t[35]!==S||t[36]!==D?(O=(0,J.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10`,children:(0,J.jsxs)(I,{className:`flex items-center justify-between`,children:[S,D]})}),t[35]=S,t[36]=D,t[37]=O):O=t[37],O}function be(e){let t=(0,q.c)(22),{selectedProvider:n,onProviderChange:r,apiKey:a,onApiKeyChange:s,validatingKey:l,connectingOpenRouter:u,savingOnboarding:d,providerEnvValues:f,onProviderEnvChange:p,keyError:m,onConnectOpenRouter:h}=e,g;t[0]!==u||t[1]!==d||t[2]!==l?(g=Q(d,l,u),t[0]=u,t[1]=d,t[2]=l,t[3]=g):g=t[3];let _=g,v;t[4]!==a||t[5]!==s||t[6]!==h||t[7]!==r||t[8]!==_||t[9]!==n?(v=(0,J.jsx)(G,{selectedProvider:n,onProviderChange:r,showApiKeyInput:!0,apiKey:a,onApiKeyChange:s,variant:`dropdown`,isLoading:_,onConnectOpenRouter:h}),t[4]=a,t[5]=s,t[6]=h,t[7]=r,t[8]=_,t[9]=n,t[10]=v):v=t[10];let y;t[11]!==p||t[12]!==_||t[13]!==f||t[14]!==n?(y=n&&ne(n).map(e=>(0,J.jsx)(L,{label:(0,J.jsx)(N,{htmlFor:e,children:W(e)}),control:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`input`,{id:e,value:f[e]??``,onChange:t=>p(e,t.target.value),disabled:_,className:`h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base`,placeholder:o(n.slug)&&e===`LOCAL_API_URL`?n.api:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),n.slug===`azure`&&e===V(n)||o(n.slug)&&e===`LOCAL_API_URL`?(0,J.jsx)(`p`,{className:c(i.bodyMuted,`mt-2 break-all`),children:B(n,f)||n.api}):null]}),align:`start`},e)),t[11]=p,t[12]=_,t[13]=f,t[14]=n,t[15]=y):y=t[15];let b;t[16]===m?b=t[17]:(b=m?(0,J.jsx)(R,{variant:`error`,className:`mb-0`,children:m}):null,t[16]=m,t[17]=b);let x;return t[18]!==v||t[19]!==y||t[20]!==b?(x=(0,J.jsxs)(`div`,{className:`space-y-4`,children:[v,y,b]}),t[18]=v,t[19]=y,t[20]=b,t[21]=x):x=t[21],x}function xe(e){let t=(0,q.c)(3),{currentStep:n}=e;if(n===`provider-selection`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{children:`Select an AI Provider`}),(0,J.jsx)(P,{children:`Choose your preferred AI provider and enter your API key.`})]}),t[0]=e):e=t[0],e}if(n===`model-selection`){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{children:`Select Models`}),(0,J.jsx)(P,{children:`Choose which models you want to use with this provider.`})]}),t[1]=e):e=t[1],e}let r;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(M,{children:`Let's get started`}),(0,J.jsx)(P,{children:`First, we need to check that Git is installed on your system.`})]}),t[2]=r):r=t[2],r}function Se(e){let t=(0,q.c)(26),{currentStep:n}=e,r=function(e){return e===`provider-selection`&&n===`provider-selection`||n===`model-selection`},a=function(e){return n===e},o=a(`git-check`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,s;t[0]===o?s=t[1]:(s=c(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,o),t[0]=o,t[1]=s);let l;t[2]===s?l=t[3]:(l=(0,J.jsx)(`div`,{className:s,children:`1`}),t[2]=s,t[3]=l);let u=r(`provider-selection`)?`bg-primary`:`bg-muted`,d;t[4]===u?d=t[5]:(d=c(`h-0.5 flex-1`,u),t[4]=u,t[5]=d);let f;t[6]===d?f=t[7]:(f=(0,J.jsx)(`div`,{className:d}),t[6]=d,t[7]=f);let p=a(`provider-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,m;t[8]===p?m=t[9]:(m=c(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,p),t[8]=p,t[9]=m);let h;t[10]===m?h=t[11]:(h=(0,J.jsx)(`div`,{className:m,children:`2`}),t[10]=m,t[11]=h);let g=r(`model-selection`)?`bg-primary`:`bg-muted`,_;t[12]===g?_=t[13]:(_=c(`h-0.5 flex-1`,g),t[12]=g,t[13]=_);let v;t[14]===_?v=t[15]:(v=(0,J.jsx)(`div`,{className:_}),t[14]=_,t[15]=v);let y=a(`model-selection`)?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground`,b;t[16]===y?b=t[17]:(b=c(`flex items-center justify-center h-8 w-8 rounded-full`,i.label,y),t[16]=y,t[17]=b);let x;t[18]===b?x=t[19]:(x=(0,J.jsx)(`div`,{className:b,children:`3`}),t[18]=b,t[19]=x);let S;return t[20]!==v||t[21]!==x||t[22]!==l||t[23]!==f||t[24]!==h?(S=(0,J.jsxs)(`div`,{className:`w-1/2 mx-auto flex items-center gap-2 mb-6`,children:[l,f,h,v,x]}),t[20]=v,t[21]=x,t[22]=l,t[23]=f,t[24]=h,t[25]=S):S=t[25],S}var $=a(`app.onboarding-dialog.ui`);async function Ce(){for(let e=0;e<120;e+=1){await new Promise(e=>window.setTimeout(e,1e3)),O.invalidate(`providers`);let e=(await w()).find(e=>e.slug.toLowerCase()===`openrouter`);if(e?.apiKey)return e}return null}function we(e,t,n){let[r,i]=(0,Y.useState)(`git-check`),a=se({enabled:e&&r===`git-check`}),o=(0,Y.useRef)(!1),[s,c]=(0,Y.useState)([]),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(``),[p,m]=(0,Y.useState)(!1),[h,g]=(0,Y.useState)({}),[_,v]=(0,Y.useState)(!1),[y,T]=(0,Y.useState)(``),[O,A]=(0,Y.useState)(new Set),[j,M]=(0,Y.useState)(!1),[N,P]=(0,Y.useState)(!1);async function F(){try{let e=await w();if(c(e),e.length>0&&!l){let t=te(e);t&&(u(t),f(t.apiKey??``),g(t.envValues??{}))}}catch(e){$.error(`Failed to load providers:`,e)}}async function I(){if(l){M(!0);try{await C(l.name),A(new Set)}catch(e){$.error(`Failed to load models:`,e)}finally{M(!1)}}}(0,Y.useEffect)(()=>{e&&r===`git-check`&&a.hasChecked&&!o.current&&(o.current=!0,a.gitInstalled&&i(`provider-selection`))},[e,r,a.hasChecked,a.gitInstalled]),(0,Y.useEffect)(()=>{e&&r===`provider-selection`&&s.length===0&&F()},[e,r,s.length]),(0,Y.useEffect)(()=>{e&&r===`model-selection`&&l&&I()},[e,r,l]);async function L(){if(!l||!d.trim()){T(`Please enter an API key`);return}let e=ne(l),t=e.find(e=>!h[e]?.trim());if(t){T(`Please enter ${W(t)}`);return}v(!0),T(``);try{e.length>0&&await S(Object.fromEntries(e.map(e=>[e,h[e].trim()]))),await x(l.slug,d),i(`model-selection`)}catch(e){T(e instanceof Error?e.message:`Failed to validate API key`)}finally{v(!1)}}async function R(){if(l){P(!0);try{for(let e of O)await b(l.slug,e);ee(),await k(),n?.(),t(!1)}catch(e){$.error(`Failed to complete onboarding:`,e)}finally{P(!1)}}}async function z(){P(!0);try{await k(),n?.(),t(!1)}catch(e){$.error(`Failed to skip onboarding:`,e)}finally{P(!1)}}function B(e){u(e),f(e.apiKey??``),g(e.envValues??{}),T(``)}function V(e,t){g(n=>({...n,[e]:t}))}function H(){i(`provider-selection`)}async function U(){if(!p){m(!0),T(``);try{await E(await D());let e=await Ce();if(!e){T(`OpenRouter connection timed out. You can enter an API key manually.`);return}u(e),f(e.apiKey??``),i(`model-selection`)}catch(e){T(e instanceof Error?e.message:`Failed to connect to OpenRouter`)}finally{m(!1)}}}function G(){r===`provider-selection`?i(`git-check`):r===`model-selection`&&i(`provider-selection`)}return{currentStep:r,git:a,selectedProvider:l,apiKey:d,setApiKey:f,connectingOpenRouter:p,validatingKey:_,savingOnboarding:N,providerEnvValues:h,keyError:y,modelsLoading:j,setEnabledModelIds:A,handleProviderChange:B,handleProviderEnvChange:V,handleGitCheckProceed:H,handleConnectOpenRouter:U,handleBack:G,skipOnboarding:z,validateAndMoveNext:L,finishOnboarding:R}}function Te(e){e.preventDefault()}function Ee(e){let t=(0,q.c)(47),{open:n,onOpenChange:r,onComplete:i}=e,a=we(n,r,i),o;t[0]===a.currentStep?o=t[1]:(o=(0,J.jsx)(Se,{currentStep:a.currentStep}),t[0]=a.currentStep,t[1]=o);let s;t[2]===a.currentStep?s=t[3]:(s=(0,J.jsx)(H,{children:(0,J.jsx)(xe,{currentStep:a.currentStep})}),t[2]=a.currentStep,t[3]=s);let c;t[4]!==o||t[5]!==s?(c=(0,J.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[o,s]}),t[4]=o,t[5]=s,t[6]=c):c=t[6];let l;t[7]!==a.currentStep||t[8]!==a.git?(l=a.currentStep===`git-check`?(0,J.jsx)(`div`,{className:`space-y-4`,children:(0,J.jsx)(ue,{gitLoading:a.git.loading,gitInstalled:a.git.gitInstalled,version:a.git.version,platform:a.git.platform,plan:a.git.plan,onCheckAgain:()=>void a.git.check()})}):null,t[7]=a.currentStep,t[8]=a.git,t[9]=l):l=t[9];let u;t[10]===a?u=t[11]:(u=a.currentStep===`provider-selection`?(0,J.jsx)(be,{selectedProvider:a.selectedProvider,onProviderChange:a.handleProviderChange,apiKey:a.apiKey,onApiKeyChange:a.setApiKey,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,savingOnboarding:a.savingOnboarding,providerEnvValues:a.providerEnvValues,onProviderEnvChange:a.handleProviderEnvChange,keyError:a.keyError,onConnectOpenRouter:()=>void a.handleConnectOpenRouter()}):null,t[10]=a,t[11]=u);let d;t[12]!==a.currentStep||t[13]!==a.modelsLoading||t[14]!==a.selectedProvider||t[15]!==a.setEnabledModelIds?(d=a.currentStep===`model-selection`&&a.selectedProvider?(0,J.jsx)(_e,{providerSlug:a.selectedProvider.slug,modelsLoading:a.modelsLoading,onModelsChange:a.setEnabledModelIds}):null,t[12]=a.currentStep,t[13]=a.modelsLoading,t[14]=a.selectedProvider,t[15]=a.setEnabledModelIds,t[16]=d):d=t[16];let f;t[17]!==l||t[18]!==u||t[19]!==d?(f=(0,J.jsx)(A,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,J.jsxs)(`div`,{className:`px-6 py-4`,children:[l,u,d]})}),t[17]=l,t[18]=u,t[19]=d,t[20]=f):f=t[20];let p=!!a.selectedProvider,m;t[21]===a?m=t[22]:(m=()=>void a.skipOnboarding(),t[21]=a,t[22]=m);let h,g;t[23]===a?(h=t[24],g=t[25]):(h=()=>void a.validateAndMoveNext(),g=()=>void a.finishOnboarding(),t[23]=a,t[24]=h,t[25]=g);let _;t[26]!==a.apiKey||t[27]!==a.connectingOpenRouter||t[28]!==a.currentStep||t[29]!==a.git.loading||t[30]!==a.handleBack||t[31]!==a.handleGitCheckProceed||t[32]!==a.savingOnboarding||t[33]!==a.validatingKey||t[34]!==h||t[35]!==g||t[36]!==p||t[37]!==m?(_=(0,J.jsx)(ye,{currentStep:a.currentStep,savingOnboarding:a.savingOnboarding,gitLoading:a.git.loading,validatingKey:a.validatingKey,connectingOpenRouter:a.connectingOpenRouter,apiKey:a.apiKey,hasProvider:p,onSkip:m,onBack:a.handleBack,onContinue:a.handleGitCheckProceed,onValidate:h,onFinish:g}),t[26]=a.apiKey,t[27]=a.connectingOpenRouter,t[28]=a.currentStep,t[29]=a.git.loading,t[30]=a.handleBack,t[31]=a.handleGitCheckProceed,t[32]=a.savingOnboarding,t[33]=a.validatingKey,t[34]=h,t[35]=g,t[36]=p,t[37]=m,t[38]=_):_=t[38];let v;t[39]!==_||t[40]!==c||t[41]!==f?(v=(0,J.jsxs)(F,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,onInteractOutside:Te,children:[c,f,_]}),t[39]=_,t[40]=c,t[41]=f,t[42]=v):v=t[42];let y;return t[43]!==r||t[44]!==n||t[45]!==v?(y=(0,J.jsx)(z,{open:n,onOpenChange:r,children:v}),t[43]=r,t[44]=n,t[45]=v,t[46]=y):y=t[46],y}export{ye as OnboardingFooter,Ee as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{Ut as a,yn as o}from"./dist-Ch137qdo.js";import{n as s,tt as c}from"./store-CEYCdhjW.js";import{t as l}from"./utils-CWTBjUlE.js";import{b as u,dt as d}from"./lucide-react-C-dX1rVz.js";import{t as f}from"./button-DVIjvd2G.js";import{i as p,n as m,r as h,t as g}from"./tooltip-Cqmpv-M5.js";import{Xn as _,Yn as v,tr as y,xt as b}from"./api-IMkL19mR.js";import{t as x}from"./progress-indicator-QgGbLfer.js";import{t as S}from"./use-toast-xpb5jNtN.js";import{At as C,B as w,Cr as T,Ct as E,Dt as D,Pt as O,bt as k,jt as A,kt as j,lt as M,wr as N}from"./index-C3E_66vw.js";import{i as P}from"./commit-method-fields-Bylj8VjO.js";import{t as F}from"./use-settings-page-loading-CpaBd260.js";var I=t(),L=r();function R(e){let t=(0,I.c)(4),{useBuiltInBrowser:n,disabled:r,onChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,L.jsx)(k,{title:`Built-in Browser`,description:`When enabled, Tarsk shows the Browser tab and opens detected dev URLs in the app. When disabled, the tab is hidden and URLs open in your system browser.`,controlLayout:`row-end`,action:(0,L.jsx)(M,{value:n,onChange:i,disabled:r,ariaLabel:`Built-in Browser`})}),t[0]=r,t[1]=i,t[2]=n,t[3]=a):a=t[3],a}function z(e){return e===o.PullRequest?`Feature branches are created and pull requests can be created.`:`Commits are made directly to the main branch without feature branches.`}function B(e){let t=(0,I.c)(9),{commitMethod:n,loading:r,onChange:i}=e,a;t[0]===n?a=t[1]:(a=z(n),t[0]=n,t[1]=a);let o;t[2]!==n||t[3]!==r||t[4]!==i?(o=(0,L.jsx)(P,{commitMethod:n,onCommitMethodChange:i,disabled:r}),t[2]=n,t[3]=r,t[4]=i,t[5]=o):o=t[5];let s;return t[6]!==a||t[7]!==o?(s=(0,L.jsx)(k,{title:`Commit Method`,description:a,controlLayout:`row-end`,action:o}),t[6]=a,t[7]=o,t[8]=s):s=t[8],s}function V(e){let t=(0,I.c)(10),{allowAllCommands:n,patterns:r,disabled:i,onRemove:o}=e;if(n||r.length===0)return null;let s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,L.jsx)(T,{children:`Allowed command patterns`}),t[0]=s):s=t[0];let c;if(t[1]!==i||t[2]!==o||t[3]!==r){let e;t[5]!==i||t[6]!==o?(e=e=>(0,L.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-border px-3 py-2`,children:[(0,L.jsx)(`code`,{className:l(a.mono,a.bodyMuted),children:e}),(0,L.jsx)(f,{type:`button`,variant:`ghost`,size:`sm`,disabled:i,onClick:()=>o(e),children:`Remove`})]},e),t[5]=i,t[6]=o,t[7]=e):e=t[7],c=r.map(e),t[1]=i,t[2]=o,t[3]=r,t[4]=c}else c=t[4];let u;return t[8]===c?u=t[9]:(u=(0,L.jsxs)(`div`,{className:`space-y-2 mt-3`,children:[s,(0,L.jsx)(`ul`,{className:`space-y-1`,children:c})]}),t[8]=c,t[9]=u),u}function H(e){let t=(0,I.c)(16),{allowAllCommands:n,allowedCommandPatterns:r,loading:i,controlsDisabled:a,onAllowAllChange:o,onPatternsChange:s}=e,c=!n,l;t[0]===o?l=t[1]:(l=e=>o(!e),t[0]=o,t[1]=l);let u;t[2]!==i||t[3]!==c||t[4]!==l?(u=(0,L.jsx)(M,{value:c,onChange:l,disabled:i,ariaLabel:`Confirm Commands`}),t[2]=i,t[3]=c,t[4]=l,t[5]=u):u=t[5];let d;t[6]===s?d=t[7]:(d=e=>s(t=>t.filter(t=>t!==e)),t[6]=s,t[7]=d);let f;t[8]!==n||t[9]!==r||t[10]!==a||t[11]!==d?(f=(0,L.jsx)(V,{allowAllCommands:n,patterns:r,disabled:a,onRemove:d}),t[8]=n,t[9]=r,t[10]=a,t[11]=d,t[12]=f):f=t[12];let p;return t[13]!==u||t[14]!==f?(p=(0,L.jsx)(k,{title:`Confirm Commands`,description:`When enabled, the agent asks for approval before running bash commands, skill scripts, and browser shell calls.`,controlLayout:`row-end`,action:u,children:f}),t[13]=u,t[14]=f,t[15]=p):p=t[15],p}function ee(e){let t=(0,I.c)(22),{runCmd:n,loading:r,suggestingCommand:i,suggestDisabled:a,onChange:o,onSuggest:s}=e,c;t[0]===o?c=t[1]:(c=e=>o(e.target.value),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==n||t[4]!==c?(l=(0,L.jsx)(N,{id:`runCommand`,value:n,onChange:c,placeholder:`e.g. npm run dev`,className:`font-mono pr-10`,disabled:r}),t[2]=r,t[3]=n,t[4]=c,t[5]=l):l=t[5];let d;t[6]===s?d=t[7]:(d=()=>void s(),t[6]=s,t[7]=d);let _;t[8]===i?_=t[9]:(_=i?(0,L.jsx)(x,{size:`sm`}):(0,L.jsx)(u,{className:`h-3.5 w-3.5`}),t[8]=i,t[9]=_);let v;t[10]!==a||t[11]!==d||t[12]!==_?(v=(0,L.jsx)(p,{asChild:!0,children:(0,L.jsx)(f,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-1 right-1 h-8 w-8`,onClick:d,disabled:a,"aria-label":`Generate run command with AI`,children:_})}),t[10]=a,t[11]=d,t[12]=_,t[13]=v):v=t[13];let y=i?`Working out the run command...`:`Detect the project's dev script, or generate one with AI`,b;t[14]===y?b=t[15]:(b=(0,L.jsx)(m,{children:y}),t[14]=y,t[15]=b);let S;t[16]!==v||t[17]!==b?(S=(0,L.jsx)(h,{children:(0,L.jsxs)(g,{children:[v,b]})}),t[16]=v,t[17]=b,t[18]=S):S=t[18];let C;return t[19]!==l||t[20]!==S?(C=(0,L.jsx)(k,{title:`Run Command`,description:`The command to start the dev server. Leave empty to disable run functionality.`,children:(0,L.jsxs)(`div`,{className:`relative`,children:[l,S]})}),t[19]=l,t[20]=S,t[21]=C):C=t[21],C}function U(e){let t=(0,I.c)(8),{saving:n,disabled:r,onSave:i}=e,a;t[0]===i?a=t[1]:(a=()=>void i(),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=n?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(d,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[2]=n,t[3]=o);let s;return t[4]!==r||t[5]!==a||t[6]!==o?(s=(0,L.jsx)(f,{onClick:a,disabled:r,children:o}),t[4]=r,t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function W(e){let t=(0,I.c)(22),{value:n,loading:r,suggestingScript:i,suggestDisabled:a,onChange:o,onSuggest:s}=e,c;t[0]===o?c=t[1]:(c=e=>o(e.target.value),t[0]=o,t[1]=c);let l;t[2]!==r||t[3]!==c||t[4]!==n?(l=(0,L.jsx)(w,{id:`setupScript`,value:n,onChange:c,placeholder:`e.g. npm install`,className:`font-mono min-h-[80px] resize-none pr-10`,disabled:r}),t[2]=r,t[3]=c,t[4]=n,t[5]=l):l=t[5];let d;t[6]===s?d=t[7]:(d=()=>void s(),t[6]=s,t[7]=d);let _;t[8]===i?_=t[9]:(_=i?(0,L.jsx)(x,{size:`sm`}):(0,L.jsx)(u,{className:`h-3.5 w-3.5`}),t[8]=i,t[9]=_);let v;t[10]!==a||t[11]!==d||t[12]!==_?(v=(0,L.jsx)(p,{asChild:!0,children:(0,L.jsx)(f,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:d,disabled:a,"aria-label":`Generate setup script with AI`,children:_})}),t[10]=a,t[11]=d,t[12]=_,t[13]=v):v=t[13];let y=i?`Working out the setup script...`:`Generate the dependency install script with AI`,b;t[14]===y?b=t[15]:(b=(0,L.jsx)(m,{children:y}),t[14]=y,t[15]=b);let S;t[16]!==v||t[17]!==b?(S=(0,L.jsx)(h,{children:(0,L.jsxs)(g,{children:[v,b]})}),t[16]=v,t[17]=b,t[18]=S):S=t[18];let C;return t[19]!==l||t[20]!==S?(C=(0,L.jsx)(k,{title:`Setup Script`,description:`This script runs automatically after cloning the repo for new threads.`,children:(0,L.jsxs)(`div`,{className:`relative`,children:[l,S]})}),t[19]=l,t[20]=S,t[21]=C):C=t[21],C}var G=e(n(),1);async function K(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await b(e);t.setValue(n.setupScript??``),t.setRunCmd(n.runCommand??``),t.setCommitMethod(n.commitMethod??o.PullRequest),t.setAllowAllCommands(n.allowAllCommands!==!1),t.setAllowedCommandPatterns(n.allowedCommandPatterns??[]),t.setUseBuiltInBrowser(n.useBuiltInBrowser!==!1),t.setOriginalValue(n.setupScript??``),t.setOriginalRunCmd(n.runCommand??``),t.setOriginalCommitMethod(n.commitMethod??o.PullRequest),t.setOriginalAllowAllCommands(n.allowAllCommands!==!1),t.setOriginalAllowedCommandPatterns(n.allowedCommandPatterns??[]),t.setOriginalUseBuiltInBrowser(n.useBuiltInBrowser!==!1)}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to load coding settings`,variant:`destructive`})}finally{t.setLoading(!1)}}async function q(e,t,n){n(!0);try{let n=await v(e);if(!n.runCommand){S({title:`No run command found`,description:n.reason??`Could not detect a dev script in the project's package.json`});return}t(n.runCommand),S({title:n.source===`ai`?`Generated run command`:`Detected run command`,description:n.runCommand})}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest command`,variant:`destructive`})}finally{n(!1)}}async function J(e,t,n){n(!0);try{let n=await _(e);if(!n.setupScript){S({title:`No setup script found`,description:n.reason??`Could not work out how to install this project's dependencies`});return}t(n.setupScript),S({title:n.source===`ai`?`Generated setup script`:`Detected setup script`,description:n.setupScript})}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest setup script`,variant:`destructive`})}finally{n(!1)}}async function Y(e,t,n,r){await y(e,{setupScript:t.trim()||null,runCommand:n.trim()||null,commitMethod:r})}async function X(e,t,n,r,i){(t!==r||JSON.stringify(n)!==JSON.stringify(i))&&await y(e,{allowAllCommands:t,allowedCommandPatterns:n})}async function Z(e,t,n){t!==n&&await y(e,{useBuiltInBrowser:t})}function te(e){return e.value!==e.originalValue||e.runCmd!==e.originalRunCmd||e.commitMethod!==e.originalCommitMethod||e.allowAllCommands!==e.originalAllowAllCommands||JSON.stringify(e.allowedCommandPatterns)!==JSON.stringify(e.originalAllowedCommandPatterns)||e.useBuiltInBrowser!==e.originalUseBuiltInBrowser}async function ne(e,t,n){n.setSaving(!0);try{return await Y(e,t.value,t.runCmd,t.commitMethod),await X(e,t.allowAllCommands,t.allowedCommandPatterns,t.originalAllowAllCommands,t.originalAllowedCommandPatterns),await Z(e,t.useBuiltInBrowser,t.originalUseBuiltInBrowser),n.setOriginalValue(t.value),n.setOriginalRunCmd(t.runCmd),n.setOriginalCommitMethod(t.commitMethod),n.setOriginalAllowAllCommands(t.allowAllCommands),n.setOriginalAllowedCommandPatterns(t.allowedCommandPatterns),n.setOriginalUseBuiltInBrowser(t.useBuiltInBrowser),!0}catch(e){return S({title:`Error`,description:e instanceof Error?e.message:`Failed to save coding settings`,variant:`destructive`}),!1}finally{n.setSaving(!1)}}function re(e){let{setValue:t,setRunCmd:n,setCommitMethod:r,setAllowAllCommands:i,setAllowedCommandPatterns:a,setUseBuiltInBrowser:o,setOriginalValue:s,setOriginalRunCmd:c,setOriginalCommitMethod:l,setOriginalAllowAllCommands:u,setOriginalAllowedCommandPatterns:d,setOriginalUseBuiltInBrowser:f,setLoading:p,setSaving:m,setSuggestingCommand:h}=e;return e}function ie(){let e=(0,I.c)(8),[t,n]=(0,G.useState)(``),[r,i]=(0,G.useState)(``),[a,s]=(0,G.useState)(o.PullRequest),[c,l]=(0,G.useState)(!0),u;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],e[0]=u):u=e[0];let[d,f]=(0,G.useState)(u),[p,m]=(0,G.useState)(!0),h;return e[1]!==c||e[2]!==d||e[3]!==a||e[4]!==r||e[5]!==p||e[6]!==t?(h={value:t,setValue:n,runCmd:r,setRunCmd:i,commitMethod:a,setCommitMethod:s,allowAllCommands:c,setAllowAllCommands:l,allowedCommandPatterns:d,setAllowedCommandPatterns:f,useBuiltInBrowser:p,setUseBuiltInBrowser:m},e[1]=c,e[2]=d,e[3]=a,e[4]=r,e[5]=p,e[6]=t,e[7]=h):h=e[7],h}function ae(){let e=(0,I.c)(8),[t,n]=(0,G.useState)(``),[r,i]=(0,G.useState)(``),[a,s]=(0,G.useState)(o.PullRequest),[c,l]=(0,G.useState)(!0),u;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=[],e[0]=u):u=e[0];let[d,f]=(0,G.useState)(u),[p,m]=(0,G.useState)(!0),h;return e[1]!==c||e[2]!==d||e[3]!==a||e[4]!==r||e[5]!==p||e[6]!==t?(h={originalValue:t,setOriginalValue:n,originalRunCmd:r,setOriginalRunCmd:i,originalCommitMethod:a,setOriginalCommitMethod:s,originalAllowAllCommands:c,setOriginalAllowAllCommands:l,originalAllowedCommandPatterns:d,setOriginalAllowedCommandPatterns:f,originalUseBuiltInBrowser:p,setOriginalUseBuiltInBrowser:m},e[1]=c,e[2]=d,e[3]=a,e[4]=r,e[5]=p,e[6]=t,e[7]=h):h=e[7],h}function Q(e,t){let n=(0,I.c)(87),r=i(),a=s(),o=ie(),l=ae(),{value:u,setValue:d,runCmd:f,setRunCmd:p,commitMethod:m,setCommitMethod:h,allowAllCommands:g,setAllowAllCommands:_,allowedCommandPatterns:v,setAllowedCommandPatterns:y,useBuiltInBrowser:b,setUseBuiltInBrowser:x}=o,{originalValue:S,setOriginalValue:C,originalRunCmd:w,setOriginalRunCmd:T,originalCommitMethod:E,setOriginalCommitMethod:D,originalAllowAllCommands:O,setOriginalAllowAllCommands:k,originalAllowedCommandPatterns:A,setOriginalAllowedCommandPatterns:j,originalUseBuiltInBrowser:M,setOriginalUseBuiltInBrowser:N}=l,[P,L]=(0,G.useState)(!1),[R,z]=(0,G.useState)(!1),[B,V]=(0,G.useState)(!1),[H,ee]=(0,G.useState)(!0),U;n[0]!==_||n[1]!==y||n[2]!==h||n[3]!==k||n[4]!==j||n[5]!==D||n[6]!==T||n[7]!==N||n[8]!==C||n[9]!==p||n[10]!==x||n[11]!==d?(U={setValue:d,setRunCmd:p,setCommitMethod:h,setAllowAllCommands:_,setAllowedCommandPatterns:y,setUseBuiltInBrowser:x,setOriginalValue:C,setOriginalRunCmd:T,setOriginalCommitMethod:D,setOriginalAllowAllCommands:k,setOriginalAllowedCommandPatterns:j,setOriginalUseBuiltInBrowser:N,setLoading:ee,setSaving:L,setSuggestingCommand:z},n[0]=_,n[1]=y,n[2]=h,n[3]=k,n[4]=j,n[5]=D,n[6]=T,n[7]=N,n[8]=C,n[9]=p,n[10]=x,n[11]=d,n[12]=U):U=n[12];let W=re(U),Y;n[13]!==e||n[14]!==W?(Y=()=>K(e,W),n[13]=e,n[14]=W,n[15]=Y):Y=n[15];let X=Y,Z,Q;n[16]===e?(Z=n[17],Q=n[18]):(Z=()=>{e&&ee(!0)},Q=[e],n[16]=e,n[17]=Z,n[18]=Q),(0,G.useLayoutEffect)(Z,Q);let $,se;n[19]===X?($=n[20],se=n[21]):($=()=>{X()},se=[X],n[19]=X,n[20]=$,n[21]=se),(0,G.useEffect)($,se);let ce;n[22]===H?ce=n[23]:(ce=[H],n[22]=H,n[23]=ce);let le=F(e,ce),ue;n[24]===h?ue=n[25]:(ue=function(e){h(e)},n[24]=h,n[25]=ue);let de=ue,fe;n[26]!==e||n[27]!==p?(fe=async function(){e&&await q(e,p,z)},n[26]=e,n[27]=p,n[28]=fe):fe=n[28];let pe=fe,me;n[29]!==e||n[30]!==d?(me=async function(){e&&await J(e,d,V)},n[29]=e,n[30]=d,n[31]=me):me=n[31];let he=me,ge;n[32]!==g||n[33]!==v||n[34]!==m||n[35]!==a||n[36]!==r||n[37]!==t||n[38]!==O||n[39]!==A||n[40]!==E||n[41]!==w||n[42]!==M||n[43]!==S||n[44]!==e||n[45]!==f||n[46]!==W||n[47]!==b||n[48]!==u?(ge=async function(){if(!e)return;let n=f.trim()!==``&&w.trim()===``;await ne(e,{value:u,runCmd:f,commitMethod:m,allowAllCommands:g,allowedCommandPatterns:v,useBuiltInBrowser:b,originalValue:S,originalRunCmd:w,originalCommitMethod:E,originalAllowAllCommands:O,originalAllowedCommandPatterns:A,originalUseBuiltInBrowser:M},W)&&(n&&a({type:c.SetRunCommandSaved,projectId:e}),t&&t().catch(oe),r(`/`))},n[32]=g,n[33]=v,n[34]=m,n[35]=a,n[36]=r,n[37]=t,n[38]=O,n[39]=A,n[40]=E,n[41]=w,n[42]=M,n[43]=S,n[44]=e,n[45]=f,n[46]=W,n[47]=b,n[48]=u,n[49]=ge):ge=n[49];let _e=ge,ve=H||P,ye=H||R||B,be;n[50]!==g||n[51]!==v||n[52]!==m||n[53]!==O||n[54]!==A||n[55]!==E||n[56]!==w||n[57]!==M||n[58]!==S||n[59]!==f||n[60]!==b||n[61]!==u?(be=te({value:u,runCmd:f,commitMethod:m,allowAllCommands:g,allowedCommandPatterns:v,useBuiltInBrowser:b,originalValue:S,originalRunCmd:w,originalCommitMethod:E,originalAllowAllCommands:O,originalAllowedCommandPatterns:A,originalUseBuiltInBrowser:M}),n[50]=g,n[51]=v,n[52]=m,n[53]=O,n[54]=A,n[55]=E,n[56]=w,n[57]=M,n[58]=S,n[59]=f,n[60]=b,n[61]=u,n[62]=be):be=n[62];let xe=be,Se;return n[63]!==g||n[64]!==v||n[65]!==m||n[66]!==ve||n[67]!==de||n[68]!==_e||n[69]!==pe||n[70]!==he||n[71]!==xe||n[72]!==H||n[73]!==le||n[74]!==f||n[75]!==P||n[76]!==_||n[77]!==y||n[78]!==p||n[79]!==x||n[80]!==d||n[81]!==ye||n[82]!==R||n[83]!==B||n[84]!==b||n[85]!==u?(Se={value:u,setValue:d,runCmd:f,setRunCmd:p,commitMethod:m,saving:P,suggestingCommand:R,suggestingScript:B,loading:H,allowAllCommands:g,setAllowAllCommands:_,allowedCommandPatterns:v,setAllowedCommandPatterns:y,useBuiltInBrowser:b,setUseBuiltInBrowser:x,pageLoading:le,handleCommitMethodChange:de,handleSuggestCommand:pe,handleSuggestSetupScript:he,handleSave:_e,controlsDisabled:ve,suggestDisabled:ye,hasUnsavedChanges:xe},n[63]=g,n[64]=v,n[65]=m,n[66]=ve,n[67]=de,n[68]=_e,n[69]=pe,n[70]=he,n[71]=xe,n[72]=H,n[73]=le,n[74]=f,n[75]=P,n[76]=_,n[77]=y,n[78]=p,n[79]=x,n[80]=d,n[81]=ye,n[82]=R,n[83]=B,n[84]=b,n[85]=u,n[86]=Se):Se=n[86],Se}function oe(){}function $(e){let t=(0,I.c)(47),{projectId:n,onProjectUpdated:r}=e,{value:i,setValue:a,runCmd:o,setRunCmd:s,commitMethod:c,saving:l,suggestingCommand:u,suggestingScript:d,loading:f,allowAllCommands:p,setAllowAllCommands:m,allowedCommandPatterns:h,setAllowedCommandPatterns:g,useBuiltInBrowser:_,setUseBuiltInBrowser:v,pageLoading:y,handleCommitMethodChange:b,handleSuggestCommand:x,handleSuggestSetupScript:S,handleSave:w,controlsDisabled:T,suggestDisabled:k,hasUnsavedChanges:M}=Q(n,r);if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,L.jsx)(C,{title:`No project selected`,children:`Please select a project from the sidebar to view its coding settings.`}),t[0]=e):e=t[0],e}let N=T||!M,P;t[1]!==w||t[2]!==l||t[3]!==N?(P=(0,L.jsx)(E,{title:`Setup`,description:`Scripts and command behavior Tarsk uses when working on this project.`,action:(0,L.jsx)(U,{saving:l,disabled:N,onSave:w}),sticky:!1}),t[1]=w,t[2]=l,t[3]=N,t[4]=P):P=t[4];let F;t[5]!==S||t[6]!==f||t[7]!==a||t[8]!==k||t[9]!==d||t[10]!==i?(F=(0,L.jsx)(W,{value:i,loading:f,suggestingScript:d,suggestDisabled:k,onChange:a,onSuggest:S}),t[5]=S,t[6]=f,t[7]=a,t[8]=k,t[9]=d,t[10]=i,t[11]=F):F=t[11];let z;t[12]!==x||t[13]!==f||t[14]!==o||t[15]!==s||t[16]!==k||t[17]!==u?(z=(0,L.jsx)(ee,{runCmd:o,loading:f,suggestingCommand:u,suggestDisabled:k,onChange:s,onSuggest:x}),t[12]=x,t[13]=f,t[14]=o,t[15]=s,t[16]=k,t[17]=u,t[18]=z):z=t[18];let V;t[19]!==c||t[20]!==b||t[21]!==f?(V=(0,L.jsx)(B,{commitMethod:c,loading:f,onChange:b}),t[19]=c,t[20]=b,t[21]=f,t[22]=V):V=t[22];let G;t[23]!==p||t[24]!==h||t[25]!==T||t[26]!==f||t[27]!==m||t[28]!==g?(G=(0,L.jsx)(H,{allowAllCommands:p,allowedCommandPatterns:h,loading:f,controlsDisabled:T,onAllowAllChange:m,onPatternsChange:g}),t[23]=p,t[24]=h,t[25]=T,t[26]=f,t[27]=m,t[28]=g,t[29]=G):G=t[29];let K;t[30]!==T||t[31]!==v||t[32]!==_?(K=(0,L.jsx)(R,{useBuiltInBrowser:_,disabled:T,onChange:v}),t[30]=T,t[31]=v,t[32]=_,t[33]=K):K=t[33];let q;t[34]!==F||t[35]!==z||t[36]!==V||t[37]!==G||t[38]!==K?(q=(0,L.jsx)(A,{className:`max-w-none pt-6`,children:(0,L.jsxs)(j,{children:[F,z,V,G,K]})}),t[34]=F,t[35]=z,t[36]=V,t[37]=G,t[38]=K,t[39]=q):q=t[39];let J;t[40]!==P||t[41]!==q?(J=(0,L.jsxs)(O,{className:`shrink-0`,children:[P,q]}),t[40]=P,t[41]=q,t[42]=J):J=t[42];let Y;return t[43]!==y||t[44]!==n||t[45]!==J?(Y=(0,L.jsx)(D,{loading:y,children:J},n),t[43]=y,t[44]=n,t[45]=J,t[46]=Y):Y=t[46],Y}export{$ as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{An as i,Bn as a,Hn as o,Mn as s,Nn as c,Pn as l,Ut as u,Vn as d,jn as f}from"./dist-Ch137qdo.js";import{t as p}from"./utils-CWTBjUlE.js";import{t as m}from"./button-DVIjvd2G.js";import{$ as h,er as g,tt as _}from"./api-IMkL19mR.js";import{t as v}from"./use-toast-xpb5jNtN.js";import{$t as y,Bt as b,Ct as x,Dt as S,Ft as C,Ht as w,It as T,Lt as E,Pt as D,Rt as O,_t as k,jt as A,xt as j,zt as M}from"./index-C3E_66vw.js";import{a as N,i as P,n as F,o as I,r as L,t as R}from"./table-DHvBIex4.js";import{t as z}from"./use-settings-page-loading-CpaBd260.js";var B=e(n(),1),V=t(),H=r(),U=`__unspecified__`,W=`__default__`,G=`Unsupported`,K=`table-fixed`,q=`[&_tr]:border-b-0`,J=`h-9 px-0 py-2`,Y=p(J,`w-40`),X=p(J,`w-56`),Z=`py-2 pl-0 pr-4 align-middle`,Q=`py-2 pl-0 align-middle`;function $(e){let t=(0,V.c)(20),{alias:n,target:r,supportedReasoningEfforts:i,disabled:a,onReasoningChange:o}=e;if(!r)return null;if(i.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,H.jsx)(`span`,{className:u.bodyMuted,children:G}),t[0]=e):e=t[0],e}let s=r.reasoningEffort??W,c;t[1]!==n||t[2]!==o?(c=e=>o(n,e),t[1]=n,t[2]=o,t[3]=c):c=t[3];let l=`model-alias-${n}-reasoning`,p=`${f[n]} reasoning effort`,m;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,H.jsx)(b,{placeholder:`Model default`}),t[4]=m):m=t[4];let h;t[5]!==l||t[6]!==p?(h=(0,H.jsx)(M,{id:l,className:`w-full min-w-0`,"aria-label":p,children:m}),t[5]=l,t[6]=p,t[7]=h):h=t[7];let g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,H.jsx)(E,{value:W,children:`Model default`}),t[8]=g):g=t[8];let _;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,H.jsx)(E,{value:`off`,children:d(`off`)}),t[9]=_):_=t[9];let v;t[10]===i?v=t[11]:(v=i.map(ee),t[10]=i,t[11]=v);let y;t[12]===v?y=t[13]:(y=(0,H.jsxs)(T,{children:[g,_,v]}),t[12]=v,t[13]=y);let x;return t[14]!==a||t[15]!==s||t[16]!==y||t[17]!==c||t[18]!==h?(x=(0,H.jsxs)(C,{value:s,onValueChange:c,disabled:a,children:[h,y]}),t[14]=a,t[15]=s,t[16]=y,t[17]=c,t[18]=h,t[19]=x):x=t[19],x}function ee(e){return(0,H.jsx)(E,{value:e,children:d(e)},e)}function te(e){let t=(0,V.c)(21),{value:n,onChange:r,enabledModels:a,disabled:u}=e,d=u===void 0?!1:u,p;if(t[0]!==a){p=new Map;for(let e of a){let t=e.provider??`other`,n=p.get(t);n?n.push(e):p.set(t,[e])}t[0]=a,t[1]=p}else p=t[1];let m=p,h;t[2]!==r||t[3]!==n?(h=function(e,t){let i={...n};if(t===U){delete i[e],r(i);return}let a=c(t);a&&(i[e]=a,r(i))},t[2]=r,t[3]=n,t[4]=h):h=t[4];let g=h,_;t[5]===a?_=t[6]:(_=function(e){if(!e)return;let t=e.provider.toLowerCase();return a.find(n=>n.id===e.model&&(n.provider??`other`).toLowerCase()===t)},t[5]=a,t[6]=_);let v=_,x;t[7]!==r||t[8]!==n?(x=function(e,t){let i=n[e];if(!i)return;let a={...i};if(t===W)delete a.reasoningEffort;else if(o(t))a.reasoningEffort=t;else return;r({...n,[e]:a})},t[7]=r,t[8]=n,t[9]=x):x=t[9];let S=x,w;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,H.jsx)(N,{className:q,children:(0,H.jsxs)(`tr`,{children:[(0,H.jsx)(P,{className:Y,children:`Name`}),(0,H.jsx)(P,{className:J,children:`Model`}),(0,H.jsx)(P,{className:X,children:`Reasoning`})]})}),t[10]=w):w=t[10];let D;t[11]!==d||t[12]!==a||t[13]!==v||t[14]!==g||t[15]!==S||t[16]!==m||t[17]!==n?(D=s.map(e=>{let t=n[e],r=t?l(t):U,o=v(t)?.supportedReasoningEfforts??[];return(0,H.jsxs)(I,{className:`hover:bg-transparent`,children:[(0,H.jsx)(L,{className:Z,children:(0,H.jsx)(j,{title:f[e],description:i[e]})}),(0,H.jsx)(L,{className:Z,children:(0,H.jsxs)(C,{value:r,onValueChange:t=>g(e,t),disabled:d,children:[(0,H.jsx)(M,{id:`model-alias-${e}`,className:`w-full min-w-0`,children:(0,H.jsx)(b,{placeholder:`Unspecified`,children:t?(0,H.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[(0,H.jsx)(k,{providerSlug:t.provider}),(0,H.jsx)(`span`,{className:`truncate`,children:y(t.model)})]}):`Unspecified`})}),(0,H.jsxs)(T,{children:[(0,H.jsx)(E,{value:U,children:`Unspecified`}),a.length>0&&(0,H.jsx)(O,{}),[...m.entries()].map(ne)]})]})}),(0,H.jsx)(L,{className:Q,children:(0,H.jsx)($,{alias:e,target:t,supportedReasoningEfforts:o,disabled:d,onReasoningChange:S})})]},e)}),t[11]=d,t[12]=a,t[13]=v,t[14]=g,t[15]=S,t[16]=m,t[17]=n,t[18]=D):D=t[18];let A;return t[19]===D?A=t[20]:(A=(0,H.jsx)(`div`,{id:`model-aliases`,children:(0,H.jsxs)(R,{className:K,children:[w,(0,H.jsx)(F,{children:D})]})}),t[19]=D,t[20]=A),A}function ne(e){let[t,n]=e;return(0,H.jsxs)(`div`,{children:[(0,H.jsxs)(`div`,{className:p(u.dropdownGroupHeading,`flex items-center gap-1.5 px-2 py-1.5 uppercase`),children:[(0,H.jsx)(k,{providerSlug:t}),t]}),n.map(e=>{let n=l({provider:e.provider??t,model:e.id});return(0,H.jsx)(E,{value:n,children:y(e.id)},n)})]},t)}function re(e){return[...e].sort((e,t)=>{let n=(e.provider??``).localeCompare(t.provider??``);return n===0?y(e.id).localeCompare(y(t.id)):n})}function ie(){let[e,t]=(0,B.useState)({}),[n,r]=(0,B.useState)({}),[i,o]=(0,B.useState)([]),[s,c]=(0,B.useState)(!0),[l,u]=(0,B.useState)(!1),d=(0,B.useCallback)(async()=>{c(!0);try{let[e,n]=await Promise.all([h(),_().catch(()=>({}))]),i=e.modelAliases??{};o(re(Object.values(n).flat())),t(i),r(i)}catch(e){v({title:`Error`,description:e instanceof Error?e.message:`Failed to load model aliases`,variant:`destructive`})}finally{c(!1)}},[]);(0,B.useEffect)(()=>{d()},[d]);let f=z(`model-aliases`,[s]);function p(){return JSON.stringify(e)!==JSON.stringify(n)}async function y(){if(p()){u(!0);try{let t=Object.keys(e).length>0?e:void 0;if(t){let e=await _();a(t,Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.map(e=>e.id)])))}await g({modelAliases:t??null}),r(e),window.dispatchEvent(new Event(w)),await d()}catch(e){v({title:`Error`,description:e instanceof Error?e.message:`Failed to save model aliases`,variant:`destructive`})}finally{u(!1)}}}return(0,H.jsx)(S,{loading:f,children:(0,H.jsxs)(D,{className:`shrink-0`,children:[(0,H.jsx)(x,{title:`Default Models`,description:`Choose the default model for new chats and map Tarsk-wide short names (fast, local, cheap, smart) to enabled models. Subagents can reference these aliases in AGENT.md. Set Cheap to enable Orchestrate mode.`,action:(0,H.jsx)(m,{onClick:()=>void y(),disabled:s||l||!p(),children:`Save`}),sticky:!1}),(0,H.jsx)(A,{className:`max-w-none pt-6`,children:(0,H.jsx)(te,{value:e,onChange:t,enabledModels:i,disabled:s||l})})]})})}export{ie as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{kt as a}from"./dist-Ch137qdo.js";import{r as o}from"./store-CEYCdhjW.js";import{Ot as s,dt as c}from"./lucide-react-C-dX1rVz.js";import{t as l}from"./button-DVIjvd2G.js";import{i as u,n as d,r as f,t as ee}from"./tooltip-Cqmpv-M5.js";import{St as p,ei as m,nr as h,tr as g,wn as _,xt as v}from"./api-IMkL19mR.js";import{t as y}from"./use-toast-xpb5jNtN.js";import{At as b,B as x,Ct as te,Dt as ne,Jn as re,Pt as ie,Qn as S,Xn as C,Yn as w,bt as ae,jt as oe,kt as se,o as ce,wr as le}from"./index-C3E_66vw.js";import{t as ue}from"./use-settings-page-loading-CpaBd260.js";var T=t(),E=e(n(),1),D=r();function de(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>t(r),r.onerror=()=>n(Error(`The selected file is not a readable image.`)),r.src=e})}async function fe(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await v(e);t.setProjectPath(n.projectPath??null),t.setName(n.name??``),t.setProjectIcon(n.projectIcon??null),t.setOriginalName(n.name??``),t.setOriginalProjectIcon(n.projectIcon??null);try{let n=await p(e,`AGENTS.md`);t.setInstructions(n.content),t.setOriginalInstructions(n.content)}catch{t.setInstructions(``),t.setOriginalInstructions(``)}}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to load project settings`,variant:`destructive`})}finally{t.setLoading(!1)}}async function O(e,t){try{let n=await de(e),r=document.createElement(`canvas`);r.width=256,r.height=256;let i=r.getContext(`2d`);if(!i)throw Error(`Could not prepare image conversion`);i.imageSmoothingEnabled=!0,i.imageSmoothingQuality=`high`;let a=Math.max(256/n.naturalWidth,256/n.naturalHeight),o=n.naturalWidth*a,s=n.naturalHeight*a;i.drawImage(n,(256-o)/2,(256-s)/2,o,s),t(r.toDataURL(`image/png`))}catch(e){y({title:`Could not use image`,description:e instanceof Error?e.message:`The selected file could not be read.`,variant:`destructive`})}}async function k(e,t){let n=e.target.files?.[0];if(e.target.value=``,!n)return;let r=URL.createObjectURL(n);try{await O(r,t)}finally{URL.revokeObjectURL(r)}}async function A(e,t,n){t!==n&&await h(e,t)}async function j(e,t,n){t!==n&&await _(e,`AGENTS.md`,t)}async function M(e,t,n){t!==n&&await g(e,{projectIcon:t})}async function pe(e,t,n,r,i,a){n.setSaving(!0);try{await A(e,t.name,t.originalName),await j(e,t.instructions,t.originalInstructions),await M(e,t.projectIcon,t.originalProjectIcon),n.setOriginalName(t.name),n.setOriginalInstructions(t.instructions),n.setOriginalProjectIcon(t.projectIcon),r&&await r(),await a(),i(`/`)}catch(e){y({title:`Error`,description:e instanceof Error?e.message:`Failed to save settings`,variant:`destructive`})}finally{n.setSaving(!1)}}function me(e){let t=(0,T.c)(26),{projectIcon:n,entityNoun:r,disabled:i,inputRef:a,onFileChange:o,onButtonClick:c,onRemove:l}=e,p;t[0]!==i||t[1]!==a||t[2]!==o?(p=(0,D.jsx)(`input`,{ref:a,type:`file`,accept:`image/*`,className:`sr-only`,onChange:o,disabled:i}),t[0]=i,t[1]=a,t[2]=o,t[3]=p):p=t[3];let m=n?`Change project icon`:`Choose project icon`,h;t[4]===n?h=t[5]:(h=n?(0,D.jsx)(`img`,{src:n,alt:``,className:`h-full w-full object-cover`}):(0,D.jsx)(s,{className:`h-8 w-8 text-muted-foreground`,strokeWidth:1.5}),t[4]=n,t[5]=h);let g;t[6]!==i||t[7]!==c||t[8]!==m||t[9]!==h?(g=(0,D.jsx)(S,{asChild:!0,children:(0,D.jsx)(u,{asChild:!0,children:(0,D.jsx)(`button`,{type:`button`,className:`flex h-16 w-16 items-center justify-center overflow-hidden rounded-lg border border-border bg-muted/40 outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:c,disabled:i,"aria-label":m,children:h})})}),t[6]=i,t[7]=c,t[8]=m,t[9]=h,t[10]=g):g=t[10];let _;t[11]===r?_=t[12]:(_=(0,D.jsxs)(d,{side:`bottom`,className:`max-w-xs`,children:[`Choose an avatar for this `,r,` (pick any image from your computer)`]}),t[11]=r,t[12]=_);let v;t[13]!==g||t[14]!==_?(v=(0,D.jsx)(f,{delayDuration:300,children:(0,D.jsxs)(ee,{children:[g,_]})}),t[13]=g,t[14]=_,t[15]=v):v=t[15];let y;t[16]!==i||t[17]!==l||t[18]!==n?(y=n&&(0,D.jsx)(w,{children:(0,D.jsx)(C,{disabled:i,onSelect:l,children:`Remove`})}),t[16]=i,t[17]=l,t[18]=n,t[19]=y):y=t[19];let b;t[20]!==v||t[21]!==y?(b=(0,D.jsxs)(re,{children:[v,y]}),t[20]=v,t[21]=y,t[22]=b):b=t[22];let x;return t[23]!==p||t[24]!==b?(x=(0,D.jsxs)(`div`,{className:`flex items-center gap-2`,children:[p,b]}),t[23]=p,t[24]=b,t[25]=x):x=t[25],x}function he(e){let t=(0,T.c)(6),{saving:n,disabled:r,onClick:i}=e,a;t[0]===n?a=t[1]:(a=n?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(c,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,D.jsx)(l,{onClick:i,disabled:r,children:a}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function ge(e,t,n){let r=(0,T.c)(13),i;r[0]===e?i=r[1]:(i=function(t){return O(t,e)},r[0]=e,r[1]=i);let a=i,o,s;r[2]===a?(o=r[3],s=r[4]):(o=()=>{if(!m())return;let e=function(e){let t=e.detail.dataUrl;a(t)};return window.addEventListener(`tarsk:project-icon-selected`,e),()=>{window.removeEventListener(`tarsk:project-icon-selected`,e)}},s=[a],r[2]=a,r[3]=o,r[4]=s),(0,E.useEffect)(o,s);let c;r[5]===e?c=r[6]:(c=function(t){return k(t,e)},r[5]=e,r[6]=c);let l=c,u;r[7]!==n||r[8]!==t?(u=function(){m()&&t?ce(t):n.current?.click()},r[7]=n,r[8]=t,r[9]=u):u=r[9];let d=u,f;return r[10]!==d||r[11]!==l?(f={handleProjectIconChange:l,handleProjectIconButtonClick:d},r[10]=d,r[11]=l,r[12]=f):f=r[12],f}function N(e){let t=(0,T.c)(55),{projectId:n,onProjectUpdated:r}=e,s=i(),c;t[0]===n?c=t[1]:(c=e=>e.projects.find(e=>e.projectId===n)?.type,t[0]=n,t[1]=c);let l=a({type:o(c)})?`bot`:`project`,[u,d]=(0,E.useState)(``),[f,ee]=(0,E.useState)(``),[p,m]=(0,E.useState)(``),[h,g]=(0,E.useState)(!1),[_,v]=(0,E.useState)(!0),[y,re]=(0,E.useState)(``),[S,C]=(0,E.useState)(null),[w,ce]=(0,E.useState)(null),[de,O]=(0,E.useState)(null),k=(0,E.useRef)(null),A;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(A={setProjectPath:O,setName:d,setInstructions:ee,setProjectIcon:C,setOriginalName:re,setOriginalInstructions:m,setOriginalProjectIcon:ce,setLoading:v,setSaving:g},t[2]=A):A=t[2];let j=A,M;t[3]===n?M=t[4]:(M=()=>fe(n,j),t[3]=n,t[4]=M);let N=M,P,F;t[5]===n?(P=t[6],F=t[7]):(P=()=>{n&&v(!0)},F=[n],t[5]=n,t[6]=P,t[7]=F),(0,E.useLayoutEffect)(P,F);let I,L;t[8]===N?(I=t[9],L=t[10]):(I=()=>{N()},L=[N],t[8]=N,t[9]=I,t[10]=L),(0,E.useEffect)(I,L);let R;t[11]===_?R=t[12]:(R=[_],t[11]=_,t[12]=R);let z=ue(n,R),{handleProjectIconChange:B,handleProjectIconButtonClick:V}=ge(C,de,k),H;t[13]!==f||t[14]!==N||t[15]!==u||t[16]!==s||t[17]!==r||t[18]!==p||t[19]!==y||t[20]!==w||t[21]!==S||t[22]!==n?(H=async()=>{n&&await pe(n,{name:u,instructions:f,projectIcon:S,originalName:y,originalInstructions:p,originalProjectIcon:w},j,r,s,N)},t[13]=f,t[14]=N,t[15]=u,t[16]=s,t[17]=r,t[18]=p,t[19]=y,t[20]=w,t[21]=S,t[22]=n,t[23]=H):H=t[23];let _e=H,U=_||h,ve=u!==y||f!==p||S!==w;if(!n){let e;return t[24]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,D.jsx)(b,{title:`No project selected`,children:`Please select a project from the sidebar to view its settings.`}),t[24]=e):e=t[24],e}let ye=U||!ve,W;t[25]!==_e||t[26]!==h||t[27]!==ye?(W=(0,D.jsx)(te,{title:`Project Settings`,description:`Configure settings for your project.`,action:(0,D.jsx)(he,{saving:h,disabled:ye,onClick:_e}),sticky:!1}),t[25]=_e,t[26]=h,t[27]=ye,t[28]=W):W=t[28];let G;t[29]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>C(null),t[29]=G):G=t[29];let K;t[30]!==U||t[31]!==V||t[32]!==B||t[33]!==l||t[34]!==S?(K=(0,D.jsx)(`div`,{className:`flex justify-center`,children:(0,D.jsx)(me,{projectIcon:S,entityNoun:l,disabled:U,inputRef:k,onFileChange:B,onButtonClick:V,onRemove:G})}),t[30]=U,t[31]=V,t[32]=B,t[33]=l,t[34]=S,t[35]=K):K=t[35];let q;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(q=e=>d(e.target.value),t[36]=q):q=t[36];let J;t[37]!==_||t[38]!==u?(J=(0,D.jsx)(ae,{title:`Name`,controlLayout:`stack`,children:(0,D.jsx)(le,{id:`projectName`,value:u,onChange:q,placeholder:`Enter project name`,disabled:_})}),t[37]=_,t[38]=u,t[39]=J):J=t[39];let Y;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(Y=e=>ee(e.target.value),t[40]=Y):Y=t[40];let X;t[41]!==f||t[42]!==_?(X=(0,D.jsx)(ae,{title:`Instructions`,description:`Agent context and coding guidelines, stored in AGENTS.md. New threads start from a copy of this file.`,controlLayout:`stack`,children:(0,D.jsx)(x,{id:`projectInstructions`,value:f,onChange:Y,placeholder:`Add instructions for your agent in AGENTS.md...`,className:`font-mono min-h-[376px] resize-none`,disabled:_})}),t[41]=f,t[42]=_,t[43]=X):X=t[43];let Z;t[44]!==K||t[45]!==J||t[46]!==X?(Z=(0,D.jsx)(oe,{className:`max-w-none pt-6`,children:(0,D.jsxs)(se,{children:[K,J,X]})}),t[44]=K,t[45]=J,t[46]=X,t[47]=Z):Z=t[47];let Q;t[48]!==W||t[49]!==Z?(Q=(0,D.jsxs)(ie,{className:`shrink-0`,children:[W,Z]}),t[48]=W,t[49]=Z,t[50]=Q):Q=t[50];let $;return t[51]!==z||t[52]!==n||t[53]!==Q?($=(0,D.jsx)(ne,{loading:z,children:Q},n),t[51]=z,t[52]=n,t[53]=Q,t[54]=$):$=t[54],$}export{N as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{s as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{At as a,Dt as o,Mt as s,Ot as c,Ut as l,jt as u,kt as d}from"./dist-Ch137qdo.js";import{t as f}from"./utils-CWTBjUlE.js";import{dt as p}from"./lucide-react-C-dX1rVz.js";import{t as m}from"./button-DVIjvd2G.js";import{tr as h,xt as g}from"./api-IMkL19mR.js";import{t as _}from"./use-toast-xpb5jNtN.js";import{At as v,Ct as y,Dt as b,Pt as x,jt as S,lt as C}from"./index-C3E_66vw.js";import{t as w}from"./use-settings-page-loading-CpaBd260.js";var T=e(n(),1),E=t(),D=r(),O=s(),k=Math.ceil(O.length/2),A=[O.slice(0,k),O.slice(k)];function j(e){let t=(0,E.c)(14),{tool:n,enabled:r,disabled:i,onToggle:a}=e,o;t[0]!==a||t[1]!==n.name?(o=e=>a(n.name,e),t[0]=a,t[1]=n.name,t[2]=o):o=t[2];let s;t[3]!==i||t[4]!==r||t[5]!==o||t[6]!==n.displayName?(s=(0,D.jsx)(C,{value:r,onChange:o,disabled:i,ariaLabel:n.displayName}),t[3]=i,t[4]=r,t[5]=o,t[6]=n.displayName,t[7]=s):s=t[7];let c;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=f(l.body,`truncate`),t[8]=c):c=t[8];let u;t[9]===n.displayName?u=t[10]:(u=(0,D.jsx)(`span`,{className:c,children:n.displayName}),t[9]=n.displayName,t[10]=u);let d;return t[11]!==s||t[12]!==u?(d=(0,D.jsxs)(`div`,{className:`grid min-h-10 grid-cols-[auto_minmax(0,1fr)] items-center gap-3 px-3 py-2`,children:[s,u]}),t[11]=s,t[12]=u,t[13]=d):d=t[13],d}function M(e,t,n){return!t.includes(e)&&!n.has(e)}function N(e,t,n){return t||n.has(e)}function P(e){let t=(0,E.c)(13),{tools:n,disabledTools:r,disabled:i,forceDisabledTools:a,onToggle:o}=e,s;if(t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==o||t[4]!==n){let e;t[6]!==i||t[7]!==r||t[8]!==a||t[9]!==o?(e=e=>(0,D.jsx)(j,{tool:e,enabled:M(e.name,r,a),disabled:N(e.name,i,a),onToggle:o},e.name),t[6]=i,t[7]=r,t[8]=a,t[9]=o,t[10]=e):e=t[10],s=n.map(e),t[0]=i,t[1]=r,t[2]=a,t[3]=o,t[4]=n,t[5]=s}else s=t[5];let c;return t[11]===s?c=t[12]:(c=(0,D.jsx)(`div`,{className:`divide-y divide-table-border`,children:s}),t[11]=s,t[12]=c),c}function F(e){let t=(0,E.c)(21),{disabledTools:n,onChange:r,disabled:i,forceDisabledTools:a}=e,o=i===void 0?!1:i,s,c,l,u;t[0]!==o||t[1]!==n||t[2]!==a||t[3]!==r?(s=new Set((a??[]).map(I)),c=function(e,t){let i=e.toLowerCase();if(!(s.has(i)&&t)){if(t){r(n.filter(e=>e!==i));return}n.includes(i)||r([...n,i].sort())}},l=`divide-y divide-table-border @md/settings-page:hidden`,u=O.map(e=>(0,D.jsx)(j,{tool:e,enabled:M(e.name,n,s),disabled:N(e.name,o,s),onToggle:c},e.name)),t[0]=o,t[1]=n,t[2]=a,t[3]=r,t[4]=s,t[5]=c,t[6]=l,t[7]=u):(s=t[4],c=t[5],l=t[6],u=t[7]);let d;t[8]!==l||t[9]!==u?(d=(0,D.jsx)(`div`,{className:l,children:u}),t[8]=l,t[9]=u,t[10]=d):d=t[10];let f;t[11]!==o||t[12]!==n||t[13]!==s||t[14]!==c?(f=A.map((e,t)=>(0,D.jsx)(P,{tools:e,disabledTools:n,disabled:o,forceDisabledTools:s,onToggle:c},t)),t[11]=o,t[12]=n,t[13]=s,t[14]=c,t[15]=f):f=t[15];let p;t[16]===f?p=t[17]:(p=(0,D.jsx)(`div`,{className:`hidden @md/settings-page:grid @md/settings-page:grid-cols-2 divide-x divide-table-border`,children:f}),t[16]=f,t[17]=p);let m;return t[18]!==d||t[19]!==p?(m=(0,D.jsxs)(D.Fragment,{children:[d,p]}),t[18]=d,t[19]=p,t[20]=m):m=t[20],m}function I(e){return e.toLowerCase()}function L(e,t){return JSON.stringify([...e].sort())!==JSON.stringify([...t].sort())}function R(e,t){return e?u({type:o,disabledTools:t}):t}async function z(e){let t=await g(e);return{disabledTools:u(t),toolsLocked:d(t),standardProject:a(t)}}function B(e,t){_({title:`Error`,description:e instanceof Error?e.message:t,variant:`destructive`})}function V(e){let t=(0,E.c)(6),{saving:n,disabled:r,onSave:i}=e,a;t[0]===n?a=t[1]:(a=n?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(p,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[0]=n,t[1]=a);let o;return t[2]!==r||t[3]!==i||t[4]!==a?(o=(0,D.jsx)(m,{onClick:i,disabled:r,children:a}),t[2]=r,t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function H({projectId:e,onProjectUpdated:t}){let n=i(),[r,a]=(0,T.useState)([]),[o,s]=(0,T.useState)([]),[l,u]=(0,T.useState)(!0),[d,f]=(0,T.useState)(!1),[p,m]=(0,T.useState)(!1),[g,_]=(0,T.useState)(!1),C=(0,T.useCallback)(async()=>{if(!e){u(!1);return}u(!0);try{let t=await z(e);a(t.disabledTools),s(t.disabledTools),m(t.toolsLocked),_(t.standardProject)}catch(e){B(e,`Failed to load tools settings`)}finally{u(!1)}},[e]);(0,T.useLayoutEffect)(()=>{e&&u(!0)},[e]),(0,T.useEffect)(()=>{C()},[C]);let E=w(e,[l]),O=L(r,o);async function k(){if(!(!e||!O)){f(!0);try{await h(e,{disabledTools:R(g,r)}),s(r),t&&await t(),await C(),n(`/`)}catch(e){B(e,`Failed to save tools settings`)}finally{f(!1)}}}return e?(0,D.jsx)(b,{loading:E,children:(0,D.jsxs)(x,{className:`shrink-0`,children:[(0,D.jsx)(y,{title:`Tools`,description:`Control which tools the agent can use in this project. Disabled tools are hidden from the agent.`,action:(0,D.jsx)(V,{saving:d,disabled:d||l||p||!O,onSave:()=>void k()}),sticky:!1}),(0,D.jsx)(S,{className:`max-w-none pt-6`,children:(0,D.jsx)(F,{disabledTools:r,onChange:a,disabled:l||d||p,forceDisabledTools:g?[...c]:void 0})})]})}):(0,D.jsx)(v,{title:`No project selected`,children:`Please select a project from the sidebar to configure tools.`})}export{H as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{c as i,s as a}from"./chunk-QFMPRPBF-COsSkB7x.js";import{Ht as o,Ut as s,W as c,wt as l}from"./dist-Ch137qdo.js";import{n as u,tt as d}from"./store-CEYCdhjW.js";import{r as f,t as p}from"./utils-CWTBjUlE.js";import{F as m,Kt as h,dt as g,gt as _,k as v,mn as y,qt as b,r as x}from"./lucide-react-C-dX1rVz.js";import{r as S,t as C}from"./button-DVIjvd2G.js";import{i as ee,n as te,r as w,t as T}from"./tooltip-Cqmpv-M5.js";import{B as E,Dn as D,En as ne,G as re,I as ie,L as ae,Mt as O,W as k,kt as oe,ln as A,tt as j,z as se}from"./api-IMkL19mR.js";import{t as ce}from"./progress-indicator-QgGbLfer.js";import{n as M}from"./suspense-resource-DzlMlIgR.js";import{$t as N,At as le,Ct as P,Gn as F,Ot as I,Pt as L,St as ue,Ut as R,cr as de,dr as z,dt as B,jt as V,kt as fe,lr as pe,lt as me,mt as he,pt as H,ur as ge,vt as U,wr as W}from"./index-C3E_66vw.js";import{t as G}from"./async-error-boundary-Did-c5sq.js";import{t as K}from"./sorting-DqwxPMRN.js";import{t as q}from"./pending-changes-Bn-0ak1d.js";import{o as J}from"./settings-list-CvCGue_y.js";import{t as Y}from"./use-deferred-search-Dgxosq55.js";import{n as X,r as _e,t as ve}from"./model-list-controls-Yu77SyTe.js";var Z=t(),Q=e(n(),1),$=r(),ye=S(p(s.compact,`inline-flex items-center rounded-full border px-2.5 py-0.5 font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2`),{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground hover:bg-primary/80`,secondary:`border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80`,destructive:`border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80`,outline:`text-foreground`}},defaultVariants:{variant:`default`}});function be(e){let t=(0,Z.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,variant:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a;t[4]!==n||t[5]!==i?(a=p(ye({variant:i}),n),t[4]=n,t[5]=i,t[6]=a):a=t[6];let o;return t[7]!==r||t[8]!==a?(o=(0,$.jsx)(`div`,{className:a,...r}),t[7]=r,t[8]=a,t[9]=o):o=t[9],o}function xe(e,t,n){return n?e.find(e=>e.slug===n)??null:t?e.find(e=>e.name===t)??null:null}function Se(e,t,n){return e?!!(n&&e.slug===n||t&&e.name===t):!1}function Ce(e){return e instanceof Error?e.message:`Failed to load providers`}async function we({providerData:e,selectedProviderName:t,selectedProviderSlug:n,fetchProviders:r}){if(Se(e,t,n))return{provider:e};try{return{provider:xe(await r(),t,n)}}catch(e){return{error:Ce(e)}}}var Te=c(`app.use-provider-details.hook`);function Ee(){let e=(0,Z.c)(10),[t,n]=(0,Q.useState)(null),[r,i]=(0,Q.useState)(``),[a,o]=(0,Q.useState)(null),[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(!1),[d,f]=(0,Q.useState)(``),[p,m]=(0,Q.useState)(``),h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h={},e[0]=h):h=e[0];let[g,_]=(0,Q.useState)(h),v;return e[1]!==a||e[2]!==r||e[3]!==s||e[4]!==p||e[5]!==g||e[6]!==d||e[7]!==t||e[8]!==l?(v={selectedProvider:t,setSelectedProvider:n,displayApiKey:r,setDisplayApiKey:i,balance:a,setBalance:o,error:s,setError:c,showApiKey:l,setShowApiKey:u,saveStatus:d,setSaveStatus:f,originalApiKey:p,setOriginalApiKey:m,providerEnvValues:g,setProviderEnvValues:_},e[1]=a,e[2]=r,e[3]=s,e[4]=p,e[5]=g,e[6]=d,e[7]=t,e[8]=l,e[9]=v):v=e[9],v}function De(){let e=(0,Z.c)(15),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Q.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Set,e[1]=i):i=e[1];let[a,o]=(0,Q.useState)(i),s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,e[2]=s):s=e[2];let[c,l]=(0,Q.useState)(s),u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,e[3]=u):u=e[3];let[d,f]=(0,Q.useState)(u),{query:p,setQuery:m,deferredQuery:h}=Y(),[g,_]=(0,Q.useState)(`alphabetical`),[v,y]=(0,Q.useState)(`all`),[b,x]=(0,Q.useState)(`coding`),S;return e[4]!==n||e[5]!==h||e[6]!==a||e[7]!==c||e[8]!==v||e[9]!==p||e[10]!==g||e[11]!==b||e[12]!==d||e[13]!==m?(S={availableModels:n,setAvailableModels:r,enabledModelIds:a,setEnabledModelIds:o,initialEnabledModelIds:c,setInitialEnabledModelIds:l,pendingChanges:d,setPendingChanges:f,modelSearchQuery:p,setModelSearchQuery:m,deferredModelSearchQuery:h,modelSortBy:g,setModelSortBy:_,modelFilter:v,setModelFilter:y,modelTab:b,setModelTab:x},e[4]=n,e[5]=h,e[6]=a,e[7]=c,e[8]=v,e[9]=p,e[10]=g,e[11]=b,e[12]=d,e[13]=m,e[14]=S):S=e[14],S}function Oe(){let e=(0,Z.c)(9),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Q.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=new Set,e[1]=i):i=e[1];let[a,o]=(0,Q.useState)(i),s;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,e[2]=s):s=e[2];let[c,l]=(0,Q.useState)(s),u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=new Map,e[3]=u):u=e[3];let[d,f]=(0,Q.useState)(u),p;return e[4]!==n||e[5]!==a||e[6]!==c||e[7]!==d?(p={availableImageModels:n,setAvailableImageModels:r,enabledImageModelIds:a,setEnabledImageModelIds:o,initialEnabledImageModelIds:c,setInitialEnabledImageModelIds:l,pendingImageChanges:d,setPendingImageChanges:f},e[4]=n,e[5]=a,e[6]=c,e[7]=d,e[8]=p):p=e[8],p}function ke(){let e=(0,Z.c)(7),t=u(),[n,r]=(0,Q.useState)(!1),[i,a]=(0,Q.useState)(``),o=Ee(),s=De(),c=Oe(),l;return e[0]!==t||e[1]!==i||e[2]!==n||e[3]!==o||e[4]!==s||e[5]!==c?(l={dispatch:t,modelsLoading:n,setModelsLoading:r,modelsError:i,setModelsError:a,...o,...s,...c},e[0]=t,e[1]=i,e[2]=n,e[3]=o,e[4]=s,e[5]=c,e[6]=l):l=e[6],l}function Ae({selectedProviderName:e=null,selectedProviderSlug:t=null,providerData:n}){let r=ke(),i=e=>N(e.id),a=(0,Q.useRef)(0);function o(){r.setAvailableModels([]),r.setAvailableImageModels([]),r.setEnabledModelIds(new Set),r.setInitialEnabledModelIds(new Set),r.setEnabledImageModelIds(new Set),r.setInitialEnabledImageModelIds(new Set),r.setPendingChanges(new Map),r.setPendingImageChanges(new Map)}(0,Q.useEffect)(()=>{let i=++a.current;async function c(){r.setError(``);let c=await we({providerData:n,selectedProviderName:e,selectedProviderSlug:t,fetchProviders:O});if(i!==a.current)return;if(`error`in c){r.setError(c.error);return}let l=c.provider;r.setSelectedProvider(l),r.setOriginalApiKey(l?.apiKey??``),r.setDisplayApiKey(l?.apiKey??``),r.setProviderEnvValues(l?.envValues??{}),l?(u(l.slug,i),s(l.slug,i)):(o(),r.setBalance(null),r.setModelsLoading(!1),r.setModelsError(``))}c()},[e,t,n]);async function s(e,t=a.current){r.setBalance(null);try{let n=await oe(e);if(t!==a.current)return;n.status===`success`&&r.setBalance(n.balance)}catch(t){Te.error(`Failed to load balance for ${e}:`,t)}}function c(e){return e instanceof Error?e.message:`Failed to load models from local API`}async function u(e,t=a.current){r.setModelsLoading(!0),r.setModelsError(``),r.setModelSearchQuery(``),r.setModelSortBy(`alphabetical`),r.setModelFilter(`all`),r.setModelTab(`coding`);try{let[n,i]=await Promise.all([re(e),k(e)]);if(t!==a.current)return;r.setAvailableModels(n.models),r.setAvailableImageModels(i.models);let o=new Set(n.enabledModelIds);r.setEnabledModelIds(o),r.setInitialEnabledModelIds(o);let s=new Set(i.enabledModelIds);r.setEnabledImageModelIds(s),r.setInitialEnabledImageModelIds(s),r.setPendingChanges(new Map),r.setPendingImageChanges(new Map)}catch(n){if(t!==a.current)return;Te.error(`Failed to load models for ${e}:`,n),o(),r.setModelsError(c(n))}finally{t===a.current&&r.setModelsLoading(!1)}}async function f(e){let t=a.current;r.setModelsLoading(!0),r.setModelsError(``);try{if(await A(e),t!==a.current||(await u(e,t),t!==a.current))return;r.dispatch({type:d.ConfigUpdated})}catch(n){if(t!==a.current)return;Te.error(`Failed to refresh models for ${e}:`,n),o(),r.setModelsError(c(n)),r.setModelsLoading(!1)}}let p=(e,t)=>{r.selectedProvider?.name===e&&(r.setDisplayApiKey(t),h(t))},m=(e,t)=>{r.setProviderEnvValues(n=>({...n,[e]:t}));let n=r.selectedProvider?.slug;n&&(async()=>{try{await ne({[e]:t}),r.dispatch({type:d.ConfigUpdated}),r.setSaveStatus(`${H(e)} saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save provider settings`);return}l(n)&&e===`LOCAL_API_URL`&&t.trim()&&await f(n)})()},h=async e=>{if(!(!r.selectedProvider||e===r.originalApiKey))try{await D(r.selectedProvider.slug,e),r.dispatch({type:d.ConfigUpdated}),r.setOriginalApiKey(e),r.setSaveStatus(`API key saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save API key`)}},g=(e,t)=>{t===`image`?r.setPendingImageChanges(t=>{let n=new Map(t),i=r.enabledImageModelIds.has(e),a=n.has(e),o=n.get(e),s=!(a?o:i);return s===i?n.delete(e):n.set(e,s),_(e,(n.has(e)?n.get(e):i)??!1,`image`),n}):r.setPendingChanges(t=>{let n=q(t,e,r.enabledModelIds);return _(e,(n.has(e)?n.get(e):r.enabledModelIds.has(e))??!1,`coding`),n})},_=async(e,t,n=`coding`)=>{if(r.selectedProvider)try{n===`image`?(t?(await se(r.selectedProvider.slug,e),r.setEnabledImageModelIds(t=>new Set([...t,e]))):(await ie(r.selectedProvider.slug,e),r.setEnabledImageModelIds(t=>{let n=new Set(t);return n.delete(e),n})),r.setPendingImageChanges(t=>{let n=new Map(t);return n.delete(e),n})):(t?(await E(r.selectedProvider.slug,e),r.setEnabledModelIds(t=>new Set([...t,e]))):(await ae(r.selectedProvider.slug,e),r.setEnabledModelIds(t=>{let n=new Set(t);return n.delete(e),n})),r.setPendingChanges(t=>{let n=new Map(t);return n.delete(e),n}),R()),r.dispatch({type:d.ConfigUpdated}),r.setSaveStatus(`Model preferences saved successfully`),setTimeout(()=>r.setSaveStatus(``),3e3)}catch(e){r.setSaveStatus(e instanceof Error?e.message:`Failed to save model changes`)}};async function v(e,t=`coding`){let n=t===`image`?r.availableImageModels:r.availableModels,i=t===`image`?r.enabledImageModelIds:r.enabledModelIds;(t===`image`?r.setPendingImageChanges:r.setPendingChanges)(t=>{let r=new Map(t);for(let t of n)i.has(t.id)===e?r.delete(t.id):r.set(t.id,e);return r});for(let r of n)i.has(r.id)!==e&&await _(r.id,e,t)}let y=r.displayApiKey!==void 0&&r.displayApiKey.trim().length>0,b=(0,Q.useMemo)(()=>K({models:r.availableModels,query:r.deferredModelSearchQuery,sortBy:r.modelSortBy,getDisplayName:i,freeOnly:r.modelFilter===`free`,groupByProvider:!0,getPriority:e=>+!r.initialEnabledModelIds.has(e.id)}),[r.availableModels,r.deferredModelSearchQuery,r.modelFilter,r.initialEnabledModelIds,r.modelSortBy,i]),x=(0,Q.useMemo)(()=>K({models:r.availableImageModels,query:r.deferredModelSearchQuery,sortBy:r.modelSortBy===`coding-index`||r.modelSortBy===`intelligence-by-price`?`alphabetical`:r.modelSortBy,getDisplayName:i,freeOnly:r.modelFilter===`free`,groupByProvider:!0,getPriority:e=>+!r.initialEnabledImageModelIds.has(e.id)}),[r.availableImageModels,r.deferredModelSearchQuery,r.modelFilter,r.initialEnabledImageModelIds,r.modelSortBy,i]);return{selectedProvider:r.selectedProvider,error:r.error,balance:r.balance,displayApiKey:r.displayApiKey,showApiKey:r.showApiKey,setShowApiKey:r.setShowApiKey,providerEnvValues:r.providerEnvValues,modelsLoading:r.modelsLoading,modelsError:r.modelsError,saveStatus:r.saveStatus,modelTab:r.modelTab,setModelTab:r.setModelTab,modelSearchQuery:r.modelSearchQuery,setModelSearchQuery:r.setModelSearchQuery,modelSortBy:r.modelSortBy,setModelSortBy:r.setModelSortBy,modelFilter:r.modelFilter,setModelFilter:r.setModelFilter,availableModels:r.availableModels,enabledModelIds:r.enabledModelIds,pendingChanges:r.pendingChanges,filteredAndSortedModels:b,availableImageModels:r.availableImageModels,enabledImageModelIds:r.enabledImageModelIds,pendingImageChanges:r.pendingImageChanges,filteredAndSortedImageModels:x,hasApiKey:y,getModelDisplayName:i,handleUpdateKeyLocal:p,handleUpdateProviderEnv:m,refreshLocalProviderModels:f,handleToggleModel:g,handleToggleAllModels:v}}function je(e){let t=(0,Z.c)(7),{provider:n,onBack:r}=e;if(!r&&!n.url)return null;let i;t[0]===n.url?i=t[1]:(i=n.url?(0,$.jsx)(B,{url:n.url,className:p(s.compact,`p-3`)}):null,t[0]=n.url,t[1]=i);let a;t[2]===r?a=t[3]:(a=r?(0,$.jsxs)(C,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:r,children:[(0,$.jsx)(x,{className:`h-4 w-4`}),(0,$.jsx)(`span`,{className:`sr-only`,children:`Close provider details`})]}):null,t[2]=r,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function Me(e){let t=(0,Z.c)(6),{balance:n}=e;if(n===null)return null;let r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=p(s.compact,`inline-flex shrink-0 items-center gap-1.5 font-medium`),i=(0,$.jsx)(`div`,{className:`h-1.5 w-1.5 rounded-full bg-green-500`}),t[0]=r,t[1]=i):(r=t[0],i=t[1]);let a;t[2]===n?a=t[3]:(a=f(n),t[2]=n,t[3]=a);let o;return t[4]===a?o=t[5]:(o=(0,$.jsxs)(`span`,{className:r,children:[i,`$`,a,` balance`]}),t[4]=a,t[5]=o),o}function Ne(e){let t=(0,Z.c)(8),{title:n,tooltip:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=p(s.label,`cursor-help`),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsx)(ee,{asChild:!0,children:(0,$.jsx)(`span`,{className:i,children:n})}),t[1]=n,t[2]=a);let o;t[3]===r?o=t[4]:(o=(0,$.jsx)(te,{children:r}),t[3]=r,t[4]=o);let c;return t[5]!==a||t[6]!==o?(c=(0,$.jsx)(w,{children:(0,$.jsxs)(T,{children:[a,o]})}),t[5]=a,t[6]=o,t[7]=c):c=t[7],c}function Pe(e){let t=(0,Z.c)(10),{provider:n,displayApiKey:r,showApiKey:i,onToggleShowApiKey:a,onUpdateKey:o,providerEnvValues:s,onUpdateEnv:c,modelsLoading:u,onRefreshModels:d}=e,f;return t[0]!==r||t[1]!==u||t[2]!==d||t[3]!==a||t[4]!==c||t[5]!==o||t[6]!==n||t[7]!==s||t[8]!==i?(f=(0,$.jsx)($.Fragment,{children:n.authType===`APIKey`?(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(fe,{children:[(0,$.jsx)(I,{label:(0,$.jsx)(Ne,{title:`API Key`,tooltip:`Your API key is stored locally and never shared.`}),control:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(_,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(W,{type:i?`text`:`password`,placeholder:n.keyName||`Enter API Key`,className:`pl-10 pr-10`,value:r,onChange:e=>{o(n.name,e.target.value)}}),(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:a,disabled:!r,children:i?(0,$.jsx)(b,{className:`h-4 w-4 text-muted-foreground`}):(0,$.jsx)(h,{className:`h-4 w-4 text-muted-foreground`})})]})}),he(n).map(e=>(0,$.jsx)(I,{label:(0,$.jsx)(Ne,{title:H(e),tooltip:e}),control:l(n.slug)&&e===`LOCAL_API_URL`?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(W,{id:e,value:s[e]??``,onChange:t=>c(e,t.target.value),placeholder:n.api,className:`pr-10`,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`}),(0,$.jsx)(w,{children:(0,$.jsxs)(T,{children:[(0,$.jsx)(ee,{asChild:!0,children:(0,$.jsx)(C,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 -translate-y-1/2 h-8 w-8 p-0`,onClick:()=>{d(n.slug)},disabled:u,children:u?(0,$.jsx)(g,{className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,$.jsx)(m,{className:`h-4 w-4 text-muted-foreground`})})}),(0,$.jsx)(te,{children:`Refresh models`})]})})]}):(0,$.jsx)(W,{id:e,value:s[e]??``,onChange:t=>c(e,t.target.value),placeholder:e,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`})},e))]})}):(0,$.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,$.jsx)(ue,{className:`mb-0`,children:`This provider uses OAuth for authentication.`}),(0,$.jsxs)(C,{variant:`outline`,size:`sm`,disabled:!0,children:[`Sign in with `,n.name]})]})}),t[0]=r,t[1]=u,t[2]=d,t[3]=a,t[4]=c,t[5]=o,t[6]=n,t[7]=s,t[8]=i,t[9]=f):f=t[9],f}function Fe(e){let t=(0,Z.c)(6),{htmlFor:n,displayName:r,variant:i}=e,a=s[i],o;t[0]===a?o=t[1]:(o=p(a,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),t[0]=a,t[1]=o);let c;return t[2]!==r||t[3]!==n||t[4]!==o?(c=(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:n,className:o,children:r})}),t[2]=r,t[3]=n,t[4]=o,t[5]=c):c=t[5],c}function Ie(e){let t=(0,Z.c)(9),{pricing:n,className:r}=e,i=(n.prompt??0)===0&&(n.completion??0)===0,a;t[0]===r?a=t[1]:(a=p(s.caption,`whitespace-nowrap`,r),t[0]=r,t[1]=a);let o;t[2]!==i||t[3]!==n.completion||t[4]!==n.prompt?(o=i?``:`$${f(n.prompt??0)} in | $${f(n.completion??0)} out`,t[2]=i,t[3]=n.completion,t[4]=n.prompt,t[5]=o):o=t[5];let c;return t[6]!==a||t[7]!==o?(c=(0,$.jsx)(`span`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function Le(e){let t=(0,Z.c)(15),{model:n,displayName:r,checkboxId:i,showStarRating:a}=e,o;t[0]!==i||t[1]!==r?(o=(0,$.jsx)(Fe,{htmlFor:i,displayName:r,variant:`body`}),t[0]=i,t[1]=r,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==n.coding_index||t[5]!==a?(s=a&&(0,$.jsx)(_e,{codingIndex:n.coding_index,modelName:r}),t[3]=r,t[4]=n.coding_index,t[5]=a,t[6]=s):s=t[6];let c;t[7]===n.pricing?c=t[8]:(c=n.pricing&&(0,$.jsx)(Ie,{pricing:n.pricing}),t[7]=n.pricing,t[8]=c);let l;t[9]!==s||t[10]!==c?(l=(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[s,c]}),t[9]=s,t[10]=c,t[11]=l):l=t[11];let u;return t[12]!==o||t[13]!==l?(u=(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[o,l]}),t[12]=o,t[13]=l,t[14]=u):u=t[14],u}function Re(e){let t=(0,Z.c)(8),{model:n,displayName:r,checkboxId:i}=e,a;t[0]!==i||t[1]!==r?(a=(0,$.jsx)(Fe,{htmlFor:i,displayName:r,variant:`label`}),t[0]=i,t[1]=r,t[2]=a):a=t[2];let o;t[3]===n.pricing?o=t[4]:(o=n.pricing&&(0,$.jsx)(Ie,{pricing:n.pricing,className:`flex-shrink-0`}),t[3]=n.pricing,t[4]=o);let s;return t[5]!==a||t[6]!==o?(s=(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[a,o]}),t[5]=a,t[6]=o,t[7]=s):s=t[7],s}function ze(e){let t=(0,Z.c)(22),{tab:n,model:r,displayName:i,willBeEnabled:a,hasApiKey:o,showStarRating:s,onToggle:c}=e,l=n===`image`?`image-${r.id}`:r.id,u=r.id,d=!o&&`opacity-25`,f;t[0]===d?f=t[1]:(f=p(`flex cursor-default items-center space-x-3 px-3 py-2 transition-colors hover:bg-muted/30`,d),t[0]=d,t[1]=f);let m=!o,h=a??!1,g;t[2]!==r.id||t[3]!==c?(g=()=>c(r.id),t[2]=r.id,t[3]=c,t[4]=g):g=t[4];let _=`${i} ${a?`enabled`:`disabled`}`,v;t[5]!==l||t[6]!==m||t[7]!==h||t[8]!==g||t[9]!==_?(v=(0,$.jsx)(me,{id:l,disabled:m,value:h,onChange:g,ariaLabel:_}),t[5]=l,t[6]=m,t[7]=h,t[8]=g,t[9]=_,t[10]=v):v=t[10];let y;t[11]!==l||t[12]!==i||t[13]!==r||t[14]!==s||t[15]!==n?(y=n===`coding`?(0,$.jsx)(Le,{model:r,displayName:i,checkboxId:l,showStarRating:s}):(0,$.jsx)(Re,{model:r,displayName:i,checkboxId:l}),t[11]=l,t[12]=i,t[13]=r,t[14]=s,t[15]=n,t[16]=y):y=t[16];let b;return t[17]!==r.id||t[18]!==f||t[19]!==v||t[20]!==y?(b=(0,$.jsxs)(`div`,{className:f,children:[v,y]},u),t[17]=r.id,t[18]=f,t[19]=v,t[20]=y,t[21]=b):b=t[21],b}function Be(e){let t=(0,Z.c)(13),{tab:n,models:r,filteredModels:i,modelsLoading:a,modelsError:c,hasApiKey:l,enabledModelIds:u,pendingChanges:d,modelSortBy:f,getModelDisplayName:m,onToggleModel:h}=e,_=n===`coding`,v=_?c?`No models loaded.`:`No models available for this provider.`:`No image models available for this provider.`,y;return t[0]!==v||t[1]!==u||t[2]!==i||t[3]!==m||t[4]!==l||t[5]!==_||t[6]!==f||t[7]!==r||t[8]!==a||t[9]!==h||t[10]!==d||t[11]!==n?(y=(0,$.jsx)(`div`,{className:`flex flex-col gap-4`,children:a?(0,$.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,$.jsx)(g,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):r.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:s.bodyMuted,children:v})}):(0,$.jsx)(w,{children:(0,$.jsx)(`div`,{className:p(`grid grid-cols-1 gap-0`,o.tableWrapper),children:i.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:s.bodyMuted,children:`No models matching your filters.`})}):i.map(e=>{let t=u.has(e.id),r=d.has(e.id),i=d.get(e.id),a=(r?i:t)??!1;return(0,$.jsx)(ze,{tab:n,model:e,displayName:m(e),willBeEnabled:a,hasApiKey:l,showStarRating:_&&(f===`coding-index`||f===`intelligence-by-price`),onToggle:e=>h(e,n)},e.id)})})})}),t[0]=v,t[1]=u,t[2]=i,t[3]=m,t[4]=l,t[5]=_,t[6]=f,t[7]=r,t[8]=a,t[9]=h,t[10]=d,t[11]=n,t[12]=y):y=t[12],y}function Ve(e){let t=(0,Z.c)(22),{tab:n,showImageTab:r,modelsLoading:i,models:a,hasApiKey:o,enabledModelIds:s,pendingChanges:c,modelSearchQuery:l,onModelSearchQueryChange:u,modelSortBy:d,onModelSortByChange:f,onToggleAllModels:m}=e,h=n===`coding`,g=h?`select-all-models`:`select-all-image-models`,_=!i&&a.length>0,y=_&&!o&&`opacity-25`,b;t[0]===y?b=t[1]:(b=p(`flex flex-col gap-2 md:flex-row md:items-center`,y),t[0]=y,t[1]=b);let x;t[2]===r?x=t[3]:(x=r?(0,$.jsxs)(ge,{className:`w-fit shrink-0 self-start`,children:[(0,$.jsx)(z,{value:`coding`,children:`Coding`}),(0,$.jsx)(z,{value:`image`,children:`Image`})]}):null,t[2]=r,t[3]=x);let S;t[4]!==s||t[5]!==o||t[6]!==h||t[7]!==l||t[8]!==d||t[9]!==a||t[10]!==u||t[11]!==f||t[12]!==m||t[13]!==c||t[14]!==g||t[15]!==_||t[16]!==n?(S=_?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative w-full md:w-52 flex-shrink-0`,children:[(0,$.jsx)(v,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground pointer-events-none`}),(0,$.jsx)(W,{placeholder:`Search`,className:`pl-10 h-8`,value:l,onChange:e=>u(e.target.value),disabled:!o})]}),(0,$.jsxs)(`div`,{className:`flex flex-shrink-0 items-center gap-2 self-end md:ml-auto md:self-auto`,children:[(0,$.jsx)(ve,{id:g,disabled:!o,checked:a.every(e=>{let t=c.has(e.id),n=c.get(e.id);return t?n:s.has(e.id)}),onChange:e=>{m(e,n)}}),(0,$.jsx)(X,{sortBy:d,showCodingIndex:h,showIntelligenceByPrice:h,onSortByChange:f})]})]}):null,t[4]=s,t[5]=o,t[6]=h,t[7]=l,t[8]=d,t[9]=a,t[10]=u,t[11]=f,t[12]=m,t[13]=c,t[14]=g,t[15]=_,t[16]=n,t[17]=S):S=t[17];let C;return t[18]!==b||t[19]!==x||t[20]!==S?(C=(0,$.jsxs)(`div`,{className:b,children:[x,S]}),t[18]=b,t[19]=x,t[20]=S,t[21]=C):C=t[21],C}function He(e){let t=(0,Z.c)(10),{title:n,description:r,action:i,tableHeader:a,children:o}=e,s;t[0]!==i||t[1]!==r||t[2]!==a||t[3]!==n?(s=(0,$.jsx)(P,{title:n,description:r,action:i,sticky:!1,tableHeader:a}),t[0]=i,t[1]=r,t[2]=a,t[3]=n,t[4]=s):s=t[4];let c;t[5]===o?c=t[6]:(c=(0,$.jsx)(`div`,{className:`px-6 pb-6`,children:o}),t[5]=o,t[6]=c);let l;return t[7]!==s||t[8]!==c?(l=(0,$.jsxs)(L,{className:`shrink-0`,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function Ue(e){let t=(0,Z.c)(111),{selectedProviderName:n,selectedProviderSlug:r,providerData:i,onBack:a,className:o}=e,s=n===void 0?null:n,c=r===void 0?null:r,l;t[0]!==i||t[1]!==s||t[2]!==c?(l={selectedProviderName:s,selectedProviderSlug:c,providerData:i},t[0]=i,t[1]=s,t[2]=c,t[3]=l):l=t[3];let{selectedProvider:u,error:d,balance:f,displayApiKey:m,showApiKey:h,setShowApiKey:g,providerEnvValues:_,modelsLoading:v,modelsError:b,saveStatus:x,modelTab:S,setModelTab:ee,modelSearchQuery:te,setModelSearchQuery:w,modelSortBy:T,setModelSortBy:E,availableModels:D,enabledModelIds:ne,pendingChanges:re,filteredAndSortedModels:ie,availableImageModels:ae,enabledImageModelIds:O,pendingImageChanges:k,filteredAndSortedImageModels:oe,hasApiKey:A,getModelDisplayName:j,handleUpdateKeyLocal:se,handleUpdateProviderEnv:ce,refreshLocalProviderModels:M,handleToggleModel:N,handleToggleAllModels:P}=Ae(l);if(d){let e;t[4]===o?e=t[5]:(e=p(`flex h-full min-h-0 flex-col items-center justify-center gap-4 p-6`,o),t[4]=o,t[5]=e);let n;t[6]===d?n=t[7]:(n=(0,$.jsx)(ue,{variant:`error`,className:`mb-0`,children:d}),t[6]=d,t[7]=n);let r;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:We,children:`Retry`}),t[8]=r):r=t[8];let i;return t[9]!==e||t[10]!==n?(i=(0,$.jsxs)(`div`,{className:e,children:[n,r]}),t[9]=e,t[10]=n,t[11]=i):i=t[11],i}if(!u){let e;t[12]===o?e=t[13]:(e=p(`flex h-full min-h-0 items-center justify-center`,o),t[12]=o,t[13]=e);let n=s||c?`Provider not found`:`Select a Provider`,r;t[14]===a?r=t[15]:(r=a?(0,$.jsxs)(C,{variant:`outline`,size:`sm`,onClick:a,children:[(0,$.jsx)(y,{className:`h-4 w-4 mr-1`}),`Back to Providers`]}):void 0,t[14]=a,t[15]=r);let i=a?`This provider could not be found.`:`Choose a provider from the list to configure its settings.`,l;t[16]!==n||t[17]!==r||t[18]!==i?(l=(0,$.jsx)(le,{title:n,action:r,children:i}),t[16]=n,t[17]=r,t[18]=i,t[19]=l):l=t[19];let u;return t[20]!==e||t[21]!==l?(u=(0,$.jsx)(`div`,{className:e,children:l}),t[20]=e,t[21]=l,t[22]=u):u=t[22],u}let F;t[23]===o?F=t[24]:(F=p(`h-full min-h-0`,o),t[23]=o,t[24]=F);let I;t[25]!==a||t[26]!==u?(I=(0,$.jsx)(je,{provider:u,onBack:a}),t[25]=a,t[26]=u,t[27]=I):I=t[27];let L;t[28]!==g||t[29]!==h?(L=()=>g(!h),t[28]=g,t[29]=h,t[30]=L):L=t[30];let R;t[31]!==m||t[32]!==se||t[33]!==ce||t[34]!==v||t[35]!==_||t[36]!==M||t[37]!==u||t[38]!==h||t[39]!==L?(R=(0,$.jsx)(`div`,{className:`pt-6`,children:(0,$.jsx)(Pe,{provider:u,displayApiKey:m,showApiKey:h,onToggleShowApiKey:L,onUpdateKey:se,providerEnvValues:_,onUpdateEnv:ce,modelsLoading:v,onRefreshModels:M})}),t[31]=m,t[32]=se,t[33]=ce,t[34]=v,t[35]=_,t[36]=M,t[37]=u,t[38]=h,t[39]=L,t[40]=R):R=t[40];let z;t[41]!==u.name||t[42]!==I||t[43]!==R?(z=(0,$.jsx)(He,{title:u.name,description:`Configure API keys and connection settings for this provider.`,action:I,children:R}),t[41]=u.name,t[42]=I,t[43]=R,t[44]=z):z=t[44];let B;t[45]!==w||t[46]!==E||t[47]!==ee?(B=e=>{ee(e),w(``),E(`alphabetical`)},t[45]=w,t[46]=E,t[47]=ee,t[48]=B):B=t[48];let V;t[49]===f?V=t[50]:(V=(0,$.jsx)(Me,{balance:f}),t[49]=f,t[50]=V);let fe;t[51]===u.name?fe=t[52]:(fe=u.name.toLowerCase(),t[51]=u.name,t[52]=fe);let me=fe===`openrouter`,he=S===`coding`?D:ae,H=S===`coding`?ne:O,ge=S===`coding`?re:k,U;t[53]!==P||t[54]!==A||t[55]!==te||t[56]!==T||t[57]!==S||t[58]!==v||t[59]!==w||t[60]!==E||t[61]!==me||t[62]!==he||t[63]!==H||t[64]!==ge?(U=(0,$.jsx)(Ve,{tab:S,showImageTab:me,modelsLoading:v,models:he,hasApiKey:A,enabledModelIds:H,pendingChanges:ge,modelSearchQuery:te,onModelSearchQueryChange:w,modelSortBy:T,onModelSortByChange:E,onToggleAllModels:P}),t[53]=P,t[54]=A,t[55]=te,t[56]=T,t[57]=S,t[58]=v,t[59]=w,t[60]=E,t[61]=me,t[62]=he,t[63]=H,t[64]=ge,t[65]=U):U=t[65];let W;t[66]===b?W=t[67]:(W=b?(0,$.jsx)(ue,{variant:`error`,className:`mb-4`,children:b}):null,t[66]=b,t[67]=W);let G;t[68]!==D||t[69]!==ne||t[70]!==ie||t[71]!==j||t[72]!==N||t[73]!==A||t[74]!==T||t[75]!==b||t[76]!==v||t[77]!==re||t[78]!==u?(G=(0,$.jsx)(pe,{value:`coding`,children:(0,$.jsx)(Be,{tab:`coding`,provider:u,models:D,filteredModels:ie,modelsLoading:v,modelsError:b,hasApiKey:A,enabledModelIds:ne,pendingChanges:re,modelSortBy:T,getModelDisplayName:j,onToggleModel:N})}),t[68]=D,t[69]=ne,t[70]=ie,t[71]=j,t[72]=N,t[73]=A,t[74]=T,t[75]=b,t[76]=v,t[77]=re,t[78]=u,t[79]=G):G=t[79];let K;t[80]!==ae||t[81]!==O||t[82]!==oe||t[83]!==j||t[84]!==N||t[85]!==A||t[86]!==T||t[87]!==b||t[88]!==v||t[89]!==k||t[90]!==u?(K=(0,$.jsx)(pe,{value:`image`,children:(0,$.jsx)(Be,{tab:`image`,provider:u,models:ae,filteredModels:oe,modelsLoading:v,modelsError:b,hasApiKey:A,enabledModelIds:O,pendingChanges:k,modelSortBy:T,getModelDisplayName:j,onToggleModel:N})}),t[80]=ae,t[81]=O,t[82]=oe,t[83]=j,t[84]=N,t[85]=A,t[86]=T,t[87]=b,t[88]=v,t[89]=k,t[90]=u,t[91]=K):K=t[91];let q;t[92]===x?q=t[93]:(q=x?(0,$.jsx)(ue,{variant:x.includes(`error`)||x.includes(`Failed`)?`error`:`success`,className:`mt-4`,children:x}):null,t[92]=x,t[93]=q);let J;t[94]!==V||t[95]!==U||t[96]!==W||t[97]!==G||t[98]!==K||t[99]!==q?(J=(0,$.jsxs)(He,{title:`Models`,description:`Enable coding and image models for this provider.`,action:V,tableHeader:U,children:[W,G,K,q]}),t[94]=V,t[95]=U,t[96]=W,t[97]=G,t[98]=K,t[99]=q,t[100]=J):J=t[100];let Y;t[101]!==S||t[102]!==J||t[103]!==B?(Y=(0,$.jsx)(de,{value:S,onValueChange:B,children:J}),t[101]=S,t[102]=J,t[103]=B,t[104]=Y):Y=t[104];let X;t[105]!==Y||t[106]!==z?(X=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[z,Y]})}),t[105]=Y,t[106]=z,t[107]=X):X=t[107];let _e;return t[108]!==X||t[109]!==F?(_e=(0,$.jsx)(`div`,{className:F,children:X}),t[108]=X,t[109]=F,t[110]=_e):_e=t[110],_e}function We(){return window.location.reload()}function Ge(e){return`providers:list:${e}`}async function Ke(){let[e,t]=await Promise.all([O(),j().catch(()=>({}))]),n={};for(let[e,r]of Object.entries(t))n[e]=r.length;return{providers:e,enabledModelCounts:n}}var qe=`grid min-h-10 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-2 hover:bg-muted/30 cursor-pointer`,Je=`[&>*+*]:border-t [&>*+*]:border-table-border`;function Ye(e){let t=(0,Z.c)(9),{title:n,description:r,action:i,children:a}=e,o;t[0]!==i||t[1]!==r||t[2]!==n?(o=(0,$.jsx)(P,{title:n,description:r,action:i,sticky:!1}),t[0]=i,t[1]=r,t[2]=n,t[3]=o):o=t[3];let s;t[4]===a?s=t[5]:(s=(0,$.jsx)(V,{className:`pt-6`,children:a}),t[4]=a,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,$.jsxs)(L,{className:`shrink-0`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function Xe(e){let t=(0,Z.c)(33),{loadVersion:n,onProviderClick:r}=e,{query:i,setQuery:a,deferredQuery:o}=Y(),c;t[0]===n?c=t[1]:(c=Ge(n),t[0]=n,t[1]=c);let{providers:l,enabledModelCounts:u}=F(c,Ke),d;if(t[2]!==o||t[3]!==u||t[4]!==l){let e;t[6]===o?e=t[7]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[6]=o,t[7]=e);let n;t[8]===u?n=t[9]:(n=(e,t)=>{let n=(u[e.slug]??0)>0,r=(u[t.slug]??0)>0;return n&&!r?-1:!n&&r?1:e.name.localeCompare(t.name)},t[8]=u,t[9]=n),d=l.filter($e).filter(e).sort(n),t[2]=o,t[3]=u,t[4]=l,t[5]=d}else d=t[5];let f=d,m;if(t[10]!==o||t[11]!==l){let e;t[13]===o?e=t[14]:(e=e=>{let t=o.toLowerCase();return e.name.toLowerCase().includes(t)},t[13]=o,t[14]=e),m=l.filter(Qe).filter(e).sort(Ze),t[10]=o,t[11]=l,t[12]=m}else m=t[12];let h=m,g;t[15]!==i||t[16]!==a?(g=(0,$.jsx)(J,{placeholder:`Search`,value:i,onChange:a,className:`mb-0 w-64`}),t[15]=i,t[16]=a,t[17]=g):g=t[17];let _;t[18]!==f||t[19]!==u||t[20]!==r||t[21]!==i?(_=f.length===0?(0,$.jsx)(`p`,{className:p(s.bodyMuted,`py-4`),children:i?`No connected providers match your search.`:`No providers connected yet. Add an API key to get started.`}):(0,$.jsx)(`div`,{className:Je,children:f.map(e=>(0,$.jsx)(ot,{provider:e,modelCount:u[e.slug]??0,onClick:r},e.name))}),t[18]=f,t[19]=u,t[20]=r,t[21]=i,t[22]=_):_=t[22];let v;t[23]!==g||t[24]!==_?(v=(0,$.jsx)(Ye,{title:`Connected Providers`,description:`Providers you've connected with an API key or environment variable.`,action:g,children:_}),t[23]=g,t[24]=_,t[25]=v):v=t[25];let y;t[26]!==h||t[27]!==r||t[28]!==i?(y=(0,$.jsx)(Ye,{title:`Available Providers`,description:`Connect additional providers by adding your API key.`,children:h.length===0?(0,$.jsx)(`p`,{className:p(s.bodyMuted,`py-4`),children:i?`No available providers match your search.`:`All providers are connected.`}):(0,$.jsx)(`div`,{className:Je,children:h.map(e=>(0,$.jsx)(st,{provider:e,onClick:r},e.name))})}),t[26]=h,t[27]=r,t[28]=i,t[29]=y):y=t[29];let b;return t[30]!==v||t[31]!==y?(b=(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(`div`,{className:`flex flex-col gap-2.5`,children:[v,y]})}),t[30]=v,t[31]=y,t[32]=b):b=t[32],b}function Ze(e,t){return e.name.localeCompare(t.name)}function Qe(e){return!e.apiKey}function $e(e){return e.apiKey}function et(){let e=(0,Z.c)(21),t=a(),{providerSlug:n}=i(),[r,o]=(0,Q.useState)(0),s=(0,Q.useRef)(n),c,l;e[0]!==r||e[1]!==n?(c=()=>{s.current&&!n&&(M(Ge(r)),o(it)),s.current=n},l=[n,r],e[0]=r,e[1]=n,e[2]=c,e[3]=l):(c=e[2],l=e[3]),(0,Q.useEffect)(c,l);let u;e[4]===t?u=e[5]:(u=e=>{t(`/settings/providers/${encodeURIComponent(e.slug)}`)},e[4]=t,e[5]=u);let d=u,f;e[6]!==r||e[7]!==t?(f=()=>{t(`/settings/providers`),M(Ge(r)),o(rt)},e[6]=r,e[7]=t,e[8]=f):f=e[8];let p=f,m;e[9]===r?m=e[10]:(m=function(){M(Ge(r)),o(nt)},e[9]=r,e[10]=m);let h=m;if(n){let t=decodeURIComponent(n),r;return e[11]!==p||e[12]!==t?(r=(0,$.jsx)(Ue,{selectedProviderSlug:t,onBack:p}),e[11]=p,e[12]=t,e[13]=r):r=e[13],r}let g;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,$.jsx)(ce,{centered:!0,label:`Loading providers...`,size:`lg`}),e[14]=g):g=e[14];let _;e[15]!==d||e[16]!==r?(_=(0,$.jsx)(Q.Suspense,{fallback:g,children:(0,$.jsx)(Xe,{loadVersion:r,onProviderClick:d},r)}),e[15]=d,e[16]=r,e[17]=_):_=e[17];let v;return e[18]!==h||e[19]!==_?(v=(0,$.jsx)(`div`,{className:`h-full min-h-0`,children:(0,$.jsx)(G,{fallbackTitle:`Failed to load providers`,onRetry:h,renderFallback:tt,children:_})}),e[18]=h,e[19]=_,e[20]=v):v=e[20],v}function tt(e,t){return(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(L,{className:`shrink-0`,children:[(0,$.jsx)(P,{title:`Providers`,description:`Manage your AI provider connections and API keys.`,sticky:!1}),(0,$.jsx)(`div`,{className:`flex items-center justify-center px-6 pb-6 pt-6`,children:(0,$.jsxs)(`div`,{className:`max-w-md text-center`,children:[(0,$.jsx)(ue,{variant:`error`,className:`mb-4`,children:e.message}),(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:t,children:`Retry`})]})})]})})}function nt(e){return e+1}function rt(e){return e+1}function it(e){return e+1}function at(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}function ot(e){let t=(0,Z.c)(25),{provider:n,modelCount:r,onClick:i}=e,a;t[0]!==i||t[1]!==n?(a=function(){i(n)},t[0]=i,t[1]=n,t[2]=a):a=t[2];let o=a,c;t[3]===o?c=t[4]:(c=e=>at(e,o),t[3]=o,t[4]=c);let l;t[5]===n?l=t[6]:(l=(0,$.jsx)(U,{provider:n}),t[5]=n,t[6]=l);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=p(s.label,`truncate leading-normal`),t[7]=u):u=t[7];let d;t[8]===n.name?d=t[9]:(d=(0,$.jsx)(`span`,{className:u,children:n.name}),t[8]=n.name,t[9]=d);let f;t[10]!==l||t[11]!==d?(f=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[l,d]}),t[10]=l,t[11]=d,t[12]=f):f=t[12];let m;t[13]===n.isEnv?m=t[14]:(m=n.isEnv?(0,$.jsx)(be,{variant:`secondary`,className:p(s.compact,`px-2 py-0.5`),children:`Environment`}):(0,$.jsx)(be,{variant:`secondary`,className:p(s.compact,`px-2 py-0.5`),children:`API Key`}),t[13]=n.isEnv,t[14]=m);let h;t[15]===r?h=t[16]:(h=r>0&&(0,$.jsxs)(be,{variant:`default`,className:p(s.compact,`px-2 py-0.5`),children:[r,` `,r===1?`Model`:`Models`]}),t[15]=r,t[16]=h);let g;t[17]!==m||t[18]!==h?(g=(0,$.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-1.5`,children:[m,h]}),t[17]=m,t[18]=h,t[19]=g):g=t[19];let _;return t[20]!==o||t[21]!==c||t[22]!==f||t[23]!==g?(_=(0,$.jsxs)(`div`,{className:qe,role:`button`,tabIndex:0,onClick:o,onKeyDown:c,children:[f,g]}),t[20]=o,t[21]=c,t[22]=f,t[23]=g,t[24]=_):_=t[24],_}function st(e){let t=(0,Z.c)(18),{provider:n,onClick:r}=e,i;t[0]!==r||t[1]!==n?(i=function(){r(n)},t[0]=r,t[1]=n,t[2]=i):i=t[2];let a=i,o;t[3]===a?o=t[4]:(o=e=>at(e,a),t[3]=a,t[4]=o);let c;t[5]===n?c=t[6]:(c=(0,$.jsx)(U,{provider:n}),t[5]=n,t[6]=c);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=p(s.label,`truncate leading-normal`),t[7]=l):l=t[7];let u;t[8]===n.name?u=t[9]:(u=(0,$.jsx)(`span`,{className:l,children:n.name}),t[8]=n.name,t[9]=u);let d;t[10]!==c||t[11]!==u?(d=(0,$.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[c,u]}),t[10]=c,t[11]=u,t[12]=d):d=t[12];let f;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,$.jsx)(`span`,{className:p(s.compact,`shrink-0 text-muted-foreground`),children:`Configure`}),t[13]=f):f=t[13];let m;return t[14]!==a||t[15]!==o||t[16]!==d?(m=(0,$.jsxs)(`div`,{className:qe,role:`button`,tabIndex:0,onClick:a,onKeyDown:o,children:[d,f]}),t[14]=a,t[15]=o,t[16]=d,t[17]=m):m=t[17],m}export{et as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/settings-general-view-BLovSe8Y.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-C3E_66vw.js","assets/react-vendor-Ee0-5T4I.js","assets/progress-indicator-QgGbLfer.js","assets/utils-CWTBjUlE.js","assets/dist-Ch137qdo.js","assets/alert-dialog-CVooKafv.js","assets/button-DVIjvd2G.js","assets/use-browser-overlay-block-DyprQSIG.js","assets/browser-overlay-block-CiDtkfup.js","assets/dist-DqKWH8sc.js","assets/dist-BVQgAd-x.js","assets/es2015-CxOm1WGv.js","assets/scroll-area-DnAXfBMQ.js","assets/dist-OixawqbU.js","assets/tooltip-Cqmpv-M5.js","assets/dist-BKsOX8kk.js","assets/use-toast-xpb5jNtN.js","assets/chat-dock-context-BA8EIToZ.js","assets/api-IMkL19mR.js","assets/store-CEYCdhjW.js","assets/explorer-tab-context-BxUVwWQQ.js","assets/main-tab-context-CNgxXqnH.js","assets/terminal-output-activity-B1bjjsl7.js","assets/suspense-resource-DzlMlIgR.js","assets/dist-BYYtqVYm.js","assets/dist-VhqWx9-S.js","assets/dist-GRNTsriM.js","assets/dist-BI_HNW9c.js","assets/dist-CSssbxDI.js","assets/useBaseQuery-D6c39Xb1.js","assets/lucide-react-C-dX1rVz.js","assets/chunk-QFMPRPBF-COsSkB7x.js","assets/index-D42A6A6A.css","assets/use-git-check-CmtXehtR.js","assets/toggle-group-DaT4acSz.js","assets/use-settings-page-loading-CpaBd260.js","assets/conversation-history-view-CXHmQEA6.js","assets/delete-confirm-dialog-C9CQzpYL.js","assets/table-DHvBIex4.js","assets/settings-storage-view-y4GyGxD-.js","assets/settings-list-CvCGue_y.js","assets/card-DaHPdrGh.js","assets/settings-statistics-view-BhrL3BwB.js","assets/settings-logs-view-B2vFqetG.js","assets/settings-slack-view-xWc3HZl5.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,r,t as i}from"./react-vendor-Ee0-5T4I.js";import{o as a,s as o}from"./chunk-QFMPRPBF-COsSkB7x.js";import{bt as s,yt as c}from"./dist-Ch137qdo.js";import{t as l}from"./progress-indicator-QgGbLfer.js";import{t as u}from"./settings-tab-bar-cx4BrJIY.js";var d=t(),f=e(n(),1),p=i(),m=(0,f.lazy)(function(){return r(()=>import(`./settings-general-view-BLovSe8Y.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37]))}),h=(0,f.lazy)(function(){return r(()=>import(`./conversation-history-view-CXHmQEA6.js`),__vite__mapDeps([38,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,39,40]))}),g=(0,f.lazy)(function(){return r(()=>import(`./settings-storage-view-y4GyGxD-.js`),__vite__mapDeps([41,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,39,42,43,40]))}),_=(0,f.lazy)(function(){return r(()=>import(`./settings-statistics-view-BhrL3BwB.js`),__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,39,40,36]))}),v=(0,f.lazy)(function(){return r(()=>import(`./settings-logs-view-B2vFqetG.js`),__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,36]))}),y=(0,f.lazy)(function(){return r(()=>import(`./settings-slack-view-xWc3HZl5.js`),__vite__mapDeps([46,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34]))});function b(e){let t=(0,d.c)(32),{fallbackTab:n,onboardingResetSignal:r}=e,i=n===void 0?`general`:n,b=a(),x=o(),S;t[0]!==i||t[1]!==b?(S=i===`general`?s(b.pathname)??i:i,t[0]=i,t[1]=b,t[2]=S):S=t[2];let C=S,w;t[3]===x?w=t[4]:(w=function(e){x(e===`general`?`/settings/general`:`/settings/general/${e}`)},t[3]=x,t[4]=w);let T=w,E;t[5]!==C||t[6]!==T?(E=(0,p.jsx)(u,{value:C,onValueChange:T,options:c}),t[5]=C,t[6]=T,t[7]=E):E=t[7];let D;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,p.jsx)(l,{centered:!0,label:`Loading general settings...`}),t[8]=D):D=t[8];let O;t[9]!==C||t[10]!==r?(O=C===`general`&&(0,p.jsx)(m,{onboardingResetSignal:r}),t[9]=C,t[10]=r,t[11]=O):O=t[11];let k;t[12]===C?k=t[13]:(k=C===`history`&&(0,p.jsx)(h,{}),t[12]=C,t[13]=k);let A;t[14]===C?A=t[15]:(A=C===`storage`&&(0,p.jsx)(g,{}),t[14]=C,t[15]=A);let j;t[16]===C?j=t[17]:(j=C===`statistics`&&(0,p.jsx)(_,{}),t[16]=C,t[17]=j);let M;t[18]===C?M=t[19]:(M=C===`logs`&&(0,p.jsx)(v,{}),t[18]=C,t[19]=M);let N;t[20]===C?N=t[21]:(N=C===`slack`&&(0,p.jsx)(y,{}),t[20]=C,t[21]=N);let P;t[22]!==M||t[23]!==N||t[24]!==O||t[25]!==k||t[26]!==A||t[27]!==j?(P=(0,p.jsx)(`div`,{className:`min-h-0 flex-1`,role:`region`,"aria-label":`General settings`,children:(0,p.jsxs)(f.Suspense,{fallback:D,children:[O,k,A,j,M,N]})}),t[22]=M,t[23]=N,t[24]=O,t[25]=k,t[26]=A,t[27]=j,t[28]=P):P=t[28];let F;return t[29]!==P||t[30]!==E?(F=(0,p.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[E,P]}),t[29]=P,t[30]=E,t[31]=F):F=t[31],F}export{b as default};
|