@gbasin/agentboard-darwin-x64 0.4.24 → 0.4.26

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.
@@ -207,7 +207,7 @@ ${s.join(`
207
207
  pointer-events: none;
208
208
  max-width: 400px;
209
209
  word-break: break-all;
210
- `,x=document.createElement(`div`),m.appendChild(x),D=document.createElement(`div`),D.style.color=`var(--text-muted)`,D.style.marginTop=`2px`,D.style.fontSize=`11px`,m.appendChild(D),C.current=m);let k=(e,t)=>{if(!r.element||!m||!x||!D)return;let n=uH(t);if(!n)return;let i=r.element.getBoundingClientRect(),a=n.length>60?n.slice(0,57)+`...`:n;x.textContent=a,D.textContent=`${dH()?`⌘`:`Ctrl`}+click to open`,m.style.left=`${e.clientX-i.left+10}px`,m.style.top=`${e.clientY-i.top+10}px`,m.style.display=`block`},M=()=>{m&&(m.style.display=`none`)},N=null,F=!1,L=null,ee={activate:(e,t)=>{if(!F&&(e.metaKey||e.ctrlKey)){let e=uH(t);if(!e)return;window.open(e,`_blank`,`noopener`)}},hover:(e,t)=>{N=uH(t)||null,k(e,t)},leave:()=>{N=null,M()}},R=e=>{N&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),e.stopPropagation(),F=!0,window.open(N,`_blank`,`noopener`),L&&clearTimeout(L),L=setTimeout(()=>{F=!1},100))};t.addEventListener(`mousedown`,R,!0),r.options.linkHandler=ee;let B=new yz((e,t)=>ee.activate(e,t),{urlRegex:oH,hover:(e,t)=>ee.hover(e,t),leave:()=>ee.leave()});r.loadAddon(B),S.current=B;let te=null,V=null,W=dH()?`metaKey`:`ctrlKey`,re=(e,t)=>{t&&H.current===e&&ne.current===e&&oe.current({type:`terminal-input`,sessionId:e,data:t})};r.attachCustomKeyEventHandler(e=>{if(e.type===`keydown`&&/^Digit[1-9]$/.test(e.code)&&Ye(e,Ke(U.getState().shortcutModifier)))return!1;if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`c`&&r.hasSelection()){let e=r.getSelection();return e?.trim()&&navigator.clipboard&&navigator.clipboard.writeText(e),!1}if(dH()&&!h&&e.ctrlKey&&!e.metaKey&&e.key.toLowerCase()===`v`&&e.type===`keydown`){let e=ne.current;return e&&(j.current&&(oe.current({type:`tmux-cancel-copy-mode`,sessionId:e}),Se(!1)),(async()=>{re(e,await vH(se.current,{}))})()),!e}if(e[W]&&e.key.toLowerCase()===`v`&&e.type===`keydown`){V!==null&&(clearTimeout(V),V=null),te=null;let e=new Promise(e=>{V=setTimeout(()=>{V=null,te=null,e(null)},100),te=t=>{V!==null&&(clearTimeout(V),V=null),e(t)}});return(async()=>{try{let t=ne.current;if(!t)return;let n=await e,r=n?.text??null;if(r===null)try{r=await navigator.clipboard.readText()}catch{r=``}if(n?.hasImage&&dH()&&!h){re(t,await vH(se.current,{blob:n.imageBlob}));return}if(!r&&dH()&&!h)try{let e=await fetch(`/api/clipboard-file-path`);if(e.ok){let{path:n,isImage:r}=await e.json();if(n){if(r){re(t,await vH(se.current,{path:n}));return}re(t,n);return}}}catch{}if(r&&!bH(r)){H.current===t&&ne.current===t&&(j.current&&(oe.current({type:`tmux-cancel-copy-mode`,sessionId:t}),Se(!1)),oe.current({type:`terminal-paste`,sessionId:t,data:r}));return}dH()&&!h&&re(t,await vH(se.current,{}))}finally{te=null}})(),!1}if(e.ctrlKey&&e.key===`Backspace`&&e.type===`keydown`){let e=ne.current;return e&&oe.current({type:`terminal-input`,sessionId:e,data:``}),!1}return!0});let ie=e=>{if(!te)return;e.preventDefault(),e.stopPropagation();let t=e.clipboardData?.getData(`text/plain`)??``,n=SH(e.clipboardData),r=n!==null||xH(e.clipboardData),i=te;te=null,i({text:t,hasImage:r,imageBlob:n})};return t.addEventListener(`paste`,ie,{capture:!0}),r.onData(e=>{let t=ne.current;if(t){let n=/^\x1b\[(<[\d;]+[Mm]|[\d;]+M|M[\x20-\xff]{3})$/.test(e);if(j.current&&n)return;j.current&&(oe.current({type:`tmux-cancel-copy-mode`,sessionId:t}),Se(!1)),oe.current({type:`terminal-input`,sessionId:t,data:e})}}),r.attachCustomWheelEventHandler(e=>{let t=ne.current;if(!t||e.target?.closest(`input, textarea, [contenteditable="true"], .xterm-hover`)||r.hasSelection()||e.shiftKey)return!0;A.current+=e.deltaY;let n=r.cols,i=r.rows,a=Math.floor(n/2),o=Math.floor(i/2),s=!1,c=!1;for(;Math.abs(A.current)>=30;){c=!0;let e=A.current>0;A.current+=e?-30:30;let n=e?65:64;e||(s=!0),oe.current({type:`terminal-input`,sessionId:t,data:`\x1b[<${n};${a};${o}M`})}return s&&!P.current&&Se(!0),c&&!P.current&&Ce(),!1}),_.current=r,y.current=i,()=>{if(n=!0,L&&clearTimeout(L),N=null,t.removeEventListener(`mousedown`,R,!0),t.removeEventListener(`paste`,ie,!0),V!==null&&(clearTimeout(V),V=null),te=null,C.current&&=(C.current.remove(),null),S.current){try{S.current.dispose()}catch{}S.current=null}if(b.current){try{b.current.dispose()}catch{}b.current=null}try{r.dispose()}catch{}t&&(t.innerHTML=``),_.current=null,y.current=null,w.current=null,T.current=null,E.current=null,O.current&&window.clearTimeout(O.current),I.current!==null&&window.clearTimeout(I.current)}},[we]),(0,x.useEffect)(()=>{_.current&&(_.current.options.theme=c)},[c]),(0,x.useEffect)(()=>{let e=_.current,t=y.current;if(e&&t){e.options.fontFamily=f,e.options.fontSize=l,e.options.lineHeight=Math.round(l*u)/l,e.options.letterSpacing=d,t.fit();let n=H.current;n&&oe.current({type:`terminal-resize`,sessionId:n,cols:e.cols,rows:e.rows})}},[l,u,d,f]),(0,x.useEffect)(()=>{let e=_.current;if(!e)return;let t=le.current;if(le.current=p,t!==p){if(p){if(!b.current)try{let t=new pz;t.onContextLoss(()=>{try{t.dispose()}catch{}b.current=null}),e.loadAddon(t),b.current=t}catch{}}else if(b.current){try{b.current.dispose()}catch{}b.current=null}}},[p]),(0,x.useLayoutEffect)(()=>{(ne.current!==e||!r||i!==`connected`||re.current>=0&&re.current!==a)&&(ne.current=null,e&&r&&i===`connected`&&he(!0))},[e,r,i,a]),(0,x.useEffect)(()=>{let n=_.current;if(!n)return;let o=H.current,s=W.current;if(!r){ne.current=null,k.current!==null&&(window.clearTimeout(k.current),k.current=null),o&&(oe.current({type:`terminal-detach`,sessionId:o}),H.current=null,W.current=null,re.current=-1,ie.current=null,Se(!1)),n.reset(),pe.current=!1,he(!1);return}if(i!==`connected`){ne.current=null,k.current!==null&&(window.clearTimeout(k.current),k.current=null),o&&(QT(`terminal_detach_on_disconnect`,{connectionStatus:i,prevAttached:o}),H.current=null,W.current=null,re.current=-1,ie.current=null,Se(!1)),aH(),pe.current=!1,he(!1);return}if(o&&o!==e){ne.current=null;try{let e=T.current?.serialize();if(e&&(nH.set(o,e),nH.size>rH)){let e=nH.keys().next().value;e&&nH.delete(e)}}catch{}oe.current({type:`terminal-detach`,sessionId:o}),H.current=null,W.current=null,re.current=-1,ie.current=null,Se(!1)}let c=re.current,l=a!==c;if(e&&(e!==o||t!==s||l)){QT(`terminal_attach`,{sessionId:e,tmuxTarget:t,prevAttached:o,prevTarget:s,connectionStatus:i,connectionEpoch:a,attachedEpoch:c});let r=performance.now();ue.current=[],de.current!==null&&(window.clearTimeout(de.current),de.current=null),fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null),pe.current=!0,he(!0),o!==null&&(ne.current=null);let l=nH.get(e);l&&(n.reset(),n.write(l));let u=y.current;u&&u.fit();let d=performance.now();H.current=e,W.current=t??null,re.current=a,ie.current=e,ae.current=r,k.current!==null&&(window.clearTimeout(k.current),k.current=null);let f={type:`terminal-attach`,sessionId:e,tmuxTarget:t??void 0,cols:n.cols,rows:n.rows},p=o!==null&&o!==e;if(p){let t=e;queueMicrotask(()=>{H.current===t&&(oe.current(f),oe.current({type:`tmux-check-copy-mode`,sessionId:e}))})}else k.current=window.setTimeout(()=>{k.current=null,oe.current(f),oe.current({type:`tmux-check-copy-mode`,sessionId:e})},50);QT(`switch_attach_sent`,{sessionId:e,fitMs:Math.round(d-r),totalMs:Math.round(performance.now()-r),from:o??null,immediate:p})}return e&&e===o&&t===s&&!l&&QT(`terminal_attach_skip`,{sessionId:e,prevAttached:o,connectionStatus:i,connectionEpoch:a,attachedEpoch:c}),!e&&o&&(k.current!==null&&(window.clearTimeout(k.current),k.current=null),H.current=null,W.current=null,re.current=-1,ie.current=null,ne.current=null),()=>{k.current!==null&&(QT(`attach_debounce_cancelled`,{sessionId:e,attachedSession:H.current},`info`),window.clearTimeout(k.current),k.current=null)}},[e,t,r,i,a,xe,Se]),(0,x.useEffect)(()=>{if(V.current!==null&&(globalThis.clearInterval(V.current),V.current=null),!(!e||!r||i!==`connected`))return V.current=globalThis.setInterval(()=>{H.current===e&&oe.current({type:`tmux-check-copy-mode`,sessionId:e})},750),()=>{V.current!==null&&(globalThis.clearInterval(V.current),V.current=null)}},[e,r,i]),(0,x.useEffect)(()=>{let e=()=>{de.current!==null&&(window.clearTimeout(de.current),de.current=null),fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null);let e=_.current,t=ue.current;if(!e||t.length===0)return;ue.current=[];let n=t.join(``);pe.current&&=(e.reset(),!1);let r=performance.now(),i=n.length;e.write(n,()=>{let e=Math.round(performance.now()-r);e>50&&QT(`switch_write_slow`,{sessionId:H.current,writeMs:e,bytes:i}),h&&e>50&&QT(`ios_write_slow`,{sessionId:H.current,writeMs:e,bytes:i}),xe()})},t=()=>{de.current!==null&&window.clearTimeout(de.current),de.current=window.setTimeout(e,2),fe.current===null&&(fe.current=window.setTimeout(e,16))},n=s(n=>{let r=H.current;if(n.type===`terminal-output`&&(!r||n.sessionId!==r)&&QT(`terminal_output_dropped`,{messageSessionId:n.sessionId,attachedSession:r,bytes:n.data.length,hasSwitchStart:ae.current!==null},`info`),n.type===`terminal-output`&&r&&n.sessionId===r){let e=ae.current;e&&(QT(`switch_first_output`,{sessionId:n.sessionId,serverRoundtripMs:Math.round(performance.now()-e),bytes:n.data.length,parseMs:n._parseMs??-1,rawLength:n._rawLength??-1}),ae.current=null),ue.current.push(h?DH(n.data):n.data),t()}if(n.type===`terminal-ready`&&r&&n.sessionId===r){ne.current=n.sessionId,pe.current&&ue.current.length>0?e():pe.current&&=(_.current?.reset(),!1),he(!1);let t=ae.current;t&&(QT(`switch_ready`,{sessionId:n.sessionId,totalMs:Math.round(performance.now()-t)}),ae.current=null),ie.current===n.sessionId&&(_.current?.focus(),ie.current=null),h&&(e(),be(50,`terminal-ready`))}if(n.type===`terminal-error`&&r&&(!n.sessionId||n.sessionId===r)&&(ne.current=null,pe.current=!1,he(!1)),n.type===`clipboard-offer`&&r&&n.sessionId===r){let e=n.text;if(!e?.trim())return;if(!h&&navigator.clipboard?.writeText){let t=performance.now();navigator.clipboard.writeText(e).then(()=>{QT(`clipboard_write_success`,{source:n.source,chars:e.length,durationMs:Math.round(performance.now()-t)})}).catch(t=>{QT(`clipboard_write_failed`,{source:n.source,chars:e.length,error:t instanceof Error?t.message:String(t)},`warn`),z(e,n.source)})}else z(e,n.source)}if(n.type===`tmux-copy-mode-status`&&r&&n.sessionId===r){let e=n.appMouse===!0&&!n.inCopyMode,t=P.current;P.current=e,F.current=n.altScreen===!0,!t&&e&&_.current?.write(mH),Se(n.inCopyMode)}});return()=>{n(),e(),ye()}},[s,xe,Se,z]),(0,x.useEffect)(()=>{let e=g.current,t=_.current,n=y.current;if(!e||!t||!n)return;let r=()=>{D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{we()},150)},i=new ResizeObserver(r);return i.observe(e),r(),()=>{i.disconnect(),D.current&&window.clearTimeout(D.current)}},[]),(0,x.useEffect)(()=>{if(typeof document>`u`||typeof document.addEventListener!=`function`)return;let e=()=>{document.visibilityState!==`hidden`&&QT(`terminal_visibility_resume`,{isiOS:h,hasWebGL:!!b.current,useWebGL:le.current,hasTerminal:!!_.current,bufferLines:_.current?.buffer.active.length??0,sessionId:H.current},`info`)};if(document.addEventListener(`visibilitychange`,e),!h)return()=>{document.removeEventListener(`visibilitychange`,e)};let t=e=>{let t=_.current;if(t&&b.current&&le.current){try{b.current.dispose()}catch{}b.current=null;try{let n=new pz;n.onContextLoss(()=>{QT(`webgl_context_loss`,{sessionId:H.current},`info`);try{n.dispose()}catch{}b.current=null}),t.loadAddon(n),b.current=n,QT(`ios_webgl_recreated`,{trigger:e},`info`)}catch{QT(`ios_webgl_recreate_failed`,{trigger:e},`info`)}}},n=()=>{document.visibilityState!==`hidden`&&(t(`visibilitychange`),be(200,`visibilitychange`))},r=e=>{e.persisted&&(t(`pageshow`),be(200,`pageshow`))},i=()=>{t(`focus`),be(200,`focus`)};return document.addEventListener(`visibilitychange`,n),window.addEventListener(`pageshow`,r),window.addEventListener(`focus`,i),()=>{document.removeEventListener(`visibilitychange`,e),document.removeEventListener(`visibilitychange`,n),window.removeEventListener(`pageshow`,r),window.removeEventListener(`focus`,i),ye()}},[]),{containerRef:g,terminalRef:_,searchAddonRef:w,serializeAddonRef:T,progressAddonRef:E,inTmuxCopyModeRef:j,isTmuxCopyMode:M,appMouseRef:P,setTmuxCopyMode:Se,isSwitching:me,isInputReady:!!e&&r&&i===`connected`&&ne.current===e,pendingClipboardOffer:ee,copyPendingClipboardOffer:B,dismissPendingClipboardOffer:te}}function kH(e=`(max-width: 767px)`){let[t,n]=(0,x.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(e).matches);return(0,x.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let t=window.matchMedia(e),r=()=>n(t.matches);return r(),typeof t.addEventListener==`function`?(t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)):(t.addListener(r),()=>t.removeListener(r))},[e]),t}function AH(e,t,n){(0,x.useEffect)(()=>{if(!t)return;let r=t=>{e.current&&!e.current.contains(t.target)&&n()};return document.addEventListener(`mousedown`,r),document.addEventListener(`touchstart`,r),()=>{document.removeEventListener(`mousedown`,r),document.removeEventListener(`touchstart`,r)}},[e,t,n])}function jH(e,t){(0,x.useEffect)(()=>{if(!e)return;let n=e=>{e.key===`Escape`&&(e.preventDefault(),t())};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e,t])}function MH({enabled:e,isOpen:t,onOpen:n,edgeThresholdPx:r=30,swipeDistancePx:i=50,swipeRatio:a=1.5}){let o=(0,x.useRef)(!1);return(0,x.useEffect)(()=>{if(!e)return;let s=0,c=0,l=!1,u=e=>{if(t)return;let n=e.touches[0];n.clientX<=r?(s=n.clientX,c=n.clientY,l=!0,o.current=!0):l=!1},d=e=>{if(o.current=!1,!l||t)return;let r=e.changedTouches[0],u=r.clientX-s,d=Math.abs(r.clientY-c);u>=i&&u>d*a&&n(),l=!1};return document.addEventListener(`touchstart`,u,{passive:!0}),document.addEventListener(`touchend`,d,{passive:!0}),()=>{o.current=!1,document.removeEventListener(`touchstart`,u),document.removeEventListener(`touchend`,d)}},[e,t,n,r,i,a]),o}var NH=T()(k(e=>({theme:`dark`,setTheme:t=>e({theme:t}),toggleTheme:()=>e(e=>({theme:e.theme===`dark`?`light`:`dark`}))}),{name:`agentboard-theme`,storage:D(()=>M)})),PH={dark:{background:`#2d2d2d`,foreground:`#d4d4d4`,cursor:`#3b82f6`,cursorAccent:`#2d2d2d`,selectionBackground:`rgba(59, 130, 246, 0.35)`,selectionForeground:`#ffffff`,black:`#808080`,red:`#f87171`,green:`#4ade80`,yellow:`#fbbf24`,blue:`#60a5fa`,magenta:`#c084fc`,cyan:`#22d3ee`,white:`#d4d4d4`,brightBlack:`#a0a0a0`,brightRed:`#fca5a5`,brightGreen:`#86efac`,brightYellow:`#fde047`,brightBlue:`#93c5fd`,brightMagenta:`#d8b4fe`,brightCyan:`#67e8f9`,brightWhite:`#ffffff`},light:{background:`#fafafa`,foreground:`#171717`,cursor:`#2563eb`,cursorAccent:`#fafafa`,selectionBackground:`rgba(37, 99, 235, 0.2)`,selectionForeground:`#000000`,black:`#171717`,red:`#dc2626`,green:`#16a34a`,yellow:`#ca8a04`,blue:`#2563eb`,magenta:`#9333ea`,cyan:`#0891b2`,white:`#f5f5f5`,brightBlack:`#737373`,brightRed:`#ef4444`,brightGreen:`#22c55e`,brightYellow:`#eab308`,brightBlue:`#3b82f6`,brightMagenta:`#a855f7`,brightCyan:`#06b6d4`,brightWhite:`#ffffff`}},FH=new WeakSet;function IH(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return!n?.get||!n.set?null:{get:n.get,set:n.set,enumerable:n.enumerable??!0,configurable:n.configurable??!0}}var LH=!1,RH=null,zH=null;function BH(){LH||(LH=!0,!(typeof Node>`u`||typeof HTMLElement>`u`)&&(RH=IH(Node.prototype,`textContent`),zH=IH(HTMLElement.prototype,`innerText`)))}function VH(e){if(FH.has(e))return;FH.add(e);let t=RH?.get;if(t)for(let[n,r]of[[`textContent`,RH],[`innerText`,zH]])r&&Object.defineProperty(e,n,{configurable:r.configurable,enumerable:r.enumerable,get(){return r.get.call(this)},set(e){t.call(this)!==e&&r.set.call(this,e)}})}function HH(e){BH();let t=()=>{for(let t of Array.from(e.children))t instanceof HTMLElement&&VH(t)};t();let n=new MutationObserver(t);return n.observe(e,{childList:!0}),()=>n.disconnect()}var UH={up:`\x1B[A`,down:`\x1B[B`,left:`\x1B[D`,right:`\x1B[C`},WH=150,GH=250,KH=400,qH=1500,JH=15,YH=70;function XH(e=10){`vibrate`in navigator&&navigator.vibrate(e)}function ZH(e,t){let n=Math.sqrt(e*e+t*t);if(n<JH)return{direction:null,distance:0};let r=180/Math.PI*Math.atan2(t,e),i;return i=r>=-45&&r<45?`right`:r>=45&&r<135?`down`:r>=-135&&r<-45?`up`:`left`,{direction:i,distance:n}}function QH(e){let t=YH-20;return qH-Math.min(e/t,1)*(qH-KH)}function $H({onSendKey:e,disabled:t=!1,onRefocus:n,isKeyboardVisible:r}){let[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(null),[c,l]=(0,x.useState)({x:0,y:0}),[u,d]=(0,x.useState)({x:0,y:0}),f=(0,x.useRef)(null),p=(0,x.useRef)(null),m=(0,x.useRef)(null),h=(0,x.useRef)(!1),g=(0,x.useRef)(null),_=(0,x.useRef)(0),v=(0,x.useCallback)(()=>{f.current&&=(clearTimeout(f.current),null),p.current&&=(clearTimeout(p.current),null),m.current&&=(clearInterval(m.current),null)},[]),y=(0,x.useCallback)(()=>{p.current&&=(clearTimeout(p.current),null),m.current&&=(clearInterval(m.current),null)},[]),b=(0,x.useCallback)(t=>{let n=QH(_.current);m.current=setTimeout(()=>{g.current&&(XH(5),e(t),b(t))},n)},[e]),S=(0,x.useCallback)((n,r)=>{if(!n||t)return;let i=UH[n];_.current=r,XH(8),e(i),y(),p.current=setTimeout(()=>{b(i)},GH)},[t,e,y,b]),C=(0,x.useCallback)((e,t)=>{let n=e-c.x,r=t-c.y,i=Math.sqrt(n*n+r*r),a=Math.min(i,YH-20),o=i>0?a/i:0;d({x:n*o,y:r*o});let{direction:l,distance:u}=ZH(n,r);_.current=u,l!==g.current&&(g.current=l,s(l),y(),l&&S(l,u))},[c,y,S]),w=(0,x.useCallback)(()=>{a(!1),s(null),d({x:0,y:0}),y(),g.current=null,h.current&&n?.()},[y,n]),T=(0,x.useCallback)(e=>{if(t)return;e.preventDefault(),e.stopPropagation();let n=e.touches[0];h.current=r?.()??!1,f.current=setTimeout(()=>{XH(15),l({x:n.clientX,y:n.clientY-80}),d({x:0,y:0}),a(!0)},WH)},[t,r]),E=(0,x.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),!i)return;let t=e.touches[0];C(t.clientX,t.clientY)},[i,C]),D=(0,x.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),f.current&&=(clearTimeout(f.current),null),i&&w()},[i,w]),O=(0,x.useCallback)(e=>{e.preventDefault(),v(),w()},[v,w]);return(0,x.useEffect)(()=>()=>{v()},[v]),(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{type:`button`,"aria-label":`Arrow keys`,className:`
210
+ `,x=document.createElement(`div`),m.appendChild(x),D=document.createElement(`div`),D.style.color=`var(--text-muted)`,D.style.marginTop=`2px`,D.style.fontSize=`11px`,m.appendChild(D),C.current=m);let k=(e,t)=>{if(!r.element||!m||!x||!D)return;let n=uH(t);if(!n)return;let i=r.element.getBoundingClientRect(),a=n.length>60?n.slice(0,57)+`...`:n;x.textContent=a,D.textContent=`${dH()?`⌘`:`Ctrl`}+click to open`,m.style.left=`${e.clientX-i.left+10}px`,m.style.top=`${e.clientY-i.top+10}px`,m.style.display=`block`},M=()=>{m&&(m.style.display=`none`)},N=null,F=!1,L=null,ee={activate:(e,t)=>{if(!F&&(e.metaKey||e.ctrlKey)){let e=uH(t);if(!e)return;window.open(e,`_blank`,`noopener`)}},hover:(e,t)=>{N=uH(t)||null,k(e,t)},leave:()=>{N=null,M()}},R=e=>{N&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),e.stopPropagation(),F=!0,window.open(N,`_blank`,`noopener`),L&&clearTimeout(L),L=setTimeout(()=>{F=!1},100))};t.addEventListener(`mousedown`,R,!0),r.options.linkHandler=ee;let B=new yz((e,t)=>ee.activate(e,t),{urlRegex:oH,hover:(e,t)=>ee.hover(e,t),leave:()=>ee.leave()});r.loadAddon(B),S.current=B;let te=null,V=null,W=dH()?`metaKey`:`ctrlKey`,re=(e,t)=>{t&&H.current===e&&ne.current===e&&oe.current({type:`terminal-input`,sessionId:e,data:t})};r.attachCustomKeyEventHandler(e=>{if(e.type===`keydown`&&/^Digit[1-9]$/.test(e.code)&&Ye(e,Ke(U.getState().shortcutModifier)))return!1;if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`c`&&r.hasSelection()){let e=r.getSelection();return e?.trim()&&navigator.clipboard&&navigator.clipboard.writeText(e),!1}if(dH()&&!h&&e.ctrlKey&&!e.metaKey&&e.key.toLowerCase()===`v`&&e.type===`keydown`){let e=ne.current;return e&&(j.current&&(oe.current({type:`tmux-cancel-copy-mode`,sessionId:e}),Se(!1)),(async()=>{re(e,await vH(se.current,{}))})()),!e}if(e[W]&&e.key.toLowerCase()===`v`&&e.type===`keydown`){V!==null&&(clearTimeout(V),V=null),te=null;let e=new Promise(e=>{V=setTimeout(()=>{V=null,te=null,e(null)},100),te=t=>{V!==null&&(clearTimeout(V),V=null),e(t)}});return(async()=>{try{let t=ne.current;if(!t)return;let n=await e,r=n?.text??null;if(r===null)try{r=await navigator.clipboard.readText()}catch{r=``}if(n?.hasImage&&dH()&&!h){re(t,await vH(se.current,{blob:n.imageBlob}));return}if(!r&&dH()&&!h)try{let e=await fetch(`/api/clipboard-file-path`);if(e.ok){let{path:n,isImage:r}=await e.json();if(n){if(r){re(t,await vH(se.current,{path:n}));return}re(t,n);return}}}catch{}if(r&&!bH(r)){H.current===t&&ne.current===t&&(j.current&&(oe.current({type:`tmux-cancel-copy-mode`,sessionId:t}),Se(!1)),oe.current({type:`terminal-paste`,sessionId:t,data:r}));return}dH()&&!h&&re(t,await vH(se.current,{}))}finally{te=null}})(),!1}if(e.ctrlKey&&e.key===`Backspace`&&e.type===`keydown`){let e=ne.current;return e&&oe.current({type:`terminal-input`,sessionId:e,data:``}),!1}return!0});let ie=e=>{if(!te)return;e.preventDefault(),e.stopPropagation();let t=e.clipboardData?.getData(`text/plain`)??``,n=SH(e.clipboardData),r=n!==null||xH(e.clipboardData),i=te;te=null,i({text:t,hasImage:r,imageBlob:n})};return t.addEventListener(`paste`,ie,{capture:!0}),r.onData(e=>{let t=ne.current;if(t){let n=/^\x1b\[(<[\d;]+[Mm]|[\d;]+M|M[\x20-\xff]{3})$/.test(e);if(j.current&&n)return;j.current&&(oe.current({type:`tmux-cancel-copy-mode`,sessionId:t}),Se(!1)),oe.current({type:`terminal-input`,sessionId:t,data:e})}}),r.attachCustomWheelEventHandler(e=>{let t=ne.current;if(!t||e.target?.closest(`input, textarea, [contenteditable="true"], .xterm-hover`)||r.hasSelection()||e.shiftKey)return!0;A.current+=e.deltaY;let n=r.cols,i=r.rows,a=Math.floor(n/2),o=Math.floor(i/2),s=!1,c=!1;for(;Math.abs(A.current)>=30;){c=!0;let e=A.current>0;A.current+=e?-30:30;let n=e?65:64;e||(s=!0),oe.current({type:`terminal-input`,sessionId:t,data:`\x1b[<${n};${a};${o}M`})}return s&&!P.current&&Se(!0),c&&!P.current&&Ce(),!1}),_.current=r,y.current=i,()=>{if(n=!0,L&&clearTimeout(L),N=null,t.removeEventListener(`mousedown`,R,!0),t.removeEventListener(`paste`,ie,!0),V!==null&&(clearTimeout(V),V=null),te=null,C.current&&=(C.current.remove(),null),S.current){try{S.current.dispose()}catch{}S.current=null}if(b.current){try{b.current.dispose()}catch{}b.current=null}try{r.dispose()}catch{}t&&(t.innerHTML=``),_.current=null,y.current=null,w.current=null,T.current=null,E.current=null,O.current&&window.clearTimeout(O.current),I.current!==null&&window.clearTimeout(I.current)}},[we]),(0,x.useEffect)(()=>{_.current&&(_.current.options.theme=c)},[c]),(0,x.useEffect)(()=>{let e=_.current,t=y.current;if(e&&t){e.options.fontFamily=f,e.options.fontSize=l,e.options.lineHeight=Math.round(l*u)/l,e.options.letterSpacing=d,t.fit();let n=H.current;n&&oe.current({type:`terminal-resize`,sessionId:n,cols:e.cols,rows:e.rows})}},[l,u,d,f]),(0,x.useEffect)(()=>{let e=_.current;if(!e)return;let t=le.current;if(le.current=p,t!==p){if(p){if(!b.current)try{let t=new pz;t.onContextLoss(()=>{try{t.dispose()}catch{}b.current=null}),e.loadAddon(t),b.current=t}catch{}}else if(b.current){try{b.current.dispose()}catch{}b.current=null}}},[p]),(0,x.useLayoutEffect)(()=>{(ne.current!==e||!r||i!==`connected`||re.current>=0&&re.current!==a)&&(ne.current=null,e&&r&&i===`connected`&&he(!0))},[e,r,i,a]),(0,x.useEffect)(()=>{let n=_.current;if(!n)return;let o=H.current,s=W.current;if(!r){ne.current=null,k.current!==null&&(window.clearTimeout(k.current),k.current=null),o&&(oe.current({type:`terminal-detach`,sessionId:o}),H.current=null,W.current=null,re.current=-1,ie.current=null,Se(!1)),n.reset(),pe.current=!1,he(!1);return}if(i!==`connected`){ne.current=null,k.current!==null&&(window.clearTimeout(k.current),k.current=null),o&&(QT(`terminal_detach_on_disconnect`,{connectionStatus:i,prevAttached:o}),H.current=null,W.current=null,re.current=-1,ie.current=null,Se(!1)),aH(),pe.current=!1,he(!1);return}if(o&&o!==e){ne.current=null;try{let e=T.current?.serialize();if(e&&(nH.set(o,e),nH.size>rH)){let e=nH.keys().next().value;e&&nH.delete(e)}}catch{}oe.current({type:`terminal-detach`,sessionId:o}),H.current=null,W.current=null,re.current=-1,ie.current=null,Se(!1)}let c=re.current,l=a!==c;if(e&&(e!==o||t!==s||l)){QT(`terminal_attach`,{sessionId:e,tmuxTarget:t,prevAttached:o,prevTarget:s,connectionStatus:i,connectionEpoch:a,attachedEpoch:c});let r=performance.now();ue.current=[],de.current!==null&&(window.clearTimeout(de.current),de.current=null),fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null),pe.current=!0,he(!0),o!==null&&(ne.current=null);let l=nH.get(e);l&&(n.reset(),n.write(l));let u=y.current;u&&u.fit();let d=performance.now();H.current=e,W.current=t??null,re.current=a,ie.current=e,ae.current=r,k.current!==null&&(window.clearTimeout(k.current),k.current=null);let f={type:`terminal-attach`,sessionId:e,tmuxTarget:t??void 0,cols:n.cols,rows:n.rows},p=o!==null&&o!==e;if(p){let t=e;queueMicrotask(()=>{H.current===t&&(oe.current(f),oe.current({type:`tmux-check-copy-mode`,sessionId:e}))})}else k.current=window.setTimeout(()=>{k.current=null,oe.current(f),oe.current({type:`tmux-check-copy-mode`,sessionId:e})},50);QT(`switch_attach_sent`,{sessionId:e,fitMs:Math.round(d-r),totalMs:Math.round(performance.now()-r),from:o??null,immediate:p})}return e&&e===o&&t===s&&!l&&QT(`terminal_attach_skip`,{sessionId:e,prevAttached:o,connectionStatus:i,connectionEpoch:a,attachedEpoch:c}),!e&&o&&(k.current!==null&&(window.clearTimeout(k.current),k.current=null),H.current=null,W.current=null,re.current=-1,ie.current=null,ne.current=null),()=>{k.current!==null&&(QT(`attach_debounce_cancelled`,{sessionId:e,attachedSession:H.current},`info`),window.clearTimeout(k.current),k.current=null)}},[e,t,r,i,a,xe,Se]),(0,x.useEffect)(()=>{if(V.current!==null&&(globalThis.clearInterval(V.current),V.current=null),!(!e||!r||i!==`connected`))return V.current=globalThis.setInterval(()=>{H.current===e&&oe.current({type:`tmux-check-copy-mode`,sessionId:e})},750),()=>{V.current!==null&&(globalThis.clearInterval(V.current),V.current=null)}},[e,r,i]),(0,x.useEffect)(()=>{let e=()=>{de.current!==null&&(window.clearTimeout(de.current),de.current=null),fe.current!==null&&(window.clearTimeout(fe.current),fe.current=null);let e=_.current,t=ue.current;if(!e||t.length===0)return;ue.current=[];let n=t.join(``);pe.current&&=(e.reset(),!1);let r=performance.now(),i=n.length;e.write(n,()=>{let e=Math.round(performance.now()-r);e>50&&QT(`switch_write_slow`,{sessionId:H.current,writeMs:e,bytes:i}),h&&e>50&&QT(`ios_write_slow`,{sessionId:H.current,writeMs:e,bytes:i}),xe()})},t=()=>{de.current!==null&&window.clearTimeout(de.current),de.current=window.setTimeout(e,2),fe.current===null&&(fe.current=window.setTimeout(e,16))},n=s(n=>{let r=H.current;if(n.type===`terminal-output`&&(!r||n.sessionId!==r)&&QT(`terminal_output_dropped`,{messageSessionId:n.sessionId,attachedSession:r,bytes:n.data.length,hasSwitchStart:ae.current!==null},`info`),n.type===`terminal-output`&&r&&n.sessionId===r){let e=ae.current;e&&(QT(`switch_first_output`,{sessionId:n.sessionId,serverRoundtripMs:Math.round(performance.now()-e),bytes:n.data.length,parseMs:n._parseMs??-1,rawLength:n._rawLength??-1}),ae.current=null),ue.current.push(h?DH(n.data):n.data),t()}if(n.type===`terminal-ready`&&r&&n.sessionId===r){ne.current=n.sessionId,pe.current&&ue.current.length>0?e():pe.current&&=(_.current?.reset(),!1),he(!1);let t=ae.current;t&&(QT(`switch_ready`,{sessionId:n.sessionId,totalMs:Math.round(performance.now()-t)}),ae.current=null),ie.current===n.sessionId&&(_.current?.focus(),ie.current=null),h&&(e(),be(50,`terminal-ready`))}if(n.type===`terminal-error`&&r&&(!n.sessionId||n.sessionId===r)&&(ne.current=null,pe.current=!1,he(!1)),n.type===`clipboard-offer`&&r&&n.sessionId===r){let e=n.text;if(!e?.trim())return;if(!h&&navigator.clipboard?.writeText){let t=performance.now();navigator.clipboard.writeText(e).then(()=>{QT(`clipboard_write_success`,{source:n.source,chars:e.length,durationMs:Math.round(performance.now()-t)})}).catch(t=>{QT(`clipboard_write_failed`,{source:n.source,chars:e.length,error:t instanceof Error?t.message:String(t)},`warn`),z(e,n.source)})}else z(e,n.source)}if(n.type===`tmux-copy-mode-status`&&r&&n.sessionId===r){let e=n.appMouse===!0&&!n.inCopyMode,t=P.current;P.current=e,F.current=n.altScreen===!0,!t&&e&&_.current?.write(mH),Se(n.inCopyMode)}});return()=>{n(),e(),ye()}},[s,xe,Se,z]),(0,x.useEffect)(()=>{let e=g.current,t=_.current,n=y.current;if(!e||!t||!n)return;let r=()=>{D.current&&window.clearTimeout(D.current),D.current=window.setTimeout(()=>{we()},150)},i=new ResizeObserver(r);return i.observe(e),r(),()=>{i.disconnect(),D.current&&window.clearTimeout(D.current)}},[]),(0,x.useEffect)(()=>{if(typeof document>`u`||typeof document.addEventListener!=`function`)return;let e=()=>{document.visibilityState!==`hidden`&&QT(`terminal_visibility_resume`,{isiOS:h,hasWebGL:!!b.current,useWebGL:le.current,hasTerminal:!!_.current,bufferLines:_.current?.buffer.active.length??0,sessionId:H.current},`info`)};if(document.addEventListener(`visibilitychange`,e),!h)return()=>{document.removeEventListener(`visibilitychange`,e)};let t=e=>{let t=_.current;if(t&&b.current&&le.current){try{b.current.dispose()}catch{}b.current=null;try{let n=new pz;n.onContextLoss(()=>{QT(`webgl_context_loss`,{sessionId:H.current},`info`);try{n.dispose()}catch{}b.current=null}),t.loadAddon(n),b.current=n,QT(`ios_webgl_recreated`,{trigger:e},`info`)}catch{QT(`ios_webgl_recreate_failed`,{trigger:e},`info`)}}},n=()=>{document.visibilityState!==`hidden`&&(t(`visibilitychange`),be(200,`visibilitychange`))},r=e=>{e.persisted&&(t(`pageshow`),be(200,`pageshow`))},i=()=>{t(`focus`),be(200,`focus`)};return document.addEventListener(`visibilitychange`,n),window.addEventListener(`pageshow`,r),window.addEventListener(`focus`,i),()=>{document.removeEventListener(`visibilitychange`,e),document.removeEventListener(`visibilitychange`,n),window.removeEventListener(`pageshow`,r),window.removeEventListener(`focus`,i),ye()}},[]),{containerRef:g,terminalRef:_,searchAddonRef:w,serializeAddonRef:T,progressAddonRef:E,inTmuxCopyModeRef:j,isTmuxCopyMode:M,appMouseRef:P,setTmuxCopyMode:Se,isSwitching:me,isInputReady:!!e&&r&&i===`connected`&&ne.current===e,pendingClipboardOffer:ee,copyPendingClipboardOffer:B,dismissPendingClipboardOffer:te}}function kH(e=`(max-width: 767px)`){let[t,n]=(0,x.useState)(()=>typeof window>`u`||!window.matchMedia?!1:window.matchMedia(e).matches);return(0,x.useEffect)(()=>{if(typeof window>`u`||!window.matchMedia)return;let t=window.matchMedia(e),r=()=>n(t.matches);return r(),typeof t.addEventListener==`function`?(t.addEventListener(`change`,r),()=>t.removeEventListener(`change`,r)):(t.addListener(r),()=>t.removeListener(r))},[e]),t}function AH(e,t,n){(0,x.useEffect)(()=>{if(!t)return;let r=t=>{e.current&&!e.current.contains(t.target)&&n()};return document.addEventListener(`mousedown`,r),document.addEventListener(`touchstart`,r),()=>{document.removeEventListener(`mousedown`,r),document.removeEventListener(`touchstart`,r)}},[e,t,n])}function jH(e,t){(0,x.useEffect)(()=>{if(!e)return;let n=e=>{e.key===`Escape`&&(e.preventDefault(),t())};return document.addEventListener(`keydown`,n),()=>document.removeEventListener(`keydown`,n)},[e,t])}function MH({enabled:e,isOpen:t,onOpen:n,edgeThresholdPx:r=30,swipeDistancePx:i=50,swipeRatio:a=1.5}){let o=(0,x.useRef)(!1);return(0,x.useEffect)(()=>{if(!e)return;let s=0,c=0,l=!1,u=e=>{if(t)return;let n=e.touches[0];n.clientX<=r?(s=n.clientX,c=n.clientY,l=!0,o.current=!0):l=!1},d=e=>{if(o.current=!1,!l||t)return;let r=e.changedTouches[0],u=r.clientX-s,d=Math.abs(r.clientY-c);u>=i&&u>d*a&&n(),l=!1};return document.addEventListener(`touchstart`,u,{passive:!0}),document.addEventListener(`touchend`,d,{passive:!0}),()=>{o.current=!1,document.removeEventListener(`touchstart`,u),document.removeEventListener(`touchend`,d)}},[e,t,n,r,i,a]),o}var NH=T()(k(e=>({theme:`dark`,setTheme:t=>e({theme:t}),toggleTheme:()=>e(e=>({theme:e.theme===`dark`?`light`:`dark`}))}),{name:`agentboard-theme`,storage:D(()=>M)})),PH={dark:{background:`#2d2d2d`,foreground:`#d4d4d4`,cursor:`#3b82f6`,cursorAccent:`#2d2d2d`,selectionBackground:`rgba(59, 130, 246, 0.35)`,selectionForeground:`#ffffff`,black:`#808080`,red:`#f87171`,green:`#4ade80`,yellow:`#fbbf24`,blue:`#60a5fa`,magenta:`#c084fc`,cyan:`#22d3ee`,white:`#d4d4d4`,brightBlack:`#a0a0a0`,brightRed:`#fca5a5`,brightGreen:`#86efac`,brightYellow:`#fde047`,brightBlue:`#93c5fd`,brightMagenta:`#d8b4fe`,brightCyan:`#67e8f9`,brightWhite:`#ffffff`},light:{background:`#fafafa`,foreground:`#171717`,cursor:`#2563eb`,cursorAccent:`#fafafa`,selectionBackground:`rgba(37, 99, 235, 0.2)`,selectionForeground:`#000000`,black:`#171717`,red:`#dc2626`,green:`#16a34a`,yellow:`#ca8a04`,blue:`#2563eb`,magenta:`#9333ea`,cyan:`#0891b2`,white:`#f5f5f5`,brightBlack:`#737373`,brightRed:`#ef4444`,brightGreen:`#22c55e`,brightYellow:`#eab308`,brightBlue:`#3b82f6`,brightMagenta:`#a855f7`,brightCyan:`#06b6d4`,brightWhite:`#ffffff`}},FH=new WeakSet;function IH(e,t){let n=Object.getOwnPropertyDescriptor(e,t);return!n?.get||!n.set?null:{get:n.get,set:n.set,enumerable:n.enumerable??!0,configurable:n.configurable??!0}}var LH=!1,RH=null,zH=null;function BH(){LH||(LH=!0,!(typeof Node>`u`||typeof HTMLElement>`u`)&&(RH=IH(Node.prototype,`textContent`),zH=IH(HTMLElement.prototype,`innerText`)))}function VH(e){if(FH.has(e))return;FH.add(e);let t=RH?.get;if(t)for(let[n,r]of[[`textContent`,RH],[`innerText`,zH]])r&&Object.defineProperty(e,n,{configurable:r.configurable,enumerable:r.enumerable,get(){return r.get.call(this)},set(e){t.call(this)!==e&&r.set.call(this,e)}})}function HH(e){BH();let t=()=>{for(let t of Array.from(e.children))t instanceof HTMLElement&&VH(t)};t();let n=new MutationObserver(t);return n.observe(e,{childList:!0}),()=>n.disconnect()}var UH={up:`\x1B[A`,down:`\x1B[B`,left:`\x1B[D`,right:`\x1B[C`},WH=150,GH=250,KH=400,qH=1500,JH=15,YH=70;function XH(e=10){`vibrate`in navigator&&navigator.vibrate(e)}function ZH(e,t){let n=Math.sqrt(e*e+t*t);if(n<JH)return{direction:null,distance:0};let r=180/Math.PI*Math.atan2(t,e),i;return i=r>=-45&&r<45?`right`:r>=45&&r<135?`down`:r>=-135&&r<-45?`up`:`left`,{direction:i,distance:n}}function QH(e){let t=YH-20;return qH-Math.min(e/t,1)*(qH-KH)}function $H({onSendKey:e,disabled:t=!1,onRefocus:n,isKeyboardVisible:r}){let[i,a]=(0,x.useState)(!1),[o,s]=(0,x.useState)(null),[c,l]=(0,x.useState)({x:0,y:0}),[u,d]=(0,x.useState)({x:0,y:0}),f=(0,x.useRef)(null),p=(0,x.useRef)(null),m=(0,x.useRef)(null),h=(0,x.useRef)(!1),g=(0,x.useRef)(null),_=(0,x.useRef)(0),v=(0,x.useRef)({x:0,y:0}),y=(0,x.useCallback)(()=>{f.current&&=(clearTimeout(f.current),null),p.current&&=(clearTimeout(p.current),null),m.current&&=(clearInterval(m.current),null)},[]),b=(0,x.useCallback)(()=>{p.current&&=(clearTimeout(p.current),null),m.current&&=(clearInterval(m.current),null)},[]),S=(0,x.useCallback)(t=>{let n=QH(_.current);m.current=setTimeout(()=>{g.current&&(XH(5),e(t),S(t))},n)},[e]),C=(0,x.useCallback)((n,r)=>{if(!n||t)return;let i=UH[n];_.current=r,XH(8),e(i),b(),p.current=setTimeout(()=>{S(i)},GH)},[t,e,b,S]),w=(0,x.useCallback)((e,t)=>{let n=e-v.current.x,r=t-v.current.y,i=Math.sqrt(n*n+r*r),a=Math.min(i,YH-20),o=i>0?a/i:0;d({x:n*o,y:r*o});let{direction:c,distance:l}=ZH(n,r);_.current=l,c!==g.current&&(g.current=c,s(c),b(),c&&C(c,l))},[b,C]),T=(0,x.useCallback)(()=>{a(!1),s(null),d({x:0,y:0}),b(),g.current=null,h.current&&n?.()},[b,n]),E=(0,x.useCallback)(e=>{if(t)return;e.preventDefault(),e.stopPropagation();let n=e.touches[0];h.current=r?.()??!1,v.current={x:n.clientX,y:n.clientY},f.current=setTimeout(()=>{XH(15),l({x:n.clientX,y:n.clientY-80}),d({x:0,y:0}),a(!0)},WH)},[t,r]),D=(0,x.useCallback)(e=>{if(e.preventDefault(),e.stopPropagation(),!i)return;let t=e.touches[0];w(t.clientX,t.clientY)},[i,w]),O=(0,x.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),f.current&&=(clearTimeout(f.current),null),i&&T()},[i,T]),k=(0,x.useCallback)(e=>{e.preventDefault(),y(),T()},[y,T]);return(0,x.useEffect)(()=>()=>{y()},[y]),(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`button`,{type:`button`,"aria-label":`Arrow keys`,className:`
211
211
  terminal-key
212
212
  flex items-center justify-center
213
213
  size-[44px] p-0
@@ -219,7 +219,7 @@ ${s.join(`
219
219
  text-secondary
220
220
  ${t?`opacity-50`:``}
221
221
  ${i?`bg-hover scale-95`:``}
222
- `,style:{touchAction:`none`,WebkitTouchCallout:`none`,WebkitUserSelect:`none`},onTouchStart:T,onTouchMove:E,onTouchEnd:D,onTouchCancel:O,disabled:t,children:(0,G.jsx)(Oe,{width:20,height:20})}),i&&(0,G.jsxs)(`div`,{className:`fixed inset-0 z-50`,style:{touchAction:`none`},onTouchMove:E,onTouchEnd:D,onTouchCancel:O,children:[(0,G.jsx)(`div`,{className:`absolute inset-0 bg-black/20`}),(0,G.jsxs)(`div`,{className:`absolute`,style:{left:c.x,top:c.y,transform:`translate(-50%, -50%)`},children:[(0,G.jsxs)(`div`,{className:`relative rounded-full bg-black/40 backdrop-blur-md border-2 border-white/20`,style:{width:YH*2,height:YH*2},children:[[{dir:`up`,angle:-90,label:`↑`},{dir:`right`,angle:0,label:`→`},{dir:`down`,angle:90,label:`↓`},{dir:`left`,angle:180,label:`←`}].map(({dir:e,angle:t,label:n})=>(0,G.jsx)(`div`,{className:`
222
+ `,style:{touchAction:`none`,WebkitTouchCallout:`none`,WebkitUserSelect:`none`},onTouchStart:E,onTouchMove:D,onTouchEnd:O,onTouchCancel:k,disabled:t,children:(0,G.jsx)(Oe,{width:20,height:20})}),i&&(0,G.jsxs)(`div`,{className:`fixed inset-0 z-50`,style:{touchAction:`none`},onTouchMove:D,onTouchEnd:O,onTouchCancel:k,children:[(0,G.jsx)(`div`,{className:`absolute inset-0 bg-black/20`}),(0,G.jsxs)(`div`,{className:`absolute`,style:{left:c.x,top:c.y,transform:`translate(-50%, -50%)`},children:[(0,G.jsxs)(`div`,{className:`relative rounded-full bg-black/40 backdrop-blur-md border-2 border-white/20`,style:{width:YH*2,height:YH*2},children:[[{dir:`up`,angle:-90,label:`↑`},{dir:`right`,angle:0,label:`→`},{dir:`down`,angle:90,label:`↓`},{dir:`left`,angle:180,label:`←`}].map(({dir:e,angle:t,label:n})=>(0,G.jsx)(`div`,{className:`
223
223
  absolute text-2xl font-bold
224
224
  transition-all duration-75
225
225
  ${o===e?`text-accent scale-125`:`text-white/60`}
@@ -251,7 +251,7 @@ ${s.join(`
251
251
  select-none
252
252
  transition-all duration-75
253
253
  ${o===e?`bg-accent text-white scale-110`:`bg-white/90 text-gray-800`}
254
- `,style:{width:tU,height:nU,WebkitUserSelect:`none`,userSelect:`none`},children:e},t):(0,G.jsx)(`div`,{style:{width:tU,height:nU}},t))}),(0,G.jsx)(`div`,{className:`text-center text-white text-sm font-medium select-none h-5`,style:{marginTop:rU+2},children:o?`Release to send "${o}"`:`\xA0`})]})})]})]})}var fU=(0,G.jsx)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`currentColor`,children:(0,G.jsx)(`path`,{d:`M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H7.07L2.4 12l4.66-7H22v14zm-11.59-2L14 13.41 17.59 17 19 15.59 15.41 12 19 8.41 17.59 7 14 10.59 10.41 7 9 8.41 12.59 12 9 15.59z`})}),pU=(0,G.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,G.jsx)(`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`}),(0,G.jsx)(`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,ry:`1`})]}),mU=(0,G.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,G.jsx)(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,ry:`2`}),(0,G.jsx)(`line`,{x1:`6`,y1:`8`,x2:`6`,y2:`8`}),(0,G.jsx)(`line`,{x1:`10`,y1:`8`,x2:`10`,y2:`8`}),(0,G.jsx)(`line`,{x1:`14`,y1:`8`,x2:`14`,y2:`8`}),(0,G.jsx)(`line`,{x1:`18`,y1:`8`,x2:`18`,y2:`8`}),(0,G.jsx)(`line`,{x1:`6`,y1:`12`,x2:`6`,y2:`12`}),(0,G.jsx)(`line`,{x1:`10`,y1:`12`,x2:`10`,y2:`12`}),(0,G.jsx)(`line`,{x1:`14`,y1:`12`,x2:`14`,y2:`12`}),(0,G.jsx)(`line`,{x1:`18`,y1:`12`,x2:`18`,y2:`12`}),(0,G.jsx)(`line`,{x1:`7`,y1:`16`,x2:`17`,y2:`16`})]}),hU=[{label:`esc`,key:`\x1B`},{label:`tab`,key:` `}],gU=[{label:fU,key:``,ariaLabel:`Delete word`},{label:(0,G.jsx)(fe,{width:18,height:18}),key:`\r`,grow:!0,className:`bg-accent/20 text-accent border-accent/40`,ariaLabel:`Enter`}];function _U(){`vibrate`in navigator&&navigator.vibrate(10)}function vU(e,t){if(!t||e.length!==1)return{output:e,consumeCtrl:!1};let n=e.toUpperCase().charCodeAt(0);return n>=65&&n<=90?{output:String.fromCharCode(n-64),consumeCtrl:!0}:{output:e,consumeCtrl:!0}}var yU={working:`bg-working`,waiting:`bg-waiting`,permission:`bg-approval`,unknown:`bg-muted`};async function bU(e,t){try{let n=new FormData;n.append(`image`,e,t);let r=await fetch(`/api/paste-image`,{method:`POST`,body:n});if(r.ok){let{path:e}=await r.json();return{path:e}}let i=`Image upload failed`;try{let e=await r.json();typeof e.error==`string`&&(i=e.error)}catch{}return{error:i}}catch{return{error:`Image upload failed`}}}function xU({onSendKey:e,onPasteText:t,disabled:n=!1,sessions:r,currentSessionId:i,agentType:a,onSelectSession:o,hideSessionSwitcher:s=!1,onRefocus:c,isKeyboardVisible:l,onEnterTextMode:u}){let[d,f]=(0,x.useState)(!1),[p,m]=(0,x.useState)(``),[h,g]=(0,x.useState)(null),[_,v]=(0,x.useState)(!1),[y,b]=(0,x.useState)(!1),S=(0,x.useRef)(null),C=(0,x.useRef)(null),w=(0,x.useRef)(0),T=(0,x.useRef)(null);(0,x.useEffect)(()=>{d&&S.current&&S.current.focus()},[d]),(0,x.useEffect)(()=>{let e=T.current;if(!e)return;let t=t=>{n||e.contains(t.target)&&l?.()&&t.preventDefault()};return e.addEventListener(`touchstart`,t,{passive:!1,capture:!0}),()=>{e.removeEventListener(`touchstart`,t,{capture:!0})}},[n,l]),(0,x.useEffect)(()=>{if(!y||n||typeof document>`u`)return;let t=t=>{let{output:n,consumeCtrl:r}=vU(t.key,!0);r&&(t.preventDefault(),t.stopPropagation(),_U(),e(n),b(!1))};return document.addEventListener(`keydown`,t,{capture:!0}),()=>{document.removeEventListener(`keydown`,t,{capture:!0})}},[y,n,e]),(0,x.useEffect)(()=>{if(!d)return;let t=C.current;if(!t)return;let n=async t=>{let n=t.clipboardData?.items;if(n){for(let r of n)if(r.type.startsWith(`image/`)){t.preventDefault();let n=r.getAsFile();if(!n)continue;v(!0),g(null);try{let t=await bU(n,`paste.${r.type.split(`/`)[1]||`png`}`);`path`in t?(e(tH(t.path,a)),f(!1),m(``),c?.()):g(t.error)}finally{v(!1)}return}}};return t.addEventListener(`paste`,n),()=>t.removeEventListener(`paste`,n)},[d,e,c,a]);let E=t=>{if(n)return;let r=l?.()??!1;_U();let{output:i,consumeCtrl:a}=vU(t,y);a&&b(!1),e(i),r&&c?.()},D=()=>{n||(_U(),b(!y))},O=t=>{let{output:n,consumeCtrl:r}=vU(t,y);r&&b(!1),e(n)},k=n=>{t?t(n):e(n)},A=async()=>{if(n)return;let t=l?.()??!1;_U(),g(null);try{let n=await navigator.clipboard.read();for(let r of n){let n=r.types.find(e=>e.startsWith(`image/`));if(n){let i=await bU(await r.getType(n),`paste.${n.split(`/`)[1]||`png`}`);if(`path`in i){e(tH(i.path,a)),t&&c?.();return}g(i.error),f(!0),m(``);return}if(r.types.includes(`text/plain`)){let e=await(await r.getType(`text/plain`)).text();if(e){k(e),t&&c?.();return}}}}catch{try{let e=await navigator.clipboard.readText();if(e){k(e),t&&c?.();return}}catch{}}f(!0),m(``)},j=()=>{p&&(_U(),k(p)),f(!1),m(``),g(null),c?.()},M=()=>{f(!1),m(``),g(null),c?.()},N=e=>{_U(),o(e)},P=()=>{n||(_U(),l?.()?document.activeElement instanceof HTMLElement&&document.activeElement.blur():u?.())},F=r.length>1&&!s,I=e=>t=>{n||(t.preventDefault(),t.stopPropagation(),w.current=Date.now(),e())},L=e=>()=>{n||Date.now()-w.current<700||e()};return(0,G.jsxs)(`div`,{ref:T,className:`terminal-controls flex flex-col gap-[6px] border-t border-border bg-elevated p-[6px] ${Ue()?``:`md:hidden`}`,children:[F&&(0,G.jsxs)(`div`,{className:`relative -mx-[6px]`,children:[(0,G.jsx)(`div`,{className:`absolute left-0 top-0 bottom-0 w-3 bg-gradient-to-r from-elevated to-transparent z-10 pointer-events-none`}),(0,G.jsx)(`div`,{className:`absolute right-0 top-0 bottom-0 w-3 bg-gradient-to-l from-elevated to-transparent z-10 pointer-events-none`}),(0,G.jsx)(`div`,{className:`flex items-center gap-[6px] overflow-x-auto px-[6px] scrollbar-none scroll-smooth snap-x snap-mandatory`,style:{WebkitOverflowScrolling:`touch`},children:r.map((e,t)=>(0,G.jsxs)(`button`,{type:`button`,className:`
254
+ `,style:{width:tU,height:nU,WebkitUserSelect:`none`,userSelect:`none`},children:e},t):(0,G.jsx)(`div`,{style:{width:tU,height:nU}},t))}),(0,G.jsx)(`div`,{className:`text-center text-white text-sm font-medium select-none h-5`,style:{marginTop:rU+2},children:o?`Release to send "${o}"`:`\xA0`})]})})]})]})}var fU=(0,G.jsx)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`currentColor`,children:(0,G.jsx)(`path`,{d:`M22 3H7c-.69 0-1.23.35-1.59.88L0 12l5.41 8.11c.36.53.9.89 1.59.89h15c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H7.07L2.4 12l4.66-7H22v14zm-11.59-2L14 13.41 17.59 17 19 15.59 15.41 12 19 8.41 17.59 7 14 10.59 10.41 7 9 8.41 12.59 12 9 15.59z`})}),pU=(0,G.jsxs)(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,G.jsx)(`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`}),(0,G.jsx)(`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,ry:`1`})]}),mU=(0,G.jsxs)(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,G.jsx)(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,ry:`2`}),(0,G.jsx)(`line`,{x1:`6`,y1:`8`,x2:`6`,y2:`8`}),(0,G.jsx)(`line`,{x1:`10`,y1:`8`,x2:`10`,y2:`8`}),(0,G.jsx)(`line`,{x1:`14`,y1:`8`,x2:`14`,y2:`8`}),(0,G.jsx)(`line`,{x1:`18`,y1:`8`,x2:`18`,y2:`8`}),(0,G.jsx)(`line`,{x1:`6`,y1:`12`,x2:`6`,y2:`12`}),(0,G.jsx)(`line`,{x1:`10`,y1:`12`,x2:`10`,y2:`12`}),(0,G.jsx)(`line`,{x1:`14`,y1:`12`,x2:`14`,y2:`12`}),(0,G.jsx)(`line`,{x1:`18`,y1:`12`,x2:`18`,y2:`12`}),(0,G.jsx)(`line`,{x1:`7`,y1:`16`,x2:`17`,y2:`16`})]}),hU=[{label:`esc`,key:`\x1B`},{label:`tab`,key:` `},{label:`⇧tab`,key:`\x1B[Z`,ariaLabel:`Shift+Tab`}],gU=[{label:fU,key:``,ariaLabel:`Delete word`},{label:(0,G.jsx)(fe,{width:18,height:18}),key:`\r`,grow:!0,className:`bg-accent/20 text-accent border-accent/40`,ariaLabel:`Enter`}];function _U(){`vibrate`in navigator&&navigator.vibrate(10)}function vU(e,t){if(!t||e.length!==1)return{output:e,consumeCtrl:!1};let n=e.toUpperCase().charCodeAt(0);return n>=65&&n<=90?{output:String.fromCharCode(n-64),consumeCtrl:!0}:{output:e,consumeCtrl:!0}}var yU={working:`bg-working`,waiting:`bg-waiting`,permission:`bg-approval`,unknown:`bg-muted`};async function bU(e,t){try{let n=new FormData;n.append(`image`,e,t);let r=await fetch(`/api/paste-image`,{method:`POST`,body:n});if(r.ok){let{path:e}=await r.json();return{path:e}}let i=`Image upload failed`;try{let e=await r.json();typeof e.error==`string`&&(i=e.error)}catch{}return{error:i}}catch{return{error:`Image upload failed`}}}function xU({onSendKey:e,onPasteText:t,disabled:n=!1,sessions:r,currentSessionId:i,agentType:a,onSelectSession:o,hideSessionSwitcher:s=!1,onRefocus:c,isKeyboardVisible:l,onEnterTextMode:u}){let[d,f]=(0,x.useState)(!1),[p,m]=(0,x.useState)(``),[h,g]=(0,x.useState)(null),[_,v]=(0,x.useState)(!1),[y,b]=(0,x.useState)(!1),S=(0,x.useRef)(null),C=(0,x.useRef)(null),w=(0,x.useRef)(0),T=(0,x.useRef)(null);(0,x.useEffect)(()=>{d&&S.current&&S.current.focus()},[d]),(0,x.useEffect)(()=>{let e=T.current;if(!e)return;let t=t=>{n||e.contains(t.target)&&l?.()&&t.preventDefault()};return e.addEventListener(`touchstart`,t,{passive:!1,capture:!0}),()=>{e.removeEventListener(`touchstart`,t,{capture:!0})}},[n,l]),(0,x.useEffect)(()=>{if(!y||n||typeof document>`u`)return;let t=t=>{let{output:n,consumeCtrl:r}=vU(t.key,!0);r&&(t.preventDefault(),t.stopPropagation(),_U(),e(n),b(!1))};return document.addEventListener(`keydown`,t,{capture:!0}),()=>{document.removeEventListener(`keydown`,t,{capture:!0})}},[y,n,e]),(0,x.useEffect)(()=>{if(!d)return;let t=C.current;if(!t)return;let n=async t=>{let n=t.clipboardData?.items;if(n){for(let r of n)if(r.type.startsWith(`image/`)){t.preventDefault();let n=r.getAsFile();if(!n)continue;v(!0),g(null);try{let t=await bU(n,`paste.${r.type.split(`/`)[1]||`png`}`);`path`in t?(e(tH(t.path,a)),f(!1),m(``),c?.()):g(t.error)}finally{v(!1)}return}}};return t.addEventListener(`paste`,n),()=>t.removeEventListener(`paste`,n)},[d,e,c,a]);let E=t=>{if(n)return;let r=l?.()??!1;_U();let{output:i,consumeCtrl:a}=vU(t,y);a&&b(!1),e(i),r&&c?.()},D=()=>{n||(_U(),b(!y))},O=t=>{let{output:n,consumeCtrl:r}=vU(t,y);r&&b(!1),e(n)},k=n=>{t?t(n):e(n)},A=async()=>{if(n)return;let t=l?.()??!1;_U(),g(null);try{let n=await navigator.clipboard.read();for(let r of n){let n=r.types.find(e=>e.startsWith(`image/`));if(n){let i=await bU(await r.getType(n),`paste.${n.split(`/`)[1]||`png`}`);if(`path`in i){e(tH(i.path,a)),t&&c?.();return}g(i.error),f(!0),m(``);return}if(r.types.includes(`text/plain`)){let e=await(await r.getType(`text/plain`)).text();if(e){k(e),t&&c?.();return}}}}catch{try{let e=await navigator.clipboard.readText();if(e){k(e),t&&c?.();return}}catch{}}f(!0),m(``)},j=()=>{p&&(_U(),k(p)),f(!1),m(``),g(null),c?.()},M=()=>{f(!1),m(``),g(null),c?.()},N=e=>{_U(),o(e)},P=()=>{n||(_U(),l?.()?document.activeElement instanceof HTMLElement&&document.activeElement.blur():u?.())},F=r.length>1&&!s,I=e=>t=>{n||(t.preventDefault(),t.stopPropagation(),w.current=Date.now(),e())},L=e=>()=>{n||Date.now()-w.current<700||e()};return(0,G.jsxs)(`div`,{ref:T,className:`terminal-controls flex flex-col gap-[6px] border-t border-border bg-elevated p-[6px] ${Ue()?``:`md:hidden`}`,children:[F&&(0,G.jsxs)(`div`,{className:`relative -mx-[6px]`,children:[(0,G.jsx)(`div`,{className:`absolute left-0 top-0 bottom-0 w-3 bg-gradient-to-r from-elevated to-transparent z-10 pointer-events-none`}),(0,G.jsx)(`div`,{className:`absolute right-0 top-0 bottom-0 w-3 bg-gradient-to-l from-elevated to-transparent z-10 pointer-events-none`}),(0,G.jsx)(`div`,{className:`flex items-center gap-[6px] overflow-x-auto px-[6px] scrollbar-none scroll-smooth snap-x snap-mandatory`,style:{WebkitOverflowScrolling:`touch`},children:r.map((e,t)=>(0,G.jsxs)(`button`,{type:`button`,className:`
255
255
  terminal-key flex items-center justify-center gap-1.5 shrink-0 snap-start
256
256
  h-[44px] min-w-[44px] px-2.5 text-xs font-medium rounded-md
257
257
  active:scale-95 transition-transform duration-75
@@ -268,7 +268,7 @@ ${s.join(`
268
268
  select-none touch-manipulation
269
269
  ${y?`bg-accent/20 text-accent border border-accent/40`:`bg-surface border border-border text-secondary`}
270
270
  ${n?`opacity-50`:``}
271
- `,onMouseDown:e=>e.preventDefault(),onTouchStart:I(D),onClick:L(D),disabled:n,children:`ctrl`}),hU.map((e,t)=>(0,G.jsx)(`button`,{type:`button`,className:`
271
+ `,onMouseDown:e=>e.preventDefault(),onTouchStart:I(D),onClick:L(D),disabled:n,children:`ctrl`}),hU.map((e,t)=>(0,G.jsx)(`button`,{type:`button`,"aria-label":e.ariaLabel,className:`
272
272
  terminal-key
273
273
  flex items-center justify-center
274
274
  size-[44px] p-0
@@ -8,7 +8,7 @@
8
8
  <title>Agentboard</title>
9
9
  <link rel="apple-touch-icon" href="/icons/pwa-192x192.png" />
10
10
  <meta name="theme-color" content="#0f172a" />
11
- <script type="module" crossorigin src="/assets/index-B6VRI9JP.js"></script>
11
+ <script type="module" crossorigin src="/assets/index-CTciRPGZ.js"></script>
12
12
  <link rel="stylesheet" crossorigin href="/assets/index-DIHhOXLG.css">
13
13
  <link rel="manifest" href="/manifest.webmanifest"></head>
14
14
  <body>
package/dist/client/sw.js CHANGED
@@ -1 +1 @@
1
- if(!self.define){let e,n={};const i=(i,o)=>(i=new URL(i+".js",o).href,n[i]||new Promise(n=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=n,document.head.appendChild(e)}else e=i,importScripts(i),n()}).then(()=>{let e=n[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(o,s)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(n[r])return;let d={};const t=e=>i(e,r),f={module:{uri:r},exports:d,require:t};n[r]=Promise.all(o.map(e=>f[e]||t(e))).then(e=>(s(...e),d))}}define(["./workbox-8c29f6e4"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"index.html",revision:"d9e04d04e2c7a6bebef0d3ea39a88d58"},{url:"favicon.svg",revision:"12048a608dedfc53518ddc59c07e41b6"},{url:"icons/pwa-512x512.png",revision:"eb82042b3e4ed505f3efe1b79622d998"},{url:"icons/pwa-192x192.png",revision:"affb57c15619ee7223d1adea372ad514"},{url:"fonts/jetbrains-mono-vietnamese-wght-normal.woff2",revision:"ddf99e6e35c6ee9f00a41d2567b0e77f"},{url:"fonts/jetbrains-mono-latin-wght-normal.woff2",revision:"b058178d7f309414f8f856b99fd80d9b"},{url:"fonts/jetbrains-mono-latin-ext-wght-normal.woff2",revision:"e36841ed93d5bfe6b1d487d18ad7e90b"},{url:"fonts/jetbrains-mono-greek-wght-normal.woff2",revision:"51671ed9eb64e29390d4791ab0023c8e"},{url:"fonts/jetbrains-mono-cyrillic-wght-normal.woff2",revision:"615bf869ebeb5998734d81fc8958116c"},{url:"fonts/jetbrains-mono-cyrillic-ext-wght-normal.woff2",revision:"742dd0628e0118d32dccf0437900670b"},{url:"assets/workbox-window.prod.es5-Bq4GJJid.js",revision:null},{url:"assets/index-DIHhOXLG.css",revision:null},{url:"assets/index-B6VRI9JP.js",revision:null},{url:"icons/pwa-192x192.png",revision:"affb57c15619ee7223d1adea372ad514"},{url:"icons/pwa-512x512.png",revision:"eb82042b3e4ed505f3efe1b79622d998"},{url:"manifest.webmanifest",revision:"b6d4b3666a548fa0f0c6919d31ec2eee"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api(?:\/|$)/,/^\/ws(?:\/|$)/]}))});
1
+ if(!self.define){let e,n={};const i=(i,o)=>(i=new URL(i+".js",o).href,n[i]||new Promise(n=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=n,document.head.appendChild(e)}else e=i,importScripts(i),n()}).then(()=>{let e=n[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e}));self.define=(o,s)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(n[r])return;let t={};const d=e=>i(e,r),f={module:{uri:r},exports:t,require:d};n[r]=Promise.all(o.map(e=>f[e]||d(e))).then(e=>(s(...e),t))}}define(["./workbox-8c29f6e4"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"index.html",revision:"3767b21b97888d51409394de20e9a290"},{url:"favicon.svg",revision:"12048a608dedfc53518ddc59c07e41b6"},{url:"icons/pwa-512x512.png",revision:"eb82042b3e4ed505f3efe1b79622d998"},{url:"icons/pwa-192x192.png",revision:"affb57c15619ee7223d1adea372ad514"},{url:"fonts/jetbrains-mono-vietnamese-wght-normal.woff2",revision:"ddf99e6e35c6ee9f00a41d2567b0e77f"},{url:"fonts/jetbrains-mono-latin-wght-normal.woff2",revision:"b058178d7f309414f8f856b99fd80d9b"},{url:"fonts/jetbrains-mono-latin-ext-wght-normal.woff2",revision:"e36841ed93d5bfe6b1d487d18ad7e90b"},{url:"fonts/jetbrains-mono-greek-wght-normal.woff2",revision:"51671ed9eb64e29390d4791ab0023c8e"},{url:"fonts/jetbrains-mono-cyrillic-wght-normal.woff2",revision:"615bf869ebeb5998734d81fc8958116c"},{url:"fonts/jetbrains-mono-cyrillic-ext-wght-normal.woff2",revision:"742dd0628e0118d32dccf0437900670b"},{url:"assets/workbox-window.prod.es5-Bq4GJJid.js",revision:null},{url:"assets/index-DIHhOXLG.css",revision:null},{url:"assets/index-CTciRPGZ.js",revision:null},{url:"icons/pwa-192x192.png",revision:"affb57c15619ee7223d1adea372ad514"},{url:"icons/pwa-512x512.png",revision:"eb82042b3e4ed505f3efe1b79622d998"},{url:"manifest.webmanifest",revision:"b6d4b3666a548fa0f0c6919d31ec2eee"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("/index.html"),{denylist:[/^\/api(?:\/|$)/,/^\/ws(?:\/|$)/]}))});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gbasin/agentboard-darwin-x64",
3
- "version": "0.4.24",
3
+ "version": "0.4.26",
4
4
  "description": "agentboard binary for darwin-x64",
5
5
  "repository": {
6
6
  "type": "git",