glimmervoid 0.46.2-next.129 → 0.46.2-next.130
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/client/assets/{alert-sound-Deu-O2kQ.js → alert-sound-DKO-ieDK.js} +1 -1
- package/dist/client/assets/alert-sound-DKO-ieDK.js.br +0 -0
- package/dist/client/assets/{benchmark-panel-B6pAjrlO.js → benchmark-panel-Y0LOW69l.js} +1 -1
- package/dist/client/assets/benchmark-panel-Y0LOW69l.js.br +0 -0
- package/dist/client/assets/{celebration-player-Cf5DwFjN.js → celebration-player-B1yF5py-.js} +1 -1
- package/dist/client/assets/celebration-player-B1yF5py-.js.br +0 -0
- package/dist/client/assets/{dialogs-ThZLhht_.js → dialogs-BfH5yA-b.js} +2 -2
- package/dist/client/assets/dialogs-BfH5yA-b.js.br +0 -0
- package/dist/client/assets/doc-editor-ui-C2FnDCyZ.js +1 -0
- package/dist/client/assets/doc-editor-ui-C2FnDCyZ.js.br +0 -0
- package/dist/client/assets/{first-run-checklist-DQ69ORji.js → first-run-checklist-SfR-n7Wf.js} +1 -1
- package/dist/client/assets/first-run-checklist-SfR-n7Wf.js.br +0 -0
- package/dist/client/assets/{hooks-panel-tXOqrUHw.js → hooks-panel-BFYqxSMY.js} +1 -1
- package/dist/client/assets/hooks-panel-BFYqxSMY.js.br +0 -0
- package/dist/client/assets/index-CBKtDjf_.js +78 -0
- package/dist/client/assets/index-CBKtDjf_.js.br +0 -0
- package/dist/client/assets/index-CVB9CG5c.css +2 -0
- package/dist/client/assets/index-CVB9CG5c.css.br +0 -0
- package/dist/client/assets/{issues-panel-DzX5iyjG.js → issues-panel-md7GmfcT.js} +1 -1
- package/dist/client/assets/issues-panel-md7GmfcT.js.br +0 -0
- package/dist/client/assets/{nyan-cat-D8iLr_Fu.js → nyan-cat-mppIwpJa.js} +1 -1
- package/dist/client/assets/nyan-cat-mppIwpJa.js.br +0 -0
- package/dist/client/assets/phone-shell-CX-Zpbqa.js +1 -0
- package/dist/client/assets/phone-shell-CX-Zpbqa.js.br +0 -0
- package/dist/client/assets/{plan-face-CFPT9PGb.js → plan-face-Cny9YLKQ.js} +2 -2
- package/dist/client/assets/plan-face-Cny9YLKQ.js.br +0 -0
- package/dist/client/assets/plan-render-CntBjNFw.js +4 -0
- package/dist/client/assets/plan-render-CntBjNFw.js.br +0 -0
- package/dist/client/assets/{pr-scope-tabs-CfkDxERy.js → pr-scope-tabs-BTMVfxHO.js} +1 -1
- package/dist/client/assets/pr-scope-tabs-BTMVfxHO.js.br +0 -0
- package/dist/client/assets/radar-panel-D5aEpubT.js +1 -0
- package/dist/client/assets/radar-panel-D5aEpubT.js.br +0 -0
- package/dist/client/assets/{resume-dialog-jWY_EzSD.js → resume-dialog-Bt7QrUHx.js} +1 -1
- package/dist/client/assets/resume-dialog-Bt7QrUHx.js.br +0 -0
- package/dist/client/assets/review-queue-panel-Cj7dmf28.js +10 -0
- package/dist/client/assets/review-queue-panel-Cj7dmf28.js.br +0 -0
- package/dist/client/assets/{settings-panel-BQ7bYcI0.js → settings-panel-Djstouyw.js} +4 -4
- package/dist/client/assets/settings-panel-Djstouyw.js.br +0 -0
- package/dist/client/assets/{shown-lightbox-YlHonAJa.js → shown-lightbox-CwPSo-lI.js} +1 -1
- package/dist/client/assets/shown-lightbox-CwPSo-lI.js.br +0 -0
- package/dist/client/assets/trace-panel-UI57qc-w.js +2 -0
- package/dist/client/assets/trace-panel-UI57qc-w.js.br +0 -0
- package/dist/client/assets/usage-panel-C5CT7UVw.js +1 -0
- package/dist/client/assets/usage-panel-C5CT7UVw.js.br +0 -0
- package/dist/client/assets/{visions-panel-SBNiN9Os.js → visions-panel-CrD7csaw.js} +1 -1
- package/dist/client/assets/visions-panel-CrD7csaw.js.br +0 -0
- package/dist/client/index.html +2 -2
- package/dist/client/index.html.br +0 -0
- package/package.json +1 -1
- package/dist/client/assets/alert-sound-Deu-O2kQ.js.br +0 -0
- package/dist/client/assets/benchmark-panel-B6pAjrlO.js.br +0 -0
- package/dist/client/assets/celebration-player-Cf5DwFjN.js.br +0 -0
- package/dist/client/assets/dialogs-ThZLhht_.js.br +0 -0
- package/dist/client/assets/doc-editor-ui-2H4K5ZBp.js +0 -1
- package/dist/client/assets/doc-editor-ui-2H4K5ZBp.js.br +0 -0
- package/dist/client/assets/first-run-checklist-DQ69ORji.js.br +0 -0
- package/dist/client/assets/hooks-panel-tXOqrUHw.js.br +0 -0
- package/dist/client/assets/index-BNOD_DwY.css +0 -2
- package/dist/client/assets/index-BNOD_DwY.css.br +0 -0
- package/dist/client/assets/index-nxt6LMXr.js +0 -84
- package/dist/client/assets/index-nxt6LMXr.js.br +0 -0
- package/dist/client/assets/issues-panel-DzX5iyjG.js.br +0 -0
- package/dist/client/assets/nyan-cat-D8iLr_Fu.js.br +0 -0
- package/dist/client/assets/phone-shell-BDURyW87.js +0 -1
- package/dist/client/assets/phone-shell-BDURyW87.js.br +0 -0
- package/dist/client/assets/plan-face-CFPT9PGb.js.br +0 -0
- package/dist/client/assets/pr-scope-tabs-CfkDxERy.js.br +0 -0
- package/dist/client/assets/radar-panel-BgGOypoL.js +0 -1
- package/dist/client/assets/radar-panel-BgGOypoL.js.br +0 -0
- package/dist/client/assets/resume-dialog-jWY_EzSD.js.br +0 -0
- package/dist/client/assets/review-queue-panel-ubZpHxn9.js +0 -10
- package/dist/client/assets/review-queue-panel-ubZpHxn9.js.br +0 -0
- package/dist/client/assets/settings-panel-BQ7bYcI0.js.br +0 -0
- package/dist/client/assets/shown-lightbox-YlHonAJa.js.br +0 -0
- package/dist/client/assets/trace-panel-G-7MhhOz.js +0 -2
- package/dist/client/assets/trace-panel-G-7MhhOz.js.br +0 -0
- package/dist/client/assets/usage-panel-21GwQKME.js +0 -1
- package/dist/client/assets/usage-panel-21GwQKME.js.br +0 -0
- package/dist/client/assets/visions-panel-SBNiN9Os.js.br +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/first-run-checklist-SfR-n7Wf.js","assets/dom-helpers-C7P3_59O.js","assets/control-ws-BGxkawWT.js","assets/updates-view-core-D49Cb8qb.js","assets/zod-BRLv4KqJ.js","assets/repo-roots-adder-BuUJoPeG.js","assets/doc-editor-ui-C2FnDCyZ.js","assets/modal-Bh-cVr-I.js","assets/plan-render-CntBjNFw.js","assets/shown-lightbox-CwPSo-lI.js","assets/dialogs-BfH5yA-b.js","assets/session-tick-Pvo63zK2.js","assets/card-registry-DTBOn8Bd.js","assets/xterm-CdMfg81L.js","assets/rolldown-runtime-DK3Fl9T5.js","assets/resume-dialog-Bt7QrUHx.js","assets/plan-face-Cny9YLKQ.js","assets/plan-face-BKvWQchw.css","assets/phone-shell-CX-Zpbqa.js","assets/celebration-player-B1yF5py-.js","assets/alert-sound-DKO-ieDK.js","assets/nyan-cat-mppIwpJa.js","assets/review-queue-panel-Cj7dmf28.js","assets/pr-scope-tabs-BTMVfxHO.js","assets/review-queue-panel-Dfky79CM.css","assets/issues-panel-md7GmfcT.js","assets/issues-panel-CPjbxcmf.css","assets/usage-panel-C5CT7UVw.js","assets/usage-panel-DNM1lX5J.css","assets/radar-panel-D5aEpubT.js","assets/radar-panel-DZnRUVtP.css","assets/visions-panel-CrD7csaw.js","assets/visions-panel-pBP6aaaP.css","assets/hooks-panel-BFYqxSMY.js","assets/hooks-panel-vO6hRv8A.css","assets/trace-panel-UI57qc-w.js","assets/trace-panel-8Txvz14_.css","assets/benchmark-panel-Y0LOW69l.js","assets/benchmark-panel-DDwPBdjB.css","assets/settings-panel-Djstouyw.js","assets/settings-panel-DF9_cNvu.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{l as e,m as t,n,o as r,s as i,u as a}from"./zod-BRLv4KqJ.js";import{$ as o,Bt as s,Ft as c,I as l,J as u,Lt as d,M as f,Nt as p,Ot as m,Pt as h,Q as g,St as _,Tt as v,Vt as ee,X as te,Y as ne,_ as re,_t as y,at as ie,ct as ae,f as oe,g as se,h as ce,ht as le,it as ue,jt as de,kt as fe,lt as pe,m as me,n as b,nt as he,ot as ge,q as _e,rt as ve,s as ye,t as be,u as xe,ut as Se,v as Ce,vt as we,wt as Te,xt as Ee,yt as De,zt as Oe}from"./updates-view-core-D49Cb8qb.js";import{A as ke,C as Ae,D as je,E as x,O as Me,S as Ne,T as Pe,b as Fe,c as Ie,d as Le,f as Re,g as ze,h as S,k as Be,l as Ve,m as C,n as He,o as w,t as Ue,v as We,w as Ge,x as Ke,y as qe}from"./dom-helpers-C7P3_59O.js";import{S as Je,_ as Ye,a as Xe,b as Ze,c as T,d as Qe,f as $e,g as et,h as tt,i as nt,l as E,m as rt,n as it,o as at,p as ot,r as st,s as ct,t as lt,u as ut,v as dt,x as ft,y as pt}from"./control-ws-BGxkawWT.js";import{S as mt,_ as ht,a as gt,b as _t,c as vt,d as yt,f as bt,g as xt,h as St,i as D,l as Ct,m as wt,n as Tt,o as O,r as k,s as Et,t as A,u as Dt,x as Ot,y as kt}from"./card-registry-DTBOn8Bd.js";import{a as At,i as jt,n as Mt,r as Nt,t as Pt}from"./modal-Bh-cVr-I.js";import{a as Ft,c as It,i as Lt,n as Rt,o as zt,r as Bt,s as Vt,t as Ht}from"./session-tick-Pvo63zK2.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Ut=new Map,Wt=new Set;function Gt(e){let t=m.safeParse(e);if(!t.success)T(`reviews`,`dropped github-prs: ${Je(t.error.issues)}`);else{Ut=new Map(Object.entries(t.data.prs));for(let e of Wt)e()}}function Kt(e){return Ut.get(e.toLowerCase())}function qt(e){Wt.add(e)}function Jt(e){return e===`remote`?`remote`:`local`}function Yt(e,t){return Jt(t)===`local`||e!==`shutdown`}var Xt=Object.freeze({setTimeoutFn:(e,t)=>setTimeout(e,t),clearTimeoutFn:e=>clearTimeout(e),setIntervalFn:(e,t)=>setInterval(e,t),clearIntervalFn:e=>clearInterval(e)});function Zt(e){return typeof e!=`object`||!e||!(`unref`in e)||typeof e.unref!=`function`||e.unref(),e}function Qt({mode:e,delayMs:t,run:n,setTimeoutFn:r=Xt.setTimeoutFn,clearTimeoutFn:i=Xt.clearTimeoutFn,unref:a=!0}){let o=null;function s(){o&&=(i(o),null)}function c(){e===`leading`&&o||(s(),o=r(()=>{o=null,n()},t),a&&Zt(o))}return{schedule:c,cancel:s,get isArmed(){return o!==null}}}function $t(e){return`Git tracks an old Glimmervoid post-turn report in ${e===1?`1 repository`:`${e} repositories`}. Nothing reads it, so run this to stop git tracking it and commit the deletion git then shows. Glimmervoid deletes the file itself on its next start:`}var en=Object.freeze({layout:`desktop`,activeView:`focus`,phoneScreen:null,focusedSessionId:null,selectedSessionId:null,borrowedCardId:null}),tn=e=>e||null,nn=Object.freeze({setLayout:e=>({layout:e}),setActiveView:e=>({activeView:e}),setPhoneScreen:e=>({phoneScreen:tn(e)}),focusSession:e=>({focusedSessionId:tn(e)}),selectSession:e=>({selectedSessionId:tn(e)}),borrowCard:e=>({borrowedCardId:tn(e)})});function rn(e){let t=Object.freeze({...en,...e}),n=new Set;function r(){return t}function i(e){return typeof e==`function`?(n.add(e),()=>n.delete(e)):()=>{}}function a(e){let n=[];for(let r of Object.keys(e)){if(!(r in en))throw Error(`ui-state: unknown key "${r}"`);Object.is(t[r],e[r])||n.push(r)}return n}function o(e,r){let i=nn[e];if(!i)throw Error(`ui-state: unknown action "${e}"`);let o=i(r),s=a(o);if(s.length===0)return t;let c=t;t=Object.freeze({...t,...o});for(let e of n)try{e(t,s,c)}catch{}return t}return{snapshot:r,subscribe:i,dispatch:o}}var j=rn(),an=()=>j.snapshot().activeView;function on(){return j.snapshot().borrowedCardId}function sn(e,t,n,{className:r}={}){if(!e?.card||!n)return;let i=on();i&&i!==t&&cn();let a=e.card;a._cardHostClass&&a._cardHostClass!==r&&a.classList.remove(a._cardHostClass),a._cardHostClass=r||``,r&&a.classList.add(r),Ue(a,n),j.dispatch(`borrowCard`,t),e._ensureTerminalReady?.(),e._setBorrowed?.(!0),e._showPreferredFace?.()}function cn(){let e=on();if(j.dispatch(`borrowCard`,null),!e)return null;let t=O.get(e);t?._showTerminalFace?.(),t?._setBorrowed?.(!1),t?._setActiveViewer?.(!1);let n=t?.card;return n&&(n._cardHostClass&&n.classList.remove(n._cardHostClass),delete n._cardHostClass,ze(n,Tt)),e}var ln=[{name:`Nyan cat`,sprite:`is-cat`,trail:`is-rainbow`},{name:`Unicorn`,sprite:`is-unicorn`,trail:`is-sparkles`},{name:`Dragon`,sprite:`is-dragon`,trail:`is-embers`},{name:`Pig`,sprite:`is-pig`,trail:`is-hearts`},{name:`Whale`,sprite:`is-whale`,trail:`is-bubbles`},{name:`Fox`,sprite:`is-fox`,trail:`is-paws`},{name:`Frog`,sprite:`is-frog`,trail:`is-dust`},{name:`Penguin`,sprite:`is-penguin`,trail:`is-snow`},{name:`Bee`,sprite:`is-bee`,trail:`is-honey`},{name:`Owl`,sprite:`is-owl`,trail:`is-stars`},{name:`Cow`,sprite:`is-cow`,trail:`is-daisies`},{name:`Panda`,sprite:`is-panda`,trail:`is-bamboo`},{name:`Red panda`,sprite:`is-red-panda`,trail:`is-leaves`},{name:`Deer`,sprite:`is-deer`,trail:`is-acorns`},{name:`Horse`,sprite:`is-horse`,trail:`is-clover`},{name:`Sheep`,sprite:`is-sheep`,trail:`is-clouds`},{name:`Hamster`,sprite:`is-hamster`,trail:`is-seeds`},{name:`Giraffe`,sprite:`is-giraffe`,trail:`is-acacia`},{name:`Hedgehog`,sprite:`is-hedgehog`,trail:`is-logomarks`}],un=1/25,dn=3;function fn(e,t,n){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(n.max,Math.max(n.min,e))}function pn(e){if(!Array.isArray(e))return[];let t=new Set(ln.map(e=>e.sprite));return[...new Set(e.filter(e=>typeof e==`string`&&t.has(e)))]}function mn(e={}){let t=je,n=Be,r=Me,i=fn(e.flyingAnimalsMinGapSeconds,t.flyingAnimalsMinGapSeconds,n),a=fn(e.flyingAnimalsMaxGapSeconds,t.flyingAnimalsMaxGapSeconds,n),o=fn(e.flyingAnimalsMinDurationSeconds,t.flyingAnimalsMinDurationSeconds,r),s=fn(e.flyingAnimalsMaxDurationSeconds,t.flyingAnimalsMaxDurationSeconds,r);return{flyingAnimalsMinGapSeconds:Math.min(i,a),flyingAnimalsMaxGapSeconds:Math.max(i,a),flyingAnimalsMinDurationSeconds:Math.min(o,s),flyingAnimalsMaxDurationSeconds:Math.max(o,s),flyingAnimalsScale:fn(e.flyingAnimalsScale,t.flyingAnimalsScale,ke),flyingAnimalsOnPhone:typeof e.flyingAnimalsOnPhone==`boolean`?e.flyingAnimalsOnPhone:t.flyingAnimalsOnPhone,flyingAnimalsExcludedSprites:pn(e.flyingAnimalsExcludedSprites)}}function hn(e){return ln.some(t=>!e.includes(t.sprite))}function gn(e,t=-1,n=Math.random){let r=ln.flatMap((t,n)=>e.includes(t.sprite)?[]:[n]);if(r.length===0)return null;let i=r.length>1?r.filter(e=>e!==t):r,a=Math.min(1,Math.max(0,n()));return i[Math.min(i.length-1,Math.floor(a*i.length))]}function _n(e,t,n=Math.random,r){let i=r===void 0?gn(e.flyingAnimalsExcludedSprites,t,n):ln.findIndex(e=>e.sprite===r);if(i===null||i<0)return null;let a=e.flyingAnimalsMinDurationSeconds+n()*(e.flyingAnimalsMaxDurationSeconds-e.flyingAnimalsMinDurationSeconds),o=1e3*(e.flyingAnimalsMinGapSeconds+n()*(e.flyingAnimalsMaxGapSeconds-e.flyingAnimalsMinGapSeconds)),s=n()*a,c=n(),l=n()<.5,u=n()<un?dn:1;return{animalIndex:i,durationSeconds:a,gapMs:o,firstDelaySeconds:s,verticalProgress:c,isRightToLeft:l,arcProgress:(n()*2-1)*u}}function vn({isEnabled:e,hasReducedMotion:t,isPhone:n,options:r}){return t?`Flights are disabled because reduced motion is enabled.`:e?n&&!r.flyingAnimalsOnPhone?`Turn on Show on phone layout to use Fly now here.`:null:`Turn on flying animals to use Fly now.`}var yn=68,bn=42,xn=768,Sn=.68,Cn=64,wn=5,Tn=8,En=85;function Dn(e,t,n){return Math.min(Math.max(e,t),n)}function On({viewportWidthPx:e,viewportHeightPx:t,verticalProgress:n,isRightToLeft:r=!1,arcProgress:i=0}){let a=Dn(e/xn,Sn,1),o=(wn+70*n*n)*t/100,s=Math.max(o,Cn),c=En*t/100,l=Dn(i*Tn*t/100,Cn-s,c-s),u=-.45*e,d=1.45*e;return{scale:a,spriteWidthPx:yn,spriteHeightPx:bn,topPx:s,startXpx:r?d:u,endXpx:r?u:d,facing:r?-1:1,arcPx:l}}function kn(e,t){let n=Number.isFinite(t)&&t>0?t:1;return Math.max(1,Math.round(e*n))/n}function An(e,t,n){let r=kn(e.scale*t,n);return[[`--nyan-top`,`${e.topPx}px`],[`--nyan-scale`,String(r)],[`--nyan-width`,`${e.spriteWidthPx}px`],[`--nyan-height`,`${e.spriteHeightPx}px`],[`--nyan-start-x`,`${e.startXpx}px`],[`--nyan-end-x`,`${e.endXpx}px`],[`--nyan-facing`,String(e.facing)],[`--nyan-arc`,`${e.arcPx}px`],[`--nyan-travel`,`${Math.abs(e.endXpx-e.startXpx)/r}px`]]}var jn=`chime`,Mn=`custom:`,Nn=`/custom-sounds`,Pn=Object.freeze({chime:{label:`Chime`,peakGain:.12,tones:[{frequency:659.25,startSeconds:0,durationSeconds:.35,waveform:`sine`},{frequency:987.77,startSeconds:.14,durationSeconds:.5,waveform:`sine`}]},ping:{label:`Soft ping`,peakGain:.08,tones:[{frequency:1046.5,startSeconds:0,durationSeconds:.12,waveform:`triangle`},{frequency:1046.5,startSeconds:.13,durationSeconds:.12,waveform:`triangle`},{frequency:1318.51,startSeconds:.26,durationSeconds:.2,waveform:`triangle`}]},beep:{label:`Beep`,peakGain:.15,tones:[{frequency:880,startSeconds:0,durationSeconds:.2,waveform:`sine`}]}}),Fn=Object.freeze(Object.entries(Pn).map(([e,t])=>({id:e,label:t.label})));function In(e){return`${Mn}${e}`}function Ln(e){return`${Nn}/${encodeURIComponent(e)}`}function Rn(e){return e.startsWith(Mn)&&e.slice(7)||null}function zn(e){let t=(e??[]).map(e=>({id:In(e),label:e}));return[...Fn,...t]}function Bn(e,t){if(typeof e!=`string`)return jn;if(Object.hasOwn(Pn,e))return e;let n=Rn(e);return n&&(t===null||t.includes(n))?e:jn}function Vn(e){return typeof e!=`object`||!e||!(`sounds`in e)||!Array.isArray(e.sounds)?[]:e.sounds.filter(e=>typeof e==`string`&&e!==``)}function Hn(e,t){try{let n=localStorage.getItem(e);return n===null?t:JSON.parse(n)}catch{return t}}function Un(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var Wn=`↑`,Gn=`↓`,Kn=`←`,qn=`→`,Jn=`⌘`,Yn=`⌥`,Xn=Array.from({length:9},(e,t)=>[`Digit${t+1}`,t+1]),Zn=`KeyJ`,Qn=new Map([[`Minus`,`-`],[`Equal`,`=`],[`BracketLeft`,`[`],[`BracketRight`,`]`],[`Semicolon`,`;`],[`Quote`,`'`],[`Comma`,`,`],[`Period`,`.`],[`Slash`,`/`],[`Backquote`,"`"],[`Backslash`,`\\`]]),$n=new Set([`KeyQ`,`KeyW`,`KeyT`,`KeyN`,`KeyL`,`KeyR`]),er=new Set([`KeyC`,`KeyV`,`KeyX`,`KeyA`,`KeyZ`]);function tr(e){let t=/^(?:Key|Digit)([A-Z0-9])$/.exec(e);return t?t[1]:Qn.get(e)??null}function nr(e){return{action:`next-attention`,keyCaptions:[tr(e)??e],label:`Jump to the next session needing you`,stepByCode:new Map([[e,0]])}}var rr=[{action:`rail-step`,keyCaptions:[Wn,Gn],label:`Previous / next session in the rail`,stepByCode:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]])},{action:`view-step`,keyCaptions:[Kn,qn],label:`Previous / next view tab`,stepByCode:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1]]),unavailablePlatform:`other`},{action:`view-step`,keyCaptions:[`PgUp`,`PgDn`],label:`Previous / next view tab`,stepByCode:new Map([[`PageUp`,-1],[`PageDown`,1]]),unavailablePlatform:`mac`},{action:`session-nth`,keyCaptions:[`1..9`],label:`Jump to session 1 to 9`,stepByCode:new Map(Xn),isShellChord:!0,needsMacOption:!0},{action:`new-session`,keyCaptions:[`0`],label:`Add a session`,stepByCode:new Map([[`Digit0`,0]]),isShellChord:!0},{action:`quick-session`,keyCaptions:[`0`],label:`Add a session like the one you are in`,stepByCode:new Map([[`Digit0`,0]]),needsMacOption:!0,needsShiftOffMac:!0},{action:`merge`,keyCaptions:[`I`],label:`Merge the selected session`,stepByCode:new Map([[`KeyI`,0]])},{action:`close-session`,keyCaptions:[`K`],label:`Close the selected session`,stepByCode:new Map([[`KeyK`,0]])},{action:`resolve-or-resync`,keyCaptions:[`U`],label:`Resolve a parked merge, or resync the base branch`,stepByCode:new Map([[`KeyU`,0]]),isShellChord:!0},{action:`streamer-mode`,keyCaptions:[`\\`],label:`Turn streamer mode on or off`,stepByCode:new Map([[`Backslash`,0]]),isShellChord:!0}];function ir(e,t){return[nr(t),...rr].filter(t=>t.unavailablePlatform!==e)}function ar(e){if(tr(e)===null)return`Pick a letter, digit or punctuation key.`;if($n.has(e))return`The browser keeps that shortcut for itself.`;if(er.has(e))return`That shortcut stays with copy, cut, paste, select all and undo.`;let t=rr.find(t=>t.stepByCode.has(e));return t?`That key is already used to ${t.label.charAt(0).toLowerCase()}${t.label.slice(1)}.`:null}function or(e){return typeof e==`string`&&ar(e)===null}var sr=new Set([`Meta`,`Alt`,`Control`,`Shift`,`OS`]);function cr(e,t){if(e.key===`Escape`)return{kind:`cancelled`};if(sr.has(e.key))return{kind:`ignored`};let n=t===`mac`?`Cmd`:`Alt`;if(!ur(e,t,nr(e.code)))return{kind:`refused`,reason:`Hold ${n} alone while pressing the key.`};let r=ar(e.code);return r?{kind:`refused`,reason:r}:{kind:`recorded`,keyCode:e.code}}function lr(e){return/Mac|iPhone|iPad/.test(e)?`mac`:`other`}function ur(e,t,n){return e.ctrlKey?!1:t===`mac`?!e.shiftKey&&e.metaKey&&e.altKey===!!n.needsMacOption:e.altKey&&!e.metaKey&&e.shiftKey===!!n.needsShiftOffMac}function dr(e,t,n){return n.isTerminalFocused&&t!==`mac`&&!!e.isShellChord}var fr=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`]);function pr(e){return fr.has(e.key)?e.key:e.code}function mr(e,t,n={isTerminalFocused:!1},r=Zn){let i=pr(e);for(let a of ir(t,r)){let r=a.stepByCode.get(i);if(r!==void 0&&ur(e,t,a))return dr(a,t,n)?null:{action:a.action,step:r}}return null}function hr(e,t){return t===`focus`||e.action===`quick-session`}function gr(e,t){return e===`mac`?t?.needsMacOption?`${Jn}${Yn}`:Jn:t?.needsShiftOffMac?`Alt+Shift`:`Alt`}function _r(e,t,n){let r=ir(t,n).find(t=>t.action===e);if(!r)throw Error(`Unknown dashboard shortcut: ${e}`);return r}function vr(e,t,n=Zn){let r=_r(e,t,n);return[gr(t,r),r.keyCaptions.join(` `)]}function yr(e,t){let[n,r]=vr(e,t);return t===`mac`?`${n}${r}`:`${n}+${r}`}function br(e){let t=e===`mac`?`Meta`:`Alt`;return`ArrowUp ArrowDown ${t}+ArrowUp ${t}+ArrowDown`}function xr(e){return e===`mac`?`Cmd+Enter`:`Ctrl+Enter`}function Sr(e,t=Zn){let n=e===`mac`?Jn:`Ctrl`;return[{title:`Dashboard`,items:ir(e,t).map(t=>({combos:t.keyCaptions.map(n=>[gr(e,t),n]),label:t.label}))},{title:`Navigation`,items:[{combos:[[Wn],[Gn]],label:`Move rail highlight (rail focused)`},{combos:[[Kn],[qn]],label:`Switch view tab (tab focused)`}]},{title:`Reviews`,items:[{combos:[[`J`],[`K`]],label:`Next / previous pull request in the queue`},{combos:[[`N`],[`P`]],label:`Next / previous finding`},{combos:[[`X`]],label:`Post or drop the current finding`},{combos:[[`O`]],label:`Open the pull request in a session`},{combos:[[`A`],[`R`],[`C`]],label:`Pick Approve, Request changes or Comment`},{combos:[[n,`Enter`]],label:`Post the picked action, or the leading one from the note`},{combos:[[`Esc`]],label:`Drop the picked action`}]},{title:`Terminal`,items:[{combos:[[n,`C`]],label:`Copy selection`},{combos:[[n,`V`]],label:`Paste`},{combos:[[n,`Backspace`]],label:`Delete previous word`}]},{title:`General`,items:[{combos:[[`Esc`]],label:`Close dialog / cancel rename`}]}]}var Cr=`glimmervoid-ui-prefs`,wr=`glimmervoid:sidebar-width`,Tr=e=>t=>typeof t==`boolean`?t:e,Er=e=>t=>typeof t==`string`?t:e,Dr=e=>typeof e==`string`&&e?e:null,Or=e=>typeof e==`number`&&Number.isFinite(e)?e:null,kr=e=>t=>Or(t)??e,Ar=e=>Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e!==``))]:[],jr={soundEnabled:Tr(!0),soundId:Er(jn),themeId:Er(`phyrexian`),flyingAnimalsEnabled:Tr(!1),flyingAnimalsMinGapSeconds:kr(je.flyingAnimalsMinGapSeconds),flyingAnimalsMaxGapSeconds:kr(je.flyingAnimalsMaxGapSeconds),flyingAnimalsMinDurationSeconds:kr(je.flyingAnimalsMinDurationSeconds),flyingAnimalsMaxDurationSeconds:kr(je.flyingAnimalsMaxDurationSeconds),flyingAnimalsScale:kr(je.flyingAnimalsScale),flyingAnimalsOnPhone:Tr(je.flyingAnimalsOnPhone),flyingAnimalsExcludedSprites:pn,notificationsEnabled:Tr(!0),sessionUsageChips:Tr(!1),phoneArrowPad:Tr(!1),nextAttentionKeyCode:e=>or(e)?e:Zn,activeView:Er(`focus`),lastFocusedSessionId:Dr,railWidth:Or,reviewSidebarExpanded:Tr(!1),prsQueueWidth:Or,prsQueueCollapsed:Tr(!1),keptProjects:Ar,traceHiddenKinds:Ar,dismissedUpdate:Dr,telemetryNoticeDismissed:Tr(!1),radarAttentionAck:Er(``),prsAttentionAck:Er(``),prsUnseenRows:Er(``),usageAttentionAck:Er(``),visionsAttentionAck:Er(``)};function Mr(e,t,n){e[t]=jr[t](n)}function Nr(){let e=Hn(Cr,{}),t={};for(let n of Object.keys(jr))Mr(t,n,e?.[n]);return t}function M(e){return Nr()[e]}function N(e,t){let n=Nr();Mr(n,e,t),Un(Cr,n)}var Pr=()=>M(`soundEnabled`),Fr=e=>N(`soundEnabled`,e),Ir=()=>M(`soundId`),Lr=e=>N(`soundId`,e),Rr=()=>M(`notificationsEnabled`),zr=e=>N(`notificationsEnabled`,e),Br=()=>M(`sessionUsageChips`),Vr=e=>N(`sessionUsageChips`,e),Hr=()=>M(`phoneArrowPad`),Ur=e=>N(`phoneArrowPad`,e),Wr=()=>M(`nextAttentionKeyCode`),Gr=e=>N(`nextAttentionKeyCode`,e),Kr=()=>M(`themeId`),qr=e=>N(`themeId`,e),Jr=()=>M(`flyingAnimalsEnabled`),Yr=e=>N(`flyingAnimalsEnabled`,e),Xr=()=>M(`activeView`),Zr=e=>N(`activeView`,e),Qr=()=>M(`railWidth`),$r=e=>N(`railWidth`,e),ei=()=>M(`reviewSidebarExpanded`),ti=e=>N(`reviewSidebarExpanded`,e),ni=()=>M(`prsQueueWidth`),ri=e=>N(`prsQueueWidth`,e),ii=()=>M(`prsQueueCollapsed`),ai=e=>N(`prsQueueCollapsed`,e),oi=()=>M(`keptProjects`),si=e=>N(`keptProjects`,e),ci=()=>M(`traceHiddenKinds`),li=e=>N(`traceHiddenKinds`,e),ui=()=>M(`dismissedUpdate`),di=e=>N(`dismissedUpdate`,e),fi=()=>M(`telemetryNoticeDismissed`),pi=e=>N(`telemetryNoticeDismissed`,e),mi=()=>M(`radarAttentionAck`),hi=e=>N(`radarAttentionAck`,e),gi=()=>M(`prsAttentionAck`),_i=e=>N(`prsAttentionAck`,e),vi=()=>M(`prsUnseenRows`),yi=e=>N(`prsUnseenRows`,e),bi=()=>M(`usageAttentionAck`),xi=e=>N(`usageAttentionAck`,e),Si=()=>M(`visionsAttentionAck`),Ci=e=>N(`visionsAttentionAck`,e),wi=()=>M(`lastFocusedSessionId`),Ti=e=>N(`lastFocusedSessionId`,e),Ei=()=>Or(Hn(wr,null)),Di=e=>Un(wr,Or(e)),Oi=e=>N(`flyingAnimalsMinGapSeconds`,e),ki=e=>N(`flyingAnimalsMaxGapSeconds`,e),Ai=e=>N(`flyingAnimalsMinDurationSeconds`,e),ji=e=>N(`flyingAnimalsMaxDurationSeconds`,e),Mi=e=>N(`flyingAnimalsScale`,e),Ni=e=>N(`flyingAnimalsOnPhone`,e),Pi=e=>N(`flyingAnimalsExcludedSprites`,e),Fi=()=>mn(Nr()),Ii=()=>{let e=Nr();return Object.fromEntries(Object.keys(je).map(t=>[t,e[t]]))},Li=()=>Un(Cr,{...Nr(),...je}),Ri=On({viewportWidthPx:1440,viewportHeightPx:900,verticalProgress:0});function zi(e,t=``){let n=w(`div`,`flying-animal-preview ${t}`.trim());n.setAttribute(`aria-hidden`,`true`),n.style.setProperty(`--nyan-width`,`${Ri.spriteWidthPx}px`),n.style.setProperty(`--nyan-height`,`${Ri.spriteHeightPx}px`);let r=w(`div`,`flying-animal-preview-stage`);return r.append(w(`div`,`nyan-trail ${e.trail}`),w(`div`,`nyan-sprite ${e.sprite}`)),n.append(r),n}function Bi(){let e=gn(Fi().flyingAnimalsExcludedSprites);return e===null?null:ln[e]??null}var Vi=[],Hi=new Set;function Ui(e){let t=ie.safeParse(e);if(t.success){Vi=t.data;for(let e of Hi)e()}}function Wi(e){return Vi.find(t=>t.agent===e)??null}function Gi(e){return Hi.add(e),()=>{Hi.delete(e)}}var Ki=`modulepreload`,qi=function(e){return`/`+e},Ji={},Yi=function(e){return e.pathname.endsWith(`.css`)},Xi=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},P=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=qi(t,n);let r=s(t),i=Yi(r);return Xi(Ji,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:Ki,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},Zi=null,Qi=null,$i=!1,ea=null;function ta(){return Qi??=P(()=>import(`./first-run-checklist-SfR-n7Wf.js`).then(e=>(Zi=e,e),e=>(Qi=null,T(`first-run`,`first-run checklist failed to load: ${ft(e)}`),null)),__vite__mapDeps([0,1,2,3,4,5])),Qi}function na(e,t){ea={host:e,isShown:t},Zi?Zi.showFirstRunChecklist(e,t):t&&$i&&ta().then(e=>{e&&ea&&e.showFirstRunChecklist(ea.host,ea.isShown)})}function ra(){Zi?.refreshFirstRunChecklist()}function ia(){$i=!0,ea&&na(ea.host,ea.isShown)}var aa=new Map;function oa(e){return aa.get(e)??[]}function sa(e){return oa(e).length>0}function ca(e){k(e)?.btnDocs.classList.toggle(`visible`,sa(e))}var la=null,ua=null;function da(){return ua??=P(()=>import(`./doc-editor-ui-C2FnDCyZ.js`).then(e=>(la=e,e),e=>(ua=null,T(`doc-editor`,`doc editor failed to load: ${ft(e)}`),null)),__vite__mapDeps([6,1,2,3,4,7,8])),ua}function fa(e){da().then(t=>t?.openDocEditor(e))}function pa(e){la?.applyDocsToOpenEditor(e)}function ma(e){aa.set(e.id,e.docs),e.docs.length===0&&aa.delete(e.id),ca(e.id),pa(e.id)}function ha(e){let t=[...aa.keys()];aa.clear();for(let[t,n]of Object.entries(e.sessions))aa.set(t,n);for(let e of new Set([...t,...aa.keys()]))ca(e),pa(e)}var ga=new Map,_a=new Set,va=[],ya=[],ba=null,xa=null,Sa=!1;function Ca(e){return ga.get(e)??[]}function wa(e){return Ca(e).length>0}function Ta(e){return _a.has(e)}function Ea(e){va.push(e)}function Da(e){ya.push(e)}function Oa(e){let t=k(e);t&&(t.btnShown.classList.toggle(`visible`,wa(e)),t.shownUnopenedDot.hidden=!Ta(e))}function ka(e){if(_a.delete(e)){Oa(e);for(let t of va)t(e,[])}}function Aa(){return xa??=P(()=>import(`./shown-lightbox-CwPSo-lI.js`).then(e=>(ba=e,e),e=>(xa=null,T(`shown-files`,`shown file viewer failed to load: ${ft(e)}`),null)),__vite__mapDeps([9,1,7])),xa}function ja(e,t=null){wa(e)&&Aa().then(n=>n?.openShownLightbox(e,t))}function Ma(e){return e.slice(-50)}function Na(e,t){if(t.length===0)return;let n=ba?.isLightboxOpenOn(e)??!1;n||_a.add(e),Oa(e),n&&ba?.repaintLightboxOn(e);for(let n of va)n(e,t)}function Pa(e){let t=new Set(Ca(e.id).map(e=>e.id)),n=e.files.filter(e=>!t.has(e.id));if(ga.set(e.id,Ma([...Ca(e.id),...n])),Na(e.id,n),n.length!==0)for(let t of ya)t(e.id,n)}function Fa(e){let t=new Map(ga),n=Sa;Sa=!0,ga.clear();for(let[t,n]of Object.entries(e.sessions))ga.set(t,Ma(n));for(let e of new Set([...t.keys(),...ga.keys()])){wa(e)||_a.delete(e);let r=new Set((t.get(e)??[]).map(e=>e.id)),i=n?Ca(e).filter(e=>!r.has(e.id)):[];Oa(e),Na(e,i),ba?.repaintLightboxOn(e)}}function Ia({dialogClass:e,titleText:t,titleId:n,body:r,onCloseRequest:i}){let a=Nt({dialogClass:e,closeOnBackdrop:!1,onEscape:i}),o=w(`div`,`coherence-journal-header`),s=w(`h3`,`dialog-title`,t);s.id=n;let c=w(`button`,`btn-dialog btn-dialog-cancel`,`Close`);return c.type=`button`,o.append(s,c),a.dialog.append(o,...r),Pt(a.dialog,s.id),c.addEventListener(`click`,i),a.overlay.addEventListener(`click`,e=>{e.target===a.overlay&&i()}),{close:a.close,focusClose:()=>c.focus()}}function La({requestPrefix:e,dialogClass:t,titleText:n,unavailableLabel:r,timeoutMs:i}){let a=null;function o(e){e.timer!==null&&clearTimeout(e.timer),e.timer=null,e.requestId=null}function s({sessionId:s,status:c,body:l,parts:u,paintBeforeRequest:d,buildRequest:f}){a?.close();let p=st(e),m=Ia({dialogClass:t,titleText:n,titleId:`${p}-title`,body:l,onCloseRequest:()=>h.close()}),h={sessionId:s,status:c,parts:u,requestId:p,timer:null,close:()=>{o(h),a===h&&(a=null),m.close()}};a=h,d?.(),m.focusClose(),E(f(p))?h.timer=setTimeout(()=>{h.requestId=null,h.timer=null,c.textContent=`${r}: request timed out`},i):(h.requestId=null,c.textContent=`${r}: not connected`)}function c(e){let t=a;return!t||t.sessionId!==e.id||t.requestId===null||t.requestId!==e.requestId?null:(o(t),t)}return{open:s,settleResponse:c,currentPanel:()=>a}}var Ra=2,za={needsYou:1,broken:2,askedOfYou:3,waiting:4,settled:5},Ba={danger:za.broken,warn:za.askedOfYou,wait:za.waiting,ok:za.settled,muted:za.settled};function Va(e){return e?Ba[e]:za.settled}function Ha(e){let t=[...e].sort((e,t)=>e.tier-t.tier),n=t.slice(Ra);return{visible:t.slice(0,Ra),overflowCount:n.length,overflowHoverText:n.map(e=>`${e.text} ${e.hoverText}`).join(`
|
|
3
|
+
`)}}function Ua(e){return e.map(e=>[e.key,e.text,e.hoverText,e.look?.icon,e.look?.tone,e.tier].join(`|`)).join(`
|
|
4
|
+
`)}var Wa={decision:`Decision`,retraction:`Retraction`,conjecture:`Conjecture`,resolution:`Resolution`,dismissal:`Dismissal`,defect:`Defect`,experiment:`Experiment`,close:`Close`,unable:`Unable`,escalation:`Escalation`,acknowledgement:`Acknowledgement`,enactment:`Enactment`};function Ga(e){return e?.active!==!1||e.reason===y.notInstalled?[]:[{key:`coherence-hooks`,text:`Hooks off`,hoverText:`Coherence hooks not active: ${e.reason}${e.version?` (${e.version})`:``}`,look:{icon:`failed`,tone:`danger`},tier:za.broken}]}function Ka(e){let t=Ee.safeParse(e.kind);return{heading:`${t.success?Wa[t.data]:e.kind} | ${e.at??`Unknown time`} | ${e.id}`,text:e.text,detail:e.detail,supersedes:e.supersedes?`Supersedes: ${e.supersedes}`:null}}function qa(e,t){let n=[];return e?.active===!1&&n.push(`Coherence hooks not active: ${e.reason}${e.version?` (${e.version})`:``}`),t&&!t.journal.ok&&n.push(`Journal unavailable: ${t.journal.reason}`),{lines:n}}var Ja=new Map,Ya=new Map,Xa=La({requestPrefix:`coherence-journal`,dialogClass:`dialog coherence-journal-drawer`,titleText:`Coherence journal`,unavailableLabel:`Journal unavailable`,timeoutMs:5e3});function Za(e,t){Ya.delete(e),t&&Ya.set(e,t),ro(e)}function Qa(e){Ja.delete(e),Ya.delete(e);let t=Xa.currentPanel();t?.sessionId===e&&t.close()}function $a(e){let t=Ja.get(e.id);t&&t.updatedAt>e.updatedAt||(Ja.set(e.id,e),ro(e.id))}function eo(e){Ja.clear();for(let[t,n]of Object.entries(e.sessions))Ja.set(t,n);let t=Xa.currentPanel();t&&ro(t.sessionId)}function to(e){return Ga(Ya.get(e)??null).map(t=>({...t,onActivate:()=>io(e)}))}function no(e){return Ja.get(e)?.journal.ok===!0}function ro(e){let t=Xa.currentPanel();if(!t||t.sessionId!==e)return;let n=qa(Ya.get(e)??null,Ja.get(e)??null);t.parts.reading.replaceChildren(...n.lines.map(e=>w(`p`,null,e)))}function io(e){let t=w(`div`,`coherence-journal-reading`),n=w(`p`,`coherence-journal-status`,`Loading journal`);n.setAttribute(`role`,`status`);let r=w(`div`,`coherence-journal-entries`);Xa.open({sessionId:e,status:n,body:[t,n,r],parts:{reading:t,entries:r},paintBeforeRequest:()=>ro(e),buildRequest:t=>({type:`session-coherence-journal`,id:e,requestId:t})})}function ao(e){let t=Xa.settleResponse(e);t&&(e.ok?(t.status.textContent=e.entries.length===0?`No journal entries`:`${e.entries.length} journal entries (up to 200)`,t.parts.entries.replaceChildren(...e.entries.map(e=>{let t=Ka(e),n=w(`article`,`coherence-journal-entry`);return n.append(w(`h4`,null,t.heading),w(`p`,null,t.text)),t.detail&&n.append(w(`p`,null,t.detail)),t.supersedes&&n.append(w(`p`,null,t.supersedes)),n}))):t.status.textContent=`Journal unavailable: ${e.error||`could not read journal`}`)}var oo=new Set([`http:`,`https:`]);function so(e){let t;try{t=new URL(e)}catch{return null}return oo.has(t.protocol)?t.href:null}var co=/\bElectron\/\d/,lo=new Set([`localhost`,`127.0.0.1`]);function uo(e){return co.test(e)}function fo({userAgent:e,pageHostname:t}){return uo(e)&&lo.has(t)}function po(e){return so(e)!==null}var mo=new Set([0,1]);function ho({button:e,opensInNewTab:t}){return t&&mo.has(e)}function go(){return fo({userAgent:navigator.userAgent,pageHostname:location.hostname})}function _o(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function vo(e){try{let t=await ot();return(await fetch(`/open-external`,{method:`POST`,credentials:`same-origin`,cache:`no-store`,headers:{"content-type":`application/json`,"x-glimmervoid-page-token":t},body:JSON.stringify({url:e})})).ok}catch{return!1}}function yo(e){!go()||!po(e)?_o(e):vo(e).then(t=>{t||_o(e)})}function bo(e){if(e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t instanceof HTMLAnchorElement&&ho({button:e.button,opensInNewTab:t.target===`_blank`})&&po(t.href)&&(e.preventDefault(),yo(t.href))}function xo(e){go()&&(e.addEventListener(`click`,bo,!0),e.addEventListener(`auxclick`,bo,!0))}var So=`#c084fc`,Co=Object.freeze({failed:{icon:Fe[x.FAILED],color:`#ef4444`},waiting:{icon:Fe[x.WAITING],color:`#f59e0b`}});function wo({waitingCount:e,failedCount:t}){return e>0?`waiting`:t>0?`failed`:`idle`}function To(e){return Ke[e].map(({tag:e,attributes:t})=>`<${e} ${Object.entries(t).map(([e,t])=>`${e}="${t}"`).join(` `)}/>`).join(``)}function Eo(e){if(e===`idle`)return`<path d="M10 8 L22 16 L10 24Z" fill="${So}"/>`;let{icon:t,color:n}=Co[e];return`<g color="${n}" transform="translate(4 4) scale(1.5)">${To(t)}</g>`}function Do(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect width="32" height="32" rx="6" fill="#0a0810"/><rect x="1" y="1" width="30" height="30" rx="5" fill="none" stroke="#2a2440" stroke-width="1"/>${Eo(e)}</svg>`}function Oo(){let e=document.querySelector(`link[rel="icon"]`);if(e instanceof HTMLLinkElement)return e;let t=document.createElement(`link`);return t.rel=`icon`,t.type=`image/svg+xml`,document.head.append(t),t}var ko=Oo(),Ao=`idle`;function jo(e){let t=wo(e);t!==Ao&&(Ao=t,ko.href=`data:image/svg+xml,${encodeURIComponent(Do(t))}`)}function Mo(e,t){return Number.isFinite(e)?Math.round(Math.min(t.maxPx,Math.max(t.minPx,e))):null}function No(e,t){return e===`ArrowRight`?t:e===`ArrowLeft`?-t:null}function Po({resizer:e,column:t,widthHost:n,widthProperty:r,bounds:i,keyStepPx:a,getStoredWidth:o,setStoredWidth:s,growsLeftward:c=!1}){let l=c?-1:1;e.setAttribute(`aria-valuemin`,String(i.minPx)),e.setAttribute(`aria-valuemax`,String(i.maxPx));let u=t=>{let a=Mo(t,i);return a===null?null:(n.style.setProperty(r,`${a}px`),e.setAttribute(`aria-valuenow`,String(a)),a)},d=o();d!==null&&u(d);let f=0,p=0;e.addEventListener(`pointerdown`,n=>{n.button===0&&(f=n.clientX,p=t.getBoundingClientRect().width,e.setPointerCapture(n.pointerId),e.dataset.dragging=`true`,n.preventDefault())}),e.addEventListener(`pointermove`,t=>{e.hasPointerCapture(t.pointerId)&&u(p+l*(t.clientX-f))});let m=t=>{e.releasePointerCapture(t.pointerId),delete e.dataset.dragging};e.addEventListener(`pointerup`,t=>{e.hasPointerCapture(t.pointerId)&&(m(t),s(u(p+l*(t.clientX-f))))}),e.addEventListener(`pointercancel`,t=>{e.hasPointerCapture(t.pointerId)&&(m(t),u(p))}),e.addEventListener(`dblclick`,()=>{n.style.removeProperty(r),e.setAttribute(`aria-valuenow`,String(Math.round(t.getBoundingClientRect().width))),s(null)}),e.addEventListener(`keydown`,e=>{let n=No(e.key,a);if(n===null)return;e.preventDefault();let r=u(t.getBoundingClientRect().width+l*n);r!==null&&s(r)})}var Fo=new Set,Io=!1,Lo=()=>{};function Ro(e){Lo=e}function zo(e){Fo.add(e),!Io&&(Io=!0,requestAnimationFrame(Bo))}function Bo(){if(Io=!1,Fo.size===0)return;let e=new Set(Fo);Fo.clear(),Lo(e)}document.addEventListener(`visibilitychange`,()=>{document.hidden||Bo()});function Vo(e){let t=[],n=[],r=n=>e[t[n]??0]??0;e.forEach((e,i)=>{if(e<0)return;let a=0,o=t.length;for(;a<o;){let t=a+o>>1;r(t)<e?a=t+1:o=t}n[i]=a>0?t[a-1]??-1:-1,t[a]=i});let i=new Set,a=t.at(-1)??-1;for(;a>=0;)i.add(a),a=n[a]??-1;return i}function Ho(e,t){let n=new Map;Array.from(e.children).forEach((e,t)=>{n.set(e,t)});let r=Vo(t.map(e=>n.get(e)??-1)),i=null;for(let n=t.length-1;n>=0;--n){let a=t[n];a&&(r.has(n)||e.insertBefore(a,i),i=a)}}function F(e,t){e.textContent!==t&&(e.textContent=t)}function Uo(e,t){e.hidden!==t&&(e.hidden=t)}function I(e,t,n){e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Wo(e,t,n){e.dataset[t]!==n&&(e.dataset[t]=n)}var Go=`http://www.w3.org/2000/svg`;function Ko(e,t){let n=document.createElementNS(Go,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function qo(e,t){let n=document.createElementNS(Go,`svg`);return n.setAttribute(`width`,String(e)),n.setAttribute(`height`,String(t)),n.setAttribute(`viewBox`,`0 0 ${e} ${t}`),n.setAttribute(`aria-hidden`,`true`),n}var Jo=`M4 4L12 12M12 4L4 12`,Yo=`M10 3L5 8L10 13`,Xo=`M12 8a4 4 0 1 1-8 0a4 4 0 1 1 8 0M8 1.5v2.5M8 12v2.5M1.5 8h2.5M12 8h2.5M3.4 3.4l1.77 1.77M10.83 10.83l1.77 1.77M3.4 12.6l1.77-1.77M10.83 5.17l1.77-1.77`,Zo=`M3 4h10M3 8h10M3 12h10`,Qo=`M3 8h0.01M8 8h0.01M13 8h0.01`,$o=`M8 2.5v6M5 5.5h6M5 12.5h6`,es=`M4.5 12.5h7a3 3 0 0 0 0.4-5.97a4 4 0 0 0-7.7 0.57a2.7 2.7 0 0 0 0.3 5.4z`,ts=`M8 1.8l5.2 2v4c0 3.2-2.2 5.4-5.2 6.4c-3-1-5.2-3.2-5.2-6.4v-4z`,ns=`${ts}M2 2l12 12`,rs=`M9.2 1.5L3.5 9h4.3l-1 5.5L12.5 7H8.2z`,is=`M8.7 4.2L5.6 8.6h2.5l-.6 3.2l3.1-4.4H8.1z`,as=`M3 13V9M8 13V3M13 13V6.5`;function L(e,t=`2`){let n=qo(16,16);return n.classList.add(`line-icon`),n.append(Ko(`path`,{d:e,fill:`none`,stroke:`currentColor`,"stroke-width":t,"stroke-linecap":`round`,"stroke-linejoin":`round`})),n}function os(e,t){let{class:n,...r}=t,i=qo(16,16);return n!==void 0&&i.classList.add(n),i.append(Ko(e,r)),i}function ss(e){let t=document.createElement(`span`);t.className=`status-icon`,t.dataset.icon=e;for(let n of Ke[e])t.append(os(n.tag,n.attributes));return t}function cs(e,t){e.dataset.icon!==t&&(e.dataset.icon=t,e.replaceChildren(ss(t)))}var ls={busy:`text-text-muted`,ok:`text-state-done`,error:`text-state-failed`},us=15e3,ds=`Something went wrong. Details are hidden in streamer mode.`;function fs(e,t){return e!==`error`||t.startsWith(`Not connected to the server. Reconnecting.`)?t:document.documentElement.hasAttribute(`data-streamer`)?ds:t}var ps={busy:`working`,ok:`complete`,error:`failed`};function ms(e){let t=e.querySelector(`:scope > .action-status-icon`),n=e.querySelector(`:scope > .action-status-text`);if(t&&n&&e.childNodes.length===2)return{iconElement:t,textElement:n};let r=w(`span`,`action-status-icon`);r.setAttribute(`aria-hidden`,`true`);let i=w(`span`,`action-status-text`);return e.replaceChildren(r,i),{iconElement:r,textElement:i}}function hs(e){e.replaceChildren(),delete e.dataset.tone}function gs(e,t,n){if(!n){hs(e);return}if(!t){hs(e),e.textContent=n;return}e.dataset.tone=t;let{iconElement:r,textElement:i}=ms(e);cs(r,ps[t]),i.textContent=fs(t,n)}function _s(e=`action-status`){let t=w(`p`,e);return t.setAttribute(`role`,`status`),t.hidden=!0,{element:t,show:(n,r)=>{t.className=`${e} text-xs ${ls[n]}`,gs(t,n,r),t.hidden=!r},clear:()=>{t.hidden=!0,hs(t)}}}function vs(e,t){return E(e)?!0:(t.show(`error`,b),!1)}function ys(e,t){let n=e instanceof Error?e.message:``;return n===`Request timed out`?`The server did not answer within ${Math.round(t/1e3)} s.`:n||`Not connected to the server. Reconnecting.`}async function bs(e,t,n,{busyText:r,timeoutMs:i=us}={}){r&&n.show(`busy`,r);try{let r=await ut(e,t,{timeoutMs:i});return n.clear(),r}catch(e){return n.show(`error`,ys(e,i)),null}}var xs=null,Ss=3e4,Cs=null;function ws(){let e=document.getElementById(`header-status`),t=document.getElementById(`header-status-text`),n=document.getElementById(`header-status-age`),r=document.getElementById(`header-status-dismiss`);return!e||!t||!n||!r?null:(r.dataset.wired===void 0&&(r.dataset.wired=``,r.addEventListener(`click`,Os)),{line:e,text:t,age:n})}function Ts(){let e=ws();if(!e||!xs)return;let t=g(Date.now()-xs.raisedAt,{...ne,justNowBelowSeconds:60});e.age.textContent!==t&&(e.age.textContent=t)}function R({source:e,sessionId:t,message:n,hidesInStreamerMode:r=!0}){let i=ws();if(!i)return;let a=r?fs(`error`,n):n,o=w(`strong`,`header-status-source`,e);i.text.replaceChildren(o,` ${a}`),i.text.title=`${e}: ${a}`,xs={source:e,sessionId:t??null,raisedAt:Date.now()},Ts(),Cs??=window.setInterval(Ts,Ss),i.line.hidden=!1}function Es(e,t){xs?.source===e&&(t===void 0||xs.sessionId===t)&&Os()}function Ds(e){xs?.sessionId===e&&Os()}function Os(){xs=null,Cs!==null&&window.clearInterval(Cs),Cs=null;let e=ws();e&&(e.line.hidden=!0,e.text.replaceChildren(),e.text.title=``,e.age.textContent=``)}function z(e){return String(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}var ks={horizontal:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1]]),vertical:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]]),both:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1],[`ArrowUp`,-1],[`ArrowDown`,1]])};function As(e,t,n){return e<0?t>0?0:n-1:((e+t)%n+n)%n}function js(e,t,n,r){if(n===0)return null;if(e===`Home`)return 0;if(e===`End`)return n-1;let i=ks[r].get(e);return i===void 0?null:As(t,i,n)}function Ms(e,t,n){let r=w(`button`,`popup-menu-item ${n}`);return r.type=`button`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-label`,e),r.append(w(`span`,`popup-menu-item-label`,e),w(`span`,`popup-menu-item-hint`,t)),r}function Ns(e){return e.key===`ArrowDown`||e.key===`ArrowUp`}function Ps(e,t){let n=document.activeElement,r=n instanceof HTMLElement?e.indexOf(n):-1,i=js(t.key,r,e.length,`vertical`);i!==null&&e[i].focus()}function Fs(e){return e.key===`Home`||e.key===`End`}function Is(e){return e.metaKey||e.altKey||e.ctrlKey}function Ls(e,t,n){let r=e.relatedTarget;return r instanceof Node&&!t.contains(r)&&!n.contains(r)}function Rs({trigger:e,menu:t,menuItems:n,isOpen:r,open:i,close:a,signal:o}){function s(e){e.preventDefault(),e.stopPropagation(),r()||i(),Ps(n(),e)}e.addEventListener(`keydown`,e=>{!Is(e)&&Ns(e)&&s(e)},{signal:o}),t.addEventListener(`keydown`,e=>{Is(e)||(Ns(e)||Fs(e))&&s(e)},{signal:o}),document.addEventListener(`keydown`,t=>{t.key!==`Escape`||t.defaultPrevented||!r()||jt()||(t.preventDefault(),a(),e.focus())},{signal:o});for(let n of[e,t])n.addEventListener(`focusout`,n=>{r()&&Ls(n,t,e)&&a()},{signal:o})}var zs=`hover-tip`,Bs=`[data-tip-label]`,Vs=6,Hs=8,Us=null,Ws=null;function Gs(e){return e instanceof Element?e.closest(Bs):null}function Ks(){return Us||(Us=w(`div`,`hover-tip`),Us.id=zs,Us.setAttribute(`role`,`tooltip`),Us.hidden=!0,document.body.append(Us),Us)}function qs(e,t){let n=w(`span`,`hover-tip-text`);n.append(w(`b`,`hover-tip-label`,t.dataset.tipLabel??``));let r=t.dataset.tipDetail;r&&n.append(w(`span`,`hover-tip-detail`,r));let i=t.querySelector(`svg`)?.cloneNode(!0);e.replaceChildren(...i?[i]:[],n)}function Js(e,t){let n=t.getBoundingClientRect(),r=e.offsetWidth,i=window.innerWidth-r-Hs,a=Math.max(Hs,Math.min(n.right-r,i));e.style.left=`${a}px`,e.style.top=`${n.bottom+Vs}px`}function Ys(e){let t=Ks();Ws&&Ws!==e&&Ws.removeAttribute(`aria-describedby`),Ws=e,qs(t,e),t.hidden=!1,Js(t,e),e.setAttribute(`aria-describedby`,zs)}function Xs(){Ws&&(Ws.removeAttribute(`aria-describedby`),Ws=null,Us&&(Us.hidden=!0))}function Zs(e){Ws===e&&(!e.dataset.tipLabel||!e.isConnected?Xs():Ys(e))}var Qs=!1;function $s(){Qs||(Qs=!0,document.addEventListener(`pointerover`,e=>{let t=Gs(e.target);t?Ys(t):Xs()}),document.addEventListener(`pointerout`,e=>{Ws&&(e.relatedTarget instanceof Node&&Ws.contains(e.relatedTarget)||Xs())}),document.addEventListener(`focusin`,e=>{let t=Gs(e.target);t?Ys(t):Xs()}),document.addEventListener(`focusout`,Xs),document.addEventListener(`pointerdown`,Xs),document.addEventListener(`scroll`,Xs,!0),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&Xs()}))}var ec=new WeakMap;function tc(e){let t=ec.get(e);if(t?.element.parentElement===e.card)return t;let n=t??_s(`session-action-status m-0 px-3 py-1`);return e.termWrap.before(n.element),ec.set(e,n),n}function nc(e,t){let n=tc(e);return vs(t,n)?(n.clear(),!0):!1}var rc=!1,ic=new Set;function ac(e){rc=!!e,Bc();for(let e of ic)e(rc)}function oc(e){return ic.add(e),()=>ic.delete(e)}function sc(){return rc}var cc=null;function lc(e){cc=e}var uc=null;function dc(e){uc=e}var fc=null;function pc(e){fc=e}function mc(e,t){let n=w(`span`,`tag-icon ${e}`);return n.tabIndex=0,n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,t),n}function hc(e){let t=qo(16,16);return t.classList.add(`line-icon`),t.append(Ko(`path`,{d:e,fill:`currentColor`})),t}function gc(){let e=L(ts,`1.5`);return e.append(Ko(`path`,{d:is,fill:`currentColor`})),e}function _c(e){return`Runs in Coder workspace ${e}`}function vc(e,t){let n=t?`Sane YOLO`:`YOLO`;e.setAttribute(`aria-label`,n),e.dataset.tipLabel=n,e.dataset.tipDetail=t?`Skips permission prompts; Sane YOLO blocks catastrophic commands`:`Running with --dangerously-skip-permissions`,e.replaceChildren(t?gc():hc(rs)),Zs(e)}function yc(e,t){t&&(e.dataset.saneYolo=``),t||delete e.dataset.saneYolo;let n=e.querySelector(`.perms-badge`);n&&vc(n,t)}function bc(e,t){let n=k(e);n&&yc(n.card,t)}function xc(e,t,n,r={}){let i=n||x.INITIALIZING,a=w(`div`,`session-card`);a.dataset.id=e,a.dataset.session=t,a.dataset.state=i,r.skipPerms&&(a.dataset.skipPerms=``),r.saneYolo&&(a.dataset.saneYolo=``),r.worktree&&(a.dataset.worktree=``),r.workspace&&(a.dataset.workspace=``),r.remoteWorkspace&&(a.dataset.remoteWorkspace=r.remoteWorkspace),r.guarded&&(a.dataset.guarded=``),r.guardrailsReleased&&(a.dataset.guardrailsReleased=``),r.ephemeral&&(a.dataset.ephemeral=``),r.path&&(a.dataset.path=String(r.path));let o=w(`div`,`session-card-header`),s=w(`span`,`session-name`,t);s.title=`Double-click or press F2 to rename`,s.tabIndex=0;let c=r.skipPerms?mc(`perms-badge`,`YOLO`):null;c&&vc(c,r.saneYolo===!0);let l=w(`span`,`session-task-title`);Dc(l,r.taskTitle);let u=w(`div`,`session-actions`),d=w(`div`,`session-overflow`),f=w(`button`,`btn-action btn-session-menu visible`);f.append(L(Qo)),f.type=`button`,f.title=`Session actions`,f.setAttribute(`aria-label`,`Session actions`),f.setAttribute(`aria-haspopup`,`menu`),f.setAttribute(`aria-expanded`,`false`);let p=w(`div`,`popup-menu session-overflow-menu`);p.id=`session-menu-${e}`,p.setAttribute(`role`,`menu`),f.setAttribute(`aria-controls`,p.id);let m=Ms(`Restart...`,`Into this conversation, a fresh one, or an earlier one`,`overflow-restart`);m.setAttribute(`aria-haspopup`,`dialog`);let h=Ms(`Edit repositories...`,`Add or remove repositories in this workspace`,`overflow-workspace-repos`),g=Ms(`Link pull request...`,`Link or unlink pull requests for this session`,`overflow-link-pr visible`),_=w(`button`,`tag-icon guardrails-badge`);_.type=`button`,_.setAttribute(`aria-label`,`Guardrails`),Cc(_,a),g.onclick=()=>{p.classList.remove(`open`),f.setAttribute(`aria-expanded`,`false`),wc(e)};let v=Ms(`Coherence journal`,`Decisions and notes this session recorded`,`overflow-coherence-journal`);v.setAttribute(`aria-haspopup`,`dialog`);let ee=()=>v.classList.toggle(`visible`,uc?.isReadable(e)===!0);f.onclick=ee,f.onkeydown=ee,v.onclick=()=>{p.classList.remove(`open`),f.setAttribute(`aria-expanded`,`false`),uc?.open(e)};let te=Ms(`Session setup`,`MCP servers, plugins and hooks this session loaded`,`overflow-session-setup visible`);te.setAttribute(`aria-haspopup`,`dialog`),te.onclick=()=>{p.classList.remove(`open`),f.setAttribute(`aria-expanded`,`false`),fc?.(e)},p.append(m,h,v,te,g),d.append(f,p);let ne=w(`button`,`btn-action btn-debug`);ne.append(L(Xo)),ne.title=`Debug state`,ne.setAttribute(`aria-label`,`Debug session state`);let re=w(`button`,`btn-action btn-trace`);re.append(L(Zo)),re.type=`button`,re.title=`Trace`,re.setAttribute(`aria-label`,`Trace`);let y=w(`button`,`btn-action btn-remove visible`);y.append(L(Jo)),y.type=`button`,y.title=`Remove session`,y.setAttribute(`aria-label`,`Remove session`);let ie=w(`button`,`btn-action btn-face-plan`,`Plan`);ie.type=`button`,ie.title=`Show plan`;let ae=w(`button`,`btn-action btn-face-plan btn-docs`,`Docs`);ae.type=`button`,ae.title=`Open docs the agent surfaced`;let oe=w(`button`,`btn-action btn-face-plan btn-shown`,`Shown`);oe.type=`button`,oe.title=`Open files the agent showed you`;let se=w(`span`,`shown-unopened-dot`);se.hidden=!0,se.title=`New shown file`,u.append(se,oe,ae,ie,ne,re,d,y);let ce=w(`div`,`session-card-tags`),le=mc(`usage-badge`,`Usage`);le.append(L(as,`2.2`)),c&&ce.append(c),ce.append(_,le),$s();let ue=w(`span`,`session-ownership`);ue.hidden=!0,o.append(s,l,ue,ce,u);let de=w(`div`,`terminal-wrap`);return a.append(o,de),{card:a,header:o,nameEl:s,taskTitleEl:l,btnRestart:m,btnSessionMenu:f,btnWorkspaceRepos:h,btnGuardrails:_,btnTrace:re,btnRemove:y,btnPlan:ie,btnDocs:ae,btnShown:oe,shownUnopenedDot:se,btnDebug:ne,sessionMenu:p,termWrap:de}}var Sc={on:`Credentials, Glimmervoid state and blocked folders are off-limits to this session.`,released:`This session can read, write and reach anything your account can.`};function Cc(e,t){let n=t.dataset.guarded!==void 0,r=t.dataset.ephemeral===void 0&&(n||t.dataset.guardrailsReleased!==void 0),i=n?` Click to release.`:` Click to restore.`;e.setAttribute(`aria-pressed`,String(n)),e.setAttribute(`aria-disabled`,String(!r)),e.dataset.tipLabel=n?`Guardrails on`:`Guardrails released`,e.dataset.tipDetail=`${n?Sc.on:Sc.released}${r?i:``}`,e.replaceChildren(L(n?ts:ns,`1.6`)),Zs(e)}function wc(e){let{dialog:t,close:n,actions:r,btnCancel:i}=Mt({title:`Link pull request`}),a=w(`p`,`dialog-message`,`Paste a GitHub pull request URL or owner/repo#number.`),o=w(`input`,`dialog-input`);o.type=`text`,o.placeholder=`owner/repo#123`,o.autocomplete=`off`,o.spellcheck=!1,o.setAttribute(`aria-label`,`Pull request URL or owner/repo#number`);let s=w(`div`,`dialog-error`);s.setAttribute(`role`,`alert`);let c=w(`div`,`session-pr-chips dialog-linked-prs`);c.hidden=!0,cc?.(c,e);let l=w(`button`,`btn-dialog btn-dialog-confirm`,`Link`);l.type=`button`,r.append(l),t.append(c,a,o,s,r);function u(){let t=le(o.value);t?E({type:`link-session-pr`,id:e,key:t})?n():s.textContent=b:s.textContent=`Enter a github.com pull request URL or owner/repo#number.`}i.addEventListener(`click`,n),l.addEventListener(`click`,u),o.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),u())}),requestAnimationFrame(()=>o.focus())}function Tc(e,t){e.tabIndex=0,e.setAttribute(`role`,`button`),e.addEventListener(`click`,t),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())})}function Ec(e,t){let n=e.querySelector(`.session-ownership`);n&&(F(n,t??``),Uo(n,t===null))}function Dc(e,t){e.title=t??``,t&&e.removeAttribute(`aria-label`),t||e.setAttribute(`aria-label`,`Describe the task`),!e.querySelector(`input`)&&(e.textContent=t??``)}function Oc(e,t){let n=e.titleTargetEl?.isConnected?e.titleTargetEl:e.taskTitleEl;if(n.querySelector(`input`))return;let r=document.createElement(`input`);r.type=`text`,r.className=`session-title-input`,r.setAttribute(`aria-label`,`Task`),r.value=e.taskTitleIsCustom?e.taskTitle??``:``,r.placeholder=e.taskTitle??`What is this session working on?`,r.maxLength=120;let i=n.getAttribute(`role`),a=n.getAttribute(`tabindex`);n.removeAttribute(`role`),n.removeAttribute(`tabindex`),n.replaceChildren(r),r.focus(),r.select();function o(o){r.removeEventListener(`blur`,s),r.removeEventListener(`keydown`,c),o&&nc(e,{type:`set-session-title`,id:t,title:r.value.trim()}),n.replaceChildren(),i!==null&&n.setAttribute(`role`,i),a!==null&&n.setAttribute(`tabindex`,a),Dc(n,e.taskTitle)}function s(){o(!0)}function c(e){e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),o(!0)),e.key===`Escape`&&(e.preventDefault(),o(!1))}r.addEventListener(`blur`,s),r.addEventListener(`keydown`,c)}var kc=`session-rename-input`;function Ac(e){return!!e?.querySelector(`.${kc}`)}function jc(e,t,{returnsFocusToTerminal:n=!0}={}){let r=e.renameTargetEl?.isConnected?e.renameTargetEl:e.nameEl;if(!r||Ac(r))return;let i=e.card?.dataset.session??r.textContent??``,a=document.createElement(`input`);a.type=`text`,a.className=kc,a.value=i,a.maxLength=64,r.textContent=``,r.appendChild(a),a.focus(),a.select();let o=tc(e);function s(t){return e.card.dataset.ephemeral===void 0?we.test(t)?[...O.values()].some(n=>n!==e&&n.card.dataset.session===t)?`Session "${t}" already exists.`:``:De:`This session cannot be renamed`}function c(t=e.card?.dataset.session??i){r.textContent=t,e.nameEl&&e.nameEl!==r&&(e.nameEl.textContent=t),n&&e.term?.focus()}function l(){let e=a.value.trim(),t=e&&e!==i?s(e):``;t?(o.show(`error`,t),a.select()):u()}function u(){let n=a.value.trim();if(f(),!n||n===i){c();return}let r=s(n);r?(o.show(`error`,r),c()):nc(e,{type:`rename-session`,id:t,newName:n})?c(n):c()}function d(){f(),c()}function f(){a.removeEventListener(`blur`,u),a.removeEventListener(`keydown`,p)}function p(e){e.key===`Enter`&&(e.preventDefault(),l()),e.key===`Escape`&&(e.preventDefault(),d()),e.stopPropagation()}a.addEventListener(`blur`,u),a.addEventListener(`keydown`,p)}function Mc(){let e=w(`button`,`debug-close`);return e.type=`button`,e.title=`Close`,e.setAttribute(`aria-label`,`Close debug overlay`),e.append(L(Jo)),e}function Nc(e){return e?o(new Date(e)):`-`}function Pc(e){return`${(Number(e||0)/1e3).toFixed(1)}s`}function Fc(e){return e.decision===`gated`?`(${Number(e.active)||0} bg)`:e.decision===`wait`||e.decision===`release`?`(quiet ${Pc(e.quietMs)})`:``}function Ic(e){let t=`<span class="debug-dim">${Nc(e.ts)}</span>`;if(e.kind===`signal`){let n=z([e.signal,e.source].filter(Boolean).join(`/`));return e.action===`transition`?`${t} ${n} → <span class="debug-label">${z(e.event||``)}</span>`:e.action===`gate-held`?`${t} ${n} → held <span class="debug-dim">(${Number(e.active)||0} bg)</span>`:`${t} ${n} → <span class="debug-dim">no-op</span>`}if(e.kind===`gate`){let n=(e.repeats??0)>1?` <span class="debug-dim">x${Number(e.repeats)}</span>`:``,r=Fc(e),i=r?` <span class="debug-dim">${r}</span>`:``;return`${t} gate <span class="debug-label">${z(e.decision||`?`)}</span>${i}${n}`}if(e.kind===`notify`){let n=z(e.category||e.to||`?`);return e.category?`${t} notify <span class="debug-label">${n}</span>: fired`:`${t} notify ${n}: <span class="debug-dim">silent (${z(e.reason||``)})</span>`}return e.kind===`notify-state`?`${t} notify ${z(e.category||`?`)}: <span class="debug-dim">${z(e.from||`?`)} → ${z(e.to||`?`)}</span>`:`${t} <span class="debug-dim">${z(e.kind||`decision`)}</span>`}function Lc(e,t){if(!e.debugOverlay)return;let n=t,r=``;if(r+=`<div class="debug-section"><div class="debug-section-title">State</div>`,r+=`<div class="debug-field"><span class="debug-label">Current:</span> <span class="debug-value">${z(n.state)}</span></div>`,r+=`</div>`,r+=`<div class="debug-section"><div class="debug-section-title">Transitions (last ${n.transitions.length})</div>`,n.transitions.length===0&&(r+=`<div class="debug-field debug-dim">No transitions recorded</div>`),n.transitions.length>0)for(let e of n.transitions){let t=e.detail&&typeof e.detail==`object`?e.detail:null,n=t?[t.signal,t.source,t.deferred?`deferred`:null].filter(Boolean):[],i=n.length>0?` <span class="debug-dim">${z(n.join(`/`))}</span>`:``;r+=`<div class="debug-field"><span class="debug-dim">${Nc(e.timestamp)}</span> ${z(e.from)} → ${z(e.to)} <span class="debug-label">${z(e.event)}</span>${i}</div>`}r+=`</div>`;let i=n.detection||{},a=i.lastSignal,o=i.titleState||{};r+=`<div class="debug-section"><div class="debug-section-title">Detection</div>`,r+=`<div class="debug-field"><span class="debug-label">Last signal:</span> <span class="debug-value">${a?`${z(a.signal)} (${z(a.source||`?`)}${a.confidence?`/${z(a.confidence)}`:``})`:`none`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hooks injected:</span> <span class="debug-value">${i.hooksInjected?`yes`:`no`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hook seen:</span> <span class="debug-value">${i.hookSeen?`yes`:`no (degraded → title)`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Title state:</span> <span class="debug-value">${z(o.lastKind||`none`)}${o.hasSeenSpinner?` · spun`:``}</span></div>`,r+=`</div>`;let s=i.agents||{},c=i.gate;r+=`<div class="debug-section"><div class="debug-section-title">Agents</div>`,r+=`<div class="debug-field"><span class="debug-label">Active:</span> <span class="debug-value">${Number(s.active)||0} (counted ${Number(s.counted)||0}, declared ${Number(s.declared)||0})</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Idle:</span> <span class="debug-value">${Number(s.idleNames)||0} names, ${Number(s.idleTasks)||0} tasks</span></div>`;let l=c?`held ${Pc(c.heldForMs)} (seq ${Number(c.seq)||0}, lastActivity ${Number(c.lastActivitySeq)||0})`:`none`;r+=`<div class="debug-field"><span class="debug-label">Gate:</span> <span class="debug-value">${z(l)}</span></div>`,r+=`</div>`;let u=Array.isArray(n.decisions)?n.decisions:[];r+=`<div class="debug-section"><div class="debug-section-title">Decisions (last ${u.length})</div>`,u.length===0&&(r+=`<div class="debug-field debug-dim">No decisions recorded</div>`);for(let e of u)r+=`<div class="debug-field">${Ic(e)}</div>`;r+=`</div>`,e.debugOverlay.innerHTML=r,e.debugOverlay.prepend(Mc())}function Rc(e,t){if(e.debugOpen){zc(e);return}let n=document.createElement(`div`);n.className=`debug-overlay`,n.innerHTML=`<div class="debug-field debug-dim">Loading...</div>`,n.prepend(Mc()),e.card.appendChild(n),e.debugOverlay=n,e.debugOpen=!0,n.addEventListener(`click`,t=>{t.stopPropagation(),t.target instanceof Element&&t.target.closest(`.debug-close`)&&zc(e)}),E({type:`debug-state`,id:t})}function zc(e){e.debugOverlay&&=(e.debugOverlay.remove(),null),e.debugOpen=!1}function Bc(){for(let[,e]of O)e.btnDebug.classList.toggle(`visible`,rc),e.btnTrace.classList.toggle(`visible`,rc),!rc&&e.debugOpen&&zc(e)}function Vc(e){let t=typeof e.id==`string`?O.get(e.id):void 0;t?.debugOpen&&Lc(t,e.payload)}function Hc(e){k(e)?.debugOpen&&E({type:`debug-state`,id:e})}var Uc={merged:`M5.45 5.154A4.25 4.25 0 0 0 9.25 7.5h1.378a2.251 2.251 0 1 1 0 1.5H9.25A5.734 5.734 0 0 1 5 7.123v3.505a2.25 2.25 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.95-.218ZM4.25 13.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm8.5-4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM5 3.25a.75.75 0 1 0 0 .005V3.25Z`,draft:`M3.25 1A2.25 2.25 0 0 1 4 5.372v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.251 2.251 0 0 1 3.25 1Zm9.5 14a2.25 2.25 0 1 1 0-4.5 2.25 2.25 0 0 1 0 4.5ZM2.5 3.25a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM3.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm9.5 0a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM14 7.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm0-4.25a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Z`,conflict:`M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z`,behind:`M13.03 8.22a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.47 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l2.97 2.97V3.75a.75.75 0 0 1 1.5 0v7.44l2.97-2.97a.75.75 0 0 1 1.06 0Z`,failed:`M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z`,running:`M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z`,passed:`M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z`,ready:`M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm3.78-9.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018L6.75 9.19 5.28 7.72a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l2 2a.75.75 0 0 0 1.06 0Z`,"changes-requested":`M1 1.75C1 .784 1.784 0 2.75 0h7.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073ZM8 3.25a.75.75 0 0 1 .75.75v1.5h1.5a.75.75 0 0 1 0 1.5h-1.5v1.5a.75.75 0 0 1-1.5 0V7h-1.5a.75.75 0 0 1 0-1.5h1.5V4A.75.75 0 0 1 8 3.25Zm-3 8a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Z`,thread:`M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z`,reviewer:`M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z`,"your-turn":`M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z`,queued:`M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7-3.25v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5a.75.75 0 0 1 1.5 0Z`,discarded:`M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm9.78-2.22-5.5 5.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l5.5-5.5a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z`,stale:`M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z`,unknown:`M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.92 6.085h.001a.749.749 0 1 1-1.342-.67c.169-.339.436-.701.849-.977C6.845 4.16 7.369 4 8 4a2.756 2.756 0 0 1 1.637.525c.503.377.863.965.863 1.725 0 .448-.115.83-.329 1.15-.205.307-.47.513-.692.662-.109.072-.22.138-.313.195l-.006.004a6.24 6.24 0 0 0-.26.16.952.952 0 0 0-.276.245.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661.103-.067.207-.132.313-.195l.007-.004c.1-.061.182-.11.258-.161a.969.969 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.612.612 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1.01 1.01 0 0 0-.34.398ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z`,none:`M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z`};function Wc(e,t){let n=qo(16,16);return n.classList.add(`pr-status-icon`),t&&(n.dataset.tone=t),n.append(Ko(`path`,{d:Uc[e],fill:`currentColor`})),n}function Gc(e,{className:t=``,linkUrl:n,ariaLabel:r,onActivate:i}={}){let a=`signal ${t}`.trim(),o=n?Ie(a,``,n,e.hoverText):w(`span`,a);return o.title=e.hoverText,r&&o.setAttribute(`aria-label`,r),e.look&&(o.dataset.tone=e.look.tone,o.append(Wc(e.look.icon,e.look.tone))),o.append(e.text),i&&Kc(o,i,!n),o}function Kc(e,t,n){e.addEventListener(`click`,e=>{e.stopPropagation(),!e.defaultPrevented&&(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.preventDefault(),t()))}),n&&(e.tabIndex=0,e.setAttribute(`role`,`button`)),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||(e.stopPropagation(),e.preventDefault(),t()))})}function qc(e){e.removeAttribute(`tabindex`),e.removeAttribute(`role`)}function Jc(e,t){if(e.closest(`button, a[href]`))for(let e of t){qc(e);for(let t of e.querySelectorAll(`[role="button"]`))qc(t)}}function Yc(e){if(e.overflowCount===0)return null;let t=w(`span`,`signal-overflow`,`+${e.overflowCount}`);return t.title=e.overflowHoverText,t}function Xc(e,t,n=e=>Gc(e,e)){let r=Ua(t);if(e.dataset.signalSignature===r)return;e.dataset.signalSignature=r;let i=Ha(t),a=i.visible.map(n),o=Yc(i);o&&a.push(o),Jc(e,a),e.hidden=a.length===0,e.replaceChildren(...a)}var Zc=[],Qc=`plan`,$c={parked:{text:`PARKED`,hoverText:`Merge parked`,look:{icon:`failed`,tone:`danger`},tier:za.broken},merging:{text:`MERGING`,hoverText:`Merging`,look:{icon:`queued`,tone:`wait`},tier:za.waiting}};function el(e){Zc.push(e)}function tl(e){let t=$c[e];return t?[{...t,key:`merge`}]:[]}function nl(e){let t=e.closest(`.session-row`),n=t?.dataset.id;t&&n&&Xc(e,[...tl(t.dataset.merge??``),...Zc.flatMap(e=>e(n))])}function rl(){for(let e of document.querySelectorAll(`.session-row-signals`))nl(e)}function il(e,t=``){let n=w(e,`session-row ${t}`.trim());return n.innerHTML=`<span class="session-row-glyph" aria-hidden="true"></span><span class="session-row-main"><span class="session-row-title"><span class="session-row-name"></span><span class="session-row-cloud" hidden></span></span><span class="session-row-task" hidden></span><span class="session-row-ownership" hidden></span><span class="session-row-meta"><span class="session-row-label"></span><span class="session-row-signals" hidden></span></span></span><span class="session-row-elapsed" aria-hidden="true"></span><span class="session-row-attention-tab" aria-hidden="true" hidden></span>`,{row:n,refs:{glyph:C(n,`.session-row-glyph`),label:C(n,`.session-row-label`),ownership:C(n,`.session-row-ownership`),name:C(n,`.session-row-name`),cloud:C(n,`.session-row-cloud`),task:C(n,`.session-row-task`),signals:C(n,`.session-row-signals`),elapsed:C(n,`.session-row-elapsed`),attentionTab:C(n,`.session-row-attention-tab`)}}}function al(e,t){let n=w(`div`,`session-row-item`),r=w(`button`,`session-row-remove`);return r.append(L(Jo)),r.type=`button`,r.title=`Remove session`,r.setAttribute(`aria-label`,`Remove session`),r.addEventListener(`click`,e=>{e.stopPropagation(),t()}),n.append(e,r),{item:n,removeButton:r}}function ol(e,t,n,r=!1,i=null){Wo(e,`state`,n),Wo(e,`prompt`,i??``);let{icon:a,label:o,isMonitoring:s}=We(n,r),c=i===Qc?`Plan ready`:o;return e.toggleAttribute(`data-monitoring`,s),cs(t.glyph,a),F(t.label,c),c}function sl(e,t){return Uo(e,!t),t?(e.title=_c(t),e.firstChild||e.append(L(es)),e.title):null}function cl(e){let t=e.ownerId?O.get(e.ownerId):void 0,n=t?gt(t):null,r=A.ownedCountByOwnerId.get(e.card.dataset.id??``)??0;return yt({ownerName:n,ownedCount:r})}function ll(e,t,n){let r=cl(n);return F(t.ownership,r??``),Uo(t.ownership,r===null),e.closest(`.session-row-item`)?.toggleAttribute(`data-owned`,n.ownerId!==null&&O.has(n.ownerId)),Ec(n.card,r),r}function ul(e){return e===null?null:e===1?`next up`:`#${e} in line`}function dl(e,t,n){Uo(t,n===null),F(t,n===null?``:String(n)),e.toggleAttribute(`data-attention-head`,n===1)}function fl(e,t,{ui:n,state:r,name:i,mergeStatus:a,attentionPosition:o}){let s=ol(e,t,r,n.awaitingBackgroundTasks,n.pendingPromptKind);F(t.name,i);let c=sl(t.cloud,n.card.dataset.remoteWorkspace);F(t.task,n.taskTitle??``),Uo(t.task,!n.taskTitle||n.taskTitle===i),Wo(e,`merge`,a),nl(t.signals),Wo(e,`activity`,n._activity||``),F(t.elapsed,Bt(n));let l=ll(e,t,n);dl(e,t.attentionTab,o);let u=[i,c,n.taskTitle,s,l,ul(o)].filter(Boolean).join(`, `);return I(e,`aria-label`,u),I(e,`title`,u),s}var pl={ready:{label:`Ready`,meaning:`Ready to merge, or nothing left for you to do.`},passed:{label:`Passed`,meaning:`Checks passing, approved, or nothing open.`},failed:{label:`Failed`,meaning:`Checks failing, an automated review failed, or an auto-rebase failed.`},conflict:{label:`Conflict`,meaning:`Merge conflicts with the base branch.`},"your-turn":{label:`Your turn`,meaning:`Waiting on you: a review to give or a thread to answer.`},"changes-requested":{label:`Changes`,meaning:`A reviewer requested changes.`},thread:{label:`Threads`,meaning:`Unresolved review threads or comments.`},behind:{label:`Behind`,meaning:`The branch is behind its base.`},stale:{label:`Out of date`,meaning:`New commits landed since the automated review.`},running:{label:`Running`,meaning:`Checks or an automated review in progress.`},reviewer:{label:`Reviewer`,meaning:`Waiting on a reviewer.`},queued:{label:`Queued`,meaning:`Waiting for an automated review slot.`},draft:{label:`Draft`,meaning:`Still a draft.`},merged:{label:`Merged`,meaning:`Merged.`},discarded:{label:`Discarded`,meaning:`Review discarded or dismissed.`},unknown:{label:`Unknown`,meaning:`GitHub has not computed this yet.`},none:{label:`None`,meaning:`Nothing applies, such as no checks or no review requested.`}},ml=(e,t,n=!1)=>({state:e,awaitingBackgroundTasks:n,label:n?`Monitoring`:Ne[e],meaning:t}),hl=Object.freeze([ml(x.DORMANT,`Not started yet.`),ml(x.STARTING,`Setting up the worktree and booting the agent.`),ml(x.RUNNING,`The agent is mid-turn.`),ml(x.RUNNING,`The turn ended but background tasks or sub-agents are still running.`,!0),ml(x.WAITING,`Waiting on a permission prompt or your answer.`),ml(x.COMPLETE,`Finished a turn you have not looked at yet.`),ml(x.IDLE,`Ready for the next prompt.`),ml(x.DONE,`The agent process ended.`),ml(x.FAILED,`The agent failed to start or crashed. A red line above the terminal says why it could not start; its terminal output shows a crash.`)]);function gl(e,t){let n=w(`section`,`status-legend`),r=w(`dl`,`status-legend-rows`);return r.append(...t),n.append(w(`h2`,`status-legend-title`,e),r),n}function _l(e,t){let n=w(`div`,`status-legend-row`);return n.append(e,w(`dd`,`status-legend-meaning`,t)),n}function vl(){return gl(`Status colors`,hl.map(e=>{let t=w(`dt`,`status-legend-badge`),n=w(`span`,`status-legend-glyph`),r=w(`span`,`status-legend-name`);n.setAttribute(`aria-hidden`,`true`),t.append(n,r);let i=_l(t,e.meaning);return ol(i,{glyph:n,label:r},e.state,e.awaitingBackgroundTasks),i}))}function yl(){return gl(`Pull request icons`,Object.keys(pl).map(e=>{let t=pl[e],n=w(`dt`,`status-legend-badge`);return n.append(Wc(e),w(`span`,`status-legend-name`,t.label)),_l(n,t.meaning)}))}var bl=new Set(oi());function xl(){si([...bl])}function Sl(e){if(!e)return;let t=String(e);bl.has(t)||(bl.add(t),xl())}function Cl(e,t){let n=new Set;for(let r of e||[]){let e=t(r);if(!e)continue;let i=String(e);n.add(i),Sl(i)}return[...bl].filter(e=>!n.has(e))}function wl(e){return!e||!bl.delete(String(e))?!1:(xl(),!0)}function Tl(e,t=`explicit-state`){let n=t===`dormant-fallback`?e||x.DORMANT:e;return n===x.DORMANT?`start-session`:n===x.COMPLETE?`dismiss`:null}function El({previousState:e,nextState:t,isPhoneLayout:n,isDocumentVisible:r,isDocumentFocused:i,isActiveViewer:a,hasFocusInsideTerminal:o}){return t!==x.COMPLETE||!e||e===x.COMPLETE||!r?!1:n?a:i&&o}function Dl(e,t){if(!e)return null;let n=t.get(e);return!n||(n.currentState||x.DORMANT)===x.DORMANT?null:e}function Ol(e,t){if(e===t)return!0;let n=`${t} (`;if(!e.startsWith(n)||!e.endsWith(`)`))return!1;let r=e.slice(n.length,-1);return/^\d+$/.test(r)}function kl(e,t){let n=0;for(let r of t)Ol(r,e)&&n++;return n}function Al(e,t){let n=new Set(t);if(!n.has(e))return e;for(let t=2;t<1e3;t++){let r=`${e} (${t})`;if(!n.has(r))return r}return`${e} (${Date.now()})`}function jl(){let e=[];for(let[,t]of O)e.push(t.card.dataset.session??``);return e}function Ml(e){return kl(e,jl())}function Nl(e){return Al(e??``,jl())}function B(){return j.snapshot().selectedSessionId}function Pl(e){j.dispatch(`selectSession`,e)}function Fl(e){return j.subscribe((t,n)=>{n.includes(`selectedSessionId`)&&e(t.selectedSessionId)})}function Il(e,t=`explicit-state`){let n=O.get(e);if(!n)return null;let r=Tl(n.currentState,t);return r&&nc(n,{type:r,id:e}),n}function Ll(e,{rememberFocus:t=!0}={}){Pl(e),t&&Ti(e)}function Rl(){return Dl(wi(),O)}function zl(e=gt){let t=[...O];return Ct(t,e)}function Bl(e,t){let n=O.get(e);return n?nc(n,t):E(t)?!0:(R({source:`Session action`,sessionId:e,message:`${b} Try the action again once the header shows Connected.`}),!1)}var Vl=`Add session`;function Hl(e){return e.type===`add-session-result`&&e.error?e.error:e.type===`error`?e.message:`The session was not added.`}var Ul=!1;function Wl(e){Ul||(Ul=!0,P(()=>import(`./dialogs-BfH5yA-b.js`).then(t=>{Ul=!1,e(t)},()=>{Ul=!1,R({source:Vl,message:`The Add session dialog did not load. Reload the page, then add the session again.`})}),__vite__mapDeps([10,3,4,1,2,7,11,12,5])))}function Gl(){Wl(e=>e.createAddSessionDialog())}async function Kl(e,t){try{let n=Nl(t),r=await ut(`add-session`,{name:n,path:e},{timeoutMs:us});if(r.type===`add-session-result`&&r.ok){Es(Vl);return}R({source:Vl,message:Hl(r)})}catch(e){R({source:Vl,message:`The session was not added: ${ys(e,us)} Add it again once the server answers.`})}}function ql(e,t){e&&Kl(e,t)}async function Jl(e,t){try{let n=await ut(`quick-session`,{id:e},{timeoutMs:us});if(n.type===`add-session-result`&&n.ok){Es(Vl),n.sessionId&&t(n.sessionId);return}R({source:Vl,sessionId:e,message:Hl(n)})}catch(t){R({source:Vl,sessionId:e,message:`The session was not added: ${ys(t,us)} Add it again once the server answers.`})}}function Yl(e,t){Jl(e,t)}var Xl=39e5,Zl=`Remove session`;async function Ql(e,t,n,r=[]){try{let i=await ut(`remove-session`,{id:t,discardWork:n,confirmedKeptPaths:r},{timeoutMs:Xl});if(i.type!==`remove-session-result`||i.ok)return;if(!i.canDiscardWork){R({source:Zl,sessionId:t,message:`"${gt(e)}" was not removed: ${i.error??`the server gave no reason`}. Try Remove again from its actions menu.`});return}At({title:`Remove Session`,message:i.error??`Remove session "${gt(e)}"?`,confirmLabel:`Remove`,danger:!0,onConfirm:()=>{Ql(e,t,!0,(i.keptPaths??[]).map(e=>e.path))}})}catch(n){R({source:Zl,sessionId:t,message:`"${gt(e)}" was not removed: ${ys(n,Xl)} Try Remove again from its actions menu.`})}}function $l(e){let t=O.get(e);t&&Ql(t,e,!1)}var eu=Object.freeze({[x.IDLE]:`compaction_restore_idle`,[x.COMPLETE]:`compaction_restore_complete`,[x.WAITING]:`compaction_restore_waiting`});function tu(e){return Object.values(eu).some(t=>t===e)}var nu=22,ru={image:`Image`,video:`Video`,page:`Page`},iu=new WeakMap;function au(e){let t=e.registerMarker(0);if(!t)return null;let n=iu.get(e);if(n&&!n.marker.isDisposed&&n.marker.line===t.line)return t.dispose(),n;let r={marker:t,chipCount:0};return iu.set(e,r),r}function ou(e,t){let n=w(`button`,`shown-chip`);if(n.type=`button`,n.title=t.caption??t.pageTitle??t.name,n.setAttribute(`aria-label`,`Open ${t.name}`),t.kind===`image`){let r=w(`img`,`shown-chip-thumb`);r.src=`/shown/${encodeURIComponent(e)}/${encodeURIComponent(t.id)}`,r.alt=``,r.decoding=`async`,n.append(r)}return t.kind!==`image`&&n.append(w(`span`,`shown-chip-kind`,ru[t.kind])),n.append(w(`span`,`shown-chip-name`,t.pageTitle??t.name)),n.addEventListener(`click`,n=>{n.stopPropagation(),ja(e,t.id)}),n}function su(e,t,n){let r=au(e);if(!r)return;let i=e.registerDecoration({marker:r.marker,anchor:`right`,x:r.chipCount*nu,width:nu,layer:`top`});if(!i)return;r.chipCount+=1;let a=ou(t,n);i.onRender(e=>{e.contains(a)||e.replaceChildren(a),e.classList.add(`shown-chip-slot`)})}function cu(e,t){let n=k(e)?.term;if(n)for(let r of t)su(n,e,r)}var lu=`(max-width: 768px)`,uu=`(pointer: coarse)`;function du({coarse:e,narrowWidth:t}={}){return e===!0&&t===!0?`phone`:`desktop`}var fu=window.matchMedia?.(uu),pu=window.matchMedia?.(lu);function mu(){return du({coarse:!!fu?.matches,narrowWidth:!!pu?.matches})}function hu(e){document.documentElement.dataset.layout!==e&&(document.documentElement.dataset.layout=e)}function gu(){j.subscribe((e,t)=>{t.includes(`layout`)&&hu(e.layout)});let e=mu();hu(e),j.dispatch(`setLayout`,e);let t=()=>j.dispatch(`setLayout`,mu());return fu?.addEventListener?.(`change`,t),pu?.addEventListener?.(`change`,t),e}function _u(){return j.snapshot().layout===`phone`}function vu(e){return j.subscribe((t,n)=>{n.includes(`layout`)&&e(t.layout)})}function yu(e){if(!e)return 0;let t=0;return e.listenerMismatch&&t++,e.orphanPty&&t++,e.destroyedReachable&&t++,t}function bu(e,t){return e||yu(t)>0}var xu={DORMANT:`DOR`,INITIALIZING:`INI`,STARTING:`STA`,RUNNING:`RUN`,WAITING:`WAI`,IDLE:`IDL`,COMPLETE:`CMP`,DONE:`DON`,FAILED:`FAI`},Su=null,Cu=!1,wu=!1,Tu=null,Eu=null,Du=null,Ou=`—`;function ku(e){return e==null?Ou:te(e,`GB`)}function Au(e){return e==null?Ou:he(e,{smallestUnit:`s`,dropsZeroRemainder:!1})}function ju(e){return e==null?Ou:`${Au(Math.max(0,Math.round((Date.now()-e)/1e3)))} ago`}function Mu(){let e=w(`div`,`health-footer`);e.dataset.expanded=`false`,e.hidden=!0;let t=w(`div`,`health-summary`),n=w(`button`,`health-toggle`);n.type=`button`,n.setAttribute(`aria-expanded`,`false`),n.setAttribute(`aria-controls`,`health-detail`);let r=w(`span`,`health-chev`,`▲`);r.setAttribute(`aria-hidden`,`true`),n.append(r,w(`span`,`health-toggle-label`,`Health`));let i=w(`div`,`health-stats`);t.append(n,i);let a=w(`div`,`health-detail`);return a.id=`health-detail`,a.hidden=!0,n.addEventListener(`click`,()=>{wu=!wu,e.dataset.expanded=String(wu),n.setAttribute(`aria-expanded`,String(wu)),a.hidden=!wu,wu&&(E({type:`request-health-snapshot`}),Pu())}),e.append(t,a),Tu=e,Eu=i,Du=a,e}function Nu(){if(!Eu||!Su)return;let e=Su,t=yu(e.anomalies);Eu.innerHTML=`
|
|
5
|
+
<span class="health-stat" title="V8 heap used"><span class="health-stat-label">Heap</span> ${ku(e.process.heapUsed)}</span>
|
|
6
|
+
<span class="health-stat" title="Resident set size (process memory)"><span class="health-stat-label">RSS</span> ${ku(e.process.rss)}</span>
|
|
7
|
+
<span class="health-stat" title="External buffers (PTY data lives here)"><span class="health-stat-label">Ext</span> ${ku(e.process.external)}</span>
|
|
8
|
+
<span class="health-stat" title="Active resources (handles + requests)"><span class="health-stat-label">Hdl</span> ${e.process.activeResources}</span>
|
|
9
|
+
<span class="health-stat" title="Memory headroom at the last start check, and starts held for memory"><span class="health-stat-label">Mem</span> ${ku(e.memoryGate?.headroomBytes)} / ${e.memoryGate?.heldStartCount??0} held</span>
|
|
10
|
+
<span class="health-stat" title="Sessions: alivePty / total"><span class="health-stat-label">Sess</span> ${e.sessions.alivePty}/${e.sessions.total}</span>
|
|
11
|
+
<span class="health-stat" title="WebSockets: control + data"><span class="health-stat-label">WS</span> ${e.websockets.control}+${e.websockets.data}</span>
|
|
12
|
+
<span class="health-stat" title="Server uptime"><span class="health-stat-label">Up</span> ${Au(e.uptimeSeconds)}</span>
|
|
13
|
+
${t>0?`<span class="health-anomaly" title="${t} anomaly type(s), expand for details">⚠ ${t}</span>`:``}
|
|
14
|
+
`}function Pu(){if(!Du||!Su)return;let e=Su,t=e.process,n=e.websockets,r=e.sessions,i=e.anomalies,a=``;if(yu(i)>0){let e=[];i.listenerMismatch&&e.push(`Listener count mismatch: data WS listener leaked or missing`),i.orphanPty&&e.push(`Orphan PTY: session has live PTY but state is DONE/FAILED/DORMANT`),i.destroyedReachable&&e.push(`Destroyed session still reachable in sessions map`),a=`
|
|
15
|
+
<div class="health-section health-section-warn">
|
|
16
|
+
<div class="health-section-title">⚠ Anomalies</div>
|
|
17
|
+
${e.map(e=>`<div class="health-row">${e}</div>`).join(``)}
|
|
18
|
+
</div>
|
|
19
|
+
`}let o=r.list.map(e=>{let t=[];e.destroyed&&t.push(`destroyed`),e.pendingRestart&&t.push(`pendingRestart`);let n=Object.entries(e.timers).filter(([,e])=>e).map(([e])=>e).join(`,`)||`none`;return`
|
|
20
|
+
<tr>
|
|
21
|
+
<td>${z(e.name)}</td>
|
|
22
|
+
<td class="health-mono">${xu[e.state]||e.state}</td>
|
|
23
|
+
<td class="health-mono">${e.hasPty?e.ptyPid:Ou}</td>
|
|
24
|
+
<td class="health-mono">${ku(e.outputBufferBytes)}</td>
|
|
25
|
+
<td class="health-mono">${e.outputBufferEntries}</td>
|
|
26
|
+
<td class="health-mono">${e.dataListenerCount}</td>
|
|
27
|
+
<td class="health-mono health-dim">${n}</td>
|
|
28
|
+
<td class="health-mono health-dim">${t.join(` `)||``}</td>
|
|
29
|
+
</tr>
|
|
30
|
+
`}).join(``);Du.innerHTML=`
|
|
31
|
+
${a}
|
|
32
|
+
<div class="health-section">
|
|
33
|
+
<div class="health-section-title">Process</div>
|
|
34
|
+
<div class="health-grid">
|
|
35
|
+
<div class="health-row"><span class="health-label">Heap used</span><span class="health-mono">${ku(t.heapUsed)}</span></div>
|
|
36
|
+
<div class="health-row"><span class="health-label">Heap total</span><span class="health-mono">${ku(t.heapTotal)}</span></div>
|
|
37
|
+
<div class="health-row"><span class="health-label">RSS</span><span class="health-mono">${ku(t.rss)}</span></div>
|
|
38
|
+
<div class="health-row"><span class="health-label">External</span><span class="health-mono">${ku(t.external)}</span></div>
|
|
39
|
+
<div class="health-row"><span class="health-label">Array buffers</span><span class="health-mono">${ku(t.arrayBuffers)}</span></div>
|
|
40
|
+
<div class="health-row"><span class="health-label">Active resources</span><span class="health-mono">${t.activeResources}</span></div>
|
|
41
|
+
<div class="health-row"><span class="health-label">Uptime</span><span class="health-mono">${Au(e.uptimeSeconds)}</span></div>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div class="health-section">
|
|
46
|
+
<div class="health-section-title">Memory gate</div>
|
|
47
|
+
<div class="health-grid">
|
|
48
|
+
<div class="health-row"><span class="health-label">Headroom</span><span class="health-mono">${ku(e.memoryGate?.headroomBytes)}</span></div>
|
|
49
|
+
<div class="health-row"><span class="health-label">Read</span><span class="health-mono">${ju(e.memoryGate?.headroomReadAtMs)}</span></div>
|
|
50
|
+
<div class="health-row"><span class="health-label">Starts held</span><span class="health-mono">${e.memoryGate?.heldStartCount??0}</span></div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<div class="health-section">
|
|
55
|
+
<div class="health-section-title">WebSockets</div>
|
|
56
|
+
<div class="health-grid">
|
|
57
|
+
<div class="health-row"><span class="health-label">Control clients</span><span class="health-mono">${n.control}</span></div>
|
|
58
|
+
<div class="health-row"><span class="health-label">Data clients</span><span class="health-mono">${n.data}</span></div>
|
|
59
|
+
<div class="health-row"><span class="health-label">Tracked per session</span><span class="health-mono">${n.dataPerSessionTotal}</span></div>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class="health-section">
|
|
64
|
+
<div class="health-section-title">Sessions (${r.total} total · ${r.alivePty} alive PTY)</div>
|
|
65
|
+
<div class="health-row health-dim">Listeners ${r.totalDataListeners} · Output buffer ${ku(r.totalOutputBufferBytes)}</div>
|
|
66
|
+
<table class="health-table">
|
|
67
|
+
<thead>
|
|
68
|
+
<tr>
|
|
69
|
+
<th>Name</th><th>State</th><th>PID</th><th>Buffer</th><th>Entries</th><th>Listeners</th><th>Timers</th><th>Flags</th>
|
|
70
|
+
</tr>
|
|
71
|
+
</thead>
|
|
72
|
+
<tbody>${o||`<tr><td colspan="8" class="health-dim">No sessions</td></tr>`}</tbody>
|
|
73
|
+
</table>
|
|
74
|
+
</div>
|
|
75
|
+
`}function Fu(){if(!Tu)return;let e=bu(Cu,Su?.anomalies),t=Tu.hidden;Tu.hidden=!e,e&&t&&Su&&(Nu(),wu&&Pu())}function Iu(e){Cu=e,Fu()}function Lu(e){if(Tu)return Tu;let t=Mu();return e.appendChild(t),Fu(),t}function Ru(e){Su=e,Fu(),Tu&&!Tu.hidden&&(Nu(),wu&&Pu())}var zu=`#plan/`;function Bu(e){return`${zu}${encodeURIComponent(e)}`}function Vu(e){if(!e.startsWith(zu))return null;let t=e.slice(6);if(!t||t.includes(`/`))return null;try{return decodeURIComponent(t)||null}catch{return null}}var Hu=Object.freeze([{kind:`approve`,label:`Approve`},{kind:`revise`,label:`Send feedback`},{kind:`terminal`,label:`Answer in terminal`}]);function Uu(e){return e===`approve`||e===`approve-accept-edits`}function Wu(e){return(e.state===`decided`||e.state===`closed`)&&Uu(e.lastDecision)}function Gu(e,t){let n=e.reviews.find(e=>e.agentId===t);return n!==void 0&&Wu(n)}function Ku(e,t){return e.reviews.find(e=>e.agentId===t)??e.reviews[0]??null}function qu(e){let t=Ku(e.state,e.selectedAgentId);return t?e.selectedRevision&&t.revisions.some(t=>t.revision===e.selectedRevision)?e.selectedRevision:t.revisions.at(-1)?.revision??null:null}function Ju(e,t){return Ku(e,t)?.openRevision?.revision??null}function Yu(e,t,n){if(n===null)return null;let r=Ku(e,t)?.revisions??[],i=r.findIndex(e=>e.revision===n);return i<=0?null:r[i-1].revision}function Xu(e,t){let n=t-e;return Number.isFinite(n)?g(n,{rounding:`floor`,wording:`abbreviated`,suffix:` ago`,justNowBelowSeconds:60}):`just now`}function Zu(e,t,n){return t!==null&&t.state===`open`&&t.openRevision!==null&&t.openRevision.revision===n&&e.body!==null&&e.isConnected&&e.isDraft!==!0&&!e.isDecisionInFlight}function Qu(e,t,n){let r=Zu(e,t,n),i=(e.pendingCommentCount??0)>0,a=e.hasUnsavedComment!==!0;return Hu.map(({kind:e,label:t})=>({kind:e,label:t,enabled:r&&(e===`terminal`||a&&(e===`revise`?i:!i))}))}function $u(e,t){return e.openRevision===null?t!==null&&e.approvedRevision===t?`Approved`:e.state===`released`?`Answer in the terminal`:e.state===`decided`?e.lastDecision===`revise`?`Feedback sent, waiting for the next revision`:`Approved`:`Closed`:e.openRevision.revision===t?``:`Rev ${e.openRevision.revision} is the one open`}function ed(e){let t=0;for(let n of e.comments??[])t+=n.comment.trim().length+(n.heading?.length??0);return t}function td(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength+pe}function nd(e){let t=e.plan;if(t!==void 0&&t.length===0)return`the edited plan is empty, so nothing was sent`;if(t!==void 0&&new TextEncoder().encode(t).byteLength>524288)return`the edited plan is over the plan size cap, so nothing was sent`;let n=e.comments??[];return n.length>40?`more than 40 section comments are pending, so nothing was sent`:n.find(e=>e.comment.length>4e3||(e.heading?.length??0)>4e3)?`a section comment is over ${Te} characters, so nothing was sent`:ed(e)>1e4?`the feedback composes more than the ${v} characters the hook reply carries, so nothing was sent`:td(e)>Se?`the decision is larger than one control frame carries, so nothing was sent`:null}function rd(e){return e?`, ${e}`:``}function id(e,t,n){if(!e.isConnected)return`Disconnected`;if(!t||n===null)return`No plan revision selected`;if(e.isDecisionInFlight)return`Sending your decision`;if(e.body===null)return`Loading`;if(e.isDraft===!0)return`Draft`;let r=$u(t,n);if(r)return r;if(e.hasUnsavedComment===!0)return`Save or cancel the open comment first.`;let i=e.pendingCommentCount??0;return i<=0?``:i===1?`1 comment to send. Remove it to approve.`:`${i} comments to send. Remove them to approve.`}function ad(e,t,n){let r=id(e,t,n);return r?`${r}${rd(e.problem)}`:e.problem??``}function od(e){let t=Ku(e.state,e.selectedAgentId),n=qu(e);return{tabs:e.state.reviews.map(e=>({agentId:e.agentId,label:e.agentId===null?`Main`:e.agentType||`Agent`,selected:e===t})),revisions:(t?.revisions??[]).map(e=>({revision:e.revision,label:`Rev ${e.revision}`,isOpen:e.revision===t?.openRevision?.revision,receivedAt:e.receivedAt,selected:e.revision===n})),selectedAgentId:t?.agentId??null,selectedRevision:n,previousRevision:Yu(e.state,t?.agentId??null,n),status:ad(e,t,n),actions:Qu(e,t,n),modes:[{kind:`read`,label:`Read`,enabled:!0},{kind:`changes`,label:`Changes`,enabled:Yu(e.state,t?.agentId??null,n)!==null&&e.isDraft!==!0},{kind:`edit`,label:`Edit`,enabled:Zu(e,t,n)}]}}function sd(e,t){let n=e.reviews.findIndex(e=>e.agentId===t.agentId),r=[...(n===-1?null:e.reviews[n])?.revisions??[]],i=r.findIndex(e=>e.revision===t.revision),a={revision:t.revision,receivedAt:t.receivedAt,chars:t.chars,title:t.title};r[i===-1?r.length:i]=a,r.sort((e,t)=>e.revision-t.revision);let o={agentId:t.agentId,agentType:t.agentType,revisions:r,state:t.state,openRevision:t.state===`open`?{revision:t.revision,since:t.receivedAt}:null,approvedRevision:t.approvedRevision,lastDecision:t.lastDecision},s=[...e.reviews];return s[n===-1?s.length:n]=o,{reviews:s}}function cd({headingOffsets:e,scrollTop:t,isScrolledToEnd:n,readingLineOffset:r}){if(e.length===0)return null;if(n)return e.length-1;let i=t+r,a=0;for(let t=0;t<e.length&&!(e[t]>i);t++)a=t;return a}var ld=lr(navigator.userAgent),ud=`next-attention-keys`,dd=Wr();function fd(){return dd}function pd(e,t){t.forEach((t,n)=>{n>0&&e.appendChild(w(`span`,`shortcut-sep`,`+`)),e.appendChild(w(`kbd`,`kbd`,t))})}function md(e){let t=w(`span`,`shortcut-keys`);return pd(t,e),t}function hd(){let e=md(vr(`next-attention`,ld,dd));return e.classList.add(ud),e}function gd(e){dd=e;let t=vr(`next-attention`,ld,e);for(let e of document.querySelectorAll(`.${ud}`))e.replaceChildren(),pd(e,t)}var _d=10;function vd(e){let t=new Map;for(let n of e.files){let e=n.path.split(`/`);for(let r=0;r<e.length;r++){let i=e.slice(0,r).join(`/`),a=t.get(i);a!==void 0&&a.localeCompare(n.path)<=0||t.set(i,n.path)}}return t}function yd(e,t){let n=[],r=new Set(e.files.map(e=>e.path));for(let i of e.links){let a=t.get(i.providerRepo),o=a?.firstChangedPathByDirectory.get(i.packageDir),s=o??i.importers.find(e=>r.has(e))??i.importers[0]??i.consumerManifest,c=o&&a?a.repo:e,l=i.importerCount===1?`file`:`files`,u=i.providerChangedPathCount===1?`file`:`files`,d=i.changedImporterCount===1?`file`:`files`,f=i.isLocalLink?`Linked locally (${i.versionSpec}), so ${i.providerRepo} changes reach it now.`:`Uses ${i.versionSpec} from the registry, so ${i.providerRepo} changes reach it only after a publish.`;i.providerChangedPathCount>0&&(f+=` ${i.providerRepo} changed ${i.providerChangedPathCount} ${u} in ${i.packageDir||`the repository root`}.`),i.changedImporterCount>0&&(f+=` ${i.changedImporterCount} importing ${d} changed here.`),n.push({dedupeKey:`link:${i.providerRepo}:${i.packageName}:${e.name}`,kind:`link`,severity:6,path:s,openPath:`${c.sessionPathPrefix}${s}`,text:`${e.name} imports ${i.packageName} from ${i.providerRepo} in ${i.importerCount} ${l}`,detail:f})}for(let t of e.collisions)n.push({dedupeKey:`collision:${e.sessionPathPrefix}${t.path}:${t.otherSessionId}`,kind:`collision`,severity:5,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,text:`Also being changed in "${t.otherSessionName}"`,detail:`Another live session is changing this file, so the two may conflict.`});for(let t of e.coChangeGaps){let r=t.confidence>0?Math.round(t.support/t.confidence):0;n.push({dedupeKey:`co-change:${e.sessionPathPrefix}${t.path}:${t.partner}`,kind:`co-change`,severity:4,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,text:`Usually changes with ${t.partner}, which is not in this change`,detail:`${t.support} of the ${r} commits that touched it also touched ${t.partner}.`})}for(let t of e.untestedFiles)n.push({dedupeKey:`untested:${e.sessionPathPrefix}${t.path}`,kind:`untested`,severity:3,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,text:`No test reaches it`,detail:`No dependent test was found in the import graph.`});return n}function bd(e,t,n){let r=e.get(t)??[];r.push(n),e.set(t,r)}function xd(e,t){for(let n of e.hotspots)bd(t,`${e.sessionPathPrefix}${n.path}`,{text:`often fixed`,title:`${n.fixCommitCount} of its last ${n.commitCount} commits were fixes.`});for(let n of e.blastRadius)n.transitiveDependentCount<_d||bd(t,`${e.sessionPathPrefix}${n.path}`,{text:`${n.transitiveDependentCount} depend on it`,title:`${n.transitiveDependentCount} files depend on it: ${n.directDependentCount} directly, ${n.dependentTestCount} of them tests.`})}function Sd(e,t){return t.severity-e.severity||e.openPath.localeCompare(t.openPath)||e.dedupeKey.localeCompare(t.dedupeKey)}function Cd(e){let t=new Set(e.repos.flatMap(e=>e.links.map(e=>e.providerRepo))),n=new Map;for(let r of e.repos)t.has(r.name)&&!n.has(r.name)&&n.set(r.name,{repo:r,firstChangedPathByDirectory:vd(r)});let r=new Map,i=new Map,a=e.error?[e.error]:[];for(let t of e.repos){for(let e of yd(t,n))r.has(e.dedupeKey)||r.set(e.dedupeKey,e);xd(t,i),t.error&&a.push(e.repos.length>1?`${t.name}: ${t.error}`:t.error)}return{worthALook:[...r.values()].sort(Sd),hintsByOpenPath:i,repos:e.repos.map(e=>({name:e.name,sessionPathPrefix:e.sessionPathPrefix})),errors:a}}function wd(e,t){let n=null;for(let r of e)t.startsWith(r.sessionPathPrefix)&&(n&&n.sessionPathPrefix.length>=r.sessionPathPrefix.length||(n=r));return n?.name??null}var Td=5;function Ed(e,t){let n=w(`button`,`review-look-line`);return n.type=`button`,n.dataset.kind=e.kind,n.title=`${e.detail} Click to open ${e.path} below.`,n.append(w(`span`,`review-look-file`,e.path),w(`span`,`review-look-text`,e.text)),n.addEventListener(`click`,()=>t(e.openPath)),n}function Dd(e,{isShowingAll:t,onShowAll:n,onOpenFile:r}){if(e.worthALook.length===0&&e.errors.length===0)return null;let i=w(`section`,`review-look`);if(i.append(w(`h3`,`review-group-label`,`Worth a look`)),e.errors.length>0){let t=w(`p`,`review-look-error`,`Could not check this change for anything worth a look.`);t.title=e.errors.join(`
|
|
76
|
+
`),i.append(t)}let a=t?e.worthALook:e.worthALook.slice(0,Td);if(a.length>0){let e=w(`div`,`review-look-list`);for(let t of a)e.append(Ed(t,r));i.append(e)}let o=e.worthALook.length-a.length;if(o===0)return i;let s=w(`div`,`review-look-more`),c=w(`button`,`review-look-show-all`,`Show all`);return c.type=`button`,c.addEventListener(`click`,n),s.append(w(`span`,`review-look-more-count`,`+${o} more`),c),i.append(s),i}function Od(e){return(e??[]).map(e=>{let t=w(`span`,`review-file-hint`,e.text);return t.title=e.title,t})}function kd(e){let t=/^@@+ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]);return!Number.isFinite(n)||!Number.isFinite(r)?null:{oldStart:n,newStart:r}}function Ad(e){let t=[];if(!e)return t;let n=String(e).split(/\r?\n/),r=null,i=null,a=null,o=null,s=()=>{if(a===null)return null;let e=a;return a=e+1,e},c=()=>{if(o===null)return null;let e=o;return o=e+1,e},l=e=>{let n={path:``,oldPath:null,status:`modified`,added:0,removed:0,binary:!1,hunks:[]};t.push(n),i=null;let r=/^diff --git a\/(.+?) b\/(.+)$/.exec(e);return r&&(n.oldPath=r[1]??null,n.path=r[2]??``),n};for(let e of n)if(e.startsWith(`diff --git `))r=l(e);else{if(!r){if(!e.startsWith(`--- `)&&!e.startsWith(`@@`))continue;r=l(`diff --git a/ b/`)}if(r){if(e.startsWith(`new file mode`))r.status=`added`;else if(e.startsWith(`deleted file mode`))r.status=`deleted`;else if(e.startsWith(`rename from `))r.oldPath=e.slice(12),r.status=`renamed`;else if(e.startsWith(`rename to `))r.path=e.slice(10),r.status=`renamed`;else if(e.startsWith(`Binary files`))r.binary=!0;else if(!(e.startsWith(`index `)||e.startsWith(`similarity index`)||e.startsWith(`dissimilarity index`)||e.startsWith(`old mode`)||e.startsWith(`new mode`))){if(e.startsWith(`--- `)){if(e===`--- /dev/null`){r.status=`added`;continue}if(!r.path){let t=e.slice(4).replace(/^a\//,``);t&&t!==`/dev/null`&&(r.oldPath=r.oldPath||t)}}else if(e.startsWith(`+++ `)){if(e===`+++ /dev/null`){r.status=`deleted`;continue}if(!r.path){let t=e.slice(4).replace(/^b\//,``);t&&t!==`/dev/null`&&(r.path=t)}}else if(e.startsWith(`@@`)){i={header:e,lines:[]},r.hunks.push(i);let t=kd(e);a=t?t.oldStart:null,o=t?t.newStart:null}else if(i){if(e===``)continue;let t=e[0];if(t===`+`){i.lines.push({type:`add`,text:e.slice(1),oldLineNumber:null,newLineNumber:c()}),r.added++;continue}if(t===`-`){i.lines.push({type:`del`,text:e.slice(1),oldLineNumber:s(),newLineNumber:null}),r.removed++;continue}if(t===`\\`){i.lines.push({type:`meta`,text:e.slice(1).trim(),oldLineNumber:null,newLineNumber:null});continue}i.lines.push({type:`context`,text:t===` `?e.slice(1):e,oldLineNumber:s(),newLineNumber:c()})}}}}for(let e of t)e.path||=e.oldPath||`(unknown)`;return t}function jd(e,t){return t===`merged`||t===`none`||e===`parked`&&t===`pending-review`}function Md(e){let t=0,n=0;for(let r of e||[])t+=r.added||0,n+=r.removed||0;return{files:(e||[]).length,added:t,removed:n}}function Nd({changedFileCount:e,hasCommits:t,canMerge:n,isWorkspace:r,live:i,effectiveBase:a}){let o=`${e} file${e===1?``:`s`} changed`,s=(t,n)=>e>0?`${o}, ${t}`:n;if(r)return{text:e>0?`${o} in this worktree`:`Changes in this worktree`,namesMergeTarget:!1};if(n){let e=Rd(a);return{text:s(`ready to merge into ${e}`,`Ready to merge into ${e}`),namesMergeTarget:!0}}return i?t?{text:s(`not ready to merge`,`Not ready to merge`),namesMergeTarget:!1}:{text:s(`not committed yet`,`Not committed yet`),namesMergeTarget:!1}:{text:s(`session ended`,`Session ended`),namesMergeTarget:!1}}function Pd({status:e,mergeReason:t,fetched:n,hasDiffError:r,hasChanges:i,hasCommits:a,canMerge:o,isWorkspace:s,live:c,effectiveBase:l,changedFileCount:u=0}){return e===`parked`&&t===`base-diverged`?{text:`Parked: base branch diverged`,namesMergeTarget:!1}:e===`parked`?{text:`Parked: merge conflict`,namesMergeTarget:!1}:e===`merging`?{text:`Merging`,namesMergeTarget:!1}:e===`merged`?{text:`Merged`,namesMergeTarget:!1}:r?{text:`Could not read changes`,namesMergeTarget:!1}:n?i?Nd({changedFileCount:u,hasCommits:a,canMerge:o,isWorkspace:s,live:c,effectiveBase:l}):{text:`No changes yet`,namesMergeTarget:!1,isEmpty:!0}:{text:`Checking for changes`,namesMergeTarget:!1}}function Fd(e,t){return e?`Edits this session makes in its worktree show up here.`:`Edits this session makes show up here, ready to merge into ${Rd(t)}.`}function Id(e,t){return e.namesMergeTarget?null:`merges into ${Rd(t)}`}function Ld({status:e,mergeReason:t,live:n,isMergeRendered:r,hasChanges:i}){return e===`parked`&&n&&t!==`base-diverged`?`resolve`:!i&&e!==`parked`&&e!==`merging`?`none`:r?`merge`:`none`}function Rd(e){return e||`base`}function zd(e,t){return`Merge into ${Rd(e)}, push it, and rebase this worktree, then keep working (${t})`}function Bd(e){return e===`base-diverged`?`Resync the base branch by hand, then Merge again.`:`Needs manual merge`}function Vd(e,t,n){let r=e!==`parked`||e===`parked`&&t===`base-diverged`;return{isRendered:r,isEnabled:r&&e!==`merging`&&n}}function Hd({status:e,hasCommits:t,live:n,state:r}){return e===`merging`?null:t?!n&&(e===`parked`||e===`merged`)?`Session ended.`:!n||e===`parked`?null:r===`INITIALIZING`||r===`STARTING`?`Starting up. Mergeable once the session is live.`:null:n?`Nothing is committed yet. Merge opens once the session commits.`:null}function Ud(e){return e.map(e=>{let t=e.member?`${e.member}/ `:``,n=ee(e.sha);return!e.verified||!e.ref?{text:`${t}vs ${n}, base branch not found`,fullSha:e.sha,isUnverified:!0}:{text:`${t}vs ${e.ref} @ ${n}`,fullSha:e.sha,isUnverified:!1}})}function Wd({fetched:e,changedFileCount:t,hasCommits:n}){return!e||t>0||n}function Gd(e){return e||`its upstream`}function Kd(e){if(!e)return null;let t=e.branch||`Base branch`,{state:n,ahead:r,behind:i}=e,a=Gd(e.upstream);return n===`no-upstream`?`${t}: no upstream`:n===`unknown`&&e.error&&e.action===void 0?`${t}: sync check failed: ${e.error}`:n===`unknown`?`${t}: sync state unknown vs ${a}`:n===`in-sync`?`${t}: in sync with ${a}`:n===`ahead`?`${t}: ${r} ahead of ${a}`:n===`behind`?`${t}: ${i} behind ${a}`:n===`diverged`?`${t}: ${r} ahead, ${i} behind ${a}`:null}function qd(e){return!e||e.fetched===!1?`recheck`:e.state===`ahead`||e.state===`behind`?`resync`:`recheck`}function Jd(e,t,n){let r=n?` (${t})`:``;if(!e||qd(e)===`recheck`)return`Click to fetch and check again${r}`;let i=e.branch||`Base branch`,a=Gd(e.upstream);return e.state===`behind`?`Click to fast-forward ${i} to ${a}${r}`:`Click to push ${i} to ${a}${r}`}function Yd(e){return e?.state!==`in-sync`||e.fetched===!1}function Xd(e){if(e.error)return`Resync failed: ${e.error}`;let t=e.branch||`The base branch`,n=Gd(e.upstream);return e.action===`fast-forwarded`?`Fast-forwarded ${t} to ${n}.`:e.action===`pushed`?`Pushed ${t} to ${n}.`:e.state===`diverged`?`${t} has diverged from ${n}. Resolve manually.`:e.state===`in-sync`?null:e.state===`no-upstream`?`${t} has no upstream to resync against.`:`Could not determine sync status.`}var Zd=new Set([`pending-review`,`parked`]),Qd=600,$d=yr(`merge`,ld),ef=yr(`resolve-or-resync`,ld),tf={minPx:260,maxPx:700},nf=16,rf=5e3,af=new Map,of=new Map,sf=new Map,cf=new Map,lf=new Map,uf=new Map,df=new Set,ff=new WeakMap,pf=new WeakMap,mf=new Set,hf=new Set,gf=!1,_f=null,vf=null,V=null,H=null,yf=null,bf=null,xf=null,Sf=null,Cf=null,wf=!1,Tf=null,Ef=null,Df=null,Of=null,kf=new Map,U=null,Af=null;function jf(e,t){let n=w(`button`,`review-icon-button`);return n.type=`button`,n.title=e,n.setAttribute(`aria-label`,e),n.append(L(t)),n}function Mf(){wf=!1,V?.querySelector(`.review-more-menu`)?.remove(),V?.querySelector(`.review-more-button`)?.setAttribute(`aria-expanded`,`false`)}function Nf({panel:e}){if(vf=e,!vf)return;let t=vf,n=w(`div`,`review-sidebar-head`),r=w(`span`,`review-sidebar-title`,`Review`);Cf=w(`span`,`review-sidebar-session`),r.append(Cf);let i=e=>{t.toggleAttribute(`data-collapsed`,e),ti(!e)},a=jf(`Close review`,`M6 3L11 8L6 13`);a.classList.add(`review-sidebar-close`),a.addEventListener(`click`,()=>i(!0)),n.append(r,a);let o=w(`div`,`review-sidebar-rail`),s=jf(`Open review`,`M10 3L5 8L10 13`);s.classList.add(`review-sidebar-open`),s.addEventListener(`click`,()=>i(!1)),bf=w(`div`,`review-rail-status`),xf=w(`span`,`review-rail-added`),Sf=w(`span`,`review-rail-removed`),bf.append(xf,Sf),yf=w(`span`,`review-rail-label`,`Review`),o.append(s,yf,bf),V=w(`div`,`review-controls`),H=w(`div`,`review-sidebar-body`);let c=w(`div`,`review-resize-handle`);c.setAttribute(`role`,`separator`),c.setAttribute(`aria-orientation`,`vertical`),c.setAttribute(`aria-label`,`Resize review sidebar`),c.tabIndex=0,t.append(o,n,V,H,c),t.toggleAttribute(`data-collapsed`,!ei()),Ff(H),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&wf&&(e.preventDefault(),Mf(),V?.querySelector(`.review-more-button`)?.focus())}),document.addEventListener(`pointerdown`,e=>{wf&&e.target instanceof Element&&(V?.contains(e.target)&&e.target.closest(`.review-more-button, .review-more-menu`)||Mf())}),Po({resizer:c,column:t,widthHost:t,widthProperty:`--sidebar-width`,bounds:tf,keyStepPx:nf,getStoredWidth:Ei,setStoredWidth:Di,growsLeftward:!0}),Fl(e=>{wf=!1,Df=null,mf.clear(),hf.clear(),gf=!1,_f=null,e&&cp(e),e&&!up(e)&&dp(e),W()}),W()}function Pf(e,t){let n=af.get(e);af.set(e,t),jd(n,t)&&(sf.delete(e),cf.delete(e),lf.delete(e),e===B()&&lp(e)),e===B()&&W()}function Ff(e){let t=!1,n=null,r=null,i=e=>E({type:`watch-session-changes`,id:e}),a=()=>{let e=t&&document.visibilityState===`visible`?B():null;e!==n&&(r&&clearInterval(r),r=null,n=e,i(e),e&&(r=setInterval(()=>i(e),ge)))};new IntersectionObserver(e=>{t=e[e.length-1]?.isIntersecting??!1,a()}).observe(e),document.addEventListener(`visibilitychange`,a),Fl(a)}function If(e){vf&&(e?(Ue(vf,e),W()):(ze(vf),W()))}function Lf(e,t,n=null){let r=t||`none`;of.set(e,n);let i=kf.get(e);i!==void 0&&i!==r&&kf.delete(e),Pf(e,r)}function Rf(e){let t=D(e);t&&kf.delete(t)&&t===B()&&W()}function zf(e,t,n=null){of.set(e,n),kf.delete(e),Pf(e,t||`none`)}function Bf(e,t){sf.set(e,t),cf.delete(e),e===B()&&(_f&&_p(_f,t),W(),vp())}function Vf(e,t){let n=D(e);n&&(cf.set(n,t),n===B()&&W())}function Hf(e,t){let n=D(e);if(!n)return;let r=_.safeParse(t);r.success&&r.data.sessionId===n&&(lf.set(n,r.data),n===B()&&W())}function Uf(e,t){let n=D(e),r=t;uf.set(n,r),r&&r.action!==void 0&&Wf(n,r),n===B()&&W()}function Wf(e,t){df.delete(e),clearTimeout(Af??void 0),Af=null;let n=Xd(t);U=n?{forId:e,text:n,isError:!!t.error}:null,U&&!U.isError&&(Af=setTimeout(()=>{U&&U.forId===e&&(U=null),W()},5e3))}function Gf(e){let t=D(e);t&&t===B()&&cp(t)}function Kf(e){let t=D(e);if(t!==B())return;let n=!sf.has(t)||cf.has(t),r=!lf.has(t)||qf(lf.get(t));n&&cp(t),r&&!n&&lp(t),W()}function qf(e){return e?!!e.error||e.repos.some(e=>e.error!==null):!1}function Jf(e){let t=D(e);af.delete(t),of.delete(t),sf.delete(t),cf.delete(t),lf.delete(t),uf.delete(t),df.delete(t),U&&U.forId===t&&(clearTimeout(Af??void 0),U=null),t===B()?Pl(null):W()}function Yf(){let e=B(),t=e?O.get(e):null;if(!e||!t)return Xf(null,`No session is open to merge.`);if(up(e))return Xf(e,`A workspace session has no worktree to merge.`);if(kf.has(e))return Xf(e,`Merge is already on its way for "${gp(t,e)}".`);let n=af.get(e)||`none`,r=!!sf.get(e)?.hasCommits,i=Vd(n,of.get(e)||null,ip(t.currentState,r));return Ld({status:n,mergeReason:of.get(e)||null,live:sp(t.currentState),isMergeRendered:i.isRendered,hasChanges:rp(e)})!==`merge`||!i.isEnabled?Xf(e,Hd({status:n,hasCommits:r,live:sp(t.currentState),state:t.currentState})??`Nothing to merge in "${gp(t,e)}" right now.`):(ap(e,t.currentState),!0)}function Xf(e,t){return Df={forId:e,text:t},clearTimeout(Of??void 0),Of=setTimeout(()=>{Df=null,W()},rf),W(),!1}function Zf(){let e=B();if(!e||up(e))return!1;let t=O.get(e);if(!t)return!1;let n=af.get(e)||`none`,r=of.get(e)||null;return Ld({status:n,mergeReason:r,live:sp(t.currentState),isMergeRendered:Vd(n,r,!1).isRendered,hasChanges:rp(e)})!==`resolve`||Qf(e)?!1:($f(e),!0)}function Qf(e){return Tf?.forId===e&&!Tf.isError}function $f(e){let t=E({type:`resolve-session-merge`,id:e});Tf=t?{forId:e,text:`Resolve prompt sent`,isError:!1}:{forId:e,text:`Not connected. The resolve prompt was not sent.`,isError:!0},clearTimeout(Ef??void 0),Ef=setTimeout(()=>{Tf=null,W()},t?3e3:rf),W()}function ep(){let e=B();return!e||!O.has(e)||up(e)||pp(e)?!1:(mp(e),!0)}function tp(e){if(!e)return{committed:[],uncommitted:[]};let t=ff.get(e);if(t)return t;let n={committed:Ad(e.committed?.diff||``),uncommitted:Ad(e.uncommitted?.diff||``)};return ff.set(e,n),n}function np(e){let t=pf.get(e);if(t)return t;let n=Cd(e);return pf.set(e,n),n}function rp(e){let t=tp(sf.get(e)),n=[...t.committed,...t.uncommitted],r=sf.get(e)??null;return Wd({fetched:sf.has(e),changedFileCount:Md(n).files,hasCommits:!!r?.hasCommits})}function ip(e,t){return(Ge.includes(e)||e===x.RUNNING)&&t}function ap(e,t){t===x.RUNNING?At({title:`Merge while working`,message:`This session still looks like it is working. Merging rebases its worktree under it. Merge anyway?`,confirmLabel:`Merge anyway`,onConfirm:()=>op(e,!0)}):op(e,!1)}function op(e,t){kf.has(e)||(E(t?{type:`merge-continue-session`,id:e,force:!0}:{type:`merge-continue-session`,id:e})?(kf.set(e,af.get(e)||`none`),e===B()&&W()):Xf(e,`Not connected. The merge was not sent.`))}function sp(e){return e!==x.DORMANT&&e!==x.DONE&&e!==x.FAILED}function cp(e){E({type:`request-session-diff`,id:e}),lp(e)}function lp(e){lf.has(e)||lf.set(e,null),E({type:`request-change-map`,id:e})}function up(e){return O.get(e)?.card.dataset.workspace!==void 0}function dp(e){uf.set(e,null),E({type:`request-branch-sync`,id:e}),e===B()&&W()}function fp(e){df.add(e),clearTimeout(Af??void 0),U&&U.forId===e&&(U=null),E({type:`resync-branch`,id:e}),e===B()&&W()}function pp(e){return df.has(e)||uf.get(e)===null}function mp(e){pp(e)||(qd(uf.get(e))===`resync`?fp(e):dp(e))}function hp(e,t){return t?{text:`Resyncing`,loading:!0,error:!1}:U&&U.forId===e?{text:U.text,loading:!1,error:U.isError}:null}function gp(e,t){return e?.card?.dataset.session||t}function _p(e,t){if(!t)return;let{committed:n,uncommitted:r}=tp(t);for(let t of n)(t.path===e||t.oldPath===e)&&mf.add(`committed:${t.path}`);for(let t of r)(t.path===e||t.oldPath===e)&&mf.add(`uncommitted:${t.path}`)}function vp(){if(!H||!_f)return;let e=H.querySelectorAll(`.review-file`);for(let t of e)if(t.dataset.path===_f||t.dataset.oldPath===_f){t.scrollIntoView({block:`nearest`}),_f=null;return}}function yp(e){_f=e,_p(e,sf.get(B()??``)),W(),vp()}function bp(){gf=!0,W()}function W(){let e=H?.scrollTop??0;xp(),H&&(H.scrollTop=e)}function xp(){if(!V||!H)return;V.replaceChildren(),H.replaceChildren(),yf&&(yf.hidden=!0),bf&&(bf.hidden=!0);let e=B(),t=e?O.get(e):null;if(Cp(e,t),!e||!t){Df&&V.append(Sp(Df.text,!0)),wp(`No session selected`,`Click a session name to review its changes here.`);return}let n=up(e),r=af.get(e)||`none`,i=of.get(e)||null,a=t.currentState,o=Zd.has(r),s=sf.has(e),c=s?sf.get(e):null,l=cf.get(e)??null,{committed:u,uncommitted:d}=tp(c),f=!!c?.hasCommits,p=sp(a),m=Vd(r,i,ip(a,f)),h=uf.get(e),g=df.has(e),_=Rd(t.effectiveBase),v=Md([...u,...d]),ee=Ld({status:r,mergeReason:i,live:p,hasChanges:Wd({fetched:s,changedFileCount:v.files,hasCommits:f}),isMergeRendered:m.isRendered}),te=Pd({status:r,mergeReason:i,fetched:s,hasDiffError:l!==null,hasChanges:v.files>0||f,hasCommits:f,canMerge:!n&&m.isEnabled,isWorkspace:n,live:p,effectiveBase:_,changedFileCount:v.files}),ne=te.isEmpty===!0,re=ne||_u()||Yd(h),y=w(`div`,`review-status-headline`);if(y.append(w(`span`,`review-status-text`,te.text)),!n&&!re){let t=Kd(h);if(t){y.title=t;let n=jf(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);n.classList.add(`review-branch-sync-refresh`),n.title=Jd(h,ef,ee!==`resolve`),n.disabled=pp(e),n.setAttribute(`aria-description`,t),n.addEventListener(`click`,()=>mp(e)),y.append(w(`span`,`sr-only`,t),n)}}if(ne||V.append(y),u.length>0)for(let e of Ud(c?.bases??[])){let t=w(`div`,e.isUnverified?`review-diff-base review-diff-base-unverified`:`review-diff-base`,e.text);t.title=e.fullSha,V.append(t)}let ie=w(`div`,`review-status-meta`);if(s&&v.files>0&&ie.append(w(`span`,`review-status-added`,`+${v.added}`),w(`span`,`review-status-removed`,`-${v.removed}`),w(`span`,`review-status-spacer`)),!n&&re){let t=Tp(e,ee!==`resolve`);t&&ie.append(t)}ie.childElementCount>0&&V.append(ie),r===`parked`&&V.append(w(`div`,`review-status-explanation`,Bd(i))),yf&&(yf.hidden=!1),bf&&(bf.hidden=!1,bf.setAttribute(`aria-label`,`${te.text}, +${v.added}, -${v.removed}`),bf.title=te.text),xf&&(xf.textContent=`+${v.added}`),Sf&&(Sf.textContent=`-${v.removed}`);let ae=n?null:Ap(e,{status:r,reviewable:o,mergeAction:m,live:p,state:a,effectiveBase:_,primaryAction:ee});ae&&V.append(ae);let oe=n?null:hp(e,g),se=!n&&ee===`merge`&&!m.isEnabled?Hd({status:r,hasCommits:f,live:p,state:a}):null;if(se){let e=w(`div`,`review-control-reason`,se);e.id=`review-merge-reason`,V.append(e),V.querySelector(`#review-merge-btn`)?.setAttribute(`aria-describedby`,e.id)}if(oe?.text){let e=w(`div`,oe.loading?`review-control-reason review-loading`:`review-control-reason`,oe.text);e.id=`review-resync-reason`,oe.error&&e.classList.add(`review-control-reason-error`),e.setAttribute(`role`,`status`),ie.append(e),ie.isConnected||V.insertBefore(ie,y.isConnected?y.nextSibling:V.firstChild),V.querySelector(`.review-branch-sync-button, .review-branch-sync-refresh`)?.setAttribute(`aria-describedby`,e.id)}if(Tf?.forId===e&&V.append(Sp(Tf.text,Tf.isError)),Df&&(Df.forId===e||Df.forId===null)&&V.append(Sp(Df.text,!0)),l){H.append(w(`p`,`review-diff-error`,l));return}if(ne){wp(te.text,Fd(n,_));return}let ce=lf.get(e),le=ce?np(ce):null,ue=le?Dd(le,{isShowingAll:gf,onShowAll:bp,onOpenFile:yp}):null;ue&&H.append(ue);let de=u.length>0&&d.length>0;u.length>0&&H.append(Ep({kind:`committed`,label:de?`Committed`:null,meaning:Id(te,_),files:u,changeMapView:le})),d.length>0&&H.append(Ep({kind:`uncommitted`,label:de?`Not committed yet`:null,meaning:null,files:d,changeMapView:le}))}function Sp(e,t){let n=w(`div`,t?`review-control-reason review-control-reason-error`:`review-resolve-sent`,e);return n.setAttribute(`role`,`status`),n}function Cp(e,t){if(!Cf)return;let n=e&&t?gp(t,e):``;Cf.textContent=n,Cf.hidden=!n,Cf.title=n}function wp(e,t){if(!H)return;let n=w(`div`,`review-empty`);n.append(w(`div`,`review-empty-title`,e),w(`div`,`review-empty-desc`,t)),H.append(n)}function Tp(e,t){let n=uf.get(e);if(n===void 0)return null;if(n===null)return w(`span`,`review-branch-sync-text review-loading`,`Checking branch sync...`);let r=Kd(n)||`Base branch: sync state unknown`,i=w(`span`,`review-branch-sync-text`);n.state&&(i.dataset.syncState=n.state),n.fetched===!1&&(i.dataset.stale=`true`);let a=jf(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);return a.classList.add(`review-branch-sync-button`),a.title=Jd(n,ef,t),a.disabled=df.has(e),a.addEventListener(`click`,()=>mp(e)),i.append(a,w(`span`,`review-branch-sync-label`,r)),i}function Ep({kind:e,label:t,meaning:n,files:r,changeMapView:i}){let a=w(`div`,`review-section`);a.dataset.kind=e,t&&a.append(Dp(t,n,r));let o=w(`div`,`review-diff`),s=i&&i.repos.length>1?i.repos:[],c=null;for(let t of r){let n=s.length>0?wd(s,t.path):null;n&&n!==c&&o.append(w(`div`,`review-repo-label`,n)),c=n,o.append(Op(t,e,i))}return a.append(o),a}function Dp(e,t,n){let r=Md(n),i=w(`div`,`review-section-head`),a=w(`div`,`review-section-id`);a.append(w(`span`,`review-section-label`,e)),t&&a.append(w(`span`,`review-section-meaning`,t));let o=w(`div`,`review-section-stat`);return o.append(w(`span`,`review-stat-files`,`${r.files} file${r.files===1?``:`s`}`),w(`span`,`review-add`,`+${r.added}`),w(`span`,`review-del`,`-${r.removed}`)),i.append(a,o),i}function Op(e,t,n){let r=`${t}:${e.path}`,i=mf.has(r),a=w(`div`,`review-file`);a.dataset.path=e.path,e.oldPath&&(a.dataset.oldPath=e.oldPath),a.dataset.status=e.status,a.dataset.open=i?`true`:`false`;let o=w(`button`,`review-file-head`);o.type=`button`,o.setAttribute(`aria-expanded`,i?`true`:`false`);let s=w(`span`,`review-file-twisty`,i?`▾`:`▸`);s.setAttribute(`aria-hidden`,`true`);let c=w(`span`,`review-file-name`);c.append(w(`span`,`review-file-path`,e.path));let l=Od(n?.hintsByOpenPath.get(e.path));if(l.length>0){let e=w(`span`,`review-file-hints`);e.append(...l),c.append(e)}o.append(s,c);let u=w(`span`,`review-file-counts`);if(e.binary&&u.append(w(`span`,`review-bin`,`bin`)),e.binary||u.append(w(`span`,`review-add`,`+${e.added}`),w(`span`,`review-del`,`-${e.removed}`)),o.append(u),o.addEventListener(`click`,()=>{let e=mf.has(r);e&&mf.delete(r),e||mf.add(r),W()}),a.append(o),!i)return a;let d=w(`div`,`review-file-body`);if(e.binary)return d.append(w(`div`,`review-file-binary`,`Binary file not shown`)),a.append(d),a;let f=0,p=!1;for(let t of e.hunks){if(f>=Qd&&!hf.has(r)){p=!0;break}d.append(w(`div`,`review-hunk-head`,t.header));for(let e of t.lines){if(f>=Qd&&!hf.has(r)){p=!0;break}let t=w(`div`,`review-line review-line-${e.type}`),n=e.type===`add`?`+`:e.type===`del`?`-`:e.type===`meta`?`\\`:` `;t.append(w(`span`,`review-line-gutter`,n)),t.append(w(`span`,`review-line-text`,e.text)),d.append(t),f++}if(p)break}if(p){let e=w(`button`,`review-expand`,`Show the rest of this file`);e.type=`button`,e.addEventListener(`click`,()=>{hf.add(r),W()}),d.append(e)}return a.append(d),a}function kp({id:e,label:t,shortcut:n,title:r,disabled:i=!1,danger:a=!1,onClick:o}){let s=w(`button`,a?`review-btn review-btn-danger`:`review-btn review-btn-primary`);return s.type=`button`,e&&(s.id=e),r&&(s.title=r),s.disabled=i,s.innerHTML=n?`${t} <kbd class="review-shortcut" aria-hidden="true">${n}</kbd>`:t,s.addEventListener(`click`,o),s}function Ap(e,{status:t,reviewable:n,mergeAction:r,live:i,state:a,effectiveBase:o,primaryAction:s}){let c=w(`div`,`review-actions`),l=s===`resolve`;s===`merge`&&c.append(kp({id:`review-merge-btn`,label:`Merge`,shortcut:$d,title:zd(o,$d),disabled:!r.isEnabled||kf.has(e),onClick:()=>ap(e,a)})),l&&c.append(kp({label:`Resolve`,shortcut:ef,title:`Paste a resolve prompt into this session so the agent can finish the merge (${ef})`,disabled:Qf(e),onClick:()=>$f(e)}));let u=w(`div`,`review-action-controls`);if(u.append(c),!n||i)return c.childElementCount>0?u:null;let d=jf(`More review actions`,Qo);if(d.classList.add(`review-more-button`),d.setAttribute(`aria-haspopup`,`menu`),d.setAttribute(`aria-expanded`,String(wf)),d.setAttribute(`aria-controls`,`review-more-menu`),d.addEventListener(`click`,()=>{wf=!wf,W(),(V?.querySelector(wf?`.review-more-menu button:not(:disabled)`:`.review-more-button`)??V?.querySelector(`.review-more-button`))?.focus()}),c.append(d),!wf)return u;let f=w(`div`,`review-more-menu`);if(f.id=`review-more-menu`,f.setAttribute(`role`,`menu`),f.setAttribute(`aria-label`,`More review actions`),n&&!i){let n=kp({label:`Discard worktree`,danger:!0,disabled:t===`merging`,onClick:()=>{wf=!1,W();let t=gp(O.get(e),e);At({title:`Discard worktree`,message:`Throw away the worktree changes for "${t}"? This cannot be undone.`,confirmLabel:`Discard`,danger:!0,onConfirm:()=>E({type:`discard-session-worktree`,id:e})})}});n.setAttribute(`role`,`menuitem`),f.append(n)}return u.append(f),u}var jp=160,Mp=Object.freeze({Bash:`command`,Read:`file_path`,Edit:`file_path`,MultiEdit:`file_path`,Write:`file_path`,NotebookEdit:`notebook_path`,Grep:`pattern`,Glob:`pattern`,WebFetch:`url`,WebSearch:`query`,Task:`description`,Agent:`description`,Skill:`skill`});function Np(e){let t=e.split(/\r?\n/,1)[0]?.trim()??``;return t.length<=jp?t:`${t.slice(0,157)}...`}function Pp(e,t){let n=Mp[e];if(!n||!t||typeof t!=`object`||Array.isArray(t))return``;let r=t[n];return typeof r==`string`?Np(r):``}var Fp=5e3;function Ip(e){let t=e.match(/<command-name>([^<]*)<\/command-name>/)?.[1];return t===void 0||/[\r\n]/.test(t)?null:t.trim()||null}function Lp(e,t){if(!e.toolUseId)return Ip(e.text)??`context`;let n=t.get(e.toolUseId);return n?Pp(n.name,n.input)||n.name:`expansion`}function Rp(e){return e.kind!==`expansion`||e.toolUseId?!1:Ip(e.text)!==null}function zp(e){return e.kind===`prompt`||e.kind===`session`||Rp(e)}function Bp(e){return new TextEncoder().encode(e).byteLength}var Vp={prompt:`PROMPT`,expansion:`EXPANSION`,thinking:`THINKING`,assistant:`ASSISTANT`,tool_call:`TOOL`,tool_result:`RESULT`,session:`SESSION`,notice:`NOTICE`,raw:`RAW`};function Hp(e,t){if(e.kind===`prompt`)return{prefix:`Prompt: `,text:Np(e.text)};if(e.kind===`thinking`)return{prefix:`Thinking: `,text:Np(e.text)};if(e.kind===`assistant`)return{prefix:`Assistant: `,text:Np(e.text)};if(e.kind===`notice`)return{prefix:`Notice: `,text:Np(e.text)};if(e.kind===`raw`)return{prefix:`Raw: `,text:Np(e.line)};if(e.kind===`session`)return{prefix:`Session: `,text:`${e.vendor} ${e.vendorSessionId}`};if(e.kind===`expansion`)return{prefix:`Expansion: `,text:Lp(e,t)};if(e.kind===`tool_call`){let t=Pp(e.name,e.input);return t?{prefix:`${e.name}: `,text:t}:{prefix:``,text:e.name}}return{prefix:`${t.get(e.toolUseId)?.name??`Tool`} result: `,text:`${Bp(e.content)} bytes`}}function Up(e){if(!e.agentType)return``;let t=e.agentId?` ${e.agentId.slice(-6)}`:``;return`[${e.agentType}${t}] `}function Wp(e,t){let n=Hp(e,t),r=Up(e),i=e.kind===`tool_call`||e.kind===`tool_result`?`${n.prefix}${n.text}`:n.text,a=[],o=e.kind===`notice`?`muted`:`default`;if(e.kind===`tool_result`&&e.isError&&(o=`error`,a.push(`error`)),e.truncated===!0&&(o!==`error`&&(o=`muted`),a.push(`truncated`)),e.kind===`tool_result`){let n=t.get(e.toolUseId),r=n?e.ts-n.ts:NaN;Number.isFinite(r)&&r>=0&&a.push(r>1e3?`${(r/1e3).toFixed(1)}s`:`${Math.round(r)}ms`)}return{kind:e.kind,tag:Vp[e.kind],text:`${r}${i}`,tone:o,badges:a}}function Gp(e,t){return{record:e,...Wp(e,t)}}function Kp(e){return e.kind!==`tool_result`&&e.kind!==`expansion`?null:e.toolUseId||null}function qp(e,t){let n=Kp(e);return!n||t.has(n)?null:n}function Jp(e,t,n=1){e.set(t,(e.get(t)??0)+n)}function Yp(e,t){let n=(e.get(t)??0)-1;n>0?e.set(t,n):e.delete(t)}function Xp(e,t){if(t.size!==0)for(let n of e.turns)for(let r=0;r<n.rows.length;r+=1){let i=n.rows[r],a=Kp(i.record);a&&t.has(a)&&(n.rows[r]=Gp(i.record,e.toolCallByUseId))}}function Zp(){return{turns:[],toolCallByUseId:new Map,unresolvedToolUseCounts:new Map}}function Qp(){return{rowCount:0,toolCallCount:0,errorCount:0,resultBytes:0}}function $p(e,t,n){e.metrics.rowCount+=n,t.record.kind===`tool_call`&&(e.metrics.toolCallCount+=n),t.record.kind===`tool_result`&&(e.metrics.resultBytes+=Bp(t.record.content)*n,t.record.isError&&(e.metrics.errorCount+=n))}function em(e,t){for(let n of t)n.kind===`tool_call`&&e.toolCallByUseId.set(n.toolUseId,n);let n=[],r=e.turns[e.turns.length-1]??null;for(let i of t){let t=qp(i,e.toolCallByUseId);t&&Jp(e.unresolvedToolUseCounts,t);let a=Gp(i,e.toolCallByUseId);if(zp(i)){r={head:a,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:Qp()},$p(r,a,1),e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:a,rows:[]});continue}r||(r={head:null,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:Qp()},e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:null,rows:[]})),r.rows.push(a),$p(r,a,1);let o=e.turns.length-1,s=n[n.length-1];s&&s.turnIndex===o?s.rows.push(a):n.push({turnIndex:o,isNewTurn:!1,head:null,rows:[a]})}return n}function tm(e,t){let n=Zp();em(n,t);let r=new Set;for(let[t,i]of n.toolCallByUseId)e.toolCallByUseId.has(t)||(e.toolCallByUseId.set(t,i),r.add(t));let i=new Set;for(let t of r)e.unresolvedToolUseCounts.delete(t)&&i.add(t);for(let[t,r]of n.unresolvedToolUseCounts)e.toolCallByUseId.has(t)||Jp(e.unresolvedToolUseCounts,t,r);let a=n.turns[n.turns.length-1],o=e.turns[0],s=!!a&&!!o&&!o.head,c=s?a.head:null,l=s?a.rows:[];if(s){n.turns.pop();let e=a.startedAt,t=o.startedAt;e!==null&&(t===null||e<t)&&(o.startedAt=a.startedAt),o.head=c,o.rows=[...l,...o.rows],o.metrics={rowCount:a.metrics.rowCount+o.metrics.rowCount,toolCallCount:a.metrics.toolCallCount+o.metrics.toolCallCount,errorCount:a.metrics.errorCount+o.metrics.errorCount,resultBytes:a.metrics.resultBytes+o.metrics.resultBytes}}return e.turns=[...n.turns,...e.turns],Xp(e,i),{newTurns:n.turns,mergedHead:c,mergedRows:l,needsRerender:i.size>0}}function nm(e){return e.rows.length+ +!!e.head}function rm(e){let t=0;for(let n of e.turns)t+=nm(n);return t}function im(e,t){for(let n of t){if(n.record.kind===`tool_call`){e.toolCallByUseId.delete(n.record.toolUseId);continue}let t=Kp(n.record);t&&Yp(e.unresolvedToolUseCounts,t)}}function am(e,t){im(e,t.head?[t.head,...t.rows]:t.rows)}function om(e,t){let n=e.turns[0];if(!n)return 0;let r=Math.min(t,n.rows.length);if(r<=0)return 0;let i=n.rows.slice(0,r);im(e,i);for(let e of i)$p(n,e,-1);return n.rows=n.rows.slice(r),n.hasTrimmedRows=!0,r}function sm(e,t=Fp){let n=rm(e),r=0;for(;n>t&&r<e.turns.length-1;){let t=e.turns[r];if(!t)break;n-=nm(t),am(e,t),r+=1}return r>0&&(e.turns=e.turns.slice(r)),n<=t?{droppedTurnCount:r,droppedRowCount:0}:{droppedTurnCount:r,droppedRowCount:om(e,n-t)}}function cm(e){let t=[],n=new Set;for(let r of e)r.id&&r.name&&!n.has(r.id)&&(n.add(r.id),t.push({id:r.id,label:r.name}));return t}function lm(e,t,n,r=!0){return t&&e.some(e=>e.id===t)?t:n&&e.some(e=>e.id===n)?n:r?e[0]?.id??null:null}function um(e){return!e.selectedSessionId||!e.isPanelVisible||e.hasPendingRequest?null:e.hasLoadedOnce?{id:e.selectedSessionId,direction:`forward`,after:e.nextOffset}:{id:e.selectedSessionId,direction:`tail`,after:0,endingAt:`tail`}}function dm(e,t=Fp){return!e.selectedSessionId||!e.hasLoadedOnce||e.hasDroppedEarliestRows||e.residentRowCount>=t?!1:e.firstOffset>0}function fm(e,t=Fp){return!dm(e,t)||e.hasPendingRequest||!e.selectedSessionId?null:{id:e.selectedSessionId,direction:`earlier`,after:0,endingAt:e.firstOffset}}function pm(e){let{pendingRequest:t,resident:n,reply:r}=e;return!t||t.id!==r.id?`ignore`:!n||n.sessionId!==r.id?`stale`:r.reset||r.next<r.start?`reset`:t.direction===`tail`?n.hasLoadedOnce?`stale`:`seed`:t.direction===`earlier`?n.firstOffset===t.endingAt?r.next===t.endingAt?`prepend`:`reset`:`stale`:n.nextOffset===t.after?r.start===t.after?`append`:`reset`:`stale`}var mm=1e4,hm=null,gm=null,_m=[],vm=null,ym=null,G=null,bm=null,xm=!1,Sm=null,Cm=()=>!1,wm=new Set;function K(e){for(let t of wm)t(e)}function Tm(){bm&&=(clearTimeout(bm.timeoutHandle),null)}function Em(){bm=null,Sm=`The trace did not load within ${Math.round(mm/1e3)} s.`,K({kind:`rebuild`})}function Dm(e){Tm(),xm=!1,Sm=null,vm=e,G=e?{sessionId:e,grouping:Zp(),firstOffset:0,nextOffset:0,hasDroppedEarliestRows:!1,filePath:``,hasLoadedOnce:!1}:null,K({kind:`selection-reset`})}function Om(e){let t=lm(_m,ym,vm,e);return ym&&t===ym&&(ym=null),t!==vm&&(Dm(t),!0)}function km(e){if(!hm)return;let t=e.endingAt===void 0?{type:`session-trace`,id:e.id,after:e.after}:{type:`session-trace`,id:e.id,endingAt:e.endingAt};hm(t)?bm={request:e,timeoutHandle:setTimeout(Em,mm)}:(Sm=b,K({kind:`header`}))}function Am(e=!1){if(!hm)return;let t=um({selectedSessionId:vm,isPanelVisible:e||Cm(),hasPendingRequest:!!bm,hasLoadedOnce:G?.hasLoadedOnce??!1,nextOffset:G?.nextOffset??0});t&&km(t)}function jm(){xm&&!bm&&(xm=!1,Am())}function Mm(){if(!G)return;let e=sm(G.grouping),t=e.droppedTurnCount>0||e.droppedRowCount>0,n=t&&!G.hasDroppedEarliestRows;t&&(G.hasDroppedEarliestRows=!0),K({kind:`trimmed`,trim:{droppedTurnCount:e.droppedTurnCount,droppedRowCount:e.droppedRowCount,hasJustDroppedEarliestRows:n}})}function Nm(e){G&&(K({kind:`records-appended`,appends:em(G.grouping,e)}),Mm())}function Pm(e){G&&(K({kind:`records-prepended`,prepend:tm(G.grouping,e)}),Mm())}function Fm(e){if(!e||typeof e!=`object`)return null;let t=e;return typeof t.id!=`string`||!Array.isArray(t.records)||typeof t.next!=`number`||typeof t.start!=`number`?null:{id:t.id,records:t.records,start:t.start,next:t.next,reset:t.reset===!0,path:typeof t.path==`string`?t.path:``}}function Im(){return{selectedSessionId:vm,hasPendingRequest:!!bm,hasLoadedOnce:G?.hasLoadedOnce??!1,hasDroppedEarliestRows:G?.hasDroppedEarliestRows??!1,firstOffset:G?.firstOffset??0,residentRowCount:G?rm(G.grouping):0}}function Lm(){return{sessionOptions:_m,selectedSessionId:vm,selectedTrace:G,pendingSessionId:bm?.request.id??null,traceFailureText:Sm}}function Rm(e){wm.add(e)}function zm(e){Cm=e}function Bm(){if(!hm)return;let e=fm(Im());e&&km(e)}function Vm(e){_m.some(t=>t.id===e)&&e!==vm&&(ym=null,Dm(e),Am(),K({kind:`rebuild`}))}function Hm(){let e=Om(!0);return Am(!0),e}function Um(e){hm=e}function Wm(e){gm=e}function Gm(e){ym=e,gm?.()}function Km(e){_m=cm(e);let t=Om(Cm());t&&Am(),K({kind:`sessions`,hasSelectionChanged:t})}function qm(e){let t=Fm(e);if(!t)return;let n=pm({pendingRequest:bm?.request??null,resident:G?{sessionId:G.sessionId,firstOffset:G.firstOffset,nextOffset:G.nextOffset,hasLoadedOnce:G.hasLoadedOnce}:null,reply:{id:t.id,start:t.start,next:t.next,reset:t.reset}});n===`ignore`?jm():(Tm(),Sm&&(Sm=null,K({kind:`header`})),n===`stale`?jm():n===`reset`?(Dm(t.id),G&&(G.filePath=t.path),Am(),K({kind:`rebuild`}),jm()):G&&(G.filePath=t.path,n===`prepend`?(G.firstOffset=t.start,Pm(t.records),jm()):(n===`seed`&&(G.hasLoadedOnce=!0,G.firstOffset=t.start),G.nextOffset=t.next,Nm(t.records),jm())))}function Jm(e){let t=e?.id;typeof t==`string`&&t===vm&&Cm()&&(bm?xm=!0:Am())}function Ym(e){let t=e?.id;if(typeof t!=`string`||bm?.request.id!==t)return!1;Tm(),xm=!1;let n=e?.message;return Sm=typeof n==`string`&&n?n:`The trace could not be read.`,K({kind:`rebuild`}),!0}function Xm(e){Tm(),xm=!1,Sm=e?null:b,e?(K({kind:`header`}),Am()):K({kind:`rebuild`})}var Zm=80,Qm=Object.freeze([{value:`7`,label:`Last 7 days`,days:7},{value:`30`,label:`Last 30 days`,days:30},{value:`90`,label:`Last 90 days`,days:90},{value:`all`,label:`All retained`,days:null}]);function $m(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function eh(e){return e.includes(`.`)?e.replace(/0+$/,``).replace(/\.$/,``):e}function th(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e);return`${t<0?`-`:``}${$m(String(Math.abs(t)))}`}function nh(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.abs(e);if(t===0)return`$0.00`;let n=e<0?`-`:``;if(t<1e-4)return e<0?`above -$0.0001`:`<$0.0001`;if(t<.01)return`${n}$${t.toFixed(4)}`;let[r,i]=t.toFixed(2).split(`.`);return`${n}$${$m(r)}.${i}`}function rh(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=e<0?`-`:``,n=Math.abs(e);if(n<1e3){let e=Math.round(n);return`${e===0?``:t}${e}`}return n<999950?`${t}${eh((n/1e3).toFixed(1))}k`:n<999995e3?`${t}${eh((n/1e6).toFixed(2))}M`:`${t}${eh((n/1e9).toFixed(2))}B`}function ih(e){return typeof e!=`number`||!Number.isFinite(e)?`ok`:e>=100?`crit`:e>=Zm?`warn`:`ok`}function ah(e){let t=ve(e?.max,null);return t===null||t<=0?null:t}function oh(e){let t=ah(e),n=ve(e?.pct,null);return t===null||n===null?null:n*100}function sh(e,t){let n=ah(t),r=ve(e?.projectedTokens,null);return n===null||r===null?null:r/n*100}var ch=90;function lh(e){let t=e?.budget?.rows;return Array.isArray(t)?t.filter(e=>e&&ve(e.budgetUsd,null)!==null):[]}function uh(e){let t=ve(e?.pct,null);return t===null?0:t}function dh(e,t){let n=e?.[t];if(!n||typeof n!=`object`)return null;let r=ve(n.pct,null),i=ve(n.resetsAtMs,null);return r===null&&i===null?null:{pct:r,resetsAtMs:i}}function fh(e){return e?.vendor===`codex`?`codex`:`claude`}function ph(e){return dh(e,`fiveHour`)?.pct??null}function mh(e,t=null){let n=ph(t);if(n!==null)return ih(n);let r=ih(oh(e?.tokenLimit));return r===`ok`?ih(sh(e?.activeBlock?.projection,e?.tokenLimit)):r}function hh(e,t=null){let n=[],r=mh(e,t);r!==`ok`&&n.push(`block:${r}`),e?.anomaly?.daily&&n.push(`anomaly:daily`),e?.anomaly?.burn&&n.push(`anomaly:burn`);for(let t of lh(e)){let e=uh(t);if(e<ch)continue;let r=typeof t?.scope==`string`&&t.scope?t.scope:`budget`;n.push(`budget:${r}:${e>=100?`over`:`near`}`)}return _e(n)}function gh(e,t=``){let n=e?.source;if(n===`fetched`){let e=ue(t,``);return e?`Prices fetched from the public model price table, ${e}.`:`Prices fetched from the public model price table.`}if(n===`cache`){let e=ue(t,``);return e?`Prices from the cached public model price table, ${e}.`:`Prices from the cached public model price table.`}return n===`snapshot`?`Prices from the price table bundled with this Glimmervoid build.`:n===`unavailable`?`Model prices could not be loaded, so every cost below counts as zero.`:`Pricing source not reported yet.`}function _h(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e!=`string`)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function vh(e){if(Array.isArray(e))return e.length;let t=Number(e);return Number.isFinite(t)?t:null}function yh(e){if(!e||typeof e!=`object`)return``;let t=[],n=vh(e.dirs);if(n!==null&&t.push(`${th(n)} transcript ${n===1?`directory`:`directories`}`),Number.isFinite(e.files)&&t.push(`${th(e.files)} files`),Number.isFinite(e.entries)&&t.push(`${th(e.entries)} entries`),Number.isFinite(e.lastScanMs)&&t.push(`last pass ${th(e.lastScanMs)}ms`),t.length===0)return``;let r=`Scanned ${t.join(`, `)}.`;return e.partial===!0?`${r} Some files were skipped this pass and will be re-read on the next one.`:r}function bh(e){return ue(e?.error,``)}function xh(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return n==null||n===t}function Sh(e){let t=ve(e?.officialCostUSD,null);if(t!==null&&t>0)return{costUSD:t,source:`official`};let n=ve(e?.costUSD,null);return n!==null&&n>0?{costUSD:n,source:`estimated`}:{costUSD:null,source:null}}function Ch(e){let t=Number(e?.tokens);if(!Number.isFinite(t)||t<=0)return``;let{costUSD:n}=Sh(e);return n===null?rh(t):`${rh(t)} ${nh(n)}`}function wh(e){let{source:t}=Sh(e);return t===`official`?`Tokens counted from the transcript; cost reported by Claude Code for this conversation`:`Tokens and estimated API list-price cost for this conversation`}function Th({hasPlan:e,pendingPromptKind:t,hasOpenReview:n,hasApprovedReview:r=!1}){return e&&(n||t===`plan`&&!r)?`plan`:`terminal`}function Eh({hasPlan:e,isBorrowed:t,face:n}){return!e||n===`plan`?`hidden`:t?`face`:`navigate`}function Dh(e){return e instanceof Error?e.message:String(e)}function Oh(e,t,n=!1){let r=w(`label`,`dialog-checkbox-label`),i=w(`input`);return i.type=`checkbox`,i.className=`dialog-checkbox`,i.value=t,i.checked=n,r.append(i,w(`span`,null,e)),r}function kh(e){return e.split(/[\\/]/).filter(Boolean).at(-1)??e}async function Ah(e){let[t,n]=await Promise.all([ut(`get-workspace-repos`,{id:e}),ut(`scan-repo-roots`,{}).catch(()=>null)]);if(t.type!==`workspace-repos`)throw Error(`Unexpected reply`);if(!t.ok)throw Error(t.error||`Could not read the workspace`);let r=t.repos.map(e=>({name:kh(e),path:e,isMember:!0})),i=new Set(t.repos),a=n?.type===`repo-roots-scanned`?n.directories:[];for(let e of a.flatMap(e=>e.projects))i.has(e.path)||(i.add(e.path),r.push({name:e.name,path:e.path,isMember:!1}));return r}function jh(e){let{overlay:t,dialog:n,close:r,actions:i,btnCancel:a}=Mt({title:`Workspace repositories`}),o=w(`p`,`dialog-message`,`Saving restarts the session and resumes its conversation. A removed repository keeps its workspace branch, so committed work survives.`),s=w(`fieldset`,`dialog-workspace-list`);s.setAttribute(`aria-label`,`Workspace repositories`),s.append(w(`div`,`dialog-hint`,`Loading repositories...`));let c=w(`div`,`dialog-hint`);c.setAttribute(`role`,`status`);let l=w(`div`,`dialog-error`),u=w(`button`,`btn-dialog btn-dialog-confirm`,`Save`);u.type=`button`,u.disabled=!0,i.append(u),n.append(o,s,c,l,i),a.addEventListener(`click`,r),requestAnimationFrame(()=>a.focus()),Ah(e).then(e=>{if(t.isConnected){s.textContent=``;for(let t of e)s.append(Oh(t.name,t.path,t.isMember));u.disabled=!1}}).catch(e=>{t.isConnected&&(s.textContent=``,l.textContent=`Could not load repositories: ${Dh(e)}`)}),u.addEventListener(`click`,()=>{let n=[...s.querySelectorAll(`input:checked`)].map(e=>e.value);n.length<2?l.textContent=`Select at least two repositories.`:(l.textContent=``,u.disabled=!0,c.textContent=`Saving`,ut(`set-workspace-repos`,{id:e,repos:n}).then(e=>{if(!t.isConnected)return;if(e.type===`set-workspace-repos-result`&&e.ok){r();return}let n=e.type===`set-workspace-repos-result`?e.error:null;l.textContent=n||`Could not update the workspace.`}).catch(e=>{t.isConnected&&(l.textContent=`Could not update the workspace: ${Dh(e)}`)}).finally(()=>{c.textContent=``,u.disabled=!1}))})}function Mh(e,t,n){return{body:String(n||`Session needs attention`),tag:`glimmervoid-${e||``}-${t||``}`,renotify:!0}}var Nh=4e3;function Ph(e,t){return`glimmervoid-notify-claim-${e||``}-${t||``}`}function Fh(e,t,n,r=Nh){try{let i=e.getItem(t);if(i){let e=Number(i);if(Number.isFinite(e)&&n-e<r)return!1}return e.setItem(t,String(n)),!0}catch{return!0}}function Ih(){return typeof Notification>`u`?null:Notification}function Lh(){return Ih()!==null}function Rh(){let e=Ih();return e?e.permission:`unavailable`}async function zh(){let e=Ih();if(!e)return`denied`;if(e.permission!=="default")return e.permission;try{return await e.requestPermission()}catch{return e.permission}}function Bh(){return!Lh()&&!window.isSecureContext?`Browsers allow desktop notifications only over HTTPS or on localhost, and this page is plain HTTP on another address. Open the dashboard on localhost, or use Telegram.`:Lh()?Rh()===`denied`&&Rr()?`Blocked by the browser. Allow notifications for this site in its site settings.`:null:`This browser does not support desktop notifications.`}function Vh(){return Rr()&&Rh()==="default"}function Hh(e=()=>{}){let t=w(`div`,`notification-permission`),n=()=>{let r=Bh();if(t.replaceChildren(),t.hidden=!r&&!Vh(),r){t.append(w(`p`,`notification-permission-hint text-xs text-text-muted`,r));return}let i=w(`button`,`btn-dialog btn-dialog-cancel`,`Enable desktop notifications`);i.type=`button`,i.addEventListener(`click`,()=>{i.disabled=!0,zh().then(()=>{n(),e()})}),t.append(i)};return n(),{element:t,refresh:n}}var Uh=`Notifications`,Wh=`Desktop notifications are blocked by the browser, so alerts show only in this tab. Allow notifications for this site to get them again.`,Gh=new Map,Kh=!1;function qh(){Kh||(Kh=!0,R({source:Uh,message:Wh,hidesInStreamerMode:!1}))}function Jh(e,t){let n=Gh.get(e)??new Set;n.add(t),Gh.set(e,n),t.addEventListener(`close`,()=>n.delete(t))}function Yh(e){let t=Gh.get(e);if(t){Gh.delete(e);for(let e of t)e.close()}}function Xh(e){return!Lh()||!Rr()||document.documentElement.hasAttribute(`data-streamer`)?!1:e||!document.hasFocus()}function Zh(e=!1){return Xh(e)&&Rh()===`granted`}function Qh({session:e,category:t,message:n,kind:r,ignoreFocus:i=!1}={}){let a=Ih();if(!a||!Xh(!!i)||(a.permission===`denied`&&qh(),a.permission!==`granted`)||(Es(Uh),!Fh(window.localStorage,Ph(e,t),Date.now())))return;let o=typeof e==`string`?e:``,s=O.get(o),c=s?gt(s):``;try{let i=new a(c||`Glimmervoid`,Mh(e,t,n));i.onclick=()=>{window.focus(),r===`plan`&&o&&(window.location.hash=Bu(o)),i.close()},s&&Jh(o,i)}catch{}}var $h=`CommitMono`,eg=[400,700].map(e=>`${e} 14px ${$h}`),tg=`monospace`;function ng(e){return e.trim().replace(/^['"]|['"]$/g,``)}function rg(e,t){let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=t?n:n.filter(e=>ng(e)!==$h);return r.length>0?r.join(`, `):tg}function ig(e,t,n){return Promise.all(t.map(t=>e.load(t))).then(n,()=>void 0)}function ag(e,t){for(let n of e)n.term&&(n.term.options.fontFamily=t,n._syncGrid?.())}function og(){return document.fonts?eg.every(e=>document.fonts.check(e)):!1}function sg(){return rg(getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`),og())}function cg(e){document.fonts&&ig(document.fonts,eg,e)}var lg=3e4,ug=24,dg=null,fg=[`Android`,`iPhone`,`iPad`,`Windows`,`Mac OS X`,`Linux`],pg=[/Firefox\/\d+/,/Edg\/\d+/,/Chrome\/\d+/,/Version\/\d+/];function mg(){let e=navigator.userAgent,t=fg.find(t=>e.includes(t))??`unknown platform`;return`${pg.map(t=>t.exec(e)?.[0]).find(e=>e!==void 0)?.replace(`Version`,`Safari`)??`unknown browser`} on ${t}`}function hg(){let e=Reflect.get(navigator,`connection`);if(typeof e!=`object`||!e)return[];let t=Reflect.get(e,`type`),n=Reflect.get(e,`rtt`);return[typeof t==`string`?t:``,typeof n==`number`?`${n}ms`:``].filter(e=>e!==``)}function gg(){return[navigator.onLine?`online`:`offline`,...hg()].join(` `)}function _g(e,t){let n=[],r=0;for(let i of e){let e=i.length+1;if(r+e>t)break;n.push(i),r+=e}return{takenMarks:n,usedChars:r}}function vg(e,t){let n=e.join(` `);if(n.length<=t)return n;let r=t-ug,i=_g(e,r/2),a=_g(e.slice(i.takenMarks.length).reverse(),r-i.usedChars),o=e.length-i.takenMarks.length-a.takenMarks.length;return[...i.takenMarks,`(${o} marks dropped)`,...a.takenMarks.reverse()].join(` `)}function yg(e){return e.marks.some(e=>e.startsWith(`terminal-bytes`))}function bg(e){let t=yg(e)&&!e.isCapped?`terminal live`:`terminal not live after ${lg/1e3} s`,n=`hidden ${Math.round(e.hiddenForMs/1e3)} s, ${t}, ${mg()}, ${e.networkAtWake}: `,r=n+vg(e.marks,ae-n.length);return E({type:`client-log`,scope:`wake`,text:r.slice(0,ae)})}function xg(){let e=dg;e&&(e.isCapped||yg(e))&&bg(e)&&(dg=null,clearTimeout(e.capTimer))}function Sg(){dg&&(dg.isCapped=!0,xg())}function Cg(e,t){e.marks.push(`${t}+${Math.round(performance.now()-e.startedAtMs)}`)}function wg(e){dg&&(e===`terminal-bytes`&&yg(dg)||(Cg(dg,e),(e===`terminal-bytes`||e===`control-opened`)&&xg()))}function Tg(e){dg&&Cg(dg,e===`link`?[`link`,...hg()].join(`-`):e)}function Eg(e,t){dg||={startedAtMs:performance.now(),hiddenForMs:t,networkAtWake:gg(),marks:[],isCapped:!1,capTimer:setTimeout(Sg,lg)},wg(e)}var Dg=6,Og=262144,kg=16384,Ag=()=>{};function jg(e,t){if(t.length<=kg)e.push(t);else for(let n=0;n<t.length;n+=kg)e.push(t.slice(n,n+kg))}function Mg({budget:e=Dg,maxChunkBytes:t=Og,requestFrame:n,cancelFrame:r}={}){let i=n||(e=>requestAnimationFrame(e)),a=r||(e=>cancelAnimationFrame(e)),o=new Map,s=[],c=0,l=null;function u(){l===null&&(l=i(h))}function d(e){return e.readIdx<e.pending.length}function f(e){d(e)||(e.pending.length=0,e.readIdx=0,e.dirty=!1)}function p(e){return!!(e?.live&&e.dirty&&!e.inFlight&&d(e))}function m(){for(let e of o.values())if(p(e))return!0;return!1}function h(){l=null;let n=s.length,r=0;for(let i=0;i<n&&r<e;i++){let e=s[(c+i)%n],a=o.get(e);if(!p(a))continue;let l=[],m=0;for(;a.readIdx<a.pending.length;){let e=a.pending[a.readIdx];if(typeof e!=`string`){if(m>0)break;a.readIdx++,e.run();continue}let n=t-m;if(m+e.length<=t)jg(l,e),m+=e.length,a.readIdx++;else{m===0&&(jg(l,e.slice(0,n)),m+=n,a.pending[a.readIdx]=e.slice(n));break}}let h=l.pop();if(h===void 0)f(a),r++;else{f(a),d(a)&&a.readIdx>=64&&(a.pending.splice(0,a.readIdx),a.readIdx=0),a.inFlight=!0;for(let e of l)a.write(e,Ag);a.write(h,()=>{a.live&&(a.inFlight=!1,d(a)&&(a.dirty=!0,u()))}),r++}}n>0&&(c=(c+1)%n),m()&&u()}return{register(e,t){let n=o.get(e);n?(n.write=t,n.live=!0):(o.set(e,{write:t,pending:[],readIdx:0,inFlight:!1,dirty:!1,live:!0}),s.push(e))},unregister(e){let t=o.get(e);if(!t)return;t.live=!1,o.delete(e);let n=s.indexOf(e);n!==-1&&s.splice(n,1),c>=s.length&&(c=0)},enqueue(e,t){let n=o.get(e);n&&t&&(n.pending.push(t),n.dirty=!0,u())},enqueueAction(e,t){let n=o.get(e);n&&(n.pending.push({run:t}),n.dirty=!0,u())},has(e){return o.has(e)},size(){return o.size},running(){return l!==null},stop(){l!==null&&(a(l),l=null)}}}var Ng=Mg(),Pg={"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.06)`,"--state-running":`#22c55e`,"--state-running-bg":`rgba(34, 197, 94, 0.06)`,"--state-waiting":`#f59e0b`,"--state-waiting-bg":`rgba(245, 158, 11, 0.08)`,"--state-failed":`#ef4444`,"--state-failed-bg":`rgba(239, 68, 68, 0.06)`,"--state-initializing":`#6b7280`,"--state-initializing-bg":`rgba(107, 114, 128, 0.06)`,"--state-idle":`#eab308`,"--state-idle-bg":`rgba(234, 179, 8, 0.06)`},Fg={background:`--bg-card`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`--border`,brightBlack:`--text-muted`,red:`#ef4444`,brightRed:`#f87171`,green:`#22c55e`,brightGreen:`#4ade80`,yellow:`#eab308`,brightYellow:`#facc15`,cyan:`#06b6d4`,brightCyan:`#22d3ee`},Ig={golgari:{label:`Golgari (Green/Black)`,colors:{"--bg":`#060b08`,"--bg-card":`#0a120e`,"--bg-header":`#081009`,"--bg-surface":`#0e1a12`,"--border":`#1a2e1f`,"--border-dim":`#122016`,"--border-hover":`#2a4a32`,"--text":`#b8ccbe`,"--text-dim":`#6a9070`,"--text-head":`#dceede`,"--text-muted":`#7a9a80`,"--accent":`#2dd4a0`,"--accent-dim":`#1a9a6e`,...Pg,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#94a3b8`,"--state-done-bg":`rgba(45, 212, 160, 0.06)`,"--state-starting":`#a78bfa`,"--state-starting-bg":`rgba(167, 139, 250, 0.06)`,"--state-complete":`#34d399`,"--state-complete-bg":`rgba(52, 211, 153, 0.06)`},terminal:{...Fg,foreground:`#c8dece`,blue:`--accent`,brightBlue:`#5ee8bc`,magenta:`#a855f7`,brightMagenta:`#c084fc`,white:`#c8dece`,brightWhite:`#e8f5ea`}},midnight:{label:`Midnight (Blue/Purple)`,colors:{"--bg":`#080816`,"--bg-card":`#0e0e20`,"--bg-header":`#0b0b1a`,"--bg-surface":`#131328`,"--border":`#1c1c38`,"--border-dim":`#141430`,"--border-hover":`#2a2a50`,"--text":`#b8b8d4`,"--text-dim":`#8585b3`,"--text-head":`#dcdcf0`,"--text-muted":`#7c7ca9`,"--accent":`#4f6ef7`,"--accent-dim":`#3a54c0`,...Pg,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#94a3b8`,"--state-done-bg":`rgba(59, 130, 246, 0.06)`,"--state-starting":`#a855f7`,"--state-starting-bg":`rgba(168, 85, 247, 0.06)`,"--state-complete":`#60a5fa`,"--state-complete-bg":`rgba(96, 165, 250, 0.06)`},terminal:{...Fg,foreground:`#c8c8e0`,blue:`--accent`,brightBlue:`#60a5fa`,magenta:`#a855f7`,brightMagenta:`#c084fc`,white:`#c8c8e0`,brightWhite:`#e8e8ff`}},phyrexian:{label:`Phyrexian (Iridescent)`,colors:{"--bg":`#0a0810`,"--bg-card":`#100e18`,"--bg-header":`#0c0a14`,"--bg-surface":`#16122a`,"--border":`#2a2440`,"--border-dim":`#1e1a32`,"--border-hover":`#3e3660`,"--text":`#c8c0e0`,"--text-dim":`#8d82b9`,"--text-head":`#e8e0ff`,"--text-muted":`#8579b1`,"--accent":`#c084fc`,"--accent-dim":`#9656d6`,...Pg,"--state-monitoring":`#60a5fa`,"--state-monitoring-bg":`rgba(96, 165, 250, 0.08)`,"--state-done":`#67e8f9`,"--state-done-bg":`rgba(103, 232, 249, 0.06)`,"--state-starting":`#f472b6`,"--state-starting-bg":`rgba(244, 114, 182, 0.06)`,"--state-complete":`#34d399`,"--state-complete-bg":`rgba(52, 211, 153, 0.06)`},terminal:{...Fg,foreground:`#c8c0e0`,blue:`#67e8f9`,brightBlue:`#a5f3fc`,magenta:`--accent`,brightMagenta:`#d8b4fe`,white:`#c8c0e0`,brightWhite:`#e8e0ff`}},compleated:{label:`Compleated (Light)`,colors:{"--bg":`#ece8e0`,"--bg-card":`#f7f4ee`,"--bg-header":`#f0ece4`,"--bg-surface":`#e4e0d6`,"--border":`#b8b0a0`,"--border-dim":`#ccc6b8`,"--border-hover":`#908878`,"--text":`#2a2622`,"--text-dim":`#5a5448`,"--text-head":`#0e0c0a`,"--text-muted":`#676157`,"--accent":`#0e0c0a`,"--accent-dim":`#2a2622`,"--state-running":`#16803c`,"--state-running-bg":`rgba(22, 128, 60, 0.08)`,"--state-waiting":`#b45309`,"--state-waiting-bg":`rgba(180, 83, 9, 0.08)`,"--state-failed":`#dc2626`,"--state-failed-bg":`rgba(220, 38, 38, 0.06)`,"--state-monitoring":`#0e7490`,"--state-monitoring-bg":`rgba(14, 116, 144, 0.08)`,"--state-done":`#64748b`,"--state-done-bg":`rgba(26, 24, 22, 0.06)`,"--state-initializing":`#6b7280`,"--state-initializing-bg":`rgba(107, 114, 128, 0.06)`,"--state-idle":`#a16207`,"--state-idle-bg":`rgba(161, 98, 7, 0.06)`,"--state-starting":`#7c3aed`,"--state-starting-bg":`rgba(124, 58, 237, 0.06)`,"--state-complete":`#059669`,"--state-complete-bg":`rgba(5, 150, 105, 0.06)`},terminal:{background:`#faf8f4`,foreground:`#1a1816`,cursor:`#1a1816`,cursorAccent:`#faf8f4`,black:`#1a1816`,brightBlack:`#5a5448`,red:`#b91c1c`,brightRed:`#dc2626`,green:`#15803d`,brightGreen:`#16a34a`,yellow:`#92400e`,brightYellow:`#a16207`,blue:`#1d4ed8`,brightBlue:`#2563eb`,magenta:`#6d28d9`,brightMagenta:`#7c3aed`,cyan:`#0e7490`,brightCyan:`#0891b2`,white:`#5a5448`,brightWhite:`#3a3630`}},unicorn:{label:`Rainbow Unicorns (Dark)`,colors:{"--bg":`#191022`,"--bg-card":`#201730`,"--bg-header":`#1c1329`,"--bg-surface":`#281c3c`,"--border":`#3a2c52`,"--border-dim":`#2a2040`,"--border-hover":`#55407a`,"--text":`#d4c8e6`,"--text-dim":`#9a88b8`,"--text-head":`#ede4fa`,"--text-muted":`#a897c4`,"--accent":`#e8a3c4`,"--accent-dim":`#c4739e`,"--state-running":`#42d780`,"--state-running-bg":`rgba(66, 215, 128, 0.10)`,"--state-waiting":`#f79f3b`,"--state-waiting-bg":`rgba(247, 159, 59, 0.10)`,"--state-failed":`#f05442`,"--state-failed-bg":`rgba(240, 84, 66, 0.13)`,"--state-monitoring":`#2dd4bf`,"--state-monitoring-bg":`rgba(45, 212, 191, 0.08)`,"--state-done":`#f04ca4`,"--state-done-bg":`rgba(240, 76, 164, 0.13)`,"--state-initializing":`#8f87a6`,"--state-initializing-bg":`rgba(143, 135, 166, 0.08)`,"--state-idle":`#bcb02f`,"--state-idle-bg":`rgba(188, 176, 47, 0.08)`,"--state-starting":`#a17ef1`,"--state-starting-bg":`rgba(161, 126, 241, 0.08)`,"--state-complete":`#34baf4`,"--state-complete-bg":`rgba(52, 186, 244, 0.14)`},terminal:{background:`#201730`,foreground:`#d4c8e6`,cursor:`--accent`,cursorAccent:`#201730`,black:`#8c7dab`,brightBlack:`#9c8fb5`,red:`#e8887e`,brightRed:`#f4a89f`,green:`#86e0ab`,brightGreen:`#a3edc0`,yellow:`#f0c674`,brightYellow:`#f5d896`,blue:`#9cb3f0`,brightBlue:`#b5c8f5`,magenta:`#dd8ecf`,brightMagenta:`#e6a8dc`,cyan:`#7fd4d0`,brightCyan:`#a0e6e2`,white:`#d4c8e6`,brightWhite:`#f4ecfc`}},"posthog-light":{label:`PostHog (Light)`,colors:{"--bg":`#eeefe9`,"--bg-card":`#fdfdf8`,"--bg-header":`#eeefe9`,"--bg-surface":`#e5e7e0`,"--border":`#bfc1b7`,"--border-dim":`#d2d3cc`,"--border-hover":`#9ea096`,"--text":`#23251d`,"--text-dim":`#65675e`,"--text-head":`#111111`,"--text-muted":`#73756b`,"--accent":`#c03300`,"--accent-dim":`#8e2600`,"--state-running":`#237a36`,"--state-running-bg":`rgba(77, 117, 51, 0.08)`,"--state-waiting":`#b17816`,"--state-waiting-bg":`rgba(177, 120, 22, 0.10)`,"--state-failed":`#8c0d3b`,"--state-failed-bg":`rgba(140, 13, 59, 0.07)`,"--state-monitoring":`#0e7490`,"--state-monitoring-bg":`rgba(14, 116, 144, 0.08)`,"--state-done":`#3e6b9e`,"--state-done-bg":`rgba(62, 107, 158, 0.08)`,"--state-initializing":`#73756b`,"--state-initializing-bg":`rgba(115, 117, 107, 0.07)`,"--state-idle":`#835c19`,"--state-idle-bg":`rgba(131, 92, 25, 0.07)`,"--state-starting":`#a621c8`,"--state-starting-bg":`rgba(166, 33, 200, 0.07)`,"--state-complete":`#34796f`,"--state-complete-bg":`rgba(52, 121, 111, 0.08)`},terminal:{background:`--bg-card`,foreground:`#23251d`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`#23251d`,brightBlack:`#65675e`,red:`#c03300`,brightRed:`#df6133`,green:`#4d7533`,brightGreen:`#6aa84f`,yellow:`#835c19`,brightYellow:`#b17816`,blue:`#3e6b9e`,brightBlue:`#2f80fa`,magenta:`#74108d`,brightMagenta:`#a621c8`,cyan:`#34796f`,brightCyan:`#30abc6`,white:`#4d4f46`,brightWhite:`#23251d`}},"posthog-dark":{label:`PostHog (Dark)`,colors:{"--bg":`#1e1f23`,"--bg-card":`#25262b`,"--bg-header":`#232429`,"--bg-surface":`#2d2e37`,"--border":`#3e424f`,"--border-dim":`#32343f`,"--border-hover":`#626674`,"--text":`#edeef4`,"--text-dim":`#aeb3c2`,"--text-head":`#fafafa`,"--text-muted":`#9ea096`,"--accent":`#f87a4c`,"--accent-dim":`#f54e00`,"--state-running":`#36c46f`,"--state-running-bg":`rgba(54, 196, 111, 0.08)`,"--state-waiting":`#f7a501`,"--state-waiting-bg":`rgba(247, 165, 1, 0.09)`,"--state-failed":`#f35454`,"--state-failed-bg":`rgba(243, 84, 84, 0.09)`,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#589df8`,"--state-done-bg":`rgba(88, 157, 248, 0.08)`,"--state-initializing":`#8f8f8c`,"--state-initializing-bg":`rgba(143, 143, 140, 0.07)`,"--state-idle":`#ffce5c`,"--state-idle-bg":`rgba(255, 206, 92, 0.07)`,"--state-starting":`#8567ff`,"--state-starting-bg":`rgba(133, 103, 255, 0.09)`,"--state-complete":`#29dbbb`,"--state-complete-bg":`rgba(41, 219, 187, 0.08)`},terminal:{background:`--bg-card`,foreground:`#edeef4`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`--border`,brightBlack:`--text-muted`,red:`#f35454`,brightRed:`#f87a4c`,green:`#36c46f`,brightGreen:`#96e5b6`,yellow:`#f7a501`,brightYellow:`#ffce5c`,blue:`#2f80fa`,brightBlue:`#9fc4ff`,magenta:`#8567ff`,brightMagenta:`#e2d6ff`,cyan:`#30abc6`,brightCyan:`#29dbbb`,white:`#aeb3c2`,brightWhite:`#fafafa`}}},Lg=`phyrexian`,Rg=null,zg=null;function Bg(e){let t=Ig[e];if(!t)return;let n=zg;zg=e;let r=document.documentElement;r.dataset.theme=e;for(let[e,n]of Object.entries(t.colors))r.style.setProperty(e,n);e===`unicorn`&&n!==null&&n!==`unicorn`&&Rg?.()}function Vg(e){Rg=e}function Hg(e){document.documentElement.toggleAttribute(`data-show-usage`,e)}function Ug(e){document.documentElement.toggleAttribute(`data-arrow-pad`,e)}function Wg(){let e=Ig[zg||Lg];if(!e)return{};let t=getComputedStyle(document.documentElement),n={};for(let[r,i]of Object.entries(e.terminal))n[r]=i.startsWith(`--`)?t.getPropertyValue(i).trim():i;return n}function Gg(){return Object.entries(Ig).map(([e,t])=>({id:e,label:t.label}))}var Kg=e().int().min(1).max(500),qg=e().int().min(1).max(200);r(`type`,[a({type:i(`input`),data:t()}),a({type:i(`claim`),cols:Kg,rows:qg}),a({type:i(`unview`)}),a({type:i(`pause-output`)}),a({type:i(`resume-output`)})]);var Jg=a({type:i(`pty-size`),cols:Kg,rows:qg,seq:e().int().nonnegative()}),Yg=a({type:i(`output-beat`)}),Xg=r(`type`,[Jg,Yg]),Zg=`history`,Qg=`output`,$g=`paused`;n([`screen`,`deep`]);function e_(e){try{return JSON.parse(e)}catch{return null}}function t_(e){let t=Xg.safeParse(e_(e));return t.success?t.data:null}function n_(e,t){return!e||!t?!1:e.cols===t.cols&&e.rows===t.rows}function r_(e){return!e||!Number.isInteger(e.cols)||!Number.isInteger(e.rows)?!1:e.cols>0&&e.rows>0}function i_(e){return{cols:Math.min(Math.max(e.cols,1),500),rows:Math.min(Math.max(e.rows,1),200)}}function a_({authoritative:e,isActiveViewer:t,lastClaim:n}){return!(t&&n_(e,n))}function o_({isDocumentVisible:e,isDocumentFocused:t,hasFocusInsideCard:n,hasWindowBlurredSinceFocus:r,isPhoneLayout:i}){return e?i||t?!0:n&&!r:!1}function s_({isBorrowedCard:e,isTerminalFaceShown:t}){return!e||!t}function c_({viewportTopLine:e,scrollbackLineCount:t,isDeepHistoryLoadedOrPending:n}){return e===0&&t>0&&t<5e3&&!n}function l_(e,t,n){let r=new URLSearchParams;t&&r.set(Zg,`deep`),n&&r.set(Qg,$g);let i=`/terminals/${encodeURIComponent(e)}`,a=r.toString();return a?`${i}?${a}`:i}function u_({authoritative:e,isActiveViewer:t,isDocumentEngaged:n,isDataWsOpen:r,lastClaim:i}){return!t||!n||!r?`none`:a_({authoritative:e,isActiveViewer:t,lastClaim:i})?`rebid`:`resync`}function d_({isActiveViewer:e,lastClaim:t,owedClaim:n}){return e?n??t:null}function f_({authoritative:e,applied:t,proposal:n,isActiveViewer:r,isDataWsOpen:i,lastClaim:a}){let o=!!e&&!n_(e,t),s=r_(n)?i_(n):null,c=r&&!!s&&!n_(s,a);return{resizeTo:o?e:null,owedClaim:c?s:null,keepsPendingSettle:r&&!s,sendUnview:!r&&i&&!!a,isFollowing:a_({authoritative:e,isActiveViewer:r,lastClaim:a})}}function p_(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?new TextDecoder().decode(e):null}function m_(e){let t=p_(e);return t===null?null:t_(t)}function h_(e,t){if(typeof e==`string`)return{kind:`bytes`,data:e};let n=m_(e);return n?n.type===`output-beat`?{kind:`beat`}:t.hasSeenSize?n.seq<=t.lastSeq?{kind:`stale`}:{kind:`size`,cols:n.cols,rows:n.rows,seq:n.seq}:{kind:`attach-size`,cols:n.cols,rows:n.rows,seq:n.seq}:{kind:`ignored`}}var g_=``,__=`\x1B`,v_=`\r`,y_=new Map([[`deleteContentBackward`,g_],[`deleteByComposition`,g_],[`deleteCompositionText`,g_],[`deleteWordBackward`,__],[`deleteSoftLineBackward`,__],[`deleteHardLineBackward`,__]]);function b_(e){return y_.get(e)??``}var x_=new Set([`insertFromPaste`,`insertFromPasteAsQuotation`,`insertFromDrop`,`insertFromYank`,`historyUndo`,`historyRedo`]);function S_(e){return typeof e!=`string`||e===``||!x_.has(e)}function C_(e){return e?e.keyCode===229||e.key===`Process`:!1}function w_(e,t){let n=Array.from(e??``),r=Array.from(t??``),i=Math.min(n.length,r.length),a=0;for(;a<i&&n[a]===r[a];)a++;return g_.repeat(n.length-a)+r.slice(a).join(``).replace(/\r\n|\n|\r/g,v_)}var T_=/https?:\/\/[^\s<>"']+/g,E_=new Set([`.`,`,`,`;`,`:`,`!`,`?`,`'`,`"`]),D_={")":`(`,"]":`[`,"}":`{`};function O_(e,t){let n=0;for(let r of e)r===t&&n++;return n}function k_(e){for(;;){let t=e[e.length-1];if(t===void 0)return e;if(E_.has(t)){e=e.slice(0,-1);continue}let n=D_[t];if(n&&O_(e,n)<O_(e,t))e=e.slice(0,-1);else return e}}function A_(e){let t=[];for(let n of e.matchAll(T_)){let e=k_(n[0]);e.length<=8||t.push({start:n.index,end:n.index+e.length,url:e})}return t}var j_=50;function M_(){return{activate(e,t){yo(t)},allowNonHttpProtocols:!1}}function N_(e,t){let n=t-1;for(;n>0&&e.getLine(n)?.isWrapped&&t-1-n<j_;)n--;let r=t-1;for(;e.getLine(r+1)?.isWrapped&&r-(t-1)<j_;)r++;let i=``,a=[];for(let t=n;t<=r;t++){let n=e.getLine(t);if(!n)break;for(let e=0;e<n.length;e++){let r=n.getCell(e);if(!r)break;if(r.getWidth()===0)continue;let o=r.getChars()||` `;for(let n=0;n<o.length;n++)i+=o[n],a.push({x:e+1,y:t+1})}}return{text:i,cellAt:a}}function P_(e){return e.registerLinkProvider({provideLinks(t,n){let r=e.buffer?.active;if(!r)return n(void 0);let{text:i,cellAt:a}=N_(r,t),o=[];for(let{start:e,end:t,url:n}of A_(i)){let r=a[e],i=a[t-1];r&&i&&o.push({range:{start:r,end:i},text:n,activate(e,t){yo(t)}})}n(o.length?o:void 0)}})}var F_=`(?:password|passwd|pwd|token|api[_-]?key|secret|credential|auth[_-]?token|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|connection[_-]?string)`,I_=`(?:"[^"\\r\\n]*"|'[^'\\r\\n]*'|[^\\s\\r\\n]+)`,q=`[^\\S\\r\\n]`,L_=`${F_}${q}*(?:=>|[:=])${q}*`,R_=`[?&][A-Za-z0-9_.-]*`,z_=`[^\\r\\n;&|]{0,200}?`,B_=`(?:mysql|mysqldump|mysqladmin|mysqlshow|mariadb|mariadb-dump)`,V_=RegExp(`(${L_})${I_}`,`gi`),H_=RegExp(`(\\bBearer${q}+)[A-Za-z0-9._~+/=-]{8,}`,`gi`),U_=[/\bAKIA[0-9A-Z]{16}\b/g,/\bgh[pousr]_[A-Za-z0-9]{16,}\b/g,/\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,/\bsk-ant-[A-Za-z0-9_-]{20,}/g,/\bsk-[A-Za-z0-9_-]{20,}/g,/\bph[cx]_[A-Za-z0-9]{20,}\b/g,/\bxox[abprs]-[A-Za-z0-9-]{10,}\b/g,/\beyJ[A-Za-z0-9_=-]{6,}\.[A-Za-z0-9_=-]{6,}\.[A-Za-z0-9_=-]{4,}/g,/-----BEGIN(?:[A-Z0-9 ]+)? PRIVATE KEY-----/g],W_=[RegExp(`((?:^|\\s)--?${F_}${q}+)${I_}`,`gi`),RegExp(`((?:^|\\s)-(?:pwd|pw)(?![a-z])${q}*=?${q}*)${I_}`,`g`),RegExp(`(-AsPlainText${q}+)${I_}`,`gi`),RegExp(`((?:^|\\s)setx${q}+[^\\s\\r\\n]*${F_}[^\\s\\r\\n]*${q}+)${I_}`,`gi`)],G_=[RegExp(`(\\bauthorization${q}*:${q}*Basic${q}+)[A-Za-z0-9+/=_-]{8,}`,`gi`),RegExp(`(\\bdocker${q}+login\\b${z_}${q}-p(?:${q}+|=))${I_}`,`gi`),RegExp(`(\\bcurl\\b${z_}${q}(?:--user|-u)(?:${q}+|=)[^\\s:\\r\\n]+:)${I_}`,`gi`),RegExp(`(\\b${B_}\\b${z_}${q}-p)${I_}`,`g`),/\b([a-z][a-z0-9+.-]*:\/\/[^\s:/@]+:)[^\s@/]+(?=@)/gi];[...W_,...G_];var K_=[/-----END(?:[A-Z0-9 ]+)? PRIVATE KEY-----/g,/^([^\S\r\n]*)(?=[A-Za-z0-9+/]*[g-zG-Z+/])(?=[A-Za-z0-9+/=]{60,76}[^\S\r\n]*$)[A-Za-z0-9+/]+={0,2}(?=[^\S\r\n]*$)/gm],q_=RegExp(`(${R_}(?:${F_}|_key)=)[^&#\\s]+`,`gi`),J_=[V_,RegExp(`(\\b(?=[A-Z0-9_]*(?:SECRET|TOKEN|KEY|PASSWORD))[A-Z][A-Z0-9_]*=)${I_}`,`g`)],Y_=[H_,...W_,...G_,...U_,...K_];function X_(e,t){return[...e.matchAll(t)].map(e=>({matchStart:e.index,valueStart:e.index+(e[1]??``).length,end:e.index+e[0].length}))}function Z_(e,t){let n=0;return e.filter(e=>{for(;n<t.length&&t[n].end<=e.matchStart;)n+=1;let r=t.at(n);return!r||e.matchStart<r.matchStart})}function Q_(e){let t=[];for(let n of e.toSorted((e,t)=>e.start-t.start)){let e=t.at(-1);e&&n.start<=e.end?e.end=Math.max(e.end,n.end):t.push({...n})}return t}function $_(e){let t=X_(e,q_);return Q_([...t,...J_.flatMap(n=>Z_(X_(e,n),t)),...Y_.flatMap(t=>X_(e,t))].map(e=>({start:e.valueStart,end:e.end})))}var ev=`glimmervoid-streamer-mode`,tv=new Set,nv=Hn(ev,!1)===!0,rv=null;function iv(e){document.documentElement.toggleAttribute(`data-streamer`,e),rv?.setAttribute(`aria-pressed`,String(e))}iv(nv);function av(){return nv}function ov(e){if(Un(ev,e),e!==av()){nv=e,iv(e);for(let t of tv)t(e)}}function sv(e){return tv.add(e),()=>tv.delete(e)}async function cv(e){try{let t=await ut(`update-settings`,{settings:{streamerMode:e}},{timeoutMs:us});return t.type===`settings-error`?String(t.message):(ov(e),``)}catch(e){return ys(e,us)}}var lv=`Streamer mode`;async function uv(){let e=!av();e&&ov(!0);let t=await cv(e);t?R({source:lv,message:`${e?`Streamer mode is on in this browser only. The server did not save it`:`Streamer mode is still on. The server did not save the change`}: ${t} Toggle it again to retry.`,hidesInStreamerMode:!1}):Es(lv)}function dv(){uv()}function fv(e){rv=e,iv(av()),e.addEventListener(`click`,dv)}var pv=`#808080`,mv=new WeakMap;function hv(e,t,n){return`${e}:${t}:${n}`}function gv(e){return hv(e.marker.line,e.x,e.width)}function _v(e,t){let n=t;for(;n>0&&t-n<63&&e.getLine(n)?.isWrapped;)n--;return n}function vv(e,t){let n=t;for(;n-t<63&&e.getLine(n+1)?.isWrapped;)n++;return n}function yv(e,t,n){let r=``;for(let i=t;i<=n;i++)r+=e.getLine(i)?.translateToString(!1)??``;return r}function bv(e,t,n,r){let i=``,a=[];for(let o=t;o<=n;o++){let t=e.getLine(o);if(!t)break;for(let e=0;e<t.length;e++){let n=t.getCell(e,r);if(!n)break;let s=n.getWidth();if(s===0)continue;let c=n.getChars()||` `;for(let t=0;t<c.length;t++)i+=c[t],a.push({line:o,x:e,width:s})}}return{text:i,cellAt:a}}function xv(e,t){let n=null;for(let r of t)n&&n.line===r.line?n.width=Math.max(n.width,r.x+r.width-n.x):(n={line:r.line,x:r.x,width:r.width},e.push(n))}function Sv(e,t,n,r){let i=[];if($_(yv(e,t,n)).length===0)return i;let{text:a,cellAt:o}=bv(e,t,n,r);for(let e of $_(a))xv(i,o.slice(e.start,e.end));return i}function Cv(e,t){let n=e.getNullCell(),r=[],i=t;for(;i<e.length;){let t=vv(e,i);r.push(...Sv(e,i,t,n)),i=t+1}return r}function wv(){return{masks:[],watermark:null,isFullRescanOwed:!0}}function Tv(e){e.decoration.dispose(),e.marker.dispose()}function Ev(e){for(let t of e.masks)Tv(t);e.masks.length=0,e.watermark?.dispose(),e.watermark=null,e.isFullRescanOwed=!0}function Dv(e,t){let n=e.watermark;return e.isFullRescanOwed||!n||n.isDisposed?0:Math.min(n.line,t.baseY)}function Ov(e){let t=0;for(;t<e.masks.length&&e.masks[t].marker.isDisposed;)e.masks[t].decoration.dispose(),t++;t>0&&e.masks.splice(0,t)}function kv(e,t){let n=new Map,r=e.masks.at(-1);for(;r&&(r.marker.isDisposed||r.marker.line>=t);)e.masks.pop(),r.marker.isDisposed&&r.decoration.dispose(),r.marker.isDisposed||n.set(gv(r),r),r=e.masks.at(-1);return Ov(e),n}function Av(e,t){let n={normal:wv(),alternate:wv()},r=e.cols;function i(t){return e.buffer.active.type===t}function a(t,n){if(!i(n)||t.isDisposed)return!1;let r=t.line-e.buffer.active.viewportY;return r>=0&&r<e.rows}function o(t,n,r){t.style.backgroundColor=e.options.theme?.foreground??pv,t.style.pointerEvents=`none`,t.style.display=a(n,r)?`block`:`none`}function s(e){for(let t of n[e].masks){let n=t.decoration.element;n&&o(n,t.marker,e)}}function c(t,n){let r=e.registerMarker(t.line-(n.baseY+n.cursorY));if(!r)return null;let i=e.registerDecoration({marker:r,x:t.x,width:t.width,layer:`top`});if(!i)return r.dispose(),null;let a=n.type;return i.onRender(e=>o(e,r,a)),{marker:r,decoration:i,x:t.x,width:t.width}}function l(){if(!av())return;let t=e.buffer.active,r=n[t.type],i=_v(t,Dv(r,t)),a=kv(r,i);for(let e of Cv(t,i)){let n=hv(e.line,e.x,e.width),i=a.get(n);a.delete(n);let o=i??c(e,t);o&&r.masks.push(o)}for(let e of a.values())Tv(e);r.watermark?.dispose(),r.watermark=e.registerMarker(-t.cursorY)??null,r.isFullRescanOwed=!1}function u(){Ev(n.normal),Ev(n.alternate)}function d(){u(),r=e.cols,l()}let f=[e.onWriteParsed(l),e.onResize(({cols:e})=>{e!==r&&(r=e,n.normal.isFullRescanOwed=!0,n.alternate.isFullRescanOwed=!0,l())}),e.buffer.onBufferChange(e=>{Ev(n.alternate),s(`normal`),e.type===`alternate`&&l()})],p=sv(d);t.addEventListener(`abort`,()=>{p();for(let e of f)e.dispose();u(),mv.delete(e)},{once:!0}),mv.set(e,d)}function jv(e){mv.get(e)?.()}function Mv({hasTerminal:e,isSocketOpen:t,isInputHeld:n}){return e?n||!t?`connecting`:`live`:`none`}var Nv=`Upload`;async function Pv(e,t){return Es(Nv,e),Iv(e,t)}async function Fv(e,t){Es(Nv,e);for(let n of t)await Iv(e,n)}async function Iv(e,t){let n={"x-glimmervoid-upload-name":encodeURIComponent(t.name)};t.type&&(n[`content-type`]=t.type);try{let r=await fetch(`/upload/${encodeURIComponent(e)}`,{method:`POST`,body:t,headers:n});return r.ok?!0:(R({source:Nv,sessionId:e,message:await Lv(r,t.name)}),!1)}catch{return R({source:Nv,sessionId:e,message:`${t.name} was not uploaded because the server did not answer. Check that Glimmervoid is running, then drop the file again.`}),!1}}async function Lv(e,t){try{let n=await e.json();if(n&&typeof n.error==`string`)return`${t} was not uploaded: ${n.error.replace(/\.$/,``)}. Fix that, then drop the file again.`}catch{}return`${t} was not uploaded (HTTP ${e.status}). Drop the file again, or check the Glimmervoid terminal for errors.`}var Rv=10,zv=1.2,Bv=.005,Vv=4,Hv=.08,Uv=5;function Wv(e,t){let n=Math.abs(t);return n<Rv?!1:n>Math.abs(e)*zv}function Gv(e,t,n=1/0){if(!(t>0))return{scrollLines:0,remainderPx:e};let r=Math.trunc(e/t),i=Math.max(-n,Math.min(n,r));return{scrollLines:i===0?0:-i,remainderPx:e-i*t}}function Kv(e,t,n){let r=e.length>=Vv?e.slice(1):e.slice();return r.push({positionPx:t,timestampMs:n}),r}function qv(e){if(!e||e.length<2)return 0;let t=e[0],n=e[e.length-1],r=n.timestampMs-t.timestampMs;if(!(r>0))return 0;let i=(n.positionPx-t.positionPx)/r,a=Math.abs(i);if(!(a>=Hv))return 0;let o=Math.min(a,Uv);return i<0?-o:o}function Jv({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:n,pendingPx:r=0}){return!e||!(n>0)?null:{velocityPxPerMs:e,lastMs:t,cellHeightPx:n,pendingPx:r}}function Yv(e,t){if(!e)return{scrollLines:0,state:null};let n=t-e.lastMs;if(!(n>0))return{scrollLines:0,state:e};let r=Math.abs(e.velocityPxPerMs)-Bv*n;if(!(r>0))return{scrollLines:0,state:null};let i=e.velocityPxPerMs<0?-1:1,a=i*r*n,{scrollLines:o,remainderPx:s}=Gv(e.pendingPx+a,e.cellHeightPx);return{scrollLines:o,state:{velocityPxPerMs:i*r,lastMs:t,cellHeightPx:e.cellHeightPx,pendingPx:s}}}function Xv(e,t){return e===`alternate`||!!t&&t!==`none`}function Zv(e,t){return!(e>0)||!(t>0)?0:e/t}var Qv=1;function $v(e){return typeof e._core?._viewport?.handleTouchScroll==`function`}function ey(e,t){for(let n of e)if(n.identifier===t)return n;return null}function ty(e,t){if($v(t))return;let n=()=>document.documentElement.dataset.layout===`phone`,r=null,i=0,a=0,o=0,s=!1,c=0,l=[],u=null,d=null,f=()=>{d!==null&&cancelAnimationFrame(d),d=null,u=null},p=()=>Xv(t.buffer?.active?.type,t.modes?.mouseTrackingMode),m=()=>{let e=t.element?.querySelector(`.xterm-screen`);return Zv(e?.clientHeight||t.element?.clientHeight||0,t.rows)},h=()=>{r=null,s=!1,c=0,l=[]},g=(e,n,r)=>{let i=e<0?-1:1;for(let a=0;a<Math.abs(e);a++)t.element?.dispatchEvent(new WheelEvent(`wheel`,{deltaY:i,deltaMode:Qv,clientX:n,clientY:r,bubbles:!0,cancelable:!0}))},_=()=>{if(d=null,!u)return;if(!e.isConnected||!n()||p()){f();return}let r=t.buffer?.active?.viewportY,{scrollLines:i,state:a}=Yv(u,performance.now());u=a,i!==0&&t.scrollLines(i),u&&(i!==0&&t.buffer?.active?.viewportY===r?f():d=requestAnimationFrame(_))},v=(e,t,n)=>{u=Jv({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:m(),pendingPx:n}),u&&(d=requestAnimationFrame(_))};e.addEventListener(`touchstart`,e=>{if(f(),!n()||e.touches.length!==1){h();return}let t=e.touches[0];r=t.identifier,i=t.clientX,a=t.clientY,o=t.clientY,s=!1,c=0,l=[]},{passive:!0}),e.addEventListener(`touchmove`,e=>{if(r===null||!n())return;let u=ey(e.touches,r);if(!u)return;if(!s){if(!Wv(u.clientX-i,u.clientY-a))return;s=!0,o=u.clientY,c=0,l=Kv([],u.clientY,e.timeStamp)}e.cancelable&&e.preventDefault(),c+=u.clientY-o,o=u.clientY,l=Kv(l,u.clientY,e.timeStamp);let d=p(),{scrollLines:f,remainderPx:h}=Gv(c,m(),d?8:void 0);c=h,f!==0&&(d?g(f,u.clientX,u.clientY):t.scrollLines(f))},{passive:!1}),e.addEventListener(`touchend`,e=>{if(!s||p()){h();return}l=Kv(l,o,e.timeStamp);let t=qv(l),n=c;h(),t!==0&&v(t,performance.now(),n)},{passive:!0}),e.addEventListener(`touchcancel`,()=>{f(),h()},{passive:!0})}function ny(e){return e.needsReload?!0:e.wasAttachedWithoutLayout&&e.hasLayoutNow}function ry(e,t,n=[]){let r=new Set(Array.isArray(n)?n:[n]),i=[];for(let n of e)e.length-i.length>=t&&!r.has(n)&&i.push(n);return i}var iy=null,ay=null;function oy(){return iy}function sy(){return iy?Promise.resolve(iy):(ay??=Promise.all([P(()=>import(`./xterm-CdMfg81L.js`).then(e=>e.t),__vite__mapDeps([13,14])),P(()=>import(`./xterm-CdMfg81L.js`).then(e=>e.r),__vite__mapDeps([13,14])),P(()=>import(`./xterm-CdMfg81L.js`).then(e=>e.n),__vite__mapDeps([13,14]))]).then(([e,t,n])=>(iy={Terminal:e.Terminal,FitAddon:t.FitAddon,WebglAddon:n.WebglAddon},iy)).catch(e=>{throw ay=null,e}),ay)}var cy=window.matchMedia?.(`(pointer: coarse)`).matches?4:12,ly=new Map;function uy(e){return e.clientWidth>0&&e.clientHeight>0}function dy(e){let t=e.webglAddon;if(!t)return;let n=[...e.term?.element?.querySelectorAll(`canvas`)??[]];e.webglAddon=null;try{t.dispose()}catch{}for(let e of n)e.getContext(`webgl2`)?.getExtension(`WEBGL_lose_context`)?.loseContext()}function fy(e){ly.delete(e),e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,dy(e)}function py(e){let t=[e],n=j.snapshot().borrowedCardId,r=n?O.get(n):void 0;r&&t.push(r);for(let e of ry([...ly.keys()],cy,t))fy(e),e.needsWebGLReload=!0}function my(e){e?.term&&ny({needsReload:e.needsWebGLReload,wasAttachedWithoutLayout:e.webglAttachedWithoutLayout,hasLayoutNow:uy(e.termWrap)})&&yy(e,{isForced:!0})}function hy(){for(let e of ly.keys()){let t=e.term;if(e.webglAddon&&t)try{t.clearTextureAtlas(),t.refresh(0,t.rows-1)}catch{fy(e),e.needsWebGLReload=!0}}}var gy=!1;function _y(){gy||(gy=!0,requestAnimationFrame(()=>{gy=!1,hy()}))}function vy(e){e?.addEventListener(`contextrestored`,_y)}function yy(e,t={}){try{if(e.webglAddon&&!e.needsWebGLReload&&!t.isForced){ly.delete(e),ly.set(e,!0);return}e.webglAddon&&(dy(e),ly.delete(e));let n=oy();if(!n)return;py(e);let r=new n.WebglAddon;r.onContextLoss(()=>{r.dispose(),e.webglAddon=null,ly.delete(e),e.needsWebGLReload=!0});let i=e.term;if(!i)throw Error(`webgl: the terminal was disposed before the addon loaded`);i.loadAddon(r),r.onChangeTextureAtlas(vy),r.onAddTextureAtlasCanvas(vy),vy(r.textureAtlas),e.webglAddon=r,e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!uy(e.termWrap),ly.set(e,!0),requestAnimationFrame(()=>{e.webglAddon===r&&e.term&&e.term.refresh(0,e.term.rows-1)})}catch{e.webglAddon=null,e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,ly.delete(e)}}function by(e){let t=mr(e,ld,{isTerminalFocused:!0},fd());return t?hr(t,document.body.dataset.activeView):!1}var xy=1024,Sy=250,Cy=`(max-width: 768px)`,wy=12,Ty=14,Ey=5e4,Dy=!1;function Oy(e){Dy=e}var ky=!1;window.addEventListener(`blur`,()=>{ky=!0}),window.addEventListener(`focus`,()=>{ky=!1});function Ay(e){let t=document.activeElement;return o_({isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),hasFocusInsideCard:t instanceof Node&&e.contains(t),hasWindowBlurredSinceFocus:ky,isPhoneLayout:_u()})}function jy(e,t){return s_({isBorrowedCard:j.snapshot().borrowedCardId===t,isTerminalFaceShown:e.face===`terminal`})}var My=new WeakMap,Ny=new WeakMap,Py=new WeakSet,Fy=new WeakSet,Iy=new WeakSet,Ly=new WeakMap,Ry=5e3,zy=15e3,By=`Keys you type now are held and sent once the terminal reconnects.`,Vy=`The terminal is still reconnecting and its key buffer is full, so new keys are dropped.`,Hy=`The agent copied text. The browser needs a click before it can reach your clipboard.`,Uy=`The clipboard is unavailable in this browser.`;function Wy(e,t,n,r){let i=Ly.get(e);i&&(i.clearTimerId!==null&&clearTimeout(i.clearTimerId),i.clearTimerId=null,i.shownKind=t,i.status.show(n,r),n!==`busy`&&(i.clearTimerId=setTimeout(()=>Gy(e,t),n===`ok`?Ry:zy)))}function Gy(e,t){let n=Ly.get(e);n&&n.shownKind===t&&(n.clearTimerId!==null&&clearTimeout(n.clearTimerId),n.clearTimerId=null,n.shownKind=null,n.status.clear())}function Ky(e){let t=e.buffer.active;return t.viewportY<t.baseY}function qy(e,t,{hasNewOutput:n=!1}={}){let r=Ly.get(e)?.jumpToLatestButton;if(!r)return;let i=Ky(t);r.hidden=!i,i?n&&(r.dataset.hasNewOutput=`true`):delete r.dataset.hasNewOutput}function Jy(e,t){if(My.has(e)||!Ky(t))return;let n=t.buffer.active,r=n.length-n.viewportY;Py.has(e)?My.set(e,r):Ny.set(e,r)}function Yy(e,t,n){let r=e.term;r&&c_({viewportTopLine:n,scrollbackLineCount:r.buffer.active.baseY,isDeepHistoryLoadedOrPending:Py.has(e)})&&(Py.add(e),Fy.add(e),My.set(e,r.buffer.active.length-n),jb(t))}var Xy=new WeakMap;function Zy(e,t){return document.visibilityState===`visible`&&!jy(e,t)}function Qy(e,t){if(e&&yb(e,t))return;let n=e?.dataWs;if(!e||n?.readyState!==WebSocket.OPEN)return;let r=Zy(e,t);Xy.get(n)!==r&&(Xy.set(n,r),n.send(JSON.stringify({type:r?`resume-output`:`pause-output`})))}function $y(){for(let[e,t]of O)Qy(t,e)}document.addEventListener(`visibilitychange`,$y),j.subscribe((e,t)=>{t.includes(`borrowedCardId`)&&$y()});function eb(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return new TextDecoder().decode(n)}function tb(e,t,n){let r=(n instanceof Error?n.message:``)||String(n);console.error(`[clipboard:${t}]`,n),Wy(e,`clipboard`,`error`,`Clipboard ${t} failed: ${r}`)}function nb(e,t,n,r){let i=qe(t);i?i.then(()=>{r&&Wy(e,`clipboard`,`ok`,r)}).catch(t=>tb(e,n,t)):Wy(e,`clipboard`,`error`,Uy)}function rb(e,t){let n=Ly.get(e);n&&(n.pendingClipboardText=t,n.clipboardPrompt.hidden=!1)}function ib(e){let t=Ly.get(e),n=t?.pendingClipboardText;t&&n!=null&&(t.pendingClipboardText=null,t.clipboardPrompt.hidden=!0,nb(e,n,`osc52 write`,`Copied to the clipboard.`))}function ab(e,t,n){let r=_s(`terminal-notice`),i=w(`div`,`terminal-clipboard-prompt`);i.hidden=!0;let a=w(`button`,`btn-dialog btn-dialog-confirm`,`Copy to clipboard`);a.type=`button`,a.addEventListener(`click`,()=>ib(t)),i.append(w(`span`,`terminal-clipboard-prompt-text`,Hy),a);let o=w(`div`,`terminal-notices`);o.append(i,r.element);let s=w(`button`,`terminal-jump-latest btn-dialog btn-dialog-ghost`,`Jump to latest`);s.type=`button`,s.hidden=!0,s.addEventListener(`click`,()=>{n.scrollToBottom(),n.focus()});let c=w(`div`,`terminal-drop-zone`);c.setAttribute(`aria-hidden`,`true`),c.append(w(`span`,`terminal-drop-zone-label`,`Drop to upload to this session`)),e.append(o,s,c),Ly.set(t,{status:r,shownKind:null,clearTimerId:null,clipboardPrompt:i,pendingClipboardText:null,jumpToLatestButton:s})}function ob(e,t){return O.get(e)===t&&!t.dataWs}function sb(e){return e.querySelector(`:scope > .terminal-connecting`)}function cb(e){if(sb(e))return;let t=w(`div`,`terminal-connecting`);t.append(w(`span`,`terminal-connecting-label`,`Connecting`)),e.append(t)}function lb(e){let t=sb(e);if(!t)return;t.querySelector(`:scope > .terminal-connecting-animal`)?.remove();let n=Bi();n&&t.prepend(zi(n,`terminal-connecting-animal`))}var ub=new Set,db=new WeakSet;function fb(e){return ub.add(e),()=>ub.delete(e)}function pb(){let e=0;for(let[t,n]of O)n.card.dataset.link===`connecting`&&Zy(n,t)&&e++;return e}function mb(e){let t=Mv({hasTerminal:e.term!==null||db.has(e),isSocketOpen:e.dataWs?.readyState===WebSocket.OPEN,isInputHeld:Db}),n=t===`connecting`&&!Db&&Fy.has(e)?`live`:t;if(n===`none`){delete e.card.dataset.link,hb();return}let r=n===`connecting`&&e.card.dataset.link!==`connecting`;e.card.dataset.link=n,r&&lb(e.termWrap),hb()}function hb(){for(let e of ub)e()}function gb(e,t,n){Jy(t,n),Ng.unregister(e),t.dataWs=null,mb(t),t._resetGridClaim?.()}var _b=new WeakMap;function vb(e,t,n,r){gb(e,t,n),clearTimeout(_b.get(t)),_b.delete(t),r===0&&rt()?Eb(e,t,n):_b.set(t,setTimeout(()=>{_b.delete(t),ob(e,t)&&ot().catch(()=>{}).then(()=>{ob(e,t)&&Eb(e,t,n)})},r))}function yb(e,t){let n=Iy.has(e),r=!e.dataWs&&O.get(t)===e;return!(n||r)||!e.term||!Zy(e,t)?!1:(Iy.delete(e),e._dataWsRetryAttempt=0,vb(t,e,e.term,0),!0)}function bb(e,t,n){gb(e,t,n),Iy.add(t)}var xb=15e3,Sb=new Map;function Cb(e){if(!rt()||Sb.has(e)||O.get(e)?.dataWs)return;let t=l_(e,!1,!1),n=new WebSocket(dt(location,tt(t)));n.binaryType=`arraybuffer`;let r=[],i=e=>r.push(e),a=()=>wb(e,n),o=()=>{n.readyState===WebSocket.CONNECTING&&a()};n.addEventListener(`message`,i),n.addEventListener(`close`,a);let s=setTimeout(o,et),c=setTimeout(a,xb);Sb.set(e,{socket:n,attachPath:t,bufferedMessages:r,release:()=>{n.removeEventListener(`message`,i),n.removeEventListener(`close`,a),clearTimeout(s),clearTimeout(c)}})}function wb(e,t){let n=Sb.get(e);n?.socket===t&&(Sb.delete(e),n.release(),t.close())}function Tb(e,t){let n=Sb.get(e);if(!n)return null;let r=n.socket.readyState===WebSocket.CONNECTING||n.socket.readyState===WebSocket.OPEN;return n.attachPath!==t||!r?(wb(e,n.socket),null):(Sb.delete(e),n.release(),n)}function Eb(e,t,n){Iy.delete(t);let r=My.get(t);My.delete(t);let i=Ny.get(t);Ny.delete(t);let a=r!==void 0,o=r??i,s=!1,c=Zy(t,e),l=l_(e,a,!c),u=Tb(e,l),d=u?.socket??new WebSocket(dt(location,tt(l)));Xy.set(d,c),d.binaryType=`arraybuffer`,t.dataWs=d,c&&wg(`terminal-connecting`),mb(t);let f=!1,p=!1,m={hasSeenSize:!1,lastSeq:0},h=setTimeout(()=>{d.readyState===WebSocket.CONNECTING&&(p=!0,c&&wg(`terminal-abandoned`),d.close())},et);Ng.register(e,(e,t)=>n.write(e,t));let g=r=>{if(t.dataWs!==d)return;let i=h_(r.data,m);if(i.kind===`bytes`){zt(t),Xy.get(d)&&wg(`terminal-bytes`);let r=s;if(s=!1,Ng.enqueue(e,i.data),!r)return;let a=o??0;Ng.enqueueAction(e,()=>{n.scrollToLine(Math.max(0,n.buffer.active.length-a))});return}if(i.kind===`beat`){zt(t);return}if(i.kind===`attach-size`){s=o!==void 0,a||Py.delete(t),m.hasSeenSize=!0,m.lastSeq=i.seq,n.reset(),jv(n),t.ptySize={cols:i.cols,rows:i.rows},t._syncGrid?.();return}if(i.kind!==`size`)return;m.lastSeq=i.seq;let c={cols:i.cols,rows:i.rows};Ng.enqueueAction(e,()=>{t.ptySize=c,t._syncGrid?.()})};d.addEventListener(`message`,g),d.addEventListener(`close`,()=>{if(clearTimeout(h),t.dataWs!==d)return;if(c&&!p&&wg(`terminal-closed`),Fy.delete(t),!f&&!p&&$e(),!Zy(t,e)){bb(e,t,n);return}if(p){vb(e,t,n,0);return}let r=pt(t._dataWsRetryAttempt||0);t._dataWsRetryAttempt=(t._dataWsRetryAttempt||0)+1,vb(e,t,n,r)});let _=()=>{clearTimeout(h),f=!0,c&&wg(`terminal-opened`),t._dataWsRetryAttempt=0,Fy.delete(t),mb(t),Qy(t,e),t._syncGrid?.({isActivationEdge:!0}),t._retryOwedGridClaim?.(),t._inputQueue?.length&&setTimeout(()=>{t.dataWs===d&&Ob(t)},50)};d.addEventListener(`open`,_),d.readyState===WebSocket.OPEN&&_();for(let e of u?.bufferedMessages??[])g(e)}var Db=!1;function Ob(e){let t=e._inputQueue,n=e.dataWs;if(!Db&&t?.length&&n?.readyState===WebSocket.OPEN){for(let e of t)n.send(JSON.stringify({type:`input`,data:e}));t.length=0,Gy(e,`keys`)}}function kb(){Db=!0;for(let e of O.values())mb(e)}function Ab(){Db=!1;for(let e of O.values())mb(e),Ob(e)}function jb(e){let t=k(e);if(typeof e!=`string`||!t?.term)return;let n=t.dataWs;t._dataWsRetryAttempt=0,vb(e,t,t.term,0),n?.close()}function Mb(){for(let[e,t]of O)t.term&&(Zy(t,e)?jb(e):Nb(e,t,t.term))}function Nb(e,t,n){let r=t.dataWs;r&&(bb(e,t,n),r.close())}function Pb(){for(let[e,t]of O)t.term&&Nb(e,t,t.term)}function Fb(e,t){let n=e.dataWs;e.dataWs=null,Ng.unregister(t),n&&n.readyState<=WebSocket.OPEN&&n.close()}function Ib(e,t,n){if(!e||t==null||t===``)return!1;if(n?.fromSoftKeyboard||e._resetSoftKeyboardBuffer?.(),!Db&&!e._inputQueue?.length&&e.dataWs?.readyState===WebSocket.OPEN)return e.dataWs.send(JSON.stringify({type:`input`,data:t})),!0;if(!e._inputQueue)return!1;let r=e.dataWs?.readyState!==WebSocket.OPEN;return e._inputQueue.length>=xy?(Wy(e,`keys`,`error`,Vy),!1):(e._inputQueue.push(t),r&&Wy(e,`keys`,`busy`,By),!0)}function Lb(e,t,n){let r=window.matchMedia?.(Cy).matches?wy:Ty,i=new n.Terminal({cursorBlink:Dy,fontSize:r,fontFamily:sg(),theme:Wg(),scrollback:Ey,allowProposedApi:!0,linkHandler:M_()}),a=new n.FitAddon;i.loadAddon(a),cb(e),i.open(e),ab(e,t,i),P_(i),Av(i,t.abortController.signal),t.term=i,t.fitAddon=a,fy(t);let o=null,s=null,c=!1,l=null,u=null;function d(){s!==null&&(clearTimeout(s),s=null)}function f(){if(!c)return null;let e=t.fitAddon;if(!e)return null;let n=e.proposeDimensions();return n?{cols:n.cols,rows:n.rows}:null}function p(e){if(!c||!Ay(t.card)||t.dataWs?.readyState!==WebSocket.OPEN)return!1;t.dataWs.send(JSON.stringify({type:`claim`,cols:e.cols,rows:e.rows})),l=e,u=null;let n=a_({authoritative:t.ptySize??null,isActiveViewer:c,lastClaim:l});return t.card.dataset.grid=n?`following`:`exact`,!0}function m(e){d(),u=e,s=setTimeout(()=>{s=null,p(e)},Sy)}function h(){u&&s===null&&p(u)}function g({isActivationEdge:e=!1}={}){let n=t.term;if(!n)return;let r=f_({authoritative:t.ptySize??null,applied:{cols:n.cols,rows:n.rows},proposal:f(),isActiveViewer:c,isDataWsOpen:t.dataWs?.readyState===WebSocket.OPEN,lastClaim:l});r.resizeTo&&n.resize(r.resizeTo.cols,r.resizeTo.rows),t.card.dataset.grid=r.isFollowing?`following`:`exact`,r.keepsPendingSettle||(d(),u=null),r.sendUnview?(l=null,t.dataWs?.send(JSON.stringify({type:`unview`}))):r.owedClaim&&(e&&p(r.owedClaim)||m(r.owedClaim))}function _(){let e=u_({authoritative:t.ptySize??null,isActiveViewer:c,isDocumentEngaged:Ay(t.card),isDataWsOpen:t.dataWs?.readyState===WebSocket.OPEN,lastClaim:l});e!==`none`&&(d(),e===`rebid`&&(l=null),g({isActivationEdge:!0}))}let v=new ResizeObserver(()=>{o===null&&(o=requestAnimationFrame(()=>{o=null,g()}))});v.observe(e),t.resizeObserver=v,t._syncGrid=g,t._resetGridClaim=()=>{d(),u=d_({isActiveViewer:c,lastClaim:l,owedClaim:u}),l=null},t._retryOwedGridClaim=h,t._syncGridOnEngagementEdge=_,t._isActiveViewer=()=>c,t._setActiveViewer=e=>{c!==e&&(c=e,d(),u=null,e&&my(t),g({isActivationEdge:!0}))},t.card.addEventListener(`focusin`,()=>{ky=!1,_()},{signal:t.abortController.signal}),yy(t);let ee=null;i.onScroll(()=>{ee===null&&(ee=requestAnimationFrame(()=>{ee=null,t.term&&(t.term.refresh(0,t.term.rows-1),qy(t,t.term))}))}),i.onWriteParsed(()=>qy(t,i,{hasNewOutput:!0})),i.parser.registerOscHandler(52,e=>{let n=e.indexOf(`;`);if(n<0)return!0;let r=e.slice(n+1);if(r===``||r===`?`)return!0;let i;try{i=eb(r)}catch(e){return tb(t,`osc52 decode`,e),!0}return document.hasFocus()&&navigator.userActivation?.isActive!==!1?(nb(t,i,`osc52 write`),!0):(rb(t,i),!0)}),i.attachCustomKeyEventHandler(e=>{if(e.shiftKey&&e.key===`Enter`)return e.type===`keydown`&&Ib(t,`\x1B\r`),!1;if(e.type!==`keydown`)return!0;if(by(e))return!1;let n=e.ctrlKey||e.metaKey;if(n&&e.key===`c`&&i.hasSelection()){let e=i.getSelection();return i.clearSelection(),nb(t,e,`copy`),!1}return n&&e.key===`v`?!1:n&&e.key===`Backspace`?(Ib(t,`\x1B`),!1):!0}),Rb(e,i,t),ty(e,i)}function Rb(e,t,n){let r=t.textarea;if(!r)return;let i=``,a=()=>{i=r.value},o=()=>{i=``,_u()&&r.value!==``&&(r.value=``)};n._resetSoftKeyboardBuffer=o;let s=()=>{let e=w_(i,r.value);return i=r.value,e!==``&&(Ib(n,e,{fromSoftKeyboard:!0}),t.scrollToBottom(),!0)},c=(t,n)=>{e.addEventListener(t,e=>{_u()?n(e):a()},!0)};c(`keydown`,e=>{C_(e)?e.stopPropagation():(s(),queueMicrotask(o))}),c(`compositionstart`,e=>{e.stopPropagation()}),c(`compositionupdate`,e=>{e.stopPropagation()}),c(`compositionend`,e=>{e.stopPropagation(),setTimeout(s,0)}),c(`input`,e=>{if(!S_(e.inputType)){queueMicrotask(o);return}if(e.stopPropagation(),s())return;let r=b_(e.inputType);r!==``&&(Ib(n,r,{fromSoftKeyboard:!0}),t.scrollToBottom())})}function zb(e,t){e._inputQueue=[];let n=e.term;n&&(n.onData(n=>{Ib(e,n),e.unseenOutcome&&E({type:`dismiss`,id:t,expectedState:e.currentState})}),n.onScroll(n=>{Yy(e,t,n)}),Vb(e.termWrap,t,e.abortController.signal),mb(e),queueMicrotask(()=>{ob(t,e)&&Eb(t,e,n)}))}function Bb(e){return!!e&&Array.from(e.types).includes(`Files`)}function Vb(e,t,n){e.addEventListener(`paste`,e=>{let n=e.clipboardData;n&&n.files.length!==0&&n.getData(`text/plain`)===``&&(e.preventDefault(),e.stopPropagation(),Fv(t,Array.from(n.files)))},{capture:!0,signal:n}),e.addEventListener(`dragover`,t=>{Bb(t.dataTransfer)&&(t.preventDefault(),t.dataTransfer.dropEffect=`copy`,e.dataset.dropTarget=`true`)},{signal:n}),e.addEventListener(`dragleave`,t=>{t.relatedTarget instanceof Node&&e.contains(t.relatedTarget)||delete e.dataset.dropTarget},{signal:n}),e.addEventListener(`drop`,n=>{delete e.dataset.dropTarget,Bb(n.dataTransfer)&&(n.preventDefault(),n.stopPropagation(),Fv(t,Array.from(n.dataTransfer.files)))},{capture:!0,signal:n})}function Hb(e,t){if(e.term||db.has(e))return;let n=oy();if(n){Ub(e,t,n);return}db.add(e);let r=e._isActiveViewer?.()===!0;e._isActiveViewer=()=>r,e._setActiveViewer=e=>{r=e},cb(e.termWrap),mb(e),sy().then(n=>{db.delete(e),!(e.term||e.abortController.signal.aborted||O.get(t)!==e)&&(Ub(e,t,n),e._setActiveViewer?.(r))},()=>{db.delete(e),mb(e)})}function Ub(e,t,n){Lb(e.termWrap,e,n),zb(e,t)}function Wb(e){e?._syncGridOnEngagementEdge?.()}function Gb(e,t){if(!e)return;Hb(e,t),Qy(e,t),my(e);let n=e.term;n&&(n.refresh(0,n.rows-1),Wb(e))}function Kb(e,t,n){e&&(n&&Hb(e,t),e._setActiveViewer?.(n))}var qb=e=>e==null?``:String(e),Jb=e=>Ae.includes(e),Yb=e=>Pe.includes(e);Da(cu);var Xb=null,Zb=null;function Qb(){return Xb??=P(()=>import(`./alert-sound-DKO-ieDK.js`),[]).catch(e=>(Xb=null,T(`alert-sound`,`alert sound failed to load: ${ft(e)}`),null)),Xb}function $b(){return Zb??=P(()=>import(`./resume-dialog-Bt7QrUHx.js`),__vite__mapDeps([15,3,4,1,2,12,7])).catch(e=>(Zb=null,T(`resume-dialog`,`restart dialog failed to load: ${ft(e)}`),null)),Zb}function ex(){let e=Ir();Qb().then(t=>t?.playAlertSound(e))}var tx=null,nx=null;function rx(){return nx??=P(()=>import(`./plan-face-Cny9YLKQ.js`).then(e=>(tx=e,e),()=>(nx=null,null)),__vite__mapDeps([16,3,4,1,7,8,17])),nx}function ix(e){let t=w(`section`,`plan-face`);t.hidden=!0;let n=null,r=!1,i=null,a={},o=new Map;function s(s){if(r=!1,e.signal?.aborted)return;if(!s){e.reportProblem(`The plan view did not load. Open the plan again to retry.`),i!==null&&e.showTerminal(),i=null;return}let c=s.createPlanFace(e);t.replaceWith(c.el),c.update(a);for(let e of o.values())c.update({draft:e});o.clear(),n=c,i!==null&&c.show(i)}return{get el(){return n?.el??t},show(e){n?n.show(e):(i=e,!r&&(r=!0,rx().then(s)))},hide(){i=null,n?.hide()},update(e){n?n.update(e):(e.state&&(a.state=e.state),typeof e.isConnected==`boolean`&&(a.isConnected=e.isConnected),e.draft&&o.set(e.draft.agentId,e.draft))}}}function ax(e){let t=e.currentState;e.btnRestart.classList.toggle(`visible`,Jb(t)||Yb(t)||t===x.DORMANT),e.btnWorkspaceRepos.classList.toggle(`visible`,e.card.dataset.workspace!==void 0),e.btnTrace.classList.toggle(`visible`,sc()),e.btnPlan.classList.toggle(`visible`,Eh(e)!==`hidden`)}function ox(e){e.sessionMenu.classList.remove(`open`),e.btnSessionMenu.setAttribute(`aria-expanded`,`false`)}function sx(e,t){Tc(e.taskTitleEl,()=>Oc(e,t)),e.nameEl.addEventListener(`dblclick`,n=>{n.preventDefault(),jc(e,t)}),e.nameEl.addEventListener(`click`,()=>{Ac(e.nameEl)||Pl(t)}),e.nameEl.addEventListener(`keydown`,n=>{n.target===e.nameEl&&(n.key===`F2`||n.key===`Enter`)&&(n.preventDefault(),jc(e,t))}),e.btnRestart.addEventListener(`click`,()=>{ox(e),$b().then(n=>n?.openRestartDialog(t,{readState:()=>e.currentState,canListEarlier:e.card.dataset.ephemeral===void 0}))}),e.btnWorkspaceRepos.addEventListener(`click`,()=>{ox(e),jh(t)}),e.btnTrace.addEventListener(`click`,()=>{ox(e),Gm(t)}),e.btnDocs.addEventListener(`click`,()=>{ox(e),fa(t)}),e.btnShown.addEventListener(`click`,()=>{ox(e),ja(t)}),e.btnGuardrails.addEventListener(`click`,()=>{if(e.btnGuardrails.getAttribute(`aria-disabled`)===`true`)return;let n=n=>()=>{nc(e,{type:`set-session-guardrails`,id:t,isOn:n})};e.card.dataset.guarded===void 0?At({title:`Restore guardrails`,message:`This session restarts with guardrails on, interrupting any turn in progress.`,confirmLabel:`Restore guardrails`,danger:!1,onConfirm:n(!0)}):At({title:`Release guardrails`,message:`This session restarts without guardrails, interrupting any turn in progress. It can then read, write and reach anything your account can, including credentials and Glimmervoid itself.`,confirmLabel:`Release guardrails`,danger:!0,onConfirm:n(!1)})}),e.btnPlan.addEventListener(`click`,()=>{let n=Eh(e);n!==`hidden`&&(n===`face`?vx(t):location.hash=Bu(t))}),e.btnRemove.addEventListener(`click`,()=>{ox(e),$l(t)});function n(){for(let[,t]of O)t!==e&&ox(t);e.sessionMenu.classList.add(`open`),e.btnSessionMenu.setAttribute(`aria-expanded`,`true`)}e.btnSessionMenu.addEventListener(`click`,t=>{t.stopPropagation(),e.sessionMenu.classList.contains(`open`)?ox(e):n()}),Rs({trigger:e.btnSessionMenu,menu:e.sessionMenu,menuItems:()=>[...e.sessionMenu.querySelectorAll(`.popup-menu-item.visible`)],isOpen:()=>e.sessionMenu.classList.contains(`open`),open:n,close:()=>ox(e),signal:e.abortController.signal}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;!e.sessionMenu.contains(n)&&n!==e.btnSessionMenu&&ox(e)},{signal:e.abortController.signal}),e.btnDebug.addEventListener(`click`,n=>{n.stopPropagation(),Rc(e,t)}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;e.debugOpen&&!e.card.contains(n)&&zc(e)},{signal:e.abortController.signal})}function cx(e,t,n){let r=k(e);if(r){r.taskTitle=typeof t==`string`?t:null,r.taskTitleIsCustom=n===!0;for(let e of[r.taskTitleEl,r.titleTargetEl])e&&Dc(e,r.taskTitle)}}function lx(e){return typeof e==`string`&&O.has(e)}function ux(){return O.size}function dx(e){let t=e||{};t.cursorBlink!=null&&Oy(t.cursorBlink),t.debugMode!=null&&(ac(t.debugMode),Iu(t.debugMode));for(let[,e]of O)e.term&&t.cursorBlink!=null&&(e.term.options.cursorBlink=t.cursorBlink)}function fx(){ag(O.values(),sg())}function px(e){return{state:e.currentState,unseenOutcome:e.unseenOutcome,ownerId:e.ownerId}}function mx(){let e=mt(A.counts),t=e>0?`(${e}) Glimmervoid`:`Glimmervoid`;document.title!==t&&(document.title=t)}function hx(e,t,n,r={}){if(!Tt)return;let i=D(e),a=qb(n)||x.DORMANT,o=xc(i,qb(t),a,r),s=a===x.DORMANT;Tt.appendChild(o.card);let c;function l(){c.face=`terminal`,c.card.dataset.face=`terminal`,c.termWrap.hidden=!1,c.planFace.hide(),ax(c),Gb(c,i)}let u=new AbortController,d=ix({signal:u.signal,requestPlan:(e,t,n)=>E({type:`session-plan`,id:e,agentId:t,revision:n}),requestDraft:(e,t)=>E({type:`session-plan`,id:e,agentId:t,draft:!0}),showTerminal:l,sendDecision:(e,t)=>E({type:`plan-decision`,id:e,...t}),reportProblem:e=>Vx(i,e)});c={term:null,fitAddon:null,webglAddon:null,needsWebGLReload:!1,webglAttachedWithoutLayout:!1,dataWs:null,card:o.card,nameEl:o.nameEl,taskTitleEl:o.taskTitleEl,taskTitle:r.taskTitle??null,taskTitleIsCustom:r.taskTitleIsCustom??!1,path:qb(r.path),ownerId:r.ownerId??null,stateSince:typeof r.stateSince==`number`&&Number.isFinite(r.stateSince)?r.stateSince:Date.now(),sessionMenu:o.sessionMenu,termWrap:o.termWrap,btnDebug:o.btnDebug,btnRestart:o.btnRestart,btnSessionMenu:o.btnSessionMenu,btnWorkspaceRepos:o.btnWorkspaceRepos,btnGuardrails:o.btnGuardrails,btnTrace:o.btnTrace,btnPlan:o.btnPlan,btnDocs:o.btnDocs,btnShown:o.btnShown,shownUnopenedDot:o.shownUnopenedDot,btnRemove:o.btnRemove,debugOverlay:null,debugOpen:!1,abortController:u,currentState:a,face:`terminal`,isBorrowed:!1,hasPlan:!1,pendingPromptKind:null,planReviewState:{reviews:[]},planFace:d},c._ensureTerminalReady=()=>Gb(c,i),c._showTerminalFace=l,c._showPreferredFace=()=>{gx(c)===`plan`?vx(i):l()},c._setBorrowed=e=>{c.isBorrowed=e,ax(c)},o.card.append(d.el);let f=O.get(i);return f&&Ot(A,px(f)),O.set(i,c),_t(A,px(c)),Lt(i,c),sx(c,i),ax(c),c.btnDocs.classList.toggle(`visible`,sa(i)),Oa(i),a===x.RUNNING&&It(c,!0),s||Hb(c,i),mx(),c}function gx(e){let t=e.planReviewState.reviews.some(e=>e.state===`open`),n=e.planReviewState.reviews.some(Wu);return Th({hasPlan:e.hasPlan,pendingPromptKind:e.pendingPromptKind,hasOpenReview:t,hasApprovedReview:n})}function _x(e){let t=k(e);return!t?.isBorrowed||gx(t)!==`plan`?!1:vx(e)}function vx(e){let t=k(e);return!t?.isBorrowed||!t.hasPlan?!1:(t.face=`plan`,t.card.dataset.face=`plan`,t.termWrap.hidden=!0,t.planFace.show(D(e)),ax(t),Qy(t,D(e)),!0)}function yx(e,t){let n=k(e);n&&(n.hasPlan=t===!0,ax(n),_x(e))}function bx(e){let t=k(e.id);t&&(t.planReviewState=sd(t.planReviewState,e),t.hasPlan=e.hasPlan,t.planFace.update({state:t.planReviewState}),ax(t),_x(e.id))}function xx(e){let t=k(e.id);t&&t.planFace.update({draft:e})}function Sx(e){let t=k(e.id);t&&(t.planReviewState={reviews:e.reviews},t.hasPlan=!0,t.planFace.update({response:e}),ax(t))}function Cx(e){if(e.type!==`error`&&e.type!==`session-error`||e.scope!==`plan`&&e.scope!==`plan-decision`)return!1;let t=k(e.id);return t?e.scope===`plan`?(t.planFace.update({requestFailed:!0}),!0):(t.planFace.update({decisionRefused:!0,refusalText:e.message}),!0):!1}function wx(e){for(let[,t]of O)t.planFace.update({isConnected:e})}function Tx(e,t){let n=k(e);n&&(n.effectiveBase=typeof t==`string`?t:void 0)}function Ex(e,t){let n=k(e);n&&(n.agent=typeof t==`string`?t:null,ax(n))}function Dx(e,t){let n=k(e);n&&(t?n.card.dataset.worktree=``:delete n.card.dataset.worktree)}function Ox(e,t,n){let r=k(e);r&&(kx(r.card,`guarded`,t),kx(r.card,`guardrailsReleased`,n),Cc(r.btnGuardrails,r.card))}function kx(e,t,n){n?e.dataset[t]=``:delete e.dataset[t]}function Ax(e,t,n=!1){let r=k(e);r&&(r.activeAgents=Math.max(0,Number(t)||0),r.awaitingBackgroundTasks=Ve(r.currentState,n===!0),r.card.toggleAttribute(`data-monitoring`,r.awaitingBackgroundTasks))}function jx(e,t){let n=k(e);if(!n)return;let r=Ch(t),i=n.card.querySelector(`.usage-badge`);if(r)n.card.dataset.usage=``,i&&(i.dataset.tipLabel=r,i.dataset.tipDetail=wh(t),Zs(i));else{if(delete n.card.dataset.usage,!i)return;delete i.dataset.tipLabel,Zs(i)}}function Mx(e,t){let n=k(e);n&&(n.pendingPromptKind=typeof t==`string`?t:null,_x(e))}function Nx(e,t){let n=k(e);n&&(Ot(A,px(n)),n.unseenOutcome=t??null,_t(A,px(n)))}function Px(e,t){t===`pending-review`||t===`parked`||t===`merging`?e.dataset.merge=t:delete e.dataset.merge}function Fx(e,t,n=null){let r=k(e),i=qb(t)||`none`;r&&Px(r.card,i),Lf(D(e),i,qb(n)||null)}function Ix(e,t,n=null){let r=k(e),i=qb(t)||`none`;r&&Px(r.card,i),zf(D(e),i,qb(n)||null)}function Lx(e,t){Bf(D(e),t)}function Rx(e,t){let n=k(e);if(!n)return;let r=qb(t);n.card.dataset.session=r,n.nameEl.textContent=r}function zx(e){let t=k(e);t&&(zc(t),Ot(A,px(t)),O.delete(D(e)),Lt(D(e),void 0),tx?.dropPlanBodyCache(D(e)),t.resizeObserver&&t.resizeObserver.disconnect(),t.abortController&&t.abortController.abort(),Fb(t,D(e)),fy(t),t.term&&t.term.dispose(),t.term=null,t.fitAddon=null,t.card&&t.card.remove(),mx())}function Bx(e,t,n){if(!t||!e.term)return;let r=n===x.DONE?`Session complete`:`Session failed`,i=n===x.DONE?`\x1B[34m`:`\x1B[31m`;e.term.write(`\r\n\r\n\x1b[2m${i} ${r}\x1b[0m\r\n\r\n\x1b[2m Open the session actions menu and choose Restart to start a new session.\x1b[0m\r\n`)}function Vx(e,t){let n=k(e);n?tc(n).show(`error`,t):R({source:`Session`,sessionId:typeof e==`string`?e:void 0,message:t})}function Hx(e,t){let n=k(e);if(!n)return;let r=n.card.querySelector(`:scope > .session-failure-reason`);if(!(n.currentState===x.FAILED&&t)){r?.remove();return}let i=r??w(`p`,`session-failure-reason`);i.setAttribute(`role`,`status`),i.textContent=t,r||n.termWrap.before(i)}function Ux(e,t){e.term&&(t===x.DONE||t===x.FAILED)&&(e.term.clear(),e.term.reset())}function Wx(e){let t=O.get(e);t&&wt({state:t.currentState,unseenOutcome:t.unseenOutcome})&&document.visibilityState===`visible`&&(_u()||document.hasFocus())&&E({type:`dismiss`,id:e,expectedState:t.currentState})}function Gx(e,t,n){let r=document.activeElement;return El({previousState:t,nextState:n,isPhoneLayout:_u(),isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),isActiveViewer:e._isActiveViewer?.()===!0,hasFocusInsideTerminal:r instanceof Node&&e.termWrap.contains(r)})}function Kx(){return Pr()&&!Zh()}function qx(e,t,n,r=``){let i=k(e);if(!i)return;let a=qb(t),o=i.currentState;Ot(A,px(i)),i.currentState=a,_t(A,px(i)),Lt(D(e),i),a!==x.RUNNING&&(i.awaitingBackgroundTasks=!1),a!==o&&(i.stateSince=typeof n==`number`&&Number.isFinite(n)?n:Date.now(),It(i,a===x.RUNNING)),o===x.DORMANT&&a!==x.DORMANT&&Hb(i,D(e)),kt({state:a})===`resting`&&Yh(D(e)),i.card.dataset.state=a,i.card.toggleAttribute(`data-monitoring`,Ve(a,i.awaitingBackgroundTasks)),ax(i),(a===x.WAITING&&o!==x.WAITING||a===x.COMPLETE&&o!==x.COMPLETE)&&!tu(r)&&Kx()&&ex(),Gx(i,o,a)&&E({type:`dismiss`,id:D(e),expectedState:x.COMPLETE});let s=a===x.DONE||a===x.FAILED,c=o!==x.DONE&&o!==x.FAILED&&o!==x.INITIALIZING;s&&c&&(i.card.classList.remove(`completion-flash`),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.card.classList.add(`completion-flash`),i.card.addEventListener(`animationend`,()=>i.card.classList.remove(`completion-flash`),{once:!0})})}),Kx()&&ex()),(a===x.DONE||a===x.FAILED)&&Bx(i,c,a),a===x.INITIALIZING&&Ux(i,o),mx()}var Jx=`(no path)`;function Yx(e){if(!e)return Jx;let t=String(e).replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return(n===-1?t:t.slice(n+1))||`(no path)`}function Xx(e,t,n){let r=Array.isArray(e)?e:[],i=new Map;for(let e of r){let n=t(e),r=n?String(n):Jx,a=i.get(r);a||(a={key:r,label:r===`(no path)`?Jx:Yx(r),title:r,rows:[]},i.set(r,a)),a.rows.push(e)}if(n)for(let e of n){if(!e)continue;let t=String(e);t===`(no path)`||i.has(t)||i.set(t,{key:t,label:Yx(t),title:t,rows:[]})}let a=[...i.values()];return a.sort((e,t)=>e.label.localeCompare(t.label,void 0,{numeric:!0,sensitivity:`base`})||e.key.localeCompare(t.key)),{flat:i.size<=1,order:a.map(e=>e.key),groups:a}}function Zx(e,t){if(!e||!Array.isArray(e.groups))return[];let n=t||new Set,r=[];if(e.flat){for(let t of e.groups)for(let e of t.rows)r.push(e.id);return r}let i=new Map(e.groups.map(e=>[e.key,e]));for(let t of e.order){if(n.has(t))continue;let e=i.get(t);if(e)for(let t of e.rows)r.push(t.id)}return r}function Qx({onAdd:e,onForget:t}){let n=w(`div`,`session-group-header`),r=w(`span`,`session-group-label`),i=w(`span`,`session-group-count`),a=w(`span`,`session-group-rule`);a.setAttribute(`aria-hidden`,`true`);let o=w(`button`,`session-group-add`,`+`);o.type=`button`,o.addEventListener(`click`,()=>e(n.dataset.path,n.dataset.label));let s=w(`button`,`session-group-forget`);return s.type=`button`,s.append(L(Jo)),s.addEventListener(`click`,()=>t(n.dataset.path)),n.append(r,i,a,s,o),{header:n,label:r,count:i,addButton:o,forgetButton:s}}function $x(e,t,n){let{header:r,label:i,count:a,addButton:o,forgetButton:s}=e,c=t.key===Jx,l=t.rows.length===0;Wo(r,`path`,t.key),Wo(r,`label`,t.label),I(r,`title`,t.title),r.toggleAttribute(`data-empty`,l),F(i,t.label),F(a,String(t.rows.length)),I(a,`title`,`${t.rows.length} ${t.rows.length===1?`session`:`sessions`}`),Uo(o,c),Uo(s,c||!l),c||(I(o,`title`,`Add a session to ${t.label}`),I(o,`aria-label`,`Add a session to ${t.label}`)),!c&&l&&(I(s,`title`,`Remove ${t.label} from the ${n}`),I(s,`aria-label`,`Remove ${t.label} from the ${n}`))}var eS={waitingCount:0,finishedCount:0,failedCount:0},tS={failed:Fe[x.FAILED],waiting:Fe[x.WAITING],finished:Fe[x.COMPLETE]},nS={failed:`failed`,waiting:`needs you`,finished:`finished`},rS=[`NI.`,`THIS QUEUE IS DECEASED`,`AND NOW, NOTHING AT ALL`,`TOUCH GRASS, BRIEFLY`,`GO STRETCH`,`THE AGENTS ARE COPING`,`MORALE IS ADEQUATE`,`REQUIESCAT`,`STANDARDS ARE BEING MET`,`THE AGENTS WANT SPACE`,`NO CAUSE FOR ALARM`,`KINDLY GO AWAY`,`THEY COPE WITHOUT YOU`,`PRESS HARDER, PERHAPS`,`OH, WELL DONE`,`THAT DID NOTHING. AGAIN.`,`WELL. YOU TRIED.`,`SUBJECT PRESSED BUTTON`,`THE BUTTON WORKS. YOU?`,`WE HAVE NO PROBLEMS`,`THE LAWYERS SAY RELAX`,`BRING A TOWEL`],iS=2500,aS=`cubic-bezier(0.16, 1, 0.3, 1)`,oS=`cubic-bezier(0.5, 0, 0.2, 1)`,sS=260,cS=200,lS=200,uS=300,dS=28,fS=360,pS=420,mS=200,hS=3,gS=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),_S=new WeakMap;function vS(e){let t=_S.get(e);if(!t)throw Error(`attention banner was not built by buildAttentionBanner`);return t}function yS(e){return!document.hidden&&typeof e.animate==`function`&&e.getClientRects().length>0}function bS(){return gS?.matches??!1}function xS(e){return e.map(e=>({easing:aS,...e}))}function SS(e,t){let n=w(`div`,`attention-banner`);n.setAttribute(`role`,`status`),n.style.setProperty(`--attention-head-tile-px`,`${Et.headTile}px`),n.style.setProperty(`--attention-tile-px`,`${Et.tile}px`),n.style.setProperty(`--attention-tile-gap-px`,`${Et.tileGap}px`),n.style.setProperty(`--attention-overflow-px`,`${Et.overflowSlot}px`);let r=w(`span`,`attention-banner-chips`),i=w(`span`,`attention-tile-overflow`);i.setAttribute(`aria-hidden`,`true`),i.hidden=!0,r.append(i);let a=w(`span`,`attention-banner-line`);a.setAttribute(`aria-hidden`,`true`);let o=w(`span`,`attention-banner-status`);o.append(r,w(`span`,`attention-banner-count`),a);let s=w(`button`,`attention-banner-jump-row`);return s.type=`button`,s.append(o),t&&(t.classList.add(`attention-banner-jump`),s.append(t)),n.addEventListener(`click`,()=>e.onJump()),n.append(s),_S.set(n,{hooks:e,tiles:[],tileById:new Map,headId:null,flyingIds:new Set,tetheredId:null,tetheredRow:null,lastAllClearLine:null,allClearLineTimer:null,pressAnimations:[]}),typeof ResizeObserver==`function`&&new ResizeObserver(()=>wS(n)).observe(r),CS(n,eS,[]),n}function CS(e,t,n){let r=vS(e);r.tiles=n,F(C(e,`.attention-banner-count`),vt(t));let i=n.length>0;e.toggleAttribute(`data-empty`,!i),e.toggleAttribute(`data-jumpable`,i),i&&BS(e,r),wS(e)}function wS(e){let t=vS(e),n=C(e,`.attention-banner-chips`),r=C(n,`.attention-tile-overflow`),i=yS(e),a=t.tiles.slice(0,bt(n.clientWidth,t.tiles.length)),o=new Set(a.map(({id:e})=>e)),s=new Map;if(i)for(let[e,n]of t.tileById)s.set(e,n.getBoundingClientRect().left);let c=[...t.tileById].filter(([e])=>!o.has(e)),l=c.map(([,e])=>({left:e.offsetLeft,top:e.offsetTop}));c.forEach(([e,n],r)=>{t.tileById.delete(e),t.flyingIds.has(e)||!i?n.remove():OS(n,l[r])});let u=t.headId,d=[],f=null;a.forEach((i,a)=>{let o=t.tileById.get(i.id),s=o??ES(e,i.id);o||(t.tileById.set(i.id,s),d.push(s)),DS(s,i,a===0),(s.parentElement!==n||TS(s)!==f)&&n.insertBefore(s,r),f=s});let p=t.tiles.length-a.length;Uo(r,p===0),F(r,`+${p}`),I(r,`title`,`${p} more after these`),t.headId=a[0]?.id??null;let m=t.tiles[0]?.kind;if(m&&(e.dataset.headKind=m),m||delete e.dataset.headKind,t.tetheredId&&!o.has(t.tetheredId)&&MS(e,null),i){for(let e of d)kS(e);a.forEach(({id:e},n)=>{let r=t.tileById.get(e),i=s.get(e);if(!r||i===void 0)return;let a=i-r.getBoundingClientRect().left;e===t.headId&&e!==u?jS(r,a):a!==0&&AS(r,a,n)})}}function TS(e){let t=e.previousElementSibling;for(;t?.hasAttribute(`data-leaving`);)t=t.previousElementSibling;return t}function ES(e,t){let n=w(`span`,`attention-tile`);n.setAttribute(`role`,`img`),n.dataset.id=t;let r=w(`span`,`attention-tile-icon`);return r.setAttribute(`aria-hidden`,`true`),n.append(r),n.addEventListener(`pointerenter`,()=>MS(e,t)),n.addEventListener(`pointerleave`,()=>MS(e,null)),n}function DS(e,{kind:t,name:n},r){e.dataset.kind=t,e.toggleAttribute(`data-head`,r);let i=`${n}, ${nS[t]}`;e.title=i,e.setAttribute(`aria-label`,i),cs(C(e,`.attention-tile-icon`),tS[t])}function OS(e,t){e.toggleAttribute(`data-leaving`,!0),e.style.left=`${t.left}px`,e.style.top=`${t.top}px`;let n=bS()?[{opacity:1},{opacity:0}]:xS([{transform:`none`,opacity:1},{transform:`scale(0.6)`,opacity:0}]),r=e.animate(n,{duration:lS,fill:`forwards`});r.onfinish=()=>e.remove(),r.oncancel=()=>e.remove()}function kS(e){let t=bS()?[{opacity:0},{opacity:1}]:xS([{transform:`scale(0.6)`,opacity:0},{transform:`none`,opacity:1}]);e.animate(t,{duration:cS})}function AS(e,t,n){bS()||e.animate(xS([{transform:`translateX(${t}px)`},{transform:`none`}]),{duration:uS,delay:n*dS,fill:`backwards`})}function jS(e,t){bS()?e.animate([{opacity:.35},{opacity:1}],{duration:fS,easing:aS}):e.animate(xS([{transform:`translateX(${t}px) scale(0.8)`,filter:`brightness(1.8)`},{transform:`scale(1.1)`,offset:.6},{transform:`none`,filter:`none`}]),{duration:fS})}function MS(e,t){let n=vS(e),r=t?n.tileById.get(t):void 0,i=r&&t?t:null;if(i===n.tetheredId||(n.tetheredId&&n.tileById.get(n.tetheredId)?.toggleAttribute(`data-tethered`,!1),n.tetheredRow?.toggleAttribute(`data-tethered`,!1),n.tetheredRow?.style.removeProperty(`--tether`),n.tetheredId=i,n.tetheredRow=null,!r||!i))return;r.toggleAttribute(`data-tethered`,!0);let a=n.hooks.rowFor(i);if(!a)return;let o=getComputedStyle(r).getPropertyValue(`--tile`).trim();o&&a.style.setProperty(`--tether`,o),a.toggleAttribute(`data-tethered`,!0),n.tetheredRow=a}function NS(e){return!e||e.getClientRects().length===0?null:e.getBoundingClientRect()}function PS(e,t,n){let r=vS(e);if(r.flyingIds.has(t))return;let i=r.tileById.get(t);if(!i||!yS(e)){n();return}MS(e,null),r.flyingIds.add(t);let a=r.hooks.rowFor(t),o=i.getBoundingClientRect(),s=NS(a?.querySelector(`.session-row-glyph`)??a),c=i.cloneNode(!0);if(!(c instanceof HTMLElement)){r.flyingIds.delete(t),n();return}c.classList.add(`attention-tile-ghost`),c.setAttribute(`aria-hidden`,`true`),c.removeAttribute(`aria-label`),c.tabIndex=-1,c.style.left=`${o.left}px`,c.style.top=`${o.top}px`,c.style.width=`${o.width}px`,c.style.height=`${o.height}px`,document.body.append(c),i.style.visibility=`hidden`;let l=c.animate(FS(o,s),IS(s)),u=()=>{c.remove(),r.flyingIds.delete(t),i.isConnected&&(i.style.visibility=``),n()};l.onfinish=u,l.oncancel=u}function FS(e,t){return!t||bS()?[{opacity:1},{opacity:0}]:[{transform:`none`,opacity:1},{transform:`translateY(-5px) scale(1.2)`,opacity:1,offset:.25},{transform:`translate(${t.left+t.width/2-(e.left+e.width/2)}px, ${t.top+t.height/2-(e.top+e.height/2)}px) scale(${Math.min(1,t.width/e.width)})`,opacity:.2}]}function IS(e){return!e||bS()?{duration:mS,fill:`forwards`}:{duration:pS,easing:oS,fill:`forwards`}}function LS(e){let t=vS(e);e.hasAttribute(`data-empty`)&&zS(e,t);for(let e of t.pressAnimations)e.cancel();if(t.pressAnimations=[],!yS(e))return;let n={duration:sS};if(t.pressAnimations.push(e.animate(xS([{opacity:0},{opacity:.07,offset:.3},{opacity:0}]),{...n,pseudoElement:`::after`})),!bS()){t.pressAnimations.push(e.animate(xS([{transform:`none`},{transform:`scale(0.97) translateY(1px)`,offset:.3},{transform:`none`}]),n));for(let r of e.querySelectorAll(`.attention-banner-jump .kbd`))t.pressAnimations.push(r.animate(xS([{transform:`none`},{transform:`translateY(${hS}px)`,offset:.3},{transform:`none`}]),n),r.animate(xS([{transform:`none`},{transform:`translateY(-${hS}px)`,offset:.3},{transform:`none`}]),{...n,pseudoElement:`::after`}))}}function RS(e){let t=rS.filter(t=>t!==e);return t[Math.floor(Math.random()*t.length)]??rS[0]}function zS(e,t){let n=RS(t.lastAllClearLine);t.lastAllClearLine=n,C(e,`.attention-banner-line`).textContent=n,e.toggleAttribute(`data-all-clear-line`,!0),t.allClearLineTimer!==null&&window.clearTimeout(t.allClearLineTimer),t.allClearLineTimer=window.setTimeout(()=>BS(e,t),iS)}function BS(e,t){t.allClearLineTimer!==null&&window.clearTimeout(t.allClearLineTimer),t.allClearLineTimer=null,e.toggleAttribute(`data-all-clear-line`,!1)}var VS=e=>e.ui.path,HS=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),US=null,J=null,WS=null,GS=null,KS=null,qS=null,JS=null,Y=!1,YS=!1,XS=new Map,X=new Map,ZS=new Map,QS=new Map,Z=null,$S=``,eC=[],tC=new Set;function nC(){return Zx(iC(pC()),tC)}function rC(e){let t=Z;if(Z=e||null,t&&t!==Z){let e=X.get(t);e&&(e.tabIndex=-1,e.setAttribute(`aria-selected`,`false`))}if(Z){let e=X.get(Z);e&&(e.tabIndex=0,e.setAttribute(`aria-selected`,`true`))}}function iC(e){return Xx(e,VS,Cl(e,VS))}function aC(e){let t=QS.get(e.key),n=ZS.get(e.key);return(!t||!n)&&(t=Qx({onAdd:ql,onForget:e=>{wl(e),bC()}}),n=w(`div`,`focus-rail-list`),n.setAttribute(`role`,`listbox`),QS.set(e.key,t),ZS.set(e.key,n)),$x(t,e,`rail`),I(n,`aria-label`,`${e.label} sessions`),{header:t.header,list:n}}function oC(){return Y}function sC(){return j.snapshot().focusedSessionId}function cC({rail:e,center:t,resizer:n}){if(US=e,WS=t,!US||!WS)return;let r=US,i=WS;dC(n),r.removeAttribute(`role`),r.removeAttribute(`aria-label`),r.setAttribute(`aria-keyshortcuts`,br(ld)),J=SS({onJump:wC,rowFor:e=>X.get(e)},hd());let a=w(`details`,`rail-status-key`);a.append(w(`summary`,`rail-status-key-summary`,`Status key`),vl()),r.append(J,a),KS=w(`div`,`focus-empty`),KS.innerHTML=`<p class="focus-empty-title"></p><p class="focus-empty-desc"></p>`,qS=KS.querySelector(`.focus-empty-title`),JS=KS.querySelector(`.focus-empty-desc`),GS=w(`div`,`focus-card-slot`),i.append(KS,GS),r.addEventListener(`keydown`,fC)}var lC={minPx:180,maxPx:480},uC=16;function dC(e){e&&US&&Po({resizer:e,column:US,widthHost:US,widthProperty:`--rail-width`,bounds:lC,keyStepPx:uC,getStoredWidth:Qr,setStoredWidth:$r})}function fC(e){if(e.key===`Delete`||e.key===`Backspace`){let t=e.target instanceof HTMLElement?e.target:null,n=t?.dataset.id;if(!n||X.get(n)!==t)return;e.preventDefault(),$l(n);return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=ht(nC(),Z,e.key===`ArrowDown`?1:-1);t!=null&&(e.preventDefault(),rC(t),X.get(t)?.focus())}function pC(){return xt(zl(mC))}function mC(e){return e.nameEl?e.nameEl.textContent:e.card&&(e.card.dataset.session||e.card.dataset.id)||``}function hC(e){let{row:t,refs:n}=il(`button`);t.type=`button`,t.dataset.id=e,t.setAttribute(`role`,`option`),t.addEventListener(`click`,()=>gC(e)),t.addEventListener(`pointerenter`,()=>{J&&MS(J,e)}),t.addEventListener(`pointerleave`,()=>{J&&MS(J,null)});let{item:r,removeButton:i}=al(t,()=>$l(e));return r.setAttribute(`role`,`presentation`),i.tabIndex=-1,Object.assign(t,{_refs:n,_row:r})}function gC(e){let t=Il(e);t&&(AC(e),EC(t,e))}function _C(e,{id:t,ui:n,state:r,name:i},a){let o=XS.get(t)||`none`;fl(e,e._refs,{ui:n,state:r,name:i??``,mergeStatus:o===`none`?``:o,attentionPosition:a}),e.classList.toggle(`focused`,t===sC()),e.classList.toggle(`has-unopened-shown`,Ta(t));let s=t===Z;I(e,`aria-selected`,String(s)),I(e,`tabindex`,s?`0`:`-1`)}function vC(e,t){if(!Y)return;let n=e?.card?.dataset.id,r=n?X.get(n):null;r&&(t===`flag`?r.dataset.activity=e._activity||``:Vt(r._refs?.glyph))}Ft(vC),Ht((e,t)=>{if(!Y)return;let n=X.get(e);n&&F(n._refs.elapsed,Bt(t))});var yC=new Map;function bC(e){if(!Y)return;let t=US;if(!t)return;let n=pC(),r=iC(n),i=new Set,a=St(n,sC()),o=new Map(a.map(({id:e},t)=>[e,t+1])),s=(t,n)=>{let r=t.map(e=>e.id).join(`,`),a=n._lastOrderKey===r&&n.childElementCount===t.length;for(let n of t){let{id:t}=n;i.add(t);let r=X.get(t),a=!r;r||(r=hC(t),X.set(t,r));let s=o.get(t)??null;(!e||a||e.has(t)||yC.get(t)!==s)&&_C(r,n,s),yC.set(t,s)}a||Ho(n,t.flatMap(({id:e})=>X.get(e)?._row??[])),n._lastOrderKey=r},c=new Set(r.order),l=r.groups.map(e=>e.key).join(`
|
|
77
|
+
`),u=l===$S;$S=l;for(let e of r.groups){let{header:n,list:r}=aC(e);u||t.append(n,r),s(e.rows,r)}for(let[e,t]of[...QS])c.has(e)||(t.header.remove(),ZS.get(e)?.remove(),QS.delete(e),ZS.delete(e));for(let[e,t]of X)i.has(e)||(t._row.remove(),X.delete(e),yC.delete(e),e===Z&&(Z=null));for(let e of[...XS.keys()])O.has(e)||XS.delete(e);let d=eC;eC=Zx(r,tC);let f=sC();if(f&&!O.has(f)){j.dispatch(`focusSession`,null),Z=null;let e=xC(d,f);if(e){let t=!document.activeElement||document.activeElement===document.body;AC(e),t&&EC(O.get(e),e);return}}jC();let p=sC();if(p){let e=O.get(p);e&&e.card.parentElement!==GS&&OC(e,p)}CC(n,a)}function xC(e,t){let n=e.filter(e=>e===t||O.has(e));if(n.length<2)return eC.find(e=>O.has(e))??null;let r=n.indexOf(t)===n.length-1;return ht(n,t,r?-1:1)}function SC(){return St(pC(),sC())}function CC(e,t){J&&CS(J,Dt(e),t)}function wC(){if(!Y)return;J&&LS(J);let e=SC()[0]?.id;e&&TC(e)}function TC(e){if(!Y)return;X.get(e)?.scrollIntoView({block:`nearest`}),J&&PS(J,e,()=>DC(e));let t=O.get(e);Il(e),AC(e),EC(t,e)}function EC(e,t){e&&requestAnimationFrame(()=>requestAnimationFrame(()=>{Y&&sC()===t&&e.term?.focus()}))}function DC(e){if(HS?.matches||document.hidden)return;let t=X.get(e);t?.animate&&(t.animate([{transform:`scale(1)`},{transform:`scale(1.045)`,offset:.3},{transform:`scale(1)`}],{duration:360,easing:`cubic-bezier(0.22, 1, 0.36, 1)`}),t._row.animate([{boxShadow:`0 0 0 3px var(--accent)`},{boxShadow:`0 0 0 3px transparent`}],{duration:700,easing:`ease-out`}));let n=O.get(e)?.card;n?.animate&&n.animate([{opacity:.8},{opacity:1}],{duration:240,easing:`ease-out`})}function OC(e,t){GS&&(sn(e,t,GS,{className:`focus-centered`}),Kb(e,t,!0))}function kC(){let e=sC();e&&(on()===e&&cn(),j.dispatch(`focusSession`,null))}function AC(e){Y&&O.has(e)&&(Wx(e),Ll(e),e!==sC()&&(kC(),j.dispatch(`focusSession`,e),Z=e,bC()))}function jC(){if(!KS||!qS||!JS)return;let e=sC(),t=!!(e&&O.has(e)),n=O.size>0;Uo(KS,t),na(KS,!n),Uo(qS,!n),Uo(JS,!n),!t&&n&&(F(qS,`No session selected`),F(JS,`Select a session from the rail on the left to focus it here.`))}function MC(e,t){XS.set(D(e),typeof t==`string`&&t?t:`none`),Y&&bC()}function NC(e){Y&&O.has(e)&&AC(e)}function PC(e){return!Y||!O.has(e)?!1:(AC(e),vx(e))}function FC(e){if(!Y)return;let t=nC()[e-1];t&&gC(t)}function IC(e){if(!Y)return;let t=ht(nC(),Z,e);t!=null&&(gC(t),X.get(t)?.scrollIntoView({block:`nearest`}))}window.addEventListener(`focus`,()=>{let e=sC();Y&&e&&Wx(e)});function LC(){US&&(Y=!0,kC(),Z=null,bC(),YS&&SC().length>0?wC():(YS&&J&&LS(J),zC()))}function RC(e){YS=!0;try{e()}finally{YS=!1}}function zC(){if(!Y||sC())return;let e=Rl();e&&AC(e)}function BC(){Y&&=(kC(),Z=null,!1)}var VC=`t-[0-9a-f]{8}`,HC=`No intent yet. The visions proposes one after its first pass.`,UC=`Unowned`,WC=RegExp(`^${VC}$`);function GC(){return{byProject:{},unowned:[]}}function KC(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.text==`string`?t.text:``;if(!n)return null;let r=Number(t.ts),i=Number(t.hits);return{id:typeof t.id==`string`&&WC.test(t.id)?t.id:null,text:n,uris:Array.isArray(t.uris)?t.uris.filter(e=>typeof e==`string`&&e!==``):[],ts:Number.isFinite(r)&&r>0?r:0,hits:Number.isInteger(i)&&i>0?i:1}}function qC(e){if(Array.isArray(e))return e.map(KC).filter(e=>e!==null);let t=KC(e);return t?[t]:[]}function JC(e){let t=e?.intent;if(!t||typeof t!=`object`)return GC();let n=t;if(!(Object.hasOwn(n,`byProject`)||Object.hasOwn(n,`unowned`)||Object.hasOwn(n,`global`)))return{byProject:{},unowned:qC(n)};let r=n.byProject&&typeof n.byProject==`object`?n.byProject:{},i=[];for(let[e,t]of Object.entries(r)){let n=qC(t);n.length!==0&&e&&i.push([e,n])}return{byProject:Object.fromEntries(i),unowned:qC(Object.hasOwn(n,`unowned`)?n.unowned:n.global)}}function YC(e,t){let n=typeof t?.id==`string`?t.id:null;if(!n)return e;let r=e.findIndex(e=>e.id===n);return r<=0?e:[e[r],...e.slice(0,r),...e.slice(r+1)]}function XC(e,t){let n=e||GC(),r=t?.intent;if(!r||typeof r!=`object`)return n;let i=r,a=YC(Array.isArray(i.threads)?qC(i.threads):qC(i),i.active),o=typeof t?.projectId==`string`&&t.projectId?t.projectId:null;if(!o)return{byProject:{...n.byProject},unowned:a};let s={...n.byProject};return a.length===0&&delete s[o],a.length>0&&(s[o]=a),{byProject:s,unowned:n.unowned}}function ZC(e,t=null){let n=t&&typeof t.get==`function`?t.get(e):null;return typeof n==`string`&&n?n:e}function QC(e,{key:t,label:n,now:r}){return e.map((e,i)=>({key:`${t}:${e.id||i}`,label:n,text:e.text,hasText:!0,active:i===0,meta:nw(e,r)}))}function $C(e,t=null,n=Date.now()){let r=e||GC(),i=Object.entries(r.byProject||{}).filter(([e,t])=>e&&Array.isArray(t)&&t.length>0).map(([e,n])=>({projectId:e,label:ZC(e,t),threads:n})).sort((e,t)=>e.label.localeCompare(t.label)).flatMap(({projectId:e,label:t,threads:r})=>QC(r,{key:e,label:t,now:n})),a=QC(Array.isArray(r.unowned)?r.unowned:[],{key:`unowned`,label:UC,now:n});return i.length+a.length>0?[...a,...i]:[{key:`unowned`,label:UC,text:HC,hasText:!1,active:!1,meta:``}]}function ew(e){return e?.text?`proposed by visions`:``}function tw(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:g(Number(t)-n,{rounding:`floor`,wording:`spelled`,suffix:` ago`,justNowBelowSeconds:60})}function nw(e,t=Date.now()){let n=ew(e);if(!n)return``;let r=typeof e?.id==`string`&&e.id?`thread ${e.id}, `:``,i=tw(e?.ts,t);return i?`${r}${n}, ${i}`:`${r}${n}`}function rw(e){let t=Number(e?.range?.start?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function iw(e){return(typeof e?.hand==`string`?e.hand.trim():``)||null}function aw(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=iw(t);return i?(n.set(r,i),n):(n.delete(r),n)}function ow(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=typeof e?.hand==`string`?e.hand.trim():``;n&&r&&t.set(n,r)}return t}var sw=`hand`,cw=`unseen`,lw=`
|
|
78
|
+
`;function uw(e){let t=2166136261,n=3266489909;for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r);t=Math.imul(t^i,16777619)>>>0,n=Math.imul(n^i,2246822507)>>>0}return`${t.toString(36).padStart(7,`0`)}${n.toString(36).padStart(7,`0`)}`}function dw(e,t){return uw(JSON.stringify([e,...t]))}function fw(e,t){return dw(`finding`,[e,rw(t),String(t.code??``),String(t.message??``)])}function pw(e,t){return dw(`comment`,[e,vw(t),String(t.message??``)])}function mw(e){return dw(`fix`,[e.uri,Ew(e),e.code,e.message,Dw(e)])}function hw(e){return dw(`intent`,[e.key,e.text,e.active])}function gw(e,t,n,r=[],i=null){let a=[...n].map(([e,t])=>dw(`hand`,[e,t])).sort(),o=new Set;for(let r of[...e.keys(),...t.keys(),...n.keys()])o.add(dw(`document`,[r]));for(let[t,n]of e)for(let e of n)o.add(fw(t,e));for(let[e,n]of t)for(let t of n)o.add(pw(e,t));for(let e of r)o.add(mw(e));for(let e of $C(i,null,0))e.hasText&&o.add(hw(e));let s=[...o].sort();return{signature:[...a,...s].join(lw),handEntries:a,contentEntries:s}}function _w(e,t){let n=new Set(t.split(lw));return e.handEntries.some(e=>!n.has(e))?sw:e.contentEntries.some(e=>!n.has(e))?cw:null}function vw(e){let t=Number(e?.line);return!Number.isFinite(t)||t<1?`L?`:`L${Math.floor(t)}`}function yw(e){return Array.isArray(e?.diagnostics)?e.diagnostics:[]}function bw(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=yw(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function xw(e){return Array.isArray(e?.comments)?e.comments:[]}function Sw(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=xw(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function Cw(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=Array.isArray(e?.diagnostics)?e.diagnostics:[];n&&r.length!==0&&t.set(n,r)}return t}function ww(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=Array.isArray(e?.comments)?e.comments:[];n&&r.length!==0&&t.set(n,r)}return t}var Tw=20;function Ew(e){let t=Number(e?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function Dw(e){return e?.applied===!0?`applied`:`refused`}function Ow(e,{uri:t=``,ts:n=0}={}){if(!e||typeof e!=`object`)return null;let r=e,i=typeof r.message==`string`?r.message.trim():``;if(!i)return null;let a=Number(r.line),o=Number(r.ts??n);return{uri:typeof r.uri==`string`&&r.uri?r.uri:t,code:typeof r.code==`string`?r.code:``,line:Number.isFinite(a)&&a>0?Math.floor(a):0,message:i,applied:r.applied===!0,ts:Number.isFinite(o)&&o>0?o:0}}function kw(e){let t=typeof e?.uri==`string`?e.uri:``,n=Number(e?.ts);return Ow(e?.fix,{uri:t,ts:Number.isFinite(n)?n:0})}function Aw(e,t,{max:n=Tw}={}){let r=kw(t);return r?[r,...e].slice(0,Math.max(0,Math.floor(n))):[...e]}function jw(e,{max:t=Tw}={}){let n=Array.isArray(e?.fixes)?e.fixes:[],r=[];for(let e of n){let t=Ow(e);t&&r.push(t)}return r.slice(0,Math.max(0,Math.floor(t)))}var Mw=100;function Nw(e){if(!e||typeof e!=`object`)return null;let t=e,n=Number(t.seq);if(!Number.isFinite(n))return null;let r=typeof t.summary==`string`?t.summary.trim():``;if(!r)return null;let i=Number(t.ts),a=t.scope&&typeof t.scope==`object`?t.scope:{};return{seq:Math.floor(n),source:typeof t.source==`string`?t.source:``,kind:typeof t.kind==`string`?t.kind:``,ts:Number.isFinite(i)&&i>0?i:0,summary:r,root:typeof a.root==`string`&&a.root?a.root:null,sessionId:typeof a.sessionId==`string`&&a.sessionId?a.sessionId:null}}function Pw(e){let t=Array.isArray(e?.events)?e.events:[],n=[];for(let e of t){let t=Nw(e);t&&n.push(t)}return n}function Fw(e){let t=Number(e?.overflow);return!Number.isFinite(t)||t<=0?0:Math.floor(t)}function Iw(e,t){return[...e].sort((e,t)=>t.seq-e.seq).slice(0,Math.max(0,Math.floor(t)))}function Lw(e,t,{max:n=Mw}={}){let r=Pw(t);if(r.length===0)return Iw(e,n);let i=new Map;for(let t of e)i.set(t.seq,t);for(let e of r)i.set(e.seq,e);return Iw([...i.values()],n)}function Rw(e,{max:t=Mw}={}){return Iw(Pw(e),t)}var zw=new Map,Bw=new Map,Vw=new Map,Hw=GC(),Uw=new Map,Ww=null,Gw=!0,Kw=[],qw=0,Jw=[],Yw=null,Xw=()=>!1,Zw=new Set,Qw=gw(zw,Bw,Vw,Jw,Hw),$w=Si(),eT=u({getAck:()=>$w,setAck:e=>{$w=e,Ci(e)},signature:()=>Qw.signature,isLooking:()=>Xw()});function tT(e){for(let t of Zw)t(e)}function nT(){Qw=gw(zw,Bw,Vw,Jw,Hw),Qw.signature!==``&&eT.refresh(),Yw?.(_w(Qw,$w))}function rT(e){tT(e),nT()}function iT(){return{findingsByUri:zw,commentsByUri:Bw,handsByUri:Vw,intent:Hw,projectNamesById:Uw,isEnabled:Ww,isConnected:Gw,activityEvents:Kw,activityOverflow:qw,fixEntries:Jw}}function aT(e){Zw.add(e)}function oT(e){Xw=e,nT()}function sT(e){Yw=e,nT()}function cT(){Qw.signature!==``&&eT.acknowledge(),nT()}function lT(e){Uw=e instanceof Map?e:new Map,tT([`intent`])}function uT(e){Ww=e?.visions?.enabled===!0,tT([`feed`])}function dT(e){Gw=e,tT([`connection`])}function fT(e){Jw=Aw(Jw,e),rT([`fixes`])}function pT(e){zw=bw(zw,e),rT([`feed`])}function mT(e){Bw=Sw(Bw,e),rT([`feed`])}function hT(e){Vw=aw(Vw,e),rT([`feed`])}function gT(e){Hw=XC(Hw,e),rT([`intent`])}function _T(e){Kw=Lw(Kw,e),qw=Fw(e),rT([`activity`])}function vT(e){Kw=Rw(e),qw=0,rT([`activity`])}function yT(e){zw=Cw(e),Bw=ww(e),Vw=ow(e),Hw=JC(e),Jw=jw(e),rT([`intent`,`feed`,`fixes`])}var bT=null,xT=null,ST=!1,CT=null,wT=new Set;function TT(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return typeof n!=`string`||!t||n===t}function ET(){for(let e of wT)e()}function DT(){return{report:bT,hasReportSendFailed:ST}}function OT(e){wT.add(e)}function kT(e){xT=e}function AT(){if(!xT)return;CT=st(`hooks-report`);let e=xT({type:`request-hooks-report`,requestId:CT});e!==!ST&&(ST=!e,ET())}function jT(e){TT(e,CT)&&(bT=e,ST=!1,ET())}function MT(){AT()}function NT(e){return e.filter(e=>!e.hasOwnPhoneScreen).map(e=>{let t=e.label.trim();return{id:e.view,label:t,glyph:e.glyph||t.charAt(0).toUpperCase(),el:e.el}})}var PT=null,FT=null,IT={},LT=null,RT=null,zT=null,BT=new Map,VT=new Map;function HT(){return FT??=P(()=>import(`./phone-shell-CX-Zpbqa.js`).then(e=>{e.mountPhoneShell(IT),zT&&e.orderPhonePanels(zT);for(let[t,n]of BT)e.setPhoneScreenAvailable(t,n);for(let[t,n]of VT)e.setPhoneScreenAttention(t,n);return PT=e,e},e=>(FT=null,T(`phone-shell`,`phone shell failed to load: ${ft(e)}`),null)),__vite__mapDeps([18,3,4,1,12,11])),FT}function UT(e){IT=e}async function WT(e){let t={options:e};LT=t;let n=await HT();if(LT!==t)return!1;if(!n)return LT=null,RT=null,!1;LT=null,n.activatePhoneShell(t.options);let r=RT;return RT=null,r?.(n),!0}function GT(){LT=null,RT=null,PT?.deactivatePhoneShell()}function KT(){return LT!==null||(PT?.isPhoneShellActive()??!1)}function qT(){return LT?LT.options?.sessionId??null:PT?.getPhoneSessionId()??null}function JT(e){zT=e,PT?.orderPhonePanels(e)}function YT(e,t){BT.set(e,t),PT?.setPhoneScreenAvailable(e,t)}function XT(e,t){VT.set(e,t),PT?.setPhoneScreenAttention(e,t)}function ZT(){PT?.refreshPhoneBoard()}function QT(){PT?.syncPhoneHistory()}function $T(e){return LT?(RT=t=>{e(t)},!0):PT?e(PT):!1}function eE(e){return $T(t=>t.showPhonePlan(e))}function tE(e){return $T(t=>t.showPhoneSession(e))}function nE(e){return $T(t=>t.showPhoneScreen(e))}var rE={MERGE:`a merge commit`,SQUASH:`squash and merge`,REBASE:`rebase and merge`},iE=new Set([`FAILURE`,`ERROR`]);function aE(e){return rE[e]}function oE(e){return e.state===`MERGED`?`Already merged`:e.state===`OPEN`?e.isDraft?`Drafts cannot be merged`:e.isInMergeQueue?`Already in the merge queue`:e.mergeable===`CONFLICTING`||e.mergeStateStatus===`DIRTY`?`Resolve the merge conflicts first`:e.checks.failing.length>0||e.checks.state!==null&&iE.has(e.checks.state)?`Checks are failing`:e.stage===`ready`?null:`Not ready to merge yet`:`Closed`}function sE(e){return e.state===`MERGED`?`merged`:e.isDraft?`draft`:e.mergeable===`CONFLICTING`||e.mergeStateStatus===`DIRTY`?`conflicts`:e.mergeStateStatus===`BEHIND`?`behind`:e.checks.state===`FAILURE`||e.checks.state===`ERROR`?`checks-failing`:e.reviewDecision===`CHANGES_REQUESTED`?`changes-requested`:e.unresolvedThreads>0?`unresolved-threads`:e.checks.state===`PENDING`||e.checks.state===`EXPECTED`?`checks-pending`:e.reviewDecision===`REVIEW_REQUIRED`||e.mergeStateStatus===`BLOCKED`?`needs-approval`:e.mergeable===`MERGEABLE`&&[`CLEAN`,`HAS_HOOKS`,`UNSTABLE`].includes(e.mergeStateStatus)?`ready`:`unknown`}function cE(e){let t=de.parse({...e,key:`${e.repo}#${e.number}`,stage:`unknown`});return{...t,stage:sE(t)}}var lE=[`Needs you`,`Waiting`,`Ready to merge`,`Drafts`,`Merged today`],uE=[`Ready to merge`,`Needs you`,`Waiting`,`Drafts`,`Merged today`],dE={conflicts:`Needs you`,behind:`Needs you`,"checks-failing":`Needs you`,"changes-requested":`Needs you`,"unresolved-threads":`Needs you`,"checks-pending":`Waiting`,"needs-approval":`Waiting`,unknown:`Waiting`,ready:`Ready to merge`,draft:`Drafts`,merged:`Merged today`},fE={merged:`Merged`,draft:`Draft`,conflicts:`Merge conflicts`,behind:`Behind base`,"checks-failing":`Checks failing`,"changes-requested":`Changes requested`,"unresolved-threads":`Unresolved threads`,"checks-pending":`Checks running`,"needs-approval":`Needs approval`,ready:`Ready to merge`,unknown:`Status unknown`},pE={merged:`muted`,draft:`muted`,conflicts:`danger`,behind:`warn`,"checks-failing":`danger`,"changes-requested":`warn`,"unresolved-threads":`warn`,"checks-pending":`wait`,"needs-approval":`wait`,ready:`ok`,unknown:`muted`},mE={merged:`merged`,draft:`draft`,conflicts:`conflict`,behind:`behind`,"checks-failing":`failed`,"changes-requested":`changes-requested`,"unresolved-threads":`thread`,"checks-pending":`running`,"needs-approval":`reviewer`,ready:`ready`,unknown:`unknown`};function hE(e){let t=e.filter(e=>e.state===`OPEN`&&!e.isCrossRepository),n=new Map(t.map(e=>[JSON.stringify([e.repo.toLowerCase(),e.headRefName]),e])),r=new Map,i=[];for(let t of e){let e=t.state===`OPEN`?n.get(JSON.stringify([t.repo.toLowerCase(),t.baseRefName])):void 0;if(!e||e.key===t.key){i.push(t);continue}let a=r.get(e.key)??[];a.push(t),r.set(e.key,a)}let a=[],o=new Set;for(let t of[...i,...e]){if(o.has(t.key))continue;let e=[],n=[{pr:t,parentKey:null,depth:0}];for(;n.length>0;){let t=n.pop();if(!t||o.has(t.pr.key))continue;o.add(t.pr.key),e.push(t);let i=r.get(t.pr.key)??[];for(let e=i.length-1;e>=0;--e)n.push({pr:i[e],parentKey:t.pr.key,depth:t.depth+1})}a.push({root:t,rows:e})}return a}function gE(e){return lE[e.rows.reduce((e,{pr:t})=>Math.min(e,lE.indexOf(dE[t.stage])),lE.length-1)]}function _E(e){let t=new Map(lE.map(e=>[e,{title:e,prs:[],rows:[]}]));for(let n of hE(e)){let e=t.get(gE(n));if(e)for(let t of n.rows)e.rows.push(t),e.prs.push(t.pr)}return uE.flatMap(e=>t.get(e)??[])}function vE(e){return fE[e]}function yE(e){return pE[e]}function bE(e){return mE[e]}function xE(e,t){return e.flatMap(e=>{let n=t(e.key);if(!n)return[];let r=e.key.slice(0,e.key.lastIndexOf(`#`));return[{...cE({...n,repo:r}),...e}]})}function SE(e){let t=new Map;for(let n of e)for(let e of n.links){let r=fe(e),i=t.get(r)??[];i.at(-1)?.id!==n.id&&(i.push({id:n.id,title:n.title}),t.set(r,i))}return t}function CE(e,t){if(!e)return[];let n=new Set(e.filter(e=>e.state===`OPEN`).map(e=>e.key));return t.filter(e=>e.state===`MERGED`&&n.has(e.key))}var wE=3;function TE(e){if(e.length===1)return{message:`Merged ${e[0].key}`,detailLines:[e[0].title]};let t=e.slice(0,wE).map(e=>`${e.key} ${e.title}`),n=e.length-t.length,r=n>0?[...t,`and ${n} more`]:t;return{message:`Merged ${e.length} pull requests`,detailLines:r}}function EE(e,t){if(!e)return null;let n=e=>{let n=t(e.key);return n?{...e,checksState:n.rollupState,reviewDecision:Oe(n.reviewDecision,n.opinionatedWriterReviewStates),isDraft:n.isDraft,liveHead:n.headRefOid,prStage:cE(n).stage}:e};return{...e,drafts:e.drafts.map(n),inFlight:e.inFlight.map(n),queued:e.queued.map(n)}}function DE(e){return e.isDraft?{band:`not-ready`,reason:`draft`}:e.reviewDecision===`CHANGES_REQUESTED`?{band:`waiting-on-author`,reason:`changes-requested`}:e.checksState===`FAILURE`||e.checksState===`ERROR`?{band:`waiting-on-author`,reason:`checks-failing`}:e.checksState===`PENDING`||e.checksState===`EXPECTED`?{band:`not-ready`,reason:`checks-pending`}:e.requestSource===`direct`&&e.reviewDecision===`REVIEW_REQUIRED`?{band:`blocking-others`,reason:`direct-request`}:e.reviewDecision===`APPROVED`?{band:`actionable`,reason:`approved`}:{band:`actionable`,reason:e.requestSource===`direct`?`review-available`:`team-request`}}function OE(e){let t=e.viewerThreads;return t!==void 0&&t.total>0&&t.resolved===t.total}function kE(e){return e.status===`posted`&&AE(e)}function AE(e){if(!OE(e)||s(e))return!1;let t=NE(e);return e.status===`posted`&&e.postedEvent===`APPROVE`&&e.reviewedHead===t?!1:!(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`&&e.commit===t)}function jE(e){let t={ready:[],noReviewNeeded:[],inReview:[],queued:[],attention:[],posted:[],discarded:[]};if(!e)return t;let n={"blocking-others":[],actionable:[],"waiting-on-author":[],"not-ready":[]},r={"blocking-others":[],actionable:[],"waiting-on-author":[],"not-ready":[]},i=[`blocking-others`,`actionable`,`waiting-on-author`,`not-ready`],a=new Set(e.inFlight.map(e=>e.key));t.inReview.push(...e.inFlight);for(let t of e.queued)a.has(t.key)||r[DE(t).band].push(t);for(let e of i)t.queued.push(...r[e]);let o=new Set(t.queued.map(e=>e.key));for(let r of e.drafts){if(a.has(r.key)||o.has(r.key))continue;if(PE(r).length>0||kE(r)){n.actionable.push(r);continue}let e=(r.status===`ready`||r.status===`stale`||r.status===`error`)&&!FE(r);e&&t.noReviewNeeded.push(r),r.status===`ready`&&!e&&n[DE(r).band].push(r),(r.status===`stale`||r.status===`error`)&&!e&&t.attention.push(r),r.status===`posted`&&t.posted.push(r),r.status===`discarded`&&t.discarded.push(r)}for(let e of i)t.ready.push(...n[e]);return t}function ME(e,t){return e.commit===t?e.isViewer||c.has(e.state):!1}function NE(e){return e.liveHead??e.reviewedHead}function PE(e){return(e.threads??[]).filter(e=>!e.isNit&&!e.isResolved)}function FE(e){return PE(e).length>0?!0:s(e)?!1:AE(e)?!0:!(e.githubReviews??[]).some(t=>ME(t,NE(e)))}function IE(e,t){return`${e}#${t}`}var LE=null,RE=null,zE=new Set;function BE(e){for(let t of zE)t(e)}function VE(){RE=EE(LE,Kt),BE({kind:`status`})}function HE(e){zE.add(e)}function UE(){return RE}function WE(){return jE(RE)}function GE(e){let t=d.safeParse(e);t.success?(LE=t.data,VE()):T(`reviews`,`dropped team-review-status: ${Je(t.error.issues)}`)}function KE(e){BE({kind:`action-result`,message:e})}function qE(e){BE({kind:`open-session-result`,message:e})}function JE(e){BE({kind:`connection`,isConnected:e})}qt(VE);var YE=20,XE=[],ZE=null,QE=!1,$E=0,eD=null;function tD(){return eD??=P(()=>import(`./celebration-player-B1yF5py-.js`),__vite__mapDeps([19,1,20])).catch(e=>(eD=null,T(`merge-celebration`,`celebration player failed to load: ${ft(e)}`),null)),eD}function nD(e){return QE?`playing`:e?`queued`:`empty`}function rD(){if(!ZE)return;let e=XE.length>0;ZE.tray.dataset.state=nD(e),ZE.count.textContent=e?String(XE.length):``,ZE.button.disabled=QE||!e}function iD(){let e=XE.shift();if(QE=e!==void 0,rD(),!e)return;let t=$E;$E+=1,tD().then(n=>{n?(n.playCelebration(e,t),window.setTimeout(iD,n.CELEBRATION_DURATION_MS)):(XE.unshift(e),QE=!1,rD())})}function aD(e,t,n){ZE={tray:e,button:t,count:n},t.addEventListener(`click`,()=>{$E=0,iD()}),rD()}function oD(e){XE.push(e),XE.length>YE&&XE.shift(),rD()}var sD=null,cD=null,lD=new Set,uD=new Map,dD=!1,fD=new Set;function pD(e){for(let t of fD)t(e)}function mD(){return[...uD].flatMap(([e,t])=>{let n=O.get(e);return!n||t.length===0?[]:[{id:e,title:gt(n)||e,links:t}]})}function hD(){let e=xE(sD?.prs??[],Kt),t=CE(cD,e);cD=e,yD(t),pD({kind:`prs`})}function gD(){dD||(dD=!0,queueMicrotask(()=>{dD=!1,hD()}))}function _D(e){fD.add(e)}function vD(){return{prs:xE(sD?.prs??[],Kt),status:sD,sessionsByPrKey:SE(mD())}}function yD(e){let t=e.filter(e=>!lD.has(e.key));if(t.length!==0){for(let e of t)lD.add(e.key);oD(TE(t))}}function bD(e){uD=e,gD()}function xD(){pD({kind:`session-state`})}function SD(e){let t=p.safeParse(e);t.success?(sD=t.data,hD()):T(`reviews`,`dropped my-prs-status: ${Je(t.error.issues)}`)}function CD(e){pD({kind:`merge-result`,message:e})}function wD(e){pD({kind:`connection`,isConnected:e})}qt(gD);var TD=[{id:`all`,label:`All`},{id:`reviewing`,label:`Reviewing`},{id:`mine`,label:`Mine`}],ED={turn:`Your turn`,working:`Agent working`,waiting:`Waiting on others`,aside:`Set aside`},DD=[`turn`,`working`,`waiting`,`aside`],OD={conflicts:`turn`,behind:`turn`,"checks-failing":`turn`,"changes-requested":`turn`,"unresolved-threads":`turn`,ready:`turn`,"checks-pending":`waiting`,"needs-approval":`waiting`,unknown:`waiting`,draft:`aside`,merged:`aside`},kD={directAsk:0,followUp:1,mineNeedsYou:2,teamReady:3,mineReady:4,failedReview:5,staleReview:6};function AD(e,t){return{source:`team`,key:`team:${e.key}`,prKey:fe(e),kind:t,review:e}}function jD(e){return e.status===`ready`?DE(e).band===`blocking-others`?kD.directAsk:kD.teamReady:kD.followUp}function MD(e){return[...e.ready.map(e=>({item:AD(e,`ready`),group:`turn`,turnRank:jD(e)})),...e.attention.map(e=>({item:AD(e,`attention`),group:`turn`,turnRank:e.status===`error`?kD.failedReview:kD.staleReview})),...e.inReview.map(e=>({item:AD(e,`inReview`),group:`working`,turnRank:0})),...e.queued.map(e=>({item:AD(e,`queued`),group:`working`,turnRank:0})),...e.noReviewNeeded.map(e=>({item:AD(e,`settled`),group:`waiting`,turnRank:0})),...e.posted.map(e=>({item:AD(e,`posted`),group:`waiting`,turnRank:0})),...e.discarded.map(e=>({item:AD(e,`discarded`),group:`aside`,turnRank:0}))]}function ND(e,t){let n=OD[e.stage];return n===`turn`&&e.stage!==`ready`&&t.has(fe(e))?`working`:n}function PD(e,t){return _E(e).flatMap(e=>e.rows).map(({pr:e,parentKey:n})=>({item:{source:`mine`,key:`mine:${e.key}`,prKey:fe(e),pr:e,stackedOn:n},group:ND(e,t),turnRank:e.stage===`ready`?kD.mineReady:kD.mineNeedsYou}))}function FD(e,t,n){let r=[...MD(e),...PD(t,n)];return DD.map(e=>{let t=r.filter(t=>t.group===e),n=e===`turn`?t.toSorted((e,t)=>e.turnRank-t.turnRank):t;return{id:e,title:ED[e],items:n.map(e=>e.item)}})}function ID(e,t){if(t===`all`)return[...e];let n=t===`reviewing`?`team`:`mine`;return e.map(e=>({...e,items:e.items.filter(e=>e.source===n)}))}function LD(e){return e.find(e=>e.id===`turn`)?.items??[]}function RD(e,t){return t?e.flatMap(e=>e.items).find(e=>e.key===t)??null:null}function zD(e,t){return RD(e,t)?t:e.flatMap(e=>e.items)[0]?.key??null}function BD(e){return e.source===`mine`?IE(e.pr.repo,e.pr.number):IE(e.review.repo,e.review.number)}function VD(e){return e.source===`team`?e.kind===`attention`&&`status`in e.review&&e.review.status===`error`?`failed`:`waiting`:e.pr.stage===`ready`?`finished`:e.pr.stage===`checks-failing`||e.pr.stage===`conflicts`?`failed`:`waiting`}function HD(e){return LD(e).map(e=>({id:e.key,kind:VD(e),name:BD(e)}))}function UD(e){return{waitingCount:e.filter(e=>e.kind===`waiting`).length,finishedCount:e.filter(e=>e.kind===`finished`).length,failedCount:e.filter(e=>e.kind===`failed`).length}}function WD(e,t){return HD(e).filter(e=>e.id!==t)}function GD({capturedOrder:e,actedKey:t,groups:n}){let r=LD(n).map(e=>e.key).filter(e=>e!==t),i=new Set(r);return e.slice(e.indexOf(t)+1).find(e=>i.has(e))??e.find(e=>i.has(e))??r[0]??null}function KD(e,t){let n=LD(e).map(e=>e.key),r=t?n.indexOf(t):-1;return r===-1?``:`${r+1} of ${n.length} in Your turn`}function qD(e){return e.source===`mine`?`${e.key}@${e.pr.stage}`:`reviewedHead`in e.review?`${e.review.key}@${e.review.reviewedHead}`:`${e.review.key}@${e.kind}`}function JD(e){return LD(e).map(qD)}function YD({turnEntries:e,acknowledged:t,unseen:n,isLooking:r}){let i=new Set(e),a=new Set(t.split(`|`).filter(e=>i.has(e))),o=new Set(n.split(`|`).filter(e=>i.has(e))),s=[...i].filter(e=>!a.has(e));if(r)return{isShown:!1,acknowledged:_e([...i]),unseen:_e([...o])};for(let e of s)o.add(e);return{isShown:s.length>0,acknowledged:_e([...a]),unseen:_e([...o])}}function XD(e){let t=e.find(e=>e.id===`working`)?.items.length??0;return t===0?`Nothing needs you right now.`:`Nothing needs you right now. ${t} ${t===1?`pull request is`:`pull requests are`} with an agent.`}function ZD(e){return new Set(e.flatMap(e=>e.items).map(e=>(e.source===`mine`?e.pr.repo:e.review.repo).toLowerCase())).size>1}function QD(e){let t=e.filter(e=>e?.configured===!0);if(t.length===0)return e.find(e=>e!==null)??null;let n=t.toSorted((e,t)=>(e.lastRefreshedAt??e.lastSyncAt??0)-(t.lastRefreshedAt??t.lastSyncAt??0));return{...t.find(e=>e.error)??n[0],isRefreshing:t.some(e=>e.isRefreshing)}}var $D=new Map([[`j`,`next-row`],[`k`,`previous-row`],[`n`,`next-finding`],[`p`,`previous-finding`],[`x`,`toggle-finding`],[`o`,`open-session`],[`a`,`pick-approve`],[`r`,`pick-request-changes`],[`c`,`pick-comment`]]);function eO(e){return e.key===`Enter`&&e.metaKey!==e.ctrlKey&&!e.altKey&&!e.shiftKey?`post`:e.metaKey||e.ctrlKey||e.altKey||e.shiftKey?null:e.key===`Escape`?`cancel`:$D.get(e.key)??null}function tO(e,t,n){if(e.length===0)return null;let r=t===null?-1:e.indexOf(t);return r===-1?n===1?e[0]:e[e.length-1]:e[Math.min(e.length-1,Math.max(0,r+n))]}var nO=[],rO=null,iO=null,aO=null,oO=!1,sO=null,cO=gi(),lO=vi(),uO=new Set(lO.split(`|`).filter(Boolean)),dO=new Set,fO=new Set;function pO(e){for(let t of fO)t(e)}function mO(e){e!==cO&&(cO=e,_i(e))}function hO(e){e!==lO&&(lO=e,uO=new Set(e.split(`|`).filter(Boolean)),yi(e))}function gO(){return UE()!==null&&vD().status!==null}function _O(){if(!gO())return;let e=YD({turnEntries:JD(nO),acknowledged:cO,unseen:lO,isLooking:iO?.isLooking()??!1});mO(e.acknowledged),hO(e.unseen),sO?.(e.isShown)}function vO(e){aO=e,pO({kind:`reveal`})}function yO(e){fO.add(e)}function bO(e){iO=e,_O()}function xO(){let{prs:e,sessionsByPrKey:t}=vD();return nO=FD(WE(),e,new Set(t.keys())),_O(),nO}function SO(){gO()&&(mO(_e(JD(nO))),_O())}function CO(e){sO=e,_O()}function wO(){return lO}function TO(e){return uO.has(e)}function EO(e){return uO.has(e)?(hO(_e([...uO].filter(t=>t!==e))),!0):!1}function DO(e){rO=e}function OO(){return rO}function kO(){let e=aO;return aO=null,e}function AO(e){if(e!==oO){oO=e;for(let e of dO)e()}}function jO(e){dO.add(e)}function MO(){return document.documentElement.dataset.layout===`phone`&&oO}function NO(){MO()&&pO({kind:`return-to-queue`})}function PO(){let e=WD(nO,iO?.selectedKey()??null)[0]?.id??null;return e?(vO(e),!0):!1}function FO(e){let t=nO.flatMap(e=>e.items).find(t=>t.prKey===e.toLowerCase());return!t||!rO?.openReviews()?!1:(vO(t.key),SO(),!0)}HE(e=>{e.kind===`status`&&xO()}),_D(e=>{e.kind===`prs`&&xO()});var IO={OPEN:0,MERGED:1,CLOSED:2};function LO(e){return e?IO[e.state]:IO.OPEN}function RO(e,t){let n=`${e.repo}#${e.number}`,r=`#${e.number}`;if(!t)return{key:n,text:r,url:e.url,hoverText:e.repo,look:null,tier:Va(void 0)};let i=yE(t.stage);return{key:n,text:r,url:t.url,hoverText:`${e.repo}: ${t.title} (${vE(t.stage)})`,look:{icon:bE(t.stage),tone:i},tier:Va(i)}}function zO(e,t){let n=e.map(e=>{let n=t(fe(e));return{link:e,pr:n?cE(n):void 0}});return n.sort((e,t)=>LO(e.pr)-LO(t.pr)||t.link.linkedAt-e.link.linkedAt),n.map(({link:e,pr:t})=>RO(e,t))}var BO=new Map;function VO(e){return document.querySelectorAll(`[data-pr-chips-for="${CSS.escape(e)}"]`)}function HO(e){return zO(BO.get(e)??[],Kt).map(e=>({...e,className:`session-pr-chip`,linkUrl:e.url,ariaLabel:`Show pull request ${e.key} in Reviews`,hoverText:`${e.hoverText}. Show in Reviews; Cmd/Ctrl-click opens GitHub`,onActivate:()=>{FO(e.key)||yo(e.url)}}))}function UO(e,t){let n=Gc(e,e),r=w(`button`,`session-pr-chip-unlink`);r.append(L(Jo)),r.type=`button`,r.title=`Unlink ${e.key} from this session`,r.setAttribute(`aria-label`,`Unlink pull request ${e.key}`),r.addEventListener(`click`,n=>{n.stopPropagation(),n.preventDefault(),At({title:`Unlink pull request`,message:`Unlink ${e.key} from this session? Its checks and reviews stop showing here until you link it again.`,confirmLabel:`Unlink`,danger:!0,onConfirm:()=>{Bl(t,{type:`unlink-session-pr`,id:t,key:e.key})}})});let i=w(`span`,`session-pr-chip-item`);return i.append(n,r),i}function WO(e,t){e.dataset.prChipsFor=t,Xc(e,HO(t),e=>UO(e,t))}function GO(e){for(let t of e){let e=t.dataset.prChipsFor;e&&WO(t,e)}rl()}function KO(e,t){let n=h.shape.links.safeParse(t??[]);BO.set(e,n.success?n.data:[]),GO(VO(e)),bD(BO)}function qO(e){BO.delete(e),bD(BO)}qt(()=>GO(document.querySelectorAll(`[data-pr-chips-for]`)));var JO=null,YO=new Set;function XO(){JO?.setAttribute(`aria-pressed`,String(!Pr()))}function ZO(e){Fr(e),XO();for(let t of YO)t(e)}function QO(e){YO.add(e)}function $O(e){JO=e,XO(),e.addEventListener(`click`,()=>ZO(!Pr()))}var ek={mine:`Mining merged pull requests.`,run:`Starting the run.`,cancel:`Cancelling the run.`},tk=null,nk=null,rk=!0,ik=new Map,ak=new Map,ok=new Set;function sk(){for(let e of ok)e()}function ck(e){ok.add(e)}function lk(){return{status:tk,isServerConnected:rk,pendingActionBySuite:ik,outcomeBySuite:ak}}function uk(e){nk=e}function dk(e,t){nk?.({type:`benchmark-action`,requestId:st(`benchmark`),suiteId:e,action:t})===!0?(ik.set(e,t),ak.set(e,ek[t]),sk()):(ak.set(e,b),sk())}function fk(e){if(rk=e,!e){for(let e of ik.keys())ak.delete(e);ik.clear()}sk()}function pk(e){tk=e,sk()}function mk(e){ik.delete(e.suiteId);let t=tk?.suites.find(t=>t.id===e.suiteId)?.candidateCount??0,n={mine:`Mining finished. ${t} candidate${t===1?``:`s`} awaiting approval in the candidates folder.`,run:`Run ${e.runId??``} started.`,cancel:`Run cancelled.`};ak.set(e.suiteId,e.ok?n[e.action]:e.error||`The server refused the action.`),sk()}var hk=45e3,gk=`The server did not answer within ${hk/1e3} s.`,_k=`Select the issue to load its description.`,vk=null,yk=null,bk=new Map,xk=null,Sk=new Map,Ck=new Map,wk=new Map,Tk=new Map,Ek=new Map,Dk=new Set;function Ok(e){for(let t of Dk)t(e)}function kk(e){return`${e.key}:${e.updatedAt}`}function Ak(e){let t=Sk.get(e);t&&(Sk.delete(e),Ck.set(t.issueKey,{text:gk,tone:`error`}),Ok(`detail`))}function jk(e){let t=Sk.get(e);return t?(clearTimeout(t.timeoutHandle),Sk.delete(e),t):null}function Mk(){return{latestStatus:yk,issueByKey:bk,selectedKey:vk}}function Nk(e){Dk.add(e)}function Pk(e){vk=e}function Fk(e){return[...Sk.values()].some(t=>t.issueKey===e.key)}function Ik(e){return Ck.get(e.key)}function Lk(e){let t=kk(e),n=Tk.get(t);return n===``?`No description.`:n??Ek.get(t)??`Loading description.`}function Rk(e){let t=kk(e);if(Tk.has(t)||[...wk.values()].some(e=>e.cacheKey===t))return;let n=st(`issue-detail`);Ek.delete(t),xk?.({type:`issue-detail`,requestId:n,repo:e.repo,issueNumber:e.number})?wk.set(n,{cacheKey:t,timeoutHandle:setTimeout(()=>{wk.delete(n),Ek.set(t,`${gk} ${_k}`),Ok(`detail`)},hk)}):Ek.set(t,`${b} ${_k}`)}function zk(e){let t=e.projectId;if(!t||Fk(e))return;let n=st(`open-issue-session`);xk?.({type:`open-issue-session`,requestId:n,projectId:t,repo:e.repo,issueNumber:e.number})?(Sk.set(n,{issueKey:e.key,issueNumber:e.number,timeoutHandle:setTimeout(()=>Ak(n),hk)}),Ck.set(e.key,{text:`Opening session.`,tone:`busy`}),Ok(`detail`)):(Ck.set(e.key,{text:b,tone:`error`}),Ok(`detail`))}function Bk(e){xk?.({type:`dashboard-telemetry`,event:`operator_action`,properties:{surface:`issues`,action:e}})}function Vk(e){xk=e}function Hk(){Ok(`session-state`)}function Uk(e){if(!e){for(let e of Sk.values())clearTimeout(e.timeoutHandle),Ck.set(e.issueKey,{text:b,tone:`error`});Sk.clear();for(let e of wk.values())clearTimeout(e.timeoutHandle),Ek.set(e.cacheKey,`${b} ${_k}`);wk.clear(),Ok(`status`)}}function Wk(e){let t=yk?.issues.find(e=>e.key===vk);yk=e,bk=new Map(e.issues.map(e=>[e.key,e]));let n=e.issues.find(e=>e.key===vk);n&&n.updatedAt!==t?.updatedAt&&Rk(n),Ok(`status`)}function Gk(e){let t=wk.get(e.requestId);t&&(clearTimeout(t.timeoutHandle),wk.delete(e.requestId),e.ok&&e.body!==null&&Tk.set(t.cacheKey,e.body),(!e.ok||e.body===null)&&Ek.set(t.cacheKey,e.error||`Could not load description. Select the issue to try again.`),Ok(`detail`))}function Kk(e){if(typeof e.requestId!=`string`)return;let t=jk(e.requestId);if(!t)return;let n=t.issueKey;if(e.ok===!0){let r=typeof e.sessionName==`string`?e.sessionName:`issue #${t.issueNumber}`,i=e.pending===!0?` Prompt queued.`:``,a=e.existing===!0?`already open`:`created`;Ck.set(n,{text:`Session "${r}" ${a}.${i}`,tone:`ok`});let o=yk?.issues.find(e=>e.key===n);o&&typeof e.sessionId==`string`&&(o.sessionId=e.sessionId),Ok(`status`);return}let r=typeof e.error==`string`&&e.error?e.error:`Could not open session.`;Ck.set(n,{text:r,tone:`error`}),Ok(`detail`)}var qk=null,Jk=null,Yk=null,Xk=()=>!1,Zk=new Set,Qk=new Set,$k=u({getAck:mi,setAck:hi,signature:()=>f({posthog:qk}),isLooking:()=>Xk()});function eA(e){for(let t of Qk)t(e)}function tA(){Jk?.($k.refresh())}function nA(){return{latest:qk,archivedLocally:Zk,traceOpener:Yk}}function rA(e){Qk.add(e)}function iA(e){Xk=e,tA()}function aA(e){Zk.add(e)}function oA(){$k.acknowledge(),tA()}function sA(e){Jk=e,tA()}function cA(e){Yk=e}function lA(e){qk=e,l(qk,Zk),eA({kind:`status`}),tA()}function uA(e){let t=Ce(qk,e.projectId,e.issueId)?.inFlight===!0;se(qk,e)&&eA({kind:`investigation-activity`,projectId:e.projectId,issueId:e.issueId,wasInFlight:t})}function dA(e){let t=re(qk,e);eA({kind:`investigation-finished`,frame:e,isPatched:t}),t&&tA()}var fA=La({requestPrefix:`session-setup`,dialogClass:`dialog coherence-journal-drawer session-setup-dialog`,titleText:`Session setup`,unavailableLabel:`Session setup unavailable`,timeoutMs:15e3});function pA(e){let t=w(`ul`,`session-setup-list`);return t.append(...e.map(e=>w(`li`,null,e))),t}function mA(e,t){e.replaceChildren();function n(t,n){if(n.length===0)return;let r=He(`session-setup`,t);r.append(...n),e.append(r)}n(`Model`,t.model?[w(`p`,null,t.model)]:[]),n(`Plugins`,t.plugins.map(e=>{let t=w(`div`,`session-setup-plugin`);return t.append(w(`h3`,null,e.name)),e.skills.length>0&&t.append(w(`p`,`session-setup-label`,`Skills`),pA(e.skills)),e.agents.length>0&&t.append(w(`p`,`session-setup-label`,`Agents`),pA(e.agents)),t})),n(`MCP servers`,t.mcpServers.length>0?[pA(t.mcpServers)]:[]),n(`Hooks`,[...t.hookEvents.map(e=>{let t=w(`p`,`session-setup-hook`);return t.append(w(`span`,null,e.event),w(`span`,`session-setup-label`,`${e.runCount} runs`)),t}),...t.hookCommands.map(e=>w(`pre`,`coherence-command`,e))]),n(`Skills`,t.skills.length>0?[pA(t.skills)]:[]),n(`Agents`,t.agents.length>0?[pA(t.agents)]:[])}function hA(e){let t=w(`p`,`coherence-journal-status`,`Loading session setup`);t.setAttribute(`role`,`status`);let n=w(`div`,`session-setup-sections`);fA.open({sessionId:e,status:t,body:[t,n],parts:{sections:n},buildRequest:t=>({type:`session-setup`,id:e,requestId:t})})}function gA(e){let t=fA.settleResponse(e);if(!t)return;if(!e.ok||!e.setup){t.status.textContent=e.error||`Could not read session setup`;return}let n=t.parts.sections;mA(n,e.setup),t.status.textContent=n.childElementCount>0?``:`No session setup recorded yet`,t.status.hidden=n.childElementCount>0}function _A(e){return{skipPerms:e.skipPerms??e.dangerouslySkipPermissions??!1,saneYolo:e.saneYolo===!0,worktree:e.worktree??e.isWorktree??!1,workspace:e.workspace??e.isWorkspace??!1,remoteWorkspace:e.remoteWorkspace??null,guarded:e.guarded??e.isGuarded??!1,guardrailsReleased:e.guardrailsReleased??e.isGuardrailsReleased??!1,ephemeral:e.ephemeral===!0,ownerId:e.ownerId??null,path:e.path,stateSince:e.stateSince,taskTitle:typeof e.taskTitle==`string`?e.taskTitle:null,taskTitleIsCustom:e.taskTitleIsCustom===!0}}var vA={isVisible:document.visibilityState===`visible`,isFrozen:!1,isProbing:!1,isReplacing:!1},yA=document.visibilityState===`visible`?null:Date.now(),bA=null,xA=null;function SA(){bA!==null&&window.clearTimeout(bA),bA=null}function CA(e){SA();let t=Date.now()+e;bA=window.setTimeout(()=>{bA=null,EA({kind:`heartbeat-due`,lateByMs:Date.now()-t})},e)}function wA(){xA!==null&&window.clearTimeout(xA),xA=null}function TA(e){switch(e.kind){case`probe-control`:at(e.deadlineMs,e.isAnnounced).then(e=>{EA({kind:e?`pong`:`pong-missed`})});return;case`replace-control`:ct();return;case`close-sockets`:wA(),lt(),Pb();return;case`reconnect-shown-terminals`:Mb();return;case`hold-input`:kb();return;case`release-input`:Ab();return;case`schedule-heartbeat`:CA(e.inMs);return;case`cancel-heartbeat`:SA();return}}function EA(e){let t=Ye(vA,e);vA=t.state;for(let e of t.actions)TA(e)}function DA(){if(document.visibilityState!==`visible`){yA=Date.now(),EA({kind:`hidden`});return}let e=yA===null?0:Date.now()-yA;yA=null,Eg(`shown`,e),EA({kind:`shown`,hiddenForMs:e})}function OA(e){wA(),wg(`control-${e}`),e===`connecting`?xA=window.setTimeout(()=>{xA=null,EA({kind:`handshake-overdue`})},et):EA({kind:e===`opened`?`control-opened`:`control-closed`})}function kA(){Eg(`resumed`,yA===null?0:Date.now()-yA),EA({kind:`resumed`})}function AA(){let e=Reflect.get(navigator,`connection`);e instanceof EventTarget&&e.addEventListener(`change`,()=>{Tg(`link`),EA({kind:`network-changed`})})}function jA(){Xe(OA),document.addEventListener(`visibilitychange`,DA),document.addEventListener(`freeze`,()=>EA({kind:`frozen`})),document.addEventListener(`resume`,kA),window.addEventListener(`pagehide`,e=>{e.persisted&&EA({kind:`frozen`})}),window.addEventListener(`pageshow`,e=>{e.persisted&&kA()}),window.addEventListener(`online`,()=>{Tg(`online`),EA({kind:`network-changed`})}),window.addEventListener(`offline`,()=>Tg(`offline`)),AA()}var MA={},NA=null,PA=null,FA=be,IA=null,LA=!1,RA=null,zA=[],BA=null,VA=()=>null,HA=()=>{},UA=new Set,WA=new Set;function GA(e){for(let t of WA)t(e)}function KA(e){WA.add(e)}function qA(){return MA}function JA(e){return MA={...MA,...e},MA}function YA(){return{status:NA,journal:PA,request:FA,lastAutoCheckAt:IA,isCheckInFlight:LA,checkSendFailure:RA}}function XA(e){let t=ye(FA,e);t!==FA&&(FA=t,GA({kind:`update`,frame:`request`}))}function ZA(){XA(E({type:`update-apply`})?`request-sent`:`request-unsent`)}function QA(){IA=Date.now();let e=E({type:`update-check`});LA=e,RA=e?null:b,GA({kind:`update`,frame:`request`})}function $A(e){HA=e}function ej(){HA()}function tj(e){zA=[...e]}function nj(){return zA}function rj(e=null,t=null,n=null){let r=BA!==null&&(BA.sectionId!==null||BA.isLink);e===null&&n===null&&r||(BA={sectionId:e,settingId:t,hashAtRequest:n??location.hash,isLink:n!==null},GA({kind:`activate`}))}function ij(){let e=BA;return BA=null,e}function aj(e){VA=e}function oj(){for(let e of UA)e()}function sj(e){UA.add(e)}function cj(){return _u()&&VA()===`section`}function lj(){cj()&&GA({kind:`return-to-list`})}function uj(e){e&&(MA=e,Ui(MA.agentLogins),GA({kind:`broadcast`}))}function dj(){GA({kind:`status`})}function fj(e){dj()}function pj(e){NA=e,LA=!1,RA=null,FA=ye(FA,`status-frame`),GA({kind:`update`,frame:`status`})}function mj(e){PA=e,FA=ye(FA,`progress-frame`),GA({kind:`update`,frame:`progress`})}function hj(e){if(e.scope!==`update`)return!1;let t=oe(e.message),n=FA.requested;return FA=ye(FA,`error-frame`,t),LA=!1,n||(RA=t),GA({kind:`update`,frame:`error`}),!0}function gj(e,t){return typeof t!=`string`||t===``?{knownBuild:e,reload:!1}:e==null?{knownBuild:t,reload:!1}:e===t?{knownBuild:e,reload:!1}:{knownBuild:t,reload:!0}}var _j=200;function vj(e,t=null){return`#settings/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`}function yj(e){return/^#settings(?:[/?]|$)/.test(e)}function bj(e){let t=e.trim();return t?`#settings?q=${encodeURIComponent(t)}`:`#settings`}function xj(e){let t=/^#settings(?:\?(.*))?$/.exec(String(e??``));if(!t)return null;let n=new URLSearchParams(t[1]??``).get(`q`)??``;return{query:Array.from(n.trim()).slice(0,_j).join(``).trim()}}function Sj(e,t,n){let r=w(`a`,`settings-link`,n);return r.href=vj(e,t),r}var Cj=!1,wj=!1,Tj=!1,Ej=null,Dj=null;function Oj(){return Dj??=P(()=>import(`./nyan-cat-mppIwpJa.js`).then(e=>e.r).then(e=>(Ej=e,e),e=>(Dj=null,T(`flying-animals`,`nyan cat failed to load: ${ft(e)}`),null)),__vite__mapDeps([21,14,1])),Dj}function kj(e){!Tj||e.currentFlightBlockReason(!0)?e.stopNyanCat():e.startNyanCat()}function Aj(){wj=!0,jj(Jr())}function jj(e){let t=document.documentElement;Cj||(Cj=!0,vu(()=>jj(Jr())),window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,()=>jj(Jr()))),Tj=e,e?(t.dataset.flyingAnimals=`true`,Ej?kj(Ej):wj&&Oj().then(e=>{e&&kj(e)})):(delete t.dataset.flyingAnimals,Ej?.stopNyanCat())}var Mj=`•`.repeat(8),Nj=`[^/\\\\\\s"'\`<>:]+`,Pj=RegExp(`(?<![\\w./\\\\-])(?:/home/${Nj}|/Users/${Nj}|[A-Za-z]:[\\\\/]Users[\\\\/]${Nj}|/root(?![\\w.-]))`,`g`);function Fj(e){let t=$_(e);if(t.length===0)return e;let n=``,r=0;for(let i of t)n+=e.slice(r,i.start)+Mj,r=i.end;return n+e.slice(r)}function Ij(e){return e.replace(Pj,`~`)}function Lj(e){return Ij(Fj(e))}var Rj=`.xterm, input, textarea, script, style, [contenteditable]:not([contenteditable="false"])`,zj=[`title`,`label`],Bj=new WeakMap,Vj=new WeakMap,Hj=null;function Uj(e){let t=e instanceof Element?e:e.parentElement;return!t||t.closest(Rj)!==null}function Wj(e){let t=e.parentElement?.closest(`option`);return t!=null&&!t.hasAttribute(`value`)}function Gj(e,t){if(t&&e===t.masked)return t;let n=Lj(e);return n===e?null:{original:e,masked:n}}function Kj(e){let t=Wj(e)?null:Gj(e.data,Bj.get(e));t?(Bj.set(e,t),e.data!==t.masked&&(e.data=t.masked)):Bj.delete(e)}function qj(e,t){let n=e.getAttribute(t),r=Vj.get(e),i=n===null?null:Gj(n,r?.get(t));if(!i){r?.delete(t);return}let a=r??new Map;a.set(t,i),Vj.set(e,a),n!==i.masked&&e.setAttribute(t,i.masked)}function Jj(e){for(let t of zj)qj(e,t)}function Yj(e){return e instanceof Element&&e.matches(Rj)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}function Xj(e){Jj(e);let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,Yj);for(let e=t.nextNode();e;e=t.nextNode())e instanceof Text&&Kj(e),e instanceof Element&&Jj(e)}function Zj(e){Uj(e)||(e instanceof Text&&Kj(e),e instanceof Element&&Xj(e))}function Qj(e){e instanceof Element&&!Uj(e)&&Jj(e)}function $j(e){let t=new Set,n=new Set;for(let r of e){if(r.type===`childList`)for(let e of r.addedNodes)t.add(e);r.type===`characterData`&&t.add(r.target),r.type===`attributes`&&n.add(r.target)}for(let e of t)e.isConnected&&Zj(e);for(let e of n)e.isConnected&&Qj(e)}function eM(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);tM(e);for(let e=t.nextNode();e;e=t.nextNode())tM(e)}function tM(e){if(e instanceof Text){let t=Bj.get(e);t&&e.data===t.masked&&(e.data=t.original);return}if(!(e instanceof Element))return;let t=Vj.get(e);if(t)for(let[n,r]of t)e.getAttribute(n)===r.masked&&e.setAttribute(n,r.original)}function nM(){if(Hj)return;let e=new MutationObserver(t=>{$j(t),e.takeRecords()});Xj(document.body),e.observe(document.body,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:zj}),Hj=e}function rM(){Hj&&(Hj.disconnect(),Hj=null,eM(document.body),Bj=new WeakMap,Vj=new WeakMap)}function iM(e){e?nM():rM()}function aM(){iM(av()),sv(iM)}function oM(e){if(typeof e!=`object`||!e||!(`telemetry`in e))return!1;let{telemetry:t}=e;return typeof t!=`object`||!t||!(`enabled`in t)?!1:t.enabled===!0}function sM(e){return typeof e!=`object`||!e||!(`telemetryForcedOff`in e)?!1:e.telemetryForcedOff===!0}function cM(e,t){return t||sM(e)?!1:oM(e)}var lM=2500;function uM({hasSnapshot:e,connectingTerminalCount:t,msSinceConnected:n}){return n<2500&&(!e||t>0)?`wait`:`reveal`}function dM(e){return g(Number(e)||0,{rounding:`round`,wording:`compact`,suffix:``,justNowBelowSeconds:0})}function fM(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?`never`:`${dM(Date.now()-e)} ago`}var pM=e=>`polled ${fM(e)}`;function mM(e){let t=[],n=[],r=null,i=e=>{let t=e.format(e.ts);e.el.textContent!==t&&(e.el.textContent=t)},a=()=>{let r=e();if(r&&!r.closest(`[hidden]`)){for(let e of t)i(e);for(let e of n)e()}};return{track(e,n,r=pM){let a={el:e,ts:n,format:r};i(a),t.push(a)},onTick(e){n.push(e)},reset(){t=[],n=[]},ensure(){r||=Rt(a)}}}var hM=2e4,gM=null,_M=null,vM={claude:null,codex:null},yM=null,bM=null,xM=null,SM=`all`,CM=!1,wM=null,TM=null,EM=!0,DM=()=>!1,OM=new Set,kM=u({getAck:bi,setAck:xi,signature:()=>hh(gM,vM.claude),isLooking:()=>DM()});function AM(e){for(let t of OM)t(e)}function jM(){yM?.(kM.refresh())}function MM(e){CM=e,AM(`refresh-status`),wM&&=(clearTimeout(wM),null),e&&(wM=setTimeout(()=>{wM=null,CM=!1,TM=`Usage did not answer within ${Math.round(hM/1e3)} s. Refresh to try again.`,AM(`refresh-status`)},hM))}function NM(e){let t=Qm.find(t=>t.value===e);return t?t.days:null}function PM(){return{report:gM,sessions:_M,planLimitsByVendor:vM,rangeValue:SM}}function FM(){let e=!EM||!CM&&TM!==null;return EM?CM?{text:`Refreshing`,isPending:!0,hasFailure:e}:{text:TM??``,isPending:!1,hasFailure:e}:{text:gM?`${b} The figures below are from before the connection dropped.`:b,isPending:CM,hasFailure:e}}function IM(e){OM.add(e)}function LM(e){DM=e,jM()}function RM(){kM.acknowledge(),jM()}function zM(e){yM=e,jM()}function BM(e){bM?.({type:`dashboard-telemetry`,event:`operator_action`,properties:{surface:`usage`,action:e}})}function VM(e){bM=e}function HM(e){SM=e}function UM({force:e=!1}={}){if(!bM)return;xM=st(`usage`);let t={type:`request-usage-report`,requestId:xM};e&&(t.force=!0);let n=NM(SM);n!==null&&(t.days=n),TM=null,MM(!0),!bM(t)&&(TM=b,MM(!1))}function WM(e){EM=e,AM(`refresh-status`)}function GM(e){_M=e,AM(`sessions`)}function KM(e){let t=e;vM={...vM,[fh(t)]:t},AM(`plan-limits`),jM()}function qM(e){xh(e,xM)&&(TM=null,MM(!1),gM=e,AM(`report`),jM())}function JM(){let e=gM?.pricing||(_M?{source:_M.pricingSource}:null),t=_h(e?.fetchedAt),n=[gh(e,t!==null&&t>0?fM(t):``)],r=bh(gM);r&&n.push(r);let i=yh(gM?.scan);return i&&n.push(i),n}var YM={teamReview:e=>e?.teamReview?.enabled!==!1,issues:e=>e?.issues?.enabled===!0,posthog:e=>e?.posthog?.enabled===!0,visions:e=>e?.visions?.enabled===!0,usage:e=>e?.usage?.enabled!==!1,benchmarks:e=>e?.benchmarks?.enabled===!0},XM=[{rule:`teamReview`,sectionId:`lanes-team-review`,settingId:`team-review-enabled`},{rule:`issues`,sectionId:`lanes-issues`,settingId:`issues-enabled`},{rule:`usage`,sectionId:`machine-usage`,settingId:`usage-enabled`},{rule:`posthog`,sectionId:`lanes-posthog`,settingId:`posthog-enabled`},{rule:`visions`,sectionId:`lanes-visions`,settingId:`visions-enabled`},{rule:`benchmarks`,sectionId:`lanes-benchmarks`,settingId:`benchmarks-enabled`}];function ZM(e,t){return t.isPhoneShellActive?t.phoneScreen===e:t.activeView===e}function QM(e,t){return e.flatMap(e=>!e.gate||!(`fromSettings`in e.gate)?[]:[{view:e,isAvailable:e.gate.fromSettings(t)}])}function $M(e,t){let n=new Set(e),r=[...new Set((t??[]).filter(e=>n.has(e)))];return[...r,...e.filter(e=>!r.includes(e))]}function eN(e,t,n){let r=e.filter(e=>e!==t);if(r.length===e.length)return[...e];let i=Math.max(0,Math.min(n,r.length));return[...r.slice(0,i),t,...r.slice(i)]}function tN(e){return{isActive:e===!0||typeof e==`string`,level:typeof e==`string`?e:null}}function nN(e,t,n){t&&e?.refreshOn?.includes(n)&&t.refresh?.(n)}function rN(e,t,n,r){for(let i of e)ZM(i.view,t)&&nN(i,r(i.view),n)}function iN(){let e=new Map,t=new Map;function n(e,n){let r=t.get(e.view);if(r)return r;let i=n().catch(n=>{throw t.delete(e.view),n});return t.set(e.view,i),i}function r(t,n){return e.get(t.view)||(n.mount(t.el),e.set(t.view,n),n)}function i(t){return e.get(t)??null}function a(t){let i=e.get(t.view);return i?Promise.resolve(i):t.module?Promise.resolve(r(t,t.module)):n(t,t.load).then(e=>r(t,e))}function o(e){for(let t of e)t.module&&r(t,t.module)}async function s(t){for(let r of t)r.load&&!e.has(r.view)&&await n(r,r.load)}return{show:a,mountedModuleOf:i,mountEagerViews:o,prefetch:s}}function aN(e,t,n){let r=Number(e);return!e||!Number.isFinite(r)||t-r>n}var oN=`glimmervoid:preload-error-reload-at`,sN=3e4,cN=1e3,lN=iN();function uN(e,t){let n=lN.mountedModuleOf(e.view);n?t(n):lN.show(e).then(t).catch(t=>{throw T(`view`,`${e.view} failed to show: ${ft(t)}`),t})}function dN(e){return lN.mountedModuleOf(e)}function fN(e){lN.mountEagerViews(e)}function pN(e){let t=()=>{lN.prefetch(e.filter(e=>!e.tab.hidden))};`requestIdleCallback`in window?window.requestIdleCallback(t):setTimeout(t,cN)}function mN(e){window.addEventListener(`vite:preloadError`,()=>{let t=e(),n=Date.now();aN(t.getItem(oN),n,sN)&&(t.setItem(oN,String(n)),location.reload())})}function hN(e){DO({openTerminal:e.openTerminal,openReviews:e.openReviews}),$A(e.onRestart);let t=[{view:`focus`,label:`Focus`,panelClass:`focus-view`,hasOwnPhoneScreen:!0,hasPanelChrome:!1,hasReviewSidebar:!0,module:{mount:()=>cC({rail:document.getElementById(`focus-rail`),center:document.getElementById(`focus-center`),resizer:document.getElementById(`focus-rail-resizer`)}),activate:LC,deactivate:BC}},{view:`prs`,label:`Reviews`,glyph:`⇅`,panelClass:`pr-view`,gate:{fromSettings:YM.teamReview},load:()=>P(()=>import(`./review-queue-panel-Cj7dmf28.js`).then(e=>e.view),__vite__mapDeps([22,3,4,1,2,7,23,12,24])),refreshOn:[`shown`],attention:{subscribe:CO,acknowledge:SO},onConnectionChange:e=>{wD(e),JE(e)}},{view:`issues`,label:`Issues`,glyph:`#`,panelClass:`issues-view`,gate:{fromSettings:YM.issues},load:()=>P(()=>import(`./issues-panel-md7GmfcT.js`).then(e=>e.view),__vite__mapDeps([25,3,4,1,12,23,2,7,26])),refreshOn:[`shown`],onConnectionChange:Uk},{view:`usage`,label:`Usage`,glyph:`◔`,panelClass:`usage-view`,gate:{fromSettings:YM.usage},load:()=>P(()=>import(`./usage-panel-C5CT7UVw.js`).then(e=>e.view),__vite__mapDeps([27,3,4,1,28])),attention:{subscribe:zM,acknowledge:RM},onConnectionChange:WM,refreshOn:[`shown`,`connected`,`usage-sessions`]},{view:`radar`,label:`Radar`,glyph:`◎`,panelClass:`radar-view`,gate:{fromSettings:YM.posthog},load:()=>P(()=>import(`./radar-panel-D5aEpubT.js`).then(e=>e.view),__vite__mapDeps([29,3,4,1,2,7,10,11,12,5,30])),attention:{subscribe:sA,acknowledge:oA}},{view:`visions`,label:`Visions`,glyph:`◇`,panelClass:`visions-view`,gate:{fromSettings:YM.visions},load:()=>P(()=>import(`./visions-panel-CrD7csaw.js`).then(e=>e.view),__vite__mapDeps([31,3,4,1,32])),attention:{subscribe:sT,acknowledge:cT},refreshOn:[`shown`],onConnectionChange:dT},{view:`hooks`,label:`Hooks`,glyph:`◈`,panelClass:`hooks-view`,load:()=>P(()=>import(`./hooks-panel-BFYqxSMY.js`).then(e=>e.view),__vite__mapDeps([33,4,3,1,2,7,34])),refreshOn:[`shown`,`connected`,`hooks-updated`]},{view:`trace`,label:`Trace`,panelClass:`trace-view`,gate:{subscribe:oc},load:()=>P(()=>import(`./trace-panel-UI57qc-w.js`).then(e=>e.view),__vite__mapDeps([35,3,4,1,36])),refreshOn:[`shown`],onAvailabilityChange:e=>cA(e?Gm:null),onConnectionChange:Xm},{view:`benchmarks`,label:`Bench`,panelClass:`bench-view`,gate:{fromSettings:YM.benchmarks},load:()=>P(()=>import(`./benchmark-panel-Y0LOW69l.js`).then(e=>e.view),__vite__mapDeps([37,3,4,1,38])),onConnectionChange:fk},{view:`settings`,label:`Settings`,glyph:`@`,panelClass:`settings-view`,hasPanelChrome:!1,load:()=>P(()=>import(`./settings-panel-Djstouyw.js`).then(e=>e.view),__vite__mapDeps([39,3,4,1,2,7,20,10,11,12,5,21,14,40]))}],n=S(document,`#app-main`,`main`),r=t.map(t=>{let r=w(`button`,`header-tab`,t.label);r.id=`tab-${t.view}`,r.type=`button`,r.draggable=!0;let i=`view-${t.view}`;r.setAttribute(`role`,`tab`),r.setAttribute(`aria-controls`,i);let a=t.view===`focus`;r.setAttribute(`aria-selected`,String(a)),r.tabIndex=a?0:-1,t.glyph&&(r.dataset.phoneGlyph=t.glyph);let o=document.getElementById(i)??w(`section`);if(o.classList.add(t.panelClass),o.id=i,o.setAttribute(`role`,`tabpanel`),o.setAttribute(`aria-labelledby`,r.id),o.hidden=!0,o.parentElement||n.append(o),r.hidden=t.gate!==void 0,o.classList.toggle(`view-panel`,t.hasPanelChrome!==!1),t.attention){let n=w(`span`,`tab-activity`);n.id=`tab-${t.view}-activity`,n.setAttribute(`aria-hidden`,`true`),r.append(n),t.attention.subscribe(r=>{let{isActive:i,level:a}=tN(r);n.classList.toggle(`active`,i),a===null&&n.removeAttribute(`data-attention`),a!==null&&n.setAttribute(`data-attention`,a),e.setPhoneAttention(t.view,r)})}return{...t,tab:r,el:o}});return S(document,`#header-tabs`,`div`).replaceChildren(...r.map(e=>e.tab)),r}Bg(Kr()),Vg(()=>{P(()=>import(`./alert-sound-DKO-ieDK.js`).then(e=>e.playNyanJingle(),e=>T(`alert-sound`,`nyan jingle failed to load: ${ft(e)}`)),[])}),Hg(Br()),jj(Jr()),gu(),xo(document);var gN=S(document,`#connection-status`,`span`),_N=S(gN,`.connection-label`,`span`),vN=S(document,`#loading-screen`,`div`),yN=S(document,`#loading-status`,`div`),bN=S(document,`#loading-detail`,`div`),xN=S(document,`#shutdown-screen`,`div`),SN=S(document,`#shutdown-status`,`div`),CN=!1,wN=null,TN=!1;function EN(){let e=Bi(),t=vN.querySelector(`.loading-spinner`);e&&t&&t.replaceWith(zi(e,`loading-animal`))}EN();function DN(){CN||wN===null||uM({hasSnapshot:TN,connectingTerminalCount:pb(),msSinceConnected:performance.now()-wN})===`reveal`&&ON()}fb(DN);function ON(){if(CN)return;CN=!0,vN.classList.add(`fade-out`),pN(Q),Aj(),ia();let e=()=>vN.remove();vN.addEventListener(`transitionend`,e,{once:!0}),setTimeout(e,1e3)}function kN(e,t){gN.dataset.state=`shutdown`,_N.textContent=e,gN.title=e,TP.disabled=!0,SN.textContent=t,xN.classList.add(`active`)}var AN=new Set([`disconnected`,`connecting`]);function jN(e,t,n){gN.dataset.state=e,gN.toggleAttribute(`data-reconnected`,n),_N.textContent=t,gN.title=t}function MN(e,t){jN(e,t,e===`connected`&&AN.has(gN.dataset.state??``))}function NN(e,t){gN.dataset.state!==`shutdown`&&jN(e===`verified`?`connected`:e,t,!1)}var PN=1e4,FN=`Server`,IN=`Worktree`,LN=`Worktree warning`,RN=`The server is not answering. Check the terminal running Glimmervoid for errors, or start it again with glimmervoid. This page reconnects on its own.`,zN=`Server not answering. Check the Glimmervoid terminal for errors, or run glimmervoid. This page retries on its own.`,BN=null,VN=!1;function HN(){yN.textContent=`Reconnecting to server...`,bN.textContent=zN,bN.hidden=!VN}function UN(){BN=null,VN=!0,CN?R({source:FN,message:RN,hidesInStreamerMode:!1}):HN()}function WN(){BN!==null||VN||(BN=window.setTimeout(UN,PN))}function GN(){BN!==null&&window.clearTimeout(BN),BN=null,VN=!1,bN.hidden=!0,Es(FN)}Qe((e,t)=>{if(e===`connecting`||e===`verified`)NN(e,t);else{MN(e,t),wx(e===`connected`);for(let t of Q)t.onConnectionChange?.(e===`connected`);if(e===`connected`){if(GN(),UP&&WP(UP),xN.classList.contains(`active`)){location.reload();return}ra(),document.body.classList.add(`app-ready`),!CN&&wN===null&&(wN=performance.now(),yN.textContent=`Connecting to sessions...`,setTimeout(ON,lM)),DN(),gF(),sP(`connected`),ut(`get-settings`,{}).then(e=>{e.settings&&(YP(e.settings),an()===`settings`&&AP(location.hash))}).catch(()=>{})}else e===`disconnected`&&xN.classList.contains(`active`)?SN.textContent=`Waiting for server...`:(WN(),CN||HN())}});function KN(){Hk(),xD(),ZT()}function qN(){bC(),KN()}Ea(()=>bC()),Ro(e=>{bC(e),KN()});var JN=null;function YN(e){let t=gj(JN,e);JN=t.knownBuild,t.reload&&location.reload()}function XN(e){lT(new Map(e.filter(e=>!e.ephemeral).map(e=>[e.id,e.name]))),fj(e.filter(e=>!e.ephemeral).map(e=>({id:e.id,name:e.name,agent:e.agent,permissionMode:e.dangerouslySkipPermissions?`Skip permissions`:`Default`})));for(let t of e){Za(t.id,t.coherenceHooks),t.ephemeral||Sl(t.path),KO(t.id,t.linkedPrs);let e=lx(t.id);e&&qx(t.id,t.state,t.stateSince),e&&bc(t.id,!!t.saneYolo),e&&Ox(t.id,t.isGuarded,t.isGuardrailsReleased),e||hx(t.id,t.name,t.state,_A(t)),Hx(t.id,t.failureReason),cx(t.id,t.taskTitle,t.taskTitleIsCustom),Ex(t.id,t.agent),Ix(t.id,t.mergeStatus,t.mergeReason),Tx(t.id,t.effectiveBase),Ax(t.id,t.activeAgents,t.awaitingBackgroundTasks),Mx(t.id,t.pendingPromptKind),Nx(t.id,t.unseenOutcome),yx(t.id,t.hasPlan),oP(t.id)}mx(),jo(A.counts),bC(),zC(),KN(),ZN(),NP(location.hash),_F(),TN=!0,DN()}function ZN(){Km([...O].map(([e,t])=>({id:e,name:gt(t)||e})))}function QN(e,t){yx(e,t?.hasPlan===!0),Nx(e,t?.unseenOutcome),oP(e)}var $N=new Set([x.DONE,x.FAILED]);function eP(e,t){return e!==void 0&&$N.has(e)&&!$N.has(t)&&t!==x.DORMANT}function tP(e){let t=O.get(String(e.id)),n=document.querySelector(`.session-card[data-id="${CSS.escape(String(e.id))}"]`),r=n instanceof HTMLElement?n:null,i=r?r.dataset.skipPerms!==void 0:!1,a=e.saneYolo??(r?r.dataset.saneYolo!==void 0:!1),o=r?r.dataset.path:void 0;zx(e.id),hx(e.id,e.session,x.DORMANT,_A({skipPerms:i,saneYolo:a,worktree:r?.dataset.worktree!==void 0,workspace:r?.dataset.workspace!==void 0,remoteWorkspace:r?.dataset.remoteWorkspace??null,guarded:r?.dataset.guarded!==void 0,guardrailsReleased:r?.dataset.guardrailsReleased!==void 0,ephemeral:r?.dataset.ephemeral!==void 0,path:o,stateSince:e.timestamp,taskTitle:t?.taskTitle,taskTitleIsCustom:t?.taskTitleIsCustom})),Ex(e.id,t?.agent),QN(e.id,t)}function nP(e,t){let n=O.get(String(e.id))?.currentState;t.to===x.DORMANT&&n!==x.DORMANT?(tP(e),Kf(e.id)):(qx(e.id,t.to,e.timestamp,t.event),Hx(e.id,e.failureReason),e.saneYolo!==void 0&&bc(e.id,e.saneYolo),Kf(e.id),eP(n,t.to)&&jb(e.id))}function rP(e){if(lx(e.id))e.transition&&nP(e,e.transition),e.activeAgents!==void 0&&Ax(e.id,e.activeAgents,e.awaitingBackgroundTasks),e.unseenOutcome!==void 0&&Nx(e.id,e.unseenOutcome),e.pendingPromptKind!==void 0&&Mx(e.id,e.pendingPromptKind),e.unseenOutcome!==void 0&&mx(),jo(A.counts),zo(e.id),Hc(e.id);else{if(!e.transition)return;hx(e.id,e.session,e.transition.to,_A({skipPerms:e.skipPerms,saneYolo:e.saneYolo,stateSince:e.timestamp})),jo(A.counts),Hk()}}var iP=new Map;function aP(e){let t=new Set;for(let n of e){if(!n?.id)continue;t.add(n.id);let e={tokens:n.tokens,costUSD:n.costUSD,officialCostUSD:n.officialCostUSD};iP.set(n.id,e),jx(n.id,e)}for(let e of[...iP.keys()])t.has(e)||(iP.delete(e),jx(e,null))}function oP(e){let t=iP.get(e);t&&jx(e,t)}VM(E),kT(E),Um(E),Vk(E),uk(E),lc(WO),el(to),el(HO),dc({isReadable:no,open:io}),pc(hA);function sP(e){rN(Q,{isPhoneShellActive:KT(),activeView:an(),phoneScreen:j.snapshot().phoneScreen},e,dN)}sv(()=>sP(`settings-updated`));var cP={snapshot:e=>{YN(e.serverBuild),XN(e.sessions)},"hooks-report":e=>jT(e),"save-hook-result":()=>MT(),"delete-hook-result":()=>MT(),"session-status":e=>rP(e),"session-added":e=>{e.ephemeral||Sl(e.path),KO(e.id,e.linkedPrs),lx(e.id)||(hx(e.id,e.session,e.state,_A(e)),Ex(e.id,e.agent),oP(e.id)),jo(A.counts),qN(),ZN()},"session-close-confirm":e=>{$l(e.id)},"session-removed":e=>{Ds(e.id),zx(e.id),Qa(e.id),Jf(e.id),qO(e.id),jo(A.counts),qN(),ZN()},"session-title":e=>{cx(e.id,e.taskTitle,e.isCustom),qN()},"session-prs":e=>KO(e.id,e.linkedPrs),"session-renamed":e=>{Rx(e.id,e.newName),qN(),ZN()},"session-modified":e=>{e.ephemeral||Sl(e.path);let t=O.get(String(e.id)),n=B()===String(e.id);Za(e.id,null),zx(e.id),Jf(e.id),KO(e.id,e.linkedPrs),hx(e.id,e.session,e.state,_A(e)),n&&Pl(String(e.id)),Ex(e.id,e.agent),QN(e.id,t),jo(A.counts),qN(),ZN()},"session-git":e=>Dx(e.id,!!e.worktree),"session-merge-status":e=>{Fx(e.id,e.mergeStatus,e.reason),MC(e.id,e.mergeStatus),KN()},"session-worktree-blocked":e=>{R({source:IN,sessionId:e.id,message:`${e.session}: ${e.notice||`The integration branch was not found. Check the integration branch in Settings, then restart the session.`}`})},"session-worktree-warning":e=>{R({source:LN,sessionId:e.id,message:`${e.session}: ${e.notice||`The base branch could not be synced. The session keeps working on its current base.`}`})},"session-worktree-ready":e=>{Es(IN,e.id),Tx(e.id,e.base)},"session-diff":e=>{Lx(e.id,e)},"session-diff-error":e=>{Vf(e.id,e.message)},"change-map":e=>Hf(e.id,e.map),"branch-sync-status":e=>Uf(e.id,e),"session-changed":e=>Gf(e.id),"debug-state-response":e=>Vc(e),"session-trace-response":e=>qm(e),"session-trace-changed":e=>Jm(e),"session-plan-changed":e=>{bx(e),KN()},"session-plan-draft":e=>{xx(e)},"session-plan-response":e=>{Sx(e)},"session-docs-changed":e=>ma(e),"session-docs-snapshot":e=>ha(e),"session-shown":e=>Pa(e),"session-shown-snapshot":e=>Fa(e),"session-coherence-hooks":e=>{Za(e.id,e.coherenceHooks),qN()},"session-coherence":e=>{$a(e),qN()},"session-coherence-snapshot":e=>{eo(e),qN()},"session-coherence-journal-response":e=>ao(e),"session-setup-response":e=>gA(e),notify:e=>{Qh(e),Hc(e.session)},"update-status":e=>{hP(e),pj(e)},"update-progress":e=>mj(e.journal),"post-turn-leftovers":e=>_P(e),error:e=>{let t=hj(e),n=Ym(e),r=Cx(e);t||n||r||(e.id?Vx(e.id,e.message):R({source:FN,message:e.message}))},"session-error":e=>{Rf(e.id),!Cx(e)&&Vx(e.id,e.message)},"settings-updated":e=>{e.settings&&YP(e.settings),ra()},"agent-logins":e=>Ui(e.logins),"health-snapshot":e=>{e.stats&&Ru(e.stats)},"radar-status":e=>lA(e),"radar-investigation-activity":e=>uA(e),"radar-investigation-finished":e=>dA(e),"team-review-status":e=>GE(e),"github-prs":e=>Gt(e),"my-prs-status":SD,"benchmark-status":e=>pk(e),"benchmark-action-result":e=>mk(e),"my-pr-merge-result":e=>CD(e),"team-review-action-result":e=>KE(e),"open-team-review-session-result":e=>qE(e),"issues-status":e=>Wk(e),"issue-detail-result":e=>Gk(e),"open-issue-session-result":e=>Kk(e),"usage-sessions":e=>{aP(e.sessions),GM(e)},"usage-report":e=>{qM(e),dj()},"plan-limits":e=>KM(e),"usage-budget-alert":e=>Qh({session:`budget-${e.scope}-${e.periodKey}`,category:`threshold-${e.threshold}`,message:e.text,ignoreFocus:!0}),"visions-findings":e=>pT(e),"visions-comments":e=>mT(e),"visions-hand":e=>hT(e),"visions-intent":e=>gT(e),"visions-fix":e=>fT(e),"visions-snapshot":e=>yT(e),"ingest-activity":e=>_T(e),"ingest-snapshot":e=>vT(e),"client-trust":e=>uF(e.trust),"shutting-down":()=>kN(`Shutting down...`,`Shutting down sessions...`),restarting:()=>kN(`Restarting...`,`Restarting server...`)};function lP(e){let t=cP[e.type];t&&t(e)}nt(e=>{lP(e),sP(e.type)});var uP,dP=null;function fP(e,t,n){e.onclick=()=>{let e=qe(n);e?e.then(()=>{t.textContent=`Copied`}).catch(()=>{t.textContent=`Copy failed`}):t.textContent=`Copy failed`}}var pP=Sj(ce,me,`Update`).href;function mP(e){let{latestSha:t,latest:n}=e;return typeof n==`string`&&n?n:typeof t==`string`&&t?t:null}function hP(e){let t=S(document,`#update-banner`,`div`),{mode:n,tone:r,text:i}=xe(e),a=r===`security`;if(!e.updateAvailable&&!a){t.hidden=!0;return}let o=mP(e),s=o&&n===`restart`?`${o}:ready`:o;if(a&&i===dP||!a&&uP!==void 0&&s===uP||!a&&s&&ui()===s)return;t.classList.toggle(`update-banner-security`,a);let c=String(e.command??``);S(document,`#update-banner-text`,`span`).textContent=i,S(document,`#update-banner-cmd`,`code`).textContent=c;let l=S(document,`#update-banner-update`,`a`);l.href=pP,l.hidden=n!==`link`;let u=S(document,`#update-banner-restart`,`button`);u.hidden=n!==`restart`,u.onclick=lF;let d=S(document,`#update-banner-cmd`,`code`);d.hidden=n!==`command`;let f=S(document,`#update-banner-copy`,`button`);f.hidden=n!==`command`;let p=S(document,`#update-banner-copy-status`,`span`);p.hidden=n!==`command`,p.textContent=``;let m=S(document,`#update-banner-link`,`a`);m.hidden=!e.releaseUrl,m.href=typeof e.releaseUrl==`string`?e.releaseUrl:``,t.hidden=!1,fP(f,p,c),S(document,`#update-banner-dismiss`,`button`).onclick=()=>{t.hidden=!0,a?dP=i:(uP=s,di(s))}}var gP=!1;function _P({repositories:e,command:t}){let n=S(document,`#post-turn-leftovers-banner`,`div`);if(e.length===0){n.hidden=!0;return}if(gP)return;let r=S(document,`#post-turn-leftovers-copy-status`,`span`);S(document,`#post-turn-leftovers-text`,`span`).textContent=$t(e.length),S(document,`#post-turn-leftovers-cmd`,`code`).textContent=t,r.textContent=``,n.hidden=!1,fP(S(document,`#post-turn-leftovers-copy`,`button`),r,t),S(document,`#post-turn-leftovers-dismiss`,`button`).onclick=()=>{gP=!0,n.hidden=!0}}var vP=S(document,`#telemetry-banner`,`div`);function yP(){pi(!0),vP.hidden=!0}function bP(e){vP.hidden=!cM(e,fi())}var xP=S(document,`#telemetry-banner-settings`,`a`);xP.href=Sj(`privacy`,`telemetry-enabled`,`What's collected`).href,xP.addEventListener(`click`,yP),S(document,`#telemetry-banner-dismiss`,`button`).addEventListener(`click`,yP),S(document,`#btn-add-session-header`,`button`).addEventListener(`click`,Gl);var SP=S(document,`#btn-mute`,`button`);$O(SP);var CP=S(document,`#btn-streamer`,`button`);fv(CP),aM();var wP=S(document,`#power-menu`,`div`),TP=S(document,`#btn-power`,`button`),EP=S(document,`#power-menu-dropdown`,`div`);function DP(e){wP.classList.toggle(`open`,e),TP.setAttribute(`aria-expanded`,String(e))}TP.addEventListener(`click`,e=>{e.stopPropagation(),DP(!wP.classList.contains(`open`))}),Rs({trigger:TP,menu:EP,menuItems:()=>[...EP.querySelectorAll(`[role="menuitem"]`)].filter(e=>!e.hidden),isOpen:()=>wP.classList.contains(`open`),open:()=>DP(!0),close:()=>DP(!1)}),document.addEventListener(`click`,e=>{e.target instanceof Node&&(wP.contains(e.target)||DP(!1))}),Re(document.querySelector(`.header`));function OP(e){e&&rj(e),!nE(`settings`)&&$(`settings`,{section:e})}function kP(){yj(location.hash)&&history.replaceState(history.state,``,`${location.pathname}${location.search}`)}function AP(e){return yj(e)?(rj(null,null,e),nE(`settings`)||$(`settings`,{persist:!1}),!0):!1}var jP=`No plan is stored for this session yet. It appears here once the agent writes one.`,MP=`Plan`;function NP(e){let t=Vu(e);return t?!lx(t)||(history.replaceState(history.state,``,`${location.pathname}${location.search}`),KT()?(eE(t)||R({source:MP,sessionId:t,message:jP}),!0):($(`focus`,{persist:!1}),PC(t)||R({source:MP,sessionId:t,message:jP}),!0)):!1}function PP(e){return NP(e)?!0:AP(e)}function FP(e){e.newURL===location.href&&PP(location.hash)}document.addEventListener(`click`,e=>{if(!KT()||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href^="#"]`):null;t instanceof HTMLAnchorElement&&PP(t.hash)&&e.preventDefault()}),aD(S(document,`#celebration-tray`,`div`),S(document,`#btn-celebrations`,`button`),S(document,`#celebration-tray-count`,`span`)),S(document,`#btn-help`,`button`).addEventListener(`click`,()=>{OP(`browser-shortcuts`)});var Q=hN({onRestart:lF,openTerminal:e=>{tE(e)||($(`focus`),NC(e))},openPlan:e=>{$(`focus`),PC(e)},openReviews:()=>zP(`prs`)?(nE(`prs`)||$(`prs`),!0):!1,setPhoneAttention:XT});function IP(){return Q.map(e=>e.view)}var LP=IP();tj(Q),Nf({panel:document.getElementById(`review-sidebar`)}),fN(Q);function RP(e){return Q.find(t=>t.view===e)}function zP(e){return Q.some(t=>t.view===e&&!t.tab.hidden)}var BP=!0,VP=null;function HP(e){RP(e)?.attention?.acknowledge()}var UP=null;function WP(e){UP=E({type:`dashboard-telemetry`,event:`view_shown`,properties:{view:e}})?null:e}function GP(e){let t=RP(e);t&&(uN(t,e=>nN(t,e,`shown`)),WP(e))}function $(e,{section:t,setting:n,persist:r=!0}={}){let i=RP(e);if(!i||!zP(e))return;let a=an();j.dispatch(`setActiveView`,e),BP=r,r&&(VP=null),document.body.dataset.activeView=e,document.body.dataset.reviewSidebarHidden=String(i.hasReviewSidebar!==!0),r&&Zr(e);for(let t of Q){let n=t.view===e;t.el&&(t.el.hidden=!n),t.tab.setAttribute(`aria-selected`,String(n)),t.tab.tabIndex=n?0:-1}a!==e&&dN(a)?.deactivate?.(),uN(i,r=>{an()===e&&(r.activate?.(),nN(i,r,`shown`),e===`settings`&&t&&rj(t,n??null))}),WP(e),a===`settings`&&e!==`settings`&&kP(),HP(e)}function KP(e,t){let{view:n}=e;e.tab.hidden=!t,YT(n,t),e.onAvailabilityChange?.(t),!KT()&&(!t&&an()===n&&$(`focus`),t&&VP===n&&$(n))}function qP(e){for(let{view:t,isAvailable:n}of QM(Q,e))KP(t,n)}function JP(e){let t=$M(LP,e);Q.every((e,n)=>e.view===t[n])||(Q.sort((e,n)=>t.indexOf(e.view)-t.indexOf(n.view)),S(document,`#header-tabs`,`div`).append(...Q.map(e=>e.tab)),JT(t))}function YP(e){Ug(e.isExperimentalBuild===!0&&Hr()),dx(e),uj(e),uT(e),qP(e),bP(e),JP(e.viewTabOrder),ov(e.streamerMode===!0)}for(let e of Q)e.gate&&(KP(e,!1),`subscribe`in e.gate&&e.gate.subscribe(t=>KP(e,t)));Wm(()=>{zP(`trace`)&&(nE(`trace`)||$(`trace`))});function XP(){return Q.filter(e=>!e.tab.hidden)}function ZP(e,t){let n=e[t];return $(n.view),n.tab}function QP(e,t){let n=XP();return ZP(n,As(n.findIndex(t=>t.view===e),t,n.length))}function $P(e){Q.some(e=>e.tab===document.activeElement)&&e.focus()}var eF=null;function tF(e){let t=IP();JP(e),ut(`update-settings`,{settings:{viewTabOrder:e}}).then(e=>{e.type===`settings-error`&&JP(t)}).catch(()=>JP(t))}function nF(e){let t=eF;if(eF=null,!t||t===e)return;let n=IP();tF(eN(n,t,n.indexOf(e)))}for(let e=0;e<Q.length;e++){let{view:t,tab:n}=Q[e];n.addEventListener(`click`,()=>$(t)),n.addEventListener(`dragstart`,e=>{eF=t,e.dataTransfer?.setData(`text/plain`,t),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}),n.addEventListener(`dragover`,e=>{eF&&eF!==t&&(e.preventDefault(),n.dataset.dropTarget=`true`)}),n.addEventListener(`dragleave`,()=>delete n.dataset.dropTarget),n.addEventListener(`drop`,e=>{e.preventDefault(),delete n.dataset.dropTarget,nF(t)}),n.addEventListener(`dragend`,()=>{eF=null}),n.addEventListener(`keydown`,e=>{if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)return;let t=XP(),n=t.findIndex(e=>e.view===an()),r=js(e.key,n,t.length,`horizontal`);r!==null&&(e.preventDefault(),ZP(t,r).focus())})}var rF=Xr(),iF=yj(location.hash),aF=Vu(location.hash);if(iF&&(rj(null,null,location.hash),$(`settings`,{persist:!1})),aF&&$(`focus`,{persist:!1}),!iF&&!aF){let e=zP(rF);e||(VP=rF),$(e?rF:`focus`,{persist:e})}UT({panels:NT(Q),onScreenShown:e=>{GP(e),e!==`settings`&&kP(),e===`settings`&&!yj(location.hash)&&rj(),HP(e)},canGoBack:e=>e===`settings`&&cj()||e===`prs`&&MO(),onBack:e=>{e===`settings`&&lj(),e===`prs`&&NO()},headerControls:[S(document,`.header-title`,`h1`),S(document,`#status-indicator`,`div`),S(document,`#celebration-tray`,`div`),S(document,`#btn-add-session-header`,`button`),S(document,`#btn-help`,`button`),SP,CP,wP]}),sj(QT),jO(QT);function oF(e){if(e===`phone`){let e=sC();for(let e of Q)dN(e.view)?.deactivate?.();let t=yj(location.hash);WT({sessionId:e??void 0,linkedScreenId:t?`settings`:void 0}).then(e=>{e&&t&&rj(null,null,location.hash),!e&&_u()&&!KT()&&sF()});return}let t=qT();GT(),sF(),t&&NC(t)}function sF(){let e=an();$(zP(e)?e:`focus`,{persist:BP})}_u()&&oF(`phone`),vu(oF),window.addEventListener(`hashchange`,FP);function cF({type:e,title:t,confirmLabel:n,danger:r,idleMessage:i,actionAfterKillingSessions:a}){DP(!1);let o=ux(),s=o>0?`Kill ${o} session${o>1?`s`:``} and ${a}?`:i;At({title:t,message:s,confirmLabel:n,danger:r||o>0,onConfirm:()=>E({type:e})})}function lF(){cF({type:`restart-server`,title:`Restart Server`,confirmLabel:`Restart`,danger:!1,idleMessage:`Restart the server?`,actionAfterKillingSessions:`restart the server`})}S(document,`#btn-restart`,`button`).addEventListener(`click`,lF);function uF(e){let t=Yt(`shutdown`,e);S(document,`#btn-shutdown`,`button`).hidden=!t,S(document,`#menu-divider-shutdown`,`div`).hidden=!t}S(document,`#btn-shutdown`,`button`).addEventListener(`click`,()=>{cF({type:`shutdown`,title:`Shut Down Server`,confirmLabel:`Shut Down`,danger:!0,idleMessage:`Shut down the server?`,actionAfterKillingSessions:`shut down the server`})});function dF(){return(document.activeElement?.closest(`.session-card`))?.dataset.id??null}function fF(e){NC(e),Ll(e),requestAnimationFrame(()=>requestAnimationFrame(()=>O.get(e)?.term?.focus()))}function pF(){let e=dF()??B();e?Yl(e,fF):document.getElementById(`btn-add-session-header`)?.click()}function mF({action:e,step:t}){switch(e){case`merge`:return Yf(),!0;case`close-session`:{let e=B();return e?($l(e),!0):!1}case`resolve-or-resync`:return Zf()||ep(),!0;case`new-session`:return document.getElementById(`btn-add-session-header`)?.click(),!0;case`quick-session`:return pF(),!0;case`next-attention`:return _u()?!1:oC()?(wC(),!0):(an()===`prs`&&PO()||RC(()=>$(`focus`)),!0);case`rail-step`:return oC()?(IC(t),!0):!1;case`view-step`:return!_u()&&($P(QP(an(),t)),!0);case`session-nth`:return oC()?(FC(t),!0):!1;case`streamer-mode`:return dv(),!0}}document.addEventListener(`keydown`,e=>{if(e.repeat||Le(e))return;let t=mr(e,ld,{isTerminalFocused:document.activeElement?.classList.contains(`xterm-helper-textarea`)??!1},fd());t&&(jt()||mF(t)&&e.preventDefault())});var hF=Qt({mode:`trailing`,delayMs:150,run:()=>{E({type:`focus-change`,focused:document.hasFocus()})}});function gF(){hF.schedule()}function _F(){let e=qT();e&&k(e)?._isActiveViewer?.()===!0&&Wx(e)}function vF(){gF(),Wb(k(on())),_F()}window.addEventListener(`focus`,vF),window.addEventListener(`blur`,vF),document.addEventListener(`visibilitychange`,vF),document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`&&hy()});var yF=Ze(E);window.addEventListener(`error`,e=>{yF(e.error),T(`uncaught`,ft(e.error??e.message))}),window.addEventListener(`unhandledrejection`,e=>{yF(e.reason),T(`unhandled-rejection`,ft(e.reason))}),mN(()=>window.sessionStorage),window.addEventListener(`pageshow`,e=>{e.persisted&&hy()}),Lu(S(document,`#health-footer-mount`,`div`)),cg(fx),WN(),jA(),it();var bF=wi();bF&&ot().then(()=>Cb(bF));export{TO as $,sn as $i,cd as $n,na as $r,$C as $t,qA as A,ri as Ai,nh as An,nc as Ar,PE as At,Mk as B,jn as Bi,zm as Bn,cs as Br,yE as Bt,oj as C,Oi as Ci,Oh as Cn,fl as Cr,LD as Ct,lj as D,zr as Di,lh as Dn,Ac as Dr,_D as Dt,ej as E,Gr as Ei,uh as En,Wc as Er,vD as Et,nA as F,cr as Fi,eh as Fn,us as Fr,AE as Ft,Pk as G,Bn as Gi,If as Gn,Ko as Gr,OT as Gt,Ik as H,Rn as Hi,Im as Hn,$o as Hr,oE as Ht,iA as I,xr as Ii,bh as In,_s as Ir,kE as It,dk as J,An as Ji,gd as Jn,Po as Jr,iT as Jt,Nk as K,zn as Ki,ld as Kn,I as Kr,oT as Kt,rA as L,vr as Li,Hm as Ln,gs as Lr,IE as Lt,KA as M,Lr as Mi,dh as Mn,Oc as Mr,NE as Mt,ij as N,qr as Ni,sh as Nn,js as Nr,jE as Nt,aj as O,Ur as Oi,th as On,Tc as Or,HE as Ot,aA as P,li as Pi,ih as Pn,z as Pr,OE as Pt,bO as Q,ln as Qi,od as Qn,oa as Qr,Dw as Qt,Fk as R,Sr as Ri,Bm as Rn,ys as Rr,bE as Rt,JA as S,Ai as Si,Lh as Sn,il as Sr,tO as St,QA as T,Mi as Ti,mh as Tn,al as Tr,yD as Tt,Bk as U,Ln as Ui,Lm as Un,L as Ur,DT as Ut,zk as V,Pn as Vi,Rm as Vn,Yo as Vr,aE as Vt,Rk as W,Vn as Wi,dm as Wn,qo as Wr,AT as Wt,ZO as X,vn as Xi,md as Xn,ka as Xr,rw as Xt,ck as Y,_n as Yi,hd as Yn,so as Yr,vw as Yt,QO as Z,hn as Zi,fd as Zn,Ca as Zr,Ew as Zt,Sj as _,Li as _i,Hg as _n,Nl as _r,GD as _t,BM as a,Fi as ai,$x as an,Yu as ar,wO as at,bj as b,ji as bi,Hh as bn,yl as br,eO as bt,HM as c,Ir as ci,Wx as cn,Hl as cr,kO as ct,PM as d,Jr as di,Kb as dn,ql as dr,HD as dt,on as ea,Wi as ei,SS as en,Xu as er,PO as et,JM as f,Rr as fi,Pv as fn,zl as fr,WD as ft,jj as g,Pr as gi,Ug as gn,Ml as gr,ID as gt,dM as h,Br as hi,cv as hn,Ll as hr,QD as ht,XM as i,qt as ia,Ii as ii,Qx as in,nd as ir,OO as it,YA as j,Vr as ji,oh as jn,jc as jr,DE as jt,nj as k,ai as ki,rh as kn,Dc as kr,UE as kt,IM as l,Kr as li,vx as ln,Rl as lr,TD as lt,fM as m,ii as mi,sv as mn,$l as mr,zD as mt,$M as n,j as na,Gi as ni,LS as nn,Uu as nr,xO as nt,UM as o,Wr as oi,Xx as on,_u as or,AO as ot,mM as p,Hr as pi,av as pn,Il as pr,XD as pt,lk as q,On as qi,pd as qn,F as qr,aT as qt,YM as r,Kt as ra,zi as ri,PS as rn,Ju as rr,NO as rt,LM as s,ni as si,Zx as sn,vu as sr,yO as st,eN as t,cn as ta,Ui as ti,CS as tn,Gu as tr,EO as tt,FM as u,ci as ui,Ib as un,Gl as ur,UD as ut,xj as v,Yr as vi,Bg as vn,Cl as vr,qD as vt,ZA as w,Ni as wi,Qm as wn,ol as wr,KD as wt,uj as x,ki as xi,zh as xn,vl as xr,ZD as xt,vj as y,Pi as yi,Gg as yn,wl as yr,RD as yt,Lk as z,Nn as zi,Vm as zn,bs as zr,vE as zt};
|