tarsk 0.5.76 → 0.5.78
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 +861 -186
- package/dist/public/assets/account-view-Bzv2EHnc.js +1 -0
- package/dist/public/assets/api-OO3KSG8d.js +2 -0
- package/dist/public/assets/{async-error-boundary-BX1G17o9.js → async-error-boundary-Dll_zcqr.js} +1 -1
- package/dist/public/assets/browser-tab-Cwa1TB3I.js +12 -0
- package/dist/public/assets/button-B5aMz2Rk.js +1 -0
- package/dist/public/assets/card-DRr14MEQ.js +1 -0
- package/dist/public/assets/chat-dock-context-Cnq0BWgm.js +1 -0
- package/dist/public/assets/commit-dialog-C-JfaoS6.js +1 -0
- package/dist/public/assets/commit-error-dialog-VXqZLeta.js +1 -0
- package/dist/public/assets/commit-method-fields-DAd1unUF.js +1 -0
- package/dist/public/assets/context-menu-BKOotkeD.js +1 -0
- package/dist/public/assets/conversation-history-view-CcdQRxoP.js +1 -0
- package/dist/public/assets/{create-project-dialog-a6Wgq-Z8.js → create-project-dialog-D1VaSgqh.js} +2 -2
- package/dist/public/assets/create-repo-dialog-mBGGkX-g.js +1 -0
- package/dist/public/assets/delete-confirm-dialog-Cx9nT7Xd.js +1 -0
- package/dist/public/assets/diff-view-CyOnLSEA.js +4 -0
- package/dist/public/assets/{dist-DsmF-KJ-.js → dist-COfI64N5.js} +1 -1
- package/dist/public/assets/dist-CWYnBq-n.js +1 -0
- package/dist/public/assets/dist-DDYi9MQo.js +1 -0
- package/dist/public/assets/dist-DNkA3vYh.js +2 -0
- package/dist/public/assets/dist-DwblUvSf.js +1 -0
- package/dist/public/assets/dist-T8-4ZfS0.js +1 -0
- package/dist/public/assets/dist-TCNzmc2V.js +5 -0
- package/dist/public/assets/dist-sThe8WYP.js +1 -0
- package/dist/public/assets/es2015-Bu0NIPbn.js +41 -0
- package/dist/public/assets/{explorer-monaco-editor-BdZ_bBqh.js → explorer-monaco-editor-q8CnSwWA.js} +1 -1
- package/dist/public/assets/explorer-tab-view-G2HmkQyY.js +2 -0
- package/dist/public/assets/explorer-tree-DAuc2Npx.js +1 -0
- package/dist/public/assets/explorer-view-BDMlnV3f.js +76 -0
- package/dist/public/assets/git-history-dialog-XEr5pugf.js +1 -0
- package/dist/public/assets/index-C4WzOmf3.css +1 -0
- package/dist/public/assets/index-DD_a7tQU.js +3665 -0
- package/dist/public/assets/lucide-react-B-115rul.js +1 -0
- package/dist/public/assets/main-tab-context-CNgxXqnH.js +1 -0
- package/dist/public/assets/model-list-controls-DAZM0NBC.js +1 -0
- package/dist/public/assets/onboarding-dialog-Dd9hiOOf.js +1 -0
- package/dist/public/assets/pill-tabs-QsjH027B.js +1 -0
- package/dist/public/assets/progress-indicator-C01aPXIe.js +1 -0
- package/dist/public/assets/project-coding-view-DbKI7sbW.js +1 -0
- package/dist/public/assets/project-danger-zone-view-BaSu793w.js +1 -0
- package/dist/public/assets/project-env-vars-view-BB66j52E.js +1 -0
- package/dist/public/assets/project-model-aliases-view-o1-Z2es5.js +1 -0
- package/dist/public/assets/project-settings-view-BKjvtOtk.js +1 -0
- package/dist/public/assets/project-tools-view-CZbblznF.js +1 -0
- package/dist/public/assets/providers-list-view-ChY2DXYc.js +1 -0
- package/dist/public/assets/pull-request-dialog-BZgY4vrw.js +1 -0
- package/dist/public/assets/pull-with-changes-dialog-DDp_srHq.js +1 -0
- package/dist/public/assets/{push-before-pr-dialog-CarrD3y2.js → push-before-pr-dialog-Bt0BChlV.js} +1 -1
- package/dist/public/assets/scroll-area-DwRwR2nQ.js +1 -0
- package/dist/public/assets/settings-general-tabs-view-BH7AaXyP.js +2 -0
- package/dist/public/assets/settings-general-view-B-t99LmD.js +1 -0
- package/dist/public/assets/settings-list-Dn4CHP4Z.js +1 -0
- package/dist/public/assets/{settings-logs-view-DbKM1SNk.js → settings-logs-view-BCRjz-Fr.js} +3 -3
- package/dist/public/assets/settings-mcp-servers-view-xv9D4DPO.js +5 -0
- package/dist/public/assets/settings-models-view-rUeqlE4k.js +1 -0
- package/dist/public/assets/settings-plugins-view-qnWmII61.js +2 -0
- package/dist/public/assets/settings-providers-view-DsxTdBEQ.js +2 -0
- package/dist/public/assets/settings-setup-view-ew5KW8gL.js +2 -0
- package/dist/public/assets/settings-skills-view-C4NxP4gI.js +3 -0
- package/dist/public/assets/settings-slack-view-BNT5ervf.js +1 -0
- package/dist/public/assets/settings-slash-commands-view-CE7FT3dB.js +1 -0
- package/dist/public/assets/settings-statistics-view-jKPoSWBs.js +1 -0
- package/dist/public/assets/settings-storage-view-C_Rs-9Hw.js +1 -0
- package/dist/public/assets/settings-subagents-view-DHVSAmCY.js +2 -0
- package/dist/public/assets/settings-system-prompt-view-B_nF2HUy.js +1 -0
- package/dist/public/assets/settings-tab-bar-DAHxT5KE.js +1 -0
- package/dist/public/assets/settings-view-BY6OO-xy.js +2 -0
- package/dist/public/assets/slug-utils-BQZ6c2py.js +1 -0
- package/dist/public/assets/store-B7EgrEO7.js +9 -0
- package/dist/public/assets/suspense-resource-DzlMlIgR.js +1 -0
- package/dist/public/assets/table-7hMwxpkF.js +1 -0
- package/dist/public/assets/tasks-view-Dc7sthjm.js +1 -0
- package/dist/public/assets/terminal-output-activity-B1bjjsl7.js +1 -0
- package/dist/public/assets/terminal-panel-BNOIOh8z.js +38 -0
- package/dist/public/assets/toggle-group-UiksQ0n9.js +1 -0
- package/dist/public/assets/tooltip-Dvmz78Z_.js +1 -0
- package/dist/public/assets/{use-active-dock-panel-instance-DRfRj6MV.js → use-active-dock-panel-instance-2LfvItRH.js} +1 -1
- package/dist/public/assets/use-installed-ai-files-BkpswqGI.js +1 -0
- package/dist/public/assets/{useBaseQuery-34f0-SVd.js → useBaseQuery-D5as4SgS.js} +1 -1
- package/dist/public/assets/utils-B-qS8qMg.js +1 -0
- package/dist/public/assets/{web-C2KGFouM.js → web-B9ndApmi.js} +1 -1
- package/dist/public/assets/{web-DycfRH4j.js → web-BkuMY08B.js} +1 -1
- package/dist/public/assets/{web-Dk3GAfTy.js → web-DyqJbQ3L.js} +1 -1
- package/dist/public/assets/{web-Bn9n5e7r.js → web-gEWIDddb.js} +1 -1
- package/dist/public/index.html +26 -28
- package/package.json +1 -1
- package/dist/public/assets/account-view-CWtpznW2.js +0 -1
- package/dist/public/assets/alert-dialog-BxMfaLuO.js +0 -7
- package/dist/public/assets/api-DX1ny6q-.js +0 -2
- package/dist/public/assets/async-loading-fallback-V0EaQ_Kn.js +0 -1
- package/dist/public/assets/browser-tab-D_5MLhxE.js +0 -12
- package/dist/public/assets/button-kWtLAMpB.js +0 -1
- package/dist/public/assets/card-B_EASkic.js +0 -1
- package/dist/public/assets/chat-dock-context-8K8Ikjgy.js +0 -1
- package/dist/public/assets/commit-dialog-CSXPoomw.js +0 -1
- package/dist/public/assets/commit-error-dialog-CdcGI69P.js +0 -1
- package/dist/public/assets/commit-method-fields-BtEHb0_G.js +0 -1
- package/dist/public/assets/context-menu-BcM6I0Sx.js +0 -1
- package/dist/public/assets/conversation-history-view-CuzU9qF6.js +0 -1
- package/dist/public/assets/create-project-workspace-Dv_lEfZx.js +0 -2
- package/dist/public/assets/create-repo-dialog-BTIQ5Nw4.js +0 -1
- package/dist/public/assets/delete-confirm-dialog-Dl76vaxb.js +0 -1
- package/dist/public/assets/diff-view-DA1uT9tc.js +0 -4
- package/dist/public/assets/dist-C2G92uPn.js +0 -1
- package/dist/public/assets/dist-CHhgoHp6.js +0 -1
- package/dist/public/assets/dist-CTLFS4dn.js +0 -2
- package/dist/public/assets/dist-D-2G8xGB.js +0 -5
- package/dist/public/assets/dist-DD4GtbiM.js +0 -1
- package/dist/public/assets/dist-DoxvnNEY.js +0 -1
- package/dist/public/assets/dist-c_QADQ5u.js +0 -1
- package/dist/public/assets/dist-yM5kyz9Q.js +0 -1
- package/dist/public/assets/es2015-BlPKkFZZ.js +0 -41
- package/dist/public/assets/explorer-tab-view-CewTYYOm.js +0 -2
- package/dist/public/assets/explorer-tree-C0VDhihz.js +0 -1
- package/dist/public/assets/explorer-view-RCfDm3p5.js +0 -76
- package/dist/public/assets/git-history-dialog-DL0Trxiz.js +0 -1
- package/dist/public/assets/index-B3-5kIOf.js +0 -3658
- package/dist/public/assets/index-BLNUy5nZ.css +0 -1
- package/dist/public/assets/main-tab-context-Byl1LybL.js +0 -1
- package/dist/public/assets/merged-pr-dialog-BzND8nzx.js +0 -1
- package/dist/public/assets/model-list-controls-I67L2x3H.js +0 -1
- package/dist/public/assets/onboarding-dialog-DY8v11hv.js +0 -1
- package/dist/public/assets/project-coding-view-DxOwsjtt.js +0 -1
- package/dist/public/assets/project-danger-zone-view-CkvKOQrl.js +0 -1
- package/dist/public/assets/project-env-vars-view-DYLWA7s0.js +0 -1
- package/dist/public/assets/project-model-aliases-view-DWu9khLA.js +0 -1
- package/dist/public/assets/project-settings-view-DJfmaWn6.js +0 -1
- package/dist/public/assets/project-tools-view-BEjBkghz.js +0 -1
- package/dist/public/assets/providers-list-view-jMEPJCci.js +0 -1
- package/dist/public/assets/pull-request-dialog-B_JCqT53.js +0 -1
- package/dist/public/assets/pull-with-changes-dialog-V3_km2zQ.js +0 -1
- package/dist/public/assets/radio-group-Dn_pN-pn.js +0 -1
- package/dist/public/assets/scroll-area-lkVMElz5.js +0 -1
- package/dist/public/assets/settings-general-view-BhrfHGfQ.js +0 -1
- package/dist/public/assets/settings-list-DiiYzOxn.js +0 -1
- package/dist/public/assets/settings-mcp-servers-view-4FpPIeYV.js +0 -5
- package/dist/public/assets/settings-models-view-CJVeo9ad.js +0 -1
- package/dist/public/assets/settings-skills-view-DoRPGbHG.js +0 -3
- package/dist/public/assets/settings-slack-view-Cc1NgVkx.js +0 -1
- package/dist/public/assets/settings-slash-commands-view-CmlWqqmi.js +0 -1
- package/dist/public/assets/settings-statistics-view-DRuyEbcN.js +0 -1
- package/dist/public/assets/settings-storage-view-DihbtUYb.js +0 -1
- package/dist/public/assets/settings-subagents-view-B2RvxDZI.js +0 -2
- package/dist/public/assets/settings-system-prompt-view-CvVbgjNN.js +0 -1
- package/dist/public/assets/settings-view-CPUAjTMa.js +0 -2
- package/dist/public/assets/slug-utils-CQ8PMWUL.js +0 -1
- package/dist/public/assets/store-BSzKIu5G.js +0 -9
- package/dist/public/assets/suspense-resource-BFrb_XJX.js +0 -1
- package/dist/public/assets/table-A3cgauiZ.js +0 -1
- package/dist/public/assets/tasks-view-CvFFLPeD.js +0 -1
- package/dist/public/assets/terminal-panel-DIh6it7K.js +0 -38
- package/dist/public/assets/toggle-group-Q36wRGKA.js +0 -1
- package/dist/public/assets/tooltip-Db8UeYxm.js +0 -1
- package/dist/public/assets/use-installed-ai-files-C8nNWGC7.js +0 -1
- package/dist/public/assets/use-suspense-resource-Dakt9lfT.js +0 -1
- package/dist/public/assets/use-toast-xpb5jNtN.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
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{t as i}from"./terminal-output-activity-B1bjjsl7.js";var a=t(),o=e(n(),1),s=r(),c=2e3,l=(0,o.createContext)(null);function u(e){let t=(0,a.c)(17),{children:n}=e,[r,u]=(0,o.useState)(`chat`),[f,p]=(0,o.useState)(!1),m=(0,o.useRef)(null),[h,g]=(0,o.useState)(!1),_;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(_={},t[0]=_):_=t[0];let[v,y]=(0,o.useState)(_),[b,x]=(0,o.useState)(0),S;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(S=function(){p(!0),m.current&&clearTimeout(m.current),m.current=setTimeout(function(){p(!1),m.current=null},c)},t[1]=S):S=t[1];let C=S,w,T;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(w=function(){return function(){m.current&&clearTimeout(m.current)}},T=[],t[2]=w,t[3]=T):(w=t[2],T=t[3]),(0,o.useEffect)(w,T);let E,D;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(E=function(){let e=function(){C()};return window.addEventListener(i,e),function(){window.removeEventListener(i,e)}},D=[C],t[4]=E,t[5]=D):(E=t[4],D=t[5]),(0,o.useEffect)(E,D);let O;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(O=e=>{e&&y(t=>({...t,[e]:(t[e]??0)+1}))},t[6]=O):O=t[6];let k=O,A;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{x(d)},t[7]=A):A=t[7];let j=A,M;t[8]!==r||t[9]!==h||t[10]!==v||t[11]!==b||t[12]!==f?(M={activeMainTab:r,setActiveMainTab:u,terminalActivity:f,notifyTerminalActivity:C,chatNotification:h,setChatNotification:g,reviewRefreshTickByThread:v,triggerReviewRefresh:k,tasksRefreshTick:b,triggerTasksRefresh:j},t[8]=r,t[9]=h,t[10]=v,t[11]=b,t[12]=f,t[13]=M):M=t[13];let N=M,P;return t[14]!==n||t[15]!==N?(P=(0,s.jsx)(l.Provider,{value:N,children:n}),t[14]=n,t[15]=N,t[16]=P):P=t[16],P}function d(e){return e+1}function f(){let e=(0,o.useContext)(l);if(!e)throw Error(`useMainTab must be used within a MainTabProvider`);return e}export{f as n,u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ft as n}from"./dist-DNkA3vYh.js";import{$t as r,M as i,v as a,wn as o}from"./lucide-react-B-115rul.js";import{t as s}from"./button-B5aMz2Rk.js";import{i as c,n as l,r as u,t as d}from"./tooltip-Dvmz78Z_.js";import{ut as f}from"./index-DD_a7tQU.js";import{n as p}from"./sorting-DqwxPMRN.js";var m=e(),h=t();function g(e){let t=(0,m.c)(9),{codingIndex:r,modelName:i}=e,o=p(r);if(o===0)return null;let s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=[1,2,3,4,5],t[0]=s):s=t[0];let f;t[1]===o?f=t[2]:(f=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(`div`,{className:`flex items-center gap-0.5`,children:s.map(e=>(0,h.jsx)(a,{className:`h-3 w-3 ${e<=o?`fill-yellow-400 text-yellow-400`:`text-gray-300`}`},e))})}),t[1]=o,t[2]=f);let g;t[3]!==r||t[4]!==i?(g=(0,h.jsx)(l,{children:(0,h.jsxs)(`p`,{className:n.body,children:[i,` was indexed `,r,` for coding intelligence`]})}),t[3]=r,t[4]=i,t[5]=g):g=t[5];let _;return t[6]!==f||t[7]!==g?(_=(0,h.jsx)(u,{children:(0,h.jsxs)(d,{children:[f,g]})}),t[6]=f,t[7]=g,t[8]=_):_=t[8],_}function _(e){let t=(0,m.c)(8),{id:n,checked:r,disabled:i,onChange:a}=e,o=i===void 0?!1:i,s;t[0]!==r||t[1]!==o||t[2]!==n||t[3]!==a?(s=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(`span`,{className:`inline-flex`,children:(0,h.jsx)(f,{id:n,disabled:o,value:r,onChange:a,ariaLabel:`Select All Models`})})}),t[0]=r,t[1]=o,t[2]=n,t[3]=a,t[4]=s):s=t[4];let p;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,h.jsx)(l,{children:`Select All Models`}),t[5]=p):p=t[5];let g;return t[6]===s?g=t[7]:(g=(0,h.jsx)(u,{children:(0,h.jsxs)(d,{children:[s,p]})}),t[6]=s,t[7]=g),g}function v(e){let t=(0,m.c)(31),{sortBy:n,onSortByChange:f,showCodingIndex:p,showIntelligenceByPrice:g}=e,_=p===void 0?!1:p,v=g===void 0?!1:g,y=n===`alphabetical`?`secondary`:`ghost`,b;t[0]===f?b=t[1]:(b=()=>f(`alphabetical`),t[0]=f,t[1]=b);let x;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,h.jsx)(o,{className:`h-4 w-4`}),t[2]=x):x=t[2];let S;t[3]!==y||t[4]!==b?(S=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:y,size:`icon`,className:`h-8 w-8`,onClick:b,children:x})}),t[3]=y,t[4]=b,t[5]=S):S=t[5];let C;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsx)(l,{children:`Sort A–Z`}),t[6]=C):C=t[6];let w;t[7]===S?w=t[8]:(w=(0,h.jsxs)(d,{children:[S,C]}),t[7]=S,t[8]=w);let T=n===`price-low`||n===`price-high`?`secondary`:`ghost`,E;t[9]===f?E=t[10]:(E=()=>f(`price-low`),t[9]=f,t[10]=E);let D;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(r,{className:`h-4 w-4`}),t[11]=D):D=t[11];let O;t[12]!==E||t[13]!==T?(O=(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:T,size:`icon`,className:`h-8 w-8`,onClick:E,children:D})}),t[12]=E,t[13]=T,t[14]=O):O=t[14];let k;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,h.jsx)(l,{children:`Sort by price`}),t[15]=k):k=t[15];let A;t[16]===O?A=t[17]:(A=(0,h.jsxs)(d,{children:[O,k]}),t[16]=O,t[17]=A);let j;t[18]!==f||t[19]!==_||t[20]!==n?(j=_?(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:n===`coding-index`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f(`coding-index`),children:(0,h.jsx)(a,{className:`h-4 w-4`})})}),(0,h.jsx)(l,{children:`Sort by coding intelligence`})]}):null,t[18]=f,t[19]=_,t[20]=n,t[21]=j):j=t[21];let M;t[22]!==f||t[23]!==v||t[24]!==n?(M=v?(0,h.jsxs)(d,{children:[(0,h.jsx)(c,{asChild:!0,children:(0,h.jsx)(s,{type:`button`,variant:n===`intelligence-by-price`?`secondary`:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f(`intelligence-by-price`),children:(0,h.jsx)(i,{className:`h-4 w-4`})})}),(0,h.jsx)(l,{children:`Sort by price/intelligence`})]}):null,t[22]=f,t[23]=v,t[24]=n,t[25]=M):M=t[25];let N;return t[26]!==A||t[27]!==j||t[28]!==M||t[29]!==w?(N=(0,h.jsx)(u,{children:(0,h.jsxs)(`div`,{className:`flex items-center rounded-md p-0.5`,children:[w,A,j,M]})}),t[26]=A,t[27]=j,t[28]=M,t[29]=w,t[30]=N):N=t[30],N}export{v as n,g as r,_ as t};
|
|
@@ -0,0 +1 @@
|
|
|
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{Ft as i,N as a,dt as o}from"./dist-DNkA3vYh.js";import{r as s,t as c}from"./utils-B-qS8qMg.js";import{$t as l,A as u,Jt as d,dn as f,dt as p,gn as m,wn as h,xn as g}from"./lucide-react-B-115rul.js";import{t as _}from"./button-B5aMz2Rk.js";import{i as v,n as y,r as b,t as x}from"./tooltip-Dvmz78Z_.js";import{Cn as S,Fr as C,G as w,Mn as T,Nt as E,Qt as ee,V as D,jt as O,m as k,o as A,wn as j}from"./api-OO3KSG8d.js";import{n as M}from"./scroll-area-DwRwR2nQ.js";import{Ar as N,Dr as P,Dt as F,Er as I,Ht as L,Nn as R,Or as z,Tr as te,_t as B,dt as V,gt as H,ht as U,jr as W,kr as ne,mt as re,pt as ie,ut as G,wr as K,xt as q}from"./index-DD_a7tQU.js";import{n as J,t as Y}from"./toggle-group-UiksQ0n9.js";import{t as ae}from"./sorting-DqwxPMRN.js";import{t as oe}from"./pending-changes-Bn-0ak1d.js";function se(e){let t=/^[^:]+:\s+(.+)$/.exec(e);return(t?t[1]:e).trim()}function ce(e){return[R(e.id),e.name,se(e.name)]}function le(e,t){let n=new Set(t.map(e=>e.toLowerCase()));return ce(e).some(e=>n.has(e.toLowerCase()))}function ue(e,t){return e.filter(e=>le(e,t)).map(e=>e.id)}var X=t(),Z=e(n(),1),Q=r(),de=a(`app.model-selector.ui`),fe=`rounded-full border-0 px-3 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`;function pe({provider:e,onModelsChange:t,isLoading:n,disabled:r,displayMode:a=`grid`,autoSelectRecommended:o=!1}){let[d,f]=(0,Z.useState)([]),[m,g]=(0,Z.useState)(new Set),[_,S]=(0,Z.useState)(new Set),[C,T]=(0,Z.useState)(new Map),[ee,D]=(0,Z.useState)(!1),[O,k]=(0,Z.useState)(``),[A,j]=(0,Z.useState)(`alphabetical`);(0,Z.useEffect)(()=>{M()},[e]);let M=async()=>{D(!0),k(``),j(`alphabetical`);try{let t=await w(e);f(t.models);let n=new Set(t.enabledModelIds);g(n);let r=new Map,i=new Set;if(o)try{let{models:e}=await E();i=new Set(ue(t.models,e)),r=new Map([...i].filter(e=>!n.has(e)).map(e=>[e,!0]))}catch(e){de.error(`Failed to load recommended models:`,e)}S(i),T(r),N(n,r,t.models)}catch(t){de.error(`Failed to load models for ${e}:`,t),f([]),g(new Set),S(new Set)}finally{D(!1)}},N=(e,n,r=d)=>{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)},P=e=>{T(t=>{let n=oe(t,e,m);return N(m,n),n})},F=e=>{T(t=>{let n=new Map(t);return d.forEach(t=>{let r=m.has(t.id);e?r?n.delete(t.id):n.set(t.id,!0):r?n.set(t.id,!1):n.delete(t.id)}),N(m,n),n})},I=e=>R(e.id);function L(e,t=C){let n=t.has(e),r=t.get(e);return n?!!r:m.has(e)}let z=ae({models:d,query:O,sortBy:A,getDisplayName:I,getPriority:e=>+!L(e.id)}),B=A===`alphabetical`?`alphabetical`:`price`;function V(e){if(e===`alphabetical`){j(`alphabetical`);return}e===`price`&&j(`price-low`)}function H(){A!==`alphabetical`&&j(e=>e===`price-low`?`price-high`:`price-low`)}return ee||n?(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(p,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):d.length===0?(0,Q.jsx)(`div`,{className:`text-center py-8`,children:(0,Q.jsx)(`p`,{className:i.bodyMuted,children:`No models available for this provider.`})}):a===`compact`?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsxs)(`div`,{className:c(`flex items-center justify-between gap-3`,r&&`opacity-25`),children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Q.jsx)(G,{id:`select-all-models`,disabled:r,value:d.every(e=>L(e.id)),onChange:e=>F(e),ariaLabel:`Select all models`}),(0,Q.jsx)(`label`,{htmlFor:`select-all-models`,className:c(i.body,`cursor-pointer`),children:`Select all models`})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[(0,Q.jsxs)(`div`,{className:`relative w-44 sm:w-52`,children:[(0,Q.jsx)(u,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),(0,Q.jsx)(te,{placeholder:`Search models...`,value:O,onChange:e=>k(e.target.value),disabled:r,className:`pl-8 h-9`})]}),(0,Q.jsxs)(Y,{type:`single`,value:B,onValueChange:V,"aria-label":`Sort models`,variant:`outline`,className:`inline-flex rounded-full border bg-muted/40 p-1`,children:[(0,Q.jsx)(J,{value:`alphabetical`,"aria-label":`Sort A–Z`,disabled:r,className:fe,children:(0,Q.jsx)(h,{className:`h-4 w-4`})}),(0,Q.jsx)(J,{value:`price`,"aria-label":`Sort by price`,disabled:r,className:fe,onClick:H,children:(0,Q.jsx)(l,{className:`h-4 w-4`})})]})]})]}),(0,Q.jsx)(b,{children:(0,Q.jsx)(`div`,{className:`grid grid-cols-1 gap-0 overflow-hidden rounded-md border border-table-border`,children:z.length===0?(0,Q.jsx)(`div`,{className:`text-center py-4`,children:(0,Q.jsx)(`p`,{className:i.bodyMuted,children:O?`No models match your search.`:`No models available.`})}):z.map(e=>{let t=L(e.id),n=e.pricing,a=t&&_.has(e.id);return(0,Q.jsxs)(x,{children:[(0,Q.jsx)(v,{asChild:!0,children:(0,Q.jsxs)(`div`,{className:c(`flex items-center space-x-3 p-3 hover:bg-muted/30 transition-colors cursor-default`,r&&`opacity-25`),children:[(0,Q.jsx)(G,{id:e.id,disabled:r,value:t??!1,onChange:()=>P(e.id),ariaLabel:`${I(e)} ${t?`enabled`:`disabled`}`}),(0,Q.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,Q.jsxs)(`label`,{htmlFor:e.id,className:c(i.body,`peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate flex-1 w-0`),children:[I(e),a&&(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:` (Recommended)`})]}),n&&(0,Q.jsx)(`span`,{className:c(i.compact,`text-muted-foreground whitespace-nowrap flex-shrink-0`),children:(n.prompt??0)<=0&&(n.completion??0)<=0?`Free`:`${s(n.prompt??0)} in | ${s(n.completion??0)} out`})]})]})}),e.description&&(0,Q.jsx)(y,{side:`top`,className:`max-w-xs`,children:(0,Q.jsx)(`p`,{className:i.body,children:e.description})})]},e.id)})})})]}):null}var $=a(`app.onboarding-dialog.ui`);function me(e){let t=(0,X.c)(26),{currentStep:n}=e,r=e=>e===`provider-selection`&&n===`provider-selection`||n===`model-selection`,a=e=>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,Q.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,Q.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,Q.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,Q.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,Q.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,Q.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}function he(e){e.preventDefault()}function ge(e){let t=(0,X.c)(3),{currentStep:n}=e;if(n===`provider-selection`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(W,{children:`Select an AI Provider`}),(0,Q.jsx)(z,{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,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(W,{children:`Select Models`}),(0,Q.jsx)(z,{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,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(W,{children:`Let's get started`}),(0,Q.jsx)(z,{children:`First, we need to check that Git is installed on your system.`})]}),t[2]=r):r=t[2],r}function _e(e){let t=(0,X.c)(7),{gitLoading:n,gitInstalled:r}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Q.jsx)(p,{className:`h-5 w-5 animate-spin text-muted-foreground`})}),t[0]=e):e=t[0],e}if(r){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsxs)(q,{variant:`success`,className:`mb-0 flex items-start gap-3`,children:[(0,Q.jsx)(m,{className:`h-5 w-5 text-green-600 flex-shrink-0 mt-0.5`}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:c(i.label,`text-green-900`),children:`Git is installed`}),(0,Q.jsx)(`p`,{className:i.bodyMuted,children:`You're all set to use Git features in Tarsk.`})]})]}),t[1]=e):e=t[1],e}let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(f,{className:`h-5 w-5 text-yellow-600 flex-shrink-0 mt-0.5`}),t[2]=a):a=t[2];let o,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(`p`,{className:i.label,children:`Git is not installed`}),s=(0,Q.jsx)(`p`,{className:i.bodyMuted,children:`Git is required for some features in Tarsk. You can continue without it, but we recommend installing it.`}),t[3]=o,t[4]=s):(o=t[3],s=t[4]);let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=c(i.caption,`text-brand hover:underline mt-2 inline-flex items-center gap-1`),t[5]=l):l=t[5];let u;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsxs)(q,{variant:`hint`,className:`mb-0 flex items-start gap-3`,children:[a,(0,Q.jsxs)(`div`,{className:`flex-1`,children:[o,s,(0,Q.jsxs)(`a`,{href:`https://git-scm.com/downloads`,target:`_blank`,rel:`noreferrer`,className:l,children:[`Download Git `,(0,Q.jsx)(d,{className:`h-3 w-3`})]})]})]}),t[6]=u):u=t[6],u}async function ve(){for(let e=0;e<120;e+=1){await new Promise(e=>window.setTimeout(e,1e3)),C.invalidate(`providers`);let e=(await O()).find(e=>e.slug.toLowerCase()===`openrouter`);if(e?.apiKey)return e}return null}function ye(e){let t=(0,X.c)(17),{selectedProvider:n,onProviderChange:r,apiKey:a,onApiKeyChange:s,validatingKey:l,providerEnvValues:u,onProviderEnvChange:d,keyError:f,onConnectOpenRouter:p}=e,m;t[0]!==a||t[1]!==s||t[2]!==p||t[3]!==r||t[4]!==n||t[5]!==l?(m=(0,Q.jsx)(V,{selectedProvider:n,onProviderChange:r,showApiKeyInput:!0,apiKey:a,onApiKeyChange:s,variant:`dropdown`,isLoading:l,onConnectOpenRouter:p}),t[0]=a,t[1]=s,t[2]=p,t[3]=r,t[4]=n,t[5]=l,t[6]=m):m=t[6];let h;t[7]!==d||t[8]!==u||t[9]!==n?(h=n&&U(n).map(e=>(0,Q.jsx)(F,{label:(0,Q.jsx)(K,{htmlFor:e,children:re(e)}),control:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`input`,{id:e,value:u[e]??``,onChange:t=>d(e,t.target.value),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===H(n)||o(n.slug)&&e===`LOCAL_API_URL`?(0,Q.jsx)(`p`,{className:c(i.bodyMuted,`mt-2 break-all`),children:B(n,u)||n.api}):null]}),align:`start`},e)),t[7]=d,t[8]=u,t[9]=n,t[10]=h):h=t[10];let g;t[11]===f?g=t[12]:(g=f&&(0,Q.jsx)(q,{variant:`error`,className:`mb-0`,children:f}),t[11]=f,t[12]=g);let _;return t[13]!==m||t[14]!==h||t[15]!==g?(_=(0,Q.jsxs)(`div`,{className:`space-y-4`,children:[m,h,g]}),t[13]=m,t[14]=h,t[15]=g,t[16]=_):_=t[16],_}function be(e){let t=(0,X.c)(4),{providerSlug:n,modelsLoading:r,onModelsChange:i}=e,a;return t[0]!==r||t[1]!==i||t[2]!==n?(a=(0,Q.jsx)(`div`,{className:`space-y-4`,children:(0,Q.jsx)(pe,{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 xe(e){let t=(0,X.c)(32),{currentStep:n,savingOnboarding:r,gitLoading:i,validatingKey:a,apiKey:o,hasProvider:s,onSkip:c,onBack:l,onContinue:u,onValidate:d,onFinish:f}=e,h;t[0]!==n||t[1]!==c||t[2]!==r?(h=n===`provider-selection`&&(0,Q.jsx)(_,{variant:`ghost`,onClick:c,disabled:r,children:`Skip for now`}),t[0]=n,t[1]=c,t[2]=r,t[3]=h):h=t[3];let v;t[4]===h?v=t[5]:(v=(0,Q.jsx)(`div`,{children:h}),t[4]=h,t[5]=v);let y;t[6]!==n||t[7]!==l||t[8]!==r?(y=n!==`git-check`&&(0,Q.jsx)(_,{variant:`outline`,onClick:l,disabled:r,children:`Back`}),t[6]=n,t[7]=l,t[8]=r,t[9]=y):y=t[9];let b;t[10]!==n||t[11]!==i||t[12]!==u?(b=n===`git-check`&&(0,Q.jsxs)(_,{onClick:u,disabled:i,className:`gap-2`,children:[`Continue `,(0,Q.jsx)(g,{className:`h-4 w-4`})]}),t[10]=n,t[11]=i,t[12]=u,t[13]=b):b=t[13];let x;t[14]!==o||t[15]!==n||t[16]!==s||t[17]!==d||t[18]!==a?(x=n===`provider-selection`&&(0,Q.jsx)(_,{onClick:d,disabled:a||!o.trim()||!s,className:`gap-2`,children:a?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(p,{className:`h-4 w-4 animate-spin`}),`Validating...`]}):(0,Q.jsxs)(Q.Fragment,{children:[`Next `,(0,Q.jsx)(g,{className:`h-4 w-4`})]})}),t[14]=o,t[15]=n,t[16]=s,t[17]=d,t[18]=a,t[19]=x):x=t[19];let S;t[20]!==n||t[21]!==f||t[22]!==r?(S=n===`model-selection`&&(0,Q.jsx)(_,{onClick:f,disabled:r,className:`gap-2`,children:r?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(p,{className:`h-4 w-4 animate-spin`}),`Finishing...`]}):(0,Q.jsxs)(Q.Fragment,{children:[`Finish `,(0,Q.jsx)(m,{className:`h-4 w-4`})]})}),t[20]=n,t[21]=f,t[22]=r,t[23]=S):S=t[23];let C;t[24]!==y||t[25]!==b||t[26]!==x||t[27]!==S?(C=(0,Q.jsxs)(`div`,{className:`flex gap-3`,children:[y,b,x,S]}),t[24]=y,t[25]=b,t[26]=x,t[27]=S,t[28]=C):C=t[28];let w;return t[29]!==v||t[30]!==C?(w=(0,Q.jsx)(`div`,{className:`px-6 py-4 border-t border-border bg-muted/10`,children:(0,Q.jsxs)(ne,{className:`flex items-center justify-between`,children:[v,C]})}),t[29]=v,t[30]=C,t[31]=w):w=t[31],w}function Se({open:e,onOpenChange:t,onComplete:n}){let[r,i]=(0,Z.useState)(`git-check`),[a,o]=(0,Z.useState)(null),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)([]),[d,f]=(0,Z.useState)(null),[p,m]=(0,Z.useState)(``),[h,g]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)({}),[y,b]=(0,Z.useState)(!1),[x,C]=(0,Z.useState)(``),[E,F]=(0,Z.useState)(new Set),[R,z]=(0,Z.useState)(!1),[te,B]=(0,Z.useState)(!1);(0,Z.useEffect)(()=>{e&&r===`git-check`&&V()},[e,r]),(0,Z.useEffect)(()=>{e&&r===`provider-selection`&&l.length===0&&H()},[e,r,l.length]),(0,Z.useEffect)(()=>{e&&r===`model-selection`&&d&&W()},[e,r,d]);let V=async()=>{c(!0);try{let e=await A();o(e.gitInstalled),e.gitInstalled&&i(`provider-selection`)}catch(e){$.error(`Failed to check git installation:`,e),o(!1)}finally{c(!1)}},H=async()=>{try{let e=await O();if(u(e),e.length>0&&!d){let t=ie(e);t&&(f(t),m(t.apiKey??``),v(t.envValues??{}))}}catch(e){$.error(`Failed to load providers:`,e)}},W=async()=>{if(d){z(!0);try{await w(d.name),F(new Set)}catch(e){$.error(`Failed to load models:`,e)}finally{z(!1)}}},ne=async()=>{if(!d||!p.trim()){C(`Please enter an API key`);return}let e=U(d),t=e.find(e=>!_[e]?.trim());if(t){C(`Please enter ${re(t)}`);return}b(!0),C(``);try{e.length>0&&await S(Object.fromEntries(e.map(e=>[e,_[e].trim()]))),await j(d.slug,p),i(`model-selection`)}catch(e){C(e instanceof Error?e.message:`Failed to validate API key`)}finally{b(!1)}},G=async()=>{if(d){B(!0);try{for(let e of E)await D(d.slug,e);L(),await k(),n?.(),t(!1)}catch(e){$.error(`Failed to complete onboarding:`,e)}finally{B(!1)}}},K=async()=>{B(!0);try{await k(),n?.(),t(!1)}catch(e){$.error(`Failed to skip onboarding:`,e)}finally{B(!1)}},q=e=>{f(e),m(e.apiKey??``),v(e.envValues??{}),C(``)},J=(e,t)=>{v(n=>({...n,[e]:t}))},Y=()=>{i(`provider-selection`)};async function ae(){if(!h){g(!0),C(``);try{await ee(await T());let e=await ve();if(!e){C(`OpenRouter connection timed out. You can enter an API key manually.`);return}f(e),m(e.apiKey??``),i(`model-selection`)}catch(e){C(e instanceof Error?e.message:`Failed to connect to OpenRouter`)}finally{g(!1)}}}function oe(){r===`provider-selection`?i(`git-check`):r===`model-selection`&&i(`provider-selection`)}return(0,Q.jsx)(I,{open:e,onOpenChange:t,children:(0,Q.jsxs)(P,{className:`max-w-2xl h-[min(42rem,90dvh)] flex flex-col p-0 overflow-hidden`,onInteractOutside:he,children:[(0,Q.jsxs)(`div`,{className:`px-6 pt-6 pb-2`,children:[(0,Q.jsx)(me,{currentStep:r}),(0,Q.jsx)(N,{children:(0,Q.jsx)(ge,{currentStep:r})})]}),(0,Q.jsx)(M,{className:`flex-1 min-h-0 overflow-hidden`,children:(0,Q.jsxs)(`div`,{className:`px-6 py-4`,children:[r===`git-check`&&(0,Q.jsx)(`div`,{className:`space-y-4`,children:(0,Q.jsx)(_e,{gitLoading:s,gitInstalled:a})}),r===`provider-selection`&&(0,Q.jsx)(ye,{selectedProvider:d,onProviderChange:q,apiKey:p,onApiKeyChange:m,validatingKey:y,providerEnvValues:_,onProviderEnvChange:J,keyError:x,onConnectOpenRouter:ae}),r===`model-selection`&&d&&(0,Q.jsx)(be,{providerSlug:d.slug,modelsLoading:R,onModelsChange:F})]})}),(0,Q.jsx)(xe,{currentStep:r,savingOnboarding:te,gitLoading:s,validatingKey:y,apiKey:p,hasProvider:!!d,onSkip:()=>void K(),onBack:oe,onContinue:Y,onValidate:()=>void ne(),onFinish:()=>void G()})]})})}export{Se as OnboardingDialog,Se as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{i,n as a,r as o,t as s}from"./tooltip-Dvmz78Z_.js";import{dr as c,fr as l,lr as u}from"./index-DD_a7tQU.js";var d=t(),f=e(n(),1),p=r(),m=`h-8 rounded-full border-0 bg-muted/40 p-0.5`,h=`rounded-full bg-foreground shadow-sm`,g=`h-7 rounded-full px-4 data-[state=active]:text-background`;function _(e){let t=(0,d.c)(12),{value:n,onValueChange:r,options:_,className:v}=e,y;t[0]===r?y=t[1]:(y=e=>r(e),t[0]=r,t[1]=y);let b;if(t[2]!==_){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=function(e){let t=(0,p.jsx)(l,{value:e.value,className:g,children:e.label});return e.tooltip?(0,p.jsxs)(s,{children:[(0,p.jsx)(i,{asChild:!0,children:t}),(0,p.jsx)(a,{children:e.tooltip})]},e.value):(0,p.jsx)(f.Fragment,{children:t},e.value)},t[4]=e):e=t[4],b=_.map(e),t[2]=_,t[3]=b}else b=t[3];let x;t[5]===b?x=t[6]:(x=(0,p.jsx)(c,{className:m,indicatorClassName:h,children:b}),t[5]=b,t[6]=x);let S;return t[7]!==v||t[8]!==y||t[9]!==x||t[10]!==n?(S=(0,p.jsx)(o,{children:(0,p.jsx)(u,{value:n,onValueChange:y,className:v,children:x})}),t[7]=v,t[8]=y,t[9]=x,t[10]=n,t[11]=S):S=t[11],S}export{_ as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ft as n}from"./dist-DNkA3vYh.js";import{t as r}from"./utils-B-qS8qMg.js";var i=e(),a=t();function o(e){let t=(0,i.c)(7),{size:n,className:o,"aria-label":s}=e,c=n===void 0?20:n,l;t[0]===o?l=t[1]:(l=r(`shrink-0 text-brand`,o),t[0]=o,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,a.jsxs)(`g`,{fill:`none`,stroke:`currentColor`,strokeWidth:2,children:[(0,a.jsx)(`circle`,{className:`ai-spinner-ring`,cx:`8`,cy:`8`,r:7}),(0,a.jsx)(`circle`,{className:`ai-spinner-ring ai-spinner-ring-second`,cx:`8`,cy:`8`,r:7})]}),t[2]=u):u=t[2];let d;return t[3]!==s||t[4]!==c||t[5]!==l?(d=(0,a.jsx)(`svg`,{role:`img`,"aria-label":s,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 16 16`,width:c,height:c,className:l,children:u}),t[3]=s,t[4]=c,t[5]=l,t[6]=d):d=t[6],d}function s(e){switch(e){case`searching`:return`Searching`;case`solving`:return`Thinking`;default:return`Working`}}function c(e){let t=(0,i.c)(20),{centered:c,className:l,containerClassName:u,label:d,size:f,state:p}=e,m=c===void 0?!1:c,h=f===void 0?`md`:f,g=p===void 0?`working`:p,_=h===`sm`?16:h===`lg`?32:20,v;t[0]!==d||t[1]!==g?(v=d??s(g),t[0]=d,t[1]=g,t[2]=v):v=t[2];let y=m&&`mx-auto`,b;t[3]!==l||t[4]!==y?(b=r(y,l),t[3]=l,t[4]=y,t[5]=b):b=t[5];let x;t[6]!==_||t[7]!==v||t[8]!==b?(x=(0,a.jsx)(o,{size:_,"aria-label":v,className:b}),t[6]=_,t[7]=v,t[8]=b,t[9]=x):x=t[9];let S=x;if(!m)return S;let C;t[10]===u?C=t[11]:(C=r(`flex h-full items-center justify-center`,u),t[10]=u,t[11]=C);let w;t[12]===d?w=t[13]:(w=d?(0,a.jsx)(`p`,{"aria-hidden":`true`,className:r(n.bodyMuted,`mt-2`),children:d}):null,t[12]=d,t[13]=w);let T;t[14]!==S||t[15]!==w?(T=(0,a.jsxs)(`div`,{className:`text-center`,children:[S,w]}),t[14]=S,t[15]=w,t[16]=T):T=t[16];let E;return t[17]!==T||t[18]!==C?(E=(0,a.jsx)(`div`,{className:C,children:T}),t[17]=T,t[18]=C,t[19]=E):E=t[19],E}export{c as t};
|
|
@@ -0,0 +1 @@
|
|
|
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{Ft as a,on as o}from"./dist-DNkA3vYh.js";import{t as ee}from"./utils-B-qS8qMg.js";import{dt as s}from"./lucide-react-B-115rul.js";import{t as te}from"./button-B5aMz2Rk.js";import{Jn as c,Wn as l,bt as u}from"./api-OO3KSG8d.js";import{$n as d,At as ne,B as re,Et as ie,Nt as ae,Ot as oe,St as se,Tr as ce,bt as f,kt as le,ut as ue,wr as p}from"./index-DD_a7tQU.js";import{i as de}from"./commit-method-fields-DAd1unUF.js";import{t as fe}from"./use-settings-page-loading-BTySlInF.js";var pe=t(),m=e(n(),1),h=r();async function me(e,t){if(!e){t.setLoading(!1);return}t.setLoading(!0);try{let n=await u(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){d({title:`Error`,description:e instanceof Error?e.message:`Failed to load coding settings`,variant:`destructive`})}finally{t.setLoading(!1)}}async function he(e,t,n){n(!0);try{let n=await l(e);n.runCommand?(t(n.runCommand),d({title:`Success`,description:`Suggested: ${n.runCommand}`})):d({title:`No command found`,description:`Could not detect a dev script in package.json`})}catch(e){d({title:`Error`,description:e instanceof Error?e.message:`Failed to suggest command`,variant:`destructive`})}finally{n(!1)}}async function ge(e,t,n,r){await c(e,{setupScript:t.trim()||null,runCommand:n.trim()||null,commitMethod:r})}async function g(e,t,n,r,i){(t!==r||JSON.stringify(n)!==JSON.stringify(i))&&await c(e,{allowAllCommands:t,allowedCommandPatterns:n})}async function _e(e,t,n){t!==n&&await c(e,{useBuiltInBrowser:t})}function ve(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 ye(e,t,n){n.setSaving(!0);try{return await ge(e,t.value,t.runCmd,t.commitMethod),await g(e,t.allowAllCommands,t.allowedCommandPatterns,t.originalAllowAllCommands,t.originalAllowedCommandPatterns),await _e(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 d({title:`Error`,description:e instanceof Error?e.message:`Failed to save coding settings`,variant:`destructive`}),!1}finally{n.setSaving(!1)}}function be(e){let t=(0,pe.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,h.jsx)(p,{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,h.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-border px-3 py-2`,children:[(0,h.jsx)(`code`,{className:ee(a.mono,a.bodyMuted),children:e}),(0,h.jsx)(te,{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 l;return t[8]===c?l=t[9]:(l=(0,h.jsxs)(`div`,{className:`space-y-2 mt-3`,children:[s,(0,h.jsx)(`ul`,{className:`space-y-1`,children:c})]}),t[8]=c,t[9]=l),l}function _(e){let t=(0,pe.c)(105),{projectId:n}=e,r=i(),[a,ee]=(0,m.useState)(``),[c,l]=(0,m.useState)(``),[u,d]=(0,m.useState)(o.PullRequest),[p,ge]=(0,m.useState)(!1),[g,_e]=(0,m.useState)(!1),[_,xe]=(0,m.useState)(!0),[v,Se]=(0,m.useState)(!0),Ce;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=[],t[0]=Ce):Ce=t[0];let[y,we]=(0,m.useState)(Ce),[b,Te]=(0,m.useState)(``),[x,Ee]=(0,m.useState)(``),[S,De]=(0,m.useState)(o.PullRequest),[C,Oe]=(0,m.useState)(!0),w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=[],t[1]=w):w=t[1];let[T,ke]=(0,m.useState)(w),[E,Ae]=(0,m.useState)(!0),[D,je]=(0,m.useState)(!0),O;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(O={setValue:ee,setRunCmd:l,setCommitMethod:d,setAllowAllCommands:Se,setAllowedCommandPatterns:we,setUseBuiltInBrowser:Ae,setOriginalValue:Te,setOriginalRunCmd:Ee,setOriginalCommitMethod:De,setOriginalAllowAllCommands:Oe,setOriginalAllowedCommandPatterns:ke,setOriginalUseBuiltInBrowser:je,setLoading:xe,setSaving:ge,setSuggestingCommand:_e},t[2]=O):O=t[2];let Me=O,k;t[3]===n?k=t[4]:(k=()=>me(n,Me),t[3]=n,t[4]=k);let A=k,j,M;t[5]===n?(j=t[6],M=t[7]):(j=()=>{n&&xe(!0)},M=[n],t[5]=n,t[6]=j,t[7]=M),(0,m.useLayoutEffect)(j,M);let N,P;t[8]===A?(N=t[9],P=t[10]):(N=()=>{A()},P=[A],t[8]=A,t[9]=N,t[10]=P),(0,m.useEffect)(N,P);let Ne;t[11]===_?Ne=t[12]:(Ne=[_],t[11]=_,t[12]=Ne);let Pe=fe(n,Ne),Fe;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(Fe=function(e){d(e)},t[13]=Fe):Fe=t[13];let Ie=Fe,Le;t[14]===n?Le=t[15]:(Le=async function(){n&&await he(n,l,_e)},t[14]=n,t[15]=Le);let Re=Le,ze;t[16]!==v||t[17]!==y||t[18]!==u||t[19]!==r||t[20]!==C||t[21]!==T||t[22]!==S||t[23]!==x||t[24]!==D||t[25]!==b||t[26]!==n||t[27]!==c||t[28]!==E||t[29]!==a?(ze=async function(){n&&await ye(n,{value:a,runCmd:c,commitMethod:u,allowAllCommands:v,allowedCommandPatterns:y,useBuiltInBrowser:E,originalValue:b,originalRunCmd:x,originalCommitMethod:S,originalAllowAllCommands:C,originalAllowedCommandPatterns:T,originalUseBuiltInBrowser:D},Me)&&r(`/`)},t[16]=v,t[17]=y,t[18]=u,t[19]=r,t[20]=C,t[21]=T,t[22]=S,t[23]=x,t[24]=D,t[25]=b,t[26]=n,t[27]=c,t[28]=E,t[29]=a,t[30]=ze):ze=t[30];let Be=ze,F=_||p,Ve=_||g,He;t[31]!==v||t[32]!==y||t[33]!==u||t[34]!==C||t[35]!==T||t[36]!==S||t[37]!==x||t[38]!==D||t[39]!==b||t[40]!==c||t[41]!==E||t[42]!==a?(He=ve({value:a,runCmd:c,commitMethod:u,allowAllCommands:v,allowedCommandPatterns:y,useBuiltInBrowser:E,originalValue:b,originalRunCmd:x,originalCommitMethod:S,originalAllowAllCommands:C,originalAllowedCommandPatterns:T,originalUseBuiltInBrowser:D}),t[31]=v,t[32]=y,t[33]=u,t[34]=C,t[35]=T,t[36]=S,t[37]=x,t[38]=D,t[39]=b,t[40]=c,t[41]=E,t[42]=a,t[43]=He):He=t[43];let Ue=He;if(!n){let e;return t[44]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,h.jsx)(le,{title:`No project selected`,children:`Please select a project from the sidebar to view its coding settings.`}),t[44]=e):e=t[44],e}let I;t[45]===Be?I=t[46]:(I=()=>void Be(),t[45]=Be,t[46]=I);let We=F||!Ue,L;t[47]===p?L=t[48]:(L=p?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`,t[47]=p,t[48]=L);let R;t[49]!==I||t[50]!==We||t[51]!==L?(R=(0,h.jsx)(se,{title:`Setup`,description:`Scripts and command behavior Tarsk uses when working on this project.`,action:(0,h.jsx)(te,{onClick:I,disabled:We,children:L}),sticky:!1}),t[49]=I,t[50]=We,t[51]=L,t[52]=R):R=t[52];let Ge;t[53]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=e=>ee(e.target.value),t[53]=Ge):Ge=t[53];let z;t[54]!==_||t[55]!==a?(z=(0,h.jsx)(f,{title:`Setup Script`,description:`This script runs automatically after cloning the repo for new threads.`,children:(0,h.jsx)(re,{id:`setupScript`,value:a,onChange:Ge,placeholder:`e.g. npm install`,className:`font-mono min-h-[80px] resize-none`,disabled:_})}),t[54]=_,t[55]=a,t[56]=z):z=t[56];let Ke;t[57]===Symbol.for(`react.memo_cache_sentinel`)?(Ke=e=>l(e.target.value),t[57]=Ke):Ke=t[57];let B;t[58]!==_||t[59]!==c?(B=(0,h.jsx)(ce,{id:`runCommand`,value:c,onChange:Ke,placeholder:`e.g. npm run dev`,className:`font-mono pr-28`,disabled:_}),t[58]=_,t[59]=c,t[60]=B):B=t[60];let V;t[61]===Re?V=t[62]:(V=()=>void Re(),t[61]=Re,t[62]=V);let H;t[63]===g?H=t[64]:(H=g?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(s,{className:`h-3 w-3 animate-spin`}),`Suggesting...`]}):`Suggest`,t[63]=g,t[64]=H);let U;t[65]!==Ve||t[66]!==V||t[67]!==H?(U=(0,h.jsx)(te,{variant:`ghost`,size:`sm`,className:`absolute right-1 top-1 h-8`,onClick:V,disabled:Ve,children:H}),t[65]=Ve,t[66]=V,t[67]=H,t[68]=U):U=t[68];let W;t[69]!==B||t[70]!==U?(W=(0,h.jsx)(f,{title:`Run Command`,description:`The command to start the dev server. Leave empty to disable run functionality.`,children:(0,h.jsxs)(`div`,{className:`relative`,children:[B,U]})}),t[69]=B,t[70]=U,t[71]=W):W=t[71];let qe=u===o.PullRequest?`Feature branches are created and pull requests can be created.`:`Commits are made directly to the main branch without feature branches.`,G;t[72]!==u||t[73]!==_?(G=(0,h.jsx)(de,{commitMethod:u,onCommitMethodChange:Ie,disabled:_}),t[72]=u,t[73]=_,t[74]=G):G=t[74];let K;t[75]!==qe||t[76]!==G?(K=(0,h.jsx)(f,{title:`Commit Method`,description:qe,controlLayout:`row-end`,action:G}),t[75]=qe,t[76]=G,t[77]=K):K=t[77];let Je=!v,Ye;t[78]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=e=>Se(!e),t[78]=Ye):Ye=t[78];let q;t[79]!==_||t[80]!==Je?(q=(0,h.jsx)(ue,{value:Je,onChange:Ye,disabled:_,ariaLabel:`Confirm Commands`}),t[79]=_,t[80]=Je,t[81]=q):q=t[81];let J;t[82]!==v||t[83]!==y||t[84]!==F?(J=!v&&y.length>0&&(0,h.jsx)(be,{allowAllCommands:v,patterns:y,disabled:F,onRemove:e=>we(t=>t.filter(t=>t!==e))}),t[82]=v,t[83]=y,t[84]=F,t[85]=J):J=t[85];let Y;t[86]!==q||t[87]!==J?(Y=(0,h.jsx)(f,{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:q,children:J}),t[86]=q,t[87]=J,t[88]=Y):Y=t[88];let X;t[89]!==F||t[90]!==E?(X=(0,h.jsx)(f,{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,h.jsx)(ue,{value:E,onChange:Ae,disabled:F,ariaLabel:`Built-in Browser`})}),t[89]=F,t[90]=E,t[91]=X):X=t[91];let Z;t[92]!==z||t[93]!==W||t[94]!==K||t[95]!==Y||t[96]!==X?(Z=(0,h.jsx)(ne,{className:`max-w-none pt-6`,children:(0,h.jsxs)(oe,{children:[z,W,K,Y,X]})}),t[92]=z,t[93]=W,t[94]=K,t[95]=Y,t[96]=X,t[97]=Z):Z=t[97];let Q;t[98]!==R||t[99]!==Z?(Q=(0,h.jsxs)(ae,{className:`shrink-0`,children:[R,Z]}),t[98]=R,t[99]=Z,t[100]=Q):Q=t[100];let $;return t[101]!==Pe||t[102]!==n||t[103]!==Q?($=(0,h.jsx)(ie,{loading:Pe,children:Q},n),t[101]=Pe,t[102]=n,t[103]=Q,t[104]=$):$=t[104],$}export{_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ft as n}from"./dist-DNkA3vYh.js";import{r}from"./store-B7EgrEO7.js";import{u as i}from"./utils-B-qS8qMg.js";import{t as a}from"./button-B5aMz2Rk.js";import{At as o,Et as s,Nt as c,St as l,i as u,kt as d}from"./index-DD_a7tQU.js";var f=e(),p=t();function m(e){let t=(0,f.c)(11),{projectId:m}=e,h=u(),g;t[0]===m?g=t[1]:(g=e=>e.projects.find(e=>e.projectId===m),t[0]=m,t[1]=g);let _=r(g);if(!m){let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,p.jsx)(d,{title:`No project selected`,children:`Please select a project from the sidebar to manage its danger zone.`}),t[2]=e):e=t[2],e}let v=_?.builtIn===!0,y;t[3]===_?y=t[4]:(y=_?i(_):``,t[3]=_,t[4]=y);let b=y,x;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,p.jsx)(l,{title:`Danger Zone`,description:`Irreversible actions for this project.`,sticky:!1}),t[5]=x):x=t[5];let S;return t[6]!==v||t[7]!==m||t[8]!==b||t[9]!==h?(S=(0,p.jsx)(s,{loading:!1,children:(0,p.jsxs)(c,{className:`shrink-0`,children:[x,(0,p.jsx)(o,{className:`max-w-none pt-6`,children:v?(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Built-in bots cannot be deleted.`}):(0,p.jsxs)(`div`,{className:`flex flex-col items-start gap-4`,children:[(0,p.jsx)(`p`,{className:n.bodyMuted,children:`Permanently removes the project, its threads, and all associated storage. This action cannot be undone.`}),(0,p.jsx)(a,{type:`button`,variant:`destructive`,onClick:()=>{h({id:m,name:b})},children:`Delete Project`})]})})]})}),t[6]=v,t[7]=m,t[8]=b,t[9]=h,t[10]=S):S=t[10],S}export{m as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{Ft as a,Y as o}from"./dist-DNkA3vYh.js";import{t as s}from"./utils-B-qS8qMg.js";import{Kt as c,dt as l,qt as u,r as d}from"./lucide-react-B-115rul.js";import{t as f}from"./button-B5aMz2Rk.js";import{Ct as p,Gn as m}from"./api-OO3KSG8d.js";import{$n as h,At as g,Et as _,Nt as v,St as y,Tr as b,kt as x}from"./index-DD_a7tQU.js";import{t as S}from"./use-settings-page-loading-BTySlInF.js";var C=t(),w=e(n(),1),T=r();function E(e){let t=(0,C.c)(20),{entry:n,index:r,loading:i,onValueChange:a}=e,l=o(n.name),[d,p]=(0,w.useState)(!1),m=n.value.length>0||n.hasExistingValue,h=n.hasExistingValue&&!n.value?`••••••••`:`value`;(0,w.useEffect)(()=>{l||p(!1)},[l]);let g=b,_=l&&!d?`password`:`text`,v=n.value,y;t[0]!==r||t[1]!==a?(y=e=>a(r,e.target.value),t[0]=r,t[1]=a,t[2]=y):y=t[2];let x=s(`font-mono`,l&&`pr-10`),S;t[3]!==g||t[4]!==n.value||t[5]!==i||t[6]!==h||t[7]!==_||t[8]!==y||t[9]!==x?(S=(0,T.jsx)(g,{type:_,placeholder:h,value:v,onChange:y,className:x,disabled:i}),t[3]=g,t[4]=n.value,t[5]=i,t[6]=h,t[7]=_,t[8]=y,t[9]=x,t[10]=S):S=t[10];let E;t[11]!==m||t[12]!==l||t[13]!==i||t[14]!==p||t[15]!==d?(E=l?(0,T.jsx)(f,{type:`button`,variant:`ghost`,size:`sm`,className:`absolute right-1 top-1/2 h-8 w-8 -translate-y-1/2 p-0`,onClick:()=>p(D),disabled:i||!m,children:d?(0,T.jsx)(u,{className:`h-4 w-4 text-muted-foreground`}):(0,T.jsx)(c,{className:`h-4 w-4 text-muted-foreground`})}):null,t[11]=m,t[12]=l,t[13]=i,t[14]=p,t[15]=d,t[16]=E):E=t[16];let O;return t[17]!==S||t[18]!==E?(O=(0,T.jsxs)(`div`,{className:`relative flex-1`,children:[S,E]}),t[17]=S,t[18]=E,t[19]=O):O=t[19],O}function D(e){return!e}function O({projectId:e}){let t=i(),[n,r]=(0,w.useState)([]),[o,s]=(0,w.useState)([]),[c,u]=(0,w.useState)(!0),[C,D]=(0,w.useState)(!1),O=(0,w.useCallback)(async()=>{if(!e){u(!1);return}u(!0);try{let t=(await p(e)).vars.map(e=>({name:e.name,value:e.value??``,hasExistingValue:e.hasValue&&e.value===void 0}));r(t),s(t)}catch(e){h({title:`Error`,description:e instanceof Error?e.message:`Failed to load environment variables`,variant:`destructive`})}finally{u(!1)}},[e]);(0,w.useLayoutEffect)(()=>{e&&u(!0)},[e]),(0,w.useEffect)(()=>{O()},[O]);let k=S(e,[c]);function A(){r(e=>[...e,{name:``,value:``,hasExistingValue:!1}])}function j(e,t){r(n=>n.map((n,r)=>r===e?{...n,name:t.toUpperCase()}:n))}function M(e,t){r(n=>n.map((n,r)=>r===e?{...n,value:t}:n))}function N(e){r(t=>t.filter((t,n)=>n!==e))}function P(){if(n.length!==o.length)return!0;for(let e=0;e<n.length;e+=1){let t=n[e],r=o[e];if(!r||t.name!==r.name||t.value!==r.value||t.hasExistingValue!==r.hasExistingValue)return!0}return!1}async function F(){if(!(!e||!P())){D(!0);try{let r=n.map(e=>({name:e.name.trim(),value:e.value,hasExistingValue:e.hasExistingValue})).filter(e=>e.name.length>0),i=r.find((e,t)=>r.findIndex(t=>t.name===e.name)!==t);if(i)throw Error(`Duplicate environment variable name: ${i.name}`);let a=r.find(e=>!e.hasExistingValue&&!e.value.trim());if(a)throw Error(`Value is required for environment variable: ${a.name}`);await m(e,r.map(e=>({name:e.name,value:e.value.trim()||void 0}))),s(n.map(e=>({...e,value:``}))),await O(),t(`/`)}catch(e){h({title:`Error`,description:e instanceof Error?e.message:`Failed to save environment variables`,variant:`destructive`})}finally{D(!1)}}}let I=P();return e?(0,T.jsx)(_,{loading:k,children:(0,T.jsxs)(v,{className:`shrink-0`,children:[(0,T.jsx)(y,{title:`Environment Variables`,description:`Encrypted in Tarsk and injected for bash commands and MCP tools.`,action:(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(f,{variant:`ghost`,size:`sm`,onClick:A,disabled:c,children:`Add variable`}),(0,T.jsx)(f,{onClick:()=>void F(),disabled:C||c||!I,children:C?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(l,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`})]}),sticky:!1}),(0,T.jsx)(g,{className:`max-w-none pt-6`,children:n.length===0?(0,T.jsx)(`p`,{className:a.caption,children:`No environment variables configured`}):(0,T.jsx)(`div`,{className:`flex flex-col gap-2`,children:n.map((e,t)=>(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(b,{placeholder:`API_KEY`,value:e.name,onChange:e=>j(t,e.target.value),className:`w-[35%] font-mono`,disabled:c}),(0,T.jsx)(E,{entry:e,index:t,loading:c,onValueChange:M}),(0,T.jsx)(f,{variant:`ghost`,size:`icon`,onClick:()=>N(t),className:`h-9 w-9 shrink-0`,disabled:c||C,children:(0,T.jsx)(d,{className:`h-3.5 w-3.5`})})]},t))})})]})}):(0,T.jsx)(x,{title:`No project selected`,children:`Please select a project from the sidebar to manage environment variables.`})}export{O as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{Dn as i,Ft as a,On as o,_n as s,bn as c,kn as l,vn as u,xn as d,yn as f}from"./dist-DNkA3vYh.js";import{t as p}from"./utils-B-qS8qMg.js";import{t as m}from"./button-B5aMz2Rk.js";import{$ as h,qn as g,tt as _}from"./api-OO3KSG8d.js";import{$n as v,At as y,Et as b,Ft as x,It as S,Lt as C,Nn as w,Nt as T,Ot as E,Pt as D,Rt as O,St as k,Vt as A,bt as j,zt as M}from"./index-DD_a7tQU.js";import{t as N}from"./use-settings-page-loading-BTySlInF.js";var P=e(n(),1),F=t(),I=r(),L=`__unspecified__`,R=`__default__`;function z(e){let t=(0,F.c)(20),{value:n,onChange:r,enabledModels:i,disabled:a}=e,p=a===void 0?!1:a,m;if(t[0]!==i){m=new Map;for(let e of i){let t=e.provider??`other`,n=m.get(t);n?n.push(e):m.set(t,[e])}t[0]=i,t[1]=m}else m=t[1];let h=m,g;t[2]!==r||t[3]!==n?(g=function(e,t){let i={...n};if(t===L){delete i[e],r(i);return}let a=c(t);a&&(i[e]=a,r(i))},t[2]=r,t[3]=n,t[4]=g):g=t[4];let _=g,v;t[5]===i?v=t[6]:(v=function(e){if(!e)return;let t=e.provider.toLowerCase();return i.find(n=>n.id===e.model&&(n.provider??`other`).toLowerCase()===t)},t[5]=i,t[6]=v);let y=v,b;t[7]!==r||t[8]!==n?(b=function(e,t){let i=n[e];if(!i)return;let a={...i};if(t===R)delete a.reasoningEffort;else if(l(t))a.reasoningEffort=t;else return;r({...n,[e]:a})},t[7]=r,t[8]=n,t[9]=b):b=t[9];let w=b,T;t[10]!==p||t[11]!==i||t[12]!==y||t[13]!==_||t[14]!==w||t[15]!==h||t[16]!==n?(T=f.map(e=>{let t=n[e],r=t?d(t):L,a=y(t)?.supportedReasoningEfforts??[];return(0,I.jsx)(j,{title:u[e],description:s[e],children:(0,I.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,I.jsxs)(D,{value:r,onValueChange:t=>_(e,t),disabled:p,children:[(0,I.jsx)(O,{id:`model-alias-${e}`,className:`w-full min-w-0`,children:(0,I.jsx)(M,{placeholder:`Unspecified`})}),(0,I.jsxs)(x,{children:[(0,I.jsx)(S,{value:L,children:`Unspecified`}),i.length>0&&(0,I.jsx)(C,{}),[...h.entries()].map(V)]})]}),t&&a.length>0&&(0,I.jsxs)(D,{value:t.reasoningEffort??R,onValueChange:t=>w(e,t),disabled:p,children:[(0,I.jsx)(O,{id:`model-alias-${e}-reasoning`,className:`w-full min-w-0`,children:(0,I.jsx)(M,{placeholder:`Model default`})}),(0,I.jsxs)(x,{children:[(0,I.jsx)(S,{value:R,children:`Model default`}),(0,I.jsx)(S,{value:`off`,children:o(`off`)}),a.map(B)]})]})]})},e)}),t[10]=p,t[11]=i,t[12]=y,t[13]=_,t[14]=w,t[15]=h,t[16]=n,t[17]=T):T=t[17];let k;return t[18]===T?k=t[19]:(k=(0,I.jsx)(E,{id:`model-aliases`,children:T}),t[18]=T,t[19]=k),k}function B(e){return(0,I.jsx)(S,{value:e,children:o(e)},e)}function V(e){let[t,n]=e;return(0,I.jsxs)(`div`,{children:[(0,I.jsx)(`div`,{className:p(a.dropdownGroupHeading,`px-2 py-1.5 uppercase`),children:t}),n.map(e=>{let n=d({provider:e.provider??t,model:e.id});return(0,I.jsx)(S,{value:n,children:w(e.id)},n)})]},t)}function H(e){return[...e].sort((e,t)=>{let n=(e.provider??``).localeCompare(t.provider??``);return n===0?w(e.id).localeCompare(w(t.id)):n})}function U(){let[e,t]=(0,P.useState)({}),[n,r]=(0,P.useState)({}),[a,o]=(0,P.useState)([]),[s,c]=(0,P.useState)(!0),[l,u]=(0,P.useState)(!1),d=(0,P.useCallback)(async()=>{c(!0);try{let[e,n]=await Promise.all([h(),_().catch(()=>({}))]),i=e.modelAliases??{};o(H(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,P.useEffect)(()=>{d()},[d]);let f=N(`model-aliases`,[s]);function p(){return JSON.stringify(e)!==JSON.stringify(n)}async function x(){if(p()){u(!0);try{let t=Object.keys(e).length>0?e:void 0;if(t){let e=await _();i(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(A)),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,I.jsx)(b,{loading:f,children:(0,I.jsxs)(T,{className:`shrink-0`,children:[(0,I.jsx)(k,{title:`Model Aliases`,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,I.jsx)(m,{onClick:()=>void x(),disabled:s||l||!p(),children:`Save`}),sticky:!1}),(0,I.jsx)(y,{className:`max-w-none pt-6`,children:(0,I.jsx)(z,{value:e,onChange:t,enabledModels:a,disabled:s||l})})]})})}export{U as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{St as a}from"./dist-DNkA3vYh.js";import{r as o}from"./store-B7EgrEO7.js";import{Ot as s,dt as c}from"./lucide-react-B-115rul.js";import{t as l}from"./button-B5aMz2Rk.js";import{i as u,n as d,r as f,t as ee}from"./tooltip-Dvmz78Z_.js";import{Jn as p,Kr as m,Yn as h,bt as g,xn as _,xt as v}from"./api-OO3KSG8d.js";import{$n as y,At as b,B as x,Et as te,Nt as ne,Ot as re,St as ie,Tr as ae,bt as oe,kt as se,m as ce}from"./index-DD_a7tQU.js";import{a as S,n as C,r as w,t as le}from"./context-menu-BKOotkeD.js";import{t as ue}from"./use-settings-page-loading-BTySlInF.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 g(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 v(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 pe(e,t,n){t!==n&&await _(e,`AGENTS.md`,t)}async function j(e,t,n){t!==n&&await p(e,{projectIcon:t})}async function me(e,t,n,r,i,a){n.setSaving(!0);try{await A(e,t.name,t.originalName),await pe(e,t.instructions,t.originalInstructions),await j(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 he(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)(C,{children:(0,D.jsx)(w,{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)(le,{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 ge(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 _e(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 M(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,ce]=(0,E.useState)(``),[S,C]=(0,E.useState)(null),[w,le]=(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:ce,setOriginalInstructions:m,setOriginalProjectIcon:le,setLoading:v,setSaving:g},t[2]=A):A=t[2];let pe=A,j;t[3]===n?j=t[4]:(j=()=>fe(n,pe),t[3]=n,t[4]=j);let M=j,N,P;t[5]===n?(N=t[6],P=t[7]):(N=()=>{n&&v(!0)},P=[n],t[5]=n,t[6]=N,t[7]=P),(0,E.useLayoutEffect)(N,P);let F,I;t[8]===M?(F=t[9],I=t[10]):(F=()=>{M()},I=[M],t[8]=M,t[9]=F,t[10]=I),(0,E.useEffect)(F,I);let L;t[11]===_?L=t[12]:(L=[_],t[11]=_,t[12]=L);let R=ue(n,L),{handleProjectIconChange:z,handleProjectIconButtonClick:B}=_e(C,de,k),V;t[13]!==f||t[14]!==M||t[15]!==u||t[16]!==s||t[17]!==r||t[18]!==p||t[19]!==y||t[20]!==w||t[21]!==S||t[22]!==n?(V=async()=>{n&&await me(n,{name:u,instructions:f,projectIcon:S,originalName:y,originalInstructions:p,originalProjectIcon:w},pe,r,s,M)},t[13]=f,t[14]=M,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]=V):V=t[23];let H=V,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)(se,{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]!==H||t[26]!==h||t[27]!==ye?(W=(0,D.jsx)(ie,{title:`Project Settings`,description:`Configure settings for your project.`,action:(0,D.jsx)(ge,{saving:h,disabled:ye,onClick:H}),sticky:!1}),t[25]=H,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]!==B||t[32]!==z||t[33]!==l||t[34]!==S?(K=(0,D.jsx)(`div`,{className:`flex justify-center`,children:(0,D.jsx)(he,{projectIcon:S,entityNoun:l,disabled:U,inputRef:k,onFileChange:z,onButtonClick:B,onRemove:G})}),t[30]=U,t[31]=B,t[32]=z,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)(oe,{title:`Name`,controlLayout:`stack`,children:(0,D.jsx)(ae,{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)(oe,{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)(b,{className:`max-w-none pt-6`,children:(0,D.jsxs)(re,{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)(ne,{className:`shrink-0`,children:[W,Z]}),t[48]=W,t[49]=Z,t[50]=Q):Q=t[50];let $;return t[51]!==R||t[52]!==n||t[53]!==Q?($=(0,D.jsx)(te,{loading:R,children:Q},n),t[51]=R,t[52]=n,t[53]=Q,t[54]=$):$=t[54],$}export{M as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{Ct as a,Ft as o,St as s,Tt as c,bt as l,wt as u,xt as d}from"./dist-DNkA3vYh.js";import{t as f}from"./utils-B-qS8qMg.js";import{dt as p}from"./lucide-react-B-115rul.js";import{t as m}from"./button-B5aMz2Rk.js";import{Jn as h,bt as g}from"./api-OO3KSG8d.js";import{$n as _,At as v,Et as y,Nt as b,St as x,bt as S,kt as C,ut as w}from"./index-DD_a7tQU.js";import{t as T}from"./use-settings-page-loading-BTySlInF.js";var E=e(n(),1),D=t(),O=r(),k=c(),A=Math.ceil(k.length/2),j=[k.slice(0,A),k.slice(A)];function M(e){let t=(0,D.c)(14),{tool:n,enabled:r,disabled:i,onToggle:a}=e,s;t[0]!==a||t[1]!==n.name?(s=e=>a(n.name,e),t[0]=a,t[1]=n.name,t[2]=s):s=t[2];let c;t[3]!==i||t[4]!==r||t[5]!==s||t[6]!==n.displayName?(c=(0,O.jsx)(w,{value:r,onChange:s,disabled:i,ariaLabel:n.displayName}),t[3]=i,t[4]=r,t[5]=s,t[6]=n.displayName,t[7]=c):c=t[7];let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=f(o.body,`truncate`),t[8]=l):l=t[8];let u;t[9]===n.displayName?u=t[10]:(u=(0,O.jsx)(`span`,{className:l,children:n.displayName}),t[9]=n.displayName,t[10]=u);let d;return t[11]!==c||t[12]!==u?(d=(0,O.jsxs)(`div`,{className:`grid min-h-10 grid-cols-[auto_minmax(0,1fr)] items-center gap-3 px-3 py-2`,children:[c,u]}),t[11]=c,t[12]=u,t[13]=d):d=t[13],d}function N(e,t,n){return!t.includes(e)&&!n.has(e)}function P(e,t,n,r){return t||n.has(e)||r.has(e)}function F(e){let t=(0,D.c)(15),{tools:n,disabledTools:r,disabled:i,forceEnabledTools:a,forceDisabledTools:o,onToggle:s}=e,c;if(t[0]!==i||t[1]!==r||t[2]!==o||t[3]!==a||t[4]!==s||t[5]!==n){let e;t[7]!==i||t[8]!==r||t[9]!==o||t[10]!==a||t[11]!==s?(e=e=>(0,O.jsx)(M,{tool:e,enabled:N(e.name,r,o),disabled:P(e.name,i,a,o),onToggle:s},e.name),t[7]=i,t[8]=r,t[9]=o,t[10]=a,t[11]=s,t[12]=e):e=t[12],c=n.map(e),t[0]=i,t[1]=r,t[2]=o,t[3]=a,t[4]=s,t[5]=n,t[6]=c}else c=t[6];let l;return t[13]===c?l=t[14]:(l=(0,O.jsx)(`div`,{className:`divide-y divide-table-border`,children:c}),t[13]=c,t[14]=l),l}function I(e){let t=(0,D.c)(24),{disabledTools:n,onChange:r,disabled:i,forceEnabledTools:a,forceDisabledTools:o}=e,s=i===void 0?!1:i,c,l,u,d,f;t[0]!==s||t[1]!==n||t[2]!==o||t[3]!==a||t[4]!==r?(l=new Set((a??[]).map(R)),c=new Set((o??[]).map(L)),u=function(e,t){let i=e.toLowerCase();if(!(l.has(i)&&!t)&&!(c.has(i)&&t)){if(t){r(n.filter(e=>e!==i));return}n.includes(i)||r([...n,i].sort())}},d=`divide-y divide-table-border @md/settings-page:hidden`,f=k.map(e=>(0,O.jsx)(M,{tool:e,enabled:N(e.name,n,c),disabled:P(e.name,s,l,c),onToggle:u},e.name)),t[0]=s,t[1]=n,t[2]=o,t[3]=a,t[4]=r,t[5]=c,t[6]=l,t[7]=u,t[8]=d,t[9]=f):(c=t[5],l=t[6],u=t[7],d=t[8],f=t[9]);let p;t[10]!==d||t[11]!==f?(p=(0,O.jsx)(`div`,{className:d,children:f}),t[10]=d,t[11]=f,t[12]=p):p=t[12];let m;t[13]!==s||t[14]!==n||t[15]!==c||t[16]!==l||t[17]!==u?(m=j.map((e,t)=>(0,O.jsx)(F,{tools:e,disabledTools:n,disabled:s,forceEnabledTools:l,forceDisabledTools:c,onToggle:u},t)),t[13]=s,t[14]=n,t[15]=c,t[16]=l,t[17]=u,t[18]=m):m=t[18];let h;t[19]===m?h=t[20]:(h=(0,O.jsx)(`div`,{className:`hidden @md/settings-page:grid @md/settings-page:grid-cols-2 divide-x divide-table-border`,children:m}),t[19]=m,t[20]=h);let g;return t[21]!==p||t[22]!==h?(g=(0,O.jsxs)(O.Fragment,{children:[p,h]}),t[21]=p,t[22]=h,t[23]=g):g=t[23],g}function L(e){return e.toLowerCase()}function R(e){return e.toLowerCase()}function z({projectId:e,onProjectUpdated:t}){let n=i(),[r,o]=(0,E.useState)([]),[c,f]=(0,E.useState)([]),[D,k]=(0,E.useState)(!1),[A,j]=(0,E.useState)(!1),[M,N]=(0,E.useState)(!0),[P,F]=(0,E.useState)(!1),[L,R]=(0,E.useState)(!1),[z,B]=(0,E.useState)(!1),V=(0,E.useCallback)(async()=>{if(!e){N(!1);return}N(!0);try{let t=await g(e),n=u(t),r=t.smartJsEnabled===!0;o(n),f(n),k(r),j(r),R(s(t)),B(a(t))}catch(e){_({title:`Error`,description:e instanceof Error?e.message:`Failed to load tools settings`,variant:`destructive`})}finally{N(!1)}},[e]);(0,E.useLayoutEffect)(()=>{e&&N(!0)},[e]),(0,E.useEffect)(()=>{V()},[V]);let H=T(e,[M]);function U(){return JSON.stringify([...r].sort())!==JSON.stringify([...c].sort())}function W(){return U()||D!==A}async function G(){if(!(!e||!W())){F(!0);try{let i={};U()&&(i.disabledTools=z?u({type:l,disabledTools:r}):r),D!==A&&(i.smartJsEnabled=D),await h(e,i),f(r),j(D),t&&await t(),await V(),n(`/`)}catch(e){_({title:`Error`,description:e instanceof Error?e.message:`Failed to save tools settings`,variant:`destructive`})}finally{F(!1)}}}function K(e){k(e),e&&o(e=>e.filter(e=>e!==`run_js`))}return e?(0,O.jsx)(y,{loading:H,children:(0,O.jsxs)(b,{className:`shrink-0`,children:[(0,O.jsx)(x,{title:`Tools`,description:`Control which tools the agent can use in this project. Disabled tools are hidden from the agent.`,action:(0,O.jsx)(m,{onClick:()=>void G(),disabled:P||M||L||!W(),children:P?(0,O.jsxs)(O.Fragment,{children:[(0,O.jsx)(p,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`}),sticky:!1}),(0,O.jsxs)(v,{className:`max-w-none pt-6`,children:[(0,O.jsx)(S,{title:`Smart JS`,description:`When enabled, the agent orchestrates tools by writing JavaScript for Run JS (except Ask, Write, and Subagent). Other tools stay available through callTool inside the worker.`,controlLayout:`row-end`,action:(0,O.jsx)(w,{value:D,onChange:K,disabled:M||P||L,ariaLabel:`Smart JS`})}),(0,O.jsx)(`div`,{className:`mt-8`,children:(0,O.jsx)(I,{disabledTools:r,onChange:o,disabled:M||P||L,forceEnabledTools:D?[`run_js`]:void 0,forceDisabledTools:z?[...d]:void 0})})]})]})}):(0,O.jsx)(C,{title:`No project selected`,children:`Please select a project from the sidebar to configure tools.`})}export{z as default};
|
|
@@ -0,0 +1 @@
|
|
|
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{Ft as o,N as s,Pt as c,dt as l}from"./dist-DNkA3vYh.js";import{et as u,n as d}from"./store-B7EgrEO7.js";import{r as f,t as p}from"./utils-B-qS8qMg.js";import{A as m,I as h,Kt as g,dt as _,gt as v,mn as y,qt as b,r as x}from"./lucide-react-B-115rul.js";import{r as S,t as C}from"./button-B5aMz2Rk.js";import{i as w,n as ee,r as T,t as E}from"./tooltip-Dvmz78Z_.js";import{B as D,Cn as te,G as ne,L as re,Ot as ie,R as ae,V as oe,W as se,cn as ce,jt as O,tt as k,wn as le}from"./api-OO3KSG8d.js";import{t as ue}from"./progress-indicator-C01aPXIe.js";import{n as A}from"./suspense-resource-DzlMlIgR.js";import{At as j,Dt as M,Ht as N,Nn as P,Nt as F,Ot as I,Qn as L,St as R,Tr as z,dr as de,fr as B,ft as fe,ht as pe,kt as me,lr as he,mt as ge,ur as _e,ut as V,vt as H,xt as U}from"./index-DD_a7tQU.js";import{t as W}from"./async-error-boundary-Dll_zcqr.js";import{t as G}from"./sorting-DqwxPMRN.js";import{t as K}from"./pending-changes-Bn-0ak1d.js";import{a as q}from"./settings-list-Dn4CHP4Z.js";import{t as J}from"./use-deferred-search-Dgxosq55.js";import{n as Y,r as X,t as ve}from"./model-list-controls-DAZM0NBC.js";var Z=t(),Q=e(n(),1),$=r(),ye=S(p(o.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}var xe=s(`app.use-provider-details.hook`);function Se(e,t,n){return n?e.find(e=>e.slug===n)??null:t?e.find(e=>e.name===t)??null:null}function Ce({selectedProviderName:e=null,selectedProviderSlug:t=null,providerData:n}){let r=d(),[i,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(``),[c,f]=(0,Q.useState)(!1),[p,m]=(0,Q.useState)(null),[h,g]=(0,Q.useState)(``),[_,v]=(0,Q.useState)([]),[y,b]=(0,Q.useState)(new Set),[x,S]=(0,Q.useState)(new Set),[C,w]=(0,Q.useState)(new Map),{query:ee,setQuery:T,deferredQuery:E}=J(),[k,ue]=(0,Q.useState)(`alphabetical`),[A,j]=(0,Q.useState)(`all`),[M,F]=(0,Q.useState)(!1),[I,L]=(0,Q.useState)(``),[R,z]=(0,Q.useState)(``),[de,B]=(0,Q.useState)(``),[fe,pe]=(0,Q.useState)(`coding`),[me,he]=(0,Q.useState)([]),[_e,V]=(0,Q.useState)(new Set),[H,U]=(0,Q.useState)(new Set),[W,q]=(0,Q.useState)(new Map),[Y,X]=(0,Q.useState)({}),ve=e=>P(e.id);(0,Q.useEffect)(()=>{(async()=>{if(g(``),n&&(t&&n.slug===t||e&&n.name===e)){a(n),B(n.apiKey??``),s(n.apiKey??``),X(n.envValues??{}),be(n.slug),Z(n.slug);return}try{let n=Se(await O(),e,t);a(n),B(n?.apiKey??``),s(n?.apiKey??``),X(n?.envValues??{}),n&&(be(n.slug),Z(n.slug))}catch(e){g(e instanceof Error?e.message:`Failed to load providers`)}})()},[e,t,n]);let Z=async e=>{m(null);try{let t=await ie(e);t.status===`success`&&m(t.balance)}catch(t){xe.error(`Failed to load balance for ${e}:`,t)}};function $(){v([]),he([]),b(new Set),S(new Set),V(new Set),U(new Set),w(new Map),q(new Map)}function ye(e){return e instanceof Error?e.message:`Failed to load models from local API`}let be=async e=>{f(!0),z(``),T(``),ue(`alphabetical`),j(`all`),pe(`coding`);try{let[t,n]=await Promise.all([ne(e),se(e)]);v(t.models),he(n.models);let r=new Set(t.enabledModelIds);b(r),S(r);let i=new Set(n.enabledModelIds);V(i),U(i),w(new Map),q(new Map)}catch(t){xe.error(`Failed to load models for ${e}:`,t),$(),z(ye(t))}finally{f(!1)}};async function Ce(e){f(!0),z(``);try{await ce(e),await be(e),r({type:u.ConfigUpdated})}catch(t){xe.error(`Failed to refresh models for ${e}:`,t),$(),z(ye(t)),f(!1)}}let we=(e,t)=>{i?.name===e&&(s(t),Ee(t))},Te=(e,t)=>{X(n=>({...n,[e]:t})),i&&(async()=>{try{await te({[e]:t}),r({type:u.ConfigUpdated}),L(`${ge(e)} saved successfully`),setTimeout(()=>L(``),3e3)}catch(e){L(e instanceof Error?e.message:`Failed to save provider settings`);return}l(i.slug)&&e===`LOCAL_API_URL`&&t.trim()&&await Ce(i.slug)})()},Ee=async e=>{if(!(!i||e===de))try{await le(i.slug,e),r({type:u.ConfigUpdated}),B(e),L(`API key saved successfully`),setTimeout(()=>L(``),3e3)}catch(e){L(e instanceof Error?e.message:`Failed to save API key`)}},De=(e,t)=>{t===`image`?q(t=>{let n=new Map(t),r=_e.has(e),i=n.has(e),a=n.get(e),o=!(i?a:r);return o===r?n.delete(e):n.set(e,o),Oe(e,(n.has(e)?n.get(e):r)??!1,`image`),n}):w(t=>{let n=K(t,e,y);return Oe(e,(n.has(e)?n.get(e):y.has(e))??!1,`coding`),n})},Oe=async(e,t,n=`coding`)=>{if(i)try{n===`image`?(t?(await D(i.slug,e),V(t=>new Set([...t,e]))):(await re(i.slug,e),V(t=>{let n=new Set(t);return n.delete(e),n})),q(t=>{let n=new Map(t);return n.delete(e),n})):(t?(await oe(i.slug,e),b(t=>new Set([...t,e]))):(await ae(i.slug,e),b(t=>{let n=new Set(t);return n.delete(e),n})),w(t=>{let n=new Map(t);return n.delete(e),n}),N()),r({type:u.ConfigUpdated}),L(`Model preferences saved successfully`),setTimeout(()=>L(``),3e3)}catch(e){L(e instanceof Error?e.message:`Failed to save model changes`)}};async function ke(e,t=`coding`){let n=t===`image`?me:_,r=t===`image`?_e:y;(t===`image`?q:w)(t=>{let i=new Map(t);for(let t of n)r.has(t.id)===e?i.delete(t.id):i.set(t.id,e);return i});for(let i of n)r.has(i.id)!==e&&await Oe(i.id,e,t)}let Ae=o!==void 0&&o.trim().length>0;return{selectedProvider:i,error:h,balance:p,displayApiKey:o,showApiKey:M,setShowApiKey:F,providerEnvValues:Y,modelsLoading:c,modelsError:R,saveStatus:I,modelTab:fe,setModelTab:pe,modelSearchQuery:ee,setModelSearchQuery:T,modelSortBy:k,setModelSortBy:ue,modelFilter:A,setModelFilter:j,availableModels:_,enabledModelIds:y,pendingChanges:C,filteredAndSortedModels:(0,Q.useMemo)(()=>G({models:_,query:E,sortBy:k,getDisplayName:ve,freeOnly:A===`free`,groupByProvider:!0,getPriority:e=>+!x.has(e.id)}),[_,E,A,x,k,ve]),availableImageModels:me,enabledImageModelIds:_e,pendingImageChanges:W,filteredAndSortedImageModels:(0,Q.useMemo)(()=>G({models:me,query:E,sortBy:k===`coding-index`||k===`intelligence-by-price`?`alphabetical`:k,getDisplayName:ve,freeOnly:A===`free`,groupByProvider:!0,getPriority:e=>+!H.has(e.id)}),[me,E,A,H,k,ve]),hasApiKey:Ae,getModelDisplayName:ve,handleUpdateKeyLocal:we,handleUpdateProviderEnv:Te,refreshLocalProviderModels:Ce,handleToggleModel:De,handleToggleAllModels:ke}}function we(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)(fe,{url:n.url,className:p(o.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 s;return t[4]!==i||t[5]!==a?(s=(0,$.jsxs)(`div`,{className:`flex items-center gap-2`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=s):s=t[6],s}function Te(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(o.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 s;return t[4]===a?s=t[5]:(s=(0,$.jsxs)(`span`,{className:r,children:[i,`$`,a,` balance`]}),t[4]=a,t[5]=s),s}function Ee(e){let t=(0,Z.c)(8),{title:n,tooltip:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=p(o.label,`cursor-help`),t[0]=i):i=t[0];let a;t[1]===n?a=t[2]:(a=(0,$.jsx)(w,{asChild:!0,children:(0,$.jsx)(`span`,{className:i,children:n})}),t[1]=n,t[2]=a);let s;t[3]===r?s=t[4]:(s=(0,$.jsx)(ee,{children:r}),t[3]=r,t[4]=s);let c;return t[5]!==a||t[6]!==s?(c=(0,$.jsx)(T,{children:(0,$.jsxs)(E,{children:[a,s]})}),t[5]=a,t[6]=s,t[7]=c):c=t[7],c}function De(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)(I,{children:[(0,$.jsx)(M,{label:(0,$.jsx)(Ee,{title:`API Key`,tooltip:`Your API key is stored locally and never shared.`}),control:(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(v,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`}),(0,$.jsx)(z,{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)(g,{className:`h-4 w-4 text-muted-foreground`})})]})}),pe(n).map(e=>(0,$.jsx)(M,{label:(0,$.jsx)(Ee,{title:ge(e),tooltip:e}),control:l(n.slug)&&e===`LOCAL_API_URL`?(0,$.jsxs)(`div`,{className:`relative`,children:[(0,$.jsx)(z,{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)(T,{children:(0,$.jsxs)(E,{children:[(0,$.jsx)(w,{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)(_,{className:`h-4 w-4 animate-spin text-muted-foreground`}):(0,$.jsx)(h,{className:`h-4 w-4 text-muted-foreground`})})}),(0,$.jsx)(ee,{children:`Refresh models`})]})})]}):(0,$.jsx)(z,{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)(U,{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 Oe(e){let t=(0,Z.c)(23),{tab:n,model:r,displayName:i,willBeEnabled:a,hasApiKey:s,showStarRating:c,onToggle:l}=e,u=r.pricing,d=n===`image`?`image-${r.id}`:r.id,m=r.id,h=!s&&`opacity-25`,g;t[0]===h?g=t[1]:(g=p(`flex cursor-default items-center space-x-3 px-3 py-2 transition-colors hover:bg-muted/30`,h),t[0]=h,t[1]=g);let _=!s,v=a??!1,y;t[2]!==r.id||t[3]!==l?(y=()=>l(r.id),t[2]=r.id,t[3]=l,t[4]=y):y=t[4];let b=`${i} ${a?`enabled`:`disabled`}`,x;t[5]!==d||t[6]!==_||t[7]!==v||t[8]!==y||t[9]!==b?(x=(0,$.jsx)(V,{id:d,disabled:_,value:v,onChange:y,ariaLabel:b}),t[5]=d,t[6]=_,t[7]=v,t[8]=y,t[9]=b,t[10]=x):x=t[10];let S;t[11]!==d||t[12]!==i||t[13]!==r.coding_index||t[14]!==u||t[15]!==c||t[16]!==n?(S=n===`coding`?(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:d,className:p(o.body,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),children:i})}),(0,$.jsxs)(`div`,{className:`flex items-center gap-2 flex-shrink-0`,children:[c&&(0,$.jsx)(X,{codingIndex:r.coding_index,modelName:i}),u&&(0,$.jsx)(`span`,{className:p(o.caption,`whitespace-nowrap`),children:(u.prompt??0)===0&&(u.completion??0)===0?``:`$${f(u.prompt??0)} in | $${f(u.completion??0)} out`})]})]}):(0,$.jsxs)(`div`,{className:`flex-1 flex items-center justify-between gap-3 leading-none`,children:[(0,$.jsx)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:(0,$.jsx)(`label`,{htmlFor:d,className:p(o.label,`leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer truncate`),children:i})}),u&&(0,$.jsx)(`span`,{className:p(o.caption,`whitespace-nowrap flex-shrink-0`),children:(u.prompt??0)===0&&(u.completion??0)===0?``:`$${f(u.prompt??0)} in | $${f(u.completion??0)} out`})]}),t[11]=d,t[12]=i,t[13]=r.coding_index,t[14]=u,t[15]=c,t[16]=n,t[17]=S):S=t[17];let C;return t[18]!==r.id||t[19]!==g||t[20]!==x||t[21]!==S?(C=(0,$.jsxs)(`div`,{className:g,children:[x,S]},m),t[18]=r.id,t[19]=g,t[20]=x,t[21]=S,t[22]=C):C=t[22],C}function ke(e){let t=(0,Z.c)(13),{tab:n,models:r,filteredModels:i,modelsLoading:a,modelsError:s,hasApiKey:l,enabledModelIds:u,pendingChanges:d,modelSortBy:f,getModelDisplayName:m,onToggleModel:h}=e,g=n===`coding`,v=g?s?`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]!==g||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)(_,{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:o.bodyMuted,children:v})}):(0,$.jsx)(T,{children:(0,$.jsx)(`div`,{className:p(`grid grid-cols-1 gap-0`,c.tableWrapper),children:i.length===0?(0,$.jsx)(`div`,{className:`text-center py-8`,children:(0,$.jsx)(`p`,{className:o.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)(Oe,{tab:n,model:e,displayName:m(e),willBeEnabled:a,hasApiKey:l,showStarRating:g&&(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]=g,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 Ae(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:h}=e,g=n===`coding`,_=g?`select-all-models`:`select-all-image-models`,v=!i&&a.length>0,y=v&&!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)(de,{className:`w-fit shrink-0 self-start`,children:[(0,$.jsx)(B,{value:`coding`,children:`Coding`}),(0,$.jsx)(B,{value:`image`,children:`Image`})]}):null,t[2]=r,t[3]=x);let S;t[4]!==s||t[5]!==o||t[6]!==g||t[7]!==l||t[8]!==d||t[9]!==a||t[10]!==u||t[11]!==f||t[12]!==h||t[13]!==c||t[14]!==_||t[15]!==v||t[16]!==n?(S=v?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`relative w-full md:w-52 flex-shrink-0`,children:[(0,$.jsx)(m,{className:`absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground pointer-events-none`}),(0,$.jsx)(z,{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:_,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=>{h(e,n)}}),(0,$.jsx)(Y,{sortBy:d,showCodingIndex:g,showIntelligenceByPrice:g,onSortByChange:f})]})]}):null,t[4]=s,t[5]=o,t[6]=g,t[7]=l,t[8]=d,t[9]=a,t[10]=u,t[11]=f,t[12]=h,t[13]=c,t[14]=_,t[15]=v,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 je(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)(R,{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)(F,{className:`shrink-0`,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function Me(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:w,modelSearchQuery:ee,setModelSearchQuery:T,modelSortBy:E,setModelSortBy:D,availableModels:te,enabledModelIds:ne,pendingChanges:re,filteredAndSortedModels:ie,availableImageModels:ae,enabledImageModelIds:oe,pendingImageChanges:se,filteredAndSortedImageModels:ce,hasApiKey:O,getModelDisplayName:k,handleUpdateKeyLocal:le,handleUpdateProviderEnv:ue,refreshLocalProviderModels:A,handleToggleModel:j,handleToggleAllModels:M}=Ce(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)(U,{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:Ne,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)(me,{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 N;t[23]===o?N=t[24]:(N=p(`h-full min-h-0`,o),t[23]=o,t[24]=N);let P;t[25]!==a||t[26]!==u?(P=(0,$.jsx)(we,{provider:u,onBack:a}),t[25]=a,t[26]=u,t[27]=P):P=t[27];let F;t[28]!==g||t[29]!==h?(F=()=>g(!h),t[28]=g,t[29]=h,t[30]=F):F=t[30];let I;t[31]!==m||t[32]!==le||t[33]!==ue||t[34]!==v||t[35]!==_||t[36]!==A||t[37]!==u||t[38]!==h||t[39]!==F?(I=(0,$.jsx)(`div`,{className:`pt-6`,children:(0,$.jsx)(De,{provider:u,displayApiKey:m,showApiKey:h,onToggleShowApiKey:F,onUpdateKey:le,providerEnvValues:_,onUpdateEnv:ue,modelsLoading:v,onRefreshModels:A})}),t[31]=m,t[32]=le,t[33]=ue,t[34]=v,t[35]=_,t[36]=A,t[37]=u,t[38]=h,t[39]=F,t[40]=I):I=t[40];let L;t[41]!==u.name||t[42]!==P||t[43]!==I?(L=(0,$.jsx)(je,{title:u.name,description:`Configure API keys and connection settings for this provider.`,action:P,children:I}),t[41]=u.name,t[42]=P,t[43]=I,t[44]=L):L=t[44];let R;t[45]!==T||t[46]!==D||t[47]!==w?(R=e=>{w(e),T(``),D(`alphabetical`)},t[45]=T,t[46]=D,t[47]=w,t[48]=R):R=t[48];let z;t[49]===f?z=t[50]:(z=(0,$.jsx)(Te,{balance:f}),t[49]=f,t[50]=z);let de;t[51]===u.name?de=t[52]:(de=u.name.toLowerCase(),t[51]=u.name,t[52]=de);let B=de===`openrouter`,fe=S===`coding`?te:ae,pe=S===`coding`?ne:oe,ge=S===`coding`?re:se,V;t[53]!==M||t[54]!==O||t[55]!==ee||t[56]!==E||t[57]!==S||t[58]!==v||t[59]!==T||t[60]!==D||t[61]!==B||t[62]!==fe||t[63]!==pe||t[64]!==ge?(V=(0,$.jsx)(Ae,{tab:S,showImageTab:B,modelsLoading:v,models:fe,hasApiKey:O,enabledModelIds:pe,pendingChanges:ge,modelSearchQuery:ee,onModelSearchQueryChange:T,modelSortBy:E,onModelSortByChange:D,onToggleAllModels:M}),t[53]=M,t[54]=O,t[55]=ee,t[56]=E,t[57]=S,t[58]=v,t[59]=T,t[60]=D,t[61]=B,t[62]=fe,t[63]=pe,t[64]=ge,t[65]=V):V=t[65];let H;t[66]===b?H=t[67]:(H=b?(0,$.jsx)(U,{variant:`error`,className:`mb-4`,children:b}):null,t[66]=b,t[67]=H);let W;t[68]!==te||t[69]!==ne||t[70]!==ie||t[71]!==k||t[72]!==j||t[73]!==O||t[74]!==E||t[75]!==b||t[76]!==v||t[77]!==re||t[78]!==u?(W=(0,$.jsx)(_e,{value:`coding`,children:(0,$.jsx)(ke,{tab:`coding`,provider:u,models:te,filteredModels:ie,modelsLoading:v,modelsError:b,hasApiKey:O,enabledModelIds:ne,pendingChanges:re,modelSortBy:E,getModelDisplayName:k,onToggleModel:j})}),t[68]=te,t[69]=ne,t[70]=ie,t[71]=k,t[72]=j,t[73]=O,t[74]=E,t[75]=b,t[76]=v,t[77]=re,t[78]=u,t[79]=W):W=t[79];let G;t[80]!==ae||t[81]!==oe||t[82]!==ce||t[83]!==k||t[84]!==j||t[85]!==O||t[86]!==E||t[87]!==b||t[88]!==v||t[89]!==se||t[90]!==u?(G=(0,$.jsx)(_e,{value:`image`,children:(0,$.jsx)(ke,{tab:`image`,provider:u,models:ae,filteredModels:ce,modelsLoading:v,modelsError:b,hasApiKey:O,enabledModelIds:oe,pendingChanges:se,modelSortBy:E,getModelDisplayName:k,onToggleModel:j})}),t[80]=ae,t[81]=oe,t[82]=ce,t[83]=k,t[84]=j,t[85]=O,t[86]=E,t[87]=b,t[88]=v,t[89]=se,t[90]=u,t[91]=G):G=t[91];let K;t[92]===x?K=t[93]:(K=x?(0,$.jsx)(U,{variant:x.includes(`error`)||x.includes(`Failed`)?`error`:`success`,className:`mt-4`,children:x}):null,t[92]=x,t[93]=K);let q;t[94]!==z||t[95]!==V||t[96]!==H||t[97]!==W||t[98]!==G||t[99]!==K?(q=(0,$.jsxs)(je,{title:`Models`,description:`Enable coding and image models for this provider.`,action:z,tableHeader:V,children:[H,W,G,K]}),t[94]=z,t[95]=V,t[96]=H,t[97]=W,t[98]=G,t[99]=K,t[100]=q):q=t[100];let J;t[101]!==S||t[102]!==q||t[103]!==R?(J=(0,$.jsx)(he,{value:S,onValueChange:R,children:q}),t[101]=S,t[102]=q,t[103]=R,t[104]=J):J=t[104];let Y;t[105]!==J||t[106]!==L?(Y=(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:[L,J]})}),t[105]=J,t[106]=L,t[107]=Y):Y=t[107];let X;return t[108]!==Y||t[109]!==N?(X=(0,$.jsx)(`div`,{className:N,children:Y}),t[108]=Y,t[109]=N,t[110]=X):X=t[110],X}function Ne(){return window.location.reload()}function Pe(e){return`providers:list:${e}`}async function Fe(){let[e,t]=await Promise.all([O(),k().catch(()=>({}))]),n={};for(let[e,r]of Object.entries(t))n[e]=r.length;return{providers:e,enabledModelCounts:n}}var Ie=`grid min-h-10 grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-2 hover:bg-muted/30 cursor-pointer`,Le=`[&>*+*]:border-t [&>*+*]:border-table-border`;function Re(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)(R,{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)(j,{className:`pt-6`,children:a}),t[4]=a,t[5]=s);let c;return t[6]!==o||t[7]!==s?(c=(0,$.jsxs)(F,{className:`shrink-0`,children:[o,s]}),t[6]=o,t[7]=s,t[8]=c):c=t[8],c}function ze(e){let t=(0,Z.c)(33),{loadVersion:n,onProviderClick:r}=e,{query:i,setQuery:a,deferredQuery:s}=J(),c;t[0]===n?c=t[1]:(c=Pe(n),t[0]=n,t[1]=c);let{providers:l,enabledModelCounts:u}=L(c,Fe),d;if(t[2]!==s||t[3]!==u||t[4]!==l){let e;t[6]===s?e=t[7]:(e=e=>{let t=s.toLowerCase();return e.name.toLowerCase().includes(t)},t[6]=s,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(He).filter(e).sort(n),t[2]=s,t[3]=u,t[4]=l,t[5]=d}else d=t[5];let f=d,m;if(t[10]!==s||t[11]!==l){let e;t[13]===s?e=t[14]:(e=e=>{let t=s.toLowerCase();return e.name.toLowerCase().includes(t)},t[13]=s,t[14]=e),m=l.filter(Ve).filter(e).sort(Be),t[10]=s,t[11]=l,t[12]=m}else m=t[12];let h=m,g;t[15]!==i||t[16]!==a?(g=(0,$.jsx)(q,{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(o.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:Le,children:f.map(e=>(0,$.jsx)(Ye,{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)(Re,{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)(Re,{title:`Available Providers`,description:`Connect additional providers by adding your API key.`,children:h.length===0?(0,$.jsx)(`p`,{className:p(o.bodyMuted,`py-4`),children:i?`No available providers match your search.`:`All providers are connected.`}):(0,$.jsx)(`div`,{className:Le,children:h.map(e=>(0,$.jsx)(Xe,{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 Be(e,t){return e.name.localeCompare(t.name)}function Ve(e){return!e.apiKey}function He(e){return e.apiKey}function Ue(){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&&(A(Pe(r)),o(qe)),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`),A(Pe(r)),o(Ke)},e[6]=r,e[7]=t,e[8]=f):f=e[8];let p=f,m;e[9]===r?m=e[10]:(m=function(){A(Pe(r)),o(Ge)},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)(Me,{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)(ue,{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)(ze,{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)(W,{fallbackTitle:`Failed to load providers`,onRetry:h,renderFallback:We,children:_})}),e[18]=h,e[19]=_,e[20]=v):v=e[20],v}function We(e,t){return(0,$.jsx)(`div`,{className:`frosted-scrollbar h-full min-h-0 overflow-auto`,children:(0,$.jsxs)(F,{className:`shrink-0`,children:[(0,$.jsx)(R,{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)(U,{variant:`error`,className:`mb-4`,children:e.message}),(0,$.jsx)(C,{variant:`outline`,size:`sm`,onClick:t,children:`Retry`})]})})]})})}function Ge(e){return e+1}function Ke(e){return e+1}function qe(e){return e+1}function Je(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}function Ye(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 s=a,c;t[3]===s?c=t[4]:(c=e=>Je(e,s),t[3]=s,t[4]=c);let l;t[5]===n?l=t[6]:(l=(0,$.jsx)(H,{provider:n}),t[5]=n,t[6]=l);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=p(o.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(o.compact,`px-2 py-0.5`),children:`Environment`}):(0,$.jsx)(be,{variant:`secondary`,className:p(o.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(o.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]!==s||t[21]!==c||t[22]!==f||t[23]!==g?(_=(0,$.jsxs)(`div`,{className:Ie,role:`button`,tabIndex:0,onClick:s,onKeyDown:c,children:[f,g]}),t[20]=s,t[21]=c,t[22]=f,t[23]=g,t[24]=_):_=t[24],_}function Xe(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,s;t[3]===a?s=t[4]:(s=e=>Je(e,a),t[3]=a,t[4]=s);let c;t[5]===n?c=t[6]:(c=(0,$.jsx)(H,{provider:n}),t[5]=n,t[6]=c);let l;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=p(o.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(o.compact,`shrink-0 text-muted-foreground`),children:`Configure`}),t[13]=f):f=t[13];let m;return t[14]!==a||t[15]!==s||t[16]!==d?(m=(0,$.jsxs)(`div`,{className:Ie,role:`button`,tabIndex:0,onClick:a,onKeyDown:s,children:[d,f]}),t[14]=a,t[15]=s,t[16]=d,t[17]=m):m=t[17],m}export{Ue as ProvidersListView,Ue as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ft as ee}from"./dist-DNkA3vYh.js";import{b as n}from"./lucide-react-B-115rul.js";import{t as r}from"./button-B5aMz2Rk.js";import{i,n as te,r as a,t as o}from"./tooltip-Dvmz78Z_.js";import{t as s}from"./progress-indicator-C01aPXIe.js";import{Ar as ne,B as re,Dr as ie,Er as c,Or as l,Tr as u,jr as d,kr as f,ut as ae,wr as p}from"./index-DD_a7tQU.js";var oe=e(),m=t();function h(e){let t=(0,oe.c)(58),{open:h,onOpenChange:g,prTitle:_,onPrTitleChange:v,prDescription:y,onPrDescriptionChange:b,isGeneratingPRInfo:x,isLoading:S,onGeneratePRInfo:C,onCreatePR:w,currentBranch:T,createWorkspaceAfterPR:E,onCreateWorkspaceAfterPRChange:D}=e,O;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,m.jsx)(d,{children:`Create Pull Request`}),t[0]=O):O=t[0];let k;t[1]===T?k=t[2]:(k=(0,m.jsxs)(ne,{children:[O,(0,m.jsxs)(l,{children:[`Create a pull request for branch `,T]})]}),t[1]=T,t[2]=k);let A;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,m.jsx)(p,{htmlFor:`pr-title`,children:`Title`}),t[3]=A):A=t[3];let j=T||`Enter PR title...`,M;t[4]===v?M=t[5]:(M=e=>v(e.target.value),t[4]=v,t[5]=M);let N;t[6]!==x||t[7]!==_||t[8]!==j||t[9]!==M?(N=(0,m.jsxs)(`div`,{className:`grid gap-2`,children:[A,(0,m.jsx)(u,{id:`pr-title`,placeholder:j,value:_,onChange:M,disabled:x})]}),t[6]=x,t[7]=_,t[8]=j,t[9]=M,t[10]=N):N=t[10];let P;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,m.jsx)(p,{htmlFor:`pr-description`,children:`Description`}),t[11]=P):P=t[11];let F;t[12]===b?F=t[13]:(F=e=>b(e.target.value),t[12]=b,t[13]=F);let I;t[14]!==x||t[15]!==y||t[16]!==F?(I=(0,m.jsx)(re,{id:`pr-description`,placeholder:`Enter PR description...`,value:y,onChange:F,disabled:x,className:`pr-10 h-full min-h-[14rem] resize-none`}),t[14]=x,t[15]=y,t[16]=F,t[17]=I):I=t[17];let L=x||S,R;t[18]===x?R=t[19]:(R=x?(0,m.jsx)(s,{}):(0,m.jsx)(n,{className:`h-3.5 w-3.5`}),t[18]=x,t[19]=R);let z;t[20]!==C||t[21]!==L||t[22]!==R?(z=(0,m.jsx)(i,{asChild:!0,children:(0,m.jsx)(r,{type:`button`,variant:`ghost`,size:`icon`,className:`absolute top-2 right-2 h-6 w-6`,onClick:C,disabled:L,children:R})}),t[20]=C,t[21]=L,t[22]=R,t[23]=z):z=t[23];let B=x?`Generating PR description...`:`Generate PR title and description with AI`,V;t[24]===B?V=t[25]:(V=(0,m.jsx)(te,{children:B}),t[24]=B,t[25]=V);let H;t[26]!==z||t[27]!==V?(H=(0,m.jsx)(a,{children:(0,m.jsxs)(o,{children:[z,V]})}),t[26]=z,t[27]=V,t[28]=H):H=t[28];let U;t[29]!==H||t[30]!==I?(U=(0,m.jsxs)(`div`,{className:`grid gap-2 flex-1 min-h-0`,children:[P,(0,m.jsxs)(`div`,{className:`relative flex-1 min-h-0`,children:[I,H]})]}),t[29]=H,t[30]=I,t[31]=U):U=t[31];let W;t[32]!==U||t[33]!==N?(W=(0,m.jsxs)(`div`,{className:`grid gap-4 py-4 flex-1 min-h-0`,children:[N,U]}),t[32]=U,t[33]=N,t[34]=W):W=t[34];let G;t[35]!==E||t[36]!==D?(G=(0,m.jsx)(ae,{value:E,onChange:D,ariaLabel:`Create a new branch`}),t[35]=E,t[36]=D,t[37]=G):G=t[37];let K;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,m.jsx)(p,{className:ee.labelNormal,children:`Create a new branch`}),t[38]=K):K=t[38];let q;t[39]===G?q=t[40]:(q=(0,m.jsxs)(`div`,{className:`mr-auto flex items-center gap-3`,children:[G,K]}),t[39]=G,t[40]=q);let J=S||x,Y;t[41]===S?Y=t[42]:(Y=S?(0,m.jsxs)(m.Fragment,{children:[`Create PR`,(0,m.jsx)(s,{size:`sm`})]}):`Create PR`,t[41]=S,t[42]=Y);let X;t[43]!==w||t[44]!==J||t[45]!==Y?(X=(0,m.jsx)(r,{className:`ml-auto`,onClick:w,disabled:J,children:Y}),t[43]=w,t[44]=J,t[45]=Y,t[46]=X):X=t[46];let Z;t[47]!==q||t[48]!==X?(Z=(0,m.jsxs)(f,{className:`w-full items-center gap-4`,children:[q,X]}),t[47]=q,t[48]=X,t[49]=Z):Z=t[49];let Q;t[50]!==W||t[51]!==k||t[52]!==Z?(Q=(0,m.jsxs)(ie,{className:`flex max-w-2xl flex-col max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 max-md:overflow-y-auto max-md:data-[state=closed]:slide-out-to-top max-md:data-[state=open]:slide-in-from-top max-md:data-[state=closed]:slide-out-to-left-0 max-md:data-[state=open]:slide-in-from-left-0 max-md:data-[state=closed]:zoom-out-100 max-md:data-[state=open]:zoom-in-100 md:h-[min(36rem,85dvh)]`,children:[k,W,Z]}),t[50]=W,t[51]=k,t[52]=Z,t[53]=Q):Q=t[53];let $;return t[54]!==g||t[55]!==h||t[56]!==Q?($=(0,m.jsx)(c,{open:h,onOpenChange:g,children:Q}),t[54]=g,t[55]=h,t[56]=Q,t[57]=$):$=t[57],$}export{h as PullRequestDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{Ft as n}from"./dist-DNkA3vYh.js";import{Et as r,Z as i,u as a}from"./lucide-react-B-115rul.js";import{t as o}from"./button-B5aMz2Rk.js";import{Ar as s,Dr as c,Er as l,Or as u,jr as d,kr as f,xt as p}from"./index-DD_a7tQU.js";var m=e(),h=t();function g(e){let t=(0,m.c)(27),{open:g,onOpenChange:_,onCommitFirst:v,onStashAndPull:y,onCancel:b,isLoading:x}=e,S=x===void 0?!1:x,C;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,h.jsxs)(s,{children:[(0,h.jsxs)(d,{className:`flex items-center gap-2`,children:[(0,h.jsx)(a,{className:`h-5 w-5 text-amber-500`}),`Uncommitted Changes Detected`]}),(0,h.jsx)(u,{children:`You have uncommitted changes. You need to handle them before pulling from the remote branch.`})]}),t[0]=C):C=t[0];let w;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,h.jsx)(`div`,{className:n.bodyMuted,children:`Choose how you want to proceed:`}),t[1]=w):w=t[1];let T;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(T=(0,h.jsx)(r,{className:`h-4 w-4 mr-2`}),t[2]=T):T=t[2];let E;t[3]!==S||t[4]!==v?(E=(0,h.jsxs)(o,{onClick:v,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[T,`Commit changes first, then pull`]}),t[3]=S,t[4]=v,t[5]=E):E=t[5];let D;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,h.jsx)(i,{className:`h-4 w-4 mr-2`}),t[6]=D):D=t[6];let O;t[7]!==S||t[8]!==y?(O=(0,h.jsxs)(o,{onClick:y,disabled:S,className:`w-full justify-start`,variant:`outline`,children:[D,`Stash changes → Pull → Restore changes`]}),t[7]=S,t[8]=y,t[9]=O):O=t[9];let k;t[10]!==E||t[11]!==O?(k=(0,h.jsxs)(`div`,{className:`space-y-2`,children:[E,O]}),t[10]=E,t[11]=O,t[12]=k):k=t[12];let A;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(A=(0,h.jsx)(`strong`,{children:`Commit first:`}),t[13]=A):A=t[13];let j;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,h.jsxs)(p,{variant:`hint`,className:`mt-4 mb-0`,children:[A,` Safe option, preserves changes in your commit history.`,(0,h.jsx)(`br`,{}),(0,h.jsx)(`strong`,{children:`Stash and pull:`}),` Temporary option, changes will be restored after pulling.`]}),t[14]=j):j=t[14];let M;t[15]===k?M=t[16]:(M=(0,h.jsx)(`div`,{className:`py-4`,children:(0,h.jsxs)(`div`,{className:`space-y-3`,children:[w,k,j]})}),t[15]=k,t[16]=M);let N;t[17]!==S||t[18]!==b?(N=(0,h.jsx)(f,{children:(0,h.jsx)(o,{variant:`ghost`,onClick:b,disabled:S,children:`Cancel`})}),t[17]=S,t[18]=b,t[19]=N):N=t[19];let P;t[20]!==M||t[21]!==N?(P=(0,h.jsxs)(c,{className:`sm:max-w-[425px]`,children:[C,M,N]}),t[20]=M,t[21]=N,t[22]=P):P=t[22];let F;return t[23]!==_||t[24]!==g||t[25]!==P?(F=(0,h.jsx)(l,{open:g,onOpenChange:_,children:P}),t[23]=_,t[24]=g,t[25]=P,t[26]=F):F=t[26],F}export{g as PullWithChangesDialog};
|
package/dist/public/assets/{push-before-pr-dialog-CarrD3y2.js → push-before-pr-dialog-Bt0BChlV.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./button-
|
|
1
|
+
import{n as e,t}from"./react-vendor-Ee0-5T4I.js";import{t as n}from"./button-B5aMz2Rk.js";import{Ar as r,Dr as i,Er as a,Or as o,jr as s,kr as c}from"./index-DD_a7tQU.js";var l=e(),u=t();function d(e){let t=(0,l.c)(15),{open:d,onOpenChange:f,isLoading:p,onPushAndCreatePR:m,onCancel:h}=e,g;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,u.jsxs)(r,{children:[(0,u.jsx)(s,{children:`Push Branch First`}),(0,u.jsx)(o,{children:`Your branch needs to be pushed to the remote before creating a pull request. Would you like to push it now?`})]}),t[0]=g):g=t[0];let _;t[1]!==p||t[2]!==h?(_=(0,u.jsx)(n,{variant:`outline`,onClick:h,disabled:p,children:`Cancel`}),t[1]=p,t[2]=h,t[3]=_):_=t[3];let v=p?`Pushing...`:`Push & Create PR`,y;t[4]!==p||t[5]!==m||t[6]!==v?(y=(0,u.jsx)(n,{onClick:m,disabled:p,children:v}),t[4]=p,t[5]=m,t[6]=v,t[7]=y):y=t[7];let b;t[8]!==_||t[9]!==y?(b=(0,u.jsxs)(i,{children:[g,(0,u.jsxs)(c,{children:[_,y]})]}),t[8]=_,t[9]=y,t[10]=b):b=t[10];let x;return t[11]!==f||t[12]!==d||t[13]!==b?(x=(0,u.jsx)(a,{open:d,onOpenChange:f,children:b}),t[11]=f,t[12]=d,t[13]=b,t[14]=x):x=t[14],x}export{d as PushBeforePRDialog};
|
|
@@ -0,0 +1 @@
|
|
|
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,t as a}from"./utils-B-qS8qMg.js";import{a as o,g as s,h as c,l,n as u,u as d}from"./dist-T8-4ZfS0.js";import{t as f}from"./dist-OixawqbU.js";var p=e(n(),1),m=t();function h(e,[t,n]){return Math.min(n,Math.max(t,e))}var g=r();function _(e,t){return p.useReducer((e,n)=>t[e][n]??e,e)}var v=`ScrollArea`,[y,b]=c(v),[x,S]=y(v),C=p.forwardRef((e,t)=>{let{__scopeScrollArea:n,type:r=`hover`,dir:a,scrollHideDelay:o=600,...s}=e,[c,l]=p.useState(null),[u,m]=p.useState(null),[h,_]=p.useState(null),[v,y]=p.useState(null),[b,S]=p.useState(null),[C,w]=p.useState(0),[T,E]=p.useState(0),[D,O]=p.useState(!1),[k,A]=p.useState(!1),j=i(t,e=>l(e)),M=f(a);return(0,g.jsx)(x,{scope:n,type:r,dir:M,scrollHideDelay:o,scrollArea:c,viewport:u,onViewportChange:m,content:h,onContentChange:_,scrollbarX:v,onScrollbarXChange:y,scrollbarXEnabled:D,onScrollbarXEnabledChange:O,scrollbarY:b,onScrollbarYChange:S,scrollbarYEnabled:k,onScrollbarYEnabledChange:A,onCornerWidthChange:w,onCornerHeightChange:E,children:(0,g.jsx)(d.div,{dir:M,...s,ref:j,style:{position:`relative`,"--radix-scroll-area-corner-width":C+`px`,"--radix-scroll-area-corner-height":T+`px`,...e.style}})})});C.displayName=v;var w=`ScrollAreaViewport`,T=p.forwardRef((e,t)=>{let{__scopeScrollArea:n,children:r,nonce:a,...o}=e,s=S(w,n),c=i(t,p.useRef(null),s.onViewportChange);return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`},nonce:a}),(0,g.jsx)(d.div,{"data-radix-scroll-area-viewport":``,...o,ref:c,style:{overflowX:s.scrollbarXEnabled?`scroll`:`hidden`,overflowY:s.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,g.jsx)(`div`,{ref:s.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})});T.displayName=w;var E=`ScrollAreaScrollbar`,D=p.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=S(E,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return p.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,g.jsx)(O,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,g.jsx)(k,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,g.jsx)(A,{...r,ref:t,forceMount:n}):i.type===`always`?(0,g.jsx)(j,{...r,ref:t}):null});D.displayName=E;var O=p.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=S(E,e.__scopeScrollArea),[a,o]=p.useState(!1);return p.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=()=>{window.clearTimeout(t),o(!0)},r=()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)};return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,g.jsx)(u,{present:n||a,children:(0,g.jsx)(A,{"data-state":a?`visible`:`hidden`,...r,ref:t})})}),k=p.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=S(E,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=G(()=>l(`SCROLL_END`),100),[c,l]=_(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}});return p.useEffect(()=>{if(c===`idle`){let e=window.setTimeout(()=>l(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,i.scrollHideDelay,l]),p.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=()=>{let r=e[t];n!==r&&(l(`SCROLL`),o()),n=r};return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,l,o]),(0,g.jsx)(u,{present:n||c!==`hidden`,children:(0,g.jsx)(j,{"data-state":c===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:s(e.onPointerEnter,()=>l(`POINTER_ENTER`)),onPointerLeave:s(e.onPointerLeave,()=>l(`POINTER_LEAVE`))})})}),A=p.forwardRef((e,t)=>{let n=S(E,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=p.useState(!1),s=e.orientation===`horizontal`,c=G(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return K(n.viewport,c),K(n.content,c),(0,g.jsx)(u,{present:r||a,children:(0,g.jsx)(j,{"data-state":a?`visible`:`hidden`,...i,ref:t})})}),j=p.forwardRef((e,t)=>{let{orientation:n=`vertical`,...r}=e,i=S(E,e.__scopeScrollArea),a=p.useRef(null),o=p.useRef(0),[s,c]=p.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=B(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:e=>a.current=e,onThumbPointerUp:()=>o.current=0,onThumbPointerDown:e=>o.current=e};function d(e,t){return ie(e,o.current,s,t)}return n===`horizontal`?(0,g.jsx)(M,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=H(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,g.jsx)(ee,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=H(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null}),M=p.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...a}=e,o=S(E,e.__scopeScrollArea),[s,c]=p.useState(),l=p.useRef(null),u=i(t,l,o.onScrollbarXChange);return p.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),(0,g.jsx)(P,{"data-orientation":`horizontal`,...a,ref:u,sizes:n,style:{bottom:0,left:o.dir===`rtl`?`var(--radix-scroll-area-corner-width)`:0,right:o.dir===`ltr`?`var(--radix-scroll-area-corner-width)`:0,"--radix-scroll-area-thumb-width":V(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(o.viewport){let r=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),W(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&s&&r({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:z(s.paddingLeft),paddingEnd:z(s.paddingRight)}})}})}),ee=p.forwardRef((e,t)=>{let{sizes:n,onSizesChange:r,...a}=e,o=S(E,e.__scopeScrollArea),[s,c]=p.useState(),l=p.useRef(null),u=i(t,l,o.onScrollbarYChange);return p.useEffect(()=>{l.current&&c(getComputedStyle(l.current))},[l]),(0,g.jsx)(P,{"data-orientation":`vertical`,...a,ref:u,sizes:n,style:{top:0,right:o.dir===`ltr`?0:void 0,left:o.dir===`rtl`?0:void 0,bottom:`var(--radix-scroll-area-corner-height)`,"--radix-scroll-area-thumb-height":V(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(o.viewport){let r=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),W(r,n)&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&s&&r({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:z(s.paddingTop),paddingEnd:z(s.paddingBottom)}})}})}),[te,N]=y(E),P=p.forwardRef((e,t)=>{let{__scopeScrollArea:n,sizes:r,hasThumb:a,onThumbChange:o,onThumbPointerUp:c,onThumbPointerDown:u,onThumbPositionChange:f,onDragScroll:m,onWheelScroll:h,onResize:_,...v}=e,y=S(E,n),[b,x]=p.useState(null),C=i(t,e=>x(e)),w=p.useRef(null),T=p.useRef(``),D=y.viewport,O=r.content-r.viewport,k=l(h),A=l(f),j=G(_,10);function M(e){w.current&&m({x:e.clientX-w.current.left,y:e.clientY-w.current.top})}return p.useEffect(()=>{let e=e=>{let t=e.target;b?.contains(t)&&k(e,O)};return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[D,b,O,k]),p.useEffect(A,[r,A]),K(b,j),K(y.content,j),(0,g.jsx)(te,{scope:n,scrollbar:b,hasThumb:a,onThumbChange:l(o),onThumbPointerUp:l(c),onThumbPositionChange:A,onThumbPointerDown:l(u),children:(0,g.jsx)(d.div,{...v,ref:C,style:{position:`absolute`,...v.style},onPointerDown:s(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),w.current=b.getBoundingClientRect(),T.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,y.viewport&&(y.viewport.style.scrollBehavior=`auto`),M(e))}),onPointerMove:s(e.onPointerMove,M),onPointerUp:s(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=T.current,y.viewport&&(y.viewport.style.scrollBehavior=``),w.current=null})})})}),F=`ScrollAreaThumb`,I=p.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=N(F,e.__scopeScrollArea);return(0,g.jsx)(u,{present:n||i.hasThumb,children:(0,g.jsx)(ne,{ref:t,...r})})}),ne=p.forwardRef((e,t)=>{let{__scopeScrollArea:n,style:r,...a}=e,o=S(F,n),c=N(F,n),{onThumbPositionChange:l}=c,u=i(t,e=>c.onThumbChange(e)),f=p.useRef(void 0),m=G(()=>{f.current&&=(f.current(),void 0)},100);return p.useEffect(()=>{let e=o.viewport;if(e){let t=()=>{m(),f.current||(f.current=ae(e,l),l())};return l(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[o.viewport,m,l]),(0,g.jsx)(d.div,{"data-state":c.hasThumb?`visible`:`hidden`,...a,ref:u,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:s(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;c.onThumbPointerDown({x:n,y:r})}),onPointerUp:s(e.onPointerUp,c.onThumbPointerUp)})});I.displayName=F;var L=`ScrollAreaCorner`,R=p.forwardRef((e,t)=>{let n=S(L,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,g.jsx)(re,{...e,ref:t}):null});R.displayName=L;var re=p.forwardRef((e,t)=>{let{__scopeScrollArea:n,...r}=e,i=S(L,n),[a,o]=p.useState(0),[s,c]=p.useState(0),l=!!(a&&s);return K(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),K(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),l?(0,g.jsx)(d.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null});function z(e){return e?parseInt(e,10):0}function B(e,t){let n=e/t;return isNaN(n)?0:n}function V(e){let t=B(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function ie(e,t,n,r=`ltr`){let i=V(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return U([c,l],d)(e)}function H(e,t,n=`ltr`){let r=V(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=h(e,n===`ltr`?[0,o]:[o*-1,0]);return U([0,o],[0,s])(c)}function U(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function W(e,t){return e>0&&e<t}var ae=(e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)};function G(e,t){let n=l(e),r=p.useRef(0);return p.useEffect(()=>()=>window.clearTimeout(r.current),[]),p.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}function K(e,t){let n=l(t);o(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}var q=C,J=T,Y=R,X=p.forwardRef((e,t)=>{let n=(0,m.c)(15),r,i,o;n[0]===e?(r=n[1],i=n[2],o=n[3]):({className:i,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o);let s;n[4]===i?s=n[5]:(s=a(`relative overflow-hidden`,i),n[4]=i,n[5]=s);let c;n[6]===r?c=n[7]:(c=(0,g.jsx)(J,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=c);let l,u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,g.jsx)(Z,{}),u=(0,g.jsx)(Y,{}),n[8]=l,n[9]=u):(l=n[8],u=n[9]);let d;return n[10]!==o||n[11]!==t||n[12]!==s||n[13]!==c?(d=(0,g.jsxs)(q,{ref:t,className:s,...o,children:[c,l,u]}),n[10]=o,n[11]=t,n[12]=s,n[13]=c,n[14]=d):d=n[14],d});X.displayName=q.displayName;var Z=p.forwardRef((e,t)=>{let n=(0,m.c)(14),r,i,o;n[0]===e?(r=n[1],i=n[2],o=n[3]):({className:r,orientation:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o);let s=o===void 0?`vertical`:o,c=s===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-[1px]`,l=s===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-[1px]`,u;n[4]!==r||n[5]!==c||n[6]!==l?(u=a(`flex touch-none select-none transition-colors`,c,l,r),n[4]=r,n[5]=c,n[6]=l,n[7]=u):u=n[7];let d;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,g.jsx)(I,{className:`relative flex-1 rounded-full bg-border`}),n[8]=d):d=n[8];let f;return n[9]!==s||n[10]!==i||n[11]!==t||n[12]!==u?(f=(0,g.jsx)(D,{ref:t,orientation:s,className:u,...i,children:d}),n[9]=s,n[10]=i,n[11]=t,n[12]=u,n[13]=f):f=n[13],f});Z.displayName=D.displayName;var oe=`[&>div]:!box-border [&>div]:!pr-4`,Q=p.forwardRef((e,t)=>{let n=(0,m.c)(14),r,i,o;n[0]===e?(r=n[1],i=n[2],o=n[3]):({className:r,orientation:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o);let s=o===void 0?`vertical`:o,c=s===`vertical`&&`right-0 h-full w-2.5 p-0.5`,l=s===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-[1px]`,u;n[4]!==r||n[5]!==c||n[6]!==l?(u=a(`flex touch-none select-none transition-colors`,c,l,r),n[4]=r,n[5]=c,n[6]=l,n[7]=u):u=n[7];let d;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,g.jsx)(I,{className:`relative flex-1 rounded-full bg-foreground/20 can-hover:hover:bg-foreground/35`}),n[8]=d):d=n[8];let f;return n[9]!==s||n[10]!==i||n[11]!==t||n[12]!==u?(f=(0,g.jsx)(D,{ref:t,orientation:s,className:u,...i,children:d}),n[9]=s,n[10]=i,n[11]=t,n[12]=u,n[13]=f):f=n[13],f});Q.displayName=`SettingsScrollBar`;var $=p.forwardRef((e,t)=>{let n=(0,m.c)(20),r,i,o,s,c;n[0]===e?(r=n[1],i=n[2],o=n[3],s=n[4],c=n[5]):({className:i,children:r,viewportRef:c,onViewportScroll:o,...s}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o,n[4]=s,n[5]=c);let l;n[6]===i?l=n[7]:(l=a(`relative overflow-hidden`,i),n[6]=i,n[7]=l);let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=a(`h-full w-full rounded-[inherit]`,oe),n[8]=u):u=n[8];let d;n[9]!==r||n[10]!==o||n[11]!==c?(d=(0,g.jsx)(J,{ref:c,onScroll:o,className:u,children:r}),n[9]=r,n[10]=o,n[11]=c,n[12]=d):d=n[12];let f,p;n[13]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,g.jsx)(Q,{}),p=(0,g.jsx)(Y,{}),n[13]=f,n[14]=p):(f=n[13],p=n[14]);let h;return n[15]!==s||n[16]!==t||n[17]!==l||n[18]!==d?(h=(0,g.jsxs)(q,{ref:t,className:l,...s,children:[d,f,p]}),n[15]=s,n[16]=t,n[17]=l,n[18]=d,n[19]=h):h=n[19],h});$.displayName=`SettingsScrollArea`;var se=p.forwardRef((e,t)=>{let n=(0,m.c)(14),r,i,o;n[0]===e?(r=n[1],i=n[2],o=n[3]):({className:r,orientation:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o);let s=o===void 0?`vertical`:o,c=s===`vertical`&&`h-full w-2 p-0.5`,l=s===`horizontal`&&`h-2 w-full flex-col p-0.5`,u;n[4]!==r||n[5]!==c||n[6]!==l?(u=a(`flex touch-none select-none bg-transparent`,c,l,r),n[4]=r,n[5]=c,n[6]=l,n[7]=u):u=n[7];let d;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,g.jsx)(I,{className:`relative flex-1 rounded-full bg-foreground/35 can-hover:hover:bg-foreground/50`}),n[8]=d):d=n[8];let f;return n[9]!==s||n[10]!==i||n[11]!==t||n[12]!==u?(f=(0,g.jsx)(D,{ref:t,orientation:s,className:u,...i,children:d}),n[9]=s,n[10]=i,n[11]=t,n[12]=u,n[13]=f):f=n[13],f});se.displayName=`FrostedScrollBar`;var ce=p.forwardRef((e,t)=>{let n=(0,m.c)(15),r,i,o;n[0]===e?(r=n[1],i=n[2],o=n[3]):({className:i,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=o);let s;n[4]===i?s=n[5]:(s=a(`relative overflow-hidden`,i),n[4]=i,n[5]=s);let c;n[6]===r?c=n[7]:(c=(0,g.jsx)(J,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=c);let l,u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,g.jsx)(se,{}),u=(0,g.jsx)(Y,{}),n[8]=l,n[9]=u):(l=n[8],u=n[9]);let d;return n[10]!==o||n[11]!==t||n[12]!==s||n[13]!==c?(d=(0,g.jsxs)(q,{ref:t,className:s,...o,children:[c,l,u]}),n[10]=o,n[11]=t,n[12]=s,n[13]=c,n[14]=d):d=n[14],d});ce.displayName=`FrostedScrollArea`;export{h as i,X as n,$ as r,ce as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/settings-general-view-B-t99LmD.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-DD_a7tQU.js","assets/react-vendor-Ee0-5T4I.js","assets/progress-indicator-C01aPXIe.js","assets/utils-B-qS8qMg.js","assets/dist-DNkA3vYh.js","assets/button-B5aMz2Rk.js","assets/scroll-area-DwRwR2nQ.js","assets/dist-T8-4ZfS0.js","assets/dist-OixawqbU.js","assets/tooltip-Dvmz78Z_.js","assets/dist-DDYi9MQo.js","assets/chat-dock-context-Cnq0BWgm.js","assets/api-OO3KSG8d.js","assets/store-B7EgrEO7.js","assets/explorer-tab-context-BxUVwWQQ.js","assets/main-tab-context-CNgxXqnH.js","assets/terminal-output-activity-B1bjjsl7.js","assets/use-browser-overlay-block-DyprQSIG.js","assets/browser-overlay-block-CiDtkfup.js","assets/suspense-resource-DzlMlIgR.js","assets/dist-sThe8WYP.js","assets/dist-TCNzmc2V.js","assets/es2015-Bu0NIPbn.js","assets/dist-CWYnBq-n.js","assets/dist-DwblUvSf.js","assets/dist-COfI64N5.js","assets/dist-CSssbxDI.js","assets/useBaseQuery-D5as4SgS.js","assets/lucide-react-B-115rul.js","assets/chunk-QFMPRPBF-COsSkB7x.js","assets/index-C4WzOmf3.css","assets/toggle-group-UiksQ0n9.js","assets/use-settings-page-loading-BTySlInF.js","assets/conversation-history-view-CcdQRxoP.js","assets/delete-confirm-dialog-Cx9nT7Xd.js","assets/table-7hMwxpkF.js","assets/settings-storage-view-C_Rs-9Hw.js","assets/settings-list-Dn4CHP4Z.js","assets/card-DRr14MEQ.js","assets/settings-statistics-view-jKPoSWBs.js","assets/settings-logs-view-BCRjz-Fr.js","assets/settings-slack-view-BNT5ervf.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{ot as s,st as c}from"./dist-DNkA3vYh.js";import{t as l}from"./progress-indicator-C01aPXIe.js";import{t as u}from"./settings-tab-bar-DAHxT5KE.js";var d=t(),f=e(n(),1),p=i(),m=(0,f.lazy)(function(){return r(()=>import(`./settings-general-view-B-t99LmD.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]))}),h=(0,f.lazy)(function(){return r(()=>import(`./conversation-history-view-CcdQRxoP.js`),__vite__mapDeps([35,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,36,37]))}),g=(0,f.lazy)(function(){return r(()=>import(`./settings-storage-view-C_Rs-9Hw.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,36,39,40,37]))}),_=(0,f.lazy)(function(){return r(()=>import(`./settings-statistics-view-jKPoSWBs.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,36,37,33]))}),v=(0,f.lazy)(function(){return r(()=>import(`./settings-logs-view-BCRjz-Fr.js`),__vite__mapDeps([42,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]))}),y=(0,f.lazy)(function(){return r(()=>import(`./settings-slack-view-BNT5ervf.js`),__vite__mapDeps([43,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]))});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`?c(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:s}),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};
|
|
@@ -0,0 +1 @@
|
|
|
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{Ft as i,N as a}from"./dist-DNkA3vYh.js";import{s as o,t as s}from"./utils-B-qS8qMg.js";import{$ as c,P as l,Tn as u,_ as d,cn as f,dn as p,dt as m,et as h,g,gn as _,nn as v,un as y,vt as b}from"./lucide-react-B-115rul.js";import{t as x}from"./button-B5aMz2Rk.js";import{g as S,h as C,t as w,u as T}from"./dist-T8-4ZfS0.js";import{o as ee}from"./dist-DDYi9MQo.js";import{i as E,n as te,t as ne}from"./tooltip-Dvmz78Z_.js";import{$ as re,Hr as ie,Rr as ae,qn as oe,xi as se,zi as ce}from"./api-OO3KSG8d.js";import{t as le}from"./dist-sThe8WYP.js";import{t as ue}from"./dist-OixawqbU.js";import{i as de}from"./scroll-area-DwRwR2nQ.js";import{t as D}from"./dist-CSssbxDI.js";import{$n as fe,At as pe,Et as me,F as O,I as he,Nt as ge,Ot as _e,St as ve,Tr as ye,bt as k,cr as be,ct as xe,k as Se,lt as Ce,n as we,r as Te,t as Ee,ut as De}from"./index-DD_a7tQU.js";import{n as A,t as Oe}from"./toggle-group-UiksQ0n9.js";import{t as ke}from"./use-settings-page-loading-BTySlInF.js";var j=t(),M=e(n(),1),N=r(),Ae=[`PageUp`,`PageDown`],je=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],Me={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},P=`Slider`,[Ne,Pe,Fe]=le(P),[Ie,Le]=C(P,[Fe]),[Re,ze]=Ie(P),Be=M.forwardRef((e,t)=>{let{name:n,min:r=0,max:i=100,step:a=1,orientation:o=`horizontal`,disabled:s=!1,minStepsBetweenThumbs:c=0,defaultValue:l=[r],value:u,onValueChange:d=()=>{},onValueCommit:f=()=>{},inverted:p=!1,form:m,...h}=e,g=M.useRef(new Set),_=M.useRef(0),v=o===`horizontal`?He:Ue,[y=[],b]=w({prop:u,defaultProp:l,onChange:e=>{[...g.current][_.current]?.focus(),d(e)}}),x=M.useRef(y);function C(e){E(e,nt(y,e))}function T(e){E(e,_.current)}function ee(){let e=x.current[_.current];y[_.current]!==e&&f(y)}function E(e,t,{commit:n}={commit:!1}){let o=R(a),s=de(z(Math.round((e-r)/a)*a+r,o),[r,i]);b((e=[])=>{let r=$e(e,s,t);if(at(r,c*a)){_.current=r.indexOf(s);let t=String(r)!==String(e);return t&&n&&f(r),t?r:e}else return e})}return(0,N.jsx)(Re,{scope:e.__scopeSlider,name:n,disabled:s,min:r,max:i,valueIndexToChangeRef:_,thumbs:g.current,values:y,orientation:o,form:m,children:(0,N.jsx)(Ne.Provider,{scope:e.__scopeSlider,children:(0,N.jsx)(Ne.Slot,{scope:e.__scopeSlider,children:(0,N.jsx)(v,{"aria-disabled":s,"data-disabled":s?``:void 0,...h,ref:t,onPointerDown:S(h.onPointerDown,()=>{s||(x.current=y)}),min:r,max:i,inverted:p,onSlideStart:s?void 0:C,onSlideMove:s?void 0:T,onSlideEnd:s?void 0:ee,onHomeKeyDown:()=>!s&&E(r,0,{commit:!0}),onEndKeyDown:()=>!s&&E(i,y.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!s){let n=Ae.includes(e.key)||e.shiftKey&&je.includes(e.key)?10:1,r=_.current,i=y[r];E(i+a*n*t,r,{commit:!0})}}})})})})});Be.displayName=P;var[Ve,F]=Ie(P,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),He=M.forwardRef((e,t)=>{let{min:n,max:r,dir:i,inverted:a,onSlideStart:s,onSlideMove:c,onSlideEnd:l,onStepKeyDown:u,...d}=e,[f,p]=M.useState(null),m=o(t,e=>p(e)),h=M.useRef(void 0),g=ue(i),_=g===`ltr`,v=_&&!a||!_&&a;function y(e){let t=h.current||f.getBoundingClientRect(),i=L([0,t.width],v?[n,r]:[r,n]);return h.current=t,i(e-t.left)}return(0,N.jsx)(Ve,{scope:e.__scopeSlider,startEdge:v?`left`:`right`,endEdge:v?`right`:`left`,direction:v?1:-1,size:`width`,children:(0,N.jsx)(I,{dir:g,"data-orientation":`horizontal`,...d,ref:m,style:{...d.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=y(e.clientX);s?.(t)},onSlideMove:e=>{let t=y(e.clientX);c?.(t)},onSlideEnd:()=>{h.current=void 0,l?.()},onStepKeyDown:e=>{let t=Me[v?`from-left`:`from-right`].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),Ue=M.forwardRef((e,t)=>{let{min:n,max:r,inverted:i,onSlideStart:a,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,d=M.useRef(null),f=o(t,d),p=M.useRef(void 0),m=!i;function h(e){let t=p.current||d.current.getBoundingClientRect(),i=L([0,t.height],m?[r,n]:[n,r]);return p.current=t,i(e-t.top)}return(0,N.jsx)(Ve,{scope:e.__scopeSlider,startEdge:m?`bottom`:`top`,endEdge:m?`top`:`bottom`,size:`height`,direction:m?1:-1,children:(0,N.jsx)(I,{"data-orientation":`vertical`,...u,ref:f,style:{...u.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=h(e.clientY);a?.(t)},onSlideMove:e=>{let t=h(e.clientY);s?.(t)},onSlideEnd:()=>{p.current=void 0,c?.()},onStepKeyDown:e=>{let t=Me[m?`from-bottom`:`from-top`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})}),I=M.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:c,...l}=e,u=ze(P,n);return(0,N.jsx)(T.span,{...l,ref:t,onKeyDown:S(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(s(e),e.preventDefault()):Ae.concat(je).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:S(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():r(e)}),onPointerMove:S(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:S(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})}),We=`SliderTrack`,Ge=M.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=ze(We,n);return(0,N.jsx)(T.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})});Ge.displayName=We;var Ke=`SliderRange`,qe=M.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=ze(Ke,n),a=F(Ke,n),s=o(t,M.useRef(null)),c=i.values.length,l=i.values.map(e=>et(e,i.min,i.max)),u=c>1?Math.min(...l):0,d=100-Math.max(...l);return(0,N.jsx)(T.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?``:void 0,...r,ref:s,style:{...e.style,[a.startEdge]:u+`%`,[a.endEdge]:d+`%`}})});qe.displayName=Ke;var Je=`SliderThumb`,Ye=M.forwardRef((e,t)=>{let n=Pe(e.__scopeSlider),[r,i]=M.useState(null),a=o(t,e=>i(e)),s=M.useMemo(()=>r?n().findIndex(e=>e.ref.current===r):-1,[n,r]);return(0,N.jsx)(Xe,{...e,ref:a,index:s})}),Xe=M.forwardRef((e,t)=>{let{__scopeSlider:n,index:r,name:i,...a}=e,s=ze(Je,n),c=F(Je,n),[l,u]=M.useState(null),d=o(t,e=>u(e)),f=l?s.form||!!l.closest(`form`):!0,p=ee(l),m=s.values[r],h=m===void 0?0:et(m,s.min,s.max),g=tt(r,s.values.length),_=p?.[c.size],v=_?rt(_,h,c.direction):0;return M.useEffect(()=>{if(l)return s.thumbs.add(l),()=>{s.thumbs.delete(l)}},[l,s.thumbs]),(0,N.jsxs)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[c.startEdge]:`calc(${h}% + ${v}px)`},children:[(0,N.jsx)(Ne.ItemSlot,{scope:e.__scopeSlider,children:(0,N.jsx)(T.span,{role:`slider`,"aria-label":e[`aria-label`]||g,"aria-valuemin":s.min,"aria-valuenow":m,"aria-valuemax":s.max,"aria-orientation":s.orientation,"data-orientation":s.orientation,"data-disabled":s.disabled?``:void 0,tabIndex:s.disabled?void 0:0,...a,ref:d,style:m===void 0?{display:`none`}:e.style,onFocus:S(e.onFocus,()=>{s.valueIndexToChangeRef.current=r})})}),f&&(0,N.jsx)(Qe,{name:i??(s.name?s.name+(s.values.length>1?`[]`:``):void 0),form:s.form,value:m},r)]})});Ye.displayName=Je;var Ze=`RadioBubbleInput`,Qe=M.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{let i=M.useRef(null),a=o(i,r),s=D(t);return M.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(s!==t&&r){let n=new Event(`input`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[s,t]),(0,N.jsx)(T.input,{style:{display:`none`},...n,ref:a,defaultValue:t})});Qe.displayName=Ze;function $e(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function et(e,t,n){return de(100/(n-t)*(e-t),[0,100])}function tt(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function nt(e,t){if(e.length===1)return 0;let n=e.map(e=>Math.abs(e-t)),r=Math.min(...n);return n.indexOf(r)}function rt(e,t,n){let r=e/2;return(r-L([0,50],[0,r])(t)*n)*n}function it(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function at(e,t){if(t>0){let n=it(e);return Math.min(...n)>=t}return!0}function L(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function R(e){return(String(e).split(`.`)[1]||``).length}function z(e,t){let n=10**t;return Math.round(e*n)/n}var ot=Be,st=Ge,ct=qe,lt=Ye,ut=M.forwardRef((e,t)=>{let n=(0,j.c)(22),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,valueTooltip:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let[o,c]=M.useState(!1),[l,u]=M.useState(!1),d,f;n[4]===l?(d=n[5],f=n[6]):(d=()=>{if(!l)return;let e=function(){u(!1)};return document.addEventListener(`pointerup`,e),()=>{document.removeEventListener(`pointerup`,e)}},f=[l],n[4]=l,n[5]=d,n[6]=f),M.useEffect(d,f);let p;n[7]===a?p=n[8]:(p=(0,N.jsx)(lt,{className:`block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50`,onPointerDown:()=>{a!=null&&(u(!0),c(!0))}}),n[7]=a,n[8]=p);let m=p,h;n[9]===r?h=n[10]:(h=s(`relative flex w-full touch-none select-none items-center`,r),n[9]=r,n[10]=h);let g;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,N.jsx)(st,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,N.jsx)(ct,{className:`absolute h-full bg-primary`})}),n[11]=g):g=n[11];let _;n[12]!==l||n[13]!==o||n[14]!==m||n[15]!==a?(_=a==null?m:(0,N.jsxs)(ne,{open:o||l,onOpenChange:c,children:[(0,N.jsx)(E,{asChild:!0,children:m}),(0,N.jsx)(te,{side:`top`,children:a})]}),n[12]=l,n[13]=o,n[14]=m,n[15]=a,n[16]=_):_=n[16];let v;return n[17]!==i||n[18]!==t||n[19]!==h||n[20]!==_?(v=(0,N.jsxs)(ot,{ref:t,className:h,...i,children:[g,_]}),n[17]=i,n[18]=t,n[19]=h,n[20]=_,n[21]=v):v=n[21],v});ut.displayName=ot.displayName;var B=a(`app.use-maximum-turn-count.hook`),dt=100;function ft(){let[e,t]=(0,M.useState)(dt),[n,r]=(0,M.useState)(dt.toString()),[i,a]=(0,M.useState)(!0),[o,s]=(0,M.useState)(!1);(0,M.useEffect)(()=>{let e=!1;async function n(){try{let n=await re();e||(t(n.maximumTurnCount),r(n.maximumTurnCount.toString()))}catch(e){B.error(`Failed to load maximum turn count:`,e)}finally{e||a(!1)}}return n(),()=>{e=!0}},[]);function c(e){r(e)}async function l(e){s(!0);try{let n=await oe({maximumTurnCount:e});t(n.maximumTurnCount),r(n.maximumTurnCount.toString())}catch(e){throw B.error(`Failed to update maximum turn count:`,e),e}finally{s(!1)}}function u(){r(e.toString())}return{defaultMaximumTurnCount:dt,draftMaximumTurnCount:n,isLoading:i,isSaving:o,maximumTurnCount:e,resetDraftMaximumTurnCount:u,setDraftMaximumTurnCount:c,updateMaximumTurnCount:l}}var V=a(`app.use-screen-recording-permission.hook`),H={isMacOS:!1,granted:!1,available:!1,message:``};function pt(){return{...H,isMacOS:O()}}function mt(){let[e,t]=(0,M.useState)(pt),[n,r]=(0,M.useState)(!0),[i,a]=(0,M.useState)(null),[o,s]=(0,M.useState)(!1),[c,l]=(0,M.useState)(null),u=(0,M.useCallback)(async()=>{r(!0),a(null);try{t(await ae(`api/system-permissions/screen-recording`))}catch(e){a(e instanceof Error?e.message:`Failed to check screen recording permission`),t(e=>({...H,isMacOS:e?.isMacOS??O(),message:`Unable to check permission status.`}))}finally{r(!1)}},[]);return(0,M.useEffect)(()=>{u()},[u]),{status:e,isLoading:n,error:i,isOpeningSettings:o,openSettingsError:c,refresh:u,openSystemSettings:(0,M.useCallback)(async()=>{s(!0),l(null);try{let e=await ie(`api/system-permissions/screen-recording/open-settings`,{});if(!e.success){let t=e.message||`Failed to open System Settings`;V.error(`[useScreenRecordingPermission] ${t}`,e.error),l(t)}}catch(e){let t=e instanceof Error?e.message:`Failed to open System Settings`;V.error(`[useScreenRecordingPermission] Error opening System Settings:`,e),l(t)}finally{s(!1)}},[])}}var U=a(`app.use-server-bind-mode.hook`),W=`local`,ht=`tarsk-server-bind-mode-changed`;function G(e){ce(e)}function gt(){if(typeof window>`u`)return!1;try{return sessionStorage.getItem(ht)===`true`}catch{return!1}}function _t(e){if(!(typeof window>`u`))try{e?sessionStorage.setItem(ht,`true`):sessionStorage.removeItem(ht)}catch{}}function vt(){let[e,t]=(0,M.useState)(()=>se()?.serverBindMode??W),[n,r]=(0,M.useState)(null),[i,a]=(0,M.useState)(()=>se()?.networkAddresses??[]),[o,s]=(0,M.useState)(()=>se()===null),[c,l]=(0,M.useState)(!1),[u,d]=(0,M.useState)(gt);(0,M.useEffect)(()=>{let e=!1;async function n(){try{let n=await re();e||(t(n.serverBindMode),r(n.serverBindMode),a(n.networkAddresses),G({networkAddresses:n.networkAddresses,serverBindMode:n.serverBindMode}))}catch(e){U.error(`Failed to load server bind mode:`,e)}finally{e||s(!1)}}return n(),()=>{e=!0}},[]);async function f(e){l(!0);try{let n=await oe({serverBindMode:e});t(n.serverBindMode),a(n.networkAddresses),G({networkAddresses:n.networkAddresses,serverBindMode:n.serverBindMode}),d(!0),_t(!0)}catch(e){throw U.error(`Failed to update server bind mode:`,e),e}finally{l(!1)}}let p=n!==null&&e!==n;return{defaultServerBindMode:W,hasServerBindModeChanged:p,isLoading:o,isSaving:c,needsRestart:p||u,networkAddresses:i,serverBindMode:e,updateServerBindMode:f}}var K=a(`app.use-logging.hook`);function yt(){let[e,t]=(0,M.useState)(!1),[n,r]=(0,M.useState)(null),[i,a]=(0,M.useState)(!1),[o,s]=(0,M.useState)(null),[c,l]=(0,M.useState)(!0),[u,d]=(0,M.useState)(!1);(0,M.useEffect)(()=>{let e=!1;async function n(){try{let n=await re();e||(t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost))}catch(e){K.error(`Failed to load logging setting:`,e)}finally{e||l(!1)}}return n(),()=>{e=!0}},[]);async function f(e){d(!0);try{let n=await oe({loggingEnabled:e});t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost)}catch(e){throw K.error(`Failed to update logging setting:`,e),e}finally{d(!1)}}return{ingestingHost:o,isEnabled:e,isEnvConfigured:i,isLoading:c,isSaving:u,logPath:n,updateIsEnabled:f}}var bt=Object.defineProperty,q=Object.getOwnPropertySymbols,xt=Object.prototype.hasOwnProperty,St=Object.prototype.propertyIsEnumerable,Ct=(e,t,n)=>t in e?bt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,J=(e,t)=>{for(var n in t||={})xt.call(t,n)&&Ct(e,n,t[n]);if(q)for(var n of q(t))St.call(t,n)&&Ct(e,n,t[n]);return e},Y=(e,t)=>{var n={};for(var r in e)xt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&q)for(var r of q(e))t.indexOf(r)<0&&St.call(e,r)&&(n[r]=e[r]);return n},X;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+ +!!t,n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(X||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(X||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(X||={});var Z=X,wt={L:Z.QrCode.Ecc.LOW,M:Z.QrCode.Ecc.MEDIUM,Q:Z.QrCode.Ecc.QUARTILE,H:Z.QrCode.Ecc.HIGH},Tt=128,Et=`L`,Q=`#FFFFFF`,Dt=`#000000`,Ot=!1,$=1,kt=4,At=0,jt=.1;function Mt(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function Nt(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function Pt(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*jt),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function Ft(e,t){return t==null?e?kt:At:Math.max(Math.floor(t),0)}function It({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=M.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...Z.QrSegment.makeSegments(t)),e),[]);return Z.QrCode.encodeSegments(r,wt[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=M.useMemo(()=>{let e=c.getModules(),t=Ft(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:Pt(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var Lt=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Rt=M.forwardRef(function(e,t){let n=e,{value:r,size:i=Tt,level:a=Et,bgColor:o=Q,fgColor:s=Dt,includeMargin:c=Ot,minVersion:l=$,boostLevel:u,marginSize:d,imageSettings:f}=n,p=Y(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=Y(p,[`style`]),g=f?.src,_=M.useRef(null),v=M.useRef(null),y=M.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=M.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=It({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});M.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=v.current,a=T!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&T.excavation!=null&&(n=Nt(C,T.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/w*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,w,w),t.fillStyle=s,Lt?t.fill(new Path2D(Mt(n,S))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+S,n+S,1,1)})}),T&&(t.globalAlpha=T.opacity),a&&t.drawImage(r,T.x+S,T.y+S,T.w,T.h)}}),M.useEffect(()=>{x(!1)},[g]);let ee=J({height:i,width:i},m),E=null;return g!=null&&(E=M.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),M.createElement(M.Fragment,null,M.createElement(`canvas`,J({style:ee,height:i,width:i,ref:y,role:`img`},h)),E)});Rt.displayName=`QRCodeCanvas`;var zt=M.forwardRef(function(e,t){let n=e,{value:r,size:i=Tt,level:a=Et,bgColor:o=Q,fgColor:s=Dt,includeMargin:c=Ot,minVersion:l=$,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=Y(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=It({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=Nt(g,v.excavation)),b=M.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=Mt(y,h);return M.createElement(`svg`,J({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&M.createElement(`title`,null,d),M.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),M.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});zt.displayName=`QRCodeSVG`;var Bt=[{value:`light`,label:`Light`,icon:g},{value:`dark`,label:`Dark`,icon:c},{value:`system`,label:`System`,icon:d}],Vt=[{value:`image`,label:`Image`,icon:b},{value:`background`,label:`Background`,icon:u}],Ht=`flex h-7 w-7 min-h-0 min-w-0 items-center justify-center rounded-full border-0 bg-background p-0 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`,Ut=`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,Wt=[`462`,`8100`].includes(typeof document<`u`?document.location.port:``)?`462`:`641`,Gt=600;function Kt(e){let t=(0,j.c)(159),{onboardingResetSignal:n}=e,r=qt(n===void 0?0:n),{theme:a,setTheme:o}=Se(),{scale:c,updateScale:l,min:u,max:d}=Te(),{opacity:f,updateOpacity:p,min:m,max:h}=we(),{mode:g,color:_,updateMode:v,updateColor:y}=he(),{color:b,updateColor:x,resetColor:S}=Ee(),{defaultMaximumTurnCount:C,draftMaximumTurnCount:w,isLoading:T,isSaving:ee,resetDraftMaximumTurnCount:E,setDraftMaximumTurnCount:te,updateMaximumTurnCount:ne}=ft(),{status:re,isLoading:ie,isOpeningSettings:ae,openSettingsError:oe,refresh:se,openSystemSettings:ce}=mt(),{isLoading:le,isSaving:ue,needsRestart:de,networkAddresses:D,serverBindMode:O,updateServerBindMode:ye}=vt(),{isEnabled:De,isLoading:A,isSaving:Oe,updateIsEnabled:Ae}=xe(),{isEnabled:je,isLoading:Me,isSaving:P,updateIsEnabled:Ne}=be(),{isEnabled:Pe,isSupported:Fe,isHealthy:Ie,statusMessage:Le,isLoading:Re,isSaving:ze,updateIsEnabled:Be}=Ce(),{isEnabled:Ve,logPath:F,isEnvConfigured:He,ingestingHost:Ue,isLoading:I,isSaving:We,updateIsEnabled:Ge}=yt(),Ke;t[0]!==I||t[1]!==T||t[2]!==ie||t[3]!==Re||t[4]!==le||t[5]!==Me||t[6]!==A?(Ke=[T,ie,le,A,Me,Re,I],t[0]=I,t[1]=T,t[2]=ie,t[3]=Re,t[4]=le,t[5]=Me,t[6]=A,t[7]=Ke):Ke=t[7];let qe=ke(`general`,Ke),Je;t[8]===te?Je=t[9]:(Je=function(e){te(e.target.value)},t[8]=te,t[9]=Je);let Ye=Je,Xe;t[10]!==C||t[11]!==w||t[12]!==E||t[13]!==ne?(Xe=async function(){let e=Number.parseInt(w,10),t=Number.isFinite(e)&&e>0?e:C;try{await ne(t)}catch{E()}},t[10]=C,t[11]=w,t[12]=E,t[13]=ne,t[14]=Xe):Xe=t[14];let Ze=Xe,Qe;t[15]===l?Qe=t[16]:(Qe=function(e){e.length>0&&l(e[0])},t[15]=l,t[16]=Qe);let $e=Qe,et;t[17]===p?et=t[18]:(et=function(e){e.length>0&&p(e[0])},t[17]=p,t[18]=et);let tt=et,nt;t[19]===F?nt=t[20]:(nt=async function(){if(F)try{await navigator.clipboard.writeText(F),fe({title:`Copied`,description:`Log file path copied to clipboard.`})}catch(e){let t=e;fe({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the log file path.`,variant:`destructive`})}},t[19]=F,t[20]=nt);let rt=nt,[it,at]=(0,M.useState)(!1),L,R,z;t[21]!==D||t[22]!==O?(L=async function(){if(R)try{await navigator.clipboard.writeText(R),at(!0),fe({title:`Copied`,description:`Network URL copied to clipboard.`}),window.setTimeout(()=>{at(!1)},1500)}catch(e){let t=e;fe({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the network URL.`,variant:`destructive`})}},z=O===`network`&&D.length>0,R=z?`http://${D[0]}:${Wt}`:null,t[21]=D,t[22]=O,t[23]=L,t[24]=R,t[25]=z):(L=t[23],R=t[24],z=t[25]);let ot=r&&`animate-headline-reset`,st;t[26]===ot?st=t[27]:(st=s(ot),t[26]=ot,t[27]=st);let ct;t[28]===st?ct=t[29]:(ct=(0,N.jsx)(ve,{title:`Appearance`,titleClassName:st,className:`[&>div:first-child]:py-2`,sticky:!1}),t[28]=st,t[29]=ct);let lt;t[30]===u?lt=t[31]:(lt=(0,N.jsxs)(`span`,{className:`${i.bodyMuted} w-8 shrink-0 text-right`,children:[u,`%`]}),t[30]=u,t[31]=lt);let B;t[32]===c?B=t[33]:(B=[c],t[32]=c,t[33]=B);let dt=`${c}%`,V;t[34]!==$e||t[35]!==d||t[36]!==u||t[37]!==B||t[38]!==dt?(V=(0,N.jsx)(ut,{value:B,min:u,max:d,step:5,onValueChange:$e,"aria-label":`Font size`,valueTooltip:dt}),t[34]=$e,t[35]=d,t[36]=u,t[37]=B,t[38]=dt,t[39]=V):V=t[39];let H;t[40]===d?H=t[41]:(H=(0,N.jsxs)(`span`,{className:`${i.bodyMuted} w-9 shrink-0`,children:[d,`%`]}),t[40]=d,t[41]=H);let pt;t[42]!==lt||t[43]!==V||t[44]!==H?(pt=(0,N.jsx)(k,{title:`Font Size`,description:`Adjust the text size across the entire application.`,children:(0,N.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[lt,V,H]})}),t[42]=lt,t[43]=V,t[44]=H,t[45]=pt):pt=t[45];let U;t[46]===m?U=t[47]:(U=(0,N.jsxs)(`span`,{className:`${i.bodyMuted} w-8 shrink-0 text-right`,children:[m,`%`]}),t[46]=m,t[47]=U);let W;t[48]===f?W=t[49]:(W=[f],t[48]=f,t[49]=W);let ht=`${f}%`,G;t[50]!==h||t[51]!==m||t[52]!==tt||t[53]!==W||t[54]!==ht?(G=(0,N.jsx)(ut,{value:W,min:m,max:h,step:5,onValueChange:tt,"aria-label":`Panel opacity`,valueTooltip:ht}),t[50]=h,t[51]=m,t[52]=tt,t[53]=W,t[54]=ht,t[55]=G):G=t[55];let gt;t[56]===h?gt=t[57]:(gt=(0,N.jsxs)(`span`,{className:`${i.bodyMuted} w-9 shrink-0`,children:[h,`%`]}),t[56]=h,t[57]=gt);let _t;t[58]!==U||t[59]!==G||t[60]!==gt?(_t=(0,N.jsx)(k,{title:`Panel Opacity`,description:`Adjust how opaque the frosted panels are over the wallpaper.`,children:(0,N.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[U,G,gt]})}),t[58]=U,t[59]=G,t[60]=gt,t[61]=_t):_t=t[61];let K;t[62]!==o||t[63]!==a?(K=(0,N.jsx)(Jt,{theme:a,onThemeChange:o}),t[62]=o,t[63]=a,t[64]=K):K=t[64];let bt;t[65]!==y||t[66]!==v||t[67]!==_||t[68]!==g?(bt=(0,N.jsx)(Xt,{wallpaperMode:g,wallpaperColor:_,onModeChange:v,onColorChange:y}),t[65]=y,t[66]=v,t[67]=_,t[68]=g,t[69]=bt):bt=t[69];let q;t[70]!==b||t[71]!==S||t[72]!==x?(q=(0,N.jsx)(Qt,{brandColor:b,onColorChange:x,onReset:S}),t[70]=b,t[71]=S,t[72]=x,t[73]=q):q=t[73];let xt;t[74]!==pt||t[75]!==_t||t[76]!==K||t[77]!==bt||t[78]!==q?(xt=(0,N.jsx)(pe,{className:`max-w-none pt-0`,children:(0,N.jsxs)(_e,{children:[pt,_t,K,bt,q]})}),t[74]=pt,t[75]=_t,t[76]=K,t[77]=bt,t[78]=q,t[79]=xt):xt=t[79];let St;t[80]!==ct||t[81]!==xt?(St=(0,N.jsxs)(ge,{className:`shrink-0`,children:[ct,xt]}),t[80]=ct,t[81]=xt,t[82]=St):St=t[82];let Ct;t[83]===Symbol.for(`react.memo_cache_sentinel`)?(Ct=(0,N.jsx)(ve,{title:`Settings`,className:`[&>div:first-child]:py-2`,sticky:!1}),t[83]=Ct):Ct=t[83];let J;t[84]!==C||t[85]!==w||t[86]!==Ze||t[87]!==Ye||t[88]!==T||t[89]!==ee?(J=(0,N.jsx)($t,{draftValue:w,defaultTurnCount:C,isLoading:T,isSaving:ee,onChange:Ye,onBlur:Ze}),t[84]=C,t[85]=w,t[86]=Ze,t[87]=Ye,t[88]=T,t[89]=ee,t[90]=J):J=t[90];let Y;t[91]===Ae?Y=t[92]:(Y=e=>{Ae(e)},t[91]=Ae,t[92]=Y);let X;t[93]!==A||t[94]!==Oe||t[95]!==Y||t[96]!==De?(X=(0,N.jsx)(en,{title:`AI Voice Cleanup`,description:`After stopping voice recording, run the transcription through AI to remove filler words, false starts, and repetitions.`,value:De,isLoading:A,isSaving:Oe,ariaLabel:`AI Voice Cleanup`,onChange:Y}),t[93]=A,t[94]=Oe,t[95]=Y,t[96]=De,t[97]=X):X=t[97];let Z;t[98]===Ne?Z=t[99]:(Z=e=>{Ne(e)},t[98]=Ne,t[99]=Z);let wt;t[100]!==Me||t[101]!==P||t[102]!==je||t[103]!==Z?(wt=(0,N.jsx)(en,{title:`Spend`,description:`Show an estimated spend counter in the chat header.`,value:je,isLoading:Me,isSaving:P,ariaLabel:`Spend`,onChange:Z}),t[100]=Me,t[101]=P,t[102]=je,t[103]=Z,t[104]=wt):wt=t[104];let Tt;t[105]!==ae||t[106]!==ie||t[107]!==ce||t[108]!==se||t[109]!==oe||t[110]!==re?(Tt=(0,N.jsx)(tn,{status:re,isLoading:ie,isOpeningSettings:ae,openSettingsError:oe,onRefresh:se,onOpenSettings:ce}),t[105]=ae,t[106]=ie,t[107]=ce,t[108]=se,t[109]=oe,t[110]=re,t[111]=Tt):Tt=t[111];let Et;t[112]!==Re||t[113]!==ze||t[114]!==Pe||t[115]!==Ie||t[116]!==Le||t[117]!==Fe||t[118]!==Be?(Et=(0,N.jsx)(nn,{supported:Fe,enabled:Pe,healthy:Ie,message:Le,isLoading:Re,isSaving:ze,onChange:Be}),t[112]=Re,t[113]=ze,t[114]=Pe,t[115]=Ie,t[116]=Le,t[117]=Fe,t[118]=Be,t[119]=Et):Et=t[119];let Q;t[120]===Ge?Q=t[121]:(Q=e=>{Ge(e)},t[120]=Ge,t[121]=Q);let Dt;t[122]!==Ue||t[123]!==rt||t[124]!==He||t[125]!==I||t[126]!==We||t[127]!==Ve||t[128]!==F||t[129]!==Q?(Dt=(0,N.jsx)(an,{enabled:Ve,logPath:F,isEnvConfigured:He,ingestingHost:Ue,isLoading:I,isSaving:We,onChange:Q,onCopyPath:rt}),t[122]=Ue,t[123]=rt,t[124]=He,t[125]=I,t[126]=We,t[127]=Ve,t[128]=F,t[129]=Q,t[130]=Dt):Dt=t[130];let Ot;t[131]!==it||t[132]!==L||t[133]!==le||t[134]!==ue||t[135]!==R||t[136]!==de||t[137]!==D||t[138]!==O||t[139]!==z||t[140]!==ye?(Ot=(0,N.jsx)(on,{bindMode:O,isLoading:le,isSaving:ue,networkAddresses:D,needsRestart:de,showMobileQrCode:z,mobileNetworkUrl:R,copiedUrl:it,onChangeMode:ye,onCopyUrl:L}),t[131]=it,t[132]=L,t[133]=le,t[134]=ue,t[135]=R,t[136]=de,t[137]=D,t[138]=O,t[139]=z,t[140]=ye,t[141]=Ot):Ot=t[141];let $;t[142]!==J||t[143]!==X||t[144]!==wt||t[145]!==Tt||t[146]!==Et||t[147]!==Dt||t[148]!==Ot?($=(0,N.jsxs)(ge,{className:`shrink-0`,children:[Ct,(0,N.jsx)(pe,{className:`max-w-none pt-0`,children:(0,N.jsxs)(_e,{children:[J,X,wt,Tt,Et,Dt,Ot]})})]}),t[142]=J,t[143]=X,t[144]=wt,t[145]=Tt,t[146]=Et,t[147]=Dt,t[148]=Ot,t[149]=$):$=t[149];let kt;t[150]===R?kt=t[151]:(kt=(0,N.jsx)(sn,{url:R}),t[150]=R,t[151]=kt);let At;t[152]!==St||t[153]!==$||t[154]!==kt?(At=(0,N.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[St,$,kt]}),t[152]=St,t[153]=$,t[154]=kt,t[155]=At):At=t[155];let jt;return t[156]!==qe||t[157]!==At?(jt=(0,N.jsx)(me,{loading:qe,children:At}),t[156]=qe,t[157]=At,t[158]=jt):jt=t[158],jt}function qt(e){let t=(0,j.c)(3),[n,r]=(0,M.useState)(!1),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(e===0)return;r(!0);let t=setTimeout(()=>{r(!1)},Gt);return()=>{clearTimeout(t)}},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,M.useEffect)(i,a),n}function Jt(e){let t=(0,j.c)(6),{theme:n,onThemeChange:r}=e,i;t[0]===r?i=t[1]:(i=e=>{(e===`light`||e===`dark`||e===`system`)&&r(e)},t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=Bt.map(Yt),t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==n?(o=(0,N.jsx)(k,{title:`Appearance`,description:`Choose your preferred color scheme.`,controlLayout:`row-end`,action:(0,N.jsx)(Oe,{type:`single`,value:n,onValueChange:i,"aria-label":`Appearance`,className:Ut,children:a})}),t[3]=i,t[4]=n,t[5]=o):o=t[5],o}function Yt(e){let t=e.icon;return(0,N.jsx)(A,{value:e.value,"aria-label":e.label,className:Ht,children:(0,N.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}function Xt(e){let t=(0,j.c)(22),{wallpaperMode:n,wallpaperColor:r,onModeChange:i,onColorChange:a}=e,o;t[0]===i?o=t[1]:(o=e=>{(e===`image`||e===`background`||e===`color`)&&i(e)},t[0]=i,t[1]=o);let c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=Vt.map(Zt),t[2]=c):c=t[2];let l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=s(Ht,`relative overflow-hidden`),t[3]=l):l=t[3];let u;t[4]===r?u=t[5]:(u=(0,N.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:r},"aria-hidden":`true`}),t[4]=r,t[5]=u);let d;t[6]===i?d=t[7]:(d=()=>{i(`color`)},t[6]=i,t[7]=d);let f;t[8]!==a||t[9]!==i?(f=e=>{a(e.target.value),i(`color`)},t[8]=a,t[9]=i,t[10]=f):f=t[10];let p;t[11]!==d||t[12]!==f||t[13]!==r?(p=(0,N.jsx)(`input`,{type:`color`,value:r,"aria-label":`Choose wallpaper color`,className:`absolute inset-0 cursor-pointer opacity-0`,onPointerDown:d,onChange:f}),t[11]=d,t[12]=f,t[13]=r,t[14]=p):p=t[14];let m;t[15]!==u||t[16]!==p?(m=(0,N.jsxs)(A,{value:`color`,"aria-label":`Custom color`,className:l,children:[u,p]}),t[15]=u,t[16]=p,t[17]=m):m=t[17];let h;return t[18]!==o||t[19]!==m||t[20]!==n?(h=(0,N.jsx)(k,{title:`Wallpaper`,description:`Choose a scenic image, the theme background, or a custom color.`,controlLayout:`row-end`,action:(0,N.jsxs)(Oe,{type:`single`,value:n,onValueChange:o,"aria-label":`Wallpaper`,className:Ut,children:[c,m]})}),t[18]=o,t[19]=m,t[20]=n,t[21]=h):h=t[21],h}function Zt(e){let t=e.icon;return(0,N.jsx)(A,{value:e.value,"aria-label":e.label,className:Ht,children:(0,N.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}function Qt(e){let t=(0,j.c)(14),{brandColor:n,onColorChange:r,onReset:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=s(Ht,`relative cursor-pointer overflow-hidden`),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,N.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:n},"aria-hidden":`true`}),t[1]=n,t[2]=o);let c;t[3]===r?c=t[4]:(c=e=>{r(e.target.value)},t[3]=r,t[4]=c);let l;t[5]!==n||t[6]!==c?(l=(0,N.jsx)(`input`,{type:`color`,value:n,"aria-label":`Primary color`,className:`absolute inset-0 cursor-pointer opacity-0`,onChange:c}),t[5]=n,t[6]=c,t[7]=l):l=t[7];let u;t[8]!==o||t[9]!==l?(u=(0,N.jsx)(`div`,{className:Ut,children:(0,N.jsxs)(`label`,{className:a,children:[o,l]})}),t[8]=o,t[9]=l,t[10]=u):u=t[10];let d;return t[11]!==i||t[12]!==u?(d=(0,N.jsx)(k,{title:`Primary Color`,description:`Choose the primary accent color used across the app. Click the label to reset to default.`,controlLayout:`row-end`,onTitleClick:i,action:u}),t[11]=i,t[12]=u,t[13]=d):d=t[13],d}function $t(e){let t=(0,j.c)(10),{draftValue:n,defaultTurnCount:r,isLoading:i,isSaving:a,onChange:o,onBlur:s}=e,c=`Set how many turns a long-running agent chat can take before Tarsk asks whether to continue. Default: ${r} turns.`,l;t[0]===s?l=t[1]:(l=()=>{s()},t[0]=s,t[1]=l);let u=i||a,d;t[2]!==n||t[3]!==o||t[4]!==l||t[5]!==u?(d=(0,N.jsx)(ye,{type:`number`,min:1,step:1,value:n,onChange:o,onBlur:l,disabled:u,"aria-label":`Maximum turn count`,className:`w-28 text-right font-mono tabular-nums flex-shrink-0`}),t[2]=n,t[3]=o,t[4]=l,t[5]=u,t[6]=d):d=t[6];let f;return t[7]!==c||t[8]!==d?(f=(0,N.jsx)(k,{title:`Maximum Turn Count`,description:c,controlLayout:`row-end`,action:d}),t[7]=c,t[8]=d,t[9]=f):f=t[9],f}function en(e){let t=(0,j.c)(9),{title:n,description:r,value:i,isLoading:a,isSaving:o,ariaLabel:s,onChange:c}=e,l=a||o,u;t[0]!==s||t[1]!==c||t[2]!==l||t[3]!==i?(u=(0,N.jsx)(De,{value:i,onChange:c,disabled:l,ariaLabel:s}),t[0]=s,t[1]=c,t[2]=l,t[3]=i,t[4]=u):u=t[4];let d;return t[5]!==r||t[6]!==u||t[7]!==n?(d=(0,N.jsx)(k,{title:n,description:r,controlLayout:`row-end`,action:u}),t[5]=r,t[6]=u,t[7]=n,t[8]=d):d=t[8],d}function tn(e){let t=(0,j.c)(25),{status:n,isLoading:r,isOpeningSettings:a,openSettingsError:o,onRefresh:c,onOpenSettings:u}=e;if(!n?.isMacOS)return null;let d;t[0]!==r||t[1]!==n?.granted?(d=!r&&n?.granted?(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(y,{className:`h-4 w-4 text-green-500`}),(0,N.jsx)(`span`,{className:s(i.body,`text-green-600 dark:text-green-400`),children:`Permission granted`})]}):r?null:(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsx)(f,{className:`h-4 w-4 text-amber-500`}),(0,N.jsx)(`span`,{className:s(i.body,`text-amber-600 dark:text-amber-400`),children:`Permission not granted`})]}),t[0]=r,t[1]=n?.granted,t[2]=d):d=t[2];let g;t[3]===c?g=t[4]:(g=()=>void c(),t[3]=c,t[4]=g);let _;t[5]===r?_=t[6]:(_=r?(0,N.jsx)(m,{className:`h-3.5 w-3.5 animate-spin`}):(0,N.jsx)(l,{className:`h-3.5 w-3.5`}),t[5]=r,t[6]=_);let v;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,N.jsx)(`span`,{className:`sr-only`,children:`Refresh permission status`}),t[7]=v):v=t[7];let b;t[8]!==r||t[9]!==g||t[10]!==_?(b=(0,N.jsxs)(x,{variant:`ghost`,size:`icon-sm`,className:`h-7 w-7 shrink-0 rounded-full border-0 bg-background hover:bg-background hover:text-foreground`,onClick:g,disabled:r,children:[_,v]}),t[8]=r,t[9]=g,t[10]=_,t[11]=b):b=t[11];let S;t[12]!==d||t[13]!==b?(S=(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[d,b]}),t[12]=d,t[13]=b,t[14]=S):S=t[14];let C;t[15]!==r||t[16]!==a||t[17]!==u||t[18]!==o||t[19]!==n?.granted||t[20]!==n?.message?(C=!r&&!n?.granted?(0,N.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,N.jsx)(`p`,{className:i.bodyMuted,children:n?.message??`Tarsk needs Screen & Audio Recording permission to use browser tools.`}),(0,N.jsx)(x,{size:`sm`,onClick:()=>void u(),disabled:a,className:`w-fit`,children:a?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(m,{className:`h-4 w-4 mr-2 animate-spin`}),`Opening Settings...`]}):(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(h,{className:`h-4 w-4 mr-2`}),`Open System Settings`]})}),o&&(0,N.jsxs)(`div`,{className:`flex items-start gap-2 p-3 rounded-md bg-destructive/10 text-destructive`,children:[(0,N.jsx)(p,{className:`h-4 w-4 mt-0.5 flex-shrink-0`}),(0,N.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,N.jsx)(`p`,{className:i.body,children:`Failed to open System Settings`}),(0,N.jsx)(`p`,{className:i.bodyMuted,children:o}),(0,N.jsxs)(`p`,{className:i.bodyMuted,children:[`Please open it manually:`,` `,(0,N.jsx)(`strong`,{children:`System Settings > Privacy & Security > Screen & System Audio Recording`})]})]})]})]}):null,t[15]=r,t[16]=a,t[17]=u,t[18]=o,t[19]=n?.granted,t[20]=n?.message,t[21]=C):C=t[21];let w;return t[22]!==S||t[23]!==C?(w=(0,N.jsx)(k,{title:`Screen & Audio Recording`,description:`Tarsk needs this macOS permission to capture screen content for browser tools and screen sharing features.`,controlLayout:`row-end`,action:S,children:C}),t[22]=S,t[23]=C,t[24]=w):w=t[24],w}function nn(e){let t=(0,j.c)(15),{supported:n,enabled:r,healthy:a,message:o,isLoading:s,isSaving:c,onChange:l}=e;if(!n)return null;let u=r&&a,d;t[0]!==a||t[1]!==l?(d=e=>{e&&!a||l(e).catch(rn)},t[0]=a,t[1]=l,t[2]=d):d=t[2];let p=s||c,m=!a,h;t[3]!==u||t[4]!==d||t[5]!==p||t[6]!==m?(h=(0,N.jsx)(De,{value:u,onChange:d,disabled:p,disableOn:m,ariaLabel:`Sandbox`}),t[3]=u,t[4]=d,t[5]=p,t[6]=m,t[7]=h):h=t[7];let g;t[8]!==a||t[9]!==s||t[10]!==o?(g=!s&&!a?(0,N.jsxs)(`div`,{className:`flex items-start gap-2 text-destructive`,children:[(0,N.jsx)(f,{className:`h-4 w-4 mt-0.5 shrink-0`}),(0,N.jsx)(`p`,{className:i.bodyMuted,children:o||`Seatbelt sandbox failed its health check and cannot be enabled.`})]}):null,t[8]=a,t[9]=s,t[10]=o,t[11]=g):g=t[11];let _;return t[12]!==h||t[13]!==g?(_=(0,N.jsx)(k,{title:`Sandbox`,description:`Sandbox tools like bash and skill script execution to allow running and testing code safely without risking your system, files, or data.`,controlLayout:`row-end`,action:h,children:g}),t[12]=h,t[13]=g,t[14]=_):_=t[14],_}function rn(){}function an(e){let t=(0,j.c)(25),{enabled:n,logPath:r,isEnvConfigured:a,ingestingHost:o,isLoading:c,isSaving:l,onChange:u,onCopyPath:d}=e,f=c||l,p;t[0]!==n||t[1]!==u||t[2]!==f?(p=(0,N.jsx)(E,{asChild:!0,children:(0,N.jsx)(`span`,{className:`inline-flex`,children:(0,N.jsx)(De,{value:n,onChange:u,disabled:f,ariaLabel:`Logging`})})}),t[0]=n,t[1]=u,t[2]=f,t[3]=p):p=t[3];let m=n&&r?`max-w-sm cursor-pointer`:`max-w-sm`,h;t[4]!==n||t[5]!==r||t[6]!==d?(h=n&&r?()=>void d():void 0,t[4]=n,t[5]=r,t[6]=d,t[7]=h):h=t[7];let g;t[8]!==n||t[9]!==r?(g=n&&r?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(`p`,{children:`Click to copy log file path`}),(0,N.jsx)(`p`,{className:s(i.mono,`mt-1 break-all`),children:r})]}):(0,N.jsx)(`p`,{children:`Enable logging to write to a local file.`}),t[8]=n,t[9]=r,t[10]=g):g=t[10];let _;t[11]!==m||t[12]!==h||t[13]!==g?(_=(0,N.jsx)(te,{className:m,onClick:h,children:g}),t[11]=m,t[12]=h,t[13]=g,t[14]=_):_=t[14];let v;t[15]!==p||t[16]!==_?(v=(0,N.jsxs)(ne,{children:[p,_]}),t[15]=p,t[16]=_,t[17]=v):v=t[17];let y;t[18]!==n||t[19]!==o||t[20]!==a?(y=n&&a&&o&&(0,N.jsxs)(`p`,{className:`${i.bodyMuted} mt-3`,children:[`Also sending logs to Better Stack at`,` `,(0,N.jsx)(`span`,{className:i.mono,children:o})]}),t[18]=n,t[19]=o,t[20]=a,t[21]=y):y=t[21];let b;return t[22]!==v||t[23]!==y?(b=(0,N.jsx)(k,{title:`Logging`,description:`Write verbose application logs to a local file. When Better Stack environment variables are configured, logs are sent there too.`,controlLayout:`row-end`,action:v,children:y}),t[22]=v,t[23]=y,t[24]=b):b=t[24],b}function on(e){let t=(0,j.c)(23),{bindMode:n,isLoading:r,isSaving:a,networkAddresses:o,needsRestart:s,showMobileQrCode:c,mobileNetworkUrl:l,copiedUrl:u,onChangeMode:d,onCopyUrl:f}=e,p=n===`network`,m;t[0]===d?m=t[1]:(m=e=>{d(e?`network`:`local`)},t[0]=d,t[1]=m);let h=r||a,g;t[2]!==p||t[3]!==m||t[4]!==h?(g=(0,N.jsx)(De,{value:p,onChange:m,disabled:h,ariaLabel:`Mobile & Network Access`}),t[2]=p,t[3]=m,t[4]=h,t[5]=g):g=t[5];let y;t[6]!==u||t[7]!==l||t[8]!==s||t[9]!==f||t[10]!==c?(y=c&&l&&(0,N.jsxs)(`div`,{className:`mt-3`,children:[(0,N.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,N.jsxs)(`p`,{className:i.bodyMuted,children:[`Available on the network at:`,` `,(0,N.jsx)(`span`,{className:i.mono,children:l})]}),(0,N.jsxs)(ne,{children:[(0,N.jsx)(E,{asChild:!0,children:(0,N.jsxs)(`button`,{type:`button`,onClick:()=>void f(),className:`inline-flex h-7 w-7 items-center justify-center rounded-md border border-border bg-background/90 text-foreground shadow-sm transition-colors hover:bg-background`,children:[u?(0,N.jsx)(_,{className:`h-3.5 w-3.5 text-green-500`}):(0,N.jsx)(v,{className:`h-3.5 w-3.5`}),(0,N.jsx)(`span`,{className:`sr-only`,children:`Copy network URL`})]})}),(0,N.jsx)(te,{children:u?`Copied!`:`Copy to clipboard`})]})]}),s&&(0,N.jsx)(`p`,{className:`${i.bodyMuted} mt-1`,children:`You will need to restart for this setting to take effect.`})]}),t[6]=u,t[7]=l,t[8]=s,t[9]=f,t[10]=c,t[11]=y):y=t[11];let b;t[12]!==n||t[13]!==o?(b=n===`network`&&o.length===0&&(0,N.jsx)(`p`,{className:`${i.bodyMuted} mt-3`,children:`No network IP addresses were detected on this computer.`}),t[12]=n,t[13]=o,t[14]=b):b=t[14];let x;t[15]!==n||t[16]!==s?(x=s&&n===`local`&&(0,N.jsx)(`p`,{className:`${i.bodyMuted} mt-3`,children:`You will need to restart for this setting to take effect.`}),t[15]=n,t[16]=s,t[17]=x):x=t[17];let S;return t[18]!==g||t[19]!==y||t[20]!==b||t[21]!==x?(S=(0,N.jsxs)(k,{title:`Mobile & Network Access`,description:`Allow the Tarsk mobile app or other web browsers to access Tarsk on the wifi network.`,controlLayout:`row-end`,action:g,children:[y,b,x]}),t[18]=g,t[19]=y,t[20]=b,t[21]=x,t[22]=S):S=t[22],S}function sn(e){let t=(0,j.c)(3),{url:n}=e;if(!n)return null;let r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,N.jsx)(ve,{title:`Mobile App`,description:`Scan this code with the Tarsk mobile app to connect on your Wi-Fi network.`,sticky:!1}),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,N.jsxs)(ge,{className:`shrink-0`,children:[r,(0,N.jsx)(`div`,{className:`flex flex-col items-center px-6 pb-6 pt-6`,children:(0,N.jsx)(`div`,{className:`rounded-lg bg-background p-3`,children:(0,N.jsx)(zt,{value:n,size:128,bgColor:`hsl(var(--background))`,fgColor:`hsl(var(--foreground))`,level:`M`})})})]}),t[1]=n,t[2]=i),i}export{Kt as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime-aKtaBQYM.js";import{n as e,o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{Ft as r}from"./dist-DNkA3vYh.js";import{t as i}from"./utils-B-qS8qMg.js";import{A as a,d as o}from"./lucide-react-B-115rul.js";import{t as s}from"./button-B5aMz2Rk.js";import{i as c,n as l,r as u,t as d}from"./tooltip-Dvmz78Z_.js";import{Ct as f,Tr as p,ir as m}from"./index-DD_a7tQU.js";import"./card-DRr14MEQ.js";var h=e();t();var g=n();function _(e){let t=(0,h.c)(14),{icon:n,title:a,description:o,bordered:s}=e,c=(s===void 0?!0:s)&&`border border-dashed rounded-lg`,l;t[0]===c?l=t[1]:(l=i(`text-center py-12 mb-8`,c),t[0]=c,t[1]=l);let u;t[2]===n?u=t[3]:(u=(0,g.jsx)(n,{className:`mx-auto h-10 w-10 text-muted-foreground/50 mb-3`}),t[2]=n,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=i(r.emptyStateTitle,`mb-1`),t[4]=d):d=t[4];let f;t[5]===a?f=t[6]:(f=(0,g.jsx)(`h3`,{className:d,children:a}),t[5]=a,t[6]=f);let p;t[7]===o?p=t[8]:(p=o?(0,g.jsx)(`p`,{className:i(r.bodyMuted,`mb-3`),children:o}):null,t[7]=o,t[8]=p);let m;return t[9]!==l||t[10]!==u||t[11]!==f||t[12]!==p?(m=(0,g.jsxs)(`div`,{className:l,children:[u,f,p]}),t[9]=l,t[10]=u,t[11]=f,t[12]=p,t[13]=m):m=t[13],m}function v(e){let t=(0,h.c)(12),{placeholder:n,value:r,onChange:o,className:s}=e,c=s??`mb-4`,l;t[0]===c?l=t[1]:(l=i(`relative`,c),t[0]=c,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,g.jsx)(a,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground pointer-events-none`}),t[2]=u):u=t[2];let d;t[3]===o?d=t[4]:(d=e=>o(e.target.value),t[3]=o,t[4]=d);let f;t[5]!==n||t[6]!==d||t[7]!==r?(f=(0,g.jsx)(p,{placeholder:n,value:r,onChange:d,className:`pl-8`}),t[5]=n,t[6]=d,t[7]=r,t[8]=f):f=t[8];let m;return t[9]!==l||t[10]!==f?(m=(0,g.jsxs)(`div`,{className:l,children:[u,f]}),t[9]=l,t[10]=f,t[11]=m):m=t[11],m}function y(e){let t=(0,h.c)(3),{searchQuery:n,emptyLabel:a}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=i(r.bodyMuted,`text-center py-8`),t[0]=o):o=t[0];let s=n.trim()?`No results for "${n}"`:a,c;return t[1]===s?c=t[2]:(c=(0,g.jsx)(`p`,{className:o,children:s}),t[1]=s,t[2]=c),c}function b(e){let t=(0,h.c)(3),{message:n}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=i(r.bodyMuted,`text-center py-8`),t[0]=a):a=t[0];let o;return t[1]===n?o=t[2]:(o=(0,g.jsx)(`p`,{className:a,children:n}),t[1]=n,t[2]=o),o}var x=`shrink-0 items-center justify-center text-muted-foreground opacity-0 pointer-events-none can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto can-hover:hover:bg-destructive can-hover:hover:text-destructive-foreground transition-[opacity,color,background-color]`;function S(e){let t=(0,h.c)(19),{loading:n,items:r,emptyState:a,getKey:p,columnsClassName:v,compact:y,showHeader:b,renderContent:S,renderMiddle:C,onItemClick:w,itemClickLabel:T,onDelete:E,deleteAriaLabel:D,deleteTooltip:O}=e,k=v===void 0?`grid-cols-[minmax(0,1fr)_1.75rem]`:v,A=y===void 0?!1:y,j=b===void 0?!0:b,M;t[0]===j?M=t[1]:(M=j?(0,g.jsx)(f,{title:`Installed`}):null,t[0]=j,t[1]=M);let N;t[2]!==k||t[3]!==A||t[4]!==D||t[5]!==O||t[6]!==a||t[7]!==p||t[8]!==T||t[9]!==r||t[10]!==n||t[11]!==E||t[12]!==w||t[13]!==S||t[14]!==C?(N=n?(0,g.jsxs)(`div`,{className:`space-y-3 mb-8`,children:[(0,g.jsx)(m,{className:i(`w-full`,A?`h-9`:`h-12`)}),(0,g.jsx)(m,{className:i(`w-full`,A?`h-9`:`h-12`)})]}):r.length===0?(0,g.jsx)(_,{...a}):(0,g.jsx)(`div`,{className:`divide-y divide-table-border`,children:r.map(e=>(0,g.jsxs)(`div`,{className:i(`group grid items-center gap-3 px-3 hover:bg-muted/30`,A?`min-h-10 py-2`:`min-h-13 py-3`,k,w&&`cursor-pointer`),role:w?`button`:void 0,tabIndex:w?0:void 0,"aria-label":w?T?.(e):void 0,onClick:w?()=>w(e):void 0,onKeyDown:w?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),w(e))}:void 0,children:[S(e),C?.(e),(0,g.jsx)(u,{children:(0,g.jsxs)(d,{children:[(0,g.jsx)(c,{asChild:!0,children:(0,g.jsx)(s,{type:`button`,variant:`ghost`,size:`icon-sm`,className:x,onClick:t=>{t.stopPropagation(),E(e)},"aria-label":D(e),children:(0,g.jsx)(o,{className:`h-4 w-4`})})}),(0,g.jsx)(l,{children:O})]})})]},p(e)))}),t[2]=k,t[3]=A,t[4]=D,t[5]=O,t[6]=a,t[7]=p,t[8]=T,t[9]=r,t[10]=n,t[11]=E,t[12]=w,t[13]=S,t[14]=C,t[15]=N):N=t[15];let P;return t[16]!==M||t[17]!==N?(P=(0,g.jsxs)(g.Fragment,{children:[M,N]}),t[16]=M,t[17]=N,t[18]=P):P=t[18],P}export{v as a,y as i,_ as n,b as o,S as r,x as t};
|
package/dist/public/assets/{settings-logs-view-DbKM1SNk.js → settings-logs-view-BCRjz-Fr.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
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{l as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{A as a,
|
|
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{l as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{A as a,Ft as o,P as s,j as c}from"./dist-DNkA3vYh.js";import{t as l}from"./utils-B-qS8qMg.js";import{dt as u,gn as d,nn as f}from"./lucide-react-B-115rul.js";import{t as p}from"./button-B5aMz2Rk.js";import{i as m,n as h,r as g,t as _}from"./tooltip-Dvmz78Z_.js";import{Ln as v,Mr as y,u as b}from"./api-OO3KSG8d.js";import{r as x}from"./scroll-area-DwRwR2nQ.js";import{$n as S,At as C,Fn as w,St as T,Tr as E}from"./index-DD_a7tQU.js";import{n as D,t as ee}from"./toggle-group-UiksQ0n9.js";var O=e(n(),1),k=t();function A(e,t){let n=[...e,t];return n.length>5e3?n.slice(n.length-a):n}function j(e,t){if(e.type!==`ping`){if(e.type===`snapshot`){t(e.entries);return}if(e.type===`cleared`){t([]);return}t(t=>A(t,e.entry))}}function te(e,t){if(t.isCancelled()||t.isAborted())return;let n=e instanceof Error?e.message:String(e);if(y(n)||t.sawSuccessfulStream){t.scheduleReconnect();return}t.setConnecting(!1),t.reportHardFailure(n),t.scheduleReconnect()}function ne(e,t,n){let r=(t+e).split(`
|
|
2
2
|
`),i=r.pop()??``;for(let e of r){let t=e.trim();if(!t)continue;let r;try{r=JSON.parse(t)}catch{continue}n(r)}return i}var M=r(),re=1e3,N=[c.INFO,c.WARN,c.ERROR],P=[...N],F=`inline-flex h-11 shrink-0 rounded-full border bg-muted/40 p-2`,I=l(o.compact,`h-7 min-w-0 rounded-full border-0 px-2.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`);function ie(e,t){return t?[e.event,e.message,R(e.level),e.data===void 0?``:z(e.data)].join(` `).toLowerCase().includes(t):!0}function L(e){let t=typeof e==`number`?e:Number(e);return t===c.DEBUG||t===c.INFO||t===c.WARN||t===c.ERROR?t:null}function R(e){let t=L(e);return t===null?String(e):s(t)}function ae(e,t){let n=L(e.level);return n!==null&&t.has(n)}function z(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function B(e){switch(L(e)??e){case c.ERROR:return`text-destructive`;case c.WARN:return`text-amber-600 dark:text-amber-400`;case c.INFO:return`text-foreground`;default:return`text-muted-foreground`}}function V(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function H(e){let t=[`${e.ts} ${R(e.level)} ${e.event}`,e.message];return e.data!==void 0&&t.push(z(e.data)),t.join(`
|
|
3
|
-
`)}var U=(0,O.memo)(function(e){let t=(0,k.c)(40),{entry:n,copied:r,onCopy:i}=e,a;t[0]!==n||t[1]!==i?(a=()=>i(n),t[0]=n,t[1]=i,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=r?(0,M.jsx)(
|
|
3
|
+
`)}var U=(0,O.memo)(function(e){let t=(0,k.c)(40),{entry:n,copied:r,onCopy:i}=e,a;t[0]!==n||t[1]!==i?(a=()=>i(n),t[0]=n,t[1]=i,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=r?(0,M.jsx)(d,{className:`h-3.5 w-3.5 text-green-500`}):(0,M.jsx)(f,{className:`h-3.5 w-3.5`}),t[3]=r,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,M.jsx)(`span`,{className:`sr-only`,children:`Copy log entry`}),t[5]=s):s=t[5];let c;t[6]!==a||t[7]!==o?(c=(0,M.jsx)(m,{asChild:!0,children:(0,M.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-7 w-7 items-center justify-center rounded-md border border-border bg-background/90 text-foreground shadow-sm hover:bg-background`,children:[o,s]})}),t[6]=a,t[7]=o,t[8]=c):c=t[8];let u=r?`Copied!`:`Copy to clipboard`,p;t[9]===u?p=t[10]:(p=(0,M.jsx)(h,{children:u}),t[9]=u,t[10]=p);let g;t[11]!==c||t[12]!==p?(g=(0,M.jsx)(`div`,{className:`absolute top-2 right-2 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100`,children:(0,M.jsxs)(_,{children:[c,p]})}),t[11]=c,t[12]=p,t[13]=g):g=t[13];let v;t[14]===n.ts?v=t[15]:(v=V(n.ts),t[14]=n.ts,t[15]=v);let y;t[16]===v?y=t[17]:(y=(0,M.jsx)(`span`,{className:`text-muted-foreground tabular-nums`,children:v}),t[16]=v,t[17]=y);let b;t[18]===n.level?b=t[19]:(b=l(`font-semibold`,B(n.level)),t[18]=n.level,t[19]=b);let x;t[20]===n.level?x=t[21]:(x=R(n.level),t[20]=n.level,t[21]=x);let S;t[22]!==b||t[23]!==x?(S=(0,M.jsx)(`span`,{className:b,children:x}),t[22]=b,t[23]=x,t[24]=S):S=t[24];let C;t[25]===n.event?C=t[26]:(C=(0,M.jsx)(`span`,{className:`text-muted-foreground`,children:n.event}),t[25]=n.event,t[26]=C);let w;t[27]!==S||t[28]!==C||t[29]!==y?(w=(0,M.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[y,S,C]}),t[27]=S,t[28]=C,t[29]=y,t[30]=w):w=t[30];let T;t[31]===n.message?T=t[32]:(T=(0,M.jsx)(`p`,{className:`mt-0.5 whitespace-pre-wrap break-words text-foreground`,children:n.message}),t[31]=n.message,t[32]=T);let E;t[33]===n.data?E=t[34]:(E=n.data===void 0?null:(0,M.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words text-muted-foreground`,children:z(n.data)}),t[33]=n.data,t[34]=E);let D;return t[35]!==w||t[36]!==T||t[37]!==E||t[38]!==g?(D=(0,M.jsxs)(`li`,{className:`group relative min-w-0 px-3 py-2 pr-10 hover:bg-muted/40 select-text`,children:[g,w,T,E]}),t[35]=w,t[36]=T,t[37]=E,t[38]=g,t[39]=D):D=t[39],D});function W(){let[e]=i(),t=e.get(`q`)??``,[n,r]=(0,O.useState)([]),[a,c]=(0,O.useState)(t),[y,k]=(0,O.useState)(P),[A,L]=(0,O.useState)(!0),[R,z]=(0,O.useState)(!1),[B,V]=(0,O.useState)(null),[W,G]=(0,O.useState)(!1),[K,q]=(0,O.useState)(null),J=(0,O.useRef)(null),Y=(0,O.useRef)(null);(0,O.useEffect)(()=>{t&&c(t)},[t]),(0,O.useEffect)(()=>{let e=!1,t=null,n=null,i=new AbortController,a=!1,o=!1;function s(){e||n||(L(!0),n=setTimeout(()=>{n=null,u()},re))}function c(e){j(e,r)}function l(t){te(t,{isCancelled:()=>e,isAborted:()=>i.signal.aborted,sawSuccessfulStream:a,scheduleReconnect:s,setConnecting:L,reportHardFailure:e=>{o||(o=!0,S({title:`Failed to connect to log feed`,description:e,variant:`destructive`}))}})}async function u(){if(!e){L(!0);try{let n=await v({signal:i.signal});if(!n||e){n&&e&&n.cancel().catch(()=>{});return}t=n.getReader();let r=new TextDecoder,o=``;for(a=!0,L(!1);!e;){let{done:e,value:n}=await t.read();if(e)break;o=ne(r.decode(n,{stream:!0}),o,c)}e||s()}catch(e){l(e)}}}return u(),()=>{e=!0,i.abort(),n&&clearTimeout(n),t?.cancel().catch(()=>{})}},[]),(0,O.useEffect)(()=>()=>{J.current&&clearTimeout(J.current),Y.current&&clearTimeout(Y.current)},[]);let X=(0,O.useCallback)(async e=>{try{await navigator.clipboard.writeText(H(e)),V(e.id),J.current&&clearTimeout(J.current),J.current=setTimeout(()=>{V(null),J.current=null},1500)}catch(e){S({title:`Failed to copy log entry`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},[]);async function oe(e){if(e.length!==0)try{await navigator.clipboard.writeText(e.map(e=>H(e)).join(`
|
|
4
4
|
|
|
5
|
-
`)),G(!0),Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{G(!1),Y.current=null},1500)}catch(e){S({title:`Failed to copy logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}}async function se(){z(!0);try{await b()}catch(e){S({title:`Failed to clear logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{z(!1)}}let Z=a.trim().toLowerCase(),ce=new Set(
|
|
5
|
+
`)),G(!0),Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{G(!1),Y.current=null},1500)}catch(e){S({title:`Failed to copy logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}}async function se(){z(!0);try{await b()}catch(e){S({title:`Failed to clear logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{z(!1)}}let Z=a.trim().toLowerCase(),ce=new Set(y),Q=n.filter(e=>ae(e,ce)&&ie(e,Z)),le=(0,O.useCallback)((e,t)=>(0,M.jsx)(U,{entry:t,copied:B===t.id,onCopy:X}),[B,X]);function $(){return y.length===0?`No log levels selected.`:Z?`No logs match this search.`:n.length===0?`No logs in the buffer yet.`:`No logs match the selected levels.`}return(0,M.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:(0,M.jsxs)(C,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[(0,M.jsx)(T,{title:`Logs`,description:`Live in memory feed of events`,action:(0,M.jsx)(p,{type:`button`,onClick:()=>void se(),disabled:R||n.length===0,children:R?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(u,{className:`mr-2 h-4 w-4 animate-spin`}),`Clearing...`]}):`Clear`})}),(0,M.jsxs)(`div`,{className:`mb-4 mt-4 flex w-full min-w-0 items-center gap-3 electrobun-webkit-app-region-no-drag`,children:[(0,M.jsx)(E,{value:a,onChange:e=>c(e.target.value),placeholder:`Search`,className:`min-w-0 flex-1`,"aria-label":`Search logs`}),(0,M.jsx)(ee,{type:`multiple`,value:y.map(e=>s(e)),onValueChange:e=>{k(N.filter(t=>e.includes(s(t))))},"aria-label":`Log levels`,variant:`outline`,size:`sm`,className:F,children:N.map(e=>(0,M.jsx)(D,{value:s(e),"aria-label":s(e),className:I,children:s(e)},e))}),(0,M.jsx)(g,{children:(0,M.jsxs)(_,{children:[(0,M.jsx)(m,{asChild:!0,children:(0,M.jsxs)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void oe(Q),disabled:Q.length===0,children:[W?(0,M.jsx)(d,{className:`h-3.5 w-3.5 text-green-500`}):(0,M.jsx)(f,{className:`h-3.5 w-3.5`}),(0,M.jsx)(`span`,{className:`sr-only`,children:`Copy visible logs`})]})}),(0,M.jsx)(h,{children:W?`Copied!`:`Copy visible logs to clipboard`})]})})]}),(0,M.jsx)(x,{viewportRef:q,className:`mb-6 w-full min-h-0 min-w-0 flex-1 rounded-md border bg-background font-mono text-xs`,children:A&&n.length===0?(0,M.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-muted-foreground`,children:[(0,M.jsx)(u,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):Q.length===0?(0,M.jsx)(`p`,{className:l(o.bodyMuted,`p-4 font-sans`),children:$()}):(0,M.jsx)(g,{children:(0,M.jsx)(w,{data:Q,computeItemKey:(e,t)=>t.id,customScrollParent:K??void 0,itemContent:le,followOutput:e=>e?`auto`:!1,overscan:500,className:`w-full min-w-0`})})})]})})}export{W as default};
|