@vibedeckx/darwin-arm64 0.1.28 → 0.1.31
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/bin.js +171587 -70800
- package/dist/ui/404/index.html +12 -1
- package/dist/ui/404.html +12 -1
- package/dist/ui/__next.__PAGE__.txt +2 -2
- package/dist/ui/__next._full.txt +14 -10
- package/dist/ui/__next._head.txt +1 -1
- package/dist/ui/__next._index.txt +6 -6
- package/dist/ui/__next._tree.txt +9 -5
- package/dist/ui/_next/static/chunks/1d01d81699d17df4.js +21 -0
- package/dist/ui/_next/static/chunks/1d14cce84c33e71d.js +1182 -0
- package/dist/ui/_next/static/chunks/52d56db34af4e41f.css +1 -0
- package/dist/ui/_next/static/chunks/536c9d708e59a931.js +19 -0
- package/dist/ui/_next/static/chunks/{af8114430894d79e.js → 74997414d07089e8.js} +1 -1
- package/dist/ui/_next/static/chunks/99b232bc532587d5.js +35 -0
- package/dist/ui/_next/static/chunks/d6bec8fc7b13d308.css +5 -0
- package/dist/ui/_next/static/media/04c5164763c40239-s.690580e8.woff2 +0 -0
- package/dist/ui/_next/static/media/051742360c26797e-s.p.102b7f24.woff2 +0 -0
- package/dist/ui/_next/static/media/1bffadaabf893a1e-s.7cd81963.woff2 +0 -0
- package/dist/ui/_next/static/media/26f284dcc38c84c0-s.303a03d6.woff2 +0 -0
- package/dist/ui/_next/static/media/2bbe8d2671613f1f-s.76dcb0b2.woff2 +0 -0
- package/dist/ui/_next/static/media/2c55a0e60120577a-s.2a48534a.woff2 +0 -0
- package/dist/ui/_next/static/media/4fa387ec64143e14-s.3b336396.woff2 +0 -0
- package/dist/ui/_next/static/media/53b9e256198e5412-s.853d50a3.woff2 +0 -0
- package/dist/ui/_next/static/media/5476f68d60460930-s.c995e352.woff2 +0 -0
- package/dist/ui/_next/static/media/5ce348bf30bf5439-s.56c1f21e.woff2 +0 -0
- package/dist/ui/_next/static/media/6306c77e7c8268e4-s.e3369375.woff2 +0 -0
- package/dist/ui/_next/static/media/6a5386fd6038edbe-s.719084df.woff2 +0 -0
- package/dist/ui/_next/static/media/7178b3e590c64307-s.55554cd0.woff2 +0 -0
- package/dist/ui/_next/static/media/797e433ab948586e-s.p.29207c2f.woff2 +0 -0
- package/dist/ui/_next/static/media/7d817b4c03b0c5f1-s.a40b9a8b.woff2 +0 -0
- package/dist/ui/_next/static/media/7e7f32a39836f228-s.0b4edfe7.woff2 +0 -0
- package/dist/ui/_next/static/media/7ebf22b5a21034f8-s.p.d8bad3ab.woff2 +0 -0
- package/dist/ui/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2 +0 -0
- package/dist/ui/_next/static/media/8a480f0b521d4e75-s.ea323500.woff2 +0 -0
- package/dist/ui/_next/static/media/9c72aa0f40e4eef8-s.18a48cbc.woff2 +0 -0
- package/dist/ui/_next/static/media/ad66f9afd8947f86-s.7a40eb73.woff2 +0 -0
- package/dist/ui/_next/static/media/bbc41e54d2fcbd21-s.fe42ddf4.woff2 +0 -0
- package/dist/ui/_next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2 +0 -0
- package/dist/ui/_next/static/media/ccf27e5a7366fb23-s.262b87c4.woff2 +0 -0
- package/dist/ui/_next/static/media/e41d5df559864f9e-s.p.380d09ea.woff2 +0 -0
- package/dist/ui/_next/static/media/fa39153a3fc630ba-s.bff0868b.woff2 +0 -0
- package/dist/ui/_next/static/media/favicon.65147e27.ico +0 -0
- package/dist/ui/_next/static/media/fc0a7394b875fa43-s.614a1c00.woff2 +0 -0
- package/dist/ui/_next/static/media/fef07dbb0973bf53-s.518e079e.woff2 +0 -0
- package/dist/ui/_not-found/__next._full.txt +7 -7
- package/dist/ui/_not-found/__next._head.txt +1 -1
- package/dist/ui/_not-found/__next._index.txt +6 -6
- package/dist/ui/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/ui/_not-found/__next._not-found.txt +1 -1
- package/dist/ui/_not-found/__next._tree.txt +3 -3
- package/dist/ui/_not-found/index.html +12 -1
- package/dist/ui/_not-found/index.txt +7 -7
- package/dist/ui/favicon.ico +0 -0
- package/dist/ui/index.html +12 -1
- package/dist/ui/index.txt +14 -10
- package/dist/ui/sounds/sound1.mp3 +0 -0
- package/dist/ui/sounds/sound2.mp3 +0 -0
- package/node_modules/better-sqlite3/README.md +1 -1
- package/node_modules/better-sqlite3/build/Release/better_sqlite3-127.node +0 -0
- package/node_modules/better-sqlite3/build/Release/better_sqlite3-137.node +0 -0
- package/node_modules/better-sqlite3/build/Release/better_sqlite3-141.node +0 -0
- package/node_modules/better-sqlite3/build/Release/better_sqlite3-147.node +0 -0
- package/node_modules/better-sqlite3/lib/database.js +2 -2
- package/node_modules/better-sqlite3/package.json +11 -3
- package/node_modules/node-pty/lib/conpty_console_list_agent.js +1 -1
- package/node_modules/node-pty/lib/index.js +6 -6
- package/node_modules/node-pty/lib/shared/conout.js +2 -3
- package/node_modules/node-pty/lib/terminal.js +2 -2
- package/node_modules/node-pty/lib/unixTerminal.js +5 -3
- package/node_modules/node-pty/lib/utils.js +6 -7
- package/node_modules/node-pty/lib/windowsConoutConnection.js +6 -6
- package/node_modules/node-pty/lib/windowsPtyAgent.js +35 -10
- package/node_modules/node-pty/lib/windowsTerminal.js +10 -2
- package/node_modules/node-pty/lib/worker/conoutSocketWorker.js +3 -3
- package/node_modules/node-pty/package.json +6 -5
- package/node_modules/node-pty/prebuilds/darwin-arm64/pty.node +0 -0
- package/node_modules/node-pty/prebuilds/darwin-arm64/spawn-helper +0 -0
- package/package.json +2 -2
- package/dist/ui/_next/static/chunks/0dc6cf26b91a20e8.js +0 -21
- package/dist/ui/_next/static/chunks/206325729c6b437c.js +0 -29
- package/dist/ui/_next/static/chunks/2473c16c0c2f6b5f.css +0 -2
- package/dist/ui/_next/static/chunks/373ecc09d993b339.css +0 -1
- package/dist/ui/_next/static/chunks/57495168178cb0c6.js +0 -19
- package/dist/ui/_next/static/chunks/73d9cd102c21dc34.js +0 -1
- package/dist/ui/_next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
- package/dist/ui/_next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
- package/dist/ui/_next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
- package/dist/ui/_next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
- package/dist/ui/_next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
- package/dist/ui/_next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
- package/dist/ui/_next/static/media/favicon.0b3bf435.ico +0 -0
- package/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- /package/dist/ui/_next/static/{c3XhyFJJbnxGICK0cg7UN → m1av2cpR6dc5u0uXtkk77}/_buildManifest.js +0 -0
- /package/dist/ui/_next/static/{c3XhyFJJbnxGICK0cg7UN → m1av2cpR6dc5u0uXtkk77}/_clientMiddlewareManifest.json +0 -0
- /package/dist/ui/_next/static/{c3XhyFJJbnxGICK0cg7UN → m1av2cpR6dc5u0uXtkk77}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,837031,e=>{"use strict";let r,s,i,n,o,a,l,c,d,u,h,f,p,m,g,x,v;var _,y,b,w,S,C,j,k,N,D,E,R,A,F,M,T,P,B,L,I,O,z=e.i(813443),$=e.i(629109),W=e.i(331053),H=e.i(322387),H=H,U=e.i(538422);function K(e,r=[]){let s=[],i=()=>{let r=s.map(e=>$.createContext(e));return function(s){let i=s?.[e]||r;return $.useMemo(()=>({[`__scope${e}`]:{...s,[e]:i}}),[s,i])}};return i.scopeName=e,[function(r,i){let n=$.createContext(i),o=s.length;s=[...s,i];let a=r=>{let{scope:s,children:i,...a}=r,l=s?.[e]?.[o]||n,c=$.useMemo(()=>a,Object.values(a));return(0,z.jsx)(l.Provider,{value:c,children:i})};return a.displayName=r+"Provider",[a,function(s,a){let l=a?.[e]?.[o]||n,c=$.useContext(l);if(c)return c;if(void 0!==i)return i;throw Error(`\`${s}\` must be used within \`${r}\``)}]},function(...e){let r=e[0];if(1===e.length)return r;let s=()=>{let s=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let i=s.reduce((r,{useScope:s,scopeName:i})=>{let n=s(e)[`__scope${i}`];return{...r,...n}},{});return $.useMemo(()=>({[`__scope${r.scopeName}`]:i}),[i])}};return s.scopeName=r.scopeName,s}(i,...r)]}function q(e,r,{checkForDefaultPrevented:s=!0}={}){return function(i){if(e?.(i),!1===s||!i.defaultPrevented)return r?.(i)}}"undefined"!=typeof window&&window.document&&window.document.createElement;var V=globalThis?.document?$.useLayoutEffect:()=>{};$[" useEffectEvent ".trim().toString()],$[" useInsertionEffect ".trim().toString()];var Y=$[" useInsertionEffect ".trim().toString()]||V;function G({prop:e,defaultProp:r,onChange:s=()=>{},caller:i}){let[n,o,a]=function({defaultProp:e,onChange:r}){let[s,i]=$.useState(e),n=$.useRef(s),o=$.useRef(r);return Y(()=>{o.current=r},[r]),$.useEffect(()=>{n.current!==s&&(o.current?.(s),n.current=s)},[s,n]),[s,i,o]}({defaultProp:r,onChange:s}),l=void 0!==e,c=l?e:n;{let r=$.useRef(void 0!==e);$.useEffect(()=>{let e=r.current;if(e!==l){let r=l?"controlled":"uncontrolled";console.warn(`${i} is changing from ${e?"controlled":"uncontrolled"} to ${r}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}r.current=l},[l,i])}return[c,$.useCallback(r=>{if(l){let s="function"==typeof r?r(e):r;s!==e&&a.current?.(s)}else o(r)},[l,e,o,a])]}function X(e){let r=$.useRef({value:e,previous:e});return $.useMemo(()=>(r.current.value!==e&&(r.current.previous=r.current.value,r.current.value=e),r.current.previous),[e])}function J(e){let[r,s]=$.useState(void 0);return V(()=>{if(e){s({width:e.offsetWidth,height:e.offsetHeight});let r=new ResizeObserver(r=>{let i,n;if(!Array.isArray(r)||!r.length)return;let o=r[0];if("borderBoxSize"in o){let e=o.borderBoxSize,r=Array.isArray(e)?e[0]:e;i=r.inlineSize,n=r.blockSize}else i=e.offsetWidth,n=e.offsetHeight;s({width:i,height:n})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}s(void 0)},[e]),r}Symbol("RADIX:SYNC_STATE");var Z=e=>{var r;let s,i,{present:n,children:o}=e,a=function(e){var r,s;let[i,n]=$.useState(),o=$.useRef(null),a=$.useRef(e),l=$.useRef("none"),[c,d]=(r=e?"mounted":"unmounted",s={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},$.useReducer((e,r)=>s[e][r]??e,r));return $.useEffect(()=>{let e=Q(o.current);l.current="mounted"===c?e:"none"},[c]),V(()=>{let r=o.current,s=a.current;if(s!==e){let i=l.current,n=Q(r);e?d("MOUNT"):"none"===n||r?.display==="none"?d("UNMOUNT"):s&&i!==n?d("ANIMATION_OUT"):d("UNMOUNT"),a.current=e}},[e,d]),V(()=>{if(i){let e,r=i.ownerDocument.defaultView??window,s=s=>{let n=Q(o.current).includes(CSS.escape(s.animationName));if(s.target===i&&n&&(d("ANIMATION_END"),!a.current)){let s=i.style.animationFillMode;i.style.animationFillMode="forwards",e=r.setTimeout(()=>{"forwards"===i.style.animationFillMode&&(i.style.animationFillMode=s)})}},n=e=>{e.target===i&&(l.current=Q(o.current))};return i.addEventListener("animationstart",n),i.addEventListener("animationcancel",s),i.addEventListener("animationend",s),()=>{r.clearTimeout(e),i.removeEventListener("animationstart",n),i.removeEventListener("animationcancel",s),i.removeEventListener("animationend",s)}}d("ANIMATION_END")},[i,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:$.useCallback(e=>{o.current=e?getComputedStyle(e):null,n(e)},[])}}(n),l="function"==typeof o?o({present:a.isPresent}):$.Children.only(o),c=(0,U.useComposedRefs)(a.ref,(r=l,(i=(s=Object.getOwnPropertyDescriptor(r.props,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?r.ref:(i=(s=Object.getOwnPropertyDescriptor(r,"ref")?.get)&&"isReactWarning"in s&&s.isReactWarning)?r.props.ref:r.props.ref||r.ref));return"function"==typeof o||a.isPresent?$.cloneElement(l,{ref:c}):null};function Q(e){return e?.animationName||"none"}Z.displayName="Presence";var ee=e.i(492521),et=e.i(475299),er=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let s=(0,et.createSlot)(`Primitive.${r}`),i=$.forwardRef((e,i)=>{let{asChild:n,...o}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,z.jsx)(n?s:r,{...o,ref:i})});return i.displayName=`Primitive.${r}`,{...e,[r]:i}},{});function es(e,r){e&&ee.flushSync(()=>e.dispatchEvent(r))}var ei="Checkbox",[en,eo]=K(ei),[ea,el]=en(ei);function ec(e){let{__scopeCheckbox:r,checked:s,children:i,defaultChecked:n,disabled:o,form:a,name:l,onCheckedChange:c,required:d,value:u="on",internal_do_not_use_render:h}=e,[f,p]=G({prop:s,defaultProp:n??!1,onChange:c,caller:ei}),[m,g]=$.useState(null),[x,v]=$.useState(null),_=$.useRef(!1),y=!m||!!a||!!m.closest("form"),b={checked:f,disabled:o,setChecked:p,control:m,setControl:g,name:l,form:a,value:u,hasConsumerStoppedPropagationRef:_,required:d,defaultChecked:!ex(n)&&n,isFormControl:y,bubbleInput:x,setBubbleInput:v};return(0,z.jsx)(ea,{scope:r,...b,children:"function"==typeof h?h(b):i})}var ed="CheckboxTrigger",eu=$.forwardRef(({__scopeCheckbox:e,onKeyDown:r,onClick:s,...i},n)=>{let{control:o,value:a,disabled:l,checked:c,required:d,setControl:u,setChecked:h,hasConsumerStoppedPropagationRef:f,isFormControl:p,bubbleInput:m}=el(ed,e),g=(0,U.useComposedRefs)(n,u),x=$.useRef(c);return $.useEffect(()=>{let e=o?.form;if(e){let r=()=>h(x.current);return e.addEventListener("reset",r),()=>e.removeEventListener("reset",r)}},[o,h]),(0,z.jsx)(er.button,{type:"button",role:"checkbox","aria-checked":ex(c)?"mixed":c,"aria-required":d,"data-state":ev(c),"data-disabled":l?"":void 0,disabled:l,value:a,...i,ref:g,onKeyDown:q(r,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:q(s,e=>{h(e=>!!ex(e)||!e),m&&p&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});eu.displayName=ed;var eh=$.forwardRef((e,r)=>{let{__scopeCheckbox:s,name:i,checked:n,defaultChecked:o,required:a,disabled:l,value:c,onCheckedChange:d,form:u,...h}=e;return(0,z.jsx)(ec,{__scopeCheckbox:s,checked:n,defaultChecked:o,disabled:l,required:a,onCheckedChange:d,name:i,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(eu,{...h,ref:r,__scopeCheckbox:s}),e&&(0,z.jsx)(eg,{__scopeCheckbox:s})]})})});eh.displayName=ei;var ef="CheckboxIndicator",ep=$.forwardRef((e,r)=>{let{__scopeCheckbox:s,forceMount:i,...n}=e,o=el(ef,s);return(0,z.jsx)(Z,{present:i||ex(o.checked)||!0===o.checked,children:(0,z.jsx)(er.span,{"data-state":ev(o.checked),"data-disabled":o.disabled?"":void 0,...n,ref:r,style:{pointerEvents:"none",...e.style}})})});ep.displayName=ef;var em="CheckboxBubbleInput",eg=$.forwardRef(({__scopeCheckbox:e,...r},s)=>{let{control:i,hasConsumerStoppedPropagationRef:n,checked:o,defaultChecked:a,required:l,disabled:c,name:d,value:u,form:h,bubbleInput:f,setBubbleInput:p}=el(em,e),m=(0,U.useComposedRefs)(s,p),g=X(o),x=J(i);$.useEffect(()=>{if(!f)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,r=!n.current;if(g!==o&&e){let s=new Event("click",{bubbles:r});f.indeterminate=ex(o),e.call(f,!ex(o)&&o),f.dispatchEvent(s)}},[f,g,o,n]);let v=$.useRef(!ex(o)&&o);return(0,z.jsx)(er.input,{type:"checkbox","aria-hidden":!0,defaultChecked:a??v.current,required:l,disabled:c,name:d,value:u,form:h,...r,tabIndex:-1,ref:m,style:{...r.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function ex(e){return"indeterminate"===e}function ev(e){return ex(e)?"indeterminate":e?"checked":"unchecked"}eg.displayName=em,e.s(["Checkbox",()=>eh,"CheckboxIndicator",()=>ep,"Indicator",()=>ep,"Root",()=>eh,"createCheckboxScope",()=>eo,"unstable_BubbleInput",()=>eg,"unstable_CheckboxBubbleInput",()=>eg,"unstable_CheckboxProvider",()=>ec,"unstable_CheckboxTrigger",()=>eu,"unstable_Provider",()=>ec,"unstable_Trigger",()=>eu],85402);var e_=e.i(85402),e_=e_,ey=e.i(803545);function eb({className:e,...r}){return(0,z.jsx)(e_.Root,{"data-slot":"checkbox",className:(0,ey.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...r,children:(0,z.jsx)(e_.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,z.jsx)(H.default,{className:"size-3.5"})})})}var ew=e.i(198631);let eS=(0,ew.default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);var eC=$[" useId ".trim().toString()]||(()=>void 0),ej=0;function ek(e){let[r,s]=$.useState(eC());return V(()=>{e||s(e=>e??String(ej++))},[e]),e||(r?`radix-${r}`:"")}function eN(e){let r=$.useRef(e);return $.useEffect(()=>{r.current=e}),$.useMemo(()=>(...e)=>r.current?.(...e),[])}var eD="dismissableLayer.update",eE=$.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),eR=$.forwardRef((e,r)=>{let{disableOutsidePointerEvents:s=!1,onEscapeKeyDown:i,onPointerDownOutside:n,onFocusOutside:o,onInteractOutside:a,onDismiss:l,...c}=e,d=$.useContext(eE),[u,h]=$.useState(null),f=u?.ownerDocument??globalThis?.document,[,p]=$.useState({}),m=(0,U.useComposedRefs)(r,e=>h(e)),g=Array.from(d.layers),[x]=[...d.layersWithOutsidePointerEventsDisabled].slice(-1),v=g.indexOf(x),_=u?g.indexOf(u):-1,y=d.layersWithOutsidePointerEventsDisabled.size>0,b=_>=v,w=function(e,r=globalThis?.document){let s=eN(e),i=$.useRef(!1),n=$.useRef(()=>{});return $.useEffect(()=>{let e=e=>{if(e.target&&!i.current){let i=function(){eF("dismissableLayer.pointerDownOutside",s,o,{discrete:!0})},o={originalEvent:e};"touch"===e.pointerType?(r.removeEventListener("click",n.current),n.current=i,r.addEventListener("click",n.current,{once:!0})):i()}else r.removeEventListener("click",n.current);i.current=!1},o=window.setTimeout(()=>{r.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(o),r.removeEventListener("pointerdown",e),r.removeEventListener("click",n.current)}},[r,s]),{onPointerDownCapture:()=>i.current=!0}}(e=>{let r=e.target,s=[...d.branches].some(e=>e.contains(r));b&&!s&&(n?.(e),a?.(e),e.defaultPrevented||l?.())},f),S=function(e,r=globalThis?.document){let s=eN(e),i=$.useRef(!1);return $.useEffect(()=>{let e=e=>{e.target&&!i.current&&eF("dismissableLayer.focusOutside",s,{originalEvent:e},{discrete:!1})};return r.addEventListener("focusin",e),()=>r.removeEventListener("focusin",e)},[r,s]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}(e=>{let r=e.target;![...d.branches].some(e=>e.contains(r))&&(o?.(e),a?.(e),e.defaultPrevented||l?.())},f);return!function(e,r=globalThis?.document){let s=eN(e);$.useEffect(()=>{let e=e=>{"Escape"===e.key&&s(e)};return r.addEventListener("keydown",e,{capture:!0}),()=>r.removeEventListener("keydown",e,{capture:!0})},[s,r])}(e=>{_===d.layers.size-1&&(i?.(e),!e.defaultPrevented&&l&&(e.preventDefault(),l()))},f),$.useEffect(()=>{if(u)return s&&(0===d.layersWithOutsidePointerEventsDisabled.size&&(uX=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),d.layersWithOutsidePointerEventsDisabled.add(u)),d.layers.add(u),eA(),()=>{s&&1===d.layersWithOutsidePointerEventsDisabled.size&&(f.body.style.pointerEvents=uX)}},[u,f,s,d]),$.useEffect(()=>()=>{u&&(d.layers.delete(u),d.layersWithOutsidePointerEventsDisabled.delete(u),eA())},[u,d]),$.useEffect(()=>{let e=()=>p({});return document.addEventListener(eD,e),()=>document.removeEventListener(eD,e)},[]),(0,z.jsx)(er.div,{...c,ref:m,style:{pointerEvents:y?b?"auto":"none":void 0,...e.style},onFocusCapture:q(e.onFocusCapture,S.onFocusCapture),onBlurCapture:q(e.onBlurCapture,S.onBlurCapture),onPointerDownCapture:q(e.onPointerDownCapture,w.onPointerDownCapture)})});function eA(){let e=new CustomEvent(eD);document.dispatchEvent(e)}function eF(e,r,s,{discrete:i}){let n=s.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:s});r&&n.addEventListener(e,r,{once:!0}),i?es(n,o):n.dispatchEvent(o)}eR.displayName="DismissableLayer",$.forwardRef((e,r)=>{let s=$.useContext(eE),i=$.useRef(null),n=(0,U.useComposedRefs)(r,i);return $.useEffect(()=>{let e=i.current;if(e)return s.branches.add(e),()=>{s.branches.delete(e)}},[s.branches]),(0,z.jsx)(er.div,{...e,ref:n})}).displayName="DismissableLayerBranch";var eM="focusScope.autoFocusOnMount",eT="focusScope.autoFocusOnUnmount",eP={bubbles:!1,cancelable:!0},eB=$.forwardRef((e,r)=>{let{loop:s=!1,trapped:i=!1,onMountAutoFocus:n,onUnmountAutoFocus:o,...a}=e,[l,c]=$.useState(null),d=eN(n),u=eN(o),h=$.useRef(null),f=(0,U.useComposedRefs)(r,e=>c(e)),p=$.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;$.useEffect(()=>{if(i){let e=function(e){if(p.paused||!l)return;let r=e.target;l.contains(r)?h.current=r:eO(h.current,{select:!0})},r=function(e){if(p.paused||!l)return;let r=e.relatedTarget;null!==r&&(l.contains(r)||eO(h.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",r);let s=new MutationObserver(function(e){if(document.activeElement===document.body)for(let r of e)r.removedNodes.length>0&&eO(l)});return l&&s.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",r),s.disconnect()}}},[i,l,p.paused]),$.useEffect(()=>{if(l){ez.add(p);let e=document.activeElement;if(!l.contains(e)){let r=new CustomEvent(eM,eP);l.addEventListener(eM,d),l.dispatchEvent(r),r.defaultPrevented||(function(e,{select:r=!1}={}){let s=document.activeElement;for(let i of e)if(eO(i,{select:r}),document.activeElement!==s)return}(eL(l).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&eO(l))}return()=>{l.removeEventListener(eM,d),setTimeout(()=>{let r=new CustomEvent(eT,eP);l.addEventListener(eT,u),l.dispatchEvent(r),r.defaultPrevented||eO(e??document.body,{select:!0}),l.removeEventListener(eT,u),ez.remove(p)},0)}}},[l,d,u,p]);let m=$.useCallback(e=>{if(!s&&!i||p.paused)return;let r="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,n=document.activeElement;if(r&&n){var o;let r,i=e.currentTarget,[a,l]=[eI(r=eL(o=i),o),eI(r.reverse(),o)];a&&l?e.shiftKey||n!==l?e.shiftKey&&n===a&&(e.preventDefault(),s&&eO(l,{select:!0})):(e.preventDefault(),s&&eO(a,{select:!0})):n===i&&e.preventDefault()}},[s,i,p.paused]);return(0,z.jsx)(er.div,{tabIndex:-1,...a,ref:f,onKeyDown:m})});function eL(e){let r=[],s=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let r="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||r?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;s.nextNode();)r.push(s.currentNode);return r}function eI(e,r){for(let s of e)if(!function(e,{upTo:r}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===r||e!==r);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(s,{upTo:r}))return s}function eO(e,{select:r=!1}={}){if(e&&e.focus){var s;let i=document.activeElement;e.focus({preventScroll:!0}),e!==i&&(s=e)instanceof HTMLInputElement&&"select"in s&&r&&e.select()}}eB.displayName="FocusScope";var ez=(v=[],{add(e){let r=v[0];e!==r&&r?.pause(),(v=e$(v,e)).unshift(e)},remove(e){v=e$(v,e),v[0]?.resume()}});function e$(e,r){let s=[...e],i=s.indexOf(r);return -1!==i&&s.splice(i,1),s}var eW=$.forwardRef((e,r)=>{let{container:s,...i}=e,[n,o]=$.useState(!1);V(()=>o(!0),[]);let a=s||n&&globalThis?.document?.body;return a?ee.default.createPortal((0,z.jsx)(er.div,{...i,ref:r}),a):null});eW.displayName="Portal";var eH=0;function eU(){$.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??eK()),document.body.insertAdjacentElement("beforeend",e[1]??eK()),eH++,()=>{1===eH&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),eH--}},[])}function eK(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var eq=function(){return(eq=Object.assign||function(e){for(var r,s=1,i=arguments.length;s<i;s++)for(var n in r=arguments[s])Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n]);return e}).apply(this,arguments)};function eV(e,r){var s={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>r.indexOf(i)&&(s[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,i=Object.getOwnPropertySymbols(e);n<i.length;n++)0>r.indexOf(i[n])&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(s[i[n]]=e[i[n]]);return s}var eY=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),eG="width-before-scroll-bar";function eX(e,r){return"function"==typeof e?e(r):e&&(e.current=r),e}var eJ="undefined"!=typeof window?$.useLayoutEffect:$.useEffect,eZ=new WeakMap,eQ=(void 0===uW&&(uW={}),(void 0===uH&&(uH=function(e){return e}),uU=[],uK=!1,uq={read:function(){if(uK)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return uU.length?uU[uU.length-1]:null},useMedium:function(e){var r=uH(e,uK);return uU.push(r),function(){uU=uU.filter(function(e){return e!==r})}},assignSyncMedium:function(e){for(uK=!0;uU.length;){var r=uU;uU=[],r.forEach(e)}uU={push:function(r){return e(r)},filter:function(){return uU}}},assignMedium:function(e){uK=!0;var r=[];if(uU.length){var s=uU;uU=[],s.forEach(e),r=uU}var i=function(){var s=r;r=[],s.forEach(e)},n=function(){return Promise.resolve().then(i)};n(),uU={push:function(e){r.push(e),n()},filter:function(e){return r=r.filter(e),uU}}}}).options=eq({async:!0,ssr:!1},uW),uq),e0=function(){},e1=$.forwardRef(function(e,r){var s,i,n,o,a=$.useRef(null),l=$.useState({onScrollCapture:e0,onWheelCapture:e0,onTouchMoveCapture:e0}),c=l[0],d=l[1],u=e.forwardProps,h=e.children,f=e.className,p=e.removeScrollBar,m=e.enabled,g=e.shards,x=e.sideCar,v=e.noRelative,_=e.noIsolation,y=e.inert,b=e.allowPinchZoom,w=e.as,S=e.gapMode,C=eV(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),j=(s=[a,r],i=function(e){return s.forEach(function(r){return eX(r,e)})},(n=(0,$.useState)(function(){return{value:null,callback:i,facade:{get current(){return n.value},set current(value){var e=n.value;e!==value&&(n.value=value,n.callback(value,e))}}}})[0]).callback=i,o=n.facade,eJ(function(){var e=eZ.get(o);if(e){var r=new Set(e),i=new Set(s),n=o.current;r.forEach(function(e){i.has(e)||eX(e,null)}),i.forEach(function(e){r.has(e)||eX(e,n)})}eZ.set(o,s)},[s]),o),k=eq(eq({},C),c);return $.createElement($.Fragment,null,m&&$.createElement(x,{sideCar:eQ,removeScrollBar:p,shards:g,noRelative:v,noIsolation:_,inert:y,setCallbacks:d,allowPinchZoom:!!b,lockRef:a,gapMode:S}),u?$.cloneElement($.Children.only(h),eq(eq({},k),{ref:j})):$.createElement(void 0===w?"div":w,eq({},k,{className:f,ref:j}),h))});e1.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},e1.classNames={fullWidth:eG,zeroRight:eY};var e2=function(e){var r=e.sideCar,s=eV(e,["sideCar"]);if(!r)throw Error("Sidecar: please provide `sideCar` property to import the right car");var i=r.read();if(!i)throw Error("Sidecar medium not found");return $.createElement(i,eq({},s))};e2.isSideCarExport=!0;var e5=function(){var e=0,r=null;return{add:function(s){if(0==e&&(r=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var r=uJ||("undefined"!=typeof __webpack_nonce__?__webpack_nonce__:void 0);return r&&e.setAttribute("nonce",r),e}())){var i,n;(i=r).styleSheet?i.styleSheet.cssText=s:i.appendChild(document.createTextNode(s)),n=r,(document.head||document.getElementsByTagName("head")[0]).appendChild(n)}e++},remove:function(){--e||!r||(r.parentNode&&r.parentNode.removeChild(r),r=null)}}},e3=function(){var e=e5();return function(r,s){$.useEffect(function(){return e.add(r),function(){e.remove()}},[r&&s])}},e4=function(){var e=e3();return function(r){return e(r.styles,r.dynamic),null}},e6={left:0,top:0,right:0,gap:0},e8=function(e){return parseInt(e||"",10)||0},e7=function(e){var r=window.getComputedStyle(document.body),s=r["padding"===e?"paddingLeft":"marginLeft"],i=r["padding"===e?"paddingTop":"marginTop"],n=r["padding"===e?"paddingRight":"marginRight"];return[e8(s),e8(i),e8(n)]},e9=function(e){if(void 0===e&&(e="margin"),"undefined"==typeof window)return e6;var r=e7(e),s=document.documentElement.clientWidth,i=window.innerWidth;return{left:r[0],top:r[1],right:r[2],gap:Math.max(0,i-s+r[2]-r[0])}},te=e4(),tt="data-scroll-locked",tr=function(e,r,s,i){var n=e.left,o=e.top,a=e.right,l=e.gap;return void 0===s&&(s="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(i,";\n padding-right: ").concat(l,"px ").concat(i,";\n }\n body[").concat(tt,"] {\n overflow: hidden ").concat(i,";\n overscroll-behavior: contain;\n ").concat([r&&"position: relative ".concat(i,";"),"margin"===s&&"\n padding-left: ".concat(n,"px;\n padding-top: ").concat(o,"px;\n padding-right: ").concat(a,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(l,"px ").concat(i,";\n "),"padding"===s&&"padding-right: ".concat(l,"px ").concat(i,";")].filter(Boolean).join(""),"\n }\n \n .").concat(eY," {\n right: ").concat(l,"px ").concat(i,";\n }\n \n .").concat(eG," {\n margin-right: ").concat(l,"px ").concat(i,";\n }\n \n .").concat(eY," .").concat(eY," {\n right: 0 ").concat(i,";\n }\n \n .").concat(eG," .").concat(eG," {\n margin-right: 0 ").concat(i,";\n }\n \n body[").concat(tt,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(l,"px;\n }\n")},ts=function(){var e=parseInt(document.body.getAttribute(tt)||"0",10);return isFinite(e)?e:0},ti=function(){$.useEffect(function(){return document.body.setAttribute(tt,(ts()+1).toString()),function(){var e=ts()-1;e<=0?document.body.removeAttribute(tt):document.body.setAttribute(tt,e.toString())}},[])},tn=function(e){var r=e.noRelative,s=e.noImportant,i=e.gapMode,n=void 0===i?"margin":i;ti();var o=$.useMemo(function(){return e9(n)},[n]);return $.createElement(te,{styles:tr(o,!r,n,s?"":"!important")})},to=!1;if("undefined"!=typeof window)try{var ta=Object.defineProperty({},"passive",{get:function(){return to=!0,!0}});window.addEventListener("test",ta,ta),window.removeEventListener("test",ta,ta)}catch(e){to=!1}var tl=!!to&&{passive:!1},tc=function(e,r){if(!(e instanceof Element))return!1;var s=window.getComputedStyle(e);return"hidden"!==s[r]&&(s.overflowY!==s.overflowX||"TEXTAREA"===e.tagName||"visible"!==s[r])},td=function(e,r){var s=r.ownerDocument,i=r;do{if("undefined"!=typeof ShadowRoot&&i instanceof ShadowRoot&&(i=i.host),tu(e,i)){var n=th(e,i);if(n[1]>n[2])return!0}i=i.parentNode}while(i&&i!==s.body)return!1},tu=function(e,r){return"v"===e?tc(r,"overflowY"):tc(r,"overflowX")},th=function(e,r){return"v"===e?[r.scrollTop,r.scrollHeight,r.clientHeight]:[r.scrollLeft,r.scrollWidth,r.clientWidth]},tf=function(e,r,s,i,n){var o,a=(o=window.getComputedStyle(r).direction,"h"===e&&"rtl"===o?-1:1),l=a*i,c=s.target,d=r.contains(c),u=!1,h=l>0,f=0,p=0;do{if(!c)break;var m=th(e,c),g=m[0],x=m[1]-m[2]-a*g;(g||x)&&tu(e,c)&&(f+=x,p+=g);var v=c.parentNode;c=v&&v.nodeType===Node.DOCUMENT_FRAGMENT_NODE?v.host:v}while(!d&&c!==document.body||d&&(r.contains(c)||r===c))return h&&(n&&1>Math.abs(f)||!n&&l>f)?u=!0:!h&&(n&&1>Math.abs(p)||!n&&-l>p)&&(u=!0),u},tp=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},tm=function(e){return[e.deltaX,e.deltaY]},tg=function(e){return e&&"current"in e?e.current:e},tx=0,tv=[];let t_=(uV=function(e){var r=$.useRef([]),s=$.useRef([0,0]),i=$.useRef(),n=$.useState(tx++)[0],o=$.useState(e4)[0],a=$.useRef(e);$.useEffect(function(){a.current=e},[e]),$.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(n));var r=(function(e,r,s){if(s||2==arguments.length)for(var i,n=0,o=r.length;n<o;n++)!i&&n in r||(i||(i=Array.prototype.slice.call(r,0,n)),i[n]=r[n]);return e.concat(i||Array.prototype.slice.call(r))})([e.lockRef.current],(e.shards||[]).map(tg),!0).filter(Boolean);return r.forEach(function(e){return e.classList.add("allow-interactivity-".concat(n))}),function(){document.body.classList.remove("block-interactivity-".concat(n)),r.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(n))})}}},[e.inert,e.lockRef.current,e.shards]);var l=$.useCallback(function(e,r){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!a.current.allowPinchZoom;var n,o=tp(e),l=s.current,c="deltaX"in e?e.deltaX:l[0]-o[0],d="deltaY"in e?e.deltaY:l[1]-o[1],u=e.target,h=Math.abs(c)>Math.abs(d)?"h":"v";if("touches"in e&&"h"===h&&"range"===u.type)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=td(h,u);if(!m)return!0;if(m?n=h:(n="v"===h?"h":"v",m=td(h,u)),!m)return!1;if(!i.current&&"changedTouches"in e&&(c||d)&&(i.current=n),!n)return!0;var g=i.current||n;return tf(g,r,e,"h"===g?c:d,!0)},[]),c=$.useCallback(function(e){if(tv.length&&tv[tv.length-1]===o){var s="deltaY"in e?tm(e):tp(e),i=r.current.filter(function(r){var i;return r.name===e.type&&(r.target===e.target||e.target===r.shadowParent)&&(i=r.delta,i[0]===s[0]&&i[1]===s[1])})[0];if(i&&i.should){e.cancelable&&e.preventDefault();return}if(!i){var n=(a.current.shards||[]).map(tg).filter(Boolean).filter(function(r){return r.contains(e.target)});(n.length>0?l(e,n[0]):!a.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),d=$.useCallback(function(e,s,i,n){var o={name:e,delta:s,target:i,should:n,shadowParent:function(e){for(var r=null;null!==e;)e instanceof ShadowRoot&&(r=e.host,e=e.host),e=e.parentNode;return r}(i)};r.current.push(o),setTimeout(function(){r.current=r.current.filter(function(e){return e!==o})},1)},[]),u=$.useCallback(function(e){s.current=tp(e),i.current=void 0},[]),h=$.useCallback(function(r){d(r.type,tm(r),r.target,l(r,e.lockRef.current))},[]),f=$.useCallback(function(r){d(r.type,tp(r),r.target,l(r,e.lockRef.current))},[]);$.useEffect(function(){return tv.push(o),e.setCallbacks({onScrollCapture:h,onWheelCapture:h,onTouchMoveCapture:f}),document.addEventListener("wheel",c,tl),document.addEventListener("touchmove",c,tl),document.addEventListener("touchstart",u,tl),function(){tv=tv.filter(function(e){return e!==o}),document.removeEventListener("wheel",c,tl),document.removeEventListener("touchmove",c,tl),document.removeEventListener("touchstart",u,tl)}},[]);var p=e.removeScrollBar,m=e.inert;return $.createElement($.Fragment,null,m?$.createElement(o,{styles:"\n .block-interactivity-".concat(n," {pointer-events: none;}\n .allow-interactivity-").concat(n," {pointer-events: all;}\n")}):null,p?$.createElement(tn,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},eQ.useMedium(uV),e2);var ty=$.forwardRef(function(e,r){return $.createElement(e1,eq({},e,{ref:r,sideCar:t_}))});ty.classNames=e1.classNames;var tb=new WeakMap,tw=new WeakMap,tS={},tC=0,tj=function(e){return e&&(e.host||tj(e.parentNode))},tk=function(e,r,s,i){var n=(Array.isArray(e)?e:[e]).map(function(e){if(r.contains(e))return e;var s=tj(e);return s&&r.contains(s)?s:(console.error("aria-hidden",e,"in not contained inside",r,". Doing nothing"),null)}).filter(function(e){return!!e});tS[s]||(tS[s]=new WeakMap);var o=tS[s],a=[],l=new Set,c=new Set(n),d=function(e){!e||l.has(e)||(l.add(e),d(e.parentNode))};n.forEach(d);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(l.has(e))u(e);else try{var r=e.getAttribute(i),n=null!==r&&"false"!==r,c=(tb.get(e)||0)+1,d=(o.get(e)||0)+1;tb.set(e,c),o.set(e,d),a.push(e),1===c&&n&&tw.set(e,!0),1===d&&e.setAttribute(s,"true"),n||e.setAttribute(i,"true")}catch(r){console.error("aria-hidden: cannot operate on ",e,r)}})};return u(r),l.clear(),tC++,function(){a.forEach(function(e){var r=tb.get(e)-1,n=o.get(e)-1;tb.set(e,r),o.set(e,n),r||(tw.has(e)||e.removeAttribute(i),tw.delete(e)),n||e.removeAttribute(s)}),--tC||(tb=new WeakMap,tb=new WeakMap,tw=new WeakMap,tS={})}},tN=function(e,r,s){void 0===s&&(s="data-aria-hidden");var i=Array.from(Array.isArray(e)?e:[e]),n=r||("undefined"==typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return n?(i.push.apply(i,Array.from(n.querySelectorAll("[aria-live], script"))),tk(i,n,s,"aria-hidden")):function(){return null}},tD="Dialog",[tE,tR]=K(tD),[tA,tF]=tE(tD),tM=e=>{let{__scopeDialog:r,children:s,open:i,defaultOpen:n,onOpenChange:o,modal:a=!0}=e,l=$.useRef(null),c=$.useRef(null),[d,u]=G({prop:i,defaultProp:n??!1,onChange:o,caller:tD});return(0,z.jsx)(tA,{scope:r,triggerRef:l,contentRef:c,contentId:ek(),titleId:ek(),descriptionId:ek(),open:d,onOpenChange:u,onOpenToggle:$.useCallback(()=>u(e=>!e),[u]),modal:a,children:s})};tM.displayName=tD;var tT="DialogTrigger",tP=$.forwardRef((e,r)=>{let{__scopeDialog:s,...i}=e,n=tF(tT,s),o=(0,U.useComposedRefs)(r,n.triggerRef);return(0,z.jsx)(er.button,{type:"button","aria-haspopup":"dialog","aria-expanded":n.open,"aria-controls":n.contentId,"data-state":t1(n.open),...i,ref:o,onClick:q(e.onClick,n.onOpenToggle)})});tP.displayName=tT;var tB="DialogPortal",[tL,tI]=tE(tB,{forceMount:void 0}),tO=e=>{let{__scopeDialog:r,forceMount:s,children:i,container:n}=e,o=tF(tB,r);return(0,z.jsx)(tL,{scope:r,forceMount:s,children:$.Children.map(i,e=>(0,z.jsx)(Z,{present:s||o.open,children:(0,z.jsx)(eW,{asChild:!0,container:n,children:e})}))})};tO.displayName=tB;var tz="DialogOverlay",t$=$.forwardRef((e,r)=>{let s=tI(tz,e.__scopeDialog),{forceMount:i=s.forceMount,...n}=e,o=tF(tz,e.__scopeDialog);return o.modal?(0,z.jsx)(Z,{present:i||o.open,children:(0,z.jsx)(tH,{...n,ref:r})}):null});t$.displayName=tz;var tW=(0,et.createSlot)("DialogOverlay.RemoveScroll"),tH=$.forwardRef((e,r)=>{let{__scopeDialog:s,...i}=e,n=tF(tz,s);return(0,z.jsx)(ty,{as:tW,allowPinchZoom:!0,shards:[n.contentRef],children:(0,z.jsx)(er.div,{"data-state":t1(n.open),...i,ref:r,style:{pointerEvents:"auto",...i.style}})})}),tU="DialogContent",tK=$.forwardRef((e,r)=>{let s=tI(tU,e.__scopeDialog),{forceMount:i=s.forceMount,...n}=e,o=tF(tU,e.__scopeDialog);return(0,z.jsx)(Z,{present:i||o.open,children:o.modal?(0,z.jsx)(tq,{...n,ref:r}):(0,z.jsx)(tV,{...n,ref:r})})});tK.displayName=tU;var tq=$.forwardRef((e,r)=>{let s=tF(tU,e.__scopeDialog),i=$.useRef(null),n=(0,U.useComposedRefs)(r,s.contentRef,i);return $.useEffect(()=>{let e=i.current;if(e)return tN(e)},[]),(0,z.jsx)(tY,{...e,ref:n,trapFocus:s.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:q(e.onCloseAutoFocus,e=>{e.preventDefault(),s.triggerRef.current?.focus()}),onPointerDownOutside:q(e.onPointerDownOutside,e=>{let r=e.detail.originalEvent,s=0===r.button&&!0===r.ctrlKey;(2===r.button||s)&&e.preventDefault()}),onFocusOutside:q(e.onFocusOutside,e=>e.preventDefault())})}),tV=$.forwardRef((e,r)=>{let s=tF(tU,e.__scopeDialog),i=$.useRef(!1),n=$.useRef(!1);return(0,z.jsx)(tY,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:r=>{e.onCloseAutoFocus?.(r),r.defaultPrevented||(i.current||s.triggerRef.current?.focus(),r.preventDefault()),i.current=!1,n.current=!1},onInteractOutside:r=>{e.onInteractOutside?.(r),r.defaultPrevented||(i.current=!0,"pointerdown"===r.detail.originalEvent.type&&(n.current=!0));let o=r.target;s.triggerRef.current?.contains(o)&&r.preventDefault(),"focusin"===r.detail.originalEvent.type&&n.current&&r.preventDefault()}})}),tY=$.forwardRef((e,r)=>{let{__scopeDialog:s,trapFocus:i,onOpenAutoFocus:n,onCloseAutoFocus:o,...a}=e,l=tF(tU,s),c=$.useRef(null),d=(0,U.useComposedRefs)(r,c);return eU(),(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(eB,{asChild:!0,loop:!0,trapped:i,onMountAutoFocus:n,onUnmountAutoFocus:o,children:(0,z.jsx)(eR,{role:"dialog",id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":t1(l.open),...a,ref:d,onDismiss:()=>l.onOpenChange(!1)})}),(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(t4,{titleId:l.titleId}),(0,z.jsx)(t6,{contentRef:c,descriptionId:l.descriptionId})]})]})}),tG="DialogTitle",tX=$.forwardRef((e,r)=>{let{__scopeDialog:s,...i}=e,n=tF(tG,s);return(0,z.jsx)(er.h2,{id:n.titleId,...i,ref:r})});tX.displayName=tG;var tJ="DialogDescription",tZ=$.forwardRef((e,r)=>{let{__scopeDialog:s,...i}=e,n=tF(tJ,s);return(0,z.jsx)(er.p,{id:n.descriptionId,...i,ref:r})});tZ.displayName=tJ;var tQ="DialogClose",t0=$.forwardRef((e,r)=>{let{__scopeDialog:s,...i}=e,n=tF(tQ,s);return(0,z.jsx)(er.button,{type:"button",...i,ref:r,onClick:q(e.onClick,()=>n.onOpenChange(!1))})});function t1(e){return e?"open":"closed"}t0.displayName=tQ;var t2="DialogTitleWarning",[t5,t3]=(uY={contentName:tU,titleName:tG,docsSlug:"dialog"},s=$.createContext(uY),(i=e=>{let{children:r,...i}=e,n=$.useMemo(()=>i,Object.values(i));return(0,z.jsx)(s.Provider,{value:n,children:r})}).displayName=t2+"Provider",[i,function(e){let r=$.useContext(s);if(r)return r;if(void 0!==uY)return uY;throw Error(`\`${e}\` must be used within \`${t2}\``)}]),t4=({titleId:e})=>{let r=t3(t2),s=`\`${r.contentName}\` requires a \`${r.titleName}\` for the component to be accessible for screen reader users.
|
|
2
|
+
|
|
3
|
+
If you want to hide the \`${r.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
4
|
+
|
|
5
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${r.docsSlug}`;return $.useEffect(()=>{e&&(document.getElementById(e)||console.error(s))},[s,e]),null},t6=({contentRef:e,descriptionId:r})=>{let s=t3("DialogDescriptionWarning"),i=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${s.contentName}}.`;return $.useEffect(()=>{let s=e.current?.getAttribute("aria-describedby");r&&s&&(document.getElementById(r)||console.warn(i))},[i,e,r]),null};let t8=(0,ew.default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function t7({...e}){return(0,z.jsx)(tM,{"data-slot":"dialog",...e})}function t9({...e}){return(0,z.jsx)(tO,{"data-slot":"dialog-portal",...e})}function re({className:e,...r}){return(0,z.jsx)(t$,{"data-slot":"dialog-overlay",className:(0,ey.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...r})}function rt({className:e,children:r,showCloseButton:s=!0,...i}){return(0,z.jsxs)(t9,{"data-slot":"dialog-portal",children:[(0,z.jsx)(re,{}),(0,z.jsxs)(tK,{"data-slot":"dialog-content",className:(0,ey.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",e),...i,children:[r,s&&(0,z.jsxs)(t0,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,z.jsx)(t8,{}),(0,z.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function rr({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"dialog-header",className:(0,ey.cn)("flex flex-col gap-2 text-center sm:text-left",e),...r})}function rs({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"dialog-footer",className:(0,ey.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...r})}function ri({className:e,...r}){return(0,z.jsx)(tX,{"data-slot":"dialog-title",className:(0,ey.cn)("text-lg leading-none font-semibold",e),...r})}function rn({className:e,...r}){return(0,z.jsx)(tZ,{"data-slot":"dialog-description",className:(0,ey.cn)("text-muted-foreground text-sm",e),...r})}function ro({className:e,type:r,...s}){return(0,z.jsx)("input",{type:r,"data-slot":"input",className:(0,ey.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...s})}function ra({className:e,...r}){return(0,z.jsx)("textarea",{"data-slot":"textarea",className:(0,ey.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...r})}let rl=(0,ew.default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);function rc({open:e,onOpenChange:r,rule:s,onSave:i,onDelete:n}){let[o,a]=(0,$.useState)(""),[l,c]=(0,$.useState)(""),[d,u]=(0,$.useState)(!0);(0,$.useEffect)(()=>{e&&(a(s?.name??""),c(s?.content??""),u(!s||1===s.enabled))},[e,s]);let h=!!s;return(0,z.jsx)(t7,{open:e,onOpenChange:r,children:(0,z.jsxs)(rt,{className:"sm:max-w-md",children:[(0,z.jsx)(rr,{children:(0,z.jsx)(ri,{children:h?"Edit Rule":"Add Rule"})}),(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Name"}),(0,z.jsx)(ro,{value:o,onChange:e=>a(e.target.value),placeholder:"e.g. Auto-commit on finish"})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Rule"}),(0,z.jsx)(ra,{value:l,onChange:e=>c(e.target.value),placeholder:"e.g. When the coding agent finishes, run git commit executor",rows:3})]}),(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsx)(eb,{id:"rule-enabled",checked:d,onCheckedChange:e=>u(!0===e)}),(0,z.jsx)("label",{htmlFor:"rule-enabled",className:"text-sm",children:"Enabled"})]})]}),(0,z.jsxs)(rs,{className:"flex justify-between",children:[(0,z.jsx)("div",{children:h&&n&&(0,z.jsxs)(W.Button,{variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive",onClick:()=>{n(s.id),r(!1)},children:[(0,z.jsx)(rl,{className:"h-4 w-4 mr-1"}),"Delete"]})}),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsx)(W.Button,{variant:"outline",onClick:()=>r(!1),children:"Cancel"}),(0,z.jsx)(W.Button,{onClick:()=>{o.trim()&&l.trim()&&(i({name:o.trim(),content:l.trim(),enabled:d}),r(!1))},disabled:!o.trim()||!l.trim(),children:"Save"})]})]})]})})}let rd=(0,$.forwardRef)(function({rules:e,hideHeader:r,onCreateRule:s,onUpdateRule:i,onDeleteRule:n},o){let[a,l]=(0,$.useState)(!1),[c,d]=(0,$.useState)(null);(0,$.useImperativeHandle)(o,()=>({openAdd:()=>{d(null),l(!0)}}));let u=()=>{d(null),l(!0)},h=async e=>{c?await i(c.id,e):await s(e)},f=async(e,r)=>{await i(e.id,{enabled:r})};return(0,z.jsxs)("div",{className:r?void 0:"space-y-1",children:[!r&&(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsx)("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:"Rules"}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon-sm",className:"h-6 w-6",onClick:u,title:"Add rule",children:(0,z.jsx)(eS,{className:"h-3.5 w-3.5"})})]}),0===e.length?(0,z.jsx)("button",{onClick:u,className:"w-full text-center py-3 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:"No rules yet. Click to add one."}):(0,z.jsx)("div",{className:"space-y-0.5 max-h-48 overflow-y-auto",children:e.map(e=>(0,z.jsxs)("div",{className:"flex items-center gap-2 px-1.5 py-1 rounded-md hover:bg-muted/50 group cursor-pointer",onClick:()=>{d(e),l(!0)},children:[(0,z.jsx)("div",{onClick:e=>e.stopPropagation(),className:"shrink-0",children:(0,z.jsx)(eb,{checked:1===e.enabled,onCheckedChange:r=>f(e,!0===r)})}),(0,z.jsx)("span",{className:`text-sm truncate flex-1 ${1===e.enabled?"text-foreground":"text-muted-foreground line-through"}`,title:e.content,children:e.name})]},e.id))}),(0,z.jsx)(rc,{open:a,onOpenChange:l,rule:c,onSave:h,onDelete:async e=>{await n(e)}})]})}),ru=(0,ew.default)("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);var rh=e.i(454267);function rf({open:e,onOpenChange:r,command:s,onSave:i,onDelete:n}){let[o,a]=(0,$.useState)(""),[l,c]=(0,$.useState)("");(0,$.useEffect)(()=>{e&&(a(s?.name??""),c(s?.content??""))},[e,s]);let d=!!s;return(0,z.jsx)(t7,{open:e,onOpenChange:r,children:(0,z.jsxs)(rt,{className:"sm:max-w-md",children:[(0,z.jsx)(rr,{children:(0,z.jsx)(ri,{children:d?"Edit Command":"Add Command"})}),(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Name"}),(0,z.jsx)(ro,{value:o,onChange:e=>a(e.target.value),placeholder:"e.g. Run tests"})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Command"}),(0,z.jsx)(ra,{value:l,onChange:e=>c(e.target.value),placeholder:"e.g. Run all unit tests and report any failures",rows:3})]})]}),(0,z.jsxs)(rs,{className:"flex justify-between",children:[(0,z.jsx)("div",{children:d&&n&&(0,z.jsxs)(W.Button,{variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive",onClick:()=>{n(s.id),r(!1)},children:[(0,z.jsx)(rl,{className:"h-4 w-4 mr-1"}),"Delete"]})}),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsx)(W.Button,{variant:"outline",onClick:()=>r(!1),children:"Cancel"}),(0,z.jsx)(W.Button,{onClick:()=>{o.trim()&&l.trim()&&(i({name:o.trim(),content:l.trim()}),r(!1))},disabled:!o.trim()||!l.trim(),children:"Save"})]})]})]})})}let rp=(0,$.forwardRef)(function({commands:e,hideHeader:r,onCreateCommand:s,onUpdateCommand:i,onDeleteCommand:n,onExecuteCommand:o},a){let[l,c]=(0,$.useState)(!1),[d,u]=(0,$.useState)(null),[h,f]=(0,$.useState)(null),p=(0,$.useRef)(null);(0,$.useEffect)(()=>()=>{p.current&&clearTimeout(p.current)},[]),(0,$.useImperativeHandle)(a,()=>({openAdd:()=>{u(null),c(!0)}}));let m=()=>{u(null),c(!0)},g=async e=>{d?await i(d.id,e):await s(e)};return(0,z.jsxs)("div",{className:r?void 0:"space-y-1",children:[!r&&(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsx)("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:"Commands"}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon-sm",className:"h-6 w-6",onClick:m,title:"Add command",children:(0,z.jsx)(eS,{className:"h-3.5 w-3.5"})})]}),0===e.length?(0,z.jsx)("button",{onClick:m,className:"w-full text-center py-3 text-xs text-muted-foreground hover:text-foreground transition-colors cursor-pointer",children:"No commands yet. Click to add one."}):(0,z.jsx)("div",{className:"space-y-0.5 max-h-48 overflow-y-auto",children:e.map(e=>(0,z.jsxs)("div",{className:"flex items-center gap-2 px-1.5 py-1 rounded-md hover:bg-muted/50 group",children:[(0,z.jsx)("span",{className:"text-sm truncate flex-1 cursor-pointer text-foreground",title:e.content,onClick:()=>{u(e),c(!0)},children:e.name}),(0,z.jsxs)(W.Button,{variant:"ghost",size:"icon-sm",className:(0,ey.cn)("relative h-6 w-6 shrink-0 transition-all duration-150 active:scale-90 hover:bg-transparent dark:hover:bg-transparent",h===e.id?"opacity-100":"opacity-0 group-hover:opacity-100 hover:text-primary"),onClick:()=>{o(e.content),f(e.id),p.current&&clearTimeout(p.current),p.current=setTimeout(()=>f(null),1200)},title:h===e.id?"Sent to chat":"Execute command",children:[(0,z.jsx)(ru,{className:(0,ey.cn)("absolute h-3 w-3 transition-opacity duration-150",h===e.id?"opacity-0":"opacity-0 group-hover:opacity-100")}),(0,z.jsx)(rh.Check,{className:(0,ey.cn)("absolute h-3 w-3 text-emerald-600 dark:text-emerald-400 transition-opacity duration-150",h===e.id?"opacity-100":"opacity-0")})]})]},e.id))}),(0,z.jsx)(rf,{open:l,onOpenChange:c,command:d,onSave:g,onDelete:async e=>{await n(e)}})]})}),rm=(0,ew.default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);function rg({assignedTask:e,rules:r,commands:s,onCreateRule:i,onUpdateRule:n,onDeleteRule:o,onCreateCommand:a,onUpdateCommand:l,onDeleteCommand:c,onExecuteCommand:d,onUpdateTaskTitle:u,onCompleteTask:h}){let[f,p]=(0,$.useState)("task"),m=(0,$.useRef)(null),g=(0,$.useRef)(null),[x,v]=(0,$.useState)(!1),[_,y]=(0,$.useState)(""),b=(0,$.useRef)(null);(0,$.useEffect)(()=>{e&&y(e.title),v(!1)},[e?.id,e?.title]);let w=()=>{v(!1);let r=_.trim();r&&e&&r!==e.title?u?.(e.id,r):e&&y(e.title)};return(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsxs)("div",{className:"flex items-center gap-4",children:[(0,z.jsx)("button",{onClick:()=>p("task"),className:`text-xs font-medium pb-1 border-b-2 transition-colors ${"task"===f?"text-foreground border-primary":"text-muted-foreground border-transparent hover:text-foreground/70"}`,children:"Task"}),(0,z.jsx)("button",{onClick:()=>p("rules"),className:`text-xs font-medium pb-1 border-b-2 transition-colors ${"rules"===f?"text-foreground border-primary":"text-muted-foreground border-transparent hover:text-foreground/70"}`,children:"Rules"}),(0,z.jsx)("button",{onClick:()=>p("commands"),className:`text-xs font-medium pb-1 border-b-2 transition-colors ${"commands"===f?"text-foreground border-primary":"text-muted-foreground border-transparent hover:text-foreground/70"}`,children:"Commands"}),(0,z.jsx)("div",{className:"flex items-center gap-1 ml-auto",children:"task"===f&&e?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(W.Button,{variant:"ghost",size:"icon-sm",className:"h-6 w-6",onClick:()=>{e&&(y(e.title),v(!0),setTimeout(()=>{b.current?.focus(),b.current?.select()},0))},title:"Edit task title",children:(0,z.jsx)(rm,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon-sm",className:"h-6 w-6",onClick:()=>h?.(e.id),title:"Complete task",children:(0,z.jsx)(rh.Check,{className:"h-3.5 w-3.5"})})]}):"rules"===f?(0,z.jsx)(W.Button,{variant:"ghost",size:"icon-sm",className:"h-6 w-6",onClick:()=>m.current?.openAdd(),title:"Add rule",children:(0,z.jsx)(eS,{className:"h-3.5 w-3.5"})}):"commands"===f?(0,z.jsx)(W.Button,{variant:"ghost",size:"icon-sm",className:"h-6 w-6",onClick:()=>g.current?.openAdd(),title:"Add command",children:(0,z.jsx)(eS,{className:"h-3.5 w-3.5"})}):(0,z.jsx)(W.Button,{variant:"ghost",size:"icon-sm",className:"h-6 w-6 invisible",children:(0,z.jsx)(eS,{className:"h-3.5 w-3.5"})})})]}),(0,z.jsxs)("div",{className:"grid [&>*]:col-start-1 [&>*]:row-start-1",children:[(0,z.jsx)("div",{className:"task"!==f?"invisible":void 0,children:e?x?(0,z.jsx)("input",{ref:b,className:"w-full bg-transparent border-b border-primary outline-none text-sm py-0.5",value:_,onChange:e=>y(e.target.value),onBlur:w,onKeyDown:r=>{"Enter"===r.key&&w(),"Escape"===r.key&&(y(e.title),v(!1))}}):(0,z.jsx)("p",{className:"text-sm text-foreground truncate",title:e.title,children:e.title}):(0,z.jsx)("p",{className:"text-xs text-muted-foreground py-3 text-center",children:"No task assigned to this workspace."})}),(0,z.jsx)("div",{className:"rules"!==f?"invisible":void 0,children:(0,z.jsx)(rd,{ref:m,hideHeader:!0,rules:r,onCreateRule:i,onUpdateRule:n,onDeleteRule:o})}),(0,z.jsx)("div",{className:"commands"!==f?"invisible":void 0,children:(0,z.jsx)(rp,{ref:g,hideHeader:!0,commands:s,onCreateCommand:a,onUpdateCommand:l,onDeleteCommand:c,onExecuteCommand:d})})]})]})}var rx=e.i(165512);let rv=(0,ew.default)("folder-open",[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]]),r_=(0,ew.default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),ry=(0,ew.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),rb=(0,ew.default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]),rw=(0,ew.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),rS=(0,ew.default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),rC=(0,ew.default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),rj=(0,ew.default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);function rk({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"card",className:(0,ey.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...r})}function rN({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"card-header",className:(0,ey.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...r})}function rD({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"card-title",className:(0,ey.cn)("leading-none font-semibold",e),...r})}function rE({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"card-content",className:(0,ey.cn)("px-6",e),...r})}function rR(e){let r=e+"CollectionProvider",[s,i]=K(r),[n,o]=s(r,{collectionRef:{current:null},itemMap:new Map}),a=e=>{let{scope:r,children:s}=e,i=$.default.useRef(null),o=$.default.useRef(new Map).current;return(0,z.jsx)(n,{scope:r,itemMap:o,collectionRef:i,children:s})};a.displayName=r;let l=e+"CollectionSlot",c=(0,et.createSlot)(l),d=$.default.forwardRef((e,r)=>{let{scope:s,children:i}=e,n=o(l,s),a=(0,U.useComposedRefs)(r,n.collectionRef);return(0,z.jsx)(c,{ref:a,children:i})});d.displayName=l;let u=e+"CollectionItemSlot",h="data-radix-collection-item",f=(0,et.createSlot)(u),p=$.default.forwardRef((e,r)=>{let{scope:s,children:i,...n}=e,a=$.default.useRef(null),l=(0,U.useComposedRefs)(r,a),c=o(u,s);return $.default.useEffect(()=>(c.itemMap.set(a,{ref:a,...n}),()=>void c.itemMap.delete(a))),(0,z.jsx)(f,{...{[h]:""},ref:l,children:i})});return p.displayName=u,[{Provider:a,Slot:d,ItemSlot:p},function(r){let s=o(e+"CollectionConsumer",r);return $.default.useCallback(()=>{let e=s.collectionRef.current;if(!e)return[];let r=Array.from(e.querySelectorAll(`[${h}]`));return Array.from(s.itemMap.values()).sort((e,s)=>r.indexOf(e.ref.current)-r.indexOf(s.ref.current))},[s.collectionRef,s.itemMap])},i]}var rA=new WeakMap;function rF(e,r){var s,i;let n,o,a;if("at"in Array.prototype)return Array.prototype.at.call(e,r);let l=(s=e,i=r,n=s.length,(a=(o=rM(i))>=0?o:n+o)<0||a>=n?-1:a);return -1===l?void 0:e[l]}function rM(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],rA.set(this,!0)}set(e,r){return rA.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,r),this}insert(e,r,s){let i,n=this.has(r),o=this.#e.length,a=rM(e),l=a>=0?a:o+a,c=l<0||l>=o?-1:l;if(c===this.size||n&&c===this.size-1||-1===c)return this.set(r,s),this;let d=this.size+ +!n;a<0&&l++;let u=[...this.#e],h=!1;for(let e=l;e<d;e++)if(l===e){let o=u[e];u[e]===r&&(o=u[e+1]),n&&this.delete(r),i=this.get(o),this.set(r,s)}else{h||u[e-1]!==r||(h=!0);let s=u[h?e:e-1],n=i;i=this.get(s),this.delete(s),this.set(s,n)}return this}with(r,s,i){let n=new e(this);return n.insert(r,s,i),n}before(e){let r=this.#e.indexOf(e)-1;if(!(r<0))return this.entryAt(r)}setBefore(e,r,s){let i=this.#e.indexOf(e);return -1===i?this:this.insert(i,r,s)}after(e){let r=this.#e.indexOf(e);if(-1!==(r=-1===r||r===this.size-1?-1:r+1))return this.entryAt(r)}setAfter(e,r,s){let i=this.#e.indexOf(e);return -1===i?this:this.insert(i+1,r,s)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let r=super.delete(e);return r&&this.#e.splice(this.#e.indexOf(e),1),r}deleteAt(e){let r=this.keyAt(e);return void 0!==r&&this.delete(r)}at(e){let r=rF(this.#e,e);if(void 0!==r)return this.get(r)}entryAt(e){let r=rF(this.#e,e);if(void 0!==r)return[r,this.get(r)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return rF(this.#e,e)}from(e,r){let s=this.indexOf(e);if(-1===s)return;let i=s+r;return i<0&&(i=0),i>=this.size&&(i=this.size-1),this.at(i)}keyFrom(e,r){let s=this.indexOf(e);if(-1===s)return;let i=s+r;return i<0&&(i=0),i>=this.size&&(i=this.size-1),this.keyAt(i)}find(e,r){let s=0;for(let i of this){if(Reflect.apply(e,r,[i,s,this]))return i;s++}}findIndex(e,r){let s=0;for(let i of this){if(Reflect.apply(e,r,[i,s,this]))return s;s++}return -1}filter(r,s){let i=[],n=0;for(let e of this)Reflect.apply(r,s,[e,n,this])&&i.push(e),n++;return new e(i)}map(r,s){let i=[],n=0;for(let e of this)i.push([e[0],Reflect.apply(r,s,[e,n,this])]),n++;return new e(i)}reduce(...e){let[r,s]=e,i=0,n=s??this.at(0);for(let s of this)n=0===i&&1===e.length?s:Reflect.apply(r,this,[n,s,i,this]),i++;return n}reduceRight(...e){let[r,s]=e,i=s??this.at(-1);for(let s=this.size-1;s>=0;s--){let n=this.at(s);i=s===this.size-1&&1===e.length?n:Reflect.apply(r,this,[i,n,s,this])}return i}toSorted(r){return new e([...this.entries()].sort(r))}toReversed(){let r=new e;for(let e=this.size-1;e>=0;e--){let s=this.keyAt(e),i=this.get(s);r.set(s,i)}return r}toSpliced(...r){let s=[...this.entries()];return s.splice(...r),new e(s)}slice(r,s){let i=new e,n=this.size-1;if(void 0===r)return i;r<0&&(r+=this.size),void 0!==s&&s>0&&(n=s-1);for(let e=r;e<=n;e++){let r=this.keyAt(e),s=this.get(r);i.set(r,s)}return i}every(e,r){let s=0;for(let i of this){if(!Reflect.apply(e,r,[i,s,this]))return!1;s++}return!0}some(e,r){let s=0;for(let i of this){if(Reflect.apply(e,r,[i,s,this]))return!0;s++}return!1}});var rT=$.createContext(void 0);function rP(e){let r=$.useContext(rT);return e||r||"ltr"}var rB="rovingFocusGroup.onEntryFocus",rL={bubbles:!1,cancelable:!0},rI="RovingFocusGroup",[rO,rz,r$]=rR(rI),[rW,rH]=K(rI,[r$]),[rU,rK]=rW(rI),rq=$.forwardRef((e,r)=>(0,z.jsx)(rO.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,z.jsx)(rO.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,z.jsx)(rV,{...e,ref:r})})}));rq.displayName=rI;var rV=$.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:s,orientation:i,loop:n=!1,dir:o,currentTabStopId:a,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:c,onEntryFocus:d,preventScrollOnEntryFocus:u=!1,...h}=e,f=$.useRef(null),p=(0,U.useComposedRefs)(r,f),m=rP(o),[g,x]=G({prop:a,defaultProp:l??null,onChange:c,caller:rI}),[v,_]=$.useState(!1),y=eN(d),b=rz(s),w=$.useRef(!1),[S,C]=$.useState(0);return $.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(rB,y),()=>e.removeEventListener(rB,y)},[y]),(0,z.jsx)(rU,{scope:s,orientation:i,dir:m,loop:n,currentTabStopId:g,onItemFocus:$.useCallback(e=>x(e),[x]),onItemShiftTab:$.useCallback(()=>_(!0),[]),onFocusableItemAdd:$.useCallback(()=>C(e=>e+1),[]),onFocusableItemRemove:$.useCallback(()=>C(e=>e-1),[]),children:(0,z.jsx)(er.div,{tabIndex:v||0===S?-1:0,"data-orientation":i,...h,ref:p,style:{outline:"none",...e.style},onMouseDown:q(e.onMouseDown,()=>{w.current=!0}),onFocus:q(e.onFocus,e=>{let r=!w.current;if(e.target===e.currentTarget&&r&&!v){let r=new CustomEvent(rB,rL);if(e.currentTarget.dispatchEvent(r),!r.defaultPrevented){let e=b().filter(e=>e.focusable);rJ([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),u)}}w.current=!1}),onBlur:q(e.onBlur,()=>_(!1))})})}),rY="RovingFocusGroupItem",rG=$.forwardRef((e,r)=>{let{__scopeRovingFocusGroup:s,focusable:i=!0,active:n=!1,tabStopId:o,children:a,...l}=e,c=ek(),d=o||c,u=rK(rY,s),h=u.currentTabStopId===d,f=rz(s),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:g}=u;return $.useEffect(()=>{if(i)return p(),()=>m()},[i,p,m]),(0,z.jsx)(rO.ItemSlot,{scope:s,id:d,focusable:i,active:n,children:(0,z.jsx)(er.span,{tabIndex:h?0:-1,"data-orientation":u.orientation,...l,ref:r,onMouseDown:q(e.onMouseDown,e=>{i?u.onItemFocus(d):e.preventDefault()}),onFocus:q(e.onFocus,()=>u.onItemFocus(d)),onKeyDown:q(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void u.onItemShiftTab();if(e.target!==e.currentTarget)return;let r=function(e,r,s){var i;let n=(i=e.key,"rtl"!==s?i:"ArrowLeft"===i?"ArrowRight":"ArrowRight"===i?"ArrowLeft":i);if(!("vertical"===r&&["ArrowLeft","ArrowRight"].includes(n))&&!("horizontal"===r&&["ArrowUp","ArrowDown"].includes(n)))return rX[n]}(e,u.orientation,u.dir);if(void 0!==r){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===r)n.reverse();else if("prev"===r||"next"===r){var s,i;"prev"===r&&n.reverse();let o=n.indexOf(e.currentTarget);n=u.loop?(s=n,i=o+1,s.map((e,r)=>s[(i+r)%s.length])):n.slice(o+1)}setTimeout(()=>rJ(n))}}),children:"function"==typeof a?a({isCurrentTabStop:h,hasTabStop:null!=g}):a})})});rG.displayName=rY;var rX={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function rJ(e,r=!1){let s=document.activeElement;for(let i of e)if(i===s||(i.focus({preventScroll:r}),document.activeElement!==s))return}var rZ="Tabs",[rQ,r0]=K(rZ,[rH]),r1=rH(),[r2,r5]=rQ(rZ),r3=$.forwardRef((e,r)=>{let{__scopeTabs:s,value:i,onValueChange:n,defaultValue:o,orientation:a="horizontal",dir:l,activationMode:c="automatic",...d}=e,u=rP(l),[h,f]=G({prop:i,onChange:n,defaultProp:o??"",caller:rZ});return(0,z.jsx)(r2,{scope:s,baseId:ek(),value:h,onValueChange:f,orientation:a,dir:u,activationMode:c,children:(0,z.jsx)(er.div,{dir:u,"data-orientation":a,...d,ref:r})})});r3.displayName=rZ;var r4="TabsList",r6=$.forwardRef((e,r)=>{let{__scopeTabs:s,loop:i=!0,...n}=e,o=r5(r4,s),a=r1(s);return(0,z.jsx)(rq,{asChild:!0,...a,orientation:o.orientation,dir:o.dir,loop:i,children:(0,z.jsx)(er.div,{role:"tablist","aria-orientation":o.orientation,...n,ref:r})})});r6.displayName=r4;var r8="TabsTrigger",r7=$.forwardRef((e,r)=>{let{__scopeTabs:s,value:i,disabled:n=!1,...o}=e,a=r5(r8,s),l=r1(s),c=st(a.baseId,i),d=sr(a.baseId,i),u=i===a.value;return(0,z.jsx)(rG,{asChild:!0,...l,focusable:!n,active:u,children:(0,z.jsx)(er.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":d,"data-state":u?"active":"inactive","data-disabled":n?"":void 0,disabled:n,id:c,...o,ref:r,onMouseDown:q(e.onMouseDown,e=>{n||0!==e.button||!1!==e.ctrlKey?e.preventDefault():a.onValueChange(i)}),onKeyDown:q(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&a.onValueChange(i)}),onFocus:q(e.onFocus,()=>{let e="manual"!==a.activationMode;u||n||!e||a.onValueChange(i)})})})});r7.displayName=r8;var r9="TabsContent",se=$.forwardRef((e,r)=>{let{__scopeTabs:s,value:i,forceMount:n,children:o,...a}=e,l=r5(r9,s),c=st(l.baseId,i),d=sr(l.baseId,i),u=i===l.value,h=$.useRef(u);return $.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,z.jsx)(Z,{present:n||u,children:({present:s})=>(0,z.jsx)(er.div,{"data-state":u?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":c,hidden:!s,id:d,tabIndex:0,...a,ref:r,style:{...e.style,animationDuration:h.current?"0s":void 0},children:s&&o})})});function st(e,r){return`${e}-trigger-${r}`}function sr(e,r){return`${e}-content-${r}`}se.displayName=r9;let ss=$.forwardRef(({className:e,...r},s)=>(0,z.jsx)(r6,{ref:s,className:(0,ey.cn)("inline-flex h-9 items-center justify-center rounded-lg bg-muted p-1 text-muted-foreground",e),...r}));ss.displayName=r6.displayName;let si=$.forwardRef(({className:e,...r},s)=>(0,z.jsx)(r7,{ref:s,className:(0,ey.cn)("inline-flex items-center justify-center whitespace-nowrap rounded-md px-3 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",e),...r}));si.displayName=r7.displayName;let sn=$.forwardRef(({className:e,...r},s)=>(0,z.jsx)(se,{ref:s,className:(0,ey.cn)("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...r}));sn.displayName=se.displayName;let so=(0,ew.default)("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]),sa=(0,ew.default)("cloud-off",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193",key:"yfwify"}],["path",{d:"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07",key:"jlfiyv"}]]);function sl(e,r){let s=r?.withStatus??!1,[i,n]=(0,$.useState)([]),[o,a]=(0,$.useState)(!1),l=(0,$.useCallback)(async()=>{if(!e)return void n([]);a(!0);try{let r=await rx.api.getProjectRemotes(e);if(s){let e=await rx.api.getRemoteServers(),s=new Map(e.map(e=>[e.id,e]));n(r.map(e=>{let r=s.get(e.remote_server_id);return r?{...e,status:r.status,connection_mode:r.connection_mode}:e}))}else n(r)}catch(e){console.error("Failed to fetch project remotes:",e)}finally{a(!1)}},[e,s]);return(0,$.useEffect)(()=>{l()},[l]),(0,$.useEffect)(()=>{if(!s||!e)return;let r=setInterval(l,15e3),i=()=>l();return window.addEventListener("focus",i),()=>{clearInterval(r),window.removeEventListener("focus",i)}},[s,e,l]),{remotes:i,loading:o,refresh:l}}function sc(e){return"inbound"===e.connection_mode&&"online"!==e.status?sa:so}function sd(e){return null===e?"":e}let su=(0,ew.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),sh=["top","right","bottom","left"],sf=Math.min,sp=Math.max,sm=Math.round,sg=Math.floor,sx=e=>({x:e,y:e}),sv={left:"right",right:"left",bottom:"top",top:"bottom"},s_={start:"end",end:"start"};function sy(e,r){return"function"==typeof e?e(r):e}function sb(e){return e.split("-")[0]}function sw(e){return e.split("-")[1]}function sS(e){return"x"===e?"y":"x"}function sC(e){return"y"===e?"height":"width"}let sj=new Set(["top","bottom"]);function sk(e){return sj.has(sb(e))?"y":"x"}function sN(e){return e.replace(/start|end/g,e=>s_[e])}let sD=["left","right"],sE=["right","left"],sR=["top","bottom"],sA=["bottom","top"];function sF(e){return e.replace(/left|right|bottom|top/g,e=>sv[e])}function sM(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function sT(e){let{x:r,y:s,width:i,height:n}=e;return{width:i,height:n,top:s,left:r,right:r+i,bottom:s+n,x:r,y:s}}function sP(e,r,s){let i,{reference:n,floating:o}=e,a=sk(r),l=sS(sk(r)),c=sC(l),d=sb(r),u="y"===a,h=n.x+n.width/2-o.width/2,f=n.y+n.height/2-o.height/2,p=n[c]/2-o[c]/2;switch(d){case"top":i={x:h,y:n.y-o.height};break;case"bottom":i={x:h,y:n.y+n.height};break;case"right":i={x:n.x+n.width,y:f};break;case"left":i={x:n.x-o.width,y:f};break;default:i={x:n.x,y:n.y}}switch(sw(r)){case"start":i[l]-=p*(s&&u?-1:1);break;case"end":i[l]+=p*(s&&u?-1:1)}return i}async function sB(e,r){var s;void 0===r&&(r={});let{x:i,y:n,platform:o,rects:a,elements:l,strategy:c}=e,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:h="floating",altBoundary:f=!1,padding:p=0}=sy(r,e),m=sM(p),g=l[f?"floating"===h?"reference":"floating":h],x=sT(await o.getClippingRect({element:null==(s=await (null==o.isElement?void 0:o.isElement(g)))||s?g:g.contextElement||await (null==o.getDocumentElement?void 0:o.getDocumentElement(l.floating)),boundary:d,rootBoundary:u,strategy:c})),v="floating"===h?{x:i,y:n,width:a.floating.width,height:a.floating.height}:a.reference,_=await (null==o.getOffsetParent?void 0:o.getOffsetParent(l.floating)),y=await (null==o.isElement?void 0:o.isElement(_))&&await (null==o.getScale?void 0:o.getScale(_))||{x:1,y:1},b=sT(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:v,offsetParent:_,strategy:c}):v);return{top:(x.top-b.top+m.top)/y.y,bottom:(b.bottom-x.bottom+m.bottom)/y.y,left:(x.left-b.left+m.left)/y.x,right:(b.right-x.right+m.right)/y.x}}let sL=async(e,r,s)=>{let{placement:i="bottom",strategy:n="absolute",middleware:o=[],platform:a}=s,l=o.filter(Boolean),c=await (null==a.isRTL?void 0:a.isRTL(r)),d=await a.getElementRects({reference:e,floating:r,strategy:n}),{x:u,y:h}=sP(d,i,c),f=i,p={},m=0;for(let s=0;s<l.length;s++){var g;let{name:o,fn:x}=l[s],{x:v,y:_,data:y,reset:b}=await x({x:u,y:h,initialPlacement:i,placement:f,strategy:n,middlewareData:p,rects:d,platform:{...a,detectOverflow:null!=(g=a.detectOverflow)?g:sB},elements:{reference:e,floating:r}});u=null!=v?v:u,h=null!=_?_:h,p={...p,[o]:{...p[o],...y}},b&&m<=50&&(m++,"object"==typeof b&&(b.placement&&(f=b.placement),b.rects&&(d=!0===b.rects?await a.getElementRects({reference:e,floating:r,strategy:n}):b.rects),{x:u,y:h}=sP(d,f,c)),s=-1)}return{x:u,y:h,placement:f,strategy:n,middlewareData:p}};function sI(e,r){return{top:e.top-r.height,right:e.right-r.width,bottom:e.bottom-r.height,left:e.left-r.width}}function sO(e){return sh.some(r=>e[r]>=0)}let sz=new Set(["left","top"]);async function s$(e,r){let{placement:s,platform:i,elements:n}=e,o=await (null==i.isRTL?void 0:i.isRTL(n.floating)),a=sb(s),l=sw(s),c="y"===sk(s),d=sz.has(a)?-1:1,u=o&&c?-1:1,h=sy(r,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}="number"==typeof h?{mainAxis:h,crossAxis:0,alignmentAxis:null}:{mainAxis:h.mainAxis||0,crossAxis:h.crossAxis||0,alignmentAxis:h.alignmentAxis};return l&&"number"==typeof m&&(p="end"===l?-1*m:m),c?{x:p*u,y:f*d}:{x:f*d,y:p*u}}function sW(){return"undefined"!=typeof window}function sH(e){return sq(e)?(e.nodeName||"").toLowerCase():"#document"}function sU(e){var r;return(null==e||null==(r=e.ownerDocument)?void 0:r.defaultView)||window}function sK(e){var r;return null==(r=(sq(e)?e.ownerDocument:e.document)||window.document)?void 0:r.documentElement}function sq(e){return!!sW()&&(e instanceof Node||e instanceof sU(e).Node)}function sV(e){return!!sW()&&(e instanceof Element||e instanceof sU(e).Element)}function sY(e){return!!sW()&&(e instanceof HTMLElement||e instanceof sU(e).HTMLElement)}function sG(e){return!!sW()&&"undefined"!=typeof ShadowRoot&&(e instanceof ShadowRoot||e instanceof sU(e).ShadowRoot)}let sX=new Set(["inline","contents"]);function sJ(e){let{overflow:r,overflowX:s,overflowY:i,display:n}=s7(e);return/auto|scroll|overlay|hidden|clip/.test(r+i+s)&&!sX.has(n)}let sZ=new Set(["table","td","th"]),sQ=[":popover-open",":modal"];function s0(e){return sQ.some(r=>{try{return e.matches(r)}catch(e){return!1}})}let s1=["transform","translate","scale","rotate","perspective"],s2=["transform","translate","scale","rotate","perspective","filter"],s5=["paint","layout","strict","content"];function s3(e){let r=s4(),s=sV(e)?s7(e):e;return s1.some(e=>!!s[e]&&"none"!==s[e])||!!s.containerType&&"normal"!==s.containerType||!r&&!!s.backdropFilter&&"none"!==s.backdropFilter||!r&&!!s.filter&&"none"!==s.filter||s2.some(e=>(s.willChange||"").includes(e))||s5.some(e=>(s.contain||"").includes(e))}function s4(){return"undefined"!=typeof CSS&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let s6=new Set(["html","body","#document"]);function s8(e){return s6.has(sH(e))}function s7(e){return sU(e).getComputedStyle(e)}function s9(e){return sV(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ie(e){if("html"===sH(e))return e;let r=e.assignedSlot||e.parentNode||sG(e)&&e.host||sK(e);return sG(r)?r.host:r}function it(e,r,s){var i;void 0===r&&(r=[]),void 0===s&&(s=!0);let n=function e(r){let s=ie(r);return s8(s)?r.ownerDocument?r.ownerDocument.body:r.body:sY(s)&&sJ(s)?s:e(s)}(e),o=n===(null==(i=e.ownerDocument)?void 0:i.body),a=sU(n);if(o){let e=ir(a);return r.concat(a,a.visualViewport||[],sJ(n)?n:[],e&&s?it(e):[])}return r.concat(n,it(n,[],s))}function ir(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function is(e){let r=s7(e),s=parseFloat(r.width)||0,i=parseFloat(r.height)||0,n=sY(e),o=n?e.offsetWidth:s,a=n?e.offsetHeight:i,l=sm(s)!==o||sm(i)!==a;return l&&(s=o,i=a),{width:s,height:i,$:l}}function ii(e){return sV(e)?e:e.contextElement}function io(e){let r=ii(e);if(!sY(r))return sx(1);let s=r.getBoundingClientRect(),{width:i,height:n,$:o}=is(r),a=(o?sm(s.width):s.width)/i,l=(o?sm(s.height):s.height)/n;return a&&Number.isFinite(a)||(a=1),l&&Number.isFinite(l)||(l=1),{x:a,y:l}}let ia=sx(0);function il(e){let r=sU(e);return s4()&&r.visualViewport?{x:r.visualViewport.offsetLeft,y:r.visualViewport.offsetTop}:ia}function ic(e,r,s,i){var n;void 0===r&&(r=!1),void 0===s&&(s=!1);let o=e.getBoundingClientRect(),a=ii(e),l=sx(1);r&&(i?sV(i)&&(l=io(i)):l=io(e));let c=(void 0===(n=s)&&(n=!1),i&&(!n||i===sU(a))&&n)?il(a):sx(0),d=(o.left+c.x)/l.x,u=(o.top+c.y)/l.y,h=o.width/l.x,f=o.height/l.y;if(a){let e=sU(a),r=i&&sV(i)?sU(i):i,s=e,n=ir(s);for(;n&&i&&r!==s;){let e=io(n),r=n.getBoundingClientRect(),i=s7(n),o=r.left+(n.clientLeft+parseFloat(i.paddingLeft))*e.x,a=r.top+(n.clientTop+parseFloat(i.paddingTop))*e.y;d*=e.x,u*=e.y,h*=e.x,f*=e.y,d+=o,u+=a,n=ir(s=sU(n))}}return sT({width:h,height:f,x:d,y:u})}function id(e,r){let s=s9(e).scrollLeft;return r?r.left+s:ic(sK(e)).left+s}function iu(e,r){let s=e.getBoundingClientRect();return{x:s.left+r.scrollLeft-id(e,s),y:s.top+r.scrollTop}}let ih=new Set(["absolute","fixed"]);function ip(e,r,s){var i;let n;if("viewport"===r)n=function(e,r){let s=sU(e),i=sK(e),n=s.visualViewport,o=i.clientWidth,a=i.clientHeight,l=0,c=0;if(n){o=n.width,a=n.height;let e=s4();(!e||e&&"fixed"===r)&&(l=n.offsetLeft,c=n.offsetTop)}let d=id(i);if(d<=0){let e=i.ownerDocument,r=e.body,s=getComputedStyle(r),n="CSS1Compat"===e.compatMode&&parseFloat(s.marginLeft)+parseFloat(s.marginRight)||0,a=Math.abs(i.clientWidth-r.clientWidth-n);a<=25&&(o-=a)}else d<=25&&(o+=d);return{width:o,height:a,x:l,y:c}}(e,s);else if("document"===r){let r,s,o,a,l,c,d;i=sK(e),r=sK(i),s=s9(i),o=i.ownerDocument.body,a=sp(r.scrollWidth,r.clientWidth,o.scrollWidth,o.clientWidth),l=sp(r.scrollHeight,r.clientHeight,o.scrollHeight,o.clientHeight),c=-s.scrollLeft+id(i),d=-s.scrollTop,"rtl"===s7(o).direction&&(c+=sp(r.clientWidth,o.clientWidth)-a),n={width:a,height:l,x:c,y:d}}else if(sV(r)){let e,i,o,a,l,c;i=(e=ic(r,!0,"fixed"===s)).top+r.clientTop,o=e.left+r.clientLeft,a=sY(r)?io(r):sx(1),l=r.clientWidth*a.x,c=r.clientHeight*a.y,n={width:l,height:c,x:o*a.x,y:i*a.y}}else{let s=il(e);n={x:r.x-s.x,y:r.y-s.y,width:r.width,height:r.height}}return sT(n)}function im(e){return"static"===s7(e).position}function ig(e,r){if(!sY(e)||"fixed"===s7(e).position)return null;if(r)return r(e);let s=e.offsetParent;return sK(e)===s&&(s=s.ownerDocument.body),s}function ix(e,r){var s;let i=sU(e);if(s0(e))return i;if(!sY(e)){let r=ie(e);for(;r&&!s8(r);){if(sV(r)&&!im(r))return r;r=ie(r)}return i}let n=ig(e,r);for(;n&&(s=n,sZ.has(sH(s)))&&im(n);)n=ig(n,r);return n&&s8(n)&&im(n)&&!s3(n)?i:n||function(e){let r=ie(e);for(;sY(r)&&!s8(r);){if(s3(r))return r;if(s0(r))break;r=ie(r)}return null}(e)||i}let iv=async function(e){let r=this.getOffsetParent||ix,s=this.getDimensions,i=await s(e.floating);return{reference:function(e,r,s){let i=sY(r),n=sK(r),o="fixed"===s,a=ic(e,!0,o,r),l={scrollLeft:0,scrollTop:0},c=sx(0);if(i||!i&&!o)if(("body"!==sH(r)||sJ(n))&&(l=s9(r)),i){let e=ic(r,!0,o,r);c.x=e.x+r.clientLeft,c.y=e.y+r.clientTop}else n&&(c.x=id(n));o&&!i&&n&&(c.x=id(n));let d=!n||i||o?sx(0):iu(n,l);return{x:a.left+l.scrollLeft-c.x-d.x,y:a.top+l.scrollTop-c.y-d.y,width:a.width,height:a.height}}(e.reference,await r(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}},i_={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:r,rect:s,offsetParent:i,strategy:n}=e,o="fixed"===n,a=sK(i),l=!!r&&s0(r.floating);if(i===a||l&&o)return s;let c={scrollLeft:0,scrollTop:0},d=sx(1),u=sx(0),h=sY(i);if((h||!h&&!o)&&(("body"!==sH(i)||sJ(a))&&(c=s9(i)),sY(i))){let e=ic(i);d=io(i),u.x=e.x+i.clientLeft,u.y=e.y+i.clientTop}let f=!a||h||o?sx(0):iu(a,c);return{width:s.width*d.x,height:s.height*d.y,x:s.x*d.x-c.scrollLeft*d.x+u.x+f.x,y:s.y*d.y-c.scrollTop*d.y+u.y+f.y}},getDocumentElement:sK,getClippingRect:function(e){let{element:r,boundary:s,rootBoundary:i,strategy:n}=e,o=[..."clippingAncestors"===s?s0(r)?[]:function(e,r){let s=r.get(e);if(s)return s;let i=it(e,[],!1).filter(e=>sV(e)&&"body"!==sH(e)),n=null,o="fixed"===s7(e).position,a=o?ie(e):e;for(;sV(a)&&!s8(a);){let r=s7(a),s=s3(a);s||"fixed"!==r.position||(n=null),(o?!s&&!n:!s&&"static"===r.position&&!!n&&ih.has(n.position)||sJ(a)&&!s&&function e(r,s){let i=ie(r);return!(i===s||!sV(i)||s8(i))&&("fixed"===s7(i).position||e(i,s))}(e,a))?i=i.filter(e=>e!==a):n=r,a=ie(a)}return r.set(e,i),i}(r,this._c):[].concat(s),i],a=o[0],l=o.reduce((e,s)=>{let i=ip(r,s,n);return e.top=sp(i.top,e.top),e.right=sf(i.right,e.right),e.bottom=sf(i.bottom,e.bottom),e.left=sp(i.left,e.left),e},ip(r,a,n));return{width:l.right-l.left,height:l.bottom-l.top,x:l.left,y:l.top}},getOffsetParent:ix,getElementRects:iv,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:r,height:s}=is(e);return{width:r,height:s}},getScale:io,isElement:sV,isRTL:function(e){return"rtl"===s7(e).direction}};function iy(e,r){return e.x===r.x&&e.y===r.y&&e.width===r.width&&e.height===r.height}let ib=e=>({name:"arrow",options:e,async fn(r){let{x:s,y:i,placement:n,rects:o,platform:a,elements:l,middlewareData:c}=r,{element:d,padding:u=0}=sy(e,r)||{};if(null==d)return{};let h=sM(u),f={x:s,y:i},p=sS(sk(n)),m=sC(p),g=await a.getDimensions(d),x="y"===p,v=x?"clientHeight":"clientWidth",_=o.reference[m]+o.reference[p]-f[p]-o.floating[m],y=f[p]-o.reference[p],b=await (null==a.getOffsetParent?void 0:a.getOffsetParent(d)),w=b?b[v]:0;w&&await (null==a.isElement?void 0:a.isElement(b))||(w=l.floating[v]||o.floating[m]);let S=w/2-g[m]/2-1,C=sf(h[x?"top":"left"],S),j=sf(h[x?"bottom":"right"],S),k=w-g[m]-j,N=w/2-g[m]/2+(_/2-y/2),D=sp(C,sf(N,k)),E=!c.arrow&&null!=sw(n)&&N!==D&&o.reference[m]/2-(N<C?C:j)-g[m]/2<0,R=E?N<C?N-C:N-k:0;return{[p]:f[p]+R,data:{[p]:D,centerOffset:N-D-R,...E&&{alignmentOffset:R}},reset:E}}});var iw="undefined"!=typeof document?$.useLayoutEffect:function(){};function iS(e,r){let s,i,n;if(e===r)return!0;if(typeof e!=typeof r)return!1;if("function"==typeof e&&e.toString()===r.toString())return!0;if(e&&r&&"object"==typeof e){if(Array.isArray(e)){if((s=e.length)!==r.length)return!1;for(i=s;0!=i--;)if(!iS(e[i],r[i]))return!1;return!0}if((s=(n=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(i=s;0!=i--;)if(!({}).hasOwnProperty.call(r,n[i]))return!1;for(i=s;0!=i--;){let s=n[i];if(("_owner"!==s||!e.$$typeof)&&!iS(e[s],r[s]))return!1}return!0}return e!=e&&r!=r}function iC(e){return"undefined"==typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function ij(e,r){let s=iC(e);return Math.round(r*s)/s}function ik(e){let r=$.useRef(e);return iw(()=>{r.current=e}),r}var iN=$.forwardRef((e,r)=>{let{children:s,width:i=10,height:n=5,...o}=e;return(0,z.jsx)(er.svg,{...o,ref:r,width:i,height:n,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?s:(0,z.jsx)("polygon",{points:"0,0 30,0 15,10"})})});iN.displayName="Arrow";var iD="Popper",[iE,iR]=K(iD),[iA,iF]=iE(iD),iM=e=>{let{__scopePopper:r,children:s}=e,[i,n]=$.useState(null);return(0,z.jsx)(iA,{scope:r,anchor:i,onAnchorChange:n,children:s})};iM.displayName=iD;var iT="PopperAnchor",iP=$.forwardRef((e,r)=>{let{__scopePopper:s,virtualRef:i,...n}=e,o=iF(iT,s),a=$.useRef(null),l=(0,U.useComposedRefs)(r,a),c=$.useRef(null);return $.useEffect(()=>{let e=c.current;c.current=i?.current||a.current,e!==c.current&&o.onAnchorChange(c.current)}),i?null:(0,z.jsx)(er.div,{...n,ref:l})});iP.displayName=iT;var iB="PopperContent",[iL,iI]=iE(iB),iO=$.forwardRef((e,r)=>{var s,i,n,o,a,l,c,d,u,h,f,p,m,g,x,v,_,y,b,w,S;let{__scopePopper:C,side:j="bottom",sideOffset:k=0,align:N="center",alignOffset:D=0,arrowPadding:E=0,avoidCollisions:R=!0,collisionBoundary:A=[],collisionPadding:F=0,sticky:M="partial",hideWhenDetached:T=!1,updatePositionStrategy:P="optimized",onPlaced:B,...L}=e,I=iF(iB,C),[O,W]=$.useState(null),H=(0,U.useComposedRefs)(r,e=>W(e)),[K,q]=$.useState(null),Y=J(K),G=Y?.width??0,X=Y?.height??0,Z="number"==typeof F?F:{top:0,right:0,bottom:0,left:0,...F},Q=Array.isArray(A)?A:[A],et=Q.length>0,es={padding:Z,boundary:Q.filter(iH),altBoundary:et},{refs:ei,floatingStyles:en,placement:eo,isPositioned:ea,middlewareData:el}=function(e){void 0===e&&(e={});let{placement:r="bottom",strategy:s="absolute",middleware:i=[],platform:n,elements:{reference:o,floating:a}={},transform:l=!0,whileElementsMounted:c,open:d}=e,[u,h]=$.useState({x:0,y:0,strategy:s,placement:r,middlewareData:{},isPositioned:!1}),[f,p]=$.useState(i);iS(f,i)||p(i);let[m,g]=$.useState(null),[x,v]=$.useState(null),_=$.useCallback(e=>{e!==S.current&&(S.current=e,g(e))},[]),y=$.useCallback(e=>{e!==C.current&&(C.current=e,v(e))},[]),b=o||m,w=a||x,S=$.useRef(null),C=$.useRef(null),j=$.useRef(u),k=null!=c,N=ik(c),D=ik(n),E=ik(d),R=$.useCallback(()=>{var e,i;let n,o,a;if(!S.current||!C.current)return;let l={placement:r,strategy:s,middleware:f};D.current&&(l.platform=D.current),(e=S.current,i=C.current,n=new Map,a={...(o={platform:i_,...l}).platform,_c:n},sL(e,i,{...o,platform:a})).then(e=>{let r={...e,isPositioned:!1!==E.current};A.current&&!iS(j.current,r)&&(j.current=r,ee.flushSync(()=>{h(r)}))})},[f,r,s,D,E]);iw(()=>{!1===d&&j.current.isPositioned&&(j.current.isPositioned=!1,h(e=>({...e,isPositioned:!1})))},[d]);let A=$.useRef(!1);iw(()=>(A.current=!0,()=>{A.current=!1}),[]),iw(()=>{if(b&&(S.current=b),w&&(C.current=w),b&&w){if(N.current)return N.current(b,w,R);R()}},[b,w,R,N,k]);let F=$.useMemo(()=>({reference:S,floating:C,setReference:_,setFloating:y}),[_,y]),M=$.useMemo(()=>({reference:b,floating:w}),[b,w]),T=$.useMemo(()=>{let e={position:s,left:0,top:0};if(!M.floating)return e;let r=ij(M.floating,u.x),i=ij(M.floating,u.y);return l?{...e,transform:"translate("+r+"px, "+i+"px)",...iC(M.floating)>=1.5&&{willChange:"transform"}}:{position:s,left:r,top:i}},[s,l,M.floating,u.x,u.y]);return $.useMemo(()=>({...u,update:R,refs:F,elements:M,floatingStyles:T}),[u,R,F,M,T])}({strategy:"fixed",placement:j+("center"!==N?"-"+N:""),whileElementsMounted:(...e)=>(function(e,r,s,i){let n;void 0===i&&(i={});let{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:l="function"==typeof ResizeObserver,layoutShift:c="function"==typeof IntersectionObserver,animationFrame:d=!1}=i,u=ii(e),h=o||a?[...u?it(u):[],...it(r)]:[];h.forEach(e=>{o&&e.addEventListener("scroll",s,{passive:!0}),a&&e.addEventListener("resize",s)});let f=u&&c?function(e,r){let s,i=null,n=sK(e);function o(){var e;clearTimeout(s),null==(e=i)||e.disconnect(),i=null}return!function a(l,c){void 0===l&&(l=!1),void 0===c&&(c=1),o();let d=e.getBoundingClientRect(),{left:u,top:h,width:f,height:p}=d;if(l||r(),!f||!p)return;let m={rootMargin:-sg(h)+"px "+-sg(n.clientWidth-(u+f))+"px "+-sg(n.clientHeight-(h+p))+"px "+-sg(u)+"px",threshold:sp(0,sf(1,c))||1},g=!0;function x(r){let i=r[0].intersectionRatio;if(i!==c){if(!g)return a();i?a(!1,i):s=setTimeout(()=>{a(!1,1e-7)},1e3)}1!==i||iy(d,e.getBoundingClientRect())||a(),g=!1}try{i=new IntersectionObserver(x,{...m,root:n.ownerDocument})}catch(e){i=new IntersectionObserver(x,m)}i.observe(e)}(!0),o}(u,s):null,p=-1,m=null;l&&(m=new ResizeObserver(e=>{let[i]=e;i&&i.target===u&&m&&(m.unobserve(r),cancelAnimationFrame(p),p=requestAnimationFrame(()=>{var e;null==(e=m)||e.observe(r)})),s()}),u&&!d&&m.observe(u),m.observe(r));let g=d?ic(e):null;return d&&function r(){let i=ic(e);g&&!iy(g,i)&&s(),g=i,n=requestAnimationFrame(r)}(),s(),()=>{var e;h.forEach(e=>{o&&e.removeEventListener("scroll",s),a&&e.removeEventListener("resize",s)}),null==f||f(),null==(e=m)||e.disconnect(),m=null,d&&cancelAnimationFrame(n)}})(...e,{animationFrame:"always"===P}),elements:{reference:I.anchor},middleware:[{...{name:"offset",options:n=s={mainAxis:k+X,alignmentAxis:D},async fn(e){var r,s;let{x:i,y:o,placement:a,middlewareData:l}=e,c=await s$(e,n);return a===(null==(r=l.offset)?void 0:r.placement)&&null!=(s=l.arrow)&&s.alignmentOffset?{}:{x:i+c.x,y:o+c.y,data:{...c,placement:a}}}},options:[s,i]},R&&{...{name:"shift",options:u=c={mainAxis:!0,crossAxis:!1,limiter:"partial"===M?{...(void 0===(l=o)&&(l={}),{options:l,fn(e){let{x:r,y:s,placement:i,rects:n,middlewareData:o}=e,{offset:a=0,mainAxis:c=!0,crossAxis:d=!0}=sy(l,e),u={x:r,y:s},h=sk(i),f=sS(h),p=u[f],m=u[h],g=sy(a,e),x="number"==typeof g?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(c){let e="y"===f?"height":"width",r=n.reference[f]-n.floating[e]+x.mainAxis,s=n.reference[f]+n.reference[e]-x.mainAxis;p<r?p=r:p>s&&(p=s)}if(d){var v,_;let e="y"===f?"width":"height",r=sz.has(sb(i)),s=n.reference[h]-n.floating[e]+(r&&(null==(v=o.offset)?void 0:v[h])||0)+(r?0:x.crossAxis),a=n.reference[h]+n.reference[e]+(r?0:(null==(_=o.offset)?void 0:_[h])||0)-(r?x.crossAxis:0);m<s?m=s:m>a&&(m=a)}return{[f]:p,[h]:m}}}),options:[o,a]}:void 0,...es},async fn(e){let{x:r,y:s,placement:i,platform:n}=e,{mainAxis:o=!0,crossAxis:a=!1,limiter:l={fn:e=>{let{x:r,y:s}=e;return{x:r,y:s}}},...c}=sy(u,e),d={x:r,y:s},h=await n.detectOverflow(e,c),f=sk(sb(i)),p=sS(f),m=d[p],g=d[f];if(o){let e="y"===p?"top":"left",r="y"===p?"bottom":"right",s=m+h[e],i=m-h[r];m=sp(s,sf(m,i))}if(a){let e="y"===f?"top":"left",r="y"===f?"bottom":"right",s=g+h[e],i=g-h[r];g=sp(s,sf(g,i))}let x=l.fn({...e,[p]:m,[f]:g});return{...x,data:{x:x.x-r,y:x.y-s,enabled:{[p]:o,[f]:a}}}}},options:[c,d]},R&&{...{name:"flip",options:p=h={...es},async fn(e){var r,s,i,n,o,a,l,c;let d,u,h,{placement:f,middlewareData:m,rects:g,initialPlacement:x,platform:v,elements:_}=e,{mainAxis:y=!0,crossAxis:b=!0,fallbackPlacements:w,fallbackStrategy:S="bestFit",fallbackAxisSideDirection:C="none",flipAlignment:j=!0,...k}=sy(p,e);if(null!=(r=m.arrow)&&r.alignmentOffset)return{};let N=sb(f),D=sk(x),E=sb(x)===x,R=await (null==v.isRTL?void 0:v.isRTL(_.floating)),A=w||(E||!j?[sF(x)]:(d=sF(x),[sN(x),d,sN(d)])),F="none"!==C;!w&&F&&A.push(...(u=sw(x),h=function(e,r,s){switch(e){case"top":case"bottom":if(s)return r?sE:sD;return r?sD:sE;case"left":case"right":return r?sR:sA;default:return[]}}(sb(x),"start"===C,R),u&&(h=h.map(e=>e+"-"+u),j&&(h=h.concat(h.map(sN)))),h));let M=[x,...A],T=await v.detectOverflow(e,k),P=[],B=(null==(s=m.flip)?void 0:s.overflows)||[];if(y&&P.push(T[N]),b){let e,r,s,i,n=(a=f,l=g,void 0===(c=R)&&(c=!1),e=sw(a),s=sC(r=sS(sk(a))),i="x"===r?e===(c?"end":"start")?"right":"left":"start"===e?"bottom":"top",l.reference[s]>l.floating[s]&&(i=sF(i)),[i,sF(i)]);P.push(T[n[0]],T[n[1]])}if(B=[...B,{placement:f,overflows:P}],!P.every(e=>e<=0)){let e=((null==(i=m.flip)?void 0:i.index)||0)+1,r=M[e];if(r&&("alignment"!==b||D===sk(r)||B.every(e=>sk(e.placement)!==D||e.overflows[0]>0)))return{data:{index:e,overflows:B},reset:{placement:r}};let s=null==(n=B.filter(e=>e.overflows[0]<=0).sort((e,r)=>e.overflows[1]-r.overflows[1])[0])?void 0:n.placement;if(!s)switch(S){case"bestFit":{let e=null==(o=B.filter(e=>{if(F){let r=sk(e.placement);return r===D||"y"===r}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,r)=>e+r,0)]).sort((e,r)=>e[1]-r[1])[0])?void 0:o[0];e&&(s=e);break}case"initialPlacement":s=x}if(f!==s)return{reset:{placement:s}}}return{}}},options:[h,f]},{...{name:"size",options:x=m={...es,apply:({elements:e,rects:r,availableWidth:s,availableHeight:i})=>{let{width:n,height:o}=r.reference,a=e.floating.style;a.setProperty("--radix-popper-available-width",`${s}px`),a.setProperty("--radix-popper-available-height",`${i}px`),a.setProperty("--radix-popper-anchor-width",`${n}px`),a.setProperty("--radix-popper-anchor-height",`${o}px`)}},async fn(e){var r,s;let i,n,{placement:o,rects:a,platform:l,elements:c}=e,{apply:d=()=>{},...u}=sy(x,e),h=await l.detectOverflow(e,u),f=sb(o),p=sw(o),m="y"===sk(o),{width:g,height:v}=a.floating;"top"===f||"bottom"===f?(i=f,n=p===(await (null==l.isRTL?void 0:l.isRTL(c.floating))?"start":"end")?"left":"right"):(n=f,i="end"===p?"top":"bottom");let _=v-h.top-h.bottom,y=g-h.left-h.right,b=sf(v-h[i],_),w=sf(g-h[n],y),S=!e.middlewareData.shift,C=b,j=w;if(null!=(r=e.middlewareData.shift)&&r.enabled.x&&(j=y),null!=(s=e.middlewareData.shift)&&s.enabled.y&&(C=_),S&&!p){let e=sp(h.left,0),r=sp(h.right,0),s=sp(h.top,0),i=sp(h.bottom,0);m?j=g-2*(0!==e||0!==r?e+r:sp(h.left,h.right)):C=v-2*(0!==s||0!==i?s+i:sp(h.top,h.bottom))}await d({...e,availableWidth:j,availableHeight:C});let k=await l.getDimensions(c.floating);return g!==k.width||v!==k.height?{reset:{rects:!0}}:{}}},options:[m,g]},K&&{...{name:"arrow",options:y=v={element:K,padding:E},fn(e){let{element:r,padding:s}="function"==typeof y?y(e):y;return r&&({}).hasOwnProperty.call(r,"current")?null!=r.current?ib({element:r.current,padding:s}).fn(e):{}:r?ib({element:r,padding:s}).fn(e):{}}},options:[v,_]},iU({arrowWidth:G,arrowHeight:X}),T&&{...{name:"hide",options:S=b={strategy:"referenceHidden",...es},async fn(e){let{rects:r,platform:s}=e,{strategy:i="referenceHidden",...n}=sy(S,e);switch(i){case"referenceHidden":{let i=sI(await s.detectOverflow(e,{...n,elementContext:"reference"}),r.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:sO(i)}}}case"escaped":{let i=sI(await s.detectOverflow(e,{...n,altBoundary:!0}),r.floating);return{data:{escapedOffsets:i,escaped:sO(i)}}}default:return{}}}},options:[b,w]}]}),[ec,ed]=iK(eo),eu=eN(B);V(()=>{ea&&eu?.()},[ea,eu]);let eh=el.arrow?.x,ef=el.arrow?.y,ep=el.arrow?.centerOffset!==0,[em,eg]=$.useState();return V(()=>{O&&eg(window.getComputedStyle(O).zIndex)},[O]),(0,z.jsx)("div",{ref:ei.setFloating,"data-radix-popper-content-wrapper":"",style:{...en,transform:ea?en.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:em,"--radix-popper-transform-origin":[el.transformOrigin?.x,el.transformOrigin?.y].join(" "),...el.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,z.jsx)(iL,{scope:C,placedSide:ec,onArrowChange:q,arrowX:eh,arrowY:ef,shouldHideArrow:ep,children:(0,z.jsx)(er.div,{"data-side":ec,"data-align":ed,...L,ref:H,style:{...L.style,animation:ea?void 0:"none"}})})})});iO.displayName=iB;var iz="PopperArrow",i$={top:"bottom",right:"left",bottom:"top",left:"right"},iW=$.forwardRef(function(e,r){let{__scopePopper:s,...i}=e,n=iI(iz,s),o=i$[n.placedSide];return(0,z.jsx)("span",{ref:n.onArrowChange,style:{position:"absolute",left:n.arrowX,top:n.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[n.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[n.placedSide],visibility:n.shouldHideArrow?"hidden":void 0},children:(0,z.jsx)(iN,{...i,ref:r,style:{...i.style,display:"block"}})})});function iH(e){return null!==e}iW.displayName=iz;var iU=e=>({name:"transformOrigin",options:e,fn(r){let{placement:s,rects:i,middlewareData:n}=r,o=n.arrow?.centerOffset!==0,a=o?0:e.arrowWidth,l=o?0:e.arrowHeight,[c,d]=iK(s),u={start:"0%",center:"50%",end:"100%"}[d],h=(n.arrow?.x??0)+a/2,f=(n.arrow?.y??0)+l/2,p="",m="";return"bottom"===c?(p=o?u:`${h}px`,m=`${-l}px`):"top"===c?(p=o?u:`${h}px`,m=`${i.floating.height+l}px`):"right"===c?(p=`${-l}px`,m=o?u:`${f}px`):"left"===c&&(p=`${i.floating.width+l}px`,m=o?u:`${f}px`),{data:{x:p,y:m}}}});function iK(e){let[r,s="center"]=e.split("-");return[r,s]}var iq=["Enter"," "],iV=["ArrowUp","PageDown","End"],iY=["ArrowDown","PageUp","Home",...iV],iG={ltr:[...iq,"ArrowRight"],rtl:[...iq,"ArrowLeft"]},iX={ltr:["ArrowLeft"],rtl:["ArrowRight"]},iJ="Menu",[iZ,iQ,i0]=rR(iJ),[i1,i2]=K(iJ,[i0,iR,rH]),i5=iR(),i3=rH(),[i4,i6]=i1(iJ),[i8,i7]=i1(iJ),i9=e=>{let{__scopeMenu:r,open:s=!1,children:i,dir:n,onOpenChange:o,modal:a=!0}=e,l=i5(r),[c,d]=$.useState(null),u=$.useRef(!1),h=eN(o),f=rP(n);return $.useEffect(()=>{let e=()=>{u.current=!0,document.addEventListener("pointerdown",r,{capture:!0,once:!0}),document.addEventListener("pointermove",r,{capture:!0,once:!0})},r=()=>u.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",r,{capture:!0}),document.removeEventListener("pointermove",r,{capture:!0})}},[]),(0,z.jsx)(iM,{...l,children:(0,z.jsx)(i4,{scope:r,open:s,onOpenChange:h,content:c,onContentChange:d,children:(0,z.jsx)(i8,{scope:r,onClose:$.useCallback(()=>h(!1),[h]),isUsingKeyboardRef:u,dir:f,modal:a,children:i})})})};i9.displayName=iJ;var ne=$.forwardRef((e,r)=>{let{__scopeMenu:s,...i}=e,n=i5(s);return(0,z.jsx)(iP,{...n,...i,ref:r})});ne.displayName="MenuAnchor";var nt="MenuPortal",[nr,ns]=i1(nt,{forceMount:void 0}),ni=e=>{let{__scopeMenu:r,forceMount:s,children:i,container:n}=e,o=i6(nt,r);return(0,z.jsx)(nr,{scope:r,forceMount:s,children:(0,z.jsx)(Z,{present:s||o.open,children:(0,z.jsx)(eW,{asChild:!0,container:n,children:i})})})};ni.displayName=nt;var nn="MenuContent",[no,na]=i1(nn),nl=$.forwardRef((e,r)=>{let s=ns(nn,e.__scopeMenu),{forceMount:i=s.forceMount,...n}=e,o=i6(nn,e.__scopeMenu),a=i7(nn,e.__scopeMenu);return(0,z.jsx)(iZ.Provider,{scope:e.__scopeMenu,children:(0,z.jsx)(Z,{present:i||o.open,children:(0,z.jsx)(iZ.Slot,{scope:e.__scopeMenu,children:a.modal?(0,z.jsx)(nc,{...n,ref:r}):(0,z.jsx)(nd,{...n,ref:r})})})})}),nc=$.forwardRef((e,r)=>{let s=i6(nn,e.__scopeMenu),i=$.useRef(null),n=(0,U.useComposedRefs)(r,i);return $.useEffect(()=>{let e=i.current;if(e)return tN(e)},[]),(0,z.jsx)(nh,{...e,ref:n,trapFocus:s.open,disableOutsidePointerEvents:s.open,disableOutsideScroll:!0,onFocusOutside:q(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>s.onOpenChange(!1)})}),nd=$.forwardRef((e,r)=>{let s=i6(nn,e.__scopeMenu);return(0,z.jsx)(nh,{...e,ref:r,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>s.onOpenChange(!1)})}),nu=(0,et.createSlot)("MenuContent.ScrollLock"),nh=$.forwardRef((e,r)=>{let{__scopeMenu:s,loop:i=!1,trapFocus:n,onOpenAutoFocus:o,onCloseAutoFocus:a,disableOutsidePointerEvents:l,onEntryFocus:c,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:h,onInteractOutside:f,onDismiss:p,disableOutsideScroll:m,...g}=e,x=i6(nn,s),v=i7(nn,s),_=i5(s),y=i3(s),b=iQ(s),[w,S]=$.useState(null),C=$.useRef(null),j=(0,U.useComposedRefs)(r,C,x.onContentChange),k=$.useRef(0),N=$.useRef(""),D=$.useRef(0),E=$.useRef(null),R=$.useRef("right"),A=$.useRef(0),F=m?ty:$.Fragment;$.useEffect(()=>()=>window.clearTimeout(k.current),[]),eU();let M=$.useCallback(e=>{var r,s;return R.current===E.current?.side&&(r=e,!!(s=E.current?.area)&&function(e,r){let{x:s,y:i}=e,n=!1;for(let e=0,o=r.length-1;e<r.length;o=e++){let a=r[e],l=r[o],c=a.x,d=a.y,u=l.x,h=l.y;d>i!=h>i&&s<(u-c)*(i-d)/(h-d)+c&&(n=!n)}return n}({x:r.clientX,y:r.clientY},s))},[]);return(0,z.jsx)(no,{scope:s,searchRef:N,onItemEnter:$.useCallback(e=>{M(e)&&e.preventDefault()},[M]),onItemLeave:$.useCallback(e=>{M(e)||(C.current?.focus(),S(null))},[M]),onTriggerLeave:$.useCallback(e=>{M(e)&&e.preventDefault()},[M]),pointerGraceTimerRef:D,onPointerGraceIntentChange:$.useCallback(e=>{E.current=e},[]),children:(0,z.jsx)(F,{...m?{as:nu,allowPinchZoom:!0}:void 0,children:(0,z.jsx)(eB,{asChild:!0,trapped:n,onMountAutoFocus:q(o,e=>{e.preventDefault(),C.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:a,children:(0,z.jsx)(eR,{asChild:!0,disableOutsidePointerEvents:l,onEscapeKeyDown:d,onPointerDownOutside:u,onFocusOutside:h,onInteractOutside:f,onDismiss:p,children:(0,z.jsx)(rq,{asChild:!0,...y,dir:v.dir,orientation:"vertical",loop:i,currentTabStopId:w,onCurrentTabStopIdChange:S,onEntryFocus:q(c,e=>{v.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,z.jsx)(iO,{role:"menu","aria-orientation":"vertical","data-state":nI(x.open),"data-radix-menu-content":"",dir:v.dir,..._,...g,ref:j,style:{outline:"none",...g.style},onKeyDown:q(g.onKeyDown,e=>{let r=e.target.closest("[data-radix-menu-content]")===e.currentTarget,s=e.ctrlKey||e.altKey||e.metaKey,i=1===e.key.length;if(r){var n;let r,o,a,l,c,d;"Tab"===e.key&&e.preventDefault(),!s&&i&&(n=e.key,r=N.current+n,o=b().filter(e=>!e.disabled),a=document.activeElement,l=o.find(e=>e.ref.current===a)?.textValue,c=function(e,r,s){var i;let n=r.length>1&&Array.from(r).every(e=>e===r[0])?r[0]:r,o=s?e.indexOf(s):-1,a=(i=Math.max(o,0),e.map((r,s)=>e[(i+s)%e.length]));1===n.length&&(a=a.filter(e=>e!==s));let l=a.find(e=>e.toLowerCase().startsWith(n.toLowerCase()));return l!==s?l:void 0}(o.map(e=>e.textValue),r,l),d=o.find(e=>e.textValue===c)?.ref.current,function e(r){N.current=r,window.clearTimeout(k.current),""!==r&&(k.current=window.setTimeout(()=>e(""),1e3))}(r),d&&setTimeout(()=>d.focus()))}let o=C.current;if(e.target!==o||!iY.includes(e.key))return;e.preventDefault();let a=b().filter(e=>!e.disabled).map(e=>e.ref.current);iV.includes(e.key)&&a.reverse(),function(e){let r=document.activeElement;for(let s of e)if(s===r||(s.focus(),document.activeElement!==r))return}(a)}),onBlur:q(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(k.current),N.current="")}),onPointerMove:q(e.onPointerMove,n$(e=>{let r=e.target,s=A.current!==e.clientX;e.currentTarget.contains(r)&&s&&(R.current=e.clientX>A.current?"right":"left",A.current=e.clientX)}))})})})})})})});nl.displayName=nn;var nf=$.forwardRef((e,r)=>{let{__scopeMenu:s,...i}=e;return(0,z.jsx)(er.div,{role:"group",...i,ref:r})});nf.displayName="MenuGroup";var np=$.forwardRef((e,r)=>{let{__scopeMenu:s,...i}=e;return(0,z.jsx)(er.div,{...i,ref:r})});np.displayName="MenuLabel";var nm="MenuItem",ng="menu.itemSelect",nx=$.forwardRef((e,r)=>{let{disabled:s=!1,onSelect:i,...n}=e,o=$.useRef(null),a=i7(nm,e.__scopeMenu),l=na(nm,e.__scopeMenu),c=(0,U.useComposedRefs)(r,o),d=$.useRef(!1);return(0,z.jsx)(nv,{...n,ref:c,disabled:s,onClick:q(e.onClick,()=>{let e=o.current;if(!s&&e){let r=new CustomEvent(ng,{bubbles:!0,cancelable:!0});e.addEventListener(ng,e=>i?.(e),{once:!0}),es(e,r),r.defaultPrevented?d.current=!1:a.onClose()}}),onPointerDown:r=>{e.onPointerDown?.(r),d.current=!0},onPointerUp:q(e.onPointerUp,e=>{d.current||e.currentTarget?.click()}),onKeyDown:q(e.onKeyDown,e=>{let r=""!==l.searchRef.current;s||r&&" "===e.key||iq.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});nx.displayName=nm;var nv=$.forwardRef((e,r)=>{let{__scopeMenu:s,disabled:i=!1,textValue:n,...o}=e,a=na(nm,s),l=i3(s),c=$.useRef(null),d=(0,U.useComposedRefs)(r,c),[u,h]=$.useState(!1),[f,p]=$.useState("");return $.useEffect(()=>{let e=c.current;e&&p((e.textContent??"").trim())},[o.children]),(0,z.jsx)(iZ.ItemSlot,{scope:s,disabled:i,textValue:n??f,children:(0,z.jsx)(rG,{asChild:!0,...l,focusable:!i,children:(0,z.jsx)(er.div,{role:"menuitem","data-highlighted":u?"":void 0,"aria-disabled":i||void 0,"data-disabled":i?"":void 0,...o,ref:d,onPointerMove:q(e.onPointerMove,n$(e=>{i?a.onItemLeave(e):(a.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:q(e.onPointerLeave,n$(e=>a.onItemLeave(e))),onFocus:q(e.onFocus,()=>h(!0)),onBlur:q(e.onBlur,()=>h(!1))})})})}),n_=$.forwardRef((e,r)=>{let{checked:s=!1,onCheckedChange:i,...n}=e;return(0,z.jsx)(nN,{scope:e.__scopeMenu,checked:s,children:(0,z.jsx)(nx,{role:"menuitemcheckbox","aria-checked":nO(s)?"mixed":s,...n,ref:r,"data-state":nz(s),onSelect:q(n.onSelect,()=>i?.(!!nO(s)||!s),{checkForDefaultPrevented:!1})})})});n_.displayName="MenuCheckboxItem";var ny="MenuRadioGroup",[nb,nw]=i1(ny,{value:void 0,onValueChange:()=>{}}),nS=$.forwardRef((e,r)=>{let{value:s,onValueChange:i,...n}=e,o=eN(i);return(0,z.jsx)(nb,{scope:e.__scopeMenu,value:s,onValueChange:o,children:(0,z.jsx)(nf,{...n,ref:r})})});nS.displayName=ny;var nC="MenuRadioItem",nj=$.forwardRef((e,r)=>{let{value:s,...i}=e,n=nw(nC,e.__scopeMenu),o=s===n.value;return(0,z.jsx)(nN,{scope:e.__scopeMenu,checked:o,children:(0,z.jsx)(nx,{role:"menuitemradio","aria-checked":o,...i,ref:r,"data-state":nz(o),onSelect:q(i.onSelect,()=>n.onValueChange?.(s),{checkForDefaultPrevented:!1})})})});nj.displayName=nC;var nk="MenuItemIndicator",[nN,nD]=i1(nk,{checked:!1}),nE=$.forwardRef((e,r)=>{let{__scopeMenu:s,forceMount:i,...n}=e,o=nD(nk,s);return(0,z.jsx)(Z,{present:i||nO(o.checked)||!0===o.checked,children:(0,z.jsx)(er.span,{...n,ref:r,"data-state":nz(o.checked)})})});nE.displayName=nk;var nR=$.forwardRef((e,r)=>{let{__scopeMenu:s,...i}=e;return(0,z.jsx)(er.div,{role:"separator","aria-orientation":"horizontal",...i,ref:r})});nR.displayName="MenuSeparator";var nA=$.forwardRef((e,r)=>{let{__scopeMenu:s,...i}=e,n=i5(s);return(0,z.jsx)(iW,{...n,...i,ref:r})});nA.displayName="MenuArrow";var[nF,nM]=i1("MenuSub"),nT="MenuSubTrigger",nP=$.forwardRef((e,r)=>{let s=i6(nT,e.__scopeMenu),i=i7(nT,e.__scopeMenu),n=nM(nT,e.__scopeMenu),o=na(nT,e.__scopeMenu),a=$.useRef(null),{pointerGraceTimerRef:l,onPointerGraceIntentChange:c}=o,d={__scopeMenu:e.__scopeMenu},u=$.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=null},[]);return $.useEffect(()=>u,[u]),$.useEffect(()=>{let e=l.current;return()=>{window.clearTimeout(e),c(null)}},[l,c]),(0,z.jsx)(ne,{asChild:!0,...d,children:(0,z.jsx)(nv,{id:n.triggerId,"aria-haspopup":"menu","aria-expanded":s.open,"aria-controls":n.contentId,"data-state":nI(s.open),...e,ref:(0,U.composeRefs)(r,n.onTriggerChange),onClick:r=>{e.onClick?.(r),e.disabled||r.defaultPrevented||(r.currentTarget.focus(),s.open||s.onOpenChange(!0))},onPointerMove:q(e.onPointerMove,n$(r=>{o.onItemEnter(r),!r.defaultPrevented&&(e.disabled||s.open||a.current||(o.onPointerGraceIntentChange(null),a.current=window.setTimeout(()=>{s.onOpenChange(!0),u()},100)))})),onPointerLeave:q(e.onPointerLeave,n$(e=>{u();let r=s.content?.getBoundingClientRect();if(r){let i=s.content?.dataset.side,n="right"===i,a=r[n?"left":"right"],c=r[n?"right":"left"];o.onPointerGraceIntentChange({area:[{x:e.clientX+(n?-5:5),y:e.clientY},{x:a,y:r.top},{x:c,y:r.top},{x:c,y:r.bottom},{x:a,y:r.bottom}],side:i}),window.clearTimeout(l.current),l.current=window.setTimeout(()=>o.onPointerGraceIntentChange(null),300)}else{if(o.onTriggerLeave(e),e.defaultPrevented)return;o.onPointerGraceIntentChange(null)}})),onKeyDown:q(e.onKeyDown,r=>{let n=""!==o.searchRef.current;e.disabled||n&&" "===r.key||iG[i.dir].includes(r.key)&&(s.onOpenChange(!0),s.content?.focus(),r.preventDefault())})})})});nP.displayName=nT;var nB="MenuSubContent",nL=$.forwardRef((e,r)=>{let s=ns(nn,e.__scopeMenu),{forceMount:i=s.forceMount,...n}=e,o=i6(nn,e.__scopeMenu),a=i7(nn,e.__scopeMenu),l=nM(nB,e.__scopeMenu),c=$.useRef(null),d=(0,U.useComposedRefs)(r,c);return(0,z.jsx)(iZ.Provider,{scope:e.__scopeMenu,children:(0,z.jsx)(Z,{present:i||o.open,children:(0,z.jsx)(iZ.Slot,{scope:e.__scopeMenu,children:(0,z.jsx)(nh,{id:l.contentId,"aria-labelledby":l.triggerId,...n,ref:d,align:"start",side:"rtl"===a.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{a.isUsingKeyboardRef.current&&c.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:q(e.onFocusOutside,e=>{e.target!==l.trigger&&o.onOpenChange(!1)}),onEscapeKeyDown:q(e.onEscapeKeyDown,e=>{a.onClose(),e.preventDefault()}),onKeyDown:q(e.onKeyDown,e=>{let r=e.currentTarget.contains(e.target),s=iX[a.dir].includes(e.key);r&&s&&(o.onOpenChange(!1),l.trigger?.focus(),e.preventDefault())})})})})})});function nI(e){return e?"open":"closed"}function nO(e){return"indeterminate"===e}function nz(e){return nO(e)?"indeterminate":e?"checked":"unchecked"}function n$(e){return r=>"mouse"===r.pointerType?e(r):void 0}nL.displayName=nB;var nW="DropdownMenu",[nH,nU]=K(nW,[i2]),nK=i2(),[nq,nV]=nH(nW),nY=e=>{let{__scopeDropdownMenu:r,children:s,dir:i,open:n,defaultOpen:o,onOpenChange:a,modal:l=!0}=e,c=nK(r),d=$.useRef(null),[u,h]=G({prop:n,defaultProp:o??!1,onChange:a,caller:nW});return(0,z.jsx)(nq,{scope:r,triggerId:ek(),triggerRef:d,contentId:ek(),open:u,onOpenChange:h,onOpenToggle:$.useCallback(()=>h(e=>!e),[h]),modal:l,children:(0,z.jsx)(i9,{...c,open:u,onOpenChange:h,dir:i,modal:l,children:s})})};nY.displayName=nW;var nG="DropdownMenuTrigger",nX=$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,disabled:i=!1,...n}=e,o=nV(nG,s),a=nK(s);return(0,z.jsx)(ne,{asChild:!0,...a,children:(0,z.jsx)(er.button,{type:"button",id:o.triggerId,"aria-haspopup":"menu","aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":o.open?"open":"closed","data-disabled":i?"":void 0,disabled:i,...n,ref:(0,U.composeRefs)(r,o.triggerRef),onPointerDown:q(e.onPointerDown,e=>{!i&&0===e.button&&!1===e.ctrlKey&&(o.onOpenToggle(),o.open||e.preventDefault())}),onKeyDown:q(e.onKeyDown,e=>{!i&&(["Enter"," "].includes(e.key)&&o.onOpenToggle(),"ArrowDown"===e.key&&o.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});nX.displayName=nG;var nJ=e=>{let{__scopeDropdownMenu:r,...s}=e,i=nK(r);return(0,z.jsx)(ni,{...i,...s})};nJ.displayName="DropdownMenuPortal";var nZ="DropdownMenuContent",nQ=$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nV(nZ,s),o=nK(s),a=$.useRef(!1);return(0,z.jsx)(nl,{id:n.contentId,"aria-labelledby":n.triggerId,...o,...i,ref:r,onCloseAutoFocus:q(e.onCloseAutoFocus,e=>{a.current||n.triggerRef.current?.focus(),a.current=!1,e.preventDefault()}),onInteractOutside:q(e.onInteractOutside,e=>{let r=e.detail.originalEvent,s=0===r.button&&!0===r.ctrlKey,i=2===r.button||s;(!n.modal||i)&&(a.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});nQ.displayName=nZ,$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(nf,{...n,...i,ref:r})}).displayName="DropdownMenuGroup";var n0=$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(np,{...n,...i,ref:r})});n0.displayName="DropdownMenuLabel";var n1=$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(nx,{...n,...i,ref:r})});n1.displayName="DropdownMenuItem",$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(n_,{...n,...i,ref:r})}).displayName="DropdownMenuCheckboxItem";var n2=$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(nS,{...n,...i,ref:r})});n2.displayName="DropdownMenuRadioGroup";var n5=$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(nj,{...n,...i,ref:r})});n5.displayName="DropdownMenuRadioItem";var n3=$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(nE,{...n,...i,ref:r})});n3.displayName="DropdownMenuItemIndicator";var n4=$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(nR,{...n,...i,ref:r})});n4.displayName="DropdownMenuSeparator",$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(nA,{...n,...i,ref:r})}).displayName="DropdownMenuArrow",$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(nP,{...n,...i,ref:r})}).displayName="DropdownMenuSubTrigger",$.forwardRef((e,r)=>{let{__scopeDropdownMenu:s,...i}=e,n=nK(s);return(0,z.jsx)(nL,{...n,...i,ref:r,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent";var H=H;let n6=(0,ew.default)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);function n8({...e}){return(0,z.jsx)(nY,{"data-slot":"dropdown-menu",...e})}function n7({...e}){return(0,z.jsx)(nX,{"data-slot":"dropdown-menu-trigger",...e})}function n9({className:e,sideOffset:r=4,...s}){return(0,z.jsx)(nJ,{children:(0,z.jsx)(nQ,{"data-slot":"dropdown-menu-content",sideOffset:r,className:(0,ey.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",e),...s})})}function oe({className:e,inset:r,variant:s="default",...i}){return(0,z.jsx)(n1,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":s,className:(0,ey.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i})}function ot({...e}){return(0,z.jsx)(n2,{"data-slot":"dropdown-menu-radio-group",...e})}function or({className:e,children:r,...s}){return(0,z.jsxs)(n5,{"data-slot":"dropdown-menu-radio-item",className:(0,ey.cn)("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...s,children:[(0,z.jsx)("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center",children:(0,z.jsx)(n3,{children:(0,z.jsx)(rw,{className:"size-2 fill-current"})})}),r]})}function os({className:e,inset:r,...s}){return(0,z.jsx)(n0,{"data-slot":"dropdown-menu-label","data-inset":r,className:(0,ey.cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",e),...s})}function oi({className:e,...r}){return(0,z.jsx)(n4,{"data-slot":"dropdown-menu-separator",className:(0,ey.cn)("bg-border -mx-1 my-1 h-px",e),...r})}function on({targets:e,activeTarget:r,onTargetChange:s,onAddRemote:i,disabled:n}){if(e.length<=2)return(0,z.jsx)("div",{className:"inline-flex items-center rounded-md border bg-muted/50 px-0.5 text-xs",children:e.map(e=>{let i=e.icon;return(0,z.jsxs)("button",{onClick:()=>s(e.id),disabled:n,className:(0,ey.cn)("inline-flex items-center gap-1 rounded-sm px-2 py-0.5 transition-colors",r===e.id?"bg-primary text-primary-foreground font-medium shadow-sm":"text-muted-foreground hover:text-foreground",n&&"opacity-50 cursor-not-allowed"),children:[i&&(0,z.jsx)(i,{className:"h-3 w-3"}),e.label]},e.id)})});let o=e.find(e=>e.id===r)??e[0],a=o?.icon;return(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsxs)("button",{disabled:n,className:(0,ey.cn)("inline-flex items-center gap-1 rounded-md border bg-muted/50 px-2 py-0.5 text-xs font-medium transition-colors hover:bg-muted",n&&"opacity-50 cursor-not-allowed"),children:[a&&(0,z.jsx)(a,{className:"h-3 w-3"}),o?.label??"Local",(0,z.jsx)(su,{className:"h-3 w-3 text-muted-foreground"})]})}),(0,z.jsxs)(n9,{align:"start",children:[(0,z.jsx)(ot,{value:r,onValueChange:s,children:e.map(e=>{let r=e.icon;return(0,z.jsxs)(or,{value:e.id,className:"text-xs",children:[r&&(0,z.jsx)(r,{className:"h-3 w-3"}),e.label]},e.id)})}),i&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(oi,{}),(0,z.jsxs)(oe,{onClick:i,className:"text-xs",children:[(0,z.jsx)(eS,{className:"h-3 w-3"}),"Add Remote"]})]})]})]})}let oo=(0,ew.default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]),oa=(0,ew.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),ol=(0,ew.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),oc=(0,ew.default)("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);function od(e,[r,s]){return Math.min(s,Math.max(r,e))}var ou="ScrollArea",[oh,of]=K(ou),[op,om]=oh(ou),og=$.forwardRef((e,r)=>{let{__scopeScrollArea:s,type:i="hover",dir:n,scrollHideDelay:o=600,...a}=e,[l,c]=$.useState(null),[d,u]=$.useState(null),[h,f]=$.useState(null),[p,m]=$.useState(null),[g,x]=$.useState(null),[v,_]=$.useState(0),[y,b]=$.useState(0),[w,S]=$.useState(!1),[C,j]=$.useState(!1),k=(0,U.useComposedRefs)(r,e=>c(e)),N=rP(n);return(0,z.jsx)(op,{scope:s,type:i,dir:N,scrollHideDelay:o,scrollArea:l,viewport:d,onViewportChange:u,content:h,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:w,onScrollbarXEnabledChange:S,scrollbarY:g,onScrollbarYChange:x,scrollbarYEnabled:C,onScrollbarYEnabledChange:j,onCornerWidthChange:_,onCornerHeightChange:b,children:(0,z.jsx)(er.div,{dir:N,...a,ref:k,style:{position:"relative","--radix-scroll-area-corner-width":v+"px","--radix-scroll-area-corner-height":y+"px",...e.style}})})});og.displayName=ou;var ox="ScrollAreaViewport",ov=$.forwardRef((e,r)=>{let{__scopeScrollArea:s,children:i,nonce:n,...o}=e,a=om(ox,s),l=$.useRef(null),c=(0,U.useComposedRefs)(r,l,a.onViewportChange);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,z.jsx)(er.div,{"data-radix-scroll-area-viewport":"",...o,ref:c,style:{overflowX:a.scrollbarXEnabled?"scroll":"hidden",overflowY:a.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,z.jsx)("div",{ref:a.onContentChange,style:{minWidth:"100%",display:"table"},children:i})})]})});ov.displayName=ox;var o_="ScrollAreaScrollbar",oy=$.forwardRef((e,r)=>{let{forceMount:s,...i}=e,n=om(o_,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:a}=n,l="horizontal"===e.orientation;return $.useEffect(()=>(l?o(!0):a(!0),()=>{l?o(!1):a(!1)}),[l,o,a]),"hover"===n.type?(0,z.jsx)(ob,{...i,ref:r,forceMount:s}):"scroll"===n.type?(0,z.jsx)(ow,{...i,ref:r,forceMount:s}):"auto"===n.type?(0,z.jsx)(oS,{...i,ref:r,forceMount:s}):"always"===n.type?(0,z.jsx)(oC,{...i,ref:r}):null});oy.displayName=o_;var ob=$.forwardRef((e,r)=>{let{forceMount:s,...i}=e,n=om(o_,e.__scopeScrollArea),[o,a]=$.useState(!1);return $.useEffect(()=>{let e=n.scrollArea,r=0;if(e){let s=()=>{window.clearTimeout(r),a(!0)},i=()=>{r=window.setTimeout(()=>a(!1),n.scrollHideDelay)};return e.addEventListener("pointerenter",s),e.addEventListener("pointerleave",i),()=>{window.clearTimeout(r),e.removeEventListener("pointerenter",s),e.removeEventListener("pointerleave",i)}}},[n.scrollArea,n.scrollHideDelay]),(0,z.jsx)(Z,{present:s||o,children:(0,z.jsx)(oS,{"data-state":o?"visible":"hidden",...i,ref:r})})}),ow=$.forwardRef((e,r)=>{var s;let{forceMount:i,...n}=e,o=om(o_,e.__scopeScrollArea),a="horizontal"===e.orientation,l=oW(()=>d("SCROLL_END"),100),[c,d]=(s={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},$.useReducer((e,r)=>s[e][r]??e,"hidden"));return $.useEffect(()=>{if("idle"===c){let e=window.setTimeout(()=>d("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[c,o.scrollHideDelay,d]),$.useEffect(()=>{let e=o.viewport,r=a?"scrollLeft":"scrollTop";if(e){let s=e[r],i=()=>{let i=e[r];s!==i&&(d("SCROLL"),l()),s=i};return e.addEventListener("scroll",i),()=>e.removeEventListener("scroll",i)}},[o.viewport,a,d,l]),(0,z.jsx)(Z,{present:i||"hidden"!==c,children:(0,z.jsx)(oC,{"data-state":"hidden"===c?"hidden":"visible",...n,ref:r,onPointerEnter:q(e.onPointerEnter,()=>d("POINTER_ENTER")),onPointerLeave:q(e.onPointerLeave,()=>d("POINTER_LEAVE"))})})}),oS=$.forwardRef((e,r)=>{let s=om(o_,e.__scopeScrollArea),{forceMount:i,...n}=e,[o,a]=$.useState(!1),l="horizontal"===e.orientation,c=oW(()=>{if(s.viewport){let e=s.viewport.offsetWidth<s.viewport.scrollWidth,r=s.viewport.offsetHeight<s.viewport.scrollHeight;a(l?e:r)}},10);return oH(s.viewport,c),oH(s.content,c),(0,z.jsx)(Z,{present:i||o,children:(0,z.jsx)(oC,{"data-state":o?"visible":"hidden",...n,ref:r})})}),oC=$.forwardRef((e,r)=>{let{orientation:s="vertical",...i}=e,n=om(o_,e.__scopeScrollArea),o=$.useRef(null),a=$.useRef(0),[l,c]=$.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=oL(l.viewport,l.content),u={...i,sizes:l,onSizesChange:c,hasThumb:!!(d>0&&d<1),onThumbChange:e=>o.current=e,onThumbPointerUp:()=>a.current=0,onThumbPointerDown:e=>a.current=e};function h(e,r){return function(e,r,s,i="ltr"){let n=oI(s),o=r||n/2,a=s.scrollbar.paddingStart+o,l=s.scrollbar.size-s.scrollbar.paddingEnd-(n-o),c=s.content-s.viewport;return oz([a,l],"ltr"===i?[0,c]:[-1*c,0])(e)}(e,a.current,l,r)}return"horizontal"===s?(0,z.jsx)(oj,{...u,ref:r,onThumbPositionChange:()=>{if(n.viewport&&o.current){let e=oO(n.viewport.scrollLeft,l,n.dir);o.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollLeft=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollLeft=h(e,n.dir))}}):"vertical"===s?(0,z.jsx)(ok,{...u,ref:r,onThumbPositionChange:()=>{if(n.viewport&&o.current){let e=oO(n.viewport.scrollTop,l);o.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{n.viewport&&(n.viewport.scrollTop=e)},onDragScroll:e=>{n.viewport&&(n.viewport.scrollTop=h(e))}}):null}),oj=$.forwardRef((e,r)=>{let{sizes:s,onSizesChange:i,...n}=e,o=om(o_,e.__scopeScrollArea),[a,l]=$.useState(),c=$.useRef(null),d=(0,U.useComposedRefs)(r,c,o.onScrollbarXChange);return $.useEffect(()=>{c.current&&l(getComputedStyle(c.current))},[c]),(0,z.jsx)(oE,{"data-orientation":"horizontal",...n,ref:d,sizes:s,style:{bottom:0,left:"rtl"===o.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===o.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":oI(s)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.x),onDragScroll:r=>e.onDragScroll(r.x),onWheelScroll:(r,s)=>{if(o.viewport){var i,n;let a=o.viewport.scrollLeft+r.deltaX;e.onWheelScroll(a),i=a,n=s,i>0&&i<n&&r.preventDefault()}},onResize:()=>{c.current&&o.viewport&&a&&i({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:oB(a.paddingLeft),paddingEnd:oB(a.paddingRight)}})}})}),ok=$.forwardRef((e,r)=>{let{sizes:s,onSizesChange:i,...n}=e,o=om(o_,e.__scopeScrollArea),[a,l]=$.useState(),c=$.useRef(null),d=(0,U.useComposedRefs)(r,c,o.onScrollbarYChange);return $.useEffect(()=>{c.current&&l(getComputedStyle(c.current))},[c]),(0,z.jsx)(oE,{"data-orientation":"vertical",...n,ref:d,sizes:s,style:{top:0,right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":oI(s)+"px",...e.style},onThumbPointerDown:r=>e.onThumbPointerDown(r.y),onDragScroll:r=>e.onDragScroll(r.y),onWheelScroll:(r,s)=>{if(o.viewport){var i,n;let a=o.viewport.scrollTop+r.deltaY;e.onWheelScroll(a),i=a,n=s,i>0&&i<n&&r.preventDefault()}},onResize:()=>{c.current&&o.viewport&&a&&i({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:oB(a.paddingTop),paddingEnd:oB(a.paddingBottom)}})}})}),[oN,oD]=oh(o_),oE=$.forwardRef((e,r)=>{let{__scopeScrollArea:s,sizes:i,hasThumb:n,onThumbChange:o,onThumbPointerUp:a,onThumbPointerDown:l,onThumbPositionChange:c,onDragScroll:d,onWheelScroll:u,onResize:h,...f}=e,p=om(o_,s),[m,g]=$.useState(null),x=(0,U.useComposedRefs)(r,e=>g(e)),v=$.useRef(null),_=$.useRef(""),y=p.viewport,b=i.content-i.viewport,w=eN(u),S=eN(c),C=oW(h,10);function j(e){v.current&&d({x:e.clientX-v.current.left,y:e.clientY-v.current.top})}return $.useEffect(()=>{let e=e=>{let r=e.target;m?.contains(r)&&w(e,b)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[y,m,b,w]),$.useEffect(S,[i,S]),oH(m,C),oH(p.content,C),(0,z.jsx)(oN,{scope:s,scrollbar:m,hasThumb:n,onThumbChange:eN(o),onThumbPointerUp:eN(a),onThumbPositionChange:S,onThumbPointerDown:eN(l),children:(0,z.jsx)(er.div,{...f,ref:x,style:{position:"absolute",...f.style},onPointerDown:q(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),v.current=m.getBoundingClientRect(),_.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",p.viewport&&(p.viewport.style.scrollBehavior="auto"),j(e))}),onPointerMove:q(e.onPointerMove,j),onPointerUp:q(e.onPointerUp,e=>{let r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=_.current,p.viewport&&(p.viewport.style.scrollBehavior=""),v.current=null})})})}),oR="ScrollAreaThumb",oA=$.forwardRef((e,r)=>{let{forceMount:s,...i}=e,n=oD(oR,e.__scopeScrollArea);return(0,z.jsx)(Z,{present:s||n.hasThumb,children:(0,z.jsx)(oF,{ref:r,...i})})}),oF=$.forwardRef((e,r)=>{let{__scopeScrollArea:s,style:i,...n}=e,o=om(oR,s),a=oD(oR,s),{onThumbPositionChange:l}=a,c=(0,U.useComposedRefs)(r,e=>a.onThumbChange(e)),d=$.useRef(void 0),u=oW(()=>{d.current&&(d.current(),d.current=void 0)},100);return $.useEffect(()=>{let e=o.viewport;if(e){let r=()=>{u(),d.current||(d.current=o$(e,l),l())};return l(),e.addEventListener("scroll",r),()=>e.removeEventListener("scroll",r)}},[o.viewport,u,l]),(0,z.jsx)(er.div,{"data-state":a.hasThumb?"visible":"hidden",...n,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...i},onPointerDownCapture:q(e.onPointerDownCapture,e=>{let r=e.target.getBoundingClientRect(),s=e.clientX-r.left,i=e.clientY-r.top;a.onThumbPointerDown({x:s,y:i})}),onPointerUp:q(e.onPointerUp,a.onThumbPointerUp)})});oA.displayName=oR;var oM="ScrollAreaCorner",oT=$.forwardRef((e,r)=>{let s=om(oM,e.__scopeScrollArea),i=!!(s.scrollbarX&&s.scrollbarY);return"scroll"!==s.type&&i?(0,z.jsx)(oP,{...e,ref:r}):null});oT.displayName=oM;var oP=$.forwardRef((e,r)=>{let{__scopeScrollArea:s,...i}=e,n=om(oM,s),[o,a]=$.useState(0),[l,c]=$.useState(0),d=!!(o&&l);return oH(n.scrollbarX,()=>{let e=n.scrollbarX?.offsetHeight||0;n.onCornerHeightChange(e),c(e)}),oH(n.scrollbarY,()=>{let e=n.scrollbarY?.offsetWidth||0;n.onCornerWidthChange(e),a(e)}),d?(0,z.jsx)(er.div,{...i,ref:r,style:{width:o,height:l,position:"absolute",right:"ltr"===n.dir?0:void 0,left:"rtl"===n.dir?0:void 0,bottom:0,...e.style}}):null});function oB(e){return e?parseInt(e,10):0}function oL(e,r){let s=e/r;return isNaN(s)?0:s}function oI(e){let r=oL(e.viewport,e.content),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-s)*r,18)}function oO(e,r,s="ltr"){let i=oI(r),n=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,o=r.scrollbar.size-n,a=r.content-r.viewport,l=od(e,"ltr"===s?[0,a]:[-1*a,0]);return oz([0,a],[0,o-i])(l)}function oz(e,r){return s=>{if(e[0]===e[1]||r[0]===r[1])return r[0];let i=(r[1]-r[0])/(e[1]-e[0]);return r[0]+i*(s-e[0])}}var o$=(e,r=()=>{})=>{let s={left:e.scrollLeft,top:e.scrollTop},i=0;return!function n(){let o={left:e.scrollLeft,top:e.scrollTop},a=s.left!==o.left,l=s.top!==o.top;(a||l)&&r(),s=o,i=window.requestAnimationFrame(n)}(),()=>window.cancelAnimationFrame(i)};function oW(e,r){let s=eN(e),i=$.useRef(0);return $.useEffect(()=>()=>window.clearTimeout(i.current),[]),$.useCallback(()=>{window.clearTimeout(i.current),i.current=window.setTimeout(s,r)},[s,r])}function oH(e,r){let s=eN(r);V(()=>{let r=0;if(e){let i=new ResizeObserver(()=>{cancelAnimationFrame(r),r=window.requestAnimationFrame(s)});return i.observe(e),()=>{window.cancelAnimationFrame(r),i.unobserve(e)}}},[e,s])}function oU({className:e,children:r,...s}){return(0,z.jsxs)(og,{"data-slot":"scroll-area",className:(0,ey.cn)("relative",e),...s,children:[(0,z.jsx)(ov,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:r}),(0,z.jsx)(oK,{}),(0,z.jsx)(oT,{})]})}function oK({className:e,orientation:r="vertical",...s}){return(0,z.jsx)(oy,{"data-slot":"scroll-area-scrollbar",orientation:r,className:(0,ey.cn)("flex touch-none p-px transition-colors select-none","vertical"===r&&"h-full w-2.5 border-l border-l-transparent","horizontal"===r&&"h-2.5 flex-col border-t border-t-transparent",e),...s,children:(0,z.jsx)(oA,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}let oq=(0,ew.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),oV=(0,ew.default)("folder-plus",[["path",{d:"M12 10v6",key:"1bos4e"}],["path",{d:"M9 13h6",key:"1uhe8q"}],["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),oY=(0,ew.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);function oG({serverId:e,onSelect:r,selectedPath:s}){let[i,n]=(0,$.useState)("/"),[o,a]=(0,$.useState)([]),[l,c]=(0,$.useState)(!1),[d,u]=(0,$.useState)(""),[h,f]=(0,$.useState)(!1),[p,m]=(0,$.useState)(""),[g,x]=(0,$.useState)(""),[v,_]=(0,$.useState)(!1),y=(0,$.useRef)(null),b=(0,$.useRef)(!1),w=(0,$.useCallback)(async()=>{if(!e)return void a([]);c(!0),u("");try{let r=await rx.api.browseRemoteServerDirectory(e,i);a(r.items??[])}catch(e){u(e instanceof Error?e.message:"Failed to load directory"),a([])}finally{c(!1)}},[e,i]);(0,$.useEffect)(()=>{w(),f(!1),m(""),x("")},[w]),(0,$.useEffect)(()=>{h&&(y.current?.focus(),y.current?.select())},[h]);let S=()=>{f(!1),m(""),x("")},C=async()=>{if(b.current)return;let s=p.trim();if(!s)return void S();b.current=!0,_(!0),x("");try{let n=await rx.api.createRemoteServerDirectory(e,i,s);f(!1),m(""),await w(),r(n.path)}catch(e){x(e instanceof Error?e.message:"Failed to create folder")}finally{b.current=!1,_(!1)}};return e?(0,z.jsxs)("div",{className:"border rounded-md",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2 p-2 border-b bg-muted/50",children:[(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:()=>{n(i.split("/").slice(0,-1).join("/")||"/")},disabled:"/"===i||l,children:(0,z.jsx)(oY,{className:"h-4 w-4"})}),(0,z.jsx)("span",{className:"text-sm font-mono truncate flex-1",children:i}),(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:()=>{x(""),m("New Folder"),f(!0)},disabled:l||h,title:"New folder",children:(0,z.jsx)(oV,{className:"h-4 w-4"})})]}),l?(0,z.jsx)("div",{className:"flex items-center justify-center h-[200px]",children:(0,z.jsx)(rj,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):d?(0,z.jsx)("div",{className:"p-4 text-sm text-red-500 h-[200px] overflow-y-auto",children:d}):(0,z.jsx)(oU,{className:"h-[200px]",children:(0,z.jsxs)("div",{className:"p-1",children:[h&&(0,z.jsxs)("div",{className:"flex flex-col gap-1 p-2",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsx)(oq,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,z.jsx)("input",{ref:y,value:p,onChange:e=>m(e.target.value),onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),C()):"Escape"===e.key&&(e.preventDefault(),S())},onBlur:()=>{v||C()},disabled:v,className:"flex-1 bg-background border rounded px-1.5 py-0.5 text-sm outline-none focus:ring-1 focus:ring-ring"}),v&&(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin text-muted-foreground shrink-0"})]}),g&&(0,z.jsx)("span",{className:"text-xs text-red-500 pl-6",children:g})]}),0!==o.length||h?o.map(e=>(0,z.jsxs)("div",{className:`flex items-center gap-2 p-2 rounded-md cursor-pointer hover:bg-muted ${s===e.path?"bg-muted":""}`,children:[(0,z.jsxs)("button",{className:"flex items-center gap-2 flex-1 text-left",onClick:()=>{r(e.path)},children:[(0,z.jsx)(oq,{className:"h-4 w-4 text-muted-foreground"}),(0,z.jsx)("span",{className:"text-sm truncate",children:e.name})]}),(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:()=>{n(e.path)},title:"Open folder",children:(0,z.jsx)(n6,{className:"h-4 w-4"})})]},e.path)):(0,z.jsx)("div",{className:"p-4 text-sm text-muted-foreground text-center",children:"No directories found"})]})})]}):(0,z.jsx)("div",{className:"text-sm text-muted-foreground p-4 text-center border rounded-md",children:"Select a remote server to browse directories"})}let oX={actionType:"command",executionMode:"local",content:""};function oJ(e){return e?{actionType:e.actionType,executionMode:e.executionMode,content:e.content}:{...oX}}function oZ(e){return{actionType:e.actionType,executionMode:e.executionMode,content:e.content}}function oQ({actionType:e,onActionTypeChange:r}){return(0,z.jsxs)("div",{className:"inline-flex items-center rounded-md border bg-muted/50 p-0.5 text-xs",children:[(0,z.jsxs)("button",{onClick:()=>r("command"),className:(0,ey.cn)("inline-flex items-center gap-1 rounded-sm px-2 py-0.5 transition-colors","command"===e?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[(0,z.jsx)(oo,{className:"h-3 w-3"}),"Command"]}),(0,z.jsxs)("button",{onClick:()=>r("prompt"),className:(0,ey.cn)("inline-flex items-center gap-1 rounded-sm px-2 py-0.5 transition-colors","prompt"===e?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[(0,z.jsx)(oa,{className:"h-3 w-3"}),"Prompt"]})]})}function o0({config:e,onChange:r,label:s,targets:i}){return(0,z.jsxs)("div",{className:"space-y-4 py-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:s}),i.length>0&&(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-xs text-muted-foreground",children:"Execution Environment"}),(0,z.jsx)("div",{children:(0,z.jsx)(on,{targets:i,activeTarget:e.executionMode,onTargetChange:s=>r({...e,executionMode:s})})})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-xs text-muted-foreground",children:"Action Type"}),(0,z.jsx)("div",{children:(0,z.jsx)(oQ,{actionType:e.actionType,onActionTypeChange:s=>r({...e,actionType:s})})})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-xs text-muted-foreground",children:"command"===e.actionType?"Shell Command":"Agent Prompt"}),(0,z.jsx)(ra,{value:e.content,onChange:s=>r({...e,content:s.target.value}),placeholder:"command"===e.actionType?"git push origin HEAD":"Please pull the latest changes and rebase...",rows:3})]})]})}function o1({project:e,onSave:r,onCancel:s}){let{remotes:i,refresh:n}=sl(e.id),o=[];for(let r of(e.path&&o.push({id:"local",label:"Local",icon:ol}),i))o.push({id:r.remote_server_id,label:r.server_name,icon:so});let[a,l]=(0,$.useState)(e.name),[c,d]=(0,$.useState)(e.path??""),[u,h]=(0,$.useState)(!1),[f,p]=(0,$.useState)(""),[m,g]=(0,$.useState)(oJ(e.sync_up_config)),[x,v]=(0,$.useState)(oJ(e.sync_down_config)),[_,y]=(0,$.useState)("closed"),[b,w]=(0,$.useState)([]),[S,C]=(0,$.useState)(null),[j,k]=(0,$.useState)(""),[N,D]=(0,$.useState)(""),[E,R]=(0,$.useState)(""),[A,F]=(0,$.useState)(""),[M,T]=(0,$.useState)("idle"),[P,B]=(0,$.useState)(""),L=()=>{y("closed"),C(null),k(""),D(""),R(""),F(""),T("idle"),B("")};(0,$.useEffect)(()=>{l(e.name),d(e.path??""),p(""),g(oJ(e.sync_up_config)),v(oJ(e.sync_down_config)),L()},[e.id]);let I=async()=>{let e=await rx.api.selectFolder();e.path&&d(e.path)},O=async()=>{y("pick-server");try{let e=await rx.api.getRemoteServers();w(e)}catch{w([])}},H=async()=>{if(!E||!A)return void B("URL and API key are required");T("testing"),B("");try{await rx.api.testRemoteConnection(E,A),T("success")}catch(e){T("error"),B(e instanceof Error?e.message:"Connection failed")}},U=async()=>{if(N.trim()&&E.trim())try{let e=await rx.api.createRemoteServer({name:N.trim(),url:E.trim(),apiKey:A.trim()||void 0});C(e),k(""),y("pick-path")}catch(e){B(e instanceof Error?e.message:"Failed to create server")}},K=async()=>{if(S&&j)try{await rx.api.addProjectRemote(e.id,{remoteServerId:S.id,remotePath:j}),await n(),L()}catch(e){p(e instanceof Error?e.message:"Failed to add remote")}},q=async r=>{try{await rx.api.removeProjectRemote(e.id,r),await n()}catch(e){p(e instanceof Error?e.message:"Failed to remove remote")}},V=c.trim().length>0,Y=async()=>{if(!a.trim())return void p("Project name is required");if(!V&&0===i.length)return void p("Project must have at least a local folder or remote server");h(!0),p("");try{let s={};a.trim()!==e.name&&(s.name=a.trim());let i=V?c.trim():null;i!==(e.path??null)&&(s.path=i);let n=oZ(m),o=e.sync_up_config;JSON.stringify(n)!==JSON.stringify(o)&&(s.syncUpConfig=n);let l=oZ(x),d=e.sync_down_config;JSON.stringify(l)!==JSON.stringify(d)&&(s.syncDownConfig=l),await r(e.id,s)}catch(e){p(e instanceof Error?e.message:"Failed to update project")}finally{h(!1)}};return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(r3,{defaultValue:"settings",children:[(0,z.jsxs)(ss,{className:"w-full",children:[(0,z.jsx)(si,{value:"settings",className:"flex-1",children:"Project Settings"}),(0,z.jsx)(si,{value:"sync-up",className:"flex-1",children:"Sync Up"}),(0,z.jsx)(si,{value:"sync-down",className:"flex-1",children:"Sync Down"})]}),(0,z.jsx)(sn,{value:"settings",children:(0,z.jsxs)("div",{className:"space-y-5 py-2",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Project Name"}),(0,z.jsx)(ro,{value:a,onChange:e=>l(e.target.value),placeholder:"My Project"})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Local Folder"}),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsx)(ro,{value:c,onChange:e=>d(e.target.value),placeholder:"/path/to/project (optional)",className:"flex-1"}),(0,z.jsx)(W.Button,{variant:"outline",onClick:I,children:(0,z.jsx)(rv,{className:"h-4 w-4"})})]})]}),(0,z.jsxs)("div",{className:"space-y-3",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Remote Servers"}),i.length>0&&(0,z.jsx)("div",{className:"space-y-2",children:i.map(e=>(0,z.jsxs)("div",{className:"flex items-center gap-2 rounded-md border p-2 text-sm",children:[(0,z.jsx)(r_,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,z.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,z.jsx)("p",{className:"font-medium truncate",children:e.server_name}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground font-mono truncate",children:e.remote_path})]}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon-sm",className:"h-7 w-7 shrink-0",onClick:()=>q(e.id),children:(0,z.jsx)(rl,{className:"h-3.5 w-3.5 text-muted-foreground"})})]},e.id))}),"closed"===_&&(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:O,className:"w-full",children:[(0,z.jsx)(eS,{className:"h-4 w-4 mr-1"}),"Add Remote"]}),"pick-server"===_&&(0,z.jsxs)("div",{className:"rounded-md border p-3 space-y-3",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsx)("label",{className:"text-xs font-medium",children:"Select a Remote Server"}),(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:L,children:(0,z.jsx)(t8,{className:"h-3.5 w-3.5"})})]}),b.length>0&&(0,z.jsx)("div",{className:"space-y-1",children:b.map(e=>(0,z.jsxs)("button",{className:"flex items-center gap-2 w-full rounded-md p-2 text-sm text-left hover:bg-muted",onClick:()=>{C(e),k(""),y("pick-path")},children:[(0,z.jsx)(oc,{className:"h-4 w-4 text-muted-foreground"}),(0,z.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,z.jsx)("p",{className:"truncate",children:e.name}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:e.url})]})]},e.id))}),(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:()=>{y("new-server"),D(""),R(""),F(""),T("idle"),B("")},className:"w-full",children:[(0,z.jsx)(eS,{className:"h-4 w-4 mr-1"}),"New Server"]})]}),"new-server"===_&&(0,z.jsxs)("div",{className:"rounded-md border p-3 space-y-3",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsx)("label",{className:"text-xs font-medium",children:"Create New Server"}),(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:L,children:(0,z.jsx)(t8,{className:"h-3.5 w-3.5"})})]}),(0,z.jsx)(ro,{value:N,onChange:e=>D(e.target.value),placeholder:"Server name"}),(0,z.jsx)(ro,{value:E,onChange:e=>{R(e.target.value),T("idle")},placeholder:"http://remote-server:5173"}),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsx)(ro,{type:"password",value:A,onChange:e=>{F(e.target.value),T("idle")},placeholder:"API key",className:"flex-1"}),(0,z.jsx)(W.Button,{variant:"outline",size:"sm",onClick:H,disabled:"testing"===M||!E||!A,children:"testing"===M?(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin"}):"success"===M?(0,z.jsx)(rh.Check,{className:"h-4 w-4 text-green-500"}):"error"===M?(0,z.jsx)(t8,{className:"h-4 w-4 text-red-500"}):"Test"})]}),P&&(0,z.jsx)("p",{className:"text-xs text-red-500",children:P}),"success"===M&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("p",{className:"text-xs text-green-500",children:"Connection successful"}),(0,z.jsx)(W.Button,{size:"sm",onClick:U,disabled:!N.trim(),children:"Create & Continue"})]})]}),"pick-path"===_&&S&&(0,z.jsxs)("div",{className:"rounded-md border p-3 space-y-3",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsxs)("label",{className:"text-xs font-medium",children:["Select Directory on ",S.name]}),(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:L,children:(0,z.jsx)(t8,{className:"h-3.5 w-3.5"})})]}),(0,z.jsx)(oG,{serverId:S.id,onSelect:e=>{k(e)},selectedPath:j}),j&&(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Selected:"," ",(0,z.jsx)("span",{className:"font-mono",children:j})]}),(0,z.jsx)(W.Button,{size:"sm",onClick:K,children:"Add"})]})]})]})]})}),(0,z.jsx)(sn,{value:"sync-up",children:(0,z.jsx)(o0,{config:m,onChange:g,label:"Sync Up Button",targets:o})}),(0,z.jsx)(sn,{value:"sync-down",children:(0,z.jsx)(o0,{config:x,onChange:v,label:"Sync Down Button",targets:o})})]}),f&&(0,z.jsx)("p",{className:"text-sm text-red-500",children:f}),(0,z.jsxs)("div",{className:"flex justify-end gap-2 pt-2",children:[s&&(0,z.jsx)(W.Button,{variant:"outline",onClick:s,children:"Cancel"}),(0,z.jsx)(W.Button,{onClick:Y,disabled:u,children:u?"Saving...":"Save Changes"})]})]})}var o2=Symbol.for("react.lazy"),o5=$[" use ".trim().toString()];function o3(e){var r;return null!=e&&"object"==typeof e&&"$$typeof"in e&&e.$$typeof===o2&&"_payload"in e&&"object"==typeof(r=e._payload)&&null!==r&&"then"in r}function o4(e){var r;let s,i=(r=e,(s=$.forwardRef((e,r)=>{let{children:s,...i}=e;if(o3(s)&&"function"==typeof o5&&(s=o5(s._payload)),$.isValidElement(s)){var n;let e,o,a=(n=s,(o=(e=Object.getOwnPropertyDescriptor(n.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.ref:(o=(e=Object.getOwnPropertyDescriptor(n,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?n.props.ref:n.props.ref||n.ref),l=function(e,r){let s={...r};for(let i in r){let n=e[i],o=r[i];/^on[A-Z]/.test(i)?n&&o?s[i]=(...e)=>{let r=o(...e);return n(...e),r}:n&&(s[i]=n):"style"===i?s[i]={...n,...o}:"className"===i&&(s[i]=[n,o].filter(Boolean).join(" "))}return{...e,...s}}(i,s.props);return s.type!==$.Fragment&&(l.ref=r?(0,U.composeRefs)(r,a):a),$.cloneElement(s,l)}return $.Children.count(s)>1?$.Children.only(null):null})).displayName=`${r}.SlotClone`,s),n=$.forwardRef((e,r)=>{let{children:s,...n}=e;o3(s)&&"function"==typeof o5&&(s=o5(s._payload));let o=$.Children.toArray(s),a=o.find(o7);if(a){let e=a.props.children,s=o.map(r=>r!==a?r:$.Children.count(e)>1?$.Children.only(null):$.isValidElement(e)?e.props.children:null);return(0,z.jsx)(i,{...n,ref:r,children:$.isValidElement(e)?$.cloneElement(e,void 0,s):null})}return(0,z.jsx)(i,{...n,ref:r,children:s})});return n.displayName=`${e}.Slot`,n}var o6=o4("Slot"),o8=Symbol("radix.slottable");function o7(e){return $.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===o8}var o9=e.i(294237);let ae=(0,o9.cva)("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});function at({className:e,variant:r,asChild:s=!1,...i}){return(0,z.jsx)(s?o6:"span",{"data-slot":"badge",className:(0,ey.cn)(ae({variant:r}),e),...i})}let ar={todo:{label:"To Do",color:"bg-muted text-muted-foreground"},in_progress:{label:"In Progress",color:"bg-blue-100 text-blue-800 dark:bg-blue-900/40 dark:text-blue-300"},done:{label:"Done",color:"bg-green-100 text-green-800 dark:bg-green-900/40 dark:text-green-300"},cancelled:{label:"Cancelled",color:"bg-neutral-100 text-neutral-500 dark:bg-neutral-800 dark:text-neutral-400 line-through"}},as={low:{label:"Low",color:"bg-muted text-muted-foreground"},medium:{label:"Medium",color:"bg-yellow-100 text-yellow-800 dark:bg-yellow-900/40 dark:text-yellow-300"},high:{label:"High",color:"bg-orange-100 text-orange-800 dark:bg-orange-900/40 dark:text-orange-300"},urgent:{label:"Urgent",color:"bg-red-100 text-red-800 dark:bg-red-900/40 dark:text-red-300"}},ai=["todo","in_progress","done","cancelled"],an=["low","medium","high","urgent"];function ao({task:e,open:r,onOpenChange:s}){return e?(0,z.jsx)(t7,{open:r,onOpenChange:s,children:(0,z.jsxs)(rt,{className:"sm:max-w-lg",children:[(0,z.jsx)(rr,{children:(0,z.jsx)(ri,{className:"text-base leading-snug",children:e.title})}),(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsx)(at,{variant:"outline",className:`text-xs ${ar[e.status].color}`,children:ar[e.status].label}),(0,z.jsx)(at,{variant:"outline",className:`text-xs ${as[e.priority].color}`,children:as[e.priority].label})]}),e.description&&(0,z.jsx)("p",{className:"text-sm text-foreground whitespace-pre-wrap",children:e.description}),(0,z.jsxs)("div",{className:"flex gap-4 text-xs text-muted-foreground pt-2 border-t",children:[(0,z.jsxs)("span",{children:["Created: ",new Date(e.created_at).toLocaleString()]}),(0,z.jsxs)("span",{children:["Updated: ",new Date(e.updated_at).toLocaleString()]})]})]})]})}):null}function aa({project:e}){let r=!!e.path,s=e.is_remote||!!e.remote_path;return r&&s?(0,z.jsx)("span",{className:"inline-flex items-center rounded-full bg-purple-500/10 px-2.5 py-0.5 text-xs font-medium text-purple-600",children:"Local + Remote"}):s?(0,z.jsx)("span",{className:"inline-flex items-center rounded-full bg-blue-500/10 px-2.5 py-0.5 text-xs font-medium text-blue-600",children:"Remote"}):(0,z.jsx)("span",{className:"inline-flex items-center rounded-full bg-muted px-2.5 py-0.5 text-xs font-medium text-muted-foreground",children:"Local"})}function al({status:e}){switch(e){case"done":return(0,z.jsx)(rS,{className:"h-3.5 w-3.5 shrink-0 text-green-600"});case"in_progress":return(0,z.jsx)(rj,{className:"h-3.5 w-3.5 shrink-0 text-blue-600"});case"cancelled":return(0,z.jsx)(rC,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground/60"});default:return(0,z.jsx)(rw,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"})}}function ac({priority:e}){return"urgent"===e?(0,z.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-red-500 shrink-0"}):"high"===e?(0,z.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-orange-500 shrink-0"}):null}function ad({status:e}){return(0,z.jsx)("span",{className:`inline-block h-2 w-2 rounded-full shrink-0 ${"working"===e?"bg-blue-500":"completed"===e?"bg-green-500":"stopped"===e?"bg-amber-500":"bg-muted-foreground/40"}`})}let au={in_progress:0,todo:1,done:2,cancelled:3},ah={urgent:0,high:1,medium:2,low:3};function af({project:e,tasks:r,worktrees:s,selectedBranch:i,workspaceStatuses:n,onSelectBranch:o,onProjectUpdated:a}){let{remotes:l}=sl(e.id),[c,d]=(0,$.useState)(null),[u,h]=(0,$.useState)(!1),f=(0,$.useMemo)(()=>r.filter(e=>null===e.archived_at),[r]),p=(0,$.useMemo)(()=>[...f].sort((e,r)=>{let s=au[e.status]-au[r.status];if(0!==s)return s;let i=ah[e.priority]-ah[r.priority];return 0!==i?i:r.updated_at.localeCompare(e.updated_at)}),[f]).slice(0,5);return(0,z.jsxs)("div",{className:"h-full flex flex-col p-6 overflow-hidden",children:[(0,z.jsxs)(r3,{defaultValue:"home",className:"w-full max-w-4xl mx-auto flex flex-col flex-1 min-h-0",children:[(0,z.jsxs)(ss,{children:[(0,z.jsx)(si,{value:"home",children:"Home"}),(0,z.jsx)(si,{value:"settings",children:"Settings"})]}),(0,z.jsxs)(sn,{value:"home",className:"flex-1 overflow-auto mt-4 space-y-4",children:[(0,z.jsxs)(rk,{children:[(0,z.jsx)(rN,{children:(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsx)(rD,{className:"text-lg",children:e.name}),(0,z.jsx)(aa,{project:e})]})}),(0,z.jsxs)(rE,{className:"space-y-3",children:[e.path&&(0,z.jsxs)("div",{className:"flex items-start gap-3 text-sm",children:[(0,z.jsx)(rv,{className:"h-4 w-4 mt-0.5 shrink-0 text-muted-foreground"}),(0,z.jsx)("span",{className:"text-muted-foreground break-all",children:e.path})]}),l.map(e=>(0,z.jsxs)("div",{className:"flex items-start gap-3 text-sm",children:[(0,z.jsx)(r_,{className:"h-4 w-4 mt-0.5 shrink-0 text-muted-foreground"}),(0,z.jsxs)("div",{className:"min-w-0",children:[(0,z.jsx)("span",{className:"text-muted-foreground break-all",children:e.server_name}),e.server_url&&(0,z.jsx)("span",{className:"block text-xs text-muted-foreground/70 break-all",children:e.server_url})]})]},e.id)),(0,z.jsxs)("div",{className:"flex items-center gap-3 text-sm",children:[(0,z.jsx)(ry,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,z.jsxs)("span",{className:"text-muted-foreground",children:["Created ",new Date(e.created_at).toLocaleDateString()]})]})]})]}),(0,z.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:[(0,z.jsxs)(rk,{children:[(0,z.jsx)(rN,{children:(0,z.jsxs)(rD,{className:"text-sm flex items-center justify-between",children:[(0,z.jsx)("span",{children:"Tasks"}),(0,z.jsx)("span",{className:"text-xs font-normal text-muted-foreground",children:f.length})]})}),(0,z.jsxs)(rE,{children:[0===p.length?(0,z.jsx)("p",{className:"text-sm text-muted-foreground",children:"No tasks yet"}):(0,z.jsx)("ul",{className:"space-y-2",children:p.map(e=>{let r="done"===e.status||"cancelled"===e.status;return(0,z.jsx)("li",{children:(0,z.jsxs)("button",{type:"button",onClick:()=>{d(e),h(!0)},className:"flex w-full items-center gap-2 text-sm rounded-md px-2 py-1 -mx-2 hover:bg-muted/60 transition-colors text-left",children:[(0,z.jsx)(al,{status:e.status}),(0,z.jsx)("span",{className:`flex-1 truncate ${r?"text-muted-foreground line-through":""}`,children:e.title}),(0,z.jsx)(ac,{priority:e.priority})]})},e.id)})}),f.length>p.length&&(0,z.jsxs)("p",{className:"text-xs text-muted-foreground mt-3",children:["+",f.length-p.length," more"]})]})]}),(0,z.jsxs)(rk,{children:[(0,z.jsx)(rN,{children:(0,z.jsxs)(rD,{className:"text-sm flex items-center justify-between",children:[(0,z.jsx)("span",{children:"Workspaces"}),(0,z.jsx)("span",{className:"text-xs font-normal text-muted-foreground",children:s.length})]})}),(0,z.jsx)(rE,{children:0===s.length?(0,z.jsx)("p",{className:"text-sm text-muted-foreground",children:"No workspaces"}):(0,z.jsx)("ul",{className:"space-y-2",children:s.map(e=>{let r=sd(e.branch),s=i===e.branch;return(0,z.jsx)("li",{children:(0,z.jsxs)("button",{type:"button",onClick:()=>o(e.branch),className:"flex w-full items-center gap-2 text-sm rounded-md px-2 py-1 -mx-2 hover:bg-muted/60 transition-colors text-left",children:[(0,z.jsx)(ad,{status:n.get(r)}),(0,z.jsx)(rb,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,z.jsx)("span",{className:`flex-1 truncate ${s?"font-medium text-foreground":"text-muted-foreground"}`,children:e.branch??"(main)"})]})},r)})})})]})]})]}),(0,z.jsx)(sn,{value:"settings",className:"flex-1 overflow-auto",children:(0,z.jsx)(o1,{project:e,onSave:a})})]}),(0,z.jsx)(ao,{task:c,open:u,onOpenChange:h})]})}var ap=e.i(112683);let am=(0,ew.default)("calendar-clock",[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v4",key:"4m81vk"}],["path",{d:"M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5",key:"1osxxc"}],["path",{d:"M3 10h5",key:"r794hk"}],["path",{d:"M8 2v4",key:"1cmpym"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]),ag=(0,ew.default)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),ax=(0,ew.default)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),av=(0,ew.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var a_=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),ay=$.forwardRef((e,r)=>(0,z.jsx)(er.span,{...e,ref:r,style:{...a_,...e.style}}));ay.displayName="VisuallyHidden";var[ab,aw]=K("Tooltip",[iR]),aS=iR(),aC="TooltipProvider",aj="tooltip.open",[ak,aN]=ab(aC),aD=e=>{let{__scopeTooltip:r,delayDuration:s=700,skipDelayDuration:i=300,disableHoverableContent:n=!1,children:o}=e,a=$.useRef(!0),l=$.useRef(!1),c=$.useRef(0);return $.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,z.jsx)(ak,{scope:r,isOpenDelayedRef:a,delayDuration:s,onOpen:$.useCallback(()=>{window.clearTimeout(c.current),a.current=!1},[]),onClose:$.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>a.current=!0,i)},[i]),isPointerInTransitRef:l,onPointerInTransitChange:$.useCallback(e=>{l.current=e},[]),disableHoverableContent:n,children:o})};aD.displayName=aC;var aE="Tooltip",[aR,aA]=ab(aE),aF=e=>{let{__scopeTooltip:r,children:s,open:i,defaultOpen:n,onOpenChange:o,disableHoverableContent:a,delayDuration:l}=e,c=aN(aE,e.__scopeTooltip),d=aS(r),[u,h]=$.useState(null),f=ek(),p=$.useRef(0),m=a??c.disableHoverableContent,g=l??c.delayDuration,x=$.useRef(!1),[v,_]=G({prop:i,defaultProp:n??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(aj))):c.onClose(),o?.(e)},caller:aE}),y=$.useMemo(()=>v?x.current?"delayed-open":"instant-open":"closed",[v]),b=$.useCallback(()=>{window.clearTimeout(p.current),p.current=0,x.current=!1,_(!0)},[_]),w=$.useCallback(()=>{window.clearTimeout(p.current),p.current=0,_(!1)},[_]),S=$.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{x.current=!0,_(!0),p.current=0},g)},[g,_]);return $.useEffect(()=>()=>{p.current&&(window.clearTimeout(p.current),p.current=0)},[]),(0,z.jsx)(iM,{...d,children:(0,z.jsx)(aR,{scope:r,contentId:f,open:v,stateAttribute:y,trigger:u,onTriggerChange:h,onTriggerEnter:$.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:$.useCallback(()=>{m?w():(window.clearTimeout(p.current),p.current=0)},[w,m]),onOpen:b,onClose:w,disableHoverableContent:m,children:s})})};aF.displayName=aE;var aM="TooltipTrigger",aT=$.forwardRef((e,r)=>{let{__scopeTooltip:s,...i}=e,n=aA(aM,s),o=aN(aM,s),a=aS(s),l=$.useRef(null),c=(0,U.useComposedRefs)(r,l,n.onTriggerChange),d=$.useRef(!1),u=$.useRef(!1),h=$.useCallback(()=>d.current=!1,[]);return $.useEffect(()=>()=>document.removeEventListener("pointerup",h),[h]),(0,z.jsx)(iP,{asChild:!0,...a,children:(0,z.jsx)(er.button,{"aria-describedby":n.open?n.contentId:void 0,"data-state":n.stateAttribute,...i,ref:c,onPointerMove:q(e.onPointerMove,e=>{"touch"!==e.pointerType&&(u.current||o.isPointerInTransitRef.current||(n.onTriggerEnter(),u.current=!0))}),onPointerLeave:q(e.onPointerLeave,()=>{n.onTriggerLeave(),u.current=!1}),onPointerDown:q(e.onPointerDown,()=>{n.open&&n.onClose(),d.current=!0,document.addEventListener("pointerup",h,{once:!0})}),onFocus:q(e.onFocus,()=>{d.current||n.onOpen()}),onBlur:q(e.onBlur,n.onClose),onClick:q(e.onClick,n.onClose)})})});aT.displayName=aM;var aP="TooltipPortal",[aB,aL]=ab(aP,{forceMount:void 0}),aI=e=>{let{__scopeTooltip:r,forceMount:s,children:i,container:n}=e,o=aA(aP,r);return(0,z.jsx)(aB,{scope:r,forceMount:s,children:(0,z.jsx)(Z,{present:s||o.open,children:(0,z.jsx)(eW,{asChild:!0,container:n,children:i})})})};aI.displayName=aP;var aO="TooltipContent",az=$.forwardRef((e,r)=>{let s=aL(aO,e.__scopeTooltip),{forceMount:i=s.forceMount,side:n="top",...o}=e,a=aA(aO,e.__scopeTooltip);return(0,z.jsx)(Z,{present:i||a.open,children:a.disableHoverableContent?(0,z.jsx)(aK,{side:n,...o,ref:r}):(0,z.jsx)(a$,{side:n,...o,ref:r})})}),a$=$.forwardRef((e,r)=>{let s=aA(aO,e.__scopeTooltip),i=aN(aO,e.__scopeTooltip),n=$.useRef(null),o=(0,U.useComposedRefs)(r,n),[a,l]=$.useState(null),{trigger:c,onClose:d}=s,u=n.current,{onPointerInTransitChange:h}=i,f=$.useCallback(()=>{l(null),h(!1)},[h]),p=$.useCallback((e,r)=>{let s,i=e.currentTarget,n={x:e.clientX,y:e.clientY},o=function(e,r){let s=Math.abs(r.top-e.y),i=Math.abs(r.bottom-e.y),n=Math.abs(r.right-e.x),o=Math.abs(r.left-e.x);switch(Math.min(s,i,n,o)){case o:return"left";case n:return"right";case s:return"top";case i:return"bottom";default:throw Error("unreachable")}}(n,i.getBoundingClientRect());l(((s=[...function(e,r,s=5){let i=[];switch(r){case"top":i.push({x:e.x-s,y:e.y+s},{x:e.x+s,y:e.y+s});break;case"bottom":i.push({x:e.x-s,y:e.y-s},{x:e.x+s,y:e.y-s});break;case"left":i.push({x:e.x+s,y:e.y-s},{x:e.x+s,y:e.y+s});break;case"right":i.push({x:e.x-s,y:e.y-s},{x:e.x-s,y:e.y+s})}return i}(n,o),...function(e){let{top:r,right:s,bottom:i,left:n}=e;return[{x:n,y:r},{x:s,y:r},{x:s,y:i},{x:n,y:i}]}(r.getBoundingClientRect())].slice()).sort((e,r)=>e.x<r.x?-1:e.x>r.x?1:e.y<r.y?-1:1*!!(e.y>r.y)),function(e){if(e.length<=1)return e.slice();let r=[];for(let s=0;s<e.length;s++){let i=e[s];for(;r.length>=2;){let e=r[r.length-1],s=r[r.length-2];if((e.x-s.x)*(i.y-s.y)>=(e.y-s.y)*(i.x-s.x))r.pop();else break}r.push(i)}r.pop();let s=[];for(let r=e.length-1;r>=0;r--){let i=e[r];for(;s.length>=2;){let e=s[s.length-1],r=s[s.length-2];if((e.x-r.x)*(i.y-r.y)>=(e.y-r.y)*(i.x-r.x))s.pop();else break}s.push(i)}return(s.pop(),1===r.length&&1===s.length&&r[0].x===s[0].x&&r[0].y===s[0].y)?r:r.concat(s)}(s))),h(!0)},[h]);return $.useEffect(()=>()=>f(),[f]),$.useEffect(()=>{if(c&&u){let e=e=>p(e,u),r=e=>p(e,c);return c.addEventListener("pointerleave",e),u.addEventListener("pointerleave",r),()=>{c.removeEventListener("pointerleave",e),u.removeEventListener("pointerleave",r)}}},[c,u,p,f]),$.useEffect(()=>{if(a){let e=e=>{let r=e.target,s={x:e.clientX,y:e.clientY},i=c?.contains(r)||u?.contains(r),n=!function(e,r){let{x:s,y:i}=e,n=!1;for(let e=0,o=r.length-1;e<r.length;o=e++){let a=r[e],l=r[o],c=a.x,d=a.y,u=l.x,h=l.y;d>i!=h>i&&s<(u-c)*(i-d)/(h-d)+c&&(n=!n)}return n}(s,a);i?f():n&&(f(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,u,a,d,f]),(0,z.jsx)(aK,{...e,ref:o})}),[aW,aH]=ab(aE,{isInside:!1}),aU=(0,et.createSlottable)("TooltipContent"),aK=$.forwardRef((e,r)=>{let{__scopeTooltip:s,children:i,"aria-label":n,onEscapeKeyDown:o,onPointerDownOutside:a,...l}=e,c=aA(aO,s),d=aS(s),{onClose:u}=c;return $.useEffect(()=>(document.addEventListener(aj,u),()=>document.removeEventListener(aj,u)),[u]),$.useEffect(()=>{if(c.trigger){let e=e=>{let r=e.target;r?.contains(c.trigger)&&u()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[c.trigger,u]),(0,z.jsx)(eR,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,z.jsxs)(iO,{"data-state":c.stateAttribute,...d,...l,ref:r,style:{...l.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,z.jsx)(aU,{children:i}),(0,z.jsx)(aW,{scope:s,isInside:!0,children:(0,z.jsx)(ay,{id:c.contentId,role:"tooltip",children:n||i})})]})})});az.displayName=aO;var aq="TooltipArrow",aV=$.forwardRef((e,r)=>{let{__scopeTooltip:s,...i}=e,n=aS(s);return aH(aq,s).isInside?null:(0,z.jsx)(iW,{...n,...i,ref:r})});aV.displayName=aq,e.s(["Arrow",()=>aV,"Content",()=>az,"Portal",()=>aI,"Provider",()=>aD,"Root",()=>aF,"Tooltip",()=>aF,"TooltipArrow",()=>aV,"TooltipContent",()=>az,"TooltipPortal",()=>aI,"TooltipProvider",()=>aD,"TooltipTrigger",()=>aT,"Trigger",()=>aT,"createTooltipScope",()=>aw],517964);var aY=e.i(517964),aY=aY;function aG({delayDuration:e=0,...r}){return(0,z.jsx)(aY.Provider,{"data-slot":"tooltip-provider",delayDuration:e,...r})}function aX({...e}){return(0,z.jsx)(aY.Root,{"data-slot":"tooltip",...e})}function aJ({...e}){return(0,z.jsx)(aY.Trigger,{"data-slot":"tooltip-trigger",...e})}function aZ({className:e,sideOffset:r=0,children:s,...i}){return(0,z.jsx)(aY.Portal,{children:(0,z.jsxs)(aY.Content,{"data-slot":"tooltip-content",sideOffset:r,className:(0,ey.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...i,children:[s,(0,z.jsx)(aY.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}function aQ({status:e}){let r="relative h-[7px] w-[7px] rounded-full shrink-0";return e&&"idle"!==e?"working"===e?(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-blue-500"),children:(0,z.jsx)("span",{className:"absolute inset-[-2px] rounded-full bg-blue-500",style:{animation:"status-dot-pulse 1.6s ease-out infinite",opacity:.5}})}):"main-running"===e?(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-violet-500"),children:(0,z.jsx)("span",{className:"absolute inset-[-2px] rounded-full bg-violet-500",style:{animation:"status-dot-pulse 1.6s ease-out infinite",opacity:.5}})}):"main-completed"===e?(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-emerald-500")}):"stopped"===e?(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-amber-500")}):(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-lime-400")}):(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-muted-foreground/40")})}function a0({status:e}){let r="relative h-[7px] w-[7px] rounded-full shrink-0";return"running"===e?(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-blue-500"),children:(0,z.jsx)("span",{className:"absolute inset-[-2px] rounded-full bg-blue-500",style:{animation:"status-dot-pulse 1.6s ease-out infinite",opacity:.5}})}):"error"===e?(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-red-500")}):(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-lime-400")})}function a1({schedule:e}){let r="relative h-[7px] w-[7px] rounded-full shrink-0";if(e.running)return(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-blue-500"),children:(0,z.jsx)("span",{className:"absolute inset-[-2px] rounded-full bg-blue-500",style:{animation:"status-dot-pulse 1.6s ease-out infinite",opacity:.5}})});let s=e.last_run;return s&&"skipped"!==s.status?"completed"===s.status?(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-emerald-500")}):"failed"===s.status||"timeout"===s.status||"killed"===s.status?(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-red-500")}):(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-blue-500")}):(0,z.jsx)("span",{className:(0,ey.cn)(r,"bg-muted-foreground/40")})}function a2({project:e}){let r=!!e.path,s=e.is_remote||!!e.remote_path,i="h-[7px] w-[7px] rounded-full shrink-0";return r&&s?(0,z.jsx)("span",{className:(0,ey.cn)(i,"bg-purple-500")}):s?(0,z.jsx)("span",{className:(0,ey.cn)(i,"bg-blue-500")}):(0,z.jsx)("span",{className:(0,ey.cn)(i,"bg-muted-foreground/40")})}function a5({children:e,className:r}){return(0,z.jsx)("div",{className:(0,ey.cn)("px-2 pt-2.5 pb-1.5 border-t border-border/50 first:border-t-0",r),children:e})}function a3({children:e,action:r}){return(0,z.jsxs)("div",{className:"flex items-center justify-between px-2 py-1 text-[10px] font-semibold uppercase tracking-[0.06em] text-muted-foreground/80",children:[(0,z.jsx)("span",{children:e}),r]})}function a4({icon:e,label:r,active:s,disabled:i,onClick:n}){return(0,z.jsxs)("button",{onClick:n,disabled:i,className:(0,ey.cn)("relative w-full flex items-center gap-[9px] rounded-md px-2 py-[5px] text-[12.5px] font-normal transition-colors",i&&"text-muted-foreground/40 cursor-not-allowed",!i&&!s&&"text-foreground/75 hover:bg-muted hover:text-foreground",s&&"bg-card text-foreground font-medium shadow-sm"),children:[s&&(0,z.jsx)("span",{className:"absolute -left-2 top-1.5 bottom-1.5 w-[2px] rounded-full bg-primary"}),(0,z.jsx)("span",{className:(0,ey.cn)("shrink-0 flex items-center justify-center",s?"text-foreground":"text-muted-foreground"),children:e}),(0,z.jsx)("span",{className:"truncate text-left",children:r})]})}function a6({activeView:e,onViewChange:r,worktrees:s,selectedBranch:i,onBranchChange:n,currentProject:o,onCreateWorktreeOpen:a,onDeleteWorktree:l,workspaceStatuses:c,residentSessions:d,selectedSessionId:u,onResidentSessionSelect:h,hasProject:f=!0,projects:p,onSelectProject:m,onCreateProjectOpen:g,schedules:x,selectedScheduleId:v,onScheduleSelect:_,onCreateScheduleOpen:y}){return(0,z.jsxs)("nav",{className:"w-[220px] border-r border-border bg-sidebar flex flex-col overflow-hidden",children:[(0,z.jsxs)(a5,{children:[(0,z.jsx)(a3,{action:(0,z.jsx)("button",{onClick:g,className:"p-0.5 rounded hover:bg-muted hover:text-foreground transition-colors text-muted-foreground",title:"Create new project",children:(0,z.jsx)(eS,{className:"h-3 w-3"})}),children:"Projects"}),p&&p.length>0?(0,z.jsx)(aG,{delayDuration:300,children:(0,z.jsx)("div",{className:"flex flex-col gap-0.5 max-h-40 overflow-y-auto mt-0.5",children:p.map(s=>{let i=o?.id===s.id,n=i&&"project-info"===e;return(0,z.jsxs)(aX,{children:[(0,z.jsx)(aJ,{asChild:!0,children:(0,z.jsxs)("button",{onClick:()=>{m?.(s),r("project-info")},className:(0,ey.cn)("relative w-full flex items-center gap-[9px] rounded-md px-2 py-[5px] text-[12.5px] transition-colors min-w-0",!n&&"text-foreground/75 hover:bg-muted hover:text-foreground",n&&"bg-card text-foreground font-medium shadow-sm",i&&!n&&"text-foreground font-medium"),children:[n&&(0,z.jsx)("span",{className:"absolute -left-2 top-1.5 bottom-1.5 w-[2px] rounded-full bg-primary"}),(0,z.jsx)(a2,{project:s}),(0,z.jsx)("span",{className:"truncate flex-1 text-left",children:s.name}),i&&(0,z.jsx)(rv,{className:"h-3 w-3 shrink-0 text-muted-foreground ml-auto"})]})}),(0,z.jsx)(aZ,{side:"right",children:s.name})]},s.id)})})}):(0,z.jsx)("span",{className:"block px-2 mt-1 text-[11.5px] text-muted-foreground/60",children:"No projects yet"})]}),(0,z.jsxs)(a5,{children:[(0,z.jsx)(a3,{children:"Navigation"}),(0,z.jsx)("div",{className:"flex flex-col gap-0.5 mt-0.5",children:(0,z.jsx)(a4,{icon:(0,z.jsx)(ax,{className:"h-3.5 w-3.5"}),label:"Tasks",active:"tasks"===e&&f,disabled:!f,onClick:()=>{f&&(n?.(null),r("tasks"))}})})]}),(0,z.jsxs)(a5,{children:[(0,z.jsx)(a3,{action:o?(0,z.jsx)("button",{onClick:y,className:"p-0.5 rounded hover:bg-muted hover:text-foreground transition-colors text-muted-foreground",title:"Create scheduled task",children:(0,z.jsx)(eS,{className:"h-3 w-3"})}):void 0,children:"Schedule"}),o&&x&&x.length>0&&(0,z.jsx)("div",{className:"flex flex-col gap-px",children:x.map(r=>{let s="schedules"===e&&v===r.id;return(0,z.jsxs)("button",{onClick:()=>_?.(r.id),className:(0,ey.cn)("w-full min-w-0 flex items-center gap-2 rounded-[5px] px-2 py-1 text-[11.5px] transition-colors overflow-hidden",!s&&"text-foreground/80 hover:bg-muted",s&&"bg-accent text-accent-foreground font-medium",!r.enabled&&"opacity-50"),children:[(0,z.jsx)(a1,{schedule:r}),(0,z.jsx)("span",{className:"truncate text-left flex-1",children:r.name}),"local"!==r.target&&(0,z.jsx)(r_,{className:"h-2.5 w-2.5 shrink-0 text-violet-500","aria-label":"remote"})]},r.id)})}),o&&x&&0===x.length&&(0,z.jsx)("span",{className:"block px-2 mt-1 text-[11.5px] text-muted-foreground/60",children:"No scheduled tasks"})]}),(0,z.jsxs)(a5,{className:"flex-1 overflow-y-auto",children:[(0,z.jsx)(a3,{action:o?(0,z.jsx)("button",{onClick:a,className:"p-0.5 rounded hover:bg-muted hover:text-foreground transition-colors text-muted-foreground",title:"Create new worktree",children:(0,z.jsx)(eS,{className:"h-3 w-3"})}):void 0,children:"Workspace"}),o&&s&&s.length>0&&(0,z.jsx)(z.Fragment,{children:(0,z.jsx)(aG,{delayDuration:300,children:(0,z.jsx)("div",{className:"flex flex-col gap-px",children:s.map(s=>{var o;let a="workspace"===e&&i===s.branch,f=null===s.branch?"":s.branch,p=d?.get(f)??[],m=(o=c?.get(f),p.length>0&&"main-running"!==o&&"main-completed"!==o?"idle":o);return(0,z.jsxs)("div",{className:(0,ey.cn)("min-w-0 rounded-[3px]",a&&"bg-accent"),children:[(0,z.jsxs)("div",{className:"group relative flex items-center min-w-0",children:[(0,z.jsxs)(aX,{children:[(0,z.jsx)(aJ,{asChild:!0,children:(0,z.jsxs)("button",{onClick:()=>{n?.(s.branch),r("workspace")},className:(0,ey.cn)("flex-1 min-w-0 flex items-center gap-2 rounded-[3px] pl-2 pr-6 py-1 font-mono text-[11.5px] transition-colors overflow-hidden",!a&&"text-foreground/80 hover:bg-muted",a&&"text-accent-foreground font-medium"),children:[(0,z.jsx)(aQ,{status:m}),(0,z.jsx)("span",{className:"truncate text-left",children:s.branch??"main"})]})}),(0,z.jsx)(aZ,{side:"right",children:s.branch??"main"})]}),null!==s.branch&&(0,z.jsx)("button",{onClick:e=>{e.stopPropagation(),l?.(s)},className:"absolute right-1 p-0.5 rounded opacity-0 group-hover:opacity-100 hover:bg-destructive/15 hover:text-destructive transition-all",title:"Delete worktree",children:(0,z.jsx)(rl,{className:"h-3 w-3"})})]}),p.length>0&&(0,z.jsx)("div",{className:"ml-4 mt-px flex flex-col gap-px",children:p.map(r=>{let s="workspace"===e&&u===r.id;return(0,z.jsxs)(aX,{children:[(0,z.jsx)(aJ,{asChild:!0,children:(0,z.jsxs)("button",{onClick:()=>h?.(r),className:(0,ey.cn)("min-w-0 flex items-center gap-1.5 rounded-[3px] py-0.5 pl-1.5 pr-2 font-mono text-[11px] transition-colors",!s&&"text-foreground/70 hover:text-foreground",s&&"text-accent-foreground font-medium"),children:[(0,z.jsx)("span",{className:"shrink-0 text-muted-foreground/70",children:"└"}),(0,z.jsx)(a0,{status:r.status}),(0,z.jsx)("span",{className:"truncate text-left",children:r.title})]})}),(0,z.jsx)(aZ,{side:"right",children:r.title})]},r.id)})})]},s.branch??"__main__")})})})}),(!s||0===s.length)&&(0,z.jsx)("div",{className:"mt-0.5",children:(0,z.jsx)(a4,{icon:(0,z.jsx)(ag,{className:"h-3.5 w-3.5"}),label:"Workspace",active:"workspace"===e,onClick:()=>r("workspace")})})]}),(0,z.jsx)(a5,{children:(0,z.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,z.jsx)(a4,{icon:(0,z.jsx)(r_,{className:"h-3.5 w-3.5"}),label:"Remote Servers",active:"remote-servers"===e,onClick:()=>r("remote-servers")}),(0,z.jsx)(a4,{icon:(0,z.jsx)(av,{className:"h-3.5 w-3.5"}),label:"Settings",active:"settings"===e,onClick:()=>r("settings")})]})})]})}function a8({title:e,count:r,description:s,actions:i,className:n}){return(0,z.jsxs)("div",{className:(0,ey.cn)("flex items-center justify-between gap-4 px-5 pt-[14px] pb-3 border-b border-border bg-background flex-shrink-0",n),children:[(0,z.jsxs)("div",{className:"min-w-0",children:[(0,z.jsxs)("h1",{className:"flex items-baseline gap-2.5 m-0 text-[17px] font-semibold tracking-[-0.018em] text-foreground",children:[(0,z.jsx)("span",{className:"truncate",children:e}),void 0!==r&&(0,z.jsx)("span",{className:"font-mono text-[11.5px] font-medium text-muted-foreground/80 tracking-normal",children:r})]}),s&&(0,z.jsx)("p",{className:"text-[11.5px] text-muted-foreground mt-0.5",children:s})]}),i&&(0,z.jsx)("div",{className:"flex items-center gap-2",children:i})]})}function a7({children:e,className:r}){return(0,z.jsx)("div",{className:(0,ey.cn)("flex items-center gap-1.5 px-5 py-2 border-b border-border bg-background flex-shrink-0 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",r),children:e})}function a9({active:e,count:r,onClick:s,children:i}){return(0,z.jsxs)("button",{onClick:s,className:(0,ey.cn)("inline-flex items-center gap-1.5 px-2.5 py-[3px] rounded-full text-[11.5px] font-normal transition-colors whitespace-nowrap flex-shrink-0 border",e?"bg-card text-foreground font-medium border-border shadow-sm":"bg-transparent text-muted-foreground border-transparent hover:bg-muted hover:text-foreground"),children:[i,void 0!==r&&(0,z.jsx)("span",{className:(0,ey.cn)("font-mono text-[10.5px] pl-0.5",e?"text-muted-foreground":"text-muted-foreground/70"),children:r})]})}function le({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,z.jsx)("table",{"data-slot":"table",className:(0,ey.cn)("w-full caption-bottom text-sm",e),...r})})}function lt({className:e,...r}){return(0,z.jsx)("thead",{"data-slot":"table-header",className:(0,ey.cn)("[&_tr]:border-b",e),...r})}function lr({className:e,...r}){return(0,z.jsx)("tbody",{"data-slot":"table-body",className:(0,ey.cn)("[&_tr:last-child]:border-0",e),...r})}function ls({className:e,...r}){return(0,z.jsx)("tr",{"data-slot":"table-row",className:(0,ey.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...r})}function li({className:e,...r}){return(0,z.jsx)("th",{"data-slot":"table-head",className:(0,ey.cn)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...r})}function ln({className:e,...r}){return(0,z.jsx)("td",{"data-slot":"table-cell",className:(0,ey.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...r})}var lo=[" ","Enter","ArrowUp","ArrowDown"],la=[" ","Enter"],ll="Select",[lc,ld,lu]=rR(ll),[lh,lf]=K(ll,[lu,iR]),lp=iR(),[lm,lg]=lh(ll),[lx,lv]=lh(ll),l_=e=>{let{__scopeSelect:r,children:s,open:i,defaultOpen:n,onOpenChange:o,value:a,defaultValue:l,onValueChange:c,dir:d,name:u,autoComplete:h,disabled:f,required:p,form:m}=e,g=lp(r),[x,v]=$.useState(null),[_,y]=$.useState(null),[b,w]=$.useState(!1),S=rP(d),[C,j]=G({prop:i,defaultProp:n??!1,onChange:o,caller:ll}),[k,N]=G({prop:a,defaultProp:l,onChange:c,caller:ll}),D=$.useRef(null),E=!x||m||!!x.closest("form"),[R,A]=$.useState(new Set),F=Array.from(R).map(e=>e.props.value).join(";");return(0,z.jsx)(iM,{...g,children:(0,z.jsxs)(lm,{required:p,scope:r,trigger:x,onTriggerChange:v,valueNode:_,onValueNodeChange:y,valueNodeHasChildren:b,onValueNodeHasChildrenChange:w,contentId:ek(),value:k,onValueChange:N,open:C,onOpenChange:j,dir:S,triggerPointerDownPosRef:D,disabled:f,children:[(0,z.jsx)(lc.Provider,{scope:r,children:(0,z.jsx)(lx,{scope:e.__scopeSelect,onNativeOptionAdd:$.useCallback(e=>{A(r=>new Set(r).add(e))},[]),onNativeOptionRemove:$.useCallback(e=>{A(r=>{let s=new Set(r);return s.delete(e),s})},[]),children:s})}),E?(0,z.jsxs)(l2,{"aria-hidden":!0,required:p,tabIndex:-1,name:u,autoComplete:h,value:k,onChange:e=>N(e.target.value),disabled:f,form:m,children:[void 0===k?(0,z.jsx)("option",{value:""}):null,Array.from(R)]},F):null]})})};l_.displayName=ll;var ly="SelectTrigger",lb=$.forwardRef((e,r)=>{let{__scopeSelect:s,disabled:i=!1,...n}=e,o=lp(s),a=lg(ly,s),l=a.disabled||i,c=(0,U.useComposedRefs)(r,a.onTriggerChange),d=ld(s),u=$.useRef("touch"),[h,f,p]=l3(e=>{let r=d().filter(e=>!e.disabled),s=r.find(e=>e.value===a.value),i=l4(r,e,s);void 0!==i&&a.onValueChange(i.value)}),m=e=>{l||(a.onOpenChange(!0),p()),e&&(a.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,z.jsx)(iP,{asChild:!0,...o,children:(0,z.jsx)(er.button,{type:"button",role:"combobox","aria-controls":a.contentId,"aria-expanded":a.open,"aria-required":a.required,"aria-autocomplete":"none",dir:a.dir,"data-state":a.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":l5(a.value)?"":void 0,...n,ref:c,onClick:q(n.onClick,e=>{e.currentTarget.focus(),"mouse"!==u.current&&m(e)}),onPointerDown:q(n.onPointerDown,e=>{u.current=e.pointerType;let r=e.target;r.hasPointerCapture(e.pointerId)&&r.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(m(e),e.preventDefault())}),onKeyDown:q(n.onKeyDown,e=>{let r=""!==h.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||f(e.key),(!r||" "!==e.key)&&lo.includes(e.key)&&(m(),e.preventDefault())})})})});lb.displayName=ly;var lw="SelectValue",lS=$.forwardRef((e,r)=>{let{__scopeSelect:s,className:i,style:n,children:o,placeholder:a="",...l}=e,c=lg(lw,s),{onValueNodeHasChildrenChange:d}=c,u=void 0!==o,h=(0,U.useComposedRefs)(r,c.onValueNodeChange);return V(()=>{d(u)},[d,u]),(0,z.jsx)(er.span,{...l,ref:h,style:{pointerEvents:"none"},children:l5(c.value)?(0,z.jsx)(z.Fragment,{children:a}):o})});lS.displayName=lw;var lC=$.forwardRef((e,r)=>{let{__scopeSelect:s,children:i,...n}=e;return(0,z.jsx)(er.span,{"aria-hidden":!0,...n,ref:r,children:i||"▼"})});lC.displayName="SelectIcon";var lj=e=>(0,z.jsx)(eW,{asChild:!0,...e});lj.displayName="SelectPortal";var lk="SelectContent",lN=$.forwardRef((e,r)=>{let s=lg(lk,e.__scopeSelect),[i,n]=$.useState();return(V(()=>{n(new DocumentFragment)},[]),s.open)?(0,z.jsx)(lA,{...e,ref:r}):i?ee.createPortal((0,z.jsx)(lD,{scope:e.__scopeSelect,children:(0,z.jsx)(lc.Slot,{scope:e.__scopeSelect,children:(0,z.jsx)("div",{children:e.children})})}),i):null});lN.displayName=lk;var[lD,lE]=lh(lk),lR=(0,et.createSlot)("SelectContent.RemoveScroll"),lA=$.forwardRef((e,r)=>{let{__scopeSelect:s,position:i="item-aligned",onCloseAutoFocus:n,onEscapeKeyDown:o,onPointerDownOutside:a,side:l,sideOffset:c,align:d,alignOffset:u,arrowPadding:h,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:g,avoidCollisions:x,...v}=e,_=lg(lk,s),[y,b]=$.useState(null),[w,S]=$.useState(null),C=(0,U.useComposedRefs)(r,e=>b(e)),[j,k]=$.useState(null),[N,D]=$.useState(null),E=ld(s),[R,A]=$.useState(!1),F=$.useRef(!1);$.useEffect(()=>{if(y)return tN(y)},[y]),eU();let M=$.useCallback(e=>{let[r,...s]=E().map(e=>e.ref.current),[i]=s.slice(-1),n=document.activeElement;for(let s of e)if(s===n||(s?.scrollIntoView({block:"nearest"}),s===r&&w&&(w.scrollTop=0),s===i&&w&&(w.scrollTop=w.scrollHeight),s?.focus(),document.activeElement!==n))return},[E,w]),T=$.useCallback(()=>M([j,y]),[M,j,y]);$.useEffect(()=>{R&&T()},[R,T]);let{onOpenChange:P,triggerPointerDownPosRef:B}=_;$.useEffect(()=>{if(y){let e={x:0,y:0},r=r=>{e={x:Math.abs(Math.round(r.pageX)-(B.current?.x??0)),y:Math.abs(Math.round(r.pageY)-(B.current?.y??0))}},s=s=>{e.x<=10&&e.y<=10?s.preventDefault():y.contains(s.target)||P(!1),document.removeEventListener("pointermove",r),B.current=null};return null!==B.current&&(document.addEventListener("pointermove",r),document.addEventListener("pointerup",s,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",s,{capture:!0})}}},[y,P,B]),$.useEffect(()=>{let e=()=>P(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[P]);let[L,I]=l3(e=>{let r=E().filter(e=>!e.disabled),s=r.find(e=>e.ref.current===document.activeElement),i=l4(r,e,s);i&&setTimeout(()=>i.ref.current.focus())}),O=$.useCallback((e,r,s)=>{let i=!F.current&&!s;(void 0!==_.value&&_.value===r||i)&&(k(e),i&&(F.current=!0))},[_.value]),W=$.useCallback(()=>y?.focus(),[y]),H=$.useCallback((e,r,s)=>{let i=!F.current&&!s;(void 0!==_.value&&_.value===r||i)&&D(e)},[_.value]),K="popper"===i?lM:lF,V=K===lM?{side:l,sideOffset:c,align:d,alignOffset:u,arrowPadding:h,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:g,avoidCollisions:x}:{};return(0,z.jsx)(lD,{scope:s,content:y,viewport:w,onViewportChange:S,itemRefCallback:O,selectedItem:j,onItemLeave:W,itemTextRefCallback:H,focusSelectedItem:T,selectedItemText:N,position:i,isPositioned:R,searchRef:L,children:(0,z.jsx)(ty,{as:lR,allowPinchZoom:!0,children:(0,z.jsx)(eB,{asChild:!0,trapped:_.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:q(n,e=>{_.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,z.jsx)(eR,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:a,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>_.onOpenChange(!1),children:(0,z.jsx)(K,{role:"listbox",id:_.contentId,"data-state":_.open?"open":"closed",dir:_.dir,onContextMenu:e=>e.preventDefault(),...v,...V,onPlaced:()=>A(!0),ref:C,style:{display:"flex",flexDirection:"column",outline:"none",...v.style},onKeyDown:q(v.onKeyDown,e=>{let r=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),r||1!==e.key.length||I(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let r=E().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(r=r.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let s=e.target,i=r.indexOf(s);r=r.slice(i+1)}setTimeout(()=>M(r)),e.preventDefault()}})})})})})})});lA.displayName="SelectContentImpl";var lF=$.forwardRef((e,r)=>{let{__scopeSelect:s,onPlaced:i,...n}=e,o=lg(lk,s),a=lE(lk,s),[l,c]=$.useState(null),[d,u]=$.useState(null),h=(0,U.useComposedRefs)(r,e=>u(e)),f=ld(s),p=$.useRef(!1),m=$.useRef(!0),{viewport:g,selectedItem:x,selectedItemText:v,focusSelectedItem:_}=a,y=$.useCallback(()=>{if(o.trigger&&o.valueNode&&l&&d&&g&&x&&v){let e=o.trigger.getBoundingClientRect(),r=d.getBoundingClientRect(),s=o.valueNode.getBoundingClientRect(),n=v.getBoundingClientRect();if("rtl"!==o.dir){let i=n.left-r.left,o=s.left-i,a=e.left-o,c=e.width+a,d=Math.max(c,r.width),u=od(o,[10,Math.max(10,window.innerWidth-10-d)]);l.style.minWidth=c+"px",l.style.left=u+"px"}else{let i=r.right-n.right,o=window.innerWidth-s.right-i,a=window.innerWidth-e.right-o,c=e.width+a,d=Math.max(c,r.width),u=od(o,[10,Math.max(10,window.innerWidth-10-d)]);l.style.minWidth=c+"px",l.style.right=u+"px"}let a=f(),c=window.innerHeight-20,u=g.scrollHeight,h=window.getComputedStyle(d),m=parseInt(h.borderTopWidth,10),_=parseInt(h.paddingTop,10),y=parseInt(h.borderBottomWidth,10),b=m+_+u+parseInt(h.paddingBottom,10)+y,w=Math.min(5*x.offsetHeight,b),S=window.getComputedStyle(g),C=parseInt(S.paddingTop,10),j=parseInt(S.paddingBottom,10),k=e.top+e.height/2-10,N=x.offsetHeight/2,D=m+_+(x.offsetTop+N);if(D<=k){let e=a.length>0&&x===a[a.length-1].ref.current;l.style.bottom="0px";let r=Math.max(c-k,N+(e?j:0)+(d.clientHeight-g.offsetTop-g.offsetHeight)+y);l.style.height=D+r+"px"}else{let e=a.length>0&&x===a[0].ref.current;l.style.top="0px";let r=Math.max(k,m+g.offsetTop+(e?C:0)+N);l.style.height=r+(b-D)+"px",g.scrollTop=D-k+g.offsetTop}l.style.margin="10px 0",l.style.minHeight=w+"px",l.style.maxHeight=c+"px",i?.(),requestAnimationFrame(()=>p.current=!0)}},[f,o.trigger,o.valueNode,l,d,g,x,v,o.dir,i]);V(()=>y(),[y]);let[b,w]=$.useState();V(()=>{d&&w(window.getComputedStyle(d).zIndex)},[d]);let S=$.useCallback(e=>{e&&!0===m.current&&(y(),_?.(),m.current=!1)},[y,_]);return(0,z.jsx)(lT,{scope:s,contentWrapper:l,shouldExpandOnScrollRef:p,onScrollButtonChange:S,children:(0,z.jsx)("div",{ref:c,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:b},children:(0,z.jsx)(er.div,{...n,ref:h,style:{boxSizing:"border-box",maxHeight:"100%",...n.style}})})})});lF.displayName="SelectItemAlignedPosition";var lM=$.forwardRef((e,r)=>{let{__scopeSelect:s,align:i="start",collisionPadding:n=10,...o}=e,a=lp(s);return(0,z.jsx)(iO,{...a,...o,ref:r,align:i,collisionPadding:n,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});lM.displayName="SelectPopperPosition";var[lT,lP]=lh(lk,{}),lB="SelectViewport",lL=$.forwardRef((e,r)=>{let{__scopeSelect:s,nonce:i,...n}=e,o=lE(lB,s),a=lP(lB,s),l=(0,U.useComposedRefs)(r,o.onViewportChange),c=$.useRef(0);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:i}),(0,z.jsx)(lc.Slot,{scope:s,children:(0,z.jsx)(er.div,{"data-radix-select-viewport":"",role:"presentation",...n,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...n.style},onScroll:q(n.onScroll,e=>{let r=e.currentTarget,{contentWrapper:s,shouldExpandOnScrollRef:i}=a;if(i?.current&&s){let e=Math.abs(c.current-r.scrollTop);if(e>0){let i=window.innerHeight-20,n=Math.max(parseFloat(s.style.minHeight),parseFloat(s.style.height));if(n<i){let o=n+e,a=Math.min(i,o),l=o-a;s.style.height=a+"px","0px"===s.style.bottom&&(r.scrollTop=l>0?l:0,s.style.justifyContent="flex-end")}}}c.current=r.scrollTop})})})]})});lL.displayName=lB;var lI="SelectGroup",[lO,lz]=lh(lI);$.forwardRef((e,r)=>{let{__scopeSelect:s,...i}=e,n=ek();return(0,z.jsx)(lO,{scope:s,id:n,children:(0,z.jsx)(er.div,{role:"group","aria-labelledby":n,...i,ref:r})})}).displayName=lI;var l$="SelectLabel";$.forwardRef((e,r)=>{let{__scopeSelect:s,...i}=e,n=lz(l$,s);return(0,z.jsx)(er.div,{id:n.id,...i,ref:r})}).displayName=l$;var lW="SelectItem",[lH,lU]=lh(lW),lK=$.forwardRef((e,r)=>{let{__scopeSelect:s,value:i,disabled:n=!1,textValue:o,...a}=e,l=lg(lW,s),c=lE(lW,s),d=l.value===i,[u,h]=$.useState(o??""),[f,p]=$.useState(!1),m=(0,U.useComposedRefs)(r,e=>c.itemRefCallback?.(e,i,n)),g=ek(),x=$.useRef("touch"),v=()=>{n||(l.onValueChange(i),l.onOpenChange(!1))};if(""===i)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,z.jsx)(lH,{scope:s,value:i,disabled:n,textId:g,isSelected:d,onItemTextChange:$.useCallback(e=>{h(r=>r||(e?.textContent??"").trim())},[]),children:(0,z.jsx)(lc.ItemSlot,{scope:s,value:i,disabled:n,textValue:u,children:(0,z.jsx)(er.div,{role:"option","aria-labelledby":g,"data-highlighted":f?"":void 0,"aria-selected":d&&f,"data-state":d?"checked":"unchecked","aria-disabled":n||void 0,"data-disabled":n?"":void 0,tabIndex:n?void 0:-1,...a,ref:m,onFocus:q(a.onFocus,()=>p(!0)),onBlur:q(a.onBlur,()=>p(!1)),onClick:q(a.onClick,()=>{"mouse"!==x.current&&v()}),onPointerUp:q(a.onPointerUp,()=>{"mouse"===x.current&&v()}),onPointerDown:q(a.onPointerDown,e=>{x.current=e.pointerType}),onPointerMove:q(a.onPointerMove,e=>{x.current=e.pointerType,n?c.onItemLeave?.():"mouse"===x.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:q(a.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:q(a.onKeyDown,e=>{(c.searchRef?.current===""||" "!==e.key)&&(la.includes(e.key)&&v()," "===e.key&&e.preventDefault())})})})})});lK.displayName=lW;var lq="SelectItemText",lV=$.forwardRef((e,r)=>{let{__scopeSelect:s,className:i,style:n,...o}=e,a=lg(lq,s),l=lE(lq,s),c=lU(lq,s),d=lv(lq,s),[u,h]=$.useState(null),f=(0,U.useComposedRefs)(r,e=>h(e),c.onItemTextChange,e=>l.itemTextRefCallback?.(e,c.value,c.disabled)),p=u?.textContent,m=$.useMemo(()=>(0,z.jsx)("option",{value:c.value,disabled:c.disabled,children:p},c.value),[c.disabled,c.value,p]),{onNativeOptionAdd:g,onNativeOptionRemove:x}=d;return V(()=>(g(m),()=>x(m)),[g,x,m]),(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(er.span,{id:c.textId,...o,ref:f}),c.isSelected&&a.valueNode&&!a.valueNodeHasChildren?ee.createPortal(o.children,a.valueNode):null]})});lV.displayName=lq;var lY="SelectItemIndicator",lG=$.forwardRef((e,r)=>{let{__scopeSelect:s,...i}=e;return lU(lY,s).isSelected?(0,z.jsx)(er.span,{"aria-hidden":!0,...i,ref:r}):null});lG.displayName=lY;var lX="SelectScrollUpButton",lJ=$.forwardRef((e,r)=>{let s=lE(lX,e.__scopeSelect),i=lP(lX,e.__scopeSelect),[n,o]=$.useState(!1),a=(0,U.useComposedRefs)(r,i.onScrollButtonChange);return V(()=>{if(s.viewport&&s.isPositioned){let e=function(){o(r.scrollTop>0)},r=s.viewport;return e(),r.addEventListener("scroll",e),()=>r.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),n?(0,z.jsx)(l0,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:r}=s;e&&r&&(e.scrollTop=e.scrollTop-r.offsetHeight)}}):null});lJ.displayName=lX;var lZ="SelectScrollDownButton",lQ=$.forwardRef((e,r)=>{let s=lE(lZ,e.__scopeSelect),i=lP(lZ,e.__scopeSelect),[n,o]=$.useState(!1),a=(0,U.useComposedRefs)(r,i.onScrollButtonChange);return V(()=>{if(s.viewport&&s.isPositioned){let e=function(){let e=r.scrollHeight-r.clientHeight;o(Math.ceil(r.scrollTop)<e)},r=s.viewport;return e(),r.addEventListener("scroll",e),()=>r.removeEventListener("scroll",e)}},[s.viewport,s.isPositioned]),n?(0,z.jsx)(l0,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:r}=s;e&&r&&(e.scrollTop=e.scrollTop+r.offsetHeight)}}):null});lQ.displayName=lZ;var l0=$.forwardRef((e,r)=>{let{__scopeSelect:s,onAutoScroll:i,...n}=e,o=lE("SelectScrollButton",s),a=$.useRef(null),l=ld(s),c=$.useCallback(()=>{null!==a.current&&(window.clearInterval(a.current),a.current=null)},[]);return $.useEffect(()=>()=>c(),[c]),V(()=>{let e=l().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[l]),(0,z.jsx)(er.div,{"aria-hidden":!0,...n,ref:r,style:{flexShrink:0,...n.style},onPointerDown:q(n.onPointerDown,()=>{null===a.current&&(a.current=window.setInterval(i,50))}),onPointerMove:q(n.onPointerMove,()=>{o.onItemLeave?.(),null===a.current&&(a.current=window.setInterval(i,50))}),onPointerLeave:q(n.onPointerLeave,()=>{c()})})});$.forwardRef((e,r)=>{let{__scopeSelect:s,...i}=e;return(0,z.jsx)(er.div,{"aria-hidden":!0,...i,ref:r})}).displayName="SelectSeparator";var l1="SelectArrow";$.forwardRef((e,r)=>{let{__scopeSelect:s,...i}=e,n=lp(s),o=lg(l1,s),a=lE(l1,s);return o.open&&"popper"===a.position?(0,z.jsx)(iW,{...n,...i,ref:r}):null}).displayName=l1;var l2=$.forwardRef(({__scopeSelect:e,value:r,...s},i)=>{let n=$.useRef(null),o=(0,U.useComposedRefs)(i,n),a=X(r);return $.useEffect(()=>{let e=n.current;if(!e)return;let s=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(a!==r&&s){let i=new Event("change",{bubbles:!0});s.call(e,r),e.dispatchEvent(i)}},[a,r]),(0,z.jsx)(er.select,{...s,style:{...a_,...s.style},ref:o,defaultValue:r})});function l5(e){return""===e||void 0===e}function l3(e){let r=eN(e),s=$.useRef(""),i=$.useRef(0),n=$.useCallback(e=>{let n=s.current+e;r(n),function e(r){s.current=r,window.clearTimeout(i.current),""!==r&&(i.current=window.setTimeout(()=>e(""),1e3))}(n)},[r]),o=$.useCallback(()=>{s.current="",window.clearTimeout(i.current)},[]);return $.useEffect(()=>()=>window.clearTimeout(i.current),[]),[s,n,o]}function l4(e,r,s){var i,n;let o=r.length>1&&Array.from(r).every(e=>e===r[0])?r[0]:r,a=s?e.indexOf(s):-1,l=(i=e,n=Math.max(a,0),i.map((e,r)=>i[(n+r)%i.length]));1===o.length&&(l=l.filter(e=>e!==s));let c=l.find(e=>e.textValue.toLowerCase().startsWith(o.toLowerCase()));return c!==s?c:void 0}l2.displayName="SelectBubbleInput";var H=H;function l6({...e}){return(0,z.jsx)(l_,{"data-slot":"select",...e})}function l8({...e}){return(0,z.jsx)(lS,{"data-slot":"select-value",...e})}function l7({className:e,size:r="default",children:s,...i}){return(0,z.jsxs)(lb,{"data-slot":"select-trigger","data-size":r,className:(0,ey.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...i,children:[s,(0,z.jsx)(lC,{asChild:!0,children:(0,z.jsx)(su,{className:"size-4 opacity-50"})})]})}function l9({className:e,children:r,position:s="item-aligned",align:i="center",...n}){return(0,z.jsx)(lj,{children:(0,z.jsxs)(lN,{"data-slot":"select-content",className:(0,ey.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===s&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:s,align:i,...n,children:[(0,z.jsx)(ct,{}),(0,z.jsx)(lL,{className:(0,ey.cn)("p-1","popper"===s&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:r}),(0,z.jsx)(cr,{})]})})}function ce({className:e,children:r,...s}){return(0,z.jsxs)(lK,{"data-slot":"select-item",className:(0,ey.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...s,children:[(0,z.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,z.jsx)(lG,{children:(0,z.jsx)(H.default,{className:"size-4"})})}),(0,z.jsx)(lV,{children:r})]})}function ct({className:e,...r}){return(0,z.jsx)(lJ,{"data-slot":"select-scroll-up-button",className:(0,ey.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,z.jsx)(oY,{className:"size-4"})})}function cr({className:e,...r}){return(0,z.jsx)(lQ,{"data-slot":"select-scroll-down-button",className:(0,ey.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,z.jsx)(su,{className:"size-4"})})}let cs="__main__";function ci({open:e,onOpenChange:r,onSubmit:s,initial:i,worktrees:n,projectId:o}){let[a,l]=(0,$.useState)(""),[c,d]=(0,$.useState)("0 9 * * *"),[u,h]=(0,$.useState)(""),[f,p]=(0,$.useState)("local"),[m,g]=(0,$.useState)([]),[x,v]=(0,$.useState)("command"),[_,y]=(0,$.useState)("claude"),[b,w]=(0,$.useState)(""),[S,C]=(0,$.useState)("branch"),[j,k]=(0,$.useState)(cs),[N,D]=(0,$.useState)(n),[E,R]=(0,$.useState)(""),[A,F]=(0,$.useState)("30"),[M,T]=(0,$.useState)(!1),[P,B]=(0,$.useState)(null);(0,$.useEffect)(()=>{e&&(B(null),l(i?.name??""),d(i?.cron_expr??"0 9 * * *"),h(i?.timezone??Intl.DateTimeFormat().resolvedOptions().timeZone),p(i?.target??"local"),v(i?.run_type??"command"),y(i?.prompt_provider??"claude"),w(i?.content??""),C(i?.cwd_mode??"branch"),k(i?.branch??cs),R(i?.directory??""),F(String(Math.round((i?.timeout_seconds??1800)/60))))},[e,i]),(0,$.useEffect)(()=>{"local"===f&&D(n)},[f,n]),(0,$.useEffect)(()=>{let r=!1;return e&&o&&rx.api.getProjectRemotes(o).then(e=>{r||g(e)}).catch(e=>console.error("Failed to load project remotes:",e)),()=>{r=!0}},[e,o]),(0,$.useEffect)(()=>{let r=!1;if(e&&o&&"local"!==f)return rx.api.getProjectWorktrees(o,f).then(e=>{r||D(e)}).catch(e=>{console.error("Failed to load target worktrees:",e),r||D([{branch:null}])}),()=>{r=!0}},[e,o,f]);let L=async()=>{if(!a.trim()||!b.trim())return void B("Name and content are required");let e=parseInt(A,10);if(!Number.isInteger(e)||e<=0)return void B("Timeout must be a positive number of minutes");if("directory"===S&&!E.trim())return void B("Directory is required");T(!0),B(null);try{await s({name:a.trim(),cron_expr:c.trim(),timezone:u.trim()||"UTC",target:f,run_type:x,prompt_provider:"prompt"===x?_:null,content:b,cwd_mode:S,branch:"branch"===S?j===cs?null:j:null,directory:"directory"===S?E.trim():null,timeout_seconds:60*e}),r(!1)}catch(e){B(e instanceof Error?e.message:"Failed to save schedule")}finally{T(!1)}};return(0,z.jsx)(t7,{open:e,onOpenChange:r,children:(0,z.jsxs)(rt,{className:"max-w-lg",children:[(0,z.jsxs)(rr,{children:[(0,z.jsx)(ri,{children:i?"Edit Scheduled Task":"New Scheduled Task"}),(0,z.jsx)(rn,{children:"Run a command or a Claude prompt on a cron schedule"})]}),(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Name"}),(0,z.jsx)(ro,{value:a,onChange:e=>l(e.target.value),placeholder:"Daily log analysis",disabled:M})]}),(0,z.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Cron"}),(0,z.jsx)(ro,{value:c,onChange:e=>d(e.target.value),placeholder:"0 9 * * *",className:"font-mono",disabled:M}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:"5-field cron — “0 9 * * *” = every day at 09:00"})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Timezone"}),(0,z.jsx)(ro,{value:u,onChange:e=>h(e.target.value),placeholder:"Asia/Shanghai",disabled:M})]})]}),(0,z.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Type"}),(0,z.jsxs)(l6,{value:x,onValueChange:e=>v(e),disabled:M,children:[(0,z.jsx)(l7,{size:"sm",children:(0,z.jsx)(l8,{})}),(0,z.jsxs)(l9,{children:[(0,z.jsx)(ce,{value:"command",children:"Command (shell)"}),(0,z.jsx)(ce,{value:"prompt",children:"Prompt"})]})]})]}),"prompt"===x&&(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Agent"}),(0,z.jsxs)(l6,{value:_,onValueChange:e=>y(e),disabled:M,children:[(0,z.jsx)(l7,{size:"sm",children:(0,z.jsx)(l8,{})}),(0,z.jsxs)(l9,{children:[(0,z.jsx)(ce,{value:"claude",children:"Claude"}),(0,z.jsx)(ce,{value:"codex",children:"Codex"})]})]})]})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"command"===x?"Command":"Prompt"}),(0,z.jsx)(ra,{value:b,onChange:e=>w(e.target.value),placeholder:"command"===x?"./scripts/scan.sh --daily":"Analyze today's server logs under ./logs and summarize anomalies",className:"font-mono text-sm min-h-[80px]",disabled:M})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Target"}),(0,z.jsxs)(l6,{value:f,onValueChange:e=>{p(e),k(cs)},disabled:M,children:[(0,z.jsx)(l7,{size:"sm",children:(0,z.jsx)(l8,{placeholder:"Local"})}),(0,z.jsxs)(l9,{children:[(0,z.jsx)(ce,{value:"local",children:"Local"}),m.map(e=>(0,z.jsx)(ce,{value:e.remote_server_id,children:e.server_name??e.server_url??e.remote_server_id},e.remote_server_id))]})]})]}),(0,z.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Runs in"}),(0,z.jsxs)(l6,{value:S,onValueChange:e=>C(e),disabled:M,children:[(0,z.jsx)(l7,{size:"sm",children:(0,z.jsx)(l8,{})}),(0,z.jsxs)(l9,{children:[(0,z.jsx)(ce,{value:"branch",children:"Workspace (branch)"}),(0,z.jsx)(ce,{value:"directory",children:"Directory"})]})]})]}),(0,z.jsx)("div",{className:"space-y-2",children:"branch"===S?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Workspace"}),(0,z.jsxs)(l6,{value:j,onValueChange:k,disabled:M,children:[(0,z.jsx)(l7,{size:"sm",children:(0,z.jsx)(l8,{placeholder:"Select workspace"})}),(0,z.jsx)(l9,{children:N.map(e=>(0,z.jsx)(ce,{value:e.branch??cs,children:e.branch??"main"},e.branch??cs))})]})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Directory"}),(0,z.jsx)(ro,{value:E,onChange:e=>R(e.target.value),placeholder:"/var/log/myapp",className:"font-mono",disabled:M})]})})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Timeout (minutes)"}),(0,z.jsx)(ro,{value:A,onChange:e=>F(e.target.value),className:"w-24",disabled:M})]}),P&&(0,z.jsx)("div",{className:"text-sm text-destructive bg-destructive/10 px-3 py-2 rounded-md",children:P})]}),(0,z.jsxs)(rs,{children:[(0,z.jsx)(W.Button,{variant:"outline",onClick:()=>r(!1),disabled:M,children:"Cancel"}),(0,z.jsx)(W.Button,{onClick:L,disabled:M||!a.trim()||!b.trim(),children:M?"Saving...":i?"Save":"Create"})]})]})})}let cn={running:"bg-blue-500/15 text-blue-600",completed:"bg-emerald-500/15 text-emerald-600",failed:"bg-red-500/15 text-red-600",timeout:"bg-amber-500/15 text-amber-600",killed:"bg-amber-500/15 text-amber-600",skipped:"bg-muted text-muted-foreground"},co=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;function ca(e){return new Date(e.includes("T")?e:e.replace(" ","T")+"Z")}function cl(e){return e?ca(e).toLocaleString():"—"}function cc({projectId:e,schedules:r,loading:s,selectedId:i,onSelect:n,worktrees:o,onCreate:a,onUpdate:l,onDelete:c,onRunNow:d,createOpen:u,onCreateOpenChange:h}){let f=r.find(e=>e.id===i)??r[0]??null,[p,m]=(0,$.useState)([]),[g,x]=(0,$.useState)(!1),[v,_]=(0,$.useState)(null),[y,b]=(0,$.useState)(null),w=(0,$.useCallback)(async e=>{try{return await rx.api.getScheduleRuns(e)}catch(e){return console.error("Failed to fetch schedule runs:",e),null}},[]);(0,$.useEffect)(()=>{let e=f?.id,r=!1;return(e?w(e):Promise.resolve([])).then(e=>{r||m(e??[])}),()=>{r=!0}},[f?.id,r,w]);let S=async()=>{if(f){b(null);try{await d(f.id)}catch(e){b(e instanceof Error?e.message:"Failed to start run")}}},C=async()=>{!f||window.confirm(`Delete scheduled task "${f.name}" and its run history?`)&&await c(f.id)},j=async e=>{if("skipped"!==e.status)try{_(await rx.api.getScheduleRun(e.id))}catch(e){console.error("Failed to fetch run output:",e)}};return s||0!==r.length?(0,z.jsxs)("div",{className:"flex flex-col h-full",children:[f&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(a8,{title:f.name,description:`${f.cron_expr} \xb7 ${f.timezone} \xb7 next: ${cl(f.next_run_at)}`,actions:(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsxs)(W.Button,{size:"sm",onClick:S,disabled:!!f.running,children:[(0,z.jsx)(ru,{className:"h-3.5 w-3.5 mr-1.5"}),f.running?"Running…":"Run now"]}),(0,z.jsxs)("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[(0,z.jsx)("input",{type:"checkbox",checked:f.enabled,onChange:e=>void l(f.id,{enabled:e.target.checked}),className:"h-4 w-4 rounded border-input accent-primary"}),(0,z.jsx)("span",{children:"Enabled"})]}),(0,z.jsx)(W.Button,{size:"sm",variant:"outline",onClick:()=>x(!0),children:(0,z.jsx)(rm,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(W.Button,{size:"sm",variant:"outline",onClick:C,className:"hover:bg-destructive/15 hover:text-destructive",children:(0,z.jsx)(rl,{className:"h-3.5 w-3.5"})})]})}),(0,z.jsxs)("div",{className:"px-5 py-3 grid grid-cols-2 gap-x-8 gap-y-1 text-sm border-b border-border/50",children:[(0,z.jsxs)("div",{children:[(0,z.jsx)("span",{className:"text-muted-foreground",children:"Type: "}),"command"===f.run_type?"Command":`Prompt (${"codex"===f.prompt_provider?"Codex":"Claude"})`]}),(0,z.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,z.jsx)("span",{className:"text-muted-foreground",children:"Runs in: "}),"branch"===f.cwd_mode?`workspace ${f.branch??"main"}`:f.directory,"local"!==f.target&&(0,z.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded bg-violet-500/15 text-violet-600",children:"remote"})]}),(0,z.jsx)("div",{className:"col-span-2 font-mono text-xs text-muted-foreground truncate",title:f.content,children:f.content}),(0,z.jsxs)("div",{children:[(0,z.jsx)("span",{className:"text-muted-foreground",children:"Timeout: "}),Math.round(f.timeout_seconds/60),"m"]})]}),y&&(0,z.jsx)("div",{className:"mx-5 mt-3 text-sm text-destructive bg-destructive/10 px-3 py-2 rounded-md",children:y}),(0,z.jsx)("div",{className:"flex-1 overflow-auto px-5 py-3",children:(0,z.jsxs)(le,{children:[(0,z.jsx)(lt,{children:(0,z.jsxs)(ls,{children:[(0,z.jsx)(li,{children:"Started"}),(0,z.jsx)(li,{children:"Duration"}),(0,z.jsx)(li,{children:"Status"}),(0,z.jsx)(li,{children:"Exit code"})]})}),(0,z.jsxs)(lr,{children:[p.map(e=>(0,z.jsxs)(ls,{onClick:()=>void j(e),className:(0,ey.cn)("skipped"!==e.status&&"cursor-pointer"),children:[(0,z.jsx)(ln,{children:cl(e.started_at)}),(0,z.jsx)(ln,{children:"skipped"===e.status?"—":function(e){if(!e.finished_at)return"…";let r=Math.max(0,Math.round((ca(e.finished_at).getTime()-ca(e.started_at).getTime())/1e3));return r<60?`${r}s`:`${Math.floor(r/60)}m ${r%60}s`}(e)}),(0,z.jsx)(ln,{children:(0,z.jsx)("span",{className:(0,ey.cn)("px-1.5 py-0.5 rounded text-[11px] font-medium",cn[e.status]),children:e.status})}),(0,z.jsx)(ln,{children:e.exit_code??"—"})]},e.id)),0===p.length&&(0,z.jsx)(ls,{children:(0,z.jsx)(ln,{colSpan:4,className:"text-center text-muted-foreground",children:"No runs yet — click “Run now” to try it"})})]})]})}),(0,z.jsx)(ci,{open:g,onOpenChange:x,initial:f,onSubmit:async e=>{await l(f.id,e)},worktrees:o,projectId:e})]}),(0,z.jsx)(ci,{open:u,onOpenChange:h,onSubmit:async e=>{n((await a(e)).id)},worktrees:o,projectId:e}),(0,z.jsx)(t7,{open:null!==v,onOpenChange:e=>!e&&_(null),children:(0,z.jsxs)(rt,{className:"max-w-3xl",children:[(0,z.jsx)(rr,{children:(0,z.jsxs)(ri,{children:["Run output — ",v?cl(v.started_at):""," ",v&&(0,z.jsx)("span",{className:(0,ey.cn)("ml-2 px-1.5 py-0.5 rounded text-[11px] font-medium",cn[v.status]),children:v.status})]})}),(0,z.jsx)("pre",{className:"max-h-[60vh] overflow-auto rounded-md bg-muted/50 p-3 font-mono text-xs whitespace-pre-wrap",children:v?.output?v.output.replace(co,"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"):"(no output captured)"})]})})]}):(0,z.jsxs)("div",{className:"flex flex-col h-full items-center justify-center gap-3 text-center",children:[(0,z.jsx)(am,{className:"h-8 w-8 text-muted-foreground/50"}),(0,z.jsx)("p",{className:"text-sm text-muted-foreground",children:"No scheduled tasks yet"}),(0,z.jsx)(W.Button,{size:"sm",onClick:()=>h(!0),children:"New Scheduled Task"}),(0,z.jsx)(ci,{open:u,onOpenChange:h,onSubmit:async e=>{await a(e)},worktrees:o,projectId:e})]})}var cd=e.i(423917);function cu({open:e,onOpenChange:r,onProjectCreated:s}){let{config:i}=(0,cd.useAppConfig)(),n=i?.localProjectsEnabled!==!1,[o,a]=(0,$.useState)(""),[l,c]=(0,$.useState)(""),[d,u]=(0,$.useState)([]),[h,f]=(0,$.useState)("closed"),[p,m]=(0,$.useState)([]),[g,x]=(0,$.useState)(null),[v,_]=(0,$.useState)(""),[y,b]=(0,$.useState)(""),[w,S]=(0,$.useState)(""),[C,j]=(0,$.useState)(""),[k,N]=(0,$.useState)("idle"),[D,E]=(0,$.useState)(""),[R,A]=(0,$.useState)(!1),[F,M]=(0,$.useState)(""),T=()=>{a(""),c(""),u([]),P(),M("")},P=()=>{f("closed"),x(null),_(""),b(""),S(""),j(""),N("idle"),E("")},B=e=>{e||T(),r(e)},L=async()=>{let e=await rx.api.selectFolder();e.path&&(c(e.path),o||a(e.path.split("/").pop()||""))},I=async()=>{f("pick-server");try{let e=await rx.api.getRemoteServers();m(e)}catch{m([])}},O=async()=>{if(!w||!C)return void E("URL and API key are required");N("testing"),E("");try{await rx.api.testRemoteConnection(w,C),N("success")}catch(e){N("error"),E(e instanceof Error?e.message:"Connection failed")}},H=async()=>{if(y.trim()&&w.trim())try{let e=await rx.api.createRemoteServer({name:y.trim(),url:w.trim(),apiKey:C.trim()||void 0});x(e),_(""),f("pick-path")}catch(e){E(e instanceof Error?e.message:"Failed to create server")}},U=l.trim().length>0,K=d.length>0,q=async()=>{if(!o.trim())return void M("Project name is required");if(!U&&!K)return void M(n?"Please provide a local folder, remote server, or both":"Please add a remote server");A(!0),M("");try{let e=await rx.api.createProject({name:o.trim(),...U?{path:l.trim()}:{},...K&&!U?{agentMode:d[0].serverId}:{}});for(let r of d)await rx.api.addProjectRemote(e.id,{remoteServerId:r.serverId,remotePath:r.remotePath});s(e),T(),r(!1)}catch(e){M(e instanceof Error?e.message:"Failed to create project")}finally{A(!1)}};return(0,z.jsx)(t7,{open:e,onOpenChange:B,children:(0,z.jsxs)(rt,{className:"max-w-lg h-[620px] max-h-[calc(100vh-4rem)] grid-rows-[auto_minmax(0,1fr)_auto]",children:[(0,z.jsx)(rr,{children:(0,z.jsx)(ri,{children:"Create New Project"})}),(0,z.jsx)("div",{className:"overflow-y-auto -mx-1 px-1",children:(0,z.jsxs)("div",{className:"space-y-5 py-2",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Project Name"}),(0,z.jsx)(ro,{value:o,onChange:e=>a(e.target.value),placeholder:"My Project"})]}),n&&(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Local Folder"}),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsx)(ro,{value:l,onChange:e=>c(e.target.value),placeholder:"/path/to/project (optional)",className:"flex-1"}),(0,z.jsx)(W.Button,{variant:"outline",onClick:L,children:(0,z.jsx)(rv,{className:"h-4 w-4"})})]})]}),(0,z.jsxs)("div",{className:"space-y-3",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Remote Servers"}),d.length>0&&(0,z.jsx)("div",{className:"space-y-2",children:d.map((e,r)=>(0,z.jsxs)("div",{className:"flex items-center gap-2 rounded-md border p-2 text-sm",children:[(0,z.jsx)(r_,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,z.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,z.jsx)("p",{className:"font-medium truncate",children:e.serverName}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground font-mono truncate",children:e.remotePath})]}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon-sm",className:"h-7 w-7 shrink-0",onClick:()=>{u(e=>e.filter((e,s)=>s!==r))},children:(0,z.jsx)(rl,{className:"h-3.5 w-3.5 text-muted-foreground"})})]},`${e.serverId}-${e.remotePath}`))}),"closed"===h&&(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:I,className:"w-full",children:[(0,z.jsx)(eS,{className:"h-4 w-4 mr-1"}),"Add Remote"]}),"pick-server"===h&&(0,z.jsxs)("div",{className:"rounded-md border p-3 space-y-3",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsx)("label",{className:"text-xs font-medium",children:"Select a Remote Server"}),(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:P,children:(0,z.jsx)(t8,{className:"h-3.5 w-3.5"})})]}),p.length>0&&(0,z.jsx)("div",{className:"space-y-1",children:p.map(e=>(0,z.jsxs)("button",{className:"flex items-center gap-2 w-full rounded-md p-2 text-sm text-left hover:bg-muted",onClick:()=>{x(e),_(""),f("pick-path")},children:[(0,z.jsx)(oc,{className:"h-4 w-4 text-muted-foreground"}),(0,z.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,z.jsx)("p",{className:"truncate",children:e.name}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground truncate",children:e.url})]})]},e.id))}),(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:()=>{f("new-server"),b(""),S(""),j(""),N("idle"),E("")},className:"w-full",children:[(0,z.jsx)(eS,{className:"h-4 w-4 mr-1"}),"New Server"]})]}),"new-server"===h&&(0,z.jsxs)("div",{className:"rounded-md border p-3 space-y-3",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsx)("label",{className:"text-xs font-medium",children:"Create New Server"}),(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:P,children:(0,z.jsx)(t8,{className:"h-3.5 w-3.5"})})]}),(0,z.jsx)(ro,{value:y,onChange:e=>b(e.target.value),placeholder:"Server name"}),(0,z.jsx)(ro,{value:w,onChange:e=>{S(e.target.value),N("idle")},placeholder:"http://remote-server:5173"}),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsx)(ro,{type:"password",value:C,onChange:e=>{j(e.target.value),N("idle")},placeholder:"API key",className:"flex-1"}),(0,z.jsx)(W.Button,{variant:"outline",size:"sm",onClick:O,disabled:"testing"===k||!w||!C,children:"testing"===k?(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin"}):"success"===k?(0,z.jsx)(rh.Check,{className:"h-4 w-4 text-green-500"}):"error"===k?(0,z.jsx)(t8,{className:"h-4 w-4 text-red-500"}):"Test"})]}),D&&(0,z.jsx)("p",{className:"text-xs text-red-500",children:D}),"success"===k&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("p",{className:"text-xs text-green-500",children:"Connection successful"}),(0,z.jsx)(W.Button,{size:"sm",onClick:H,disabled:!y.trim(),children:"Create & Continue"})]})]}),"pick-path"===h&&g&&(0,z.jsxs)("div",{className:"rounded-md border p-3 space-y-3",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsxs)("label",{className:"text-xs font-medium",children:["Select Directory on ",g.name]}),(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:P,children:(0,z.jsx)(t8,{className:"h-3.5 w-3.5"})})]}),(0,z.jsx)(oG,{serverId:g.id,onSelect:e=>{_(e)},selectedPath:v}),v&&(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Selected: ",(0,z.jsx)("span",{className:"font-mono",children:v})]}),(0,z.jsx)(W.Button,{size:"sm",onClick:()=>{g&&v&&(d.some(e=>e.serverId===g.id&&e.remotePath===v)||(u(e=>[...e,{serverId:g.id,serverName:g.name,serverUrl:g.url,remotePath:v}]),o||a(v.split("/").pop()||"")),P())},children:"Add"})]})]})]}),F&&(0,z.jsx)("p",{className:"text-sm text-red-500 pt-3",children:F})]})}),(0,z.jsxs)(rs,{children:[(0,z.jsx)(W.Button,{variant:"outline",onClick:()=>B(!1),children:"Cancel"}),(0,z.jsx)(W.Button,{onClick:q,disabled:R,children:R?"Creating...":"Create Project"})]})]})})}let ch=(0,ew.default)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]),cf=(0,ew.default)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]),cp=(0,ew.default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]),cm=(0,ew.default)("square-terminal",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]),cg=(0,ew.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),cx=(0,ew.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var cv=e.i(371263),c_=e.i(909596),cy=["PageUp","PageDown"],cb=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],cw={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},cS="Slider",[cC,cj,ck]=rR(cS),[cN,cD]=K(cS,[ck]),[cE,cR]=cN(cS),cA=$.forwardRef((e,r)=>{let{name:s,min:i=0,max:n=100,step:o=1,orientation:a="horizontal",disabled:l=!1,minStepsBetweenThumbs:c=0,defaultValue:d=[i],value:u,onValueChange:h=()=>{},onValueCommit:f=()=>{},inverted:p=!1,form:m,...g}=e,x=$.useRef(new Set),v=$.useRef(0),_="horizontal"===a,[y=[],b]=G({prop:u,defaultProp:d,onChange:e=>{let r=[...x.current];r[v.current]?.focus(),h(e)}}),w=$.useRef(y);function S(e,r,{commit:s}={commit:!1}){let a,l=(String(o).split(".")[1]||"").length,d=od(Math.round((Math.round((e-i)/o)*o+i)*(a=Math.pow(10,l)))/a,[i,n]);b((e=[])=>{let i=function(e=[],r,s){let i=[...e];return i[s]=r,i.sort((e,r)=>e-r)}(e,d,r);if(!function(e,r){if(r>0)return Math.min(...e.slice(0,-1).map((r,s)=>e[s+1]-r))>=r;return!0}(i,c*o))return e;{v.current=i.indexOf(d);let r=String(i)!==String(e);return r&&s&&f(i),r?i:e}})}return(0,z.jsx)(cE,{scope:e.__scopeSlider,name:s,disabled:l,min:i,max:n,valueIndexToChangeRef:v,thumbs:x.current,values:y,orientation:a,form:m,children:(0,z.jsx)(cC.Provider,{scope:e.__scopeSlider,children:(0,z.jsx)(cC.Slot,{scope:e.__scopeSlider,children:(0,z.jsx)(_?cT:cP,{"aria-disabled":l,"data-disabled":l?"":void 0,...g,ref:r,onPointerDown:q(g.onPointerDown,()=>{l||(w.current=y)}),min:i,max:n,inverted:p,onSlideStart:l?void 0:function(e){let r=function(e,r){if(1===e.length)return 0;let s=e.map(e=>Math.abs(e-r)),i=Math.min(...s);return s.indexOf(i)}(y,e);S(e,r)},onSlideMove:l?void 0:function(e){S(e,v.current)},onSlideEnd:l?void 0:function(){let e=w.current[v.current];y[v.current]!==e&&f(y)},onHomeKeyDown:()=>!l&&S(i,0,{commit:!0}),onEndKeyDown:()=>!l&&S(n,y.length-1,{commit:!0}),onStepKeyDown:({event:e,direction:r})=>{if(!l){let s=cy.includes(e.key)||e.shiftKey&&cb.includes(e.key),i=v.current;S(y[i]+o*(s?10:1)*r,i,{commit:!0})}}})})})})});cA.displayName=cS;var[cF,cM]=cN(cS,{startEdge:"left",endEdge:"right",size:"width",direction:1}),cT=$.forwardRef((e,r)=>{let{min:s,max:i,dir:n,inverted:o,onSlideStart:a,onSlideMove:l,onSlideEnd:c,onStepKeyDown:d,...u}=e,[h,f]=$.useState(null),p=(0,U.useComposedRefs)(r,e=>f(e)),m=$.useRef(void 0),g=rP(n),x="ltr"===g,v=x&&!o||!x&&o;function _(e){let r=m.current||h.getBoundingClientRect(),n=cq([0,r.width],v?[s,i]:[i,s]);return m.current=r,n(e-r.left)}return(0,z.jsx)(cF,{scope:e.__scopeSlider,startEdge:v?"left":"right",endEdge:v?"right":"left",direction:v?1:-1,size:"width",children:(0,z.jsx)(cB,{dir:g,"data-orientation":"horizontal",...u,ref:p,style:{...u.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let r=_(e.clientX);a?.(r)},onSlideMove:e=>{let r=_(e.clientX);l?.(r)},onSlideEnd:()=>{m.current=void 0,c?.()},onStepKeyDown:e=>{let r=cw[v?"from-left":"from-right"].includes(e.key);d?.({event:e,direction:r?-1:1})}})})}),cP=$.forwardRef((e,r)=>{let{min:s,max:i,inverted:n,onSlideStart:o,onSlideMove:a,onSlideEnd:l,onStepKeyDown:c,...d}=e,u=$.useRef(null),h=(0,U.useComposedRefs)(r,u),f=$.useRef(void 0),p=!n;function m(e){let r=f.current||u.current.getBoundingClientRect(),n=cq([0,r.height],p?[i,s]:[s,i]);return f.current=r,n(e-r.top)}return(0,z.jsx)(cF,{scope:e.__scopeSlider,startEdge:p?"bottom":"top",endEdge:p?"top":"bottom",size:"height",direction:p?1:-1,children:(0,z.jsx)(cB,{"data-orientation":"vertical",...d,ref:h,style:{...d.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let r=m(e.clientY);o?.(r)},onSlideMove:e=>{let r=m(e.clientY);a?.(r)},onSlideEnd:()=>{f.current=void 0,l?.()},onStepKeyDown:e=>{let r=cw[p?"from-bottom":"from-top"].includes(e.key);c?.({event:e,direction:r?-1:1})}})})}),cB=$.forwardRef((e,r)=>{let{__scopeSlider:s,onSlideStart:i,onSlideMove:n,onSlideEnd:o,onHomeKeyDown:a,onEndKeyDown:l,onStepKeyDown:c,...d}=e,u=cR(cS,s);return(0,z.jsx)(er.span,{...d,ref:r,onKeyDown:q(e.onKeyDown,e=>{"Home"===e.key?(a(e),e.preventDefault()):"End"===e.key?(l(e),e.preventDefault()):cy.concat(cb).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:q(e.onPointerDown,e=>{let r=e.target;r.setPointerCapture(e.pointerId),e.preventDefault(),u.thumbs.has(r)?r.focus():i(e)}),onPointerMove:q(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&n(e)}),onPointerUp:q(e.onPointerUp,e=>{let r=e.target;r.hasPointerCapture(e.pointerId)&&(r.releasePointerCapture(e.pointerId),o(e))})})}),cL="SliderTrack",cI=$.forwardRef((e,r)=>{let{__scopeSlider:s,...i}=e,n=cR(cL,s);return(0,z.jsx)(er.span,{"data-disabled":n.disabled?"":void 0,"data-orientation":n.orientation,...i,ref:r})});cI.displayName=cL;var cO="SliderRange",cz=$.forwardRef((e,r)=>{let{__scopeSlider:s,...i}=e,n=cR(cO,s),o=cM(cO,s),a=$.useRef(null),l=(0,U.useComposedRefs)(r,a),c=n.values.length,d=n.values.map(e=>cK(e,n.min,n.max)),u=c>1?Math.min(...d):0,h=100-Math.max(...d);return(0,z.jsx)(er.span,{"data-orientation":n.orientation,"data-disabled":n.disabled?"":void 0,...i,ref:l,style:{...e.style,[o.startEdge]:u+"%",[o.endEdge]:h+"%"}})});cz.displayName=cO;var c$="SliderThumb",cW=$.forwardRef((e,r)=>{let s=cj(e.__scopeSlider),[i,n]=$.useState(null),o=(0,U.useComposedRefs)(r,e=>n(e)),a=$.useMemo(()=>i?s().findIndex(e=>e.ref.current===i):-1,[s,i]);return(0,z.jsx)(cH,{...e,ref:o,index:a})}),cH=$.forwardRef((e,r)=>{var s,i,n,o,a;let l,c,{__scopeSlider:d,index:u,name:h,...f}=e,p=cR(c$,d),m=cM(c$,d),[g,x]=$.useState(null),v=(0,U.useComposedRefs)(r,e=>x(e)),_=!g||p.form||!!g.closest("form"),y=J(g),b=p.values[u],w=void 0===b?0:cK(b,p.min,p.max),S=(s=u,(i=p.values.length)>2?`Value ${s+1} of ${i}`:2===i?["Minimum","Maximum"][s]:void 0),C=y?.[m.size],j=C?(n=C,o=w,a=m.direction,c=cq([0,50],[0,l=n/2]),(l-c(o)*a)*a):0;return $.useEffect(()=>{if(g)return p.thumbs.add(g),()=>{p.thumbs.delete(g)}},[g,p.thumbs]),(0,z.jsxs)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[m.startEdge]:`calc(${w}% + ${j}px)`},children:[(0,z.jsx)(cC.ItemSlot,{scope:e.__scopeSlider,children:(0,z.jsx)(er.span,{role:"slider","aria-label":e["aria-label"]||S,"aria-valuemin":p.min,"aria-valuenow":b,"aria-valuemax":p.max,"aria-orientation":p.orientation,"data-orientation":p.orientation,"data-disabled":p.disabled?"":void 0,tabIndex:p.disabled?void 0:0,...f,ref:v,style:void 0===b?{display:"none"}:e.style,onFocus:q(e.onFocus,()=>{p.valueIndexToChangeRef.current=u})})}),_&&(0,z.jsx)(cU,{name:h??(p.name?p.name+(p.values.length>1?"[]":""):void 0),form:p.form,value:b},u)]})});cW.displayName=c$;var cU=$.forwardRef(({__scopeSlider:e,value:r,...s},i)=>{let n=$.useRef(null),o=(0,U.useComposedRefs)(n,i),a=X(r);return $.useEffect(()=>{let e=n.current;if(!e)return;let s=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(a!==r&&s){let i=new Event("input",{bubbles:!0});s.call(e,r),e.dispatchEvent(i)}},[a,r]),(0,z.jsx)(er.input,{style:{display:"none"},...s,ref:o,defaultValue:r})});function cK(e,r,s){return od(100/(s-r)*(e-r),[0,100])}function cq(e,r){return s=>{if(e[0]===e[1]||r[0]===r[1])return r[0];let i=(r[1]-r[0])/(e[1]-e[0]);return r[0]+i*(s-e[0])}}cU.displayName="RadioBubbleInput";let cV=$.forwardRef(({className:e,...r},s)=>(0,z.jsxs)(cA,{ref:s,className:(0,ey.cn)("relative flex w-full touch-none select-none items-center","data-[disabled]:opacity-50",e),...r,children:[(0,z.jsx)(cI,{className:"relative h-1.5 w-full grow overflow-hidden rounded-full bg-muted",children:(0,z.jsx)(cz,{className:"absolute h-full bg-primary"})}),(0,z.jsx)(cW,{className:(0,ey.cn)("block h-4 w-4 rounded-full border border-primary/60 bg-card shadow-[var(--shadow-sm-app)]","transition-colors hover:border-primary","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40 focus-visible:ring-offset-1 focus-visible:ring-offset-background"),"aria-label":"Value"})]}));function cY({id:e,label:r,description:s,rightSlot:i,children:n}){return(0,z.jsxs)("section",{id:e,className:"scroll-mt-6 rounded-[10px] border border-border bg-card p-5 shadow-[var(--shadow-sm-app)]",children:[(0,z.jsxs)("header",{className:"flex items-end justify-between gap-3 pb-3 mb-4 border-b border-border/70",children:[(0,z.jsxs)("div",{className:"min-w-0",children:[(0,z.jsx)("h2",{className:"text-[10.5px] font-semibold uppercase tracking-[0.08em] text-muted-foreground/80 leading-none",children:r}),s&&(0,z.jsx)("p",{className:"mt-2 text-[12px] text-muted-foreground/90 leading-snug",children:s})]}),i&&(0,z.jsx)("div",{className:"shrink-0",children:i})]}),(0,z.jsx)("div",{className:"space-y-4",children:n})]})}function cG({label:e,hint:r,htmlFor:s,mono:i,children:n}){return(0,z.jsxs)("div",{children:[(0,z.jsx)("label",{htmlFor:s,className:(0,ey.cn)("block text-[12px] font-medium text-foreground/90 mb-1.5",i&&"font-mono tracking-tight"),children:e}),n,r&&(0,z.jsx)("p",{className:"mt-1.5 text-[11px] text-muted-foreground/85 leading-relaxed",children:r})]})}function cX({name:e,value:r,options:s,onChange:i,columns:n=1}){return(0,z.jsx)("div",{className:(0,ey.cn)("grid gap-2",1===n&&"grid-cols-1",2===n&&"grid-cols-1 sm:grid-cols-2",3===n&&"grid-cols-1 sm:grid-cols-3"),role:"radiogroup",children:s.map(s=>{let n=r===s.value,o=s.Icon;return(0,z.jsxs)("label",{className:(0,ey.cn)("group relative flex items-start gap-3 px-3 py-2.5 rounded-[8px] border cursor-pointer","transition-[border-color,background-color,box-shadow] duration-150","focus-within:ring-2 focus-within:ring-ring/40 focus-within:ring-offset-1 focus-within:ring-offset-background",n?"border-primary/40 bg-[color-mix(in_oklch,var(--primary)_8%,var(--card))] shadow-[var(--shadow-sm-app)]":"border-border/70 bg-card hover:border-border hover:bg-muted/40"),children:[(0,z.jsx)("input",{type:"radio",name:e,value:s.value,checked:n,onChange:()=>i(s.value),className:"sr-only"}),(0,z.jsx)("span",{"aria-hidden":!0,className:(0,ey.cn)("mt-0.5 inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full border transition-colors",n?"border-primary bg-primary":"border-border bg-card group-hover:border-foreground/40"),children:n&&(0,z.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-primary-foreground"})}),o&&(0,z.jsx)(o,{className:(0,ey.cn)("h-4 w-4 mt-0.5 shrink-0 transition-colors",n?"text-primary":"text-muted-foreground")}),(0,z.jsxs)("span",{className:"flex-1 min-w-0",children:[(0,z.jsx)("span",{className:(0,ey.cn)("block text-[12.5px] font-medium leading-tight",n?"text-foreground":"text-foreground/90"),children:s.label}),s.description&&(0,z.jsx)("span",{className:"mt-0.5 block text-[11.5px] text-muted-foreground leading-snug",children:s.description})]}),s.meta&&(0,z.jsx)("span",{className:"ml-2 mt-0.5 shrink-0 font-mono text-[10.5px] text-muted-foreground/80",children:s.meta})]},s.value)})})}function cJ({variant:e="default",icon:r,children:s}){return(0,z.jsxs)("div",{className:(0,ey.cn)("flex items-center gap-2 rounded-[6px] px-2.5 py-1.5 text-[12px]","default"===e&&"text-muted-foreground bg-muted/40","success"===e&&"text-[color:var(--chart-2)] bg-[color-mix(in_oklch,var(--chart-2)_10%,var(--card))] border border-[color-mix(in_oklch,var(--chart-2)_25%,transparent)]","error"===e&&"text-destructive bg-[color-mix(in_oklch,var(--destructive)_8%,var(--card))] border border-[color-mix(in_oklch,var(--destructive)_25%,transparent)]"),children:[r&&(0,z.jsx)("span",{className:"shrink-0",children:r}),(0,z.jsx)("span",{className:"truncate",children:s})]})}function cZ({children:e}){return(0,z.jsx)("div",{className:"flex items-center justify-end gap-2 pt-1",children:e})}function cQ({nav:e,children:r}){let[s,i]=(0,$.useState)(e[0]?.id??""),n=(0,$.useRef)(null);return(0,$.useEffect)(()=>{let r=n.current;if(!r)return;let s=()=>{let s=r.getBoundingClientRect(),n=s.top+.25*s.height,o=e[0]?.id??"";for(let s of e){let e=r.querySelector(`#${CSS.escape(s.id)}`);e&&e.getBoundingClientRect().top<=n&&(o=s.id)}i(o)};return s(),r.addEventListener("scroll",s,{passive:!0}),()=>r.removeEventListener("scroll",s)},[e]),(0,z.jsxs)("div",{className:"flex-1 min-h-0 grid grid-cols-[200px_minmax(0,1fr)] overflow-hidden",children:[(0,z.jsx)("aside",{className:"border-r border-border bg-[color:var(--sidebar)] overflow-y-auto",children:(0,z.jsx)("nav",{className:"p-3 flex flex-col gap-0.5",children:e.map(e=>{let r=e.Icon,o=s===e.id;return(0,z.jsxs)("button",{type:"button",onClick:()=>(e=>{let r=n.current;if(!r)return;let s=r.querySelector(`#${CSS.escape(e)}`);if(!s)return;let o=s.offsetTop-12;r.scrollTo({top:o,behavior:"smooth"}),i(e)})(e.id),className:(0,ey.cn)("group relative flex items-center gap-2.5 w-full px-2.5 py-1.5 rounded-[6px] text-[12.5px] text-left","transition-colors duration-100",o?"bg-card text-foreground font-medium shadow-[var(--shadow-sm-app)]":"text-muted-foreground hover:bg-muted/50 hover:text-foreground"),children:[o&&(0,z.jsx)("span",{"aria-hidden":!0,className:"absolute -left-3 top-1.5 bottom-1.5 w-[2px] rounded-full bg-primary"}),r&&(0,z.jsx)(r,{className:(0,ey.cn)("h-3.5 w-3.5 shrink-0",o?"text-foreground":"text-muted-foreground/80")}),(0,z.jsx)("span",{className:"truncate",children:e.label}),e.badge&&(0,z.jsx)("span",{className:"ml-auto font-mono text-[10px] text-muted-foreground/80",children:e.badge})]},e.id)})})}),(0,z.jsx)("div",{ref:n,className:"overflow-y-auto",children:(0,z.jsx)("div",{className:"mx-auto max-w-2xl px-8 py-7 space-y-6",children:r})})]})}cV.displayName="Slider";let c0=[{value:"light",label:"Light",description:"Bright surface, true-white cards",Icon:cx},{value:"dark",label:"Dark",description:"Low-light surfaces with deep neutrals",Icon:cg},{value:"system",label:"System",description:"Match your OS preference",Icon:ol}],{fontSizeMin:c1,fontSizeMax:c2}=rx.CONVERSATION_SETTINGS_LIMITS;function c5(){let{theme:e,setTheme:r}=(0,cv.useTheme)(),{settings:s,setAgentFontSize:i,setChatFontSize:n,setFilesTreeFontSize:o,setFilesContentFontSize:a}=(0,c_.useConversationSettings)();return(0,z.jsxs)("div",{className:"space-y-6",children:[(0,z.jsx)(cG,{label:"Theme",hint:"Sets the surface palette across the app. Switching is instant.",children:(0,z.jsx)(cX,{name:"theme",value:e,options:c0,onChange:r,columns:3})}),(0,z.jsx)(cG,{label:"Conversation font size",hint:"Independent typography for agent and chat views. Affects message body and tool output; chrome elements stay fixed.",children:(0,z.jsxs)("div",{className:"space-y-5",children:[(0,z.jsx)(c3,{label:"Agent conversation",value:s.agentFontSize,onChange:i}),(0,z.jsx)(c3,{label:"Chat session",value:s.chatFontSize,onChange:n})]})}),(0,z.jsx)(cG,{label:"Files font size",hint:"Independent typography for the Files tab. File tree controls the file list and search results; file content controls the preview and code.",children:(0,z.jsxs)("div",{className:"space-y-5",children:[(0,z.jsx)(c3,{label:"File tree, File search",value:s.filesTreeFontSize,onChange:o}),(0,z.jsx)(c3,{label:"File content",value:s.filesContentFontSize,onChange:a})]})}),(0,z.jsx)(cZ,{children:(0,z.jsx)(W.Button,{variant:"ghost",size:"sm",onClick:()=>{i(rx.DEFAULT_CONVERSATION_SETTINGS.agentFontSize),n(rx.DEFAULT_CONVERSATION_SETTINGS.chatFontSize),o(rx.DEFAULT_CONVERSATION_SETTINGS.filesTreeFontSize),a(rx.DEFAULT_CONVERSATION_SETTINGS.filesContentFontSize)},children:"Reset"})})]})}function c3({label:e,value:r,onChange:s}){return(0,z.jsxs)("div",{children:[(0,z.jsxs)("div",{className:"flex items-baseline justify-between mb-1.5",children:[(0,z.jsx)("span",{className:"text-[12px] font-medium text-foreground/90",children:e}),(0,z.jsxs)("span",{className:"font-mono text-[11.5px] text-foreground/80 tabular-nums",children:[r," px"]})]}),(0,z.jsx)(cV,{min:c1,max:c2,step:1,value:[r],onValueChange:e=>s(e[0])}),(0,z.jsxs)("div",{className:"flex justify-between mt-1 text-[10.5px] text-muted-foreground/80 font-mono",children:[(0,z.jsx)("span",{children:c1}),(0,z.jsx)("span",{children:c2})]})]})}let c4=(0,ew.default)("waypoints",[["circle",{cx:"12",cy:"4.5",r:"2.5",key:"r5ysbb"}],["path",{d:"m10.2 6.3-3.9 3.9",key:"1nzqf6"}],["circle",{cx:"4.5",cy:"12",r:"2.5",key:"jydg6v"}],["path",{d:"M7 12h10",key:"b7w52i"}],["circle",{cx:"19.5",cy:"12",r:"2.5",key:"1piiel"}],["path",{d:"m13.8 17.7 3.9-3.9",key:"1wyg1y"}],["circle",{cx:"12",cy:"19.5",r:"2.5",key:"13o1pw"}]]),c6={deepseek:cp,openrouter:c4},c8=rx.PROVIDER_IDS.map(e=>({value:e,label:rx.PROVIDERS[e].label,description:"deepseek"===e?"Direct API access — lowest latency":"Aggregator routing — many models available",Icon:c6[e]}));function c7({name:e,value:r,onChange:s}){let i=rx.PROVIDERS[r.provider];return(0,z.jsxs)("div",{className:"space-y-3",children:[(0,z.jsx)(cX,{name:e,value:r.provider,options:c8,onChange:e=>s((0,rx.defaultModelChoice)(e)),columns:2}),i.models?(0,z.jsxs)(l6,{value:r.model,onValueChange:e=>s({...r,model:e}),children:[(0,z.jsx)(l7,{className:"w-full font-mono text-[12.5px]",children:(0,z.jsx)(l8,{})}),(0,z.jsx)(l9,{children:i.models.map(e=>(0,z.jsx)(ce,{value:e,className:"font-mono text-[12.5px]",children:i.modelLabels?.[e]??e},e))})]}):(0,z.jsx)(ro,{className:"font-mono text-[12.5px]",placeholder:i.placeholder,value:r.model,onChange:e=>s({...r,model:e.target.value})})]})}function c9(){let[e,r]=(0,$.useState)(()=>(0,rx.defaultChatProviderConfig)().apiKeys),[s,i]=(0,$.useState)(()=>({deepseek:!1,openrouter:!1})),[n,o]=(0,$.useState)(()=>(0,rx.defaultModelChoice)()),[a,l]=(0,$.useState)(()=>(0,rx.defaultModelChoice)()),[c,d]=(0,$.useState)(!0),[u,h]=(0,$.useState)(!1),[f,p]=(0,$.useState)(null);(0,$.useEffect)(()=>{d(!0),rx.api.getChatProviderSettings().then(e=>{r(e.apiKeys),o(e.main),l(e.fast),i({deepseek:!1,openrouter:!1})}).finally(()=>d(!1))},[]);let m=async()=>{h(!0),p(null);try{let c={};for(let r of rx.PROVIDER_IDS)s[r]&&(c[r]=e[r]);let d={main:n,fast:a};Object.keys(c).length>0&&(d.apiKeys=c);let u=await rx.api.updateChatProviderSettings(d);r(u.apiKeys),o(u.main),l(u.fast),i({deepseek:!1,openrouter:!1}),p("Settings saved"),setTimeout(()=>p(null),2e3)}catch(e){p(e instanceof Error?e.message:"Failed to save")}finally{h(!1)}};return c?(0,z.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):(0,z.jsxs)("div",{className:"space-y-6",children:[(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsx)("p",{className:"text-[12px] font-medium text-foreground/70",children:"API keys"}),rx.PROVIDER_IDS.map(n=>{let o=rx.PROVIDERS[n],a=s[n],l=e[n];return(0,z.jsx)(cG,{label:`${o.label} API key`,mono:!0,hint:(0,z.jsxs)(z.Fragment,{children:["Leave empty to fall back to the"," ",(0,z.jsx)("code",{className:"font-mono text-[10.5px] bg-muted/60 border border-border/60 rounded px-1 py-px",children:o.envKey})," ","environment variable."]}),children:(0,z.jsx)(ro,{type:"password",className:"font-mono text-[12px]",placeholder:l&&!a?l:"sk-...",value:a?l:"",onChange:e=>{var s;return s=e.target.value,void(r(e=>({...e,[n]:s})),i(e=>({...e,[n]:!0})),p(null))}})},n)})]}),(0,z.jsx)(cG,{label:"Main model",hint:"Powers the chat session.",children:(0,z.jsx)(c7,{name:"main-provider",value:n,onChange:e=>{o(e),p(null)}})}),(0,z.jsx)(cG,{label:"Fast model",hint:"Powers translate and agent session titles. Can use a different provider than the main model.",children:(0,z.jsx)(c7,{name:"fast-provider",value:a,onChange:e=>{l(e),p(null)}})}),f&&(0,z.jsx)(cJ,{variant:"Settings saved"===f?"success":"error",icon:"Settings saved"===f?(0,z.jsx)(rS,{className:"h-3.5 w-3.5"}):(0,z.jsx)(rC,{className:"h-3.5 w-3.5"}),children:f}),(0,z.jsx)(cZ,{children:(0,z.jsxs)(W.Button,{size:"sm",onClick:m,disabled:u,children:[u&&(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Save"]})})]})}let de=[{value:"none",label:"Direct",description:"No proxy — connect directly to the internet",Icon:(0,ew.default)("shield-off",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71",key:"1jlk70"}],["path",{d:"M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264",key:"18rp1v"}]])},{value:"http",label:"HTTP / HTTPS",description:"Route through an HTTP CONNECT proxy",Icon:ch},{value:"socks5",label:"SOCKS5",description:"Route through a SOCKS5 proxy server",Icon:c4}];function dt(){let[e,r]=(0,$.useState)("none"),[s,i]=(0,$.useState)(""),[n,o]=(0,$.useState)(""),[a,l]=(0,$.useState)(!0),[c,d]=(0,$.useState)(!1),[u,h]=(0,$.useState)(!1),[f,p]=(0,$.useState)(null),[m,g]=(0,$.useState)(null);(0,$.useEffect)(()=>{l(!0),p(null),g(null),rx.api.getProxySettings().then(e=>{r(e.type),i(e.host),o(e.port?String(e.port):"")}).finally(()=>l(!1))},[]);let x=()=>({type:e,host:"none"===e?"":s.trim(),port:"none"===e?0:parseInt(n,10)||0}),v=async()=>{h(!0),p(null);try{p(await rx.api.testProxyConnection(x()))}catch(e){p({success:!1,message:e instanceof Error?e.message:"Test failed"})}finally{h(!1)}},_=async()=>{d(!0),g(null);try{await rx.api.updateProxySettings(x()),g("Settings saved"),setTimeout(()=>g(null),2e3)}catch(e){g(e instanceof Error?e.message:"Failed to save")}finally{d(!1)}},y="none"!==e;return a?(0,z.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsx)(cG,{label:"Connection mode",children:(0,z.jsx)(cX,{name:"proxyType",value:e,options:de,onChange:e=>{r(e),p(null),g(null)}})}),y&&(0,z.jsxs)("div",{className:"grid grid-cols-[1fr_120px] gap-3",children:[(0,z.jsx)(cG,{label:"Host",mono:!0,children:(0,z.jsx)(ro,{placeholder:"127.0.0.1",value:s,className:"font-mono text-[12.5px]",onChange:e=>{i(e.target.value),p(null),g(null)}})}),(0,z.jsx)(cG,{label:"Port",mono:!0,children:(0,z.jsx)(ro,{type:"number",placeholder:"1080",value:n,className:"font-mono text-[12.5px]",onChange:e=>{o(e.target.value),p(null),g(null)},min:1,max:65535})})]}),f&&(0,z.jsx)(cJ,{variant:f.success?"success":"error",icon:f.success?(0,z.jsx)(rS,{className:"h-3.5 w-3.5"}):(0,z.jsx)(rC,{className:"h-3.5 w-3.5"}),children:f.message??(f.success?"Connection succeeded":"Connection failed")}),m&&!f&&(0,z.jsx)(cJ,{variant:"Settings saved"===m?"success":"error",icon:"Settings saved"===m?(0,z.jsx)(rS,{className:"h-3.5 w-3.5"}):(0,z.jsx)(rC,{className:"h-3.5 w-3.5"}),children:m}),(0,z.jsxs)(cZ,{children:[y&&(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:v,disabled:u||!s.trim()||!n,children:[u&&(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Test connection"]}),(0,z.jsxs)(W.Button,{size:"sm",onClick:_,disabled:c,children:[c&&(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Save"]})]})]})}var dr=e.i(276949);let{scrollbackMin:ds,scrollbackMax:di,fontSizeMin:dn,fontSizeMax:da}=rx.TERMINAL_SETTINGS_LIMITS;function dl(){let{settings:e,loaded:r,refresh:s}=(0,dr.useTerminalSettings)(),[i,n]=(0,$.useState)(String(rx.DEFAULT_TERMINAL_SETTINGS.scrollback)),[o,a]=(0,$.useState)(String(rx.DEFAULT_TERMINAL_SETTINGS.fontSize)),[l,c]=(0,$.useState)(rx.DEFAULT_TERMINAL_SETTINGS.fontFamily),[d,u]=(0,$.useState)(!1),[h,f]=(0,$.useState)(null);(0,$.useEffect)(()=>{r&&(n(String(e.scrollback)),a(String(e.fontSize)),c(e.fontFamily))},[r,e.scrollback,e.fontSize,e.fontFamily]);let p=parseInt(i,10),m=parseInt(o,10),g=Number.isFinite(p)&&p>=ds&&p<=di,x=Number.isFinite(m)&&m>=dn&&m<=da,v=""!==l.trim(),_=g&&x&&v,y=async()=>{if(_){u(!0),f(null);try{let e={scrollback:p,fontSize:m,fontFamily:l.trim()};await rx.api.updateTerminalSettings(e),await s(),f("Settings saved"),setTimeout(()=>f(null),2e3)}catch(e){f(e instanceof Error?e.message:"Failed to save")}finally{u(!1)}}};return r?(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,z.jsx)(cG,{label:"Scrollback",mono:!0,hint:(0,z.jsxs)("span",{children:["Lines kept in buffer."," ",(0,z.jsxs)("span",{className:"font-mono text-foreground/70",children:[ds,"–",di]})," · default ",(0,z.jsx)("span",{className:"font-mono text-foreground/70",children:rx.DEFAULT_TERMINAL_SETTINGS.scrollback})]}),children:(0,z.jsx)(ro,{type:"number",min:ds,max:di,value:i,className:"font-mono text-[12.5px]",onChange:e=>{n(e.target.value),f(null)}})}),(0,z.jsx)(cG,{label:"Font size",mono:!0,hint:(0,z.jsxs)("span",{children:["Pixels."," ",(0,z.jsxs)("span",{className:"font-mono text-foreground/70",children:[dn,"–",da]})," · default ",(0,z.jsx)("span",{className:"font-mono text-foreground/70",children:rx.DEFAULT_TERMINAL_SETTINGS.fontSize})]}),children:(0,z.jsx)(ro,{type:"number",min:dn,max:da,value:o,className:"font-mono text-[12.5px]",onChange:e=>{a(e.target.value),f(null)}})})]}),(0,z.jsx)(cG,{label:"Font family",mono:!0,hint:"CSS font-family list. Use monospace fonts for column alignment.",children:(0,z.jsx)(ro,{value:l,className:"font-mono text-[12px]",onChange:e=>{c(e.target.value),f(null)},placeholder:rx.DEFAULT_TERMINAL_SETTINGS.fontFamily})}),h&&(0,z.jsx)(cJ,{variant:"Settings saved"===h?"success":"error",icon:"Settings saved"===h?(0,z.jsx)(rS,{className:"h-3.5 w-3.5"}):(0,z.jsx)(rC,{className:"h-3.5 w-3.5"}),children:h}),(0,z.jsxs)(cZ,{children:[(0,z.jsx)(W.Button,{variant:"outline",size:"sm",onClick:()=>{n(String(rx.DEFAULT_TERMINAL_SETTINGS.scrollback)),a(String(rx.DEFAULT_TERMINAL_SETTINGS.fontSize)),c(rx.DEFAULT_TERMINAL_SETTINGS.fontFamily),f(null)},disabled:d,children:"Reset"}),(0,z.jsxs)(W.Button,{size:"sm",onClick:y,disabled:d||!_,children:[d&&(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Save"]})]})]}):(0,z.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin text-muted-foreground"})})}let{min:dc,max:dd}=rx.AGENT_PROCESS_SETTINGS_LIMITS;function du(){let[e,r]=(0,$.useState)(String(rx.DEFAULT_AGENT_PROCESS_SETTINGS.maxResidentAgentProcesses)),[s,i]=(0,$.useState)(!1),[n,o]=(0,$.useState)(!1),[a,l]=(0,$.useState)(null);(0,$.useEffect)(()=>{let e=!1;return(0,rx.getAgentProcessSettings)().then(s=>{e||(r(String(s.maxResidentAgentProcesses)),i(!0))}).catch(r=>{e||(l(r instanceof Error?r.message:"Failed to load settings"),i(!0))}),()=>{e=!0}},[]);let c=parseInt(e,10),d=Number.isInteger(c)&&c>=dc&&c<=dd,u=async()=>{if(d){o(!0),l(null);try{let e=await (0,rx.updateAgentProcessSettings)({maxResidentAgentProcesses:c});r(String(e.maxResidentAgentProcesses)),l("Settings saved"),setTimeout(()=>l(null),2e3)}catch(e){l(e instanceof Error?e.message:"Failed to save")}finally{o(!1)}}};return s?(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsx)(cG,{label:"Resident agent processes",mono:!0,hint:(0,z.jsxs)("span",{children:["Live local or remote agent processes per server."," ",(0,z.jsxs)("span",{className:"font-mono text-foreground/70",children:[dc,"–",dd]})," · default ",(0,z.jsx)("span",{className:"font-mono text-foreground/70",children:rx.DEFAULT_AGENT_PROCESS_SETTINGS.maxResidentAgentProcesses})]}),children:(0,z.jsxs)("div",{className:"flex items-center gap-2 max-w-[220px]",children:[(0,z.jsx)(oa,{className:"h-4 w-4 text-muted-foreground"}),(0,z.jsx)(ro,{type:"number",min:dc,max:dd,value:e,className:"font-mono text-[12.5px]",onChange:e=>{r(e.target.value),l(null)}})]})}),a&&(0,z.jsx)(cJ,{variant:"Settings saved"===a?"success":"error",icon:"Settings saved"===a?(0,z.jsx)(rS,{className:"h-3.5 w-3.5"}):(0,z.jsx)(rC,{className:"h-3.5 w-3.5"}),children:a}),(0,z.jsxs)(cZ,{children:[(0,z.jsx)(W.Button,{variant:"outline",size:"sm",onClick:()=>{r(String(rx.DEFAULT_AGENT_PROCESS_SETTINGS.maxResidentAgentProcesses)),l(null)},disabled:n,children:"Reset"}),(0,z.jsxs)(W.Button,{size:"sm",onClick:u,disabled:n||!d,children:[n&&(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}),"Save"]})]})]}):(0,z.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin text-muted-foreground"})})}let dh=[{id:"appearance",label:"Appearance",Icon:cf},{id:"ai-chat",label:"AI Chat",Icon:cp},{id:"agents",label:"Agents",Icon:oa},{id:"terminal",label:"Terminal",Icon:cm},{id:"proxy",label:"Proxy",Icon:ch}];function df(){return(0,z.jsxs)("div",{className:"h-full flex flex-col overflow-hidden",children:[(0,z.jsx)(a8,{title:"Settings",description:"Theme, intelligence, terminal, and network preferences."}),(0,z.jsxs)(cQ,{nav:dh,children:[(0,z.jsx)(cY,{id:"appearance",label:"Appearance",description:"Visual surface for the workspace. Affects every view.",children:(0,z.jsx)(c5,{})}),(0,z.jsx)(cY,{id:"ai-chat",label:"AI Chat",description:"Provider, credentials, and default model used for the orchestrator chat.",children:(0,z.jsx)(c9,{})}),(0,z.jsx)(cY,{id:"agents",label:"Agents",description:"Resident coding-agent process limits per workspace branch.",children:(0,z.jsx)(du,{})}),(0,z.jsx)(cY,{id:"terminal",label:"Terminal",description:"Buffer size and typography for the executor terminal.",children:(0,z.jsx)(dl,{})}),(0,z.jsx)(cY,{id:"proxy",label:"Proxy",description:"Outbound network routing for AI providers and remote servers.",children:(0,z.jsx)(dt,{})})]})]})}let dp=(0,ew.default)("plug-zap",[["path",{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z",key:"goz73y"}],["path",{d:"m2 22 3-3",key:"19mgm9"}],["path",{d:"M7.5 13.5 10 11",key:"7xgeeb"}],["path",{d:"M10.5 16.5 13 14",key:"10btkg"}],["path",{d:"m18 3-4 4h6l-4 4",key:"16psg9"}]]),dm=(0,ew.default)("key-round",[["path",{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z",key:"1s6t7t"}],["circle",{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor",key:"w0ekpg"}]]);var dg=e.i(710307);let dx={name:"",url:"",apiKey:"",connectionMode:"outbound"};function dv(){let[e,r]=(0,$.useState)([]),[s,i]=(0,$.useState)(!0),[n,o]=(0,$.useState)(""),[a,l]=(0,$.useState)(!1),[c,d]=(0,$.useState)(null),[u,h]=(0,$.useState)(dx),[f,p]=(0,$.useState)(""),[m,g]=(0,$.useState)(!1),[x,v]=(0,$.useState)(null),[_,y]=(0,$.useState)(!1),[b,w]=(0,$.useState)({}),[S,C]=(0,$.useState)({}),[j,k]=(0,$.useState)(null),[N,D]=(0,$.useState)(null),[E,R]=(0,$.useState)(null),[A,F]=(0,$.useState)(!1),[M,T]=(0,$.useState)(!1),P=(0,$.useCallback)(async()=>{try{let e=await rx.api.getRemoteServers();r(e),o("")}catch(e){o(e instanceof Error?e.message:"Failed to load servers")}finally{i(!1)}},[]);(0,$.useEffect)(()=>{P()},[P]),(0,$.useEffect)(()=>{let e=setInterval(P,15e3),r=()=>P();return window.addEventListener("focus",r),()=>{clearInterval(e),window.removeEventListener("focus",r)}},[P]);let B=async()=>{if(!u.name.trim())return void p("Name is required");if("outbound"===u.connectionMode&&!u.url.trim())return void p("URL is required for outbound servers");g(!0),p("");try{if(c){let e={};u.name.trim()!==c.name&&(e.name=u.name.trim()),u.url.trim()!==(c.url||"")&&(e.url=u.url.trim()),u.apiKey.trim()&&(e.apiKey=u.apiKey.trim()),await rx.api.updateRemoteServer(c.id,e)}else await rx.api.createRemoteServer({name:u.name.trim(),url:u.url.trim(),...u.apiKey.trim()?{apiKey:u.apiKey.trim()}:{},connectionMode:u.connectionMode});l(!1),await P()}catch(e){p(e instanceof Error?e.message:"Failed to save server")}finally{g(!1)}},L=async()=>{if(x){y(!0);try{await rx.api.deleteRemoteServer(x.id),v(null),await P()}catch(e){p(e instanceof Error?e.message:"Failed to delete server")}finally{y(!1)}}},I=async e=>{w(r=>({...r,[e.id]:"testing"})),C(r=>{let s={...r};return delete s[e.id],s});try{let r=await rx.api.testRemoteServer(e.id);w(s=>({...s,[e.id]:r.success?"success":"error"})),r.success||C(r=>({...r,[e.id]:"Connection failed"}))}catch(r){w(r=>({...r,[e.id]:"error"})),C(s=>({...s,[e.id]:r instanceof Error?r.message:"Test failed"}))}},O=async e=>{k(e),D(null),R(null),T(!1),F(!0);try{let r=await rx.api.generateRemoteServerToken(e.id);D(r.token),R(r.connectCommand)}catch(e){p(e instanceof Error?e.message:"Failed to generate token"),k(null)}finally{F(!1)}},H=async e=>{try{await rx.api.revokeRemoteServerToken(e.id),await P()}catch(e){o(e instanceof Error?e.message:"Failed to revoke token")}};return s?(0,z.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,z.jsx)(rj,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsxs)("div",{children:[(0,z.jsx)("h3",{className:"text-sm font-medium",children:"Remote Servers"}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Manage globally available remote servers"})]}),(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:()=>{d(null),h(dx),p(""),l(!0)},children:[(0,z.jsx)(eS,{className:"h-4 w-4 mr-1.5"}),"Add Server"]})]}),n&&(0,z.jsx)("p",{className:"text-sm text-red-500",children:n}),0===e.length?(0,z.jsxs)("div",{className:"text-center py-8 text-sm text-muted-foreground border rounded-md",children:[(0,z.jsx)(r_,{className:"h-8 w-8 mx-auto mb-2 opacity-40"}),"No remote servers configured"]}):(0,z.jsxs)(le,{children:[(0,z.jsx)(lt,{children:(0,z.jsxs)(ls,{children:[(0,z.jsx)(li,{children:"Name"}),(0,z.jsx)(li,{children:"Mode"}),(0,z.jsx)(li,{children:"URL / Status"}),(0,z.jsx)(li,{className:"w-[180px] text-right",children:"Actions"})]})}),(0,z.jsx)(lr,{children:e.map(e=>{let r;return(0,z.jsxs)(ls,{children:[(0,z.jsx)(ln,{className:"font-medium",children:(0,z.jsxs)("div",{className:"flex items-center",children:[(e=>{if("inbound"!==e.connection_mode)return null;let r="online"===e.status;return(0,z.jsx)("span",{className:`inline-block h-2.5 w-2.5 rounded-full mr-2 ${r?"bg-green-500":"bg-gray-400"}`,title:r?"Online":"Offline"})})(e),e.name]})}),(0,z.jsx)(ln,{children:(0,z.jsx)("span",{className:`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${"inbound"===e.connection_mode?"bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400":"bg-gray-100 text-gray-800 dark:bg-gray-800 dark:text-gray-400"}`,children:"inbound"===e.connection_mode?"Inbound":"Outbound"})}),(0,z.jsx)(ln,{className:"font-mono text-xs text-muted-foreground",children:"inbound"===e.connection_mode?"online"===e.status?"Connected":"Waiting for connection...":e.url}),(0,z.jsxs)(ln,{className:"text-right",children:[(0,z.jsxs)("div",{className:"flex items-center justify-end gap-1",children:["inbound"===e.connection_mode&&(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",onClick:()=>O(e),title:"Generate connect token",className:"h-8 w-8",children:(0,z.jsx)(dm,{className:"h-4 w-4"})}),(r=b[e.id]||"idle",(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",onClick:()=>I(e),disabled:"testing"===r,title:"Test connection",className:"h-8 w-8",children:"testing"===r?(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin"}):"success"===r?(0,z.jsx)(rh.Check,{className:"h-4 w-4 text-green-500"}):"error"===r?(0,z.jsx)(t8,{className:"h-4 w-4 text-red-500"}):(0,z.jsx)(dp,{className:"h-4 w-4"})})),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",onClick:()=>{d(e),h({name:e.name,url:e.url||"",apiKey:"",connectionMode:e.connection_mode}),p(""),l(!0)},title:"Edit server",className:"h-8 w-8",children:(0,z.jsx)(rm,{className:"h-4 w-4"})}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",onClick:()=>v(e),title:"Delete server",className:"h-8 w-8 text-destructive hover:text-destructive",children:(0,z.jsx)(rl,{className:"h-4 w-4"})})]}),S[e.id]&&(0,z.jsx)("p",{className:"text-xs text-red-500 mt-1 text-right",children:S[e.id]})]})]},e.id)})})]}),(0,z.jsx)(t7,{open:a,onOpenChange:l,children:(0,z.jsxs)(rt,{className:"sm:max-w-md",children:[(0,z.jsxs)(rr,{children:[(0,z.jsx)(ri,{children:c?"Edit Server":"Add Remote Server"}),(0,z.jsx)(rn,{children:c?"Update the server connection details.":"Add a new remote server to the global registry."})]}),(0,z.jsxs)("div",{className:"space-y-4",children:[!c&&(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Connection Mode"}),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsx)(W.Button,{type:"button",variant:"outbound"===u.connectionMode?"default":"outline",size:"sm",onClick:()=>h(e=>({...e,connectionMode:"outbound"})),children:"Outbound"}),(0,z.jsx)(W.Button,{type:"button",variant:"inbound"===u.connectionMode?"default":"outline",size:"sm",onClick:()=>h(e=>({...e,connectionMode:"inbound"})),children:"Inbound"})]}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:"outbound"===u.connectionMode?"Server connects outbound to the remote node (remote must have a public URL).":"Remote node connects inbound to this server (no public URL needed on remote)."})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Name"}),(0,z.jsx)(ro,{value:u.name,onChange:e=>{h(r=>({...r,name:e.target.value})),p("")},placeholder:"My Remote Server"})]}),("outbound"===u.connectionMode||c)&&(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsxs)("label",{className:"text-sm font-medium",children:["URL","inbound"!==u.connectionMode||c?"":" (optional)"]}),(0,z.jsx)(ro,{value:u.url,onChange:e=>{h(r=>({...r,url:e.target.value})),p("")},placeholder:"http://remote-server:5173"})]}),"outbound"===u.connectionMode&&(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"API Key"}),(0,z.jsx)(ro,{type:"password",value:u.apiKey,onChange:e=>{h(r=>({...r,apiKey:e.target.value})),p("")},placeholder:c?"(unchanged)":"Optional"})]}),f&&(0,z.jsx)("p",{className:"text-sm text-red-500",children:f})]}),(0,z.jsxs)(rs,{children:[(0,z.jsx)(W.Button,{variant:"outline",onClick:()=>l(!1),children:"Cancel"}),(0,z.jsxs)(W.Button,{onClick:B,disabled:m,children:[m&&(0,z.jsx)(rj,{className:"h-4 w-4 mr-1.5 animate-spin"}),c?"Save Changes":"Add Server"]})]})]})}),(0,z.jsx)(t7,{open:null!==j,onOpenChange:e=>{e||(k(null),D(null),R(null))},children:(0,z.jsxs)(rt,{className:"sm:max-w-lg",children:[(0,z.jsxs)(rr,{children:[(0,z.jsx)(ri,{children:"Connect Token"}),(0,z.jsxs)(rn,{children:["Use this token to connect a remote node to"," ",(0,z.jsx)("span",{className:"font-semibold",children:j?.name}),". The token is shown only once."]})]}),A?(0,z.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,z.jsx)(rj,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):N?(0,z.jsx)("div",{className:"space-y-4",children:(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Connect Command"}),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsx)(ro,{readOnly:!0,value:E||"",className:"font-mono text-xs"}),(0,z.jsx)(W.Button,{variant:"outline",size:"icon",className:"shrink-0",onClick:()=>{var e;return e=E||"",void(navigator.clipboard.writeText(e),T(!0),setTimeout(()=>T(!1),2e3))},title:"Copy command",children:M?(0,z.jsx)(rh.Check,{className:"h-4 w-4 text-green-500"}):(0,z.jsx)(dg.Copy,{className:"h-4 w-4"})})]}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Run this command on the remote machine to establish the reverse connection."})]})}):null,(0,z.jsxs)(rs,{children:[N&&j&&(0,z.jsx)(W.Button,{variant:"outline",className:"mr-auto text-destructive hover:text-destructive",onClick:()=>{H(j),k(null),D(null)},children:"Revoke Token"}),(0,z.jsx)(W.Button,{variant:"outline",onClick:()=>{k(null),D(null),R(null)},children:"Close"})]})]})}),(0,z.jsx)(t7,{open:null!==x,onOpenChange:e=>{e||v(null)},children:(0,z.jsxs)(rt,{className:"sm:max-w-sm",children:[(0,z.jsxs)(rr,{children:[(0,z.jsx)(ri,{children:"Delete Server"}),(0,z.jsxs)(rn,{children:["Are you sure you want to delete"," ",(0,z.jsx)("span",{className:"font-semibold",children:x?.name}),"? This will also remove it from any projects that reference it."]})]}),(0,z.jsxs)(rs,{children:[(0,z.jsx)(W.Button,{variant:"outline",onClick:()=>v(null),children:"Cancel"}),(0,z.jsxs)(W.Button,{variant:"destructive",onClick:L,disabled:_,children:[_&&(0,z.jsx)(rj,{className:"h-4 w-4 mr-1.5 animate-spin"}),"Delete"]})]})]})})]})}function d_({projectId:e,project:r,open:s,onOpenChange:i,onWorktreeCreated:n}){let[o,a]=(0,$.useState)(""),[l,c]=(0,$.useState)(!1),[d,u]=(0,$.useState)(null),[h,f]=(0,$.useState)(null),[p,m]=(0,$.useState)(!0),[g,x]=(0,$.useState)(!0),[v,_]=(0,$.useState)([]),[y,b]=(0,$.useState)([]),[w,S]=(0,$.useState)("main"),[C,j]=(0,$.useState)("main"),[k,N]=(0,$.useState)(!1),D=!!(r.path&&r.remote_path);(0,$.useEffect)(()=>{s&&(N(!0),D?Promise.all([rx.api.getProjectBranches(e,"local"),rx.api.getProjectBranches(e,"remote")]).then(([e,r])=>{_(e),b(r),S(e.includes("main")?"main":e[0]||"main"),j(r.includes("main")?"main":r[0]||"main"),N(!1)}):rx.api.getProjectBranches(e).then(e=>{_(e),S(e.includes("main")?"main":e[0]||"main"),N(!1)}))},[s,e,D]);let E=async()=>{if(o.trim()){c(!0),u(null),f(null);try{let r;D&&(r=[],p&&r.push("local"),g&&r.push("remote"));let s=await rx.api.createWorktree(e,o.trim(),r,w,D?C:void 0);if(s.partialSuccess){let e,r=s.results?.remote?.success===!1?"remote":"local",i=s.results?.[r],n=i?.error||"Unknown error",o=i?.errorCode,a=i?.requestId;switch(o){case"timeout":e="Connection to remote server timed out. The remote server may be slow or unreachable.";break;case"network_error":e="Cannot connect to remote server. Check that the server is running and the URL is correct.";break;case"auth_error":e="Authentication failed with remote server. Check the API key in project settings.";break;case"server_error":e=`Remote server returned an error: ${n}`;break;default:e=`Worktree created locally, but ${r} creation failed: ${n}`}a&&(e+=` (Request ID: ${a})`),f(e)}n(s.worktree.branch),s.partialSuccess||(i(!1),a(""))}catch(e){u(e instanceof Error?e.message:"Failed to create worktree")}finally{c(!1)}}},R=e=>{e||(a(""),u(null),f(null),m(!0),x(!0),_([]),b([]),S("main"),j("main")),i(e)},A=(e,r,s,i)=>(0,z.jsxs)(l6,{value:r,onValueChange:s,disabled:i||k,children:[(0,z.jsx)(l7,{size:"sm",children:(0,z.jsx)(l8,{placeholder:k?"Loading...":"Select branch"})}),(0,z.jsx)(l9,{children:e.map(e=>(0,z.jsx)(ce,{value:e,children:e},e))})]});return(0,z.jsx)(t7,{open:s,onOpenChange:R,children:(0,z.jsxs)(rt,{children:[(0,z.jsxs)(rr,{children:[(0,z.jsx)(ri,{children:"Create New Worktree"}),(0,z.jsx)(rn,{children:"Create a new branch based on an existing branch"})]}),(0,z.jsxs)("div",{className:"space-y-4",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{htmlFor:"branch-name",className:"text-sm font-medium",children:"Branch Name"}),(0,z.jsx)(ro,{id:"branch-name",placeholder:"feature/my-feature",value:o,onChange:e=>a(e.target.value),disabled:l,onKeyDown:e=>{"Enter"===e.key&&o.trim()&&(!D||p||g)&&E()}})]}),D?(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Create On"}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsxs)("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[(0,z.jsx)("input",{type:"checkbox",checked:p,onChange:e=>{(e.target.checked||g)&&m(e.target.checked)},disabled:l,className:"h-4 w-4 rounded border-input accent-primary"}),(0,z.jsx)("span",{children:"Local"}),(0,z.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:r.path})]}),p&&v.length>0&&(0,z.jsxs)("div",{className:"ml-6",children:[(0,z.jsx)("label",{className:"text-xs text-muted-foreground",children:"Base Branch"}),A(v,w,S,l)]}),(0,z.jsxs)("label",{className:"flex items-center gap-2 text-sm cursor-pointer",children:[(0,z.jsx)("input",{type:"checkbox",checked:g,onChange:e=>{(e.target.checked||p)&&x(e.target.checked)},disabled:l,className:"h-4 w-4 rounded border-input accent-primary"}),(0,z.jsx)("span",{children:"Remote"}),(0,z.jsx)("span",{className:"text-muted-foreground truncate text-xs",children:r.remote_path})]}),g&&y.length>0&&(0,z.jsxs)("div",{className:"ml-6",children:[(0,z.jsx)("label",{className:"text-xs text-muted-foreground",children:"Base Branch"}),A(y,C,j,l)]})]})]}):v.length>0&&(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Base Branch"}),A(v,w,S,l)]}),h&&(0,z.jsx)("div",{className:"text-sm text-yellow-600 dark:text-yellow-500 bg-yellow-500/10 px-3 py-2 rounded-md",children:h}),d&&(0,z.jsx)("div",{className:"text-sm text-destructive bg-destructive/10 px-3 py-2 rounded-md",children:d})]}),(0,z.jsxs)(rs,{children:[(0,z.jsx)(W.Button,{variant:"outline",onClick:()=>R(!1),disabled:l,children:"Cancel"}),(0,z.jsx)(W.Button,{onClick:E,disabled:!o.trim()||l||D&&!p&&!g,children:l?"Creating...":"Create"})]})]})})}function dy({projectId:e,worktree:r,open:s,onOpenChange:i,onWorktreeDeleted:n}){let[o,a]=(0,$.useState)(!1),[l,c]=(0,$.useState)(null),[d,u]=(0,$.useState)(null),h=async()=>{if(r){a(!0),c(null),u(null);try{let s=await rx.api.deleteWorktree(e,r.branch);if(s.partialSuccess){let e=s.results?.remote?.error||"Unknown error";u(`Local worktree deleted, but remote deletion failed: ${e}`)}n(),s.partialSuccess||i(!1)}catch(e){c(e instanceof Error?e.message:"Failed to delete worktree")}finally{a(!1)}}},f=e=>{e||(c(null),u(null)),i(e)};return(0,z.jsx)(t7,{open:s,onOpenChange:f,children:(0,z.jsxs)(rt,{children:[(0,z.jsxs)(rr,{children:[(0,z.jsx)(ri,{children:"Delete Worktree"}),(0,z.jsx)(rn,{children:"Are you sure you want to delete this worktree?"})]}),r&&(0,z.jsx)("div",{className:"space-y-2",children:(0,z.jsxs)("div",{className:"text-sm",children:[(0,z.jsx)("span",{className:"font-medium",children:"Branch:"})," ",(0,z.jsx)("span",{className:"text-muted-foreground",children:r.branch})]})}),d&&(0,z.jsx)("div",{className:"text-sm text-yellow-600 dark:text-yellow-500 bg-yellow-500/10 px-3 py-2 rounded-md",children:d}),l&&(0,z.jsx)("div",{className:"text-sm text-destructive bg-destructive/10 px-3 py-2 rounded-md",children:l}),(0,z.jsxs)(rs,{children:[(0,z.jsx)(W.Button,{variant:"outline",onClick:()=>f(!1),disabled:o,children:"Cancel"}),(0,z.jsx)(W.Button,{variant:"destructive",onClick:h,disabled:o,children:o?"Deleting...":"Delete"})]})]})})}e.i(247755);var db=e.i(642098);function dw(){let{config:e}=(0,cd.useAppConfig)();return e?.authEnabled?(0,z.jsx)("div",{className:"flex items-center",children:(0,z.jsx)(db.UserButton,{appearance:{elements:{avatarBox:"h-7 w-7 ring-1 ring-border/60"}}})}):null}var dS=e.i(183663),dC="Collapsible",[dj,dk]=K(dC),[dN,dD]=dj(dC),dE=$.forwardRef((e,r)=>{let{__scopeCollapsible:s,open:i,defaultOpen:n,disabled:o,onOpenChange:a,...l}=e,[c,d]=G({prop:i,defaultProp:n??!1,onChange:a,caller:dC});return(0,z.jsx)(dN,{scope:s,disabled:o,contentId:ek(),open:c,onOpenToggle:$.useCallback(()=>d(e=>!e),[d]),children:(0,z.jsx)(er.div,{"data-state":dP(c),"data-disabled":o?"":void 0,...l,ref:r})})});dE.displayName=dC;var dR="CollapsibleTrigger",dA=$.forwardRef((e,r)=>{let{__scopeCollapsible:s,...i}=e,n=dD(dR,s);return(0,z.jsx)(er.button,{type:"button","aria-controls":n.contentId,"aria-expanded":n.open||!1,"data-state":dP(n.open),"data-disabled":n.disabled?"":void 0,disabled:n.disabled,...i,ref:r,onClick:q(e.onClick,n.onOpenToggle)})});dA.displayName=dR;var dF="CollapsibleContent",dM=$.forwardRef((e,r)=>{let{forceMount:s,...i}=e,n=dD(dF,e.__scopeCollapsible);return(0,z.jsx)(Z,{present:s||n.open,children:({present:e})=>(0,z.jsx)(dT,{...i,ref:r,present:e})})});dM.displayName=dF;var dT=$.forwardRef((e,r)=>{let{__scopeCollapsible:s,present:i,children:n,...o}=e,a=dD(dF,s),[l,c]=$.useState(i),d=$.useRef(null),u=(0,U.useComposedRefs)(r,d),h=$.useRef(0),f=h.current,p=$.useRef(0),m=p.current,g=a.open||l,x=$.useRef(g),v=$.useRef(void 0);return $.useEffect(()=>{let e=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(e)},[]),V(()=>{let e=d.current;if(e){v.current=v.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let r=e.getBoundingClientRect();h.current=r.height,p.current=r.width,x.current||(e.style.transitionDuration=v.current.transitionDuration,e.style.animationName=v.current.animationName),c(i)}},[a.open,i]),(0,z.jsx)(er.div,{"data-state":dP(a.open),"data-disabled":a.disabled?"":void 0,id:a.contentId,hidden:!g,...o,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:g&&n})});function dP(e){return e?"open":"closed"}function dB({...e}){return(0,z.jsx)(dE,{"data-slot":"collapsible",...e})}function dL({...e}){return(0,z.jsx)(dA,{"data-slot":"collapsible-trigger",...e})}function dI({...e}){return(0,z.jsx)(dM,{"data-slot":"collapsible-content",...e})}let dO=(0,ew.default)("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]),dz=(0,ew.default)("ellipsis-vertical",[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]]),d$=(0,ew.default)("grip-vertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]]),dW=(0,ew.default)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var dH=e.i(885101),dU=Object.defineProperty,dK=Object.getOwnPropertyDescriptor,dq=(e,r,s,i)=>{for(var n,o=i>1?void 0:i?dK(r,s):r,a=e.length-1;a>=0;a--)(n=e[a])&&(o=(i?n(r,s,o):n(o))||o);return i&&o&&dU(r,s,o),o},dV=(e,r)=>(s,i)=>r(s,i,e),dY="Terminal input",dG="Too much output to announce, navigate to rows manually to read";function dX(e,r,s,i){var n;n=e=e.replace(/\r?\n/g,"\r"),e=s.decPrivateModes.bracketedPasteMode&&!0!==i.rawOptions.ignoreBracketedPasteMode?"\x1b[200~"+n+"\x1b[201~":n,s.triggerDataEvent(e,!0),r.value=""}function dJ(e,r,s){let i=s.getBoundingClientRect(),n=e.clientX-i.left-10,o=e.clientY-i.top-10;r.style.width="20px",r.style.height="20px",r.style.left=`${n}px`,r.style.top=`${o}px`,r.style.zIndex="1000",r.focus()}function dZ(e,r,s,i,n){dJ(e,r,s),n&&i.rightClickSelect(e),r.value=i.selectionText,r.select()}function dQ(e){return e>65535?String.fromCharCode(((e-=65536)>>10)+55296)+String.fromCharCode(e%1024+56320):String.fromCharCode(e)}function d0(e,r=0,s=e.length){let i="";for(let n=r;n<s;++n){let r=e[n];r>65535?(r-=65536,i+=String.fromCharCode((r>>10)+55296)+String.fromCharCode(r%1024+56320)):i+=String.fromCharCode(r)}return i}var d1=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,r){let s=e.length;if(!s)return 0;let i=0,n=0;if(this._interim){let s=e.charCodeAt(n++);56320<=s&&s<=57343?r[i++]=(this._interim-55296)*1024+s-56320+65536:(r[i++]=this._interim,r[i++]=s),this._interim=0}for(let o=n;o<s;++o){let n=e.charCodeAt(o);if(55296<=n&&n<=56319){if(++o>=s)return this._interim=n,i;let a=e.charCodeAt(o);56320<=a&&a<=57343?r[i++]=(n-55296)*1024+a-56320+65536:(r[i++]=n,r[i++]=a);continue}65279!==n&&(r[i++]=n)}return i}},d2=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,r){let s=e.length;if(!s)return 0;let i=0,n,o,a,l,c=0,d=0;if(this.interim[0]){let n=!1,o=this.interim[0];o&=(224&o)==192?31:(240&o)==224?15:7;let a=0,l;for(;(l=63&this.interim[++a])&&a<4;)o<<=6,o|=l;let c=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,u=c-a;for(;d<u;){if(d>=s)return 0;if((192&(l=e[d++]))!=128){d--,n=!0;break}this.interim[a++]=l,o<<=6,o|=63&l}n||(2===c?o<128?d--:r[i++]=o:3===c?o<2048||o>=55296&&o<=57343||65279===o||(r[i++]=o):o<65536||o>1114111||(r[i++]=o)),this.interim.fill(0)}let u=s-4,h=d;for(;h<s;){for(;h<u&&!(128&(n=e[h]))&&!(128&(o=e[h+1]))&&!(128&(a=e[h+2]))&&!(128&(l=e[h+3]));)r[i++]=n,r[i++]=o,r[i++]=a,r[i++]=l,h+=4;if((n=e[h++])<128)r[i++]=n;else if((224&n)==192){if(h>=s)return this.interim[0]=n,i;if((192&(o=e[h++]))!=128||(c=(31&n)<<6|63&o)<128){h--;continue}r[i++]=c}else if((240&n)==224){if(h>=s)return this.interim[0]=n,i;if((192&(o=e[h++]))!=128){h--;continue}if(h>=s)return this.interim[0]=n,this.interim[1]=o,i;if((192&(a=e[h++]))!=128){h--;continue}if((c=(15&n)<<12|(63&o)<<6|63&a)<2048||c>=55296&&c<=57343||65279===c)continue;r[i++]=c}else if((248&n)==240){if(h>=s)return this.interim[0]=n,i;if((192&(o=e[h++]))!=128){h--;continue}if(h>=s)return this.interim[0]=n,this.interim[1]=o,i;if((192&(a=e[h++]))!=128){h--;continue}if(h>=s)return this.interim[0]=n,this.interim[1]=o,this.interim[2]=a,i;if((192&(l=e[h++]))!=128){h--;continue}if((c=(7&n)<<18|(63&o)<<12|(63&a)<<6|63&l)<65536||c>1114111)continue;r[i++]=c}}return i}},d5=class e{constructor(){this.fg=0,this.bg=0,this.extended=new d3}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){let r=new e;return r.fg=this.fg,r.bg=this.bg,r.extended=this.extended.clone(),r}isInverse(){return 0x4000000&this.fg}isBold(){return 0x8000000&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:0x10000000&this.fg}isBlink(){return 0x20000000&this.fg}isInvisible(){return 0x40000000&this.fg}isItalic(){return 0x4000000&this.bg}isDim(){return 0x8000000&this.bg}isStrikethrough(){return 0x80000000&this.fg}isProtected(){return 0x20000000&this.bg}isOverline(){return 0x40000000&this.bg}getFgColorMode(){return 0x3000000&this.fg}getBgColorMode(){return 0x3000000&this.bg}isFgRGB(){return(0x3000000&this.fg)==0x3000000}isBgRGB(){return(0x3000000&this.bg)==0x3000000}isFgPalette(){return(0x3000000&this.fg)==0x1000000||(0x3000000&this.fg)==0x2000000}isBgPalette(){return(0x3000000&this.bg)==0x1000000||(0x3000000&this.bg)==0x2000000}isFgDefault(){return(0x3000000&this.fg)==0}isBgDefault(){return(0x3000000&this.bg)==0}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(0x3000000&this.fg){case 0x1000000:case 0x2000000:return 255&this.fg;case 0x3000000:return 0xffffff&this.fg;default:return -1}}getBgColor(){switch(0x3000000&this.bg){case 0x1000000:case 0x2000000:return 255&this.bg;case 0x3000000:return 0xffffff&this.bg;default:return -1}}hasExtendedAttrs(){return 0x10000000&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-0x10000001:this.bg|=0x10000000}getUnderlineColor(){if(0x10000000&this.bg&&~this.extended.underlineColor)switch(0x3000000&this.extended.underlineColor){case 0x1000000:case 0x2000000:return 255&this.extended.underlineColor;case 0x3000000:return 0xffffff&this.extended.underlineColor}return this.getFgColor()}getUnderlineColorMode(){return 0x10000000&this.bg&&~this.extended.underlineColor?0x3000000&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 0x10000000&this.bg&&~this.extended.underlineColor?(0x3000000&this.extended.underlineColor)==0x3000000:this.isFgRGB()}isUnderlineColorPalette(){return 0x10000000&this.bg&&~this.extended.underlineColor?(0x3000000&this.extended.underlineColor)==0x1000000||(0x3000000&this.extended.underlineColor)==0x2000000:this.isFgPalette()}isUnderlineColorDefault(){return 0x10000000&this.bg&&~this.extended.underlineColor?(0x3000000&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 0x10000000&this.fg?0x10000000&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},d3=class e{constructor(e=0,r=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=r}get ext(){return this._urlId?-0x1c000001&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(0x1c000000&this._ext)>>26}set underlineStyle(e){this._ext&=-0x1c000001,this._ext|=e<<26&0x1c000000}get underlineColor(){return 0x3ffffff&this._ext}set underlineColor(e){this._ext&=-0x4000000,this._ext|=0x3ffffff&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(0xe0000000&this._ext)>>29;return e<0?0xfffffff8^e:e}set underlineVariantOffset(e){this._ext&=0x1fffffff,this._ext|=e<<29&0xe0000000}clone(){return new e(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}},d4=class e extends d5{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new d3,this.combinedData=""}static fromCharData(r){let s=new e;return s.setFromCharData(r),s}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?dQ(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[0],this.bg=0;let r=!1;if(e[1].length>2)r=!0;else if(2===e[1].length){let s=e[1].charCodeAt(0);if(55296<=s&&s<=56319){let i=e[1].charCodeAt(1);56320<=i&&i<=57343?this.content=(s-55296)*1024+i-56320+65536|e[2]<<22:r=!0}else r=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;r&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},d6="di$target",d8="di$dependencies",d7=new Map;function d9(e){if(d7.has(e))return d7.get(e);let r=function(e,s,i){var n,o,a;if(3!=arguments.length)throw Error("@IServiceName-decorator can only be used to decorate a parameter");n=r,o=e,a=i,o[d6]===o?o[d8].push({id:n,index:a}):(o[d8]=[{id:n,index:a}],o[d6]=o)};return r._id=e,d7.set(e,r),r}var ue=d9("BufferService"),ut=d9("CoreMouseService"),ur=d9("CoreService"),us=d9("CharsetService"),ui=d9("InstantiationService"),un=d9("LogService"),uo=d9("OptionsService"),ua=d9("OscLinkService"),ul=d9("UnicodeService"),uc=d9("DecorationService"),ud=class{constructor(e,r,s){this._bufferService=e,this._optionsService=r,this._oscLinkService=s}provideLinks(e,r){let s=this._bufferService.buffer.lines.get(e-1);if(!s)return void r(void 0);let i=[],n=this._optionsService.rawOptions.linkHandler,o=new d4,a=s.getTrimmedLength(),l=-1,c=-1,d=!1;for(let r=0;r<a;r++)if(!(-1===c&&!s.hasContent(r))){if(s.loadCell(r,o),o.hasExtendedAttrs()&&o.extended.urlId)if(-1===c){c=r,l=o.extended.urlId;continue}else d=o.extended.urlId!==l;else -1!==c&&(d=!0);if(d||-1!==c&&r===a-1){let s=this._oscLinkService.getLinkData(l)?.uri;if(s){let o={start:{x:c+1,y:e},end:{x:r+ +(!d&&r===a-1),y:e}},l=!1;if(!n?.allowNonHttpProtocols)try{let e=new URL(s);["http:","https:"].includes(e.protocol)||(l=!0)}catch{l=!0}l||i.push({text:s,range:o,activate:(e,r)=>n?n.activate(e,r,o):function(e,r){if(confirm(`Do you want to navigate to ${r}?
|
|
6
|
+
|
|
7
|
+
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=r}else console.warn("Opening link blocked as opener could not be cleared")}}(0,r),hover:(e,r)=>n?.hover?.(e,r,o),leave:(e,r)=>n?.leave?.(e,r,o)})}d=!1,o.hasExtendedAttrs()&&o.extended.urlId?(c=r,l=o.extended.urlId):(c=-1,l=-1)}}r(i)}};ud=dq([dV(0,ue),dV(1,uo),dV(2,ua)],ud);var uu=d9("CharSizeService"),uh=d9("CoreBrowserService"),uf=d9("MouseService"),up=d9("RenderService"),um=d9("SelectionService"),ug=d9("CharacterJoinerService"),ux=d9("ThemeService"),uv=d9("LinkProviderService"),u_=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?uS.isErrorNoTelemetry(e)?new uS(e.message+`
|
|
8
|
+
|
|
9
|
+
`+e.stack):Error(e.message+`
|
|
10
|
+
|
|
11
|
+
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(r=>{r(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function uy(e){var r;(r=e)instanceof uw||r instanceof Error&&r.name===ub&&r.message===ub||u_.onUnexpectedError(e)}var ub="Canceled",uw=class extends Error{constructor(){super(ub),this.name=this.message}},uS=class e extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(r){if(r instanceof e)return r;let s=new e;return s.message=r.message,s.stack=r.stack,s}static isErrorNoTelemetry(e){return"CodeExpectedError"===e.name}},uC=class e extends Error{constructor(r){super(r||"An unexpected bug occurred."),Object.setPrototypeOf(this,e.prototype)}};function uj(e,r=0){return e[e.length-(1+r)]}(uG=uZ||={}).isLessThan=function(e){return e<0},uG.isLessThanOrEqual=function(e){return e<=0},uG.isGreaterThan=function(e){return e>0},uG.isNeitherLessOrGreaterThan=function(e){return 0===e},uG.greaterThan=1,uG.lessThan=-1,uG.neitherLessOrGreaterThan=0;var uk=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(r=>(e(r),!0))}toArray(){let e=[];return this.iterate(r=>(e.push(r),!0)),e}filter(r){return new e(e=>this.iterate(s=>!r(s)||e(s)))}map(r){return new e(e=>this.iterate(s=>e(r(s))))}some(e){let r=!1;return this.iterate(s=>!(r=e(s))),r}findFirst(e){let r;return this.iterate(s=>!e(s)||(r=s,!1)),r}findLast(e){let r;return this.iterate(s=>(e(s)&&(r=s),!0)),r}findLastMaxBy(e){let r,s=!0;return this.iterate(i=>((s||uZ.isGreaterThan(e(i,r)))&&(s=!1,r=i),!0)),r}};uk.empty=new uk(e=>{});function uN(e){}function uD(e,r){}function uE(e){if(uQ.is(e)){let r=[];for(let s of e)if(s)try{s.dispose()}catch(e){r.push(e)}if(1===r.length)throw r[0];if(r.length>1)throw AggregateError(r,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function uR(e){let r={dispose:function(e,r){let s=this,i=!1,n;return function(){if(i)return n;if(i=!0,r)try{n=e.apply(s,arguments)}finally{r()}else n=e.apply(s,arguments);return n}}(()=>{uN(r),e()})};return r}(e=>{function r(e){return e&&"object"==typeof e&&"function"==typeof e[Symbol.iterator]}e.is=r;let s=Object.freeze([]);function*i(e){yield e}e.empty=function(){return s},e.single=i,e.wrap=function(e){return r(e)?e:i(e)},e.from=function(e){return e||s},e.reverse=function*(e){for(let r=e.length-1;r>=0;r--)yield e[r]},e.isEmpty=function(e){return!e||!0===e[Symbol.iterator]().next().done},e.first=function(e){return e[Symbol.iterator]().next().value},e.some=function(e,r){let s=0;for(let i of e)if(r(i,s++))return!0;return!1},e.find=function(e,r){for(let s of e)if(r(s))return s},e.filter=function*(e,r){for(let s of e)r(s)&&(yield s)},e.map=function*(e,r){let s=0;for(let i of e)yield r(i,s++)},e.flatMap=function*(e,r){let s=0;for(let i of e)yield*r(i,s++)},e.concat=function*(...e){for(let r of e)yield*r},e.reduce=function(e,r,s){let i=s;for(let s of e)i=r(i,s);return i},e.slice=function*(e,r,s=e.length){for(r<0&&(r+=e.length),s<0?s+=e.length:s>e.length&&(s=e.length);r<s;r++)yield e[r]},e.consume=function(r,s=1/0){let i=[];if(0===s)return[i,r];let n=r[Symbol.iterator]();for(let r=0;r<s;r++){let r=n.next();if(r.done)return[i,e.empty()];i.push(r.value)}return[i,{[Symbol.iterator]:()=>n}]},e.asyncToArray=async function(e){let r=[];for await(let s of e)r.push(s);return Promise.resolve(r)}})(uQ||={});var uA=class e{constructor(){var e;this._toDispose=new Set,this._isDisposed=!1,e=this}dispose(){this._isDisposed||(uN(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{uE(this._toDispose)}finally{this._toDispose.clear()}}add(r){if(!r)return r;if(r===this)throw Error("Cannot register a disposable on itself!");return uD(r,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(r),r}delete(e){if(e){if(e===this)throw Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),uD(e,null))}};uA.DISABLE_DISPOSED_WARNING=!1;var uF=uA,uM=class{constructor(){var e;this._store=new uF,e=this,uD(this._store,this)}dispose(){uN(this),this._store.dispose()}_register(e){if(e===this)throw Error("Cannot register a disposable on itself!");return this._store.add(e)}};uM.None=Object.freeze({dispose(){}});var uT=class{constructor(){var e;this._isDisposed=!1,e=this}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&uD(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,uN(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&uD(e,null),e}},uP="object"==typeof window?window:globalThis,uB=class e{constructor(r){this.element=r,this.next=e.Undefined,this.prev=e.Undefined}};uB.Undefined=new uB(void 0);var uL=class{constructor(){this._first=uB.Undefined,this._last=uB.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===uB.Undefined}clear(){let e=this._first;for(;e!==uB.Undefined;){let r=e.next;e.prev=uB.Undefined,e.next=uB.Undefined,e=r}this._first=uB.Undefined,this._last=uB.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,r){let s=new uB(e);if(this._first===uB.Undefined)this._first=s,this._last=s;else if(r){let e=this._last;this._last=s,s.prev=e,e.next=s}else{let e=this._first;this._first=s,s.next=e,e.prev=s}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(s))}}shift(){if(this._first!==uB.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==uB.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==uB.Undefined&&e.next!==uB.Undefined){let r=e.prev;r.next=e.next,e.next.prev=r}else e.prev===uB.Undefined&&e.next===uB.Undefined?(this._first=uB.Undefined,this._last=uB.Undefined):e.next===uB.Undefined?(this._last=this._last.prev,this._last.next=uB.Undefined):e.prev===uB.Undefined&&(this._first=this._first.next,this._first.prev=uB.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==uB.Undefined;)yield e.element,e=e.next}},uI=globalThis.performance&&"function"==typeof globalThis.performance.now,uO=class e{static create(r){return new e(r)}constructor(e){this._now=uI&&!1===e?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return -1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}};(e=>{function r(e){}function s(e){return(r,s=null,i)=>{let n=!1,o;return o=e(e=>{if(!n)return o?o.dispose():n=!0,r.call(s,e)},null,i),n&&o.dispose(),o}}function i(e,r,s){return o((s,i=null,n)=>e(e=>s.call(i,r(e)),null,n),s)}function n(e,r,s){return o((s,i=null,n)=>e(e=>r(e)&&s.call(i,e),null,n),s)}function o(e,s){let i,n={onWillAddFirstListener(){i=e(o.fire,o)},onDidRemoveLastListener(){i?.dispose()}};s||r(n);let o=new u8(n);return s?.add(o),o.event}function a(e,s,i=100,n=!1,o=!1,l,c){let d,u,h,f=0,p,m={leakWarningThreshold:l,onWillAddFirstListener(){d=e(e=>{f++,u=s(u,e),n&&!h&&(g.fire(u),u=void 0),p=()=>{let e=u;u=void 0,h=void 0,(!n||f>1)&&g.fire(e),f=0},"number"==typeof i?(clearTimeout(h),h=setTimeout(p,i)):void 0===h&&(h=0,queueMicrotask(p))})},onWillRemoveListener(){o&&f>0&&p?.()},onDidRemoveLastListener(){p=void 0,d.dispose()}};c||r(m);let g=new u8(m);return c?.add(g),g.event}e.None=()=>uM.None,e.defer=function(e,r){return a(e,()=>{},0,void 0,!0,void 0,r)},e.once=s,e.map=i,e.forEach=function(e,r,s){return o((s,i=null,n)=>e(e=>{r(e),s.call(i,e)},null,n),s)},e.filter=n,e.signal=function(e){return e},e.any=function(...e){return(r,s=null,i)=>{var n,o;return n=function(...e){var r,s;let i=uR(()=>uE(e));return r=0,s=0,i}(...e.map(e=>e(e=>r.call(s,e)))),(o=i)instanceof Array?o.push(n):o&&o.add(n),n}},e.reduce=function(e,r,s,n){let o=s;return i(e,e=>o=r(o,e),n)},e.debounce=a,e.accumulate=function(r,s=0,i){return e.debounce(r,(e,r)=>e?(e.push(r),e):[r],s,void 0,!0,void 0,i)},e.latch=function(e,r=(e,r)=>e===r,s){let i=!0,o;return n(e,e=>{let s=i||!r(e,o);return i=!1,o=e,s},s)},e.split=function(r,s,i){return[e.filter(r,s,i),e.filter(r,e=>!s(e),i)]},e.buffer=function(e,r=!1,s=[],i){let n=s.slice(),o=e(e=>{n?n.push(e):l.fire(e)});i&&i.add(o);let a=()=>{n?.forEach(e=>l.fire(e)),n=null},l=new u8({onWillAddFirstListener(){o||(o=e(e=>l.fire(e)),i&&i.add(o))},onDidAddFirstListener(){n&&(r?setTimeout(a):a())},onDidRemoveLastListener(){o&&o.dispose(),o=null}});return i&&i.add(l),l.event},e.chain=function(e,r){return(s,i,n)=>{let o=r(new c);return e(function(e){let r=o.evaluate(e);r!==l&&s.call(i,r)},void 0,n)}};let l=Symbol("HaltChainable");class c{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(r=>(e(r),r)),this}filter(e){return this.steps.push(r=>e(r)?r:l),this}reduce(e,r){let s=r;return this.steps.push(r=>s=e(s,r)),this}latch(e=(e,r)=>e===r){let r=!0,s;return this.steps.push(i=>{let n=r||!e(i,s);return r=!1,s=i,n?i:l}),this}evaluate(e){for(let r of this.steps)if((e=r(e))===l)break;return e}}e.fromNodeEventEmitter=function(e,r,s=e=>e){let i=(...e)=>n.fire(s(...e)),n=new u8({onWillAddFirstListener:()=>e.on(r,i),onDidRemoveLastListener:()=>e.removeListener(r,i)});return n.event},e.fromDOMEventEmitter=function(e,r,s=e=>e){let i=(...e)=>n.fire(s(...e)),n=new u8({onWillAddFirstListener:()=>e.addEventListener(r,i),onDidRemoveLastListener:()=>e.removeEventListener(r,i)});return n.event},e.toPromise=function(e){return new Promise(r=>s(e)(r))},e.fromPromise=function(e){let r=new u8;return e.then(e=>{r.fire(e)},()=>{r.fire(void 0)}).finally(()=>{r.dispose()}),r.event},e.forward=function(e,r){return e(e=>r.fire(e))},e.runAndSubscribe=function(e,r,s){return r(s),e(e=>r(e))};class d{constructor(e,s){this._observable=e,this._counter=0,this._hasChanged=!1;let i={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};s||r(i),this.emitter=new u8(i),s&&s.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,r){this._hasChanged=!0}endUpdate(e){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}e.fromObservable=function(e,r){return new d(e,r).emitter.event},e.fromObservableLight=function(e){return(r,s,i)=>{let n=0,o=!1,a={beginUpdate(){n++},endUpdate(){0==--n&&(e.reportChanges(),o&&(o=!1,r.call(s)))},handlePossibleChange(){},handleChange(){o=!0}};e.addObserver(a),e.reportChanges();let l={dispose(){e.removeObserver(a)}};return i instanceof uF?i.add(l):Array.isArray(i)&&i.push(l),l}}})(u0||={});var uz=class e{constructor(r){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${r}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new uO,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};uz.all=new Set,uz._idPool=0;var u$=class e{constructor(r,s,i=(e._idPool++).toString(16).padStart(3,"0")){this._errorHandler=r,this.threshold=s,this.name=i,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,r){let s=this.threshold;if(s<=0||r<s)return;this._stacks||(this._stacks=new Map);let i=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,i+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=.5*s;let[e,i]=this.getMostFrequentStack(),n=`[${this.name}] potential listener LEAK detected, having ${r} listeners already. MOST frequent listener (${i}):`;console.warn(n),console.warn(e);let o=new u5(n,e);this._errorHandler(o)}return()=>{let r=this._stacks.get(e.value)||0;this._stacks.set(e.value,r-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,r=0;for(let[s,i]of this._stacks)(!e||r<i)&&(e=[s,i],r=i);return e}};u$._idPool=1;var uW,uH,uU,uK,uq,uV,uY,uG,uX,uJ,uZ,uQ,u0,u1,u2=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??"")}print(){console.warn(this.value.split(`
|
|
12
|
+
`).slice(2).join(`
|
|
13
|
+
`))}},u5=class extends Error{constructor(e,r){super(e),this.name="ListenerLeakError",this.stack=r}},u3=class extends Error{constructor(e,r){super(e),this.name="ListenerRefusalError",this.stack=r}},u4=0,u6=class{constructor(e){this.value=e,this.id=u4++}},u8=class{constructor(e){this._size=0,this._options=e,this._leakageMon=this._options?.leakWarningThreshold?new u$(e?.onListenerError??uy,this._options?.leakWarningThreshold??-1):void 0,this._perfMon=this._options?._profName?new uz(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,r,s)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let r=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],s=new u3(`${e}. HINT: Stack shows most frequent listener (${r[1]}-times)`,r[0]);return(this._options?.onListenerError||uy)(s),uM.None}if(this._disposed)return uM.None;r&&(e=e.bind(r));let i=new u6(e),n;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(i.stack=u2.create(),n=this._leakageMon.check(i.stack,this._size+1)),this._listeners?this._listeners instanceof u6?(this._deliveryQueue??=new u7,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._size++;let o=uR(()=>{u1?.unregister(o),n?.(),this._removeListener(i)});if(s instanceof uF?s.add(o):Array.isArray(s)&&s.push(o),u1){let e=Error().stack.split(`
|
|
14
|
+
`).slice(2,3).join(`
|
|
15
|
+
`).trim(),r=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);u1.register(o,r?.[2]??e,o)}return o},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(1===this._size){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let r=this._listeners,s=r.indexOf(e);if(-1===s)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),Error("Attempted to dispose unknown listener");this._size--,r[s]=void 0;let i=this._deliveryQueue.current===this;if(2*this._size<=r.length){let e=0;for(let s=0;s<r.length;s++)r[s]?r[e++]=r[s]:i&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);r.length=e}}_deliver(e,r){if(!e)return;let s=this._options?.onListenerError||uy;try{e.value(r)}catch(e){s(e)}}_deliverQueue(e){let r=e.current._listeners;for(;e.i<e.end;)this._deliver(r[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof u6)this._deliver(this._listeners,e);else{let r=this._deliveryQueue;r.enqueue(this,e,this._listeners.length),this._deliverQueue(r)}this._perfMon?.stop()}hasListeners(){return this._size>0}},u7=class{constructor(){this.i=-1,this.end=0}enqueue(e,r,s){this.i=0,this.end=s,this.current=e,this.value=r}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},u9=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new u8,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new u8,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,r){if(this.getZoomLevel(r)===e)return;let s=this.getWindowId(r);this.mapWindowIdToZoomLevel.set(s,e),this._onDidChangeZoomLevel.fire(s)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,r){this.mapWindowIdToZoomFactor.set(this.getWindowId(r),e)}setFullscreen(e,r){if(this.isFullscreen(r)===e)return;let s=this.getWindowId(r);this.mapWindowIdToFullScreen.set(s,e),this._onDidChangeFullscreen.fire(s)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};u9.INSTANCE=new u9,u9.INSTANCE.onDidChangeZoomLevel,u9.INSTANCE.onDidChangeFullscreen;var he="object"==typeof navigator?navigator.userAgent:"",ht=he.indexOf("Firefox")>=0,hr=he.indexOf("AppleWebKit")>=0,hs=he.indexOf("Chrome")>=0,hi=!hs&&he.indexOf("Safari")>=0;he.indexOf("Electron/"),he.indexOf("Android");var hn=!1;if("function"==typeof uP.matchMedia){let e=uP.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),r=uP.matchMedia("(display-mode: fullscreen)");hn=e.matches,ho=e,"string"==typeof ho&&(ho=uP.matchMedia(ho)),ho.addEventListener("change",({matches:e})=>{hn&&r.matches||(hn=e)})}var ho,ha,hl,hc=!1,hd=!1,hu=!1,hh=!1,hf=!1,hp="en",hm=globalThis;"u">typeof hm.vscode&&"u">typeof hm.vscode.process?hl=hm.vscode.process:"u">typeof dH.default&&"string"==typeof dH.default?.versions?.node&&(hl=dH.default);var hg="string"==typeof hl?.versions?.electron&&hl?.type==="renderer";if("object"==typeof hl){hc="win32"===hl.platform,hd="darwin"===hl.platform,(hu="linux"===hl.platform)&&hl.env.SNAP&&hl.env.SNAP_REVISION,hl.env.CI||hl.env.BUILD_ARTIFACTSTAGINGDIRECTORY,hp="en";let e=hl.env.VSCODE_NLS_CONFIG;if(e)try{let r=JSON.parse(e);r.userLocale,r.osLocale,hp=r.resolvedLanguage||"en",r.languagePack?.translationsConfigFile}catch{}hh=!0}else"object"!=typeof navigator||hg?console.error("Unable to resolve platform."):(hc=(ha=navigator.userAgent).indexOf("Windows")>=0,hd=ha.indexOf("Macintosh")>=0,(ha.indexOf("Macintosh")>=0||ha.indexOf("iPad")>=0||ha.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,hu=ha.indexOf("Linux")>=0,ha?.indexOf("Mobi"),hf=!0,hp=globalThis._VSCODE_NLS_LANGUAGE||"en",navigator.language.toLowerCase());var hx=hc,hv=hd,h_=hu,hy=hh;hf&&"function"==typeof hm.importScripts&&hm.origin;var hb,hw=ha,hS=hp;(hM=hb||={}).value=function(){return hS},hM.isDefaultVariant=function(){return 2===hS.length?"en"===hS:hS.length>=3&&"e"===hS[0]&&"n"===hS[1]&&"-"===hS[2]},hM.isDefault=function(){return"en"===hS};var hC="function"==typeof hm.postMessage&&!hm.importScripts,hj=(()=>{if(hC){let e=[];hm.addEventListener("message",r=>{if(r.data&&r.data.vscodeScheduleAsyncWork)for(let s=0,i=e.length;s<i;s++){let i=e[s];if(i.id===r.data.vscodeScheduleAsyncWork){e.splice(s,1),i.callback();return}}});let r=0;return s=>{let i=++r;e.push({id:i,callback:s}),hm.postMessage({vscodeScheduleAsyncWork:i},"*")}}return e=>setTimeout(e)})(),hk=!!(hw&&hw.indexOf("Chrome")>=0);hw&&hw.indexOf("Firefox"),!hk&&hw&&hw.indexOf("Safari"),hw&&hw.indexOf("Edg/"),hw&&hw.indexOf("Android");var hN="object"==typeof navigator?navigator:{};hy||document.queryCommandSupported&&document.queryCommandSupported("copy")||hN&&hN.clipboard&&hN.clipboard.writeText,hy||hN&&hN.clipboard&&hN.clipboard.readText,hy||hn||hN.keyboard,"ontouchstart"in uP||hN.maxTouchPoints,uP.PointerEvent&&("ontouchstart"in uP||navigator.maxTouchPoints);var hD=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,r){this._keyCodeToStr[e]=r,this._strToKeyCode[r.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},hE=new hD,hR=new hD,hA=new hD,hF=Array(230);(hT=hP||={}).toString=function(e){return hE.keyCodeToStr(e)},hT.fromString=function(e){return hE.strToKeyCode(e)},hT.toUserSettingsUS=function(e){return hR.keyCodeToStr(e)},hT.toUserSettingsGeneral=function(e){return hA.keyCodeToStr(e)},hT.fromUserSettings=function(e){return hR.strToKeyCode(e)||hA.strToKeyCode(e)},hT.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return hE.keyCodeToStr(e)};var hM,hT,hP,hB,hL=class e{constructor(e,r,s,i,n){this.ctrlKey=e,this.shiftKey=r,this.altKey=s,this.metaKey=i,this.keyCode=n}equals(r){return r instanceof e&&this.ctrlKey===r.ctrlKey&&this.shiftKey===r.shiftKey&&this.altKey===r.altKey&&this.metaKey===r.metaKey&&this.keyCode===r.keyCode}getHashCode(){let e=this.ctrlKey?"1":"0",r=this.shiftKey?"1":"0",s=this.altKey?"1":"0",i=this.metaKey?"1":"0";return`K${e}${r}${s}${i}${this.keyCode}`}isModifierKey(){return 0===this.keyCode||5===this.keyCode||57===this.keyCode||6===this.keyCode||4===this.keyCode}toKeybinding(){return new hI([this])}isDuplicateModifierCase(){return this.ctrlKey&&5===this.keyCode||this.shiftKey&&4===this.keyCode||this.altKey&&6===this.keyCode||this.metaKey&&57===this.keyCode}},hI=class{constructor(e){if(0===e.length)throw function(e){return e?Error(`Illegal argument: ${e}`):Error("Illegal argument")}("chords");this.chords=e}getHashCode(){let e="";for(let r=0,s=this.chords.length;r<s;r++)0!==r&&(e+=";"),e+=this.chords[r].getHashCode();return e}equals(e){if(null===e||this.chords.length!==e.chords.length)return!1;for(let r=0;r<this.chords.length;r++)if(!this.chords[r].equals(e.chords[r]))return!1;return!0}},hO=hv?256:2048,hz=hv?2048:256,h$=class{constructor(e){this._standardKeyboardEventBrand=!0,this.browserEvent=e,this.target=e.target,this.ctrlKey=e.ctrlKey,this.shiftKey=e.shiftKey,this.altKey=e.altKey,this.metaKey=e.metaKey,this.altGraphKey=e.getModifierState?.("AltGraph"),this.keyCode=function(e){if(e.charCode){let r=String.fromCharCode(e.charCode).toUpperCase();return hP.fromString(r)}let r=e.keyCode;if(3===r)return 7;if(ht)switch(r){case 59:return 85;case 60:if(h_)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(hv)return 57}else if(hr&&(hv&&93===r||!hv&&92===r))return 57;return hF[r]||0}(e),this.code=e.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode);let r=0;return this.ctrlKey&&(r|=hO),this.altKey&&(r|=512),this.shiftKey&&(r|=1024),this.metaKey&&(r|=hz),r|=e}_computeKeyCodeChord(){let e=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(e=this.keyCode),new hL(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},hW=new WeakMap,hH=class{static getSameOriginWindowChain(e){let r=hW.get(e);if(!r){r=[],hW.set(e,r);let s=e,i;do(i=function(e){if(!e.parent||e.parent===e)return null;try{let r=e.location,s=e.parent.location;if("null"!==r.origin&&"null"!==s.origin&&r.origin!==s.origin)return null}catch{return null}return e.parent}(s))?r.push({window:new WeakRef(s),iframeElement:s.frameElement||null}):r.push({window:new WeakRef(s),iframeElement:null}),s=i;while(s)}return r.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,r){if(!r||e===r)return{top:0,left:0};let s=0,i=0;for(let n of this.getSameOriginWindowChain(e)){let e=n.window.deref();if(s+=e?.scrollY??0,i+=e?.scrollX??0,e===r||!n.iframeElement)break;let o=n.iframeElement.getBoundingClientRect();s+=o.top,i+=o.left}return{top:s,left:i}}},hU=class{constructor(e,r){this.timestamp=Date.now(),this.browserEvent=r,this.leftButton=0===r.button,this.middleButton=1===r.button,this.rightButton=2===r.button,this.buttons=r.buttons,this.target=r.target,this.detail=r.detail||1,"dblclick"===r.type&&(this.detail=2),this.ctrlKey=r.ctrlKey,this.shiftKey=r.shiftKey,this.altKey=r.altKey,this.metaKey=r.metaKey,"number"==typeof r.pageX?(this.posx=r.pageX,this.posy=r.pageY):(this.posx=r.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=r.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let s=hH.getPositionOfChildWindowRelativeToAncestorWindow(e,r.view);this.posx-=s.left,this.posy-=s.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},hK=class{constructor(e,r=0,s=0){this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=s,this.deltaX=r;let i=!1;if(hs){let e=navigator.userAgent.match(/Chrome\/(\d+)/);i=(e?parseInt(e[1]):123)<=122}if(e){let r=e.view?.devicePixelRatio||1;"u">typeof e.wheelDeltaY?i?this.deltaY=e.wheelDeltaY/(120*r):this.deltaY=e.wheelDeltaY/120:"u">typeof e.VERTICAL_AXIS&&e.axis===e.VERTICAL_AXIS?this.deltaY=-e.detail/3:"wheel"===e.type&&(e.deltaMode===e.DOM_DELTA_LINE?ht&&!hv?this.deltaY=-e.deltaY/3:this.deltaY=-e.deltaY:this.deltaY=-e.deltaY/40),"u">typeof e.wheelDeltaX?hi&&hx?this.deltaX=-(e.wheelDeltaX/120):i?this.deltaX=e.wheelDeltaX/(120*r):this.deltaX=e.wheelDeltaX/120:"u">typeof e.HORIZONTAL_AXIS&&e.axis===e.HORIZONTAL_AXIS?this.deltaX=-e.detail/3:"wheel"===e.type&&(e.deltaMode===e.DOM_DELTA_LINE?ht&&!hv?this.deltaX=-e.deltaX/3:this.deltaX=-e.deltaX:this.deltaX=-e.deltaX/40),0===this.deltaY&&0===this.deltaX&&e.wheelDelta&&(i?this.deltaY=e.wheelDelta/(120*r):this.deltaY=e.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},hq=Object.freeze(function(e,r){let s=setTimeout(e.bind(r),0);return{dispose(){clearTimeout(s)}}});(fB=hB||={}).isCancellationToken=function(e){return e===fB.None||e===fB.Cancelled||e instanceof hV||!!e&&"object"==typeof e&&"boolean"==typeof e.isCancellationRequested&&"function"==typeof e.onCancellationRequested},fB.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:u0.None}),fB.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:hq});var hV=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?hq:(this._emitter||(this._emitter=new u8),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};Symbol("MicrotaskDelay");var hY=class{constructor(e,r){this._isDisposed=!1,this._token=-1,"function"==typeof e&&"number"==typeof r&&this.setIfNotSet(e,r)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,r){if(this._isDisposed)throw new uC("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},r)}setIfNotSet(e,r){if(this._isDisposed)throw new uC("Calling 'setIfNotSet' on a disposed TimeoutTimer");-1===this._token&&(this._token=setTimeout(()=>{this._token=-1,e()},r))}},hG=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,r,s=globalThis){if(this.isDisposed)throw new uC("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let i=s.setInterval(()=>{e()},r);this.disposable=uR(()=>{s.clearInterval(i),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(fL=fI||={}).settled=async function(e){let r,s=await Promise.all(e.map(e=>e.then(e=>e,e=>{r||(r=e)})));if("u">typeof r)throw r;return s},fL.withAsyncBody=function(e){return new Promise(async(r,s)=>{try{await e(r,s)}catch(e){s(e)}})};var hX=class e{static fromArray(r){return new e(e=>{e.emitMany(r)})}static fromPromise(r){return new e(async e=>{e.emitMany(await r)})}static fromPromises(r){return new e(async e=>{await Promise.all(r.map(async r=>e.emitOne(await r)))})}static merge(r){return new e(async e=>{await Promise.all(r.map(async r=>{for await(let s of r)e.emitOne(s)}))})}constructor(e,r){this._state=0,this._results=[],this._error=null,this._onReturn=r,this._onStateChanged=new u8,queueMicrotask(async()=>{let r={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(r)),this.resolve()}catch(e){this.reject(e)}finally{r.emitOne=void 0,r.emitMany=void 0,r.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(1===this._state)return{done:!0,value:void 0};await u0.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(r,s){return new e(async e=>{for await(let i of r)e.emitOne(s(i))})}map(r){return e.map(this,r)}static filter(r,s){return new e(async e=>{for await(let i of r)s(i)&&e.emitOne(i)})}filter(r){return e.filter(this,r)}static coalesce(r){return e.filter(r,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let r=[];for await(let s of e)r.push(s);return r}toPromise(){return e.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}};hX.EMPTY=hX.fromArray([]);function hJ(e,r){return(r<<5)-r+e|0}function hZ(e,r){r=hJ(149417,r);for(let s=0,i=e.length;s<i;s++)r=hJ(e.charCodeAt(s),r);return r}new DataView(new ArrayBuffer(320));var{registerWindow:hQ,getWindow:h0,getDocument:h1,getWindows:h2,getWindowsCount:h5,getWindowId:h3,getWindowById:h4,hasWindow:h6,onDidRegisterWindow:h8,onWillUnregisterWindow:h7,onDidUnregisterWindow:h9}=(n=new Map,o={window:uP,disposables:new uF},n.set(uP.vscodeWindowId,o),a=new u8,l=new u8,c=new u8,{onDidRegisterWindow:a.event,onWillUnregisterWindow:c.event,onDidUnregisterWindow:l.event,registerWindow(e){if(n.has(e.vscodeWindowId))return uM.None;let r=new uF,s={window:e,disposables:r.add(new uF)};return n.set(e.vscodeWindowId,s),r.add(uR(()=>{n.delete(e.vscodeWindowId),l.fire(e)})),r.add(ft(e,fo.BEFORE_UNLOAD,()=>{c.fire(e)})),a.fire(s),r},getWindows:()=>n.values(),getWindowsCount:()=>n.size,getWindowId:e=>e.vscodeWindowId,hasWindow:e=>n.has(e),getWindowById:function(e,r){return("number"==typeof e?n.get(e):void 0)??(r?o:void 0)},getWindow:e=>e?.ownerDocument?.defaultView?e.ownerDocument.defaultView.window:e?.view?e.view.window:uP,getDocument:e=>h0(e).document}),fe=class{constructor(e,r,s,i){this._node=e,this._type=r,this._handler=s,this._options=i||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function ft(e,r,s,i){return new fe(e,r,s,i)}var fr=function(e,r,s,i){var n;let o=s;return"click"===r||"mousedown"===r||"contextmenu"===r?(n=h0(e),o=function(e){return s(new hU(n,e))}):("keydown"===r||"keypress"===r||"keyup"===r)&&(o=function(e){return s(new h$(e))}),ft(e,r,o,i)},fs=class extends hG{constructor(e){super(),this.defaultTarget=e&&h0(e)}cancelAndSet(e,r,s){return super.cancelAndSet(e,r,s??this.defaultTarget)}},fi=class{constructor(e,r=0){this._runner=e,this.priority=r,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){uy(e)}}static sort(e,r){return r.priority-e.priority}};d=new Map,u=new Map,h=new Map,f=new Map,fO=(e,r,s=0)=>{let i=h3(e),n=new fi(r,s),o=d.get(i);return o||(o=[],d.set(i,o)),o.push(n),h.get(i)||(h.set(i,!0),e.requestAnimationFrame(()=>(e=>{h.set(e,!1);let r=d.get(e)??[];for(u.set(e,r),d.set(e,[]),f.set(e,!0);r.length>0;)r.sort(fi.sort),r.shift().execute();f.set(e,!1)})(i))),n};var fn=class e{constructor(e,r){this.width=e,this.height=r}with(r=this.width,s=this.height){return r!==this.width||s!==this.height?new e(r,s):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(r){return r instanceof e?r:new e(r.width,r.height)}static equals(e,r){return e===r||!!e&&!!r&&e.width===r.width&&e.height===r.height}};fn.None=new fn(0,0),new class{constructor(){this.mutationObservers=new Map}observe(e,r,s){let i=this.mutationObservers.get(e);i||(i=new Map,this.mutationObservers.set(e,i));let n=function e(r,s){switch(typeof r){case"object":var i,n,o,a;return null===r?hJ(349,s):Array.isArray(r)?(i=r,n=hJ(104579,n=s),i.reduce((r,s)=>e(s,r),n)):(o=r,a=hJ(181387,a=s),Object.keys(o).sort().reduce((r,s)=>(r=hZ(s,r),e(o[s],r)),a));case"string":return hZ(r,s);case"boolean":return hJ(r?433:863,s);case"number":return hJ(r,s);case"undefined":return hJ(937,s);default:return hJ(617,s)}}(s,0),o=i.get(n);if(o)o.users+=1;else{let a=new u8,l=new MutationObserver(e=>a.fire(e));l.observe(e,s);let c=o={users:1,observer:l,onDidMutate:a.event};r.add(uR(()=>{c.users-=1,0===c.users&&(a.dispose(),l.disconnect(),i?.delete(n),i?.size===0&&this.mutationObservers.delete(e))})),i.set(n,o)}return o.onDidMutate}};var fo={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},fa=class{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){let r=fl(e);this._maxWidth!==r&&(this._maxWidth=r,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let r=fl(e);this._width!==r&&(this._width=r,this.domNode.style.width=this._width)}setHeight(e){let r=fl(e);this._height!==r&&(this._height=r,this.domNode.style.height=this._height)}setTop(e){let r=fl(e);this._top!==r&&(this._top=r,this.domNode.style.top=this._top)}setLeft(e){let r=fl(e);this._left!==r&&(this._left=r,this.domNode.style.left=this._left)}setBottom(e){let r=fl(e);this._bottom!==r&&(this._bottom=r,this.domNode.style.bottom=this._bottom)}setRight(e){let r=fl(e);this._right!==r&&(this._right=r,this.domNode.style.right=this._right)}setPaddingTop(e){let r=fl(e);this._paddingTop!==r&&(this._paddingTop=r,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let r=fl(e);this._paddingLeft!==r&&(this._paddingLeft=r,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let r=fl(e);this._paddingBottom!==r&&(this._paddingBottom=r,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let r=fl(e);this._paddingRight!==r&&(this._paddingRight=r,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let r=fl(e);this._fontSize!==r&&(this._fontSize=r,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let r=fl(e);this._lineHeight!==r&&(this._lineHeight=r,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let r=fl(e);this._letterSpacing!==r&&(this._letterSpacing=r,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,r){this.domNode.classList.toggle(e,r),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,r){this.domNode.setAttribute(e,r)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function fl(e){return"number"==typeof e?`${e}px`:e}function fc(e){return new fa(e)}var fd=class{constructor(){this._hooks=new uF,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,r){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let s=this._onStopCallback;this._onStopCallback=null,e&&s&&s(r)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,r,s,i,n){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=i,this._onStopCallback=n;let o=e;try{e.setPointerCapture(r),this._hooks.add(uR(()=>{try{e.releasePointerCapture(r)}catch{}}))}catch{o=h0(e)}this._hooks.add(ft(o,fo.POINTER_MOVE,e=>{e.buttons!==s?this.stopMonitoring(!0):(e.preventDefault(),this._pointerMoveCallback(e))})),this._hooks.add(ft(o,fo.POINTER_UP,e=>this.stopMonitoring(!0)))}};(p=fz||={}).Tap="-xterm-gesturetap",p.Change="-xterm-gesturechange",p.Start="-xterm-gesturestart",p.End="-xterm-gesturesend",p.Contextmenu="-xterm-gesturecontextmenu";var fu=class e extends uM{constructor(){super(),this.dispatched=!1,this.targets=new uL,this.ignoreTargets=new uL,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(u0.runAndSubscribe(h8,({window:e,disposables:r})=>{r.add(ft(e.document,"touchstart",e=>this.onTouchStart(e),{passive:!1})),r.add(ft(e.document,"touchend",r=>this.onTouchEnd(e,r))),r.add(ft(e.document,"touchmove",e=>this.onTouchMove(e),{passive:!1}))},{window:uP,disposables:this._store}))}static addTarget(r){return e.isTouchDevice()?(e.INSTANCE||(e.INSTANCE=new e),uR(e.INSTANCE.targets.push(r))):uM.None}static ignoreTarget(r){return e.isTouchDevice()?(e.INSTANCE||(e.INSTANCE=new e),uR(e.INSTANCE.ignoreTargets.push(r))):uM.None}static isTouchDevice(){return"ontouchstart"in uP||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){let r=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let s=0,i=e.targetTouches.length;s<i;s++){let i=e.targetTouches.item(s);this.activeTouches[i.identifier]={id:i.identifier,initialTarget:i.target,initialTimeStamp:r,initialPageX:i.pageX,initialPageY:i.pageY,rollingTimestamps:[r],rollingPageX:[i.pageX],rollingPageY:[i.pageY]};let n=this.newGestureEvent(fz.Start,i.target);n.pageX=i.pageX,n.pageY=i.pageY,this.dispatchEvent(n)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}onTouchEnd(r,s){let i=Date.now(),n=Object.keys(this.activeTouches).length;for(let o=0,a=s.changedTouches.length;o<a;o++){let a=s.changedTouches.item(o);if(!this.activeTouches.hasOwnProperty(String(a.identifier))){console.warn("move of an UNKNOWN touch",a);continue}let l=this.activeTouches[a.identifier],c=Date.now()-l.initialTimeStamp;if(c<e.HOLD_DELAY&&30>Math.abs(l.initialPageX-uj(l.rollingPageX))&&30>Math.abs(l.initialPageY-uj(l.rollingPageY))){let e=this.newGestureEvent(fz.Tap,l.initialTarget);e.pageX=uj(l.rollingPageX),e.pageY=uj(l.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&30>Math.abs(l.initialPageX-uj(l.rollingPageX))&&30>Math.abs(l.initialPageY-uj(l.rollingPageY))){let e=this.newGestureEvent(fz.Contextmenu,l.initialTarget);e.pageX=uj(l.rollingPageX),e.pageY=uj(l.rollingPageY),this.dispatchEvent(e)}else if(1===n){let e=uj(l.rollingPageX),s=uj(l.rollingPageY),n=uj(l.rollingTimestamps)-l.rollingTimestamps[0],o=e-l.rollingPageX[0],a=s-l.rollingPageY[0],c=[...this.targets].filter(e=>l.initialTarget instanceof Node&&e.contains(l.initialTarget));this.inertia(r,c,i,Math.abs(o)/n,o>0?1:-1,e,Math.abs(a)/n,a>0?1:-1,s)}this.dispatchEvent(this.newGestureEvent(fz.End,l.initialTarget)),delete this.activeTouches[a.identifier]}this.dispatched&&(s.preventDefault(),s.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,r){let s=document.createEvent("CustomEvent");return s.initEvent(e,!1,!0),s.initialTarget=r,s.tapCount=0,s}dispatchEvent(r){if(r.type===fz.Tap){let s=new Date().getTime(),i=0;i=s-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=s,r.tapCount=i}else(r.type===fz.Change||r.type===fz.Contextmenu)&&(this._lastSetTapCountTime=0);if(r.initialTarget instanceof Node){for(let e of this.ignoreTargets)if(e.contains(r.initialTarget))return;let e=[];for(let s of this.targets)if(s.contains(r.initialTarget)){let i=0,n=r.initialTarget;for(;n&&n!==s;)i++,n=n.parentElement;e.push([i,s])}for(let[s,i]of(e.sort((e,r)=>e[0]-r[0]),e))i.dispatchEvent(r),this.dispatched=!0}}inertia(r,s,i,n,o,a,l,c,d){this.handle=fO(r,()=>{let u=Date.now(),h=u-i,f=0,p=0,m=!0;n+=e.SCROLL_FRICTION*h,l+=e.SCROLL_FRICTION*h,n>0&&(m=!1,f=o*n*h),l>0&&(m=!1,p=c*l*h);let g=this.newGestureEvent(fz.Change);g.translationX=f,g.translationY=p,s.forEach(e=>e.dispatchEvent(g)),m||this.inertia(r,s,u,n,o,a+f,l,c,d+p)})}onTouchMove(e){let r=Date.now();for(let s=0,i=e.changedTouches.length;s<i;s++){let i=e.changedTouches.item(s);if(!this.activeTouches.hasOwnProperty(String(i.identifier))){console.warn("end of an UNKNOWN touch",i);continue}let n=this.activeTouches[i.identifier],o=this.newGestureEvent(fz.Change,n.initialTarget);o.translationX=i.pageX-uj(n.rollingPageX),o.translationY=i.pageY-uj(n.rollingPageY),o.pageX=i.pageX,o.pageY=i.pageY,this.dispatchEvent(o),n.rollingPageX.length>3&&(n.rollingPageX.shift(),n.rollingPageY.shift(),n.rollingTimestamps.shift()),n.rollingPageX.push(i.pageX),n.rollingPageY.push(i.pageY),n.rollingTimestamps.push(r)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}};fu.SCROLL_FRICTION=-.005,fu.HOLD_DELAY=700,fu.CLEAR_TAP_COUNT_TIME=400,dq([function(e,r,s){let i=null,n=null;if("function"==typeof s.value?(i="value",0!==(n=s.value).length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof s.get&&(i="get",n=s.get),!n)throw Error("not supported");let o=`$memoize$${r}`;s[i]=function(...e){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,e)}),this[o]}}],fu,"isTouchDevice",1);var fh=class extends uM{onclick(e,r){this._register(ft(e,fo.CLICK,s=>r(new hU(h0(e),s))))}onmousedown(e,r){this._register(ft(e,fo.MOUSE_DOWN,s=>r(new hU(h0(e),s))))}onmouseover(e,r){this._register(ft(e,fo.MOUSE_OVER,s=>r(new hU(h0(e),s))))}onmouseleave(e,r){this._register(ft(e,fo.MOUSE_LEAVE,s=>r(new hU(h0(e),s))))}onkeydown(e,r){this._register(ft(e,fo.KEY_DOWN,e=>r(new h$(e))))}onkeyup(e,r){this._register(ft(e,fo.KEY_UP,e=>r(new h$(e))))}oninput(e,r){this._register(ft(e,fo.INPUT,r))}onblur(e,r){this._register(ft(e,fo.BLUR,r))}onfocus(e,r){this._register(ft(e,fo.FOCUS,r))}onchange(e,r){this._register(ft(e,fo.CHANGE,r))}ignoreGesture(e){return fu.ignoreTarget(e)}},ff=class extends fh{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px","u">typeof e.top&&(this.bgDomNode.style.top="0px"),"u">typeof e.left&&(this.bgDomNode.style.left="0px"),"u">typeof e.bottom&&(this.bgDomNode.style.bottom="0px"),"u">typeof e.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px","u">typeof e.top&&(this.domNode.style.top=e.top+"px"),"u">typeof e.left&&(this.domNode.style.left=e.left+"px"),"u">typeof e.bottom&&(this.domNode.style.bottom=e.bottom+"px"),"u">typeof e.right&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new fd),this._register(fr(this.bgDomNode,fo.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(fr(this.domNode,fo.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new fs),this._pointerdownScheduleRepeatTimer=this._register(new hY)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let r=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,h0(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(r,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}},fp=class e{constructor(e,r,s,i,n,o,a){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(r|=0,s|=0,i|=0,n|=0,o|=0,a|=0),this.rawScrollLeft=i,this.rawScrollTop=a,r<0&&(r=0),i+r>s&&(i=s-r),i<0&&(i=0),n<0&&(n=0),a+n>o&&(a=o-n),a<0&&(a=0),this.width=r,this.scrollWidth=s,this.scrollLeft=i,this.height=n,this.scrollHeight=o,this.scrollTop=a}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(r,s){return new e(this._forceIntegerValues,"u">typeof r.width?r.width:this.width,"u">typeof r.scrollWidth?r.scrollWidth:this.scrollWidth,s?this.rawScrollLeft:this.scrollLeft,"u">typeof r.height?r.height:this.height,"u">typeof r.scrollHeight?r.scrollHeight:this.scrollHeight,s?this.rawScrollTop:this.scrollTop)}withScrollPosition(r){return new e(this._forceIntegerValues,this.width,this.scrollWidth,"u">typeof r.scrollLeft?r.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,"u">typeof r.scrollTop?r.scrollTop:this.rawScrollTop)}createScrollEvent(e,r){let s=this.width!==e.width,i=this.scrollWidth!==e.scrollWidth,n=this.scrollLeft!==e.scrollLeft,o=this.height!==e.height,a=this.scrollHeight!==e.scrollHeight,l=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:r,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:s,scrollWidthChanged:i,scrollLeftChanged:n,heightChanged:o,scrollHeightChanged:a,scrollTopChanged:l}}},fm=class extends uM{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new u8),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new fp(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,r){let s=this._state.withScrollDimensions(e,r);this._setState(s,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let r=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(r,!1)}setScrollPositionSmooth(e,r){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(e);if(this._smoothScrolling){let s;e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};let i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;s=r?new fv(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=s}else{let r=this._state.withScrollPosition(e);this._smoothScrolling=fv.start(this._state,r,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),r=this._state.withScrollPosition(e);if(this._setState(r,!0),this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,r){let s=this._state;s.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(s,r)))}},fg=class{constructor(e,r,s){this.scrollLeft=e,this.scrollTop=r,this.isDone=s}};function fx(e,r){let s=r-e;return function(r){return e+s*(1-Math.pow(1-r,3))}}var fv=class e{constructor(e,r,s,i){this.from=e,this.to=r,this.duration=i,this.startTime=s,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,r,s){if(Math.abs(e-r)>2.5*s){var i,n;let o,a;return e<r?(o=e+.75*s,a=r-.75*s):(o=e-.75*s,a=r+.75*s),i=fx(e,o),n=fx(a,r),function(e){return e<.33?i(e/.33):n((e-.33)/(1-.33))}}return fx(e,r)}dispose(){null!==this.animationFrameDisposable&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let r=(e-this.startTime)/this.duration;return r<1?new fg(this.scrollLeft(r),this.scrollTop(r),!1):new fg(this.to.scrollLeft,this.to.scrollTop,!0)}combine(r,s,i){return e.start(r,s,i)}static start(r,s,i){return i+=10,new e(r,s,Date.now()-10,i)}},f_=class extends uM{constructor(e,r,s){super(),this._visibility=e,this._visibleClassName=r,this._invisibleClassName=s,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new hY)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?" fade":"")))}},fy=class extends fh{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new f_(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new fd),this._shouldRender=!0,this.domNode=fc(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(ft(this.domNode.domNode,fo.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let r=this._register(new ff(e));this.domNode.domNode.appendChild(r.bgDomNode),this.domNode.domNode.appendChild(r.domNode)}_createSlider(e,r,s,i){this.slider=fc(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(r),"number"==typeof s&&this.slider.setWidth(s),"number"==typeof i&&this.slider.setHeight(i),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(ft(this.slider.domNode,fo.POINTER_DOWN,e=>{0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let r=this.domNode.domNode.getClientRects()[0].top,s=r+this._scrollbarState.getSliderPosition(),i=r+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),n=this._sliderPointerPosition(e);s<=n&&n<=i?0===e.button&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let r,s;if(e.target===this.domNode.domNode&&"number"==typeof e.offsetX&&"number"==typeof e.offsetY)r=e.offsetX,s=e.offsetY;else{var i;let n,o,a=(n=(i=this.domNode.domNode).getBoundingClientRect(),o=h0(i),{left:n.left+o.scrollX,top:n.top+o.scrollY,width:n.width,height:n.height});r=e.pageX-a.left,s=e.pageY-a.top}let n=this._pointerDownRelativePosition(r,s);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(n):this._scrollbarState.getDesiredScrollPositionFromOffset(n)),0===e.button&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let r=this._sliderPointerPosition(e),s=this._sliderOrthogonalPointerPosition(e),i=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let n=Math.abs(this._sliderOrthogonalPointerPosition(e)-s);if(hx&&n>140)return void this._setDesiredScrollPositionNow(i.getScrollPosition());let o=this._sliderPointerPosition(e)-r;this._setDesiredScrollPositionNow(i.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let r={};this.writeScrollPosition(r,e),this._scrollable.setScrollPositionNow(r)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},fb=class e{constructor(e,r,s,i,n,o){this._scrollbarSize=Math.round(r),this._oppositeScrollbarSize=Math.round(s),this._arrowSize=Math.round(e),this._visibleSize=i,this._scrollSize=n,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let r=Math.round(e);return this._visibleSize!==r&&(this._visibleSize=r,this._refreshComputedValues(),!0)}setScrollSize(e){let r=Math.round(e);return this._scrollSize!==r&&(this._scrollSize=r,this._refreshComputedValues(),!0)}setScrollPosition(e){let r=Math.round(e);return this._scrollPosition!==r&&(this._scrollPosition=r,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,r,s,i,n){let o=Math.max(0,s-e),a=Math.max(0,o-2*r),l=i>0&&i>s;if(!l)return{computedAvailableSize:Math.round(o),computedIsNeeded:l,computedSliderSize:Math.round(a),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(20,Math.floor(s*a/i))),d=(a-c)/(i-s);return{computedAvailableSize:Math.round(o),computedIsNeeded:l,computedSliderSize:Math.round(c),computedSliderRatio:d,computedSliderPosition:Math.round(n*d)}}_refreshComputedValues(){let r=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=r.computedAvailableSize,this._computedIsNeeded=r.computedIsNeeded,this._computedSliderSize=r.computedSliderSize,this._computedSliderRatio=r.computedSliderRatio,this._computedSliderPosition=r.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){return this._computedIsNeeded?Math.round((e-this._arrowSize-this._computedSliderSize/2)/this._computedSliderRatio):0}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let r=e-this._arrowSize,s=this._scrollPosition;return r<this._computedSliderPosition?s-=this._visibleSize:s+=this._visibleSize,s}getDesiredScrollPositionFromDelta(e){return this._computedIsNeeded?Math.round((this._computedSliderPosition+e)/this._computedSliderRatio):0}},fw=class extends fy{constructor(e,r,s){let i=e.getScrollDimensions();if(super({lazyRender:r.lazyRender,host:s,scrollbarState:new fb(r.horizontalHasArrows?r.arrowSize:0,2===r.horizontal?0:r.horizontalScrollbarSize,2===r.vertical?0:r.verticalScrollbarSize,i.width,i.scrollWidth,e.getCurrentScrollPosition().scrollLeft),visibility:r.horizontal,extraScrollbarClassName:"horizontal",scrollable:e,scrollByPage:r.scrollByPage}),r.horizontalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((r.horizontalScrollbarSize-r.horizontalSliderSize)/2),0,void 0,r.horizontalSliderSize)}_updateSlider(e,r){this.slider.setWidth(e),this.slider.setLeft(r)}_renderDomNode(e,r){this.domNode.setWidth(e),this.domNode.setHeight(r),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,r){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,r){e.scrollLeft=r}updateOptions(e){this.updateScrollbarSize(2===e.horizontal?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},fS=class extends fy{constructor(e,r,s){let i=e.getScrollDimensions();if(super({lazyRender:r.lazyRender,host:s,scrollbarState:new fb(r.verticalHasArrows?r.arrowSize:0,2===r.vertical?0:r.verticalScrollbarSize,0,i.height,i.scrollHeight,e.getCurrentScrollPosition().scrollTop),visibility:r.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:r.scrollByPage}),r.verticalHasArrows)throw Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((r.verticalScrollbarSize-r.verticalSliderSize)/2),r.verticalSliderSize,void 0)}_updateSlider(e,r){this.slider.setHeight(e),this.slider.setTop(r)}_renderDomNode(e,r){this.domNode.setWidth(r),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,r){return r}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,r){e.scrollTop=r}updateOptions(e){this.updateScrollbarSize(2===e.vertical?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},fC=class{constructor(e,r,s){this.timestamp=e,this.deltaX=r,this.deltaY=s,this.score=0}},fj=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(-1===this._front&&-1===this._rear)return!1;let e=1,r=0,s=1,i=this._rear;for(;;){let n=i===this._front?e:Math.pow(2,-s);if(e-=n,r+=this._memory[i].score*n,i===this._front)break;i=(this._capacity+i-1)%this._capacity,s++}return r<=.5}acceptStandardWheelEvent(e){if(hs){var r;let s=(r=h0(e.browserEvent),u9.INSTANCE.getZoomFactor(r));this.accept(Date.now(),e.deltaX*s,e.deltaY*s)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,r,s){let i=null,n=new fC(e,r,s);-1===this._front&&-1===this._rear?(this._memory[0]=n,this._front=0,this._rear=0):(i=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=n),n.score=this._computeScore(n,i)}_computeScore(e,r){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let s=.5;if(this._isAlmostInt(e.deltaX)&&this._isAlmostInt(e.deltaY)||(s+=.25),r){let i=Math.abs(e.deltaX),n=Math.abs(e.deltaY),o=Math.abs(r.deltaX),a=Math.abs(r.deltaY),l=Math.max(Math.min(i,o),1),c=Math.max(Math.min(n,a),1),d=Math.max(n,a);Math.max(i,o)%l==0&&d%c==0&&(s-=.5)}return Math.min(Math.max(s,0),1)}_isAlmostInt(e){return .01>Math.abs(Math.round(e)-e)}};fj.INSTANCE=new fj;var fk=class extends fh{constructor(e,r,s){super(),this._onScroll=this._register(new u8),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new u8),this.onWillScroll=this._onWillScroll.event,this._options=function(e){let r={lazyRender:"u">typeof e.lazyRender&&e.lazyRender,className:"u">typeof e.className?e.className:"",useShadows:!("u">typeof e.useShadows)||e.useShadows,handleMouseWheel:!("u">typeof e.handleMouseWheel)||e.handleMouseWheel,flipAxes:"u">typeof e.flipAxes&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:"u">typeof e.consumeMouseWheelIfScrollbarIsNeeded&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:"u">typeof e.alwaysConsumeMouseWheel&&e.alwaysConsumeMouseWheel,scrollYToX:"u">typeof e.scrollYToX&&e.scrollYToX,mouseWheelScrollSensitivity:"u">typeof e.mouseWheelScrollSensitivity?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:"u">typeof e.fastScrollSensitivity?e.fastScrollSensitivity:5,scrollPredominantAxis:!("u">typeof e.scrollPredominantAxis)||e.scrollPredominantAxis,mouseWheelSmoothScroll:!("u">typeof e.mouseWheelSmoothScroll)||e.mouseWheelSmoothScroll,arrowSize:"u">typeof e.arrowSize?e.arrowSize:11,listenOnDomNode:"u">typeof e.listenOnDomNode?e.listenOnDomNode:null,horizontal:"u">typeof e.horizontal?e.horizontal:1,horizontalScrollbarSize:"u">typeof e.horizontalScrollbarSize?e.horizontalScrollbarSize:10,horizontalSliderSize:"u">typeof e.horizontalSliderSize?e.horizontalSliderSize:0,horizontalHasArrows:"u">typeof e.horizontalHasArrows&&e.horizontalHasArrows,vertical:"u">typeof e.vertical?e.vertical:1,verticalScrollbarSize:"u">typeof e.verticalScrollbarSize?e.verticalScrollbarSize:10,verticalHasArrows:"u">typeof e.verticalHasArrows&&e.verticalHasArrows,verticalSliderSize:"u">typeof e.verticalSliderSize?e.verticalSliderSize:0,scrollByPage:"u">typeof e.scrollByPage&&e.scrollByPage};return r.horizontalSliderSize="u">typeof e.horizontalSliderSize?e.horizontalSliderSize:r.horizontalScrollbarSize,r.verticalSliderSize="u">typeof e.verticalSliderSize?e.verticalSliderSize:r.verticalScrollbarSize,hv&&(r.className+=" mac"),r}(r),this._scrollable=s,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let i={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new fS(this._scrollable,this._options,i)),this._horizontalScrollbar=this._register(new fw(this._scrollable,this._options,i)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=fc(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=fc(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=fc(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new hY),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=uE(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,hv&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(e){"u">typeof e.handleMouseWheel&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),"u">typeof e.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),"u">typeof e.fastScrollSensitivity&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),"u">typeof e.scrollPredominantAxis&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),"u">typeof e.horizontal&&(this._options.horizontal=e.horizontal),"u">typeof e.vertical&&(this._options.vertical=e.vertical),"u">typeof e.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),"u">typeof e.verticalScrollbarSize&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),"u">typeof e.scrollByPage&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new hK(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=uE(this._mouseWheelToDispose),e)){let e=e=>{this._onMouseWheel(new hK(e))};this._mouseWheelToDispose.push(ft(this._listenOnDomNode,fo.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let r=fj.INSTANCE;r.acceptStandardWheelEvent(e);let s=!1;if(e.deltaY||e.deltaX){let i=e.deltaY*this._options.mouseWheelScrollSensitivity,n=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&n+i===0?n=i=0:Math.abs(i)>=Math.abs(n)?n=0:i=0),this._options.flipAxes&&([i,n]=[n,i]);let o=!hv&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||o)&&!n&&(n=i,i=0),e.browserEvent&&e.browserEvent.altKey&&(n*=this._options.fastScrollSensitivity,i*=this._options.fastScrollSensitivity);let a=this._scrollable.getFutureScrollPosition(),l={};if(i){let e=50*i,r=a.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(l,r)}if(n){let e=50*n,r=a.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(l,r)}l=this._scrollable.validateScrollPosition(l),(a.scrollLeft!==l.scrollLeft||a.scrollTop!==l.scrollTop)&&(this._options.mouseWheelSmoothScroll&&r.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(l):this._scrollable.setScrollPositionNow(l),s=!0)}let i=s;!i&&this._options.alwaysConsumeMouseWheel&&(i=!0),!i&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(i=!0),i&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),r=e.scrollTop>0,s=e.scrollLeft>0,i=s?" left":"",n=r?" top":"";this._leftShadowDomNode.setClassName(`shadow${i}`),this._topShadowDomNode.setClassName(`shadow${n}`),this._topLeftShadowDomNode.setClassName(`shadow${s||r?" top-left-corner":""}${n}${i}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet(()=>this._hide(),500)}},fN=class extends fk{constructor(e,r,s){super(e,r,s)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}},fD=class extends uM{constructor(e,r,s,i,n,o,a,l){super(),this._bufferService=s,this._optionsService=a,this._renderService=l,this._onRequestScrollLines=this._register(new u8),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new fm({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>fO(i.window,e)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new fN(r,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(n.onProtocolChange(e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(16&e)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(u0.runAndSubscribe(o.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=o.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(uR(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=i.mainDocument.createElement("style"),r.appendChild(this._styleElement),this._register(uR(()=>this._styleElement.remove())),this._register(u0.runAndSubscribe(o.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${o.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${o.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${o.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
|
|
16
|
+
`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(e=>this._handleScroll(e)))}scrollLines(e){let r=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:r.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,r){r&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!r,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){void 0!==e&&(this._latestYDisp=e),void 0===this._queuedAnimationFrame&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let r=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),s=r-this._bufferService.buffer.ydisp;0!==s&&(this._latestYDisp=r,this._onRequestScrollLines.fire(s)),this._isHandlingScroll=!1}};fD=dq([dV(2,ue),dV(3,uh),dV(4,ut),dV(5,ux),dV(6,uo),dV(7,up)],fD);var fE=class extends uM{constructor(e,r,s,i,n){super(),this._screenElement=e,this._bufferService=r,this._coreBrowserService=s,this._decorationService=i,this._renderService=n,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(e=>this._removeDecoration(e))),this._register(uR(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){void 0===this._animationFrame&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let r=this._coreBrowserService.mainDocument.createElement("div");r.classList.add("xterm-decoration"),r.classList.toggle("xterm-decoration-top-layer",e?.options?.layer==="top"),r.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,r.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,r.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,r.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let s=e.options.x??0;return s&&s>this._bufferService.cols&&(r.style.display="none"),this._refreshXPosition(e,r),r}_refreshStyle(e){let r=e.marker.line-this._bufferService.buffers.active.ydisp;if(r<0||r>=this._bufferService.rows)e.element&&(e.element.style.display="none",e.onRenderEmitter.fire(e.element));else{let s=this._decorationElements.get(e);s||(s=this._createElement(e),e.element=s,this._decorationElements.set(e,s),this._container.appendChild(s),e.onDispose(()=>{this._decorationElements.delete(e),s.remove()})),s.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(s.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,s.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,s.style.top=`${r*this._renderService.dimensions.css.cell.height}px`,s.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(s)}}_refreshXPosition(e,r=e.element){if(!r)return;let s=e.options.x??0;"right"===(e.options.anchor||"left")?r.style.right=s?`${s*this._renderService.dimensions.css.cell.width}px`:"":r.style.left=s?`${s*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};fE=dq([dV(1,ue),dV(2,uh),dV(3,uc),dV(4,up)],fE);var fR=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let r of this._zones)if(r.color===e.options.overviewRulerOptions.color&&r.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(r,e.marker.line))return;if(this._lineAdjacentToZone(r,e.marker.line,e.options.overviewRulerOptions.position))return void this._addLineToZone(r,e.marker.line)}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,r){return r>=e.startBufferLine&&r<=e.endBufferLine}_lineAdjacentToZone(e,r,s){return r>=e.startBufferLine-this._linePadding[s||"full"]&&r<=e.endBufferLine+this._linePadding[s||"full"]}_addLineToZone(e,r){e.startBufferLine=Math.min(e.startBufferLine,r),e.endBufferLine=Math.max(e.endBufferLine,r)}},fA={full:0,left:0,center:0,right:0},fF={full:0,left:0,center:0,right:0},fM={full:0,left:0,center:0,right:0},fT=class extends uM{constructor(e,r,s,i,n,o,a,l){super(),this._viewportElement=e,this._screenElement=r,this._bufferService=s,this._decorationService=i,this._renderService=n,this._optionsService=o,this._themeService=a,this._coreBrowserService=l,this._colorZoneStore=new fR,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(uR(()=>this._canvas?.remove()));let c=this._canvas.getContext("2d");if(c)this._ctx=c;else throw Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),r=Math.ceil((this._canvas.width-1)/3);fF.full=this._canvas.width,fF.left=e,fF.center=r,fF.right=e,this._refreshDrawHeightConstants(),fM.full=1,fM.left=1,fM.center=1+fF.left,fM.right=1+fF.left+fF.center}_refreshDrawHeightConstants(){fA.full=Math.round(2*this._coreBrowserService.dpr);let e=Math.round(Math.max(Math.min(this._canvas.height/this._bufferService.buffer.lines.length,12),6)*this._coreBrowserService.dpr);fA.left=e,fA.center=e,fA.right=e}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*fA.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*fA.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*fA.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*fA.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){for(let e of(this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear(),this._decorationService.decorations))this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let r of e)"full"!==r.position&&this._renderColorZone(r);for(let r of e)"full"===r.position&&this._renderColorZone(r);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(fM[e.position||"full"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-fA[e.position||"full"]/2),fF[e.position||"full"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+fA[e.position||"full"]))}_queueRefresh(e,r){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=r||this._shouldUpdateAnchor,void 0===this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};fT=dq([dV(2,ue),dV(3,uc),dV(4,up),dV(5,uo),dV(6,ux),dV(7,uh)],fT),(m=f$||={}).NUL="\0",m.SOH="\x01",m.STX="\x02",m.ETX="\x03",m.EOT="\x04",m.ENQ="\x05",m.ACK="\x06",m.BEL="\x07",m.BS="\b",m.HT=" ",m.LF=`
|
|
17
|
+
`,m.VT="\v",m.FF="\f",m.CR="\r",m.SO="\x0e",m.SI="\x0f",m.DLE="\x10",m.DC1="\x11",m.DC2="\x12",m.DC3="\x13",m.DC4="\x14",m.NAK="\x15",m.SYN="\x16",m.ETB="\x17",m.CAN="\x18",m.EM="\x19",m.SUB="\x1a",m.ESC="\x1b",m.FS="\x1c",m.GS="\x1d",m.RS="\x1e",m.US="\x1f",m.SP=" ",m.DEL="",(g=fW||={}).PAD="",g.HOP="",g.BPH="",g.NBH="",g.IND="",g.NEL="
",g.SSA="",g.ESA="",g.HTS="",g.HTJ="",g.VTS="",g.PLD="",g.PLU="",g.RI="",g.SS2="",g.SS3="",g.DCS="",g.PU1="",g.PU2="",g.STS="",g.CCH="",g.MW="",g.SPA="",g.EPA="",g.SOS="",g.SGCI="",g.SCI="",g.CSI="",g.ST="",g.OSC="",g.PM="",g.APC="",(fH||={}).ST=`${f$.ESC}\\`;var fP=class{constructor(e,r,s,i,n,o){this._textarea=e,this._compositionView=r,this._bufferService=s,this._optionsService=i,this._coreService=n,this._renderService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(20===e.keyCode||229===e.keyCode||16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let r;this._isSendingComposition=!1,e.start+=this._dataAlreadySent.length,(r=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start)).length>0&&this._coreService.triggerDataEvent(r,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let r=this._textarea.value,s=r.replace(e,"");this._dataAlreadySent=s,r.length>e.length?this._coreService.triggerDataEvent(s,!0):r.length<e.length?this._coreService.triggerDataEvent(`${f$.DEL}`,!0):r.length===e.length&&r!==e&&this._coreService.triggerDataEvent(r,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),r=this._renderService.dimensions.css.cell.height,s=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,i=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=i+"px",this._compositionView.style.top=s+"px",this._compositionView.style.height=r+"px",this._compositionView.style.lineHeight=r+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let n=this._compositionView.getBoundingClientRect();this._textarea.style.left=i+"px",this._textarea.style.top=s+"px",this._textarea.style.width=Math.max(n.width,1)+"px",this._textarea.style.height=Math.max(n.height,1)+"px",this._textarea.style.lineHeight=n.height+"px"}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};fP=dq([dV(2,ue),dV(3,uo),dV(4,ur),dV(5,up)],fP);var fB,fL,fI,fO,fz,f$,fW,fH,fU,fK=0,fq=0,fV=0,fY=0,fG={css:"#00000000",rgba:0};(mC=fU||={}).toCss=function(e,r,s,i){return void 0!==i?`#${f5(e)}${f5(r)}${f5(s)}${f5(i)}`:`#${f5(e)}${f5(r)}${f5(s)}`},mC.toRgba=function(e,r,s,i=255){return(e<<24|r<<16|s<<8|i)>>>0},mC.toColor=function(e,r,s,i){return{css:mC.toCss(e,r,s,i),rgba:mC.toRgba(e,r,s,i)}};var fX=mj||={};function fJ(e,r){return fY=Math.round(255*r),[fK,fq,fV]=mD.toChannels(e.rgba),{css:fU.toCss(fK,fq,fV,fY),rgba:fU.toRgba(fK,fq,fV,fY)}}fX.blend=function(e,r){if(1==(fY=(255&r.rgba)/255))return{css:r.css,rgba:r.rgba};let s=r.rgba>>24&255,i=r.rgba>>16&255,n=r.rgba>>8&255,o=e.rgba>>24&255,a=e.rgba>>16&255,l=e.rgba>>8&255;return fK=o+Math.round((s-o)*fY),fq=a+Math.round((i-a)*fY),fV=l+Math.round((n-l)*fY),{css:fU.toCss(fK,fq,fV),rgba:fU.toRgba(fK,fq,fV)}},fX.isOpaque=function(e){return(255&e.rgba)==255},fX.ensureContrastRatio=function(e,r,s){let i=mD.ensureContrastRatio(e.rgba,r.rgba,s);if(i)return fU.toColor(i>>24&255,i>>16&255,i>>8&255)},fX.opaque=function(e){let r=(255|e.rgba)>>>0;return[fK,fq,fV]=mD.toChannels(r),{css:fU.toCss(fK,fq,fV),rgba:r}},fX.opacity=fJ,fX.multiplyOpacity=function(e,r){return fY=255&e.rgba,fJ(e,fY*r/255)},fX.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]},(e=>{let r,s;try{let e=document.createElement("canvas");e.width=1,e.height=1;let i=e.getContext("2d",{willReadFrequently:!0});i&&((r=i).globalCompositeOperation="copy",s=r.createLinearGradient(0,0,1,1))}catch{}e.toColor=function(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return fK=parseInt(e.slice(1,2).repeat(2),16),fq=parseInt(e.slice(2,3).repeat(2),16),fV=parseInt(e.slice(3,4).repeat(2),16),fU.toColor(fK,fq,fV);case 5:return fK=parseInt(e.slice(1,2).repeat(2),16),fq=parseInt(e.slice(2,3).repeat(2),16),fV=parseInt(e.slice(3,4).repeat(2),16),fY=parseInt(e.slice(4,5).repeat(2),16),fU.toColor(fK,fq,fV,fY);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let i=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(i)return fK=parseInt(i[1]),fq=parseInt(i[2]),fV=parseInt(i[3]),fY=Math.round((void 0===i[5]?1:parseFloat(i[5]))*255),fU.toColor(fK,fq,fV,fY);if(!r||!s||(r.fillStyle=s,r.fillStyle=e,"string"!=typeof r.fillStyle)||(r.fillRect(0,0,1,1),[fK,fq,fV,fY]=r.getImageData(0,0,1,1).data,255!==fY))throw Error("css.toColor: Unsupported css format");return{rgba:fU.toRgba(fK,fq,fV,fY),css:e}}})(mk||={});var fZ=mN||={};function fQ(e,r,s){let i=e/255,n=r/255,o=s/255;return .2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}fZ.relativeLuminance=function(e){return fQ(e>>16&255,e>>8&255,255&e)},fZ.relativeLuminance2=fQ;var f0=mD||={};function f1(e,r,s){let i=e>>24&255,n=e>>16&255,o=e>>8&255,a=r>>24&255,l=r>>16&255,c=r>>8&255,d=f3(mN.relativeLuminance2(a,l,c),mN.relativeLuminance2(i,n,o));for(;d<s&&(a>0||l>0||c>0);)a-=Math.max(0,Math.ceil(.1*a)),l-=Math.max(0,Math.ceil(.1*l)),c-=Math.max(0,Math.ceil(.1*c)),d=f3(mN.relativeLuminance2(a,l,c),mN.relativeLuminance2(i,n,o));return(a<<24|l<<16|c<<8|255)>>>0}function f2(e,r,s){let i=e>>24&255,n=e>>16&255,o=e>>8&255,a=r>>24&255,l=r>>16&255,c=r>>8&255,d=f3(mN.relativeLuminance2(a,l,c),mN.relativeLuminance2(i,n,o));for(;d<s&&(a<255||l<255||c<255);)a=Math.min(255,a+Math.ceil((255-a)*.1)),l=Math.min(255,l+Math.ceil((255-l)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),d=f3(mN.relativeLuminance2(a,l,c),mN.relativeLuminance2(i,n,o));return(a<<24|l<<16|c<<8|255)>>>0}function f5(e){let r=e.toString(16);return r.length<2?"0"+r:r}function f3(e,r){return e<r?(r+.05)/(e+.05):(e+.05)/(r+.05)}f0.blend=function(e,r){if(1==(fY=(255&r)/255))return r;let s=e>>24&255,i=e>>16&255,n=e>>8&255;return fK=s+Math.round(((r>>24&255)-s)*fY),fq=i+Math.round(((r>>16&255)-i)*fY),fV=n+Math.round(((r>>8&255)-n)*fY),fU.toRgba(fK,fq,fV)},f0.ensureContrastRatio=function(e,r,s){let i=mN.relativeLuminance(e>>8),n=mN.relativeLuminance(r>>8);if(f3(i,n)<s){if(n<i){let n=f1(e,r,s),o=f3(i,mN.relativeLuminance(n>>8));if(o<s){let a=f2(e,r,s);return o>f3(i,mN.relativeLuminance(a>>8))?n:a}return n}let o=f2(e,r,s),a=f3(i,mN.relativeLuminance(o>>8));if(a<s){let n=f1(e,r,s);return a>f3(i,mN.relativeLuminance(n>>8))?o:n}return o}},f0.reduceLuminance=f1,f0.increaseLuminance=f2,f0.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]};var f4=class extends d5{constructor(e,r,s){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=r,this._width=s}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},f6=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new d4}register(e){let r={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(r),r.id}deregister(e){for(let r=0;r<this._characterJoiners.length;r++)if(this._characterJoiners[r].id===e)return this._characterJoiners.splice(r,1),!0;return!1}getJoinedCharacters(e){if(0===this._characterJoiners.length)return[];let r=this._bufferService.buffer.lines.get(e);if(!r||0===r.length)return[];let s=[],i=r.translateToString(!0),n=0,o=0,a=0,l=r.getFg(0),c=r.getBg(0);for(let e=0;e<r.getTrimmedLength();e++)if(r.loadCell(e,this._workCell),0!==this._workCell.getWidth()){if(this._workCell.fg!==l||this._workCell.bg!==c){if(e-n>1){let e=this._getJoinedRanges(i,a,o,r,n);for(let r=0;r<e.length;r++)s.push(e[r])}n=e,a=o,l=this._workCell.fg,c=this._workCell.bg}o+=this._workCell.getChars().length||1}if(this._bufferService.cols-n>1){let e=this._getJoinedRanges(i,a,o,r,n);for(let r=0;r<e.length;r++)s.push(e[r])}return s}_getJoinedRanges(e,r,s,i,n){let o=e.substring(r,s),a=[];try{a=this._characterJoiners[0].handler(o)}catch(e){console.error(e)}for(let e=1;e<this._characterJoiners.length;e++)try{let r=this._characterJoiners[e].handler(o);for(let e=0;e<r.length;e++)f6._mergeRanges(a,r[e])}catch(e){console.error(e)}return this._stringRangesToCellRanges(a,i,n),a}_stringRangesToCellRanges(e,r,s){let i=0,n=!1,o=0,a=e[0];if(a){for(let l=s;l<this._bufferService.cols;l++){let s=r.getWidth(l),c=r.getString(l).length||1;if(0!==s){if(!n&&a[0]<=o&&(a[0]=l,n=!0),a[1]<=o){if(a[1]=l,!(a=e[++i]))break;a[0]<=o?(a[0]=l,n=!0):n=!1}o+=c}}a&&(a[1]=this._bufferService.cols)}}static _mergeRanges(e,r){let s=!1;for(let i=0;i<e.length;i++){let n=e[i];if(s){if(r[1]<=n[0])return e[i-1][1]=r[1],e;if(r[1]<=n[1])return e[i-1][1]=Math.max(r[1],n[1]),e.splice(i,1),e;e.splice(i,1),i--}else{if(r[1]<=n[0])return e.splice(i,0,r),e;if(r[1]<=n[1])return n[0]=Math.min(r[0],n[0]),e;r[0]<n[1]&&(n[0]=Math.min(r[0],n[0]),s=!0);continue}}return s?e[e.length-1][1]=r[1]:e.push(r),e}};function f8(){return{width:0,height:0}}f6=dq([dV(0,ue)],f6);var f7=class{constructor(e,r,s,i,n,o,a){this._document=e,this._characterJoinerService=r,this._optionsService=s,this._coreBrowserService=i,this._coreService=n,this._decorationService=o,this._themeService=a,this._workCell=new d4,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,r,s){this._selectionStart=e,this._selectionEnd=r,this._columnSelectMode=s}createRow(e,r,s,i,n,o,a,l,c,d,u){let h=[],f=this._characterJoinerService.getJoinedCharacters(r),p=this._themeService.colors,m=e.getNoBgTrimmedLength();s&&m<o+1&&(m=o+1);let g,x=0,v="",_=0,y=0,b=0,w=0,S=!1,C=0,j=!1,k=0,N=0,D=[],E=-1!==d&&-1!==u;for(let R=0;R<m;R++){let m;e.loadCell(R,this._workCell);let A=this._workCell.getWidth();if(0===A)continue;let F=!1,M=R>=N,T=R,P=this._workCell;if(f.length>0&&R===f[0][0]&&M){let i=f.shift(),n=this._isCellInSelection(i[0],r);for(_=i[0]+1;_<i[1];_++)M&&=n===this._isCellInSelection(_,r);(M&&=!s||o<i[0]||o>=i[1])?(F=!0,P=new f4(this._workCell,e.translateToString(!0,i[0],i[1]),i[1]-i[0]),T=i[1]-1,A=P.getWidth()):N=i[1]}let B=this._isCellInSelection(R,r),L=s&&R===o,I=E&&R>=d&&R<=u,O=!1;this._decorationService.forEachDecorationAtCell(R,r,void 0,e=>{O=!0});let z=P.getChars()||" ";if(" "===z&&(P.isUnderline()||P.isOverline())&&(z=" "),k=A*l-c.get(z,P.isBold(),P.isItalic()),g)if(x&&(B&&j||!B&&!j&&P.bg===y)&&(B&&j&&p.selectionForeground||P.fg===b)&&P.extended.ext===w&&I===S&&k===C&&!L&&!F&&!O&&M){P.isInvisible()?v+=" ":v+=z,x++;continue}else x&&(g.textContent=v),g=this._document.createElement("span"),x=0,v="";else g=this._document.createElement("span");if(y=P.bg,b=P.fg,w=P.extended.ext,S=I,C=k,j=B,F&&o>=R&&o<=T&&(o=R),!this._coreService.isCursorHidden&&L&&this._coreService.isCursorInitialized){if(D.push("xterm-cursor"),this._coreBrowserService.isFocused)a&&D.push("xterm-cursor-blink"),D.push("bar"===i?"xterm-cursor-bar":"underline"===i?"xterm-cursor-underline":"xterm-cursor-block");else if(n)switch(n){case"outline":D.push("xterm-cursor-outline");break;case"block":D.push("xterm-cursor-block");break;case"bar":D.push("xterm-cursor-bar");break;case"underline":D.push("xterm-cursor-underline")}}if(P.isBold()&&D.push("xterm-bold"),P.isItalic()&&D.push("xterm-italic"),P.isDim()&&D.push("xterm-dim"),v=P.isInvisible()?" ":P.getChars()||" ",P.isUnderline()&&(D.push(`xterm-underline-${P.extended.underlineStyle}`)," "===v&&(v=" "),!P.isUnderlineColorDefault()))if(P.isUnderlineColorRGB())g.style.textDecorationColor=`rgb(${d5.toColorRGB(P.getUnderlineColor()).join(",")})`;else{let e=P.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&P.isBold()&&e<8&&(e+=8),g.style.textDecorationColor=p.ansi[e].css}P.isOverline()&&(D.push("xterm-overline")," "===v&&(v=" ")),P.isStrikethrough()&&D.push("xterm-strikethrough"),I&&(g.style.textDecoration="underline");let $=P.getFgColor(),W=P.getFgColorMode(),H=P.getBgColor(),U=P.getBgColorMode(),K=!!P.isInverse();if(K){let e=$;$=H,H=e;let r=W;W=U,U=r}let q,V,Y=!1;switch(this._decorationService.forEachDecorationAtCell(R,r,void 0,e=>{"top"!==e.options.layer&&Y||(e.backgroundColorRGB&&(U=0x3000000,H=e.backgroundColorRGB.rgba>>8&0xffffff,q=e.backgroundColorRGB),e.foregroundColorRGB&&(W=0x3000000,$=e.foregroundColorRGB.rgba>>8&0xffffff,V=e.foregroundColorRGB),Y="top"===e.options.layer)}),!Y&&B&&(H=(q=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque).rgba>>8&0xffffff,U=0x3000000,Y=!0,p.selectionForeground&&(W=0x3000000,$=p.selectionForeground.rgba>>8&0xffffff,V=p.selectionForeground)),Y&&D.push("xterm-decoration-top"),U){case 0x1000000:case 0x2000000:m=p.ansi[H],D.push(`xterm-bg-${H}`);break;case 0x3000000:m=fU.toColor(H>>16,H>>8&255,255&H),this._addStyle(g,`background-color:#${f9((H>>>0).toString(16),"0",6)}`);break;default:K?(m=p.foreground,D.push("xterm-bg-257")):m=p.background}switch(q||P.isDim()&&(q=mj.multiplyOpacity(m,.5)),W){case 0x1000000:case 0x2000000:P.isBold()&&$<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&($+=8),this._applyMinimumContrast(g,m,p.ansi[$],P,q,void 0)||D.push(`xterm-fg-${$}`);break;case 0x3000000:let G=fU.toColor($>>16&255,$>>8&255,255&$);this._applyMinimumContrast(g,m,G,P,q,V)||this._addStyle(g,`color:#${f9($.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(g,m,p.foreground,P,q,V)||K&&D.push("xterm-fg-257")}D.length&&(g.className=D.join(" "),D.length=0),L||F||O||!M?g.textContent=v:x++,k!==this.defaultSpacing&&(g.style.letterSpacing=`${k}px`),h.push(g),R=T}return g&&x&&(g.textContent=v),h}_applyMinimumContrast(e,r,s,i,n,o){var a,l,c;if(1===this._optionsService.rawOptions.minimumContrastRatio||57508<=(l=a=i.getCode())&&l<=57558||9472<=(c=a)&&c<=9631)return!1;let d=this._getContrastCache(i),u;if(n||o||(u=d.getColor(r.rgba,s.rgba)),void 0===u){let e=this._optionsService.rawOptions.minimumContrastRatio/(i.isDim()?2:1);u=mj.ensureContrastRatio(n||r,o||s,e),d.setColor((n||r).rgba,(o||s).rgba,u??null)}return!!u&&(this._addStyle(e,`color:${u.css}`),!0)}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,r){e.setAttribute("style",`${e.getAttribute("style")||""}${r};`)}_isCellInSelection(e,r){let s=this._selectionStart,i=this._selectionEnd;return!!s&&!!i&&(this._columnSelectMode?s[0]<=i[0]?e>=s[0]&&r>=s[1]&&e<i[0]&&r<=i[1]:e<s[0]&&r>=s[1]&&e>=i[0]&&r<=i[1]:r>s[1]&&r<i[1]||s[1]===i[1]&&r===s[1]&&e>=s[0]&&e<i[0]||s[1]<i[1]&&r===i[1]&&e<i[0]||s[1]<i[1]&&r===s[1]&&e>=s[0])}};function f9(e,r,s){for(;e.length<s;)e=r+e;return e}f7=dq([dV(1,ug),dV(2,uo),dV(3,uh),dV(4,ur),dV(5,uc),dV(6,ux)],f7);var pe=class{constructor(e,r){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=e.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let s=e.createElement("span");s.classList.add("xterm-char-measure-element");let i=e.createElement("span");i.classList.add("xterm-char-measure-element"),i.style.fontWeight="bold";let n=e.createElement("span");n.classList.add("xterm-char-measure-element"),n.style.fontStyle="italic";let o=e.createElement("span");o.classList.add("xterm-char-measure-element"),o.style.fontWeight="bold",o.style.fontStyle="italic",this._measureElements=[s,i,n,o],this._container.appendChild(s),this._container.appendChild(i),this._container.appendChild(n),this._container.appendChild(o),r.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,r,s,i){e===this._font&&r===this._fontSize&&s===this._weight&&i===this._weightBold||(this._font=e,this._fontSize=r,this._weight=s,this._weightBold=i,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${s}`,this._measureElements[1].style.fontWeight=`${i}`,this._measureElements[2].style.fontWeight=`${s}`,this._measureElements[3].style.fontWeight=`${i}`,this.clear())}get(e,r,s){let i=0;if(!r&&!s&&1===e.length&&(i=e.charCodeAt(0))<256){if(-9999!==this._flat[i])return this._flat[i];let r=this._measure(e,0);return r>0&&(this._flat[i]=r),r}let n=e;r&&(n+="B"),s&&(n+="I");let o=this._holey.get(n);if(void 0===o){let i=0;r&&(i|=1),s&&(i|=2),(o=this._measure(e,i))>0&&this._holey.set(n,o)}return o}_measure(e,r){let s=this._measureElements[r];return s.textContent=e.repeat(32),s.offsetWidth/32}},pt=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,r,s,i=!1){if(this.selectionStart=r,this.selectionEnd=s,!r||!s||r[0]===s[0]&&r[1]===s[1])return void this.clear();let n=e.buffers.active.ydisp,o=r[1]-n,a=s[1]-n,l=Math.max(o,0),c=Math.min(a,e.rows-1);l>=e.rows||c<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=i,this.viewportStartRow=o,this.viewportEndRow=a,this.viewportCappedStartRow=l,this.viewportCappedEndRow=c,this.startCol=r[0],this.endCol=s[0])}isCellSelected(e,r,s){return!!this.hasSelection&&(s-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?r>=this.startCol&&s>=this.viewportCappedStartRow&&r<this.endCol&&s<=this.viewportCappedEndRow:r<this.startCol&&s>=this.viewportCappedStartRow&&r>=this.endCol&&s<=this.viewportCappedEndRow:s>this.viewportStartRow&&s<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&s===this.viewportStartRow&&r>=this.startCol&&r<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportEndRow&&r<this.endCol||this.viewportStartRow<this.viewportEndRow&&s===this.viewportStartRow&&r>=this.startCol)}},pr="xterm-dom-renderer-owner-",ps="xterm-rows",pi="xterm-fg-",pn="xterm-bg-",po="xterm-focus",pa="xterm-selection",pl=1,pc=class extends uM{constructor(e,r,s,i,n,o,a,l,c,d,u,h,f,p){super(),this._terminal=e,this._document=r,this._element=s,this._screenElement=i,this._viewportElement=n,this._helperContainer=o,this._linkifier2=a,this._charSizeService=c,this._optionsService=d,this._bufferService=u,this._coreService=h,this._coreBrowserService=f,this._themeService=p,this._terminalClass=pl++,this._rowElements=[],this._selectionRenderModel=new pt,this.onRequestRedraw=this._register(new u8).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(ps),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(pa),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions={css:{canvas:f8(),cell:f8()},device:{canvas:f8(),cell:f8(),char:{width:0,height:0,left:0,top:0}}},this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(e=>this._injectCss(e))),this._injectCss(this._themeService.colors),this._rowFactory=l.createInstance(f7,document),this._element.classList.add(pr+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(e=>this._handleLinkHover(e))),this._register(this._linkifier2.onHideLinkUnderline(e=>this._handleLinkLeave(e))),this._register(uR(()=>{this._element.classList.remove(pr+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new pe(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;for(let r of(this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows,this._rowElements))r.style.width=`${this.dimensions.css.canvas.width}px`,r.style.height=`${this.dimensions.css.cell.height}px`,r.style.lineHeight=`${this.dimensions.css.cell.height}px`,r.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let r=`${this._terminalSelector} .${ps} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=r,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let r=`${this._terminalSelector} .${ps} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;r+=`${this._terminalSelector} .${ps} .xterm-dim { color: ${mj.multiplyOpacity(e.foreground,.5).css};}${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let s=`blink_underline_${this._terminalClass}`,i=`blink_bar_${this._terminalClass}`,n=`blink_block_${this._terminalClass}`;for(let[o,a]of(r+=`@keyframes ${s} { 50% { border-bottom-style: hidden; }}@keyframes ${i} { 50% { box-shadow: none; }}@keyframes ${n} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}${this._terminalSelector} .${ps}.${po} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${ps}.${po} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${ps}.${po} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${ps} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${ps} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${ps} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${ps} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${ps} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}${this._terminalSelector} .${pa} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${pa} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${pa} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`,e.ansi.entries()))r+=`${this._terminalSelector} .${pi}${o} { color: ${a.css}; }${this._terminalSelector} .${pi}${o}.xterm-dim { color: ${mj.multiplyOpacity(a,.5).css}; }${this._terminalSelector} .${pn}${o} { background-color: ${a.css}; }`;r+=`${this._terminalSelector} .${pi}257 { color: ${mj.opaque(e.background).css}; }${this._terminalSelector} .${pi}257.xterm-dim { color: ${mj.multiplyOpacity(mj.opaque(e.background),.5).css}; }${this._terminalSelector} .${pn}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=r}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,r){for(let e=this._rowElements.length;e<=r;e++){let e=this._document.createElement("div");this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>r;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,r){this._refreshRowElements(e,r),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(po),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(po),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,r,s){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,r,s),this.renderRows(0,this._bufferService.rows-1),!e||!r||(this._selectionRenderModel.update(this._terminal,e,r,s),!this._selectionRenderModel.hasSelection))return;let i=this._selectionRenderModel.viewportStartRow,n=this._selectionRenderModel.viewportEndRow,o=this._selectionRenderModel.viewportCappedStartRow,a=this._selectionRenderModel.viewportCappedEndRow,l=this._document.createDocumentFragment();if(s){let s=e[0]>r[0];l.appendChild(this._createSelectionElement(o,s?r[0]:e[0],s?e[0]:r[0],a-o+1))}else{let s=i===o?e[0]:0,c=o===n?r[0]:this._bufferService.cols;if(l.appendChild(this._createSelectionElement(o,s,c)),l.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,a-o-1)),o!==a){let e=n===a?r[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(a,0,e))}}this._selectionContainer.appendChild(l)}_createSelectionElement(e,r,s,i=1){let n=this._document.createElement("div"),o=r*this.dimensions.css.cell.width,a=this.dimensions.css.cell.width*(s-r);return o+a>this.dimensions.css.canvas.width&&(a=this.dimensions.css.canvas.width-o),n.style.height=`${i*this.dimensions.css.cell.height}px`,n.style.top=`${e*this.dimensions.css.cell.height}px`,n.style.left=`${o}px`,n.style.width=`${a}px`,n}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,r){let s=this._bufferService.buffer,i=s.ybase+s.y,n=Math.min(s.x,this._bufferService.cols-1),o=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,a=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,l=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=r;c++){let e=c+s.ydisp,r=this._rowElements[c],d=s.lines.get(e);if(!r||!d)break;r.replaceChildren(...this._rowFactory.createRow(d,e,e===i,a,l,n,o,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${pr}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,r,s,i,n,o){s<0&&(e=0),i<0&&(r=0);let a=this._bufferService.rows-1;s=Math.max(Math.min(s,a),0),i=Math.max(Math.min(i,a),0),n=Math.min(n,this._bufferService.cols);let l=this._bufferService.buffer,c=l.ybase+l.y,d=Math.min(l.x,n-1),u=this._optionsService.rawOptions.cursorBlink,h=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let a=s;a<=i;++a){let p=a+l.ydisp,m=this._rowElements[a],g=l.lines.get(p);if(!m||!g)break;m.replaceChildren(...this._rowFactory.createRow(g,p,p===c,h,f,d,u,this.dimensions.css.cell.width,this._widthCache,o?a===s?e:0:-1,o?(a===i?r:n)-1:-1))}}};pc=dq([dV(7,ui),dV(8,uu),dV(9,uo),dV(10,ue),dV(11,ur),dV(12,uh),dV(13,ux)],pc);var pd=class extends uM{constructor(e,r,s){super(),this._optionsService=s,this.width=0,this.height=0,this._onCharSizeChange=this._register(new u8),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new pf(this._optionsService))}catch{this._measureStrategy=this._register(new ph(e,r,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};pd=dq([dV(2,uo)],pd);var pu=class extends uM{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,r){void 0!==e&&e>0&&void 0!==r&&r>0&&(this._result.width=e,this._result.height=r)}},ph=class extends pu{constructor(e,r,s){super(),this._document=e,this._parentElement=r,this._optionsService=s,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},pf=class extends pu{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let r=this._ctx.measureText("W");if(!("width"in r&&"fontBoundingBoxAscent"in r&&"fontBoundingBoxDescent"in r))throw Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText("W");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},pp=class extends uM{constructor(e,r,s){super(),this._textarea=e,this._window=r,this.mainDocument=s,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new pm(this._window)),this._onDprChange=this._register(new u8),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new u8),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(u0.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(ft(this._textarea,"focus",()=>this._isFocused=!0)),this._register(ft(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return void 0===this._cachedIsFocused&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},pm=class extends uM{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new uT),this._onDprChange=this._register(new u8),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(uR(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=ft(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},pg=class extends uM{constructor(){super(),this.linkProviders=[],this._register(uR(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let r=this.linkProviders.indexOf(e);-1!==r&&this.linkProviders.splice(r,1)}}}};function px(e,r,s){let i=s.getBoundingClientRect(),n=e.getComputedStyle(s),o=parseInt(n.getPropertyValue("padding-left")),a=parseInt(n.getPropertyValue("padding-top"));return[r.clientX-i.left-o,r.clientY-i.top-a]}var pv=class{constructor(e,r){this._renderService=e,this._charSizeService=r}getCoords(e,r,s,i,n){return function(e,r,s,i,n,o,a,l,c){if(!o)return;let d=px(e,r,s);return d[0]=Math.ceil((d[0]+(c?a/2:0))/a),d[1]=Math.ceil(d[1]/l),d[0]=Math.min(Math.max(d[0],1),i+ +!!c),d[1]=Math.min(Math.max(d[1],1),n),d}(window,e,r,s,i,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,n)}getMouseReportCoords(e,r){let s=px(window,e,r);if(this._charSizeService.hasValidSize)return s[0]=Math.min(Math.max(s[0],0),this._renderService.dimensions.css.canvas.width-1),s[1]=Math.min(Math.max(s[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(s[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(s[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(s[0]),y:Math.floor(s[1])}}};pv=dq([dV(0,up),dV(1,uu)],pv);var p_=class{constructor(e,r){this._renderCallback=e,this._coreBrowserService=r,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(e,r,s){this._rowCount=s,e=void 0!==e?e:0,r=void 0!==r?r:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,r):r,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return void this._runRefreshCallbacks();let e=Math.max(this._rowStart,0),r=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,r),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},py={},pb={getSafariVersion:()=>pE,isChromeOS:()=>pP,isFirefox:()=>pk,isIpad:()=>pA,isIphone:()=>pF,isLegacyEdge:()=>pN,isLinux:()=>pT,isMac:()=>pR,isNode:()=>pS,isSafari:()=>pD,isWindows:()=>pM};for(var pw in pb)dU(py,pw,{get:pb[pw],enumerable:!0});var pS="u">typeof dH.default&&"title"in dH.default,pC=pS?"node":navigator.userAgent,pj=pS?"node":navigator.platform,pk=pC.includes("Firefox"),pN=pC.includes("Edge"),pD=/^((?!chrome|android).)*safari/i.test(pC);function pE(){if(!pD)return 0;let e=pC.match(/Version\/(\d+)/);return null===e||e.length<2?0:parseInt(e[1])}var pR=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(pj),pA="iPad"===pj,pF="iPhone"===pj,pM=["Windows","Win16","Win32","WinCE"].includes(pj),pT=pj.indexOf("Linux")>=0,pP=/\bCrOS\b/.test(pC),pB=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(e){this._idleCallback=void 0;let r=0,s=0,i=e.timeRemaining(),n=0;for(;this._i<this._tasks.length;){if(r=performance.now(),this._tasks[this._i]()||this._i++,1.5*(s=Math.max(r=Math.max(1,performance.now()-r),s))>(n=e.timeRemaining())){i-r<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(i-r))}ms`),this._start();return}i=n}this.clear()}},pL=class extends pB{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let r=performance.now()+e;return{timeRemaining:()=>Math.max(0,r-performance.now())}}},pI=class extends pB{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},pO=!pS&&"requestIdleCallback"in window?pI:pL,pz=class{constructor(){this._queue=new pO}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},p$=class extends uM{constructor(e,r,s,i,n,o,a,l,c){super(),this._rowCount=e,this._optionsService=s,this._charSizeService=i,this._coreService=n,this._coreBrowserService=l,this._renderer=this._register(new uT),this._pausedResizeTask=new pz,this._observerDisposable=this._register(new uT),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new u8),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new u8),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new u8),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new u8),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new p_((e,r)=>this._renderRows(e,r),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new pW(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(uR(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(a.onResize(()=>this._fullRefresh())),this._register(a.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(o.onDecorationRegistered(()=>this._fullRefresh())),this._register(o.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(a.cols,a.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(a.buffer.y,a.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,r),this._register(this._coreBrowserService.onWindowChange(e=>this._registerIntersectionObserver(e,r)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,r){if("IntersectionObserver"in e){let s=new e.IntersectionObserver(e=>this._handleIntersectionChange(e[e.length-1]),{threshold:0});s.observe(r),this._observerDisposable.value=uR(()=>s.disconnect())}}_handleIntersectionChange(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,r,s=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput)return void this._syncOutputHandler.bufferRows(e,r);let i=this._syncOutputHandler.flush();i&&(e=Math.min(e,i.start),r=Math.max(r,i.end)),s||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,r,this._rowCount)}_renderRows(e,r){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput)return void this._syncOutputHandler.bufferRows(e,r);e=Math.min(e,this._rowCount-1),r=Math.min(r,this._rowCount-1),this._renderer.value.renderRows(e,r),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:r}),this._onRender.fire({start:e,end:r}),this._isNextRenderRedrawOnly=!0}}resize(e,r){this._rowCount=r,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,r){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,r)):this._renderer.value.handleResize(e,r),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,r,s){this._selectionState.start=e,this._selectionState.end=r,this._selectionState.columnSelectMode=s,this._renderer.value?.handleSelectionChanged(e,r,s)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};p$=dq([dV(2,uo),dV(3,uu),dV(4,ur),dV(5,uc),dV(6,ue),dV(7,uh),dV(8,ux)],p$);var pW=class{constructor(e,r,s){this._coreBrowserService=e,this._coreService=r,this._onTimeout=s,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,r){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,r)):(this._start=e,this._end=r,this._isBuffering=!0),void 0===this._timeout&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(void 0!==this._timeout&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){void 0!==this._timeout&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function pH(e,r,s,i){return pV(Math.abs(e-pU(e,s)-(r-pU(r,s)))-function(e,r,s){let i=0,n=e-pU(e,s),o=r-pU(r,s);for(let a=0;a<Math.abs(n-o);a++){let o="A"===function(e,r){return e>r?"A":"B"}(e,r)?-1:1;s.buffer.lines.get(n+o*a)?.isWrapped&&i++}return i}(e,r,s),pq(e>r?"A":"B",i))}function pU(e,r){let s=0,i=r.buffer.lines.get(e),n=i?.isWrapped;for(;n&&e>=0&&e<r.rows;)s++,i=r.buffer.lines.get(--e),n=i?.isWrapped;return s}function pK(e,r,s,i,n,o){let a=e,l=r,c="";for(;(a!==s||l!==i)&&l>=0&&l<o.buffer.lines.length;)a+=n?1:-1,n&&a>o.cols-1?(c+=o.buffer.translateBufferLineToString(l,!1,e,a),a=0,e=0,l++):!n&&a<0&&(c+=o.buffer.translateBufferLineToString(l,!1,0,e+1),e=a=o.cols-1,l--);return c+o.buffer.translateBufferLineToString(l,!1,e,a)}function pq(e,r){return f$.ESC+(r?"O":"[")+e}function pV(e,r){e=Math.floor(e);let s="";for(let i=0;i<e;i++)s+=r;return s}var pY=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,r=this.selectionEnd;return!!e&&!!r&&(e[1]>r[1]||e[1]===r[1]&&e[0]>r[0])}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function pG(e,r){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return r*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var pX=RegExp(" ","g"),pJ=class extends uM{constructor(e,r,s,i,n,o,a,l,c){super(),this._element=e,this._screenElement=r,this._linkifier=s,this._bufferService=i,this._coreService=n,this._mouseService=o,this._optionsService=a,this._renderService=l,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new d4,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new u8),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new u8),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new u8),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new u8),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(e=>this._handleTrim(e)),this._register(this._bufferService.buffers.onBufferActivate(e=>this._handleBufferActivate(e))),this.enable(),this._model=new pY(this._bufferService),this._activeSelectionMode=0,this._register(uR(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(e=>{e.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!!e&&!!r&&(e[0]!==r[0]||e[1]!==r[1])}get selectionText(){let e=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;if(!e||!r)return"";let s=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===r[0])return"";let n=e[0]<r[0]?e[0]:r[0],o=e[0]<r[0]?r[0]:e[0];for(let a=e[1];a<=r[1];a++){let e=s.translateBufferLineToString(a,!0,n,o);i.push(e)}}else{let n=e[1]===r[1]?r[0]:void 0;i.push(s.translateBufferLineToString(e[1],!0,e[0],n));for(let n=e[1]+1;n<=r[1]-1;n++){let e=s.lines.get(n),r=s.translateBufferLineToString(n,!0);e?.isWrapped?i[i.length-1]+=r:i.push(r)}if(e[1]!==r[1]){let e=s.lines.get(r[1]),n=s.translateBufferLineToString(r[1],!0,0,r[0]);e&&e.isWrapped?i[i.length-1]+=n:i.push(n)}}return i.map(e=>e.replace(pX," ")).join(pM?`\r
|
|
18
|
+
`:`
|
|
19
|
+
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),pT&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})}_isClickInSelection(e){let r=this._getMouseBufferCoords(e),s=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!s&&!!i&&!!r&&this._areCoordsInSelection(r,s,i)}isCellInSelection(e,r){let s=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!s&&!!i&&this._areCoordsInSelection([e,r],s,i)}_areCoordsInSelection(e,r,s){return e[1]>r[1]&&e[1]<s[1]||r[1]===s[1]&&e[1]===r[1]&&e[0]>=r[0]&&e[0]<s[0]||r[1]<s[1]&&e[1]===s[1]&&e[0]<s[0]||r[1]<s[1]&&e[1]===r[1]&&e[0]>=r[0]}_selectWordAtCursor(e,r){let s=this._linkifier.currentLink?.link?.range;if(s)return this._model.selectionStart=[s.start.x-1,s.start.y-1],this._model.selectionStartLength=pG(s,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let i=this._getMouseBufferCoords(e);return!!i&&(this._selectWordAt(i,r),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,r){this._model.clearSelection(),e=Math.max(e,0),r=Math.min(r,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,r],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let r=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(r)return r[0]--,r[1]--,r[1]+=this._bufferService.buffer.ydisp,r}_getMouseEventScrollAmount(e){let r=px(this._coreBrowserService.window,e,this._screenElement)[1],s=this._renderService.dimensions.css.canvas.height;return r>=0&&r<=s?0:(r>s&&(r-=s),(r=Math.min(Math.max(r,-50),50)/50)/Math.abs(r)+Math.round(14*r))}shouldForceSelection(e){return pR?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(2===e.button&&this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):1===e.detail?this._handleSingleClick(e):2===e.detail?this._handleDoubleClick(e):3===e.detail&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=3*!!this.shouldColumnSelect(e),this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let r=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);r&&r.length!==this._model.selectionStart[0]&&0===r.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let r=this._getMouseBufferCoords(e);r&&(this._activeSelectionMode=2,this._selectLineAt(r[1]))}shouldColumnSelect(e){return e.altKey&&!(pR&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let r=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd)return void this.refresh(!0);2===this._activeSelectionMode?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:1===this._activeSelectionMode&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),3!==this._activeSelectionMode&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let s=this._bufferService.buffer;if(this._model.selectionEnd[1]<s.lines.length){let e=s.lines.get(this._model.selectionEnd[1]);e&&0===e.hasWidth(this._model.selectionEnd[0])&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}r&&r[0]===this._model.selectionEnd[0]&&r[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let e=this._bufferService.buffer;this._dragScrollAmount>0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let r=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&r<500&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){let e=function(e,r,s,i){var n,o,a,l,c,d,u,h,f,p,m,g,x,v,_,y,b,w;let S,C=s.buffer.x,j=s.buffer.y;if(!s.buffer.hasScrollback){let b,w,S;return n=C,a=0,(0===pH(o=j,r,l=s,c=i).length?"":pV(pK(n,o,n,o-pU(o,l),!1,l).length,pq("D",c)))+pH(j,r,s,i)+(d=C,u=j,h=e,b=pH(u,f=r,p=s,m=i).length>0?f-pU(f,p):u,S=(g=d,x=u,w=pH(v=h,_=f,y=p,m).length>0?_-pU(_,y):x,g<v&&w<=_||g>=v&&w<_?"C":"D"),pV(pK(d,b,h,f,"C"===S,p).length,pq(S,m)))}if(j===r)return S=C>e?"D":"C",pV(Math.abs(C-e),pq(S,i));S=j>r?"D":"C";let k=Math.abs(j-r);return pV((b=j>r?e:C,s.cols-b+(k-1)*s.cols+1+(w=0,(j>r?C:e)-1)),pq(S,i))}(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,r=this._model.finalSelectionEnd,s=!!e&&!!r&&(e[0]!==r[0]||e[1]!==r[1]);if(!s){this._oldHasSelection&&this._fireOnSelectionChange(e,r,s);return}!e||!r||this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&r[0]===this._oldSelectionEnd[0]&&r[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,r,s)}_fireOnSelectionChange(e,r,s){this._oldSelectionStart=e,this._oldSelectionEnd=r,this._oldHasSelection=s,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(e=>this._handleTrim(e))}_convertViewportColToCharacterIndex(e,r){let s=r;for(let i=0;r>=i;i++){let n=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?s--:n>1&&r!==i&&(s+=n-1)}return s}setSelection(e,r,s){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,r],this._model.selectionStartLength=s,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,r,s=!0,i=!0){if(e[0]>=this._bufferService.cols)return;let n=this._bufferService.buffer,o=n.lines.get(e[1]);if(!o)return;let a=n.translateBufferLineToString(e[1],!1),l=this._convertViewportColToCharacterIndex(o,e[0]),c=l,d=e[0]-l,u=0,h=0,f=0,p=0;if(" "===a.charAt(l)){for(;l>0&&" "===a.charAt(l-1);)l--;for(;c<a.length&&" "===a.charAt(c+1);)c++}else{let r=e[0],s=e[0];0===o.getWidth(r)&&(u++,r--),2===o.getWidth(s)&&(h++,s++);let i=o.getString(s).length;for(i>1&&(p+=i-1,c+=i-1);r>0&&l>0&&!this._isCharWordSeparator(o.loadCell(r-1,this._workCell));){o.loadCell(r-1,this._workCell);let e=this._workCell.getChars().length;0===this._workCell.getWidth()?(u++,r--):e>1&&(f+=e-1,l-=e-1),l--,r--}for(;s<o.length&&c+1<a.length&&!this._isCharWordSeparator(o.loadCell(s+1,this._workCell));){o.loadCell(s+1,this._workCell);let e=this._workCell.getChars().length;2===this._workCell.getWidth()?(h++,s++):e>1&&(p+=e-1,c+=e-1),c++,s++}}c++;let m=l+d-u+f,g=Math.min(this._bufferService.cols,c-l+u+h-f-p);if(!(!r&&""===a.slice(l,c).trim())){if(s&&0===m&&32!==o.getCodePoint(0)){let r=n.lines.get(e[1]-1);if(r&&o.isWrapped&&32!==r.getCodePoint(this._bufferService.cols-1)){let r=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(r){let e=this._bufferService.cols-r.start;m-=e,g+=e}}}if(i&&m+g===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){let r=n.lines.get(e[1]+1);if(r?.isWrapped&&32!==r.getCodePoint(0)){let r=this._getWordAt([0,e[1]+1],!1,!1,!0);r&&(g+=r.length)}}return{start:m,length:g}}}_selectWordAt(e,r){let s=this._getWordAt(e,r);if(s){for(;s.start<0;)s.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[s.start,e[1]],this._model.selectionStartLength=s.length}}_selectToWordAt(e){let r=this._getWordAt(e,!0);if(r){let s=e[1];for(;r.start<0;)r.start+=this._bufferService.cols,s--;if(!this._model.areSelectionValuesReversed())for(;r.start+r.length>this._bufferService.cols;)r.length-=this._bufferService.cols,s++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?r.start:r.start+r.length,s]}}_isCharWordSeparator(e){return 0!==e.getWidth()&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let r=this._bufferService.buffer.getWrappedRangeForLine(e),s={start:{x:0,y:r.first},end:{x:this._bufferService.cols-1,y:r.last}};this._model.selectionStart=[0,r.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=pG(s,this._bufferService.cols)}};pJ=dq([dV(3,ue),dV(4,ur),dV(5,uf),dV(6,uo),dV(7,up),dV(8,uh)],pJ);var pZ=class{constructor(){this._data={}}set(e,r,s){this._data[e]||(this._data[e]={}),this._data[e][r]=s}get(e,r){return this._data[e]?this._data[e][r]:void 0}clear(){this._data={}}},pQ=class{constructor(){this._color=new pZ,this._css=new pZ}setCss(e,r,s){this._css.set(e,r,s)}getCss(e,r){return this._css.get(e,r)}setColor(e,r,s){this._color.set(e,r,s)}getColor(e,r){return this._color.get(e,r)}clear(){this._color.clear(),this._css.clear()}},p0=Object.freeze((()=>{let e=[mk.toColor("#2e3436"),mk.toColor("#cc0000"),mk.toColor("#4e9a06"),mk.toColor("#c4a000"),mk.toColor("#3465a4"),mk.toColor("#75507b"),mk.toColor("#06989a"),mk.toColor("#d3d7cf"),mk.toColor("#555753"),mk.toColor("#ef2929"),mk.toColor("#8ae234"),mk.toColor("#fce94f"),mk.toColor("#729fcf"),mk.toColor("#ad7fa8"),mk.toColor("#34e2e2"),mk.toColor("#eeeeec")],r=[0,95,135,175,215,255];for(let s=0;s<216;s++){let i=r[s/36%6|0],n=r[s/6%6|0],o=r[s%6];e.push({css:fU.toCss(i,n,o),rgba:fU.toRgba(i,n,o)})}for(let r=0;r<24;r++){let s=8+10*r;e.push({css:fU.toCss(s,s,s),rgba:fU.toRgba(s,s,s)})}return e})()),p1=mk.toColor("#ffffff"),p2=mk.toColor("#000000"),p5=mk.toColor("#ffffff"),p3={css:"rgba(255, 255, 255, 0.3)",rgba:0xffffff4d},p4=class extends uM{constructor(e){super(),this._optionsService=e,this._contrastCache=new pQ,this._halfContrastCache=new pQ,this._onChangeColors=this._register(new u8),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:p1,background:p2,cursor:p5,cursorAccent:p2,selectionForeground:void 0,selectionBackgroundTransparent:p3,selectionBackgroundOpaque:mj.blend(p2,p3),selectionInactiveBackgroundTransparent:p3,selectionInactiveBackgroundOpaque:mj.blend(p2,p3),scrollbarSliderBackground:mj.opacity(p1,.2),scrollbarSliderHoverBackground:mj.opacity(p1,.4),scrollbarSliderActiveBackground:mj.opacity(p1,.5),overviewRulerBorder:p1,ansi:p0.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let r=this._colors;if(r.foreground=p6(e.foreground,p1),r.background=p6(e.background,p2),r.cursor=mj.blend(r.background,p6(e.cursor,p5)),r.cursorAccent=mj.blend(r.background,p6(e.cursorAccent,p2)),r.selectionBackgroundTransparent=p6(e.selectionBackground,p3),r.selectionBackgroundOpaque=mj.blend(r.background,r.selectionBackgroundTransparent),r.selectionInactiveBackgroundTransparent=p6(e.selectionInactiveBackground,r.selectionBackgroundTransparent),r.selectionInactiveBackgroundOpaque=mj.blend(r.background,r.selectionInactiveBackgroundTransparent),r.selectionForeground=e.selectionForeground?p6(e.selectionForeground,fG):void 0,r.selectionForeground===fG&&(r.selectionForeground=void 0),mj.isOpaque(r.selectionBackgroundTransparent)&&(r.selectionBackgroundTransparent=mj.opacity(r.selectionBackgroundTransparent,.3)),mj.isOpaque(r.selectionInactiveBackgroundTransparent)&&(r.selectionInactiveBackgroundTransparent=mj.opacity(r.selectionInactiveBackgroundTransparent,.3)),r.scrollbarSliderBackground=p6(e.scrollbarSliderBackground,mj.opacity(r.foreground,.2)),r.scrollbarSliderHoverBackground=p6(e.scrollbarSliderHoverBackground,mj.opacity(r.foreground,.4)),r.scrollbarSliderActiveBackground=p6(e.scrollbarSliderActiveBackground,mj.opacity(r.foreground,.5)),r.overviewRulerBorder=p6(e.overviewRulerBorder,p1),r.ansi=p0.slice(),r.ansi[0]=p6(e.black,p0[0]),r.ansi[1]=p6(e.red,p0[1]),r.ansi[2]=p6(e.green,p0[2]),r.ansi[3]=p6(e.yellow,p0[3]),r.ansi[4]=p6(e.blue,p0[4]),r.ansi[5]=p6(e.magenta,p0[5]),r.ansi[6]=p6(e.cyan,p0[6]),r.ansi[7]=p6(e.white,p0[7]),r.ansi[8]=p6(e.brightBlack,p0[8]),r.ansi[9]=p6(e.brightRed,p0[9]),r.ansi[10]=p6(e.brightGreen,p0[10]),r.ansi[11]=p6(e.brightYellow,p0[11]),r.ansi[12]=p6(e.brightBlue,p0[12]),r.ansi[13]=p6(e.brightMagenta,p0[13]),r.ansi[14]=p6(e.brightCyan,p0[14]),r.ansi[15]=p6(e.brightWhite,p0[15]),e.extendedAnsi){let s=Math.min(r.ansi.length-16,e.extendedAnsi.length);for(let i=0;i<s;i++)r.ansi[i+16]=p6(e.extendedAnsi[i],p0[i+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(void 0===e){for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e];return}switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function p6(e,r){if(void 0!==e)try{return mk.toColor(e)}catch{}return r}p4=dq([dV(0,uo)],p4);var p8=class{constructor(...e){for(let[r,s]of(this._entries=new Map,e))this.set(r,s)}set(e,r){let s=this._entries.get(e);return this._entries.set(e,r),s}forEach(e){for(let[r,s]of this._entries.entries())e(r,s)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},p7=class{constructor(){this._services=new p8,this._services.set(ui,this)}setService(e,r){this._services.set(e,r)}getService(e){return this._services.get(e)}createInstance(e,...r){let s=(e[d8]||[]).sort((e,r)=>e.index-r.index),i=[];for(let r of s){let s=this._services.get(r.id);if(!s)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${r.id._id}.`);i.push(s)}let n=s.length>0?s[0].index:r.length;if(r.length!==n)throw Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${r.length} static arguments`);return new e(...r,...i)}},p9={trace:0,debug:1,info:2,warn:3,error:4,off:5},me=class extends uM{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=p9[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let r=0;r<e.length;r++)"function"==typeof e[r]&&(e[r]=e[r]())}_log(e,r,s){this._evalLazyOptionalParams(s),e.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+r,...s)}trace(e,...r){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,r)}debug(e,...r){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,r)}info(e,...r){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,r)}warn(e,...r){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,r)}error(e,...r){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,r)}};me=dq([dV(0,uo)],me);var mt=class extends uM{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new u8),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new u8),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new u8),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let r=Array(e);for(let s=0;s<Math.min(e,this.length);s++)r[s]=this._array[this._getCyclicIndex(s)];this._array=r,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let r=this._length;r<e;r++)this._array[r]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,r){this._array[this._getCyclicIndex(e)]=r}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,r,...s){if(r){for(let s=e;s<this._length-r;s++)this._array[this._getCyclicIndex(s)]=this._array[this._getCyclicIndex(s+r)];this._length-=r,this.onDeleteEmitter.fire({index:e,amount:r})}for(let r=this._length-1;r>=e;r--)this._array[this._getCyclicIndex(r+s.length)]=this._array[this._getCyclicIndex(r)];for(let r=0;r<s.length;r++)this._array[this._getCyclicIndex(e+r)]=s[r];if(s.length&&this.onInsertEmitter.fire({index:e,amount:s.length}),this._length+s.length>this._maxLength){let e=this._length+s.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=s.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,r,s){if(!(r<=0)){if(e<0||e>=this._length)throw Error("start argument out of range");if(e+s<0)throw Error("Cannot shift elements in list beyond index 0");if(s>0){for(let i=r-1;i>=0;i--)this.set(e+i+s,this.get(e+i));let i=e+r+s-this._length;if(i>0)for(this._length+=i;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let i=0;i<r;i++)this.set(e+i+s,this.get(e+i))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}},mr=Object.freeze(new d5),ms=0,mi=class e{constructor(e,r,s=!1){this.isWrapped=s,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);let i=r||d4.fromCharData([0,"",1,0]);for(let r=0;r<e;++r)this.setCell(r,i);this.length=e}get(e){let r=this._data[3*e+0],s=2097151&r;return[this._data[3*e+1],2097152&r?this._combined[e]:s?dQ(s):"",r>>22,2097152&r?this._combined[e].charCodeAt(this._combined[e].length-1):s]}set(e,r){this._data[3*e+1]=r[0],r[1].length>1?(this._combined[e]=r[1],this._data[3*e+0]=2097152|e|r[2]<<22):this._data[3*e+0]=r[1].charCodeAt(0)|r[2]<<22}getWidth(e){return this._data[3*e+0]>>22}hasWidth(e){return 0xc00000&this._data[3*e+0]}getFg(e){return this._data[3*e+1]}getBg(e){return this._data[3*e+2]}hasContent(e){return 4194303&this._data[3*e+0]}getCodePoint(e){let r=this._data[3*e+0];return 2097152&r?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&r}isCombined(e){return 2097152&this._data[3*e+0]}getString(e){let r=this._data[3*e+0];return 2097152&r?this._combined[e]:2097151&r?dQ(2097151&r):""}isProtected(e){return 0x20000000&this._data[3*e+2]}loadCell(e,r){return ms=3*e,r.content=this._data[ms+0],r.fg=this._data[ms+1],r.bg=this._data[ms+2],2097152&r.content&&(r.combinedData=this._combined[e]),0x10000000&r.bg&&(r.extended=this._extendedAttrs[e]),r}setCell(e,r){2097152&r.content&&(this._combined[e]=r.combinedData),0x10000000&r.bg&&(this._extendedAttrs[e]=r.extended),this._data[3*e+0]=r.content,this._data[3*e+1]=r.fg,this._data[3*e+2]=r.bg}setCellFromCodepoint(e,r,s,i){0x10000000&i.bg&&(this._extendedAttrs[e]=i.extended),this._data[3*e+0]=r|s<<22,this._data[3*e+1]=i.fg,this._data[3*e+2]=i.bg}addCodepointToCell(e,r,s){let i=this._data[3*e+0];2097152&i?this._combined[e]+=dQ(r):2097151&i?(this._combined[e]=dQ(2097151&i)+dQ(r),i&=-2097152,i|=2097152):i=4194304|r,s&&(i&=-0xc00001,i|=s<<22),this._data[3*e+0]=i}insertCells(e,r,s){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,s),r<this.length-e){let i=new d4;for(let s=this.length-e-r-1;s>=0;--s)this.setCell(e+r+s,this.loadCell(e+s,i));for(let i=0;i<r;++i)this.setCell(e+i,s)}else for(let r=e;r<this.length;++r)this.setCell(r,s);2===this.getWidth(this.length-1)&&this.setCellFromCodepoint(this.length-1,0,1,s)}deleteCells(e,r,s){if(e%=this.length,r<this.length-e){let i=new d4;for(let s=0;s<this.length-e-r;++s)this.setCell(e+s,this.loadCell(e+r+s,i));for(let e=this.length-r;e<this.length;++e)this.setCell(e,s)}else for(let r=e;r<this.length;++r)this.setCell(r,s);e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,s),0!==this.getWidth(e)||this.hasContent(e)||this.setCellFromCodepoint(e,0,1,s)}replaceCells(e,r,s,i=!1){if(i){for(e&&2===this.getWidth(e-1)&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,s),r<this.length&&2===this.getWidth(r-1)&&!this.isProtected(r)&&this.setCellFromCodepoint(r,0,1,s);e<r&&e<this.length;)this.isProtected(e)||this.setCell(e,s),e++;return}for(e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,s),r<this.length&&2===this.getWidth(r-1)&&this.setCellFromCodepoint(r,0,1,s);e<r&&e<this.length;)this.setCell(e++,s)}resize(e,r){if(e===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;let s=3*e;if(e>this.length){if(this._data.buffer.byteLength>=4*s)this._data=new Uint32Array(this._data.buffer,0,s);else{let e=new Uint32Array(s);e.set(this._data),this._data=e}for(let s=this.length;s<e;++s)this.setCell(s,r)}else{this._data=this._data.subarray(0,s);let r=Object.keys(this._combined);for(let s=0;s<r.length;s++){let i=parseInt(r[s],10);i>=e&&delete this._combined[i]}let i=Object.keys(this._extendedAttrs);for(let r=0;r<i.length;r++){let s=parseInt(i[r],10);s>=e&&delete this._extendedAttrs[s]}}return this.length=e,4*s*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,r=!1){if(r){for(let r=0;r<this.length;++r)this.isProtected(r)||this.setCell(r,e);return}this._combined={},this._extendedAttrs={};for(let r=0;r<this.length;++r)this.setCell(r,e)}copyFrom(e){for(let r in this.length!==e.length?this._data=new Uint32Array(e._data):this._data.set(e._data),this.length=e.length,this._combined={},e._combined)this._combined[r]=e._combined[r];for(let r in this._extendedAttrs={},e._extendedAttrs)this._extendedAttrs[r]=e._extendedAttrs[r];this.isWrapped=e.isWrapped}clone(){let r=new e(0);for(let e in r._data=new Uint32Array(this._data),r.length=this.length,this._combined)r._combined[e]=this._combined[e];for(let e in this._extendedAttrs)r._extendedAttrs[e]=this._extendedAttrs[e];return r.isWrapped=this.isWrapped,r}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0]||0x3000000&this._data[3*e+2])return e+(this._data[3*e+0]>>22);return 0}copyCellsFrom(e,r,s,i,n){let o=e._data;if(n)for(let n=i-1;n>=0;n--){for(let e=0;e<3;e++)this._data[(s+n)*3+e]=o[(r+n)*3+e];0x10000000&o[(r+n)*3+2]&&(this._extendedAttrs[s+n]=e._extendedAttrs[r+n])}else for(let n=0;n<i;n++){for(let e=0;e<3;e++)this._data[(s+n)*3+e]=o[(r+n)*3+e];0x10000000&o[(r+n)*3+2]&&(this._extendedAttrs[s+n]=e._extendedAttrs[r+n])}let a=Object.keys(e._combined);for(let i=0;i<a.length;i++){let n=parseInt(a[i],10);n>=r&&(this._combined[n-r+s]=e._combined[n])}}translateToString(e,r,s,i){r=r??0,s=s??this.length,e&&(s=Math.min(s,this.getTrimmedLength())),i&&(i.length=0);let n="";for(;r<s;){let e=this._data[3*r+0],s=2097151&e,o=2097152&e?this._combined[r]:s?dQ(s):" ";if(n+=o,i)for(let e=0;e<o.length;++e)i.push(r);r+=e>>22||1}return i&&i.push(r),n}};function mn(e,r,s){if(r===e.length-1)return e[r].getTrimmedLength();let i=!e[r].hasContent(s-1)&&1===e[r].getWidth(s-1),n=2===e[r+1].getWidth(0);return i&&n?s-1:s}var mo=class e{constructor(r){this.line=r,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new u8),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),uE(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};mo._nextId=1;var ma={},ml=ma.B;ma[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},ma.A={"#":"£"},ma.B=void 0,ma[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},ma.C=ma[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},ma.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},ma.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},ma.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},ma.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},ma.E=ma[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},ma.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},ma.H=ma[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},ma["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var mc=class{constructor(e,r,s){this._hasScrollback=e,this._optionsService=r,this._bufferService=s,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=mr.clone(),this.savedCharset=ml,this.markers=[],this._nullCell=d4.fromCharData([0,"",1,0]),this._whitespaceCell=d4.fromCharData([0," ",1,32]),this._isClearing=!1,this._memoryCleanupQueue=new pO,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new mt(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new d3),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new d3),this._whitespaceCell}getBlankLine(e,r){return new mi(this._bufferService.cols,this.getNullCell(e),r)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;let r=e+this._optionsService.rawOptions.scrollback;return r>0xffffffff?0xffffffff:r}fillViewportRows(e){if(0===this.lines.length){void 0===e&&(e=mr);let r=this._rows;for(;r--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new mt(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,r){let s=this.getNullCell(mr),i=0,n=this._getCorrectBufferLength(r);if(n>this.lines.maxLength&&(this.lines.maxLength=n),this.lines.length>0){if(this._cols<e)for(let r=0;r<this.lines.length;r++)i+=+this.lines.get(r).resize(e,s);let o=0;if(this._rows<r)for(let i=this._rows;i<r;i++)this.lines.length<r+this.ybase&&(this._optionsService.rawOptions.windowsMode||void 0!==this._optionsService.rawOptions.windowsPty.backend||void 0!==this._optionsService.rawOptions.windowsPty.buildNumber?this.lines.push(new mi(e,s)):this.ybase>0&&this.lines.length<=this.ybase+this.y+o+1?(this.ybase--,o++,this.ydisp>0&&this.ydisp--):this.lines.push(new mi(e,s)));else for(let e=this._rows;e>r;e--)this.lines.length>r+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(n<this.lines.maxLength){let e=this.lines.length-n;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=n}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,r-1),o&&(this.y+=o),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=r-1,this._isReflowEnabled&&(this._reflow(e,r),this._cols>e))for(let r=0;r<this.lines.length;r++)i+=+this.lines.get(r).resize(e,s);this._cols=e,this._rows=r,this._memoryCleanupQueue.clear(),i>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let r=0;for(;this._memoryCleanupPosition<this.lines.length;)if((r+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory())>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&"conpty"===e.backend&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,r){this._cols!==e&&(e>this._cols?this._reflowLarger(e,r):this._reflowSmaller(e,r))}_reflowLarger(e,r){let s=this._optionsService.rawOptions.reflowCursorLine,i=function(e,r,s,i,n,o){let a=[];for(let l=0;l<e.length-1;l++){let c=l,d=e.get(++c);if(!d.isWrapped)continue;let u=[e.get(l)];for(;c<e.length&&d.isWrapped;)u.push(d),d=e.get(++c);if(!o&&i>=l&&i<c){l+=u.length-1;continue}let h=0,f=mn(u,0,r),p=1,m=0;for(;p<u.length;){let e=mn(u,p,r),i=Math.min(e-m,s-f);u[h].copyCellsFrom(u[p],m,f,i,!1),(f+=i)===s&&(h++,f=0),(m+=i)===e&&(p++,m=0),0===f&&0!==h&&2===u[h-1].getWidth(s-1)&&(u[h].copyCellsFrom(u[h-1],s-1,f++,1,!1),u[h-1].setCell(s-1,n))}u[h].replaceCells(f,s,n);let g=0;for(let e=u.length-1;e>0&&(e>h||0===u[e].getTrimmedLength());e--)g++;g>0&&(a.push(l+u.length-g),a.push(g)),l+=u.length-1}return a}(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(mr),s);if(i.length>0){let s=function(e,r){let s=[],i=0,n=r[0],o=0;for(let a=0;a<e.length;a++)if(n===a){let s=r[++i];e.onDeleteEmitter.fire({index:a-o,amount:s}),a+=s-1,o+=s,n=r[++i]}else s.push(a);return{layout:s,countRemoved:o}}(this.lines,i);(function(e,r){let s=[];for(let i=0;i<r.length;i++)s.push(e.get(r[i]));for(let r=0;r<s.length;r++)e.set(r,s[r]);e.length=r.length})(this.lines,s.layout),this._reflowLargerAdjustViewport(e,r,s.countRemoved)}}_reflowLargerAdjustViewport(e,r,s){let i=this.getNullCell(mr),n=s;for(;n-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length<r&&this.lines.push(new mi(e,i))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-s,0)}_reflowSmaller(e,r){let s=this._optionsService.rawOptions.reflowCursorLine,i=this.getNullCell(mr),n=[],o=0;for(let a=this.lines.length-1;a>=0;a--){let l=this.lines.get(a);if(!l||!l.isWrapped&&l.getTrimmedLength()<=e)continue;let c=[l];for(;l.isWrapped&&a>0;)l=this.lines.get(--a),c.unshift(l);if(!s){let e=this.ybase+this.y;if(e>=a&&e<a+c.length)continue}let d=c[c.length-1].getTrimmedLength(),u=function(e,r,s){let i=[],n=e.map((s,i)=>mn(e,i,r)).reduce((e,r)=>e+r),o=0,a=0,l=0;for(;l<n;){if(n-l<s){i.push(n-l);break}o+=s;let c=mn(e,a,r);o>c&&(o-=c,a++);let d=2===e[a].getWidth(o-1);d&&o--;let u=d?s-1:s;i.push(u),l+=u}return i}(c,this._cols,e),h=u.length-c.length,f;f=0===this.ybase&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+h):Math.max(0,this.lines.length-this.lines.maxLength+h);let p=[];for(let e=0;e<h;e++){let e=this.getBlankLine(mr,!0);p.push(e)}p.length>0&&(n.push({start:a+c.length+o,newLines:p}),o+=p.length),c.push(...p);let m=u.length-1,g=u[m];0===g&&(g=u[--m]);let x=c.length-h-1,v=d;for(;x>=0;){let e=Math.min(v,g);if(void 0===c[m])break;c[m].copyCellsFrom(c[x],v-e,g-e,e,!0),0==(g-=e)&&(g=u[--m]),0==(v-=e)&&(v=mn(c,Math.max(--x,0),this._cols))}for(let r=0;r<c.length;r++)u[r]<e&&c[r].setCell(u[r],i);let _=h-f;for(;_-- >0;)0===this.ybase?this.y<r-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+o)-r&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+h,this.ybase+r-1)}if(n.length>0){let e=[],r=[];for(let e=0;e<this.lines.length;e++)r.push(this.lines.get(e));let s=this.lines.length,i=s-1,a=0,l=n[0];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+o);let c=0;for(let d=Math.min(this.lines.maxLength-1,s+o-1);d>=0;d--)if(l&&l.start>i+c){for(let e=l.newLines.length-1;e>=0;e--)this.lines.set(d--,l.newLines[e]);d++,e.push({index:i+1,amount:l.newLines.length}),c+=l.newLines.length,l=n[++a]}else this.lines.set(d,r[i--]);let d=0;for(let r=e.length-1;r>=0;r--)e[r].index+=d,this.lines.onInsertEmitter.fire(e[r]),d+=e[r].amount;let u=Math.max(0,s+o-this.lines.maxLength);u>0&&this.lines.onTrimEmitter.fire(u)}}translateBufferLineToString(e,r,s=0,i){let n=this.lines.get(e);return n?n.translateToString(r,s,i):""}getWrappedRangeForLine(e){let r=e,s=e;for(;r>0&&this.lines.get(r).isWrapped;)r--;for(;s+1<this.lines.length&&this.lines.get(s+1).isWrapped;)s++;return{first:r,last:s}}setupTabStops(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(null==e&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let r=0;r<this.markers.length;r++)this.markers[r].line===e&&(this.markers[r].dispose(),this.markers.splice(r--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let r=new mo(e);return this.markers.push(r),r.register(this.lines.onTrim(e=>{r.line-=e,r.line<0&&r.dispose()})),r.register(this.lines.onInsert(e=>{r.line>=e.index&&(r.line+=e.amount)})),r.register(this.lines.onDelete(e=>{r.line>=e.index&&r.line<e.index+e.amount&&r.dispose(),r.line>e.index&&(r.line-=e.amount)})),r.register(r.onDispose(()=>this._removeMarker(r))),r}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},md=class extends uM{constructor(e,r){super(),this._optionsService=e,this._bufferService=r,this._onBufferActivate=this._register(new u8),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new mc(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new mc(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,r){this._normal.resize(e,r),this._alt.resize(e,r),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},mu=class extends uM{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new u8),this.onResize=this._onResize.event,this._onScroll=this._register(new u8),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,2),this.rows=Math.max(e.rawOptions.rows||0,1),this.buffers=this._register(new md(e,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,r){let s=this.cols!==e,i=this.rows!==r;this.cols=e,this.rows=r,this.buffers.resize(e,r),this._onResize.fire({cols:e,rows:r,colsChanged:s,rowsChanged:i})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,r=!1){let s=this.buffer,i;(i=this._cachedBlankLine)&&i.length===this.cols&&i.getFg(0)===e.fg&&i.getBg(0)===e.bg||(i=s.getBlankLine(e,r),this._cachedBlankLine=i),i.isWrapped=r;let n=s.ybase+s.scrollTop,o=s.ybase+s.scrollBottom;if(0===s.scrollTop){let e=s.lines.isFull;o===s.lines.length-1?e?s.lines.recycle().copyFrom(i):s.lines.push(i.clone()):s.lines.splice(o+1,0,i.clone()),e?this.isUserScrolling&&(s.ydisp=Math.max(s.ydisp-1,0)):(s.ybase++,this.isUserScrolling||s.ydisp++)}else{let e=o-n+1;s.lines.shiftElements(n+1,e-1,-1),s.lines.set(o,i.clone())}this.isUserScrolling||(s.ydisp=s.ybase),this._onScroll.fire(s.ydisp)}scrollLines(e,r){let s=this.buffer;if(e<0){if(0===s.ydisp)return;this.isUserScrolling=!0}else e+s.ydisp>=s.ybase&&(this.isUserScrolling=!1);let i=s.ydisp;s.ydisp=Math.max(Math.min(s.ydisp+e,s.ybase),0),i!==s.ydisp&&(r||this._onScroll.fire(s.ydisp))}};mu=dq([dV(0,uo)],mu);var mh={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:pR,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},mf=["normal","bold","100","200","300","400","500","600","700","800","900"],mp=class extends uM{constructor(e){super(),this._onOptionChange=this._register(new u8),this.onOptionChange=this._onOptionChange.event;let r={...mh};for(let s in e)if(s in r)try{let i=e[s];r[s]=this._sanitizeAndValidateOption(s,i)}catch(e){console.error(e)}this.rawOptions=r,this.options={...r},this._setupOptions(),this._register(uR(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,r){return this.onOptionChange(s=>{s===e&&r(this.rawOptions[e])})}onMultipleOptionChange(e,r){return this.onOptionChange(s=>{-1!==e.indexOf(s)&&r()})}_setupOptions(){let e=e=>{if(!(e in mh))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},r=(e,r)=>{if(!(e in mh))throw Error(`No option with key "${e}"`);r=this._sanitizeAndValidateOption(e,r),this.rawOptions[e]!==r&&(this.rawOptions[e]=r,this._onOptionChange.fire(e))};for(let s in this.rawOptions){let i={get:e.bind(this,s),set:r.bind(this,s)};Object.defineProperty(this.options,s,i)}}_sanitizeAndValidateOption(e,r){switch(e){case"cursorStyle":var s;if(r||(r=mh[e]),"block"!==(s=r)&&"underline"!==s&&"bar"!==s)throw Error(`"${r}" is not a valid value for ${e}`);break;case"wordSeparator":r||(r=mh[e]);break;case"fontWeight":case"fontWeightBold":if("number"==typeof r&&1<=r&&r<=1e3)break;r=mf.includes(r)?r:mh[e];break;case"cursorWidth":r=Math.floor(r);case"lineHeight":case"tabStopWidth":if(r<1)throw Error(`${e} cannot be less than 1, value: ${r}`);break;case"minimumContrastRatio":r=Math.max(1,Math.min(21,Math.round(10*r)/10));break;case"scrollback":if((r=Math.min(r,0xffffffff))<0)throw Error(`${e} cannot be less than 0, value: ${r}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(r<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${r}`);break;case"rows":case"cols":if(!r&&0!==r)throw Error(`${e} must be numeric, value: ${r}`);break;case"windowsPty":r=r??{}}return r}};function mm(e,r=5){if("object"!=typeof e)return e;let s=Array.isArray(e)?[]:{};for(let i in e)s[i]=r<=1?e[i]:e[i]&&mm(e[i],r-1);return s}var mg=Object.freeze({insertMode:!1}),mx=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),mv=class extends uM{constructor(e,r,s){super(),this._bufferService=e,this._logService=r,this._optionsService=s,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new u8),this.onData=this._onData.event,this._onUserInput=this._register(new u8),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new u8),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new u8),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=mm(mg),this.decPrivateModes=mm(mx)}reset(){this.modes=mm(mg),this.decPrivateModes=mm(mx)}triggerDataEvent(e,r=!1){if(this._optionsService.rawOptions.disableStdin)return;let s=this._bufferService.buffer;r&&this._optionsService.rawOptions.scrollOnUserInput&&s.ybase!==s.ydisp&&this._onRequestScrollToBottom.fire(),r&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace("sending data (codes)",()=>e.split("").map(e=>e.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace("sending binary (codes)",()=>e.split("").map(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};mv=dq([dV(0,ue),dV(1,un),dV(2,uo)],mv);var m_={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>32!==e.action},DRAG:{events:23,restrict:e=>32!==e.action||3!==e.button},ANY:{events:31,restrict:e=>!0}};function my(e,r){let s=16*!!e.ctrl|4*!!e.shift|8*!!e.alt;return 4===e.button?(s|=64,s|=e.action):(s|=3&e.button,4&e.button&&(s|=64),8&e.button&&(s|=128),32===e.action?s|=32:0!==e.action||r||(s|=3)),s}var mb=String.fromCharCode,mw={DEFAULT:e=>{let r=[my(e,!1)+32,e.col+32,e.row+32];return r[0]>255||r[1]>255||r[2]>255?"":`\x1b[M${mb(r[0])}${mb(r[1])}${mb(r[2])}`},SGR:e=>{let r=0===e.action&&4!==e.button?"m":"M";return`\x1b[<${my(e,!0)};${e.col};${e.row}${r}`},SGR_PIXELS:e=>{let r=0===e.action&&4!==e.button?"m":"M";return`\x1b[<${my(e,!0)};${e.x};${e.y}${r}`}},mS=class extends uM{constructor(e,r,s){for(let i of(super(),this._bufferService=e,this._coreService=r,this._optionsService=s,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new u8),this.onProtocolChange=this._onProtocolChange.event,Object.keys(m_)))this.addProtocol(i,m_[i]);for(let e of Object.keys(mw))this.addEncoding(e,mw[e]);this.reset()}addProtocol(e,r){this._protocols[e]=r}addEncoding(e,r){this._encodings[e]=r}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return 0!==this._protocols[this._activeProtocol].events}set activeProtocol(e){if(!this._protocols[e])throw Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,r,s){if(0===e.deltaY||e.shiftKey||void 0===r||void 0===s)return 0;let i=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(i/=r/s+0,50>Math.abs(e.deltaY)&&(i*=.3),this._wheelPartialScroll+=i,i=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(i*=this._bufferService.rows),i}_applyScrollModifier(e,r){return r.altKey||r.ctrlKey||r.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||4===e.button&&32===e.action||3===e.button&&32!==e.action||4!==e.button&&(2===e.action||3===e.action)||(e.col++,e.row++,32===e.action&&this._lastEvent&&this._equalEvents(this._lastEvent,e,"SGR_PIXELS"===this._activeEncoding))||!this._protocols[this._activeProtocol].restrict(e))return!1;let r=this._encodings[this._activeEncoding](e);return r&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(r):this._coreService.triggerDataEvent(r,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}}_equalEvents(e,r,s){if(s){if(e.x!==r.x||e.y!==r.y)return!1}else if(e.col!==r.col||e.row!==r.row)return!1;return e.button===r.button&&e.action===r.action&&e.ctrl===r.ctrl&&e.alt===r.alt&&e.shift===r.shift}};mS=dq([dV(0,ue),dV(1,ur),dV(2,uo)],mS);var mC,mj,mk,mN,mD,mE,mR=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],mA=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],mF=class{constructor(){if(this.version="6",!mE){(mE=new Uint8Array(65536)).fill(1),mE[0]=0,mE.fill(0,1,32),mE.fill(0,127,160),mE.fill(2,4352,4448),mE[9001]=2,mE[9002]=2,mE.fill(2,11904,42192),mE[12351]=1,mE.fill(2,44032,55204),mE.fill(2,63744,64256),mE.fill(2,65040,65050),mE.fill(2,65072,65136),mE.fill(2,65280,65377),mE.fill(2,65504,65511);for(let e=0;e<mR.length;++e)mE.fill(0,mR[e][0],mR[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?mE[e]:!function(e,r){let s=0,i=r.length-1,n;if(e<r[0][0]||e>r[i][1])return!1;for(;i>=s;)if(e>r[n=s+i>>1][1])s=n+1;else{if(!(e<r[n][0]))return!0;i=n-1}return!1}(e,mA)?e>=131072&&e<=196605||e>=196608&&e<=262141?2:1:0}charProperties(e,r){let s=this.wcwidth(e),i=0===s&&0!==r;if(i){let e=mM.extractWidth(r);0===e?i=!1:e>s&&(s=e)}return mM.createPropertyValue(0,s,i)}},mM=class e{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new u8,this.onChange=this._onChange.event;let e=new mF;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return(1&e)!=0}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,r,s=!1){return(0xffffff&e)<<3|(3&r)<<1|!!s}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(r){let s=0,i=0,n=r.length;for(let o=0;o<n;++o){let a=r.charCodeAt(o);if(55296<=a&&a<=56319){if(++o>=n)return s+this.wcwidth(a);let e=r.charCodeAt(o);56320<=e&&e<=57343?a=(a-55296)*1024+e-56320+65536:s+=this.wcwidth(e)}let l=this.charProperties(a,i),c=e.extractWidth(l);e.extractShouldJoin(l)&&(c-=e.extractWidth(i)),s+=c,i=l}return s}charProperties(e,r){return this._activeProvider.charProperties(e,r)}},mT=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,r){this._charsets[e]=r,this.glevel===e&&(this.charset=r)}};function mP(e){let r=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),s=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);s&&r&&(s.isWrapped=0!==r[3]&&32!==r[3])}var mB=class e{constructor(e=32,r=32){if(this.maxLength=e,this.maxSubParamsLength=r,r>256)throw Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(r),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(r){let s=new e;if(!r.length)return s;for(let e=+!!Array.isArray(r[0]);e<r.length;++e){let i=r[e];if(Array.isArray(i))for(let e=0;e<i.length;++e)s.addSubParam(i[e]);else s.addParam(i)}return s}clone(){let r=new e(this.maxLength,this.maxSubParamsLength);return r.params.set(this.params),r.length=this.length,r._subParams.set(this._subParams),r._subParamsLength=this._subParamsLength,r._subParamsIdx.set(this._subParamsIdx),r._rejectDigits=this._rejectDigits,r._rejectSubDigits=this._rejectSubDigits,r._digitIsSub=this._digitIsSub,r}toArray(){let e=[];for(let r=0;r<this.length;++r){e.push(this.params[r]);let s=this._subParamsIdx[r]>>8,i=255&this._subParamsIdx[r];i-s>0&&e.push(Array.prototype.slice.call(this._subParams,s,i))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>0x7fffffff?0x7fffffff:e}addSubParam(e){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>0x7fffffff?0x7fffffff:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let r=this._subParamsIdx[e]>>8,s=255&this._subParamsIdx[e];return s-r>0?this._subParams.subarray(r,s):null}getSubParamsAll(){let e={};for(let r=0;r<this.length;++r){let s=this._subParamsIdx[r]>>8,i=255&this._subParamsIdx[r];i-s>0&&(e[r]=this._subParams.slice(s,i))}return e}addDigit(e){let r;if(this._rejectDigits||!(r=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let s=this._digitIsSub?this._subParams:this.params,i=s[r-1];s[r-1]=~i?Math.min(10*i+e,0x7fffffff):e}},mL=[],mI=class{constructor(){this._state=0,this._active=mL,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,r){void 0===this._handlers[e]&&(this._handlers[e]=[]);let s=this._handlers[e];return s.push(r),{dispose:()=>{let e=s.indexOf(r);-1!==e&&s.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=mL}reset(){if(2===this._state)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=mL,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||mL,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,"START")}_put(e,r,s){if(this._active.length)for(let i=this._active.length-1;i>=0;i--)this._active[i].put(e,r,s);else this._handlerFb(this._id,"PUT",d0(e,r,s))}start(){this.reset(),this._state=1}put(e,r,s){if(3!==this._state){if(1===this._state)for(;r<s;){let s=e[r++];if(59===s){this._state=2,this._start();break}if(s<48||57<s){this._state=3;return}-1===this._id&&(this._id=0),this._id=10*this._id+s-48}2===this._state&&s-r>0&&this._put(e,r,s)}}end(e,r=!0){if(0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){let s=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,s=r,n=this._stack.fallThrough,this._stack.paused=!1),!n&&!1===s){for(;i>=0&&!0!==(s=this._active[i].end(e));i--)if(s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,s;i--}for(;i>=0;i--)if((s=this._active[i].end(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,s}else this._handlerFb(this._id,"END",e);this._active=mL,this._id=-1,this._state=0}}},mO=class{constructor(e){this._handler=e,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(e,r,s){this._hitLimit||(this._data+=d0(e,r,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(e){let r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data))instanceof Promise)return r.then(e=>(this._data="",this._hitLimit=!1,e));return this._data="",this._hitLimit=!1,r}},mz=[],m$=class{constructor(){this._handlers=Object.create(null),this._active=mz,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=mz}registerHandler(e,r){void 0===this._handlers[e]&&(this._handlers[e]=[]);let s=this._handlers[e];return s.push(r),{dispose:()=>{let e=s.indexOf(r);-1!==e&&s.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=mz,this._ident=0}hook(e,r){if(this.reset(),this._ident=e,this._active=this._handlers[e]||mz,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(r);else this._handlerFb(this._ident,"HOOK",r)}put(e,r,s){if(this._active.length)for(let i=this._active.length-1;i>=0;i--)this._active[i].put(e,r,s);else this._handlerFb(this._ident,"PUT",d0(e,r,s))}unhook(e,r=!0){if(this._active.length){let s=!1,i=this._active.length-1,n=!1;if(this._stack.paused&&(i=this._stack.loopPosition-1,s=r,n=this._stack.fallThrough,this._stack.paused=!1),!n&&!1===s){for(;i>=0&&!0!==(s=this._active[i].unhook(e));i--)if(s instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!1,s;i--}for(;i>=0;i--)if((s=this._active[i].unhook(!1))instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=i,this._stack.fallThrough=!0,s}else this._handlerFb(this._ident,"UNHOOK",e);this._active=mz,this._ident=0}},mW=new mB;mW.addParam(0);var mH=class{constructor(e){this._handler=e,this._data="",this._params=mW,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():mW,this._data="",this._hitLimit=!1}put(e,r,s){this._hitLimit||(this._data+=d0(e,r,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(e){let r=!1;if(this._hitLimit)r=!1;else if(e&&(r=this._handler(this._data,this._params))instanceof Promise)return r.then(e=>(this._params=mW,this._data="",this._hitLimit=!1,e));return this._params=mW,this._data="",this._hitLimit=!1,r}},mU=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,r){this.table.fill(e<<4|r)}add(e,r,s,i){this.table[r<<8|e]=s<<4|i}addMany(e,r,s,i){for(let n=0;n<e.length;n++)this.table[r<<8|e[n]]=s<<4|i}},mK=function(){let e=new mU(4095),r=Array.apply(null,Array(256)).map((e,r)=>r),s=(e,s)=>r.slice(e,s),i=s(32,127),n=s(0,24);n.push(25),n.push.apply(n,s(28,32));let o=s(0,14),a;for(a in e.setDefault(1,0),e.addMany(i,0,2,0),o)e.addMany([24,26,153,154],a,3,0),e.addMany(s(128,144),a,3,0),e.addMany(s(144,152),a,3,0),e.add(156,a,0,0),e.add(27,a,11,1),e.add(157,a,4,8),e.addMany([152,158,159],a,0,7),e.add(155,a,11,3),e.add(144,a,11,9);return e.addMany(n,0,3,0),e.addMany(n,1,3,1),e.add(127,1,0,1),e.addMany(n,8,0,8),e.addMany(n,3,3,3),e.add(127,3,0,3),e.addMany(n,4,3,4),e.add(127,4,0,4),e.addMany(n,6,3,6),e.addMany(n,5,3,5),e.add(127,5,0,5),e.addMany(n,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(i,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(s(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(i,7,0,7),e.addMany(n,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(s(64,127),3,7,0),e.addMany(s(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(s(48,60),4,8,4),e.addMany(s(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(s(32,64),6,0,6),e.add(127,6,0,6),e.addMany(s(64,127),6,0,0),e.addMany(s(32,48),3,9,5),e.addMany(s(32,48),5,9,5),e.addMany(s(48,64),5,0,6),e.addMany(s(64,127),5,7,0),e.addMany(s(32,48),4,9,5),e.addMany(s(32,48),1,9,2),e.addMany(s(32,48),2,9,2),e.addMany(s(48,127),2,10,0),e.addMany(s(48,80),1,10,0),e.addMany(s(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(s(96,127),1,10,0),e.add(80,1,11,9),e.addMany(n,9,0,9),e.add(127,9,0,9),e.addMany(s(28,32),9,0,9),e.addMany(s(32,48),9,9,12),e.addMany(s(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(n,11,0,11),e.addMany(s(32,128),11,0,11),e.addMany(s(28,32),11,0,11),e.addMany(n,10,0,10),e.add(127,10,0,10),e.addMany(s(28,32),10,0,10),e.addMany(s(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(s(32,48),10,9,12),e.addMany(n,12,0,12),e.add(127,12,0,12),e.addMany(s(28,32),12,0,12),e.addMany(s(32,48),12,9,12),e.addMany(s(48,64),12,0,11),e.addMany(s(64,127),12,12,13),e.addMany(s(64,127),10,12,13),e.addMany(s(64,127),9,12,13),e.addMany(n,13,13,13),e.addMany(i,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(160,0,2,0),e.add(160,8,5,8),e.add(160,6,0,6),e.add(160,11,0,11),e.add(160,13,13,13),e}(),mq=class extends uM{constructor(e=mK){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new mB,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,r,s)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,r)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(uR(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new mI),this._dcsParser=this._register(new m$),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(e,r=[64,126]){let s=0;if(e.prefix){if(e.prefix.length>1)throw Error("only one byte as prefix supported");if((s=e.prefix.charCodeAt(0))&&60>s||s>63)throw Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw Error("only two bytes as intermediates are supported");for(let r=0;r<e.intermediates.length;++r){let i=e.intermediates.charCodeAt(r);if(32>i||i>47)throw Error("intermediate must be in range 0x20 .. 0x2f");s<<=8,s|=i}}if(1!==e.final.length)throw Error("final must be a single byte");let i=e.final.charCodeAt(0);if(r[0]>i||i>r[1])throw Error(`final must be in range ${r[0]} .. ${r[1]}`);return s<<=8,s|=i}identToString(e){let r=[];for(;e;)r.push(String.fromCharCode(255&e)),e>>=8;return r.reverse().join("")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,r){let s=this._identifier(e,[48,126]);void 0===this._escHandlers[s]&&(this._escHandlers[s]=[]);let i=this._escHandlers[s];return i.push(r),{dispose:()=>{let e=i.indexOf(r);-1!==e&&i.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,r){this._executeHandlers[e.charCodeAt(0)]=r}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,r){let s=this._identifier(e);void 0===this._csiHandlers[s]&&(this._csiHandlers[s]=[]);let i=this._csiHandlers[s];return i.push(r),{dispose:()=>{let e=i.indexOf(r);-1!==e&&i.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,r){return this._dcsParser.registerHandler(this._identifier(e),r)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,r){return this._oscParser.registerHandler(e,r)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,r,s,i,n){this._parseStack.state=e,this._parseStack.handlers=r,this._parseStack.handlerPos=s,this._parseStack.transition=i,this._parseStack.chunkPos=n}parse(e,r,s){let i=0,n=0,o=0,a;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,o=this._parseStack.chunkPos+1;else{if(void 0===s||1===this._parseStack.state)throw this._parseStack.state=1,Error("improper continuation due to previous async handler, giving up parsing");let r=this._parseStack.handlers,n=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===s&&n>-1){for(;n>=0&&!0!==(a=r[n](this._params));n--)if(a instanceof Promise)return this._parseStack.handlerPos=n,a}this._parseStack.handlers=[];break;case 4:if(!1===s&&n>-1){for(;n>=0&&!0!==(a=r[n]());n--)if(a instanceof Promise)return this._parseStack.handlerPos=n,a}this._parseStack.handlers=[];break;case 6:if(i=e[this._parseStack.chunkPos],a=this._dcsParser.unhook(24!==i&&26!==i,s))return a;27===i&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(i=e[this._parseStack.chunkPos],a=this._oscParser.end(24!==i&&26!==i,s))return a;27===i&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,o=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let s=o;s<r;++s){switch(i=e[s],(n=this._transitions.table[this.currentState<<8|(i<160?i:160)])>>4){case 2:for(let n=s+1;;++n)if(n>=r||(i=e[n])<32||i>126&&i<160||++n>=r||(i=e[n])<32||i>126&&i<160||++n>=r||(i=e[n])<32||i>126&&i<160||++n>=r||(i=e[n])<32||i>126&&i<160){this._printHandler(e,s,n),s=n-1;break}break;case 3:this._executeHandlers[i]?this._executeHandlers[i]():this._executeHandlerFb(i),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:s,code:i,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let o=this._csiHandlers[this._collect<<8|i],l=o?o.length-1:-1;for(;l>=0&&!0!==(a=o[l](this._params));l--)if(a instanceof Promise)return this._preserveStack(3,o,l,n,s),a;l<0&&this._csiHandlerFb(this._collect<<8|i,this._params),this.precedingJoinState=0;break;case 8:do switch(i){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(i-48)}while(++s<r&&(i=e[s])>47&&i<60)s--;break;case 9:this._collect<<=8,this._collect|=i;break;case 10:let c=this._escHandlers[this._collect<<8|i],d=c?c.length-1:-1;for(;d>=0&&!0!==(a=c[d]());d--)if(a instanceof Promise)return this._preserveStack(4,c,d,n,s),a;d<0&&this._escHandlerFb(this._collect<<8|i),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|i,this._params);break;case 13:for(let n=s+1;;++n)if(n>=r||24===(i=e[n])||26===i||27===i||i>127&&i<160){this._dcsParser.put(e,s,n),s=n-1;break}break;case 14:if(a=this._dcsParser.unhook(24!==i&&26!==i))return this._preserveStack(6,[],0,n,s),a;27===i&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let n=s+1;;n++)if(n>=r||(i=e[n])<32||i>127&&i<160){this._oscParser.put(e,s,n),s=n-1;break}break;case 6:if(a=this._oscParser.end(24!==i&&26!==i))return this._preserveStack(5,[],0,n,s),a;27===i&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&n}}},mV=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,mY=/^[\da-f]+$/;function mG(e){if(!e)return;let r=e.toLowerCase();if(0===r.indexOf("rgb:")){r=r.slice(4);let e=mV.exec(r);if(e){let r=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/r*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/r*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/r*255)]}}else if(0===r.indexOf("#")&&(r=r.slice(1),mY.exec(r)&&[3,6,9,12].includes(r.length))){let e=r.length/3,s=[0,0,0];for(let i=0;i<3;++i){let n=parseInt(r.slice(e*i,e*i+e),16);s[i]=1===e?n<<4:2===e?n:3===e?n>>4:n>>8}return s}}function mX(e,r){let s=e.toString(16),i=s.length<2?"0"+s:s;switch(r){case 4:return s[0];case 8:return i;case 12:return(i+i).slice(0,3);default:return i+i}}var mJ={"(":0,")":1,"*":2,"+":3,"-":1,".":2};function mZ(e,r){if(e>24)return r.setWinLines||!1;switch(e){case 1:return!!r.restoreWin;case 2:return!!r.minimizeWin;case 3:return!!r.setWinPosition;case 4:return!!r.setWinSizePixels;case 5:return!!r.raiseWin;case 6:return!!r.lowerWin;case 7:return!!r.refreshWin;case 8:return!!r.setWinSizeChars;case 9:return!!r.maximizeWin;case 10:return!!r.fullscreenWin;case 11:return!!r.getWinState;case 13:return!!r.getWinPosition;case 14:return!!r.getWinSizePixels;case 15:return!!r.getScreenSizePixels;case 16:return!!r.getCellSizePixels;case 18:return!!r.getWinSizeChars;case 19:return!!r.getScreenSizeChars;case 20:return!!r.getIconTitle;case 21:return!!r.getWinTitle;case 22:return!!r.pushTitle;case 23:return!!r.popTitle;case 24:return!!r.setWinLines}return!1}var mQ=0,m0=class extends uM{constructor(e,r,s,i,n,o,a,l,c=new mq){for(let d in super(),this._bufferService=e,this._charsetService=r,this._coreService=s,this._logService=i,this._optionsService=n,this._oscLinkService=o,this._coreMouseService=a,this._unicodeService=l,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new d1,this._utf8Decoder=new d2,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=mr.clone(),this._eraseAttrDataInternal=mr.clone(),this._onRequestBell=this._register(new u8),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new u8),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new u8),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new u8),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new u8),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new u8),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new u8),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new u8),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new u8),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new u8),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new u8),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new u8),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new u8),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new m1(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,r)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(e),params:r.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug("Unknown EXECUTE code: ",{code:e})}),this._parser.setOscHandlerFallback((e,r,s)=>{this._logService.debug("Unknown OSC code: ",{identifier:e,action:r,data:s})}),this._parser.setDcsHandlerFallback((e,r,s)=>{"HOOK"===r&&(s=s.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(e),action:r,payload:s})}),this._parser.setPrintHandler((e,r,s)=>this.print(e,r,s)),this._parser.registerCsiHandler({final:"@"},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:"A"},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:"B"},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:"C"},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:"D"},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:"E"},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:"F"},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:"G"},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:"H"},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:"I"},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:"J"},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:"K"},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:"L"},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:"M"},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:"P"},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:"S"},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:"T"},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:"X"},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:"Z"},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:"a"},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:"b"},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:"c"},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:">",final:"c"},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:"d"},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:"e"},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:"f"},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:"g"},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:"h"},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:"?",final:"h"},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:"l"},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:"?",final:"l"},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:"m"},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:"n"},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:"?",final:"n"},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:"r"},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:"s"},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:"t"},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:"u"},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler(f$.BEL,()=>this.bell()),this._parser.setExecuteHandler(f$.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(f$.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(f$.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(f$.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(f$.BS,()=>this.backspace()),this._parser.setExecuteHandler(f$.HT,()=>this.tab()),this._parser.setExecuteHandler(f$.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(f$.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(fW.IND,()=>this.index()),this._parser.setExecuteHandler(fW.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(fW.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new mO(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new mO(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new mO(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new mO(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new mO(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new mO(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new mO(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new mO(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new mO(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new mO(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new mO(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new mO(e=>this.restoreCursorColor(e))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset()),ma)this._parser.registerEscHandler({intermediates:"(",final:d},()=>this.selectCharset("("+d)),this._parser.registerEscHandler({intermediates:")",final:d},()=>this.selectCharset(")"+d)),this._parser.registerEscHandler({intermediates:"*",final:d},()=>this.selectCharset("*"+d)),this._parser.registerEscHandler({intermediates:"+",final:d},()=>this.selectCharset("+"+d)),this._parser.registerEscHandler({intermediates:"-",final:d},()=>this.selectCharset("-"+d)),this._parser.registerEscHandler({intermediates:".",final:d},()=>this.selectCharset("."+d)),this._parser.registerEscHandler({intermediates:"/",final:d},()=>this.selectCharset("/"+d));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error("Parsing error: ",e),e)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new mH((e,r)=>this.requestStatusString(e,r)))}getAttrData(){return this._curAttrData}_preserveStack(e,r,s,i){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=r,this._parseStack.decodedLength=s,this._parseStack.position=i}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((e,r)=>setTimeout(()=>r("#SLOW_TIMEOUT"),5e3))]).catch(e=>{if("#SLOW_TIMEOUT"!==e)throw e;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,r){let s,i=this._activeBuffer.x,n=this._activeBuffer.y,o=0,a=this._parseStack.paused;if(a){if(s=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,r))return this._logSlowResolvingAsync(s),s;i=this._parseStack.cursorStartX,n=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>131072&&(o=this._parseStack.position+131072)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${"string"==typeof e?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join("")}"`}`),0===this._logService.logLevel&&this._logService.trace("parsing data (codes)","string"==typeof e?e.split("").map(e=>e.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<131072&&(this._parseBuffer=new Uint32Array(Math.min(e.length,131072))),a||this._dirtyRowTracker.clearRange(),e.length>131072)for(let r=o;r<e.length;r+=131072){let o=r+131072<e.length?r+131072:e.length,a="string"==typeof e?this._stringDecoder.decode(e.substring(r,o),this._parseBuffer):this._utf8Decoder.decode(e.subarray(r,o),this._parseBuffer);if(s=this._parser.parse(this._parseBuffer,a))return this._preserveStack(i,n,a,r),this._logSlowResolvingAsync(s),s}else if(!a){let r="string"==typeof e?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(s=this._parser.parse(this._parseBuffer,r))return this._preserveStack(i,n,r,0),this._logSlowResolvingAsync(s),s}(this._activeBuffer.x!==i||this._activeBuffer.y!==n)&&this._onCursorMove.fire();let l=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(l,this._bufferService.rows-1)})}print(e,r,s){let i,n,o=this._charsetService.charset,a=this._optionsService.rawOptions.screenReaderMode,l=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,d=this._coreService.modes.insertMode,u=this._curAttrData,h=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&s-r>0&&2===h.getWidth(this._activeBuffer.x-1)&&h.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let p=r;p<s;++p){if((i=e[p])<127&&o){let e=o[String.fromCharCode(i)];e&&(i=e.charCodeAt(0))}let r=this._unicodeService.charProperties(i,f);n=mM.extractWidth(r);let s=mM.extractShouldJoin(r),m=s?mM.extractWidth(f):0;if(f=r,a&&this._onA11yChar.fire(dQ(i)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+n-m>l){if(c){let e=h,r=this._activeBuffer.x-m;for(this._activeBuffer.x=m,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),h=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&h instanceof mi&&h.copyCellsFrom(e,r,0,m,!1);r<l;)e.setCellFromCodepoint(r++,0,1,u)}else if(this._activeBuffer.x=l-1,2===n)continue}if(s&&this._activeBuffer.x){let e=h.getWidth(this._activeBuffer.x-1)?1:2;h.addCodepointToCell(this._activeBuffer.x-e,i,n);for(let e=n-m;--e>=0;)h.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(d&&(h.insertCells(this._activeBuffer.x,n-m,this._activeBuffer.getNullCell(u)),2===h.getWidth(l-1)&&h.setCellFromCodepoint(l-1,0,1,u)),h.setCellFromCodepoint(this._activeBuffer.x++,i,n,u),n>0)for(;--n;)h.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x<l&&s-r>0&&0===h.getWidth(this._activeBuffer.x)&&!h.hasContent(this._activeBuffer.x)&&h.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,r){return"t"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,r):this._parser.registerCsiHandler(e,e=>!mZ(e.params[0],this._optionsService.rawOptions.windowOptions)||r(e))}registerDcsHandler(e,r){return this._parser.registerDcsHandler(e,new mH(r))}registerEscHandler(e,r){return this._parser.registerEscHandler(e,r)}registerOscHandler(e,r){return this._parser.registerOscHandler(e,new mO(r))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(0===this._activeBuffer.x&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,r){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+r):(this._activeBuffer.x=e,this._activeBuffer.y=r),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,r){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+r)}cursorUp(e){let r=this._activeBuffer.y-this._activeBuffer.scrollTop;return r>=0?this._moveCursor(0,-Math.min(r,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let r=this._activeBuffer.scrollBottom-this._activeBuffer.y;return r>=0?this._moveCursor(0,Math.min(r,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let r=e.params[0];return 0===r?delete this._activeBuffer.tabs[this._activeBuffer.x]:3===r&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let r=e.params[0]||1;for(;r--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let r=e.params[0]||1;for(;r--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let r=e.params[0];return 1===r&&(this._curAttrData.bg|=0x20000000),(2===r||0===r)&&(this._curAttrData.bg&=-0x20000001),!0}_eraseInBufferLine(e,r,s,i=!1,n=!1){let o=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);o.replaceCells(r,s,this._activeBuffer.getNullCell(this._eraseAttrData()),n),i&&(o.isWrapped=!1)}_resetBufferLine(e,r=!1){let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);s&&(s.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),r),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),s.isWrapped=!1)}eraseInDisplay(e,r=!1){let s;switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:for(s=this._activeBuffer.y,this._dirtyRowTracker.markDirty(s),this._eraseInBufferLine(s++,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,r);s<this._bufferService.rows;s++)this._resetBufferLine(s,r);this._dirtyRowTracker.markDirty(s);break;case 1:for(s=this._activeBuffer.y,this._dirtyRowTracker.markDirty(s),this._eraseInBufferLine(s,0,this._activeBuffer.x+1,!0,r),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(s+1).isWrapped=!1);s--;)this._resetBufferLine(s,r);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(s=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,s-1);s--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+s)?.getTrimmedLength(););for(;s>=0;s--)this._bufferService.scroll(this._eraseAttrData())}else{for(s=this._bufferService.rows,this._dirtyRowTracker.markDirty(s-1);s--;)this._resetBufferLine(s,r);this._dirtyRowTracker.markDirty(0)}break;case 3:let i=this._activeBuffer.lines.length-this._bufferService.rows;i>0&&(this._activeBuffer.lines.trimStart(i),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-i,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-i,0),this._onScroll.fire(0))}return!0}eraseInLine(e,r=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,r);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,r);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,r)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let r=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=this._activeBuffer.ybase+this._activeBuffer.y,i=this._bufferService.rows-1-this._activeBuffer.scrollBottom,n=this._bufferService.rows-1+this._activeBuffer.ybase-i+1;for(;r--;)this._activeBuffer.lines.splice(n-1,1),this._activeBuffer.lines.splice(s,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let r=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let s=this._activeBuffer.ybase+this._activeBuffer.y,i;for(i=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-i;r--;)this._activeBuffer.lines.splice(s,1),this._activeBuffer.lines.splice(i,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let r=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return r&&(r.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let r=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return r&&(r.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let r=e.params[0]||1;for(;r--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let r=e.params[0]||1;for(;r--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(mr));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);s.deleteCells(0,r,this._activeBuffer.getNullCell(this._eraseAttrData())),s.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);s.insertCells(0,r,this._activeBuffer.getNullCell(this._eraseAttrData())),s.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);s.insertCells(this._activeBuffer.x,r,this._activeBuffer.getNullCell(this._eraseAttrData())),s.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let s=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);s.deleteCells(this._activeBuffer.x,r,this._activeBuffer.getNullCell(this._eraseAttrData())),s.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let r=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return r&&(r.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let r=this._parser.precedingJoinState;if(!r)return!0;let s=e.params[0]||1,i=mM.extractWidth(r),n=this._activeBuffer.x-i,o=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(n),a=new Uint32Array(o.length*s),l=0;for(let e=0;e<o.length;){let r=o.codePointAt(e)||0;a[l++]=r,e+=r>65535?2:1}let c=l;for(let e=1;e<s;++e)a.copyWithin(c,0,l),c+=l;return this.print(a,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(f$.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(f$.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(f$.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(f$.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(f$.ESC+"[>83;40003;0c")),!0}_is(e){return 0===(this._optionsService.rawOptions.termName+"").indexOf(e)}setMode(e){for(let r=0;r<e.length;r++)switch(e.params[r]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(e){for(let r=0;r<e.length;r++)switch(e.params[r]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,ml),this._charsetService.setgCharset(1,ml),this._charsetService.setgCharset(2,ml),this._charsetService.setgCharset(3,ml);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0}return!0}resetMode(e){for(let r=0;r<e.length;r++)switch(e.params[r]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(e){for(let r=0;r<e.length;r++)switch(e.params[r]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),1049===e.params[r]&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0)}return!0}requestMode(e,r){let s,i,n,o;(i=s||={})[i.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",i[i.SET=1]="SET",i[i.RESET=2]="RESET",i[i.PERMANENTLY_SET=3]="PERMANENTLY_SET",i[i.PERMANENTLY_RESET=4]="PERMANENTLY_RESET";let a=this._coreService.decPrivateModes,{activeProtocol:l,activeEncoding:c}=this._coreMouseService,d=this._coreService,{buffers:u,cols:h}=this._bufferService,{active:f,alt:p}=u,m=this._optionsService.rawOptions,g=e=>e?1:2,x=e.params[0];return n=x,o=r?2===x?4:4===x?g(d.modes.insertMode):12===x?3:20===x?g(m.convertEol):0:1===x?g(a.applicationCursorKeys):3===x?m.windowOptions.setWinLines?80===h?2:+(132===h):0:6===x?g(a.origin):7===x?g(a.wraparound):8===x?3:9===x?g("X10"===l):12===x?g(m.cursorBlink):25===x?g(!d.isCursorHidden):45===x?g(a.reverseWraparound):66===x?g(a.applicationKeypad):67===x?4:1e3===x?g("VT200"===l):1002===x?g("DRAG"===l):1003===x?g("ANY"===l):1004===x?g(a.sendFocus):1005===x?4:1006===x?g("SGR"===c):1015===x?4:1016===x?g("SGR_PIXELS"===c):1048===x?1:47===x||1047===x||1049===x?g(f===p):2004===x?g(a.bracketedPasteMode):2026===x?g(a.synchronizedOutput):0,d.triggerDataEvent(`${f$.ESC}[${r?"":"?"}${n};${o}$y`),!0}_updateAttrColor(e,r,s,i,n){return 2===r?(e|=0x3000000,e&=-0x1000000,e|=d5.fromColorRGB([s,i,n])):5===r&&(e&=-0x3000100,e|=0x2000000|255&s),e}_extractColor(e,r,s){let i=[0,0,-1,0,0,0],n=0,o=0;do{if(i[o+n]=e.params[r+o],e.hasSubParams(r+o)){let s=e.getSubParams(r+o),a=0;do 5===i[1]&&(n=1),i[o+a+1+n]=s[a];while(++a<s.length&&a+o+1+n<i.length)break}if(5===i[1]&&o+n>=2||2===i[1]&&o+n>=5)break;i[1]&&(n=1)}while(++o+r<e.length&&o+n<i.length)for(let e=2;e<i.length;++e)-1===i[e]&&(i[e]=0);switch(i[0]){case 38:s.fg=this._updateAttrColor(s.fg,i[1],i[3],i[4],i[5]);break;case 48:s.bg=this._updateAttrColor(s.bg,i[1],i[3],i[4],i[5]);break;case 58:s.extended=s.extended.clone(),s.extended.underlineColor=this._updateAttrColor(s.extended.underlineColor,i[1],i[3],i[4],i[5])}return o}_processUnderline(e,r){r.extended=r.extended.clone(),(!~e||e>5)&&(e=1),r.extended.underlineStyle=e,r.fg|=0x10000000,0===e&&(r.fg&=-0x10000001),r.updateExtended()}_processSGR0(e){e.fg=mr.fg,e.bg=mr.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-0x4000000,e.updateExtended()}charAttributes(e){if(1===e.length&&0===e.params[0])return this._processSGR0(this._curAttrData),!0;let r=e.length,s,i=this._curAttrData;for(let n=0;n<r;n++)(s=e.params[n])>=30&&s<=37?(i.fg&=-0x3000100,i.fg|=0x1000000|s-30):s>=40&&s<=47?(i.bg&=-0x3000100,i.bg|=0x1000000|s-40):s>=90&&s<=97?(i.fg&=-0x3000100,i.fg|=0x1000000|s-90|8):s>=100&&s<=107?(i.bg&=-0x3000100,i.bg|=0x1000000|s-100|8):0===s?this._processSGR0(i):1===s?i.fg|=0x8000000:3===s?i.bg|=0x4000000:4===s?(i.fg|=0x10000000,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):5===s?i.fg|=0x20000000:7===s?i.fg|=0x4000000:8===s?i.fg|=0x40000000:9===s?i.fg|=0x80000000:2===s?i.bg|=0x8000000:21===s?this._processUnderline(2,i):22===s?(i.fg&=-0x8000001,i.bg&=-0x8000001):23===s?i.bg&=-0x4000001:24===s?(i.fg&=-0x10000001,this._processUnderline(0,i)):25===s?i.fg&=-0x20000001:27===s?i.fg&=-0x4000001:28===s?i.fg&=-0x40000001:29===s?i.fg&=0x7fffffff:39===s?(i.fg&=-0x4000000,i.fg|=0xffffff&mr.fg):49===s?(i.bg&=-0x4000000,i.bg|=0xffffff&mr.bg):38===s||48===s||58===s?n+=this._extractColor(e,n,i):53===s?i.bg|=0x40000000:55===s?i.bg&=-0x40000001:59===s?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===s?(i.fg&=-0x4000000,i.fg|=0xffffff&mr.fg,i.bg&=-0x4000000,i.bg|=0xffffff&mr.bg):this._logService.debug("Unknown SGR attribute: %d.",s);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${f$.ESC}[0n`);break;case 6:let r=this._activeBuffer.y+1,s=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${f$.ESC}[${r};${s}R`)}return!0}deviceStatusPrivate(e){if(6===e.params[0]){let e=this._activeBuffer.y+1,r=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${f$.ESC}[?${e};${r}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=mr.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let r=0===e.length?1:e.params[0];if(0===r)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(r){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar"}this._coreService.decPrivateModes.cursorBlink=r%2==1}return!0}setScrollRegion(e){let r=e.params[0]||1,s;return(e.length<2||(s=e.params[1])>this._bufferService.rows||0===s)&&(s=this._bufferService.rows),s>r&&(this._activeBuffer.scrollTop=r-1,this._activeBuffer.scrollBottom=s-1,this._setCursor(0,0)),!0}windowOptions(e){if(!mZ(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let r=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==r&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${f$.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(0===r||2===r)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),(0===r||1===r)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:(0===r||2===r)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(0===r||1===r)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let r=[],s=e.split(";");for(;s.length>1;){let e=s.shift(),i=s.shift();if(/^\d+$/.exec(e)){let s=parseInt(e);if(m2(s))if("?"===i)r.push({type:0,index:s});else{let e=mG(i);e&&r.push({type:1,index:s,color:e})}}}return r.length&&this._onColor.fire(r),!0}setHyperlink(e){let r=e.indexOf(";");if(-1===r)return!0;let s=e.slice(0,r).trim(),i=e.slice(r+1);return i?this._createHyperlink(s,i):!s.trim()&&this._finishHyperlink()}_createHyperlink(e,r){this._getCurrentLinkId()&&this._finishHyperlink();let s=e.split(":"),i,n=s.findIndex(e=>e.startsWith("id="));return -1!==n&&(i=s[n].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:i,uri:r}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,r){let s=e.split(";");for(let e=0;e<s.length&&!(r>=this._specialColors.length);++e,++r)if("?"===s[e])this._onColor.fire([{type:0,index:this._specialColors[r]}]);else{let i=mG(s[e]);i&&this._onColor.fire([{type:1,index:this._specialColors[r],color:i}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let r=[],s=e.split(";");for(let e=0;e<s.length;++e)if(/^\d+$/.exec(s[e])){let i=parseInt(s[e]);m2(i)&&r.push({type:2,index:i})}return r.length&&this._onColor.fire(r),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,ml),!0}selectCharset(e){return 2!==e.length?this.selectDefaultCharset():"/"===e[0]||this._charsetService.setgCharset(mJ[e[0]],ma[e[1]]||ml),!0}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=mr.clone(),this._eraseAttrDataInternal=mr.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-0x4000000,this._eraseAttrDataInternal.bg|=0x3ffffff&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new d4;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let r=0;r<this._bufferService.rows;++r){let s=this._activeBuffer.ybase+this._activeBuffer.y+r,i=this._activeBuffer.lines.get(s);i&&(i.fill(e),i.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,r){let s=e=>(this._coreService.triggerDataEvent(`${f$.ESC}${e}${f$.ESC}\\`),!0),i=this._bufferService.buffer,n=this._optionsService.rawOptions;return s('"q'===e?`P1$r${+!!this._curAttrData.isProtected()}"q`:'"p'===e?'P1$r61;1"p':"r"===e?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:"m"===e?"P1$r0m":" q"===e?`P1$r${({block:2,underline:4,bar:6})[n.cursorStyle]-!!n.cursorBlink} q`:"P0$r")}markRangeDirty(e,r){this._dirtyRowTracker.markRangeDirty(e,r)}},m1=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,r){e>r&&(mQ=e,e=r,r=mQ),e<this.start&&(this.start=e),r>this.end&&(this.end=r)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function m2(e){return 0<=e&&e<256}m1=dq([dV(0,ue)],m1);var m5=class extends uM{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new u8),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,r){let s;if(void 0!==r&&this._syncCalls>r){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,!this._isSyncWriting){for(this._isSyncWriting=!0;s=this._writeBuffer.shift();){this._action(s);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=0x7fffffff,this._isSyncWriting=!1,this._syncCalls=0}}write(e,r){if(this._pendingData>5e7)throw Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(r),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(r)}_innerWrite(e=0,r=!0){let s=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],i=this._action(e,r);if(i){let e=e=>performance.now()-s>=12?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(s,e);i.catch(e=>(queueMicrotask(()=>{throw e}),Promise.resolve(!1))).then(e);return}let n=this._callbacks[this._bufferOffset];if(n&&n(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-s>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},m3=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let r=this._bufferService.buffer;if(void 0===e.id){let s=r.addMarker(r.ybase+r.y),i={data:e,id:this._nextId++,lines:[s]};return s.onDispose(()=>this._removeMarkerFromLink(i,s)),this._dataByLinkId.set(i.id,i),i.id}let s=this._getEntryIdKey(e),i=this._entriesWithId.get(s);if(i)return this.addLineToLink(i.id,r.ybase+r.y),i.id;let n=r.addMarker(r.ybase+r.y),o={id:this._nextId++,key:this._getEntryIdKey(e),data:e,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(o,n)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,r){let s=this._dataByLinkId.get(e);if(s&&s.lines.every(e=>e.line!==r)){let e=this._bufferService.buffer.addMarker(r);s.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(s,e))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,r){let s=e.lines.indexOf(r);-1!==s&&(e.lines.splice(s,1),0===e.lines.length&&(void 0!==e.data.id&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};m3=dq([dV(0,ue)],m3);var m4=!1,m6=class extends uM{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new uT),this._onBinary=this._register(new u8),this.onBinary=this._onBinary.event,this._onData=this._register(new u8),this.onData=this._onData.event,this._onLineFeed=this._register(new u8),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new u8),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new u8),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new u8),this._instantiationService=new p7,this.optionsService=this._register(new mp(e)),this._instantiationService.setService(uo,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(mu)),this._instantiationService.setService(ue,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(me)),this._instantiationService.setService(un,this._logService),this.coreService=this._register(this._instantiationService.createInstance(mv)),this._instantiationService.setService(ur,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(mS)),this._instantiationService.setService(ut,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(mM)),this._instantiationService.setService(ul,this.unicodeService),this._charsetService=this._instantiationService.createInstance(mT),this._instantiationService.setService(us,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(m3),this._instantiationService.setService(ua,this._oscLinkService),this._inputHandler=this._register(new m0(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(u0.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(u0.forward(this._bufferService.onResize,this._onResize)),this._register(u0.forward(this.coreService.onData,this._onData)),this._register(u0.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new m5((e,r)=>this._inputHandler.parse(e,r))),this._register(u0.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new u8),this._onScroll.event(e=>{this._onScrollApi?.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let r in e)this.optionsService.options[r]=e[r]}write(e,r){this._writeBuffer.write(e,r)}writeSync(e,r){this._logService.logLevel<=3&&!m4&&(this._logService.warn("writeSync is unreliable and will be removed soon."),m4=!0),this._writeBuffer.writeSync(e,r)}input(e,r=!0){this.coreService.triggerDataEvent(e,r)}resize(e,r){isNaN(e)||isNaN(r)||(e=Math.max(e,2),r=Math.max(r,1),this._bufferService.resize(e,r))}scroll(e,r=!1){this._bufferService.scroll(e,r)}scrollLines(e,r){this._bufferService.scrollLines(e,r)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let r=e-this._bufferService.buffer.ydisp;0!==r&&this.scrollLines(r)}registerEscHandler(e,r){return this._inputHandler.registerEscHandler(e,r)}registerDcsHandler(e,r){return this._inputHandler.registerDcsHandler(e,r)}registerCsiHandler(e,r){return this._inputHandler.registerCsiHandler(e,r)}registerOscHandler(e,r){return this._inputHandler.registerOscHandler(e,r)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,r=this.optionsService.rawOptions.windowsPty;r&&void 0!==r.buildNumber&&void 0!==r.buildNumber?e="conpty"===r.backend&&r.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(mP.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:"H"},()=>(mP(this._bufferService),!1))),this._windowsWrappingHeuristics.value=uR(()=>{for(let r of e)r.dispose()})}}},m8={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']},m7=0,m9=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new pO,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new pO,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),0===this._insertedValues.length&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((e,r)=>this._getKey(e)-this._getKey(r)),r=0,s=0,i=Array(this._array.length+this._insertedValues.length);for(let n=0;n<i.length;n++)s>=this._array.length||this._getKey(e[r])<=this._getKey(this._array[s])?(i[n]=e[r],r++):i[n]=this._array[s++];this._array=i,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),0===this._array.length)return!1;let r=this._getKey(e);if(void 0===r||-1===(m7=this._search(r))||this._getKey(this._array[m7])!==r)return!1;do if(this._array[m7]===e)return 0===this._deletedIndices.length&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(m7),!0;while(++m7<this._array.length&&this._getKey(this._array[m7])===r)return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((e,r)=>e-r),r=0,s=Array(this._array.length-e.length),i=0;for(let n=0;n<this._array.length;n++)e[r]===n?r++:s[i++]=this._array[n];this._array=s,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),0!==this._array.length&&!((m7=this._search(e))<0||m7>=this._array.length)&&this._getKey(this._array[m7])===e)do yield this._array[m7];while(++m7<this._array.length&&this._getKey(this._array[m7])===e)}forEachByKey(e,r){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),0!==this._array.length&&!((m7=this._search(e))<0||m7>=this._array.length)&&this._getKey(this._array[m7])===e)do r(this._array[m7]);while(++m7<this._array.length&&this._getKey(this._array[m7])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let r=0,s=this._array.length-1;for(;s>=r;){let i=r+s>>1,n=this._getKey(this._array[i]);if(n>e)s=i-1;else if(n<e)r=i+1;else{for(;i>0&&this._getKey(this._array[i-1])===e;)i--;return i}}return r}},ge=0,gt=0,gr=class extends uM{constructor(){super(),this._decorations=new m9(e=>e?.marker.line),this._onDecorationRegistered=this._register(new u8),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new u8),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(uR(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let r=new gs(e);if(r){let e=r.marker.onDispose(()=>r.dispose()),s=r.onDispose(()=>{s.dispose(),r&&(this._decorations.delete(r)&&this._onDecorationRemoved.fire(r),e.dispose())});this._decorations.insert(r),this._onDecorationRegistered.fire(r)}return r}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,r,s){let i=0,n=0;for(let o of this._decorations.getKeyIterator(r))n=(i=o.options.x??0)+(o.options.width??1),e>=i&&e<n&&(!s||(o.options.layer??"bottom")===s)&&(yield o)}forEachDecorationAtCell(e,r,s,i){this._decorations.forEachByKey(r,r=>{gt=(ge=r.options.x??0)+(r.options.width??1),e>=ge&&e<gt&&(!s||(r.options.layer??"bottom")===s)&&i(r)})}},gs=class extends uF{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new u8),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new u8),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return null===this._cachedBg&&(this.options.backgroundColor?this._cachedBg=mk.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return null===this._cachedFg&&(this.options.foregroundColor?this._cachedFg=mk.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},gi=class{constructor(e,r=1e3){this._renderCallback=e,this._debounceThresholdMS=r,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,r,s){this._rowCount=s,e=void 0!==e?e:0,r=void 0!==r?r:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,r):r;let i=performance.now();if(i-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=i,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=i-this._lastRefreshMs,r=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},r)}}_innerRefresh(){if(void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return;let e=Math.max(this._rowStart,0),r=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,r)}},gn=class extends uM{constructor(e,r,s,i){super(),this._terminal=e,this._coreBrowserService=s,this._renderService=i,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let n=this._coreBrowserService.mainDocument;this._accessibilityContainer=n.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=n.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=n.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new gi(this._renderRows.bind(this))),!this._terminal.element)throw Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(e=>this._handleResize(e.rows))),this._register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(e=>this._handleChar(e))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
20
|
+
`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(ft(n,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(uR(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let r=0;r<e;r++)this._handleChar(" ")}_handleChar(e){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
21
|
+
`&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=dG)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,r){this._liveRegionDebouncer.refresh(e,r,this._terminal.rows)}_renderRows(e,r){let s=this._terminal.buffer,i=s.lines.length.toString();for(let n=e;n<=r;n++){let e=s.lines.get(s.ydisp+n),r=[],o=e?.translateToString(!0,void 0,void 0,r)||"",a=(s.ydisp+n+1).toString(),l=this._rowElements[n];l&&(0===o.length?(l.textContent=" ",this._rowColumns.set(l,[0,1])):(l.textContent=o,this._rowColumns.set(l,r)),l.setAttribute("aria-posinset",a),l.setAttribute("aria-setsize",i),this._alignRowWidth(l))}this._announceCharacters()}_announceCharacters(){0!==this._charsToAnnounce.length&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(e,r){let s,i,n=e.target,o=this._rowElements[0===r?1:this._rowElements.length-2];if(n.getAttribute("aria-posinset")!==(0===r?"1":`${this._terminal.buffer.lines.length}`)&&e.relatedTarget===o){if(0===r?(s=n,i=this._rowElements.pop(),this._rowContainer.removeChild(i)):(s=this._rowElements.shift(),i=n,this._rowContainer.removeChild(s)),s.removeEventListener("focus",this._topBoundaryFocusListener),i.removeEventListener("focus",this._bottomBoundaryFocusListener),0===r){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement("afterbegin",e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(0===r?-1:1),this._rowElements[0===r?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}}_handleSelectionChange(){if(0===this._rowElements.length)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode)return void console.error("anchorNode and/or focusNode are null");let r={node:e.anchorNode,offset:e.anchorOffset},s={node:e.focusNode,offset:e.focusOffset};if((r.node.compareDocumentPosition(s.node)&Node.DOCUMENT_POSITION_PRECEDING||r.node===s.node&&r.offset>s.offset)&&([r,s]=[s,r]),r.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(r={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(r.node))return;let i=this._rowElements.slice(-1)[0];if(s.node.compareDocumentPosition(i)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(s={node:i,offset:i.textContent?.length??0}),!this._rowContainer.contains(s.node))return;let n=({node:e,offset:r})=>{let s=e instanceof Text?e.parentNode:e,i=parseInt(s?.getAttribute("aria-posinset"),10)-1;if(isNaN(i))return console.warn("row is invalid. Race condition?"),null;let n=this._rowColumns.get(s);if(!n)return console.warn("columns is null. Race condition?"),null;let o=r<n.length?n[r]:n.slice(-1)[0]+1;return o>=this._terminal.cols&&(++i,o=0),{row:i,column:o}},o=n(r),a=n(s);if(!(!o||!a)){if(o.row>a.row||o.row===a.row&&o.column>=a.column)throw Error("invalid range");this._terminal.select(o.column,o.row,(a.row-o.row)*this._terminal.cols-o.column+a.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform="";let r=e.getBoundingClientRect().width,s=this._rowColumns.get(e)?.slice(-1)?.[0];if(!s)return;let i=s*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${i/r})`}};gn=dq([dV(1,ui),dV(2,uh),dV(3,up)],gn);var go=class extends uM{constructor(e,r,s,i,n){super(),this._element=e,this._mouseService=r,this._renderService=s,this._bufferService=i,this._linkProviderService=n,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new u8),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new u8),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(uR(()=>{uE(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(ft(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(ft(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(ft(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(ft(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let r=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!r)return;this._isMouseOut=!1;let s=e.composedPath();for(let e=0;e<s.length;e++){let r=s[e];if(r.classList.contains("xterm"))break;if(r.classList.contains("xterm-hover"))return}this._lastBufferCell&&r.x===this._lastBufferCell.x&&r.y===this._lastBufferCell.y||(this._handleHover(r),this._lastBufferCell=r)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,r){this._activeProviderReplies&&r||(this._activeProviderReplies?.forEach(e=>{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let s=!1;for(let[i,n]of this._linkProviderService.linkProviders.entries())r?this._activeProviderReplies?.get(i)&&(s=this._checkLinkProviderResult(i,e,s)):n.provideLinks(e.y,r=>{if(this._isMouseOut)return;let n=r?.map(e=>({link:e}));this._activeProviderReplies?.set(i,n),s=this._checkLinkProviderResult(i,e,s),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,r){let s=new Set;for(let i=0;i<r.size;i++){let n=r.get(i);if(n)for(let r=0;r<n.length;r++){let i=n[r],o=i.link.range.start.y<e?0:i.link.range.start.x,a=i.link.range.end.y>e?this._bufferService.cols:i.link.range.end.x;for(let e=o;e<=a;e++){if(s.has(e)){n.splice(r--,1);break}s.add(e)}}}}_checkLinkProviderResult(e,r,s){if(!this._activeProviderReplies)return s;let i=this._activeProviderReplies.get(e),n=!1;for(let r=0;r<e;r++)(!this._activeProviderReplies.has(r)||this._activeProviderReplies.get(r))&&(n=!0);if(!n&&i){let e=i.find(e=>this._linkAtPosition(e.link,r));e&&(s=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!s)for(let e=0;e<this._activeProviderReplies.size;e++){let i=this._activeProviderReplies.get(e)?.find(e=>this._linkAtPosition(e.link,r));if(i){s=!0,this._handleNewLink(i);break}}return s}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){var r,s;if(!this._currentLink)return;let i=this._positionFromMouseEvent(e,this._element,this._mouseService);i&&this._mouseDownLink&&(r=this._mouseDownLink.link,s=this._currentLink.link,r.text===s.text&&r.range.start.x===s.range.start.x&&r.range.start.y===s.range.start.y&&r.range.end.x===s.range.end.x&&r.range.end.y===s.range.end.y)&&this._linkAtPosition(this._currentLink.link,i)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,r){this._currentLink&&this._lastMouseEvent&&(!e||!r||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=r)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,uE(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:r=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==r&&(this._currentLink.state.decorations.underline=r,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,r))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let r=0===e.start?0:e.start+1+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=r&&this._currentLink.link.range.end.y<=s&&(this._clearCurrentLink(r,s),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,r,s){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(r,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),r.hover&&r.hover(s,r.text)}_fireUnderlineEvent(e,r){let s=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(s.start.x-1,s.start.y-i-1,s.end.x,s.end.y-i-1,void 0);(r?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)}_linkLeave(e,r,s){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(r,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),r.leave&&r.leave(s,r.text)}_linkAtPosition(e,r){let s=e.range.start.y*this._bufferService.cols+e.range.start.x,i=e.range.end.y*this._bufferService.cols+e.range.end.x,n=r.y*this._bufferService.cols+r.x;return s<=n&&n<=i}_positionFromMouseEvent(e,r,s){let i=s.getCoords(e,r,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,r,s,i,n){return{x1:e,y1:r,x2:s,y2:i,cols:this._bufferService.cols,fg:n}}};go=dq([dV(1,uf),dV(2,up),dV(3,ue),dV(4,uv)],go);var ga=class extends m6{constructor(e={}){super(e),this._linkifier=this._register(new uT),this.browser=py,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new uT),this._onCursorMove=this._register(new u8),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new u8),this.onKey=this._onKey.event,this._onRender=this._register(new u8),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new u8),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new u8),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new u8),this.onBell=this._onBell.event,this._onFocus=this._register(new u8),this._onBlur=this._register(new u8),this._onA11yCharEmitter=this._register(new u8),this._onA11yTabEmitter=this._register(new u8),this._onWillOpen=this._register(new u8),this._setup(),this._decorationService=this._instantiationService.createInstance(gr),this._instantiationService.setService(uc,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(pg),this._instantiationService.setService(uv,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(ud)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(u0.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(u0.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(u0.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(u0.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(uR(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let r of e){let e,s="";switch(r.index){case 256:e="foreground",s="10";break;case 257:e="background",s="11";break;case 258:e="cursor",s="12";break;default:e="ansi",s="4;"+r.index}switch(r.type){case 0:let i=mj.toColorRGB("ansi"===e?this._themeService.colors.ansi[r.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${f$.ESC}]${s};${function(e,r=16){let[s,i,n]=e;return`rgb:${mX(s,r)}/${mX(i,r)}/${mX(n,r)}`}(i)}${fH.ST}`);break;case 1:if("ansi"===e)this._themeService.modifyColors(e=>e.ansi[r.index]=fU.toColor(...r.color));else{let s=e;this._themeService.modifyColors(e=>e[s]=fU.toColor(...r.color))}break;case 2:this._themeService.restoreColor(r.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(gn,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(f$.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(f$.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,r=this.buffer.lines.get(e);if(!r)return;let s=Math.min(this.buffer.x,this.cols-1),i=this._renderService.dimensions.css.cell.height,n=r.getWidth(s),o=this._renderService.dimensions.css.cell.width*n,a=this.buffer.y*this._renderService.dimensions.css.cell.height,l=s*this._renderService.dimensions.css.cell.width;this.textarea.style.left=l+"px",this.textarea.style.top=a+"px",this.textarea.style.width=o+"px",this.textarea.style.height=i+"px",this.textarea.style.lineHeight=i+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(ft(this.element,"copy",e=>{var r;this.hasSelection()&&(r=this._selectionService,e.clipboardData&&e.clipboardData.setData("text/plain",r.selectionText),e.preventDefault())}));let e=e=>{var r,s,i;return r=this.textarea,s=this.coreService,i=this.optionsService,void(e.stopPropagation(),e.clipboardData&&dX(e.clipboardData.getData("text/plain"),r,s,i))};this._register(ft(this.textarea,"paste",e)),this._register(ft(this.element,"paste",e)),pk?this._register(ft(this.element,"mousedown",e=>{2===e.button&&dZ(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(ft(this.element,"contextmenu",e=>{dZ(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),pT&&this._register(ft(this.element,"auxclick",e=>{1===e.button&&dJ(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(ft(this.textarea,"keyup",e=>this._keyUp(e),!0)),this._register(ft(this.textarea,"keydown",e=>this._keyDown(e),!0)),this._register(ft(this.textarea,"keypress",e=>this._keyPress(e),!0)),this._register(ft(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(ft(this.textarea,"compositionupdate",e=>this._compositionHelper.compositionupdate(e))),this._register(ft(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(ft(this.textarea,"input",e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error("Terminal requires a parent element.");if(e.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),e.appendChild(this.element);let r=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),r.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(ft(this.screenElement,"mousemove",e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),r.appendChild(this.screenElement);let s=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",dY),pP||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>s.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(pp,this.textarea,e.ownerDocument.defaultView??window,this._document??"u">typeof window?window.document:null)),this._instantiationService.setService(uh,this._coreBrowserService),this._register(ft(this.textarea,"focus",e=>this._handleTextAreaFocus(e))),this._register(ft(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(pd,this._document,this._helperContainer),this._instantiationService.setService(uu,this._charSizeService),this._themeService=this._instantiationService.createInstance(p4),this._instantiationService.setService(ux,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(f6),this._instantiationService.setService(ug,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(p$,this.rows,this.screenElement)),this._instantiationService.setService(up,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(fP,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(pv),this._instantiationService.setService(uf,this._mouseService);let i=this._linkifier.value=this._register(this._instantiationService.createInstance(go,this.screenElement));this.element.appendChild(r);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(fD,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(pJ,this.element,this.screenElement,i)),this._instantiationService.setService(um,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(u0.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(fE,this.screenElement)),this._register(ft(this.element,"mousedown",e=>this._selectionService.handleMouseDown(e))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(gn,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(fT,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(fT,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(pc,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,r=this.element;function s(r){let s,i,n=e._mouseService.getMouseReportCoords(r,e.screenElement);if(!n)return!1;switch(r.overrideType||r.type){case"mousemove":i=32,void 0===r.buttons?(s=3,void 0!==r.button&&(s=r.button<3?r.button:3)):s=1&r.buttons?0:4&r.buttons?1:2&r.buttons?2:3;break;case"mouseup":i=0,s=r.button<3?r.button:3;break;case"mousedown":i=1,s=r.button<3?r.button:3;break;case"wheel":if(e._customWheelEventHandler&&!1===e._customWheelEventHandler(r))return!1;let o=r.deltaY;if(0===o||0===e.coreMouseService.consumeWheelEvent(r,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr))return!1;i=o<0?0:1,s=4;break;default:return!1}return void 0!==i&&void 0!==s&&!(s>4)&&e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:s,action:i,ctrl:r.ctrlKey,alt:r.altKey,shift:r.shiftKey})}let i={mouseup:null,wheel:null,mousedrag:null,mousemove:null},n=e=>(s(e),e.buttons||(this._document.removeEventListener("mouseup",i.mouseup),i.mousedrag&&this._document.removeEventListener("mousemove",i.mousedrag)),this.cancel(e)),o=e=>(s(e),this.cancel(e,!0)),a=e=>{e.buttons&&s(e)},l=e=>{e.buttons||s(e)};this._register(this.coreMouseService.onProtocolChange(e=>{e?("debug"===this.optionsService.rawOptions.logLevel&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(e)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&e?i.mousemove||(r.addEventListener("mousemove",l),i.mousemove=l):(r.removeEventListener("mousemove",i.mousemove),i.mousemove=null),16&e?i.wheel||(r.addEventListener("wheel",o,{passive:!1}),i.wheel=o):(r.removeEventListener("wheel",i.wheel),i.wheel=null),2&e?i.mouseup||(i.mouseup=n):(this._document.removeEventListener("mouseup",i.mouseup),i.mouseup=null),4&e?i.mousedrag||(i.mousedrag=a):(this._document.removeEventListener("mousemove",i.mousedrag),i.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(ft(r,"mousedown",e=>{if(e.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(e)))return s(e),i.mouseup&&this._document.addEventListener("mouseup",i.mouseup),i.mousedrag&&this._document.addEventListener("mousemove",i.mousedrag),this.cancel(e)})),this._register(ft(r,"wheel",r=>{if(!i.wheel){if(this._customWheelEventHandler&&!1===this._customWheelEventHandler(r))return!1;if(!this.buffer.hasScrollback){if(0===r.deltaY)return!1;if(0===e.coreMouseService.consumeWheelEvent(r,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr))return this.cancel(r,!0);let s=f$.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(r.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(s,!0),this.cancel(r,!0)}}},{passive:!1}))}refresh(e,r){this._renderService?.refreshRows(e,r)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,r){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,r),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let r=e-this._bufferService.buffer.ydisp;0!==r&&this.scrollLines(r)}paste(e){dX(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error("Terminal must be opened first");let r=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),r}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error("Terminal must be opened first");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(e,r,s){this._selectionService.setSelection(e,r,s)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,r){this._selectionService?.selectLines(e,r)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;let r=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!r&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;r||"Dead"!==e.key&&"AltGraph"!==e.key||(this._unprocessedDeadKey=!0);let s=function(e,r,s,i){let n={type:0,cancel:!1,key:void 0},o=!!e.shiftKey|2*!!e.altKey|4*!!e.ctrlKey|8*!!e.metaKey;switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?r?n.key=f$.ESC+"OA":n.key=f$.ESC+"[A":"UIKeyInputLeftArrow"===e.key?r?n.key=f$.ESC+"OD":n.key=f$.ESC+"[D":"UIKeyInputRightArrow"===e.key?r?n.key=f$.ESC+"OC":n.key=f$.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(r?n.key=f$.ESC+"OB":n.key=f$.ESC+"[B");break;case 8:n.key=e.ctrlKey?"\b":f$.DEL,e.altKey&&(n.key=f$.ESC+n.key);break;case 9:if(e.shiftKey){n.key=f$.ESC+"[Z";break}n.key=f$.HT,n.cancel=!0;break;case 13:n.key=e.altKey?f$.ESC+f$.CR:f$.CR,n.cancel=!0;break;case 27:n.key=f$.ESC,e.altKey&&(n.key=f$.ESC+f$.ESC),n.cancel=!0;break;case 37:if(e.metaKey)break;o?n.key=f$.ESC+"[1;"+(o+1)+"D":r?n.key=f$.ESC+"OD":n.key=f$.ESC+"[D";break;case 39:if(e.metaKey)break;o?n.key=f$.ESC+"[1;"+(o+1)+"C":r?n.key=f$.ESC+"OC":n.key=f$.ESC+"[C";break;case 38:if(e.metaKey)break;o?n.key=f$.ESC+"[1;"+(o+1)+"A":r?n.key=f$.ESC+"OA":n.key=f$.ESC+"[A";break;case 40:if(e.metaKey)break;o?n.key=f$.ESC+"[1;"+(o+1)+"B":r?n.key=f$.ESC+"OB":n.key=f$.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(n.key=f$.ESC+"[2~");break;case 46:o?n.key=f$.ESC+"[3;"+(o+1)+"~":n.key=f$.ESC+"[3~";break;case 36:o?n.key=f$.ESC+"[1;"+(o+1)+"H":r?n.key=f$.ESC+"OH":n.key=f$.ESC+"[H";break;case 35:o?n.key=f$.ESC+"[1;"+(o+1)+"F":r?n.key=f$.ESC+"OF":n.key=f$.ESC+"[F";break;case 33:e.shiftKey?n.type=2:e.ctrlKey?n.key=f$.ESC+"[5;"+(o+1)+"~":n.key=f$.ESC+"[5~";break;case 34:e.shiftKey?n.type=3:e.ctrlKey?n.key=f$.ESC+"[6;"+(o+1)+"~":n.key=f$.ESC+"[6~";break;case 112:o?n.key=f$.ESC+"[1;"+(o+1)+"P":n.key=f$.ESC+"OP";break;case 113:o?n.key=f$.ESC+"[1;"+(o+1)+"Q":n.key=f$.ESC+"OQ";break;case 114:o?n.key=f$.ESC+"[1;"+(o+1)+"R":n.key=f$.ESC+"OR";break;case 115:o?n.key=f$.ESC+"[1;"+(o+1)+"S":n.key=f$.ESC+"OS";break;case 116:o?n.key=f$.ESC+"[15;"+(o+1)+"~":n.key=f$.ESC+"[15~";break;case 117:o?n.key=f$.ESC+"[17;"+(o+1)+"~":n.key=f$.ESC+"[17~";break;case 118:o?n.key=f$.ESC+"[18;"+(o+1)+"~":n.key=f$.ESC+"[18~";break;case 119:o?n.key=f$.ESC+"[19;"+(o+1)+"~":n.key=f$.ESC+"[19~";break;case 120:o?n.key=f$.ESC+"[20;"+(o+1)+"~":n.key=f$.ESC+"[20~";break;case 121:o?n.key=f$.ESC+"[21;"+(o+1)+"~":n.key=f$.ESC+"[21~";break;case 122:o?n.key=f$.ESC+"[23;"+(o+1)+"~":n.key=f$.ESC+"[23~";break;case 123:o?n.key=f$.ESC+"[24;"+(o+1)+"~":n.key=f$.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if((!s||i)&&e.altKey&&!e.metaKey){let r=m8[e.keyCode]?.[+!!e.shiftKey];if(r)n.key=f$.ESC+r;else if(e.keyCode>=65&&e.keyCode<=90){let r=String.fromCharCode(e.ctrlKey?e.keyCode-64:e.keyCode+32);e.shiftKey&&(r=r.toUpperCase()),n.key=f$.ESC+r}else if(32===e.keyCode)n.key=f$.ESC+(e.ctrlKey?f$.NUL:" ");else if("Dead"===e.key&&e.code.startsWith("Key")){let r=e.code.slice(3,4);e.shiftKey||(r=r.toLowerCase()),n.key=f$.ESC+r,n.cancel=!0}}else!s||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?!e.key||e.ctrlKey||e.altKey||e.metaKey||!(e.keyCode>=48)||1!==e.key.length?e.key&&e.ctrlKey&&("_"===e.key&&(n.key=f$.US),"@"===e.key&&(n.key=f$.NUL)):n.key=e.key:65===e.keyCode&&(n.type=1);else e.keyCode>=65&&e.keyCode<=90?n.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?n.key=f$.NUL:e.keyCode>=51&&e.keyCode<=55?n.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?n.key=f$.DEL:219===e.keyCode?n.key=f$.ESC:220===e.keyCode?n.key=f$.FS:221===e.keyCode&&(n.key=f$.GS)}return n}(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),3===s.type||2===s.type){let r=this.rows-1;return this.scrollLines(2===s.type?-r:r),this.cancel(e,!0)}return 1===s.type&&this.selectAll(),!!(this._isThirdLevelShift(this.browser,e)||(s.cancel&&this.cancel(e,!0),!s.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&1===e.key.length&&e.key.charCodeAt(0)>=65&&90>=e.key.charCodeAt(0))||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):((s.key===f$.ETX||s.key===f$.CR)&&(this.textarea.value=""),this._onKey.fire({key:s.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(s.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)?this.cancel(e,!0):void(this._keyDownHandled=!0))}_isThirdLevelShift(e,r){let s=e.isMac&&!this.options.macOptionIsMeta&&r.altKey&&!r.ctrlKey&&!r.metaKey||e.isWindows&&r.altKey&&r.ctrlKey&&!r.metaKey||e.isWindows&&r.getModifierState("AltGraph");return"keypress"===r.type?s:s&&(!r.keyCode||r.keyCode>47)}_keyUp(e){var r;this._keyDownSeen=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(16===(r=e).keyCode||17===r.keyCode||18===r.keyCode||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let r;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)r=e.charCode;else if(null===e.which||void 0===e.which)r=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;r=e.which}return!!r&&(!e.altKey&&!e.ctrlKey&&!e.metaKey||!!this._isThirdLevelShift(this.browser,e))&&(r=String.fromCharCode(r),this._onKey.fire({key:r,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(r,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&"insertText"===e.inputType&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let r=e.data;return this.coreService.triggerDataEvent(r,!0),this.cancel(e),!0}return!1}resize(e,r){if(e===this.cols&&r===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,r)}_afterResize(e,r){this._charSizeService?.measure()}clear(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(mr));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains("focus")?this.coreService.triggerDataEvent(f$.ESC+"[I"):this.coreService.triggerDataEvent(f$.ESC+"[O")}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let r=this._renderService.dimensions.css.canvas.width.toFixed(0),s=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${f$.ESC}[4;${s};${r}t`);break;case 1:let i=this._renderService.dimensions.css.cell.width.toFixed(0),n=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${f$.ESC}[6;${n};${i}t`)}}cancel(e,r){if(!(!this.options.cancelEvents&&!r))return e.preventDefault(),e.stopPropagation(),!1}},gl=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,r){let s={instance:r,dispose:r.dispose,isDisposed:!1};this._addons.push(s),r.dispose=()=>this._wrappedAddonDispose(s),r.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let r=-1;for(let s=0;s<this._addons.length;s++)if(this._addons[s]===e){r=s;break}if(-1===r)throw Error("Could not dispose an addon that has not been loaded");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(r,1)}},gc=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,r){if(!(e<0||e>=this._line.length))return r?(this._line.loadCell(e,r),r):this._line.loadCell(e,new d4)}translateToString(e,r,s){return this._line.translateToString(e,r,s)}},gd=class{constructor(e,r){this._buffer=e,this.type=r}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let r=this._buffer.lines.get(e);if(r)return new gc(r)}getNullCell(){return new d4}},gu=class extends uM{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new u8),this.onBufferChange=this._onBufferChange.event,this._normal=new gd(this._core.buffers.normal,"normal"),this._alternate=new gd(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},gh=class{constructor(e){this._core=e}registerCsiHandler(e,r){return this._core.registerCsiHandler(e,e=>r(e.toArray()))}addCsiHandler(e,r){return this.registerCsiHandler(e,r)}registerDcsHandler(e,r){return this._core.registerDcsHandler(e,(e,s)=>r(e,s.toArray()))}addDcsHandler(e,r){return this.registerDcsHandler(e,r)}registerEscHandler(e,r){return this._core.registerEscHandler(e,r)}addEscHandler(e,r){return this.registerEscHandler(e,r)}registerOscHandler(e,r){return this._core.registerOscHandler(e,r)}addOscHandler(e,r){return this.registerOscHandler(e,r)}},gf=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},gp=["cols","rows"],gm=0,gg=class extends uM{constructor(e){super(),this._core=this._register(new ga(e)),this._addonManager=this._register(new gl),this._publicOptions={...this._core.options};let r=e=>this._core.options[e],s=(e,r)=>{this._checkReadonlyOptions(e),this._core.options[e]=r};for(let e in this._core.options){let i={get:r.bind(this,e),set:s.bind(this,e)};Object.defineProperty(this._publicOptions,e,i)}}_checkReadonlyOptions(e){if(gp.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new gh(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new gf(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new gu(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,r="none";switch(this._core.coreMouseService.activeProtocol){case"X10":r="x10";break;case"VT200":r="vt200";break;case"DRAG":r="drag";break;case"ANY":r="any"}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:r,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let r in e)this._publicOptions[r]=e[r]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,r=!0){this._core.input(e,r)}resize(e,r){this._verifyIntegers(e,r),this._core.resize(e,r)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,r,s){this._verifyIntegers(e,r,s),this._core.select(e,r,s)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,r){this._verifyIntegers(e,r),this._core.selectLines(e,r)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,r){this._core.write(e,r)}writeln(e,r){this._core.write(e),this._core.write(`\r
|
|
22
|
+
`,r)}paste(e){this._core.paste(e)}refresh(e,r){this._verifyIntegers(e,r),this._core.refresh(e,r)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return dY},set promptLabel(t){dY=t},get tooMuchOutput(){return dG},set tooMuchOutput(t){dG=t}}}_verifyIntegers(...e){for(gm of e)if(gm===1/0||isNaN(gm)||gm%1!=0)throw Error("This API only accepts integers")}_verifyPositiveIntegers(...e){for(gm of e)if(gm&&(gm===1/0||isNaN(gm)||gm%1!=0||gm<0))throw Error("This API only accepts positive integers")}},gx=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let r=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(r._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(0===e.css.cell.width||0===e.css.cell.height)return;let r=0===this._terminal.options.scrollback?0:this._terminal.options.overviewRuler?.width||14,s=window.getComputedStyle(this._terminal.element.parentElement),i=parseInt(s.getPropertyValue("height")),n=Math.max(0,parseInt(s.getPropertyValue("width"))),o=window.getComputedStyle(this._terminal.element),a={top:parseInt(o.getPropertyValue("padding-top")),bottom:parseInt(o.getPropertyValue("padding-bottom")),right:parseInt(o.getPropertyValue("padding-right")),left:parseInt(o.getPropertyValue("padding-left"))},l=a.top+a.bottom;return{cols:Math.max(2,Math.floor((n-(a.right+a.left)-r)/e.css.cell.width)),rows:Math.max(1,Math.floor((i-l)/e.css.cell.height))}}},gv=class{constructor(e,r,s,i={}){this._terminal=e,this._regex=r,this._handler=s,this._options=i}provideLinks(e,r){let s=g_.computeLink(e,this._regex,this._terminal,this._handler);r(this._addCallbacks(s))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(r,s)=>{if(this._options.hover){let{range:i}=e;this._options.hover(r,s,i)}},e))}},g_=class e{static computeLink(r,s,i,n){let o=RegExp(s.source,(s.flags||"")+"g"),[a,l]=e._getWindowedLineStrings(r-1,i),c=a.join(""),d,u=[];for(;d=o.exec(c);){let r=d[0];if(!function(e){try{let r=new URL(e),s=r.password&&r.username?`${r.protocol}//${r.username}:${r.password}@${r.host}`:r.username?`${r.protocol}//${r.username}@${r.host}`:`${r.protocol}//${r.host}`;return e.toLocaleLowerCase().startsWith(s.toLocaleLowerCase())}catch{return!1}}(r))continue;let[s,o]=e._mapStrIdx(i,l,0,d.index),[a,c]=e._mapStrIdx(i,s,o,r.length);if(-1===s||-1===o||-1===a||-1===c)continue;let h={start:{x:o+1,y:s+1},end:{x:c,y:a+1}};u.push({range:h,text:r,activate:n})}return u}static _getWindowedLineStrings(e,r){let s,i=e,n=e,o=0,a="",l=[];if(s=r.buffer.active.getLine(e)){let e=s.translateToString(!0);if(s.isWrapped&&" "!==e[0]){for(o=0;(s=r.buffer.active.getLine(--i))&&o<2048&&(o+=(a=s.translateToString(!0)).length,l.push(a),!(!s.isWrapped||-1!==a.indexOf(" "))););l.reverse()}for(l.push(e),o=0;(s=r.buffer.active.getLine(++n))&&s.isWrapped&&o<2048&&(o+=(a=s.translateToString(!0)).length,l.push(a),-1===a.indexOf(" ")););}return[l,i]}static _mapStrIdx(e,r,s,i){let n=e.buffer.active,o=n.getNullCell(),a=s;for(;i;){let e=n.getLine(r);if(!e)return[-1,-1];for(let s=a;s<e.length;++s){e.getCell(s,o);let a=o.getChars();if(o.getWidth()&&(i-=a.length||1,s===e.length-1&&""===a)){let e=n.getLine(r+1);e&&e.isWrapped&&(e.getCell(0,o),2===o.getWidth()&&(i+=1))}if(i<0)return[r,s]}r++,a=0}return[r,a]}},gy=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function gb(e,r){let s=window.open();if(s){try{s.opener=null}catch{}s.location.href=r}else console.warn("Opening link blocked as opener could not be cleared")}var gw=class{constructor(e=gb,r={}){this._handler=e,this._options=r}activate(e){this._terminal=e;let r=this._options,s=r.urlRegex||gy;this._linkProvider=this._terminal.registerLinkProvider(new gv(this._terminal,s,this._handler,r))}dispose(){this._linkProvider?.dispose()}};let gS=(0,ew.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);var gC=e.i(754219);let gj=/\x1B(?:\][^\x07]*(?:\x07|\x1B\\)|[@-Z\\-_]|\[[0-?]*[ -/]*[@-~])/g;function gk({logs:e,isPty:r,className:s,onInput:i,onResize:n,muteInput:o,processId:a,executorId:l,target:c,status:d,exitCode:u}){let h=(0,$.useRef)(null),f=(0,$.useRef)(null),p=(0,$.useRef)(null),m=(0,$.useRef)(0),g=(0,$.useRef)(0),x=(0,$.useRef)(o);x.current!==o&&console.log(`[ExecutorOutput] muteInput changed: ${x.current} → ${o}`),x.current=o;let{settings:v}=(0,dr.useTerminalSettings)(),_=(0,$.useRef)(v),[y,b]=(0,$.useState)(!1),w=(0,$.useRef)(0),S=(0,$.useRef)(e);S.current=e;let C=async()=>{if(!y){w.current=S.current.length,b(!0);return}let e=S.current,r=Math.min(w.current,e.length),s=e.slice(r).map(e=>"stdout"===e.type||"stderr"===e.type||"pty"===e.type?e.data:"").join("");b(!1);let i=s.replace(gj,"");if(!i)return void gC.toast.info("Capture stopped — no output to copy");try{await navigator.clipboard.writeText(i),gC.toast.success("Copied captured output to clipboard")}catch{gC.toast.error("Failed to copy to clipboard")}};(0,$.useEffect)(()=>{if(!h.current||f.current)return;let e=_.current,s=new gg({cursorBlink:r,cursorStyle:r?"block":"underline",disableStdin:!r,convertEol:!0,fontSize:e.fontSize,fontFamily:e.fontFamily,scrollback:e.scrollback,theme:{background:"#09090b",foreground:"#fafafa",cursor:r?"#fafafa":"#09090b",cursorAccent:"#09090b",selectionBackground:"#3f3f46",black:"#09090b",red:"#f87171",green:"#4ade80",yellow:"#facc15",blue:"#60a5fa",magenta:"#c084fc",cyan:"#22d3ee",white:"#fafafa",brightBlack:"#71717a",brightRed:"#fca5a5",brightGreen:"#86efac",brightYellow:"#fde047",brightBlue:"#93c5fd",brightMagenta:"#d8b4fe",brightCyan:"#67e8f9",brightWhite:"#ffffff"},allowProposedApi:!0}),o=new gx,a=new gw;return s.loadAddon(o),s.loadAddon(a),s.open(h.current),setTimeout(()=>{try{let e=h.current;if(!e||0===e.clientWidth||0===e.clientHeight)return;o.fit(),r&&n?.(s.cols,s.rows)}catch{}},0),f.current=s,p.current=o,r&&i&&s.onData(e=>{x.current||0!==g.current||i(e)}),r&&n&&s.onResize(({cols:e,rows:r})=>{n(e,r)}),()=>{s.dispose(),f.current=null,p.current=null,m.current=0,g.current=0}},[r,i,n]),(0,$.useEffect)(()=>{if(!f.current)return;e.length<m.current&&(f.current.reset(),m.current=0);let r="",s="";for(let i=m.current;i<e.length;i++){let n=e[i];("pty"===n.type||"stdout"===n.type||"stderr"===n.type)&&(n.historical?r+=n.data:s+=n.data)}if(m.current=e.length,r){g.current++;try{f.current.write(r,()=>{g.current=Math.max(0,g.current-1)})}catch(e){g.current=Math.max(0,g.current-1),console.error("[ExecutorOutput] terminal write failed",e)}}if(s)try{f.current.write(s)}catch(e){console.error("[ExecutorOutput] terminal write failed",e)}},[e]),(0,$.useEffect)(()=>{let e=f.current;if(e){e.options.fontSize=v.fontSize,e.options.fontFamily=v.fontFamily,e.options.scrollback=v.scrollback;try{p.current?.fit()}catch{}}},[v.fontSize,v.fontFamily,v.scrollback]),(0,$.useEffect)(()=>{if(!h.current||!p.current)return;let e=new ResizeObserver(()=>{try{let e=h.current;if(!e||0===e.clientWidth||0===e.clientHeight)return;p.current?.fit()}catch{}});return e.observe(h.current),()=>{e.disconnect()}},[]);let j="closed"===d&&null!==u?`closed \xb7 exit ${u}`:d??null;return(0,z.jsxs)("div",{className:(0,ey.cn)("relative h-[300px] rounded-md border bg-zinc-950 overflow-hidden",s),children:[(0,z.jsx)("div",{ref:h,className:"h-full w-full"}),(0,z.jsxs)("div",{className:"absolute top-2 right-3 z-10 flex items-center gap-1.5",children:[(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsx)("button",{type:"button",title:"Process info","aria-label":"Show process info",className:(0,ey.cn)("flex h-6 w-6 items-center justify-center rounded","bg-zinc-900/70 backdrop-blur-sm border border-zinc-700/60","text-zinc-400 hover:text-zinc-100 hover:border-zinc-500 transition-colors"),children:(0,z.jsx)(gS,{className:"h-3 w-3"})})}),(0,z.jsxs)(n9,{align:"end",className:"w-72",children:[(0,z.jsx)(os,{className:"text-xs text-muted-foreground",children:"Process info"}),[{label:"Process",value:a??null},{label:"Executor",value:l??null},{label:"Target",value:c??null},{label:"Status",value:j}].map(e=>(0,z.jsxs)(oe,{disabled:!e.value,onSelect:r=>{var s,i;r.preventDefault(),s=e.label,(i=e.value)&&(navigator.clipboard.writeText(i),gC.toast.success(`${s} copied`))},className:"flex items-center justify-between gap-3 font-mono text-xs",children:[(0,z.jsx)("span",{className:"shrink-0 text-muted-foreground",children:e.label}),(0,z.jsxs)("span",{className:"flex min-w-0 items-center gap-1.5",children:[(0,z.jsx)("span",{className:"truncate",children:e.value??"—"}),e.value&&(0,z.jsx)(dg.Copy,{className:"h-3 w-3 shrink-0 opacity-60"})]})]},e.label))]})]}),(0,z.jsx)("button",{type:"button",onClick:C,title:y?"Stop capture & copy to clipboard":"Start capturing output","aria-label":y?"Stop capture and copy":"Start capturing output",className:(0,ey.cn)("flex h-6 w-6 items-center justify-center rounded","bg-zinc-900/70 backdrop-blur-sm border border-zinc-700/60","text-zinc-400 hover:text-zinc-100 hover:border-zinc-500 transition-colors",y&&"text-red-400 border-red-500/70 hover:text-red-300"),children:y?(0,z.jsx)(dO,{className:"h-3 w-3 fill-current"}):(0,z.jsx)(rw,{className:"h-3 w-3"})})]})]})}let gN=(0,ew.default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]),gD=[{name:"Dev Server",command:"pnpm dev",executor_type:"command",pty:!0,description:"Start the development server with hot reload"},{name:"Build",command:"pnpm build",executor_type:"command",pty:!0,description:"Build the project for production"},{name:"Lint",command:"pnpm lint",executor_type:"command",pty:!0,description:"Run the linter to check code quality"},{name:"Type Check",command:"npx tsc --noEmit",executor_type:"command",pty:!0,description:"Run TypeScript type checking without emitting files"},{name:"Test",command:"pnpm test",executor_type:"command",pty:!0,description:"Run the test suite"},{name:"Rebase on and merge into main",command:"Our goal is to sync the current local branch with the local branch/worktree `main`. The two branches may have diverged.\n\nPlease do the following in order. Only proceed to the next step if the previous step succeeds:\n\n1. Rebase the current local branch onto the local branch `main`, and resolve any conflicts if needed.\n2. If, after the rebase, `main` does not yet contain the current branch's commits, switch to the `main` branch/worktree and merge the current branch into `main` using `git merge`. Do not use `git branch -f`.\n3. If the current branch is already fully contained in `main`, and `main` has newer commits, update the current branch so it includes the latest commits from `main`.\n4. Push both the current local branch and the local branch `main` to the remote.",executor_type:"prompt",pty:!1,description:"Rebase current branch onto main, merge into main, and push both branches"},{name:"Reset to main",command:"git reset --hard main",executor_type:"command",pty:!0,description:"Hard reset the current branch to match main"},{name:"Push to remote",command:"git push --force-with-lease",executor_type:"command",pty:!0,description:"Force push to remote with lease safety check"},{name:"Git commit",command:"Inspect the modified and untracked and deleted files in the current repository, generate an appropriate commit message, and commit all relevant files.\n\nCommit message rules:\n- Use Conventional Commits format (feat:, fix:, chore:, refactor:, docs:, test:, ci:, build:, perf:, style:, etc.)\n- Choose the type that best matches the main purpose of the changes\n- Make the message specific to the actual changes\n- Keep it within 50 characters if possible\n- Use lowercase\n- Do not end with a period\n- Do not wrap the message in quotes, backticks, or markdown\n\nCommit requirements:\n- Include all relevant modified and untracked files\n- Do not include unrelated files\n- If there are no meaningful changes to commit, do not create a commit\n\nWhen finished, output only the final commit message.",executor_type:"prompt",pty:!1,description:"Inspect changes, generate a conventional commit message, and commit"},{name:"Tag and push",command:"Find the latest SemVer tag in the repository, increase the patch number by 1, create the new tag from the current commit, and push it to origin.",executor_type:"prompt",pty:!1,description:"Bump the patch version tag and push it to origin"}];function gE({open:e,onOpenChange:r,executor:s,onSubmit:i}){let[n,o]=(0,$.useState)(s?.name??""),[a,l]=(0,$.useState)(s?.executor_type??"command"),[c,d]=(0,$.useState)(s?.prompt_provider??"claude"),[u,h]=(0,$.useState)(s?.command??""),[f,p]=(0,$.useState)(s?.cwd??""),[m,g]=(0,$.useState)(s?.pty??!0),[x,v]=(0,$.useState)(!1),[_,y]=(0,$.useState)(!1),[b,w]=(0,$.useState)(null),[S,C]=(0,$.useState)(null),[j,k]=(0,$.useState)(""),N=!!s;(0,$.useEffect)(()=>{e&&(y(!1),w(null),C(null),k(""),s&&(o(s.name),l(s.executor_type??"command"),d(s.prompt_provider??"claude"),h(s.command),p(s.cwd??""),g(s.pty)))},[e]);let D=async e=>{if(e.preventDefault(),n.trim()&&u.trim()){v(!0);try{await i({name:n.trim(),command:u.trim(),executor_type:a,prompt_provider:"prompt"===a?c:null,cwd:f.trim()||void 0,pty:"prompt"===a||m}),r(!1),N||(o(""),l("command"),d("claude"),h(""),p(""),g(!0))}finally{v(!1)}}};return(0,z.jsx)(t7,{open:e,onOpenChange:r,children:(0,z.jsxs)(rt,{children:[(0,z.jsx)(rr,{children:(0,z.jsxs)("div",{className:"flex items-center justify-between pr-6",children:[(0,z.jsx)(ri,{children:_?"Select Preset":N?"Edit Executor":"Add Executor"}),!N&&!_&&(0,z.jsx)("button",{type:"button",className:"text-sm text-muted-foreground hover:text-foreground transition-colors",onClick:()=>y(!0),children:"Select from presets"})]})}),(0,z.jsxs)("div",{className:"h-[420px] flex flex-col",children:[!_&&(0,z.jsxs)("form",{onSubmit:D,className:"space-y-4 flex-1 flex flex-col",children:[(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Name"}),(0,z.jsx)(ro,{placeholder:"e.g., Dev Server",value:n,onChange:e=>o(e.target.value),required:!0})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Type"}),(0,z.jsxs)("div",{className:"flex rounded-md border border-input overflow-hidden",children:[(0,z.jsx)("button",{type:"button",className:(0,ey.cn)("flex-1 px-3 py-1.5 text-sm font-medium transition-colors","command"===a?"bg-primary text-primary-foreground":"bg-background text-muted-foreground hover:bg-muted"),onClick:()=>l("command"),children:"Command"}),(0,z.jsx)("button",{type:"button",className:(0,ey.cn)("flex-1 px-3 py-1.5 text-sm font-medium transition-colors border-l border-input","prompt"===a?"bg-primary text-primary-foreground":"bg-background text-muted-foreground hover:bg-muted"),onClick:()=>l("prompt"),children:"Prompt"})]})]}),"prompt"===a&&(0,z.jsxs)("div",{className:"flex gap-3",children:[(0,z.jsxs)("div",{className:"w-[140px] shrink-0 space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Provider"}),(0,z.jsxs)(l6,{value:c,onValueChange:e=>d(e),children:[(0,z.jsx)(l7,{className:"w-full",children:(0,z.jsx)(l8,{})}),(0,z.jsxs)(l9,{children:[(0,z.jsx)(ce,{value:"claude",children:"Claude"}),(0,z.jsx)(ce,{value:"codex",children:"Codex"})]})]})]}),(0,z.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,z.jsxs)("label",{className:"text-sm font-medium",children:["Working Directory"," ",(0,z.jsx)("span",{className:"text-muted-foreground",children:"(optional)"})]}),(0,z.jsx)(ro,{placeholder:"Relative to worktree root",value:f,onChange:e=>p(e.target.value)})]})]}),(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"prompt"===a?"Prompt":"Command"}),"prompt"===a?(0,z.jsx)("textarea",{className:"flex min-h-[90px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 resize-y",placeholder:"e.g., Review the code and suggest improvements",value:u,onChange:e=>h(e.target.value),required:!0}):(0,z.jsx)(ro,{placeholder:"e.g., npm run dev",value:u,onChange:e=>h(e.target.value),required:!0})]}),"command"===a&&(0,z.jsxs)("div",{className:"space-y-2",children:[(0,z.jsxs)("label",{className:"text-sm font-medium",children:["Working Directory"," ",(0,z.jsx)("span",{className:"text-muted-foreground",children:"(optional)"})]}),(0,z.jsx)(ro,{placeholder:"Relative to worktree root (leave empty for root)",value:f,onChange:e=>p(e.target.value)})]}),"command"===a&&(0,z.jsxs)("div",{className:"flex items-center justify-between",children:[(0,z.jsxs)("div",{className:"space-y-0.5",children:[(0,z.jsx)("label",{className:"text-sm font-medium",children:"Terminal Mode (PTY)"}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Enable for interactive commands like top, vim, htop"})]}),(0,z.jsx)("button",{type:"button",role:"switch","aria-checked":m,onClick:()=>g(!m),className:(0,ey.cn)("relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",m?"bg-primary":"bg-input"),children:(0,z.jsx)("span",{className:(0,ey.cn)("pointer-events-none inline-block h-5 w-5 transform rounded-full bg-background shadow-lg ring-0 transition-transform",m?"translate-x-5":"translate-x-0")})})]}),(0,z.jsx)("div",{className:"flex-1"}),(0,z.jsxs)(rs,{children:[(0,z.jsx)(W.Button,{type:"button",variant:"outline",onClick:()=>r(!1),children:"Cancel"}),(0,z.jsx)(W.Button,{type:"submit",disabled:x||!n.trim()||!u.trim(),children:x?"Saving...":N?"Save":"Add"})]})]}),_&&(0,z.jsxs)("div",{className:"space-y-4 flex-1 flex flex-col min-h-0",children:[(0,z.jsx)(ro,{placeholder:"Search presets...",value:j,onChange:e=>k(e.target.value),autoFocus:!0}),(0,z.jsx)("div",{className:"flex-1 overflow-y-auto min-h-0 space-y-1",children:gD.filter(e=>{if(!j.trim())return!0;let r=j.toLowerCase();return e.name.toLowerCase().includes(r)||e.command.toLowerCase().includes(r)||(e.description?.toLowerCase().includes(r)??!1)}).map(e=>{let r=b?.command===e.command,s=S===e.command;return(0,z.jsxs)("div",{className:"rounded-md overflow-hidden",children:[(0,z.jsxs)("button",{type:"button",className:(0,ey.cn)("w-full flex items-center gap-2 px-3 py-2 text-sm transition-colors",r?"bg-primary/10 text-primary":"hover:bg-muted"),onClick:()=>w(e),children:["command"===e.executor_type?(0,z.jsx)(oo,{className:"h-4 w-4 shrink-0 text-muted-foreground"}):(0,z.jsx)(gN,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),(0,z.jsx)("span",{className:"font-medium flex-1 text-left",children:e.name}),(0,z.jsx)("button",{type:"button",className:"shrink-0 p-0.5 rounded hover:bg-muted-foreground/10 transition-colors",onClick:r=>{r.stopPropagation(),C(s?null:e.command)},children:s?(0,z.jsx)(su,{className:"h-4 w-4 text-muted-foreground"}):(0,z.jsx)(n6,{className:"h-4 w-4 text-muted-foreground"})})]}),s&&(0,z.jsxs)("div",{className:(0,ey.cn)("px-3 pb-2 pt-1 text-xs text-muted-foreground space-y-1 border-t border-border/50",r?"bg-primary/5":"bg-muted/50"),children:[e.description&&(0,z.jsx)("p",{children:e.description}),(0,z.jsx)("pre",{className:"whitespace-pre-wrap break-all bg-muted/50 rounded px-2 py-1 font-mono",children:e.command}),(0,z.jsxs)("div",{className:"flex gap-3",children:[(0,z.jsxs)("span",{children:["Type: ",(0,z.jsx)("span",{className:"font-medium text-foreground/70",children:e.executor_type})]}),(0,z.jsxs)("span",{children:["PTY: ",(0,z.jsx)("span",{className:"font-medium text-foreground/70",children:e.pty?"on":"off"})]})]})]})]},e.command)})}),(0,z.jsxs)(rs,{children:[(0,z.jsx)(W.Button,{type:"button",variant:"outline",onClick:()=>{y(!1),w(null),C(null)},children:"Cancel"}),(0,z.jsx)(W.Button,{type:"button",disabled:!b,onClick:()=>{b&&(o(b.name),h(b.command),l(b.executor_type),g(b.pty),y(!1),w(null),C(null))},children:"Select"})]})]})]})]})})}let gR={logs:[],status:"connecting",exitCode:null,isPty:!1,replayingHistory:!0},gA=(0,$.createContext)(null);function gF({projectId:e,children:r}){let s=(0,$.useRef)(new Map),i=(0,$.useRef)(new Map),n=(0,$.useRef)(new Set),o=(0,$.useRef)(null),a=(0,$.useRef)(0),l=(0,$.useRef)(null),c=(0,$.useCallback)(e=>{i.current.get(e)?.forEach(e=>e())},[]),d=(0,$.useCallback)((e,r)=>{let i=s.current.get(e)??gR;s.current.set(e,{...i,...r}),c(e)},[c]),u=(0,$.useCallback)(e=>{o.current?.readyState===WebSocket.OPEN&&o.current.send(JSON.stringify(e))},[]),h=(0,$.useCallback)(e=>{let{processId:r}=e,i="error"===e.type?e.message:"finished"===e.type?`exitCode=${e.exitCode}`:"init"===e.type?`isPty=${e.isPty}`:"history_end"===e.type?"":`${e.data.length}b`;if(console.log("[diag:mux] recv",e.type,r,i),"init"===e.type)d(r,{isPty:e.isPty,replayingHistory:!0,logs:[],status:"connected"});else if("history_end"===e.type)d(r,{replayingHistory:!1});else if("finished"===e.type)console.log(`[diag:remote-stop] ${new Date().toISOString()} mux received FINISHED processId=${r} exitCode=${e.exitCode} — will trigger markProcessFinished → button flips to Start`),d(r,{exitCode:e.exitCode,status:"closed"});else if("error"===e.type)console.log(`[diag:remote-stop] ${new Date().toISOString()} mux received ERROR processId=${r} — status=error, does NOT flip isRunning`),d(r,{status:"error"});else{let i=s.current.get(r)??gR,{processId:n,...o}=e;d(r,{logs:[...i.logs,{...o,historical:i.replayingHistory}]})}},[d]);(0,$.useEffect)(()=>{if(!e)return;let r=!1;a.current=0;let i=()=>{r||(0,rx.getFreshToken)().then(()=>{r||(()=>{if(r)return;let c=new WebSocket((0,rx.getWebSocketUrl)(`/api/executor-logs/stream?projectId=${encodeURIComponent(e)}`));o.current=c,c.onopen=()=>{if(!r)for(let e of(a.current=0,console.log("[diag:mux] WS open, resubscribing",[...n.current]),n.current))c.send(JSON.stringify({type:"subscribe",processId:e}))},c.onmessage=e=>{if(!r)try{h(JSON.parse(e.data))}catch(e){console.error("[ExecutorLogs] parse error:",e)}},c.onclose=()=>{if(o.current=null,console.log("[diag:mux] WS close, reconnectAttempt=",a.current,"cancelled=",r),r)return;let e=e=>{let r=s.current.get(e);return r?.status==="closed"||r?.status==="error"};if(a.current<8){let s=a.current++,o=Math.min(15e3,1e3*2**s),c=o+o*Math.random()*.25;for(let r of n.current)e(r)||d(r,{status:"connecting"});l.current=setTimeout(()=>{l.current=null,r||i()},c)}else for(let r of n.current)e(r)||d(r,{status:"error"})}})()})};return i(),()=>{r=!0,l.current&&clearTimeout(l.current),l.current=null,o.current?.close(),o.current=null}},[e,h,d]);let f=(0,$.useMemo)(()=>({subscribeProcess:e=>{n.current.has(e)||(n.current.add(e),s.current.set(e,{...gR}),c(e),console.log("[diag:mux] send subscribe",e,"(state reset to EMPTY)"),u({type:"subscribe",processId:e}))},unsubscribeProcess:e=>{n.current.has(e)&&(n.current.delete(e),console.log("[diag:mux] send unsubscribe",e),u({type:"unsubscribe",processId:e}))},sendInput:(e,r)=>u({type:"input",processId:e,data:r}),sendResize:(e,r,s)=>u({type:"resize",processId:e,cols:r,rows:s}),onProcessChange:(e,r)=>{let s=i.current.get(e);return s||(s=new Set,i.current.set(e,s)),s.add(r),()=>{s?.delete(r)}},getProcessState:e=>s.current.get(e)??gR}),[c,u]);return(0,z.jsx)(gA.Provider,{value:f,children:r})}let gM="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function gT(e){let r=Object.prototype.toString.call(e);return"[object Window]"===r||"[object global]"===r}function gP(e){return"nodeType"in e}function gB(e){var r,s;return e?gT(e)?e:gP(e)&&null!=(r=null==(s=e.ownerDocument)?void 0:s.defaultView)?r:window:window}function gL(e){let{Document:r}=gB(e);return e instanceof r}function gI(e){return!gT(e)&&e instanceof gB(e).HTMLElement}function gO(e){return e instanceof gB(e).SVGElement}function gz(e){return e?gT(e)?e.document:gP(e)?gL(e)?e:gI(e)||gO(e)?e.ownerDocument:document:document:document}let g$=gM?$.useLayoutEffect:$.useEffect;function gW(e){let r=(0,$.useRef)(e);return g$(()=>{r.current=e}),(0,$.useCallback)(function(){for(var e=arguments.length,s=Array(e),i=0;i<e;i++)s[i]=arguments[i];return null==r.current?void 0:r.current(...s)},[])}function gH(e,r){void 0===r&&(r=[e]);let s=(0,$.useRef)(e);return g$(()=>{s.current!==e&&(s.current=e)},r),s}function gU(e,r){let s=(0,$.useRef)();return(0,$.useMemo)(()=>{let r=e(s.current);return s.current=r,r},[...r])}function gK(e){let r=gW(e),s=(0,$.useRef)(null),i=(0,$.useCallback)(e=>{e!==s.current&&(null==r||r(e,s.current)),s.current=e},[]);return[s,i]}function gq(e){let r=(0,$.useRef)();return(0,$.useEffect)(()=>{r.current=e},[e]),r.current}let gV={};function gY(e,r){return(0,$.useMemo)(()=>{if(r)return r;let s=null==gV[e]?0:gV[e]+1;return gV[e]=s,e+"-"+s},[e,r])}function gG(e){return function(r){for(var s=arguments.length,i=Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];return i.reduce((r,s)=>{for(let[i,n]of Object.entries(s)){let s=r[i];null!=s&&(r[i]=s+e*n)}return r},{...r})}}let gX=gG(1),gJ=gG(-1);function gZ(e){if(!e)return!1;let{KeyboardEvent:r}=gB(e.target);return r&&e instanceof r}function gQ(e){if(function(e){if(!e)return!1;let{TouchEvent:r}=gB(e.target);return r&&e instanceof r}(e)){if(e.touches&&e.touches.length){let{clientX:r,clientY:s}=e.touches[0];return{x:r,y:s}}else if(e.changedTouches&&e.changedTouches.length){let{clientX:r,clientY:s}=e.changedTouches[0];return{x:r,y:s}}}return"clientX"in e&&"clientY"in e?{x:e.clientX,y:e.clientY}:null}let g0=Object.freeze({Translate:{toString(e){if(!e)return;let{x:r,y:s}=e;return"translate3d("+(r?Math.round(r):0)+"px, "+(s?Math.round(s):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;let{scaleX:r,scaleY:s}=e;return"scaleX("+r+") scaleY("+s+")"}},Transform:{toString(e){if(e)return[g0.Translate.toString(e),g0.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:r,duration:s,easing:i}=e;return r+" "+s+"ms "+i}}}),g1="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]",g2={display:"none"};function g5(e){let{id:r,value:s}=e;return $.default.createElement("div",{id:r,style:g2},s)}function g3(e){let{id:r,announcement:s,ariaLiveType:i="assertive"}=e;return $.default.createElement("div",{id:r,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":i,"aria-atomic":!0},s)}let g4=(0,$.createContext)(null),g6={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},g8={onDragStart(e){let{active:r}=e;return"Picked up draggable item "+r.id+"."},onDragOver(e){let{active:r,over:s}=e;return s?"Draggable item "+r.id+" was moved over droppable area "+s.id+".":"Draggable item "+r.id+" is no longer over a droppable area."},onDragEnd(e){let{active:r,over:s}=e;return s?"Draggable item "+r.id+" was dropped over droppable area "+s.id:"Draggable item "+r.id+" was dropped."},onDragCancel(e){let{active:r}=e;return"Dragging was cancelled. Draggable item "+r.id+" was dropped."}};function g7(e){var r;let s,{announcements:i=g8,container:n,hiddenTextDescribedById:o,screenReaderInstructions:a=g6}=e,{announce:l,announcement:c}=function(){let[e,r]=(0,$.useState)("");return{announce:(0,$.useCallback)(e=>{null!=e&&r(e)},[]),announcement:e}}(),d=gY("DndLiveRegion"),[u,h]=(0,$.useState)(!1);if((0,$.useEffect)(()=>{h(!0)},[]),r=(0,$.useMemo)(()=>({onDragStart(e){let{active:r}=e;l(i.onDragStart({active:r}))},onDragMove(e){let{active:r,over:s}=e;i.onDragMove&&l(i.onDragMove({active:r,over:s}))},onDragOver(e){let{active:r,over:s}=e;l(i.onDragOver({active:r,over:s}))},onDragEnd(e){let{active:r,over:s}=e;l(i.onDragEnd({active:r,over:s}))},onDragCancel(e){let{active:r,over:s}=e;l(i.onDragCancel({active:r,over:s}))}}),[l,i]),s=(0,$.useContext)(g4),(0,$.useEffect)(()=>{if(!s)throw Error("useDndMonitor must be used within a children of <DndContext>");return s(r)},[r,s]),!u)return null;let f=$.default.createElement($.default.Fragment,null,$.default.createElement(g5,{id:o,value:a.draggable}),$.default.createElement(g3,{id:d,announcement:c}));return n?(0,ee.createPortal)(f,n):f}function g9(){}function xe(e,r){return(0,$.useMemo)(()=>({sensor:e,options:null!=r?r:{}}),[e,r])}(_=D||(D={})).DragStart="dragStart",_.DragMove="dragMove",_.DragEnd="dragEnd",_.DragCancel="dragCancel",_.DragOver="dragOver",_.RegisterDroppable="registerDroppable",_.SetDroppableDisabled="setDroppableDisabled",_.UnregisterDroppable="unregisterDroppable";let xt=Object.freeze({x:0,y:0});function xr(e,r){return Math.sqrt(Math.pow(e.x-r.x,2)+Math.pow(e.y-r.y,2))}function xs(e,r){let{data:{value:s}}=e,{data:{value:i}}=r;return s-i}function xi(e,r){let{data:{value:s}}=e,{data:{value:i}}=r;return i-s}function xn(e){let{left:r,top:s,height:i,width:n}=e;return[{x:r,y:s},{x:r+n,y:s},{x:r,y:s+i},{x:r+n,y:s+i}]}function xo(e,r){if(!e||0===e.length)return null;let[s]=e;return r?s[r]:s}function xa(e,r,s){return void 0===r&&(r=e.left),void 0===s&&(s=e.top),{x:r+.5*e.width,y:s+.5*e.height}}let xl=e=>{let{collisionRect:r,droppableRects:s,droppableContainers:i}=e,n=[];for(let e of i){let{id:i}=e,o=s.get(i);if(o){let s=function(e,r){let s=Math.max(r.top,e.top),i=Math.max(r.left,e.left),n=Math.min(r.left+r.width,e.left+e.width),o=Math.min(r.top+r.height,e.top+e.height);if(i<n&&s<o){let a=r.width*r.height,l=e.width*e.height,c=(n-i)*(o-s);return Number((c/(a+l-c)).toFixed(4))}return 0}(o,r);s>0&&n.push({id:i,data:{droppableContainer:e,value:s}})}}return n.sort(xi)};function xc(e,r){return e&&r?{x:e.left-r.left,y:e.top-r.top}:xt}let xd=function(e){for(var r=arguments.length,s=Array(r>1?r-1:0),i=1;i<r;i++)s[i-1]=arguments[i];return s.reduce((e,r)=>({...e,top:e.top+ +r.y,bottom:e.bottom+ +r.y,left:e.left+ +r.x,right:e.right+ +r.x}),{...e})},xu={ignoreTransform:!1};function xh(e,r){void 0===r&&(r=xu);let s=e.getBoundingClientRect();if(r.ignoreTransform){let{transform:r,transformOrigin:i}=gB(e).getComputedStyle(e);r&&(s=function(e,r,s){let i=function(e){if(e.startsWith("matrix3d(")){let r=e.slice(9,-1).split(/, /);return{x:+r[12],y:+r[13],scaleX:+r[0],scaleY:+r[5]}}if(e.startsWith("matrix(")){let r=e.slice(7,-1).split(/, /);return{x:+r[4],y:+r[5],scaleX:+r[0],scaleY:+r[3]}}return null}(r);if(!i)return e;let{scaleX:n,scaleY:o,x:a,y:l}=i,c=e.left-a-(1-n)*parseFloat(s),d=e.top-l-(1-o)*parseFloat(s.slice(s.indexOf(" ")+1)),u=n?e.width/n:e.width,h=o?e.height/o:e.height;return{width:u,height:h,top:d,right:c+u,bottom:d+h,left:c}}(s,r,i))}let{top:i,left:n,width:o,height:a,bottom:l,right:c}=s;return{top:i,left:n,width:o,height:a,bottom:l,right:c}}function xf(e){return xh(e,{ignoreTransform:!0})}function xp(e,r){let s=[];return e?function i(n){var o,a;let l;if(null!=r&&s.length>=r||!n)return s;if(gL(n)&&null!=n.scrollingElement&&!s.includes(n.scrollingElement))return s.push(n.scrollingElement),s;if(!gI(n)||gO(n)||s.includes(n))return s;let c=gB(e).getComputedStyle(n);return(n!==e&&(void 0===(o=c)&&(o=gB(n).getComputedStyle(n)),l=/(auto|scroll|overlay)/,["overflow","overflowX","overflowY"].some(e=>{let r=o[e];return"string"==typeof r&&l.test(r)}))&&s.push(n),void 0===(a=c)&&(a=gB(n).getComputedStyle(n)),"fixed"===a.position)?s:i(n.parentNode)}(e):s}function xm(e){let[r]=xp(e,1);return null!=r?r:null}function xg(e){return gM&&e?gT(e)?e:gP(e)?gL(e)||e===gz(e).scrollingElement?window:gI(e)?e:null:null:null}function xx(e){return gT(e)?e.scrollX:e.scrollLeft}function xv(e){return gT(e)?e.scrollY:e.scrollTop}function x_(e){return{x:xx(e),y:xv(e)}}function xy(e){return!!gM&&!!e&&e===document.scrollingElement}function xb(e){let r={x:0,y:0},s=xy(e)?{height:window.innerHeight,width:window.innerWidth}:{height:e.clientHeight,width:e.clientWidth},i={x:e.scrollWidth-s.width,y:e.scrollHeight-s.height},n=e.scrollTop<=r.y,o=e.scrollLeft<=r.x;return{isTop:n,isLeft:o,isBottom:e.scrollTop>=i.y,isRight:e.scrollLeft>=i.x,maxScroll:i,minScroll:r}}(y=E||(E={}))[y.Forward=1]="Forward",y[y.Backward=-1]="Backward";let xw={x:.2,y:.2};function xS(e){return e.reduce((e,r)=>gX(e,x_(r)),xt)}let xC=[["x",["left","right"],function(e){return e.reduce((e,r)=>e+xx(r),0)}],["y",["top","bottom"],function(e){return e.reduce((e,r)=>e+xv(r),0)}]];class xj{constructor(e,r){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const s=xp(r),i=xS(s);for(const[r,n,o]of(this.rect={...e},this.width=e.width,this.height=e.height,xC))for(const e of n)Object.defineProperty(this,e,{get:()=>{let n=o(s),a=i[r]-n;return this.rect[e]+a},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class xk{constructor(e){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(e=>{var r;return null==(r=this.target)?void 0:r.removeEventListener(...e)})},this.target=e}add(e,r,s){var i;null==(i=this.target)||i.addEventListener(e,r,s),this.listeners.push([e,r,s])}}function xN(e,r){let s=Math.abs(e.x),i=Math.abs(e.y);return"number"==typeof r?Math.sqrt(s**2+i**2)>r:"x"in r&&"y"in r?s>r.x&&i>r.y:"x"in r?s>r.x:"y"in r&&i>r.y}function xD(e){e.preventDefault()}function xE(e){e.stopPropagation()}(b=R||(R={})).Click="click",b.DragStart="dragstart",b.Keydown="keydown",b.ContextMenu="contextmenu",b.Resize="resize",b.SelectionChange="selectionchange",b.VisibilityChange="visibilitychange",(w=A||(A={})).Space="Space",w.Down="ArrowDown",w.Right="ArrowRight",w.Left="ArrowLeft",w.Up="ArrowUp",w.Esc="Escape",w.Enter="Enter",w.Tab="Tab";let xR={start:[A.Space,A.Enter],cancel:[A.Esc],end:[A.Space,A.Enter,A.Tab]},xA=(e,r)=>{let{currentCoordinates:s}=r;switch(e.code){case A.Right:return{...s,x:s.x+25};case A.Left:return{...s,x:s.x-25};case A.Down:return{...s,y:s.y+25};case A.Up:return{...s,y:s.y-25}}};class xF{constructor(e){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=e;const{event:{target:r}}=e;this.props=e,this.listeners=new xk(gz(r)),this.windowListeners=new xk(gB(r)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(R.Resize,this.handleCancel),this.windowListeners.add(R.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(R.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:e,onStart:r}=this.props,s=e.node.current;s&&function(e,r){if(void 0===r&&(r=xh),!e)return;let{top:s,left:i,bottom:n,right:o}=r(e);xm(e)&&(n<=0||o<=0||s>=window.innerHeight||i>=window.innerWidth)&&e.scrollIntoView({block:"center",inline:"center"})}(s),r(xt)}handleKeyDown(e){if(gZ(e)){let{active:r,context:s,options:i}=this.props,{keyboardCodes:n=xR,coordinateGetter:o=xA,scrollBehavior:a="smooth"}=i,{code:l}=e;if(n.end.includes(l))return void this.handleEnd(e);if(n.cancel.includes(l))return void this.handleCancel(e);let{collisionRect:c}=s.current,d=c?{x:c.left,y:c.top}:xt;this.referenceCoordinates||(this.referenceCoordinates=d);let u=o(e,{active:r,context:s.current,currentCoordinates:d});if(u){let r=gJ(u,d),i={x:0,y:0},{scrollableAncestors:n}=s.current;for(let s of n){let n=e.code,{isTop:o,isRight:l,isLeft:c,isBottom:d,maxScroll:h,minScroll:f}=xb(s),p=function(e){if(e===document.scrollingElement){let{innerWidth:e,innerHeight:r}=window;return{top:0,left:0,right:e,bottom:r,width:e,height:r}}let{top:r,left:s,right:i,bottom:n}=e.getBoundingClientRect();return{top:r,left:s,right:i,bottom:n,width:e.clientWidth,height:e.clientHeight}}(s),m={x:Math.min(n===A.Right?p.right-p.width/2:p.right,Math.max(n===A.Right?p.left:p.left+p.width/2,u.x)),y:Math.min(n===A.Down?p.bottom-p.height/2:p.bottom,Math.max(n===A.Down?p.top:p.top+p.height/2,u.y))},g=n===A.Right&&!l||n===A.Left&&!c,x=n===A.Down&&!d||n===A.Up&&!o;if(g&&m.x!==u.x){let e=s.scrollLeft+r.x,o=n===A.Right&&e<=h.x||n===A.Left&&e>=f.x;if(o&&!r.y)return void s.scrollTo({left:e,behavior:a});o?i.x=s.scrollLeft-e:i.x=n===A.Right?s.scrollLeft-h.x:s.scrollLeft-f.x,i.x&&s.scrollBy({left:-i.x,behavior:a});break}if(x&&m.y!==u.y){let e=s.scrollTop+r.y,o=n===A.Down&&e<=h.y||n===A.Up&&e>=f.y;if(o&&!r.x)return void s.scrollTo({top:e,behavior:a});o?i.y=s.scrollTop-e:i.y=n===A.Down?s.scrollTop-h.y:s.scrollTop-f.y,i.y&&s.scrollBy({top:-i.y,behavior:a});break}}this.handleMove(e,gX(gJ(u,this.referenceCoordinates),i))}}}handleMove(e,r){let{onMove:s}=this.props;e.preventDefault(),s(r)}handleEnd(e){let{onEnd:r}=this.props;e.preventDefault(),this.detach(),r()}handleCancel(e){let{onCancel:r}=this.props;e.preventDefault(),this.detach(),r()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function xM(e){return!!(e&&"distance"in e)}function xT(e){return!!(e&&"delay"in e)}xF.activators=[{eventName:"onKeyDown",handler:(e,r,s)=>{let{keyboardCodes:i=xR,onActivation:n}=r,{active:o}=s,{code:a}=e.nativeEvent;if(i.start.includes(a)){let r=o.activatorNode.current;return(!r||e.target===r)&&(e.preventDefault(),null==n||n({event:e.nativeEvent}),!0)}return!1}}];class xP{constructor(e,r,s){var i;void 0===s&&(s=function(e){let{EventTarget:r}=gB(e);return e instanceof r?e:gz(e)}(e.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=e,this.events=r;const{event:n}=e,{target:o}=n;this.props=e,this.events=r,this.document=gz(o),this.documentListeners=new xk(this.document),this.listeners=new xk(s),this.windowListeners=new xk(gB(o)),this.initialCoordinates=null!=(i=gQ(n))?i:xt,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:e,props:{options:{activationConstraint:r,bypassActivationConstraint:s}}}=this;if(this.listeners.add(e.move.name,this.handleMove,{passive:!1}),this.listeners.add(e.end.name,this.handleEnd),e.cancel&&this.listeners.add(e.cancel.name,this.handleCancel),this.windowListeners.add(R.Resize,this.handleCancel),this.windowListeners.add(R.DragStart,xD),this.windowListeners.add(R.VisibilityChange,this.handleCancel),this.windowListeners.add(R.ContextMenu,xD),this.documentListeners.add(R.Keydown,this.handleKeydown),r){if(null!=s&&s({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(xT(r)){this.timeoutId=setTimeout(this.handleStart,r.delay),this.handlePending(r);return}if(xM(r))return void this.handlePending(r)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(e,r){let{active:s,onPending:i}=this.props;i(s,e,this.initialCoordinates,r)}handleStart(){let{initialCoordinates:e}=this,{onStart:r}=this.props;e&&(this.activated=!0,this.documentListeners.add(R.Click,xE,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(R.SelectionChange,this.removeTextSelection),r(e))}handleMove(e){var r;let{activated:s,initialCoordinates:i,props:n}=this,{onMove:o,options:{activationConstraint:a}}=n;if(!i)return;let l=null!=(r=gQ(e))?r:xt,c=gJ(i,l);if(!s&&a){if(xM(a)){if(null!=a.tolerance&&xN(c,a.tolerance))return this.handleCancel();if(xN(c,a.distance))return this.handleStart()}return xT(a)&&xN(c,a.tolerance)?this.handleCancel():void this.handlePending(a,c)}e.cancelable&&e.preventDefault(),o(l)}handleEnd(){let{onAbort:e,onEnd:r}=this.props;this.detach(),this.activated||e(this.props.active),r()}handleCancel(){let{onAbort:e,onCancel:r}=this.props;this.detach(),this.activated||e(this.props.active),r()}handleKeydown(e){e.code===A.Esc&&this.handleCancel()}removeTextSelection(){var e;null==(e=this.document.getSelection())||e.removeAllRanges()}}let xB={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class xL extends xP{constructor(e){const{event:r}=e;super(e,xB,gz(r.target))}}xL.activators=[{eventName:"onPointerDown",handler:(e,r)=>{let{nativeEvent:s}=e,{onActivation:i}=r;return!!s.isPrimary&&0===s.button&&(null==i||i({event:s}),!0)}}];(S=F||(F={}))[S.RightClick=2]="RightClick";(C=M||(M={}))[C.Pointer=0]="Pointer",C[C.DraggableRect=1]="DraggableRect",(j=T||(T={}))[j.TreeOrder=0]="TreeOrder",j[j.ReversedTreeOrder=1]="ReversedTreeOrder";let xI={x:{[E.Backward]:!1,[E.Forward]:!1},y:{[E.Backward]:!1,[E.Forward]:!1}};(k=P||(P={}))[k.Always=0]="Always",k[k.BeforeDragging=1]="BeforeDragging",k[k.WhileDragging=2]="WhileDragging",(B||(B={})).Optimized="optimized";let xO=new Map;function xz(e,r){return gU(s=>e?s||("function"==typeof r?r(e):e):null,[r,e])}function x$(e){let{callback:r,disabled:s}=e,i=gW(r),n=(0,$.useMemo)(()=>{if(s||"undefined"==typeof window||void 0===window.ResizeObserver)return;let{ResizeObserver:e}=window;return new e(i)},[s]);return(0,$.useEffect)(()=>()=>null==n?void 0:n.disconnect(),[n]),n}function xW(e){return new xj(xh(e),e)}function xH(e,r,s){void 0===r&&(r=xW);let[i,n]=(0,$.useState)(null);function o(){n(i=>{if(!e)return null;if(!1===e.isConnected){var n;return null!=(n=null!=i?i:s)?n:null}let o=r(e);return JSON.stringify(i)===JSON.stringify(o)?i:o})}let a=function(e){let{callback:r,disabled:s}=e,i=gW(r),n=(0,$.useMemo)(()=>{if(s||"undefined"==typeof window||void 0===window.MutationObserver)return;let{MutationObserver:e}=window;return new e(i)},[i,s]);return(0,$.useEffect)(()=>()=>null==n?void 0:n.disconnect(),[n]),n}({callback(r){if(e)for(let s of r){let{type:r,target:i}=s;if("childList"===r&&i instanceof HTMLElement&&i.contains(e)){o();break}}}}),l=x$({callback:o});return g$(()=>{o(),e?(null==l||l.observe(e),null==a||a.observe(document.body,{childList:!0,subtree:!0})):(null==l||l.disconnect(),null==a||a.disconnect())},[e]),i}let xU=[];function xK(e,r){void 0===r&&(r=[]);let s=(0,$.useRef)(null);return(0,$.useEffect)(()=>{s.current=null},r),(0,$.useEffect)(()=>{let r=e!==xt;r&&!s.current&&(s.current=e),!r&&s.current&&(s.current=null)},[e]),s.current?gJ(e,s.current):xt}function xq(e){return(0,$.useMemo)(()=>{let r,s;return e?(r=e.innerWidth,{top:0,left:0,right:r,bottom:s=e.innerHeight,width:r,height:s}):null},[e])}let xV=[],xY=[{sensor:xL,options:{}},{sensor:xF,options:{}}],xG={current:{}},xX={draggable:{measure:xf},droppable:{measure:xf,strategy:P.WhileDragging,frequency:B.Optimized},dragOverlay:{measure:xh}};class xJ extends Map{get(e){var r;return null!=e&&null!=(r=super.get(e))?r:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(e=>{let{disabled:r}=e;return!r})}getNodeFor(e){var r,s;return null!=(r=null==(s=this.get(e))?void 0:s.node.current)?r:void 0}}let xZ={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new xJ,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:g9},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:xX,measureDroppableContainers:g9,windowRect:null,measuringScheduled:!1},xQ={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:g9,draggableNodes:new Map,over:null,measureDroppableContainers:g9},x0=(0,$.createContext)(xQ),x1=(0,$.createContext)(xZ);function x2(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new xJ}}}function x5(e,r){switch(r.type){case D.DragStart:return{...e,draggable:{...e.draggable,initialCoordinates:r.initialCoordinates,active:r.active}};case D.DragMove:if(null==e.draggable.active)return e;return{...e,draggable:{...e.draggable,translate:{x:r.coordinates.x-e.draggable.initialCoordinates.x,y:r.coordinates.y-e.draggable.initialCoordinates.y}}};case D.DragEnd:case D.DragCancel:return{...e,draggable:{...e.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case D.RegisterDroppable:{let{element:s}=r,{id:i}=s,n=new xJ(e.droppable.containers);return n.set(i,s),{...e,droppable:{...e.droppable,containers:n}}}case D.SetDroppableDisabled:{let{id:s,key:i,disabled:n}=r,o=e.droppable.containers.get(s);if(!o||i!==o.key)return e;let a=new xJ(e.droppable.containers);return a.set(s,{...o,disabled:n}),{...e,droppable:{...e.droppable,containers:a}}}case D.UnregisterDroppable:{let{id:s,key:i}=r,n=e.droppable.containers.get(s);if(!n||i!==n.key)return e;let o=new xJ(e.droppable.containers);return o.delete(s),{...e,droppable:{...e.droppable,containers:o}}}default:return e}}function x3(e){let{disabled:r}=e,{active:s,activatorEvent:i,draggableNodes:n}=(0,$.useContext)(x0),o=gq(i),a=gq(null==s?void 0:s.id);return(0,$.useEffect)(()=>{if(!r&&!i&&o&&null!=a){if(!gZ(o)||document.activeElement===o.target)return;let e=n.get(a);if(!e)return;let{activatorNode:r,node:s}=e;(r.current||s.current)&&requestAnimationFrame(()=>{for(let e of[r.current,s.current]){if(!e)continue;let r=e.matches(g1)?e:e.querySelector(g1);if(r){r.focus();break}}})}},[i,r,n,a,o]),null}let x4=(0,$.createContext)({...xt,scaleX:1,scaleY:1});(N=L||(L={}))[N.Uninitialized=0]="Uninitialized",N[N.Initializing=1]="Initializing",N[N.Initialized=2]="Initialized";let x6=(0,$.memo)(function(e){var r,s,i,n,o,a,l,c;let d,u,h,f,p,m,g,x,{id:v,accessibility:_,autoScroll:y=!0,children:b,sensors:w=xY,collisionDetection:S=xl,measuring:C,modifiers:j,...k}=e,[N,R]=(0,$.useReducer)(x5,void 0,x2),[A,F]=function(){let[e]=(0,$.useState)(()=>new Set),r=(0,$.useCallback)(r=>(e.add(r),()=>e.delete(r)),[e]);return[(0,$.useCallback)(r=>{let{type:s,event:i}=r;e.forEach(e=>{var r;return null==(r=e[s])?void 0:r.call(e,i)})},[e]),r]}(),[B,I]=(0,$.useState)(L.Uninitialized),O=B===L.Initialized,{draggable:{active:z,nodes:W,translate:H},droppable:{containers:U}}=N,K=null!=z?W.get(z):null,q=(0,$.useRef)({initial:null,translated:null}),V=(0,$.useMemo)(()=>{var e;return null!=z?{id:z,data:null!=(e=null==K?void 0:K.data)?e:xG,rect:q}:null},[z,K]),Y=(0,$.useRef)(null),[G,X]=(0,$.useState)(null),[J,Z]=(0,$.useState)(null),Q=gH(k,Object.values(k)),et=gY("DndDescribedBy",v),er=(0,$.useMemo)(()=>U.getEnabled(),[U]),es=(0,$.useMemo)(()=>({draggable:{...xX.draggable,...null==C?void 0:C.draggable},droppable:{...xX.droppable,...null==C?void 0:C.droppable},dragOverlay:{...xX.dragOverlay,...null==C?void 0:C.dragOverlay}}),[null==C?void 0:C.draggable,null==C?void 0:C.droppable,null==C?void 0:C.dragOverlay]),{droppableRects:ei,measureDroppableContainers:en,measuringScheduled:eo}=function(e,r){let{dragging:s,dependencies:i,config:n}=r,[o,a]=(0,$.useState)(null),{frequency:l,measure:c,strategy:d}=n,u=(0,$.useRef)(e),h=function(){switch(d){case P.Always:return!1;case P.BeforeDragging:return s;default:return!s}}(),f=gH(h),p=(0,$.useCallback)(function(e){void 0===e&&(e=[]),f.current||a(r=>null===r?e:r.concat(e.filter(e=>!r.includes(e))))},[f]),m=(0,$.useRef)(null),g=gU(r=>{if(h&&!s)return xO;if(!r||r===xO||u.current!==e||null!=o){let r=new Map;for(let s of e){if(!s)continue;if(o&&o.length>0&&!o.includes(s.id)&&s.rect.current){r.set(s.id,s.rect.current);continue}let e=s.node.current,i=e?new xj(c(e),e):null;s.rect.current=i,i&&r.set(s.id,i)}return r}return r},[e,o,s,h,c]);return(0,$.useEffect)(()=>{u.current=e},[e]),(0,$.useEffect)(()=>{h||p()},[s,h]),(0,$.useEffect)(()=>{o&&o.length>0&&a(null)},[JSON.stringify(o)]),(0,$.useEffect)(()=>{h||"number"!=typeof l||null!==m.current||(m.current=setTimeout(()=>{p(),m.current=null},l))},[l,h,p,...i]),{droppableRects:g,measureDroppableContainers:p,measuringScheduled:null!=o}}(er,{dragging:O,dependencies:[H.x,H.y],config:es.droppable}),ea=gU(e=>{var r;return null==z?null:null!=(r=null!=p?p:e)?r:null},[p=(f=null!=z?W.get(z):void 0)?f.node.current:null,z]),el=(0,$.useMemo)(()=>J?gQ(J):null,[J]),ec=(d=(null==G?void 0:G.autoScrollEnabled)===!1,u="object"==typeof y?!1===y.enabled:!1===y,h=O&&!d&&!u,"object"==typeof y?{...y,enabled:h}:{enabled:h}),ed=xz(ea,es.draggable.measure);!function(e){let{activeNode:r,measure:s,initialRect:i,config:n=!0}=e,o=(0,$.useRef)(!1),{x:a,y:l}="boolean"==typeof n?{x:n,y:n}:n;g$(()=>{if(!a&&!l||!r){o.current=!1;return}if(o.current||!i)return;let e=null==r?void 0:r.node.current;if(!e||!1===e.isConnected)return;let n=xc(s(e),i);if(a||(n.x=0),l||(n.y=0),o.current=!0,Math.abs(n.x)>0||Math.abs(n.y)>0){let r=xm(e);r&&r.scrollBy({top:n.y,left:n.x})}},[r,a,l,i,s])}({activeNode:null!=z?W.get(z):null,config:ec.layoutShiftCompensation,initialRect:ed,measure:es.draggable.measure});let eu=xH(ea,es.draggable.measure,ed),eh=xH(ea?ea.parentElement:null),ef=(0,$.useRef)({activatorEvent:null,active:null,activeNode:ea,collisionRect:null,collisions:null,droppableRects:ei,draggableNodes:W,draggingNode:null,draggingNodeRect:null,droppableContainers:U,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),ep=U.getNodeFor(null==(r=ef.current.over)?void 0:r.id),em=function(e){let{measure:r}=e,[s,i]=(0,$.useState)(null),n=x$({callback:(0,$.useCallback)(e=>{for(let{target:s}of e)if(gI(s)){i(e=>{let i=r(s);return e?{...e,width:i.width,height:i.height}:i});break}},[r])}),[o,a]=gK((0,$.useCallback)(e=>{let s=function(e){if(!e)return null;if(e.children.length>1)return e;let r=e.children[0];return gI(r)?r:e}(e);null==n||n.disconnect(),s&&(null==n||n.observe(s)),i(s?r(s):null)},[r,n]));return(0,$.useMemo)(()=>({nodeRef:o,rect:s,setRef:a}),[s,o,a])}({measure:es.dragOverlay.measure}),eg=null!=(s=em.nodeRef.current)?s:ea,ex=O?null!=(i=em.rect)?i:eu:null,ev=!!(em.nodeRef.current&&em.rect),e_=(m=xz(o=ev?null:eu),xc(o,m)),ey=xq(eg?gB(eg):null),eb=(a=O?null!=ep?ep:ea:null,g=(0,$.useRef)(a),x=gU(e=>a?e&&e!==xU&&a&&g.current&&a.parentNode===g.current.parentNode?e:xp(a):xU,[a]),(0,$.useEffect)(()=>{g.current=a},[a]),x),ew=function(e,r){void 0===r&&(r=xh);let[s]=e,i=xq(s?gB(s):null),[n,o]=(0,$.useState)(xV);function a(){o(()=>e.length?e.map(e=>xy(e)?i:new xj(r(e),e)):xV)}let l=x$({callback:a});return g$(()=>{null==l||l.disconnect(),a(),e.forEach(e=>null==l?void 0:l.observe(e))},[e]),n}(eb),eS=function(e,r){let{transform:s,...i}=r;return null!=e&&e.length?e.reduce((e,r)=>r({transform:e,...i}),s):s}(j,{transform:{x:H.x-e_.x,y:H.y-e_.y,scaleX:1,scaleY:1},activatorEvent:J,active:V,activeNodeRect:eu,containerNodeRect:eh,draggingNodeRect:ex,over:ef.current.over,overlayNodeRect:em.rect,scrollableAncestors:eb,scrollableAncestorRects:ew,windowRect:ey}),eC=el?gX(el,H):null,ej=function(e){let[r,s]=(0,$.useState)(null),i=(0,$.useRef)(e),n=(0,$.useCallback)(e=>{let r=xg(e.target);r&&s(e=>e?(e.set(r,x_(r)),new Map(e)):null)},[]);return(0,$.useEffect)(()=>{let r=i.current;if(e!==r){o(r);let a=e.map(e=>{let r=xg(e);return r?(r.addEventListener("scroll",n,{passive:!0}),[r,x_(r)]):null}).filter(e=>null!=e);s(a.length?new Map(a):null),i.current=e}return()=>{o(e),o(r)};function o(e){e.forEach(e=>{let r=xg(e);null==r||r.removeEventListener("scroll",n)})}},[n,e]),(0,$.useMemo)(()=>e.length?r?Array.from(r.values()).reduce((e,r)=>gX(e,r),xt):xS(e):xt,[e,r])}(eb),ek=xK(ej),eN=xK(ej,[eu]),eD=gX(eS,ek),eE=ex?xd(ex,eS):null,eR=V&&eE?S({active:V,collisionRect:eE,droppableRects:ei,droppableContainers:er,pointerCoordinates:eC}):null,eA=xo(eR,"id"),[eF,eM]=(0,$.useState)(null),eT=(l=ev?eS:gX(eS,eN),c=null!=(n=null==eF?void 0:eF.rect)?n:null,{...l,scaleX:c&&eu?c.width/eu.width:1,scaleY:c&&eu?c.height/eu.height:1}),eP=(0,$.useRef)(null),eB=(0,$.useCallback)((e,r)=>{let{sensor:s,options:i}=r;if(null==Y.current)return;let n=W.get(Y.current);if(!n)return;let o=e.nativeEvent,a=new s({active:Y.current,activeNode:n,event:o,options:i,context:ef,onAbort(e){if(!W.get(e))return;let{onDragAbort:r}=Q.current,s={id:e};null==r||r(s),A({type:"onDragAbort",event:s})},onPending(e,r,s,i){if(!W.get(e))return;let{onDragPending:n}=Q.current,o={id:e,constraint:r,initialCoordinates:s,offset:i};null==n||n(o),A({type:"onDragPending",event:o})},onStart(e){let r=Y.current;if(null==r)return;let s=W.get(r);if(!s)return;let{onDragStart:i}=Q.current,n={activatorEvent:o,active:{id:r,data:s.data,rect:q}};(0,ee.unstable_batchedUpdates)(()=>{null==i||i(n),I(L.Initializing),R({type:D.DragStart,initialCoordinates:e,active:r}),A({type:"onDragStart",event:n}),X(eP.current),Z(o)})},onMove(e){R({type:D.DragMove,coordinates:e})},onEnd:l(D.DragEnd),onCancel:l(D.DragCancel)});function l(e){return async function(){let{active:r,collisions:s,over:i,scrollAdjustedTranslate:n}=ef.current,a=null;if(r&&n){let{cancelDrop:l}=Q.current;a={activatorEvent:o,active:r,collisions:s,delta:n,over:i},e===D.DragEnd&&"function"==typeof l&&await Promise.resolve(l(a))&&(e=D.DragCancel)}Y.current=null,(0,ee.unstable_batchedUpdates)(()=>{R({type:e}),I(L.Uninitialized),eM(null),X(null),Z(null),eP.current=null;let r=e===D.DragEnd?"onDragEnd":"onDragCancel";if(a){let e=Q.current[r];null==e||e(a),A({type:r,event:a})}})}}eP.current=a},[W]),eL=(0,$.useCallback)((e,r)=>(s,i)=>{let n=s.nativeEvent,o=W.get(i);null!==Y.current||!o||n.dndKit||n.defaultPrevented||!0===e(s,r.options,{active:o})&&(n.dndKit={capturedBy:r.sensor},Y.current=i,eB(s,r))},[W,eB]),eI=(0,$.useMemo)(()=>w.reduce((e,r)=>{let{sensor:s}=r;return[...e,...s.activators.map(e=>({eventName:e.eventName,handler:eL(e.handler,r)}))]},[]),[w,eL]);(0,$.useEffect)(()=>{if(!gM)return;let e=w.map(e=>{let{sensor:r}=e;return null==r.setup?void 0:r.setup()});return()=>{for(let r of e)null==r||r()}},w.map(e=>{let{sensor:r}=e;return r})),g$(()=>{eu&&B===L.Initializing&&I(L.Initialized)},[eu,B]),(0,$.useEffect)(()=>{let{onDragMove:e}=Q.current,{active:r,activatorEvent:s,collisions:i,over:n}=ef.current;if(!r||!s)return;let o={active:r,activatorEvent:s,collisions:i,delta:{x:eD.x,y:eD.y},over:n};(0,ee.unstable_batchedUpdates)(()=>{null==e||e(o),A({type:"onDragMove",event:o})})},[eD.x,eD.y]),(0,$.useEffect)(()=>{let{active:e,activatorEvent:r,collisions:s,droppableContainers:i,scrollAdjustedTranslate:n}=ef.current;if(!e||null==Y.current||!r||!n)return;let{onDragOver:o}=Q.current,a=i.get(eA),l=a&&a.rect.current?{id:a.id,rect:a.rect.current,data:a.data,disabled:a.disabled}:null,c={active:e,activatorEvent:r,collisions:s,delta:{x:n.x,y:n.y},over:l};(0,ee.unstable_batchedUpdates)(()=>{eM(l),null==o||o(c),A({type:"onDragOver",event:c})})},[eA]),g$(()=>{ef.current={activatorEvent:J,active:V,activeNode:ea,collisionRect:eE,collisions:eR,droppableRects:ei,draggableNodes:W,draggingNode:eg,draggingNodeRect:ex,droppableContainers:U,over:eF,scrollableAncestors:eb,scrollAdjustedTranslate:eD},q.current={initial:ex,translated:eE}},[V,ea,eR,eE,W,eg,ex,ei,U,eF,eb,eD]),function(e){let r,{acceleration:s,activator:i=M.Pointer,canScroll:n,draggingRect:o,enabled:a,interval:l=5,order:c=T.TreeOrder,pointerCoordinates:d,scrollableAncestors:u,scrollableAncestorRects:h,delta:f,threshold:p}=e,m=function(e){let{delta:r,disabled:s}=e,i=gq(r);return gU(e=>{if(s||!i||!e)return xI;let n={x:Math.sign(r.x-i.x),y:Math.sign(r.y-i.y)};return{x:{[E.Backward]:e.x[E.Backward]||-1===n.x,[E.Forward]:e.x[E.Forward]||1===n.x},y:{[E.Backward]:e.y[E.Backward]||-1===n.y,[E.Forward]:e.y[E.Forward]||1===n.y}}},[s,r,i])}({delta:f,disabled:!a}),[g,x]=(r=(0,$.useRef)(null),[(0,$.useCallback)((e,s)=>{r.current=setInterval(e,s)},[]),(0,$.useCallback)(()=>{null!==r.current&&(clearInterval(r.current),r.current=null)},[])]),v=(0,$.useRef)({x:0,y:0}),_=(0,$.useRef)({x:0,y:0}),y=(0,$.useMemo)(()=>{switch(i){case M.Pointer:return d?{top:d.y,bottom:d.y,left:d.x,right:d.x}:null;case M.DraggableRect:return o}},[i,o,d]),b=(0,$.useRef)(null),w=(0,$.useCallback)(()=>{let e=b.current;if(!e)return;let r=v.current.x*_.current.x,s=v.current.y*_.current.y;e.scrollBy(r,s)},[]),S=(0,$.useMemo)(()=>c===T.TreeOrder?[...u].reverse():u,[c,u]);(0,$.useEffect)(()=>{if(!a||!u.length||!y)return void x();for(let e of S){if((null==n?void 0:n(e))===!1)continue;let r=h[u.indexOf(e)];if(!r)continue;let{direction:i,speed:o}=function(e,r,s,i,n){let{top:o,left:a,right:l,bottom:c}=s;void 0===i&&(i=10),void 0===n&&(n=xw);let{isTop:d,isBottom:u,isLeft:h,isRight:f}=xb(e),p={x:0,y:0},m={x:0,y:0},g={height:r.height*n.y,width:r.width*n.x};return!d&&o<=r.top+g.height?(p.y=E.Backward,m.y=i*Math.abs((r.top+g.height-o)/g.height)):!u&&c>=r.bottom-g.height&&(p.y=E.Forward,m.y=i*Math.abs((r.bottom-g.height-c)/g.height)),!f&&l>=r.right-g.width?(p.x=E.Forward,m.x=i*Math.abs((r.right-g.width-l)/g.width)):!h&&a<=r.left+g.width&&(p.x=E.Backward,m.x=i*Math.abs((r.left+g.width-a)/g.width)),{direction:p,speed:m}}(e,r,y,s,p);for(let e of["x","y"])m[e][i[e]]||(o[e]=0,i[e]=0);if(o.x>0||o.y>0){x(),b.current=e,g(w,l),v.current=o,_.current=i;return}}v.current={x:0,y:0},_.current={x:0,y:0},x()},[s,w,n,x,a,l,JSON.stringify(y),JSON.stringify(m),g,u,S,h,JSON.stringify(p)])}({...ec,delta:H,draggingRect:eE,pointerCoordinates:eC,scrollableAncestors:eb,scrollableAncestorRects:ew});let eO=(0,$.useMemo)(()=>({active:V,activeNode:ea,activeNodeRect:eu,activatorEvent:J,collisions:eR,containerNodeRect:eh,dragOverlay:em,draggableNodes:W,droppableContainers:U,droppableRects:ei,over:eF,measureDroppableContainers:en,scrollableAncestors:eb,scrollableAncestorRects:ew,measuringConfiguration:es,measuringScheduled:eo,windowRect:ey}),[V,ea,eu,J,eR,eh,em,W,U,ei,eF,en,eb,ew,es,eo,ey]),ez=(0,$.useMemo)(()=>({activatorEvent:J,activators:eI,active:V,activeNodeRect:eu,ariaDescribedById:{draggable:et},dispatch:R,draggableNodes:W,over:eF,measureDroppableContainers:en}),[J,eI,V,eu,R,et,W,eF,en]);return $.default.createElement(g4.Provider,{value:F},$.default.createElement(x0.Provider,{value:ez},$.default.createElement(x1.Provider,{value:eO},$.default.createElement(x4.Provider,{value:eT},b)),$.default.createElement(x3,{disabled:(null==_?void 0:_.restoreFocus)===!1})),$.default.createElement(g7,{..._,hiddenTextDescribedById:et}))}),x8=(0,$.createContext)(null),x7="button",x9={timeout:25},ve={position:"fixed",touchAction:"none"},vt=e=>gZ(e)?"transform 250ms ease":void 0;function vr(e,r,s){let i=e.slice();return i.splice(s<0?i.length+s:s,0,i.splice(r,1)[0]),i}function vs(e){return null!==e&&e>=0}(e,r)=>{let{as:s,activatorEvent:i,adjustScale:n,children:o,className:a,rect:l,style:c,transform:d,transition:u=vt}=e;if(!l)return null;let h=n?d:{...d,scaleX:1,scaleY:1},f={...ve,width:l.width,height:l.height,top:l.top,left:l.left,transform:g0.Transform.toString(h),transformOrigin:n&&i?function(e,r){let s=gQ(e);if(!s)return"0 0";let i={x:(s.x-r.left)/r.width*100,y:(s.y-r.top)/r.height*100};return i.x+"% "+i.y+"%"}(i,l):void 0,transition:"function"==typeof u?u(i):u,...c};return $.default.createElement(s,{className:a,style:f,ref:r},o)},x={styles:{active:{opacity:"0"}}};let vi=e=>{let{rects:r,activeIndex:s,overIndex:i,index:n}=e,o=vr(r,i,s),a=r[n],l=o[n];return l&&a?{x:l.left-a.left,y:l.top-a.top,scaleX:l.width/a.width,scaleY:l.height/a.height}:null},vn={scaleX:1,scaleY:1},vo=e=>{var r,s,i,n;let o,a,l,{activeIndex:c,activeNodeRect:d,index:u,rects:h,overIndex:f}=e,p=null!=(r=h[c])?r:d;if(!p)return null;if(u===c){let e=h[f];return e?{x:0,y:c<f?e.top+e.height-(p.top+p.height):e.top-p.top,...vn}:null}let m=(s=h,i=u,n=c,o=s[i],a=s[i-1],l=s[i+1],o?n<i?a?o.top-(a.top+a.height):l?l.top-(o.top+o.height):0:l?l.top-(o.top+o.height):a?o.top-(a.top+a.height):0:0);return u>c&&u<=f?{x:0,y:-p.height-m,...vn}:u<c&&u>=f?{x:0,y:p.height+m,...vn}:{x:0,y:0,...vn}},va="Sortable",vl=$.default.createContext({activeIndex:-1,containerId:va,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:vi,disabled:{draggable:!1,droppable:!1}});function vc(e){let{children:r,id:s,items:i,strategy:n=vi,disabled:o=!1}=e,{active:a,dragOverlay:l,droppableRects:c,over:d,measureDroppableContainers:u}=(0,$.useContext)(x1),h=gY(va,s),f=null!==l.rect,p=(0,$.useMemo)(()=>i.map(e=>"object"==typeof e&&"id"in e?e.id:e),[i]),m=null!=a,g=a?p.indexOf(a.id):-1,x=d?p.indexOf(d.id):-1,v=(0,$.useRef)(p),_=!function(e,r){if(e===r)return!0;if(e.length!==r.length)return!1;for(let s=0;s<e.length;s++)if(e[s]!==r[s])return!1;return!0}(p,v.current),y=-1!==x&&-1===g||_,b="boolean"==typeof o?{draggable:o,droppable:o}:o;g$(()=>{_&&m&&u(p)},[_,p,m,u]),(0,$.useEffect)(()=>{v.current=p},[p]);let w=(0,$.useMemo)(()=>({activeIndex:g,containerId:h,disabled:b,disableTransforms:y,items:p,overIndex:x,useDragOverlay:f,sortedRects:p.reduce((e,r,s)=>{let i=c.get(r);return i&&(e[s]=i),e},Array(p.length)),strategy:n}),[g,h,b.draggable,b.droppable,y,p,x,c,f,n]);return $.default.createElement(vl.Provider,{value:w},r)}let vd=e=>{let{id:r,items:s,activeIndex:i,overIndex:n}=e;return vr(s,i,n).indexOf(r)},vu=e=>{let{containerId:r,isSorting:s,wasDragging:i,index:n,items:o,newIndex:a,previousItems:l,previousContainerId:c,transition:d}=e;return!!d&&!!i&&(l===o||n!==a)&&(!!s||a!==n&&r===c)},vh={duration:200,easing:"ease"},vf="transform",vp=g0.Transition.toString({property:vf,duration:0,easing:"linear"}),vm={roleDescription:"sortable"};function vg(e){if(!e)return!1;let r=e.data.current;return!!r&&"sortable"in r&&"object"==typeof r.sortable&&"containerId"in r.sortable&&"items"in r.sortable&&"index"in r.sortable}let vx=[A.Down,A.Right,A.Up,A.Left],vv=(e,r)=>{let{context:{active:s,collisionRect:i,droppableRects:n,droppableContainers:o,over:a,scrollableAncestors:l}}=r;if(vx.includes(e.code)){if(e.preventDefault(),!s||!i)return;let r=[];o.getEnabled().forEach(s=>{if(!s||null!=s&&s.disabled)return;let o=n.get(s.id);if(o)switch(e.code){case A.Down:i.top<o.top&&r.push(s);break;case A.Up:i.top>o.top&&r.push(s);break;case A.Left:i.left>o.left&&r.push(s);break;case A.Right:i.left<o.left&&r.push(s)}});let u=(e=>{let{collisionRect:r,droppableRects:s,droppableContainers:i}=e,n=xn(r),o=[];for(let e of i){let{id:r}=e,i=s.get(r);if(i){let s=xn(i),a=Number((n.reduce((e,r,i)=>e+xr(s[i],r),0)/4).toFixed(4));o.push({id:r,data:{droppableContainer:e,value:a}})}}return o.sort(xs)})({active:s,collisionRect:i,droppableRects:n,droppableContainers:r,pointerCoordinates:null}),h=xo(u,"id");if(h===(null==a?void 0:a.id)&&u.length>1&&(h=u[1].id),null!=h){let e=o.get(s.id),r=o.get(h),a=r?n.get(r.id):null,u=null==r?void 0:r.node.current;if(u&&a&&e&&r){var c,d;let s=xp(u).some((e,r)=>l[r]!==e),n=v_(e,r),o=(c=e,d=r,!!vg(c)&&!!vg(d)&&!!v_(c,d)&&c.data.current.sortable.index<d.data.current.sortable.index),h=s||!n?{x:0,y:0}:{x:o?i.width-a.width:0,y:o?i.height-a.height:0},f={x:a.left,y:a.top};return h.x&&h.y?f:gJ(f,h)}}}};function v_(e,r){return!!vg(e)&&!!vg(r)&&e.data.current.sortable.containerId===r.data.current.sortable.containerId}function vy({executor:e,executorMode:r,isOpen:s,onOpenChange:i,onStart:n,onStop:o,onUpdate:a,onDelete:l,onProcessFinished:c}){let d,u,h,f,p,m,g,[x,v]=(0,$.useState)(!1),[_,y]=(0,$.useState)(e.currentProcessId??e.lastProcessId),b=(0,$.useRef)(!1),w=(0,$.useRef)(e.currentProcessId),{attributes:S,listeners:C,setNodeRef:j,transform:k,transition:N,isDragging:E}=function(e){var r,s,i,n;let{animateLayoutChanges:o=vu,attributes:a,disabled:l,data:c,getNewIndex:d=vd,id:u,strategy:h,resizeObserverConfig:f,transition:p=vh}=e,{items:m,containerId:g,activeIndex:x,disabled:v,disableTransforms:_,sortedRects:y,overIndex:b,useDragOverlay:w,strategy:S}=(0,$.useContext)(vl),C=(r=l,s=v,"boolean"==typeof r?{draggable:r,droppable:!1}:{draggable:null!=(i=null==r?void 0:r.draggable)?i:s.draggable,droppable:null!=(n=null==r?void 0:r.droppable)?n:s.droppable}),j=m.indexOf(u),k=(0,$.useMemo)(()=>({sortable:{containerId:g,index:j,items:m},...c}),[g,c,j,m]),N=(0,$.useMemo)(()=>m.slice(m.indexOf(u)),[m,u]),{rect:E,node:R,isOver:A,setNodeRef:F}=function(e){let{data:r,disabled:s=!1,id:i,resizeObserverConfig:n}=e,o=gY("Droppable"),{active:a,dispatch:l,over:c,measureDroppableContainers:d}=(0,$.useContext)(x0),u=(0,$.useRef)({disabled:s}),h=(0,$.useRef)(!1),f=(0,$.useRef)(null),p=(0,$.useRef)(null),{disabled:m,updateMeasurementsFor:g,timeout:x}={...x9,...n},v=gH(null!=g?g:i),_=x$({callback:(0,$.useCallback)(()=>{if(!h.current){h.current=!0;return}null!=p.current&&clearTimeout(p.current),p.current=setTimeout(()=>{d(Array.isArray(v.current)?v.current:[v.current]),p.current=null},x)},[x]),disabled:m||!a}),[y,b]=gK((0,$.useCallback)((e,r)=>{_&&(r&&(_.unobserve(r),h.current=!1),e&&_.observe(e))},[_])),w=gH(r);return(0,$.useEffect)(()=>{_&&y.current&&(_.disconnect(),h.current=!1,_.observe(y.current))},[y,_]),(0,$.useEffect)(()=>(l({type:D.RegisterDroppable,element:{id:i,key:o,disabled:s,node:y,rect:f,data:w}}),()=>l({type:D.UnregisterDroppable,key:o,id:i})),[i]),(0,$.useEffect)(()=>{s!==u.current.disabled&&(l({type:D.SetDroppableDisabled,id:i,key:o,disabled:s}),u.current.disabled=s)},[i,o,s,l]),{active:a,rect:f,isOver:(null==c?void 0:c.id)===i,node:y,over:c,setNodeRef:b}}({id:u,data:k,disabled:C.droppable,resizeObserverConfig:{updateMeasurementsFor:N,...f}}),{active:M,activatorEvent:T,activeNodeRect:P,attributes:B,setNodeRef:L,listeners:I,isDragging:O,over:z,setActivatorNodeRef:W,transform:H}=function(e){let{id:r,data:s,disabled:i=!1,attributes:n}=e,o=gY("Draggable"),{activators:a,activatorEvent:l,active:c,activeNodeRect:d,ariaDescribedById:u,draggableNodes:h,over:f}=(0,$.useContext)(x0),{role:p=x7,roleDescription:m="draggable",tabIndex:g=0}=null!=n?n:{},x=(null==c?void 0:c.id)===r,v=(0,$.useContext)(x?x4:x8),[_,y]=gK(),[b,w]=gK(),S=(0,$.useMemo)(()=>a.reduce((e,s)=>{let{eventName:i,handler:n}=s;return e[i]=e=>{n(e,r)},e},{}),[a,r]),C=gH(s);return g$(()=>(h.set(r,{id:r,key:o,node:_,activatorNode:b,data:C}),()=>{let e=h.get(r);e&&e.key===o&&h.delete(r)}),[h,r]),{active:c,activatorEvent:l,activeNodeRect:d,attributes:(0,$.useMemo)(()=>({role:p,tabIndex:g,"aria-disabled":i,"aria-pressed":!!x&&p===x7||void 0,"aria-roledescription":m,"aria-describedby":u.draggable}),[i,p,g,x,m,u.draggable]),isDragging:x,listeners:i?void 0:S,node:_,over:f,setNodeRef:y,setActivatorNodeRef:w,transform:v}}({id:u,data:k,attributes:{...vm,...a},disabled:C.draggable}),U=function(){for(var e=arguments.length,r=Array(e),s=0;s<e;s++)r[s]=arguments[s];return(0,$.useMemo)(()=>e=>{r.forEach(r=>r(e))},r)}(F,L),K=!!M,q=K&&!_&&vs(x)&&vs(b),V=!w&&O,Y=V&&q?H:null,G=q?null!=Y?Y:(null!=h?h:S)({rects:y,activeNodeRect:P,activeIndex:x,overIndex:b,index:j}):null,X=vs(x)&&vs(b)?d({id:u,items:m,activeIndex:x,overIndex:b}):j,J=null==M?void 0:M.id,Z=(0,$.useRef)({activeId:J,items:m,newIndex:X,containerId:g}),Q=m!==Z.current.items,ee=o({active:M,containerId:g,isDragging:O,isSorting:K,id:u,index:j,items:m,newIndex:Z.current.newIndex,previousItems:Z.current.items,previousContainerId:Z.current.containerId,transition:p,wasDragging:null!=Z.current.activeId}),et=function(e){let{disabled:r,index:s,node:i,rect:n}=e,[o,a]=(0,$.useState)(null),l=(0,$.useRef)(s);return g$(()=>{if(!r&&s!==l.current&&i.current){let e=n.current;if(e){let r=xh(i.current,{ignoreTransform:!0}),s={x:e.left-r.left,y:e.top-r.top,scaleX:e.width/r.width,scaleY:e.height/r.height};(s.x||s.y)&&a(s)}}s!==l.current&&(l.current=s)},[r,s,i,n]),(0,$.useEffect)(()=>{o&&a(null)},[o]),o}({disabled:!ee,index:j,node:R,rect:E});return(0,$.useEffect)(()=>{K&&Z.current.newIndex!==X&&(Z.current.newIndex=X),g!==Z.current.containerId&&(Z.current.containerId=g),m!==Z.current.items&&(Z.current.items=m)},[K,X,g,m]),(0,$.useEffect)(()=>{if(J===Z.current.activeId)return;if(null!=J&&null==Z.current.activeId){Z.current.activeId=J;return}let e=setTimeout(()=>{Z.current.activeId=J},50);return()=>clearTimeout(e)},[J]),{active:M,activeIndex:x,attributes:B,data:k,rect:E,index:j,newIndex:X,items:m,isOver:A,isSorting:K,isDragging:O,listeners:I,node:R,overIndex:b,over:z,setNodeRef:U,setActivatorNodeRef:W,setDroppableNodeRef:F,setDraggableNodeRef:L,transform:null!=et?et:G,transition:et||Q&&Z.current.newIndex===j?vp:(!V||gZ(T))&&p&&(K||ee)?g0.Transition.toString({...p,property:vf}):void 0}}({id:e.id}),R={transform:g0.Translate.toString(k),transition:N,zIndex:E?50:void 0,position:E?"relative":void 0,opacity:E?1:void 0},{logs:A,status:F,exitCode:M,isPty:T,replayingHistory:P,sendInput:B,sendResize:L}=(d=function(){let e=(0,$.useContext)(gA);if(!e)throw Error("useExecutorLogsStore must be used within ExecutorLogsProvider");return e}(),u=(0,$.useCallback)(e=>{if(!_)return()=>{};d.subscribeProcess(_);let r=d.onProcessChange(_,e);return()=>{r(),d.unsubscribeProcess(_)}},[_,r,d]),h=(0,$.useCallback)(()=>_?d.getProcessState(_):null,[_,d]),f=(0,$.useSyncExternalStore)(u,h,h),p=(0,$.useCallback)(()=>{},[]),m=(0,$.useCallback)(e=>{_&&d.sendInput(_,e)},[_,d]),g=(0,$.useCallback)((e,r)=>{_&&d.sendResize(_,e,r)},[_,d]),{logs:f?.logs??[],status:f?.status??"closed",exitCode:f?.exitCode??null,isPty:f?.isPty??!1,replayingHistory:f?.replayingHistory??!0,clearLogs:p,sendInput:m,sendResize:g});(0,$.useEffect)(()=>(console.log("[diag:mux] ExecutorItem MOUNT",e.id,"localProcessId=",_),()=>console.log("[diag:mux] ExecutorItem UNMOUNT",e.id)),[]),(0,$.useEffect)(()=>{console.log("[diag:mux] localProcessId →",_,"executor=",e.id)},[_,e.id]),(0,$.useEffect)(()=>{let r=w.current;w.current=e.currentProcessId,e.currentProcessId&&e.currentProcessId!==r&&(y(e.currentProcessId),b.current=!1,i(!0))},[e.currentProcessId,i]),(0,$.useEffect)(()=>{e.currentProcessId||e.lastProcessId&&y(r=>r??e.lastProcessId)},[e.currentProcessId,e.lastProcessId]),(0,$.useEffect)(()=>{"closed"!==F||null===M||b.current||(b.current=!0,console.log(`[diag:remote-stop] ${new Date().toISOString()} executor-item marking finished executorId=${e.id} processId=${_} exitCode=${M} — removing from runningProcesses (button → Start)`),c(_))},[F,M,_,c]);let I=async()=>{console.log(`[ExecutorItem] Starting executor ${e.id}`),b.current=!1;let r=await n();console.log(`[ExecutorItem] Got processId: ${r}`),r&&(y(r),i(!0))},O=async()=>{await o(_||void 0)},H=e.isRunning,U=e.isDisabled,K=e.lastStartedAt?new Date(e.lastStartedAt).toLocaleString(void 0,{dateStyle:"short",timeStyle:"short"}):null;return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(dB,{open:s,onOpenChange:i,children:(0,z.jsxs)("div",{ref:j,style:R,className:(0,ey.cn)("border rounded-lg",E&&"shadow-lg bg-background"),children:[(0,z.jsx)(dL,{asChild:!0,children:(0,z.jsxs)("div",{className:"group flex items-center justify-between p-3 cursor-pointer hover:bg-muted/50",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsx)("button",{type:"button",className:"cursor-grab touch-none text-muted-foreground hover:text-foreground",...S,...C,onClick:e=>e.stopPropagation(),children:(0,z.jsx)(d$,{className:"h-4 w-4"})}),s?(0,z.jsx)(su,{className:"h-4 w-4"}):(0,z.jsx)(n6,{className:"h-4 w-4"}),(0,z.jsx)("span",{className:(0,ey.cn)("font-medium",U&&"text-muted-foreground line-through"),children:e.name}),U?(0,z.jsxs)(at,{variant:"outline",className:"text-muted-foreground border-muted-foreground/40 gap-1",children:[(0,z.jsx)(dW,{className:"h-3 w-3"}),"Disabled"]}):(0,z.jsx)(at,{variant:H?"default":"secondary",className:(0,ey.cn)(H&&"bg-green-600 hover:bg-green-600"),children:H?"Running":null!==M?0===M?"Completed":"Failed":"Stopped"})]}),(0,z.jsxs)("div",{className:"flex items-center gap-2",onClick:e=>e.stopPropagation(),children:[K&&(0,z.jsxs)("span",{className:"text-xs text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity",title:new Date(e.lastStartedAt).toLocaleString(),children:["Last run: ",K]}),H?(0,z.jsxs)(W.Button,{size:"sm",variant:"destructive",onClick:O,className:"w-20 border border-destructive",children:[(0,z.jsx)(dO,{className:"h-3 w-3 mr-1"}),"Stop"]}):(0,z.jsxs)(W.Button,{size:"sm",onClick:I,disabled:U,title:U?"Executor is disabled":void 0,className:"w-20",children:[(0,z.jsx)(ru,{className:"h-3 w-3 mr-1"}),"Start"]}),(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsx)(W.Button,{size:"icon",variant:"ghost",className:"h-8 w-8",children:(0,z.jsx)(dz,{className:"h-4 w-4"})})}),(0,z.jsxs)(n9,{align:"end",children:[(0,z.jsxs)(oe,{onClick:()=>v(!0),children:[(0,z.jsx)(rm,{className:"h-4 w-4 mr-2"}),"Edit"]}),(0,z.jsx)(oe,{onClick:()=>a({target:r??"local",disabled:!U}),children:U?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(rS,{className:"h-4 w-4 mr-2"}),"Enable"]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(dW,{className:"h-4 w-4 mr-2"}),"Disable"]})}),(0,z.jsxs)(oe,{onClick:l,className:"text-destructive",children:[(0,z.jsx)(rl,{className:"h-4 w-4 mr-2"}),"Delete"]})]})]})]})]})}),(0,z.jsx)(dI,{children:(0,z.jsxs)("div",{className:"px-3 pb-3",children:[(0,z.jsx)("div",{className:"text-xs text-muted-foreground mb-2 font-mono",children:"prompt"===e.executor_type?`${e.prompt_provider??"claude"} → ${e.command}`:`$ ${e.command}`}),(0,z.jsx)(gk,{logs:A,isPty:T,onInput:B,onResize:L,muteInput:P,processId:_,executorId:e.id,target:r??"local",status:F,exitCode:M})]})})]})}),(0,z.jsx)(gE,{open:x,onOpenChange:v,executor:e,onSubmit:async e=>{await a(e)}})]})}let vb=(0,$.createContext)(null);function vw({projectId:e,children:r}){let s=sl(e,{withStatus:!0});return(0,z.jsx)(vb.Provider,{value:s,children:r})}function vS(){let e=(0,$.useContext)(vb);if(!e)throw Error("useProjectRemotesContext must be used within a ProjectRemotesProvider");return e}let vC=e=>{let{droppableContainers:r,pointerCoordinates:s}=e;if(!s)return(e=>{let{collisionRect:r,droppableRects:s,droppableContainers:i}=e,n=xa(r,r.left,r.top),o=[];for(let e of i){let{id:r}=e,i=s.get(r);if(i){let s=xr(xa(i),n);o.push({id:r,data:{droppableContainer:e,value:s}})}}return o.sort(xs)})(e);let i=[];for(let e of r){let r=e.rect.current;if(!r)continue;let n=r.top,o=r.top+52;s.x>=r.left&&s.x<=r.right&&s.y>=n&&s.y<=o&&i.push({id:e.id,data:{droppableContainer:e}})}if(i.length>0)return i;let n=null;for(let e of r){let r=e.rect.current;if(!r)continue;let i=r.top+26,o=r.left+r.width/2,a=Math.sqrt(Math.pow(s.x-o,2)+Math.pow(s.y-i,2));(!n||a<n.distance)&&(n={id:e.id,distance:a,data:{droppableContainer:e}})}return n?[{id:n.id,data:n.data}]:[]};function vj({projectId:e,selectedBranch:r,project:s,onExecutorModeChange:i}){let[n,o]=(0,$.useState)(!1),[a,l]=(0,$.useState)(new Set),{remotes:c}=vS(),d=[];for(let e of(s?.path&&d.push({id:"local",label:"Local",icon:ol}),c))d.push({id:e.remote_server_id,label:e.server_name,icon:sc(e)});let{activeGroup:u,loading:h,createGroup:f}=function(e,r){let[s,i]=(0,$.useState)([]),[n,o]=(0,$.useState)(null),[a,l]=(0,$.useState)(!0),c=r??"",d=(0,$.useCallback)(async()=>{if(!e){i([]),o(null),l(!1);return}try{let[r,s]=await Promise.all([rx.api.getExecutorGroups(e),rx.api.getExecutorGroupByBranch(e,c)]);i(r),o(s)}catch(e){console.error("Failed to fetch executor groups:",e)}finally{l(!1)}},[e,c]);(0,$.useEffect)(()=>{l(!0),d()},[d]);let u=(0,$.useCallback)(async r=>{if(!e)return null;try{let s=await rx.api.createExecutorGroup(e,{name:r,branch:c});return i(e=>[...e,s]),o(s),s}catch(e){return console.error("Failed to create executor group:",e),null}},[e,c]);return{groups:s,activeGroup:n,loading:a,createGroup:u,updateGroup:(0,$.useCallback)(async(e,r)=>{try{let s=await rx.api.updateExecutorGroup(e,r);return i(r=>r.map(r=>r.id===e?s:r)),o(r=>r?.id===e?s:r),s}catch(e){return console.error("Failed to update executor group:",e),null}},[]),deleteGroup:(0,$.useCallback)(async e=>{try{await rx.api.deleteExecutorGroup(e),i(r=>r.filter(r=>r.id!==e)),o(r=>r?.id===e?null:r)}catch(e){console.error("Failed to delete executor group:",e)}},[]),refetch:d}}(e,r),{executors:p,loading:m,createExecutor:g,updateExecutor:x,deleteExecutor:v,startExecutor:_,stopExecutor:y,markProcessFinished:b,reorderExecutors:w}=function(e,r,s){let[i,n]=(0,$.useState)([]),[o,a]=(0,$.useState)(new Map),[l,c]=(0,$.useState)(new Map),[d,u]=(0,$.useState)(!0),h=(0,$.useCallback)(async()=>{if(!e||!r){n([]),u(!1);return}try{let s=await rx.api.getExecutors(e,r);n(s)}catch(e){console.error("Failed to fetch executors:",e)}finally{u(!1)}},[e,r]),f=(0,$.useCallback)(async()=>{try{let e=await rx.api.getRunningProcesses();console.log(`[useExecutors] fetchRunningProcesses: ${e.length} running`,e.map(e=>`${e.executor_id}/${e.id}/${e.target??"local"}`));let{runningProcesses:r,lastStartedProcess:s}=function(e){let r=new Map,s=new Map;for(let i of e){let e={processId:i.id,target:i.target??"local"},n=r.get(i.executor_id);n?n.push(e):r.set(i.executor_id,[e]),s.set(i.executor_id,e)}return{runningProcesses:r,lastStartedProcess:s}}(e);a(r),c(e=>{let i=function(e,r){let s=new Map;for(let[i,n]of e)r.get(i)?.some(e=>e.processId===n.processId&&e.target===n.target)&&s.set(i,n);return s}(e,r);for(let[e,r]of s)i.set(e,r);return i})}catch(e){console.error("Failed to fetch running processes:",e)}},[]);(0,$.useEffect)(()=>{h()},[h]),(0,$.useEffect)(()=>{f()},[f]),(0,$.useEffect)(()=>{e&&f()},[e,f]),(0,$.useEffect)(()=>{let e=()=>{"visible"===document.visibilityState&&f()};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[f]);let p=(0,$.useRef)(new Set);(0,$.useEffect)(()=>{p.current=new Set(i.map(e=>e.id))},[i]),(0,ap.useGlobalEventStream)(r=>{if(("executor:started"===r.type||"executor:stopped"===r.type)&&console.log(`[useExecutors] SSE received: ${r.type} executor=${r.executorId} process=${r.processId} target=${r.target??"local"} project=${r.projectId}`),!e||r.projectId!==e){("executor:started"===r.type||"executor:stopped"===r.type)&&console.log(`[useExecutors] SSE filtered: projectId mismatch (event=${r.projectId}, hook=${e})`);return}if(!p.current.has(r.executorId)){("executor:started"===r.type||"executor:stopped"===r.type)&&console.log(`[useExecutors] SSE filtered: executorId ${r.executorId} not in current group (known: ${Array.from(p.current).join(",")})`);return}"executor:started"===r.type?(console.log("[useExecutors] Processing executor:started, adding to runningProcesses"),a(e=>{let s=e.get(r.executorId)??[];if(s.some(e=>e.processId===r.processId))return e;let i=new Map(e);return i.set(r.executorId,[...s,{processId:r.processId,target:r.target??"local"}]),i}),c(e=>{let s=new Map(e);return s.set(r.executorId,{processId:r.processId,target:r.target??"local"}),s}),n(e=>e.map(e=>{if(e.id!==r.executorId)return e;let s=r.target??"local";return{...e,last_runs:{...e.last_runs??{},[s]:{started_at:new Date().toISOString(),process_id:r.processId}}}}))):"executor:stopped"===r.type&&(console.log("[useExecutors] Processing executor:stopped, removing from runningProcesses"),console.log(`[diag:remote-stop] ${new Date().toISOString()} SSE executor:stopped executor=${r.executorId} process=${r.processId} target=${r.target??"local"} — flips button via SSE (NOT the mux finished path)`),a(e=>{let s=e.get(r.executorId);if(!s)return e;let i=s.filter(e=>e.processId!==r.processId),n=new Map(e);return 0===i.length?n.delete(r.executorId):n.set(r.executorId,i),n}),c(e=>{let s=e.get(r.executorId);if(!s||s.processId!==r.processId)return e;let i=new Map(e);return i.delete(r.executorId),i}))});let m=(0,$.useCallback)(async s=>{if(!e||!r)return null;try{let i=await rx.api.createExecutor(e,{...s,group_id:r});return n(e=>[...e,i]),i}catch(e){return console.error("Failed to create executor:",e),null}},[e,r]),g=(0,$.useCallback)(async(e,r)=>{try{let s=await rx.api.updateExecutor(e,r);return n(r=>r.map(r=>r.id===e?s:r)),s}catch(e){return console.error("Failed to update executor:",e),gC.toast.error("Failed to update executor",{description:e instanceof Error?e.message:void 0}),null}},[]),x=(0,$.useCallback)(async e=>{try{await rx.api.deleteExecutor(e),n(r=>r.filter(r=>r.id!==e))}catch(e){console.error("Failed to delete executor:",e)}},[]),v=(0,$.useCallback)(async(e,r)=>{try{let i=await rx.api.startExecutor(e,r,s),o=s??"local";return a(r=>{let s=r.get(e)??[],n=new Map(r);return n.set(e,[...s,{processId:i,target:o}]),n}),c(r=>{let s=new Map(r);return s.set(e,{processId:i,target:o}),s}),n(r=>r.map(r=>r.id!==e?r:{...r,last_runs:{...r.last_runs??{},[o]:{started_at:new Date().toISOString(),process_id:i}}})),i}catch(e){return console.error("Failed to start executor:",e),null}},[s]),_=(0,$.useCallback)(async(e,r)=>{let i=o.get(e),n=i?.find(e=>e.target===(s??"local")),l=r||n?.processId;if(l){try{await rx.api.stopProcess(l)}catch(e){console.error("Failed to stop executor:",e)}a(r=>{let s=r.get(e);if(!s)return r;let i=s.filter(e=>e.processId!==l),n=new Map(r);return 0===i.length?n.delete(e):n.set(e,i),n}),c(r=>{let s=r.get(e);if(!s||s.processId!==l)return r;let i=new Map(r);return i.delete(e),i})}},[o,s]),y=(0,$.useCallback)((e,r)=>{a(s=>{let i=s.get(e);if(!i)return s;if(r){let n=i.filter(e=>e.processId!==r);if(n.length===i.length)return s;let o=new Map(s);return 0===n.length?o.delete(e):o.set(e,n),o}let n=new Map(s);return n.delete(e),n}),c(s=>{if(!r){if(!s.has(e))return s;let r=new Map(s);return r.delete(e),r}let i=s.get(e);if(!i||i.processId!==r)return s;let n=new Map(s);return n.delete(e),n})},[]),b=(0,$.useCallback)(async s=>{if(e&&r){n(s.map(e=>i.find(r=>r.id===e)).filter(e=>void 0!==e));try{await rx.api.reorderExecutors(e,s,r)}catch(e){console.error("Failed to reorder executors:",e),n(i)}}},[e,r,i]);return{executors:i.map(e=>{let r=o.get(e.id),i=s??"local",n=r?.find(e=>e.target===i),a=l.get(e.id),c=a?.target===i?a:void 0,d=e.last_runs?.[i];return{...e,currentProcessId:n?.processId??c?.processId??null,isRunning:!!n,lastProcessId:d?.process_id??null,lastStartedAt:d?.started_at??null,isDisabled:e.disabled_targets.includes(i)}}),loading:d,createExecutor:m,updateExecutor:g,deleteExecutor:x,startExecutor:v,stopExecutor:_,markProcessFinished:y,reorderExecutors:b,refetch:h}}(e,u?.id,s?.executor_mode),S=function(){for(var e=arguments.length,r=Array(e),s=0;s<e;s++)r[s]=arguments[s];return(0,$.useMemo)(()=>[...r].filter(e=>null!=e),[...r])}(xe(xL,{activationConstraint:{distance:8}}),xe(xF,{coordinateGetter:vv}));return e?(0,z.jsx)(gF,{projectId:e,children:(0,z.jsxs)("div",{className:"h-full flex flex-col",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border/60 h-10",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsxs)("h2",{className:"text-xs font-semibold flex items-center gap-2 text-foreground",children:[(0,z.jsx)(oo,{className:"h-3.5 w-3.5"}),u?u.name:"Executors"]}),d.length>1&&i&&(0,z.jsx)(on,{targets:d,activeTarget:s?.executor_mode??"local",onTargetChange:i})]}),u&&(0,z.jsxs)(W.Button,{variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>o(!0),children:[(0,z.jsx)(eS,{className:"h-3 w-3 mr-1"}),"Add"]})]}),(0,z.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,z.jsx)("div",{className:"p-4 space-y-3",children:h||m?(0,z.jsx)("div",{className:"text-center text-muted-foreground py-8",children:"Loading executors..."}):u?0===p.length?(0,z.jsxs)("div",{className:"text-center text-muted-foreground py-8",children:[(0,z.jsx)("p",{children:"No executors configured"}),(0,z.jsx)("p",{className:"text-sm mt-1",children:'Add an executor to run commands like "npm run dev"'})]}):(0,z.jsx)(x6,{sensors:S,collisionDetection:vC,onDragEnd:e=>{let{active:r,over:s}=e;if(s&&r.id!==s.id){let e=p.findIndex(e=>e.id===r.id),i=p.findIndex(e=>e.id===s.id),n=[...p],[o]=n.splice(e,1);n.splice(i,0,o),w(n.map(e=>e.id))}},children:(0,z.jsx)(vc,{items:p.map(e=>e.id),strategy:vo,children:p.map(e=>(0,z.jsx)(vy,{executor:e,executorMode:s?.executor_mode??"local",isOpen:a.has(e.id),onOpenChange:r=>l(s=>{let i=new Set(s);return r?i.add(e.id):i.delete(e.id),i}),onStart:()=>_(e.id,r),onStop:r=>y(e.id,r||e.currentProcessId||void 0),onUpdate:r=>x(e.id,r),onDelete:()=>v(e.id),onProcessFinished:r=>b(e.id,r)},`${e.id}-${s?.executor_mode??"local"}`))})}):(0,z.jsxs)("div",{className:"text-center text-muted-foreground py-8",children:[(0,z.jsx)("p",{children:"No executor group for this branch"}),(0,z.jsx)("p",{className:"text-sm mt-1 mb-4",children:"Create a group to start adding executors"}),(0,z.jsxs)(W.Button,{size:"sm",onClick:()=>f(r?`Executors (${r})`:"Default"),children:[(0,z.jsx)(oV,{className:"h-4 w-4 mr-1"}),"Create Group"]})]})})}),(0,z.jsx)(gE,{open:n,onOpenChange:o,onSubmit:async e=>{await g(e)}})]})},`${e??"none"}-${s?.executor_mode??"local"}`):(0,z.jsx)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:(0,z.jsxs)("div",{className:"text-center",children:[(0,z.jsx)("div",{className:"mx-auto w-10 h-10 rounded-xl bg-muted flex items-center justify-center mb-3",children:(0,z.jsx)(oo,{className:"h-5 w-5 text-muted-foreground/50"})}),(0,z.jsx)("p",{className:"text-sm",children:"Select a project to manage executors"})]})})}let vk=(0,ew.default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),vN=(0,ew.default)("git-merge",[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M6 21V9a9 9 0 0 0 9 9",key:"7kw0sc"}]]),vD=(0,ew.default)("chevrons-up-down",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]]);function vE({line:e}){let r="add"===e.type?"+":"delete"===e.type?"-":" ",s="add"===e.type,i="delete"===e.type,n=s?"bg-emerald-500/[0.07]":i?"bg-rose-500/[0.07]":"",o=s?"bg-emerald-500/[0.10]":i?"bg-rose-500/[0.10]":"bg-secondary",a=s?"text-emerald-600":i?"text-rose-600":"text-muted-foreground/70";return(0,z.jsxs)("div",{className:"flex font-mono text-[11.5px] leading-[1.55]",children:[(0,z.jsx)("span",{className:(0,ey.cn)("w-9 flex-shrink-0 text-right pr-2 select-none border-r border-border/60",o,a),children:e.oldLineNo??""}),(0,z.jsx)("span",{className:(0,ey.cn)("w-9 flex-shrink-0 text-right pr-2 select-none border-r border-border/60",o,a),children:e.newLineNo??""}),(0,z.jsx)("span",{className:(0,ey.cn)("w-5 flex-shrink-0 text-center select-none",n,a),children:r}),(0,z.jsx)("span",{className:(0,ey.cn)("whitespace-pre-wrap break-all pr-4 flex-1 min-w-0 pl-2",n,(s||i)&&"text-foreground"),children:e.content})]})}let vR={modified:"bg-yellow-500/20 text-yellow-500",added:"bg-green-500/20 text-green-500",deleted:"bg-red-500/20 text-red-500",renamed:"bg-blue-500/20 text-blue-500"},vA={modified:"Modified",added:"Added",deleted:"Deleted",renamed:"Renamed"};function vF({file:e,defaultOpen:r=!0}){let[s,i]=(0,$.useState)(r);return(0,z.jsxs)(dB,{open:s,onOpenChange:i,className:"border border-border rounded-lg overflow-hidden",children:[(0,z.jsxs)(dL,{className:"flex items-center gap-2 px-4 py-2 bg-secondary border-b border-border w-full cursor-pointer hover:bg-muted transition-colors",children:[s?(0,z.jsx)(su,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):(0,z.jsx)(n6,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,z.jsx)("span",{className:"font-mono text-[11.5px] flex-1 min-w-0 truncate text-left text-foreground font-medium",children:e.oldPath&&"renamed"===e.status?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("span",{className:"text-muted-foreground font-normal",children:e.oldPath}),(0,z.jsx)("span",{className:"mx-2 text-muted-foreground",children:"→"}),e.path]}):e.path}),(0,z.jsx)(at,{variant:"secondary",className:vR[e.status],children:vA[e.status]})]}),(0,z.jsx)(dI,{children:(0,z.jsx)("div",{children:e.hunks.map((e,r)=>(0,z.jsxs)("div",{children:[(0,z.jsxs)("div",{className:"px-4 py-0.5 bg-accent text-accent-foreground text-[11px] font-mono font-medium sticky top-0",children:["@@ -",e.oldStart,",",e.oldLines," +",e.newStart,",",e.newLines," @@"]}),e.lines.map((e,r)=>(0,z.jsx)(vE,{line:e},r))]},r))})})]})}let vM=(0,ew.default)("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]),vT="__head__";function vP({commits:e,selectedCommit:r,onSelectCommit:s,loading:i,disabled:n}){return(0,z.jsxs)(l6,{value:r??vT,onValueChange:e=>{s(e===vT?null:e)},disabled:n||i,children:[(0,z.jsxs)(l7,{size:"sm",className:"w-[200px]",children:[(0,z.jsx)(vM,{className:"h-3.5 w-3.5 shrink-0"}),(0,z.jsx)(l8,{placeholder:"Select commit..."})]}),(0,z.jsxs)(l9,{children:[(0,z.jsx)(ce,{value:vT,children:"HEAD (uncommitted)"}),e.map(e=>(0,z.jsxs)(ce,{value:e.hash,children:[(0,z.jsx)("span",{className:"font-mono text-xs",children:e.shortHash})," ",(0,z.jsx)("span",{className:"truncate",children:e.message.length>40?e.message.slice(0,40)+"...":e.message})]},e.hash))]})]})}function vB({projectId:e,selectedBranch:r,onMergeRequest:s,project:i}){let[n,o]=(0,$.useState)(null),{remotes:a}=vS(),l=[];for(let e of(i?.path&&l.push({id:"local",label:"Local",icon:ol}),a))l.push({id:e.remote_server_id,label:e.server_name,icon:so});let c=i?.path?"local":a.length>0?a[0].remote_server_id:"local",[d,u]=(0,$.useState)(c),[h,f]=(0,$.useState)(!0),[p,m]=(0,$.useState)(0),g="local"===d?i?.path?"local":void 0:"remote",{diff:x,loading:v,error:_,refresh:y}=function(e,r,s,i){let[n,o]=(0,$.useState)(null),[a,l]=(0,$.useState)(!1),[c,d]=(0,$.useState)(null),u=(0,$.useCallback)(async()=>{if(!e)return void o(null);l(!0),d(null);try{let n=await rx.api.getDiff(e,r,s,i);o(n)}catch(e){d(e instanceof Error?e.message:"Failed to load diff"),o(null)}finally{l(!1)}},[e,r,s,i]);return{diff:n,loading:a,error:c,refresh:u}}(e,r,n,g),{commits:b,loading:w,refetch:S}=function(e,r,s,i){let[n,o]=(0,$.useState)([]),[a,l]=(0,$.useState)(!1);return{commits:n,loading:a,refetch:(0,$.useCallback)(async()=>{if(!e)return void o([]);l(!0);try{let n=await rx.api.getCommits(e,r,s,i);o(n)}catch{o([])}finally{l(!1)}},[e,r,s,i])}}(e,r,void 0,g);if((0,$.useEffect)(()=>{y()},[y]),(0,$.useEffect)(()=>{S()},[S]),(0,$.useEffect)(()=>{o(null)},[r]),(0,$.useEffect)(()=>{u(c)},[e,c]),!e)return(0,z.jsx)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:(0,z.jsxs)("div",{className:"text-center",children:[(0,z.jsx)("div",{className:"mx-auto w-10 h-10 rounded-xl bg-muted flex items-center justify-center mb-3",children:(0,z.jsx)(rb,{className:"h-5 w-5 text-muted-foreground/50"})}),(0,z.jsx)("p",{className:"text-sm",children:"Select a project to view changes"})]})});let C=x?.files.length??0;return(0,z.jsxs)("div",{className:"h-full flex flex-col",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border/60 h-10",children:[(0,z.jsx)("div",{className:"flex items-center gap-4",children:C>0&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)("span",{className:"text-xs text-muted-foreground",children:[C," file",1!==C?"s":""," changed"]}),(0,z.jsxs)(W.Button,{size:"sm",variant:"ghost",onClick:()=>{f(e=>!e),m(e=>e+1)},title:h?"Collapse all":"Expand all",children:[(0,z.jsx)(vD,{className:"h-4 w-4 mr-1"}),h?"Collapse all":"Expand all"]})]})}),(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[l.length>1&&(0,z.jsx)(on,{targets:l,activeTarget:d,onTargetChange:u,disabled:v}),(0,z.jsx)("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:"Commit:"}),(0,z.jsx)(vP,{commits:b,selectedCommit:n,onSelectCommit:o,loading:w,disabled:v}),(0,z.jsxs)(W.Button,{size:"sm",variant:"outline",onClick:s,disabled:v||0===C,children:[(0,z.jsx)(vN,{className:"h-4 w-4 mr-1"}),"Merge"]}),(0,z.jsxs)(W.Button,{size:"sm",variant:"outline",onClick:y,disabled:v,children:[(0,z.jsx)(vk,{className:`h-4 w-4 mr-1 ${v?"animate-spin":""}`}),"Refresh"]})]})]}),(0,z.jsx)(oU,{className:"flex-1 overflow-hidden",children:(0,z.jsx)("div",{className:"p-4 space-y-4",children:v&&!x?(0,z.jsx)("div",{className:"text-center text-muted-foreground py-8",children:"Loading changes..."}):_?(0,z.jsx)("div",{className:"text-center text-red-400 py-8",children:_}):0===C?(0,z.jsx)("div",{className:"text-center text-muted-foreground py-8",children:(0,z.jsx)("p",{children:n?"No changes in this commit":"No uncommitted changes"})}):x?.files.map((e,r)=>(0,z.jsx)(vF,{file:e,defaultOpen:h},`${r}-${p}`))})})]})}function vL({terminalId:e,onExit:r}){let{logs:s,sendInput:i,sendResize:n,exitCode:o,replayingHistory:a}=function(e,r){let[s,i]=(0,$.useState)([]),[n,o]=(0,$.useState)("closed"),[a,l]=(0,$.useState)(null),[c,d]=(0,$.useState)(!1),[u,h]=(0,$.useState)(!0),f=(0,$.useRef)(null),p=(0,$.useRef)(null),m=(0,$.useRef)(0),g=(0,$.useRef)(null),x=(0,$.useRef)(!1),v=(0,$.useCallback)(()=>{i([]),l(null),d(!1)},[]),_=(0,$.useCallback)(e=>{f.current?.readyState===WebSocket.OPEN&&f.current.send(JSON.stringify({type:"input",data:e}))},[]),y=(0,$.useCallback)((e,r)=>{f.current?.readyState===WebSocket.OPEN?f.current.send(JSON.stringify({type:"resize",cols:e,rows:r})):p.current={cols:e,rows:r}},[]);return(0,$.useEffect)(()=>{if(!e)return;i([]),l(null),d(!1),x.current=!1,m.current=0;let r=!1;return function s(){r||x.current||(0,rx.getFreshToken)().then(()=>{r||x.current||function(){if(r||x.current)return;o("connecting");let n=(0,rx.getWebSocketUrl)(`/api/executor-processes/${e}/logs`);console.log(`[useExecutorLogs] Connecting to WebSocket: ${n}`);let a=new WebSocket(n);f.current=a;let c=!1,u=!1;a.onopen=()=>{if(!r&&(console.log("[useExecutorLogs] WebSocket connected"),o("connected"),i([]),p.current)){let{cols:e,rows:r}=p.current;a.send(JSON.stringify({type:"resize",cols:e,rows:r})),p.current=null}},a.onmessage=e=>{if(!r)try{let r=JSON.parse(e.data);if("init"===r.type)d(r.isPty),h(!0),console.log("[useExecutorLogs] init received, setReplayingHistory(true)");else if("history_end"===r.type)u=!0,h(!1),console.log("[useExecutorLogs] history_end received, setReplayingHistory(false)");else if("finished"===r.type)x.current=!0,l(r.exitCode),o("closed");else if("error"===r.type)x.current=!0,o("error");else{u&&(c=!0,m.current=0);let e="stdout"===r.type||"stderr"===r.type||"pty"===r.type?{...r,historical:!u}:r;i(r=>[...r,e])}}catch(e){console.error("Failed to parse WebSocket message:",e)}},a.onerror=e=>{r||console.error("[useExecutorLogs] WebSocket error:",e)},a.onclose=e=>{if(console.log("[useExecutorLogs] WebSocket closed:",e.code,e.reason),f.current=null,x.current||r)return void o("closed");if(u&&!c){console.log(`[useExecutorLogs] Server closed after history with no live data — treating as terminal`),x.current=!0,o("closed");return}if(m.current<8){let e=m.current,i=Math.min(15e3,1e3*Math.pow(2,e)),n=i*Math.random()*.25,a=i+n;console.log(`[useExecutorLogs] Scheduling reconnect in ${Math.round(a)}ms (attempt ${e+1}/8)`),o("connecting"),m.current=e+1,g.current=setTimeout(()=>{g.current=null,r||s()},a)}else console.log("[useExecutorLogs] Max reconnect attempts reached"),o("error")}}()})}(),()=>{r=!0,g.current&&(clearTimeout(g.current),g.current=null),f.current&&(f.current.close(),f.current=null)}},[e,void 0]),{logs:s,status:n,exitCode:a,isPty:c,replayingHistory:u,clearLogs:v,sendInput:_,sendResize:y}}(e);return(0,$.useEffect)(()=>{null!==o&&r(e)},[o,r,e]),(0,z.jsx)(gk,{logs:s,isPty:!0,className:"h-full rounded-none border-0",onInput:i,onResize:n,muteInput:a})}function vI({projectId:e,selectedBranch:r,project:s}){let{terminals:i,activeTerminalId:n,createTerminal:o,closeTerminal:a,setActiveTerminal:l,removeTerminal:c}=function(e,r){let[s,i]=(0,$.useState)([]),[n,o]=(0,$.useState)(null);(0,$.useEffect)(()=>{if(!e){i([]),o(null);return}rx.api.getTerminals(e,r).then(e=>{i(e),o(e.length>0?e[0].id:null)})},[e,r]);let a=(0,$.useCallback)(async(s,n)=>{if(e)try{let a=await rx.api.createTerminal(e,r,s,n);i(e=>[...e,a]),o(a.id)}catch(e){console.error("[useTerminals] Failed to create terminal:",e)}},[e,r]),l=(0,$.useCallback)(async e=>{await rx.api.closeTerminal(e),i(r=>{let s=r.filter(r=>r.id!==e);return o(r=>r===e?s.length>0?s[s.length-1].id:null:r),s})},[]);return{terminals:s,activeTerminalId:n,createTerminal:a,closeTerminal:l,setActiveTerminal:(0,$.useCallback)(e=>{o(e)},[]),removeTerminal:(0,$.useCallback)(e=>{i(r=>{let s=r.filter(r=>r.id!==e);return o(r=>r===e?s.length>0?s[s.length-1].id:null:r),s})},[])}}(e,r),{remotes:d}=vS(),[u,h]=(0,$.useState)(!1),f=(0,$.useRef)(null),p=!!s?.path,m=d.length>0,g=p&&m||d.length>1,x=!p&&m||g&&s?.executor_mode!=="local"?"remote":"local",v=(0,$.useCallback)(()=>{o(x)},[o,x]),_=(0,$.useCallback)((e,r)=>{h(!1),o(e,r)},[o]);(0,$.useEffect)(()=>{if(u)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e);function e(e){f.current&&!f.current.contains(e.target)&&h(!1)}},[u]);let y=(0,$.useCallback)(e=>{c(e)},[c]);return e?(0,z.jsxs)("div",{className:"h-full flex flex-col",children:[(0,z.jsxs)("div",{className:"flex items-center h-10 border-b border-border/60 px-2 gap-1 shrink-0 bg-muted/20",children:[(0,z.jsx)("div",{className:"flex-1 min-w-0 flex items-center gap-1 overflow-hidden",children:i.map(e=>{let r="remote"===e.location||e.id.startsWith("remote-"),s=g?r?so:ol:oo,i=n===e.id;return(0,z.jsxs)("button",{onClick:()=>l(e.id),title:e.name,className:(0,ey.cn)("group flex items-center gap-1.5 px-2 py-1 rounded-md text-xs transition-all duration-150 border flex-1 min-w-0 basis-0 max-w-[180px]",i?"bg-background text-foreground border-border shadow-sm":"text-muted-foreground hover:text-foreground bg-muted/40 hover:bg-background/60 border-border/30 hover:border-border/60"),children:[(0,z.jsx)(s,{className:"h-3 w-3 shrink-0"}),(0,z.jsx)("span",{className:"truncate flex-1 text-left",children:e.name}),(0,z.jsx)("span",{role:"button",onClick:r=>{r.stopPropagation(),a(e.id)},className:(0,ey.cn)("shrink-0 rounded-sm p-0.5 hover:bg-destructive/10 hover:text-destructive",i?"opacity-80 hover:opacity-100":"opacity-0 group-hover:opacity-80 hover:!opacity-100"),children:(0,z.jsx)(t8,{className:"h-3 w-3"})})]},e.id)})}),(0,z.jsxs)("div",{className:"relative shrink-0",ref:f,children:[(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:g?()=>h(e=>!e):v,children:(0,z.jsx)(eS,{className:"h-3.5 w-3.5"})}),g&&u&&(0,z.jsxs)("div",{className:"absolute right-0 top-full mt-1 z-50 min-w-[160px] rounded-md border bg-popover p-1 shadow-md",children:[p&&(0,z.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-xs hover:bg-accent hover:text-accent-foreground transition-colors",onClick:()=>_("local"),children:[(0,z.jsx)(ol,{className:"h-3.5 w-3.5"}),"Local Terminal"]}),d.map(e=>(0,z.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-xs hover:bg-accent hover:text-accent-foreground transition-colors",onClick:()=>_("remote",e.remote_server_id),children:[(0,z.jsx)(so,{className:"h-3.5 w-3.5"}),e.server_name," Terminal"]},e.remote_server_id))]})]})]}),(0,z.jsx)("div",{className:"flex-1 overflow-hidden bg-zinc-950",children:n?(0,z.jsx)(vL,{terminalId:n,onExit:y},n):(0,z.jsx)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:(0,z.jsx)(oo,{className:"h-10 w-10 text-muted-foreground/70"})})})]}):(0,z.jsx)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:(0,z.jsxs)("div",{className:"text-center",children:[(0,z.jsx)("div",{className:"mx-auto w-10 h-10 rounded-xl bg-muted flex items-center justify-center mb-3",children:(0,z.jsx)(oo,{className:"h-5 w-5 text-muted-foreground/50"})}),(0,z.jsx)("p",{className:"text-sm",children:"Select a project to use the terminal"})]})})}let vO=(0,ew.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),vz=(0,$.createContext)(null),v$=({className:e,children:r,defaultUrl:s="",onUrlChange:i,...n})=>{let[o,a]=(0,$.useState)(s),[l,c]=(0,$.useState)(!1);return(0,z.jsx)(vz.Provider,{value:{url:o,setUrl:e=>{a(e),i?.(e)},consoleOpen:l,setConsoleOpen:c},children:(0,z.jsx)("div",{className:(0,ey.cn)("flex size-full flex-col bg-card",e),...n,children:r})})},vW=({className:e,children:r,...s})=>(0,z.jsx)("div",{className:(0,ey.cn)("flex items-center gap-1 border-b p-2 h-14",e),...s,children:r}),vH=({onClick:e,disabled:r,tooltip:s,children:i,...n})=>(0,z.jsx)(aG,{children:(0,z.jsxs)(aX,{children:[(0,z.jsx)(aJ,{asChild:!0,children:(0,z.jsx)(W.Button,{className:"h-8 w-8 p-0 hover:text-foreground",disabled:r,onClick:e,size:"sm",variant:"ghost",...n,children:i})}),(0,z.jsx)(aZ,{children:(0,z.jsx)("p",{children:s})})]})}),vU=({value:e,onChange:r,onKeyDown:s,...i})=>{let{url:n,setUrl:o}=(()=>{let e=(0,$.useContext)(vz);if(!e)throw Error("WebPreview components must be used within a WebPreview");return e})(),[a,l]=(0,$.useState)(n);return(0,$.useEffect)(()=>{l(n)},[n]),(0,z.jsx)(ro,{className:"h-8 flex-1 text-sm",onChange:r??(e=>{l(e.target.value),r?.(e)}),onKeyDown:e=>{"Enter"===e.key&&o(e.target.value),s?.(e)},placeholder:"Enter URL...",value:e??a,...i})};var vK=e.i(254824);function vq({projectId:e}){let r=(0,$.useRef)(null),s=(0,$.useRef)(null),{addFrame:i,updateFrameUrl:n,refreshFrame:o,hasFrame:a,claimFrame:l,getFrameUrl:c}=(0,vK.useBrowserFrames)(),d=e?c(e):void 0;(0,$.useEffect)(()=>{if(e&&d&&r.current){let i=setTimeout(()=>{r.current&&(s.current?.(),s.current=l(e,r.current))},50);return()=>{clearTimeout(i),s.current?.(),s.current=null}}return()=>{s.current?.(),s.current=null}},[e,d,l]);let u=(0,$.useCallback)(()=>{e&&o(e)},[e,o]),h=(0,$.useCallback)(()=>{d&&window.open(d,"_blank")},[d]),f=(0,$.useCallback)(r=>{e&&(a(e)?n(e,r):i(e,r))},[e,a,n,i]);return(0,z.jsx)("div",{className:"h-full flex flex-col",children:(0,z.jsxs)(v$,{defaultUrl:d??"",onUrlChange:f,className:"h-full",children:[(0,z.jsxs)(vW,{className:"h-10 p-1.5 gap-0.5",children:[(0,z.jsx)(vH,{tooltip:"Refresh",onClick:u,disabled:!d,children:(0,z.jsx)(vk,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(vH,{tooltip:"Open in browser",onClick:h,disabled:!d,children:(0,z.jsx)(vO,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(vU,{className:"h-7 text-xs"})]}),d?(0,z.jsx)("div",{ref:r,className:"flex-1 bg-white"}):(0,z.jsx)("div",{className:"flex-1 flex items-center justify-center text-muted-foreground",children:(0,z.jsxs)("div",{className:"flex flex-col items-center gap-2",children:[(0,z.jsx)(r_,{className:"h-8 w-8 opacity-40"}),(0,z.jsx)("p",{className:"text-sm",children:"Enter a URL above to preview"})]})})]})})}let vV=(0,ew.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),vY=(0,ew.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),vG=(0,ew.default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]),vX=(0,ew.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]),vJ=(0,ew.default)("panel-left-open",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m14 9 3 3-3 3",key:"8010ee"}]]);var vZ=e.i(553154);let vQ=(0,ew.default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),v0=(0,$.createContext)(null);v0.displayName="PanelGroupContext";let v1="data-panel-group-direction",v2="data-panel-group-id",v5="data-resize-handle",v3="data-panel-resize-handle-id",v4=$.useLayoutEffect,v6=$["useId".toString()],v8="function"==typeof v6?v6:()=>null,v7=0;function v9(e=null){let r=v8(),s=(0,$.useRef)(e||r||null);return null===s.current&&(s.current=""+v7++),null!=e?e:s.current}function _e({children:e,className:r="",collapsedSize:s,collapsible:i,defaultSize:n,forwardedRef:o,id:a,maxSize:l,minSize:c,onCollapse:d,onExpand:u,onResize:h,order:f,style:p,tagName:m="div",...g}){let x=(0,$.useContext)(v0);if(null===x)throw Error("Panel components must be rendered within a PanelGroup container");let{collapsePanel:v,expandPanel:_,getPanelSize:y,getPanelStyle:b,groupId:w,isPanelCollapsed:S,reevaluatePanelConstraints:C,registerPanel:j,resizePanel:k,unregisterPanel:N}=x,D=v9(a),E=(0,$.useRef)({callbacks:{onCollapse:d,onExpand:u,onResize:h},constraints:{collapsedSize:s,collapsible:i,defaultSize:n,maxSize:l,minSize:c},id:D,idIsFromProps:void 0!==a,order:f});(0,$.useRef)({didLogMissingDefaultSizeWarning:!1}),v4(()=>{let{callbacks:e,constraints:r}=E.current,o={...r};E.current.id=D,E.current.idIsFromProps=void 0!==a,E.current.order=f,e.onCollapse=d,e.onExpand=u,e.onResize=h,r.collapsedSize=s,r.collapsible=i,r.defaultSize=n,r.maxSize=l,r.minSize=c,(o.collapsedSize!==r.collapsedSize||o.collapsible!==r.collapsible||o.maxSize!==r.maxSize||o.minSize!==r.minSize)&&C(E.current,o)}),v4(()=>{let e=E.current;return j(e),()=>{N(e)}},[f,D,j,N]),(0,$.useImperativeHandle)(o,()=>({collapse:()=>{v(E.current)},expand:e=>{_(E.current,e)},getId:()=>D,getSize:()=>y(E.current),isCollapsed:()=>S(E.current),isExpanded:()=>!S(E.current),resize:e=>{k(E.current,e)}}),[v,_,y,S,D,k]);let R=b(E.current,n);return(0,$.createElement)(m,{...g,children:e,className:r,id:D,style:{...R,...p},[v2]:w,"data-panel":"","data-panel-collapsible":i||void 0,"data-panel-id":D,"data-panel-size":parseFloat(""+R.flexGrow).toFixed(1)})}let _t=(0,$.forwardRef)((e,r)=>(0,$.createElement)(_e,{...e,forwardedRef:r}));_e.displayName="Panel",_t.displayName="forwardRef(Panel)";let _r=null,_s=-1,_i=null;function _n(e,s){var i,n,o;let a=function(e,r){if(r){let e=(r&_m)!=0,s=(r&_g)!=0,i=(r&_x)!=0,n=(r&_v)!=0;if(e)if(i)return"se-resize";else if(n)return"ne-resize";else return"e-resize";if(s)if(i)return"sw-resize";else if(n)return"nw-resize";else return"w-resize";if(i)return"s-resize";else if(n)return"n-resize"}switch(e){case"horizontal":return"ew-resize";case"intersection":return"move";case"vertical":return"ns-resize"}}(e,s);_r!==a&&(_r=a,null===_i&&(_i=document.createElement("style"),r&&_i.setAttribute("nonce",r),document.head.appendChild(_i)),_s>=0&&(null==(o=_i.sheet)||o.removeRule(_s)),_s=null!=(i=null==(n=_i.sheet)?void 0:n.insertRule(`*{cursor: ${a} !important;}`))?i:-1)}function _o(e){return"keydown"===e.type}function _a(e){return e.type.startsWith("pointer")}function _l(e){return e.type.startsWith("mouse")}function _c(e){if(_a(e)){if(e.isPrimary)return{x:e.clientX,y:e.clientY}}else if(_l(e))return{x:e.clientX,y:e.clientY};return{x:1/0,y:1/0}}let _d=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function _u(e){let r=e.length;for(;r--;){let s=e[r];if(_T(s,"Missing node"),function(e){var r;let s,i=getComputedStyle(e);return"fixed"===i.position||!!("auto"!==i.zIndex&&("static"!==i.position||"flex"===(s=getComputedStyle(null!=(r=_p(e))?r:e).display)||"inline-flex"===s)||1>+i.opacity||"transform"in i&&"none"!==i.transform||"webkitTransform"in i&&"none"!==i.webkitTransform||"mixBlendMode"in i&&"normal"!==i.mixBlendMode||"filter"in i&&"none"!==i.filter||"webkitFilter"in i&&"none"!==i.webkitFilter||"isolation"in i&&"isolate"===i.isolation||_d.test(i.willChange))||"touch"===i.webkitOverflowScrolling}(s))return s}return null}function _h(e){return e&&Number(getComputedStyle(e).zIndex)||0}function _f(e){let r=[];for(;e;)r.push(e),e=_p(e);return r}function _p(e){let{parentNode:r}=e;return r&&r instanceof ShadowRoot?r.host:r}let _m=1,_g=2,_x=4,_v=8,__="coarse"===function(){if("function"==typeof matchMedia)return matchMedia("(pointer:coarse)").matches?"coarse":"fine"}(),_y=[],_b=!1,_w=new Map,_S=new Map,_C=new Set;function _j(e){let{target:r}=e,{x:s,y:i}=_c(e);_b=!0,_E({target:r,x:s,y:i}),_F(),_y.length>0&&(_M("down",e),e.preventDefault(),_D(r)||e.stopImmediatePropagation())}function _k(e){let{x:r,y:s}=_c(e);if(_b&&0===e.buttons&&(_b=!1,_M("up",e)),!_b){let{target:i}=e;_E({target:i,x:r,y:s})}_M("move",e),_R(),_y.length>0&&e.preventDefault()}function _N(e){let{target:r}=e,{x:s,y:i}=_c(e);_S.clear(),_b=!1,_y.length>0&&(e.preventDefault(),_D(r)||e.stopImmediatePropagation()),_M("up",e),_E({target:r,x:s,y:i}),_R(),_F()}function _D(e){let r=e;for(;r;){if(r.hasAttribute(v5))return!0;r=r.parentElement}return!1}function _E({target:e,x:r,y:s}){_y.splice(0);let i=null;(e instanceof HTMLElement||e instanceof SVGElement)&&(i=e),_C.forEach(e=>{let{element:n,hitAreaMargins:o}=e,a=n.getBoundingClientRect(),{bottom:l,left:c,right:d,top:u}=a,h=__?o.coarse:o.fine;if(r>=c-h&&r<=d+h&&s>=u-h&&s<=l+h){if(null!==i&&document.contains(i)&&n!==i&&!n.contains(i)&&!i.contains(n)&&function(e,r){let s;if(e===r)throw Error("Cannot compare node with itself");let i={a:_f(e),b:_f(r)};for(;i.a.at(-1)===i.b.at(-1);)e=i.a.pop(),r=i.b.pop(),s=e;_T(s,"Stacking order can only be calculated for elements with a common ancestor");let n={a:_h(_u(i.a)),b:_h(_u(i.b))};if(n.a===n.b){let e=s.childNodes,r={a:i.a.at(-1),b:i.b.at(-1)},n=e.length;for(;n--;){let s=e[n];if(s===r.a)return 1;if(s===r.b)return -1}}return Math.sign(n.a-n.b)}(i,n)>0){let e=i,r=!1;for(;e;){var f;if(e.contains(n))break;if(f=e.getBoundingClientRect(),f.x<a.x+a.width&&f.x+f.width>a.x&&f.y<a.y+a.height&&f.y+f.height>a.y){r=!0;break}e=e.parentElement}if(r)return}_y.push(e)}})}function _R(){let e=!1,r=!1;_y.forEach(s=>{let{direction:i}=s;"horizontal"===i?e=!0:r=!0});let s=0;_S.forEach(e=>{s|=e}),e&&r?_n("intersection",s):e?_n("horizontal",s):r?_n("vertical",s):null!==_i&&(document.head.removeChild(_i),_r=null,_i=null,_s=-1)}let _A=new AbortController;function _F(){_A.abort();let e={capture:!0,signal:(_A=new AbortController).signal};_C.size&&(_b?(_y.length>0&&_w.forEach((r,s)=>{let{body:i}=s;r>0&&(i.addEventListener("contextmenu",_N,e),i.addEventListener("pointerleave",_k,e),i.addEventListener("pointermove",_k,e))}),window.addEventListener("pointerup",_N,e),window.addEventListener("pointercancel",_N,e)):_w.forEach((r,s)=>{let{body:i}=s;r>0&&(i.addEventListener("pointerdown",_j,e),i.addEventListener("pointermove",_k,e))}))}function _M(e,r){_C.forEach(s=>{let{setResizeHandlerState:i}=s;i(e,_y.includes(s),r)})}function _T(e,r){if(!e)throw console.error(r),Error(r)}function _P(e,r,s=10){return e.toFixed(s)===r.toFixed(s)?0:e>r?1:-1}function _B(e,r,s=10){return 0===_P(e,r,s)}function _L(e,r,s){return 0===_P(e,r,s)}function _I({panelConstraints:e,panelIndex:r,size:s}){let i=e[r];_T(null!=i,`Panel constraints not found for index ${r}`);let{collapsedSize:n=0,collapsible:o,maxSize:a=100,minSize:l=0}=i;return 0>_P(s,l)&&(s=o&&0>_P(s,(n+l)/2)?n:l),s=parseFloat((s=Math.min(a,s)).toFixed(10))}function _O({delta:e,initialLayout:r,panelConstraints:s,pivotIndices:i,prevLayout:n,trigger:o}){if(_L(e,0))return r;let a=[...r],[l,c]=i;_T(null!=l,"Invalid first pivot index"),_T(null!=c,"Invalid second pivot index");let d=0;if("keyboard"===o){{let i=e<0?c:l,n=s[i];_T(n,`Panel constraints not found for index ${i}`);let{collapsedSize:o=0,collapsible:a,minSize:d=0}=n;if(a){let s=r[i];if(_T(null!=s,`Previous layout not found for panel index ${i}`),_L(s,o)){let r=d-s;_P(r,Math.abs(e))>0&&(e=e<0?0-r:r)}}}{let i=e<0?l:c,n=s[i];_T(n,`No panel constraints found for index ${i}`);let{collapsedSize:o=0,collapsible:a,minSize:d=0}=n;if(a){let s=r[i];if(_T(null!=s,`Previous layout not found for panel index ${i}`),_L(s,d)){let r=s-o;_P(r,Math.abs(e))>0&&(e=e<0?0-r:r)}}}}{let i=e<0?1:-1,n=e<0?c:l,o=0;for(;;){let e=r[n];if(_T(null!=e,`Previous layout not found for panel index ${n}`),o+=_I({panelConstraints:s,panelIndex:n,size:100})-e,(n+=i)<0||n>=s.length)break}let a=Math.min(Math.abs(e),Math.abs(o));e=e<0?0-a:a}{let i=e<0?l:c;for(;i>=0&&i<s.length;){let n=Math.abs(e)-Math.abs(d),o=r[i];_T(null!=o,`Previous layout not found for panel index ${i}`);let l=_I({panelConstraints:s,panelIndex:i,size:o-n});if(!_L(o,l)&&(d+=o-l,a[i]=l,d.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?i--:i++}}if(function(e,r,s){if(e.length!==r.length)return!1;for(let s=0;s<e.length;s++)if(!_L(e[s],r[s],void 0))return!1;return!0}(n,a))return n;{let i=e<0?c:l,n=r[i];_T(null!=n,`Previous layout not found for panel index ${i}`);let o=n+d,u=_I({panelConstraints:s,panelIndex:i,size:o});if(a[i]=u,!_L(u,o)){let r=o-u,i=e<0?c:l;for(;i>=0&&i<s.length;){let n=a[i];_T(null!=n,`Previous layout not found for panel index ${i}`);let o=_I({panelConstraints:s,panelIndex:i,size:n+r});if(_L(n,o)||(r-=o-n,a[i]=o),_L(r,0))break;e>0?i--:i++}}}return _L(a.reduce((e,r)=>r+e,0),100)?a:n}function _z(e,r=document){return Array.from(r.querySelectorAll(`[${v3}][data-panel-group-id="${e}"]`))}function _$(e,r,s=document){let i=_z(e,s).findIndex(e=>e.getAttribute(v3)===r);return null!=i?i:null}function _W(e,r,s){let i=_$(e,r,s);return null!=i?[i,i+1]:[-1,-1]}function _H(e,r=document){var s;if(r instanceof HTMLElement&&(null==r||null==(s=r.dataset)?void 0:s.panelGroupId)==e)return r;let i=r.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`);return i||null}function _U(e,r=document){let s=r.querySelector(`[${v3}="${e}"]`);return s||null}function _K(e,r){if(e.length!==r.length)return!1;for(let s=0;s<e.length;s++)if(e[s]!==r[s])return!1;return!0}function _q(e,r){let{x:s,y:i}=_c(r);return"horizontal"===e?s:i}function _V(e,r,s){r.forEach((r,i)=>{let n=e[i];_T(n,`Panel data not found for index ${i}`);let{callbacks:o,constraints:a,id:l}=n,{collapsedSize:c=0,collapsible:d}=a,u=s[l];if(null==u||r!==u){s[l]=r;let{onCollapse:e,onExpand:i,onResize:n}=o;n&&n(r,u),d&&(e||i)&&(i&&(null==u||_B(u,c))&&!_B(r,c)&&i(),e&&(null==u||!_B(u,c))&&_B(r,c)&&e())}})}function _Y(e,r){if(e.length!==r.length)return!1;for(let s=0;s<e.length;s++)if(e[s]!=r[s])return!1;return!0}function _G(e){try{if("undefined"!=typeof localStorage)e.getItem=e=>localStorage.getItem(e),e.setItem=(e,r)=>{localStorage.setItem(e,r)};else throw Error("localStorage not supported in this environment")}catch(r){console.error(r),e.getItem=()=>null,e.setItem=()=>{}}}function _X(e){return`react-resizable-panels:${e}`}function _J(e){return e.map(e=>{let{constraints:r,id:s,idIsFromProps:i,order:n}=e;return i?s:n?`${n}:${JSON.stringify(r)}`:JSON.stringify(r)}).sort((e,r)=>e.localeCompare(r)).join(",")}function _Z(e,r){try{let s=_X(e),i=r.getItem(s);if(i){let e=JSON.parse(i);if("object"==typeof e&&null!=e)return e}}catch(e){}return null}function _Q(e,r,s,i,n){var o;let a=_X(e),l=_J(r),c=null!=(o=_Z(e,n))?o:{};c[l]={expandToSizes:Object.fromEntries(s.entries()),layout:i};try{n.setItem(a,JSON.stringify(c))}catch(e){console.error(e)}}function _0({layout:e,panelConstraints:r}){let s=[...e],i=s.reduce((e,r)=>e+r,0);if(s.length!==r.length)throw Error(`Invalid ${r.length} panel layout: ${s.map(e=>`${e}%`).join(", ")}`);if(!_L(i,100)&&s.length>0)for(let e=0;e<r.length;e++){let r=s[e];_T(null!=r,`No layout data found for index ${e}`);let n=100/i*r;s[e]=n}let n=0;for(let e=0;e<r.length;e++){let i=s[e];_T(null!=i,`No layout data found for index ${e}`);let o=_I({panelConstraints:r,panelIndex:e,size:i});i!=o&&(n+=i-o,s[e]=o)}if(!_L(n,0))for(let e=0;e<r.length;e++){let i=s[e];_T(null!=i,`No layout data found for index ${e}`);let o=_I({panelConstraints:r,panelIndex:e,size:i+n});if(i!==o&&(n-=o-i,s[e]=o,_L(n,0)))break}return s}let _1={getItem:e=>(_G(_1),_1.getItem(e)),setItem:(e,r)=>{_G(_1),_1.setItem(e,r)}},_2={};function _5({autoSaveId:e=null,children:r,className:s="",direction:i,forwardedRef:n,id:o=null,onLayout:a=null,keyboardResizeBy:l=null,storage:c=_1,style:d,tagName:u="div",...h}){let f=v9(o),p=(0,$.useRef)(null),[m,g]=(0,$.useState)(null),[x,v]=(0,$.useState)([]),_=function(){let[e,r]=(0,$.useState)(0);return(0,$.useCallback)(()=>r(e=>e+1),[])}(),y=(0,$.useRef)({}),b=(0,$.useRef)(new Map),w=(0,$.useRef)(0),S=(0,$.useRef)({autoSaveId:e,direction:i,dragState:m,id:f,keyboardResizeBy:l,onLayout:a,storage:c}),C=(0,$.useRef)({layout:x,panelDataArray:[],panelDataArrayChanged:!1});(0,$.useRef)({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),(0,$.useImperativeHandle)(n,()=>({getId:()=>S.current.id,getLayout:()=>{let{layout:e}=C.current;return e},setLayout:e=>{let{onLayout:r}=S.current,{layout:s,panelDataArray:i}=C.current,n=_0({layout:e,panelConstraints:i.map(e=>e.constraints)});_K(s,n)||(v(n),C.current.layout=n,r&&r(n),_V(i,n,y.current))}}),[]),v4(()=>{S.current.autoSaveId=e,S.current.direction=i,S.current.dragState=m,S.current.id=f,S.current.onLayout=a,S.current.storage=c}),function({committedValuesRef:e,eagerValuesRef:r,groupId:s,layout:i,panelDataArray:n,panelGroupElement:o,setLayout:a}){(0,$.useRef)({didWarnAboutMissingResizeHandle:!1}),v4(()=>{if(!o)return;let e=_z(s,o);for(let r=0;r<n.length-1;r++){let{valueMax:s,valueMin:o,valueNow:a}=function({layout:e,panelsArray:r,pivotIndices:s}){let i=0,n=100,o=0,a=0,l=s[0];return _T(null!=l,"No pivot index found"),r.forEach((e,r)=>{let{constraints:s}=e,{maxSize:c=100,minSize:d=0}=s;r===l?(i=d,n=c):(o+=d,a+=c)}),{valueMax:Math.min(n,100-o),valueMin:Math.max(i,100-a),valueNow:e[l]}}({layout:i,panelsArray:n,pivotIndices:[r,r+1]}),l=e[r];if(null==l);else{let e=n[r];_T(e,`No panel data found for index "${r}"`),l.setAttribute("aria-controls",e.id),l.setAttribute("aria-valuemax",""+Math.round(s)),l.setAttribute("aria-valuemin",""+Math.round(o)),l.setAttribute("aria-valuenow",null!=a?""+Math.round(a):"")}}return()=>{e.forEach((e,r)=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-valuemax"),e.removeAttribute("aria-valuemin"),e.removeAttribute("aria-valuenow")})}},[s,i,n,o]),(0,$.useEffect)(()=>{if(!o)return;let e=r.current;_T(e,"Eager values not found");let{panelDataArray:n}=e;_T(null!=_H(s,o),`No group found for id "${s}"`);let l=_z(s,o);_T(l,`No resize handles found for group id "${s}"`);let c=l.map(e=>{let r=e.getAttribute(v3);_T(r,"Resize handle element has no handle id attribute");let[l,c]=function(e,r,s,i=document){var n,o,a,l;let c=_U(r,i),d=_z(e,i),u=c?d.indexOf(c):-1;return[null!=(n=null==(o=s[u])?void 0:o.id)?n:null,null!=(a=null==(l=s[u+1])?void 0:l.id)?a:null]}(s,r,n,o);if(null==l||null==c)return()=>{};let d=e=>{if(!e.defaultPrevented&&"Enter"===e.key){e.preventDefault();let c=n.findIndex(e=>e.id===l);if(c>=0){let e=n[c];_T(e,`No panel data found for index ${c}`);let l=i[c],{collapsedSize:d=0,collapsible:u,minSize:h=0}=e.constraints;if(null!=l&&u){let e=_O({delta:_L(l,d)?h-d:d-l,initialLayout:i,panelConstraints:n.map(e=>e.constraints),pivotIndices:_W(s,r,o),prevLayout:i,trigger:"keyboard"});i!==e&&a(e)}}}};return e.addEventListener("keydown",d),()=>{e.removeEventListener("keydown",d)}});return()=>{c.forEach(e=>e())}},[o,e,r,s,i,n,a])}({committedValuesRef:S,eagerValuesRef:C,groupId:f,layout:x,panelDataArray:C.current.panelDataArray,setLayout:v,panelGroupElement:p.current}),(0,$.useEffect)(()=>{let{panelDataArray:r}=C.current;if(e){if(0===x.length||x.length!==r.length)return;let s=_2[e];null==s&&(s=function(e,r=10){let s=null;return(...i)=>{null!==s&&clearTimeout(s),s=setTimeout(()=>{e(...i)},r)}}(_Q,100),_2[e]=s),s(e,[...r],new Map(b.current),x,c)}},[e,x,c]),(0,$.useEffect)(()=>{});let j=(0,$.useCallback)(e=>{let{onLayout:r}=S.current,{layout:s,panelDataArray:i}=C.current;if(e.constraints.collapsible){let n=i.map(e=>e.constraints),{collapsedSize:o=0,panelSize:a,pivotIndices:l}=_6(i,e,s);if(_T(null!=a,`Panel size not found for panel "${e.id}"`),!_B(a,o)){b.current.set(e.id,a);let c=_O({delta:_4(i,e)===i.length-1?a-o:o-a,initialLayout:s,panelConstraints:n,pivotIndices:l,prevLayout:s,trigger:"imperative-api"});_Y(s,c)||(v(c),C.current.layout=c,r&&r(c),_V(i,c,y.current))}}},[]),k=(0,$.useCallback)((e,r)=>{let{onLayout:s}=S.current,{layout:i,panelDataArray:n}=C.current;if(e.constraints.collapsible){let o=n.map(e=>e.constraints),{collapsedSize:a=0,panelSize:l=0,minSize:c=0,pivotIndices:d}=_6(n,e,i),u=null!=r?r:c;if(_B(l,a)){let r=b.current.get(e.id),a=null!=r&&r>=u?r:u,c=_O({delta:_4(n,e)===n.length-1?l-a:a-l,initialLayout:i,panelConstraints:o,pivotIndices:d,prevLayout:i,trigger:"imperative-api"});_Y(i,c)||(v(c),C.current.layout=c,s&&s(c),_V(n,c,y.current))}}},[]),N=(0,$.useCallback)(e=>{let{layout:r,panelDataArray:s}=C.current,{panelSize:i}=_6(s,e,r);return _T(null!=i,`Panel size not found for panel "${e.id}"`),i},[]),D=(0,$.useCallback)((e,r)=>{let{panelDataArray:s}=C.current,i=_4(s,e);return function({defaultSize:e,dragState:r,layout:s,panelData:i,panelIndex:n,precision:o=3}){let a=s[n];return{flexBasis:0,flexGrow:null==a?void 0!=e?e.toPrecision(o):"1":1===i.length?"1":a.toPrecision(o),flexShrink:1,overflow:"hidden",pointerEvents:null!==r?"none":void 0}}({defaultSize:r,dragState:m,layout:x,panelData:s,panelIndex:i})},[m,x]),E=(0,$.useCallback)(e=>{let{layout:r,panelDataArray:s}=C.current,{collapsedSize:i=0,collapsible:n,panelSize:o}=_6(s,e,r);return _T(null!=o,`Panel size not found for panel "${e.id}"`),!0===n&&_B(o,i)},[]),R=(0,$.useCallback)(e=>{let{layout:r,panelDataArray:s}=C.current,{collapsedSize:i=0,collapsible:n,panelSize:o}=_6(s,e,r);return _T(null!=o,`Panel size not found for panel "${e.id}"`),!n||_P(o,i)>0},[]),A=(0,$.useCallback)(e=>{let{panelDataArray:r}=C.current;r.push(e),r.sort((e,r)=>{let s=e.order,i=r.order;return null==s&&null==i?0:null==s?-1:null==i?1:s-i}),C.current.panelDataArrayChanged=!0,_()},[_]);v4(()=>{if(C.current.panelDataArrayChanged){C.current.panelDataArrayChanged=!1;let{autoSaveId:s,onLayout:i,storage:n}=S.current,{layout:o,panelDataArray:a}=C.current,l=null;if(s){var e,r;let i=null!=(r=(null!=(e=_Z(s,n))?e:{})[_J(a)])?r:null;i&&(b.current=new Map(Object.entries(i.expandToSizes)),l=i.layout)}null==l&&(l=function({panelDataArray:e}){let r=Array(e.length),s=e.map(e=>e.constraints),i=0,n=100;for(let o=0;o<e.length;o++){let e=s[o];_T(e,`Panel constraints not found for index ${o}`);let{defaultSize:a}=e;null!=a&&(i++,r[o]=a,n-=a)}for(let o=0;o<e.length;o++){let a=s[o];_T(a,`Panel constraints not found for index ${o}`);let{defaultSize:l}=a;if(null!=l)continue;let c=n/(e.length-i);i++,r[o]=c,n-=c}return r}({panelDataArray:a}));let c=_0({layout:l,panelConstraints:a.map(e=>e.constraints)});_K(o,c)||(v(c),C.current.layout=c,i&&i(c),_V(a,c,y.current))}}),v4(()=>{let e=C.current;return()=>{e.layout=[]}},[]);let F=(0,$.useCallback)(e=>{let r=!1,s=p.current;return s&&"rtl"===window.getComputedStyle(s,null).getPropertyValue("direction")&&(r=!0),function(s){var i,n;s.preventDefault();let o=p.current;if(!o)return()=>null;let{direction:a,dragState:l,id:c,keyboardResizeBy:d,onLayout:u}=S.current,{layout:h,panelDataArray:f}=C.current,{initialLayout:m}=null!=l?l:{},g=_W(c,e,o),x=function(e,r,s,i,n,o){if(_o(e)){let r="horizontal"===s,i=0;i=e.shiftKey?100:null!=n?n:10;let o=0;switch(e.key){case"ArrowDown":o=r?0:i;break;case"ArrowLeft":o=r?-i:0;break;case"ArrowRight":o=r?i:0;break;case"ArrowUp":o=r?0:-i;break;case"End":o=100;break;case"Home":o=-100}return o}return null==i?0:function(e,r,s,i,n){let o="horizontal"===s,a=_U(r,n);_T(a,`No resize handle element found for id "${r}"`);let l=a.getAttribute(v2);_T(l,"Resize handle element has no group id attribute");let{initialCursorPosition:c}=i,d=_q(s,e),u=_H(l,n);_T(u,`No group element found for id "${l}"`);let h=u.getBoundingClientRect();return(d-c)/(o?h.width:h.height)*100}(e,r,s,i,o)}(s,e,a,l,d,o),_="horizontal"===a;_&&r&&(x=-x);let b=_O({delta:x,initialLayout:null!=m?m:h,panelConstraints:f.map(e=>e.constraints),pivotIndices:g,prevLayout:h,trigger:_o(s)?"keyboard":"mouse-or-touch"}),j=!_Y(h,b);(_a(s)||_l(s))&&w.current!=x&&((w.current=x,j||0===x)?_S.set(e,0):_?(i=x<0?_m:_g,_S.set(e,i)):(n=x<0?_x:_v,_S.set(e,n))),j&&(v(b),C.current.layout=b,u&&u(b),_V(f,b,y.current))}},[]),M=(0,$.useCallback)((e,r)=>{let{onLayout:s}=S.current,{layout:i,panelDataArray:n}=C.current,o=n.map(e=>e.constraints),{panelSize:a,pivotIndices:l}=_6(n,e,i);_T(null!=a,`Panel size not found for panel "${e.id}"`);let c=_O({delta:_4(n,e)===n.length-1?a-r:r-a,initialLayout:i,panelConstraints:o,pivotIndices:l,prevLayout:i,trigger:"imperative-api"});_Y(i,c)||(v(c),C.current.layout=c,s&&s(c),_V(n,c,y.current))},[]),T=(0,$.useCallback)((e,r)=>{let{layout:s,panelDataArray:i}=C.current,{collapsedSize:n=0,collapsible:o}=r,{collapsedSize:a=0,collapsible:l,maxSize:c=100,minSize:d=0}=e.constraints,{panelSize:u}=_6(i,e,s);null!=u&&(o&&l&&_B(u,n)?_B(n,a)||M(e,a):u<d?M(e,d):u>c&&M(e,c))},[M]),P=(0,$.useCallback)((e,r)=>{let{direction:s}=S.current,{layout:i}=C.current;if(!p.current)return;let n=_U(e,p.current);_T(n,`Drag handle element not found for id "${e}"`);let o=_q(s,r);g({dragHandleId:e,dragHandleRect:n.getBoundingClientRect(),initialCursorPosition:o,initialLayout:i})},[]),B=(0,$.useCallback)(()=>{g(null)},[]),L=(0,$.useCallback)(e=>{let{panelDataArray:r}=C.current,s=_4(r,e);s>=0&&(r.splice(s,1),delete y.current[e.id],C.current.panelDataArrayChanged=!0,_())},[_]),I=(0,$.useMemo)(()=>({collapsePanel:j,direction:i,dragState:m,expandPanel:k,getPanelSize:N,getPanelStyle:D,groupId:f,isPanelCollapsed:E,isPanelExpanded:R,reevaluatePanelConstraints:T,registerPanel:A,registerResizeHandle:F,resizePanel:M,startDragging:P,stopDragging:B,unregisterPanel:L,panelGroupElement:p.current}),[j,m,i,k,N,D,f,E,R,T,A,F,M,P,B,L]);return(0,$.createElement)(v0.Provider,{value:I},(0,$.createElement)(u,{...h,children:r,className:s,id:o,ref:p,style:{display:"flex",flexDirection:"horizontal"===i?"row":"column",height:"100%",overflow:"hidden",width:"100%",...d},"data-panel-group":"",[v1]:i,[v2]:f}))}let _3=(0,$.forwardRef)((e,r)=>(0,$.createElement)(_5,{...e,forwardedRef:r}));function _4(e,r){return e.findIndex(e=>e===r||e.id===r.id)}function _6(e,r,s){let i=_4(e,r),n=i===e.length-1,o=s[i];return{...r.constraints,panelSize:o,pivotIndices:n?[i-1,i]:[i,i+1]}}function _8({children:e=null,className:r="",disabled:s=!1,hitAreaMargins:i,id:n,onBlur:o,onClick:a,onDragging:l,onFocus:c,onPointerDown:d,onPointerUp:u,style:h={},tabIndex:f=0,tagName:p="div",...m}){var g,x;let v=(0,$.useRef)(null),_=(0,$.useRef)({onClick:a,onDragging:l,onPointerDown:d,onPointerUp:u});(0,$.useEffect)(()=>{_.current.onClick=a,_.current.onDragging=l,_.current.onPointerDown=d,_.current.onPointerUp=u});let y=(0,$.useContext)(v0);if(null===y)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");let{direction:b,groupId:w,registerResizeHandle:S,startDragging:C,stopDragging:j,panelGroupElement:k}=y,N=v9(n),[D,E]=(0,$.useState)("inactive"),[R,A]=(0,$.useState)(!1),[F,M]=(0,$.useState)(null),T=(0,$.useRef)({state:D});v4(()=>{T.current.state=D}),(0,$.useEffect)(()=>{if(s)M(null);else{let e=S(N);M(()=>e)}},[s,N,S]);let P=null!=(g=null==i?void 0:i.coarse)?g:15,B=null!=(x=null==i?void 0:i.fine)?x:5;return(0,$.useEffect)(()=>{if(s||null==F)return;let e=v.current;_T(e,"Element ref not attached");let r=!1;return function(e,r,s,i,n){var o;let{ownerDocument:a}=r,l={direction:s,element:r,hitAreaMargins:i,setResizeHandlerState:n},c=null!=(o=_w.get(a))?o:0;return _w.set(a,c+1),_C.add(l),_F(),function(){var r;_S.delete(e),_C.delete(l);let s=null!=(r=_w.get(a))?r:1;if(_w.set(a,s-1),_F(),1===s&&_w.delete(a),_y.includes(l)){let e=_y.indexOf(l);e>=0&&_y.splice(e,1),_R(),n("up",!0,null)}}}(N,e,b,{coarse:P,fine:B},(e,s,i)=>{if(!s)return void E("inactive");switch(e){case"down":{E("drag"),r=!1,_T(i,'Expected event to be defined for "down" action'),C(N,i);let{onDragging:e,onPointerDown:s}=_.current;null==e||e(!0),null==s||s();break}case"move":{let{state:e}=T.current;r=!0,"drag"!==e&&E("hover"),_T(i,'Expected event to be defined for "move" action'),F(i);break}case"up":{E("hover"),j();let{onClick:e,onDragging:s,onPointerUp:i}=_.current;null==s||s(!1),null==i||i(),r||null==e||e()}}})},[P,b,s,B,S,N,F,C,j]),!function({disabled:e,handleId:r,resizeHandler:s,panelGroupElement:i}){(0,$.useEffect)(()=>{if(e||null==s||null==i)return;let n=_U(r,i);if(null==n)return;let o=e=>{if(!e.defaultPrevented)switch(e.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":e.preventDefault(),s(e);break;case"F6":{e.preventDefault();let s=n.getAttribute(v2);_T(s,`No group element found for id "${s}"`);let o=_z(s,i),a=_$(s,r,i);_T(null!==a,`No resize element found for id "${r}"`);let l=e.shiftKey?a>0?a-1:o.length-1:a+1<o.length?a+1:0;o[l].focus()}}};return n.addEventListener("keydown",o),()=>{n.removeEventListener("keydown",o)}},[i,e,r,s])}({disabled:s,handleId:N,resizeHandler:F,panelGroupElement:k}),(0,$.createElement)(p,{...m,children:e,className:r,id:n,onBlur:()=>{A(!1),null==o||o()},onFocus:()=>{A(!0),null==c||c()},ref:v,role:"separator",style:{touchAction:"none",userSelect:"none",...h},tabIndex:f,[v1]:b,[v2]:w,[v5]:"","data-resize-handle-active":"drag"===D?"pointer":R?"keyboard":void 0,"data-panel-resize-handle-enabled":!s,[v3]:N,"data-resize-handle-state":D})}_5.displayName="PanelGroup",_3.displayName="forwardRef(PanelGroup)",_8.displayName="PanelResizeHandle";let _7=({className:e,...r})=>(0,z.jsx)(_3,{className:(0,ey.cn)("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...r}),_9=({withHandle:e,className:r,...s})=>(0,z.jsx)(_8,{className:(0,ey.cn)("relative flex w-px items-center justify-center bg-border/60 after:absolute after:inset-y-0 after:-left-1 after:-right-1 after:content-[''] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:inset-x-0 data-[panel-group-direction=vertical]:after:-top-1 data-[panel-group-direction=vertical]:after:-bottom-1 data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:right-0 [&[data-resize-handle-active]]:bg-ring",r),...s,children:e&&(0,z.jsx)("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:(0,z.jsx)(d$,{className:"h-2.5 w-2.5"})})});function ye({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"input-group",role:"group",className:(0,ey.cn)("group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none","h-9 min-w-0 has-[textarea]:h-auto","has-[>[data-align=inline-start]]:[&>input]:pl-2","has-[>[data-align=inline-end]]:[&>input]:pr-2","has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3","has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3","has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]","has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40",e),...r})}let yt=(0,o9.cva)("text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50",{variants:{align:{"inline-start":"order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]","inline-end":"order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]","block-start":"order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5","block-end":"order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5"}},defaultVariants:{align:"inline-start"}});function yr({className:e,align:r="inline-start",...s}){return(0,z.jsx)("div",{role:"group","data-slot":"input-group-addon","data-align":r,className:(0,ey.cn)(yt({align:r}),e),onClick:e=>{e.target.closest("button")||e.currentTarget.parentElement?.querySelector("input")?.focus()},...s})}let ys=(0,o9.cva)("text-sm shadow-none flex gap-2 items-center",{variants:{size:{xs:"h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2",sm:"h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function yi({className:e,type:r="button",variant:s="ghost",size:i="xs",...n}){return(0,z.jsx)(W.Button,{type:r,"data-size":i,variant:s,className:(0,ey.cn)(ys({size:i}),e),...n})}function yn({className:e,...r}){return(0,z.jsx)(ro,{"data-slot":"input-group-control",className:(0,ey.cn)("flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent",e),...r})}function yo({className:e,...r}){return(0,z.jsx)(ra,{"data-slot":"input-group-control",className:(0,ey.cn)("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent",e),...r})}var ya=/[\\\/_+.#"@\[\(\{&]/,yl=/[\\\/_+.#"@\[\(\{&]/g,yc=/[\s-]/,yd=/[\s-]/g;function yu(e){return e.toLowerCase().replace(yd," ")}var yh=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let s=o4(`Primitive.${r}`),i=$.forwardRef((e,i)=>{let{asChild:n,...o}=e;return"undefined"!=typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,z.jsx)(n?s:r,{...o,ref:i})});return i.displayName=`Primitive.${r}`,{...e,[r]:i}},{}),yf='[cmdk-group=""]',yp='[cmdk-group-items=""]',ym='[cmdk-item=""]',yg=`${ym}:not([aria-disabled="true"])`,yx="cmdk-item-select",yv="data-value",y_=(e,r,s)=>{var i;return i=e,function e(r,s,i,n,o,a,l){if(a===s.length)return o===r.length?1:.99;var c=`${o},${a}`;if(void 0!==l[c])return l[c];for(var d,u,h,f,p=n.charAt(a),m=i.indexOf(p,o),g=0;m>=0;)(d=e(r,s,i,n,m+1,a+1,l))>g&&(m===o?d*=1:ya.test(r.charAt(m-1))?(d*=.8,(h=r.slice(o,m-1).match(yl))&&o>0&&(d*=Math.pow(.999,h.length))):yc.test(r.charAt(m-1))?(d*=.9,(f=r.slice(o,m-1).match(yd))&&o>0&&(d*=Math.pow(.999,f.length))):(d*=.17,o>0&&(d*=Math.pow(.999,m-o))),r.charAt(m)!==s.charAt(a)&&(d*=.9999)),(d<.1&&i.charAt(m-1)===n.charAt(a+1)||n.charAt(a+1)===n.charAt(a)&&i.charAt(m-1)!==n.charAt(a))&&.1*(u=e(r,s,i,n,m+1,a+2,l))>d&&(d=.1*u),d>g&&(g=d),m=i.indexOf(p,m+1);return l[c]=g,g}(i=s&&s.length>0?`${i+" "+s.join(" ")}`:i,r,yu(i),yu(r),0,0,{})},yy=$.createContext(void 0),yb=$.createContext(void 0),yw=$.createContext(void 0),yS=$.forwardRef((e,r)=>{let s=yM(()=>{var r,s;return{search:"",value:null!=(s=null!=(r=e.value)?r:e.defaultValue)?s:"",selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}}}),i=yM(()=>new Set),n=yM(()=>new Map),o=yM(()=>new Map),a=yM(()=>new Set),l=yA(e),{label:c,children:d,value:u,onValueChange:h,filter:f,shouldFilter:p,loop:m,disablePointerSelection:g=!1,vimBindings:x=!0,...v}=e,_=ek(),y=ek(),b=ek(),w=$.useRef(null),S=yB();yF(()=>{if(void 0!==u){let e=u.trim();s.current.value=e,C.emit()}},[u]),yF(()=>{S(6,R)},[]);let C=$.useMemo(()=>({subscribe:e=>(a.current.add(e),()=>a.current.delete(e)),snapshot:()=>s.current,setState:(e,r,i)=>{var n,o,a,c;if(!Object.is(s.current[e],r)){if(s.current[e]=r,"search"===e)E(),N(),S(1,D);else if("value"===e){if(document.activeElement.hasAttribute("cmdk-input")||document.activeElement.hasAttribute("cmdk-root")){let e=document.getElementById(b);e?e.focus():null==(n=document.getElementById(_))||n.focus()}if(S(7,()=>{var e;s.current.selectedItemId=null==(e=A())?void 0:e.id,C.emit()}),i||S(5,R),(null==(o=l.current)?void 0:o.value)!==void 0){null==(c=(a=l.current).onValueChange)||c.call(a,null!=r?r:"");return}}C.emit()}},emit:()=>{a.current.forEach(e=>e())}}),[]),j=$.useMemo(()=>({value:(e,r,i)=>{var n;r!==(null==(n=o.current.get(e))?void 0:n.value)&&(o.current.set(e,{value:r,keywords:i}),s.current.filtered.items.set(e,k(r,i)),S(2,()=>{N(),C.emit()}))},item:(e,r)=>(i.current.add(e),r&&(n.current.has(r)?n.current.get(r).add(e):n.current.set(r,new Set([e]))),S(3,()=>{E(),N(),s.current.value||D(),C.emit()}),()=>{o.current.delete(e),i.current.delete(e),s.current.filtered.items.delete(e);let r=A();S(4,()=>{E(),(null==r?void 0:r.getAttribute("id"))===e&&D(),C.emit()})}),group:e=>(n.current.has(e)||n.current.set(e,new Set),()=>{o.current.delete(e),n.current.delete(e)}),filter:()=>l.current.shouldFilter,label:c||e["aria-label"],getDisablePointerSelection:()=>l.current.disablePointerSelection,listId:_,inputId:b,labelId:y,listInnerRef:w}),[]);function k(e,r){var i,n;let o=null!=(n=null==(i=l.current)?void 0:i.filter)?n:y_;return e?o(e,s.current.search,r):0}function N(){if(!s.current.search||!1===l.current.shouldFilter)return;let e=s.current.filtered.items,r=[];s.current.filtered.groups.forEach(s=>{let i=n.current.get(s),o=0;i.forEach(r=>{o=Math.max(e.get(r),o)}),r.push([s,o])});let i=w.current;F().sort((r,s)=>{var i,n;let o=r.getAttribute("id"),a=s.getAttribute("id");return(null!=(i=e.get(a))?i:0)-(null!=(n=e.get(o))?n:0)}).forEach(e=>{let r=e.closest(yp);r?r.appendChild(e.parentElement===r?e:e.closest(`${yp} > *`)):i.appendChild(e.parentElement===i?e:e.closest(`${yp} > *`))}),r.sort((e,r)=>r[1]-e[1]).forEach(e=>{var r;let s=null==(r=w.current)?void 0:r.querySelector(`${yf}[${yv}="${encodeURIComponent(e[0])}"]`);null==s||s.parentElement.appendChild(s)})}function D(){let e=F().find(e=>"true"!==e.getAttribute("aria-disabled")),r=null==e?void 0:e.getAttribute(yv);C.setState("value",r||void 0)}function E(){var e,r,a,c;if(!s.current.search||!1===l.current.shouldFilter){s.current.filtered.count=i.current.size;return}s.current.filtered.groups=new Set;let d=0;for(let n of i.current){let i=k(null!=(r=null==(e=o.current.get(n))?void 0:e.value)?r:"",null!=(c=null==(a=o.current.get(n))?void 0:a.keywords)?c:[]);s.current.filtered.items.set(n,i),i>0&&d++}for(let[e,r]of n.current)for(let i of r)if(s.current.filtered.items.get(i)>0){s.current.filtered.groups.add(e);break}s.current.filtered.count=d}function R(){var e,r,s;let i=A();i&&((null==(e=i.parentElement)?void 0:e.firstChild)===i&&(null==(s=null==(r=i.closest(yf))?void 0:r.querySelector('[cmdk-group-heading=""]'))||s.scrollIntoView({block:"nearest"})),i.scrollIntoView({block:"nearest"}))}function A(){var e;return null==(e=w.current)?void 0:e.querySelector(`${ym}[aria-selected="true"]`)}function F(){var e;return Array.from((null==(e=w.current)?void 0:e.querySelectorAll(yg))||[])}function M(e){let r=F()[e];r&&C.setState("value",r.getAttribute(yv))}function T(e){var r;let s=A(),i=F(),n=i.findIndex(e=>e===s),o=i[n+e];null!=(r=l.current)&&r.loop&&(o=n+e<0?i[i.length-1]:n+e===i.length?i[0]:i[n+e]),o&&C.setState("value",o.getAttribute(yv))}function P(e){let r=A(),s=null==r?void 0:r.closest(yf),i;for(;s&&!i;)i=null==(s=e>0?function(e,r){let s=e.nextElementSibling;for(;s;){if(s.matches(r))return s;s=s.nextElementSibling}}(s,yf):function(e,r){let s=e.previousElementSibling;for(;s;){if(s.matches(r))return s;s=s.previousElementSibling}}(s,yf))?void 0:s.querySelector(yg);i?C.setState("value",i.getAttribute(yv)):T(e)}let B=()=>M(F().length-1),L=e=>{e.preventDefault(),e.metaKey?B():e.altKey?P(1):T(1)},I=e=>{e.preventDefault(),e.metaKey?M(0):e.altKey?P(-1):T(-1)};return $.createElement(yh.div,{ref:r,tabIndex:-1,...v,"cmdk-root":"",onKeyDown:e=>{var r;null==(r=v.onKeyDown)||r.call(v,e);let s=e.nativeEvent.isComposing||229===e.keyCode;if(!(e.defaultPrevented||s))switch(e.key){case"n":case"j":x&&e.ctrlKey&&L(e);break;case"ArrowDown":L(e);break;case"p":case"k":x&&e.ctrlKey&&I(e);break;case"ArrowUp":I(e);break;case"Home":e.preventDefault(),M(0);break;case"End":e.preventDefault(),B();break;case"Enter":{e.preventDefault();let r=A();if(r){let e=new Event(yx);r.dispatchEvent(e)}}}}},$.createElement("label",{"cmdk-label":"",htmlFor:j.inputId,id:j.labelId,style:yI},c),yL(e,e=>$.createElement(yb.Provider,{value:C},$.createElement(yy.Provider,{value:j},e))))}),yC=$.forwardRef((e,r)=>{var s,i;let n=ek(),o=$.useRef(null),a=$.useContext(yw),l=$.useContext(yy),c=yA(e),d=null!=(i=null==(s=c.current)?void 0:s.forceMount)?i:null==a?void 0:a.forceMount;yF(()=>{if(!d)return l.item(n,null==a?void 0:a.id)},[d]);let u=yP(n,o,[e.value,e.children,o],e.keywords),h=$.useContext(yb),f=yT(e=>e.value&&e.value===u.current),p=yT(e=>!!d||!1===l.filter()||!e.search||e.filtered.items.get(n)>0);function m(){var e,r;g(),null==(r=(e=c.current).onSelect)||r.call(e,u.current)}function g(){h.setState("value",u.current,!0)}if($.useEffect(()=>{let r=o.current;if(!(!r||e.disabled))return r.addEventListener(yx,m),()=>r.removeEventListener(yx,m)},[p,e.onSelect,e.disabled]),!p)return null;let{disabled:x,value:v,onSelect:_,forceMount:y,keywords:b,...w}=e;return $.createElement(yh.div,{ref:(0,U.composeRefs)(o,r),...w,id:n,"cmdk-item":"",role:"option","aria-disabled":!!x,"aria-selected":!!f,"data-disabled":!!x,"data-selected":!!f,onPointerMove:x||l.getDisablePointerSelection()?void 0:g,onClick:x?void 0:m},e.children)}),yj=$.forwardRef((e,r)=>{let{heading:s,children:i,forceMount:n,...o}=e,a=ek(),l=$.useRef(null),c=$.useRef(null),d=ek(),u=$.useContext(yy),h=yT(e=>!!n||!1===u.filter()||!e.search||e.filtered.groups.has(a));yF(()=>u.group(a),[]),yP(a,l,[e.value,e.heading,c]);let f=$.useMemo(()=>({id:a,forceMount:n}),[n]);return $.createElement(yh.div,{ref:(0,U.composeRefs)(l,r),...o,"cmdk-group":"",role:"presentation",hidden:!h||void 0},s&&$.createElement("div",{ref:c,"cmdk-group-heading":"","aria-hidden":!0,id:d},s),yL(e,e=>$.createElement("div",{"cmdk-group-items":"",role:"group","aria-labelledby":s?d:void 0},$.createElement(yw.Provider,{value:f},e))))}),yk=$.forwardRef((e,r)=>{let{alwaysRender:s,...i}=e,n=$.useRef(null),o=yT(e=>!e.search);return s||o?$.createElement(yh.div,{ref:(0,U.composeRefs)(n,r),...i,"cmdk-separator":"",role:"separator"}):null}),yN=$.forwardRef((e,r)=>{let{onValueChange:s,...i}=e,n=null!=e.value,o=$.useContext(yb),a=yT(e=>e.search),l=yT(e=>e.selectedItemId),c=$.useContext(yy);return $.useEffect(()=>{null!=e.value&&o.setState("search",e.value)},[e.value]),$.createElement(yh.input,{ref:r,...i,"cmdk-input":"",autoComplete:"off",autoCorrect:"off",spellCheck:!1,"aria-autocomplete":"list",role:"combobox","aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":l,id:c.inputId,type:"text",value:n?e.value:a,onChange:e=>{n||o.setState("search",e.target.value),null==s||s(e.target.value)}})}),yD=$.forwardRef((e,r)=>{let{children:s,label:i="Suggestions",...n}=e,o=$.useRef(null),a=$.useRef(null),l=yT(e=>e.selectedItemId),c=$.useContext(yy);return $.useEffect(()=>{if(a.current&&o.current){let e=a.current,r=o.current,s,i=new ResizeObserver(()=>{s=requestAnimationFrame(()=>{let s=e.offsetHeight;r.style.setProperty("--cmdk-list-height",s.toFixed(1)+"px")})});return i.observe(e),()=>{cancelAnimationFrame(s),i.unobserve(e)}}},[]),$.createElement(yh.div,{ref:(0,U.composeRefs)(o,r),...n,"cmdk-list":"",role:"listbox",tabIndex:-1,"aria-activedescendant":l,"aria-label":i,id:c.listId},yL(e,e=>$.createElement("div",{ref:(0,U.composeRefs)(a,c.listInnerRef),"cmdk-list-sizer":""},e)))}),yE=$.forwardRef((e,r)=>{let{open:s,onOpenChange:i,overlayClassName:n,contentClassName:o,container:a,...l}=e;return $.createElement(tM,{open:s,onOpenChange:i},$.createElement(tO,{container:a},$.createElement(t$,{"cmdk-overlay":"",className:n}),$.createElement(tK,{"aria-label":e.label,"cmdk-dialog":"",className:o},$.createElement(yS,{ref:r,...l}))))}),yR=Object.assign(yS,{List:yD,Item:yC,Input:yN,Group:yj,Separator:yk,Dialog:yE,Empty:$.forwardRef((e,r)=>yT(e=>0===e.filtered.count)?$.createElement(yh.div,{ref:r,...e,"cmdk-empty":"",role:"presentation"}):null),Loading:$.forwardRef((e,r)=>{let{progress:s,children:i,label:n="Loading...",...o}=e;return $.createElement(yh.div,{ref:r,...o,"cmdk-loading":"",role:"progressbar","aria-valuenow":s,"aria-valuemin":0,"aria-valuemax":100,"aria-label":n},yL(e,e=>$.createElement("div",{"aria-hidden":!0},e)))})});function yA(e){let r=$.useRef(e);return yF(()=>{r.current=e}),r}var yF="undefined"==typeof window?$.useEffect:$.useLayoutEffect;function yM(e){let r=$.useRef();return void 0===r.current&&(r.current=e()),r}function yT(e){let r=$.useContext(yb),s=()=>e(r.snapshot());return $.useSyncExternalStore(r.subscribe,s,s)}function yP(e,r,s,i=[]){let n=$.useRef(),o=$.useContext(yy);return yF(()=>{var a;let l=(()=>{var e;for(let r of s){if("string"==typeof r)return r.trim();if("object"==typeof r&&"current"in r)return r.current?null==(e=r.current.textContent)?void 0:e.trim():n.current}})(),c=i.map(e=>e.trim());o.value(e,l,c),null==(a=r.current)||a.setAttribute(yv,l),n.current=l}),n}var yB=()=>{let[e,r]=$.useState(),s=yM(()=>new Map);return yF(()=>{s.current.forEach(e=>e()),s.current=new Map},[e]),(e,i)=>{s.current.set(e,i),r({})}};function yL({asChild:e,children:r},s){let i;return e&&$.isValidElement(r)?$.cloneElement("function"==typeof(i=r.type)?i(r.props):"render"in i?i.render(r.props):r,{ref:r.ref},s(r.props.children)):s(r)}var yI={position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"};function yO({className:e,...r}){return(0,z.jsx)(yR,{"data-slot":"command",className:(0,ey.cn)("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",e),...r})}function yz({className:e,...r}){return(0,z.jsx)(yR.List,{"data-slot":"command-list",className:(0,ey.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...r})}function y$({className:e,...r}){return(0,z.jsx)(yR.Item,{"data-slot":"command-item",className:(0,ey.cn)("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r})}let yW=(0,ew.default)("file",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}]]),yH=(0,ew.default)("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]),yU=(0,ew.default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var yK="AlertDialog",[yq,yV]=K(yK,[tR]),yY=tR(),yG=e=>{let{__scopeAlertDialog:r,...s}=e,i=yY(r);return(0,z.jsx)(tM,{...i,...s,modal:!0})};yG.displayName=yK,$.forwardRef((e,r)=>{let{__scopeAlertDialog:s,...i}=e,n=yY(s);return(0,z.jsx)(tP,{...n,...i,ref:r})}).displayName="AlertDialogTrigger";var yX=e=>{let{__scopeAlertDialog:r,...s}=e,i=yY(r);return(0,z.jsx)(tO,{...i,...s})};yX.displayName="AlertDialogPortal";var yJ=$.forwardRef((e,r)=>{let{__scopeAlertDialog:s,...i}=e,n=yY(s);return(0,z.jsx)(t$,{...n,...i,ref:r})});yJ.displayName="AlertDialogOverlay";var yZ="AlertDialogContent",[yQ,y0]=yq(yZ),y1=(0,et.createSlottable)("AlertDialogContent"),y2=$.forwardRef((e,r)=>{let{__scopeAlertDialog:s,children:i,...n}=e,o=yY(s),a=$.useRef(null),l=(0,U.useComposedRefs)(r,a),c=$.useRef(null);return(0,z.jsx)(t5,{contentName:yZ,titleName:y5,docsSlug:"alert-dialog",children:(0,z.jsx)(yQ,{scope:s,cancelRef:c,children:(0,z.jsxs)(tK,{role:"alertdialog",...o,...n,ref:l,onOpenAutoFocus:q(n.onOpenAutoFocus,e=>{e.preventDefault(),c.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,z.jsx)(y1,{children:i}),(0,z.jsx)(be,{contentRef:a})]})})})});y2.displayName=yZ;var y5="AlertDialogTitle",y3=$.forwardRef((e,r)=>{let{__scopeAlertDialog:s,...i}=e,n=yY(s);return(0,z.jsx)(tX,{...n,...i,ref:r})});y3.displayName=y5;var y4="AlertDialogDescription",y6=$.forwardRef((e,r)=>{let{__scopeAlertDialog:s,...i}=e,n=yY(s);return(0,z.jsx)(tZ,{...n,...i,ref:r})});y6.displayName=y4;var y8=$.forwardRef((e,r)=>{let{__scopeAlertDialog:s,...i}=e,n=yY(s);return(0,z.jsx)(t0,{...n,...i,ref:r})});y8.displayName="AlertDialogAction";var y7="AlertDialogCancel",y9=$.forwardRef((e,r)=>{let{__scopeAlertDialog:s,...i}=e,{cancelRef:n}=y0(y7,s),o=yY(s),a=(0,U.useComposedRefs)(r,n);return(0,z.jsx)(t0,{...o,...i,ref:a})});y9.displayName=y7;var be=({contentRef:e})=>{let r=`\`${yZ}\` requires a description for the component to be accessible for screen reader users.
|
|
23
|
+
|
|
24
|
+
You can add a description to the \`${yZ}\` by passing a \`${y4}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
|
25
|
+
|
|
26
|
+
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${yZ}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
|
27
|
+
|
|
28
|
+
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return $.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(r)},[r,e]),null};function bt({...e}){return(0,z.jsx)(yG,{"data-slot":"alert-dialog",...e})}function br({...e}){return(0,z.jsx)(yX,{"data-slot":"alert-dialog-portal",...e})}function bs({className:e,...r}){return(0,z.jsx)(yJ,{"data-slot":"alert-dialog-overlay",className:(0,ey.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...r})}function bi({className:e,...r}){return(0,z.jsxs)(br,{children:[(0,z.jsx)(bs,{}),(0,z.jsx)(y2,{"data-slot":"alert-dialog-content",className:(0,ey.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...r})]})}function bn({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,ey.cn)("flex flex-col gap-2 text-center sm:text-left",e),...r})}function bo({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,ey.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...r})}function ba({className:e,...r}){return(0,z.jsx)(y3,{"data-slot":"alert-dialog-title",className:(0,ey.cn)("text-lg font-semibold",e),...r})}function bl({className:e,...r}){return(0,z.jsx)(y6,{"data-slot":"alert-dialog-description",className:(0,ey.cn)("text-muted-foreground text-sm",e),...r})}function bc({className:e,...r}){return(0,z.jsx)(y8,{className:(0,ey.cn)((0,W.buttonVariants)(),e),...r})}function bd({className:e,...r}){return(0,z.jsx)(y9,{className:(0,ey.cn)((0,W.buttonVariants)({variant:"outline"}),e),...r})}let bu=new Set(["ts","tsx","js","jsx","py","rb","go","rs","java","c","cpp","h","css","scss","html","vue","svelte","php","swift","kt","sh","bash","yaml","yml","toml","json","xml","sql","graphql","proto"]),bh=new Set(["md","txt","log","csv","env","gitignore","dockerignore","editorconfig"]);function bf(e){return Array.from(e.dataTransfer.types).includes("Files")}function bp(e){let r=e.dataTransfer.items;if(r&&r.length>0&&"function"==typeof r[0].webkitGetAsEntry){let e=[];for(let s of Array.from(r)){if("file"!==s.kind)continue;let r=s.webkitGetAsEntry();if(r?.isDirectory)continue;let i=s.getAsFile();i&&e.push(i)}return e}return Array.from(e.dataTransfer.files)}function bm({path:e}){let[r,s]=(0,$.useState)(!1),i=(0,$.useCallback)(r=>{r.stopPropagation(),navigator.clipboard.writeText(e),s(!0),setTimeout(()=>s(!1),1500)},[e]);return(0,z.jsx)("button",{onClick:i,className:"p-0.5 rounded hover:bg-muted-foreground/20 transition-colors",title:`Copy path: ${e}`,children:r?(0,z.jsx)(rh.Check,{className:"h-3 w-3 text-green-500"}):(0,z.jsx)(dg.Copy,{className:"h-3 w-3 text-muted-foreground"})})}function bg({entryPath:e,type:r,deleting:s,onRequestDelete:i}){return s?(0,z.jsx)(rj,{className:"h-3 w-3 animate-spin text-muted-foreground"}):(0,z.jsx)("button",{onClick:s=>{s.stopPropagation(),i(e,r)},className:"p-0.5 rounded hover:bg-destructive/20 transition-colors",title:`Delete ${e}`,"aria-label":`Delete ${e}`,children:(0,z.jsx)(rl,{className:"h-3 w-3 text-muted-foreground hover:text-destructive"})})}function bx({entry:e,path:r,depth:s,expandedDirs:i,directoryContents:n,loadingDirs:o,selectedFile:a,uploadingDirs:l,dragOverPath:c,deletingPaths:d,onToggleDirectory:u,onSelectFile:h,onUploadFiles:f,onSetDragOverPath:p,onRequestDelete:m}){var g,x,v;let _,y,b,w,S,C=i.has(r),j=o.has(r),k=n.get(r),N=e.name.startsWith(".");if("directory"===e.type){let g=C?rv:oq,x=c===r,v=l.has(r),_=d.has(r);return(0,z.jsxs)("div",{children:[(0,z.jsxs)("div",{className:(0,ey.cn)("group flex items-center w-full px-2 py-2 rounded-sm transition-colors cursor-pointer",x?"bg-primary/15 outline-2 -outline-offset-2 outline-dashed outline-primary/60":"hover:bg-accent"),style:{paddingLeft:`${16*s+8}px`},onClick:()=>u(r),onDragOver:e=>{bf(e)&&(e.preventDefault(),e.stopPropagation(),p(r))},onDrop:e=>{if(!bf(e))return;e.preventDefault(),e.stopPropagation(),p(null);let s=bp(e);s.length&&f(r,s)},children:[(0,z.jsxs)("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[v||j?(0,z.jsx)(rj,{className:"h-3.5 w-3.5 shrink-0 animate-spin text-muted-foreground"}):(0,z.jsx)(C?su:n6,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),(0,z.jsx)(g,{className:(0,ey.cn)("h-4 w-4 shrink-0 text-blue-500",N&&"opacity-60")}),(0,z.jsx)("span",{className:(0,ey.cn)("truncate",N&&"text-muted-foreground"),children:e.name})]}),(0,z.jsxs)("div",{className:(0,ey.cn)("shrink-0 ml-1 items-center gap-1",_?"flex":"hidden group-hover:flex"),children:[(0,z.jsx)(bm,{path:r}),(0,z.jsx)(bg,{entryPath:r,type:"directory",deleting:_,onRequestDelete:m})]})]}),C&&k&&(0,z.jsx)("div",{children:k.map(e=>{let g=r?`${r}/${e.name}`:e.name;return(0,z.jsx)(bx,{entry:e,path:g,depth:s+1,expandedDirs:i,directoryContents:n,loadingDirs:o,selectedFile:a,uploadingDirs:l,dragOverPath:c,deletingPaths:d,onToggleDirectory:u,onSelectFile:h,onUploadFiles:f,onSetDragOverPath:p,onRequestDelete:m},g)})})]})}let D=(g=e.name,_=g.split(".").pop()?.toLowerCase()??"",bu.has(_)?yH:bh.has(_)?yU:yW),E=a===r,R=r.includes("/")?r.slice(0,r.lastIndexOf("/")):"",A=d.has(r);return(0,z.jsxs)("div",{className:(0,ey.cn)("group flex items-center w-full px-2 py-2 rounded-sm transition-colors cursor-pointer",E?"bg-accent text-accent-foreground":"hover:bg-accent/50"),style:{paddingLeft:`${16*s+8+18}px`},onClick:()=>h(r),onDragOver:e=>{bf(e)&&(e.preventDefault(),e.stopPropagation(),p(R))},onDrop:e=>{if(!bf(e))return;e.preventDefault(),e.stopPropagation(),p(null);let r=bp(e);r.length&&f(R,r)},children:[(0,z.jsxs)("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[(0,z.jsx)(D,{className:(0,ey.cn)("h-4 w-4 shrink-0 text-muted-foreground",N&&"opacity-60")}),(0,z.jsx)("span",{className:(0,ey.cn)("truncate",N&&"text-muted-foreground"),children:e.name})]}),(0,z.jsxs)("div",{className:"shrink-0 flex items-center gap-2 ml-1",children:[(0,z.jsx)("span",{className:"text-[11px] text-muted-foreground/70 group-hover:hidden whitespace-nowrap w-[52px] text-right tabular-nums",children:e.mtime&&(x=e.mtime,y=Date.now(),S=Math.floor((w=Math.floor((b=Math.floor(Math.floor((y-new Date(x).getTime())/1e3)/60))/60))/24),b<1?"just now":b<60?`${b}m ago`:w<24?`${w}h ago`:S<30?`${S}d ago`:new Date(x).toLocaleDateString(void 0,{month:"short",day:"numeric"}))}),(0,z.jsx)("span",{className:"text-[11px] text-muted-foreground/70 group-hover:hidden whitespace-nowrap w-[52px] text-right tabular-nums",children:null!=e.size&&((v=e.size)<1024?`${v} B`:v<1048576?`${(v/1024).toFixed(1)} KB`:`${(v/1048576).toFixed(1)} MB`)}),(0,z.jsxs)("div",{className:(0,ey.cn)("items-center gap-1",A?"flex":"hidden group-hover:flex"),children:[(0,z.jsx)(bm,{path:r}),(0,z.jsx)(bg,{entryPath:r,type:"file",deleting:A,onRequestDelete:m})]})]})]})}function bv({entries:e,expandedDirs:r,directoryContents:s,loadingDirs:i,selectedFile:n,uploadingDirs:o,rootLoading:a,deletingPaths:l,onToggleDirectory:c,onSelectFile:d,onUploadFiles:u,onDeleteEntry:h}){let[f,p]=(0,$.useState)(null),[m,g]=(0,$.useState)(null),x=""===f,v=o.has(""),_=(0,$.useCallback)((e,r)=>{g({path:e,type:r})},[]),y=m?m.path.includes("/")?m.path.slice(m.path.lastIndexOf("/")+1):m.path:"";return(0,z.jsxs)("div",{className:(0,ey.cn)("h-full transition-colors",x&&"bg-accent/30 outline-2 -outline-offset-2 outline-dashed outline-primary/50"),style:{fontSize:"var(--files-tree-font-size, 14px)"},onDragOver:e=>{bf(e)&&(e.preventDefault(),p(""))},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||p(null)},onDrop:e=>{if(!bf(e))return;e.preventDefault(),p(null);let r=bp(e);r.length&&u("",r)},children:[(0,z.jsx)(oU,{className:"h-full",children:(0,z.jsxs)("div",{className:"py-1",children:[v&&(0,z.jsxs)("div",{className:"flex items-center gap-2 px-2 py-1 text-xs text-muted-foreground",children:[(0,z.jsx)(rj,{className:"h-3.5 w-3.5 animate-spin"}),"Uploading…"]}),a&&0===e.length?(0,z.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:"Loading files..."}):0===e.length?(0,z.jsx)("div",{className:"flex items-center justify-center py-8 text-muted-foreground text-sm",children:x?"Drop files to upload":"No files found. Drop files here to upload."}):e.map(e=>{let a=e.name;return(0,z.jsx)(bx,{entry:e,path:a,depth:0,expandedDirs:r,directoryContents:s,loadingDirs:i,selectedFile:n,uploadingDirs:o,dragOverPath:f,deletingPaths:l,onToggleDirectory:c,onSelectFile:d,onUploadFiles:u,onSetDragOverPath:p,onRequestDelete:_},a)})]})}),(0,z.jsx)(bt,{open:null!==m,onOpenChange:e=>{e||g(null)},children:(0,z.jsxs)(bi,{children:[(0,z.jsxs)(bn,{children:[(0,z.jsxs)(ba,{children:["Delete ",m?.type==="directory"?"folder":"file","?"]}),(0,z.jsx)(bl,{children:m?.type==="directory"?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("span",{className:"font-medium text-foreground",children:y})," and all its contents will be permanently deleted. This can't be undone."]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("span",{className:"font-medium text-foreground",children:y})," will be permanently deleted. This can't be undone."]})})]}),(0,z.jsxs)(bo,{children:[(0,z.jsx)(bd,{children:"Cancel"}),(0,z.jsx)(bc,{className:(0,ey.cn)((0,W.buttonVariants)({variant:"destructive"}),"border-transparent"),onClick:()=>{m&&h(m.path,m.type)},children:"Delete"})]})]})})]})}let b_=(0,ew.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]),by=(0,ew.default)("file-exclamation-point",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),bb=(0,ew.default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]),bw=(0,ew.default)("list-collapse",[["path",{d:"M10 5h11",key:"1hkqpe"}],["path",{d:"M10 12h11",key:"6m4ad9"}],["path",{d:"M10 19h11",key:"14g2nv"}],["path",{d:"m3 10 3-3-3-3",key:"i7pm08"}],["path",{d:"m3 20 3-3-3-3",key:"20gx1n"}]]),bS=(0,ew.default)("list-tree",[["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"M3 10a2 2 0 0 0 2 2h3",key:"1npucw"}],["path",{d:"M3 5v12a2 2 0 0 0 2 2h3",key:"x1gjn2"}]]),bC=/[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g,bj=Object.hasOwnProperty;var bk=e.i(216920);let bN={},bD=new class{constructor(){this.occurrences,this.reset()}slug(e,r){var s,i;let n=(s=e,i=!0===r,"string"!=typeof s?"":(i||(s=s.toLowerCase()),s.replace(bC,"").replace(/ /g,"-"))),o=n;for(;bj.call(this.occurrences,n);)this.occurrences[o]++,n=o+"-"+this.occurrences[o];return this.occurrences[n]=0,n}reset(){this.occurrences=Object.create(null)}};function bE(e){let r=(e||bN).prefix||"";return function(e){bD.reset(),(0,bk.visit)(e,"element",function(e){let s,i;((i=2===(s="element"===e.type?e.tagName.toLowerCase():"").length&&104===s.charCodeAt(0)?s.charCodeAt(1):0)>48&&i<55?i-48:void 0)&&!e.properties.id&&(e.properties.id=r+bD.slug("children"in e?function e(r){let s=-1,i=[];for(;++s<r.children.length;){var n;i[s]="text"===(n=r.children[s]).type?n.value:"children"in n?e(n):""}return i.join("")}(e):"value"in e?e.value:""))})}}var bR=e.i(94265),bA=bR,H=H,bF=e.i(829692),bF=bF,bM=e.i(615742);let bT=(0,$.createContext)({code:""}),bP={name:"line-data",line(e,r){e.properties["data-line"]=String(r)}},bB={name:"line-numbers",line(e,r){e.children.unshift({type:"element",tagName:"span",properties:{className:["inline-block","min-w-10","mr-2","text-right","select-none","text-muted-foreground"]},children:[{type:"text",value:String(r)}]})}};async function bL(e,r,s=!1,i){let n=[bP];return i&&i.size>0&&n.push({name:"fold-gutter",line(e,r){e.children.unshift({type:"element",tagName:"span",properties:i.has(r)?{className:["code-fold-toggle"],"data-fold-start":String(r)}:{className:["code-fold-spacer"]},children:[]})}}),s&&n.push(bB),await Promise.all([(0,bM.codeToHtml)(e,{lang:r,theme:"one-light",transformers:n}),(0,bM.codeToHtml)(e,{lang:r,theme:"one-dark-pro",transformers:n})])}let bI=(0,$.forwardRef)(function({code:e,language:r,showLineNumbers:s=!1,scrollToLine:i,scrollKey:n,foldable:o=!1,className:a,children:l,...c},d){let[u,h]=(0,$.useState)(""),[f,p]=(0,$.useState)(""),m=(0,$.useRef)(!1),g=(0,$.useRef)(null),x=(0,$.useMemo)(()=>o?function(e,r={}){return function(...e){let r=new Map;for(let s of e.flat())!(s.endLine<=s.startLine)&&(r.has(s.startLine)||r.set(s.startLine,s));let s=[...r.values()].sort((e,r)=>e.startLine-r.startLine||r.endLine-e.endLine),i=[],n=[];for(let e of s){for(;n.length&&n[n.length-1].endLine<e.startLine;)n.pop();let r=n[n.length-1];r&&e.endLine>r.endLine||(i.push(e),n.push(e))}return i}((r.tokenIndex,[]),function(e){let r=e.split("\n"),s=[],i=[],n=0,o=e=>{n>e.line&&s.push({startLine:e.line+1,endLine:n+1})};for(let e=0;e<r.length;e++){let s=function(e){let r=e.match(/^[ \t]*/),s=r?r[0].length:0;return s===e.length?null:s}(r[e]);if(null!==s){for(;i.length&&i[i.length-1].indent>=s;)o(i.pop());i.push({indent:s,line:e}),n=e}}for(;i.length;)o(i.pop());return s}(e))}(e):[],[o,e]),v=(0,$.useMemo)(()=>new Set(x.map(e=>e.startLine)),[x]),[_,y]=(0,$.useState)(new Set),[b,w]=(0,$.useState)(e),[S,C]=(0,$.useState)({line:i,key:n});if((0,$.useImperativeHandle)(d,()=>({foldAll:()=>y(new Set(x.map(e=>e.startLine))),expandAll:()=>y(new Set)}),[x]),(0,$.useEffect)(()=>(bL(e,r,s,v).then(([e,r])=>{m.current||(h(e),p(r),m.current=!0)}),()=>{m.current=!1}),[e,r,s,v]),(0,$.useEffect)(()=>{let e=g.current;if(!e)return;let r=new Map(x.map(e=>[e.startLine,e])),s=new Set;for(let e of _){let i=r.get(e);if(i)for(let e=i.startLine+1;e<=i.endLine;e++)s.add(e)}for(let r of e.querySelectorAll("[data-line]")){let e=Number(r.getAttribute("data-line"));r.style.display=s.has(e)?"none":"",r.classList.toggle("code-line-collapsed",_.has(e))}},[_,x,u,f]),(0,$.useEffect)(()=>{if(!o)return;let e=g.current;if(!e)return;let r=e=>{let r=e.target?.closest?.("[data-fold-start]");if(!r)return;e.stopPropagation(),e.preventDefault();let s=Number(r.getAttribute("data-fold-start"));y(e=>{let r=new Set(e);return r.has(s)?r.delete(s):r.add(s),r})};return e.addEventListener("click",r),()=>e.removeEventListener("click",r)},[o]),(0,$.useEffect)(()=>{if(null==i)return;let e=g.current;if(!e||!u&&!f)return;let r=Array.from(e.querySelectorAll(`[data-line="${i}"]`));if(0===r.length)return;let s=r.find(e=>null!==e.offsetParent)??r[0],n=requestAnimationFrame(()=>{s.scrollIntoView({block:"center",behavior:"auto"}),r.forEach(e=>e.classList.add("code-line-highlight"))}),o=window.setTimeout(()=>r.forEach(e=>e.classList.remove("code-line-highlight")),1600);return()=>{cancelAnimationFrame(n),window.clearTimeout(o),r.forEach(e=>e.classList.remove("code-line-highlight"))}},[i,n,u,f]),e!==b&&(w(e),y(new Set)),(S.line!==i||S.key!==n)&&(C({line:i,key:n}),null!=i&&_.size>0)){let e=!1,r=new Set(_);for(let s of x)r.has(s.startLine)&&i>s.startLine&&i<=s.endLine&&(r.delete(s.startLine),e=!0);e&&y(r)}return(0,z.jsx)(bT.Provider,{value:{code:e},children:(0,z.jsx)("div",{ref:g,className:(0,ey.cn)("group relative w-full overflow-hidden rounded-md border bg-background text-foreground",a),...c,children:(0,z.jsxs)("div",{className:"relative",children:[(0,z.jsx)("div",{className:"overflow-auto dark:hidden [&>pre]:m-0 [&>pre]:bg-background! [&>pre]:p-4 [&>pre]:text-foreground! [&>pre]:text-sm [&_code]:grid [&_code]:font-mono [&_code]:text-sm",dangerouslySetInnerHTML:{__html:u}}),(0,z.jsx)("div",{className:"hidden overflow-auto dark:block [&>pre]:m-0 [&>pre]:bg-background! [&>pre]:p-4 [&>pre]:text-foreground! [&>pre]:text-sm [&_code]:grid [&_code]:font-mono [&_code]:text-sm",dangerouslySetInnerHTML:{__html:f}}),l&&(0,z.jsx)("div",{className:"absolute top-2 right-2 flex items-center gap-2",children:l})]})})})}),bO=({onCopy:e,onError:r,timeout:s=2e3,children:i,className:n,...o})=>{let[a,l]=(0,$.useState)(!1),{code:c}=(0,$.useContext)(bT),d=async()=>{if(!navigator?.clipboard?.writeText)return void r?.(Error("Clipboard API not available"));try{await navigator.clipboard.writeText(c),l(!0),e?.(),setTimeout(()=>l(!1),s)}catch(e){r?.(e)}},u=a?H.default:bF.default;return(0,z.jsx)(W.Button,{className:(0,ey.cn)("shrink-0",n),onClick:d,size:"icon",variant:"ghost",...o,children:i??(0,z.jsx)(u,{size:14})})};var bz="horizontal",b$=["horizontal","vertical"],bW=$.forwardRef((e,r)=>{var s;let{decorative:i,orientation:n=bz,...o}=e,a=(s=n,b$.includes(s))?n:bz;return(0,z.jsx)(er.div,{"data-orientation":a,...i?{role:"none"}:{"aria-orientation":"vertical"===a?a:void 0,role:"separator"},...o,ref:r})});bW.displayName="Separator",e.s(["Root",()=>bW,"Separator",()=>bW],691102),e.i(691102),(0,o9.cva)("flex w-fit items-stretch [&>*]:focus-visible:z-10 [&>*]:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-md has-[>[data-slot=button-group]]:gap-2",{variants:{orientation:{horizontal:"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",vertical:"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"}},defaultVariants:{orientation:"horizontal"}}),(0,ew.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);var bH=bR;let bU=({className:e,from:r,...s})=>(0,z.jsx)("div",{className:(0,ey.cn)("group flex w-full max-w-[95%] flex-col gap-2","user"===r?"is-user ml-auto justify-end":"is-assistant",e),...s}),bK=({children:e,className:r,...s})=>(0,z.jsx)("div",{className:(0,ey.cn)("is-user:dark flex w-fit max-w-full min-w-0 flex-col gap-2 overflow-hidden text-sm","group-[.is-user]:ml-auto group-[.is-user]:rounded-lg group-[.is-user]:bg-secondary group-[.is-user]:px-4 group-[.is-user]:py-3 group-[.is-user]:text-foreground","group-[.is-assistant]:text-foreground",r),...s,children:e}),bq=(0,$.memo)(({className:e,...r})=>(0,z.jsx)(bH.i,{className:(0,ey.cn)("size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",e),...r}),(e,r)=>e.children===r.children);function bV({className:e,...r}){return(0,z.jsx)("div",{"data-slot":"skeleton",className:(0,ey.cn)("bg-accent animate-pulse rounded-md",e),...r})}function bY({projectId:e,symbol:r,branch:s,target:i,currentFile:n,anchor:o,onJump:a,onClose:l}){let[c,d]=(0,$.useState)(!0),[u,h]=(0,$.useState)([]),[f,p]=(0,$.useState)(!1),m=(0,$.useRef)(null);(0,$.useEffect)(()=>{let n=!0;return d(!0),rx.api.searchSymbol(e,r,s,i).then(e=>{n&&(h(e.hits),p(e.truncated))}).catch(()=>{n&&h([])}).finally(()=>{n&&d(!1)}),()=>{n=!1}},[e,r,s,i]),(0,$.useEffect)(()=>{let e=e=>{e.detail>=2||m.current&&!m.current.contains(e.target)&&l()},s=e=>{if("Escape"===e.key)return void l();if((e.metaKey||e.ctrlKey)&&("c"===e.key||"C"===e.key)){let s=window.getSelection();if(s&&s.rangeCount>0&&!s.isCollapsed)return;e.preventDefault(),navigator.clipboard?.writeText(r)}};return document.addEventListener("mousedown",e),document.addEventListener("keydown",s),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",s)}},[l,r]);let g=(e,r)=>Number(r.file===n)-Number(e.file===n),x=u.filter(e=>"definition"===e.kind).sort(g),v=u.filter(e=>"reference"===e.kind).sort(g),_=Math.max(8,Math.min(o.x,window.innerWidth-440-8)),y=window.innerHeight-8-(o.y+18),b=o.y-18-8,w=y>=340||y>=b,S=Math.max(120,Math.min(340,w?y:b)),C=w?{top:o.y+18}:{bottom:window.innerHeight-(o.y-18)},j=({hit:e})=>(0,z.jsxs)("button",{type:"button",onClick:()=>{a(e.file,e.line),l()},className:"flex w-full flex-col items-start gap-0.5 rounded px-2 py-1.5 text-left hover:bg-accent",children:[(0,z.jsxs)("span",{className:"flex w-full items-baseline justify-between gap-2",children:[(0,z.jsxs)("span",{className:"truncate font-mono text-xs",children:[e.file.split("/").pop(),(0,z.jsxs)("span",{className:"text-muted-foreground",children:[":",e.line]})]}),e.file===n&&(0,z.jsx)("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:"this file"})]}),(0,z.jsx)("code",{className:"w-full truncate text-xs text-muted-foreground",children:e.text.trim()})]}),k=({title:e,children:r})=>(0,z.jsxs)("div",{className:"mb-1",children:[(0,z.jsx)("div",{className:"px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:e}),r]});return(0,ee.createPortal)((0,z.jsxs)("div",{ref:m,style:{left:_,...C,width:440,maxHeight:S},className:"fixed z-50 flex flex-col overflow-hidden rounded-lg border bg-popover text-popover-foreground shadow-lg select-none",children:[(0,z.jsx)("div",{className:"border-b px-3 py-1.5 text-xs font-medium",children:(0,z.jsx)("span",{className:"font-mono",children:r})}),(0,z.jsx)("div",{className:"flex-1 overflow-auto p-1",children:c?(0,z.jsxs)("div",{className:"flex items-center justify-center gap-2 py-6 text-sm text-muted-foreground",children:[(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin"})," Searching…"]}):0===u.length?(0,z.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"No results."}):(0,z.jsxs)(z.Fragment,{children:[x.length>0&&(0,z.jsx)(k,{title:`Definitions (${x.length})`,children:x.map((e,r)=>(0,z.jsx)(j,{hit:e},`d-${r}`))}),v.length>0&&(0,z.jsx)(k,{title:`References (${v.length})`,children:v.map((e,r)=>(0,z.jsx)(j,{hit:e},`r-${r}`))}),f&&(0,z.jsx)("div",{className:"px-2 py-1.5 text-[11px] text-muted-foreground",children:"Showing first matches — results truncated."})]})})]}),document.body)}bq.displayName="MessageResponse";let bG=(0,ew.default)("image-off",[["line",{x1:"2",x2:"22",y1:"2",y2:"22",key:"a6p6uj"}],["path",{d:"M10.41 10.41a2 2 0 1 1-2.83-2.83",key:"1bzlo9"}],["line",{x1:"13.5",x2:"6",y1:"13.5",y2:"21",key:"1q0aeu"}],["line",{x1:"18",x2:"21",y1:"12",y2:"15",key:"5mozeu"}],["path",{d:"M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59",key:"mmje98"}],["path",{d:"M21 15V5a2 2 0 0 0-2-2H9",key:"43el77"}]]);function bX({projectId:e,filePath:r,branch:s,target:i,onDownload:n}){let[o,a]=(0,$.useState)(null),[l,c]=(0,$.useState)(!1);return((0,$.useEffect)(()=>{let n=null,o=!1;return rx.api.getFileBlob(e,r,s,i).then(e=>{o||a(n=URL.createObjectURL(e))}).catch(()=>{o||c(!0)}),()=>{o=!0,n&&URL.revokeObjectURL(n)}},[e,r,s,i]),l)?(0,z.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-muted-foreground",children:[(0,z.jsx)(bG,{className:"h-10 w-10"}),(0,z.jsx)("p",{className:"text-sm",children:"Couldn't load image"}),(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:n,children:[(0,z.jsx)(b_,{className:"h-4 w-4 mr-2"}),"Download"]})]}):o?(0,z.jsx)("div",{className:"flex items-center justify-center h-full p-4 bg-muted/30",children:(0,z.jsx)("img",{src:o,alt:r.split("/").pop()??"image",className:"max-w-full max-h-full object-contain",onError:()=>c(!0)})}):(0,z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:(0,z.jsx)(rj,{className:"h-6 w-6 animate-spin"})})}async function bJ(e,r){let s=await (0,bM.codeToTokensBase)(e,{lang:r,theme:"one-light",includeExplanation:"scopeName"}),i=new Map;return s.forEach((e,r)=>{let s=0,n=[];for(let r of e){let e=(r.explanation??[]).flatMap(e=>e.scopes.map(e=>e.scopeName)),i=s+r.content.length;n.push({start:s,end:i,kind:e.some(e=>e.startsWith("comment"))?"comment":e.some(e=>e.startsWith("string")||e.startsWith("constant.character"))?"string":e.some(e=>e.startsWith("keyword")||e.startsWith("storage")||e.startsWith("constant.language")||e.startsWith("variable.language"))?"keyword":"code"}),s=i}i.set(r+1,n)}),i}let bZ=new Set(["png","jpg","jpeg","gif","webp","bmp","ico","avif","svg"]);function bQ(e){let r=e.split("/").pop()?.split(".").pop()?.toLowerCase()??"";return bZ.has(r)}let b0=/^[A-Za-z_$][A-Za-z0-9_$]*$/,b1="symbol-nav";function b2(e,r,s){let i=document.createRange();return i.selectNodeContents(e),i.setEnd(r,s),i.toString().length}function b5(e,r){let s,i=document.createTreeWalker(e,NodeFilter.SHOW_TEXT),n=0;for(;s=i.nextNode();){let e=(s.textContent??"").length;if(r<=n+e)return{node:s,offset:r-n};n+=e}return null}function b3(e){let r=Array.from(document.querySelectorAll(`[data-line="${CSS.escape(e.line)}"]`)),s=r.find(e=>null!==e.offsetParent)??r[0];if(!s)return null;let i=b5(s,e.start),n=b5(s,e.end);if(!i||!n)return null;let o=document.createRange();return o.setStart(i.node,i.offset),o.setEnd(n.node,n.offset),o}let b4=/[A-Za-z0-9_$]/;function b6(e,r,s){let i=document,n=null,o=0;if(i.caretRangeFromPoint){let s=i.caretRangeFromPoint(e,r);s&&(n=s.startContainer,o=s.startOffset)}else if(i.caretPositionFromPoint){let s=i.caretPositionFromPoint(e,r);s&&(n=s.offsetNode,o=s.offset)}if(!n||n.nodeType!==Node.TEXT_NODE)return null;let a=n.textContent??"",l=o,c=o;for(;l>0&&b4.test(a[l-1]);)l--;for(;c<a.length&&b4.test(a[c]);)c++;if(l>=c)return null;let d=a.slice(l,c);if(!b0.test(d))return null;let u=document.createRange();u.setStart(n,l),u.setEnd(n,c);let h=function(e){let r=e.startContainer.nodeType===Node.ELEMENT_NODE?e.startContainer:e.startContainer.parentElement,s=r?.closest("[data-line]");if(!s||!s.contains(e.endContainer))return null;let i=s.getAttribute("data-line");if(null===i)return null;let n=b2(s,e.startContainer,e.startOffset),o=b2(s,e.endContainer,e.endOffset);return n>=o?null:{line:i,start:n,end:o}}(u);if(!h)return null;if(s){let e=h.start-h.line.length,r=function(e,r,s){let i=e.get(r);if(!i)return null;for(let e of i)if(s>=e.start&&s<e.end)return e.kind;return null}(s,Number(h.line),e);if(r&&"code"!==r)return null}return{word:d,anchor:h}}function b8(){return"undefined"!=typeof CSS&&"highlights"in CSS&&"undefined"!=typeof Highlight}let b7=!1;function b9(){b8()&&CSS.highlights.delete(b1)}let we={ts:"typescript",tsx:"tsx",js:"javascript",jsx:"jsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",c:"c",cpp:"cpp",h:"c",cs:"csharp",css:"css",scss:"scss",html:"html",vue:"vue",svelte:"svelte",php:"php",swift:"swift",kt:"kotlin",sh:"bash",bash:"bash",zsh:"bash",yaml:"yaml",yml:"yaml",toml:"toml",json:"json",xml:"xml",sql:"sql",graphql:"graphql",md:"markdown",mdx:"mdx",dockerfile:"dockerfile",makefile:"makefile",lua:"lua",r:"r",scala:"scala",zig:"zig"};function wt(e){let r=e.split("/").pop()?.toLowerCase()??"";return"dockerfile"===r?"dockerfile":"makefile"===r?"makefile":we[r.split(".").pop()?.toLowerCase()??""]??"text"}function wr(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function ws({filePath:e,fileContent:r,loading:s,downloadUrl:i,projectId:n,branch:o,target:a,scrollToLine:l,scrollKey:c,onJump:d,restoreScrollTop:u,restoreScrollKey:h,onScroll:f}){let p,[m,g]=(0,$.useState)("rendered"),[x,v]=(0,$.useState)(e),[_,y]=(0,$.useState)(null),b=(0,$.useRef)(null),w=(0,$.useRef)(null),S=(0,$.useRef)(!1);(0,$.useEffect)(()=>{S.current=null!==_},[_]);let C=(0,$.useCallback)(e=>{if(e.detail>=2){let r=window.getSelection();if(S.current){r?.removeAllRanges(),y(e=>e?{...e,selectWord:!0}:e);return}let s=b6(e.clientX,e.clientY),i=s?b3(s.anchor):null;i&&(r?.removeAllRanges(),r?.addRange(i));return}let r=window.getSelection();if(r&&!r.isCollapsed)return;let s=b6(e.clientX,e.clientY,b.current);s&&(r?.removeAllRanges(),y({symbol:s.word,x:e.clientX,y:e.clientY,anchor:s.anchor,selectWord:!1}))},[]),j=(0,$.useCallback)(e=>{e.detail>=2&&e.preventDefault()},[]);(0,$.useEffect)(()=>{if(!_?.anchor)return void b9();let e=b3(_.anchor);if(!e)return void b9();if(_.selectWord){b9();let r=window.getSelection();r?.removeAllRanges(),r?.addRange(e);return}return b8()?(!function(){if(b7||"undefined"==typeof document)return;b7=!0;let e=document.createElement("style");e.textContent=`::highlight(${b1}){background-color:rgba(255, 196, 0, 0.32);}`,document.head.appendChild(e)}(),CSS.highlights.set(b1,new Highlight(e)),b9):void b9()},[_]),(0,$.useEffect)(()=>{b.current=null;let s=r?.content;if(!e||null==s||r?.binary||r?.tooLarge)return;let i=!1;return bJ(s,wt(e)).then(e=>{i||(b.current=e)}).catch(()=>{}),()=>{i=!0}},[e,r]);let k=(0,$.useRef)(null),N=(0,$.useRef)(null),D=(0,$.useCallback)(e=>{let r=k.current;if(!r)return;let s=r.querySelector(`[id="${CSS.escape(e)}"]`);if(!s)return;N.current?.();let i=()=>s.scrollIntoView({block:"start",behavior:"auto"});i();let n=new ResizeObserver(i);n.observe(r);let o=()=>{n.disconnect(),window.clearTimeout(a),window.removeEventListener("wheel",o),window.removeEventListener("touchmove",o),window.removeEventListener("keydown",o),N.current=null},a=window.setTimeout(o,1e3);window.addEventListener("wheel",o,{passive:!0}),window.addEventListener("touchmove",o,{passive:!0}),window.addEventListener("keydown",o),N.current=o},[]);(0,$.useEffect)(()=>()=>N.current?.(),[]);let E=(0,$.useRef)(null),R=(0,$.useRef)(!1),A=(0,$.useRef)(f);A.current=f;let F=(0,$.useRef)(null),M=(0,$.useRef)(null),T=(0,$.useCallback)(e=>{if(R.current)return;let r=e.currentTarget.scrollTop;F.current&&clearTimeout(F.current),F.current=setTimeout(()=>A.current?.(r),200)},[]);(0,$.useEffect)(()=>{void 0!==h&&(M.current=u??0)},[h,u]),(0,$.useEffect)(()=>{let e=E.current;e&&(e.scrollTop=0)},[e]),(0,$.useEffect)(()=>{let e=M.current;if(null==e)return;let r=E.current;if(!r||(M.current=null,!e))return;R.current=!0;let s=()=>{r.scrollTop=e};s();let i=new ResizeObserver(s);i.observe(r.firstElementChild??r);let n=()=>{R.current=!1,i.disconnect(),window.clearTimeout(o),r.removeEventListener("wheel",n),r.removeEventListener("touchmove",n),r.removeEventListener("keydown",n)},o=window.setTimeout(n,1500);return r.addEventListener("wheel",n,{passive:!0}),r.addEventListener("touchmove",n,{passive:!0}),r.addEventListener("keydown",n),n},[r]);let P=(0,$.useMemo)(()=>[...Object.values(bA.e),bE],[]),B=(0,$.useMemo)(()=>({a:({href:e,children:r,className:s,node:i,...n})=>{let o="string"==typeof e&&e.startsWith("#");return(0,z.jsx)("a",{href:e,className:(0,ey.cn)("wrap-anywhere font-medium text-primary underline",s),"data-streamdown":"link",...o?{onClick:r=>{r.preventDefault(),D(decodeURIComponent(e.slice(1)))}}:{target:"_blank",rel:"noreferrer"},...n,children:r})}}),[D]);if(e!==x&&(v(e),g("rendered"),y(null)),!e)return(0,z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:"Select a file to preview."});if(s)return(0,z.jsxs)("div",{className:"flex flex-col h-full",children:[(0,z.jsx)("div",{className:"flex items-center justify-between px-4 py-2 border-b flex-shrink-0",children:(0,z.jsx)(bV,{className:"h-4 w-48"})}),(0,z.jsxs)("div",{className:"flex-1 p-4",children:[(0,z.jsx)(bV,{className:"h-4 w-full mb-2"}),(0,z.jsx)(bV,{className:"h-4 w-3/4 mb-2"}),(0,z.jsx)(bV,{className:"h-4 w-5/6 mb-2"}),(0,z.jsx)(bV,{className:"h-4 w-2/3"})]})]});if(!r)return(0,z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:"Failed to load file."});let L=()=>{e&&rx.api.downloadFile(n,e,o,a).catch(e=>{console.error("Failed to download file",e)})},I=("markdown"===(p=wt(e))||"mdx"===p)&&!r.tooLarge&&!r.binary&&!!r.content,O=I&&"rendered"===m,H=!r.tooLarge&&!r.binary&&!O&&null!==r.content;return(0,z.jsxs)("div",{className:"flex flex-col h-full",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-b flex-shrink-0 gap-2",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,z.jsx)("span",{className:"text-sm font-mono truncate",children:e}),(0,z.jsx)("span",{className:"text-xs text-muted-foreground shrink-0",children:wr(r.size)})]}),(0,z.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[I&&(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>g(e=>"rendered"===e?"source":"rendered"),title:O?"View source":"View rendered",children:O?(0,z.jsx)(bb,{className:"h-3.5 w-3.5"}):(0,z.jsx)(vV,{className:"h-3.5 w-3.5"})}),H&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>w.current?.foldAll(),title:"Fold all",children:(0,z.jsx)(bw,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>w.current?.expandAll(),title:"Expand all",children:(0,z.jsx)(bS,{className:"h-3.5 w-3.5"})})]}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>{navigator.clipboard.writeText(e)},title:"Copy path",children:(0,z.jsx)(dg.Copy,{className:"h-3.5 w-3.5"})}),i&&(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:L,title:"Download",children:(0,z.jsx)(b_,{className:"h-3.5 w-3.5"})})]})]}),(0,z.jsx)("div",{className:"flex-1 overflow-auto",ref:E,onScroll:T,children:r.tooLarge?(0,z.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-muted-foreground",children:[(0,z.jsx)(by,{className:"h-10 w-10"}),(0,z.jsxs)("p",{className:"text-sm",children:["File too large to preview (",wr(r.size),")"]}),i&&(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:L,children:[(0,z.jsx)(b_,{className:"h-4 w-4 mr-2"}),"Download"]})]}):r.binary&&bQ(e)&&r.size<=0xa00000?(0,z.jsx)(bX,{projectId:n,filePath:e,branch:o,target:a,onDownload:L},e):r.binary?(0,z.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-3 text-muted-foreground",children:[(0,z.jsx)(by,{className:"h-10 w-10"}),(0,z.jsx)("p",{className:"text-sm",children:bQ(e)?`Image too large to preview (${wr(r.size)})`:`Binary file (${wr(r.size)})`}),i&&(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:L,children:[(0,z.jsx)(b_,{className:"h-4 w-4 mr-2"}),"Download"]})]}):O?(0,z.jsx)("div",{className:"p-4",style:{fontSize:"var(--files-content-font-size, 14px)"},ref:k,children:(0,z.jsx)(bq,{components:B,rehypePlugins:P,children:r.content??""})}):null!==r.content?(0,z.jsx)("div",{className:"h-full [&_pre]:text-[length:var(--files-content-font-size,14px)]! [&_code]:text-[length:var(--files-content-font-size,14px)]!",onMouseDown:j,onClick:C,children:(0,z.jsx)(bI,{ref:w,code:r.content,language:wt(e),showLineNumbers:!0,foldable:!0,scrollToLine:l,scrollKey:c,className:"border-0 rounded-none",children:(0,z.jsx)(bO,{})})}):(0,z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:"Empty file."})}),_&&(0,z.jsx)(bY,{projectId:n,symbol:_.symbol,branch:o,target:a,currentFile:e,anchor:{x:_.x,y:_.y},onJump:d,onClose:()=>y(null)})]})}class wi{capacity;map;constructor(e){if(this.capacity=e,this.map=new Map,e<1)throw Error("LRUCache capacity must be at least 1")}get(e){if(!this.map.has(e))return;let r=this.map.get(e);return this.map.delete(e),this.map.set(e,r),r}has(e){return this.map.has(e)}set(e,r){for(this.map.has(e)&&this.map.delete(e),this.map.set(e,r);this.map.size>this.capacity;){let e=this.map.keys().next().value;if(void 0===e)break;this.map.delete(e)}}delete(e){return this.map.delete(e)}deleteWhere(e){for(let r of[...this.map.keys()])e(r)&&this.map.delete(r)}clear(){this.map.clear()}get size(){return this.map.size}}let wn="vibedeckx:files:views";function wo(){return{v:1,views:{}}}function wa(){try{let e=localStorage.getItem(wn);if(!e)return wo();let r=JSON.parse(e);if(!r||1!==r.v||!r.views||"object"!=typeof r.views)return wo();return r}catch{return wo()}}function wl(e){try{localStorage.setItem(wn,JSON.stringify(e))}catch{}}function wc(e){return e.slice(e.lastIndexOf("\0")+1)}let wd=new Set(["/","-","_","."," "]);function wu({projectId:e,project:r,selectedBranch:s,navRequest:i}){let n=r&&!r.path?"remote":void 0,[o,a]=(0,$.useState)(!1),{settings:l}=(0,c_.useConversationSettings)(),c=(0,$.useRef)(null),[d,u]=(0,$.useState)(!1),h=(0,$.useCallback)(()=>{let e=c.current;e&&(e.isCollapsed()?e.expand():e.collapse())},[]),{rootEntries:f,directoryContents:p,expandedDirs:m,selectedFile:g,fileContent:x,fileLoading:v,rootLoading:_,loadingDirs:y,uploadingDirs:b,deletingPaths:w,jumpTarget:S,canGoBack:C,canGoForward:j,fetchRoot:k,refresh:N,reportScroll:D,restoreScroll:E,toggleDirectory:R,navigate:A,jumpTo:F,goBack:M,goForward:T,uploadFiles:P,deleteEntry:B}=function({projectId:e,branch:r,target:s,showHidden:i=!1}){let[n,o]=(0,$.useState)([]),[a,l]=(0,$.useState)(new Map),[c,d]=(0,$.useState)(new Set),[u,h]=(0,$.useState)(null),[f,p]=(0,$.useState)(null),[m,g]=(0,$.useState)(null),x=(0,$.useRef)(0),[v,_]=(0,$.useState)({entries:[],index:-1}),y=(0,$.useRef)(v);y.current=v;let[b,w]=(0,$.useState)(!1),[S,C]=(0,$.useState)(!1),[j,k]=(0,$.useState)(new Set),[N,D]=(0,$.useState)(new Set),[E,R]=(0,$.useState)(new Set),A=(0,$.useRef)(0),F=(0,$.useRef)(0),M=(0,$.useRef)(new wi(50)),T=e?[e,r??"",s??""].join("|"):null,P=(0,$.useRef)(T);P.current=T;let B=(0,$.useRef)(u);B.current=u;let L=(0,$.useRef)(0),I=(0,$.useRef)(null),O=(0,$.useRef)(0),[z,W]=(0,$.useState)(null),H=(0,$.useRef)(null),U=(0,$.useCallback)(i=>[e,r??"",s??"",i].join("\0"),[e,r,s]),K=(0,$.useCallback)(()=>{let e,r,s=P.current;if(!s||I.current!==s)return;let i={selectedFile:B.current,history:y.current,scrollTop:L.current};(e=wa()).views[s]={...i,updatedAt:Date.now()},(r=Object.keys(e.views)).length>30&&r.sort((r,s)=>e.views[r].updatedAt-e.views[s].updatedAt).slice(0,r.length-30).forEach(r=>delete e.views[r]),wl(e)},[]),q=(0,$.useCallback)(()=>{H.current&&clearTimeout(H.current),H.current=setTimeout(()=>{H.current=null,K()},300)},[K]),V=(0,$.useCallback)(e=>{L.current=e,q()},[q]);(0,$.useEffect)(()=>{q()},[u,v,q]);let Y=(0,$.useCallback)(async n=>{if(e&&(d(e=>{let r=new Set(e);return r.has(n)?r.delete(n):r.add(n),r}),!a.has(n))){k(e=>new Set(e).add(n));try{let o=await rx.api.browseProjectDirectory(e,n,r,s,i);l(e=>{let r=new Map(e);return r.set(n,o.items),r})}catch(e){console.error("Failed to browse directory:",e),gC.toast.error(`Failed to open ${n}`,{description:e instanceof Error?e.message:String(e)})}finally{k(e=>{let r=new Set(e);return r.delete(n),r})}}},[e,r,s,i,a]),G=(0,$.useCallback)(async i=>{if(!e)return"failed";let n=U(i),o=M.current.get(n);if(o)return p(o),w(!1),"loaded";let a=++F.current;w(!0),p(null);try{let o=await rx.api.getFileContent(e,i,r,s);if(a!==F.current)return"stale";return M.current.set(n,o),p(o),"loaded"}catch(e){if(a!==F.current)return"stale";return console.error("Failed to get file content:",e),p(null),"failed"}finally{a===F.current&&w(!1)}},[e,r,s,U]),X=(0,$.useCallback)(async r=>{e&&(h(r),await G(r))},[e,G]),J=(0,$.useCallback)(async()=>{if(!e)return!1;C(!0);let n=++A.current;try{let a=await rx.api.browseProjectDirectory(e,void 0,r,s,i);if(n!==A.current)return!1;return o(a.items),l(new Map),d(new Set),!0}catch(e){if(console.error("Failed to browse root directory:",e),n!==A.current)return!1;return o([]),gC.toast.error("Failed to browse files",{description:e instanceof Error?e.message:String(e)}),!1}finally{n===A.current&&C(!1)}},[e,r,s,i]),Z=(0,$.useCallback)(async()=>{let r;if(!e||!await J())return;let s=P.current,i=s?(r=wa().views[s])&&"object"==typeof r&&(null===r.selectedFile||"string"==typeof r.selectedFile)&&r.history&&"object"==typeof r.history&&Array.isArray(r.history.entries)&&"number"==typeof r.history.index?{selectedFile:r.selectedFile,history:r.history,scrollTop:"number"==typeof r.scrollTop&&Number.isFinite(r.scrollTop)?r.scrollTop:0}:null:null;if(s&&i&&i.selectedFile){if(_(i.history.entries.length?i.history:{entries:[{path:i.selectedFile,line:null}],index:0}),L.current=i.scrollTop,W({top:i.scrollTop,nonce:++O.current}),h(i.selectedFile),I.current=s,"failed"===await G(i.selectedFile)){let e;h(null),_({entries:[],index:-1}),L.current=0,(e=wa()).views[s]&&(delete e.views[s],wl(e))}}else h(null),p(null),_({entries:[],index:-1}),L.current=0,I.current=s},[e,J,G]),Q=(0,$.useCallback)(async()=>{if(!e||(M.current.clear(),!await J()))return;let r=B.current;r&&await G(r)},[e,J,G]),ee=(0,$.useCallback)(async(e,r=null)=>{_(({entries:s,index:i})=>{let n=s[i];if(n&&n.path===e){let n=s.slice();return n[i]={path:e,line:r},{entries:n,index:i}}let o=s.slice(0,i+1);return{entries:[...o,{path:e,line:r}],index:o.length}}),await X(e),null!=r&&g({line:r,nonce:++x.current})},[X]),et=(0,$.useCallback)((e,r)=>ee(e,r),[ee]),er=(0,$.useCallback)(()=>{let{entries:e,index:r}=y.current;if(r<=0)return;let s=e[r-1];_(e=>({...e,index:e.index-1})),X(s.path),null!=s.line&&g({line:s.line,nonce:++x.current})},[X]),es=(0,$.useCallback)(()=>{let{entries:e,index:r}=y.current;if(r>=e.length-1)return;let s=e[r+1];_(e=>({...e,index:e.index+1})),X(s.path),null!=s.line&&g({line:s.line,nonce:++x.current})},[X]),ei=(0,$.useCallback)(async n=>{if(e)if(""===n)o((await rx.api.browseProjectDirectory(e,void 0,r,s,i)).items);else{let o=await rx.api.browseProjectDirectory(e,n,r,s,i);l(e=>{let r=new Map(e);return r.set(n,o.items),r})}},[e,r,s,i]),en=(0,$.useCallback)(async(i,n)=>{if(e&&0!==n.length){D(e=>new Set(e).add(i));try{let{uploaded:o}=await rx.api.uploadFiles(e,n,i,r,s),a=new Set(o.map(e=>i?`${i}/${e}`:e));M.current.deleteWhere(e=>a.has(wc(e))),""!==i&&d(e=>new Set(e).add(i)),await ei(i),gC.toast.success(`Uploaded ${o.length} file${1===o.length?"":"s"}`)}catch(e){console.error("Failed to upload files:",e),gC.toast.error("Upload failed",{description:e instanceof Error?e.message:String(e)})}finally{D(e=>{let r=new Set(e);return r.delete(i),r})}}},[e,r,s,ei]),eo=(0,$.useCallback)(async i=>{if(e&&i){R(e=>new Set(e).add(i));try{await rx.api.deleteFile(e,i,r,s),M.current.deleteWhere(e=>{let r=wc(e);return r===i||r.startsWith(`${i}/`)}),h(e=>e===i||e&&e.startsWith(`${i}/`)?(p(null),null):e);let n=i.includes("/")?i.slice(0,i.lastIndexOf("/")):"";await ei(n),gC.toast.success("Deleted")}catch(e){console.error("Failed to delete:",e),gC.toast.error("Delete failed",{description:e instanceof Error?e.message:String(e)})}finally{R(e=>{let r=new Set(e);return r.delete(i),r})}}},[e,r,s,ei]);return{rootEntries:n,directoryContents:a,expandedDirs:c,selectedFile:u,fileContent:f,fileLoading:b,rootLoading:S,loadingDirs:j,uploadingDirs:N,deletingPaths:E,jumpTarget:m,canGoBack:v.index>0,canGoForward:v.index<v.entries.length-1,fetchRoot:Z,refresh:Q,reportScroll:V,restoreScroll:z,toggleDirectory:Y,selectFile:X,navigate:ee,jumpTo:et,goBack:er,goForward:es,uploadFiles:en,refreshDirectory:ei,deleteEntry:eo}}({projectId:e,branch:s,target:n,showHidden:o}),L=function({projectId:e,branch:r,target:s}){let[i,n]=(0,$.useState)([]),[o,a]=(0,$.useState)(!1),[l,c]=(0,$.useState)(!1),[d,u]=(0,$.useState)(!1),[h,f]=(0,$.useState)(""),p=(0,$.useRef)(0);(0,$.useEffect)(()=>{n([]),a(!1),u(!1),c(!1),f(""),p.current++},[e,r,s]);let m=(0,$.useCallback)(async()=>{if(!e)return;c(!0);let i=++p.current;try{let o=await rx.api.listProjectFiles(e,r,s);if(i!==p.current)return;n(o.files),a(o.truncated),u(!0)}catch(e){if(i!==p.current)return;n([]),u(!1),gC.toast.error("Failed to load file list",{description:e instanceof Error?e.message:String(e)})}finally{i===p.current&&c(!1)}},[e,r,s]),g=(0,$.useCallback)(()=>{d||l||m()},[d,l,m]),x=(0,$.useCallback)(()=>{u(!1),p.current++,h&&m()},[h,m]),v=(0,$.useDeferredValue)(h);return{query:h,setQuery:f,results:(0,$.useMemo)(()=>(function(e,r,s){if(!r.trim())return[];let i=[];for(let s of e){let e=function(e,r){let s=e.toLowerCase().replace(/\s+/g,"");if(!s)return null;let i=r.toLowerCase(),n=r.lastIndexOf("/")+1,o=0,a=0,l=-2;for(let e=0;e<s.length;e++){let c=s[e],d=-1;for(;a<i.length;a++)if(i[a]===c){d=a;break}if(-1===d)return null;let u=1;d===l+1&&(u+=5),d>=n&&(u+=3);let h=d>0?r[d-1]:"/";(0===d||d===n||wd.has(h))&&(u+=4),o+=u,l=d,a=d+1}return o+.1*Math.max(0,40-r.length)}(r,s);null!==e&&i.push({path:s,score:e})}return i.sort((e,r)=>r.score-e.score||e.path.length-r.path.length),i.slice(0,50)})(i,v,0),[i,v]),truncated:o,loading:l,loaded:d,ensureLoaded:g,refresh:x}}({projectId:e,branch:s,target:n});(0,$.useEffect)(()=>{k()},[k]),(0,$.useEffect)(()=>{i&&(null!=i.line?F(i.path,i.line):A(i.path))},[i?.nonce]);let I=(0,$.useCallback)(()=>{N(),L.refresh()},[N,L]),O=(0,$.useCallback)(e=>{A(e),L.setQuery("")},[A,L]);if(!e)return(0,z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:(0,z.jsxs)("div",{className:"text-center",children:[(0,z.jsx)("div",{className:"mx-auto w-10 h-10 rounded-xl bg-muted flex items-center justify-center mb-3",children:(0,z.jsx)(vk,{className:"h-5 w-5 text-muted-foreground/50"})}),(0,z.jsx)("p",{className:"text-sm",children:"Select a project to browse files."})]})});let H=g&&e?rx.api.getFileDownloadUrl(e,g,s,n):null;return(0,z.jsxs)("div",{className:"flex flex-col h-full",style:{"--files-tree-font-size":`${l.filesTreeFontSize}px`,"--files-content-font-size":`${l.filesContentFontSize}px`},children:[(0,z.jsx)(a8,{title:"Files",actions:(0,z.jsxs)("div",{className:"flex items-center gap-1",children:[(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:h,title:d?"Show file tree":"Hide file tree","aria-pressed":!d,children:d?(0,z.jsx)(vJ,{className:"h-3.5 w-3.5"}):(0,z.jsx)(vX,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:`h-7 w-7 hover:text-foreground ${o?"text-foreground":"text-muted-foreground"}`,onClick:()=>a(e=>!e),title:o?"Hide hidden files":"Show hidden files","aria-pressed":o,children:o?(0,z.jsx)(vV,{className:"h-3.5 w-3.5"}):(0,z.jsx)(vY,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:M,disabled:!C,title:"Back",children:(0,z.jsx)(vZ.ArrowLeft,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:T,disabled:!j,title:"Forward",children:(0,z.jsx)(vQ,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-foreground",onClick:I,title:"Refresh",children:(0,z.jsx)(vk,{className:`h-3.5 w-3.5 ${_?"animate-spin":""}`})})]})}),(0,z.jsxs)(_7,{direction:"horizontal",autoSaveId:"files-panels",className:"flex-1",children:[(0,z.jsx)(_t,{ref:c,collapsible:!0,collapsedSize:0,defaultSize:33,minSize:20,onCollapse:()=>u(!0),onExpand:()=>u(!1),children:(0,z.jsxs)(yO,{shouldFilter:!1,className:"flex h-full flex-col bg-transparent",children:[(0,z.jsx)("div",{className:"border-b p-2",children:(0,z.jsxs)(ye,{children:[(0,z.jsx)(yr,{children:(0,z.jsx)(vG,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(yn,{type:"search",name:"files-search",autoComplete:"off","data-1p-ignore":!0,"data-lpignore":"true","data-form-type":"other",readOnly:!0,onFocus:e=>{e.currentTarget.removeAttribute("readonly"),L.ensureLoaded()},placeholder:"Search files...",value:L.query,onChange:e=>L.setQuery(e.target.value)}),L.query&&(0,z.jsx)(yr,{align:"inline-end",children:(0,z.jsx)(yi,{size:"icon-xs","aria-label":"Clear search",onClick:()=>L.setQuery(""),children:(0,z.jsx)(t8,{className:"h-3.5 w-3.5"})})})]})}),L.query?(0,z.jsx)(yz,{className:"max-h-none flex-1",children:L.loading&&0===L.results.length?(0,z.jsxs)("div",{className:"flex items-center justify-center gap-2 py-6 text-sm text-muted-foreground",children:[(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin"}),"Loading files…"]}):0===L.results.length?(0,z.jsx)("div",{className:"py-6 text-center text-sm text-muted-foreground",children:"No matching files."}):(0,z.jsxs)(z.Fragment,{children:[L.results.map(e=>{let r=e.path.lastIndexOf("/"),s=r>=0?e.path.slice(0,r+1):"",i=r>=0?e.path.slice(r+1):e.path;return(0,z.jsxs)(y$,{value:e.path,onSelect:()=>O(e.path),className:"flex-col items-start gap-0 text-[length:var(--files-tree-font-size,14px)]!",children:[(0,z.jsx)("span",{className:"font-medium",children:i}),s&&(0,z.jsx)("span",{className:"w-full truncate text-xs text-muted-foreground",children:s})]},e.path)}),L.truncated&&(0,z.jsx)("div",{className:"px-2 py-2 text-xs text-muted-foreground",children:"Showing first 50,000 files — refine your search to narrow results."})]})}):(0,z.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,z.jsx)(bv,{entries:f,expandedDirs:m,directoryContents:p,loadingDirs:y,selectedFile:g,uploadingDirs:b,rootLoading:_,deletingPaths:w,onToggleDirectory:R,onSelectFile:A,onUploadFiles:P,onDeleteEntry:B})})]})}),(0,z.jsx)(_9,{withHandle:!0}),(0,z.jsx)(_t,{defaultSize:67,minSize:25,children:(0,z.jsx)("div",{className:"h-full overflow-hidden",children:(0,z.jsx)(ws,{filePath:g,fileContent:x,loading:v,downloadUrl:H,projectId:e,branch:s,target:n,scrollToLine:S?.line??null,scrollKey:S?.nonce,onJump:F,restoreScrollTop:E?.top??null,restoreScrollKey:E?.nonce,onScroll:D})})})]})]})}let wh=(0,$.createContext)(null),wf={openFile:()=>{},index:null};function wp(){return(0,$.useContext)(wh)??wf}let wm=wh.Provider,wg=0;function wx(e){let r=e.lastIndexOf("/");return r>=0?e.slice(r+1):e}let wv=[500,1e3,2e3,4e3,8e3];async function w_(e,r={}){let s=r.delaysMs??wv,i=r.sleep??(e=>new Promise(r=>setTimeout(r,e))),n=r.cancelled??(()=>!1);for(let r=0;;r++){if(n())return null;let o=null;try{o=await e()}catch{o=null}if(n())return null;if(o&&o.files.length>0||r>=s.length)return o;await i(s[r])}}function wy({projectId:e,selectedBranch:r,onMergeRequest:s,project:i,onExecutorModeChange:n,agentSlot:o,activateAgentTabNonce:a,active:l=!0}){let[c,d]=function(e,r){let s=`vibedeckx:activeTab:${e??"none"}:${r??"main"}`,[i,n]=(0,$.useState)(()=>localStorage.getItem(s)??"agent");return(0,$.useEffect)(()=>{n(localStorage.getItem(s)??"agent")},[s]),[i,(0,$.useCallback)(e=>{n(e),localStorage.setItem(s,e)},[s])]}(e,r),u=(0,$.useRef)(a);(0,$.useEffect)(()=>{void 0===a||u.current!==a&&(u.current=a,d("agent"))},[a,d]);let h=function({projectId:e,branch:r,target:s,enabled:i=!0}){let[n,o]=(0,$.useState)(null),a=(0,$.useRef)(0);return(0,$.useEffect)(()=>{if(o(null),!i||!e)return;let n=++a.current;w_(()=>rx.api.listProjectFiles(e,r,s),{cancelled:()=>n!==a.current}).then(e=>{n===a.current&&e&&o(function(e){let r=`idx-${++wg}`,s=new Set(e),i=new Map;for(let r of e){let e=wx(r),s=i.get(e);s?s.push(r):i.set(e,[r])}return{version:r,resolve(e){if(!e)return[];let r=e.replace(/^\/+/,"");if(!r)return[];if(r.includes("/")){if(s.has(r))return[r];let e=wx(r);return(i.get(e)??[]).filter(e=>e===r||e.endsWith("/"+r)||r.endsWith("/"+e))}return i.get(r)??[]}}}(e.files))})},[e,r,s,i]),n}({projectId:e,branch:r,target:i&&!i.path?"remote":void 0,enabled:l}),f=(0,$.useRef)(0),[p,m]=(0,$.useState)(null),g=(0,$.useCallback)((e,r=null)=>{d("files"),m({path:e,line:r,nonce:++f.current})},[d]),x=(0,$.useMemo)(()=>({openFile:g,index:h}),[g,h]);return(0,z.jsx)(wm,{value:x,children:(0,z.jsxs)("div",{className:"h-full flex flex-col",children:[(0,z.jsx)("div",{className:"flex items-center px-3 gap-4 border-b border-border",children:[{id:"agent",icon:oa,label:"Agent"},{id:"executors",icon:oo,label:"Executors"},{id:"diff",icon:rb,label:"Diff"},{id:"terminal",icon:cm,label:"Terminal"},{id:"preview",icon:r_,label:"Browser"},{id:"files",icon:rv,label:"Files"}].map(({id:e,icon:r,label:s})=>(0,z.jsxs)($.Fragment,{children:[(0,z.jsxs)("button",{onClick:()=>d(e),className:(0,ey.cn)("flex items-center gap-0.5 py-2.5 text-xs font-medium border-b-2 transition-colors",c===e?"text-foreground border-primary":"text-muted-foreground border-transparent hover:text-foreground/70"),children:[(0,z.jsx)(r,{className:"h-3.5 w-3.5"}),s]}),"agent"===e&&(0,z.jsx)("span",{className:"h-4 w-px bg-border/60 mx-1.5","aria-hidden":!0})]},e))}),(0,z.jsxs)("div",{className:"relative flex-1 overflow-hidden",children:[(0,z.jsx)("div",{className:(0,ey.cn)("absolute inset-0 overflow-hidden","agent"!==c&&"invisible pointer-events-none"),children:o}),(0,z.jsx)("div",{className:(0,ey.cn)("absolute inset-0 overflow-hidden","executors"!==c&&"hidden"),children:(0,z.jsx)(vj,{projectId:e,selectedBranch:r,project:i,onExecutorModeChange:n})}),(0,z.jsx)("div",{className:(0,ey.cn)("absolute inset-0 overflow-hidden","diff"!==c&&"hidden"),children:(0,z.jsx)(vB,{projectId:e,selectedBranch:r,onMergeRequest:s,project:i})}),(0,z.jsx)("div",{className:(0,ey.cn)("absolute inset-0 overflow-hidden","terminal"!==c&&"hidden"),children:(0,z.jsx)(vI,{projectId:e,selectedBranch:r,project:i})}),(0,z.jsx)("div",{className:(0,ey.cn)("absolute inset-0 overflow-hidden","preview"!==c&&"hidden"),children:(0,z.jsx)(vq,{projectId:e,selectedBranch:r,project:i})}),(0,z.jsx)("div",{className:(0,ey.cn)("absolute inset-0 overflow-hidden","files"!==c&&"hidden"),children:(0,z.jsx)(wu,{projectId:e,project:i,selectedBranch:r,navRequest:p})})]})]})})}var wb=Symbol.for("immer-nothing"),ww=Symbol.for("immer-draftable"),wS=Symbol.for("immer-state");function wC(e){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var wj=Object.getPrototypeOf;function wk(e){return!!e&&!!e[wS]}function wN(e){return!!e&&(wR(e)||Array.isArray(e)||!!e[ww]||!!e.constructor?.[ww]||wP(e)||wB(e))}var wD=Object.prototype.constructor.toString(),wE=new WeakMap;function wR(e){if(!e||"object"!=typeof e)return!1;let r=Object.getPrototypeOf(e);if(null===r||r===Object.prototype)return!0;let s=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;if(s===Object)return!0;if("function"!=typeof s)return!1;let i=wE.get(s);return void 0===i&&(i=Function.toString.call(s),wE.set(s,i)),i===wD}function wA(e,r,s=!0){0===wF(e)?(s?Reflect.ownKeys(e):Object.keys(e)).forEach(s=>{r(s,e[s],e)}):e.forEach((s,i)=>r(i,s,e))}function wF(e){let r=e[wS];return r?r.type_:Array.isArray(e)?1:wP(e)?2:3*!!wB(e)}function wM(e,r){return 2===wF(e)?e.has(r):Object.prototype.hasOwnProperty.call(e,r)}function wT(e,r,s){let i=wF(e);2===i?e.set(r,s):3===i?e.add(s):e[r]=s}function wP(e){return e instanceof Map}function wB(e){return e instanceof Set}function wL(e){return e.copy_||e.base_}function wI(e,r){if(wP(e))return new Map(e);if(wB(e))return new Set(e);if(Array.isArray(e))return Array.prototype.slice.call(e);let s=wR(e);if(!0!==r&&("class_only"!==r||s)){let r=wj(e);return null!==r&&s?{...e}:Object.assign(Object.create(r),e)}{let r=Object.getOwnPropertyDescriptors(e);delete r[wS];let s=Reflect.ownKeys(r);for(let i=0;i<s.length;i++){let n=s[i],o=r[n];!1===o.writable&&(o.writable=!0,o.configurable=!0),(o.get||o.set)&&(r[n]={configurable:!0,writable:!0,enumerable:o.enumerable,value:e[n]})}return Object.create(wj(e),r)}}function wO(e,r=!1){return w$(e)||wk(e)||!wN(e)||(wF(e)>1&&Object.defineProperties(e,{set:wz,add:wz,clear:wz,delete:wz}),Object.freeze(e),r&&Object.values(e).forEach(e=>wO(e,!0))),e}var wz={value:function(){wC(2)}};function w$(e){return null===e||"object"!=typeof e||Object.isFrozen(e)}var wW={};function wH(e){let r=wW[e];return r||wC(0,e),r}function wU(e,r){r&&(wH("Patches"),e.patches_=[],e.inversePatches_=[],e.patchListener_=r)}function wK(e){wq(e),e.drafts_.forEach(wY),e.drafts_=null}function wq(e){e===I&&(I=e.parent_)}function wV(e){return I={drafts_:[],parent_:I,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function wY(e){let r=e[wS];0===r.type_||1===r.type_?r.revoke_():r.revoked_=!0}function wG(e,r){r.unfinalizedDrafts_=r.drafts_.length;let s=r.drafts_[0];return void 0!==e&&e!==s?(s[wS].modified_&&(wK(r),wC(4)),wN(e)&&(e=wX(r,e),r.parent_||wZ(r,e)),r.patches_&&wH("Patches").generateReplacementPatches_(s[wS].base_,e,r.patches_,r.inversePatches_)):e=wX(r,s,[]),wK(r),r.patches_&&r.patchListener_(r.patches_,r.inversePatches_),e!==wb?e:void 0}function wX(e,r,s){if(w$(r))return r;let i=e.immer_.shouldUseStrictIteration(),n=r[wS];if(!n)return wA(r,(i,o)=>wJ(e,n,r,i,o,s),i),r;if(n.scope_!==e)return r;if(!n.modified_)return wZ(e,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;let r=n.copy_,o=r,a=!1;3===n.type_&&(o=new Set(r),r.clear(),a=!0),wA(o,(i,o)=>wJ(e,n,r,i,o,s,a),i),wZ(e,r,!1),s&&e.patches_&&wH("Patches").generatePatches_(n,s,e.patches_,e.inversePatches_)}return n.copy_}function wJ(e,r,s,i,n,o,a){if(null==n||"object"!=typeof n&&!a)return;let l=w$(n);if(!l||a){if(wk(n)){let a=wX(e,n,o&&r&&3!==r.type_&&!wM(r.assigned_,i)?o.concat(i):void 0);if(wT(s,i,a),!wk(a))return;e.canAutoFreeze_=!1}else a&&s.add(n);if(wN(n)&&!l){if(!e.immer_.autoFreeze_&&e.unfinalizedDrafts_<1||r&&r.base_&&r.base_[i]===n&&l)return;wX(e,n),(!r||!r.scope_.parent_)&&"symbol"!=typeof i&&(wP(s)?s.has(i):Object.prototype.propertyIsEnumerable.call(s,i))&&wZ(e,n)}}}function wZ(e,r,s=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&wO(r,s)}var wQ={get(e,r){if(r===wS)return e;let s=wL(e);if(!wM(s,r)){var i;let n;return i=e,(n=w2(s,r))?"value"in n?n.value:n.get?.call(i.draft_):void 0}let n=s[r];return e.finalized_||!wN(n)?n:n===w1(e.base_,r)?(w3(e),e.copy_[r]=w4(n,e)):n},has:(e,r)=>r in wL(e),ownKeys:e=>Reflect.ownKeys(wL(e)),set(e,r,s){let i=w2(wL(e),r);if(i?.set)return i.set.call(e.draft_,s),!0;if(!e.modified_){let i=w1(wL(e),r),n=i?.[wS];if(n&&n.base_===s)return e.copy_[r]=s,e.assigned_[r]=!1,!0;if((s===i?0!==s||1/s==1/i:s!=s&&i!=i)&&(void 0!==s||wM(e.base_,r)))return!0;w3(e),w5(e)}return!!(e.copy_[r]===s&&(void 0!==s||r in e.copy_)||Number.isNaN(s)&&Number.isNaN(e.copy_[r]))||(e.copy_[r]=s,e.assigned_[r]=!0,!0)},deleteProperty:(e,r)=>(void 0!==w1(e.base_,r)||r in e.base_?(e.assigned_[r]=!1,w3(e),w5(e)):delete e.assigned_[r],e.copy_&&delete e.copy_[r],!0),getOwnPropertyDescriptor(e,r){let s=wL(e),i=Reflect.getOwnPropertyDescriptor(s,r);return i?{writable:!0,configurable:1!==e.type_||"length"!==r,enumerable:i.enumerable,value:s[r]}:i},defineProperty(){wC(11)},getPrototypeOf:e=>wj(e.base_),setPrototypeOf(){wC(12)}},w0={};function w1(e,r){let s=e[wS];return(s?wL(s):e)[r]}function w2(e,r){if(!(r in e))return;let s=wj(e);for(;s;){let e=Object.getOwnPropertyDescriptor(s,r);if(e)return e;s=wj(s)}}function w5(e){!e.modified_&&(e.modified_=!0,e.parent_&&w5(e.parent_))}function w3(e){e.copy_||(e.copy_=wI(e.base_,e.scope_.immer_.useStrictShallowCopy_))}function w4(e,r){let s=wP(e)?wH("MapSet").proxyMap_(e,r):wB(e)?wH("MapSet").proxySet_(e,r):function(e,r){let s=Array.isArray(e),i={type_:+!!s,scope_:r?r.scope_:I,modified_:!1,finalized_:!1,assigned_:{},parent_:r,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1},n=i,o=wQ;s&&(n=[i],o=w0);let{revoke:a,proxy:l}=Proxy.revocable(n,o);return i.draft_=l,i.revoke_=a,l}(e,r);return(r?r.scope_:I).drafts_.push(s),s}wA(wQ,(e,r)=>{w0[e]=function(){return arguments[0]=arguments[0][0],r.apply(this,arguments)}}),w0.deleteProperty=function(e,r){return w0.set.call(this,e,r,void 0)},w0.set=function(e,r,s){return wQ.set.call(this,e[0],r,s,e[0])};var w6=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!0,this.produce=(e,r,s)=>{let i;if("function"==typeof e&&"function"!=typeof r){let s=r;r=e;let i=this;return function(e=s,...n){return i.produce(e,e=>r.call(this,e,...n))}}if("function"!=typeof r&&wC(6),void 0!==s&&"function"!=typeof s&&wC(7),wN(e)){let n=wV(this),o=w4(e,void 0),a=!0;try{i=r(o),a=!1}finally{a?wK(n):wq(n)}return wU(n,s),wG(i,n)}if(e&&"object"==typeof e)wC(1,e);else{if(void 0===(i=r(e))&&(i=e),i===wb&&(i=void 0),this.autoFreeze_&&wO(i,!0),s){let r=[],n=[];wH("Patches").generateReplacementPatches_(e,i,r,n),s(r,n)}return i}},this.produceWithPatches=(e,r)=>{let s,i;return"function"==typeof e?(r,...s)=>this.produceWithPatches(r,r=>e(r,...s)):[this.produce(e,r,(e,r)=>{s=e,i=r}),s,i]},"boolean"==typeof e?.autoFreeze&&this.setAutoFreeze(e.autoFreeze),"boolean"==typeof e?.useStrictShallowCopy&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),"boolean"==typeof e?.useStrictIteration&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){var r;wN(e)||wC(8),wk(e)&&(wk(r=e)||wC(10,r),e=function e(r){let s;if(!wN(r)||w$(r))return r;let i=r[wS],n=!0;if(i){if(!i.modified_)return i.base_;i.finalized_=!0,s=wI(r,i.scope_.immer_.useStrictShallowCopy_),n=i.scope_.immer_.shouldUseStrictIteration()}else s=wI(r,!0);return wA(s,(r,i)=>{wT(s,r,e(i))},n),i&&(i.finalized_=!1),s}(r));let s=wV(this),i=w4(e,void 0);return i[wS].isManual_=!0,wq(s),i}finishDraft(e,r){let s=e&&e[wS];s&&s.isManual_||wC(9);let{scope_:i}=s;return wU(i,r),wG(void 0,i)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,r){let s;for(s=r.length-1;s>=0;s--){let i=r[s];if(0===i.path.length&&"replace"===i.op){e=i.value;break}}s>-1&&(r=r.slice(s+1));let i=wH("Patches").applyPatches_;return wk(e)?i(e,r):this.produce(e,e=>i(e,r))}}().produce;let w8="vibedeckx:placeholder-workspaces";function w7(e){try{window.localStorage.setItem(w8,JSON.stringify([...e]))}catch{}}let w9=function(){try{let e=window.localStorage.getItem(w8);if(!e)return new Map;let r=JSON.parse(e);if(!Array.isArray(r))return new Map;let s=new Map;for(let e of r)Array.isArray(e)&&"string"==typeof e[0]&&"number"==typeof e[1]?s.set(e[0],e[1]):"string"==typeof e&&s.set(e,Date.now());return s}catch{return new Map}}(),Se=new Set,St=new Map;function Sr(){for(let e of Se)e()}function Ss(e){return Se.add(e),()=>{Se.delete(e)}}function Si(){return w9}function Sn(){return St}function So(e,r,s){return`${e}:${r??""}:${s??""}`}function Sa(e){if(!w9.has(e))return!1;let r=new Map(w9);return r.delete(e),w7(w9=r),Sr(),!0}function Sl(){return"localhost"===window.location.hostname&&"3000"===window.location.port?"http://localhost:5173":""}async function Sc(e,r,s,i){let n=await (0,rx.authFetch)(`${Sl()}/api/projects/${e}/agent-sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branch:r,permissionMode:s,agentType:i})});if(!n.ok)throw Error("Failed to load session");return n.json()}async function Sd(e,r){let s=await (0,rx.authFetch)(`${Sl()}/api/agent-sessions/${e}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:r})});if(!s.ok){let r="";try{let e=await s.json();if(e.errorCode){let s=[`${e.errorCode}`];e.attempts&&s.push(`${e.attempts} attempts`),e.totalDurationMs&&s.push(`${(e.totalDurationMs/1e3).toFixed(1)}s`),r=` (${s.join(", ")})`}else e.error&&(r=` — ${e.error}`)}catch{}throw console.error(`[AgentSession] /message failed: status=${s.status}, sessionId=${e}, detail=${r}`),Error(`Failed to send message [${s.status}]${r}`)}}async function Su(e,r){let s=await (0,rx.authFetch)(`${Sl()}/api/agent-sessions/${e}/paste`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:r})});if(!s.ok){let r="";try{let e=await s.json();if(e.errorCode){let s=[`${e.errorCode}`];e.attempts&&s.push(`${e.attempts} attempts`),e.totalDurationMs&&s.push(`${(e.totalDurationMs/1e3).toFixed(1)}s`),r=` (${s.join(", ")})`}else e.error&&(r=` — ${e.error}`)}catch{}throw console.error(`[AgentSession] /paste failed: status=${s.status}, sessionId=${e}, detail=${r}`),Error(`Failed to upload paste [${s.status}]${r}`)}return s.json()}async function Sh(e,r){if(!(await (0,rx.authFetch)(`${Sl()}/api/agent-sessions/${e}/restart`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentType:r})})).ok)throw Error("Failed to restart session")}async function Sf(e,r){let s=await (0,rx.authFetch)(`${Sl()}/api/agent-sessions/${e}/agent-type`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agentType:r})});if(!s.ok){let e="";try{let r=await s.json();r.error&&(e=r.error)}catch{}throw Error(e||`Failed to switch agent [${s.status}]`)}}async function Sp(e){if(!(await (0,rx.authFetch)(`${Sl()}/api/agent-sessions/${e}/stop`,{method:"POST"})).ok)throw Error("Failed to stop session")}async function Sm(e,r){if(!(await (0,rx.authFetch)(`${Sl()}/api/agent-sessions/${e}/switch-mode`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:r})})).ok)throw Error("Failed to switch mode")}async function Sg(e,r){if(!(await (0,rx.authFetch)(`${Sl()}/api/agent-sessions/${e}/accept-plan`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({planContent:r})})).ok)throw Error("Failed to accept plan")}let Sx=new Map;function Sv(e,r,s){return`${e}:${r??""}:${s??"latest"}`}async function S_(e){let r=await (0,rx.authFetch)(`${Sl()}/api/agent-sessions/${e}`);if(!r.ok)throw Error(`Session ${e} not found`);return r.json()}let Sy=(0,ew.default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]),Sb=(0,ew.default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]),Sw=(0,ew.default)("brain",[["path",{d:"M12 18V5",key:"adv99a"}],["path",{d:"M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",key:"1e3is1"}],["path",{d:"M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",key:"1gqd8o"}],["path",{d:"M17.997 5.125a4 4 0 0 1 2.526 5.77",key:"iwvgf7"}],["path",{d:"M18 18a4 4 0 0 0 2-7.464",key:"efp6ie"}],["path",{d:"M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",key:"1gq6am"}],["path",{d:"M6 18a4 4 0 0 1-2-7.464",key:"k1g0md"}],["path",{d:"M6.003 5.125a4 4 0 0 0-2.526 5.77",key:"q97ue3"}]]),SS=(0,ew.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),SC=(0,ew.default)("circle-question-mark",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),Sj=(0,ew.default)("file-check",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"m9 15 2 2 4-4",key:"1grp1n"}]]),Sk=(0,ew.default)("folder-search",[["path",{d:"M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1",key:"1bw5m7"}],["path",{d:"m21 21-1.9-1.9",key:"1g2n9r"}],["circle",{cx:"17",cy:"17",r:"3",key:"18b49y"}]]),SN=(0,ew.default)("workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]),SD=(0,ew.default)("file-pen-line",[["path",{d:"m18.226 5.226-2.52-2.52A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.351",key:"1k2beg"}],["path",{d:"M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z",key:"2t3380"}],["path",{d:"M8 18h1",key:"13wk12"}]]),SE=(0,ew.default)("file-plus-corner",[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]]),SR=(0,ew.default)("earth",[["path",{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54",key:"1djwo0"}],["path",{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17",key:"1tzkfa"}],["path",{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05",key:"14pb5j"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]),SA=(0,ew.default)("shield-alert",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]]);var bH=bR,bA=bR;let SF=RegExp("(?<![\\w./-])([\\w-]+(?:[./][\\w-]+)+)(?::(\\d+)(?::\\d+)?|#L(\\d+)(?:-L?\\d+)?)?","g"),SM=/\[([^\]\n]*)\]\(\s*([^)\s]+?)\s*\)/g;function ST(e){return e.includes("/")||/\.[A-Za-z0-9]+$/.test(e)}function SP(e){let r=e.trim();if(!r)return null;let s=/^(.*?)(?::(\d+)(?::\d+)?|#L(\d+)(?:-L?\d+)?)?$/.exec(r);if(!s||!s[1])return null;let i=s[1];return/^[a-z][a-z0-9+.-]*:/i.test(i)||i.startsWith("//")||i.startsWith("#")?null:{rawPath:i,line:s[2]?Number(s[2]):s[3]?Number(s[3]):null}}function SB(e){let r=r=>e.index?e.index.resolve(r):[];function s(e,r,s){return{type:"element",tagName:"a",properties:{className:["file-ref"],href:"#file-ref",dataFilePaths:JSON.stringify(e),...null!=r?{dataFileLine:String(r)}:{}},children:s}}return e=>{!function e(i,n=!1){if(!i.children)return;let o=n||"pre"===i.tagName,a=[];for(let n of i.children)"text"===n.type?o?a.push(n):a.push(...function(e){let i=function(e){let r,s=[],i=[];for(SM.lastIndex=0;null!==(r=SM.exec(e));){let e=SP(r[2]);if(!e||!ST(e.rawPath))continue;let n=r.index,o=r.index+r[0].length;s.push({start:n,end:o,rawPath:e.rawPath,line:e.line,display:r[1]||void 0}),i.push([n,o])}for(SF.lastIndex=0;null!==(r=SF.exec(e));){let e=r.index;if(i.some(([r,s])=>e>=r&&e<s))continue;let n=r[1];if(!ST(n))continue;let o=r[2]?Number(r[2]):r[3]?Number(r[3]):null;s.push({start:e,end:e+r[0].length,rawPath:n,line:o})}return s.sort((e,r)=>e.start-r.start),s}(e);if(0===i.length)return[{type:"text",value:e}];let n=[],o=0,a=!1;for(let l of i){let i=r(l.rawPath);if(0===i.length)continue;l.start>o&&n.push({type:"text",value:e.slice(o,l.start)});let c=l.display??e.slice(l.start,l.end);n.push(s(i,l.line,[{type:"text",value:c}])),o=l.end,a=!0}return a?(o<e.length&&n.push({type:"text",value:e.slice(o)}),n):[{type:"text",value:e}]}(n.value??"")):"element"===n.type&&"pre"===n.tagName?(e(n,!0),a.push(n)):"element"!==n.type||"a"!==n.tagName||o?(e(n,o),a.push(n)):a.push(...function(e){let i=SP(String(e.properties?.href??""));if(!i)return[e];let n=r(i.rawPath);return 0===n.length?e.children??[]:[s(n,i.line,e.children??[])]}(n));i.children=a}(e)}}let SL="text-primary underline decoration-dotted underline-offset-2 cursor-pointer hover:decoration-solid";function SI({node:e,children:r,href:s,...i}){let{openFile:n}=wp(),o=e?.properties?.dataFilePaths;if(!o)return"string"==typeof s&&s.startsWith("#")?(0,z.jsx)("a",{href:s,...i,children:r}):(0,z.jsx)("a",{href:s,target:"_blank",rel:"noreferrer noopener",...i,children:r});let a=[];try{a=JSON.parse(o)}catch{a=[]}let l=e?.properties?.dataFileLine,c=null!=l?Number(l):null;return a.length<=1?(0,z.jsx)("a",{href:"#",className:SL,onClick:e=>{e.preventDefault(),a[0]&&n(a[0],c)},children:r}):(0,z.jsx)(SO,{paths:a,line:c,children:r})}function SO({paths:e,line:r,children:s}){let{openFile:i}=wp();return(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsx)("a",{href:"#",className:SL,onClick:e=>e.preventDefault(),children:s})}),(0,z.jsxs)(n9,{align:"start",className:"max-w-md",children:[(0,z.jsxs)(os,{children:[e.length," matching files"]}),e.map(e=>(0,z.jsx)(oe,{className:"font-mono text-xs",onSelect:()=>i(e,r),children:e},e))]})]})}let Sz=(0,$.memo)(function({children:e}){let{index:r}=wp(),{harden:s,...i}=bA.e,n=[...Object.values(i),[SB,{index:r}],...s?[s]:[]];return(0,z.jsx)(bH.i,{className:"size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",rehypePlugins:n,components:{a:SI},children:e},r?.version??"no-file-ref-index")});function S$({input:e,messageIndex:r}){let{sendMessage:s,messages:i}=jK(),n=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&Array.isArray(r.questions)&&r.questions.length>0&&r.questions.every(e=>"string"==typeof e.question&&"string"==typeof e.header&&Array.isArray(e.options)))return r}catch{}return null}(e),o=i[r+1],a=o?.type==="user",l=a?o.content:"",c="string"==typeof l?l:l.filter(e=>"text"===e.type).map(e=>e.text).join("\n");if(!n){let r="string"==typeof e?e:JSON.stringify(e,null,2);return(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:r.length>500?r.substring(0,500)+"...":r})}return a?(0,z.jsx)(SW,{questions:n.questions,answeredText:c}):(0,z.jsx)(SH,{questions:n.questions,sendMessage:s})}function SW({questions:e,answeredText:r}){return(0,z.jsx)("div",{className:"space-y-3 mt-2",children:e.map((e,s)=>(0,z.jsxs)("div",{className:"rounded-lg border bg-muted/30 p-3",children:[(0,z.jsx)("div",{className:"flex items-center gap-2 mb-1.5",children:(0,z.jsx)(at,{variant:"secondary",className:"text-[10px]",children:e.header})}),(0,z.jsx)("p",{className:"text-sm text-muted-foreground mb-2",children:e.question}),(0,z.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,z.jsx)(rS,{className:"h-4 w-4"}),(0,z.jsx)("span",{className:"font-medium",children:r})]})]},s))})}function SH({questions:e,sendMessage:r}){let[s,i]=(0,$.useState)(new Map),[n,o]=(0,$.useState)(new Map),[a,l]=(0,$.useState)(new Set),[c,d]=(0,$.useState)(!1);async function u(){let i=[];for(let r=0;r<e.length;r++)if(a.has(r)){let e=n.get(r)?.trim();e&&i.push(e)}else{let e=s.get(r);e&&e.size>0&&i.push(Array.from(e).join(", "))}if(i.length>0){d(!0);try{await r(i.join("\n"))}finally{d(!1)}}}let h=e.some((e,r)=>{if(a.has(r))return!!n.get(r)?.trim();let i=s.get(r);return i&&i.size>0});return(0,z.jsxs)("div",{className:"space-y-4 mt-2",children:[e.map((e,r)=>{let c=s.get(r)||new Set,d=n.get(r)||"",u=a.has(r);return(0,z.jsxs)("div",{className:"rounded-lg border bg-card p-3",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,z.jsx)(SC,{className:"h-3.5 w-3.5 text-violet-500"}),(0,z.jsx)(at,{variant:"secondary",className:"text-[10px]",children:e.header})]}),(0,z.jsx)("p",{className:"text-sm font-medium mb-3",children:e.question}),(0,z.jsxs)("div",{className:"grid gap-2",children:[e.options.map(s=>{let n=c.has(s.label)&&!u;return(0,z.jsx)(W.Button,{variant:n?"default":"outline",className:(0,ey.cn)("h-auto py-2 px-3 justify-start text-left whitespace-normal",n&&"ring-2 ring-primary/50"),onClick:()=>{var n,o;return n=s.label,o=e.multiSelect,void(i(e=>{let s=new Map(e),i=new Set(s.get(r)||[]);return o?i.has(n)?i.delete(n):i.add(n):i.has(n)?i.clear():(i.clear(),i.add(n)),s.set(r,i),s}),l(e=>{let s=new Set(e);return s.delete(r),s}))},children:(0,z.jsxs)("div",{children:[(0,z.jsx)("span",{className:"font-medium text-sm",children:s.label}),s.description&&(0,z.jsx)("span",{className:"block text-xs text-muted-foreground mt-0.5",children:s.description})]})},s.label)}),(0,z.jsx)("div",{className:"flex items-center gap-2 mt-1",children:(0,z.jsx)(ro,{placeholder:"Other...",value:d,onChange:e=>{var s;return s=e.target.value,void(o(e=>new Map(e).set(r,s)),s&&(i(e=>{let s=new Map(e);return s.set(r,new Set),s}),l(e=>new Set(e).add(r))))},className:"text-sm"})})]})]},r)}),(0,z.jsxs)(W.Button,{onClick:u,disabled:!h||c,size:"sm",className:"active:scale-95 transition-transform",children:[c&&(0,z.jsx)(rj,{className:"h-3.5 w-3.5 animate-spin"}),c?"Submitting...":"Submit"]})]})}function SU(e){try{return JSON.parse(e)}catch{return null}}function SK({input:e,messageIndex:r}){let{messages:s,acceptPlan:i,permissionMode:n,agentType:o}=jK(),[a,l]=(0,$.useState)(!0),[c,d]=(0,$.useState)(!1),u=function(e,r,s){let i="string"==typeof e?SU(e):e;if(i&&"object"==typeof i&&"plan"in i){let e=i.plan;if(e)return e}if("claude-code"===s)for(let e=r.length-1;e>=0;e--){let s=r[e];if("tool_use"===s.type&&"Write"===s.tool){let e="string"==typeof s.input?SU(s.input):s.input;if(e&&"object"==typeof e&&e.file_path?.includes(".claude/plans/")&&e.content)return e.content}}return"Plan written to file"}(e,s,o),h=(0,$.useCallback)(async()=>{d(!0);try{await i(u)}catch{d(!1)}},[i,u]),f="edit"===n,p=!1,m="";for(let e=r+1;e<s.length;e++){let r=s[e];if(r?.type==="user"){p=!0;let e=r.content??"";m="string"==typeof e?e:e.filter(e=>"text"===e.type).map(e=>e.text).join("\n");break}}return(f&&!p&&(p=!0),f||p)?(0,z.jsxs)("div",{className:"space-y-2 mt-2",children:[f?(0,z.jsxs)(at,{variant:"default",className:"bg-green-600 hover:bg-green-700 text-white",children:[(0,z.jsx)(rS,{className:"h-3 w-3 mr-1"}),"Plan Accepted"]}):(0,z.jsxs)("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[(0,z.jsx)(gN,{className:"h-3.5 w-3.5"}),(0,z.jsxs)("span",{children:["Feedback sent: ",m.length>100?m.substring(0,100)+"...":m]})]}),(0,z.jsxs)("details",{open:!f,children:[(0,z.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:"View Plan"}),(0,z.jsx)("div",{className:"mt-2 rounded-lg border p-3 bg-muted/30",children:(0,z.jsx)("div",{className:"prose prose-sm dark:prose-invert max-w-none break-words [&_pre]:overflow-x-auto [&_pre]:max-w-full [&_code]:break-all [&_p]:break-words",style:{fontSize:"var(--conv-font-size, 14px)"},children:(0,z.jsx)(bq,{children:u})})})]})]}):(0,z.jsxs)("div",{className:"space-y-3 mt-2",children:[(0,z.jsxs)("div",{className:"rounded-lg border p-3 bg-card",children:[(0,z.jsxs)("button",{onClick:()=>l(!a),className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground mb-2 block",children:[a?"Collapse":"Expand"," Plan"]}),a&&(0,z.jsx)("div",{className:"prose prose-sm dark:prose-invert max-w-none break-words [&_pre]:overflow-x-auto [&_pre]:max-w-full [&_code]:break-all [&_p]:break-words max-h-96 overflow-y-auto",style:{fontSize:"var(--conv-font-size, 14px)"},children:(0,z.jsx)(bq,{children:u})})]}),(0,z.jsxs)(W.Button,{onClick:h,disabled:c,className:"bg-green-600 hover:bg-green-700 text-white",size:"sm",children:[c?(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1.5 animate-spin"}):(0,z.jsx)(ru,{className:"h-3.5 w-3.5 mr-1.5"}),c?"Accepting Plan...":"Accept Plan & Start Editing"]})]})}function Sq({requestId:e,command:r,cwd:s,messageIndex:i}){let{messages:n,sessionId:o}=jK(),[a,l]=(0,$.useState)(!1),[c,d]=(0,$.useState)(null),u=!1;for(let e=i+1;e<n.length;e++)if(n[e]?.type==="user"){u=!0;break}c&&(u=!0);let h=(0,$.useCallback)(async r=>{if(o){l(!0),d(r);try{await (0,rx.sendApprovalResponse)(o,e,r)}catch{d(null),l(!1)}}},[o,e]);return u?(0,z.jsxs)("div",{className:"space-y-2 mt-2",children:[(0,z.jsxs)("div",{className:"rounded-lg border bg-muted/30 p-3",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,z.jsx)(oo,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,z.jsx)("span",{className:"text-xs text-muted-foreground",children:"Command"})]}),(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:r||"(empty)"}),s&&(0,z.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:["cwd: ",s]})]}),(0,z.jsxs)(at,{variant:"default",className:"decline"===c?"bg-red-600 hover:bg-red-700 text-white":"bg-green-600 hover:bg-green-700 text-white",children:[(0,z.jsx)(rS,{className:"h-3 w-3 mr-1"}),"decline"===c?"Denied":"Allowed"]})]}):(0,z.jsxs)("div",{className:"space-y-2 mt-2",children:[(0,z.jsxs)("div",{className:"rounded-lg border bg-card p-3",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,z.jsx)(oo,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,z.jsx)("span",{className:"text-xs text-muted-foreground",children:"Command"})]}),(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:r||"(empty)"}),s&&(0,z.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:["cwd: ",s]})]}),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsxs)(W.Button,{onClick:()=>h("accept"),disabled:a,className:"bg-green-600 hover:bg-green-700 text-white",size:"sm",children:[a&&"accept"===c?(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1 animate-spin"}):(0,z.jsx)(rS,{className:"h-3.5 w-3.5 mr-1"}),"Allow"]}),(0,z.jsxs)(W.Button,{onClick:()=>h("decline"),disabled:a,variant:"destructive",size:"sm",children:[a&&"decline"===c?(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1 animate-spin"}):(0,z.jsx)(rC,{className:"h-3.5 w-3.5 mr-1"}),"Deny"]})]})]})}function SV({requestId:e,changes:r,messageIndex:s}){let{messages:i,sessionId:n}=jK(),[o,a]=(0,$.useState)(!1),[l,c]=(0,$.useState)(null),d=!1;for(let e=s+1;e<i.length;e++)if(i[e]?.type==="user"){d=!0;break}l&&(d=!0);let u=(0,$.useCallback)(async r=>{if(n){a(!0),c(r);try{await (0,rx.sendApprovalResponse)(n,e,r)}catch{c(null),a(!1)}}},[n,e]),h=r??[],f=()=>(0,z.jsx)("div",{className:"rounded-lg border bg-muted/30 p-3 space-y-2",children:0===h.length?(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:"No file changes"}):h.map((e,r)=>(0,z.jsxs)("div",{children:[(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsx)(yU,{className:"h-3 w-3 text-muted-foreground flex-shrink-0"}),(0,z.jsx)("code",{className:"text-xs break-all",children:e.path}),(0,z.jsx)(at,{variant:"secondary",className:`text-[10px] ${function(e){switch(e){case"added":case"add":return"bg-green-500/10 text-green-600";case"deleted":case"delete":return"bg-red-500/10 text-red-600";default:return"bg-blue-500/10 text-blue-600"}}(e.kind)}`,children:function(e){switch(e){case"added":case"add":return"added";case"deleted":case"delete":return"deleted";default:return"modified"}}(e.kind)})]}),e.diff&&(0,z.jsxs)("details",{className:"mt-1",children:[(0,z.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:"View diff"}),(0,z.jsx)("pre",{className:"mt-1 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.diff.split("\n").map((e,r)=>{let s="";return e.startsWith("+")?s="bg-green-500/10 text-green-700 dark:text-green-400":e.startsWith("-")&&(s="bg-red-500/10 text-red-700 dark:text-red-400"),(0,z.jsx)("div",{className:s,children:e},r)})})]})]},r))});return d?(0,z.jsxs)("div",{className:"space-y-2 mt-2",children:[f(),(0,z.jsxs)(at,{variant:"default",className:"decline"===l?"bg-red-600 hover:bg-red-700 text-white":"bg-green-600 hover:bg-green-700 text-white",children:[(0,z.jsx)(rS,{className:"h-3 w-3 mr-1"}),"decline"===l?"Denied":"Allowed"]})]}):(0,z.jsxs)("div",{className:"space-y-2 mt-2",children:[f(),(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsxs)(W.Button,{onClick:()=>u("accept"),disabled:o,className:"bg-green-600 hover:bg-green-700 text-white",size:"sm",children:[o&&"accept"===l?(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1 animate-spin"}):(0,z.jsx)(rS,{className:"h-3.5 w-3.5 mr-1"}),"Allow"]}),(0,z.jsxs)(W.Button,{onClick:()=>u("decline"),disabled:o,variant:"destructive",size:"sm",children:[o&&"decline"===l?(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1 animate-spin"}):(0,z.jsx)(rC,{className:"h-3.5 w-3.5 mr-1"}),"Deny"]})]})]})}let SY=(0,ew.default)("circle-plus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),SG=(0,ew.default)("badge",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}]]);function SX({status:e,className:r}){switch(e){case"completed":return(0,z.jsx)(rS,{className:(0,ey.cn)("h-4 w-4 text-green-500",r)});case"in_progress":return(0,z.jsx)(rj,{className:(0,ey.cn)("h-4 w-4 text-cyan-500 animate-spin",r)});case"pending":default:return(0,z.jsx)(rw,{className:(0,ey.cn)("h-4 w-4 text-muted-foreground",r)});case"deleted":return(0,z.jsx)(rC,{className:(0,ey.cn)("h-4 w-4 text-red-400",r)})}}function SJ(e,r){try{let s="string"==typeof e?JSON.parse(e):e;if(s&&"object"==typeof s&&r(s))return s}catch{}return null}function SZ({input:e}){let r="string"==typeof e?e:JSON.stringify(e,null,2);return(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:r.length>500?r.substring(0,500)+"...":r})}function SQ({input:e}){let r=SJ(e,e=>Array.isArray(e.todos)&&e.todos.length>0);return r?(0,z.jsx)("div",{className:"mt-2 space-y-1",children:r.todos.map((e,r)=>(0,z.jsxs)("div",{className:"flex items-start gap-2 py-0.5",children:[(0,z.jsx)(SX,{status:e.status,className:"mt-0.5 flex-shrink-0"}),(0,z.jsxs)("div",{className:"min-w-0",children:[(0,z.jsx)("span",{className:(0,ey.cn)("text-sm break-words","completed"===e.status&&"line-through text-muted-foreground"),children:e.subject??e.content??"Untitled task"}),"in_progress"===e.status&&e.activeForm&&(0,z.jsx)("span",{className:"block text-xs italic text-cyan-500",children:e.activeForm})]})]},e.id??r))}):(0,z.jsx)(SZ,{input:e})}function S0({input:e}){let r=SJ(e,e=>"string"==typeof e.subject);return r?(0,z.jsxs)("div",{className:"mt-2 flex items-start gap-2",children:[(0,z.jsx)(SY,{className:"h-4 w-4 text-cyan-500 mt-0.5 flex-shrink-0"}),(0,z.jsxs)("div",{className:"min-w-0",children:[(0,z.jsx)("span",{className:"text-sm font-medium break-words",children:r.subject}),r.description&&(0,z.jsx)("span",{className:"block text-xs text-muted-foreground mt-0.5 break-words",children:r.description.length>200?r.description.substring(0,200)+"...":r.description})]})]}):(0,z.jsx)(SZ,{input:e})}function S1({input:e}){let r=SJ(e,e=>"string"==typeof e.taskId);return r?(0,z.jsxs)("div",{className:"mt-2 flex items-start gap-2 flex-wrap",children:[r.status?(0,z.jsx)(SX,{status:r.status,className:"mt-0.5 flex-shrink-0"}):(0,z.jsx)(vQ,{className:"h-4 w-4 text-cyan-500 mt-0.5 flex-shrink-0"}),(0,z.jsxs)("span",{className:"text-sm break-words",children:["Task #",r.taskId,r.status&&(0,z.jsxs)(z.Fragment,{children:[" ",(0,z.jsx)(vQ,{className:"inline h-3 w-3 text-muted-foreground mx-0.5"})," ",r.status]}),r.subject&&(0,z.jsxs)("span",{className:"text-muted-foreground",children:[" — ",r.subject]})]}),r.addBlockedBy&&r.addBlockedBy.length>0&&(0,z.jsx)("div",{className:"flex gap-1 mt-1 w-full pl-6",children:r.addBlockedBy.map(e=>(0,z.jsxs)(at,{variant:"outline",className:"text-[10px]",children:[(0,z.jsx)(SG,{className:"h-2.5 w-2.5 mr-0.5"}),"blocked by #",e]},e))}),r.addBlocks&&r.addBlocks.length>0&&(0,z.jsx)("div",{className:"flex gap-1 mt-1 w-full pl-6",children:r.addBlocks.map(e=>(0,z.jsxs)(at,{variant:"outline",className:"text-[10px]",children:[(0,z.jsx)(SG,{className:"h-2.5 w-2.5 mr-0.5"}),"blocks #",e]},e))})]}):(0,z.jsx)(SZ,{input:e})}function S2(){return(0,z.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-sm text-muted-foreground",children:[(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin text-cyan-500"}),(0,z.jsx)("span",{children:"Listing tasks..."})]})}function S5({input:e}){let r=SJ(e,e=>"string"==typeof e.taskId);return r?(0,z.jsxs)("div",{className:"mt-2 flex items-center gap-2 text-sm text-muted-foreground",children:[(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin text-cyan-500"}),(0,z.jsxs)("span",{children:["Fetching task #",r.taskId,"..."]})]}):(0,z.jsx)(SZ,{input:e})}function S3({output:e}){let r=function(e){try{let r=JSON.parse(e);if(Array.isArray(r))return r.filter(e=>e.id&&e.subject).map(e=>({id:String(e.id),subject:String(e.subject),status:e.status||"pending",owner:e.owner?String(e.owner):void 0,blockedBy:Array.isArray(e.blockedBy)?e.blockedBy.map(String):void 0}));let s=r.tasks??r.items??r.data;if(Array.isArray(s))return s.filter(e=>e.id&&e.subject).map(e=>({id:String(e.id),subject:String(e.subject),status:e.status||"pending",owner:e.owner?String(e.owner):void 0,blockedBy:Array.isArray(e.blockedBy)?e.blockedBy.map(String):void 0}))}catch{let r=e.trim().split("\n").filter(Boolean),s=[];for(let e of r){let r=e.match(/^#?(\d+)[\s.:\-]+\[?(completed|in_progress|pending|deleted)\]?\s+(.+)/i);r&&s.push({id:r[1],status:r[2].toLowerCase(),subject:r[3].trim()})}if(s.length>0)return s}return null}(e);return r?(0,z.jsx)("div",{className:"mt-1 space-y-1",children:r.map(e=>(0,z.jsxs)("div",{className:"flex items-start gap-2 py-0.5",children:[(0,z.jsx)(SX,{status:e.status,className:"mt-0.5 flex-shrink-0"}),(0,z.jsxs)("div",{className:"min-w-0 flex items-center gap-1.5 flex-wrap",children:[(0,z.jsxs)("span",{className:"text-xs text-muted-foreground",children:["#",e.id]}),(0,z.jsx)("span",{className:(0,ey.cn)("text-sm break-words","completed"===e.status&&"line-through text-muted-foreground"),children:e.subject}),e.blockedBy&&e.blockedBy.length>0&&(0,z.jsx)(at,{variant:"outline",className:"text-[10px]",children:"blocked"})]})]},e.id))}):null}function S4({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.file_path)return r;return null}catch{return null}}(e);if(!r)return(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)});let{file_path:s,offset:i,limit:n}=r,o=s.split("/"),a=o.pop()||s,l=o.join("/"),c=null!=i||null!=n,d="";if(c){let e=i??1;d=null!=n?`Lines ${e}\u2013${e+n-1}`:`From line ${e}`}return(0,z.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,z.jsxs)("div",{className:"min-w-0",children:[(0,z.jsx)("span",{className:"text-sm font-medium break-all",children:a}),l&&(0,z.jsx)("p",{className:"text-xs text-muted-foreground truncate",title:s,children:l})]}),c&&(0,z.jsx)(at,{variant:"outline",className:"text-xs shrink-0",children:d})]})}function S6({output:e}){let r=e.split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["File contents (",r," ",1===r?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}function S8({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.file_path)return r;return null}catch{return null}}(e);if(!r)return(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)});let{file_path:s,content:i}=r,n=s.split("/"),o=n.pop()||s,a=n.join("/"),l=i.split("\n").length;return(0,z.jsxs)("div",{className:"space-y-1",children:[(0,z.jsxs)("div",{className:"min-w-0",children:[(0,z.jsx)("span",{className:"text-sm font-medium break-all",children:o}),a&&(0,z.jsx)("p",{className:"text-xs text-muted-foreground truncate",title:s,children:a})]}),(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Content (",l," ",1===l?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:i.length>1e3?i.substring(0,1e3)+"...":i})]})]})}function S7({output:e}){return e&&""!==e.trim()?(0,z.jsxs)("details",{children:[(0,z.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:"Result"}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]}):(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"File written"})}function S9({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.command)return r;return null}catch{return null}}(e);if(!r)return(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)});let{command:s,description:i,timeout:n}=r;return(0,z.jsxs)("div",{className:"space-y-1",children:[i&&(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:i}),(0,z.jsxs)("div",{className:"flex items-start gap-2",children:[(0,z.jsxs)("pre",{className:"flex-1 min-w-0 bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:[(0,z.jsx)("span",{className:"text-muted-foreground select-none",children:"$ "}),s]}),null!=n&&(0,z.jsx)(at,{variant:"outline",className:"text-xs shrink-0 mt-1",children:function(e){if(e>=6e4){let r=e/6e4;return`${r%1==0?r:r.toFixed(1)}m`}return`${e/1e3}s`}(n)})]})]})}function Ce({output:e}){if(!e||""===e.trim())return(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"No output"});let r=e.split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Output (",r," ",1===r?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}function Ct({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.pattern)return r;return null}catch{return null}}(e);if(!r)return(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)});let s=[];return r.path&&s.push({label:r.path}),r.glob&&s.push({label:r.glob}),r.type&&s.push({label:`.${r.type}`}),r.output_mode&&"files_with_matches"!==r.output_mode&&s.push({label:r.output_mode}),null!=r.context&&s.push({label:`context: ${r.context}`}),null!=r["-C"]&&s.push({label:`context: ${r["-C"]}`}),null!=r["-B"]&&s.push({label:`before: ${r["-B"]}`}),null!=r["-A"]&&s.push({label:`after: ${r["-A"]}`}),r["-i"]&&s.push({label:"case-insensitive"}),r.multiline&&s.push({label:"multiline"}),null!=r.head_limit&&s.push({label:`limit: ${r.head_limit}`}),null!=r.offset&&s.push({label:`offset: ${r.offset}`}),(0,z.jsxs)("div",{className:"space-y-1",children:[(0,z.jsx)("div",{className:"flex items-start gap-2",children:(0,z.jsxs)("pre",{className:"flex-1 min-w-0 bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:[(0,z.jsx)("span",{className:"text-muted-foreground select-none",children:"/ "}),r.pattern]})}),s.length>0&&(0,z.jsx)("div",{className:"flex items-center gap-1.5 flex-wrap",children:s.map((e,r)=>(0,z.jsx)(at,{variant:"outline",className:"text-xs",children:e.label},r))})]})}function Cr({output:e}){if(!e||""===e.trim())return(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"No matches"});let r=e.split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Results (",r," ",1===r?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}function Cs({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.pattern)return r;return null}catch{return null}}(e);return r?(0,z.jsxs)("div",{className:"space-y-1",children:[(0,z.jsx)("div",{className:"flex items-start gap-2",children:(0,z.jsx)("pre",{className:"flex-1 min-w-0 bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:r.pattern})}),r.path&&(0,z.jsx)("div",{className:"flex items-center gap-1.5 flex-wrap",children:(0,z.jsx)(at,{variant:"outline",className:"text-xs",children:r.path})})]}):(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)})}function Ci({output:e}){if(!e||""===e.trim())return(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"No matches"});let r=e.trim().split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:[r," ",1===r?"file":"files"," found"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}let Cn={Explore:"Explore",Bash:"Bash",Plan:"Plan","general-purpose":"General","code-simplifier":"Simplify","superpowers:code-reviewer":"Review","memory-leak-detector":"Memory","directory-structure-validator":"Structure","tech-docs-finder":"Docs","claude-code-guide":"Guide","statusline-setup":"Status"};function Co({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.description&&"string"==typeof r.subagent_type)return r;return null}catch{return null}}(e);if(!r)return(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)});let{description:s,subagent_type:i,prompt:n,model:o,max_turns:a,resume:l,run_in_background:c}=r,d=[];return d.push({label:Cn[i]||i}),o&&d.push({label:o}),null!=a&&d.push({label:`${a} turns`}),c&&d.push({label:"background"}),l&&d.push({label:"resume"}),(0,z.jsxs)("div",{className:"space-y-1",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,z.jsx)("span",{className:"text-sm",children:s}),d.map((e,r)=>(0,z.jsx)(at,{variant:"outline",className:"text-xs shrink-0",children:e.label},r))]}),n&&(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Prompt (",n.length>1e3?`${Math.round(n.length/1e3)}k chars`:`${n.length} chars`,")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:n.length>1e3?n.substring(0,1e3)+"...":n})]})]})}function Ca({output:e}){if(!e||""===e.trim())return(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"No output"});let r=e.split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Agent result (",r," ",1===r?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}function Cl(e,r){return e.length>r?e.substring(0,r)+"...":e}function Cc({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.file_path&&"string"==typeof r.old_string&&"string"==typeof r.new_string)return r;return null}catch{return null}}(e);if(!r)return(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)});let{file_path:s,old_string:i,new_string:n,replace_all:o}=r,a=s.split("/"),l=a.pop()||s,c=a.join("/"),d=i.split("\n").length,u=n.split("\n").length;return(0,z.jsxs)("div",{className:"space-y-1",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,z.jsxs)("div",{className:"min-w-0",children:[(0,z.jsx)("span",{className:"text-sm font-medium break-all",children:l}),c&&(0,z.jsx)("p",{className:"text-xs text-muted-foreground truncate",title:s,children:c})]}),(0,z.jsx)(at,{variant:"outline",className:"text-xs shrink-0",children:d===u?`${d} ${1===d?"line":"lines"}`:`${d}\u2192${u} lines`}),o&&(0,z.jsx)(at,{variant:"outline",className:"text-xs shrink-0",children:"replace all"})]}),(0,z.jsxs)("details",{children:[(0,z.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:"Diff"}),(0,z.jsxs)("div",{className:"mt-1 text-xs rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full",children:[(0,z.jsxs)("pre",{className:"bg-red-500/10 p-1.5 rounded-t whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:[(0,z.jsx)("span",{className:"text-red-500 select-none",children:"- "}),Cl(i,500)]}),(0,z.jsxs)("pre",{className:"bg-green-500/10 p-1.5 rounded-b whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:[(0,z.jsx)("span",{className:"text-green-500 select-none",children:"+ "}),Cl(n,500)]})]})]})]})}function Cd({output:e}){if(!e||""===e.trim())return(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"No output"});if(e.length<=200)return(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:e});let r=e.split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Result (",r," ",1===r?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}function Cu({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.url&&"string"==typeof r.prompt)return r;return null}catch{return null}}(e);if(!r)return(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)});let{display:s,href:i}=function(e){try{let r=new URL(e),s="/"===r.pathname?"":r.pathname,i=r.hostname+s;return{display:i.length>80?i.substring(0,77)+"...":i,href:e}}catch{return{display:e.length>80?e.substring(0,77)+"...":e,href:e}}}(r.url),n=r.prompt.length>150?r.prompt.substring(0,147)+"...":r.prompt;return(0,z.jsxs)("div",{className:"space-y-1",children:[(0,z.jsx)("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:"block text-xs font-mono text-blue-500 hover:underline truncate",children:s}),(0,z.jsxs)("p",{className:"text-xs text-muted-foreground",children:['"',n,'"']})]})}function Ch({output:e}){if(!e||""===e.trim())return(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"No content fetched"});let r=e.split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Response (",r," ",1===r?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}function Cf({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.query)return r;return null}catch{return null}}(e);return r?(0,z.jsxs)("div",{className:"space-y-1.5",children:[(0,z.jsx)("p",{className:"text-xs font-mono bg-muted/50 px-2 py-1 rounded break-words",children:r.query}),r.allowed_domains&&r.allowed_domains.length>0&&(0,z.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,z.jsx)("span",{className:"text-xs text-muted-foreground",children:"only:"}),r.allowed_domains.map(e=>(0,z.jsx)(at,{variant:"secondary",className:"text-[10px] px-1.5 py-0",children:e},e))]}),r.blocked_domains&&r.blocked_domains.length>0&&(0,z.jsxs)("div",{className:"flex items-center gap-1 flex-wrap",children:[(0,z.jsx)("span",{className:"text-xs text-muted-foreground",children:"exclude:"}),r.blocked_domains.map(e=>(0,z.jsx)(at,{variant:"outline",className:"text-[10px] px-1.5 py-0",children:e},e))]})]}):(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)})}function Cp({output:e}){if(!e||""===e.trim())return(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"No search results"});let r=e.split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Results (",r," ",1===r?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}function Cm({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.skill)return r;return null}catch{return null}}(e);return r?(0,z.jsxs)("div",{className:"space-y-1",children:[(0,z.jsx)("p",{className:"text-xs font-mono text-pink-500",children:r.skill}),r.args&&(0,z.jsxs)("p",{className:"text-xs text-muted-foreground truncate",children:["args: ",r.args]})]}):(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)})}function Cg({output:e}){if(!e||""===e.trim())return(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"No output"});let r=e.split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Loaded (",r," ",1===r?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}function Cx({input:e}){let r=function(e){try{let r="string"==typeof e?JSON.parse(e):e;if(r&&"object"==typeof r&&"string"==typeof r.task_id)return r;return null}catch{return null}}(e);if(!r)return(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:"string"==typeof e?e:JSON.stringify(e,null,2)});let{task_id:s,block:i,timeout:n}=r,o=[];return o.push({label:!1===i?"non-blocking":"blocking"}),null!=n&&o.push({label:`${Math.round(n/1e3)}s`}),(0,z.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,z.jsx)("code",{className:"text-sm bg-muted/50 px-1.5 py-0.5 rounded",children:s}),o.map((e,r)=>(0,z.jsx)(at,{variant:"outline",className:"text-xs shrink-0",children:e.label},r))]})}function Cv({output:e}){if(!e||""===e.trim())return(0,z.jsx)("p",{className:"text-xs text-muted-foreground italic",children:"No output"});let r=e.split("\n").length;return(0,z.jsxs)("details",{children:[(0,z.jsxs)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:["Task output (",r," ",1===r?"line":"lines",")"]}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.length>1e3?e.substring(0,1e3)+"...":e})]})}function C_({input:e}){let r="string"==typeof e?function(e){try{return JSON.parse(e)}catch{return null}}(e):e,s=r?.changes??[];return 0===s.length?(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:"No file changes"}):(0,z.jsx)("div",{className:"space-y-2 mt-1",children:s.map((e,r)=>(0,z.jsxs)("div",{children:[(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsx)(yU,{className:"h-3 w-3 text-muted-foreground flex-shrink-0"}),(0,z.jsx)("code",{className:"text-xs break-all",children:e.path}),(0,z.jsx)(at,{variant:"secondary",className:`text-[10px] ${function(e){switch(e){case"added":case"add":return"bg-green-500/10 text-green-600";case"deleted":case"delete":return"bg-red-500/10 text-red-600";default:return"bg-blue-500/10 text-blue-600"}}(e.kind)}`,children:function(e){switch(e){case"added":case"add":return"added";case"deleted":case"delete":return"deleted";default:return"modified"}}(e.kind)})]}),e.diff&&(0,z.jsxs)("details",{className:"mt-1",children:[(0,z.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:"View diff"}),(0,z.jsx)("pre",{className:"mt-1 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.diff.split("\n").map((e,r)=>{let s="";return e.startsWith("+")?s="bg-green-500/10 text-green-700 dark:text-green-400":e.startsWith("-")&&(s="bg-red-500/10 text-red-700 dark:text-red-400"),(0,z.jsx)("div",{className:s,children:e},r)})})]})]},r))})}function Cy({output:e}){let r=e.toLowerCase(),s="text-muted-foreground";return r.includes("completed")||r.includes("success")?s="text-green-600 dark:text-green-400":r.includes("failed")||r.includes("error")?s="text-red-600 dark:text-red-400":(r.includes("declined")||r.includes("denied"))&&(s="text-amber-600 dark:text-amber-400"),(0,z.jsx)("p",{className:`text-xs ${s}`,children:e})}function Cb({path:e,size:r}){let s;return(0,z.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-md border border-border bg-muted/60 px-1.5 py-0.5 text-xs font-mono align-baseline",title:e,children:[(0,z.jsx)(yU,{className:"w-3 h-3 text-muted-foreground shrink-0"}),(0,z.jsx)("span",{className:"truncate max-w-[18ch]",children:(s=Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\")))>=0?e.slice(s+1):e}),(0,z.jsx)("span",{className:"text-muted-foreground",children:function(e){if(e<1024)return`${e} B`;let r=e/1024;return r<10?`${r.toFixed(1)} KB`:r<1024?`${Math.round(r)} KB`:`${(r/1024).toFixed(1)} MB`}(r)})]})}let Cw=/<vpaste path="([^"]+)" size="(\d+)" \/>/g;function CS({message:e,messageIndex:r}){let s=function(e,r){switch(e.type){case"user":return(0,z.jsx)(Cj,{content:e.content});case"assistant":return(0,z.jsx)(Ck,{content:e.content,agentType:e.agentType});case"tool_use":return(0,z.jsx)(CN,{tool:e.tool,input:e.input,messageIndex:r});case"tool_result":return(0,z.jsx)(CD,{tool:e.tool,output:e.output});case"thinking":return(0,z.jsx)(CE,{content:e.content});case"error":return(0,z.jsx)(CR,{message:e.message});case"system":return(0,z.jsx)(CA,{content:e.content});case"approval_request":return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-amber-500/10 flex items-center justify-center",children:(0,z.jsx)(SA,{className:"w-4 h-4 text-amber-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-amber-500 mb-1",children:"command"===e.requestType?"Command Approval":"File Change Approval"}),"command"===e.requestType?(0,z.jsx)(Sq,{requestId:e.requestId,command:e.command,cwd:e.cwd,messageIndex:r}):(0,z.jsx)(SV,{requestId:e.requestId,changes:e.changes,messageIndex:r})]})]});default:return null}}(e,r);return s?(0,z.jsxs)("div",{className:"group relative",children:[s,(0,z.jsx)("span",{className:"pointer-events-none absolute right-0 top-3 text-xs tabular-nums text-muted-foreground opacity-0 transition-opacity duration-150 group-hover:opacity-100",children:function(e){let r=new Date(e),s=new Date,i=r.getFullYear()===s.getFullYear()&&r.getMonth()===s.getMonth()&&r.getDate()===s.getDate(),n=r.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1});if(i)return n;let o=r.toLocaleDateString(void 0,{year:"numeric",month:"2-digit",day:"2-digit"});return`${o} ${n}`}(e.timestamp)})]}):null}function CC(e){let r=function(e){let r,s=[],i=0,n=RegExp(Cw.source,"g");for(;null!==(r=n.exec(e));)r.index>i&&s.push({kind:"text",text:e.slice(i,r.index)}),s.push({kind:"chip",path:r[1],size:Number(r[2])}),i=r.index+r[0].length;return i<e.length&&s.push({kind:"text",text:e.slice(i)}),s}(e);return 1===r.length&&"text"===r[0].kind?(0,z.jsx)("span",{className:"whitespace-pre-wrap break-words",children:e??""}):(0,z.jsx)("div",{className:"text-foreground max-w-none break-words",style:{fontSize:"var(--conv-font-size, 14px)"},children:r.map((e,r)=>"text"===e.kind?(0,z.jsx)("span",{className:"whitespace-pre-wrap break-words",children:e.text},r):(0,z.jsx)(Cb,{path:e.path,size:e.size},r))})}function Cj({content:e}){return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-primary/10 flex items-center justify-center",children:(0,z.jsx)(Sy,{className:"w-3.5 h-3.5 text-primary"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-foreground mb-1",children:"You"}),(0,z.jsx)("div",{className:"text-foreground max-w-none break-words",style:{fontSize:"var(--conv-font-size, 14px)"},children:"string"==typeof e?CC(e):e.map((e,r)=>"text"===e.type?(0,z.jsx)($.Fragment,{children:CC(e.text)},r):(0,z.jsx)("img",{src:`data:${e.mediaType};base64,${e.data}`,alt:"Attached image",className:"max-w-sm rounded-lg mt-2"},r))})]})]})}function Ck({content:e,agentType:r}){let s=function(){try{return jK().agentType}catch{return"claude-code"}}(),i="codex"===(r??s),[n,o]=(0,$.useState)(!1);return(0,z.jsxs)("div",{className:"group flex gap-3 py-3",children:[(0,z.jsx)("div",{className:`flex-shrink-0 w-7 h-7 rounded-lg ${i?"bg-green-500/10":"bg-violet-500/10"} flex items-center justify-center`,children:(0,z.jsx)(oa,{className:`w-3.5 h-3.5 ${i?"text-green-500":"text-violet-500"}`})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,z.jsx)("p",{className:`text-sm font-medium ${i?"text-green-500":"text-violet-500"}`,children:i?"Codex":"Claude"}),(0,z.jsx)("button",{type:"button",onClick:()=>o(e=>!e),title:n?"View rendered":"View source","aria-label":n?"View rendered":"View source","aria-pressed":n,className:"opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity text-muted-foreground hover:text-foreground",children:n?(0,z.jsx)(vV,{className:"w-3.5 h-3.5"}):(0,z.jsx)(bb,{className:"w-3.5 h-3.5"})})]}),n?(0,z.jsx)("pre",{className:"text-xs font-mono whitespace-pre-wrap break-words bg-muted/50 rounded-md p-3 overflow-x-auto text-foreground select-text",children:e??""}):(0,z.jsx)("div",{className:"text-foreground prose prose-sm dark:prose-invert max-w-none break-words [&_pre]:overflow-x-auto [&_pre]:max-w-full [&_code]:break-all [&_p]:break-words",style:{fontSize:"var(--conv-font-size, 14px)"},children:(0,z.jsx)(Sz,{children:e??""})})]})]})}function CN({tool:e,input:r,messageIndex:s}){if("AskUserQuestion"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-violet-500/10 flex items-center justify-center",children:(0,z.jsx)(SC,{className:"w-4 h-4 text-violet-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-violet-500 mb-1",children:"Question"}),(0,z.jsx)(S$,{input:r,messageIndex:s})]})]});if("ExitPlanMode"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-green-500/10 flex items-center justify-center",children:(0,z.jsx)(Sj,{className:"w-4 h-4 text-green-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-green-500 mb-1",children:"Plan Ready"}),(0,z.jsx)(SK,{input:r,messageIndex:s})]})]});let i={TodoWrite:{label:"Tasks",ui:(0,z.jsx)(SQ,{input:r})},TaskCreate:{label:"Create Task",ui:(0,z.jsx)(S0,{input:r})},TaskUpdate:{label:"Update Task",ui:(0,z.jsx)(S1,{input:r})},TaskList:{label:"Task List",ui:(0,z.jsx)(S2,{})},TaskGet:{label:"Get Task",ui:(0,z.jsx)(S5,{input:r})}}[e];if(i)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-cyan-500/10 flex items-center justify-center",children:(0,z.jsx)(ax,{className:"w-4 h-4 text-cyan-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-cyan-500 mb-1",children:i.label}),i.ui]})]});if("Read"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-sky-500/10 flex items-center justify-center",children:(0,z.jsx)(yU,{className:"w-4 h-4 text-sky-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-sky-500 mb-1",children:"Read File"}),(0,z.jsx)(S4,{input:r})]})]});if("Edit"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-sky-500/10 flex items-center justify-center",children:(0,z.jsx)(SD,{className:"w-4 h-4 text-sky-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-sky-500 mb-1",children:"Edit File"}),(0,z.jsx)(Cc,{input:r})]})]});if("Write"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-sky-500/10 flex items-center justify-center",children:(0,z.jsx)(SE,{className:"w-4 h-4 text-sky-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-sky-500 mb-1",children:"Write File"}),(0,z.jsx)(S8,{input:r})]})]});if("Bash"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-emerald-500/10 flex items-center justify-center",children:(0,z.jsx)(oo,{className:"w-4 h-4 text-emerald-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-emerald-500 mb-1",children:"Run Command"}),(0,z.jsx)(S9,{input:r})]})]});if("Grep"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-orange-500/10 flex items-center justify-center",children:(0,z.jsx)(vG,{className:"w-4 h-4 text-orange-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-orange-500 mb-1",children:"Search"}),(0,z.jsx)(Ct,{input:r})]})]});if("Glob"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-teal-500/10 flex items-center justify-center",children:(0,z.jsx)(Sk,{className:"w-4 h-4 text-teal-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-teal-500 mb-1",children:"Glob"}),(0,z.jsx)(Cs,{input:r})]})]});if("Task"===e||"Agent"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-purple-500/10 flex items-center justify-center",children:(0,z.jsx)(SN,{className:"w-4 h-4 text-purple-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-purple-500 mb-1",children:"Agent"}),(0,z.jsx)(Co,{input:r})]})]});if("TaskOutput"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-purple-500/10 flex items-center justify-center",children:(0,z.jsx)(SN,{className:"w-4 h-4 text-purple-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-purple-500 mb-1",children:"Task Output"}),(0,z.jsx)(Cx,{input:r})]})]});if("WebFetch"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-blue-500/10 flex items-center justify-center",children:(0,z.jsx)(r_,{className:"w-4 h-4 text-blue-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-blue-500 mb-1",children:"Fetch Web Page"}),(0,z.jsx)(Cu,{input:r})]})]});if("WebSearch"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-indigo-500/10 flex items-center justify-center",children:(0,z.jsx)(SR,{className:"w-4 h-4 text-indigo-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-indigo-500 mb-1",children:"Web Search"}),(0,z.jsx)(Cf,{input:r})]})]});if("Skill"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-pink-500/10 flex items-center justify-center",children:(0,z.jsx)(cp,{className:"w-4 h-4 text-pink-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-pink-500 mb-1",children:"Skill"}),(0,z.jsx)(Cm,{input:r})]})]});if("FileChange"===e)return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-sky-500/10 flex items-center justify-center",children:(0,z.jsx)(SD,{className:"w-4 h-4 text-sky-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-sky-500 mb-1",children:"File Changes"}),(0,z.jsx)(C_,{input:r})]})]});let n="string"==typeof r?r:JSON.stringify(r,null,2);return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-amber-500/10 flex items-center justify-center",children:(0,z.jsx)(Sb,{className:"w-4 h-4 text-amber-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsxs)("p",{className:"text-sm font-medium text-amber-500 mb-1 break-words",children:["Tool: ",e]}),(0,z.jsxs)("details",{open:!0,children:[(0,z.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:"Input"}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:n.length>500?n.substring(0,500)+"...":n})]})]})]})}function CD({tool:e,output:r}){if(["TodoWrite","TaskCreate","TaskUpdate","TaskList","TaskGet"].includes(e)){let s="TaskList"===e?(0,z.jsx)(S3,{output:r}):null;return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsxs)("p",{className:"text-xs text-muted-foreground mb-1",children:["Result (",e,")"]}),s||(0,z.jsxs)("details",{children:[(0,z.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:"Output"}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:r.length>1e3?r.substring(0,1e3)+"...":r})]})]})})}if("Read"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(S6,{output:r})})});if("Edit"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Cd,{output:r})})});if("Write"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(S7,{output:r})})});if("Bash"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Ce,{output:r})})});if("Grep"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Cr,{output:r})})});if("Glob"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Ci,{output:r})})});if("Task"===e||"Agent"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Ca,{output:r})})});if("TaskOutput"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Cv,{output:r})})});if("WebFetch"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Ch,{output:r})})});if("WebSearch"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Cp,{output:r})})});if("Skill"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Cg,{output:r})})});if("FileChange"===e)return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)(Cy,{output:r})})});let s=r.length>200;return(0,z.jsx)("div",{className:"flex gap-3 py-3 pl-11",children:(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsxs)("p",{className:"text-xs text-muted-foreground mb-1",children:["Result",e?` (${e})`:""]}),(0,z.jsxs)("details",{className:(0,ey.cn)(!s&&"open"),children:[(0,z.jsx)("summary",{className:"text-xs text-muted-foreground cursor-pointer hover:text-foreground",children:"Output"}),(0,z.jsx)("pre",{className:"mt-1 bg-muted/50 p-2 rounded overflow-x-auto max-h-48 overflow-y-auto max-w-full whitespace-pre-wrap break-all",style:{fontSize:"var(--conv-font-size, 12px)"},children:r.length>1e3?r.substring(0,1e3)+"...":r})]})]})})}function CE({content:e}){let r=e??"",s=r.trim().length>0,i=s?r.length>500?r.substring(0,500)+"...":r:"Reasoning unavailable — this model does not expose its thinking content.";return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-blue-500/10 flex items-center justify-center",children:(0,z.jsx)(Sw,{className:"w-3.5 h-3.5 text-blue-500"})}),(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsxs)("details",{children:[(0,z.jsx)("summary",{className:"text-xs font-medium text-blue-500 cursor-pointer hover:underline",children:"Thinking..."}),(0,z.jsx)("div",{className:`mt-2 whitespace-pre-wrap break-words bg-blue-500/5 p-2 rounded-md overflow-hidden ${s?"text-muted-foreground":"text-muted-foreground/70 italic"}`,style:{fontSize:"var(--conv-font-size, 12px)"},children:i})]})})]})}function CR({message:e}){return(0,z.jsxs)("div",{className:"flex gap-3 py-3",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-red-500/10 flex items-center justify-center",children:(0,z.jsx)(SS,{className:"w-3.5 h-3.5 text-red-500"})}),(0,z.jsxs)("div",{className:"flex-1 min-w-0 overflow-hidden",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-red-500 mb-1",children:"Error"}),(0,z.jsx)("p",{className:"text-red-500/80 break-words whitespace-pre-wrap",style:{fontSize:"var(--conv-font-size, 14px)"},children:e})]})]})}function CA({content:e}){return(0,z.jsxs)("div",{className:"flex gap-3 py-2",children:[(0,z.jsx)("div",{className:"flex-shrink-0 w-7 h-7 rounded-lg bg-gray-500/10 flex items-center justify-center",children:(0,z.jsx)(gS,{className:"w-3.5 h-3.5 text-gray-500"})}),(0,z.jsx)("div",{className:"flex-1 min-w-0 overflow-hidden",children:(0,z.jsx)("p",{className:"text-muted-foreground break-words",style:{fontSize:"var(--conv-font-size, 12px)"},children:e??""})})]})}let CF=(0,ew.default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]),CM={damping:.7,stiffness:.05,mass:1.25},CT=1e3/60,CP=!1;function CB(e,r){let s=(0,$.useCallback)(r=>(s.current=r,e(r)),r);return s}globalThis.document?.addEventListener("mousedown",()=>{CP=!0}),globalThis.document?.addEventListener("mouseup",()=>{CP=!1}),globalThis.document?.addEventListener("click",()=>{CP=!1});let CL=new Map;function CI(...e){let r={...CM},s=!1;for(let i of e){if("instant"===i){s=!0;continue}"object"==typeof i&&(s=!1,r.damping=i.damping??r.damping,r.stiffness=i.stiffness??r.stiffness,r.mass=i.mass??r.mass)}let i=JSON.stringify(r);return CL.has(i)||CL.set(i,Object.freeze(r)),s?"instant":CL.get(i)}let CO=(0,$.createContext)(null),Cz="undefined"!=typeof window?$.useLayoutEffect:$.useEffect;function C$({instance:e,children:r,resize:s,initial:i,mass:n,damping:o,stiffness:a,targetScrollTop:l,contextRef:c,...d}){let u=(0,$.useRef)(null),h=((e={})=>{let[r,s]=(0,$.useState)(!1),[i,n]=(0,$.useState)(!1!==e.initial),[o,a]=(0,$.useState)(!1),l=(0,$.useRef)(null);l.current=e;let c=(0,$.useCallback)(()=>{if(!CP)return!1;let e=window.getSelection();if(!e||!e.rangeCount)return!1;let r=e.getRangeAt(0);return r.commonAncestorContainer.contains(x.current)||x.current?.contains(r.commonAncestorContainer)},[]),d=(0,$.useCallback)(e=>{h.isAtBottom=e,n(e)},[]),u=(0,$.useCallback)(e=>{h.escapedFromLock=e,s(e)},[]),h=(0,$.useMemo)(()=>{let s;return{escapedFromLock:r,isAtBottom:i,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return x.current?.scrollTop??0},set scrollTop(scrollTop){x.current&&(x.current.scrollTop=scrollTop,h.ignoreScrollToTop=x.current.scrollTop)},get targetScrollTop(){if(!x.current||!v.current)return 0;return x.current.scrollHeight-1-x.current.clientHeight},get calculatedTargetScrollTop(){if(!x.current||!v.current)return 0;let{targetScrollTop:r}=this;if(!e.targetScrollTop)return r;if(s?.targetScrollTop===r)return s.calculatedScrollTop;let i=Math.max(Math.min(e.targetScrollTop(r,{scrollElement:x.current,contentElement:v.current}),r),0);return s={targetScrollTop:r,calculatedScrollTop:i},requestAnimationFrame(()=>{s=void 0}),i},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=70}}},[]),f=(0,$.useCallback)((e={})=>{let r;"string"==typeof e&&(e={animation:e}),e.preserveScrollPosition||d(!0);let s=Date.now()+(Number(e.wait)||0),i=CI(l.current,e.animation),{ignoreEscapes:n=!1}=e,o=h.calculatedTargetScrollTop;e.duration instanceof Promise?e.duration.finally(()=>{r=Date.now()}):r=s+(e.duration??0);let a=async()=>{let e=new Promise(requestAnimationFrame).then(()=>{if(!h.isAtBottom)return h.animation=void 0,!1;let{scrollTop:d}=h,u=performance.now(),p=(u-(h.lastTick??u))/CT;if(h.animation||(h.animation={behavior:i,promise:e,ignoreEscapes:n}),h.animation.behavior===i&&(h.lastTick=u),c()||s>Date.now())return a();if(d<Math.min(o,h.calculatedTargetScrollTop)){if(h.animation?.behavior===i){if("instant"===i)return h.scrollTop=h.calculatedTargetScrollTop,a();h.velocity=(i.damping*h.velocity+i.stiffness*h.scrollDifference)/i.mass,h.accumulated+=h.velocity*p,h.scrollTop+=h.accumulated,h.scrollTop!==d&&(h.accumulated=0)}return a()}return r>Date.now()?(o=h.calculatedTargetScrollTop,a()):(h.animation=void 0,h.scrollTop<h.calculatedTargetScrollTop)?f({animation:CI(l.current,l.current.resize),ignoreEscapes:n,duration:Math.max(0,r-Date.now())||void 0}):h.isAtBottom});return e.then(e=>(requestAnimationFrame(()=>{h.animation||(h.lastTick=void 0,h.velocity=0)}),e))};return(!0!==e.wait&&(h.animation=void 0),h.animation?.behavior===i)?h.animation.promise:a()},[d,c,h]),p=(0,$.useCallback)(()=>{u(!0),d(!1)},[u,d]),m=(0,$.useCallback)(({target:e})=>{if(e!==x.current)return;let{scrollTop:r,ignoreScrollToTop:s}=h,{lastScrollTop:i=r}=h;h.lastScrollTop=r,h.ignoreScrollToTop=void 0,s&&s>r&&(i=s),a(h.isNearBottom),setTimeout(()=>{if(h.resizeDifference||r===s)return;if(c()){u(!0),d(!1);return}let e=r>i,n=r<i;if(h.animation?.ignoreEscapes){h.scrollTop=i;return}n&&(u(!0),d(!1)),e&&u(!1),!h.escapedFromLock&&h.isNearBottom&&d(!0)},1)},[u,d,c,h]),g=(0,$.useCallback)(({target:e,deltaY:r})=>{let s=e;for(;!["scroll","auto"].includes(getComputedStyle(s).overflow);){if(!s.parentElement)return;s=s.parentElement}s===x.current&&r<0&&x.current.scrollHeight>x.current.clientHeight&&!h.animation?.ignoreEscapes&&(u(!0),d(!1))},[u,d,h]),x=CB(e=>{x.current?.removeEventListener("scroll",m),x.current?.removeEventListener("wheel",g),e?.addEventListener("scroll",m,{passive:!0}),e?.addEventListener("wheel",g,{passive:!0})},[]),v=CB(e=>{let r;h.resizeObserver?.disconnect(),e&&(h.resizeObserver=new ResizeObserver(([e])=>{let{height:s}=e.contentRect,i=s-(r??s);if(h.resizeDifference=i,h.scrollTop>h.targetScrollTop&&(h.scrollTop=h.targetScrollTop),a(h.isNearBottom),i>=0){let e=CI(l.current,r?l.current.resize:l.current.initial);f({animation:e,wait:!0,preserveScrollPosition:!0,duration:"instant"===e?void 0:350})}else h.isNearBottom&&(u(!1),d(!0));r=s,requestAnimationFrame(()=>{setTimeout(()=>{h.resizeDifference===i&&(h.resizeDifference=0)},1)})}),h.resizeObserver?.observe(e))},[]);return{contentRef:v,scrollRef:x,scrollToBottom:f,stopScroll:p,isAtBottom:i||o,isNearBottom:o,escapedFromLock:r,state:h}})({mass:n,damping:o,stiffness:a,resize:s,initial:i,targetScrollTop:$.useCallback((e,r)=>{let s=y?.targetScrollTop??l;return s?.(e,r)??e},[l])}),{scrollRef:f,contentRef:p,scrollToBottom:m,stopScroll:g,isAtBottom:x,escapedFromLock:v,state:_}=e??h,y=(0,$.useMemo)(()=>({scrollToBottom:m,stopScroll:g,scrollRef:f,isAtBottom:x,escapedFromLock:v,contentRef:p,state:_,get targetScrollTop(){return u.current},set targetScrollTop(targetScrollTop){u.current=targetScrollTop}}),[m,x,p,f,g,v,_]);return(0,$.useImperativeHandle)(c,()=>y,[y]),Cz(()=>{f.current&&"visible"===getComputedStyle(f.current).overflow&&(f.current.style.overflow="auto")},[]),$.createElement(CO.Provider,{value:y},$.createElement("div",{...d},"function"==typeof r?r(y):r))}function CW(){let e=(0,$.useContext)(CO);if(!e)throw Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}(C$||(C$={})).Content=function({children:e,scrollClassName:r,...s}){let i=CW();return $.createElement("div",{ref:i.scrollRef,style:{height:"100%",width:"100%",scrollbarGutter:"stable both-edges"},className:r},$.createElement("div",{...s,ref:i.contentRef},"function"==typeof e?e(i):e))};let CH=({className:e,...r})=>(0,z.jsx)(C$,{className:(0,ey.cn)("relative flex-1 overflow-y-hidden",e),initial:"smooth",resize:"smooth",role:"log",...r}),CU=({className:e,...r})=>(0,z.jsx)(C$.Content,{className:(0,ey.cn)("flex flex-col gap-8 p-4",e),...r}),CK=({className:e,...r})=>{let{isAtBottom:s,scrollToBottom:i}=CW(),n=(0,$.useCallback)(()=>{i()},[i]);return!s&&(0,z.jsx)(W.Button,{className:(0,ey.cn)("absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full",e),onClick:n,size:"icon",type:"button",variant:"outline",...r,children:(0,z.jsx)(CF,{className:"size-4"})})};var Cq="HoverCard",[CV,CY]=K(Cq,[iR]),CG=iR(),[CX,CJ]=CV(Cq),CZ=e=>{let{__scopeHoverCard:r,children:s,open:i,defaultOpen:n,onOpenChange:o,openDelay:a=700,closeDelay:l=300}=e,c=CG(r),d=$.useRef(0),u=$.useRef(0),h=$.useRef(!1),f=$.useRef(!1),[p,m]=G({prop:i,defaultProp:n??!1,onChange:o,caller:Cq}),g=$.useCallback(()=>{clearTimeout(u.current),d.current=window.setTimeout(()=>m(!0),a)},[a,m]),x=$.useCallback(()=>{clearTimeout(d.current),h.current||f.current||(u.current=window.setTimeout(()=>m(!1),l))},[l,m]),v=$.useCallback(()=>m(!1),[m]);return $.useEffect(()=>()=>{clearTimeout(d.current),clearTimeout(u.current)},[]),(0,z.jsx)(CX,{scope:r,open:p,onOpenChange:m,onOpen:g,onClose:x,onDismiss:v,hasSelectionRef:h,isPointerDownOnContentRef:f,children:(0,z.jsx)(iM,{...c,children:s})})};CZ.displayName=Cq;var CQ="HoverCardTrigger",C0=$.forwardRef((e,r)=>{let{__scopeHoverCard:s,...i}=e,n=CJ(CQ,s),o=CG(s);return(0,z.jsx)(iP,{asChild:!0,...o,children:(0,z.jsx)(er.a,{"data-state":n.open?"open":"closed",...i,ref:r,onPointerEnter:q(e.onPointerEnter,C7(n.onOpen)),onPointerLeave:q(e.onPointerLeave,C7(n.onClose)),onFocus:q(e.onFocus,n.onOpen),onBlur:q(e.onBlur,n.onClose),onTouchStart:q(e.onTouchStart,e=>e.preventDefault())})})});C0.displayName=CQ;var C1="HoverCardPortal",[C2,C5]=CV(C1,{forceMount:void 0}),C3=e=>{let{__scopeHoverCard:r,forceMount:s,children:i,container:n}=e,o=CJ(C1,r);return(0,z.jsx)(C2,{scope:r,forceMount:s,children:(0,z.jsx)(Z,{present:s||o.open,children:(0,z.jsx)(eW,{asChild:!0,container:n,children:i})})})};C3.displayName=C1;var C4="HoverCardContent",C6=$.forwardRef((e,r)=>{let s=C5(C4,e.__scopeHoverCard),{forceMount:i=s.forceMount,...n}=e,o=CJ(C4,e.__scopeHoverCard);return(0,z.jsx)(Z,{present:i||o.open,children:(0,z.jsx)(C8,{"data-state":o.open?"open":"closed",...n,onPointerEnter:q(e.onPointerEnter,C7(o.onOpen)),onPointerLeave:q(e.onPointerLeave,C7(o.onClose)),ref:r})})});C6.displayName=C4;var C8=$.forwardRef((e,r)=>{let{__scopeHoverCard:s,onEscapeKeyDown:i,onPointerDownOutside:n,onFocusOutside:o,onInteractOutside:a,...l}=e,c=CJ(C4,s),d=CG(s),u=$.useRef(null),h=(0,U.useComposedRefs)(r,u),[f,p]=$.useState(!1);return $.useEffect(()=>{if(f){let e=document.body;return O=e.style.userSelect||e.style.webkitUserSelect,e.style.userSelect="none",e.style.webkitUserSelect="none",()=>{e.style.userSelect=O,e.style.webkitUserSelect=O}}},[f]),$.useEffect(()=>{if(u.current){let e=()=>{p(!1),c.isPointerDownOnContentRef.current=!1,setTimeout(()=>{document.getSelection()?.toString()!==""&&(c.hasSelectionRef.current=!0)})};return document.addEventListener("pointerup",e),()=>{document.removeEventListener("pointerup",e),c.hasSelectionRef.current=!1,c.isPointerDownOnContentRef.current=!1}}},[c.isPointerDownOnContentRef,c.hasSelectionRef]),$.useEffect(()=>{u.current&&(function(e){let r=[],s=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});for(;s.nextNode();)r.push(s.currentNode);return r})(u.current).forEach(e=>e.setAttribute("tabindex","-1"))}),(0,z.jsx)(eR,{asChild:!0,disableOutsidePointerEvents:!1,onInteractOutside:a,onEscapeKeyDown:i,onPointerDownOutside:n,onFocusOutside:q(o,e=>{e.preventDefault()}),onDismiss:c.onDismiss,children:(0,z.jsx)(iO,{...d,...l,onPointerDown:q(l.onPointerDown,e=>{e.currentTarget.contains(e.target)&&p(!0),c.hasSelectionRef.current=!1,c.isPointerDownOnContentRef.current=!0}),ref:h,style:{...l.style,userSelect:f?"text":void 0,WebkitUserSelect:f?"text":void 0,"--radix-hover-card-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-hover-card-content-available-width":"var(--radix-popper-available-width)","--radix-hover-card-content-available-height":"var(--radix-popper-available-height)","--radix-hover-card-trigger-width":"var(--radix-popper-anchor-width)","--radix-hover-card-trigger-height":"var(--radix-popper-anchor-height)"}})})});function C7(e){return r=>"touch"===r.pointerType?void 0:e()}function C9({...e}){return(0,z.jsx)(CZ,{"data-slot":"hover-card",...e})}function je({...e}){return(0,z.jsx)(C0,{"data-slot":"hover-card-trigger",...e})}function jt({className:e,align:r="center",sideOffset:s=4,...i}){return(0,z.jsx)(C3,{"data-slot":"hover-card-portal",children:(0,z.jsx)(C6,{"data-slot":"hover-card-content",align:r,sideOffset:s,className:(0,ey.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",e),...i})})}$.forwardRef((e,r)=>{let{__scopeHoverCard:s,...i}=e,n=CG(s);return(0,z.jsx)(iW,{...n,...i,ref:r})}).displayName="HoverCardArrow";let jr=(0,ew.default)("corner-down-left",[["path",{d:"M20 4v7a4 4 0 0 1-4 4H4",key:"6o5b7l"}],["path",{d:"m9 10-5 5 5 5",key:"1kshq7"}]]),js=(0,ew.default)("image",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]]);(0,ew.default)("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);let ji=(0,ew.default)("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]),jn=(e=21)=>{let r="",s=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)r+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&s[e]];return r},jo=(0,$.createContext)(null),ja=(0,$.createContext)(null),jl=()=>(0,$.useContext)(jo),jc=(0,$.createContext)(null),jd=()=>{let e=(0,$.useContext)(ja),r=(0,$.useContext)(jc),s=e??r;if(!s)throw Error("usePromptInputAttachments must be used within a PromptInput or PromptInputProvider");return s};function ju({data:e,className:r,...s}){let i=jd(),n=e.filename||"",o="image"==(e.mediaType?.startsWith("image/")&&e.url?"image":"file"),a=n||(o?"Image":"Attachment");return(0,z.jsxs)(jS,{children:[(0,z.jsx)(je,{asChild:!0,children:(0,z.jsxs)("div",{className:(0,ey.cn)("group relative flex h-8 cursor-pointer select-none items-center gap-1.5 rounded-md border border-border px-1.5 font-medium text-sm transition-all hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",r),...s,children:[(0,z.jsxs)("div",{className:"relative size-5 shrink-0",children:[(0,z.jsx)("div",{className:"absolute inset-0 flex size-5 items-center justify-center overflow-hidden rounded bg-background transition-opacity group-hover:opacity-0",children:o?(0,z.jsx)("img",{alt:n||"attachment",className:"size-5 object-cover",height:20,src:e.url,width:20}):(0,z.jsx)("div",{className:"flex size-5 items-center justify-center text-muted-foreground",children:(0,z.jsx)(ji,{className:"size-3"})})}),(0,z.jsxs)(W.Button,{"aria-label":"Remove attachment",className:"absolute inset-0 size-5 cursor-pointer rounded p-0 opacity-0 transition-opacity group-hover:pointer-events-auto group-hover:opacity-100 [&>svg]:size-2.5",onClick:r=>{r.stopPropagation(),i.remove(e.id)},type:"button",variant:"ghost",children:[(0,z.jsx)(t8,{}),(0,z.jsx)("span",{className:"sr-only",children:"Remove"})]})]}),(0,z.jsx)("span",{className:"flex-1 truncate",children:a})]},e.id)}),(0,z.jsx)(jC,{className:"w-auto p-2",children:(0,z.jsxs)("div",{className:"w-auto space-y-3",children:[o&&(0,z.jsx)("div",{className:"flex max-h-96 w-96 items-center justify-center overflow-hidden rounded-md border",children:(0,z.jsx)("img",{alt:n||"attachment preview",className:"max-h-full max-w-full object-contain",height:384,src:e.url,width:448})}),(0,z.jsx)("div",{className:"flex items-center gap-2.5",children:(0,z.jsxs)("div",{className:"min-w-0 flex-1 space-y-1 px-0.5",children:[(0,z.jsx)("h4",{className:"truncate font-semibold text-sm leading-none",children:n||(o?"Image":"Attachment")}),e.mediaType&&(0,z.jsx)("p",{className:"truncate font-mono text-muted-foreground text-xs",children:e.mediaType})]})})]})})]})}function jh({children:e,className:r,...s}){let i=jd();return i.files.length?(0,z.jsx)("div",{className:(0,ey.cn)("flex flex-wrap items-center gap-2 p-3 w-full",r),...s,children:i.files.map(r=>(0,z.jsx)($.Fragment,{children:e(r)},r.id))}):null}let jf=({label:e="Add photos or files",...r})=>{let s=jd();return(0,z.jsxs)(oe,{...r,onSelect:e=>{e.preventDefault(),s.openFileDialog()},children:[(0,z.jsx)(js,{className:"mr-2 size-4"})," ",e]})},jp=({className:e,accept:r,multiple:s,globalDrop:i,syncHiddenInput:n,maxFiles:o,maxFileSize:a,onError:l,onSubmit:c,children:d,...u})=>{let h=jl(),f=!!h,p=(0,$.useRef)(null),m=(0,$.useRef)(null),[g,x]=(0,$.useState)([]),v=f?h.attachments.files:g,_=(0,$.useRef)(v);_.current=v;let y=(0,$.useCallback)(()=>{p.current?.click()},[]),b=(0,$.useCallback)(e=>!r||""===r.trim()||r.split(",").map(e=>e.trim()).filter(Boolean).some(r=>{if(r.endsWith("/*")){let s=r.slice(0,-1);return e.type.startsWith(s)}return e.type===r}),[r]),w=(0,$.useCallback)(e=>{let r=Array.from(e),s=r.filter(e=>b(e));if(r.length&&0===s.length)return void l?.({code:"accept",message:"No files match the accepted types."});let i=s.filter(e=>!a||e.size<=a);s.length>0&&0===i.length?l?.({code:"max_file_size",message:"All files exceed the maximum size."}):x(e=>{let r="number"==typeof o?Math.max(0,o-e.length):void 0,s="number"==typeof r?i.slice(0,r):i;"number"==typeof r&&i.length>r&&l?.({code:"max_files",message:"Too many files. Some were not added."});let n=[];for(let e of s)n.push({id:jn(),type:"file",url:URL.createObjectURL(e),mediaType:e.type,filename:e.name});return e.concat(n)})},[b,o,a,l]),S=(0,$.useCallback)(e=>x(r=>{let s=r.find(r=>r.id===e);return s?.url&&URL.revokeObjectURL(s.url),r.filter(r=>r.id!==e)}),[]),C=(0,$.useCallback)(()=>x(e=>{for(let r of e)r.url&&URL.revokeObjectURL(r.url);return[]}),[]),j=f?h.attachments.add:w,k=f?h.attachments.remove:S,N=f?h.attachments.clear:C,D=f?h.attachments.openFileDialog:y;(0,$.useEffect)(()=>{f&&h.__registerFileInput(p,()=>p.current?.click())},[f,h]),(0,$.useEffect)(()=>{n&&p.current&&0===v.length&&(p.current.value="")},[v,n]),(0,$.useEffect)(()=>{let e=m.current;if(!e||i)return;let r=e=>{e.dataTransfer?.types?.includes("Files")&&e.preventDefault()},s=e=>{e.dataTransfer?.types?.includes("Files")&&e.preventDefault(),e.dataTransfer?.files&&e.dataTransfer.files.length>0&&j(e.dataTransfer.files)};return e.addEventListener("dragover",r),e.addEventListener("drop",s),()=>{e.removeEventListener("dragover",r),e.removeEventListener("drop",s)}},[j,i]),(0,$.useEffect)(()=>{if(!i)return;let e=e=>{e.dataTransfer?.types?.includes("Files")&&e.preventDefault()},r=e=>{e.dataTransfer?.types?.includes("Files")&&e.preventDefault(),e.dataTransfer?.files&&e.dataTransfer.files.length>0&&j(e.dataTransfer.files)};return document.addEventListener("dragover",e),document.addEventListener("drop",r),()=>{document.removeEventListener("dragover",e),document.removeEventListener("drop",r)}},[j,i]),(0,$.useEffect)(()=>()=>{if(!f)for(let e of _.current)e.url&&URL.revokeObjectURL(e.url)},[f]);let E=async e=>{try{let r=await fetch(e),s=await r.blob();return new Promise(e=>{let r=new FileReader;r.onloadend=()=>e(r.result),r.onerror=()=>e(null),r.readAsDataURL(s)})}catch{return null}},R=(0,$.useMemo)(()=>({files:v.map(e=>({...e,id:e.id})),add:j,remove:k,clear:N,openFileDialog:D,fileInputRef:p}),[v,j,k,N,D]),A=(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("input",{accept:r,"aria-label":"Upload files",className:"hidden",multiple:s,onChange:e=>{e.currentTarget.files&&j(e.currentTarget.files),e.currentTarget.value=""},ref:p,title:"Upload files",type:"file"}),(0,z.jsx)("form",{className:(0,ey.cn)("w-full",e),onSubmit:e=>{e.preventDefault();let r=e.currentTarget,s=f?h.textInput.value:new FormData(r).get("message")||"";f||r.reset(),Promise.all(v.map(async({id:e,...r})=>{if(r.url&&r.url.startsWith("blob:")){let e=await E(r.url);return{...r,url:e??r.url}}return r})).then(r=>{try{let i=c({text:s,files:r},e);i instanceof Promise?i.then(()=>{N(),f&&h.textInput.clear()}).catch(()=>{}):(N(),f&&h.textInput.clear())}catch{}}).catch(()=>{})},ref:m,...u,children:(0,z.jsx)(ye,{className:"overflow-hidden",children:d})})]});return f?A:(0,z.jsx)(jc.Provider,{value:R,children:A})},jm=({onChange:e,onKeyDown:r,onPasteText:s,className:i,placeholder:n="What would you like to know?",...o})=>{let a=jl(),l=jd(),[c,d]=(0,$.useState)(!1),u=a?{value:a.textInput.value,onChange:r=>{a.textInput.setInput(r.currentTarget.value),e?.(r)}}:{onChange:e};return(0,z.jsx)(yo,{className:(0,ey.cn)("field-sizing-content max-h-48 min-h-9",i),name:"message",onCompositionEnd:()=>d(!1),onCompositionStart:()=>d(!0),onKeyDown:e=>{if(r?.(e),!e.defaultPrevented){if("Enter"===e.key){if(c||e.nativeEvent.isComposing||e.shiftKey)return;e.preventDefault();let r=e.currentTarget.form,s=r?.querySelector('button[type="submit"]');if(s?.disabled)return;r?.requestSubmit()}if("Backspace"===e.key&&""===e.currentTarget.value&&l.files.length>0){e.preventDefault();let r=l.files.at(-1);r&&l.remove(r.id)}}},onPaste:e=>{let r=e.clipboardData?.items;if(!r)return;let i=[];for(let e of r)if("file"===e.kind){let r=e.getAsFile();r&&i.push(r)}if(i.length>0){e.preventDefault(),l.add(i);return}if(s){let r=e.clipboardData.getData("text");r.length>0&&s(e,r)}},placeholder:n,...o,...u})},jg=({className:e,...r})=>(0,z.jsx)(yr,{align:"block-end",className:(0,ey.cn)("order-first flex-wrap gap-1",e),...r}),jx=({variant:e="ghost",className:r,size:s,...i})=>{let n=s??($.Children.count(i.children)>1?"sm":"icon-sm");return(0,z.jsx)(yi,{className:(0,ey.cn)(r),size:n,type:"button",variant:e,...i})},jv=e=>(0,z.jsx)(n8,{...e}),j_=({className:e,children:r,...s})=>(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsx)(jx,{className:e,...s,children:r??(0,z.jsx)(eS,{className:"size-4"})})}),jy=({className:e,...r})=>(0,z.jsx)(n9,{align:"start",className:(0,ey.cn)(e),...r}),jb=({className:e,...r})=>(0,z.jsx)(oe,{className:(0,ey.cn)(e),...r}),jw=({className:e,variant:r="default",size:s="icon-sm",status:i,children:n,...o})=>{let a=(0,z.jsx)(jr,{className:"size-4"});return"submitted"===i?a=(0,z.jsx)(rj,{className:"size-4 animate-spin"}):"streaming"===i?a=(0,z.jsx)(dO,{className:"size-4"}):"error"===i&&(a=(0,z.jsx)(t8,{className:"size-4"})),(0,z.jsx)(yi,{"aria-label":"Submit",className:(0,ey.cn)(e),size:s,type:"submit",variant:r,...o,children:n??a})},jS=({openDelay:e=0,closeDelay:r=0,...s})=>(0,z.jsx)(C9,{closeDelay:r,openDelay:e,...s}),jC=({align:e="start",...r})=>(0,z.jsx)(jt,{align:e,...r}),jj=({size:e=16})=>(0,z.jsxs)("svg",{height:e,strokeLinejoin:"round",style:{color:"currentcolor"},viewBox:"0 0 16 16",width:e,children:[(0,z.jsx)("title",{children:"Loader"}),(0,z.jsxs)("g",{clipPath:"url(#clip0_2393_1490)",children:[(0,z.jsx)("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),(0,z.jsx)("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,z.jsx)("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),(0,z.jsx)("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),(0,z.jsx)("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),(0,z.jsx)("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),(0,z.jsx)("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),(0,z.jsx)("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),(0,z.jsx)("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),(0,z.jsx)("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),(0,z.jsx)("defs",{children:(0,z.jsx)("clipPath",{id:"clip0_2393_1490",children:(0,z.jsx)("rect",{fill:"white",height:"16",width:"16"})})})]}),jk=({className:e,size:r=16,...s})=>(0,z.jsx)("div",{className:(0,ey.cn)("inline-flex animate-spin items-center justify-center",e),...s,children:(0,z.jsx)(jj,{size:r})}),jN=(0,ew.default)("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),jD=(0,ew.default)("wifi-off",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}],["path",{d:"M5 12.859a10 10 0 0 1 5.17-2.69",key:"1dl1wf"}],["path",{d:"M19 12.859a10 10 0 0 0-2.007-1.523",key:"4k23kn"}],["path",{d:"M2 8.82a15 15 0 0 1 4.177-2.643",key:"1grhjp"}],["path",{d:"M22 8.82a15 15 0 0 0-11.288-3.764",key:"z3jwby"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),jE=(0,ew.default)("square-pen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]]),jR=(0,ew.default)("languages",[["path",{d:"m5 8 6 6",key:"1wu5hv"}],["path",{d:"m4 14 6-6 2-3",key:"1k1g8d"}],["path",{d:"M2 5h12",key:"or177f"}],["path",{d:"M7 2h1",key:"1t2jsx"}],["path",{d:"m22 22-5-10-5 10",key:"don7ne"}],["path",{d:"M14 18h6",key:"1m8k6r"}]]),jA=(0,ew.default)("split",[["path",{d:"M16 3h5v5",key:"1806ms"}],["path",{d:"M8 3H3v5",key:"15dfkv"}],["path",{d:"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3",key:"1qrqzj"}],["path",{d:"m15 9 6-6",key:"ko1vev"}]]),jF=(0,ew.default)("clipboard-list",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",key:"116196"}],["path",{d:"M12 11h4",key:"1jrz19"}],["path",{d:"M12 16h4",key:"n85exb"}],["path",{d:"M8 11h.01",key:"1dfujw"}],["path",{d:"M8 16h.01",key:"18s6g9"}]]);function jM({mode:e,onModeChange:r,disabled:s}){return(0,z.jsxs)("div",{className:"inline-flex items-center rounded-md border bg-muted/50 px-0.5 text-xs",children:[(0,z.jsxs)("button",{onClick:()=>r("plan"),disabled:s,className:(0,ey.cn)("inline-flex items-center gap-1 rounded-sm px-2 py-0.5 transition-colors","plan"===e?"bg-primary text-primary-foreground font-medium shadow-sm":"text-muted-foreground hover:text-foreground",s&&"opacity-50 cursor-not-allowed"),children:[(0,z.jsx)(jF,{className:"h-3 w-3"}),"Plan"]}),(0,z.jsxs)("button",{onClick:()=>r("edit"),disabled:s,className:(0,ey.cn)("inline-flex items-center gap-1 rounded-sm px-2 py-0.5 transition-colors","edit"===e?"bg-primary text-primary-foreground font-medium shadow-sm":"text-muted-foreground hover:text-foreground",s&&"opacity-50 cursor-not-allowed"),children:[(0,z.jsx)(rm,{className:"h-3 w-3"}),"Edit"]})]})}function jT(e){if(!e)return[];try{let r=window.localStorage.getItem(e);if(!r)return[];let s=JSON.parse(r);if(!Array.isArray(s))return[];return s.filter(e=>"string"==typeof e)}catch{return[]}}function jP(e){if(!e)return"";try{return window.localStorage.getItem(e)??""}catch{return""}}function jB(e){let r=e.parentElement;for(;r;){let{overflowY:e}=getComputedStyle(r);if("auto"===e||"scroll"===e)return r;r=r.parentElement}return null}function jL({messages:e,contentRef:r}){let[s,i]=(0,$.useState)([]),[n,o]=(0,$.useState)(!1),[a,l]=(0,$.useState)(null),c=(0,$.useRef)(null),d=(0,$.useCallback)(()=>{let s=r.current;if(!s)return;c.current||(c.current=jB(s));let n=c.current;if(!n)return;let a=n.scrollHeight>n.clientHeight;if(o(a),!a)return void i([]);let l=s.querySelectorAll("[data-user-msg-idx]"),d=n.getBoundingClientRect(),u=[];l.forEach(r=>{let s=parseInt(r.dataset.userMsgIdx,10),i=e[s];if(!i)return;let o=(r.getBoundingClientRect().top-d.top+n.scrollTop)/n.scrollHeight;u.push({index:s,position:Math.max(0,Math.min(1,o)),preview:function(e){if("user"!==e.type)return"";let r=e.content,s="string"==typeof r?r:r.filter(e=>"text"===e.type).map(e=>e.text).join(" "),i="string"!=typeof r&&r.some(e=>"image"===e.type),n=s.split("\n")[0]??"";return(n.length>80?n.slice(0,77)+"...":n)||(i?"(Image)":"")}(i)})}),i(u)},[e,r]);(0,$.useEffect)(()=>{let e=r.current;if(!e){c.current=null,i([]),o(!1);return}let s=jB(e);if(!s)return;c.current=s,d();let n=new ResizeObserver(d);return n.observe(s),n.observe(e),()=>{n.disconnect()}},[e,d,r]);let u=(0,$.useCallback)(e=>{let s=r.current;if(!s)return;let i=s.querySelector(`[data-user-msg-idx="${e}"]`);i&&i.scrollIntoView({block:"start",behavior:"smooth"})},[r]);return n&&0!==s.length?(0,z.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-6 z-20 pointer-events-none",children:s.map(e=>(0,z.jsxs)("div",{className:"absolute right-0.5 -translate-y-1/2 pointer-events-auto",style:{top:`${100*e.position}%`},children:[(0,z.jsx)("div",{className:"w-3 h-[3px] rounded-sm bg-primary/50 hover:bg-primary cursor-pointer transition-colors",onClick:()=>u(e.index),onMouseEnter:()=>l(e.index),onMouseLeave:()=>l(null)}),a===e.index&&e.preview&&(0,z.jsxs)("div",{className:"absolute right-full mr-2 top-1/2 -translate-y-1/2 max-w-64 px-2.5 py-1.5 bg-popover border border-border rounded-md shadow-md text-xs text-popover-foreground whitespace-nowrap overflow-hidden text-ellipsis pointer-events-none",children:[e.preview,(0,z.jsx)("div",{className:"absolute top-1/2 -translate-y-1/2 -right-1 w-2 h-2 bg-popover border-r border-t border-border rotate-45"})]})]},e.index))}):null}let jI=(0,ew.default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);function jO({projectId:e,branch:r,currentSessionId:s,refreshKey:i,pendingTitleSessionId:n,aiTitleOverride:o,onSwitch:a,onDelete:l}){let[c,d]=(0,$.useState)([]),[u,h]=(0,$.useState)(null),[f,p]=(0,$.useState)(""),[m,g]=(0,$.useState)(!1),[x,v]=(0,$.useState)(null),[_,y]=(0,$.useState)(0),b=(0,$.useCallback)(()=>y(e=>e+1),[]);(0,$.useEffect)(()=>{let s=!1;return(0,rx.listBranchSessions)(e,r).then(e=>{s||d(e.sessions)}).catch(e=>{s||console.error("[SessionHistoryDropdown] refresh failed:",e)}),()=>{s=!0}},[e,r,i,_]);let w=(0,$.useRef)(null);(0,$.useEffect)(()=>{if(!s)return;if(c.some(e=>e.id===s)){w.current=null;return}if(w.current===s)return;w.current=s;let i=!1;return(0,rx.listBranchSessions)(e,r).then(e=>{if(i)return;d(e.sessions);let r=e.sessions.find(e=>e.id===s),n=!!r&&(o?.sessionId===r.id||!!(r.title&&r.title.trim().length>0));r&&!n&&v(s)}).catch(e=>{i||console.error("[SessionHistoryDropdown] missing-session refresh failed:",e)}),()=>{i=!0}},[s,c,e,r,o]),(0,$.useEffect)(()=>{if(!x)return;let e=setTimeout(()=>{v(e=>e===x?null:e)},3e4);return()=>clearTimeout(e)},[x]),(0,$.useEffect)(()=>{if(!x)return;let e=setTimeout(()=>{v(e=>e===x?null:e)},3e4);return()=>clearTimeout(e)},[x]);let S=async(e,r)=>{let s=r.trim().length>0?r.trim():null;try{await (0,rx.renameSession)(e,s),d(r=>r.map(r=>r.id===e?{...r,title:s}:r)),h(null),gC.toast.success("Renamed")}catch(e){gC.toast.error("Rename failed"),console.error(e)}},C=async(e,r)=>{let s=null==r,i=s?Date.now():null;d(r=>r.map(r=>r.id===e?{...r,favorited_at:i}:r));try{await (0,rx.setSessionFavorited)(e,s)}catch(i){d(s=>s.map(s=>s.id===e?{...s,favorited_at:r}:s)),gC.toast.error(s?"Favorite failed":"Unfavorite failed"),console.error(i)}},j=async e=>{if(window.confirm("Delete this conversation? This cannot be undone."))try{await (0,rx.deleteSession)(e);let r=c.filter(r=>r.id!==e);d(r),l?.(e,r),gC.toast.success("Deleted")}catch(e){gC.toast.error("Delete failed"),console.error(e)}},k=e=>o&&o.sessionId===e.id?o.title:e.title&&e.title.trim().length>0?e.title:e.updated_at?new Date(e.updated_at).toLocaleString():new Date(e.created_at).toLocaleString(),N=e=>{let r;return o?.sessionId!==e.id&&(!e.title||!(e.title.trim().length>0))&&(r=e.id,null!==n&&n===r||x===e.id)},D=c.find(e=>e.id===s),E=null!==s&&(!D||N(D)),R=D?k(D):null===s?"New Session":"History",A=E?"Generating title…":R;return(0,z.jsxs)(n8,{open:m,onOpenChange:e=>{g(e),e&&b()},children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsxs)(W.Button,{variant:"ghost",size:"sm",className:"h-7 text-xs gap-1 w-[200px] justify-start",title:A,children:[E?(0,z.jsx)("span",{className:"block h-3 flex-1 rounded-sm bg-accent animate-pulse",role:"status","aria-label":"Generating title"}):(0,z.jsx)("span",{className:"truncate flex-1 text-left",children:R}),(0,z.jsx)(su,{className:"h-3 w-3 flex-shrink-0"})]})}),(0,z.jsxs)(n9,{align:"start",className:"w-80 max-h-96 overflow-y-auto",children:[0===c.length&&(0,z.jsx)("div",{className:"px-2 py-3 text-xs text-muted-foreground",children:"No history yet."}),c.map(e=>{let r=e.id===s,i=u===e.id;return(0,z.jsxs)(oe,{onSelect:s=>{i?s.preventDefault():r||a(e.id)},className:`flex items-center gap-2 group ${r?"bg-accent text-accent-foreground":""}`,children:[(0,z.jsx)("div",{className:"flex-1 min-w-0",children:i?(0,z.jsxs)("div",{className:"flex items-center gap-1",children:[(0,z.jsx)(ro,{value:f,onChange:e=>p(e.target.value),onKeyDown:r=>{"Enter"===r.key&&S(e.id,f),"Escape"===r.key&&h(null)},autoFocus:!0,className:"h-6 text-xs"}),(0,z.jsx)("button",{type:"button","aria-label":"Save rename",onClick:r=>{r.stopPropagation(),S(e.id,f)},children:(0,z.jsx)(rh.Check,{className:"h-3 w-3"})}),(0,z.jsx)("button",{type:"button","aria-label":"Cancel rename",onClick:e=>{e.stopPropagation(),h(null)},children:(0,z.jsx)(t8,{className:"h-3 w-3"})})]}):N(e)?(0,z.jsx)("div",{className:"py-0.5",title:"Generating title…",children:(0,z.jsx)("span",{className:"block h-3 w-40 rounded-sm bg-accent animate-pulse",role:"status","aria-label":"Generating title"})}):(0,z.jsx)("div",{className:"truncate text-xs",title:`${e.updated_at?new Date(e.updated_at).toLocaleString():new Date(e.created_at).toLocaleString()} • ${e.entry_count??0} messages • status: ${e.status}`,children:k(e)})}),!i&&(0,z.jsxs)("div",{className:"flex items-center gap-1",children:[(0,z.jsxs)("div",{className:"opacity-0 group-hover:opacity-100 flex items-center gap-1",children:[(0,z.jsx)("button",{type:"button","aria-label":"Rename conversation",onClick:r=>{r.stopPropagation(),h(e.id),p(e.title??"")},className:"p-1 hover:bg-muted rounded",children:(0,z.jsx)(rm,{className:"h-3 w-3"})}),(0,z.jsx)("button",{type:"button","aria-label":"Delete conversation",onClick:r=>{r.stopPropagation(),j(e.id)},className:"p-1 hover:bg-muted rounded text-destructive",children:(0,z.jsx)(rl,{className:"h-3 w-3"})})]}),(0,z.jsx)("button",{type:"button","aria-label":null!=e.favorited_at?"Unfavorite conversation":"Favorite conversation",title:null!=e.favorited_at?"Unfavorite":"Favorite",onClick:r=>{r.stopPropagation(),C(e.id,e.favorited_at??null)},className:`p-1 hover:bg-muted rounded ${null!=e.favorited_at?"opacity-100 text-yellow-500":"opacity-0 group-hover:opacity-100 text-muted-foreground"}`,children:(0,z.jsx)(jI,{className:`h-3 w-3 ${null!=e.favorited_at?"fill-current":""}`})})]})]},e.id)}),c.length>0&&(0,z.jsx)(oi,{}),(0,z.jsx)(oe,{onSelect:()=>b(),className:"text-xs text-muted-foreground",children:"Refresh"})]})]})}let jz=(0,ew.default)("quote",[["path",{d:"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"rib7q0"}],["path",{d:"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",key:"1ymkrd"}]]);function j$(e,r){let s=e;for(;s&&s!==r;){if(s.nodeType===Node.ELEMENT_NODE){let e=s.getAttribute("data-message-idx");if(null!==e)return e}s=s.parentNode}return null}function jW({containerRef:e,onQuote:r}){let[s,i]=(0,$.useState)(null);if((0,$.useEffect)(()=>{function r(){let r=e.current;if(!r)return void i(null);let s=window.getSelection();if(!s||s.isCollapsed||0===s.rangeCount)return void i(null);let n=s.toString();if(!n.trim())return void i(null);let{anchorNode:o,focusNode:a}=s;if(!o||!a||!r.contains(o)||!r.contains(a))return void i(null);let l=j$(o,r),c=j$(a,r);if(null===l||null===c||l!==c)return void i(null);let d=s.getRangeAt(0).getBoundingClientRect();0===d.width&&0===d.height?i(null):i({text:n,rect:{top:d.top,bottom:d.bottom,left:d.left,width:d.width}})}function s(){let e=window.getSelection();e&&!e.isCollapsed&&e.toString().trim()||i(null)}return document.addEventListener("mouseup",r),document.addEventListener("keyup",r),document.addEventListener("touchend",r),document.addEventListener("selectionchange",s),window.addEventListener("scroll",r,!0),window.addEventListener("resize",r),()=>{document.removeEventListener("mouseup",r),document.removeEventListener("keyup",r),document.removeEventListener("touchend",r),document.removeEventListener("selectionchange",s),window.removeEventListener("scroll",r,!0),window.removeEventListener("resize",r)}},[e]),!s||"undefined"==typeof document)return null;let n=s.rect.top-8-30<8?s.rect.bottom+8:s.rect.top-8-30,o=s.rect.left+s.rect.width/2,a=Math.max(8,Math.min(window.innerWidth-8,o));return(0,ee.createPortal)((0,z.jsxs)("button",{type:"button",onMouseDown:e=>{e.preventDefault(),r(s.text),window.getSelection()?.removeAllRanges(),i(null)},style:{position:"fixed",top:n,left:a,transform:"translateX(-50%)",zIndex:50},className:"inline-flex items-center gap-1.5 rounded-md border border-border bg-popover px-3 py-1.5 text-xs font-medium text-popover-foreground shadow-2xl hover:bg-accent",children:[(0,z.jsx)(jz,{className:"h-3 w-3"}),"Quote"]}),document.body)}function jH(){return 0===jd().files.length?null:(0,z.jsx)(jg,{children:(0,z.jsx)(jh,{children:e=>(0,z.jsx)(ju,{data:e})})})}let jU=(0,$.createContext)(null);function jK(){let e=(0,$.useContext)(jU);if(!e)throw Error("useAgentConversation must be used within AgentConversationContext");return e}let jq=/\[📎 paste #(\d+) \([^)]+\)\]/g;function jV(e,r){return`[📎 paste #${e} (${function(e){if(e<1024)return`${e}B`;let r=e/1024;return r<10?`${r.toFixed(1)}KB`:`${Math.round(r)}KB`}(r)})]`}let jY=(0,$.forwardRef)(function({projectId:e,branch:r,sessionId:s,setSessionUrlParam:i,project:n,onAgentModeChange:o,onTaskCompleted:a,onSessionStarted:l,onSessionTitleUpdated:c,onStatusChange:d,onNewConversation:u},h){var f;let p,m,g,x,[v,_]=function(e,r){let s=e&&r?`vibedeckx:agent-draft:${e}:${r}`:null,[i,n]=(0,$.useState)(()=>jP(s)),[o,a]=(0,$.useState)(s);return o!==s&&(a(s),n(jP(s))),[i,(0,$.useCallback)(e=>{n(e);if(s)try{e?window.localStorage.setItem(s,e):window.localStorage.removeItem(s)}catch{}},[s])]}(e,r),[y,b]=(0,$.useState)([]),[w,S]=(0,$.useState)(1),[C,j]=(0,$.useState)("edit"),[k,N]=(0,$.useState)(!1),[D,E]=(0,$.useState)(!1),[R,A]=(0,$.useState)(!1),[F,M]=(0,$.useState)("claude-code"),[T,P]=(0,$.useState)([]),[B,L]=(0,$.useState)(0),[I,O]=(0,$.useState)(null),[H,U]=(0,$.useState)(null),K=(0,$.useRef)(null),q=(0,$.useCallback)(e=>{if("ArrowUp"!==e.key&&"ArrowDown"!==e.key||!e.shiftKey||e.ctrlKey||e.metaKey||e.altKey)return;let r=K.current;if(!r)return;let s=jB(r);if(!s)return;let i=s.getBoundingClientRect(),n=s.scrollTop,o="ArrowUp"===e.key,a=null,l=o?-1/0:1/0;r.querySelectorAll("[data-user-msg-idx]").forEach(e=>{let r=e.getBoundingClientRect().top-i.top+s.scrollTop;o?r<n-12&&r>l&&(l=r,a=e):r>n+12&&r<l&&(l=r,a=e)}),a&&(e.preventDefault(),a.scrollIntoView({block:"start",behavior:"smooth"}))},[K]),V=(0,$.useRef)(null),Y=function(e,r,s){let i=r&&s?`vibedeckx:agent-input-history:${r}:${s}`:null,n=(0,$.useRef)(jT(i)),o=(0,$.useRef)(-1),a=(0,$.useRef)(""),[l,c]=(0,$.useState)(i);return l!==i&&(c(i),n.current=jT(i),o.current=-1,a.current=""),{push:(0,$.useCallback)(e=>{let r=e.trim();if(!r)return;let s=n.current;if(s.length>0&&s[s.length-1]===r){o.current=-1;return}s.push(r),s.length>50&&s.shift(),o.current=-1;if(i)try{0===s.length?window.localStorage.removeItem(i):window.localStorage.setItem(i,JSON.stringify(s))}catch{}},[i]),handleKeyDown:(0,$.useCallback)(r=>{let s=r.currentTarget,i=n.current;if(0!==i.length)if("ArrowUp"===r.key){if(0!==s.selectionStart||0!==s.selectionEnd)return;if(r.preventDefault(),-1===o.current)a.current=s.value,o.current=i.length-1;else{if(!(o.current>0))return;o.current--}e(i[o.current])}else if("ArrowDown"===r.key){if(-1===o.current)return;let n=s.value.length;if(s.selectionStart!==n||s.selectionEnd!==n)return;r.preventDefault(),o.current<i.length-1?(o.current++,e(i[o.current])):(o.current=-1,e(a.current))}else -1!==o.current&&(o.current=-1)},[e])}}(_,e,r),{remotes:G}=vS(),X=[];for(let e of(n?.path&&X.push({id:"local",label:"Local",icon:ol}),G))X.push({id:e.remote_server_id,label:e.server_name,icon:sc(e)});let{session:J,messages:Z,status:Q,isConnected:ee,isInitialized:et,isLoading:er,error:es,remoteStatus:ei,sendMessage:en,uploadPaste:eo,stopSession:ea,switchAgentType:el,startNewConversation:ec,ensureSession:ed,switchMode:eu,acceptPlan:eh}=function(e,r,s,i,n){let o=n?.sessionId??null,[a,l]=(0,$.useState)(null),[c,d]=(0,$.useState)([]),[u,h]=(0,$.useState)("stopped"),[f,p]=(0,$.useState)(!1),[m,g]=(0,$.useState)(!1),[x,v]=(0,$.useState)(!1),[_,y]=(0,$.useState)(null),[b,w]=(0,$.useState)(null),S=(0,$.useRef)(null),C=(0,$.useRef)(null),j=(0,$.useRef)(()=>{}),k=(0,$.useRef)(null),N=(0,$.useRef)(0),D=(0,$.useRef)({entries:[],status:"stopped"}),E=(0,$.useRef)(!1),R=(0,$.useRef)(!0),A=(0,$.useRef)(null),F=(0,$.useRef)(null),M=(0,$.useRef)(0),T=(0,$.useRef)(!1),P=(0,$.useRef)(0),B=(0,$.useRef)(!1),L=(0,$.useRef)(!1),I=(0,$.useRef)(n?.onTaskCompleted),O=(0,$.useRef)(n?.onSessionStarted),z=(0,$.useRef)(n?.onTitleUpdated),W=(0,$.useRef)(e),H=(0,$.useRef)(r),U=(0,$.useRef)(o);(0,$.useEffect)(()=>{I.current=n?.onTaskCompleted,O.current=n?.onSessionStarted,z.current=n?.onTitleUpdated,W.current=e,H.current=r,U.current=o});let K=(0,$.useCallback)((e,r=!1)=>{(0,rx.getFreshToken)(r?{skipCache:!0}:void 0).then(()=>j.current(e))},[]),q=(0,$.useCallback)(e=>{let r=()=>{let e=W.current;if(!e)return;let r=H.current;Sx.delete(Sv(e,r,U.current));let s=C.current;s&&Sx.delete(Sv(e,r,s))};if(S.current&&C.current!==e&&(console.log(`[AgentSession] Closing stale WS for ${C.current}, switching to ${e}`),S.current.close(1e3,"session-switch"),S.current=null,C.current=null),S.current?.readyState===WebSocket.OPEN||S.current?.readyState===WebSocket.CONNECTING)return;0===D.current.entries.filter(Boolean).length&&(D.current={entries:[],status:"running"}),E.current=!1,T.current=!0;let s=(0,rx.getWebSocketUrl)(`/api/agent-sessions/${e}/stream`);console.log("[AgentSession] Connecting to WebSocket:",s);let i=new WebSocket(s);S.current=i,C.current=e,i.onopen=()=>{console.log("[AgentSession] WebSocket connected"),p(!0),y(null),w(null),A.current=Date.now(),F.current&&clearTimeout(F.current),F.current=setTimeout(()=>{console.log("[AgentSession] Connection stable, resetting backoff counter"),N.current=0,M.current=0},5e3)},i.onmessage=e=>{try{let n=JSON.parse(e.data);if("JsonPatch"in n){var s;let e=n.JsonPatch;s=D.current,D.current=w6(s,r=>{for(let s of e){let{op:e,path:i,value:n}=s;if("/entries"===i&&"replace"===e&&n?.type==="ENTRY"&&n.content?.type==="system"&&n.content?.content==="__CLEAR_ALL__"){console.log("[JsonPatch] Received clearAll signal - clearing all entries"),r.entries=[];continue}if(i.startsWith("/entries/")){let s=parseInt(i.replace("/entries/",""),10);if(isNaN(s)){console.warn(`[JsonPatch] Invalid index in path: ${i}`);continue}if(n?.type!=="ENTRY"){console.warn("[JsonPatch] Expected ENTRY type for entries path");continue}switch(e){case"add":for(;r.entries.length<=s;)r.entries.push(null);r.entries[s]=n.content;break;case"replace":s<r.entries.length?r.entries[s]=n.content:console.warn(`[JsonPatch] Replace index out of bounds: ${s}`);break;case"remove":s<r.entries.length&&r.entries.splice(s,1)}}else"/status"===i&&n?.type==="STATUS"&&(console.log("[AgentSession] /status patch →",n.content),r.status=n.content)}}),T.current?console.log("[AgentSession] /status patch applied during replay (no setStatus), container.status =",D.current.status):(d([...D.current.entries.filter(Boolean)]),console.log("[AgentSession] setStatus(live) →",D.current.status),h(D.current.status),("stopped"===D.current.status||"error"===D.current.status)&&r());return}if("Ready"in n){console.log("[AgentSession] Received Ready signal - history complete, status=",D.current.status),T.current=!1,d([...D.current.entries.filter(Boolean)]),h(D.current.status),g(!0);return}if("finished"in n){console.log("[AgentSession] Received finished signal, invalidating cache"),E.current=!0,r(),i.close(1e3,"finished");return}if("taskCompleted"in n){let{duration_ms:e,cost_usd:r,input_tokens:s,output_tokens:i}=n.taskCompleted,o=[];if(null!=e){let r=(e/1e3).toFixed(1);o.push(`${r}s`)}if(null!=r)o.push(`$${r.toFixed(4)}`);else if(null!=s||null!=i){let e=(s??0)+(i??0),r=e>1e3?`${(e/1e3).toFixed(1)}K`:String(e);o.push(`${r} tokens`)}gC.toast.success("Task completed",{description:o.length>0?o.join(" · "):void 0}),I.current?.();return}if("remoteStatus"in n)return void w(n.remoteStatus);if("titleUpdated"in n)return void z.current?.(n.titleUpdated.title,C.current);if("error"in n){console.error("[AgentSession] Server error:",n.error),y(n.error),"Session not found"===n.error&&(console.log("[AgentSession] Session invalid, invalidating cache, will create new session"),r(),E.current=!0,l(null),h("stopped"),g(!1),R.current=!0);return}}catch(e){console.error("[AgentSession] Failed to parse message:",e)}},i.onclose=e=>{let s,i;console.log("[AgentSession] WebSocket disconnected",e.code,e.reason),p(!1),F.current&&(clearTimeout(F.current),F.current=null);let n=A.current?Date.now()-A.current:0;if(A.current=null,n>0&&n<5e3){if(M.current++,console.log(`[AgentSession] Short-lived connection (${n}ms), count: ${M.current}, backoff attempt: ${N.current}`),M.current>=3){if(console.log("[AgentSession] Multiple short-lived connections detected, session likely invalid - will recreate"),B.current){console.log("[AgentSession] Skipping auto-restart: last session creation failed"),y("Unable to connect to remote server. Please check the server configuration.");return}r(),l(null),y(null),N.current=0,M.current=0,R.current=!0;return}}else n>=5e3&&(M.current=0);if(E.current||1e3===e.code)return;if(N.current>=10){console.log("[AgentSession] Max reconnect attempts reached"),y("Unable to connect to server. Please check if the backend is running.");return}let o=(i=(s=Math.min(3e4,1e3*Math.pow(2,N.current)))*Math.random()*.25,s+i);console.log(`[AgentSession] Reconnecting in ${Math.round(o)}ms (attempt ${N.current+1})`),N.current++,k.current=setTimeout(()=>{let e=C.current;e&&!E.current&&K(e,!0)},o)},i.onerror=e=>{console.error("[AgentSession] WebSocket error:",e)}},[K]);(0,$.useEffect)(()=>{j.current=q},[q]);let V=(0,$.useCallback)(async s=>{if(!e)return null;if(L.current)return console.log("[AgentSession] startSession already in progress, skipping"),null;L.current=!0;let n=P.current;y(null),w(null),g(!1),B.current=!1;let a=Sv(e,r,o),c=Sx.get(a);if(c)return console.log(`[AgentSession] Cache hit for ${a}, reconnecting WebSocket directly`),l(c),h(c.status),K(c.id),O.current?.(c),L.current=!1,c;v(!0);try{console.log(`[AgentSession] Starting REST call: projectId=${e}, branch=${r}, sessionId=${o??"latest"}, agentType=${i}, generation=${n}`);let{session:c,messages:u}=o?await S_(o):await Sc(e,r,s,i);if(P.current!==n)return console.log("[AgentSession] Discarding stale session response (generation mismatch)"),null;if(!c)return console.log(`[AgentSession] No existing session for ${e}/${r??"<null>"} — placeholder`),l(null),h("stopped"),d([]),D.current={entries:[],status:"stopped"},g(!0),null;return console.log(`[AgentSession] REST response: sessionId=${c.id}, msgCount=${u?.length??0}, status=${c.status}, explicitSessionIdRequested=${o??"<null>"}`),Sx.set(a,c),o&&Sx.set(Sv(e,r,c.id),c),l(c),h(c.status),u&&u.length>0&&(d(u),D.current={entries:[...u],status:c.status}),K(c.id),O.current?.(c),c}catch(e){if(console.error("[AgentSession] startSession error:",e),P.current!==n)return console.log("[AgentSession] Discarding error (generation mismatch)"),null;return y(e instanceof Error?e.message:"Failed to start session"),B.current=!0,null}finally{L.current=!1,P.current===n&&v(!1)}},[e,r,i,o,K]),Y=(0,$.useCallback)(async(s,i)=>{let n=i||a?.id;if(!n)return void console.warn("[AgentSession] sendMessage: no session ID available (sessionId param:",i,", session?.id:",a?.id,")");if(("string"!=typeof s||s.trim())&&(!Array.isArray(s)||0!==s.length)){console.log(`[AgentSession] sendMessage: targetSessionId=${n}, source=${i?"explicit":"state"}`);try{let e="string"==typeof s?s.trim():s;await Sd(n,e)}catch(i){let s=i instanceof Error?i.message:"Failed to send message";console.error("[AgentSession] Failed to send message:",s),s.includes("[404]")&&(e&&(Sx.delete(Sv(e,r,o)),a?.id&&Sx.delete(Sv(e,r,a.id))),l(null),h("stopped"),g(!1),R.current=!0),y(s),gC.toast.error("Failed to send message",{description:s})}}},[a?.id,e,r,o]),G=(0,$.useCallback)(async(e,r)=>{let s=r||a?.id;if(!s)throw Error("No session id available for paste upload");return Su(s,e)},[a?.id]),X=(0,$.useCallback)(async()=>{if(a?.id)try{await Sp(a.id)}catch(e){e instanceof Error&&e.message,console.error("[AgentSession] Failed to stop session:",e),gC.toast.error("Failed to stop session")}},[a?.id]),J=(0,$.useCallback)(async s=>{if(a?.id){e&&(Sx.delete(Sv(e,r,o)),Sx.delete(Sv(e,r,a.id))),v(!0),y(null);try{await Sh(a.id,s),s&&l(e=>e?{...e,agentType:s}:null)}catch(e){y(e instanceof Error?e.message:"Failed to restart session"),console.error("[AgentSession] Failed to restart session:",e)}finally{v(!1)}}},[a?.id,e,r,o]),Z=(0,$.useCallback)(async s=>{if(!a?.id)return"No active session";y(null);try{return await Sf(a.id,s),l(i=>{if(!i)return i;let n={...i,agentType:s};return e&&(Sx.set(Sv(e,r,o),n),Sx.set(Sv(e,r,n.id),n)),n}),null}catch(r){let e=r instanceof Error?r.message:"Failed to switch agent";return console.error("[AgentSession] Failed to switch agent:",r),e}},[a?.id,e,r,o]),Q=(0,$.useCallback)(async s=>{if(a?.id){y(null);try{await Sm(a.id,s),l(i=>{if(!i)return i;let n={...i,permissionMode:s};return e&&(Sx.set(Sv(e,r,o),n),Sx.set(Sv(e,r,n.id),n)),n})}catch(e){y(e instanceof Error?e.message:"Failed to switch mode"),console.error("[AgentSession] Failed to switch mode:",e)}}},[a?.id,e,r,o]),ee=(0,$.useCallback)(async s=>{if(a?.id){y(null);try{await Sg(a.id,s),l(s=>{if(!s)return s;let i={...s,permissionMode:"edit"};return e&&(Sx.set(Sv(e,r,o),i),Sx.set(Sv(e,r,i.id),i)),i})}catch(e){y(e instanceof Error?e.message:"Failed to accept plan"),console.error("[AgentSession] Failed to accept plan:",e)}}},[a?.id,e,r,o]),et=(0,$.useCallback)(async()=>{var i;let n;return e?(a?.id&&Sx.delete(Sv(e,r,a.id)),Sx.delete(Sv(e,r,o)),S.current&&(S.current.close(1e3,"new-conversation"),S.current=null,C.current=null),k.current&&(clearTimeout(k.current),k.current=null),F.current&&(clearTimeout(F.current),F.current=null),E.current=!1,T.current=!1,p(!1),l(null),h("stopped"),g(!0),y(null),w(null),d([]),D.current={entries:[],status:"stopped"},i=So(e,r,s),(n=new Map(w9)).set(i,Date.now()),w7(w9=n),Sr(),null):null},[e,r,s,a?.id,o]),er=(0,$.useCallback)(async n=>{if(!e)return null;if(a)return a;v(!0),y(null);try{let a;try{a=await (0,rx.createNewAgentSession)(e,r,n,i)}catch(s){if(s instanceof rx.ResidentLimitError){if(!window.confirm(`All ${s.maxResidentAgentProcesses} resident agent processes for this workspace branch are running. Stop the least recently active running session in this branch and start a new conversation?`))throw s;a=await (0,rx.createNewAgentSession)(e,r,n,i,!0)}else throw s}let c={id:a.session.id,projectId:a.session.projectId,branch:a.session.branch,status:a.session.status,permissionMode:a.session.permissionMode??"edit",agentType:a.session.agentType??"claude-code",processAlive:a.session.processAlive??!0};return Sx.set(Sv(e,r,o),c),Sx.set(Sv(e,r,c.id),c),l(c),h(c.status),g(!0),Sa(So(e,r,s)),K(c.id),O.current?.(c),c}catch(e){return y(e instanceof Error?e.message:"Failed to create session"),console.error("[AgentSession] ensureSession:",e),null}finally{v(!1)}},[e,r,s,i,a,o,K]);return(0,$.useEffect)(()=>()=>{S.current&&(E.current=!0,S.current.close(),C.current=null),k.current&&clearTimeout(k.current),F.current&&clearTimeout(F.current)},[]),(0,$.useEffect)(()=>{S.current&&(S.current.close(1e3,"branch-switch"),S.current=null,C.current=null),k.current&&(clearTimeout(k.current),k.current=null),F.current&&(clearTimeout(F.current),F.current=null),P.current+=1;let i=e?So(e,r,s):null;i&&o&&Sa(i);let n=!o&&null!==i&&w9.has(i);l(null),h("stopped"),p(!1),g(n),y(null),v(!1),w(null),d([]),D.current={entries:[],status:"stopped"},E.current=!1,N.current=0,A.current=null,M.current=0,B.current=!1,L.current=!1,R.current=!n,e&&Sx.delete(Sv(e,r,o))},[e,r,s,o]),(0,$.useEffect)(()=>{var i;let n=null!==e&&(i=So(e,r,s),w9.has(i));!R.current||!e||a||x||B.current||n||(R.current=!1,console.log(`[AgentSession] Auto-start: projectId=${e}, branch=${r}, agentMode=${s}`),V())},[e,r,s,a,x,V]),(0,$.useEffect)(()=>{let e=()=>{if("visible"===document.visibilityState&&a?.id&&!E.current){let e=S.current;e&&e.readyState!==WebSocket.CLOSED&&e.readyState!==WebSocket.CLOSING||(console.log("[AgentSession] Tab visible, WebSocket disconnected - reconnecting"),N.current=0,M.current=0,k.current&&(clearTimeout(k.current),k.current=null),K(a.id))}};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[a?.id,K]),(0,$.useEffect)(()=>{a?.id&&!E.current&&K(a.id)},[a?.id,K]),{session:a,messages:c,status:u,isConnected:f,isInitialized:m,isLoading:x,error:_,remoteStatus:b,startSession:V,sendMessage:Y,uploadPaste:G,stopSession:X,restartSession:J,switchAgentType:Z,startNewConversation:et,ensureSession:er,switchMode:Q,acceptPlan:ee}}(e,r,n?.agent_mode,F,{sessionId:s,onTaskCompleted:a,onSessionStarted:l,onTitleUpdated:(e,r)=>{let s=r??J?.id;s&&e&&(U({sessionId:s,title:e}),c?.(s,e)),L(e=>e+1),O(null)}});f=J?.id??null,(0,ap.useGlobalEventStream)(s=>{"session:status"!==s.type||"running"!==s.status||!e||s.projectId!==e||(s.branch??null)!==(r??null)||s.sessionId&&s.sessionId!==f&&(e=>i?.(e))(s.sessionId)}),(0,$.useEffect)(()=>{(0,rx.getAgentProviders)().then(P).catch(()=>{})},[]),(0,$.useEffect)(()=>{J?.permissionMode&&j(J.permissionMode)},[J?.permissionMode]),(0,$.useEffect)(()=>{J?.agentType&&M(J.agentType)},[J?.agentType]),(0,$.useEffect)(()=>{b([]),S(1)},[e,r]);let ef=(0,$.useRef)({sessionId:null,count:0});(0,$.useEffect)(()=>{let e=J?.id??null,r=ef.current;e&&r.sessionId===e&&0===r.count&&Z.length>0&&O(e),ef.current={sessionId:e,count:Z.length}},[J?.id,Z.length]),(0,$.useEffect)(()=>{I&&J?.id!==I&&O(null)},[J?.id,I]),(0,$.useEffect)(()=>{H&&J?.id!==H.sessionId&&U(null)},[J?.id,H]),(0,$.useEffect)(()=>{if(!H)return;let e=setTimeout(()=>{U(e=>e===H?null:e)},5e3);return()=>clearTimeout(e)},[H]),(0,$.useEffect)(()=>{if(!I)return;let e=setTimeout(()=>{O(e=>e===I?null:e)},3e4);return()=>clearTimeout(e)},[I]);let[ep,em]=(0,$.useState)(!1);(0,$.useEffect)(()=>{em(!1)},[J?.id]),(0,$.useEffect)(()=>{ee&&em(!0)},[ee]);let eg=async e=>{j(e),J&&await eu(e)},ex=async e=>{await eh(e),j("edit"),d?.()},[ev,e_]=(0,$.useState)(!1),eb=async e=>{if(J&&!ev){e_(!0);try{let r=await (0,rx.branchAgentSession)(J.id,e);L(e=>e+1),i?.(r.session.id)}catch(r){let e=r instanceof Error?r.message:"Failed to branch conversation";gC.toast.error("Branch failed",{description:e})}finally{e_(!1)}}},ew=T.find(e=>e.type===F)?.displayName??("codex"===F?"Codex":"Claude Code"),eS=T.filter(e=>e.available).filter(e=>e.type!==F),eC=(0,$.useCallback)(e=>{_(e.replace(/\r?\n/g,"\n").split("\n").map(e=>`> ${e}`).join("\n")+"\n\n"+v),requestAnimationFrame(()=>{let e=V.current?.querySelector("textarea");if(!e)return;e.focus();let r=e.value.length;try{e.setSelectionRange(r,r)}catch{}})},[_,v]);(0,$.useImperativeHandle)(h,()=>({submitMessage:async e=>{if(d?.(),J)en(e);else{let r=await ed(C);r&&(O(r.id),en(e,r.id))}}}),[J,ed,en,C,d]);let ej=(0,$.useCallback)((e,r)=>{if(r.length<=2e3)return;e.preventDefault();let s=e.currentTarget,i=s.selectionStart??v.length,n=s.selectionEnd??v.length,o=new TextEncoder().encode(r).length,a=jV(w,o);_(v.slice(0,i)+a+v.slice(n)),b(e=>[...e,{id:w,content:r,size:o}]),S(w+1);let l=i+a.length;requestAnimationFrame(()=>{try{s.setSelectionRange(l,l)}catch{}})},[v,w,_]);async function ek(e,r,s,i){let n=new Set;for(let r of e.matchAll(jq))n.add(Number(r[1]));let o=r.filter(e=>n.has(e.id));if(0===o.length)return e;let a=e;for(let e of o){let r=await s(e.content,i),n=jV(e.id,e.size),o=`<vpaste path="${r.path}" size="${r.size}" />`;a=a.split(n).join(o)}return a}let eN=async e=>{let r=e.text,s=e.files.length>0,i=y.length>0,n=r.trim();if(n||s){A(!0);try{let o;_(""),Y.push(n),d?.();let a=J?.id,l=null;if(!J){if(!(l=await ed(C)))return void _(r);a=l.id,O(l.id)}let c=n;if(i)try{c=(await ek(r,y,eo,a)).trim()}catch(s){let e=s instanceof Error?s.message:"Failed to upload paste";gC.toast.error("Paste upload failed",{description:e}),_(r);return}if(c.length>2e3)try{let e=await eo(c,a);c=`<vpaste path="${e.path}" size="${e.size}" />`}catch(s){let e=s instanceof Error?s.message:"Failed to upload paste";gC.toast.error("Paste upload failed",{description:e}),_(r);return}if(b([]),S(1),s){let r=[];for(let s of(c&&r.push({type:"text",text:c}),e.files))if(s.mediaType&&s.url){let e=s.url.match(/^data:[^;]+;base64,(.+)$/);e&&r.push({type:"image",mediaType:s.mediaType,data:e[1]})}o=r}else o=c;if(k){let e="string"==typeof o?o:o.filter(e=>"text"===e.type).map(e=>e.text).join("\n");if(e.trim()){E(!0);try{let s=await (0,rx.translateText)(e);if(s.error){_(r),b(y),S(w),gC.toast.error("Translation failed",{description:"Disable translation to send the original text."});return}o="string"==typeof o?s.translatedText:o.map(e=>"text"===e.type?{...e,text:s.translatedText}:e)}catch{_(r),b(y),S(w),gC.toast.error("Translation failed",{description:"Disable translation to send the original text."});return}finally{E(!1)}}}l?(console.log(`[AgentConversation] handleSubmit: using freshly started session ${l.id}`),await en(o,l.id)):(console.log(`[AgentConversation] handleSubmit: existing session ${J.id}, status=${Q}`),await en(o))}finally{A(!1)}}},{settings:eD}=(0,c_.useConversationSettings)();return e?(0,z.jsxs)("div",{className:"h-full flex flex-col min-h-0",style:{"--conv-font-size":`${eD.agentFontSize}px`},children:[(0,z.jsxs)("div",{className:"flex-shrink-0 flex items-center justify-between px-4 h-10 border-b border-border/60 bg-muted/20",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[T.length>1?(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsxs)("button",{disabled:er||"running"===Q&&Z.length>0,className:(0,ey.cn)("inline-flex items-center gap-1 rounded-md border bg-muted/50 px-2 py-0.5 text-xs font-medium transition-colors hover:bg-muted",(er||"running"===Q&&Z.length>0)&&"opacity-50 cursor-not-allowed"),children:[T.find(e=>e.type===F)?.displayName??("codex"===F?"Codex":"Claude Code"),(0,z.jsx)(su,{className:"h-3 w-3 text-muted-foreground"})]})}),(0,z.jsx)(n9,{align:"start",children:(0,z.jsx)(ot,{value:F,onValueChange:async e=>{if(!J)return void M(e);let r=await el(e);r?gC.toast.error("Failed to switch agent",{description:r}):M(e)},children:T.map(e=>(0,z.jsx)(or,{value:e.type,disabled:!e.available,className:"text-xs pl-2 [&>span:first-child]:hidden data-[state=checked]:bg-accent data-[state=checked]:text-accent-foreground",children:e.displayName},e.type))})})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(oa,{className:`h-4 w-4 ${"codex"===F?"text-green-500":"text-violet-500"}`}),(0,z.jsx)("span",{className:"text-sm font-medium",children:"codex"===F?"Codex":"Claude Code"})]}),(0,z.jsx)(jM,{mode:C,onModeChange:eg}),X.length>=1&&o&&(0,z.jsx)(on,{targets:X,activeTarget:n?.agent_mode??"local",onTargetChange:o}),J&&(p=J.id.startsWith("remote-"),m="text-muted-foreground",g=(0,z.jsx)(jD,{className:"h-3 w-3"}),x="Disconnected",ee?p&&"connected"!==ei&&null!==ei?"reconnecting"===ei?(m="text-amber-500",g=(0,z.jsx)(jN,{className:"h-3 w-3 animate-pulse"}),x="Reconnecting..."):"disconnected"===ei&&(m="text-red-500",g=(0,z.jsx)(jD,{className:"h-3 w-3"}),x="Remote disconnected"):(m="text-green-500",g=(0,z.jsx)(jN,{className:"h-3 w-3"}),x="Connected"):ep||(m="text-amber-500",g=(0,z.jsx)(jN,{className:"h-3 w-3 animate-pulse"}),x="Connecting..."),(0,z.jsxs)("span",{className:`flex items-center gap-1 text-xs ${m}`,children:[g,x]}))]}),(0,z.jsxs)("div",{className:"flex items-center gap-1",children:[e&&(0,z.jsx)(jO,{projectId:e,branch:r,currentSessionId:J?.id??null,refreshKey:B,pendingTitleSessionId:I,aiTitleOverride:H,onSwitch:e=>{i?.(e)},onDelete:(e,r)=>{if(e===J?.id){let e=r[0];i?.(e?e.id:null)}}}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",onClick:async()=>{console.log("[NewConv] click",{liveStatus:Q,sessionStatus:J?.status,sessionId:J?.id}),("running"!==Q||window.confirm("Current conversation is running. Stop it and start a new conversation?"))&&(await ec(),u?.(),i?.(null))},disabled:er||!J,className:"h-7 w-7",title:"New Conversation",children:(0,z.jsx)(jE,{className:"h-3.5 w-3.5"})}),(0,z.jsxs)(W.Button,{variant:"ghost",size:"sm",onClick:()=>ea(),disabled:"running"!==Q,className:"h-7 text-xs",children:[(0,z.jsx)(dO,{className:"h-3 w-3 mr-1"}),"Stop"]})]})]}),(0,z.jsxs)("div",{className:"flex-1 min-h-0 relative",children:[(0,z.jsxs)(CH,{className:"h-full",initial:"instant",children:[(0,z.jsxs)(CU,{className:"gap-1 p-4",scrollClassName:"edge-scrollbar",children:[J||0!==Z.length?(0,z.jsxs)(jU.Provider,{value:{sendMessage:en,messages:Z,acceptPlan:ex,permissionMode:J?.permissionMode??C,agentType:J?.agentType??F,sessionId:J?.id??null},children:[(0,z.jsxs)("div",{className:"space-y-1 outline-none",ref:K,tabIndex:-1,onKeyDown:q,children:[Z.map((e,r)=>(0,z.jsx)("div",{"data-message-idx":r,..."user"===e.type?{"data-user-msg-idx":r}:{},className:"scroll-mt-2",children:(0,z.jsx)(CS,{message:e,messageIndex:r})},r)),er&&(0,z.jsxs)("div",{className:"flex items-center gap-2 py-4 text-muted-foreground",children:[(0,z.jsx)(jk,{className:"h-4 w-4"}),(0,z.jsx)("span",{className:"text-sm",children:"Connecting to agent..."})]})]}),J&&"running"!==Q&&!er&&Z.length>0&&(0,z.jsx)("div",{className:"mt-3 border-t border-border/50 pt-1.5 pb-1",children:(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:(0,ey.cn)("h-7 w-7 rounded-md text-muted-foreground transition-colors","hover:bg-muted hover:text-foreground"),disabled:ev,"aria-label":"Branch conversation",children:ev?(0,z.jsx)(rj,{className:"h-4 w-4 animate-spin"}):(0,z.jsx)(jA,{className:"h-4 w-4"})})}),(0,z.jsxs)(n9,{align:"start",className:"w-44 p-1.5",children:[(0,z.jsx)(os,{className:"px-2 py-1.5",children:(0,z.jsx)("div",{className:"text-xs font-medium",children:"Branch conversation"})}),(0,z.jsxs)(oe,{className:"h-8 cursor-pointer items-center gap-2 rounded-md px-2 text-xs",onSelect:()=>eb(),children:[(0,z.jsx)("div",{className:(0,ey.cn)("flex h-5 w-5 shrink-0 items-center justify-center rounded-full","codex"===F?"bg-emerald-500/10 text-emerald-600":"bg-violet-500/10 text-violet-600"),children:(0,z.jsx)(oa,{className:"h-3 w-3"})}),(0,z.jsx)("span",{className:"min-w-0 flex-1 truncate",children:ew}),(0,z.jsx)("span",{className:"shrink-0 text-[11px] text-muted-foreground",children:"current"})]}),eS.length>0&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(oi,{className:"my-1"}),eS.map(e=>(0,z.jsxs)(oe,{className:"h-8 cursor-pointer items-center gap-2 rounded-md px-2 text-xs",onSelect:()=>eb(e.type),children:[(0,z.jsx)("div",{className:(0,ey.cn)("flex h-5 w-5 shrink-0 items-center justify-center rounded-full","codex"===e.type?"bg-emerald-500/10 text-emerald-600":"bg-violet-500/10 text-violet-600"),children:(0,z.jsx)(oa,{className:"h-3 w-3"})}),(0,z.jsx)("span",{className:"min-w-0 flex-1 truncate",children:e.displayName})]},e.type))]})]})]})})]}):(0,z.jsx)("div",{className:"text-center py-16",children:er||e&&!et?(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(jk,{className:"h-6 w-6 mx-auto mb-4"}),(0,z.jsx)("h3",{className:"text-sm font-semibold mb-1 text-foreground",children:"Connecting to agent..."}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Setting up the session for this worktree"})]}):(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)("div",{className:"mx-auto w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center mb-4",children:(0,z.jsx)(oa,{className:"h-6 w-6 text-primary/60"})}),(0,z.jsx)("h3",{className:"text-sm font-semibold mb-1 text-foreground",children:"Start a conversation"}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Ask the agent to help you with coding tasks in this worktree"})]})}),es&&(0,z.jsxs)("div",{className:"flex items-center gap-2 p-3 bg-red-500/10 rounded-lg text-red-500 text-sm mt-4",children:[(0,z.jsx)(SS,{className:"h-4 w-4"}),es]})]}),(0,z.jsx)(CK,{})]}),(0,z.jsx)(jL,{messages:Z,contentRef:K}),(0,z.jsx)(jW,{containerRef:K,onQuote:eC})]}),(0,z.jsx)("div",{className:"flex-shrink-0 border-t border-border/60 p-3",children:(0,z.jsxs)(jp,{onSubmit:eN,accept:"image/*",className:"w-full",children:[(0,z.jsx)(jH,{}),(0,z.jsxs)("div",{className:"relative flex w-full flex-col",children:[k&&(0,z.jsx)("div",{className:"flex items-center pl-12 pr-2 pt-1.5 pb-0.5",children:(0,z.jsxs)("button",{type:"button",onClick:()=>N(!1),className:"inline-flex shrink-0 items-center gap-1.5 rounded-full bg-blue-500/10 text-blue-600 dark:text-blue-400 px-2.5 py-0.5 text-xs font-medium hover:bg-blue-500/20 transition-colors",children:[D?(0,z.jsx)(rj,{className:"size-3 animate-spin"}):(0,z.jsx)(jR,{className:"size-3"}),"Translate",(0,z.jsx)(t8,{className:"size-3"})]})}),(0,z.jsxs)("div",{className:"flex w-full items-center",children:[(0,z.jsxs)(jv,{children:[(0,z.jsx)(j_,{className:"ml-1"}),(0,z.jsxs)(jy,{children:[(0,z.jsx)(jf,{label:"Add images"}),(0,z.jsxs)(jb,{onSelect:()=>{N(!k)},children:[(0,z.jsx)(jR,{className:"mr-2 size-4"}),k?"Disable translation":"Translate"]})]})]}),(0,z.jsx)("div",{ref:V,className:"contents",children:(0,z.jsx)(jm,{value:v,onChange:e=>_(e.target.value),onPasteText:ej,onKeyDown:Y.handleKeyDown,placeholder:J?"Ask the agent to help with your code...":"Type your first message to start...",className:"pr-12"})}),(0,z.jsx)(jw,{className:"absolute bottom-1 right-1",disabled:!v.trim()&&!er||D||R,status:R||D?"submitted":er?"streaming":"ready"})]})]})]})})]}):(0,z.jsx)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:(0,z.jsxs)("div",{className:"text-center",children:[(0,z.jsx)("div",{className:"mx-auto w-10 h-10 rounded-xl bg-muted flex items-center justify-center mb-3",children:(0,z.jsx)(oa,{className:"h-5 w-5 text-muted-foreground/50"})}),(0,z.jsx)("p",{className:"text-sm",children:"Select a project to start coding"})]})})});function jG(){return"localhost"===window.location.hostname&&"3000"===window.location.port?"http://localhost:5173":""}async function jX(e,r){let s=await (0,rx.authFetch)(`${jG()}/api/projects/${e}/chat-sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branch:r})});if(!s.ok)throw Error("Failed to create chat session");return s.json()}async function jJ(e,r){if(!(await (0,rx.authFetch)(`${jG()}/api/chat-sessions/${e}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:r})})).ok)throw Error("Failed to send message")}async function jZ(e){if(!(await (0,rx.authFetch)(`${jG()}/api/chat-sessions/${e}/stop`,{method:"POST"})).ok)throw Error("Failed to stop generation")}let jQ=new Map;function j0(e,r){return`chat:${e}:${r??""}`}function j1({sessionId:e,approvalId:r,tool:s,input:i,resolved:n}){let[o,a]=(0,$.useState)(null),l=function(e){if(null!==e&&"object"==typeof e){if("string"==typeof e.message)return e.message;if("string"==typeof e.prompt)return e.prompt}return JSON.stringify(e)}(i),c=async s=>{if(!o&&!n){a(s?"approve":"deny");try{await rx.api.chatToolApproval(e,r,s)}finally{a(null)}}};return(0,z.jsx)("div",{className:"mx-4 my-1",children:(0,z.jsxs)("div",{className:"rounded-lg border border-amber-500/30 bg-amber-500/5 p-3 space-y-2",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsx)(oa,{className:"h-3.5 w-3.5 text-amber-500 shrink-0"}),(0,z.jsxs)("span",{className:"text-xs font-medium text-amber-600 dark:text-amber-400",children:["Approval needed · ","spawnAgentSession"===s?"Start a new coding agent":"Send to the coding agent"]})]}),(0,z.jsx)("pre",{className:"bg-muted/50 p-2 rounded overflow-x-auto max-w-full whitespace-pre-wrap break-all text-foreground/80",style:{fontSize:"var(--conv-font-size, 12px)"},children:l}),n?(0,z.jsxs)(at,{variant:"default",className:"approved"===n?"bg-green-600 hover:bg-green-700 text-white":"bg-red-600 hover:bg-red-700 text-white",children:["approved"===n?(0,z.jsx)(rS,{className:"h-3 w-3 mr-1"}):(0,z.jsx)(rC,{className:"h-3 w-3 mr-1"}),"approved"===n?"Approved — sent.":"Denied — not sent."]}):(0,z.jsxs)("div",{className:"flex gap-2",children:[(0,z.jsxs)(W.Button,{onClick:()=>c(!0),disabled:null!==o,className:"bg-green-600 hover:bg-green-700 text-white",size:"sm",children:["approve"===o?(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1 animate-spin"}):(0,z.jsx)(rS,{className:"h-3.5 w-3.5 mr-1"}),"Approve"]}),(0,z.jsxs)(W.Button,{onClick:()=>c(!1),disabled:null!==o,variant:"destructive",size:"sm",children:["deny"===o?(0,z.jsx)(rj,{className:"h-3.5 w-3.5 mr-1 animate-spin"}):(0,z.jsx)(rC,{className:"h-3.5 w-3.5 mr-1"}),"Deny"]})]})]})})}let j2=(0,ew.default)("radio",[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478",key:"1fwjs5"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134",key:"ehdyv1"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134",key:"1q22gi"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478",key:"r2q7qm"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]),j5=(0,ew.default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);function j3({messages:e}){let{scrollToBottom:r}=CW(),s=(0,$.useRef)(e.length);return(0,$.useEffect)(()=>{let i=s.current;if(s.current=e.length,!(e.length<=i))for(let s=i;s<e.length;s++){let i=e[s];if("user"===i.type&&i.content.startsWith("[Executor Event:"))return void r({animation:"instant"})}},[e,r]),null}let j4=(0,$.forwardRef)(function({projectId:e,branch:r},s){let{session:i,messages:n,status:o,isInitialized:a,isLoading:l,error:c,sendMessage:d,stopGeneration:u,restartSession:h}=function(e,r){let[s,i]=(0,$.useState)(null),[n,o]=(0,$.useState)([]),[a,l]=(0,$.useState)("stopped"),[c,d]=(0,$.useState)(!1),[u,h]=(0,$.useState)(!1),[f,p]=(0,$.useState)(!1),[m,g]=(0,$.useState)(null),x=(0,$.useRef)(null),v=(0,$.useRef)(()=>{}),_=(0,$.useRef)(null),y=(0,$.useRef)(0),b=(0,$.useRef)({entries:[],status:"stopped"}),w=(0,$.useRef)(!1),S=(0,$.useRef)(!0),C=(0,$.useRef)(!1),j=(0,$.useRef)(0),k=(0,$.useRef)(null),N=(0,$.useRef)(null),D=(0,$.useRef)(0),E=(0,$.useRef)(!1),R=(0,$.useCallback)((e,r=!1)=>{x.current?.readyState!==WebSocket.OPEN&&x.current?.readyState!==WebSocket.CONNECTING&&(0,rx.getFreshToken)(r?{skipCache:!0}:void 0).then(()=>v.current(e))},[]),A=(0,$.useCallback)(n=>{if(x.current?.readyState===WebSocket.OPEN||x.current?.readyState===WebSocket.CONNECTING)return;b.current={entries:[],status:"stopped"},w.current=!1,C.current=!0;let a=new WebSocket((0,rx.getWebSocketUrl)(`/api/chat-sessions/${n}/stream`));x.current=a;let c=j.current;a.onopen=()=>{d(!0),g(null),k.current=Date.now(),N.current&&clearTimeout(N.current),N.current=setTimeout(()=>{y.current=0,D.current=0},5e3)},a.onmessage=s=>{if(c===j.current)try{let c=JSON.parse(s.data);if("JsonPatch"in c){var i,n;let e=b.current.entries.filter(Boolean).length;i=b.current,n=c.JsonPatch,b.current=w6(i,e=>{for(let r of n){let{op:s,path:i,value:n}=r;if("/entries"===i&&"replace"===s&&n?.type==="ENTRY"&&n.content?.type==="system"&&n.content?.content==="__CLEAR_ALL__"){e.entries=[];continue}if(i.startsWith("/entries/")){let r=parseInt(i.replace("/entries/",""),10);if(isNaN(r)||n?.type!=="ENTRY")continue;switch(s){case"add":for(;e.entries.length<=r;)e.entries.push(null);e.entries[r]=n.content;break;case"replace":r<e.entries.length&&(e.entries[r]=n.content);break;case"remove":r<e.entries.length&&e.entries.splice(r,1)}}else"/status"===i&&n?.type==="STATUS"&&(e.status=n.content)}});let r=b.current.entries.filter(Boolean).length;C.current?r!==e&&console.log(`[ChatSession] WS patch added message (${e} → ${r}) but isReplaying=true, state NOT updated`):(r!==e&&console.log(`[ChatSession] New message via WS patch (${e} → ${r}), calling setMessages`),o([...b.current.entries.filter(Boolean)]),l(b.current.status));return}if("Ready"in c){C.current=!1;let e=b.current.entries.filter(Boolean).length;console.log(`[ChatSession] Ready received, isReplaying → false, ${e} messages`),o([...b.current.entries.filter(Boolean)]),l(b.current.status),h(!0);return}if("finished"in c){w.current=!0,a.close(1e3,"finished");return}if("openPreviewFrame"in c)return void(0,vK.openPreviewFrame)(c.openPreviewFrame.projectId,c.openPreviewFrame.url);if("browserCommand"in c){let r=c.browserCommand;e&&(0,vK.sendCommandToIframe)(e,{type:"vibedeckx-command",...r}).then(e=>{e&&a.readyState===WebSocket.OPEN&&a.send(JSON.stringify({type:"browser_result",result:{id:r.id,success:e.success??!1,error:e.error,content:e.content,found:e.found,tag:e.tag,text:e.text}}))});return}if("error"in c){g(c.error),"Session not found"===c.error&&(e&&jQ.delete(j0(e,r)),w.current=!0);return}}catch(e){console.error("[ChatSession] Failed to parse message:",e)}},a.onclose=n=>{let o,a;if(c!==j.current)return;d(!1),x.current=null,N.current&&(clearTimeout(N.current),N.current=null);let l=4e3===n.code,u=k.current?Date.now()-k.current:0;if(k.current=null,!l&&u>0&&u<5e3){if(D.current++,D.current>=3)return E.current?void g("Unable to connect to remote server. Please check the server configuration."):(e&&jQ.delete(j0(e,r)),i(null),g(null),y.current=0,D.current=0,void(S.current=!0))}else u>=5e3&&(D.current=0);if(w.current||1e3===n.code)return;if(y.current>=10)return void g("Unable to connect to server.");let h=(a=(o=Math.min(3e4,1e3*Math.pow(2,y.current)))*Math.random()*.25,o+a);y.current++,_.current=setTimeout(()=>{s?.id&&!w.current&&R(s.id,!0)},h)},a.onerror=()=>{}},[s?.id,R]);(0,$.useEffect)(()=>{v.current=A},[A]);let F=(0,$.useCallback)(async()=>{if(!e)return null;let s=j.current;g(null),h(!1),E.current=!1;let n=j0(e,r),a=jQ.get(n);if(a)return i(a),l(a.status),R(a.id),a;p(!0);try{let{session:a,messages:c}=await jX(e,r);if(j.current!==s)return null;return jQ.set(n,a),i(a),l(a.status),c&&c.length>0&&o(c),R(a.id),a}catch(e){if(j.current!==s)return null;return g(e instanceof Error?e.message:"Failed to start session"),E.current=!0,null}finally{j.current===s&&p(!1)}},[e,r,R]),M=(0,$.useCallback)(async e=>{let r=s?.id;if(r&&e.trim())try{await jJ(r,e.trim())}catch(r){let e=r instanceof Error?r.message:"Failed to send message";g(e),gC.toast.error("Failed to send message",{description:e})}},[s?.id]),T=(0,$.useCallback)(async()=>{if(s?.id)try{await jZ(s.id)}catch(e){console.error("[ChatSession] Failed to stop generation:",e)}},[s?.id]),P=(0,$.useCallback)(async()=>{if(s?.id)try{await rx.api.resetChatSession(s.id),o([]),l("stopped"),b.current={entries:[],status:"stopped"}}catch(e){console.error("[ChatSession] Failed to reset session:",e),gC.toast.error("Failed to start new conversation")}},[s?.id]);return(0,$.useEffect)(()=>()=>{x.current&&(w.current=!0,x.current.close()),_.current&&clearTimeout(_.current),N.current&&clearTimeout(N.current)},[]),(0,$.useEffect)(()=>{x.current&&(x.current.close(1e3,"branch-switch"),x.current=null),_.current&&(clearTimeout(_.current),_.current=null),N.current&&(clearTimeout(N.current),N.current=null),j.current+=1,i(null),l("stopped"),d(!1),h(!1),g(null),p(!1),b.current={entries:[],status:"stopped"},w.current=!1,y.current=0,k.current=null,D.current=0,E.current=!1,S.current=!0},[e,r]),(0,$.useEffect)(()=>{!S.current||!e||s||f||E.current||(S.current=!1,F())},[e,s,f,F]),(0,$.useEffect)(()=>{!s?.id||c||w.current||R(s.id)},[s?.id,c,R]),(0,$.useEffect)(()=>{let e=()=>{if("visible"!==document.visibilityState||!s?.id||w.current)return;let e=x.current,r=b.current.entries.filter(Boolean).length;console.log(`[ChatSession] Tab visible: ws.readyState=${e?.readyState??"null"}, isReplaying=${C.current}, messages=${r}`),e&&e.readyState===WebSocket.OPEN&&e.close(4e3,"visibility-recovery")};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[s?.id]),{session:s,messages:n,status:a,isConnected:c,isInitialized:u,isLoading:f,error:m,sendMessage:M,stopGeneration:T,restartSession:P}}(e,r),{settings:f}=(0,c_.useConversationSettings)();(0,$.useImperativeHandle)(s,()=>({sendMessage:async e=>{let r=e.trim();r&&await d(r)}}),[d]);let[p,m]=(0,$.useState)(""),[g,x]=(0,$.useState)(!1);(0,$.useEffect)(()=>{i?.eventListeningEnabled!=null&&x(i.eventListeningEnabled)},[i?.eventListeningEnabled]);let v="running"===o,_=(0,$.useCallback)(async e=>{let r=e.text.trim();r&&(m(""),await d(r))},[d]);return e?(0,z.jsxs)("div",{className:"h-full flex flex-col min-h-0",style:{"--conv-font-size":`${f.chatFontSize}px`},children:[(0,z.jsxs)("div",{className:"flex-shrink-0 flex items-center justify-between px-4 h-10 border-b border-border/60 bg-muted/20",children:[(0,z.jsxs)("div",{className:"flex items-center gap-2",children:[(0,z.jsx)(gN,{className:"h-3.5 w-3.5 text-primary"}),(0,z.jsx)("span",{className:"text-xs font-medium text-foreground",children:"Main Chat"}),v&&(0,z.jsx)(rj,{className:"h-3 w-3 animate-spin text-primary/60"})]}),i&&(0,z.jsxs)("div",{className:"flex items-center gap-1",children:[(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",onClick:async()=>{let e=!g;try{await rx.api.setChatEventListening(i.id,e),x(e)}catch{gC.toast.error("Failed to toggle event listening")}},className:`h-7 w-7 ${g?"text-amber-500":""}`,title:g?"Listening to executor events (click to disable)":"Listen to executor events (click to enable)",children:(0,z.jsx)(j2,{className:"h-3.5 w-3.5"})}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",onClick:()=>h(),disabled:v,className:"h-7 w-7",title:"New Conversation",children:(0,z.jsx)(jE,{className:"h-3.5 w-3.5"})})]})]}),(0,z.jsxs)(CH,{className:"flex-1 min-h-0",initial:"instant",children:[(0,z.jsx)(j3,{messages:n}),(0,z.jsxs)(CU,{className:"gap-4 p-4",children:[l&&0===n.length&&(0,z.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,z.jsx)(rj,{className:"h-6 w-6 animate-spin text-muted-foreground"})}),!l&&a&&0===n.length&&(0,z.jsxs)("div",{className:"text-center py-16",children:[(0,z.jsx)("div",{className:"mx-auto w-12 h-12 rounded-xl bg-primary/10 flex items-center justify-center mb-4",children:(0,z.jsx)(gN,{className:"h-6 w-6 text-primary/60"})}),(0,z.jsx)("h3",{className:"text-sm font-semibold mb-1 text-foreground",children:"Start a conversation"}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed",children:"Chat with the AI assistant about your project"})]}),n.map((e,r)=>{if("turn_end"===e.type)return(0,z.jsxs)("div",{className:"mx-4 my-3 flex items-center gap-2","aria-hidden":!0,children:[(0,z.jsx)("div",{className:"h-px flex-1 bg-border"}),(0,z.jsx)("div",{className:"h-1 w-1 shrink-0 rounded-full bg-border"}),(0,z.jsx)("div",{className:"h-px flex-1 bg-border"})]},r);if("user"===e.type&&e.content.startsWith("[System Invariant Violation]")){let s=e.content.replace(/^\[System Invariant Violation\]\n?/,"");return(0,z.jsxs)("div",{className:"mx-4 my-2 flex gap-2 rounded-md border border-amber-500/30 bg-amber-500/10 px-3 py-2",children:[(0,z.jsx)(j5,{className:"mt-0.5 h-4 w-4 shrink-0 text-amber-500"}),(0,z.jsxs)("div",{className:"min-w-0",children:[(0,z.jsx)("div",{className:"text-xs font-medium text-amber-600 dark:text-amber-400",children:"System invariant correction"}),(0,z.jsx)("div",{className:"mt-0.5 whitespace-pre-wrap text-muted-foreground",style:{fontSize:"var(--conv-font-size, 12px)"},children:s})]})]},r)}return"user"===e.type?(0,z.jsx)(bU,{from:"user",children:(0,z.jsx)(bK,{style:{fontSize:"var(--conv-font-size, 14px)"},children:e.content})},r):"assistant"===e.type?(0,z.jsx)(bU,{from:"assistant",children:(0,z.jsx)(bK,{style:{fontSize:"var(--conv-font-size, 14px)"},children:(0,z.jsx)(bq,{children:e.content})})},r):"tool_use"===e.type?(0,z.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 text-xs text-muted-foreground",children:[(0,z.jsx)(vG,{className:"w-3.5 h-3.5 animate-pulse"}),(0,z.jsx)("span",{children:function(e){switch(e){case"getExecutorStatus":return"Checking executor status...";case"getAgentConversation":return"Checking agent conversation...";case"listTerminals":return"Listing terminals...";case"runInTerminal":return"Sending command to terminal...";case"spawnAgentSession":return"Starting a coding agent...";case"sendToAgentSession":return"Sending a message to the agent...";default:return`Running ${e}...`}}(e.tool)})]},r):"tool_result"===e.type?(0,z.jsx)("div",{className:"px-4 py-2",children:(0,z.jsxs)("details",{className:"text-xs text-muted-foreground",children:[(0,z.jsx)("summary",{className:"cursor-pointer hover:text-foreground",children:"Tool result"}),(0,z.jsx)("pre",{className:"mt-1 p-2 bg-muted/50 rounded overflow-x-auto whitespace-pre-wrap",style:{fontSize:"var(--conv-font-size, 12px)"},children:e.output})]})},r):"tool_approval_request"===e.type?i?(0,z.jsx)(j1,{sessionId:i.id,approvalId:e.approvalId,tool:e.tool,input:e.input,resolved:e.resolved},r):null:"error"===e.type?(0,z.jsx)("div",{className:"mx-auto max-w-[90%] rounded-lg border border-destructive/50 bg-destructive/10 px-4 py-3 text-destructive",style:{fontSize:"var(--conv-font-size, 14px)"},children:e.message},r):null}),c&&(0,z.jsx)("div",{className:"mx-auto max-w-[90%] rounded-lg border border-destructive/50 bg-destructive/10 px-4 py-3 text-sm text-destructive",children:c})]}),(0,z.jsx)(CK,{})]}),(0,z.jsxs)("div",{className:"flex-shrink-0 border-t border-border/60 p-3",children:[v&&(0,z.jsx)("div",{className:"flex justify-center mb-2",children:(0,z.jsxs)(W.Button,{variant:"outline",size:"sm",onClick:u,className:"gap-1.5",children:[(0,z.jsx)(dO,{className:"h-3 w-3"}),"Stop generating"]})}),(0,z.jsxs)(jp,{onSubmit:_,className:"w-full",children:[(0,z.jsx)(jm,{disabled:!a||v,placeholder:a?v?"Waiting for response...":"Type a message...":"Connecting...",className:"pr-12",value:p,onChange:e=>m(e.currentTarget.value)}),(0,z.jsx)(jw,{className:"absolute bottom-1 right-1",disabled:!a||v||!p.trim()})]})]})]}):(0,z.jsx)("div",{className:"h-full flex items-center justify-center text-muted-foreground",children:(0,z.jsxs)("div",{className:"text-center",children:[(0,z.jsx)("div",{className:"mx-auto w-10 h-10 rounded-xl bg-muted flex items-center justify-center mb-3",children:(0,z.jsx)(gN,{className:"h-5 w-5 text-muted-foreground/50"})}),(0,z.jsx)("p",{className:"text-sm",children:"Select a project to start chatting"})]})})}),j6=(0,ew.default)("archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]]),j8=(0,ew.default)("archive-restore",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h2",key:"tvwodi"}],["path",{d:"M20 8v11a2 2 0 0 1-2 2h-2",key:"1gkqxj"}],["path",{d:"m9 15 3-3 3 3",key:"1pd0qc"}],["path",{d:"M12 12v9",key:"192myk"}]]);function j7({task:e,onUpdate:r,onDelete:s,onArchive:i,onUnarchive:n,archivedView:o,onClick:a,worktrees:l,assignedBranches:c,onAssign:d}){let[u,h]=(0,$.useState)(!1),[f,p]=(0,$.useState)(e.title),m=(0,$.useRef)(null);(0,$.useEffect)(()=>{u&&(m.current?.focus(),m.current?.select())},[u]),(0,$.useEffect)(()=>{p(e.title)},[e.title]);let g=()=>{h(!1);let s=f.trim();s&&s!==e.title?r(e.id,{title:s}):p(e.title)},x="done"===e.status||"cancelled"===e.status;return(0,z.jsxs)(ls,{className:"group cursor-pointer",onClick:()=>a?.(e),children:[(0,z.jsx)(ln,{className:"w-10",onClick:e=>e.stopPropagation(),children:(0,z.jsx)(eb,{checked:"done"===e.status,onCheckedChange:s=>{r(e.id,{status:s?"done":"todo"})}})}),(0,z.jsx)(ln,{className:"font-medium",children:u?(0,z.jsx)("input",{ref:m,className:"w-full bg-transparent border-b border-primary outline-none text-sm py-0.5",value:f,onChange:e=>p(e.target.value),onBlur:g,onClick:e=>e.stopPropagation(),onKeyDown:r=>{"Enter"===r.key&&g(),"Escape"===r.key&&(p(e.title),h(!1))}}):(0,z.jsxs)("div",{children:[(0,z.jsx)("span",{className:`cursor-pointer hover:underline text-sm ${x?"line-through text-muted-foreground":""}`,onClick:e=>{e.stopPropagation(),h(!0)},children:e.title}),e.description&&(0,z.jsx)("p",{className:"text-xs text-muted-foreground truncate max-w-[400px] mt-0.5",children:e.description.length>80?e.description.slice(0,80)+"...":e.description})]})}),(0,z.jsx)(ln,{onClick:e=>e.stopPropagation(),children:(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsx)("button",{className:"focus:outline-none",children:(0,z.jsx)(at,{variant:"outline",className:`cursor-pointer text-xs ${ar[e.status].color}`,children:ar[e.status].label})})}),(0,z.jsx)(n9,{align:"start",children:ai.map(s=>(0,z.jsxs)(oe,{onClick:()=>r(e.id,{status:s}),children:[(0,z.jsx)("span",{className:`inline-block w-2 h-2 rounded-full mr-2 ${ar[s].color}`}),ar[s].label]},s))})]})}),(0,z.jsx)(ln,{onClick:e=>e.stopPropagation(),children:(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsx)("button",{className:"focus:outline-none",children:(0,z.jsx)(at,{variant:"outline",className:`cursor-pointer text-xs ${as[e.priority].color}`,children:as[e.priority].label})})}),(0,z.jsx)(n9,{align:"start",children:an.map(s=>(0,z.jsxs)(oe,{onClick:()=>r(e.id,{priority:s}),children:[(0,z.jsx)("span",{className:`inline-block w-2 h-2 rounded-full mr-2 ${as[s].color}`}),as[s].label]},s))})]})}),(0,z.jsx)(ln,{onClick:e=>e.stopPropagation(),children:(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsx)("button",{className:"focus:outline-none",children:(0,z.jsxs)(at,{variant:"outline",className:`cursor-pointer text-xs font-mono ${null!==e.assigned_branch?"bg-accent text-accent-foreground border-transparent":"text-muted-foreground"}`,children:[(0,z.jsx)(rb,{className:"h-3 w-3 mr-1"}),null!==e.assigned_branch?""===e.assigned_branch?"main":e.assigned_branch:"Unassigned"]})})}),(0,z.jsxs)(n9,{align:"start",children:[null!==e.assigned_branch&&(0,z.jsxs)(z.Fragment,{children:[(0,z.jsx)(oe,{onClick:()=>d(e.id,null),children:"Unassign"}),(0,z.jsx)(oi,{})]}),l.filter(r=>{let s=null===r.branch?"":r.branch;return!(e.assigned_branch===s||c.has(s))}).map(r=>{let s=null===r.branch?"":r.branch,i=r.branch??"main";return(0,z.jsxs)(oe,{onClick:()=>d(e.id,s),children:[(0,z.jsx)(rb,{className:"h-3 w-3 mr-2"}),i]},s)})]})]})}),(0,z.jsx)(ln,{className:"text-muted-foreground text-[10.5px] font-mono",children:new Date(e.created_at).toLocaleDateString()}),(0,z.jsx)(ln,{className:"w-10",onClick:e=>e.stopPropagation(),children:(0,z.jsxs)("div",{className:"flex items-center gap-0.5",children:[o?(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 opacity-0 group-hover:opacity-100 transition-opacity",title:"Unarchive",onClick:()=>n(e.id),children:(0,z.jsx)(j8,{className:"h-3.5 w-3.5 text-muted-foreground"})}):(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 opacity-0 group-hover:opacity-100 transition-opacity",title:"Archive",onClick:()=>i(e.id),children:(0,z.jsx)(j6,{className:"h-3.5 w-3.5 text-muted-foreground"})}),(0,z.jsx)(W.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 opacity-0 group-hover:opacity-100 transition-opacity",title:"Delete",onClick:()=>s(e.id),children:(0,z.jsx)(rl,{className:"h-3.5 w-3.5 text-muted-foreground"})})]})})]})}let j9={todo:0,in_progress:1,done:2,cancelled:3},ke={urgent:0,high:1,medium:2,low:3};function kt({tasks:e,onUpdate:r,onDelete:s,onArchive:i,onUnarchive:n,archivedView:o,worktrees:a,onAssign:l}){let[c,d]=(0,$.useState)(null),[u,h]=(0,$.useState)("asc"),[f,p]=(0,$.useState)(null),[m,g]=(0,$.useState)(!1),x=e=>{c===e?h(e=>"asc"===e?"desc":"asc"):(d(e),h("asc"))},v=(0,$.useMemo)(()=>{if(!c)return e;let r="asc"===u?1:-1;return[...e].sort((e,s)=>{switch(c){case"title":return r*e.title.localeCompare(s.title);case"status":return r*(j9[e.status]-j9[s.status]);case"priority":return r*(ke[e.priority]-ke[s.priority]);case"created_at":return r*(new Date(e.created_at).getTime()-new Date(s.created_at).getTime());default:return 0}})},[e,c,u]),_=e=>c!==e?null:"asc"===u?" ↑":" ↓",y=(0,$.useMemo)(()=>new Set(e.filter(e=>null!==e.assigned_branch).map(e=>e.assigned_branch)),[e]);return(0,z.jsxs)(z.Fragment,{children:[(0,z.jsxs)(le,{children:[(0,z.jsx)(lt,{children:(0,z.jsxs)(ls,{children:[(0,z.jsx)(li,{className:"w-10"}),(0,z.jsxs)(li,{className:"cursor-pointer select-none",onClick:()=>x("title"),children:["Title",_("title")]}),(0,z.jsxs)(li,{className:"cursor-pointer select-none w-32",onClick:()=>x("status"),children:["Status",_("status")]}),(0,z.jsxs)(li,{className:"cursor-pointer select-none w-28",onClick:()=>x("priority"),children:["Priority",_("priority")]}),(0,z.jsx)(li,{className:"w-32",children:"Assign"}),(0,z.jsxs)(li,{className:"cursor-pointer select-none w-28",onClick:()=>x("created_at"),children:["Created",_("created_at")]}),(0,z.jsx)(li,{className:"w-10"})]})}),(0,z.jsxs)(lr,{children:[v.map(e=>(0,z.jsx)(j7,{task:e,onUpdate:r,onDelete:s,onArchive:i,onUnarchive:n,archivedView:o,onClick:e=>{p(e),g(!0)},worktrees:a,assignedBranches:y,onAssign:l},e.id)),0===e.length&&(0,z.jsx)(ls,{children:(0,z.jsx)("td",{colSpan:7,className:"text-center text-muted-foreground py-12 text-sm",children:(0,z.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,z.jsx)("p",{className:"text-sm font-medium text-foreground/60",children:"No tasks yet"}),(0,z.jsx)("p",{className:"text-xs text-muted-foreground",children:"Create one to get started."})]})})})]})]}),(0,z.jsx)(ao,{task:f,open:m,onOpenChange:g})]})}function kr({open:e,onOpenChange:r,onSubmit:s}){let[i,n]=(0,$.useState)(""),[o,a]=(0,$.useState)("todo"),[l,c]=(0,$.useState)("medium");return(0,z.jsx)(t7,{open:e,onOpenChange:r,children:(0,z.jsxs)(rt,{className:"sm:max-w-md max-h-[85vh] flex flex-col",children:[(0,z.jsx)(rr,{children:(0,z.jsx)(ri,{children:"Create Task"})}),(0,z.jsxs)("form",{onSubmit:e=>{e.preventDefault(),i.trim()&&(s({description:i.trim(),status:o,priority:l}),n(""),a("todo"),c("medium"),r(!1))},className:"space-y-4 overflow-y-auto min-h-0 px-0.5",children:[(0,z.jsx)("div",{className:"space-y-2",children:(0,z.jsx)(ra,{placeholder:"Describe the task...",value:i,onChange:e=>n(e.target.value),className:"max-h-[40vh] focus-visible:border-input focus-visible:ring-0",rows:3,autoFocus:!0})}),(0,z.jsxs)("div",{className:"flex gap-3",children:[(0,z.jsxs)("div",{className:"flex-1 space-y-1",children:[(0,z.jsx)("label",{className:"text-xs text-muted-foreground",children:"Status"}),(0,z.jsxs)(l6,{value:o,onValueChange:e=>a(e),children:[(0,z.jsx)(l7,{children:(0,z.jsx)(l8,{})}),(0,z.jsx)(l9,{children:ai.map(e=>(0,z.jsx)(ce,{value:e,children:ar[e].label},e))})]})]}),(0,z.jsxs)("div",{className:"flex-1 space-y-1",children:[(0,z.jsx)("label",{className:"text-xs text-muted-foreground",children:"Priority"}),(0,z.jsxs)(l6,{value:l,onValueChange:e=>c(e),children:[(0,z.jsx)(l7,{children:(0,z.jsx)(l8,{})}),(0,z.jsx)(l9,{children:an.map(e=>(0,z.jsx)(ce,{value:e,children:as[e].label},e))})]})]})]}),(0,z.jsxs)(rs,{children:[(0,z.jsx)(W.Button,{type:"button",variant:"outline",onClick:()=>r(!1),children:"Cancel"}),(0,z.jsx)(W.Button,{type:"submit",disabled:!i.trim(),children:"Create"})]})]})]})})}let ks=[{value:"all",label:"All"},{value:"todo",label:"Todo"},{value:"in_progress",label:"Doing"},{value:"done",label:"Done"},{value:"cancelled",label:"Cancelled"},{value:"archived",label:"Archived"}];function ki({projectId:e,tasks:r,loading:s,worktrees:i,onCreateTask:n,onUpdateTask:o,onDeleteTask:a,onArchiveTask:l,onUnarchiveTask:c}){let[d,u]=(0,$.useState)(!1),[h,f]=(0,$.useState)("all"),p=(0,$.useMemo)(()=>r.filter(e=>null===e.archived_at),[r]),m=(0,$.useMemo)(()=>r.filter(e=>null!==e.archived_at),[r]),g=(0,$.useMemo)(()=>{let e={all:p.length,todo:0,in_progress:0,done:0,cancelled:0,archived:m.length};for(let r of p)e[r.status]++;return e},[p,m]),x=(0,$.useMemo)(()=>"archived"===h?m:"all"===h?p:p.filter(e=>e.status===h),[p,m,h]),v="archived"===h;return e?(0,z.jsxs)("div",{className:"flex flex-col h-full",children:[(0,z.jsx)(a8,{title:"Tasks",count:p.length,actions:(0,z.jsxs)(W.Button,{size:"sm",onClick:()=>u(!0),className:"shadow-sm",children:[(0,z.jsx)(eS,{className:"h-3.5 w-3.5 mr-1.5"}),"New Task"]})}),(0,z.jsx)(a7,{children:ks.map(e=>(0,z.jsx)(a9,{active:h===e.value,count:g[e.value],onClick:()=>f(e.value),children:e.label},e.value))}),(0,z.jsx)("div",{className:"flex-1 overflow-auto px-5 edge-scrollbar",children:s?(0,z.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:"Loading tasks..."}):(0,z.jsx)(kt,{tasks:x,onUpdate:o,onDelete:a,onArchive:l,onUnarchive:c,archivedView:v,worktrees:i,onAssign:(e,r)=>{o(e,{assigned_branch:r})}})}),(0,z.jsx)(kr,{open:d,onOpenChange:u,onSubmit:n})]}):(0,z.jsx)("div",{className:"flex items-center justify-center h-full text-muted-foreground",children:(0,z.jsxs)("div",{className:"text-center",children:[(0,z.jsx)("div",{className:"mx-auto w-10 h-10 rounded-xl bg-muted flex items-center justify-center mb-3",children:(0,z.jsx)(eS,{className:"h-5 w-5 text-muted-foreground/50"})}),(0,z.jsx)("p",{className:"text-sm",children:"Select a project to view tasks."})]})})}let kn={completed:"/sounds/sound1.mp3","main-completed":"/sounds/sound2.mp3"},ko="vibedeckx:completion-notifications";function ka(e){return"object"==typeof e&&null!==e&&"string"==typeof e.id&&"string"==typeof e.projectId&&("string"==typeof e.branch||null===e.branch)&&("completed"===e.type||"main-completed"===e.type)&&"number"==typeof e.at&&"boolean"==typeof e.read}let kl=new Map,kc=new Set,kd=(0,ew.default)("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]),ku=(0,ew.default)("check-check",[["path",{d:"M18 6 7 17l-5-5",key:"116fxf"}],["path",{d:"m22 10-7.5 7.5L13 16",key:"ke71qq"}]]),kh={completed:{label:"Agent finished",dot:"bg-lime-400"},"main-completed":{label:"Chat finished",dot:"bg-emerald-500"}};function kf({notifications:e,unreadCount:r,projects:s,onNavigate:i,markRead:n,markAllRead:o,remove:a,clear:l}){return(0,z.jsxs)(n8,{children:[(0,z.jsx)(n7,{asChild:!0,children:(0,z.jsxs)(W.Button,{variant:"ghost",size:"icon-sm",className:"relative","aria-label":r>0?`${r} unread completion notifications`:"Completion notifications",children:[(0,z.jsx)(kd,{className:"h-4 w-4"}),r>0&&(0,z.jsx)("span",{className:"absolute -top-0.5 -right-0.5 flex h-4 min-w-4 items-center justify-center rounded-full bg-primary px-1 text-[9px] font-semibold leading-none text-primary-foreground",children:r>9?"9+":r})]})}),(0,z.jsxs)(n9,{align:"end",className:"w-80 p-0",children:[(0,z.jsxs)("div",{className:"flex items-center justify-between px-3 py-2",children:[(0,z.jsx)("span",{className:"text-[12.5px] font-semibold text-foreground",children:"Notifications"}),e.length>0&&(0,z.jsxs)("div",{className:"flex items-center gap-1",children:[(0,z.jsxs)("button",{onClick:o,disabled:0===r,className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-[11px] text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-40",title:"Mark all read",children:[(0,z.jsx)(ku,{className:"h-3 w-3"}),"Mark all read"]}),(0,z.jsx)("button",{onClick:l,className:"rounded px-1.5 py-0.5 text-[11px] text-muted-foreground transition-colors hover:bg-muted hover:text-foreground",title:"Clear all",children:"Clear"})]})]}),(0,z.jsx)("div",{className:"max-h-[60vh] overflow-y-auto border-t border-border",children:0===e.length?(0,z.jsx)("div",{className:"px-3 py-8 text-center text-[12px] text-muted-foreground/70",children:"No completions yet."}):e.map(e=>{let r,o=kh[e.type];return(0,z.jsxs)(oe,{onSelect:()=>{n(e.id),i(e.projectId,e.branch)},className:(0,ey.cn)("group flex flex-col items-start gap-0.5 rounded-none px-3 py-2",!e.read&&"bg-primary/[0.08]"),children:[(0,z.jsxs)("div",{className:"flex w-full items-center gap-2",children:[(0,z.jsx)("span",{className:(0,ey.cn)("h-[7px] w-[7px] shrink-0 rounded-full",o.dot)}),(0,z.jsx)("span",{className:(0,ey.cn)("min-w-0 flex-1 truncate text-[12.5px]",e.read?"text-foreground/70":"font-medium text-foreground"),children:(r=e.projectId,s.find(e=>e.id===r)?.name??"Unknown project")}),(0,z.jsx)("span",{className:"shrink-0 text-[10.5px] text-muted-foreground/70",children:function(e){let r=Math.max(0,Math.round((Date.now()-e)/1e3));if(r<60)return"just now";let s=Math.round(r/60);if(s<60)return`${s}m ago`;let i=Math.round(s/60);if(i<24)return`${i}h ago`;let n=Math.round(i/24);return`${n}d ago`}(e.at)}),(0,z.jsx)("button",{onClick:r=>{r.stopPropagation(),a(e.id)},className:"shrink-0 rounded p-0.5 text-muted-foreground/60 opacity-0 transition-all hover:bg-muted hover:text-foreground group-hover:opacity-100",title:"Dismiss",children:(0,z.jsx)(t8,{className:"h-3 w-3"})})]}),(0,z.jsxs)("div",{className:"flex w-full items-center gap-1.5 pl-[15px] text-[11px] text-muted-foreground",children:[(0,z.jsx)("span",{className:"font-mono truncate",children:e.branch??"main"}),(0,z.jsx)("span",{className:"text-muted-foreground/50",children:"·"}),(0,z.jsx)("span",{className:"shrink-0",children:o.label})]})]},e.id)})})]})]})}function kp(e){if(null===e)return"尚未连接";let r=Math.max(0,Math.round((Date.now()-e)/1e3));if(r<60)return`${r} 秒前`;let s=Math.floor(r/60);return s<60?`${s} 分钟前`:`${Math.floor(s/60)} 小时前`}function km(){let{state:e,lastEventAt:r,reconnect:s}=(0,ap.useConnectionStatus)(),[,i]=(0,$.useState)(0);if((0,$.useEffect)(()=>{let e=setInterval(()=>i(e=>e+1),5e3);return()=>clearInterval(e)},[]),"stale"===e)return(0,z.jsxs)("button",{type:"button",onClick:s,title:`实时更新已断开 \xb7 上次更新 ${kp(r)} \xb7 点击重新连接`,className:"flex items-center gap-1.5 rounded-full border border-amber-500/40 bg-amber-500/10 px-2 py-0.5 text-[11px] font-medium text-amber-600 transition-colors hover:bg-amber-500/20",children:[(0,z.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-amber-500"}),"实时更新已断开"]});let n="live"===e;return(0,z.jsx)("span",{title:n?`实时更新正常 \xb7 上次更新 ${kp(r)}`:"正在连接实时更新…",className:"flex items-center px-1","aria-label":n?"实时更新正常":"正在连接实时更新",children:(0,z.jsx)("span",{className:n?"h-1.5 w-1.5 rounded-full bg-emerald-500":"h-1.5 w-1.5 animate-pulse rounded-full bg-muted-foreground/40"})})}let kg=new Set(["workspace","tasks","schedules","remote-servers","settings","project-info"]),kx="tasks";function kv(){let e=window.location.pathname,r=new URLSearchParams(window.location.search),s=r.get("project");if(s){let e=r.get("tab");return{projectId:s,tab:e&&kg.has(e)?e:kx,branch:r.get("branch")}}let i=e.split("/").filter(Boolean);if(1===i.length&&kg.has(i[0])){let e=i[0];if("remote-servers"===e||"settings"===e)return{projectId:null,tab:e,branch:null}}let n=null,o=kx;if("p"===i[0]&&i[1]){n=i[1];let e=i[2];e&&kg.has(e)&&(o=e)}return{projectId:n,tab:o,branch:r.get("branch")}}function k_(e){let{projectId:r,tab:s,branch:i}=e;if("remote-servers"===s||"settings"===s)return`/${s}`;if(!r)return"/";let n=`/p/${r}/${s??kx}`;return i&&(n+=`?branch=${encodeURIComponent(i)}`),n}function ky(e,r,s,i){return!!e&&e.projectId===r&&e.branch===s&&e.sessionId===i}function kb(){var e,r;let s,{projectId:i,tab:n,branch:o}=function(){let[e,r]=(0,$.useState)(kv);return(0,$.useEffect)(()=>{let e=()=>r(kv());return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]),e}(),[a,l]=(0,$.useState)(()=>new URLSearchParams(window.location.search).get("session")),[c,d]=(0,$.useState)(null),u=(0,$.useCallback)(e=>{l(e);let r=new URL(window.location.href);e?r.searchParams.set("session",e):r.searchParams.delete("session"),window.history.replaceState(null,"",r.toString())},[]);(0,$.useEffect)(()=>{let e=()=>{l(new URLSearchParams(window.location.search).get("session"))};return window.addEventListener("popstate",e),()=>window.removeEventListener("popstate",e)},[]),(0,$.useEffect)(()=>{if(new URLSearchParams(window.location.search).has("project")){let e=k_({projectId:i,tab:n,branch:o});window.history.replaceState(null,"",e)}},[]);let[h,f]=(0,$.useState)(!1),[p,m]=(0,$.useState)(!1),[g,x]=(0,$.useState)(!1),[v,_]=(0,$.useState)(null),[y,b]=(0,$.useState)(o),[w,S]=(0,$.useState)(n),[C,j]=(0,$.useState)(0),k=(0,$.useRef)(null),[N,D]=(0,$.useState)(void 0),[E,R]=(0,$.useTransition)(),{projects:A,currentProject:F,loading:M,addProject:T,createProject:P,updateProject:B,deleteProject:L,selectProject:I}=function(e){let[r,s]=(0,$.useState)([]),[i,n]=(0,$.useState)(null),[o,a]=(0,$.useState)(!0),l=(0,$.useCallback)(async()=>{a(!0);try{let r=await rx.api.getProjects();if(s(r),r.length>0&&!i){let s=e?r.find(r=>r.id===e):null;n(s??r[0])}}finally{a(!1)}},[i,e]);(0,$.useEffect)(()=>{l()},[]);let c=async(e,r)=>{let o=await rx.api.updateProject(e,r);return s(r=>r.map(r=>r.id===e?o:r)),i?.id===e&&n(o),o},d=async e=>{await rx.api.deleteProject(e),s(r=>r.filter(r=>r.id!==e)),i?.id===e&&n(r.find(r=>r.id!==e)??null)};return{projects:r,currentProject:i,loading:o,addProject:e=>{s(r=>[e,...r]),n(e)},createProject:async e=>{let r=await rx.api.createProject(e);return s(e=>[r,...e]),n(r),r},updateProject:c,deleteProject:d,selectProject:e=>{n(e)},refresh:l}}(i);F?.id!==N&&(void 0!==N&&b(null),D(F?.id));let{worktrees:O,loading:H,refetch:U}=function(e){let[r,s]=(0,$.useState)([]),[i,n]=(0,$.useState)(!0),o=(0,$.useCallback)(async()=>{if(!e){s([]),n(!1);return}n(!0);try{let r=await rx.api.getProjectWorktrees(e);s(r)}catch(e){console.error("Failed to fetch worktrees:",e),s([{branch:null}])}finally{n(!1)}},[e]);return(0,$.useEffect)(()=>{o()},[o]),{worktrees:r,loading:i,refetch:o}}(F?.id??null),K=function(e,r,s){let i=(0,$.useMemo)(()=>r?.map(e=>e.branch)??[],[r]),[n,o]=(0,$.useState)([]),a=(0,$.useCallback)(async()=>{e&&0!==i.length?o((await Promise.all(i.map(async r=>(await (0,rx.listBranchSessions)(e,r)).sessions.filter(e=>e.processAlive).map(s=>({id:s.id,projectId:e,branch:r,title:s.title?.trim()||"New Session",status:s.status,processAlive:!0,updated_at:s.updated_at}))))).flat()):o([])},[i,e]);return(0,$.useEffect)(()=>{let e=!1;return a().catch(r=>{e||console.warn("[ResidentSessions] refresh failed:",r)}),()=>{e=!0}},[a]),(0,$.useEffect)(()=>{s&&s.processAlive&&e&&s.projectId===e&&o(e=>(function(e,r){let s=e.findIndex(e=>e.id===r.id);if(-1===s)return[r,...e];let i=e[s],n="New Session"===r.title&&"New Session"!==i.title?i.title:r.title,o=[...e];return o[s]={...r,title:n},o})(e,s))},[e,s]),(0,ap.useGlobalEventStream)(r=>{if(e&&r.projectId===e){if("session:process"===r.type){let e="string"==typeof r.sessionId?r.sessionId:null,s="boolean"==typeof r.alive?r.alive:null,i="string"==typeof r.branch?r.branch:null;if(!e||null===s)return;if(!s)return void o(r=>r.filter(r=>r.id!==e));a().catch(e=>console.warn("[ResidentSessions] process refresh failed:",e)),null!==i&&o(r=>r.map(r=>r.id===e?{...r,branch:i}:r))}if("session:status"===r.type){let e="string"==typeof r.sessionId?r.sessionId:null,s="string"==typeof r.status?r.status:null;if(!e||!s)return;o(r=>r.map(r=>r.id===e?{...r,status:s}:r))}}}),(0,$.useMemo)(()=>{let e=new Map;for(let r of n){let s=r.branch??"",i=e.get(s)??[];i.push(r),e.set(s,i)}for(let r of e.values())r.sort((e,r)=>(r.updated_at??"").localeCompare(e.updated_at??""));return e},[n])}(F?.id??null,O,c),{tasks:q,loading:V,createTask:Y,updateTask:G,deleteTask:X,archive:J,unarchive:Z,refetch:Q}=function(e){let[r,s]=(0,$.useState)([]),[i,n]=(0,$.useState)(!0),o=(0,$.useCallback)(async()=>{if(!e){s([]),n(!1);return}try{let r=await rx.api.getTasks(e,{includeArchived:!0});s(r)}catch(e){console.error("Failed to fetch tasks:",e)}finally{n(!1)}},[e]);(0,$.useEffect)(()=>{o()},[o]);let a=(0,$.useCallback)(async r=>{if(!e)return null;try{let i=await rx.api.createTask(e,r);return s(e=>[...e,i]),i}catch(e){return console.error("Failed to create task:",e),null}},[e]),l=(0,$.useCallback)(async(e,i)=>{s(r=>r.map(r=>r.id===e?{...r,...i,updated_at:new Date().toISOString()}:r));try{let r=await rx.api.updateTask(e,i);return s(s=>s.map(s=>s.id===e?r:s)),r}catch(e){return console.error("Failed to update task:",e),s(r),null}},[r]),c=(0,$.useCallback)(async e=>{s(r=>r.filter(r=>r.id!==e));try{await rx.api.deleteTask(e)}catch(e){console.error("Failed to delete task:",e),s(r)}},[r]),d=(0,$.useCallback)(async e=>{s(r=>r.map(r=>r.id===e?{...r,archived_at:Date.now()}:r));try{let r=await rx.api.archiveTask(e);s(s=>s.map(s=>s.id===e?r:s))}catch(e){console.error("Failed to archive task:",e),s(r)}},[r]),u=(0,$.useCallback)(async e=>{s(r=>r.map(r=>r.id===e?{...r,archived_at:null}:r));try{let r=await rx.api.unarchiveTask(e);s(s=>s.map(s=>s.id===e?r:s))}catch(e){console.error("Failed to unarchive task:",e),s(r)}},[r]),h=(0,$.useCallback)(async i=>{if(e){s(i.map(e=>r.find(r=>r.id===e)).filter(e=>void 0!==e));try{await rx.api.reorderTasks(e,i)}catch(e){console.error("Failed to reorder tasks:",e),s(r)}}},[e,r]);return{tasks:r,loading:i,createTask:a,updateTask:l,deleteTask:c,archive:d,unarchive:u,reorderTasks:h,refetch:o}}(F?.id??null),{schedules:ee,loading:et,createSchedule:er,updateSchedule:es,deleteSchedule:ei,runNow:en}=function(e){let[r,s]=(0,$.useState)([]),[i,n]=(0,$.useState)(!1),o=(0,$.useRef)(e),a=(0,$.useRef)(0),l=(0,$.useCallback)(async(e,r,i)=>{if(!e){a.current===r&&(s([]),n(!1));return}i&&n(!0);try{let i=await rx.api.getSchedules(e);a.current===r&&s(i)}catch(e){console.error("Failed to fetch schedules:",e)}finally{i&&a.current===r&&n(!1)}},[]);(0,$.useEffect)(()=>{o.current=e,a.current+=1,l(e,a.current,!0)},[e,l]);let c=(0,$.useCallback)(async()=>{let e=o.current;e&&await l(e,a.current,!1)},[l]),d=(0,$.useRef)(c);(0,$.useEffect)(()=>{d.current=c},[c]),(0,ap.useGlobalEventStream)(e=>{!e.type?.startsWith("schedule:")||o.current&&e.projectId===o.current&&d.current()});let u=(0,$.useCallback)(async r=>{if(!e)throw Error("No project selected");let s=await rx.api.createSchedule(e,r);return await c(),s},[e,c]),h=(0,$.useCallback)(async(e,r)=>{let s=await rx.api.updateSchedule(e,r);return await c(),s},[c]),f=(0,$.useCallback)(async e=>{await rx.api.deleteSchedule(e),await c()},[c]),p=(0,$.useCallback)(async e=>{let r=await rx.api.runScheduleNow(e);return await c(),r},[c]);return{schedules:r,loading:i,refetch:c,createSchedule:u,updateSchedule:h,deleteSchedule:f,runNow:p}}(F?.id??null),[eo,ea]=(0,$.useState)(null),[el,ec]=(0,$.useState)(!1),{activity:ed,since:eu,refetch:eh,setOptimisticActivity:ef}=function(e){let[r,s]=(0,$.useState)(new Map),[i,n]=(0,$.useState)(new Map),o=(0,$.useRef)(new Map),a=(0,$.useRef)(new Map),l=(0,$.useRef)(null),c=(0,$.useCallback)(async()=>{if(!e){s(new Map),n(new Map),a.current=new Map,l.current=null,o.current=new Map;return}try{let r=await (0,rx.authFetch)(`${"localhost"===window.location.hostname&&"3000"===window.location.port?"http://localhost:5173":""}/api/projects/${e}/branches/activity`);if(!r.ok)return;let i=await r.json(),c=l.current!==e,{nextActivity:d,nextSince:u}=function(e,r,s,i){let n=new Map,o=new Map,a=[];for(let l of e){let e=l.branch??"",c=s.get(e)??0;if(!i&&l.since<c){let s=r.get(e);if(void 0!==s){n.set(e,s),o.set(e,c);continue}}n.set(e,l.activity),o.set(e,l.since),i||r.get(e)===l.activity||a.push(l.branch)}return{nextActivity:n,nextSince:o,transitions:a}}(i.branches,a.current,o.current,c);s(d),n(u),a.current=d,l.current=e,o.current=u}catch{}},[e]);return(0,$.useEffect)(()=>{c()},[c]),(0,ap.useGlobalEventStream)(r=>{var i,l,c;let d,u;if("branch:activity"!==r.type||!e||r.projectId!==e)return;let h=(i=r,l=a.current,c=o.current,d=i.branch??"",u=c.get(d)??0,i.since<u?{kind:"stale"}:l.get(d)===i.activity?{kind:"redundant",key:d}:{kind:"transition",key:d});"stale"===h.kind||(o.current.set(h.key,r.since),n(new Map(o.current)),"redundant"!==h.kind&&s(e=>{let s=new Map(e);return s.set(h.key,r.activity),a.current=s,s}))}),{activity:r,since:i,refetch:c,setOptimisticActivity:(0,$.useCallback)((e,r)=>{s(s=>{let i=function(e,r,s){let i=r??"";if(e.get(i)===s)return e;let n=new Map(e);return n.set(i,s),n}(s,e,r);return a.current=i,i})},[])}}(F?.id??null),{rules:ep,createRule:em,updateRule:eg,deleteRule:ex}=function(e,r){let[s,i]=(0,$.useState)([]),[n,o]=(0,$.useState)(!0),a=(0,$.useCallback)(async()=>{if(!e){i([]),o(!1);return}try{let s=await rx.api.getRules(e,r);i(s)}catch(e){console.error("Failed to fetch rules:",e)}finally{o(!1)}},[e,r]);(0,$.useEffect)(()=>{a()},[a]);let l=(0,$.useCallback)(async s=>{if(!e)return null;try{let n=await rx.api.createRule(e,{...s,branch:r});return i(e=>[...e,n]),n}catch(e){return console.error("Failed to create rule:",e),null}},[e,r]),c=(0,$.useCallback)(async(e,r)=>{i(s=>s.map(s=>s.id===e?{...s,...r,enabled:void 0!==r.enabled?+!!r.enabled:s.enabled,updated_at:new Date().toISOString()}:s));try{let s=await rx.api.updateRule(e,r);return i(r=>r.map(r=>r.id===e?s:r)),s}catch(e){return console.error("Failed to update rule:",e),i(s),null}},[s]),d=(0,$.useCallback)(async e=>{i(r=>r.filter(r=>r.id!==e));try{await rx.api.deleteRule(e)}catch(e){console.error("Failed to delete rule:",e),i(s)}},[s]);return{rules:s,loading:n,createRule:l,updateRule:c,deleteRule:d,refetch:a}}(F?.id??null,y),{commands:ev,createCommand:e_,updateCommand:ey,deleteCommand:eb}=function(e,r){let[s,i]=(0,$.useState)([]),[n,o]=(0,$.useState)(!0),a=(0,$.useCallback)(async()=>{if(!e){i([]),o(!1);return}try{let s=await rx.api.getCommands(e,r);i(s)}catch(e){console.error("Failed to fetch commands:",e)}finally{o(!1)}},[e,r]);(0,$.useEffect)(()=>{a()},[a]);let l=(0,$.useCallback)(async s=>{if(!e)return null;try{let n=await rx.api.createCommand(e,{...s,branch:r});return i(e=>[...e,n]),n}catch(e){return console.error("Failed to create command:",e),null}},[e,r]),c=(0,$.useCallback)(async(e,r)=>{i(s=>s.map(s=>s.id===e?{...s,...r,updated_at:new Date().toISOString()}:s));try{let s=await rx.api.updateCommand(e,r);return i(r=>r.map(r=>r.id===e?s:r)),s}catch(e){return console.error("Failed to update command:",e),i(s),null}},[s]),d=(0,$.useCallback)(async e=>{i(r=>r.filter(r=>r.id!==e));try{await rx.api.deleteCommand(e)}catch(e){console.error("Failed to delete command:",e),i(s)}},[s]);return{commands:s,loading:n,createCommand:l,updateCommand:c,deleteCommand:d,refetch:a}}(F?.id??null,y),ew=(0,$.useRef)(null),eC=(0,$.useSyncExternalStore)(Ss,Si,Sn),ej=F?.id??null,ek=F?.agent_mode??null,eN=(0,$.useCallback)(e=>!!ej&&eC.has(So(ej,e,ek)),[eC,ej,ek]),eD=(0,$.useCallback)(e=>{if(ej)return eC.get(So(ej,e,ek))},[eC,ej,ek]),eE=(0,$.useCallback)(e=>eu.get(sd(e)),[eu]),eR=(0,$.useMemo)(()=>(function(e,r,s,i){let n=new Map;if(!e)return n;for(let o of e){let e=sd(o.branch),a=r.get(e);if(!s?.(o.branch)){n.set(e,a??"idle");continue}if("main-running"===a)n.set(e,"main-running");else if("main-completed"===a){let r=i?.backendSince?.(o.branch)??0,s=i?.placeholderSince?.(o.branch)??0;n.set(e,s>r?"idle":"main-completed")}else n.set(e,"idle")}return n})(O,ed,eN,{backendSince:eE,placeholderSince:eD}),[O,ed,eN,eE,eD]),{notifications:eA,unreadCount:eF,markRead:eM,markAllRead:eT,remove:eP,clear:eB}=function(e){let[r,s]=(0,$.useState)([]),i=(0,$.useRef)(new Map);(0,$.useEffect)(()=>{for(let e of Object.values(kn))kl.has(e)||kc.has(e)||(kc.add(e),(async()=>{try{let r=await fetch(e),s=await r.blob(),i=new Audio(URL.createObjectURL(s));i.preload="auto",i.load(),kl.set(e,i),console.log(`[sound-preload-debug] warmed ${e} bytes=${s.size}`)}catch(r){console.log(`[sound-preload-debug] warm failed ${e}`,r)}finally{kc.delete(e)}})())},[]);let n=(0,$.useRef)(e);(0,$.useEffect)(()=>{n.current=e},[e]),(0,$.useEffect)(()=>{e&&s(r=>r.some(r=>r.id===e&&!r.read)?r.map(r=>r.id===e?{...r,read:!0}:r):r)},[e,r]),(0,ap.useGlobalEventStream)(e=>{var r,o,a,l;let c;if("branch:activity"!==e.type)return;let d=(r=e.projectId,o=e.branch,`${r}:${o??""}`),u=i.current.get(d)!==e.activity;if(i.current.set(d,e.activity),!u||"completed"!==(a=e.activity)&&"main-completed"!==a)return;let h=e.activity;l=kn[h],(c=kl.get(l))||((c=new Audio(l)).preload="auto",kl.set(l,c)),c.currentTime=0,console.log(`[sound-preload-debug] play ${l} readyState=${c.readyState}`),c.play().catch(()=>{});let f=n.current===d;s(r=>[{id:d,projectId:e.projectId,branch:e.branch,type:h,at:e.since,read:f},...r.filter(e=>e.id!==d)].slice(0,50))}),(0,$.useEffect)(()=>{let e=function(){try{let e=window.localStorage.getItem(ko);if(!e)return[];let r=JSON.parse(e);if(!Array.isArray(r))return[];return r.filter(ka).slice(0,50)}catch{return[]}}();0!==e.length&&s(r=>{if(0===r.length)return e;let s=new Set(r.map(e=>e.id));return[...r,...e.filter(e=>!s.has(e.id))].slice(0,50)})},[]);let o=(0,$.useRef)(!1);(0,$.useEffect)(()=>{if(!o.current){o.current=!0;return}try{window.localStorage.setItem(ko,JSON.stringify(r))}catch{}},[r]);let a=(0,$.useCallback)(e=>{s(r=>r.map(r=>r.id===e?{...r,read:!0}:r))},[]),l=(0,$.useCallback)(()=>{s(e=>e.some(e=>!e.read)?e.map(e=>({...e,read:!0})):e)},[]),c=(0,$.useCallback)(e=>{s(r=>r.filter(r=>r.id!==e))},[]),d=(0,$.useCallback)(()=>{s(e=>e.length?[]:e)},[]),u=r.reduce((e,r)=>e+ +!r.read,0);return{notifications:r,unreadCount:u,markRead:a,markAllRead:l,remove:c,clear:d}}(F&&"workspace"===w?`${F.id}:${y??""}`:null),eL=(0,$.useCallback)(()=>{ef(y,"working")},[y,ef]),eI=(0,$.useRef)(null),eO=(0,$.useCallback)(()=>{Q()},[Q]),ez=(0,$.useCallback)(e=>{eI.current={projectId:F?.id,branch:e.branch,sessionId:e.id},b(e.branch),u(e.id),S("workspace"),j(e=>e+1)},[F?.id,u]),e$=(0,$.useCallback)(e=>{eh(),!1!==e.processAlive&&d({id:e.id,projectId:e.projectId,branch:e.branch,title:"New Session",status:e.status,processAlive:!0,updated_at:new Date().toISOString()})},[eh]),eW=(0,$.useCallback)((e,r)=>{F?.id&&r.trim()&&d(s=>({id:e,projectId:F.id,branch:s?.id===e?s.branch:y,title:r,status:s?.id===e?s.status:"running",processAlive:!0,updated_at:s?.id===e?s.updated_at:new Date().toISOString()}))},[F?.id,y]),eH=(0,$.useCallback)(()=>{ef(y,"idle")},[y,ef]),eU=(0,$.useCallback)(()=>{Q()},[Q]);e=F?.id??null,r={onTaskChanged:eU},s=(0,$.useRef)(r.onTaskChanged),(0,$.useEffect)(()=>{s.current=r.onTaskChanged}),(0,ap.useGlobalEventStream)(r=>{e&&r.projectId===e&&("task:created"===r.type||"task:updated"===r.type||"task:deleted"===r.type)&&s.current?.()});let eK=(0,$.useMemo)(()=>{let e=sd(y);return q.find(r=>r.assigned_branch===e)??null},[q,y]);(0,$.useCallback)(e=>{R(async()=>{await k.current?.submitMessage(e.description??e.title)})},[]),(0,$.useCallback)(e=>{G(e,{assigned_branch:null})},[G]);let eq=(0,$.useRef)(void 0);(0,$.useEffect)(()=>{if(H||0===O.length)return;let e=eq.current;if(void 0!==e){if(O.some(r=>r.branch===e)){eq.current=void 0,b(e);return}eq.current=void 0}O.some(e=>e.branch===y)||b(O[0].branch)},[O,H,y]);let eV=(0,$.useCallback)((e,r)=>{if(S("workspace"),e===F?.id)return void b(r);let s=A.find(r=>r.id===e);s&&(eq.current=r,I(s))},[F?.id,A,I]),eY=(0,$.useRef)(y),eG=(0,$.useRef)(F?.id),eX=(0,$.useRef)(!1);(0,$.useEffect)(()=>{if(M)return;let e=!eX.current,r=!e&&eY.current!==y,s=!e&&eG.current!==F?.id;eY.current=y,eG.current=F?.id,eX.current=!0;let i=eI.current;if(ky(i,F?.id,y,a)&&(eI.current=null),function({branchChanged:e,projectChanged:r,urlSessionId:s,pendingSessionSelection:i,currentProjectId:n,selectedBranch:o}){return(!!e||!!r)&&!!s&&!ky(i,n,o,s)}({branchChanged:r,projectChanged:s,urlSessionId:a,pendingSessionSelection:i,currentProjectId:F?.id,selectedBranch:y})){eI.current=null,u(null);return}let n=k_({projectId:F?.id,tab:w,branch:y});if(a){let e=new URL(n,window.location.origin);e.searchParams.set("session",a),window.history.replaceState(null,"",e.pathname+e.search)}else window.history.replaceState(null,"",n)},[F?.id,w,y,M,a,u]);let eJ=(0,$.useCallback)(e=>{U(),b(e)},[U]);(0,$.useCallback)((e,r)=>{F&&r!==F.agent_mode?B(F.id,{agentMode:r}).then(()=>{k.current?.submitMessage(e)}):k.current?.submitMessage(e)},[F,B]);let eZ=(0,$.useRef)({content:"",at:0}),eQ=(0,$.useCallback)(e=>{let r=Date.now(),s=eZ.current;s.content===e&&r-s.at<600||(eZ.current={content:e,at:r},ew.current?.sendMessage(e))},[]),e0=(0,$.useCallback)(()=>{let e=`Please perform the following git operations for this worktree:
|
|
29
|
+
|
|
30
|
+
1. Commit all current uncommitted changes with an appropriate commit message
|
|
31
|
+
2. Fetch the latest changes from the remote main branch
|
|
32
|
+
3. Rebase the current branch onto main (resolve any conflicts if needed)
|
|
33
|
+
4. Merge the current branch into main
|
|
34
|
+
|
|
35
|
+
Please proceed step by step and let me know if there are any issues or conflicts that need manual resolution.`;k.current?.submitMessage(e)},[]),e1=(0,$.useCallback)(async e=>{if(F)try{await B(F.id,{agentMode:e})}catch(e){console.error("Failed to update agent mode:",e)}},[F,B]),e2=(0,$.useCallback)(async e=>{if(F)try{await B(F.id,{executorMode:e})}catch(e){console.error("Failed to update executor mode:",e)}},[F,B]),e5=!F;return(0,z.jsxs)("div",{className:"h-screen flex flex-col w-full",children:[(0,z.jsxs)("div",{className:"border-b border-border bg-card px-3 h-[44px] flex items-center justify-between sticky top-0 z-10",children:[(0,z.jsxs)("div",{className:"flex items-center gap-[9px]",children:[(0,z.jsx)(dS.Logo,{size:22}),(0,z.jsxs)("h1",{className:"text-[13px] font-semibold tracking-tight text-foreground",children:["VibeDeck",(0,z.jsx)("span",{className:"text-primary font-bold",children:"X"})]})]}),(0,z.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,z.jsx)(km,{}),(0,z.jsx)(kf,{notifications:eA,unreadCount:eF,projects:A,onNavigate:eV,markRead:eM,markAllRead:eT,remove:eP,clear:eB}),(0,z.jsx)(dw,{})]})]}),(0,z.jsxs)("div",{className:"flex-1 flex overflow-hidden",children:[(0,z.jsx)(a6,{activeView:w,onViewChange:S,worktrees:O,selectedBranch:y,onBranchChange:b,currentProject:F,onCreateWorktreeOpen:()=>m(!0),onDeleteWorktree:e=>{_(e),x(!0)},workspaceStatuses:eR,residentSessions:K,selectedSessionId:a,onResidentSessionSelect:ez,hasProject:!e5,projects:A,onSelectProject:I,onCreateProjectOpen:()=>f(!0),schedules:ee,selectedScheduleId:eo,onScheduleSelect:e=>{ea(e),S("schedules")},onCreateScheduleOpen:()=>{S("schedules"),ec(!0)}}),(0,z.jsx)("div",{className:e5&&("workspace"===w||"tasks"===w||"project-info"===w)?"flex-1 overflow-hidden":"hidden",children:(0,z.jsx)("div",{className:"h-full flex items-center justify-center bg-background",children:(0,z.jsxs)("div",{className:"text-center space-y-6",children:[(0,z.jsx)("div",{className:"mx-auto w-16 h-16 rounded-2xl bg-primary/10 flex items-center justify-center",children:(0,z.jsx)(eS,{className:"h-8 w-8 text-primary"})}),(0,z.jsx)("h1",{className:"text-3xl font-bold tracking-tight text-foreground",children:"Welcome to VibeDeckX"}),(0,z.jsx)("p",{className:"text-muted-foreground max-w-sm mx-auto leading-relaxed",children:"Create your first project to get started with AI-powered development."}),(0,z.jsxs)(W.Button,{variant:"accent",size:"lg",onClick:()=>f(!0),className:"shadow-md",children:[(0,z.jsx)(eS,{className:"h-5 w-5 mr-2"}),"Create Project"]})]})})}),(0,z.jsx)("div",{className:"workspace"!==w||e5?"hidden":"flex-1 overflow-hidden flex",children:(0,z.jsx)(vw,{projectId:F?.id??void 0,children:(0,z.jsxs)(_7,{direction:"horizontal",autoSaveId:"workspace-panels",children:[(0,z.jsx)(_t,{defaultSize:33,minSize:25,children:(0,z.jsxs)("div",{className:"h-full flex flex-col overflow-hidden",children:[F&&(0,z.jsx)("div",{className:"px-4 py-3 border-b border-border/60 flex-shrink-0",children:(0,z.jsx)(rg,{assignedTask:eK,rules:ep,commands:ev,onCreateRule:em,onUpdateRule:eg,onDeleteRule:ex,onCreateCommand:e_,onUpdateCommand:ey,onDeleteCommand:eb,onExecuteCommand:eQ,onUpdateTaskTitle:(e,r)=>G(e,{title:r}),onCompleteTask:e=>{G(e,{status:"done",assigned_branch:null})}})}),(0,z.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,z.jsx)(j4,{ref:ew,projectId:F?.id??null,branch:y})})]})}),(0,z.jsx)(_9,{withHandle:!0}),(0,z.jsx)(_t,{defaultSize:67,minSize:25,children:(0,z.jsx)("div",{className:"h-full flex flex-col overflow-hidden",children:(0,z.jsx)(wy,{active:"workspace"===w,projectId:F?.id??null,selectedBranch:y,activateAgentTabNonce:C,onMergeRequest:e0,project:F,onExecutorModeChange:e2,agentSlot:(0,z.jsx)(jY,{ref:k,projectId:F?.id??null,branch:y,sessionId:a,setSessionUrlParam:u,project:F,onAgentModeChange:e1,onTaskCompleted:eO,onSessionStarted:e$,onSessionTitleUpdated:eW,onStatusChange:eL,onNewConversation:eH})})})})]})})}),(0,z.jsx)("div",{className:"tasks"!==w||e5?"hidden":"flex-1 overflow-hidden",children:(0,z.jsx)(ki,{projectId:F?.id??null,tasks:q,loading:V,worktrees:O,onCreateTask:Y,onUpdateTask:G,onDeleteTask:X,onArchiveTask:J,onUnarchiveTask:Z})}),"project-info"===w&&!e5&&F&&(0,z.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,z.jsx)(af,{project:F,tasks:q,worktrees:O,selectedBranch:y,workspaceStatuses:eR,onSelectBranch:e=>{b(e),S("workspace")},onProjectUpdated:B})}),"schedules"===w&&!e5&&F&&(0,z.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,z.jsx)(cc,{projectId:F?.id??"",schedules:ee,loading:et,selectedId:eo,onSelect:ea,worktrees:O,onCreate:er,onUpdate:es,onDelete:async e=>{await ei(e),eo===e&&ea(null)},onRunNow:en,createOpen:el,onCreateOpenChange:ec})}),"remote-servers"===w&&(0,z.jsx)("div",{className:"flex-1 overflow-hidden",children:(0,z.jsxs)("div",{className:"h-full flex flex-col overflow-auto",children:[(0,z.jsx)(a8,{title:"Remote Servers"}),(0,z.jsx)("div",{className:"flex-1 px-6 py-5 flex justify-center",children:(0,z.jsx)("div",{className:"w-full max-w-2xl",children:(0,z.jsx)(dv,{})})})]})}),(0,z.jsx)("div",{className:"settings"!==w?"hidden":"flex-1 overflow-hidden",children:(0,z.jsx)(df,{})})]}),F&&(0,z.jsx)(d_,{projectId:F.id,project:F,open:p,onOpenChange:m,onWorktreeCreated:eJ}),(0,z.jsx)(cu,{open:h,onOpenChange:f,onProjectCreated:e=>{T(e),S("project-info")}}),F&&(0,z.jsx)(dy,{projectId:F.id,worktree:v,open:g,onOpenChange:x,onWorktreeDeleted:U})]})}e.s(["default",()=>kb],837031)}]);
|