tarsk 0.5.72 → 0.5.74
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 +147040 -177714
- package/dist/public/assets/{Combination-lwI_j-mU.js → Combination-BdvBzSm4.js} +1 -1
- package/dist/public/assets/{account-view-C_WBVXA3.js → account-view-c-UG0JKH.js} +1 -1
- package/dist/public/assets/{alert-dialog-FQ5_FqBX.js → alert-dialog-DAHkynVZ.js} +1 -1
- package/dist/public/assets/api-D1GxdEEp.js +2 -0
- package/dist/public/assets/{async-error-boundary-DCDTsNTO.js → async-error-boundary-DNJqC4BV.js} +1 -1
- package/dist/public/assets/{async-loading-fallback-C173aA9v.js → async-loading-fallback-D2X0o4Qa.js} +1 -1
- package/dist/public/assets/browser-tab-BKQJKTg8.js +12 -0
- package/dist/public/assets/{button-sfGyFWfz.js → button-B6HDsfd5.js} +1 -1
- package/dist/public/assets/{card-D5k0GHxM.js → card-DZGd45nw.js} +1 -1
- package/dist/public/assets/chat-dock-context-8_5G30KG.js +1 -0
- package/dist/public/assets/{commit-dialog-Bmh1QdHK.js → commit-dialog-OQFa4W6i.js} +1 -1
- package/dist/public/assets/{commit-error-dialog-Dpu8C-0w.js → commit-error-dialog-BFByxoUG.js} +1 -1
- package/dist/public/assets/{commit-method-fields-CYzy7rmY.js → commit-method-fields-BihSf23f.js} +1 -1
- package/dist/public/assets/context-menu-e5jeH0Jl.js +1 -0
- package/dist/public/assets/{conversation-history-view-COFXqD0e.js → conversation-history-view-BUlO9oJ6.js} +1 -1
- package/dist/public/assets/create-project-dialog-CY5wIGQV.js +2 -0
- package/dist/public/assets/{create-project-workspace-BiRMezO9.js → create-project-workspace-ClILToZd.js} +1 -1
- package/dist/public/assets/{create-repo-dialog-CYiCHWgi.js → create-repo-dialog-CKUQoOaX.js} +1 -1
- package/dist/public/assets/{delete-confirm-dialog-B99gEJN8.js → delete-confirm-dialog-3DX1u0Dg.js} +1 -1
- package/dist/public/assets/{dialog-CP2cYR59.js → dialog--0foS3aw.js} +1 -1
- package/dist/public/assets/{diff-view-Cnuntc3l.js → diff-view-DLPu21IR.js} +2 -2
- package/dist/public/assets/{dist-CWnEmdyL.js → dist-Bxyh1Ml_.js} +1 -1
- package/dist/public/assets/{dist-BZvmHCxP.js → dist-CFXDhuA_.js} +1 -1
- package/dist/public/assets/{dist-DIjomljy.js → dist-CNOCRPxn.js} +1 -1
- package/dist/public/assets/{dist-DiMgghKn.js → dist-Cda_ffeR.js} +1 -1
- package/dist/public/assets/{dist-CWq9XRXF.js → dist-CkQILg8A.js} +1 -1
- package/dist/public/assets/{dist-DjKXDRW7.js → dist-CqGsum35.js} +1 -1
- package/dist/public/assets/dist-DjiNKpTV.js +2 -0
- package/dist/public/assets/{dist-DrpdKPSI.js → dist-eMdiO0P3.js} +1 -1
- package/dist/public/assets/{dist-mdooLpmq.js → dist-rO95BjzU.js} +1 -1
- package/dist/public/assets/explorer-tab-view-nzl0M0Vm.js +2 -0
- package/dist/public/assets/explorer-tree-Bkb6dzmf.js +1 -0
- package/dist/public/assets/explorer-view-NcArt0_H.js +75 -0
- package/dist/public/assets/{git-history-dialog-DHdzijZS.js → git-history-dialog-rWkjoaR5.js} +1 -1
- package/dist/public/assets/index-BOB3ZUQs.js +3386 -0
- package/dist/public/assets/index-BdGMz8sL.css +1 -0
- package/dist/public/assets/{markdown-renderer-Dx9-Ljv0.js → markdown-renderer-BkKibNMs.js} +4 -4
- package/dist/public/assets/{mcp-server-card-DPNG9Up7.js → mcp-server-card-DFT7uyRh.js} +1 -1
- package/dist/public/assets/{merged-pr-dialog-CEvS2z8D.js → merged-pr-dialog-BOrFaYk6.js} +1 -1
- package/dist/public/assets/model-list-controls-CpQjn6i7.js +1 -0
- package/dist/public/assets/onboarding-dialog-HJpyzVWa.js +1 -0
- package/dist/public/assets/{project-env-vars-view-DTGwl4wr.js → project-env-vars-view-C9VTTfTo.js} +1 -1
- package/dist/public/assets/project-model-aliases-view-DKRoV7Gc.js +1 -0
- package/dist/public/assets/{project-settings-view-DniUno1i.js → project-settings-view-BDYqpibk.js} +1 -1
- package/dist/public/assets/{project-tools-view-DknCaJu_.js → project-tools-view-9WUc4Yca.js} +1 -1
- package/dist/public/assets/providers-list-view-BgvIWP_0.js +1 -0
- package/dist/public/assets/pull-request-dialog-BM1dkFpK.js +1 -0
- package/dist/public/assets/{pull-with-changes-dialog-rKmqSi73.js → pull-with-changes-dialog-Bjl_esir.js} +1 -1
- package/dist/public/assets/{push-before-pr-dialog-BeEx6Po_.js → push-before-pr-dialog-Cbc_zaI8.js} +1 -1
- package/dist/public/assets/{radio-group-CU59hGiA.js → radio-group-CMW5ku-w.js} +1 -1
- package/dist/public/assets/{scroll-area-nbNFO91g.js → scroll-area-BMQFeWmq.js} +1 -1
- package/dist/public/assets/settings-general-view-BaMVw6kD.js +1 -0
- package/dist/public/assets/{settings-instructions-view-Bpx_dUaJ.js → settings-instructions-view-BRE87H2U.js} +1 -1
- package/dist/public/assets/{settings-list-PMi8ZniW.js → settings-list-BpPbGcpS.js} +1 -1
- package/dist/public/assets/settings-logs-view-Bbue8ZOn.js +5 -0
- package/dist/public/assets/settings-mcp-servers-view-BiMCy8sH.js +5 -0
- package/dist/public/assets/{settings-models-view-DdRC4YXo.js → settings-models-view-BkZtGcUP.js} +1 -1
- package/dist/public/assets/{settings-rules-view-CGLh95Ta.js → settings-rules-view-TK7LEC-0.js} +3 -3
- package/dist/public/assets/settings-skills-view-Bv9Kn55r.js +3 -0
- package/dist/public/assets/{settings-slack-view-OFNrG_DW.js → settings-slack-view-Dy2bFJqU.js} +1 -1
- package/dist/public/assets/{settings-slash-commands-view-DOo0BimH.js → settings-slash-commands-view-DiR1IyMF.js} +1 -1
- package/dist/public/assets/{settings-statistics-view-DpaSoVqG.js → settings-statistics-view-DX1UVeCJ.js} +1 -1
- package/dist/public/assets/settings-storage-view-D8tHP8XT.js +1 -0
- package/dist/public/assets/{settings-subagents-view-D7o69YzB.js → settings-subagents-view-Bz7jBhbB.js} +2 -2
- package/dist/public/assets/{settings-system-prompt-view-BFGfrXfe.js → settings-system-prompt-view-VHGAqfQk.js} +1 -1
- package/dist/public/assets/settings-view-QBOhYAyv.js +2 -0
- package/dist/public/assets/store-CHF6tOp2.js +9 -0
- package/dist/public/assets/{switch-pIBaqatj.js → switch-P5m18oUl.js} +1 -1
- package/dist/public/assets/{table-B2TDbGGl.js → table-MUx4ZxvS.js} +1 -1
- package/dist/public/assets/tasks-view-l00Nc2fV.js +2 -0
- package/dist/public/assets/terminal-panel-DHDoOXAH.js +38 -0
- package/dist/public/assets/{toggle-group-BiUqOiP6.js → toggle-group-DMR7z3pz.js} +1 -1
- package/dist/public/assets/{tooltip-B6ziVyTv.js → tooltip-BtJG5fZl.js} +1 -1
- package/dist/public/assets/{use-active-dock-panel-instance-CcCdDHzX.js → use-active-dock-panel-instance-cO_DR87G.js} +1 -1
- package/dist/public/assets/use-installed-ai-files-CJr_PVcY.js +1 -0
- package/dist/public/assets/{use-open-chat-dock-panel-D1D5bnsL.js → use-open-chat-dock-panel-B31lwcQF.js} +1 -1
- package/dist/public/assets/{web-C5UYr_H-.js → web-C7jr0n2X.js} +1 -1
- package/dist/public/assets/{web-Rx_XWVAQ.js → web-D0nlJHDu.js} +1 -1
- package/dist/public/assets/{web-iwWEZ1P2.js → web-DPW3m0cL.js} +1 -1
- package/dist/public/assets/{web-DaSLtaQ7.js → web-jJ1krOD-.js} +1 -1
- package/dist/public/index.html +24 -24
- package/dist/recommended-models.txt +1 -1
- package/package.json +5 -3
- package/dist/public/assets/api-ODizoHnY.js +0 -2
- package/dist/public/assets/browser-tab-Cl9d7ESj.js +0 -12
- package/dist/public/assets/chat-dock-context-DIyMsJHM.js +0 -1
- package/dist/public/assets/context-menu-Bo0OMC7-.js +0 -1
- package/dist/public/assets/create-project-dialog-DQ4AbwQP.js +0 -6
- package/dist/public/assets/dist-ZlK7I-y-.js +0 -2
- package/dist/public/assets/explorer-tab-view-BoCoREoE.js +0 -2
- package/dist/public/assets/explorer-tree-DvD1-WW3.js +0 -1
- package/dist/public/assets/explorer-view-B4WJUy7s.js +0 -75
- package/dist/public/assets/index-Bmkj1Qwa.js +0 -3380
- package/dist/public/assets/index-DPMRI86E.css +0 -1
- package/dist/public/assets/is-macos-client-BIb4ZSEa.js +0 -1
- package/dist/public/assets/model-list-controls-ChoemIJa.js +0 -1
- package/dist/public/assets/onboarding-dialog-DCull5p_.js +0 -1
- package/dist/public/assets/project-model-aliases-view-CEDz_6NW.js +0 -1
- package/dist/public/assets/providers-list-view-D_n1Ai6S.js +0 -1
- package/dist/public/assets/pull-request-dialog-BkQBaJkw.js +0 -1
- package/dist/public/assets/settings-general-view-CVHlxpTM.js +0 -1
- package/dist/public/assets/settings-logs-view-64Aq1hEw.js +0 -5
- package/dist/public/assets/settings-mcp-servers-view-B84c4h47.js +0 -5
- package/dist/public/assets/settings-skills-view-DeVnXDl-.js +0 -3
- package/dist/public/assets/settings-storage-view-DlyXWB__.js +0 -1
- package/dist/public/assets/settings-view-Dw1Zh2Qn.js +0 -2
- package/dist/public/assets/store-Be_7VK0D.js +0 -8
- package/dist/public/assets/tasks-view-FR7c1qFr.js +0 -2
- package/dist/public/assets/terminal-panel-DBZpuMz9.js +0 -38
- package/dist/public/assets/use-installed-ai-files-BNrsyACe.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i,x as a}from"./dist-ZlK7I-y-.js";import{An as o,Et as s,M as c,N as l,Nt as u,Sn as d,Tn as f,Vn as p,Z as m,g as h,gt as g,h as _,ht as v,t as y,u as b,wn as x,yn as ee}from"./dist-DIjomljy.js";import{c as S,t as C}from"./utils-CT-Dw22R.js";import{t as w}from"./button-sfGyFWfz.js";import{$ as T,Ln as E,Mr as te,Ni as D,Or as ne,pi as O}from"./api-ODizoHnY.js";import{t as re}from"./dist-mdooLpmq.js";import{i as ie,n as ae,t as oe}from"./tooltip-B6ziVyTv.js";import{t as se}from"./dist-OixawqbU.js";import{i as ce}from"./scroll-area-nbNFO91g.js";import{t as le}from"./dist-CWq9XRXF.js";import{t as ue}from"./use-toast-xpb5jNtN.js";import{t as de}from"./dist-CSssbxDI.js";import{Bn as fe,Dn as k,F as pe,Fn as me,Ft as he,Ln as ge,Nn as _e,P as ve,U as ye,_t as be,gt as xe,kn as Se,n as Ce,r as we,t as Te,vt as Ee}from"./index-Bmkj1Qwa.js";import{n as De,t as Oe}from"./toggle-group-BiUqOiP6.js";import{t as ke}from"./use-settings-page-loading-BTySlInF.js";import{t as Ae}from"./is-macos-client-BIb4ZSEa.js";var je=t(),A=e(n(),1),j=r(),Me=[`PageUp`,`PageDown`],Ne=[`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`],Pe={"from-left":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-right":[`Home`,`PageDown`,`ArrowDown`,`ArrowRight`],"from-bottom":[`Home`,`PageDown`,`ArrowDown`,`ArrowLeft`],"from-top":[`Home`,`PageDown`,`ArrowUp`,`ArrowLeft`]},M=`Slider`,[N,Fe,Ie]=le(M),[Le,Re]=_(M,[Ie]),[ze,Be]=Le(M),P=A.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,...g}=e,_=A.useRef(new Set),v=A.useRef(0),b=o===`horizontal`?Ve:He,[x=[],ee]=y({prop:u,defaultProp:l,onChange:e=>{[..._.current][v.current]?.focus(),d(e)}}),S=A.useRef(x);function C(e){E(e,et(x,e))}function w(e){E(e,v.current)}function T(){let e=S.current[v.current];x[v.current]!==e&&f(x)}function E(e,t,{commit:n}={commit:!1}){let o=rt(a),s=ce(it(Math.round((e-r)/a)*a+r,o),[r,i]);ee((e=[])=>{let r=Qe(e,s,t);if(tt(r,c*a)){v.current=r.indexOf(s);let t=String(r)!==String(e);return t&&n&&f(r),t?r:e}else return e})}return(0,j.jsx)(ze,{scope:e.__scopeSlider,name:n,disabled:s,min:r,max:i,valueIndexToChangeRef:v,thumbs:_.current,values:x,orientation:o,form:m,children:(0,j.jsx)(N.Provider,{scope:e.__scopeSlider,children:(0,j.jsx)(N.Slot,{scope:e.__scopeSlider,children:(0,j.jsx)(b,{"aria-disabled":s,"data-disabled":s?``:void 0,...g,ref:t,onPointerDown:h(g.onPointerDown,()=>{s||(S.current=x)}),min:r,max:i,inverted:p,onSlideStart:s?void 0:C,onSlideMove:s?void 0:w,onSlideEnd:s?void 0:T,onHomeKeyDown:()=>!s&&E(r,0,{commit:!0}),onEndKeyDown:()=>!s&&E(i,x.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:t})=>{if(!s){let n=Me.includes(e.key)||e.shiftKey&&Ne.includes(e.key)?10:1,r=v.current,i=x[r];E(i+a*n*t,r,{commit:!0})}}})})})})});P.displayName=M;var[F,I]=Le(M,{startEdge:`left`,endEdge:`right`,size:`width`,direction:1}),Ve=A.forwardRef((e,t)=>{let{min:n,max:r,dir:i,inverted:a,onSlideStart:o,onSlideMove:s,onSlideEnd:c,onStepKeyDown:l,...u}=e,[d,f]=A.useState(null),p=S(t,e=>f(e)),m=A.useRef(void 0),h=se(i),g=h===`ltr`,_=g&&!a||!g&&a;function v(e){let t=m.current||d.getBoundingClientRect(),i=nt([0,t.width],_?[n,r]:[r,n]);return m.current=t,i(e-t.left)}return(0,j.jsx)(F,{scope:e.__scopeSlider,startEdge:_?`left`:`right`,endEdge:_?`right`:`left`,direction:_?1:-1,size:`width`,children:(0,j.jsx)(Ue,{dir:h,"data-orientation":`horizontal`,...u,ref:p,style:{...u.style,"--radix-slider-thumb-transform":`translateX(-50%)`},onSlideStart:e=>{let t=v(e.clientX);o?.(t)},onSlideMove:e=>{let t=v(e.clientX);s?.(t)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let t=Pe[_?`from-left`:`from-right`].includes(e.key);l?.({event:e,direction:t?-1:1})}})})}),He=A.forwardRef((e,t)=>{let{min:n,max:r,inverted:i,onSlideStart:a,onSlideMove:o,onSlideEnd:s,onStepKeyDown:c,...l}=e,u=A.useRef(null),d=S(t,u),f=A.useRef(void 0),p=!i;function m(e){let t=f.current||u.current.getBoundingClientRect(),i=nt([0,t.height],p?[r,n]:[n,r]);return f.current=t,i(e-t.top)}return(0,j.jsx)(F,{scope:e.__scopeSlider,startEdge:p?`bottom`:`top`,endEdge:p?`top`:`bottom`,size:`height`,direction:p?1:-1,children:(0,j.jsx)(Ue,{"data-orientation":`vertical`,...l,ref:d,style:{...l.style,"--radix-slider-thumb-transform":`translateY(50%)`},onSlideStart:e=>{let t=m(e.clientY);a?.(t)},onSlideMove:e=>{let t=m(e.clientY);o?.(t)},onSlideEnd:()=>{f.current=void 0,s?.()},onStepKeyDown:e=>{let t=Pe[p?`from-bottom`:`from-top`].includes(e.key);c?.({event:e,direction:t?-1:1})}})})}),Ue=A.forwardRef((e,t)=>{let{__scopeSlider:n,onSlideStart:r,onSlideMove:i,onSlideEnd:a,onHomeKeyDown:o,onEndKeyDown:s,onStepKeyDown:c,...l}=e,u=Be(M,n);return(0,j.jsx)(b.span,{...l,ref:t,onKeyDown:h(e.onKeyDown,e=>{e.key===`Home`?(o(e),e.preventDefault()):e.key===`End`?(s(e),e.preventDefault()):Me.concat(Ne).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:h(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(t)?t.focus():r(e)}),onPointerMove:h(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&i(e)}),onPointerUp:h(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),a(e))})})}),We=`SliderTrack`,Ge=A.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=Be(We,n);return(0,j.jsx)(b.span,{"data-disabled":i.disabled?``:void 0,"data-orientation":i.orientation,...r,ref:t})});Ge.displayName=We;var Ke=`SliderRange`,qe=A.forwardRef((e,t)=>{let{__scopeSlider:n,...r}=e,i=Be(Ke,n),a=I(Ke,n),o=S(t,A.useRef(null)),s=i.values.length,c=i.values.map(e=>R(e,i.min,i.max)),l=s>1?Math.min(...c):0,u=100-Math.max(...c);return(0,j.jsx)(b.span,{"data-orientation":i.orientation,"data-disabled":i.disabled?``:void 0,...r,ref:o,style:{...e.style,[a.startEdge]:l+`%`,[a.endEdge]:u+`%`}})});qe.displayName=Ke;var Je=`SliderThumb`,Ye=A.forwardRef((e,t)=>{let n=Fe(e.__scopeSlider),[r,i]=A.useState(null),a=S(t,e=>i(e)),o=A.useMemo(()=>r?n().findIndex(e=>e.ref.current===r):-1,[n,r]);return(0,j.jsx)(Xe,{...e,ref:a,index:o})}),Xe=A.forwardRef((e,t)=>{let{__scopeSlider:n,index:r,name:i,...a}=e,o=Be(Je,n),s=I(Je,n),[c,l]=A.useState(null),u=S(t,e=>l(e)),d=c?o.form||!!c.closest(`form`):!0,f=re(c),p=o.values[r],m=p===void 0?0:R(p,o.min,o.max),g=$e(r,o.values.length),_=f?.[s.size],v=_?z(_,m,s.direction):0;return A.useEffect(()=>{if(c)return o.thumbs.add(c),()=>{o.thumbs.delete(c)}},[c,o.thumbs]),(0,j.jsxs)(`span`,{style:{transform:`var(--radix-slider-thumb-transform)`,position:`absolute`,[s.startEdge]:`calc(${m}% + ${v}px)`},children:[(0,j.jsx)(N.ItemSlot,{scope:e.__scopeSlider,children:(0,j.jsx)(b.span,{role:`slider`,"aria-label":e[`aria-label`]||g,"aria-valuemin":o.min,"aria-valuenow":p,"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:u,style:p===void 0?{display:`none`}:e.style,onFocus:h(e.onFocus,()=>{o.valueIndexToChangeRef.current=r})})}),d&&(0,j.jsx)(L,{name:i??(o.name?o.name+(o.values.length>1?`[]`:``):void 0),form:o.form,value:p},r)]})});Ye.displayName=Je;var Ze=`RadioBubbleInput`,L=A.forwardRef(({__scopeSlider:e,value:t,...n},r)=>{let i=A.useRef(null),a=S(i,r),o=de(t);return A.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,j.jsx)(b.input,{style:{display:`none`},...n,ref:a,defaultValue:t})});L.displayName=Ze;function Qe(e=[],t,n){let r=[...e];return r[n]=t,r.sort((e,t)=>e-t)}function R(e,t,n){return ce(100/(n-t)*(e-t),[0,100])}function $e(e,t){if(t>2)return`Value ${e+1} of ${t}`;if(t===2)return[`Minimum`,`Maximum`][e]}function et(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 z(e,t,n){let r=e/2;return(r-nt([0,50],[0,r])(t)*n)*n}function B(e){return e.slice(0,-1).map((t,n)=>e[n+1]-t)}function tt(e,t){if(t>0){let n=B(e);return Math.min(...n)>=t}return!0}function nt(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 rt(e){return(String(e).split(`.`)[1]||``).length}function it(e,t){let n=10**t;return Math.round(e*n)/n}var at=P,ot=Ge,st=qe,ct=Ye,lt=A.forwardRef((e,t)=>{let n=(0,je.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]=A.useState(!1),[c,l]=A.useState(!1),u,d;n[4]===c?(u=n[5],d=n[6]):(u=()=>{if(!c)return;let e=function(){l(!1)};return document.addEventListener(`pointerup`,e),()=>{document.removeEventListener(`pointerup`,e)}},d=[c],n[4]=c,n[5]=u,n[6]=d),A.useEffect(u,d);let f;n[7]===a?f=n[8]:(f=(0,j.jsx)(ct,{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]=f);let p=f,m;n[9]===r?m=n[10]:(m=C(`relative flex w-full touch-none select-none items-center`,r),n[9]=r,n[10]=m);let h;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,j.jsx)(ot,{className:`relative h-2 w-full grow overflow-hidden rounded-full bg-secondary`,children:(0,j.jsx)(st,{className:`absolute h-full bg-primary`})}),n[11]=h):h=n[11];let g;n[12]!==c||n[13]!==o||n[14]!==p||n[15]!==a?(g=a==null?p:(0,j.jsxs)(oe,{open:o||c,onOpenChange:s,children:[(0,j.jsx)(ie,{asChild:!0,children:p}),(0,j.jsx)(ae,{side:`top`,children:a})]}),n[12]=c,n[13]=o,n[14]=p,n[15]=a,n[16]=g):g=n[16];let _;return n[17]!==i||n[18]!==t||n[19]!==m||n[20]!==g?(_=(0,j.jsxs)(at,{ref:t,className:m,...i,children:[h,g]}),n[17]=i,n[18]=t,n[19]=m,n[20]=g,n[21]=_):_=n[21],_});lt.displayName=at.displayName;var ut=a(`app.use-maximum-turn-count.hook`),dt=100;function ft(){let[e,t]=(0,A.useState)(dt),[n,r]=(0,A.useState)(dt.toString()),[i,a]=(0,A.useState)(!0),[o,s]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=!1;async function n(){try{let n=await T();e||(t(n.maximumTurnCount),r(n.maximumTurnCount.toString()))}catch(e){ut.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 E({maximumTurnCount:e});t(n.maximumTurnCount),r(n.maximumTurnCount.toString())}catch(e){throw ut.error(`Failed to update maximum turn count:`,e),e}finally{s(!1)}}function u(){r(e.toString())}return{defaultMaximumTurnCount:dt,draftMaximumTurnCount:n,isLoading:i,isSaving:o,maximumTurnCount:e,resetDraftMaximumTurnCount:u,setDraftMaximumTurnCount:c,updateMaximumTurnCount:l}}var pt=a(`app.use-screen-recording-permission.hook`),mt={isMacOS:!1,granted:!1,available:!1,message:``};function ht(){return{...mt,isMacOS:Ae()}}function gt(){let[e,t]=(0,A.useState)(ht),[n,r]=(0,A.useState)(!0),[i,a]=(0,A.useState)(null),[o,s]=(0,A.useState)(!1),[c,l]=(0,A.useState)(null),u=(0,A.useCallback)(async()=>{r(!0),a(null);try{t(await ne(`api/system-permissions/screen-recording`))}catch(e){a(e instanceof Error?e.message:`Failed to check screen recording permission`),t(e=>({...mt,isMacOS:e?.isMacOS??Ae(),message:`Unable to check permission status.`}))}finally{r(!1)}},[]);return(0,A.useEffect)(()=>{u()},[u]),{status:e,isLoading:n,error:i,isOpeningSettings:o,openSettingsError:c,refresh:u,openSystemSettings:(0,A.useCallback)(async()=>{s(!0),l(null);try{let e=await te(`api/system-permissions/screen-recording/open-settings`,{});if(!e.success){let t=e.message||`Failed to open System Settings`;pt.error(`[useScreenRecordingPermission] ${t}`,e.error),l(t)}}catch(e){let t=e instanceof Error?e.message:`Failed to open System Settings`;pt.error(`[useScreenRecordingPermission] Error opening System Settings:`,e),l(t)}finally{s(!1)}},[])}}var _t=a(`app.use-server-bind-mode.hook`),vt=`local`,yt=`tarsk-server-bind-mode-changed`;function bt(e){D(e)}function xt(){if(typeof window>`u`)return!1;try{return sessionStorage.getItem(yt)===`true`}catch{return!1}}function St(e){if(!(typeof window>`u`))try{e?sessionStorage.setItem(yt,`true`):sessionStorage.removeItem(yt)}catch{}}function Ct(){let[e,t]=(0,A.useState)(()=>O()?.serverBindMode??vt),[n,r]=(0,A.useState)(null),[i,a]=(0,A.useState)(()=>O()?.networkAddresses??[]),[o,s]=(0,A.useState)(()=>O()===null),[c,l]=(0,A.useState)(!1),[u,d]=(0,A.useState)(xt);(0,A.useEffect)(()=>{let e=!1;async function n(){try{let n=await T();e||(t(n.serverBindMode),r(n.serverBindMode),a(n.networkAddresses),bt({networkAddresses:n.networkAddresses,serverBindMode:n.serverBindMode}))}catch(e){_t.error(`Failed to load server bind mode:`,e)}finally{e||s(!1)}}return n(),()=>{e=!0}},[]);async function f(e){l(!0);try{let n=await E({serverBindMode:e});t(n.serverBindMode),a(n.networkAddresses),bt({networkAddresses:n.networkAddresses,serverBindMode:n.serverBindMode}),d(!0),St(!0)}catch(e){throw _t.error(`Failed to update server bind mode:`,e),e}finally{l(!1)}}let p=n!==null&&e!==n;return{defaultServerBindMode:vt,hasServerBindModeChanged:p,isLoading:o,isSaving:c,needsRestart:p||u,networkAddresses:i,serverBindMode:e,updateServerBindMode:f}}var wt=a(`app.use-logging.hook`);function Tt(){let[e,t]=(0,A.useState)(!1),[n,r]=(0,A.useState)(null),[i,a]=(0,A.useState)(!1),[o,s]=(0,A.useState)(null),[c,l]=(0,A.useState)(!0),[u,d]=(0,A.useState)(!1);(0,A.useEffect)(()=>{let e=!1;async function n(){try{let n=await T();e||(t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost))}catch(e){wt.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 E({loggingEnabled:e});t(n.loggingEnabled),r(n.fileLoggingPath),a(n.betterStackEnvConfigured),s(n.betterStackIngestingHost)}catch(e){throw wt.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 Et=Object.defineProperty,V=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,Dt=(e,t,n)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ot=(e,t)=>{for(var n in t||={})H.call(t,n)&&Dt(e,n,t[n]);if(V)for(var n of V(t))U.call(t,n)&&Dt(e,n,t[n]);return e},W=(e,t)=>{var n={};for(var r in e)H.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&V)for(var r of V(e))t.indexOf(r)<0&&U.call(e,r)&&(n[r]=e[r]);return n},G;(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})(G||={}),(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||={})})(G||={}),(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||={})})(G||={});var K=G,kt={L:K.QrCode.Ecc.LOW,M:K.QrCode.Ecc.MEDIUM,Q:K.QrCode.Ecc.QUARTILE,H:K.QrCode.Ecc.HIGH},At=128,q=`L`,J=`#FFFFFF`,Y=`#000000`,X=!1,Z=1,jt=4,Mt=0,Nt=.1;function Q(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 $(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function Pt(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Nt),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function Ft(e,t){return t==null?e?jt:Mt:Math.max(Math.floor(t),0)}function It({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=A.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...K.QrSegment.makeSegments(t)),e),[]);return K.QrCode.encodeSegments(r,kt[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=A.useMemo(()=>{let e=c.getModules(),t=Ft(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:Pt(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var Lt=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),Rt=A.forwardRef(function(e,t){let n=e,{value:r,size:i=At,level:a=q,bgColor:o=J,fgColor:s=Y,includeMargin:c=X,minVersion:l=Z,boostLevel:u,marginSize:d,imageSettings:f}=n,p=W(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=W(p,[`style`]),g=f?.src,_=A.useRef(null),v=A.useRef(null),y=A.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=A.useState(!1),{margin:ee,cells:S,numCells:C,calculatedImageSettings:w}=It({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});A.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=S,r=v.current,a=w!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&w.excavation!=null&&(n=$(S,w.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/C*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,C,C),t.fillStyle=s,Lt?t.fill(new Path2D(Q(n,ee))):S.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+ee,n+ee,1,1)})}),w&&(t.globalAlpha=w.opacity),a&&t.drawImage(r,w.x+ee,w.y+ee,w.w,w.h)}}),A.useEffect(()=>{x(!1)},[g]);let T=Ot({height:i,width:i},m),E=null;return g!=null&&(E=A.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:w?.crossOrigin})),A.createElement(A.Fragment,null,A.createElement(`canvas`,Ot({style:T,height:i,width:i,ref:y,role:`img`},h)),E)});Rt.displayName=`QRCodeCanvas`;var zt=A.forwardRef(function(e,t){let n=e,{value:r,size:i=At,level:a=q,bgColor:o=J,fgColor:s=Y,includeMargin:c=X,minVersion:l=Z,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=W(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=It({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=$(g,v.excavation)),b=A.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=Q(y,h);return A.createElement(`svg`,Ot({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&A.createElement(`title`,null,d),A.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),A.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});zt.displayName=`QRCodeSVG`;var Bt=[{value:`light`,label:`Light`,icon:c},{value:`dark`,label:`Dark`,icon:v},{value:`system`,label:`System`,icon:l}],Vt=[{value:`image`,label:`Image`,icon:u},{value:`background`,label:`Background`,icon:p}],Ht=`flex h-7 w-7 min-h-0 min-w-0 items-center justify-center rounded-full border-0 bg-background p-0 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm hover:bg-background hover:text-muted-foreground data-[state=on]:hover:bg-foreground data-[state=on]:hover:text-background`,Ut=`inline-flex h-auto w-fit justify-start rounded-full border-0 bg-background p-1 text-muted-foreground`,Wt=[`462`,`8100`].includes(typeof document<`u`?document.location.port:``)?`462`:`641`,Gt=600;function Kt(e){let t=(0,je.c)(224),{onboardingResetSignal:n}=e,r=n===void 0?0:n,[a,c]=(0,A.useState)(!1),{theme:l,setTheme:u}=ve(),{scale:p,updateScale:h,min:_,max:v}=we(),{opacity:y,updateOpacity:b,min:S,max:T}=Ce(),{mode:E,color:te,updateMode:D,updateColor:ne}=ye(),{color:O,updateColor:re,resetColor:se}=Te(),{defaultMaximumTurnCount:ce,draftMaximumTurnCount:le,isLoading:de,isSaving:Ae,resetDraftMaximumTurnCount:Me,setDraftMaximumTurnCount:Ne,updateMaximumTurnCount:Pe}=ft(),{status:M,isLoading:N,isOpeningSettings:Fe,openSettingsError:Ie,refresh:Le,openSystemSettings:Re}=gt(),{isLoading:ze,isSaving:Be,needsRestart:P,networkAddresses:F,serverBindMode:I,updateServerBindMode:Ve}=Ct(),{isEnabled:He,isLoading:Ue,isSaving:We,updateIsEnabled:Ge}=xe(),{isEnabled:Ke,isLoading:qe,isSaving:Je,updateIsEnabled:Ye}=pe(),{isEnabled:Xe,isSupported:Ze,isHealthy:L,statusMessage:Qe,isLoading:R,isSaving:$e,updateIsEnabled:et}=be(),{isEnabled:z,logPath:B,isEnvConfigured:tt,ingestingHost:nt,isLoading:rt,isSaving:it,updateIsEnabled:at}=Tt(),ot;t[0]!==rt||t[1]!==de||t[2]!==N||t[3]!==R||t[4]!==ze||t[5]!==qe||t[6]!==Ue?(ot=[de,N,ze,Ue,qe,R,rt],t[0]=rt,t[1]=de,t[2]=N,t[3]=R,t[4]=ze,t[5]=qe,t[6]=Ue,t[7]=ot):ot=t[7];let st=ke(`general`,ot),ct,ut;t[8]===r?(ct=t[9],ut=t[10]):(ct=()=>{if(r===0)return;c(!0);let e=setTimeout(()=>{c(!1)},Gt);return()=>{clearTimeout(e)}},ut=[r],t[8]=r,t[9]=ct,t[10]=ut),(0,A.useEffect)(ct,ut);let dt;t[11]===Ne?dt=t[12]:(dt=function(e){Ne(e.target.value)},t[11]=Ne,t[12]=dt);let pt=dt,mt;t[13]!==ce||t[14]!==le||t[15]!==Me||t[16]!==Pe?(mt=async function(){let e=Number.parseInt(le,10),t=Number.isFinite(e)&&e>0?e:ce;try{await Pe(t)}catch{Me()}},t[13]=ce,t[14]=le,t[15]=Me,t[16]=Pe,t[17]=mt):mt=t[17];let ht=mt,_t;t[18]===h?_t=t[19]:(_t=function(e){e.length>0&&h(e[0])},t[18]=h,t[19]=_t);let vt=_t,yt;t[20]===b?yt=t[21]:(yt=function(e){e.length>0&&b(e[0])},t[20]=b,t[21]=yt);let bt=yt,xt;t[22]===B?xt=t[23]:(xt=async function(){if(B)try{await navigator.clipboard.writeText(B),ue({title:`Copied`,description:`Log file path copied to clipboard.`})}catch(e){let t=e;ue({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the log file path.`,variant:`destructive`})}},t[22]=B,t[23]=xt);let St=xt,[wt,Et]=(0,A.useState)(!1),V,H,U;t[24]!==F||t[25]!==I?(V=async function(){if(H)try{await navigator.clipboard.writeText(H),Et(!0),ue({title:`Copied`,description:`Network URL copied to clipboard.`}),window.setTimeout(()=>{Et(!1)},1500)}catch(e){let t=e;ue({title:`Copy failed`,description:t instanceof Error?t.message:`Could not copy the network URL.`,variant:`destructive`})}},U=I===`network`&&F.length>0,H=U?`http://${F[0]}:${Wt}`:null,t[24]=F,t[25]=I,t[26]=V,t[27]=H,t[28]=U):(V=t[26],H=t[27],U=t[28]);let Dt=U&&H,Ot=a&&`animate-headline-reset`,W;t[29]===Ot?W=t[30]:(W=C(Ot),t[29]=Ot,t[30]=W);let G;t[31]===W?G=t[32]:(G=(0,j.jsx)(Se,{title:`Appearance`,titleClassName:W,className:`[&>div:first-child]:py-2`,sticky:!1}),t[31]=W,t[32]=G);let K;t[33]===_?K=t[34]:(K=(0,j.jsxs)(`span`,{className:`${i.bodyMuted} w-8 shrink-0 text-right`,children:[_,`%`]}),t[33]=_,t[34]=K);let kt;t[35]===p?kt=t[36]:(kt=[p],t[35]=p,t[36]=kt);let At=`${p}%`,q;t[37]!==vt||t[38]!==v||t[39]!==_||t[40]!==kt||t[41]!==At?(q=(0,j.jsx)(lt,{value:kt,min:_,max:v,step:5,onValueChange:vt,"aria-label":`Font size`,valueTooltip:At}),t[37]=vt,t[38]=v,t[39]=_,t[40]=kt,t[41]=At,t[42]=q):q=t[42];let J;t[43]===v?J=t[44]:(J=(0,j.jsxs)(`span`,{className:`${i.bodyMuted} w-9 shrink-0`,children:[v,`%`]}),t[43]=v,t[44]=J);let Y;t[45]!==K||t[46]!==q||t[47]!==J?(Y=(0,j.jsx)(k,{title:`Font Size`,description:`Adjust the text size across the entire application.`,children:(0,j.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[K,q,J]})}),t[45]=K,t[46]=q,t[47]=J,t[48]=Y):Y=t[48];let X;t[49]===S?X=t[50]:(X=(0,j.jsxs)(`span`,{className:`${i.bodyMuted} w-8 shrink-0 text-right`,children:[S,`%`]}),t[49]=S,t[50]=X);let Z;t[51]===y?Z=t[52]:(Z=[y],t[51]=y,t[52]=Z);let jt=`${y}%`,Mt;t[53]!==T||t[54]!==S||t[55]!==bt||t[56]!==Z||t[57]!==jt?(Mt=(0,j.jsx)(lt,{value:Z,min:S,max:T,step:5,onValueChange:bt,"aria-label":`Panel opacity`,valueTooltip:jt}),t[53]=T,t[54]=S,t[55]=bt,t[56]=Z,t[57]=jt,t[58]=Mt):Mt=t[58];let Nt;t[59]===T?Nt=t[60]:(Nt=(0,j.jsxs)(`span`,{className:`${i.bodyMuted} w-9 shrink-0`,children:[T,`%`]}),t[59]=T,t[60]=Nt);let Q;t[61]!==X||t[62]!==Mt||t[63]!==Nt?(Q=(0,j.jsx)(k,{title:`Panel Opacity`,description:`Adjust how opaque the frosted panels are over the wallpaper.`,children:(0,j.jsxs)(`div`,{className:`ml-auto flex w-1/2 items-center gap-3`,children:[X,Mt,Nt]})}),t[61]=X,t[62]=Mt,t[63]=Nt,t[64]=Q):Q=t[64];let $;t[65]===u?$=t[66]:($=e=>{(e===`light`||e===`dark`||e===`system`)&&u(e)},t[65]=u,t[66]=$);let Pt;t[67]===Symbol.for(`react.memo_cache_sentinel`)?(Pt=Bt.map(Yt),t[67]=Pt):Pt=t[67];let Ft;t[68]!==$||t[69]!==l?(Ft=(0,j.jsx)(k,{title:`Appearance`,description:`Choose your preferred color scheme.`,controlLayout:`row-end`,action:(0,j.jsx)(Oe,{type:`single`,value:l,onValueChange:$,"aria-label":`Appearance`,className:Ut,children:Pt})}),t[68]=$,t[69]=l,t[70]=Ft):Ft=t[70];let It;t[71]===D?It=t[72]:(It=e=>{(e===`image`||e===`background`||e===`color`)&&D(e)},t[71]=D,t[72]=It);let Lt;t[73]===Symbol.for(`react.memo_cache_sentinel`)?(Lt=Vt.map(Jt),t[73]=Lt):Lt=t[73];let Rt;t[74]===Symbol.for(`react.memo_cache_sentinel`)?(Rt=C(Ht,`relative overflow-hidden`),t[74]=Rt):Rt=t[74];let Kt;t[75]===te?Kt=t[76]:(Kt=(0,j.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:te},"aria-hidden":`true`}),t[75]=te,t[76]=Kt);let Xt;t[77]===D?Xt=t[78]:(Xt=()=>{D(`color`)},t[77]=D,t[78]=Xt);let Zt;t[79]!==ne||t[80]!==D?(Zt=e=>{ne(e.target.value),D(`color`)},t[79]=ne,t[80]=D,t[81]=Zt):Zt=t[81];let Qt;t[82]!==Xt||t[83]!==Zt||t[84]!==te?(Qt=(0,j.jsx)(`input`,{type:`color`,value:te,"aria-label":`Choose wallpaper color`,className:`absolute inset-0 cursor-pointer opacity-0`,onPointerDown:Xt,onChange:Zt}),t[82]=Xt,t[83]=Zt,t[84]=te,t[85]=Qt):Qt=t[85];let $t;t[86]!==Kt||t[87]!==Qt?($t=(0,j.jsxs)(De,{value:`color`,"aria-label":`Custom color`,className:Rt,children:[Kt,Qt]}),t[86]=Kt,t[87]=Qt,t[88]=$t):$t=t[88];let en;t[89]!==It||t[90]!==$t||t[91]!==E?(en=(0,j.jsx)(k,{title:`Wallpaper`,description:`Choose a scenic image, the theme background, or a custom color.`,controlLayout:`row-end`,action:(0,j.jsxs)(Oe,{type:`single`,value:E,onValueChange:It,"aria-label":`Wallpaper`,className:Ut,children:[Lt,$t]})}),t[89]=It,t[90]=$t,t[91]=E,t[92]=en):en=t[92];let tn;t[93]===Symbol.for(`react.memo_cache_sentinel`)?(tn=C(Ht,`relative cursor-pointer overflow-hidden`),t[93]=tn):tn=t[93];let nn;t[94]===O?nn=t[95]:(nn=(0,j.jsx)(`span`,{className:`pointer-events-none h-4 w-4 rounded-full border border-black/25 dark:border-white/25`,style:{backgroundColor:O},"aria-hidden":`true`}),t[94]=O,t[95]=nn);let rn;t[96]===re?rn=t[97]:(rn=e=>{re(e.target.value)},t[96]=re,t[97]=rn);let an;t[98]!==O||t[99]!==rn?(an=(0,j.jsx)(`input`,{type:`color`,value:O,"aria-label":`Primary color`,className:`absolute inset-0 cursor-pointer opacity-0`,onChange:rn}),t[98]=O,t[99]=rn,t[100]=an):an=t[100];let on;t[101]!==nn||t[102]!==an?(on=(0,j.jsx)(`div`,{className:Ut,children:(0,j.jsxs)(`label`,{className:tn,children:[nn,an]})}),t[101]=nn,t[102]=an,t[103]=on):on=t[103];let sn;t[104]!==se||t[105]!==on?(sn=(0,j.jsx)(k,{title:`Primary Color`,description:`Choose the primary accent color used across the app. Click the label to reset to default.`,controlLayout:`row-end`,onTitleClick:se,action:on}),t[104]=se,t[105]=on,t[106]=sn):sn=t[106];let cn;t[107]!==Y||t[108]!==Q||t[109]!==Ft||t[110]!==en||t[111]!==sn?(cn=(0,j.jsx)(ge,{className:`max-w-none pt-0`,children:(0,j.jsxs)(me,{children:[Y,Q,Ft,en,sn]})}),t[107]=Y,t[108]=Q,t[109]=Ft,t[110]=en,t[111]=sn,t[112]=cn):cn=t[112];let ln;t[113]!==G||t[114]!==cn?(ln=(0,j.jsxs)(fe,{className:`shrink-0`,children:[G,cn]}),t[113]=G,t[114]=cn,t[115]=ln):ln=t[115];let un;t[116]===Symbol.for(`react.memo_cache_sentinel`)?(un=(0,j.jsx)(Se,{title:`Settings`,className:`[&>div:first-child]:py-2`,sticky:!1}),t[116]=un):un=t[116];let dn=`Set how many turns a long-running agent chat can take before Tarsk asks whether to continue. Default: ${ce} turns.`,fn;t[117]===ht?fn=t[118]:(fn=()=>{ht()},t[117]=ht,t[118]=fn);let pn=de||Ae,mn;t[119]!==le||t[120]!==pt||t[121]!==fn||t[122]!==pn?(mn=(0,j.jsx)(he,{type:`number`,min:1,step:1,value:le,onChange:pt,onBlur:fn,disabled:pn,"aria-label":`Maximum turn count`,className:`w-28 text-right font-mono tabular-nums flex-shrink-0`}),t[119]=le,t[120]=pt,t[121]=fn,t[122]=pn,t[123]=mn):mn=t[123];let hn;t[124]!==dn||t[125]!==mn?(hn=(0,j.jsx)(k,{title:`Maximum Turn Count`,description:dn,controlLayout:`row-end`,action:mn}),t[124]=dn,t[125]=mn,t[126]=hn):hn=t[126];let gn;t[127]===Ge?gn=t[128]:(gn=e=>{Ge(e)},t[127]=Ge,t[128]=gn);let _n=Ue||We,vn;t[129]!==gn||t[130]!==_n||t[131]!==He?(vn=(0,j.jsx)(k,{title:`AI Voice Cleanup`,description:`After stopping voice recording, run the transcription through AI to remove filler words, false starts, and repetitions.`,controlLayout:`row-end`,action:(0,j.jsx)(Ee,{value:He,onChange:gn,disabled:_n,ariaLabel:`AI Voice Cleanup`})}),t[129]=gn,t[130]=_n,t[131]=He,t[132]=vn):vn=t[132];let yn;t[133]===Ye?yn=t[134]:(yn=e=>{Ye(e)},t[133]=Ye,t[134]=yn);let bn=qe||Je,xn;t[135]!==Ke||t[136]!==yn||t[137]!==bn?(xn=(0,j.jsx)(k,{title:`Spend`,description:`Show an estimated spend counter in the chat header.`,controlLayout:`row-end`,action:(0,j.jsx)(Ee,{value:Ke,onChange:yn,disabled:bn,ariaLabel:`Spend`})}),t[135]=Ke,t[136]=yn,t[137]=bn,t[138]=xn):xn=t[138];let Sn;t[139]!==Fe||t[140]!==N||t[141]!==Re||t[142]!==Le||t[143]!==Ie||t[144]!==M?.granted||t[145]!==M?.isMacOS||t[146]!==M?.message?(Sn=M?.isMacOS&&(0,j.jsx)(k,{title:`Screen & Audio Recording`,description:`Tarsk needs this macOS permission to capture screen content for browser tools and screen sharing features.`,controlLayout:`row-end`,action:(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[!N&&M?.granted?(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(x,{className:`h-4 w-4 text-green-500`}),(0,j.jsx)(`span`,{className:C(i.body,`text-green-600 dark:text-green-400`),children:`Permission granted`})]}):N?null:(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsx)(d,{className:`h-4 w-4 text-amber-500`}),(0,j.jsx)(`span`,{className:C(i.body,`text-amber-600 dark:text-amber-400`),children:`Permission not granted`})]}),(0,j.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:()=>void Le(),disabled:N,children:[N?(0,j.jsx)(s,{className:`h-3.5 w-3.5 animate-spin`}):(0,j.jsx)(m,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Refresh permission status`})]})]}),children:!N&&!M?.granted?(0,j.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,j.jsx)(`p`,{className:i.bodyMuted,children:M?.message??`Tarsk needs Screen & Audio Recording permission to use browser tools.`}),(0,j.jsx)(w,{size:`sm`,onClick:()=>void Re(),disabled:Fe,className:`w-fit`,children:Fe?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(s,{className:`h-4 w-4 mr-2 animate-spin`}),`Opening Settings...`]}):(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(g,{className:`h-4 w-4 mr-2`}),`Open System Settings`]})}),Ie&&(0,j.jsxs)(`div`,{className:`flex items-start gap-2 p-3 rounded-md bg-destructive/10 text-destructive`,children:[(0,j.jsx)(f,{className:`h-4 w-4 mt-0.5 flex-shrink-0`}),(0,j.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,j.jsx)(`p`,{className:i.body,children:`Failed to open System Settings`}),(0,j.jsx)(`p`,{className:i.bodyMuted,children:Ie}),(0,j.jsxs)(`p`,{className:i.bodyMuted,children:[`Please open it manually:`,` `,(0,j.jsx)(`strong`,{children:`System Settings > Privacy & Security > Screen & System Audio Recording`})]})]})]})]}):null}),t[139]=Fe,t[140]=N,t[141]=Re,t[142]=Le,t[143]=Ie,t[144]=M?.granted,t[145]=M?.isMacOS,t[146]=M?.message,t[147]=Sn):Sn=t[147];let Cn;t[148]!==R||t[149]!==$e||t[150]!==Xe||t[151]!==L||t[152]!==Qe||t[153]!==Ze||t[154]!==et?(Cn=Ze&&(0,j.jsx)(k,{title:`Sandbox`,description:`Sandbox tools like bash and skill script execution to allow running and testing code safely without risking your system, files, or data.`,controlLayout:`row-end`,action:(0,j.jsx)(Ee,{value:Xe&&L,onChange:e=>{e&&!L||et(e).catch(qt)},disabled:R||$e,disableOn:!L,ariaLabel:`Sandbox`}),children:!R&&!L?(0,j.jsxs)(`div`,{className:`flex items-start gap-2 text-destructive`,children:[(0,j.jsx)(d,{className:`h-4 w-4 mt-0.5 shrink-0`}),(0,j.jsx)(`p`,{className:i.bodyMuted,children:Qe||`Seatbelt sandbox failed its health check and cannot be enabled.`})]}):null}),t[148]=R,t[149]=$e,t[150]=Xe,t[151]=L,t[152]=Qe,t[153]=Ze,t[154]=et,t[155]=Cn):Cn=t[155];let wn;t[156]===at?wn=t[157]:(wn=e=>{at(e)},t[156]=at,t[157]=wn);let Tn=rt||it,En;t[158]!==z||t[159]!==wn||t[160]!==Tn?(En=(0,j.jsx)(ie,{asChild:!0,children:(0,j.jsx)(`span`,{className:`inline-flex`,children:(0,j.jsx)(Ee,{value:z,onChange:wn,disabled:Tn,ariaLabel:`Logging`})})}),t[158]=z,t[159]=wn,t[160]=Tn,t[161]=En):En=t[161];let Dn=z&&B?`max-w-sm cursor-pointer`:`max-w-sm`,On;t[162]!==St||t[163]!==z||t[164]!==B?(On=z&&B?()=>void St():void 0,t[162]=St,t[163]=z,t[164]=B,t[165]=On):On=t[165];let kn;t[166]!==z||t[167]!==B?(kn=z&&B?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(`p`,{children:`Click to copy log file path`}),(0,j.jsx)(`p`,{className:C(i.mono,`mt-1 break-all`),children:B})]}):(0,j.jsx)(`p`,{children:`Enable logging to write to a local file.`}),t[166]=z,t[167]=B,t[168]=kn):kn=t[168];let An;t[169]!==Dn||t[170]!==On||t[171]!==kn?(An=(0,j.jsx)(ae,{className:Dn,onClick:On,children:kn}),t[169]=Dn,t[170]=On,t[171]=kn,t[172]=An):An=t[172];let jn;t[173]!==En||t[174]!==An?(jn=(0,j.jsxs)(oe,{children:[En,An]}),t[173]=En,t[174]=An,t[175]=jn):jn=t[175];let Mn;t[176]!==nt||t[177]!==tt||t[178]!==z?(Mn=z&&tt&&nt&&(0,j.jsxs)(`p`,{className:`${i.bodyMuted} mt-3`,children:[`Also sending logs to Better Stack at`,` `,(0,j.jsx)(`span`,{className:i.mono,children:nt})]}),t[176]=nt,t[177]=tt,t[178]=z,t[179]=Mn):Mn=t[179];let Nn;t[180]!==jn||t[181]!==Mn?(Nn=(0,j.jsx)(k,{title:`Logging`,description:`Write verbose application logs to a local file. When Better Stack environment variables are configured, logs are sent there too.`,controlLayout:`row-end`,action:jn,children:Mn}),t[180]=jn,t[181]=Mn,t[182]=Nn):Nn=t[182];let Pn=I===`network`,Fn;t[183]===Ve?Fn=t[184]:(Fn=e=>{Ve(e?`network`:`local`)},t[183]=Ve,t[184]=Fn);let In=ze||Be,Ln;t[185]!==Pn||t[186]!==Fn||t[187]!==In?(Ln=(0,j.jsx)(Ee,{value:Pn,onChange:Fn,disabled:In,ariaLabel:`Mobile & Network Access`}),t[185]=Pn,t[186]=Fn,t[187]=In,t[188]=Ln):Ln=t[188];let Rn;t[189]!==wt||t[190]!==V||t[191]!==H||t[192]!==P||t[193]!==U?(Rn=U&&H&&(0,j.jsxs)(`div`,{className:`mt-3`,children:[(0,j.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,j.jsxs)(`p`,{className:i.bodyMuted,children:[`Available on the network at:`,` `,(0,j.jsx)(`span`,{className:i.mono,children:H})]}),(0,j.jsxs)(oe,{children:[(0,j.jsx)(ie,{asChild:!0,children:(0,j.jsxs)(`button`,{type:`button`,onClick:()=>void V(),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:[wt?(0,j.jsx)(o,{className:`h-3.5 w-3.5 text-green-500`}):(0,j.jsx)(ee,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy network URL`})]})}),(0,j.jsx)(ae,{children:wt?`Copied!`:`Copy to clipboard`})]})]}),P&&(0,j.jsx)(`p`,{className:`${i.bodyMuted} mt-1`,children:`You will need to restart for this setting to take effect.`})]}),t[189]=wt,t[190]=V,t[191]=H,t[192]=P,t[193]=U,t[194]=Rn):Rn=t[194];let zn;t[195]!==F||t[196]!==I?(zn=I===`network`&&F.length===0&&(0,j.jsx)(`p`,{className:`${i.bodyMuted} mt-3`,children:`No network IP addresses were detected on this computer.`}),t[195]=F,t[196]=I,t[197]=zn):zn=t[197];let Bn;t[198]!==P||t[199]!==I?(Bn=P&&I===`local`&&(0,j.jsx)(`p`,{className:`${i.bodyMuted} mt-3`,children:`You will need to restart for this setting to take effect.`}),t[198]=P,t[199]=I,t[200]=Bn):Bn=t[200];let Vn;t[201]!==Ln||t[202]!==Rn||t[203]!==zn||t[204]!==Bn?(Vn=(0,j.jsxs)(k,{title:`Mobile & Network Access`,description:`Allow the Tarsk mobile app or other web browsers to access Tarsk on the wifi network.`,controlLayout:`row-end`,action:Ln,children:[Rn,zn,Bn]}),t[201]=Ln,t[202]=Rn,t[203]=zn,t[204]=Bn,t[205]=Vn):Vn=t[205];let Hn;t[206]!==hn||t[207]!==vn||t[208]!==xn||t[209]!==Sn||t[210]!==Cn||t[211]!==Nn||t[212]!==Vn?(Hn=(0,j.jsxs)(fe,{className:`shrink-0`,children:[un,(0,j.jsx)(ge,{className:`max-w-none pt-0`,children:(0,j.jsxs)(me,{children:[hn,vn,xn,Sn,Cn,Nn,Vn]})})]}),t[206]=hn,t[207]=vn,t[208]=xn,t[209]=Sn,t[210]=Cn,t[211]=Nn,t[212]=Vn,t[213]=Hn):Hn=t[213];let Un;t[214]!==H||t[215]!==Dt?(Un=Dt?(0,j.jsxs)(fe,{className:`shrink-0`,children:[(0,j.jsx)(Se,{title:`Mobile App`,description:`Scan this code with the Tarsk mobile app to connect on your Wi-Fi network.`,sticky:!1}),(0,j.jsx)(`div`,{className:`flex flex-col items-center px-6 pb-6 pt-6`,children:(0,j.jsx)(`div`,{className:`rounded-lg bg-background p-3`,children:(0,j.jsx)(zt,{value:H,size:128,bgColor:`hsl(var(--background))`,fgColor:`hsl(var(--foreground))`,level:`M`})})})]}):null,t[214]=H,t[215]=Dt,t[216]=Un):Un=t[216];let Wn;t[217]!==ln||t[218]!==Hn||t[219]!==Un?(Wn=(0,j.jsxs)(`div`,{className:`divide-y divide-table-border [&>*]:rounded-none`,children:[ln,Hn,Un]}),t[217]=ln,t[218]=Hn,t[219]=Un,t[220]=Wn):Wn=t[220];let Gn;return t[221]!==st||t[222]!==Wn?(Gn=(0,j.jsx)(_e,{loading:st,children:Wn}),t[221]=st,t[222]=Wn,t[223]=Gn):Gn=t[223],Gn}function qt(){}function Jt(e){let t=e.icon;return(0,j.jsx)(De,{value:e.value,"aria-label":e.label,className:Ht,children:(0,j.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}function Yt(e){let t=e.icon;return(0,j.jsx)(De,{value:e.value,"aria-label":e.label,className:Ht,children:(0,j.jsx)(t,{className:`h-4 w-4`,"aria-hidden":`true`})},e.value)}export{Kt as default};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{l as i}from"./chunk-QFMPRPBF-COsSkB7x.js";import{S as a,at as o,v as s,y as c}from"./dist-ZlK7I-y-.js";import{An as l,Et as u,yn as d}from"./dist-DIjomljy.js";import{t as f}from"./utils-CT-Dw22R.js";import{t as p}from"./button-sfGyFWfz.js";import{On as m,Sr as h,d as g}from"./api-ODizoHnY.js";import{i as _,n as v,r as y,t as b}from"./tooltip-B6ziVyTv.js";import{r as x}from"./scroll-area-nbNFO91g.js";import{t as S}from"./use-toast-xpb5jNtN.js";import{Ft as C,Ln as w,kn as T,mn as E}from"./index-Bmkj1Qwa.js";import{n as D,t as O}from"./toggle-group-BiUqOiP6.js";var k=t(),A=e(n(),1),j=r(),M=1e3,N=[c.INFO,c.WARN,c.ERROR],P=[...N],ee=`inline-flex h-11 shrink-0 rounded-full border bg-muted/40 p-2`,te=f(o.compact,`h-7 min-w-0 rounded-full border-0 px-2.5 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`);function ne(e,t){return t?[e.event,e.message,I(e.level),e.data===void 0?``:R(e.data)].join(` `).toLowerCase().includes(t):!0}function F(e){let t=typeof e==`number`?e:Number(e);return t===c.DEBUG||t===c.INFO||t===c.WARN||t===c.ERROR?t:null}function I(e){let t=F(e);return t===null?String(e):a(t)}function L(e,t){let n=F(e.level);return n!==null&&t.has(n)}function R(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function z(e){switch(F(e)??e){case c.ERROR:return`text-destructive`;case c.WARN:return`text-amber-600 dark:text-amber-400`;case c.INFO:return`text-foreground`;default:return`text-muted-foreground`}}function B(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 V(e){let t=[`${e.ts} ${I(e.level)} ${e.event}`,e.message];return e.data!==void 0&&t.push(R(e.data)),t.join(`
|
|
2
|
-
`)}var H=(0,A.memo)(function(e){let t=(0,k.c)(40),{entry:n,copied:r,onCopy:i}=e,a;t[0]!==n||t[1]!==i?(a=()=>i(n),t[0]=n,t[1]=i,t[2]=a):a=t[2];let o;t[3]===r?o=t[4]:(o=r?(0,j.jsx)(l,{className:`h-3.5 w-3.5 text-green-500`}):(0,j.jsx)(d,{className:`h-3.5 w-3.5`}),t[3]=r,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy log entry`}),t[5]=s):s=t[5];let c;t[6]!==a||t[7]!==o?(c=(0,j.jsx)(_,{asChild:!0,children:(0,j.jsxs)(`button`,{type:`button`,onClick:a,className:`flex h-7 w-7 items-center justify-center rounded-md border border-border bg-background/90 text-foreground shadow-sm hover:bg-background`,children:[o,s]})}),t[6]=a,t[7]=o,t[8]=c):c=t[8];let u=r?`Copied!`:`Copy to clipboard`,p;t[9]===u?p=t[10]:(p=(0,j.jsx)(v,{children:u}),t[9]=u,t[10]=p);let m;t[11]!==c||t[12]!==p?(m=(0,j.jsx)(`div`,{className:`absolute top-2 right-2 opacity-0 transition-opacity group-hover:opacity-100 focus-within:opacity-100`,children:(0,j.jsxs)(b,{children:[c,p]})}),t[11]=c,t[12]=p,t[13]=m):m=t[13];let h;t[14]===n.ts?h=t[15]:(h=B(n.ts),t[14]=n.ts,t[15]=h);let g;t[16]===h?g=t[17]:(g=(0,j.jsx)(`span`,{className:`text-muted-foreground tabular-nums`,children:h}),t[16]=h,t[17]=g);let y;t[18]===n.level?y=t[19]:(y=f(`font-semibold`,z(n.level)),t[18]=n.level,t[19]=y);let x;t[20]===n.level?x=t[21]:(x=I(n.level),t[20]=n.level,t[21]=x);let S;t[22]!==y||t[23]!==x?(S=(0,j.jsx)(`span`,{className:y,children:x}),t[22]=y,t[23]=x,t[24]=S):S=t[24];let C;t[25]===n.event?C=t[26]:(C=(0,j.jsx)(`span`,{className:`text-muted-foreground`,children:n.event}),t[25]=n.event,t[26]=C);let w;t[27]!==S||t[28]!==C||t[29]!==g?(w=(0,j.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-2 gap-y-0.5`,children:[g,S,C]}),t[27]=S,t[28]=C,t[29]=g,t[30]=w):w=t[30];let T;t[31]===n.message?T=t[32]:(T=(0,j.jsx)(`p`,{className:`mt-0.5 whitespace-pre-wrap break-words text-foreground`,children:n.message}),t[31]=n.message,t[32]=T);let E;t[33]===n.data?E=t[34]:(E=n.data===void 0?null:(0,j.jsx)(`pre`,{className:`mt-1 max-h-40 overflow-auto whitespace-pre-wrap break-words text-muted-foreground`,children:R(n.data)}),t[33]=n.data,t[34]=E);let D;return t[35]!==w||t[36]!==T||t[37]!==E||t[38]!==m?(D=(0,j.jsxs)(`li`,{className:`group relative min-w-0 px-3 py-2 pr-10 hover:bg-muted/40 select-text`,children:[m,w,T,E]}),t[35]=w,t[36]=T,t[37]=E,t[38]=m,t[39]=D):D=t[39],D});function U(){let[e]=i(),t=e.get(`q`)??``,[n,r]=(0,A.useState)([]),[c,k]=(0,A.useState)(t),[F,I]=(0,A.useState)(P),[R,z]=(0,A.useState)(!0),[B,U]=(0,A.useState)(!1),[W,G]=(0,A.useState)(null),[K,q]=(0,A.useState)(!1),[J,re]=(0,A.useState)(null),Y=(0,A.useRef)(null),X=(0,A.useRef)(null);(0,A.useEffect)(()=>{t&&k(t)},[t]),(0,A.useEffect)(()=>{let e=!1,t=null,n=null,i=new AbortController,a=!1,o=!1;function c(){e||n||(z(!0),n=setTimeout(()=>{n=null,l()},M))}async function l(){if(!e){z(!0);try{let n=await m({signal:i.signal});if(!n||e){n&&e&&n.cancel().catch(()=>{});return}t=n.getReader();let o=new TextDecoder,l=``;for(a=!0,z(!1);!e;){let{done:e,value:n}=await t.read();if(e)break;l+=o.decode(n,{stream:!0});let i=l.split(`
|
|
3
|
-
`);l=i.pop()??``;for(let e of i){let t=e.trim();if(!t)continue;let n;try{n=JSON.parse(t)}catch{continue}if(n.type!==`ping`){if(n.type===`snapshot`){r(n.entries);continue}if(n.type===`cleared`){r([]);continue}r(e=>{let t=[...e,n.entry];return t.length>5e3?t.slice(t.length-s):t})}}}e||c()}catch(t){if(e||i.signal.aborted)return;let n=t instanceof Error?t.message:String(t);if(h(n)||a){c();return}z(!1),o||(o=!0,S({title:`Failed to connect to log feed`,description:n,variant:`destructive`})),c()}}}return l(),()=>{e=!0,i.abort(),n&&clearTimeout(n),t?.cancel().catch(()=>{})}},[]),(0,A.useEffect)(()=>()=>{Y.current&&clearTimeout(Y.current),X.current&&clearTimeout(X.current)},[]);let Z=(0,A.useCallback)(async e=>{try{await navigator.clipboard.writeText(V(e)),G(e.id),Y.current&&clearTimeout(Y.current),Y.current=setTimeout(()=>{G(null),Y.current=null},1500)}catch(e){S({title:`Failed to copy log entry`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}},[]);async function ie(e){if(e.length!==0)try{await navigator.clipboard.writeText(e.map(e=>V(e)).join(`
|
|
4
|
-
|
|
5
|
-
`)),q(!0),X.current&&clearTimeout(X.current),X.current=setTimeout(()=>{q(!1),X.current=null},1500)}catch(e){S({title:`Failed to copy logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}}async function ae(){U(!0);try{await g()}catch(e){S({title:`Failed to clear logs`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{U(!1)}}let Q=c.trim().toLowerCase(),oe=new Set(F),$=n.filter(e=>L(e,oe)&&ne(e,Q)),se=(0,A.useCallback)((e,t)=>(0,j.jsx)(H,{entry:t,copied:W===t.id,onCopy:Z}),[W,Z]);function ce(){return n.length===0?`No logs in the buffer yet.`:F.length===0?`No log levels selected.`:Q?`No logs match this search.`:`No logs match the selected levels.`}return(0,j.jsx)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:(0,j.jsxs)(w,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[(0,j.jsx)(T,{title:`Logs`,description:`Live in memory feed of events`,action:(0,j.jsx)(p,{type:`button`,onClick:()=>void ae(),disabled:B||n.length===0,children:B?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(u,{className:`mr-2 h-4 w-4 animate-spin`}),`Clearing...`]}):`Clear`})}),(0,j.jsxs)(`div`,{className:`mb-4 mt-4 flex w-full min-w-0 items-center gap-3 electrobun-webkit-app-region-no-drag`,children:[(0,j.jsx)(C,{value:c,onChange:e=>k(e.target.value),placeholder:`Search`,className:`min-w-0 flex-1`,"aria-label":`Search logs`}),(0,j.jsx)(O,{type:`multiple`,value:F.map(e=>a(e)),onValueChange:e=>{I(N.filter(t=>e.includes(a(t))))},"aria-label":`Log levels`,variant:`outline`,size:`sm`,className:ee,children:N.map(e=>(0,j.jsx)(D,{value:a(e),"aria-label":a(e),className:te,children:a(e)},e))}),(0,j.jsx)(y,{children:(0,j.jsxs)(b,{children:[(0,j.jsx)(_,{asChild:!0,children:(0,j.jsxs)(p,{type:`button`,variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void ie($),disabled:$.length===0,children:[K?(0,j.jsx)(l,{className:`h-3.5 w-3.5 text-green-500`}):(0,j.jsx)(d,{className:`h-3.5 w-3.5`}),(0,j.jsx)(`span`,{className:`sr-only`,children:`Copy visible logs`})]})}),(0,j.jsx)(v,{children:K?`Copied!`:`Copy visible logs to clipboard`})]})})]}),(0,j.jsx)(x,{viewportRef:re,className:`mb-6 w-full min-h-0 min-w-0 flex-1 rounded-md border bg-background font-mono text-xs`,children:R&&n.length===0?(0,j.jsxs)(`div`,{className:`flex items-center gap-2 p-4 text-muted-foreground`,children:[(0,j.jsx)(u,{className:`h-4 w-4 animate-spin`}),`Connecting…`]}):$.length===0?(0,j.jsx)(`p`,{className:f(o.bodyMuted,`p-4 font-sans`),children:ce()}):(0,j.jsx)(y,{children:(0,j.jsx)(E,{data:$,computeItemKey:(e,t)=>t.id,customScrollParent:J??void 0,itemContent:se,followOutput:e=>e?`auto`:!1,overscan:500,className:`w-full min-w-0`})})})]})})}export{U as default};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{at as i}from"./dist-ZlK7I-y-.js";import{r as a}from"./store-Be_7VK0D.js";import{$ as o,An as s,D as c,G as l,ct as u,dn as d,kn as f,rt as p,y as m}from"./dist-DIjomljy.js";import{t as h}from"./utils-CT-Dw22R.js";import{t as g}from"./button-sfGyFWfz.js";import{Xt as _,a as v,ft as y,un as b}from"./api-ODizoHnY.js";import{i as ee,n as te,r as x,t as ne}from"./tooltip-B6ziVyTv.js";import{t as S}from"./use-toast-xpb5jNtN.js";import{r as C,t as w}from"./dialog-CP2cYR59.js";import{n as T}from"./explorer-tab-context-BxUVwWQQ.js";import{t as E}from"./use-open-chat-dock-panel-D1D5bnsL.js";import{A as D,At as O,Bn as k,Cn as A,D as j,Dn as M,E as N,En as P,Ft as F,I as re,In as I,L,Ln as R,Mt as z,Nn as B,Nt as V,O as H,Ot as ie,R as U,Sn as W,Tn as G,Y as K,gn as q,j as ae,k as oe,kn as se,kt as ce,vn as le,wn as J,xn as ue,yn as Y,z as de,zn as fe}from"./index-Bmkj1Qwa.js";import{t as pe}from"./delete-confirm-dialog-B99gEJN8.js";import{t as me}from"./use-settings-page-loading-BTySlInF.js";import{n as he}from"./settings-list-PMi8ZniW.js";import{t as ge}from"./switch-pIBaqatj.js";var X=e(n(),1),Z=r();function _e(e){return e?.url?`remote`:`local`}function ve(e){return Object.entries(e??{}).map(([e,t])=>({key:e,value:t}))}function ye({projectPath:e,serverName:t,initialName:n,initialConfig:r,onBack:a}){let{installedServers:o}=ae(e),s=!!t,[c,l]=(0,X.useState)(`local`),[u,d]=(0,X.useState)(``),[f,h]=(0,X.useState)(``),[_,v]=(0,X.useState)(``),[y,b]=(0,X.useState)(``),[ee,te]=(0,X.useState)(`sse`),[x,ne]=(0,X.useState)(``),[C,w]=(0,X.useState)(``),[T,E]=(0,X.useState)(``),[D,k]=(0,X.useState)([]),[A,I]=(0,X.useState)([]),[R,B]=(0,X.useState)(!0),[H,W]=(0,X.useState)(!1),[G,q]=(0,X.useState)(!1),[le,J]=(0,X.useState)(null),[ue,Y]=(0,X.useState)(s),[pe,me]=(0,X.useState)(``),[he,ye]=(0,X.useState)(``);function Q(e,t){let n=_e(t);l(n),d(e),h(t.command??``),v((t.args??[]).join(`
|
|
2
|
-
`)),b(t.url??``),te(t.transport??`sse`),ne(t.oauth?.clientId??``),w(t.oauth?.clientSecret??``),E(t.oauth?.callbackPort===void 0?``:String(t.oauth.callbackPort)),k(ve(t.env)),I(ve(t.headers)),B(t.defer!==!1),me(e),ye(JSON.stringify({name:e,type:n,config:t}))}(0,X.useEffect)(()=>{if(s&&t){let e=o.find(e=>e.name===t);e&&(Q(e.name,e.config),Y(!1))}else r&&Q(n??``,r),Y(!1)},[o,t,s,r,n]);let be=(0,X.useCallback)(()=>{k(e=>[...e,{key:``,value:``}])},[]),xe=(0,X.useCallback)(e=>{k(t=>t.filter((t,n)=>n!==e))},[]),Se=(0,X.useCallback)((e,t)=>{k(n=>n.map((n,r)=>r===e?{...n,key:t}:n))},[]),$=(0,X.useCallback)((e,t)=>{k(n=>n.map((n,r)=>r===e?{...n,value:t}:n))},[]),Ce=(0,X.useCallback)(()=>{I(e=>[...e,{key:``,value:``}])},[]),we=(0,X.useCallback)(e=>{I(t=>t.filter((t,n)=>n!==e))},[]),Te=(0,X.useCallback)((e,t)=>{I(n=>n.map((n,r)=>r===e?{...n,key:t}:n))},[]),Ee=(0,X.useCallback)((e,t)=>{I(n=>n.map((n,r)=>r===e?{...n,value:t}:n))},[]);function De(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 Oe(){let e=De(D);if(c===`remote`){let t=De(A),n=x.trim(),r=C.trim(),i=T.trim(),a=i?Number.parseInt(i,10):void 0,o=n||r||a?{...n?{clientId:n}:{},...r?{clientSecret:r}:{},...a&&Number.isInteger(a)&&a>0?{callbackPort:a}:{}}:void 0;return{url:y.trim(),transport:ee,...t?{headers:t}:{},...e?{env:e}:{},...o&&Object.keys(o).length>0?{oauth:o}:{},...R?{}:{defer:!1}}}let t=_.split(`
|
|
3
|
-
`).map(e=>e.trim()).filter(Boolean);return{command:f.trim(),args:t,...e?{env:e}:{},...R?{}:{defer:!1}}}let ke=JSON.stringify({name:u.trim(),type:c,config:Oe()}),Ae=async()=>{J(null);let t=u.trim();if(!t){J(`Server name is required`);return}if(c===`remote`){if(!y.trim()){J(`Server URL is required`);return}try{new URL(y.trim())}catch{J(`Server URL must be a valid URL`);return}if(T.trim()){let e=Number.parseInt(T.trim(),10);if(!Number.isInteger(e)||e<=0){J(`OAuth callback port must be a positive integer`);return}}if(C.trim()&&!x.trim()){J(`OAuth client ID is required when a client secret is set`);return}}else if(!f.trim()){J(`Command is required`);return}W(!0);try{if(!e)throw Error(`No project path`);let n=await oe(e,pe||t,Oe());S({title:`Success`,description:s?`MCP server saved · ${j(n.catalog)}`:`MCP server added · ${j(n.catalog)}`}),a()}catch(e){J(e instanceof Error?e.message:`Failed to save server`)}finally{W(!1)}},je=async()=>{if(e){q(!0);try{await N(e,pe),S({title:`Success`,description:`MCP server removed`}),a()}catch(e){J(e instanceof Error?e.message:`Failed to delete server`)}finally{q(!1)}}},Me=s?ke!==he:u.trim()!==``||f.trim()!==``||_.trim()!==``||y.trim()!==``||x.trim()!==``||C.trim()!==``||T.trim()!==``||D.length>0||A.length>0||!R;return ue?(0,Z.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,Z.jsx)(`p`,{className:i.bodyMuted,children:`Loading server configuration...`})}):(0,Z.jsx)(fe,{children:(0,Z.jsxs)(P,{children:[(0,Z.jsx)(se,{title:s?u:`Add MCP Server`,description:s?`Edit MCP Server configuration.`:`Configure a new MCP Server.`,sticky:!0,className:`pr-10`}),(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(M,{title:`Server name`,description:s?`Server name cannot be changed`:void 0,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(F,{id:`server-name`,placeholder:`e.g. filesystem`,value:u,onChange:e=>d(e.target.value),disabled:s})}),(0,Z.jsxs)(re,{value:c,onValueChange:e=>l(e),className:`w-full pt-6`,children:[(0,Z.jsxs)(U,{className:`grid w-full grid-cols-2`,children:[(0,Z.jsx)(de,{value:`local`,children:`Local (stdio)`}),(0,Z.jsx)(de,{value:`remote`,children:`Remote (HTTP/SSE)`})]}),(0,Z.jsxs)(L,{value:`local`,children:[(0,Z.jsx)(M,{title:`Command`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(F,{id:`server-command`,placeholder:`e.g. npx`,value:f,onChange:e=>h(e.target.value)})}),(0,Z.jsx)(M,{title:`Arguments`,description:`One argument per line`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(K,{id:`server-args`,placeholder:`-y
|
|
4
|
-
@modelcontextprotocol/server-filesystem
|
|
5
|
-
/path/to/dir`,value:_,onChange:e=>v(e.target.value),className:`font-mono min-h-[80px] resize-none`})})]}),(0,Z.jsxs)(L,{value:`remote`,children:[(0,Z.jsx)(M,{title:`Server URL`,description:`Paste the MCP endpoint URL from your provider.`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsx)(F,{id:`server-url`,placeholder:`https://example.com/mcp`,value:y,onChange:e=>b(e.target.value),className:`font-mono`})}),(0,Z.jsx)(M,{title:`Transport`,controlLayout:`stack`,className:`pt-6`,children:(0,Z.jsxs)(ie,{value:ee,onValueChange:e=>te(e),children:[(0,Z.jsx)(z,{children:(0,Z.jsx)(V,{})}),(0,Z.jsxs)(ce,{children:[(0,Z.jsx)(O,{value:`sse`,children:`SSE (Server-Sent Events)`}),(0,Z.jsx)(O,{value:`streamableHttp`,children:`Streamable HTTP`})]})]})}),(0,Z.jsx)(M,{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:[(0,Z.jsx)(F,{id:`oauth-client-id`,placeholder:`Client ID`,value:x,onChange:e=>ne(e.target.value),className:`font-mono`}),(0,Z.jsx)(F,{id:`oauth-client-secret`,placeholder:`Client secret`,type:`password`,value:C,onChange:e=>w(e.target.value),className:`font-mono`}),(0,Z.jsx)(F,{id:`oauth-callback-port`,placeholder:`Callback port (e.g. 3118)`,value:T,onChange:e=>E(e.target.value),className:`font-mono`})]})}),(0,Z.jsx)(M,{title:`HTTP headers`,description:`Optional headers for authentication.`,controlLayout:`stack`,className:`pt-6`,action:(0,Z.jsxs)(g,{variant:`ghost`,size:`sm`,onClick:Ce,children:[(0,Z.jsx)(p,{className:`h-3 w-3 mr-1`}),`Add header`]}),children:A.length===0?(0,Z.jsx)(`p`,{className:i.caption,children:`No headers configured`}):(0,Z.jsx)(`div`,{className:`flex flex-col gap-2`,children:A.map((e,t)=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(F,{placeholder:`Authorization`,value:e.key,onChange:e=>Te(t,e.target.value),className:`font-mono w-[35%]`}),(0,Z.jsx)(F,{placeholder:`Bearer ...`,value:e.value,onChange:e=>Ee(t,e.target.value),className:`font-mono flex-1`}),(0,Z.jsx)(g,{variant:`ghost`,size:`icon`,onClick:()=>we(t),className:`h-9 w-9 flex-shrink-0`,children:(0,Z.jsx)(m,{className:`h-3.5 w-3.5`})})]},t))})})]})]}),(0,Z.jsx)(M,{title:`Deferred`,description:R?`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.`,controlLayout:`stack`,className:`pt-6`,action:(0,Z.jsx)(ge,{id:`defer-tools`,checked:R,onCheckedChange:B,"aria-label":`Deferred`})}),(0,Z.jsx)(M,{title:`Environment variables`,description:c===`remote`?`Optional metadata for local tooling.`:void 0,controlLayout:`stack`,className:`pt-6`,action:(0,Z.jsxs)(g,{variant:`ghost`,size:`sm`,onClick:be,children:[(0,Z.jsx)(p,{className:`h-3 w-3 mr-1`}),`Add variable`]}),children:D.length===0?(0,Z.jsx)(`p`,{className:i.caption,children:`No environment variables configured`}):(0,Z.jsx)(`div`,{className:`flex flex-col gap-2`,children:D.map((e,t)=>(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(F,{placeholder:`KEY`,value:e.key,onChange:e=>Se(t,e.target.value),className:`font-mono w-[35%]`}),(0,Z.jsx)(F,{placeholder:`value`,value:e.value,onChange:e=>$(t,e.target.value),className:`font-mono flex-1`}),(0,Z.jsx)(g,{variant:`ghost`,size:`icon`,onClick:()=>xe(t),className:`h-9 w-9 flex-shrink-0`,children:(0,Z.jsx)(m,{className:`h-3.5 w-3.5`})})]},t))})}),le&&(0,Z.jsx)(`p`,{className:i.error,children:le}),(0,Z.jsxs)(`div`,{className:`mt-6 border-t pt-4 flex items-center justify-between`,children:[s&&(0,Z.jsx)(g,{variant:`destructive`,onClick:je,disabled:G||H,children:G?`Removing...`:`Remove`}),!s&&(0,Z.jsx)(`div`,{}),(0,Z.jsx)(g,{onClick:Ae,disabled:H||G||!Me,children:H?s?`Saving...`:`Adding...`:s?`Save`:`Add`})]})]})]})})}var Q=t();function be(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 xe(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=be(e.refreshedAt);return r?`${n} · refreshed ${r}`:n}function Se(e){let t=(0,Q.c)(69),{name:n,config:r,catalog:a,remote:s,authorized:l,oauthBusy:u,refreshing:d,onEdit:p,onRefresh:m,onDelete:_,onSignIn:v,onSignOut:y}=e,[b,S]=(0,X.useState)(!1),C;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]!==_||t[9]!==p||t[10]!==m||t[11]!==v||t[12]!==y||t[13]!==d||t[14]!==s){let e=a?.state===`ok`?a.tools.map(we):[],w;t[16]!==r.args||t[17]!==r.command||t[18]!==r.url?(w=r.url?r.url:`${r.command??``} ${r.args?.join(` `)??``}`.trim(),t[16]=r.args,t[17]=r.command,t[18]=r.url,t[19]=w):w=t[19];let T=w,E;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(E=h(i.body,`truncate`),t[20]=E):E=t[20];let D;t[21]===n?D=t[22]:(D=(0,Z.jsx)(`div`,{className:E,children:n}),t[21]=n,t[22]=D);let O;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(O=h(i.compact,`truncate text-muted-foreground font-mono`),t[23]=O):O=t[23];let k;t[24]===T?k=t[25]:(k=(0,Z.jsx)(`div`,{className:O,children:T}),t[24]=T,t[25]=k);let A;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(A=h(i.caption,`truncate text-muted-foreground`),t[26]=A):A=t[26];let j;t[27]===a?j=t[28]:(j=xe(a),t[27]=a,t[28]=j);let M;t[29]===j?M=t[30]:(M=(0,Z.jsx)(`div`,{className:A,children:j}),t[29]=j,t[30]=M);let N;t[31]!==p||t[32]!==D||t[33]!==k||t[34]!==M?(N=(0,Z.jsxs)(`button`,{type:`button`,onClick:p,className:`min-w-0 text-left`,children:[D,k,M]}),t[31]=p,t[32]=D,t[33]=k,t[34]=M,t[35]=N):N=t[35];let P;t[36]!==l||t[37]!==u||t[38]!==v||t[39]!==y||t[40]!==s?(P=s&&(0,Z.jsx)(g,{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]=s,t[41]=P):P=t[41];let F=`Refresh ${n} tools`,re=d&&`animate-spin`,I;t[42]===re?I=t[43]:(I=h(`h-4 w-4`,re),t[42]=re,t[43]=I);let L;t[44]===I?L=t[45]:(L=(0,Z.jsx)(o,{className:I}),t[44]=I,t[45]=L);let R;t[46]!==m||t[47]!==d||t[48]!==F||t[49]!==L?(R=(0,Z.jsx)(ee,{asChild:!0,children:(0,Z.jsx)(g,{type:`button`,variant:`ghost`,size:`icon-sm`,disabled:d,onClick:m,"aria-label":F,children:L})}),t[46]=m,t[47]=d,t[48]=F,t[49]=L,t[50]=R):R=t[50];let z;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,Z.jsx)(te,{children:`Refresh tools`}),t[51]=z):z=t[51];let B;t[52]===R?B=t[53]:(B=(0,Z.jsx)(x,{children:(0,Z.jsxs)(ne,{children:[R,z]})}),t[52]=R,t[53]=B);let V=e.length>0&&(0,Z.jsx)(g,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-expanded":b,"aria-label":b?`Hide tools`:`Show tools`,onClick:()=>S(Ce),children:(0,Z.jsx)(f,{className:h(`h-4 w-4 transition-transform`,b&&`rotate-180`)})}),H;t[54]!==P||t[55]!==B||t[56]!==V?(H=(0,Z.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[P,B,V]}),t[54]=P,t[55]=B,t[56]=V,t[57]=H):H=t[57];let ie=`Delete ${n}`,U;t[58]===Symbol.for(`react.memo_cache_sentinel`)?(U=(0,Z.jsx)(c,{className:`h-4 w-4`}),t[58]=U):U=t[58];let W;t[59]!==_||t[60]!==ie?(W=(0,Z.jsx)(ee,{asChild:!0,children:(0,Z.jsx)(g,{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:_,"aria-label":ie,children:U})}),t[59]=_,t[60]=ie,t[61]=W):W=t[61];let G;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,Z.jsx)(te,{children:`Remove this MCP server from the project`}),t[62]=G):G=t[62];let K;t[63]===W?K=t[64]:(K=(0,Z.jsx)(x,{children:(0,Z.jsxs)(ne,{children:[W,G]})}),t[63]=W,t[64]=K);let q;t[65]!==N||t[66]!==H||t[67]!==K?(q=(0,Z.jsxs)(`div`,{className:`grid min-h-13 grid-cols-[minmax(0,1fr)_auto_1.75rem] items-center gap-3`,children:[N,H,K]}),t[65]=N,t[66]=H,t[67]=K,t[68]=q):q=t[68],C=(0,Z.jsxs)(`div`,{className:`group px-3 py-3 hover:bg-muted/30`,children:[q,b&&e.length>0&&(0,Z.jsx)(`ul`,{className:h(i.caption,`mt-2 space-y-1 pl-1 text-muted-foreground`),children:e.map($)})]}),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]=_,t[9]=p,t[10]=m,t[11]=v,t[12]=y,t[13]=d,t[14]=s,t[15]=C}else C=t[15];return C}function $(e){return(0,Z.jsx)(`li`,{className:`font-mono truncate`,children:e},e)}function Ce(e){return!e}function we(e){return e.name}var Te=`https://tarsk.io/skills/mcp/`;function Ee(e){return e.name.toLowerCase().replace(/\s+/g,`-`)}function De(e){return typeof e.url==`string`&&e.url.trim().length>0}function Oe(){let e=a(e=>e.selectedProjectId),t=a(e=>e.projects).find(t=>t.projectId===e)?.projectPath,{installedServers:n,catalog:r,loadingConfig:c,loadInstalledServers:p}=ae(t),{popularServers:m,loadingPopular:O}=D(),{openChatDockPanel:M}=E(),{setPendingExplorerPath:P,triggerExplorerRefresh:F}=T(),[re,L]=(0,X.useState)(!1),[z,V]=(0,X.useState)(null),[ie,U]=(0,X.useState)(null),[K,ce]=(0,X.useState)(null),[de,fe]=(0,X.useState)(!1),[ge,_e]=(0,X.useState)({}),[ve,Q]=(0,X.useState)(null),[be,xe]=(0,X.useState)(null),$=(0,X.useCallback)(async()=>{if(!t){_e({});return}let e=n.filter(e=>De(e.config));if(e.length===0){_e({});return}let r=await Promise.all(e.map(async e=>{try{let n=await y(t,e.name);return[e.name,n.authorized]}catch{return[e.name,!1]}}));_e(Object.fromEntries(r))},[t,n]);(0,X.useEffect)(()=>{$()},[$]);let Ce=(0,X.useCallback)(async e=>{if(t){fe(!0);try{await N(t,e),await p(),F(),S({title:`MCP server removed`,description:e}),ce(null)}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to remove server`,variant:`destructive`})}finally{fe(!1)}}},[t,p,F]),we=(0,X.useCallback)(async e=>{if(t){Q(e);try{let n=await v(t,e);await $(),await p(),S({title:`Signed in`,description:n.catalog?`${e} · ${j(n.catalog)}`:`Connected to ${e}`})}catch(e){S({title:`Sign in failed`,description:e instanceof Error?e.message:`OAuth authorization failed`,variant:`destructive`})}finally{Q(null)}}},[t,$,p]),Oe=(0,X.useCallback)(async e=>{if(t){Q(e);try{await b(t,e),await $(),await p(),S({title:`Signed out`,description:e})}catch(e){S({title:`Sign out failed`,description:e instanceof Error?e.message:`Failed to revoke OAuth credentials`,variant:`destructive`})}finally{Q(null)}}},[t,$,p]),ke=(0,X.useCallback)(async e=>{if(t){xe(e??`all`);try{let n=await H(t,e);await p();let r=Object.values(n.catalog),[i]=r;if(i)S({title:`Tools refreshed`,description:`${i.serverName} · ${j(i)}`});else{let e=r.filter(e=>e.state===`ok`).length;S({title:`Tools refreshed`,description:`${e}/${r.length} servers loaded`})}}catch(e){S({title:`Refresh failed`,description:e instanceof Error?e.message:`Could not refresh MCP tools`,variant:`destructive`})}finally{xe(null)}}},[t,p]),Ae=(0,X.useCallback)(()=>{P(`.agents/mcp.json`),M(`explorer`)},[P,M]),je=(0,X.useCallback)(async e=>{if(!t)return;let r=Ee(e);if(!n.some(t=>t.name===r||t.name===e.id)){if(e.url!==void 0){if(!e.url.trim()){V({name:r,config:{url:``,transport:e.transport??`sse`,...Object.keys(e.env??{}).length>0?{env:e.env}:{}}}),L(!0);return}try{let n=await oe(t,r,{url:e.url,transport:e.transport??`sse`,...Object.keys(e.env??{}).length>0?{env:e.env}:{}});await p(),F(),S({title:`MCP server installed`,description:`${e.name} · ${j(n.catalog)}`})}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to install server`,variant:`destructive`})}return}if(!e.command){S({title:`Error`,description:`This server is missing install configuration.`,variant:`destructive`});return}try{let n=await oe(t,r,{command:e.command,args:e.args??[],...Object.keys(e.env??{}).length>0?{env:e.env}:{}});await p(),F(),S({title:`MCP server installed`,description:`${e.name} · ${j(n.catalog)}`})}catch(e){S({title:`Error`,description:e instanceof Error?e.message:`Failed to install server`,variant:`destructive`})}}},[t,n,p,F]),Me=me(e,[c,O]);return e?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(B,{loading:Me,children:(0,Z.jsxs)(k,{className:`shrink-0`,children:[(0,Z.jsx)(se,{title:`Installed MCP Servers`,description:`MCP servers configured for this project.`,action:(0,Z.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Z.jsx)(g,{variant:`ghost`,onClick:Ae,children:`Config`}),n.length>=2&&(0,Z.jsxs)(g,{variant:`ghost`,className:`gap-1`,disabled:be!==null,onClick:()=>void ke(),children:[(0,Z.jsx)(o,{className:h(`h-4 w-4`,be===`all`&&`animate-spin`)}),`Refresh all`]}),(0,Z.jsxs)(q,{children:[(0,Z.jsx)(G,{asChild:!0,children:(0,Z.jsxs)(g,{className:`gap-1`,children:[`Add Server`,(0,Z.jsx)(f,{className:`h-4 w-4 opacity-70`})]})}),(0,Z.jsxs)(le,{align:`end`,className:`w-56`,children:[(0,Z.jsxs)(Y,{className:h(i.body,`gap-2`),onSelect:()=>L(!0),children:[(0,Z.jsx)(u,{className:`h-4 w-4 shrink-0`}),`Manual Entry`]}),(0,Z.jsxs)(W,{children:[(0,Z.jsxs)(J,{className:h(i.body,`gap-2`),children:[(0,Z.jsx)(l,{className:`h-4 w-4 shrink-0`}),`Popular`]}),(0,Z.jsx)(A,{className:`w-80 max-h-80 overflow-y-auto`,children:O?(0,Z.jsx)(Y,{disabled:!0,className:i.bodyMuted,children:`Loading…`}):m.length===0?(0,Z.jsx)(Y,{disabled:!0,className:i.bodyMuted,children:`No available servers`}):[...m].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>{let t=Ee(e),r=n.some(n=>n.name===t||n.name===e.id);return(0,Z.jsx)(x,{children:(0,Z.jsxs)(ne,{children:[(0,Z.jsx)(ee,{asChild:!0,children:(0,Z.jsxs)(Y,{className:h(i.body,`gap-2`,r&&`opacity-50 cursor-not-allowed`),onSelect:()=>{r||je(e)},children:[(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),r&&(0,Z.jsx)(s,{className:`h-4 w-4 shrink-0 text-muted-foreground`})]})}),(0,Z.jsx)(te,{side:`right`,className:`max-w-64`,children:e.description})]})},e.id)})})]}),(0,Z.jsx)(ue,{}),(0,Z.jsxs)(Y,{className:h(i.body,`gap-2`),onSelect:()=>void _(Te),children:[(0,Z.jsx)(d,{className:`h-4 w-4 shrink-0`}),`Marketplace`]})]})]})]}),sticky:!1}),(0,Z.jsx)(R,{className:`pt-6`,children:n.length===0?(0,Z.jsx)(he,{icon:l,title:`Connect your agent to tools, APIs, and data sources`,bordered:!1}):(0,Z.jsx)(`div`,{className:`divide-y divide-table-border`,children:n.map(e=>(0,Z.jsx)(Se,{name:e.name,config:e.config,catalog:r[e.name],remote:De(e.config),authorized:ge[e.name]===!0,oauthBusy:ve===e.name,refreshing:be===e.name||be===`all`,onEdit:()=>U(e.name),onRefresh:()=>void ke(e.name),onDelete:()=>ce(e.name),onSignIn:()=>void we(e.name),onSignOut:()=>void Oe(e.name)},e.name))})})]})}),(0,Z.jsx)(w,{open:re,onOpenChange:e=>{L(e),e||V(null)},children:(0,Z.jsx)(C,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,Z.jsx)(ye,{projectPath:t,initialName:z?.name,initialConfig:z?.config,onBack:()=>{L(!1),V(null),p(),F()}})})}),(0,Z.jsx)(w,{open:ie!==null,onOpenChange:e=>{e||U(null)},children:(0,Z.jsx)(C,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,Z.jsx)(ye,{projectPath:t,serverName:ie??void 0,onBack:()=>{U(null),p(),F()}})})}),(0,Z.jsx)(pe,{open:K!==null,onOpenChange:e=>!e&&ce(null),title:`Delete MCP Server`,description:`Are you sure you want to delete the server "${K}"? This action cannot be undone.`,onConfirm:()=>{K&&Ce(K)},confirming:de})]}):(0,Z.jsx)(I,{children:`Select a project to manage MCP servers.`})}export{Oe as SettingsMCPServersView,Oe as default};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{t as i}from"./markdown-renderer-Dx9-Ljv0.js";import{C as a,at as o}from"./dist-ZlK7I-y-.js";import{r as s}from"./store-Be_7VK0D.js";import{At as c,Et as l,Jt as u,dn as d,kn as f,ot as p,rt as m,st as h,x as g}from"./dist-DIjomljy.js";import{a as _,t as v}from"./utils-CT-Dw22R.js";import{t as y}from"./button-sfGyFWfz.js";import{$n as b,Fi as x,Gn as S,Kn as C,Mi as w,Qn as T,T as E,Wn as D,Xr as O,Xt as k,Yn as A,Yr as j,Zn as M,bn as N,er as ee,fi as te,hi as ne,ii as P,nr as F,rr as I}from"./api-ODizoHnY.js";import{i as L,n as re,r as ie,t as ae}from"./tooltip-B6ziVyTv.js";import{n as R}from"./async-loading-fallback-C173aA9v.js";import{t as z}from"./use-toast-xpb5jNtN.js";import{a as B,i as V,o as H,r as U,s as W,t as G}from"./dialog-CP2cYR59.js";import{a as oe,c as se,i as ce,n as le,o as ue,r as de,s as fe,t as pe}from"./alert-dialog-FQ5_FqBX.js";import{At as me,Bn as he,Dn as ge,Dt as _e,En as ve,Ft as K,In as ye,Ln as be,Mt as xe,Nn as Se,Nt as Ce,On as we,Ot as Te,Pt as q,Tn as Ee,Y as De,a as Oe,gn as ke,kn as J,kt as Ae,vn as je,xn as Me,yn as Y,zn as Ne}from"./index-Bmkj1Qwa.js";import{t as Pe}from"./delete-confirm-dialog-B99gEJN8.js";import{t as Fe}from"./use-settings-page-loading-BTySlInF.js";import{a as Ie,i as Le,o as Re,r as ze}from"./settings-list-PMi8ZniW.js";import{t as Be}from"./use-deferred-search-Dgxosq55.js";import{a as Ve,i as He,n as Ue,r as We,t as Ge}from"./mcp-server-card-DPNG9Up7.js";import{t as Ke}from"./use-installed-ai-files-BNrsyACe.js";var X=t(),Z=e(n(),1),Q=r();function qe({threadId:e,onSkillCreated:t}){let[n,r]=(0,Z.useState)(``),[i,a]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(!1),l=He(n),u=We(l),d=async()=>{if(!(!u||!i.trim()||!e)){c(!0);try{let n=await E(e,l,i.trim());z({title:`Skill created`,description:`Skill '${l}' was created successfully.`}),r(``),a(``),t?.(n.path,`SKILL.md`)}catch(e){z({title:`Error`,description:e instanceof Error?e.message:`Failed to create skill`,variant:`destructive`})}finally{c(!1)}}};return e?(0,Q.jsx)(Ne,{children:(0,Q.jsxs)(ve,{children:[(0,Q.jsx)(J,{title:`Add Skill`,description:`Saved as SKILL.md in .agents/skills.`,sticky:!0,className:`pr-10`}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsxs)(ge,{title:`Skill Name`,controlLayout:`stack`,className:`pt-6`,children:[(0,Q.jsx)(K,{id:`skillName`,value:n,onChange:e=>r(e.target.value),placeholder:`e.g. Code Review`,disabled:s}),n?(0,Q.jsxs)(`p`,{className:v(o.caption,`mt-2`),children:[`Folder name: `,(0,Q.jsx)(`span`,{className:`font-mono`,children:l||`...`})]}):null]}),(0,Q.jsx)(ge,{title:`Description`,controlLayout:`stack`,className:`pt-6`,children:(0,Q.jsx)(De,{id:`skillDescription`,value:i,onChange:e=>a(e.target.value),placeholder:`Describe when Tarsk should apply this skill`,className:`resize-none min-h-[120px]`,disabled:s})}),(0,Q.jsx)(Ve,{onContinue:()=>void d(),disabled:!u||!i.trim(),creating:s})]})]})}):(0,Q.jsx)(ye,{title:`No thread selected`,children:`Please select a thread to add a skill.`})}function Je(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 Ye(e){return e.endsWith(`.md`)||e.endsWith(`.mdx`)}function Xe(e){return e.includes(`SKILL.md`)?`SKILL.md`:e[0]??`SKILL.md`}function Ze(e,t){let n=e?.sourceId??t;if(!(!n||n==="default"))return n}function Qe({open:e,onOpenChange:t,skill:n,catalogSourceId:r,onInstall:a}){let[s,c]=(0,Z.useState)([]),[l,d]=(0,Z.useState)(null),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(null),[w,T]=(0,Z.useState)(!1),E=Ze(n,r),D=!!E;(0,Z.useEffect)(()=>{if(!e||!n)return;let t=n,i=Ze(t,r),a=!1;async function o(){h(!0),x(null),c([]),d(null),p(``);try{if(i){let e=await C(i,t.id);if(a)return;c(e.files),d(Xe(e.files))}else{if(a)return;c([`SKILL.md`]),d(`SKILL.md`),p(Je(t))}}catch(e){if(a)return;x(e instanceof Error?e.message:`Failed to load skill files`)}finally{a||h(!1)}}return o(),()=>{a=!0}},[e,n,r]),(0,Z.useEffect)(()=>{if(!e||!n||!l||!D||!E)return;let t=n,r=l,i=!1;async function a(){_(!0),x(null);try{let e=await S(E,t.id,r);if(i)return;p(e.content)}catch(e){if(i)return;x(e instanceof Error?e.message:`Failed to load file`),p(``)}finally{i||_(!1)}}return a(),()=>{i=!0}},[e,n,l,D,E]);let O=(0,Z.useCallback)(async()=>{if(!n)return;let e=E?{...n,sourceId:E}:n;T(!0);try{await a(e),t(!1)}finally{T(!1)}},[n,E,a,t]),k=m||D&&g,A=l?Ye(l):!1,j=(0,Z.useMemo)(()=>s.map(e=>(0,Q.jsxs)(_e,{selected:e===l,onClick:()=>d(e),className:`gap-2 cursor-pointer`,children:[(0,Q.jsx)(u,{className:`h-3.5 w-3.5 shrink-0 text-muted-foreground`}),(0,Q.jsx)(`span`,{className:v(o.caption,`truncate`),children:e})]},e)),[s,l]);return(0,Q.jsx)(G,{open:e,onOpenChange:t,children:(0,Q.jsxs)(U,{className:`flex max-h-[90vh] max-w-5xl flex-col gap-0 overflow-hidden p-0`,children:[(0,Q.jsxs)(H,{className:`border-b border-border px-6 py-4`,children:[(0,Q.jsx)(W,{children:n?.name??`Review skill`}),n?.description?(0,Q.jsx)(V,{children:n.description}):null]}),(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col sm:flex-row`,children:[(0,Q.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,Q.jsx)(`div`,{className:v(o.labelMuted,`px-3 py-2`),children:`Files`}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-1 pb-2`,children:m?(0,Q.jsx)(R,{className:`py-8`,label:`Loading files...`}):s.length===0?(0,Q.jsx)(`p`,{className:v(o.caption,`px-3 py-2 text-muted-foreground`),children:`No files found.`}):j})]}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-6 py-4`,children:b?(0,Q.jsx)(`p`,{className:v(o.body,`text-destructive`),children:b}):k?(0,Q.jsx)(R,{className:`py-12`,label:`Loading preview...`}):A?(0,Q.jsx)(i,{content:f,enableMermaid:!1}):(0,Q.jsx)(`pre`,{className:v(o.caption,`overflow-x-auto whitespace-pre-wrap font-mono`),children:f})})]}),(0,Q.jsxs)(B,{className:`border-t border-border px-6 py-4 sm:justify-between`,children:[(0,Q.jsx)(y,{type:`button`,variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,Q.jsx)(y,{type:`button`,onClick:()=>void O(),disabled:w||!n,children:w?`Installing...`:`Install`})]})]})})}var $=new Map;function $e(e){let t=$.get(e);if(t)return t;let n=M(e).finally(()=>{$.delete(e)});return $.set(e,n),n}function et(e,t){return t.map(t=>({...t,sourceId:t.sourceId??e}))}function tt(){let e=(0,X.c)(18),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0];let[n,r]=(0,Z.useState)(t),[i,a]=(0,Z.useState)(te),o;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(o=[],e[1]=o):o=e[1];let[s,c]=(0,Z.useState)(o),[l,u]=(0,Z.useState)(!1),[d,f]=(0,Z.useState)(!1),p;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=async()=>{try{r(await T())}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=P();if(e.length>0)try{await b(e),j()}catch{}await m()})()},g=[m],e[3]=h,e[4]=g):(h=e[3],g=e[4]),(0,Z.useEffect)(h,g);let _;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(_=e=>{a(e),w(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(rt)),v(e.id)},e[6]=y):y=e[6];let S=y,C;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(C=e=>{r(t=>t.map(t=>t.id===e.id?e:t).sort(nt)),O(e.id)},e[7]=C):C=e[7];let E=C,D;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(D=e=>{r(t=>t.filter(t=>t.id!==e)),O(e),a(t=>t===e?(w(`default`),`default`):t)},e[8]=D):D=e[8];let k=D,A,M;e[9]===i?(A=e[10],M=e[11]):(M=()=>{if(i==="default"){c([]),u(!1),f(!1);return}let e=ne(i);e?.skills?(c(et(i,e.skills)),u(!1)):(c([]),u(!0));let t=!1;return f(!!e?.skills),$e(i).then(e=>{if(t)return;let n=et(i,e);c(n),x(i,{fetchedAt:Date.now(),skills:n})}).catch(n=>{t||(e?.skills||c([]),z({title:`Error`,description:n instanceof Error?n.message:`Failed to load skill catalog`,variant:`destructive`}))}).finally(()=>{t||(u(!1),f(!1))}),()=>{t=!0}},A=[i],e[9]=i,e[10]=A,e[11]=M),(0,Z.useEffect)(M,A);let N;return e[12]!==s||e[13]!==l||e[14]!==d||e[15]!==i||e[16]!==n?(N={sources:n,selectedSourceId:i,setSelectedSourceId:v,addSource:S,updateSource:E,removeSource:k,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]=N):N=e[17],N}function nt(e,t){return e.title.localeCompare(t.title)}function rt(e,t){return e.title.localeCompare(t.title)}function it({open:e,onOpenChange:t,editingSource:n,onSourceAdded:r,onSourceUpdated:i,onSourceDeleted:a}){let[s,c]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(null),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(!1),S=n!=null;function C(){c(``),d(``),p(null),h(!1),_(!1),x(!1)}function w(e){e||C(),t(e)}(0,Z.useEffect)(()=>{if(e){if(n){c(n.title),d(n.url),p(null);return}c(``),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 I(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 D(n.id),a?.(n.id),x(!1),w(!1)}catch(e){p(e instanceof Error?e.message:`Failed to delete skill source`),x(!1)}finally{_(!1)}}}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(G,{open:e,onOpenChange:w,children:(0,Q.jsxs)(U,{className:`sm:max-w-lg`,children:[(0,Q.jsxs)(H,{children:[(0,Q.jsx)(W,{children:S?`Edit Skill Source`:`Add Skill Source`}),(0,Q.jsx)(V,{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,Q.jsxs)(`div`,{className:`grid gap-4 py-2`,children:[(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(q,{htmlFor:`skill-source-title`,children:`Title`}),(0,Q.jsx)(K,{id:`skill-source-title`,placeholder:`e.g. My Team Skills`,value:s,onChange:e=>c(e.target.value),disabled:m||g,autoFocus:!0})]}),(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(q,{htmlFor:`skill-source-url`,children:`URL`}),(0,Q.jsx)(K,{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,Q.jsx)(`p`,{className:v(o.caption,`text-destructive`),children:f}):null]}),(0,Q.jsxs)(B,{className:`flex-col-reverse gap-2 sm:flex-row sm:justify-between`,children:[S?(0,Q.jsx)(y,{type:`button`,variant:`destructive`,onClick:()=>x(!0),disabled:m||g,children:`Delete`}):(0,Q.jsx)(`div`,{className:`hidden sm:block`}),(0,Q.jsxs)(`div`,{className:`flex w-full flex-col-reverse gap-2 sm:w-auto sm:flex-row`,children:[(0,Q.jsx)(y,{variant:`outline`,onClick:()=>w(!1),disabled:m||g,children:`Cancel`}),(0,Q.jsx)(y,{onClick:()=>void T(),disabled:m||g||!s.trim()||!u.trim(),children:m?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(l,{className:`mr-2 h-4 w-4 animate-spin`}),`Verifying...`]}):S?`Save Changes`:`Add Source`})]})]})]})}),(0,Q.jsx)(pe,{open:b,onOpenChange:x,children:(0,Q.jsxs)(ce,{children:[(0,Q.jsxs)(fe,{children:[(0,Q.jsx)(se,{children:`Delete Skill Source`}),(0,Q.jsxs)(oe,{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,Q.jsxs)(ue,{children:[(0,Q.jsx)(de,{disabled:g,children:`Cancel`}),(0,Q.jsx)(le,{onClick:()=>void E(),disabled:g,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:g?`Deleting...`:`Delete`})]})]})})]})}var at=`https://tarsk.io/skills/list/`;function ot(e){let t=(0,X.c)(20),{onSelectMode:n,manualDisabled:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(Ee,{asChild:!0,children:(0,Q.jsxs)(y,{className:`gap-1`,children:[`Add Skill`,(0,Q.jsx)(f,{className:`h-4 w-4 opacity-70`})]})}),t[0]=i):i=t[0];let a;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(a=v(o.body,`gap-2`),t[1]=a):a=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,Q.jsx)(h,{className:`h-4 w-4 shrink-0`}),t[4]=l):l=t[4];let u;t[5]!==r||t[6]!==s?(u=(0,Q.jsxs)(Y,{className:a,disabled:r,onSelect:s,children:[l,`Manually Enter`]}),t[5]=r,t[6]=s,t[7]=u):u=t[7];let p;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(p=v(o.body,`gap-2`),t[8]=p):p=t[8];let m;t[9]===n?m=t[10]:(m=()=>n(`url`),t[9]=n,t[10]=m);let g;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Q.jsx)(c,{className:`h-4 w-4 shrink-0`}),t[11]=g):g=t[11];let _;t[12]===m?_=t[13]:(_=(0,Q.jsxs)(Y,{className:p,onSelect:m,children:[g,`Via URL`]}),t[12]=m,t[13]=_);let b;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(Me,{}),t[14]=b):b=t[14];let x;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(x=v(o.body,`gap-2`),t[15]=x):x=t[15];let S;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Q.jsxs)(Y,{className:x,onSelect:st,children:[(0,Q.jsx)(d,{className:`h-4 w-4 shrink-0`}),`Marketplace`]}),t[16]=S):S=t[16];let C;return t[17]!==u||t[18]!==_?(C=(0,Q.jsxs)(ke,{children:[i,(0,Q.jsxs)(je,{align:`end`,className:`w-44`,children:[u,_,b,S]})]}),t[17]=u,t[18]=_,t[19]=C):C=t[19],C}function st(){k(at)}function ct(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 lt(e){let t=(0,X.c)(40),{open:n,onOpenChange:r,onSubmit:i}=e,[a,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(null),u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=function(){s(``),l(null)},t[0]=u):u=t[0];let d=u,f;t[1]===r?f=t[2]:(f=function(e){e||d(),r(e)},t[1]=r,t[2]=f);let p=f,m,h;t[3]===n?(m=t[4],h=t[5]):(m=()=>{n&&d()},h=[n],t[3]=n,t[4]=m,t[5]=h),(0,Z.useEffect)(m,h);let g;t[6]!==p||t[7]!==i||t[8]!==a?(g=function(){let e=ct(a);if(!e){l(`Enter a valid http(s) URL for the plugin archive or paste a tarsk:// install link.`);return}i(e),p(!1)},t[6]=p,t[7]=i,t[8]=a,t[9]=g):g=t[9];let _=g,b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsxs)(H,{children:[(0,Q.jsx)(W,{children:`Add Skill via URL`}),(0,Q.jsx)(V,{children:`Paste the URL of a plugin archive. Its skills and MCP servers are installed into this project.`})]}),t[10]=b):b=t[10];let x;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Q.jsx)(q,{htmlFor:`add-skill-url`,children:`URL`}),t[11]=x):x=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]===_?C=t[14]:(C=e=>{e.key===`Enter`&&(e.preventDefault(),_())},t[13]=_,t[14]=C);let w;t[15]!==C||t[16]!==a?(w=(0,Q.jsx)(K,{id:`add-skill-url`,placeholder:`https://example.com/my-plugin.zip`,value:a,onChange:S,autoFocus:!0,onKeyDown:C}),t[15]=C,t[16]=a,t[17]=w):w=t[17];let T;t[18]===c?T=t[19]:(T=c?(0,Q.jsx)(`p`,{className:v(o.caption,`text-destructive`),children:c}):null,t[18]=c,t[19]=T);let E;t[20]!==w||t[21]!==T?(E=(0,Q.jsx)(`div`,{className:`grid gap-4 py-2`,children:(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[x,w,T]})}),t[20]=w,t[21]=T,t[22]=E):E=t[22];let D;t[23]===p?D=t[24]:(D=(0,Q.jsx)(y,{variant:`outline`,onClick:()=>p(!1),children:`Cancel`}),t[23]=p,t[24]=D);let O;t[25]===a?O=t[26]:(O=a.trim(),t[25]=a,t[26]=O);let k=!O,A;t[27]!==_||t[28]!==k?(A=(0,Q.jsx)(y,{onClick:_,disabled:k,children:`Continue`}),t[27]=_,t[28]=k,t[29]=A):A=t[29];let j;t[30]!==D||t[31]!==A?(j=(0,Q.jsxs)(B,{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,Q.jsxs)(U,{className:`sm:max-w-lg`,children:[b,E,j]}),t[33]=E,t[34]=j,t[35]=M):M=t[35];let N;return t[36]!==p||t[37]!==n||t[38]!==M?(N=(0,Q.jsx)(G,{open:n,onOpenChange:p,children:M}),t[36]=p,t[37]=n,t[38]=M,t[39]=N):N=t[39],N}function ut(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(...ut(n.children))}return t}function dt(e){return`.agents/skills/${e}/SKILL.md`}function ft(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 pt(e){let t=(0,X.c)(9),{items:n,installedFilePaths:r,onPreview:i}=e,a;if(t[0]!==r||t[1]!==n||t[2]!==i){let e;t[4]!==r||t[5]!==i?(e=e=>{let t=dt(e.id),n=r.has(t);return(0,Q.jsx)(Ge,{className:`bg-background hover:bg-background`,name:Ue(e.name),description:e.description,installed:n,onClick:()=>{n||i(e)},showInstalledControls:!1},e.id)},t[4]=r,t[5]=i,t[6]=e):e=t[6],a=n.map(e),t[0]=r,t[1]=n,t[2]=i,t[3]=a}else a=t[3];let o;return t[7]===a?o=t[8]:(o=(0,Q.jsx)(Le,{children:a}),t[7]=a,t[8]=o),o}function mt(e){let t=(0,X.c)(21),{skills:n,threadId:r,onOpenSkill:i,onDelete:a,onAddManual:o,onAddUrl:s}=e,c=!r,l;t[0]!==o||t[1]!==s?(l=e=>{e===`manual`?o():s()},t[0]=o,t[1]=s,t[2]=l):l=t[2];let u;t[3]!==c||t[4]!==l?(u=(0,Q.jsx)(J,{title:`Installed Skills`,description:`Reusable instruction sets that guide agent behavior in this project.`,action:(0,Q.jsx)(ot,{manualDisabled:c,onSelectMode:l}),sticky:!1}),t[3]=c,t[4]=l,t[5]=u):u=t[5];let d;t[6]===r?d=t[7]:(d=!r&&(0,Q.jsx)(we,{children:`Select a thread to add or install skills.`}),t[6]=r,t[7]=d);let f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f={icon:g,title:`No skills installed`,description:`Add skills to extend agent capabilities with reusable instructions.`},t[8]=f):f=t[8];let p;t[9]===i?p=t[10]:(p=e=>i(e.path),t[9]=i,t[10]=p);let m;t[11]!==a||t[12]!==n||t[13]!==p?(m=(0,Q.jsx)(ze,{showHeader:!1,compact:!0,loading:!1,items:n,emptyState:f,getKey:vt,renderContent:_t,onItemClick:p,itemClickLabel:gt,onDelete:a,deleteAriaLabel:ht,deleteTooltip:`Remove this skill from the project`}),t[11]=a,t[12]=n,t[13]=p,t[14]=m):m=t[14];let h;t[15]!==d||t[16]!==m?(h=(0,Q.jsxs)(be,{className:`pt-6`,children:[d,m]}),t[15]=d,t[16]=m,t[17]=h):h=t[17];let _;return t[18]!==u||t[19]!==h?(_=(0,Q.jsxs)(he,{className:`shrink-0`,children:[u,h]}),t[18]=u,t[19]=h,t[20]=_):_=t[20],_}function ht(e){return`Delete ${e.name}`}function gt(e){return`Open ${e.name} in Files`}function _t(e){return(0,Q.jsx)(`span`,{className:v(o.body,`truncate text-left`),children:e.name})}function vt(e){return e.id}function yt(e){let t=(0,X.c)(40),{availableSearch:n,onSearchChange:r,selectedSourceId:i,onSourceChange:a,sources:o,selectedCustomSource:s,availableCatalogLoading:c,isDefaultSource:l,filteredPopular:u,filteredCatalog:d,installedFilePaths:f,onPreviewPopular:h,onPreviewCatalog:g,onAddSource:_}=e,v;t[0]!==n||t[1]!==r?(v=(0,Q.jsx)(Re,{placeholder:`Search`,value:n,onChange:r,className:`mb-0 w-64`}),t[0]=n,t[1]=r,t[2]=v):v=t[2];let b;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Q.jsx)(xe,{className:`w-40`,"aria-label":`Skill source`,children:(0,Q.jsx)(Ce,{placeholder:`Default`})}),t[3]=b):b=t[3];let x;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,Q.jsx)(me,{value:`default`,children:`Default`}),t[4]=x):x=t[4];let S;t[5]===o?S=t[6]:(S=o.map(bt),t[5]=o,t[6]=S);let C;t[7]===S?C=t[8]:(C=(0,Q.jsxs)(Ae,{children:[x,S]}),t[7]=S,t[8]=C);let w;t[9]!==a||t[10]!==i||t[11]!==C?(w=(0,Q.jsxs)(Te,{value:i,onValueChange:a,children:[b,C]}),t[9]=a,t[10]=i,t[11]=C,t[12]=w):w=t[12];let T=s?`Edit skill source`:`Add skill source`,E;t[13]===s?E=t[14]:(E=s?(0,Q.jsx)(p,{className:`h-4 w-4`}):(0,Q.jsx)(m,{className:`h-4 w-4`}),t[13]=s,t[14]=E);let D;t[15]!==_||t[16]!==T||t[17]!==E?(D=(0,Q.jsx)(L,{asChild:!0,children:(0,Q.jsx)(y,{type:`button`,variant:`outline`,size:`icon`,className:`shrink-0`,onClick:_,"aria-label":T,children:E})}),t[15]=_,t[16]=T,t[17]=E,t[18]=D):D=t[18];let O=s?`Edit this custom skill source`:`Add a custom skill source`,k;t[19]===O?k=t[20]:(k=(0,Q.jsx)(re,{children:O}),t[19]=O,t[20]=k);let A;t[21]!==k||t[22]!==D?(A=(0,Q.jsx)(ie,{children:(0,Q.jsxs)(ae,{children:[D,k]})}),t[21]=k,t[22]=D,t[23]=A):A=t[23];let j;t[24]!==v||t[25]!==A||t[26]!==w?(j=(0,Q.jsx)(J,{title:`Available Skills`,description:`Browse and install skills from the catalog.`,action:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[v,w,A]}),sticky:!1}),t[24]=v,t[25]=A,t[26]=w,t[27]=j):j=t[27];let M;t[28]!==c||t[29]!==n||t[30]!==d||t[31]!==u||t[32]!==f||t[33]!==l||t[34]!==g||t[35]!==h?(M=(0,Q.jsx)(be,{className:`pt-6`,children:c?(0,Q.jsx)(R,{className:`py-12`,label:`Loading skills...`}):l?u.length===0?(0,Q.jsx)(Ie,{searchQuery:n,emptyLabel:`No available skills found.`}):(0,Q.jsx)(pt,{items:u,installedFilePaths:f,onPreview:h}):d.length===0?(0,Q.jsx)(Ie,{searchQuery:n,emptyLabel:`No available skills found.`}):(0,Q.jsx)(pt,{items:d,installedFilePaths:f,onPreview:g})}),t[28]=c,t[29]=n,t[30]=d,t[31]=u,t[32]=f,t[33]=l,t[34]=g,t[35]=h,t[36]=M):M=t[36];let N;return t[37]!==j||t[38]!==M?(N=(0,Q.jsxs)(he,{className:`shrink-0`,children:[j,M]}),t[37]=j,t[38]=M,t[39]=N):N=t[39],N}function bt(e){return(0,Q.jsx)(me,{value:e.id,children:e.title},e.id)}function xt(){let{selectedProjectId:e,selectedThreadId:t,items:n,loading:r,deleteConfirm:i,setDeleteConfirm:o,deleting:c,installedFilePaths:l,setInstalledFilePaths:u,loadItems:d,handleDelete:f,handleOpenInExplorer:p,triggerExplorerRefresh:m}=Ke({findItems:ut,installedPathSuffix:`/SKILL.md`,explorerPathSuffix:`/SKILL.md`,sortByName:!0,removedToastTitle:`Skill removed`}),h=s(e=>e.projects),g=(0,Z.useMemo)(()=>h.find(t=>t.projectId===e)??null,[h,e]),[v,y]=(0,Z.useState)(!1),[b,x]=(0,Z.useState)(!1),[S,C]=(0,Z.useState)(null),[w,T]=(0,Z.useState)([]),[E,D]=(0,Z.useState)(!0),[O,k]=(0,Z.useState)(null),[j,M]=(0,Z.useState)(!1),{query:te,setQuery:ne,deferredQuery:P}=Be(),{sources:F,selectedSourceId:I,setSelectedSourceId:L,addSource:re,updateSource:ie,removeSource:ae,catalogSkills:R,isLoadingCatalog:B}=tt(),V=I==="default",H=(0,Z.useMemo)(()=>a(I)?F.find(e=>e.id===I)??null:null,[I,F]);(0,Z.useEffect)(()=>{D(!0),A().then(T).catch(()=>T([])).finally(()=>D(!1))},[]);let W=Fe(e?`${e}:${t??``}`:null,[r,E]),oe=(0,Z.useCallback)(async e=>{let n=`.agents/skills/${e.id}/SKILL.md`;if(!t||l.has(n))return;let r=e.sourceId??(I==="default"?void 0:I);try{if(r)await ee(t,r,e.id,`.agents/skills/${e.id}`);else{let r=[`---`,`name: ${e.id}`,`description: ${e.description}`];e.allowedTools&&r.push(`allowed-tools: ${e.allowedTools}`),e.license&&r.push(`license: ${e.license}`),r.push(`---`,``,e.instructions??``),await N(t,n,r.join(`
|
|
3
|
-
`))}u(e=>new Set(e).add(n)),m(),d(),z({title:`Skill installed`,description:e.name})}catch(e){throw z({title:`Error`,description:e instanceof Error?e.message:`Failed to install skill`,variant:`destructive`}),e}},[t,I,l,m,d]),se=(0,Z.useMemo)(()=>ft(w,P),[w,P]),ce=(0,Z.useMemo)(()=>ft(R,P),[R,P]),le=!V&&B&&R.length===0;return e?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(Se,{loading:W,children:[(0,Q.jsx)(mt,{skills:n,threadId:t,onOpenSkill:p,onDelete:o,onAddManual:()=>y(!0),onAddUrl:()=>x(!0)}),(0,Q.jsx)(yt,{availableSearch:te,onSearchChange:ne,selectedSourceId:I,onSourceChange:L,sources:F,selectedCustomSource:H,availableCatalogLoading:le,isDefaultSource:V,filteredPopular:se,filteredCatalog:ce,installedFilePaths:l,onPreviewPopular:e=>k(e),onPreviewCatalog:e=>k({...e,sourceId:e.sourceId??I}),onAddSource:()=>M(!0)})]}),(0,Q.jsx)(Qe,{open:O!==null,onOpenChange:e=>{e||k(null)},skill:O,catalogSourceId:V?void 0:I,onInstall:oe}),(0,Q.jsx)(it,{open:j,onOpenChange:M,editingSource:H,onSourceAdded:e=>{re(e),z({title:`Skill source added`,description:`${e.title} is now available in the source list.`})},onSourceUpdated:e=>{ie(e),z({title:`Skill source updated`,description:`${e.title} has been saved.`})},onSourceDeleted:e=>{ae(e),z({title:`Skill source removed`,description:`The custom source has been deleted.`})}}),(0,Q.jsx)(G,{open:v,onOpenChange:y,children:(0,Q.jsx)(U,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,Q.jsx)(qe,{threadId:t,onSkillCreated:()=>{y(!1),d(),m()}})})}),(0,Q.jsx)(lt,{open:b,onOpenChange:x,onSubmit:e=>C(e)}),(0,Q.jsx)(Oe,{url:S,projectId:e,projectName:g?_(g):null,projects:h,onSelectProject:()=>{},onClose:()=>C(null),onInstalled:({mcpOnly:e})=>{d(),m(),z({title:e?`MCP server installed`:`Plugin installed`,description:e?`Its MCP servers were added to this project.`:`Its skills and MCP servers were added to this project.`})}}),(0,Q.jsx)(Pe,{open:i!==null,onOpenChange:e=>!e&&o(null),title:`Delete Skill`,description:`Are you sure you want to delete the skill "${i?.name}"? This action cannot be undone.`,onConfirm:()=>{i&&f(i)},confirming:c})]}):(0,Q.jsx)(ye,{children:`Select a project to manage skills.`})}export{xt as SettingsSkillsView,xt as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n,t as r}from"./react-vendor-Ee0-5T4I.js";import{a as i,at as a}from"./dist-ZlK7I-y-.js";import{W as o,r as s,z as c}from"./store-Be_7VK0D.js";import{D as l,Et as u,In as d,zn as f}from"./dist-DIjomljy.js";import{a as p,t as m}from"./utils-CT-Dw22R.js";import{t as h}from"./button-sfGyFWfz.js";import{i as g,n as _,t as v}from"./tooltip-B6ziVyTv.js";import{n as y}from"./async-loading-fallback-C173aA9v.js";import{n as ee}from"./use-toast-xpb5jNtN.js";import{$ as te,Ln as ne,ft as re,hn as ie,kn as ae}from"./index-Bmkj1Qwa.js";import{t as oe}from"./delete-confirm-dialog-B99gEJN8.js";import{i as se,r as b}from"./table-B2TDbGGl.js";import{t as ce}from"./settings-list-PMi8ZniW.js";import{t as le}from"./is-macos-client-BIb4ZSEa.js";var x=t(),S=e(n(),1),C=r(),ue=36,de=`table-fixed`,fe=`h-9 w-48 bg-transparent py-2`,pe=`h-9 bg-transparent py-2`,me=`h-9 w-32 bg-transparent py-2`,he=`h-9 w-10 bg-transparent py-2`,ge=m(a.bodyMuted,`w-48 truncate py-1.5`),_e=m(a.body,`truncate py-1.5`),ve=m(a.bodyMuted,`w-32 truncate py-1.5`),ye=`w-10 py-1.5`,be={column:`project`,direction:`asc`};function xe(e){let t=(0,x.c)(4),n;if(t[0]!==e){let{style:r,...i}=e,o;t[2]===r?o=t[3]:(o={...r,width:`100%`},t[2]=r,t[3]=o),n=(0,C.jsx)(`table`,{...i,style:o,className:m(`w-full caption-bottom`,de,a.body,i.className)}),t[0]=e,t[1]=n}else n=t[1];return n}function Se(e){let t=(0,x.c)(5),n;t[0]===e.className?n=t[1]:(n=m(`hidden`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,C.jsx)(`thead`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function Ce(e){let t=(0,x.c)(5),n;t[0]===e.className?n=t[1]:(n=m(`[&_tr:last-child]:border-0`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,C.jsx)(`tbody`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function we(e){let t=(0,x.c)(5),n;t[0]===e.className?n=t[1]:(n=m(`frosted-scrollbar`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,C.jsx)(`div`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function w(e,t){return t?i(t,e):e}function T(e,t,n){switch(t){case`project`:return e.projectName;case`path`:return w(e.path,n);case`branch`:return e.branch}}function Te(e){let t=[];for(let n of e){let e=p(n);for(let r of n.threads)t.push({threadId:r.threadId,projectId:n.projectId,projectName:e,path:r.path,branch:r.currentBranch||r.title})}return t}function Ee(e,t,n,r){return[...e].sort((e,i)=>{let a=T(e,t,r).localeCompare(T(i,t,r),void 0,{sensitivity:`base`});return n===`asc`?a:-a})}function E(e){let t=(0,x.c)(17),{label:n,column:r,sortColumn:i,sortDirection:a,className:o,onSort:s}=e,c=i===r,l=a===`asc`?d:f,u=c?`text-foreground`:`text-muted-foreground`,p;t[0]===u?p=t[1]:(p=m(`inline-flex items-center gap-1 transition-colors hover:text-foreground`,u),t[0]=u,t[1]=p);let h;t[2]!==r||t[3]!==s?(h=()=>s(r),t[2]=r,t[3]=s,t[4]=h):h=t[4];let g=c?a===`asc`?`ascending`:`descending`:`none`,_;t[5]!==l||t[6]!==c?(_=c?(0,C.jsx)(l,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":`true`}):null,t[5]=l,t[6]=c,t[7]=_):_=t[7];let v;t[8]!==n||t[9]!==p||t[10]!==h||t[11]!==g||t[12]!==_?(v=(0,C.jsxs)(`button`,{type:`button`,className:p,onClick:h,"aria-sort":g,children:[n,_]}),t[8]=n,t[9]=p,t[10]=h,t[11]=g,t[12]=_,t[13]=v):v=t[13];let y;return t[14]!==o||t[15]!==v?(y=(0,C.jsx)(se,{className:o,children:v}),t[14]=o,t[15]=v,t[16]=y):y=t[16],y}function D(){let e=(0,x.c)(55),t=s(Fe),n=s(Pe),r=s(Ne),i=s(Me),c=s(je),d=s(Ae),f=s(ke),p=s(Oe),{handleDeleteThread:T,refreshWorkspaces:D}=te(),{toast:O}=ee(),[k,Ie]=(0,S.useState)(null),[A,Le]=(0,S.useState)(be),Re=le()?`Finder`:`Explorer`,j,M;e[0]===D?(j=e[1],M=e[2]):(j=()=>{D()},M=[D],e[0]=D,e[1]=j,e[2]=M),(0,S.useEffect)(j,M);let N;e[3]!==n||e[4]!==t||e[5]!==A.column||e[6]!==A.direction?(N=Ee(Te(t),A.column,A.direction,n),e[3]=n,e[4]=t,e[5]=A.column,e[6]=A.direction,e[7]=N):N=e[7];let P=N,F;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(F=function(e){Le(t=>t.column===e?{column:e,direction:t.direction===`asc`?`desc`:`asc`}:{column:e,direction:`asc`})},e[8]=F):F=e[8];let ze=F,I;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(I=function(e){let{...t}=e;return(0,C.jsx)(`tr`,{...t,className:m(`group border-0 transition-colors hover:bg-muted/50`,t.className)})},e[9]=I):I=e[9];let Be=I,L;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(L={Table:xe,TableHead:Se,TableBody:Ce,TableRow:Be,Scroller:we},e[10]=L):L=e[10];let Ve=L,R;e[11]!==T||e[12]!==k?(R=function(){if(!k)return;let{projectId:e,threadId:t}=k;Ie(null),T(e,t)},e[11]=T,e[12]=k,e[13]=R):R=e[13];let He=R,z;e[14]===O?z=e[15]:(z=async function(e){try{await re(e.threadId,`.`)}catch{O({title:`Error`,description:`Failed to open folder in ${Re}.`,variant:`destructive`})}},e[14]=O,e[15]=z);let Ue=z,B;e[16]!==n||e[17]!==d||e[18]!==i||e[19]!==Ue||e[20]!==p||e[21]!==c||e[22]!==f?(B=function(e,t){let r=i.includes(t.threadId),s=o(t.threadId,c,f,p),y=d.includes(t.threadId),ee=!s&&!r&&!y,te=w(t.path,n);return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(b,{className:ge,children:t.projectName}),(0,C.jsx)(b,{className:_e,children:(0,C.jsx)(`button`,{type:`button`,className:m(a.body,`block w-full truncate text-left hover:underline`),title:`${t.path}\nOpen in ${Re}`,onClick:()=>void Ue(t),children:te})}),(0,C.jsx)(b,{className:ve,children:t.branch}),(0,C.jsx)(b,{className:ye,children:(0,C.jsx)(`div`,{className:`ml-auto flex h-7 w-7 items-center justify-center`,children:r?(0,C.jsx)(u,{className:`h-4 w-4 animate-spin text-muted-foreground`,"aria-label":`Deleting`}):ee?(0,C.jsxs)(v,{children:[(0,C.jsx)(g,{asChild:!0,children:(0,C.jsxs)(h,{variant:`ghost`,size:`icon-sm`,className:ce,onClick:e=>{e.stopPropagation(),Ie(t)},children:[(0,C.jsx)(l,{}),(0,C.jsx)(`span`,{className:`sr-only`,children:`Delete workspace`})]})}),(0,C.jsx)(_,{side:`left`,children:`Delete branch and files from the repo`})]}):null})})]})},e[16]=n,e[17]=d,e[18]=i,e[19]=Ue,e[20]=p,e[21]=c,e[22]=f,e[23]=B):B=e[23];let We=B,V;e[24]===Symbol.for(`react.memo_cache_sentinel`)?(V=m(`w-full caption-bottom`,de,a.body),e[24]=V):V=e[24];let H,U,W;e[25]!==A.column||e[26]!==A.direction?(H=(0,C.jsx)(E,{label:`Project`,column:`project`,sortColumn:A.column,sortDirection:A.direction,className:fe,onSort:ze}),U=(0,C.jsx)(E,{label:`Path`,column:`path`,sortColumn:A.column,sortDirection:A.direction,className:pe,onSort:ze}),W=(0,C.jsx)(E,{label:`Branch`,column:`branch`,sortColumn:A.column,sortDirection:A.direction,className:me,onSort:ze}),e[25]=A.column,e[26]=A.direction,e[27]=H,e[28]=U,e[29]=W):(H=e[27],U=e[28],W=e[29]);let G;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(G=(0,C.jsx)(se,{className:he,children:(0,C.jsx)(`span`,{className:`sr-only`,children:`Actions`})}),e[30]=G):G=e[30];let K;e[31]!==H||e[32]!==U||e[33]!==W?(K=(0,C.jsx)(`table`,{className:V,children:(0,C.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,C.jsxs)(`tr`,{children:[H,U,W,G]})})}),e[31]=H,e[32]=U,e[33]=W,e[34]=K):K=e[34];let Ge=K,Ke=P.length>0?Ge:void 0,q;e[35]===Ke?q=e[36]:(q=(0,C.jsx)(ae,{title:`Storage`,description:`Workspaces and branches stored on disk across all projects.`,tableHeader:Ke}),e[35]=Ke,e[36]=q);let J;e[37]!==r||e[38]!==We||e[39]!==P?(J=(0,C.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:r&&P.length===0?(0,C.jsx)(y,{label:`Loading workspaces...`,size:`lg`}):P.length===0?(0,C.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,C.jsxs)(`div`,{className:`max-w-md space-y-2 text-center`,children:[(0,C.jsx)(`h3`,{className:a.emptyStateTitle,children:`No workspaces`}),(0,C.jsx)(`p`,{className:a.bodyMuted,children:`No branches or workspaces found yet.`})]})}):(0,C.jsx)(ie,{style:{height:`100%`},data:P,computeItemKey:De,itemContent:We,defaultItemHeight:ue,increaseViewportBy:ue*5,components:Ve})}),e[37]=r,e[38]=We,e[39]=P,e[40]=J):J=e[40];let Y;e[41]!==q||e[42]!==J?(Y=(0,C.jsxs)(ne,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[q,J]}),e[41]=q,e[42]=J,e[43]=Y):Y=e[43];let qe=k!==null,X;e[44]===Symbol.for(`react.memo_cache_sentinel`)?(X=e=>{e||Ie(null)},e[44]=X):X=e[44];let Z;e[45]!==n||e[46]!==k?(Z=k?`Are you sure you want to delete the workspace at "${w(k.path,n)}"? This removes the branch and all its files. This action cannot be undone.`:``,e[45]=n,e[46]=k,e[47]=Z):Z=e[47];let Q;e[48]!==He||e[49]!==qe||e[50]!==Z?(Q=(0,C.jsx)(oe,{open:qe,onOpenChange:X,title:`Delete workspace?`,description:Z,onConfirm:He,confirmLabel:`Delete`,confirmingLabel:`Deleting...`}),e[48]=He,e[49]=qe,e[50]=Z,e[51]=Q):Q=e[51];let $;return e[52]!==Y||e[53]!==Q?($=(0,C.jsxs)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:[Y,Q]}),e[52]=Y,e[53]=Q,e[54]=$):$=e[54],$}function De(e,t){return t.threadId}function Oe(e){return e.pendingChatMessage}function ke(e){return c(e.threadStreamingStates)}function Ae(e){return e.completedThreadIds}function je(e){return e.processingThreadIds}function Me(e){return e.deletingThreadIds}function Ne(e){return e.projectsLoading}function Pe(e){return e.cloneRootPath}function Fe(e){return e.projects}export{D as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/settings-general-view-CVHlxpTM.js","assets/rolldown-runtime-aKtaBQYM.js","assets/index-Bmkj1Qwa.js","assets/react-vendor-Ee0-5T4I.js","assets/markdown-renderer-Dx9-Ljv0.js","assets/button-sfGyFWfz.js","assets/utils-CT-Dw22R.js","assets/dist-ZlK7I-y-.js","assets/dialog-CP2cYR59.js","assets/use-browser-overlay-block-DyprQSIG.js","assets/browser-overlay-block-CiDtkfup.js","assets/dist-DIjomljy.js","assets/dist-BZvmHCxP.js","assets/Combination-lwI_j-mU.js","assets/tooltip-B6ziVyTv.js","assets/dist-DiMgghKn.js","assets/dist-mdooLpmq.js","assets/use-toast-xpb5jNtN.js","assets/explorer-tab-context-BxUVwWQQ.js","assets/use-open-chat-dock-panel-D1D5bnsL.js","assets/chat-dock-context-DIyMsJHM.js","assets/api-ODizoHnY.js","assets/store-Be_7VK0D.js","assets/main-tab-context-Byl1LybL.js","assets/chunk-QFMPRPBF-COsSkB7x.js","assets/query-keys-5QPW6Dv-.js","assets/alert-dialog-FQ5_FqBX.js","assets/async-loading-fallback-C173aA9v.js","assets/scroll-area-nbNFO91g.js","assets/dist-OixawqbU.js","assets/use-suspense-resource-Dkz6ddFN.js","assets/suspense-resource-DnYnmTbs.js","assets/create-project-workspace-BiRMezO9.js","assets/ndjson-stream-DeGpE5o5.js","assets/scenic-chrome-CbN3vum7.js","assets/dist-CWq9XRXF.js","assets/dist-DjKXDRW7.js","assets/dist-CWnEmdyL.js","assets/dist-DrpdKPSI.js","assets/dist-CSssbxDI.js","assets/useInfiniteQuery-DUeUxDcu.js","assets/index-DPMRI86E.css","assets/toggle-group-BiUqOiP6.js","assets/use-settings-page-loading-BTySlInF.js","assets/is-macos-client-BIb4ZSEa.js","assets/project-settings-view-DniUno1i.js","assets/commit-method-fields-CYzy7rmY.js","assets/context-menu-Bo0OMC7-.js","assets/project-env-vars-view-DTGwl4wr.js","assets/project-model-aliases-view-CEDz_6NW.js","assets/project-tools-view-DknCaJu_.js","assets/providers-list-view-D_n1Ai6S.js","assets/model-list-controls-ChoemIJa.js","assets/sorting-DqwxPMRN.js","assets/async-error-boundary-DCDTsNTO.js","assets/card-D5k0GHxM.js","assets/settings-list-PMi8ZniW.js","assets/skeleton-DvLd14RU.js","assets/use-deferred-search-Dgxosq55.js","assets/pending-changes-Bn-0ak1d.js","assets/settings-models-view-DdRC4YXo.js","assets/table-B2TDbGGl.js","assets/settings-mcp-servers-view-B84c4h47.js","assets/delete-confirm-dialog-B99gEJN8.js","assets/switch-pIBaqatj.js","assets/settings-slack-view-OFNrG_DW.js","assets/settings-logs-view-64Aq1hEw.js","assets/settings-skills-view-DeVnXDl-.js","assets/mcp-server-card-DPNG9Up7.js","assets/use-installed-ai-files-BNrsyACe.js","assets/settings-rules-view-CGLh95Ta.js","assets/settings-slash-commands-view-DOo0BimH.js","assets/radio-group-CU59hGiA.js","assets/settings-subagents-view-D7o69YzB.js","assets/settings-instructions-view-Bpx_dUaJ.js","assets/settings-system-prompt-view-BFGfrXfe.js","assets/account-view-C_WBVXA3.js","assets/conversation-history-view-COFXqD0e.js","assets/settings-storage-view-DlyXWB__.js","assets/settings-statistics-view-DpaSoVqG.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{c as a,o,s}from"./chunk-QFMPRPBF-COsSkB7x.js";import{at as c,x as l}from"./dist-ZlK7I-y-.js";import{J as u,n as d,r as f}from"./store-Be_7VK0D.js";import{A as p,C as m,G as h,I as g,It as _,J as v,Lt as y,Mn as b,Nn as x,Pn as S,S as C,Tt as w,U as T,b as E,dt as D,jn as O,k,vn as A,x as j,y as M}from"./dist-DIjomljy.js";import{a as N,o as P,t as F}from"./utils-CT-Dw22R.js";import{r as I,t as L}from"./button-sfGyFWfz.js";import{Tt as R,ln as z,qt as B}from"./api-ODizoHnY.js";import{i as V,n as H,r as U,t as W}from"./tooltip-B6ziVyTv.js";import{n as G}from"./async-loading-fallback-C173aA9v.js";import{n as ee}from"./scroll-area-nbNFO91g.js";import{a as te,i as K,n as ne,o as re,r as ie,s as ae,t as oe}from"./dist-BZvmHCxP.js";import{Dt as se,Ft as ce,Hn as le,I as ue,In as de,It as q,R as fe,c as J,d as pe,l as me,u as he,z as ge}from"./index-Bmkj1Qwa.js";import{t as _e}from"./skeleton-DvLd14RU.js";var Y=t(),X=e(n(),1),Z=i(),ve=(0,X.forwardRef)(function(e,t){let n=(0,Y.c)(29),{sidebar:r,children:i,defaultSidebarSize:a,minSidebarSize:o,maxSidebarSize:s,minContentSize:c,collapsible:l,collapsedSize:u,className:d,onCollapse:f,onExpand:p,isMobile:m,mobileShowSidebar:h,sidebarClassName:g}=e,_=a===void 0?25:a,v=o===void 0?20:o,y=s===void 0?30:s,b=c===void 0?40:c,x=l===void 0?!1:l,S=u===void 0?0:u,C=d===void 0?``:d,w=m===void 0?!1:m,T=h===void 0?!0:h,E=w&&!T,D=w&&T,O=`h-full ${C}`,k=w?100:_,A=w?50:v,j=w?100:y,M=E&&`hidden`,N;n[0]!==g||n[1]!==M?(N=F(`border-r border-transparent`,M,g),n[0]=g,n[1]=M,n[2]=N):N=n[2];let P;n[3]!==S||n[4]!==x||n[5]!==f||n[6]!==p||n[7]!==t||n[8]!==r||n[9]!==k||n[10]!==A||n[11]!==j||n[12]!==N?(P=(0,Z.jsx)(he,{ref:t,defaultSize:k,minSize:A,maxSize:j,collapsible:x,collapsedSize:S,onCollapse:f,onExpand:p,className:N,children:r}),n[3]=S,n[4]=x,n[5]=f,n[6]=p,n[7]=t,n[8]=r,n[9]=k,n[10]=A,n[11]=j,n[12]=N,n[13]=P):P=n[13];let I;n[14]===w?I=n[15]:(I=!w&&(0,Z.jsx)(me,{withHandle:!0,className:`ml-[-10px]`}),n[14]=w,n[15]=I);let L=D&&`hidden`,R;n[16]===L?R=n[17]:(R=F(`overflow-hidden`,L),n[16]=L,n[17]=R);let z;n[18]!==i||n[19]!==b||n[20]!==R?(z=(0,Z.jsx)(he,{minSize:b,className:R,children:i}),n[18]=i,n[19]=b,n[20]=R,n[21]=z):z=n[21];let B;n[22]!==P||n[23]!==I||n[24]!==z?(B=(0,Z.jsxs)(pe,{direction:`horizontal`,className:`h-full`,children:[P,I,z]}),n[22]=P,n[23]=I,n[24]=z,n[25]=B):B=n[25];let V;return n[26]!==O||n[27]!==B?(V=(0,Z.jsx)(`div`,{className:O,children:B}),n[26]=O,n[27]=B,n[28]=V):V=n[28],V});function ye(e){let t=(0,Y.c)(5),{className:n}=e,r;t[0]===n?r=t[1]:(r=F(`h-4 w-4`,n),t[0]=n,t[1]=r);let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Z.jsx)(`path`,{d:`M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.528 2.528 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.528 2.528 0 0 1-2.52-2.523 2.528 2.528 0 0 1 2.52-2.52h6.313A2.528 2.528 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z`}),t[2]=i):i=t[2];let a;return t[3]===r?a=t[4]:(a=(0,Z.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,"aria-hidden":`true`,className:r,children:i}),t[3]=r,t[4]=a),a}var be=re,xe=te,Se=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(K,{className:a,...i,ref:t}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Se.displayName=K.displayName;var Ce=P(`fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500`,{variants:{side:{top:`inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top`,bottom:`inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom`,left:`inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm`,right:`inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm`}},defaultVariants:{side:`right`}}),we=X.forwardRef((e,t)=>{let n=(0,Y.c)(15),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({side:o,className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=o===void 0?`right`:o,c;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(Se,{}),n[5]=c):c=n[5];let l;n[6]!==i||n[7]!==s?(l=F(Ce({side:s}),i),n[6]=i,n[7]=s,n[8]=l):l=n[8];let u;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsxs)(oe,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,Z.jsx)(M,{className:`h-4 w-4`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[9]=u):u=n[9];let d;return n[10]!==r||n[11]!==a||n[12]!==t||n[13]!==l?(d=(0,Z.jsxs)(xe,{children:[c,(0,Z.jsxs)(ne,{ref:t,className:l,...a,children:[r,u]})]}),n[10]=r,n[11]=a,n[12]=t,n[13]=l,n[14]=d):d=n[14],d});we.displayName=ne.displayName;var Te=e=>{let t=(0,Y.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex flex-col space-y-2 text-center sm:text-left`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};Te.displayName=`SheetHeader`;var Ee=e=>{let t=(0,Y.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=F(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(`div`,{className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a};Ee.displayName=`SheetFooter`;var De=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(c.dialogTitle,`text-foreground`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(ae,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});De.displayName=ae.displayName;var Oe=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(c.dialogDescription,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(ie,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Oe.displayName=ie.displayName;var ke=`sidebar:state`,Ae=3600*24*7,je=`16rem`,Me=`18rem`,Ne=`3rem`,Pe=X.createContext(null);function Q(){let e=X.useContext(Pe);if(!e)throw Error(`useSidebar must be used within a SidebarProvider.`);return e}var Fe=X.forwardRef((e,t)=>{let n=(0,Y.c)(37),r,i,a,o,s,c,l;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5],c=n[6],l=n[7]):({defaultOpen:l,open:a,onOpenChange:s,className:i,style:c,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s,n[6]=c,n[7]=l);let u=l===void 0?!0:l,d=J(),[f,p]=X.useState(!1),[m,h]=X.useState(u),g=a??m,_;n[8]!==g||n[9]!==s?(_=e=>{let t=typeof e==`function`?e(g):e;s?s(t):h(t),document.cookie=`${ke}=${t}; path=/; max-age=${Ae}`},n[8]=g,n[9]=s,n[10]=_):_=n[10];let v=_,y;n[11]!==d||n[12]!==v?(y=()=>d?p(Ie):v(Le),n[11]=d,n[12]=v,n[13]=y):y=n[13];let b=y,x,S;n[14]===b?(x=n[15],S=n[16]):(x=()=>{let e=e=>{e.key===`b`&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),b())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},S=[b],n[14]=b,n[15]=x,n[16]=S),X.useEffect(x,S);let C=g?`expanded`:`collapsed`,w;n[17]!==d||n[18]!==g||n[19]!==f||n[20]!==v||n[21]!==C||n[22]!==b?(w={state:C,open:g,setOpen:v,isMobile:d,openMobile:f,setOpenMobile:p,toggleSidebar:b},n[17]=d,n[18]=g,n[19]=f,n[20]=v,n[21]=C,n[22]=b,n[23]=w):w=n[23];let T=w,E;n[24]===c?E=n[25]:(E={"--sidebar-width":je,"--sidebar-width-icon":Ne,...c},n[24]=c,n[25]=E);let D=E,O;n[26]===i?O=n[27]:(O=F(`group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar`,i),n[26]=i,n[27]=O);let k;n[28]!==r||n[29]!==o||n[30]!==t||n[31]!==D||n[32]!==O?(k=(0,Z.jsx)(U,{delayDuration:0,children:(0,Z.jsx)(`div`,{style:D,className:O,ref:t,...o,children:r})}),n[28]=r,n[29]=o,n[30]=t,n[31]=D,n[32]=O,n[33]=k):k=n[33];let A;return n[34]!==T||n[35]!==k?(A=(0,Z.jsx)(Pe.Provider,{value:T,children:k}),n[34]=T,n[35]=k,n[36]=A):A=n[36],A});Fe.displayName=`SidebarProvider`;function Ie(e){return!e}function Le(e){return!e}var Re=X.forwardRef((e,t)=>{let n=(0,Y.c)(47),r,i,a,o,s,c;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5],c=n[6]):({side:o,variant:s,collapsible:c,className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s,n[6]=c);let l=o===void 0?`left`:o,u=s===void 0?`sidebar`:s,d=c===void 0?`offcanvas`:c,{isMobile:f,state:p,openMobile:m,setOpenMobile:h}=Q();if(d===`none`){let e;n[7]===i?e=n[8]:(e=F(`flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground`,i),n[7]=i,n[8]=e);let o;return n[9]!==r||n[10]!==a||n[11]!==t||n[12]!==e?(o=(0,Z.jsx)(`div`,{className:e,ref:t,...a,children:r}),n[9]=r,n[10]=a,n[11]=t,n[12]=e,n[13]=o):o=n[13],o}if(f){let e;n[14]===Symbol.for(`react.memo_cache_sentinel`)?(e={"--sidebar-width":Me},n[14]=e):e=n[14];let t;n[15]===r?t=n[16]:(t=(0,Z.jsx)(`div`,{className:`flex h-full w-full flex-col`,children:r}),n[15]=r,n[16]=t);let i;n[17]!==l||n[18]!==t?(i=(0,Z.jsx)(we,{"data-sidebar":`sidebar`,"data-mobile":`true`,className:`w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden`,style:e,side:l,children:t}),n[17]=l,n[18]=t,n[19]=i):i=n[19];let o;return n[20]!==m||n[21]!==a||n[22]!==h||n[23]!==i?(o=(0,Z.jsx)(be,{open:m,onOpenChange:h,...a,children:i}),n[20]=m,n[21]=a,n[22]=h,n[23]=i,n[24]=o):o=n[24],o}let g=p===`collapsed`?d:``,_=u===`floating`||u===`inset`?`group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]`:`group-data-[collapsible=icon]:w-[--sidebar-width-icon]`,v;n[25]===_?v=n[26]:(v=F(`relative h-svh w-[--sidebar-width] bg-transparent`,`group-data-[collapsible=offcanvas]:w-0`,`group-data-[side=right]:rotate-180`,_),n[25]=_,n[26]=v);let y;n[27]===v?y=n[28]:(y=(0,Z.jsx)(`div`,{className:v}),n[27]=v,n[28]=y);let b=l===`left`?`left-0`:`right-0`,x=u===`floating`||u===`inset`?`p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]`:`group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l`,S;n[29]!==i||n[30]!==b||n[31]!==x?(S=F(`fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] md:flex`,b,`group-data-[collapsible=offcanvas]:hidden`,x,i),n[29]=i,n[30]=b,n[31]=x,n[32]=S):S=n[32];let C;n[33]===r?C=n[34]:(C=(0,Z.jsx)(`div`,{"data-sidebar":`sidebar`,className:`flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow`,children:r}),n[33]=r,n[34]=C);let w;n[35]!==a||n[36]!==S||n[37]!==C?(w=(0,Z.jsx)(`div`,{className:S,...a,children:C}),n[35]=a,n[36]=S,n[37]=C,n[38]=w):w=n[38];let T;return n[39]!==t||n[40]!==l||n[41]!==p||n[42]!==w||n[43]!==g||n[44]!==y||n[45]!==u?(T=(0,Z.jsxs)(`div`,{ref:t,className:`group peer hidden md:block text-sidebar-foreground`,"data-state":p,"data-collapsible":g,"data-variant":u,"data-side":l,children:[y,w]}),n[39]=t,n[40]=l,n[41]=p,n[42]=w,n[43]=g,n[44]=y,n[45]=u,n[46]=T):T=n[46],T});Re.displayName=`Sidebar`;var ze=X.forwardRef((e,t)=>{let n=(0,Y.c)(16),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,onClick:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let{toggleSidebar:o}=Q(),s;n[4]===r?s=n[5]:(s=F(`h-7 w-7`,r),n[4]=r,n[5]=s);let c;n[6]!==i||n[7]!==o?(c=e=>{i?.(e),o()},n[6]=i,n[7]=o,n[8]=c):c=n[8];let l,u;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(D,{}),u=(0,Z.jsx)(`span`,{className:`sr-only`,children:`Toggle Sidebar`}),n[9]=l,n[10]=u):(l=n[9],u=n[10]);let d;return n[11]!==a||n[12]!==t||n[13]!==s||n[14]!==c?(d=(0,Z.jsxs)(L,{ref:t,"data-sidebar":`trigger`,variant:`ghost`,size:`icon`,className:s,onClick:c,...a,children:[l,u]}),n[11]=a,n[12]=t,n[13]=s,n[14]=c,n[15]=d):d=n[15],d});ze.displayName=`SidebarTrigger`;var Be=X.forwardRef((e,t)=>{let n=(0,Y.c)(13),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{toggleSidebar:a}=Q(),o;n[3]===r?o=n[4]:(o=F(`absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex`,`[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize`,`[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize`,`group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar`,`[[data-side=left][data-collapsible=offcanvas]_&]:-right-2`,`[[data-side=right][data-collapsible=offcanvas]_&]:-left-2`,r),n[3]=r,n[4]=o);let s;n[5]!==i||n[6]!==t||n[7]!==o||n[8]!==a?(s=(0,Z.jsx)(V,{asChild:!0,children:(0,Z.jsx)(`button`,{ref:t,"data-sidebar":`rail`,"aria-label":`Toggle Sidebar`,tabIndex:-1,onClick:a,className:o,...i})}),n[5]=i,n[6]=t,n[7]=o,n[8]=a,n[9]=s):s=n[9];let c;n[10]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(H,{children:`Toggle Sidebar`}),n[10]=c):c=n[10];let l;return n[11]===s?l=n[12]:(l=(0,Z.jsxs)(W,{children:[s,c]}),n[11]=s,n[12]=l),l});Be.displayName=`SidebarRail`;var Ve=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`relative flex min-h-svh flex-1 flex-col bg-background`,`peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`main`,{ref:t,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Ve.displayName=`SidebarInset`;var He=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(ce,{ref:t,"data-sidebar":`input`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});He.displayName=`SidebarInput`;var Ue=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`flex flex-col gap-2 p-2`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`div`,{ref:t,"data-sidebar":`header`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Ue.displayName=`SidebarHeader`;var We=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`flex flex-col gap-2 p-2`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`div`,{ref:t,"data-sidebar":`footer`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});We.displayName=`SidebarFooter`;var Ge=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`mx-2 w-auto bg-divider`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(q,{ref:t,"data-sidebar":`separator`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Ge.displayName=`SidebarSeparator`;var Ke=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`div`,{ref:t,"data-sidebar":`content`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Ke.displayName=`SidebarContent`;var qe=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`relative flex w-full min-w-0 flex-col p-2`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`div`,{ref:t,"data-sidebar":`group`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});qe.displayName=`SidebarGroup`;var Je=X.forwardRef((e,t)=>{let n=(0,Y.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,asChild:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a!==void 0&&a?I:`div`,s;n[4]===r?s=n[5]:(s=F(`duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-base font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0`,r),n[4]=r,n[5]=s);let c;return n[6]!==o||n[7]!==i||n[8]!==t||n[9]!==s?(c=(0,Z.jsx)(o,{ref:t,"data-sidebar":`group-label`,className:s,...i}),n[6]=o,n[7]=i,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});Je.displayName=`SidebarGroupLabel`;var Ye=X.forwardRef((e,t)=>{let n=(0,Y.c)(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,asChild:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a!==void 0&&a?I:`button`,s;n[4]===r?s=n[5]:(s=F(`absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 after:md:hidden`,`group-data-[collapsible=icon]:hidden`,r),n[4]=r,n[5]=s);let c;return n[6]!==o||n[7]!==i||n[8]!==t||n[9]!==s?(c=(0,Z.jsx)(o,{ref:t,"data-sidebar":`group-action`,className:s,...i}),n[6]=o,n[7]=i,n[8]=t,n[9]=s,n[10]=c):c=n[10],c});Ye.displayName=`SidebarGroupAction`;var Xe=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`w-full`,c.compact,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`div`,{ref:t,"data-sidebar":`group-content`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Xe.displayName=`SidebarGroupContent`;var Ze=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`flex w-full min-w-0 flex-col gap-1`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`ul`,{ref:t,"data-sidebar":`menu`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Ze.displayName=`SidebarMenu`;var Qe=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`group/menu-item relative`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`li`,{ref:t,"data-sidebar":`menu-item`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});Qe.displayName=`SidebarMenuItem`;var $e=P(`peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left ${c.compact} outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0`,{variants:{variant:{default:`hover:bg-sidebar-accent hover:text-sidebar-accent-foreground`,outline:`bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]`},size:{default:`h-8`,sm:`h-7`,lg:`h-12 group-data-[collapsible=icon]:!p-0`}},defaultVariants:{variant:`default`,size:`default`}}),et=X.forwardRef((e,t)=>{let n=(0,Y.c)(29),r,i,a,o,s,c,l;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5],c=n[6],l=n[7]):({asChild:a,isActive:o,variant:s,size:c,tooltip:l,className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s,n[6]=c,n[7]=l);let u=a===void 0?!1:a,d=o===void 0?!1:o,f=s===void 0?`default`:s,p=c===void 0?`default`:c,m=u?I:`button`,{isMobile:h,state:g}=Q(),_;n[8]!==r||n[9]!==p||n[10]!==f?(_=F($e({variant:f,size:p}),r),n[8]=r,n[9]=p,n[10]=f,n[11]=_):_=n[11];let v;n[12]!==m||n[13]!==d||n[14]!==i||n[15]!==t||n[16]!==p||n[17]!==_?(v=(0,Z.jsx)(m,{ref:t,"data-sidebar":`menu-button`,"data-size":p,"data-active":d,className:_,...i}),n[12]=m,n[13]=d,n[14]=i,n[15]=t,n[16]=p,n[17]=_,n[18]=v):v=n[18];let y=v;if(!l)return y;if(typeof l==`string`){let e;n[19]===l?e=n[20]:(e={children:l},n[19]=l,n[20]=e),l=e}let b;n[21]===y?b=n[22]:(b=(0,Z.jsx)(V,{asChild:!0,children:y}),n[21]=y,n[22]=b);let x=g!==`collapsed`||h,S;n[23]!==x||n[24]!==l?(S=(0,Z.jsx)(H,{side:`right`,align:`center`,hidden:x,...l}),n[23]=x,n[24]=l,n[25]=S):S=n[25];let C;return n[26]!==b||n[27]!==S?(C=(0,Z.jsxs)(W,{children:[b,S]}),n[26]=b,n[27]=S,n[28]=C):C=n[28],C});et.displayName=`SidebarMenuButton`;var tt=X.forwardRef((e,t)=>{let n=(0,Y.c)(13),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:r,asChild:a,showOnHover:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=a===void 0?!1:a,c=o===void 0?!1:o,l=s?I:`button`,u=c&&`group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0`,d;n[5]!==r||n[6]!==u?(d=F(`absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0`,`after:absolute after:-inset-2 after:md:hidden`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,u,r),n[5]=r,n[6]=u,n[7]=d):d=n[7];let f;return n[8]!==l||n[9]!==i||n[10]!==t||n[11]!==d?(f=(0,Z.jsx)(l,{ref:t,"data-sidebar":`menu-action`,className:d,...i}),n[8]=l,n[9]=i,n[10]=t,n[11]=d,n[12]=f):f=n[12],f});tt.displayName=`SidebarMenuAction`;var nt=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none`,`peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground`,`peer-data-[size=sm]/menu-button:top-1`,`peer-data-[size=default]/menu-button:top-1.5`,`peer-data-[size=lg]/menu-button:top-2.5`,`group-data-[collapsible=icon]:hidden`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`div`,{ref:t,"data-sidebar":`menu-badge`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});nt.displayName=`SidebarMenuBadge`;var rt=X.forwardRef((e,t)=>{let n=(0,Y.c)(15),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,showIcon:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?!1:a,s=`${Math.floor(Math.random()*40)+50}%`,c;n[4]===r?c=n[5]:(c=F(`rounded-md h-8 flex gap-2 px-2 items-center`,r),n[4]=r,n[5]=c);let l;n[6]===o?l=n[7]:(l=o&&(0,Z.jsx)(_e,{className:`size-4 rounded-md`,"data-sidebar":`menu-skeleton-icon`}),n[6]=o,n[7]=l);let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u={"--skeleton-width":s},n[8]=u):u=n[8];let d;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsx)(_e,{className:`h-4 flex-1 max-w-[--skeleton-width]`,"data-sidebar":`menu-skeleton-text`,style:u}),n[9]=d):d=n[9];let f;return n[10]!==i||n[11]!==t||n[12]!==c||n[13]!==l?(f=(0,Z.jsxs)(`div`,{ref:t,"data-sidebar":`menu-skeleton`,className:c,...i,children:[l,d]}),n[10]=i,n[11]=t,n[12]=c,n[13]=l,n[14]=f):f=n[14],f});rt.displayName=`SidebarMenuSkeleton`;var it=X.forwardRef((e,t)=>{let n=(0,Y.c)(9),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=F(`mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5`,`group-data-[collapsible=icon]:hidden`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=(0,Z.jsx)(`ul`,{ref:t,"data-sidebar":`menu-sub`,className:a,...i}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o});it.displayName=`SidebarMenuSub`;var at=X.forwardRef((e,t)=>{let n=(0,Y.c)(5),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]!==r||n[3]!==t?(i=(0,Z.jsx)(`li`,{ref:t,...r}),n[2]=r,n[3]=t,n[4]=i):i=n[4],i});at.displayName=`SidebarMenuSubItem`;var ot=X.forwardRef((e,t)=>{let n=(0,Y.c)(17),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({asChild:o,size:s,isActive:i,className:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let l=o===void 0?!1:o,u=s===void 0?`md`:s,d=l?I:`a`,f=u===`sm`&&c.compact,p=u===`md`&&c.compact,m;n[6]!==r||n[7]!==f||n[8]!==p?(m=F(`flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground`,`data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground`,f,p,`group-data-[collapsible=icon]:hidden`,r),n[6]=r,n[7]=f,n[8]=p,n[9]=m):m=n[9];let h;return n[10]!==d||n[11]!==i||n[12]!==a||n[13]!==t||n[14]!==u||n[15]!==m?(h=(0,Z.jsx)(d,{ref:t,"data-sidebar":`menu-sub-button`,"data-size":u,"data-active":i,className:m,...a}),n[10]=d,n[11]=i,n[12]=a,n[13]=t,n[14]=u,n[15]=m,n[16]=h):h=n[16],h});ot.displayName=`SidebarMenuSubButton`;var st=[{id:`skills`,label:`Skills`,icon:(0,Z.jsx)(j,{className:`h-4 w-4`}),route:`/settings/skills`},{id:`rules`,label:`Rules`,icon:(0,Z.jsx)(v,{className:`h-4 w-4`}),route:`/settings/rules`},{id:`slash-commands`,label:`Slash Commands`,icon:(0,Z.jsx)(k,{className:`h-4 w-4`}),route:`/settings/slash-commands`},{id:`subagents`,label:`Subagents`,icon:(0,Z.jsx)(C,{className:`h-4 w-4`}),route:`/settings/subagents`},{id:`instructions`,label:`Instructions`,icon:(0,Z.jsx)(S,{className:`h-4 w-4`}),route:`/settings/instructions`},{id:`system-prompt`,label:`System Prompt`,icon:(0,Z.jsx)(g,{className:`h-4 w-4`}),route:`/settings/system-prompt`},{id:`mcp-servers`,label:`MCP Servers`,icon:(0,Z.jsx)(h,{className:`h-4 w-4`}),route:`/settings/mcp-servers`},{id:`general`,label:`Settings`,icon:(0,Z.jsx)(T,{className:`h-4 w-4`}),route:`/settings/general`},{id:`logs`,label:`Logs`,icon:(0,Z.jsx)(w,{className:`h-4 w-4`}),route:`/settings/logs`},{id:`slack`,label:`Slack`,icon:(0,Z.jsx)(ye,{}),route:`/settings/slack`},{id:`providers`,label:`Providers`,icon:(0,Z.jsx)(A,{className:`h-4 w-4`}),route:`/settings/providers`},{id:`models`,label:`Models`,icon:(0,Z.jsx)(b,{className:`h-4 w-4`}),route:`/settings/models`},{id:`statistics`,label:`Statistics`,icon:(0,Z.jsx)(O,{className:`h-4 w-4`}),route:`/settings/statistics`},{id:`history`,label:`History`,icon:(0,Z.jsx)(_,{className:`h-4 w-4`}),route:`/settings/history`},{id:`storage`,label:`Storage`,icon:(0,Z.jsx)(y,{className:`h-4 w-4`}),route:`/settings/storage`},{id:`account`,label:`Account`,icon:(0,Z.jsx)(m,{className:`h-4 w-4`}),route:`/settings/account`}],ct=new Set([`project`,`project-env-vars`,`project-model-aliases`,`project-tools`,`skills`,`rules`,`slash-commands`,`subagents`,`instructions`,`system-prompt`,`mcp-servers`]),lt=new Set([`project`,`instructions`,`project-env-vars`]),ut=new Set([`skills`,`rules`,`slash-commands`,`subagents`,`mcp-servers`]),dt=new Set([`system-prompt`,`project-model-aliases`,`project-tools`]),ft=new Set([`general`,`logs`,`slack`,`providers`,`models`,`statistics`,`history`,`storage`,`account`]);function pt(e){return ct.has(e)?`project`:`general`}function $(e){let t=(0,Y.c)(18),{label:n,items:r,activeTabId:i,onItemClick:a,showSeparator:o,className:s}=e,c=o===void 0?!0:o;if(r.length===0)return null;let l;t[0]===n?l=t[1]:(l=n?(0,Z.jsx)(Je,{children:n}):null,t[0]=n,t[1]=l);let u;if(t[2]!==i||t[3]!==r||t[4]!==a){let e;t[6]!==i||t[7]!==a?(e=e=>(0,Z.jsx)(se,{selected:i===e.id,asChild:!0,children:(0,Z.jsx)(`button`,{className:`justify-start`,onClick:()=>a(e),children:(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[e.icon,(0,Z.jsx)(`span`,{children:e.label})]})})},e.id),t[6]=i,t[7]=a,t[8]=e):e=t[8],u=r.map(e),t[2]=i,t[3]=r,t[4]=a,t[5]=u}else u=t[5];let d;t[9]===u?d=t[10]:(d=(0,Z.jsx)(`div`,{className:`space-y-1`,children:u}),t[9]=u,t[10]=d);let f;t[11]===c?f=t[12]:(f=c?(0,Z.jsx)(q,{className:`my-2`}):null,t[11]=c,t[12]=f);let p;return t[13]!==s||t[14]!==l||t[15]!==d||t[16]!==f?(p=(0,Z.jsxs)(`div`,{className:s,children:[l,d,f]}),t[13]=s,t[14]=l,t[15]=d,t[16]=f,t[17]=p):p=t[17],p}function mt(e){let t=[...st];if(!e)return t;let n=t.findIndex(e=>e.id===`skills`);t.splice(n,0,{id:`project`,label:`Settings`,icon:(0,Z.jsx)(T,{className:`h-4 w-4`}),route:`/settings/project/${e}`},{id:`project-env-vars`,label:`Environment Variables`,icon:(0,Z.jsx)(x,{className:`h-4 w-4`}),route:`/settings/project/${e}/env-vars`});let r=t.findIndex(e=>e.id===`instructions`),i=t.findIndex(e=>e.id===`project`);if(r!==-1&&i!==-1){let[e]=t.splice(r,1);t.splice(i+1,0,e)}let a=t.findIndex(e=>e.id===`system-prompt`),o=a===-1?null:t.splice(a,1)[0],s=t.findIndex(e=>e.id===`mcp-servers`);return s!==-1&&t.splice(s+1,0,...o?[o]:[],{id:`project-model-aliases`,label:`Model Aliases`,icon:(0,Z.jsx)(p,{className:`h-4 w-4`}),route:`/settings/project/${e}/model-aliases`},{id:`project-tools`,label:`Tools`,icon:(0,Z.jsx)(E,{className:`h-4 w-4`}),route:`/settings/project/${e}/tools`}),t}function ht(e){let t=(0,Y.c)(48),{className:n,selectedProjectId:r,settingsScope:i,onResetOnboarding:a,onNavItemSelect:c}=e,l=s(),u=o(),d=(0,X.useRef)(0),f=(0,X.useRef)(null),p,m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>()=>{f.current&&clearTimeout(f.current)},m=[],t[0]=p,t[1]=m):(p=t[0],m=t[1]),(0,X.useEffect)(p,m);let h=J(),g;t[2]===r?g=t[3]:(g=mt(r),t[2]=r,t[3]=g);let _=g,v;t[4]!==h||t[5]!==_?(v=h?_.filter(St):_,t[4]=h,t[5]=_,t[6]=v):v=t[6];let y=v,b;t[7]!==u.pathname||t[8]!==y?(b=function(){let e=u.pathname;if(e.endsWith(`/tools`)&&e.startsWith(`/settings/project/`))return`project-tools`;if(e.endsWith(`/model-aliases`)&&e.startsWith(`/settings/project/`))return`project-model-aliases`;if(e.endsWith(`/env-vars`)&&e.startsWith(`/settings/project/`))return`project-env-vars`;if(e.startsWith(`/settings/project/`))return`project`;for(let t of y)if(e.startsWith(t.route))return t.id;return`general`}(),t[7]=u.pathname,t[8]=y,t[9]=b):b=t[9];let x=b,S,C,w,T,E,D,O,k,A;if(t[10]!==x||t[11]!==n||t[12]!==y||t[13]!==l||t[14]!==c||t[15]!==a||t[16]!==r||t[17]!==i){C=function(e){e.id===`general`&&a&&(f.current&&clearTimeout(f.current),d.current+=1,d.current>=3?(d.current=0,a()):f.current=setTimeout(()=>{d.current=0},1500)),c?.(),l(e.route)};let e=!!r;D=!e||i!==`project`,O=e&&i!==`general`;let o=y.filter(xt);E=o.filter(bt),T=o.filter(yt),w=o.filter(vt);let s;t[27]===y?s=t[28]:(s=y.filter(_t),t[27]=y,t[28]=s),S=s;let u=e?[]:o.filter(gt);t[29]===n?k=t[30]:(k=F(`space-y-1`,n),t[29]=n,t[30]=k),A=u.length>0?(0,Z.jsxs)(Z.Fragment,{children:[u.map(e=>(0,Z.jsx)(se,{selected:x===e.id,asChild:!0,children:(0,Z.jsx)(`button`,{className:`justify-start`,onClick:()=>C(e),children:(0,Z.jsxs)(`span`,{className:`flex items-center gap-2`,children:[e.icon,(0,Z.jsx)(`span`,{children:e.label})]})})},e.id)),(0,Z.jsx)(q,{className:`my-2`})]}):null,t[10]=x,t[11]=n,t[12]=y,t[13]=l,t[14]=c,t[15]=a,t[16]=r,t[17]=i,t[18]=S,t[19]=C,t[20]=w,t[21]=T,t[22]=E,t[23]=D,t[24]=O,t[25]=k,t[26]=A}else S=t[18],C=t[19],w=t[20],T=t[21],E=t[22],D=t[23],O=t[24],k=t[25],A=t[26];let j;t[31]!==x||t[32]!==C||t[33]!==w||t[34]!==T||t[35]!==E||t[36]!==O?(j=O?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)($,{label:`Project`,items:E,activeTabId:x,onItemClick:C,showSeparator:!1}),(0,Z.jsx)($,{label:`Customize`,items:T,activeTabId:x,onItemClick:C,showSeparator:!1,className:`pt-3`}),(0,Z.jsx)($,{label:`Advanced`,items:w,activeTabId:x,onItemClick:C,showSeparator:!1,className:`pt-3`})]}):null,t[31]=x,t[32]=C,t[33]=w,t[34]=T,t[35]=E,t[36]=O,t[37]=j):j=t[37];let M;t[38]!==x||t[39]!==S||t[40]!==C||t[41]!==D?(M=D?(0,Z.jsx)($,{items:S,activeTabId:x,onItemClick:C,showSeparator:!1}):null,t[38]=x,t[39]=S,t[40]=C,t[41]=D,t[42]=M):M=t[42];let N;return t[43]!==k||t[44]!==A||t[45]!==j||t[46]!==M?(N=(0,Z.jsxs)(`div`,{className:k,children:[A,j,M]}),t[43]=k,t[44]=A,t[45]=j,t[46]=M,t[47]=N):N=t[47],N}function gt(e){return e.id!==`project`}function _t(e){return ft.has(e.id)}function vt(e){return dt.has(e.id)}function yt(e){return ut.has(e.id)}function bt(e){return lt.has(e.id)}function xt(e){return ct.has(e.id)}function St(e){return e.id!==`account`}var Ct=l(`app.settings-view.ui`),wt=`h-8 rounded-full border-0 bg-muted/40 p-0.5`,Tt=`h-7 rounded-full px-4 data-[state=active]:bg-foreground data-[state=active]:text-background data-[state=active]:shadow-sm`,Et=`frosted-surface backdrop-blur-2xl`,Dt=(0,X.lazy)(()=>r(()=>import(`./settings-general-view-CVHlxpTM.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,43,44]))),Ot=(0,X.lazy)(()=>r(()=>import(`./project-settings-view-DniUno1i.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,36,37,38,39,40,41,46,42,47,43]))),kt=(0,X.lazy)(()=>r(()=>import(`./project-env-vars-view-DTGwl4wr.js`),__vite__mapDeps([48,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,43]))),At=(0,X.lazy)(()=>r(()=>import(`./project-model-aliases-view-CEDz_6NW.js`),__vite__mapDeps([49,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,43]))),jt=(0,X.lazy)(()=>r(()=>import(`./project-tools-view-DknCaJu_.js`),__vite__mapDeps([50,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,43]))),Mt=(0,X.lazy)(()=>r(()=>import(`./providers-list-view-D_n1Ai6S.js`),__vite__mapDeps([51,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,52,53,54,55,56,57,58,59]))),Nt=(0,X.lazy)(()=>r(()=>import(`./settings-models-view-DdRC4YXo.js`),__vite__mapDeps([60,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,46,42,52,53,54,55,56,57,61,58]))),Pt=(0,X.lazy)(()=>r(()=>import(`./settings-mcp-servers-view-B84c4h47.js`),__vite__mapDeps([62,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,63,56,55,57,64,43]))),Ft=(0,X.lazy)(()=>r(()=>import(`./settings-slack-view-OFNrG_DW.js`),__vite__mapDeps([65,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]))),It=(0,X.lazy)(()=>r(()=>import(`./settings-logs-view-64Aq1hEw.js`),__vite__mapDeps([66,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]))),Lt=(0,X.lazy)(()=>r(()=>import(`./settings-skills-view-DeVnXDl-.js`),__vite__mapDeps([67,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,68,63,56,55,57,58,69,43]))),Rt=(0,X.lazy)(()=>r(()=>import(`./settings-rules-view-CGLh95Ta.js`),__vite__mapDeps([70,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,68,63,56,55,57,64,58,69,43]))),zt=(0,X.lazy)(()=>r(()=>import(`./settings-slash-commands-view-DOo0BimH.js`),__vite__mapDeps([71,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,68,63,72,56,55,57,43]))),Bt=(0,X.lazy)(()=>r(()=>import(`./settings-subagents-view-D7o69YzB.js`),__vite__mapDeps([73,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,68,63,56,55,57,69,43]))),Vt=(0,X.lazy)(()=>r(()=>import(`./settings-instructions-view-Bpx_dUaJ.js`),__vite__mapDeps([74,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,43]))),Ht=(0,X.lazy)(()=>r(()=>import(`./settings-system-prompt-view-BFGfrXfe.js`),__vite__mapDeps([75,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,43]))),Ut=(0,X.lazy)(()=>r(()=>import(`./account-view-C_WBVXA3.js`),__vite__mapDeps([76,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,63,57]))),Wt=(0,X.lazy)(()=>r(()=>import(`./conversation-history-view-COFXqD0e.js`),__vite__mapDeps([77,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,63,61]))),Gt=(0,X.lazy)(()=>r(()=>import(`./settings-storage-view-DlyXWB__.js`),__vite__mapDeps([78,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,63,56,55,57,61,44]))),Kt=(0,X.lazy)(()=>r(()=>import(`./settings-statistics-view-DpaSoVqG.js`),__vite__mapDeps([79,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,61,42]))),qt=[`general`,`providers`,`models`,`skills`,`rules`,`slash-commands`,`subagents`,`instructions`,`system-prompt`,`mcp-servers`,`slack`,`logs`,`statistics`,`history`,`storage`,`account`];function Jt(e){let t=(0,Y.c)(2),{title:n}=e,r;return t[0]===n?r=t[1]:(r=(0,Z.jsx)(de,{title:n,children:`Content coming soon...`}),t[0]=n,t[1]=r),r}function Yt(e){return e.startsWith(`/settings/general`)?`general`:e.startsWith(`/settings/providers`)?`providers`:e.startsWith(`/settings/models`)?`models`:e.startsWith(`/settings/skills`)?`skills`:e.startsWith(`/settings/rules`)?`rules`:e.startsWith(`/settings/slash-commands`)?`slash-commands`:e.startsWith(`/settings/subagents`)?`subagents`:e.startsWith(`/settings/instructions`)?`instructions`:e.startsWith(`/settings/system-prompt`)?`system-prompt`:e.startsWith(`/settings/mcp-servers`)?`mcp-servers`:e.startsWith(`/settings/slack`)?`slack`:e.startsWith(`/settings/logs`)?`logs`:e.startsWith(`/settings/statistics`)?`statistics`:e.startsWith(`/settings/history`)?`history`:e.startsWith(`/settings/storage`)?`storage`:e.startsWith(`/settings/account`)?`account`:`general`}function Xt(e){let t=e.match(/^\/settings\/providers\/([^/]+)$/);return t?decodeURIComponent(t[1]):null}function Zt(e,t,n){return e&&qt.includes(e)?e:t&&qt.includes(t)?t:Yt(n)}function Qt(e,t,n,r,i){return e?`project-tools`:t?`project-model-aliases`:n?`project-env-vars`:r?`project`:i}function $t(e,t,n,r,i){return e?`Tools`:t?`Model Aliases`:n?`Environment Variables`:r?`Project`:st.find(e=>e.id===i)?.label??`Settings`}function en(e,t){return e===`/settings`||e===`/settings/project`||[`/settings/mcp-server-edit`,`/settings/add-skill`,`/settings/add-command`,`/settings/add-rule`,`/settings/add-agent`].some(t=>e.startsWith(t))||t&&e.startsWith(`/settings/account`)}function tn(e,t){let n=!!e&&t.startsWith(`/settings/project/`),r=n&&t.endsWith(`/tools`),i=n&&t.endsWith(`/model-aliases`),a=n&&t.endsWith(`/env-vars`);return{isProjectRoute:n,isProjectToolsRoute:r,isProjectModelAliasesRoute:i,isProjectEnvVarsRoute:a,isProjectSettingsRoute:n&&!a&&!i&&!r}}function nn(e,t){let n=(0,Y.c)(5),r;n[0]!==t||n[1]!==e?(r=()=>{let n=e.current;if(!n)return;let r=function(e){if(e.key!==`Escape`)return;let n=document.activeElement;if(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement||n instanceof HTMLElement&&n.isContentEditable){n.blur();return}t()};return n.addEventListener(`keydown`,r),()=>n.removeEventListener(`keydown`,r)},n[0]=t,n[1]=e,n[2]=r):r=n[2];let i;n[3]===t?i=n[4]:(i=[t],n[3]=t,n[4]=i),(0,X.useEffect)(r,i)}function rn(e){let t=(0,Y.c)(5),{selectedProjectId:n,settingsScope:r,onResetOnboarding:i,onNavItemSelect:a}=e,o=n?r:void 0,s;return t[0]!==a||t[1]!==i||t[2]!==n||t[3]!==o?(s=(0,Z.jsx)(`div`,{className:`flex h-full flex-col overflow-hidden p-2.5`,children:(0,Z.jsx)(ee,{className:`min-h-0 flex-1`,children:(0,Z.jsx)(`div`,{className:`py-2`,children:(0,Z.jsx)(ht,{selectedProjectId:n,settingsScope:o,onResetOnboarding:i,onNavItemSelect:a})})})}),t[0]=a,t[1]=i,t[2]=n,t[3]=o,t[4]=s):s=t[4],s}function an(e){let t=(0,Y.c)(21),{settingsHeaderTitle:n,isProjectSettingsScope:r,selectedProject:i,selectedProjectId:a,settingsScope:o,onScopeChange:s,onRequestClose:l}=e,u;t[0]!==r||t[1]!==i?(u=r&&i?(0,Z.jsx)(le,{project:i,elevated:!1,className:`h-7 w-7 shrink-0 rounded-md`,iconClassName:`h-3.5 w-3.5`}):(0,Z.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center overflow-hidden rounded-md border border-border shadow-sm`,children:(0,Z.jsx)(`img`,{src:`/tarsk.svg`,alt:`Tarsk`,className:`h-full w-full`})}),t[0]=r,t[1]=i,t[2]=u):u=t[2];let d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=F(c.sectionTitle,`truncate`),t[3]=d):d=t[3];let f;t[4]===n?f=t[5]:(f=(0,Z.jsx)(`span`,{className:d,children:n}),t[4]=n,t[5]=f);let p;t[6]!==u||t[7]!==f?(p=(0,Z.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2 electrobun-webkit-app-region-no-drag`,children:[u,f]}),t[6]=u,t[7]=f,t[8]=p):p=t[8];let m;t[9]!==s||t[10]!==a||t[11]!==o?(m=a?(0,Z.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 top-4 flex justify-center`,children:(0,Z.jsx)(ue,{value:o,onValueChange:e=>{(e===`project`||e===`general`)&&s(e)},className:`pointer-events-auto electrobun-webkit-app-region-no-drag`,children:(0,Z.jsxs)(fe,{className:wt,children:[(0,Z.jsx)(ge,{value:`project`,className:Tt,children:`Project`}),(0,Z.jsx)(ge,{value:`general`,className:Tt,children:`General`})]})})}):null,t[9]=s,t[10]=a,t[11]=o,t[12]=m):m=t[12];let h,g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Z.jsx)(M,{className:`h-4 w-4`}),g=(0,Z.jsx)(`span`,{className:`sr-only`,children:`Close`}),t[13]=h,t[14]=g):(h=t[13],g=t[14]);let _;t[15]===l?_=t[16]:(_=(0,Z.jsx)(`div`,{className:`ml-auto flex items-center gap-2 electrobun-webkit-app-region-no-drag`,children:(0,Z.jsxs)(L,{variant:`ghost`,size:`icon`,className:`h-7 w-7`,onClick:l,children:[h,g]})}),t[15]=l,t[16]=_);let v;return t[17]!==p||t[18]!==m||t[19]!==_?(v=(0,Z.jsxs)(`div`,{className:`relative flex h-14 shrink-0 items-start px-4 pt-4 pb-2 electrobun-webkit-app-region-drag`,children:[p,m,_]}),t[17]=p,t[18]=m,t[19]=_,t[20]=v):v=t[20],v}function on(e){let t=(0,Y.c)(10),{isMobile:n,mobileShowSidebar:r,isProviderDetailRoute:i,activeSectionLabel:a,onShowSidebar:o}=e;if(!n||r||i)return null;let s,l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Z.jsx)(D,{className:`h-4 w-4`}),l=(0,Z.jsx)(`span`,{className:`sr-only`,children:`Show settings menu`}),t[0]=s,t[1]=l):(s=t[0],l=t[1]);let u;t[2]===o?u=t[3]:(u=(0,Z.jsxs)(L,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground`,onClick:o,children:[s,l]}),t[2]=o,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=F(c.sectionTitle,`truncate text-foreground`),t[4]=d):d=t[4];let f;t[5]===a?f=t[6]:(f=(0,Z.jsx)(`span`,{className:d,children:a}),t[5]=a,t[6]=f);let p;return t[7]!==u||t[8]!==f?(p=(0,Z.jsx)(`div`,{className:`px-6 pb-0 pt-6`,children:(0,Z.jsxs)(`div`,{className:`mb-4 flex min-w-0 items-center gap-2`,children:[u,f]})}),t[7]=u,t[8]=f,t[9]=p):p=t[9],p}function sn(e){let t=(0,Y.c)(19),{isProjectToolsRoute:n,isProjectModelAliasesRoute:r,isProjectEnvVarsRoute:i,isProjectSettingsRoute:a,projectId:o,activeTab:s,locationKey:c,onboardingResetSignal:l,handleProjectUpdated:u}=e;if(n&&o){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(G,{}),t[0]=e):e=t[0];let n;return t[1]!==u||t[2]!==o?(n=(0,Z.jsx)(X.Suspense,{fallback:e,children:(0,Z.jsx)(jt,{projectId:o,onProjectUpdated:u})}),t[1]=u,t[2]=o,t[3]=n):n=t[3],n}if(r&&o){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(G,{}),t[4]=e):e=t[4];let n;return t[5]!==u||t[6]!==o?(n=(0,Z.jsx)(X.Suspense,{fallback:e,children:(0,Z.jsx)(At,{projectId:o,onProjectUpdated:u})}),t[5]=u,t[6]=o,t[7]=n):n=t[7],n}if(i&&o){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(G,{}),t[8]=e):e=t[8];let n;return t[9]===o?n=t[10]:(n=(0,Z.jsx)(X.Suspense,{fallback:e,children:(0,Z.jsx)(kt,{projectId:o})}),t[9]=o,t[10]=n),n}if(a&&o){let e;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(G,{}),t[11]=e):e=t[11];let n;return t[12]!==u||t[13]!==o?(n=(0,Z.jsx)(X.Suspense,{fallback:e,children:(0,Z.jsx)(Ot,{projectId:o,onProjectUpdated:u})}),t[12]=u,t[13]=o,t[14]=n):n=t[14],n}let d;return t[15]!==s||t[16]!==c||t[17]!==l?(d=cn(s,c,l),t[15]=s,t[16]=c,t[17]=l,t[18]=d):d=t[18],d}function cn(e,t,n){return{general:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Dt,{onboardingResetSignal:n})}),providers:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{label:`Loading providers...`,size:`lg`}),children:(0,Z.jsx)(Mt,{})}),models:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{label:`Loading models...`,size:`lg`}),children:(0,Z.jsx)(Nt,{})}),skills:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Lt,{},t)}),rules:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Rt,{})}),"slash-commands":(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(zt,{})}),subagents:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Bt,{})}),instructions:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Vt,{})}),"system-prompt":(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Ht,{})}),"mcp-servers":(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Pt,{})}),slack:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Ft,{})}),logs:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(It,{})}),statistics:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Kt,{})}),history:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Wt,{})}),storage:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Gt,{})}),account:(0,Z.jsx)(X.Suspense,{fallback:(0,Z.jsx)(G,{}),children:(0,Z.jsx)(Ut,{})})}[e]??(0,Z.jsx)(Jt,{title:`Settings`})}function ln({onRequestClose:e}){let{tab:t,projectId:n}=a(),r=s(),i=o(),c=d(),l=f(e=>e.selectedProjectId),p=f(e=>e.projects),{isProjectRoute:m,isProjectToolsRoute:h,isProjectModelAliasesRoute:g,isProjectEnvVarsRoute:_,isProjectSettingsRoute:v}=tn(n,i.pathname),y=Xt(i.pathname)!==null,b=Zt(new URLSearchParams(i.search).get(`tab`),t,i.pathname),x=J(),[S,C]=(0,X.useState)(!0),[w,T]=(0,X.useState)(0),E=(0,X.useRef)(null),D=(0,X.useRef)(null),O=Qt(h,g,_,m,b),[k,A]=(0,X.useState)(()=>pt(O));(0,X.useEffect)(()=>{A(pt(O))},[O]);let j=(0,X.useCallback)(e=>{if(A(e),e===`project`&&l){r(`/settings/project/${l}`);return}e===`general`&&r(`/settings/general`)},[r,l]),M=(0,X.useMemo)(()=>p.find(e=>e.projectId===l)??null,[p,l]),P=k===`project`&&M!==null,I=P?`${N(M)} Settings`:`General Settings`,L=(0,X.useMemo)(()=>$t(h,g,_,v,b),[b,_,g,v,h]),V=(0,X.useCallback)(()=>{x&&C(!1)},[x]),H=(0,X.useCallback)(()=>{C(!0)},[]),U=(0,X.useCallback)(async()=>{try{await z(),T(e=>e+1)}catch(e){Ct.error(`Failed to reset onboarding:`,e)}},[]),W=(0,X.useCallback)(async()=>{B(n);try{let e=await R();c({type:u.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}catch(e){throw Ct.error(`Failed to refresh projects after settings update:`,e),e}},[c,n]);return(0,X.useEffect)(()=>{en(i.pathname,x)&&r(`/settings/general`,{replace:!0})},[i.pathname,r,x]),nn(D,e),(0,Z.jsxs)(`div`,{ref:D,role:`dialog`,"aria-modal":`true`,"aria-label":`Settings`,className:F(`rounded-2xl border border-border shadow-lg`,Et,`flex h-full w-full flex-col overflow-hidden md:h-[95vh] md:w-[80vw] md:max-w-[1400px]`),children:[(0,Z.jsx)(an,{settingsHeaderTitle:I,isProjectSettingsScope:P,selectedProject:M,selectedProjectId:l,settingsScope:k,onScopeChange:j,onRequestClose:e}),(0,Z.jsx)(`div`,{className:`min-h-0 flex-1`,children:(0,Z.jsx)(ve,{ref:E,collapsible:!0,isMobile:x,mobileShowSidebar:S,sidebarClassName:F(`overflow-hidden rounded-tr-2xl`,Et),sidebar:(0,Z.jsx)(rn,{selectedProjectId:l,settingsScope:k,onResetOnboarding:U,onNavItemSelect:V}),children:(0,Z.jsxs)(`div`,{className:F(`relative flex h-full min-h-0 flex-col overflow-hidden py-2.5 pl-2.5`,x?null:`ml-2.5`),children:[(0,Z.jsx)(on,{isMobile:x,mobileShowSidebar:S,isProviderDetailRoute:y,activeSectionLabel:L,onShowSidebar:H}),(0,Z.jsx)(sn,{isProjectToolsRoute:h,isProjectModelAliasesRoute:g,isProjectEnvVarsRoute:_,isProjectSettingsRoute:v,projectId:n,activeTab:b,locationKey:i.key,onboardingResetSignal:w,handleProjectUpdated:W})]})})})]})}export{ln as default};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./rolldown-runtime-aKtaBQYM.js";import{n as t,o as n}from"./react-vendor-Ee0-5T4I.js";import{$ as r,F as i,Q as a,X as o,Z as s,et as c,tt as l,x as u}from"./dist-ZlK7I-y-.js";var d=function(e){return e.SetProjects=`SET_PROJECTS`,e.SetProjectsLoading=`SET_PROJECTS_LOADING`,e.SelectThread=`SELECT_THREAD`,e.SelectProject=`SELECT_PROJECT`,e.SetMessages=`SET_MESSAGES`,e.AddMessage=`ADD_MESSAGE`,e.EnqueueChatMessage=`ENQUEUE_CHAT_MESSAGE`,e.RemoveQueuedChatMessage=`REMOVE_QUEUED_CHAT_MESSAGE`,e.SetStreaming=`SET_STREAMING`,e.AppendStreamContent=`APPEND_STREAM_CONTENT`,e.SetStreamContent=`SET_STREAM_CONTENT`,e.AppendStreamThinking=`APPEND_STREAM_THINKING`,e.AppendStreamChunk=`APPEND_STREAM_CHUNK`,e.SetStreamModel=`SET_STREAM_MODEL`,e.SetStreamAgentMode=`SET_STREAM_AGENT_MODE`,e.SetContextUsage=`SET_CONTEXT_USAGE`,e.SetProjectModel=`SET_PROJECT_MODEL`,e.ResetStream=`RESET_STREAM`,e.StopStream=`STOP_STREAM`,e.ToggleSidebar=`TOGGLE_SIDEBAR`,e.CloseSidebar=`CLOSE_SIDEBAR`,e.OpenProjectPanel=`OPEN_PROJECT_PANEL`,e.CloseProjectPanel=`CLOSE_PROJECT_PANEL`,e.SetCreatingProject=`SET_CREATING_PROJECT`,e.ConfigUpdated=`CONFIG_UPDATED`,e.SetProcessingThreads=`SET_PROCESSING_THREADS`,e.AddProcessingThread=`ADD_PROCESSING_THREAD`,e.RemoveProcessingThread=`REMOVE_PROCESSING_THREAD`,e.AddCreatingProject=`ADD_CREATING_PROJECT`,e.AddCreatingThread=`ADD_CREATING_THREAD`,e.RemoveCreatingProject=`REMOVE_CREATING_PROJECT`,e.RemoveCreatingThread=`REMOVE_CREATING_THREAD`,e.RemoveThread=`REMOVE_THREAD`,e.MarkThreadCompleted=`MARK_THREAD_COMPLETED`,e.ClearThreadCompleted=`CLEAR_THREAD_COMPLETED`,e.ClearPaneCompleted=`CLEAR_PANE_COMPLETED`,e.AddDeletingThread=`ADD_DELETING_THREAD`,e.RemoveDeletingThread=`REMOVE_DELETING_THREAD`,e.AddDeletingProject=`ADD_DELETING_PROJECT`,e.RemoveDeletingProject=`REMOVE_DELETING_PROJECT`,e.AppendCommandOutput=`APPEND_COMMAND_OUTPUT`,e.SetRunningCommand=`SET_RUNNING_COMMAND`,e.ClearCommandOutput=`CLEAR_COMMAND_OUTPUT`,e.ToggleTerminal=`TOGGLE_TERMINAL`,e.SetTerminalOpen=`SET_TERMINAL_OPEN`,e.QueueTerminalCommand=`QUEUE_TERMINAL_COMMAND`,e.ClearQueuedTerminalCommand=`CLEAR_QUEUED_TERMINAL_COMMAND`,e.AppendTerminalLine=`APPEND_TERMINAL_LINE`,e.ClearTerminalOutput=`CLEAR_TERMINAL_OUTPUT`,e.SetTerminalHeight=`SET_TERMINAL_HEIGHT`,e.SetTerminalCwd=`SET_TERMINAL_CWD`,e.SetTerminalRunning=`SET_TERMINAL_RUNNING`,e.SetTerminalHistory=`SET_TERMINAL_HISTORY`,e.SetTerminalHistoryIndex=`SET_TERMINAL_HISTORY_INDEX`,e.UpdateThreadTitle=`UPDATE_THREAD_TITLE`,e.UpdateChatTitle=`UPDATE_CHAT_TITLE`,e.FocusChatInput=`FOCUS_CHAT_INPUT`,e.ClearFocusChatInput=`CLEAR_FOCUS_CHAT_INPUT`,e.ClearMessages=`CLEAR_MESSAGES`,e.UpdateMessage=`UPDATE_MESSAGE`,e.UpdateMessageCheckpointRef=`UPDATE_MESSAGE_CHECKPOINT_REF`,e.SetDevServerToolSession=`SET_DEV_SERVER_TOOL_SESSION`,e.SetThreadToolSession=`SET_THREAD_TOOL_SESSION`,e.ClearThreadToolSession=`CLEAR_THREAD_TOOL_SESSION`,e.SetThreadCreationSummary=`SET_THREAD_CREATION_SUMMARY`,e.ClearThreadCreationSummary=`CLEAR_THREAD_CREATION_SUMMARY`,e.UpdateToolCallProgress=`UPDATE_TOOL_CALL_PROGRESS`,e.UpdateToolExecutionOutput=`UPDATE_TOOL_EXECUTION_OUTPUT`,e.AppendToolExecutionOutput=`APPEND_TOOL_EXECUTION_OUTPUT`,e.AppendSubagentEvent=`APPEND_SUBAGENT_EVENT`,e.ClearToolCallProgress=`CLEAR_TOOL_CALL_PROGRESS`,e.SetPendingChatMessage=`SET_PENDING_CHAT_MESSAGE`,e.ClearPendingChatMessage=`CLEAR_PENDING_CHAT_MESSAGE`,e.IncrementStreamEventCount=`INCREMENT_STREAM_EVENT_COUNT`,e.SetDiffComments=`SET_DIFF_COMMENTS`,e.ClearSelection=`CLEAR_SELECTION`,e.SetChatInputDraft=`SET_CHAT_INPUT_DRAFT`,e.ClearChatInputDraft=`CLEAR_CHAT_INPUT_DRAFT`,e.StartAutoRoute=`START_AUTO_ROUTE`,e.EndAutoRoute=`END_AUTO_ROUTE`,e.AddChatPane=`ADD_CHAT_PANE`,e.RemoveChatPane=`REMOVE_CHAT_PANE`,e.SetFocusedPane=`SET_FOCUSED_PANE`,e.SetNewChatStarting=`SET_NEW_CHAT_STARTING`,e.SetPrimaryConversationId=`SET_PRIMARY_CONVERSATION_ID`,e.SetPaneConversationId=`SET_PANE_CONVERSATION_ID`,e.SetPaneMessages=`SET_PANE_MESSAGES`,e.AddPaneMessage=`ADD_PANE_MESSAGE`,e.SetActiveStreamPane=`SET_ACTIVE_STREAM_PANE`,e.HydrateProjectChatPanes=`HYDRATE_PROJECT_CHAT_PANES`,e}({}),f=i,p={projects:[],cloneRootPath:null,projectsLoading:!0,selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:0,primaryConversationId:void 0,queuedChatMessages:[],isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingEventCount:0,threadStreamingStates:{},threadMultiPaneStates:{},projectModelSelections:{},paneModelSelections:{},sidebarOpen:!0,projectPanelView:`projects`,projectPanelProjectId:null,isCreatingProject:!1,configUpdatedAt:0,processingThreadIds:[],processingRuns:[],completedThreadIds:[],completedThreadPaneIds:{},completedPaneIds:[],deletingThreadIds:[],deletingProjectIds:[],commandOutput:``,isRunningCommand:!1,terminalStates:{},focusChatInput:!1,toolCallProgress:{},subagentTranscripts:{},devServerToolSession:null,threadToolSessions:{},threadCreationSummaries:{},pendingChatMessage:null,diffComments:{},chatInputDrafts:{},pendingAutoRoutes:{},focusedPane:`primary`,extraChatPanes:{},activeStreamPane:null},m={open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};function h(e,t){return`${e}:${t}`}function ee(e,t,n=f){return t?e[h(t,n)]??null:null}function te(e,t){switch(t.type){case d.StartAutoRoute:{let n=h(t.route.threadId,t.route.paneId);return{...e,pendingAutoRoutes:{...e.pendingAutoRoutes,[n]:t.route}}}case d.EndAutoRoute:{let n=h(t.threadId,t.paneId);if(!e.pendingAutoRoutes[n])return e;let{[n]:r,...i}=e.pendingAutoRoutes;return{...e,pendingAutoRoutes:i}}default:return null}}function ne(e,t){let n=`${t}:`,r=new Set([f]);for(let t of Object.keys(e))t.startsWith(n)&&r.add(t.slice(n.length));return[...r]}function re(e,t){let n=t?`${t}:`:null,r=``;for(let t of Object.keys(e))n&&!t.startsWith(n)||e[t].isStreaming&&(r+=`${t}\n`);return r}function ie(e,t,n=f){return e.includes(`${v(t,n)}\n`)}function ae(e,t){return e.includes(`${t}:`)}function oe(e,t,n,r){return t.includes(e)||ae(n,e)?!0:r?.threadId===e}var se={isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingEventCount:0},g=se;function _(){return{...se,streamingSegments:[]}}function v(e,t=f){return`${e}:${t}`}function y(e,t,n=f){return t?e[v(t,n)]??g:g}function ce(e,t){let n=new Set([f,...t.sessionPaneIds??[],...ne(t.streamingStates,e)]);for(let r of n)if(t.hasSession(r)||y(t.streamingStates,e,r).isStreaming)return!0;return!1}function b(e,t){return t.threadId??e.selectedThreadId}function le(e){return e??f}function ue(e,t,n,r){return!n||!t.includes(n)?!1:le(e)===r}function de(e,t,n){return t?y(e.threadStreamingStates,t,n).isStreaming?!0:ue(e.activeStreamPane,e.processingThreadIds,t,n):!1}function x(e,t){return t.paneId??e.activeStreamPane??f}function fe(e,t,n){return t===e.selectedThreadId?e.activeStreamPane===null?n===f:e.activeStreamPane===n:!1}function S(e,t,n,r,i=!1){if(!t)return{...e,...r,toolCallProgress:i?{}:e.toolCallProgress};let a=v(t,n),o={...e.threadStreamingStates,[a]:r};return fe(e,t,n)?{...e,...r,threadStreamingStates:o,toolCallProgress:i?{}:e.toolCallProgress}:{...e,threadStreamingStates:o}}function pe(){return{open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1}}var C={focusedPane:f,extraChatPanes:{},activeStreamPane:null};function me(){return{focusedPane:f,extraChatPanes:{},activeStreamPane:null}}function w(e){return{focusedPane:e.focusedPane,extraChatPanes:e.extraChatPanes,activeStreamPane:e.activeStreamPane}}function he(e,t){return t?e[t]??C:C}function ge(e){let t={};for(let[n,r]of Object.entries(e))t[n]={...r,messages:[...r.messages]};return t}function T(e){return{...e,extraChatPanes:ge(e.extraChatPanes)}}function E(e,t,n){let r=T(n),i=t===null?e.threadMultiPaneStates:{...e.threadMultiPaneStates,[t]:r};return t===e.selectedThreadId?{...e,...r,threadMultiPaneStates:i}:{...e,threadMultiPaneStates:i}}function D(e,t,n){let r=e.threadMultiPaneStates;return t&&(r={...r,[t]:T(w(e))}),{...T(he(r,n)),threadMultiPaneStates:r}}function O(e,t){return E(e,e.selectedThreadId,{...w(e),...t})}function _e(e,t){let n=e.chatPanesByThread[t];if(!n)return T(C);let r={};for(let e of n.panes)r[e.paneId]={conversationId:e.conversationId,messages:[],messagesLoaded:!1};return{focusedPane:n.focusedPaneId,extraChatPanes:r,activeStreamPane:null}}function ve(e,t){if(!t)return e;let n=ge(e.extraChatPanes);for(let[e,r]of Object.entries(t.extraChatPanes)){let t=n[e];if(!t){n[e]=r;continue}r.messagesLoaded&&(n[e]={...t,messages:r.messages,messagesLoaded:!0})}let r=t.focusedPane in n&&!(t.focusedPane in e.extraChatPanes);return{...e,extraChatPanes:n,focusedPane:r?t.focusedPane:e.focusedPane}}function ye(e,t){return t===f?e.messages:e.extraChatPanes[t]?.messages??[]}function be(e,t){return t===f?e.primaryConversationId:e.extraChatPanes[t]?.conversationId}function xe(e,t){return t===f?e.messagesLoaded:e.extraChatPanes[t]?.messagesLoaded??!1}function Se(e){return Object.keys(e.extraChatPanes)}function Ce(e,t){let n=new Set(t.threadIds),r={...e.threadMultiPaneStates};for(let n of t.threadIds)r[n]=ve(_e(t,n),n===e.selectedThreadId?w(e):e.threadMultiPaneStates[n]);return!e.selectedThreadId||!n.has(e.selectedThreadId)?{...e,threadMultiPaneStates:r}:{...e,...r[e.selectedThreadId],threadMultiPaneStates:r}}function we(e,t){return t.paneId===f?e:e.extraChatPanes[t.paneId]?O(e,{focusedPane:t.paneId}):O(e,{focusedPane:t.paneId,extraChatPanes:{...e.extraChatPanes,[t.paneId]:{conversationId:t.conversationId,messages:[],messagesLoaded:!1}}})}function Te(e,t){if(t.paneId===f||!e.extraChatPanes[t.paneId])return e;let{[t.paneId]:n,...r}=e.extraChatPanes;return O(e,{extraChatPanes:r,focusedPane:e.focusedPane===t.paneId?f:e.focusedPane,activeStreamPane:e.activeStreamPane===t.paneId?null:e.activeStreamPane})}function Ee(e,t){if(t.paneId===f)return{...e,messages:t.messages,messagesLoaded:!0};let n=e.extraChatPanes[t.paneId];return n?O(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:t.messages,messagesLoaded:!0}}}):e}function De(e,t){if(t.paneId===f)return e;let n=e.extraChatPanes[t.paneId];return n?O(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,conversationId:t.conversationId,messages:[],messagesLoaded:!0}}}):e}function Oe(e,t){if(t.paneId===f)return{...e,messages:[...e.messages,t.message]};let n=e.extraChatPanes[t.paneId];return n?O(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:[...n.messages,t.message]}}}):e}function ke(e,t){if(!e.selectedThreadId||t.paneId===null)return O(e,{activeStreamPane:null});let n=y(e.threadStreamingStates,e.selectedThreadId,t.paneId);return{...O(e,{activeStreamPane:t.paneId}),...n}}function Ae(e,t){switch(t.type){case d.HydrateProjectChatPanes:return Ce(e,t);case d.AddChatPane:return we(e,t);case d.RemoveChatPane:return Te(e,t);case d.SetFocusedPane:return O(e,{focusedPane:t.paneId});case d.SetPaneConversationId:return De(e,t);case d.SetPaneMessages:return Ee(e,t);case d.AddPaneMessage:return Oe(e,t);case d.SetActiveStreamPane:return ke(e,t);default:return null}}function je(e,t){return!!(t.historyEpoch!==void 0&&t.historyEpoch!==e.chatHistoryEpoch||t.conversationId&&e.primaryConversationId&&t.conversationId!==e.primaryConversationId)}function k(e,t){let n=e.selectedThreadId?e.threadCreationSummaries[e.selectedThreadId]:void 0;return!n||t.some(e=>e.messageId===n.messageId)?t:[n,...t]}function Me(e,t){let n=t.paneId??f;if(n!==f){if(t.threadId&&t.threadId!==e.selectedThreadId)return e;let r=e.extraChatPanes[n];return r?E(e,e.selectedThreadId,{...w(e),extraChatPanes:{...e.extraChatPanes,[n]:{...r,messages:[...r.messages,t.message]}}}):e}return t.threadId&&t.threadId!==e.selectedThreadId?e:{...e,messages:[...e.messages,t.message]}}function Ne(e,t){if(t.threadId!==e.selectedThreadId)return e;let n=e.messages.some(e=>e.messageId===t.messageId)?e.messages.map(e=>e.messageId===t.messageId?{...e,content:t.content}:e):[...e.messages,{messageId:t.messageId,sender:`agent`,content:t.content,contentType:`markdown`,timestamp:new Date().toISOString(),isThinking:!1}];return{...e,messages:n}}function Pe(e,t){if(t.threadId!==e.selectedThreadId)return e;let n=t.paneId??f;if(n!==f){let r=e.extraChatPanes[n];return r?E(e,e.selectedThreadId,{...w(e),extraChatPanes:{...e.extraChatPanes,[n]:{...r,messages:r.messages.map(e=>e.messageId===t.messageId?{...e,checkpointRef:t.checkpointRef}:e)}}}):e}return{...e,messages:e.messages.map(e=>e.messageId===t.messageId?{...e,checkpointRef:t.checkpointRef}:e)}}function Fe(e,t){if(!e.threadToolSessions[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadToolSessions;return{...e,threadToolSessions:r}}function Ie(e,t){if(!e.threadCreationSummaries[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadCreationSummaries;return{...e,threadCreationSummaries:r}}function Le(e,t){let n=e.toolCallProgress[t.toolCallId];return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{toolCallId:t.toolCallId,threadId:t.threadId||(n?.threadId??``),toolName:t.toolName??n?.toolName??``,delta:n?.delta??``,partial:n?.partial??{role:`tool`,content:[]},executionOutput:t.executionOutput}}}}function Re(e,t){let n=e.toolCallProgress[t.toolCallId],r=n?.executionOutput??``;return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{toolCallId:t.toolCallId,threadId:t.threadId||(n?.threadId??``),toolName:t.toolName??n?.toolName??`agent`,delta:n?.delta??``,partial:n?.partial??{role:`tool`,content:[]},executionOutput:r+t.delta}}}}function ze(e,t){if(!t.toolCallId)return{...e,toolCallProgress:{}};let{[t.toolCallId]:n,...r}=e.toolCallProgress;return{...e,toolCallProgress:r}}function Be(e,t){let{[t.threadId]:n,...r}=e.chatInputDrafts;return{...e,chatInputDrafts:r}}function Ve(e,t){let n=new Set(e.startingNewChatPaneIds);return t.isStarting?n.add(t.paneId):n.delete(t.paneId),{...e,startingNewChatPaneIds:[...n]}}function He(e,t){let n=D(e,e.selectedThreadId,t.threadId),r=y(e.threadStreamingStates,t.threadId,f);return{...e,...r,...n,selectedThreadId:t.threadId,selectedProjectId:t.projectId,messages:t.initialMessages??[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,focusChatInput:t.focusInput??!1,subagentTranscripts:{}}}function Ue(e,t){let n=D(e,e.selectedThreadId,``);return{...e,..._(),...n,selectedThreadId:null,selectedProjectId:t.projectId,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,focusChatInput:!1,subagentTranscripts:{}}}function We(e,t){return je(e,t)?e:{...e,messages:k(e,t.messages),messagesLoaded:!0}}function Ge(e,t){let n=t.conversationId?.trim()||void 0;return e.primaryConversationId===n?e:{...e,primaryConversationId:n}}function Ke(e,t){return{...e,queuedChatMessages:[...e.queuedChatMessages,t.message]}}function qe(e,t){return{...e,queuedChatMessages:e.queuedChatMessages.filter(e=>e.id!==t.queuedMessageId)}}function Je(e,t){let n=t.conversationId?.trim()||void 0;return{...e,messages:k(e,[]),messagesLoaded:!0,chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:n}}function Ye(e,t){return{...e,devServerToolSession:t.session}}function Xe(e,t){return{...e,threadToolSessions:{...e.threadToolSessions,[t.session.threadId]:t.session}}}function Ze(e,t){return{...e,threadCreationSummaries:{...e.threadCreationSummaries,[t.threadId]:t.message}}}function Qe(e,t){let n=e.toolCallProgress[t.toolCallId];return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{...n,...t.progress}}}}function $e(e,t){let n=e.subagentTranscripts[t.toolCallId]??[];return{...e,subagentTranscripts:{...e.subagentTranscripts,[t.toolCallId]:[...n,t.event]}}}function et(e,t){return{...e,pendingChatMessage:t.message}}function tt(e,t){return{...e,pendingChatMessage:null}}function nt(e,t){return{...e,chatInputDrafts:{...e.chatInputDrafts,[t.threadId]:t.draft}}}function rt(e,t){return{...e,..._(),selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,...me()}}var it={[d.SetMessages]:We,[d.SetPrimaryConversationId]:Ge,[d.AddMessage]:Me,[d.EnqueueChatMessage]:Ke,[d.RemoveQueuedChatMessage]:qe,[d.ClearMessages]:Je,[d.UpdateMessage]:Ne,[d.UpdateMessageCheckpointRef]:Pe,[d.SetDevServerToolSession]:Ye,[d.SetThreadToolSession]:Xe,[d.ClearThreadToolSession]:Fe,[d.SetThreadCreationSummary]:Ze,[d.ClearThreadCreationSummary]:Ie,[d.UpdateToolCallProgress]:Qe,[d.UpdateToolExecutionOutput]:Le,[d.AppendToolExecutionOutput]:Re,[d.AppendSubagentEvent]:$e,[d.ClearToolCallProgress]:ze,[d.SetPendingChatMessage]:et,[d.ClearPendingChatMessage]:tt,[d.SetChatInputDraft]:nt,[d.ClearChatInputDraft]:Be,[d.SetNewChatStarting]:Ve,[d.SelectThread]:He,[d.SelectProject]:Ue,[d.ClearSelection]:rt};function at(e,t){let n=it[t.type];return n?n(e,t):null}var ot=u(`store.project`);function st(e,t){switch(t.type){case d.SetProjects:{let n={...e.projectModelSelections};for(let e of t.projects)for(let t of e.threads){if(!t.model)continue;let e=n[t.threadId];n[t.threadId]={id:t.model,provider:t.modelProvider,name:e?.name??t.model,description:e?.description??``,context_length:e?.context_length,contextWindow:e?.contextWindow,features:e?.features,input_modalities:e?.input_modalities,max_output:e?.max_output,pricing:e?.pricing,tarsk_use:e?.tarsk_use,coding_index:e?.coding_index,supportsImages:e?.supportsImages}}return{...e,projects:t.projects,cloneRootPath:t.cloneRootPath===void 0?e.cloneRootPath:t.cloneRootPath,projectModelSelections:n}}case d.SetProjectsLoading:return{...e,projectsLoading:t.projectsLoading};case d.SetProjectModel:{ot.debug(`Set project model`,{threadId:t.threadId,paneId:t.paneId,model:{id:t.model.id,provider:t.model.provider}});let n=t.paneId??null;return{...e,projects:e.projects.map(e=>{let n=e.threads.some(e=>e.threadId===t.threadId);return{...e,...t.paneId&&n?{lastSelectedModel:t.model.id,lastSelectedModelProvider:t.model.provider}:{},threads:e.threads.map(e=>e.threadId===t.threadId?{...e,model:t.model.id,modelProvider:t.model.provider}:e)}}),projectModelSelections:{...e.projectModelSelections,[t.threadId]:t.model},paneModelSelections:n?{...e.paneModelSelections,[n]:t.model}:e.paneModelSelections}}case d.SetProcessingThreads:return{...e,processingThreadIds:t.threadIds,processingRuns:t.processingRuns??e.processingRuns.filter(e=>t.threadIds.includes(e.threadId))};case d.AddProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.includes(t.threadId)?e.processingThreadIds:[...e.processingThreadIds,t.threadId]};case d.RemoveProcessingThread:return{...e,processingThreadIds:e.processingThreadIds.filter(e=>e!==t.threadId),processingRuns:e.processingRuns.filter(e=>e.threadId!==t.threadId)};case d.AddCreatingProject:return{...e,projects:[...e.projects,{projectId:t.projectId,name:t.projectName,gitUrl:t.gitUrl,threads:[{threadId:t.threadId,title:`thread-1`,path:``,currentBranch:``}]}]};case d.AddCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:[...e.threads,{threadId:t.threadId,title:t.title,path:``,currentBranch:``}]}:e)};case d.RemoveCreatingProject:return{...e,projects:e.projects.filter(e=>e.projectId!==t.projectId)};case d.RemoveCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case d.RemoveThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case d.MarkThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.includes(t.threadId)?e.completedThreadIds:[...e.completedThreadIds,t.threadId],completedThreadPaneIds:t.paneId===void 0?e.completedThreadPaneIds:{...e.completedThreadPaneIds,[t.threadId]:t.paneId},completedPaneIds:t.paneId===void 0||t.paneId===e.focusedPane||e.completedPaneIds.includes(t.paneId)?e.completedPaneIds:[...e.completedPaneIds,t.paneId]};case d.ClearThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.filter(e=>e!==t.threadId)};case d.ClearPaneCompleted:{let n=Object.entries(e.completedThreadPaneIds).filter(([,e])=>e===t.paneId).map(([e])=>e);return{...e,completedThreadIds:e.completedThreadIds.filter(e=>!n.includes(e)),completedThreadPaneIds:Object.fromEntries(Object.entries(e.completedThreadPaneIds).filter(([,e])=>e!==t.paneId)),completedPaneIds:e.completedPaneIds.filter(e=>e!==t.paneId)}}case d.AddDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.includes(t.threadId)?e.deletingThreadIds:[...e.deletingThreadIds,t.threadId]};case d.RemoveDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.filter(e=>e!==t.threadId)};case d.AddDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.includes(t.projectId)?e.deletingProjectIds:[...e.deletingProjectIds,t.projectId]};case d.RemoveDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.filter(e=>e!==t.projectId)};case d.UpdateThreadTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,title:t.title}:e)}:e)};case d.UpdateChatTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,chatTitles:{...e.chatTitles,[t.paneId]:t.title}}:e)}:e)};default:return null}}function A(e){return e.type===`tool-call-group`}function ct(e){let t=/\[([A-Za-z]+)\]\s*/g,n,r=0;for(let i of e.matchAll(t))n=i[1],r=i.index+i[0].length;return{label:n,contentStart:r}}function lt(e,t,n,r){try{let i=JSON.parse(e.slice(t,n+1));if(Array.isArray(i)){for(let e of i)if(e&&typeof e==`object`&&`type`in e){let t=e.type;(t===`tool-result`||t===`tool_use`)&&r.push(e)}}return!0}catch{return!1}}function j(e){if(!e||typeof e!=`string`)return null;let t=e.trim();if(!t)return null;let{label:n,contentStart:r}=ct(t);if(n){let e=t.slice(r);if(e)return[{type:`reasoning`,text:e,label:n}]}let i=[],a=0;for(;a<t.length;){let e=t.indexOf(`[`,a);if(e===-1){let e=t.slice(a).trim();e&&i.push({type:`reasoning`,text:e});break}let n=t.slice(a,e).trim();n&&i.push({type:`reasoning`,text:n});let r=M(t,e);if(r===-1){let n=t.slice(e).trim();n&&i.push({type:`reasoning`,text:n});break}if(!lt(t,e,r,i)){let n=t.slice(e,r+1).trim();n&&i.push({type:`reasoning`,text:n})}a=r+1}return i.length>0?i:null}function M(e,t){let n=0,r=!1,i=!1;for(let a=t;a<e.length;a++){let t=e[a];if(r){i?i=!1:t===`\\`?i=!0:t===`"`&&(r=!1);continue}if(t===`"`){r=!0;continue}if(t===`[`)n++;else if(t===`]`&&(n--,n===0))return a}return-1}function ut(e,t=0){let n=[],r=t;for(;r<e.length;){for(;r<e.length&&/\s/.test(e.charAt(r));)r++;if(r>=e.length||e.charAt(r)!==`[`)break;let t=M(e,r);if(t===-1)break;try{let i=JSON.parse(e.slice(r,t+1));if(!Array.isArray(i))break;n.push(...N(i))}catch{break}r=t+1}return n.length===0?null:{blocks:n,nextIndex:r}}function N(e){return e.map(e=>{if(typeof e==`object`&&e&&!(`type`in e)){let t=e;if(t.reasoning)return{type:`reasoning`,text:typeof t.reasoning==`string`?t.reasoning:JSON.stringify(t.reasoning)};let n=t.text??t.content??t.answer;if(n)return{type:`text`,text:typeof n==`string`?n:JSON.stringify(n)}}return e})}function P(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.label==`string`&&typeof e.pattern==`string`&&(e.scope===`session`||e.scope===`project`)):[]}function dt(e){if(e.type!==`long_running_confirmation`||typeof e.prompt!=`object`||e.prompt===null||typeof e.prompt.question!=`string`||!Array.isArray(e.prompt.options))return[];let t=e.prompt;return[{type:`long_running_confirmation`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:void 0,question:t.question,options:t.options.filter(e=>typeof e==`string`),context:typeof t.context==`string`?t.context:void 0}}]}function ft(e){if(e.type!==`shell_permission`||typeof e.shellPermission!=`object`||e.shellPermission===null||typeof e.shellPermission.command!=`string`)return[];let t=e.shellPermission;return[{type:`shell_permission`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`shell-permission`,command:t.command,source:t.source===`bash`||t.source===`skill_script`||t.source===`browser_js`?t.source:`bash`,wildcardOptions:P(t.wildcardOptions)}}]}function pt(e){if(e.type!==`seatbelt_escalation`||typeof e.seatbeltEscalation!=`object`||e.seatbeltEscalation===null)return[];let t=e.seatbeltEscalation;return typeof t.command==`string`?[{type:`seatbelt_escalation`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`seatbelt-escalation`,command:t.command,projectId:typeof t.projectId==`string`?t.projectId:``,scopes:[`once`,`project`,`session`]}}]:[]}function mt(e){if(e.type!==`web_fetch_permission`||typeof e.webFetchPermission!=`object`||e.webFetchPermission===null||typeof e.webFetchPermission.hostname!=`string`)return[];let t=e.webFetchPermission;return[{type:`web_fetch_permission`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`web-fetch-permission`,hostname:t.hostname,url:typeof t.url==`string`?t.url:``,wildcardOptions:P(t.wildcardOptions)}}]}function F(e){let t=[...dt(e),...ft(e),...pt(e),...mt(e)];if(t.length>0)return t;e.reasoning&&typeof e.reasoning==`string`&&t.push({type:`reasoning`,text:e.reasoning});let n=(typeof e.text==`string`?e.text:null)??(typeof e.content==`string`?e.content:null)??(typeof e.answer==`string`?e.answer:null);return n&&t.push({type:`text`,text:n}),t.length===0&&Object.keys(e).length>0&&t.push({type:`text`,text:JSON.stringify(e,null,2)}),t}function ht(e){return B(e)?.some(e=>e.type===`tool_use`||e.type===`tool-result`)??!1}var I=/^```+|^~~~+/;function L(e){let t=e.indexOf(`{`),n=e.indexOf(`[`);return t===-1?n:n===-1?t:Math.min(t,n)}function R(e,t){if(t&&t.fixedIndex>=0)return{index:t.fixedIndex,scan:t};let n=t?.resumeOffset??0;n>e.length&&(n=0);let r=n===0?!1:t?.inFence??!1,i=n;for(;;){let t=e.indexOf(`
|
|
2
|
-
`,i);if(t===-1){let t=e.slice(i),n=I.test(t.trimStart()),a=r||n?-1:L(t);return{index:a===-1?-1:i+a,scan:{fixedIndex:-1,resumeOffset:i,inFence:r}}}let n=e.slice(i,t);if(I.test(n.trimStart()))r=!r;else if(!r){let e=L(n);if(e!==-1){let t=i+e;return{index:t,scan:{fixedIndex:t,resumeOffset:i,inFence:r}}}}i=t+1}}function gt(e){return R(e).index}function _t(e){try{let t=JSON.parse(e);return Array.isArray(t)?N(t):typeof t==`object`&&t?F(t):null}catch{return e.startsWith(`[`)?z(e):null}}function z(e){let t=ut(e);if(!t)return null;let n=e.slice(t.nextIndex).trim();return n?[...t.blocks,{type:`text`,text:n}]:t.blocks}function vt(e){let t=Math.max(e.lastIndexOf(`]`),e.lastIndexOf(`}`));if(t===-1)return null;let n=e.substring(0,t+1);try{let r=JSON.parse(n),i=Array.isArray(r)?N(r):F(r),a=e.substring(t+1).trim();return a&&i.push({type:`text`,text:a}),i}catch{return null}}function B(e){return e?yt(e,gt(e)):null}function yt(e,t){if(!e)return null;let n=e.trim();if(n.startsWith(`{`)||n.startsWith(`[`)){let e=_t(n);if(e)return e}let r=[];if(t===-1)return null;let i=e.slice(0,t).trim();i&&r.push({type:`text`,text:i});let a=e.slice(t),o=z(a);if(o)return r.push(...o),r;let s=vt(a);return s&&r.push(...s),r.length>0?r:null}function V(e){return e.type===`tool_use`}function H(e){return e.type===`tool-result`}function bt(e){return e.type===`text`}function U(e){return typeof e==`string`?e.replace(/\\n/g,`
|
|
3
|
-
`).replace(/✅/g,`✓`):``}function xt(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];if(!r||!bt(r))break;t+=1}return t}function St(e){let t=xt(e);return t===0?null:e.slice(e.length-t).filter(bt).map(e=>U(e.text).trim()).filter(e=>e.length>0).join(`
|
|
4
|
-
|
|
5
|
-
`).trim()||null}function Ct(e){let t=B(e);return t?St(t):U(e).trim()||null}function wt(e,t){let n=[...e];for(let e of t){if(e.type===`tool_use`){let t=n.findIndex(t=>t.type===`tool_use`&&t.id===e.id);t>=0?n[t]=e:n.push(e);continue}if(e.type===`tool-result`){let t=n.findIndex(t=>t.type===`tool-result`&&t.toolCallId===e.toolCallId);t>=0?n[t]=e:n.push(e);continue}n.push(e)}return n}function Tt(e,t,n){let r=e[e.length-1];return r?.type===t?[...e.slice(0,-1),{type:t,chunks:[...r.chunks,n]}]:[...e,{type:t,chunks:[n]}]}function Et(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n){if(n.type===`content`)return t;if(n.type!==`thinking`)return-1}}return-1}function Dt(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type===`content`)return t;return-1}function Ot(e){let t=e.chunks.join(``);return B(t)??(t.trim()?[{type:`text`,text:t}]:[])}function kt(e){return e.some(e=>e.type===`tool_use`||e.type===`tool-result`)}function At(e){let t=new Set,n=new Set,r=[];for(let i=e.length-1;i>=0;i--){let a=e[i];if(a){if(a.type===`tool_use`){if(t.has(a.id))continue;t.add(a.id),r.push(a);continue}if(a.type===`tool-result`){if(n.has(a.toolCallId))continue;n.add(a.toolCallId),r.push(a);continue}r.push(a)}}return r.reverse(),r}function jt(e,t){let n=Dt(e);if(n===-1)return[...e,{type:`content`,chunks:[t]}];let r=e[n],i=t;if(r?.type===`content`){let e=B(t),n=Ot(r);e&&kt(e)&&kt(n)&&(i=JSON.stringify(wt(n,e)))}return[...e.slice(0,n),{type:`content`,chunks:[i]},...e.slice(n+1)]}function Mt(e,t){let n=B(t);if(!n?.some(e=>e.type===`tool_use`||e.type===`tool-result`))return Tt(e,`content`,t);let r=Et(e),i=n;if(r>=0){let t=e[r];t?.type===`content`&&(i=wt(Ot(t),n))}let a=JSON.stringify(i);return r>=0?[...e.slice(0,r),{type:`content`,chunks:[a]},...e.slice(r+1)]:[...e,{type:`content`,chunks:[a]}]}function Nt(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`content`)return n.chunks.join(``)}return``}function Pt(e,t){return[...e,{type:`long_running_confirmation`,prompt:t}]}function Ft(e,t){return[...e,{type:`shell_permission`,prompt:t}]}function It(e,t){return[...e,{type:`seatbelt_escalation`,prompt:t}]}function Lt(e,t){return[...e,{type:`web_fetch_permission`,prompt:t}]}var Rt=new WeakMap;function zt(e,t,n){if(t.length<n)return!1;for(let r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0}function Bt(e){let t=Rt.get(e),n=t?zt(t.chunks,e.chunks,t.chunkCount):!1;if(t&&n&&e.chunks.length===t.chunkCount)return t.blocks;let r=t!==void 0&&n,i=r?t.text+e.chunks.slice(t.chunkCount).join(``):e.chunks.join(``),a,o;if(e.type===`thinking`)a=j(i)??[];else{let e=R(i,r?t.scan:void 0);o=e.scan,a=yt(i,e.index)??(i.trim()?[{type:`text`,text:i}]:[])}return Rt.set(e,{chunks:e.chunks,chunkCount:e.chunks.length,text:i,scan:o,blocks:a}),a}function W(e){let t=[];for(let n of e){if(n.type===`long_running_confirmation`){t.push({type:`long_running_confirmation`,prompt:n.prompt});continue}if(n.type===`shell_permission`){t.push({type:`shell_permission`,prompt:n.prompt});continue}if(n.type===`seatbelt_escalation`){t.push({type:`seatbelt_escalation`,prompt:n.prompt});continue}if(n.type===`web_fetch_permission`){t.push({type:`web_fetch_permission`,prompt:n.prompt});continue}t.push(...Bt(n))}return At(t)}function G(e){return e.type===`thinking-group`}function Vt(e,t=!1){let n=[],r=[],i,a=()=>{r.length>0&&(n.push({type:`thinking-group`,text:r.join(`
|
|
6
|
-
|
|
7
|
-
`),label:i,isCurrentlyStreaming:!1}),r=[],i=void 0)};for(let t of e)if(t.type===`reasoning`&&`text`in t){let e=t;r.push(e.text),e.label&&(i=e.label)}else a(),n.push(t);if(a(),t&&n.length>0){let e=n[n.length-1];if(e.type===`thinking-group`){let t=e;t.label!==`Validated`&&(t.isCurrentlyStreaming=!0)}}return n}var Ht=new Set([`todo`]),K=new Set([`todo`,`ask_user`]),Ut=new Map(c.map((e,t)=>[e.id,t]));function Wt(e){if(G(e))return!1;switch(e.type){case`text`:return e.text.trim().length>0;case`shell_permission`:case`seatbelt_escalation`:case`web_fetch_permission`:case`long_running_confirmation`:return!0;case`tool_use`:return e.name===`ask_user`;case`tool-result`:return!1}}function Gt(e){return G(e)?!1:e.type===`tool_use`?!Ht.has(e.name):e.type===`tool-result`?!K.has(e.toolName):!1}function Kt(e){let t=[],n=[];function r(){n.some(Gt)?t.push({type:`tool-call-group`,items:n}):t.push(...n),n=[]}for(let i of e)Wt(i)?(n.length>0&&r(),t.push(i)):n.push(i);return n.length>0&&r(),t}function q(e){return e.length===0?0:e.split(`
|
|
8
|
-
`).length}function qt(e){let t=0,n=0;if(Array.isArray(e.replacements)){for(let r of e.replacements)if(r&&typeof r==`object`){let e=r;typeof e.newText==`string`&&(t+=q(e.newText)),typeof e.oldText==`string`&&(n+=q(e.oldText))}return{added:t,removed:n}}return typeof e.newText==`string`&&(t+=q(e.newText)),typeof e.oldText==`string`&&(n+=q(e.oldText)),{added:t,removed:n}}function Jt(e){let t=new Set;for(let n of e)(n.type===`shell_permission`||n.type===`web_fetch_permission`||n.type===`long_running_confirmation`&&n.prompt.toolCallId)&&t.add(n.prompt.toolCallId);return t}function Yt(e){let t=typeof e.path==`string`&&e.path?e.path:null;return t?t.split(`/`).pop()??t:null}function Xt(e){let t=typeof e.description==`string`?e.description.trim():``;return t?`${t}…`:null}function Zt(e){return(typeof e.intention==`string`?e.intention.trim():``)||null}function Qt(e){let t=Zt(e);return t?`${t}…`:null}function $t(e){let t=e.toLowerCase();return t===`run_js`||t===`run_web_worker`}function en(e){return r(e.name,e.input)?a(`subagents`):s(e.name)}function tn(e){return e.filter(e=>e===`subagents`).length}function nn(e,t){let n=e[0];return a(n!==void 0&&e.every(e=>e===n)?n:`other`).formatNeutral(t)}function J(e){return e.charAt(0).toUpperCase()+e.slice(1)}function rn(){return{categoryCounts:new Map,editedPaths:new Set,completedCommandBlocks:[],linesAdded:0,linesRemoved:0}}function an(e){let t=[],n=new Map;for(let r of e)G(r)||(V(r)?t.push(r):H(r)&&n.set(r.toolCallId,r));return{toolUses:t,groupResults:n,groupToolUseIds:new Set(t.map(e=>e.id))}}function on(e,t){let n=en(e);t.categoryCounts.set(n.id,(t.categoryCounts.get(n.id)??0)+1),n.id===`commands`&&t.completedCommandBlocks.push(e);let r=e.name.toLowerCase();if(r===`edit`||r===`write`){let n=typeof e.input.path==`string`&&e.input.path?e.input.path:e.id;if(t.editedPaths.add(n),r===`edit`){let n=qt(e.input);t.linesAdded+=n.added,t.linesRemoved+=n.removed}else typeof e.input.content==`string`&&(t.linesAdded+=q(e.input.content))}}function sn(e,t,n,r,i){let a=[],o=0,s=null;for(let c of e){if(Ht.has(c.name))continue;let e=t.has(c.id),l=r?.has(c.id)||n.some(e=>H(e)&&e.toolCallId===c.id&&!K.has(e.toolName));e?on(c,i):l||(o+=1,a.push(en(c).id),s=c)}return{pendingCount:o,pendingCategoryIds:a,lastPending:s}}function cn(e,t,n,r){let i=0;for(let a of e.values())if(!K.has(a.toolName)&&(a.isError===!0&&(i+=1),!t.has(a.toolCallId))){let e=n.find(e=>V(e)&&e.id===a.toolCallId);e?on(e,r):r.categoryCounts.set(`other`,(r.categoryCounts.get(`other`)??0)+1)}return i}function ln(e,t){let n=[];for(let[r,i]of e)r===`other`||i===0||n.push({id:r,count:r===`files`?t.size:i});return n.sort((e,t)=>(Ut.get(e.id)??2**53-1)-(Ut.get(t.id)??2**53-1)),n}function un(e,t,n,i){if(!e)return null;if(i.has(e.id))return`Awaiting permission · ${nn(n,t)}`;if(r(e.name,e.input))return Xt(e.input)??`${e.activeDisplayName??l(e.name)}…`;if($t(e.name))return Qt(e.input)??`${e.activeDisplayName??l(e.name)}…`;let a=e.activeDisplayName??l(e.name),o=Yt(e.input);return o?`${a} ${o}…`:`${a}…`}function dn(e){if(e.length!==1)return null;let t=e[0];return t&&$t(t.name)?Zt(t.input):null}function Y(e,t,n){let{toolUses:r,groupResults:i,groupToolUseIds:a}=an(e),o=Jt(t),s=rn(),{pendingCount:c,pendingCategoryIds:l,lastPending:u}=sn(r,i,t,n,s),d=cn(i,a,t,s),f=ln(s.categoryCounts,s.editedPaths),p=s.editedPaths.size,m=un(u,c,l,o),h=dn(s.completedCommandBlocks);return{categories:f,distinctFiles:p,otherCount:s.categoryCounts.get(`other`)??0,pendingCount:c,pendingCategoryIds:l,linesAdded:s.linesAdded,linesRemoved:s.linesRemoved,errorCount:d,activeLabel:m,singleCommandTitle:h}}function fn(e,t){let n=e.categories.slice(0,3),r=e.categories.slice(3).reduce((e,t)=>e+t.count,0),i=e.otherCount+r,s=n.map(t=>t.id===`commands`&&t.count===1&&e.singleCommandTitle?e.singleCommandTitle:a(t.id).formatPhrase(t.count)),c=``;s.length>0?(c=s.join(`, `),i>0&&(c+=`, and ${i} more`),c=J(c)):i>0&&(c=J(a(`other`).formatPhrase(i)));let l=tn(e.pendingCategoryIds);if(l>0){let e=o(l);c=c?`${c} · ${e}`:J(e)}let u=t.showActive&&e.activeLabel!==null,d=e.pendingCount-l;if(!u&&d>0){let t=nn(e.pendingCategoryIds.filter(e=>e!==`subagents`),d);c=c?`${c} · ${t}`:J(t)}let f=e.linesAdded+e.linesRemoved>0?`+${e.linesAdded} −${e.linesRemoved}`:null;return{text:c,lineStats:f,errorCount:e.errorCount,activeLabel:u?e.activeLabel:null}}function pn(e){let t=Kt(Vt(e,!0));for(let n=t.length-1;n>=0;n--){let r=t[n];if(!A(r))continue;let i=fn(Y(r.items,e),{showActive:!0});if(i.activeLabel!==null)return i.activeLabel}return null}function mn(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`long_running_confirmation`||n.type===`shell_permission`||n.type===`web_fetch_permission`)return t}return-1}function hn(e){return e.type===`content`||e.type===`thinking`?e.chunks.some(e=>e.trim().length>0):!1}function gn(e){let t=W(e),n=t.some(e=>V(e)&&e.name===`ask_user`),r=t.some(e=>H(e)&&e.toolName===`ask_user`);if(n&&!r)return!0;let i=mn(e);return i===-1?!1:!e.slice(i+1).some(hn)}function _n(e){let t=W(e);return t.length===0?`...`:t.length===1&&t[0]?.type===`text`&&`text`in t[0]?t[0].text:JSON.stringify(t)}function vn(e,t){switch(t.type){case d.SetStreaming:{let n=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),isStreaming:t.isStreaming})}case d.AppendStreamContent:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r);return S(e,n,r,{...i,streamingContent:i.streamingContent+t.content})}case d.SetStreamContent:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r),a=jt(i.streamingSegments,t.content);return S(e,n,r,{...i,streamingContent:t.content,streamingSegments:a})}case d.AppendStreamThinking:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r);return S(e,n,r,{...i,streamingThinking:i.streamingThinking+t.content})}case d.IncrementStreamEventCount:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r);return S(e,n,r,{...i,streamingEventCount:i.streamingEventCount+1})}case d.AppendStreamChunk:{let n=b(e,t),r=x(e,t),i=y(e.threadStreamingStates,n,r);return S(e,n,r,{...i,streamingSegments:t.segments,streamingContent:t.chunkType===`content`?i.streamingContent+t.content:i.streamingContent,streamingThinking:t.chunkType===`thinking`?i.streamingThinking+t.content:i.streamingThinking})}case d.SetStreamModel:{let n=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),streamingModel:t.model})}case d.SetStreamAgentMode:{let n=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),streamingAgentMode:t.mode})}case d.SetContextUsage:{let n=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),contextUsage:t.contextUsage})}case d.ResetStream:return S(e,b(e,t),x(e,t),_(),!0);case d.StopStream:{let n=b(e,t),r=x(e,t);return S(e,n,r,{...y(e.threadStreamingStates,n,r),isStreaming:!1})}default:return null}}function X(e,t){return e.terminalStates[t]??pe()}function yn(e,t){switch(t.type){case d.AppendCommandOutput:return{...e,commandOutput:e.commandOutput+t.content};case d.SetRunningCommand:return{...e,isRunningCommand:t.isRunning};case d.ClearCommandOutput:return{...e,commandOutput:``};case d.ToggleTerminal:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,open:!n.open}}}}case d.SetTerminalOpen:{let n=t.threadId??`default`,r=X(e,n);return{...e,terminalStates:{...e.terminalStates,[n]:{...r,open:t.open}}}}case d.QueueTerminalCommand:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,queuedCommand:t.command,queuedRelativeFolder:t.relativeFolder??null,open:!0}}}}case d.ClearQueuedTerminalCommand:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,queuedCommand:null}}}}case d.AppendTerminalLine:{let n=t.threadId??`default`,r=X(e,n);return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[...r.outputLines,t.line]}}}}case d.ClearTerminalOutput:{let n=t.threadId??`default`,r=X(e,n);return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[]}}}}case d.SetTerminalHeight:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,height:t.height}}}}case d.SetTerminalCwd:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,cwd:t.cwd}}}}case d.SetTerminalRunning:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,isRunning:t.isRunning}}}}case d.SetTerminalHistory:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,history:t.history}}}}case d.SetTerminalHistoryIndex:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,historyIndex:t.index}}}}default:return null}}function bn(e,t){switch(t.type){case d.ToggleSidebar:return{...e,sidebarOpen:!e.sidebarOpen};case d.CloseSidebar:return e.sidebarOpen?{...e,sidebarOpen:!1}:e;case d.OpenProjectPanel:return{...e,projectPanelView:`actions`,projectPanelProjectId:t.projectId};case d.CloseProjectPanel:return{...e,projectPanelView:`projects`,projectPanelProjectId:null};case d.SetCreatingProject:return{...e,isCreatingProject:t.isCreating};case d.ConfigUpdated:return{...e,configUpdatedAt:Date.now()};case d.FocusChatInput:return{...e,focusChatInput:!0};case d.ClearFocusChatInput:return{...e,focusChatInput:!1};case d.SetDiffComments:return{...e,diffComments:{...e.diffComments,[t.threadId]:t.comments}};default:return null}}var xn=[vn,te,at,Ae,st,yn,bn];function Sn(e,t){for(let n of xn){let r=n(e,t);if(r!==null)return r}return e}var Cn=new Set([d.AppendStreamChunk,d.IncrementStreamEventCount,d.SetStreamModel,d.AppendStreamContent,d.AppendStreamThinking,d.SetStreamContent,d.AppendSubagentEvent,d.AppendToolExecutionOutput,d.UpdateToolCallProgress,d.UpdateToolExecutionOutput]);function Z(e){return`${`threadId`in e&&typeof e.threadId==`string`?e.threadId:``}:${`paneId`in e&&typeof e.paneId==`string`?e.paneId:``}`}function wn(e){if(e.length<=1)return e;let t=[],n=new Map,r=new Map,i=new Map,a=new Map,o=new Map,s=new Map,c=new Map,l=new Map,u=new Map,f=[];for(let t of e)switch(t.type){case d.AppendStreamChunk:{let e=Z(t),r=n.get(e);r?(t.chunkType===`thinking`?r.thinkingContent+=t.content:t.chunkType===`content`&&(r.contentContent+=t.content),r.lastAction=t):n.set(e,{thinkingContent:t.chunkType===`thinking`?t.content:``,contentContent:t.chunkType===`content`?t.content:``,lastAction:t}),c.set(e,`append-chunk`);break}case d.IncrementStreamEventCount:r.set(Z(t),t);break;case d.SetStreamModel:i.set(Z(t),t);break;case d.AppendStreamContent:{let e=Z(t),n=a.get(e);n?(n.value+=t.content,n.last=t):a.set(e,{value:t.content,last:t});break}case d.AppendStreamThinking:{let e=Z(t),n=o.get(e);n?(n.value+=t.content,n.last=t):o.set(e,{value:t.content,last:t});break}case d.SetStreamContent:{let e=Z(t);s.set(e,t),c.set(e,`set-content`);break}case d.UpdateToolCallProgress:l.set(t.toolCallId,t);break;case d.UpdateToolExecutionOutput:u.set(t.toolCallId,t);break;default:f.push(t);break}for(let e of i.values())t.push(e);for(let e of r.values())t.push(e);for(let{value:e,last:n}of a.values())n.type===d.AppendStreamContent&&t.push({...n,content:e});for(let{value:e,last:n}of o.values())n.type===d.AppendStreamThinking&&t.push({...n,content:e});let p=new Set([...s.keys(),...n.keys()]);for(let e of p){let r=s.get(e),i=n.get(e),a=[];if(i){let{thinkingContent:e,contentContent:t,lastAction:n}=i;e&&a.push({...n,chunkType:`thinking`,content:e,segments:n.segments}),t&&a.push({...n,chunkType:`content`,content:t,segments:n.segments}),!e&&!t&&a.push(n)}c.get(e)===`set-content`?(t.push(...a),r&&t.push(r)):(r&&t.push(r),t.push(...a))}for(let e of l.values())t.push(e);for(let e of u.values())t.push(e);return t.push(...f),t}function Tn(e=p){let t=e,n=new Set,r=0,i=[];function a(){return t}function o(){for(let e of n)e()}function s(e){let n=Sn(t,e);n!==t&&(t=n)}function c(){if(r=0,i.length===0)return;let e=i.splice(0,i.length);for(let t of wn(e))s(t);o()}function l(e){if(Cn.has(e.type)){i.push(e),r===0&&(r=requestAnimationFrame(c));return}i.length>0&&(r!==0&&(cancelAnimationFrame(r),r=0),c()),s(e),o()}function u(e){return n.add(e),function(){n.delete(e)}}return{getState:a,dispatch:l,subscribe:u}}var En=t(),Q=e(n(),1),Dn=(0,Q.createContext)(null);function $(){let e=(0,Q.useContext)(Dn);if(!e)throw Error(`useAppStore must be used within an AppStoreContext.Provider`);return e}function On(e){let t=(0,En.c)(3),n=$(),r;t[0]!==e||t[1]!==n?(r=function(){return e(n.getState())},t[0]=e,t[1]=n,t[2]=r):r=t[2];let i=r;return(0,Q.useSyncExternalStore)(n.subscribe,i,i)}function kn(){return $().dispatch}function An(e){let t=(0,En.c)(8),n=kn(),r;t[0]===e?r=t[1]:(r=t=>(e?t.terminalStates[e]:void 0)??m,t[0]=e,t[1]=r);let i=On(r),a;t[2]!==n||t[3]!==e?(a=t=>{e&&n({...t,threadId:e})},t[2]=n,t[3]=e,t[4]=a):a=t[4];let o=a,s;return t[5]!==o||t[6]!==i?(s={terminalState:i,dispatch:o},t[5]=o,t[6]=i,t[7]=s):s=t[7],s}export{ht as A,ne as B,jt as C,H as D,Ct as E,be as F,ce as G,ue as H,ye as I,d as J,ie as K,xe as L,j as M,A as N,V as O,Se as P,v as R,It as S,Lt as T,de as U,y as V,oe as W,f as Y,Nt as _,An as a,Pt as b,gn as c,Kt as d,Y as f,Bt as g,At as h,$ as i,B as j,U as k,fn as l,G as m,kn as n,Tn as o,Vt as p,ee as q,On as r,_n as s,Dn as t,pn as u,W as v,Ft as w,Mt as x,Tt as y,re as z};
|