tarsk 0.5.83 → 0.6.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +3505 -1220
- package/dist/public/assets/account-view-3IQai5GD.js +1 -0
- package/dist/public/assets/{alert-dialog-Dq9tEk9t.js → alert-dialog-L9wWQsMo.js} +1 -1
- package/dist/public/assets/api-BPfzuuZQ.js +2 -0
- package/dist/public/assets/{async-error-boundary-BS6v_PGo.js → async-error-boundary-CaqfvYIw.js} +1 -1
- package/dist/public/assets/browser-tab-VPXEbJGQ.js +12 -0
- package/dist/public/assets/{button-zYjzm__g.js → button-BRUlmKU9.js} +1 -1
- package/dist/public/assets/{card-CpchkvHM.js → card-m4ducAvD.js} +1 -1
- package/dist/public/assets/{chat-dock-context-DQmDS2i8.js → chat-dock-context-Br2lSNOf.js} +1 -1
- package/dist/public/assets/{commit-dialog-D6hchKSJ.js → commit-dialog-Ck94WauZ.js} +1 -1
- package/dist/public/assets/{commit-error-dialog-f7e8Qzpk.js → commit-error-dialog-B3Ba-TT-.js} +1 -1
- package/dist/public/assets/{commit-method-fields-6Ag-XY8a.js → commit-method-fields-BPRRj550.js} +1 -1
- package/dist/public/assets/conversation-history-view-Db-FOQwf.js +1 -0
- package/dist/public/assets/{create-project-dialog-DkxC6wM-.js → create-project-dialog-Chy1ooEs.js} +2 -2
- package/dist/public/assets/{create-repo-dialog-Y8dcOitj.js → create-repo-dialog-B8xz3jgU.js} +1 -1
- package/dist/public/assets/{delete-confirm-dialog-DvJ5VuAy.js → delete-confirm-dialog-Dg-9HMkY.js} +1 -1
- package/dist/public/assets/diff-view-CvrpMMk8.js +4 -0
- package/dist/public/assets/{dist-B-I0i8QZ.js → dist--8XEk-cL.js} +1 -1
- package/dist/public/assets/{dist-CX9ud_WC.js → dist-B_pwyFAz.js} +1 -1
- package/dist/public/assets/{dist-CPtOAqwP.js → dist-BrF4sqHu.js} +1 -1
- package/dist/public/assets/dist-C99qsdM0.js +2 -0
- package/dist/public/assets/{dist-lnsB93_y.js → dist-Cw2XrcBQ.js} +1 -1
- package/dist/public/assets/{dist-B6u0s1jB.js → dist-DPNQj0XL.js} +1 -1
- package/dist/public/assets/{dist-BJaGHz0F.js → dist-Dje5NBVh.js} +1 -1
- package/dist/public/assets/{dist-BhdiICUV.js → dist-DrOhoOxi.js} +1 -1
- package/dist/public/assets/{es2015-D67vh4rt.js → es2015-CkF7yGpJ.js} +1 -1
- package/dist/public/assets/{explorer-monaco-editor-C9uTsYgh.js → explorer-monaco-editor-mJ5cqcNE.js} +1 -1
- package/dist/public/assets/explorer-tab-view-CEWqpsav.js +2 -0
- package/dist/public/assets/explorer-tree-8N74JCtr.js +1 -0
- package/dist/public/assets/{explorer-view-5wUektaN.js → explorer-view-BdDHnhdp.js} +3 -3
- package/dist/public/assets/{git-history-dialog-CgH_0Ho0.js → git-history-dialog-DT0imFFW.js} +1 -1
- package/dist/public/assets/index-BlKnosL1.css +1 -0
- package/dist/public/assets/index-CU6xcKiy.js +114 -0
- package/dist/public/assets/{lucide-react-CMzSV2MP.js → lucide-react-DW-FYOQd.js} +1 -1
- package/dist/public/assets/{model-list-controls-ueD5Yk6B.js → model-list-controls-CfF-PN1k.js} +1 -1
- package/dist/public/assets/onboarding-dialog-CcTILQuy.js +1 -0
- package/dist/public/assets/{pill-tabs-CVcpOO4f.js → pill-tabs-C_XjoE72.js} +1 -1
- package/dist/public/assets/{progress-indicator-_fEKurQg.js → progress-indicator-EuomTuL6.js} +1 -1
- package/dist/public/assets/project-coding-view-37T_EVWc.js +1 -0
- package/dist/public/assets/{project-danger-zone-view-CtOeSKHP.js → project-danger-zone-view-B639X16E.js} +1 -1
- package/dist/public/assets/{project-env-vars-view-D8zFtC0r.js → project-env-vars-view-BB1ffcba.js} +1 -1
- package/dist/public/assets/project-model-aliases-view-CWhc457F.js +1 -0
- package/dist/public/assets/project-settings-view-BRTta676.js +1 -0
- package/dist/public/assets/{project-tools-view-DrwiTff5.js → project-tools-view-Ce73nfbH.js} +1 -1
- package/dist/public/assets/providers-list-view-DXk_pD4Y.js +1 -0
- package/dist/public/assets/pull-request-dialog-Cbg7Nmcx.js +1 -0
- package/dist/public/assets/{pull-with-changes-dialog-Mrdm4wbB.js → pull-with-changes-dialog-DZeHGFhc.js} +1 -1
- package/dist/public/assets/{push-before-pr-dialog-Ce8MMKT-.js → push-before-pr-dialog-D5fWfVUs.js} +1 -1
- package/dist/public/assets/{query-keys-C2vEjHA1.js → query-keys-C4ROIgnU.js} +1 -1
- package/dist/public/assets/{scroll-area-BTpvIsIG.js → scroll-area-jzW_lBt7.js} +1 -1
- package/dist/public/assets/{settings-general-tabs-view-Cg4sWryU.js → settings-general-tabs-view-DC6f8G1d.js} +2 -2
- package/dist/public/assets/settings-general-view-6TVzZ21Z.js +1 -0
- package/dist/public/assets/{settings-list-DajPoFxt.js → settings-list-DkQ2w1jX.js} +1 -1
- package/dist/public/assets/settings-logs-view-TPz2vcaO.js +5 -0
- package/dist/public/assets/settings-mcp-servers-view-CBGrusEF.js +5 -0
- package/dist/public/assets/settings-models-view-HZlhD_SR.js +1 -0
- package/dist/public/assets/{settings-plugins-view-CJvYXOb6.js → settings-plugins-view-B0FAYlr5.js} +2 -2
- package/dist/public/assets/settings-providers-view-sqm5pUAH.js +2 -0
- package/dist/public/assets/{settings-setup-view-0NvbMts_.js → settings-setup-view-C73a21hF.js} +2 -2
- package/dist/public/assets/settings-skills-view-BRYzGHT0.js +2 -0
- package/dist/public/assets/{settings-slack-view-DH7r2apv.js → settings-slack-view-By7cLQ_l.js} +1 -1
- package/dist/public/assets/settings-slash-commands-view-DFBRrsy5.js +1 -0
- package/dist/public/assets/{settings-statistics-view-mlcoR26Q.js → settings-statistics-view-C5e27kYx.js} +1 -1
- package/dist/public/assets/{settings-storage-view-DuN42zRw.js → settings-storage-view-qZyKd-8X.js} +1 -1
- package/dist/public/assets/{settings-subagents-view-C1r3Jtpe.js → settings-subagents-view-DpFwkfvX.js} +2 -2
- package/dist/public/assets/{settings-system-prompt-view-DcbUbDfa.js → settings-system-prompt-view-cMKBgBkJ.js} +1 -1
- package/dist/public/assets/{settings-tab-bar-T8v2_Dfk.js → settings-tab-bar-e6L6Mkoe.js} +1 -1
- package/dist/public/assets/{settings-view-Bv5QDh0H.js → settings-view-DHejRFnv.js} +2 -2
- package/dist/public/assets/{slug-utils-DhQjuU2J.js → slug-utils-CuSw2LoU.js} +1 -1
- package/dist/public/assets/store-HOyKbtQR.js +9 -0
- package/dist/public/assets/{table-DuD2DtkR.js → table-BIZvZqu5.js} +1 -1
- package/dist/public/assets/tasks-view-B0giBUuf.js +1 -0
- package/dist/public/assets/{terminal-panel-BmphDRj0.js → terminal-panel-dKlWiwk4.js} +3 -3
- package/dist/public/assets/{toggle-group-D0gDKZ9x.js → toggle-group-DP7rfPQH.js} +1 -1
- package/dist/public/assets/{tooltip-6qlOE6WT.js → tooltip-C0Zn4uFr.js} +1 -1
- package/dist/public/assets/{use-active-dock-panel-instance-CDcYJhbD.js → use-active-dock-panel-instance-CKfR28OB.js} +1 -1
- package/dist/public/assets/{use-git-check-CZxYYnQ8.js → use-git-check-B94BHSs1.js} +1 -1
- package/dist/public/assets/use-installed-ai-files-CkWgs7ki.js +1 -0
- package/dist/public/assets/{useBaseQuery-DqLwB2Sq.js → useBaseQuery-LTUHnxp5.js} +1 -1
- package/dist/public/assets/{utils-uGptTPGm.js → utils-DIi62oP7.js} +1 -1
- package/dist/public/assets/{web-D8PJDFGq.js → web-C8RXkvWV.js} +1 -1
- package/dist/public/assets/{web-CutQ8Xsm.js → web-CTvU5lBF.js} +1 -1
- package/dist/public/assets/{web-Us0pibUb.js → web-DfgvqvRM.js} +1 -1
- package/dist/public/assets/{web-B5i03FJP.js → web-DjiMWZNY.js} +1 -1
- package/dist/public/index.html +23 -23
- package/dist/vosk-worker.js.gz +0 -0
- package/package.json +9 -7
- package/dist/public/assets/account-view-CJyN7iRT.js +0 -1
- package/dist/public/assets/api-CX0sFbpL.js +0 -2
- package/dist/public/assets/browser-tab-Cj4ztL1i.js +0 -12
- package/dist/public/assets/conversation-history-view-Dd6vfz4F.js +0 -1
- package/dist/public/assets/diff-view-L1jxq-Ig.js +0 -4
- package/dist/public/assets/dist-FJzwWcMv.js +0 -2
- package/dist/public/assets/explorer-tab-view-BD924tmt.js +0 -2
- package/dist/public/assets/explorer-tree-Cn6lp8jD.js +0 -1
- package/dist/public/assets/index-DCWejG57.css +0 -1
- package/dist/public/assets/index-DpDgcOE9.js +0 -114
- package/dist/public/assets/onboarding-dialog-pDK_d92N.js +0 -1
- package/dist/public/assets/project-coding-view-CCT83rVv.js +0 -1
- package/dist/public/assets/project-model-aliases-view-t1nijA2C.js +0 -1
- package/dist/public/assets/project-settings-view-C4kg3nDX.js +0 -1
- package/dist/public/assets/providers-list-view-DXRbYpKr.js +0 -1
- package/dist/public/assets/pull-request-dialog-D4JEkCWC.js +0 -1
- package/dist/public/assets/settings-general-view-Cl1qPgIX.js +0 -1
- package/dist/public/assets/settings-logs-view-C2SUOaIF.js +0 -5
- package/dist/public/assets/settings-mcp-servers-view-BuGFdY9u.js +0 -5
- package/dist/public/assets/settings-models-view-Dh8eZR6v.js +0 -1
- package/dist/public/assets/settings-providers-view-CxZnVxuu.js +0 -2
- package/dist/public/assets/settings-skills-view-DT6Ldvfn.js +0 -2
- package/dist/public/assets/settings-slash-commands-view-DxlXk7eT.js +0 -1
- package/dist/public/assets/store-DCnnNgwq.js +0 -9
- package/dist/public/assets/tasks-view-D_TwmLgM.js +0 -1
- package/dist/public/assets/use-installed-ai-files-uH9h6W5v.js +0 -1
- package/dist/public/assets/vosk-speech-Fi-g2v8n.js +0 -2
|
@@ -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{$ as i,f as a,g as o,h as s,tn as c}from"./dist-C99qsdM0.js";import{s as l,t as u}from"./utils-DIi62oP7.js";import{An as d,F as f,_ as p,an as m,bt as h,dn as g,et as _,g as v,mn as y,pn as b,pt as x,tt as S,yn as C}from"./lucide-react-DW-FYOQd.js";import{t as w}from"./button-BRUlmKU9.js";import{g as T,h as E,t as D,u as O}from"./dist-DrOhoOxi.js";import{o as k}from"./dist-Cw2XrcBQ.js";import{i as A,n as j,t as M}from"./tooltip-C0Zn4uFr.js";import{$r as ee,Pi as N,Yr as P,et as F,nr as I,ta as te}from"./api-BPfzuuZQ.js";import{t as ne}from"./dist-Dje5NBVh.js";import{t as re}from"./dist-OixawqbU.js";import{i as L,r as ie}from"./scroll-area-jzW_lBt7.js";import{t as ae}from"./use-toast-xpb5jNtN.js";import{t as oe}from"./dist-CSssbxDI.js";import{Fr as R,Ft as se,H as ce,Hr as le,Ht as z,Ir as ue,L as de,Lr as fe,Lt as pe,Ot as B,R as me,Rr as he,Vr as V,_t as H,ar as ge,gt as _e,ht as ve,ir as ye,j as be,jt as U,n as xe,r as Se,rr as Ce,s as we,t as Te,vr as Ee,yr as De,z as Oe,zr as W,zt as ke}from"./index-CU6xcKiy.js";import{n as G,t as Ae}from"./toggle-group-DP7rfPQH.js";import{n as je,t as K}from"./commit-method-fields-BPRRj550.js";import{n as Me,r as Ne,t as Pe}from"./use-git-check-B94BHSs1.js";import{t as Fe}from"./use-settings-page-loading-CpaBd260.js";var q=t(),J=`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`,Ie=`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,Y=r(),Le=[{value:`light`,label:`Light`,icon:v},{value:`dark`,label:`Dark`,icon:_},{value:`system`,label:`System`,icon:p}];function Re(e){let t=(0,q.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=Le.map(ze),t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==n?(o=(0,Y.jsx)(B,{title:`Appearance`,description:`Choose your preferred color scheme.`,controlLayout:`row-end`,action:(0,Y.jsx)(Ae,{type:`single`,value:n,onValueChange:i,"aria-label":`Appearance`,className:Ie,children:a})}),t[3]=i,t[4]=n,t[5]=o):o=t[5],o}function ze(e){let t=e.icon;return(0,Y.jsx)(G,{value:e.value,"aria-label":e.label,className:J,children:(0,Y.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}var X=e(n(),1),Be=[`PageUp`,`PageDown`],Ve=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],He={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},Z=`Slider`,[Q,Ue,We]=ne(Z),[Ge,Ke]=E(Z,[We]),[qe,$]=Ge(Z),Je=X.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=X.useRef(new Set),_=X.useRef(0),v=o===`horizontal`?Ze:Qe,[y=[],b]=D({prop:u,defaultProp:l,onChange:e=>{[...g.current][_.current]?.focus(),d(e)}}),x=X.useRef(y);function S(e){E(e,ft(y,e))}function C(e){E(e,_.current)}function w(){let e=x.current[_.current];y[_.current]!==e&&f(y)}function E(e,t,{commit:n}={commit:!1}){let o=_t(a),s=L(vt(Math.round((e-r)/a)*a+r,o),[r,i]);b((e=[])=>{let r=lt(e,s,t);if(ht(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,Y.jsx)(qe,{scope:e.__scopeSlider,name:n,disabled:s,min:r,max:i,valueIndexToChangeRef:_,thumbs:g.current,values:y,orientation:o,form:m,children:(0,Y.jsx)(Q.Provider,{scope:e.__scopeSlider,children:(0,Y.jsx)(Q.Slot,{scope:e.__scopeSlider,children:(0,Y.jsx)(v,{"aria-disabled":s,"data-disabled":s?``:void 0,...h,ref:t,onPointerDown:T(h.onPointerDown,()=>{s||(x.current=y)}),min:r,max:i,inverted:p,onSlideStart:s?void 0:S,onSlideMove:s?void 0:C,onSlideEnd:s?void 0:w,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=Be.includes(e.key)||e.shiftKey&&Ve.includes(e.key)?10:1,r=_.current,i=y[r];E(i+a*n*t,r,{commit:!0})}}})})})})});Je.displayName=Z;var[Ye,Xe]=Ge(Z,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),Ze=X.forwardRef((e,t)=>{let{min:n,max:r,dir:i,inverted:a,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:u,...d}=e,[f,p]=X.useState(null),m=l(t,e=>p(e)),h=X.useRef(void 0),g=re(i),_=g===`ltr`,v=_&&!a||!_&&a;function y(e){let t=h.current||f.getBoundingClientRect(),i=gt([0,t.width],v?[n,r]:[r,n]);return h.current=t,i(e-t.left)}return(0,Y.jsx)(Ye,{scope:e.__scopeSlider,startEdge:v?`left`:`right`,endEdge:v?`right`:`left`,direction:v?1:-1,size:`width`,children:(0,Y.jsx)($e,{dir:g,"data-orientation":`horizontal`,...d,ref:m,style:{...d.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=y(e.clientX);o?.(t)},onSlideMove:e=>{let t=y(e.clientX);s?.(t)},onSlideEnd:()=>{h.current=void 0,c?.()},onStepKeyDown:e=>{let t=He[v?`from-left`:`from-right`].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),Qe=X.forwardRef((e,t)=>{let{min:n,max:r,inverted:i,onSlideStart:a,onSlideMove:o,onSlideEnd:s,onStepKeyDown:c,...u}=e,d=X.useRef(null),f=l(t,d),p=X.useRef(void 0),m=!i;function h(e){let t=p.current||d.current.getBoundingClientRect(),i=gt([0,t.height],m?[r,n]:[n,r]);return p.current=t,i(e-t.top)}return(0,Y.jsx)(Ye,{scope:e.__scopeSlider,startEdge:m?`bottom`:`top`,endEdge:m?`top`:`bottom`,size:`height`,direction:m?1:-1,children:(0,Y.jsx)($e,{"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);o?.(t)},onSlideEnd:()=>{p.current=void 0,s?.()},onStepKeyDown:e=>{let t=He[m?`from-bottom`:`from-top`].includes(e.key);c?.({event:e,direction:t?-1:1})}})})}),$e=X.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:c,...l}=e,u=$(Z,n);return(0,Y.jsx)(O.span,{...l,ref:t,onKeyDown:T(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(s(e),e.preventDefault()):Be.concat(Ve).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:T(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():r(e)}),onPointerMove:T(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:T(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})}),et=`SliderTrack`,tt=X.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=$(et,n);return(0,Y.jsx)(O.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})});tt.displayName=et;var nt=`SliderRange`,rt=X.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=$(nt,n),a=Xe(nt,n),o=l(t,X.useRef(null)),s=i.values.length,c=i.values.map(e=>ut(e,i.min,i.max)),u=s>1?Math.min(...c):0,d=100-Math.max(...c);return(0,Y.jsx)(O.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?``:void 0,...r,ref:o,style:{...e.style,[a.startEdge]:u+`%`,[a.endEdge]:d+`%`}})});rt.displayName=nt;var it=`SliderThumb`,at=X.forwardRef((e,t)=>{let n=Ue(e.__scopeSlider),[r,i]=X.useState(null),a=l(t,e=>i(e)),o=X.useMemo(()=>r?n().findIndex(e=>e.ref.current===r):-1,[n,r]);return(0,Y.jsx)(ot,{...e,ref:a,index:o})}),ot=X.forwardRef((e,t)=>{let{__scopeSlider:n,index:r,name:i,...a}=e,o=$(it,n),s=Xe(it,n),[c,u]=X.useState(null),d=l(t,e=>u(e)),f=c?o.form||!!c.closest(`form`):!0,p=k(c),m=o.values[r],h=m===void 0?0:ut(m,o.min,o.max),g=dt(r,o.values.length),_=p?.[s.size],v=_?pt(_,h,s.direction):0;return X.useEffect(()=>{if(c)return o.thumbs.add(c),()=>{o.thumbs.delete(c)}},[c,o.thumbs]),(0,Y.jsxs)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[s.startEdge]:`calc(${h}% + ${v}px)`},children:[(0,Y.jsx)(Q.ItemSlot,{scope:e.__scopeSlider,children:(0,Y.jsx)(O.span,{role:`slider`,"aria-label":e[`aria-label`]||g,"aria-valuemin":o.min,"aria-valuenow":m,"aria-valuemax":o.max,"aria-orientation":o.orientation,"data-orientation":o.orientation,"data-disabled":o.disabled?``:void 0,tabIndex:o.disabled?void 0:0,...a,ref:d,style:m===void 0?{display:`none`}:e.style,onFocus:T(e.onFocus,()=>{o.valueIndexToChangeRef.current=r})})}),f&&(0,Y.jsx)(ct,{name:i??(o.name?o.name+(o.values.length>1?`[]`:``):void 0),form:o.form,value:m},r)]})});at.displayName=it;var st=`RadioBubbleInput`,ct=X.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{let i=X.useRef(null),a=l(i,r),o=oe(t);return X.useEffect(()=>{let e=i.current;if(!e)return;let n=window.HTMLInputElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(o!==t&&r){let n=new Event(`input`,{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[o,t]),(0,Y.jsx)(O.input,{style:{display:`none`},...n,ref:a,defaultValue:t})});ct.displayName=st;function lt(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function ut(e,t,n){return L(100/(n-t)*(e-t),[0,100])}function dt(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function ft(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 pt(e,t,n){let r=e/2;return(r-gt([0,50],[0,r])(t)*n)*n}function mt(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function ht(e,t){if(t>0){let n=mt(e);return Math.min(...n)>=t}return!0}function gt(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 _t(e){return(String(e).split(`.`)[1]||``).length}function vt(e,t){let n=10**t;return Math.round(e*n)/n}var yt=Je,bt=tt,xt=rt,St=at,Ct=X.forwardRef((e,t)=>{let n=(0,q.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,s]=X.useState(!1),[c,l]=X.useState(!1),d,f;n[4]===c?(d=n[5],f=n[6]):(d=()=>{if(!c)return;let e=function(){l(!1)};return document.addEventListener(`pointerup`,e),()=>{document.removeEventListener(`pointerup`,e)}},f=[c],n[4]=c,n[5]=d,n[6]=f),X.useEffect(d,f);let p;n[7]===a?p=n[8]:(p=(0,Y.jsx)(St,{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&&(l(!0),s(!0))}}),n[7]=a,n[8]=p);let m=p,h;n[9]===r?h=n[10]:(h=u(`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,Y.jsx)(bt,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,Y.jsx)(xt,{className:`absolute h-full bg-primary`})}),n[11]=g):g=n[11];let _;n[12]!==c||n[13]!==o||n[14]!==m||n[15]!==a?(_=a==null?m:(0,Y.jsxs)(M,{open:o||c,onOpenChange:s,children:[(0,Y.jsx)(A,{asChild:!0,children:m}),(0,Y.jsx)(j,{side:`top`,children:a})]}),n[12]=c,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,Y.jsxs)(yt,{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});Ct.displayName=yt.displayName;function wt(e){let t=(0,q.c)(16),{scale:n,min:r,max:i,onChange:a}=e,o;t[0]===r?o=t[1]:(o=(0,Y.jsxs)(`span`,{className:`${c.bodyMuted} w-8 shrink-0 text-right`,children:[r,`%`]}),t[0]=r,t[1]=o);let s;t[2]===n?s=t[3]:(s=[n],t[2]=n,t[3]=s);let l=`${n}%`,u;t[4]!==i||t[5]!==r||t[6]!==a||t[7]!==s||t[8]!==l?(u=(0,Y.jsx)(Ct,{value:s,min:r,max:i,step:5,onValueChange:a,"aria-label":`Font size`,valueTooltip:l}),t[4]=i,t[5]=r,t[6]=a,t[7]=s,t[8]=l,t[9]=u):u=t[9];let d;t[10]===i?d=t[11]:(d=(0,Y.jsxs)(`span`,{className:`${c.bodyMuted} w-9 shrink-0`,children:[i,`%`]}),t[10]=i,t[11]=d);let f;return t[12]!==o||t[13]!==u||t[14]!==d?(f=(0,Y.jsx)(B,{title:`Font Size`,description:`Adjust the text size across the entire application.`,children:(0,Y.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[o,u,d]})}),t[12]=o,t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function Tt(e){let t=(0,q.c)(11),{open:n,onOpenChange:r}=e,i;t[0]===n?i=t[1]:(i={enabled:n,pollWhileMissing:!0},t[0]=n,t[1]=i);let a=Pe(i),o;t[2]===a?o=t[3]:(o=function(){return a.gitInstalled===null?(0,Y.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,Y.jsx)(x,{className:`h-5 w-5 animate-spin text-muted-foreground`})}):a.gitInstalled?(0,Y.jsx)(Me,{version:a.version}):(0,Y.jsx)(Ne,{platform:a.platform,plan:a.plan,checking:a.loading,onCheckAgain:()=>void a.check()})},t[2]=a,t[3]=o);let s=o,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Y.jsxs)(V,{children:[(0,Y.jsx)(le,{children:`Git setup`}),(0,Y.jsx)(W,{children:`Git powers version-control features in Tarsk. Install it here if it's missing.`})]}),t[4]=c):c=t[4];let l;t[5]===s?l=t[6]:(l=(0,Y.jsxs)(he,{className:`max-w-lg`,children:[c,(0,Y.jsx)(ie,{className:`max-h-[60dvh]`,children:s()})]}),t[5]=s,t[6]=l);let u;return t[7]!==r||t[8]!==n||t[9]!==l?(u=(0,Y.jsx)(fe,{open:n,onOpenChange:r,children:l}),t[7]=r,t[8]=n,t[9]=l,t[10]=u):u=t[10],u}function Et(){let e=(0,q.c)(6),[t,n]=(0,X.useState)(!1),r;if(e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={pollWhileMissing:!0},e[0]=r):r=e[0],Pe(r).gitInstalled!==!1)return null;let i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Y.jsx)(U,{title:`Git`,className:`[&>div:first-child]:py-2`,sticky:!1}),e[1]=i):i=e[1];let a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Y.jsx)(`span`,{className:`${c.bodyMuted} text-right`,children:`Not installed`}),e[2]=a):a=e[2];let o;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Y.jsx)(ke,{className:`max-w-none pt-0`,children:(0,Y.jsx)(pe,{children:(0,Y.jsx)(B,{title:`Git Installation`,description:`Git powers version-control features in Tarsk, like commits and branch history.`,children:(0,Y.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center justify-end gap-3`,children:[a,(0,Y.jsx)(w,{variant:`outline`,onClick:()=>n(!0),children:`Setup guide`})]})})})}),e[3]=o):o=e[3];let s;return e[4]===t?s=e[5]:(s=(0,Y.jsxs)(z,{className:`shrink-0`,children:[i,o,(0,Y.jsx)(Tt,{open:t,onOpenChange:n})]}),e[4]=t,e[5]=s),s}function Dt(e){let t=(0,q.c)(25),{enabled:n,logPath:r,isEnvConfigured:i,ingestingHost:a,isLoading:o,isSaving:s,onChange:l,onCopyPath:d}=e,f=o||s,p;t[0]!==n||t[1]!==l||t[2]!==f?(p=(0,Y.jsx)(A,{asChild:!0,children:(0,Y.jsx)(`span`,{className:`inline-flex`,children:(0,Y.jsx)(H,{value:n,onChange:l,disabled:f,ariaLabel:`Logging`})})}),t[0]=n,t[1]=l,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,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{children:`Click to copy log file path`}),(0,Y.jsx)(`p`,{className:u(c.mono,`mt-1 break-all`),children:r})]}):(0,Y.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,Y.jsx)(j,{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,Y.jsxs)(M,{children:[p,_]}),t[15]=p,t[16]=_,t[17]=v):v=t[17];let y;t[18]!==n||t[19]!==a||t[20]!==i?(y=n&&i&&a?(0,Y.jsxs)(`p`,{className:`${c.bodyMuted} mt-3`,children:[`Also sending logs to Better Stack at `,(0,Y.jsx)(`span`,{className:c.mono,children:a})]}):null,t[18]=n,t[19]=a,t[20]=i,t[21]=y):y=t[21];let b;return t[22]!==v||t[23]!==y?(b=(0,Y.jsx)(B,{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 Ot(e){let t=(0,q.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,Y.jsx)(ue,{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,Y.jsx)(B,{title:`Maximum Turn Count`,description:c,controlLayout:`row-end`,action:d}),t[7]=c,t[8]=d,t[9]=f):f=t[9],f}var kt=Object.defineProperty,At=Object.getOwnPropertySymbols,jt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,Nt=(e,t,n)=>t in e?kt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Pt=(e,t)=>{for(var n in t||={})jt.call(t,n)&&Nt(e,n,t[n]);if(At)for(var n of At(t))Mt.call(t,n)&&Nt(e,n,t[n]);return e},Ft=(e,t)=>{var n={};for(var r in e)jt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&At)for(var r of At(e))t.indexOf(r)<0&&Mt.call(e,r)&&(n[r]=e[r]);return n},It;(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})(It||={}),(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||={})})(It||={}),(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||={})})(It||={});var Lt=It,Rt={L:Lt.QrCode.Ecc.LOW,M:Lt.QrCode.Ecc.MEDIUM,Q:Lt.QrCode.Ecc.QUARTILE,H:Lt.QrCode.Ecc.HIGH},zt=128,Bt=`L`,Vt=`#FFFFFF`,Ht=`#000000`,Ut=!1,Wt=1,Gt=4,Kt=0,qt=.1;function Jt(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 Yt(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 Xt(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*qt),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 Zt(e,t){return t==null?e?Gt:Kt:Math.max(Math.floor(t),0)}function Qt({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=X.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...Lt.QrSegment.makeSegments(t)),e),[]);return Lt.QrCode.encodeSegments(r,Rt[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=X.useMemo(()=>{let e=c.getModules(),t=Zt(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:Xt(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var $t=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),en=X.forwardRef(function(e,t){let n=e,{value:r,size:i=zt,level:a=Bt,bgColor:o=Vt,fgColor:s=Ht,includeMargin:c=Ut,minVersion:l=Wt,boostLevel:u,marginSize:d,imageSettings:f}=n,p=Ft(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=Ft(p,[`style`]),g=f?.src,_=X.useRef(null),v=X.useRef(null),y=X.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=X.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=Qt({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});X.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=Yt(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,$t?t.fill(new Path2D(Jt(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)}}),X.useEffect(()=>{x(!1)},[g]);let E=Pt({height:i,width:i},m),D=null;return g!=null&&(D=X.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),X.createElement(X.Fragment,null,X.createElement(`canvas`,Pt({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});en.displayName=`QRCodeCanvas`;var tn=X.forwardRef(function(e,t){let n=e,{value:r,size:i=zt,level:a=Bt,bgColor:o=Vt,fgColor:s=Ht,includeMargin:c=Ut,minVersion:l=Wt,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=Ft(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=Qt({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=Yt(g,v.excavation)),b=X.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=Jt(y,h);return X.createElement(`svg`,Pt({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&X.createElement(`title`,null,d),X.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),X.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});tn.displayName=`QRCodeSVG`;function nn(e){try{return s(new URL(e).hostname)}catch{return!1}}function rn(e){let t=(0,q.c)(7),{url:n}=e;if(!n)return null;let r=nn(n)?`Scan this code with the Tarsk mobile app to open the public address.`:`Scan this code with the Tarsk mobile app to connect on your Wi-Fi network.`,i;t[0]===r?i=t[1]:(i=(0,Y.jsx)(U,{title:`Mobile App`,description:r,sticky:!1}),t[0]=r,t[1]=i);let a;t[2]===n?a=t[3]:(a=(0,Y.jsx)(`div`,{className:`flex flex-col items-center px-6 pb-6 pt-6`,children:(0,Y.jsx)(`div`,{className:`rounded-lg bg-background p-3`,children:(0,Y.jsx)(tn,{value:n,size:128,bgColor:`hsl(var(--background))`,fgColor:`hsl(var(--foreground))`,level:`M`})})}),t[2]=n,t[3]=a);let o;return t[4]!==i||t[5]!==a?(o=(0,Y.jsxs)(z,{className:`shrink-0`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6],o}function an(e){let t=(0,q.c)(15),{copied:n,label:r,onCopy:i}=e,a;t[0]===i?a=t[1]:(a=function(){i()},t[0]=i,t[1]=a);let o=a,s;t[2]===n?s=t[3]:(s=n?(0,Y.jsx)(C,{className:`h-3.5 w-3.5 text-green-500`}):(0,Y.jsx)(m,{className:`h-3.5 w-3.5`}),t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=(0,Y.jsx)(`span`,{className:`sr-only`,children:r}),t[4]=r,t[5]=c);let l;t[6]!==o||t[7]!==s||t[8]!==c?(l=(0,Y.jsx)(A,{asChild:!0,children:(0,Y.jsxs)(`button`,{type:`button`,onClick:o,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:[s,c]})}),t[6]=o,t[7]=s,t[8]=c,t[9]=l):l=t[9];let u=n?`Copied!`:`Copy to clipboard`,d;t[10]===u?d=t[11]:(d=(0,Y.jsx)(j,{children:u}),t[10]=u,t[11]=d);let f;return t[12]!==l||t[13]!==d?(f=(0,Y.jsxs)(M,{children:[l,d]}),t[12]=l,t[13]=d,t[14]=f):f=t[14],f}function on(e){let t=(0,q.c)(12),{label:n,url:r,copied:i,onCopy:a}=e,o;t[0]===r?o=t[1]:(o=(0,Y.jsx)(`span`,{className:c.mono,children:r}),t[0]=r,t[1]=o);let s;t[2]!==n||t[3]!==o?(s=(0,Y.jsxs)(`p`,{className:c.bodyMuted,children:[n,` `,o]}),t[2]=n,t[3]=o,t[4]=s):s=t[4];let l=`Copy ${n}`,u;t[5]!==i||t[6]!==a||t[7]!==l?(u=(0,Y.jsx)(an,{copied:i,label:l,onCopy:a}),t[5]=i,t[6]=a,t[7]=l,t[8]=u):u=t[8];let d;return t[9]!==s||t[10]!==u?(d=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[s,u]}),t[9]=s,t[10]=u,t[11]=d):d=t[11],d}function sn(e){let t=(0,q.c)(13),{bindMode:n,tunnelUrl:r,tunnelStatus:i,tunnelError:a,copiedTunnelUrl:o,onCopyTunnelUrl:s}=e,l=n===`network`,u=l&&!r&&i===`starting`,d=l&&i===`error`&&!!a,f;t[0]!==o||t[1]!==s||t[2]!==r?(f=r?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(on,{label:`Public address:`,url:r,copied:o,onCopy:s}),(0,Y.jsx)(`p`,{className:c.bodyMuted,children:`Anyone who opens this address must sign in as you. Tarsk keeps this address for this computer.`})]}):null,t[0]=o,t[1]=s,t[2]=r,t[3]=f):f=t[3];let p;t[4]===u?p=t[5]:(p=u?(0,Y.jsx)(`p`,{className:c.bodyMuted,children:`Starting a public address…`}):null,t[4]=u,t[5]=p);let m;t[6]!==d||t[7]!==a?(m=d?(0,Y.jsx)(`p`,{className:c.bodyMuted,children:a}):null,t[6]=d,t[7]=a,t[8]=m):m=t[8];let h;return t[9]!==f||t[10]!==p||t[11]!==m?(h=(0,Y.jsxs)(`div`,{className:`mt-3 flex flex-col gap-2`,children:[f,p,m]}),t[9]=f,t[10]=p,t[11]=m,t[12]=h):h=t[12],h}function cn(){let e=(0,q.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Y.jsx)(`p`,{className:`${c.bodyMuted} mt-3`,children:`Log in before turning this on.`}),e[0]=t):t=e[0],t}function ln(e){let t=(0,q.c)(2),{bindMode:n,tunnelUrl:r}=e,i=n===`network`&&!r?` The public address appears after restart.`:``,a;return t[0]===i?a=t[1]:(a=(0,Y.jsxs)(`p`,{className:`${c.bodyMuted} mt-3`,children:[`You will need to restart for this setting to take effect.`,i]}),t[0]=i,t[1]=a),a}function un(e){let t=(0,q.c)(26),{bindMode:n,signedIn:r,isLoading:i,isSaving:o,needsRestart:s,tunnelUrl:c,tunnelStatus:l,tunnelError:u,copiedTunnelUrl:d,onChangeMode:f,onCopyTunnelUrl:p}=e,m=!!(c||l===`starting`||u),h=!r&&n!==`network`,g;t[0]===f?g=t[1]:(g=function(e){f(e?`network`:`local`)},t[0]=f,t[1]=g);let _=g,v=n===`network`,y=i||o,b=!r,x;t[2]!==_||t[3]!==v||t[4]!==y||t[5]!==b?(x=(0,Y.jsx)(H,{value:v,onChange:_,disabled:y,disableOn:b,ariaLabel:`Mobile & Network Access`}),t[2]=_,t[3]=v,t[4]=y,t[5]=b,t[6]=x):x=t[6];let S;t[7]!==n||t[8]!==d||t[9]!==p||t[10]!==m||t[11]!==u||t[12]!==l||t[13]!==c?(S=m?(0,Y.jsx)(sn,{bindMode:n,tunnelUrl:c,tunnelStatus:l,tunnelError:u,copiedTunnelUrl:d,onCopyTunnelUrl:p}):null,t[7]=n,t[8]=d,t[9]=p,t[10]=m,t[11]=u,t[12]=l,t[13]=c,t[14]=S):S=t[14];let C;t[15]===h?C=t[16]:(C=h?(0,Y.jsx)(cn,{}):null,t[15]=h,t[16]=C);let w;t[17]!==n||t[18]!==s||t[19]!==c?(w=s?(0,Y.jsx)(ln,{bindMode:n,tunnelUrl:c}):null,t[17]=n,t[18]=s,t[19]=c,t[20]=w):w=t[20];let T;return t[21]!==x||t[22]!==S||t[23]!==C||t[24]!==w?(T=(0,Y.jsxs)(B,{title:`Mobile & Network Access`,description:`Reach Tarsk from a phone or another computer. Tarsk opens a public address at https://<id>.${a} when this is on. You must be signed in.`,controlLayout:`row-end`,action:x,children:[S,C,w]}),t[21]=x,t[22]=S,t[23]=C,t[24]=w,t[25]=T):T=t[25],T}function dn(e){let t=(0,q.c)(16),{opacity:n,min:r,max:i,onChange:a}=e,o;t[0]===r?o=t[1]:(o=(0,Y.jsxs)(`span`,{className:`${c.bodyMuted} w-8 shrink-0 text-right`,children:[r,`%`]}),t[0]=r,t[1]=o);let s;t[2]===n?s=t[3]:(s=[n],t[2]=n,t[3]=s);let l=`${n}%`,u;t[4]!==i||t[5]!==r||t[6]!==a||t[7]!==s||t[8]!==l?(u=(0,Y.jsx)(Ct,{value:s,min:r,max:i,step:5,onValueChange:a,"aria-label":`Panel opacity`,valueTooltip:l}),t[4]=i,t[5]=r,t[6]=a,t[7]=s,t[8]=l,t[9]=u):u=t[9];let d;t[10]===i?d=t[11]:(d=(0,Y.jsxs)(`span`,{className:`${c.bodyMuted} w-9 shrink-0`,children:[i,`%`]}),t[10]=i,t[11]=d);let f;return t[12]!==o||t[13]!==u||t[14]!==d?(f=(0,Y.jsx)(B,{title:`Panel Opacity`,description:`Adjust how opaque the frosted panels are over the wallpaper.`,children:(0,Y.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[o,u,d]})}),t[12]=o,t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function fn(e){let t=(0,q.c)(14),{brandColor:n,onColorChange:r,onReset:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=u(J,`relative cursor-pointer overflow-hidden`),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,Y.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 s;t[3]===r?s=t[4]:(s=e=>{r(e.target.value)},t[3]=r,t[4]=s);let c;t[5]!==n||t[6]!==s?(c=(0,Y.jsx)(`input`,{type:`color`,value:n,"aria-label":`Primary color`,className:`absolute inset-0 cursor-pointer opacity-0`,onChange:s}),t[5]=n,t[6]=s,t[7]=c):c=t[7];let l;t[8]!==o||t[9]!==c?(l=(0,Y.jsx)(`div`,{className:Ie,children:(0,Y.jsxs)(`label`,{className:a,children:[o,c]})}),t[8]=o,t[9]=c,t[10]=l):l=t[10];let d;return t[11]!==i||t[12]!==l?(d=(0,Y.jsx)(B,{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:l}),t[11]=i,t[12]=l,t[13]=d):d=t[13],d}function pn(e){let t=(0,q.c)(7),{error:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Y.jsx)(y,{className:`h-4 w-4 mt-0.5 flex-shrink-0`}),t[0]=r):r=t[0];let i;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Y.jsx)(`p`,{className:c.body,children:`Failed to open System Settings`}),t[1]=i):i=t[1];let a;t[2]===n?a=t[3]:(a=(0,Y.jsx)(`p`,{className:c.bodyMuted,children:n}),t[2]=n,t[3]=a);let o;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Y.jsxs)(`p`,{className:c.bodyMuted,children:[`Please open it manually:`,` `,(0,Y.jsx)(`strong`,{children:`System Settings > Privacy & Security > Screen & System Audio Recording`})]}),t[4]=o):o=t[4];let s;return t[5]===a?s=t[6]:(s=(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 p-3 rounded-md bg-destructive/10 text-destructive`,children:[r,(0,Y.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[i,a,o]})]}),t[5]=a,t[6]=s),s}function mn(e){let t=(0,q.c)(16),{message:n,isOpeningSettings:r,openSettingsError:i,onOpenSettings:a}=e,o=n??`Tarsk needs Screen & Audio Recording permission to use browser tools.`,s;t[0]===o?s=t[1]:(s=(0,Y.jsx)(`p`,{className:c.bodyMuted,children:o}),t[0]=o,t[1]=s);let l;t[2]===a?l=t[3]:(l=()=>void a(),t[2]=a,t[3]=l);let u;t[4]===r?u=t[5]:(u=r?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(x,{className:`h-4 w-4 mr-2 animate-spin`}),`Opening Settings...`]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(S,{className:`h-4 w-4 mr-2`}),`Open System Settings`]}),t[4]=r,t[5]=u);let d;t[6]!==r||t[7]!==l||t[8]!==u?(d=(0,Y.jsx)(w,{size:`sm`,onClick:l,disabled:r,className:`w-fit`,children:u}),t[6]=r,t[7]=l,t[8]=u,t[9]=d):d=t[9];let f;t[10]===i?f=t[11]:(f=i?(0,Y.jsx)(pn,{error:i}):null,t[10]=i,t[11]=f);let p;return t[12]!==s||t[13]!==d||t[14]!==f?(p=(0,Y.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[s,d,f]}),t[12]=s,t[13]=d,t[14]=f,t[15]=p):p=t[15],p}function hn(e){let t=(0,q.c)(2),{granted:n}=e;if(n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(b,{className:`h-4 w-4 text-green-500`}),(0,Y.jsx)(`span`,{className:u(c.body,`text-green-600 dark:text-green-400`),children:`Permission granted`})]}),t[0]=e):e=t[0],e}let r;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(g,{className:`h-4 w-4 text-amber-500`}),(0,Y.jsx)(`span`,{className:u(c.body,`text-amber-600 dark:text-amber-400`),children:`Permission not granted`})]}),t[1]=r):r=t[1],r}function gn(e){let t=(0,q.c)(24),{status:n,isLoading:r,isOpeningSettings:i,openSettingsError:a,onRefresh:o,onOpenSettings:s}=e;if(!n?.isMacOS)return null;let c;t[0]!==r||t[1]!==n?(c=r?null:(0,Y.jsx)(hn,{granted:!!n.granted}),t[0]=r,t[1]=n,t[2]=c):c=t[2];let l;t[3]===o?l=t[4]:(l=()=>void o(),t[3]=o,t[4]=l);let u;t[5]===r?u=t[6]:(u=r?(0,Y.jsx)(x,{className:`h-3.5 w-3.5 animate-spin`}):(0,Y.jsx)(f,{className:`h-3.5 w-3.5`}),t[5]=r,t[6]=u);let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Y.jsx)(`span`,{className:`sr-only`,children:`Refresh permission status`}),t[7]=d):d=t[7];let p;t[8]!==r||t[9]!==l||t[10]!==u?(p=(0,Y.jsxs)(w,{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:l,disabled:r,children:[u,d]}),t[8]=r,t[9]=l,t[10]=u,t[11]=p):p=t[11];let m;t[12]!==c||t[13]!==p?(m=(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,p]}),t[12]=c,t[13]=p,t[14]=m):m=t[14];let h;t[15]!==r||t[16]!==i||t[17]!==s||t[18]!==a||t[19]!==n?(h=!r&&!n.granted?(0,Y.jsx)(mn,{message:n.message,isOpeningSettings:i,openSettingsError:a,onOpenSettings:s}):null,t[15]=r,t[16]=i,t[17]=s,t[18]=a,t[19]=n,t[20]=h):h=t[20];let g;return t[21]!==m||t[22]!==h?(g=(0,Y.jsx)(B,{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:m,children:h}),t[21]=m,t[22]=h,t[23]=g):g=t[23],g}function _n(e){let t=(0,q.c)(10),{allowAllCommands:n,patterns:r,disabled:i,onRemove:a}=e;if(n||r.length===0)return null;let o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Y.jsx)(R,{children:`Allowed command patterns`}),t[0]=o):o=t[0];let s;if(t[1]!==i||t[2]!==a||t[3]!==r){let e;t[5]!==i||t[6]!==a?(e=e=>(0,Y.jsxs)(`li`,{className:`flex items-center justify-between rounded-md border border-border px-3 py-2`,children:[(0,Y.jsx)(`code`,{className:u(c.mono,c.bodyMuted),children:e}),(0,Y.jsx)(w,{type:`button`,variant:`ghost`,size:`sm`,disabled:i,onClick:()=>a(e),children:`Remove`})]},e),t[5]=i,t[6]=a,t[7]=e):e=t[7],s=r.map(e),t[1]=i,t[2]=a,t[3]=r,t[4]=s}else s=t[4];let l;return t[8]===s?l=t[9]:(l=(0,Y.jsxs)(`div`,{className:`space-y-2 mt-3`,children:[o,(0,Y.jsx)(`ul`,{className:`space-y-1`,children:s})]}),t[8]=s,t[9]=l),l}function vn(e){let t=(0,q.c)(15),{allowAllCommands:n,allowedCommandPatterns:r,isLoading:i,isSaving:a,onConfirmCommandsChange:o,onPatternsChange:s}=e,c=i||a,l=!n,u;t[0]!==c||t[1]!==o||t[2]!==l?(u=(0,Y.jsx)(H,{value:l,onChange:o,disabled:c,ariaLabel:`Confirm Commands`}),t[0]=c,t[1]=o,t[2]=l,t[3]=u):u=t[3];let d;t[4]!==r||t[5]!==s?(d=e=>s(r.filter(t=>t!==e)),t[4]=r,t[5]=s,t[6]=d):d=t[6];let f;t[7]!==n||t[8]!==r||t[9]!==c||t[10]!==d?(f=(0,Y.jsx)(_n,{allowAllCommands:n,patterns:r,disabled:c,onRemove:d}),t[7]=n,t[8]=r,t[9]=c,t[10]=d,t[11]=f):f=t[11];let p;return t[12]!==u||t[13]!==f?(p=(0,Y.jsx)(B,{title:`Confirm Commands`,description:`When enabled, the agent asks for approval before running bash commands, skill scripts, and browser shell calls.`,controlLayout:`row-end`,action:u,children:f}),t[12]=u,t[13]=f,t[14]=p):p=t[14],p}var yn=[{value:`full`,label:`Full`},{value:`minimal`,label:`Minimal`}];function bn(e){let t=(0,q.c)(6),{level:n,onChange:r}=e,i;t[0]===r?i=t[1]:(i=function(e){(e===`full`||e===`minimal`)&&r(e)},t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=yn.map(function(e){return(0,Y.jsx)(G,{value:e.value,"aria-label":e.label,className:u(c.body,je),children:e.label},e.value)}),t[2]=a):a=t[2];let o;return t[3]!==n||t[4]!==i?(o=(0,Y.jsx)(B,{title:`Conversation Level`,description:`Minimal shows each prompt and the final reply. Full includes tool activity.`,controlLayout:`row-end`,action:(0,Y.jsx)(Ae,{type:`single`,value:n,onValueChange:i,"aria-label":`Conversation Level`,className:K,children:a})}),t[3]=n,t[4]=i,t[5]=o):o=t[5],o}function xn(e){let t=(0,q.c)(15),{supported:n,enabled:r,healthy:i,message:a,isLoading:o,isSaving:s,onChange:l}=e;if(!n)return null;let u=r&&i,d;t[0]!==i||t[1]!==l?(d=e=>{e&&!i||l(e).catch(Sn)},t[0]=i,t[1]=l,t[2]=d):d=t[2];let f=o||s,p=!i,m;t[3]!==u||t[4]!==d||t[5]!==f||t[6]!==p?(m=(0,Y.jsx)(H,{value:u,onChange:d,disabled:f,disableOn:p,ariaLabel:`Sandbox`}),t[3]=u,t[4]=d,t[5]=f,t[6]=p,t[7]=m):m=t[7];let h;t[8]!==i||t[9]!==o||t[10]!==a?(h=!o&&!i?(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 text-destructive`,children:[(0,Y.jsx)(g,{className:`h-4 w-4 mt-0.5 shrink-0`}),(0,Y.jsx)(`p`,{className:c.bodyMuted,children:a||`Seatbelt sandbox failed its health check and cannot be enabled.`})]}):null,t[8]=i,t[9]=o,t[10]=a,t[11]=h):h=t[11];let _;return t[12]!==m||t[13]!==h?(_=(0,Y.jsx)(B,{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:m,children:h}),t[12]=m,t[13]=h,t[14]=_):_=t[14],_}function Sn(){}function Cn(e){let t=(0,q.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,Y.jsx)(H,{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,Y.jsx)(B,{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}var wn=i(`app.use-maximum-turn-count.hook`),Tn=100;function En(){let[e,t]=(0,X.useState)(Tn),[n,r]=(0,X.useState)(Tn.toString()),[i,a]=(0,X.useState)(!0),[o,s]=(0,X.useState)(!1);(0,X.useEffect)(()=>{let e=!1;async function n(){try{let n=await F();e||(t(n.maximumTurnCount),r(n.maximumTurnCount.toString()))}catch(e){wn.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 I({maximumTurnCount:e});t(n.maximumTurnCount),r(n.maximumTurnCount.toString())}catch(e){throw wn.error(`Failed to update maximum turn count:`,e),e}finally{s(!1)}}function u(){r(e.toString())}return{defaultMaximumTurnCount:Tn,draftMaximumTurnCount:n,isLoading:i,isSaving:o,maximumTurnCount:e,resetDraftMaximumTurnCount:u,setDraftMaximumTurnCount:c,updateMaximumTurnCount:l}}var Dn=i(`app.use-screen-recording-permission.hook`),On={isMacOS:!1,granted:!1,available:!1,message:``};function kn(){return{...On,isMacOS:de()}}function An(){let[e,t]=(0,X.useState)(kn),[n,r]=(0,X.useState)(!0),[i,a]=(0,X.useState)(null),[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(null),u=(0,X.useCallback)(async()=>{r(!0),a(null);try{t(await P(`api/system-permissions/screen-recording`))}catch(e){a(e instanceof Error?e.message:`Failed to check screen recording permission`),t(e=>({...On,isMacOS:e?.isMacOS??de(),message:`Unable to check permission status.`}))}finally{r(!1)}},[]);return(0,X.useEffect)(()=>{u()},[u]),{status:e,isLoading:n,error:i,isOpeningSettings:o,openSettingsError:c,refresh:u,openSystemSettings:(0,X.useCallback)(async()=>{s(!0),l(null);try{let e=await ee(`api/system-permissions/screen-recording/open-settings`,{});if(!e.success){let t=e.message||`Failed to open System Settings`;Dn.error(`[useScreenRecordingPermission] ${t}`,e.error),l(t)}}catch(e){let t=e instanceof Error?e.message:`Failed to open System Settings`;Dn.error(`[useScreenRecordingPermission] Error opening System Settings:`,e),l(t)}finally{s(!1)}},[])}}var jn=i(`app.use-server-bind-mode.hook`),Mn=`local`,Nn=`tarsk-server-bind-mode-changed`;function Pn(e){te(e)}function Fn(){if(typeof window>`u`)return!1;try{return sessionStorage.getItem(Nn)===`true`}catch{return!1}}function In(e){if(!(typeof window>`u`))try{e?sessionStorage.setItem(Nn,`true`):sessionStorage.removeItem(Nn)}catch{}}function Ln(){let{session:e,isLoading:t}=Ee(),n=e?`${e.email}\n${e.jti}`:``,[r,i]=(0,X.useState)(()=>N()?.serverBindMode??Mn),[a,s]=(0,X.useState)(null),[c,l]=(0,X.useState)(()=>N()?.networkAddresses??[]),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(`off`),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(()=>N()===null),[v,y]=(0,X.useState)(!1),[b,x]=(0,X.useState)(Fn);function S(e){d(e.tunnelUrl),p(e.tunnelStatus),h(e.tunnelError)}(0,X.useEffect)(()=>{if(t)return;let e=!1;async function n(){try{let t=await F();e||(i(t.serverBindMode),s(t.serverBindMode),l(t.networkAddresses),S(t),Pn({networkAddresses:t.networkAddresses,serverBindMode:t.serverBindMode}))}catch(e){jn.error(`Failed to load server bind mode:`,e)}finally{e||_(!1)}}return n(),function(){e=!0}},[t,n]);async function C(e){y(!0);try{let t=await I({serverBindMode:e});i(t.serverBindMode),l(t.networkAddresses),S(t),Pn({networkAddresses:t.networkAddresses,serverBindMode:t.serverBindMode}),x(!0),In(!0)}catch(e){throw jn.error(`Failed to update server bind mode:`,e),ae({title:`Could not update network access`,description:e instanceof Error?e.message:`Could not update network access.`,variant:`destructive`}),e}finally{y(!1)}}let w=a!==null&&r!==a,T=w||b,E=r===`network`&&(f===`starting`||f===`off`&&!T),D=(0,X.useSyncExternalStore)(ye,Ce,()=>!1),O=ge(),k=O&&D;return(0,X.useEffect)(function(){if(O)return ce(function(e){e===`tunnel`&&F().then(function(e){S(e)}).catch(function(){})})},[O]),(0,X.useEffect)(function(){if(k)return we(function(e){o(e.status)&&(d(e.url),p(e.status),h(e.error))})},[k]),(0,X.useEffect)(()=>{if(g||!E||k)return;let e=0,t=!1,n=setInterval(function(){if(e+=1,e>20){clearInterval(n);return}F().then(function(e){t||S(e)}).catch(function(){})},2e3);return function(){t=!0,clearInterval(n)}},[g,E,k]),{defaultServerBindMode:Mn,hasServerBindModeChanged:w,isLoading:g,isSaving:v,needsRestart:T,networkAddresses:c,serverBindMode:r,tunnelError:m,tunnelStatus:f,tunnelUrl:u,updateServerBindMode:C}}var Rn=i(`app.use-logging.hook`);function zn(){let[e,t]=(0,X.useState)(!1),[n,r]=(0,X.useState)(null),[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(null),[c,l]=(0,X.useState)(!0),[u,d]=(0,X.useState)(!1);(0,X.useEffect)(()=>{let e=!1;async function n(){try{let n=await F();e||(t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost))}catch(e){Rn.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 I({loggingEnabled:e});t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost)}catch(e){throw Rn.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 Bn=i(`app.use-confirm-commands.hook`);function Vn(){let[e,t]=(0,X.useState)(!0),[n,r]=(0,X.useState)([]),[i,a]=(0,X.useState)(!0),[o,s]=(0,X.useState)(!1);(0,X.useEffect)(()=>{let e=!1;async function n(){try{let n=await F();e||(t(n.allowAllCommands!==!1),r(n.allowedCommandPatterns??[]))}catch(e){Bn.error(`Failed to load confirm commands setting:`,e)}finally{e||a(!1)}}return n(),()=>{e=!0}},[]);async function c(e){s(!0);try{let n=await I({allowAllCommands:!e});t(n.allowAllCommands!==!1),r(n.allowedCommandPatterns??[])}catch(e){throw Bn.error(`Failed to update confirm commands setting:`,e),e}finally{s(!1)}}async function l(e){s(!0);try{let n=await I({allowedCommandPatterns:e});t(n.allowAllCommands!==!1),r(n.allowedCommandPatterns??[])}catch(e){throw Bn.error(`Failed to update allowed command patterns:`,e),e}finally{s(!1)}}return{allowAllCommands:e,allowedCommandPatterns:n,isLoading:i,isSaving:o,updateConfirmCommandsEnabled:c,updateAllowedCommandPatterns:l}}var Hn=600;function Un(e){let t=(0,q.c)(3),[n,r]=(0,X.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)},Hn);return()=>{clearTimeout(t)}},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,X.useEffect)(i,a),n}function Wn(e){let t=(0,q.c)(100),n=Un(e),{theme:r,setTheme:i}=be(),{scale:a,updateScale:o,min:s,max:c}=Se(),{opacity:l,updateOpacity:u,min:d,max:f}=xe(),{mode:p,color:m,updateMode:h,updateColor:g}=me(),{color:_,updateColor:v,resetColor:y}=Te(),{defaultMaximumTurnCount:b,draftMaximumTurnCount:x,isLoading:S,isSaving:C,resetDraftMaximumTurnCount:w,setDraftMaximumTurnCount:T,updateMaximumTurnCount:E}=En(),{status:D,isLoading:O,isOpeningSettings:k,openSettingsError:A,refresh:j,openSystemSettings:M}=An(),{session:ee,isLoading:N}=Ee(),{isLoading:P,isSaving:F,needsRestart:I,serverBindMode:te,tunnelError:ne,tunnelStatus:re,tunnelUrl:L,updateServerBindMode:ie}=Ln(),{isEnabled:oe,isLoading:R,isSaving:se,updateIsEnabled:ce}=ve(),{isEnabled:le,isLoading:z,isSaving:ue,updateIsEnabled:de}=De(),{isEnabled:fe,isSupported:pe,isHealthy:B,statusMessage:he,isLoading:V,isSaving:H,updateIsEnabled:ge}=_e(),{isEnabled:ye,logPath:U,isEnvConfigured:Ce,ingestingHost:we,isLoading:W,isSaving:ke,updateIsEnabled:G}=zn(),{allowAllCommands:Ae,allowedCommandPatterns:je,isLoading:K,isSaving:Me,updateConfirmCommandsEnabled:Ne,updateAllowedCommandPatterns:Pe}=Vn(),{level:J,updateLevel:Ie}=Oe(),Y;t[0]!==K||t[1]!==W||t[2]!==S||t[3]!==O||t[4]!==V||t[5]!==P||t[6]!==z||t[7]!==R?(Y=[S,O,P,R,z,V,W,K],t[0]=K,t[1]=W,t[2]=S,t[3]=O,t[4]=V,t[5]=P,t[6]=z,t[7]=R,t[8]=Y):Y=t[8];let Le=Fe(`general`,Y),Re;t[9]===T?Re=t[10]:(Re=function(e){T(e.target.value)},t[9]=T,t[10]=Re);let ze=Re,Be;t[11]!==b||t[12]!==x||t[13]!==w||t[14]!==E?(Be=async function(){let e=Number.parseInt(x,10),t=Number.isFinite(e)&&e>0?e:b;try{await E(t)}catch{w()}},t[11]=b,t[12]=x,t[13]=w,t[14]=E,t[15]=Be):Be=t[15];let Ve=Be,He;t[16]===o?He=t[17]:(He=function(e){e.length>0&&o(e[0])},t[16]=o,t[17]=He);let Z=He,Q;t[18]===u?Q=t[19]:(Q=function(e){e.length>0&&u(e[0])},t[18]=u,t[19]=Q);let Ue=Q,We;t[20]===U?We=t[21]:(We=async function(){if(U)try{await navigator.clipboard.writeText(U),ae({title:`Copied`,description:`Log file path copied to clipboard.`})}catch(e){let t=e;ae({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the log file path.`,variant:`destructive`})}},t[20]=U,t[21]=We);let Ge=We,[Ke,qe]=(0,X.useState)(!1),$=te===`network`?L:null,Je=$!==null,Ye;t[22]===L?Ye=t[23]:(Ye=async function(){if(L)try{await navigator.clipboard.writeText(L),qe(!0),ae({title:`Copied`,description:`Public address copied to clipboard.`}),window.setTimeout(function(){qe(!1)},1500)}catch(e){let t=e;ae({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the address.`,variant:`destructive`})}},t[22]=L,t[23]=Ye);let Xe=Ye,Ze=!N&&ee!==null,Qe;return t[24]!==Ae||t[25]!==je||t[26]!==n||t[27]!==we||t[28]!==_||t[29]!==J||t[30]!==Ke||t[31]!==b||t[32]!==x||t[33]!==f||t[34]!==d||t[35]!==l||t[36]!==Ge||t[37]!==Xe||t[38]!==Ue||t[39]!==Ve||t[40]!==ze||t[41]!==Z||t[42]!==Ce||t[43]!==K||t[44]!==Me||t[45]!==W||t[46]!==ke||t[47]!==S||t[48]!==C||t[49]!==k||t[50]!==O||t[51]!==V||t[52]!==H||t[53]!==P||t[54]!==F||t[55]!==z||t[56]!==ue||t[57]!==R||t[58]!==se||t[59]!==ye||t[60]!==U||t[61]!==c||t[62]!==s||t[63]!==$||t[64]!==I||t[65]!==M||t[66]!==Le||t[67]!==j||t[68]!==y||t[69]!==a||t[70]!==A||t[71]!==D||t[72]!==fe||t[73]!==B||t[74]!==he||t[75]!==pe||t[76]!==te||t[77]!==i||t[78]!==le||t[79]!==Je||t[80]!==Ze||t[81]!==r||t[82]!==ne||t[83]!==re||t[84]!==L||t[85]!==Pe||t[86]!==v||t[87]!==Ne||t[88]!==Ie||t[89]!==G||t[90]!==ge||t[91]!==ie||t[92]!==de||t[93]!==ce||t[94]!==g||t[95]!==h||t[96]!==oe||t[97]!==m||t[98]!==p?(Qe={animateTitle:n,pageLoading:Le,theme:r,setTheme:i,scale:a,min:s,max:c,handleSliderChange:Z,frostedOpacity:l,frostedMin:d,frostedMax:f,handleFrostedOpacityChange:Ue,wallpaperMode:p,wallpaperColor:m,updateWallpaperMode:h,updateWallpaperColor:g,brandColor:_,updateBrandColor:v,resetBrandColor:y,conversationLevel:J,updateConversationLevel:Ie,draftMaximumTurnCount:x,defaultMaximumTurnCount:b,isMaximumTurnCountLoading:S,isMaximumTurnCountSaving:C,handleMaximumTurnCountChange:ze,handleMaximumTurnCountBlur:Ve,voiceAiProcessing:oe,isVoiceAiProcessingLoading:R,isVoiceAiProcessingSaving:se,updateVoiceAiProcessing:ce,showDailySpend:le,isShowDailySpendLoading:z,isShowDailySpendSaving:ue,updateShowDailySpend:de,screenRecordingStatus:D,isScreenRecordingLoading:O,isOpeningScreenRecordingSettings:k,screenRecordingOpenSettingsError:A,refreshScreenRecording:j,openScreenRecordingSettings:M,seatbeltSandboxSupported:pe,seatbeltSandboxEnabled:fe,seatbeltSandboxHealthy:B,seatbeltSandboxMessage:he,isSeatbeltSandboxLoading:V,isSeatbeltSandboxSaving:H,updateSeatbeltSandbox:ge,allowAllCommands:Ae,allowedCommandPatterns:je,isConfirmCommandsLoading:K,isConfirmCommandsSaving:Me,updateConfirmCommandsEnabled:Ne,updateAllowedCommandPatterns:Pe,loggingEnabled:ye,loggingPath:U,isBetterStackEnvConfigured:Ce,betterStackIngestingHost:we,isLoggingLoading:W,isLoggingSaving:ke,updateLogging:G,handleCopyLoggingPath:Ge,serverBindMode:te,signedIn:Ze,isServerBindModeLoading:P,isServerBindModeSaving:F,needsRestart:I,showMobileQrCode:Je,tunnelUrl:L,tunnelStatus:re,tunnelError:ne,mobileNetworkUrl:$,copiedTunnelUrl:Ke,updateServerBindMode:ie,handleCopyTunnelUrl:Xe},t[24]=Ae,t[25]=je,t[26]=n,t[27]=we,t[28]=_,t[29]=J,t[30]=Ke,t[31]=b,t[32]=x,t[33]=f,t[34]=d,t[35]=l,t[36]=Ge,t[37]=Xe,t[38]=Ue,t[39]=Ve,t[40]=ze,t[41]=Z,t[42]=Ce,t[43]=K,t[44]=Me,t[45]=W,t[46]=ke,t[47]=S,t[48]=C,t[49]=k,t[50]=O,t[51]=V,t[52]=H,t[53]=P,t[54]=F,t[55]=z,t[56]=ue,t[57]=R,t[58]=se,t[59]=ye,t[60]=U,t[61]=c,t[62]=s,t[63]=$,t[64]=I,t[65]=M,t[66]=Le,t[67]=j,t[68]=y,t[69]=a,t[70]=A,t[71]=D,t[72]=fe,t[73]=B,t[74]=he,t[75]=pe,t[76]=te,t[77]=i,t[78]=le,t[79]=Je,t[80]=Ze,t[81]=r,t[82]=ne,t[83]=re,t[84]=L,t[85]=Pe,t[86]=v,t[87]=Ne,t[88]=Ie,t[89]=G,t[90]=ge,t[91]=ie,t[92]=de,t[93]=ce,t[94]=g,t[95]=h,t[96]=oe,t[97]=m,t[98]=p,t[99]=Qe):Qe=t[99],Qe}var Gn=[{value:`image`,label:`Image`,icon:h},{value:`background`,label:`Background`,icon:d}];function Kn(e){let t=(0,q.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 s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=Gn.map(qn),t[2]=s):s=t[2];let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=u(J,`relative overflow-hidden`),t[3]=c):c=t[3];let l;t[4]===r?l=t[5]:(l=(0,Y.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]=l);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,Y.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]!==l||t[16]!==p?(m=(0,Y.jsxs)(G,{value:`color`,"aria-label":`Custom color`,className:c,children:[l,p]}),t[15]=l,t[16]=p,t[17]=m):m=t[17];let h;return t[18]!==o||t[19]!==m||t[20]!==n?(h=(0,Y.jsx)(B,{title:`Wallpaper`,description:`Choose a scenic image, the theme background, or a custom color.`,controlLayout:`row-end`,action:(0,Y.jsxs)(Ae,{type:`single`,value:n,onValueChange:o,"aria-label":`Wallpaper`,className:Ie,children:[s,m]})}),t[18]=o,t[19]=m,t[20]=n,t[21]=h):h=t[21],h}function qn(e){let t=e.icon;return(0,Y.jsx)(G,{value:e.value,"aria-label":e.label,className:J,children:(0,Y.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}function Jn(e){let t=(0,q.c)(128),{onboardingResetSignal:n}=e,r=Wn(n===void 0?0:n),i=r.pageLoading,a=r.animateTitle&&`animate-headline-reset`,o;t[0]===a?o=t[1]:(o=u(a),t[0]=a,t[1]=o);let s;t[2]===o?s=t[3]:(s=(0,Y.jsx)(U,{title:`Appearance`,titleClassName:o,className:`[&>div:first-child]:py-2`,sticky:!1}),t[2]=o,t[3]=s);let c;t[4]!==r.handleSliderChange||t[5]!==r.max||t[6]!==r.min||t[7]!==r.scale?(c=(0,Y.jsx)(wt,{scale:r.scale,min:r.min,max:r.max,onChange:r.handleSliderChange}),t[4]=r.handleSliderChange,t[5]=r.max,t[6]=r.min,t[7]=r.scale,t[8]=c):c=t[8];let l;t[9]!==r.frostedMax||t[10]!==r.frostedMin||t[11]!==r.frostedOpacity||t[12]!==r.handleFrostedOpacityChange?(l=(0,Y.jsx)(dn,{opacity:r.frostedOpacity,min:r.frostedMin,max:r.frostedMax,onChange:r.handleFrostedOpacityChange}),t[9]=r.frostedMax,t[10]=r.frostedMin,t[11]=r.frostedOpacity,t[12]=r.handleFrostedOpacityChange,t[13]=l):l=t[13];let d;t[14]!==r.setTheme||t[15]!==r.theme?(d=(0,Y.jsx)(Re,{theme:r.theme,onThemeChange:r.setTheme}),t[14]=r.setTheme,t[15]=r.theme,t[16]=d):d=t[16];let f;t[17]!==r.updateWallpaperColor||t[18]!==r.updateWallpaperMode||t[19]!==r.wallpaperColor||t[20]!==r.wallpaperMode?(f=(0,Y.jsx)(Kn,{wallpaperMode:r.wallpaperMode,wallpaperColor:r.wallpaperColor,onModeChange:r.updateWallpaperMode,onColorChange:r.updateWallpaperColor}),t[17]=r.updateWallpaperColor,t[18]=r.updateWallpaperMode,t[19]=r.wallpaperColor,t[20]=r.wallpaperMode,t[21]=f):f=t[21];let p;t[22]!==r.brandColor||t[23]!==r.resetBrandColor||t[24]!==r.updateBrandColor?(p=(0,Y.jsx)(fn,{brandColor:r.brandColor,onColorChange:r.updateBrandColor,onReset:r.resetBrandColor}),t[22]=r.brandColor,t[23]=r.resetBrandColor,t[24]=r.updateBrandColor,t[25]=p):p=t[25];let m;t[26]!==p||t[27]!==c||t[28]!==l||t[29]!==d||t[30]!==f?(m=(0,Y.jsx)(ke,{className:`max-w-none pt-0`,children:(0,Y.jsxs)(pe,{children:[c,l,d,f,p]})}),t[26]=p,t[27]=c,t[28]=l,t[29]=d,t[30]=f,t[31]=m):m=t[31];let h;t[32]!==m||t[33]!==s?(h=(0,Y.jsxs)(z,{className:`shrink-0`,children:[s,m]}),t[32]=m,t[33]=s,t[34]=h):h=t[34];let g;t[35]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Y.jsx)(U,{title:`Settings`,className:`[&>div:first-child]:py-2`,sticky:!1}),t[35]=g):g=t[35];let _;t[36]!==r.conversationLevel||t[37]!==r.updateConversationLevel?(_=(0,Y.jsx)(bn,{level:r.conversationLevel,onChange:r.updateConversationLevel}),t[36]=r.conversationLevel,t[37]=r.updateConversationLevel,t[38]=_):_=t[38];let v;t[39]!==r.defaultMaximumTurnCount||t[40]!==r.draftMaximumTurnCount||t[41]!==r.handleMaximumTurnCountBlur||t[42]!==r.handleMaximumTurnCountChange||t[43]!==r.isMaximumTurnCountLoading||t[44]!==r.isMaximumTurnCountSaving?(v=(0,Y.jsx)(Ot,{draftValue:r.draftMaximumTurnCount,defaultTurnCount:r.defaultMaximumTurnCount,isLoading:r.isMaximumTurnCountLoading,isSaving:r.isMaximumTurnCountSaving,onChange:r.handleMaximumTurnCountChange,onBlur:r.handleMaximumTurnCountBlur}),t[39]=r.defaultMaximumTurnCount,t[40]=r.draftMaximumTurnCount,t[41]=r.handleMaximumTurnCountBlur,t[42]=r.handleMaximumTurnCountChange,t[43]=r.isMaximumTurnCountLoading,t[44]=r.isMaximumTurnCountSaving,t[45]=v):v=t[45];let y;t[46]===r?y=t[47]:(y=e=>{r.updateVoiceAiProcessing(e)},t[46]=r,t[47]=y);let b;t[48]!==r.isVoiceAiProcessingLoading||t[49]!==r.isVoiceAiProcessingSaving||t[50]!==r.voiceAiProcessing||t[51]!==y?(b=(0,Y.jsx)(Cn,{title:`AI Voice Cleanup`,description:`After stopping voice recording, run the transcription through AI to remove filler words, false starts, and repetitions.`,value:r.voiceAiProcessing,isLoading:r.isVoiceAiProcessingLoading,isSaving:r.isVoiceAiProcessingSaving,ariaLabel:`AI Voice Cleanup`,onChange:y}),t[48]=r.isVoiceAiProcessingLoading,t[49]=r.isVoiceAiProcessingSaving,t[50]=r.voiceAiProcessing,t[51]=y,t[52]=b):b=t[52];let x;t[53]===r?x=t[54]:(x=e=>{r.updateShowDailySpend(e)},t[53]=r,t[54]=x);let S;t[55]!==r.isShowDailySpendLoading||t[56]!==r.isShowDailySpendSaving||t[57]!==r.showDailySpend||t[58]!==x?(S=(0,Y.jsx)(Cn,{title:`Spend`,description:`Show an estimated spend counter in the chat header.`,value:r.showDailySpend,isLoading:r.isShowDailySpendLoading,isSaving:r.isShowDailySpendSaving,ariaLabel:`Spend`,onChange:x}),t[55]=r.isShowDailySpendLoading,t[56]=r.isShowDailySpendSaving,t[57]=r.showDailySpend,t[58]=x,t[59]=S):S=t[59];let C;t[60]!==r.isOpeningScreenRecordingSettings||t[61]!==r.isScreenRecordingLoading||t[62]!==r.openScreenRecordingSettings||t[63]!==r.refreshScreenRecording||t[64]!==r.screenRecordingOpenSettingsError||t[65]!==r.screenRecordingStatus?(C=(0,Y.jsx)(gn,{status:r.screenRecordingStatus,isLoading:r.isScreenRecordingLoading,isOpeningSettings:r.isOpeningScreenRecordingSettings,openSettingsError:r.screenRecordingOpenSettingsError,onRefresh:r.refreshScreenRecording,onOpenSettings:r.openScreenRecordingSettings}),t[60]=r.isOpeningScreenRecordingSettings,t[61]=r.isScreenRecordingLoading,t[62]=r.openScreenRecordingSettings,t[63]=r.refreshScreenRecording,t[64]=r.screenRecordingOpenSettingsError,t[65]=r.screenRecordingStatus,t[66]=C):C=t[66];let w,T;t[67]===r?(w=t[68],T=t[69]):(w=e=>{r.updateConfirmCommandsEnabled(e)},T=e=>{r.updateAllowedCommandPatterns(e)},t[67]=r,t[68]=w,t[69]=T);let E;t[70]!==r.allowAllCommands||t[71]!==r.allowedCommandPatterns||t[72]!==r.isConfirmCommandsLoading||t[73]!==r.isConfirmCommandsSaving||t[74]!==w||t[75]!==T?(E=(0,Y.jsx)(vn,{allowAllCommands:r.allowAllCommands,allowedCommandPatterns:r.allowedCommandPatterns,isLoading:r.isConfirmCommandsLoading,isSaving:r.isConfirmCommandsSaving,onConfirmCommandsChange:w,onPatternsChange:T}),t[70]=r.allowAllCommands,t[71]=r.allowedCommandPatterns,t[72]=r.isConfirmCommandsLoading,t[73]=r.isConfirmCommandsSaving,t[74]=w,t[75]=T,t[76]=E):E=t[76];let D;t[77]!==r.isSeatbeltSandboxLoading||t[78]!==r.isSeatbeltSandboxSaving||t[79]!==r.seatbeltSandboxEnabled||t[80]!==r.seatbeltSandboxHealthy||t[81]!==r.seatbeltSandboxMessage||t[82]!==r.seatbeltSandboxSupported||t[83]!==r.updateSeatbeltSandbox?(D=(0,Y.jsx)(xn,{supported:r.seatbeltSandboxSupported,enabled:r.seatbeltSandboxEnabled,healthy:r.seatbeltSandboxHealthy,message:r.seatbeltSandboxMessage,isLoading:r.isSeatbeltSandboxLoading,isSaving:r.isSeatbeltSandboxSaving,onChange:r.updateSeatbeltSandbox}),t[77]=r.isSeatbeltSandboxLoading,t[78]=r.isSeatbeltSandboxSaving,t[79]=r.seatbeltSandboxEnabled,t[80]=r.seatbeltSandboxHealthy,t[81]=r.seatbeltSandboxMessage,t[82]=r.seatbeltSandboxSupported,t[83]=r.updateSeatbeltSandbox,t[84]=D):D=t[84];let O;t[85]===r?O=t[86]:(O=e=>{r.updateLogging(e)},t[85]=r,t[86]=O);let k;t[87]!==r.betterStackIngestingHost||t[88]!==r.handleCopyLoggingPath||t[89]!==r.isBetterStackEnvConfigured||t[90]!==r.isLoggingLoading||t[91]!==r.isLoggingSaving||t[92]!==r.loggingEnabled||t[93]!==r.loggingPath||t[94]!==O?(k=(0,Y.jsx)(Dt,{enabled:r.loggingEnabled,logPath:r.loggingPath,isEnvConfigured:r.isBetterStackEnvConfigured,ingestingHost:r.betterStackIngestingHost,isLoading:r.isLoggingLoading,isSaving:r.isLoggingSaving,onChange:O,onCopyPath:r.handleCopyLoggingPath}),t[87]=r.betterStackIngestingHost,t[88]=r.handleCopyLoggingPath,t[89]=r.isBetterStackEnvConfigured,t[90]=r.isLoggingLoading,t[91]=r.isLoggingSaving,t[92]=r.loggingEnabled,t[93]=r.loggingPath,t[94]=O,t[95]=k):k=t[95];let A;t[96]!==r.copiedTunnelUrl||t[97]!==r.handleCopyTunnelUrl||t[98]!==r.isServerBindModeLoading||t[99]!==r.isServerBindModeSaving||t[100]!==r.needsRestart||t[101]!==r.serverBindMode||t[102]!==r.signedIn||t[103]!==r.tunnelError||t[104]!==r.tunnelStatus||t[105]!==r.tunnelUrl||t[106]!==r.updateServerBindMode?(A=(0,Y.jsx)(un,{bindMode:r.serverBindMode,signedIn:r.signedIn,isLoading:r.isServerBindModeLoading,isSaving:r.isServerBindModeSaving,needsRestart:r.needsRestart,tunnelUrl:r.tunnelUrl,tunnelStatus:r.tunnelStatus,tunnelError:r.tunnelError,copiedTunnelUrl:r.copiedTunnelUrl,onChangeMode:r.updateServerBindMode,onCopyTunnelUrl:r.handleCopyTunnelUrl}),t[96]=r.copiedTunnelUrl,t[97]=r.handleCopyTunnelUrl,t[98]=r.isServerBindModeLoading,t[99]=r.isServerBindModeSaving,t[100]=r.needsRestart,t[101]=r.serverBindMode,t[102]=r.signedIn,t[103]=r.tunnelError,t[104]=r.tunnelStatus,t[105]=r.tunnelUrl,t[106]=r.updateServerBindMode,t[107]=A):A=t[107];let j;t[108]!==_||t[109]!==v||t[110]!==b||t[111]!==S||t[112]!==C||t[113]!==E||t[114]!==D||t[115]!==k||t[116]!==A?(j=(0,Y.jsxs)(z,{className:`shrink-0`,children:[g,(0,Y.jsx)(ke,{className:`max-w-none pt-0`,children:(0,Y.jsxs)(pe,{children:[_,v,b,S,C,E,D,k,A]})})]}),t[108]=_,t[109]=v,t[110]=b,t[111]=S,t[112]=C,t[113]=E,t[114]=D,t[115]=k,t[116]=A,t[117]=j):j=t[117];let M;t[118]===r.mobileNetworkUrl?M=t[119]:(M=(0,Y.jsx)(rn,{url:r.mobileNetworkUrl}),t[118]=r.mobileNetworkUrl,t[119]=M);let ee;t[120]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,Y.jsx)(Et,{}),t[120]=ee):ee=t[120];let N;t[121]!==h||t[122]!==j||t[123]!==M?(N=(0,Y.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[h,j,M,ee]}),t[121]=h,t[122]=j,t[123]=M,t[124]=N):N=t[124];let P;return t[125]!==r.pageLoading||t[126]!==N?(P=(0,Y.jsx)(se,{loading:i,children:N}),t[125]=r.pageLoading,t[126]=N,t[127]=P):P=t[127],P}export{Jn as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./rolldown-runtime-aKtaBQYM.js";import{n as e,o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{
|
|
1
|
+
import"./rolldown-runtime-aKtaBQYM.js";import{n as e,o as t,t as n}from"./react-vendor-Ee0-5T4I.js";import{tn as r}from"./dist-C99qsdM0.js";import{t as i}from"./utils-DIi62oP7.js";import{A as a,d as o,yt as s}from"./lucide-react-DW-FYOQd.js";import{t as c}from"./button-BRUlmKU9.js";import{i as l,n as u,r as d,t as f}from"./tooltip-C0Zn4uFr.js";import{Ht as p,Ir as m,Mt as h,jt as g,mr as _,zt as v}from"./index-CU6xcKiy.js";import"./card-m4ducAvD.js";var y=e();t();var b=n();function x(e){let t=(0,y.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,b.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,b.jsx)(`h3`,{className:d,children:a}),t[5]=a,t[6]=f);let p;t[7]===o?p=t[8]:(p=o?(0,b.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,b.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 S(e){let t=(0,y.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,b.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,b.jsx)(m,{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 p;return t[9]!==l||t[10]!==f?(p=(0,b.jsxs)(`div`,{className:l,children:[u,f]}),t[9]=l,t[10]=f,t[11]=p):p=t[11],p}function C(e){let t=(0,y.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,b.jsx)(`p`,{className:o,children:s}),t[1]=s,t[2]=c),c}function w(e){let t=(0,y.c)(11),{title:n,tooltip:r,action:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,b.jsx)(s,{"aria-hidden":`true`,className:`h-4 w-4 text-muted-foreground`}),t[0]=a):a=t[0];let o;t[1]===n?o=t[2]:(o=(0,b.jsx)(l,{asChild:!0,children:(0,b.jsxs)(`span`,{className:`inline-flex items-center gap-1.5`,children:[n,a]})}),t[1]=n,t[2]=o);let c;t[3]===r?c=t[4]:(c=(0,b.jsx)(u,{children:r}),t[3]=r,t[4]=c);let p;t[5]!==o||t[6]!==c?(p=(0,b.jsx)(d,{children:(0,b.jsxs)(f,{children:[o,c]})}),t[5]=o,t[6]=c,t[7]=p):p=t[7];let m;return t[8]!==i||t[9]!==p?(m=(0,b.jsx)(g,{title:p,action:i,sticky:!1}),t[8]=i,t[9]=p,t[10]=m):m=t[10],m}function T(e,t){let n=t.trim();if(!n)return e;let r=n.toLowerCase();return e.filter(e=>e.name.toLowerCase().includes(r)||e.description.toLowerCase().includes(r))}function E(e){let t=(0,y.c)(32),{title:n,tooltip:a,emptyLabel:o,searchValue:s,onSearchChange:c,items:l,getKey:u,renderName:d,getSubtitle:f,renderAction:m}=e,h,g,_,x,E,D;if(t[0]!==o||t[1]!==u||t[2]!==f||t[3]!==l||t[4]!==c||t[5]!==m||t[6]!==d||t[7]!==s||t[8]!==n||t[9]!==a){let e=T(l,s);g=p,E=`shrink-0`;let y;t[16]!==c||t[17]!==s?(y=(0,b.jsx)(S,{placeholder:`Search`,value:s,onChange:c,className:`mb-0 w-64`}),t[16]=c,t[17]=s,t[18]=y):y=t[18],t[19]!==y||t[20]!==n||t[21]!==a?(D=(0,b.jsx)(w,{title:n,tooltip:a,action:y}),t[19]=y,t[20]=n,t[21]=a,t[22]=D):D=t[22],h=v,_=`pt-6`,x=e.length===0?(0,b.jsx)(C,{searchQuery:s,emptyLabel:o}):(0,b.jsx)(`div`,{className:`divide-y divide-table-border`,children:e.map(e=>(0,b.jsxs)(`div`,{className:`group flex min-h-13 items-center justify-between gap-3 px-3 py-3 hover:bg-muted/30`,children:[(0,b.jsxs)(`div`,{className:`min-w-0 text-left`,children:[(0,b.jsx)(`div`,{className:i(r.body,`truncate`),children:d(e)}),(0,b.jsx)(`div`,{className:i(r.compact,`truncate text-muted-foreground`),children:f(e)})]}),m(e)]},u(e)))}),t[0]=o,t[1]=u,t[2]=f,t[3]=l,t[4]=c,t[5]=m,t[6]=d,t[7]=s,t[8]=n,t[9]=a,t[10]=h,t[11]=g,t[12]=_,t[13]=x,t[14]=E,t[15]=D}else h=t[10],g=t[11],_=t[12],x=t[13],E=t[14],D=t[15];let O;t[23]!==h||t[24]!==_||t[25]!==x?(O=(0,b.jsx)(h,{className:_,children:x}),t[23]=h,t[24]=_,t[25]=x,t[26]=O):O=t[26];let k;return t[27]!==g||t[28]!==E||t[29]!==D||t[30]!==O?(k=(0,b.jsxs)(g,{className:E,children:[D,O]}),t[27]=g,t[28]=E,t[29]=D,t[30]=O,t[31]=k):k=t[31],k}function D(e){let t=(0,y.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,b.jsx)(`p`,{className:a,children:n}),t[1]=n,t[2]=o),o}var O=`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 k(e){let t=(0,y.c)(19),{loading:n,items:r,emptyState:a,getKey:s,columnsClassName:p,compact:m,showHeader:g,renderContent:v,renderMiddle:S,onItemClick:C,itemClickLabel:w,onDelete:T,deleteAriaLabel:E,deleteTooltip:D}=e,k=p===void 0?`grid-cols-[minmax(0,1fr)_1.75rem]`:p,A=m===void 0?!1:m,j=g===void 0?!0:g,M;t[0]===j?M=t[1]:(M=j?(0,b.jsx)(h,{title:`Installed`}):null,t[0]=j,t[1]=M);let N;t[2]!==k||t[3]!==A||t[4]!==E||t[5]!==D||t[6]!==a||t[7]!==s||t[8]!==w||t[9]!==r||t[10]!==n||t[11]!==T||t[12]!==C||t[13]!==v||t[14]!==S?(N=n?(0,b.jsxs)(`div`,{className:`space-y-3 mb-8`,children:[(0,b.jsx)(_,{className:i(`w-full`,A?`h-9`:`h-12`)}),(0,b.jsx)(_,{className:i(`w-full`,A?`h-9`:`h-12`)})]}):r.length===0?(0,b.jsx)(x,{...a}):(0,b.jsx)(`div`,{className:`divide-y divide-table-border`,children:r.map(e=>(0,b.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,C&&`cursor-pointer`),role:C?`button`:void 0,tabIndex:C?0:void 0,"aria-label":C?w?.(e):void 0,onClick:C?()=>C(e):void 0,onKeyDown:C?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),C(e))}:void 0,children:[v(e),S?.(e),(0,b.jsx)(d,{children:(0,b.jsxs)(f,{children:[(0,b.jsx)(l,{asChild:!0,children:(0,b.jsx)(c,{type:`button`,variant:`ghost`,size:`icon-sm`,className:O,onClick:t=>{t.stopPropagation(),T(e)},"aria-label":E(e),children:(0,b.jsx)(o,{className:`h-4 w-4`})})}),(0,b.jsx)(u,{children:D})]})})]},s(e)))}),t[2]=k,t[3]=A,t[4]=E,t[5]=D,t[6]=a,t[7]=s,t[8]=w,t[9]=r,t[10]=n,t[11]=T,t[12]=C,t[13]=v,t[14]=S,t[15]=N):N=t[15];let P;return t[16]!==M||t[17]!==N?(P=(0,b.jsxs)(b.Fragment,{children:[M,N]}),t[16]=M,t[17]=N,t[18]=P):P=t[18],P}export{C as a,D as c,E as i,x as n,S as o,k as r,w as s,O as t};
|
|
@@ -0,0 +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{X as a,Z as o,et as s,tn as c}from"./dist-C99qsdM0.js";import{t as l}from"./utils-DIi62oP7.js";import{an as u,pt as d,yn as f}from"./lucide-react-DW-FYOQd.js";import{t as p}from"./button-BRUlmKU9.js";import{i as m,n as h,r as g,t as _}from"./tooltip-C0Zn4uFr.js";import{Gn as v,Hr as y,u as b}from"./api-BPfzuuZQ.js";import{r as x}from"./scroll-area-jzW_lBt7.js";import{t as S}from"./use-toast-xpb5jNtN.js";import{Ir as C,cn as w,jt as T,zt as E}from"./index-CU6xcKiy.js";import{n as D,t as O}from"./toggle-group-DP7rfPQH.js";var k=e(n(),1),A=t();function j(e,t){let n=[...e,t];return n.length>5e3?n.slice(n.length-a):n}function M(e,t){if(e.type!==`ping`){if(e.type===`snapshot`){t(e.entries);return}if(e.type===`cleared`){t([]);return}t(t=>j(t,e.entry))}}function N(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 P(e,t,n){let r=(t+e).split(`
|
|
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 F=r(),I=1e3,L=[o.INFO,o.WARN,o.ERROR],R=[...L],z=`inline-flex h-11 shrink-0 rounded-full border bg-muted/40 p-2`,B=l(c.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`),V=`group grid list-none grid-cols-[minmax(0,1fr)_1.75rem] items-start gap-2 px-3 py-2 hover:bg-muted/40 select-text`,H=l(`flex h-7 w-7 items-center justify-center rounded-md border border-border bg-background/90 text-foreground shadow-sm hover:bg-background`,`transition-[opacity,color,background-color] focus-visible:opacity-100 focus-visible:pointer-events-auto`,`can-hover:pointer-events-none can-hover:opacity-0 can-hover:group-hover:pointer-events-auto can-hover:group-hover:opacity-100`);function U(e,t){return t?[e.event,e.message,G(e.level),e.data===void 0?``:q(e.data)].join(` `).toLowerCase().includes(t):!0}function W(e){let t=typeof e==`number`?e:Number(e);return t===o.DEBUG||t===o.INFO||t===o.WARN||t===o.ERROR?t:null}function G(e){let t=W(e);return t===null?String(e):s(t)}function K(e,t){let n=W(e.level);return n!==null&&t.has(n)}function q(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function J(e){switch(W(e)??e){case o.ERROR:return`text-destructive`;case o.WARN:return`text-amber-600 dark:text-amber-400`;case o.INFO:return`text-foreground`;default:return`text-muted-foreground`}}function Y(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 X(e){let t=[`${e.ts} ${G(e.level)} ${e.event}`,e.message];return e.data!==void 0&&t.push(q(e.data)),t.join(`
|
|
3
|
+
`)}var Z=(0,k.memo)(function(e){let t=(0,A.c)(42),{entry:n,copied:r,onCopy:i}=e,a;t[0]===n.ts?a=t[1]:(a=Y(n.ts),t[0]=n.ts,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,F.jsx)(`span`,{className:`text-muted-foreground tabular-nums`,children:a}),t[2]=a,t[3]=o);let s;t[4]===n.level?s=t[5]:(s=l(`font-semibold`,J(n.level)),t[4]=n.level,t[5]=s);let c;t[6]===n.level?c=t[7]:(c=G(n.level),t[6]=n.level,t[7]=c);let d;t[8]!==s||t[9]!==c?(d=(0,F.jsx)(`span`,{className:s,children:c}),t[8]=s,t[9]=c,t[10]=d):d=t[10];let p;t[11]===n.event?p=t[12]:(p=(0,F.jsx)(`span`,{className:`text-muted-foreground`,children:n.event}),t[11]=n.event,t[12]=p);let g;t[13]!==o||t[14]!==d||t[15]!==p?(g=(0,F.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[o,d,p]}),t[13]=o,t[14]=d,t[15]=p,t[16]=g):g=t[16];let v;t[17]===n.message?v=t[18]:(v=(0,F.jsx)(`p`,{className:`mt-0.5 whitespace-pre-wrap break-words text-foreground`,children:n.message}),t[17]=n.message,t[18]=v);let y;t[19]===n.data?y=t[20]:(y=n.data===void 0?null:(0,F.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words text-muted-foreground`,children:q(n.data)}),t[19]=n.data,t[20]=y);let b;t[21]!==g||t[22]!==v||t[23]!==y?(b=(0,F.jsxs)(`div`,{className:`min-w-0`,children:[g,v,y]}),t[21]=g,t[22]=v,t[23]=y,t[24]=b):b=t[24];let x;t[25]!==n||t[26]!==i?(x=()=>i(n),t[25]=n,t[26]=i,t[27]=x):x=t[27];let S;t[28]===r?S=t[29]:(S=r?(0,F.jsx)(f,{className:`h-3.5 w-3.5 text-green-500`}):(0,F.jsx)(u,{className:`h-3.5 w-3.5`}),t[28]=r,t[29]=S);let C;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,F.jsx)(`span`,{className:`sr-only`,children:`Copy log entry`}),t[30]=C):C=t[30];let w;t[31]!==x||t[32]!==S?(w=(0,F.jsx)(m,{asChild:!0,children:(0,F.jsxs)(`button`,{type:`button`,onClick:x,className:H,children:[S,C]})}),t[31]=x,t[32]=S,t[33]=w):w=t[33];let T=r?`Copied!`:`Copy to clipboard`,E;t[34]===T?E=t[35]:(E=(0,F.jsx)(h,{children:T}),t[34]=T,t[35]=E);let D;t[36]!==w||t[37]!==E?(D=(0,F.jsxs)(_,{children:[w,E]}),t[36]=w,t[37]=E,t[38]=D):D=t[38];let O;return t[39]!==b||t[40]!==D?(O=(0,F.jsxs)(`li`,{className:V,children:[b,D]}),t[39]=b,t[40]=D,t[41]=O):O=t[41],O});function Q(e,t){let n=(0,A.c)(4),r,i;n[0]!==e||n[1]!==t?(r=()=>{let n=!1,r=null,i=null,a=new AbortController,o=!1,s=!1,c=function(){n||i||(t(!0),i=setTimeout(()=>{i=null,d()},I))},l=function(t){M(t,e)},u=function(e){N(e,{isCancelled:()=>n,isAborted:()=>a.signal.aborted,sawSuccessfulStream:o,scheduleReconnect:c,setConnecting:t,reportHardFailure:e=>{s||(s=!0,S({title:`Failed to connect to log feed`,description:e,variant:`destructive`}))}})};async function d(){if(!n){t(!0);try{let e=await v({signal:a.signal});if(!e||n){e&&n&&e.cancel().catch(ee);return}r=e.getReader();let i=new TextDecoder,s=``;for(o=!0,t(!1);!n;){let{done:e,value:t}=await r.read();if(e)break;s=P(i.decode(t,{stream:!0}),s,l)}n||c()}catch(e){u(e)}}}return d(),()=>{n=!0,a.abort(),i&&clearTimeout(i),r?.cancel().catch($)}},i=[e,t],n[0]=e,n[1]=t,n[2]=r,n[3]=i):(r=n[2],i=n[3]),(0,k.useEffect)(r,i)}function $(){}function ee(){}function te(){let e=(0,A.c)(7),[t,n]=(0,k.useState)(null),[r,i]=(0,k.useState)(!1),a=(0,k.useRef)(null),o=(0,k.useRef)(null),s,c;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>()=>{a.current&&clearTimeout(a.current),o.current&&clearTimeout(o.current)},c=[],e[0]=s,e[1]=c):(s=e[0],c=e[1]),(0,k.useEffect)(s,c);let l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=async e=>{try{await navigator.clipboard.writeText(X(e)),n(e.id),a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{n(null),a.current=null},1500)}catch(e){let t=e;S({title:`Failed to copy log entry`,description:t instanceof Error?t.message:String(t),variant:`destructive`})}},e[2]=l):l=e[2];let u=l,d;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=async function(e){if(e.length!==0)try{await navigator.clipboard.writeText(e.map(ne).join(`
|
|
4
|
+
|
|
5
|
+
`)),i(!0),o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{i(!1),o.current=null},1500)}catch(e){let t=e;S({title:`Failed to copy logs`,description:t instanceof Error?t.message:String(t),variant:`destructive`})}},e[3]=d):d=e[3];let f=d,p;return e[4]!==r||e[5]!==t?(p={copiedEntryId:t,copiedAll:r,handleCopyEntry:u,handleCopyVisibleEntries:f},e[4]=r,e[5]=t,e[6]=p):p=e[6],p}function ne(e){return X(e)}function re(){let[e,t]=(0,k.useState)(!1);async function n(){t(!0);try{await b()}catch(e){S({title:`Failed to clear logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{t(!1)}}return{isClearing:e,handleClear:n}}function ie(){let e=(0,A.c)(41),[t]=i(),n;e[0]===t?n=e[1]:(n=t.get(`q`)??``,e[0]=t,e[1]=n);let r=n,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=[],e[2]=a):a=e[2];let[o,s]=(0,k.useState)(a),[c,l]=(0,k.useState)(r),[u,d]=(0,k.useState)(R),[f,p]=(0,k.useState)(!0),[m,h]=(0,k.useState)(null),{isClearing:g,handleClear:_}=re(),{copiedEntryId:v,copiedAll:y,handleCopyEntry:b,handleCopyVisibleEntries:x}=te(),S,C;e[3]===r?(S=e[4],C=e[5]):(S=()=>{r&&l(r)},C=[r],e[3]=r,e[4]=S,e[5]=C),(0,k.useEffect)(S,C),Q(s,p);let w,T,D;if(e[6]!==v||e[7]!==u||e[8]!==o||e[9]!==b||e[10]!==c){let t=c.trim().toLowerCase(),n=new Set(u);D=o.filter(e=>K(e,n)&&U(e,t));let r;e[14]!==v||e[15]!==b?(r=(e,t)=>(0,F.jsx)(Z,{entry:t,copied:v===t.id,onCopy:b}),e[14]=v,e[15]=b,e[16]=r):r=e[16],w=r,T=ae(u.length,t,o.length),e[6]=v,e[7]=u,e[8]=o,e[9]=b,e[10]=c,e[11]=w,e[12]=T,e[13]=D}else w=e[11],T=e[12],D=e[13];let O=T,j=o.length>0,M;e[17]!==_||e[18]!==g||e[19]!==j?(M=(0,F.jsx)(oe,{isClearing:g,hasEntries:j,onClear:_}),e[17]=_,e[18]=g,e[19]=j,e[20]=M):M=e[20];let N;e[21]!==x||e[22]!==D?(N=()=>void x(D),e[21]=x,e[22]=D,e[23]=N):N=e[23];let P;e[24]!==y||e[25]!==u||e[26]!==c||e[27]!==N||e[28]!==D?(P=(0,F.jsx)(se,{search:c,onSearchChange:l,enabledLevels:u,onEnabledLevelsChange:d,visibleEntries:D,copiedAll:y,onCopyVisible:N}),e[24]=y,e[25]=u,e[26]=c,e[27]=N,e[28]=D,e[29]=P):P=e[29];let I=o.length>0,L;e[30]!==O||e[31]!==f||e[32]!==w||e[33]!==m||e[34]!==I||e[35]!==D?(L=(0,F.jsx)(ue,{isConnecting:f,hasEntries:I,visibleEntries:D,emptyMessage:O,scrollParent:m,onScrollParentChange:h,renderLogEntryRow:w}),e[30]=O,e[31]=f,e[32]=w,e[33]=m,e[34]=I,e[35]=D,e[36]=L):L=e[36];let z;return e[37]!==L||e[38]!==M||e[39]!==P?(z=(0,F.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:(0,F.jsxs)(E,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[M,P,L]})}),e[37]=L,e[38]=M,e[39]=P,e[40]=z):z=e[40],z}function ae(e,t,n){return e===0?`No log levels selected.`:t?`No logs match this search.`:n===0?`No logs in the buffer yet.`:`No logs match the selected levels.`}function oe(e){let t=(0,A.c)(8),{isClearing:n,hasEntries:r,onClear:i}=e,a;t[0]===i?a=t[1]:(a=()=>void i(),t[0]=i,t[1]=a);let o=n||!r,s;t[2]===n?s=t[3]:(s=n?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(d,{className:`mr-2 h-4 w-4 animate-spin`}),`Clearing...`]}):`Clear`,t[2]=n,t[3]=s);let c;return t[4]!==a||t[5]!==o||t[6]!==s?(c=(0,F.jsx)(T,{title:`Logs`,description:`Live in memory feed of events`,action:(0,F.jsx)(p,{type:`button`,onClick:a,disabled:o,children:s})}),t[4]=a,t[5]=o,t[6]=s,t[7]=c):c=t[7],c}function se(e){let t=(0,A.c)(29),{search:n,onSearchChange:r,enabledLevels:i,onEnabledLevelsChange:a,visibleEntries:o,copiedAll:c,onCopyVisible:l}=e,d;t[0]===r?d=t[1]:(d=e=>r(e.target.value),t[0]=r,t[1]=d);let v;t[2]!==n||t[3]!==d?(v=(0,F.jsx)(C,{value:n,onChange:d,placeholder:`Search`,className:`min-w-0 flex-1`,"aria-label":`Search logs`}),t[2]=n,t[3]=d,t[4]=v):v=t[4];let y;t[5]===i?y=t[6]:(y=i.map(le),t[5]=i,t[6]=y);let b;t[7]===a?b=t[8]:(b=e=>{a(L.filter(t=>e.includes(s(t))))},t[7]=a,t[8]=b);let x;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(x=L.map(ce),t[9]=x):x=t[9];let S;t[10]!==y||t[11]!==b?(S=(0,F.jsx)(O,{type:`multiple`,value:y,onValueChange:b,"aria-label":`Log levels`,variant:`outline`,size:`sm`,className:z,children:x}),t[10]=y,t[11]=b,t[12]=S):S=t[12];let w=o.length===0,T;t[13]===c?T=t[14]:(T=c?(0,F.jsx)(f,{className:`h-3.5 w-3.5 text-green-500`}):(0,F.jsx)(u,{className:`h-3.5 w-3.5`}),t[13]=c,t[14]=T);let E;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,F.jsx)(`span`,{className:`sr-only`,children:`Copy visible logs`}),t[15]=E):E=t[15];let D;t[16]!==l||t[17]!==w||t[18]!==T?(D=(0,F.jsx)(m,{asChild:!0,children:(0,F.jsxs)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:l,disabled:w,children:[T,E]})}),t[16]=l,t[17]=w,t[18]=T,t[19]=D):D=t[19];let k=c?`Copied!`:`Copy visible logs to clipboard`,j;t[20]===k?j=t[21]:(j=(0,F.jsx)(h,{children:k}),t[20]=k,t[21]=j);let M;t[22]!==D||t[23]!==j?(M=(0,F.jsx)(g,{children:(0,F.jsxs)(_,{children:[D,j]})}),t[22]=D,t[23]=j,t[24]=M):M=t[24];let N;return t[25]!==M||t[26]!==v||t[27]!==S?(N=(0,F.jsxs)(`div`,{className:`mb-4 mt-4 flex w-full min-w-0 items-center gap-3 electrobun-webkit-app-region-no-drag`,children:[v,S,M]}),t[25]=M,t[26]=v,t[27]=S,t[28]=N):N=t[28],N}function ce(e){return(0,F.jsx)(D,{value:s(e),"aria-label":s(e),className:B,children:s(e)},e)}function le(e){return s(e)}function ue(e){let t=(0,A.c)(10),{isConnecting:n,hasEntries:r,visibleEntries:i,emptyMessage:a,scrollParent:o,onScrollParentChange:s,renderLogEntryRow:u}=e,f;t[0]!==a||t[1]!==r||t[2]!==n||t[3]!==u||t[4]!==o||t[5]!==i?(f=n&&!r?(0,F.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-muted-foreground`,children:[(0,F.jsx)(d,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):i.length===0?(0,F.jsx)(`p`,{className:l(c.bodyMuted,`p-4 font-sans`),children:a}):(0,F.jsx)(g,{children:(0,F.jsx)(w,{data:i,computeItemKey:fe,customScrollParent:o??void 0,itemContent:u,followOutput:de,overscan:500,className:`w-full min-w-0`})}),t[0]=a,t[1]=r,t[2]=n,t[3]=u,t[4]=o,t[5]=i,t[6]=f):f=t[6];let p;return t[7]!==s||t[8]!==f?(p=(0,F.jsx)(x,{viewportRef:s,className:`mb-6 w-full min-h-0 min-w-0 flex-1 rounded-md border bg-background font-mono text-xs`,children:f}),t[7]=s,t[8]=f,t[9]=p):p=t[9],p}function de(e){return e?`auto`:!1}function fe(e,t){return t.id}export{ie as default};
|
|
@@ -0,0 +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{tn as i}from"./dist-C99qsdM0.js";import{r as a}from"./store-HOyKbtQR.js";import{s as o,t as s}from"./utils-DIi62oP7.js";import{I as c,K as l,V as u,Zt as d,d as f,k as p,r as m,vn as h,yn as g}from"./lucide-react-DW-FYOQd.js";import{t as _}from"./button-BRUlmKU9.js";import{g as v,h as y,t as b,u as x}from"./dist-DrOhoOxi.js";import{o as S}from"./dist-Cw2XrcBQ.js";import{i as C,n as w,r as T,t as E}from"./tooltip-C0Zn4uFr.js";import{bn as D,en as O,i as k,mt as A}from"./api-BPfzuuZQ.js";import{n as j}from"./explorer-tab-context-BxUVwWQQ.js";import{t as M}from"./use-toast-xpb5jNtN.js";import{t as N}from"./dist-CSssbxDI.js";import{Ar as P,Cr as F,Dr as I,Dt as L,Ft as R,Gt as z,Ht as B,Ir as V,Jt as H,Lr as ee,Mr as te,Nr as ne,Or as U,Ot as W,Pr as re,Rr as G,Rt as ie,Sr as K,Tr as ae,Ut as oe,Vt as se,W as ce,Wt as le,_ as ue,b as de,br as fe,dr as pe,g as q,h as me,jr as he,jt as ge,qt as _e,v as ve,xr as J,y as ye,zt as be}from"./index-CU6xcKiy.js";import{t as xe}from"./delete-confirm-dialog-Dg-9HMkY.js";import{t as Se}from"./use-settings-page-loading-CpaBd260.js";import{n as Ce}from"./settings-list-DkQ2w1jX.js";var Y=t(),X=e(n(),1),Z=r(),Q=`Switch`,[we,Te]=y(Q),[Ee,De]=we(Q),Oe=X.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:s,disabled:c,value:l=`on`,onCheckedChange:u,form:d,...f}=e,[p,m]=X.useState(null),h=o(t,e=>m(e)),g=X.useRef(!1),_=p?d||!!p.closest(`form`):!0,[y,S]=b({prop:i,defaultProp:a??!1,onChange:u,caller:Q});return(0,Z.jsxs)(Ee,{scope:n,checked:y,disabled:c,children:[(0,Z.jsx)(x.button,{type:`button`,role:`switch`,"aria-checked":y,"aria-required":s,"data-state":Ne(y),"data-disabled":c?``:void 0,disabled:c,value:l,...f,ref:h,onClick:v(e.onClick,e=>{S(e=>!e),_&&(g.current=e.isPropagationStopped(),g.current||e.stopPropagation())})}),_&&(0,Z.jsx)(Me,{control:p,bubbles:!g.current,name:r,value:l,checked:y,required:s,disabled:c,form:d,style:{transform:`translateX(-100%)`}})]})});Oe.displayName=Q;var ke=`SwitchThumb`,Ae=X.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,i=De(ke,n);return(0,Z.jsx)(x.span,{"data-state":Ne(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})});Ae.displayName=ke;var je=`SwitchBubbleInput`,Me=X.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...i},a)=>{let s=X.useRef(null),c=o(s,a),l=N(n),u=S(t);return X.useEffect(()=>{let e=s.current;if(!e)return;let t=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(t,`checked`).set;if(l!==n&&i){let t=new Event(`click`,{bubbles:r});i.call(e,n),e.dispatchEvent(t)}},[l,n,r]),(0,Z.jsx)(`input`,{type:`checkbox`,"aria-hidden":!0,defaultChecked:n,...i,tabIndex:-1,ref:c,style:{...i.style,...u,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0}})});Me.displayName=je;function Ne(e){return e?`checked`:`unchecked`}var Pe=Oe,Fe=Ae,Ie=X.forwardRef((e,t)=>{let n=(0,Y.c)(10),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=s(`peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,r),n[3]=r,n[4]=a);let o;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Z.jsx)(Fe,{className:s(`pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0`)}),n[5]=o):o=n[5];let c;return n[6]!==i||n[7]!==t||n[8]!==a?(c=(0,Z.jsx)(Pe,{className:a,...i,ref:t,children:o}),n[6]=i,n[7]=t,n[8]=a,n[9]=c):c=n[9],c});Ie.displayName=Pe.displayName;function Le(e){let t=(0,Y.c)(6),{defer:n,onDeferChange:r}=e,i=n?`Tool definitions load on demand via tool_search to keep the initial prompt small.`:`Tool definitions are always injected into the initial prompt, even when not used. Useful when this server's tools are needed in nearly every conversation, but they consume context.`,a;t[0]!==n||t[1]!==r?(a=(0,Z.jsx)(Ie,{id:`defer-tools`,checked:n,onCheckedChange:r,"aria-label":`Deferred`}),t[0]=n,t[1]=r,t[2]=a):a=t[2];let o;return t[3]!==i||t[4]!==a?(o=(0,Z.jsx)(W,{title:`Deferred`,description:i,controlLayout:`stack`,className:`pt-6`,action:a}),t[3]=i,t[4]=a,t[5]=o):o=t[5],o}function Re(e){let t=(0,Y.c)(15),{entries:n,emptyMessage:r,keyPlaceholder:a,valuePlaceholder:o,onUpdate:s,onRemove:c}=e;if(n.length===0){let e;return t[0]===r?e=t[1]:(e=(0,Z.jsx)(`p`,{className:i.caption,children:r}),t[0]=r,t[1]=e),e}let l;if(t[2]!==n||t[3]!==a||t[4]!==c||t[5]!==s||t[6]!==o){let e;t[8]!==a||t[9]!==c||t[10]!==s||t[11]!==o?(e=(e,t)=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(V,{placeholder:a,value:e.key,onChange:e=>s(t,{key:e.target.value}),className:`font-mono w-[35%]`}),(0,Z.jsx)(V,{placeholder:o,value:e.value,onChange:e=>s(t,{value:e.target.value}),className:`font-mono flex-1`}),(0,Z.jsx)(_,{variant:`ghost`,size:`icon`,onClick:()=>c(t),className:`h-9 w-9 flex-shrink-0`,children:(0,Z.jsx)(m,{className:`h-3.5 w-3.5`})})]},t),t[8]=a,t[9]=c,t[10]=s,t[11]=o,t[12]=e):e=t[12],l=n.map(e),t[2]=n,t[3]=a,t[4]=c,t[5]=s,t[6]=o,t[7]=l}else l=t[7];let u;return t[13]===l?u=t[14]:(u=(0,Z.jsx)(`div`,{className:`flex flex-col gap-2`,children:l}),t[13]=l,t[14]=u),u}function ze(e){let t=(0,Y.c)(16),{title:n,description:r,actionLabel:i,emptyMessage:a,keyPlaceholder:o,valuePlaceholder:s,entries:c,onAdd:l,onRemove:d,onUpdate:f}=e,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(u,{className:`h-3 w-3 mr-1`}),t[0]=p):p=t[0];let m;t[1]!==i||t[2]!==l?(m=(0,Z.jsxs)(_,{variant:`ghost`,size:`sm`,onClick:l,children:[p,i]}),t[1]=i,t[2]=l,t[3]=m):m=t[3];let h;t[4]!==a||t[5]!==c||t[6]!==o||t[7]!==d||t[8]!==f||t[9]!==s?(h=(0,Z.jsx)(Re,{entries:c,emptyMessage:a,keyPlaceholder:o,valuePlaceholder:s,onUpdate:f,onRemove:d}),t[4]=a,t[5]=c,t[6]=o,t[7]=d,t[8]=f,t[9]=s,t[10]=h):h=t[10];let g;return t[11]!==r||t[12]!==m||t[13]!==h||t[14]!==n?(g=(0,Z.jsx)(W,{title:n,description:r,controlLayout:`stack`,className:`pt-6`,action:m,children:h}),t[11]=r,t[12]=m,t[13]=h,t[14]=n,t[15]=g):g=t[15],g}function Be(e){let t=(0,Y.c)(6),{serverType:n,entries:r,onAdd:i,onRemove:a,onUpdate:o}=e,s=n===`remote`?`Optional metadata for local tooling.`:void 0,c;return t[0]!==r||t[1]!==i||t[2]!==a||t[3]!==o||t[4]!==s?(c=(0,Z.jsx)(ze,{title:`Environment variables`,description:s,actionLabel:`Add variable`,emptyMessage:`No environment variables configured`,keyPlaceholder:`KEY`,valuePlaceholder:`value`,entries:r,onAdd:i,onRemove:a,onUpdate:o}),t[0]=r,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=c):c=t[5],c}function Ve(){let e=(0,Y.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Z.jsx)(`p`,{className:i.bodyMuted,children:`Loading server configuration...`})}),e[0]=t):t=e[0],t}function He(e){let t=(0,Y.c)(7),{isEditing:n,busy:r,deleting:i,onDelete:a}=e;if(!n){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(`div`,{}),t[0]=e):e=t[0],e}let o;t[1]===a?o=t[2]:(o=()=>void a(),t[1]=a,t[2]=o);let s=i?`Removing...`:`Remove`,c;return t[3]!==r||t[4]!==o||t[5]!==s?(c=(0,Z.jsx)(_,{variant:`destructive`,onClick:o,disabled:r,children:s}),t[3]=r,t[4]=o,t[5]=s,t[6]=c):c=t[6],c}function Ue(e,t){return e?t?`Saving...`:`Adding...`:t?`Save`:`Add`}function We(e){let t=(0,Y.c)(9),{busy:n,hasChanges:r,saving:i,isEditing:a,onSave:o}=e,s;t[0]===o?s=t[1]:(s=()=>void o(),t[0]=o,t[1]=s);let c=n||!r,l;t[2]!==a||t[3]!==i?(l=Ue(i,a),t[2]=a,t[3]=i,t[4]=l):l=t[4];let u;return t[5]!==s||t[6]!==c||t[7]!==l?(u=(0,Z.jsx)(_,{onClick:s,disabled:c,children:l}),t[5]=s,t[6]=c,t[7]=l,t[8]=u):u=t[8],u}function Ge(e){let t=(0,Y.c)(14),{isEditing:n,busy:r,saving:i,deleting:a,hasChanges:o,onSave:s,onDelete:c}=e,l;t[0]!==r||t[1]!==a||t[2]!==n||t[3]!==c?(l=(0,Z.jsx)(He,{isEditing:n,busy:r,deleting:a,onDelete:c}),t[0]=r,t[1]=a,t[2]=n,t[3]=c,t[4]=l):l=t[4];let u;t[5]!==r||t[6]!==o||t[7]!==n||t[8]!==s||t[9]!==i?(u=(0,Z.jsx)(We,{busy:r,hasChanges:o,saving:i,isEditing:n,onSave:s}),t[5]=r,t[6]=o,t[7]=n,t[8]=s,t[9]=i,t[10]=u):u=t[10];let d;return t[11]!==l||t[12]!==u?(d=(0,Z.jsxs)(`div`,{className:`mt-6 border-t pt-4 flex items-center justify-between`,children:[l,u]}),t[11]=l,t[12]=u,t[13]=d):d=t[13],d}function Ke(e){let t=(0,Y.c)(9),{isEditing:n,name:r,onNameChange:i}=e,a=n?`Server name cannot be changed`:void 0,o;t[0]===i?o=t[1]:(o=e=>i(e.target.value),t[0]=i,t[1]=o);let s;t[2]!==n||t[3]!==r||t[4]!==o?(s=(0,Z.jsx)(V,{id:`server-name`,placeholder:`e.g. filesystem`,value:r,onChange:o,disabled:n}),t[2]=n,t[3]=r,t[4]=o,t[5]=s):s=t[5];let c;return t[6]!==a||t[7]!==s?(c=(0,Z.jsx)(W,{title:`Server name`,description:a,controlLayout:`stack`,className:`pt-6`,children:s}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c}function qe(e){let t=(0,Y.c)(13),{form:n,onFormChange:r}=e,i;t[0]===r?i=t[1]:(i=e=>r({command:e.target.value}),t[0]=r,t[1]=i);let a;t[2]!==n.command||t[3]!==i?(a=(0,Z.jsx)(W,{title:`Command`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(V,{id:`server-command`,placeholder:`e.g. npx`,value:n.command,onChange:i})}),t[2]=n.command,t[3]=i,t[4]=a):a=t[4];let o;t[5]===r?o=t[6]:(o=e=>r({argsText:e.target.value}),t[5]=r,t[6]=o);let s;t[7]!==n.argsText||t[8]!==o?(s=(0,Z.jsx)(W,{title:`Arguments`,description:`One argument per line`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(ce,{id:`server-args`,placeholder:`-y
|
|
2
|
+
@modelcontextprotocol/server-filesystem
|
|
3
|
+
/path/to/dir`,value:n.argsText,onChange:o,className:`font-mono min-h-[80px] resize-none`})}),t[7]=n.argsText,t[8]=o,t[9]=s):s=t[9];let c;return t[10]!==a||t[11]!==s?(c=(0,Z.jsxs)(Z.Fragment,{children:[a,s]}),t[10]=a,t[11]=s,t[12]=c):c=t[12],c}function Je(e){let t=(0,Y.c)(19),{form:n,onFormChange:r}=e,i;t[0]===r?i=t[1]:(i=e=>r({oauthClientId:e.target.value}),t[0]=r,t[1]=i);let a;t[2]!==n.oauthClientId||t[3]!==i?(a=(0,Z.jsx)(V,{id:`oauth-client-id`,placeholder:`Client ID`,value:n.oauthClientId,onChange:i,className:`font-mono`}),t[2]=n.oauthClientId,t[3]=i,t[4]=a):a=t[4];let o;t[5]===r?o=t[6]:(o=e=>r({oauthClientSecret:e.target.value}),t[5]=r,t[6]=o);let s;t[7]!==n.oauthClientSecret||t[8]!==o?(s=(0,Z.jsx)(V,{id:`oauth-client-secret`,placeholder:`Client secret`,type:`password`,value:n.oauthClientSecret,onChange:o,className:`font-mono`}),t[7]=n.oauthClientSecret,t[8]=o,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=e=>r({oauthCallbackPort:e.target.value}),t[10]=r,t[11]=c);let l;t[12]!==n.oauthCallbackPort||t[13]!==c?(l=(0,Z.jsx)(V,{id:`oauth-callback-port`,placeholder:`Callback port (e.g. 3118)`,value:n.oauthCallbackPort,onChange:c,className:`font-mono`}),t[12]=n.oauthCallbackPort,t[13]=c,t[14]=l):l=t[14];let u;return t[15]!==a||t[16]!==s||t[17]!==l?(u=(0,Z.jsx)(W,{title:`OAuth client`,description:`Required for servers without dynamic client registration (e.g. GitHub Copilot MCP). Create an OAuth App, set callback to http://localhost:<port>/callback, then Sign in.`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[a,s,l]})}),t[15]=a,t[16]=s,t[17]=l,t[18]=u):u=t[18],u}function Ye(e){let t=(0,Y.c)(25),{form:n,onFormChange:r,headerEntries:i,onHeaderAdd:a,onHeaderRemove:o,onHeaderUpdate:s}=e,c;t[0]===r?c=t[1]:(c=e=>r({serverUrl:e.target.value}),t[0]=r,t[1]=c);let l;t[2]!==n.serverUrl||t[3]!==c?(l=(0,Z.jsx)(W,{title:`Server URL`,description:`Paste the MCP endpoint URL from your provider.`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(V,{id:`server-url`,placeholder:`https://example.com/mcp`,value:n.serverUrl,onChange:c,className:`font-mono`})}),t[2]=n.serverUrl,t[3]=c,t[4]=l):l=t[4];let u;t[5]===r?u=t[6]:(u=e=>r({transport:e}),t[5]=r,t[6]=u);let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsx)(_e,{children:(0,Z.jsx)(H,{})}),t[7]=d):d=t[7];let f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsxs)(le,{children:[(0,Z.jsx)(z,{value:`sse`,children:`SSE (Server-Sent Events)`}),(0,Z.jsx)(z,{value:`streamableHttp`,children:`Streamable HTTP`})]}),t[8]=f):f=t[8];let p;t[9]!==n.transport||t[10]!==u?(p=(0,Z.jsx)(W,{title:`Transport`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsxs)(oe,{value:n.transport,onValueChange:u,children:[d,f]})}),t[9]=n.transport,t[10]=u,t[11]=p):p=t[11];let m;t[12]!==n||t[13]!==r?(m=(0,Z.jsx)(Je,{form:n,onFormChange:r}),t[12]=n,t[13]=r,t[14]=m):m=t[14];let h;t[15]!==i||t[16]!==a||t[17]!==o||t[18]!==s?(h=(0,Z.jsx)(ze,{title:`HTTP headers`,description:`Optional headers for authentication.`,actionLabel:`Add header`,emptyMessage:`No headers configured`,keyPlaceholder:`Authorization`,valuePlaceholder:`Bearer ...`,entries:i,onAdd:a,onRemove:o,onUpdate:s}),t[15]=i,t[16]=a,t[17]=o,t[18]=s,t[19]=h):h=t[19];let g;return t[20]!==l||t[21]!==p||t[22]!==m||t[23]!==h?(g=(0,Z.jsxs)(Z.Fragment,{children:[l,p,m,h]}),t[20]=l,t[21]=p,t[22]=m,t[23]=h,t[24]=g):g=t[24],g}function Xe(e){let t=(0,Y.c)(18),{form:n,onFormChange:r,headerEntries:i,onHeaderAdd:a,onHeaderRemove:o,onHeaderUpdate:s}=e,c;t[0]===r?c=t[1]:(c=e=>r({serverType:e}),t[0]=r,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsxs)(K,{className:`grid w-full grid-cols-2`,children:[(0,Z.jsx)(F,{value:`local`,children:`Local (stdio)`}),(0,Z.jsx)(F,{value:`remote`,children:`Remote (HTTP/SSE)`})]}),t[2]=l):l=t[2];let u;t[3]!==n||t[4]!==r?(u=(0,Z.jsx)(J,{value:`local`,children:(0,Z.jsx)(qe,{form:n,onFormChange:r})}),t[3]=n,t[4]=r,t[5]=u):u=t[5];let d;t[6]!==n||t[7]!==i||t[8]!==r||t[9]!==a||t[10]!==o||t[11]!==s?(d=(0,Z.jsx)(J,{value:`remote`,children:(0,Z.jsx)(Ye,{form:n,onFormChange:r,headerEntries:i,onHeaderAdd:a,onHeaderRemove:o,onHeaderUpdate:s})}),t[6]=n,t[7]=i,t[8]=r,t[9]=a,t[10]=o,t[11]=s,t[12]=d):d=t[12];let f;return t[13]!==n.serverType||t[14]!==c||t[15]!==u||t[16]!==d?(f=(0,Z.jsxs)(fe,{value:n.serverType,onValueChange:c,className:`w-full pt-6`,children:[l,u,d]}),t[13]=n.serverType,t[14]=c,t[15]=u,t[16]=d,t[17]=f):f=t[17],f}var Ze={key:``,value:``},Qe={serverType:`local`,name:``,command:``,argsText:``,serverUrl:``,transport:`sse`,oauthClientId:``,oauthClientSecret:``,oauthCallbackPort:``,defer:!0},$e=[e=>e.name,e=>e.command,e=>e.argsText,e=>e.serverUrl,e=>e.oauthClientId,e=>e.oauthClientSecret,e=>e.oauthCallbackPort];function $(e,t){return e??t}function et(e){return e?.url?`remote`:`local`}function tt(e){return Object.entries(e??{}).map(([e,t])=>({key:e,value:t}))}function nt(e){let t={};for(let{key:n,value:r}of e)n.trim()&&(t[n.trim()]=r);return Object.keys(t).length>0?t:void 0}function rt(e){return(e??[]).join(`
|
|
4
|
+
`)}function it(e){return e.split(`
|
|
5
|
+
`).map(e=>e.trim()).filter(Boolean)}function at(e){return e===void 0?``:String(e)}function ot(e){return{oauthClientId:$(e?.clientId,``),oauthClientSecret:$(e?.clientSecret,``),oauthCallbackPort:at(e?.callbackPort)}}function st(e,t){return{...Qe,name:e,serverType:et(t),command:$(t.command,``),argsText:rt(t.args),serverUrl:$(t.url,``),transport:$(t.transport,`sse`),...ot(t.oauth),defer:t.defer!==!1}}function ct(e,t,n){return JSON.stringify({name:e,type:t,config:n})}function lt(e){if(!e)return;let t=Number.parseInt(e,10);return Number.isInteger(t)&&t>0?t:void 0}function ut(e){let t={};for(let[n,r]of Object.entries(e))r!==``&&r!==void 0&&(t[n]=r);return t}function dt(e){let t={};for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return t}function ft(e,t,n){return e!==``||t!==``||n!==void 0}function pt(e){let t=e.oauthClientId.trim(),n=e.oauthClientSecret.trim(),r=lt(e.oauthCallbackPort.trim());if(!ft(t,n,r))return;let i=ut({clientId:t,clientSecret:n,callbackPort:r});if(Object.keys(i).length!==0)return i}function mt(e,t,n){return dt({url:e.serverUrl.trim(),transport:e.transport,headers:nt(n),env:nt(t),oauth:pt(e),defer:e.defer?void 0:!1})}function ht(e,t){return dt({command:e.command.trim(),args:it(e.argsText),env:nt(t),defer:e.defer?void 0:!1})}function gt(e,t,n){return e.serverType===`remote`?mt(e,t,n):ht(e,t)}function _t(e){let t=e.trim();if(!t)return`Server URL is required`;try{new URL(t)}catch{return`Server URL must be a valid URL`}return null}function vt(e){if(!e.trim())return null;let t=Number.parseInt(e.trim(),10);return Number.isInteger(t)&&t>0?null:`OAuth callback port must be a positive integer`}function yt(e){return e.oauthClientSecret.trim()&&!e.oauthClientId.trim()?`OAuth client ID is required when a client secret is set`:null}function bt(e){return _t(e.serverUrl)??vt(e.oauthCallbackPort)??yt(e)}function xt(e){return e.trim()?null:`Command is required`}function St(e,t){return t.name.trim()?e===`remote`?bt(t):xt(t.command):`Server name is required`}function Ct(e,t,n){return $e.some(t=>t(e).trim()!==``)||t.length>0||n.length>0||!e.defer}function wt(e){return e.isEditing?e.currentSnapshot!==e.originalSnapshot:Ct(e.form,e.envEntries,e.headerEntries)}function Tt(e){if(e.isEditing&&e.serverName)return e.installedServers.find(t=>t.name===e.serverName);if(e.initialConfig)return{name:$(e.initialName,``),config:e.initialConfig}}function Et(e,t){return e instanceof Error?e.message:t}function Dt(e,t){return e?`MCP server saved · ${q(t.catalog)}`:`MCP server added · ${q(t.catalog)}`}function Ot(e,t){return{title:e?t:`Add MCP Server`,description:e?`Edit MCP Server configuration.`:`Configure a new MCP Server.`}}function kt(){let e=(0,Y.c)(7),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={env:[],header:[]},e[0]=t):t=e[0];let[n,r]=(0,X.useState)(t),i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=function(e,t){r(n=>({...n,[e]:t(n[e])}))},e[1]=i):i=e[1];let a=i,o;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=function(e){a(e,At)},e[2]=o):o=e[2];let s=o,c;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=function(e,t){a(e,e=>e.filter((e,n)=>n!==t))},e[3]=c):c=e[3];let l=c,u;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=function(e,t,n){a(e,e=>e.map((e,r)=>r===t?{...e,...n}:e))},e[4]=u):u=e[4];let d=u,f;return e[5]===n?f=e[6]:(f={lists:n,setEntryLists:r,addEntry:s,removeEntry:l,updateEntry:d},e[5]=n,e[6]=f),f}function At(e){return[...e,Ze]}function jt(e){async function t(){if(!e.projectPath)throw Error(`No project path`);let t=await ve(e.projectPath,e.originalName||e.form.name.trim(),gt(e.form,e.envEntries,e.headerEntries));M({title:`Success`,description:Dt(e.isEditing,t)}),e.onBack()}async function n(){e.setError(null);let n=St(e.form.serverType,e.form);if(n){e.setError(n);return}e.setSaving(!0);try{await t()}catch(t){e.setError(Et(t,`Failed to save server`))}finally{e.setSaving(!1)}}async function r(){if(e.projectPath){e.setDeleting(!0);try{await me(e.projectPath,e.originalName),M({title:`Success`,description:`MCP server removed`}),e.onBack()}catch(t){e.setError(Et(t,`Failed to delete server`))}finally{e.setDeleting(!1)}}}return{handleSave:n,handleDelete:r}}function Mt(e){let{installedServers:t}=de(e.projectPath),n=!!e.serverName,[r,i]=(0,X.useState)(Qe),{lists:a,setEntryLists:o,addEntry:s,removeEntry:c,updateEntry:l}=kt(),[u,d]=(0,X.useState)({name:``,snapshot:``}),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(n);(0,X.useEffect)(()=>{let r=Tt({isEditing:n,serverName:e.serverName,initialName:e.initialName,initialConfig:e.initialConfig,installedServers:t});r&&(i(st(r.name,r.config)),o({env:tt(r.config.env),header:tt(r.config.headers)}),d({name:r.name,snapshot:ct(r.name,et(r.config),r.config)})),(!n||r)&&y(!1)},[t,e.serverName,e.initialName,e.initialConfig,o,n]);function b(e){i(t=>({...t,...e}))}let x=jt({projectPath:e.projectPath,isEditing:n,form:r,envEntries:a.env,headerEntries:a.header,originalName:u.name,onBack:e.onBack,setError:_,setSaving:p,setDeleting:h});return{form:r,patchForm:b,lists:a,addEntry:s,removeEntry:c,updateEntry:l,saving:f,deleting:m,error:g,loading:v,isEditing:n,busy:f||m,hasChanges:wt({isEditing:n,currentSnapshot:ct(r.name.trim(),r.serverType,gt(r,a.env,a.header)),originalSnapshot:u.snapshot,form:r,envEntries:a.env,headerEntries:a.header}),header:Ot(n,r.name),actions:x}}function Nt(e){let t=(0,Y.c)(65),{projectPath:n,serverName:r,initialName:a,initialConfig:o,onBack:s}=e,c;t[0]!==o||t[1]!==a||t[2]!==s||t[3]!==n||t[4]!==r?(c={projectPath:n,serverName:r,initialName:a,initialConfig:o,onBack:s},t[0]=o,t[1]=a,t[2]=s,t[3]=n,t[4]=r,t[5]=c):c=t[5];let{form:l,patchForm:u,lists:d,addEntry:f,removeEntry:p,updateEntry:m,saving:h,deleting:g,error:_,loading:v,isEditing:y,busy:b,hasChanges:x,header:S,actions:C}=Mt(c);if(v){let e;return t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(Ve,{}),t[6]=e):e=t[6],e}let w;t[7]===S?w=t[8]:(w=(0,Z.jsx)(ge,{...S,sticky:!0,className:`pr-10`}),t[7]=S,t[8]=w);let T;t[9]===u?T=t[10]:(T=e=>u({name:e}),t[9]=u,t[10]=T);let E;t[11]!==l.name||t[12]!==y||t[13]!==T?(E=(0,Z.jsx)(Ke,{isEditing:y,name:l.name,onNameChange:T}),t[11]=l.name,t[12]=y,t[13]=T,t[14]=E):E=t[14];let D;t[15]===f?D=t[16]:(D=()=>f(`header`),t[15]=f,t[16]=D);let O;t[17]===p?O=t[18]:(O=e=>p(`header`,e),t[17]=p,t[18]=O);let k;t[19]===m?k=t[20]:(k=(e,t)=>m(`header`,e,t),t[19]=m,t[20]=k);let A;t[21]!==l||t[22]!==d.header||t[23]!==u||t[24]!==D||t[25]!==O||t[26]!==k?(A=(0,Z.jsx)(Xe,{form:l,onFormChange:u,headerEntries:d.header,onHeaderAdd:D,onHeaderRemove:O,onHeaderUpdate:k}),t[21]=l,t[22]=d.header,t[23]=u,t[24]=D,t[25]=O,t[26]=k,t[27]=A):A=t[27];let j;t[28]===u?j=t[29]:(j=e=>u({defer:e}),t[28]=u,t[29]=j);let M;t[30]!==l.defer||t[31]!==j?(M=(0,Z.jsx)(Le,{defer:l.defer,onDeferChange:j}),t[30]=l.defer,t[31]=j,t[32]=M):M=t[32];let N;t[33]===f?N=t[34]:(N=()=>f(`env`),t[33]=f,t[34]=N);let P;t[35]===p?P=t[36]:(P=e=>p(`env`,e),t[35]=p,t[36]=P);let F;t[37]===m?F=t[38]:(F=(e,t)=>m(`env`,e,t),t[37]=m,t[38]=F);let I;t[39]!==l.serverType||t[40]!==d.env||t[41]!==N||t[42]!==P||t[43]!==F?(I=(0,Z.jsx)(Be,{serverType:l.serverType,entries:d.env,onAdd:N,onRemove:P,onUpdate:F}),t[39]=l.serverType,t[40]=d.env,t[41]=N,t[42]=P,t[43]=F,t[44]=I):I=t[44];let R;t[45]===_?R=t[46]:(R=_?(0,Z.jsx)(`p`,{className:i.error,children:_}):null,t[45]=_,t[46]=R);let z;t[47]!==C.handleDelete||t[48]!==C.handleSave||t[49]!==b||t[50]!==g||t[51]!==x||t[52]!==y||t[53]!==h?(z=(0,Z.jsx)(Ge,{isEditing:y,busy:b,saving:h,deleting:g,hasChanges:x,onSave:C.handleSave,onDelete:C.handleDelete}),t[47]=C.handleDelete,t[48]=C.handleSave,t[49]=b,t[50]=g,t[51]=x,t[52]=y,t[53]=h,t[54]=z):z=t[54];let B;t[55]!==M||t[56]!==I||t[57]!==R||t[58]!==z||t[59]!==E||t[60]!==A?(B=(0,Z.jsxs)(`div`,{children:[E,A,M,I,R,z]}),t[55]=M,t[56]=I,t[57]=R,t[58]=z,t[59]=E,t[60]=A,t[61]=B):B=t[61];let V;return t[62]!==B||t[63]!==w?(V=(0,Z.jsx)(se,{children:(0,Z.jsxs)(L,{children:[w,B]})}),t[62]=B,t[63]=w,t[64]=V):V=t[64],V}function Pt(e){if(!e)return null;let t=new Date(e).getTime();if(Number.isNaN(t))return null;let n=Math.max(0,Math.round((Date.now()-t)/1e3));if(n<60)return`just now`;let r=Math.round(n/60);if(r<60)return`${r}m ago`;let i=Math.round(r/60);return i<24?`${i}h ago`:new Date(e).toLocaleDateString()}function Ft(e){if(!e||e.state===`missing`||e.state===`stale`)return`Refresh to load tools`;if(e.state===`needs_auth`)return`Sign in required`;if(e.state===`error`)return e.error??`Could not load tools`;let t=e.tools.length,n=t===1?`1 tool`:`${t} tools`,r=Pt(e.refreshedAt);return r?`${n} · refreshed ${r}`:n}function It(e){let t=(0,Y.c)(69),{name:n,config:r,catalog:a,remote:o,authorized:l,oauthBusy:u,refreshing:d,onEdit:p,onRefresh:m,onDelete:g,onSignIn:v,onSignOut:y}=e,[b,x]=(0,X.useState)(!1),S;if(t[0]!==l||t[1]!==a||t[2]!==r.args||t[3]!==r.command||t[4]!==r.url||t[5]!==b||t[6]!==n||t[7]!==u||t[8]!==g||t[9]!==p||t[10]!==m||t[11]!==v||t[12]!==y||t[13]!==d||t[14]!==o){let e=a?.state===`ok`?a.tools.map(zt):[],D;t[16]!==r.args||t[17]!==r.command||t[18]!==r.url?(D=r.url?r.url:`${r.command??``} ${r.args?.join(` `)??``}`.trim(),t[16]=r.args,t[17]=r.command,t[18]=r.url,t[19]=D):D=t[19];let O=D,k;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(k=s(i.body,`truncate`),t[20]=k):k=t[20];let A;t[21]===n?A=t[22]:(A=(0,Z.jsx)(`div`,{className:k,children:n}),t[21]=n,t[22]=A);let j;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(j=s(i.compact,`truncate text-muted-foreground font-mono`),t[23]=j):j=t[23];let M;t[24]===O?M=t[25]:(M=(0,Z.jsx)(`div`,{className:j,children:O}),t[24]=O,t[25]=M);let N;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(N=s(i.caption,`truncate text-muted-foreground`),t[26]=N):N=t[26];let P;t[27]===a?P=t[28]:(P=Ft(a),t[27]=a,t[28]=P);let F;t[29]===P?F=t[30]:(F=(0,Z.jsx)(`div`,{className:N,children:P}),t[29]=P,t[30]=F);let I;t[31]!==p||t[32]!==A||t[33]!==M||t[34]!==F?(I=(0,Z.jsxs)(`button`,{type:`button`,onClick:p,className:`min-w-0 text-left`,children:[A,M,F]}),t[31]=p,t[32]=A,t[33]=M,t[34]=F,t[35]=I):I=t[35];let L;t[36]!==l||t[37]!==u||t[38]!==v||t[39]!==y||t[40]!==o?(L=o&&(0,Z.jsx)(_,{type:`button`,variant:l?`outline`:`secondary`,size:`sm`,disabled:u,onClick:()=>{l?y():v()},children:u?`Working…`:l?`Sign out`:`Sign in`}),t[36]=l,t[37]=u,t[38]=v,t[39]=y,t[40]=o,t[41]=L):L=t[41];let R=`Refresh ${n} tools`,z=d&&`animate-spin`,B;t[42]===z?B=t[43]:(B=s(`h-4 w-4`,z),t[42]=z,t[43]=B);let V;t[44]===B?V=t[45]:(V=(0,Z.jsx)(c,{className:B}),t[44]=B,t[45]=V);let H;t[46]!==m||t[47]!==d||t[48]!==R||t[49]!==V?(H=(0,Z.jsx)(C,{asChild:!0,children:(0,Z.jsx)(_,{type:`button`,variant:`ghost`,size:`icon-sm`,disabled:d,onClick:m,"aria-label":R,children:V})}),t[46]=m,t[47]=d,t[48]=R,t[49]=V,t[50]=H):H=t[50];let ee;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(ee=(0,Z.jsx)(w,{children:`Refresh tools`}),t[51]=ee):ee=t[51];let te;t[52]===H?te=t[53]:(te=(0,Z.jsx)(T,{children:(0,Z.jsxs)(E,{children:[H,ee]})}),t[52]=H,t[53]=te);let ne=e.length>0&&(0,Z.jsx)(_,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-expanded":b,"aria-label":b?`Hide tools`:`Show tools`,onClick:()=>x(Rt),children:(0,Z.jsx)(h,{className:s(`h-4 w-4 transition-transform`,b&&`rotate-180`)})}),U;t[54]!==L||t[55]!==te||t[56]!==ne?(U=(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[L,te,ne]}),t[54]=L,t[55]=te,t[56]=ne,t[57]=U):U=t[57];let W=`Delete ${n}`,re;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(re=(0,Z.jsx)(f,{className:`h-4 w-4`}),t[58]=re):re=t[58];let G;t[59]!==g||t[60]!==W?(G=(0,Z.jsx)(C,{asChild:!0,children:(0,Z.jsx)(_,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`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]`,onClick:g,"aria-label":W,children:re})}),t[59]=g,t[60]=W,t[61]=G):G=t[61];let ie;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(ie=(0,Z.jsx)(w,{children:`Remove this MCP server from the project`}),t[62]=ie):ie=t[62];let K;t[63]===G?K=t[64]:(K=(0,Z.jsx)(T,{children:(0,Z.jsxs)(E,{children:[G,ie]})}),t[63]=G,t[64]=K);let ae;t[65]!==I||t[66]!==U||t[67]!==K?(ae=(0,Z.jsxs)(`div`,{className:`grid min-h-13 grid-cols-[minmax(0,1fr)_auto_1.75rem] items-center gap-3`,children:[I,U,K]}),t[65]=I,t[66]=U,t[67]=K,t[68]=ae):ae=t[68],S=(0,Z.jsxs)(`div`,{className:`group px-3 py-3 hover:bg-muted/30`,children:[ae,b&&e.length>0&&(0,Z.jsx)(`ul`,{className:s(i.caption,`mt-2 space-y-1 pl-1 text-muted-foreground`),children:e.map(Lt)})]}),t[0]=l,t[1]=a,t[2]=r.args,t[3]=r.command,t[4]=r.url,t[5]=b,t[6]=n,t[7]=u,t[8]=g,t[9]=p,t[10]=m,t[11]=v,t[12]=y,t[13]=d,t[14]=o,t[15]=S}else S=t[15];return S}function Lt(e){return(0,Z.jsx)(`li`,{className:`font-mono truncate`,children:e},e)}function Rt(e){return!e}function zt(e){return e.name}function Bt(e){return Object.keys(e.env??{}).length>0?{env:e.env}:{}}function Vt(e){return e.name.toLowerCase().replace(/\s+/g,`-`)}function Ht(e,t){let n=Vt(e);return t.some(function(t){return t.name===n||t.name===e.id})}function Ut(e){let t=Vt(e),n=Bt(e);if(e.url!==void 0){let r={url:e.url,transport:e.transport??`sse`,...n};return e.url.trim()?{kind:`automatic`,name:t,config:r}:{kind:`manual`,prefill:{name:t,config:r}}}return e.command?{kind:`automatic`,name:t,config:{command:e.command,args:e.args??[],...n}}:{kind:`invalid`}}async function Wt(e){let t=await ve(e.projectPath,e.serverName,e.config);return await e.loadInstalledServers(),e.triggerExplorerRefresh(),t.catalog}function Gt(e){M({title:`Error`,description:e instanceof Error?e.message:`Failed to install server`,variant:`destructive`})}function Kt(){M({title:`Error`,description:`This server is missing install configuration.`,variant:`destructive`})}function qt(e){let t=(0,Y.c)(15),{projectPath:n,installedServers:r,loadInstalledServers:i,triggerExplorerRefresh:a}=e,[o,s]=(0,X.useState)(!1),[c,l]=(0,X.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=function(){s(!1),l(null)},t[0]=u):u=t[0];let d=u,f;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(f=function(){l(null),s(!0)},t[1]=f):f=t[1];let p=f,m;t[2]!==i||t[3]!==a?(m=function(){d(),i(),a()},t[2]=i,t[3]=a,t[4]=m):m=t[4];let h=m,g;t[5]!==r||t[6]!==i||t[7]!==n||t[8]!==a?(g=async function(e){if(!n||Ht(e,r))return;let t=Ut(e);if(t.kind===`manual`){l(t.prefill),s(!0);return}if(t.kind===`invalid`){Kt();return}try{let r=await Wt({projectPath:n,serverName:t.name,config:t.config,loadInstalledServers:i,triggerExplorerRefresh:a});M({title:`MCP server installed`,description:`${e.name} · ${q(r)}`})}catch(e){Gt(e)}},t[5]=r,t[6]=i,t[7]=n,t[8]=a,t[9]=g):g=t[9];let _=g,v;return t[10]!==h||t[11]!==_||t[12]!==c||t[13]!==o?(v={showAddDialog:o,prefillServer:c,installPopularServer:_,openManualAddDialog:p,closeAddDialog:d,completeServerEdit:h},t[10]=h,t[11]=_,t[12]=c,t[13]=o,t[14]=v):v=t[14],v}var Jt=`https://tarsk.io/skills/mcp/`;function Yt(e){return typeof e.url==`string`&&e.url.trim().length>0}function Xt(e,t,n,r,i,a){let[o,s]=(0,X.useState)(null),[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)({}),[m,h]=(0,X.useState)(null),[g,_]=(0,X.useState)(null),v=(0,X.useCallback)(async()=>{if(!e){p({});return}let n=t.filter(e=>Yt(e.config));if(n.length===0){p({});return}let r=await Promise.all(n.map(async t=>{try{let n=await A(e,t.name);return[t.name,n.authorized]}catch{return[t.name,!1]}}));p(Object.fromEntries(r))},[e,t]);return(0,X.useEffect)(()=>{v()},[v]),{editingServer:o,setEditingServer:s,deleteConfirm:c,setDeleteConfirm:l,deleting:u,oauthAuthorized:f,oauthBusy:m,refreshing:g,handleDelete:(0,X.useCallback)(async t=>{if(e){d(!0);try{await me(e,t),await n(),r(),M({title:`MCP server removed`,description:t}),l(null)}catch(e){M({title:`Error`,description:e instanceof Error?e.message:`Failed to remove server`,variant:`destructive`})}finally{d(!1)}}},[e,n,r]),handleOAuthSignIn:(0,X.useCallback)(async t=>{if(e){h(t);try{let r=await k(e,t);await v(),await n(),M({title:`Signed in`,description:r.catalog?`${t} · ${q(r.catalog)}`:`Connected to ${t}`})}catch(e){M({title:`Sign in failed`,description:e instanceof Error?e.message:`OAuth authorization failed`,variant:`destructive`})}finally{h(null)}}},[e,v,n]),handleOAuthSignOut:(0,X.useCallback)(async t=>{if(e){h(t);try{await D(e,t),await v(),await n(),M({title:`Signed out`,description:t})}catch(e){M({title:`Sign out failed`,description:e instanceof Error?e.message:`Failed to revoke OAuth credentials`,variant:`destructive`})}finally{h(null)}}},[e,v,n]),handleRefreshCatalog:(0,X.useCallback)(async t=>{if(e){_(t??`all`);try{let r=await ue(e,t);await n();let i=Object.values(r.catalog),[a]=i;if(a)M({title:`Tools refreshed`,description:`${a.serverName} · ${q(a)}`});else{let e=i.filter(e=>e.state===`ok`).length;M({title:`Tools refreshed`,description:`${e}/${i.length} servers loaded`})}}catch(e){M({title:`Refresh failed`,description:e instanceof Error?e.message:`Could not refresh MCP tools`,variant:`destructive`})}finally{_(null)}}},[e,n]),handleOpenInExplorer:(0,X.useCallback)(()=>{i(`.agents/mcp.json`),a(`explorer`)},[i,a])}}function Zt(){let e=(0,Y.c)(102),t=a(tn),n=a(en),r;if(e[0]!==n||e[1]!==t){let i;e[3]===t?i=e[4]:(i=e=>e.projectId===t,e[3]=t,e[4]=i),r=n.find(i),e[0]=n,e[1]=t,e[2]=r}else r=e[2];let o=r?.projectPath,{installedServers:u,catalog:f,loadingConfig:m,loadInstalledServers:v}=de(o),{popularServers:y,loadingPopular:b}=ye(),{openChatDockPanel:x}=pe(),{setPendingExplorerPath:S,triggerExplorerRefresh:D}=j(),{editingServer:O,setEditingServer:k,deleteConfirm:A,setDeleteConfirm:M,deleting:N,oauthAuthorized:F,oauthBusy:L,refreshing:z,handleDelete:V,handleOAuthSignIn:H,handleOAuthSignOut:W,handleRefreshCatalog:K,handleOpenInExplorer:oe}=Xt(o,u,v,D,S,x),se;e[5]!==u||e[6]!==v||e[7]!==o||e[8]!==D?(se={projectPath:o,installedServers:u,loadInstalledServers:v,triggerExplorerRefresh:D},e[5]=u,e[6]=v,e[7]=o,e[8]=D,e[9]=se):se=e[9];let{showAddDialog:ce,prefillServer:le,installPopularServer:ue,openManualAddDialog:fe,closeAddDialog:q,completeServerEdit:me}=qt(se),_e;e[10]!==m||e[11]!==b?(_e=[m,b],e[10]=m,e[11]=b,e[12]=_e):_e=e[12];let ve=Se(t,_e);if(!t){let t;return e[13]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(ie,{children:`Select a project to manage MCP servers.`}),e[13]=t):t=e[13],t}let J;e[14]===oe?J=e[15]:(J=(0,Z.jsx)(_,{variant:`ghost`,onClick:oe,children:`Config`}),e[14]=oe,e[15]=J);let X;e[16]!==K||e[17]!==u.length||e[18]!==z?(X=u.length>=2&&(0,Z.jsxs)(_,{variant:`ghost`,className:`gap-1`,disabled:z!==null,onClick:()=>void K(),children:[(0,Z.jsx)(c,{className:s(`h-4 w-4`,z===`all`&&`animate-spin`)}),`Refresh all`]}),e[16]=K,e[17]=u.length,e[18]=z,e[19]=X):X=e[19];let Q;e[20]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,Z.jsx)(re,{asChild:!0,children:(0,Z.jsxs)(_,{className:`gap-1`,children:[`Add Server`,(0,Z.jsx)(h,{className:`h-4 w-4 opacity-70`})]})}),e[20]=Q):Q=e[20];let we;e[21]===Symbol.for(`react.memo_cache_sentinel`)?(we=s(i.body,`gap-2`),e[21]=we):we=e[21];let Te;e[22]===Symbol.for(`react.memo_cache_sentinel`)?(Te=(0,Z.jsx)(l,{className:`h-4 w-4 shrink-0`}),e[22]=Te):Te=e[22];let Ee;e[23]===fe?Ee=e[24]:(Ee=(0,Z.jsxs)(U,{className:we,onSelect:fe,children:[Te,`Manual Entry`]}),e[23]=fe,e[24]=Ee);let De;e[25]===Symbol.for(`react.memo_cache_sentinel`)?(De=(0,Z.jsxs)(ne,{className:s(i.body,`gap-2`),children:[(0,Z.jsx)(p,{className:`h-4 w-4 shrink-0`}),`Popular`]}),e[25]=De):De=e[25];let Oe;e[26]!==ue||e[27]!==u||e[28]!==b||e[29]!==y?(Oe=b?(0,Z.jsx)(U,{disabled:!0,className:i.bodyMuted,children:`Loading…`}):y.length===0?(0,Z.jsx)(U,{disabled:!0,className:i.bodyMuted,children:`No available servers`}):[...y].sort($t).map(e=>{let t=Ht(e,u);return(0,Z.jsx)(T,{children:(0,Z.jsxs)(E,{children:[(0,Z.jsx)(C,{asChild:!0,children:(0,Z.jsxs)(U,{className:s(i.body,`gap-2`,t&&`opacity-50 cursor-not-allowed`),onSelect:()=>{t||ue(e)},children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),t&&(0,Z.jsx)(g,{className:`h-4 w-4 shrink-0 text-muted-foreground`})]})}),(0,Z.jsx)(w,{side:`right`,className:`max-w-64`,children:e.description})]})},e.id)}),e[26]=ue,e[27]=u,e[28]=b,e[29]=y,e[30]=Oe):Oe=e[30];let ke;e[31]===Oe?ke=e[32]:(ke=(0,Z.jsxs)(he,{children:[De,(0,Z.jsx)(te,{className:`w-80 max-h-80 overflow-y-auto`,children:Oe})]}),e[31]=Oe,e[32]=ke);let Ae;e[33]===Symbol.for(`react.memo_cache_sentinel`)?(Ae=(0,Z.jsx)(P,{}),e[33]=Ae):Ae=e[33];let je;e[34]===Symbol.for(`react.memo_cache_sentinel`)?(je=s(i.body,`gap-2`),e[34]=je):je=e[34];let Me;e[35]===Symbol.for(`react.memo_cache_sentinel`)?(Me=(0,Z.jsxs)(U,{className:je,onSelect:Qt,children:[(0,Z.jsx)(d,{className:`h-4 w-4 shrink-0`}),`Marketplace`]}),e[35]=Me):Me=e[35];let Ne;e[36]!==ke||e[37]!==Ee?(Ne=(0,Z.jsxs)(ae,{children:[Q,(0,Z.jsxs)(I,{align:`end`,className:`w-56`,children:[Ee,ke,Ae,Me]})]}),e[36]=ke,e[37]=Ee,e[38]=Ne):Ne=e[38];let Pe;e[39]!==Ne||e[40]!==J||e[41]!==X?(Pe=(0,Z.jsx)(ge,{title:`Installed MCP Servers`,description:`MCP servers configured for this project.`,action:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[J,X,Ne]}),sticky:!1}),e[39]=Ne,e[40]=J,e[41]=X,e[42]=Pe):Pe=e[42];let Fe;e[43]!==f||e[44]!==H||e[45]!==W||e[46]!==K||e[47]!==u||e[48]!==F||e[49]!==L||e[50]!==z||e[51]!==M||e[52]!==k?(Fe=(0,Z.jsx)(be,{className:`pt-6`,children:u.length===0?(0,Z.jsx)(Ce,{icon:p,title:`Connect your agent to tools, APIs, and data sources`,bordered:!1}):(0,Z.jsx)(`div`,{className:`divide-y divide-table-border`,children:u.map(e=>(0,Z.jsx)(It,{name:e.name,config:e.config,catalog:f[e.name],remote:Yt(e.config),authorized:F[e.name]===!0,oauthBusy:L===e.name,refreshing:z===e.name||z===`all`,onEdit:()=>k(e.name),onRefresh:()=>void K(e.name),onDelete:()=>M(e.name),onSignIn:()=>void H(e.name),onSignOut:()=>void W(e.name)},e.name))})}),e[43]=f,e[44]=H,e[45]=W,e[46]=K,e[47]=u,e[48]=F,e[49]=L,e[50]=z,e[51]=M,e[52]=k,e[53]=Fe):Fe=e[53];let Ie;e[54]!==Pe||e[55]!==Fe?(Ie=(0,Z.jsxs)(B,{className:`shrink-0`,children:[Pe,Fe]}),e[54]=Pe,e[55]=Fe,e[56]=Ie):Ie=e[56];let Le;e[57]!==ve||e[58]!==Ie?(Le=(0,Z.jsx)(R,{loading:ve,children:Ie}),e[57]=ve,e[58]=Ie,e[59]=Le):Le=e[59];let Re;e[60]!==q||e[61]!==fe?(Re=e=>{e?fe():q()},e[60]=q,e[61]=fe,e[62]=Re):Re=e[62];let ze=le?.name,Be=le?.config,Ve;e[63]!==me||e[64]!==o||e[65]!==ze||e[66]!==Be?(Ve=(0,Z.jsx)(G,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,Z.jsx)(Nt,{projectPath:o,initialName:ze,initialConfig:Be,onBack:me})}),e[63]=me,e[64]=o,e[65]=ze,e[66]=Be,e[67]=Ve):Ve=e[67];let He;e[68]!==ce||e[69]!==Re||e[70]!==Ve?(He=(0,Z.jsx)(ee,{open:ce,onOpenChange:Re,children:Ve}),e[68]=ce,e[69]=Re,e[70]=Ve,e[71]=He):He=e[71];let Ue=O!==null,We;e[72]===k?We=e[73]:(We=e=>{e||k(null)},e[72]=k,e[73]=We);let Ge=O??void 0,Ke;e[74]!==v||e[75]!==k||e[76]!==D?(Ke=()=>{k(null),v(),D()},e[74]=v,e[75]=k,e[76]=D,e[77]=Ke):Ke=e[77];let qe;e[78]!==o||e[79]!==Ge||e[80]!==Ke?(qe=(0,Z.jsx)(G,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,Z.jsx)(Nt,{projectPath:o,serverName:Ge,onBack:Ke})}),e[78]=o,e[79]=Ge,e[80]=Ke,e[81]=qe):qe=e[81];let Je;e[82]!==Ue||e[83]!==We||e[84]!==qe?(Je=(0,Z.jsx)(ee,{open:Ue,onOpenChange:We,children:qe}),e[82]=Ue,e[83]=We,e[84]=qe,e[85]=Je):Je=e[85];let Ye=A!==null,Xe;e[86]===M?Xe=e[87]:(Xe=e=>!e&&M(null),e[86]=M,e[87]=Xe);let Ze=`Are you sure you want to delete the server "${A}"? This action cannot be undone.`,Qe;e[88]!==A||e[89]!==V?(Qe=()=>{A&&V(A)},e[88]=A,e[89]=V,e[90]=Qe):Qe=e[90];let $e;e[91]!==N||e[92]!==Ye||e[93]!==Xe||e[94]!==Ze||e[95]!==Qe?($e=(0,Z.jsx)(xe,{open:Ye,onOpenChange:Xe,title:`Delete MCP Server`,description:Ze,onConfirm:Qe,confirming:N}),e[91]=N,e[92]=Ye,e[93]=Xe,e[94]=Ze,e[95]=Qe,e[96]=$e):$e=e[96];let $;return e[97]!==Le||e[98]!==He||e[99]!==Je||e[100]!==$e?($=(0,Z.jsxs)(Z.Fragment,{children:[Le,He,Je,$e]}),e[97]=Le,e[98]=He,e[99]=Je,e[100]=$e,e[101]=$):$=e[101],$}function Qt(){O(Jt)}function $t(e,t){return e.name.localeCompare(t.name)}function en(e){return e.projects}function tn(e){return e.selectedProjectId}export{Zt 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{tn as i}from"./dist-C99qsdM0.js";import{n as a,nt as o}from"./store-HOyKbtQR.js";import{r as s,t as c}from"./utils-DIi62oP7.js";import{t as l}from"./button-BRUlmKU9.js";import{r as u}from"./tooltip-C0Zn4uFr.js";import{B as d,I as f,L as p,Nt as m,U as h,z as g}from"./api-BPfzuuZQ.js";import{t as _}from"./progress-indicator-EuomTuL6.js";import{n as v}from"./suspense-resource-DzlMlIgR.js";import{At as y,Et as b,Ft as x,Ht as S,Rt as ee,Zt as C,_t as w,br as te,er as T,jt as ne,sn as E,xr as D,zt as re}from"./index-CU6xcKiy.js";import{i as O,n as k,o as A,r as j,t as M}from"./table-BIZvZqu5.js";import{n as N,t as ie}from"./toggle-group-DP7rfPQH.js";import{n as P,t as ae}from"./commit-method-fields-BPRRj550.js";import{t as F}from"./async-error-boundary-CaqfvYIw.js";import{t as oe}from"./sorting-DqwxPMRN.js";import{c as I,o as se}from"./settings-list-DkQ2w1jX.js";import{t as ce}from"./use-deferred-search-Dgxosq55.js";import{n as le,r as L,t as R}from"./model-list-controls-CfF-PN1k.js";var z=t(),B=e(n(),1);function ue(e){let t=(0,z.c)(5),[n,r]=(0,B.useState)(e),i;t[0]===n?i=t[1]:(i=async function(e,t,i,a){if(n[e]?.has(t)){await a(e,t),r(n=>{let r=new Set(n[e]??[]);return r.delete(t),{...n,[e]:r}});return}await i(e,t),r(n=>({...n,[e]:new Set([...n[e]||[],t])}))},t[0]=n,t[1]=i);let a=i,o;return t[2]!==n||t[3]!==a?(o={enabledByProvider:n,toggleModel:a},t[2]=n,t[3]=a,t[4]=o):o=t[4],o}function de(){let e=(0,z.c)(5),t=a(),n;e[0]===t?n=e[1]:(n=function(e){C(),t({type:o.ConfigUpdated}),e(`Model preferences saved successfully`),setTimeout(()=>e(``),3e3)},e[0]=t,e[1]=n);let r=n,i;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=function(e,t){e(t instanceof Error?t.message:`Failed to save model changes`)},e[2]=i):i=e[2];let s=i,c;return e[3]===r?c=e[4]:(c={markSaved:r,markFailed:s},e[3]=r,e[4]=c),c}function V(e){let t=(0,z.c)(8),n=a(),r;t[0]!==n||t[1]!==e?(r=function(){n({type:o.ConfigUpdated}),e(`Model preferences saved successfully`)},t[0]=n,t[1]=e,t[2]=r):r=t[2];let i=r,s;t[3]===e?s=t[4]:(s=function(t){e(t instanceof Error?t.message:`Failed to save model changes`)},t[3]=e,t[4]=s);let c=s,l;return t[5]!==c||t[6]!==i?(l={markSaved:i,markFailed:c},t[5]=c,t[6]=i,t[7]=l):l=t[7],l}function fe(e){return`settings-models:coding:${e}`}function H(e){return`settings-models:image:${e}`}async function U(){let e=(await m()).filter(e=>e.apiKey),t=await h(`coding`),n={},r={};for(let i of e){let e=t[i.slug];n[i.slug]=e?.models??[],r[i.slug]=new Set(e?.enabledModelIds??[])}return{providers:e,allModels:n,enabledModelIds:r}}async function W(e){let t=e.filter(e=>e.name.toLowerCase()===`openrouter`),n=await h(`image`),r={},i={};for(let e of t){let t=n[e.slug];r[e.slug]=t?.models??[],i[e.slug]=new Set(t?.enabledModelIds??[])}return{allImageModels:r,enabledImageModelIds:i}}var G=r();function pe(e){let t=(0,z.c)(3),{label:n,large:r}=e,i=r!==void 0&&r?`lg`:`sm`,a;return t[0]!==n||t[1]!==i?(a=(0,G.jsx)(_,{centered:!0,containerClassName:`py-12`,label:n,size:i}),t[0]=n,t[1]=i,t[2]=a):a=t[2],a}var K=`table-fixed`,q=`h-9`,J=c(i.body,`py-1.5`),Y=`w-10 py-1.5`,X=`w-24 py-1.5 text-right`,Z=c(i.body,`w-20 py-1.5 text-right text-muted-foreground tabular-nums`),Q=c(i.body,`w-48 py-1.5 text-right text-muted-foreground whitespace-nowrap tabular-nums`),$=`h-9 w-24 bg-transparent py-2 text-right`,me=`h-9 w-20 bg-transparent py-2 text-right`,he=`h-9 w-48 bg-transparent py-2 text-right`;function ge(e){return!e||(e.prompt??0)===0&&(e.completion??0)===0?``:`$${s(e.prompt??0)} in | $${s(e.completion??0)} out`}function _e(e){return e==null||!Number.isFinite(e)||e<=0?``:e>=100?Math.round(e).toLocaleString():e.toFixed(1)}function ve(e){let t=(0,z.c)(9),{showIntelligence:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=c(`w-full caption-bottom`,K,i.body),t[0]=r):r=t[0];let a,o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,G.jsx)(O,{className:`h-9 w-10 bg-transparent py-2`}),o=(0,G.jsx)(O,{className:`h-9 bg-transparent py-2`,children:`Model`}),t[1]=a,t[2]=o):(a=t[1],o=t[2]);let s;t[3]===n?s=t[4]:(s=n?(0,G.jsx)(O,{className:$,children:`Intelligence`}):null,t[3]=n,t[4]=s);let l,u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,G.jsx)(O,{className:me,children:`TPS`}),u=(0,G.jsx)(O,{className:he,children:`Pricing`}),t[5]=l,t[6]=u):(l=t[5],u=t[6]);let d;return t[7]===s?d=t[8]:(d=(0,G.jsx)(`table`,{className:r,children:(0,G.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,G.jsxs)(`tr`,{children:[a,o,s,l,u]})})}),t[7]=s,t[8]=d),d}function ye(e){let t=(0,z.c)(15),{models:n,enabledIds:r,checkboxIdPrefix:a,showIntelligence:o,getModelDisplayName:s,onToggleModel:l}=e,u;if(t[0]!==a||t[1]!==r||t[2]!==s||t[3]!==n||t[4]!==l||t[5]!==o){let e;t[7]!==a||t[8]!==r||t[9]!==s||t[10]!==l||t[11]!==o?(e=e=>{let t=`${a}${e.id}`,n=r.has(e.id);return(0,G.jsxs)(A,{className:q,children:[(0,G.jsx)(j,{className:Y,children:(0,G.jsx)(w,{id:t,value:n,onChange:()=>l(e.id),ariaLabel:`${s(e)} ${n?`enabled`:`disabled`}`})}),(0,G.jsx)(j,{className:J,children:(0,G.jsx)(`label`,{htmlFor:t,className:c(i.body,`cursor-pointer truncate peer-disabled:cursor-not-allowed peer-disabled:opacity-70`),children:s(e)})}),o?(0,G.jsx)(j,{className:X,children:(0,G.jsx)(`div`,{className:`flex justify-end`,children:(0,G.jsx)(L,{codingIndex:e.coding_index,modelName:s(e)})})}):null,(0,G.jsx)(j,{className:Z,children:_e(e.avgTPS)}),(0,G.jsx)(j,{className:Q,children:ge(e.pricing)})]},e.id)},t[7]=a,t[8]=r,t[9]=s,t[10]=l,t[11]=o,t[12]=e):e=t[12],u=n.map(e),t[0]=a,t[1]=r,t[2]=s,t[3]=n,t[4]=l,t[5]=o,t[6]=u}else u=t[6];let d;return t[13]===u?d=t[14]:(d=(0,G.jsx)(M,{className:K,children:(0,G.jsx)(k,{children:u})}),t[13]=u,t[14]=d),d}function be(e){let t=(0,z.c)(25),{providerName:n,providerSlug:r,action:a,tableHeader:o,children:s}=e,l;t[0]!==n||t[1]!==r?(l=(0,G.jsx)(b,{provider:{name:n,slug:r}}),t[0]=n,t[1]=r,t[2]=l):l=t[2];let u;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(u=c(i.pageTitle,`truncate`),t[3]=u):u=t[3];let d;t[4]===n?d=t[5]:(d=(0,G.jsx)(`h2`,{className:u,children:n}),t[4]=n,t[5]=d);let f;t[6]!==l||t[7]!==d?(f=(0,G.jsxs)(`div`,{className:`flex min-w-0 items-center gap-3`,children:[l,d]}),t[6]=l,t[7]=d,t[8]=f):f=t[8];let p;t[9]===a?p=t[10]:(p=a?(0,G.jsx)(`div`,{className:`electrobun-webkit-app-region-no-drag shrink-0`,children:a}):null,t[9]=a,t[10]=p);let m;t[11]!==f||t[12]!==p?(m=(0,G.jsxs)(`div`,{className:`flex items-center justify-between gap-3 border-b border-divider px-6 py-4 electrobun-webkit-app-region-drag`,children:[f,p]}),t[11]=f,t[12]=p,t[13]=m):m=t[13];let h;t[14]===o?h=t[15]:(h=o?(0,G.jsx)(`div`,{className:`electrobun-webkit-app-region-no-drag px-6 pb-2 pt-4`,children:o}):null,t[14]=o,t[15]=h);let g=o?`pt-0`:`pt-6`,_;t[16]===g?_=t[17]:(_=c(`px-6 pb-6`,g),t[16]=g,t[17]=_);let v;t[18]!==s||t[19]!==_?(v=(0,G.jsx)(`div`,{className:_,children:s}),t[18]=s,t[19]=_,t[20]=v):v=t[20];let y;return t[21]!==v||t[22]!==m||t[23]!==h?(y=(0,G.jsxs)(S,{className:`shrink-0`,children:[m,h,v]}),t[21]=v,t[22]=m,t[23]=h,t[24]=y):y=t[24],y}function xe(e){let t=(0,z.c)(23),{provider:n,filteredAndSortedModels:r,enabledIds:i,globalSearchQuery:a,getModelDisplayName:o,selectAllId:s,checkboxIdPrefix:c,showIntelligence:l,noModelsMessage:d,onToggleAll:f,onToggleModel:p}=e;if(r.length===0&&a)return null;let m;t[0]!==i||t[1]!==r||t[2]!==f||t[3]!==s?(m=r.length>0?(0,G.jsx)(R,{id:s,checked:r.every(e=>i.has(e.id)),onChange:f}):null,t[0]=i,t[1]=r,t[2]=f,t[3]=s,t[4]=m):m=t[4];let h;t[5]!==r.length||t[6]!==l?(h=r.length>0?(0,G.jsx)(ve,{showIntelligence:l}):void 0,t[5]=r.length,t[6]=l,t[7]=h):h=t[7];let g;t[8]!==c||t[9]!==i||t[10]!==r||t[11]!==o||t[12]!==a||t[13]!==d||t[14]!==p||t[15]!==l?(g=r.length===0?(0,G.jsx)(I,{message:a?`No models matching your search.`:d}):(0,G.jsx)(u,{children:(0,G.jsx)(ye,{models:r,enabledIds:i,checkboxIdPrefix:c,showIntelligence:l,getModelDisplayName:o,onToggleModel:p})}),t[8]=c,t[9]=i,t[10]=r,t[11]=o,t[12]=a,t[13]=d,t[14]=p,t[15]=l,t[16]=g):g=t[16];let _;return t[17]!==n.name||t[18]!==n.slug||t[19]!==m||t[20]!==h||t[21]!==g?(_=(0,G.jsx)(be,{providerName:n.name,providerSlug:n.slug,action:m,tableHeader:h,children:g},n.slug),t[17]=n.name,t[18]=n.slug,t[19]=m,t[20]=h,t[21]=g,t[22]=_):_=t[22],_}function Se(e){let t=(0,z.c)(31),{providers:n,globalSearchQuery:r,modelSortBy:i,filterAndSortModels:a,getModelDisplayName:o,onSaveStatus:s}=e,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=H(0),t[0]=c):c=t[0];let l;t[1]===n?l=t[2]:(l=()=>W(n),t[1]=n,t[2]=l);let u=T(c,l),[d]=(0,B.useState)(u.allImageModels),p=ue(u.enabledImageModelIds),m=V(s),h;t[3]!==m||t[4]!==p?(h=async function(e,t){try{await p.toggleModel(e,t,g,f),m.markSaved()}catch(e){let t=e;m.markFailed(t)}},t[3]=m,t[4]=p,t[5]=h):h=t[5];let _=h,v;t[6]!==d||t[7]!==_||t[8]!==p?(v=async function(e,t){let n=d[e];if(!n)return;let r=p.enabledByProvider[e];for(let i of n)r?.has(i.id)!==t&&await _(e,i.id)},t[6]=d,t[7]=_,t[8]=p,t[9]=v):v=t[9];let y=v,b;if(t[10]!==d||t[11]!==a||t[12]!==o||t[13]!==r||t[14]!==y||t[15]!==_||t[16]!==p||t[17]!==i||t[18]!==n){let e;t[20]!==d||t[21]!==a||t[22]!==o||t[23]!==r||t[24]!==y||t[25]!==_||t[26]!==p||t[27]!==i?(e=e=>{let t=d[e.slug]||[],n=p.enabledByProvider[e.slug]||new Set;return(0,G.jsx)(xe,{provider:e,filteredAndSortedModels:a(t,n,i),enabledIds:n,globalSearchQuery:r,getModelDisplayName:o,selectAllId:`select-all-image-${e.slug}`,checkboxIdPrefix:`image-`,showIntelligence:!1,noModelsMessage:`No image models available for this provider.`,onToggleAll:t=>void y(e.slug,t),onToggleModel:t=>void _(e.slug,t)},e.slug)},t[20]=d,t[21]=a,t[22]=o,t[23]=r,t[24]=y,t[25]=_,t[26]=p,t[27]=i,t[28]=e):e=t[28],b=n.filter(Ce).map(e),t[10]=d,t[11]=a,t[12]=o,t[13]=r,t[14]=y,t[15]=_,t[16]=p,t[17]=i,t[18]=n,t[19]=b}else b=t[19];let x;return t[29]===b?x=t[30]:(x=(0,G.jsx)(G.Fragment,{children:b}),t[29]=b,t[30]=x),x}function Ce(e){return e.name.toLowerCase()===`openrouter`}function we(e){let t=(0,z.c)(66),{loadVersion:n}=e,r;t[0]===n?r=t[1]:(r=fe(n),t[0]=n,t[1]=r);let a=T(r,De),o=a.providers,[s]=(0,B.useState)(a.allModels),l=ue(a.enabledModelIds),u=de(),[f,m]=(0,B.useState)(`coding`),{query:h,setQuery:g,deferredQuery:_}=ce(),[v,b]=(0,B.useState)(`alphabetical`),[C,w]=(0,B.useState)(``),E=Ee,O;t[2]!==u||t[3]!==l?(O=async function(e,t){try{await l.toggleModel(e,t,d,p),u.markSaved(w)}catch(e){let t=e;u.markFailed(w,t)}},t[2]=u,t[3]=l,t[4]=O):O=t[4];let k=O,A;t[5]!==s||t[6]!==l||t[7]!==k?(A=async function(e,t){let n=s[e];if(!n)return;let r=l.enabledByProvider[e];for(let i of n)r?.has(i.id)!==t&&await k(e,i.id)},t[5]=s,t[6]=l,t[7]=k,t[8]=A):A=t[8];let j=A,M;t[9]===_?M=t[10]:(M=(e,t,n)=>oe({models:e,query:_,sortBy:n,getDisplayName:E,getPriority:e=>+!t.has(e.id)}),t[9]=_,t[10]=M);let F=M;if(o.length===0){let e;return t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,G.jsx)(ee,{title:`No providers configured`,children:`Configure a provider with an API key to view available models.`}),t[11]=e):e=t[11],e}let I;t[12]===o?I=t[13]:(I=o.some(Te),t[12]=o,t[13]=I);let L=I,R;t[14]!==h||t[15]!==g?(R=(0,G.jsx)(ne,{title:`Models`,description:`View and manage available models from your configured providers.`,action:(0,G.jsx)(se,{placeholder:`Search`,value:h,onChange:g,className:`mb-0 w-64`}),sticky:!1}),t[14]=h,t[15]=g,t[16]=R):R=t[16];let V;t[17]!==f||t[18]!==g||t[19]!==L?(V=L?(0,G.jsxs)(ie,{type:`single`,value:f,onValueChange:e=>{(e===`coding`||e===`image`)&&(m(e),g(``))},"aria-label":`Model type`,className:c(ae,`shrink-0`),children:[(0,G.jsx)(N,{value:`coding`,"aria-label":`Coding`,className:c(i.body,P),children:`Coding`}),(0,G.jsx)(N,{value:`image`,"aria-label":`Image`,className:c(i.body,P),children:`Image`})]}):null,t[17]=f,t[18]=g,t[19]=L,t[20]=V):V=t[20];let H;t[21]===C?H=t[22]:(H=C?(0,G.jsx)(y,{variant:C.includes(`error`)||C.includes(`Failed`)?`error`:`success`,className:`mb-0 shrink-0`,children:C}):null,t[21]=C,t[22]=H);let U=f===`coding`,W=f===`coding`,K;t[23]!==v||t[24]!==W||t[25]!==U?(K=(0,G.jsx)(`div`,{className:`ml-auto shrink-0`,children:(0,G.jsx)(le,{sortBy:v,showCodingIndex:U,showIntelligenceByPrice:W,onSortByChange:b})}),t[23]=v,t[24]=W,t[25]=U,t[26]=K):K=t[26];let q;t[27]!==K||t[28]!==V||t[29]!==H?(q=(0,G.jsx)(re,{className:`max-w-none pt-6`,children:(0,G.jsxs)(`div`,{className:`flex items-center gap-3`,children:[V,H,K]})}),t[27]=K,t[28]=V,t[29]=H,t[30]=q):q=t[30];let J;t[31]!==q||t[32]!==R?(J=(0,G.jsxs)(S,{className:`shrink-0`,children:[R,q]}),t[31]=q,t[32]=R,t[33]=J):J=t[33];let Y;if(t[34]!==s||t[35]!==l||t[36]!==F||t[37]!==h||t[38]!==j||t[39]!==k||t[40]!==v||t[41]!==o){let e;t[43]!==s||t[44]!==l||t[45]!==F||t[46]!==h||t[47]!==j||t[48]!==k||t[49]!==v?(e=e=>{let t=s[e.slug]||[],n=l.enabledByProvider[e.slug]||new Set;return(0,G.jsx)(xe,{provider:e,filteredAndSortedModels:F(t,n,v),enabledIds:n,globalSearchQuery:h,getModelDisplayName:E,selectAllId:`select-all-${e.slug}`,checkboxIdPrefix:``,showIntelligence:v===`coding-index`||v===`intelligence-by-price`,noModelsMessage:`No models available for this provider.`,onToggleAll:t=>void j(e.slug,t),onToggleModel:t=>void k(e.slug,t)},e.slug)},t[43]=s,t[44]=l,t[45]=F,t[46]=h,t[47]=j,t[48]=k,t[49]=v,t[50]=e):e=t[50],Y=o.map(e),t[34]=s,t[35]=l,t[36]=F,t[37]=h,t[38]=j,t[39]=k,t[40]=v,t[41]=o,t[42]=Y}else Y=t[42];let X;t[51]===Y?X=t[52]:(X=(0,G.jsx)(D,{value:`coding`,className:`mt-0 flex flex-col gap-2.5`,children:Y}),t[51]=Y,t[52]=X);let Z;t[53]!==F||t[54]!==h||t[55]!==v||t[56]!==f||t[57]!==o?(Z=f===`image`?(0,G.jsx)(B.Suspense,{fallback:(0,G.jsx)(pe,{}),children:(0,G.jsx)(Se,{providers:o,globalSearchQuery:h,modelSortBy:v,filterAndSortModels:F,getModelDisplayName:E,onSaveStatus:e=>{w(e),e.includes(`Failed`)||setTimeout(()=>w(``),3e3)}})}):null,t[53]=F,t[54]=h,t[55]=v,t[56]=f,t[57]=o,t[58]=Z):Z=t[58];let Q;t[59]===Z?Q=t[60]:(Q=(0,G.jsx)(D,{value:`image`,className:`mt-0 flex flex-col gap-2.5`,children:Z}),t[59]=Z,t[60]=Q);let $;return t[61]!==f||t[62]!==J||t[63]!==X||t[64]!==Q?($=(0,G.jsx)(x,{loading:!1,children:(0,G.jsxs)(te,{value:f,className:`flex flex-col gap-2.5`,children:[J,X,Q]})}),t[61]=f,t[62]=J,t[63]=X,t[64]=Q,t[65]=$):$=t[65],$}function Te(e){return e.name.toLowerCase()===`openrouter`}function Ee(e){return E(e.id)}function De(){return U()}function Oe(){let e=(0,z.c)(8),[t,n]=(0,B.useState)(0),r;e[0]===t?r=e[1]:(r=function(){v(fe(t)),n(Ae)},e[0]=t,e[1]=r);let i=r,a;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,G.jsx)(pe,{label:`Loading models...`,large:!0}),e[2]=a):a=e[2];let o;e[3]===t?o=e[4]:(o=(0,G.jsx)(B.Suspense,{fallback:a,children:(0,G.jsx)(we,{loadVersion:t},t)}),e[3]=t,e[4]=o);let s;return e[5]!==i||e[6]!==o?(s=(0,G.jsx)(`div`,{className:`h-full min-h-0`,children:(0,G.jsx)(F,{fallbackTitle:`Failed to load models`,onRetry:i,renderFallback:ke,children:o})}),e[5]=i,e[6]=o,e[7]=s):s=e[7],s}function ke(e,t){return(0,G.jsx)(ee,{title:`Failed to load models`,action:(0,G.jsx)(l,{variant:`outline`,onClick:t,children:`Retry`}),children:e.message})}function Ae(e){return e+1}export{Oe as default};
|
package/dist/public/assets/{settings-plugins-view-CJvYXOb6.js → settings-plugins-view-B0FAYlr5.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/settings-skills-view-
|
|
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{
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/settings-skills-view-BRYzGHT0.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-CU6xcKiy.js","assets/react-vendor-Ee0-5T4I.js","assets/progress-indicator-EuomTuL6.js","assets/utils-DIi62oP7.js","assets/dist-C99qsdM0.js","assets/alert-dialog-L9wWQsMo.js","assets/button-BRUlmKU9.js","assets/use-browser-overlay-block-DyprQSIG.js","assets/browser-overlay-block-CiDtkfup.js","assets/dist-DrOhoOxi.js","assets/dist-BrF4sqHu.js","assets/es2015-CkF7yGpJ.js","assets/scroll-area-jzW_lBt7.js","assets/dist-OixawqbU.js","assets/tooltip-C0Zn4uFr.js","assets/dist-Cw2XrcBQ.js","assets/use-toast-xpb5jNtN.js","assets/chat-dock-context-Br2lSNOf.js","assets/api-BPfzuuZQ.js","assets/store-HOyKbtQR.js","assets/explorer-tab-context-BxUVwWQQ.js","assets/main-tab-context-CNgxXqnH.js","assets/terminal-output-activity-B1bjjsl7.js","assets/query-keys-C4ROIgnU.js","assets/suspense-resource-DzlMlIgR.js","assets/dist-Dje5NBVh.js","assets/dist--8XEk-cL.js","assets/dist-DPNQj0XL.js","assets/dist-B_pwyFAz.js","assets/dist-CSssbxDI.js","assets/useBaseQuery-LTUHnxp5.js","assets/lucide-react-DW-FYOQd.js","assets/chunk-QFMPRPBF-COsSkB7x.js","assets/index-BlKnosL1.css","assets/delete-confirm-dialog-Dg-9HMkY.js","assets/slug-utils-CuSw2LoU.js","assets/settings-list-DkQ2w1jX.js","assets/card-m4ducAvD.js","assets/use-deferred-search-Dgxosq55.js","assets/use-installed-ai-files-CkWgs7ki.js","assets/use-settings-page-loading-CpaBd260.js","assets/settings-mcp-servers-view-CBGrusEF.js","assets/settings-system-prompt-view-cMKBgBkJ.js","assets/project-tools-view-Ce73nfbH.js","assets/settings-slash-commands-view-DFBRrsy5.js","assets/settings-subagents-view-DpFwkfvX.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,kt as c}from"./dist-C99qsdM0.js";import{t as l}from"./progress-indicator-EuomTuL6.js";import{t as u}from"./settings-tab-bar-e6L6Mkoe.js";var d=t(),f=e(n(),1),p=i(),m=(0,f.lazy)(function(){return r(()=>import(`./settings-skills-view-BRYzGHT0.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]))}),h=(0,f.lazy)(function(){return r(()=>import(`./settings-mcp-servers-view-CBGrusEF.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,33,34,35,36,38,39,42]))}),g=(0,f.lazy)(function(){return r(()=>import(`./settings-system-prompt-view-cMKBgBkJ.js`),__vite__mapDeps([44,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,42]))}),_=(0,f.lazy)(function(){return r(()=>import(`./project-tools-view-Ce73nfbH.js`),__vite__mapDeps([45,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,42]))}),v=(0,f.lazy)(function(){return r(()=>import(`./settings-slash-commands-view-DFBRrsy5.js`),__vite__mapDeps([46,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,42]))}),y=(0,f.lazy)(function(){return r(()=>import(`./settings-subagents-view-DpFwkfvX.js`),__vite__mapDeps([47,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,41,42]))});function b(e){let t=(0,d.c)(35),{projectId:n,fallbackTab:r,onProjectUpdated:i}=e,b=r===void 0?`skills`:r,x=a(),S=o(),C;t[0]!==b||t[1]!==x?(C=b===`skills`?c(x.pathname)??b:b,t[0]=b,t[1]=x,t[2]=C):C=t[2];let w=C,T;t[3]!==S||t[4]!==n?(T=function(e){if(n){S(`/settings/project/${n}/plugins/${e}`);return}S(`/settings/plugins/${e}`)},t[3]=S,t[4]=n,t[5]=T):T=t[5];let E=T,D;t[6]!==w||t[7]!==E?(D=(0,p.jsx)(u,{value:w,onValueChange:E,options:s}),t[6]=w,t[7]=E,t[8]=D):D=t[8];let O;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,p.jsx)(l,{centered:!0,label:`Loading plugin settings...`}),t[9]=O):O=t[9];let k;t[10]!==w||t[11]!==x?(k=w===`skills`&&(0,p.jsx)(m,{},x.key),t[10]=w,t[11]=x,t[12]=k):k=t[12];let A;t[13]===w?A=t[14]:(A=w===`mcp-servers`&&(0,p.jsx)(h,{}),t[13]=w,t[14]=A);let j;t[15]===w?j=t[16]:(j=w===`system-prompt`&&(0,p.jsx)(g,{}),t[15]=w,t[16]=j);let M;t[17]!==w||t[18]!==i||t[19]!==n?(M=w===`tools`&&(0,p.jsx)(_,{projectId:n,onProjectUpdated:i}),t[17]=w,t[18]=i,t[19]=n,t[20]=M):M=t[20];let N;t[21]===w?N=t[22]:(N=w===`slash-commands`&&(0,p.jsx)(v,{}),t[21]=w,t[22]=N);let P;t[23]===w?P=t[24]:(P=w===`subagents`&&(0,p.jsx)(y,{}),t[23]=w,t[24]=P);let F;t[25]!==N||t[26]!==P||t[27]!==k||t[28]!==A||t[29]!==j||t[30]!==M?(F=(0,p.jsx)(`div`,{className:`min-h-0 flex-1`,role:`region`,"aria-label":`Plugin settings`,children:(0,p.jsxs)(f.Suspense,{fallback:O,children:[k,A,j,M,N,P]})}),t[25]=N,t[26]=P,t[27]=k,t[28]=A,t[29]=j,t[30]=M,t[31]=F):F=t[31];let I;return t[32]!==F||t[33]!==D?(I=(0,p.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[D,F]}),t[32]=F,t[33]=D,t[34]=I):I=t[34],I}export{b as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/providers-list-view-DXk_pD4Y.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-CU6xcKiy.js","assets/react-vendor-Ee0-5T4I.js","assets/progress-indicator-EuomTuL6.js","assets/utils-DIi62oP7.js","assets/dist-C99qsdM0.js","assets/alert-dialog-L9wWQsMo.js","assets/button-BRUlmKU9.js","assets/use-browser-overlay-block-DyprQSIG.js","assets/browser-overlay-block-CiDtkfup.js","assets/dist-DrOhoOxi.js","assets/dist-BrF4sqHu.js","assets/es2015-CkF7yGpJ.js","assets/scroll-area-jzW_lBt7.js","assets/dist-OixawqbU.js","assets/tooltip-C0Zn4uFr.js","assets/dist-Cw2XrcBQ.js","assets/use-toast-xpb5jNtN.js","assets/chat-dock-context-Br2lSNOf.js","assets/api-BPfzuuZQ.js","assets/store-HOyKbtQR.js","assets/explorer-tab-context-BxUVwWQQ.js","assets/main-tab-context-CNgxXqnH.js","assets/terminal-output-activity-B1bjjsl7.js","assets/query-keys-C4ROIgnU.js","assets/suspense-resource-DzlMlIgR.js","assets/dist-Dje5NBVh.js","assets/dist--8XEk-cL.js","assets/dist-DPNQj0XL.js","assets/dist-B_pwyFAz.js","assets/dist-CSssbxDI.js","assets/useBaseQuery-LTUHnxp5.js","assets/lucide-react-DW-FYOQd.js","assets/chunk-QFMPRPBF-COsSkB7x.js","assets/index-BlKnosL1.css","assets/model-list-controls-CfF-PN1k.js","assets/sorting-DqwxPMRN.js","assets/async-error-boundary-CaqfvYIw.js","assets/card-m4ducAvD.js","assets/settings-list-DkQ2w1jX.js","assets/use-deferred-search-Dgxosq55.js","assets/pending-changes-Bn-0ak1d.js","assets/settings-models-view-HZlhD_SR.js","assets/commit-method-fields-BPRRj550.js","assets/toggle-group-DP7rfPQH.js","assets/table-BIZvZqu5.js","assets/project-model-aliases-view-CWhc457F.js","assets/use-settings-page-loading-CpaBd260.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{Nt as s,Pt as c}from"./dist-C99qsdM0.js";import{t as l}from"./progress-indicator-EuomTuL6.js";import{t as u}from"./settings-tab-bar-e6L6Mkoe.js";var d=t(),f=e(n(),1),p=i(),m=(0,f.lazy)(function(){return r(()=>import(`./providers-list-view-DXk_pD4Y.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42]))}),h=(0,f.lazy)(function(){return r(()=>import(`./settings-models-view-HZlhD_SR.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,33,34,35,44,45,36,37,38,39,40,46,41]))}),g=(0,f.lazy)(function(){return r(()=>import(`./project-model-aliases-view-CWhc457F.js`),__vite__mapDeps([47,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,46,48]))});function _(e){let t=(0,d.c)(22),{fallbackTab:n}=e,r=n===void 0?`providers`:n,i=a(),_=o(),v;t[0]!==r||t[1]!==i?(v=r===`providers`?c(i.pathname)??r:r,t[0]=r,t[1]=i,t[2]=v):v=t[2];let y=v,b;t[3]===_?b=t[4]:(b=function(e){_(`/settings/${e}`)},t[3]=_,t[4]=b);let x=b,S;t[5]!==y||t[6]!==x?(S=(0,p.jsx)(u,{value:y,onValueChange:x,options:s}),t[5]=y,t[6]=x,t[7]=S):S=t[7];let C;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,p.jsx)(l,{centered:!0,label:`Loading provider settings...`}),t[8]=C):C=t[8];let w;t[9]===y?w=t[10]:(w=y===`providers`&&(0,p.jsx)(m,{}),t[9]=y,t[10]=w);let T;t[11]===y?T=t[12]:(T=y===`models`&&(0,p.jsx)(h,{}),t[11]=y,t[12]=T);let E;t[13]===y?E=t[14]:(E=y===`model-aliases`&&(0,p.jsx)(g,{}),t[13]=y,t[14]=E);let D;t[15]!==w||t[16]!==T||t[17]!==E?(D=(0,p.jsx)(`div`,{className:`min-h-0 flex-1`,role:`region`,"aria-label":`Provider settings`,children:(0,p.jsxs)(f.Suspense,{fallback:C,children:[w,T,E]})}),t[15]=w,t[16]=T,t[17]=E,t[18]=D):D=t[18];let O;return t[19]!==S||t[20]!==D?(O=(0,p.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[S,D]}),t[19]=S,t[20]=D,t[21]=O):O=t[21],O}export{_ as default};
|
package/dist/public/assets/{settings-setup-view-0NvbMts_.js → settings-setup-view-C73a21hF.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/project-coding-view-
|
|
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{
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/project-coding-view-37T_EVWc.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-CU6xcKiy.js","assets/react-vendor-Ee0-5T4I.js","assets/progress-indicator-EuomTuL6.js","assets/utils-DIi62oP7.js","assets/dist-C99qsdM0.js","assets/alert-dialog-L9wWQsMo.js","assets/button-BRUlmKU9.js","assets/use-browser-overlay-block-DyprQSIG.js","assets/browser-overlay-block-CiDtkfup.js","assets/dist-DrOhoOxi.js","assets/dist-BrF4sqHu.js","assets/es2015-CkF7yGpJ.js","assets/scroll-area-jzW_lBt7.js","assets/dist-OixawqbU.js","assets/tooltip-C0Zn4uFr.js","assets/dist-Cw2XrcBQ.js","assets/use-toast-xpb5jNtN.js","assets/chat-dock-context-Br2lSNOf.js","assets/api-BPfzuuZQ.js","assets/store-HOyKbtQR.js","assets/explorer-tab-context-BxUVwWQQ.js","assets/main-tab-context-CNgxXqnH.js","assets/terminal-output-activity-B1bjjsl7.js","assets/query-keys-C4ROIgnU.js","assets/suspense-resource-DzlMlIgR.js","assets/dist-Dje5NBVh.js","assets/dist--8XEk-cL.js","assets/dist-DPNQj0XL.js","assets/dist-B_pwyFAz.js","assets/dist-CSssbxDI.js","assets/useBaseQuery-LTUHnxp5.js","assets/lucide-react-DW-FYOQd.js","assets/chunk-QFMPRPBF-COsSkB7x.js","assets/index-BlKnosL1.css","assets/commit-method-fields-BPRRj550.js","assets/toggle-group-DP7rfPQH.js","assets/use-settings-page-loading-CpaBd260.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{Dt as s,Et as c}from"./dist-C99qsdM0.js";import{n as l,nt as u,r as d}from"./store-HOyKbtQR.js";import{t as f}from"./progress-indicator-EuomTuL6.js";import{Ht as p,U as m,jt as h,zt as g}from"./index-CU6xcKiy.js";import{t as _}from"./settings-tab-bar-e6L6Mkoe.js";var v=e(n(),1),y=t(),b=i();function x(e){let t=(0,y.c)(9),{projectId:n}=e,r=l(),i;t[0]===n?i=t[1]:(i=function(e){return e.projects.find(e=>e.projectId===n)?.commands??[]},t[0]=n,t[1]=i);let a=d(i),o;t[2]===r?o=t[3]:(o=function(){r({type:u.ConfigUpdated})},t[2]=r,t[3]=o);let s=o,c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,b.jsx)(h,{title:`Project Commands`,description:`Create and manage reusable commands for this project.`}),t[4]=c):c=t[4];let f;return t[5]!==a||t[6]!==s||t[7]!==n?(f=(0,b.jsx)(p,{className:`shrink-0`,children:(0,b.jsxs)(g,{children:[c,(0,b.jsx)(m,{embedded:!0,open:!0,projectId:n,commands:a,onRefresh:s})]})}),t[5]=a,t[6]=s,t[7]=n,t[8]=f):f=t[8],f}var S=(0,v.lazy)(function(){return r(()=>import(`./project-coding-view-37T_EVWc.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38]))});function C(e){let t=(0,y.c)(22),{projectId:n,onProjectUpdated:r}=e,i=a(),l=o(),u;t[0]===i.pathname?u=t[1]:(u=s(i.pathname)??`setup`,t[0]=i.pathname,t[1]=u);let d=u,p;t[2]!==l||t[3]!==n?(p=function(e){l(e===`setup`?`/settings/project/${n}/coding`:`/settings/project/${n}/coding/${e}`)},t[2]=l,t[3]=n,t[4]=p):p=t[4];let m=p,h;t[5]!==d||t[6]!==m?(h=(0,b.jsx)(_,{value:d,onValueChange:m,options:c}),t[5]=d,t[6]=m,t[7]=h):h=t[7];let g;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,b.jsx)(f,{centered:!0,label:`Loading project setup...`}),t[8]=g):g=t[8];let C;t[9]!==d||t[10]!==r||t[11]!==n?(C=d===`setup`&&(0,b.jsx)(S,{projectId:n,onProjectUpdated:r}),t[9]=d,t[10]=r,t[11]=n,t[12]=C):C=t[12];let w;t[13]!==d||t[14]!==n?(w=d===`commands`&&(0,b.jsx)(x,{projectId:n}),t[13]=d,t[14]=n,t[15]=w):w=t[15];let T;t[16]!==C||t[17]!==w?(T=(0,b.jsx)(`div`,{className:`min-h-0 flex-1`,role:`region`,"aria-label":`Project setup`,children:(0,b.jsxs)(v.Suspense,{fallback:g,children:[C,w]})}),t[16]=C,t[17]=w,t[18]=T):T=t[18];let E;return t[19]!==h||t[20]!==T?(E=(0,b.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[h,T]}),t[19]=h,t[20]=T,t[21]=E):E=t[21],E}export{C as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
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{Tn as i,tn as a,tt as o}from"./dist-C99qsdM0.js";import{r as s}from"./store-HOyKbtQR.js";import{t as c,u as l}from"./utils-DIi62oP7.js";import{G as u,Pt as d,R as f,V as p,W as m,Zt as h,_t as g,a as _,en as v,pt as y,vn as b}from"./lucide-react-DW-FYOQd.js";import{t as x}from"./button-BRUlmKU9.js";import{i as S,n as C,r as w,t as T}from"./tooltip-C0Zn4uFr.js";import{An as E,E as D,Ei as O,Ii as k,In as A,Ni as j,Rn as M,_i as N,_r as P,br as F,dr as I,ea as ee,en as te,gi as ne,gr as re,hr as ie,lr as ae,pr as oe,ra as se,ur as ce,vr as le,xr as ue}from"./api-BPfzuuZQ.js";import{t as L}from"./progress-indicator-EuomTuL6.js";import{a as de,c as fe,i as pe,n as me,o as he,r as ge,s as _e,t as ve}from"./alert-dialog-L9wWQsMo.js";import{t as R}from"./use-toast-xpb5jNtN.js";import{Ar as ye,At as be,Br as z,Dr as xe,Dt as Se,Fr as B,Ft as Ce,Gt as we,Hr as V,Ht as Te,Ir as H,Jt as Ee,Lr as U,Or as W,Ot as De,Pr as Oe,Rr as G,Rt as ke,Tr as Ae,Ut as je,Vr as K,Vt as Me,W as Ne,Wt as Pe,a as Fe,gr as Ie,jt as q,qn as Le,qt as Re,zr as J,zt as ze}from"./index-CU6xcKiy.js";import{t as Be}from"./delete-confirm-dialog-Dg-9HMkY.js";import{t as Ve}from"./use-settings-page-loading-CpaBd260.js";import{a as He,o as Ue,r as We}from"./settings-list-DkQ2w1jX.js";import{t as Ge}from"./use-deferred-search-Dgxosq55.js";import{i as Ke,n as qe,r as Je,t as Ye}from"./slug-utils-CuSw2LoU.js";import{i as Xe,n as Ze,r as Qe,t as $e}from"./use-installed-ai-files-CkWgs7ki.js";var Y=t(),X=e(n(),1),Z=r();function et({threadId:e,onSkillCreated:t}){let[n,r]=(0,X.useState)(``),[i,o]=(0,X.useState)(``),[s,l]=(0,X.useState)(!1),u=Je(n),d=qe(u),f=async()=>{if(!(!d||!i.trim()||!e)){l(!0);try{let n=await D(e,u,i.trim());R({title:`Skill created`,description:`Skill '${u}' was created successfully.`}),r(``),o(``),t?.(n.path,`SKILL.md`)}catch(e){R({title:`Error`,description:e instanceof Error?e.message:`Failed to create skill`,variant:`destructive`})}finally{l(!1)}}};return e?(0,Z.jsx)(Me,{children:(0,Z.jsxs)(Se,{children:[(0,Z.jsx)(q,{title:`Add Skill`,description:`Saved as SKILL.md in .agents/skills.`,sticky:!0,className:`pr-10`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsxs)(De,{title:`Skill Name`,controlLayout:`stack`,className:`pt-6`,children:[(0,Z.jsx)(H,{id:`skillName`,value:n,onChange:e=>r(e.target.value),placeholder:`e.g. Code Review`,disabled:s}),n?(0,Z.jsxs)(`p`,{className:c(a.caption,`mt-2`),children:[`Folder name: `,(0,Z.jsx)(`span`,{className:`font-mono`,children:u||`...`})]}):null]}),(0,Z.jsx)(De,{title:`Description`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(Ne,{id:`skillDescription`,value:i,onChange:e=>o(e.target.value),placeholder:`Describe when Tarsk should apply this skill`,className:`resize-none min-h-[120px]`,disabled:s})}),(0,Z.jsx)(Ke,{onContinue:()=>void f(),disabled:!d||!i.trim(),creating:s})]})]})}):(0,Z.jsx)(ke,{title:`No thread selected`,children:`Please select a thread to add a skill.`})}var tt=`.agents/skills`;function nt(e){return`${tt}/${e}`}function rt(e){return`${nt(e)}/SKILL.md`}function it(e,t){let n=t.trim();if(!n)return e;let r=n.toLowerCase();return e.filter(e=>e.name.toLowerCase().includes(r)||e.description.toLowerCase().includes(r))}function at(e){let t=[`---`,`name: ${e.id}`,`description: ${e.description}`];return e.allowedTools&&t.push(`allowed-tools: ${e.allowedTools}`),e.license&&t.push(`license: ${e.license}`),t.push(`---`,``,e.instructions??``),t.join(`
|
|
2
|
+
`)}function ot(e,t,n){return it(e,t).filter(e=>!n.has(rt(e.id)))}function st(e){return e.endsWith(`.md`)||e.endsWith(`.mdx`)}function ct(e){return e.includes(`SKILL.md`)?`SKILL.md`:e[0]??`SKILL.md`}function lt(e,t){let n=e?.sourceId??t;if(!(!n||n==="default"))return n}function ut(e,t,n){let[r,i]=(0,X.useState)([]),[a,o]=(0,X.useState)(null),[s,c]=(0,X.useState)(``),[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),[p,m]=(0,X.useState)(null),h=lt(t,n),g=!!h;return(0,X.useEffect)(()=>{if(!e||!t)return;let r=t,a=lt(r,n),s=!1;async function l(){u(!0),m(null),i([]),o(null),c(``);try{if(a){let e=await I(a,r.id);if(s)return;i(e.files),o(ct(e.files))}else{if(s)return;i([`SKILL.md`]),o(`SKILL.md`),c(at(r))}}catch(e){if(s)return;m(e instanceof Error?e.message:`Failed to load skill files`)}finally{s||u(!1)}}return l(),()=>{s=!0}},[e,t,n]),(0,X.useEffect)(()=>{if(!e||!t||!a||!g||!h)return;let n=t,r=a,i=!1;async function o(){f(!0),m(null);try{let e=await ce(h,n.id,r);if(i)return;c(e.content)}catch(e){if(i)return;m(e instanceof Error?e.message:`Failed to load file`),c(``)}finally{i||f(!1)}}return o(),()=>{i=!0}},[e,t,a,g,h]),{files:r,selectedFile:a,setSelectedFile:o,fileContent:s,loadingFiles:l,contentLoading:l||g&&d,loadError:p,isCatalogSkill:g,effectiveSourceId:h}}function dt({open:e,onOpenChange:t,skill:n,catalogSourceId:r,onInstall:i}){let[o,s]=(0,X.useState)(!1),{files:l,selectedFile:u,setSelectedFile:f,fileContent:p,loadingFiles:m,contentLoading:h,loadError:g,effectiveSourceId:_}=ut(e,n,r),v=(0,X.useCallback)(async()=>{if(!n)return;let e=_?{...n,sourceId:_}:n;s(!0);try{await i(e),t(!1)}finally{s(!1)}},[n,_,i,t]),y=u?st(u):!1,b=(0,X.useMemo)(()=>l.map(e=>(0,Z.jsxs)(Ie,{selected:e===u,onClick:()=>f(e),className:`gap-2 cursor-pointer`,children:[(0,Z.jsx)(d,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,Z.jsx)(`span`,{className:c(a.caption,`truncate`),children:e})]},e)),[l,u]);return(0,Z.jsx)(U,{open:e,onOpenChange:t,children:(0,Z.jsxs)(G,{className:`flex max-h-[90vh] max-w-5xl flex-col gap-0 overflow-hidden p-0`,children:[(0,Z.jsxs)(K,{className:`border-b border-border px-6 py-4`,children:[(0,Z.jsx)(V,{children:n?.name??`Review skill`}),n?.description?(0,Z.jsx)(J,{children:n.description}):null]}),(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col sm:flex-row`,children:[(0,Z.jsxs)(`div`,{className:`flex max-h-40 shrink-0 flex-col border-b border-border sm:max-h-none sm:w-56 sm:border-b-0 sm:border-r`,children:[(0,Z.jsx)(`div`,{className:c(a.labelMuted,`px-3 py-2`),children:`Files`}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-1 pb-2`,children:m?(0,Z.jsx)(L,{centered:!0,containerClassName:`py-8`,label:`Loading files...`}):l.length===0?(0,Z.jsx)(`p`,{className:c(a.caption,`px-3 py-2 text-muted-foreground`),children:`No files found.`}):b})]}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-4`,children:g?(0,Z.jsx)(`p`,{className:c(a.body,`text-destructive`),children:g}):h?(0,Z.jsx)(L,{centered:!0,containerClassName:`py-12`,label:`Loading preview...`}):y?(0,Z.jsx)(Le,{content:p,enableMermaid:!1}):(0,Z.jsx)(`pre`,{className:c(a.caption,`overflow-x-auto whitespace-pre-wrap font-mono`),children:p})})]}),(0,Z.jsxs)(z,{className:`border-t border-border px-6 py-4 sm:justify-between`,children:[(0,Z.jsx)(x,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,Z.jsx)(x,{type:`button`,onClick:()=>void v(),disabled:o||!n,children:o?`Installing...`:`Install`})]})]})})}function ft({open:e,onOpenChange:t,editingSource:n,onSourceAdded:r,onSourceUpdated:i,onSourceDeleted:o}){let[s,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(null),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(!1),[v,b]=(0,X.useState)(!1),S=n!=null;function C(){l(``),d(``),p(null),h(!1),_(!1),b(!1)}function w(e){e||C(),t(e)}(0,X.useEffect)(()=>{if(e){if(n){l(n.title),d(n.url),p(null);return}l(``),d(``),p(null)}},[e,n]);async function T(){let e=s.trim(),t=u.trim();if(!e||!t){p(`Title and URL are required.`);return}h(!0),p(null);try{if(S&&n){let r=await F(n.id,e,t);i?.(r.source)}else r((await ue(e,t)).source);w(!1)}catch(e){p(e instanceof Error?e.message:`Failed to verify skill source`)}finally{h(!1)}}async function E(){if(n){_(!0),p(null);try{await ae(n.id),o?.(n.id),b(!1),w(!1)}catch(e){p(e instanceof Error?e.message:`Failed to delete skill source`),b(!1)}finally{_(!1)}}}return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(U,{open:e,onOpenChange:w,children:(0,Z.jsxs)(G,{className:`sm:max-w-lg`,children:[(0,Z.jsxs)(K,{children:[(0,Z.jsx)(V,{children:S?`Edit Skill Source`:`Add Skill Source`}),(0,Z.jsx)(J,{children:S?`Update the title or GitHub skills folder URL for this custom source.`:`Add a GitHub skills folder URL. The source is verified by loading at least one skill from the repository.`})]}),(0,Z.jsxs)(`div`,{className:`grid gap-4 py-2`,children:[(0,Z.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Z.jsx)(B,{htmlFor:`skill-source-title`,children:`Title`}),(0,Z.jsx)(H,{id:`skill-source-title`,placeholder:`e.g. My Team Skills`,value:s,onChange:e=>l(e.target.value),disabled:m||g,autoFocus:!0})]}),(0,Z.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Z.jsx)(B,{htmlFor:`skill-source-url`,children:`URL`}),(0,Z.jsx)(H,{id:`skill-source-url`,placeholder:`https://github.com/org/repo or .../tree/main/skills`,value:u,onChange:e=>d(e.target.value),disabled:m||g})]}),f?(0,Z.jsx)(`p`,{className:c(a.caption,`text-destructive`),children:f}):null]}),(0,Z.jsxs)(z,{className:`flex-col-reverse gap-2 sm:flex-row sm:justify-between`,children:[S?(0,Z.jsx)(x,{type:`button`,variant:`destructive`,onClick:()=>b(!0),disabled:m||g,children:`Delete`}):(0,Z.jsx)(`div`,{className:`hidden sm:block`}),(0,Z.jsxs)(`div`,{className:`flex w-full flex-col-reverse gap-2 sm:w-auto sm:flex-row`,children:[(0,Z.jsx)(x,{variant:`outline`,onClick:()=>w(!1),disabled:m||g,children:`Cancel`}),(0,Z.jsx)(x,{onClick:()=>void T(),disabled:m||g||!s.trim()||!u.trim(),children:m?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(y,{className:`mr-2 h-4 w-4 animate-spin`}),`Verifying...`]}):S?`Save Changes`:`Add Source`})]})]})]})}),(0,Z.jsx)(ve,{open:v,onOpenChange:b,children:(0,Z.jsxs)(pe,{children:[(0,Z.jsxs)(_e,{children:[(0,Z.jsx)(fe,{children:`Delete Skill Source`}),(0,Z.jsxs)(de,{children:[`Are you sure you want to delete "`,n?.title,`"? This removes the source from your list but does not uninstall skills you already added.`]})]}),(0,Z.jsxs)(he,{children:[(0,Z.jsx)(ge,{disabled:g,children:`Cancel`}),(0,Z.jsx)(me,{onClick:()=>void E(),disabled:g,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:g?`Deleting...`:`Delete`})]})]})})]})}function pt(e){let t=e.trim();if(!t)return null;if(/^https?:\/\//i.test(t))try{return new URL(t),t}catch{return null}if(t.startsWith(`tarsk://`))try{let e=new URL(`https://tarsk.invalid/${t.slice(8)}`);if(e.pathname===`/skill-install`&&e.searchParams.get(`url`))return e.searchParams.get(`url`)}catch{return null}return null}function mt(e){let t=(0,Y.c)(40),{open:n,onOpenChange:r,onSubmit:i}=e,[o,s]=(0,X.useState)(``),[l,u]=(0,X.useState)(null),d;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(d=function(){s(``),u(null)},t[0]=d):d=t[0];let f=d,p;t[1]===r?p=t[2]:(p=function(e){e||f(),r(e)},t[1]=r,t[2]=p);let m=p,h,g;t[3]===n?(h=t[4],g=t[5]):(h=()=>{n&&f()},g=[n],t[3]=n,t[4]=h,t[5]=g),(0,X.useEffect)(h,g);let _;t[6]!==m||t[7]!==i||t[8]!==o?(_=function(){let e=pt(o);if(!e){u(`Enter a valid http(s) URL for the plugin archive or paste a tarsk:// install link.`);return}i(e),m(!1)},t[6]=m,t[7]=i,t[8]=o,t[9]=_):_=t[9];let v=_,y;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsxs)(K,{children:[(0,Z.jsx)(V,{children:`Add Skill via URL`}),(0,Z.jsx)(J,{children:`Paste the URL of a plugin archive. Its skills and MCP servers are installed into this project.`})]}),t[10]=y):y=t[10];let b;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(B,{htmlFor:`add-skill-url`,children:`URL`}),t[11]=b):b=t[11];let S;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(S=e=>s(e.target.value),t[12]=S):S=t[12];let C;t[13]===v?C=t[14]:(C=e=>{e.key===`Enter`&&(e.preventDefault(),v())},t[13]=v,t[14]=C);let w;t[15]!==C||t[16]!==o?(w=(0,Z.jsx)(H,{id:`add-skill-url`,placeholder:`https://example.com/my-plugin.zip`,value:o,onChange:S,autoFocus:!0,onKeyDown:C}),t[15]=C,t[16]=o,t[17]=w):w=t[17];let T;t[18]===l?T=t[19]:(T=l?(0,Z.jsx)(`p`,{className:c(a.caption,`text-destructive`),children:l}):null,t[18]=l,t[19]=T);let E;t[20]!==w||t[21]!==T?(E=(0,Z.jsx)(`div`,{className:`grid gap-4 py-2`,children:(0,Z.jsxs)(`div`,{className:`grid gap-2`,children:[b,w,T]})}),t[20]=w,t[21]=T,t[22]=E):E=t[22];let D;t[23]===m?D=t[24]:(D=(0,Z.jsx)(x,{variant:`outline`,onClick:()=>m(!1),children:`Cancel`}),t[23]=m,t[24]=D);let O;t[25]===o?O=t[26]:(O=o.trim(),t[25]=o,t[26]=O);let k=!O,A;t[27]!==v||t[28]!==k?(A=(0,Z.jsx)(x,{onClick:v,disabled:k,children:`Continue`}),t[27]=v,t[28]=k,t[29]=A):A=t[29];let j;t[30]!==D||t[31]!==A?(j=(0,Z.jsxs)(z,{children:[D,A]}),t[30]=D,t[31]=A,t[32]=j):j=t[32];let M;t[33]!==E||t[34]!==j?(M=(0,Z.jsxs)(G,{className:`sm:max-w-lg`,children:[y,E,j]}),t[33]=E,t[34]=j,t[35]=M):M=t[35];let N;return t[36]!==m||t[37]!==n||t[38]!==M?(N=(0,Z.jsx)(U,{open:n,onOpenChange:m,children:M}),t[36]=m,t[37]=n,t[38]=M,t[39]=N):N=t[39],N}function ht(e){let t=(0,Y.c)(7),{items:n,onPreview:r}=e,i;if(t[0]!==n||t[1]!==r){let e;t[3]===r?e=t[4]:(e=e=>{let t=Ye(e.name);return(0,Z.jsxs)(`div`,{className:`group flex min-h-13 items-center gap-3 px-3 py-2`,role:`button`,tabIndex:0,onClick:()=>r(e),onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),r(e))},children:[(0,Z.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Z.jsx)(`div`,{className:c(a.label,`truncate`),children:t}),(0,Z.jsx)(`p`,{className:c(a.caption,`truncate`),children:e.description})]}),(0,Z.jsx)(w,{delayDuration:300,children:(0,Z.jsxs)(T,{children:[(0,Z.jsx)(S,{asChild:!0,children:(0,Z.jsx)(x,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`shrink-0 opacity-0 pointer-events-none can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto`,"aria-label":`Install ${t}`,onClick:t=>{t.stopPropagation(),r(e)},children:(0,Z.jsx)(v,{className:`h-4 w-4`})})}),(0,Z.jsx)(C,{children:`Install skill`})]})})]},e.id)},t[3]=r,t[4]=e),i=n.map(e),t[0]=n,t[1]=r,t[2]=i}else i=t[2];let o;return t[5]===i?o=t[6]:(o=(0,Z.jsx)(`div`,{className:`divide-y divide-table-border`,children:i}),t[5]=i,t[6]=o),o}function gt(e){let t=(0,Y.c)(11),{searchQuery:n,isLoadingCatalog:r,isDefaultSource:i,availablePopular:a,availableCatalog:o,onPreviewPopular:s,onPreviewCatalog:c}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(L,{centered:!0,containerClassName:`py-12`,label:`Loading skills...`}),t[0]=e):e=t[0],e}if(i){if(a.length===0){let e;return t[1]===n?e=t[2]:(e=(0,Z.jsx)(He,{searchQuery:n,emptyLabel:`No available skills found.`}),t[1]=n,t[2]=e),e}let e;return t[3]!==a||t[4]!==s?(e=(0,Z.jsx)(ht,{items:a,onPreview:s}),t[3]=a,t[4]=s,t[5]=e):e=t[5],e}if(o.length===0){let e;return t[6]===n?e=t[7]:(e=(0,Z.jsx)(He,{searchQuery:n,emptyLabel:`No available skills found.`}),t[6]=n,t[7]=e),e}let l;return t[8]!==o||t[9]!==c?(l=(0,Z.jsx)(ht,{items:o,onPreview:c}),t[8]=o,t[9]=c,t[10]=l):l=t[10],l}function _t(e){return e?{ariaLabel:`Edit skill source`,tooltip:`Edit this custom skill source`,icon:m}:{ariaLabel:`Add skill source`,tooltip:`Add a custom skill source`,icon:p}}function vt(e){let t=(0,Y.c)(42),{availableSearch:n,onSearchChange:r,selectedSourceId:i,onSourceChange:a,sources:o,selectedCustomSource:s,availableCatalogLoading:c,isDefaultSource:l,availablePopular:u,availableCatalog:d,onPreviewPopular:f,onPreviewCatalog:p,onAddSource:m}=e,h;t[0]===s?h=t[1]:(h=_t(s),t[0]=s,t[1]=h);let g=h,_=g.icon,v;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsx)(w,{children:(0,Z.jsxs)(T,{children:[(0,Z.jsx)(S,{asChild:!0,children:(0,Z.jsx)(`span`,{className:`cursor-help`,children:`Available Skills`})}),(0,Z.jsx)(C,{children:`Browse and install skills from the catalog.`})]})}),t[2]=v):v=t[2];let y;t[3]!==n||t[4]!==r?(y=(0,Z.jsx)(Ue,{placeholder:`Search`,value:n,onChange:r,className:`mb-0 w-64`}),t[3]=n,t[4]=r,t[5]=y):y=t[5];let b;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(Re,{className:`w-40`,"aria-label":`Skill source`,children:(0,Z.jsx)(Ee,{placeholder:`Default`})}),t[6]=b):b=t[6];let E;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(E=(0,Z.jsx)(we,{value:`default`,children:`Default`}),t[7]=E):E=t[7];let D;t[8]===o?D=t[9]:(D=o.map(yt),t[8]=o,t[9]=D);let O;t[10]===D?O=t[11]:(O=(0,Z.jsxs)(Pe,{children:[E,D]}),t[10]=D,t[11]=O);let k;t[12]!==a||t[13]!==i||t[14]!==O?(k=(0,Z.jsxs)(je,{value:i,onValueChange:a,children:[b,O]}),t[12]=a,t[13]=i,t[14]=O,t[15]=k):k=t[15];let A;t[16]===_?A=t[17]:(A=(0,Z.jsx)(_,{className:`h-4 w-4`}),t[16]=_,t[17]=A);let j;t[18]!==m||t[19]!==g.ariaLabel||t[20]!==A?(j=(0,Z.jsx)(S,{asChild:!0,children:(0,Z.jsx)(x,{type:`button`,variant:`outline`,size:`icon`,className:`shrink-0`,onClick:m,"aria-label":g.ariaLabel,children:A})}),t[18]=m,t[19]=g.ariaLabel,t[20]=A,t[21]=j):j=t[21];let M;t[22]===g.tooltip?M=t[23]:(M=(0,Z.jsx)(C,{children:g.tooltip}),t[22]=g.tooltip,t[23]=M);let N;t[24]!==j||t[25]!==M?(N=(0,Z.jsx)(w,{children:(0,Z.jsxs)(T,{children:[j,M]})}),t[24]=j,t[25]=M,t[26]=N):N=t[26];let P;t[27]!==N||t[28]!==y||t[29]!==k?(P=(0,Z.jsx)(q,{title:v,action:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[y,k,N]}),sticky:!1}),t[27]=N,t[28]=y,t[29]=k,t[30]=P):P=t[30];let F;t[31]!==d||t[32]!==c||t[33]!==u||t[34]!==n||t[35]!==l||t[36]!==p||t[37]!==f?(F=(0,Z.jsx)(ze,{className:`pt-6`,children:(0,Z.jsx)(gt,{searchQuery:n,isLoadingCatalog:c,isDefaultSource:l,availablePopular:u,availableCatalog:d,onPreviewPopular:f,onPreviewCatalog:p})}),t[31]=d,t[32]=c,t[33]=u,t[34]=n,t[35]=l,t[36]=p,t[37]=f,t[38]=F):F=t[38];let I;return t[39]!==P||t[40]!==F?(I=(0,Z.jsxs)(Te,{className:`shrink-0`,children:[P,F]}),t[39]=P,t[40]=F,t[41]=I):I=t[41],I}function yt(e){return(0,Z.jsx)(we,{value:e.id,children:e.title},e.id)}var bt=`https://tarsk.io/skills/list/`;function xt(e){let t=(0,Y.c)(20),{onSelectMode:n,manualDisabled:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Z.jsx)(Oe,{asChild:!0,children:(0,Z.jsxs)(x,{className:`gap-1`,children:[`Add Skill`,(0,Z.jsx)(b,{className:`h-4 w-4 opacity-70`})]})}),t[0]=i):i=t[0];let o;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=c(a.body,`gap-2`),t[1]=o):o=t[1];let s;t[2]===n?s=t[3]:(s=()=>n(`manual`),t[2]=n,t[3]=s);let l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(u,{className:`h-4 w-4 shrink-0`}),t[4]=l):l=t[4];let d;t[5]!==r||t[6]!==s?(d=(0,Z.jsxs)(W,{className:o,disabled:r,onSelect:s,children:[l,`Manually Enter`]}),t[5]=r,t[6]=s,t[7]=d):d=t[7];let f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=c(a.body,`gap-2`),t[8]=f):f=t[8];let p;t[9]===n?p=t[10]:(p=()=>n(`url`),t[9]=n,t[10]=p);let m;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(g,{className:`h-4 w-4 shrink-0`}),t[11]=m):m=t[11];let _;t[12]===p?_=t[13]:(_=(0,Z.jsxs)(W,{className:f,onSelect:p,children:[m,`Via URL`]}),t[12]=p,t[13]=_);let v;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsx)(ye,{}),t[14]=v):v=t[14];let y;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(y=c(a.body,`gap-2`),t[15]=y):y=t[15];let S;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsxs)(W,{className:y,onSelect:St,children:[(0,Z.jsx)(h,{className:`h-4 w-4 shrink-0`}),`Marketplace`]}),t[16]=S):S=t[16];let C;return t[17]!==d||t[18]!==_?(C=(0,Z.jsxs)(Ae,{children:[i,(0,Z.jsxs)(xe,{align:`end`,className:`w-44`,children:[d,_,v,S]})]}),t[17]=d,t[18]=_,t[19]=C):C=t[19],C}function St(){te(bt)}var Ct=`This skill uses no additional context as it is manually invoked`;function wt(e){return e.builtIn?`text-muted-foreground/50`:e.disableModelInvocation?`text-brand`:`text-foreground`}function Tt(e){return e.disableModelInvocation?Ct:`≈${i(e.description)} tokens of context`}function Et(e){let t=(0,Y.c)(22),n,r,i,a,o,s;if(t[0]!==e){let{onClick:l,ariaLabel:u,...d}=e,p=(0,Z.jsx)(f,{className:c(`h-4 w-4 shrink-0`,wt(d)),"aria-hidden":`true`});i=w,s=300,r=T,t[7]!==u||t[8]!==p||t[9]!==l?(o=(0,Z.jsx)(S,{asChild:!0,children:l?(0,Z.jsx)(`button`,{type:`button`,"aria-label":u,className:`shrink-0 cursor-pointer rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring`,onClick:e=>{e.stopPropagation(),l()},onKeyDown:Dt,children:p}):p}),t[7]=u,t[8]=p,t[9]=l,t[10]=o):o=t[10],n=C,a=Tt(d),t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s}else n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6];let l;t[11]!==n||t[12]!==a?(l=(0,Z.jsx)(n,{children:a}),t[11]=n,t[12]=a,t[13]=l):l=t[13];let u;t[14]!==r||t[15]!==o||t[16]!==l?(u=(0,Z.jsxs)(r,{children:[o,l]}),t[14]=r,t[15]=o,t[16]=l,t[17]=u):u=t[17];let d;return t[18]!==i||t[19]!==s||t[20]!==u?(d=(0,Z.jsx)(i,{delayDuration:s,children:u}),t[18]=i,t[19]=s,t[20]=u,t[21]=d):d=t[21],d}function Dt(e){(e.key===`Enter`||e.key===` `)&&e.stopPropagation()}function Ot(e){let t=[];for(let n of e){if(n.path===`.agents/skills`&&n.type===`folder`&&n.children)for(let e of n.children)e.type===`folder`&&t.push(e);n.children&&n.children.length>0&&t.push(...Ot(n.children))}return t}function kt(e){return`${e.disableModelInvocation?`Enable`:`Disable`} model invocation for ${e.name}`}function At(e){return e?{title:`MCP server installed`,description:`Its MCP servers were added to this project.`}:{title:`Plugin installed`,description:`Its skills and MCP servers were added to this project.`}}function jt(e){return e?.disableModelInvocation?{title:`Enable model invocation?`,description:`"${e.name}" will be offered to the model automatically again, so its description counts towards the context window.`,actionLabel:`Enable`,nextDisableModelInvocation:!1}:{title:`Disable model invocation?`,description:`"${e?.name}" will no longer be offered to the model automatically, so its description stops counting towards the context window. Invoke it manually with /${e?.name}.`,actionLabel:`Disable`,nextDisableModelInvocation:!0}}function Mt(e){let t=(0,Y.c)(24),{skills:n,threadId:r,onOpenSkill:i,onDelete:o,onAddManual:s,onAddUrl:l,onChangeModelInvocation:u}=e,d=!r,f;t[0]!==s||t[1]!==l?(f=e=>{e===`manual`?s():l()},t[0]=s,t[1]=l,t[2]=f):f=t[2];let p;t[3]!==d||t[4]!==f?(p=(0,Z.jsx)(q,{title:`Installed Skills`,description:`Reusable instruction sets that guide agent behavior in this project.`,action:(0,Z.jsx)(xt,{manualDisabled:d,onSelectMode:f}),sticky:!1}),t[3]=d,t[4]=f,t[5]=p):p=t[5];let m;t[6]===r?m=t[7]:(m=!r&&(0,Z.jsx)(be,{children:`Select a thread to add or install skills.`}),t[6]=r,t[7]=m);let h;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(h={icon:_,title:`No skills installed`,description:`Add skills to extend agent capabilities with reusable instructions.`},t[8]=h):h=t[8];let g;t[9]===u?g=t[10]:(g=e=>(0,Z.jsxs)(`span`,{className:c(a.body,`flex min-w-0 items-center gap-2 text-left`),children:[(0,Z.jsx)(Et,{description:e.description,disableModelInvocation:e.disableModelInvocation,builtIn:e.virtual,onClick:e.virtual?void 0:()=>u(e),ariaLabel:kt(e)}),(0,Z.jsx)(`span`,{className:`truncate`,children:e.name})]}),t[9]=u,t[10]=g);let v;t[11]===i?v=t[12]:(v=e=>i(e.path),t[11]=i,t[12]=v);let y;t[13]!==o||t[14]!==n||t[15]!==g||t[16]!==v?(y=(0,Z.jsx)(We,{showHeader:!1,compact:!0,loading:!1,items:n,emptyState:h,getKey:Ft,renderContent:g,onItemClick:v,itemClickLabel:Pt,onDelete:o,deleteAriaLabel:Nt,deleteTooltip:`Remove this skill from the project`}),t[13]=o,t[14]=n,t[15]=g,t[16]=v,t[17]=y):y=t[17];let b;t[18]!==m||t[19]!==y?(b=(0,Z.jsxs)(ze,{className:`pt-6`,children:[m,y]}),t[18]=m,t[19]=y,t[20]=b):b=t[20];let x;return t[21]!==p||t[22]!==b?(x=(0,Z.jsxs)(Te,{className:`shrink-0`,children:[p,b]}),t[21]=p,t[22]=b,t[23]=x):x=t[23],x}function Nt(e){return`Delete ${e.name}`}function Pt(e){return`Open ${e.name} in Files`}function Ft(e){return e.id}function It(e){let t=(0,Y.c)(24),{open:n,onOpenChange:r,skill:i,onConfirm:a}=e,o;t[0]===i?o=t[1]:(o=jt(i),t[0]=i,t[1]=o);let s=o,c;t[2]===s.title?c=t[3]:(c=(0,Z.jsx)(fe,{children:s.title}),t[2]=s.title,t[3]=c);let l;t[4]===s.description?l=t[5]:(l=(0,Z.jsx)(de,{children:s.description}),t[4]=s.description,t[5]=l);let u;t[6]!==c||t[7]!==l?(u=(0,Z.jsxs)(_e,{children:[c,l]}),t[6]=c,t[7]=l,t[8]=u):u=t[8];let d;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsx)(ge,{children:`Cancel`}),t[9]=d):d=t[9];let f;t[10]!==s.nextDisableModelInvocation||t[11]!==a||t[12]!==i?(f=()=>{i&&a(i,s.nextDisableModelInvocation)},t[10]=s.nextDisableModelInvocation,t[11]=a,t[12]=i,t[13]=f):f=t[13];let p;t[14]!==s.actionLabel||t[15]!==f?(p=(0,Z.jsxs)(he,{children:[d,(0,Z.jsx)(me,{onClick:f,children:s.actionLabel})]}),t[14]=s.actionLabel,t[15]=f,t[16]=p):p=t[16];let m;t[17]!==u||t[18]!==p?(m=(0,Z.jsxs)(pe,{children:[u,p]}),t[17]=u,t[18]=p,t[19]=m):m=t[19];let h;return t[20]!==r||t[21]!==n||t[22]!==m?(h=(0,Z.jsx)(ve,{open:n,onOpenChange:r,children:m}),t[20]=r,t[21]=n,t[22]=m,t[23]=h):h=t[23],h}function Lt(){let e=(0,Y.c)(10),[t,n]=(0,X.useState)(!1),[r,i]=(0,X.useState)(!1),[a,o]=(0,X.useState)(!1),[s,c]=(0,X.useState)(null),[l,u]=(0,X.useState)(null),[d,f]=(0,X.useState)(null),[p,m]=(0,X.useState)(!1),h;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=function(e){f(e),m(!0)},e[0]=h):h=e[0];let g=h,_;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(_=function(e){e||u(null)},e[1]=_):_=e[1];let v=_,y;return e[2]!==d||e[3]!==s||e[4]!==l||e[5]!==t||e[6]!==a||e[7]!==p||e[8]!==r?(y={showAddDialog:t,setShowAddDialog:n,showUrlDialog:r,setShowUrlDialog:i,showAddSourceDialog:a,setShowAddSourceDialog:o,pluginImportUrl:s,setPluginImportUrl:c,previewSkill:l,setPreviewSkill:u,invocationSkill:d,showInvocationDialog:p,setShowInvocationDialog:m,openInvocationDialog:g,handlePreviewDialogOpenChange:v},e[2]=d,e[3]=s,e[4]=l,e[5]=t,e[6]=a,e[7]=p,e[8]=r,e[9]=y):y=e[9],y}var Q=`skills:popular`;function Rt(e){return e.map(e=>`${e.id}~${e.name}~${e.description}`).join(`|`)}function zt(){let e=(0,Y.c)(5),[t,n]=(0,X.useState)(Ht),[r,i]=(0,X.useState)(Vt),a,o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>{oe().then(e=>{Xe(Q,e),n(t=>Rt(t)===Rt(e)?t:e)}).catch(Bt).finally(()=>i(!1))},o=[],e[0]=a,e[1]=o):(a=e[0],o=e[1]),(0,X.useEffect)(a,o);let s;return e[2]!==r||e[3]!==t?(s={popularSkills:t,loadingPopularSkills:r},e[2]=r,e[3]=t,e[4]=s):s=e[4],s}function Bt(){}function Vt(){return!Ze(Q)}function Ht(){return Qe(Q)??[]}var $=new Map;function Ut(e){let t=$.get(e);if(t)return t;let n=ie(e).finally(()=>{$.delete(e)});return $.set(e,n),n}function Wt(e,t){return t.map(t=>({...t,sourceId:t.sourceId??e}))}function Gt(){let e=(0,Y.c)(18),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,X.useState)(t),[i,a]=(0,X.useState)(j),o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=[],e[1]=o):o=e[1];let[s,c]=(0,X.useState)(o),[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),p;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=async()=>{try{r(await re())}catch{r([])}},e[2]=p):p=e[2];let m=p,h,g;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{(async function(){let e=O();if(e.length>0)try{await P(e),ne()}catch{}await m()})()},g=[m],e[3]=h,e[4]=g):(h=e[3],g=e[4]),(0,X.useEffect)(h,g);let _;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>{a(e),ee(e)},e[5]=_):_=e[5];let v=_,y;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(y=e=>{r(t=>[...t.filter(t=>t.id!==e.id),e].sort(qt)),v(e.id)},e[6]=y):y=e[6];let b=y,x;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(x=e=>{r(t=>t.map(t=>t.id===e.id?e:t).sort(Kt)),N(e.id)},e[7]=x):x=e[7];let S=x,C;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(C=e=>{r(t=>t.filter(t=>t.id!==e)),N(e),a(t=>t===e?(ee(`default`),`default`):t)},e[8]=C):C=e[8];let w=C,T,E;e[9]===i?(T=e[10],E=e[11]):(E=()=>{if(i==="default"){c([]),u(!1),f(!1);return}let e=k(i);e?.skills?(c(Wt(i,e.skills)),u(!1)):(c([]),u(!0));let t=!1;return f(!!e?.skills),Ut(i).then(e=>{if(t)return;let n=Wt(i,e);c(n),se(i,{fetchedAt:Date.now(),skills:n})}).catch(n=>{t||(e?.skills||c([]),R({title:`Error`,description:n instanceof Error?n.message:`Failed to load skill catalog`,variant:`destructive`}))}).finally(()=>{t||(u(!1),f(!1))}),()=>{t=!0}},T=[i],e[9]=i,e[10]=T,e[11]=E),(0,X.useEffect)(E,T);let D;return e[12]!==s||e[13]!==l||e[14]!==d||e[15]!==i||e[16]!==n?(D={sources:n,selectedSourceId:i,setSelectedSourceId:v,addSource:b,updateSource:S,removeSource:w,reloadSources:m,catalogSkills:s,isLoadingCatalog:l,isRefreshingCatalog:d},e[12]=s,e[13]=l,e[14]=d,e[15]=i,e[16]=n,e[17]=D):D=e[17],D}function Kt(e,t){return e.title.localeCompare(t.title)}function qt(e,t){return e.title.localeCompare(t.title)}function Jt(e){let t=(0,Y.c)(26),{popularSkills:n,loadingPopularSkills:r}=zt(),{sources:i,selectedSourceId:a,setSelectedSourceId:s,addSource:c,updateSource:l,removeSource:u,catalogSkills:d,isLoadingCatalog:f}=Gt(),{query:p,setQuery:m,deferredQuery:h}=Ge(),g=a==="default",_;t[0]!==a||t[1]!==i?(_=o(a)?i.find(e=>e.id===a)??null:null,t[0]=a,t[1]=i,t[2]=_):_=t[2];let v=_,y=!g&&f&&d.length===0,b;t[3]!==h||t[4]!==e||t[5]!==n?(b=ot(n,h,e),t[3]=h,t[4]=e,t[5]=n,t[6]=b):b=t[6];let x=b,S;t[7]!==d||t[8]!==h||t[9]!==e?(S=ot(d,h,e),t[7]=d,t[8]=h,t[9]=e,t[10]=S):S=t[10];let C=S,w;return t[11]!==c||t[12]!==C||t[13]!==y||t[14]!==x||t[15]!==p||t[16]!==g||t[17]!==r||t[18]!==u||t[19]!==v||t[20]!==a||t[21]!==m||t[22]!==s||t[23]!==i||t[24]!==l?(w={availableSearch:p,setAvailableSearch:m,availablePopular:x,availableCatalog:C,availableCatalogLoading:y,isDefaultSource:g,selectedCustomSource:v,sources:i,selectedSourceId:a,setSelectedSourceId:s,addSource:c,updateSource:l,removeSource:u,loadingPopularSkills:r},t[11]=c,t[12]=C,t[13]=y,t[14]=x,t[15]=p,t[16]=g,t[17]=r,t[18]=u,t[19]=v,t[20]=a,t[21]=m,t[22]=s,t[23]=i,t[24]=l,t[25]=w):w=t[25],w}async function Yt(e,t){let n=rt(t.id);if(!e.threadId||e.installedFilePaths.has(n))return;let r=t.sourceId??(e.selectedSourceId==="default"?void 0:e.selectedSourceId);try{r?await le(e.threadId,r,t.id,nt(t.id)):await E(e.threadId,n,at(t)),e.setInstalledFilePaths(e=>new Set(e).add(n)),e.triggerExplorerRefresh(),e.reloadSkills(),R({title:`Skill installed`,description:t.name})}catch(e){throw R({title:`Error`,description:e instanceof Error?e.message:`Failed to install skill`,variant:`destructive`}),e}}async function Xt(e,t,n){if(e.projectId)try{try{await A(e.projectId,t.name,n)}catch{if(!e.threadId)throw Error(`No thread selected to update this skill`);await M(e.threadId,t.name,n)}e.triggerExplorerRefresh(),await e.reloadSkills(),R({title:n?`Model invocation disabled`:`Model invocation enabled`,description:n?`${t.name} is now invoked manually with /${t.name}.`:`${t.name} is offered to the model again.`})}catch(e){R({title:`Error`,description:e instanceof Error?e.message:`Failed to update skill`,variant:`destructive`})}}function Zt(){let e=(0,Y.c)(34),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={findItems:Ot,installedPathSuffix:`/SKILL.md`,explorerPathSuffix:`/SKILL.md`,sortByName:!0,removedToastTitle:`Skill removed`},e[0]=t):t=e[0];let n=$e(t),r=s(Qt),i=r.find(e=>e.projectId===n.selectedProjectId)??null,a=Lt(),o=Jt(n.installedFilePaths),c;e[1]!==o.loadingPopularSkills||e[2]!==n.loading?(c=[n.loading,o.loadingPopularSkills],e[1]=o.loadingPopularSkills,e[2]=n.loading,e[3]=c):c=e[3];let u=Ve(n.selectedProjectId?`${n.selectedProjectId}:${n.selectedThreadId??``}`:null,c),d;e[4]!==o.selectedSourceId||e[5]!==n.installedFilePaths||e[6]!==n.loadItems||e[7]!==n.selectedThreadId||e[8]!==n.setInstalledFilePaths||e[9]!==n.triggerExplorerRefresh?(d=function(e){return Yt({threadId:n.selectedThreadId,selectedSourceId:o.selectedSourceId,installedFilePaths:n.installedFilePaths,setInstalledFilePaths:n.setInstalledFilePaths,triggerExplorerRefresh:n.triggerExplorerRefresh,reloadSkills:n.loadItems},e)},e[4]=o.selectedSourceId,e[5]=n.installedFilePaths,e[6]=n.loadItems,e[7]=n.selectedThreadId,e[8]=n.setInstalledFilePaths,e[9]=n.triggerExplorerRefresh,e[10]=d):d=e[10];let f=d,p;e[11]!==n.loadItems||e[12]!==n.selectedProjectId||e[13]!==n.selectedThreadId||e[14]!==n.triggerExplorerRefresh?(p=function(e,t){return Xt({projectId:n.selectedProjectId,threadId:n.selectedThreadId,triggerExplorerRefresh:n.triggerExplorerRefresh,reloadSkills:n.loadItems},e,t)},e[11]=n.loadItems,e[12]=n.selectedProjectId,e[13]=n.selectedThreadId,e[14]=n.triggerExplorerRefresh,e[15]=p):p=e[15];let m=p,h;e[16]===n?h=e[17]:(h=function(e){e||n.setDeleteConfirm(null)},e[16]=n,e[17]=h);let g=h,_;e[18]===n?_=e[19]:(_=function(){n.deleteConfirm&&n.handleDelete(n.deleteConfirm)},e[18]=n,e[19]=_);let v=_,y;e[20]===n?y=e[21]:(y=function(e){n.loadItems(),n.triggerExplorerRefresh(),R(At(e))},e[20]=n,e[21]=y);let b=y,x=i?l(i):null,S;return e[22]!==o||e[23]!==a||e[24]!==m||e[25]!==v||e[26]!==g||e[27]!==f||e[28]!==b||e[29]!==n||e[30]!==u||e[31]!==r||e[32]!==x?(S={installed:n,projects:r,selectedProjectName:x,dialogs:a,available:o,pageLoading:u,handleInstallPreviewSkill:f,handleConfirmModelInvocation:m,handleDeleteDialogOpenChange:g,handleDeleteConfirm:v,handlePluginInstalled:b},e[22]=o,e[23]=a,e[24]=m,e[25]=v,e[26]=g,e[27]=f,e[28]=b,e[29]=n,e[30]=u,e[31]=r,e[32]=x,e[33]=S):S=e[33],S}function Qt(e){return e.projects}function $t(){let e=(0,Y.c)(101),t=Zt(),{installed:n,dialogs:r,available:i}=t;if(!n.selectedProjectId){let t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Z.jsx)(ke,{children:`Select a project to manage skills.`}),e[0]=t):t=e[0],t}let a,o;e[1]===r?(a=e[2],o=e[3]):(a=()=>r.setShowAddDialog(!0),o=()=>r.setShowUrlDialog(!0),e[1]=r,e[2]=a,e[3]=o);let s;e[4]!==r.openInvocationDialog||e[5]!==n.handleOpenInExplorer||e[6]!==n.items||e[7]!==n.selectedThreadId||e[8]!==n.setDeleteConfirm||e[9]!==a||e[10]!==o?(s=(0,Z.jsx)(Mt,{skills:n.items,threadId:n.selectedThreadId,onOpenSkill:n.handleOpenInExplorer,onDelete:n.setDeleteConfirm,onAddManual:a,onAddUrl:o,onChangeModelInvocation:r.openInvocationDialog}),e[4]=r.openInvocationDialog,e[5]=n.handleOpenInExplorer,e[6]=n.items,e[7]=n.selectedThreadId,e[8]=n.setDeleteConfirm,e[9]=a,e[10]=o,e[11]=s):s=e[11];let c;e[12]===r?c=e[13]:(c=e=>r.setPreviewSkill(e),e[12]=r,e[13]=c);let l;e[14]!==i.selectedSourceId||e[15]!==r?(l=e=>r.setPreviewSkill({...e,sourceId:e.sourceId??i.selectedSourceId}),e[14]=i.selectedSourceId,e[15]=r,e[16]=l):l=e[16];let u;e[17]===r?u=e[18]:(u=()=>r.setShowAddSourceDialog(!0),e[17]=r,e[18]=u);let d;e[19]!==i.availableCatalog||e[20]!==i.availableCatalogLoading||e[21]!==i.availablePopular||e[22]!==i.availableSearch||e[23]!==i.isDefaultSource||e[24]!==i.selectedCustomSource||e[25]!==i.selectedSourceId||e[26]!==i.setAvailableSearch||e[27]!==i.setSelectedSourceId||e[28]!==i.sources||e[29]!==c||e[30]!==l||e[31]!==u?(d=(0,Z.jsx)(vt,{availableSearch:i.availableSearch,onSearchChange:i.setAvailableSearch,selectedSourceId:i.selectedSourceId,onSourceChange:i.setSelectedSourceId,sources:i.sources,selectedCustomSource:i.selectedCustomSource,availableCatalogLoading:i.availableCatalogLoading,isDefaultSource:i.isDefaultSource,availablePopular:i.availablePopular,availableCatalog:i.availableCatalog,onPreviewPopular:c,onPreviewCatalog:l,onAddSource:u}),e[19]=i.availableCatalog,e[20]=i.availableCatalogLoading,e[21]=i.availablePopular,e[22]=i.availableSearch,e[23]=i.isDefaultSource,e[24]=i.selectedCustomSource,e[25]=i.selectedSourceId,e[26]=i.setAvailableSearch,e[27]=i.setSelectedSourceId,e[28]=i.sources,e[29]=c,e[30]=l,e[31]=u,e[32]=d):d=e[32];let f;e[33]!==t.pageLoading||e[34]!==s||e[35]!==d?(f=(0,Z.jsxs)(Ce,{loading:t.pageLoading,children:[s,d]}),e[33]=t.pageLoading,e[34]=s,e[35]=d,e[36]=f):f=e[36];let p=r.previewSkill!==null,m=i.isDefaultSource?void 0:i.selectedSourceId,h;e[37]!==r.handlePreviewDialogOpenChange||e[38]!==r.previewSkill||e[39]!==t.handleInstallPreviewSkill||e[40]!==p||e[41]!==m?(h=(0,Z.jsx)(dt,{open:p,onOpenChange:r.handlePreviewDialogOpenChange,skill:r.previewSkill,catalogSourceId:m,onInstall:t.handleInstallPreviewSkill}),e[37]=r.handlePreviewDialogOpenChange,e[38]=r.previewSkill,e[39]=t.handleInstallPreviewSkill,e[40]=p,e[41]=m,e[42]=h):h=e[42];let g;e[43]!==r.invocationSkill||e[44]!==r.setShowInvocationDialog||e[45]!==r.showInvocationDialog||e[46]!==t.handleConfirmModelInvocation?(g=(0,Z.jsx)(It,{open:r.showInvocationDialog,onOpenChange:r.setShowInvocationDialog,skill:r.invocationSkill,onConfirm:t.handleConfirmModelInvocation}),e[43]=r.invocationSkill,e[44]=r.setShowInvocationDialog,e[45]=r.showInvocationDialog,e[46]=t.handleConfirmModelInvocation,e[47]=g):g=e[47];let _,v,y;e[48]===i?(_=e[49],v=e[50],y=e[51]):(_=e=>{i.addSource(e),R({title:`Skill source added`,description:`${e.title} is now available in the source list.`})},v=e=>{i.updateSource(e),R({title:`Skill source updated`,description:`${e.title} has been saved.`})},y=e=>{i.removeSource(e),R({title:`Skill source removed`,description:`The custom source has been deleted.`})},e[48]=i,e[49]=_,e[50]=v,e[51]=y);let b;e[52]!==i.selectedCustomSource||e[53]!==r.setShowAddSourceDialog||e[54]!==r.showAddSourceDialog||e[55]!==_||e[56]!==v||e[57]!==y?(b=(0,Z.jsx)(ft,{open:r.showAddSourceDialog,onOpenChange:r.setShowAddSourceDialog,editingSource:i.selectedCustomSource,onSourceAdded:_,onSourceUpdated:v,onSourceDeleted:y}),e[52]=i.selectedCustomSource,e[53]=r.setShowAddSourceDialog,e[54]=r.showAddSourceDialog,e[55]=_,e[56]=v,e[57]=y,e[58]=b):b=e[58];let x;e[59]!==r||e[60]!==n?(x=()=>{r.setShowAddDialog(!1),n.loadItems(),n.triggerExplorerRefresh()},e[59]=r,e[60]=n,e[61]=x):x=e[61];let S;e[62]!==n.selectedThreadId||e[63]!==x?(S=(0,Z.jsx)(G,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,Z.jsx)(et,{threadId:n.selectedThreadId,onSkillCreated:x})}),e[62]=n.selectedThreadId,e[63]=x,e[64]=S):S=e[64];let C;e[65]!==r.setShowAddDialog||e[66]!==r.showAddDialog||e[67]!==S?(C=(0,Z.jsx)(U,{open:r.showAddDialog,onOpenChange:r.setShowAddDialog,children:S}),e[65]=r.setShowAddDialog,e[66]=r.showAddDialog,e[67]=S,e[68]=C):C=e[68];let w;e[69]===r?w=e[70]:(w=e=>r.setPluginImportUrl(e),e[69]=r,e[70]=w);let T;e[71]!==r.setShowUrlDialog||e[72]!==r.showUrlDialog||e[73]!==w?(T=(0,Z.jsx)(mt,{open:r.showUrlDialog,onOpenChange:r.setShowUrlDialog,onSubmit:w}),e[71]=r.setShowUrlDialog,e[72]=r.showUrlDialog,e[73]=w,e[74]=T):T=e[74];let E;e[75]===r?E=e[76]:(E=()=>r.setPluginImportUrl(null),e[75]=r,e[76]=E);let D;e[77]===t?D=e[78]:(D=e=>{let{mcpOnly:n}=e;t.handlePluginInstalled(n)},e[77]=t,e[78]=D);let O;e[79]!==r.pluginImportUrl||e[80]!==n.selectedProjectId||e[81]!==t.projects||e[82]!==t.selectedProjectName||e[83]!==E||e[84]!==D?(O=(0,Z.jsx)(Fe,{url:r.pluginImportUrl,projectId:n.selectedProjectId,projectName:t.selectedProjectName,projects:t.projects,onSelectProject:en,onClose:E,onInstalled:D}),e[79]=r.pluginImportUrl,e[80]=n.selectedProjectId,e[81]=t.projects,e[82]=t.selectedProjectName,e[83]=E,e[84]=D,e[85]=O):O=e[85];let k=n.deleteConfirm!==null,A=`Are you sure you want to delete the skill "${n.deleteConfirm?.name}"? This action cannot be undone.`,j;e[86]!==n.deleting||e[87]!==t.handleDeleteConfirm||e[88]!==t.handleDeleteDialogOpenChange||e[89]!==k||e[90]!==A?(j=(0,Z.jsx)(Be,{open:k,onOpenChange:t.handleDeleteDialogOpenChange,title:`Delete Skill`,description:A,onConfirm:t.handleDeleteConfirm,confirming:n.deleting}),e[86]=n.deleting,e[87]=t.handleDeleteConfirm,e[88]=t.handleDeleteDialogOpenChange,e[89]=k,e[90]=A,e[91]=j):j=e[91];let M;return e[92]!==h||e[93]!==g||e[94]!==b||e[95]!==C||e[96]!==T||e[97]!==O||e[98]!==j||e[99]!==f?(M=(0,Z.jsxs)(Z.Fragment,{children:[f,h,g,b,C,T,O,j]}),e[92]=h,e[93]=g,e[94]=b,e[95]=C,e[96]=T,e[97]=O,e[98]=j,e[99]=f,e[100]=M):M=e[100],M}function en(){}export{$t as SettingsSkillsView,$t as default};
|